Meal planning and recipes sorted
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Start fresh from nextjs-oauth-tutorial

Clean slate from https://github.com/bluesky-social/nextjs-oauth-tutorial/tree/main
with extended .gitignore to exclude Cloudflare/open-next artifacts and database files.

Mark Bennett 7eb30e28

+12499
+50
.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.* 7 + .yarn/* 8 + !.yarn/patches 9 + !.yarn/plugins 10 + !.yarn/releases 11 + !.yarn/versions 12 + 13 + # testing 14 + /coverage 15 + 16 + # next.js 17 + /.next/ 18 + /out/ 19 + 20 + # production 21 + /build 22 + 23 + # misc 24 + .DS_Store 25 + *.pem 26 + 27 + # debug 28 + npm-debug.log* 29 + yarn-debug.log* 30 + yarn-error.log* 31 + .pnpm-debug.log* 32 + 33 + # env files (can opt-in for committing if needed) 34 + .env* 35 + 36 + # vercel 37 + .vercel 38 + 39 + # typescript 40 + *.tsbuildinfo 41 + next-env.d.ts 42 + 43 + # sqlite file 44 + app.db* 45 + tap.db* 46 + 47 + # cloudflare / open-next build artifacts 48 + .open-next/ 49 + .wrangler/ 50 + cloudflare-env.d.ts
+53
RAILWAY_DEPLOY.md
··· 1 + # Deploying to Railway 2 + 3 + This guide walks you through deploying your AT Protocol OAuth app to [Railway](https://railway.app). 4 + 5 + ## Prerequisites 6 + 7 + Before deploying, generate a private key for your OAuth client: 8 + 9 + ```bash 10 + pnpm gen-key 11 + ``` 12 + 13 + Save the output—you'll need it for the environment variables. 14 + 15 + ## Step 1: Create a New Project 16 + 17 + 1. Log in to [Railway](https://railway.app) and click **New Project** 18 + 2. Select **Deploy from GitHub repo** 19 + 3. Paste in your repository URL (or use `https://github.com/bluesky-social/nextjs-oauth-tutorial`) 20 + 4. Click **Deploy Repo** 21 + 22 + ## Step 2: Add a Volume for SQLite 23 + 24 + Your app uses SQLite for session storage, which needs persistent disk storage. 25 + 26 + 1. Right-click on your service and select **Attach Volume** 27 + 2. Set the mount path to `/data` 28 + 29 + ## Step 3: Generate a Domain 30 + 31 + 1. Click on your service and go to the **Settings** tab 32 + 2. In the **Networking** section, click **Generate Domain** 33 + 3. Railway should automatically detect that Next.js runs on port 8080, but if not, set the port manually 34 + 4. Copy the generated domain (e.g., `your-app-name.up.railway.app`) 35 + 36 + ## Step 4: Configure Environment Variables 37 + 38 + 1. Click on your service and go to the **Variables** tab 39 + 2. Add the following variables: 40 + 41 + | Variable | Value | 42 + |----------|-------| 43 + | `DATABASE_PATH` | `/data/app.db` | 44 + | `PUBLIC_URL` | `https://your-app-name.up.railway.app` | 45 + | `PRIVATE_KEY` | The JSON key from `pnpm gen-key` | 46 + 47 + **Important notes:** 48 + - `PUBLIC_URL` must include `https://` and have no trailing slash 49 + - `PRIVATE_KEY` should be the full JSON object (e.g., `{"kty":"EC","kid":"...","crv":"P-256",...}`) 50 + 51 + ## Step 5: Redeploy 52 + 53 + After setting environment variables, Railway will automatically redeploy. Once complete, visit your domain to test the OAuth flow.
+36
README.md
··· 1 + This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). 2 + 3 + ## Getting Started 4 + 5 + First, run the development server: 6 + 7 + ```bash 8 + npm run dev 9 + # or 10 + yarn dev 11 + # or 12 + pnpm dev 13 + # or 14 + bun dev 15 + ``` 16 + 17 + Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. 18 + 19 + You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. 20 + 21 + This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. 22 + 23 + ## Learn More 24 + 25 + To learn more about Next.js, take a look at the following resources: 26 + 27 + - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. 28 + - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. 29 + 30 + You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! 31 + 32 + ## Deploy on Vercel 33 + 34 + The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. 35 + 36 + Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
+832
TUTORIAL.md
··· 1 + # AT Protocol OAuth with Next.js 2 + 3 + Build a Next.js app with AT Protocol OAuth authentication. 4 + 5 + **What you'll build:** A Next.js application where users can log in with their AT Protocol identity using OAuth. 6 + 7 + See this up and running at: https://nextjs-oauth-tutorial.up.railway.app/ 8 + 9 + --- 10 + 11 + ## Prerequisites 12 + 13 + - Node.js 20+ 14 + - pnpm (or npm/yarn) 15 + - Basic familiarity with Next.js and TypeScript 16 + 17 + --- 18 + 19 + ## Part 1: Project Setup 20 + 21 + ### 1.1 Create Next.js App 22 + 23 + ```bash 24 + npx create-next-app@latest my-app --yes 25 + cd my-app 26 + ``` 27 + 28 + ### 1.2 Install Dependencies 29 + 30 + ```bash 31 + pnpm add @atproto/oauth-client-node 32 + ``` 33 + 34 + That's it for now! We'll add more dependencies later. 35 + 36 + ### 1.3 Run App 37 + ```bash 38 + pnpm dev 39 + ``` 40 + 41 + Run your Next app in hot reload mode. Open it in the browser at `http://127.0.0.1:3000`. Be sure to use `127.0.0.1` as opposed to `localhost`. This will be important for the oauth redirect flow. 42 + 43 + --- 44 + 45 + ## Part 2: Basic OAuth (Localhost) 46 + 47 + Let's get OAuth working with the simplest possible setup: a local loopback client with in-memory storage. 48 + 49 + Specifically we'll be using a [confidential client](https://atproto.com/specs/oauth#types-of-clients). Our Next server will hold credentials for talking to a user's PDS. Our server will verify incoming requests from the browser using cookies for session auth. 50 + 51 + ### 2.1 OAuth Client 52 + 53 + Create `lib/auth/client.ts`: 54 + 55 + ```typescript 56 + import { 57 + NodeOAuthClient, 58 + buildAtprotoLoopbackClientMetadata, 59 + } from "@atproto/oauth-client-node"; 60 + import type { 61 + NodeSavedSession, 62 + NodeSavedState, 63 + } from "@atproto/oauth-client-node"; 64 + 65 + export const SCOPE = "atproto"; 66 + 67 + // Use globalThis to persist across Next.js hot reloads 68 + const globalAuth = globalThis as unknown as { 69 + stateStore: Map<string, NodeSavedState>; 70 + sessionStore: Map<string, NodeSavedSession>; 71 + }; 72 + globalAuth.stateStore ??= new Map(); 73 + globalAuth.sessionStore ??= new Map(); 74 + 75 + let client: NodeOAuthClient | null = null; 76 + 77 + export async function getOAuthClient(): Promise<NodeOAuthClient> { 78 + if (client) return client; 79 + 80 + client = new NodeOAuthClient({ 81 + clientMetadata: buildAtprotoLoopbackClientMetadata({ 82 + scope: SCOPE, 83 + redirect_uris: ["http://127.0.0.1:3000/oauth/callback"], 84 + }), 85 + 86 + stateStore: { 87 + async get(key: string) { 88 + return globalAuth.stateStore.get(key); 89 + }, 90 + async set(key: string, value: NodeSavedState) { 91 + globalAuth.stateStore.set(key, value); 92 + }, 93 + async del(key: string) { 94 + globalAuth.stateStore.delete(key); 95 + }, 96 + }, 97 + 98 + sessionStore: { 99 + async get(key: string) { 100 + return globalAuth.sessionStore.get(key); 101 + }, 102 + async set(key: string, value: NodeSavedSession) { 103 + globalAuth.sessionStore.set(key, value); 104 + }, 105 + async del(key: string) { 106 + globalAuth.sessionStore.delete(key); 107 + }, 108 + }, 109 + }); 110 + 111 + return client; 112 + } 113 + ``` 114 + 115 + The `globalThis` pattern is a standard Next.js technique for persisting data across hot module reloads in development. Without this, the in-memory stores would be wiped every time you edit a file. 116 + 117 + AT Protocol OAuth has a special carveout for local development. The `client_id` must be `localhost` and the `redirect_uri` must be on host `127.0.0.1`. Read more [here](https://atproto.com/specs/oauth#localhost-client-development). 118 + 119 + **Key concepts:** 120 + - `buildAtprotoLoopbackClientMetadata` - Helper for special client type used in localhost development 121 + - `stateStore` - Temporary storage during OAuth flow (CSRF protection) 122 + - `sessionStore` - Persistent sessions keyed by user's DID 123 + 124 + ### 2.2 Session Helper 125 + 126 + Create `lib/auth/session.ts`: 127 + 128 + ```typescript 129 + import { cookies } from "next/headers"; 130 + import { getOAuthClient } from "./client"; 131 + import type { OAuthSession } from "@atproto/oauth-client-node"; 132 + 133 + export async function getSession(): Promise<OAuthSession | null> { 134 + const did = await getDid(); 135 + if (!did) return null; 136 + 137 + try { 138 + const client = await getOAuthClient(); 139 + return await client.restore(did); 140 + } catch { 141 + return null; 142 + } 143 + } 144 + 145 + export async function getDid(): Promise<string | null> { 146 + const cookieStore = await cookies(); 147 + return cookieStore.get("did")?.value ?? null; 148 + } 149 + ``` 150 + 151 + ### 2.3 Login Route 152 + 153 + Create `app/oauth/login/route.ts`: 154 + 155 + This route initiates the login flow. We only need the user's handle. We'll then resolve the user's Authorization Server (their PDS) and redirect them there. 156 + 157 + ```typescript 158 + import { NextRequest, NextResponse } from "next/server"; 159 + import { getOAuthClient, SCOPE } from "@/lib/auth/client"; 160 + 161 + export async function POST(request: NextRequest) { 162 + try { 163 + const { handle } = await request.json(); 164 + 165 + if (!handle || typeof handle !== "string") { 166 + return NextResponse.json( 167 + { error: "Handle is required" }, 168 + { status: 400 } 169 + ); 170 + } 171 + 172 + const client = await getOAuthClient(); 173 + 174 + // Resolves handle, finds their auth server, returns authorization URL 175 + const authUrl = await client.authorize(handle, { 176 + scope: SCOPE, 177 + }); 178 + 179 + return NextResponse.json({ redirectUrl: authUrl.toString() }); 180 + } catch (error) { 181 + console.error("OAuth login error:", error); 182 + return NextResponse.json( 183 + { error: error instanceof Error ? error.message : "Login failed" }, 184 + { status: 500 } 185 + ); 186 + } 187 + } 188 + ``` 189 + 190 + ### 2.4 Callback Route 191 + 192 + After a user approves the authorization consent screen, they'll be redirected to this callback route. We'll exchange the code from the redirect for actual credentials. We'll then set a cookie for the user's DID. 193 + 194 + Create `app/oauth/callback/route.ts`: 195 + 196 + ```typescript 197 + import { NextRequest, NextResponse } from "next/server"; 198 + import { getOAuthClient } from "@/lib/auth/client"; 199 + 200 + const PUBLIC_URL = process.env.PUBLIC_URL || "http://127.0.0.1:3000"; 201 + 202 + export async function GET(request: NextRequest) { 203 + try { 204 + const params = request.nextUrl.searchParams; 205 + const client = await getOAuthClient(); 206 + 207 + // Exchange code for session 208 + const { session } = await client.callback(params); 209 + 210 + const response = NextResponse.redirect(new URL("/", PUBLIC_URL)); 211 + 212 + // Set DID cookie 213 + response.cookies.set("did", session.did, { 214 + httpOnly: true, 215 + secure: process.env.NODE_ENV === "production", 216 + sameSite: "lax", 217 + maxAge: 60 * 60 * 24 * 7, // 1 week 218 + path: "/", 219 + }); 220 + 221 + return response; 222 + } catch (error) { 223 + console.error("OAuth callback error:", error); 224 + return NextResponse.redirect(new URL("/?error=login_failed", PUBLIC_URL)); 225 + } 226 + } 227 + ``` 228 + 229 + We use `PUBLIC_URL` with a fallback to `127.0.0.1:3000` to ensure we always redirect to the correct host. This avoids cookie issues that arise from localhost vs 127.0.0.1 mismatches. 230 + 231 + ### 2.5 Logout Route 232 + 233 + To logout, we want to delete the cookie and revoke the current Oauth session for the user. 234 + 235 + Create `app/oauth/logout/route.ts`: 236 + 237 + ```typescript 238 + import { NextResponse } from "next/server"; 239 + import { cookies } from "next/headers"; 240 + import { getOAuthClient } from "@/lib/auth/client"; 241 + 242 + export async function POST() { 243 + try { 244 + const cookieStore = await cookies(); 245 + const did = cookieStore.get("did")?.value; 246 + 247 + if (did) { 248 + const client = await getOAuthClient(); 249 + await client.revoke(did); 250 + } 251 + 252 + cookieStore.delete("did"); 253 + return NextResponse.json({ success: true }); 254 + } catch (error) { 255 + console.error("Logout error:", error); 256 + const cookieStore = await cookies(); 257 + cookieStore.delete("did"); 258 + return NextResponse.json({ success: true }); 259 + } 260 + } 261 + ``` 262 + 263 + ### 2.6 Client Metadata Route 264 + 265 + This route exposes the OAuth client metadata at a well-known URL. It's useful for debugging and required for production OAuth. 266 + 267 + Create `app/oauth-client-metadata.json/route.ts`: 268 + 269 + ```typescript 270 + import { getOAuthClient } from "@/lib/auth/client"; 271 + import { NextResponse } from "next/server"; 272 + 273 + // The URL of this endpoint IS your client_id 274 + // Authorization servers fetch this to learn about your app 275 + 276 + export async function GET() { 277 + const client = await getOAuthClient(); 278 + return NextResponse.json(client.clientMetadata); 279 + } 280 + ``` 281 + 282 + You can visit `http://127.0.0.1:3000/oauth-client-metadata.json` to see your client configuration. 283 + 284 + ### 2.7 Login Form Component 285 + 286 + Create `components/LoginForm.tsx`: 287 + 288 + ```typescript 289 + "use client"; 290 + 291 + import { useState } from "react"; 292 + 293 + export function LoginForm() { 294 + const [handle, setHandle] = useState(""); 295 + const [loading, setLoading] = useState(false); 296 + const [error, setError] = useState<string | null>(null); 297 + 298 + async function handleSubmit(e: React.FormEvent) { 299 + e.preventDefault(); 300 + setLoading(true); 301 + setError(null); 302 + 303 + try { 304 + const res = await fetch("/oauth/login", { 305 + method: "POST", 306 + headers: { "Content-Type": "application/json" }, 307 + body: JSON.stringify({ handle }), 308 + }); 309 + 310 + const data = await res.json(); 311 + 312 + if (!res.ok) { 313 + throw new Error(data.error || "Login failed"); 314 + } 315 + 316 + // Redirect to authorization server 317 + window.location.href = data.redirectUrl; 318 + } catch (err) { 319 + setError(err instanceof Error ? err.message : "Login failed"); 320 + setLoading(false); 321 + } 322 + } 323 + 324 + return ( 325 + <form onSubmit={handleSubmit} className="space-y-4"> 326 + <div> 327 + <label className="block text-sm font-medium text-zinc-700 dark:text-zinc-300 mb-1"> 328 + Handle 329 + </label> 330 + <input 331 + type="text" 332 + value={handle} 333 + onChange={(e) => setHandle(e.target.value)} 334 + placeholder="user.example.com" 335 + className="w-full px-3 py-2 border border-zinc-300 dark:border-zinc-700 rounded-lg bg-white dark:bg-zinc-800 text-zinc-900 dark:text-zinc-100" 336 + disabled={loading} 337 + /> 338 + </div> 339 + 340 + {error && <p className="text-red-500 text-sm">{error}</p>} 341 + 342 + <button 343 + type="submit" 344 + disabled={loading || !handle} 345 + className="w-full py-2 px-4 bg-blue-600 text-white rounded-lg hover:bg-blue-700 disabled:opacity-50" 346 + > 347 + {loading ? "Signing in..." : "Sign in"} 348 + </button> 349 + </form> 350 + ); 351 + } 352 + ``` 353 + 354 + ### 2.8 Logout Button Component 355 + 356 + Create `components/LogoutButton.tsx`: 357 + 358 + ```typescript 359 + "use client"; 360 + 361 + import { useRouter } from "next/navigation"; 362 + 363 + export function LogoutButton() { 364 + const router = useRouter(); 365 + 366 + async function handleLogout() { 367 + await fetch("/oauth/logout", { method: "POST" }); 368 + router.refresh(); 369 + } 370 + 371 + return ( 372 + <button 373 + onClick={handleLogout} 374 + className="text-sm text-zinc-500 hover:text-zinc-700 dark:text-zinc-400 dark:hover:text-zinc-200" 375 + > 376 + Sign out 377 + </button> 378 + ); 379 + } 380 + ``` 381 + 382 + ### 2.9 Update Home Page 383 + 384 + Replace `app/page.tsx`: 385 + 386 + ```typescript 387 + import { getSession } from "@/lib/auth/session"; 388 + import { LoginForm } from "@/components/LoginForm"; 389 + import { LogoutButton } from "@/components/LogoutButton"; 390 + 391 + export default async function Home() { 392 + const session = await getSession(); 393 + 394 + return ( 395 + <div className="flex min-h-screen items-center justify-center bg-zinc-50 dark:bg-zinc-950"> 396 + <main className="w-full max-w-md mx-auto p-8"> 397 + <div className="text-center mb-8"> 398 + <h1 className="text-3xl font-bold text-zinc-900 dark:text-zinc-100 mb-2"> 399 + AT Protocol OAuth 400 + </h1> 401 + <p className="text-zinc-600 dark:text-zinc-400"> 402 + Sign in with your AT Protocol account 403 + </p> 404 + </div> 405 + 406 + <div className="bg-white dark:bg-zinc-900 rounded-lg border border-zinc-200 dark:border-zinc-800 p-6"> 407 + {session ? ( 408 + <div className="space-y-4"> 409 + <div className="flex items-center justify-between"> 410 + <p className="text-sm text-zinc-600 dark:text-zinc-400"> 411 + Signed in as{" "} 412 + <span className="font-mono">{session.did}</span> 413 + </p> 414 + <LogoutButton /> 415 + </div> 416 + <p className="text-green-600">Authentication working!</p> 417 + </div> 418 + ) : ( 419 + <LoginForm /> 420 + )} 421 + </div> 422 + </main> 423 + </div> 424 + ); 425 + } 426 + ``` 427 + 428 + ### Checkpoint: Test OAuth 429 + 430 + Your app should already be running from Part 1. If not: 431 + 432 + ```bash 433 + pnpm dev 434 + ``` 435 + 436 + 1. Open http://127.0.0.1:3000 (_not_ localhost) 437 + 2. Enter your handle 438 + 3. Authorize the app 439 + 4. You should see "Authentication working!" with your DID 440 + 441 + --- 442 + 443 + ## Part 3: Add Database Persistence 444 + 445 + The in-memory approach works for local development, but for production you'll want a proper database. Let's add SQLite. 446 + 447 + ### 3.1 Install Database Dependencies 448 + 449 + ```bash 450 + pnpm add better-sqlite3 kysely 451 + pnpm add -D @types/better-sqlite3 tsx 452 + ``` 453 + 454 + **What these do:** 455 + - `better-sqlite3` - Fast SQLite driver 456 + - `kysely` - Type-safe SQL query builder 457 + - `tsx` - Run TypeScript files directly (for scripts) 458 + 459 + ### 3.2 Update next.config.ts 460 + 461 + ```typescript 462 + import type { NextConfig } from "next"; 463 + 464 + const nextConfig: NextConfig = { 465 + serverExternalPackages: ["better-sqlite3"], 466 + }; 467 + 468 + export default nextConfig; 469 + ``` 470 + 471 + This tells Next.js to use the native SQLite module server-side. 472 + 473 + ### 3.3 Database Connection 474 + 475 + Create `lib/db/index.ts`: 476 + 477 + ```typescript 478 + import Database from "better-sqlite3"; 479 + import { Kysely, SqliteDialect } from "kysely"; 480 + 481 + const DATABASE_PATH = process.env.DATABASE_PATH || "app.db"; 482 + 483 + let _db: Kysely<DatabaseSchema> | null = null; 484 + 485 + export const getDb = (): Kysely<DatabaseSchema> => { 486 + if (!_db) { 487 + const sqlite = new Database(DATABASE_PATH); 488 + sqlite.pragma("journal_mode = WAL"); 489 + 490 + _db = new Kysely<DatabaseSchema>({ 491 + dialect: new SqliteDialect({ database: sqlite }), 492 + }); 493 + } 494 + return _db; 495 + }; 496 + 497 + export interface DatabaseSchema { 498 + auth_state: AuthStateTable; 499 + auth_session: AuthSessionTable; 500 + } 501 + 502 + interface AuthStateTable { 503 + key: string; 504 + value: string; 505 + } 506 + 507 + interface AuthSessionTable { 508 + key: string; 509 + value: string; 510 + } 511 + ``` 512 + 513 + ### 3.4 Create Migrations 514 + 515 + Create `lib/db/migrations.ts`: 516 + 517 + ```typescript 518 + import { Kysely, Migration, Migrator } from "kysely"; 519 + import { getDb } from "."; 520 + 521 + const migrations: Record<string, Migration> = { 522 + "001": { 523 + async up(db: Kysely<unknown>) { 524 + await db.schema 525 + .createTable("auth_state") 526 + .addColumn("key", "text", (col) => col.primaryKey()) 527 + .addColumn("value", "text", (col) => col.notNull()) 528 + .execute(); 529 + 530 + await db.schema 531 + .createTable("auth_session") 532 + .addColumn("key", "text", (col) => col.primaryKey()) 533 + .addColumn("value", "text", (col) => col.notNull()) 534 + .execute(); 535 + }, 536 + async down(db: Kysely<unknown>) { 537 + await db.schema.dropTable("auth_session").execute(); 538 + await db.schema.dropTable("auth_state").execute(); 539 + }, 540 + }, 541 + }; 542 + 543 + export function getMigrator() { 544 + const db = getDb(); 545 + return new Migrator({ 546 + db, 547 + provider: { 548 + getMigrations: async () => migrations, 549 + }, 550 + }); 551 + } 552 + ``` 553 + 554 + ### 3.5 Migration Script 555 + 556 + Create `scripts/migrate.ts`: 557 + 558 + ```typescript 559 + import { getMigrator } from "@/lib/db/migrations"; 560 + 561 + async function main() { 562 + const migrator = getMigrator(); 563 + const { error } = await migrator.migrateToLatest(); 564 + if (error) throw error; 565 + console.log("Migrations complete."); 566 + } 567 + 568 + main(); 569 + ``` 570 + 571 + ### 3.6 Update package.json Scripts 572 + 573 + ```json 574 + { 575 + "scripts": { 576 + "dev": "pnpm migrate && next dev", 577 + "build": "next build", 578 + "start": "pnpm migrate && next start", 579 + "migrate": "tsx scripts/migrate.ts" 580 + "lint": "eslint" 581 + } 582 + } 583 + ``` 584 + 585 + ### 3.7 Update OAuth Client to Use Database 586 + 587 + Update the following sections in `lib/auth/client.ts`: 588 + 589 + ```typescript 590 + { 591 + stateStore: { 592 + async get(key: string) { 593 + const db = getDb(); 594 + const row = await db 595 + .selectFrom("auth_state") 596 + .select("value") 597 + .where("key", "=", key) 598 + .executeTakeFirst(); 599 + return row ? JSON.parse(row.value) : undefined; 600 + }, 601 + async set(key: string, value: NodeSavedState) { 602 + const db = getDb(); 603 + const valueJson = JSON.stringify(value); 604 + await db 605 + .insertInto("auth_state") 606 + .values({ key, value: valueJson }) 607 + .onConflict((oc) => oc.column("key").doUpdateSet({ value: valueJson })) 608 + .execute(); 609 + }, 610 + async del(key: string) { 611 + const db = getDb(); 612 + await db.deleteFrom("auth_state").where("key", "=", key).execute(); 613 + }, 614 + }, 615 + 616 + sessionStore: { 617 + async get(key: string) { 618 + const db = getDb(); 619 + const row = await db 620 + .selectFrom("auth_session") 621 + .select("value") 622 + .where("key", "=", key) 623 + .executeTakeFirst(); 624 + return row ? JSON.parse(row.value) : undefined; 625 + }, 626 + async set(key: string, value: NodeSavedSession) { 627 + const db = getDb(); 628 + const valueJson = JSON.stringify(value); 629 + await db 630 + .insertInto("auth_session") 631 + .values({ key, value: valueJson }) 632 + .onConflict((oc) => oc.column("key").doUpdateSet({ value: valueJson })) 633 + .execute(); 634 + }, 635 + async del(key: string) { 636 + const db = getDb(); 637 + await db.deleteFrom("auth_session").where("key", "=", key).execute(); 638 + }, 639 + } 640 + } 641 + 642 + ``` 643 + 644 + You can also delete the `globalAuth` memory store at the top of the file. 645 + 646 + ### Checkpoint: Test with Database 647 + 648 + ```bash 649 + pnpm dev 650 + ``` 651 + 652 + You should see "Migrations complete." and an `app.db` file created. Now you can edit files during the OAuth flow without losing state! 653 + 654 + --- 655 + 656 + ## Part 4: Production Deployment 657 + 658 + For production, you need a "confidential client" instead of the loopback client. This requires: 659 + - A public URL 660 + - A private key for signing 661 + - Public endpoints for client metadata and JWKS 662 + 663 + ### 4.1 Environment Variables 664 + 665 + For production, you'll need: 666 + 667 + ```env 668 + PUBLIC_URL=https://your-app.example.com 669 + PRIVATE_KEY={"kty":"EC","kid":"...","alg":"ES256",...} 670 + ``` 671 + 672 + ### 4.2 Generate Private Key 673 + 674 + Create `scripts/gen-key.ts`: 675 + 676 + ```typescript 677 + import { JoseKey } from "@atproto/oauth-client-node"; 678 + 679 + async function main() { 680 + const kid = Date.now().toString(); 681 + const key = await JoseKey.generate(["ES256"], kid); 682 + console.log(JSON.stringify(key.privateJwk)); 683 + }; 684 + 685 + main(); 686 + ``` 687 + 688 + Add to scripts in `package.json`: 689 + 690 + ```json 691 + "gen-key": "tsx scripts/gen-key.ts" 692 + ``` 693 + 694 + Run `pnpm gen-key` and save the output as `PRIVATE_KEY` env var. 695 + 696 + ### 4.3 JWKS Endpoint 697 + 698 + This is a .well-known endpoint that advertises your client's public key 699 + 700 + Create `app/.well-known/jwks.json/route.ts`: 701 + 702 + ```typescript 703 + import { NextResponse } from "next/server"; 704 + import { JoseKey } from "@atproto/oauth-client-node"; 705 + 706 + // Serves the public keys for the OAuth client 707 + // Required for confidential clients using private_key_jwt authentication 708 + 709 + const PRIVATE_KEY = process.env.PRIVATE_KEY; 710 + 711 + export async function GET() { 712 + if (!PRIVATE_KEY) { 713 + return NextResponse.json({ keys: [] }); 714 + } 715 + 716 + const key = await JoseKey.fromJWK(JSON.parse(PRIVATE_KEY)); 717 + return NextResponse.json({ 718 + keys: [key.publicJwk], 719 + }); 720 + } 721 + ``` 722 + 723 + ### 4.4 Update OAuth Client for Production 724 + 725 + Update `lib/auth/client.ts` the actual metadata for your confidential client: 726 + 727 + ```typescript 728 + import { 729 + JoseKey, 730 + Keyset, 731 + NodeOAuthClient, 732 + buildAtprotoLoopbackClientMetadata, 733 + } from "@atproto/oauth-client-node"; 734 + import type { 735 + NodeSavedSession, 736 + NodeSavedState, 737 + OAuthClientMetadataInput, 738 + } from "@atproto/oauth-client-node"; 739 + import { getDb } from "../db"; 740 + 741 + export const SCOPE = "atproto"; 742 + 743 + let client: NodeOAuthClient | null = null; 744 + 745 + const PUBLIC_URL = process.env.PUBLIC_URL; 746 + const PRIVATE_KEY = process.env.PRIVATE_KEY; 747 + 748 + function getClientMetadata(): OAuthClientMetadataInput { 749 + if (PUBLIC_URL) { 750 + return { 751 + client_id: `${PUBLIC_URL}/oauth-client-metadata.json`, 752 + client_name: "OAuth Tutorial", 753 + client_uri: PUBLIC_URL, 754 + redirect_uris: [`${PUBLIC_URL}/oauth/callback`], 755 + grant_types: ["authorization_code", "refresh_token"], 756 + response_types: ["code"], 757 + scope: SCOPE, 758 + token_endpoint_auth_method: "private_key_jwt" as const, 759 + token_endpoint_auth_signing_alg: "ES256" as const, // must match the alg in scripts/gen-key.ts 760 + jwks_uri: `${PUBLIC_URL}/.well-known/jwks.json`, 761 + dpop_bound_access_tokens: true, 762 + }; 763 + } else { 764 + return buildAtprotoLoopbackClientMetadata({ 765 + scope: SCOPE, 766 + redirect_uris: ["http://127.0.0.1:3000/oauth/callback"], 767 + }); 768 + } 769 + } 770 + 771 + async function getKeyset(): Promise<Keyset | undefined> { 772 + if (PUBLIC_URL && PRIVATE_KEY) { 773 + return new Keyset([await JoseKey.fromJWK(JSON.parse(PRIVATE_KEY))]); 774 + } else { 775 + return undefined; 776 + } 777 + } 778 + 779 + export async function getOAuthClient(): Promise<NodeOAuthClient> { 780 + if (client) return client; 781 + 782 + client = new NodeOAuthClient({ 783 + clientMetadata: getClientMetadata(), 784 + keyset: await getKeyset(), 785 + ... 786 + ``` 787 + 788 + You can read more about the client metadata doc here: https://atproto.com/specs/oauth#client-id-metadata-document 789 + 790 + ### Checkpoint: Test Confidential Client 791 + 792 + To test your confidential client, you'll need to deploy it somewhere. We've included a simple deploy guide for Railway in [RAILWAY_DEPLOY.md](./RAILWAY_DEPLOY.md) 793 + 794 + --- 795 + 796 + ## Part 5: Requesting Scopes (Bonus) 797 + 798 + By default, we request only the `atproto` scope. The `atproto` scope is required and offers basic authentication for an atproto identity, however it does not authorize the client to access any privileged information or perform any actions on behalf of the user. 799 + 800 + You can request more specific scopes to expand what your app can do. 801 + 802 + ### 5.1 Available Scopes 803 + 804 + AT Protocol OAuth supports several scope patterns. Full documentation on OAuth scopes can be found here: https://atproto.com/specs/permission 805 + 806 + A few examples: 807 + 808 + - `atproto` - Basic authentication (required) 809 + - `account:email` - Access the users email (they will have the option to opt out in the consent screen) 810 + - `repo:com.example.record` - Write access to all `com.example.record` records 811 + 812 + ### 5.2 Update the SCOPE Constant 813 + 814 + To change the requested scope, simply update the `SCOPE` constant in `lib/auth/client.ts`. It should be a space-delimited string. 815 + 816 + ```typescript 817 + export const SCOPE = "atproto account:email repo:com.example.record"; 818 + ``` 819 + 820 + This constant is used in three places: 821 + - The loopback client metadata (for local development) 822 + - The production client metadata 823 + - The login route's authorize call 824 + 825 + By centralizing it in one constant, you only need to change it in one place. 826 + 827 + ### Checkpoint: Requesting Scopes 828 + 829 + 1. Run your app with `pnpm dev` 830 + 2. Open http://127.0.0.1:3000 (_not_ localhost) 831 + 3. Go throught he authorization flow 832 + 4. On the consent screen of your authorization server, you should see that the app is requesting read access to your email as well as access to your repository
+18
app/.well-known/jwks.json/route.ts
··· 1 + import { NextResponse } from "next/server"; 2 + import { JoseKey } from "@atproto/oauth-client-node"; 3 + 4 + // Serves the public keys for the OAuth client 5 + // Required for confidential clients using private_key_jwt authentication 6 + 7 + const PRIVATE_KEY = process.env.PRIVATE_KEY; 8 + 9 + export async function GET() { 10 + if (!PRIVATE_KEY) { 11 + return NextResponse.json({ keys: [] }); 12 + } 13 + 14 + const key = await JoseKey.fromJWK(JSON.parse(PRIVATE_KEY)); 15 + return NextResponse.json({ 16 + keys: [key.publicJwk], 17 + }); 18 + }
app/favicon.ico

This is a binary file and will not be displayed.

+26
app/globals.css
··· 1 + @import "tailwindcss"; 2 + 3 + :root { 4 + --background: #ffffff; 5 + --foreground: #171717; 6 + } 7 + 8 + @theme inline { 9 + --color-background: var(--background); 10 + --color-foreground: var(--foreground); 11 + --font-sans: var(--font-geist-sans); 12 + --font-mono: var(--font-geist-mono); 13 + } 14 + 15 + @media (prefers-color-scheme: dark) { 16 + :root { 17 + --background: #0a0a0a; 18 + --foreground: #ededed; 19 + } 20 + } 21 + 22 + body { 23 + background: var(--background); 24 + color: var(--foreground); 25 + font-family: Arial, Helvetica, sans-serif; 26 + }
+34
app/layout.tsx
··· 1 + import type { Metadata } from "next"; 2 + import { Geist, Geist_Mono } from "next/font/google"; 3 + import "./globals.css"; 4 + 5 + const geistSans = Geist({ 6 + variable: "--font-geist-sans", 7 + subsets: ["latin"], 8 + }); 9 + 10 + const geistMono = Geist_Mono({ 11 + variable: "--font-geist-mono", 12 + subsets: ["latin"], 13 + }); 14 + 15 + export const metadata: Metadata = { 16 + title: "OAuth Tutorial", 17 + description: "AT Protocol Next.js OAuth Tutorial", 18 + }; 19 + 20 + export default function RootLayout({ 21 + children, 22 + }: Readonly<{ 23 + children: React.ReactNode; 24 + }>) { 25 + return ( 26 + <html lang="en"> 27 + <body 28 + className={`${geistSans.variable} ${geistMono.variable} antialiased`} 29 + > 30 + {children} 31 + </body> 32 + </html> 33 + ); 34 + }
+10
app/oauth-client-metadata.json/route.ts
··· 1 + import { getOAuthClient } from "@/lib/auth/client"; 2 + import { NextResponse } from "next/server"; 3 + 4 + // The URL of this endpoint IS your client_id 5 + // Authorization servers fetch this to learn about your app 6 + 7 + export async function GET() { 8 + const client = await getOAuthClient(); 9 + return NextResponse.json(client.clientMetadata); 10 + }
+30
app/oauth/callback/route.ts
··· 1 + import { NextRequest, NextResponse } from "next/server"; 2 + import { getOAuthClient } from "@/lib/auth/client"; 3 + 4 + const PUBLIC_URL = process.env.PUBLIC_URL || "http://127.0.0.1:3000"; 5 + 6 + export async function GET(request: NextRequest) { 7 + try { 8 + const params = request.nextUrl.searchParams; 9 + const client = await getOAuthClient(); 10 + 11 + // Exchange code for session 12 + const { session } = await client.callback(params); 13 + 14 + const response = NextResponse.redirect(new URL("/", PUBLIC_URL)); 15 + 16 + // Set DID cookie 17 + response.cookies.set("did", session.did, { 18 + httpOnly: true, 19 + secure: process.env.NODE_ENV === "production", 20 + sameSite: "lax", 21 + maxAge: 60 * 60 * 24 * 7, // 1 week 22 + path: "/", 23 + }); 24 + 25 + return response; 26 + } catch (error) { 27 + console.error("OAuth callback error:", error); 28 + return NextResponse.redirect(new URL("/?error=login_failed", PUBLIC_URL)); 29 + } 30 + }
+30
app/oauth/login/route.ts
··· 1 + import { NextRequest, NextResponse } from "next/server"; 2 + import { getOAuthClient, SCOPE } from "@/lib/auth/client"; 3 + 4 + export async function POST(request: NextRequest) { 5 + try { 6 + const { handle } = await request.json(); 7 + 8 + if (!handle || typeof handle !== "string") { 9 + return NextResponse.json( 10 + { error: "Handle is required" }, 11 + { status: 400 }, 12 + ); 13 + } 14 + 15 + const client = await getOAuthClient(); 16 + 17 + // Resolves handle, finds their auth server, returns authorization URL 18 + const authUrl = await client.authorize(handle, { 19 + scope: SCOPE, 20 + }); 21 + 22 + return NextResponse.json({ redirectUrl: authUrl.toString() }); 23 + } catch (error) { 24 + console.error("OAuth login error:", error); 25 + return NextResponse.json( 26 + { error: error instanceof Error ? error.message : "Login failed" }, 27 + { status: 500 }, 28 + ); 29 + } 30 + }
+23
app/oauth/logout/route.ts
··· 1 + import { NextResponse } from "next/server"; 2 + import { cookies } from "next/headers"; 3 + import { getOAuthClient } from "@/lib/auth/client"; 4 + 5 + export async function POST() { 6 + try { 7 + const cookieStore = await cookies(); 8 + const did = cookieStore.get("did")?.value; 9 + 10 + if (did) { 11 + const client = await getOAuthClient(); 12 + await client.revoke(did); 13 + } 14 + 15 + cookieStore.delete("did"); 16 + return NextResponse.json({ success: true }); 17 + } catch (error) { 18 + console.error("Logout error:", error); 19 + const cookieStore = await cookies(); 20 + cookieStore.delete("did"); 21 + return NextResponse.json({ success: true }); 22 + } 23 + }
+38
app/page.tsx
··· 1 + import { getSession } from "@/lib/auth/session"; 2 + import { LoginForm } from "@/components/LoginForm"; 3 + import { LogoutButton } from "@/components/LogoutButton"; 4 + 5 + export default async function Home() { 6 + const session = await getSession(); 7 + 8 + return ( 9 + <div className="flex min-h-screen items-center justify-center bg-zinc-50 dark:bg-zinc-950"> 10 + <main className="w-full max-w-md mx-auto p-8"> 11 + <div className="text-center mb-8"> 12 + <h1 className="text-3xl font-bold text-zinc-900 dark:text-zinc-100 mb-2"> 13 + AT Protocol OAuth 14 + </h1> 15 + <p className="text-zinc-600 dark:text-zinc-400"> 16 + Sign in with your Atmosphere account 17 + </p> 18 + </div> 19 + 20 + <div className="bg-white dark:bg-zinc-900 rounded-lg border border-zinc-200 dark:border-zinc-800 p-6"> 21 + {session ? ( 22 + <div className="space-y-4"> 23 + <div className="flex items-center justify-between"> 24 + <p className="text-sm text-zinc-600 dark:text-zinc-400"> 25 + Signed in as <span className="font-mono">{session.did}</span> 26 + </p> 27 + <LogoutButton /> 28 + </div> 29 + <p className="text-green-600">Authentication working!</p> 30 + </div> 31 + ) : ( 32 + <LoginForm /> 33 + )} 34 + </div> 35 + </main> 36 + </div> 37 + ); 38 + }
+63
components/LoginForm.tsx
··· 1 + "use client"; 2 + 3 + import { useState } from "react"; 4 + 5 + export function LoginForm() { 6 + const [handle, setHandle] = useState(""); 7 + const [loading, setLoading] = useState(false); 8 + const [error, setError] = useState<string | null>(null); 9 + 10 + async function handleSubmit(e: React.FormEvent) { 11 + e.preventDefault(); 12 + setLoading(true); 13 + setError(null); 14 + 15 + try { 16 + const res = await fetch("/oauth/login", { 17 + method: "POST", 18 + headers: { "Content-Type": "application/json" }, 19 + body: JSON.stringify({ handle }), 20 + }); 21 + 22 + const data = await res.json(); 23 + 24 + if (!res.ok) { 25 + throw new Error(data.error || "Login failed"); 26 + } 27 + 28 + // Redirect to authorization server 29 + window.location.href = data.redirectUrl; 30 + } catch (err) { 31 + setError(err instanceof Error ? err.message : "Login failed"); 32 + setLoading(false); 33 + } 34 + } 35 + 36 + return ( 37 + <form onSubmit={handleSubmit} className="space-y-4"> 38 + <div> 39 + <label className="block text-sm font-medium text-zinc-700 dark:text-zinc-300 mb-1"> 40 + Handle 41 + </label> 42 + <input 43 + type="text" 44 + value={handle} 45 + onChange={(e) => setHandle(e.target.value)} 46 + placeholder="alice.bsky.social" 47 + className="w-full px-3 py-2 border border-zinc-300 dark:border-zinc-700 rounded-lg bg-white dark:bg-zinc-800 text-zinc-900 dark:text-zinc-100" 48 + disabled={loading} 49 + /> 50 + </div> 51 + 52 + {error && <p className="text-red-500 text-sm">{error}</p>} 53 + 54 + <button 55 + type="submit" 56 + disabled={loading || !handle} 57 + className="w-full py-2 px-4 bg-blue-600 text-white rounded-lg hover:bg-blue-700 disabled:opacity-50" 58 + > 59 + {loading ? "Logging in..." : "Login to the Atmosphere"} 60 + </button> 61 + </form> 62 + ); 63 + }
+21
components/LogoutButton.tsx
··· 1 + "use client"; 2 + 3 + import { useRouter } from "next/navigation"; 4 + 5 + export function LogoutButton() { 6 + const router = useRouter(); 7 + 8 + async function handleLogout() { 9 + await fetch("/oauth/logout", { method: "POST" }); 10 + router.refresh(); 11 + } 12 + 13 + return ( 14 + <button 15 + onClick={handleLogout} 16 + className="text-sm text-zinc-500 hover:text-zinc-700 dark:text-zinc-400 dark:hover:text-zinc-200" 17 + > 18 + Sign out 19 + </button> 20 + ); 21 + }
+18
eslint.config.mjs
··· 1 + import { defineConfig, globalIgnores } from "eslint/config"; 2 + import nextVitals from "eslint-config-next/core-web-vitals"; 3 + import nextTs from "eslint-config-next/typescript"; 4 + 5 + const eslintConfig = defineConfig([ 6 + ...nextVitals, 7 + ...nextTs, 8 + // Override default ignores of eslint-config-next. 9 + globalIgnores([ 10 + // Default ignores of eslint-config-next: 11 + ".next/**", 12 + "out/**", 13 + "build/**", 14 + "next-env.d.ts", 15 + ]), 16 + ]); 17 + 18 + export default eslintConfig;
+115
lib/auth/client.ts
··· 1 + import { 2 + JoseKey, 3 + Keyset, 4 + NodeOAuthClient, 5 + buildAtprotoLoopbackClientMetadata, 6 + } from "@atproto/oauth-client-node"; 7 + import type { 8 + NodeSavedSession, 9 + NodeSavedState, 10 + OAuthClientMetadataInput, 11 + } from "@atproto/oauth-client-node"; 12 + import { getDb } from "../db"; 13 + 14 + export const SCOPE = "atproto account:email repo:com.example.record"; 15 + 16 + let client: NodeOAuthClient | null = null; 17 + 18 + const PUBLIC_URL = process.env.PUBLIC_URL; 19 + const PRIVATE_KEY = process.env.PRIVATE_KEY; 20 + 21 + function getClientMetadata(): OAuthClientMetadataInput { 22 + if (PUBLIC_URL) { 23 + return { 24 + client_id: `${PUBLIC_URL}/oauth-client-metadata.json`, 25 + client_name: "OAuth Tutorial", 26 + client_uri: PUBLIC_URL, 27 + redirect_uris: [`${PUBLIC_URL}/oauth/callback`], 28 + grant_types: ["authorization_code", "refresh_token"], 29 + response_types: ["code"], 30 + scope: SCOPE, 31 + token_endpoint_auth_method: "private_key_jwt" as const, 32 + token_endpoint_auth_signing_alg: "ES256" as const, // must match the alg in scripts/gen-key.ts 33 + jwks_uri: `${PUBLIC_URL}/.well-known/jwks.json`, 34 + dpop_bound_access_tokens: true, 35 + }; 36 + } else { 37 + return buildAtprotoLoopbackClientMetadata({ 38 + scope: SCOPE, 39 + redirect_uris: ["http://127.0.0.1:3000/oauth/callback"], 40 + }); 41 + } 42 + } 43 + 44 + async function getKeyset(): Promise<Keyset | undefined> { 45 + if (PUBLIC_URL && PRIVATE_KEY) { 46 + return new Keyset([await JoseKey.fromJWK(JSON.parse(PRIVATE_KEY))]); 47 + } else { 48 + return undefined; 49 + } 50 + } 51 + 52 + export async function getOAuthClient(): Promise<NodeOAuthClient> { 53 + if (client) return client; 54 + 55 + client = new NodeOAuthClient({ 56 + clientMetadata: getClientMetadata(), 57 + keyset: await getKeyset(), 58 + 59 + stateStore: { 60 + async get(key: string) { 61 + const db = getDb(); 62 + const row = await db 63 + .selectFrom("auth_state") 64 + .select("value") 65 + .where("key", "=", key) 66 + .executeTakeFirst(); 67 + return row ? JSON.parse(row.value) : undefined; 68 + }, 69 + async set(key: string, value: NodeSavedState) { 70 + const db = getDb(); 71 + const valueJson = JSON.stringify(value); 72 + await db 73 + .insertInto("auth_state") 74 + .values({ key, value: valueJson }) 75 + .onConflict((oc) => 76 + oc.column("key").doUpdateSet({ value: valueJson }), 77 + ) 78 + .execute(); 79 + }, 80 + async del(key: string) { 81 + const db = getDb(); 82 + await db.deleteFrom("auth_state").where("key", "=", key).execute(); 83 + }, 84 + }, 85 + 86 + sessionStore: { 87 + async get(key: string) { 88 + const db = getDb(); 89 + const row = await db 90 + .selectFrom("auth_session") 91 + .select("value") 92 + .where("key", "=", key) 93 + .executeTakeFirst(); 94 + return row ? JSON.parse(row.value) : undefined; 95 + }, 96 + async set(key: string, value: NodeSavedSession) { 97 + const db = getDb(); 98 + const valueJson = JSON.stringify(value); 99 + await db 100 + .insertInto("auth_session") 101 + .values({ key, value: valueJson }) 102 + .onConflict((oc) => 103 + oc.column("key").doUpdateSet({ value: valueJson }), 104 + ) 105 + .execute(); 106 + }, 107 + async del(key: string) { 108 + const db = getDb(); 109 + await db.deleteFrom("auth_session").where("key", "=", key).execute(); 110 + }, 111 + }, 112 + }); 113 + 114 + return client; 115 + }
+20
lib/auth/session.ts
··· 1 + import { cookies } from "next/headers"; 2 + import { getOAuthClient } from "./client"; 3 + import type { OAuthSession } from "@atproto/oauth-client-node"; 4 + 5 + export async function getSession(): Promise<OAuthSession | null> { 6 + const did = await getDid(); 7 + if (!did) return null; 8 + 9 + try { 10 + const client = await getOAuthClient(); 11 + return await client.restore(did); 12 + } catch { 13 + return null; 14 + } 15 + } 16 + 17 + export async function getDid(): Promise<string | null> { 18 + const cookieStore = await cookies(); 19 + return cookieStore.get("did")?.value ?? null; 20 + }
+33
lib/db/index.ts
··· 1 + import Database from "better-sqlite3"; 2 + import { Kysely, SqliteDialect } from "kysely"; 3 + 4 + const DATABASE_PATH = process.env.DATABASE_PATH || "app.db"; 5 + 6 + let _db: Kysely<DatabaseSchema> | null = null; 7 + 8 + export const getDb = (): Kysely<DatabaseSchema> => { 9 + if (!_db) { 10 + const sqlite = new Database(DATABASE_PATH); 11 + sqlite.pragma("journal_mode = WAL"); 12 + 13 + _db = new Kysely<DatabaseSchema>({ 14 + dialect: new SqliteDialect({ database: sqlite }), 15 + }); 16 + } 17 + return _db; 18 + }; 19 + 20 + export interface DatabaseSchema { 21 + auth_state: AuthStateTable; 22 + auth_session: AuthSessionTable; 23 + } 24 + 25 + interface AuthStateTable { 26 + key: string; 27 + value: string; 28 + } 29 + 30 + interface AuthSessionTable { 31 + key: string; 32 + value: string; 33 + }
+35
lib/db/migrations.ts
··· 1 + import { Kysely, Migration } from "kysely"; 2 + import { getDb } from "."; 3 + import { Migrator } from "kysely"; 4 + 5 + const migrations: Record<string, Migration> = { 6 + "001": { 7 + async up(db: Kysely<unknown>) { 8 + await db.schema 9 + .createTable("auth_state") 10 + .addColumn("key", "text", (col) => col.primaryKey()) 11 + .addColumn("value", "text", (col) => col.notNull()) 12 + .execute(); 13 + 14 + await db.schema 15 + .createTable("auth_session") 16 + .addColumn("key", "text", (col) => col.primaryKey()) 17 + .addColumn("value", "text", (col) => col.notNull()) 18 + .execute(); 19 + }, 20 + async down(db: Kysely<unknown>) { 21 + await db.schema.dropTable("auth_session").execute(); 22 + await db.schema.dropTable("auth_state").execute(); 23 + }, 24 + }, 25 + }; 26 + 27 + export function getMigrator() { 28 + const db = getDb(); 29 + return new Migrator({ 30 + db, 31 + provider: { 32 + getMigrations: async () => migrations, 33 + }, 34 + }); 35 + }
+8
next.config.ts
··· 1 + import type { NextConfig } from "next"; 2 + 3 + const nextConfig: NextConfig = { 4 + serverExternalPackages: ["better-sqlite3"], 5 + allowedDevOrigins: ["127.0.0.1"], 6 + }; 7 + 8 + export default nextConfig;
+6538
package-lock.json
··· 1 + { 2 + "name": "next-oauth", 3 + "version": "0.1.0", 4 + "lockfileVersion": 3, 5 + "requires": true, 6 + "packages": { 7 + "": { 8 + "name": "next-oauth", 9 + "version": "0.1.0", 10 + "dependencies": { 11 + "next": "16.1.1", 12 + "react": "19.2.3", 13 + "react-dom": "19.2.3" 14 + }, 15 + "devDependencies": { 16 + "@tailwindcss/postcss": "^4", 17 + "@types/node": "^20", 18 + "@types/react": "^19", 19 + "@types/react-dom": "^19", 20 + "eslint": "^9", 21 + "eslint-config-next": "16.1.1", 22 + "tailwindcss": "^4", 23 + "typescript": "^5" 24 + } 25 + }, 26 + "node_modules/@alloc/quick-lru": { 27 + "version": "5.2.0", 28 + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", 29 + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", 30 + "dev": true, 31 + "license": "MIT", 32 + "engines": { 33 + "node": ">=10" 34 + }, 35 + "funding": { 36 + "url": "https://github.com/sponsors/sindresorhus" 37 + } 38 + }, 39 + "node_modules/@babel/code-frame": { 40 + "version": "7.27.1", 41 + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", 42 + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", 43 + "dev": true, 44 + "license": "MIT", 45 + "dependencies": { 46 + "@babel/helper-validator-identifier": "^7.27.1", 47 + "js-tokens": "^4.0.0", 48 + "picocolors": "^1.1.1" 49 + }, 50 + "engines": { 51 + "node": ">=6.9.0" 52 + } 53 + }, 54 + "node_modules/@babel/compat-data": { 55 + "version": "7.28.5", 56 + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", 57 + "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", 58 + "dev": true, 59 + "license": "MIT", 60 + "engines": { 61 + "node": ">=6.9.0" 62 + } 63 + }, 64 + "node_modules/@babel/core": { 65 + "version": "7.28.5", 66 + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", 67 + "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", 68 + "dev": true, 69 + "license": "MIT", 70 + "dependencies": { 71 + "@babel/code-frame": "^7.27.1", 72 + "@babel/generator": "^7.28.5", 73 + "@babel/helper-compilation-targets": "^7.27.2", 74 + "@babel/helper-module-transforms": "^7.28.3", 75 + "@babel/helpers": "^7.28.4", 76 + "@babel/parser": "^7.28.5", 77 + "@babel/template": "^7.27.2", 78 + "@babel/traverse": "^7.28.5", 79 + "@babel/types": "^7.28.5", 80 + "@jridgewell/remapping": "^2.3.5", 81 + "convert-source-map": "^2.0.0", 82 + "debug": "^4.1.0", 83 + "gensync": "^1.0.0-beta.2", 84 + "json5": "^2.2.3", 85 + "semver": "^6.3.1" 86 + }, 87 + "engines": { 88 + "node": ">=6.9.0" 89 + }, 90 + "funding": { 91 + "type": "opencollective", 92 + "url": "https://opencollective.com/babel" 93 + } 94 + }, 95 + "node_modules/@babel/generator": { 96 + "version": "7.28.5", 97 + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", 98 + "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", 99 + "dev": true, 100 + "license": "MIT", 101 + "dependencies": { 102 + "@babel/parser": "^7.28.5", 103 + "@babel/types": "^7.28.5", 104 + "@jridgewell/gen-mapping": "^0.3.12", 105 + "@jridgewell/trace-mapping": "^0.3.28", 106 + "jsesc": "^3.0.2" 107 + }, 108 + "engines": { 109 + "node": ">=6.9.0" 110 + } 111 + }, 112 + "node_modules/@babel/helper-compilation-targets": { 113 + "version": "7.27.2", 114 + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", 115 + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", 116 + "dev": true, 117 + "license": "MIT", 118 + "dependencies": { 119 + "@babel/compat-data": "^7.27.2", 120 + "@babel/helper-validator-option": "^7.27.1", 121 + "browserslist": "^4.24.0", 122 + "lru-cache": "^5.1.1", 123 + "semver": "^6.3.1" 124 + }, 125 + "engines": { 126 + "node": ">=6.9.0" 127 + } 128 + }, 129 + "node_modules/@babel/helper-globals": { 130 + "version": "7.28.0", 131 + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", 132 + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", 133 + "dev": true, 134 + "license": "MIT", 135 + "engines": { 136 + "node": ">=6.9.0" 137 + } 138 + }, 139 + "node_modules/@babel/helper-module-imports": { 140 + "version": "7.27.1", 141 + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", 142 + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", 143 + "dev": true, 144 + "license": "MIT", 145 + "dependencies": { 146 + "@babel/traverse": "^7.27.1", 147 + "@babel/types": "^7.27.1" 148 + }, 149 + "engines": { 150 + "node": ">=6.9.0" 151 + } 152 + }, 153 + "node_modules/@babel/helper-module-transforms": { 154 + "version": "7.28.3", 155 + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", 156 + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", 157 + "dev": true, 158 + "license": "MIT", 159 + "dependencies": { 160 + "@babel/helper-module-imports": "^7.27.1", 161 + "@babel/helper-validator-identifier": "^7.27.1", 162 + "@babel/traverse": "^7.28.3" 163 + }, 164 + "engines": { 165 + "node": ">=6.9.0" 166 + }, 167 + "peerDependencies": { 168 + "@babel/core": "^7.0.0" 169 + } 170 + }, 171 + "node_modules/@babel/helper-string-parser": { 172 + "version": "7.27.1", 173 + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", 174 + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", 175 + "dev": true, 176 + "license": "MIT", 177 + "engines": { 178 + "node": ">=6.9.0" 179 + } 180 + }, 181 + "node_modules/@babel/helper-validator-identifier": { 182 + "version": "7.28.5", 183 + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", 184 + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", 185 + "dev": true, 186 + "license": "MIT", 187 + "engines": { 188 + "node": ">=6.9.0" 189 + } 190 + }, 191 + "node_modules/@babel/helper-validator-option": { 192 + "version": "7.27.1", 193 + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", 194 + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", 195 + "dev": true, 196 + "license": "MIT", 197 + "engines": { 198 + "node": ">=6.9.0" 199 + } 200 + }, 201 + "node_modules/@babel/helpers": { 202 + "version": "7.28.4", 203 + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", 204 + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", 205 + "dev": true, 206 + "license": "MIT", 207 + "dependencies": { 208 + "@babel/template": "^7.27.2", 209 + "@babel/types": "^7.28.4" 210 + }, 211 + "engines": { 212 + "node": ">=6.9.0" 213 + } 214 + }, 215 + "node_modules/@babel/parser": { 216 + "version": "7.28.5", 217 + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", 218 + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", 219 + "dev": true, 220 + "license": "MIT", 221 + "dependencies": { 222 + "@babel/types": "^7.28.5" 223 + }, 224 + "bin": { 225 + "parser": "bin/babel-parser.js" 226 + }, 227 + "engines": { 228 + "node": ">=6.0.0" 229 + } 230 + }, 231 + "node_modules/@babel/template": { 232 + "version": "7.27.2", 233 + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", 234 + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", 235 + "dev": true, 236 + "license": "MIT", 237 + "dependencies": { 238 + "@babel/code-frame": "^7.27.1", 239 + "@babel/parser": "^7.27.2", 240 + "@babel/types": "^7.27.1" 241 + }, 242 + "engines": { 243 + "node": ">=6.9.0" 244 + } 245 + }, 246 + "node_modules/@babel/traverse": { 247 + "version": "7.28.5", 248 + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", 249 + "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", 250 + "dev": true, 251 + "license": "MIT", 252 + "dependencies": { 253 + "@babel/code-frame": "^7.27.1", 254 + "@babel/generator": "^7.28.5", 255 + "@babel/helper-globals": "^7.28.0", 256 + "@babel/parser": "^7.28.5", 257 + "@babel/template": "^7.27.2", 258 + "@babel/types": "^7.28.5", 259 + "debug": "^4.3.1" 260 + }, 261 + "engines": { 262 + "node": ">=6.9.0" 263 + } 264 + }, 265 + "node_modules/@babel/types": { 266 + "version": "7.28.5", 267 + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", 268 + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", 269 + "dev": true, 270 + "license": "MIT", 271 + "dependencies": { 272 + "@babel/helper-string-parser": "^7.27.1", 273 + "@babel/helper-validator-identifier": "^7.28.5" 274 + }, 275 + "engines": { 276 + "node": ">=6.9.0" 277 + } 278 + }, 279 + "node_modules/@emnapi/core": { 280 + "version": "1.8.1", 281 + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", 282 + "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==", 283 + "dev": true, 284 + "license": "MIT", 285 + "optional": true, 286 + "dependencies": { 287 + "@emnapi/wasi-threads": "1.1.0", 288 + "tslib": "^2.4.0" 289 + } 290 + }, 291 + "node_modules/@emnapi/runtime": { 292 + "version": "1.8.1", 293 + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", 294 + "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", 295 + "license": "MIT", 296 + "optional": true, 297 + "dependencies": { 298 + "tslib": "^2.4.0" 299 + } 300 + }, 301 + "node_modules/@emnapi/wasi-threads": { 302 + "version": "1.1.0", 303 + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", 304 + "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", 305 + "dev": true, 306 + "license": "MIT", 307 + "optional": true, 308 + "dependencies": { 309 + "tslib": "^2.4.0" 310 + } 311 + }, 312 + "node_modules/@eslint-community/eslint-utils": { 313 + "version": "4.9.1", 314 + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", 315 + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", 316 + "dev": true, 317 + "license": "MIT", 318 + "dependencies": { 319 + "eslint-visitor-keys": "^3.4.3" 320 + }, 321 + "engines": { 322 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 323 + }, 324 + "funding": { 325 + "url": "https://opencollective.com/eslint" 326 + }, 327 + "peerDependencies": { 328 + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" 329 + } 330 + }, 331 + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { 332 + "version": "3.4.3", 333 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", 334 + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", 335 + "dev": true, 336 + "license": "Apache-2.0", 337 + "engines": { 338 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 339 + }, 340 + "funding": { 341 + "url": "https://opencollective.com/eslint" 342 + } 343 + }, 344 + "node_modules/@eslint-community/regexpp": { 345 + "version": "4.12.2", 346 + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", 347 + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", 348 + "dev": true, 349 + "license": "MIT", 350 + "engines": { 351 + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" 352 + } 353 + }, 354 + "node_modules/@eslint/config-array": { 355 + "version": "0.21.1", 356 + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", 357 + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", 358 + "dev": true, 359 + "license": "Apache-2.0", 360 + "dependencies": { 361 + "@eslint/object-schema": "^2.1.7", 362 + "debug": "^4.3.1", 363 + "minimatch": "^3.1.2" 364 + }, 365 + "engines": { 366 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 367 + } 368 + }, 369 + "node_modules/@eslint/config-helpers": { 370 + "version": "0.4.2", 371 + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", 372 + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", 373 + "dev": true, 374 + "license": "Apache-2.0", 375 + "dependencies": { 376 + "@eslint/core": "^0.17.0" 377 + }, 378 + "engines": { 379 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 380 + } 381 + }, 382 + "node_modules/@eslint/core": { 383 + "version": "0.17.0", 384 + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", 385 + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", 386 + "dev": true, 387 + "license": "Apache-2.0", 388 + "dependencies": { 389 + "@types/json-schema": "^7.0.15" 390 + }, 391 + "engines": { 392 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 393 + } 394 + }, 395 + "node_modules/@eslint/eslintrc": { 396 + "version": "3.3.3", 397 + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", 398 + "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", 399 + "dev": true, 400 + "license": "MIT", 401 + "dependencies": { 402 + "ajv": "^6.12.4", 403 + "debug": "^4.3.2", 404 + "espree": "^10.0.1", 405 + "globals": "^14.0.0", 406 + "ignore": "^5.2.0", 407 + "import-fresh": "^3.2.1", 408 + "js-yaml": "^4.1.1", 409 + "minimatch": "^3.1.2", 410 + "strip-json-comments": "^3.1.1" 411 + }, 412 + "engines": { 413 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 414 + }, 415 + "funding": { 416 + "url": "https://opencollective.com/eslint" 417 + } 418 + }, 419 + "node_modules/@eslint/js": { 420 + "version": "9.39.2", 421 + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", 422 + "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", 423 + "dev": true, 424 + "license": "MIT", 425 + "engines": { 426 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 427 + }, 428 + "funding": { 429 + "url": "https://eslint.org/donate" 430 + } 431 + }, 432 + "node_modules/@eslint/object-schema": { 433 + "version": "2.1.7", 434 + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", 435 + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", 436 + "dev": true, 437 + "license": "Apache-2.0", 438 + "engines": { 439 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 440 + } 441 + }, 442 + "node_modules/@eslint/plugin-kit": { 443 + "version": "0.4.1", 444 + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", 445 + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", 446 + "dev": true, 447 + "license": "Apache-2.0", 448 + "dependencies": { 449 + "@eslint/core": "^0.17.0", 450 + "levn": "^0.4.1" 451 + }, 452 + "engines": { 453 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 454 + } 455 + }, 456 + "node_modules/@humanfs/core": { 457 + "version": "0.19.1", 458 + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", 459 + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", 460 + "dev": true, 461 + "license": "Apache-2.0", 462 + "engines": { 463 + "node": ">=18.18.0" 464 + } 465 + }, 466 + "node_modules/@humanfs/node": { 467 + "version": "0.16.7", 468 + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", 469 + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", 470 + "dev": true, 471 + "license": "Apache-2.0", 472 + "dependencies": { 473 + "@humanfs/core": "^0.19.1", 474 + "@humanwhocodes/retry": "^0.4.0" 475 + }, 476 + "engines": { 477 + "node": ">=18.18.0" 478 + } 479 + }, 480 + "node_modules/@humanwhocodes/module-importer": { 481 + "version": "1.0.1", 482 + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", 483 + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", 484 + "dev": true, 485 + "license": "Apache-2.0", 486 + "engines": { 487 + "node": ">=12.22" 488 + }, 489 + "funding": { 490 + "type": "github", 491 + "url": "https://github.com/sponsors/nzakas" 492 + } 493 + }, 494 + "node_modules/@humanwhocodes/retry": { 495 + "version": "0.4.3", 496 + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", 497 + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", 498 + "dev": true, 499 + "license": "Apache-2.0", 500 + "engines": { 501 + "node": ">=18.18" 502 + }, 503 + "funding": { 504 + "type": "github", 505 + "url": "https://github.com/sponsors/nzakas" 506 + } 507 + }, 508 + "node_modules/@img/colour": { 509 + "version": "1.0.0", 510 + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", 511 + "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", 512 + "license": "MIT", 513 + "optional": true, 514 + "engines": { 515 + "node": ">=18" 516 + } 517 + }, 518 + "node_modules/@img/sharp-darwin-arm64": { 519 + "version": "0.34.5", 520 + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", 521 + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", 522 + "cpu": [ 523 + "arm64" 524 + ], 525 + "license": "Apache-2.0", 526 + "optional": true, 527 + "os": [ 528 + "darwin" 529 + ], 530 + "engines": { 531 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 532 + }, 533 + "funding": { 534 + "url": "https://opencollective.com/libvips" 535 + }, 536 + "optionalDependencies": { 537 + "@img/sharp-libvips-darwin-arm64": "1.2.4" 538 + } 539 + }, 540 + "node_modules/@img/sharp-darwin-x64": { 541 + "version": "0.34.5", 542 + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", 543 + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", 544 + "cpu": [ 545 + "x64" 546 + ], 547 + "license": "Apache-2.0", 548 + "optional": true, 549 + "os": [ 550 + "darwin" 551 + ], 552 + "engines": { 553 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 554 + }, 555 + "funding": { 556 + "url": "https://opencollective.com/libvips" 557 + }, 558 + "optionalDependencies": { 559 + "@img/sharp-libvips-darwin-x64": "1.2.4" 560 + } 561 + }, 562 + "node_modules/@img/sharp-libvips-darwin-arm64": { 563 + "version": "1.2.4", 564 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", 565 + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", 566 + "cpu": [ 567 + "arm64" 568 + ], 569 + "license": "LGPL-3.0-or-later", 570 + "optional": true, 571 + "os": [ 572 + "darwin" 573 + ], 574 + "funding": { 575 + "url": "https://opencollective.com/libvips" 576 + } 577 + }, 578 + "node_modules/@img/sharp-libvips-darwin-x64": { 579 + "version": "1.2.4", 580 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", 581 + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", 582 + "cpu": [ 583 + "x64" 584 + ], 585 + "license": "LGPL-3.0-or-later", 586 + "optional": true, 587 + "os": [ 588 + "darwin" 589 + ], 590 + "funding": { 591 + "url": "https://opencollective.com/libvips" 592 + } 593 + }, 594 + "node_modules/@img/sharp-libvips-linux-arm": { 595 + "version": "1.2.4", 596 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", 597 + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", 598 + "cpu": [ 599 + "arm" 600 + ], 601 + "license": "LGPL-3.0-or-later", 602 + "optional": true, 603 + "os": [ 604 + "linux" 605 + ], 606 + "funding": { 607 + "url": "https://opencollective.com/libvips" 608 + } 609 + }, 610 + "node_modules/@img/sharp-libvips-linux-arm64": { 611 + "version": "1.2.4", 612 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", 613 + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", 614 + "cpu": [ 615 + "arm64" 616 + ], 617 + "license": "LGPL-3.0-or-later", 618 + "optional": true, 619 + "os": [ 620 + "linux" 621 + ], 622 + "funding": { 623 + "url": "https://opencollective.com/libvips" 624 + } 625 + }, 626 + "node_modules/@img/sharp-libvips-linux-ppc64": { 627 + "version": "1.2.4", 628 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", 629 + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", 630 + "cpu": [ 631 + "ppc64" 632 + ], 633 + "license": "LGPL-3.0-or-later", 634 + "optional": true, 635 + "os": [ 636 + "linux" 637 + ], 638 + "funding": { 639 + "url": "https://opencollective.com/libvips" 640 + } 641 + }, 642 + "node_modules/@img/sharp-libvips-linux-riscv64": { 643 + "version": "1.2.4", 644 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", 645 + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", 646 + "cpu": [ 647 + "riscv64" 648 + ], 649 + "license": "LGPL-3.0-or-later", 650 + "optional": true, 651 + "os": [ 652 + "linux" 653 + ], 654 + "funding": { 655 + "url": "https://opencollective.com/libvips" 656 + } 657 + }, 658 + "node_modules/@img/sharp-libvips-linux-s390x": { 659 + "version": "1.2.4", 660 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", 661 + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", 662 + "cpu": [ 663 + "s390x" 664 + ], 665 + "license": "LGPL-3.0-or-later", 666 + "optional": true, 667 + "os": [ 668 + "linux" 669 + ], 670 + "funding": { 671 + "url": "https://opencollective.com/libvips" 672 + } 673 + }, 674 + "node_modules/@img/sharp-libvips-linux-x64": { 675 + "version": "1.2.4", 676 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", 677 + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", 678 + "cpu": [ 679 + "x64" 680 + ], 681 + "license": "LGPL-3.0-or-later", 682 + "optional": true, 683 + "os": [ 684 + "linux" 685 + ], 686 + "funding": { 687 + "url": "https://opencollective.com/libvips" 688 + } 689 + }, 690 + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { 691 + "version": "1.2.4", 692 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", 693 + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", 694 + "cpu": [ 695 + "arm64" 696 + ], 697 + "license": "LGPL-3.0-or-later", 698 + "optional": true, 699 + "os": [ 700 + "linux" 701 + ], 702 + "funding": { 703 + "url": "https://opencollective.com/libvips" 704 + } 705 + }, 706 + "node_modules/@img/sharp-libvips-linuxmusl-x64": { 707 + "version": "1.2.4", 708 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", 709 + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", 710 + "cpu": [ 711 + "x64" 712 + ], 713 + "license": "LGPL-3.0-or-later", 714 + "optional": true, 715 + "os": [ 716 + "linux" 717 + ], 718 + "funding": { 719 + "url": "https://opencollective.com/libvips" 720 + } 721 + }, 722 + "node_modules/@img/sharp-linux-arm": { 723 + "version": "0.34.5", 724 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", 725 + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", 726 + "cpu": [ 727 + "arm" 728 + ], 729 + "license": "Apache-2.0", 730 + "optional": true, 731 + "os": [ 732 + "linux" 733 + ], 734 + "engines": { 735 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 736 + }, 737 + "funding": { 738 + "url": "https://opencollective.com/libvips" 739 + }, 740 + "optionalDependencies": { 741 + "@img/sharp-libvips-linux-arm": "1.2.4" 742 + } 743 + }, 744 + "node_modules/@img/sharp-linux-arm64": { 745 + "version": "0.34.5", 746 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", 747 + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", 748 + "cpu": [ 749 + "arm64" 750 + ], 751 + "license": "Apache-2.0", 752 + "optional": true, 753 + "os": [ 754 + "linux" 755 + ], 756 + "engines": { 757 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 758 + }, 759 + "funding": { 760 + "url": "https://opencollective.com/libvips" 761 + }, 762 + "optionalDependencies": { 763 + "@img/sharp-libvips-linux-arm64": "1.2.4" 764 + } 765 + }, 766 + "node_modules/@img/sharp-linux-ppc64": { 767 + "version": "0.34.5", 768 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", 769 + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", 770 + "cpu": [ 771 + "ppc64" 772 + ], 773 + "license": "Apache-2.0", 774 + "optional": true, 775 + "os": [ 776 + "linux" 777 + ], 778 + "engines": { 779 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 780 + }, 781 + "funding": { 782 + "url": "https://opencollective.com/libvips" 783 + }, 784 + "optionalDependencies": { 785 + "@img/sharp-libvips-linux-ppc64": "1.2.4" 786 + } 787 + }, 788 + "node_modules/@img/sharp-linux-riscv64": { 789 + "version": "0.34.5", 790 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", 791 + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", 792 + "cpu": [ 793 + "riscv64" 794 + ], 795 + "license": "Apache-2.0", 796 + "optional": true, 797 + "os": [ 798 + "linux" 799 + ], 800 + "engines": { 801 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 802 + }, 803 + "funding": { 804 + "url": "https://opencollective.com/libvips" 805 + }, 806 + "optionalDependencies": { 807 + "@img/sharp-libvips-linux-riscv64": "1.2.4" 808 + } 809 + }, 810 + "node_modules/@img/sharp-linux-s390x": { 811 + "version": "0.34.5", 812 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", 813 + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", 814 + "cpu": [ 815 + "s390x" 816 + ], 817 + "license": "Apache-2.0", 818 + "optional": true, 819 + "os": [ 820 + "linux" 821 + ], 822 + "engines": { 823 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 824 + }, 825 + "funding": { 826 + "url": "https://opencollective.com/libvips" 827 + }, 828 + "optionalDependencies": { 829 + "@img/sharp-libvips-linux-s390x": "1.2.4" 830 + } 831 + }, 832 + "node_modules/@img/sharp-linux-x64": { 833 + "version": "0.34.5", 834 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", 835 + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", 836 + "cpu": [ 837 + "x64" 838 + ], 839 + "license": "Apache-2.0", 840 + "optional": true, 841 + "os": [ 842 + "linux" 843 + ], 844 + "engines": { 845 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 846 + }, 847 + "funding": { 848 + "url": "https://opencollective.com/libvips" 849 + }, 850 + "optionalDependencies": { 851 + "@img/sharp-libvips-linux-x64": "1.2.4" 852 + } 853 + }, 854 + "node_modules/@img/sharp-linuxmusl-arm64": { 855 + "version": "0.34.5", 856 + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", 857 + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", 858 + "cpu": [ 859 + "arm64" 860 + ], 861 + "license": "Apache-2.0", 862 + "optional": true, 863 + "os": [ 864 + "linux" 865 + ], 866 + "engines": { 867 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 868 + }, 869 + "funding": { 870 + "url": "https://opencollective.com/libvips" 871 + }, 872 + "optionalDependencies": { 873 + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" 874 + } 875 + }, 876 + "node_modules/@img/sharp-linuxmusl-x64": { 877 + "version": "0.34.5", 878 + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", 879 + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", 880 + "cpu": [ 881 + "x64" 882 + ], 883 + "license": "Apache-2.0", 884 + "optional": true, 885 + "os": [ 886 + "linux" 887 + ], 888 + "engines": { 889 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 890 + }, 891 + "funding": { 892 + "url": "https://opencollective.com/libvips" 893 + }, 894 + "optionalDependencies": { 895 + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" 896 + } 897 + }, 898 + "node_modules/@img/sharp-wasm32": { 899 + "version": "0.34.5", 900 + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", 901 + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", 902 + "cpu": [ 903 + "wasm32" 904 + ], 905 + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", 906 + "optional": true, 907 + "dependencies": { 908 + "@emnapi/runtime": "^1.7.0" 909 + }, 910 + "engines": { 911 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 912 + }, 913 + "funding": { 914 + "url": "https://opencollective.com/libvips" 915 + } 916 + }, 917 + "node_modules/@img/sharp-win32-arm64": { 918 + "version": "0.34.5", 919 + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", 920 + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", 921 + "cpu": [ 922 + "arm64" 923 + ], 924 + "license": "Apache-2.0 AND LGPL-3.0-or-later", 925 + "optional": true, 926 + "os": [ 927 + "win32" 928 + ], 929 + "engines": { 930 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 931 + }, 932 + "funding": { 933 + "url": "https://opencollective.com/libvips" 934 + } 935 + }, 936 + "node_modules/@img/sharp-win32-ia32": { 937 + "version": "0.34.5", 938 + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", 939 + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", 940 + "cpu": [ 941 + "ia32" 942 + ], 943 + "license": "Apache-2.0 AND LGPL-3.0-or-later", 944 + "optional": true, 945 + "os": [ 946 + "win32" 947 + ], 948 + "engines": { 949 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 950 + }, 951 + "funding": { 952 + "url": "https://opencollective.com/libvips" 953 + } 954 + }, 955 + "node_modules/@img/sharp-win32-x64": { 956 + "version": "0.34.5", 957 + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", 958 + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", 959 + "cpu": [ 960 + "x64" 961 + ], 962 + "license": "Apache-2.0 AND LGPL-3.0-or-later", 963 + "optional": true, 964 + "os": [ 965 + "win32" 966 + ], 967 + "engines": { 968 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 969 + }, 970 + "funding": { 971 + "url": "https://opencollective.com/libvips" 972 + } 973 + }, 974 + "node_modules/@jridgewell/gen-mapping": { 975 + "version": "0.3.13", 976 + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", 977 + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", 978 + "dev": true, 979 + "license": "MIT", 980 + "dependencies": { 981 + "@jridgewell/sourcemap-codec": "^1.5.0", 982 + "@jridgewell/trace-mapping": "^0.3.24" 983 + } 984 + }, 985 + "node_modules/@jridgewell/remapping": { 986 + "version": "2.3.5", 987 + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", 988 + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", 989 + "dev": true, 990 + "license": "MIT", 991 + "dependencies": { 992 + "@jridgewell/gen-mapping": "^0.3.5", 993 + "@jridgewell/trace-mapping": "^0.3.24" 994 + } 995 + }, 996 + "node_modules/@jridgewell/resolve-uri": { 997 + "version": "3.1.2", 998 + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 999 + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 1000 + "dev": true, 1001 + "license": "MIT", 1002 + "engines": { 1003 + "node": ">=6.0.0" 1004 + } 1005 + }, 1006 + "node_modules/@jridgewell/sourcemap-codec": { 1007 + "version": "1.5.5", 1008 + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", 1009 + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", 1010 + "dev": true, 1011 + "license": "MIT" 1012 + }, 1013 + "node_modules/@jridgewell/trace-mapping": { 1014 + "version": "0.3.31", 1015 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", 1016 + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", 1017 + "dev": true, 1018 + "license": "MIT", 1019 + "dependencies": { 1020 + "@jridgewell/resolve-uri": "^3.1.0", 1021 + "@jridgewell/sourcemap-codec": "^1.4.14" 1022 + } 1023 + }, 1024 + "node_modules/@napi-rs/wasm-runtime": { 1025 + "version": "0.2.12", 1026 + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", 1027 + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", 1028 + "dev": true, 1029 + "license": "MIT", 1030 + "optional": true, 1031 + "dependencies": { 1032 + "@emnapi/core": "^1.4.3", 1033 + "@emnapi/runtime": "^1.4.3", 1034 + "@tybys/wasm-util": "^0.10.0" 1035 + } 1036 + }, 1037 + "node_modules/@next/env": { 1038 + "version": "16.1.1", 1039 + "resolved": "https://registry.npmjs.org/@next/env/-/env-16.1.1.tgz", 1040 + "integrity": "sha512-3oxyM97Sr2PqiVyMyrZUtrtM3jqqFxOQJVuKclDsgj/L728iZt/GyslkN4NwarledZATCenbk4Offjk1hQmaAA==", 1041 + "license": "MIT" 1042 + }, 1043 + "node_modules/@next/eslint-plugin-next": { 1044 + "version": "16.1.1", 1045 + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-16.1.1.tgz", 1046 + "integrity": "sha512-Ovb/6TuLKbE1UiPcg0p39Ke3puyTCIKN9hGbNItmpQsp+WX3qrjO3WaMVSi6JHr9X1NrmthqIguVHodMJbh/dw==", 1047 + "dev": true, 1048 + "license": "MIT", 1049 + "dependencies": { 1050 + "fast-glob": "3.3.1" 1051 + } 1052 + }, 1053 + "node_modules/@next/swc-darwin-arm64": { 1054 + "version": "16.1.1", 1055 + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.1.1.tgz", 1056 + "integrity": "sha512-JS3m42ifsVSJjSTzh27nW+Igfha3NdBOFScr9C80hHGrWx55pTrVL23RJbqir7k7/15SKlrLHhh/MQzqBBYrQA==", 1057 + "cpu": [ 1058 + "arm64" 1059 + ], 1060 + "license": "MIT", 1061 + "optional": true, 1062 + "os": [ 1063 + "darwin" 1064 + ], 1065 + "engines": { 1066 + "node": ">= 10" 1067 + } 1068 + }, 1069 + "node_modules/@next/swc-darwin-x64": { 1070 + "version": "16.1.1", 1071 + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.1.1.tgz", 1072 + "integrity": "sha512-hbyKtrDGUkgkyQi1m1IyD3q4I/3m9ngr+V93z4oKHrPcmxwNL5iMWORvLSGAf2YujL+6HxgVvZuCYZfLfb4bGw==", 1073 + "cpu": [ 1074 + "x64" 1075 + ], 1076 + "license": "MIT", 1077 + "optional": true, 1078 + "os": [ 1079 + "darwin" 1080 + ], 1081 + "engines": { 1082 + "node": ">= 10" 1083 + } 1084 + }, 1085 + "node_modules/@next/swc-linux-arm64-gnu": { 1086 + "version": "16.1.1", 1087 + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.1.1.tgz", 1088 + "integrity": "sha512-/fvHet+EYckFvRLQ0jPHJCUI5/B56+2DpI1xDSvi80r/3Ez+Eaa2Yq4tJcRTaB1kqj/HrYKn8Yplm9bNoMJpwQ==", 1089 + "cpu": [ 1090 + "arm64" 1091 + ], 1092 + "license": "MIT", 1093 + "optional": true, 1094 + "os": [ 1095 + "linux" 1096 + ], 1097 + "engines": { 1098 + "node": ">= 10" 1099 + } 1100 + }, 1101 + "node_modules/@next/swc-linux-arm64-musl": { 1102 + "version": "16.1.1", 1103 + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.1.1.tgz", 1104 + "integrity": "sha512-MFHrgL4TXNQbBPzkKKur4Fb5ICEJa87HM7fczFs2+HWblM7mMLdco3dvyTI+QmLBU9xgns/EeeINSZD6Ar+oLg==", 1105 + "cpu": [ 1106 + "arm64" 1107 + ], 1108 + "license": "MIT", 1109 + "optional": true, 1110 + "os": [ 1111 + "linux" 1112 + ], 1113 + "engines": { 1114 + "node": ">= 10" 1115 + } 1116 + }, 1117 + "node_modules/@next/swc-linux-x64-gnu": { 1118 + "version": "16.1.1", 1119 + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.1.1.tgz", 1120 + "integrity": "sha512-20bYDfgOQAPUkkKBnyP9PTuHiJGM7HzNBbuqmD0jiFVZ0aOldz+VnJhbxzjcSabYsnNjMPsE0cyzEudpYxsrUQ==", 1121 + "cpu": [ 1122 + "x64" 1123 + ], 1124 + "license": "MIT", 1125 + "optional": true, 1126 + "os": [ 1127 + "linux" 1128 + ], 1129 + "engines": { 1130 + "node": ">= 10" 1131 + } 1132 + }, 1133 + "node_modules/@next/swc-linux-x64-musl": { 1134 + "version": "16.1.1", 1135 + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.1.1.tgz", 1136 + "integrity": "sha512-9pRbK3M4asAHQRkwaXwu601oPZHghuSC8IXNENgbBSyImHv/zY4K5udBusgdHkvJ/Tcr96jJwQYOll0qU8+fPA==", 1137 + "cpu": [ 1138 + "x64" 1139 + ], 1140 + "license": "MIT", 1141 + "optional": true, 1142 + "os": [ 1143 + "linux" 1144 + ], 1145 + "engines": { 1146 + "node": ">= 10" 1147 + } 1148 + }, 1149 + "node_modules/@next/swc-win32-arm64-msvc": { 1150 + "version": "16.1.1", 1151 + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.1.1.tgz", 1152 + "integrity": "sha512-bdfQkggaLgnmYrFkSQfsHfOhk/mCYmjnrbRCGgkMcoOBZ4n+TRRSLmT/CU5SATzlBJ9TpioUyBW/vWFXTqQRiA==", 1153 + "cpu": [ 1154 + "arm64" 1155 + ], 1156 + "license": "MIT", 1157 + "optional": true, 1158 + "os": [ 1159 + "win32" 1160 + ], 1161 + "engines": { 1162 + "node": ">= 10" 1163 + } 1164 + }, 1165 + "node_modules/@next/swc-win32-x64-msvc": { 1166 + "version": "16.1.1", 1167 + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.1.1.tgz", 1168 + "integrity": "sha512-Ncwbw2WJ57Al5OX0k4chM68DKhEPlrXBaSXDCi2kPi5f4d8b3ejr3RRJGfKBLrn2YJL5ezNS7w2TZLHSti8CMw==", 1169 + "cpu": [ 1170 + "x64" 1171 + ], 1172 + "license": "MIT", 1173 + "optional": true, 1174 + "os": [ 1175 + "win32" 1176 + ], 1177 + "engines": { 1178 + "node": ">= 10" 1179 + } 1180 + }, 1181 + "node_modules/@nodelib/fs.scandir": { 1182 + "version": "2.1.5", 1183 + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 1184 + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 1185 + "dev": true, 1186 + "license": "MIT", 1187 + "dependencies": { 1188 + "@nodelib/fs.stat": "2.0.5", 1189 + "run-parallel": "^1.1.9" 1190 + }, 1191 + "engines": { 1192 + "node": ">= 8" 1193 + } 1194 + }, 1195 + "node_modules/@nodelib/fs.stat": { 1196 + "version": "2.0.5", 1197 + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 1198 + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 1199 + "dev": true, 1200 + "license": "MIT", 1201 + "engines": { 1202 + "node": ">= 8" 1203 + } 1204 + }, 1205 + "node_modules/@nodelib/fs.walk": { 1206 + "version": "1.2.8", 1207 + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 1208 + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 1209 + "dev": true, 1210 + "license": "MIT", 1211 + "dependencies": { 1212 + "@nodelib/fs.scandir": "2.1.5", 1213 + "fastq": "^1.6.0" 1214 + }, 1215 + "engines": { 1216 + "node": ">= 8" 1217 + } 1218 + }, 1219 + "node_modules/@nolyfill/is-core-module": { 1220 + "version": "1.0.39", 1221 + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", 1222 + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", 1223 + "dev": true, 1224 + "license": "MIT", 1225 + "engines": { 1226 + "node": ">=12.4.0" 1227 + } 1228 + }, 1229 + "node_modules/@rtsao/scc": { 1230 + "version": "1.1.0", 1231 + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", 1232 + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", 1233 + "dev": true, 1234 + "license": "MIT" 1235 + }, 1236 + "node_modules/@swc/helpers": { 1237 + "version": "0.5.15", 1238 + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", 1239 + "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", 1240 + "license": "Apache-2.0", 1241 + "dependencies": { 1242 + "tslib": "^2.8.0" 1243 + } 1244 + }, 1245 + "node_modules/@tailwindcss/node": { 1246 + "version": "4.1.18", 1247 + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.18.tgz", 1248 + "integrity": "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==", 1249 + "dev": true, 1250 + "license": "MIT", 1251 + "dependencies": { 1252 + "@jridgewell/remapping": "^2.3.4", 1253 + "enhanced-resolve": "^5.18.3", 1254 + "jiti": "^2.6.1", 1255 + "lightningcss": "1.30.2", 1256 + "magic-string": "^0.30.21", 1257 + "source-map-js": "^1.2.1", 1258 + "tailwindcss": "4.1.18" 1259 + } 1260 + }, 1261 + "node_modules/@tailwindcss/oxide": { 1262 + "version": "4.1.18", 1263 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.18.tgz", 1264 + "integrity": "sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==", 1265 + "dev": true, 1266 + "license": "MIT", 1267 + "engines": { 1268 + "node": ">= 10" 1269 + }, 1270 + "optionalDependencies": { 1271 + "@tailwindcss/oxide-android-arm64": "4.1.18", 1272 + "@tailwindcss/oxide-darwin-arm64": "4.1.18", 1273 + "@tailwindcss/oxide-darwin-x64": "4.1.18", 1274 + "@tailwindcss/oxide-freebsd-x64": "4.1.18", 1275 + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18", 1276 + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18", 1277 + "@tailwindcss/oxide-linux-arm64-musl": "4.1.18", 1278 + "@tailwindcss/oxide-linux-x64-gnu": "4.1.18", 1279 + "@tailwindcss/oxide-linux-x64-musl": "4.1.18", 1280 + "@tailwindcss/oxide-wasm32-wasi": "4.1.18", 1281 + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18", 1282 + "@tailwindcss/oxide-win32-x64-msvc": "4.1.18" 1283 + } 1284 + }, 1285 + "node_modules/@tailwindcss/oxide-android-arm64": { 1286 + "version": "4.1.18", 1287 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.18.tgz", 1288 + "integrity": "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==", 1289 + "cpu": [ 1290 + "arm64" 1291 + ], 1292 + "dev": true, 1293 + "license": "MIT", 1294 + "optional": true, 1295 + "os": [ 1296 + "android" 1297 + ], 1298 + "engines": { 1299 + "node": ">= 10" 1300 + } 1301 + }, 1302 + "node_modules/@tailwindcss/oxide-darwin-arm64": { 1303 + "version": "4.1.18", 1304 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.18.tgz", 1305 + "integrity": "sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==", 1306 + "cpu": [ 1307 + "arm64" 1308 + ], 1309 + "dev": true, 1310 + "license": "MIT", 1311 + "optional": true, 1312 + "os": [ 1313 + "darwin" 1314 + ], 1315 + "engines": { 1316 + "node": ">= 10" 1317 + } 1318 + }, 1319 + "node_modules/@tailwindcss/oxide-darwin-x64": { 1320 + "version": "4.1.18", 1321 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.18.tgz", 1322 + "integrity": "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==", 1323 + "cpu": [ 1324 + "x64" 1325 + ], 1326 + "dev": true, 1327 + "license": "MIT", 1328 + "optional": true, 1329 + "os": [ 1330 + "darwin" 1331 + ], 1332 + "engines": { 1333 + "node": ">= 10" 1334 + } 1335 + }, 1336 + "node_modules/@tailwindcss/oxide-freebsd-x64": { 1337 + "version": "4.1.18", 1338 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.18.tgz", 1339 + "integrity": "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==", 1340 + "cpu": [ 1341 + "x64" 1342 + ], 1343 + "dev": true, 1344 + "license": "MIT", 1345 + "optional": true, 1346 + "os": [ 1347 + "freebsd" 1348 + ], 1349 + "engines": { 1350 + "node": ">= 10" 1351 + } 1352 + }, 1353 + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { 1354 + "version": "4.1.18", 1355 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.18.tgz", 1356 + "integrity": "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==", 1357 + "cpu": [ 1358 + "arm" 1359 + ], 1360 + "dev": true, 1361 + "license": "MIT", 1362 + "optional": true, 1363 + "os": [ 1364 + "linux" 1365 + ], 1366 + "engines": { 1367 + "node": ">= 10" 1368 + } 1369 + }, 1370 + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { 1371 + "version": "4.1.18", 1372 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.18.tgz", 1373 + "integrity": "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==", 1374 + "cpu": [ 1375 + "arm64" 1376 + ], 1377 + "dev": true, 1378 + "license": "MIT", 1379 + "optional": true, 1380 + "os": [ 1381 + "linux" 1382 + ], 1383 + "engines": { 1384 + "node": ">= 10" 1385 + } 1386 + }, 1387 + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { 1388 + "version": "4.1.18", 1389 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.18.tgz", 1390 + "integrity": "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==", 1391 + "cpu": [ 1392 + "arm64" 1393 + ], 1394 + "dev": true, 1395 + "license": "MIT", 1396 + "optional": true, 1397 + "os": [ 1398 + "linux" 1399 + ], 1400 + "engines": { 1401 + "node": ">= 10" 1402 + } 1403 + }, 1404 + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { 1405 + "version": "4.1.18", 1406 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.18.tgz", 1407 + "integrity": "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==", 1408 + "cpu": [ 1409 + "x64" 1410 + ], 1411 + "dev": true, 1412 + "license": "MIT", 1413 + "optional": true, 1414 + "os": [ 1415 + "linux" 1416 + ], 1417 + "engines": { 1418 + "node": ">= 10" 1419 + } 1420 + }, 1421 + "node_modules/@tailwindcss/oxide-linux-x64-musl": { 1422 + "version": "4.1.18", 1423 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.18.tgz", 1424 + "integrity": "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==", 1425 + "cpu": [ 1426 + "x64" 1427 + ], 1428 + "dev": true, 1429 + "license": "MIT", 1430 + "optional": true, 1431 + "os": [ 1432 + "linux" 1433 + ], 1434 + "engines": { 1435 + "node": ">= 10" 1436 + } 1437 + }, 1438 + "node_modules/@tailwindcss/oxide-wasm32-wasi": { 1439 + "version": "4.1.18", 1440 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.18.tgz", 1441 + "integrity": "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==", 1442 + "bundleDependencies": [ 1443 + "@napi-rs/wasm-runtime", 1444 + "@emnapi/core", 1445 + "@emnapi/runtime", 1446 + "@tybys/wasm-util", 1447 + "@emnapi/wasi-threads", 1448 + "tslib" 1449 + ], 1450 + "cpu": [ 1451 + "wasm32" 1452 + ], 1453 + "dev": true, 1454 + "license": "MIT", 1455 + "optional": true, 1456 + "dependencies": { 1457 + "@emnapi/core": "^1.7.1", 1458 + "@emnapi/runtime": "^1.7.1", 1459 + "@emnapi/wasi-threads": "^1.1.0", 1460 + "@napi-rs/wasm-runtime": "^1.1.0", 1461 + "@tybys/wasm-util": "^0.10.1", 1462 + "tslib": "^2.4.0" 1463 + }, 1464 + "engines": { 1465 + "node": ">=14.0.0" 1466 + } 1467 + }, 1468 + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { 1469 + "version": "4.1.18", 1470 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.18.tgz", 1471 + "integrity": "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==", 1472 + "cpu": [ 1473 + "arm64" 1474 + ], 1475 + "dev": true, 1476 + "license": "MIT", 1477 + "optional": true, 1478 + "os": [ 1479 + "win32" 1480 + ], 1481 + "engines": { 1482 + "node": ">= 10" 1483 + } 1484 + }, 1485 + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { 1486 + "version": "4.1.18", 1487 + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.18.tgz", 1488 + "integrity": "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==", 1489 + "cpu": [ 1490 + "x64" 1491 + ], 1492 + "dev": true, 1493 + "license": "MIT", 1494 + "optional": true, 1495 + "os": [ 1496 + "win32" 1497 + ], 1498 + "engines": { 1499 + "node": ">= 10" 1500 + } 1501 + }, 1502 + "node_modules/@tailwindcss/postcss": { 1503 + "version": "4.1.18", 1504 + "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.1.18.tgz", 1505 + "integrity": "sha512-Ce0GFnzAOuPyfV5SxjXGn0CubwGcuDB0zcdaPuCSzAa/2vII24JTkH+I6jcbXLb1ctjZMZZI6OjDaLPJQL1S0g==", 1506 + "dev": true, 1507 + "license": "MIT", 1508 + "dependencies": { 1509 + "@alloc/quick-lru": "^5.2.0", 1510 + "@tailwindcss/node": "4.1.18", 1511 + "@tailwindcss/oxide": "4.1.18", 1512 + "postcss": "^8.4.41", 1513 + "tailwindcss": "4.1.18" 1514 + } 1515 + }, 1516 + "node_modules/@tybys/wasm-util": { 1517 + "version": "0.10.1", 1518 + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", 1519 + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", 1520 + "dev": true, 1521 + "license": "MIT", 1522 + "optional": true, 1523 + "dependencies": { 1524 + "tslib": "^2.4.0" 1525 + } 1526 + }, 1527 + "node_modules/@types/estree": { 1528 + "version": "1.0.8", 1529 + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", 1530 + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", 1531 + "dev": true, 1532 + "license": "MIT" 1533 + }, 1534 + "node_modules/@types/json-schema": { 1535 + "version": "7.0.15", 1536 + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", 1537 + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", 1538 + "dev": true, 1539 + "license": "MIT" 1540 + }, 1541 + "node_modules/@types/json5": { 1542 + "version": "0.0.29", 1543 + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", 1544 + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", 1545 + "dev": true, 1546 + "license": "MIT" 1547 + }, 1548 + "node_modules/@types/node": { 1549 + "version": "20.19.27", 1550 + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.27.tgz", 1551 + "integrity": "sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug==", 1552 + "dev": true, 1553 + "license": "MIT", 1554 + "dependencies": { 1555 + "undici-types": "~6.21.0" 1556 + } 1557 + }, 1558 + "node_modules/@types/react": { 1559 + "version": "19.2.7", 1560 + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz", 1561 + "integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==", 1562 + "dev": true, 1563 + "license": "MIT", 1564 + "dependencies": { 1565 + "csstype": "^3.2.2" 1566 + } 1567 + }, 1568 + "node_modules/@types/react-dom": { 1569 + "version": "19.2.3", 1570 + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", 1571 + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", 1572 + "dev": true, 1573 + "license": "MIT", 1574 + "peerDependencies": { 1575 + "@types/react": "^19.2.0" 1576 + } 1577 + }, 1578 + "node_modules/@typescript-eslint/eslint-plugin": { 1579 + "version": "8.52.0", 1580 + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.52.0.tgz", 1581 + "integrity": "sha512-okqtOgqu2qmZJ5iN4TWlgfF171dZmx2FzdOv2K/ixL2LZWDStL8+JgQerI2sa8eAEfoydG9+0V96m7V+P8yE1Q==", 1582 + "dev": true, 1583 + "license": "MIT", 1584 + "dependencies": { 1585 + "@eslint-community/regexpp": "^4.12.2", 1586 + "@typescript-eslint/scope-manager": "8.52.0", 1587 + "@typescript-eslint/type-utils": "8.52.0", 1588 + "@typescript-eslint/utils": "8.52.0", 1589 + "@typescript-eslint/visitor-keys": "8.52.0", 1590 + "ignore": "^7.0.5", 1591 + "natural-compare": "^1.4.0", 1592 + "ts-api-utils": "^2.4.0" 1593 + }, 1594 + "engines": { 1595 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1596 + }, 1597 + "funding": { 1598 + "type": "opencollective", 1599 + "url": "https://opencollective.com/typescript-eslint" 1600 + }, 1601 + "peerDependencies": { 1602 + "@typescript-eslint/parser": "^8.52.0", 1603 + "eslint": "^8.57.0 || ^9.0.0", 1604 + "typescript": ">=4.8.4 <6.0.0" 1605 + } 1606 + }, 1607 + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { 1608 + "version": "7.0.5", 1609 + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", 1610 + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", 1611 + "dev": true, 1612 + "license": "MIT", 1613 + "engines": { 1614 + "node": ">= 4" 1615 + } 1616 + }, 1617 + "node_modules/@typescript-eslint/parser": { 1618 + "version": "8.52.0", 1619 + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.52.0.tgz", 1620 + "integrity": "sha512-iIACsx8pxRnguSYhHiMn2PvhvfpopO9FXHyn1mG5txZIsAaB6F0KwbFnUQN3KCiG3Jcuad/Cao2FAs1Wp7vAyg==", 1621 + "dev": true, 1622 + "license": "MIT", 1623 + "dependencies": { 1624 + "@typescript-eslint/scope-manager": "8.52.0", 1625 + "@typescript-eslint/types": "8.52.0", 1626 + "@typescript-eslint/typescript-estree": "8.52.0", 1627 + "@typescript-eslint/visitor-keys": "8.52.0", 1628 + "debug": "^4.4.3" 1629 + }, 1630 + "engines": { 1631 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1632 + }, 1633 + "funding": { 1634 + "type": "opencollective", 1635 + "url": "https://opencollective.com/typescript-eslint" 1636 + }, 1637 + "peerDependencies": { 1638 + "eslint": "^8.57.0 || ^9.0.0", 1639 + "typescript": ">=4.8.4 <6.0.0" 1640 + } 1641 + }, 1642 + "node_modules/@typescript-eslint/project-service": { 1643 + "version": "8.52.0", 1644 + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.52.0.tgz", 1645 + "integrity": "sha512-xD0MfdSdEmeFa3OmVqonHi+Cciab96ls1UhIF/qX/O/gPu5KXD0bY9lu33jj04fjzrXHcuvjBcBC+D3SNSadaw==", 1646 + "dev": true, 1647 + "license": "MIT", 1648 + "dependencies": { 1649 + "@typescript-eslint/tsconfig-utils": "^8.52.0", 1650 + "@typescript-eslint/types": "^8.52.0", 1651 + "debug": "^4.4.3" 1652 + }, 1653 + "engines": { 1654 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1655 + }, 1656 + "funding": { 1657 + "type": "opencollective", 1658 + "url": "https://opencollective.com/typescript-eslint" 1659 + }, 1660 + "peerDependencies": { 1661 + "typescript": ">=4.8.4 <6.0.0" 1662 + } 1663 + }, 1664 + "node_modules/@typescript-eslint/scope-manager": { 1665 + "version": "8.52.0", 1666 + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.52.0.tgz", 1667 + "integrity": "sha512-ixxqmmCcc1Nf8S0mS0TkJ/3LKcC8mruYJPOU6Ia2F/zUUR4pApW7LzrpU3JmtePbRUTes9bEqRc1Gg4iyRnDzA==", 1668 + "dev": true, 1669 + "license": "MIT", 1670 + "dependencies": { 1671 + "@typescript-eslint/types": "8.52.0", 1672 + "@typescript-eslint/visitor-keys": "8.52.0" 1673 + }, 1674 + "engines": { 1675 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1676 + }, 1677 + "funding": { 1678 + "type": "opencollective", 1679 + "url": "https://opencollective.com/typescript-eslint" 1680 + } 1681 + }, 1682 + "node_modules/@typescript-eslint/tsconfig-utils": { 1683 + "version": "8.52.0", 1684 + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.52.0.tgz", 1685 + "integrity": "sha512-jl+8fzr/SdzdxWJznq5nvoI7qn2tNYV/ZBAEcaFMVXf+K6jmXvAFrgo/+5rxgnL152f//pDEAYAhhBAZGrVfwg==", 1686 + "dev": true, 1687 + "license": "MIT", 1688 + "engines": { 1689 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1690 + }, 1691 + "funding": { 1692 + "type": "opencollective", 1693 + "url": "https://opencollective.com/typescript-eslint" 1694 + }, 1695 + "peerDependencies": { 1696 + "typescript": ">=4.8.4 <6.0.0" 1697 + } 1698 + }, 1699 + "node_modules/@typescript-eslint/type-utils": { 1700 + "version": "8.52.0", 1701 + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.52.0.tgz", 1702 + "integrity": "sha512-JD3wKBRWglYRQkAtsyGz1AewDu3mTc7NtRjR/ceTyGoPqmdS5oCdx/oZMWD5Zuqmo6/MpsYs0wp6axNt88/2EQ==", 1703 + "dev": true, 1704 + "license": "MIT", 1705 + "dependencies": { 1706 + "@typescript-eslint/types": "8.52.0", 1707 + "@typescript-eslint/typescript-estree": "8.52.0", 1708 + "@typescript-eslint/utils": "8.52.0", 1709 + "debug": "^4.4.3", 1710 + "ts-api-utils": "^2.4.0" 1711 + }, 1712 + "engines": { 1713 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1714 + }, 1715 + "funding": { 1716 + "type": "opencollective", 1717 + "url": "https://opencollective.com/typescript-eslint" 1718 + }, 1719 + "peerDependencies": { 1720 + "eslint": "^8.57.0 || ^9.0.0", 1721 + "typescript": ">=4.8.4 <6.0.0" 1722 + } 1723 + }, 1724 + "node_modules/@typescript-eslint/types": { 1725 + "version": "8.52.0", 1726 + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.52.0.tgz", 1727 + "integrity": "sha512-LWQV1V4q9V4cT4H5JCIx3481iIFxH1UkVk+ZkGGAV1ZGcjGI9IoFOfg3O6ywz8QqCDEp7Inlg6kovMofsNRaGg==", 1728 + "dev": true, 1729 + "license": "MIT", 1730 + "engines": { 1731 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1732 + }, 1733 + "funding": { 1734 + "type": "opencollective", 1735 + "url": "https://opencollective.com/typescript-eslint" 1736 + } 1737 + }, 1738 + "node_modules/@typescript-eslint/typescript-estree": { 1739 + "version": "8.52.0", 1740 + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.52.0.tgz", 1741 + "integrity": "sha512-XP3LClsCc0FsTK5/frGjolyADTh3QmsLp6nKd476xNI9CsSsLnmn4f0jrzNoAulmxlmNIpeXuHYeEQv61Q6qeQ==", 1742 + "dev": true, 1743 + "license": "MIT", 1744 + "dependencies": { 1745 + "@typescript-eslint/project-service": "8.52.0", 1746 + "@typescript-eslint/tsconfig-utils": "8.52.0", 1747 + "@typescript-eslint/types": "8.52.0", 1748 + "@typescript-eslint/visitor-keys": "8.52.0", 1749 + "debug": "^4.4.3", 1750 + "minimatch": "^9.0.5", 1751 + "semver": "^7.7.3", 1752 + "tinyglobby": "^0.2.15", 1753 + "ts-api-utils": "^2.4.0" 1754 + }, 1755 + "engines": { 1756 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1757 + }, 1758 + "funding": { 1759 + "type": "opencollective", 1760 + "url": "https://opencollective.com/typescript-eslint" 1761 + }, 1762 + "peerDependencies": { 1763 + "typescript": ">=4.8.4 <6.0.0" 1764 + } 1765 + }, 1766 + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { 1767 + "version": "2.0.2", 1768 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", 1769 + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", 1770 + "dev": true, 1771 + "license": "MIT", 1772 + "dependencies": { 1773 + "balanced-match": "^1.0.0" 1774 + } 1775 + }, 1776 + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { 1777 + "version": "9.0.5", 1778 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 1779 + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 1780 + "dev": true, 1781 + "license": "ISC", 1782 + "dependencies": { 1783 + "brace-expansion": "^2.0.1" 1784 + }, 1785 + "engines": { 1786 + "node": ">=16 || 14 >=14.17" 1787 + }, 1788 + "funding": { 1789 + "url": "https://github.com/sponsors/isaacs" 1790 + } 1791 + }, 1792 + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { 1793 + "version": "7.7.3", 1794 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", 1795 + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", 1796 + "dev": true, 1797 + "license": "ISC", 1798 + "bin": { 1799 + "semver": "bin/semver.js" 1800 + }, 1801 + "engines": { 1802 + "node": ">=10" 1803 + } 1804 + }, 1805 + "node_modules/@typescript-eslint/utils": { 1806 + "version": "8.52.0", 1807 + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.52.0.tgz", 1808 + "integrity": "sha512-wYndVMWkweqHpEpwPhwqE2lnD2DxC6WVLupU/DOt/0/v+/+iQbbzO3jOHjmBMnhu0DgLULvOaU4h4pwHYi2oRQ==", 1809 + "dev": true, 1810 + "license": "MIT", 1811 + "dependencies": { 1812 + "@eslint-community/eslint-utils": "^4.9.1", 1813 + "@typescript-eslint/scope-manager": "8.52.0", 1814 + "@typescript-eslint/types": "8.52.0", 1815 + "@typescript-eslint/typescript-estree": "8.52.0" 1816 + }, 1817 + "engines": { 1818 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1819 + }, 1820 + "funding": { 1821 + "type": "opencollective", 1822 + "url": "https://opencollective.com/typescript-eslint" 1823 + }, 1824 + "peerDependencies": { 1825 + "eslint": "^8.57.0 || ^9.0.0", 1826 + "typescript": ">=4.8.4 <6.0.0" 1827 + } 1828 + }, 1829 + "node_modules/@typescript-eslint/visitor-keys": { 1830 + "version": "8.52.0", 1831 + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.52.0.tgz", 1832 + "integrity": "sha512-ink3/Zofus34nmBsPjow63FP5M7IGff0RKAgqR6+CFpdk22M7aLwC9gOcLGYqr7MczLPzZVERW9hRog3O4n1sQ==", 1833 + "dev": true, 1834 + "license": "MIT", 1835 + "dependencies": { 1836 + "@typescript-eslint/types": "8.52.0", 1837 + "eslint-visitor-keys": "^4.2.1" 1838 + }, 1839 + "engines": { 1840 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 1841 + }, 1842 + "funding": { 1843 + "type": "opencollective", 1844 + "url": "https://opencollective.com/typescript-eslint" 1845 + } 1846 + }, 1847 + "node_modules/@unrs/resolver-binding-android-arm-eabi": { 1848 + "version": "1.11.1", 1849 + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", 1850 + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", 1851 + "cpu": [ 1852 + "arm" 1853 + ], 1854 + "dev": true, 1855 + "license": "MIT", 1856 + "optional": true, 1857 + "os": [ 1858 + "android" 1859 + ] 1860 + }, 1861 + "node_modules/@unrs/resolver-binding-android-arm64": { 1862 + "version": "1.11.1", 1863 + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", 1864 + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", 1865 + "cpu": [ 1866 + "arm64" 1867 + ], 1868 + "dev": true, 1869 + "license": "MIT", 1870 + "optional": true, 1871 + "os": [ 1872 + "android" 1873 + ] 1874 + }, 1875 + "node_modules/@unrs/resolver-binding-darwin-arm64": { 1876 + "version": "1.11.1", 1877 + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", 1878 + "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", 1879 + "cpu": [ 1880 + "arm64" 1881 + ], 1882 + "dev": true, 1883 + "license": "MIT", 1884 + "optional": true, 1885 + "os": [ 1886 + "darwin" 1887 + ] 1888 + }, 1889 + "node_modules/@unrs/resolver-binding-darwin-x64": { 1890 + "version": "1.11.1", 1891 + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", 1892 + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", 1893 + "cpu": [ 1894 + "x64" 1895 + ], 1896 + "dev": true, 1897 + "license": "MIT", 1898 + "optional": true, 1899 + "os": [ 1900 + "darwin" 1901 + ] 1902 + }, 1903 + "node_modules/@unrs/resolver-binding-freebsd-x64": { 1904 + "version": "1.11.1", 1905 + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", 1906 + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", 1907 + "cpu": [ 1908 + "x64" 1909 + ], 1910 + "dev": true, 1911 + "license": "MIT", 1912 + "optional": true, 1913 + "os": [ 1914 + "freebsd" 1915 + ] 1916 + }, 1917 + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { 1918 + "version": "1.11.1", 1919 + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", 1920 + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", 1921 + "cpu": [ 1922 + "arm" 1923 + ], 1924 + "dev": true, 1925 + "license": "MIT", 1926 + "optional": true, 1927 + "os": [ 1928 + "linux" 1929 + ] 1930 + }, 1931 + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { 1932 + "version": "1.11.1", 1933 + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", 1934 + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", 1935 + "cpu": [ 1936 + "arm" 1937 + ], 1938 + "dev": true, 1939 + "license": "MIT", 1940 + "optional": true, 1941 + "os": [ 1942 + "linux" 1943 + ] 1944 + }, 1945 + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { 1946 + "version": "1.11.1", 1947 + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", 1948 + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", 1949 + "cpu": [ 1950 + "arm64" 1951 + ], 1952 + "dev": true, 1953 + "license": "MIT", 1954 + "optional": true, 1955 + "os": [ 1956 + "linux" 1957 + ] 1958 + }, 1959 + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { 1960 + "version": "1.11.1", 1961 + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", 1962 + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", 1963 + "cpu": [ 1964 + "arm64" 1965 + ], 1966 + "dev": true, 1967 + "license": "MIT", 1968 + "optional": true, 1969 + "os": [ 1970 + "linux" 1971 + ] 1972 + }, 1973 + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { 1974 + "version": "1.11.1", 1975 + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", 1976 + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", 1977 + "cpu": [ 1978 + "ppc64" 1979 + ], 1980 + "dev": true, 1981 + "license": "MIT", 1982 + "optional": true, 1983 + "os": [ 1984 + "linux" 1985 + ] 1986 + }, 1987 + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { 1988 + "version": "1.11.1", 1989 + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", 1990 + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", 1991 + "cpu": [ 1992 + "riscv64" 1993 + ], 1994 + "dev": true, 1995 + "license": "MIT", 1996 + "optional": true, 1997 + "os": [ 1998 + "linux" 1999 + ] 2000 + }, 2001 + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { 2002 + "version": "1.11.1", 2003 + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", 2004 + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", 2005 + "cpu": [ 2006 + "riscv64" 2007 + ], 2008 + "dev": true, 2009 + "license": "MIT", 2010 + "optional": true, 2011 + "os": [ 2012 + "linux" 2013 + ] 2014 + }, 2015 + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { 2016 + "version": "1.11.1", 2017 + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", 2018 + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", 2019 + "cpu": [ 2020 + "s390x" 2021 + ], 2022 + "dev": true, 2023 + "license": "MIT", 2024 + "optional": true, 2025 + "os": [ 2026 + "linux" 2027 + ] 2028 + }, 2029 + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { 2030 + "version": "1.11.1", 2031 + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", 2032 + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", 2033 + "cpu": [ 2034 + "x64" 2035 + ], 2036 + "dev": true, 2037 + "license": "MIT", 2038 + "optional": true, 2039 + "os": [ 2040 + "linux" 2041 + ] 2042 + }, 2043 + "node_modules/@unrs/resolver-binding-linux-x64-musl": { 2044 + "version": "1.11.1", 2045 + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", 2046 + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", 2047 + "cpu": [ 2048 + "x64" 2049 + ], 2050 + "dev": true, 2051 + "license": "MIT", 2052 + "optional": true, 2053 + "os": [ 2054 + "linux" 2055 + ] 2056 + }, 2057 + "node_modules/@unrs/resolver-binding-wasm32-wasi": { 2058 + "version": "1.11.1", 2059 + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", 2060 + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", 2061 + "cpu": [ 2062 + "wasm32" 2063 + ], 2064 + "dev": true, 2065 + "license": "MIT", 2066 + "optional": true, 2067 + "dependencies": { 2068 + "@napi-rs/wasm-runtime": "^0.2.11" 2069 + }, 2070 + "engines": { 2071 + "node": ">=14.0.0" 2072 + } 2073 + }, 2074 + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { 2075 + "version": "1.11.1", 2076 + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", 2077 + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", 2078 + "cpu": [ 2079 + "arm64" 2080 + ], 2081 + "dev": true, 2082 + "license": "MIT", 2083 + "optional": true, 2084 + "os": [ 2085 + "win32" 2086 + ] 2087 + }, 2088 + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { 2089 + "version": "1.11.1", 2090 + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", 2091 + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", 2092 + "cpu": [ 2093 + "ia32" 2094 + ], 2095 + "dev": true, 2096 + "license": "MIT", 2097 + "optional": true, 2098 + "os": [ 2099 + "win32" 2100 + ] 2101 + }, 2102 + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { 2103 + "version": "1.11.1", 2104 + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", 2105 + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", 2106 + "cpu": [ 2107 + "x64" 2108 + ], 2109 + "dev": true, 2110 + "license": "MIT", 2111 + "optional": true, 2112 + "os": [ 2113 + "win32" 2114 + ] 2115 + }, 2116 + "node_modules/acorn": { 2117 + "version": "8.15.0", 2118 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", 2119 + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", 2120 + "dev": true, 2121 + "license": "MIT", 2122 + "bin": { 2123 + "acorn": "bin/acorn" 2124 + }, 2125 + "engines": { 2126 + "node": ">=0.4.0" 2127 + } 2128 + }, 2129 + "node_modules/acorn-jsx": { 2130 + "version": "5.3.2", 2131 + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 2132 + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 2133 + "dev": true, 2134 + "license": "MIT", 2135 + "peerDependencies": { 2136 + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" 2137 + } 2138 + }, 2139 + "node_modules/ajv": { 2140 + "version": "6.12.6", 2141 + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 2142 + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 2143 + "dev": true, 2144 + "license": "MIT", 2145 + "dependencies": { 2146 + "fast-deep-equal": "^3.1.1", 2147 + "fast-json-stable-stringify": "^2.0.0", 2148 + "json-schema-traverse": "^0.4.1", 2149 + "uri-js": "^4.2.2" 2150 + }, 2151 + "funding": { 2152 + "type": "github", 2153 + "url": "https://github.com/sponsors/epoberezkin" 2154 + } 2155 + }, 2156 + "node_modules/ansi-styles": { 2157 + "version": "4.3.0", 2158 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 2159 + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 2160 + "dev": true, 2161 + "license": "MIT", 2162 + "dependencies": { 2163 + "color-convert": "^2.0.1" 2164 + }, 2165 + "engines": { 2166 + "node": ">=8" 2167 + }, 2168 + "funding": { 2169 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 2170 + } 2171 + }, 2172 + "node_modules/argparse": { 2173 + "version": "2.0.1", 2174 + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 2175 + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 2176 + "dev": true, 2177 + "license": "Python-2.0" 2178 + }, 2179 + "node_modules/aria-query": { 2180 + "version": "5.3.2", 2181 + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", 2182 + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", 2183 + "dev": true, 2184 + "license": "Apache-2.0", 2185 + "engines": { 2186 + "node": ">= 0.4" 2187 + } 2188 + }, 2189 + "node_modules/array-buffer-byte-length": { 2190 + "version": "1.0.2", 2191 + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", 2192 + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", 2193 + "dev": true, 2194 + "license": "MIT", 2195 + "dependencies": { 2196 + "call-bound": "^1.0.3", 2197 + "is-array-buffer": "^3.0.5" 2198 + }, 2199 + "engines": { 2200 + "node": ">= 0.4" 2201 + }, 2202 + "funding": { 2203 + "url": "https://github.com/sponsors/ljharb" 2204 + } 2205 + }, 2206 + "node_modules/array-includes": { 2207 + "version": "3.1.9", 2208 + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", 2209 + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", 2210 + "dev": true, 2211 + "license": "MIT", 2212 + "dependencies": { 2213 + "call-bind": "^1.0.8", 2214 + "call-bound": "^1.0.4", 2215 + "define-properties": "^1.2.1", 2216 + "es-abstract": "^1.24.0", 2217 + "es-object-atoms": "^1.1.1", 2218 + "get-intrinsic": "^1.3.0", 2219 + "is-string": "^1.1.1", 2220 + "math-intrinsics": "^1.1.0" 2221 + }, 2222 + "engines": { 2223 + "node": ">= 0.4" 2224 + }, 2225 + "funding": { 2226 + "url": "https://github.com/sponsors/ljharb" 2227 + } 2228 + }, 2229 + "node_modules/array.prototype.findlast": { 2230 + "version": "1.2.5", 2231 + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", 2232 + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", 2233 + "dev": true, 2234 + "license": "MIT", 2235 + "dependencies": { 2236 + "call-bind": "^1.0.7", 2237 + "define-properties": "^1.2.1", 2238 + "es-abstract": "^1.23.2", 2239 + "es-errors": "^1.3.0", 2240 + "es-object-atoms": "^1.0.0", 2241 + "es-shim-unscopables": "^1.0.2" 2242 + }, 2243 + "engines": { 2244 + "node": ">= 0.4" 2245 + }, 2246 + "funding": { 2247 + "url": "https://github.com/sponsors/ljharb" 2248 + } 2249 + }, 2250 + "node_modules/array.prototype.findlastindex": { 2251 + "version": "1.2.6", 2252 + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", 2253 + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", 2254 + "dev": true, 2255 + "license": "MIT", 2256 + "dependencies": { 2257 + "call-bind": "^1.0.8", 2258 + "call-bound": "^1.0.4", 2259 + "define-properties": "^1.2.1", 2260 + "es-abstract": "^1.23.9", 2261 + "es-errors": "^1.3.0", 2262 + "es-object-atoms": "^1.1.1", 2263 + "es-shim-unscopables": "^1.1.0" 2264 + }, 2265 + "engines": { 2266 + "node": ">= 0.4" 2267 + }, 2268 + "funding": { 2269 + "url": "https://github.com/sponsors/ljharb" 2270 + } 2271 + }, 2272 + "node_modules/array.prototype.flat": { 2273 + "version": "1.3.3", 2274 + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", 2275 + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", 2276 + "dev": true, 2277 + "license": "MIT", 2278 + "dependencies": { 2279 + "call-bind": "^1.0.8", 2280 + "define-properties": "^1.2.1", 2281 + "es-abstract": "^1.23.5", 2282 + "es-shim-unscopables": "^1.0.2" 2283 + }, 2284 + "engines": { 2285 + "node": ">= 0.4" 2286 + }, 2287 + "funding": { 2288 + "url": "https://github.com/sponsors/ljharb" 2289 + } 2290 + }, 2291 + "node_modules/array.prototype.flatmap": { 2292 + "version": "1.3.3", 2293 + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", 2294 + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", 2295 + "dev": true, 2296 + "license": "MIT", 2297 + "dependencies": { 2298 + "call-bind": "^1.0.8", 2299 + "define-properties": "^1.2.1", 2300 + "es-abstract": "^1.23.5", 2301 + "es-shim-unscopables": "^1.0.2" 2302 + }, 2303 + "engines": { 2304 + "node": ">= 0.4" 2305 + }, 2306 + "funding": { 2307 + "url": "https://github.com/sponsors/ljharb" 2308 + } 2309 + }, 2310 + "node_modules/array.prototype.tosorted": { 2311 + "version": "1.1.4", 2312 + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", 2313 + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", 2314 + "dev": true, 2315 + "license": "MIT", 2316 + "dependencies": { 2317 + "call-bind": "^1.0.7", 2318 + "define-properties": "^1.2.1", 2319 + "es-abstract": "^1.23.3", 2320 + "es-errors": "^1.3.0", 2321 + "es-shim-unscopables": "^1.0.2" 2322 + }, 2323 + "engines": { 2324 + "node": ">= 0.4" 2325 + } 2326 + }, 2327 + "node_modules/arraybuffer.prototype.slice": { 2328 + "version": "1.0.4", 2329 + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", 2330 + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", 2331 + "dev": true, 2332 + "license": "MIT", 2333 + "dependencies": { 2334 + "array-buffer-byte-length": "^1.0.1", 2335 + "call-bind": "^1.0.8", 2336 + "define-properties": "^1.2.1", 2337 + "es-abstract": "^1.23.5", 2338 + "es-errors": "^1.3.0", 2339 + "get-intrinsic": "^1.2.6", 2340 + "is-array-buffer": "^3.0.4" 2341 + }, 2342 + "engines": { 2343 + "node": ">= 0.4" 2344 + }, 2345 + "funding": { 2346 + "url": "https://github.com/sponsors/ljharb" 2347 + } 2348 + }, 2349 + "node_modules/ast-types-flow": { 2350 + "version": "0.0.8", 2351 + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", 2352 + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", 2353 + "dev": true, 2354 + "license": "MIT" 2355 + }, 2356 + "node_modules/async-function": { 2357 + "version": "1.0.0", 2358 + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", 2359 + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", 2360 + "dev": true, 2361 + "license": "MIT", 2362 + "engines": { 2363 + "node": ">= 0.4" 2364 + } 2365 + }, 2366 + "node_modules/available-typed-arrays": { 2367 + "version": "1.0.7", 2368 + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", 2369 + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", 2370 + "dev": true, 2371 + "license": "MIT", 2372 + "dependencies": { 2373 + "possible-typed-array-names": "^1.0.0" 2374 + }, 2375 + "engines": { 2376 + "node": ">= 0.4" 2377 + }, 2378 + "funding": { 2379 + "url": "https://github.com/sponsors/ljharb" 2380 + } 2381 + }, 2382 + "node_modules/axe-core": { 2383 + "version": "4.11.1", 2384 + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.1.tgz", 2385 + "integrity": "sha512-BASOg+YwO2C+346x3LZOeoovTIoTrRqEsqMa6fmfAV0P+U9mFr9NsyOEpiYvFjbc64NMrSswhV50WdXzdb/Z5A==", 2386 + "dev": true, 2387 + "license": "MPL-2.0", 2388 + "engines": { 2389 + "node": ">=4" 2390 + } 2391 + }, 2392 + "node_modules/axobject-query": { 2393 + "version": "4.1.0", 2394 + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", 2395 + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", 2396 + "dev": true, 2397 + "license": "Apache-2.0", 2398 + "engines": { 2399 + "node": ">= 0.4" 2400 + } 2401 + }, 2402 + "node_modules/balanced-match": { 2403 + "version": "1.0.2", 2404 + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 2405 + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 2406 + "dev": true, 2407 + "license": "MIT" 2408 + }, 2409 + "node_modules/baseline-browser-mapping": { 2410 + "version": "2.9.13", 2411 + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.13.tgz", 2412 + "integrity": "sha512-WhtvB2NG2wjr04+h77sg3klAIwrgOqnjS49GGudnUPGFFgg7G17y7Qecqp+2Dr5kUDxNRBca0SK7cG8JwzkWDQ==", 2413 + "license": "Apache-2.0", 2414 + "bin": { 2415 + "baseline-browser-mapping": "dist/cli.js" 2416 + } 2417 + }, 2418 + "node_modules/brace-expansion": { 2419 + "version": "1.1.12", 2420 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", 2421 + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", 2422 + "dev": true, 2423 + "license": "MIT", 2424 + "dependencies": { 2425 + "balanced-match": "^1.0.0", 2426 + "concat-map": "0.0.1" 2427 + } 2428 + }, 2429 + "node_modules/braces": { 2430 + "version": "3.0.3", 2431 + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 2432 + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 2433 + "dev": true, 2434 + "license": "MIT", 2435 + "dependencies": { 2436 + "fill-range": "^7.1.1" 2437 + }, 2438 + "engines": { 2439 + "node": ">=8" 2440 + } 2441 + }, 2442 + "node_modules/browserslist": { 2443 + "version": "4.28.1", 2444 + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", 2445 + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", 2446 + "dev": true, 2447 + "funding": [ 2448 + { 2449 + "type": "opencollective", 2450 + "url": "https://opencollective.com/browserslist" 2451 + }, 2452 + { 2453 + "type": "tidelift", 2454 + "url": "https://tidelift.com/funding/github/npm/browserslist" 2455 + }, 2456 + { 2457 + "type": "github", 2458 + "url": "https://github.com/sponsors/ai" 2459 + } 2460 + ], 2461 + "license": "MIT", 2462 + "dependencies": { 2463 + "baseline-browser-mapping": "^2.9.0", 2464 + "caniuse-lite": "^1.0.30001759", 2465 + "electron-to-chromium": "^1.5.263", 2466 + "node-releases": "^2.0.27", 2467 + "update-browserslist-db": "^1.2.0" 2468 + }, 2469 + "bin": { 2470 + "browserslist": "cli.js" 2471 + }, 2472 + "engines": { 2473 + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 2474 + } 2475 + }, 2476 + "node_modules/call-bind": { 2477 + "version": "1.0.8", 2478 + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", 2479 + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", 2480 + "dev": true, 2481 + "license": "MIT", 2482 + "dependencies": { 2483 + "call-bind-apply-helpers": "^1.0.0", 2484 + "es-define-property": "^1.0.0", 2485 + "get-intrinsic": "^1.2.4", 2486 + "set-function-length": "^1.2.2" 2487 + }, 2488 + "engines": { 2489 + "node": ">= 0.4" 2490 + }, 2491 + "funding": { 2492 + "url": "https://github.com/sponsors/ljharb" 2493 + } 2494 + }, 2495 + "node_modules/call-bind-apply-helpers": { 2496 + "version": "1.0.2", 2497 + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", 2498 + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", 2499 + "dev": true, 2500 + "license": "MIT", 2501 + "dependencies": { 2502 + "es-errors": "^1.3.0", 2503 + "function-bind": "^1.1.2" 2504 + }, 2505 + "engines": { 2506 + "node": ">= 0.4" 2507 + } 2508 + }, 2509 + "node_modules/call-bound": { 2510 + "version": "1.0.4", 2511 + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", 2512 + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", 2513 + "dev": true, 2514 + "license": "MIT", 2515 + "dependencies": { 2516 + "call-bind-apply-helpers": "^1.0.2", 2517 + "get-intrinsic": "^1.3.0" 2518 + }, 2519 + "engines": { 2520 + "node": ">= 0.4" 2521 + }, 2522 + "funding": { 2523 + "url": "https://github.com/sponsors/ljharb" 2524 + } 2525 + }, 2526 + "node_modules/callsites": { 2527 + "version": "3.1.0", 2528 + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 2529 + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 2530 + "dev": true, 2531 + "license": "MIT", 2532 + "engines": { 2533 + "node": ">=6" 2534 + } 2535 + }, 2536 + "node_modules/caniuse-lite": { 2537 + "version": "1.0.30001763", 2538 + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001763.tgz", 2539 + "integrity": "sha512-mh/dGtq56uN98LlNX9qdbKnzINhX0QzhiWBFEkFfsFO4QyCvL8YegrJAazCwXIeqkIob8BlZPGM3xdnY+sgmvQ==", 2540 + "funding": [ 2541 + { 2542 + "type": "opencollective", 2543 + "url": "https://opencollective.com/browserslist" 2544 + }, 2545 + { 2546 + "type": "tidelift", 2547 + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 2548 + }, 2549 + { 2550 + "type": "github", 2551 + "url": "https://github.com/sponsors/ai" 2552 + } 2553 + ], 2554 + "license": "CC-BY-4.0" 2555 + }, 2556 + "node_modules/chalk": { 2557 + "version": "4.1.2", 2558 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 2559 + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 2560 + "dev": true, 2561 + "license": "MIT", 2562 + "dependencies": { 2563 + "ansi-styles": "^4.1.0", 2564 + "supports-color": "^7.1.0" 2565 + }, 2566 + "engines": { 2567 + "node": ">=10" 2568 + }, 2569 + "funding": { 2570 + "url": "https://github.com/chalk/chalk?sponsor=1" 2571 + } 2572 + }, 2573 + "node_modules/client-only": { 2574 + "version": "0.0.1", 2575 + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", 2576 + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", 2577 + "license": "MIT" 2578 + }, 2579 + "node_modules/color-convert": { 2580 + "version": "2.0.1", 2581 + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 2582 + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 2583 + "dev": true, 2584 + "license": "MIT", 2585 + "dependencies": { 2586 + "color-name": "~1.1.4" 2587 + }, 2588 + "engines": { 2589 + "node": ">=7.0.0" 2590 + } 2591 + }, 2592 + "node_modules/color-name": { 2593 + "version": "1.1.4", 2594 + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 2595 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 2596 + "dev": true, 2597 + "license": "MIT" 2598 + }, 2599 + "node_modules/concat-map": { 2600 + "version": "0.0.1", 2601 + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 2602 + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 2603 + "dev": true, 2604 + "license": "MIT" 2605 + }, 2606 + "node_modules/convert-source-map": { 2607 + "version": "2.0.0", 2608 + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", 2609 + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", 2610 + "dev": true, 2611 + "license": "MIT" 2612 + }, 2613 + "node_modules/cross-spawn": { 2614 + "version": "7.0.6", 2615 + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", 2616 + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", 2617 + "dev": true, 2618 + "license": "MIT", 2619 + "dependencies": { 2620 + "path-key": "^3.1.0", 2621 + "shebang-command": "^2.0.0", 2622 + "which": "^2.0.1" 2623 + }, 2624 + "engines": { 2625 + "node": ">= 8" 2626 + } 2627 + }, 2628 + "node_modules/csstype": { 2629 + "version": "3.2.3", 2630 + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", 2631 + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", 2632 + "dev": true, 2633 + "license": "MIT" 2634 + }, 2635 + "node_modules/damerau-levenshtein": { 2636 + "version": "1.0.8", 2637 + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", 2638 + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", 2639 + "dev": true, 2640 + "license": "BSD-2-Clause" 2641 + }, 2642 + "node_modules/data-view-buffer": { 2643 + "version": "1.0.2", 2644 + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", 2645 + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", 2646 + "dev": true, 2647 + "license": "MIT", 2648 + "dependencies": { 2649 + "call-bound": "^1.0.3", 2650 + "es-errors": "^1.3.0", 2651 + "is-data-view": "^1.0.2" 2652 + }, 2653 + "engines": { 2654 + "node": ">= 0.4" 2655 + }, 2656 + "funding": { 2657 + "url": "https://github.com/sponsors/ljharb" 2658 + } 2659 + }, 2660 + "node_modules/data-view-byte-length": { 2661 + "version": "1.0.2", 2662 + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", 2663 + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", 2664 + "dev": true, 2665 + "license": "MIT", 2666 + "dependencies": { 2667 + "call-bound": "^1.0.3", 2668 + "es-errors": "^1.3.0", 2669 + "is-data-view": "^1.0.2" 2670 + }, 2671 + "engines": { 2672 + "node": ">= 0.4" 2673 + }, 2674 + "funding": { 2675 + "url": "https://github.com/sponsors/inspect-js" 2676 + } 2677 + }, 2678 + "node_modules/data-view-byte-offset": { 2679 + "version": "1.0.1", 2680 + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", 2681 + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", 2682 + "dev": true, 2683 + "license": "MIT", 2684 + "dependencies": { 2685 + "call-bound": "^1.0.2", 2686 + "es-errors": "^1.3.0", 2687 + "is-data-view": "^1.0.1" 2688 + }, 2689 + "engines": { 2690 + "node": ">= 0.4" 2691 + }, 2692 + "funding": { 2693 + "url": "https://github.com/sponsors/ljharb" 2694 + } 2695 + }, 2696 + "node_modules/debug": { 2697 + "version": "4.4.3", 2698 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", 2699 + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", 2700 + "dev": true, 2701 + "license": "MIT", 2702 + "dependencies": { 2703 + "ms": "^2.1.3" 2704 + }, 2705 + "engines": { 2706 + "node": ">=6.0" 2707 + }, 2708 + "peerDependenciesMeta": { 2709 + "supports-color": { 2710 + "optional": true 2711 + } 2712 + } 2713 + }, 2714 + "node_modules/deep-is": { 2715 + "version": "0.1.4", 2716 + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 2717 + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 2718 + "dev": true, 2719 + "license": "MIT" 2720 + }, 2721 + "node_modules/define-data-property": { 2722 + "version": "1.1.4", 2723 + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", 2724 + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", 2725 + "dev": true, 2726 + "license": "MIT", 2727 + "dependencies": { 2728 + "es-define-property": "^1.0.0", 2729 + "es-errors": "^1.3.0", 2730 + "gopd": "^1.0.1" 2731 + }, 2732 + "engines": { 2733 + "node": ">= 0.4" 2734 + }, 2735 + "funding": { 2736 + "url": "https://github.com/sponsors/ljharb" 2737 + } 2738 + }, 2739 + "node_modules/define-properties": { 2740 + "version": "1.2.1", 2741 + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", 2742 + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", 2743 + "dev": true, 2744 + "license": "MIT", 2745 + "dependencies": { 2746 + "define-data-property": "^1.0.1", 2747 + "has-property-descriptors": "^1.0.0", 2748 + "object-keys": "^1.1.1" 2749 + }, 2750 + "engines": { 2751 + "node": ">= 0.4" 2752 + }, 2753 + "funding": { 2754 + "url": "https://github.com/sponsors/ljharb" 2755 + } 2756 + }, 2757 + "node_modules/detect-libc": { 2758 + "version": "2.1.2", 2759 + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", 2760 + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", 2761 + "devOptional": true, 2762 + "license": "Apache-2.0", 2763 + "engines": { 2764 + "node": ">=8" 2765 + } 2766 + }, 2767 + "node_modules/doctrine": { 2768 + "version": "2.1.0", 2769 + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", 2770 + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", 2771 + "dev": true, 2772 + "license": "Apache-2.0", 2773 + "dependencies": { 2774 + "esutils": "^2.0.2" 2775 + }, 2776 + "engines": { 2777 + "node": ">=0.10.0" 2778 + } 2779 + }, 2780 + "node_modules/dunder-proto": { 2781 + "version": "1.0.1", 2782 + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", 2783 + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", 2784 + "dev": true, 2785 + "license": "MIT", 2786 + "dependencies": { 2787 + "call-bind-apply-helpers": "^1.0.1", 2788 + "es-errors": "^1.3.0", 2789 + "gopd": "^1.2.0" 2790 + }, 2791 + "engines": { 2792 + "node": ">= 0.4" 2793 + } 2794 + }, 2795 + "node_modules/electron-to-chromium": { 2796 + "version": "1.5.267", 2797 + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", 2798 + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", 2799 + "dev": true, 2800 + "license": "ISC" 2801 + }, 2802 + "node_modules/emoji-regex": { 2803 + "version": "9.2.2", 2804 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 2805 + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", 2806 + "dev": true, 2807 + "license": "MIT" 2808 + }, 2809 + "node_modules/enhanced-resolve": { 2810 + "version": "5.18.4", 2811 + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz", 2812 + "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==", 2813 + "dev": true, 2814 + "license": "MIT", 2815 + "dependencies": { 2816 + "graceful-fs": "^4.2.4", 2817 + "tapable": "^2.2.0" 2818 + }, 2819 + "engines": { 2820 + "node": ">=10.13.0" 2821 + } 2822 + }, 2823 + "node_modules/es-abstract": { 2824 + "version": "1.24.1", 2825 + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz", 2826 + "integrity": "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==", 2827 + "dev": true, 2828 + "license": "MIT", 2829 + "dependencies": { 2830 + "array-buffer-byte-length": "^1.0.2", 2831 + "arraybuffer.prototype.slice": "^1.0.4", 2832 + "available-typed-arrays": "^1.0.7", 2833 + "call-bind": "^1.0.8", 2834 + "call-bound": "^1.0.4", 2835 + "data-view-buffer": "^1.0.2", 2836 + "data-view-byte-length": "^1.0.2", 2837 + "data-view-byte-offset": "^1.0.1", 2838 + "es-define-property": "^1.0.1", 2839 + "es-errors": "^1.3.0", 2840 + "es-object-atoms": "^1.1.1", 2841 + "es-set-tostringtag": "^2.1.0", 2842 + "es-to-primitive": "^1.3.0", 2843 + "function.prototype.name": "^1.1.8", 2844 + "get-intrinsic": "^1.3.0", 2845 + "get-proto": "^1.0.1", 2846 + "get-symbol-description": "^1.1.0", 2847 + "globalthis": "^1.0.4", 2848 + "gopd": "^1.2.0", 2849 + "has-property-descriptors": "^1.0.2", 2850 + "has-proto": "^1.2.0", 2851 + "has-symbols": "^1.1.0", 2852 + "hasown": "^2.0.2", 2853 + "internal-slot": "^1.1.0", 2854 + "is-array-buffer": "^3.0.5", 2855 + "is-callable": "^1.2.7", 2856 + "is-data-view": "^1.0.2", 2857 + "is-negative-zero": "^2.0.3", 2858 + "is-regex": "^1.2.1", 2859 + "is-set": "^2.0.3", 2860 + "is-shared-array-buffer": "^1.0.4", 2861 + "is-string": "^1.1.1", 2862 + "is-typed-array": "^1.1.15", 2863 + "is-weakref": "^1.1.1", 2864 + "math-intrinsics": "^1.1.0", 2865 + "object-inspect": "^1.13.4", 2866 + "object-keys": "^1.1.1", 2867 + "object.assign": "^4.1.7", 2868 + "own-keys": "^1.0.1", 2869 + "regexp.prototype.flags": "^1.5.4", 2870 + "safe-array-concat": "^1.1.3", 2871 + "safe-push-apply": "^1.0.0", 2872 + "safe-regex-test": "^1.1.0", 2873 + "set-proto": "^1.0.0", 2874 + "stop-iteration-iterator": "^1.1.0", 2875 + "string.prototype.trim": "^1.2.10", 2876 + "string.prototype.trimend": "^1.0.9", 2877 + "string.prototype.trimstart": "^1.0.8", 2878 + "typed-array-buffer": "^1.0.3", 2879 + "typed-array-byte-length": "^1.0.3", 2880 + "typed-array-byte-offset": "^1.0.4", 2881 + "typed-array-length": "^1.0.7", 2882 + "unbox-primitive": "^1.1.0", 2883 + "which-typed-array": "^1.1.19" 2884 + }, 2885 + "engines": { 2886 + "node": ">= 0.4" 2887 + }, 2888 + "funding": { 2889 + "url": "https://github.com/sponsors/ljharb" 2890 + } 2891 + }, 2892 + "node_modules/es-define-property": { 2893 + "version": "1.0.1", 2894 + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", 2895 + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", 2896 + "dev": true, 2897 + "license": "MIT", 2898 + "engines": { 2899 + "node": ">= 0.4" 2900 + } 2901 + }, 2902 + "node_modules/es-errors": { 2903 + "version": "1.3.0", 2904 + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", 2905 + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", 2906 + "dev": true, 2907 + "license": "MIT", 2908 + "engines": { 2909 + "node": ">= 0.4" 2910 + } 2911 + }, 2912 + "node_modules/es-iterator-helpers": { 2913 + "version": "1.2.2", 2914 + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.2.tgz", 2915 + "integrity": "sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w==", 2916 + "dev": true, 2917 + "license": "MIT", 2918 + "dependencies": { 2919 + "call-bind": "^1.0.8", 2920 + "call-bound": "^1.0.4", 2921 + "define-properties": "^1.2.1", 2922 + "es-abstract": "^1.24.1", 2923 + "es-errors": "^1.3.0", 2924 + "es-set-tostringtag": "^2.1.0", 2925 + "function-bind": "^1.1.2", 2926 + "get-intrinsic": "^1.3.0", 2927 + "globalthis": "^1.0.4", 2928 + "gopd": "^1.2.0", 2929 + "has-property-descriptors": "^1.0.2", 2930 + "has-proto": "^1.2.0", 2931 + "has-symbols": "^1.1.0", 2932 + "internal-slot": "^1.1.0", 2933 + "iterator.prototype": "^1.1.5", 2934 + "safe-array-concat": "^1.1.3" 2935 + }, 2936 + "engines": { 2937 + "node": ">= 0.4" 2938 + } 2939 + }, 2940 + "node_modules/es-object-atoms": { 2941 + "version": "1.1.1", 2942 + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", 2943 + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", 2944 + "dev": true, 2945 + "license": "MIT", 2946 + "dependencies": { 2947 + "es-errors": "^1.3.0" 2948 + }, 2949 + "engines": { 2950 + "node": ">= 0.4" 2951 + } 2952 + }, 2953 + "node_modules/es-set-tostringtag": { 2954 + "version": "2.1.0", 2955 + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", 2956 + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", 2957 + "dev": true, 2958 + "license": "MIT", 2959 + "dependencies": { 2960 + "es-errors": "^1.3.0", 2961 + "get-intrinsic": "^1.2.6", 2962 + "has-tostringtag": "^1.0.2", 2963 + "hasown": "^2.0.2" 2964 + }, 2965 + "engines": { 2966 + "node": ">= 0.4" 2967 + } 2968 + }, 2969 + "node_modules/es-shim-unscopables": { 2970 + "version": "1.1.0", 2971 + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", 2972 + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", 2973 + "dev": true, 2974 + "license": "MIT", 2975 + "dependencies": { 2976 + "hasown": "^2.0.2" 2977 + }, 2978 + "engines": { 2979 + "node": ">= 0.4" 2980 + } 2981 + }, 2982 + "node_modules/es-to-primitive": { 2983 + "version": "1.3.0", 2984 + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", 2985 + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", 2986 + "dev": true, 2987 + "license": "MIT", 2988 + "dependencies": { 2989 + "is-callable": "^1.2.7", 2990 + "is-date-object": "^1.0.5", 2991 + "is-symbol": "^1.0.4" 2992 + }, 2993 + "engines": { 2994 + "node": ">= 0.4" 2995 + }, 2996 + "funding": { 2997 + "url": "https://github.com/sponsors/ljharb" 2998 + } 2999 + }, 3000 + "node_modules/escalade": { 3001 + "version": "3.2.0", 3002 + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", 3003 + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", 3004 + "dev": true, 3005 + "license": "MIT", 3006 + "engines": { 3007 + "node": ">=6" 3008 + } 3009 + }, 3010 + "node_modules/escape-string-regexp": { 3011 + "version": "4.0.0", 3012 + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 3013 + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 3014 + "dev": true, 3015 + "license": "MIT", 3016 + "engines": { 3017 + "node": ">=10" 3018 + }, 3019 + "funding": { 3020 + "url": "https://github.com/sponsors/sindresorhus" 3021 + } 3022 + }, 3023 + "node_modules/eslint": { 3024 + "version": "9.39.2", 3025 + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", 3026 + "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", 3027 + "dev": true, 3028 + "license": "MIT", 3029 + "dependencies": { 3030 + "@eslint-community/eslint-utils": "^4.8.0", 3031 + "@eslint-community/regexpp": "^4.12.1", 3032 + "@eslint/config-array": "^0.21.1", 3033 + "@eslint/config-helpers": "^0.4.2", 3034 + "@eslint/core": "^0.17.0", 3035 + "@eslint/eslintrc": "^3.3.1", 3036 + "@eslint/js": "9.39.2", 3037 + "@eslint/plugin-kit": "^0.4.1", 3038 + "@humanfs/node": "^0.16.6", 3039 + "@humanwhocodes/module-importer": "^1.0.1", 3040 + "@humanwhocodes/retry": "^0.4.2", 3041 + "@types/estree": "^1.0.6", 3042 + "ajv": "^6.12.4", 3043 + "chalk": "^4.0.0", 3044 + "cross-spawn": "^7.0.6", 3045 + "debug": "^4.3.2", 3046 + "escape-string-regexp": "^4.0.0", 3047 + "eslint-scope": "^8.4.0", 3048 + "eslint-visitor-keys": "^4.2.1", 3049 + "espree": "^10.4.0", 3050 + "esquery": "^1.5.0", 3051 + "esutils": "^2.0.2", 3052 + "fast-deep-equal": "^3.1.3", 3053 + "file-entry-cache": "^8.0.0", 3054 + "find-up": "^5.0.0", 3055 + "glob-parent": "^6.0.2", 3056 + "ignore": "^5.2.0", 3057 + "imurmurhash": "^0.1.4", 3058 + "is-glob": "^4.0.0", 3059 + "json-stable-stringify-without-jsonify": "^1.0.1", 3060 + "lodash.merge": "^4.6.2", 3061 + "minimatch": "^3.1.2", 3062 + "natural-compare": "^1.4.0", 3063 + "optionator": "^0.9.3" 3064 + }, 3065 + "bin": { 3066 + "eslint": "bin/eslint.js" 3067 + }, 3068 + "engines": { 3069 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 3070 + }, 3071 + "funding": { 3072 + "url": "https://eslint.org/donate" 3073 + }, 3074 + "peerDependencies": { 3075 + "jiti": "*" 3076 + }, 3077 + "peerDependenciesMeta": { 3078 + "jiti": { 3079 + "optional": true 3080 + } 3081 + } 3082 + }, 3083 + "node_modules/eslint-config-next": { 3084 + "version": "16.1.1", 3085 + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-16.1.1.tgz", 3086 + "integrity": "sha512-55nTpVWm3qeuxoQKLOjQVciKZJUphKrNM0fCcQHAIOGl6VFXgaqeMfv0aKJhs7QtcnlAPhNVqsqRfRjeKBPIUA==", 3087 + "dev": true, 3088 + "license": "MIT", 3089 + "dependencies": { 3090 + "@next/eslint-plugin-next": "16.1.1", 3091 + "eslint-import-resolver-node": "^0.3.6", 3092 + "eslint-import-resolver-typescript": "^3.5.2", 3093 + "eslint-plugin-import": "^2.32.0", 3094 + "eslint-plugin-jsx-a11y": "^6.10.0", 3095 + "eslint-plugin-react": "^7.37.0", 3096 + "eslint-plugin-react-hooks": "^7.0.0", 3097 + "globals": "16.4.0", 3098 + "typescript-eslint": "^8.46.0" 3099 + }, 3100 + "peerDependencies": { 3101 + "eslint": ">=9.0.0", 3102 + "typescript": ">=3.3.1" 3103 + }, 3104 + "peerDependenciesMeta": { 3105 + "typescript": { 3106 + "optional": true 3107 + } 3108 + } 3109 + }, 3110 + "node_modules/eslint-config-next/node_modules/globals": { 3111 + "version": "16.4.0", 3112 + "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", 3113 + "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", 3114 + "dev": true, 3115 + "license": "MIT", 3116 + "engines": { 3117 + "node": ">=18" 3118 + }, 3119 + "funding": { 3120 + "url": "https://github.com/sponsors/sindresorhus" 3121 + } 3122 + }, 3123 + "node_modules/eslint-import-resolver-node": { 3124 + "version": "0.3.9", 3125 + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", 3126 + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", 3127 + "dev": true, 3128 + "license": "MIT", 3129 + "dependencies": { 3130 + "debug": "^3.2.7", 3131 + "is-core-module": "^2.13.0", 3132 + "resolve": "^1.22.4" 3133 + } 3134 + }, 3135 + "node_modules/eslint-import-resolver-node/node_modules/debug": { 3136 + "version": "3.2.7", 3137 + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 3138 + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 3139 + "dev": true, 3140 + "license": "MIT", 3141 + "dependencies": { 3142 + "ms": "^2.1.1" 3143 + } 3144 + }, 3145 + "node_modules/eslint-import-resolver-typescript": { 3146 + "version": "3.10.1", 3147 + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", 3148 + "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", 3149 + "dev": true, 3150 + "license": "ISC", 3151 + "dependencies": { 3152 + "@nolyfill/is-core-module": "1.0.39", 3153 + "debug": "^4.4.0", 3154 + "get-tsconfig": "^4.10.0", 3155 + "is-bun-module": "^2.0.0", 3156 + "stable-hash": "^0.0.5", 3157 + "tinyglobby": "^0.2.13", 3158 + "unrs-resolver": "^1.6.2" 3159 + }, 3160 + "engines": { 3161 + "node": "^14.18.0 || >=16.0.0" 3162 + }, 3163 + "funding": { 3164 + "url": "https://opencollective.com/eslint-import-resolver-typescript" 3165 + }, 3166 + "peerDependencies": { 3167 + "eslint": "*", 3168 + "eslint-plugin-import": "*", 3169 + "eslint-plugin-import-x": "*" 3170 + }, 3171 + "peerDependenciesMeta": { 3172 + "eslint-plugin-import": { 3173 + "optional": true 3174 + }, 3175 + "eslint-plugin-import-x": { 3176 + "optional": true 3177 + } 3178 + } 3179 + }, 3180 + "node_modules/eslint-module-utils": { 3181 + "version": "2.12.1", 3182 + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", 3183 + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", 3184 + "dev": true, 3185 + "license": "MIT", 3186 + "dependencies": { 3187 + "debug": "^3.2.7" 3188 + }, 3189 + "engines": { 3190 + "node": ">=4" 3191 + }, 3192 + "peerDependenciesMeta": { 3193 + "eslint": { 3194 + "optional": true 3195 + } 3196 + } 3197 + }, 3198 + "node_modules/eslint-module-utils/node_modules/debug": { 3199 + "version": "3.2.7", 3200 + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 3201 + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 3202 + "dev": true, 3203 + "license": "MIT", 3204 + "dependencies": { 3205 + "ms": "^2.1.1" 3206 + } 3207 + }, 3208 + "node_modules/eslint-plugin-import": { 3209 + "version": "2.32.0", 3210 + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", 3211 + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", 3212 + "dev": true, 3213 + "license": "MIT", 3214 + "dependencies": { 3215 + "@rtsao/scc": "^1.1.0", 3216 + "array-includes": "^3.1.9", 3217 + "array.prototype.findlastindex": "^1.2.6", 3218 + "array.prototype.flat": "^1.3.3", 3219 + "array.prototype.flatmap": "^1.3.3", 3220 + "debug": "^3.2.7", 3221 + "doctrine": "^2.1.0", 3222 + "eslint-import-resolver-node": "^0.3.9", 3223 + "eslint-module-utils": "^2.12.1", 3224 + "hasown": "^2.0.2", 3225 + "is-core-module": "^2.16.1", 3226 + "is-glob": "^4.0.3", 3227 + "minimatch": "^3.1.2", 3228 + "object.fromentries": "^2.0.8", 3229 + "object.groupby": "^1.0.3", 3230 + "object.values": "^1.2.1", 3231 + "semver": "^6.3.1", 3232 + "string.prototype.trimend": "^1.0.9", 3233 + "tsconfig-paths": "^3.15.0" 3234 + }, 3235 + "engines": { 3236 + "node": ">=4" 3237 + }, 3238 + "peerDependencies": { 3239 + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" 3240 + } 3241 + }, 3242 + "node_modules/eslint-plugin-import/node_modules/debug": { 3243 + "version": "3.2.7", 3244 + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 3245 + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 3246 + "dev": true, 3247 + "license": "MIT", 3248 + "dependencies": { 3249 + "ms": "^2.1.1" 3250 + } 3251 + }, 3252 + "node_modules/eslint-plugin-jsx-a11y": { 3253 + "version": "6.10.2", 3254 + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", 3255 + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", 3256 + "dev": true, 3257 + "license": "MIT", 3258 + "dependencies": { 3259 + "aria-query": "^5.3.2", 3260 + "array-includes": "^3.1.8", 3261 + "array.prototype.flatmap": "^1.3.2", 3262 + "ast-types-flow": "^0.0.8", 3263 + "axe-core": "^4.10.0", 3264 + "axobject-query": "^4.1.0", 3265 + "damerau-levenshtein": "^1.0.8", 3266 + "emoji-regex": "^9.2.2", 3267 + "hasown": "^2.0.2", 3268 + "jsx-ast-utils": "^3.3.5", 3269 + "language-tags": "^1.0.9", 3270 + "minimatch": "^3.1.2", 3271 + "object.fromentries": "^2.0.8", 3272 + "safe-regex-test": "^1.0.3", 3273 + "string.prototype.includes": "^2.0.1" 3274 + }, 3275 + "engines": { 3276 + "node": ">=4.0" 3277 + }, 3278 + "peerDependencies": { 3279 + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" 3280 + } 3281 + }, 3282 + "node_modules/eslint-plugin-react": { 3283 + "version": "7.37.5", 3284 + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", 3285 + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", 3286 + "dev": true, 3287 + "license": "MIT", 3288 + "dependencies": { 3289 + "array-includes": "^3.1.8", 3290 + "array.prototype.findlast": "^1.2.5", 3291 + "array.prototype.flatmap": "^1.3.3", 3292 + "array.prototype.tosorted": "^1.1.4", 3293 + "doctrine": "^2.1.0", 3294 + "es-iterator-helpers": "^1.2.1", 3295 + "estraverse": "^5.3.0", 3296 + "hasown": "^2.0.2", 3297 + "jsx-ast-utils": "^2.4.1 || ^3.0.0", 3298 + "minimatch": "^3.1.2", 3299 + "object.entries": "^1.1.9", 3300 + "object.fromentries": "^2.0.8", 3301 + "object.values": "^1.2.1", 3302 + "prop-types": "^15.8.1", 3303 + "resolve": "^2.0.0-next.5", 3304 + "semver": "^6.3.1", 3305 + "string.prototype.matchall": "^4.0.12", 3306 + "string.prototype.repeat": "^1.0.0" 3307 + }, 3308 + "engines": { 3309 + "node": ">=4" 3310 + }, 3311 + "peerDependencies": { 3312 + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" 3313 + } 3314 + }, 3315 + "node_modules/eslint-plugin-react-hooks": { 3316 + "version": "7.0.1", 3317 + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz", 3318 + "integrity": "sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==", 3319 + "dev": true, 3320 + "license": "MIT", 3321 + "dependencies": { 3322 + "@babel/core": "^7.24.4", 3323 + "@babel/parser": "^7.24.4", 3324 + "hermes-parser": "^0.25.1", 3325 + "zod": "^3.25.0 || ^4.0.0", 3326 + "zod-validation-error": "^3.5.0 || ^4.0.0" 3327 + }, 3328 + "engines": { 3329 + "node": ">=18" 3330 + }, 3331 + "peerDependencies": { 3332 + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" 3333 + } 3334 + }, 3335 + "node_modules/eslint-plugin-react/node_modules/resolve": { 3336 + "version": "2.0.0-next.5", 3337 + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", 3338 + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", 3339 + "dev": true, 3340 + "license": "MIT", 3341 + "dependencies": { 3342 + "is-core-module": "^2.13.0", 3343 + "path-parse": "^1.0.7", 3344 + "supports-preserve-symlinks-flag": "^1.0.0" 3345 + }, 3346 + "bin": { 3347 + "resolve": "bin/resolve" 3348 + }, 3349 + "funding": { 3350 + "url": "https://github.com/sponsors/ljharb" 3351 + } 3352 + }, 3353 + "node_modules/eslint-scope": { 3354 + "version": "8.4.0", 3355 + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", 3356 + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", 3357 + "dev": true, 3358 + "license": "BSD-2-Clause", 3359 + "dependencies": { 3360 + "esrecurse": "^4.3.0", 3361 + "estraverse": "^5.2.0" 3362 + }, 3363 + "engines": { 3364 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 3365 + }, 3366 + "funding": { 3367 + "url": "https://opencollective.com/eslint" 3368 + } 3369 + }, 3370 + "node_modules/eslint-visitor-keys": { 3371 + "version": "4.2.1", 3372 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", 3373 + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", 3374 + "dev": true, 3375 + "license": "Apache-2.0", 3376 + "engines": { 3377 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 3378 + }, 3379 + "funding": { 3380 + "url": "https://opencollective.com/eslint" 3381 + } 3382 + }, 3383 + "node_modules/espree": { 3384 + "version": "10.4.0", 3385 + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", 3386 + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", 3387 + "dev": true, 3388 + "license": "BSD-2-Clause", 3389 + "dependencies": { 3390 + "acorn": "^8.15.0", 3391 + "acorn-jsx": "^5.3.2", 3392 + "eslint-visitor-keys": "^4.2.1" 3393 + }, 3394 + "engines": { 3395 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 3396 + }, 3397 + "funding": { 3398 + "url": "https://opencollective.com/eslint" 3399 + } 3400 + }, 3401 + "node_modules/esquery": { 3402 + "version": "1.7.0", 3403 + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", 3404 + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", 3405 + "dev": true, 3406 + "license": "BSD-3-Clause", 3407 + "dependencies": { 3408 + "estraverse": "^5.1.0" 3409 + }, 3410 + "engines": { 3411 + "node": ">=0.10" 3412 + } 3413 + }, 3414 + "node_modules/esrecurse": { 3415 + "version": "4.3.0", 3416 + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 3417 + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 3418 + "dev": true, 3419 + "license": "BSD-2-Clause", 3420 + "dependencies": { 3421 + "estraverse": "^5.2.0" 3422 + }, 3423 + "engines": { 3424 + "node": ">=4.0" 3425 + } 3426 + }, 3427 + "node_modules/estraverse": { 3428 + "version": "5.3.0", 3429 + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 3430 + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 3431 + "dev": true, 3432 + "license": "BSD-2-Clause", 3433 + "engines": { 3434 + "node": ">=4.0" 3435 + } 3436 + }, 3437 + "node_modules/esutils": { 3438 + "version": "2.0.3", 3439 + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 3440 + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 3441 + "dev": true, 3442 + "license": "BSD-2-Clause", 3443 + "engines": { 3444 + "node": ">=0.10.0" 3445 + } 3446 + }, 3447 + "node_modules/fast-deep-equal": { 3448 + "version": "3.1.3", 3449 + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 3450 + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 3451 + "dev": true, 3452 + "license": "MIT" 3453 + }, 3454 + "node_modules/fast-glob": { 3455 + "version": "3.3.1", 3456 + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", 3457 + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", 3458 + "dev": true, 3459 + "license": "MIT", 3460 + "dependencies": { 3461 + "@nodelib/fs.stat": "^2.0.2", 3462 + "@nodelib/fs.walk": "^1.2.3", 3463 + "glob-parent": "^5.1.2", 3464 + "merge2": "^1.3.0", 3465 + "micromatch": "^4.0.4" 3466 + }, 3467 + "engines": { 3468 + "node": ">=8.6.0" 3469 + } 3470 + }, 3471 + "node_modules/fast-glob/node_modules/glob-parent": { 3472 + "version": "5.1.2", 3473 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 3474 + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 3475 + "dev": true, 3476 + "license": "ISC", 3477 + "dependencies": { 3478 + "is-glob": "^4.0.1" 3479 + }, 3480 + "engines": { 3481 + "node": ">= 6" 3482 + } 3483 + }, 3484 + "node_modules/fast-json-stable-stringify": { 3485 + "version": "2.1.0", 3486 + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 3487 + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 3488 + "dev": true, 3489 + "license": "MIT" 3490 + }, 3491 + "node_modules/fast-levenshtein": { 3492 + "version": "2.0.6", 3493 + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 3494 + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 3495 + "dev": true, 3496 + "license": "MIT" 3497 + }, 3498 + "node_modules/fastq": { 3499 + "version": "1.20.1", 3500 + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", 3501 + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", 3502 + "dev": true, 3503 + "license": "ISC", 3504 + "dependencies": { 3505 + "reusify": "^1.0.4" 3506 + } 3507 + }, 3508 + "node_modules/file-entry-cache": { 3509 + "version": "8.0.0", 3510 + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", 3511 + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", 3512 + "dev": true, 3513 + "license": "MIT", 3514 + "dependencies": { 3515 + "flat-cache": "^4.0.0" 3516 + }, 3517 + "engines": { 3518 + "node": ">=16.0.0" 3519 + } 3520 + }, 3521 + "node_modules/fill-range": { 3522 + "version": "7.1.1", 3523 + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 3524 + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 3525 + "dev": true, 3526 + "license": "MIT", 3527 + "dependencies": { 3528 + "to-regex-range": "^5.0.1" 3529 + }, 3530 + "engines": { 3531 + "node": ">=8" 3532 + } 3533 + }, 3534 + "node_modules/find-up": { 3535 + "version": "5.0.0", 3536 + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", 3537 + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", 3538 + "dev": true, 3539 + "license": "MIT", 3540 + "dependencies": { 3541 + "locate-path": "^6.0.0", 3542 + "path-exists": "^4.0.0" 3543 + }, 3544 + "engines": { 3545 + "node": ">=10" 3546 + }, 3547 + "funding": { 3548 + "url": "https://github.com/sponsors/sindresorhus" 3549 + } 3550 + }, 3551 + "node_modules/flat-cache": { 3552 + "version": "4.0.1", 3553 + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", 3554 + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", 3555 + "dev": true, 3556 + "license": "MIT", 3557 + "dependencies": { 3558 + "flatted": "^3.2.9", 3559 + "keyv": "^4.5.4" 3560 + }, 3561 + "engines": { 3562 + "node": ">=16" 3563 + } 3564 + }, 3565 + "node_modules/flatted": { 3566 + "version": "3.3.3", 3567 + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", 3568 + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", 3569 + "dev": true, 3570 + "license": "ISC" 3571 + }, 3572 + "node_modules/for-each": { 3573 + "version": "0.3.5", 3574 + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", 3575 + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", 3576 + "dev": true, 3577 + "license": "MIT", 3578 + "dependencies": { 3579 + "is-callable": "^1.2.7" 3580 + }, 3581 + "engines": { 3582 + "node": ">= 0.4" 3583 + }, 3584 + "funding": { 3585 + "url": "https://github.com/sponsors/ljharb" 3586 + } 3587 + }, 3588 + "node_modules/function-bind": { 3589 + "version": "1.1.2", 3590 + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 3591 + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 3592 + "dev": true, 3593 + "license": "MIT", 3594 + "funding": { 3595 + "url": "https://github.com/sponsors/ljharb" 3596 + } 3597 + }, 3598 + "node_modules/function.prototype.name": { 3599 + "version": "1.1.8", 3600 + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", 3601 + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", 3602 + "dev": true, 3603 + "license": "MIT", 3604 + "dependencies": { 3605 + "call-bind": "^1.0.8", 3606 + "call-bound": "^1.0.3", 3607 + "define-properties": "^1.2.1", 3608 + "functions-have-names": "^1.2.3", 3609 + "hasown": "^2.0.2", 3610 + "is-callable": "^1.2.7" 3611 + }, 3612 + "engines": { 3613 + "node": ">= 0.4" 3614 + }, 3615 + "funding": { 3616 + "url": "https://github.com/sponsors/ljharb" 3617 + } 3618 + }, 3619 + "node_modules/functions-have-names": { 3620 + "version": "1.2.3", 3621 + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", 3622 + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", 3623 + "dev": true, 3624 + "license": "MIT", 3625 + "funding": { 3626 + "url": "https://github.com/sponsors/ljharb" 3627 + } 3628 + }, 3629 + "node_modules/generator-function": { 3630 + "version": "2.0.1", 3631 + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", 3632 + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", 3633 + "dev": true, 3634 + "license": "MIT", 3635 + "engines": { 3636 + "node": ">= 0.4" 3637 + } 3638 + }, 3639 + "node_modules/gensync": { 3640 + "version": "1.0.0-beta.2", 3641 + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", 3642 + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", 3643 + "dev": true, 3644 + "license": "MIT", 3645 + "engines": { 3646 + "node": ">=6.9.0" 3647 + } 3648 + }, 3649 + "node_modules/get-intrinsic": { 3650 + "version": "1.3.0", 3651 + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", 3652 + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", 3653 + "dev": true, 3654 + "license": "MIT", 3655 + "dependencies": { 3656 + "call-bind-apply-helpers": "^1.0.2", 3657 + "es-define-property": "^1.0.1", 3658 + "es-errors": "^1.3.0", 3659 + "es-object-atoms": "^1.1.1", 3660 + "function-bind": "^1.1.2", 3661 + "get-proto": "^1.0.1", 3662 + "gopd": "^1.2.0", 3663 + "has-symbols": "^1.1.0", 3664 + "hasown": "^2.0.2", 3665 + "math-intrinsics": "^1.1.0" 3666 + }, 3667 + "engines": { 3668 + "node": ">= 0.4" 3669 + }, 3670 + "funding": { 3671 + "url": "https://github.com/sponsors/ljharb" 3672 + } 3673 + }, 3674 + "node_modules/get-proto": { 3675 + "version": "1.0.1", 3676 + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", 3677 + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", 3678 + "dev": true, 3679 + "license": "MIT", 3680 + "dependencies": { 3681 + "dunder-proto": "^1.0.1", 3682 + "es-object-atoms": "^1.0.0" 3683 + }, 3684 + "engines": { 3685 + "node": ">= 0.4" 3686 + } 3687 + }, 3688 + "node_modules/get-symbol-description": { 3689 + "version": "1.1.0", 3690 + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", 3691 + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", 3692 + "dev": true, 3693 + "license": "MIT", 3694 + "dependencies": { 3695 + "call-bound": "^1.0.3", 3696 + "es-errors": "^1.3.0", 3697 + "get-intrinsic": "^1.2.6" 3698 + }, 3699 + "engines": { 3700 + "node": ">= 0.4" 3701 + }, 3702 + "funding": { 3703 + "url": "https://github.com/sponsors/ljharb" 3704 + } 3705 + }, 3706 + "node_modules/get-tsconfig": { 3707 + "version": "4.13.0", 3708 + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz", 3709 + "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==", 3710 + "dev": true, 3711 + "license": "MIT", 3712 + "dependencies": { 3713 + "resolve-pkg-maps": "^1.0.0" 3714 + }, 3715 + "funding": { 3716 + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" 3717 + } 3718 + }, 3719 + "node_modules/glob-parent": { 3720 + "version": "6.0.2", 3721 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 3722 + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 3723 + "dev": true, 3724 + "license": "ISC", 3725 + "dependencies": { 3726 + "is-glob": "^4.0.3" 3727 + }, 3728 + "engines": { 3729 + "node": ">=10.13.0" 3730 + } 3731 + }, 3732 + "node_modules/globals": { 3733 + "version": "14.0.0", 3734 + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", 3735 + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", 3736 + "dev": true, 3737 + "license": "MIT", 3738 + "engines": { 3739 + "node": ">=18" 3740 + }, 3741 + "funding": { 3742 + "url": "https://github.com/sponsors/sindresorhus" 3743 + } 3744 + }, 3745 + "node_modules/globalthis": { 3746 + "version": "1.0.4", 3747 + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", 3748 + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", 3749 + "dev": true, 3750 + "license": "MIT", 3751 + "dependencies": { 3752 + "define-properties": "^1.2.1", 3753 + "gopd": "^1.0.1" 3754 + }, 3755 + "engines": { 3756 + "node": ">= 0.4" 3757 + }, 3758 + "funding": { 3759 + "url": "https://github.com/sponsors/ljharb" 3760 + } 3761 + }, 3762 + "node_modules/gopd": { 3763 + "version": "1.2.0", 3764 + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", 3765 + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", 3766 + "dev": true, 3767 + "license": "MIT", 3768 + "engines": { 3769 + "node": ">= 0.4" 3770 + }, 3771 + "funding": { 3772 + "url": "https://github.com/sponsors/ljharb" 3773 + } 3774 + }, 3775 + "node_modules/graceful-fs": { 3776 + "version": "4.2.11", 3777 + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 3778 + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", 3779 + "dev": true, 3780 + "license": "ISC" 3781 + }, 3782 + "node_modules/has-bigints": { 3783 + "version": "1.1.0", 3784 + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", 3785 + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", 3786 + "dev": true, 3787 + "license": "MIT", 3788 + "engines": { 3789 + "node": ">= 0.4" 3790 + }, 3791 + "funding": { 3792 + "url": "https://github.com/sponsors/ljharb" 3793 + } 3794 + }, 3795 + "node_modules/has-flag": { 3796 + "version": "4.0.0", 3797 + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 3798 + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 3799 + "dev": true, 3800 + "license": "MIT", 3801 + "engines": { 3802 + "node": ">=8" 3803 + } 3804 + }, 3805 + "node_modules/has-property-descriptors": { 3806 + "version": "1.0.2", 3807 + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", 3808 + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", 3809 + "dev": true, 3810 + "license": "MIT", 3811 + "dependencies": { 3812 + "es-define-property": "^1.0.0" 3813 + }, 3814 + "funding": { 3815 + "url": "https://github.com/sponsors/ljharb" 3816 + } 3817 + }, 3818 + "node_modules/has-proto": { 3819 + "version": "1.2.0", 3820 + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", 3821 + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", 3822 + "dev": true, 3823 + "license": "MIT", 3824 + "dependencies": { 3825 + "dunder-proto": "^1.0.0" 3826 + }, 3827 + "engines": { 3828 + "node": ">= 0.4" 3829 + }, 3830 + "funding": { 3831 + "url": "https://github.com/sponsors/ljharb" 3832 + } 3833 + }, 3834 + "node_modules/has-symbols": { 3835 + "version": "1.1.0", 3836 + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", 3837 + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", 3838 + "dev": true, 3839 + "license": "MIT", 3840 + "engines": { 3841 + "node": ">= 0.4" 3842 + }, 3843 + "funding": { 3844 + "url": "https://github.com/sponsors/ljharb" 3845 + } 3846 + }, 3847 + "node_modules/has-tostringtag": { 3848 + "version": "1.0.2", 3849 + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", 3850 + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", 3851 + "dev": true, 3852 + "license": "MIT", 3853 + "dependencies": { 3854 + "has-symbols": "^1.0.3" 3855 + }, 3856 + "engines": { 3857 + "node": ">= 0.4" 3858 + }, 3859 + "funding": { 3860 + "url": "https://github.com/sponsors/ljharb" 3861 + } 3862 + }, 3863 + "node_modules/hasown": { 3864 + "version": "2.0.2", 3865 + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 3866 + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 3867 + "dev": true, 3868 + "license": "MIT", 3869 + "dependencies": { 3870 + "function-bind": "^1.1.2" 3871 + }, 3872 + "engines": { 3873 + "node": ">= 0.4" 3874 + } 3875 + }, 3876 + "node_modules/hermes-estree": { 3877 + "version": "0.25.1", 3878 + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", 3879 + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", 3880 + "dev": true, 3881 + "license": "MIT" 3882 + }, 3883 + "node_modules/hermes-parser": { 3884 + "version": "0.25.1", 3885 + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", 3886 + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", 3887 + "dev": true, 3888 + "license": "MIT", 3889 + "dependencies": { 3890 + "hermes-estree": "0.25.1" 3891 + } 3892 + }, 3893 + "node_modules/ignore": { 3894 + "version": "5.3.2", 3895 + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", 3896 + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", 3897 + "dev": true, 3898 + "license": "MIT", 3899 + "engines": { 3900 + "node": ">= 4" 3901 + } 3902 + }, 3903 + "node_modules/import-fresh": { 3904 + "version": "3.3.1", 3905 + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", 3906 + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", 3907 + "dev": true, 3908 + "license": "MIT", 3909 + "dependencies": { 3910 + "parent-module": "^1.0.0", 3911 + "resolve-from": "^4.0.0" 3912 + }, 3913 + "engines": { 3914 + "node": ">=6" 3915 + }, 3916 + "funding": { 3917 + "url": "https://github.com/sponsors/sindresorhus" 3918 + } 3919 + }, 3920 + "node_modules/imurmurhash": { 3921 + "version": "0.1.4", 3922 + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 3923 + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 3924 + "dev": true, 3925 + "license": "MIT", 3926 + "engines": { 3927 + "node": ">=0.8.19" 3928 + } 3929 + }, 3930 + "node_modules/internal-slot": { 3931 + "version": "1.1.0", 3932 + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", 3933 + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", 3934 + "dev": true, 3935 + "license": "MIT", 3936 + "dependencies": { 3937 + "es-errors": "^1.3.0", 3938 + "hasown": "^2.0.2", 3939 + "side-channel": "^1.1.0" 3940 + }, 3941 + "engines": { 3942 + "node": ">= 0.4" 3943 + } 3944 + }, 3945 + "node_modules/is-array-buffer": { 3946 + "version": "3.0.5", 3947 + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", 3948 + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", 3949 + "dev": true, 3950 + "license": "MIT", 3951 + "dependencies": { 3952 + "call-bind": "^1.0.8", 3953 + "call-bound": "^1.0.3", 3954 + "get-intrinsic": "^1.2.6" 3955 + }, 3956 + "engines": { 3957 + "node": ">= 0.4" 3958 + }, 3959 + "funding": { 3960 + "url": "https://github.com/sponsors/ljharb" 3961 + } 3962 + }, 3963 + "node_modules/is-async-function": { 3964 + "version": "2.1.1", 3965 + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", 3966 + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", 3967 + "dev": true, 3968 + "license": "MIT", 3969 + "dependencies": { 3970 + "async-function": "^1.0.0", 3971 + "call-bound": "^1.0.3", 3972 + "get-proto": "^1.0.1", 3973 + "has-tostringtag": "^1.0.2", 3974 + "safe-regex-test": "^1.1.0" 3975 + }, 3976 + "engines": { 3977 + "node": ">= 0.4" 3978 + }, 3979 + "funding": { 3980 + "url": "https://github.com/sponsors/ljharb" 3981 + } 3982 + }, 3983 + "node_modules/is-bigint": { 3984 + "version": "1.1.0", 3985 + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", 3986 + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", 3987 + "dev": true, 3988 + "license": "MIT", 3989 + "dependencies": { 3990 + "has-bigints": "^1.0.2" 3991 + }, 3992 + "engines": { 3993 + "node": ">= 0.4" 3994 + }, 3995 + "funding": { 3996 + "url": "https://github.com/sponsors/ljharb" 3997 + } 3998 + }, 3999 + "node_modules/is-boolean-object": { 4000 + "version": "1.2.2", 4001 + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", 4002 + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", 4003 + "dev": true, 4004 + "license": "MIT", 4005 + "dependencies": { 4006 + "call-bound": "^1.0.3", 4007 + "has-tostringtag": "^1.0.2" 4008 + }, 4009 + "engines": { 4010 + "node": ">= 0.4" 4011 + }, 4012 + "funding": { 4013 + "url": "https://github.com/sponsors/ljharb" 4014 + } 4015 + }, 4016 + "node_modules/is-bun-module": { 4017 + "version": "2.0.0", 4018 + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", 4019 + "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", 4020 + "dev": true, 4021 + "license": "MIT", 4022 + "dependencies": { 4023 + "semver": "^7.7.1" 4024 + } 4025 + }, 4026 + "node_modules/is-bun-module/node_modules/semver": { 4027 + "version": "7.7.3", 4028 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", 4029 + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", 4030 + "dev": true, 4031 + "license": "ISC", 4032 + "bin": { 4033 + "semver": "bin/semver.js" 4034 + }, 4035 + "engines": { 4036 + "node": ">=10" 4037 + } 4038 + }, 4039 + "node_modules/is-callable": { 4040 + "version": "1.2.7", 4041 + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", 4042 + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", 4043 + "dev": true, 4044 + "license": "MIT", 4045 + "engines": { 4046 + "node": ">= 0.4" 4047 + }, 4048 + "funding": { 4049 + "url": "https://github.com/sponsors/ljharb" 4050 + } 4051 + }, 4052 + "node_modules/is-core-module": { 4053 + "version": "2.16.1", 4054 + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", 4055 + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", 4056 + "dev": true, 4057 + "license": "MIT", 4058 + "dependencies": { 4059 + "hasown": "^2.0.2" 4060 + }, 4061 + "engines": { 4062 + "node": ">= 0.4" 4063 + }, 4064 + "funding": { 4065 + "url": "https://github.com/sponsors/ljharb" 4066 + } 4067 + }, 4068 + "node_modules/is-data-view": { 4069 + "version": "1.0.2", 4070 + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", 4071 + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", 4072 + "dev": true, 4073 + "license": "MIT", 4074 + "dependencies": { 4075 + "call-bound": "^1.0.2", 4076 + "get-intrinsic": "^1.2.6", 4077 + "is-typed-array": "^1.1.13" 4078 + }, 4079 + "engines": { 4080 + "node": ">= 0.4" 4081 + }, 4082 + "funding": { 4083 + "url": "https://github.com/sponsors/ljharb" 4084 + } 4085 + }, 4086 + "node_modules/is-date-object": { 4087 + "version": "1.1.0", 4088 + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", 4089 + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", 4090 + "dev": true, 4091 + "license": "MIT", 4092 + "dependencies": { 4093 + "call-bound": "^1.0.2", 4094 + "has-tostringtag": "^1.0.2" 4095 + }, 4096 + "engines": { 4097 + "node": ">= 0.4" 4098 + }, 4099 + "funding": { 4100 + "url": "https://github.com/sponsors/ljharb" 4101 + } 4102 + }, 4103 + "node_modules/is-extglob": { 4104 + "version": "2.1.1", 4105 + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 4106 + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 4107 + "dev": true, 4108 + "license": "MIT", 4109 + "engines": { 4110 + "node": ">=0.10.0" 4111 + } 4112 + }, 4113 + "node_modules/is-finalizationregistry": { 4114 + "version": "1.1.1", 4115 + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", 4116 + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", 4117 + "dev": true, 4118 + "license": "MIT", 4119 + "dependencies": { 4120 + "call-bound": "^1.0.3" 4121 + }, 4122 + "engines": { 4123 + "node": ">= 0.4" 4124 + }, 4125 + "funding": { 4126 + "url": "https://github.com/sponsors/ljharb" 4127 + } 4128 + }, 4129 + "node_modules/is-generator-function": { 4130 + "version": "1.1.2", 4131 + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", 4132 + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", 4133 + "dev": true, 4134 + "license": "MIT", 4135 + "dependencies": { 4136 + "call-bound": "^1.0.4", 4137 + "generator-function": "^2.0.0", 4138 + "get-proto": "^1.0.1", 4139 + "has-tostringtag": "^1.0.2", 4140 + "safe-regex-test": "^1.1.0" 4141 + }, 4142 + "engines": { 4143 + "node": ">= 0.4" 4144 + }, 4145 + "funding": { 4146 + "url": "https://github.com/sponsors/ljharb" 4147 + } 4148 + }, 4149 + "node_modules/is-glob": { 4150 + "version": "4.0.3", 4151 + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 4152 + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 4153 + "dev": true, 4154 + "license": "MIT", 4155 + "dependencies": { 4156 + "is-extglob": "^2.1.1" 4157 + }, 4158 + "engines": { 4159 + "node": ">=0.10.0" 4160 + } 4161 + }, 4162 + "node_modules/is-map": { 4163 + "version": "2.0.3", 4164 + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", 4165 + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", 4166 + "dev": true, 4167 + "license": "MIT", 4168 + "engines": { 4169 + "node": ">= 0.4" 4170 + }, 4171 + "funding": { 4172 + "url": "https://github.com/sponsors/ljharb" 4173 + } 4174 + }, 4175 + "node_modules/is-negative-zero": { 4176 + "version": "2.0.3", 4177 + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", 4178 + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", 4179 + "dev": true, 4180 + "license": "MIT", 4181 + "engines": { 4182 + "node": ">= 0.4" 4183 + }, 4184 + "funding": { 4185 + "url": "https://github.com/sponsors/ljharb" 4186 + } 4187 + }, 4188 + "node_modules/is-number": { 4189 + "version": "7.0.0", 4190 + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 4191 + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 4192 + "dev": true, 4193 + "license": "MIT", 4194 + "engines": { 4195 + "node": ">=0.12.0" 4196 + } 4197 + }, 4198 + "node_modules/is-number-object": { 4199 + "version": "1.1.1", 4200 + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", 4201 + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", 4202 + "dev": true, 4203 + "license": "MIT", 4204 + "dependencies": { 4205 + "call-bound": "^1.0.3", 4206 + "has-tostringtag": "^1.0.2" 4207 + }, 4208 + "engines": { 4209 + "node": ">= 0.4" 4210 + }, 4211 + "funding": { 4212 + "url": "https://github.com/sponsors/ljharb" 4213 + } 4214 + }, 4215 + "node_modules/is-regex": { 4216 + "version": "1.2.1", 4217 + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", 4218 + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", 4219 + "dev": true, 4220 + "license": "MIT", 4221 + "dependencies": { 4222 + "call-bound": "^1.0.2", 4223 + "gopd": "^1.2.0", 4224 + "has-tostringtag": "^1.0.2", 4225 + "hasown": "^2.0.2" 4226 + }, 4227 + "engines": { 4228 + "node": ">= 0.4" 4229 + }, 4230 + "funding": { 4231 + "url": "https://github.com/sponsors/ljharb" 4232 + } 4233 + }, 4234 + "node_modules/is-set": { 4235 + "version": "2.0.3", 4236 + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", 4237 + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", 4238 + "dev": true, 4239 + "license": "MIT", 4240 + "engines": { 4241 + "node": ">= 0.4" 4242 + }, 4243 + "funding": { 4244 + "url": "https://github.com/sponsors/ljharb" 4245 + } 4246 + }, 4247 + "node_modules/is-shared-array-buffer": { 4248 + "version": "1.0.4", 4249 + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", 4250 + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", 4251 + "dev": true, 4252 + "license": "MIT", 4253 + "dependencies": { 4254 + "call-bound": "^1.0.3" 4255 + }, 4256 + "engines": { 4257 + "node": ">= 0.4" 4258 + }, 4259 + "funding": { 4260 + "url": "https://github.com/sponsors/ljharb" 4261 + } 4262 + }, 4263 + "node_modules/is-string": { 4264 + "version": "1.1.1", 4265 + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", 4266 + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", 4267 + "dev": true, 4268 + "license": "MIT", 4269 + "dependencies": { 4270 + "call-bound": "^1.0.3", 4271 + "has-tostringtag": "^1.0.2" 4272 + }, 4273 + "engines": { 4274 + "node": ">= 0.4" 4275 + }, 4276 + "funding": { 4277 + "url": "https://github.com/sponsors/ljharb" 4278 + } 4279 + }, 4280 + "node_modules/is-symbol": { 4281 + "version": "1.1.1", 4282 + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", 4283 + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", 4284 + "dev": true, 4285 + "license": "MIT", 4286 + "dependencies": { 4287 + "call-bound": "^1.0.2", 4288 + "has-symbols": "^1.1.0", 4289 + "safe-regex-test": "^1.1.0" 4290 + }, 4291 + "engines": { 4292 + "node": ">= 0.4" 4293 + }, 4294 + "funding": { 4295 + "url": "https://github.com/sponsors/ljharb" 4296 + } 4297 + }, 4298 + "node_modules/is-typed-array": { 4299 + "version": "1.1.15", 4300 + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", 4301 + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", 4302 + "dev": true, 4303 + "license": "MIT", 4304 + "dependencies": { 4305 + "which-typed-array": "^1.1.16" 4306 + }, 4307 + "engines": { 4308 + "node": ">= 0.4" 4309 + }, 4310 + "funding": { 4311 + "url": "https://github.com/sponsors/ljharb" 4312 + } 4313 + }, 4314 + "node_modules/is-weakmap": { 4315 + "version": "2.0.2", 4316 + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", 4317 + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", 4318 + "dev": true, 4319 + "license": "MIT", 4320 + "engines": { 4321 + "node": ">= 0.4" 4322 + }, 4323 + "funding": { 4324 + "url": "https://github.com/sponsors/ljharb" 4325 + } 4326 + }, 4327 + "node_modules/is-weakref": { 4328 + "version": "1.1.1", 4329 + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", 4330 + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", 4331 + "dev": true, 4332 + "license": "MIT", 4333 + "dependencies": { 4334 + "call-bound": "^1.0.3" 4335 + }, 4336 + "engines": { 4337 + "node": ">= 0.4" 4338 + }, 4339 + "funding": { 4340 + "url": "https://github.com/sponsors/ljharb" 4341 + } 4342 + }, 4343 + "node_modules/is-weakset": { 4344 + "version": "2.0.4", 4345 + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", 4346 + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", 4347 + "dev": true, 4348 + "license": "MIT", 4349 + "dependencies": { 4350 + "call-bound": "^1.0.3", 4351 + "get-intrinsic": "^1.2.6" 4352 + }, 4353 + "engines": { 4354 + "node": ">= 0.4" 4355 + }, 4356 + "funding": { 4357 + "url": "https://github.com/sponsors/ljharb" 4358 + } 4359 + }, 4360 + "node_modules/isarray": { 4361 + "version": "2.0.5", 4362 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", 4363 + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", 4364 + "dev": true, 4365 + "license": "MIT" 4366 + }, 4367 + "node_modules/isexe": { 4368 + "version": "2.0.0", 4369 + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 4370 + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 4371 + "dev": true, 4372 + "license": "ISC" 4373 + }, 4374 + "node_modules/iterator.prototype": { 4375 + "version": "1.1.5", 4376 + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", 4377 + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", 4378 + "dev": true, 4379 + "license": "MIT", 4380 + "dependencies": { 4381 + "define-data-property": "^1.1.4", 4382 + "es-object-atoms": "^1.0.0", 4383 + "get-intrinsic": "^1.2.6", 4384 + "get-proto": "^1.0.0", 4385 + "has-symbols": "^1.1.0", 4386 + "set-function-name": "^2.0.2" 4387 + }, 4388 + "engines": { 4389 + "node": ">= 0.4" 4390 + } 4391 + }, 4392 + "node_modules/jiti": { 4393 + "version": "2.6.1", 4394 + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", 4395 + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", 4396 + "dev": true, 4397 + "license": "MIT", 4398 + "bin": { 4399 + "jiti": "lib/jiti-cli.mjs" 4400 + } 4401 + }, 4402 + "node_modules/js-tokens": { 4403 + "version": "4.0.0", 4404 + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 4405 + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 4406 + "dev": true, 4407 + "license": "MIT" 4408 + }, 4409 + "node_modules/js-yaml": { 4410 + "version": "4.1.1", 4411 + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", 4412 + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", 4413 + "dev": true, 4414 + "license": "MIT", 4415 + "dependencies": { 4416 + "argparse": "^2.0.1" 4417 + }, 4418 + "bin": { 4419 + "js-yaml": "bin/js-yaml.js" 4420 + } 4421 + }, 4422 + "node_modules/jsesc": { 4423 + "version": "3.1.0", 4424 + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", 4425 + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", 4426 + "dev": true, 4427 + "license": "MIT", 4428 + "bin": { 4429 + "jsesc": "bin/jsesc" 4430 + }, 4431 + "engines": { 4432 + "node": ">=6" 4433 + } 4434 + }, 4435 + "node_modules/json-buffer": { 4436 + "version": "3.0.1", 4437 + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", 4438 + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", 4439 + "dev": true, 4440 + "license": "MIT" 4441 + }, 4442 + "node_modules/json-schema-traverse": { 4443 + "version": "0.4.1", 4444 + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 4445 + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 4446 + "dev": true, 4447 + "license": "MIT" 4448 + }, 4449 + "node_modules/json-stable-stringify-without-jsonify": { 4450 + "version": "1.0.1", 4451 + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 4452 + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", 4453 + "dev": true, 4454 + "license": "MIT" 4455 + }, 4456 + "node_modules/json5": { 4457 + "version": "2.2.3", 4458 + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", 4459 + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", 4460 + "dev": true, 4461 + "license": "MIT", 4462 + "bin": { 4463 + "json5": "lib/cli.js" 4464 + }, 4465 + "engines": { 4466 + "node": ">=6" 4467 + } 4468 + }, 4469 + "node_modules/jsx-ast-utils": { 4470 + "version": "3.3.5", 4471 + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", 4472 + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", 4473 + "dev": true, 4474 + "license": "MIT", 4475 + "dependencies": { 4476 + "array-includes": "^3.1.6", 4477 + "array.prototype.flat": "^1.3.1", 4478 + "object.assign": "^4.1.4", 4479 + "object.values": "^1.1.6" 4480 + }, 4481 + "engines": { 4482 + "node": ">=4.0" 4483 + } 4484 + }, 4485 + "node_modules/keyv": { 4486 + "version": "4.5.4", 4487 + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", 4488 + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", 4489 + "dev": true, 4490 + "license": "MIT", 4491 + "dependencies": { 4492 + "json-buffer": "3.0.1" 4493 + } 4494 + }, 4495 + "node_modules/language-subtag-registry": { 4496 + "version": "0.3.23", 4497 + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", 4498 + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", 4499 + "dev": true, 4500 + "license": "CC0-1.0" 4501 + }, 4502 + "node_modules/language-tags": { 4503 + "version": "1.0.9", 4504 + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", 4505 + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", 4506 + "dev": true, 4507 + "license": "MIT", 4508 + "dependencies": { 4509 + "language-subtag-registry": "^0.3.20" 4510 + }, 4511 + "engines": { 4512 + "node": ">=0.10" 4513 + } 4514 + }, 4515 + "node_modules/levn": { 4516 + "version": "0.4.1", 4517 + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 4518 + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 4519 + "dev": true, 4520 + "license": "MIT", 4521 + "dependencies": { 4522 + "prelude-ls": "^1.2.1", 4523 + "type-check": "~0.4.0" 4524 + }, 4525 + "engines": { 4526 + "node": ">= 0.8.0" 4527 + } 4528 + }, 4529 + "node_modules/lightningcss": { 4530 + "version": "1.30.2", 4531 + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", 4532 + "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", 4533 + "dev": true, 4534 + "license": "MPL-2.0", 4535 + "dependencies": { 4536 + "detect-libc": "^2.0.3" 4537 + }, 4538 + "engines": { 4539 + "node": ">= 12.0.0" 4540 + }, 4541 + "funding": { 4542 + "type": "opencollective", 4543 + "url": "https://opencollective.com/parcel" 4544 + }, 4545 + "optionalDependencies": { 4546 + "lightningcss-android-arm64": "1.30.2", 4547 + "lightningcss-darwin-arm64": "1.30.2", 4548 + "lightningcss-darwin-x64": "1.30.2", 4549 + "lightningcss-freebsd-x64": "1.30.2", 4550 + "lightningcss-linux-arm-gnueabihf": "1.30.2", 4551 + "lightningcss-linux-arm64-gnu": "1.30.2", 4552 + "lightningcss-linux-arm64-musl": "1.30.2", 4553 + "lightningcss-linux-x64-gnu": "1.30.2", 4554 + "lightningcss-linux-x64-musl": "1.30.2", 4555 + "lightningcss-win32-arm64-msvc": "1.30.2", 4556 + "lightningcss-win32-x64-msvc": "1.30.2" 4557 + } 4558 + }, 4559 + "node_modules/lightningcss-android-arm64": { 4560 + "version": "1.30.2", 4561 + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", 4562 + "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", 4563 + "cpu": [ 4564 + "arm64" 4565 + ], 4566 + "dev": true, 4567 + "license": "MPL-2.0", 4568 + "optional": true, 4569 + "os": [ 4570 + "android" 4571 + ], 4572 + "engines": { 4573 + "node": ">= 12.0.0" 4574 + }, 4575 + "funding": { 4576 + "type": "opencollective", 4577 + "url": "https://opencollective.com/parcel" 4578 + } 4579 + }, 4580 + "node_modules/lightningcss-darwin-arm64": { 4581 + "version": "1.30.2", 4582 + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", 4583 + "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", 4584 + "cpu": [ 4585 + "arm64" 4586 + ], 4587 + "dev": true, 4588 + "license": "MPL-2.0", 4589 + "optional": true, 4590 + "os": [ 4591 + "darwin" 4592 + ], 4593 + "engines": { 4594 + "node": ">= 12.0.0" 4595 + }, 4596 + "funding": { 4597 + "type": "opencollective", 4598 + "url": "https://opencollective.com/parcel" 4599 + } 4600 + }, 4601 + "node_modules/lightningcss-darwin-x64": { 4602 + "version": "1.30.2", 4603 + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", 4604 + "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", 4605 + "cpu": [ 4606 + "x64" 4607 + ], 4608 + "dev": true, 4609 + "license": "MPL-2.0", 4610 + "optional": true, 4611 + "os": [ 4612 + "darwin" 4613 + ], 4614 + "engines": { 4615 + "node": ">= 12.0.0" 4616 + }, 4617 + "funding": { 4618 + "type": "opencollective", 4619 + "url": "https://opencollective.com/parcel" 4620 + } 4621 + }, 4622 + "node_modules/lightningcss-freebsd-x64": { 4623 + "version": "1.30.2", 4624 + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", 4625 + "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", 4626 + "cpu": [ 4627 + "x64" 4628 + ], 4629 + "dev": true, 4630 + "license": "MPL-2.0", 4631 + "optional": true, 4632 + "os": [ 4633 + "freebsd" 4634 + ], 4635 + "engines": { 4636 + "node": ">= 12.0.0" 4637 + }, 4638 + "funding": { 4639 + "type": "opencollective", 4640 + "url": "https://opencollective.com/parcel" 4641 + } 4642 + }, 4643 + "node_modules/lightningcss-linux-arm-gnueabihf": { 4644 + "version": "1.30.2", 4645 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", 4646 + "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", 4647 + "cpu": [ 4648 + "arm" 4649 + ], 4650 + "dev": true, 4651 + "license": "MPL-2.0", 4652 + "optional": true, 4653 + "os": [ 4654 + "linux" 4655 + ], 4656 + "engines": { 4657 + "node": ">= 12.0.0" 4658 + }, 4659 + "funding": { 4660 + "type": "opencollective", 4661 + "url": "https://opencollective.com/parcel" 4662 + } 4663 + }, 4664 + "node_modules/lightningcss-linux-arm64-gnu": { 4665 + "version": "1.30.2", 4666 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", 4667 + "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", 4668 + "cpu": [ 4669 + "arm64" 4670 + ], 4671 + "dev": true, 4672 + "license": "MPL-2.0", 4673 + "optional": true, 4674 + "os": [ 4675 + "linux" 4676 + ], 4677 + "engines": { 4678 + "node": ">= 12.0.0" 4679 + }, 4680 + "funding": { 4681 + "type": "opencollective", 4682 + "url": "https://opencollective.com/parcel" 4683 + } 4684 + }, 4685 + "node_modules/lightningcss-linux-arm64-musl": { 4686 + "version": "1.30.2", 4687 + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", 4688 + "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", 4689 + "cpu": [ 4690 + "arm64" 4691 + ], 4692 + "dev": true, 4693 + "license": "MPL-2.0", 4694 + "optional": true, 4695 + "os": [ 4696 + "linux" 4697 + ], 4698 + "engines": { 4699 + "node": ">= 12.0.0" 4700 + }, 4701 + "funding": { 4702 + "type": "opencollective", 4703 + "url": "https://opencollective.com/parcel" 4704 + } 4705 + }, 4706 + "node_modules/lightningcss-linux-x64-gnu": { 4707 + "version": "1.30.2", 4708 + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", 4709 + "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", 4710 + "cpu": [ 4711 + "x64" 4712 + ], 4713 + "dev": true, 4714 + "license": "MPL-2.0", 4715 + "optional": true, 4716 + "os": [ 4717 + "linux" 4718 + ], 4719 + "engines": { 4720 + "node": ">= 12.0.0" 4721 + }, 4722 + "funding": { 4723 + "type": "opencollective", 4724 + "url": "https://opencollective.com/parcel" 4725 + } 4726 + }, 4727 + "node_modules/lightningcss-linux-x64-musl": { 4728 + "version": "1.30.2", 4729 + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", 4730 + "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", 4731 + "cpu": [ 4732 + "x64" 4733 + ], 4734 + "dev": true, 4735 + "license": "MPL-2.0", 4736 + "optional": true, 4737 + "os": [ 4738 + "linux" 4739 + ], 4740 + "engines": { 4741 + "node": ">= 12.0.0" 4742 + }, 4743 + "funding": { 4744 + "type": "opencollective", 4745 + "url": "https://opencollective.com/parcel" 4746 + } 4747 + }, 4748 + "node_modules/lightningcss-win32-arm64-msvc": { 4749 + "version": "1.30.2", 4750 + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", 4751 + "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", 4752 + "cpu": [ 4753 + "arm64" 4754 + ], 4755 + "dev": true, 4756 + "license": "MPL-2.0", 4757 + "optional": true, 4758 + "os": [ 4759 + "win32" 4760 + ], 4761 + "engines": { 4762 + "node": ">= 12.0.0" 4763 + }, 4764 + "funding": { 4765 + "type": "opencollective", 4766 + "url": "https://opencollective.com/parcel" 4767 + } 4768 + }, 4769 + "node_modules/lightningcss-win32-x64-msvc": { 4770 + "version": "1.30.2", 4771 + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", 4772 + "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", 4773 + "cpu": [ 4774 + "x64" 4775 + ], 4776 + "dev": true, 4777 + "license": "MPL-2.0", 4778 + "optional": true, 4779 + "os": [ 4780 + "win32" 4781 + ], 4782 + "engines": { 4783 + "node": ">= 12.0.0" 4784 + }, 4785 + "funding": { 4786 + "type": "opencollective", 4787 + "url": "https://opencollective.com/parcel" 4788 + } 4789 + }, 4790 + "node_modules/locate-path": { 4791 + "version": "6.0.0", 4792 + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", 4793 + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", 4794 + "dev": true, 4795 + "license": "MIT", 4796 + "dependencies": { 4797 + "p-locate": "^5.0.0" 4798 + }, 4799 + "engines": { 4800 + "node": ">=10" 4801 + }, 4802 + "funding": { 4803 + "url": "https://github.com/sponsors/sindresorhus" 4804 + } 4805 + }, 4806 + "node_modules/lodash.merge": { 4807 + "version": "4.6.2", 4808 + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 4809 + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 4810 + "dev": true, 4811 + "license": "MIT" 4812 + }, 4813 + "node_modules/loose-envify": { 4814 + "version": "1.4.0", 4815 + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 4816 + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 4817 + "dev": true, 4818 + "license": "MIT", 4819 + "dependencies": { 4820 + "js-tokens": "^3.0.0 || ^4.0.0" 4821 + }, 4822 + "bin": { 4823 + "loose-envify": "cli.js" 4824 + } 4825 + }, 4826 + "node_modules/lru-cache": { 4827 + "version": "5.1.1", 4828 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", 4829 + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", 4830 + "dev": true, 4831 + "license": "ISC", 4832 + "dependencies": { 4833 + "yallist": "^3.0.2" 4834 + } 4835 + }, 4836 + "node_modules/magic-string": { 4837 + "version": "0.30.21", 4838 + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", 4839 + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", 4840 + "dev": true, 4841 + "license": "MIT", 4842 + "dependencies": { 4843 + "@jridgewell/sourcemap-codec": "^1.5.5" 4844 + } 4845 + }, 4846 + "node_modules/math-intrinsics": { 4847 + "version": "1.1.0", 4848 + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", 4849 + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", 4850 + "dev": true, 4851 + "license": "MIT", 4852 + "engines": { 4853 + "node": ">= 0.4" 4854 + } 4855 + }, 4856 + "node_modules/merge2": { 4857 + "version": "1.4.1", 4858 + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 4859 + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 4860 + "dev": true, 4861 + "license": "MIT", 4862 + "engines": { 4863 + "node": ">= 8" 4864 + } 4865 + }, 4866 + "node_modules/micromatch": { 4867 + "version": "4.0.8", 4868 + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", 4869 + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", 4870 + "dev": true, 4871 + "license": "MIT", 4872 + "dependencies": { 4873 + "braces": "^3.0.3", 4874 + "picomatch": "^2.3.1" 4875 + }, 4876 + "engines": { 4877 + "node": ">=8.6" 4878 + } 4879 + }, 4880 + "node_modules/minimatch": { 4881 + "version": "3.1.2", 4882 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 4883 + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 4884 + "dev": true, 4885 + "license": "ISC", 4886 + "dependencies": { 4887 + "brace-expansion": "^1.1.7" 4888 + }, 4889 + "engines": { 4890 + "node": "*" 4891 + } 4892 + }, 4893 + "node_modules/minimist": { 4894 + "version": "1.2.8", 4895 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 4896 + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 4897 + "dev": true, 4898 + "license": "MIT", 4899 + "funding": { 4900 + "url": "https://github.com/sponsors/ljharb" 4901 + } 4902 + }, 4903 + "node_modules/ms": { 4904 + "version": "2.1.3", 4905 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 4906 + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 4907 + "dev": true, 4908 + "license": "MIT" 4909 + }, 4910 + "node_modules/nanoid": { 4911 + "version": "3.3.11", 4912 + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", 4913 + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", 4914 + "funding": [ 4915 + { 4916 + "type": "github", 4917 + "url": "https://github.com/sponsors/ai" 4918 + } 4919 + ], 4920 + "license": "MIT", 4921 + "bin": { 4922 + "nanoid": "bin/nanoid.cjs" 4923 + }, 4924 + "engines": { 4925 + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 4926 + } 4927 + }, 4928 + "node_modules/napi-postinstall": { 4929 + "version": "0.3.4", 4930 + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", 4931 + "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", 4932 + "dev": true, 4933 + "license": "MIT", 4934 + "bin": { 4935 + "napi-postinstall": "lib/cli.js" 4936 + }, 4937 + "engines": { 4938 + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" 4939 + }, 4940 + "funding": { 4941 + "url": "https://opencollective.com/napi-postinstall" 4942 + } 4943 + }, 4944 + "node_modules/natural-compare": { 4945 + "version": "1.4.0", 4946 + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 4947 + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 4948 + "dev": true, 4949 + "license": "MIT" 4950 + }, 4951 + "node_modules/next": { 4952 + "version": "16.1.1", 4953 + "resolved": "https://registry.npmjs.org/next/-/next-16.1.1.tgz", 4954 + "integrity": "sha512-QI+T7xrxt1pF6SQ/JYFz95ro/mg/1Znk5vBebsWwbpejj1T0A23hO7GYEaVac9QUOT2BIMiuzm0L99ooq7k0/w==", 4955 + "license": "MIT", 4956 + "dependencies": { 4957 + "@next/env": "16.1.1", 4958 + "@swc/helpers": "0.5.15", 4959 + "baseline-browser-mapping": "^2.8.3", 4960 + "caniuse-lite": "^1.0.30001579", 4961 + "postcss": "8.4.31", 4962 + "styled-jsx": "5.1.6" 4963 + }, 4964 + "bin": { 4965 + "next": "dist/bin/next" 4966 + }, 4967 + "engines": { 4968 + "node": ">=20.9.0" 4969 + }, 4970 + "optionalDependencies": { 4971 + "@next/swc-darwin-arm64": "16.1.1", 4972 + "@next/swc-darwin-x64": "16.1.1", 4973 + "@next/swc-linux-arm64-gnu": "16.1.1", 4974 + "@next/swc-linux-arm64-musl": "16.1.1", 4975 + "@next/swc-linux-x64-gnu": "16.1.1", 4976 + "@next/swc-linux-x64-musl": "16.1.1", 4977 + "@next/swc-win32-arm64-msvc": "16.1.1", 4978 + "@next/swc-win32-x64-msvc": "16.1.1", 4979 + "sharp": "^0.34.4" 4980 + }, 4981 + "peerDependencies": { 4982 + "@opentelemetry/api": "^1.1.0", 4983 + "@playwright/test": "^1.51.1", 4984 + "babel-plugin-react-compiler": "*", 4985 + "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", 4986 + "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", 4987 + "sass": "^1.3.0" 4988 + }, 4989 + "peerDependenciesMeta": { 4990 + "@opentelemetry/api": { 4991 + "optional": true 4992 + }, 4993 + "@playwright/test": { 4994 + "optional": true 4995 + }, 4996 + "babel-plugin-react-compiler": { 4997 + "optional": true 4998 + }, 4999 + "sass": { 5000 + "optional": true 5001 + } 5002 + } 5003 + }, 5004 + "node_modules/next/node_modules/postcss": { 5005 + "version": "8.4.31", 5006 + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", 5007 + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", 5008 + "funding": [ 5009 + { 5010 + "type": "opencollective", 5011 + "url": "https://opencollective.com/postcss/" 5012 + }, 5013 + { 5014 + "type": "tidelift", 5015 + "url": "https://tidelift.com/funding/github/npm/postcss" 5016 + }, 5017 + { 5018 + "type": "github", 5019 + "url": "https://github.com/sponsors/ai" 5020 + } 5021 + ], 5022 + "license": "MIT", 5023 + "dependencies": { 5024 + "nanoid": "^3.3.6", 5025 + "picocolors": "^1.0.0", 5026 + "source-map-js": "^1.0.2" 5027 + }, 5028 + "engines": { 5029 + "node": "^10 || ^12 || >=14" 5030 + } 5031 + }, 5032 + "node_modules/node-releases": { 5033 + "version": "2.0.27", 5034 + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", 5035 + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", 5036 + "dev": true, 5037 + "license": "MIT" 5038 + }, 5039 + "node_modules/object-assign": { 5040 + "version": "4.1.1", 5041 + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 5042 + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 5043 + "dev": true, 5044 + "license": "MIT", 5045 + "engines": { 5046 + "node": ">=0.10.0" 5047 + } 5048 + }, 5049 + "node_modules/object-inspect": { 5050 + "version": "1.13.4", 5051 + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", 5052 + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", 5053 + "dev": true, 5054 + "license": "MIT", 5055 + "engines": { 5056 + "node": ">= 0.4" 5057 + }, 5058 + "funding": { 5059 + "url": "https://github.com/sponsors/ljharb" 5060 + } 5061 + }, 5062 + "node_modules/object-keys": { 5063 + "version": "1.1.1", 5064 + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 5065 + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", 5066 + "dev": true, 5067 + "license": "MIT", 5068 + "engines": { 5069 + "node": ">= 0.4" 5070 + } 5071 + }, 5072 + "node_modules/object.assign": { 5073 + "version": "4.1.7", 5074 + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", 5075 + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", 5076 + "dev": true, 5077 + "license": "MIT", 5078 + "dependencies": { 5079 + "call-bind": "^1.0.8", 5080 + "call-bound": "^1.0.3", 5081 + "define-properties": "^1.2.1", 5082 + "es-object-atoms": "^1.0.0", 5083 + "has-symbols": "^1.1.0", 5084 + "object-keys": "^1.1.1" 5085 + }, 5086 + "engines": { 5087 + "node": ">= 0.4" 5088 + }, 5089 + "funding": { 5090 + "url": "https://github.com/sponsors/ljharb" 5091 + } 5092 + }, 5093 + "node_modules/object.entries": { 5094 + "version": "1.1.9", 5095 + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", 5096 + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", 5097 + "dev": true, 5098 + "license": "MIT", 5099 + "dependencies": { 5100 + "call-bind": "^1.0.8", 5101 + "call-bound": "^1.0.4", 5102 + "define-properties": "^1.2.1", 5103 + "es-object-atoms": "^1.1.1" 5104 + }, 5105 + "engines": { 5106 + "node": ">= 0.4" 5107 + } 5108 + }, 5109 + "node_modules/object.fromentries": { 5110 + "version": "2.0.8", 5111 + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", 5112 + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", 5113 + "dev": true, 5114 + "license": "MIT", 5115 + "dependencies": { 5116 + "call-bind": "^1.0.7", 5117 + "define-properties": "^1.2.1", 5118 + "es-abstract": "^1.23.2", 5119 + "es-object-atoms": "^1.0.0" 5120 + }, 5121 + "engines": { 5122 + "node": ">= 0.4" 5123 + }, 5124 + "funding": { 5125 + "url": "https://github.com/sponsors/ljharb" 5126 + } 5127 + }, 5128 + "node_modules/object.groupby": { 5129 + "version": "1.0.3", 5130 + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", 5131 + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", 5132 + "dev": true, 5133 + "license": "MIT", 5134 + "dependencies": { 5135 + "call-bind": "^1.0.7", 5136 + "define-properties": "^1.2.1", 5137 + "es-abstract": "^1.23.2" 5138 + }, 5139 + "engines": { 5140 + "node": ">= 0.4" 5141 + } 5142 + }, 5143 + "node_modules/object.values": { 5144 + "version": "1.2.1", 5145 + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", 5146 + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", 5147 + "dev": true, 5148 + "license": "MIT", 5149 + "dependencies": { 5150 + "call-bind": "^1.0.8", 5151 + "call-bound": "^1.0.3", 5152 + "define-properties": "^1.2.1", 5153 + "es-object-atoms": "^1.0.0" 5154 + }, 5155 + "engines": { 5156 + "node": ">= 0.4" 5157 + }, 5158 + "funding": { 5159 + "url": "https://github.com/sponsors/ljharb" 5160 + } 5161 + }, 5162 + "node_modules/optionator": { 5163 + "version": "0.9.4", 5164 + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", 5165 + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", 5166 + "dev": true, 5167 + "license": "MIT", 5168 + "dependencies": { 5169 + "deep-is": "^0.1.3", 5170 + "fast-levenshtein": "^2.0.6", 5171 + "levn": "^0.4.1", 5172 + "prelude-ls": "^1.2.1", 5173 + "type-check": "^0.4.0", 5174 + "word-wrap": "^1.2.5" 5175 + }, 5176 + "engines": { 5177 + "node": ">= 0.8.0" 5178 + } 5179 + }, 5180 + "node_modules/own-keys": { 5181 + "version": "1.0.1", 5182 + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", 5183 + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", 5184 + "dev": true, 5185 + "license": "MIT", 5186 + "dependencies": { 5187 + "get-intrinsic": "^1.2.6", 5188 + "object-keys": "^1.1.1", 5189 + "safe-push-apply": "^1.0.0" 5190 + }, 5191 + "engines": { 5192 + "node": ">= 0.4" 5193 + }, 5194 + "funding": { 5195 + "url": "https://github.com/sponsors/ljharb" 5196 + } 5197 + }, 5198 + "node_modules/p-limit": { 5199 + "version": "3.1.0", 5200 + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", 5201 + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", 5202 + "dev": true, 5203 + "license": "MIT", 5204 + "dependencies": { 5205 + "yocto-queue": "^0.1.0" 5206 + }, 5207 + "engines": { 5208 + "node": ">=10" 5209 + }, 5210 + "funding": { 5211 + "url": "https://github.com/sponsors/sindresorhus" 5212 + } 5213 + }, 5214 + "node_modules/p-locate": { 5215 + "version": "5.0.0", 5216 + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", 5217 + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", 5218 + "dev": true, 5219 + "license": "MIT", 5220 + "dependencies": { 5221 + "p-limit": "^3.0.2" 5222 + }, 5223 + "engines": { 5224 + "node": ">=10" 5225 + }, 5226 + "funding": { 5227 + "url": "https://github.com/sponsors/sindresorhus" 5228 + } 5229 + }, 5230 + "node_modules/parent-module": { 5231 + "version": "1.0.1", 5232 + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 5233 + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 5234 + "dev": true, 5235 + "license": "MIT", 5236 + "dependencies": { 5237 + "callsites": "^3.0.0" 5238 + }, 5239 + "engines": { 5240 + "node": ">=6" 5241 + } 5242 + }, 5243 + "node_modules/path-exists": { 5244 + "version": "4.0.0", 5245 + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 5246 + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 5247 + "dev": true, 5248 + "license": "MIT", 5249 + "engines": { 5250 + "node": ">=8" 5251 + } 5252 + }, 5253 + "node_modules/path-key": { 5254 + "version": "3.1.1", 5255 + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 5256 + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 5257 + "dev": true, 5258 + "license": "MIT", 5259 + "engines": { 5260 + "node": ">=8" 5261 + } 5262 + }, 5263 + "node_modules/path-parse": { 5264 + "version": "1.0.7", 5265 + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 5266 + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 5267 + "dev": true, 5268 + "license": "MIT" 5269 + }, 5270 + "node_modules/picocolors": { 5271 + "version": "1.1.1", 5272 + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 5273 + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", 5274 + "license": "ISC" 5275 + }, 5276 + "node_modules/picomatch": { 5277 + "version": "2.3.1", 5278 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 5279 + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 5280 + "dev": true, 5281 + "license": "MIT", 5282 + "engines": { 5283 + "node": ">=8.6" 5284 + }, 5285 + "funding": { 5286 + "url": "https://github.com/sponsors/jonschlinkert" 5287 + } 5288 + }, 5289 + "node_modules/possible-typed-array-names": { 5290 + "version": "1.1.0", 5291 + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", 5292 + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", 5293 + "dev": true, 5294 + "license": "MIT", 5295 + "engines": { 5296 + "node": ">= 0.4" 5297 + } 5298 + }, 5299 + "node_modules/postcss": { 5300 + "version": "8.5.6", 5301 + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", 5302 + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", 5303 + "dev": true, 5304 + "funding": [ 5305 + { 5306 + "type": "opencollective", 5307 + "url": "https://opencollective.com/postcss/" 5308 + }, 5309 + { 5310 + "type": "tidelift", 5311 + "url": "https://tidelift.com/funding/github/npm/postcss" 5312 + }, 5313 + { 5314 + "type": "github", 5315 + "url": "https://github.com/sponsors/ai" 5316 + } 5317 + ], 5318 + "license": "MIT", 5319 + "dependencies": { 5320 + "nanoid": "^3.3.11", 5321 + "picocolors": "^1.1.1", 5322 + "source-map-js": "^1.2.1" 5323 + }, 5324 + "engines": { 5325 + "node": "^10 || ^12 || >=14" 5326 + } 5327 + }, 5328 + "node_modules/prelude-ls": { 5329 + "version": "1.2.1", 5330 + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 5331 + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 5332 + "dev": true, 5333 + "license": "MIT", 5334 + "engines": { 5335 + "node": ">= 0.8.0" 5336 + } 5337 + }, 5338 + "node_modules/prop-types": { 5339 + "version": "15.8.1", 5340 + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", 5341 + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", 5342 + "dev": true, 5343 + "license": "MIT", 5344 + "dependencies": { 5345 + "loose-envify": "^1.4.0", 5346 + "object-assign": "^4.1.1", 5347 + "react-is": "^16.13.1" 5348 + } 5349 + }, 5350 + "node_modules/punycode": { 5351 + "version": "2.3.1", 5352 + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", 5353 + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", 5354 + "dev": true, 5355 + "license": "MIT", 5356 + "engines": { 5357 + "node": ">=6" 5358 + } 5359 + }, 5360 + "node_modules/queue-microtask": { 5361 + "version": "1.2.3", 5362 + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 5363 + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 5364 + "dev": true, 5365 + "funding": [ 5366 + { 5367 + "type": "github", 5368 + "url": "https://github.com/sponsors/feross" 5369 + }, 5370 + { 5371 + "type": "patreon", 5372 + "url": "https://www.patreon.com/feross" 5373 + }, 5374 + { 5375 + "type": "consulting", 5376 + "url": "https://feross.org/support" 5377 + } 5378 + ], 5379 + "license": "MIT" 5380 + }, 5381 + "node_modules/react": { 5382 + "version": "19.2.3", 5383 + "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz", 5384 + "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", 5385 + "license": "MIT", 5386 + "engines": { 5387 + "node": ">=0.10.0" 5388 + } 5389 + }, 5390 + "node_modules/react-dom": { 5391 + "version": "19.2.3", 5392 + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz", 5393 + "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", 5394 + "license": "MIT", 5395 + "dependencies": { 5396 + "scheduler": "^0.27.0" 5397 + }, 5398 + "peerDependencies": { 5399 + "react": "^19.2.3" 5400 + } 5401 + }, 5402 + "node_modules/react-is": { 5403 + "version": "16.13.1", 5404 + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", 5405 + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", 5406 + "dev": true, 5407 + "license": "MIT" 5408 + }, 5409 + "node_modules/reflect.getprototypeof": { 5410 + "version": "1.0.10", 5411 + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", 5412 + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", 5413 + "dev": true, 5414 + "license": "MIT", 5415 + "dependencies": { 5416 + "call-bind": "^1.0.8", 5417 + "define-properties": "^1.2.1", 5418 + "es-abstract": "^1.23.9", 5419 + "es-errors": "^1.3.0", 5420 + "es-object-atoms": "^1.0.0", 5421 + "get-intrinsic": "^1.2.7", 5422 + "get-proto": "^1.0.1", 5423 + "which-builtin-type": "^1.2.1" 5424 + }, 5425 + "engines": { 5426 + "node": ">= 0.4" 5427 + }, 5428 + "funding": { 5429 + "url": "https://github.com/sponsors/ljharb" 5430 + } 5431 + }, 5432 + "node_modules/regexp.prototype.flags": { 5433 + "version": "1.5.4", 5434 + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", 5435 + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", 5436 + "dev": true, 5437 + "license": "MIT", 5438 + "dependencies": { 5439 + "call-bind": "^1.0.8", 5440 + "define-properties": "^1.2.1", 5441 + "es-errors": "^1.3.0", 5442 + "get-proto": "^1.0.1", 5443 + "gopd": "^1.2.0", 5444 + "set-function-name": "^2.0.2" 5445 + }, 5446 + "engines": { 5447 + "node": ">= 0.4" 5448 + }, 5449 + "funding": { 5450 + "url": "https://github.com/sponsors/ljharb" 5451 + } 5452 + }, 5453 + "node_modules/resolve": { 5454 + "version": "1.22.11", 5455 + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", 5456 + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", 5457 + "dev": true, 5458 + "license": "MIT", 5459 + "dependencies": { 5460 + "is-core-module": "^2.16.1", 5461 + "path-parse": "^1.0.7", 5462 + "supports-preserve-symlinks-flag": "^1.0.0" 5463 + }, 5464 + "bin": { 5465 + "resolve": "bin/resolve" 5466 + }, 5467 + "engines": { 5468 + "node": ">= 0.4" 5469 + }, 5470 + "funding": { 5471 + "url": "https://github.com/sponsors/ljharb" 5472 + } 5473 + }, 5474 + "node_modules/resolve-from": { 5475 + "version": "4.0.0", 5476 + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 5477 + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 5478 + "dev": true, 5479 + "license": "MIT", 5480 + "engines": { 5481 + "node": ">=4" 5482 + } 5483 + }, 5484 + "node_modules/resolve-pkg-maps": { 5485 + "version": "1.0.0", 5486 + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", 5487 + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", 5488 + "dev": true, 5489 + "license": "MIT", 5490 + "funding": { 5491 + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" 5492 + } 5493 + }, 5494 + "node_modules/reusify": { 5495 + "version": "1.1.0", 5496 + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", 5497 + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", 5498 + "dev": true, 5499 + "license": "MIT", 5500 + "engines": { 5501 + "iojs": ">=1.0.0", 5502 + "node": ">=0.10.0" 5503 + } 5504 + }, 5505 + "node_modules/run-parallel": { 5506 + "version": "1.2.0", 5507 + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 5508 + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 5509 + "dev": true, 5510 + "funding": [ 5511 + { 5512 + "type": "github", 5513 + "url": "https://github.com/sponsors/feross" 5514 + }, 5515 + { 5516 + "type": "patreon", 5517 + "url": "https://www.patreon.com/feross" 5518 + }, 5519 + { 5520 + "type": "consulting", 5521 + "url": "https://feross.org/support" 5522 + } 5523 + ], 5524 + "license": "MIT", 5525 + "dependencies": { 5526 + "queue-microtask": "^1.2.2" 5527 + } 5528 + }, 5529 + "node_modules/safe-array-concat": { 5530 + "version": "1.1.3", 5531 + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", 5532 + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", 5533 + "dev": true, 5534 + "license": "MIT", 5535 + "dependencies": { 5536 + "call-bind": "^1.0.8", 5537 + "call-bound": "^1.0.2", 5538 + "get-intrinsic": "^1.2.6", 5539 + "has-symbols": "^1.1.0", 5540 + "isarray": "^2.0.5" 5541 + }, 5542 + "engines": { 5543 + "node": ">=0.4" 5544 + }, 5545 + "funding": { 5546 + "url": "https://github.com/sponsors/ljharb" 5547 + } 5548 + }, 5549 + "node_modules/safe-push-apply": { 5550 + "version": "1.0.0", 5551 + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", 5552 + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", 5553 + "dev": true, 5554 + "license": "MIT", 5555 + "dependencies": { 5556 + "es-errors": "^1.3.0", 5557 + "isarray": "^2.0.5" 5558 + }, 5559 + "engines": { 5560 + "node": ">= 0.4" 5561 + }, 5562 + "funding": { 5563 + "url": "https://github.com/sponsors/ljharb" 5564 + } 5565 + }, 5566 + "node_modules/safe-regex-test": { 5567 + "version": "1.1.0", 5568 + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", 5569 + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", 5570 + "dev": true, 5571 + "license": "MIT", 5572 + "dependencies": { 5573 + "call-bound": "^1.0.2", 5574 + "es-errors": "^1.3.0", 5575 + "is-regex": "^1.2.1" 5576 + }, 5577 + "engines": { 5578 + "node": ">= 0.4" 5579 + }, 5580 + "funding": { 5581 + "url": "https://github.com/sponsors/ljharb" 5582 + } 5583 + }, 5584 + "node_modules/scheduler": { 5585 + "version": "0.27.0", 5586 + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", 5587 + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", 5588 + "license": "MIT" 5589 + }, 5590 + "node_modules/semver": { 5591 + "version": "6.3.1", 5592 + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 5593 + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 5594 + "dev": true, 5595 + "license": "ISC", 5596 + "bin": { 5597 + "semver": "bin/semver.js" 5598 + } 5599 + }, 5600 + "node_modules/set-function-length": { 5601 + "version": "1.2.2", 5602 + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", 5603 + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", 5604 + "dev": true, 5605 + "license": "MIT", 5606 + "dependencies": { 5607 + "define-data-property": "^1.1.4", 5608 + "es-errors": "^1.3.0", 5609 + "function-bind": "^1.1.2", 5610 + "get-intrinsic": "^1.2.4", 5611 + "gopd": "^1.0.1", 5612 + "has-property-descriptors": "^1.0.2" 5613 + }, 5614 + "engines": { 5615 + "node": ">= 0.4" 5616 + } 5617 + }, 5618 + "node_modules/set-function-name": { 5619 + "version": "2.0.2", 5620 + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", 5621 + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", 5622 + "dev": true, 5623 + "license": "MIT", 5624 + "dependencies": { 5625 + "define-data-property": "^1.1.4", 5626 + "es-errors": "^1.3.0", 5627 + "functions-have-names": "^1.2.3", 5628 + "has-property-descriptors": "^1.0.2" 5629 + }, 5630 + "engines": { 5631 + "node": ">= 0.4" 5632 + } 5633 + }, 5634 + "node_modules/set-proto": { 5635 + "version": "1.0.0", 5636 + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", 5637 + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", 5638 + "dev": true, 5639 + "license": "MIT", 5640 + "dependencies": { 5641 + "dunder-proto": "^1.0.1", 5642 + "es-errors": "^1.3.0", 5643 + "es-object-atoms": "^1.0.0" 5644 + }, 5645 + "engines": { 5646 + "node": ">= 0.4" 5647 + } 5648 + }, 5649 + "node_modules/sharp": { 5650 + "version": "0.34.5", 5651 + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", 5652 + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", 5653 + "hasInstallScript": true, 5654 + "license": "Apache-2.0", 5655 + "optional": true, 5656 + "dependencies": { 5657 + "@img/colour": "^1.0.0", 5658 + "detect-libc": "^2.1.2", 5659 + "semver": "^7.7.3" 5660 + }, 5661 + "engines": { 5662 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 5663 + }, 5664 + "funding": { 5665 + "url": "https://opencollective.com/libvips" 5666 + }, 5667 + "optionalDependencies": { 5668 + "@img/sharp-darwin-arm64": "0.34.5", 5669 + "@img/sharp-darwin-x64": "0.34.5", 5670 + "@img/sharp-libvips-darwin-arm64": "1.2.4", 5671 + "@img/sharp-libvips-darwin-x64": "1.2.4", 5672 + "@img/sharp-libvips-linux-arm": "1.2.4", 5673 + "@img/sharp-libvips-linux-arm64": "1.2.4", 5674 + "@img/sharp-libvips-linux-ppc64": "1.2.4", 5675 + "@img/sharp-libvips-linux-riscv64": "1.2.4", 5676 + "@img/sharp-libvips-linux-s390x": "1.2.4", 5677 + "@img/sharp-libvips-linux-x64": "1.2.4", 5678 + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", 5679 + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", 5680 + "@img/sharp-linux-arm": "0.34.5", 5681 + "@img/sharp-linux-arm64": "0.34.5", 5682 + "@img/sharp-linux-ppc64": "0.34.5", 5683 + "@img/sharp-linux-riscv64": "0.34.5", 5684 + "@img/sharp-linux-s390x": "0.34.5", 5685 + "@img/sharp-linux-x64": "0.34.5", 5686 + "@img/sharp-linuxmusl-arm64": "0.34.5", 5687 + "@img/sharp-linuxmusl-x64": "0.34.5", 5688 + "@img/sharp-wasm32": "0.34.5", 5689 + "@img/sharp-win32-arm64": "0.34.5", 5690 + "@img/sharp-win32-ia32": "0.34.5", 5691 + "@img/sharp-win32-x64": "0.34.5" 5692 + } 5693 + }, 5694 + "node_modules/sharp/node_modules/semver": { 5695 + "version": "7.7.3", 5696 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", 5697 + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", 5698 + "license": "ISC", 5699 + "optional": true, 5700 + "bin": { 5701 + "semver": "bin/semver.js" 5702 + }, 5703 + "engines": { 5704 + "node": ">=10" 5705 + } 5706 + }, 5707 + "node_modules/shebang-command": { 5708 + "version": "2.0.0", 5709 + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 5710 + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 5711 + "dev": true, 5712 + "license": "MIT", 5713 + "dependencies": { 5714 + "shebang-regex": "^3.0.0" 5715 + }, 5716 + "engines": { 5717 + "node": ">=8" 5718 + } 5719 + }, 5720 + "node_modules/shebang-regex": { 5721 + "version": "3.0.0", 5722 + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 5723 + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 5724 + "dev": true, 5725 + "license": "MIT", 5726 + "engines": { 5727 + "node": ">=8" 5728 + } 5729 + }, 5730 + "node_modules/side-channel": { 5731 + "version": "1.1.0", 5732 + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", 5733 + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", 5734 + "dev": true, 5735 + "license": "MIT", 5736 + "dependencies": { 5737 + "es-errors": "^1.3.0", 5738 + "object-inspect": "^1.13.3", 5739 + "side-channel-list": "^1.0.0", 5740 + "side-channel-map": "^1.0.1", 5741 + "side-channel-weakmap": "^1.0.2" 5742 + }, 5743 + "engines": { 5744 + "node": ">= 0.4" 5745 + }, 5746 + "funding": { 5747 + "url": "https://github.com/sponsors/ljharb" 5748 + } 5749 + }, 5750 + "node_modules/side-channel-list": { 5751 + "version": "1.0.0", 5752 + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", 5753 + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", 5754 + "dev": true, 5755 + "license": "MIT", 5756 + "dependencies": { 5757 + "es-errors": "^1.3.0", 5758 + "object-inspect": "^1.13.3" 5759 + }, 5760 + "engines": { 5761 + "node": ">= 0.4" 5762 + }, 5763 + "funding": { 5764 + "url": "https://github.com/sponsors/ljharb" 5765 + } 5766 + }, 5767 + "node_modules/side-channel-map": { 5768 + "version": "1.0.1", 5769 + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", 5770 + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", 5771 + "dev": true, 5772 + "license": "MIT", 5773 + "dependencies": { 5774 + "call-bound": "^1.0.2", 5775 + "es-errors": "^1.3.0", 5776 + "get-intrinsic": "^1.2.5", 5777 + "object-inspect": "^1.13.3" 5778 + }, 5779 + "engines": { 5780 + "node": ">= 0.4" 5781 + }, 5782 + "funding": { 5783 + "url": "https://github.com/sponsors/ljharb" 5784 + } 5785 + }, 5786 + "node_modules/side-channel-weakmap": { 5787 + "version": "1.0.2", 5788 + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", 5789 + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", 5790 + "dev": true, 5791 + "license": "MIT", 5792 + "dependencies": { 5793 + "call-bound": "^1.0.2", 5794 + "es-errors": "^1.3.0", 5795 + "get-intrinsic": "^1.2.5", 5796 + "object-inspect": "^1.13.3", 5797 + "side-channel-map": "^1.0.1" 5798 + }, 5799 + "engines": { 5800 + "node": ">= 0.4" 5801 + }, 5802 + "funding": { 5803 + "url": "https://github.com/sponsors/ljharb" 5804 + } 5805 + }, 5806 + "node_modules/source-map-js": { 5807 + "version": "1.2.1", 5808 + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", 5809 + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", 5810 + "license": "BSD-3-Clause", 5811 + "engines": { 5812 + "node": ">=0.10.0" 5813 + } 5814 + }, 5815 + "node_modules/stable-hash": { 5816 + "version": "0.0.5", 5817 + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", 5818 + "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", 5819 + "dev": true, 5820 + "license": "MIT" 5821 + }, 5822 + "node_modules/stop-iteration-iterator": { 5823 + "version": "1.1.0", 5824 + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", 5825 + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", 5826 + "dev": true, 5827 + "license": "MIT", 5828 + "dependencies": { 5829 + "es-errors": "^1.3.0", 5830 + "internal-slot": "^1.1.0" 5831 + }, 5832 + "engines": { 5833 + "node": ">= 0.4" 5834 + } 5835 + }, 5836 + "node_modules/string.prototype.includes": { 5837 + "version": "2.0.1", 5838 + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", 5839 + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", 5840 + "dev": true, 5841 + "license": "MIT", 5842 + "dependencies": { 5843 + "call-bind": "^1.0.7", 5844 + "define-properties": "^1.2.1", 5845 + "es-abstract": "^1.23.3" 5846 + }, 5847 + "engines": { 5848 + "node": ">= 0.4" 5849 + } 5850 + }, 5851 + "node_modules/string.prototype.matchall": { 5852 + "version": "4.0.12", 5853 + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", 5854 + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", 5855 + "dev": true, 5856 + "license": "MIT", 5857 + "dependencies": { 5858 + "call-bind": "^1.0.8", 5859 + "call-bound": "^1.0.3", 5860 + "define-properties": "^1.2.1", 5861 + "es-abstract": "^1.23.6", 5862 + "es-errors": "^1.3.0", 5863 + "es-object-atoms": "^1.0.0", 5864 + "get-intrinsic": "^1.2.6", 5865 + "gopd": "^1.2.0", 5866 + "has-symbols": "^1.1.0", 5867 + "internal-slot": "^1.1.0", 5868 + "regexp.prototype.flags": "^1.5.3", 5869 + "set-function-name": "^2.0.2", 5870 + "side-channel": "^1.1.0" 5871 + }, 5872 + "engines": { 5873 + "node": ">= 0.4" 5874 + }, 5875 + "funding": { 5876 + "url": "https://github.com/sponsors/ljharb" 5877 + } 5878 + }, 5879 + "node_modules/string.prototype.repeat": { 5880 + "version": "1.0.0", 5881 + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", 5882 + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", 5883 + "dev": true, 5884 + "license": "MIT", 5885 + "dependencies": { 5886 + "define-properties": "^1.1.3", 5887 + "es-abstract": "^1.17.5" 5888 + } 5889 + }, 5890 + "node_modules/string.prototype.trim": { 5891 + "version": "1.2.10", 5892 + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", 5893 + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", 5894 + "dev": true, 5895 + "license": "MIT", 5896 + "dependencies": { 5897 + "call-bind": "^1.0.8", 5898 + "call-bound": "^1.0.2", 5899 + "define-data-property": "^1.1.4", 5900 + "define-properties": "^1.2.1", 5901 + "es-abstract": "^1.23.5", 5902 + "es-object-atoms": "^1.0.0", 5903 + "has-property-descriptors": "^1.0.2" 5904 + }, 5905 + "engines": { 5906 + "node": ">= 0.4" 5907 + }, 5908 + "funding": { 5909 + "url": "https://github.com/sponsors/ljharb" 5910 + } 5911 + }, 5912 + "node_modules/string.prototype.trimend": { 5913 + "version": "1.0.9", 5914 + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", 5915 + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", 5916 + "dev": true, 5917 + "license": "MIT", 5918 + "dependencies": { 5919 + "call-bind": "^1.0.8", 5920 + "call-bound": "^1.0.2", 5921 + "define-properties": "^1.2.1", 5922 + "es-object-atoms": "^1.0.0" 5923 + }, 5924 + "engines": { 5925 + "node": ">= 0.4" 5926 + }, 5927 + "funding": { 5928 + "url": "https://github.com/sponsors/ljharb" 5929 + } 5930 + }, 5931 + "node_modules/string.prototype.trimstart": { 5932 + "version": "1.0.8", 5933 + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", 5934 + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", 5935 + "dev": true, 5936 + "license": "MIT", 5937 + "dependencies": { 5938 + "call-bind": "^1.0.7", 5939 + "define-properties": "^1.2.1", 5940 + "es-object-atoms": "^1.0.0" 5941 + }, 5942 + "engines": { 5943 + "node": ">= 0.4" 5944 + }, 5945 + "funding": { 5946 + "url": "https://github.com/sponsors/ljharb" 5947 + } 5948 + }, 5949 + "node_modules/strip-bom": { 5950 + "version": "3.0.0", 5951 + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 5952 + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", 5953 + "dev": true, 5954 + "license": "MIT", 5955 + "engines": { 5956 + "node": ">=4" 5957 + } 5958 + }, 5959 + "node_modules/strip-json-comments": { 5960 + "version": "3.1.1", 5961 + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 5962 + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 5963 + "dev": true, 5964 + "license": "MIT", 5965 + "engines": { 5966 + "node": ">=8" 5967 + }, 5968 + "funding": { 5969 + "url": "https://github.com/sponsors/sindresorhus" 5970 + } 5971 + }, 5972 + "node_modules/styled-jsx": { 5973 + "version": "5.1.6", 5974 + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", 5975 + "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", 5976 + "license": "MIT", 5977 + "dependencies": { 5978 + "client-only": "0.0.1" 5979 + }, 5980 + "engines": { 5981 + "node": ">= 12.0.0" 5982 + }, 5983 + "peerDependencies": { 5984 + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" 5985 + }, 5986 + "peerDependenciesMeta": { 5987 + "@babel/core": { 5988 + "optional": true 5989 + }, 5990 + "babel-plugin-macros": { 5991 + "optional": true 5992 + } 5993 + } 5994 + }, 5995 + "node_modules/supports-color": { 5996 + "version": "7.2.0", 5997 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 5998 + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 5999 + "dev": true, 6000 + "license": "MIT", 6001 + "dependencies": { 6002 + "has-flag": "^4.0.0" 6003 + }, 6004 + "engines": { 6005 + "node": ">=8" 6006 + } 6007 + }, 6008 + "node_modules/supports-preserve-symlinks-flag": { 6009 + "version": "1.0.0", 6010 + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 6011 + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 6012 + "dev": true, 6013 + "license": "MIT", 6014 + "engines": { 6015 + "node": ">= 0.4" 6016 + }, 6017 + "funding": { 6018 + "url": "https://github.com/sponsors/ljharb" 6019 + } 6020 + }, 6021 + "node_modules/tailwindcss": { 6022 + "version": "4.1.18", 6023 + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.18.tgz", 6024 + "integrity": "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==", 6025 + "dev": true, 6026 + "license": "MIT" 6027 + }, 6028 + "node_modules/tapable": { 6029 + "version": "2.3.0", 6030 + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", 6031 + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", 6032 + "dev": true, 6033 + "license": "MIT", 6034 + "engines": { 6035 + "node": ">=6" 6036 + }, 6037 + "funding": { 6038 + "type": "opencollective", 6039 + "url": "https://opencollective.com/webpack" 6040 + } 6041 + }, 6042 + "node_modules/tinyglobby": { 6043 + "version": "0.2.15", 6044 + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", 6045 + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", 6046 + "dev": true, 6047 + "license": "MIT", 6048 + "dependencies": { 6049 + "fdir": "^6.5.0", 6050 + "picomatch": "^4.0.3" 6051 + }, 6052 + "engines": { 6053 + "node": ">=12.0.0" 6054 + }, 6055 + "funding": { 6056 + "url": "https://github.com/sponsors/SuperchupuDev" 6057 + } 6058 + }, 6059 + "node_modules/tinyglobby/node_modules/fdir": { 6060 + "version": "6.5.0", 6061 + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", 6062 + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", 6063 + "dev": true, 6064 + "license": "MIT", 6065 + "engines": { 6066 + "node": ">=12.0.0" 6067 + }, 6068 + "peerDependencies": { 6069 + "picomatch": "^3 || ^4" 6070 + }, 6071 + "peerDependenciesMeta": { 6072 + "picomatch": { 6073 + "optional": true 6074 + } 6075 + } 6076 + }, 6077 + "node_modules/tinyglobby/node_modules/picomatch": { 6078 + "version": "4.0.3", 6079 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", 6080 + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", 6081 + "dev": true, 6082 + "license": "MIT", 6083 + "engines": { 6084 + "node": ">=12" 6085 + }, 6086 + "funding": { 6087 + "url": "https://github.com/sponsors/jonschlinkert" 6088 + } 6089 + }, 6090 + "node_modules/to-regex-range": { 6091 + "version": "5.0.1", 6092 + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 6093 + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 6094 + "dev": true, 6095 + "license": "MIT", 6096 + "dependencies": { 6097 + "is-number": "^7.0.0" 6098 + }, 6099 + "engines": { 6100 + "node": ">=8.0" 6101 + } 6102 + }, 6103 + "node_modules/ts-api-utils": { 6104 + "version": "2.4.0", 6105 + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", 6106 + "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", 6107 + "dev": true, 6108 + "license": "MIT", 6109 + "engines": { 6110 + "node": ">=18.12" 6111 + }, 6112 + "peerDependencies": { 6113 + "typescript": ">=4.8.4" 6114 + } 6115 + }, 6116 + "node_modules/tsconfig-paths": { 6117 + "version": "3.15.0", 6118 + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", 6119 + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", 6120 + "dev": true, 6121 + "license": "MIT", 6122 + "dependencies": { 6123 + "@types/json5": "^0.0.29", 6124 + "json5": "^1.0.2", 6125 + "minimist": "^1.2.6", 6126 + "strip-bom": "^3.0.0" 6127 + } 6128 + }, 6129 + "node_modules/tsconfig-paths/node_modules/json5": { 6130 + "version": "1.0.2", 6131 + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", 6132 + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", 6133 + "dev": true, 6134 + "license": "MIT", 6135 + "dependencies": { 6136 + "minimist": "^1.2.0" 6137 + }, 6138 + "bin": { 6139 + "json5": "lib/cli.js" 6140 + } 6141 + }, 6142 + "node_modules/tslib": { 6143 + "version": "2.8.1", 6144 + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", 6145 + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", 6146 + "license": "0BSD" 6147 + }, 6148 + "node_modules/type-check": { 6149 + "version": "0.4.0", 6150 + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 6151 + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 6152 + "dev": true, 6153 + "license": "MIT", 6154 + "dependencies": { 6155 + "prelude-ls": "^1.2.1" 6156 + }, 6157 + "engines": { 6158 + "node": ">= 0.8.0" 6159 + } 6160 + }, 6161 + "node_modules/typed-array-buffer": { 6162 + "version": "1.0.3", 6163 + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", 6164 + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", 6165 + "dev": true, 6166 + "license": "MIT", 6167 + "dependencies": { 6168 + "call-bound": "^1.0.3", 6169 + "es-errors": "^1.3.0", 6170 + "is-typed-array": "^1.1.14" 6171 + }, 6172 + "engines": { 6173 + "node": ">= 0.4" 6174 + } 6175 + }, 6176 + "node_modules/typed-array-byte-length": { 6177 + "version": "1.0.3", 6178 + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", 6179 + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", 6180 + "dev": true, 6181 + "license": "MIT", 6182 + "dependencies": { 6183 + "call-bind": "^1.0.8", 6184 + "for-each": "^0.3.3", 6185 + "gopd": "^1.2.0", 6186 + "has-proto": "^1.2.0", 6187 + "is-typed-array": "^1.1.14" 6188 + }, 6189 + "engines": { 6190 + "node": ">= 0.4" 6191 + }, 6192 + "funding": { 6193 + "url": "https://github.com/sponsors/ljharb" 6194 + } 6195 + }, 6196 + "node_modules/typed-array-byte-offset": { 6197 + "version": "1.0.4", 6198 + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", 6199 + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", 6200 + "dev": true, 6201 + "license": "MIT", 6202 + "dependencies": { 6203 + "available-typed-arrays": "^1.0.7", 6204 + "call-bind": "^1.0.8", 6205 + "for-each": "^0.3.3", 6206 + "gopd": "^1.2.0", 6207 + "has-proto": "^1.2.0", 6208 + "is-typed-array": "^1.1.15", 6209 + "reflect.getprototypeof": "^1.0.9" 6210 + }, 6211 + "engines": { 6212 + "node": ">= 0.4" 6213 + }, 6214 + "funding": { 6215 + "url": "https://github.com/sponsors/ljharb" 6216 + } 6217 + }, 6218 + "node_modules/typed-array-length": { 6219 + "version": "1.0.7", 6220 + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", 6221 + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", 6222 + "dev": true, 6223 + "license": "MIT", 6224 + "dependencies": { 6225 + "call-bind": "^1.0.7", 6226 + "for-each": "^0.3.3", 6227 + "gopd": "^1.0.1", 6228 + "is-typed-array": "^1.1.13", 6229 + "possible-typed-array-names": "^1.0.0", 6230 + "reflect.getprototypeof": "^1.0.6" 6231 + }, 6232 + "engines": { 6233 + "node": ">= 0.4" 6234 + }, 6235 + "funding": { 6236 + "url": "https://github.com/sponsors/ljharb" 6237 + } 6238 + }, 6239 + "node_modules/typescript": { 6240 + "version": "5.9.3", 6241 + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", 6242 + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", 6243 + "dev": true, 6244 + "license": "Apache-2.0", 6245 + "bin": { 6246 + "tsc": "bin/tsc", 6247 + "tsserver": "bin/tsserver" 6248 + }, 6249 + "engines": { 6250 + "node": ">=14.17" 6251 + } 6252 + }, 6253 + "node_modules/typescript-eslint": { 6254 + "version": "8.52.0", 6255 + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.52.0.tgz", 6256 + "integrity": "sha512-atlQQJ2YkO4pfTVQmQ+wvYQwexPDOIgo+RaVcD7gHgzy/IQA+XTyuxNM9M9TVXvttkF7koBHmcwisKdOAf2EcA==", 6257 + "dev": true, 6258 + "license": "MIT", 6259 + "dependencies": { 6260 + "@typescript-eslint/eslint-plugin": "8.52.0", 6261 + "@typescript-eslint/parser": "8.52.0", 6262 + "@typescript-eslint/typescript-estree": "8.52.0", 6263 + "@typescript-eslint/utils": "8.52.0" 6264 + }, 6265 + "engines": { 6266 + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 6267 + }, 6268 + "funding": { 6269 + "type": "opencollective", 6270 + "url": "https://opencollective.com/typescript-eslint" 6271 + }, 6272 + "peerDependencies": { 6273 + "eslint": "^8.57.0 || ^9.0.0", 6274 + "typescript": ">=4.8.4 <6.0.0" 6275 + } 6276 + }, 6277 + "node_modules/unbox-primitive": { 6278 + "version": "1.1.0", 6279 + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", 6280 + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", 6281 + "dev": true, 6282 + "license": "MIT", 6283 + "dependencies": { 6284 + "call-bound": "^1.0.3", 6285 + "has-bigints": "^1.0.2", 6286 + "has-symbols": "^1.1.0", 6287 + "which-boxed-primitive": "^1.1.1" 6288 + }, 6289 + "engines": { 6290 + "node": ">= 0.4" 6291 + }, 6292 + "funding": { 6293 + "url": "https://github.com/sponsors/ljharb" 6294 + } 6295 + }, 6296 + "node_modules/undici-types": { 6297 + "version": "6.21.0", 6298 + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", 6299 + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", 6300 + "dev": true, 6301 + "license": "MIT" 6302 + }, 6303 + "node_modules/unrs-resolver": { 6304 + "version": "1.11.1", 6305 + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", 6306 + "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", 6307 + "dev": true, 6308 + "hasInstallScript": true, 6309 + "license": "MIT", 6310 + "dependencies": { 6311 + "napi-postinstall": "^0.3.0" 6312 + }, 6313 + "funding": { 6314 + "url": "https://opencollective.com/unrs-resolver" 6315 + }, 6316 + "optionalDependencies": { 6317 + "@unrs/resolver-binding-android-arm-eabi": "1.11.1", 6318 + "@unrs/resolver-binding-android-arm64": "1.11.1", 6319 + "@unrs/resolver-binding-darwin-arm64": "1.11.1", 6320 + "@unrs/resolver-binding-darwin-x64": "1.11.1", 6321 + "@unrs/resolver-binding-freebsd-x64": "1.11.1", 6322 + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", 6323 + "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", 6324 + "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", 6325 + "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", 6326 + "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", 6327 + "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", 6328 + "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", 6329 + "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", 6330 + "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", 6331 + "@unrs/resolver-binding-linux-x64-musl": "1.11.1", 6332 + "@unrs/resolver-binding-wasm32-wasi": "1.11.1", 6333 + "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", 6334 + "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", 6335 + "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" 6336 + } 6337 + }, 6338 + "node_modules/update-browserslist-db": { 6339 + "version": "1.2.3", 6340 + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", 6341 + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", 6342 + "dev": true, 6343 + "funding": [ 6344 + { 6345 + "type": "opencollective", 6346 + "url": "https://opencollective.com/browserslist" 6347 + }, 6348 + { 6349 + "type": "tidelift", 6350 + "url": "https://tidelift.com/funding/github/npm/browserslist" 6351 + }, 6352 + { 6353 + "type": "github", 6354 + "url": "https://github.com/sponsors/ai" 6355 + } 6356 + ], 6357 + "license": "MIT", 6358 + "dependencies": { 6359 + "escalade": "^3.2.0", 6360 + "picocolors": "^1.1.1" 6361 + }, 6362 + "bin": { 6363 + "update-browserslist-db": "cli.js" 6364 + }, 6365 + "peerDependencies": { 6366 + "browserslist": ">= 4.21.0" 6367 + } 6368 + }, 6369 + "node_modules/uri-js": { 6370 + "version": "4.4.1", 6371 + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 6372 + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 6373 + "dev": true, 6374 + "license": "BSD-2-Clause", 6375 + "dependencies": { 6376 + "punycode": "^2.1.0" 6377 + } 6378 + }, 6379 + "node_modules/which": { 6380 + "version": "2.0.2", 6381 + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 6382 + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 6383 + "dev": true, 6384 + "license": "ISC", 6385 + "dependencies": { 6386 + "isexe": "^2.0.0" 6387 + }, 6388 + "bin": { 6389 + "node-which": "bin/node-which" 6390 + }, 6391 + "engines": { 6392 + "node": ">= 8" 6393 + } 6394 + }, 6395 + "node_modules/which-boxed-primitive": { 6396 + "version": "1.1.1", 6397 + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", 6398 + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", 6399 + "dev": true, 6400 + "license": "MIT", 6401 + "dependencies": { 6402 + "is-bigint": "^1.1.0", 6403 + "is-boolean-object": "^1.2.1", 6404 + "is-number-object": "^1.1.1", 6405 + "is-string": "^1.1.1", 6406 + "is-symbol": "^1.1.1" 6407 + }, 6408 + "engines": { 6409 + "node": ">= 0.4" 6410 + }, 6411 + "funding": { 6412 + "url": "https://github.com/sponsors/ljharb" 6413 + } 6414 + }, 6415 + "node_modules/which-builtin-type": { 6416 + "version": "1.2.1", 6417 + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", 6418 + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", 6419 + "dev": true, 6420 + "license": "MIT", 6421 + "dependencies": { 6422 + "call-bound": "^1.0.2", 6423 + "function.prototype.name": "^1.1.6", 6424 + "has-tostringtag": "^1.0.2", 6425 + "is-async-function": "^2.0.0", 6426 + "is-date-object": "^1.1.0", 6427 + "is-finalizationregistry": "^1.1.0", 6428 + "is-generator-function": "^1.0.10", 6429 + "is-regex": "^1.2.1", 6430 + "is-weakref": "^1.0.2", 6431 + "isarray": "^2.0.5", 6432 + "which-boxed-primitive": "^1.1.0", 6433 + "which-collection": "^1.0.2", 6434 + "which-typed-array": "^1.1.16" 6435 + }, 6436 + "engines": { 6437 + "node": ">= 0.4" 6438 + }, 6439 + "funding": { 6440 + "url": "https://github.com/sponsors/ljharb" 6441 + } 6442 + }, 6443 + "node_modules/which-collection": { 6444 + "version": "1.0.2", 6445 + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", 6446 + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", 6447 + "dev": true, 6448 + "license": "MIT", 6449 + "dependencies": { 6450 + "is-map": "^2.0.3", 6451 + "is-set": "^2.0.3", 6452 + "is-weakmap": "^2.0.2", 6453 + "is-weakset": "^2.0.3" 6454 + }, 6455 + "engines": { 6456 + "node": ">= 0.4" 6457 + }, 6458 + "funding": { 6459 + "url": "https://github.com/sponsors/ljharb" 6460 + } 6461 + }, 6462 + "node_modules/which-typed-array": { 6463 + "version": "1.1.19", 6464 + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", 6465 + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", 6466 + "dev": true, 6467 + "license": "MIT", 6468 + "dependencies": { 6469 + "available-typed-arrays": "^1.0.7", 6470 + "call-bind": "^1.0.8", 6471 + "call-bound": "^1.0.4", 6472 + "for-each": "^0.3.5", 6473 + "get-proto": "^1.0.1", 6474 + "gopd": "^1.2.0", 6475 + "has-tostringtag": "^1.0.2" 6476 + }, 6477 + "engines": { 6478 + "node": ">= 0.4" 6479 + }, 6480 + "funding": { 6481 + "url": "https://github.com/sponsors/ljharb" 6482 + } 6483 + }, 6484 + "node_modules/word-wrap": { 6485 + "version": "1.2.5", 6486 + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", 6487 + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", 6488 + "dev": true, 6489 + "license": "MIT", 6490 + "engines": { 6491 + "node": ">=0.10.0" 6492 + } 6493 + }, 6494 + "node_modules/yallist": { 6495 + "version": "3.1.1", 6496 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", 6497 + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", 6498 + "dev": true, 6499 + "license": "ISC" 6500 + }, 6501 + "node_modules/yocto-queue": { 6502 + "version": "0.1.0", 6503 + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", 6504 + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", 6505 + "dev": true, 6506 + "license": "MIT", 6507 + "engines": { 6508 + "node": ">=10" 6509 + }, 6510 + "funding": { 6511 + "url": "https://github.com/sponsors/sindresorhus" 6512 + } 6513 + }, 6514 + "node_modules/zod": { 6515 + "version": "4.3.5", 6516 + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.5.tgz", 6517 + "integrity": "sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==", 6518 + "dev": true, 6519 + "license": "MIT", 6520 + "funding": { 6521 + "url": "https://github.com/sponsors/colinhacks" 6522 + } 6523 + }, 6524 + "node_modules/zod-validation-error": { 6525 + "version": "4.0.2", 6526 + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", 6527 + "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", 6528 + "dev": true, 6529 + "license": "MIT", 6530 + "engines": { 6531 + "node": ">=18.0.0" 6532 + }, 6533 + "peerDependencies": { 6534 + "zod": "^3.25.0 || ^4.0.0" 6535 + } 6536 + } 6537 + } 6538 + }
+34
package.json
··· 1 + { 2 + "name": "next-oauth", 3 + "version": "0.1.0", 4 + "private": true, 5 + "scripts": { 6 + "dev": "next dev", 7 + "build": "next build", 8 + "start": "pnpm migrate && next start", 9 + "migrate": "tsx scripts/migrate.ts", 10 + "gen-key": "tsx scripts/gen-key.ts", 11 + "lint": "eslint" 12 + }, 13 + "dependencies": { 14 + "@atproto/oauth-client-node": "^0.3.15", 15 + "better-sqlite3": "^12.5.0", 16 + "kysely": "^0.28.9", 17 + "next": "16.1.1", 18 + "react": "19.2.3", 19 + "react-dom": "19.2.3" 20 + }, 21 + "devDependencies": { 22 + "@tailwindcss/postcss": "^4", 23 + "@types/better-sqlite3": "^7.6.13", 24 + "@types/node": "^20", 25 + "@types/react": "^19", 26 + "@types/react-dom": "^19", 27 + "eslint": "^9", 28 + "eslint-config-next": "16.1.1", 29 + "tailwindcss": "^4", 30 + "tsx": "^4.21.0", 31 + "typescript": "^5" 32 + }, 33 + "packageManager": "pnpm@8.15.9+sha512.499434c9d8fdd1a2794ebf4552b3b25c0a633abcee5bb15e7b5de90f32f47b513aca98cd5cfd001c31f0db454bc3804edccd578501e4ca293a6816166bbd9f81" 34 + }
+4369
pnpm-lock.yaml
··· 1 + lockfileVersion: '6.0' 2 + 3 + settings: 4 + autoInstallPeers: true 5 + excludeLinksFromLockfile: false 6 + 7 + dependencies: 8 + '@atproto/oauth-client-node': 9 + specifier: ^0.3.15 10 + version: 0.3.15 11 + better-sqlite3: 12 + specifier: ^12.5.0 13 + version: 12.5.0 14 + kysely: 15 + specifier: ^0.28.9 16 + version: 0.28.9 17 + next: 18 + specifier: 16.1.1 19 + version: 16.1.1(@babel/core@7.28.5)(react-dom@19.2.3)(react@19.2.3) 20 + react: 21 + specifier: 19.2.3 22 + version: 19.2.3 23 + react-dom: 24 + specifier: 19.2.3 25 + version: 19.2.3(react@19.2.3) 26 + 27 + devDependencies: 28 + '@tailwindcss/postcss': 29 + specifier: ^4 30 + version: 4.1.18 31 + '@types/better-sqlite3': 32 + specifier: ^7.6.13 33 + version: 7.6.13 34 + '@types/node': 35 + specifier: ^20 36 + version: 20.19.27 37 + '@types/react': 38 + specifier: ^19 39 + version: 19.2.7 40 + '@types/react-dom': 41 + specifier: ^19 42 + version: 19.2.3(@types/react@19.2.7) 43 + eslint: 44 + specifier: ^9 45 + version: 9.39.2 46 + eslint-config-next: 47 + specifier: 16.1.1 48 + version: 16.1.1(@typescript-eslint/parser@8.52.0)(eslint@9.39.2)(typescript@5.9.3) 49 + tailwindcss: 50 + specifier: ^4 51 + version: 4.1.18 52 + tsx: 53 + specifier: ^4.21.0 54 + version: 4.21.0 55 + typescript: 56 + specifier: ^5 57 + version: 5.9.3 58 + 59 + packages: 60 + 61 + /@alloc/quick-lru@5.2.0: 62 + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} 63 + engines: {node: '>=10'} 64 + dev: true 65 + 66 + /@atproto-labs/did-resolver@0.2.5: 67 + resolution: {integrity: sha512-he7EC6OMSifNs01a4RT9mta/yYitoKDzlK9ty2TFV5Uj/+HpB4vYMRdIDFrRW0Hcsehy90E2t/dw0t7361MEKQ==} 68 + dependencies: 69 + '@atproto-labs/fetch': 0.2.3 70 + '@atproto-labs/pipe': 0.1.1 71 + '@atproto-labs/simple-store': 0.3.0 72 + '@atproto-labs/simple-store-memory': 0.1.4 73 + '@atproto/did': 0.2.4 74 + zod: 3.25.76 75 + dev: false 76 + 77 + /@atproto-labs/fetch-node@0.2.0: 78 + resolution: {integrity: sha512-Krq09nH/aeoiU2s9xdHA0FjTEFWG9B5FFenipv1iRixCcPc7V3DhTNDawxG9gI8Ny0k4dBVS9WTRN/IDzBx86Q==} 79 + engines: {node: '>=18.7.0'} 80 + dependencies: 81 + '@atproto-labs/fetch': 0.2.3 82 + '@atproto-labs/pipe': 0.1.1 83 + ipaddr.js: 2.3.0 84 + undici: 6.23.0 85 + dev: false 86 + 87 + /@atproto-labs/fetch@0.2.3: 88 + resolution: {integrity: sha512-NZtbJOCbxKUFRFKMpamT38PUQMY0hX0p7TG5AEYOPhZKZEP7dHZ1K2s1aB8MdVH0qxmqX7nQleNrrvLf09Zfdw==} 89 + dependencies: 90 + '@atproto-labs/pipe': 0.1.1 91 + dev: false 92 + 93 + /@atproto-labs/handle-resolver-node@0.1.24: 94 + resolution: {integrity: sha512-w/zvktigmRQpOLQQclp48tbb2K/2XW8j1szoIpT8T8v6P5dZ8GGVDIEF142xQMX9vWToFqMTu1P2yOuz8e3Ilg==} 95 + engines: {node: '>=18.7.0'} 96 + dependencies: 97 + '@atproto-labs/fetch-node': 0.2.0 98 + '@atproto-labs/handle-resolver': 0.3.5 99 + '@atproto/did': 0.2.4 100 + dev: false 101 + 102 + /@atproto-labs/handle-resolver@0.3.5: 103 + resolution: {integrity: sha512-r3b+plCh/0arN535Aool9gL6yTSbAPDOyReURbA2TWAaeW4vrSJPwR6yYUx0k0vmVPjkZPIdUVd63bG/+VG5MA==} 104 + dependencies: 105 + '@atproto-labs/simple-store': 0.3.0 106 + '@atproto-labs/simple-store-memory': 0.1.4 107 + '@atproto/did': 0.2.4 108 + zod: 3.25.76 109 + dev: false 110 + 111 + /@atproto-labs/identity-resolver@0.3.5: 112 + resolution: {integrity: sha512-kSxnreUSPhKL77doUbSl/9I6Y9qpkpD7MMJoYFQVU/WG0PB90tzfIb6DNuWsjbU2I5Q91Nzc4Tm4VJMV+OPKGQ==} 113 + dependencies: 114 + '@atproto-labs/did-resolver': 0.2.5 115 + '@atproto-labs/handle-resolver': 0.3.5 116 + dev: false 117 + 118 + /@atproto-labs/pipe@0.1.1: 119 + resolution: {integrity: sha512-hdNw2oUs2B6BN1lp+32pF7cp8EMKuIN5Qok2Vvv/aOpG/3tNSJ9YkvfI0k6Zd188LeDDYRUpYpxcoFIcGH/FNg==} 120 + dev: false 121 + 122 + /@atproto-labs/simple-store-memory@0.1.4: 123 + resolution: {integrity: sha512-3mKY4dP8I7yKPFj9VKpYyCRzGJOi5CEpOLPlRhoJyLmgs3J4RzDrjn323Oakjz2Aj2JzRU/AIvWRAZVhpYNJHw==} 124 + dependencies: 125 + '@atproto-labs/simple-store': 0.3.0 126 + lru-cache: 10.4.3 127 + dev: false 128 + 129 + /@atproto-labs/simple-store@0.3.0: 130 + resolution: {integrity: sha512-nOb6ONKBRJHRlukW1sVawUkBqReLlLx6hT35VS3imaNPwiXDxLnTK7lxw3Lrl9k5yugSBDQAkZAq3MPTEFSUBQ==} 131 + dev: false 132 + 133 + /@atproto/common-web@0.4.11: 134 + resolution: {integrity: sha512-VHejNmSABU8/03VrQ3e36AmT5U3UIeio+qSUqCrO1oNgrJcWfGy1rpj0FVtUugWF8Un29+yzkukzWGZfXL70rQ==} 135 + dependencies: 136 + '@atproto/lex-data': 0.0.7 137 + '@atproto/lex-json': 0.0.7 138 + zod: 3.25.76 139 + dev: false 140 + 141 + /@atproto/did@0.2.4: 142 + resolution: {integrity: sha512-nxNiCgXeo7pfjojq9fpfZxCO0X0xUipNVKW+AHNZwQKiUDt6zYL0VXEfm8HBUwQOCmKvj2pRRSM1Cur+tUWk3g==} 143 + dependencies: 144 + zod: 3.25.76 145 + dev: false 146 + 147 + /@atproto/jwk-jose@0.1.11: 148 + resolution: {integrity: sha512-i4Fnr2sTBYmMmHXl7NJh8GrCH+tDQEVWrcDMDnV5DjJfkgT17wIqvojIw9SNbSL4Uf0OtfEv6AgG0A+mgh8b5Q==} 149 + dependencies: 150 + '@atproto/jwk': 0.6.0 151 + jose: 5.10.0 152 + dev: false 153 + 154 + /@atproto/jwk-webcrypto@0.2.0: 155 + resolution: {integrity: sha512-UmgRrrEAkWvxwhlwe30UmDOdTEFidlIzBC7C3cCbeJMcBN1x8B3KH+crXrsTqfWQBG58mXgt8wgSK3Kxs2LhFg==} 156 + dependencies: 157 + '@atproto/jwk': 0.6.0 158 + '@atproto/jwk-jose': 0.1.11 159 + zod: 3.25.76 160 + dev: false 161 + 162 + /@atproto/jwk@0.6.0: 163 + resolution: {integrity: sha512-bDoJPvt7TrQVi/rBfBrSSpGykhtIriKxeYCYQTiPRKFfyRhbgpElF0wPXADjIswnbzZdOwbY63az4E/CFVT3Tw==} 164 + dependencies: 165 + multiformats: 9.9.0 166 + zod: 3.25.76 167 + dev: false 168 + 169 + /@atproto/lex-data@0.0.7: 170 + resolution: {integrity: sha512-W/Q5o9o7n2Sv3UywckChu01X5lwQUtaiiOkGJLnRsdkQTyC6813nPgY+p2sG7NwwM+82lu+FUV9fE/Ul3VqaJw==} 171 + dependencies: 172 + '@atproto/syntax': 0.4.2 173 + multiformats: 9.9.0 174 + tslib: 2.8.1 175 + uint8arrays: 3.0.0 176 + unicode-segmenter: 0.14.5 177 + dev: false 178 + 179 + /@atproto/lex-json@0.0.7: 180 + resolution: {integrity: sha512-bjNPD5M/MhLfjNM7tcxuls80UgXpHqxdOxDXEUouAtZQV/nIDhGjmNUvKxOmOgnDsiZRnT2g5y3onrnjH3a44g==} 181 + dependencies: 182 + '@atproto/lex-data': 0.0.7 183 + tslib: 2.8.1 184 + dev: false 185 + 186 + /@atproto/lexicon@0.6.0: 187 + resolution: {integrity: sha512-5veb8aD+J5M0qszLJ+73KSFsFrJBgAY/nM1TSAJvGY7fNc9ZAT+PSUlmIyrdye9YznAZ07yktalls/TwNV7cHQ==} 188 + dependencies: 189 + '@atproto/common-web': 0.4.11 190 + '@atproto/syntax': 0.4.2 191 + iso-datestring-validator: 2.2.2 192 + multiformats: 9.9.0 193 + zod: 3.25.76 194 + dev: false 195 + 196 + /@atproto/oauth-client-node@0.3.15: 197 + resolution: {integrity: sha512-iuT7QrLli7IyB4px1+lHvm/YoIRfNRpbNG9seJRtu5eX4N5aLsBP6vpXs9rCygd1+/15LcLRAAGKVEcrLT9tXA==} 198 + engines: {node: '>=18.7.0'} 199 + dependencies: 200 + '@atproto-labs/did-resolver': 0.2.5 201 + '@atproto-labs/handle-resolver-node': 0.1.24 202 + '@atproto-labs/simple-store': 0.3.0 203 + '@atproto/did': 0.2.4 204 + '@atproto/jwk': 0.6.0 205 + '@atproto/jwk-jose': 0.1.11 206 + '@atproto/jwk-webcrypto': 0.2.0 207 + '@atproto/oauth-client': 0.5.13 208 + '@atproto/oauth-types': 0.6.1 209 + dev: false 210 + 211 + /@atproto/oauth-client@0.5.13: 212 + resolution: {integrity: sha512-FLbqHkC7BAVZ90LHVzSxQf+s8ZNIQI4TsDuhYDyzi7lYtktFHDbgd88KuM2ClJFOtGCsSS17yR1Joy925tDSaA==} 213 + dependencies: 214 + '@atproto-labs/did-resolver': 0.2.5 215 + '@atproto-labs/fetch': 0.2.3 216 + '@atproto-labs/handle-resolver': 0.3.5 217 + '@atproto-labs/identity-resolver': 0.3.5 218 + '@atproto-labs/simple-store': 0.3.0 219 + '@atproto-labs/simple-store-memory': 0.1.4 220 + '@atproto/did': 0.2.4 221 + '@atproto/jwk': 0.6.0 222 + '@atproto/oauth-types': 0.6.1 223 + '@atproto/xrpc': 0.7.7 224 + core-js: 3.47.0 225 + multiformats: 9.9.0 226 + zod: 3.25.76 227 + dev: false 228 + 229 + /@atproto/oauth-types@0.6.1: 230 + resolution: {integrity: sha512-3z92GN/6zCq9E2GTTfZM27tWEbvi1qwFSA7KoS5+wqBC4kSsLvnLxmbKH402Z40DfWS4YWqw0DkHsgP0LNFDEA==} 231 + dependencies: 232 + '@atproto/did': 0.2.4 233 + '@atproto/jwk': 0.6.0 234 + zod: 3.25.76 235 + dev: false 236 + 237 + /@atproto/syntax@0.4.2: 238 + resolution: {integrity: sha512-X9XSRPinBy/0VQ677j8VXlBsYSsUXaiqxWVpGGxJYsAhugdQRb0jqaVKJFtm6RskeNkV6y9xclSUi9UYG/COrA==} 239 + dev: false 240 + 241 + /@atproto/xrpc@0.7.7: 242 + resolution: {integrity: sha512-K1ZyO/BU8JNtXX5dmPp7b5UrkLMMqpsIa/Lrj5D3Su+j1Xwq1m6QJ2XJ1AgjEjkI1v4Muzm7klianLE6XGxtmA==} 243 + dependencies: 244 + '@atproto/lexicon': 0.6.0 245 + zod: 3.25.76 246 + dev: false 247 + 248 + /@babel/code-frame@7.27.1: 249 + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} 250 + engines: {node: '>=6.9.0'} 251 + dependencies: 252 + '@babel/helper-validator-identifier': 7.28.5 253 + js-tokens: 4.0.0 254 + picocolors: 1.1.1 255 + 256 + /@babel/compat-data@7.28.5: 257 + resolution: {integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==} 258 + engines: {node: '>=6.9.0'} 259 + 260 + /@babel/core@7.28.5: 261 + resolution: {integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==} 262 + engines: {node: '>=6.9.0'} 263 + dependencies: 264 + '@babel/code-frame': 7.27.1 265 + '@babel/generator': 7.28.5 266 + '@babel/helper-compilation-targets': 7.27.2 267 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) 268 + '@babel/helpers': 7.28.4 269 + '@babel/parser': 7.28.5 270 + '@babel/template': 7.27.2 271 + '@babel/traverse': 7.28.5 272 + '@babel/types': 7.28.5 273 + '@jridgewell/remapping': 2.3.5 274 + convert-source-map: 2.0.0 275 + debug: 4.4.3 276 + gensync: 1.0.0-beta.2 277 + json5: 2.2.3 278 + semver: 6.3.1 279 + transitivePeerDependencies: 280 + - supports-color 281 + 282 + /@babel/generator@7.28.5: 283 + resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==} 284 + engines: {node: '>=6.9.0'} 285 + dependencies: 286 + '@babel/parser': 7.28.5 287 + '@babel/types': 7.28.5 288 + '@jridgewell/gen-mapping': 0.3.13 289 + '@jridgewell/trace-mapping': 0.3.31 290 + jsesc: 3.1.0 291 + 292 + /@babel/helper-compilation-targets@7.27.2: 293 + resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} 294 + engines: {node: '>=6.9.0'} 295 + dependencies: 296 + '@babel/compat-data': 7.28.5 297 + '@babel/helper-validator-option': 7.27.1 298 + browserslist: 4.28.1 299 + lru-cache: 5.1.1 300 + semver: 6.3.1 301 + 302 + /@babel/helper-globals@7.28.0: 303 + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} 304 + engines: {node: '>=6.9.0'} 305 + 306 + /@babel/helper-module-imports@7.27.1: 307 + resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} 308 + engines: {node: '>=6.9.0'} 309 + dependencies: 310 + '@babel/traverse': 7.28.5 311 + '@babel/types': 7.28.5 312 + transitivePeerDependencies: 313 + - supports-color 314 + 315 + /@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5): 316 + resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} 317 + engines: {node: '>=6.9.0'} 318 + peerDependencies: 319 + '@babel/core': ^7.0.0 320 + dependencies: 321 + '@babel/core': 7.28.5 322 + '@babel/helper-module-imports': 7.27.1 323 + '@babel/helper-validator-identifier': 7.28.5 324 + '@babel/traverse': 7.28.5 325 + transitivePeerDependencies: 326 + - supports-color 327 + 328 + /@babel/helper-string-parser@7.27.1: 329 + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} 330 + engines: {node: '>=6.9.0'} 331 + 332 + /@babel/helper-validator-identifier@7.28.5: 333 + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} 334 + engines: {node: '>=6.9.0'} 335 + 336 + /@babel/helper-validator-option@7.27.1: 337 + resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} 338 + engines: {node: '>=6.9.0'} 339 + 340 + /@babel/helpers@7.28.4: 341 + resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} 342 + engines: {node: '>=6.9.0'} 343 + dependencies: 344 + '@babel/template': 7.27.2 345 + '@babel/types': 7.28.5 346 + 347 + /@babel/parser@7.28.5: 348 + resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} 349 + engines: {node: '>=6.0.0'} 350 + hasBin: true 351 + dependencies: 352 + '@babel/types': 7.28.5 353 + 354 + /@babel/template@7.27.2: 355 + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} 356 + engines: {node: '>=6.9.0'} 357 + dependencies: 358 + '@babel/code-frame': 7.27.1 359 + '@babel/parser': 7.28.5 360 + '@babel/types': 7.28.5 361 + 362 + /@babel/traverse@7.28.5: 363 + resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==} 364 + engines: {node: '>=6.9.0'} 365 + dependencies: 366 + '@babel/code-frame': 7.27.1 367 + '@babel/generator': 7.28.5 368 + '@babel/helper-globals': 7.28.0 369 + '@babel/parser': 7.28.5 370 + '@babel/template': 7.27.2 371 + '@babel/types': 7.28.5 372 + debug: 4.4.3 373 + transitivePeerDependencies: 374 + - supports-color 375 + 376 + /@babel/types@7.28.5: 377 + resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} 378 + engines: {node: '>=6.9.0'} 379 + dependencies: 380 + '@babel/helper-string-parser': 7.27.1 381 + '@babel/helper-validator-identifier': 7.28.5 382 + 383 + /@emnapi/core@1.8.1: 384 + resolution: {integrity: sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==} 385 + requiresBuild: true 386 + dependencies: 387 + '@emnapi/wasi-threads': 1.1.0 388 + tslib: 2.8.1 389 + dev: true 390 + optional: true 391 + 392 + /@emnapi/runtime@1.8.1: 393 + resolution: {integrity: sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==} 394 + requiresBuild: true 395 + dependencies: 396 + tslib: 2.8.1 397 + optional: true 398 + 399 + /@emnapi/wasi-threads@1.1.0: 400 + resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} 401 + requiresBuild: true 402 + dependencies: 403 + tslib: 2.8.1 404 + dev: true 405 + optional: true 406 + 407 + /@esbuild/aix-ppc64@0.27.2: 408 + resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} 409 + engines: {node: '>=18'} 410 + cpu: [ppc64] 411 + os: [aix] 412 + requiresBuild: true 413 + dev: true 414 + optional: true 415 + 416 + /@esbuild/android-arm64@0.27.2: 417 + resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} 418 + engines: {node: '>=18'} 419 + cpu: [arm64] 420 + os: [android] 421 + requiresBuild: true 422 + dev: true 423 + optional: true 424 + 425 + /@esbuild/android-arm@0.27.2: 426 + resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} 427 + engines: {node: '>=18'} 428 + cpu: [arm] 429 + os: [android] 430 + requiresBuild: true 431 + dev: true 432 + optional: true 433 + 434 + /@esbuild/android-x64@0.27.2: 435 + resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} 436 + engines: {node: '>=18'} 437 + cpu: [x64] 438 + os: [android] 439 + requiresBuild: true 440 + dev: true 441 + optional: true 442 + 443 + /@esbuild/darwin-arm64@0.27.2: 444 + resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} 445 + engines: {node: '>=18'} 446 + cpu: [arm64] 447 + os: [darwin] 448 + requiresBuild: true 449 + dev: true 450 + optional: true 451 + 452 + /@esbuild/darwin-x64@0.27.2: 453 + resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} 454 + engines: {node: '>=18'} 455 + cpu: [x64] 456 + os: [darwin] 457 + requiresBuild: true 458 + dev: true 459 + optional: true 460 + 461 + /@esbuild/freebsd-arm64@0.27.2: 462 + resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} 463 + engines: {node: '>=18'} 464 + cpu: [arm64] 465 + os: [freebsd] 466 + requiresBuild: true 467 + dev: true 468 + optional: true 469 + 470 + /@esbuild/freebsd-x64@0.27.2: 471 + resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} 472 + engines: {node: '>=18'} 473 + cpu: [x64] 474 + os: [freebsd] 475 + requiresBuild: true 476 + dev: true 477 + optional: true 478 + 479 + /@esbuild/linux-arm64@0.27.2: 480 + resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} 481 + engines: {node: '>=18'} 482 + cpu: [arm64] 483 + os: [linux] 484 + requiresBuild: true 485 + dev: true 486 + optional: true 487 + 488 + /@esbuild/linux-arm@0.27.2: 489 + resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} 490 + engines: {node: '>=18'} 491 + cpu: [arm] 492 + os: [linux] 493 + requiresBuild: true 494 + dev: true 495 + optional: true 496 + 497 + /@esbuild/linux-ia32@0.27.2: 498 + resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} 499 + engines: {node: '>=18'} 500 + cpu: [ia32] 501 + os: [linux] 502 + requiresBuild: true 503 + dev: true 504 + optional: true 505 + 506 + /@esbuild/linux-loong64@0.27.2: 507 + resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} 508 + engines: {node: '>=18'} 509 + cpu: [loong64] 510 + os: [linux] 511 + requiresBuild: true 512 + dev: true 513 + optional: true 514 + 515 + /@esbuild/linux-mips64el@0.27.2: 516 + resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} 517 + engines: {node: '>=18'} 518 + cpu: [mips64el] 519 + os: [linux] 520 + requiresBuild: true 521 + dev: true 522 + optional: true 523 + 524 + /@esbuild/linux-ppc64@0.27.2: 525 + resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} 526 + engines: {node: '>=18'} 527 + cpu: [ppc64] 528 + os: [linux] 529 + requiresBuild: true 530 + dev: true 531 + optional: true 532 + 533 + /@esbuild/linux-riscv64@0.27.2: 534 + resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} 535 + engines: {node: '>=18'} 536 + cpu: [riscv64] 537 + os: [linux] 538 + requiresBuild: true 539 + dev: true 540 + optional: true 541 + 542 + /@esbuild/linux-s390x@0.27.2: 543 + resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} 544 + engines: {node: '>=18'} 545 + cpu: [s390x] 546 + os: [linux] 547 + requiresBuild: true 548 + dev: true 549 + optional: true 550 + 551 + /@esbuild/linux-x64@0.27.2: 552 + resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} 553 + engines: {node: '>=18'} 554 + cpu: [x64] 555 + os: [linux] 556 + requiresBuild: true 557 + dev: true 558 + optional: true 559 + 560 + /@esbuild/netbsd-arm64@0.27.2: 561 + resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} 562 + engines: {node: '>=18'} 563 + cpu: [arm64] 564 + os: [netbsd] 565 + requiresBuild: true 566 + dev: true 567 + optional: true 568 + 569 + /@esbuild/netbsd-x64@0.27.2: 570 + resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} 571 + engines: {node: '>=18'} 572 + cpu: [x64] 573 + os: [netbsd] 574 + requiresBuild: true 575 + dev: true 576 + optional: true 577 + 578 + /@esbuild/openbsd-arm64@0.27.2: 579 + resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} 580 + engines: {node: '>=18'} 581 + cpu: [arm64] 582 + os: [openbsd] 583 + requiresBuild: true 584 + dev: true 585 + optional: true 586 + 587 + /@esbuild/openbsd-x64@0.27.2: 588 + resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} 589 + engines: {node: '>=18'} 590 + cpu: [x64] 591 + os: [openbsd] 592 + requiresBuild: true 593 + dev: true 594 + optional: true 595 + 596 + /@esbuild/openharmony-arm64@0.27.2: 597 + resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} 598 + engines: {node: '>=18'} 599 + cpu: [arm64] 600 + os: [openharmony] 601 + requiresBuild: true 602 + dev: true 603 + optional: true 604 + 605 + /@esbuild/sunos-x64@0.27.2: 606 + resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} 607 + engines: {node: '>=18'} 608 + cpu: [x64] 609 + os: [sunos] 610 + requiresBuild: true 611 + dev: true 612 + optional: true 613 + 614 + /@esbuild/win32-arm64@0.27.2: 615 + resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} 616 + engines: {node: '>=18'} 617 + cpu: [arm64] 618 + os: [win32] 619 + requiresBuild: true 620 + dev: true 621 + optional: true 622 + 623 + /@esbuild/win32-ia32@0.27.2: 624 + resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} 625 + engines: {node: '>=18'} 626 + cpu: [ia32] 627 + os: [win32] 628 + requiresBuild: true 629 + dev: true 630 + optional: true 631 + 632 + /@esbuild/win32-x64@0.27.2: 633 + resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} 634 + engines: {node: '>=18'} 635 + cpu: [x64] 636 + os: [win32] 637 + requiresBuild: true 638 + dev: true 639 + optional: true 640 + 641 + /@eslint-community/eslint-utils@4.9.1(eslint@9.39.2): 642 + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} 643 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 644 + peerDependencies: 645 + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 646 + dependencies: 647 + eslint: 9.39.2 648 + eslint-visitor-keys: 3.4.3 649 + dev: true 650 + 651 + /@eslint-community/regexpp@4.12.2: 652 + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} 653 + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 654 + dev: true 655 + 656 + /@eslint/config-array@0.21.1: 657 + resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} 658 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 659 + dependencies: 660 + '@eslint/object-schema': 2.1.7 661 + debug: 4.4.3 662 + minimatch: 3.1.2 663 + transitivePeerDependencies: 664 + - supports-color 665 + dev: true 666 + 667 + /@eslint/config-helpers@0.4.2: 668 + resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} 669 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 670 + dependencies: 671 + '@eslint/core': 0.17.0 672 + dev: true 673 + 674 + /@eslint/core@0.17.0: 675 + resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} 676 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 677 + dependencies: 678 + '@types/json-schema': 7.0.15 679 + dev: true 680 + 681 + /@eslint/eslintrc@3.3.3: 682 + resolution: {integrity: sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==} 683 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 684 + dependencies: 685 + ajv: 6.12.6 686 + debug: 4.4.3 687 + espree: 10.4.0 688 + globals: 14.0.0 689 + ignore: 5.3.2 690 + import-fresh: 3.3.1 691 + js-yaml: 4.1.1 692 + minimatch: 3.1.2 693 + strip-json-comments: 3.1.1 694 + transitivePeerDependencies: 695 + - supports-color 696 + dev: true 697 + 698 + /@eslint/js@9.39.2: 699 + resolution: {integrity: sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==} 700 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 701 + dev: true 702 + 703 + /@eslint/object-schema@2.1.7: 704 + resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} 705 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 706 + dev: true 707 + 708 + /@eslint/plugin-kit@0.4.1: 709 + resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} 710 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 711 + dependencies: 712 + '@eslint/core': 0.17.0 713 + levn: 0.4.1 714 + dev: true 715 + 716 + /@humanfs/core@0.19.1: 717 + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} 718 + engines: {node: '>=18.18.0'} 719 + dev: true 720 + 721 + /@humanfs/node@0.16.7: 722 + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} 723 + engines: {node: '>=18.18.0'} 724 + dependencies: 725 + '@humanfs/core': 0.19.1 726 + '@humanwhocodes/retry': 0.4.3 727 + dev: true 728 + 729 + /@humanwhocodes/module-importer@1.0.1: 730 + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 731 + engines: {node: '>=12.22'} 732 + dev: true 733 + 734 + /@humanwhocodes/retry@0.4.3: 735 + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} 736 + engines: {node: '>=18.18'} 737 + dev: true 738 + 739 + /@img/colour@1.0.0: 740 + resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==} 741 + engines: {node: '>=18'} 742 + requiresBuild: true 743 + dev: false 744 + optional: true 745 + 746 + /@img/sharp-darwin-arm64@0.34.5: 747 + resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==} 748 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 749 + cpu: [arm64] 750 + os: [darwin] 751 + requiresBuild: true 752 + optionalDependencies: 753 + '@img/sharp-libvips-darwin-arm64': 1.2.4 754 + dev: false 755 + optional: true 756 + 757 + /@img/sharp-darwin-x64@0.34.5: 758 + resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==} 759 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 760 + cpu: [x64] 761 + os: [darwin] 762 + requiresBuild: true 763 + optionalDependencies: 764 + '@img/sharp-libvips-darwin-x64': 1.2.4 765 + dev: false 766 + optional: true 767 + 768 + /@img/sharp-libvips-darwin-arm64@1.2.4: 769 + resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==} 770 + cpu: [arm64] 771 + os: [darwin] 772 + requiresBuild: true 773 + dev: false 774 + optional: true 775 + 776 + /@img/sharp-libvips-darwin-x64@1.2.4: 777 + resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==} 778 + cpu: [x64] 779 + os: [darwin] 780 + requiresBuild: true 781 + dev: false 782 + optional: true 783 + 784 + /@img/sharp-libvips-linux-arm64@1.2.4: 785 + resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==} 786 + cpu: [arm64] 787 + os: [linux] 788 + requiresBuild: true 789 + dev: false 790 + optional: true 791 + 792 + /@img/sharp-libvips-linux-arm@1.2.4: 793 + resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==} 794 + cpu: [arm] 795 + os: [linux] 796 + requiresBuild: true 797 + dev: false 798 + optional: true 799 + 800 + /@img/sharp-libvips-linux-ppc64@1.2.4: 801 + resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==} 802 + cpu: [ppc64] 803 + os: [linux] 804 + requiresBuild: true 805 + dev: false 806 + optional: true 807 + 808 + /@img/sharp-libvips-linux-riscv64@1.2.4: 809 + resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==} 810 + cpu: [riscv64] 811 + os: [linux] 812 + requiresBuild: true 813 + dev: false 814 + optional: true 815 + 816 + /@img/sharp-libvips-linux-s390x@1.2.4: 817 + resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==} 818 + cpu: [s390x] 819 + os: [linux] 820 + requiresBuild: true 821 + dev: false 822 + optional: true 823 + 824 + /@img/sharp-libvips-linux-x64@1.2.4: 825 + resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==} 826 + cpu: [x64] 827 + os: [linux] 828 + requiresBuild: true 829 + dev: false 830 + optional: true 831 + 832 + /@img/sharp-libvips-linuxmusl-arm64@1.2.4: 833 + resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==} 834 + cpu: [arm64] 835 + os: [linux] 836 + requiresBuild: true 837 + dev: false 838 + optional: true 839 + 840 + /@img/sharp-libvips-linuxmusl-x64@1.2.4: 841 + resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==} 842 + cpu: [x64] 843 + os: [linux] 844 + requiresBuild: true 845 + dev: false 846 + optional: true 847 + 848 + /@img/sharp-linux-arm64@0.34.5: 849 + resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==} 850 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 851 + cpu: [arm64] 852 + os: [linux] 853 + requiresBuild: true 854 + optionalDependencies: 855 + '@img/sharp-libvips-linux-arm64': 1.2.4 856 + dev: false 857 + optional: true 858 + 859 + /@img/sharp-linux-arm@0.34.5: 860 + resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==} 861 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 862 + cpu: [arm] 863 + os: [linux] 864 + requiresBuild: true 865 + optionalDependencies: 866 + '@img/sharp-libvips-linux-arm': 1.2.4 867 + dev: false 868 + optional: true 869 + 870 + /@img/sharp-linux-ppc64@0.34.5: 871 + resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==} 872 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 873 + cpu: [ppc64] 874 + os: [linux] 875 + requiresBuild: true 876 + optionalDependencies: 877 + '@img/sharp-libvips-linux-ppc64': 1.2.4 878 + dev: false 879 + optional: true 880 + 881 + /@img/sharp-linux-riscv64@0.34.5: 882 + resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==} 883 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 884 + cpu: [riscv64] 885 + os: [linux] 886 + requiresBuild: true 887 + optionalDependencies: 888 + '@img/sharp-libvips-linux-riscv64': 1.2.4 889 + dev: false 890 + optional: true 891 + 892 + /@img/sharp-linux-s390x@0.34.5: 893 + resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==} 894 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 895 + cpu: [s390x] 896 + os: [linux] 897 + requiresBuild: true 898 + optionalDependencies: 899 + '@img/sharp-libvips-linux-s390x': 1.2.4 900 + dev: false 901 + optional: true 902 + 903 + /@img/sharp-linux-x64@0.34.5: 904 + resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==} 905 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 906 + cpu: [x64] 907 + os: [linux] 908 + requiresBuild: true 909 + optionalDependencies: 910 + '@img/sharp-libvips-linux-x64': 1.2.4 911 + dev: false 912 + optional: true 913 + 914 + /@img/sharp-linuxmusl-arm64@0.34.5: 915 + resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==} 916 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 917 + cpu: [arm64] 918 + os: [linux] 919 + requiresBuild: true 920 + optionalDependencies: 921 + '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 922 + dev: false 923 + optional: true 924 + 925 + /@img/sharp-linuxmusl-x64@0.34.5: 926 + resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==} 927 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 928 + cpu: [x64] 929 + os: [linux] 930 + requiresBuild: true 931 + optionalDependencies: 932 + '@img/sharp-libvips-linuxmusl-x64': 1.2.4 933 + dev: false 934 + optional: true 935 + 936 + /@img/sharp-wasm32@0.34.5: 937 + resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==} 938 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 939 + cpu: [wasm32] 940 + requiresBuild: true 941 + dependencies: 942 + '@emnapi/runtime': 1.8.1 943 + dev: false 944 + optional: true 945 + 946 + /@img/sharp-win32-arm64@0.34.5: 947 + resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==} 948 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 949 + cpu: [arm64] 950 + os: [win32] 951 + requiresBuild: true 952 + dev: false 953 + optional: true 954 + 955 + /@img/sharp-win32-ia32@0.34.5: 956 + resolution: {integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==} 957 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 958 + cpu: [ia32] 959 + os: [win32] 960 + requiresBuild: true 961 + dev: false 962 + optional: true 963 + 964 + /@img/sharp-win32-x64@0.34.5: 965 + resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==} 966 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 967 + cpu: [x64] 968 + os: [win32] 969 + requiresBuild: true 970 + dev: false 971 + optional: true 972 + 973 + /@jridgewell/gen-mapping@0.3.13: 974 + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} 975 + dependencies: 976 + '@jridgewell/sourcemap-codec': 1.5.5 977 + '@jridgewell/trace-mapping': 0.3.31 978 + 979 + /@jridgewell/remapping@2.3.5: 980 + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} 981 + dependencies: 982 + '@jridgewell/gen-mapping': 0.3.13 983 + '@jridgewell/trace-mapping': 0.3.31 984 + 985 + /@jridgewell/resolve-uri@3.1.2: 986 + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 987 + engines: {node: '>=6.0.0'} 988 + 989 + /@jridgewell/sourcemap-codec@1.5.5: 990 + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} 991 + 992 + /@jridgewell/trace-mapping@0.3.31: 993 + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} 994 + dependencies: 995 + '@jridgewell/resolve-uri': 3.1.2 996 + '@jridgewell/sourcemap-codec': 1.5.5 997 + 998 + /@napi-rs/wasm-runtime@0.2.12: 999 + resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} 1000 + requiresBuild: true 1001 + dependencies: 1002 + '@emnapi/core': 1.8.1 1003 + '@emnapi/runtime': 1.8.1 1004 + '@tybys/wasm-util': 0.10.1 1005 + dev: true 1006 + optional: true 1007 + 1008 + /@next/env@16.1.1: 1009 + resolution: {integrity: sha512-3oxyM97Sr2PqiVyMyrZUtrtM3jqqFxOQJVuKclDsgj/L728iZt/GyslkN4NwarledZATCenbk4Offjk1hQmaAA==} 1010 + dev: false 1011 + 1012 + /@next/eslint-plugin-next@16.1.1: 1013 + resolution: {integrity: sha512-Ovb/6TuLKbE1UiPcg0p39Ke3puyTCIKN9hGbNItmpQsp+WX3qrjO3WaMVSi6JHr9X1NrmthqIguVHodMJbh/dw==} 1014 + dependencies: 1015 + fast-glob: 3.3.1 1016 + dev: true 1017 + 1018 + /@next/swc-darwin-arm64@16.1.1: 1019 + resolution: {integrity: sha512-JS3m42ifsVSJjSTzh27nW+Igfha3NdBOFScr9C80hHGrWx55pTrVL23RJbqir7k7/15SKlrLHhh/MQzqBBYrQA==} 1020 + engines: {node: '>= 10'} 1021 + cpu: [arm64] 1022 + os: [darwin] 1023 + requiresBuild: true 1024 + dev: false 1025 + optional: true 1026 + 1027 + /@next/swc-darwin-x64@16.1.1: 1028 + resolution: {integrity: sha512-hbyKtrDGUkgkyQi1m1IyD3q4I/3m9ngr+V93z4oKHrPcmxwNL5iMWORvLSGAf2YujL+6HxgVvZuCYZfLfb4bGw==} 1029 + engines: {node: '>= 10'} 1030 + cpu: [x64] 1031 + os: [darwin] 1032 + requiresBuild: true 1033 + dev: false 1034 + optional: true 1035 + 1036 + /@next/swc-linux-arm64-gnu@16.1.1: 1037 + resolution: {integrity: sha512-/fvHet+EYckFvRLQ0jPHJCUI5/B56+2DpI1xDSvi80r/3Ez+Eaa2Yq4tJcRTaB1kqj/HrYKn8Yplm9bNoMJpwQ==} 1038 + engines: {node: '>= 10'} 1039 + cpu: [arm64] 1040 + os: [linux] 1041 + requiresBuild: true 1042 + dev: false 1043 + optional: true 1044 + 1045 + /@next/swc-linux-arm64-musl@16.1.1: 1046 + resolution: {integrity: sha512-MFHrgL4TXNQbBPzkKKur4Fb5ICEJa87HM7fczFs2+HWblM7mMLdco3dvyTI+QmLBU9xgns/EeeINSZD6Ar+oLg==} 1047 + engines: {node: '>= 10'} 1048 + cpu: [arm64] 1049 + os: [linux] 1050 + requiresBuild: true 1051 + dev: false 1052 + optional: true 1053 + 1054 + /@next/swc-linux-x64-gnu@16.1.1: 1055 + resolution: {integrity: sha512-20bYDfgOQAPUkkKBnyP9PTuHiJGM7HzNBbuqmD0jiFVZ0aOldz+VnJhbxzjcSabYsnNjMPsE0cyzEudpYxsrUQ==} 1056 + engines: {node: '>= 10'} 1057 + cpu: [x64] 1058 + os: [linux] 1059 + requiresBuild: true 1060 + dev: false 1061 + optional: true 1062 + 1063 + /@next/swc-linux-x64-musl@16.1.1: 1064 + resolution: {integrity: sha512-9pRbK3M4asAHQRkwaXwu601oPZHghuSC8IXNENgbBSyImHv/zY4K5udBusgdHkvJ/Tcr96jJwQYOll0qU8+fPA==} 1065 + engines: {node: '>= 10'} 1066 + cpu: [x64] 1067 + os: [linux] 1068 + requiresBuild: true 1069 + dev: false 1070 + optional: true 1071 + 1072 + /@next/swc-win32-arm64-msvc@16.1.1: 1073 + resolution: {integrity: sha512-bdfQkggaLgnmYrFkSQfsHfOhk/mCYmjnrbRCGgkMcoOBZ4n+TRRSLmT/CU5SATzlBJ9TpioUyBW/vWFXTqQRiA==} 1074 + engines: {node: '>= 10'} 1075 + cpu: [arm64] 1076 + os: [win32] 1077 + requiresBuild: true 1078 + dev: false 1079 + optional: true 1080 + 1081 + /@next/swc-win32-x64-msvc@16.1.1: 1082 + resolution: {integrity: sha512-Ncwbw2WJ57Al5OX0k4chM68DKhEPlrXBaSXDCi2kPi5f4d8b3ejr3RRJGfKBLrn2YJL5ezNS7w2TZLHSti8CMw==} 1083 + engines: {node: '>= 10'} 1084 + cpu: [x64] 1085 + os: [win32] 1086 + requiresBuild: true 1087 + dev: false 1088 + optional: true 1089 + 1090 + /@nodelib/fs.scandir@2.1.5: 1091 + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 1092 + engines: {node: '>= 8'} 1093 + dependencies: 1094 + '@nodelib/fs.stat': 2.0.5 1095 + run-parallel: 1.2.0 1096 + dev: true 1097 + 1098 + /@nodelib/fs.stat@2.0.5: 1099 + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 1100 + engines: {node: '>= 8'} 1101 + dev: true 1102 + 1103 + /@nodelib/fs.walk@1.2.8: 1104 + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 1105 + engines: {node: '>= 8'} 1106 + dependencies: 1107 + '@nodelib/fs.scandir': 2.1.5 1108 + fastq: 1.20.1 1109 + dev: true 1110 + 1111 + /@nolyfill/is-core-module@1.0.39: 1112 + resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} 1113 + engines: {node: '>=12.4.0'} 1114 + dev: true 1115 + 1116 + /@rtsao/scc@1.1.0: 1117 + resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} 1118 + dev: true 1119 + 1120 + /@swc/helpers@0.5.15: 1121 + resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} 1122 + dependencies: 1123 + tslib: 2.8.1 1124 + dev: false 1125 + 1126 + /@tailwindcss/node@4.1.18: 1127 + resolution: {integrity: sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==} 1128 + dependencies: 1129 + '@jridgewell/remapping': 2.3.5 1130 + enhanced-resolve: 5.18.4 1131 + jiti: 2.6.1 1132 + lightningcss: 1.30.2 1133 + magic-string: 0.30.21 1134 + source-map-js: 1.2.1 1135 + tailwindcss: 4.1.18 1136 + dev: true 1137 + 1138 + /@tailwindcss/oxide-android-arm64@4.1.18: 1139 + resolution: {integrity: sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==} 1140 + engines: {node: '>= 10'} 1141 + cpu: [arm64] 1142 + os: [android] 1143 + requiresBuild: true 1144 + dev: true 1145 + optional: true 1146 + 1147 + /@tailwindcss/oxide-darwin-arm64@4.1.18: 1148 + resolution: {integrity: sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==} 1149 + engines: {node: '>= 10'} 1150 + cpu: [arm64] 1151 + os: [darwin] 1152 + requiresBuild: true 1153 + dev: true 1154 + optional: true 1155 + 1156 + /@tailwindcss/oxide-darwin-x64@4.1.18: 1157 + resolution: {integrity: sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==} 1158 + engines: {node: '>= 10'} 1159 + cpu: [x64] 1160 + os: [darwin] 1161 + requiresBuild: true 1162 + dev: true 1163 + optional: true 1164 + 1165 + /@tailwindcss/oxide-freebsd-x64@4.1.18: 1166 + resolution: {integrity: sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==} 1167 + engines: {node: '>= 10'} 1168 + cpu: [x64] 1169 + os: [freebsd] 1170 + requiresBuild: true 1171 + dev: true 1172 + optional: true 1173 + 1174 + /@tailwindcss/oxide-linux-arm-gnueabihf@4.1.18: 1175 + resolution: {integrity: sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==} 1176 + engines: {node: '>= 10'} 1177 + cpu: [arm] 1178 + os: [linux] 1179 + requiresBuild: true 1180 + dev: true 1181 + optional: true 1182 + 1183 + /@tailwindcss/oxide-linux-arm64-gnu@4.1.18: 1184 + resolution: {integrity: sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==} 1185 + engines: {node: '>= 10'} 1186 + cpu: [arm64] 1187 + os: [linux] 1188 + requiresBuild: true 1189 + dev: true 1190 + optional: true 1191 + 1192 + /@tailwindcss/oxide-linux-arm64-musl@4.1.18: 1193 + resolution: {integrity: sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==} 1194 + engines: {node: '>= 10'} 1195 + cpu: [arm64] 1196 + os: [linux] 1197 + requiresBuild: true 1198 + dev: true 1199 + optional: true 1200 + 1201 + /@tailwindcss/oxide-linux-x64-gnu@4.1.18: 1202 + resolution: {integrity: sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==} 1203 + engines: {node: '>= 10'} 1204 + cpu: [x64] 1205 + os: [linux] 1206 + requiresBuild: true 1207 + dev: true 1208 + optional: true 1209 + 1210 + /@tailwindcss/oxide-linux-x64-musl@4.1.18: 1211 + resolution: {integrity: sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==} 1212 + engines: {node: '>= 10'} 1213 + cpu: [x64] 1214 + os: [linux] 1215 + requiresBuild: true 1216 + dev: true 1217 + optional: true 1218 + 1219 + /@tailwindcss/oxide-wasm32-wasi@4.1.18: 1220 + resolution: {integrity: sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==} 1221 + engines: {node: '>=14.0.0'} 1222 + cpu: [wasm32] 1223 + requiresBuild: true 1224 + dev: true 1225 + optional: true 1226 + bundledDependencies: 1227 + - '@napi-rs/wasm-runtime' 1228 + - '@emnapi/core' 1229 + - '@emnapi/runtime' 1230 + - '@tybys/wasm-util' 1231 + - '@emnapi/wasi-threads' 1232 + - tslib 1233 + 1234 + /@tailwindcss/oxide-win32-arm64-msvc@4.1.18: 1235 + resolution: {integrity: sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==} 1236 + engines: {node: '>= 10'} 1237 + cpu: [arm64] 1238 + os: [win32] 1239 + requiresBuild: true 1240 + dev: true 1241 + optional: true 1242 + 1243 + /@tailwindcss/oxide-win32-x64-msvc@4.1.18: 1244 + resolution: {integrity: sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==} 1245 + engines: {node: '>= 10'} 1246 + cpu: [x64] 1247 + os: [win32] 1248 + requiresBuild: true 1249 + dev: true 1250 + optional: true 1251 + 1252 + /@tailwindcss/oxide@4.1.18: 1253 + resolution: {integrity: sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==} 1254 + engines: {node: '>= 10'} 1255 + optionalDependencies: 1256 + '@tailwindcss/oxide-android-arm64': 4.1.18 1257 + '@tailwindcss/oxide-darwin-arm64': 4.1.18 1258 + '@tailwindcss/oxide-darwin-x64': 4.1.18 1259 + '@tailwindcss/oxide-freebsd-x64': 4.1.18 1260 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.18 1261 + '@tailwindcss/oxide-linux-arm64-gnu': 4.1.18 1262 + '@tailwindcss/oxide-linux-arm64-musl': 4.1.18 1263 + '@tailwindcss/oxide-linux-x64-gnu': 4.1.18 1264 + '@tailwindcss/oxide-linux-x64-musl': 4.1.18 1265 + '@tailwindcss/oxide-wasm32-wasi': 4.1.18 1266 + '@tailwindcss/oxide-win32-arm64-msvc': 4.1.18 1267 + '@tailwindcss/oxide-win32-x64-msvc': 4.1.18 1268 + dev: true 1269 + 1270 + /@tailwindcss/postcss@4.1.18: 1271 + resolution: {integrity: sha512-Ce0GFnzAOuPyfV5SxjXGn0CubwGcuDB0zcdaPuCSzAa/2vII24JTkH+I6jcbXLb1ctjZMZZI6OjDaLPJQL1S0g==} 1272 + dependencies: 1273 + '@alloc/quick-lru': 5.2.0 1274 + '@tailwindcss/node': 4.1.18 1275 + '@tailwindcss/oxide': 4.1.18 1276 + postcss: 8.5.6 1277 + tailwindcss: 4.1.18 1278 + dev: true 1279 + 1280 + /@tybys/wasm-util@0.10.1: 1281 + resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} 1282 + requiresBuild: true 1283 + dependencies: 1284 + tslib: 2.8.1 1285 + dev: true 1286 + optional: true 1287 + 1288 + /@types/better-sqlite3@7.6.13: 1289 + resolution: {integrity: sha512-NMv9ASNARoKksWtsq/SHakpYAYnhBrQgGD8zkLYk/jaK8jUGn08CfEdTRgYhMypUQAfzSP8W6gNLe0q19/t4VA==} 1290 + dependencies: 1291 + '@types/node': 20.19.27 1292 + dev: true 1293 + 1294 + /@types/estree@1.0.8: 1295 + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} 1296 + dev: true 1297 + 1298 + /@types/json-schema@7.0.15: 1299 + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 1300 + dev: true 1301 + 1302 + /@types/json5@0.0.29: 1303 + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 1304 + dev: true 1305 + 1306 + /@types/node@20.19.27: 1307 + resolution: {integrity: sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug==} 1308 + dependencies: 1309 + undici-types: 6.21.0 1310 + dev: true 1311 + 1312 + /@types/react-dom@19.2.3(@types/react@19.2.7): 1313 + resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} 1314 + peerDependencies: 1315 + '@types/react': ^19.2.0 1316 + dependencies: 1317 + '@types/react': 19.2.7 1318 + dev: true 1319 + 1320 + /@types/react@19.2.7: 1321 + resolution: {integrity: sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==} 1322 + dependencies: 1323 + csstype: 3.2.3 1324 + dev: true 1325 + 1326 + /@typescript-eslint/eslint-plugin@8.52.0(@typescript-eslint/parser@8.52.0)(eslint@9.39.2)(typescript@5.9.3): 1327 + resolution: {integrity: sha512-okqtOgqu2qmZJ5iN4TWlgfF171dZmx2FzdOv2K/ixL2LZWDStL8+JgQerI2sa8eAEfoydG9+0V96m7V+P8yE1Q==} 1328 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1329 + peerDependencies: 1330 + '@typescript-eslint/parser': ^8.52.0 1331 + eslint: ^8.57.0 || ^9.0.0 1332 + typescript: '>=4.8.4 <6.0.0' 1333 + dependencies: 1334 + '@eslint-community/regexpp': 4.12.2 1335 + '@typescript-eslint/parser': 8.52.0(eslint@9.39.2)(typescript@5.9.3) 1336 + '@typescript-eslint/scope-manager': 8.52.0 1337 + '@typescript-eslint/type-utils': 8.52.0(eslint@9.39.2)(typescript@5.9.3) 1338 + '@typescript-eslint/utils': 8.52.0(eslint@9.39.2)(typescript@5.9.3) 1339 + '@typescript-eslint/visitor-keys': 8.52.0 1340 + eslint: 9.39.2 1341 + ignore: 7.0.5 1342 + natural-compare: 1.4.0 1343 + ts-api-utils: 2.4.0(typescript@5.9.3) 1344 + typescript: 5.9.3 1345 + transitivePeerDependencies: 1346 + - supports-color 1347 + dev: true 1348 + 1349 + /@typescript-eslint/parser@8.52.0(eslint@9.39.2)(typescript@5.9.3): 1350 + resolution: {integrity: sha512-iIACsx8pxRnguSYhHiMn2PvhvfpopO9FXHyn1mG5txZIsAaB6F0KwbFnUQN3KCiG3Jcuad/Cao2FAs1Wp7vAyg==} 1351 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1352 + peerDependencies: 1353 + eslint: ^8.57.0 || ^9.0.0 1354 + typescript: '>=4.8.4 <6.0.0' 1355 + dependencies: 1356 + '@typescript-eslint/scope-manager': 8.52.0 1357 + '@typescript-eslint/types': 8.52.0 1358 + '@typescript-eslint/typescript-estree': 8.52.0(typescript@5.9.3) 1359 + '@typescript-eslint/visitor-keys': 8.52.0 1360 + debug: 4.4.3 1361 + eslint: 9.39.2 1362 + typescript: 5.9.3 1363 + transitivePeerDependencies: 1364 + - supports-color 1365 + dev: true 1366 + 1367 + /@typescript-eslint/project-service@8.52.0(typescript@5.9.3): 1368 + resolution: {integrity: sha512-xD0MfdSdEmeFa3OmVqonHi+Cciab96ls1UhIF/qX/O/gPu5KXD0bY9lu33jj04fjzrXHcuvjBcBC+D3SNSadaw==} 1369 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1370 + peerDependencies: 1371 + typescript: '>=4.8.4 <6.0.0' 1372 + dependencies: 1373 + '@typescript-eslint/tsconfig-utils': 8.52.0(typescript@5.9.3) 1374 + '@typescript-eslint/types': 8.52.0 1375 + debug: 4.4.3 1376 + typescript: 5.9.3 1377 + transitivePeerDependencies: 1378 + - supports-color 1379 + dev: true 1380 + 1381 + /@typescript-eslint/scope-manager@8.52.0: 1382 + resolution: {integrity: sha512-ixxqmmCcc1Nf8S0mS0TkJ/3LKcC8mruYJPOU6Ia2F/zUUR4pApW7LzrpU3JmtePbRUTes9bEqRc1Gg4iyRnDzA==} 1383 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1384 + dependencies: 1385 + '@typescript-eslint/types': 8.52.0 1386 + '@typescript-eslint/visitor-keys': 8.52.0 1387 + dev: true 1388 + 1389 + /@typescript-eslint/tsconfig-utils@8.52.0(typescript@5.9.3): 1390 + resolution: {integrity: sha512-jl+8fzr/SdzdxWJznq5nvoI7qn2tNYV/ZBAEcaFMVXf+K6jmXvAFrgo/+5rxgnL152f//pDEAYAhhBAZGrVfwg==} 1391 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1392 + peerDependencies: 1393 + typescript: '>=4.8.4 <6.0.0' 1394 + dependencies: 1395 + typescript: 5.9.3 1396 + dev: true 1397 + 1398 + /@typescript-eslint/type-utils@8.52.0(eslint@9.39.2)(typescript@5.9.3): 1399 + resolution: {integrity: sha512-JD3wKBRWglYRQkAtsyGz1AewDu3mTc7NtRjR/ceTyGoPqmdS5oCdx/oZMWD5Zuqmo6/MpsYs0wp6axNt88/2EQ==} 1400 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1401 + peerDependencies: 1402 + eslint: ^8.57.0 || ^9.0.0 1403 + typescript: '>=4.8.4 <6.0.0' 1404 + dependencies: 1405 + '@typescript-eslint/types': 8.52.0 1406 + '@typescript-eslint/typescript-estree': 8.52.0(typescript@5.9.3) 1407 + '@typescript-eslint/utils': 8.52.0(eslint@9.39.2)(typescript@5.9.3) 1408 + debug: 4.4.3 1409 + eslint: 9.39.2 1410 + ts-api-utils: 2.4.0(typescript@5.9.3) 1411 + typescript: 5.9.3 1412 + transitivePeerDependencies: 1413 + - supports-color 1414 + dev: true 1415 + 1416 + /@typescript-eslint/types@8.52.0: 1417 + resolution: {integrity: sha512-LWQV1V4q9V4cT4H5JCIx3481iIFxH1UkVk+ZkGGAV1ZGcjGI9IoFOfg3O6ywz8QqCDEp7Inlg6kovMofsNRaGg==} 1418 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1419 + dev: true 1420 + 1421 + /@typescript-eslint/typescript-estree@8.52.0(typescript@5.9.3): 1422 + resolution: {integrity: sha512-XP3LClsCc0FsTK5/frGjolyADTh3QmsLp6nKd476xNI9CsSsLnmn4f0jrzNoAulmxlmNIpeXuHYeEQv61Q6qeQ==} 1423 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1424 + peerDependencies: 1425 + typescript: '>=4.8.4 <6.0.0' 1426 + dependencies: 1427 + '@typescript-eslint/project-service': 8.52.0(typescript@5.9.3) 1428 + '@typescript-eslint/tsconfig-utils': 8.52.0(typescript@5.9.3) 1429 + '@typescript-eslint/types': 8.52.0 1430 + '@typescript-eslint/visitor-keys': 8.52.0 1431 + debug: 4.4.3 1432 + minimatch: 9.0.5 1433 + semver: 7.7.3 1434 + tinyglobby: 0.2.15 1435 + ts-api-utils: 2.4.0(typescript@5.9.3) 1436 + typescript: 5.9.3 1437 + transitivePeerDependencies: 1438 + - supports-color 1439 + dev: true 1440 + 1441 + /@typescript-eslint/utils@8.52.0(eslint@9.39.2)(typescript@5.9.3): 1442 + resolution: {integrity: sha512-wYndVMWkweqHpEpwPhwqE2lnD2DxC6WVLupU/DOt/0/v+/+iQbbzO3jOHjmBMnhu0DgLULvOaU4h4pwHYi2oRQ==} 1443 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1444 + peerDependencies: 1445 + eslint: ^8.57.0 || ^9.0.0 1446 + typescript: '>=4.8.4 <6.0.0' 1447 + dependencies: 1448 + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2) 1449 + '@typescript-eslint/scope-manager': 8.52.0 1450 + '@typescript-eslint/types': 8.52.0 1451 + '@typescript-eslint/typescript-estree': 8.52.0(typescript@5.9.3) 1452 + eslint: 9.39.2 1453 + typescript: 5.9.3 1454 + transitivePeerDependencies: 1455 + - supports-color 1456 + dev: true 1457 + 1458 + /@typescript-eslint/visitor-keys@8.52.0: 1459 + resolution: {integrity: sha512-ink3/Zofus34nmBsPjow63FP5M7IGff0RKAgqR6+CFpdk22M7aLwC9gOcLGYqr7MczLPzZVERW9hRog3O4n1sQ==} 1460 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1461 + dependencies: 1462 + '@typescript-eslint/types': 8.52.0 1463 + eslint-visitor-keys: 4.2.1 1464 + dev: true 1465 + 1466 + /@unrs/resolver-binding-android-arm-eabi@1.11.1: 1467 + resolution: {integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==} 1468 + cpu: [arm] 1469 + os: [android] 1470 + requiresBuild: true 1471 + dev: true 1472 + optional: true 1473 + 1474 + /@unrs/resolver-binding-android-arm64@1.11.1: 1475 + resolution: {integrity: sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==} 1476 + cpu: [arm64] 1477 + os: [android] 1478 + requiresBuild: true 1479 + dev: true 1480 + optional: true 1481 + 1482 + /@unrs/resolver-binding-darwin-arm64@1.11.1: 1483 + resolution: {integrity: sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==} 1484 + cpu: [arm64] 1485 + os: [darwin] 1486 + requiresBuild: true 1487 + dev: true 1488 + optional: true 1489 + 1490 + /@unrs/resolver-binding-darwin-x64@1.11.1: 1491 + resolution: {integrity: sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==} 1492 + cpu: [x64] 1493 + os: [darwin] 1494 + requiresBuild: true 1495 + dev: true 1496 + optional: true 1497 + 1498 + /@unrs/resolver-binding-freebsd-x64@1.11.1: 1499 + resolution: {integrity: sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==} 1500 + cpu: [x64] 1501 + os: [freebsd] 1502 + requiresBuild: true 1503 + dev: true 1504 + optional: true 1505 + 1506 + /@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1: 1507 + resolution: {integrity: sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==} 1508 + cpu: [arm] 1509 + os: [linux] 1510 + requiresBuild: true 1511 + dev: true 1512 + optional: true 1513 + 1514 + /@unrs/resolver-binding-linux-arm-musleabihf@1.11.1: 1515 + resolution: {integrity: sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==} 1516 + cpu: [arm] 1517 + os: [linux] 1518 + requiresBuild: true 1519 + dev: true 1520 + optional: true 1521 + 1522 + /@unrs/resolver-binding-linux-arm64-gnu@1.11.1: 1523 + resolution: {integrity: sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==} 1524 + cpu: [arm64] 1525 + os: [linux] 1526 + requiresBuild: true 1527 + dev: true 1528 + optional: true 1529 + 1530 + /@unrs/resolver-binding-linux-arm64-musl@1.11.1: 1531 + resolution: {integrity: sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==} 1532 + cpu: [arm64] 1533 + os: [linux] 1534 + requiresBuild: true 1535 + dev: true 1536 + optional: true 1537 + 1538 + /@unrs/resolver-binding-linux-ppc64-gnu@1.11.1: 1539 + resolution: {integrity: sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==} 1540 + cpu: [ppc64] 1541 + os: [linux] 1542 + requiresBuild: true 1543 + dev: true 1544 + optional: true 1545 + 1546 + /@unrs/resolver-binding-linux-riscv64-gnu@1.11.1: 1547 + resolution: {integrity: sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==} 1548 + cpu: [riscv64] 1549 + os: [linux] 1550 + requiresBuild: true 1551 + dev: true 1552 + optional: true 1553 + 1554 + /@unrs/resolver-binding-linux-riscv64-musl@1.11.1: 1555 + resolution: {integrity: sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==} 1556 + cpu: [riscv64] 1557 + os: [linux] 1558 + requiresBuild: true 1559 + dev: true 1560 + optional: true 1561 + 1562 + /@unrs/resolver-binding-linux-s390x-gnu@1.11.1: 1563 + resolution: {integrity: sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==} 1564 + cpu: [s390x] 1565 + os: [linux] 1566 + requiresBuild: true 1567 + dev: true 1568 + optional: true 1569 + 1570 + /@unrs/resolver-binding-linux-x64-gnu@1.11.1: 1571 + resolution: {integrity: sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==} 1572 + cpu: [x64] 1573 + os: [linux] 1574 + requiresBuild: true 1575 + dev: true 1576 + optional: true 1577 + 1578 + /@unrs/resolver-binding-linux-x64-musl@1.11.1: 1579 + resolution: {integrity: sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==} 1580 + cpu: [x64] 1581 + os: [linux] 1582 + requiresBuild: true 1583 + dev: true 1584 + optional: true 1585 + 1586 + /@unrs/resolver-binding-wasm32-wasi@1.11.1: 1587 + resolution: {integrity: sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==} 1588 + engines: {node: '>=14.0.0'} 1589 + cpu: [wasm32] 1590 + requiresBuild: true 1591 + dependencies: 1592 + '@napi-rs/wasm-runtime': 0.2.12 1593 + dev: true 1594 + optional: true 1595 + 1596 + /@unrs/resolver-binding-win32-arm64-msvc@1.11.1: 1597 + resolution: {integrity: sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==} 1598 + cpu: [arm64] 1599 + os: [win32] 1600 + requiresBuild: true 1601 + dev: true 1602 + optional: true 1603 + 1604 + /@unrs/resolver-binding-win32-ia32-msvc@1.11.1: 1605 + resolution: {integrity: sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==} 1606 + cpu: [ia32] 1607 + os: [win32] 1608 + requiresBuild: true 1609 + dev: true 1610 + optional: true 1611 + 1612 + /@unrs/resolver-binding-win32-x64-msvc@1.11.1: 1613 + resolution: {integrity: sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==} 1614 + cpu: [x64] 1615 + os: [win32] 1616 + requiresBuild: true 1617 + dev: true 1618 + optional: true 1619 + 1620 + /acorn-jsx@5.3.2(acorn@8.15.0): 1621 + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 1622 + peerDependencies: 1623 + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 1624 + dependencies: 1625 + acorn: 8.15.0 1626 + dev: true 1627 + 1628 + /acorn@8.15.0: 1629 + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} 1630 + engines: {node: '>=0.4.0'} 1631 + hasBin: true 1632 + dev: true 1633 + 1634 + /ajv@6.12.6: 1635 + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 1636 + dependencies: 1637 + fast-deep-equal: 3.1.3 1638 + fast-json-stable-stringify: 2.1.0 1639 + json-schema-traverse: 0.4.1 1640 + uri-js: 4.4.1 1641 + dev: true 1642 + 1643 + /ansi-styles@4.3.0: 1644 + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 1645 + engines: {node: '>=8'} 1646 + dependencies: 1647 + color-convert: 2.0.1 1648 + dev: true 1649 + 1650 + /argparse@2.0.1: 1651 + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 1652 + dev: true 1653 + 1654 + /aria-query@5.3.2: 1655 + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} 1656 + engines: {node: '>= 0.4'} 1657 + dev: true 1658 + 1659 + /array-buffer-byte-length@1.0.2: 1660 + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} 1661 + engines: {node: '>= 0.4'} 1662 + dependencies: 1663 + call-bound: 1.0.4 1664 + is-array-buffer: 3.0.5 1665 + dev: true 1666 + 1667 + /array-includes@3.1.9: 1668 + resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==} 1669 + engines: {node: '>= 0.4'} 1670 + dependencies: 1671 + call-bind: 1.0.8 1672 + call-bound: 1.0.4 1673 + define-properties: 1.2.1 1674 + es-abstract: 1.24.1 1675 + es-object-atoms: 1.1.1 1676 + get-intrinsic: 1.3.0 1677 + is-string: 1.1.1 1678 + math-intrinsics: 1.1.0 1679 + dev: true 1680 + 1681 + /array.prototype.findlast@1.2.5: 1682 + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} 1683 + engines: {node: '>= 0.4'} 1684 + dependencies: 1685 + call-bind: 1.0.8 1686 + define-properties: 1.2.1 1687 + es-abstract: 1.24.1 1688 + es-errors: 1.3.0 1689 + es-object-atoms: 1.1.1 1690 + es-shim-unscopables: 1.1.0 1691 + dev: true 1692 + 1693 + /array.prototype.findlastindex@1.2.6: 1694 + resolution: {integrity: sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==} 1695 + engines: {node: '>= 0.4'} 1696 + dependencies: 1697 + call-bind: 1.0.8 1698 + call-bound: 1.0.4 1699 + define-properties: 1.2.1 1700 + es-abstract: 1.24.1 1701 + es-errors: 1.3.0 1702 + es-object-atoms: 1.1.1 1703 + es-shim-unscopables: 1.1.0 1704 + dev: true 1705 + 1706 + /array.prototype.flat@1.3.3: 1707 + resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} 1708 + engines: {node: '>= 0.4'} 1709 + dependencies: 1710 + call-bind: 1.0.8 1711 + define-properties: 1.2.1 1712 + es-abstract: 1.24.1 1713 + es-shim-unscopables: 1.1.0 1714 + dev: true 1715 + 1716 + /array.prototype.flatmap@1.3.3: 1717 + resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} 1718 + engines: {node: '>= 0.4'} 1719 + dependencies: 1720 + call-bind: 1.0.8 1721 + define-properties: 1.2.1 1722 + es-abstract: 1.24.1 1723 + es-shim-unscopables: 1.1.0 1724 + dev: true 1725 + 1726 + /array.prototype.tosorted@1.1.4: 1727 + resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} 1728 + engines: {node: '>= 0.4'} 1729 + dependencies: 1730 + call-bind: 1.0.8 1731 + define-properties: 1.2.1 1732 + es-abstract: 1.24.1 1733 + es-errors: 1.3.0 1734 + es-shim-unscopables: 1.1.0 1735 + dev: true 1736 + 1737 + /arraybuffer.prototype.slice@1.0.4: 1738 + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} 1739 + engines: {node: '>= 0.4'} 1740 + dependencies: 1741 + array-buffer-byte-length: 1.0.2 1742 + call-bind: 1.0.8 1743 + define-properties: 1.2.1 1744 + es-abstract: 1.24.1 1745 + es-errors: 1.3.0 1746 + get-intrinsic: 1.3.0 1747 + is-array-buffer: 3.0.5 1748 + dev: true 1749 + 1750 + /ast-types-flow@0.0.8: 1751 + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} 1752 + dev: true 1753 + 1754 + /async-function@1.0.0: 1755 + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} 1756 + engines: {node: '>= 0.4'} 1757 + dev: true 1758 + 1759 + /available-typed-arrays@1.0.7: 1760 + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} 1761 + engines: {node: '>= 0.4'} 1762 + dependencies: 1763 + possible-typed-array-names: 1.1.0 1764 + dev: true 1765 + 1766 + /axe-core@4.11.1: 1767 + resolution: {integrity: sha512-BASOg+YwO2C+346x3LZOeoovTIoTrRqEsqMa6fmfAV0P+U9mFr9NsyOEpiYvFjbc64NMrSswhV50WdXzdb/Z5A==} 1768 + engines: {node: '>=4'} 1769 + dev: true 1770 + 1771 + /axobject-query@4.1.0: 1772 + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} 1773 + engines: {node: '>= 0.4'} 1774 + dev: true 1775 + 1776 + /balanced-match@1.0.2: 1777 + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 1778 + dev: true 1779 + 1780 + /base64-js@1.5.1: 1781 + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 1782 + dev: false 1783 + 1784 + /baseline-browser-mapping@2.9.13: 1785 + resolution: {integrity: sha512-WhtvB2NG2wjr04+h77sg3klAIwrgOqnjS49GGudnUPGFFgg7G17y7Qecqp+2Dr5kUDxNRBca0SK7cG8JwzkWDQ==} 1786 + hasBin: true 1787 + 1788 + /better-sqlite3@12.5.0: 1789 + resolution: {integrity: sha512-WwCZ/5Diz7rsF29o27o0Gcc1Du+l7Zsv7SYtVPG0X3G/uUI1LqdxrQI7c9Hs2FWpqXXERjW9hp6g3/tH7DlVKg==} 1790 + engines: {node: 20.x || 22.x || 23.x || 24.x || 25.x} 1791 + requiresBuild: true 1792 + dependencies: 1793 + bindings: 1.5.0 1794 + prebuild-install: 7.1.3 1795 + dev: false 1796 + 1797 + /bindings@1.5.0: 1798 + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} 1799 + dependencies: 1800 + file-uri-to-path: 1.0.0 1801 + dev: false 1802 + 1803 + /bl@4.1.0: 1804 + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} 1805 + dependencies: 1806 + buffer: 5.7.1 1807 + inherits: 2.0.4 1808 + readable-stream: 3.6.2 1809 + dev: false 1810 + 1811 + /brace-expansion@1.1.12: 1812 + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} 1813 + dependencies: 1814 + balanced-match: 1.0.2 1815 + concat-map: 0.0.1 1816 + dev: true 1817 + 1818 + /brace-expansion@2.0.2: 1819 + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} 1820 + dependencies: 1821 + balanced-match: 1.0.2 1822 + dev: true 1823 + 1824 + /braces@3.0.3: 1825 + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 1826 + engines: {node: '>=8'} 1827 + dependencies: 1828 + fill-range: 7.1.1 1829 + dev: true 1830 + 1831 + /browserslist@4.28.1: 1832 + resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} 1833 + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 1834 + hasBin: true 1835 + dependencies: 1836 + baseline-browser-mapping: 2.9.13 1837 + caniuse-lite: 1.0.30001763 1838 + electron-to-chromium: 1.5.267 1839 + node-releases: 2.0.27 1840 + update-browserslist-db: 1.2.3(browserslist@4.28.1) 1841 + 1842 + /buffer@5.7.1: 1843 + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} 1844 + dependencies: 1845 + base64-js: 1.5.1 1846 + ieee754: 1.2.1 1847 + dev: false 1848 + 1849 + /call-bind-apply-helpers@1.0.2: 1850 + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} 1851 + engines: {node: '>= 0.4'} 1852 + dependencies: 1853 + es-errors: 1.3.0 1854 + function-bind: 1.1.2 1855 + dev: true 1856 + 1857 + /call-bind@1.0.8: 1858 + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} 1859 + engines: {node: '>= 0.4'} 1860 + dependencies: 1861 + call-bind-apply-helpers: 1.0.2 1862 + es-define-property: 1.0.1 1863 + get-intrinsic: 1.3.0 1864 + set-function-length: 1.2.2 1865 + dev: true 1866 + 1867 + /call-bound@1.0.4: 1868 + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} 1869 + engines: {node: '>= 0.4'} 1870 + dependencies: 1871 + call-bind-apply-helpers: 1.0.2 1872 + get-intrinsic: 1.3.0 1873 + dev: true 1874 + 1875 + /callsites@3.1.0: 1876 + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 1877 + engines: {node: '>=6'} 1878 + dev: true 1879 + 1880 + /caniuse-lite@1.0.30001763: 1881 + resolution: {integrity: sha512-mh/dGtq56uN98LlNX9qdbKnzINhX0QzhiWBFEkFfsFO4QyCvL8YegrJAazCwXIeqkIob8BlZPGM3xdnY+sgmvQ==} 1882 + 1883 + /chalk@4.1.2: 1884 + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 1885 + engines: {node: '>=10'} 1886 + dependencies: 1887 + ansi-styles: 4.3.0 1888 + supports-color: 7.2.0 1889 + dev: true 1890 + 1891 + /chownr@1.1.4: 1892 + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} 1893 + dev: false 1894 + 1895 + /client-only@0.0.1: 1896 + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} 1897 + dev: false 1898 + 1899 + /color-convert@2.0.1: 1900 + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1901 + engines: {node: '>=7.0.0'} 1902 + dependencies: 1903 + color-name: 1.1.4 1904 + dev: true 1905 + 1906 + /color-name@1.1.4: 1907 + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1908 + dev: true 1909 + 1910 + /concat-map@0.0.1: 1911 + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 1912 + dev: true 1913 + 1914 + /convert-source-map@2.0.0: 1915 + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} 1916 + 1917 + /core-js@3.47.0: 1918 + resolution: {integrity: sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==} 1919 + requiresBuild: true 1920 + dev: false 1921 + 1922 + /cross-spawn@7.0.6: 1923 + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 1924 + engines: {node: '>= 8'} 1925 + dependencies: 1926 + path-key: 3.1.1 1927 + shebang-command: 2.0.0 1928 + which: 2.0.2 1929 + dev: true 1930 + 1931 + /csstype@3.2.3: 1932 + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} 1933 + dev: true 1934 + 1935 + /damerau-levenshtein@1.0.8: 1936 + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} 1937 + dev: true 1938 + 1939 + /data-view-buffer@1.0.2: 1940 + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} 1941 + engines: {node: '>= 0.4'} 1942 + dependencies: 1943 + call-bound: 1.0.4 1944 + es-errors: 1.3.0 1945 + is-data-view: 1.0.2 1946 + dev: true 1947 + 1948 + /data-view-byte-length@1.0.2: 1949 + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} 1950 + engines: {node: '>= 0.4'} 1951 + dependencies: 1952 + call-bound: 1.0.4 1953 + es-errors: 1.3.0 1954 + is-data-view: 1.0.2 1955 + dev: true 1956 + 1957 + /data-view-byte-offset@1.0.1: 1958 + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} 1959 + engines: {node: '>= 0.4'} 1960 + dependencies: 1961 + call-bound: 1.0.4 1962 + es-errors: 1.3.0 1963 + is-data-view: 1.0.2 1964 + dev: true 1965 + 1966 + /debug@3.2.7: 1967 + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 1968 + peerDependencies: 1969 + supports-color: '*' 1970 + peerDependenciesMeta: 1971 + supports-color: 1972 + optional: true 1973 + dependencies: 1974 + ms: 2.1.3 1975 + dev: true 1976 + 1977 + /debug@4.4.3: 1978 + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} 1979 + engines: {node: '>=6.0'} 1980 + peerDependencies: 1981 + supports-color: '*' 1982 + peerDependenciesMeta: 1983 + supports-color: 1984 + optional: true 1985 + dependencies: 1986 + ms: 2.1.3 1987 + 1988 + /decompress-response@6.0.0: 1989 + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} 1990 + engines: {node: '>=10'} 1991 + dependencies: 1992 + mimic-response: 3.1.0 1993 + dev: false 1994 + 1995 + /deep-extend@0.6.0: 1996 + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} 1997 + engines: {node: '>=4.0.0'} 1998 + dev: false 1999 + 2000 + /deep-is@0.1.4: 2001 + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 2002 + dev: true 2003 + 2004 + /define-data-property@1.1.4: 2005 + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} 2006 + engines: {node: '>= 0.4'} 2007 + dependencies: 2008 + es-define-property: 1.0.1 2009 + es-errors: 1.3.0 2010 + gopd: 1.2.0 2011 + dev: true 2012 + 2013 + /define-properties@1.2.1: 2014 + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} 2015 + engines: {node: '>= 0.4'} 2016 + dependencies: 2017 + define-data-property: 1.1.4 2018 + has-property-descriptors: 1.0.2 2019 + object-keys: 1.1.1 2020 + dev: true 2021 + 2022 + /detect-libc@2.1.2: 2023 + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} 2024 + engines: {node: '>=8'} 2025 + 2026 + /doctrine@2.1.0: 2027 + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 2028 + engines: {node: '>=0.10.0'} 2029 + dependencies: 2030 + esutils: 2.0.3 2031 + dev: true 2032 + 2033 + /dunder-proto@1.0.1: 2034 + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} 2035 + engines: {node: '>= 0.4'} 2036 + dependencies: 2037 + call-bind-apply-helpers: 1.0.2 2038 + es-errors: 1.3.0 2039 + gopd: 1.2.0 2040 + dev: true 2041 + 2042 + /electron-to-chromium@1.5.267: 2043 + resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==} 2044 + 2045 + /emoji-regex@9.2.2: 2046 + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 2047 + dev: true 2048 + 2049 + /end-of-stream@1.4.5: 2050 + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} 2051 + dependencies: 2052 + once: 1.4.0 2053 + dev: false 2054 + 2055 + /enhanced-resolve@5.18.4: 2056 + resolution: {integrity: sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==} 2057 + engines: {node: '>=10.13.0'} 2058 + dependencies: 2059 + graceful-fs: 4.2.11 2060 + tapable: 2.3.0 2061 + dev: true 2062 + 2063 + /es-abstract@1.24.1: 2064 + resolution: {integrity: sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==} 2065 + engines: {node: '>= 0.4'} 2066 + dependencies: 2067 + array-buffer-byte-length: 1.0.2 2068 + arraybuffer.prototype.slice: 1.0.4 2069 + available-typed-arrays: 1.0.7 2070 + call-bind: 1.0.8 2071 + call-bound: 1.0.4 2072 + data-view-buffer: 1.0.2 2073 + data-view-byte-length: 1.0.2 2074 + data-view-byte-offset: 1.0.1 2075 + es-define-property: 1.0.1 2076 + es-errors: 1.3.0 2077 + es-object-atoms: 1.1.1 2078 + es-set-tostringtag: 2.1.0 2079 + es-to-primitive: 1.3.0 2080 + function.prototype.name: 1.1.8 2081 + get-intrinsic: 1.3.0 2082 + get-proto: 1.0.1 2083 + get-symbol-description: 1.1.0 2084 + globalthis: 1.0.4 2085 + gopd: 1.2.0 2086 + has-property-descriptors: 1.0.2 2087 + has-proto: 1.2.0 2088 + has-symbols: 1.1.0 2089 + hasown: 2.0.2 2090 + internal-slot: 1.1.0 2091 + is-array-buffer: 3.0.5 2092 + is-callable: 1.2.7 2093 + is-data-view: 1.0.2 2094 + is-negative-zero: 2.0.3 2095 + is-regex: 1.2.1 2096 + is-set: 2.0.3 2097 + is-shared-array-buffer: 1.0.4 2098 + is-string: 1.1.1 2099 + is-typed-array: 1.1.15 2100 + is-weakref: 1.1.1 2101 + math-intrinsics: 1.1.0 2102 + object-inspect: 1.13.4 2103 + object-keys: 1.1.1 2104 + object.assign: 4.1.7 2105 + own-keys: 1.0.1 2106 + regexp.prototype.flags: 1.5.4 2107 + safe-array-concat: 1.1.3 2108 + safe-push-apply: 1.0.0 2109 + safe-regex-test: 1.1.0 2110 + set-proto: 1.0.0 2111 + stop-iteration-iterator: 1.1.0 2112 + string.prototype.trim: 1.2.10 2113 + string.prototype.trimend: 1.0.9 2114 + string.prototype.trimstart: 1.0.8 2115 + typed-array-buffer: 1.0.3 2116 + typed-array-byte-length: 1.0.3 2117 + typed-array-byte-offset: 1.0.4 2118 + typed-array-length: 1.0.7 2119 + unbox-primitive: 1.1.0 2120 + which-typed-array: 1.1.19 2121 + dev: true 2122 + 2123 + /es-define-property@1.0.1: 2124 + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} 2125 + engines: {node: '>= 0.4'} 2126 + dev: true 2127 + 2128 + /es-errors@1.3.0: 2129 + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 2130 + engines: {node: '>= 0.4'} 2131 + dev: true 2132 + 2133 + /es-iterator-helpers@1.2.2: 2134 + resolution: {integrity: sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w==} 2135 + engines: {node: '>= 0.4'} 2136 + dependencies: 2137 + call-bind: 1.0.8 2138 + call-bound: 1.0.4 2139 + define-properties: 1.2.1 2140 + es-abstract: 1.24.1 2141 + es-errors: 1.3.0 2142 + es-set-tostringtag: 2.1.0 2143 + function-bind: 1.1.2 2144 + get-intrinsic: 1.3.0 2145 + globalthis: 1.0.4 2146 + gopd: 1.2.0 2147 + has-property-descriptors: 1.0.2 2148 + has-proto: 1.2.0 2149 + has-symbols: 1.1.0 2150 + internal-slot: 1.1.0 2151 + iterator.prototype: 1.1.5 2152 + safe-array-concat: 1.1.3 2153 + dev: true 2154 + 2155 + /es-object-atoms@1.1.1: 2156 + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} 2157 + engines: {node: '>= 0.4'} 2158 + dependencies: 2159 + es-errors: 1.3.0 2160 + dev: true 2161 + 2162 + /es-set-tostringtag@2.1.0: 2163 + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} 2164 + engines: {node: '>= 0.4'} 2165 + dependencies: 2166 + es-errors: 1.3.0 2167 + get-intrinsic: 1.3.0 2168 + has-tostringtag: 1.0.2 2169 + hasown: 2.0.2 2170 + dev: true 2171 + 2172 + /es-shim-unscopables@1.1.0: 2173 + resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} 2174 + engines: {node: '>= 0.4'} 2175 + dependencies: 2176 + hasown: 2.0.2 2177 + dev: true 2178 + 2179 + /es-to-primitive@1.3.0: 2180 + resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} 2181 + engines: {node: '>= 0.4'} 2182 + dependencies: 2183 + is-callable: 1.2.7 2184 + is-date-object: 1.1.0 2185 + is-symbol: 1.1.1 2186 + dev: true 2187 + 2188 + /esbuild@0.27.2: 2189 + resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} 2190 + engines: {node: '>=18'} 2191 + hasBin: true 2192 + requiresBuild: true 2193 + optionalDependencies: 2194 + '@esbuild/aix-ppc64': 0.27.2 2195 + '@esbuild/android-arm': 0.27.2 2196 + '@esbuild/android-arm64': 0.27.2 2197 + '@esbuild/android-x64': 0.27.2 2198 + '@esbuild/darwin-arm64': 0.27.2 2199 + '@esbuild/darwin-x64': 0.27.2 2200 + '@esbuild/freebsd-arm64': 0.27.2 2201 + '@esbuild/freebsd-x64': 0.27.2 2202 + '@esbuild/linux-arm': 0.27.2 2203 + '@esbuild/linux-arm64': 0.27.2 2204 + '@esbuild/linux-ia32': 0.27.2 2205 + '@esbuild/linux-loong64': 0.27.2 2206 + '@esbuild/linux-mips64el': 0.27.2 2207 + '@esbuild/linux-ppc64': 0.27.2 2208 + '@esbuild/linux-riscv64': 0.27.2 2209 + '@esbuild/linux-s390x': 0.27.2 2210 + '@esbuild/linux-x64': 0.27.2 2211 + '@esbuild/netbsd-arm64': 0.27.2 2212 + '@esbuild/netbsd-x64': 0.27.2 2213 + '@esbuild/openbsd-arm64': 0.27.2 2214 + '@esbuild/openbsd-x64': 0.27.2 2215 + '@esbuild/openharmony-arm64': 0.27.2 2216 + '@esbuild/sunos-x64': 0.27.2 2217 + '@esbuild/win32-arm64': 0.27.2 2218 + '@esbuild/win32-ia32': 0.27.2 2219 + '@esbuild/win32-x64': 0.27.2 2220 + dev: true 2221 + 2222 + /escalade@3.2.0: 2223 + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 2224 + engines: {node: '>=6'} 2225 + 2226 + /escape-string-regexp@4.0.0: 2227 + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 2228 + engines: {node: '>=10'} 2229 + dev: true 2230 + 2231 + /eslint-config-next@16.1.1(@typescript-eslint/parser@8.52.0)(eslint@9.39.2)(typescript@5.9.3): 2232 + resolution: {integrity: sha512-55nTpVWm3qeuxoQKLOjQVciKZJUphKrNM0fCcQHAIOGl6VFXgaqeMfv0aKJhs7QtcnlAPhNVqsqRfRjeKBPIUA==} 2233 + peerDependencies: 2234 + eslint: '>=9.0.0' 2235 + typescript: '>=3.3.1' 2236 + peerDependenciesMeta: 2237 + typescript: 2238 + optional: true 2239 + dependencies: 2240 + '@next/eslint-plugin-next': 16.1.1 2241 + eslint: 9.39.2 2242 + eslint-import-resolver-node: 0.3.9 2243 + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.2) 2244 + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.52.0)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2) 2245 + eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.2) 2246 + eslint-plugin-react: 7.37.5(eslint@9.39.2) 2247 + eslint-plugin-react-hooks: 7.0.1(eslint@9.39.2) 2248 + globals: 16.4.0 2249 + typescript: 5.9.3 2250 + typescript-eslint: 8.52.0(eslint@9.39.2)(typescript@5.9.3) 2251 + transitivePeerDependencies: 2252 + - '@typescript-eslint/parser' 2253 + - eslint-import-resolver-webpack 2254 + - eslint-plugin-import-x 2255 + - supports-color 2256 + dev: true 2257 + 2258 + /eslint-import-resolver-node@0.3.9: 2259 + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} 2260 + dependencies: 2261 + debug: 3.2.7 2262 + is-core-module: 2.16.1 2263 + resolve: 1.22.11 2264 + transitivePeerDependencies: 2265 + - supports-color 2266 + dev: true 2267 + 2268 + /eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.2): 2269 + resolution: {integrity: sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==} 2270 + engines: {node: ^14.18.0 || >=16.0.0} 2271 + peerDependencies: 2272 + eslint: '*' 2273 + eslint-plugin-import: '*' 2274 + eslint-plugin-import-x: '*' 2275 + peerDependenciesMeta: 2276 + eslint-plugin-import: 2277 + optional: true 2278 + eslint-plugin-import-x: 2279 + optional: true 2280 + dependencies: 2281 + '@nolyfill/is-core-module': 1.0.39 2282 + debug: 4.4.3 2283 + eslint: 9.39.2 2284 + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.52.0)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2) 2285 + get-tsconfig: 4.13.0 2286 + is-bun-module: 2.0.0 2287 + stable-hash: 0.0.5 2288 + tinyglobby: 0.2.15 2289 + unrs-resolver: 1.11.1 2290 + transitivePeerDependencies: 2291 + - supports-color 2292 + dev: true 2293 + 2294 + /eslint-module-utils@2.12.1(@typescript-eslint/parser@8.52.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2): 2295 + resolution: {integrity: sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==} 2296 + engines: {node: '>=4'} 2297 + peerDependencies: 2298 + '@typescript-eslint/parser': '*' 2299 + eslint: '*' 2300 + eslint-import-resolver-node: '*' 2301 + eslint-import-resolver-typescript: '*' 2302 + eslint-import-resolver-webpack: '*' 2303 + peerDependenciesMeta: 2304 + '@typescript-eslint/parser': 2305 + optional: true 2306 + eslint: 2307 + optional: true 2308 + eslint-import-resolver-node: 2309 + optional: true 2310 + eslint-import-resolver-typescript: 2311 + optional: true 2312 + eslint-import-resolver-webpack: 2313 + optional: true 2314 + dependencies: 2315 + '@typescript-eslint/parser': 8.52.0(eslint@9.39.2)(typescript@5.9.3) 2316 + debug: 3.2.7 2317 + eslint: 9.39.2 2318 + eslint-import-resolver-node: 0.3.9 2319 + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.2) 2320 + transitivePeerDependencies: 2321 + - supports-color 2322 + dev: true 2323 + 2324 + /eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.52.0)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2): 2325 + resolution: {integrity: sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==} 2326 + engines: {node: '>=4'} 2327 + peerDependencies: 2328 + '@typescript-eslint/parser': '*' 2329 + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 2330 + peerDependenciesMeta: 2331 + '@typescript-eslint/parser': 2332 + optional: true 2333 + dependencies: 2334 + '@rtsao/scc': 1.1.0 2335 + '@typescript-eslint/parser': 8.52.0(eslint@9.39.2)(typescript@5.9.3) 2336 + array-includes: 3.1.9 2337 + array.prototype.findlastindex: 1.2.6 2338 + array.prototype.flat: 1.3.3 2339 + array.prototype.flatmap: 1.3.3 2340 + debug: 3.2.7 2341 + doctrine: 2.1.0 2342 + eslint: 9.39.2 2343 + eslint-import-resolver-node: 0.3.9 2344 + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.52.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2) 2345 + hasown: 2.0.2 2346 + is-core-module: 2.16.1 2347 + is-glob: 4.0.3 2348 + minimatch: 3.1.2 2349 + object.fromentries: 2.0.8 2350 + object.groupby: 1.0.3 2351 + object.values: 1.2.1 2352 + semver: 6.3.1 2353 + string.prototype.trimend: 1.0.9 2354 + tsconfig-paths: 3.15.0 2355 + transitivePeerDependencies: 2356 + - eslint-import-resolver-typescript 2357 + - eslint-import-resolver-webpack 2358 + - supports-color 2359 + dev: true 2360 + 2361 + /eslint-plugin-jsx-a11y@6.10.2(eslint@9.39.2): 2362 + resolution: {integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==} 2363 + engines: {node: '>=4.0'} 2364 + peerDependencies: 2365 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 2366 + dependencies: 2367 + aria-query: 5.3.2 2368 + array-includes: 3.1.9 2369 + array.prototype.flatmap: 1.3.3 2370 + ast-types-flow: 0.0.8 2371 + axe-core: 4.11.1 2372 + axobject-query: 4.1.0 2373 + damerau-levenshtein: 1.0.8 2374 + emoji-regex: 9.2.2 2375 + eslint: 9.39.2 2376 + hasown: 2.0.2 2377 + jsx-ast-utils: 3.3.5 2378 + language-tags: 1.0.9 2379 + minimatch: 3.1.2 2380 + object.fromentries: 2.0.8 2381 + safe-regex-test: 1.1.0 2382 + string.prototype.includes: 2.0.1 2383 + dev: true 2384 + 2385 + /eslint-plugin-react-hooks@7.0.1(eslint@9.39.2): 2386 + resolution: {integrity: sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==} 2387 + engines: {node: '>=18'} 2388 + peerDependencies: 2389 + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 2390 + dependencies: 2391 + '@babel/core': 7.28.5 2392 + '@babel/parser': 7.28.5 2393 + eslint: 9.39.2 2394 + hermes-parser: 0.25.1 2395 + zod: 4.3.5 2396 + zod-validation-error: 4.0.2(zod@4.3.5) 2397 + transitivePeerDependencies: 2398 + - supports-color 2399 + dev: true 2400 + 2401 + /eslint-plugin-react@7.37.5(eslint@9.39.2): 2402 + resolution: {integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==} 2403 + engines: {node: '>=4'} 2404 + peerDependencies: 2405 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 2406 + dependencies: 2407 + array-includes: 3.1.9 2408 + array.prototype.findlast: 1.2.5 2409 + array.prototype.flatmap: 1.3.3 2410 + array.prototype.tosorted: 1.1.4 2411 + doctrine: 2.1.0 2412 + es-iterator-helpers: 1.2.2 2413 + eslint: 9.39.2 2414 + estraverse: 5.3.0 2415 + hasown: 2.0.2 2416 + jsx-ast-utils: 3.3.5 2417 + minimatch: 3.1.2 2418 + object.entries: 1.1.9 2419 + object.fromentries: 2.0.8 2420 + object.values: 1.2.1 2421 + prop-types: 15.8.1 2422 + resolve: 2.0.0-next.5 2423 + semver: 6.3.1 2424 + string.prototype.matchall: 4.0.12 2425 + string.prototype.repeat: 1.0.0 2426 + dev: true 2427 + 2428 + /eslint-scope@8.4.0: 2429 + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} 2430 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 2431 + dependencies: 2432 + esrecurse: 4.3.0 2433 + estraverse: 5.3.0 2434 + dev: true 2435 + 2436 + /eslint-visitor-keys@3.4.3: 2437 + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 2438 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 2439 + dev: true 2440 + 2441 + /eslint-visitor-keys@4.2.1: 2442 + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} 2443 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 2444 + dev: true 2445 + 2446 + /eslint@9.39.2: 2447 + resolution: {integrity: sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==} 2448 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 2449 + hasBin: true 2450 + peerDependencies: 2451 + jiti: '*' 2452 + peerDependenciesMeta: 2453 + jiti: 2454 + optional: true 2455 + dependencies: 2456 + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2) 2457 + '@eslint-community/regexpp': 4.12.2 2458 + '@eslint/config-array': 0.21.1 2459 + '@eslint/config-helpers': 0.4.2 2460 + '@eslint/core': 0.17.0 2461 + '@eslint/eslintrc': 3.3.3 2462 + '@eslint/js': 9.39.2 2463 + '@eslint/plugin-kit': 0.4.1 2464 + '@humanfs/node': 0.16.7 2465 + '@humanwhocodes/module-importer': 1.0.1 2466 + '@humanwhocodes/retry': 0.4.3 2467 + '@types/estree': 1.0.8 2468 + ajv: 6.12.6 2469 + chalk: 4.1.2 2470 + cross-spawn: 7.0.6 2471 + debug: 4.4.3 2472 + escape-string-regexp: 4.0.0 2473 + eslint-scope: 8.4.0 2474 + eslint-visitor-keys: 4.2.1 2475 + espree: 10.4.0 2476 + esquery: 1.7.0 2477 + esutils: 2.0.3 2478 + fast-deep-equal: 3.1.3 2479 + file-entry-cache: 8.0.0 2480 + find-up: 5.0.0 2481 + glob-parent: 6.0.2 2482 + ignore: 5.3.2 2483 + imurmurhash: 0.1.4 2484 + is-glob: 4.0.3 2485 + json-stable-stringify-without-jsonify: 1.0.1 2486 + lodash.merge: 4.6.2 2487 + minimatch: 3.1.2 2488 + natural-compare: 1.4.0 2489 + optionator: 0.9.4 2490 + transitivePeerDependencies: 2491 + - supports-color 2492 + dev: true 2493 + 2494 + /espree@10.4.0: 2495 + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} 2496 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 2497 + dependencies: 2498 + acorn: 8.15.0 2499 + acorn-jsx: 5.3.2(acorn@8.15.0) 2500 + eslint-visitor-keys: 4.2.1 2501 + dev: true 2502 + 2503 + /esquery@1.7.0: 2504 + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} 2505 + engines: {node: '>=0.10'} 2506 + dependencies: 2507 + estraverse: 5.3.0 2508 + dev: true 2509 + 2510 + /esrecurse@4.3.0: 2511 + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 2512 + engines: {node: '>=4.0'} 2513 + dependencies: 2514 + estraverse: 5.3.0 2515 + dev: true 2516 + 2517 + /estraverse@5.3.0: 2518 + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 2519 + engines: {node: '>=4.0'} 2520 + dev: true 2521 + 2522 + /esutils@2.0.3: 2523 + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 2524 + engines: {node: '>=0.10.0'} 2525 + dev: true 2526 + 2527 + /expand-template@2.0.3: 2528 + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} 2529 + engines: {node: '>=6'} 2530 + dev: false 2531 + 2532 + /fast-deep-equal@3.1.3: 2533 + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 2534 + dev: true 2535 + 2536 + /fast-glob@3.3.1: 2537 + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} 2538 + engines: {node: '>=8.6.0'} 2539 + dependencies: 2540 + '@nodelib/fs.stat': 2.0.5 2541 + '@nodelib/fs.walk': 1.2.8 2542 + glob-parent: 5.1.2 2543 + merge2: 1.4.1 2544 + micromatch: 4.0.8 2545 + dev: true 2546 + 2547 + /fast-json-stable-stringify@2.1.0: 2548 + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 2549 + dev: true 2550 + 2551 + /fast-levenshtein@2.0.6: 2552 + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 2553 + dev: true 2554 + 2555 + /fastq@1.20.1: 2556 + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} 2557 + dependencies: 2558 + reusify: 1.1.0 2559 + dev: true 2560 + 2561 + /fdir@6.5.0(picomatch@4.0.3): 2562 + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} 2563 + engines: {node: '>=12.0.0'} 2564 + peerDependencies: 2565 + picomatch: ^3 || ^4 2566 + peerDependenciesMeta: 2567 + picomatch: 2568 + optional: true 2569 + dependencies: 2570 + picomatch: 4.0.3 2571 + dev: true 2572 + 2573 + /file-entry-cache@8.0.0: 2574 + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} 2575 + engines: {node: '>=16.0.0'} 2576 + dependencies: 2577 + flat-cache: 4.0.1 2578 + dev: true 2579 + 2580 + /file-uri-to-path@1.0.0: 2581 + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} 2582 + dev: false 2583 + 2584 + /fill-range@7.1.1: 2585 + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 2586 + engines: {node: '>=8'} 2587 + dependencies: 2588 + to-regex-range: 5.0.1 2589 + dev: true 2590 + 2591 + /find-up@5.0.0: 2592 + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 2593 + engines: {node: '>=10'} 2594 + dependencies: 2595 + locate-path: 6.0.0 2596 + path-exists: 4.0.0 2597 + dev: true 2598 + 2599 + /flat-cache@4.0.1: 2600 + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} 2601 + engines: {node: '>=16'} 2602 + dependencies: 2603 + flatted: 3.3.3 2604 + keyv: 4.5.4 2605 + dev: true 2606 + 2607 + /flatted@3.3.3: 2608 + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} 2609 + dev: true 2610 + 2611 + /for-each@0.3.5: 2612 + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} 2613 + engines: {node: '>= 0.4'} 2614 + dependencies: 2615 + is-callable: 1.2.7 2616 + dev: true 2617 + 2618 + /fs-constants@1.0.0: 2619 + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} 2620 + dev: false 2621 + 2622 + /fsevents@2.3.3: 2623 + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 2624 + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 2625 + os: [darwin] 2626 + requiresBuild: true 2627 + dev: true 2628 + optional: true 2629 + 2630 + /function-bind@1.1.2: 2631 + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 2632 + dev: true 2633 + 2634 + /function.prototype.name@1.1.8: 2635 + resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} 2636 + engines: {node: '>= 0.4'} 2637 + dependencies: 2638 + call-bind: 1.0.8 2639 + call-bound: 1.0.4 2640 + define-properties: 1.2.1 2641 + functions-have-names: 1.2.3 2642 + hasown: 2.0.2 2643 + is-callable: 1.2.7 2644 + dev: true 2645 + 2646 + /functions-have-names@1.2.3: 2647 + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 2648 + dev: true 2649 + 2650 + /generator-function@2.0.1: 2651 + resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} 2652 + engines: {node: '>= 0.4'} 2653 + dev: true 2654 + 2655 + /gensync@1.0.0-beta.2: 2656 + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 2657 + engines: {node: '>=6.9.0'} 2658 + 2659 + /get-intrinsic@1.3.0: 2660 + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} 2661 + engines: {node: '>= 0.4'} 2662 + dependencies: 2663 + call-bind-apply-helpers: 1.0.2 2664 + es-define-property: 1.0.1 2665 + es-errors: 1.3.0 2666 + es-object-atoms: 1.1.1 2667 + function-bind: 1.1.2 2668 + get-proto: 1.0.1 2669 + gopd: 1.2.0 2670 + has-symbols: 1.1.0 2671 + hasown: 2.0.2 2672 + math-intrinsics: 1.1.0 2673 + dev: true 2674 + 2675 + /get-proto@1.0.1: 2676 + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} 2677 + engines: {node: '>= 0.4'} 2678 + dependencies: 2679 + dunder-proto: 1.0.1 2680 + es-object-atoms: 1.1.1 2681 + dev: true 2682 + 2683 + /get-symbol-description@1.1.0: 2684 + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} 2685 + engines: {node: '>= 0.4'} 2686 + dependencies: 2687 + call-bound: 1.0.4 2688 + es-errors: 1.3.0 2689 + get-intrinsic: 1.3.0 2690 + dev: true 2691 + 2692 + /get-tsconfig@4.13.0: 2693 + resolution: {integrity: sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==} 2694 + dependencies: 2695 + resolve-pkg-maps: 1.0.0 2696 + dev: true 2697 + 2698 + /github-from-package@0.0.0: 2699 + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} 2700 + dev: false 2701 + 2702 + /glob-parent@5.1.2: 2703 + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 2704 + engines: {node: '>= 6'} 2705 + dependencies: 2706 + is-glob: 4.0.3 2707 + dev: true 2708 + 2709 + /glob-parent@6.0.2: 2710 + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 2711 + engines: {node: '>=10.13.0'} 2712 + dependencies: 2713 + is-glob: 4.0.3 2714 + dev: true 2715 + 2716 + /globals@14.0.0: 2717 + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} 2718 + engines: {node: '>=18'} 2719 + dev: true 2720 + 2721 + /globals@16.4.0: 2722 + resolution: {integrity: sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==} 2723 + engines: {node: '>=18'} 2724 + dev: true 2725 + 2726 + /globalthis@1.0.4: 2727 + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} 2728 + engines: {node: '>= 0.4'} 2729 + dependencies: 2730 + define-properties: 1.2.1 2731 + gopd: 1.2.0 2732 + dev: true 2733 + 2734 + /gopd@1.2.0: 2735 + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} 2736 + engines: {node: '>= 0.4'} 2737 + dev: true 2738 + 2739 + /graceful-fs@4.2.11: 2740 + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 2741 + dev: true 2742 + 2743 + /has-bigints@1.1.0: 2744 + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} 2745 + engines: {node: '>= 0.4'} 2746 + dev: true 2747 + 2748 + /has-flag@4.0.0: 2749 + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 2750 + engines: {node: '>=8'} 2751 + dev: true 2752 + 2753 + /has-property-descriptors@1.0.2: 2754 + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} 2755 + dependencies: 2756 + es-define-property: 1.0.1 2757 + dev: true 2758 + 2759 + /has-proto@1.2.0: 2760 + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} 2761 + engines: {node: '>= 0.4'} 2762 + dependencies: 2763 + dunder-proto: 1.0.1 2764 + dev: true 2765 + 2766 + /has-symbols@1.1.0: 2767 + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} 2768 + engines: {node: '>= 0.4'} 2769 + dev: true 2770 + 2771 + /has-tostringtag@1.0.2: 2772 + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} 2773 + engines: {node: '>= 0.4'} 2774 + dependencies: 2775 + has-symbols: 1.1.0 2776 + dev: true 2777 + 2778 + /hasown@2.0.2: 2779 + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 2780 + engines: {node: '>= 0.4'} 2781 + dependencies: 2782 + function-bind: 1.1.2 2783 + dev: true 2784 + 2785 + /hermes-estree@0.25.1: 2786 + resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==} 2787 + dev: true 2788 + 2789 + /hermes-parser@0.25.1: 2790 + resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==} 2791 + dependencies: 2792 + hermes-estree: 0.25.1 2793 + dev: true 2794 + 2795 + /ieee754@1.2.1: 2796 + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 2797 + dev: false 2798 + 2799 + /ignore@5.3.2: 2800 + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 2801 + engines: {node: '>= 4'} 2802 + dev: true 2803 + 2804 + /ignore@7.0.5: 2805 + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} 2806 + engines: {node: '>= 4'} 2807 + dev: true 2808 + 2809 + /import-fresh@3.3.1: 2810 + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} 2811 + engines: {node: '>=6'} 2812 + dependencies: 2813 + parent-module: 1.0.1 2814 + resolve-from: 4.0.0 2815 + dev: true 2816 + 2817 + /imurmurhash@0.1.4: 2818 + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 2819 + engines: {node: '>=0.8.19'} 2820 + dev: true 2821 + 2822 + /inherits@2.0.4: 2823 + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 2824 + dev: false 2825 + 2826 + /ini@1.3.8: 2827 + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} 2828 + dev: false 2829 + 2830 + /internal-slot@1.1.0: 2831 + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} 2832 + engines: {node: '>= 0.4'} 2833 + dependencies: 2834 + es-errors: 1.3.0 2835 + hasown: 2.0.2 2836 + side-channel: 1.1.0 2837 + dev: true 2838 + 2839 + /ipaddr.js@2.3.0: 2840 + resolution: {integrity: sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==} 2841 + engines: {node: '>= 10'} 2842 + dev: false 2843 + 2844 + /is-array-buffer@3.0.5: 2845 + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} 2846 + engines: {node: '>= 0.4'} 2847 + dependencies: 2848 + call-bind: 1.0.8 2849 + call-bound: 1.0.4 2850 + get-intrinsic: 1.3.0 2851 + dev: true 2852 + 2853 + /is-async-function@2.1.1: 2854 + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} 2855 + engines: {node: '>= 0.4'} 2856 + dependencies: 2857 + async-function: 1.0.0 2858 + call-bound: 1.0.4 2859 + get-proto: 1.0.1 2860 + has-tostringtag: 1.0.2 2861 + safe-regex-test: 1.1.0 2862 + dev: true 2863 + 2864 + /is-bigint@1.1.0: 2865 + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} 2866 + engines: {node: '>= 0.4'} 2867 + dependencies: 2868 + has-bigints: 1.1.0 2869 + dev: true 2870 + 2871 + /is-boolean-object@1.2.2: 2872 + resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} 2873 + engines: {node: '>= 0.4'} 2874 + dependencies: 2875 + call-bound: 1.0.4 2876 + has-tostringtag: 1.0.2 2877 + dev: true 2878 + 2879 + /is-bun-module@2.0.0: 2880 + resolution: {integrity: sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==} 2881 + dependencies: 2882 + semver: 7.7.3 2883 + dev: true 2884 + 2885 + /is-callable@1.2.7: 2886 + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 2887 + engines: {node: '>= 0.4'} 2888 + dev: true 2889 + 2890 + /is-core-module@2.16.1: 2891 + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} 2892 + engines: {node: '>= 0.4'} 2893 + dependencies: 2894 + hasown: 2.0.2 2895 + dev: true 2896 + 2897 + /is-data-view@1.0.2: 2898 + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} 2899 + engines: {node: '>= 0.4'} 2900 + dependencies: 2901 + call-bound: 1.0.4 2902 + get-intrinsic: 1.3.0 2903 + is-typed-array: 1.1.15 2904 + dev: true 2905 + 2906 + /is-date-object@1.1.0: 2907 + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} 2908 + engines: {node: '>= 0.4'} 2909 + dependencies: 2910 + call-bound: 1.0.4 2911 + has-tostringtag: 1.0.2 2912 + dev: true 2913 + 2914 + /is-extglob@2.1.1: 2915 + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 2916 + engines: {node: '>=0.10.0'} 2917 + dev: true 2918 + 2919 + /is-finalizationregistry@1.1.1: 2920 + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} 2921 + engines: {node: '>= 0.4'} 2922 + dependencies: 2923 + call-bound: 1.0.4 2924 + dev: true 2925 + 2926 + /is-generator-function@1.1.2: 2927 + resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} 2928 + engines: {node: '>= 0.4'} 2929 + dependencies: 2930 + call-bound: 1.0.4 2931 + generator-function: 2.0.1 2932 + get-proto: 1.0.1 2933 + has-tostringtag: 1.0.2 2934 + safe-regex-test: 1.1.0 2935 + dev: true 2936 + 2937 + /is-glob@4.0.3: 2938 + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 2939 + engines: {node: '>=0.10.0'} 2940 + dependencies: 2941 + is-extglob: 2.1.1 2942 + dev: true 2943 + 2944 + /is-map@2.0.3: 2945 + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} 2946 + engines: {node: '>= 0.4'} 2947 + dev: true 2948 + 2949 + /is-negative-zero@2.0.3: 2950 + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} 2951 + engines: {node: '>= 0.4'} 2952 + dev: true 2953 + 2954 + /is-number-object@1.1.1: 2955 + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} 2956 + engines: {node: '>= 0.4'} 2957 + dependencies: 2958 + call-bound: 1.0.4 2959 + has-tostringtag: 1.0.2 2960 + dev: true 2961 + 2962 + /is-number@7.0.0: 2963 + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 2964 + engines: {node: '>=0.12.0'} 2965 + dev: true 2966 + 2967 + /is-regex@1.2.1: 2968 + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} 2969 + engines: {node: '>= 0.4'} 2970 + dependencies: 2971 + call-bound: 1.0.4 2972 + gopd: 1.2.0 2973 + has-tostringtag: 1.0.2 2974 + hasown: 2.0.2 2975 + dev: true 2976 + 2977 + /is-set@2.0.3: 2978 + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} 2979 + engines: {node: '>= 0.4'} 2980 + dev: true 2981 + 2982 + /is-shared-array-buffer@1.0.4: 2983 + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} 2984 + engines: {node: '>= 0.4'} 2985 + dependencies: 2986 + call-bound: 1.0.4 2987 + dev: true 2988 + 2989 + /is-string@1.1.1: 2990 + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} 2991 + engines: {node: '>= 0.4'} 2992 + dependencies: 2993 + call-bound: 1.0.4 2994 + has-tostringtag: 1.0.2 2995 + dev: true 2996 + 2997 + /is-symbol@1.1.1: 2998 + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} 2999 + engines: {node: '>= 0.4'} 3000 + dependencies: 3001 + call-bound: 1.0.4 3002 + has-symbols: 1.1.0 3003 + safe-regex-test: 1.1.0 3004 + dev: true 3005 + 3006 + /is-typed-array@1.1.15: 3007 + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} 3008 + engines: {node: '>= 0.4'} 3009 + dependencies: 3010 + which-typed-array: 1.1.19 3011 + dev: true 3012 + 3013 + /is-weakmap@2.0.2: 3014 + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} 3015 + engines: {node: '>= 0.4'} 3016 + dev: true 3017 + 3018 + /is-weakref@1.1.1: 3019 + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} 3020 + engines: {node: '>= 0.4'} 3021 + dependencies: 3022 + call-bound: 1.0.4 3023 + dev: true 3024 + 3025 + /is-weakset@2.0.4: 3026 + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} 3027 + engines: {node: '>= 0.4'} 3028 + dependencies: 3029 + call-bound: 1.0.4 3030 + get-intrinsic: 1.3.0 3031 + dev: true 3032 + 3033 + /isarray@2.0.5: 3034 + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} 3035 + dev: true 3036 + 3037 + /isexe@2.0.0: 3038 + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 3039 + dev: true 3040 + 3041 + /iso-datestring-validator@2.2.2: 3042 + resolution: {integrity: sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA==} 3043 + dev: false 3044 + 3045 + /iterator.prototype@1.1.5: 3046 + resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==} 3047 + engines: {node: '>= 0.4'} 3048 + dependencies: 3049 + define-data-property: 1.1.4 3050 + es-object-atoms: 1.1.1 3051 + get-intrinsic: 1.3.0 3052 + get-proto: 1.0.1 3053 + has-symbols: 1.1.0 3054 + set-function-name: 2.0.2 3055 + dev: true 3056 + 3057 + /jiti@2.6.1: 3058 + resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} 3059 + hasBin: true 3060 + dev: true 3061 + 3062 + /jose@5.10.0: 3063 + resolution: {integrity: sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==} 3064 + dev: false 3065 + 3066 + /js-tokens@4.0.0: 3067 + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 3068 + 3069 + /js-yaml@4.1.1: 3070 + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} 3071 + hasBin: true 3072 + dependencies: 3073 + argparse: 2.0.1 3074 + dev: true 3075 + 3076 + /jsesc@3.1.0: 3077 + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} 3078 + engines: {node: '>=6'} 3079 + hasBin: true 3080 + 3081 + /json-buffer@3.0.1: 3082 + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 3083 + dev: true 3084 + 3085 + /json-schema-traverse@0.4.1: 3086 + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 3087 + dev: true 3088 + 3089 + /json-stable-stringify-without-jsonify@1.0.1: 3090 + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 3091 + dev: true 3092 + 3093 + /json5@1.0.2: 3094 + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} 3095 + hasBin: true 3096 + dependencies: 3097 + minimist: 1.2.8 3098 + dev: true 3099 + 3100 + /json5@2.2.3: 3101 + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 3102 + engines: {node: '>=6'} 3103 + hasBin: true 3104 + 3105 + /jsx-ast-utils@3.3.5: 3106 + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} 3107 + engines: {node: '>=4.0'} 3108 + dependencies: 3109 + array-includes: 3.1.9 3110 + array.prototype.flat: 1.3.3 3111 + object.assign: 4.1.7 3112 + object.values: 1.2.1 3113 + dev: true 3114 + 3115 + /keyv@4.5.4: 3116 + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 3117 + dependencies: 3118 + json-buffer: 3.0.1 3119 + dev: true 3120 + 3121 + /kysely@0.28.9: 3122 + resolution: {integrity: sha512-3BeXMoiOhpOwu62CiVpO6lxfq4eS6KMYfQdMsN/2kUCRNuF2YiEr7u0HLHaQU+O4Xu8YXE3bHVkwaQ85i72EuA==} 3123 + engines: {node: '>=20.0.0'} 3124 + dev: false 3125 + 3126 + /language-subtag-registry@0.3.23: 3127 + resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} 3128 + dev: true 3129 + 3130 + /language-tags@1.0.9: 3131 + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} 3132 + engines: {node: '>=0.10'} 3133 + dependencies: 3134 + language-subtag-registry: 0.3.23 3135 + dev: true 3136 + 3137 + /levn@0.4.1: 3138 + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 3139 + engines: {node: '>= 0.8.0'} 3140 + dependencies: 3141 + prelude-ls: 1.2.1 3142 + type-check: 0.4.0 3143 + dev: true 3144 + 3145 + /lightningcss-android-arm64@1.30.2: 3146 + resolution: {integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==} 3147 + engines: {node: '>= 12.0.0'} 3148 + cpu: [arm64] 3149 + os: [android] 3150 + requiresBuild: true 3151 + dev: true 3152 + optional: true 3153 + 3154 + /lightningcss-darwin-arm64@1.30.2: 3155 + resolution: {integrity: sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==} 3156 + engines: {node: '>= 12.0.0'} 3157 + cpu: [arm64] 3158 + os: [darwin] 3159 + requiresBuild: true 3160 + dev: true 3161 + optional: true 3162 + 3163 + /lightningcss-darwin-x64@1.30.2: 3164 + resolution: {integrity: sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==} 3165 + engines: {node: '>= 12.0.0'} 3166 + cpu: [x64] 3167 + os: [darwin] 3168 + requiresBuild: true 3169 + dev: true 3170 + optional: true 3171 + 3172 + /lightningcss-freebsd-x64@1.30.2: 3173 + resolution: {integrity: sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==} 3174 + engines: {node: '>= 12.0.0'} 3175 + cpu: [x64] 3176 + os: [freebsd] 3177 + requiresBuild: true 3178 + dev: true 3179 + optional: true 3180 + 3181 + /lightningcss-linux-arm-gnueabihf@1.30.2: 3182 + resolution: {integrity: sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==} 3183 + engines: {node: '>= 12.0.0'} 3184 + cpu: [arm] 3185 + os: [linux] 3186 + requiresBuild: true 3187 + dev: true 3188 + optional: true 3189 + 3190 + /lightningcss-linux-arm64-gnu@1.30.2: 3191 + resolution: {integrity: sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==} 3192 + engines: {node: '>= 12.0.0'} 3193 + cpu: [arm64] 3194 + os: [linux] 3195 + requiresBuild: true 3196 + dev: true 3197 + optional: true 3198 + 3199 + /lightningcss-linux-arm64-musl@1.30.2: 3200 + resolution: {integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==} 3201 + engines: {node: '>= 12.0.0'} 3202 + cpu: [arm64] 3203 + os: [linux] 3204 + requiresBuild: true 3205 + dev: true 3206 + optional: true 3207 + 3208 + /lightningcss-linux-x64-gnu@1.30.2: 3209 + resolution: {integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==} 3210 + engines: {node: '>= 12.0.0'} 3211 + cpu: [x64] 3212 + os: [linux] 3213 + requiresBuild: true 3214 + dev: true 3215 + optional: true 3216 + 3217 + /lightningcss-linux-x64-musl@1.30.2: 3218 + resolution: {integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==} 3219 + engines: {node: '>= 12.0.0'} 3220 + cpu: [x64] 3221 + os: [linux] 3222 + requiresBuild: true 3223 + dev: true 3224 + optional: true 3225 + 3226 + /lightningcss-win32-arm64-msvc@1.30.2: 3227 + resolution: {integrity: sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==} 3228 + engines: {node: '>= 12.0.0'} 3229 + cpu: [arm64] 3230 + os: [win32] 3231 + requiresBuild: true 3232 + dev: true 3233 + optional: true 3234 + 3235 + /lightningcss-win32-x64-msvc@1.30.2: 3236 + resolution: {integrity: sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==} 3237 + engines: {node: '>= 12.0.0'} 3238 + cpu: [x64] 3239 + os: [win32] 3240 + requiresBuild: true 3241 + dev: true 3242 + optional: true 3243 + 3244 + /lightningcss@1.30.2: 3245 + resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==} 3246 + engines: {node: '>= 12.0.0'} 3247 + dependencies: 3248 + detect-libc: 2.1.2 3249 + optionalDependencies: 3250 + lightningcss-android-arm64: 1.30.2 3251 + lightningcss-darwin-arm64: 1.30.2 3252 + lightningcss-darwin-x64: 1.30.2 3253 + lightningcss-freebsd-x64: 1.30.2 3254 + lightningcss-linux-arm-gnueabihf: 1.30.2 3255 + lightningcss-linux-arm64-gnu: 1.30.2 3256 + lightningcss-linux-arm64-musl: 1.30.2 3257 + lightningcss-linux-x64-gnu: 1.30.2 3258 + lightningcss-linux-x64-musl: 1.30.2 3259 + lightningcss-win32-arm64-msvc: 1.30.2 3260 + lightningcss-win32-x64-msvc: 1.30.2 3261 + dev: true 3262 + 3263 + /locate-path@6.0.0: 3264 + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 3265 + engines: {node: '>=10'} 3266 + dependencies: 3267 + p-locate: 5.0.0 3268 + dev: true 3269 + 3270 + /lodash.merge@4.6.2: 3271 + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 3272 + dev: true 3273 + 3274 + /loose-envify@1.4.0: 3275 + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 3276 + hasBin: true 3277 + dependencies: 3278 + js-tokens: 4.0.0 3279 + dev: true 3280 + 3281 + /lru-cache@10.4.3: 3282 + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 3283 + dev: false 3284 + 3285 + /lru-cache@5.1.1: 3286 + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 3287 + dependencies: 3288 + yallist: 3.1.1 3289 + 3290 + /magic-string@0.30.21: 3291 + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} 3292 + dependencies: 3293 + '@jridgewell/sourcemap-codec': 1.5.5 3294 + dev: true 3295 + 3296 + /math-intrinsics@1.1.0: 3297 + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} 3298 + engines: {node: '>= 0.4'} 3299 + dev: true 3300 + 3301 + /merge2@1.4.1: 3302 + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 3303 + engines: {node: '>= 8'} 3304 + dev: true 3305 + 3306 + /micromatch@4.0.8: 3307 + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 3308 + engines: {node: '>=8.6'} 3309 + dependencies: 3310 + braces: 3.0.3 3311 + picomatch: 2.3.1 3312 + dev: true 3313 + 3314 + /mimic-response@3.1.0: 3315 + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} 3316 + engines: {node: '>=10'} 3317 + dev: false 3318 + 3319 + /minimatch@3.1.2: 3320 + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 3321 + dependencies: 3322 + brace-expansion: 1.1.12 3323 + dev: true 3324 + 3325 + /minimatch@9.0.5: 3326 + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 3327 + engines: {node: '>=16 || 14 >=14.17'} 3328 + dependencies: 3329 + brace-expansion: 2.0.2 3330 + dev: true 3331 + 3332 + /minimist@1.2.8: 3333 + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 3334 + 3335 + /mkdirp-classic@0.5.3: 3336 + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} 3337 + dev: false 3338 + 3339 + /ms@2.1.3: 3340 + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 3341 + 3342 + /multiformats@9.9.0: 3343 + resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} 3344 + dev: false 3345 + 3346 + /nanoid@3.3.11: 3347 + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} 3348 + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 3349 + hasBin: true 3350 + 3351 + /napi-build-utils@2.0.0: 3352 + resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==} 3353 + dev: false 3354 + 3355 + /napi-postinstall@0.3.4: 3356 + resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==} 3357 + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} 3358 + hasBin: true 3359 + dev: true 3360 + 3361 + /natural-compare@1.4.0: 3362 + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 3363 + dev: true 3364 + 3365 + /next@16.1.1(@babel/core@7.28.5)(react-dom@19.2.3)(react@19.2.3): 3366 + resolution: {integrity: sha512-QI+T7xrxt1pF6SQ/JYFz95ro/mg/1Znk5vBebsWwbpejj1T0A23hO7GYEaVac9QUOT2BIMiuzm0L99ooq7k0/w==} 3367 + engines: {node: '>=20.9.0'} 3368 + hasBin: true 3369 + peerDependencies: 3370 + '@opentelemetry/api': ^1.1.0 3371 + '@playwright/test': ^1.51.1 3372 + babel-plugin-react-compiler: '*' 3373 + react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 3374 + react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 3375 + sass: ^1.3.0 3376 + peerDependenciesMeta: 3377 + '@opentelemetry/api': 3378 + optional: true 3379 + '@playwright/test': 3380 + optional: true 3381 + babel-plugin-react-compiler: 3382 + optional: true 3383 + sass: 3384 + optional: true 3385 + dependencies: 3386 + '@next/env': 16.1.1 3387 + '@swc/helpers': 0.5.15 3388 + baseline-browser-mapping: 2.9.13 3389 + caniuse-lite: 1.0.30001763 3390 + postcss: 8.4.31 3391 + react: 19.2.3 3392 + react-dom: 19.2.3(react@19.2.3) 3393 + styled-jsx: 5.1.6(@babel/core@7.28.5)(react@19.2.3) 3394 + optionalDependencies: 3395 + '@next/swc-darwin-arm64': 16.1.1 3396 + '@next/swc-darwin-x64': 16.1.1 3397 + '@next/swc-linux-arm64-gnu': 16.1.1 3398 + '@next/swc-linux-arm64-musl': 16.1.1 3399 + '@next/swc-linux-x64-gnu': 16.1.1 3400 + '@next/swc-linux-x64-musl': 16.1.1 3401 + '@next/swc-win32-arm64-msvc': 16.1.1 3402 + '@next/swc-win32-x64-msvc': 16.1.1 3403 + sharp: 0.34.5 3404 + transitivePeerDependencies: 3405 + - '@babel/core' 3406 + - babel-plugin-macros 3407 + dev: false 3408 + 3409 + /node-abi@3.85.0: 3410 + resolution: {integrity: sha512-zsFhmbkAzwhTft6nd3VxcG0cvJsT70rL+BIGHWVq5fi6MwGrHwzqKaxXE+Hl2GmnGItnDKPPkO5/LQqjVkIdFg==} 3411 + engines: {node: '>=10'} 3412 + dependencies: 3413 + semver: 7.7.3 3414 + dev: false 3415 + 3416 + /node-releases@2.0.27: 3417 + resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} 3418 + 3419 + /object-assign@4.1.1: 3420 + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 3421 + engines: {node: '>=0.10.0'} 3422 + dev: true 3423 + 3424 + /object-inspect@1.13.4: 3425 + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} 3426 + engines: {node: '>= 0.4'} 3427 + dev: true 3428 + 3429 + /object-keys@1.1.1: 3430 + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 3431 + engines: {node: '>= 0.4'} 3432 + dev: true 3433 + 3434 + /object.assign@4.1.7: 3435 + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} 3436 + engines: {node: '>= 0.4'} 3437 + dependencies: 3438 + call-bind: 1.0.8 3439 + call-bound: 1.0.4 3440 + define-properties: 1.2.1 3441 + es-object-atoms: 1.1.1 3442 + has-symbols: 1.1.0 3443 + object-keys: 1.1.1 3444 + dev: true 3445 + 3446 + /object.entries@1.1.9: 3447 + resolution: {integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==} 3448 + engines: {node: '>= 0.4'} 3449 + dependencies: 3450 + call-bind: 1.0.8 3451 + call-bound: 1.0.4 3452 + define-properties: 1.2.1 3453 + es-object-atoms: 1.1.1 3454 + dev: true 3455 + 3456 + /object.fromentries@2.0.8: 3457 + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} 3458 + engines: {node: '>= 0.4'} 3459 + dependencies: 3460 + call-bind: 1.0.8 3461 + define-properties: 1.2.1 3462 + es-abstract: 1.24.1 3463 + es-object-atoms: 1.1.1 3464 + dev: true 3465 + 3466 + /object.groupby@1.0.3: 3467 + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} 3468 + engines: {node: '>= 0.4'} 3469 + dependencies: 3470 + call-bind: 1.0.8 3471 + define-properties: 1.2.1 3472 + es-abstract: 1.24.1 3473 + dev: true 3474 + 3475 + /object.values@1.2.1: 3476 + resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} 3477 + engines: {node: '>= 0.4'} 3478 + dependencies: 3479 + call-bind: 1.0.8 3480 + call-bound: 1.0.4 3481 + define-properties: 1.2.1 3482 + es-object-atoms: 1.1.1 3483 + dev: true 3484 + 3485 + /once@1.4.0: 3486 + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 3487 + dependencies: 3488 + wrappy: 1.0.2 3489 + dev: false 3490 + 3491 + /optionator@0.9.4: 3492 + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 3493 + engines: {node: '>= 0.8.0'} 3494 + dependencies: 3495 + deep-is: 0.1.4 3496 + fast-levenshtein: 2.0.6 3497 + levn: 0.4.1 3498 + prelude-ls: 1.2.1 3499 + type-check: 0.4.0 3500 + word-wrap: 1.2.5 3501 + dev: true 3502 + 3503 + /own-keys@1.0.1: 3504 + resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} 3505 + engines: {node: '>= 0.4'} 3506 + dependencies: 3507 + get-intrinsic: 1.3.0 3508 + object-keys: 1.1.1 3509 + safe-push-apply: 1.0.0 3510 + dev: true 3511 + 3512 + /p-limit@3.1.0: 3513 + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 3514 + engines: {node: '>=10'} 3515 + dependencies: 3516 + yocto-queue: 0.1.0 3517 + dev: true 3518 + 3519 + /p-locate@5.0.0: 3520 + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 3521 + engines: {node: '>=10'} 3522 + dependencies: 3523 + p-limit: 3.1.0 3524 + dev: true 3525 + 3526 + /parent-module@1.0.1: 3527 + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 3528 + engines: {node: '>=6'} 3529 + dependencies: 3530 + callsites: 3.1.0 3531 + dev: true 3532 + 3533 + /path-exists@4.0.0: 3534 + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 3535 + engines: {node: '>=8'} 3536 + dev: true 3537 + 3538 + /path-key@3.1.1: 3539 + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 3540 + engines: {node: '>=8'} 3541 + dev: true 3542 + 3543 + /path-parse@1.0.7: 3544 + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 3545 + dev: true 3546 + 3547 + /picocolors@1.1.1: 3548 + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 3549 + 3550 + /picomatch@2.3.1: 3551 + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 3552 + engines: {node: '>=8.6'} 3553 + dev: true 3554 + 3555 + /picomatch@4.0.3: 3556 + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} 3557 + engines: {node: '>=12'} 3558 + dev: true 3559 + 3560 + /possible-typed-array-names@1.1.0: 3561 + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} 3562 + engines: {node: '>= 0.4'} 3563 + dev: true 3564 + 3565 + /postcss@8.4.31: 3566 + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} 3567 + engines: {node: ^10 || ^12 || >=14} 3568 + dependencies: 3569 + nanoid: 3.3.11 3570 + picocolors: 1.1.1 3571 + source-map-js: 1.2.1 3572 + dev: false 3573 + 3574 + /postcss@8.5.6: 3575 + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} 3576 + engines: {node: ^10 || ^12 || >=14} 3577 + dependencies: 3578 + nanoid: 3.3.11 3579 + picocolors: 1.1.1 3580 + source-map-js: 1.2.1 3581 + dev: true 3582 + 3583 + /prebuild-install@7.1.3: 3584 + resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} 3585 + engines: {node: '>=10'} 3586 + hasBin: true 3587 + dependencies: 3588 + detect-libc: 2.1.2 3589 + expand-template: 2.0.3 3590 + github-from-package: 0.0.0 3591 + minimist: 1.2.8 3592 + mkdirp-classic: 0.5.3 3593 + napi-build-utils: 2.0.0 3594 + node-abi: 3.85.0 3595 + pump: 3.0.3 3596 + rc: 1.2.8 3597 + simple-get: 4.0.1 3598 + tar-fs: 2.1.4 3599 + tunnel-agent: 0.6.0 3600 + dev: false 3601 + 3602 + /prelude-ls@1.2.1: 3603 + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 3604 + engines: {node: '>= 0.8.0'} 3605 + dev: true 3606 + 3607 + /prop-types@15.8.1: 3608 + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} 3609 + dependencies: 3610 + loose-envify: 1.4.0 3611 + object-assign: 4.1.1 3612 + react-is: 16.13.1 3613 + dev: true 3614 + 3615 + /pump@3.0.3: 3616 + resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} 3617 + dependencies: 3618 + end-of-stream: 1.4.5 3619 + once: 1.4.0 3620 + dev: false 3621 + 3622 + /punycode@2.3.1: 3623 + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 3624 + engines: {node: '>=6'} 3625 + dev: true 3626 + 3627 + /queue-microtask@1.2.3: 3628 + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 3629 + dev: true 3630 + 3631 + /rc@1.2.8: 3632 + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} 3633 + hasBin: true 3634 + dependencies: 3635 + deep-extend: 0.6.0 3636 + ini: 1.3.8 3637 + minimist: 1.2.8 3638 + strip-json-comments: 2.0.1 3639 + dev: false 3640 + 3641 + /react-dom@19.2.3(react@19.2.3): 3642 + resolution: {integrity: sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==} 3643 + peerDependencies: 3644 + react: ^19.2.3 3645 + dependencies: 3646 + react: 19.2.3 3647 + scheduler: 0.27.0 3648 + dev: false 3649 + 3650 + /react-is@16.13.1: 3651 + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} 3652 + dev: true 3653 + 3654 + /react@19.2.3: 3655 + resolution: {integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==} 3656 + engines: {node: '>=0.10.0'} 3657 + dev: false 3658 + 3659 + /readable-stream@3.6.2: 3660 + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} 3661 + engines: {node: '>= 6'} 3662 + dependencies: 3663 + inherits: 2.0.4 3664 + string_decoder: 1.3.0 3665 + util-deprecate: 1.0.2 3666 + dev: false 3667 + 3668 + /reflect.getprototypeof@1.0.10: 3669 + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} 3670 + engines: {node: '>= 0.4'} 3671 + dependencies: 3672 + call-bind: 1.0.8 3673 + define-properties: 1.2.1 3674 + es-abstract: 1.24.1 3675 + es-errors: 1.3.0 3676 + es-object-atoms: 1.1.1 3677 + get-intrinsic: 1.3.0 3678 + get-proto: 1.0.1 3679 + which-builtin-type: 1.2.1 3680 + dev: true 3681 + 3682 + /regexp.prototype.flags@1.5.4: 3683 + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} 3684 + engines: {node: '>= 0.4'} 3685 + dependencies: 3686 + call-bind: 1.0.8 3687 + define-properties: 1.2.1 3688 + es-errors: 1.3.0 3689 + get-proto: 1.0.1 3690 + gopd: 1.2.0 3691 + set-function-name: 2.0.2 3692 + dev: true 3693 + 3694 + /resolve-from@4.0.0: 3695 + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 3696 + engines: {node: '>=4'} 3697 + dev: true 3698 + 3699 + /resolve-pkg-maps@1.0.0: 3700 + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 3701 + dev: true 3702 + 3703 + /resolve@1.22.11: 3704 + resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} 3705 + engines: {node: '>= 0.4'} 3706 + hasBin: true 3707 + dependencies: 3708 + is-core-module: 2.16.1 3709 + path-parse: 1.0.7 3710 + supports-preserve-symlinks-flag: 1.0.0 3711 + dev: true 3712 + 3713 + /resolve@2.0.0-next.5: 3714 + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} 3715 + hasBin: true 3716 + dependencies: 3717 + is-core-module: 2.16.1 3718 + path-parse: 1.0.7 3719 + supports-preserve-symlinks-flag: 1.0.0 3720 + dev: true 3721 + 3722 + /reusify@1.1.0: 3723 + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} 3724 + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 3725 + dev: true 3726 + 3727 + /run-parallel@1.2.0: 3728 + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 3729 + dependencies: 3730 + queue-microtask: 1.2.3 3731 + dev: true 3732 + 3733 + /safe-array-concat@1.1.3: 3734 + resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} 3735 + engines: {node: '>=0.4'} 3736 + dependencies: 3737 + call-bind: 1.0.8 3738 + call-bound: 1.0.4 3739 + get-intrinsic: 1.3.0 3740 + has-symbols: 1.1.0 3741 + isarray: 2.0.5 3742 + dev: true 3743 + 3744 + /safe-buffer@5.2.1: 3745 + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 3746 + dev: false 3747 + 3748 + /safe-push-apply@1.0.0: 3749 + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} 3750 + engines: {node: '>= 0.4'} 3751 + dependencies: 3752 + es-errors: 1.3.0 3753 + isarray: 2.0.5 3754 + dev: true 3755 + 3756 + /safe-regex-test@1.1.0: 3757 + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} 3758 + engines: {node: '>= 0.4'} 3759 + dependencies: 3760 + call-bound: 1.0.4 3761 + es-errors: 1.3.0 3762 + is-regex: 1.2.1 3763 + dev: true 3764 + 3765 + /scheduler@0.27.0: 3766 + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} 3767 + dev: false 3768 + 3769 + /semver@6.3.1: 3770 + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 3771 + hasBin: true 3772 + 3773 + /semver@7.7.3: 3774 + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} 3775 + engines: {node: '>=10'} 3776 + hasBin: true 3777 + 3778 + /set-function-length@1.2.2: 3779 + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} 3780 + engines: {node: '>= 0.4'} 3781 + dependencies: 3782 + define-data-property: 1.1.4 3783 + es-errors: 1.3.0 3784 + function-bind: 1.1.2 3785 + get-intrinsic: 1.3.0 3786 + gopd: 1.2.0 3787 + has-property-descriptors: 1.0.2 3788 + dev: true 3789 + 3790 + /set-function-name@2.0.2: 3791 + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} 3792 + engines: {node: '>= 0.4'} 3793 + dependencies: 3794 + define-data-property: 1.1.4 3795 + es-errors: 1.3.0 3796 + functions-have-names: 1.2.3 3797 + has-property-descriptors: 1.0.2 3798 + dev: true 3799 + 3800 + /set-proto@1.0.0: 3801 + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} 3802 + engines: {node: '>= 0.4'} 3803 + dependencies: 3804 + dunder-proto: 1.0.1 3805 + es-errors: 1.3.0 3806 + es-object-atoms: 1.1.1 3807 + dev: true 3808 + 3809 + /sharp@0.34.5: 3810 + resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==} 3811 + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 3812 + requiresBuild: true 3813 + dependencies: 3814 + '@img/colour': 1.0.0 3815 + detect-libc: 2.1.2 3816 + semver: 7.7.3 3817 + optionalDependencies: 3818 + '@img/sharp-darwin-arm64': 0.34.5 3819 + '@img/sharp-darwin-x64': 0.34.5 3820 + '@img/sharp-libvips-darwin-arm64': 1.2.4 3821 + '@img/sharp-libvips-darwin-x64': 1.2.4 3822 + '@img/sharp-libvips-linux-arm': 1.2.4 3823 + '@img/sharp-libvips-linux-arm64': 1.2.4 3824 + '@img/sharp-libvips-linux-ppc64': 1.2.4 3825 + '@img/sharp-libvips-linux-riscv64': 1.2.4 3826 + '@img/sharp-libvips-linux-s390x': 1.2.4 3827 + '@img/sharp-libvips-linux-x64': 1.2.4 3828 + '@img/sharp-libvips-linuxmusl-arm64': 1.2.4 3829 + '@img/sharp-libvips-linuxmusl-x64': 1.2.4 3830 + '@img/sharp-linux-arm': 0.34.5 3831 + '@img/sharp-linux-arm64': 0.34.5 3832 + '@img/sharp-linux-ppc64': 0.34.5 3833 + '@img/sharp-linux-riscv64': 0.34.5 3834 + '@img/sharp-linux-s390x': 0.34.5 3835 + '@img/sharp-linux-x64': 0.34.5 3836 + '@img/sharp-linuxmusl-arm64': 0.34.5 3837 + '@img/sharp-linuxmusl-x64': 0.34.5 3838 + '@img/sharp-wasm32': 0.34.5 3839 + '@img/sharp-win32-arm64': 0.34.5 3840 + '@img/sharp-win32-ia32': 0.34.5 3841 + '@img/sharp-win32-x64': 0.34.5 3842 + dev: false 3843 + optional: true 3844 + 3845 + /shebang-command@2.0.0: 3846 + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 3847 + engines: {node: '>=8'} 3848 + dependencies: 3849 + shebang-regex: 3.0.0 3850 + dev: true 3851 + 3852 + /shebang-regex@3.0.0: 3853 + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 3854 + engines: {node: '>=8'} 3855 + dev: true 3856 + 3857 + /side-channel-list@1.0.0: 3858 + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} 3859 + engines: {node: '>= 0.4'} 3860 + dependencies: 3861 + es-errors: 1.3.0 3862 + object-inspect: 1.13.4 3863 + dev: true 3864 + 3865 + /side-channel-map@1.0.1: 3866 + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} 3867 + engines: {node: '>= 0.4'} 3868 + dependencies: 3869 + call-bound: 1.0.4 3870 + es-errors: 1.3.0 3871 + get-intrinsic: 1.3.0 3872 + object-inspect: 1.13.4 3873 + dev: true 3874 + 3875 + /side-channel-weakmap@1.0.2: 3876 + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} 3877 + engines: {node: '>= 0.4'} 3878 + dependencies: 3879 + call-bound: 1.0.4 3880 + es-errors: 1.3.0 3881 + get-intrinsic: 1.3.0 3882 + object-inspect: 1.13.4 3883 + side-channel-map: 1.0.1 3884 + dev: true 3885 + 3886 + /side-channel@1.1.0: 3887 + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} 3888 + engines: {node: '>= 0.4'} 3889 + dependencies: 3890 + es-errors: 1.3.0 3891 + object-inspect: 1.13.4 3892 + side-channel-list: 1.0.0 3893 + side-channel-map: 1.0.1 3894 + side-channel-weakmap: 1.0.2 3895 + dev: true 3896 + 3897 + /simple-concat@1.0.1: 3898 + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} 3899 + dev: false 3900 + 3901 + /simple-get@4.0.1: 3902 + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} 3903 + dependencies: 3904 + decompress-response: 6.0.0 3905 + once: 1.4.0 3906 + simple-concat: 1.0.1 3907 + dev: false 3908 + 3909 + /source-map-js@1.2.1: 3910 + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 3911 + engines: {node: '>=0.10.0'} 3912 + 3913 + /stable-hash@0.0.5: 3914 + resolution: {integrity: sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==} 3915 + dev: true 3916 + 3917 + /stop-iteration-iterator@1.1.0: 3918 + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} 3919 + engines: {node: '>= 0.4'} 3920 + dependencies: 3921 + es-errors: 1.3.0 3922 + internal-slot: 1.1.0 3923 + dev: true 3924 + 3925 + /string.prototype.includes@2.0.1: 3926 + resolution: {integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==} 3927 + engines: {node: '>= 0.4'} 3928 + dependencies: 3929 + call-bind: 1.0.8 3930 + define-properties: 1.2.1 3931 + es-abstract: 1.24.1 3932 + dev: true 3933 + 3934 + /string.prototype.matchall@4.0.12: 3935 + resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==} 3936 + engines: {node: '>= 0.4'} 3937 + dependencies: 3938 + call-bind: 1.0.8 3939 + call-bound: 1.0.4 3940 + define-properties: 1.2.1 3941 + es-abstract: 1.24.1 3942 + es-errors: 1.3.0 3943 + es-object-atoms: 1.1.1 3944 + get-intrinsic: 1.3.0 3945 + gopd: 1.2.0 3946 + has-symbols: 1.1.0 3947 + internal-slot: 1.1.0 3948 + regexp.prototype.flags: 1.5.4 3949 + set-function-name: 2.0.2 3950 + side-channel: 1.1.0 3951 + dev: true 3952 + 3953 + /string.prototype.repeat@1.0.0: 3954 + resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} 3955 + dependencies: 3956 + define-properties: 1.2.1 3957 + es-abstract: 1.24.1 3958 + dev: true 3959 + 3960 + /string.prototype.trim@1.2.10: 3961 + resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} 3962 + engines: {node: '>= 0.4'} 3963 + dependencies: 3964 + call-bind: 1.0.8 3965 + call-bound: 1.0.4 3966 + define-data-property: 1.1.4 3967 + define-properties: 1.2.1 3968 + es-abstract: 1.24.1 3969 + es-object-atoms: 1.1.1 3970 + has-property-descriptors: 1.0.2 3971 + dev: true 3972 + 3973 + /string.prototype.trimend@1.0.9: 3974 + resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} 3975 + engines: {node: '>= 0.4'} 3976 + dependencies: 3977 + call-bind: 1.0.8 3978 + call-bound: 1.0.4 3979 + define-properties: 1.2.1 3980 + es-object-atoms: 1.1.1 3981 + dev: true 3982 + 3983 + /string.prototype.trimstart@1.0.8: 3984 + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} 3985 + engines: {node: '>= 0.4'} 3986 + dependencies: 3987 + call-bind: 1.0.8 3988 + define-properties: 1.2.1 3989 + es-object-atoms: 1.1.1 3990 + dev: true 3991 + 3992 + /string_decoder@1.3.0: 3993 + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 3994 + dependencies: 3995 + safe-buffer: 5.2.1 3996 + dev: false 3997 + 3998 + /strip-bom@3.0.0: 3999 + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 4000 + engines: {node: '>=4'} 4001 + dev: true 4002 + 4003 + /strip-json-comments@2.0.1: 4004 + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} 4005 + engines: {node: '>=0.10.0'} 4006 + dev: false 4007 + 4008 + /strip-json-comments@3.1.1: 4009 + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 4010 + engines: {node: '>=8'} 4011 + dev: true 4012 + 4013 + /styled-jsx@5.1.6(@babel/core@7.28.5)(react@19.2.3): 4014 + resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} 4015 + engines: {node: '>= 12.0.0'} 4016 + peerDependencies: 4017 + '@babel/core': '*' 4018 + babel-plugin-macros: '*' 4019 + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' 4020 + peerDependenciesMeta: 4021 + '@babel/core': 4022 + optional: true 4023 + babel-plugin-macros: 4024 + optional: true 4025 + dependencies: 4026 + '@babel/core': 7.28.5 4027 + client-only: 0.0.1 4028 + react: 19.2.3 4029 + dev: false 4030 + 4031 + /supports-color@7.2.0: 4032 + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 4033 + engines: {node: '>=8'} 4034 + dependencies: 4035 + has-flag: 4.0.0 4036 + dev: true 4037 + 4038 + /supports-preserve-symlinks-flag@1.0.0: 4039 + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 4040 + engines: {node: '>= 0.4'} 4041 + dev: true 4042 + 4043 + /tailwindcss@4.1.18: 4044 + resolution: {integrity: sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==} 4045 + dev: true 4046 + 4047 + /tapable@2.3.0: 4048 + resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} 4049 + engines: {node: '>=6'} 4050 + dev: true 4051 + 4052 + /tar-fs@2.1.4: 4053 + resolution: {integrity: sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==} 4054 + dependencies: 4055 + chownr: 1.1.4 4056 + mkdirp-classic: 0.5.3 4057 + pump: 3.0.3 4058 + tar-stream: 2.2.0 4059 + dev: false 4060 + 4061 + /tar-stream@2.2.0: 4062 + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} 4063 + engines: {node: '>=6'} 4064 + dependencies: 4065 + bl: 4.1.0 4066 + end-of-stream: 1.4.5 4067 + fs-constants: 1.0.0 4068 + inherits: 2.0.4 4069 + readable-stream: 3.6.2 4070 + dev: false 4071 + 4072 + /tinyglobby@0.2.15: 4073 + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} 4074 + engines: {node: '>=12.0.0'} 4075 + dependencies: 4076 + fdir: 6.5.0(picomatch@4.0.3) 4077 + picomatch: 4.0.3 4078 + dev: true 4079 + 4080 + /to-regex-range@5.0.1: 4081 + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 4082 + engines: {node: '>=8.0'} 4083 + dependencies: 4084 + is-number: 7.0.0 4085 + dev: true 4086 + 4087 + /ts-api-utils@2.4.0(typescript@5.9.3): 4088 + resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==} 4089 + engines: {node: '>=18.12'} 4090 + peerDependencies: 4091 + typescript: '>=4.8.4' 4092 + dependencies: 4093 + typescript: 5.9.3 4094 + dev: true 4095 + 4096 + /tsconfig-paths@3.15.0: 4097 + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} 4098 + dependencies: 4099 + '@types/json5': 0.0.29 4100 + json5: 1.0.2 4101 + minimist: 1.2.8 4102 + strip-bom: 3.0.0 4103 + dev: true 4104 + 4105 + /tslib@2.8.1: 4106 + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 4107 + 4108 + /tsx@4.21.0: 4109 + resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==} 4110 + engines: {node: '>=18.0.0'} 4111 + hasBin: true 4112 + dependencies: 4113 + esbuild: 0.27.2 4114 + get-tsconfig: 4.13.0 4115 + optionalDependencies: 4116 + fsevents: 2.3.3 4117 + dev: true 4118 + 4119 + /tunnel-agent@0.6.0: 4120 + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} 4121 + dependencies: 4122 + safe-buffer: 5.2.1 4123 + dev: false 4124 + 4125 + /type-check@0.4.0: 4126 + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 4127 + engines: {node: '>= 0.8.0'} 4128 + dependencies: 4129 + prelude-ls: 1.2.1 4130 + dev: true 4131 + 4132 + /typed-array-buffer@1.0.3: 4133 + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} 4134 + engines: {node: '>= 0.4'} 4135 + dependencies: 4136 + call-bound: 1.0.4 4137 + es-errors: 1.3.0 4138 + is-typed-array: 1.1.15 4139 + dev: true 4140 + 4141 + /typed-array-byte-length@1.0.3: 4142 + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} 4143 + engines: {node: '>= 0.4'} 4144 + dependencies: 4145 + call-bind: 1.0.8 4146 + for-each: 0.3.5 4147 + gopd: 1.2.0 4148 + has-proto: 1.2.0 4149 + is-typed-array: 1.1.15 4150 + dev: true 4151 + 4152 + /typed-array-byte-offset@1.0.4: 4153 + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} 4154 + engines: {node: '>= 0.4'} 4155 + dependencies: 4156 + available-typed-arrays: 1.0.7 4157 + call-bind: 1.0.8 4158 + for-each: 0.3.5 4159 + gopd: 1.2.0 4160 + has-proto: 1.2.0 4161 + is-typed-array: 1.1.15 4162 + reflect.getprototypeof: 1.0.10 4163 + dev: true 4164 + 4165 + /typed-array-length@1.0.7: 4166 + resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} 4167 + engines: {node: '>= 0.4'} 4168 + dependencies: 4169 + call-bind: 1.0.8 4170 + for-each: 0.3.5 4171 + gopd: 1.2.0 4172 + is-typed-array: 1.1.15 4173 + possible-typed-array-names: 1.1.0 4174 + reflect.getprototypeof: 1.0.10 4175 + dev: true 4176 + 4177 + /typescript-eslint@8.52.0(eslint@9.39.2)(typescript@5.9.3): 4178 + resolution: {integrity: sha512-atlQQJ2YkO4pfTVQmQ+wvYQwexPDOIgo+RaVcD7gHgzy/IQA+XTyuxNM9M9TVXvttkF7koBHmcwisKdOAf2EcA==} 4179 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 4180 + peerDependencies: 4181 + eslint: ^8.57.0 || ^9.0.0 4182 + typescript: '>=4.8.4 <6.0.0' 4183 + dependencies: 4184 + '@typescript-eslint/eslint-plugin': 8.52.0(@typescript-eslint/parser@8.52.0)(eslint@9.39.2)(typescript@5.9.3) 4185 + '@typescript-eslint/parser': 8.52.0(eslint@9.39.2)(typescript@5.9.3) 4186 + '@typescript-eslint/typescript-estree': 8.52.0(typescript@5.9.3) 4187 + '@typescript-eslint/utils': 8.52.0(eslint@9.39.2)(typescript@5.9.3) 4188 + eslint: 9.39.2 4189 + typescript: 5.9.3 4190 + transitivePeerDependencies: 4191 + - supports-color 4192 + dev: true 4193 + 4194 + /typescript@5.9.3: 4195 + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} 4196 + engines: {node: '>=14.17'} 4197 + hasBin: true 4198 + dev: true 4199 + 4200 + /uint8arrays@3.0.0: 4201 + resolution: {integrity: sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==} 4202 + dependencies: 4203 + multiformats: 9.9.0 4204 + dev: false 4205 + 4206 + /unbox-primitive@1.1.0: 4207 + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} 4208 + engines: {node: '>= 0.4'} 4209 + dependencies: 4210 + call-bound: 1.0.4 4211 + has-bigints: 1.1.0 4212 + has-symbols: 1.1.0 4213 + which-boxed-primitive: 1.1.1 4214 + dev: true 4215 + 4216 + /undici-types@6.21.0: 4217 + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} 4218 + dev: true 4219 + 4220 + /undici@6.23.0: 4221 + resolution: {integrity: sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==} 4222 + engines: {node: '>=18.17'} 4223 + dev: false 4224 + 4225 + /unicode-segmenter@0.14.5: 4226 + resolution: {integrity: sha512-jHGmj2LUuqDcX3hqY12Ql+uhUTn8huuxNZGq7GvtF6bSybzH3aFgedYu/KTzQStEgt1Ra2F3HxadNXsNjb3m3g==} 4227 + dev: false 4228 + 4229 + /unrs-resolver@1.11.1: 4230 + resolution: {integrity: sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==} 4231 + requiresBuild: true 4232 + dependencies: 4233 + napi-postinstall: 0.3.4 4234 + optionalDependencies: 4235 + '@unrs/resolver-binding-android-arm-eabi': 1.11.1 4236 + '@unrs/resolver-binding-android-arm64': 1.11.1 4237 + '@unrs/resolver-binding-darwin-arm64': 1.11.1 4238 + '@unrs/resolver-binding-darwin-x64': 1.11.1 4239 + '@unrs/resolver-binding-freebsd-x64': 1.11.1 4240 + '@unrs/resolver-binding-linux-arm-gnueabihf': 1.11.1 4241 + '@unrs/resolver-binding-linux-arm-musleabihf': 1.11.1 4242 + '@unrs/resolver-binding-linux-arm64-gnu': 1.11.1 4243 + '@unrs/resolver-binding-linux-arm64-musl': 1.11.1 4244 + '@unrs/resolver-binding-linux-ppc64-gnu': 1.11.1 4245 + '@unrs/resolver-binding-linux-riscv64-gnu': 1.11.1 4246 + '@unrs/resolver-binding-linux-riscv64-musl': 1.11.1 4247 + '@unrs/resolver-binding-linux-s390x-gnu': 1.11.1 4248 + '@unrs/resolver-binding-linux-x64-gnu': 1.11.1 4249 + '@unrs/resolver-binding-linux-x64-musl': 1.11.1 4250 + '@unrs/resolver-binding-wasm32-wasi': 1.11.1 4251 + '@unrs/resolver-binding-win32-arm64-msvc': 1.11.1 4252 + '@unrs/resolver-binding-win32-ia32-msvc': 1.11.1 4253 + '@unrs/resolver-binding-win32-x64-msvc': 1.11.1 4254 + dev: true 4255 + 4256 + /update-browserslist-db@1.2.3(browserslist@4.28.1): 4257 + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} 4258 + hasBin: true 4259 + peerDependencies: 4260 + browserslist: '>= 4.21.0' 4261 + dependencies: 4262 + browserslist: 4.28.1 4263 + escalade: 3.2.0 4264 + picocolors: 1.1.1 4265 + 4266 + /uri-js@4.4.1: 4267 + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 4268 + dependencies: 4269 + punycode: 2.3.1 4270 + dev: true 4271 + 4272 + /util-deprecate@1.0.2: 4273 + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 4274 + dev: false 4275 + 4276 + /which-boxed-primitive@1.1.1: 4277 + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} 4278 + engines: {node: '>= 0.4'} 4279 + dependencies: 4280 + is-bigint: 1.1.0 4281 + is-boolean-object: 1.2.2 4282 + is-number-object: 1.1.1 4283 + is-string: 1.1.1 4284 + is-symbol: 1.1.1 4285 + dev: true 4286 + 4287 + /which-builtin-type@1.2.1: 4288 + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} 4289 + engines: {node: '>= 0.4'} 4290 + dependencies: 4291 + call-bound: 1.0.4 4292 + function.prototype.name: 1.1.8 4293 + has-tostringtag: 1.0.2 4294 + is-async-function: 2.1.1 4295 + is-date-object: 1.1.0 4296 + is-finalizationregistry: 1.1.1 4297 + is-generator-function: 1.1.2 4298 + is-regex: 1.2.1 4299 + is-weakref: 1.1.1 4300 + isarray: 2.0.5 4301 + which-boxed-primitive: 1.1.1 4302 + which-collection: 1.0.2 4303 + which-typed-array: 1.1.19 4304 + dev: true 4305 + 4306 + /which-collection@1.0.2: 4307 + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} 4308 + engines: {node: '>= 0.4'} 4309 + dependencies: 4310 + is-map: 2.0.3 4311 + is-set: 2.0.3 4312 + is-weakmap: 2.0.2 4313 + is-weakset: 2.0.4 4314 + dev: true 4315 + 4316 + /which-typed-array@1.1.19: 4317 + resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} 4318 + engines: {node: '>= 0.4'} 4319 + dependencies: 4320 + available-typed-arrays: 1.0.7 4321 + call-bind: 1.0.8 4322 + call-bound: 1.0.4 4323 + for-each: 0.3.5 4324 + get-proto: 1.0.1 4325 + gopd: 1.2.0 4326 + has-tostringtag: 1.0.2 4327 + dev: true 4328 + 4329 + /which@2.0.2: 4330 + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 4331 + engines: {node: '>= 8'} 4332 + hasBin: true 4333 + dependencies: 4334 + isexe: 2.0.0 4335 + dev: true 4336 + 4337 + /word-wrap@1.2.5: 4338 + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 4339 + engines: {node: '>=0.10.0'} 4340 + dev: true 4341 + 4342 + /wrappy@1.0.2: 4343 + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 4344 + dev: false 4345 + 4346 + /yallist@3.1.1: 4347 + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} 4348 + 4349 + /yocto-queue@0.1.0: 4350 + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 4351 + engines: {node: '>=10'} 4352 + dev: true 4353 + 4354 + /zod-validation-error@4.0.2(zod@4.3.5): 4355 + resolution: {integrity: sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==} 4356 + engines: {node: '>=18.0.0'} 4357 + peerDependencies: 4358 + zod: ^3.25.0 || ^4.0.0 4359 + dependencies: 4360 + zod: 4.3.5 4361 + dev: true 4362 + 4363 + /zod@3.25.76: 4364 + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} 4365 + dev: false 4366 + 4367 + /zod@4.3.5: 4368 + resolution: {integrity: sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==} 4369 + dev: true
+7
postcss.config.mjs
··· 1 + const config = { 2 + plugins: { 3 + "@tailwindcss/postcss": {}, 4 + }, 5 + }; 6 + 7 + export default config;
+1
public/file.svg
··· 1 + <svg fill="none" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M14.5 13.5V5.41a1 1 0 0 0-.3-.7L9.8.29A1 1 0 0 0 9.08 0H1.5v13.5A2.5 2.5 0 0 0 4 16h8a2.5 2.5 0 0 0 2.5-2.5m-1.5 0v-7H8v-5H3v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1M9.5 5V2.12L12.38 5zM5.13 5h-.62v1.25h2.12V5zm-.62 3h7.12v1.25H4.5zm.62 3h-.62v1.25h7.12V11z" clip-rule="evenodd" fill="#666" fill-rule="evenodd"/></svg>
+1
public/globe.svg
··· 1 + <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><g clip-path="url(#a)"><path fill-rule="evenodd" clip-rule="evenodd" d="M10.27 14.1a6.5 6.5 0 0 0 3.67-3.45q-1.24.21-2.7.34-.31 1.83-.97 3.1M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m.48-1.52a7 7 0 0 1-.96 0H7.5a4 4 0 0 1-.84-1.32q-.38-.89-.63-2.08a40 40 0 0 0 3.92 0q-.25 1.2-.63 2.08a4 4 0 0 1-.84 1.31zm2.94-4.76q1.66-.15 2.95-.43a7 7 0 0 0 0-2.58q-1.3-.27-2.95-.43a18 18 0 0 1 0 3.44m-1.27-3.54a17 17 0 0 1 0 3.64 39 39 0 0 1-4.3 0 17 17 0 0 1 0-3.64 39 39 0 0 1 4.3 0m1.1-1.17q1.45.13 2.69.34a6.5 6.5 0 0 0-3.67-3.44q.65 1.26.98 3.1M8.48 1.5l.01.02q.41.37.84 1.31.38.89.63 2.08a40 40 0 0 0-3.92 0q.25-1.2.63-2.08a4 4 0 0 1 .85-1.32 7 7 0 0 1 .96 0m-2.75.4a6.5 6.5 0 0 0-3.67 3.44 29 29 0 0 1 2.7-.34q.31-1.83.97-3.1M4.58 6.28q-1.66.16-2.95.43a7 7 0 0 0 0 2.58q1.3.27 2.95.43a18 18 0 0 1 0-3.44m.17 4.71q-1.45-.12-2.69-.34a6.5 6.5 0 0 0 3.67 3.44q-.65-1.27-.98-3.1" fill="#666"/></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h16v16H0z"/></clipPath></defs></svg>
+1
public/next.svg
··· 1 + <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 394 80"><path fill="#000" d="M262 0h68.5v12.7h-27.2v66.6h-13.6V12.7H262V0ZM149 0v12.7H94v20.4h44.3v12.6H94v21h55v12.6H80.5V0h68.7zm34.3 0h-17.8l63.8 79.4h17.9l-32-39.7 32-39.6h-17.9l-23 28.6-23-28.6zm18.3 56.7-9-11-27.1 33.7h17.8l18.3-22.7z"/><path fill="#000" d="M81 79.3 17 0H0v79.3h13.6V17l50.2 62.3H81Zm252.6-.4c-1 0-1.8-.4-2.5-1s-1.1-1.6-1.1-2.6.3-1.8 1-2.5 1.6-1 2.6-1 1.8.3 2.5 1a3.4 3.4 0 0 1 .6 4.3 3.7 3.7 0 0 1-3 1.8zm23.2-33.5h6v23.3c0 2.1-.4 4-1.3 5.5a9.1 9.1 0 0 1-3.8 3.5c-1.6.8-3.5 1.3-5.7 1.3-2 0-3.7-.4-5.3-1s-2.8-1.8-3.7-3.2c-.9-1.3-1.4-3-1.4-5h6c.1.8.3 1.6.7 2.2s1 1.2 1.6 1.5c.7.4 1.5.5 2.4.5 1 0 1.8-.2 2.4-.6a4 4 0 0 0 1.6-1.8c.3-.8.5-1.8.5-3V45.5zm30.9 9.1a4.4 4.4 0 0 0-2-3.3 7.5 7.5 0 0 0-4.3-1.1c-1.3 0-2.4.2-3.3.5-.9.4-1.6 1-2 1.6a3.5 3.5 0 0 0-.3 4c.3.5.7.9 1.3 1.2l1.8 1 2 .5 3.2.8c1.3.3 2.5.7 3.7 1.2a13 13 0 0 1 3.2 1.8 8.1 8.1 0 0 1 3 6.5c0 2-.5 3.7-1.5 5.1a10 10 0 0 1-4.4 3.5c-1.8.8-4.1 1.2-6.8 1.2-2.6 0-4.9-.4-6.8-1.2-2-.8-3.4-2-4.5-3.5a10 10 0 0 1-1.7-5.6h6a5 5 0 0 0 3.5 4.6c1 .4 2.2.6 3.4.6 1.3 0 2.5-.2 3.5-.6 1-.4 1.8-1 2.4-1.7a4 4 0 0 0 .8-2.4c0-.9-.2-1.6-.7-2.2a11 11 0 0 0-2.1-1.4l-3.2-1-3.8-1c-2.8-.7-5-1.7-6.6-3.2a7.2 7.2 0 0 1-2.4-5.7 8 8 0 0 1 1.7-5 10 10 0 0 1 4.3-3.5c2-.8 4-1.2 6.4-1.2 2.3 0 4.4.4 6.2 1.2 1.8.8 3.2 2 4.3 3.4 1 1.4 1.5 3 1.5 5h-5.8z"/></svg>
+1
public/vercel.svg
··· 1 + <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1155 1000"><path d="m577.3 0 577.4 1000H0z" fill="#fff"/></svg>
+1
public/window.svg
··· 1 + <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M1.5 2.5h13v10a1 1 0 0 1-1 1h-11a1 1 0 0 1-1-1zM0 1h16v11.5a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 0 12.5zm3.75 4.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5M7 4.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0m1.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5" fill="#666"/></svg>
+9
scripts/gen-key.ts
··· 1 + import { JoseKey } from "@atproto/oauth-client-node"; 2 + 3 + async function main() { 4 + const kid = Date.now().toString(); 5 + const key = await JoseKey.generate(["ES256"], kid); 6 + console.log(JSON.stringify(key.privateJwk)); 7 + } 8 + 9 + main();
+10
scripts/migrate.ts
··· 1 + import { getMigrator } from "@/lib/db/migrations"; 2 + 3 + async function main() { 4 + const migrator = getMigrator(); 5 + const { error } = await migrator.migrateToLatest(); 6 + if (error) throw error; 7 + console.log("Migrations complete."); 8 + } 9 + 10 + main();
+34
tsconfig.json
··· 1 + { 2 + "compilerOptions": { 3 + "target": "ES2017", 4 + "lib": ["dom", "dom.iterable", "esnext"], 5 + "allowJs": true, 6 + "skipLibCheck": true, 7 + "strict": true, 8 + "noEmit": true, 9 + "esModuleInterop": true, 10 + "module": "esnext", 11 + "moduleResolution": "bundler", 12 + "resolveJsonModule": true, 13 + "isolatedModules": true, 14 + "jsx": "react-jsx", 15 + "incremental": true, 16 + "plugins": [ 17 + { 18 + "name": "next" 19 + } 20 + ], 21 + "paths": { 22 + "@/*": ["./*"] 23 + } 24 + }, 25 + "include": [ 26 + "next-env.d.ts", 27 + "**/*.ts", 28 + "**/*.tsx", 29 + ".next/types/**/*.ts", 30 + ".next/dev/types/**/*.ts", 31 + "**/*.mts" 32 + ], 33 + "exclude": ["node_modules"] 34 + }