diff --git a/backend/app/api/routes/settings.py b/backend/app/api/routes/settings.py index ae720d8c3..4c56c73cf 100644 --- a/backend/app/api/routes/settings.py +++ b/backend/app/api/routes/settings.py @@ -1,3 +1,5 @@ +import shutil + from fastapi import APIRouter, Depends from sqlalchemy.ext.asyncio import AsyncSession from sqlalchemy import select @@ -44,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"]: + if setting.key in ["auto_archive", "save_thumbnails", "capture_finish_photo"]: settings_dict[setting.key] = setting.value.lower() == "true" elif setting.key == "default_filament_cost": settings_dict[setting.key] = float(setting.value) @@ -87,3 +89,13 @@ async def reset_settings(db: AsyncSession = Depends(get_db)): await db.commit() return DEFAULT_SETTINGS + + +@router.get("/check-ffmpeg") +async def check_ffmpeg(): + """Check if ffmpeg is installed and available.""" + ffmpeg_path = shutil.which("ffmpeg") + return { + "installed": ffmpeg_path is not None, + "path": ffmpeg_path, + } diff --git a/backend/app/main.py b/backend/app/main.py index 57ca07111..c80b3fb84 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -276,6 +276,53 @@ async def on_print_complete(printer_id: int, data: dict): "status": status, }) + # Capture finish photo from printer camera + try: + async with async_session() as db: + # Check if finish photo capture is enabled + from backend.app.api.routes.settings import get_setting + capture_enabled = await get_setting(db, "capture_finish_photo") + if capture_enabled is None or capture_enabled.lower() == "true": + # Get printer details + from backend.app.models.printer import Printer + from sqlalchemy import select + result = await db.execute( + select(Printer).where(Printer.id == printer_id) + ) + printer = result.scalar_one_or_none() + + if printer and archive_id: + # Get archive to find its directory + from backend.app.models.archive import PrintArchive + result = await db.execute( + select(PrintArchive).where(PrintArchive.id == archive_id) + ) + archive = result.scalar_one_or_none() + + if archive: + from backend.app.services.camera import capture_finish_photo + from pathlib import Path + + archive_dir = app_settings.base_dir / Path(archive.file_path).parent + photo_filename = await capture_finish_photo( + printer_id=printer_id, + ip_address=printer.ip_address, + access_code=printer.access_code, + model=printer.model, + archive_dir=archive_dir, + ) + + if photo_filename: + # Add photo to archive's photos list + photos = archive.photos or [] + photos.append(photo_filename) + archive.photos = photos + await db.commit() + logger.info(f"Added finish photo to archive {archive_id}: {photo_filename}") + except Exception as e: + import logging + logging.getLogger(__name__).warning(f"Finish photo capture failed: {e}") + # Smart plug automation: schedule turn off when print completes try: async with async_session() as db: diff --git a/backend/app/schemas/settings.py b/backend/app/schemas/settings.py index 9f9d7ad03..ad4099a5a 100644 --- a/backend/app/schemas/settings.py +++ b/backend/app/schemas/settings.py @@ -6,6 +6,7 @@ class AppSettings(BaseModel): auto_archive: bool = Field(default=True, description="Automatically archive prints when completed") save_thumbnails: bool = Field(default=True, description="Extract and save preview images from 3MF files") + capture_finish_photo: bool = Field(default=True, description="Capture photo from printer camera when print completes") default_filament_cost: float = Field(default=25.0, description="Default filament cost per kg") currency: str = Field(default="USD", description="Currency for cost tracking") @@ -15,5 +16,6 @@ class AppSettingsUpdate(BaseModel): auto_archive: bool | None = None save_thumbnails: bool | None = None + capture_finish_photo: bool | None = None default_filament_cost: float | None = None currency: str | None = None diff --git a/backend/app/services/camera.py b/backend/app/services/camera.py new file mode 100644 index 000000000..5675d7ed7 --- /dev/null +++ b/backend/app/services/camera.py @@ -0,0 +1,192 @@ +"""Camera capture service for Bambu Lab printers. + +Captures images from the printer's RTSPS camera stream using ffmpeg. +""" + +import asyncio +import logging +import subprocess +from pathlib import Path +from datetime import datetime +import uuid + +from backend.app.core.config import settings + +logger = logging.getLogger(__name__) + + +def get_camera_port(model: str | None) -> int: + """Get the RTSPS port based on printer model. + + X1 and H2D series use port 322. + P1 and A1 series use port 6000. + """ + if model: + model_upper = model.upper() + if model_upper.startswith(("X1", "H2")): + return 322 + # Default to 6000 for P1/A1 or unknown models + return 6000 + + +def build_camera_url(ip_address: str, access_code: str, model: str | None) -> str: + """Build the RTSPS URL for the printer camera.""" + port = get_camera_port(model) + return f"rtsps://bblp:{access_code}@{ip_address}:{port}/streaming/live/1" + + +async def capture_camera_frame( + ip_address: str, + access_code: str, + model: str | None, + output_path: Path, + timeout: int = 30, +) -> bool: + """Capture a single frame from the printer's camera stream. + + Args: + ip_address: Printer IP address + access_code: Printer access code + model: Printer model (X1, H2D, P1, A1, etc.) + output_path: Path where to save the captured image + timeout: Timeout in seconds for the capture operation + + Returns: + True if capture was successful, False otherwise + """ + camera_url = build_camera_url(ip_address, access_code, model) + + # Ensure output directory exists + output_path.parent.mkdir(parents=True, exist_ok=True) + + # ffmpeg command to capture a single frame from RTSPS stream + # -rtsp_transport tcp: Use TCP for RTSP (more reliable) + # -y: Overwrite output file + # -frames:v 1: Capture only 1 frame + # -q:v 2: High quality JPEG (1-31, lower is better) + cmd = [ + "ffmpeg", + "-y", # Overwrite output + "-rtsp_transport", "tcp", + "-i", camera_url, + "-frames:v", "1", + "-q:v", "2", + str(output_path), + ] + + logger.info(f"Capturing camera frame from {ip_address} (model: {model})") + + try: + # Run ffmpeg asynchronously with timeout + process = await asyncio.create_subprocess_exec( + *cmd, + stdout=asyncio.subprocess.PIPE, + stderr=asyncio.subprocess.PIPE, + ) + + try: + stdout, stderr = await asyncio.wait_for( + process.communicate(), + timeout=timeout + ) + except asyncio.TimeoutError: + process.kill() + await process.wait() + logger.error(f"Camera capture timed out after {timeout}s") + return False + + if process.returncode != 0: + stderr_text = stderr.decode() if stderr else "Unknown error" + logger.error(f"ffmpeg failed with code {process.returncode}: {stderr_text}") + return False + + if output_path.exists() and output_path.stat().st_size > 0: + logger.info(f"Successfully captured camera frame: {output_path}") + return True + else: + logger.error("Camera capture produced no output file") + return False + + except FileNotFoundError: + logger.error("ffmpeg not found. Please install ffmpeg to enable camera capture.") + return False + except Exception as e: + logger.exception(f"Camera capture failed: {e}") + return False + + +async def capture_finish_photo( + printer_id: int, + ip_address: str, + access_code: str, + model: str | None, + archive_dir: Path, +) -> str | None: + """Capture a finish photo and save it to the archive's photos folder. + + Args: + printer_id: ID of the printer + ip_address: Printer IP address + access_code: Printer access code + model: Printer model + archive_dir: Directory of the archive (where the 3MF is stored) + + Returns: + Filename of the captured photo, or None if capture failed + """ + # Create photos subdirectory + photos_dir = archive_dir / "photos" + photos_dir.mkdir(parents=True, exist_ok=True) + + # Generate filename with timestamp + timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") + filename = f"finish_{timestamp}_{uuid.uuid4().hex[:8]}.jpg" + output_path = photos_dir / filename + + success = await capture_camera_frame( + ip_address=ip_address, + access_code=access_code, + model=model, + output_path=output_path, + timeout=30, + ) + + if success: + logger.info(f"Finish photo saved: {filename}") + return filename + else: + logger.warning(f"Failed to capture finish photo for printer {printer_id}") + return None + + +async def test_camera_connection( + ip_address: str, + access_code: str, + model: str | None, +) -> dict: + """Test if the camera stream is accessible. + + Returns dict with success status and any error message. + """ + import tempfile + + with tempfile.NamedTemporaryFile(suffix=".jpg", delete=False) as f: + test_path = Path(f.name) + + try: + success = await capture_camera_frame( + ip_address=ip_address, + access_code=access_code, + model=model, + output_path=test_path, + timeout=15, + ) + + if success: + return {"success": True, "message": "Camera connection successful"} + else: + return {"success": False, "error": "Failed to capture frame from camera"} + finally: + # Clean up test file + if test_path.exists(): + test_path.unlink() diff --git a/frontend/src/api/client.ts b/frontend/src/api/client.ts index c5640a1b9..164e8411f 100644 --- a/frontend/src/api/client.ts +++ b/frontend/src/api/client.ts @@ -141,6 +141,7 @@ export interface BulkUploadResult { export interface AppSettings { auto_archive: boolean; save_thumbnails: boolean; + capture_finish_photo: boolean; default_filament_cost: number; currency: string; } @@ -490,6 +491,8 @@ export const api = { }), resetSettings: () => request('/settings/reset', { method: 'POST' }), + checkFfmpeg: () => + request<{ installed: boolean; path: string | null }>('/settings/check-ffmpeg'), // Cloud getCloudStatus: () => request('/cloud/status'), diff --git a/frontend/src/pages/SettingsPage.tsx b/frontend/src/pages/SettingsPage.tsx index c93a3c9bf..604d06292 100644 --- a/frontend/src/pages/SettingsPage.tsx +++ b/frontend/src/pages/SettingsPage.tsx @@ -1,5 +1,5 @@ import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'; -import { Save, Loader2, Check, Plus, Plug } from 'lucide-react'; +import { Save, Loader2, Check, Plus, Plug, AlertTriangle } from 'lucide-react'; import { api } from '../api/client'; import type { AppSettings, SmartPlug } from '../api/client'; import { Card, CardContent, CardHeader } from '../components/Card'; @@ -26,6 +26,11 @@ export function SettingsPage() { queryFn: api.getSmartPlugs, }); + const { data: ffmpegStatus } = useQuery({ + queryKey: ['ffmpeg-status'], + queryFn: api.checkFfmpeg, + }); + // Sync local state when settings load useEffect(() => { if (settings && !localSettings) { @@ -39,6 +44,7 @@ export function SettingsPage() { const changed = settings.auto_archive !== localSettings.auto_archive || settings.save_thumbnails !== localSettings.save_thumbnails || + settings.capture_finish_photo !== localSettings.capture_finish_photo || settings.default_filament_cost !== localSettings.default_filament_cost || settings.currency !== localSettings.currency; setHasChanges(changed); @@ -146,6 +152,36 @@ export function SettingsPage() {
+
+
+

Capture finish photo

+

+ Take a photo from printer camera when print completes +

