From 8571236bc0a946b184fdcc7665af969db87fde13 Mon Sep 17 00:00:00 2001 From: Martin Ziegler Date: Mon, 1 Dec 2025 07:34:25 +0100 Subject: [PATCH] Added update module --- backend/app/api/routes/settings.py | 2 +- backend/app/api/routes/updates.py | 276 ++++++ backend/app/core/config.py | 4 + backend/app/main.py | 7 +- backend/app/schemas/settings.py | 4 + frontend/src/api/client.ts | 35 + frontend/src/components/Layout.tsx | 48 +- frontend/src/pages/SettingsPage.tsx | 174 +++- static/assets/index-CLNqfrMK.css | 1 + static/assets/index-CfyzT_2B.css | 1 - .../{index-zNwYBAHC.js => index-DFEXODPu.js} | 810 +++++++++--------- static/index.html | 4 +- 12 files changed, 935 insertions(+), 431 deletions(-) create mode 100644 backend/app/api/routes/updates.py create mode 100644 static/assets/index-CLNqfrMK.css delete mode 100644 static/assets/index-CfyzT_2B.css rename static/assets/{index-zNwYBAHC.js => index-DFEXODPu.js} (66%) diff --git a/backend/app/api/routes/settings.py b/backend/app/api/routes/settings.py index 986a34145..7ccfb6e62 100644 --- a/backend/app/api/routes/settings.py +++ b/backend/app/api/routes/settings.py @@ -46,7 +46,7 @@ async def get_settings(db: AsyncSession = Depends(get_db)): for setting in db_settings: if setting.key in settings_dict: # Parse the value based on the expected type - if setting.key in ["auto_archive", "save_thumbnails", "capture_finish_photo", "spoolman_enabled"]: + if setting.key in ["auto_archive", "save_thumbnails", "capture_finish_photo", "spoolman_enabled", "check_updates"]: settings_dict[setting.key] = setting.value.lower() == "true" elif setting.key in ["default_filament_cost", "energy_cost_per_kwh"]: settings_dict[setting.key] = float(setting.value) diff --git a/backend/app/api/routes/updates.py b/backend/app/api/routes/updates.py new file mode 100644 index 000000000..7077bca13 --- /dev/null +++ b/backend/app/api/routes/updates.py @@ -0,0 +1,276 @@ +"""Update checking and management routes.""" + +import asyncio +import logging +import subprocess +import sys +from pathlib import Path + +import httpx +from fastapi import APIRouter, BackgroundTasks, Depends +from sqlalchemy.ext.asyncio import AsyncSession + +from backend.app.core.config import APP_VERSION, GITHUB_REPO, settings +from backend.app.core.database import get_db +from backend.app.api.routes.settings import get_setting + +logger = logging.getLogger(__name__) + +router = APIRouter(prefix="/updates", tags=["updates"]) + +# Global state for update progress +_update_status = { + "status": "idle", # idle, checking, downloading, installing, complete, error + "progress": 0, + "message": "", + "error": None, +} + + +def parse_version(version: str) -> tuple[int, ...]: + """Parse version string into tuple for comparison.""" + # Remove 'v' prefix if present + version = version.lstrip("v") + # Split and convert to integers + parts = [] + for part in version.split("."): + try: + parts.append(int(part)) + except ValueError: + # Handle pre-release versions like "1.0.0-beta" + num = "".join(c for c in part if c.isdigit()) + parts.append(int(num) if num else 0) + return tuple(parts) + + +def is_newer_version(latest: str, current: str) -> bool: + """Check if latest version is newer than current.""" + try: + return parse_version(latest) > parse_version(current) + except Exception: + return False + + +@router.get("/version") +async def get_version(): + """Get current application version.""" + return { + "version": APP_VERSION, + "repo": GITHUB_REPO, + } + + +@router.get("/check") +async def check_for_updates(db: AsyncSession = Depends(get_db)): + """Check GitHub for available updates.""" + global _update_status + + _update_status = { + "status": "checking", + "progress": 0, + "message": "Checking for updates...", + "error": None, + } + + try: + async with httpx.AsyncClient() as client: + response = await client.get( + f"https://api.github.com/repos/{GITHUB_REPO}/releases/latest", + headers={"Accept": "application/vnd.github.v3+json"}, + timeout=10.0, + ) + + if response.status_code == 404: + # No releases yet + _update_status = { + "status": "idle", + "progress": 100, + "message": "No releases found", + "error": None, + } + return { + "update_available": False, + "current_version": APP_VERSION, + "latest_version": None, + "message": "No releases found", + } + + response.raise_for_status() + release_data = response.json() + + latest_version = release_data.get("tag_name", "").lstrip("v") + release_name = release_data.get("name", latest_version) + release_notes = release_data.get("body", "") + release_url = release_data.get("html_url", "") + published_at = release_data.get("published_at", "") + + update_available = is_newer_version(latest_version, APP_VERSION) + + _update_status = { + "status": "idle", + "progress": 100, + "message": "Update available" if update_available else "Up to date", + "error": None, + } + + return { + "update_available": update_available, + "current_version": APP_VERSION, + "latest_version": latest_version, + "release_name": release_name, + "release_notes": release_notes, + "release_url": release_url, + "published_at": published_at, + } + + except httpx.HTTPError as e: + logger.error(f"Failed to check for updates: {e}") + _update_status = { + "status": "error", + "progress": 0, + "message": "Failed to check for updates", + "error": str(e), + } + return { + "update_available": False, + "current_version": APP_VERSION, + "latest_version": None, + "error": str(e), + } + + +async def _perform_update(): + """Perform the actual update using git pull.""" + global _update_status + + try: + _update_status = { + "status": "downloading", + "progress": 20, + "message": "Pulling latest changes...", + "error": None, + } + + # Run git pull in the project directory + base_dir = settings.base_dir + process = await asyncio.create_subprocess_exec( + "git", "pull", "--rebase", + cwd=str(base_dir), + stdout=asyncio.subprocess.PIPE, + stderr=asyncio.subprocess.PIPE, + ) + stdout, stderr = await process.communicate() + + if process.returncode != 0: + error_msg = stderr.decode() if stderr else "Git pull failed" + logger.error(f"Git pull failed: {error_msg}") + _update_status = { + "status": "error", + "progress": 0, + "message": "Failed to pull updates", + "error": error_msg, + } + return + + _update_status = { + "status": "installing", + "progress": 50, + "message": "Installing dependencies...", + "error": None, + } + + # Install Python dependencies + process = await asyncio.create_subprocess_exec( + sys.executable, "-m", "pip", "install", "-r", "requirements.txt", "-q", + cwd=str(base_dir), + stdout=asyncio.subprocess.PIPE, + stderr=asyncio.subprocess.PIPE, + ) + stdout, stderr = await process.communicate() + + if process.returncode != 0: + logger.warning(f"pip install warning: {stderr.decode() if stderr else 'unknown'}") + + _update_status = { + "status": "installing", + "progress": 70, + "message": "Building frontend...", + "error": None, + } + + # Build frontend + frontend_dir = base_dir / "frontend" + if frontend_dir.exists(): + # npm install + process = await asyncio.create_subprocess_exec( + "npm", "install", + cwd=str(frontend_dir), + stdout=asyncio.subprocess.PIPE, + stderr=asyncio.subprocess.PIPE, + ) + await process.communicate() + + # npm run build + process = await asyncio.create_subprocess_exec( + "npm", "run", "build", + cwd=str(frontend_dir), + stdout=asyncio.subprocess.PIPE, + stderr=asyncio.subprocess.PIPE, + ) + stdout, stderr = await process.communicate() + + if process.returncode != 0: + logger.warning(f"Frontend build warning: {stderr.decode() if stderr else 'unknown'}") + + _update_status = { + "status": "complete", + "progress": 100, + "message": "Update complete! Please restart the application.", + "error": None, + } + + logger.info("Update completed successfully") + + except Exception as e: + logger.error(f"Update failed: {e}") + _update_status = { + "status": "error", + "progress": 0, + "message": "Update failed", + "error": str(e), + } + + +@router.post("/apply") +async def apply_update(background_tasks: BackgroundTasks): + """Apply available update (git pull + rebuild).""" + global _update_status + + if _update_status["status"] in ["downloading", "installing"]: + return { + "success": False, + "message": "Update already in progress", + "status": _update_status, + } + + # Start update in background + background_tasks.add_task(_perform_update) + + _update_status = { + "status": "downloading", + "progress": 10, + "message": "Starting update...", + "error": None, + } + + return { + "success": True, + "message": "Update started", + "status": _update_status, + } + + +@router.get("/status") +async def get_update_status(): + """Get current update status.""" + return _update_status diff --git a/backend/app/core/config.py b/backend/app/core/config.py index 3837532b6..276af5674 100644 --- a/backend/app/core/config.py +++ b/backend/app/core/config.py @@ -1,6 +1,10 @@ from pathlib import Path from pydantic_settings import BaseSettings +# Application version - single source of truth +APP_VERSION = "0.1.4" +GITHUB_REPO = "maziggy/bambusy" + class Settings(BaseSettings): app_name: str = "BambuTrack" diff --git a/backend/app/main.py b/backend/app/main.py index 5f13a34d8..ea8dc5f37 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -9,7 +9,7 @@ from logging.handlers import RotatingFileHandler from fastapi import FastAPI # Import settings first for logging configuration -from backend.app.core.config import settings as app_settings +from backend.app.core.config import settings as app_settings, APP_VERSION # Configure logging based on settings # DEBUG=true -> DEBUG level, else use LOG_LEVEL setting @@ -54,7 +54,7 @@ from fastapi.responses import FileResponse from backend.app.core.database import init_db, async_session from sqlalchemy import select, or_ from backend.app.core.websocket import ws_manager -from backend.app.api.routes import printers, archives, websocket, filaments, cloud, smart_plugs, print_queue, kprofiles, notifications, spoolman +from backend.app.api.routes import printers, archives, websocket, filaments, cloud, smart_plugs, print_queue, kprofiles, notifications, spoolman, updates from backend.app.api.routes import settings as settings_routes from backend.app.services.notification_service import notification_service from backend.app.services.printer_manager import ( @@ -963,7 +963,7 @@ async def lifespan(app: FastAPI): app = FastAPI( title=app_settings.app_name, description="Archive and manage Bambu Lab 3MF files", - version="0.1.2", + version=APP_VERSION, lifespan=lifespan, ) @@ -978,6 +978,7 @@ app.include_router(print_queue.router, prefix=app_settings.api_prefix) app.include_router(kprofiles.router, prefix=app_settings.api_prefix) app.include_router(notifications.router, prefix=app_settings.api_prefix) app.include_router(spoolman.router, prefix=app_settings.api_prefix) +app.include_router(updates.router, prefix=app_settings.api_prefix) app.include_router(websocket.router, prefix=app_settings.api_prefix) diff --git a/backend/app/schemas/settings.py b/backend/app/schemas/settings.py index eed6d53e0..f97960a03 100644 --- a/backend/app/schemas/settings.py +++ b/backend/app/schemas/settings.py @@ -17,6 +17,9 @@ class AppSettings(BaseModel): spoolman_url: str = Field(default="", description="Spoolman server URL (e.g., http://localhost:7912)") spoolman_sync_mode: str = Field(default="auto", description="Sync mode: 'auto' syncs immediately, 'manual' requires button press") + # Updates + check_updates: bool = Field(default=True, description="Automatically check for updates on startup") + class AppSettingsUpdate(BaseModel): """Schema for updating settings (all fields optional).""" @@ -31,3 +34,4 @@ class AppSettingsUpdate(BaseModel): spoolman_enabled: bool | None = None spoolman_url: str | None = None spoolman_sync_mode: str | None = None + check_updates: bool | None = None diff --git a/frontend/src/api/client.ts b/frontend/src/api/client.ts index 04681f7cd..f3db4d439 100644 --- a/frontend/src/api/client.ts +++ b/frontend/src/api/client.ts @@ -153,6 +153,7 @@ export interface AppSettings { currency: string; energy_cost_per_kwh: number; energy_tracking_mode: 'print' | 'total'; + check_updates: boolean; } export type AppSettingsUpdate = Partial; @@ -492,6 +493,31 @@ export interface SpoolmanSyncResult { errors: string[]; } +// Update types +export interface VersionInfo { + version: string; + repo: string; +} + +export interface UpdateCheckResult { + update_available: boolean; + current_version: string; + latest_version: string | null; + release_name?: string; + release_notes?: string; + release_url?: string; + published_at?: string; + error?: string; + message?: string; +} + +export interface UpdateStatus { + status: 'idle' | 'checking' | 'downloading' | 'installing' | 'complete' | 'error'; + progress: number; + message: string; + error: string | null; +} + // API functions export const api = { // Printers @@ -906,4 +932,13 @@ export const api = { request<{ spools: unknown[] }>('/spoolman/spools'), getSpoolmanFilaments: () => request<{ filaments: unknown[] }>('/spoolman/filaments'), + + // Updates + getVersion: () => request('/updates/version'), + checkForUpdates: () => request('/updates/check'), + applyUpdate: () => + request<{ success: boolean; message: string; status: UpdateStatus }>('/updates/apply', { + method: 'POST', + }), + getUpdateStatus: () => request('/updates/status'), }; diff --git a/frontend/src/components/Layout.tsx b/frontend/src/components/Layout.tsx index 4f223801f..7dee7ee6e 100644 --- a/frontend/src/components/Layout.tsx +++ b/frontend/src/components/Layout.tsx @@ -1,8 +1,10 @@ import { useState, useEffect, useCallback, useRef } from 'react'; import { NavLink, Outlet, useNavigate, useLocation } from 'react-router-dom'; -import { Printer, Archive, Calendar, BarChart3, Cloud, Settings, Sun, Moon, ChevronLeft, ChevronRight, Keyboard, Github, GripVertical, type LucideIcon } from 'lucide-react'; +import { Printer, Archive, Calendar, BarChart3, Cloud, Settings, Sun, Moon, ChevronLeft, ChevronRight, Keyboard, Github, GripVertical, ArrowUpCircle, type LucideIcon } from 'lucide-react'; import { useTheme } from '../contexts/ThemeContext'; import { KeyboardShortcutsModal } from './KeyboardShortcutsModal'; +import { useQuery } from '@tanstack/react-query'; +import { api } from '../api/client'; interface NavItem { id: string; @@ -76,6 +78,27 @@ export function Layout() { const [dragOverIndex, setDragOverIndex] = useState(null); const hasRedirected = useRef(false); + // Check for updates + const { data: versionInfo } = useQuery({ + queryKey: ['version'], + queryFn: api.getVersion, + staleTime: Infinity, + }); + + const { data: settings } = useQuery({ + queryKey: ['settings'], + queryFn: api.getSettings, + staleTime: 5 * 60 * 1000, // 5 minutes + }); + + const { data: updateCheck } = useQuery({ + queryKey: ['updateCheck'], + queryFn: api.checkForUpdates, + enabled: settings?.check_updates !== false, + staleTime: 60 * 60 * 1000, // 1 hour + refetchInterval: 60 * 60 * 1000, // Check every hour + }); + // Redirect to default view on initial load useEffect(() => { if (!hasRedirected.current && location.pathname === '/') { @@ -239,7 +262,19 @@ export function Layout() {
{sidebarExpanded ? (
- v0.1.4 +
+ v{versionInfo?.version || '...'} + {updateCheck?.update_available && ( + + )} +
) : (
+ {updateCheck?.update_available && ( + + )} { + const status = query.state.data as UpdateStatus | undefined; + // Poll while update is in progress + if (status?.status === 'downloading' || status?.status === 'installing') { + return 1000; + } + return false; + }, + }); + + const applyUpdateMutation = useMutation({ + mutationFn: api.applyUpdate, + onSuccess: () => { + refetchUpdateStatus(); + }, + }); + // Sync local state when settings load useEffect(() => { if (settings && !localSettings) { @@ -70,7 +101,8 @@ export function SettingsPage() { settings.default_filament_cost !== localSettings.default_filament_cost || settings.currency !== localSettings.currency || settings.energy_cost_per_kwh !== localSettings.energy_cost_per_kwh || - settings.energy_tracking_mode !== localSettings.energy_tracking_mode; + settings.energy_tracking_mode !== localSettings.energy_tracking_mode || + settings.check_updates !== localSettings.check_updates; setHasChanges(changed); } }, [settings, localSettings]); @@ -326,29 +358,137 @@ export function SettingsPage() {
+
+ {/* Second Column - Spoolman & Updates */} +
-

About

+

Updates

- -
-

Bambusy v0.1.2

-

- Archive and manage your Bambu Lab 3MF files -

-

- Connect to printers via LAN mode (developer mode required) -

+ +
+
+

Check for updates

+

+ Automatically check for new versions on startup +

+
+ +
+ +
+
+
+

Current version

+

v{versionInfo?.version || '...'}

+
+ +
+ + {updateCheck?.update_available ? ( +
+ + + {updateStatus?.status === 'downloading' || updateStatus?.status === 'installing' ? ( +
+
+ + {updateStatus.message} +
+
+
+
+
+ ) : updateStatus?.status === 'complete' ? ( +
+ {updateStatus.message} +
+ ) : updateStatus?.status === 'error' ? ( +
+ {updateStatus.error || updateStatus.message} +
+ ) : ( + + )} +
+ ) : updateCheck?.error ? ( +
+ Failed to check for updates: {updateCheck.error} +
+ ) : updateCheck && !updateCheck.update_available ? ( +

+ You're running the latest version +

+ ) : null}
- {/* Middle Column - Smart Plugs */} -
+ {/* Third Column - Smart Plugs */} +
@@ -400,8 +540,8 @@ export function SettingsPage() {
- {/* Right Column - Notifications */} -
+ {/* Fourth Column - Notifications */} +
diff --git a/static/assets/index-CLNqfrMK.css b/static/assets/index-CLNqfrMK.css new file mode 100644 index 000000000..98b31d090 --- /dev/null +++ b/static/assets/index-CLNqfrMK.css @@ -0,0 +1 @@ +@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@layer properties,theme,base,components,utilities;@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-700:oklch(37.3% .034 259.733);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-widest:.1em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bambu-green:#00ae42;--color-bambu-green-light:#00c64d;--color-bambu-green-dark:#009438;--color-bambu-dark:var(--bg-primary);--color-bambu-dark-secondary:var(--bg-secondary);--color-bambu-dark-tertiary:var(--bg-tertiary);--color-bambu-gray:var(--text-muted);--color-bambu-gray-light:var(--text-secondary);--color-bambu-gray-dark:var(--text-tertiary)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.-top-1{top:calc(var(--spacing)*-1)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-\[2px\]{top:2px}.top-full{top:100%}.-right-1{right:calc(var(--spacing)*-1)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.right-12{right:calc(var(--spacing)*12)}.bottom-1{bottom:calc(var(--spacing)*1)}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-6{bottom:calc(var(--spacing)*6)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-2\.5{left:calc(var(--spacing)*2.5)}.left-3{left:calc(var(--spacing)*3)}.left-4{left:calc(var(--spacing)*4)}.left-12{left:calc(var(--spacing)*12)}.left-\[2px\]{left:2px}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-60,.z-\[60\]{z-index:60}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-4{grid-column:span 4/span 4}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-8{margin-block:calc(var(--spacing)*8)}.-mt-2{margin-top:calc(var(--spacing)*-2)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-3{margin-right:calc(var(--spacing)*3)}.mr-4{margin-right:calc(var(--spacing)*4)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.-ml-1{margin-left:calc(var(--spacing)*-1)}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-8{margin-left:calc(var(--spacing)*8)}.ml-16{margin-left:calc(var(--spacing)*16)}.ml-64{margin-left:calc(var(--spacing)*64)}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.h-1{height:calc(var(--spacing)*1)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-28{height:calc(var(--spacing)*28)}.h-64{height:calc(var(--spacing)*64)}.h-\[80vh\]{height:80vh}.h-\[160px\]{height:160px}.h-full{height:100%}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-\[48px\]{min-height:48px}.min-h-\[120px\]{min-height:120px}.min-h-\[400px\]{min-height:400px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-11{width:calc(var(--spacing)*11)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-28{width:calc(var(--spacing)*28)}.w-32{width:calc(var(--spacing)*32)}.w-36{width:calc(var(--spacing)*36)}.w-40{width:calc(var(--spacing)*40)}.w-48{width:calc(var(--spacing)*48)}.w-64{width:calc(var(--spacing)*64)}.w-80{width:calc(var(--spacing)*80)}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[90vw\]{max-width:90vw}.max-w-\[100px\]{max-width:100px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-48{min-width:calc(var(--spacing)*48)}.min-w-\[80px\]{min-width:80px}.min-w-\[160px\]{min-width:160px}.min-w-\[200px\]{min-width:200px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing)*4);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-bambu-dark-tertiary>:not(:last-child)){border-color:var(--color-bambu-dark-tertiary)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-bambu-dark-tertiary{border-color:var(--color-bambu-dark-tertiary)}.border-bambu-green{border-color:var(--color-bambu-green)}.border-bambu-green\/30{border-color:#00ae424d}@supports (color:color-mix(in lab,red,red)){.border-bambu-green\/30{border-color:color-mix(in oklab,var(--color-bambu-green)30%,transparent)}}.border-bambu-green\/50{border-color:#00ae4280}@supports (color:color-mix(in lab,red,red)){.border-bambu-green\/50{border-color:color-mix(in oklab,var(--color-bambu-green)50%,transparent)}}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/30{border-color:color-mix(in oklab,var(--color-blue-500)30%,transparent)}}.border-gray-700{border-color:var(--color-gray-700)}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab,red,red)){.border-green-500\/30{border-color:color-mix(in oklab,var(--color-green-500)30%,transparent)}}.border-green-500\/50{border-color:#00c75880}@supports (color:color-mix(in lab,red,red)){.border-green-500\/50{border-color:color-mix(in oklab,var(--color-green-500)50%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.border-red-500\/50{border-color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.border-red-500\/50{border-color:color-mix(in oklab,var(--color-red-500)50%,transparent)}}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-yellow-500{border-color:var(--color-yellow-500)}.border-yellow-500\/30{border-color:#edb2004d}@supports (color:color-mix(in lab,red,red)){.border-yellow-500\/30{border-color:color-mix(in oklab,var(--color-yellow-500)30%,transparent)}}.border-yellow-500\/50{border-color:#edb20080}@supports (color:color-mix(in lab,red,red)){.border-yellow-500\/50{border-color:color-mix(in oklab,var(--color-yellow-500)50%,transparent)}}.border-t-transparent{border-top-color:#0000}.bg-amber-500\/20{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/20{background-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.bg-bambu-dark{background-color:var(--color-bambu-dark)}.bg-bambu-dark-secondary{background-color:var(--color-bambu-dark-secondary)}.bg-bambu-dark-tertiary{background-color:var(--color-bambu-dark-tertiary)}.bg-bambu-dark\/30{background-color:var(--color-bambu-dark)}@supports (color:color-mix(in lab,red,red)){.bg-bambu-dark\/30{background-color:color-mix(in oklab,var(--color-bambu-dark)30%,transparent)}}.bg-bambu-dark\/50{background-color:var(--color-bambu-dark)}@supports (color:color-mix(in lab,red,red)){.bg-bambu-dark\/50{background-color:color-mix(in oklab,var(--color-bambu-dark)50%,transparent)}}.bg-bambu-dark\/80{background-color:var(--color-bambu-dark)}@supports (color:color-mix(in lab,red,red)){.bg-bambu-dark\/80{background-color:color-mix(in oklab,var(--color-bambu-dark)80%,transparent)}}.bg-bambu-dark\/90{background-color:var(--color-bambu-dark)}@supports (color:color-mix(in lab,red,red)){.bg-bambu-dark\/90{background-color:color-mix(in oklab,var(--color-bambu-dark)90%,transparent)}}.bg-bambu-gray\/20{background-color:var(--color-bambu-gray)}@supports (color:color-mix(in lab,red,red)){.bg-bambu-gray\/20{background-color:color-mix(in oklab,var(--color-bambu-gray)20%,transparent)}}.bg-bambu-green{background-color:var(--color-bambu-green)}.bg-bambu-green\/10{background-color:#00ae421a}@supports (color:color-mix(in lab,red,red)){.bg-bambu-green\/10{background-color:color-mix(in oklab,var(--color-bambu-green)10%,transparent)}}.bg-bambu-green\/20{background-color:#00ae4233}@supports (color:color-mix(in lab,red,red)){.bg-bambu-green\/20{background-color:color-mix(in oklab,var(--color-bambu-green)20%,transparent)}}.bg-bambu-green\/30{background-color:#00ae424d}@supports (color:color-mix(in lab,red,red)){.bg-bambu-green\/30{background-color:color-mix(in oklab,var(--color-bambu-green)30%,transparent)}}.bg-bambu-green\/50{background-color:#00ae4280}@supports (color:color-mix(in lab,red,red)){.bg-bambu-green\/50{background-color:color-mix(in oklab,var(--color-bambu-green)50%,transparent)}}.bg-bambu-green\/75{background-color:#00ae42bf}@supports (color:color-mix(in lab,red,red)){.bg-bambu-green\/75{background-color:color-mix(in oklab,var(--color-bambu-green)75%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black)70%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-black\/90{background-color:#000000e6}@supports (color:color-mix(in lab,red,red)){.bg-black\/90{background-color:color-mix(in oklab,var(--color-black)90%,transparent)}}.bg-blue-400\/10{background-color:#54a2ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-400\/10{background-color:color-mix(in oklab,var(--color-blue-400)10%,transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-blue-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/20{background-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.bg-gray-400\/10{background-color:#99a1af1a}@supports (color:color-mix(in lab,red,red)){.bg-gray-400\/10{background-color:color-mix(in oklab,var(--color-gray-400)10%,transparent)}}.bg-gray-500\/20{background-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.bg-gray-500\/20{background-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.bg-green-400{background-color:var(--color-green-400)}.bg-green-400\/10{background-color:#05df721a}@supports (color:color-mix(in lab,red,red)){.bg-green-400\/10{background-color:color-mix(in oklab,var(--color-green-400)10%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.bg-green-500\/20{background-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/20{background-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.bg-orange-400\/10{background-color:#ff8b1a1a}@supports (color:color-mix(in lab,red,red)){.bg-orange-400\/10{background-color:color-mix(in oklab,var(--color-orange-400)10%,transparent)}}.bg-orange-500\/20{background-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/20{background-color:color-mix(in oklab,var(--color-orange-500)20%,transparent)}}.bg-purple-500\/20{background-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/20{background-color:color-mix(in oklab,var(--color-purple-500)20%,transparent)}}.bg-purple-500\/80{background-color:#ac4bffcc}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/80{background-color:color-mix(in oklab,var(--color-purple-500)80%,transparent)}}.bg-red-400{background-color:var(--color-red-400)}.bg-red-400\/10{background-color:#ff65681a}@supports (color:color-mix(in lab,red,red)){.bg-red-400\/10{background-color:color-mix(in oklab,var(--color-red-400)10%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-red-500\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/15{background-color:color-mix(in oklab,var(--color-red-500)15%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.bg-red-500\/30{background-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/30{background-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.bg-red-500\/80{background-color:#fb2c36cc}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/80{background-color:color-mix(in oklab,var(--color-red-500)80%,transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-400{background-color:var(--color-yellow-400)}.bg-yellow-400\/10{background-color:#fac8001a}@supports (color:color-mix(in lab,red,red)){.bg-yellow-400\/10{background-color:color-mix(in oklab,var(--color-yellow-400)10%,transparent)}}.bg-yellow-400\/20{background-color:#fac80033}@supports (color:color-mix(in lab,red,red)){.bg-yellow-400\/20{background-color:color-mix(in oklab,var(--color-yellow-400)20%,transparent)}}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-yellow-500\/10{background-color:#edb2001a}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/10{background-color:color-mix(in oklab,var(--color-yellow-500)10%,transparent)}}.bg-yellow-500\/20{background-color:#edb20033}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/20{background-color:color-mix(in oklab,var(--color-yellow-500)20%,transparent)}}.fill-yellow-400{fill:var(--color-yellow-400)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-left{object-position:left}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-12{padding:calc(var(--spacing)*12)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-8{padding-left:calc(var(--spacing)*8)}.pl-10{padding-left:calc(var(--spacing)*10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-400{color:var(--color-amber-400)}.text-bambu-dark-tertiary{color:var(--color-bambu-dark-tertiary)}.text-bambu-gray{color:var(--color-bambu-gray)}.text-bambu-gray-light{color:var(--color-bambu-gray-light)}.text-bambu-gray\/30{color:var(--color-bambu-gray)}@supports (color:color-mix(in lab,red,red)){.text-bambu-gray\/30{color:color-mix(in oklab,var(--color-bambu-gray)30%,transparent)}}.text-bambu-gray\/50{color:var(--color-bambu-gray)}@supports (color:color-mix(in lab,red,red)){.text-bambu-gray\/50{color:color-mix(in oklab,var(--color-bambu-gray)50%,transparent)}}.text-bambu-green{color:var(--color-bambu-green)}.text-blue-400{color:var(--color-blue-400)}.text-gray-400{color:var(--color-gray-400)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-orange-400{color:var(--color-orange-400)}.text-purple-400{color:var(--color-purple-400)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-white{color:var(--color-white)}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-500{color:var(--color-yellow-500)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.placeholder-bambu-gray::placeholder,.placeholder-bambu-gray\/50::placeholder{color:var(--color-bambu-gray)}@supports (color:color-mix(in lab,red,red)){.placeholder-bambu-gray\/50::placeholder{color:color-mix(in oklab,var(--color-bambu-gray)50%,transparent)}}.accent-bambu-green{accent-color:var(--color-bambu-green)}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-bambu-green{--tw-ring-color:var(--color-bambu-green)}.ring-white{--tw-ring-color:var(--color-white)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}@media(hover:hover){.group-hover\:opacity-50:is(:where(.group):hover *){opacity:.5}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.peer-checked\:bg-bambu-green:is(:where(.peer):checked~*){background-color:var(--color-bambu-green)}.peer-focus\:outline-none:is(:where(.peer):focus~*){--tw-outline-style:none;outline-style:none}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-0:before{content:var(--tw-content);top:calc(var(--spacing)*0)}.before\:right-0:before{content:var(--tw-content);right:calc(var(--spacing)*0)}.before\:left-0:before{content:var(--tw-content);left:calc(var(--spacing)*0)}.before\:h-0\.5:before{content:var(--tw-content);height:calc(var(--spacing)*.5)}.before\:bg-bambu-green:before{content:var(--tw-content);background-color:var(--color-bambu-green)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:top-\[2px\]:after{content:var(--tw-content);top:2px}.after\:left-\[2px\]:after{content:var(--tw-content);left:2px}.after\:h-4:after{content:var(--tw-content);height:calc(var(--spacing)*4)}.after\:h-5:after{content:var(--tw-content);height:calc(var(--spacing)*5)}.after\:w-4:after{content:var(--tw-content);width:calc(var(--spacing)*4)}.after\:w-5:after{content:var(--tw-content);width:calc(var(--spacing)*5)}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:bg-white:after{content:var(--tw-content);background-color:var(--color-white)}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.peer-checked\:after\:translate-x-full:is(:where(.peer):checked~*):after{content:var(--tw-content);--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.peer-checked\:after\:border-white:is(:where(.peer):checked~*):after{content:var(--tw-content);border-color:var(--color-white)}@media(hover:hover){.hover\:border-bambu-gray:hover{border-color:var(--color-bambu-gray)}.hover\:border-bambu-green:hover{border-color:var(--color-bambu-green)}.hover\:border-white\/40:hover{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/40:hover{border-color:color-mix(in oklab,var(--color-white)40%,transparent)}}.hover\:bg-bambu-dark:hover{background-color:var(--color-bambu-dark)}.hover\:bg-bambu-dark-secondary:hover{background-color:var(--color-bambu-dark-secondary)}.hover\:bg-bambu-dark-tertiary:hover,.hover\:bg-bambu-dark-tertiary\/30:hover{background-color:var(--color-bambu-dark-tertiary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bambu-dark-tertiary\/30:hover{background-color:color-mix(in oklab,var(--color-bambu-dark-tertiary)30%,transparent)}}.hover\:bg-bambu-dark-tertiary\/50:hover{background-color:var(--color-bambu-dark-tertiary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bambu-dark-tertiary\/50:hover{background-color:color-mix(in oklab,var(--color-bambu-dark-tertiary)50%,transparent)}}.hover\:bg-bambu-dark-tertiary\/70:hover{background-color:var(--color-bambu-dark-tertiary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bambu-dark-tertiary\/70:hover{background-color:color-mix(in oklab,var(--color-bambu-dark-tertiary)70%,transparent)}}.hover\:bg-bambu-dark-tertiary\/80:hover{background-color:var(--color-bambu-dark-tertiary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bambu-dark-tertiary\/80:hover{background-color:color-mix(in oklab,var(--color-bambu-dark-tertiary)80%,transparent)}}.hover\:bg-bambu-gray-dark:hover{background-color:var(--color-bambu-gray-dark)}.hover\:bg-bambu-green-dark:hover{background-color:var(--color-bambu-green-dark)}.hover\:bg-bambu-green-light:hover{background-color:var(--color-bambu-green-light)}.hover\:bg-bambu-green\/20:hover{background-color:#00ae4233}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bambu-green\/20:hover{background-color:color-mix(in oklab,var(--color-bambu-green)20%,transparent)}}.hover\:bg-black\/70:hover{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/70:hover{background-color:color-mix(in oklab,var(--color-black)70%,transparent)}}.hover\:bg-black\/80:hover{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/80:hover{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\:bg-red-400\/10:hover{background-color:#ff65681a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-400\/10:hover{background-color:color-mix(in oklab,var(--color-red-400)10%,transparent)}}.hover\:bg-red-500\/10:hover{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/10:hover{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-yellow-600:hover{background-color:var(--color-yellow-600)}.hover\:text-bambu-green:hover{color:var(--color-bambu-green)}.hover\:text-bambu-green\/80:hover{color:#00ae42cc}@supports (color:color-mix(in lab,red,red)){.hover\:text-bambu-green\/80:hover{color:color-mix(in oklab,var(--color-bambu-green)80%,transparent)}}.hover\:text-red-300:hover{color:var(--color-red-300)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-80:hover{opacity:.8}}.focus\:border-bambu-green:focus{border-color:var(--color-bambu-green)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-bambu-gray:focus{--tw-ring-color:var(--color-bambu-gray)}.focus\:ring-bambu-green:focus{--tw-ring-color:var(--color-bambu-green)}.focus\:ring-red-500:focus{--tw-ring-color:var(--color-red-500)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:ring-offset-bambu-dark:focus{--tw-ring-offset-color:var(--color-bambu-dark)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:inline{display:inline}.sm\:h-4{height:calc(var(--spacing)*4)}.sm\:w-4{width:calc(var(--spacing)*4)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:p-1\.5{padding:calc(var(--spacing)*1.5)}}@media(min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(min-width:64rem){.lg\:w-80{width:calc(var(--spacing)*80)}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}}@media(min-width:80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\:\:-webkit-slider-thumb\]\:h-3::-webkit-slider-thumb{height:calc(var(--spacing)*3)}.\[\&\:\:-webkit-slider-thumb\]\:w-3::-webkit-slider-thumb{width:calc(var(--spacing)*3)}.\[\&\:\:-webkit-slider-thumb\]\:cursor-pointer::-webkit-slider-thumb{cursor:pointer}.\[\&\:\:-webkit-slider-thumb\]\:appearance-none::-webkit-slider-thumb{appearance:none}.\[\&\:\:-webkit-slider-thumb\]\:rounded-full::-webkit-slider-thumb{border-radius:3.40282e38px}.\[\&\:\:-webkit-slider-thumb\]\:bg-bambu-green::-webkit-slider-thumb{background-color:var(--color-bambu-green)}}:root{--bg-primary:#f5f5f5;--bg-secondary:#fff;--bg-tertiary:#e5e5e5;--text-primary:#1a1a1a;--text-secondary:#4a4a4a;--text-muted:#6b6b6b;--text-tertiary:gray;--border-color:#d4d4d4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,sans-serif;font-weight:400;line-height:1.5}.dark{--bg-primary:#1a1a1a;--bg-secondary:#2d2d2d;--bg-tertiary:#3d3d3d;--text-primary:#fff;--text-secondary:#a0a0a0;--text-muted:gray;--text-tertiary:#4a4a4a;--border-color:#3d3d3d}body{background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;margin:0;transition:background-color .2s,color .2s}#root{min-height:100vh}.text-white{color:var(--text-primary)}.bg-bambu-dark,.bg-bambu-dark-secondary,.bg-bambu-dark-tertiary,.border-bambu-dark-tertiary{transition:background-color .2s,border-color .2s}@keyframes slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.animate-slide-in{animation:.2s ease-out slide-in}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-content:""}}} diff --git a/static/assets/index-CfyzT_2B.css b/static/assets/index-CfyzT_2B.css deleted file mode 100644 index f958fa123..000000000 --- a/static/assets/index-CfyzT_2B.css +++ /dev/null @@ -1 +0,0 @@ -@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@layer properties,theme,base,components,utilities;@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-700:oklch(37.3% .034 259.733);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-widest:.1em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bambu-green:#00ae42;--color-bambu-green-light:#00c64d;--color-bambu-green-dark:#009438;--color-bambu-dark:var(--bg-primary);--color-bambu-dark-secondary:var(--bg-secondary);--color-bambu-dark-tertiary:var(--bg-tertiary);--color-bambu-gray:var(--text-muted);--color-bambu-gray-light:var(--text-secondary);--color-bambu-gray-dark:var(--text-tertiary)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.-top-1{top:calc(var(--spacing)*-1)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-\[2px\]{top:2px}.top-full{top:100%}.-right-1{right:calc(var(--spacing)*-1)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.right-12{right:calc(var(--spacing)*12)}.bottom-1{bottom:calc(var(--spacing)*1)}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-6{bottom:calc(var(--spacing)*6)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-2\.5{left:calc(var(--spacing)*2.5)}.left-3{left:calc(var(--spacing)*3)}.left-4{left:calc(var(--spacing)*4)}.left-12{left:calc(var(--spacing)*12)}.left-\[2px\]{left:2px}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-60,.z-\[60\]{z-index:60}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-4{grid-column:span 4/span 4}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-8{margin-block:calc(var(--spacing)*8)}.-mt-2{margin-top:calc(var(--spacing)*-2)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-3{margin-right:calc(var(--spacing)*3)}.mr-4{margin-right:calc(var(--spacing)*4)}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.-ml-1{margin-left:calc(var(--spacing)*-1)}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-8{margin-left:calc(var(--spacing)*8)}.ml-16{margin-left:calc(var(--spacing)*16)}.ml-64{margin-left:calc(var(--spacing)*64)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.h-1{height:calc(var(--spacing)*1)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-28{height:calc(var(--spacing)*28)}.h-64{height:calc(var(--spacing)*64)}.h-\[80vh\]{height:80vh}.h-\[160px\]{height:160px}.h-full{height:100%}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-\[48px\]{min-height:48px}.min-h-\[120px\]{min-height:120px}.min-h-\[400px\]{min-height:400px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-11{width:calc(var(--spacing)*11)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-28{width:calc(var(--spacing)*28)}.w-32{width:calc(var(--spacing)*32)}.w-36{width:calc(var(--spacing)*36)}.w-40{width:calc(var(--spacing)*40)}.w-48{width:calc(var(--spacing)*48)}.w-64{width:calc(var(--spacing)*64)}.w-96{width:calc(var(--spacing)*96)}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[90vw\]{max-width:90vw}.max-w-\[100px\]{max-width:100px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-48{min-width:calc(var(--spacing)*48)}.min-w-\[80px\]{min-width:80px}.min-w-\[160px\]{min-width:160px}.min-w-\[200px\]{min-width:200px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing)*4);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-bambu-dark-tertiary>:not(:last-child)){border-color:var(--color-bambu-dark-tertiary)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-bambu-dark-tertiary{border-color:var(--color-bambu-dark-tertiary)}.border-bambu-green{border-color:var(--color-bambu-green)}.border-bambu-green\/50{border-color:#00ae4280}@supports (color:color-mix(in lab,red,red)){.border-bambu-green\/50{border-color:color-mix(in oklab,var(--color-bambu-green)50%,transparent)}}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/30{border-color:color-mix(in oklab,var(--color-blue-500)30%,transparent)}}.border-gray-700{border-color:var(--color-gray-700)}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab,red,red)){.border-green-500\/30{border-color:color-mix(in oklab,var(--color-green-500)30%,transparent)}}.border-green-500\/50{border-color:#00c75880}@supports (color:color-mix(in lab,red,red)){.border-green-500\/50{border-color:color-mix(in oklab,var(--color-green-500)50%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.border-red-500\/50{border-color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.border-red-500\/50{border-color:color-mix(in oklab,var(--color-red-500)50%,transparent)}}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-yellow-500{border-color:var(--color-yellow-500)}.border-yellow-500\/30{border-color:#edb2004d}@supports (color:color-mix(in lab,red,red)){.border-yellow-500\/30{border-color:color-mix(in oklab,var(--color-yellow-500)30%,transparent)}}.border-yellow-500\/50{border-color:#edb20080}@supports (color:color-mix(in lab,red,red)){.border-yellow-500\/50{border-color:color-mix(in oklab,var(--color-yellow-500)50%,transparent)}}.border-t-transparent{border-top-color:#0000}.bg-amber-500\/20{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/20{background-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.bg-bambu-dark{background-color:var(--color-bambu-dark)}.bg-bambu-dark-secondary{background-color:var(--color-bambu-dark-secondary)}.bg-bambu-dark-tertiary{background-color:var(--color-bambu-dark-tertiary)}.bg-bambu-dark\/30{background-color:var(--color-bambu-dark)}@supports (color:color-mix(in lab,red,red)){.bg-bambu-dark\/30{background-color:color-mix(in oklab,var(--color-bambu-dark)30%,transparent)}}.bg-bambu-dark\/50{background-color:var(--color-bambu-dark)}@supports (color:color-mix(in lab,red,red)){.bg-bambu-dark\/50{background-color:color-mix(in oklab,var(--color-bambu-dark)50%,transparent)}}.bg-bambu-dark\/80{background-color:var(--color-bambu-dark)}@supports (color:color-mix(in lab,red,red)){.bg-bambu-dark\/80{background-color:color-mix(in oklab,var(--color-bambu-dark)80%,transparent)}}.bg-bambu-dark\/90{background-color:var(--color-bambu-dark)}@supports (color:color-mix(in lab,red,red)){.bg-bambu-dark\/90{background-color:color-mix(in oklab,var(--color-bambu-dark)90%,transparent)}}.bg-bambu-gray\/20{background-color:var(--color-bambu-gray)}@supports (color:color-mix(in lab,red,red)){.bg-bambu-gray\/20{background-color:color-mix(in oklab,var(--color-bambu-gray)20%,transparent)}}.bg-bambu-green{background-color:var(--color-bambu-green)}.bg-bambu-green\/10{background-color:#00ae421a}@supports (color:color-mix(in lab,red,red)){.bg-bambu-green\/10{background-color:color-mix(in oklab,var(--color-bambu-green)10%,transparent)}}.bg-bambu-green\/20{background-color:#00ae4233}@supports (color:color-mix(in lab,red,red)){.bg-bambu-green\/20{background-color:color-mix(in oklab,var(--color-bambu-green)20%,transparent)}}.bg-bambu-green\/30{background-color:#00ae424d}@supports (color:color-mix(in lab,red,red)){.bg-bambu-green\/30{background-color:color-mix(in oklab,var(--color-bambu-green)30%,transparent)}}.bg-bambu-green\/50{background-color:#00ae4280}@supports (color:color-mix(in lab,red,red)){.bg-bambu-green\/50{background-color:color-mix(in oklab,var(--color-bambu-green)50%,transparent)}}.bg-bambu-green\/75{background-color:#00ae42bf}@supports (color:color-mix(in lab,red,red)){.bg-bambu-green\/75{background-color:color-mix(in oklab,var(--color-bambu-green)75%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black)70%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-black\/90{background-color:#000000e6}@supports (color:color-mix(in lab,red,red)){.bg-black\/90{background-color:color-mix(in oklab,var(--color-black)90%,transparent)}}.bg-blue-400\/10{background-color:#54a2ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-400\/10{background-color:color-mix(in oklab,var(--color-blue-400)10%,transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-blue-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/20{background-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.bg-gray-400\/10{background-color:#99a1af1a}@supports (color:color-mix(in lab,red,red)){.bg-gray-400\/10{background-color:color-mix(in oklab,var(--color-gray-400)10%,transparent)}}.bg-gray-500\/20{background-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.bg-gray-500\/20{background-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.bg-green-400{background-color:var(--color-green-400)}.bg-green-400\/10{background-color:#05df721a}@supports (color:color-mix(in lab,red,red)){.bg-green-400\/10{background-color:color-mix(in oklab,var(--color-green-400)10%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.bg-green-500\/20{background-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/20{background-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.bg-orange-400\/10{background-color:#ff8b1a1a}@supports (color:color-mix(in lab,red,red)){.bg-orange-400\/10{background-color:color-mix(in oklab,var(--color-orange-400)10%,transparent)}}.bg-orange-500\/20{background-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/20{background-color:color-mix(in oklab,var(--color-orange-500)20%,transparent)}}.bg-purple-500\/20{background-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/20{background-color:color-mix(in oklab,var(--color-purple-500)20%,transparent)}}.bg-purple-500\/80{background-color:#ac4bffcc}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/80{background-color:color-mix(in oklab,var(--color-purple-500)80%,transparent)}}.bg-red-400{background-color:var(--color-red-400)}.bg-red-400\/10{background-color:#ff65681a}@supports (color:color-mix(in lab,red,red)){.bg-red-400\/10{background-color:color-mix(in oklab,var(--color-red-400)10%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-red-500\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/15{background-color:color-mix(in oklab,var(--color-red-500)15%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.bg-red-500\/30{background-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/30{background-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.bg-red-500\/80{background-color:#fb2c36cc}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/80{background-color:color-mix(in oklab,var(--color-red-500)80%,transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-400{background-color:var(--color-yellow-400)}.bg-yellow-400\/10{background-color:#fac8001a}@supports (color:color-mix(in lab,red,red)){.bg-yellow-400\/10{background-color:color-mix(in oklab,var(--color-yellow-400)10%,transparent)}}.bg-yellow-400\/20{background-color:#fac80033}@supports (color:color-mix(in lab,red,red)){.bg-yellow-400\/20{background-color:color-mix(in oklab,var(--color-yellow-400)20%,transparent)}}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-yellow-500\/10{background-color:#edb2001a}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/10{background-color:color-mix(in oklab,var(--color-yellow-500)10%,transparent)}}.bg-yellow-500\/20{background-color:#edb20033}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/20{background-color:color-mix(in oklab,var(--color-yellow-500)20%,transparent)}}.fill-yellow-400{fill:var(--color-yellow-400)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-left{object-position:left}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-12{padding:calc(var(--spacing)*12)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-8{padding-right:calc(var(--spacing)*8)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-8{padding-left:calc(var(--spacing)*8)}.pl-10{padding-left:calc(var(--spacing)*10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-400{color:var(--color-amber-400)}.text-bambu-dark-tertiary{color:var(--color-bambu-dark-tertiary)}.text-bambu-gray{color:var(--color-bambu-gray)}.text-bambu-gray-light{color:var(--color-bambu-gray-light)}.text-bambu-gray\/30{color:var(--color-bambu-gray)}@supports (color:color-mix(in lab,red,red)){.text-bambu-gray\/30{color:color-mix(in oklab,var(--color-bambu-gray)30%,transparent)}}.text-bambu-gray\/50{color:var(--color-bambu-gray)}@supports (color:color-mix(in lab,red,red)){.text-bambu-gray\/50{color:color-mix(in oklab,var(--color-bambu-gray)50%,transparent)}}.text-bambu-green{color:var(--color-bambu-green)}.text-blue-400{color:var(--color-blue-400)}.text-gray-400{color:var(--color-gray-400)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-orange-400{color:var(--color-orange-400)}.text-purple-400{color:var(--color-purple-400)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-white{color:var(--color-white)}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-500{color:var(--color-yellow-500)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.placeholder-bambu-gray::placeholder,.placeholder-bambu-gray\/50::placeholder{color:var(--color-bambu-gray)}@supports (color:color-mix(in lab,red,red)){.placeholder-bambu-gray\/50::placeholder{color:color-mix(in oklab,var(--color-bambu-gray)50%,transparent)}}.accent-bambu-green{accent-color:var(--color-bambu-green)}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-bambu-green{--tw-ring-color:var(--color-bambu-green)}.ring-white{--tw-ring-color:var(--color-white)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}@media(hover:hover){.group-hover\:opacity-50:is(:where(.group):hover *){opacity:.5}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.peer-checked\:bg-bambu-green:is(:where(.peer):checked~*){background-color:var(--color-bambu-green)}.peer-focus\:outline-none:is(:where(.peer):focus~*){--tw-outline-style:none;outline-style:none}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-0:before{content:var(--tw-content);top:calc(var(--spacing)*0)}.before\:right-0:before{content:var(--tw-content);right:calc(var(--spacing)*0)}.before\:left-0:before{content:var(--tw-content);left:calc(var(--spacing)*0)}.before\:h-0\.5:before{content:var(--tw-content);height:calc(var(--spacing)*.5)}.before\:bg-bambu-green:before{content:var(--tw-content);background-color:var(--color-bambu-green)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:top-\[2px\]:after{content:var(--tw-content);top:2px}.after\:left-\[2px\]:after{content:var(--tw-content);left:2px}.after\:h-4:after{content:var(--tw-content);height:calc(var(--spacing)*4)}.after\:h-5:after{content:var(--tw-content);height:calc(var(--spacing)*5)}.after\:w-4:after{content:var(--tw-content);width:calc(var(--spacing)*4)}.after\:w-5:after{content:var(--tw-content);width:calc(var(--spacing)*5)}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:bg-white:after{content:var(--tw-content);background-color:var(--color-white)}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.peer-checked\:after\:translate-x-full:is(:where(.peer):checked~*):after{content:var(--tw-content);--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.peer-checked\:after\:border-white:is(:where(.peer):checked~*):after{content:var(--tw-content);border-color:var(--color-white)}@media(hover:hover){.hover\:border-bambu-gray:hover{border-color:var(--color-bambu-gray)}.hover\:border-bambu-green:hover{border-color:var(--color-bambu-green)}.hover\:border-white\/40:hover{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/40:hover{border-color:color-mix(in oklab,var(--color-white)40%,transparent)}}.hover\:bg-bambu-dark:hover{background-color:var(--color-bambu-dark)}.hover\:bg-bambu-dark-secondary:hover{background-color:var(--color-bambu-dark-secondary)}.hover\:bg-bambu-dark-tertiary:hover,.hover\:bg-bambu-dark-tertiary\/30:hover{background-color:var(--color-bambu-dark-tertiary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bambu-dark-tertiary\/30:hover{background-color:color-mix(in oklab,var(--color-bambu-dark-tertiary)30%,transparent)}}.hover\:bg-bambu-dark-tertiary\/50:hover{background-color:var(--color-bambu-dark-tertiary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bambu-dark-tertiary\/50:hover{background-color:color-mix(in oklab,var(--color-bambu-dark-tertiary)50%,transparent)}}.hover\:bg-bambu-dark-tertiary\/70:hover{background-color:var(--color-bambu-dark-tertiary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bambu-dark-tertiary\/70:hover{background-color:color-mix(in oklab,var(--color-bambu-dark-tertiary)70%,transparent)}}.hover\:bg-bambu-dark-tertiary\/80:hover{background-color:var(--color-bambu-dark-tertiary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bambu-dark-tertiary\/80:hover{background-color:color-mix(in oklab,var(--color-bambu-dark-tertiary)80%,transparent)}}.hover\:bg-bambu-gray-dark:hover{background-color:var(--color-bambu-gray-dark)}.hover\:bg-bambu-green-dark:hover{background-color:var(--color-bambu-green-dark)}.hover\:bg-bambu-green-light:hover{background-color:var(--color-bambu-green-light)}.hover\:bg-bambu-green\/20:hover{background-color:#00ae4233}@supports (color:color-mix(in lab,red,red)){.hover\:bg-bambu-green\/20:hover{background-color:color-mix(in oklab,var(--color-bambu-green)20%,transparent)}}.hover\:bg-black\/70:hover{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/70:hover{background-color:color-mix(in oklab,var(--color-black)70%,transparent)}}.hover\:bg-black\/80:hover{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/80:hover{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\:bg-red-400\/10:hover{background-color:#ff65681a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-400\/10:hover{background-color:color-mix(in oklab,var(--color-red-400)10%,transparent)}}.hover\:bg-red-500\/10:hover{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/10:hover{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-yellow-600:hover{background-color:var(--color-yellow-600)}.hover\:text-bambu-green:hover{color:var(--color-bambu-green)}.hover\:text-red-300:hover{color:var(--color-red-300)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-80:hover{opacity:.8}}.focus\:border-bambu-green:focus{border-color:var(--color-bambu-green)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-bambu-gray:focus{--tw-ring-color:var(--color-bambu-gray)}.focus\:ring-bambu-green:focus{--tw-ring-color:var(--color-bambu-green)}.focus\:ring-red-500:focus{--tw-ring-color:var(--color-red-500)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:ring-offset-bambu-dark:focus{--tw-ring-offset-color:var(--color-bambu-dark)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:inline{display:inline}.sm\:h-4{height:calc(var(--spacing)*4)}.sm\:w-4{width:calc(var(--spacing)*4)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:p-1\.5{padding:calc(var(--spacing)*1.5)}}@media(min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(min-width:64rem){.lg\:w-80{width:calc(var(--spacing)*80)}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}}@media(min-width:80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\:\:-webkit-slider-thumb\]\:h-3::-webkit-slider-thumb{height:calc(var(--spacing)*3)}.\[\&\:\:-webkit-slider-thumb\]\:w-3::-webkit-slider-thumb{width:calc(var(--spacing)*3)}.\[\&\:\:-webkit-slider-thumb\]\:cursor-pointer::-webkit-slider-thumb{cursor:pointer}.\[\&\:\:-webkit-slider-thumb\]\:appearance-none::-webkit-slider-thumb{appearance:none}.\[\&\:\:-webkit-slider-thumb\]\:rounded-full::-webkit-slider-thumb{border-radius:3.40282e38px}.\[\&\:\:-webkit-slider-thumb\]\:bg-bambu-green::-webkit-slider-thumb{background-color:var(--color-bambu-green)}}:root{--bg-primary:#f5f5f5;--bg-secondary:#fff;--bg-tertiary:#e5e5e5;--text-primary:#1a1a1a;--text-secondary:#4a4a4a;--text-muted:#6b6b6b;--text-tertiary:gray;--border-color:#d4d4d4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,sans-serif;font-weight:400;line-height:1.5}.dark{--bg-primary:#1a1a1a;--bg-secondary:#2d2d2d;--bg-tertiary:#3d3d3d;--text-primary:#fff;--text-secondary:#a0a0a0;--text-muted:gray;--text-tertiary:#4a4a4a;--border-color:#3d3d3d}body{background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;margin:0;transition:background-color .2s,color .2s}#root{min-height:100vh}.text-white{color:var(--text-primary)}.bg-bambu-dark,.bg-bambu-dark-secondary,.bg-bambu-dark-tertiary,.border-bambu-dark-tertiary{transition:background-color .2s,border-color .2s}@keyframes slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.animate-slide-in{animation:.2s ease-out slide-in}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-content:""}}} diff --git a/static/assets/index-zNwYBAHC.js b/static/assets/index-DFEXODPu.js similarity index 66% rename from static/assets/index-zNwYBAHC.js rename to static/assets/index-DFEXODPu.js index db0728065..a9874f554 100644 --- a/static/assets/index-zNwYBAHC.js +++ b/static/assets/index-DFEXODPu.js @@ -1,18 +1,18 @@ -function Eee(t,e){for(var n=0;ni[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const a of r)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&i(s)}).observe(document,{childList:!0,subtree:!0});function n(r){const a={};return r.integrity&&(a.integrity=r.integrity),r.referrerPolicy&&(a.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?a.credentials="include":r.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function i(r){if(r.ep)return;r.ep=!0;const a=n(r);fetch(r.href,a)}})();var iy=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function $s(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var HE={exports:{}},dg={};var i4;function Aee(){if(i4)return dg;i4=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function n(i,r,a){var s=null;if(a!==void 0&&(s=""+a),r.key!==void 0&&(s=""+r.key),"key"in r){a={};for(var o in r)o!=="key"&&(a[o]=r[o])}else a=r;return r=a.ref,{$$typeof:t,type:i,key:s,ref:r!==void 0?r:null,props:a}}return dg.Fragment=e,dg.jsx=n,dg.jsxs=n,dg}var r4;function Tee(){return r4||(r4=1,HE.exports=Aee()),HE.exports}var g=Tee(),VE={exports:{}},Wt={};var a4;function Cee(){if(a4)return Wt;a4=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),s=Symbol.for("react.context"),o=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),c=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),f=Symbol.for("react.activity"),p=Symbol.iterator;function m(G){return G===null||typeof G!="object"?null:(G=p&&G[p]||G["@@iterator"],typeof G=="function"?G:null)}var _={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,y={};function x(G,Y,ae){this.props=G,this.context=Y,this.refs=y,this.updater=ae||_}x.prototype.isReactComponent={},x.prototype.setState=function(G,Y){if(typeof G!="object"&&typeof G!="function"&&G!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,G,Y,"setState")},x.prototype.forceUpdate=function(G){this.updater.enqueueForceUpdate(this,G,"forceUpdate")};function M(){}M.prototype=x.prototype;function w(G,Y,ae){this.props=G,this.context=Y,this.refs=y,this.updater=ae||_}var E=w.prototype=new M;E.constructor=w,b(E,x.prototype),E.isPureReactComponent=!0;var A=Array.isArray;function P(){}var N={H:null,A:null,T:null,S:null},F=Object.prototype.hasOwnProperty;function R(G,Y,ae){var ue=ae.ref;return{$$typeof:t,type:G,key:Y,ref:ue!==void 0?ue:null,props:ae}}function O(G,Y){return R(G.type,Y,G.props)}function z(G){return typeof G=="object"&&G!==null&&G.$$typeof===t}function I(G){var Y={"=":"=0",":":"=2"};return"$"+G.replace(/[=:]/g,function(ae){return Y[ae]})}var V=/\/+/g;function L(G,Y){return typeof G=="object"&&G!==null&&G.key!=null?I(""+G.key):Y.toString(36)}function B(G){switch(G.status){case"fulfilled":return G.value;case"rejected":throw G.reason;default:switch(typeof G.status=="string"?G.then(P,P):(G.status="pending",G.then(function(Y){G.status==="pending"&&(G.status="fulfilled",G.value=Y)},function(Y){G.status==="pending"&&(G.status="rejected",G.reason=Y)})),G.status){case"fulfilled":return G.value;case"rejected":throw G.reason}}throw G}function q(G,Y,ae,ue,xe){var ie=typeof G;(ie==="undefined"||ie==="boolean")&&(G=null);var ve=!1;if(G===null)ve=!0;else switch(ie){case"bigint":case"string":case"number":ve=!0;break;case"object":switch(G.$$typeof){case t:case e:ve=!0;break;case d:return ve=G._init,q(ve(G._payload),Y,ae,ue,xe)}}if(ve)return xe=xe(G),ve=ue===""?"."+L(G,0):ue,A(xe)?(ae="",ve!=null&&(ae=ve.replace(V,"$&/")+"/"),q(xe,Y,ae,"",function(we){return we})):xe!=null&&(z(xe)&&(xe=O(xe,ae+(xe.key==null||G&&G.key===xe.key?"":(""+xe.key).replace(V,"$&/")+"/")+ve)),Y.push(xe)),1;ve=0;var Pe=ue===""?".":ue+":";if(A(G))for(var pe=0;pe>>1,se=q[J];if(0>>1;Jr(ae,K))uer(xe,ae)?(q[J]=xe,q[ue]=K,J=ue):(q[J]=ae,q[Y]=K,J=Y);else if(uer(xe,K))q[J]=xe,q[ue]=K,J=ue;else break e}}return W}function r(q,W){var K=q.sortIndex-W.sortIndex;return K!==0?K:q.id-W.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;t.unstable_now=function(){return a.now()}}else{var s=Date,o=s.now();t.unstable_now=function(){return s.now()-o}}var l=[],c=[],d=1,f=null,p=3,m=!1,_=!1,b=!1,y=!1,x=typeof setTimeout=="function"?setTimeout:null,M=typeof clearTimeout=="function"?clearTimeout:null,w=typeof setImmediate<"u"?setImmediate:null;function E(q){for(var W=n(c);W!==null;){if(W.callback===null)i(c);else if(W.startTime<=q)i(c),W.sortIndex=W.expirationTime,e(l,W);else break;W=n(c)}}function A(q){if(b=!1,E(q),!_)if(n(l)!==null)_=!0,P||(P=!0,I());else{var W=n(c);W!==null&&B(A,W.startTime-q)}}var P=!1,N=-1,F=5,R=-1;function O(){return y?!0:!(t.unstable_now()-Rq&&O());){var J=f.callback;if(typeof J=="function"){f.callback=null,p=f.priorityLevel;var se=J(f.expirationTime<=q);if(q=t.unstable_now(),typeof se=="function"){f.callback=se,E(q),W=!0;break t}f===n(l)&&i(l),E(q)}else i(l);f=n(l)}if(f!==null)W=!0;else{var G=n(c);G!==null&&B(A,G.startTime-q),W=!1}}break e}finally{f=null,p=K,m=!1}W=void 0}}finally{W?I():P=!1}}}var I;if(typeof w=="function")I=function(){w(z)};else if(typeof MessageChannel<"u"){var V=new MessageChannel,L=V.port2;V.port1.onmessage=z,I=function(){L.postMessage(null)}}else I=function(){x(z,0)};function B(q,W){N=x(function(){q(t.unstable_now())},W)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(q){q.callback=null},t.unstable_forceFrameRate=function(q){0>q||125J?(q.sortIndex=K,e(c,q),n(l)===null&&q===n(c)&&(b?(M(N),N=-1):b=!0,B(A,K-J))):(q.sortIndex=se,e(l,q),_||m||(_=!0,P||(P=!0,I()))),q},t.unstable_shouldYield=O,t.unstable_wrapCallback=function(q){var W=p;return function(){var K=p;p=W;try{return q.apply(this,arguments)}finally{p=K}}}})(WE)),WE}var l4;function Pee(){return l4||(l4=1,$E.exports=Ree()),$E.exports}var qE={exports:{}},$r={};var c4;function Dee(){if(c4)return $r;c4=1;var t=Jp();function e(l){var c="https://react.dev/errors/"+l;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),qE.exports=Dee(),qE.exports}var d4;function Oee(){if(d4)return fg;d4=1;var t=Pee(),e=Jp(),n=QV();function i(u){var h="https://react.dev/errors/"+u;if(1se||(u.current=J[se],J[se]=null,se--)}function ae(u,h){se++,J[se]=u.current,u.current=h}var ue=G(null),xe=G(null),ie=G(null),ve=G(null);function Pe(u,h){switch(ae(ie,h),ae(xe,u),ae(ue,null),h.nodeType){case 9:case 11:u=(u=h.documentElement)&&(u=u.namespaceURI)?AU(u):0;break;default:if(u=h.tagName,h=h.namespaceURI)h=AU(h),u=TU(h,u);else switch(u){case"svg":u=1;break;case"math":u=2;break;default:u=0}}Y(ue),ae(ue,u)}function pe(){Y(ue),Y(xe),Y(ie)}function we(u){u.memoizedState!==null&&ae(ve,u);var h=ue.current,v=TU(h,u.type);h!==v&&(ae(xe,u),ae(ue,v))}function ze(u){xe.current===u&&(Y(ue),Y(xe)),ve.current===u&&(Y(ve),og._currentValue=K)}var ce,ft;function j(u){if(ce===void 0)try{throw Error()}catch(v){var h=v.stack.trim().match(/\n( *(at )?)/);ce=h&&h[1]||"",ft=-1i[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const a of r)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&i(s)}).observe(document,{childList:!0,subtree:!0});function n(r){const a={};return r.integrity&&(a.integrity=r.integrity),r.referrerPolicy&&(a.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?a.credentials="include":r.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function i(r){if(r.ep)return;r.ep=!0;const a=n(r);fetch(r.href,a)}})();var iy=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function $s(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var HE={exports:{}},dg={};var i4;function Tee(){if(i4)return dg;i4=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function n(i,r,a){var s=null;if(a!==void 0&&(s=""+a),r.key!==void 0&&(s=""+r.key),"key"in r){a={};for(var o in r)o!=="key"&&(a[o]=r[o])}else a=r;return r=a.ref,{$$typeof:t,type:i,key:s,ref:r!==void 0?r:null,props:a}}return dg.Fragment=e,dg.jsx=n,dg.jsxs=n,dg}var r4;function Cee(){return r4||(r4=1,HE.exports=Tee()),HE.exports}var g=Cee(),VE={exports:{}},qt={};var a4;function Nee(){if(a4)return qt;a4=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),s=Symbol.for("react.context"),o=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),c=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),f=Symbol.for("react.activity"),p=Symbol.iterator;function m(H){return H===null||typeof H!="object"?null:(H=p&&H[p]||H["@@iterator"],typeof H=="function"?H:null)}var _={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,y={};function x(H,Y,se){this.props=H,this.context=Y,this.refs=y,this.updater=se||_}x.prototype.isReactComponent={},x.prototype.setState=function(H,Y){if(typeof H!="object"&&typeof H!="function"&&H!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,H,Y,"setState")},x.prototype.forceUpdate=function(H){this.updater.enqueueForceUpdate(this,H,"forceUpdate")};function M(){}M.prototype=x.prototype;function w(H,Y,se){this.props=H,this.context=Y,this.refs=y,this.updater=se||_}var E=w.prototype=new M;E.constructor=w,b(E,x.prototype),E.isPureReactComponent=!0;var T=Array.isArray;function P(){}var N={H:null,A:null,T:null,S:null},U=Object.prototype.hasOwnProperty;function R(H,Y,se){var ue=se.ref;return{$$typeof:t,type:H,key:Y,ref:ue!==void 0?ue:null,props:se}}function O(H,Y){return R(H.type,Y,H.props)}function z(H){return typeof H=="object"&&H!==null&&H.$$typeof===t}function I(H){var Y={"=":"=0",":":"=2"};return"$"+H.replace(/[=:]/g,function(se){return Y[se]})}var $=/\/+/g;function L(H,Y){return typeof H=="object"&&H!==null&&H.key!=null?I(""+H.key):Y.toString(36)}function B(H){switch(H.status){case"fulfilled":return H.value;case"rejected":throw H.reason;default:switch(typeof H.status=="string"?H.then(P,P):(H.status="pending",H.then(function(Y){H.status==="pending"&&(H.status="fulfilled",H.value=Y)},function(Y){H.status==="pending"&&(H.status="rejected",H.reason=Y)})),H.status){case"fulfilled":return H.value;case"rejected":throw H.reason}}throw H}function q(H,Y,se,ue,xe){var re=typeof H;(re==="undefined"||re==="boolean")&&(H=null);var ve=!1;if(H===null)ve=!0;else switch(re){case"bigint":case"string":case"number":ve=!0;break;case"object":switch(H.$$typeof){case t:case e:ve=!0;break;case d:return ve=H._init,q(ve(H._payload),Y,se,ue,xe)}}if(ve)return xe=xe(H),ve=ue===""?"."+L(H,0):ue,T(xe)?(se="",ve!=null&&(se=ve.replace($,"$&/")+"/"),q(xe,Y,se,"",function(we){return we})):xe!=null&&(z(xe)&&(xe=O(xe,se+(xe.key==null||H&&H.key===xe.key?"":(""+xe.key).replace($,"$&/")+"/")+ve)),Y.push(xe)),1;ve=0;var Pe=ue===""?".":ue+":";if(T(H))for(var pe=0;pe>>1,ie=q[Q];if(0>>1;Qr(se,X))uer(xe,se)?(q[Q]=xe,q[ue]=X,Q=ue):(q[Q]=se,q[Y]=X,Q=Y);else if(uer(xe,X))q[Q]=xe,q[ue]=X,Q=ue;else break e}}return W}function r(q,W){var X=q.sortIndex-W.sortIndex;return X!==0?X:q.id-W.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;t.unstable_now=function(){return a.now()}}else{var s=Date,o=s.now();t.unstable_now=function(){return s.now()-o}}var l=[],c=[],d=1,f=null,p=3,m=!1,_=!1,b=!1,y=!1,x=typeof setTimeout=="function"?setTimeout:null,M=typeof clearTimeout=="function"?clearTimeout:null,w=typeof setImmediate<"u"?setImmediate:null;function E(q){for(var W=n(c);W!==null;){if(W.callback===null)i(c);else if(W.startTime<=q)i(c),W.sortIndex=W.expirationTime,e(l,W);else break;W=n(c)}}function T(q){if(b=!1,E(q),!_)if(n(l)!==null)_=!0,P||(P=!0,I());else{var W=n(c);W!==null&&B(T,W.startTime-q)}}var P=!1,N=-1,U=5,R=-1;function O(){return y?!0:!(t.unstable_now()-Rq&&O());){var Q=f.callback;if(typeof Q=="function"){f.callback=null,p=f.priorityLevel;var ie=Q(f.expirationTime<=q);if(q=t.unstable_now(),typeof ie=="function"){f.callback=ie,E(q),W=!0;break t}f===n(l)&&i(l),E(q)}else i(l);f=n(l)}if(f!==null)W=!0;else{var H=n(c);H!==null&&B(T,H.startTime-q),W=!1}}break e}finally{f=null,p=X,m=!1}W=void 0}}finally{W?I():P=!1}}}var I;if(typeof w=="function")I=function(){w(z)};else if(typeof MessageChannel<"u"){var $=new MessageChannel,L=$.port2;$.port1.onmessage=z,I=function(){L.postMessage(null)}}else I=function(){x(z,0)};function B(q,W){N=x(function(){q(t.unstable_now())},W)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(q){q.callback=null},t.unstable_forceFrameRate=function(q){0>q||125Q?(q.sortIndex=X,e(c,q),n(l)===null&&q===n(c)&&(b?(M(N),N=-1):b=!0,B(T,X-Q))):(q.sortIndex=ie,e(l,q),_||m||(_=!0,P||(P=!0,I()))),q},t.unstable_shouldYield=O,t.unstable_wrapCallback=function(q){var W=p;return function(){var X=p;p=W;try{return q.apply(this,arguments)}finally{p=X}}}})(WE)),WE}var l4;function Dee(){return l4||(l4=1,$E.exports=Pee()),$E.exports}var qE={exports:{}},$r={};var c4;function Oee(){if(c4)return $r;c4=1;var t=Jp();function e(l){var c="https://react.dev/errors/"+l;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),qE.exports=Oee(),qE.exports}var d4;function kee(){if(d4)return fg;d4=1;var t=Dee(),e=Jp(),n=JV();function i(u){var h="https://react.dev/errors/"+u;if(1ie||(u.current=Q[ie],Q[ie]=null,ie--)}function se(u,h){ie++,Q[ie]=u.current,u.current=h}var ue=H(null),xe=H(null),re=H(null),ve=H(null);function Pe(u,h){switch(se(re,h),se(xe,u),se(ue,null),h.nodeType){case 9:case 11:u=(u=h.documentElement)&&(u=u.namespaceURI)?AU(u):0;break;default:if(u=h.tagName,h=h.namespaceURI)h=AU(h),u=TU(h,u);else switch(u){case"svg":u=1;break;case"math":u=2;break;default:u=0}}Y(ue),se(ue,u)}function pe(){Y(ue),Y(xe),Y(re)}function we(u){u.memoizedState!==null&&se(ve,u);var h=ue.current,v=TU(h,u.type);h!==v&&(se(xe,u),se(ue,v))}function ze(u){xe.current===u&&(Y(ue),Y(xe)),ve.current===u&&(Y(ve),og._currentValue=X)}var ce,ft;function F(u){if(ce===void 0)try{throw Error()}catch(v){var h=v.stack.trim().match(/\n( *(at )?)/);ce=h&&h[1]||"",ft=-1)":-1C||_e[S]!==je[C]){var Qe=` -`+_e[S].replace(" at new "," at ");return u.displayName&&Qe.includes("")&&(Qe=Qe.replace("",u.displayName)),Qe}while(1<=S&&0<=C);break}}}finally{$=!1,Error.prepareStackTrace=v}return(v=u?u.displayName||u.name:"")?j(v):""}function Q(u,h){switch(u.tag){case 26:case 27:case 5:return j(u.type);case 16:return j("Lazy");case 13:return u.child!==h&&h!==null?j("Suspense Fallback"):j("Suspense");case 19:return j("SuspenseList");case 0:case 15:return re(u.type,!1);case 11:return re(u.type.render,!1);case 1:return re(u.type,!0);case 31:return j("Activity");default:return""}}function ee(u){try{var h="",v=null;do h+=Q(u,v),v=u,u=u.return;while(u);return h}catch(S){return` +`+ce+u+ft}var G=!1;function ae(u,h){if(!u||G)return"";G=!0;var v=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var S={DetermineComponentFrameRoot:function(){try{if(h){var at=function(){throw Error()};if(Object.defineProperty(at.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(at,[])}catch(Ke){var Ve=Ke}Reflect.construct(u,[],at)}else{try{at.call()}catch(Ke){Ve=Ke}u.call(at.prototype)}}else{try{throw Error()}catch(Ke){Ve=Ke}(at=u())&&typeof at.catch=="function"&&at.catch(function(){})}}catch(Ke){if(Ke&&Ve&&typeof Ke.stack=="string")return[Ke.stack,Ve.stack]}return[null,null]}};S.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var C=Object.getOwnPropertyDescriptor(S.DetermineComponentFrameRoot,"name");C&&C.configurable&&Object.defineProperty(S.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var D=S.DetermineComponentFrameRoot(),V=D[0],ne=D[1];if(V&&ne){var _e=V.split(` +`),Fe=ne.split(` +`);for(C=S=0;S<_e.length&&!_e[S].includes("DetermineComponentFrameRoot");)S++;for(;CC||_e[S]!==Fe[C]){var Qe=` +`+_e[S].replace(" at new "," at ");return u.displayName&&Qe.includes("")&&(Qe=Qe.replace("",u.displayName)),Qe}while(1<=S&&0<=C);break}}}finally{G=!1,Error.prepareStackTrace=v}return(v=u?u.displayName||u.name:"")?F(v):""}function J(u,h){switch(u.tag){case 26:case 27:case 5:return F(u.type);case 16:return F("Lazy");case 13:return u.child!==h&&h!==null?F("Suspense Fallback"):F("Suspense");case 19:return F("SuspenseList");case 0:case 15:return ae(u.type,!1);case 11:return ae(u.type.render,!1);case 1:return ae(u.type,!0);case 31:return F("Activity");default:return""}}function ee(u){try{var h="",v=null;do h+=J(u,v),v=u,u=u.return;while(u);return h}catch(S){return` Error generating stack: `+S.message+` -`+S.stack}}var oe=Object.prototype.hasOwnProperty,De=t.unstable_scheduleCallback,Ne=t.unstable_cancelCallback,te=t.unstable_shouldYield,U=t.unstable_requestPaint,k=t.unstable_now,X=t.unstable_getCurrentPriorityLevel,me=t.unstable_ImmediatePriority,ye=t.unstable_UserBlockingPriority,he=t.unstable_NormalPriority,Ye=t.unstable_LowPriority,Le=t.unstable_IdlePriority,qe=t.log,it=t.unstable_setDisableYieldValue,Ie=null,Re=null;function ht(u){if(typeof qe=="function"&&it(u),Re&&typeof Re.setStrictMode=="function")try{Re.setStrictMode(Ie,u)}catch{}}var et=Math.clz32?Math.clz32:de,Je=Math.log,lt=Math.LN2;function de(u){return u>>>=0,u===0?32:31-(Je(u)/lt|0)|0}var tt=256,fe=262144,ke=4194304;function Me(u){var h=u&42;if(h!==0)return h;switch(u&-u){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return u&261888;case 262144:case 524288:case 1048576:case 2097152:return u&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return u&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return u}}function ge(u,h,v){var S=u.pendingLanes;if(S===0)return 0;var C=0,D=u.suspendedLanes,H=u.pingedLanes;u=u.warmLanes;var ne=S&134217727;return ne!==0?(S=ne&~D,S!==0?C=Me(S):(H&=ne,H!==0?C=Me(H):v||(v=ne&~u,v!==0&&(C=Me(v))))):(ne=S&~D,ne!==0?C=Me(ne):H!==0?C=Me(H):v||(v=S&~u,v!==0&&(C=Me(v)))),C===0?0:h!==0&&h!==C&&(h&D)===0&&(D=C&-C,v=h&-h,D>=v||D===32&&(v&4194048)!==0)?h:C}function Be(u,h){return(u.pendingLanes&~(u.suspendedLanes&~u.pingedLanes)&h)===0}function ot(u,h){switch(u){case 1:case 2:case 4:case 8:case 64:return h+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return h+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function bt(){var u=ke;return ke<<=1,(ke&62914560)===0&&(ke=4194304),u}function Nt(u){for(var h=[],v=0;31>v;v++)h.push(u);return h}function rn(u,h){u.pendingLanes|=h,h!==268435456&&(u.suspendedLanes=0,u.pingedLanes=0,u.warmLanes=0)}function Dt(u,h,v,S,C,D){var H=u.pendingLanes;u.pendingLanes=v,u.suspendedLanes=0,u.pingedLanes=0,u.warmLanes=0,u.expiredLanes&=v,u.entangledLanes&=v,u.errorRecoveryDisabledLanes&=v,u.shellSuspendCounter=0;var ne=u.entanglements,_e=u.expirationTimes,je=u.hiddenUpdates;for(v=H&~v;0"u")return null;try{return u.activeElement||u.body}catch{return u.body}}var Ai=/[\n"\\]/g;function Tn(u){return u.replace(Ai,function(h){return"\\"+h.charCodeAt(0).toString(16)+" "})}function Xs(u,h,v,S,C,D,H,ne){u.name="",H!=null&&typeof H!="function"&&typeof H!="symbol"&&typeof H!="boolean"?u.type=H:u.removeAttribute("type"),h!=null?H==="number"?(h===0&&u.value===""||u.value!=h)&&(u.value=""+sn(h)):u.value!==""+sn(h)&&(u.value=""+sn(h)):H!=="submit"&&H!=="reset"||u.removeAttribute("value"),h!=null?pr(u,H,sn(h)):v!=null?pr(u,H,sn(v)):S!=null&&u.removeAttribute("value"),C==null&&D!=null&&(u.defaultChecked=!!D),C!=null&&(u.checked=C&&typeof C!="function"&&typeof C!="symbol"),ne!=null&&typeof ne!="function"&&typeof ne!="symbol"&&typeof ne!="boolean"?u.name=""+sn(ne):u.removeAttribute("name")}function Rn(u,h,v,S,C,D,H,ne){if(D!=null&&typeof D!="function"&&typeof D!="symbol"&&typeof D!="boolean"&&(u.type=D),h!=null||v!=null){if(!(D!=="submit"&&D!=="reset"||h!=null)){$t(u);return}v=v!=null?""+sn(v):"",h=h!=null?""+sn(h):v,ne||h===u.value||(u.value=h),u.defaultValue=h}S=S??C,S=typeof S!="function"&&typeof S!="symbol"&&!!S,u.checked=ne?u.checked:!!S,u.defaultChecked=!!S,H!=null&&typeof H!="function"&&typeof H!="symbol"&&typeof H!="boolean"&&(u.name=H),$t(u)}function pr(u,h,v){h==="number"&&vi(u.ownerDocument)===u||u.defaultValue===""+v||(u.defaultValue=""+v)}function Yi(u,h,v,S){if(u=u.options,h){h={};for(var C=0;C"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Hw=!1;if(il)try{var Em={};Object.defineProperty(Em,"passive",{get:function(){Hw=!0}}),window.addEventListener("test",Em,Em),window.removeEventListener("test",Em,Em)}catch{Hw=!1}var wc=null,Vw=null,Kx=null;function Tk(){if(Kx)return Kx;var u,h=Vw,v=h.length,S,C="value"in wc?wc.value:wc.textContent,D=C.length;for(u=0;u=Cm),Ok=" ",kk=!1;function Lk(u,h){switch(u){case"keyup":return qQ.indexOf(h.keyCode)!==-1;case"keydown":return h.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ik(u){return u=u.detail,typeof u=="object"&&"data"in u?u.data:null}var Hf=!1;function KQ(u,h){switch(u){case"compositionend":return Ik(h);case"keypress":return h.which!==32?null:(kk=!0,Ok);case"textInput":return u=h.data,u===Ok&&kk?null:u;default:return null}}function YQ(u,h){if(Hf)return u==="compositionend"||!Xw&&Lk(u,h)?(u=Tk(),Kx=Vw=wc=null,Hf=!1,u):null;switch(u){case"paste":return null;case"keypress":if(!(h.ctrlKey||h.altKey||h.metaKey)||h.ctrlKey&&h.altKey){if(h.char&&1=h)return{node:v,offset:h-u};u=S}e:{for(;v;){if(v.nextSibling){v=v.nextSibling;break e}v=v.parentNode}v=void 0}v=Gk(v)}}function Wk(u,h){return u&&h?u===h?!0:u&&u.nodeType===3?!1:h&&h.nodeType===3?Wk(u,h.parentNode):"contains"in u?u.contains(h):u.compareDocumentPosition?!!(u.compareDocumentPosition(h)&16):!1:!1}function qk(u){u=u!=null&&u.ownerDocument!=null&&u.ownerDocument.defaultView!=null?u.ownerDocument.defaultView:window;for(var h=vi(u.document);h instanceof u.HTMLIFrameElement;){try{var v=typeof h.contentWindow.location.href=="string"}catch{v=!1}if(v)u=h.contentWindow;else break;h=vi(u.document)}return h}function Zw(u){var h=u&&u.nodeName&&u.nodeName.toLowerCase();return h&&(h==="input"&&(u.type==="text"||u.type==="search"||u.type==="tel"||u.type==="url"||u.type==="password")||h==="textarea"||u.contentEditable==="true")}var rJ=il&&"documentMode"in document&&11>=document.documentMode,Vf=null,Qw=null,Dm=null,Jw=!1;function Xk(u,h,v){var S=v.window===v?v.document:v.nodeType===9?v:v.ownerDocument;Jw||Vf==null||Vf!==vi(S)||(S=Vf,"selectionStart"in S&&Zw(S)?S={start:S.selectionStart,end:S.selectionEnd}:(S=(S.ownerDocument&&S.ownerDocument.defaultView||window).getSelection(),S={anchorNode:S.anchorNode,anchorOffset:S.anchorOffset,focusNode:S.focusNode,focusOffset:S.focusOffset}),Dm&&Pm(Dm,S)||(Dm=S,S=Hv(Qw,"onSelect"),0>=H,C-=H,wo=1<<32-et(h)+C|v<Kt?(pn=Pt,Pt=null):pn=Pt.sibling;var Sn=Ve(Oe,Pt,Fe[Kt],nt);if(Sn===null){Pt===null&&(Pt=pn);break}u&&Pt&&Sn.alternate===null&&h(Oe,Pt),Ee=D(Sn,Ee,Kt),_n===null?Lt=Sn:_n.sibling=Sn,_n=Sn,Pt=pn}if(Kt===Fe.length)return v(Oe,Pt),xn&&al(Oe,Kt),Lt;if(Pt===null){for(;KtKt?(pn=Pt,Pt=null):pn=Pt.sibling;var $c=Ve(Oe,Pt,Sn.value,nt);if($c===null){Pt===null&&(Pt=pn);break}u&&Pt&&$c.alternate===null&&h(Oe,Pt),Ee=D($c,Ee,Kt),_n===null?Lt=$c:_n.sibling=$c,_n=$c,Pt=pn}if(Sn.done)return v(Oe,Pt),xn&&al(Oe,Kt),Lt;if(Pt===null){for(;!Sn.done;Kt++,Sn=Fe.next())Sn=rt(Oe,Sn.value,nt),Sn!==null&&(Ee=D(Sn,Ee,Kt),_n===null?Lt=Sn:_n.sibling=Sn,_n=Sn);return xn&&al(Oe,Kt),Lt}for(Pt=S(Pt);!Sn.done;Kt++,Sn=Fe.next())Sn=Ke(Pt,Oe,Kt,Sn.value,nt),Sn!==null&&(u&&Sn.alternate!==null&&Pt.delete(Sn.key===null?Kt:Sn.key),Ee=D(Sn,Ee,Kt),_n===null?Lt=Sn:_n.sibling=Sn,_n=Sn);return u&&Pt.forEach(function(Mee){return h(Oe,Mee)}),xn&&al(Oe,Kt),Lt}function Un(Oe,Ee,Fe,nt){if(typeof Fe=="object"&&Fe!==null&&Fe.type===b&&Fe.key===null&&(Fe=Fe.props.children),typeof Fe=="object"&&Fe!==null){switch(Fe.$$typeof){case m:e:{for(var Lt=Fe.key;Ee!==null;){if(Ee.key===Lt){if(Lt=Fe.type,Lt===b){if(Ee.tag===7){v(Oe,Ee.sibling),nt=C(Ee,Fe.props.children),nt.return=Oe,Oe=nt;break e}}else if(Ee.elementType===Lt||typeof Lt=="object"&&Lt!==null&&Lt.$$typeof===F&&hd(Lt)===Ee.type){v(Oe,Ee.sibling),nt=C(Ee,Fe.props),Fm(nt,Fe),nt.return=Oe,Oe=nt;break e}v(Oe,Ee);break}else h(Oe,Ee);Ee=Ee.sibling}Fe.type===b?(nt=ld(Fe.props.children,Oe.mode,nt,Fe.key),nt.return=Oe,Oe=nt):(nt=av(Fe.type,Fe.key,Fe.props,null,Oe.mode,nt),Fm(nt,Fe),nt.return=Oe,Oe=nt)}return H(Oe);case _:e:{for(Lt=Fe.key;Ee!==null;){if(Ee.key===Lt)if(Ee.tag===4&&Ee.stateNode.containerInfo===Fe.containerInfo&&Ee.stateNode.implementation===Fe.implementation){v(Oe,Ee.sibling),nt=C(Ee,Fe.children||[]),nt.return=Oe,Oe=nt;break e}else{v(Oe,Ee);break}else h(Oe,Ee);Ee=Ee.sibling}nt=sM(Fe,Oe.mode,nt),nt.return=Oe,Oe=nt}return H(Oe);case F:return Fe=hd(Fe),Un(Oe,Ee,Fe,nt)}if(B(Fe))return Ct(Oe,Ee,Fe,nt);if(I(Fe)){if(Lt=I(Fe),typeof Lt!="function")throw Error(i(150));return Fe=Lt.call(Fe),jt(Oe,Ee,Fe,nt)}if(typeof Fe.then=="function")return Un(Oe,Ee,fv(Fe),nt);if(Fe.$$typeof===w)return Un(Oe,Ee,lv(Oe,Fe),nt);hv(Oe,Fe)}return typeof Fe=="string"&&Fe!==""||typeof Fe=="number"||typeof Fe=="bigint"?(Fe=""+Fe,Ee!==null&&Ee.tag===6?(v(Oe,Ee.sibling),nt=C(Ee,Fe),nt.return=Oe,Oe=nt):(v(Oe,Ee),nt=aM(Fe,Oe.mode,nt),nt.return=Oe,Oe=nt),H(Oe)):v(Oe,Ee)}return function(Oe,Ee,Fe,nt){try{Um=0;var Lt=Un(Oe,Ee,Fe,nt);return eh=null,Lt}catch(Pt){if(Pt===Jf||Pt===uv)throw Pt;var _n=Va(29,Pt,null,Oe.mode);return _n.lanes=nt,_n.return=Oe,_n}finally{}}}var md=xL(!0),vL=xL(!1),Cc=!1;function vM(u){u.updateQueue={baseState:u.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function yM(u,h){u=u.updateQueue,h.updateQueue===u&&(h.updateQueue={baseState:u.baseState,firstBaseUpdate:u.firstBaseUpdate,lastBaseUpdate:u.lastBaseUpdate,shared:u.shared,callbacks:null})}function Nc(u){return{lane:u,tag:0,payload:null,callback:null,next:null}}function Rc(u,h,v){var S=u.updateQueue;if(S===null)return null;if(S=S.shared,(An&2)!==0){var C=S.pending;return C===null?h.next=h:(h.next=C.next,C.next=h),S.pending=h,h=rv(u),tL(u,null,v),h}return iv(u,S,h,v),rv(u)}function jm(u,h,v){if(h=h.updateQueue,h!==null&&(h=h.shared,(v&4194048)!==0)){var S=h.lanes;S&=u.pendingLanes,v|=S,h.lanes=v,$n(u,v)}}function bM(u,h){var v=u.updateQueue,S=u.alternate;if(S!==null&&(S=S.updateQueue,v===S)){var C=null,D=null;if(v=v.firstBaseUpdate,v!==null){do{var H={lane:v.lane,tag:v.tag,payload:v.payload,callback:null,next:null};D===null?C=D=H:D=D.next=H,v=v.next}while(v!==null);D===null?C=D=h:D=D.next=h}else C=D=h;v={baseState:S.baseState,firstBaseUpdate:C,lastBaseUpdate:D,shared:S.shared,callbacks:S.callbacks},u.updateQueue=v;return}u=v.lastBaseUpdate,u===null?v.firstBaseUpdate=h:u.next=h,v.lastBaseUpdate=h}var _M=!1;function zm(){if(_M){var u=Qf;if(u!==null)throw u}}function Bm(u,h,v,S){_M=!1;var C=u.updateQueue;Cc=!1;var D=C.firstBaseUpdate,H=C.lastBaseUpdate,ne=C.shared.pending;if(ne!==null){C.shared.pending=null;var _e=ne,je=_e.next;_e.next=null,H===null?D=je:H.next=je,H=_e;var Qe=u.alternate;Qe!==null&&(Qe=Qe.updateQueue,ne=Qe.lastBaseUpdate,ne!==H&&(ne===null?Qe.firstBaseUpdate=je:ne.next=je,Qe.lastBaseUpdate=_e))}if(D!==null){var rt=C.baseState;H=0,Qe=je=_e=null,ne=D;do{var Ve=ne.lane&-536870913,Ke=Ve!==ne.lane;if(Ke?(hn&Ve)===Ve:(S&Ve)===Ve){Ve!==0&&Ve===Zf&&(_M=!0),Qe!==null&&(Qe=Qe.next={lane:0,tag:ne.tag,payload:ne.payload,callback:null,next:null});e:{var Ct=u,jt=ne;Ve=h;var Un=v;switch(jt.tag){case 1:if(Ct=jt.payload,typeof Ct=="function"){rt=Ct.call(Un,rt,Ve);break e}rt=Ct;break e;case 3:Ct.flags=Ct.flags&-65537|128;case 0:if(Ct=jt.payload,Ve=typeof Ct=="function"?Ct.call(Un,rt,Ve):Ct,Ve==null)break e;rt=f({},rt,Ve);break e;case 2:Cc=!0}}Ve=ne.callback,Ve!==null&&(u.flags|=64,Ke&&(u.flags|=8192),Ke=C.callbacks,Ke===null?C.callbacks=[Ve]:Ke.push(Ve))}else Ke={lane:Ve,tag:ne.tag,payload:ne.payload,callback:ne.callback,next:null},Qe===null?(je=Qe=Ke,_e=rt):Qe=Qe.next=Ke,H|=Ve;if(ne=ne.next,ne===null){if(ne=C.shared.pending,ne===null)break;Ke=ne,ne=Ke.next,Ke.next=null,C.lastBaseUpdate=Ke,C.shared.pending=null}}while(!0);Qe===null&&(_e=rt),C.baseState=_e,C.firstBaseUpdate=je,C.lastBaseUpdate=Qe,D===null&&(C.shared.lanes=0),Lc|=H,u.lanes=H,u.memoizedState=rt}}function yL(u,h){if(typeof u!="function")throw Error(i(191,u));u.call(h)}function bL(u,h){var v=u.callbacks;if(v!==null)for(u.callbacks=null,u=0;uD?D:8;var H=q.T,ne={};q.T=ne,zM(u,!1,h,v);try{var _e=C(),je=q.S;if(je!==null&&je(ne,_e),_e!==null&&typeof _e=="object"&&typeof _e.then=="function"){var Qe=hJ(_e,S);Gm(u,h,Qe,Xa(u))}else Gm(u,h,S,Xa(u))}catch(rt){Gm(u,h,{then:function(){},status:"rejected",reason:rt},Xa())}finally{W.p=D,H!==null&&ne.types!==null&&(H.types=ne.types),q.T=H}}function yJ(){}function FM(u,h,v,S){if(u.tag!==5)throw Error(i(476));var C=QL(u).queue;ZL(u,C,h,K,v===null?yJ:function(){return JL(u),v(S)})}function QL(u){var h=u.memoizedState;if(h!==null)return h;h={memoizedState:K,baseState:K,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:cl,lastRenderedState:K},next:null};var v={};return h.next={memoizedState:v,baseState:v,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:cl,lastRenderedState:v},next:null},u.memoizedState=h,u=u.alternate,u!==null&&(u.memoizedState=h),h}function JL(u){var h=QL(u);h.next===null&&(h=u.alternate.memoizedState),Gm(u,h.next.queue,{},Xa())}function jM(){return Pr(og)}function eI(){return Ci().memoizedState}function tI(){return Ci().memoizedState}function bJ(u){for(var h=u.return;h!==null;){switch(h.tag){case 24:case 3:var v=Xa();u=Nc(v);var S=Rc(h,u,v);S!==null&&(Aa(S,h,v),jm(S,h,v)),h={cache:pM()},u.payload=h;return}h=h.return}}function _J(u,h,v){var S=Xa();v={lane:S,revertLane:0,gesture:null,action:v,hasEagerState:!1,eagerState:null,next:null},wv(u)?iI(h,v):(v=iM(u,h,v,S),v!==null&&(Aa(v,u,S),rI(v,h,S)))}function nI(u,h,v){var S=Xa();Gm(u,h,v,S)}function Gm(u,h,v,S){var C={lane:S,revertLane:0,gesture:null,action:v,hasEagerState:!1,eagerState:null,next:null};if(wv(u))iI(h,C);else{var D=u.alternate;if(u.lanes===0&&(D===null||D.lanes===0)&&(D=h.lastRenderedReducer,D!==null))try{var H=h.lastRenderedState,ne=D(H,v);if(C.hasEagerState=!0,C.eagerState=ne,Ha(ne,H))return iv(u,h,C,0),Wn===null&&nv(),!1}catch{}finally{}if(v=iM(u,h,C,S),v!==null)return Aa(v,u,S),rI(v,h,S),!0}return!1}function zM(u,h,v,S){if(S={lane:2,revertLane:vE(),gesture:null,action:S,hasEagerState:!1,eagerState:null,next:null},wv(u)){if(h)throw Error(i(479))}else h=iM(u,v,S,2),h!==null&&Aa(h,u,2)}function wv(u){var h=u.alternate;return u===Xt||h!==null&&h===Xt}function iI(u,h){nh=gv=!0;var v=u.pending;v===null?h.next=h:(h.next=v.next,v.next=h),u.pending=h}function rI(u,h,v){if((v&4194048)!==0){var S=h.lanes;S&=u.pendingLanes,v|=S,h.lanes=v,$n(u,v)}}var $m={readContext:Pr,use:yv,useCallback:yi,useContext:yi,useEffect:yi,useImperativeHandle:yi,useLayoutEffect:yi,useInsertionEffect:yi,useMemo:yi,useReducer:yi,useRef:yi,useState:yi,useDebugValue:yi,useDeferredValue:yi,useTransition:yi,useSyncExternalStore:yi,useId:yi,useHostTransitionStatus:yi,useFormState:yi,useActionState:yi,useOptimistic:yi,useMemoCache:yi,useCacheRefresh:yi};$m.useEffectEvent=yi;var aI={readContext:Pr,use:yv,useCallback:function(u,h){return aa().memoizedState=[u,h===void 0?null:h],u},useContext:Pr,useEffect:HL,useImperativeHandle:function(u,h,v){v=v!=null?v.concat([u]):null,_v(4194308,4,WL.bind(null,h,u),v)},useLayoutEffect:function(u,h){return _v(4194308,4,u,h)},useInsertionEffect:function(u,h){_v(4,2,u,h)},useMemo:function(u,h){var v=aa();h=h===void 0?null:h;var S=u();if(gd){ht(!0);try{u()}finally{ht(!1)}}return v.memoizedState=[S,h],S},useReducer:function(u,h,v){var S=aa();if(v!==void 0){var C=v(h);if(gd){ht(!0);try{v(h)}finally{ht(!1)}}}else C=h;return S.memoizedState=S.baseState=C,u={pending:null,lanes:0,dispatch:null,lastRenderedReducer:u,lastRenderedState:C},S.queue=u,u=u.dispatch=_J.bind(null,Xt,u),[S.memoizedState,u]},useRef:function(u){var h=aa();return u={current:u},h.memoizedState=u},useState:function(u){u=OM(u);var h=u.queue,v=nI.bind(null,Xt,h);return h.dispatch=v,[u.memoizedState,v]},useDebugValue:IM,useDeferredValue:function(u,h){var v=aa();return UM(v,u,h)},useTransition:function(){var u=OM(!1);return u=ZL.bind(null,Xt,u.queue,!0,!1),aa().memoizedState=u,[!1,u]},useSyncExternalStore:function(u,h,v){var S=Xt,C=aa();if(xn){if(v===void 0)throw Error(i(407));v=v()}else{if(v=h(),Wn===null)throw Error(i(349));(hn&127)!==0||AL(S,h,v)}C.memoizedState=v;var D={value:v,getSnapshot:h};return C.queue=D,HL(CL.bind(null,S,D,u),[u]),S.flags|=2048,rh(9,{destroy:void 0},TL.bind(null,S,D,v,h),null),v},useId:function(){var u=aa(),h=Wn.identifierPrefix;if(xn){var v=Mo,S=wo;v=(S&~(1<<32-et(S)-1)).toString(32)+v,h="_"+h+"R_"+v,v=xv++,0<\/script>",D=D.removeChild(D.firstChild);break;case"select":D=typeof S.is=="string"?H.createElement("select",{is:S.is}):H.createElement("select"),S.multiple?D.multiple=!0:S.size&&(D.size=S.size);break;default:D=typeof S.is=="string"?H.createElement(C,{is:S.is}):H.createElement(C)}}D[di]=h,D[Ei]=S;e:for(H=h.child;H!==null;){if(H.tag===5||H.tag===6)D.appendChild(H.stateNode);else if(H.tag!==4&&H.tag!==27&&H.child!==null){H.child.return=H,H=H.child;continue}if(H===h)break e;for(;H.sibling===null;){if(H.return===null||H.return===h)break e;H=H.return}H.sibling.return=H.return,H=H.sibling}h.stateNode=D;e:switch(Or(D,C,S),C){case"button":case"input":case"select":case"textarea":S=!!S.autoFocus;break e;case"img":S=!0;break e;default:S=!1}S&&dl(h)}}return ei(h),eE(h,h.type,u===null?null:u.memoizedProps,h.pendingProps,v),null;case 6:if(u&&h.stateNode!=null)u.memoizedProps!==S&&dl(h);else{if(typeof S!="string"&&h.stateNode===null)throw Error(i(166));if(u=ie.current,Kf(h)){if(u=h.stateNode,v=h.memoizedProps,S=null,C=Rr,C!==null)switch(C.tag){case 27:case 5:S=C.memoizedProps}u[di]=h,u=!!(u.nodeValue===v||S!==null&&S.suppressHydrationWarning===!0||MU(u.nodeValue,v)),u||Ac(h,!0)}else u=Vv(u).createTextNode(S),u[di]=h,h.stateNode=u}return ei(h),null;case 31:if(v=h.memoizedState,u===null||u.memoizedState!==null){if(S=Kf(h),v!==null){if(u===null){if(!S)throw Error(i(318));if(u=h.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(i(557));u[di]=h}else cd(),(h.flags&128)===0&&(h.memoizedState=null),h.flags|=4;ei(h),u=!1}else v=uM(),u!==null&&u.memoizedState!==null&&(u.memoizedState.hydrationErrors=v),u=!0;if(!u)return h.flags&256?($a(h),h):($a(h),null);if((h.flags&128)!==0)throw Error(i(558))}return ei(h),null;case 13:if(S=h.memoizedState,u===null||u.memoizedState!==null&&u.memoizedState.dehydrated!==null){if(C=Kf(h),S!==null&&S.dehydrated!==null){if(u===null){if(!C)throw Error(i(318));if(C=h.memoizedState,C=C!==null?C.dehydrated:null,!C)throw Error(i(317));C[di]=h}else cd(),(h.flags&128)===0&&(h.memoizedState=null),h.flags|=4;ei(h),C=!1}else C=uM(),u!==null&&u.memoizedState!==null&&(u.memoizedState.hydrationErrors=C),C=!0;if(!C)return h.flags&256?($a(h),h):($a(h),null)}return $a(h),(h.flags&128)!==0?(h.lanes=v,h):(v=S!==null,u=u!==null&&u.memoizedState!==null,v&&(S=h.child,C=null,S.alternate!==null&&S.alternate.memoizedState!==null&&S.alternate.memoizedState.cachePool!==null&&(C=S.alternate.memoizedState.cachePool.pool),D=null,S.memoizedState!==null&&S.memoizedState.cachePool!==null&&(D=S.memoizedState.cachePool.pool),D!==C&&(S.flags|=2048)),v!==u&&v&&(h.child.flags|=8192),Cv(h,h.updateQueue),ei(h),null);case 4:return pe(),u===null&&SE(h.stateNode.containerInfo),ei(h),null;case 10:return ol(h.type),ei(h),null;case 19:if(Y(Ti),S=h.memoizedState,S===null)return ei(h),null;if(C=(h.flags&128)!==0,D=S.rendering,D===null)if(C)qm(S,!1);else{if(bi!==0||u!==null&&(u.flags&128)!==0)for(u=h.child;u!==null;){if(D=mv(u),D!==null){for(h.flags|=128,qm(S,!1),u=D.updateQueue,h.updateQueue=u,Cv(h,u),h.subtreeFlags=0,u=v,v=h.child;v!==null;)nL(v,u),v=v.sibling;return ae(Ti,Ti.current&1|2),xn&&al(h,S.treeForkCount),h.child}u=u.sibling}S.tail!==null&&k()>Ov&&(h.flags|=128,C=!0,qm(S,!1),h.lanes=4194304)}else{if(!C)if(u=mv(D),u!==null){if(h.flags|=128,C=!0,u=u.updateQueue,h.updateQueue=u,Cv(h,u),qm(S,!0),S.tail===null&&S.tailMode==="hidden"&&!D.alternate&&!xn)return ei(h),null}else 2*k()-S.renderingStartTime>Ov&&v!==536870912&&(h.flags|=128,C=!0,qm(S,!1),h.lanes=4194304);S.isBackwards?(D.sibling=h.child,h.child=D):(u=S.last,u!==null?u.sibling=D:h.child=D,S.last=D)}return S.tail!==null?(u=S.tail,S.rendering=u,S.tail=u.sibling,S.renderingStartTime=k(),u.sibling=null,v=Ti.current,ae(Ti,C?v&1|2:v&1),xn&&al(h,S.treeForkCount),u):(ei(h),null);case 22:case 23:return $a(h),wM(),S=h.memoizedState!==null,u!==null?u.memoizedState!==null!==S&&(h.flags|=8192):S&&(h.flags|=8192),S?(v&536870912)!==0&&(h.flags&128)===0&&(ei(h),h.subtreeFlags&6&&(h.flags|=8192)):ei(h),v=h.updateQueue,v!==null&&Cv(h,v.retryQueue),v=null,u!==null&&u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(v=u.memoizedState.cachePool.pool),S=null,h.memoizedState!==null&&h.memoizedState.cachePool!==null&&(S=h.memoizedState.cachePool.pool),S!==v&&(h.flags|=2048),u!==null&&Y(fd),null;case 24:return v=null,u!==null&&(v=u.memoizedState.cache),h.memoizedState.cache!==v&&(h.flags|=2048),ol(ki),ei(h),null;case 25:return null;case 30:return null}throw Error(i(156,h.tag))}function AJ(u,h){switch(lM(h),h.tag){case 1:return u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 3:return ol(ki),pe(),u=h.flags,(u&65536)!==0&&(u&128)===0?(h.flags=u&-65537|128,h):null;case 26:case 27:case 5:return ze(h),null;case 31:if(h.memoizedState!==null){if($a(h),h.alternate===null)throw Error(i(340));cd()}return u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 13:if($a(h),u=h.memoizedState,u!==null&&u.dehydrated!==null){if(h.alternate===null)throw Error(i(340));cd()}return u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 19:return Y(Ti),null;case 4:return pe(),null;case 10:return ol(h.type),null;case 22:case 23:return $a(h),wM(),u!==null&&Y(fd),u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 24:return ol(ki),null;case 25:return null;default:return null}}function NI(u,h){switch(lM(h),h.tag){case 3:ol(ki),pe();break;case 26:case 27:case 5:ze(h);break;case 4:pe();break;case 31:h.memoizedState!==null&&$a(h);break;case 13:$a(h);break;case 19:Y(Ti);break;case 10:ol(h.type);break;case 22:case 23:$a(h),wM(),u!==null&&Y(fd);break;case 24:ol(ki)}}function Xm(u,h){try{var v=h.updateQueue,S=v!==null?v.lastEffect:null;if(S!==null){var C=S.next;v=C;do{if((v.tag&u)===u){S=void 0;var D=v.create,H=v.inst;S=D(),H.destroy=S}v=v.next}while(v!==C)}}catch(ne){Dn(h,h.return,ne)}}function Oc(u,h,v){try{var S=h.updateQueue,C=S!==null?S.lastEffect:null;if(C!==null){var D=C.next;S=D;do{if((S.tag&u)===u){var H=S.inst,ne=H.destroy;if(ne!==void 0){H.destroy=void 0,C=h;var _e=v,je=ne;try{je()}catch(Qe){Dn(C,_e,Qe)}}}S=S.next}while(S!==D)}}catch(Qe){Dn(h,h.return,Qe)}}function RI(u){var h=u.updateQueue;if(h!==null){var v=u.stateNode;try{bL(h,v)}catch(S){Dn(u,u.return,S)}}}function PI(u,h,v){v.props=xd(u.type,u.memoizedProps),v.state=u.memoizedState;try{v.componentWillUnmount()}catch(S){Dn(u,h,S)}}function Km(u,h){try{var v=u.ref;if(v!==null){switch(u.tag){case 26:case 27:case 5:var S=u.stateNode;break;case 30:S=u.stateNode;break;default:S=u.stateNode}typeof v=="function"?u.refCleanup=v(S):v.current=S}}catch(C){Dn(u,h,C)}}function Eo(u,h){var v=u.ref,S=u.refCleanup;if(v!==null)if(typeof S=="function")try{S()}catch(C){Dn(u,h,C)}finally{u.refCleanup=null,u=u.alternate,u!=null&&(u.refCleanup=null)}else if(typeof v=="function")try{v(null)}catch(C){Dn(u,h,C)}else v.current=null}function DI(u){var h=u.type,v=u.memoizedProps,S=u.stateNode;try{e:switch(h){case"button":case"input":case"select":case"textarea":v.autoFocus&&S.focus();break e;case"img":v.src?S.src=v.src:v.srcSet&&(S.srcset=v.srcSet)}}catch(C){Dn(u,u.return,C)}}function tE(u,h,v){try{var S=u.stateNode;XJ(S,u.type,v,h),S[Ei]=h}catch(C){Dn(u,u.return,C)}}function OI(u){return u.tag===5||u.tag===3||u.tag===26||u.tag===27&&zc(u.type)||u.tag===4}function nE(u){e:for(;;){for(;u.sibling===null;){if(u.return===null||OI(u.return))return null;u=u.return}for(u.sibling.return=u.return,u=u.sibling;u.tag!==5&&u.tag!==6&&u.tag!==18;){if(u.tag===27&&zc(u.type)||u.flags&2||u.child===null||u.tag===4)continue e;u.child.return=u,u=u.child}if(!(u.flags&2))return u.stateNode}}function iE(u,h,v){var S=u.tag;if(S===5||S===6)u=u.stateNode,h?(v.nodeType===9?v.body:v.nodeName==="HTML"?v.ownerDocument.body:v).insertBefore(u,h):(h=v.nodeType===9?v.body:v.nodeName==="HTML"?v.ownerDocument.body:v,h.appendChild(u),v=v._reactRootContainer,v!=null||h.onclick!==null||(h.onclick=nl));else if(S!==4&&(S===27&&zc(u.type)&&(v=u.stateNode,h=null),u=u.child,u!==null))for(iE(u,h,v),u=u.sibling;u!==null;)iE(u,h,v),u=u.sibling}function Nv(u,h,v){var S=u.tag;if(S===5||S===6)u=u.stateNode,h?v.insertBefore(u,h):v.appendChild(u);else if(S!==4&&(S===27&&zc(u.type)&&(v=u.stateNode),u=u.child,u!==null))for(Nv(u,h,v),u=u.sibling;u!==null;)Nv(u,h,v),u=u.sibling}function kI(u){var h=u.stateNode,v=u.memoizedProps;try{for(var S=u.type,C=h.attributes;C.length;)h.removeAttributeNode(C[0]);Or(h,S,v),h[di]=u,h[Ei]=v}catch(D){Dn(u,u.return,D)}}var fl=!1,Ui=!1,rE=!1,LI=typeof WeakSet=="function"?WeakSet:Set,gr=null;function TJ(u,h){if(u=u.containerInfo,EE=Yv,u=qk(u),Zw(u)){if("selectionStart"in u)var v={start:u.selectionStart,end:u.selectionEnd};else e:{v=(v=u.ownerDocument)&&v.defaultView||window;var S=v.getSelection&&v.getSelection();if(S&&S.rangeCount!==0){v=S.anchorNode;var C=S.anchorOffset,D=S.focusNode;S=S.focusOffset;try{v.nodeType,D.nodeType}catch{v=null;break e}var H=0,ne=-1,_e=-1,je=0,Qe=0,rt=u,Ve=null;t:for(;;){for(var Ke;rt!==v||C!==0&&rt.nodeType!==3||(ne=H+C),rt!==D||S!==0&&rt.nodeType!==3||(_e=H+S),rt.nodeType===3&&(H+=rt.nodeValue.length),(Ke=rt.firstChild)!==null;)Ve=rt,rt=Ke;for(;;){if(rt===u)break t;if(Ve===v&&++je===C&&(ne=H),Ve===D&&++Qe===S&&(_e=H),(Ke=rt.nextSibling)!==null)break;rt=Ve,Ve=rt.parentNode}rt=Ke}v=ne===-1||_e===-1?null:{start:ne,end:_e}}else v=null}v=v||{start:0,end:0}}else v=null;for(AE={focusedElem:u,selectionRange:v},Yv=!1,gr=h;gr!==null;)if(h=gr,u=h.child,(h.subtreeFlags&1028)!==0&&u!==null)u.return=h,gr=u;else for(;gr!==null;){switch(h=gr,D=h.alternate,u=h.flags,h.tag){case 0:if((u&4)!==0&&(u=h.updateQueue,u=u!==null?u.events:null,u!==null))for(v=0;v title"))),Or(D,S,v),D[di]=u,Te(D),S=D;break e;case"link":var H=BU("link","href",C).get(S+(v.href||""));if(H){for(var ne=0;neUn&&(H=Un,Un=jt,jt=H);var Oe=$k(ne,jt),Ee=$k(ne,Un);if(Oe&&Ee&&(Ke.rangeCount!==1||Ke.anchorNode!==Oe.node||Ke.anchorOffset!==Oe.offset||Ke.focusNode!==Ee.node||Ke.focusOffset!==Ee.offset)){var Fe=rt.createRange();Fe.setStart(Oe.node,Oe.offset),Ke.removeAllRanges(),jt>Un?(Ke.addRange(Fe),Ke.extend(Ee.node,Ee.offset)):(Fe.setEnd(Ee.node,Ee.offset),Ke.addRange(Fe))}}}}for(rt=[],Ke=ne;Ke=Ke.parentNode;)Ke.nodeType===1&&rt.push({element:Ke,left:Ke.scrollLeft,top:Ke.scrollTop});for(typeof ne.focus=="function"&&ne.focus(),ne=0;nev?32:v,q.T=null,v=dE,dE=null;var D=Uc,H=xl;if(Zi=0,ch=Uc=null,xl=0,(An&6)!==0)throw Error(i(331));var ne=An;if(An|=4,WI(D.current),VI(D,D.current,H,v),An=ne,tg(0,!1),Re&&typeof Re.onPostCommitFiberRoot=="function")try{Re.onPostCommitFiberRoot(Ie,D)}catch{}return!0}finally{W.p=C,q.T=S,uU(u,h)}}function fU(u,h,v){h=fs(v,h),h=GM(u.stateNode,h,2),u=Rc(u,h,2),u!==null&&(rn(u,2),Ao(u))}function Dn(u,h,v){if(u.tag===3)fU(u,u,v);else for(;h!==null;){if(h.tag===3){fU(h,u,v);break}else if(h.tag===1){var S=h.stateNode;if(typeof h.type.getDerivedStateFromError=="function"||typeof S.componentDidCatch=="function"&&(Ic===null||!Ic.has(S))){u=fs(v,u),v=hI(2),S=Rc(h,v,2),S!==null&&(pI(v,S,h,u),rn(S,2),Ao(S));break}}h=h.return}}function mE(u,h,v){var S=u.pingCache;if(S===null){S=u.pingCache=new RJ;var C=new Set;S.set(h,C)}else C=S.get(h),C===void 0&&(C=new Set,S.set(h,C));C.has(v)||(oE=!0,C.add(v),u=LJ.bind(null,u,h,v),h.then(u,u))}function LJ(u,h,v){var S=u.pingCache;S!==null&&S.delete(h),u.pingedLanes|=u.suspendedLanes&v,u.warmLanes&=~v,Wn===u&&(hn&v)===v&&(bi===4||bi===3&&(hn&62914560)===hn&&300>k()-Dv?(An&2)===0&&uh(u,0):lE|=v,lh===hn&&(lh=0)),Ao(u)}function hU(u,h){h===0&&(h=bt()),u=od(u,h),u!==null&&(rn(u,h),Ao(u))}function IJ(u){var h=u.memoizedState,v=0;h!==null&&(v=h.retryLane),hU(u,v)}function UJ(u,h){var v=0;switch(u.tag){case 31:case 13:var S=u.stateNode,C=u.memoizedState;C!==null&&(v=C.retryLane);break;case 19:S=u.stateNode;break;case 22:S=u.stateNode._retryCache;break;default:throw Error(i(314))}S!==null&&S.delete(h),hU(u,v)}function FJ(u,h){return De(u,h)}var jv=null,fh=null,gE=!1,zv=!1,xE=!1,jc=0;function Ao(u){u!==fh&&u.next===null&&(fh===null?jv=fh=u:fh=fh.next=u),zv=!0,gE||(gE=!0,zJ())}function tg(u,h){if(!xE&&zv){xE=!0;do for(var v=!1,S=jv;S!==null;){if(u!==0){var C=S.pendingLanes;if(C===0)var D=0;else{var H=S.suspendedLanes,ne=S.pingedLanes;D=(1<<31-et(42|u)+1)-1,D&=C&~(H&~ne),D=D&201326741?D&201326741|1:D?D|2:0}D!==0&&(v=!0,xU(S,D))}else D=hn,D=ge(S,S===Wn?D:0,S.cancelPendingCommit!==null||S.timeoutHandle!==-1),(D&3)===0||Be(S,D)||(v=!0,xU(S,D));S=S.next}while(v);xE=!1}}function jJ(){pU()}function pU(){zv=gE=!1;var u=0;jc!==0&&YJ()&&(u=jc);for(var h=k(),v=null,S=jv;S!==null;){var C=S.next,D=mU(S,h);D===0?(S.next=null,v===null?jv=C:v.next=C,C===null&&(fh=v)):(v=S,(u!==0||(D&3)!==0)&&(zv=!0)),S=C}Zi!==0&&Zi!==5||tg(u),jc!==0&&(jc=0)}function mU(u,h){for(var v=u.suspendedLanes,S=u.pingedLanes,C=u.expirationTimes,D=u.pendingLanes&-62914561;0ne)break;var Qe=_e.transferSize,rt=_e.initiatorType;Qe&&EU(rt)&&(_e=_e.responseEnd,H+=Qe*(_e"u"?null:document;function UU(u,h,v){var S=hh;if(S&&typeof h=="string"&&h){var C=Tn(h);C='link[rel="'+u+'"][href="'+C+'"]',typeof v=="string"&&(C+='[crossorigin="'+v+'"]'),IU.has(C)||(IU.add(C),u={rel:u,crossOrigin:v,href:h},S.querySelector(C)===null&&(h=S.createElement("link"),Or(h,"link",u),Te(h),S.head.appendChild(h)))}}function aee(u){vl.D(u),UU("dns-prefetch",u,null)}function see(u,h){vl.C(u,h),UU("preconnect",u,h)}function oee(u,h,v){vl.L(u,h,v);var S=hh;if(S&&u&&h){var C='link[rel="preload"][as="'+Tn(h)+'"]';h==="image"&&v&&v.imageSrcSet?(C+='[imagesrcset="'+Tn(v.imageSrcSet)+'"]',typeof v.imageSizes=="string"&&(C+='[imagesizes="'+Tn(v.imageSizes)+'"]')):C+='[href="'+Tn(u)+'"]';var D=C;switch(h){case"style":D=ph(u);break;case"script":D=mh(u)}vs.has(D)||(u=f({rel:"preload",href:h==="image"&&v&&v.imageSrcSet?void 0:u,as:h},v),vs.set(D,u),S.querySelector(C)!==null||h==="style"&&S.querySelector(ag(D))||h==="script"&&S.querySelector(sg(D))||(h=S.createElement("link"),Or(h,"link",u),Te(h),S.head.appendChild(h)))}}function lee(u,h){vl.m(u,h);var v=hh;if(v&&u){var S=h&&typeof h.as=="string"?h.as:"script",C='link[rel="modulepreload"][as="'+Tn(S)+'"][href="'+Tn(u)+'"]',D=C;switch(S){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":D=mh(u)}if(!vs.has(D)&&(u=f({rel:"modulepreload",href:u},h),vs.set(D,u),v.querySelector(C)===null)){switch(S){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(v.querySelector(sg(D)))return}S=v.createElement("link"),Or(S,"link",u),Te(S),v.head.appendChild(S)}}}function cee(u,h,v){vl.S(u,h,v);var S=hh;if(S&&u){var C=Ce(S).hoistableStyles,D=ph(u);h=h||"default";var H=C.get(D);if(!H){var ne={loading:0,preload:null};if(H=S.querySelector(ag(D)))ne.loading=5;else{u=f({rel:"stylesheet",href:u,"data-precedence":h},v),(v=vs.get(D))&&OE(u,v);var _e=H=S.createElement("link");Te(_e),Or(_e,"link",u),_e._p=new Promise(function(je,Qe){_e.onload=je,_e.onerror=Qe}),_e.addEventListener("load",function(){ne.loading|=1}),_e.addEventListener("error",function(){ne.loading|=2}),ne.loading|=4,$v(H,h,S)}H={type:"stylesheet",instance:H,count:1,state:ne},C.set(D,H)}}}function uee(u,h){vl.X(u,h);var v=hh;if(v&&u){var S=Ce(v).hoistableScripts,C=mh(u),D=S.get(C);D||(D=v.querySelector(sg(C)),D||(u=f({src:u,async:!0},h),(h=vs.get(C))&&kE(u,h),D=v.createElement("script"),Te(D),Or(D,"link",u),v.head.appendChild(D)),D={type:"script",instance:D,count:1,state:null},S.set(C,D))}}function dee(u,h){vl.M(u,h);var v=hh;if(v&&u){var S=Ce(v).hoistableScripts,C=mh(u),D=S.get(C);D||(D=v.querySelector(sg(C)),D||(u=f({src:u,async:!0,type:"module"},h),(h=vs.get(C))&&kE(u,h),D=v.createElement("script"),Te(D),Or(D,"link",u),v.head.appendChild(D)),D={type:"script",instance:D,count:1,state:null},S.set(C,D))}}function FU(u,h,v,S){var C=(C=ie.current)?Gv(C):null;if(!C)throw Error(i(446));switch(u){case"meta":case"title":return null;case"style":return typeof v.precedence=="string"&&typeof v.href=="string"?(h=ph(v.href),v=Ce(C).hoistableStyles,S=v.get(h),S||(S={type:"style",instance:null,count:0,state:null},v.set(h,S)),S):{type:"void",instance:null,count:0,state:null};case"link":if(v.rel==="stylesheet"&&typeof v.href=="string"&&typeof v.precedence=="string"){u=ph(v.href);var D=Ce(C).hoistableStyles,H=D.get(u);if(H||(C=C.ownerDocument||C,H={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},D.set(u,H),(D=C.querySelector(ag(u)))&&!D._p&&(H.instance=D,H.state.loading=5),vs.has(u)||(v={rel:"preload",as:"style",href:v.href,crossOrigin:v.crossOrigin,integrity:v.integrity,media:v.media,hrefLang:v.hrefLang,referrerPolicy:v.referrerPolicy},vs.set(u,v),D||fee(C,u,v,H.state))),h&&S===null)throw Error(i(528,""));return H}if(h&&S!==null)throw Error(i(529,""));return null;case"script":return h=v.async,v=v.src,typeof v=="string"&&h&&typeof h!="function"&&typeof h!="symbol"?(h=mh(v),v=Ce(C).hoistableScripts,S=v.get(h),S||(S={type:"script",instance:null,count:0,state:null},v.set(h,S)),S):{type:"void",instance:null,count:0,state:null};default:throw Error(i(444,u))}}function ph(u){return'href="'+Tn(u)+'"'}function ag(u){return'link[rel="stylesheet"]['+u+"]"}function jU(u){return f({},u,{"data-precedence":u.precedence,precedence:null})}function fee(u,h,v,S){u.querySelector('link[rel="preload"][as="style"]['+h+"]")?S.loading=1:(h=u.createElement("link"),S.preload=h,h.addEventListener("load",function(){return S.loading|=1}),h.addEventListener("error",function(){return S.loading|=2}),Or(h,"link",v),Te(h),u.head.appendChild(h))}function mh(u){return'[src="'+Tn(u)+'"]'}function sg(u){return"script[async]"+u}function zU(u,h,v){if(h.count++,h.instance===null)switch(h.type){case"style":var S=u.querySelector('style[data-href~="'+Tn(v.href)+'"]');if(S)return h.instance=S,Te(S),S;var C=f({},v,{"data-href":v.href,"data-precedence":v.precedence,href:null,precedence:null});return S=(u.ownerDocument||u).createElement("style"),Te(S),Or(S,"style",C),$v(S,v.precedence,u),h.instance=S;case"stylesheet":C=ph(v.href);var D=u.querySelector(ag(C));if(D)return h.state.loading|=4,h.instance=D,Te(D),D;S=jU(v),(C=vs.get(C))&&OE(S,C),D=(u.ownerDocument||u).createElement("link"),Te(D);var H=D;return H._p=new Promise(function(ne,_e){H.onload=ne,H.onerror=_e}),Or(D,"link",S),h.state.loading|=4,$v(D,v.precedence,u),h.instance=D;case"script":return D=mh(v.src),(C=u.querySelector(sg(D)))?(h.instance=C,Te(C),C):(S=v,(C=vs.get(D))&&(S=f({},v),kE(S,C)),u=u.ownerDocument||u,C=u.createElement("script"),Te(C),Or(C,"link",S),u.head.appendChild(C),h.instance=C);case"void":return null;default:throw Error(i(443,h.type))}else h.type==="stylesheet"&&(h.state.loading&4)===0&&(S=h.instance,h.state.loading|=4,$v(S,v.precedence,u));return h.instance}function $v(u,h,v){for(var S=v.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),C=S.length?S[S.length-1]:null,D=C,H=0;H title"):null)}function hee(u,h,v){if(v===1||h.itemProp!=null)return!1;switch(u){case"meta":case"title":return!0;case"style":if(typeof h.precedence!="string"||typeof h.href!="string"||h.href==="")break;return!0;case"link":if(typeof h.rel!="string"||typeof h.href!="string"||h.href===""||h.onLoad||h.onError)break;switch(h.rel){case"stylesheet":return u=h.disabled,typeof h.precedence=="string"&&u==null;default:return!0}case"script":if(h.async&&typeof h.async!="function"&&typeof h.async!="symbol"&&!h.onLoad&&!h.onError&&h.src&&typeof h.src=="string")return!0}return!1}function VU(u){return!(u.type==="stylesheet"&&(u.state.loading&3)===0)}function pee(u,h,v,S){if(v.type==="stylesheet"&&(typeof S.media!="string"||matchMedia(S.media).matches!==!1)&&(v.state.loading&4)===0){if(v.instance===null){var C=ph(S.href),D=h.querySelector(ag(C));if(D){h=D._p,h!==null&&typeof h=="object"&&typeof h.then=="function"&&(u.count++,u=qv.bind(u),h.then(u,u)),v.state.loading|=4,v.instance=D,Te(D);return}D=h.ownerDocument||h,S=jU(S),(C=vs.get(C))&&OE(S,C),D=D.createElement("link"),Te(D);var H=D;H._p=new Promise(function(ne,_e){H.onload=ne,H.onerror=_e}),Or(D,"link",S),v.instance=D}u.stylesheets===null&&(u.stylesheets=new Map),u.stylesheets.set(v,h),(h=v.state.preload)&&(v.state.loading&3)===0&&(u.count++,v=qv.bind(u),h.addEventListener("load",v),h.addEventListener("error",v))}}var LE=0;function mee(u,h){return u.stylesheets&&u.count===0&&Kv(u,u.stylesheets),0LE?50:800)+h);return u.unsuspend=v,function(){u.unsuspend=null,clearTimeout(S),clearTimeout(C)}}:null}function qv(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Kv(this,this.stylesheets);else if(this.unsuspend){var u=this.unsuspend;this.unsuspend=null,u()}}}var Xv=null;function Kv(u,h){u.stylesheets=null,u.unsuspend!==null&&(u.count++,Xv=new Map,h.forEach(gee,u),Xv=null,qv.call(u))}function gee(u,h){if(!(h.state.loading&4)){var v=Xv.get(u);if(v)var S=v.get(null);else{v=new Map,Xv.set(u,v);for(var C=u.querySelectorAll("link[data-precedence],style[data-precedence]"),D=0;D"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),GE.exports=Oee(),GE.exports}var Lee=kee();var h4="popstate";function Iee(t={}){function e(i,r){let{pathname:a,search:s,hash:o}=i.location;return PC("",{pathname:a,search:s,hash:o},r.state&&r.state.usr||null,r.state&&r.state.key||"default")}function n(i,r){return typeof r=="string"?r:m0(r)}return Fee(e,n,null,t)}function hi(t,e){if(t===!1||t===null||typeof t>"u")throw new Error(e)}function go(t,e){if(!t){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function Uee(){return Math.random().toString(36).substring(2,10)}function p4(t,e){return{usr:t.state,key:t.key,idx:e}}function PC(t,e,n=null,i){return{pathname:typeof t=="string"?t:t.pathname,search:"",hash:"",...typeof e=="string"?em(e):e,state:n,key:e&&e.key||i||Uee()}}function m0({pathname:t="/",search:e="",hash:n=""}){return e&&e!=="?"&&(t+=e.charAt(0)==="?"?e:"?"+e),n&&n!=="#"&&(t+=n.charAt(0)==="#"?n:"#"+n),t}function em(t){let e={};if(t){let n=t.indexOf("#");n>=0&&(e.hash=t.substring(n),t=t.substring(0,n));let i=t.indexOf("?");i>=0&&(e.search=t.substring(i),t=t.substring(0,i)),t&&(e.pathname=t)}return e}function Fee(t,e,n,i={}){let{window:r=document.defaultView,v5Compat:a=!1}=i,s=r.history,o="POP",l=null,c=d();c==null&&(c=0,s.replaceState({...s.state,idx:c},""));function d(){return(s.state||{idx:null}).idx}function f(){o="POP";let y=d(),x=y==null?null:y-c;c=y,l&&l({action:o,location:b.location,delta:x})}function p(y,x){o="PUSH";let M=PC(b.location,y,x);c=d()+1;let w=p4(M,c),E=b.createHref(M);try{s.pushState(w,"",E)}catch(A){if(A instanceof DOMException&&A.name==="DataCloneError")throw A;r.location.assign(E)}a&&l&&l({action:o,location:b.location,delta:1})}function m(y,x){o="REPLACE";let M=PC(b.location,y,x);c=d();let w=p4(M,c),E=b.createHref(M);s.replaceState(w,"",E),a&&l&&l({action:o,location:b.location,delta:0})}function _(y){return jee(y)}let b={get action(){return o},get location(){return t(r,s)},listen(y){if(l)throw new Error("A history only accepts one active listener");return r.addEventListener(h4,f),l=y,()=>{r.removeEventListener(h4,f),l=null}},createHref(y){return e(r,y)},createURL:_,encodeLocation(y){let x=_(y);return{pathname:x.pathname,search:x.search,hash:x.hash}},push:p,replace:m,go(y){return s.go(y)}};return b}function jee(t,e=!1){let n="http://localhost";typeof window<"u"&&(n=window.location.origin!=="null"?window.location.origin:window.location.href),hi(n,"No window.location.(origin|href) available to create URL");let i=typeof t=="string"?t:m0(t);return i=i.replace(/ $/,"%20"),!e&&i.startsWith("//")&&(i=n+i),new URL(i,n)}function JV(t,e,n="/"){return zee(t,e,n,!1)}function zee(t,e,n,i){let r=typeof e=="string"?em(e):e,a=ic(r.pathname||"/",n);if(a==null)return null;let s=eG(t);Bee(s);let o=null;for(let l=0;o==null&&l{let d={relativePath:c===void 0?s.path||"":c,caseSensitive:s.caseSensitive===!0,childrenIndex:o,route:s};if(d.relativePath.startsWith("/")){if(!d.relativePath.startsWith(i)&&l)return;hi(d.relativePath.startsWith(i),`Absolute route path "${d.relativePath}" nested under path "${i}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),d.relativePath=d.relativePath.slice(i.length)}let f=Kl([i,d.relativePath]),p=n.concat(d);s.children&&s.children.length>0&&(hi(s.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${f}".`),eG(s.children,e,p,f,l)),!(s.path==null&&!s.index)&&e.push({path:f,score:Xee(f,s.index),routesMeta:p})};return t.forEach((s,o)=>{if(s.path===""||!s.path?.includes("?"))a(s,o);else for(let l of tG(s.path))a(s,o,!0,l)}),e}function tG(t){let e=t.split("/");if(e.length===0)return[];let[n,...i]=e,r=n.endsWith("?"),a=n.replace(/\?$/,"");if(i.length===0)return r?[a,""]:[a];let s=tG(i.join("/")),o=[];return o.push(...s.map(l=>l===""?a:[a,l].join("/"))),r&&o.push(...s),o.map(l=>t.startsWith("/")&&l===""?"/":l)}function Bee(t){t.sort((e,n)=>e.score!==n.score?n.score-e.score:Kee(e.routesMeta.map(i=>i.childrenIndex),n.routesMeta.map(i=>i.childrenIndex)))}var Hee=/^:[\w-]+$/,Vee=3,Gee=2,$ee=1,Wee=10,qee=-2,m4=t=>t==="*";function Xee(t,e){let n=t.split("/"),i=n.length;return n.some(m4)&&(i+=qee),e&&(i+=Gee),n.filter(r=>!m4(r)).reduce((r,a)=>r+(Hee.test(a)?Vee:a===""?$ee:Wee),i)}function Kee(t,e){return t.length===e.length&&t.slice(0,-1).every((i,r)=>i===e[r])?t[t.length-1]-e[e.length-1]:0}function Yee(t,e,n=!1){let{routesMeta:i}=t,r={},a="/",s=[];for(let o=0;o{if(d==="*"){let _=o[p]||"";s=a.slice(0,a.length-_.length).replace(/(.)\/+$/,"$1")}const m=o[p];return f&&!m?c[d]=void 0:c[d]=(m||"").replace(/%2F/g,"/"),c},{}),pathname:a,pathnameBase:s,pattern:t}}function Zee(t,e=!1,n=!0){go(t==="*"||!t.endsWith("*")||t.endsWith("/*"),`Route path "${t}" will be treated as if it were "${t.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${t.replace(/\*$/,"/*")}".`);let i=[],r="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(s,o,l)=>(i.push({paramName:o,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return t.endsWith("*")?(i.push({paramName:"*"}),r+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?r+="\\/*$":t!==""&&t!=="/"&&(r+="(?:(?=\\/|$))"),[new RegExp(r,e?void 0:"i"),i]}function Qee(t){try{return t.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(e){return go(!1,`The URL path "${t}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${e}).`),t}}function ic(t,e){if(e==="/")return t;if(!t.toLowerCase().startsWith(e.toLowerCase()))return null;let n=e.endsWith("/")?e.length-1:e.length,i=t.charAt(n);return i&&i!=="/"?null:t.slice(n)||"/"}var Jee=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ete=t=>Jee.test(t);function tte(t,e="/"){let{pathname:n,search:i="",hash:r=""}=typeof t=="string"?em(t):t,a;if(n)if(ete(n))a=n;else{if(n.includes("//")){let s=n;n=n.replace(/\/\/+/g,"/"),go(!1,`Pathnames cannot have embedded double slashes - normalizing ${s} -> ${n}`)}n.startsWith("/")?a=g4(n.substring(1),"/"):a=g4(n,e)}else a=e;return{pathname:a,search:rte(i),hash:ate(r)}}function g4(t,e){let n=e.replace(/\/+$/,"").split("/");return t.split("/").forEach(r=>{r===".."?n.length>1&&n.pop():r!=="."&&n.push(r)}),n.length>1?n.join("/"):"/"}function XE(t,e,n,i){return`Cannot include a '${t}' character in a manually specified \`to.${e}\` field [${JSON.stringify(i)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function nte(t){return t.filter((e,n)=>n===0||e.route.path&&e.route.path.length>0)}function nG(t){let e=nte(t);return e.map((n,i)=>i===e.length-1?n.pathname:n.pathnameBase)}function iG(t,e,n,i=!1){let r;typeof t=="string"?r=em(t):(r={...t},hi(!r.pathname||!r.pathname.includes("?"),XE("?","pathname","search",r)),hi(!r.pathname||!r.pathname.includes("#"),XE("#","pathname","hash",r)),hi(!r.search||!r.search.includes("#"),XE("#","search","hash",r)));let a=t===""||r.pathname==="",s=a?"/":r.pathname,o;if(s==null)o=n;else{let f=e.length-1;if(!i&&s.startsWith("..")){let p=s.split("/");for(;p[0]==="..";)p.shift(),f-=1;r.pathname=p.join("/")}o=f>=0?e[f]:"/"}let l=tte(r,o),c=s&&s!=="/"&&s.endsWith("/"),d=(a||s===".")&&n.endsWith("/");return!l.pathname.endsWith("/")&&(c||d)&&(l.pathname+="/"),l}var Kl=t=>t.join("/").replace(/\/\/+/g,"/"),ite=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),rte=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,ate=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t;function ste(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var rG=["POST","PUT","PATCH","DELETE"];new Set(rG);var ote=["GET",...rG];new Set(ote);var tm=T.createContext(null);tm.displayName="DataRouter";var fS=T.createContext(null);fS.displayName="DataRouterState";T.createContext(!1);var aG=T.createContext({isTransitioning:!1});aG.displayName="ViewTransition";var lte=T.createContext(new Map);lte.displayName="Fetchers";var cte=T.createContext(null);cte.displayName="Await";var Zo=T.createContext(null);Zo.displayName="Navigation";var sx=T.createContext(null);sx.displayName="Location";var Qo=T.createContext({outlet:null,matches:[],isDataRoute:!1});Qo.displayName="Route";var UR=T.createContext(null);UR.displayName="RouteError";function ute(t,{relative:e}={}){hi(ox(),"useHref() may be used only in the context of a component.");let{basename:n,navigator:i}=T.useContext(Zo),{hash:r,pathname:a,search:s}=lx(t,{relative:e}),o=a;return n!=="/"&&(o=a==="/"?n:Kl([n,a])),i.createHref({pathname:o,search:s,hash:r})}function ox(){return T.useContext(sx)!=null}function Ku(){return hi(ox(),"useLocation() may be used only in the context of a component."),T.useContext(sx).location}var sG="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function oG(t){T.useContext(Zo).static||T.useLayoutEffect(t)}function lG(){let{isDataRoute:t}=T.useContext(Qo);return t?Ete():dte()}function dte(){hi(ox(),"useNavigate() may be used only in the context of a component.");let t=T.useContext(tm),{basename:e,navigator:n}=T.useContext(Zo),{matches:i}=T.useContext(Qo),{pathname:r}=Ku(),a=JSON.stringify(nG(i)),s=T.useRef(!1);return oG(()=>{s.current=!0}),T.useCallback((l,c={})=>{if(go(s.current,sG),!s.current)return;if(typeof l=="number"){n.go(l);return}let d=iG(l,JSON.parse(a),r,c.relative==="path");t==null&&e!=="/"&&(d.pathname=d.pathname==="/"?e:Kl([e,d.pathname])),(c.replace?n.replace:n.push)(d,c.state,c)},[e,n,a,r,t])}var fte=T.createContext(null);function hte(t){let e=T.useContext(Qo).outlet;return T.useMemo(()=>e&&T.createElement(fte.Provider,{value:t},e),[e,t])}function lx(t,{relative:e}={}){let{matches:n}=T.useContext(Qo),{pathname:i}=Ku(),r=JSON.stringify(nG(n));return T.useMemo(()=>iG(t,JSON.parse(r),i,e==="path"),[t,r,i,e])}function pte(t,e){return cG(t,e)}function cG(t,e,n,i,r){hi(ox(),"useRoutes() may be used only in the context of a component.");let{navigator:a}=T.useContext(Zo),{matches:s}=T.useContext(Qo),o=s[s.length-1],l=o?o.params:{},c=o?o.pathname:"/",d=o?o.pathnameBase:"/",f=o&&o.route;{let M=f&&f.path||"";uG(c,!f||M.endsWith("*")||M.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${c}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. +`+S.stack}}var oe=Object.prototype.hasOwnProperty,De=t.unstable_scheduleCallback,Ne=t.unstable_cancelCallback,te=t.unstable_shouldYield,j=t.unstable_requestPaint,k=t.unstable_now,K=t.unstable_getCurrentPriorityLevel,me=t.unstable_ImmediatePriority,ye=t.unstable_UserBlockingPriority,he=t.unstable_NormalPriority,Ye=t.unstable_LowPriority,Le=t.unstable_IdlePriority,qe=t.log,rt=t.unstable_setDisableYieldValue,Ie=null,Re=null;function ht(u){if(typeof qe=="function"&&rt(u),Re&&typeof Re.setStrictMode=="function")try{Re.setStrictMode(Ie,u)}catch{}}var tt=Math.clz32?Math.clz32:de,et=Math.log,ct=Math.LN2;function de(u){return u>>>=0,u===0?32:31-(et(u)/ct|0)|0}var nt=256,fe=262144,ke=4194304;function Me(u){var h=u&42;if(h!==0)return h;switch(u&-u){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return u&261888;case 262144:case 524288:case 1048576:case 2097152:return u&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return u&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return u}}function ge(u,h,v){var S=u.pendingLanes;if(S===0)return 0;var C=0,D=u.suspendedLanes,V=u.pingedLanes;u=u.warmLanes;var ne=S&134217727;return ne!==0?(S=ne&~D,S!==0?C=Me(S):(V&=ne,V!==0?C=Me(V):v||(v=ne&~u,v!==0&&(C=Me(v))))):(ne=S&~D,ne!==0?C=Me(ne):V!==0?C=Me(V):v||(v=S&~u,v!==0&&(C=Me(v)))),C===0?0:h!==0&&h!==C&&(h&D)===0&&(D=C&-C,v=h&-h,D>=v||D===32&&(v&4194048)!==0)?h:C}function Be(u,h){return(u.pendingLanes&~(u.suspendedLanes&~u.pingedLanes)&h)===0}function ot(u,h){switch(u){case 1:case 2:case 4:case 8:case 64:return h+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return h+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function bt(){var u=ke;return ke<<=1,(ke&62914560)===0&&(ke=4194304),u}function Nt(u){for(var h=[],v=0;31>v;v++)h.push(u);return h}function an(u,h){u.pendingLanes|=h,h!==268435456&&(u.suspendedLanes=0,u.pingedLanes=0,u.warmLanes=0)}function Dt(u,h,v,S,C,D){var V=u.pendingLanes;u.pendingLanes=v,u.suspendedLanes=0,u.pingedLanes=0,u.warmLanes=0,u.expiredLanes&=v,u.entangledLanes&=v,u.errorRecoveryDisabledLanes&=v,u.shellSuspendCounter=0;var ne=u.entanglements,_e=u.expirationTimes,Fe=u.hiddenUpdates;for(v=V&~v;0"u")return null;try{return u.activeElement||u.body}catch{return u.body}}var Ai=/[\n"\\]/g;function Tn(u){return u.replace(Ai,function(h){return"\\"+h.charCodeAt(0).toString(16)+" "})}function Xs(u,h,v,S,C,D,V,ne){u.name="",V!=null&&typeof V!="function"&&typeof V!="symbol"&&typeof V!="boolean"?u.type=V:u.removeAttribute("type"),h!=null?V==="number"?(h===0&&u.value===""||u.value!=h)&&(u.value=""+on(h)):u.value!==""+on(h)&&(u.value=""+on(h)):V!=="submit"&&V!=="reset"||u.removeAttribute("value"),h!=null?pr(u,V,on(h)):v!=null?pr(u,V,on(v)):S!=null&&u.removeAttribute("value"),C==null&&D!=null&&(u.defaultChecked=!!D),C!=null&&(u.checked=C&&typeof C!="function"&&typeof C!="symbol"),ne!=null&&typeof ne!="function"&&typeof ne!="symbol"&&typeof ne!="boolean"?u.name=""+on(ne):u.removeAttribute("name")}function Rn(u,h,v,S,C,D,V,ne){if(D!=null&&typeof D!="function"&&typeof D!="symbol"&&typeof D!="boolean"&&(u.type=D),h!=null||v!=null){if(!(D!=="submit"&&D!=="reset"||h!=null)){Wt(u);return}v=v!=null?""+on(v):"",h=h!=null?""+on(h):v,ne||h===u.value||(u.value=h),u.defaultValue=h}S=S??C,S=typeof S!="function"&&typeof S!="symbol"&&!!S,u.checked=ne?u.checked:!!S,u.defaultChecked=!!S,V!=null&&typeof V!="function"&&typeof V!="symbol"&&typeof V!="boolean"&&(u.name=V),Wt(u)}function pr(u,h,v){h==="number"&&vi(u.ownerDocument)===u||u.defaultValue===""+v||(u.defaultValue=""+v)}function Yi(u,h,v,S){if(u=u.options,h){h={};for(var C=0;C"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Hw=!1;if(il)try{var Em={};Object.defineProperty(Em,"passive",{get:function(){Hw=!0}}),window.addEventListener("test",Em,Em),window.removeEventListener("test",Em,Em)}catch{Hw=!1}var Mc=null,Vw=null,Kx=null;function Tk(){if(Kx)return Kx;var u,h=Vw,v=h.length,S,C="value"in Mc?Mc.value:Mc.textContent,D=C.length;for(u=0;u=Cm),Ok=" ",kk=!1;function Lk(u,h){switch(u){case"keyup":return XQ.indexOf(h.keyCode)!==-1;case"keydown":return h.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ik(u){return u=u.detail,typeof u=="object"&&"data"in u?u.data:null}var Hf=!1;function YQ(u,h){switch(u){case"compositionend":return Ik(h);case"keypress":return h.which!==32?null:(kk=!0,Ok);case"textInput":return u=h.data,u===Ok&&kk?null:u;default:return null}}function ZQ(u,h){if(Hf)return u==="compositionend"||!Xw&&Lk(u,h)?(u=Tk(),Kx=Vw=Mc=null,Hf=!1,u):null;switch(u){case"paste":return null;case"keypress":if(!(h.ctrlKey||h.altKey||h.metaKey)||h.ctrlKey&&h.altKey){if(h.char&&1=h)return{node:v,offset:h-u};u=S}e:{for(;v;){if(v.nextSibling){v=v.nextSibling;break e}v=v.parentNode}v=void 0}v=Gk(v)}}function Wk(u,h){return u&&h?u===h?!0:u&&u.nodeType===3?!1:h&&h.nodeType===3?Wk(u,h.parentNode):"contains"in u?u.contains(h):u.compareDocumentPosition?!!(u.compareDocumentPosition(h)&16):!1:!1}function qk(u){u=u!=null&&u.ownerDocument!=null&&u.ownerDocument.defaultView!=null?u.ownerDocument.defaultView:window;for(var h=vi(u.document);h instanceof u.HTMLIFrameElement;){try{var v=typeof h.contentWindow.location.href=="string"}catch{v=!1}if(v)u=h.contentWindow;else break;h=vi(u.document)}return h}function Zw(u){var h=u&&u.nodeName&&u.nodeName.toLowerCase();return h&&(h==="input"&&(u.type==="text"||u.type==="search"||u.type==="tel"||u.type==="url"||u.type==="password")||h==="textarea"||u.contentEditable==="true")}var aJ=il&&"documentMode"in document&&11>=document.documentMode,Vf=null,Qw=null,Dm=null,Jw=!1;function Xk(u,h,v){var S=v.window===v?v.document:v.nodeType===9?v:v.ownerDocument;Jw||Vf==null||Vf!==vi(S)||(S=Vf,"selectionStart"in S&&Zw(S)?S={start:S.selectionStart,end:S.selectionEnd}:(S=(S.ownerDocument&&S.ownerDocument.defaultView||window).getSelection(),S={anchorNode:S.anchorNode,anchorOffset:S.anchorOffset,focusNode:S.focusNode,focusOffset:S.focusOffset}),Dm&&Pm(Dm,S)||(Dm=S,S=Hv(Qw,"onSelect"),0>=V,C-=V,wo=1<<32-tt(h)+C|v<Yt?(pn=Pt,Pt=null):pn=Pt.sibling;var Sn=Ve(Oe,Pt,je[Yt],it);if(Sn===null){Pt===null&&(Pt=pn);break}u&&Pt&&Sn.alternate===null&&h(Oe,Pt),Ee=D(Sn,Ee,Yt),_n===null?Lt=Sn:_n.sibling=Sn,_n=Sn,Pt=pn}if(Yt===je.length)return v(Oe,Pt),xn&&al(Oe,Yt),Lt;if(Pt===null){for(;YtYt?(pn=Pt,Pt=null):pn=Pt.sibling;var Wc=Ve(Oe,Pt,Sn.value,it);if(Wc===null){Pt===null&&(Pt=pn);break}u&&Pt&&Wc.alternate===null&&h(Oe,Pt),Ee=D(Wc,Ee,Yt),_n===null?Lt=Wc:_n.sibling=Wc,_n=Wc,Pt=pn}if(Sn.done)return v(Oe,Pt),xn&&al(Oe,Yt),Lt;if(Pt===null){for(;!Sn.done;Yt++,Sn=je.next())Sn=at(Oe,Sn.value,it),Sn!==null&&(Ee=D(Sn,Ee,Yt),_n===null?Lt=Sn:_n.sibling=Sn,_n=Sn);return xn&&al(Oe,Yt),Lt}for(Pt=S(Pt);!Sn.done;Yt++,Sn=je.next())Sn=Ke(Pt,Oe,Yt,Sn.value,it),Sn!==null&&(u&&Sn.alternate!==null&&Pt.delete(Sn.key===null?Yt:Sn.key),Ee=D(Sn,Ee,Yt),_n===null?Lt=Sn:_n.sibling=Sn,_n=Sn);return u&&Pt.forEach(function(Eee){return h(Oe,Eee)}),xn&&al(Oe,Yt),Lt}function Un(Oe,Ee,je,it){if(typeof je=="object"&&je!==null&&je.type===b&&je.key===null&&(je=je.props.children),typeof je=="object"&&je!==null){switch(je.$$typeof){case m:e:{for(var Lt=je.key;Ee!==null;){if(Ee.key===Lt){if(Lt=je.type,Lt===b){if(Ee.tag===7){v(Oe,Ee.sibling),it=C(Ee,je.props.children),it.return=Oe,Oe=it;break e}}else if(Ee.elementType===Lt||typeof Lt=="object"&&Lt!==null&&Lt.$$typeof===U&&md(Lt)===Ee.type){v(Oe,Ee.sibling),it=C(Ee,je.props),jm(it,je),it.return=Oe,Oe=it;break e}v(Oe,Ee);break}else h(Oe,Ee);Ee=Ee.sibling}je.type===b?(it=ud(je.props.children,Oe.mode,it,je.key),it.return=Oe,Oe=it):(it=av(je.type,je.key,je.props,null,Oe.mode,it),jm(it,je),it.return=Oe,Oe=it)}return V(Oe);case _:e:{for(Lt=je.key;Ee!==null;){if(Ee.key===Lt)if(Ee.tag===4&&Ee.stateNode.containerInfo===je.containerInfo&&Ee.stateNode.implementation===je.implementation){v(Oe,Ee.sibling),it=C(Ee,je.children||[]),it.return=Oe,Oe=it;break e}else{v(Oe,Ee);break}else h(Oe,Ee);Ee=Ee.sibling}it=sM(je,Oe.mode,it),it.return=Oe,Oe=it}return V(Oe);case U:return je=md(je),Un(Oe,Ee,je,it)}if(B(je))return Ct(Oe,Ee,je,it);if(I(je)){if(Lt=I(je),typeof Lt!="function")throw Error(i(150));return je=Lt.call(je),Ft(Oe,Ee,je,it)}if(typeof je.then=="function")return Un(Oe,Ee,fv(je),it);if(je.$$typeof===w)return Un(Oe,Ee,lv(Oe,je),it);hv(Oe,je)}return typeof je=="string"&&je!==""||typeof je=="number"||typeof je=="bigint"?(je=""+je,Ee!==null&&Ee.tag===6?(v(Oe,Ee.sibling),it=C(Ee,je),it.return=Oe,Oe=it):(v(Oe,Ee),it=aM(je,Oe.mode,it),it.return=Oe,Oe=it),V(Oe)):v(Oe,Ee)}return function(Oe,Ee,je,it){try{Um=0;var Lt=Un(Oe,Ee,je,it);return eh=null,Lt}catch(Pt){if(Pt===Jf||Pt===uv)throw Pt;var _n=Va(29,Pt,null,Oe.mode);return _n.lanes=it,_n.return=Oe,_n}finally{}}}var xd=xL(!0),vL=xL(!1),Nc=!1;function vM(u){u.updateQueue={baseState:u.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function yM(u,h){u=u.updateQueue,h.updateQueue===u&&(h.updateQueue={baseState:u.baseState,firstBaseUpdate:u.firstBaseUpdate,lastBaseUpdate:u.lastBaseUpdate,shared:u.shared,callbacks:null})}function Rc(u){return{lane:u,tag:0,payload:null,callback:null,next:null}}function Pc(u,h,v){var S=u.updateQueue;if(S===null)return null;if(S=S.shared,(An&2)!==0){var C=S.pending;return C===null?h.next=h:(h.next=C.next,C.next=h),S.pending=h,h=rv(u),tL(u,null,v),h}return iv(u,S,h,v),rv(u)}function Fm(u,h,v){if(h=h.updateQueue,h!==null&&(h=h.shared,(v&4194048)!==0)){var S=h.lanes;S&=u.pendingLanes,v|=S,h.lanes=v,$n(u,v)}}function bM(u,h){var v=u.updateQueue,S=u.alternate;if(S!==null&&(S=S.updateQueue,v===S)){var C=null,D=null;if(v=v.firstBaseUpdate,v!==null){do{var V={lane:v.lane,tag:v.tag,payload:v.payload,callback:null,next:null};D===null?C=D=V:D=D.next=V,v=v.next}while(v!==null);D===null?C=D=h:D=D.next=h}else C=D=h;v={baseState:S.baseState,firstBaseUpdate:C,lastBaseUpdate:D,shared:S.shared,callbacks:S.callbacks},u.updateQueue=v;return}u=v.lastBaseUpdate,u===null?v.firstBaseUpdate=h:u.next=h,v.lastBaseUpdate=h}var _M=!1;function zm(){if(_M){var u=Qf;if(u!==null)throw u}}function Bm(u,h,v,S){_M=!1;var C=u.updateQueue;Nc=!1;var D=C.firstBaseUpdate,V=C.lastBaseUpdate,ne=C.shared.pending;if(ne!==null){C.shared.pending=null;var _e=ne,Fe=_e.next;_e.next=null,V===null?D=Fe:V.next=Fe,V=_e;var Qe=u.alternate;Qe!==null&&(Qe=Qe.updateQueue,ne=Qe.lastBaseUpdate,ne!==V&&(ne===null?Qe.firstBaseUpdate=Fe:ne.next=Fe,Qe.lastBaseUpdate=_e))}if(D!==null){var at=C.baseState;V=0,Qe=Fe=_e=null,ne=D;do{var Ve=ne.lane&-536870913,Ke=Ve!==ne.lane;if(Ke?(hn&Ve)===Ve:(S&Ve)===Ve){Ve!==0&&Ve===Zf&&(_M=!0),Qe!==null&&(Qe=Qe.next={lane:0,tag:ne.tag,payload:ne.payload,callback:null,next:null});e:{var Ct=u,Ft=ne;Ve=h;var Un=v;switch(Ft.tag){case 1:if(Ct=Ft.payload,typeof Ct=="function"){at=Ct.call(Un,at,Ve);break e}at=Ct;break e;case 3:Ct.flags=Ct.flags&-65537|128;case 0:if(Ct=Ft.payload,Ve=typeof Ct=="function"?Ct.call(Un,at,Ve):Ct,Ve==null)break e;at=f({},at,Ve);break e;case 2:Nc=!0}}Ve=ne.callback,Ve!==null&&(u.flags|=64,Ke&&(u.flags|=8192),Ke=C.callbacks,Ke===null?C.callbacks=[Ve]:Ke.push(Ve))}else Ke={lane:Ve,tag:ne.tag,payload:ne.payload,callback:ne.callback,next:null},Qe===null?(Fe=Qe=Ke,_e=at):Qe=Qe.next=Ke,V|=Ve;if(ne=ne.next,ne===null){if(ne=C.shared.pending,ne===null)break;Ke=ne,ne=Ke.next,Ke.next=null,C.lastBaseUpdate=Ke,C.shared.pending=null}}while(!0);Qe===null&&(_e=at),C.baseState=_e,C.firstBaseUpdate=Fe,C.lastBaseUpdate=Qe,D===null&&(C.shared.lanes=0),Ic|=V,u.lanes=V,u.memoizedState=at}}function yL(u,h){if(typeof u!="function")throw Error(i(191,u));u.call(h)}function bL(u,h){var v=u.callbacks;if(v!==null)for(u.callbacks=null,u=0;uD?D:8;var V=q.T,ne={};q.T=ne,zM(u,!1,h,v);try{var _e=C(),Fe=q.S;if(Fe!==null&&Fe(ne,_e),_e!==null&&typeof _e=="object"&&typeof _e.then=="function"){var Qe=pJ(_e,S);Gm(u,h,Qe,Xa(u))}else Gm(u,h,S,Xa(u))}catch(at){Gm(u,h,{then:function(){},status:"rejected",reason:at},Xa())}finally{W.p=D,V!==null&&ne.types!==null&&(V.types=ne.types),q.T=V}}function bJ(){}function jM(u,h,v,S){if(u.tag!==5)throw Error(i(476));var C=QL(u).queue;ZL(u,C,h,X,v===null?bJ:function(){return JL(u),v(S)})}function QL(u){var h=u.memoizedState;if(h!==null)return h;h={memoizedState:X,baseState:X,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:cl,lastRenderedState:X},next:null};var v={};return h.next={memoizedState:v,baseState:v,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:cl,lastRenderedState:v},next:null},u.memoizedState=h,u=u.alternate,u!==null&&(u.memoizedState=h),h}function JL(u){var h=QL(u);h.next===null&&(h=u.alternate.memoizedState),Gm(u,h.next.queue,{},Xa())}function FM(){return Pr(og)}function eI(){return Ci().memoizedState}function tI(){return Ci().memoizedState}function _J(u){for(var h=u.return;h!==null;){switch(h.tag){case 24:case 3:var v=Xa();u=Rc(v);var S=Pc(h,u,v);S!==null&&(Aa(S,h,v),Fm(S,h,v)),h={cache:pM()},u.payload=h;return}h=h.return}}function SJ(u,h,v){var S=Xa();v={lane:S,revertLane:0,gesture:null,action:v,hasEagerState:!1,eagerState:null,next:null},wv(u)?iI(h,v):(v=iM(u,h,v,S),v!==null&&(Aa(v,u,S),rI(v,h,S)))}function nI(u,h,v){var S=Xa();Gm(u,h,v,S)}function Gm(u,h,v,S){var C={lane:S,revertLane:0,gesture:null,action:v,hasEagerState:!1,eagerState:null,next:null};if(wv(u))iI(h,C);else{var D=u.alternate;if(u.lanes===0&&(D===null||D.lanes===0)&&(D=h.lastRenderedReducer,D!==null))try{var V=h.lastRenderedState,ne=D(V,v);if(C.hasEagerState=!0,C.eagerState=ne,Ha(ne,V))return iv(u,h,C,0),Wn===null&&nv(),!1}catch{}finally{}if(v=iM(u,h,C,S),v!==null)return Aa(v,u,S),rI(v,h,S),!0}return!1}function zM(u,h,v,S){if(S={lane:2,revertLane:vE(),gesture:null,action:S,hasEagerState:!1,eagerState:null,next:null},wv(u)){if(h)throw Error(i(479))}else h=iM(u,v,S,2),h!==null&&Aa(h,u,2)}function wv(u){var h=u.alternate;return u===Kt||h!==null&&h===Kt}function iI(u,h){nh=gv=!0;var v=u.pending;v===null?h.next=h:(h.next=v.next,v.next=h),u.pending=h}function rI(u,h,v){if((v&4194048)!==0){var S=h.lanes;S&=u.pendingLanes,v|=S,h.lanes=v,$n(u,v)}}var $m={readContext:Pr,use:yv,useCallback:yi,useContext:yi,useEffect:yi,useImperativeHandle:yi,useLayoutEffect:yi,useInsertionEffect:yi,useMemo:yi,useReducer:yi,useRef:yi,useState:yi,useDebugValue:yi,useDeferredValue:yi,useTransition:yi,useSyncExternalStore:yi,useId:yi,useHostTransitionStatus:yi,useFormState:yi,useActionState:yi,useOptimistic:yi,useMemoCache:yi,useCacheRefresh:yi};$m.useEffectEvent=yi;var aI={readContext:Pr,use:yv,useCallback:function(u,h){return aa().memoizedState=[u,h===void 0?null:h],u},useContext:Pr,useEffect:HL,useImperativeHandle:function(u,h,v){v=v!=null?v.concat([u]):null,_v(4194308,4,WL.bind(null,h,u),v)},useLayoutEffect:function(u,h){return _v(4194308,4,u,h)},useInsertionEffect:function(u,h){_v(4,2,u,h)},useMemo:function(u,h){var v=aa();h=h===void 0?null:h;var S=u();if(vd){ht(!0);try{u()}finally{ht(!1)}}return v.memoizedState=[S,h],S},useReducer:function(u,h,v){var S=aa();if(v!==void 0){var C=v(h);if(vd){ht(!0);try{v(h)}finally{ht(!1)}}}else C=h;return S.memoizedState=S.baseState=C,u={pending:null,lanes:0,dispatch:null,lastRenderedReducer:u,lastRenderedState:C},S.queue=u,u=u.dispatch=SJ.bind(null,Kt,u),[S.memoizedState,u]},useRef:function(u){var h=aa();return u={current:u},h.memoizedState=u},useState:function(u){u=OM(u);var h=u.queue,v=nI.bind(null,Kt,h);return h.dispatch=v,[u.memoizedState,v]},useDebugValue:IM,useDeferredValue:function(u,h){var v=aa();return UM(v,u,h)},useTransition:function(){var u=OM(!1);return u=ZL.bind(null,Kt,u.queue,!0,!1),aa().memoizedState=u,[!1,u]},useSyncExternalStore:function(u,h,v){var S=Kt,C=aa();if(xn){if(v===void 0)throw Error(i(407));v=v()}else{if(v=h(),Wn===null)throw Error(i(349));(hn&127)!==0||AL(S,h,v)}C.memoizedState=v;var D={value:v,getSnapshot:h};return C.queue=D,HL(CL.bind(null,S,D,u),[u]),S.flags|=2048,rh(9,{destroy:void 0},TL.bind(null,S,D,v,h),null),v},useId:function(){var u=aa(),h=Wn.identifierPrefix;if(xn){var v=Mo,S=wo;v=(S&~(1<<32-tt(S)-1)).toString(32)+v,h="_"+h+"R_"+v,v=xv++,0<\/script>",D=D.removeChild(D.firstChild);break;case"select":D=typeof S.is=="string"?V.createElement("select",{is:S.is}):V.createElement("select"),S.multiple?D.multiple=!0:S.size&&(D.size=S.size);break;default:D=typeof S.is=="string"?V.createElement(C,{is:S.is}):V.createElement(C)}}D[di]=h,D[Ei]=S;e:for(V=h.child;V!==null;){if(V.tag===5||V.tag===6)D.appendChild(V.stateNode);else if(V.tag!==4&&V.tag!==27&&V.child!==null){V.child.return=V,V=V.child;continue}if(V===h)break e;for(;V.sibling===null;){if(V.return===null||V.return===h)break e;V=V.return}V.sibling.return=V.return,V=V.sibling}h.stateNode=D;e:switch(Or(D,C,S),C){case"button":case"input":case"select":case"textarea":S=!!S.autoFocus;break e;case"img":S=!0;break e;default:S=!1}S&&dl(h)}}return ei(h),eE(h,h.type,u===null?null:u.memoizedProps,h.pendingProps,v),null;case 6:if(u&&h.stateNode!=null)u.memoizedProps!==S&&dl(h);else{if(typeof S!="string"&&h.stateNode===null)throw Error(i(166));if(u=re.current,Kf(h)){if(u=h.stateNode,v=h.memoizedProps,S=null,C=Rr,C!==null)switch(C.tag){case 27:case 5:S=C.memoizedProps}u[di]=h,u=!!(u.nodeValue===v||S!==null&&S.suppressHydrationWarning===!0||MU(u.nodeValue,v)),u||Tc(h,!0)}else u=Vv(u).createTextNode(S),u[di]=h,h.stateNode=u}return ei(h),null;case 31:if(v=h.memoizedState,u===null||u.memoizedState!==null){if(S=Kf(h),v!==null){if(u===null){if(!S)throw Error(i(318));if(u=h.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(i(557));u[di]=h}else dd(),(h.flags&128)===0&&(h.memoizedState=null),h.flags|=4;ei(h),u=!1}else v=uM(),u!==null&&u.memoizedState!==null&&(u.memoizedState.hydrationErrors=v),u=!0;if(!u)return h.flags&256?($a(h),h):($a(h),null);if((h.flags&128)!==0)throw Error(i(558))}return ei(h),null;case 13:if(S=h.memoizedState,u===null||u.memoizedState!==null&&u.memoizedState.dehydrated!==null){if(C=Kf(h),S!==null&&S.dehydrated!==null){if(u===null){if(!C)throw Error(i(318));if(C=h.memoizedState,C=C!==null?C.dehydrated:null,!C)throw Error(i(317));C[di]=h}else dd(),(h.flags&128)===0&&(h.memoizedState=null),h.flags|=4;ei(h),C=!1}else C=uM(),u!==null&&u.memoizedState!==null&&(u.memoizedState.hydrationErrors=C),C=!0;if(!C)return h.flags&256?($a(h),h):($a(h),null)}return $a(h),(h.flags&128)!==0?(h.lanes=v,h):(v=S!==null,u=u!==null&&u.memoizedState!==null,v&&(S=h.child,C=null,S.alternate!==null&&S.alternate.memoizedState!==null&&S.alternate.memoizedState.cachePool!==null&&(C=S.alternate.memoizedState.cachePool.pool),D=null,S.memoizedState!==null&&S.memoizedState.cachePool!==null&&(D=S.memoizedState.cachePool.pool),D!==C&&(S.flags|=2048)),v!==u&&v&&(h.child.flags|=8192),Cv(h,h.updateQueue),ei(h),null);case 4:return pe(),u===null&&SE(h.stateNode.containerInfo),ei(h),null;case 10:return ol(h.type),ei(h),null;case 19:if(Y(Ti),S=h.memoizedState,S===null)return ei(h),null;if(C=(h.flags&128)!==0,D=S.rendering,D===null)if(C)qm(S,!1);else{if(bi!==0||u!==null&&(u.flags&128)!==0)for(u=h.child;u!==null;){if(D=mv(u),D!==null){for(h.flags|=128,qm(S,!1),u=D.updateQueue,h.updateQueue=u,Cv(h,u),h.subtreeFlags=0,u=v,v=h.child;v!==null;)nL(v,u),v=v.sibling;return se(Ti,Ti.current&1|2),xn&&al(h,S.treeForkCount),h.child}u=u.sibling}S.tail!==null&&k()>Ov&&(h.flags|=128,C=!0,qm(S,!1),h.lanes=4194304)}else{if(!C)if(u=mv(D),u!==null){if(h.flags|=128,C=!0,u=u.updateQueue,h.updateQueue=u,Cv(h,u),qm(S,!0),S.tail===null&&S.tailMode==="hidden"&&!D.alternate&&!xn)return ei(h),null}else 2*k()-S.renderingStartTime>Ov&&v!==536870912&&(h.flags|=128,C=!0,qm(S,!1),h.lanes=4194304);S.isBackwards?(D.sibling=h.child,h.child=D):(u=S.last,u!==null?u.sibling=D:h.child=D,S.last=D)}return S.tail!==null?(u=S.tail,S.rendering=u,S.tail=u.sibling,S.renderingStartTime=k(),u.sibling=null,v=Ti.current,se(Ti,C?v&1|2:v&1),xn&&al(h,S.treeForkCount),u):(ei(h),null);case 22:case 23:return $a(h),wM(),S=h.memoizedState!==null,u!==null?u.memoizedState!==null!==S&&(h.flags|=8192):S&&(h.flags|=8192),S?(v&536870912)!==0&&(h.flags&128)===0&&(ei(h),h.subtreeFlags&6&&(h.flags|=8192)):ei(h),v=h.updateQueue,v!==null&&Cv(h,v.retryQueue),v=null,u!==null&&u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(v=u.memoizedState.cachePool.pool),S=null,h.memoizedState!==null&&h.memoizedState.cachePool!==null&&(S=h.memoizedState.cachePool.pool),S!==v&&(h.flags|=2048),u!==null&&Y(pd),null;case 24:return v=null,u!==null&&(v=u.memoizedState.cache),h.memoizedState.cache!==v&&(h.flags|=2048),ol(ki),ei(h),null;case 25:return null;case 30:return null}throw Error(i(156,h.tag))}function TJ(u,h){switch(lM(h),h.tag){case 1:return u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 3:return ol(ki),pe(),u=h.flags,(u&65536)!==0&&(u&128)===0?(h.flags=u&-65537|128,h):null;case 26:case 27:case 5:return ze(h),null;case 31:if(h.memoizedState!==null){if($a(h),h.alternate===null)throw Error(i(340));dd()}return u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 13:if($a(h),u=h.memoizedState,u!==null&&u.dehydrated!==null){if(h.alternate===null)throw Error(i(340));dd()}return u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 19:return Y(Ti),null;case 4:return pe(),null;case 10:return ol(h.type),null;case 22:case 23:return $a(h),wM(),u!==null&&Y(pd),u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 24:return ol(ki),null;case 25:return null;default:return null}}function NI(u,h){switch(lM(h),h.tag){case 3:ol(ki),pe();break;case 26:case 27:case 5:ze(h);break;case 4:pe();break;case 31:h.memoizedState!==null&&$a(h);break;case 13:$a(h);break;case 19:Y(Ti);break;case 10:ol(h.type);break;case 22:case 23:$a(h),wM(),u!==null&&Y(pd);break;case 24:ol(ki)}}function Xm(u,h){try{var v=h.updateQueue,S=v!==null?v.lastEffect:null;if(S!==null){var C=S.next;v=C;do{if((v.tag&u)===u){S=void 0;var D=v.create,V=v.inst;S=D(),V.destroy=S}v=v.next}while(v!==C)}}catch(ne){Dn(h,h.return,ne)}}function kc(u,h,v){try{var S=h.updateQueue,C=S!==null?S.lastEffect:null;if(C!==null){var D=C.next;S=D;do{if((S.tag&u)===u){var V=S.inst,ne=V.destroy;if(ne!==void 0){V.destroy=void 0,C=h;var _e=v,Fe=ne;try{Fe()}catch(Qe){Dn(C,_e,Qe)}}}S=S.next}while(S!==D)}}catch(Qe){Dn(h,h.return,Qe)}}function RI(u){var h=u.updateQueue;if(h!==null){var v=u.stateNode;try{bL(h,v)}catch(S){Dn(u,u.return,S)}}}function PI(u,h,v){v.props=yd(u.type,u.memoizedProps),v.state=u.memoizedState;try{v.componentWillUnmount()}catch(S){Dn(u,h,S)}}function Km(u,h){try{var v=u.ref;if(v!==null){switch(u.tag){case 26:case 27:case 5:var S=u.stateNode;break;case 30:S=u.stateNode;break;default:S=u.stateNode}typeof v=="function"?u.refCleanup=v(S):v.current=S}}catch(C){Dn(u,h,C)}}function Eo(u,h){var v=u.ref,S=u.refCleanup;if(v!==null)if(typeof S=="function")try{S()}catch(C){Dn(u,h,C)}finally{u.refCleanup=null,u=u.alternate,u!=null&&(u.refCleanup=null)}else if(typeof v=="function")try{v(null)}catch(C){Dn(u,h,C)}else v.current=null}function DI(u){var h=u.type,v=u.memoizedProps,S=u.stateNode;try{e:switch(h){case"button":case"input":case"select":case"textarea":v.autoFocus&&S.focus();break e;case"img":v.src?S.src=v.src:v.srcSet&&(S.srcset=v.srcSet)}}catch(C){Dn(u,u.return,C)}}function tE(u,h,v){try{var S=u.stateNode;KJ(S,u.type,v,h),S[Ei]=h}catch(C){Dn(u,u.return,C)}}function OI(u){return u.tag===5||u.tag===3||u.tag===26||u.tag===27&&Bc(u.type)||u.tag===4}function nE(u){e:for(;;){for(;u.sibling===null;){if(u.return===null||OI(u.return))return null;u=u.return}for(u.sibling.return=u.return,u=u.sibling;u.tag!==5&&u.tag!==6&&u.tag!==18;){if(u.tag===27&&Bc(u.type)||u.flags&2||u.child===null||u.tag===4)continue e;u.child.return=u,u=u.child}if(!(u.flags&2))return u.stateNode}}function iE(u,h,v){var S=u.tag;if(S===5||S===6)u=u.stateNode,h?(v.nodeType===9?v.body:v.nodeName==="HTML"?v.ownerDocument.body:v).insertBefore(u,h):(h=v.nodeType===9?v.body:v.nodeName==="HTML"?v.ownerDocument.body:v,h.appendChild(u),v=v._reactRootContainer,v!=null||h.onclick!==null||(h.onclick=nl));else if(S!==4&&(S===27&&Bc(u.type)&&(v=u.stateNode,h=null),u=u.child,u!==null))for(iE(u,h,v),u=u.sibling;u!==null;)iE(u,h,v),u=u.sibling}function Nv(u,h,v){var S=u.tag;if(S===5||S===6)u=u.stateNode,h?v.insertBefore(u,h):v.appendChild(u);else if(S!==4&&(S===27&&Bc(u.type)&&(v=u.stateNode),u=u.child,u!==null))for(Nv(u,h,v),u=u.sibling;u!==null;)Nv(u,h,v),u=u.sibling}function kI(u){var h=u.stateNode,v=u.memoizedProps;try{for(var S=u.type,C=h.attributes;C.length;)h.removeAttributeNode(C[0]);Or(h,S,v),h[di]=u,h[Ei]=v}catch(D){Dn(u,u.return,D)}}var fl=!1,Ui=!1,rE=!1,LI=typeof WeakSet=="function"?WeakSet:Set,gr=null;function CJ(u,h){if(u=u.containerInfo,EE=Yv,u=qk(u),Zw(u)){if("selectionStart"in u)var v={start:u.selectionStart,end:u.selectionEnd};else e:{v=(v=u.ownerDocument)&&v.defaultView||window;var S=v.getSelection&&v.getSelection();if(S&&S.rangeCount!==0){v=S.anchorNode;var C=S.anchorOffset,D=S.focusNode;S=S.focusOffset;try{v.nodeType,D.nodeType}catch{v=null;break e}var V=0,ne=-1,_e=-1,Fe=0,Qe=0,at=u,Ve=null;t:for(;;){for(var Ke;at!==v||C!==0&&at.nodeType!==3||(ne=V+C),at!==D||S!==0&&at.nodeType!==3||(_e=V+S),at.nodeType===3&&(V+=at.nodeValue.length),(Ke=at.firstChild)!==null;)Ve=at,at=Ke;for(;;){if(at===u)break t;if(Ve===v&&++Fe===C&&(ne=V),Ve===D&&++Qe===S&&(_e=V),(Ke=at.nextSibling)!==null)break;at=Ve,Ve=at.parentNode}at=Ke}v=ne===-1||_e===-1?null:{start:ne,end:_e}}else v=null}v=v||{start:0,end:0}}else v=null;for(AE={focusedElem:u,selectionRange:v},Yv=!1,gr=h;gr!==null;)if(h=gr,u=h.child,(h.subtreeFlags&1028)!==0&&u!==null)u.return=h,gr=u;else for(;gr!==null;){switch(h=gr,D=h.alternate,u=h.flags,h.tag){case 0:if((u&4)!==0&&(u=h.updateQueue,u=u!==null?u.events:null,u!==null))for(v=0;v title"))),Or(D,S,v),D[di]=u,Te(D),S=D;break e;case"link":var V=BU("link","href",C).get(S+(v.href||""));if(V){for(var ne=0;neUn&&(V=Un,Un=Ft,Ft=V);var Oe=$k(ne,Ft),Ee=$k(ne,Un);if(Oe&&Ee&&(Ke.rangeCount!==1||Ke.anchorNode!==Oe.node||Ke.anchorOffset!==Oe.offset||Ke.focusNode!==Ee.node||Ke.focusOffset!==Ee.offset)){var je=at.createRange();je.setStart(Oe.node,Oe.offset),Ke.removeAllRanges(),Ft>Un?(Ke.addRange(je),Ke.extend(Ee.node,Ee.offset)):(je.setEnd(Ee.node,Ee.offset),Ke.addRange(je))}}}}for(at=[],Ke=ne;Ke=Ke.parentNode;)Ke.nodeType===1&&at.push({element:Ke,left:Ke.scrollLeft,top:Ke.scrollTop});for(typeof ne.focus=="function"&&ne.focus(),ne=0;nev?32:v,q.T=null,v=dE,dE=null;var D=jc,V=xl;if(Zi=0,ch=jc=null,xl=0,(An&6)!==0)throw Error(i(331));var ne=An;if(An|=4,WI(D.current),VI(D,D.current,V,v),An=ne,tg(0,!1),Re&&typeof Re.onPostCommitFiberRoot=="function")try{Re.onPostCommitFiberRoot(Ie,D)}catch{}return!0}finally{W.p=C,q.T=S,uU(u,h)}}function fU(u,h,v){h=fs(v,h),h=GM(u.stateNode,h,2),u=Pc(u,h,2),u!==null&&(an(u,2),Ao(u))}function Dn(u,h,v){if(u.tag===3)fU(u,u,v);else for(;h!==null;){if(h.tag===3){fU(h,u,v);break}else if(h.tag===1){var S=h.stateNode;if(typeof h.type.getDerivedStateFromError=="function"||typeof S.componentDidCatch=="function"&&(Uc===null||!Uc.has(S))){u=fs(v,u),v=hI(2),S=Pc(h,v,2),S!==null&&(pI(v,S,h,u),an(S,2),Ao(S));break}}h=h.return}}function mE(u,h,v){var S=u.pingCache;if(S===null){S=u.pingCache=new PJ;var C=new Set;S.set(h,C)}else C=S.get(h),C===void 0&&(C=new Set,S.set(h,C));C.has(v)||(oE=!0,C.add(v),u=IJ.bind(null,u,h,v),h.then(u,u))}function IJ(u,h,v){var S=u.pingCache;S!==null&&S.delete(h),u.pingedLanes|=u.suspendedLanes&v,u.warmLanes&=~v,Wn===u&&(hn&v)===v&&(bi===4||bi===3&&(hn&62914560)===hn&&300>k()-Dv?(An&2)===0&&uh(u,0):lE|=v,lh===hn&&(lh=0)),Ao(u)}function hU(u,h){h===0&&(h=bt()),u=cd(u,h),u!==null&&(an(u,h),Ao(u))}function UJ(u){var h=u.memoizedState,v=0;h!==null&&(v=h.retryLane),hU(u,v)}function jJ(u,h){var v=0;switch(u.tag){case 31:case 13:var S=u.stateNode,C=u.memoizedState;C!==null&&(v=C.retryLane);break;case 19:S=u.stateNode;break;case 22:S=u.stateNode._retryCache;break;default:throw Error(i(314))}S!==null&&S.delete(h),hU(u,v)}function FJ(u,h){return De(u,h)}var Fv=null,fh=null,gE=!1,zv=!1,xE=!1,zc=0;function Ao(u){u!==fh&&u.next===null&&(fh===null?Fv=fh=u:fh=fh.next=u),zv=!0,gE||(gE=!0,BJ())}function tg(u,h){if(!xE&&zv){xE=!0;do for(var v=!1,S=Fv;S!==null;){if(u!==0){var C=S.pendingLanes;if(C===0)var D=0;else{var V=S.suspendedLanes,ne=S.pingedLanes;D=(1<<31-tt(42|u)+1)-1,D&=C&~(V&~ne),D=D&201326741?D&201326741|1:D?D|2:0}D!==0&&(v=!0,xU(S,D))}else D=hn,D=ge(S,S===Wn?D:0,S.cancelPendingCommit!==null||S.timeoutHandle!==-1),(D&3)===0||Be(S,D)||(v=!0,xU(S,D));S=S.next}while(v);xE=!1}}function zJ(){pU()}function pU(){zv=gE=!1;var u=0;zc!==0&&ZJ()&&(u=zc);for(var h=k(),v=null,S=Fv;S!==null;){var C=S.next,D=mU(S,h);D===0?(S.next=null,v===null?Fv=C:v.next=C,C===null&&(fh=v)):(v=S,(u!==0||(D&3)!==0)&&(zv=!0)),S=C}Zi!==0&&Zi!==5||tg(u),zc!==0&&(zc=0)}function mU(u,h){for(var v=u.suspendedLanes,S=u.pingedLanes,C=u.expirationTimes,D=u.pendingLanes&-62914561;0ne)break;var Qe=_e.transferSize,at=_e.initiatorType;Qe&&EU(at)&&(_e=_e.responseEnd,V+=Qe*(_e"u"?null:document;function UU(u,h,v){var S=hh;if(S&&typeof h=="string"&&h){var C=Tn(h);C='link[rel="'+u+'"][href="'+C+'"]',typeof v=="string"&&(C+='[crossorigin="'+v+'"]'),IU.has(C)||(IU.add(C),u={rel:u,crossOrigin:v,href:h},S.querySelector(C)===null&&(h=S.createElement("link"),Or(h,"link",u),Te(h),S.head.appendChild(h)))}}function see(u){vl.D(u),UU("dns-prefetch",u,null)}function oee(u,h){vl.C(u,h),UU("preconnect",u,h)}function lee(u,h,v){vl.L(u,h,v);var S=hh;if(S&&u&&h){var C='link[rel="preload"][as="'+Tn(h)+'"]';h==="image"&&v&&v.imageSrcSet?(C+='[imagesrcset="'+Tn(v.imageSrcSet)+'"]',typeof v.imageSizes=="string"&&(C+='[imagesizes="'+Tn(v.imageSizes)+'"]')):C+='[href="'+Tn(u)+'"]';var D=C;switch(h){case"style":D=ph(u);break;case"script":D=mh(u)}vs.has(D)||(u=f({rel:"preload",href:h==="image"&&v&&v.imageSrcSet?void 0:u,as:h},v),vs.set(D,u),S.querySelector(C)!==null||h==="style"&&S.querySelector(ag(D))||h==="script"&&S.querySelector(sg(D))||(h=S.createElement("link"),Or(h,"link",u),Te(h),S.head.appendChild(h)))}}function cee(u,h){vl.m(u,h);var v=hh;if(v&&u){var S=h&&typeof h.as=="string"?h.as:"script",C='link[rel="modulepreload"][as="'+Tn(S)+'"][href="'+Tn(u)+'"]',D=C;switch(S){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":D=mh(u)}if(!vs.has(D)&&(u=f({rel:"modulepreload",href:u},h),vs.set(D,u),v.querySelector(C)===null)){switch(S){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(v.querySelector(sg(D)))return}S=v.createElement("link"),Or(S,"link",u),Te(S),v.head.appendChild(S)}}}function uee(u,h,v){vl.S(u,h,v);var S=hh;if(S&&u){var C=Ce(S).hoistableStyles,D=ph(u);h=h||"default";var V=C.get(D);if(!V){var ne={loading:0,preload:null};if(V=S.querySelector(ag(D)))ne.loading=5;else{u=f({rel:"stylesheet",href:u,"data-precedence":h},v),(v=vs.get(D))&&OE(u,v);var _e=V=S.createElement("link");Te(_e),Or(_e,"link",u),_e._p=new Promise(function(Fe,Qe){_e.onload=Fe,_e.onerror=Qe}),_e.addEventListener("load",function(){ne.loading|=1}),_e.addEventListener("error",function(){ne.loading|=2}),ne.loading|=4,$v(V,h,S)}V={type:"stylesheet",instance:V,count:1,state:ne},C.set(D,V)}}}function dee(u,h){vl.X(u,h);var v=hh;if(v&&u){var S=Ce(v).hoistableScripts,C=mh(u),D=S.get(C);D||(D=v.querySelector(sg(C)),D||(u=f({src:u,async:!0},h),(h=vs.get(C))&&kE(u,h),D=v.createElement("script"),Te(D),Or(D,"link",u),v.head.appendChild(D)),D={type:"script",instance:D,count:1,state:null},S.set(C,D))}}function fee(u,h){vl.M(u,h);var v=hh;if(v&&u){var S=Ce(v).hoistableScripts,C=mh(u),D=S.get(C);D||(D=v.querySelector(sg(C)),D||(u=f({src:u,async:!0,type:"module"},h),(h=vs.get(C))&&kE(u,h),D=v.createElement("script"),Te(D),Or(D,"link",u),v.head.appendChild(D)),D={type:"script",instance:D,count:1,state:null},S.set(C,D))}}function jU(u,h,v,S){var C=(C=re.current)?Gv(C):null;if(!C)throw Error(i(446));switch(u){case"meta":case"title":return null;case"style":return typeof v.precedence=="string"&&typeof v.href=="string"?(h=ph(v.href),v=Ce(C).hoistableStyles,S=v.get(h),S||(S={type:"style",instance:null,count:0,state:null},v.set(h,S)),S):{type:"void",instance:null,count:0,state:null};case"link":if(v.rel==="stylesheet"&&typeof v.href=="string"&&typeof v.precedence=="string"){u=ph(v.href);var D=Ce(C).hoistableStyles,V=D.get(u);if(V||(C=C.ownerDocument||C,V={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},D.set(u,V),(D=C.querySelector(ag(u)))&&!D._p&&(V.instance=D,V.state.loading=5),vs.has(u)||(v={rel:"preload",as:"style",href:v.href,crossOrigin:v.crossOrigin,integrity:v.integrity,media:v.media,hrefLang:v.hrefLang,referrerPolicy:v.referrerPolicy},vs.set(u,v),D||hee(C,u,v,V.state))),h&&S===null)throw Error(i(528,""));return V}if(h&&S!==null)throw Error(i(529,""));return null;case"script":return h=v.async,v=v.src,typeof v=="string"&&h&&typeof h!="function"&&typeof h!="symbol"?(h=mh(v),v=Ce(C).hoistableScripts,S=v.get(h),S||(S={type:"script",instance:null,count:0,state:null},v.set(h,S)),S):{type:"void",instance:null,count:0,state:null};default:throw Error(i(444,u))}}function ph(u){return'href="'+Tn(u)+'"'}function ag(u){return'link[rel="stylesheet"]['+u+"]"}function FU(u){return f({},u,{"data-precedence":u.precedence,precedence:null})}function hee(u,h,v,S){u.querySelector('link[rel="preload"][as="style"]['+h+"]")?S.loading=1:(h=u.createElement("link"),S.preload=h,h.addEventListener("load",function(){return S.loading|=1}),h.addEventListener("error",function(){return S.loading|=2}),Or(h,"link",v),Te(h),u.head.appendChild(h))}function mh(u){return'[src="'+Tn(u)+'"]'}function sg(u){return"script[async]"+u}function zU(u,h,v){if(h.count++,h.instance===null)switch(h.type){case"style":var S=u.querySelector('style[data-href~="'+Tn(v.href)+'"]');if(S)return h.instance=S,Te(S),S;var C=f({},v,{"data-href":v.href,"data-precedence":v.precedence,href:null,precedence:null});return S=(u.ownerDocument||u).createElement("style"),Te(S),Or(S,"style",C),$v(S,v.precedence,u),h.instance=S;case"stylesheet":C=ph(v.href);var D=u.querySelector(ag(C));if(D)return h.state.loading|=4,h.instance=D,Te(D),D;S=FU(v),(C=vs.get(C))&&OE(S,C),D=(u.ownerDocument||u).createElement("link"),Te(D);var V=D;return V._p=new Promise(function(ne,_e){V.onload=ne,V.onerror=_e}),Or(D,"link",S),h.state.loading|=4,$v(D,v.precedence,u),h.instance=D;case"script":return D=mh(v.src),(C=u.querySelector(sg(D)))?(h.instance=C,Te(C),C):(S=v,(C=vs.get(D))&&(S=f({},v),kE(S,C)),u=u.ownerDocument||u,C=u.createElement("script"),Te(C),Or(C,"link",S),u.head.appendChild(C),h.instance=C);case"void":return null;default:throw Error(i(443,h.type))}else h.type==="stylesheet"&&(h.state.loading&4)===0&&(S=h.instance,h.state.loading|=4,$v(S,v.precedence,u));return h.instance}function $v(u,h,v){for(var S=v.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),C=S.length?S[S.length-1]:null,D=C,V=0;V title"):null)}function pee(u,h,v){if(v===1||h.itemProp!=null)return!1;switch(u){case"meta":case"title":return!0;case"style":if(typeof h.precedence!="string"||typeof h.href!="string"||h.href==="")break;return!0;case"link":if(typeof h.rel!="string"||typeof h.href!="string"||h.href===""||h.onLoad||h.onError)break;switch(h.rel){case"stylesheet":return u=h.disabled,typeof h.precedence=="string"&&u==null;default:return!0}case"script":if(h.async&&typeof h.async!="function"&&typeof h.async!="symbol"&&!h.onLoad&&!h.onError&&h.src&&typeof h.src=="string")return!0}return!1}function VU(u){return!(u.type==="stylesheet"&&(u.state.loading&3)===0)}function mee(u,h,v,S){if(v.type==="stylesheet"&&(typeof S.media!="string"||matchMedia(S.media).matches!==!1)&&(v.state.loading&4)===0){if(v.instance===null){var C=ph(S.href),D=h.querySelector(ag(C));if(D){h=D._p,h!==null&&typeof h=="object"&&typeof h.then=="function"&&(u.count++,u=qv.bind(u),h.then(u,u)),v.state.loading|=4,v.instance=D,Te(D);return}D=h.ownerDocument||h,S=FU(S),(C=vs.get(C))&&OE(S,C),D=D.createElement("link"),Te(D);var V=D;V._p=new Promise(function(ne,_e){V.onload=ne,V.onerror=_e}),Or(D,"link",S),v.instance=D}u.stylesheets===null&&(u.stylesheets=new Map),u.stylesheets.set(v,h),(h=v.state.preload)&&(v.state.loading&3)===0&&(u.count++,v=qv.bind(u),h.addEventListener("load",v),h.addEventListener("error",v))}}var LE=0;function gee(u,h){return u.stylesheets&&u.count===0&&Kv(u,u.stylesheets),0LE?50:800)+h);return u.unsuspend=v,function(){u.unsuspend=null,clearTimeout(S),clearTimeout(C)}}:null}function qv(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Kv(this,this.stylesheets);else if(this.unsuspend){var u=this.unsuspend;this.unsuspend=null,u()}}}var Xv=null;function Kv(u,h){u.stylesheets=null,u.unsuspend!==null&&(u.count++,Xv=new Map,h.forEach(xee,u),Xv=null,qv.call(u))}function xee(u,h){if(!(h.state.loading&4)){var v=Xv.get(u);if(v)var S=v.get(null);else{v=new Map,Xv.set(u,v);for(var C=u.querySelectorAll("link[data-precedence],style[data-precedence]"),D=0;D"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),GE.exports=kee(),GE.exports}var Iee=Lee();var h4="popstate";function Uee(t={}){function e(i,r){let{pathname:a,search:s,hash:o}=i.location;return PC("",{pathname:a,search:s,hash:o},r.state&&r.state.usr||null,r.state&&r.state.key||"default")}function n(i,r){return typeof r=="string"?r:m0(r)}return Fee(e,n,null,t)}function hi(t,e){if(t===!1||t===null||typeof t>"u")throw new Error(e)}function go(t,e){if(!t){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function jee(){return Math.random().toString(36).substring(2,10)}function p4(t,e){return{usr:t.state,key:t.key,idx:e}}function PC(t,e,n=null,i){return{pathname:typeof t=="string"?t:t.pathname,search:"",hash:"",...typeof e=="string"?em(e):e,state:n,key:e&&e.key||i||jee()}}function m0({pathname:t="/",search:e="",hash:n=""}){return e&&e!=="?"&&(t+=e.charAt(0)==="?"?e:"?"+e),n&&n!=="#"&&(t+=n.charAt(0)==="#"?n:"#"+n),t}function em(t){let e={};if(t){let n=t.indexOf("#");n>=0&&(e.hash=t.substring(n),t=t.substring(0,n));let i=t.indexOf("?");i>=0&&(e.search=t.substring(i),t=t.substring(0,i)),t&&(e.pathname=t)}return e}function Fee(t,e,n,i={}){let{window:r=document.defaultView,v5Compat:a=!1}=i,s=r.history,o="POP",l=null,c=d();c==null&&(c=0,s.replaceState({...s.state,idx:c},""));function d(){return(s.state||{idx:null}).idx}function f(){o="POP";let y=d(),x=y==null?null:y-c;c=y,l&&l({action:o,location:b.location,delta:x})}function p(y,x){o="PUSH";let M=PC(b.location,y,x);c=d()+1;let w=p4(M,c),E=b.createHref(M);try{s.pushState(w,"",E)}catch(T){if(T instanceof DOMException&&T.name==="DataCloneError")throw T;r.location.assign(E)}a&&l&&l({action:o,location:b.location,delta:1})}function m(y,x){o="REPLACE";let M=PC(b.location,y,x);c=d();let w=p4(M,c),E=b.createHref(M);s.replaceState(w,"",E),a&&l&&l({action:o,location:b.location,delta:0})}function _(y){return zee(y)}let b={get action(){return o},get location(){return t(r,s)},listen(y){if(l)throw new Error("A history only accepts one active listener");return r.addEventListener(h4,f),l=y,()=>{r.removeEventListener(h4,f),l=null}},createHref(y){return e(r,y)},createURL:_,encodeLocation(y){let x=_(y);return{pathname:x.pathname,search:x.search,hash:x.hash}},push:p,replace:m,go(y){return s.go(y)}};return b}function zee(t,e=!1){let n="http://localhost";typeof window<"u"&&(n=window.location.origin!=="null"?window.location.origin:window.location.href),hi(n,"No window.location.(origin|href) available to create URL");let i=typeof t=="string"?t:m0(t);return i=i.replace(/ $/,"%20"),!e&&i.startsWith("//")&&(i=n+i),new URL(i,n)}function eG(t,e,n="/"){return Bee(t,e,n,!1)}function Bee(t,e,n,i){let r=typeof e=="string"?em(e):e,a=ic(r.pathname||"/",n);if(a==null)return null;let s=tG(t);Hee(s);let o=null;for(let l=0;o==null&&l{let d={relativePath:c===void 0?s.path||"":c,caseSensitive:s.caseSensitive===!0,childrenIndex:o,route:s};if(d.relativePath.startsWith("/")){if(!d.relativePath.startsWith(i)&&l)return;hi(d.relativePath.startsWith(i),`Absolute route path "${d.relativePath}" nested under path "${i}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),d.relativePath=d.relativePath.slice(i.length)}let f=Kl([i,d.relativePath]),p=n.concat(d);s.children&&s.children.length>0&&(hi(s.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${f}".`),tG(s.children,e,p,f,l)),!(s.path==null&&!s.index)&&e.push({path:f,score:Kee(f,s.index),routesMeta:p})};return t.forEach((s,o)=>{if(s.path===""||!s.path?.includes("?"))a(s,o);else for(let l of nG(s.path))a(s,o,!0,l)}),e}function nG(t){let e=t.split("/");if(e.length===0)return[];let[n,...i]=e,r=n.endsWith("?"),a=n.replace(/\?$/,"");if(i.length===0)return r?[a,""]:[a];let s=nG(i.join("/")),o=[];return o.push(...s.map(l=>l===""?a:[a,l].join("/"))),r&&o.push(...s),o.map(l=>t.startsWith("/")&&l===""?"/":l)}function Hee(t){t.sort((e,n)=>e.score!==n.score?n.score-e.score:Yee(e.routesMeta.map(i=>i.childrenIndex),n.routesMeta.map(i=>i.childrenIndex)))}var Vee=/^:[\w-]+$/,Gee=3,$ee=2,Wee=1,qee=10,Xee=-2,m4=t=>t==="*";function Kee(t,e){let n=t.split("/"),i=n.length;return n.some(m4)&&(i+=Xee),e&&(i+=$ee),n.filter(r=>!m4(r)).reduce((r,a)=>r+(Vee.test(a)?Gee:a===""?Wee:qee),i)}function Yee(t,e){return t.length===e.length&&t.slice(0,-1).every((i,r)=>i===e[r])?t[t.length-1]-e[e.length-1]:0}function Zee(t,e,n=!1){let{routesMeta:i}=t,r={},a="/",s=[];for(let o=0;o{if(d==="*"){let _=o[p]||"";s=a.slice(0,a.length-_.length).replace(/(.)\/+$/,"$1")}const m=o[p];return f&&!m?c[d]=void 0:c[d]=(m||"").replace(/%2F/g,"/"),c},{}),pathname:a,pathnameBase:s,pattern:t}}function Qee(t,e=!1,n=!0){go(t==="*"||!t.endsWith("*")||t.endsWith("/*"),`Route path "${t}" will be treated as if it were "${t.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${t.replace(/\*$/,"/*")}".`);let i=[],r="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(s,o,l)=>(i.push({paramName:o,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return t.endsWith("*")?(i.push({paramName:"*"}),r+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?r+="\\/*$":t!==""&&t!=="/"&&(r+="(?:(?=\\/|$))"),[new RegExp(r,e?void 0:"i"),i]}function Jee(t){try{return t.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(e){return go(!1,`The URL path "${t}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${e}).`),t}}function ic(t,e){if(e==="/")return t;if(!t.toLowerCase().startsWith(e.toLowerCase()))return null;let n=e.endsWith("/")?e.length-1:e.length,i=t.charAt(n);return i&&i!=="/"?null:t.slice(n)||"/"}var ete=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,tte=t=>ete.test(t);function nte(t,e="/"){let{pathname:n,search:i="",hash:r=""}=typeof t=="string"?em(t):t,a;if(n)if(tte(n))a=n;else{if(n.includes("//")){let s=n;n=n.replace(/\/\/+/g,"/"),go(!1,`Pathnames cannot have embedded double slashes - normalizing ${s} -> ${n}`)}n.startsWith("/")?a=g4(n.substring(1),"/"):a=g4(n,e)}else a=e;return{pathname:a,search:ate(i),hash:ste(r)}}function g4(t,e){let n=e.replace(/\/+$/,"").split("/");return t.split("/").forEach(r=>{r===".."?n.length>1&&n.pop():r!=="."&&n.push(r)}),n.length>1?n.join("/"):"/"}function XE(t,e,n,i){return`Cannot include a '${t}' character in a manually specified \`to.${e}\` field [${JSON.stringify(i)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function ite(t){return t.filter((e,n)=>n===0||e.route.path&&e.route.path.length>0)}function iG(t){let e=ite(t);return e.map((n,i)=>i===e.length-1?n.pathname:n.pathnameBase)}function rG(t,e,n,i=!1){let r;typeof t=="string"?r=em(t):(r={...t},hi(!r.pathname||!r.pathname.includes("?"),XE("?","pathname","search",r)),hi(!r.pathname||!r.pathname.includes("#"),XE("#","pathname","hash",r)),hi(!r.search||!r.search.includes("#"),XE("#","search","hash",r)));let a=t===""||r.pathname==="",s=a?"/":r.pathname,o;if(s==null)o=n;else{let f=e.length-1;if(!i&&s.startsWith("..")){let p=s.split("/");for(;p[0]==="..";)p.shift(),f-=1;r.pathname=p.join("/")}o=f>=0?e[f]:"/"}let l=nte(r,o),c=s&&s!=="/"&&s.endsWith("/"),d=(a||s===".")&&n.endsWith("/");return!l.pathname.endsWith("/")&&(c||d)&&(l.pathname+="/"),l}var Kl=t=>t.join("/").replace(/\/\/+/g,"/"),rte=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),ate=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,ste=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t;function ote(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var aG=["POST","PUT","PATCH","DELETE"];new Set(aG);var lte=["GET",...aG];new Set(lte);var tm=A.createContext(null);tm.displayName="DataRouter";var fS=A.createContext(null);fS.displayName="DataRouterState";A.createContext(!1);var sG=A.createContext({isTransitioning:!1});sG.displayName="ViewTransition";var cte=A.createContext(new Map);cte.displayName="Fetchers";var ute=A.createContext(null);ute.displayName="Await";var Zo=A.createContext(null);Zo.displayName="Navigation";var sx=A.createContext(null);sx.displayName="Location";var Qo=A.createContext({outlet:null,matches:[],isDataRoute:!1});Qo.displayName="Route";var UR=A.createContext(null);UR.displayName="RouteError";function dte(t,{relative:e}={}){hi(ox(),"useHref() may be used only in the context of a component.");let{basename:n,navigator:i}=A.useContext(Zo),{hash:r,pathname:a,search:s}=lx(t,{relative:e}),o=a;return n!=="/"&&(o=a==="/"?n:Kl([n,a])),i.createHref({pathname:o,search:s,hash:r})}function ox(){return A.useContext(sx)!=null}function Zu(){return hi(ox(),"useLocation() may be used only in the context of a component."),A.useContext(sx).location}var oG="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function lG(t){A.useContext(Zo).static||A.useLayoutEffect(t)}function cG(){let{isDataRoute:t}=A.useContext(Qo);return t?Ate():fte()}function fte(){hi(ox(),"useNavigate() may be used only in the context of a component.");let t=A.useContext(tm),{basename:e,navigator:n}=A.useContext(Zo),{matches:i}=A.useContext(Qo),{pathname:r}=Zu(),a=JSON.stringify(iG(i)),s=A.useRef(!1);return lG(()=>{s.current=!0}),A.useCallback((l,c={})=>{if(go(s.current,oG),!s.current)return;if(typeof l=="number"){n.go(l);return}let d=rG(l,JSON.parse(a),r,c.relative==="path");t==null&&e!=="/"&&(d.pathname=d.pathname==="/"?e:Kl([e,d.pathname])),(c.replace?n.replace:n.push)(d,c.state,c)},[e,n,a,r,t])}var hte=A.createContext(null);function pte(t){let e=A.useContext(Qo).outlet;return A.useMemo(()=>e&&A.createElement(hte.Provider,{value:t},e),[e,t])}function lx(t,{relative:e}={}){let{matches:n}=A.useContext(Qo),{pathname:i}=Zu(),r=JSON.stringify(iG(n));return A.useMemo(()=>rG(t,JSON.parse(r),i,e==="path"),[t,r,i,e])}function mte(t,e){return uG(t,e)}function uG(t,e,n,i,r){hi(ox(),"useRoutes() may be used only in the context of a component.");let{navigator:a}=A.useContext(Zo),{matches:s}=A.useContext(Qo),o=s[s.length-1],l=o?o.params:{},c=o?o.pathname:"/",d=o?o.pathnameBase:"/",f=o&&o.route;{let M=f&&f.path||"";dG(c,!f||M.endsWith("*")||M.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${c}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. -Please change the parent to .`)}let p=Ku(),m;if(e){let M=typeof e=="string"?em(e):e;hi(d==="/"||M.pathname?.startsWith(d),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${d}" but pathname "${M.pathname}" was given in the \`location\` prop.`),m=M}else m=p;let _=m.pathname||"/",b=_;if(d!=="/"){let M=d.replace(/^\//,"").split("/");b="/"+_.replace(/^\//,"").split("/").slice(M.length).join("/")}let y=JV(t,{pathname:b});go(f||y!=null,`No routes matched location "${m.pathname}${m.search}${m.hash}" `),go(y==null||y[y.length-1].route.element!==void 0||y[y.length-1].route.Component!==void 0||y[y.length-1].route.lazy!==void 0,`Matched leaf route at location "${m.pathname}${m.search}${m.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let x=yte(y&&y.map(M=>Object.assign({},M,{params:Object.assign({},l,M.params),pathname:Kl([d,a.encodeLocation?a.encodeLocation(M.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:M.pathname]),pathnameBase:M.pathnameBase==="/"?d:Kl([d,a.encodeLocation?a.encodeLocation(M.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:M.pathnameBase])})),s,n,i,r);return e&&x?T.createElement(sx.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...m},navigationType:"POP"}},x):x}function mte(){let t=Mte(),e=ste(t)?`${t.status} ${t.statusText}`:t instanceof Error?t.message:JSON.stringify(t),n=t instanceof Error?t.stack:null,i="rgba(200,200,200, 0.5)",r={padding:"0.5rem",backgroundColor:i},a={padding:"2px 4px",backgroundColor:i},s=null;return console.error("Error handled by React Router default ErrorBoundary:",t),s=T.createElement(T.Fragment,null,T.createElement("p",null,"💿 Hey developer 👋"),T.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",T.createElement("code",{style:a},"ErrorBoundary")," or"," ",T.createElement("code",{style:a},"errorElement")," prop on your route.")),T.createElement(T.Fragment,null,T.createElement("h2",null,"Unexpected Application Error!"),T.createElement("h3",{style:{fontStyle:"italic"}},e),n?T.createElement("pre",{style:r},n):null,s)}var gte=T.createElement(mte,null),xte=class extends T.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,e){return e.location!==t.location||e.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:e.error,location:e.location,revalidation:t.revalidation||e.revalidation}}componentDidCatch(t,e){this.props.onError?this.props.onError(t,e):console.error("React Router caught the following error during render",t)}render(){return this.state.error!==void 0?T.createElement(Qo.Provider,{value:this.props.routeContext},T.createElement(UR.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function vte({routeContext:t,match:e,children:n}){let i=T.useContext(tm);return i&&i.static&&i.staticContext&&(e.route.errorElement||e.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=e.route.id),T.createElement(Qo.Provider,{value:t},n)}function yte(t,e=[],n=null,i=null,r=null){if(t==null){if(!n)return null;if(n.errors)t=n.matches;else if(e.length===0&&!n.initialized&&n.matches.length>0)t=n.matches;else return null}let a=t,s=n?.errors;if(s!=null){let d=a.findIndex(f=>f.route.id&&s?.[f.route.id]!==void 0);hi(d>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(s).join(",")}`),a=a.slice(0,Math.min(a.length,d+1))}let o=!1,l=-1;if(n)for(let d=0;d=0?a=a.slice(0,l+1):a=[a[0]];break}}}let c=n&&i?(d,f)=>{i(d,{location:n.location,params:n.matches?.[0]?.params??{},errorInfo:f})}:void 0;return a.reduceRight((d,f,p)=>{let m,_=!1,b=null,y=null;n&&(m=s&&f.route.id?s[f.route.id]:void 0,b=f.route.errorElement||gte,o&&(l<0&&p===0?(uG("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),_=!0,y=null):l===p&&(_=!0,y=f.route.hydrateFallbackElement||null)));let x=e.concat(a.slice(0,p+1)),M=()=>{let w;return m?w=b:_?w=y:f.route.Component?w=T.createElement(f.route.Component,null):f.route.element?w=f.route.element:w=d,T.createElement(vte,{match:f,routeContext:{outlet:d,matches:x,isDataRoute:n!=null},children:w})};return n&&(f.route.ErrorBoundary||f.route.errorElement||p===0)?T.createElement(xte,{location:n.location,revalidation:n.revalidation,component:b,error:m,children:M(),routeContext:{outlet:null,matches:x,isDataRoute:!0},onError:c}):M()},null)}function FR(t){return`${t} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function bte(t){let e=T.useContext(tm);return hi(e,FR(t)),e}function _te(t){let e=T.useContext(fS);return hi(e,FR(t)),e}function Ste(t){let e=T.useContext(Qo);return hi(e,FR(t)),e}function jR(t){let e=Ste(t),n=e.matches[e.matches.length-1];return hi(n.route.id,`${t} can only be used on routes that contain a unique "id"`),n.route.id}function wte(){return jR("useRouteId")}function Mte(){let t=T.useContext(UR),e=_te("useRouteError"),n=jR("useRouteError");return t!==void 0?t:e.errors?.[n]}function Ete(){let{router:t}=bte("useNavigate"),e=jR("useNavigate"),n=T.useRef(!1);return oG(()=>{n.current=!0}),T.useCallback(async(r,a={})=>{go(n.current,sG),n.current&&(typeof r=="number"?t.navigate(r):await t.navigate(r,{fromRouteId:e,...a}))},[t,e])}var x4={};function uG(t,e,n){!e&&!x4[t]&&(x4[t]=!0,go(!1,n))}T.memo(Ate);function Ate({routes:t,future:e,state:n,unstable_onError:i}){return cG(t,void 0,n,i,e)}function Tte(t){return hte(t.context)}function su(t){hi(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function Cte({basename:t="/",children:e=null,location:n,navigationType:i="POP",navigator:r,static:a=!1}){hi(!ox(),"You cannot render a inside another . You should never have more than one in your app.");let s=t.replace(/^\/*/,"/"),o=T.useMemo(()=>({basename:s,navigator:r,static:a,future:{}}),[s,r,a]);typeof n=="string"&&(n=em(n));let{pathname:l="/",search:c="",hash:d="",state:f=null,key:p="default"}=n,m=T.useMemo(()=>{let _=ic(l,s);return _==null?null:{location:{pathname:_,search:c,hash:d,state:f,key:p},navigationType:i}},[s,l,c,d,f,p,i]);return go(m!=null,` is not able to match the URL "${l}${c}${d}" because it does not start with the basename, so the won't render anything.`),m==null?null:T.createElement(Zo.Provider,{value:o},T.createElement(sx.Provider,{children:e,value:m}))}function Nte({children:t,location:e}){return pte(DC(t),e)}function DC(t,e=[]){let n=[];return T.Children.forEach(t,(i,r)=>{if(!T.isValidElement(i))return;let a=[...e,r];if(i.type===T.Fragment){n.push.apply(n,DC(i.props.children,a));return}hi(i.type===su,`[${typeof i.type=="string"?i.type:i.type.name}] is not a component. All component children of must be a or `),hi(!i.props.index||!i.props.children,"An index route cannot have child routes.");let s={id:i.props.id||a.join("-"),caseSensitive:i.props.caseSensitive,element:i.props.element,Component:i.props.Component,index:i.props.index,path:i.props.path,middleware:i.props.middleware,loader:i.props.loader,action:i.props.action,hydrateFallbackElement:i.props.hydrateFallbackElement,HydrateFallback:i.props.HydrateFallback,errorElement:i.props.errorElement,ErrorBoundary:i.props.ErrorBoundary,hasErrorBoundary:i.props.hasErrorBoundary===!0||i.props.ErrorBoundary!=null||i.props.errorElement!=null,shouldRevalidate:i.props.shouldRevalidate,handle:i.props.handle,lazy:i.props.lazy};i.props.children&&(s.children=DC(i.props.children,a)),n.push(s)}),n}var Ib="get",Ub="application/x-www-form-urlencoded";function hS(t){return t!=null&&typeof t.tagName=="string"}function Rte(t){return hS(t)&&t.tagName.toLowerCase()==="button"}function Pte(t){return hS(t)&&t.tagName.toLowerCase()==="form"}function Dte(t){return hS(t)&&t.tagName.toLowerCase()==="input"}function Ote(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function kte(t,e){return t.button===0&&(!e||e==="_self")&&!Ote(t)}var ry=null;function Lte(){if(ry===null)try{new FormData(document.createElement("form"),0),ry=!1}catch{ry=!0}return ry}var Ite=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function KE(t){return t!=null&&!Ite.has(t)?(go(!1,`"${t}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${Ub}"`),null):t}function Ute(t,e){let n,i,r,a,s;if(Pte(t)){let o=t.getAttribute("action");i=o?ic(o,e):null,n=t.getAttribute("method")||Ib,r=KE(t.getAttribute("enctype"))||Ub,a=new FormData(t)}else if(Rte(t)||Dte(t)&&(t.type==="submit"||t.type==="image")){let o=t.form;if(o==null)throw new Error('Cannot submit a