+
+ +
+ {localSettings.capture_finish_photo && ffmpegStatus && !ffmpegStatus.installed && ( +
+ +
+

ffmpeg not installed

+

+ Camera capture requires ffmpeg. Install it via{' '} + brew install ffmpeg (macOS) or{' '} + apt install ffmpeg (Linux). +

+
+
+ )} diff --git a/static/assets/index-IoRlmG2j.js b/static/assets/index-B0NJFRfx.js similarity index 87% rename from static/assets/index-IoRlmG2j.js rename to static/assets/index-B0NJFRfx.js index 55fe51d22..8b96a2487 100644 --- a/static/assets/index-IoRlmG2j.js +++ b/static/assets/index-B0NJFRfx.js @@ -1,18 +1,18 @@ -function iee(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 Kx=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Vs(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var PE={exports:{}},ng={};var FU;function ree(){if(FU)return ng;FU=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 ng.Fragment=e,ng.jsx=n,ng.jsxs=n,ng}var zU;function aee(){return zU||(zU=1,PE.exports=ree()),PE.exports}var S=aee(),DE={exports:{}},$t={};var BU;function see(){if(BU)return $t;BU=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 y={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,x={};function g(H,X,re){this.props=H,this.context=X,this.refs=x,this.updater=re||y}g.prototype.isReactComponent={},g.prototype.setState=function(H,X){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,X,"setState")},g.prototype.forceUpdate=function(H){this.updater.enqueueForceUpdate(this,H,"forceUpdate")};function M(){}M.prototype=g.prototype;function w(H,X,re){this.props=H,this.context=X,this.refs=x,this.updater=re||y}var E=w.prototype=new M;E.constructor=w,b(E,g.prototype),E.isPureReactComponent=!0;var A=Array.isArray;function N(){}var R={H:null,A:null,T:null,S:null},U=Object.prototype.hasOwnProperty;function P(H,X,re){var ce=re.ref;return{$$typeof:t,type:H,key:X,ref:ce!==void 0?ce:null,props:re}}function O(H,X){return P(H.type,X,H.props)}function B(H){return typeof H=="object"&&H!==null&&H.$$typeof===t}function I(H){var X={"=":"=0",":":"=2"};return"$"+H.replace(/[=:]/g,function(re){return X[re]})}var W=/\/+/g;function L(H,X){return typeof H=="object"&&H!==null&&H.key!=null?I(""+H.key):X.toString(36)}function $(H){switch(H.status){case"fulfilled":return H.value;case"rejected":throw H.reason;default:switch(typeof H.status=="string"?H.then(N,N):(H.status="pending",H.then(function(X){H.status==="pending"&&(H.status="fulfilled",H.value=X)},function(X){H.status==="pending"&&(H.status="rejected",H.reason=X)})),H.status){case"fulfilled":return H.value;case"rejected":throw H.reason}}throw H}function q(H,X,re,ce,ye){var me=typeof H;(me==="undefined"||me==="boolean")&&(H=null);var be=!1;if(H===null)be=!0;else switch(me){case"bigint":case"string":case"number":be=!0;break;case"object":switch(H.$$typeof){case t:case e:be=!0;break;case d:return be=H._init,q(be(H._payload),X,re,ce,ye)}}if(be)return ye=ye(H),be=ce===""?"."+L(H,0):ce,A(ye)?(re="",be!=null&&(re=be.replace(W,"$&/")+"/"),q(ye,X,re,"",function(Ae){return Ae})):ye!=null&&(B(ye)&&(ye=O(ye,re+(ye.key==null||H&&H.key===ye.key?"":(""+ye.key).replace(W,"$&/")+"/")+be)),X.push(ye)),1;be=0;var De=ce===""?".":ce+":";if(A(H))for(var he=0;he>>1,se=q[Q];if(0>>1;Qr(re,K))cer(ye,re)?(q[Q]=ye,q[ce]=K,Q=ce):(q[Q]=re,q[X]=K,Q=X);else if(cer(ye,K))q[Q]=ye,q[ce]=K,Q=ce;else break e}}return G}function r(q,G){var K=q.sortIndex-G.sortIndex;return K!==0?K:q.id-G.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,y=!1,b=!1,x=!1,g=typeof setTimeout=="function"?setTimeout:null,M=typeof clearTimeout=="function"?clearTimeout:null,w=typeof setImmediate<"u"?setImmediate:null;function E(q){for(var G=n(c);G!==null;){if(G.callback===null)i(c);else if(G.startTime<=q)i(c),G.sortIndex=G.expirationTime,e(l,G);else break;G=n(c)}}function A(q){if(b=!1,E(q),!y)if(n(l)!==null)y=!0,N||(N=!0,I());else{var G=n(c);G!==null&&$(A,G.startTime-q)}}var N=!1,R=-1,U=5,P=-1;function O(){return x?!0:!(t.unstable_now()-Pq&&O());){var Q=f.callback;if(typeof Q=="function"){f.callback=null,p=f.priorityLevel;var se=Q(f.expirationTime<=q);if(q=t.unstable_now(),typeof se=="function"){f.callback=se,E(q),G=!0;break t}f===n(l)&&i(l),E(q)}else i(l);f=n(l)}if(f!==null)G=!0;else{var H=n(c);H!==null&&$(A,H.startTime-q),G=!1}}break e}finally{f=null,p=K,m=!1}G=void 0}}finally{G?I():N=!1}}}var I;if(typeof w=="function")I=function(){w(B)};else if(typeof MessageChannel<"u"){var W=new MessageChannel,L=W.port2;W.port1.onmessage=B,I=function(){L.postMessage(null)}}else I=function(){g(B,0)};function $(q,G){R=g(function(){q(t.unstable_now())},G)}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=K,e(c,q),n(l)===null&&q===n(c)&&(b?(M(R),R=-1):b=!0,$(A,K-Q))):(q.sortIndex=se,e(l,q),y||m||(y=!0,N||(N=!0,I()))),q},t.unstable_shouldYield=O,t.unstable_wrapCallback=function(q){var G=p;return function(){var K=p;p=G;try{return q.apply(this,arguments)}finally{p=K}}}})(kE)),kE}var VU;function cee(){return VU||(VU=1,LE.exports=lee()),LE.exports}var IE={exports:{}},Gr={};var GU;function uee(){if(GU)return Gr;GU=1;var t=Vp();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(),IE.exports=uee(),IE.exports}var WU;function dee(){if(WU)return ig;WU=1;var t=cee(),e=Vp(),n=CV();function i(u){var h="https://react.dev/errors/"+u;if(1se||(u.current=Q[se],Q[se]=null,se--)}function re(u,h){se++,Q[se]=u.current,u.current=h}var ce=H(null),ye=H(null),me=H(null),be=H(null);function De(u,h){switch(re(me,h),re(ye,u),re(ce,null),h.nodeType){case 9:case 11:u=(u=h.documentElement)&&(u=u.namespaceURI)?oU(u):0;break;default:if(u=h.tagName,h=h.namespaceURI)h=oU(h),u=lU(h,u);else switch(u){case"svg":u=1;break;case"math":u=2;break;default:u=0}}X(ce),re(ce,u)}function he(){X(ce),X(ye),X(me)}function Ae(u){u.memoizedState!==null&&re(be,u);var h=ce.current,v=lU(h,u.type);h!==v&&(re(ye,u),re(ce,v))}function Be(u){ye.current===u&&(X(ce),X(ye)),be.current===u&&(X(be),Jm._currentValue=K)}var le,ut;function z(u){if(le===void 0)try{throw Error()}catch(v){var h=v.stack.trim().match(/\n( *(at )?)/);le=h&&h[1]||"",ut=-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 Kx=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Vs(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var PE={exports:{}},ng={};var zU;function ree(){if(zU)return ng;zU=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 ng.Fragment=e,ng.jsx=n,ng.jsxs=n,ng}var BU;function aee(){return BU||(BU=1,PE.exports=ree()),PE.exports}var S=aee(),DE={exports:{}},$t={};var jU;function see(){if(jU)return $t;jU=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 y={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,x={};function g(H,X,re){this.props=H,this.context=X,this.refs=x,this.updater=re||y}g.prototype.isReactComponent={},g.prototype.setState=function(H,X){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,X,"setState")},g.prototype.forceUpdate=function(H){this.updater.enqueueForceUpdate(this,H,"forceUpdate")};function M(){}M.prototype=g.prototype;function w(H,X,re){this.props=H,this.context=X,this.refs=x,this.updater=re||y}var E=w.prototype=new M;E.constructor=w,b(E,g.prototype),E.isPureReactComponent=!0;var A=Array.isArray;function N(){}var R={H:null,A:null,T:null,S:null},U=Object.prototype.hasOwnProperty;function P(H,X,re){var ce=re.ref;return{$$typeof:t,type:H,key:X,ref:ce!==void 0?ce:null,props:re}}function O(H,X){return P(H.type,X,H.props)}function B(H){return typeof H=="object"&&H!==null&&H.$$typeof===t}function I(H){var X={"=":"=0",":":"=2"};return"$"+H.replace(/[=:]/g,function(re){return X[re]})}var W=/\/+/g;function L(H,X){return typeof H=="object"&&H!==null&&H.key!=null?I(""+H.key):X.toString(36)}function $(H){switch(H.status){case"fulfilled":return H.value;case"rejected":throw H.reason;default:switch(typeof H.status=="string"?H.then(N,N):(H.status="pending",H.then(function(X){H.status==="pending"&&(H.status="fulfilled",H.value=X)},function(X){H.status==="pending"&&(H.status="rejected",H.reason=X)})),H.status){case"fulfilled":return H.value;case"rejected":throw H.reason}}throw H}function q(H,X,re,ce,ye){var me=typeof H;(me==="undefined"||me==="boolean")&&(H=null);var be=!1;if(H===null)be=!0;else switch(me){case"bigint":case"string":case"number":be=!0;break;case"object":switch(H.$$typeof){case t:case e:be=!0;break;case d:return be=H._init,q(be(H._payload),X,re,ce,ye)}}if(be)return ye=ye(H),be=ce===""?"."+L(H,0):ce,A(ye)?(re="",be!=null&&(re=be.replace(W,"$&/")+"/"),q(ye,X,re,"",function(Ae){return Ae})):ye!=null&&(B(ye)&&(ye=O(ye,re+(ye.key==null||H&&H.key===ye.key?"":(""+ye.key).replace(W,"$&/")+"/")+be)),X.push(ye)),1;be=0;var De=ce===""?".":ce+":";if(A(H))for(var he=0;he>>1,se=q[Q];if(0>>1;Qr(re,K))cer(ye,re)?(q[Q]=ye,q[ce]=K,Q=ce):(q[Q]=re,q[X]=K,Q=X);else if(cer(ye,K))q[Q]=ye,q[ce]=K,Q=ce;else break e}}return G}function r(q,G){var K=q.sortIndex-G.sortIndex;return K!==0?K:q.id-G.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,y=!1,b=!1,x=!1,g=typeof setTimeout=="function"?setTimeout:null,M=typeof clearTimeout=="function"?clearTimeout:null,w=typeof setImmediate<"u"?setImmediate:null;function E(q){for(var G=n(c);G!==null;){if(G.callback===null)i(c);else if(G.startTime<=q)i(c),G.sortIndex=G.expirationTime,e(l,G);else break;G=n(c)}}function A(q){if(b=!1,E(q),!y)if(n(l)!==null)y=!0,N||(N=!0,I());else{var G=n(c);G!==null&&$(A,G.startTime-q)}}var N=!1,R=-1,U=5,P=-1;function O(){return x?!0:!(t.unstable_now()-Pq&&O());){var Q=f.callback;if(typeof Q=="function"){f.callback=null,p=f.priorityLevel;var se=Q(f.expirationTime<=q);if(q=t.unstable_now(),typeof se=="function"){f.callback=se,E(q),G=!0;break t}f===n(l)&&i(l),E(q)}else i(l);f=n(l)}if(f!==null)G=!0;else{var H=n(c);H!==null&&$(A,H.startTime-q),G=!1}}break e}finally{f=null,p=K,m=!1}G=void 0}}finally{G?I():N=!1}}}var I;if(typeof w=="function")I=function(){w(B)};else if(typeof MessageChannel<"u"){var W=new MessageChannel,L=W.port2;W.port1.onmessage=B,I=function(){L.postMessage(null)}}else I=function(){g(B,0)};function $(q,G){R=g(function(){q(t.unstable_now())},G)}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=K,e(c,q),n(l)===null&&q===n(c)&&(b?(M(R),R=-1):b=!0,$(A,K-Q))):(q.sortIndex=se,e(l,q),y||m||(y=!0,N||(N=!0,I()))),q},t.unstable_shouldYield=O,t.unstable_wrapCallback=function(q){var G=p;return function(){var K=p;p=G;try{return q.apply(this,arguments)}finally{p=K}}}})(kE)),kE}var GU;function cee(){return GU||(GU=1,LE.exports=lee()),LE.exports}var IE={exports:{}},Gr={};var $U;function uee(){if($U)return Gr;$U=1;var t=Vp();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(),IE.exports=uee(),IE.exports}var qU;function dee(){if(qU)return ig;qU=1;var t=cee(),e=Vp(),n=RV();function i(u){var h="https://react.dev/errors/"+u;if(1se||(u.current=Q[se],Q[se]=null,se--)}function re(u,h){se++,Q[se]=u.current,u.current=h}var ce=H(null),ye=H(null),me=H(null),be=H(null);function De(u,h){switch(re(me,h),re(ye,u),re(ce,null),h.nodeType){case 9:case 11:u=(u=h.documentElement)&&(u=u.namespaceURI)?lU(u):0;break;default:if(u=h.tagName,h=h.namespaceURI)h=lU(h),u=cU(h,u);else switch(u){case"svg":u=1;break;case"math":u=2;break;default:u=0}}X(ce),re(ce,u)}function he(){X(ce),X(ye),X(me)}function Ae(u){u.memoizedState!==null&&re(be,u);var h=ce.current,v=cU(h,u.type);h!==v&&(re(ye,u),re(ce,v))}function Be(u){ye.current===u&&(X(ce),X(ye)),be.current===u&&(X(be),Jm._currentValue=K)}var le,ut;function z(u){if(le===void 0)try{throw Error()}catch(v){var h=v.stack.trim().match(/\n( *(at )?)/);le=h&&h[1]||"",ut=-1)":-1T||Se[_]!==ze[T]){var Je=` `+Se[_].replace(" at new "," at ");return u.displayName&&Je.includes("")&&(Je=Je.replace("",u.displayName)),Je}while(1<=_&&0<=T);break}}}finally{V=!1,Error.prepareStackTrace=v}return(v=u?u.displayName||u.name:"")?z(v):""}function J(u,h){switch(u.tag){case 26:case 27:case 5:return z(u.type);case 16:return z("Lazy");case 13:return u.child!==h&&h!==null?z("Suspense Fallback"):z("Suspense");case 19:return z("SuspenseList");case 0:case 15:return ne(u.type,!1);case 11:return ne(u.type.render,!1);case 1:return ne(u.type,!0);case 31:return z("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(_){return` Error generating stack: `+_.message+` -`+_.stack}}var ae=Object.prototype.hasOwnProperty,ie=t.unstable_scheduleCallback,we=t.unstable_cancelCallback,ve=t.unstable_shouldYield,F=t.unstable_requestPaint,k=t.unstable_now,Y=t.unstable_getCurrentPriorityLevel,pe=t.unstable_ImmediatePriority,xe=t.unstable_UserBlockingPriority,fe=t.unstable_NormalPriority,Ye=t.unstable_LowPriority,ke=t.unstable_IdlePriority,$e=t.log,rt=t.unstable_setDisableYieldValue,Ue=null,Pe=null;function dt(u){if(typeof $e=="function"&&rt(u),Pe&&typeof Pe.setStrictMode=="function")try{Pe.setStrictMode(Ue,u)}catch{}}var et=Math.clz32?Math.clz32:ue,Qe=Math.log,st=Math.LN2;function ue(u){return u>>>=0,u===0?32:31-(Qe(u)/st|0)|0}var tt=256,de=262144,Le=4194304;function Ee(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 _=u.pendingLanes;if(_===0)return 0;var T=0,D=u.suspendedLanes,j=u.pingedLanes;u=u.warmLanes;var te=_&134217727;return te!==0?(_=te&~D,_!==0?T=Ee(_):(j&=te,j!==0?T=Ee(j):v||(v=te&~u,v!==0&&(T=Ee(v))))):(te=_&~D,te!==0?T=Ee(te):j!==0?T=Ee(j):v||(v=_&~u,v!==0&&(T=Ee(v)))),T===0?0:h!==0&&h!==T&&(h&D)===0&&(D=T&-T,v=h&-h,D>=v||D===32&&(v&4194048)!==0)?h:T}function je(u,h){return(u.pendingLanes&~(u.suspendedLanes&~u.pingedLanes)&h)===0}function at(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 yt(){var u=Le;return Le<<=1,(Le&62914560)===0&&(Le=4194304),u}function Ct(u){for(var h=[],v=0;31>v;v++)h.push(u);return h}function tn(u,h){u.pendingLanes|=h,h!==268435456&&(u.suspendedLanes=0,u.pingedLanes=0,u.warmLanes=0)}function Pt(u,h,v,_,T,D){var j=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 te=u.entanglements,Se=u.expirationTimes,ze=u.hiddenUpdates;for(v=j&~v;0"u")return null;try{return u.activeElement||u.body}catch{return u.body}}var Mi=/[\n"\\]/g;function Sn(u){return u.replace(Mi,function(h){return"\\"+h.charCodeAt(0).toString(16)+" "})}function Ws(u,h,v,_,T,D,j,te){u.name="",j!=null&&typeof j!="function"&&typeof j!="symbol"&&typeof j!="boolean"?u.type=j:u.removeAttribute("type"),h!=null?j==="number"?(h===0&&u.value===""||u.value!=h)&&(u.value=""+rn(h)):u.value!==""+rn(h)&&(u.value=""+rn(h)):j!=="submit"&&j!=="reset"||u.removeAttribute("value"),h!=null?fr(u,j,rn(h)):v!=null?fr(u,j,rn(v)):_!=null&&u.removeAttribute("value"),T==null&&D!=null&&(u.defaultChecked=!!D),T!=null&&(u.checked=T&&typeof T!="function"&&typeof T!="symbol"),te!=null&&typeof te!="function"&&typeof te!="symbol"&&typeof te!="boolean"?u.name=""+rn(te):u.removeAttribute("name")}function Mn(u,h,v,_,T,D,j,te){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)){Gt(u);return}v=v!=null?""+rn(v):"",h=h!=null?""+rn(h):v,te||h===u.value||(u.value=h),u.defaultValue=h}_=_??T,_=typeof _!="function"&&typeof _!="symbol"&&!!_,u.checked=te?u.checked:!!_,u.defaultChecked=!!_,j!=null&&typeof j!="function"&&typeof j!="symbol"&&typeof j!="boolean"&&(u.name=j),Gt(u)}function fr(u,h,v){h==="number"&&hi(u.ownerDocument)===u||u.defaultValue===""+v||(u.defaultValue=""+v)}function Ki(u,h,v,_){if(u=u.options,h){h={};for(var T=0;T"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Pw=!1;if(Qo)try{var gm={};Object.defineProperty(gm,"passive",{get:function(){Pw=!0}}),window.addEventListener("test",gm,gm),window.removeEventListener("test",gm,gm)}catch{Pw=!1}var xc=null,Dw=null,jv=null;function lL(){if(jv)return jv;var u,h=Dw,v=h.length,_,T="value"in xc?xc.value:xc.textContent,D=T.length;for(u=0;u=ym),pL=" ",mL=!1;function gL(u,h){switch(u){case"keyup":return EJ.indexOf(h.keyCode)!==-1;case"keydown":return h.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function vL(u){return u=u.detail,typeof u=="object"&&"data"in u?u.data:null}var Of=!1;function TJ(u,h){switch(u){case"compositionend":return vL(h);case"keypress":return h.which!==32?null:(mL=!0,pL);case"textInput":return u=h.data,u===pL&&mL?null:u;default:return null}}function CJ(u,h){if(Of)return u==="compositionend"||!Uw&&gL(u,h)?(u=lL(),jv=Dw=xc=null,Of=!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=_}e:{for(;v;){if(v.nextSibling){v=v.nextSibling;break e}v=v.parentNode}v=void 0}v=EL(v)}}function TL(u,h){return u&&h?u===h?!0:u&&u.nodeType===3?!1:h&&h.nodeType===3?TL(u,h.parentNode):"contains"in u?u.contains(h):u.compareDocumentPosition?!!(u.compareDocumentPosition(h)&16):!1:!1}function CL(u){u=u!=null&&u.ownerDocument!=null&&u.ownerDocument.defaultView!=null?u.ownerDocument.defaultView:window;for(var h=hi(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=hi(u.document)}return h}function Bw(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 IJ=Qo&&"documentMode"in document&&11>=document.documentMode,Lf=null,jw=null,wm=null,Hw=!1;function RL(u,h,v){var _=v.window===v?v.document:v.nodeType===9?v:v.ownerDocument;Hw||Lf==null||Lf!==hi(_)||(_=Lf,"selectionStart"in _&&Bw(_)?_={start:_.selectionStart,end:_.selectionEnd}:(_=(_.ownerDocument&&_.ownerDocument.defaultView||window).getSelection(),_={anchorNode:_.anchorNode,anchorOffset:_.anchorOffset,focusNode:_.focusNode,focusOffset:_.focusOffset}),wm&&Sm(wm,_)||(wm=_,_=Lx(jw,"onSelect"),0<_.length&&(h=new Gv("onSelect","select",null,h,v),u.push({event:h,listeners:_}),h.target=Lf)))}function Xu(u,h){var v={};return v[u.toLowerCase()]=h.toLowerCase(),v["Webkit"+u]="webkit"+h,v["Moz"+u]="moz"+h,v}var kf={animationend:Xu("Animation","AnimationEnd"),animationiteration:Xu("Animation","AnimationIteration"),animationstart:Xu("Animation","AnimationStart"),transitionrun:Xu("Transition","TransitionRun"),transitionstart:Xu("Transition","TransitionStart"),transitioncancel:Xu("Transition","TransitionCancel"),transitionend:Xu("Transition","TransitionEnd")},Vw={},NL={};Qo&&(NL=document.createElement("div").style,"AnimationEvent"in window||(delete kf.animationend.animation,delete kf.animationiteration.animation,delete kf.animationstart.animation),"TransitionEvent"in window||delete kf.transitionend.transition);function Ku(u){if(Vw[u])return Vw[u];if(!kf[u])return u;var h=kf[u],v;for(v in h)if(h.hasOwnProperty(v)&&v in NL)return Vw[u]=h[v];return u}var PL=Ku("animationend"),DL=Ku("animationiteration"),OL=Ku("animationstart"),UJ=Ku("transitionrun"),FJ=Ku("transitionstart"),zJ=Ku("transitioncancel"),LL=Ku("transitionend"),kL=new Map,Gw="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Gw.push("scrollEnd");function qs(u,h){kL.set(u,h),lt(h,[u])}var qv=typeof reportError=="function"?reportError:function(u){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var h=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof u=="object"&&u!==null&&typeof u.message=="string"?String(u.message):String(u),error:u});if(!window.dispatchEvent(h))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",u);return}console.error(u)},cs=[],If=0,$w=0;function Xv(){for(var u=If,h=$w=If=0;h>=j,T-=j,bo=1<<32-et(h)+T|v<Xt?(dn=Nt,Nt=null):dn=Nt.sibling;var vn=Ve(Oe,Nt,Fe[Xt],nt);if(vn===null){Nt===null&&(Nt=dn);break}u&&Nt&&vn.alternate===null&&h(Oe,Nt),Te=D(vn,Te,Xt),gn===null?Lt=vn:gn.sibling=vn,gn=vn,Nt=dn}if(Xt===Fe.length)return v(Oe,Nt),hn&&tl(Oe,Xt),Lt;if(Nt===null){for(;XtXt?(dn=Nt,Nt=null):dn=Nt.sibling;var Bc=Ve(Oe,Nt,vn.value,nt);if(Bc===null){Nt===null&&(Nt=dn);break}u&&Nt&&Bc.alternate===null&&h(Oe,Nt),Te=D(Bc,Te,Xt),gn===null?Lt=Bc:gn.sibling=Bc,gn=Bc,Nt=dn}if(vn.done)return v(Oe,Nt),hn&&tl(Oe,Xt),Lt;if(Nt===null){for(;!vn.done;Xt++,vn=Fe.next())vn=it(Oe,vn.value,nt),vn!==null&&(Te=D(vn,Te,Xt),gn===null?Lt=vn:gn.sibling=vn,gn=vn);return hn&&tl(Oe,Xt),Lt}for(Nt=_(Nt);!vn.done;Xt++,vn=Fe.next())vn=Ke(Nt,Oe,Xt,vn.value,nt),vn!==null&&(u&&vn.alternate!==null&&Nt.delete(vn.key===null?Xt:vn.key),Te=D(vn,Te,Xt),gn===null?Lt=vn:gn.sibling=vn,gn=vn);return u&&Nt.forEach(function(nee){return h(Oe,nee)}),hn&&tl(Oe,Xt),Lt}function Dn(Oe,Te,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;Te!==null;){if(Te.key===Lt){if(Lt=Fe.type,Lt===b){if(Te.tag===7){v(Oe,Te.sibling),nt=T(Te,Fe.props.children),nt.return=Oe,Oe=nt;break e}}else if(Te.elementType===Lt||typeof Lt=="object"&&Lt!==null&&Lt.$$typeof===U&&nd(Lt)===Te.type){v(Oe,Te.sibling),nt=T(Te,Fe.props),Rm(nt,Fe),nt.return=Oe,Oe=nt;break e}v(Oe,Te);break}else h(Oe,Te);Te=Te.sibling}Fe.type===b?(nt=Zu(Fe.props.children,Oe.mode,nt,Fe.key),nt.return=Oe,Oe=nt):(nt=Zv(Fe.type,Fe.key,Fe.props,null,Oe.mode,nt),Rm(nt,Fe),nt.return=Oe,Oe=nt)}return j(Oe);case y:e:{for(Lt=Fe.key;Te!==null;){if(Te.key===Lt)if(Te.tag===4&&Te.stateNode.containerInfo===Fe.containerInfo&&Te.stateNode.implementation===Fe.implementation){v(Oe,Te.sibling),nt=T(Te,Fe.children||[]),nt.return=Oe,Oe=nt;break e}else{v(Oe,Te);break}else h(Oe,Te);Te=Te.sibling}nt=Kw(Fe,Oe.mode,nt),nt.return=Oe,Oe=nt}return j(Oe);case U:return Fe=nd(Fe),Dn(Oe,Te,Fe,nt)}if($(Fe))return Tt(Oe,Te,Fe,nt);if(I(Fe)){if(Lt=I(Fe),typeof Lt!="function")throw Error(i(150));return Fe=Lt.call(Fe),Ft(Oe,Te,Fe,nt)}if(typeof Fe.then=="function")return Dn(Oe,Te,rx(Fe),nt);if(Fe.$$typeof===w)return Dn(Oe,Te,ex(Oe,Fe),nt);ax(Oe,Fe)}return typeof Fe=="string"&&Fe!==""||typeof Fe=="number"||typeof Fe=="bigint"?(Fe=""+Fe,Te!==null&&Te.tag===6?(v(Oe,Te.sibling),nt=T(Te,Fe),nt.return=Oe,Oe=nt):(v(Oe,Te),nt=Xw(Fe,Oe.mode,nt),nt.return=Oe,Oe=nt),j(Oe)):v(Oe,Te)}return function(Oe,Te,Fe,nt){try{Cm=0;var Lt=Dn(Oe,Te,Fe,nt);return $f=null,Lt}catch(Nt){if(Nt===Gf||Nt===nx)throw Nt;var gn=ja(29,Nt,null,Oe.mode);return gn.lanes=nt,gn.return=Oe,gn}finally{}}}var rd=JL(!0),QL=JL(!1),wc=!1;function oM(u){u.updateQueue={baseState:u.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function lM(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 Mc(u){return{lane:u,tag:0,payload:null,callback:null,next:null}}function Ec(u,h,v){var _=u.updateQueue;if(_===null)return null;if(_=_.shared,(_n&2)!==0){var T=_.pending;return T===null?h.next=h:(h.next=T.next,T.next=h),_.pending=h,h=Yv(u),IL(u,null,v),h}return Kv(u,_,h,v),Yv(u)}function Nm(u,h,v){if(h=h.updateQueue,h!==null&&(h=h.shared,(v&4194048)!==0)){var _=h.lanes;_&=u.pendingLanes,v|=_,h.lanes=v,Bn(u,v)}}function cM(u,h){var v=u.updateQueue,_=u.alternate;if(_!==null&&(_=_.updateQueue,v===_)){var T=null,D=null;if(v=v.firstBaseUpdate,v!==null){do{var j={lane:v.lane,tag:v.tag,payload:v.payload,callback:null,next:null};D===null?T=D=j:D=D.next=j,v=v.next}while(v!==null);D===null?T=D=h:D=D.next=h}else T=D=h;v={baseState:_.baseState,firstBaseUpdate:T,lastBaseUpdate:D,shared:_.shared,callbacks:_.callbacks},u.updateQueue=v;return}u=v.lastBaseUpdate,u===null?v.firstBaseUpdate=h:u.next=h,v.lastBaseUpdate=h}var uM=!1;function Pm(){if(uM){var u=Vf;if(u!==null)throw u}}function Dm(u,h,v,_){uM=!1;var T=u.updateQueue;wc=!1;var D=T.firstBaseUpdate,j=T.lastBaseUpdate,te=T.shared.pending;if(te!==null){T.shared.pending=null;var Se=te,ze=Se.next;Se.next=null,j===null?D=ze:j.next=ze,j=Se;var Je=u.alternate;Je!==null&&(Je=Je.updateQueue,te=Je.lastBaseUpdate,te!==j&&(te===null?Je.firstBaseUpdate=ze:te.next=ze,Je.lastBaseUpdate=Se))}if(D!==null){var it=T.baseState;j=0,Je=ze=Se=null,te=D;do{var Ve=te.lane&-536870913,Ke=Ve!==te.lane;if(Ke?(un&Ve)===Ve:(_&Ve)===Ve){Ve!==0&&Ve===Hf&&(uM=!0),Je!==null&&(Je=Je.next={lane:0,tag:te.tag,payload:te.payload,callback:null,next:null});e:{var Tt=u,Ft=te;Ve=h;var Dn=v;switch(Ft.tag){case 1:if(Tt=Ft.payload,typeof Tt=="function"){it=Tt.call(Dn,it,Ve);break e}it=Tt;break e;case 3:Tt.flags=Tt.flags&-65537|128;case 0:if(Tt=Ft.payload,Ve=typeof Tt=="function"?Tt.call(Dn,it,Ve):Tt,Ve==null)break e;it=f({},it,Ve);break e;case 2:wc=!0}}Ve=te.callback,Ve!==null&&(u.flags|=64,Ke&&(u.flags|=8192),Ke=T.callbacks,Ke===null?T.callbacks=[Ve]:Ke.push(Ve))}else Ke={lane:Ve,tag:te.tag,payload:te.payload,callback:te.callback,next:null},Je===null?(ze=Je=Ke,Se=it):Je=Je.next=Ke,j|=Ve;if(te=te.next,te===null){if(te=T.shared.pending,te===null)break;Ke=te,te=Ke.next,Ke.next=null,T.lastBaseUpdate=Ke,T.shared.pending=null}}while(!0);Je===null&&(Se=it),T.baseState=Se,T.firstBaseUpdate=ze,T.lastBaseUpdate=Je,D===null&&(T.shared.lanes=0),Nc|=j,u.lanes=j,u.memoizedState=it}}function ek(u,h){if(typeof u!="function")throw Error(i(191,u));u.call(h)}function tk(u,h){var v=u.callbacks;if(v!==null)for(u.callbacks=null,u=0;uD?D:8;var j=q.T,te={};q.T=te,RM(u,!1,h,v);try{var Se=T(),ze=q.S;if(ze!==null&&ze(te,Se),Se!==null&&typeof Se=="object"&&typeof Se.then=="function"){var Je=$J(Se,_);km(u,h,Je,Wa(u))}else km(u,h,_,Wa(u))}catch(it){km(u,h,{then:function(){},status:"rejected",reason:it},Wa())}finally{G.p=D,j!==null&&te.types!==null&&(j.types=te.types),q.T=j}}function ZJ(){}function TM(u,h,v,_){if(u.tag!==5)throw Error(i(476));var T=Ok(u).queue;Dk(u,T,h,K,v===null?ZJ:function(){return Lk(u),v(_)})}function Ok(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:al,lastRenderedState:K},next:null};var v={};return h.next={memoizedState:v,baseState:v,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:al,lastRenderedState:v},next:null},u.memoizedState=h,u=u.alternate,u!==null&&(u.memoizedState=h),h}function Lk(u){var h=Ok(u);h.next===null&&(h=u.alternate.memoizedState),km(u,h.next.queue,{},Wa())}function CM(){return Rr(Jm)}function kk(){return Ai().memoizedState}function Ik(){return Ai().memoizedState}function JJ(u){for(var h=u.return;h!==null;){switch(h.tag){case 24:case 3:var v=Wa();u=Mc(v);var _=Ec(h,u,v);_!==null&&(Ma(_,h,v),Nm(_,h,v)),h={cache:iM()},u.payload=h;return}h=h.return}}function QJ(u,h,v){var _=Wa();v={lane:_,revertLane:0,gesture:null,action:v,hasEagerState:!1,eagerState:null,next:null},mx(u)?Fk(h,v):(v=Ww(u,h,v,_),v!==null&&(Ma(v,u,_),zk(v,h,_)))}function Uk(u,h,v){var _=Wa();km(u,h,v,_)}function km(u,h,v,_){var T={lane:_,revertLane:0,gesture:null,action:v,hasEagerState:!1,eagerState:null,next:null};if(mx(u))Fk(h,T);else{var D=u.alternate;if(u.lanes===0&&(D===null||D.lanes===0)&&(D=h.lastRenderedReducer,D!==null))try{var j=h.lastRenderedState,te=D(j,v);if(T.hasEagerState=!0,T.eagerState=te,Ba(te,j))return Kv(u,h,T,0),jn===null&&Xv(),!1}catch{}finally{}if(v=Ww(u,h,T,_),v!==null)return Ma(v,u,_),zk(v,h,_),!0}return!1}function RM(u,h,v,_){if(_={lane:2,revertLane:oE(),gesture:null,action:_,hasEagerState:!1,eagerState:null,next:null},mx(u)){if(h)throw Error(i(479))}else h=Ww(u,v,_,2),h!==null&&Ma(h,u,2)}function mx(u){var h=u.alternate;return u===qt||h!==null&&h===qt}function Fk(u,h){qf=lx=!0;var v=u.pending;v===null?h.next=h:(h.next=v.next,v.next=h),u.pending=h}function zk(u,h,v){if((v&4194048)!==0){var _=h.lanes;_&=u.pendingLanes,v|=_,h.lanes=v,Bn(u,v)}}var Im={readContext:Rr,use:dx,useCallback:pi,useContext:pi,useEffect:pi,useImperativeHandle:pi,useLayoutEffect:pi,useInsertionEffect:pi,useMemo:pi,useReducer:pi,useRef:pi,useState:pi,useDebugValue:pi,useDeferredValue:pi,useTransition:pi,useSyncExternalStore:pi,useId:pi,useHostTransitionStatus:pi,useFormState:pi,useActionState:pi,useOptimistic:pi,useMemoCache:pi,useCacheRefresh:pi};Im.useEffectEvent=pi;var Bk={readContext:Rr,use:dx,useCallback:function(u,h){return aa().memoizedState=[u,h===void 0?null:h],u},useContext:Rr,useEffect:wk,useImperativeHandle:function(u,h,v){v=v!=null?v.concat([u]):null,hx(4194308,4,Tk.bind(null,h,u),v)},useLayoutEffect:function(u,h){return hx(4194308,4,u,h)},useInsertionEffect:function(u,h){hx(4,2,u,h)},useMemo:function(u,h){var v=aa();h=h===void 0?null:h;var _=u();if(ad){dt(!0);try{u()}finally{dt(!1)}}return v.memoizedState=[_,h],_},useReducer:function(u,h,v){var _=aa();if(v!==void 0){var T=v(h);if(ad){dt(!0);try{v(h)}finally{dt(!1)}}}else T=h;return _.memoizedState=_.baseState=T,u={pending:null,lanes:0,dispatch:null,lastRenderedReducer:u,lastRenderedState:T},_.queue=u,u=u.dispatch=QJ.bind(null,qt,u),[_.memoizedState,u]},useRef:function(u){var h=aa();return u={current:u},h.memoizedState=u},useState:function(u){u=SM(u);var h=u.queue,v=Uk.bind(null,qt,h);return h.dispatch=v,[u.memoizedState,v]},useDebugValue:EM,useDeferredValue:function(u,h){var v=aa();return AM(v,u,h)},useTransition:function(){var u=SM(!1);return u=Dk.bind(null,qt,u.queue,!0,!1),aa().memoizedState=u,[!1,u]},useSyncExternalStore:function(u,h,v){var _=qt,T=aa();if(hn){if(v===void 0)throw Error(i(407));v=v()}else{if(v=h(),jn===null)throw Error(i(349));(un&127)!==0||ok(_,h,v)}T.memoizedState=v;var D={value:v,getSnapshot:h};return T.queue=D,wk(ck.bind(null,_,D,u),[u]),_.flags|=2048,Kf(9,{destroy:void 0},lk.bind(null,_,D,v,h),null),v},useId:function(){var u=aa(),h=jn.identifierPrefix;if(hn){var v=_o,_=bo;v=(_&~(1<<32-et(_)-1)).toString(32)+v,h="_"+h+"R_"+v,v=cx++,0<\/script>",D=D.removeChild(D.firstChild);break;case"select":D=typeof _.is=="string"?j.createElement("select",{is:_.is}):j.createElement("select"),_.multiple?D.multiple=!0:_.size&&(D.size=_.size);break;default:D=typeof _.is=="string"?j.createElement(T,{is:_.is}):j.createElement(T)}}D[si]=h,D[wi]=_;e:for(j=h.child;j!==null;){if(j.tag===5||j.tag===6)D.appendChild(j.stateNode);else if(j.tag!==4&&j.tag!==27&&j.child!==null){j.child.return=j,j=j.child;continue}if(j===h)break e;for(;j.sibling===null;){if(j.return===null||j.return===h)break e;j=j.return}j.sibling.return=j.return,j=j.sibling}h.stateNode=D;e:switch(Pr(D,T,_),T){case"button":case"input":case"select":case"textarea":_=!!_.autoFocus;break e;case"img":_=!0;break e;default:_=!1}_&&ol(h)}}return Yn(h),VM(h,h.type,u===null?null:u.memoizedProps,h.pendingProps,v),null;case 6:if(u&&h.stateNode!=null)u.memoizedProps!==_&&ol(h);else{if(typeof _!="string"&&h.stateNode===null)throw Error(i(166));if(u=me.current,Bf(h)){if(u=h.stateNode,v=h.memoizedProps,_=null,T=Cr,T!==null)switch(T.tag){case 27:case 5:_=T.memoizedProps}u[si]=h,u=!!(u.nodeValue===v||_!==null&&_.suppressHydrationWarning===!0||aU(u.nodeValue,v)),u||_c(h,!0)}else u=kx(u).createTextNode(_),u[si]=h,h.stateNode=u}return Yn(h),null;case 31:if(v=h.memoizedState,u===null||u.memoizedState!==null){if(_=Bf(h),v!==null){if(u===null){if(!_)throw Error(i(318));if(u=h.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(i(557));u[si]=h}else Ju(),(h.flags&128)===0&&(h.memoizedState=null),h.flags|=4;Yn(h),u=!1}else v=Qw(),u!==null&&u.memoizedState!==null&&(u.memoizedState.hydrationErrors=v),u=!0;if(!u)return h.flags&256?(Va(h),h):(Va(h),null);if((h.flags&128)!==0)throw Error(i(558))}return Yn(h),null;case 13:if(_=h.memoizedState,u===null||u.memoizedState!==null&&u.memoizedState.dehydrated!==null){if(T=Bf(h),_!==null&&_.dehydrated!==null){if(u===null){if(!T)throw Error(i(318));if(T=h.memoizedState,T=T!==null?T.dehydrated:null,!T)throw Error(i(317));T[si]=h}else Ju(),(h.flags&128)===0&&(h.memoizedState=null),h.flags|=4;Yn(h),T=!1}else T=Qw(),u!==null&&u.memoizedState!==null&&(u.memoizedState.hydrationErrors=T),T=!0;if(!T)return h.flags&256?(Va(h),h):(Va(h),null)}return Va(h),(h.flags&128)!==0?(h.lanes=v,h):(v=_!==null,u=u!==null&&u.memoizedState!==null,v&&(_=h.child,T=null,_.alternate!==null&&_.alternate.memoizedState!==null&&_.alternate.memoizedState.cachePool!==null&&(T=_.alternate.memoizedState.cachePool.pool),D=null,_.memoizedState!==null&&_.memoizedState.cachePool!==null&&(D=_.memoizedState.cachePool.pool),D!==T&&(_.flags|=2048)),v!==u&&v&&(h.child.flags|=8192),bx(h,h.updateQueue),Yn(h),null);case 4:return he(),u===null&&dE(h.stateNode.containerInfo),Yn(h),null;case 10:return il(h.type),Yn(h),null;case 19:if(X(Ei),_=h.memoizedState,_===null)return Yn(h),null;if(T=(h.flags&128)!==0,D=_.rendering,D===null)if(T)Fm(_,!1);else{if(mi!==0||u!==null&&(u.flags&128)!==0)for(u=h.child;u!==null;){if(D=ox(u),D!==null){for(h.flags|=128,Fm(_,!1),u=D.updateQueue,h.updateQueue=u,bx(h,u),h.subtreeFlags=0,u=v,v=h.child;v!==null;)UL(v,u),v=v.sibling;return re(Ei,Ei.current&1|2),hn&&tl(h,_.treeForkCount),h.child}u=u.sibling}_.tail!==null&&k()>Ex&&(h.flags|=128,T=!0,Fm(_,!1),h.lanes=4194304)}else{if(!T)if(u=ox(D),u!==null){if(h.flags|=128,T=!0,u=u.updateQueue,h.updateQueue=u,bx(h,u),Fm(_,!0),_.tail===null&&_.tailMode==="hidden"&&!D.alternate&&!hn)return Yn(h),null}else 2*k()-_.renderingStartTime>Ex&&v!==536870912&&(h.flags|=128,T=!0,Fm(_,!1),h.lanes=4194304);_.isBackwards?(D.sibling=h.child,h.child=D):(u=_.last,u!==null?u.sibling=D:h.child=D,_.last=D)}return _.tail!==null?(u=_.tail,_.rendering=u,_.tail=u.sibling,_.renderingStartTime=k(),u.sibling=null,v=Ei.current,re(Ei,T?v&1|2:v&1),hn&&tl(h,_.treeForkCount),u):(Yn(h),null);case 22:case 23:return Va(h),fM(),_=h.memoizedState!==null,u!==null?u.memoizedState!==null!==_&&(h.flags|=8192):_&&(h.flags|=8192),_?(v&536870912)!==0&&(h.flags&128)===0&&(Yn(h),h.subtreeFlags&6&&(h.flags|=8192)):Yn(h),v=h.updateQueue,v!==null&&bx(h,v.retryQueue),v=null,u!==null&&u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(v=u.memoizedState.cachePool.pool),_=null,h.memoizedState!==null&&h.memoizedState.cachePool!==null&&(_=h.memoizedState.cachePool.pool),_!==v&&(h.flags|=2048),u!==null&&X(td),null;case 24:return v=null,u!==null&&(v=u.memoizedState.cache),h.memoizedState.cache!==v&&(h.flags|=2048),il(Oi),Yn(h),null;case 25:return null;case 30:return null}throw Error(i(156,h.tag))}function rQ(u,h){switch(Zw(h),h.tag){case 1:return u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 3:return il(Oi),he(),u=h.flags,(u&65536)!==0&&(u&128)===0?(h.flags=u&-65537|128,h):null;case 26:case 27:case 5:return Be(h),null;case 31:if(h.memoizedState!==null){if(Va(h),h.alternate===null)throw Error(i(340));Ju()}return u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 13:if(Va(h),u=h.memoizedState,u!==null&&u.dehydrated!==null){if(h.alternate===null)throw Error(i(340));Ju()}return u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 19:return X(Ei),null;case 4:return he(),null;case 10:return il(h.type),null;case 22:case 23:return Va(h),fM(),u!==null&&X(td),u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 24:return il(Oi),null;case 25:return null;default:return null}}function uI(u,h){switch(Zw(h),h.tag){case 3:il(Oi),he();break;case 26:case 27:case 5:Be(h);break;case 4:he();break;case 31:h.memoizedState!==null&&Va(h);break;case 13:Va(h);break;case 19:X(Ei);break;case 10:il(h.type);break;case 22:case 23:Va(h),fM(),u!==null&&X(td);break;case 24:il(Oi)}}function zm(u,h){try{var v=h.updateQueue,_=v!==null?v.lastEffect:null;if(_!==null){var T=_.next;v=T;do{if((v.tag&u)===u){_=void 0;var D=v.create,j=v.inst;_=D(),j.destroy=_}v=v.next}while(v!==T)}}catch(te){An(h,h.return,te)}}function Cc(u,h,v){try{var _=h.updateQueue,T=_!==null?_.lastEffect:null;if(T!==null){var D=T.next;_=D;do{if((_.tag&u)===u){var j=_.inst,te=j.destroy;if(te!==void 0){j.destroy=void 0,T=h;var Se=v,ze=te;try{ze()}catch(Je){An(T,Se,Je)}}}_=_.next}while(_!==D)}}catch(Je){An(h,h.return,Je)}}function dI(u){var h=u.updateQueue;if(h!==null){var v=u.stateNode;try{tk(h,v)}catch(_){An(u,u.return,_)}}}function fI(u,h,v){v.props=sd(u.type,u.memoizedProps),v.state=u.memoizedState;try{v.componentWillUnmount()}catch(_){An(u,h,_)}}function Bm(u,h){try{var v=u.ref;if(v!==null){switch(u.tag){case 26:case 27:case 5:var _=u.stateNode;break;case 30:_=u.stateNode;break;default:_=u.stateNode}typeof v=="function"?u.refCleanup=v(_):v.current=_}}catch(T){An(u,h,T)}}function So(u,h){var v=u.ref,_=u.refCleanup;if(v!==null)if(typeof _=="function")try{_()}catch(T){An(u,h,T)}finally{u.refCleanup=null,u=u.alternate,u!=null&&(u.refCleanup=null)}else if(typeof v=="function")try{v(null)}catch(T){An(u,h,T)}else v.current=null}function hI(u){var h=u.type,v=u.memoizedProps,_=u.stateNode;try{e:switch(h){case"button":case"input":case"select":case"textarea":v.autoFocus&&_.focus();break e;case"img":v.src?_.src=v.src:v.srcSet&&(_.srcset=v.srcSet)}}catch(T){An(u,u.return,T)}}function GM(u,h,v){try{var _=u.stateNode;AQ(_,u.type,v,h),_[wi]=h}catch(T){An(u,u.return,T)}}function pI(u){return u.tag===5||u.tag===3||u.tag===26||u.tag===27&&kc(u.type)||u.tag===4}function $M(u){e:for(;;){for(;u.sibling===null;){if(u.return===null||pI(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&&kc(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 WM(u,h,v){var _=u.tag;if(_===5||_===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=Jo));else if(_!==4&&(_===27&&kc(u.type)&&(v=u.stateNode,h=null),u=u.child,u!==null))for(WM(u,h,v),u=u.sibling;u!==null;)WM(u,h,v),u=u.sibling}function _x(u,h,v){var _=u.tag;if(_===5||_===6)u=u.stateNode,h?v.insertBefore(u,h):v.appendChild(u);else if(_!==4&&(_===27&&kc(u.type)&&(v=u.stateNode),u=u.child,u!==null))for(_x(u,h,v),u=u.sibling;u!==null;)_x(u,h,v),u=u.sibling}function mI(u){var h=u.stateNode,v=u.memoizedProps;try{for(var _=u.type,T=h.attributes;T.length;)h.removeAttributeNode(T[0]);Pr(h,_,v),h[si]=u,h[wi]=v}catch(D){An(u,u.return,D)}}var ll=!1,Ii=!1,qM=!1,gI=typeof WeakSet=="function"?WeakSet:Set,pr=null;function aQ(u,h){if(u=u.containerInfo,pE=Hx,u=CL(u),Bw(u)){if("selectionStart"in u)var v={start:u.selectionStart,end:u.selectionEnd};else e:{v=(v=u.ownerDocument)&&v.defaultView||window;var _=v.getSelection&&v.getSelection();if(_&&_.rangeCount!==0){v=_.anchorNode;var T=_.anchorOffset,D=_.focusNode;_=_.focusOffset;try{v.nodeType,D.nodeType}catch{v=null;break e}var j=0,te=-1,Se=-1,ze=0,Je=0,it=u,Ve=null;t:for(;;){for(var Ke;it!==v||T!==0&&it.nodeType!==3||(te=j+T),it!==D||_!==0&&it.nodeType!==3||(Se=j+_),it.nodeType===3&&(j+=it.nodeValue.length),(Ke=it.firstChild)!==null;)Ve=it,it=Ke;for(;;){if(it===u)break t;if(Ve===v&&++ze===T&&(te=j),Ve===D&&++Je===_&&(Se=j),(Ke=it.nextSibling)!==null)break;it=Ve,Ve=it.parentNode}it=Ke}v=te===-1||Se===-1?null:{start:te,end:Se}}else v=null}v=v||{start:0,end:0}}else v=null;for(mE={focusedElem:u,selectionRange:v},Hx=!1,pr=h;pr!==null;)if(h=pr,u=h.child,(h.subtreeFlags&1028)!==0&&u!==null)u.return=h,pr=u;else for(;pr!==null;){switch(h=pr,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"))),Pr(D,_,v),D[si]=u,Re(D),_=D;break e;case"link":var j=SU("link","href",T).get(_+(v.href||""));if(j){for(var te=0;teDn&&(j=Dn,Dn=Ft,Ft=j);var Oe=AL(te,Ft),Te=AL(te,Dn);if(Oe&&Te&&(Ke.rangeCount!==1||Ke.anchorNode!==Oe.node||Ke.anchorOffset!==Oe.offset||Ke.focusNode!==Te.node||Ke.focusOffset!==Te.offset)){var Fe=it.createRange();Fe.setStart(Oe.node,Oe.offset),Ke.removeAllRanges(),Ft>Dn?(Ke.addRange(Fe),Ke.extend(Te.node,Te.offset)):(Fe.setEnd(Te.node,Te.offset),Ke.addRange(Fe))}}}}for(it=[],Ke=te;Ke=Ke.parentNode;)Ke.nodeType===1&&it.push({element:Ke,left:Ke.scrollLeft,top:Ke.scrollTop});for(typeof te.focus=="function"&&te.focus(),te=0;tev?32:v,q.T=null,v=eE,eE=null;var D=Dc,j=hl;if(Yi=0,eh=Dc=null,hl=0,(_n&6)!==0)throw Error(i(331));var te=_n;if(_n|=4,TI(D.current),MI(D,D.current,j,v),_n=te,Wm(0,!1),Pe&&typeof Pe.onPostCommitFiberRoot=="function")try{Pe.onPostCommitFiberRoot(Ue,D)}catch{}return!0}finally{G.p=T,q.T=_,$I(u,h)}}function qI(u,h,v){h=us(v,h),h=OM(u.stateNode,h,2),u=Ec(u,h,2),u!==null&&(tn(u,2),wo(u))}function An(u,h,v){if(u.tag===3)qI(u,u,v);else for(;h!==null;){if(h.tag===3){qI(h,u,v);break}else if(h.tag===1){var _=h.stateNode;if(typeof h.type.getDerivedStateFromError=="function"||typeof _.componentDidCatch=="function"&&(Pc===null||!Pc.has(_))){u=us(v,u),v=Xk(2),_=Ec(h,v,2),_!==null&&(Kk(v,_,h,u),tn(_,2),wo(_));break}}h=h.return}}function rE(u,h,v){var _=u.pingCache;if(_===null){_=u.pingCache=new lQ;var T=new Set;_.set(h,T)}else T=_.get(h),T===void 0&&(T=new Set,_.set(h,T));T.has(v)||(YM=!0,T.add(v),u=hQ.bind(null,u,h,v),h.then(u,u))}function hQ(u,h,v){var _=u.pingCache;_!==null&&_.delete(h),u.pingedLanes|=u.suspendedLanes&v,u.warmLanes&=~v,jn===u&&(un&v)===v&&(mi===4||mi===3&&(un&62914560)===un&&300>k()-Mx?(_n&2)===0&&th(u,0):ZM|=v,Qf===un&&(Qf=0)),wo(u)}function XI(u,h){h===0&&(h=yt()),u=Yu(u,h),u!==null&&(tn(u,h),wo(u))}function pQ(u){var h=u.memoizedState,v=0;h!==null&&(v=h.retryLane),XI(u,v)}function mQ(u,h){var v=0;switch(u.tag){case 31:case 13:var _=u.stateNode,T=u.memoizedState;T!==null&&(v=T.retryLane);break;case 19:_=u.stateNode;break;case 22:_=u.stateNode._retryCache;break;default:throw Error(i(314))}_!==null&&_.delete(h),XI(u,v)}function gQ(u,h){return ie(u,h)}var Px=null,ih=null,aE=!1,Dx=!1,sE=!1,Lc=0;function wo(u){u!==ih&&u.next===null&&(ih===null?Px=ih=u:ih=ih.next=u),Dx=!0,aE||(aE=!0,xQ())}function Wm(u,h){if(!sE&&Dx){sE=!0;do for(var v=!1,_=Px;_!==null;){if(u!==0){var T=_.pendingLanes;if(T===0)var D=0;else{var j=_.suspendedLanes,te=_.pingedLanes;D=(1<<31-et(42|u)+1)-1,D&=T&~(j&~te),D=D&201326741?D&201326741|1:D?D|2:0}D!==0&&(v=!0,JI(_,D))}else D=un,D=ge(_,_===jn?D:0,_.cancelPendingCommit!==null||_.timeoutHandle!==-1),(D&3)===0||je(_,D)||(v=!0,JI(_,D));_=_.next}while(v);sE=!1}}function vQ(){KI()}function KI(){Dx=aE=!1;var u=0;Lc!==0&&CQ()&&(u=Lc);for(var h=k(),v=null,_=Px;_!==null;){var T=_.next,D=YI(_,h);D===0?(_.next=null,v===null?Px=T:v.next=T,T===null&&(ih=v)):(v=_,(u!==0||(D&3)!==0)&&(Dx=!0)),_=T}Yi!==0&&Yi!==5||Wm(u),Lc!==0&&(Lc=0)}function YI(u,h){for(var v=u.suspendedLanes,_=u.pingedLanes,T=u.expirationTimes,D=u.pendingLanes&-62914561;0te)break;var Je=Se.transferSize,it=Se.initiatorType;Je&&sU(it)&&(Se=Se.responseEnd,j+=Je*(Se"u"?null:document;function xU(u,h,v){var _=rh;if(_&&typeof h=="string"&&h){var T=Sn(h);T='link[rel="'+u+'"][href="'+T+'"]',typeof v=="string"&&(T+='[crossorigin="'+v+'"]'),vU.has(T)||(vU.add(T),u={rel:u,crossOrigin:v,href:h},_.querySelector(T)===null&&(h=_.createElement("link"),Pr(h,"link",u),Re(h),_.head.appendChild(h)))}}function UQ(u){pl.D(u),xU("dns-prefetch",u,null)}function FQ(u,h){pl.C(u,h),xU("preconnect",u,h)}function zQ(u,h,v){pl.L(u,h,v);var _=rh;if(_&&u&&h){var T='link[rel="preload"][as="'+Sn(h)+'"]';h==="image"&&v&&v.imageSrcSet?(T+='[imagesrcset="'+Sn(v.imageSrcSet)+'"]',typeof v.imageSizes=="string"&&(T+='[imagesizes="'+Sn(v.imageSizes)+'"]')):T+='[href="'+Sn(u)+'"]';var D=T;switch(h){case"style":D=ah(u);break;case"script":D=sh(u)}gs.has(D)||(u=f({rel:"preload",href:h==="image"&&v&&v.imageSrcSet?void 0:u,as:h},v),gs.set(D,u),_.querySelector(T)!==null||h==="style"&&_.querySelector(Ym(D))||h==="script"&&_.querySelector(Zm(D))||(h=_.createElement("link"),Pr(h,"link",u),Re(h),_.head.appendChild(h)))}}function BQ(u,h){pl.m(u,h);var v=rh;if(v&&u){var _=h&&typeof h.as=="string"?h.as:"script",T='link[rel="modulepreload"][as="'+Sn(_)+'"][href="'+Sn(u)+'"]',D=T;switch(_){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":D=sh(u)}if(!gs.has(D)&&(u=f({rel:"modulepreload",href:u},h),gs.set(D,u),v.querySelector(T)===null)){switch(_){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(v.querySelector(Zm(D)))return}_=v.createElement("link"),Pr(_,"link",u),Re(_),v.head.appendChild(_)}}}function jQ(u,h,v){pl.S(u,h,v);var _=rh;if(_&&u){var T=Ne(_).hoistableStyles,D=ah(u);h=h||"default";var j=T.get(D);if(!j){var te={loading:0,preload:null};if(j=_.querySelector(Ym(D)))te.loading=5;else{u=f({rel:"stylesheet",href:u,"data-precedence":h},v),(v=gs.get(D))&&SE(u,v);var Se=j=_.createElement("link");Re(Se),Pr(Se,"link",u),Se._p=new Promise(function(ze,Je){Se.onload=ze,Se.onerror=Je}),Se.addEventListener("load",function(){te.loading|=1}),Se.addEventListener("error",function(){te.loading|=2}),te.loading|=4,Ux(j,h,_)}j={type:"stylesheet",instance:j,count:1,state:te},T.set(D,j)}}}function HQ(u,h){pl.X(u,h);var v=rh;if(v&&u){var _=Ne(v).hoistableScripts,T=sh(u),D=_.get(T);D||(D=v.querySelector(Zm(T)),D||(u=f({src:u,async:!0},h),(h=gs.get(T))&&wE(u,h),D=v.createElement("script"),Re(D),Pr(D,"link",u),v.head.appendChild(D)),D={type:"script",instance:D,count:1,state:null},_.set(T,D))}}function VQ(u,h){pl.M(u,h);var v=rh;if(v&&u){var _=Ne(v).hoistableScripts,T=sh(u),D=_.get(T);D||(D=v.querySelector(Zm(T)),D||(u=f({src:u,async:!0,type:"module"},h),(h=gs.get(T))&&wE(u,h),D=v.createElement("script"),Re(D),Pr(D,"link",u),v.head.appendChild(D)),D={type:"script",instance:D,count:1,state:null},_.set(T,D))}}function yU(u,h,v,_){var T=(T=me.current)?Ix(T):null;if(!T)throw Error(i(446));switch(u){case"meta":case"title":return null;case"style":return typeof v.precedence=="string"&&typeof v.href=="string"?(h=ah(v.href),v=Ne(T).hoistableStyles,_=v.get(h),_||(_={type:"style",instance:null,count:0,state:null},v.set(h,_)),_):{type:"void",instance:null,count:0,state:null};case"link":if(v.rel==="stylesheet"&&typeof v.href=="string"&&typeof v.precedence=="string"){u=ah(v.href);var D=Ne(T).hoistableStyles,j=D.get(u);if(j||(T=T.ownerDocument||T,j={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},D.set(u,j),(D=T.querySelector(Ym(u)))&&!D._p&&(j.instance=D,j.state.loading=5),gs.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},gs.set(u,v),D||GQ(T,u,v,j.state))),h&&_===null)throw Error(i(528,""));return j}if(h&&_!==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=sh(v),v=Ne(T).hoistableScripts,_=v.get(h),_||(_={type:"script",instance:null,count:0,state:null},v.set(h,_)),_):{type:"void",instance:null,count:0,state:null};default:throw Error(i(444,u))}}function ah(u){return'href="'+Sn(u)+'"'}function Ym(u){return'link[rel="stylesheet"]['+u+"]"}function bU(u){return f({},u,{"data-precedence":u.precedence,precedence:null})}function GQ(u,h,v,_){u.querySelector('link[rel="preload"][as="style"]['+h+"]")?_.loading=1:(h=u.createElement("link"),_.preload=h,h.addEventListener("load",function(){return _.loading|=1}),h.addEventListener("error",function(){return _.loading|=2}),Pr(h,"link",v),Re(h),u.head.appendChild(h))}function sh(u){return'[src="'+Sn(u)+'"]'}function Zm(u){return"script[async]"+u}function _U(u,h,v){if(h.count++,h.instance===null)switch(h.type){case"style":var _=u.querySelector('style[data-href~="'+Sn(v.href)+'"]');if(_)return h.instance=_,Re(_),_;var T=f({},v,{"data-href":v.href,"data-precedence":v.precedence,href:null,precedence:null});return _=(u.ownerDocument||u).createElement("style"),Re(_),Pr(_,"style",T),Ux(_,v.precedence,u),h.instance=_;case"stylesheet":T=ah(v.href);var D=u.querySelector(Ym(T));if(D)return h.state.loading|=4,h.instance=D,Re(D),D;_=bU(v),(T=gs.get(T))&&SE(_,T),D=(u.ownerDocument||u).createElement("link"),Re(D);var j=D;return j._p=new Promise(function(te,Se){j.onload=te,j.onerror=Se}),Pr(D,"link",_),h.state.loading|=4,Ux(D,v.precedence,u),h.instance=D;case"script":return D=sh(v.src),(T=u.querySelector(Zm(D)))?(h.instance=T,Re(T),T):(_=v,(T=gs.get(D))&&(_=f({},v),wE(_,T)),u=u.ownerDocument||u,T=u.createElement("script"),Re(T),Pr(T,"link",_),u.head.appendChild(T),h.instance=T);case"void":return null;default:throw Error(i(443,h.type))}else h.type==="stylesheet"&&(h.state.loading&4)===0&&(_=h.instance,h.state.loading|=4,Ux(_,v.precedence,u));return h.instance}function Ux(u,h,v){for(var _=v.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),T=_.length?_[_.length-1]:null,D=T,j=0;j<_.length;j++){var te=_[j];if(te.dataset.precedence===h)D=te;else if(D!==T)break}D?D.parentNode.insertBefore(u,D.nextSibling):(h=v.nodeType===9?v.head:v,h.insertBefore(u,h.firstChild))}function SE(u,h){u.crossOrigin==null&&(u.crossOrigin=h.crossOrigin),u.referrerPolicy==null&&(u.referrerPolicy=h.referrerPolicy),u.title==null&&(u.title=h.title)}function wE(u,h){u.crossOrigin==null&&(u.crossOrigin=h.crossOrigin),u.referrerPolicy==null&&(u.referrerPolicy=h.referrerPolicy),u.integrity==null&&(u.integrity=h.integrity)}var Fx=null;function SU(u,h,v){if(Fx===null){var _=new Map,T=Fx=new Map;T.set(v,_)}else T=Fx,_=T.get(v),_||(_=new Map,T.set(v,_));if(_.has(u))return _;for(_.set(u,null),v=v.getElementsByTagName(u),T=0;T title"):null)}function $Q(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 MU(u){return!(u.type==="stylesheet"&&(u.state.loading&3)===0)}function WQ(u,h,v,_){if(v.type==="stylesheet"&&(typeof _.media!="string"||matchMedia(_.media).matches!==!1)&&(v.state.loading&4)===0){if(v.instance===null){var T=ah(_.href),D=h.querySelector(Ym(T));if(D){h=D._p,h!==null&&typeof h=="object"&&typeof h.then=="function"&&(u.count++,u=zx.bind(u),h.then(u,u)),v.state.loading|=4,v.instance=D,Re(D);return}D=h.ownerDocument||h,_=bU(_),(T=gs.get(T))&&SE(_,T),D=D.createElement("link"),Re(D);var j=D;j._p=new Promise(function(te,Se){j.onload=te,j.onerror=Se}),Pr(D,"link",_),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=zx.bind(u),h.addEventListener("load",v),h.addEventListener("error",v))}}var ME=0;function qQ(u,h){return u.stylesheets&&u.count===0&&jx(u,u.stylesheets),0ME?50:800)+h);return u.unsuspend=v,function(){u.unsuspend=null,clearTimeout(_),clearTimeout(T)}}:null}function zx(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)jx(this,this.stylesheets);else if(this.unsuspend){var u=this.unsuspend;this.unsuspend=null,u()}}}var Bx=null;function jx(u,h){u.stylesheets=null,u.unsuspend!==null&&(u.count++,Bx=new Map,h.forEach(XQ,u),Bx=null,zx.call(u))}function XQ(u,h){if(!(h.state.loading&4)){var v=Bx.get(u);if(v)var _=v.get(null);else{v=new Map,Bx.set(u,v);for(var T=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(),OE.exports=dee(),OE.exports}var hee=fee();var XU="popstate";function pee(t={}){function e(i,r){let{pathname:a,search:s,hash:o}=i.location;return x2("",{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:o0(r)}return gee(e,n,null,t)}function li(t,e){if(t===!1||t===null||typeof t>"u")throw new Error(e)}function po(t,e){if(!t){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function mee(){return Math.random().toString(36).substring(2,10)}function KU(t,e){return{usr:t.state,key:t.key,idx:e}}function x2(t,e,n=null,i){return{pathname:typeof t=="string"?t:t.pathname,search:"",hash:"",...typeof e=="string"?Gp(e):e,state:n,key:e&&e.key||i||mee()}}function o0({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 Gp(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 gee(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 x=d(),g=x==null?null:x-c;c=x,l&&l({action:o,location:b.location,delta:g})}function p(x,g){o="PUSH";let M=x2(b.location,x,g);c=d()+1;let w=KU(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(x,g){o="REPLACE";let M=x2(b.location,x,g);c=d();let w=KU(M,c),E=b.createHref(M);s.replaceState(w,"",E),a&&l&&l({action:o,location:b.location,delta:0})}function y(x){return vee(x)}let b={get action(){return o},get location(){return t(r,s)},listen(x){if(l)throw new Error("A history only accepts one active listener");return r.addEventListener(XU,f),l=x,()=>{r.removeEventListener(XU,f),l=null}},createHref(x){return e(r,x)},createURL:y,encodeLocation(x){let g=y(x);return{pathname:g.pathname,search:g.search,hash:g.hash}},push:p,replace:m,go(x){return s.go(x)}};return b}function vee(t,e=!1){let n="http://localhost";typeof window<"u"&&(n=window.location.origin!=="null"?window.location.origin:window.location.href),li(n,"No window.location.(origin|href) available to create URL");let i=typeof t=="string"?t:o0(t);return i=i.replace(/ $/,"%20"),!e&&i.startsWith("//")&&(i=n+i),new URL(i,n)}function RV(t,e,n="/"){return xee(t,e,n,!1)}function xee(t,e,n,i){let r=typeof e=="string"?Gp(e):e,a=Jl(r.pathname||"/",n);if(a==null)return null;let s=NV(t);yee(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;li(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=Gl([i,d.relativePath]),p=n.concat(d);s.children&&s.children.length>0&&(li(s.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${f}".`),NV(s.children,e,p,f,l)),!(s.path==null&&!s.index)&&e.push({path:f,score:Aee(f,s.index),routesMeta:p})};return t.forEach((s,o)=>{if(s.path===""||!s.path?.includes("?"))a(s,o);else for(let l of PV(s.path))a(s,o,!0,l)}),e}function PV(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=PV(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 yee(t){t.sort((e,n)=>e.score!==n.score?n.score-e.score:Tee(e.routesMeta.map(i=>i.childrenIndex),n.routesMeta.map(i=>i.childrenIndex)))}var bee=/^:[\w-]+$/,_ee=3,See=2,wee=1,Mee=10,Eee=-2,YU=t=>t==="*";function Aee(t,e){let n=t.split("/"),i=n.length;return n.some(YU)&&(i+=Eee),e&&(i+=See),n.filter(r=>!YU(r)).reduce((r,a)=>r+(bee.test(a)?_ee:a===""?wee:Mee),i)}function Tee(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 Cee(t,e,n=!1){let{routesMeta:i}=t,r={},a="/",s=[];for(let o=0;o{if(d==="*"){let y=o[p]||"";s=a.slice(0,a.length-y.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 Ree(t,e=!1,n=!0){po(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 Nee(t){try{return t.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(e){return po(!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 Jl(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 Pee=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Dee=t=>Pee.test(t);function Oee(t,e="/"){let{pathname:n,search:i="",hash:r=""}=typeof t=="string"?Gp(t):t,a;if(n)if(Dee(n))a=n;else{if(n.includes("//")){let s=n;n=n.replace(/\/\/+/g,"/"),po(!1,`Pathnames cannot have embedded double slashes - normalizing ${s} -> ${n}`)}n.startsWith("/")?a=ZU(n.substring(1),"/"):a=ZU(n,e)}else a=e;return{pathname:a,search:Iee(i),hash:Uee(r)}}function ZU(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 UE(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 Lee(t){return t.filter((e,n)=>n===0||e.route.path&&e.route.path.length>0)}function DV(t){let e=Lee(t);return e.map((n,i)=>i===e.length-1?n.pathname:n.pathnameBase)}function OV(t,e,n,i=!1){let r;typeof t=="string"?r=Gp(t):(r={...t},li(!r.pathname||!r.pathname.includes("?"),UE("?","pathname","search",r)),li(!r.pathname||!r.pathname.includes("#"),UE("#","pathname","hash",r)),li(!r.search||!r.search.includes("#"),UE("#","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=Oee(r,o),c=s&&s!=="/"&&s.endsWith("/"),d=(a||s===".")&&n.endsWith("/");return!l.pathname.endsWith("/")&&(c||d)&&(l.pathname+="/"),l}var Gl=t=>t.join("/").replace(/\/\/+/g,"/"),kee=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),Iee=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,Uee=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t;function Fee(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 LV=["POST","PUT","PATCH","DELETE"];new Set(LV);var zee=["GET",...LV];new Set(zee);var $p=C.createContext(null);$p.displayName="DataRouter";var nS=C.createContext(null);nS.displayName="DataRouterState";C.createContext(!1);var kV=C.createContext({isTransitioning:!1});kV.displayName="ViewTransition";var Bee=C.createContext(new Map);Bee.displayName="Fetchers";var jee=C.createContext(null);jee.displayName="Await";var Xo=C.createContext(null);Xo.displayName="Navigation";var Q0=C.createContext(null);Q0.displayName="Location";var Ko=C.createContext({outlet:null,matches:[],isDataRoute:!1});Ko.displayName="Route";var _N=C.createContext(null);_N.displayName="RouteError";function Hee(t,{relative:e}={}){li(ev(),"useHref() may be used only in the context of a component.");let{basename:n,navigator:i}=C.useContext(Xo),{hash:r,pathname:a,search:s}=tv(t,{relative:e}),o=a;return n!=="/"&&(o=a==="/"?n:Gl([n,a])),i.createHref({pathname:o,search:s,hash:r})}function ev(){return C.useContext(Q0)!=null}function Mf(){return li(ev(),"useLocation() may be used only in the context of a component."),C.useContext(Q0).location}var IV="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function UV(t){C.useContext(Xo).static||C.useLayoutEffect(t)}function FV(){let{isDataRoute:t}=C.useContext(Ko);return t?ite():Vee()}function Vee(){li(ev(),"useNavigate() may be used only in the context of a component.");let t=C.useContext($p),{basename:e,navigator:n}=C.useContext(Xo),{matches:i}=C.useContext(Ko),{pathname:r}=Mf(),a=JSON.stringify(DV(i)),s=C.useRef(!1);return UV(()=>{s.current=!0}),C.useCallback((l,c={})=>{if(po(s.current,IV),!s.current)return;if(typeof l=="number"){n.go(l);return}let d=OV(l,JSON.parse(a),r,c.relative==="path");t==null&&e!=="/"&&(d.pathname=d.pathname==="/"?e:Gl([e,d.pathname])),(c.replace?n.replace:n.push)(d,c.state,c)},[e,n,a,r,t])}var Gee=C.createContext(null);function $ee(t){let e=C.useContext(Ko).outlet;return C.useMemo(()=>e&&C.createElement(Gee.Provider,{value:t},e),[e,t])}function tv(t,{relative:e}={}){let{matches:n}=C.useContext(Ko),{pathname:i}=Mf(),r=JSON.stringify(DV(n));return C.useMemo(()=>OV(t,JSON.parse(r),i,e==="path"),[t,r,i,e])}function Wee(t,e){return zV(t,e)}function zV(t,e,n,i,r){li(ev(),"useRoutes() may be used only in the context of a component.");let{navigator:a}=C.useContext(Xo),{matches:s}=C.useContext(Ko),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||"";BV(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. +`+_.stack}}var ae=Object.prototype.hasOwnProperty,ie=t.unstable_scheduleCallback,we=t.unstable_cancelCallback,ve=t.unstable_shouldYield,F=t.unstable_requestPaint,k=t.unstable_now,Y=t.unstable_getCurrentPriorityLevel,pe=t.unstable_ImmediatePriority,xe=t.unstable_UserBlockingPriority,fe=t.unstable_NormalPriority,Ye=t.unstable_LowPriority,ke=t.unstable_IdlePriority,$e=t.log,rt=t.unstable_setDisableYieldValue,Ue=null,Pe=null;function dt(u){if(typeof $e=="function"&&rt(u),Pe&&typeof Pe.setStrictMode=="function")try{Pe.setStrictMode(Ue,u)}catch{}}var et=Math.clz32?Math.clz32:ue,Qe=Math.log,st=Math.LN2;function ue(u){return u>>>=0,u===0?32:31-(Qe(u)/st|0)|0}var tt=256,de=262144,Le=4194304;function Ee(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 _=u.pendingLanes;if(_===0)return 0;var T=0,D=u.suspendedLanes,j=u.pingedLanes;u=u.warmLanes;var te=_&134217727;return te!==0?(_=te&~D,_!==0?T=Ee(_):(j&=te,j!==0?T=Ee(j):v||(v=te&~u,v!==0&&(T=Ee(v))))):(te=_&~D,te!==0?T=Ee(te):j!==0?T=Ee(j):v||(v=_&~u,v!==0&&(T=Ee(v)))),T===0?0:h!==0&&h!==T&&(h&D)===0&&(D=T&-T,v=h&-h,D>=v||D===32&&(v&4194048)!==0)?h:T}function je(u,h){return(u.pendingLanes&~(u.suspendedLanes&~u.pingedLanes)&h)===0}function at(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 yt(){var u=Le;return Le<<=1,(Le&62914560)===0&&(Le=4194304),u}function Ct(u){for(var h=[],v=0;31>v;v++)h.push(u);return h}function tn(u,h){u.pendingLanes|=h,h!==268435456&&(u.suspendedLanes=0,u.pingedLanes=0,u.warmLanes=0)}function Pt(u,h,v,_,T,D){var j=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 te=u.entanglements,Se=u.expirationTimes,ze=u.hiddenUpdates;for(v=j&~v;0"u")return null;try{return u.activeElement||u.body}catch{return u.body}}var Mi=/[\n"\\]/g;function Sn(u){return u.replace(Mi,function(h){return"\\"+h.charCodeAt(0).toString(16)+" "})}function Ws(u,h,v,_,T,D,j,te){u.name="",j!=null&&typeof j!="function"&&typeof j!="symbol"&&typeof j!="boolean"?u.type=j:u.removeAttribute("type"),h!=null?j==="number"?(h===0&&u.value===""||u.value!=h)&&(u.value=""+rn(h)):u.value!==""+rn(h)&&(u.value=""+rn(h)):j!=="submit"&&j!=="reset"||u.removeAttribute("value"),h!=null?fr(u,j,rn(h)):v!=null?fr(u,j,rn(v)):_!=null&&u.removeAttribute("value"),T==null&&D!=null&&(u.defaultChecked=!!D),T!=null&&(u.checked=T&&typeof T!="function"&&typeof T!="symbol"),te!=null&&typeof te!="function"&&typeof te!="symbol"&&typeof te!="boolean"?u.name=""+rn(te):u.removeAttribute("name")}function Mn(u,h,v,_,T,D,j,te){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)){Gt(u);return}v=v!=null?""+rn(v):"",h=h!=null?""+rn(h):v,te||h===u.value||(u.value=h),u.defaultValue=h}_=_??T,_=typeof _!="function"&&typeof _!="symbol"&&!!_,u.checked=te?u.checked:!!_,u.defaultChecked=!!_,j!=null&&typeof j!="function"&&typeof j!="symbol"&&typeof j!="boolean"&&(u.name=j),Gt(u)}function fr(u,h,v){h==="number"&&hi(u.ownerDocument)===u||u.defaultValue===""+v||(u.defaultValue=""+v)}function Ki(u,h,v,_){if(u=u.options,h){h={};for(var T=0;T"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Pw=!1;if(Qo)try{var gm={};Object.defineProperty(gm,"passive",{get:function(){Pw=!0}}),window.addEventListener("test",gm,gm),window.removeEventListener("test",gm,gm)}catch{Pw=!1}var xc=null,Dw=null,jv=null;function cL(){if(jv)return jv;var u,h=Dw,v=h.length,_,T="value"in xc?xc.value:xc.textContent,D=T.length;for(u=0;u=ym),mL=" ",gL=!1;function vL(u,h){switch(u){case"keyup":return EJ.indexOf(h.keyCode)!==-1;case"keydown":return h.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function xL(u){return u=u.detail,typeof u=="object"&&"data"in u?u.data:null}var Of=!1;function TJ(u,h){switch(u){case"compositionend":return xL(h);case"keypress":return h.which!==32?null:(gL=!0,mL);case"textInput":return u=h.data,u===mL&&gL?null:u;default:return null}}function CJ(u,h){if(Of)return u==="compositionend"||!Uw&&vL(u,h)?(u=cL(),jv=Dw=xc=null,Of=!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=_}e:{for(;v;){if(v.nextSibling){v=v.nextSibling;break e}v=v.parentNode}v=void 0}v=AL(v)}}function CL(u,h){return u&&h?u===h?!0:u&&u.nodeType===3?!1:h&&h.nodeType===3?CL(u,h.parentNode):"contains"in u?u.contains(h):u.compareDocumentPosition?!!(u.compareDocumentPosition(h)&16):!1:!1}function RL(u){u=u!=null&&u.ownerDocument!=null&&u.ownerDocument.defaultView!=null?u.ownerDocument.defaultView:window;for(var h=hi(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=hi(u.document)}return h}function Bw(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 IJ=Qo&&"documentMode"in document&&11>=document.documentMode,Lf=null,jw=null,wm=null,Hw=!1;function NL(u,h,v){var _=v.window===v?v.document:v.nodeType===9?v:v.ownerDocument;Hw||Lf==null||Lf!==hi(_)||(_=Lf,"selectionStart"in _&&Bw(_)?_={start:_.selectionStart,end:_.selectionEnd}:(_=(_.ownerDocument&&_.ownerDocument.defaultView||window).getSelection(),_={anchorNode:_.anchorNode,anchorOffset:_.anchorOffset,focusNode:_.focusNode,focusOffset:_.focusOffset}),wm&&Sm(wm,_)||(wm=_,_=Lx(jw,"onSelect"),0<_.length&&(h=new Gv("onSelect","select",null,h,v),u.push({event:h,listeners:_}),h.target=Lf)))}function Xu(u,h){var v={};return v[u.toLowerCase()]=h.toLowerCase(),v["Webkit"+u]="webkit"+h,v["Moz"+u]="moz"+h,v}var kf={animationend:Xu("Animation","AnimationEnd"),animationiteration:Xu("Animation","AnimationIteration"),animationstart:Xu("Animation","AnimationStart"),transitionrun:Xu("Transition","TransitionRun"),transitionstart:Xu("Transition","TransitionStart"),transitioncancel:Xu("Transition","TransitionCancel"),transitionend:Xu("Transition","TransitionEnd")},Vw={},PL={};Qo&&(PL=document.createElement("div").style,"AnimationEvent"in window||(delete kf.animationend.animation,delete kf.animationiteration.animation,delete kf.animationstart.animation),"TransitionEvent"in window||delete kf.transitionend.transition);function Ku(u){if(Vw[u])return Vw[u];if(!kf[u])return u;var h=kf[u],v;for(v in h)if(h.hasOwnProperty(v)&&v in PL)return Vw[u]=h[v];return u}var DL=Ku("animationend"),OL=Ku("animationiteration"),LL=Ku("animationstart"),UJ=Ku("transitionrun"),FJ=Ku("transitionstart"),zJ=Ku("transitioncancel"),kL=Ku("transitionend"),IL=new Map,Gw="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Gw.push("scrollEnd");function qs(u,h){IL.set(u,h),lt(h,[u])}var qv=typeof reportError=="function"?reportError:function(u){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var h=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof u=="object"&&u!==null&&typeof u.message=="string"?String(u.message):String(u),error:u});if(!window.dispatchEvent(h))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",u);return}console.error(u)},cs=[],If=0,$w=0;function Xv(){for(var u=If,h=$w=If=0;h>=j,T-=j,bo=1<<32-et(h)+T|v<Xt?(dn=Nt,Nt=null):dn=Nt.sibling;var vn=Ve(Oe,Nt,Fe[Xt],nt);if(vn===null){Nt===null&&(Nt=dn);break}u&&Nt&&vn.alternate===null&&h(Oe,Nt),Te=D(vn,Te,Xt),gn===null?Lt=vn:gn.sibling=vn,gn=vn,Nt=dn}if(Xt===Fe.length)return v(Oe,Nt),hn&&tl(Oe,Xt),Lt;if(Nt===null){for(;XtXt?(dn=Nt,Nt=null):dn=Nt.sibling;var Bc=Ve(Oe,Nt,vn.value,nt);if(Bc===null){Nt===null&&(Nt=dn);break}u&&Nt&&Bc.alternate===null&&h(Oe,Nt),Te=D(Bc,Te,Xt),gn===null?Lt=Bc:gn.sibling=Bc,gn=Bc,Nt=dn}if(vn.done)return v(Oe,Nt),hn&&tl(Oe,Xt),Lt;if(Nt===null){for(;!vn.done;Xt++,vn=Fe.next())vn=it(Oe,vn.value,nt),vn!==null&&(Te=D(vn,Te,Xt),gn===null?Lt=vn:gn.sibling=vn,gn=vn);return hn&&tl(Oe,Xt),Lt}for(Nt=_(Nt);!vn.done;Xt++,vn=Fe.next())vn=Ke(Nt,Oe,Xt,vn.value,nt),vn!==null&&(u&&vn.alternate!==null&&Nt.delete(vn.key===null?Xt:vn.key),Te=D(vn,Te,Xt),gn===null?Lt=vn:gn.sibling=vn,gn=vn);return u&&Nt.forEach(function(nee){return h(Oe,nee)}),hn&&tl(Oe,Xt),Lt}function Dn(Oe,Te,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;Te!==null;){if(Te.key===Lt){if(Lt=Fe.type,Lt===b){if(Te.tag===7){v(Oe,Te.sibling),nt=T(Te,Fe.props.children),nt.return=Oe,Oe=nt;break e}}else if(Te.elementType===Lt||typeof Lt=="object"&&Lt!==null&&Lt.$$typeof===U&&nd(Lt)===Te.type){v(Oe,Te.sibling),nt=T(Te,Fe.props),Rm(nt,Fe),nt.return=Oe,Oe=nt;break e}v(Oe,Te);break}else h(Oe,Te);Te=Te.sibling}Fe.type===b?(nt=Zu(Fe.props.children,Oe.mode,nt,Fe.key),nt.return=Oe,Oe=nt):(nt=Zv(Fe.type,Fe.key,Fe.props,null,Oe.mode,nt),Rm(nt,Fe),nt.return=Oe,Oe=nt)}return j(Oe);case y:e:{for(Lt=Fe.key;Te!==null;){if(Te.key===Lt)if(Te.tag===4&&Te.stateNode.containerInfo===Fe.containerInfo&&Te.stateNode.implementation===Fe.implementation){v(Oe,Te.sibling),nt=T(Te,Fe.children||[]),nt.return=Oe,Oe=nt;break e}else{v(Oe,Te);break}else h(Oe,Te);Te=Te.sibling}nt=Kw(Fe,Oe.mode,nt),nt.return=Oe,Oe=nt}return j(Oe);case U:return Fe=nd(Fe),Dn(Oe,Te,Fe,nt)}if($(Fe))return Tt(Oe,Te,Fe,nt);if(I(Fe)){if(Lt=I(Fe),typeof Lt!="function")throw Error(i(150));return Fe=Lt.call(Fe),Ft(Oe,Te,Fe,nt)}if(typeof Fe.then=="function")return Dn(Oe,Te,rx(Fe),nt);if(Fe.$$typeof===w)return Dn(Oe,Te,ex(Oe,Fe),nt);ax(Oe,Fe)}return typeof Fe=="string"&&Fe!==""||typeof Fe=="number"||typeof Fe=="bigint"?(Fe=""+Fe,Te!==null&&Te.tag===6?(v(Oe,Te.sibling),nt=T(Te,Fe),nt.return=Oe,Oe=nt):(v(Oe,Te),nt=Xw(Fe,Oe.mode,nt),nt.return=Oe,Oe=nt),j(Oe)):v(Oe,Te)}return function(Oe,Te,Fe,nt){try{Cm=0;var Lt=Dn(Oe,Te,Fe,nt);return $f=null,Lt}catch(Nt){if(Nt===Gf||Nt===nx)throw Nt;var gn=ja(29,Nt,null,Oe.mode);return gn.lanes=nt,gn.return=Oe,gn}finally{}}}var rd=QL(!0),ek=QL(!1),wc=!1;function oM(u){u.updateQueue={baseState:u.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function lM(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 Mc(u){return{lane:u,tag:0,payload:null,callback:null,next:null}}function Ec(u,h,v){var _=u.updateQueue;if(_===null)return null;if(_=_.shared,(_n&2)!==0){var T=_.pending;return T===null?h.next=h:(h.next=T.next,T.next=h),_.pending=h,h=Yv(u),UL(u,null,v),h}return Kv(u,_,h,v),Yv(u)}function Nm(u,h,v){if(h=h.updateQueue,h!==null&&(h=h.shared,(v&4194048)!==0)){var _=h.lanes;_&=u.pendingLanes,v|=_,h.lanes=v,jn(u,v)}}function cM(u,h){var v=u.updateQueue,_=u.alternate;if(_!==null&&(_=_.updateQueue,v===_)){var T=null,D=null;if(v=v.firstBaseUpdate,v!==null){do{var j={lane:v.lane,tag:v.tag,payload:v.payload,callback:null,next:null};D===null?T=D=j:D=D.next=j,v=v.next}while(v!==null);D===null?T=D=h:D=D.next=h}else T=D=h;v={baseState:_.baseState,firstBaseUpdate:T,lastBaseUpdate:D,shared:_.shared,callbacks:_.callbacks},u.updateQueue=v;return}u=v.lastBaseUpdate,u===null?v.firstBaseUpdate=h:u.next=h,v.lastBaseUpdate=h}var uM=!1;function Pm(){if(uM){var u=Vf;if(u!==null)throw u}}function Dm(u,h,v,_){uM=!1;var T=u.updateQueue;wc=!1;var D=T.firstBaseUpdate,j=T.lastBaseUpdate,te=T.shared.pending;if(te!==null){T.shared.pending=null;var Se=te,ze=Se.next;Se.next=null,j===null?D=ze:j.next=ze,j=Se;var Je=u.alternate;Je!==null&&(Je=Je.updateQueue,te=Je.lastBaseUpdate,te!==j&&(te===null?Je.firstBaseUpdate=ze:te.next=ze,Je.lastBaseUpdate=Se))}if(D!==null){var it=T.baseState;j=0,Je=ze=Se=null,te=D;do{var Ve=te.lane&-536870913,Ke=Ve!==te.lane;if(Ke?(un&Ve)===Ve:(_&Ve)===Ve){Ve!==0&&Ve===Hf&&(uM=!0),Je!==null&&(Je=Je.next={lane:0,tag:te.tag,payload:te.payload,callback:null,next:null});e:{var Tt=u,Ft=te;Ve=h;var Dn=v;switch(Ft.tag){case 1:if(Tt=Ft.payload,typeof Tt=="function"){it=Tt.call(Dn,it,Ve);break e}it=Tt;break e;case 3:Tt.flags=Tt.flags&-65537|128;case 0:if(Tt=Ft.payload,Ve=typeof Tt=="function"?Tt.call(Dn,it,Ve):Tt,Ve==null)break e;it=f({},it,Ve);break e;case 2:wc=!0}}Ve=te.callback,Ve!==null&&(u.flags|=64,Ke&&(u.flags|=8192),Ke=T.callbacks,Ke===null?T.callbacks=[Ve]:Ke.push(Ve))}else Ke={lane:Ve,tag:te.tag,payload:te.payload,callback:te.callback,next:null},Je===null?(ze=Je=Ke,Se=it):Je=Je.next=Ke,j|=Ve;if(te=te.next,te===null){if(te=T.shared.pending,te===null)break;Ke=te,te=Ke.next,Ke.next=null,T.lastBaseUpdate=Ke,T.shared.pending=null}}while(!0);Je===null&&(Se=it),T.baseState=Se,T.firstBaseUpdate=ze,T.lastBaseUpdate=Je,D===null&&(T.shared.lanes=0),Nc|=j,u.lanes=j,u.memoizedState=it}}function tk(u,h){if(typeof u!="function")throw Error(i(191,u));u.call(h)}function nk(u,h){var v=u.callbacks;if(v!==null)for(u.callbacks=null,u=0;uD?D:8;var j=q.T,te={};q.T=te,RM(u,!1,h,v);try{var Se=T(),ze=q.S;if(ze!==null&&ze(te,Se),Se!==null&&typeof Se=="object"&&typeof Se.then=="function"){var Je=$J(Se,_);km(u,h,Je,Wa(u))}else km(u,h,_,Wa(u))}catch(it){km(u,h,{then:function(){},status:"rejected",reason:it},Wa())}finally{G.p=D,j!==null&&te.types!==null&&(j.types=te.types),q.T=j}}function ZJ(){}function TM(u,h,v,_){if(u.tag!==5)throw Error(i(476));var T=Lk(u).queue;Ok(u,T,h,K,v===null?ZJ:function(){return kk(u),v(_)})}function Lk(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:al,lastRenderedState:K},next:null};var v={};return h.next={memoizedState:v,baseState:v,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:al,lastRenderedState:v},next:null},u.memoizedState=h,u=u.alternate,u!==null&&(u.memoizedState=h),h}function kk(u){var h=Lk(u);h.next===null&&(h=u.alternate.memoizedState),km(u,h.next.queue,{},Wa())}function CM(){return Rr(Jm)}function Ik(){return Ai().memoizedState}function Uk(){return Ai().memoizedState}function JJ(u){for(var h=u.return;h!==null;){switch(h.tag){case 24:case 3:var v=Wa();u=Mc(v);var _=Ec(h,u,v);_!==null&&(Ma(_,h,v),Nm(_,h,v)),h={cache:iM()},u.payload=h;return}h=h.return}}function QJ(u,h,v){var _=Wa();v={lane:_,revertLane:0,gesture:null,action:v,hasEagerState:!1,eagerState:null,next:null},mx(u)?zk(h,v):(v=Ww(u,h,v,_),v!==null&&(Ma(v,u,_),Bk(v,h,_)))}function Fk(u,h,v){var _=Wa();km(u,h,v,_)}function km(u,h,v,_){var T={lane:_,revertLane:0,gesture:null,action:v,hasEagerState:!1,eagerState:null,next:null};if(mx(u))zk(h,T);else{var D=u.alternate;if(u.lanes===0&&(D===null||D.lanes===0)&&(D=h.lastRenderedReducer,D!==null))try{var j=h.lastRenderedState,te=D(j,v);if(T.hasEagerState=!0,T.eagerState=te,Ba(te,j))return Kv(u,h,T,0),Hn===null&&Xv(),!1}catch{}finally{}if(v=Ww(u,h,T,_),v!==null)return Ma(v,u,_),Bk(v,h,_),!0}return!1}function RM(u,h,v,_){if(_={lane:2,revertLane:oE(),gesture:null,action:_,hasEagerState:!1,eagerState:null,next:null},mx(u)){if(h)throw Error(i(479))}else h=Ww(u,v,_,2),h!==null&&Ma(h,u,2)}function mx(u){var h=u.alternate;return u===qt||h!==null&&h===qt}function zk(u,h){qf=lx=!0;var v=u.pending;v===null?h.next=h:(h.next=v.next,v.next=h),u.pending=h}function Bk(u,h,v){if((v&4194048)!==0){var _=h.lanes;_&=u.pendingLanes,v|=_,h.lanes=v,jn(u,v)}}var Im={readContext:Rr,use:dx,useCallback:pi,useContext:pi,useEffect:pi,useImperativeHandle:pi,useLayoutEffect:pi,useInsertionEffect:pi,useMemo:pi,useReducer:pi,useRef:pi,useState:pi,useDebugValue:pi,useDeferredValue:pi,useTransition:pi,useSyncExternalStore:pi,useId:pi,useHostTransitionStatus:pi,useFormState:pi,useActionState:pi,useOptimistic:pi,useMemoCache:pi,useCacheRefresh:pi};Im.useEffectEvent=pi;var jk={readContext:Rr,use:dx,useCallback:function(u,h){return aa().memoizedState=[u,h===void 0?null:h],u},useContext:Rr,useEffect:Mk,useImperativeHandle:function(u,h,v){v=v!=null?v.concat([u]):null,hx(4194308,4,Ck.bind(null,h,u),v)},useLayoutEffect:function(u,h){return hx(4194308,4,u,h)},useInsertionEffect:function(u,h){hx(4,2,u,h)},useMemo:function(u,h){var v=aa();h=h===void 0?null:h;var _=u();if(ad){dt(!0);try{u()}finally{dt(!1)}}return v.memoizedState=[_,h],_},useReducer:function(u,h,v){var _=aa();if(v!==void 0){var T=v(h);if(ad){dt(!0);try{v(h)}finally{dt(!1)}}}else T=h;return _.memoizedState=_.baseState=T,u={pending:null,lanes:0,dispatch:null,lastRenderedReducer:u,lastRenderedState:T},_.queue=u,u=u.dispatch=QJ.bind(null,qt,u),[_.memoizedState,u]},useRef:function(u){var h=aa();return u={current:u},h.memoizedState=u},useState:function(u){u=SM(u);var h=u.queue,v=Fk.bind(null,qt,h);return h.dispatch=v,[u.memoizedState,v]},useDebugValue:EM,useDeferredValue:function(u,h){var v=aa();return AM(v,u,h)},useTransition:function(){var u=SM(!1);return u=Ok.bind(null,qt,u.queue,!0,!1),aa().memoizedState=u,[!1,u]},useSyncExternalStore:function(u,h,v){var _=qt,T=aa();if(hn){if(v===void 0)throw Error(i(407));v=v()}else{if(v=h(),Hn===null)throw Error(i(349));(un&127)!==0||lk(_,h,v)}T.memoizedState=v;var D={value:v,getSnapshot:h};return T.queue=D,Mk(uk.bind(null,_,D,u),[u]),_.flags|=2048,Kf(9,{destroy:void 0},ck.bind(null,_,D,v,h),null),v},useId:function(){var u=aa(),h=Hn.identifierPrefix;if(hn){var v=_o,_=bo;v=(_&~(1<<32-et(_)-1)).toString(32)+v,h="_"+h+"R_"+v,v=cx++,0<\/script>",D=D.removeChild(D.firstChild);break;case"select":D=typeof _.is=="string"?j.createElement("select",{is:_.is}):j.createElement("select"),_.multiple?D.multiple=!0:_.size&&(D.size=_.size);break;default:D=typeof _.is=="string"?j.createElement(T,{is:_.is}):j.createElement(T)}}D[si]=h,D[wi]=_;e:for(j=h.child;j!==null;){if(j.tag===5||j.tag===6)D.appendChild(j.stateNode);else if(j.tag!==4&&j.tag!==27&&j.child!==null){j.child.return=j,j=j.child;continue}if(j===h)break e;for(;j.sibling===null;){if(j.return===null||j.return===h)break e;j=j.return}j.sibling.return=j.return,j=j.sibling}h.stateNode=D;e:switch(Pr(D,T,_),T){case"button":case"input":case"select":case"textarea":_=!!_.autoFocus;break e;case"img":_=!0;break e;default:_=!1}_&&ol(h)}}return Yn(h),VM(h,h.type,u===null?null:u.memoizedProps,h.pendingProps,v),null;case 6:if(u&&h.stateNode!=null)u.memoizedProps!==_&&ol(h);else{if(typeof _!="string"&&h.stateNode===null)throw Error(i(166));if(u=me.current,Bf(h)){if(u=h.stateNode,v=h.memoizedProps,_=null,T=Cr,T!==null)switch(T.tag){case 27:case 5:_=T.memoizedProps}u[si]=h,u=!!(u.nodeValue===v||_!==null&&_.suppressHydrationWarning===!0||sU(u.nodeValue,v)),u||_c(h,!0)}else u=kx(u).createTextNode(_),u[si]=h,h.stateNode=u}return Yn(h),null;case 31:if(v=h.memoizedState,u===null||u.memoizedState!==null){if(_=Bf(h),v!==null){if(u===null){if(!_)throw Error(i(318));if(u=h.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(i(557));u[si]=h}else Ju(),(h.flags&128)===0&&(h.memoizedState=null),h.flags|=4;Yn(h),u=!1}else v=Qw(),u!==null&&u.memoizedState!==null&&(u.memoizedState.hydrationErrors=v),u=!0;if(!u)return h.flags&256?(Va(h),h):(Va(h),null);if((h.flags&128)!==0)throw Error(i(558))}return Yn(h),null;case 13:if(_=h.memoizedState,u===null||u.memoizedState!==null&&u.memoizedState.dehydrated!==null){if(T=Bf(h),_!==null&&_.dehydrated!==null){if(u===null){if(!T)throw Error(i(318));if(T=h.memoizedState,T=T!==null?T.dehydrated:null,!T)throw Error(i(317));T[si]=h}else Ju(),(h.flags&128)===0&&(h.memoizedState=null),h.flags|=4;Yn(h),T=!1}else T=Qw(),u!==null&&u.memoizedState!==null&&(u.memoizedState.hydrationErrors=T),T=!0;if(!T)return h.flags&256?(Va(h),h):(Va(h),null)}return Va(h),(h.flags&128)!==0?(h.lanes=v,h):(v=_!==null,u=u!==null&&u.memoizedState!==null,v&&(_=h.child,T=null,_.alternate!==null&&_.alternate.memoizedState!==null&&_.alternate.memoizedState.cachePool!==null&&(T=_.alternate.memoizedState.cachePool.pool),D=null,_.memoizedState!==null&&_.memoizedState.cachePool!==null&&(D=_.memoizedState.cachePool.pool),D!==T&&(_.flags|=2048)),v!==u&&v&&(h.child.flags|=8192),bx(h,h.updateQueue),Yn(h),null);case 4:return he(),u===null&&dE(h.stateNode.containerInfo),Yn(h),null;case 10:return il(h.type),Yn(h),null;case 19:if(X(Ei),_=h.memoizedState,_===null)return Yn(h),null;if(T=(h.flags&128)!==0,D=_.rendering,D===null)if(T)Fm(_,!1);else{if(mi!==0||u!==null&&(u.flags&128)!==0)for(u=h.child;u!==null;){if(D=ox(u),D!==null){for(h.flags|=128,Fm(_,!1),u=D.updateQueue,h.updateQueue=u,bx(h,u),h.subtreeFlags=0,u=v,v=h.child;v!==null;)FL(v,u),v=v.sibling;return re(Ei,Ei.current&1|2),hn&&tl(h,_.treeForkCount),h.child}u=u.sibling}_.tail!==null&&k()>Ex&&(h.flags|=128,T=!0,Fm(_,!1),h.lanes=4194304)}else{if(!T)if(u=ox(D),u!==null){if(h.flags|=128,T=!0,u=u.updateQueue,h.updateQueue=u,bx(h,u),Fm(_,!0),_.tail===null&&_.tailMode==="hidden"&&!D.alternate&&!hn)return Yn(h),null}else 2*k()-_.renderingStartTime>Ex&&v!==536870912&&(h.flags|=128,T=!0,Fm(_,!1),h.lanes=4194304);_.isBackwards?(D.sibling=h.child,h.child=D):(u=_.last,u!==null?u.sibling=D:h.child=D,_.last=D)}return _.tail!==null?(u=_.tail,_.rendering=u,_.tail=u.sibling,_.renderingStartTime=k(),u.sibling=null,v=Ei.current,re(Ei,T?v&1|2:v&1),hn&&tl(h,_.treeForkCount),u):(Yn(h),null);case 22:case 23:return Va(h),fM(),_=h.memoizedState!==null,u!==null?u.memoizedState!==null!==_&&(h.flags|=8192):_&&(h.flags|=8192),_?(v&536870912)!==0&&(h.flags&128)===0&&(Yn(h),h.subtreeFlags&6&&(h.flags|=8192)):Yn(h),v=h.updateQueue,v!==null&&bx(h,v.retryQueue),v=null,u!==null&&u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(v=u.memoizedState.cachePool.pool),_=null,h.memoizedState!==null&&h.memoizedState.cachePool!==null&&(_=h.memoizedState.cachePool.pool),_!==v&&(h.flags|=2048),u!==null&&X(td),null;case 24:return v=null,u!==null&&(v=u.memoizedState.cache),h.memoizedState.cache!==v&&(h.flags|=2048),il(Oi),Yn(h),null;case 25:return null;case 30:return null}throw Error(i(156,h.tag))}function rQ(u,h){switch(Zw(h),h.tag){case 1:return u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 3:return il(Oi),he(),u=h.flags,(u&65536)!==0&&(u&128)===0?(h.flags=u&-65537|128,h):null;case 26:case 27:case 5:return Be(h),null;case 31:if(h.memoizedState!==null){if(Va(h),h.alternate===null)throw Error(i(340));Ju()}return u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 13:if(Va(h),u=h.memoizedState,u!==null&&u.dehydrated!==null){if(h.alternate===null)throw Error(i(340));Ju()}return u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 19:return X(Ei),null;case 4:return he(),null;case 10:return il(h.type),null;case 22:case 23:return Va(h),fM(),u!==null&&X(td),u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 24:return il(Oi),null;case 25:return null;default:return null}}function dI(u,h){switch(Zw(h),h.tag){case 3:il(Oi),he();break;case 26:case 27:case 5:Be(h);break;case 4:he();break;case 31:h.memoizedState!==null&&Va(h);break;case 13:Va(h);break;case 19:X(Ei);break;case 10:il(h.type);break;case 22:case 23:Va(h),fM(),u!==null&&X(td);break;case 24:il(Oi)}}function zm(u,h){try{var v=h.updateQueue,_=v!==null?v.lastEffect:null;if(_!==null){var T=_.next;v=T;do{if((v.tag&u)===u){_=void 0;var D=v.create,j=v.inst;_=D(),j.destroy=_}v=v.next}while(v!==T)}}catch(te){An(h,h.return,te)}}function Cc(u,h,v){try{var _=h.updateQueue,T=_!==null?_.lastEffect:null;if(T!==null){var D=T.next;_=D;do{if((_.tag&u)===u){var j=_.inst,te=j.destroy;if(te!==void 0){j.destroy=void 0,T=h;var Se=v,ze=te;try{ze()}catch(Je){An(T,Se,Je)}}}_=_.next}while(_!==D)}}catch(Je){An(h,h.return,Je)}}function fI(u){var h=u.updateQueue;if(h!==null){var v=u.stateNode;try{nk(h,v)}catch(_){An(u,u.return,_)}}}function hI(u,h,v){v.props=sd(u.type,u.memoizedProps),v.state=u.memoizedState;try{v.componentWillUnmount()}catch(_){An(u,h,_)}}function Bm(u,h){try{var v=u.ref;if(v!==null){switch(u.tag){case 26:case 27:case 5:var _=u.stateNode;break;case 30:_=u.stateNode;break;default:_=u.stateNode}typeof v=="function"?u.refCleanup=v(_):v.current=_}}catch(T){An(u,h,T)}}function So(u,h){var v=u.ref,_=u.refCleanup;if(v!==null)if(typeof _=="function")try{_()}catch(T){An(u,h,T)}finally{u.refCleanup=null,u=u.alternate,u!=null&&(u.refCleanup=null)}else if(typeof v=="function")try{v(null)}catch(T){An(u,h,T)}else v.current=null}function pI(u){var h=u.type,v=u.memoizedProps,_=u.stateNode;try{e:switch(h){case"button":case"input":case"select":case"textarea":v.autoFocus&&_.focus();break e;case"img":v.src?_.src=v.src:v.srcSet&&(_.srcset=v.srcSet)}}catch(T){An(u,u.return,T)}}function GM(u,h,v){try{var _=u.stateNode;AQ(_,u.type,v,h),_[wi]=h}catch(T){An(u,u.return,T)}}function mI(u){return u.tag===5||u.tag===3||u.tag===26||u.tag===27&&kc(u.type)||u.tag===4}function $M(u){e:for(;;){for(;u.sibling===null;){if(u.return===null||mI(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&&kc(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 WM(u,h,v){var _=u.tag;if(_===5||_===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=Jo));else if(_!==4&&(_===27&&kc(u.type)&&(v=u.stateNode,h=null),u=u.child,u!==null))for(WM(u,h,v),u=u.sibling;u!==null;)WM(u,h,v),u=u.sibling}function _x(u,h,v){var _=u.tag;if(_===5||_===6)u=u.stateNode,h?v.insertBefore(u,h):v.appendChild(u);else if(_!==4&&(_===27&&kc(u.type)&&(v=u.stateNode),u=u.child,u!==null))for(_x(u,h,v),u=u.sibling;u!==null;)_x(u,h,v),u=u.sibling}function gI(u){var h=u.stateNode,v=u.memoizedProps;try{for(var _=u.type,T=h.attributes;T.length;)h.removeAttributeNode(T[0]);Pr(h,_,v),h[si]=u,h[wi]=v}catch(D){An(u,u.return,D)}}var ll=!1,Ii=!1,qM=!1,vI=typeof WeakSet=="function"?WeakSet:Set,pr=null;function aQ(u,h){if(u=u.containerInfo,pE=Hx,u=RL(u),Bw(u)){if("selectionStart"in u)var v={start:u.selectionStart,end:u.selectionEnd};else e:{v=(v=u.ownerDocument)&&v.defaultView||window;var _=v.getSelection&&v.getSelection();if(_&&_.rangeCount!==0){v=_.anchorNode;var T=_.anchorOffset,D=_.focusNode;_=_.focusOffset;try{v.nodeType,D.nodeType}catch{v=null;break e}var j=0,te=-1,Se=-1,ze=0,Je=0,it=u,Ve=null;t:for(;;){for(var Ke;it!==v||T!==0&&it.nodeType!==3||(te=j+T),it!==D||_!==0&&it.nodeType!==3||(Se=j+_),it.nodeType===3&&(j+=it.nodeValue.length),(Ke=it.firstChild)!==null;)Ve=it,it=Ke;for(;;){if(it===u)break t;if(Ve===v&&++ze===T&&(te=j),Ve===D&&++Je===_&&(Se=j),(Ke=it.nextSibling)!==null)break;it=Ve,Ve=it.parentNode}it=Ke}v=te===-1||Se===-1?null:{start:te,end:Se}}else v=null}v=v||{start:0,end:0}}else v=null;for(mE={focusedElem:u,selectionRange:v},Hx=!1,pr=h;pr!==null;)if(h=pr,u=h.child,(h.subtreeFlags&1028)!==0&&u!==null)u.return=h,pr=u;else for(;pr!==null;){switch(h=pr,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"))),Pr(D,_,v),D[si]=u,Re(D),_=D;break e;case"link":var j=wU("link","href",T).get(_+(v.href||""));if(j){for(var te=0;teDn&&(j=Dn,Dn=Ft,Ft=j);var Oe=TL(te,Ft),Te=TL(te,Dn);if(Oe&&Te&&(Ke.rangeCount!==1||Ke.anchorNode!==Oe.node||Ke.anchorOffset!==Oe.offset||Ke.focusNode!==Te.node||Ke.focusOffset!==Te.offset)){var Fe=it.createRange();Fe.setStart(Oe.node,Oe.offset),Ke.removeAllRanges(),Ft>Dn?(Ke.addRange(Fe),Ke.extend(Te.node,Te.offset)):(Fe.setEnd(Te.node,Te.offset),Ke.addRange(Fe))}}}}for(it=[],Ke=te;Ke=Ke.parentNode;)Ke.nodeType===1&&it.push({element:Ke,left:Ke.scrollLeft,top:Ke.scrollTop});for(typeof te.focus=="function"&&te.focus(),te=0;tev?32:v,q.T=null,v=eE,eE=null;var D=Dc,j=hl;if(Yi=0,eh=Dc=null,hl=0,(_n&6)!==0)throw Error(i(331));var te=_n;if(_n|=4,CI(D.current),EI(D,D.current,j,v),_n=te,Wm(0,!1),Pe&&typeof Pe.onPostCommitFiberRoot=="function")try{Pe.onPostCommitFiberRoot(Ue,D)}catch{}return!0}finally{G.p=T,q.T=_,WI(u,h)}}function XI(u,h,v){h=us(v,h),h=OM(u.stateNode,h,2),u=Ec(u,h,2),u!==null&&(tn(u,2),wo(u))}function An(u,h,v){if(u.tag===3)XI(u,u,v);else for(;h!==null;){if(h.tag===3){XI(h,u,v);break}else if(h.tag===1){var _=h.stateNode;if(typeof h.type.getDerivedStateFromError=="function"||typeof _.componentDidCatch=="function"&&(Pc===null||!Pc.has(_))){u=us(v,u),v=Kk(2),_=Ec(h,v,2),_!==null&&(Yk(v,_,h,u),tn(_,2),wo(_));break}}h=h.return}}function rE(u,h,v){var _=u.pingCache;if(_===null){_=u.pingCache=new lQ;var T=new Set;_.set(h,T)}else T=_.get(h),T===void 0&&(T=new Set,_.set(h,T));T.has(v)||(YM=!0,T.add(v),u=hQ.bind(null,u,h,v),h.then(u,u))}function hQ(u,h,v){var _=u.pingCache;_!==null&&_.delete(h),u.pingedLanes|=u.suspendedLanes&v,u.warmLanes&=~v,Hn===u&&(un&v)===v&&(mi===4||mi===3&&(un&62914560)===un&&300>k()-Mx?(_n&2)===0&&th(u,0):ZM|=v,Qf===un&&(Qf=0)),wo(u)}function KI(u,h){h===0&&(h=yt()),u=Yu(u,h),u!==null&&(tn(u,h),wo(u))}function pQ(u){var h=u.memoizedState,v=0;h!==null&&(v=h.retryLane),KI(u,v)}function mQ(u,h){var v=0;switch(u.tag){case 31:case 13:var _=u.stateNode,T=u.memoizedState;T!==null&&(v=T.retryLane);break;case 19:_=u.stateNode;break;case 22:_=u.stateNode._retryCache;break;default:throw Error(i(314))}_!==null&&_.delete(h),KI(u,v)}function gQ(u,h){return ie(u,h)}var Px=null,ih=null,aE=!1,Dx=!1,sE=!1,Lc=0;function wo(u){u!==ih&&u.next===null&&(ih===null?Px=ih=u:ih=ih.next=u),Dx=!0,aE||(aE=!0,xQ())}function Wm(u,h){if(!sE&&Dx){sE=!0;do for(var v=!1,_=Px;_!==null;){if(u!==0){var T=_.pendingLanes;if(T===0)var D=0;else{var j=_.suspendedLanes,te=_.pingedLanes;D=(1<<31-et(42|u)+1)-1,D&=T&~(j&~te),D=D&201326741?D&201326741|1:D?D|2:0}D!==0&&(v=!0,QI(_,D))}else D=un,D=ge(_,_===Hn?D:0,_.cancelPendingCommit!==null||_.timeoutHandle!==-1),(D&3)===0||je(_,D)||(v=!0,QI(_,D));_=_.next}while(v);sE=!1}}function vQ(){YI()}function YI(){Dx=aE=!1;var u=0;Lc!==0&&CQ()&&(u=Lc);for(var h=k(),v=null,_=Px;_!==null;){var T=_.next,D=ZI(_,h);D===0?(_.next=null,v===null?Px=T:v.next=T,T===null&&(ih=v)):(v=_,(u!==0||(D&3)!==0)&&(Dx=!0)),_=T}Yi!==0&&Yi!==5||Wm(u),Lc!==0&&(Lc=0)}function ZI(u,h){for(var v=u.suspendedLanes,_=u.pingedLanes,T=u.expirationTimes,D=u.pendingLanes&-62914561;0te)break;var Je=Se.transferSize,it=Se.initiatorType;Je&&oU(it)&&(Se=Se.responseEnd,j+=Je*(Se"u"?null:document;function yU(u,h,v){var _=rh;if(_&&typeof h=="string"&&h){var T=Sn(h);T='link[rel="'+u+'"][href="'+T+'"]',typeof v=="string"&&(T+='[crossorigin="'+v+'"]'),xU.has(T)||(xU.add(T),u={rel:u,crossOrigin:v,href:h},_.querySelector(T)===null&&(h=_.createElement("link"),Pr(h,"link",u),Re(h),_.head.appendChild(h)))}}function UQ(u){pl.D(u),yU("dns-prefetch",u,null)}function FQ(u,h){pl.C(u,h),yU("preconnect",u,h)}function zQ(u,h,v){pl.L(u,h,v);var _=rh;if(_&&u&&h){var T='link[rel="preload"][as="'+Sn(h)+'"]';h==="image"&&v&&v.imageSrcSet?(T+='[imagesrcset="'+Sn(v.imageSrcSet)+'"]',typeof v.imageSizes=="string"&&(T+='[imagesizes="'+Sn(v.imageSizes)+'"]')):T+='[href="'+Sn(u)+'"]';var D=T;switch(h){case"style":D=ah(u);break;case"script":D=sh(u)}gs.has(D)||(u=f({rel:"preload",href:h==="image"&&v&&v.imageSrcSet?void 0:u,as:h},v),gs.set(D,u),_.querySelector(T)!==null||h==="style"&&_.querySelector(Ym(D))||h==="script"&&_.querySelector(Zm(D))||(h=_.createElement("link"),Pr(h,"link",u),Re(h),_.head.appendChild(h)))}}function BQ(u,h){pl.m(u,h);var v=rh;if(v&&u){var _=h&&typeof h.as=="string"?h.as:"script",T='link[rel="modulepreload"][as="'+Sn(_)+'"][href="'+Sn(u)+'"]',D=T;switch(_){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":D=sh(u)}if(!gs.has(D)&&(u=f({rel:"modulepreload",href:u},h),gs.set(D,u),v.querySelector(T)===null)){switch(_){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(v.querySelector(Zm(D)))return}_=v.createElement("link"),Pr(_,"link",u),Re(_),v.head.appendChild(_)}}}function jQ(u,h,v){pl.S(u,h,v);var _=rh;if(_&&u){var T=Ne(_).hoistableStyles,D=ah(u);h=h||"default";var j=T.get(D);if(!j){var te={loading:0,preload:null};if(j=_.querySelector(Ym(D)))te.loading=5;else{u=f({rel:"stylesheet",href:u,"data-precedence":h},v),(v=gs.get(D))&&SE(u,v);var Se=j=_.createElement("link");Re(Se),Pr(Se,"link",u),Se._p=new Promise(function(ze,Je){Se.onload=ze,Se.onerror=Je}),Se.addEventListener("load",function(){te.loading|=1}),Se.addEventListener("error",function(){te.loading|=2}),te.loading|=4,Ux(j,h,_)}j={type:"stylesheet",instance:j,count:1,state:te},T.set(D,j)}}}function HQ(u,h){pl.X(u,h);var v=rh;if(v&&u){var _=Ne(v).hoistableScripts,T=sh(u),D=_.get(T);D||(D=v.querySelector(Zm(T)),D||(u=f({src:u,async:!0},h),(h=gs.get(T))&&wE(u,h),D=v.createElement("script"),Re(D),Pr(D,"link",u),v.head.appendChild(D)),D={type:"script",instance:D,count:1,state:null},_.set(T,D))}}function VQ(u,h){pl.M(u,h);var v=rh;if(v&&u){var _=Ne(v).hoistableScripts,T=sh(u),D=_.get(T);D||(D=v.querySelector(Zm(T)),D||(u=f({src:u,async:!0,type:"module"},h),(h=gs.get(T))&&wE(u,h),D=v.createElement("script"),Re(D),Pr(D,"link",u),v.head.appendChild(D)),D={type:"script",instance:D,count:1,state:null},_.set(T,D))}}function bU(u,h,v,_){var T=(T=me.current)?Ix(T):null;if(!T)throw Error(i(446));switch(u){case"meta":case"title":return null;case"style":return typeof v.precedence=="string"&&typeof v.href=="string"?(h=ah(v.href),v=Ne(T).hoistableStyles,_=v.get(h),_||(_={type:"style",instance:null,count:0,state:null},v.set(h,_)),_):{type:"void",instance:null,count:0,state:null};case"link":if(v.rel==="stylesheet"&&typeof v.href=="string"&&typeof v.precedence=="string"){u=ah(v.href);var D=Ne(T).hoistableStyles,j=D.get(u);if(j||(T=T.ownerDocument||T,j={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},D.set(u,j),(D=T.querySelector(Ym(u)))&&!D._p&&(j.instance=D,j.state.loading=5),gs.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},gs.set(u,v),D||GQ(T,u,v,j.state))),h&&_===null)throw Error(i(528,""));return j}if(h&&_!==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=sh(v),v=Ne(T).hoistableScripts,_=v.get(h),_||(_={type:"script",instance:null,count:0,state:null},v.set(h,_)),_):{type:"void",instance:null,count:0,state:null};default:throw Error(i(444,u))}}function ah(u){return'href="'+Sn(u)+'"'}function Ym(u){return'link[rel="stylesheet"]['+u+"]"}function _U(u){return f({},u,{"data-precedence":u.precedence,precedence:null})}function GQ(u,h,v,_){u.querySelector('link[rel="preload"][as="style"]['+h+"]")?_.loading=1:(h=u.createElement("link"),_.preload=h,h.addEventListener("load",function(){return _.loading|=1}),h.addEventListener("error",function(){return _.loading|=2}),Pr(h,"link",v),Re(h),u.head.appendChild(h))}function sh(u){return'[src="'+Sn(u)+'"]'}function Zm(u){return"script[async]"+u}function SU(u,h,v){if(h.count++,h.instance===null)switch(h.type){case"style":var _=u.querySelector('style[data-href~="'+Sn(v.href)+'"]');if(_)return h.instance=_,Re(_),_;var T=f({},v,{"data-href":v.href,"data-precedence":v.precedence,href:null,precedence:null});return _=(u.ownerDocument||u).createElement("style"),Re(_),Pr(_,"style",T),Ux(_,v.precedence,u),h.instance=_;case"stylesheet":T=ah(v.href);var D=u.querySelector(Ym(T));if(D)return h.state.loading|=4,h.instance=D,Re(D),D;_=_U(v),(T=gs.get(T))&&SE(_,T),D=(u.ownerDocument||u).createElement("link"),Re(D);var j=D;return j._p=new Promise(function(te,Se){j.onload=te,j.onerror=Se}),Pr(D,"link",_),h.state.loading|=4,Ux(D,v.precedence,u),h.instance=D;case"script":return D=sh(v.src),(T=u.querySelector(Zm(D)))?(h.instance=T,Re(T),T):(_=v,(T=gs.get(D))&&(_=f({},v),wE(_,T)),u=u.ownerDocument||u,T=u.createElement("script"),Re(T),Pr(T,"link",_),u.head.appendChild(T),h.instance=T);case"void":return null;default:throw Error(i(443,h.type))}else h.type==="stylesheet"&&(h.state.loading&4)===0&&(_=h.instance,h.state.loading|=4,Ux(_,v.precedence,u));return h.instance}function Ux(u,h,v){for(var _=v.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),T=_.length?_[_.length-1]:null,D=T,j=0;j<_.length;j++){var te=_[j];if(te.dataset.precedence===h)D=te;else if(D!==T)break}D?D.parentNode.insertBefore(u,D.nextSibling):(h=v.nodeType===9?v.head:v,h.insertBefore(u,h.firstChild))}function SE(u,h){u.crossOrigin==null&&(u.crossOrigin=h.crossOrigin),u.referrerPolicy==null&&(u.referrerPolicy=h.referrerPolicy),u.title==null&&(u.title=h.title)}function wE(u,h){u.crossOrigin==null&&(u.crossOrigin=h.crossOrigin),u.referrerPolicy==null&&(u.referrerPolicy=h.referrerPolicy),u.integrity==null&&(u.integrity=h.integrity)}var Fx=null;function wU(u,h,v){if(Fx===null){var _=new Map,T=Fx=new Map;T.set(v,_)}else T=Fx,_=T.get(v),_||(_=new Map,T.set(v,_));if(_.has(u))return _;for(_.set(u,null),v=v.getElementsByTagName(u),T=0;T title"):null)}function $Q(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 EU(u){return!(u.type==="stylesheet"&&(u.state.loading&3)===0)}function WQ(u,h,v,_){if(v.type==="stylesheet"&&(typeof _.media!="string"||matchMedia(_.media).matches!==!1)&&(v.state.loading&4)===0){if(v.instance===null){var T=ah(_.href),D=h.querySelector(Ym(T));if(D){h=D._p,h!==null&&typeof h=="object"&&typeof h.then=="function"&&(u.count++,u=zx.bind(u),h.then(u,u)),v.state.loading|=4,v.instance=D,Re(D);return}D=h.ownerDocument||h,_=_U(_),(T=gs.get(T))&&SE(_,T),D=D.createElement("link"),Re(D);var j=D;j._p=new Promise(function(te,Se){j.onload=te,j.onerror=Se}),Pr(D,"link",_),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=zx.bind(u),h.addEventListener("load",v),h.addEventListener("error",v))}}var ME=0;function qQ(u,h){return u.stylesheets&&u.count===0&&jx(u,u.stylesheets),0ME?50:800)+h);return u.unsuspend=v,function(){u.unsuspend=null,clearTimeout(_),clearTimeout(T)}}:null}function zx(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)jx(this,this.stylesheets);else if(this.unsuspend){var u=this.unsuspend;this.unsuspend=null,u()}}}var Bx=null;function jx(u,h){u.stylesheets=null,u.unsuspend!==null&&(u.count++,Bx=new Map,h.forEach(XQ,u),Bx=null,zx.call(u))}function XQ(u,h){if(!(h.state.loading&4)){var v=Bx.get(u);if(v)var _=v.get(null);else{v=new Map,Bx.set(u,v);for(var T=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(),OE.exports=dee(),OE.exports}var hee=fee();var KU="popstate";function pee(t={}){function e(i,r){let{pathname:a,search:s,hash:o}=i.location;return x2("",{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:o0(r)}return gee(e,n,null,t)}function li(t,e){if(t===!1||t===null||typeof t>"u")throw new Error(e)}function po(t,e){if(!t){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function mee(){return Math.random().toString(36).substring(2,10)}function YU(t,e){return{usr:t.state,key:t.key,idx:e}}function x2(t,e,n=null,i){return{pathname:typeof t=="string"?t:t.pathname,search:"",hash:"",...typeof e=="string"?Gp(e):e,state:n,key:e&&e.key||i||mee()}}function o0({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 Gp(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 gee(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 x=d(),g=x==null?null:x-c;c=x,l&&l({action:o,location:b.location,delta:g})}function p(x,g){o="PUSH";let M=x2(b.location,x,g);c=d()+1;let w=YU(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(x,g){o="REPLACE";let M=x2(b.location,x,g);c=d();let w=YU(M,c),E=b.createHref(M);s.replaceState(w,"",E),a&&l&&l({action:o,location:b.location,delta:0})}function y(x){return vee(x)}let b={get action(){return o},get location(){return t(r,s)},listen(x){if(l)throw new Error("A history only accepts one active listener");return r.addEventListener(KU,f),l=x,()=>{r.removeEventListener(KU,f),l=null}},createHref(x){return e(r,x)},createURL:y,encodeLocation(x){let g=y(x);return{pathname:g.pathname,search:g.search,hash:g.hash}},push:p,replace:m,go(x){return s.go(x)}};return b}function vee(t,e=!1){let n="http://localhost";typeof window<"u"&&(n=window.location.origin!=="null"?window.location.origin:window.location.href),li(n,"No window.location.(origin|href) available to create URL");let i=typeof t=="string"?t:o0(t);return i=i.replace(/ $/,"%20"),!e&&i.startsWith("//")&&(i=n+i),new URL(i,n)}function NV(t,e,n="/"){return xee(t,e,n,!1)}function xee(t,e,n,i){let r=typeof e=="string"?Gp(e):e,a=Jl(r.pathname||"/",n);if(a==null)return null;let s=PV(t);yee(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;li(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=Gl([i,d.relativePath]),p=n.concat(d);s.children&&s.children.length>0&&(li(s.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${f}".`),PV(s.children,e,p,f,l)),!(s.path==null&&!s.index)&&e.push({path:f,score:Aee(f,s.index),routesMeta:p})};return t.forEach((s,o)=>{if(s.path===""||!s.path?.includes("?"))a(s,o);else for(let l of DV(s.path))a(s,o,!0,l)}),e}function DV(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=DV(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 yee(t){t.sort((e,n)=>e.score!==n.score?n.score-e.score:Tee(e.routesMeta.map(i=>i.childrenIndex),n.routesMeta.map(i=>i.childrenIndex)))}var bee=/^:[\w-]+$/,_ee=3,See=2,wee=1,Mee=10,Eee=-2,ZU=t=>t==="*";function Aee(t,e){let n=t.split("/"),i=n.length;return n.some(ZU)&&(i+=Eee),e&&(i+=See),n.filter(r=>!ZU(r)).reduce((r,a)=>r+(bee.test(a)?_ee:a===""?wee:Mee),i)}function Tee(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 Cee(t,e,n=!1){let{routesMeta:i}=t,r={},a="/",s=[];for(let o=0;o{if(d==="*"){let y=o[p]||"";s=a.slice(0,a.length-y.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 Ree(t,e=!1,n=!0){po(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 Nee(t){try{return t.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(e){return po(!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 Jl(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 Pee=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Dee=t=>Pee.test(t);function Oee(t,e="/"){let{pathname:n,search:i="",hash:r=""}=typeof t=="string"?Gp(t):t,a;if(n)if(Dee(n))a=n;else{if(n.includes("//")){let s=n;n=n.replace(/\/\/+/g,"/"),po(!1,`Pathnames cannot have embedded double slashes - normalizing ${s} -> ${n}`)}n.startsWith("/")?a=JU(n.substring(1),"/"):a=JU(n,e)}else a=e;return{pathname:a,search:Iee(i),hash:Uee(r)}}function JU(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 UE(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 Lee(t){return t.filter((e,n)=>n===0||e.route.path&&e.route.path.length>0)}function OV(t){let e=Lee(t);return e.map((n,i)=>i===e.length-1?n.pathname:n.pathnameBase)}function LV(t,e,n,i=!1){let r;typeof t=="string"?r=Gp(t):(r={...t},li(!r.pathname||!r.pathname.includes("?"),UE("?","pathname","search",r)),li(!r.pathname||!r.pathname.includes("#"),UE("#","pathname","hash",r)),li(!r.search||!r.search.includes("#"),UE("#","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=Oee(r,o),c=s&&s!=="/"&&s.endsWith("/"),d=(a||s===".")&&n.endsWith("/");return!l.pathname.endsWith("/")&&(c||d)&&(l.pathname+="/"),l}var Gl=t=>t.join("/").replace(/\/\/+/g,"/"),kee=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),Iee=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,Uee=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t;function Fee(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 kV=["POST","PUT","PATCH","DELETE"];new Set(kV);var zee=["GET",...kV];new Set(zee);var $p=C.createContext(null);$p.displayName="DataRouter";var nS=C.createContext(null);nS.displayName="DataRouterState";C.createContext(!1);var IV=C.createContext({isTransitioning:!1});IV.displayName="ViewTransition";var Bee=C.createContext(new Map);Bee.displayName="Fetchers";var jee=C.createContext(null);jee.displayName="Await";var Xo=C.createContext(null);Xo.displayName="Navigation";var Q0=C.createContext(null);Q0.displayName="Location";var Ko=C.createContext({outlet:null,matches:[],isDataRoute:!1});Ko.displayName="Route";var _N=C.createContext(null);_N.displayName="RouteError";function Hee(t,{relative:e}={}){li(ev(),"useHref() may be used only in the context of a component.");let{basename:n,navigator:i}=C.useContext(Xo),{hash:r,pathname:a,search:s}=tv(t,{relative:e}),o=a;return n!=="/"&&(o=a==="/"?n:Gl([n,a])),i.createHref({pathname:o,search:s,hash:r})}function ev(){return C.useContext(Q0)!=null}function Mf(){return li(ev(),"useLocation() may be used only in the context of a component."),C.useContext(Q0).location}var UV="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function FV(t){C.useContext(Xo).static||C.useLayoutEffect(t)}function zV(){let{isDataRoute:t}=C.useContext(Ko);return t?ite():Vee()}function Vee(){li(ev(),"useNavigate() may be used only in the context of a component.");let t=C.useContext($p),{basename:e,navigator:n}=C.useContext(Xo),{matches:i}=C.useContext(Ko),{pathname:r}=Mf(),a=JSON.stringify(OV(i)),s=C.useRef(!1);return FV(()=>{s.current=!0}),C.useCallback((l,c={})=>{if(po(s.current,UV),!s.current)return;if(typeof l=="number"){n.go(l);return}let d=LV(l,JSON.parse(a),r,c.relative==="path");t==null&&e!=="/"&&(d.pathname=d.pathname==="/"?e:Gl([e,d.pathname])),(c.replace?n.replace:n.push)(d,c.state,c)},[e,n,a,r,t])}var Gee=C.createContext(null);function $ee(t){let e=C.useContext(Ko).outlet;return C.useMemo(()=>e&&C.createElement(Gee.Provider,{value:t},e),[e,t])}function tv(t,{relative:e}={}){let{matches:n}=C.useContext(Ko),{pathname:i}=Mf(),r=JSON.stringify(OV(n));return C.useMemo(()=>LV(t,JSON.parse(r),i,e==="path"),[t,r,i,e])}function Wee(t,e){return BV(t,e)}function BV(t,e,n,i,r){li(ev(),"useRoutes() may be used only in the context of a component.");let{navigator:a}=C.useContext(Xo),{matches:s}=C.useContext(Ko),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||"";jV(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=Mf(),m;if(e){let M=typeof e=="string"?Gp(e):e;li(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 y=m.pathname||"/",b=y;if(d!=="/"){let M=d.replace(/^\//,"").split("/");b="/"+y.replace(/^\//,"").split("/").slice(M.length).join("/")}let x=RV(t,{pathname:b});po(f||x!=null,`No routes matched location "${m.pathname}${m.search}${m.hash}" `),po(x==null||x[x.length-1].route.element!==void 0||x[x.length-1].route.Component!==void 0||x[x.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 g=Zee(x&&x.map(M=>Object.assign({},M,{params:Object.assign({},l,M.params),pathname:Gl([d,a.encodeLocation?a.encodeLocation(M.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:M.pathname]),pathnameBase:M.pathnameBase==="/"?d:Gl([d,a.encodeLocation?a.encodeLocation(M.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:M.pathnameBase])})),s,n,i,r);return e&&g?C.createElement(Q0.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...m},navigationType:"POP"}},g):g}function qee(){let t=nte(),e=Fee(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=C.createElement(C.Fragment,null,C.createElement("p",null,"💿 Hey developer 👋"),C.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",C.createElement("code",{style:a},"ErrorBoundary")," or"," ",C.createElement("code",{style:a},"errorElement")," prop on your route.")),C.createElement(C.Fragment,null,C.createElement("h2",null,"Unexpected Application Error!"),C.createElement("h3",{style:{fontStyle:"italic"}},e),n?C.createElement("pre",{style:r},n):null,s)}var Xee=C.createElement(qee,null),Kee=class extends C.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?C.createElement(Ko.Provider,{value:this.props.routeContext},C.createElement(_N.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function Yee({routeContext:t,match:e,children:n}){let i=C.useContext($p);return i&&i.static&&i.staticContext&&(e.route.errorElement||e.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=e.route.id),C.createElement(Ko.Provider,{value:t},n)}function Zee(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);li(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,y=!1,b=null,x=null;n&&(m=s&&f.route.id?s[f.route.id]:void 0,b=f.route.errorElement||Xee,o&&(l<0&&p===0?(BV("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),y=!0,x=null):l===p&&(y=!0,x=f.route.hydrateFallbackElement||null)));let g=e.concat(a.slice(0,p+1)),M=()=>{let w;return m?w=b:y?w=x:f.route.Component?w=C.createElement(f.route.Component,null):f.route.element?w=f.route.element:w=d,C.createElement(Yee,{match:f,routeContext:{outlet:d,matches:g,isDataRoute:n!=null},children:w})};return n&&(f.route.ErrorBoundary||f.route.errorElement||p===0)?C.createElement(Kee,{location:n.location,revalidation:n.revalidation,component:b,error:m,children:M(),routeContext:{outlet:null,matches:g,isDataRoute:!0},onError:c}):M()},null)}function SN(t){return`${t} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Jee(t){let e=C.useContext($p);return li(e,SN(t)),e}function Qee(t){let e=C.useContext(nS);return li(e,SN(t)),e}function ete(t){let e=C.useContext(Ko);return li(e,SN(t)),e}function wN(t){let e=ete(t),n=e.matches[e.matches.length-1];return li(n.route.id,`${t} can only be used on routes that contain a unique "id"`),n.route.id}function tte(){return wN("useRouteId")}function nte(){let t=C.useContext(_N),e=Qee("useRouteError"),n=wN("useRouteError");return t!==void 0?t:e.errors?.[n]}function ite(){let{router:t}=Jee("useNavigate"),e=wN("useNavigate"),n=C.useRef(!1);return UV(()=>{n.current=!0}),C.useCallback(async(r,a={})=>{po(n.current,IV),n.current&&(typeof r=="number"?t.navigate(r):await t.navigate(r,{fromRouteId:e,...a}))},[t,e])}var JU={};function BV(t,e,n){!e&&!JU[t]&&(JU[t]=!0,po(!1,n))}C.memo(rte);function rte({routes:t,future:e,state:n,unstable_onError:i}){return zV(t,void 0,n,i,e)}function ate(t){return $ee(t.context)}function _d(t){li(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function ste({basename:t="/",children:e=null,location:n,navigationType:i="POP",navigator:r,static:a=!1}){li(!ev(),"You cannot render a inside another . You should never have more than one in your app.");let s=t.replace(/^\/*/,"/"),o=C.useMemo(()=>({basename:s,navigator:r,static:a,future:{}}),[s,r,a]);typeof n=="string"&&(n=Gp(n));let{pathname:l="/",search:c="",hash:d="",state:f=null,key:p="default"}=n,m=C.useMemo(()=>{let y=Jl(l,s);return y==null?null:{location:{pathname:y,search:c,hash:d,state:f,key:p},navigationType:i}},[s,l,c,d,f,p,i]);return po(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:C.createElement(Xo.Provider,{value:o},C.createElement(Q0.Provider,{children:e,value:m}))}function ote({children:t,location:e}){return Wee(y2(t),e)}function y2(t,e=[]){let n=[];return C.Children.forEach(t,(i,r)=>{if(!C.isValidElement(i))return;let a=[...e,r];if(i.type===C.Fragment){n.push.apply(n,y2(i.props.children,a));return}li(i.type===_d,`[${typeof i.type=="string"?i.type:i.type.name}] is not a component. All component children of must be a or `),li(!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=y2(i.props.children,a)),n.push(s)}),n}var Cb="get",Rb="application/x-www-form-urlencoded";function iS(t){return t!=null&&typeof t.tagName=="string"}function lte(t){return iS(t)&&t.tagName.toLowerCase()==="button"}function cte(t){return iS(t)&&t.tagName.toLowerCase()==="form"}function ute(t){return iS(t)&&t.tagName.toLowerCase()==="input"}function dte(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function fte(t,e){return t.button===0&&(!e||e==="_self")&&!dte(t)}var Yx=null;function hte(){if(Yx===null)try{new FormData(document.createElement("form"),0),Yx=!1}catch{Yx=!0}return Yx}var pte=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function FE(t){return t!=null&&!pte.has(t)?(po(!1,`"${t}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${Rb}"`),null):t}function mte(t,e){let n,i,r,a,s;if(cte(t)){let o=t.getAttribute("action");i=o?Jl(o,e):null,n=t.getAttribute("method")||Cb,r=FE(t.getAttribute("enctype"))||Rb,a=new FormData(t)}else if(lte(t)||ute(t)&&(t.type==="submit"||t.type==="image")){let o=t.form;if(o==null)throw new Error('Cannot submit a