diff --git a/app/api/routes/directories.py b/app/api/routes/directories.py index 20a1a1b..ee0b4c2 100644 --- a/app/api/routes/directories.py +++ b/app/api/routes/directories.py @@ -32,6 +32,9 @@ async def list_directory_children( name=item.item.name, mime_type=getattr(item.item, "mime_type", None), size_bytes=getattr(item.item, "size_bytes", None), + replica_ready_count=item.replica_ready_count, + replica_desired_count=item.replica_desired_count, + replica_missing_count=item.replica_missing_count, created_at=item.item.created_at, updated_at=item.item.updated_at, ) diff --git a/app/schemas/directory.py b/app/schemas/directory.py index f930980..74d37a6 100644 --- a/app/schemas/directory.py +++ b/app/schemas/directory.py @@ -19,6 +19,9 @@ class DirectoryItem(BaseModel): name: str mime_type: str | None = None size_bytes: int | None = None + replica_ready_count: int | None = None + replica_desired_count: int | None = None + replica_missing_count: int | None = None created_at: datetime updated_at: datetime diff --git a/app/schemas/job.py b/app/schemas/job.py index 83032c6..ebae153 100644 --- a/app/schemas/job.py +++ b/app/schemas/job.py @@ -9,6 +9,7 @@ class JobSummary(BaseModel): id: str kind: str status: str + payload_json: str attempt_count: int max_attempts: int run_after: datetime diff --git a/app/services/directory_service.py b/app/services/directory_service.py index 764567a..d72fa3e 100644 --- a/app/services/directory_service.py +++ b/app/services/directory_service.py @@ -8,8 +8,10 @@ from sqlalchemy.ext.asyncio import AsyncSession from app.core.exceptions import DirectoryConflictError, DirectoryNotFoundError, ValidationError from app.core.ids import new_id from app.models.entities import Directory, FileEntry +from app.repositories.blob_replica_repository import BlobReplicaRepository from app.repositories.directory_repository import DirectoryRepository from app.repositories.file_repository import FileRepository +from app.services.storage_service import StorageService ROOT_DIRECTORY_ID = "dir_root" ROOT_DIRECTORY_NAME = "/" @@ -20,6 +22,9 @@ ROOT_PATH_KEY = "/" class NamespaceItem: kind: Literal["directory", "file"] item: Directory | FileEntry + replica_ready_count: int | None = None + replica_desired_count: int | None = None + replica_missing_count: int | None = None @dataclass @@ -33,6 +38,8 @@ class DirectoryService: self.session = session self.repository = DirectoryRepository(session) self.file_repository = FileRepository(session) + self.blob_replica_repository = BlobReplicaRepository(session) + self.storage_service = StorageService(session) async def ensure_root_directory(self) -> Directory: root = await self.repository.get_root() @@ -55,10 +62,32 @@ class DirectoryService: child_files = await self.file_repository.list_by_directory(directory.id) items = [NamespaceItem(kind="directory", item=child) for child in child_directories] - items.extend(NamespaceItem(kind="file", item=file_entry) for file_entry in child_files) + for file_entry in child_files: + items.append(await self._file_namespace_item(file_entry)) items.sort(key=lambda item: (item.kind != "directory", item.item.name.lower())) return DirectoryChildrenResult(directory=directory, children=items) + async def _file_namespace_item(self, file_entry: FileEntry) -> NamespaceItem: + blob = await self.file_repository.get_primary_blob_for_file(file_entry.id) + if blob is None: + return NamespaceItem(kind="file", item=file_entry, replica_ready_count=0, replica_desired_count=0, replica_missing_count=0) + + replicas = await self.blob_replica_repository.list_by_blob(blob.id) + ready_backend_ids = {replica.backend_id for replica in replicas if replica.status == "ready"} + decision = await self.storage_service.get_replication_targets_for_mime_type( + file_entry.mime_type, + size_bytes=blob.size_bytes, + ) + desired_backend_ids = {backend.id for backend in decision.backends} + missing_count = len(desired_backend_ids - ready_backend_ids) + return NamespaceItem( + kind="file", + item=file_entry, + replica_ready_count=len(ready_backend_ids & desired_backend_ids), + replica_desired_count=len(desired_backend_ids), + replica_missing_count=missing_count, + ) + async def create_directory(self, parent_id: str, name: str) -> Directory: cleaned_name = self._validate_directory_name(name) diff --git a/app/services/policy_service.py b/app/services/policy_service.py index 1a1d595..16dd588 100644 --- a/app/services/policy_service.py +++ b/app/services/policy_service.py @@ -23,7 +23,7 @@ DEFAULT_PLACEMENT_POLICIES = { "image": { "require_local": True, "stable_replica_count": 1, - "opportunistic_replica_count": 1, + "opportunistic_replica_count": 0, "preferred_backend_ids": [], "excluded_backend_ids": [], "max_non_local_size_bytes": None, diff --git a/app/web/dist/assets/OpenCloud500-Regular.woff2 b/app/web/dist/assets/OpenCloud500-Regular.woff2 new file mode 100644 index 0000000..219abd8 Binary files /dev/null and b/app/web/dist/assets/OpenCloud500-Regular.woff2 differ diff --git a/app/web/dist/assets/OpenCloud750-Bold.woff2 b/app/web/dist/assets/OpenCloud750-Bold.woff2 new file mode 100644 index 0000000..1bc7076 Binary files /dev/null and b/app/web/dist/assets/OpenCloud750-Bold.woff2 differ diff --git a/app/web/dist/assets/app.css b/app/web/dist/assets/app.css index b7b282a..04be9be 100644 --- a/app/web/dist/assets/app.css +++ b/app/web/dist/assets/app.css @@ -1 +1 @@ -:root{--bg: #f6f8fb;--bg-deep: #eef2f6;--surface: rgba(255, 255, 255, .84);--surface-strong: rgba(255, 255, 255, .98);--surface-soft: rgba(248, 250, 252, .94);--ink: #111827;--muted: #6b7280;--accent: #2563eb;--accent-strong: #1e40af;--success: #0f9f6e;--warning: #d97706;--danger: #dc2626;--border: rgba(17, 24, 39, .08);--border-strong: rgba(17, 24, 39, .12);--shadow: 0 20px 48px rgba(15, 23, 42, .08);--shadow-soft: 0 8px 24px rgba(15, 23, 42, .05)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);background:radial-gradient(circle at top left,rgba(37,99,235,.06),transparent 20%),linear-gradient(180deg,#f8fafc,#f4f7fb 52%,#eef2f6);font-family:Manrope,Segoe UI,Helvetica Neue,Arial,sans-serif;line-height:1.45}button,input,select,textarea,iframe,video{font:inherit}a{color:inherit;text-decoration:none}button{border:1px solid transparent;border-radius:12px;padding:.72rem .95rem;cursor:pointer;color:#f8fbff;background:linear-gradient(180deg,#2d6df6 0%,var(--accent-strong) 100%);box-shadow:0 8px 18px #2563eb24;transition:transform .14s ease,opacity .14s ease,box-shadow .14s ease}button:hover{transform:translateY(-1px);box-shadow:0 10px 20px #2563eb2e}button:disabled{opacity:.6;cursor:wait}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:.78rem .92rem;background:var(--surface-strong);color:var(--ink)}textarea{resize:vertical;min-height:180px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.88rem}.ghost-button,.crumb-button,.tree-toggle,.tree-label{color:var(--ink);background:#fffc;border:1px solid var(--border);box-shadow:none}.danger-button{background:linear-gradient(180deg,#ef4444 0%,var(--danger) 100%);box-shadow:0 10px 22px #dc262624}.eyebrow,.metric-label{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:700;color:var(--muted)}.app-shell{min-height:100vh;display:grid;grid-template-columns:208px minmax(0,1fr);gap:12px;padding:14px;max-width:1480px;margin:0 auto}.sidebar{display:grid;align-content:start;gap:.65rem;padding:.85rem;border:1px solid var(--border);border-radius:20px;background:#ffffffad;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:var(--shadow-soft)}.brand-block{display:grid;gap:.68rem}.brand-block-compact{gap:.2rem}.brand-block h1,.topbar h2,.section-heading h2,.section-heading h3,.panel-toolbar h3{margin:.3rem 0 0}.brand-block h1{font-size:clamp(1.2rem,1.8vw,1.8rem);line-height:1.06;max-width:none;overflow-wrap:anywhere}.brand-block p,.sidebar-card p,.login-hero p,.detail-empty p,.preview-fallback p,.dropzone p{color:var(--muted);line-height:1.5;margin:0}.main-nav{display:grid;gap:.22rem;margin:.1rem 0 .45rem}.nav-link{padding:.6rem .72rem;border-radius:10px;color:var(--ink);font-weight:600;font-size:.95rem}.nav-link.active{background:linear-gradient(180deg,#2563eb1f,#2563eb0a);border:1px solid rgba(37,99,235,.14);color:#0f3ca7}.sidebar-card,.panel,.login-card,.login-hero,.summary-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar-card{padding:.8rem .86rem .9rem;border-radius:16px;margin-top:auto}.workspace{padding:.1rem 0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.1rem .15rem}.topbar h2{font-size:1.35rem;line-height:1.05}.topbar-title{display:grid;gap:.1rem}.topbar-actions,.toolbar-group{display:flex;gap:.55rem;flex-wrap:wrap}.topbar-actions .ghost-button{border-radius:999px;background:#ffffffeb}.workspace-content{margin-top:.9rem;padding-bottom:1.5rem}.login-page{min-height:100vh;display:grid;grid-template-columns:1.15fr minmax(320px,460px);gap:1.5rem;padding:1.5rem}.login-hero,.login-card{border-radius:28px;padding:2rem}.hero-metrics{margin-top:2rem;display:grid;gap:1rem}.hero-metrics article{padding:1rem 1.1rem;border-radius:18px;background:#ffffff85;border:1px solid var(--border)}.stack-form,.stack-page,.uploads-main{display:grid;gap:1rem}.uploads-main{align-content:start}.section-heading{display:grid;gap:.12rem}.panel-toolbar h3,.section-heading h2,.section-heading h3,.files-header h3{line-height:1.15}.content-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.uploads-page-grid{display:grid;grid-template-columns:minmax(0,1.58fr) minmax(280px,.68fr);gap:12px;align-items:start}.dashboard-page-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:12px;align-items:start}.compact-page-shell{width:min(100%,1040px);display:grid;gap:.9rem;margin-right:auto}.compact-page-shell-wide{width:min(100%,1180px)}.summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.summary-strip-two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-strip-four-up{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-card{padding:.8rem .9rem;border-radius:16px}.uploads-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-main-column,.dashboard-side-column,.summary-stack{display:grid;gap:.9rem}.dashboard-main-panel,.dashboard-side-panel{align-content:start}.panel{border-radius:18px;padding:.88rem}.main-panel,.detail-panel,.explorer-panel{background:#ffffffb8}.files-page-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:10px;align-items:stretch;min-height:calc(100vh - 132px)}.files-main-shell{display:grid;grid-template-columns:176px minmax(0,1fr);gap:0;padding:0;overflow:hidden;min-height:100%}.files-local-nav{display:grid;align-content:start;gap:.9rem;padding:.88rem;border-right:1px solid var(--border);background:#f9fafbe6;min-height:100%}.files-local-nav-list{display:grid;gap:.28rem}.files-sidebar-section{display:grid;gap:.45rem}.files-sidebar-label{color:var(--muted);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.files-local-link{color:var(--ink);background:transparent;border:1px solid transparent;box-shadow:none;justify-content:flex-start;text-align:left;padding:.5rem .62rem;font-weight:600;border-radius:8px}.files-local-link.active,.files-local-link:hover{background:#2563eb14;border-color:#2563eb1a}.files-tree-card{padding:0;border:0;border-radius:0;background:transparent}.files-content-shell{padding:.88rem;min-height:100%;display:grid;align-content:start}.explorer-panel,.detail-panel{min-height:520px}.explorer-panel{padding:.9rem}.uploads-primary-panel{display:grid;gap:1rem}.uploads-dropzone{grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start}.uploads-dropzone-copy,.uploads-target-inline{display:grid;gap:.45rem}.uploads-queue-section{display:grid;gap:.7rem}.uploads-side-panel{position:sticky;top:16px;align-self:start}.jobs-list-shell{display:grid;gap:0}.jobs-list-header{margin-top:0}.jobs-row-meta{min-width:220px;grid-template-columns:88px 52px auto;align-items:center;gap:.7rem}.status-chip{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:.24rem .5rem;border-radius:999px;border:1px solid rgba(15,23,42,.08);background:#f8fafceb;color:var(--muted);font-size:.76rem;font-weight:700}.status-chip-success{color:var(--success);border-color:#0f9f6e29;background:#ecfdf5eb}.storage-status-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.5rem}.storage-actions{margin-top:auto}.detail-panel{position:sticky;top:16px;align-self:start;padding:.75rem;min-height:100%;display:grid;align-content:start}.panel-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem}.compact-toolbar{align-items:center}.files-header{display:grid;gap:.18rem}.files-command-bar{align-items:center;justify-content:flex-end}.files-toolbar{display:grid;gap:.7rem;margin:.72rem 0 .82rem}.files-toolbar-top{align-items:start}.list-surface{border:1px solid var(--border);border-radius:12px;background:#fff;padding:.25rem .35rem .35rem}.list-header{display:grid;grid-template-columns:minmax(0,1fr) 140px 90px 88px;gap:1rem;padding:.2rem .6rem .45rem;color:var(--muted);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid rgba(17,24,39,.06)}.list-header-actions{text-align:right}.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding-top:.7rem}.pagination-copy{color:var(--muted);font-size:.88rem;font-weight:600}.drive-list-tight{gap:.55rem}.drive-list,.drive-grid,.list-table{display:grid;gap:0}.drive-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card-grid,.page-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;align-items:start}.storage-card{display:grid;align-content:start;gap:.7rem}.drive-item,.table-row{width:100%;text-align:left;color:var(--ink);border:0;border-bottom:1px solid rgba(17,24,39,.06);border-radius:0;padding:.78rem .6rem;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:none}.drive-item{cursor:pointer;transition:background .12s ease}.drive-item:hover{background:#f8fafce0}.drive-item.active{background:#eff6ffd1;box-shadow:inset 2px 0 #2563ebe6}.drive-item-main,.drive-item-meta,.table-row>div,.table-meta,.meta-list,.action-stack{display:grid;gap:.28rem}.drive-item-meta,.table-meta{justify-items:end;color:var(--muted)}.drive-item-meta{min-width:220px;grid-template-columns:112px 72px auto;align-items:center;gap:.6rem}.drive-item-meta>span{white-space:nowrap;text-align:right}.row-actions{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:.25rem}.row-action-button{opacity:0;pointer-events:none;transition:opacity .12s ease;padding:.24rem .48rem;min-height:30px}.drive-item:hover .row-action-button,.drive-item.active .row-action-button{opacity:1;pointer-events:auto}.item-badge{display:inline-flex;width:fit-content;padding:.18rem .5rem;border-radius:999px;background:#2563eb12;color:var(--accent-strong);font-size:.7rem;font-weight:700}.item-muted{color:var(--muted);font-size:.92rem}.meta-list{margin:.85rem 0}.compact-meta-list{margin:0}.meta-list>div{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.7rem 0;border-bottom:1px solid rgba(15,23,42,.06)}.meta-list>div>span{min-width:0;flex:0 0 auto}.meta-list>div>strong{min-width:0;max-width:58%;text-align:right;overflow-wrap:anywhere;word-break:break-word}.preview-frame{width:100%;min-height:210px;border:1px solid var(--border);border-radius:14px;background:var(--bg-deep);object-fit:cover}.preview-fallback,.detail-empty,.empty-state,.page-loading,.dropzone{display:grid;gap:.8rem;border:1px dashed rgba(15,23,42,.1);border-radius:14px;padding:1rem;background:#f8fafceb}.empty-state-rich{justify-items:start}.empty-state-actions{display:flex;flex-wrap:wrap;gap:.7rem}.detail-panel .section-heading p{margin-top:.2rem}.inspector-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;padding:.78rem;border:1px solid rgba(17,24,39,.06);border-radius:10px;background:#fff;margin:.8rem 0 .7rem}.inspector-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;margin-top:.75rem;padding-bottom:.55rem;border-bottom:1px solid rgba(17,24,39,.06)}.inspector-tab{color:var(--muted);background:transparent;border:1px solid transparent;box-shadow:none;font-weight:600;padding:.48rem .42rem}.inspector-tab.active{color:var(--ink);background:#2563eb14;border-color:#2563eb1a}.detail-tab-panel{margin-top:.75rem}.inspector-hero-main{display:grid;gap:.32rem}.inspector-status-block{min-width:96px;display:grid;gap:.22rem;justify-items:end}.inspector-section{display:grid;gap:.7rem;margin-top:1rem}.inspector-card,.inspector-meta-card{padding:.12rem .72rem;border:1px solid rgba(15,23,42,.06);border-radius:10px;background:#fff}.inspector-chip-row{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.75rem;padding-bottom:.75rem}.inspector-chip{display:inline-flex;align-items:center;padding:.34rem .58rem;border-radius:999px;border:1px solid var(--border);background:#f8fafceb;color:var(--muted);font-size:.78rem;font-weight:600}.action-stack{margin-top:1rem;gap:.4rem}.action-stack button,.action-stack .ghost-button,.action-stack .danger-button{width:100%;justify-content:center}.detail-actions{gap:.2rem}.detail-action-secondary{background:transparent;color:var(--ink);border:1px solid transparent;box-shadow:none}.detail-action-secondary:hover{background:#f8fafceb;box-shadow:none}.artifact-list{margin-top:1.1rem}.artifact-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.66rem 0;border-bottom:1px solid rgba(15,23,42,.06)}.storage-summary-card{display:grid;gap:0}.storage-summary-card>div,.replica-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;padding:.66rem 0;border-bottom:1px solid rgba(15,23,42,.06)}.storage-summary-card>div>span{color:var(--muted);font-size:.82rem;font-weight:700}.storage-summary-card>div>strong{text-align:right}.replica-list{display:grid;gap:0}.replica-row>div{min-width:0;display:grid;gap:.18rem}.replica-row strong{overflow-wrap:anywhere}.replica-warning-card{border-color:#d977062e;background:#fffbebfa}.replica-warning-card strong{display:block;margin-top:.72rem}.replica-warning-card p{margin:.18rem 0 .72rem}.notice-text{color:var(--success)}.error-text{color:var(--danger)}.inline-link{color:var(--accent-strong);font-weight:600}.breadcrumbs{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-top:.45rem}.inline-metrics{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.25rem}.inline-metrics span{display:inline-flex;align-items:center;padding:.22rem .48rem;border:1px solid rgba(15,23,42,.06);border-radius:999px;background:#f8fafce0;color:var(--muted);font-size:.74rem;font-weight:600}.crumb-button,.compact-button{padding:.34rem .58rem;font-size:.84rem}.crumb-button{border-radius:6px}.upload-strip{display:grid;gap:.65rem;margin-bottom:1rem}.upload-pill{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.78rem .95rem;border:1px solid var(--border);border-radius:14px;background:#fffc}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;padding:1.5rem;display:grid;place-items:center;background:#0f172a38;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dialog-card{width:min(520px,100%);padding:1.2rem;border-radius:18px;border:1px solid var(--border);background:var(--surface-strong);box-shadow:var(--shadow)}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.75rem}.dialog-form{display:grid;gap:.85rem}.dialog-form label{display:grid;gap:.35rem;color:var(--muted);font-size:.82rem;font-weight:700}.split-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.storage-toolbar{margin-bottom:1rem;flex-wrap:wrap}.policy-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}.policy-tab{color:var(--ink);background:#fffc;border:1px solid var(--border);box-shadow:none}.policy-tab.active{color:#f8fbff;background:linear-gradient(180deg,#2d6df6 0%,var(--accent-strong) 100%);box-shadow:0 8px 18px #2563eb24}.policy-editor{display:grid;gap:1rem}.policy-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.policy-editor-grid label{display:grid;gap:.35rem;color:var(--muted);font-size:.82rem;font-weight:700}.checkbox-field{display:inline-flex!important;align-items:center;gap:.55rem!important;color:var(--ink)!important}.checkbox-field input{width:18px;height:18px;flex:0 0 auto}.backend-policy-list,.decision-list{display:grid;gap:.65rem}.backend-policy-row,.decision-backend{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.72rem 0;border-bottom:1px solid rgba(15,23,42,.06)}.backend-policy-row>div:first-child,.decision-backend{min-width:0}.backend-policy-row strong,.decision-backend strong{display:block;overflow-wrap:anywhere}.backend-policy-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.7rem}.compact-checkbox{font-size:.82rem;font-weight:700}.decision-backend span{color:var(--muted);font-size:.82rem;font-weight:700}.filter-bar{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:.8rem}.search-shell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem}.toast-stack{position:fixed;left:50%;bottom:1rem;transform:translate(-50%);display:grid;gap:.65rem;z-index:40;justify-items:center}.toast-item{min-width:220px;max-width:360px;padding:.74rem .88rem;border-radius:14px;box-shadow:var(--shadow-soft);border:1px solid var(--border);background:var(--surface-strong)}.menu-popover{position:absolute;top:calc(100% + 8px);right:0;min-width:170px;padding:.35rem;border:1px solid var(--border);border-radius:14px;background:#fffffff5;box-shadow:var(--shadow-soft);display:grid;gap:.25rem;z-index:30}.menu-item{justify-content:flex-start;color:var(--ink);background:transparent;border:0;box-shadow:none;padding:.54rem .66rem}.menu-item:hover{background:#2563eb0f;box-shadow:none}.menu-item.danger{color:var(--danger)}.mono-text{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;display:block;font-size:.78rem;line-height:1.4;overflow-wrap:anywhere;word-break:break-all}.toast-success{border-color:#0f9f6e38}.toast-error{border-color:#dc262638}.tree-root,.tree-children{display:grid;gap:.28rem}.tree-node{display:grid;gap:.14rem}.tree-row{display:flex;align-items:center;gap:.35rem;padding:.12rem 0;border-radius:8px}.tree-row.active{background:#2563eb14}.tree-toggle,.tree-label{padding:.18rem .34rem}.tree-toggle{min-width:28px;border-radius:7px;background:#f8fafcf5}.tree-label{flex:1;text-align:left;background:transparent;font-size:.92rem}.move-picker{display:grid;gap:1rem}.move-tree{border:1px solid var(--border);border-radius:14px;padding:.9rem;background:#f8fafceb}@media(max-width:1100px){.app-shell,.login-page,.uploads-page-grid,.dashboard-page-grid,.files-page-layout,.files-main-shell,.content-grid,.uploads-dropzone{grid-template-columns:1fr}}@media(max-width:720px){.app-shell,.login-page{padding:1rem}.topbar,.panel-toolbar,.summary-strip,.summary-strip-two-up,.summary-strip-four-up,.drive-item,.table-row{flex-direction:column;align-items:stretch}.drive-item-meta,.table-meta{justify-items:start}.filter-bar{grid-template-columns:1fr}.search-shell,.selection-bar{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.list-header{display:none}.drive-item-meta{grid-template-columns:1fr}} +@font-face{font-family:OpenCloud;src:url(/assets/OpenCloud500-Regular.woff2) format("woff2");font-style:normal;font-weight:100 600;font-display:swap}@font-face{font-family:OpenCloud;src:url(/assets/OpenCloud750-Bold.woff2) format("woff2");font-style:normal;font-weight:700 900;font-display:swap}@font-face{font-family:Inter;src:url(/assets/inter.woff2) format("woff2");font-style:oblique 0deg 12deg;font-weight:100 900;font-display:swap}:root{--bg: #f6f8fb;--bg-deep: #eef2f6;--surface: rgba(255, 255, 255, .84);--surface-strong: rgba(255, 255, 255, .98);--surface-soft: rgba(248, 250, 252, .94);--ink: #111827;--muted: #6b7280;--accent: #2563eb;--accent-strong: #1e40af;--success: #0f9f6e;--warning: #d97706;--danger: #dc2626;--border: rgba(17, 24, 39, .08);--border-strong: rgba(17, 24, 39, .12);--shadow: 0 20px 48px rgba(15, 23, 42, .08);--shadow-soft: 0 8px 24px rgba(15, 23, 42, .05)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);background:radial-gradient(circle at top left,rgba(37,99,235,.06),transparent 20%),linear-gradient(180deg,#f8fafc,#f4f7fb 52%,#eef2f6);font-family:Manrope,Segoe UI,Helvetica Neue,Arial,sans-serif;line-height:1.45}button,input,select,textarea,iframe,video{font:inherit}a{color:inherit;text-decoration:none}button{border:1px solid transparent;border-radius:12px;padding:.72rem .95rem;cursor:pointer;color:#f8fbff;background:linear-gradient(180deg,#2d6df6 0%,var(--accent-strong) 100%);box-shadow:0 8px 18px #2563eb24;transition:transform .14s ease,opacity .14s ease,box-shadow .14s ease}button:hover{transform:translateY(-1px);box-shadow:0 10px 20px #2563eb2e}button:disabled{opacity:.6;cursor:wait}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:.78rem .92rem;background:var(--surface-strong);color:var(--ink)}textarea{resize:vertical;min-height:180px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.88rem}.ghost-button{color:var(--ink);background:#fffc;border:1px solid var(--border);box-shadow:none}.danger-button{color:#fff;background:linear-gradient(180deg,#ef4444 0%,var(--danger) 100%);box-shadow:0 10px 22px #dc262624}.eyebrow,.metric-label{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:700;color:var(--muted)}.app-shell{min-height:100vh;display:grid;grid-template-columns:208px minmax(0,1fr);gap:12px;padding:14px;max-width:1480px;margin:0 auto}.sidebar{display:grid;align-content:start;gap:.65rem;padding:.85rem;border:1px solid var(--border);border-radius:20px;background:#ffffffad;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:var(--shadow-soft)}.brand-block{display:grid;gap:.68rem}.brand-block-compact{gap:.2rem}.brand-block h1,.topbar h2,.section-heading h2,.section-heading h3,.panel-toolbar h3{margin:.3rem 0 0}.brand-block h1{font-size:clamp(1.2rem,1.8vw,1.8rem);line-height:1.06;max-width:none;overflow-wrap:anywhere}.brand-block p,.sidebar-card p,.login-hero p,.detail-empty p,.preview-fallback p,.dropzone p{color:var(--muted);line-height:1.5;margin:0}.main-nav{display:grid;gap:.22rem;margin:.1rem 0 .45rem}.nav-link{padding:.6rem .72rem;border-radius:10px;color:var(--ink);font-weight:600;font-size:.95rem}.nav-link.active{background:linear-gradient(180deg,#2563eb1f,#2563eb0a);border:1px solid rgba(37,99,235,.14);color:#0f3ca7}.sidebar-card,.panel,.login-card,.login-hero,.summary-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar-card{padding:.8rem .86rem .9rem;border-radius:16px;margin-top:auto}.workspace{padding:.1rem 0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.1rem .15rem}.topbar h2{font-size:1.35rem;line-height:1.05}.topbar-title{display:grid;gap:.1rem}.topbar-actions,.toolbar-group{display:flex;gap:.55rem;flex-wrap:wrap}.topbar-actions .ghost-button{border-radius:999px;background:#ffffffeb}.workspace-content{margin-top:.9rem;padding-bottom:1.5rem}.login-page{min-height:100vh;display:grid;grid-template-columns:1.15fr minmax(320px,460px);gap:1.5rem;padding:1.5rem}.login-hero,.login-card{border-radius:28px;padding:2rem}.hero-metrics{margin-top:2rem;display:grid;gap:1rem}.hero-metrics article{padding:1rem 1.1rem;border-radius:18px;background:#ffffff85;border:1px solid var(--border)}.stack-form,.stack-page,.uploads-main{display:grid;gap:1rem}.uploads-main{align-content:start}.section-heading{display:grid;gap:.12rem}.panel-toolbar h3,.section-heading h2,.section-heading h3,.files-header h3{line-height:1.15}.content-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.uploads-page-grid{display:grid;grid-template-columns:minmax(0,1.58fr) minmax(280px,.68fr);gap:12px;align-items:start}.dashboard-page-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:12px;align-items:start}.compact-page-shell{width:min(100%,1040px);display:grid;gap:.9rem;margin-right:auto}.compact-page-shell-wide{width:min(100%,1180px)}.summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.summary-strip-two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-strip-four-up{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-card{padding:.8rem .9rem;border-radius:16px}.uploads-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-main-column,.dashboard-side-column,.summary-stack{display:grid;gap:.9rem}.dashboard-main-panel,.dashboard-side-panel{align-content:start}.panel{border-radius:18px;padding:.88rem}.main-panel,.detail-panel,.explorer-panel{background:#ffffffb8}.files-page-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:10px;align-items:stretch;min-height:calc(100vh - 132px)}.files-main-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:0;overflow:hidden;min-height:100%}.files-content-shell{padding:.88rem;min-height:100%;display:grid;align-content:start}.explorer-panel,.detail-panel{min-height:520px}.explorer-panel{padding:.9rem}.uploads-primary-panel{display:grid;gap:1rem}.uploads-dropzone-copy{display:grid;gap:.45rem}.target-folder-panel{display:grid;gap:.75rem;margin:.8rem 0 .9rem}.target-folder-panel label{display:grid;gap:.38rem}.target-folder-panel label span{color:var(--muted);font-size:.82rem}.target-folder-option{justify-content:flex-start;color:var(--ink);background:var(--surface-strong);border:1px solid var(--border);box-shadow:none}.target-folder-option.active{background:var(--oc-role-surface-container);border-color:var(--oc-hairline-strong)}.uploads-queue-section{display:grid;gap:.7rem}.uploads-side-panel{position:sticky;top:16px;align-self:start}.jobs-list-shell{display:grid;gap:0}.jobs-list-header{margin-top:0}.jobs-row-meta{min-width:220px;grid-template-columns:88px 52px auto;align-items:center;gap:.7rem}.status-chip{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:.24rem .5rem;border-radius:999px;border:1px solid rgba(15,23,42,.08);background:#f8fafceb;color:var(--muted);font-size:.76rem;font-weight:700}.status-chip-success{color:var(--success);border-color:#0f9f6e29;background:#ecfdf5eb}.storage-status-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.5rem}.storage-actions{margin-top:auto}.detail-panel{position:sticky;top:16px;align-self:start;padding:.75rem;min-height:100%;display:grid;align-content:start}.panel-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem}.compact-toolbar{align-items:center}.files-header{display:grid;gap:.18rem}.directory-title-row{min-height:34px;display:flex;align-items:center;gap:.55rem}.directory-title-row h2{margin:0;font-size:1.12rem;line-height:1.1}.directory-back-button{width:32px;height:32px;display:inline-grid;place-items:center;padding:0;color:var(--ink);background:transparent;border:1px solid var(--border);box-shadow:none;font-size:1.6rem;line-height:1}.files-command-bar{align-items:center;justify-content:flex-end}.files-toolbar{display:grid;gap:.7rem;margin:.72rem 0 .82rem}.list-surface{border:1px solid var(--border);border-radius:12px;background:#fff;padding:.25rem .35rem .35rem}.list-header{display:grid;grid-template-columns:minmax(0,1fr) 140px 90px 88px;gap:1rem;padding:.2rem .6rem .45rem;color:var(--muted);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid rgba(17,24,39,.06)}.list-header-actions{text-align:right}.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.8rem}.pagination-bar-full{flex-wrap:wrap}.pagination-copy{color:var(--muted);font-size:.88rem;font-weight:400;white-space:nowrap}.pagination-controls,.pagination-size-control{display:flex;align-items:center;gap:.5rem}.pagination-controls{flex-wrap:wrap;justify-content:flex-end}.pagination-page-list{display:flex;align-items:center;gap:.42rem}.pagination-size-control{color:var(--oc-text-muted-soft);font-size:.82rem}.pagination-select{width:auto;min-width:118px;min-height:34px;padding:.28rem 1.9rem .28rem .55rem}.pagination-page-button,.pagination-ellipsis{width:34px;height:34px;min-height:34px;display:inline-grid;place-items:center;padding:0;border-radius:5px;font-size:.92rem;line-height:1}.pagination-page-button{color:var(--oc-text-soft);background:var(--oc-role-surface);border:1px solid var(--oc-hairline-strong);box-shadow:none}.pagination-page-button:hover{background:var(--oc-role-surface-container);box-shadow:none;transform:none}.pagination-page-button.active{color:var(--oc-role-primary);border-color:color-mix(in srgb,var(--oc-role-primary) 74%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--oc-role-primary) 50%,transparent);background:color-mix(in srgb,var(--oc-role-primary-container) 24%,var(--oc-role-surface))}.pagination-page-button:disabled{color:color-mix(in srgb,var(--oc-text-muted-soft) 58%,transparent);background:color-mix(in srgb,var(--oc-role-surface-container) 55%,var(--oc-role-surface));cursor:default;opacity:1}.pagination-arrow-button{font-size:1.28rem;padding-bottom:.12rem}.pagination-ellipsis{color:var(--oc-text-soft);border:1px solid var(--oc-hairline);background:var(--oc-role-surface)}.drive-list-tight{gap:.55rem}.drive-list,.drive-grid,.list-table{display:grid;gap:0}.drive-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card-grid,.page-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;align-items:start}.storage-card{display:grid;align-content:start;gap:.7rem}.drive-item,.table-row{width:100%;text-align:left;color:var(--ink);border:0;border-bottom:1px solid rgba(17,24,39,.06);border-radius:0;padding:.78rem .6rem;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:none}.drive-item{cursor:pointer;transition:background .12s ease}.drive-item:hover{background:#f8fafce0}.drive-item.active{background:#eff6ffd1;box-shadow:inset 2px 0 #2563ebe6}.drive-item-main,.drive-item-meta,.table-row>div,.table-meta,.meta-list,.action-stack{display:grid;gap:.28rem}.drive-item-meta,.table-meta{justify-items:end;color:var(--muted)}.drive-item-meta{min-width:220px;grid-template-columns:112px 72px auto;align-items:center;gap:.6rem}.drive-item-meta>span{white-space:nowrap;text-align:right}.row-actions{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:.25rem}.row-action-button{opacity:0;pointer-events:none;transition:opacity .12s ease;padding:.24rem .48rem;min-height:30px}.item-badge{display:inline-flex;width:fit-content;padding:.18rem .5rem;border-radius:999px;background:#2563eb12;color:var(--accent-strong);font-size:.7rem;font-weight:700}.item-muted{color:var(--muted);font-size:.92rem}.meta-list{margin:.85rem 0}.compact-meta-list{margin:0}.meta-list>div{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.7rem 0;border-bottom:1px solid rgba(15,23,42,.06)}.meta-list>div>span{min-width:0;flex:0 0 auto}.meta-list>div>strong{min-width:0;max-width:58%;text-align:right;overflow-wrap:anywhere;word-break:break-word}.preview-frame{width:100%;min-height:210px;border:1px solid var(--border);border-radius:14px;background:var(--bg-deep);object-fit:contain}.image-preview-frame{max-height:360px;background:color-mix(in srgb,var(--oc-role-surface-container) 55%,var(--oc-role-surface))}.text-preview-frame{max-height:360px;min-height:180px;overflow:auto;margin:0;padding:.75rem;color:var(--oc-text-soft);background:color-mix(in srgb,var(--oc-role-surface-container) 50%,var(--oc-role-surface));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.78rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.pdf-preview-card{align-items:start}.pdf-preview-card .resource-icon{width:32px;height:38px}.preview-actions{display:flex;flex-wrap:wrap;gap:.45rem}.preview-fallback,.detail-empty,.empty-state,.page-loading,.dropzone{display:grid;gap:.8rem;border:1px dashed rgba(15,23,42,.1);border-radius:14px;padding:1rem;background:#f8fafceb}.empty-state-rich{justify-items:start}.empty-state-actions{display:flex;flex-wrap:wrap;gap:.7rem}.detail-panel .section-heading p{margin-top:.2rem}.inspector-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;padding:.78rem;border:1px solid rgba(17,24,39,.06);border-radius:10px;background:#fff;margin:.8rem 0 .7rem}.inspector-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;margin-top:.75rem;padding-bottom:.55rem;border-bottom:1px solid rgba(17,24,39,.06)}.inspector-tab{color:var(--muted);background:transparent;border:1px solid transparent;box-shadow:none;font-weight:600;padding:.48rem .42rem}.inspector-tab.active{color:var(--ink);background:#2563eb14;border-color:#2563eb1a}.detail-tab-panel{margin-top:.75rem}.inspector-hero-main{display:grid;gap:.32rem}.inspector-status-block{min-width:96px;display:grid;gap:.22rem;justify-items:end}.inspector-section{display:grid;gap:.7rem;margin-top:1rem}.inspector-card,.inspector-meta-card{padding:.12rem .72rem;border:1px solid rgba(15,23,42,.06);border-radius:10px;background:#fff}.inspector-chip-row{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.75rem;padding-bottom:.75rem}.inspector-chip{display:inline-flex;align-items:center;padding:.34rem .58rem;border-radius:999px;border:1px solid var(--border);background:#f8fafceb;color:var(--muted);font-size:.78rem;font-weight:600}.action-stack{margin-top:1rem;gap:.4rem}.action-stack button,.action-stack .ghost-button,.action-stack .danger-button{width:100%;justify-content:center}.artifact-list{margin-top:1.1rem}.artifact-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.66rem 0;border-bottom:1px solid rgba(15,23,42,.06)}.storage-summary-card{display:grid;gap:0}.storage-summary-card>div,.replica-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;padding:.66rem 0;border-bottom:1px solid rgba(15,23,42,.06)}.storage-summary-card>div>span{color:var(--muted);font-size:.82rem;font-weight:700}.storage-summary-card>div>strong{text-align:right}.replica-list{display:grid;gap:0}.replica-row>div{min-width:0;display:grid;gap:.18rem}.replica-row strong{overflow-wrap:anywhere}.replica-warning-card{border-color:#d977062e;background:#fffbebfa}.replica-warning-card strong{display:block;margin-top:.72rem}.replica-warning-card p{margin:.18rem 0 .72rem}.notice-text{color:var(--success)}.error-text{color:var(--danger)}.inline-link{color:var(--accent-strong);font-weight:600}.inline-metrics{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.25rem}.inline-metrics span{display:inline-flex;align-items:center;padding:.22rem .48rem;border:1px solid rgba(15,23,42,.06);border-radius:999px;background:#f8fafce0;color:var(--muted);font-size:.74rem;font-weight:600}.compact-button{padding:.34rem .58rem;font-size:.84rem}.upload-strip{display:grid;gap:.65rem;margin-bottom:1rem}.upload-pill{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.78rem .95rem;border:1px solid var(--border);border-radius:14px;background:#fffc}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;padding:1.5rem;display:grid;place-items:center;background:#0f172a38;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dialog-card{width:min(520px,100%);padding:1.2rem;border-radius:18px;border:1px solid var(--border);background:var(--surface-strong);box-shadow:var(--shadow)}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.75rem}.dialog-form{display:grid;gap:.85rem}.dialog-form label{display:grid;gap:.35rem;color:var(--muted);font-size:.82rem;font-weight:700}.split-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.storage-toolbar{margin-bottom:1rem;flex-wrap:wrap}.policy-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}.policy-tab{color:var(--ink);background:#fffc;border:1px solid var(--border);box-shadow:none}.policy-tab.active{color:#f8fbff;background:linear-gradient(180deg,#2d6df6 0%,var(--accent-strong) 100%);box-shadow:0 8px 18px #2563eb24}.policy-editor{display:grid;gap:1rem}.policy-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.policy-editor-grid label{display:grid;gap:.35rem;color:var(--muted);font-size:.82rem;font-weight:700}.checkbox-field{display:inline-flex!important;align-items:center;gap:.55rem!important;color:var(--ink)!important}.checkbox-field input{width:18px;height:18px;flex:0 0 auto}.backend-policy-list,.decision-list{display:grid;gap:.65rem}.backend-policy-row,.decision-backend{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.72rem 0;border-bottom:1px solid rgba(15,23,42,.06)}.backend-policy-row>div:first-child,.decision-backend{min-width:0}.backend-policy-row strong,.decision-backend strong{display:block;overflow-wrap:anywhere}.backend-policy-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.7rem}.compact-checkbox{font-size:.82rem;font-weight:700}.decision-backend span{color:var(--muted);font-size:.82rem;font-weight:700}.filter-bar{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:.8rem}.search-shell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem}.toast-stack{position:fixed;left:50%;bottom:1rem;transform:translate(-50%);display:grid;gap:.65rem;z-index:40;justify-items:center}.toast-item{min-width:220px;max-width:360px;padding:.74rem .88rem;border-radius:14px;box-shadow:var(--shadow-soft);border:1px solid var(--border);background:var(--surface-strong)}.menu-popover{position:absolute;top:calc(100% + 8px);right:0;min-width:170px;padding:.35rem;border:1px solid var(--border);border-radius:14px;background:#fffffff5;box-shadow:var(--shadow-soft);display:grid;gap:.25rem;z-index:80}.menu-item{justify-content:flex-start;color:var(--ink);background:transparent;border:0;box-shadow:none;padding:.54rem .66rem}.menu-item:hover{background:#2563eb0f;box-shadow:none}.menu-item.danger{color:var(--danger)}.mono-text{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;display:block;font-size:.78rem;line-height:1.4;overflow-wrap:anywhere;word-break:break-all}.toast-success{border-color:#0f9f6e38}.toast-error{border-color:#dc262638}.move-picker{display:grid;gap:1rem}@media(max-width:1100px){.app-shell,.login-page,.uploads-page-grid,.dashboard-page-grid,.files-page-layout,.files-main-shell,.content-grid,.uploads-dropzone{grid-template-columns:1fr}}@media(max-width:720px){.app-shell,.login-page{padding:1rem}.topbar,.panel-toolbar,.summary-strip,.summary-strip-two-up,.summary-strip-four-up,.drive-item,.table-row{flex-direction:column;align-items:stretch}.drive-item-meta,.table-meta{justify-items:start}.filter-bar{grid-template-columns:1fr}.search-shell,.selection-bar{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.list-header{display:none}.drive-item-meta{grid-template-columns:1fr}}:root{--oc-role-background: #ffffff;--oc-role-chrome: #20434f;--oc-role-on-chrome: #ffffff;--oc-role-primary: #00677f;--oc-role-on-primary: #ffffff;--oc-role-primary-container: #b7eaff;--oc-role-secondary: #20434f;--oc-role-secondary-container: #cfe6f1;--oc-role-surface: #ffffff;--oc-role-surface-container: #f6f8fa;--oc-role-surface-container-high: #f2f4f5;--oc-role-surface-container-highest: #eceef0;--oc-role-on-surface: #191c1d;--oc-role-on-surface-variant: #40484c;--oc-role-outline: #70787c;--oc-role-outline-variant: #bfc8cc;--oc-role-error: #ba1a1a;--oc-color-icon-folder: #4d7eaf;--oc-color-icon-document: #3b44a6;--oc-color-icon-pdf: #ec0d47;--oc-color-icon-spreadsheet: #15c286;--oc-color-icon-presentation: #ee6b3b;--oc-color-icon-image: #ee6b3b;--oc-color-icon-archive: #fbbe54;--oc-color-icon-video: #045459;--oc-color-icon-file: #171c1f;--bg: var(--oc-role-background);--bg-deep: var(--oc-role-surface-container);--surface: var(--oc-role-surface);--surface-strong: var(--oc-role-surface);--surface-soft: var(--oc-role-surface-container);--ink: var(--oc-role-on-surface);--muted: var(--oc-role-on-surface-variant);--accent: var(--oc-role-primary);--accent-strong: var(--oc-role-secondary);--border: color-mix(in srgb, var(--oc-role-outline-variant) 72%, transparent);--border-strong: color-mix(in srgb, var(--oc-role-outline) 45%, transparent);--shadow: 0 14px 36px rgba(25, 28, 29, .14);--shadow-soft: 0 8px 18px rgba(25, 28, 29, .08)}body{background:var(--oc-role-background);font-family:Inter,Segoe UI,Helvetica Neue,Arial,sans-serif;color:var(--oc-role-on-surface)}button{border-radius:5px;padding:.45rem .68rem;background:var(--oc-role-secondary);color:var(--oc-role-on-chrome);box-shadow:none;transition:background .14s ease,color .14s ease,opacity .14s ease}button:hover{transform:none;background:#163540;box-shadow:none}input,select,textarea{border-radius:5px;border-color:var(--oc-role-outline-variant);background:var(--oc-role-surface)}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--oc-role-primary);outline-offset:2px}.app-frame{min-height:100vh;display:flex;flex-direction:column;background:var(--oc-role-background)}.oc-topbar{min-height:52px;display:grid;grid-template-columns:minmax(180px,230px) minmax(0,1fr) auto;align-items:center;gap:1.5rem;padding:.25rem 1rem;background:var(--oc-role-chrome);color:var(--oc-role-on-chrome);position:relative;z-index:20}.topbar-brand,.topbar-actions,.brand-lockup,.nav-link,.drive-item-main{display:flex;align-items:center}.topbar-brand{gap:.85rem;min-width:0}.brand-lockup{gap:.45rem;font-size:1rem;min-width:0}.brand-symbol{width:22px;height:22px;display:inline-grid;place-items:center;border:1px solid rgba(255,255,255,.52);color:#dcb7ff;border-radius:5px;font-weight:800;line-height:1}.app-switcher-button{width:32px;height:32px;display:grid;grid-template-columns:repeat(3,4px);place-content:center;gap:3px;padding:0;border:0;background:transparent}.app-switcher-button span{width:4px;height:4px;border-radius:1px;background:currentColor}.app-switcher-button:hover,.chrome-button:hover,.user-chip:hover{background:#ffffff1f}.topbar-center{display:flex;justify-content:center;min-width:0}.topbar-search{width:min(560px,100%);min-height:32px;display:flex;align-items:center;gap:.6rem;padding:0 .65rem 0 .9rem;border-radius:999px;color:var(--oc-role-on-surface-variant);background:var(--oc-role-surface);font-size:.9rem;font-weight:600;box-shadow:0 0 0 2px #b7eaff59}.topbar-search input{min-width:0;height:30px;flex:1;padding:0;border:0;background:transparent;color:var(--oc-role-on-surface);outline:none}.topbar-search input[readonly]{cursor:default}.topbar-search:focus-within{box-shadow:0 0 0 2px #93d2eeb3}.topbar-search input::placeholder{color:var(--oc-role-on-surface);opacity:.86}.topbar-search-scope{white-space:nowrap;font-size:.78rem;color:var(--oc-role-on-surface)}.topbar-search-icon{width:17px;height:17px;flex:0 0 auto;border:2px solid var(--oc-role-on-surface);border-radius:999px;position:relative}.topbar-search-icon:after{content:"";position:absolute;right:-5px;bottom:-4px;width:7px;height:2px;border-radius:999px;background:var(--oc-role-on-surface);transform:rotate(45deg)}.topbar-actions{justify-content:flex-end;gap:.7rem}.chrome-button,.user-chip{color:var(--oc-role-on-chrome);background:transparent;border:1px solid rgba(255,255,255,.24)}.user-chip{width:32px;height:32px;border-radius:999px;padding:0;font-weight:800}.app-shell{flex:1;min-height:0;max-width:none;margin:0;padding:.5rem;display:grid;grid-template-columns:230px minmax(0,1fr);gap:0;background:var(--oc-role-surface-container)}.sidebar{gap:.7rem;padding:.75rem .5rem .9rem;border:0;border-radius:12px 0 0 12px;background:var(--oc-role-surface-container);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.brand-block{padding:0 .7rem}.brand-block h1{font-size:1rem;line-height:1.15}.eyebrow,.metric-label{letter-spacing:0;text-transform:none;font-size:.8rem;color:var(--oc-role-on-surface-variant)}.main-nav{gap:.12rem;margin-top:.2rem}.nav-link{gap:.6rem;min-height:36px;padding:.45rem .72rem;border-radius:5px;font-size:.94rem;font-weight:700;color:var(--oc-role-on-surface)}.nav-link:hover{background:var(--oc-role-surface)}.nav-link.active{background:var(--oc-role-surface);border:0;color:var(--oc-role-on-surface)}.nav-icon{width:16px;height:16px;flex:0 0 auto;display:inline-block;border-radius:3px;background:var(--oc-role-secondary);position:relative}.nav-icon-files,.nav-icon-trash{border-radius:2px}.nav-icon-files:before{content:"";position:absolute;top:-3px;left:1px;width:8px;height:5px;border-radius:2px 2px 0 0;background:var(--oc-role-secondary)}.nav-icon-uploads{clip-path:polygon(50% 0,100% 42%,70% 42%,70% 100%,30% 100%,30% 42%,0 42%)}.nav-icon-trash{background:transparent;border:2px solid var(--oc-role-secondary);border-top-width:4px}.nav-icon-storage{border-radius:999px}.nav-icon-policies{background:transparent;border:2px solid var(--oc-role-secondary)}.nav-icon-jobs{background:linear-gradient(to bottom,var(--oc-role-secondary) 0 22%,transparent 22% 39%,var(--oc-role-secondary) 39% 61%,transparent 61% 78%,var(--oc-role-secondary) 78% 100%)}.sidebar-card{margin:auto .7rem 0;padding:.72rem;border-radius:5px;background:var(--oc-role-surface);border-color:var(--oc-role-outline-variant);box-shadow:none}.sidebar-footer{margin:auto .7rem 0;display:grid;gap:.1rem;color:var(--oc-role-on-surface-variant);font-size:.74rem;line-height:1.25}.sidebar-footer span:first-child{color:var(--oc-role-on-surface);font-weight:700}.workspace{min-width:0;padding:0;background:var(--oc-role-surface);border:1px solid var(--oc-role-outline-variant);border-radius:12px;overflow:hidden}.workspace>.topbar{display:none}.topbar{padding:.75rem 1rem .35rem}.topbar h2{font-size:1.2rem}.workspace-content{margin-top:0;padding:0}.compact-page-shell{width:100%;max-width:none;padding:1rem;margin:0}.dashboard-page-grid,.uploads-page-grid{gap:0;grid-template-columns:minmax(0,1fr) 300px}.uploads-page-grid{grid-template-columns:minmax(0,1fr) 350px}.dashboard-main-panel,.dashboard-side-panel,.uploads-primary-panel,.storage-card{border-radius:0;border-width:0;box-shadow:none}.dashboard-main-panel,.uploads-primary-panel{padding:0 .85rem 0 0}.dashboard-side-column,.uploads-page-grid>aside,.uploads-page-grid>.section-heading{border-left:1px solid var(--oc-role-outline-variant)}.dashboard-side-panel{padding:0 .75rem}.uploads-page-grid>aside,.uploads-page-grid>.section-heading{padding-left:.75rem}.summary-strip{gap:.45rem;margin:.45rem 0 .85rem}.summary-card{min-height:48px;padding:.55rem .7rem;border-radius:5px;background:var(--oc-role-surface)}.panel,.summary-card,.login-card,.login-hero,.sidebar-card{border-radius:5px;background:var(--oc-role-surface);border-color:var(--oc-role-outline-variant);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.panel-toolbar button,.files-command-bar button,.action-stack button,.dialog-actions button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:36px}.button-glyph{width:18px;height:18px;flex:0 0 auto;display:inline-block;position:relative}.button-glyph-plus:before,.button-glyph-plus:after{content:"";position:absolute;left:50%;top:50%;width:15px;height:2px;border-radius:999px;background:currentColor;transform:translate(-50%,-50%)}.button-glyph-plus:after{width:2px;height:15px}.button-glyph-upload{border-bottom:2px solid currentColor}.button-glyph-upload:before{content:"";position:absolute;left:50%;top:1px;width:10px;height:10px;border-left:2px solid currentColor;border-top:2px solid currentColor;transform:translate(-50%) rotate(45deg)}.button-glyph-upload:after{content:"";position:absolute;left:50%;top:5px;width:2px;height:10px;border-radius:999px;background:currentColor;transform:translate(-50%)}.main-panel,.detail-panel,.explorer-panel{background:var(--oc-role-surface)}.files-page-layout{gap:0;min-height:calc(100vh - 68px);grid-template-columns:minmax(0,1fr) 300px}.files-main-shell{grid-template-columns:minmax(0,1fr);border:0;border-radius:0}.ghost-button,.policy-tab{color:var(--oc-role-on-surface);background:transparent;border-color:var(--oc-role-outline-variant);box-shadow:none}.ghost-button:hover,.policy-tab:hover{background:var(--oc-role-surface-container-high)}.files-content-shell{padding:1rem .85rem}.panel-toolbar{align-items:center}.files-toolbar-top{align-items:start}.files-header{gap:.35rem}.files-header .eyebrow{color:var(--oc-role-on-surface);font-size:.92rem;font-weight:800}.files-toolbar{margin:.15rem 0 .65rem;display:flex;justify-content:flex-end}.filter-bar{width:auto;display:flex;justify-content:flex-end;grid-template-columns:none}.files-toolbar .input-select{width:190px}.list-surface{border-radius:5px;border-color:var(--oc-role-outline-variant);padding:0;overflow:visible}.list-header{min-height:34px;align-items:center;padding:.35rem .7rem;color:var(--oc-role-on-surface-variant);background:var(--oc-role-surface);border-bottom-color:var(--oc-role-outline-variant);text-transform:none;letter-spacing:0;font-size:.82rem}.drive-list-tight{gap:0}.drive-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.75rem;padding:.75rem;background:var(--oc-role-surface-container)}.drive-grid .drive-item{min-height:150px;flex-direction:column;align-items:stretch;border:1px solid var(--oc-role-outline-variant);border-radius:5px;background:var(--oc-role-surface)}.drive-grid .drive-item-main{min-height:86px}.drive-item,.table-row{min-height:40px;padding:.36rem .7rem;border-bottom-color:var(--oc-role-outline-variant);background:var(--oc-role-surface)}.drive-item:hover{background:var(--oc-role-surface-container)}.drive-item.active{background:var(--oc-role-secondary-container);box-shadow:inset 3px 0 0 var(--oc-role-secondary)}.drive-item-main{min-width:0;flex:1;gap:.65rem}.resource-name-stack{min-width:0;display:grid;gap:.1rem}.resource-name-stack strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drive-item-meta{grid-template-columns:124px 76px auto;min-width:250px;color:var(--oc-role-on-surface-variant);font-size:.86rem}.item-muted{font-size:.82rem}.item-badge{color:var(--oc-role-on-surface-variant);background:var(--oc-role-surface-container);border:1px solid var(--oc-role-outline-variant);border-radius:5px;font-size:.68rem;margin-left:auto;text-transform:uppercase}.resource-icon{width:24px;height:28px;flex:0 0 auto;display:inline-grid;place-items:center;border-radius:3px;color:#fff;background:var(--oc-color-icon-file);font-size:.54rem;font-weight:800;line-height:1;position:relative}.resource-icon-folder{width:30px;height:22px;margin-top:3px;background:var(--oc-color-icon-folder);border-radius:3px}.resource-icon-folder:before{content:"";position:absolute;top:-5px;left:2px;width:13px;height:7px;border-radius:3px 3px 0 0;background:var(--oc-color-icon-folder)}.resource-icon-pdf{background:var(--oc-color-icon-pdf)}.resource-icon-image,.resource-icon-presentation{background:var(--oc-color-icon-image)}.resource-icon-document{background:var(--oc-color-icon-document)}.resource-icon-spreadsheet{background:var(--oc-color-icon-spreadsheet)}.resource-icon-archive{background:var(--oc-color-icon-archive);color:var(--oc-role-on-surface)}.resource-icon-video{background:var(--oc-color-icon-video)}.row-action-button{min-height:28px;padding:.22rem .42rem;border-radius:5px}.detail-panel{top:0;border:0;border-left:1px solid var(--oc-role-outline-variant);border-radius:0;min-height:100%;padding:1rem .75rem}.inspector-hero,.inspector-card,.inspector-meta-card,.preview-frame,.preview-fallback,.detail-empty,.empty-state,.dropzone{border-radius:5px;border-color:var(--oc-role-outline-variant);background:var(--oc-role-surface-container)}.inspector-tab.active,.policy-tab.active{color:var(--oc-role-on-surface);background:var(--oc-role-secondary-container);border-color:var(--oc-role-outline-variant);box-shadow:none}.status-chip,.inline-metrics span,.inspector-chip{border-radius:5px;background:var(--oc-role-surface-container);border-color:var(--oc-role-outline-variant)}.dialog-backdrop{background:#191c1d6b;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:50}.dialog-card,.menu-popover,.toast-item{border-radius:5px;border-color:var(--oc-role-outline-variant);background:var(--oc-role-surface)}.menu-item:hover{background:var(--oc-role-surface-container)}body{font-family:OpenCloud,Inter,Segoe UI,Helvetica Neue,Arial,sans-serif;font-size:15px;font-weight:400;letter-spacing:0;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}button,input,select,textarea{font-family:inherit;font-weight:400}strong,.brand-lockup,.brand-block h1,.files-header .eyebrow,.section-heading h2,.section-heading h3,.panel-toolbar h3,.inspector-hero strong,.detail-empty h3,.empty-state h3,.dropzone h3{font-weight:600}.eyebrow,.metric-label,.list-header,.item-badge,.status-chip,.inline-metrics span,.inspector-chip{font-weight:500}.app-shell{padding:.48rem}.workspace{border-color:color-mix(in srgb,var(--oc-role-outline-variant) 82%,transparent)}.sidebar{padding-top:.95rem}.brand-block h1{font-size:1.08rem;font-weight:600}.nav-link{min-height:38px;padding:.48rem .75rem;font-size:.96rem;font-weight:500}.nav-icon{width:18px;height:18px}.sidebar-footer{font-size:.76rem}.sidebar-footer span:first-child{font-weight:600}.topbar-search{min-height:34px;width:min(590px,100%);padding-left:.95rem;font-size:.93rem;font-weight:400;box-shadow:0 0 0 2px color-mix(in srgb,var(--oc-role-primary) 20%,transparent)}.topbar-search input{font-weight:400}.topbar-search-scope{font-size:.8rem;font-weight:500}.topbar-search-icon{width:16px;height:16px;border-width:2px}.chrome-button,.user-chip{min-height:34px;font-weight:500}.panel-toolbar button,.files-command-bar button,.action-stack button,.dialog-actions button,.row-action-button,.policy-tab,.input-select{min-height:38px;border-radius:5px;font-size:.96rem;font-weight:400}.primary-button,.files-command-bar .primary-button,.dialog-actions .primary-button{font-weight:500}.ghost-button,.policy-tab,.row-action-button{color:var(--oc-text-soft);border-color:color-mix(in srgb,var(--oc-role-outline) 34%,transparent);background:var(--oc-role-surface)}.ghost-button:hover,.row-action-button:hover,.policy-tab:hover{background:var(--oc-role-surface-container)}.button-glyph{width:16px;height:16px}.button-glyph-plus:before{width:13px;height:2px}.button-glyph-plus:after{width:2px;height:13px}.button-glyph-upload{border-bottom-width:1.8px}.button-glyph-upload:before{width:9px;height:9px;border-left-width:1.8px;border-top-width:1.8px}.button-glyph-upload:after{width:1.8px;height:9px}.files-content-shell{padding:1.15rem 1rem}.files-header .eyebrow{font-size:1.02rem}.inline-metrics{gap:.42rem}.inline-metrics span,.item-badge,.status-chip,.inspector-chip{border-color:color-mix(in srgb,var(--oc-role-outline) 32%,transparent);background:color-mix(in srgb,var(--oc-role-surface-container) 62%,var(--oc-role-surface))}.list-surface{border-color:color-mix(in srgb,var(--oc-role-outline) 32%,transparent)}.list-header{min-height:36px;padding:.45rem .8rem;font-size:.82rem;color:color-mix(in srgb,var(--oc-role-on-surface) 78%,transparent)}.drive-item,.table-row{min-height:56px;padding:.55rem .8rem;border-bottom-color:color-mix(in srgb,var(--oc-role-outline-variant) 72%,transparent)}.drive-item-main{gap:.72rem}.resource-name-stack{gap:.05rem}.resource-name-stack strong{font-size:.98rem;font-weight:500}.item-muted,.drive-item-meta{color:color-mix(in srgb,var(--oc-role-on-surface) 72%,transparent)}.drive-item.active{background:color-mix(in srgb,var(--oc-role-secondary-container) 70%,var(--oc-role-surface));box-shadow:none}.resource-icon{width:25px;height:30px;font-size:.5rem;font-weight:600}.resource-icon-folder{width:32px;height:24px}.resource-icon-folder:before{top:-5px;width:14px}.detail-panel{padding:1.1rem .9rem}.detail-panel h3,.dashboard-side-panel h3,.section-heading h2,.section-heading h3{font-size:1.08rem;line-height:1.25}.inspector-tabs{gap:.35rem}.inspector-tab,.policy-tab{font-weight:500}.inspector-card,.inspector-meta-card,.detail-empty,.empty-state,.dropzone{background:color-mix(in srgb,var(--oc-role-surface-container) 50%,var(--oc-role-surface));border-color:color-mix(in srgb,var(--oc-role-outline) 30%,transparent)}.summary-card{min-height:54px;padding:.66rem .78rem;border-color:color-mix(in srgb,var(--oc-role-outline) 30%,transparent)}.summary-card strong,.metric-value{font-weight:600}.dashboard-main-panel,.uploads-primary-panel{padding-right:1rem}.dashboard-side-panel,.uploads-page-grid>aside,.uploads-page-grid>.section-heading{padding-left:1rem}.backend-card,.job-list,.policy-editor,.storage-card{border-color:color-mix(in srgb,var(--oc-role-outline) 30%,transparent)}.toast-item{border-radius:6px;font-weight:400;box-shadow:0 8px 20px #191c1d14}@media(max-width:720px){.drive-item{overflow:hidden;gap:.5rem}.drive-item-main{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem}.resource-name-stack{min-width:0}.item-badge{margin-left:0;justify-self:end;max-width:64px;overflow:hidden;text-overflow:ellipsis}.drive-item-meta{width:100%;min-width:0;grid-template-columns:auto auto;justify-content:start;gap:.8rem;padding-left:42px}.drive-item-meta>span{text-align:left}.drive-item:not(.active) .row-actions{display:none}.drive-item.active .drive-item-meta{grid-template-columns:auto auto auto}.row-actions{justify-content:flex-start;flex-wrap:wrap}.row-action-button{min-height:34px;padding:.24rem .5rem}}@media(max-width:1100px){.oc-topbar{grid-template-columns:auto minmax(0,1fr) auto}.app-shell{grid-template-columns:1fr}.sidebar{border-radius:12px 12px 0 0}}@media(max-width:720px){.oc-topbar{grid-template-columns:1fr auto}.topbar-center{display:none}.app-shell{padding:0}.workspace{border-radius:0;border-left:0;border-right:0}.workspace-content{padding:.45rem 1rem 1rem}.files-page-layout,.files-main-shell,.dashboard-page-grid,.uploads-page-grid,.content-grid{grid-template-columns:1fr}.panel-toolbar,.files-toolbar-top{flex-direction:column;align-items:stretch}.files-command-bar,.toolbar-group{justify-content:flex-start}.filter-bar,.search-shell{grid-template-columns:1fr}.drive-item-main{align-items:flex-start}.drive-item-meta{min-width:0}.detail-panel{border-left:0;border-top:1px solid var(--oc-role-outline-variant)}}:root{--oc-hairline: color-mix(in srgb, var(--oc-role-outline-variant) 46%, transparent);--oc-hairline-strong: color-mix(in srgb, var(--oc-role-outline) 22%, transparent);--oc-text-soft: color-mix(in srgb, var(--oc-role-on-surface) 78%, transparent);--oc-text-muted-soft: color-mix(in srgb, var(--oc-role-on-surface-variant) 74%, transparent)}body{font-size:14.5px;font-weight:350}strong,.brand-lockup,.brand-block h1,.files-header .eyebrow,.section-heading h2,.section-heading h3,.panel-toolbar h3,.inspector-hero strong,.detail-empty h3,.empty-state h3,.dropzone h3,.summary-card strong,.metric-value,.resource-name-stack strong{font-weight:500}.eyebrow,.metric-label,.list-header,.item-badge,.status-chip,.inline-metrics span,.inspector-chip,.topbar-search-scope,.nav-link,.sidebar-footer span:first-child{font-weight:400}.brand-block h1,.files-header .eyebrow,.nav-link{color:var(--oc-text-soft)}.nav-link.active{background:color-mix(in srgb,var(--oc-role-surface) 86%,var(--oc-role-surface-container))}.workspace{border-color:var(--oc-hairline)}.files-content-shell{padding:1.28rem 1rem 1.4rem}.files-toolbar-top{margin-bottom:.28rem}.files-toolbar{margin:.42rem 0 1.05rem}.files-command-bar{gap:.56rem}.panel-toolbar button,.files-command-bar button,.action-stack button,.dialog-actions button,.row-action-button,.policy-tab,.input-select{min-height:38px;border-color:var(--oc-hairline-strong);color:var(--oc-text-soft)}.primary-button,.files-command-bar .primary-button,.dialog-actions .primary-button,.chrome-button{color:var(--oc-role-on-chrome)}.inline-metrics span,.item-badge,.status-chip,.inspector-chip{border-color:var(--oc-hairline-strong);color:var(--oc-text-muted-soft)}.list-surface{border-color:var(--oc-hairline)}.list-header{min-height:38px;padding:.5rem .85rem;border-bottom-color:var(--oc-hairline);color:var(--oc-text-muted-soft)}.drive-item,.table-row{min-height:50px;padding:.48rem .85rem;border-bottom-color:var(--oc-hairline)}.drive-item-main{gap:.82rem}.resource-name-stack strong{color:var(--oc-text-soft);font-size:.98rem}.drive-list-tight .resource-icon{width:30px;height:30px}.item-muted,.drive-item-meta,.table-meta{color:var(--oc-text-muted-soft)}.drive-item.active{background:color-mix(in srgb,var(--oc-role-primary-container) 46%,var(--oc-role-surface))}.detail-panel{border-left-color:var(--oc-hairline);padding:1.25rem 1rem}.inspector-card,.inspector-meta-card,.detail-empty,.empty-state,.dropzone,.summary-card,.backend-card,.job-list,.policy-editor,.storage-card{border-color:var(--oc-hairline)}.summary-strip{gap:.68rem;margin:.7rem 0 1.2rem}.summary-card{min-height:60px;padding:.74rem .82rem}.dashboard-main-panel,.uploads-primary-panel{padding-right:1.22rem}.dashboard-side-panel,.uploads-page-grid>aside,.uploads-page-grid>.section-heading{padding-left:1.22rem}.backend-card,.policy-editor,.dropzone,.job-list,.storage-card{padding:1rem}.backend-detail-list>div,.health-list>div,.table-row,.backend-policy-row,.decision-backend{border-bottom-color:var(--oc-hairline)}@media(max-width:720px){.files-content-shell{padding:1.05rem 1rem 1.25rem}.drive-item{min-height:72px;padding:.72rem}.drive-item-main{align-items:center}.drive-item-meta{padding-left:43px}}.primary-button,.files-command-bar .primary-button,.dialog-actions .primary-button,.chrome-button,.danger-button,.primary-button:hover,.files-command-bar .primary-button:hover,.dialog-actions .primary-button:hover,.danger-button:hover{color:var(--oc-role-on-chrome)}.primary-button,.files-command-bar .primary-button,.dialog-actions .primary-button{background:var(--oc-role-secondary);background-color:var(--oc-role-secondary);border-color:var(--oc-role-secondary)}.primary-button:hover,.files-command-bar .primary-button:hover,.dialog-actions .primary-button:hover{background:#163540;border-color:#163540}.danger-button,.dialog-actions .danger-button{color:#fff;background:linear-gradient(180deg,#ef4444 0%,var(--oc-role-error) 100%);background-color:var(--oc-role-error);border-color:color-mix(in srgb,var(--oc-role-error) 82%,transparent)}.danger-button:hover,.dialog-actions .danger-button:hover{color:#fff;background:#a80707;background-color:#a80707;border-color:#a80707}.uploads-page-grid{grid-template-columns:minmax(0,1fr) 320px}.uploads-primary-panel .panel-toolbar{margin-bottom:1.15rem}.uploads-dropzone,.files-table .empty-state,.list-table .empty-state{background:color-mix(in srgb,var(--oc-role-surface-container) 34%,var(--oc-role-surface));border-style:solid}.files-table .empty-state,.list-table .empty-state{border-color:transparent;border-style:solid;padding:1.05rem 1rem}.empty-state-rich{border-color:transparent;border-style:solid}.uploads-dropzone{min-height:84px;align-content:center;border-color:var(--oc-hairline)}.uploads-dropzone-copy{gap:.28rem}.uploads-queue-section{margin-top:1.1rem}.target-folder-panel{display:grid;gap:.7rem;padding:0;background:transparent;border:0}.target-folder-option{min-height:38px}.uploads-side-panel .section-heading{margin-bottom:.75rem}.inspector-meta-compact{margin-top:.8rem}.detail-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:48;display:flex;justify-content:flex-end;background:#191c1d47}.detail-drawer{width:min(560px,100%);height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--oc-role-surface);border-left:1px solid var(--oc-hairline-strong);box-shadow:-16px 0 32px #191c1d1f}.detail-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.05rem 1.15rem;border-bottom:1px solid var(--oc-hairline)}.detail-drawer-header h3{max-width:360px;margin:.22rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-drawer-content{min-height:0;overflow:auto;display:grid;align-content:start;gap:1rem;padding:1rem 1.15rem 1.25rem}.inspector-info-button{width:100%;min-height:32px;margin-top:.85rem;padding:.34rem .58rem;font-size:.9rem}.oc-topbar{grid-template-columns:minmax(180px,230px) minmax(0,1fr) 44px}.files-toolbar-top{align-items:flex-start}.files-command-bar{display:flex;flex-wrap:wrap;gap:.42rem;align-items:center;justify-content:flex-end}.files-command-bar button,.compact-sort-select{min-height:32px;padding:.34rem .62rem;font-size:.9rem}.compact-sort-select{width:142px;margin-left:.18rem}.inline-metrics{gap:.52rem;margin-top:.2rem;color:var(--oc-text-muted-soft);font-size:.84rem}.inline-metrics span{padding:0;border:0;background:transparent}.inline-metrics span+span:before{content:"/";margin-right:.52rem;color:var(--oc-hairline-strong)}.list-header{grid-template-columns:minmax(0,1fr) 124px 76px 64px 58px}.jobs-list-header{grid-template-columns:minmax(0,1fr) 92px 72px 70px}.jobs-page-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:0;min-height:calc(100vh - 68px)}.jobs-detail-panel{top:0;border-left:1px solid var(--oc-hairline);border-radius:0}.jobs-table-row{cursor:pointer;transition:background .12s ease}.jobs-table-row:hover{background:var(--oc-role-surface-container)}.jobs-table-row.active{background:color-mix(in srgb,var(--oc-role-primary-container) 46%,var(--oc-role-surface))}.jobs-detail-meta{margin-top:.8rem}.payload-preview{max-height:260px;overflow:auto;margin:0;padding:.72rem;border:1px solid var(--oc-hairline);border-radius:5px;color:var(--oc-text-soft);background:color-mix(in srgb,var(--oc-role-surface-container) 50%,var(--oc-role-surface));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.78rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.recycle-list-header{grid-template-columns:minmax(0,1fr) 132px 82px 86px}.storage-list-header{grid-template-columns:minmax(0,1fr) 128px 92px 132px 188px}.storage-list-surface{margin-top:.25rem}.drive-item-meta{grid-template-columns:124px 76px 64px 58px;min-width:342px}.recycle-row-meta{grid-template-columns:132px 82px 86px;min-width:324px;align-items:center}.storage-table-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(560px,auto);align-items:start}.storage-row-meta{grid-template-columns:68px 78px 92px 132px minmax(160px,auto);min-width:560px;align-items:center;gap:.55rem}.storage-row-actions{justify-content:flex-end;gap:.32rem}.row-actions{min-width:58px}.replica-ratio{width:fit-content;justify-self:end;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:24px;padding:.12rem .42rem;border:1px solid var(--oc-hairline);border-radius:5px;font-size:.78rem;line-height:1;color:var(--oc-role-on-surface-variant);background:var(--oc-role-surface-container)}.replica-ratio-ready{color:color-mix(in srgb,var(--oc-role-primary) 76%,var(--oc-role-on-surface));background:color-mix(in srgb,var(--oc-role-primary-container) 56%,var(--oc-role-surface))}.replica-ratio-warning{color:#7a4b00;border-color:#b4530947;background:#fff7ed}.replica-ratio-muted{color:var(--oc-text-muted-soft);background:transparent}.inspector-storage-summary{margin-top:.8rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.62rem .68rem;border:1px solid var(--oc-hairline);border-radius:5px;background:color-mix(in srgb,var(--oc-role-surface-container) 48%,var(--oc-role-surface))}.inspector-storage-summary>div{min-width:0;display:grid;gap:.12rem}.inspector-storage-summary span:not(.replica-ratio){color:var(--oc-text-muted-soft);font-size:.78rem}.inspector-storage-summary strong{font-size:1rem;font-weight:500}.inspector-folder-note{margin-top:.8rem;padding:.7rem}.row-action-button{opacity:0;pointer-events:none}.drive-item:hover .row-action-button,.drive-item.active .row-action-button{opacity:1;pointer-events:auto}.drive-grid .drive-item{position:relative;min-height:142px;padding-top:.86rem}.drive-grid .drive-item-main{padding-right:52px}.drive-grid .drive-item-meta{width:100%;min-width:0;grid-template-columns:auto auto;justify-content:space-between;padding-left:0;padding-right:0}.drive-grid .drive-item-meta>span:first-child{display:none}.drive-grid .drive-item-meta .replica-ratio{justify-self:end}.drive-grid .row-actions{position:absolute;top:.58rem;right:.58rem;min-width:0}.drive-grid .row-action-button{opacity:1;pointer-events:auto}.list-surface-grid{overflow:visible}.drive-grid .menu-popover{top:calc(100% + 4px);right:0;min-width:132px;padding:.22rem}.drive-grid .menu-item{min-height:30px;padding:.34rem .5rem;font-size:.88rem}@media(max-width:960px){.uploads-page-grid{grid-template-columns:1fr}.uploads-page-grid>aside{border-left:0;border-top:1px solid var(--oc-hairline);padding:1rem 0 0}.detail-drawer{width:100%}}@media(max-width:720px){.list-header{display:none}.drive-item{display:grid;grid-template-columns:1fr;align-items:start;overflow:hidden;gap:.38rem}.drive-item-main{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}.drive-item-meta{width:100%;min-width:0;grid-template-columns:auto auto auto;justify-content:start;padding-left:40px;gap:.85rem}.drive-item-meta>span{text-align:left}.drive-item-meta .replica-ratio{justify-self:start}.drive-item:not(.active) .row-actions{display:none}.drive-item.active .drive-item-meta{grid-template-columns:auto auto auto auto}.storage-table-row,.recycle-row,.jobs-page-layout{grid-template-columns:1fr}.storage-row-meta,.recycle-row-meta,.jobs-row-meta{width:100%;min-width:0;grid-template-columns:auto auto;justify-items:start}.storage-row-actions{grid-column:1 / -1;justify-content:flex-start}} diff --git a/app/web/dist/assets/app.js b/app/web/dist/assets/app.js index f0c1c6d..1c63d90 100644 --- a/app/web/dist/assets/app.js +++ b/app/web/dist/assets/app.js @@ -1,4 +1,4 @@ -var b0=Object.defineProperty;var Iy=n=>{throw TypeError(n)};var S0=(n,i,s)=>i in n?b0(n,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[i]=s;var ep=(n,i,s)=>S0(n,typeof i!="symbol"?i+"":i,s),pf=(n,i,s)=>i.has(n)||Iy("Cannot "+s);var N=(n,i,s)=>(pf(n,i,"read from private field"),s?s.call(n):i.get(n)),Ee=(n,i,s)=>i.has(n)?Iy("Cannot add the same private member more than once"):i instanceof WeakSet?i.add(n):i.set(n,s),oe=(n,i,s,c)=>(pf(n,i,"write to private field"),c?c.call(n,s):i.set(n,s),s),Ue=(n,i,s)=>(pf(n,i,"access private method"),s);var qu=(n,i,s,c)=>({set _(f){oe(n,i,f,s)},get _(){return N(n,i,c)}});function x0(n,i){for(var s=0;sc[f]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const f of document.querySelectorAll('link[rel="modulepreload"]'))c(f);new MutationObserver(f=>{for(const d of f)if(d.type==="childList")for(const m of d.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&c(m)}).observe(document,{childList:!0,subtree:!0});function s(f){const d={};return f.integrity&&(d.integrity=f.integrity),f.referrerPolicy&&(d.referrerPolicy=f.referrerPolicy),f.crossOrigin==="use-credentials"?d.credentials="include":f.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function c(f){if(f.ep)return;f.ep=!0;const d=s(f);fetch(f.href,d)}})();function yv(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var vf={exports:{}},Wr={};/** +var S0=Object.defineProperty;var Iy=n=>{throw TypeError(n)};var x0=(n,i,u)=>i in n?S0(n,i,{enumerable:!0,configurable:!0,writable:!0,value:u}):n[i]=u;var ep=(n,i,u)=>x0(n,typeof i!="symbol"?i+"":i,u),yf=(n,i,u)=>i.has(n)||Iy("Cannot "+u);var C=(n,i,u)=>(yf(n,i,"read from private field"),u?u.call(n):i.get(n)),je=(n,i,u)=>i.has(n)?Iy("Cannot add the same private member more than once"):i instanceof WeakSet?i.add(n):i.set(n,u),oe=(n,i,u,c)=>(yf(n,i,"write to private field"),c?c.call(n,u):i.set(n,u),u),Ue=(n,i,u)=>(yf(n,i,"access private method"),u);var Bs=(n,i,u,c)=>({set _(o){oe(n,i,o,u)},get _(){return C(n,i,c)}});function E0(n,i){for(var u=0;uc[o]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))c(o);new MutationObserver(o=>{for(const d of o)if(d.type==="childList")for(const m of d.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&c(m)}).observe(document,{childList:!0,subtree:!0});function u(o){const d={};return o.integrity&&(d.integrity=o.integrity),o.referrerPolicy&&(d.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?d.credentials="include":o.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function c(o){if(o.ep)return;o.ep=!0;const d=u(o);fetch(o.href,d)}})();function pv(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var pf={exports:{}},Wr={};/** * @license React * react-jsx-runtime.production.js * @@ -6,7 +6,7 @@ var b0=Object.defineProperty;var Iy=n=>{throw TypeError(n)};var S0=(n,i,s)=>i in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var tp;function j0(){if(tp)return Wr;tp=1;var n=Symbol.for("react.transitional.element"),i=Symbol.for("react.fragment");function s(c,f,d){var m=null;if(d!==void 0&&(m=""+d),f.key!==void 0&&(m=""+f.key),"key"in f){d={};for(var y in f)y!=="key"&&(d[y]=f[y])}else d=f;return f=d.ref,{$$typeof:n,type:c,key:m,ref:f!==void 0?f:null,props:d}}return Wr.Fragment=i,Wr.jsx=s,Wr.jsxs=s,Wr}var ap;function E0(){return ap||(ap=1,vf.exports=j0()),vf.exports}var o=E0(),gf={exports:{}},we={};/** + */var tp;function j0(){if(tp)return Wr;tp=1;var n=Symbol.for("react.transitional.element"),i=Symbol.for("react.fragment");function u(c,o,d){var m=null;if(d!==void 0&&(m=""+d),o.key!==void 0&&(m=""+o.key),"key"in o){d={};for(var y in o)y!=="key"&&(d[y]=o[y])}else d=o;return o=d.ref,{$$typeof:n,type:c,key:m,ref:o!==void 0?o:null,props:d}}return Wr.Fragment=i,Wr.jsx=u,Wr.jsxs=u,Wr}var ap;function R0(){return ap||(ap=1,pf.exports=j0()),pf.exports}var f=R0(),vf={exports:{}},Me={};/** * @license React * react.production.js * @@ -14,7 +14,7 @@ var b0=Object.defineProperty;var Iy=n=>{throw TypeError(n)};var S0=(n,i,s)=>i in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var lp;function N0(){if(lp)return we;lp=1;var n=Symbol.for("react.transitional.element"),i=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),c=Symbol.for("react.strict_mode"),f=Symbol.for("react.profiler"),d=Symbol.for("react.consumer"),m=Symbol.for("react.context"),y=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),x=Symbol.for("react.lazy"),b=Symbol.for("react.activity"),_=Symbol.iterator;function C(R){return R===null||typeof R!="object"?null:(R=_&&R[_]||R["@@iterator"],typeof R=="function"?R:null)}var A={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},D=Object.assign,L={};function X(R,K,q){this.props=R,this.context=K,this.refs=L,this.updater=q||A}X.prototype.isReactComponent={},X.prototype.setState=function(R,K){if(typeof R!="object"&&typeof R!="function"&&R!=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,R,K,"setState")},X.prototype.forceUpdate=function(R){this.updater.enqueueForceUpdate(this,R,"forceUpdate")};function W(){}W.prototype=X.prototype;function F(R,K,q){this.props=R,this.context=K,this.refs=L,this.updater=q||A}var P=F.prototype=new W;P.constructor=F,D(P,X.prototype),P.isPureReactComponent=!0;var ae=Array.isArray;function fe(){}var ne={H:null,A:null,T:null,S:null},O=Object.prototype.hasOwnProperty;function le(R,K,q){var ee=q.ref;return{$$typeof:n,type:R,key:K,ref:ee!==void 0?ee:null,props:q}}function ie(R,K){return le(R.type,K,R.props)}function Se(R){return typeof R=="object"&&R!==null&&R.$$typeof===n}function xe(R){var K={"=":"=0",":":"=2"};return"$"+R.replace(/[=:]/g,function(q){return K[q]})}var _e=/\/+/g;function De(R,K){return typeof R=="object"&&R!==null&&R.key!=null?xe(""+R.key):K.toString(36)}function je(R){switch(R.status){case"fulfilled":return R.value;case"rejected":throw R.reason;default:switch(typeof R.status=="string"?R.then(fe,fe):(R.status="pending",R.then(function(K){R.status==="pending"&&(R.status="fulfilled",R.value=K)},function(K){R.status==="pending"&&(R.status="rejected",R.reason=K)})),R.status){case"fulfilled":return R.value;case"rejected":throw R.reason}}throw R}function z(R,K,q,ee,he){var ge=typeof R;(ge==="undefined"||ge==="boolean")&&(R=null);var Me=!1;if(R===null)Me=!0;else switch(ge){case"bigint":case"string":case"number":Me=!0;break;case"object":switch(R.$$typeof){case n:case i:Me=!0;break;case x:return Me=R._init,z(Me(R._payload),K,q,ee,he)}}if(Me)return he=he(R),Me=ee===""?"."+De(R,0):ee,ae(he)?(q="",Me!=null&&(q=Me.replace(_e,"$&/")+"/"),z(he,K,q,"",function(fa){return fa})):he!=null&&(Se(he)&&(he=ie(he,q+(he.key==null||R&&R.key===he.key?"":(""+he.key).replace(_e,"$&/")+"/")+Me)),K.push(he)),1;Me=0;var ot=ee===""?".":ee+":";if(ae(R))for(var He=0;He{throw TypeError(n)};var S0=(n,i,s)=>i in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ip;function C0(){return ip||(ip=1,(function(n){function i(z,V){var re=z.length;z.push(V);e:for(;0>>1,Ne=z[se];if(0>>1;sef(q,re))eef(he,q)?(z[se]=he,z[ee]=re,se=ee):(z[se]=q,z[K]=re,se=K);else if(eef(he,re))z[se]=he,z[ee]=re,se=ee;else break e}}return V}function f(z,V){var re=z.sortIndex-V.sortIndex;return re!==0?re:z.id-V.id}if(n.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var d=performance;n.unstable_now=function(){return d.now()}}else{var m=Date,y=m.now();n.unstable_now=function(){return m.now()-y}}var g=[],p=[],x=1,b=null,_=3,C=!1,A=!1,D=!1,L=!1,X=typeof setTimeout=="function"?setTimeout:null,W=typeof clearTimeout=="function"?clearTimeout:null,F=typeof setImmediate<"u"?setImmediate:null;function P(z){for(var V=s(p);V!==null;){if(V.callback===null)c(p);else if(V.startTime<=z)c(p),V.sortIndex=V.expirationTime,i(g,V);else break;V=s(p)}}function ae(z){if(D=!1,P(z),!A)if(s(g)!==null)A=!0,fe||(fe=!0,xe());else{var V=s(p);V!==null&&je(ae,V.startTime-z)}}var fe=!1,ne=-1,O=5,le=-1;function ie(){return L?!0:!(n.unstable_now()-lez&&ie());){var se=b.callback;if(typeof se=="function"){b.callback=null,_=b.priorityLevel;var Ne=se(b.expirationTime<=z);if(z=n.unstable_now(),typeof Ne=="function"){b.callback=Ne,P(z),V=!0;break t}b===s(g)&&c(g),P(z)}else c(g);b=s(g)}if(b!==null)V=!0;else{var R=s(p);R!==null&&je(ae,R.startTime-z),V=!1}}break e}finally{b=null,_=re,C=!1}V=void 0}}finally{V?xe():fe=!1}}}var xe;if(typeof F=="function")xe=function(){F(Se)};else if(typeof MessageChannel<"u"){var _e=new MessageChannel,De=_e.port2;_e.port1.onmessage=Se,xe=function(){De.postMessage(null)}}else xe=function(){X(Se,0)};function je(z,V){ne=X(function(){z(n.unstable_now())},V)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(z){z.callback=null},n.unstable_forceFrameRate=function(z){0>z||125se?(z.sortIndex=re,i(p,z),s(g)===null&&z===s(p)&&(D?(W(ne),ne=-1):D=!0,je(ae,re-se))):(z.sortIndex=Ne,i(g,z),A||C||(A=!0,fe||(fe=!0,xe()))),z},n.unstable_shouldYield=ie,n.unstable_wrapCallback=function(z){var V=_;return function(){var re=_;_=V;try{return z.apply(this,arguments)}finally{_=re}}}})(xf)),xf}var rp;function T0(){return rp||(rp=1,Sf.exports=C0()),Sf.exports}var jf={exports:{}},Zt={};/** + */var ip;function N0(){return ip||(ip=1,(function(n){function i(D,F){var le=D.length;D.push(F);e:for(;0>>1,ve=D[fe];if(0>>1;feo(H,le))teo(de,H)?(D[fe]=de,D[te]=le,fe=te):(D[fe]=H,D[K]=le,fe=K);else if(teo(de,le))D[fe]=de,D[te]=le,fe=te;else break e}}return F}function o(D,F){var le=D.sortIndex-F.sortIndex;return le!==0?le:D.id-F.id}if(n.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var d=performance;n.unstable_now=function(){return d.now()}}else{var m=Date,y=m.now();n.unstable_now=function(){return m.now()-y}}var v=[],p=[],S=1,b=null,N=3,R=!1,L=!1,G=!1,q=!1,$=typeof setTimeout=="function"?setTimeout:null,W=typeof clearTimeout=="function"?clearTimeout:null,Z=typeof setImmediate<"u"?setImmediate:null;function I(D){for(var F=u(p);F!==null;){if(F.callback===null)c(p);else if(F.startTime<=D)c(p),F.sortIndex=F.expirationTime,i(v,F);else break;F=u(p)}}function P(D){if(G=!1,I(D),!L)if(u(v)!==null)L=!0,ce||(ce=!0,be());else{var F=u(p);F!==null&&Ce(P,F.startTime-D)}}var ce=!1,ue=-1,w=5,ne=-1;function ie(){return q?!0:!(n.unstable_now()-neD&&ie());){var fe=b.callback;if(typeof fe=="function"){b.callback=null,N=b.priorityLevel;var ve=fe(b.expirationTime<=D);if(D=n.unstable_now(),typeof ve=="function"){b.callback=ve,I(D),F=!0;break t}b===u(v)&&c(v),I(D)}else c(v);b=u(v)}if(b!==null)F=!0;else{var T=u(p);T!==null&&Ce(P,T.startTime-D),F=!1}}break e}finally{b=null,N=le,R=!1}F=void 0}}finally{F?be():ce=!1}}}var be;if(typeof Z=="function")be=function(){Z(Ee)};else if(typeof MessageChannel<"u"){var Oe=new MessageChannel,we=Oe.port2;Oe.port1.onmessage=Ee,be=function(){we.postMessage(null)}}else be=function(){$(Ee,0)};function Ce(D,F){ue=$(function(){D(n.unstable_now())},F)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(D){D.callback=null},n.unstable_forceFrameRate=function(D){0>D||125fe?(D.sortIndex=le,i(p,D),u(v)===null&&D===u(p)&&(G?(W(ue),ue=-1):G=!0,Ce(P,le-fe))):(D.sortIndex=ve,i(v,D),L||R||(L=!0,ce||(ce=!0,be()))),D},n.unstable_shouldYield=ie,n.unstable_wrapCallback=function(D){var F=N;return function(){var le=N;N=F;try{return D.apply(this,arguments)}finally{N=le}}}})(Sf)),Sf}var rp;function _0(){return rp||(rp=1,bf.exports=N0()),bf.exports}var xf={exports:{}},Jt={};/** * @license React * react-dom.production.js * @@ -30,7 +30,7 @@ var b0=Object.defineProperty;var Iy=n=>{throw TypeError(n)};var S0=(n,i,s)=>i in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var sp;function _0(){if(sp)return Zt;sp=1;var n=Ff();function i(g){var p="https://react.dev/errors/"+g;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(i){console.error(i)}}return n(),jf.exports=_0(),jf.exports}/** + */var up;function M0(){if(up)return Jt;up=1;var n=kf();function i(v){var p="https://react.dev/errors/"+v;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(i){console.error(i)}}return n(),xf.exports=M0(),xf.exports}/** * @license React * react-dom-client.production.js * @@ -38,15 +38,15 @@ var b0=Object.defineProperty;var Iy=n=>{throw TypeError(n)};var S0=(n,i,s)=>i in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var cp;function M0(){if(cp)return Pr;cp=1;var n=T0(),i=Ff(),s=vv();function c(e){var t="https://react.dev/errors/"+e;if(1Ne||(e.current=se[Ne],se[Ne]=null,Ne--)}function q(e,t){Ne++,se[Ne]=e.current,e.current=t}var ee=R(null),he=R(null),ge=R(null),Me=R(null);function ot(e,t){switch(q(ge,t),q(he,e),q(ee,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?jy(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=jy(t),e=Ey(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}K(ee),q(ee,e)}function He(){K(ee),K(he),K(ge)}function fa(e){e.memoizedState!==null&&q(Me,e);var t=ee.current,a=Ey(t,e.type);t!==a&&(q(he,e),q(ee,a))}function Ja(e){he.current===e&&(K(ee),K(he)),Me.current===e&&(K(Me),Zr._currentValue=re)}var ea,Je;function At(e){if(ea===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);ea=t&&t[1]||"",Je=-1ve||(e.current=fe[ve],fe[ve]=null,ve--)}function H(e,t){ve++,fe[ve]=e.current,e.current=t}var te=T(null),de=T(null),xe=T(null),_e=T(null);function st(e,t){switch(H(xe,t),H(de,e),H(te,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Ey(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Ey(t),e=jy(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}K(te),H(te,e)}function He(){K(te),K(de),K(xe)}function ja(e){e.memoizedState!==null&&H(_e,e);var t=te.current,a=jy(t,e.type);t!==a&&(H(de,e),H(te,a))}function ka(e){de.current===e&&(K(te),K(de)),_e.current===e&&(K(_e),kr._currentValue=le)}var sl,ft;function At(e){if(sl===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);sl=t&&t[1]||"",ft=-1)":-1r||j[l]!==H[r]){var k=` -`+j[l].replace(" at new "," at ");return e.displayName&&k.includes("")&&(k=k.replace("",e.displayName)),k}while(1<=l&&0<=r);break}}}finally{$a=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?At(a):""}function J(e,t){switch(e.tag){case 26:case 27:case 5:return At(e.type);case 16:return At("Lazy");case 13:return e.child!==t&&t!==null?At("Suspense Fallback"):At("Suspense");case 19:return At("SuspenseList");case 0:case 15:return Ya(e.type,!1);case 11:return Ya(e.type.render,!1);case 1:return Ya(e.type,!0);case 31:return At("Activity");default:return""}}function da(e){try{var t="",a=null;do t+=J(e,a),a=e,e=e.return;while(e);return t}catch(l){return` +`+sl+e+ft}var la=!1;function Ja(e,t){if(!e||la)return"";la=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var l={DetermineComponentFrameRoot:function(){try{if(t){var k=function(){throw Error()};if(Object.defineProperty(k.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(k,[])}catch(Q){var B=Q}Reflect.construct(e,[],k)}else{try{k.call()}catch(Q){B=Q}e.call(k.prototype)}}else{try{throw Error()}catch(Q){B=Q}(k=e())&&typeof k.catch=="function"&&k.catch(function(){})}}catch(Q){if(Q&&B&&typeof Q.stack=="string")return[Q.stack,B.stack]}return[null,null]}};l.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var r=Object.getOwnPropertyDescriptor(l.DetermineComponentFrameRoot,"name");r&&r.configurable&&Object.defineProperty(l.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var s=l.DetermineComponentFrameRoot(),h=s[0],g=s[1];if(h&&g){var E=h.split(` +`),A=g.split(` +`);for(r=l=0;lr||E[l]!==A[r]){var X=` +`+E[l].replace(" at new "," at ");return e.displayName&&X.includes("")&&(X=X.replace("",e.displayName)),X}while(1<=l&&0<=r);break}}}finally{la=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?At(a):""}function J(e,t){switch(e.tag){case 26:case 27:case 5:return At(e.type);case 16:return At("Lazy");case 13:return e.child!==t&&t!==null?At("Suspense Fallback"):At("Suspense");case 19:return At("SuspenseList");case 0:case 15:return Ja(e.type,!1);case 11:return Ja(e.type.render,!1);case 1:return Ja(e.type,!0);case 31:return At("Activity");default:return""}}function da(e){try{var t="",a=null;do t+=J(e,a),a=e,e=e.return;while(e);return t}catch(l){return` Error generating stack: `+l.message+` -`+l.stack}}var Ga=Object.prototype.hasOwnProperty,cl=n.unstable_scheduleCallback,Hl=n.unstable_cancelCallback,ri=n.unstable_shouldYield,si=n.unstable_requestPaint,Ut=n.unstable_now,Na=n.unstable_getCurrentPriorityLevel,Q=n.unstable_ImmediatePriority,Fe=n.unstable_UserBlockingPriority,tt=n.unstable_NormalPriority,Pe=n.unstable_LowPriority,vt=n.unstable_IdlePriority,Bl=n.log,ol=n.unstable_setDisableYieldValue,ha=null,$t=null;function Lt(e){if(typeof Bl=="function"&&ol(e),$t&&typeof $t.setStrictMode=="function")try{$t.setStrictMode(ha,e)}catch{}}var kt=Math.clz32?Math.clz32:rc,Es=Math.log,Ns=Math.LN2;function rc(e){return e>>>=0,e===0?32:31-(Es(e)/Ns|0)|0}var Cn=256,fl=262144,Tn=4194304;function Ka(e){var t=e&42;if(t!==0)return t;switch(e&-e){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 e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ui(e,t,a){var l=e.pendingLanes;if(l===0)return 0;var r=0,u=e.suspendedLanes,h=e.pingedLanes;e=e.warmLanes;var v=l&134217727;return v!==0?(l=v&~u,l!==0?r=Ka(l):(h&=v,h!==0?r=Ka(h):a||(a=v&~e,a!==0&&(r=Ka(a))))):(v=l&~u,v!==0?r=Ka(v):h!==0?r=Ka(h):a||(a=l&~e,a!==0&&(r=Ka(a)))),r===0?0:t!==0&&t!==r&&(t&u)===0&&(u=r&-r,a=t&-t,u>=a||u===32&&(a&4194048)!==0)?t:r}function ql(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function sc(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+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 t+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 cr(){var e=Tn;return Tn<<=1,(Tn&62914560)===0&&(Tn=4194304),e}function Ql(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function Wa(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Rs(e,t,a,l,r,u){var h=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var v=e.entanglements,j=e.expirationTimes,H=e.hiddenUpdates;for(a=h&~a;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var hg=/[\n"\\]/g;function Ra(e){return e.replace(hg,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function uc(e,t,a,l,r,u,h,v){e.name="",h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"?e.type=h:e.removeAttribute("type"),t!=null?h==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Tt(t)):e.value!==""+Tt(t)&&(e.value=""+Tt(t)):h!=="submit"&&h!=="reset"||e.removeAttribute("value"),t!=null?cc(e,h,Tt(t)):a!=null?cc(e,h,Tt(a)):l!=null&&e.removeAttribute("value"),r==null&&u!=null&&(e.defaultChecked=!!u),r!=null&&(e.checked=r&&typeof r!="function"&&typeof r!="symbol"),v!=null&&typeof v!="function"&&typeof v!="symbol"&&typeof v!="boolean"?e.name=""+Tt(v):e.removeAttribute("name")}function pd(e,t,a,l,r,u,h,v){if(u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"&&(e.type=u),t!=null||a!=null){if(!(u!=="submit"&&u!=="reset"||t!=null)){fi(e);return}a=a!=null?""+Tt(a):"",t=t!=null?""+Tt(t):a,v||t===e.value||(e.value=t),e.defaultValue=t}l=l??r,l=typeof l!="function"&&typeof l!="symbol"&&!!l,e.checked=v?e.checked:!!l,e.defaultChecked=!!l,h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"&&(e.name=h),fi(e)}function cc(e,t,a){t==="number"&&Ms(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function di(e,t,a,l){if(e=e.options,t){t={};for(var r=0;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),mc=!1;if(hl)try{var fr={};Object.defineProperty(fr,"passive",{get:function(){mc=!0}}),window.addEventListener("test",fr,fr),window.removeEventListener("test",fr,fr)}catch{mc=!1}var Gl=null,yc=null,Os=null;function Ed(){if(Os)return Os;var e,t=yc,a=t.length,l,r="value"in Gl?Gl.value:Gl.textContent,u=r.length;for(e=0;e=mr),Md=" ",wd=!1;function Od(e,t){switch(e){case"keyup":return Yg.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Dd(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var pi=!1;function Kg(e,t){switch(e){case"compositionend":return Dd(t);case"keypress":return t.which!==32?null:(wd=!0,Md);case"textInput":return e=t.data,e===Md&&wd?null:e;default:return null}}function Xg(e,t){if(pi)return e==="compositionend"||!Sc&&Od(e,t)?(e=Ed(),Os=yc=Gl=null,pi=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:a,offset:t-e};e=l}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Qd(a)}}function Gd(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Gd(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Kd(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ms(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Ms(e.document)}return t}function Ec(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var Pg=hl&&"documentMode"in document&&11>=document.documentMode,vi=null,Nc=null,gr=null,Rc=!1;function Xd(e,t,a){var l=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Rc||vi==null||vi!==Ms(l)||(l=vi,"selectionStart"in l&&Ec(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),gr&&vr(gr,l)||(gr=l,l=Nu(Nc,"onSelect"),0>=h,r-=h,el=1<<32-kt(t)+r|a<Ae?(Ke=ve,ve=null):Ke=ve.sibling;var We=Y(w,ve,U[Ae],Z);if(We===null){ve===null&&(ve=Ke);break}e&&ve&&We.alternate===null&&t(w,ve),T=u(We,T,Ae),$e===null?Re=We:$e.sibling=We,$e=We,ve=Ke}if(Ae===U.length)return a(w,ve),Xe&&yl(w,Ae),Re;if(ve===null){for(;AeAe?(Ke=ve,ve=null):Ke=ve.sibling;var fn=Y(w,ve,We.value,Z);if(fn===null){ve===null&&(ve=Ke);break}e&&ve&&fn.alternate===null&&t(w,ve),T=u(fn,T,Ae),$e===null?Re=fn:$e.sibling=fn,$e=fn,ve=Ke}if(We.done)return a(w,ve),Xe&&yl(w,Ae),Re;if(ve===null){for(;!We.done;Ae++,We=U.next())We=$(w,We.value,Z),We!==null&&(T=u(We,T,Ae),$e===null?Re=We:$e.sibling=We,$e=We);return Xe&&yl(w,Ae),Re}for(ve=l(ve);!We.done;Ae++,We=U.next())We=G(ve,w,Ae,We.value,Z),We!==null&&(e&&We.alternate!==null&&ve.delete(We.key===null?Ae:We.key),T=u(We,T,Ae),$e===null?Re=We:$e.sibling=We,$e=We);return e&&ve.forEach(function(g0){return t(w,g0)}),Xe&&yl(w,Ae),Re}function st(w,T,U,Z){if(typeof U=="object"&&U!==null&&U.type===D&&U.key===null&&(U=U.props.children),typeof U=="object"&&U!==null){switch(U.$$typeof){case C:e:{for(var Re=U.key;T!==null;){if(T.key===Re){if(Re=U.type,Re===D){if(T.tag===7){a(w,T.sibling),Z=r(T,U.props.children),Z.return=w,w=Z;break e}}else if(T.elementType===Re||typeof Re=="object"&&Re!==null&&Re.$$typeof===O&&qn(Re)===T.type){a(w,T.sibling),Z=r(T,U.props),Nr(Z,U),Z.return=w,w=Z;break e}a(w,T);break}else t(w,T);T=T.sibling}U.type===D?(Z=An(U.props.children,w.mode,Z,U.key),Z.return=w,w=Z):(Z=Ys(U.type,U.key,U.props,null,w.mode,Z),Nr(Z,U),Z.return=w,w=Z)}return h(w);case A:e:{for(Re=U.key;T!==null;){if(T.key===Re)if(T.tag===4&&T.stateNode.containerInfo===U.containerInfo&&T.stateNode.implementation===U.implementation){a(w,T.sibling),Z=r(T,U.children||[]),Z.return=w,w=Z;break e}else{a(w,T);break}else t(w,T);T=T.sibling}Z=Dc(U,w.mode,Z),Z.return=w,w=Z}return h(w);case O:return U=qn(U),st(w,T,U,Z)}if(je(U))return me(w,T,U,Z);if(xe(U)){if(Re=xe(U),typeof Re!="function")throw Error(c(150));return U=Re.call(U),Ce(w,T,U,Z)}if(typeof U.then=="function")return st(w,T,Fs(U),Z);if(U.$$typeof===F)return st(w,T,Xs(w,U),Z);Js(w,U)}return typeof U=="string"&&U!==""||typeof U=="number"||typeof U=="bigint"?(U=""+U,T!==null&&T.tag===6?(a(w,T.sibling),Z=r(T,U),Z.return=w,w=Z):(a(w,T),Z=Oc(U,w.mode,Z),Z.return=w,w=Z),h(w)):a(w,T)}return function(w,T,U,Z){try{Er=0;var Re=st(w,T,U,Z);return _i=null,Re}catch(ve){if(ve===Ti||ve===Vs)throw ve;var $e=ya(29,ve,null,w.mode);return $e.lanes=Z,$e.return=w,$e}finally{}}}var Yn=hh(!0),mh=hh(!1),Zl=!1;function Xc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function kc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Fl(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Jl(e,t,a){var l=e.updateQueue;if(l===null)return null;if(l=l.shared,(Ie&2)!==0){var r=l.pending;return r===null?t.next=t:(t.next=r.next,r.next=t),l.pending=t,t=Qs(e),Wd(e,null,a),t}return qs(e,l,t,a),Qs(e)}function Rr(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,Ts(e,a)}}function Vc(e,t){var a=e.updateQueue,l=e.alternate;if(l!==null&&(l=l.updateQueue,a===l)){var r=null,u=null;if(a=a.firstBaseUpdate,a!==null){do{var h={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};u===null?r=u=h:u=u.next=h,a=a.next}while(a!==null);u===null?r=u=t:u=u.next=t}else r=u=t;a={baseState:l.baseState,firstBaseUpdate:r,lastBaseUpdate:u,shared:l.shared,callbacks:l.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Zc=!1;function Cr(){if(Zc){var e=Ci;if(e!==null)throw e}}function Tr(e,t,a,l){Zc=!1;var r=e.updateQueue;Zl=!1;var u=r.firstBaseUpdate,h=r.lastBaseUpdate,v=r.shared.pending;if(v!==null){r.shared.pending=null;var j=v,H=j.next;j.next=null,h===null?u=H:h.next=H,h=j;var k=e.alternate;k!==null&&(k=k.updateQueue,v=k.lastBaseUpdate,v!==h&&(v===null?k.firstBaseUpdate=H:v.next=H,k.lastBaseUpdate=j))}if(u!==null){var $=r.baseState;h=0,k=H=j=null,v=u;do{var Y=v.lane&-536870913,G=Y!==v.lane;if(G?(Ge&Y)===Y:(l&Y)===Y){Y!==0&&Y===Ri&&(Zc=!0),k!==null&&(k=k.next={lane:0,tag:v.tag,payload:v.payload,callback:null,next:null});e:{var me=e,Ce=v;Y=t;var st=a;switch(Ce.tag){case 1:if(me=Ce.payload,typeof me=="function"){$=me.call(st,$,Y);break e}$=me;break e;case 3:me.flags=me.flags&-65537|128;case 0:if(me=Ce.payload,Y=typeof me=="function"?me.call(st,$,Y):me,Y==null)break e;$=b({},$,Y);break e;case 2:Zl=!0}}Y=v.callback,Y!==null&&(e.flags|=64,G&&(e.flags|=8192),G=r.callbacks,G===null?r.callbacks=[Y]:G.push(Y))}else G={lane:Y,tag:v.tag,payload:v.payload,callback:v.callback,next:null},k===null?(H=k=G,j=$):k=k.next=G,h|=Y;if(v=v.next,v===null){if(v=r.shared.pending,v===null)break;G=v,v=G.next,G.next=null,r.lastBaseUpdate=G,r.shared.pending=null}}while(!0);k===null&&(j=$),r.baseState=j,r.firstBaseUpdate=H,r.lastBaseUpdate=k,u===null&&(r.shared.lanes=0),en|=h,e.lanes=h,e.memoizedState=$}}function yh(e,t){if(typeof e!="function")throw Error(c(191,e));e.call(t)}function ph(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;eu?u:8;var h=z.T,v={};z.T=v,ho(e,!1,t,a);try{var j=r(),H=z.S;if(H!==null&&H(v,j),j!==null&&typeof j=="object"&&typeof j.then=="function"){var k=sb(j,l);wr(e,t,k,Sa(e))}else wr(e,t,l,Sa(e))}catch($){wr(e,t,{then:function(){},status:"rejected",reason:$},Sa())}finally{V.p=u,h!==null&&v.types!==null&&(h.types=v.types),z.T=h}}function hb(){}function oo(e,t,a,l){if(e.tag!==5)throw Error(c(476));var r=Fh(e).queue;Zh(e,r,t,re,a===null?hb:function(){return Jh(e),a(l)})}function Fh(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:re,baseState:re,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:bl,lastRenderedState:re},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:bl,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Jh(e){var t=Fh(e);t.next===null&&(t=e.alternate.memoizedState),wr(e,t.next.queue,{},Sa())}function fo(){return Gt(Zr)}function $h(){return Nt().memoizedState}function Wh(){return Nt().memoizedState}function mb(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=Sa();e=Fl(a);var l=Jl(t,e,a);l!==null&&(ra(l,t,a),Rr(l,t,a)),t={cache:Qc()},e.payload=t;return}t=t.return}}function yb(e,t,a){var l=Sa();a={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},iu(e)?Ih(t,a):(a=Mc(e,t,a,l),a!==null&&(ra(a,e,l),em(a,t,l)))}function Ph(e,t,a){var l=Sa();wr(e,t,a,l)}function wr(e,t,a,l){var r={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(iu(e))Ih(t,r);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=t.lastRenderedReducer,u!==null))try{var h=t.lastRenderedState,v=u(h,a);if(r.hasEagerState=!0,r.eagerState=v,ma(v,h))return qs(e,t,r,0),ct===null&&Bs(),!1}catch{}finally{}if(a=Mc(e,t,r,l),a!==null)return ra(a,e,l),em(a,t,l),!0}return!1}function ho(e,t,a,l){if(l={lane:2,revertLane:ko(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},iu(e)){if(t)throw Error(c(479))}else t=Mc(e,a,l,2),t!==null&&ra(t,e,2)}function iu(e){var t=e.alternate;return e===Oe||t!==null&&t===Oe}function Ih(e,t){wi=Ps=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function em(e,t,a){if((a&4194048)!==0){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,Ts(e,a)}}var Or={readContext:Gt,use:tu,useCallback:bt,useContext:bt,useEffect:bt,useImperativeHandle:bt,useLayoutEffect:bt,useInsertionEffect:bt,useMemo:bt,useReducer:bt,useRef:bt,useState:bt,useDebugValue:bt,useDeferredValue:bt,useTransition:bt,useSyncExternalStore:bt,useId:bt,useHostTransitionStatus:bt,useFormState:bt,useActionState:bt,useOptimistic:bt,useMemoCache:bt,useCacheRefresh:bt};Or.useEffectEvent=bt;var tm={readContext:Gt,use:tu,useCallback:function(e,t){return Wt().memoizedState=[e,t===void 0?null:t],e},useContext:Gt,useEffect:Bh,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,lu(4194308,4,Gh.bind(null,t,e),a)},useLayoutEffect:function(e,t){return lu(4194308,4,e,t)},useInsertionEffect:function(e,t){lu(4,2,e,t)},useMemo:function(e,t){var a=Wt();t=t===void 0?null:t;var l=e();if(Gn){Lt(!0);try{e()}finally{Lt(!1)}}return a.memoizedState=[l,t],l},useReducer:function(e,t,a){var l=Wt();if(a!==void 0){var r=a(t);if(Gn){Lt(!0);try{a(t)}finally{Lt(!1)}}}else r=t;return l.memoizedState=l.baseState=r,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:r},l.queue=e,e=e.dispatch=yb.bind(null,Oe,e),[l.memoizedState,e]},useRef:function(e){var t=Wt();return e={current:e},t.memoizedState=e},useState:function(e){e=io(e);var t=e.queue,a=Ph.bind(null,Oe,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:uo,useDeferredValue:function(e,t){var a=Wt();return co(a,e,t)},useTransition:function(){var e=io(!1);return e=Zh.bind(null,Oe,e.queue,!0,!1),Wt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var l=Oe,r=Wt();if(Xe){if(a===void 0)throw Error(c(407));a=a()}else{if(a=t(),ct===null)throw Error(c(349));(Ge&127)!==0||jh(l,t,a)}r.memoizedState=a;var u={value:a,getSnapshot:t};return r.queue=u,Bh(Nh.bind(null,l,u,e),[e]),l.flags|=2048,Di(9,{destroy:void 0},Eh.bind(null,l,u,a,t),null),a},useId:function(){var e=Wt(),t=ct.identifierPrefix;if(Xe){var a=tl,l=el;a=(l&~(1<<32-kt(l)-1)).toString(32)+a,t="_"+t+"R_"+a,a=Is++,0<\/script>",u=u.removeChild(u.firstChild);break;case"select":u=typeof l.is=="string"?h.createElement("select",{is:l.is}):h.createElement("select"),l.multiple?u.multiple=!0:l.size&&(u.size=l.size);break;default:u=typeof l.is=="string"?h.createElement(r,{is:l.is}):h.createElement(r)}}u[ue]=t,u[pe]=l;e:for(h=t.child;h!==null;){if(h.tag===5||h.tag===6)u.appendChild(h.stateNode);else if(h.tag!==4&&h.tag!==27&&h.child!==null){h.child.return=h,h=h.child;continue}if(h===t)break e;for(;h.sibling===null;){if(h.return===null||h.return===t)break e;h=h.return}h.sibling.return=h.return,h=h.sibling}t.stateNode=u;e:switch(Xt(u,r,l),r){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&xl(t)}}return yt(t),To(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==l&&xl(t);else{if(typeof l!="string"&&t.stateNode===null)throw Error(c(166));if(e=ge.current,Ei(t)){if(e=t.stateNode,a=t.memoizedProps,l=null,r=Yt,r!==null)switch(r.tag){case 27:case 5:l=r.memoizedProps}e[ue]=t,e=!!(e.nodeValue===a||l!==null&&l.suppressHydrationWarning===!0||Sy(e.nodeValue,a)),e||kl(t,!0)}else e=Ru(e).createTextNode(l),e[ue]=t,t.stateNode=e}return yt(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(l=Ei(t),a!==null){if(e===null){if(!l)throw Error(c(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(c(557));e[ue]=t}else Un(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;yt(t),e=!1}else a=Lc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(va(t),t):(va(t),null);if((t.flags&128)!==0)throw Error(c(558))}return yt(t),null;case 13:if(l=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(r=Ei(t),l!==null&&l.dehydrated!==null){if(e===null){if(!r)throw Error(c(318));if(r=t.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(c(317));r[ue]=t}else Un(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;yt(t),r=!1}else r=Lc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=r),r=!0;if(!r)return t.flags&256?(va(t),t):(va(t),null)}return va(t),(t.flags&128)!==0?(t.lanes=a,t):(a=l!==null,e=e!==null&&e.memoizedState!==null,a&&(l=t.child,r=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(r=l.alternate.memoizedState.cachePool.pool),u=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(u=l.memoizedState.cachePool.pool),u!==r&&(l.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),ou(t,t.updateQueue),yt(t),null);case 4:return He(),e===null&&Jo(t.stateNode.containerInfo),yt(t),null;case 10:return vl(t.type),yt(t),null;case 19:if(K(Et),l=t.memoizedState,l===null)return yt(t),null;if(r=(t.flags&128)!==0,u=l.rendering,u===null)if(r)zr(l,!1);else{if(St!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(u=Ws(e),u!==null){for(t.flags|=128,zr(l,!1),e=u.updateQueue,t.updateQueue=e,ou(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)Pd(a,e),a=a.sibling;return q(Et,Et.current&1|2),Xe&&yl(t,l.treeForkCount),t.child}e=e.sibling}l.tail!==null&&Ut()>yu&&(t.flags|=128,r=!0,zr(l,!1),t.lanes=4194304)}else{if(!r)if(e=Ws(u),e!==null){if(t.flags|=128,r=!0,e=e.updateQueue,t.updateQueue=e,ou(t,e),zr(l,!0),l.tail===null&&l.tailMode==="hidden"&&!u.alternate&&!Xe)return yt(t),null}else 2*Ut()-l.renderingStartTime>yu&&a!==536870912&&(t.flags|=128,r=!0,zr(l,!1),t.lanes=4194304);l.isBackwards?(u.sibling=t.child,t.child=u):(e=l.last,e!==null?e.sibling=u:t.child=u,l.last=u)}return l.tail!==null?(e=l.tail,l.rendering=e,l.tail=e.sibling,l.renderingStartTime=Ut(),e.sibling=null,a=Et.current,q(Et,r?a&1|2:a&1),Xe&&yl(t,l.treeForkCount),e):(yt(t),null);case 22:case 23:return va(t),Jc(),l=t.memoizedState!==null,e!==null?e.memoizedState!==null!==l&&(t.flags|=8192):l&&(t.flags|=8192),l?(a&536870912)!==0&&(t.flags&128)===0&&(yt(t),t.subtreeFlags&6&&(t.flags|=8192)):yt(t),a=t.updateQueue,a!==null&&ou(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),l=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(l=t.memoizedState.cachePool.pool),l!==a&&(t.flags|=2048),e!==null&&K(Bn),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),vl(_t),yt(t),null;case 25:return null;case 30:return null}throw Error(c(156,t.tag))}function Sb(e,t){switch(Ac(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return vl(_t),He(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Ja(t),null;case 31:if(t.memoizedState!==null){if(va(t),t.alternate===null)throw Error(c(340));Un()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(va(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(c(340));Un()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return K(Et),null;case 4:return He(),null;case 10:return vl(t.type),null;case 22:case 23:return va(t),Jc(),e!==null&&K(Bn),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return vl(_t),null;case 25:return null;default:return null}}function Rm(e,t){switch(Ac(t),t.tag){case 3:vl(_t),He();break;case 26:case 27:case 5:Ja(t);break;case 4:He();break;case 31:t.memoizedState!==null&&va(t);break;case 13:va(t);break;case 19:K(Et);break;case 10:vl(t.type);break;case 22:case 23:va(t),Jc(),e!==null&&K(Bn);break;case 24:vl(_t)}}function Ar(e,t){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var r=l.next;a=r;do{if((a.tag&e)===e){l=void 0;var u=a.create,h=a.inst;l=u(),h.destroy=l}a=a.next}while(a!==r)}}catch(v){lt(t,t.return,v)}}function Pl(e,t,a){try{var l=t.updateQueue,r=l!==null?l.lastEffect:null;if(r!==null){var u=r.next;l=u;do{if((l.tag&e)===e){var h=l.inst,v=h.destroy;if(v!==void 0){h.destroy=void 0,r=t;var j=a,H=v;try{H()}catch(k){lt(r,j,k)}}}l=l.next}while(l!==u)}}catch(k){lt(t,t.return,k)}}function Cm(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{ph(t,a)}catch(l){lt(e,e.return,l)}}}function Tm(e,t,a){a.props=Kn(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(l){lt(e,t,l)}}function Ur(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var l=e.stateNode;break;case 30:l=e.stateNode;break;default:l=e.stateNode}typeof a=="function"?e.refCleanup=a(l):a.current=l}}catch(r){lt(e,t,r)}}function al(e,t){var a=e.ref,l=e.refCleanup;if(a!==null)if(typeof l=="function")try{l()}catch(r){lt(e,t,r)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(r){lt(e,t,r)}else a.current=null}function _m(e){var t=e.type,a=e.memoizedProps,l=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&l.focus();break e;case"img":a.src?l.src=a.src:a.srcSet&&(l.srcset=a.srcSet)}}catch(r){lt(e,e.return,r)}}function _o(e,t,a){try{var l=e.stateNode;Gb(l,e.type,a,t),l[pe]=t}catch(r){lt(e,e.return,r)}}function Mm(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&rn(e.type)||e.tag===4}function Mo(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Mm(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&rn(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function wo(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=dl));else if(l!==4&&(l===27&&rn(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(wo(e,t,a),e=e.sibling;e!==null;)wo(e,t,a),e=e.sibling}function fu(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(l!==4&&(l===27&&rn(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(fu(e,t,a),e=e.sibling;e!==null;)fu(e,t,a),e=e.sibling}function wm(e){var t=e.stateNode,a=e.memoizedProps;try{for(var l=e.type,r=t.attributes;r.length;)t.removeAttributeNode(r[0]);Xt(t,l,a),t[ue]=e,t[pe]=a}catch(u){lt(e,e.return,u)}}var jl=!1,Ot=!1,Oo=!1,Om=typeof WeakSet=="function"?WeakSet:Set,Bt=null;function xb(e,t){if(e=e.containerInfo,Po=Du,e=Kd(e),Ec(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var l=a.getSelection&&a.getSelection();if(l&&l.rangeCount!==0){a=l.anchorNode;var r=l.anchorOffset,u=l.focusNode;l=l.focusOffset;try{a.nodeType,u.nodeType}catch{a=null;break e}var h=0,v=-1,j=-1,H=0,k=0,$=e,Y=null;t:for(;;){for(var G;$!==a||r!==0&&$.nodeType!==3||(v=h+r),$!==u||l!==0&&$.nodeType!==3||(j=h+l),$.nodeType===3&&(h+=$.nodeValue.length),(G=$.firstChild)!==null;)Y=$,$=G;for(;;){if($===e)break t;if(Y===a&&++H===r&&(v=h),Y===u&&++k===l&&(j=h),(G=$.nextSibling)!==null)break;$=Y,Y=$.parentNode}$=G}a=v===-1||j===-1?null:{start:v,end:j}}else a=null}a=a||{start:0,end:0}}else a=null;for(Io={focusedElem:e,selectionRange:a},Du=!1,Bt=t;Bt!==null;)if(t=Bt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Bt=e;else for(;Bt!==null;){switch(t=Bt,u=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a title"))),Xt(u,l,a),u[ue]=e,ft(u),l=u;break e;case"link":var h=Hy("link","href",r).get(l+(a.href||""));if(h){for(var v=0;vst&&(h=st,st=Ce,Ce=h);var w=Yd(v,Ce),T=Yd(v,st);if(w&&T&&(G.rangeCount!==1||G.anchorNode!==w.node||G.anchorOffset!==w.offset||G.focusNode!==T.node||G.focusOffset!==T.offset)){var U=$.createRange();U.setStart(w.node,w.offset),G.removeAllRanges(),Ce>st?(G.addRange(U),G.extend(T.node,T.offset)):(U.setEnd(T.node,T.offset),G.addRange(U))}}}}for($=[],G=v;G=G.parentNode;)G.nodeType===1&&$.push({element:G,left:G.scrollLeft,top:G.scrollTop});for(typeof v.focus=="function"&&v.focus(),v=0;v<$.length;v++){var Z=$[v];Z.element.scrollLeft=Z.left,Z.element.scrollTop=Z.top}}Du=!!Po,Io=Po=null}finally{Ie=r,V.p=l,z.T=a}}e.current=t,Dt=2}}function ny(){if(Dt===2){Dt=0;var e=an,t=Hi,a=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||a){a=z.T,z.T=null;var l=V.p;V.p=2;var r=Ie;Ie|=4;try{Dm(e,t.alternate,t)}finally{Ie=r,V.p=l,z.T=a}}Dt=3}}function iy(){if(Dt===4||Dt===3){Dt=0,si();var e=an,t=Hi,a=Tl,l=km;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Dt=5:(Dt=0,Hi=an=null,ry(e,e.pendingLanes));var r=e.pendingLanes;if(r===0&&(tn=null),B(a),t=t.stateNode,$t&&typeof $t.onCommitFiberRoot=="function")try{$t.onCommitFiberRoot(ha,t,void 0,(t.current.flags&128)===128)}catch{}if(l!==null){t=z.T,r=V.p,V.p=2,z.T=null;try{for(var u=e.onRecoverableError,h=0;ha?32:a,z.T=null,a=Bo,Bo=null;var u=an,h=Tl;if(Dt=0,Hi=an=null,Tl=0,(Ie&6)!==0)throw Error(c(331));var v=Ie;if(Ie|=4,Gm(u.current),qm(u,u.current,h,a),Ie=v,Yr(0,!1),$t&&typeof $t.onPostCommitFiberRoot=="function")try{$t.onPostCommitFiberRoot(ha,u)}catch{}return!0}finally{V.p=r,z.T=l,ry(e,t)}}function uy(e,t,a){t=Ta(a,t),t=vo(e.stateNode,t,2),e=Jl(e,t,2),e!==null&&(Wa(e,2),ll(e))}function lt(e,t,a){if(e.tag===3)uy(e,e,a);else for(;t!==null;){if(t.tag===3){uy(t,e,a);break}else if(t.tag===1){var l=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(tn===null||!tn.has(l))){e=Ta(a,e),a=cm(2),l=Jl(t,a,2),l!==null&&(om(a,l,t,e),Wa(l,2),ll(l));break}}t=t.return}}function Go(e,t,a){var l=e.pingCache;if(l===null){l=e.pingCache=new Nb;var r=new Set;l.set(t,r)}else r=l.get(t),r===void 0&&(r=new Set,l.set(t,r));r.has(a)||(Ao=!0,r.add(a),e=Mb.bind(null,e,t,a),t.then(e,e))}function Mb(e,t,a){var l=e.pingCache;l!==null&&l.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,ct===e&&(Ge&a)===a&&(St===4||St===3&&(Ge&62914560)===Ge&&300>Ut()-mu?(Ie&2)===0&&Bi(e,0):Uo|=a,Li===Ge&&(Li=0)),ll(e)}function cy(e,t){t===0&&(t=cr()),e=zn(e,t),e!==null&&(Wa(e,t),ll(e))}function wb(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),cy(e,a)}function Ob(e,t){var a=0;switch(e.tag){case 31:case 13:var l=e.stateNode,r=e.memoizedState;r!==null&&(a=r.retryLane);break;case 19:l=e.stateNode;break;case 22:l=e.stateNode._retryCache;break;default:throw Error(c(314))}l!==null&&l.delete(t),cy(e,a)}function Db(e,t){return cl(e,t)}var xu=null,Qi=null,Ko=!1,ju=!1,Xo=!1,nn=0;function ll(e){e!==Qi&&e.next===null&&(Qi===null?xu=Qi=e:Qi=Qi.next=e),ju=!0,Ko||(Ko=!0,Ab())}function Yr(e,t){if(!Xo&&ju){Xo=!0;do for(var a=!1,l=xu;l!==null;){if(e!==0){var r=l.pendingLanes;if(r===0)var u=0;else{var h=l.suspendedLanes,v=l.pingedLanes;u=(1<<31-kt(42|e)+1)-1,u&=r&~(h&~v),u=u&201326741?u&201326741|1:u?u|2:0}u!==0&&(a=!0,hy(l,u))}else u=Ge,u=ui(l,l===ct?u:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(u&3)===0||ql(l,u)||(a=!0,hy(l,u));l=l.next}while(a);Xo=!1}}function zb(){oy()}function oy(){ju=Ko=!1;var e=0;nn!==0&&Xb()&&(e=nn);for(var t=Ut(),a=null,l=xu;l!==null;){var r=l.next,u=fy(l,t);u===0?(l.next=null,a===null?xu=r:a.next=r,r===null&&(Qi=a)):(a=l,(e!==0||(u&3)!==0)&&(ju=!0)),l=r}Dt!==0&&Dt!==5||Yr(e),nn!==0&&(nn=0)}function fy(e,t){for(var a=e.suspendedLanes,l=e.pingedLanes,r=e.expirationTimes,u=e.pendingLanes&-62914561;0v)break;var k=j.transferSize,$=j.initiatorType;k&&xy($)&&(j=j.responseEnd,h+=k*(j"u"?null:document;function zy(e,t,a){var l=Yi;if(l&&typeof t=="string"&&t){var r=Ra(t);r='link[rel="'+e+'"][href="'+r+'"]',typeof a=="string"&&(r+='[crossorigin="'+a+'"]'),Dy.has(r)||(Dy.add(r),e={rel:e,crossOrigin:a,href:t},l.querySelector(r)===null&&(t=l.createElement("link"),Xt(t,"link",e),ft(t),l.head.appendChild(t)))}}function Ib(e){_l.D(e),zy("dns-prefetch",e,null)}function e0(e,t){_l.C(e,t),zy("preconnect",e,t)}function t0(e,t,a){_l.L(e,t,a);var l=Yi;if(l&&e&&t){var r='link[rel="preload"][as="'+Ra(t)+'"]';t==="image"&&a&&a.imageSrcSet?(r+='[imagesrcset="'+Ra(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(r+='[imagesizes="'+Ra(a.imageSizes)+'"]')):r+='[href="'+Ra(e)+'"]';var u=r;switch(t){case"style":u=Gi(e);break;case"script":u=Ki(e)}za.has(u)||(e=b({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),za.set(u,e),l.querySelector(r)!==null||t==="style"&&l.querySelector(kr(u))||t==="script"&&l.querySelector(Vr(u))||(t=l.createElement("link"),Xt(t,"link",e),ft(t),l.head.appendChild(t)))}}function a0(e,t){_l.m(e,t);var a=Yi;if(a&&e){var l=t&&typeof t.as=="string"?t.as:"script",r='link[rel="modulepreload"][as="'+Ra(l)+'"][href="'+Ra(e)+'"]',u=r;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":u=Ki(e)}if(!za.has(u)&&(e=b({rel:"modulepreload",href:e},t),za.set(u,e),a.querySelector(r)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Vr(u)))return}l=a.createElement("link"),Xt(l,"link",e),ft(l),a.head.appendChild(l)}}}function l0(e,t,a){_l.S(e,t,a);var l=Yi;if(l&&e){var r=Ct(l).hoistableStyles,u=Gi(e);t=t||"default";var h=r.get(u);if(!h){var v={loading:0,preload:null};if(h=l.querySelector(kr(u)))v.loading=5;else{e=b({rel:"stylesheet",href:e,"data-precedence":t},a),(a=za.get(u))&&sf(e,a);var j=h=l.createElement("link");ft(j),Xt(j,"link",e),j._p=new Promise(function(H,k){j.onload=H,j.onerror=k}),j.addEventListener("load",function(){v.loading|=1}),j.addEventListener("error",function(){v.loading|=2}),v.loading|=4,Tu(h,t,l)}h={type:"stylesheet",instance:h,count:1,state:v},r.set(u,h)}}}function n0(e,t){_l.X(e,t);var a=Yi;if(a&&e){var l=Ct(a).hoistableScripts,r=Ki(e),u=l.get(r);u||(u=a.querySelector(Vr(r)),u||(e=b({src:e,async:!0},t),(t=za.get(r))&&uf(e,t),u=a.createElement("script"),ft(u),Xt(u,"link",e),a.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},l.set(r,u))}}function i0(e,t){_l.M(e,t);var a=Yi;if(a&&e){var l=Ct(a).hoistableScripts,r=Ki(e),u=l.get(r);u||(u=a.querySelector(Vr(r)),u||(e=b({src:e,async:!0,type:"module"},t),(t=za.get(r))&&uf(e,t),u=a.createElement("script"),ft(u),Xt(u,"link",e),a.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},l.set(r,u))}}function Ay(e,t,a,l){var r=(r=ge.current)?Cu(r):null;if(!r)throw Error(c(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=Gi(a.href),a=Ct(r).hoistableStyles,l=a.get(t),l||(l={type:"style",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=Gi(a.href);var u=Ct(r).hoistableStyles,h=u.get(e);if(h||(r=r.ownerDocument||r,h={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},u.set(e,h),(u=r.querySelector(kr(e)))&&!u._p&&(h.instance=u,h.state.loading=5),za.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},za.set(e,a),u||r0(r,e,a,h.state))),t&&l===null)throw Error(c(528,""));return h}if(t&&l!==null)throw Error(c(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Ki(a),a=Ct(r).hoistableScripts,l=a.get(t),l||(l={type:"script",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(c(444,e))}}function Gi(e){return'href="'+Ra(e)+'"'}function kr(e){return'link[rel="stylesheet"]['+e+"]"}function Uy(e){return b({},e,{"data-precedence":e.precedence,precedence:null})}function r0(e,t,a,l){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?l.loading=1:(t=e.createElement("link"),l.preload=t,t.addEventListener("load",function(){return l.loading|=1}),t.addEventListener("error",function(){return l.loading|=2}),Xt(t,"link",a),ft(t),e.head.appendChild(t))}function Ki(e){return'[src="'+Ra(e)+'"]'}function Vr(e){return"script[async]"+e}function Ly(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var l=e.querySelector('style[data-href~="'+Ra(a.href)+'"]');if(l)return t.instance=l,ft(l),l;var r=b({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return l=(e.ownerDocument||e).createElement("style"),ft(l),Xt(l,"style",r),Tu(l,a.precedence,e),t.instance=l;case"stylesheet":r=Gi(a.href);var u=e.querySelector(kr(r));if(u)return t.state.loading|=4,t.instance=u,ft(u),u;l=Uy(a),(r=za.get(r))&&sf(l,r),u=(e.ownerDocument||e).createElement("link"),ft(u);var h=u;return h._p=new Promise(function(v,j){h.onload=v,h.onerror=j}),Xt(u,"link",l),t.state.loading|=4,Tu(u,a.precedence,e),t.instance=u;case"script":return u=Ki(a.src),(r=e.querySelector(Vr(u)))?(t.instance=r,ft(r),r):(l=a,(r=za.get(u))&&(l=b({},a),uf(l,r)),e=e.ownerDocument||e,r=e.createElement("script"),ft(r),Xt(r,"link",l),e.head.appendChild(r),t.instance=r);case"void":return null;default:throw Error(c(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(l=t.instance,t.state.loading|=4,Tu(l,a.precedence,e));return t.instance}function Tu(e,t,a){for(var l=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),r=l.length?l[l.length-1]:null,u=r,h=0;h title"):null)}function s0(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function qy(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function u0(e,t,a,l){if(a.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var r=Gi(l.href),u=t.querySelector(kr(r));if(u){t=u._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Mu.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=u,ft(u);return}u=t.ownerDocument||t,l=Uy(l),(r=za.get(r))&&sf(l,r),u=u.createElement("link"),ft(u);var h=u;h._p=new Promise(function(v,j){h.onload=v,h.onerror=j}),Xt(u,"link",l),a.instance=u}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=Mu.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var cf=0;function c0(e,t){return e.stylesheets&&e.count===0&&Ou(e,e.stylesheets),0cf?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(l),clearTimeout(r)}}:null}function Mu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Ou(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var wu=null;function Ou(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,wu=new Map,t.forEach(o0,e),wu=null,Mu.call(e))}function o0(e,t){if(!(t.state.loading&4)){var a=wu.get(e);if(a)var l=a.get(null);else{a=new Map,wu.set(e,a);for(var r=e.querySelectorAll("link[data-precedence],style[data-precedence]"),u=0;u"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(i){console.error(i)}}return n(),bf.exports=M0(),bf.exports}var O0=w0();const D0=yv(O0);var sr=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(n){return this.listeners.add(n),this.onSubscribe(),()=>{this.listeners.delete(n),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Fn,yn,Fi,nv,z0=(nv=class extends sr{constructor(){super();Ee(this,Fn);Ee(this,yn);Ee(this,Fi);oe(this,Fi,i=>{if(typeof window<"u"&&window.addEventListener){const s=()=>i();return window.addEventListener("visibilitychange",s,!1),()=>{window.removeEventListener("visibilitychange",s)}}})}onSubscribe(){N(this,yn)||this.setEventListener(N(this,Fi))}onUnsubscribe(){var i;this.hasListeners()||((i=N(this,yn))==null||i.call(this),oe(this,yn,void 0))}setEventListener(i){var s;oe(this,Fi,i),(s=N(this,yn))==null||s.call(this),oe(this,yn,i(c=>{typeof c=="boolean"?this.setFocused(c):this.onFocus()}))}setFocused(i){N(this,Fn)!==i&&(oe(this,Fn,i),this.onFocus())}onFocus(){const i=this.isFocused();this.listeners.forEach(s=>{s(i)})}isFocused(){var i;return typeof N(this,Fn)=="boolean"?N(this,Fn):((i=globalThis.document)==null?void 0:i.visibilityState)!=="hidden"}},Fn=new WeakMap,yn=new WeakMap,Fi=new WeakMap,nv),Jf=new z0,A0={setTimeout:(n,i)=>setTimeout(n,i),clearTimeout:n=>clearTimeout(n),setInterval:(n,i)=>setInterval(n,i),clearInterval:n=>clearInterval(n)},pn,Zf,iv,U0=(iv=class{constructor(){Ee(this,pn,A0);Ee(this,Zf,!1)}setTimeoutProvider(n){oe(this,pn,n)}setTimeout(n,i){return N(this,pn).setTimeout(n,i)}clearTimeout(n){N(this,pn).clearTimeout(n)}setInterval(n,i){return N(this,pn).setInterval(n,i)}clearInterval(n){N(this,pn).clearInterval(n)}},pn=new WeakMap,Zf=new WeakMap,iv),Vn=new U0;function L0(n){setTimeout(n,0)}var H0=typeof window>"u"||"Deno"in globalThis;function It(){}function B0(n,i){return typeof n=="function"?n(i):n}function Mf(n){return typeof n=="number"&&n>=0&&n!==1/0}function gv(n,i){return Math.max(n+(i||0)-Date.now(),0)}function Rn(n,i){return typeof n=="function"?n(i):n}function La(n,i){return typeof n=="function"?n(i):n}function fp(n,i){const{type:s="all",exact:c,fetchStatus:f,predicate:d,queryKey:m,stale:y}=n;if(m){if(c){if(i.queryHash!==$f(m,i.options))return!1}else if(!rs(i.queryKey,m))return!1}if(s!=="all"){const g=i.isActive();if(s==="active"&&!g||s==="inactive"&&g)return!1}return!(typeof y=="boolean"&&i.isStale()!==y||f&&f!==i.state.fetchStatus||d&&!d(i))}function dp(n,i){const{exact:s,status:c,predicate:f,mutationKey:d}=n;if(d){if(!i.options.mutationKey)return!1;if(s){if(li(i.options.mutationKey)!==li(d))return!1}else if(!rs(i.options.mutationKey,d))return!1}return!(c&&i.state.status!==c||f&&!f(i))}function $f(n,i){return((i==null?void 0:i.queryKeyHashFn)||li)(n)}function li(n){return JSON.stringify(n,(i,s)=>wf(s)?Object.keys(s).sort().reduce((c,f)=>(c[f]=s[f],c),{}):s)}function rs(n,i){return n===i?!0:typeof n!=typeof i?!1:n&&i&&typeof n=="object"&&typeof i=="object"?Object.keys(i).every(s=>rs(n[s],i[s])):!1}var q0=Object.prototype.hasOwnProperty;function bv(n,i,s=0){if(n===i)return n;if(s>500)return i;const c=hp(n)&&hp(i);if(!c&&!(wf(n)&&wf(i)))return i;const d=(c?n:Object.keys(n)).length,m=c?i:Object.keys(i),y=m.length,g=c?new Array(y):{};let p=0;for(let x=0;x{Vn.setTimeout(i,n)})}function Of(n,i,s){return typeof s.structuralSharing=="function"?s.structuralSharing(n,i):s.structuralSharing!==!1?bv(n,i):i}function Y0(n,i,s=0){const c=[...n,i];return s&&c.length>s?c.slice(1):c}function G0(n,i,s=0){const c=[i,...n];return s&&c.length>s?c.slice(0,-1):c}var Wf=Symbol();function Sv(n,i){return!n.queryFn&&(i!=null&&i.initialPromise)?()=>i.initialPromise:!n.queryFn||n.queryFn===Wf?()=>Promise.reject(new Error(`Missing queryFn: '${n.queryHash}'`)):n.queryFn}function Pf(n,i){return typeof n=="function"?n(...i):!!n}function K0(n,i,s){let c=!1,f;return Object.defineProperty(n,"signal",{enumerable:!0,get:()=>(f??(f=i()),c||(c=!0,f.aborted?s():f.addEventListener("abort",s,{once:!0})),f)}),n}var ss=(()=>{let n=()=>H0;return{isServer(){return n()},setIsServer(i){n=i}}})();function Df(){let n,i;const s=new Promise((f,d)=>{n=f,i=d});s.status="pending",s.catch(()=>{});function c(f){Object.assign(s,f),delete s.resolve,delete s.reject}return s.resolve=f=>{c({status:"fulfilled",value:f}),n(f)},s.reject=f=>{c({status:"rejected",reason:f}),i(f)},s}var X0=L0;function k0(){let n=[],i=0,s=y=>{y()},c=y=>{y()},f=X0;const d=y=>{i?n.push(y):f(()=>{s(y)})},m=()=>{const y=n;n=[],y.length&&f(()=>{c(()=>{y.forEach(g=>{s(g)})})})};return{batch:y=>{let g;i++;try{g=y()}finally{i--,i||m()}return g},batchCalls:y=>(...g)=>{d(()=>{y(...g)})},schedule:d,setNotifyFunction:y=>{s=y},setBatchNotifyFunction:y=>{c=y},setScheduler:y=>{f=y}}}var zt=k0(),Ji,vn,$i,rv,V0=(rv=class extends sr{constructor(){super();Ee(this,Ji,!0);Ee(this,vn);Ee(this,$i);oe(this,$i,i=>{if(typeof window<"u"&&window.addEventListener){const s=()=>i(!0),c=()=>i(!1);return window.addEventListener("online",s,!1),window.addEventListener("offline",c,!1),()=>{window.removeEventListener("online",s),window.removeEventListener("offline",c)}}})}onSubscribe(){N(this,vn)||this.setEventListener(N(this,$i))}onUnsubscribe(){var i;this.hasListeners()||((i=N(this,vn))==null||i.call(this),oe(this,vn,void 0))}setEventListener(i){var s;oe(this,$i,i),(s=N(this,vn))==null||s.call(this),oe(this,vn,i(this.setOnline.bind(this)))}setOnline(i){N(this,Ji)!==i&&(oe(this,Ji,i),this.listeners.forEach(c=>{c(i)}))}isOnline(){return N(this,Ji)}},Ji=new WeakMap,vn=new WeakMap,$i=new WeakMap,rv),Wu=new V0;function Z0(n){return Math.min(1e3*2**n,3e4)}function xv(n){return(n??"online")==="online"?Wu.isOnline():!0}var zf=class extends Error{constructor(n){super("CancelledError"),this.revert=n==null?void 0:n.revert,this.silent=n==null?void 0:n.silent}};function jv(n){let i=!1,s=0,c;const f=Df(),d=()=>f.status!=="pending",m=D=>{var L;if(!d()){const X=new zf(D);_(X),(L=n.onCancel)==null||L.call(n,X)}},y=()=>{i=!0},g=()=>{i=!1},p=()=>Jf.isFocused()&&(n.networkMode==="always"||Wu.isOnline())&&n.canRun(),x=()=>xv(n.networkMode)&&n.canRun(),b=D=>{d()||(c==null||c(),f.resolve(D))},_=D=>{d()||(c==null||c(),f.reject(D))},C=()=>new Promise(D=>{var L;c=X=>{(d()||p())&&D(X)},(L=n.onPause)==null||L.call(n)}).then(()=>{var D;c=void 0,d()||(D=n.onContinue)==null||D.call(n)}),A=()=>{if(d())return;let D;const L=s===0?n.initialPromise:void 0;try{D=L??n.fn()}catch(X){D=Promise.reject(X)}Promise.resolve(D).then(b).catch(X=>{var fe;if(d())return;const W=n.retry??(ss.isServer()?0:3),F=n.retryDelay??Z0,P=typeof F=="function"?F(s,X):F,ae=W===!0||typeof W=="number"&&sp()?void 0:C()).then(()=>{i?_(X):A()})})};return{promise:f,status:()=>f.status,cancel:m,continue:()=>(c==null||c(),f),cancelRetry:y,continueRetry:g,canStart:x,start:()=>(x()?A():C().then(A),f)}}var Jn,sv,Ev=(sv=class{constructor(){Ee(this,Jn)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Mf(this.gcTime)&&oe(this,Jn,Vn.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(n){this.gcTime=Math.max(this.gcTime||0,n??(ss.isServer()?1/0:300*1e3))}clearGcTimeout(){N(this,Jn)!==void 0&&(Vn.clearTimeout(N(this,Jn)),oe(this,Jn,void 0))}},Jn=new WeakMap,sv),$n,Wi,Aa,Wn,qt,fs,Pn,xa,Nv,Ml,uv,F0=(uv=class extends Ev{constructor(i){super();Ee(this,xa);Ee(this,$n);Ee(this,Wi);Ee(this,Aa);Ee(this,Wn);Ee(this,qt);Ee(this,fs);Ee(this,Pn);oe(this,Pn,!1),oe(this,fs,i.defaultOptions),this.setOptions(i.options),this.observers=[],oe(this,Wn,i.client),oe(this,Aa,N(this,Wn).getQueryCache()),this.queryKey=i.queryKey,this.queryHash=i.queryHash,oe(this,$n,pp(this.options)),this.state=i.state??N(this,$n),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var i;return(i=N(this,qt))==null?void 0:i.promise}setOptions(i){if(this.options={...N(this,fs),...i},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const s=pp(this.options);s.data!==void 0&&(this.setState(yp(s.data,s.dataUpdatedAt)),oe(this,$n,s))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&N(this,Aa).remove(this)}setData(i,s){const c=Of(this.state.data,i,this.options);return Ue(this,xa,Ml).call(this,{data:c,type:"success",dataUpdatedAt:s==null?void 0:s.updatedAt,manual:s==null?void 0:s.manual}),c}setState(i,s){Ue(this,xa,Ml).call(this,{type:"setState",state:i,setStateOptions:s})}cancel(i){var c,f;const s=(c=N(this,qt))==null?void 0:c.promise;return(f=N(this,qt))==null||f.cancel(i),s?s.then(It).catch(It):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return N(this,$n)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(i=>La(i.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Wf||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(i=>Rn(i.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(i=>i.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(i=0){return this.state.data===void 0?!0:i==="static"?!1:this.state.isInvalidated?!0:!gv(this.state.dataUpdatedAt,i)}onFocus(){var s;const i=this.observers.find(c=>c.shouldFetchOnWindowFocus());i==null||i.refetch({cancelRefetch:!1}),(s=N(this,qt))==null||s.continue()}onOnline(){var s;const i=this.observers.find(c=>c.shouldFetchOnReconnect());i==null||i.refetch({cancelRefetch:!1}),(s=N(this,qt))==null||s.continue()}addObserver(i){this.observers.includes(i)||(this.observers.push(i),this.clearGcTimeout(),N(this,Aa).notify({type:"observerAdded",query:this,observer:i}))}removeObserver(i){this.observers.includes(i)&&(this.observers=this.observers.filter(s=>s!==i),this.observers.length||(N(this,qt)&&(N(this,Pn)||Ue(this,xa,Nv).call(this)?N(this,qt).cancel({revert:!0}):N(this,qt).cancelRetry()),this.scheduleGc()),N(this,Aa).notify({type:"observerRemoved",query:this,observer:i}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||Ue(this,xa,Ml).call(this,{type:"invalidate"})}async fetch(i,s){var g,p,x,b,_,C,A,D,L,X,W,F;if(this.state.fetchStatus!=="idle"&&((g=N(this,qt))==null?void 0:g.status())!=="rejected"){if(this.state.data!==void 0&&(s!=null&&s.cancelRefetch))this.cancel({silent:!0});else if(N(this,qt))return N(this,qt).continueRetry(),N(this,qt).promise}if(i&&this.setOptions(i),!this.options.queryFn){const P=this.observers.find(ae=>ae.options.queryFn);P&&this.setOptions(P.options)}const c=new AbortController,f=P=>{Object.defineProperty(P,"signal",{enumerable:!0,get:()=>(oe(this,Pn,!0),c.signal)})},d=()=>{const P=Sv(this.options,s),fe=(()=>{const ne={client:N(this,Wn),queryKey:this.queryKey,meta:this.meta};return f(ne),ne})();return oe(this,Pn,!1),this.options.persister?this.options.persister(P,fe,this):P(fe)},y=(()=>{const P={fetchOptions:s,options:this.options,queryKey:this.queryKey,client:N(this,Wn),state:this.state,fetchFn:d};return f(P),P})();(p=this.options.behavior)==null||p.onFetch(y,this),oe(this,Wi,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((x=y.fetchOptions)==null?void 0:x.meta))&&Ue(this,xa,Ml).call(this,{type:"fetch",meta:(b=y.fetchOptions)==null?void 0:b.meta}),oe(this,qt,jv({initialPromise:s==null?void 0:s.initialPromise,fn:y.fetchFn,onCancel:P=>{P instanceof zf&&P.revert&&this.setState({...N(this,Wi),fetchStatus:"idle"}),c.abort()},onFail:(P,ae)=>{Ue(this,xa,Ml).call(this,{type:"failed",failureCount:P,error:ae})},onPause:()=>{Ue(this,xa,Ml).call(this,{type:"pause"})},onContinue:()=>{Ue(this,xa,Ml).call(this,{type:"continue"})},retry:y.options.retry,retryDelay:y.options.retryDelay,networkMode:y.options.networkMode,canRun:()=>!0}));try{const P=await N(this,qt).start();if(P===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(P),(C=(_=N(this,Aa).config).onSuccess)==null||C.call(_,P,this),(D=(A=N(this,Aa).config).onSettled)==null||D.call(A,P,this.state.error,this),P}catch(P){if(P instanceof zf){if(P.silent)return N(this,qt).promise;if(P.revert){if(this.state.data===void 0)throw P;return this.state.data}}throw Ue(this,xa,Ml).call(this,{type:"error",error:P}),(X=(L=N(this,Aa).config).onError)==null||X.call(L,P,this),(F=(W=N(this,Aa).config).onSettled)==null||F.call(W,this.state.data,P,this),P}finally{this.scheduleGc()}}},$n=new WeakMap,Wi=new WeakMap,Aa=new WeakMap,Wn=new WeakMap,qt=new WeakMap,fs=new WeakMap,Pn=new WeakMap,xa=new WeakSet,Nv=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},Ml=function(i){const s=c=>{switch(i.type){case"failed":return{...c,fetchFailureCount:i.failureCount,fetchFailureReason:i.error};case"pause":return{...c,fetchStatus:"paused"};case"continue":return{...c,fetchStatus:"fetching"};case"fetch":return{...c,...Rv(c.data,this.options),fetchMeta:i.meta??null};case"success":const f={...c,...yp(i.data,i.dataUpdatedAt),dataUpdateCount:c.dataUpdateCount+1,...!i.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return oe(this,Wi,i.manual?f:void 0),f;case"error":const d=i.error;return{...c,error:d,errorUpdateCount:c.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:c.fetchFailureCount+1,fetchFailureReason:d,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...c,isInvalidated:!0};case"setState":return{...c,...i.state}}};this.state=s(this.state),zt.batch(()=>{this.observers.forEach(c=>{c.onQueryUpdate()}),N(this,Aa).notify({query:this,type:"updated",action:i})})},uv);function Rv(n,i){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:xv(i.networkMode)?"fetching":"paused",...n===void 0&&{error:null,status:"pending"}}}function yp(n,i){return{data:n,dataUpdatedAt:i??Date.now(),error:null,isInvalidated:!1,status:"success"}}function pp(n){const i=typeof n.initialData=="function"?n.initialData():n.initialData,s=i!==void 0,c=s?typeof n.initialDataUpdatedAt=="function"?n.initialDataUpdatedAt():n.initialDataUpdatedAt:0;return{data:i,dataUpdateCount:0,dataUpdatedAt:s?c??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:s?"success":"pending",fetchStatus:"idle"}}var sa,ke,ds,Pt,In,Pi,Ol,gn,hs,Ii,er,ei,ti,bn,tr,et,as,Af,Uf,Lf,Hf,Bf,qf,Qf,Cv,cv,J0=(cv=class extends sr{constructor(i,s){super();Ee(this,et);Ee(this,sa);Ee(this,ke);Ee(this,ds);Ee(this,Pt);Ee(this,In);Ee(this,Pi);Ee(this,Ol);Ee(this,gn);Ee(this,hs);Ee(this,Ii);Ee(this,er);Ee(this,ei);Ee(this,ti);Ee(this,bn);Ee(this,tr,new Set);this.options=s,oe(this,sa,i),oe(this,gn,null),oe(this,Ol,Df()),this.bindMethods(),this.setOptions(s)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(N(this,ke).addObserver(this),vp(N(this,ke),this.options)?Ue(this,et,as).call(this):this.updateResult(),Ue(this,et,Hf).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Yf(N(this,ke),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Yf(N(this,ke),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,Ue(this,et,Bf).call(this),Ue(this,et,qf).call(this),N(this,ke).removeObserver(this)}setOptions(i){const s=this.options,c=N(this,ke);if(this.options=N(this,sa).defaultQueryOptions(i),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof La(this.options.enabled,N(this,ke))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");Ue(this,et,Qf).call(this),N(this,ke).setOptions(this.options),s._defaulted&&!$u(this.options,s)&&N(this,sa).getQueryCache().notify({type:"observerOptionsUpdated",query:N(this,ke),observer:this});const f=this.hasListeners();f&&gp(N(this,ke),c,this.options,s)&&Ue(this,et,as).call(this),this.updateResult(),f&&(N(this,ke)!==c||La(this.options.enabled,N(this,ke))!==La(s.enabled,N(this,ke))||Rn(this.options.staleTime,N(this,ke))!==Rn(s.staleTime,N(this,ke)))&&Ue(this,et,Af).call(this);const d=Ue(this,et,Uf).call(this);f&&(N(this,ke)!==c||La(this.options.enabled,N(this,ke))!==La(s.enabled,N(this,ke))||d!==N(this,bn))&&Ue(this,et,Lf).call(this,d)}getOptimisticResult(i){const s=N(this,sa).getQueryCache().build(N(this,sa),i),c=this.createResult(s,i);return W0(this,c)&&(oe(this,Pt,c),oe(this,Pi,this.options),oe(this,In,N(this,ke).state)),c}getCurrentResult(){return N(this,Pt)}trackResult(i,s){return new Proxy(i,{get:(c,f)=>(this.trackProp(f),s==null||s(f),f==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&N(this,Ol).status==="pending"&&N(this,Ol).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(c,f))})}trackProp(i){N(this,tr).add(i)}getCurrentQuery(){return N(this,ke)}refetch({...i}={}){return this.fetch({...i})}fetchOptimistic(i){const s=N(this,sa).defaultQueryOptions(i),c=N(this,sa).getQueryCache().build(N(this,sa),s);return c.fetch().then(()=>this.createResult(c,s))}fetch(i){return Ue(this,et,as).call(this,{...i,cancelRefetch:i.cancelRefetch??!0}).then(()=>(this.updateResult(),N(this,Pt)))}createResult(i,s){var le;const c=N(this,ke),f=this.options,d=N(this,Pt),m=N(this,In),y=N(this,Pi),p=i!==c?i.state:N(this,ds),{state:x}=i;let b={...x},_=!1,C;if(s._optimisticResults){const ie=this.hasListeners(),Se=!ie&&vp(i,s),xe=ie&&gp(i,c,s,f);(Se||xe)&&(b={...b,...Rv(x.data,i.options)}),s._optimisticResults==="isRestoring"&&(b.fetchStatus="idle")}let{error:A,errorUpdatedAt:D,status:L}=b;C=b.data;let X=!1;if(s.placeholderData!==void 0&&C===void 0&&L==="pending"){let ie;d!=null&&d.isPlaceholderData&&s.placeholderData===(y==null?void 0:y.placeholderData)?(ie=d.data,X=!0):ie=typeof s.placeholderData=="function"?s.placeholderData((le=N(this,er))==null?void 0:le.state.data,N(this,er)):s.placeholderData,ie!==void 0&&(L="success",C=Of(d==null?void 0:d.data,ie,s),_=!0)}if(s.select&&C!==void 0&&!X)if(d&&C===(m==null?void 0:m.data)&&s.select===N(this,hs))C=N(this,Ii);else try{oe(this,hs,s.select),C=s.select(C),C=Of(d==null?void 0:d.data,C,s),oe(this,Ii,C),oe(this,gn,null)}catch(ie){oe(this,gn,ie)}N(this,gn)&&(A=N(this,gn),C=N(this,Ii),D=Date.now(),L="error");const W=b.fetchStatus==="fetching",F=L==="pending",P=L==="error",ae=F&&W,fe=C!==void 0,O={status:L,fetchStatus:b.fetchStatus,isPending:F,isSuccess:L==="success",isError:P,isInitialLoading:ae,isLoading:ae,data:C,dataUpdatedAt:b.dataUpdatedAt,error:A,errorUpdatedAt:D,failureCount:b.fetchFailureCount,failureReason:b.fetchFailureReason,errorUpdateCount:b.errorUpdateCount,isFetched:i.isFetched(),isFetchedAfterMount:b.dataUpdateCount>p.dataUpdateCount||b.errorUpdateCount>p.errorUpdateCount,isFetching:W,isRefetching:W&&!F,isLoadingError:P&&!fe,isPaused:b.fetchStatus==="paused",isPlaceholderData:_,isRefetchError:P&&fe,isStale:If(i,s),refetch:this.refetch,promise:N(this,Ol),isEnabled:La(s.enabled,i)!==!1};if(this.options.experimental_prefetchInRender){const ie=O.data!==void 0,Se=O.status==="error"&&!ie,xe=je=>{Se?je.reject(O.error):ie&&je.resolve(O.data)},_e=()=>{const je=oe(this,Ol,O.promise=Df());xe(je)},De=N(this,Ol);switch(De.status){case"pending":i.queryHash===c.queryHash&&xe(De);break;case"fulfilled":(Se||O.data!==De.value)&&_e();break;case"rejected":(!Se||O.error!==De.reason)&&_e();break}}return O}updateResult(){const i=N(this,Pt),s=this.createResult(N(this,ke),this.options);if(oe(this,In,N(this,ke).state),oe(this,Pi,this.options),N(this,In).data!==void 0&&oe(this,er,N(this,ke)),$u(s,i))return;oe(this,Pt,s);const c=()=>{if(!i)return!0;const{notifyOnChangeProps:f}=this.options,d=typeof f=="function"?f():f;if(d==="all"||!d&&!N(this,tr).size)return!0;const m=new Set(d??N(this,tr));return this.options.throwOnError&&m.add("error"),Object.keys(N(this,Pt)).some(y=>{const g=y;return N(this,Pt)[g]!==i[g]&&m.has(g)})};Ue(this,et,Cv).call(this,{listeners:c()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&Ue(this,et,Hf).call(this)}},sa=new WeakMap,ke=new WeakMap,ds=new WeakMap,Pt=new WeakMap,In=new WeakMap,Pi=new WeakMap,Ol=new WeakMap,gn=new WeakMap,hs=new WeakMap,Ii=new WeakMap,er=new WeakMap,ei=new WeakMap,ti=new WeakMap,bn=new WeakMap,tr=new WeakMap,et=new WeakSet,as=function(i){Ue(this,et,Qf).call(this);let s=N(this,ke).fetch(this.options,i);return i!=null&&i.throwOnError||(s=s.catch(It)),s},Af=function(){Ue(this,et,Bf).call(this);const i=Rn(this.options.staleTime,N(this,ke));if(ss.isServer()||N(this,Pt).isStale||!Mf(i))return;const c=gv(N(this,Pt).dataUpdatedAt,i)+1;oe(this,ei,Vn.setTimeout(()=>{N(this,Pt).isStale||this.updateResult()},c))},Uf=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(N(this,ke)):this.options.refetchInterval)??!1},Lf=function(i){Ue(this,et,qf).call(this),oe(this,bn,i),!(ss.isServer()||La(this.options.enabled,N(this,ke))===!1||!Mf(N(this,bn))||N(this,bn)===0)&&oe(this,ti,Vn.setInterval(()=>{(this.options.refetchIntervalInBackground||Jf.isFocused())&&Ue(this,et,as).call(this)},N(this,bn)))},Hf=function(){Ue(this,et,Af).call(this),Ue(this,et,Lf).call(this,Ue(this,et,Uf).call(this))},Bf=function(){N(this,ei)!==void 0&&(Vn.clearTimeout(N(this,ei)),oe(this,ei,void 0))},qf=function(){N(this,ti)!==void 0&&(Vn.clearInterval(N(this,ti)),oe(this,ti,void 0))},Qf=function(){const i=N(this,sa).getQueryCache().build(N(this,sa),this.options);if(i===N(this,ke))return;const s=N(this,ke);oe(this,ke,i),oe(this,ds,i.state),this.hasListeners()&&(s==null||s.removeObserver(this),i.addObserver(this))},Cv=function(i){zt.batch(()=>{i.listeners&&this.listeners.forEach(s=>{s(N(this,Pt))}),N(this,sa).getQueryCache().notify({query:N(this,ke),type:"observerResultsUpdated"})})},cv);function $0(n,i){return La(i.enabled,n)!==!1&&n.state.data===void 0&&!(n.state.status==="error"&&i.retryOnMount===!1)}function vp(n,i){return $0(n,i)||n.state.data!==void 0&&Yf(n,i,i.refetchOnMount)}function Yf(n,i,s){if(La(i.enabled,n)!==!1&&Rn(i.staleTime,n)!=="static"){const c=typeof s=="function"?s(n):s;return c==="always"||c!==!1&&If(n,i)}return!1}function gp(n,i,s,c){return(n!==i||La(c.enabled,n)===!1)&&(!s.suspense||n.state.status!=="error")&&If(n,s)}function If(n,i){return La(i.enabled,n)!==!1&&n.isStaleByTime(Rn(i.staleTime,n))}function W0(n,i){return!$u(n.getCurrentResult(),i)}function bp(n){return{onFetch:(i,s)=>{var x,b,_,C,A;const c=i.options,f=(_=(b=(x=i.fetchOptions)==null?void 0:x.meta)==null?void 0:b.fetchMore)==null?void 0:_.direction,d=((C=i.state.data)==null?void 0:C.pages)||[],m=((A=i.state.data)==null?void 0:A.pageParams)||[];let y={pages:[],pageParams:[]},g=0;const p=async()=>{let D=!1;const L=F=>{K0(F,()=>i.signal,()=>D=!0)},X=Sv(i.options,i.fetchOptions),W=async(F,P,ae)=>{if(D)return Promise.reject();if(P==null&&F.pages.length)return Promise.resolve(F);const ne=(()=>{const Se={client:i.client,queryKey:i.queryKey,pageParam:P,direction:ae?"backward":"forward",meta:i.options.meta};return L(Se),Se})(),O=await X(ne),{maxPages:le}=i.options,ie=ae?G0:Y0;return{pages:ie(F.pages,O,le),pageParams:ie(F.pageParams,P,le)}};if(f&&d.length){const F=f==="backward",P=F?P0:Sp,ae={pages:d,pageParams:m},fe=P(c,ae);y=await W(ae,fe,F)}else{const F=n??d.length;do{const P=g===0?m[0]??c.initialPageParam:Sp(c,y);if(g>0&&P==null)break;y=await W(y,P),g++}while(g{var D,L;return(L=(D=i.options).persister)==null?void 0:L.call(D,p,{client:i.client,queryKey:i.queryKey,meta:i.options.meta,signal:i.signal},s)}:i.fetchFn=p}}}function Sp(n,{pages:i,pageParams:s}){const c=i.length-1;return i.length>0?n.getNextPageParam(i[c],i,s[c],s):void 0}function P0(n,{pages:i,pageParams:s}){var c;return i.length>0?(c=n.getPreviousPageParam)==null?void 0:c.call(n,i[0],i,s[0],s):void 0}var ms,nl,Ft,ai,il,dn,ov,I0=(ov=class extends Ev{constructor(i){super();Ee(this,il);Ee(this,ms);Ee(this,nl);Ee(this,Ft);Ee(this,ai);oe(this,ms,i.client),this.mutationId=i.mutationId,oe(this,Ft,i.mutationCache),oe(this,nl,[]),this.state=i.state||Tv(),this.setOptions(i.options),this.scheduleGc()}setOptions(i){this.options=i,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(i){N(this,nl).includes(i)||(N(this,nl).push(i),this.clearGcTimeout(),N(this,Ft).notify({type:"observerAdded",mutation:this,observer:i}))}removeObserver(i){oe(this,nl,N(this,nl).filter(s=>s!==i)),this.scheduleGc(),N(this,Ft).notify({type:"observerRemoved",mutation:this,observer:i})}optionalRemove(){N(this,nl).length||(this.state.status==="pending"?this.scheduleGc():N(this,Ft).remove(this))}continue(){var i;return((i=N(this,ai))==null?void 0:i.continue())??this.execute(this.state.variables)}async execute(i){var m,y,g,p,x,b,_,C,A,D,L,X,W,F,P,ae,fe,ne;const s=()=>{Ue(this,il,dn).call(this,{type:"continue"})},c={client:N(this,ms),meta:this.options.meta,mutationKey:this.options.mutationKey};oe(this,ai,jv({fn:()=>this.options.mutationFn?this.options.mutationFn(i,c):Promise.reject(new Error("No mutationFn found")),onFail:(O,le)=>{Ue(this,il,dn).call(this,{type:"failed",failureCount:O,error:le})},onPause:()=>{Ue(this,il,dn).call(this,{type:"pause"})},onContinue:s,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>N(this,Ft).canRun(this)}));const f=this.state.status==="pending",d=!N(this,ai).canStart();try{if(f)s();else{Ue(this,il,dn).call(this,{type:"pending",variables:i,isPaused:d}),N(this,Ft).config.onMutate&&await N(this,Ft).config.onMutate(i,this,c);const le=await((y=(m=this.options).onMutate)==null?void 0:y.call(m,i,c));le!==this.state.context&&Ue(this,il,dn).call(this,{type:"pending",context:le,variables:i,isPaused:d})}const O=await N(this,ai).start();return await((p=(g=N(this,Ft).config).onSuccess)==null?void 0:p.call(g,O,i,this.state.context,this,c)),await((b=(x=this.options).onSuccess)==null?void 0:b.call(x,O,i,this.state.context,c)),await((C=(_=N(this,Ft).config).onSettled)==null?void 0:C.call(_,O,null,this.state.variables,this.state.context,this,c)),await((D=(A=this.options).onSettled)==null?void 0:D.call(A,O,null,i,this.state.context,c)),Ue(this,il,dn).call(this,{type:"success",data:O}),O}catch(O){try{await((X=(L=N(this,Ft).config).onError)==null?void 0:X.call(L,O,i,this.state.context,this,c))}catch(le){Promise.reject(le)}try{await((F=(W=this.options).onError)==null?void 0:F.call(W,O,i,this.state.context,c))}catch(le){Promise.reject(le)}try{await((ae=(P=N(this,Ft).config).onSettled)==null?void 0:ae.call(P,void 0,O,this.state.variables,this.state.context,this,c))}catch(le){Promise.reject(le)}try{await((ne=(fe=this.options).onSettled)==null?void 0:ne.call(fe,void 0,O,i,this.state.context,c))}catch(le){Promise.reject(le)}throw Ue(this,il,dn).call(this,{type:"error",error:O}),O}finally{N(this,Ft).runNext(this)}}},ms=new WeakMap,nl=new WeakMap,Ft=new WeakMap,ai=new WeakMap,il=new WeakSet,dn=function(i){const s=c=>{switch(i.type){case"failed":return{...c,failureCount:i.failureCount,failureReason:i.error};case"pause":return{...c,isPaused:!0};case"continue":return{...c,isPaused:!1};case"pending":return{...c,context:i.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:i.isPaused,status:"pending",variables:i.variables,submittedAt:Date.now()};case"success":return{...c,data:i.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...c,data:void 0,error:i.error,failureCount:c.failureCount+1,failureReason:i.error,isPaused:!1,status:"error"}}};this.state=s(this.state),zt.batch(()=>{N(this,nl).forEach(c=>{c.onMutationUpdate(i)}),N(this,Ft).notify({mutation:this,type:"updated",action:i})})},ov);function Tv(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Dl,Fa,ys,fv,eS=(fv=class extends sr{constructor(i={}){super();Ee(this,Dl);Ee(this,Fa);Ee(this,ys);this.config=i,oe(this,Dl,new Set),oe(this,Fa,new Map),oe(this,ys,0)}build(i,s,c){const f=new I0({client:i,mutationCache:this,mutationId:++qu(this,ys)._,options:i.defaultMutationOptions(s),state:c});return this.add(f),f}add(i){N(this,Dl).add(i);const s=Qu(i);if(typeof s=="string"){const c=N(this,Fa).get(s);c?c.push(i):N(this,Fa).set(s,[i])}this.notify({type:"added",mutation:i})}remove(i){if(N(this,Dl).delete(i)){const s=Qu(i);if(typeof s=="string"){const c=N(this,Fa).get(s);if(c)if(c.length>1){const f=c.indexOf(i);f!==-1&&c.splice(f,1)}else c[0]===i&&N(this,Fa).delete(s)}}this.notify({type:"removed",mutation:i})}canRun(i){const s=Qu(i);if(typeof s=="string"){const c=N(this,Fa).get(s),f=c==null?void 0:c.find(d=>d.state.status==="pending");return!f||f===i}else return!0}runNext(i){var c;const s=Qu(i);if(typeof s=="string"){const f=(c=N(this,Fa).get(s))==null?void 0:c.find(d=>d!==i&&d.state.isPaused);return(f==null?void 0:f.continue())??Promise.resolve()}else return Promise.resolve()}clear(){zt.batch(()=>{N(this,Dl).forEach(i=>{this.notify({type:"removed",mutation:i})}),N(this,Dl).clear(),N(this,Fa).clear()})}getAll(){return Array.from(N(this,Dl))}find(i){const s={exact:!0,...i};return this.getAll().find(c=>dp(s,c))}findAll(i={}){return this.getAll().filter(s=>dp(i,s))}notify(i){zt.batch(()=>{this.listeners.forEach(s=>{s(i)})})}resumePausedMutations(){const i=this.getAll().filter(s=>s.state.isPaused);return zt.batch(()=>Promise.all(i.map(s=>s.continue().catch(It))))}},Dl=new WeakMap,Fa=new WeakMap,ys=new WeakMap,fv);function Qu(n){var i;return(i=n.options.scope)==null?void 0:i.id}var zl,Sn,ua,Al,Ll,ku,Gf,dv,tS=(dv=class extends sr{constructor(s,c){super();Ee(this,Ll);Ee(this,zl);Ee(this,Sn);Ee(this,ua);Ee(this,Al);oe(this,zl,s),this.setOptions(c),this.bindMethods(),Ue(this,Ll,ku).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(s){var f;const c=this.options;this.options=N(this,zl).defaultMutationOptions(s),$u(this.options,c)||N(this,zl).getMutationCache().notify({type:"observerOptionsUpdated",mutation:N(this,ua),observer:this}),c!=null&&c.mutationKey&&this.options.mutationKey&&li(c.mutationKey)!==li(this.options.mutationKey)?this.reset():((f=N(this,ua))==null?void 0:f.state.status)==="pending"&&N(this,ua).setOptions(this.options)}onUnsubscribe(){var s;this.hasListeners()||(s=N(this,ua))==null||s.removeObserver(this)}onMutationUpdate(s){Ue(this,Ll,ku).call(this),Ue(this,Ll,Gf).call(this,s)}getCurrentResult(){return N(this,Sn)}reset(){var s;(s=N(this,ua))==null||s.removeObserver(this),oe(this,ua,void 0),Ue(this,Ll,ku).call(this),Ue(this,Ll,Gf).call(this)}mutate(s,c){var f;return oe(this,Al,c),(f=N(this,ua))==null||f.removeObserver(this),oe(this,ua,N(this,zl).getMutationCache().build(N(this,zl),this.options)),N(this,ua).addObserver(this),N(this,ua).execute(s)}},zl=new WeakMap,Sn=new WeakMap,ua=new WeakMap,Al=new WeakMap,Ll=new WeakSet,ku=function(){var c;const s=((c=N(this,ua))==null?void 0:c.state)??Tv();oe(this,Sn,{...s,isPending:s.status==="pending",isSuccess:s.status==="success",isError:s.status==="error",isIdle:s.status==="idle",mutate:this.mutate,reset:this.reset})},Gf=function(s){zt.batch(()=>{var c,f,d,m,y,g,p,x;if(N(this,Al)&&this.hasListeners()){const b=N(this,Sn).variables,_=N(this,Sn).context,C={client:N(this,zl),meta:this.options.meta,mutationKey:this.options.mutationKey};if((s==null?void 0:s.type)==="success"){try{(f=(c=N(this,Al)).onSuccess)==null||f.call(c,s.data,b,_,C)}catch(A){Promise.reject(A)}try{(m=(d=N(this,Al)).onSettled)==null||m.call(d,s.data,null,b,_,C)}catch(A){Promise.reject(A)}}else if((s==null?void 0:s.type)==="error"){try{(g=(y=N(this,Al)).onError)==null||g.call(y,s.error,b,_,C)}catch(A){Promise.reject(A)}try{(x=(p=N(this,Al)).onSettled)==null||x.call(p,void 0,s.error,b,_,C)}catch(A){Promise.reject(A)}}}this.listeners.forEach(b=>{b(N(this,Sn))})})},dv),rl,hv,aS=(hv=class extends sr{constructor(i={}){super();Ee(this,rl);this.config=i,oe(this,rl,new Map)}build(i,s,c){const f=s.queryKey,d=s.queryHash??$f(f,s);let m=this.get(d);return m||(m=new F0({client:i,queryKey:f,queryHash:d,options:i.defaultQueryOptions(s),state:c,defaultOptions:i.getQueryDefaults(f)}),this.add(m)),m}add(i){N(this,rl).has(i.queryHash)||(N(this,rl).set(i.queryHash,i),this.notify({type:"added",query:i}))}remove(i){const s=N(this,rl).get(i.queryHash);s&&(i.destroy(),s===i&&N(this,rl).delete(i.queryHash),this.notify({type:"removed",query:i}))}clear(){zt.batch(()=>{this.getAll().forEach(i=>{this.remove(i)})})}get(i){return N(this,rl).get(i)}getAll(){return[...N(this,rl).values()]}find(i){const s={exact:!0,...i};return this.getAll().find(c=>fp(s,c))}findAll(i={}){const s=this.getAll();return Object.keys(i).length>0?s.filter(c=>fp(i,c)):s}notify(i){zt.batch(()=>{this.listeners.forEach(s=>{s(i)})})}onFocus(){zt.batch(()=>{this.getAll().forEach(i=>{i.onFocus()})})}onOnline(){zt.batch(()=>{this.getAll().forEach(i=>{i.onOnline()})})}},rl=new WeakMap,hv),xt,xn,jn,ar,lr,En,nr,ir,mv,lS=(mv=class{constructor(n={}){Ee(this,xt);Ee(this,xn);Ee(this,jn);Ee(this,ar);Ee(this,lr);Ee(this,En);Ee(this,nr);Ee(this,ir);oe(this,xt,n.queryCache||new aS),oe(this,xn,n.mutationCache||new eS),oe(this,jn,n.defaultOptions||{}),oe(this,ar,new Map),oe(this,lr,new Map),oe(this,En,0)}mount(){qu(this,En)._++,N(this,En)===1&&(oe(this,nr,Jf.subscribe(async n=>{n&&(await this.resumePausedMutations(),N(this,xt).onFocus())})),oe(this,ir,Wu.subscribe(async n=>{n&&(await this.resumePausedMutations(),N(this,xt).onOnline())})))}unmount(){var n,i;qu(this,En)._--,N(this,En)===0&&((n=N(this,nr))==null||n.call(this),oe(this,nr,void 0),(i=N(this,ir))==null||i.call(this),oe(this,ir,void 0))}isFetching(n){return N(this,xt).findAll({...n,fetchStatus:"fetching"}).length}isMutating(n){return N(this,xn).findAll({...n,status:"pending"}).length}getQueryData(n){var s;const i=this.defaultQueryOptions({queryKey:n});return(s=N(this,xt).get(i.queryHash))==null?void 0:s.state.data}ensureQueryData(n){const i=this.defaultQueryOptions(n),s=N(this,xt).build(this,i),c=s.state.data;return c===void 0?this.fetchQuery(n):(n.revalidateIfStale&&s.isStaleByTime(Rn(i.staleTime,s))&&this.prefetchQuery(i),Promise.resolve(c))}getQueriesData(n){return N(this,xt).findAll(n).map(({queryKey:i,state:s})=>{const c=s.data;return[i,c]})}setQueryData(n,i,s){const c=this.defaultQueryOptions({queryKey:n}),f=N(this,xt).get(c.queryHash),d=f==null?void 0:f.state.data,m=B0(i,d);if(m!==void 0)return N(this,xt).build(this,c).setData(m,{...s,manual:!0})}setQueriesData(n,i,s){return zt.batch(()=>N(this,xt).findAll(n).map(({queryKey:c})=>[c,this.setQueryData(c,i,s)]))}getQueryState(n){var s;const i=this.defaultQueryOptions({queryKey:n});return(s=N(this,xt).get(i.queryHash))==null?void 0:s.state}removeQueries(n){const i=N(this,xt);zt.batch(()=>{i.findAll(n).forEach(s=>{i.remove(s)})})}resetQueries(n,i){const s=N(this,xt);return zt.batch(()=>(s.findAll(n).forEach(c=>{c.reset()}),this.refetchQueries({type:"active",...n},i)))}cancelQueries(n,i={}){const s={revert:!0,...i},c=zt.batch(()=>N(this,xt).findAll(n).map(f=>f.cancel(s)));return Promise.all(c).then(It).catch(It)}invalidateQueries(n,i={}){return zt.batch(()=>(N(this,xt).findAll(n).forEach(s=>{s.invalidate()}),(n==null?void 0:n.refetchType)==="none"?Promise.resolve():this.refetchQueries({...n,type:(n==null?void 0:n.refetchType)??(n==null?void 0:n.type)??"active"},i)))}refetchQueries(n,i={}){const s={...i,cancelRefetch:i.cancelRefetch??!0},c=zt.batch(()=>N(this,xt).findAll(n).filter(f=>!f.isDisabled()&&!f.isStatic()).map(f=>{let d=f.fetch(void 0,s);return s.throwOnError||(d=d.catch(It)),f.state.fetchStatus==="paused"?Promise.resolve():d}));return Promise.all(c).then(It)}fetchQuery(n){const i=this.defaultQueryOptions(n);i.retry===void 0&&(i.retry=!1);const s=N(this,xt).build(this,i);return s.isStaleByTime(Rn(i.staleTime,s))?s.fetch(i):Promise.resolve(s.state.data)}prefetchQuery(n){return this.fetchQuery(n).then(It).catch(It)}fetchInfiniteQuery(n){return n.behavior=bp(n.pages),this.fetchQuery(n)}prefetchInfiniteQuery(n){return this.fetchInfiniteQuery(n).then(It).catch(It)}ensureInfiniteQueryData(n){return n.behavior=bp(n.pages),this.ensureQueryData(n)}resumePausedMutations(){return Wu.isOnline()?N(this,xn).resumePausedMutations():Promise.resolve()}getQueryCache(){return N(this,xt)}getMutationCache(){return N(this,xn)}getDefaultOptions(){return N(this,jn)}setDefaultOptions(n){oe(this,jn,n)}setQueryDefaults(n,i){N(this,ar).set(li(n),{queryKey:n,defaultOptions:i})}getQueryDefaults(n){const i=[...N(this,ar).values()],s={};return i.forEach(c=>{rs(n,c.queryKey)&&Object.assign(s,c.defaultOptions)}),s}setMutationDefaults(n,i){N(this,lr).set(li(n),{mutationKey:n,defaultOptions:i})}getMutationDefaults(n){const i=[...N(this,lr).values()],s={};return i.forEach(c=>{rs(n,c.mutationKey)&&Object.assign(s,c.defaultOptions)}),s}defaultQueryOptions(n){if(n._defaulted)return n;const i={...N(this,jn).queries,...this.getQueryDefaults(n.queryKey),...n,_defaulted:!0};return i.queryHash||(i.queryHash=$f(i.queryKey,i)),i.refetchOnReconnect===void 0&&(i.refetchOnReconnect=i.networkMode!=="always"),i.throwOnError===void 0&&(i.throwOnError=!!i.suspense),!i.networkMode&&i.persister&&(i.networkMode="offlineFirst"),i.queryFn===Wf&&(i.enabled=!1),i}defaultMutationOptions(n){return n!=null&&n._defaulted?n:{...N(this,jn).mutations,...(n==null?void 0:n.mutationKey)&&this.getMutationDefaults(n.mutationKey),...n,_defaulted:!0}}clear(){N(this,xt).clear(),N(this,xn).clear()}},xt=new WeakMap,xn=new WeakMap,jn=new WeakMap,ar=new WeakMap,lr=new WeakMap,En=new WeakMap,nr=new WeakMap,ir=new WeakMap,mv),_v=S.createContext(void 0),ni=n=>{const i=S.useContext(_v);if(!i)throw new Error("No QueryClient set, use QueryClientProvider to set one");return i},nS=({client:n,children:i})=>(S.useEffect(()=>(n.mount(),()=>{n.unmount()}),[n]),o.jsx(_v.Provider,{value:n,children:i})),Mv=S.createContext(!1),iS=()=>S.useContext(Mv);Mv.Provider;function rS(){let n=!1;return{clearReset:()=>{n=!1},reset:()=>{n=!0},isReset:()=>n}}var sS=S.createContext(rS()),uS=()=>S.useContext(sS),cS=(n,i,s)=>{const c=s!=null&&s.state.error&&typeof n.throwOnError=="function"?Pf(n.throwOnError,[s.state.error,s]):n.throwOnError;(n.suspense||n.experimental_prefetchInRender||c)&&(i.isReset()||(n.retryOnMount=!1))},oS=n=>{S.useEffect(()=>{n.clearReset()},[n])},fS=({result:n,errorResetBoundary:i,throwOnError:s,query:c,suspense:f})=>n.isError&&!i.isReset()&&!n.isFetching&&c&&(f&&n.data===void 0||Pf(s,[n.error,c])),dS=n=>{if(n.suspense){const s=f=>f==="static"?f:Math.max(f??1e3,1e3),c=n.staleTime;n.staleTime=typeof c=="function"?(...f)=>s(c(...f)):s(c),typeof n.gcTime=="number"&&(n.gcTime=Math.max(n.gcTime,1e3))}},hS=(n,i)=>n.isLoading&&n.isFetching&&!i,mS=(n,i)=>(n==null?void 0:n.suspense)&&i.isPending,xp=(n,i,s)=>i.fetchOptimistic(n).catch(()=>{s.clearReset()});function yS(n,i,s){var _,C,A,D;const c=iS(),f=uS(),d=ni(),m=d.defaultQueryOptions(n);(C=(_=d.getDefaultOptions().queries)==null?void 0:_._experimental_beforeQuery)==null||C.call(_,m);const y=d.getQueryCache().get(m.queryHash);m._optimisticResults=c?"isRestoring":"optimistic",dS(m),cS(m,f,y),oS(f);const g=!d.getQueryCache().get(m.queryHash),[p]=S.useState(()=>new i(d,m)),x=p.getOptimisticResult(m),b=!c&&n.subscribed!==!1;if(S.useSyncExternalStore(S.useCallback(L=>{const X=b?p.subscribe(zt.batchCalls(L)):It;return p.updateResult(),X},[p,b]),()=>p.getCurrentResult(),()=>p.getCurrentResult()),S.useEffect(()=>{p.setOptions(m)},[m,p]),mS(m,x))throw xp(m,p,f);if(fS({result:x,errorResetBoundary:f,throwOnError:m.throwOnError,query:y,suspense:m.suspense}))throw x.error;if((D=(A=d.getDefaultOptions().queries)==null?void 0:A._experimental_afterQuery)==null||D.call(A,m,x),m.experimental_prefetchInRender&&!ss.isServer()&&hS(x,c)){const L=g?xp(m,p,f):y==null?void 0:y.promise;L==null||L.catch(It).finally(()=>{p.updateResult()})}return m.notifyOnChangeProps?x:p.trackResult(x)}function Ha(n,i){return yS(n,J0)}function Qt(n,i){const s=ni(),[c]=S.useState(()=>new tS(s,n));S.useEffect(()=>{c.setOptions(n)},[c,n]);const f=S.useSyncExternalStore(S.useCallback(m=>c.subscribe(zt.batchCalls(m)),[c]),()=>c.getCurrentResult(),()=>c.getCurrentResult()),d=S.useCallback((m,y)=>{c.mutate(m,y).catch(It)},[c]);if(f.error&&Pf(c.options.throwOnError,[f.error]))throw f.error;return{...f,mutate:d,mutateAsync:f.mutate}}/** +`+l.stack}}var qa=Object.prototype.hasOwnProperty,cl=n.unstable_scheduleCallback,Ll=n.unstable_cancelCallback,ri=n.unstable_shouldYield,ui=n.unstable_requestPaint,Ut=n.unstable_now,Y=n.unstable_getCurrentPriorityLevel,Qe=n.unstable_ImmediatePriority,ct=n.unstable_UserBlockingPriority,at=n.unstable_NormalPriority,vt=n.unstable_LowPriority,Vt=n.unstable_IdlePriority,Fa=n.log,Cn=n.unstable_setDisableYieldValue,ol=null,Wt=null;function Lt(e){if(typeof Fa=="function"&&Cn(e),Wt&&typeof Wt.setStrictMode=="function")try{Wt.setStrictMode(ol,e)}catch{}}var Zt=Math.clz32?Math.clz32:ic,Eu=Math.log,ju=Math.LN2;function ic(e){return e>>>=0,e===0?32:31-(Eu(e)/ju|0)|0}var Tn=256,fl=262144,Nn=4194304;function Qa(e){var t=e&42;if(t!==0)return t;switch(e&-e){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 e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function si(e,t,a){var l=e.pendingLanes;if(l===0)return 0;var r=0,s=e.suspendedLanes,h=e.pingedLanes;e=e.warmLanes;var g=l&134217727;return g!==0?(l=g&~s,l!==0?r=Qa(l):(h&=g,h!==0?r=Qa(h):a||(a=g&~e,a!==0&&(r=Qa(a))))):(g=l&~s,g!==0?r=Qa(g):h!==0?r=Qa(h):a||(a=l&~e,a!==0&&(r=Qa(a)))),r===0?0:t!==0&&t!==r&&(t&s)===0&&(s=r&-r,a=t&-t,s>=a||s===32&&(a&4194048)!==0)?t:r}function Hl(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function rc(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+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 t+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 cr(){var e=Nn;return Nn<<=1,(Nn&62914560)===0&&(Nn=4194304),e}function Bl(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function $a(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Ru(e,t,a,l,r,s){var h=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var g=e.entanglements,E=e.expirationTimes,A=e.hiddenUpdates;for(a=h&~a;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var mg=/[\n"\\]/g;function Ra(e){return e.replace(mg,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function uc(e,t,a,l,r,s,h,g){e.name="",h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"?e.type=h:e.removeAttribute("type"),t!=null?h==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Nt(t)):e.value!==""+Nt(t)&&(e.value=""+Nt(t)):h!=="submit"&&h!=="reset"||e.removeAttribute("value"),t!=null?sc(e,h,Nt(t)):a!=null?sc(e,h,Nt(a)):l!=null&&e.removeAttribute("value"),r==null&&s!=null&&(e.defaultChecked=!!s),r!=null&&(e.checked=r&&typeof r!="function"&&typeof r!="symbol"),g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"?e.name=""+Nt(g):e.removeAttribute("name")}function pd(e,t,a,l,r,s,h,g){if(s!=null&&typeof s!="function"&&typeof s!="symbol"&&typeof s!="boolean"&&(e.type=s),t!=null||a!=null){if(!(s!=="submit"&&s!=="reset"||t!=null)){fi(e);return}a=a!=null?""+Nt(a):"",t=t!=null?""+Nt(t):a,g||t===e.value||(e.value=t),e.defaultValue=t}l=l??r,l=typeof l!="function"&&typeof l!="symbol"&&!!l,e.checked=g?e.checked:!!l,e.defaultChecked=!!l,h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"&&(e.name=h),fi(e)}function sc(e,t,a){t==="number"&&_u(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function di(e,t,a,l){if(e=e.options,t){t={};for(var r=0;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),hc=!1;if(hl)try{var fr={};Object.defineProperty(fr,"passive",{get:function(){hc=!0}}),window.addEventListener("test",fr,fr),window.removeEventListener("test",fr,fr)}catch{hc=!1}var Ql=null,mc=null,Ou=null;function jd(){if(Ou)return Ou;var e,t=mc,a=t.length,l,r="value"in Ql?Ql.value:Ql.textContent,s=r.length;for(e=0;e=mr),Md=" ",Od=!1;function wd(e,t){switch(e){case"keyup":return Gg.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Dd(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var pi=!1;function Xg(e,t){switch(e){case"compositionend":return Dd(t);case"keypress":return t.which!==32?null:(Od=!0,Md);case"textInput":return e=t.data,e===Md&&Od?null:e;default:return null}}function Vg(e,t){if(pi)return e==="compositionend"||!bc&&wd(e,t)?(e=jd(),Ou=mc=Ql=null,pi=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:a,offset:t-e};e=l}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Qd(a)}}function Gd(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Gd(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Kd(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=_u(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=_u(e.document)}return t}function Ec(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var Ig=hl&&"documentMode"in document&&11>=document.documentMode,vi=null,jc=null,gr=null,Rc=!1;function Xd(e,t,a){var l=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Rc||vi==null||vi!==_u(l)||(l=vi,"selectionStart"in l&&Ec(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),gr&&vr(gr,l)||(gr=l,l=js(jc,"onSelect"),0>=h,r-=h,Ia=1<<32-Zt(t)+r|a<Ae?(Xe=ge,ge=null):Xe=ge.sibling;var $e=B(O,ge,z[Ae],V);if($e===null){ge===null&&(ge=Xe);break}e&&ge&&$e.alternate===null&&t(O,ge),_=s($e,_,Ae),Fe===null?Re=$e:Fe.sibling=$e,Fe=$e,ge=Xe}if(Ae===z.length)return a(O,ge),Ve&&yl(O,Ae),Re;if(ge===null){for(;AeAe?(Xe=ge,ge=null):Xe=ge.sibling;var cn=B(O,ge,$e.value,V);if(cn===null){ge===null&&(ge=Xe);break}e&&ge&&cn.alternate===null&&t(O,ge),_=s(cn,_,Ae),Fe===null?Re=cn:Fe.sibling=cn,Fe=cn,ge=Xe}if($e.done)return a(O,ge),Ve&&yl(O,Ae),Re;if(ge===null){for(;!$e.done;Ae++,$e=z.next())$e=k(O,$e.value,V),$e!==null&&(_=s($e,_,Ae),Fe===null?Re=$e:Fe.sibling=$e,Fe=$e);return Ve&&yl(O,Ae),Re}for(ge=l(ge);!$e.done;Ae++,$e=z.next())$e=Q(ge,O,Ae,$e.value,V),$e!==null&&(e&&$e.alternate!==null&&ge.delete($e.key===null?Ae:$e.key),_=s($e,_,Ae),Fe===null?Re=$e:Fe.sibling=$e,Fe=$e);return e&&ge.forEach(function(b0){return t(O,b0)}),Ve&&yl(O,Ae),Re}function it(O,_,z,V){if(typeof z=="object"&&z!==null&&z.type===G&&z.key===null&&(z=z.props.children),typeof z=="object"&&z!==null){switch(z.$$typeof){case R:e:{for(var Re=z.key;_!==null;){if(_.key===Re){if(Re=z.type,Re===G){if(_.tag===7){a(O,_.sibling),V=r(_,z.props.children),V.return=O,O=V;break e}}else if(_.elementType===Re||typeof Re=="object"&&Re!==null&&Re.$$typeof===w&&qn(Re)===_.type){a(O,_.sibling),V=r(_,z.props),Rr(V,z),V.return=O,O=V;break e}a(O,_);break}else t(O,_);_=_.sibling}z.type===G?(V=An(z.props.children,O.mode,V,z.key),V.return=O,O=V):(V=Qu(z.type,z.key,z.props,null,O.mode,V),Rr(V,z),V.return=O,O=V)}return h(O);case L:e:{for(Re=z.key;_!==null;){if(_.key===Re)if(_.tag===4&&_.stateNode.containerInfo===z.containerInfo&&_.stateNode.implementation===z.implementation){a(O,_.sibling),V=r(_,z.children||[]),V.return=O,O=V;break e}else{a(O,_);break}else t(O,_);_=_.sibling}V=wc(z,O.mode,V),V.return=O,O=V}return h(O);case w:return z=qn(z),it(O,_,z,V)}if(Ce(z))return me(O,_,z,V);if(be(z)){if(Re=be(z),typeof Re!="function")throw Error(c(150));return z=Re.call(z),Te(O,_,z,V)}if(typeof z.then=="function")return it(O,_,ku(z),V);if(z.$$typeof===Z)return it(O,_,Ku(O,z),V);Ju(O,z)}return typeof z=="string"&&z!==""||typeof z=="number"||typeof z=="bigint"?(z=""+z,_!==null&&_.tag===6?(a(O,_.sibling),V=r(_,z),V.return=O,O=V):(a(O,_),V=Oc(z,O.mode,V),V.return=O,O=V),h(O)):a(O,_)}return function(O,_,z,V){try{jr=0;var Re=it(O,_,z,V);return _i=null,Re}catch(ge){if(ge===Ni||ge===Vu)throw ge;var Fe=ma(29,ge,null,O.mode);return Fe.lanes=V,Fe.return=O,Fe}finally{}}}var Yn=hh(!0),mh=hh(!1),Vl=!1;function Kc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Xc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Zl(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function kl(e,t,a){var l=e.updateQueue;if(l===null)return null;if(l=l.shared,(We&2)!==0){var r=l.pending;return r===null?t.next=t:(t.next=r.next,r.next=t),l.pending=t,t=qu(e),Wd(e,null,a),t}return Bu(e,l,t,a),qu(e)}function Cr(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,Tu(e,a)}}function Vc(e,t){var a=e.updateQueue,l=e.alternate;if(l!==null&&(l=l.updateQueue,a===l)){var r=null,s=null;if(a=a.firstBaseUpdate,a!==null){do{var h={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};s===null?r=s=h:s=s.next=h,a=a.next}while(a!==null);s===null?r=s=t:s=s.next=t}else r=s=t;a={baseState:l.baseState,firstBaseUpdate:r,lastBaseUpdate:s,shared:l.shared,callbacks:l.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Zc=!1;function Tr(){if(Zc){var e=Ti;if(e!==null)throw e}}function Nr(e,t,a,l){Zc=!1;var r=e.updateQueue;Vl=!1;var s=r.firstBaseUpdate,h=r.lastBaseUpdate,g=r.shared.pending;if(g!==null){r.shared.pending=null;var E=g,A=E.next;E.next=null,h===null?s=A:h.next=A,h=E;var X=e.alternate;X!==null&&(X=X.updateQueue,g=X.lastBaseUpdate,g!==h&&(g===null?X.firstBaseUpdate=A:g.next=A,X.lastBaseUpdate=E))}if(s!==null){var k=r.baseState;h=0,X=A=E=null,g=s;do{var B=g.lane&-536870913,Q=B!==g.lane;if(Q?(Ke&B)===B:(l&B)===B){B!==0&&B===Ci&&(Zc=!0),X!==null&&(X=X.next={lane:0,tag:g.tag,payload:g.payload,callback:null,next:null});e:{var me=e,Te=g;B=t;var it=a;switch(Te.tag){case 1:if(me=Te.payload,typeof me=="function"){k=me.call(it,k,B);break e}k=me;break e;case 3:me.flags=me.flags&-65537|128;case 0:if(me=Te.payload,B=typeof me=="function"?me.call(it,k,B):me,B==null)break e;k=b({},k,B);break e;case 2:Vl=!0}}B=g.callback,B!==null&&(e.flags|=64,Q&&(e.flags|=8192),Q=r.callbacks,Q===null?r.callbacks=[B]:Q.push(B))}else Q={lane:B,tag:g.tag,payload:g.payload,callback:g.callback,next:null},X===null?(A=X=Q,E=k):X=X.next=Q,h|=B;if(g=g.next,g===null){if(g=r.shared.pending,g===null)break;Q=g,g=Q.next,Q.next=null,r.lastBaseUpdate=Q,r.shared.pending=null}}while(!0);X===null&&(E=k),r.baseState=E,r.firstBaseUpdate=A,r.lastBaseUpdate=X,s===null&&(r.shared.lanes=0),Pl|=h,e.lanes=h,e.memoizedState=k}}function yh(e,t){if(typeof e!="function")throw Error(c(191,e));e.call(t)}function ph(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;es?s:8;var h=D.T,g={};D.T=g,fo(e,!1,t,a);try{var E=r(),A=D.S;if(A!==null&&A(g,E),E!==null&&typeof E=="object"&&typeof E.then=="function"){var X=sb(E,l);Or(e,t,X,ba(e))}else Or(e,t,l,ba(e))}catch(k){Or(e,t,{then:function(){},status:"rejected",reason:k},ba())}finally{F.p=s,h!==null&&g.types!==null&&(h.types=g.types),D.T=h}}function mb(){}function co(e,t,a,l){if(e.tag!==5)throw Error(c(476));var r=Jh(e).queue;kh(e,r,t,le,a===null?mb:function(){return Fh(e),a(l)})}function Jh(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:le,baseState:le,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:bl,lastRenderedState:le},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:bl,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Fh(e){var t=Jh(e);t.next===null&&(t=e.alternate.memoizedState),Or(e,t.next.queue,{},ba())}function oo(){return Gt(kr)}function $h(){return Rt().memoizedState}function Wh(){return Rt().memoizedState}function yb(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=ba();e=Zl(a);var l=kl(t,e,a);l!==null&&(ca(l,t,a),Cr(l,t,a)),t={cache:qc()},e.payload=t;return}t=t.return}}function pb(e,t,a){var l=ba();a={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},ns(e)?Ih(t,a):(a=_c(e,t,a,l),a!==null&&(ca(a,e,l),em(a,t,l)))}function Ph(e,t,a){var l=ba();Or(e,t,a,l)}function Or(e,t,a,l){var r={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(ns(e))Ih(t,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var h=t.lastRenderedState,g=s(h,a);if(r.hasEagerState=!0,r.eagerState=g,ha(g,h))return Bu(e,t,r,0),ut===null&&Hu(),!1}catch{}finally{}if(a=_c(e,t,r,l),a!==null)return ca(a,e,l),em(a,t,l),!0}return!1}function fo(e,t,a,l){if(l={lane:2,revertLane:Xo(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},ns(e)){if(t)throw Error(c(479))}else t=_c(e,a,l,2),t!==null&&ca(t,e,2)}function ns(e){var t=e.alternate;return e===De||t!==null&&t===De}function Ih(e,t){Oi=Wu=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function em(e,t,a){if((a&4194048)!==0){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,Tu(e,a)}}var wr={readContext:Gt,use:es,useCallback:bt,useContext:bt,useEffect:bt,useImperativeHandle:bt,useLayoutEffect:bt,useInsertionEffect:bt,useMemo:bt,useReducer:bt,useRef:bt,useState:bt,useDebugValue:bt,useDeferredValue:bt,useTransition:bt,useSyncExternalStore:bt,useId:bt,useHostTransitionStatus:bt,useFormState:bt,useActionState:bt,useOptimistic:bt,useMemoCache:bt,useCacheRefresh:bt};wr.useEffectEvent=bt;var tm={readContext:Gt,use:es,useCallback:function(e,t){return Pt().memoizedState=[e,t===void 0?null:t],e},useContext:Gt,useEffect:Bh,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,as(4194308,4,Gh.bind(null,t,e),a)},useLayoutEffect:function(e,t){return as(4194308,4,e,t)},useInsertionEffect:function(e,t){as(4,2,e,t)},useMemo:function(e,t){var a=Pt();t=t===void 0?null:t;var l=e();if(Gn){Lt(!0);try{e()}finally{Lt(!1)}}return a.memoizedState=[l,t],l},useReducer:function(e,t,a){var l=Pt();if(a!==void 0){var r=a(t);if(Gn){Lt(!0);try{a(t)}finally{Lt(!1)}}}else r=t;return l.memoizedState=l.baseState=r,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:r},l.queue=e,e=e.dispatch=pb.bind(null,De,e),[l.memoizedState,e]},useRef:function(e){var t=Pt();return e={current:e},t.memoizedState=e},useState:function(e){e=no(e);var t=e.queue,a=Ph.bind(null,De,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:uo,useDeferredValue:function(e,t){var a=Pt();return so(a,e,t)},useTransition:function(){var e=no(!1);return e=kh.bind(null,De,e.queue,!0,!1),Pt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var l=De,r=Pt();if(Ve){if(a===void 0)throw Error(c(407));a=a()}else{if(a=t(),ut===null)throw Error(c(349));(Ke&127)!==0||Eh(l,t,a)}r.memoizedState=a;var s={value:a,getSnapshot:t};return r.queue=s,Bh(Rh.bind(null,l,s,e),[e]),l.flags|=2048,Di(9,{destroy:void 0},jh.bind(null,l,s,a,t),null),a},useId:function(){var e=Pt(),t=ut.identifierPrefix;if(Ve){var a=el,l=Ia;a=(l&~(1<<32-Zt(l)-1)).toString(32)+a,t="_"+t+"R_"+a,a=Pu++,0<\/script>",s=s.removeChild(s.firstChild);break;case"select":s=typeof l.is=="string"?h.createElement("select",{is:l.is}):h.createElement("select"),l.multiple?s.multiple=!0:l.size&&(s.size=l.size);break;default:s=typeof l.is=="string"?h.createElement(r,{is:l.is}):h.createElement(r)}}s[re]=t,s[pe]=l;e:for(h=t.child;h!==null;){if(h.tag===5||h.tag===6)s.appendChild(h.stateNode);else if(h.tag!==4&&h.tag!==27&&h.child!==null){h.child.return=h,h=h.child;continue}if(h===t)break e;for(;h.sibling===null;){if(h.return===null||h.return===t)break e;h=h.return}h.sibling.return=h.return,h=h.sibling}t.stateNode=s;e:switch(Xt(s,r,l),r){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&xl(t)}}return yt(t),To(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==l&&xl(t);else{if(typeof l!="string"&&t.stateNode===null)throw Error(c(166));if(e=xe.current,ji(t)){if(e=t.stateNode,a=t.memoizedProps,l=null,r=Yt,r!==null)switch(r.tag){case 27:case 5:l=r.memoizedProps}e[re]=t,e=!!(e.nodeValue===a||l!==null&&l.suppressHydrationWarning===!0||Sy(e.nodeValue,a)),e||Kl(t,!0)}else e=Rs(e).createTextNode(l),e[re]=t,t.stateNode=e}return yt(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(l=ji(t),a!==null){if(e===null){if(!l)throw Error(c(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(c(557));e[re]=t}else Un(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;yt(t),e=!1}else a=Uc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(pa(t),t):(pa(t),null);if((t.flags&128)!==0)throw Error(c(558))}return yt(t),null;case 13:if(l=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(r=ji(t),l!==null&&l.dehydrated!==null){if(e===null){if(!r)throw Error(c(318));if(r=t.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(c(317));r[re]=t}else Un(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;yt(t),r=!1}else r=Uc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=r),r=!0;if(!r)return t.flags&256?(pa(t),t):(pa(t),null)}return pa(t),(t.flags&128)!==0?(t.lanes=a,t):(a=l!==null,e=e!==null&&e.memoizedState!==null,a&&(l=t.child,r=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(r=l.alternate.memoizedState.cachePool.pool),s=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(s=l.memoizedState.cachePool.pool),s!==r&&(l.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),cs(t,t.updateQueue),yt(t),null);case 4:return He(),e===null&&Jo(t.stateNode.containerInfo),yt(t),null;case 10:return vl(t.type),yt(t),null;case 19:if(K(jt),l=t.memoizedState,l===null)return yt(t),null;if(r=(t.flags&128)!==0,s=l.rendering,s===null)if(r)zr(l,!1);else{if(St!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(s=$u(e),s!==null){for(t.flags|=128,zr(l,!1),e=s.updateQueue,t.updateQueue=e,cs(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)Pd(a,e),a=a.sibling;return H(jt,jt.current&1|2),Ve&&yl(t,l.treeForkCount),t.child}e=e.sibling}l.tail!==null&&Ut()>ms&&(t.flags|=128,r=!0,zr(l,!1),t.lanes=4194304)}else{if(!r)if(e=$u(s),e!==null){if(t.flags|=128,r=!0,e=e.updateQueue,t.updateQueue=e,cs(t,e),zr(l,!0),l.tail===null&&l.tailMode==="hidden"&&!s.alternate&&!Ve)return yt(t),null}else 2*Ut()-l.renderingStartTime>ms&&a!==536870912&&(t.flags|=128,r=!0,zr(l,!1),t.lanes=4194304);l.isBackwards?(s.sibling=t.child,t.child=s):(e=l.last,e!==null?e.sibling=s:t.child=s,l.last=s)}return l.tail!==null?(e=l.tail,l.rendering=e,l.tail=e.sibling,l.renderingStartTime=Ut(),e.sibling=null,a=jt.current,H(jt,r?a&1|2:a&1),Ve&&yl(t,l.treeForkCount),e):(yt(t),null);case 22:case 23:return pa(t),Jc(),l=t.memoizedState!==null,e!==null?e.memoizedState!==null!==l&&(t.flags|=8192):l&&(t.flags|=8192),l?(a&536870912)!==0&&(t.flags&128)===0&&(yt(t),t.subtreeFlags&6&&(t.flags|=8192)):yt(t),a=t.updateQueue,a!==null&&cs(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),l=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(l=t.memoizedState.cachePool.pool),l!==a&&(t.flags|=2048),e!==null&&K(Bn),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),vl(_t),yt(t),null;case 25:return null;case 30:return null}throw Error(c(156,t.tag))}function xb(e,t){switch(zc(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return vl(_t),He(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ka(t),null;case 31:if(t.memoizedState!==null){if(pa(t),t.alternate===null)throw Error(c(340));Un()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(pa(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(c(340));Un()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return K(jt),null;case 4:return He(),null;case 10:return vl(t.type),null;case 22:case 23:return pa(t),Jc(),e!==null&&K(Bn),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return vl(_t),null;case 25:return null;default:return null}}function Cm(e,t){switch(zc(t),t.tag){case 3:vl(_t),He();break;case 26:case 27:case 5:ka(t);break;case 4:He();break;case 31:t.memoizedState!==null&&pa(t);break;case 13:pa(t);break;case 19:K(jt);break;case 10:vl(t.type);break;case 22:case 23:pa(t),Jc(),e!==null&&K(Bn);break;case 24:vl(_t)}}function Ar(e,t){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var r=l.next;a=r;do{if((a.tag&e)===e){l=void 0;var s=a.create,h=a.inst;l=s(),h.destroy=l}a=a.next}while(a!==r)}}catch(g){et(t,t.return,g)}}function $l(e,t,a){try{var l=t.updateQueue,r=l!==null?l.lastEffect:null;if(r!==null){var s=r.next;l=s;do{if((l.tag&e)===e){var h=l.inst,g=h.destroy;if(g!==void 0){h.destroy=void 0,r=t;var E=a,A=g;try{A()}catch(X){et(r,E,X)}}}l=l.next}while(l!==s)}}catch(X){et(t,t.return,X)}}function Tm(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{ph(t,a)}catch(l){et(e,e.return,l)}}}function Nm(e,t,a){a.props=Kn(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(l){et(e,t,l)}}function Ur(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var l=e.stateNode;break;case 30:l=e.stateNode;break;default:l=e.stateNode}typeof a=="function"?e.refCleanup=a(l):a.current=l}}catch(r){et(e,t,r)}}function tl(e,t){var a=e.ref,l=e.refCleanup;if(a!==null)if(typeof l=="function")try{l()}catch(r){et(e,t,r)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(r){et(e,t,r)}else a.current=null}function _m(e){var t=e.type,a=e.memoizedProps,l=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&l.focus();break e;case"img":a.src?l.src=a.src:a.srcSet&&(l.srcset=a.srcSet)}}catch(r){et(e,e.return,r)}}function No(e,t,a){try{var l=e.stateNode;Kb(l,e.type,a,t),l[pe]=t}catch(r){et(e,e.return,r)}}function Mm(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&ln(e.type)||e.tag===4}function _o(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Mm(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&ln(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Mo(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=dl));else if(l!==4&&(l===27&&ln(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(Mo(e,t,a),e=e.sibling;e!==null;)Mo(e,t,a),e=e.sibling}function os(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(l!==4&&(l===27&&ln(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(os(e,t,a),e=e.sibling;e!==null;)os(e,t,a),e=e.sibling}function Om(e){var t=e.stateNode,a=e.memoizedProps;try{for(var l=e.type,r=t.attributes;r.length;)t.removeAttributeNode(r[0]);Xt(t,l,a),t[re]=e,t[pe]=a}catch(s){et(e,e.return,s)}}var El=!1,wt=!1,Oo=!1,wm=typeof WeakSet=="function"?WeakSet:Set,Bt=null;function Eb(e,t){if(e=e.containerInfo,Wo=ws,e=Kd(e),Ec(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var l=a.getSelection&&a.getSelection();if(l&&l.rangeCount!==0){a=l.anchorNode;var r=l.anchorOffset,s=l.focusNode;l=l.focusOffset;try{a.nodeType,s.nodeType}catch{a=null;break e}var h=0,g=-1,E=-1,A=0,X=0,k=e,B=null;t:for(;;){for(var Q;k!==a||r!==0&&k.nodeType!==3||(g=h+r),k!==s||l!==0&&k.nodeType!==3||(E=h+l),k.nodeType===3&&(h+=k.nodeValue.length),(Q=k.firstChild)!==null;)B=k,k=Q;for(;;){if(k===e)break t;if(B===a&&++A===r&&(g=h),B===s&&++X===l&&(E=h),(Q=k.nextSibling)!==null)break;k=B,B=k.parentNode}k=Q}a=g===-1||E===-1?null:{start:g,end:E}}else a=null}a=a||{start:0,end:0}}else a=null;for(Po={focusedElem:e,selectionRange:a},ws=!1,Bt=t;Bt!==null;)if(t=Bt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Bt=e;else for(;Bt!==null;){switch(t=Bt,s=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a title"))),Xt(s,l,a),s[re]=e,ot(s),l=s;break e;case"link":var h=Hy("link","href",r).get(l+(a.href||""));if(h){for(var g=0;git&&(h=it,it=Te,Te=h);var O=Yd(g,Te),_=Yd(g,it);if(O&&_&&(Q.rangeCount!==1||Q.anchorNode!==O.node||Q.anchorOffset!==O.offset||Q.focusNode!==_.node||Q.focusOffset!==_.offset)){var z=k.createRange();z.setStart(O.node,O.offset),Q.removeAllRanges(),Te>it?(Q.addRange(z),Q.extend(_.node,_.offset)):(z.setEnd(_.node,_.offset),Q.addRange(z))}}}}for(k=[],Q=g;Q=Q.parentNode;)Q.nodeType===1&&k.push({element:Q,left:Q.scrollLeft,top:Q.scrollTop});for(typeof g.focus=="function"&&g.focus(),g=0;ga?32:a,D.T=null,a=Ho,Ho=null;var s=en,h=Nl;if(Dt=0,Hi=en=null,Nl=0,(We&6)!==0)throw Error(c(331));var g=We;if(We|=4,Gm(s.current),qm(s,s.current,h,a),We=g,Yr(0,!1),Wt&&typeof Wt.onPostCommitFiberRoot=="function")try{Wt.onPostCommitFiberRoot(ol,s)}catch{}return!0}finally{F.p=r,D.T=l,ry(e,t)}}function sy(e,t,a){t=Ta(a,t),t=po(e.stateNode,t,2),e=kl(e,t,2),e!==null&&($a(e,2),al(e))}function et(e,t,a){if(e.tag===3)sy(e,e,a);else for(;t!==null;){if(t.tag===3){sy(t,e,a);break}else if(t.tag===1){var l=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(Il===null||!Il.has(l))){e=Ta(a,e),a=cm(2),l=kl(t,a,2),l!==null&&(om(a,l,t,e),$a(l,2),al(l));break}}t=t.return}}function Yo(e,t,a){var l=e.pingCache;if(l===null){l=e.pingCache=new Cb;var r=new Set;l.set(t,r)}else r=l.get(t),r===void 0&&(r=new Set,l.set(t,r));r.has(a)||(zo=!0,r.add(a),e=Ob.bind(null,e,t,a),t.then(e,e))}function Ob(e,t,a){var l=e.pingCache;l!==null&&l.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,ut===e&&(Ke&a)===a&&(St===4||St===3&&(Ke&62914560)===Ke&&300>Ut()-hs?(We&2)===0&&Bi(e,0):Ao|=a,Li===Ke&&(Li=0)),al(e)}function cy(e,t){t===0&&(t=cr()),e=zn(e,t),e!==null&&($a(e,t),al(e))}function wb(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),cy(e,a)}function Db(e,t){var a=0;switch(e.tag){case 31:case 13:var l=e.stateNode,r=e.memoizedState;r!==null&&(a=r.retryLane);break;case 19:l=e.stateNode;break;case 22:l=e.stateNode._retryCache;break;default:throw Error(c(314))}l!==null&&l.delete(t),cy(e,a)}function zb(e,t){return cl(e,t)}var Ss=null,Qi=null,Go=!1,xs=!1,Ko=!1,an=0;function al(e){e!==Qi&&e.next===null&&(Qi===null?Ss=Qi=e:Qi=Qi.next=e),xs=!0,Go||(Go=!0,Ub())}function Yr(e,t){if(!Ko&&xs){Ko=!0;do for(var a=!1,l=Ss;l!==null;){if(e!==0){var r=l.pendingLanes;if(r===0)var s=0;else{var h=l.suspendedLanes,g=l.pingedLanes;s=(1<<31-Zt(42|e)+1)-1,s&=r&~(h&~g),s=s&201326741?s&201326741|1:s?s|2:0}s!==0&&(a=!0,hy(l,s))}else s=Ke,s=si(l,l===ut?s:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(s&3)===0||Hl(l,s)||(a=!0,hy(l,s));l=l.next}while(a);Ko=!1}}function Ab(){oy()}function oy(){xs=Go=!1;var e=0;an!==0&&Vb()&&(e=an);for(var t=Ut(),a=null,l=Ss;l!==null;){var r=l.next,s=fy(l,t);s===0?(l.next=null,a===null?Ss=r:a.next=r,r===null&&(Qi=a)):(a=l,(e!==0||(s&3)!==0)&&(xs=!0)),l=r}Dt!==0&&Dt!==5||Yr(e),an!==0&&(an=0)}function fy(e,t){for(var a=e.suspendedLanes,l=e.pingedLanes,r=e.expirationTimes,s=e.pendingLanes&-62914561;0g)break;var X=E.transferSize,k=E.initiatorType;X&&xy(k)&&(E=E.responseEnd,h+=X*(E"u"?null:document;function zy(e,t,a){var l=Yi;if(l&&typeof t=="string"&&t){var r=Ra(t);r='link[rel="'+e+'"][href="'+r+'"]',typeof a=="string"&&(r+='[crossorigin="'+a+'"]'),Dy.has(r)||(Dy.add(r),e={rel:e,crossOrigin:a,href:t},l.querySelector(r)===null&&(t=l.createElement("link"),Xt(t,"link",e),ot(t),l.head.appendChild(t)))}}function e0(e){_l.D(e),zy("dns-prefetch",e,null)}function t0(e,t){_l.C(e,t),zy("preconnect",e,t)}function a0(e,t,a){_l.L(e,t,a);var l=Yi;if(l&&e&&t){var r='link[rel="preload"][as="'+Ra(t)+'"]';t==="image"&&a&&a.imageSrcSet?(r+='[imagesrcset="'+Ra(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(r+='[imagesizes="'+Ra(a.imageSizes)+'"]')):r+='[href="'+Ra(e)+'"]';var s=r;switch(t){case"style":s=Gi(e);break;case"script":s=Ki(e)}Da.has(s)||(e=b({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),Da.set(s,e),l.querySelector(r)!==null||t==="style"&&l.querySelector(Vr(s))||t==="script"&&l.querySelector(Zr(s))||(t=l.createElement("link"),Xt(t,"link",e),ot(t),l.head.appendChild(t)))}}function l0(e,t){_l.m(e,t);var a=Yi;if(a&&e){var l=t&&typeof t.as=="string"?t.as:"script",r='link[rel="modulepreload"][as="'+Ra(l)+'"][href="'+Ra(e)+'"]',s=r;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":s=Ki(e)}if(!Da.has(s)&&(e=b({rel:"modulepreload",href:e},t),Da.set(s,e),a.querySelector(r)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Zr(s)))return}l=a.createElement("link"),Xt(l,"link",e),ot(l),a.head.appendChild(l)}}}function n0(e,t,a){_l.S(e,t,a);var l=Yi;if(l&&e){var r=Tt(l).hoistableStyles,s=Gi(e);t=t||"default";var h=r.get(s);if(!h){var g={loading:0,preload:null};if(h=l.querySelector(Vr(s)))g.loading=5;else{e=b({rel:"stylesheet",href:e,"data-precedence":t},a),(a=Da.get(s))&&rf(e,a);var E=h=l.createElement("link");ot(E),Xt(E,"link",e),E._p=new Promise(function(A,X){E.onload=A,E.onerror=X}),E.addEventListener("load",function(){g.loading|=1}),E.addEventListener("error",function(){g.loading|=2}),g.loading|=4,Ts(h,t,l)}h={type:"stylesheet",instance:h,count:1,state:g},r.set(s,h)}}}function i0(e,t){_l.X(e,t);var a=Yi;if(a&&e){var l=Tt(a).hoistableScripts,r=Ki(e),s=l.get(r);s||(s=a.querySelector(Zr(r)),s||(e=b({src:e,async:!0},t),(t=Da.get(r))&&uf(e,t),s=a.createElement("script"),ot(s),Xt(s,"link",e),a.head.appendChild(s)),s={type:"script",instance:s,count:1,state:null},l.set(r,s))}}function r0(e,t){_l.M(e,t);var a=Yi;if(a&&e){var l=Tt(a).hoistableScripts,r=Ki(e),s=l.get(r);s||(s=a.querySelector(Zr(r)),s||(e=b({src:e,async:!0,type:"module"},t),(t=Da.get(r))&&uf(e,t),s=a.createElement("script"),ot(s),Xt(s,"link",e),a.head.appendChild(s)),s={type:"script",instance:s,count:1,state:null},l.set(r,s))}}function Ay(e,t,a,l){var r=(r=xe.current)?Cs(r):null;if(!r)throw Error(c(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=Gi(a.href),a=Tt(r).hoistableStyles,l=a.get(t),l||(l={type:"style",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=Gi(a.href);var s=Tt(r).hoistableStyles,h=s.get(e);if(h||(r=r.ownerDocument||r,h={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},s.set(e,h),(s=r.querySelector(Vr(e)))&&!s._p&&(h.instance=s,h.state.loading=5),Da.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},Da.set(e,a),s||u0(r,e,a,h.state))),t&&l===null)throw Error(c(528,""));return h}if(t&&l!==null)throw Error(c(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Ki(a),a=Tt(r).hoistableScripts,l=a.get(t),l||(l={type:"script",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(c(444,e))}}function Gi(e){return'href="'+Ra(e)+'"'}function Vr(e){return'link[rel="stylesheet"]['+e+"]"}function Uy(e){return b({},e,{"data-precedence":e.precedence,precedence:null})}function u0(e,t,a,l){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?l.loading=1:(t=e.createElement("link"),l.preload=t,t.addEventListener("load",function(){return l.loading|=1}),t.addEventListener("error",function(){return l.loading|=2}),Xt(t,"link",a),ot(t),e.head.appendChild(t))}function Ki(e){return'[src="'+Ra(e)+'"]'}function Zr(e){return"script[async]"+e}function Ly(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var l=e.querySelector('style[data-href~="'+Ra(a.href)+'"]');if(l)return t.instance=l,ot(l),l;var r=b({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return l=(e.ownerDocument||e).createElement("style"),ot(l),Xt(l,"style",r),Ts(l,a.precedence,e),t.instance=l;case"stylesheet":r=Gi(a.href);var s=e.querySelector(Vr(r));if(s)return t.state.loading|=4,t.instance=s,ot(s),s;l=Uy(a),(r=Da.get(r))&&rf(l,r),s=(e.ownerDocument||e).createElement("link"),ot(s);var h=s;return h._p=new Promise(function(g,E){h.onload=g,h.onerror=E}),Xt(s,"link",l),t.state.loading|=4,Ts(s,a.precedence,e),t.instance=s;case"script":return s=Ki(a.src),(r=e.querySelector(Zr(s)))?(t.instance=r,ot(r),r):(l=a,(r=Da.get(s))&&(l=b({},a),uf(l,r)),e=e.ownerDocument||e,r=e.createElement("script"),ot(r),Xt(r,"link",l),e.head.appendChild(r),t.instance=r);case"void":return null;default:throw Error(c(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(l=t.instance,t.state.loading|=4,Ts(l,a.precedence,e));return t.instance}function Ts(e,t,a){for(var l=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),r=l.length?l[l.length-1]:null,s=r,h=0;h title"):null)}function s0(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function qy(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function c0(e,t,a,l){if(a.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var r=Gi(l.href),s=t.querySelector(Vr(r));if(s){t=s._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=_s.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=s,ot(s);return}s=t.ownerDocument||t,l=Uy(l),(r=Da.get(r))&&rf(l,r),s=s.createElement("link"),ot(s);var h=s;h._p=new Promise(function(g,E){h.onload=g,h.onerror=E}),Xt(s,"link",l),a.instance=s}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=_s.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var sf=0;function o0(e,t){return e.stylesheets&&e.count===0&&Os(e,e.stylesheets),0sf?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(l),clearTimeout(r)}}:null}function _s(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Os(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Ms=null;function Os(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Ms=new Map,t.forEach(f0,e),Ms=null,_s.call(e))}function f0(e,t){if(!(t.state.loading&4)){var a=Ms.get(e);if(a)var l=a.get(null);else{a=new Map,Ms.set(e,a);for(var r=e.querySelectorAll("link[data-precedence],style[data-precedence]"),s=0;s"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(i){console.error(i)}}return n(),gf.exports=O0(),gf.exports}var D0=w0();const z0=pv(D0);var ur=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(n){return this.listeners.add(n),this.onSubscribe(),()=>{this.listeners.delete(n),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Jn,hn,Fi,iv,A0=(iv=class extends ur{constructor(){super();je(this,Jn);je(this,hn);je(this,Fi);oe(this,Fi,i=>{if(typeof window<"u"&&window.addEventListener){const u=()=>i();return window.addEventListener("visibilitychange",u,!1),()=>{window.removeEventListener("visibilitychange",u)}}})}onSubscribe(){C(this,hn)||this.setEventListener(C(this,Fi))}onUnsubscribe(){var i;this.hasListeners()||((i=C(this,hn))==null||i.call(this),oe(this,hn,void 0))}setEventListener(i){var u;oe(this,Fi,i),(u=C(this,hn))==null||u.call(this),oe(this,hn,i(c=>{typeof c=="boolean"?this.setFocused(c):this.onFocus()}))}setFocused(i){C(this,Jn)!==i&&(oe(this,Jn,i),this.onFocus())}onFocus(){const i=this.isFocused();this.listeners.forEach(u=>{u(i)})}isFocused(){var i;return typeof C(this,Jn)=="boolean"?C(this,Jn):((i=globalThis.document)==null?void 0:i.visibilityState)!=="hidden"}},Jn=new WeakMap,hn=new WeakMap,Fi=new WeakMap,iv),Jf=new A0,U0={setTimeout:(n,i)=>setTimeout(n,i),clearTimeout:n=>clearTimeout(n),setInterval:(n,i)=>setInterval(n,i),clearInterval:n=>clearInterval(n)},mn,Zf,rv,L0=(rv=class{constructor(){je(this,mn,U0);je(this,Zf,!1)}setTimeoutProvider(n){oe(this,mn,n)}setTimeout(n,i){return C(this,mn).setTimeout(n,i)}clearTimeout(n){C(this,mn).clearTimeout(n)}setInterval(n,i){return C(this,mn).setInterval(n,i)}clearInterval(n){C(this,mn).clearInterval(n)}},mn=new WeakMap,Zf=new WeakMap,rv),Zn=new L0;function H0(n){setTimeout(n,0)}var B0=typeof window>"u"||"Deno"in globalThis;function ea(){}function q0(n,i){return typeof n=="function"?n(i):n}function Mf(n){return typeof n=="number"&&n>=0&&n!==1/0}function bv(n,i){return Math.max(n+(i||0)-Date.now(),0)}function Rn(n,i){return typeof n=="function"?n(i):n}function Ua(n,i){return typeof n=="function"?n(i):n}function fp(n,i){const{type:u="all",exact:c,fetchStatus:o,predicate:d,queryKey:m,stale:y}=n;if(m){if(c){if(i.queryHash!==Ff(m,i.options))return!1}else if(!ru(i.queryKey,m))return!1}if(u!=="all"){const v=i.isActive();if(u==="active"&&!v||u==="inactive"&&v)return!1}return!(typeof y=="boolean"&&i.isStale()!==y||o&&o!==i.state.fetchStatus||d&&!d(i))}function dp(n,i){const{exact:u,status:c,predicate:o,mutationKey:d}=n;if(d){if(!i.options.mutationKey)return!1;if(u){if(li(i.options.mutationKey)!==li(d))return!1}else if(!ru(i.options.mutationKey,d))return!1}return!(c&&i.state.status!==c||o&&!o(i))}function Ff(n,i){return((i==null?void 0:i.queryKeyHashFn)||li)(n)}function li(n){return JSON.stringify(n,(i,u)=>Of(u)?Object.keys(u).sort().reduce((c,o)=>(c[o]=u[o],c),{}):u)}function ru(n,i){return n===i?!0:typeof n!=typeof i?!1:n&&i&&typeof n=="object"&&typeof i=="object"?Object.keys(i).every(u=>ru(n[u],i[u])):!1}var Q0=Object.prototype.hasOwnProperty;function Sv(n,i,u=0){if(n===i)return n;if(u>500)return i;const c=hp(n)&&hp(i);if(!c&&!(Of(n)&&Of(i)))return i;const d=(c?n:Object.keys(n)).length,m=c?i:Object.keys(i),y=m.length,v=c?new Array(y):{};let p=0;for(let S=0;S{Zn.setTimeout(i,n)})}function wf(n,i,u){return typeof u.structuralSharing=="function"?u.structuralSharing(n,i):u.structuralSharing!==!1?Sv(n,i):i}function G0(n,i,u=0){const c=[...n,i];return u&&c.length>u?c.slice(1):c}function K0(n,i,u=0){const c=[i,...n];return u&&c.length>u?c.slice(0,-1):c}var $f=Symbol();function xv(n,i){return!n.queryFn&&(i!=null&&i.initialPromise)?()=>i.initialPromise:!n.queryFn||n.queryFn===$f?()=>Promise.reject(new Error(`Missing queryFn: '${n.queryHash}'`)):n.queryFn}function Wf(n,i){return typeof n=="function"?n(...i):!!n}function X0(n,i,u){let c=!1,o;return Object.defineProperty(n,"signal",{enumerable:!0,get:()=>(o??(o=i()),c||(c=!0,o.aborted?u():o.addEventListener("abort",u,{once:!0})),o)}),n}var uu=(()=>{let n=()=>B0;return{isServer(){return n()},setIsServer(i){n=i}}})();function Df(){let n,i;const u=new Promise((o,d)=>{n=o,i=d});u.status="pending",u.catch(()=>{});function c(o){Object.assign(u,o),delete u.resolve,delete u.reject}return u.resolve=o=>{c({status:"fulfilled",value:o}),n(o)},u.reject=o=>{c({status:"rejected",reason:o}),i(o)},u}var V0=H0;function Z0(){let n=[],i=0,u=y=>{y()},c=y=>{y()},o=V0;const d=y=>{i?n.push(y):o(()=>{u(y)})},m=()=>{const y=n;n=[],y.length&&o(()=>{c(()=>{y.forEach(v=>{u(v)})})})};return{batch:y=>{let v;i++;try{v=y()}finally{i--,i||m()}return v},batchCalls:y=>(...v)=>{d(()=>{y(...v)})},schedule:d,setNotifyFunction:y=>{u=y},setBatchNotifyFunction:y=>{c=y},setScheduler:y=>{o=y}}}var zt=Z0(),$i,yn,Wi,uv,k0=(uv=class extends ur{constructor(){super();je(this,$i,!0);je(this,yn);je(this,Wi);oe(this,Wi,i=>{if(typeof window<"u"&&window.addEventListener){const u=()=>i(!0),c=()=>i(!1);return window.addEventListener("online",u,!1),window.addEventListener("offline",c,!1),()=>{window.removeEventListener("online",u),window.removeEventListener("offline",c)}}})}onSubscribe(){C(this,yn)||this.setEventListener(C(this,Wi))}onUnsubscribe(){var i;this.hasListeners()||((i=C(this,yn))==null||i.call(this),oe(this,yn,void 0))}setEventListener(i){var u;oe(this,Wi,i),(u=C(this,yn))==null||u.call(this),oe(this,yn,i(this.setOnline.bind(this)))}setOnline(i){C(this,$i)!==i&&(oe(this,$i,i),this.listeners.forEach(c=>{c(i)}))}isOnline(){return C(this,$i)}},$i=new WeakMap,yn=new WeakMap,Wi=new WeakMap,uv),Fs=new k0;function J0(n){return Math.min(1e3*2**n,3e4)}function Ev(n){return(n??"online")==="online"?Fs.isOnline():!0}var zf=class extends Error{constructor(n){super("CancelledError"),this.revert=n==null?void 0:n.revert,this.silent=n==null?void 0:n.silent}};function jv(n){let i=!1,u=0,c;const o=Df(),d=()=>o.status!=="pending",m=G=>{var q;if(!d()){const $=new zf(G);N($),(q=n.onCancel)==null||q.call(n,$)}},y=()=>{i=!0},v=()=>{i=!1},p=()=>Jf.isFocused()&&(n.networkMode==="always"||Fs.isOnline())&&n.canRun(),S=()=>Ev(n.networkMode)&&n.canRun(),b=G=>{d()||(c==null||c(),o.resolve(G))},N=G=>{d()||(c==null||c(),o.reject(G))},R=()=>new Promise(G=>{var q;c=$=>{(d()||p())&&G($)},(q=n.onPause)==null||q.call(n)}).then(()=>{var G;c=void 0,d()||(G=n.onContinue)==null||G.call(n)}),L=()=>{if(d())return;let G;const q=u===0?n.initialPromise:void 0;try{G=q??n.fn()}catch($){G=Promise.reject($)}Promise.resolve(G).then(b).catch($=>{var ce;if(d())return;const W=n.retry??(uu.isServer()?0:3),Z=n.retryDelay??J0,I=typeof Z=="function"?Z(u,$):Z,P=W===!0||typeof W=="number"&&up()?void 0:R()).then(()=>{i?N($):L()})})};return{promise:o,status:()=>o.status,cancel:m,continue:()=>(c==null||c(),o),cancelRetry:y,continueRetry:v,canStart:S,start:()=>(S()?L():R().then(L),o)}}var Fn,sv,Rv=(sv=class{constructor(){je(this,Fn)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Mf(this.gcTime)&&oe(this,Fn,Zn.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(n){this.gcTime=Math.max(this.gcTime||0,n??(uu.isServer()?1/0:300*1e3))}clearGcTimeout(){C(this,Fn)!==void 0&&(Zn.clearTimeout(C(this,Fn)),oe(this,Fn,void 0))}},Fn=new WeakMap,sv),$n,Pi,za,Wn,qt,fu,Pn,Sa,Cv,Ml,cv,F0=(cv=class extends Rv{constructor(i){super();je(this,Sa);je(this,$n);je(this,Pi);je(this,za);je(this,Wn);je(this,qt);je(this,fu);je(this,Pn);oe(this,Pn,!1),oe(this,fu,i.defaultOptions),this.setOptions(i.options),this.observers=[],oe(this,Wn,i.client),oe(this,za,C(this,Wn).getQueryCache()),this.queryKey=i.queryKey,this.queryHash=i.queryHash,oe(this,$n,pp(this.options)),this.state=i.state??C(this,$n),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var i;return(i=C(this,qt))==null?void 0:i.promise}setOptions(i){if(this.options={...C(this,fu),...i},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const u=pp(this.options);u.data!==void 0&&(this.setState(yp(u.data,u.dataUpdatedAt)),oe(this,$n,u))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&C(this,za).remove(this)}setData(i,u){const c=wf(this.state.data,i,this.options);return Ue(this,Sa,Ml).call(this,{data:c,type:"success",dataUpdatedAt:u==null?void 0:u.updatedAt,manual:u==null?void 0:u.manual}),c}setState(i,u){Ue(this,Sa,Ml).call(this,{type:"setState",state:i,setStateOptions:u})}cancel(i){var c,o;const u=(c=C(this,qt))==null?void 0:c.promise;return(o=C(this,qt))==null||o.cancel(i),u?u.then(ea).catch(ea):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return C(this,$n)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(i=>Ua(i.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===$f||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(i=>Rn(i.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(i=>i.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(i=0){return this.state.data===void 0?!0:i==="static"?!1:this.state.isInvalidated?!0:!bv(this.state.dataUpdatedAt,i)}onFocus(){var u;const i=this.observers.find(c=>c.shouldFetchOnWindowFocus());i==null||i.refetch({cancelRefetch:!1}),(u=C(this,qt))==null||u.continue()}onOnline(){var u;const i=this.observers.find(c=>c.shouldFetchOnReconnect());i==null||i.refetch({cancelRefetch:!1}),(u=C(this,qt))==null||u.continue()}addObserver(i){this.observers.includes(i)||(this.observers.push(i),this.clearGcTimeout(),C(this,za).notify({type:"observerAdded",query:this,observer:i}))}removeObserver(i){this.observers.includes(i)&&(this.observers=this.observers.filter(u=>u!==i),this.observers.length||(C(this,qt)&&(C(this,Pn)||Ue(this,Sa,Cv).call(this)?C(this,qt).cancel({revert:!0}):C(this,qt).cancelRetry()),this.scheduleGc()),C(this,za).notify({type:"observerRemoved",query:this,observer:i}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||Ue(this,Sa,Ml).call(this,{type:"invalidate"})}async fetch(i,u){var v,p,S,b,N,R,L,G,q,$,W,Z;if(this.state.fetchStatus!=="idle"&&((v=C(this,qt))==null?void 0:v.status())!=="rejected"){if(this.state.data!==void 0&&(u!=null&&u.cancelRefetch))this.cancel({silent:!0});else if(C(this,qt))return C(this,qt).continueRetry(),C(this,qt).promise}if(i&&this.setOptions(i),!this.options.queryFn){const I=this.observers.find(P=>P.options.queryFn);I&&this.setOptions(I.options)}const c=new AbortController,o=I=>{Object.defineProperty(I,"signal",{enumerable:!0,get:()=>(oe(this,Pn,!0),c.signal)})},d=()=>{const I=xv(this.options,u),ce=(()=>{const ue={client:C(this,Wn),queryKey:this.queryKey,meta:this.meta};return o(ue),ue})();return oe(this,Pn,!1),this.options.persister?this.options.persister(I,ce,this):I(ce)},y=(()=>{const I={fetchOptions:u,options:this.options,queryKey:this.queryKey,client:C(this,Wn),state:this.state,fetchFn:d};return o(I),I})();(p=this.options.behavior)==null||p.onFetch(y,this),oe(this,Pi,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((S=y.fetchOptions)==null?void 0:S.meta))&&Ue(this,Sa,Ml).call(this,{type:"fetch",meta:(b=y.fetchOptions)==null?void 0:b.meta}),oe(this,qt,jv({initialPromise:u==null?void 0:u.initialPromise,fn:y.fetchFn,onCancel:I=>{I instanceof zf&&I.revert&&this.setState({...C(this,Pi),fetchStatus:"idle"}),c.abort()},onFail:(I,P)=>{Ue(this,Sa,Ml).call(this,{type:"failed",failureCount:I,error:P})},onPause:()=>{Ue(this,Sa,Ml).call(this,{type:"pause"})},onContinue:()=>{Ue(this,Sa,Ml).call(this,{type:"continue"})},retry:y.options.retry,retryDelay:y.options.retryDelay,networkMode:y.options.networkMode,canRun:()=>!0}));try{const I=await C(this,qt).start();if(I===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(I),(R=(N=C(this,za).config).onSuccess)==null||R.call(N,I,this),(G=(L=C(this,za).config).onSettled)==null||G.call(L,I,this.state.error,this),I}catch(I){if(I instanceof zf){if(I.silent)return C(this,qt).promise;if(I.revert){if(this.state.data===void 0)throw I;return this.state.data}}throw Ue(this,Sa,Ml).call(this,{type:"error",error:I}),($=(q=C(this,za).config).onError)==null||$.call(q,I,this),(Z=(W=C(this,za).config).onSettled)==null||Z.call(W,this.state.data,I,this),I}finally{this.scheduleGc()}}},$n=new WeakMap,Pi=new WeakMap,za=new WeakMap,Wn=new WeakMap,qt=new WeakMap,fu=new WeakMap,Pn=new WeakMap,Sa=new WeakSet,Cv=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},Ml=function(i){const u=c=>{switch(i.type){case"failed":return{...c,fetchFailureCount:i.failureCount,fetchFailureReason:i.error};case"pause":return{...c,fetchStatus:"paused"};case"continue":return{...c,fetchStatus:"fetching"};case"fetch":return{...c,...Tv(c.data,this.options),fetchMeta:i.meta??null};case"success":const o={...c,...yp(i.data,i.dataUpdatedAt),dataUpdateCount:c.dataUpdateCount+1,...!i.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return oe(this,Pi,i.manual?o:void 0),o;case"error":const d=i.error;return{...c,error:d,errorUpdateCount:c.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:c.fetchFailureCount+1,fetchFailureReason:d,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...c,isInvalidated:!0};case"setState":return{...c,...i.state}}};this.state=u(this.state),zt.batch(()=>{this.observers.forEach(c=>{c.onQueryUpdate()}),C(this,za).notify({query:this,type:"updated",action:i})})},cv);function Tv(n,i){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Ev(i.networkMode)?"fetching":"paused",...n===void 0&&{error:null,status:"pending"}}}function yp(n,i){return{data:n,dataUpdatedAt:i??Date.now(),error:null,isInvalidated:!1,status:"success"}}function pp(n){const i=typeof n.initialData=="function"?n.initialData():n.initialData,u=i!==void 0,c=u?typeof n.initialDataUpdatedAt=="function"?n.initialDataUpdatedAt():n.initialDataUpdatedAt:0;return{data:i,dataUpdateCount:0,dataUpdatedAt:u?c??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:u?"success":"pending",fetchStatus:"idle"}}var oa,Ze,du,It,In,Ii,wl,pn,hu,er,tr,ei,ti,vn,ar,Pe,au,Af,Uf,Lf,Hf,Bf,qf,Qf,Nv,ov,$0=(ov=class extends ur{constructor(i,u){super();je(this,Pe);je(this,oa);je(this,Ze);je(this,du);je(this,It);je(this,In);je(this,Ii);je(this,wl);je(this,pn);je(this,hu);je(this,er);je(this,tr);je(this,ei);je(this,ti);je(this,vn);je(this,ar,new Set);this.options=u,oe(this,oa,i),oe(this,pn,null),oe(this,wl,Df()),this.bindMethods(),this.setOptions(u)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(C(this,Ze).addObserver(this),vp(C(this,Ze),this.options)?Ue(this,Pe,au).call(this):this.updateResult(),Ue(this,Pe,Hf).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Yf(C(this,Ze),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Yf(C(this,Ze),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,Ue(this,Pe,Bf).call(this),Ue(this,Pe,qf).call(this),C(this,Ze).removeObserver(this)}setOptions(i){const u=this.options,c=C(this,Ze);if(this.options=C(this,oa).defaultQueryOptions(i),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Ua(this.options.enabled,C(this,Ze))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");Ue(this,Pe,Qf).call(this),C(this,Ze).setOptions(this.options),u._defaulted&&!Js(this.options,u)&&C(this,oa).getQueryCache().notify({type:"observerOptionsUpdated",query:C(this,Ze),observer:this});const o=this.hasListeners();o&&gp(C(this,Ze),c,this.options,u)&&Ue(this,Pe,au).call(this),this.updateResult(),o&&(C(this,Ze)!==c||Ua(this.options.enabled,C(this,Ze))!==Ua(u.enabled,C(this,Ze))||Rn(this.options.staleTime,C(this,Ze))!==Rn(u.staleTime,C(this,Ze)))&&Ue(this,Pe,Af).call(this);const d=Ue(this,Pe,Uf).call(this);o&&(C(this,Ze)!==c||Ua(this.options.enabled,C(this,Ze))!==Ua(u.enabled,C(this,Ze))||d!==C(this,vn))&&Ue(this,Pe,Lf).call(this,d)}getOptimisticResult(i){const u=C(this,oa).getQueryCache().build(C(this,oa),i),c=this.createResult(u,i);return P0(this,c)&&(oe(this,It,c),oe(this,Ii,this.options),oe(this,In,C(this,Ze).state)),c}getCurrentResult(){return C(this,It)}trackResult(i,u){return new Proxy(i,{get:(c,o)=>(this.trackProp(o),u==null||u(o),o==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&C(this,wl).status==="pending"&&C(this,wl).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(c,o))})}trackProp(i){C(this,ar).add(i)}getCurrentQuery(){return C(this,Ze)}refetch({...i}={}){return this.fetch({...i})}fetchOptimistic(i){const u=C(this,oa).defaultQueryOptions(i),c=C(this,oa).getQueryCache().build(C(this,oa),u);return c.fetch().then(()=>this.createResult(c,u))}fetch(i){return Ue(this,Pe,au).call(this,{...i,cancelRefetch:i.cancelRefetch??!0}).then(()=>(this.updateResult(),C(this,It)))}createResult(i,u){var ne;const c=C(this,Ze),o=this.options,d=C(this,It),m=C(this,In),y=C(this,Ii),p=i!==c?i.state:C(this,du),{state:S}=i;let b={...S},N=!1,R;if(u._optimisticResults){const ie=this.hasListeners(),Ee=!ie&&vp(i,u),be=ie&&gp(i,c,u,o);(Ee||be)&&(b={...b,...Tv(S.data,i.options)}),u._optimisticResults==="isRestoring"&&(b.fetchStatus="idle")}let{error:L,errorUpdatedAt:G,status:q}=b;R=b.data;let $=!1;if(u.placeholderData!==void 0&&R===void 0&&q==="pending"){let ie;d!=null&&d.isPlaceholderData&&u.placeholderData===(y==null?void 0:y.placeholderData)?(ie=d.data,$=!0):ie=typeof u.placeholderData=="function"?u.placeholderData((ne=C(this,tr))==null?void 0:ne.state.data,C(this,tr)):u.placeholderData,ie!==void 0&&(q="success",R=wf(d==null?void 0:d.data,ie,u),N=!0)}if(u.select&&R!==void 0&&!$)if(d&&R===(m==null?void 0:m.data)&&u.select===C(this,hu))R=C(this,er);else try{oe(this,hu,u.select),R=u.select(R),R=wf(d==null?void 0:d.data,R,u),oe(this,er,R),oe(this,pn,null)}catch(ie){oe(this,pn,ie)}C(this,pn)&&(L=C(this,pn),R=C(this,er),G=Date.now(),q="error");const W=b.fetchStatus==="fetching",Z=q==="pending",I=q==="error",P=Z&&W,ce=R!==void 0,w={status:q,fetchStatus:b.fetchStatus,isPending:Z,isSuccess:q==="success",isError:I,isInitialLoading:P,isLoading:P,data:R,dataUpdatedAt:b.dataUpdatedAt,error:L,errorUpdatedAt:G,failureCount:b.fetchFailureCount,failureReason:b.fetchFailureReason,errorUpdateCount:b.errorUpdateCount,isFetched:i.isFetched(),isFetchedAfterMount:b.dataUpdateCount>p.dataUpdateCount||b.errorUpdateCount>p.errorUpdateCount,isFetching:W,isRefetching:W&&!Z,isLoadingError:I&&!ce,isPaused:b.fetchStatus==="paused",isPlaceholderData:N,isRefetchError:I&&ce,isStale:Pf(i,u),refetch:this.refetch,promise:C(this,wl),isEnabled:Ua(u.enabled,i)!==!1};if(this.options.experimental_prefetchInRender){const ie=w.data!==void 0,Ee=w.status==="error"&&!ie,be=Ce=>{Ee?Ce.reject(w.error):ie&&Ce.resolve(w.data)},Oe=()=>{const Ce=oe(this,wl,w.promise=Df());be(Ce)},we=C(this,wl);switch(we.status){case"pending":i.queryHash===c.queryHash&&be(we);break;case"fulfilled":(Ee||w.data!==we.value)&&Oe();break;case"rejected":(!Ee||w.error!==we.reason)&&Oe();break}}return w}updateResult(){const i=C(this,It),u=this.createResult(C(this,Ze),this.options);if(oe(this,In,C(this,Ze).state),oe(this,Ii,this.options),C(this,In).data!==void 0&&oe(this,tr,C(this,Ze)),Js(u,i))return;oe(this,It,u);const c=()=>{if(!i)return!0;const{notifyOnChangeProps:o}=this.options,d=typeof o=="function"?o():o;if(d==="all"||!d&&!C(this,ar).size)return!0;const m=new Set(d??C(this,ar));return this.options.throwOnError&&m.add("error"),Object.keys(C(this,It)).some(y=>{const v=y;return C(this,It)[v]!==i[v]&&m.has(v)})};Ue(this,Pe,Nv).call(this,{listeners:c()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&Ue(this,Pe,Hf).call(this)}},oa=new WeakMap,Ze=new WeakMap,du=new WeakMap,It=new WeakMap,In=new WeakMap,Ii=new WeakMap,wl=new WeakMap,pn=new WeakMap,hu=new WeakMap,er=new WeakMap,tr=new WeakMap,ei=new WeakMap,ti=new WeakMap,vn=new WeakMap,ar=new WeakMap,Pe=new WeakSet,au=function(i){Ue(this,Pe,Qf).call(this);let u=C(this,Ze).fetch(this.options,i);return i!=null&&i.throwOnError||(u=u.catch(ea)),u},Af=function(){Ue(this,Pe,Bf).call(this);const i=Rn(this.options.staleTime,C(this,Ze));if(uu.isServer()||C(this,It).isStale||!Mf(i))return;const c=bv(C(this,It).dataUpdatedAt,i)+1;oe(this,ei,Zn.setTimeout(()=>{C(this,It).isStale||this.updateResult()},c))},Uf=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(C(this,Ze)):this.options.refetchInterval)??!1},Lf=function(i){Ue(this,Pe,qf).call(this),oe(this,vn,i),!(uu.isServer()||Ua(this.options.enabled,C(this,Ze))===!1||!Mf(C(this,vn))||C(this,vn)===0)&&oe(this,ti,Zn.setInterval(()=>{(this.options.refetchIntervalInBackground||Jf.isFocused())&&Ue(this,Pe,au).call(this)},C(this,vn)))},Hf=function(){Ue(this,Pe,Af).call(this),Ue(this,Pe,Lf).call(this,Ue(this,Pe,Uf).call(this))},Bf=function(){C(this,ei)!==void 0&&(Zn.clearTimeout(C(this,ei)),oe(this,ei,void 0))},qf=function(){C(this,ti)!==void 0&&(Zn.clearInterval(C(this,ti)),oe(this,ti,void 0))},Qf=function(){const i=C(this,oa).getQueryCache().build(C(this,oa),this.options);if(i===C(this,Ze))return;const u=C(this,Ze);oe(this,Ze,i),oe(this,du,i.state),this.hasListeners()&&(u==null||u.removeObserver(this),i.addObserver(this))},Nv=function(i){zt.batch(()=>{i.listeners&&this.listeners.forEach(u=>{u(C(this,It))}),C(this,oa).getQueryCache().notify({query:C(this,Ze),type:"observerResultsUpdated"})})},ov);function W0(n,i){return Ua(i.enabled,n)!==!1&&n.state.data===void 0&&!(n.state.status==="error"&&i.retryOnMount===!1)}function vp(n,i){return W0(n,i)||n.state.data!==void 0&&Yf(n,i,i.refetchOnMount)}function Yf(n,i,u){if(Ua(i.enabled,n)!==!1&&Rn(i.staleTime,n)!=="static"){const c=typeof u=="function"?u(n):u;return c==="always"||c!==!1&&Pf(n,i)}return!1}function gp(n,i,u,c){return(n!==i||Ua(c.enabled,n)===!1)&&(!u.suspense||n.state.status!=="error")&&Pf(n,u)}function Pf(n,i){return Ua(i.enabled,n)!==!1&&n.isStaleByTime(Rn(i.staleTime,n))}function P0(n,i){return!Js(n.getCurrentResult(),i)}function bp(n){return{onFetch:(i,u)=>{var S,b,N,R,L;const c=i.options,o=(N=(b=(S=i.fetchOptions)==null?void 0:S.meta)==null?void 0:b.fetchMore)==null?void 0:N.direction,d=((R=i.state.data)==null?void 0:R.pages)||[],m=((L=i.state.data)==null?void 0:L.pageParams)||[];let y={pages:[],pageParams:[]},v=0;const p=async()=>{let G=!1;const q=Z=>{X0(Z,()=>i.signal,()=>G=!0)},$=xv(i.options,i.fetchOptions),W=async(Z,I,P)=>{if(G)return Promise.reject();if(I==null&&Z.pages.length)return Promise.resolve(Z);const ue=(()=>{const Ee={client:i.client,queryKey:i.queryKey,pageParam:I,direction:P?"backward":"forward",meta:i.options.meta};return q(Ee),Ee})(),w=await $(ue),{maxPages:ne}=i.options,ie=P?K0:G0;return{pages:ie(Z.pages,w,ne),pageParams:ie(Z.pageParams,I,ne)}};if(o&&d.length){const Z=o==="backward",I=Z?I0:Sp,P={pages:d,pageParams:m},ce=I(c,P);y=await W(P,ce,Z)}else{const Z=n??d.length;do{const I=v===0?m[0]??c.initialPageParam:Sp(c,y);if(v>0&&I==null)break;y=await W(y,I),v++}while(v{var G,q;return(q=(G=i.options).persister)==null?void 0:q.call(G,p,{client:i.client,queryKey:i.queryKey,meta:i.options.meta,signal:i.signal},u)}:i.fetchFn=p}}}function Sp(n,{pages:i,pageParams:u}){const c=i.length-1;return i.length>0?n.getNextPageParam(i[c],i,u[c],u):void 0}function I0(n,{pages:i,pageParams:u}){var c;return i.length>0?(c=n.getPreviousPageParam)==null?void 0:c.call(n,i[0],i,u[0],u):void 0}var mu,ll,Ft,ai,nl,on,fv,eS=(fv=class extends Rv{constructor(i){super();je(this,nl);je(this,mu);je(this,ll);je(this,Ft);je(this,ai);oe(this,mu,i.client),this.mutationId=i.mutationId,oe(this,Ft,i.mutationCache),oe(this,ll,[]),this.state=i.state||_v(),this.setOptions(i.options),this.scheduleGc()}setOptions(i){this.options=i,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(i){C(this,ll).includes(i)||(C(this,ll).push(i),this.clearGcTimeout(),C(this,Ft).notify({type:"observerAdded",mutation:this,observer:i}))}removeObserver(i){oe(this,ll,C(this,ll).filter(u=>u!==i)),this.scheduleGc(),C(this,Ft).notify({type:"observerRemoved",mutation:this,observer:i})}optionalRemove(){C(this,ll).length||(this.state.status==="pending"?this.scheduleGc():C(this,Ft).remove(this))}continue(){var i;return((i=C(this,ai))==null?void 0:i.continue())??this.execute(this.state.variables)}async execute(i){var m,y,v,p,S,b,N,R,L,G,q,$,W,Z,I,P,ce,ue;const u=()=>{Ue(this,nl,on).call(this,{type:"continue"})},c={client:C(this,mu),meta:this.options.meta,mutationKey:this.options.mutationKey};oe(this,ai,jv({fn:()=>this.options.mutationFn?this.options.mutationFn(i,c):Promise.reject(new Error("No mutationFn found")),onFail:(w,ne)=>{Ue(this,nl,on).call(this,{type:"failed",failureCount:w,error:ne})},onPause:()=>{Ue(this,nl,on).call(this,{type:"pause"})},onContinue:u,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>C(this,Ft).canRun(this)}));const o=this.state.status==="pending",d=!C(this,ai).canStart();try{if(o)u();else{Ue(this,nl,on).call(this,{type:"pending",variables:i,isPaused:d}),C(this,Ft).config.onMutate&&await C(this,Ft).config.onMutate(i,this,c);const ne=await((y=(m=this.options).onMutate)==null?void 0:y.call(m,i,c));ne!==this.state.context&&Ue(this,nl,on).call(this,{type:"pending",context:ne,variables:i,isPaused:d})}const w=await C(this,ai).start();return await((p=(v=C(this,Ft).config).onSuccess)==null?void 0:p.call(v,w,i,this.state.context,this,c)),await((b=(S=this.options).onSuccess)==null?void 0:b.call(S,w,i,this.state.context,c)),await((R=(N=C(this,Ft).config).onSettled)==null?void 0:R.call(N,w,null,this.state.variables,this.state.context,this,c)),await((G=(L=this.options).onSettled)==null?void 0:G.call(L,w,null,i,this.state.context,c)),Ue(this,nl,on).call(this,{type:"success",data:w}),w}catch(w){try{await(($=(q=C(this,Ft).config).onError)==null?void 0:$.call(q,w,i,this.state.context,this,c))}catch(ne){Promise.reject(ne)}try{await((Z=(W=this.options).onError)==null?void 0:Z.call(W,w,i,this.state.context,c))}catch(ne){Promise.reject(ne)}try{await((P=(I=C(this,Ft).config).onSettled)==null?void 0:P.call(I,void 0,w,this.state.variables,this.state.context,this,c))}catch(ne){Promise.reject(ne)}try{await((ue=(ce=this.options).onSettled)==null?void 0:ue.call(ce,void 0,w,i,this.state.context,c))}catch(ne){Promise.reject(ne)}throw Ue(this,nl,on).call(this,{type:"error",error:w}),w}finally{C(this,Ft).runNext(this)}}},mu=new WeakMap,ll=new WeakMap,Ft=new WeakMap,ai=new WeakMap,nl=new WeakSet,on=function(i){const u=c=>{switch(i.type){case"failed":return{...c,failureCount:i.failureCount,failureReason:i.error};case"pause":return{...c,isPaused:!0};case"continue":return{...c,isPaused:!1};case"pending":return{...c,context:i.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:i.isPaused,status:"pending",variables:i.variables,submittedAt:Date.now()};case"success":return{...c,data:i.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...c,data:void 0,error:i.error,failureCount:c.failureCount+1,failureReason:i.error,isPaused:!1,status:"error"}}};this.state=u(this.state),zt.batch(()=>{C(this,ll).forEach(c=>{c.onMutationUpdate(i)}),C(this,Ft).notify({mutation:this,type:"updated",action:i})})},fv);function _v(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Dl,Va,yu,dv,tS=(dv=class extends ur{constructor(i={}){super();je(this,Dl);je(this,Va);je(this,yu);this.config=i,oe(this,Dl,new Set),oe(this,Va,new Map),oe(this,yu,0)}build(i,u,c){const o=new eS({client:i,mutationCache:this,mutationId:++Bs(this,yu)._,options:i.defaultMutationOptions(u),state:c});return this.add(o),o}add(i){C(this,Dl).add(i);const u=qs(i);if(typeof u=="string"){const c=C(this,Va).get(u);c?c.push(i):C(this,Va).set(u,[i])}this.notify({type:"added",mutation:i})}remove(i){if(C(this,Dl).delete(i)){const u=qs(i);if(typeof u=="string"){const c=C(this,Va).get(u);if(c)if(c.length>1){const o=c.indexOf(i);o!==-1&&c.splice(o,1)}else c[0]===i&&C(this,Va).delete(u)}}this.notify({type:"removed",mutation:i})}canRun(i){const u=qs(i);if(typeof u=="string"){const c=C(this,Va).get(u),o=c==null?void 0:c.find(d=>d.state.status==="pending");return!o||o===i}else return!0}runNext(i){var c;const u=qs(i);if(typeof u=="string"){const o=(c=C(this,Va).get(u))==null?void 0:c.find(d=>d!==i&&d.state.isPaused);return(o==null?void 0:o.continue())??Promise.resolve()}else return Promise.resolve()}clear(){zt.batch(()=>{C(this,Dl).forEach(i=>{this.notify({type:"removed",mutation:i})}),C(this,Dl).clear(),C(this,Va).clear()})}getAll(){return Array.from(C(this,Dl))}find(i){const u={exact:!0,...i};return this.getAll().find(c=>dp(u,c))}findAll(i={}){return this.getAll().filter(u=>dp(i,u))}notify(i){zt.batch(()=>{this.listeners.forEach(u=>{u(i)})})}resumePausedMutations(){const i=this.getAll().filter(u=>u.state.isPaused);return zt.batch(()=>Promise.all(i.map(u=>u.continue().catch(ea))))}},Dl=new WeakMap,Va=new WeakMap,yu=new WeakMap,dv);function qs(n){var i;return(i=n.options.scope)==null?void 0:i.id}var zl,gn,fa,Al,Ul,Ks,Gf,hv,aS=(hv=class extends ur{constructor(u,c){super();je(this,Ul);je(this,zl);je(this,gn);je(this,fa);je(this,Al);oe(this,zl,u),this.setOptions(c),this.bindMethods(),Ue(this,Ul,Ks).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(u){var o;const c=this.options;this.options=C(this,zl).defaultMutationOptions(u),Js(this.options,c)||C(this,zl).getMutationCache().notify({type:"observerOptionsUpdated",mutation:C(this,fa),observer:this}),c!=null&&c.mutationKey&&this.options.mutationKey&&li(c.mutationKey)!==li(this.options.mutationKey)?this.reset():((o=C(this,fa))==null?void 0:o.state.status)==="pending"&&C(this,fa).setOptions(this.options)}onUnsubscribe(){var u;this.hasListeners()||(u=C(this,fa))==null||u.removeObserver(this)}onMutationUpdate(u){Ue(this,Ul,Ks).call(this),Ue(this,Ul,Gf).call(this,u)}getCurrentResult(){return C(this,gn)}reset(){var u;(u=C(this,fa))==null||u.removeObserver(this),oe(this,fa,void 0),Ue(this,Ul,Ks).call(this),Ue(this,Ul,Gf).call(this)}mutate(u,c){var o;return oe(this,Al,c),(o=C(this,fa))==null||o.removeObserver(this),oe(this,fa,C(this,zl).getMutationCache().build(C(this,zl),this.options)),C(this,fa).addObserver(this),C(this,fa).execute(u)}},zl=new WeakMap,gn=new WeakMap,fa=new WeakMap,Al=new WeakMap,Ul=new WeakSet,Ks=function(){var c;const u=((c=C(this,fa))==null?void 0:c.state)??_v();oe(this,gn,{...u,isPending:u.status==="pending",isSuccess:u.status==="success",isError:u.status==="error",isIdle:u.status==="idle",mutate:this.mutate,reset:this.reset})},Gf=function(u){zt.batch(()=>{var c,o,d,m,y,v,p,S;if(C(this,Al)&&this.hasListeners()){const b=C(this,gn).variables,N=C(this,gn).context,R={client:C(this,zl),meta:this.options.meta,mutationKey:this.options.mutationKey};if((u==null?void 0:u.type)==="success"){try{(o=(c=C(this,Al)).onSuccess)==null||o.call(c,u.data,b,N,R)}catch(L){Promise.reject(L)}try{(m=(d=C(this,Al)).onSettled)==null||m.call(d,u.data,null,b,N,R)}catch(L){Promise.reject(L)}}else if((u==null?void 0:u.type)==="error"){try{(v=(y=C(this,Al)).onError)==null||v.call(y,u.error,b,N,R)}catch(L){Promise.reject(L)}try{(S=(p=C(this,Al)).onSettled)==null||S.call(p,void 0,u.error,b,N,R)}catch(L){Promise.reject(L)}}}this.listeners.forEach(b=>{b(C(this,gn))})})},hv),il,mv,lS=(mv=class extends ur{constructor(i={}){super();je(this,il);this.config=i,oe(this,il,new Map)}build(i,u,c){const o=u.queryKey,d=u.queryHash??Ff(o,u);let m=this.get(d);return m||(m=new F0({client:i,queryKey:o,queryHash:d,options:i.defaultQueryOptions(u),state:c,defaultOptions:i.getQueryDefaults(o)}),this.add(m)),m}add(i){C(this,il).has(i.queryHash)||(C(this,il).set(i.queryHash,i),this.notify({type:"added",query:i}))}remove(i){const u=C(this,il).get(i.queryHash);u&&(i.destroy(),u===i&&C(this,il).delete(i.queryHash),this.notify({type:"removed",query:i}))}clear(){zt.batch(()=>{this.getAll().forEach(i=>{this.remove(i)})})}get(i){return C(this,il).get(i)}getAll(){return[...C(this,il).values()]}find(i){const u={exact:!0,...i};return this.getAll().find(c=>fp(u,c))}findAll(i={}){const u=this.getAll();return Object.keys(i).length>0?u.filter(c=>fp(i,c)):u}notify(i){zt.batch(()=>{this.listeners.forEach(u=>{u(i)})})}onFocus(){zt.batch(()=>{this.getAll().forEach(i=>{i.onFocus()})})}onOnline(){zt.batch(()=>{this.getAll().forEach(i=>{i.onOnline()})})}},il=new WeakMap,mv),xt,bn,Sn,lr,nr,xn,ir,rr,yv,nS=(yv=class{constructor(n={}){je(this,xt);je(this,bn);je(this,Sn);je(this,lr);je(this,nr);je(this,xn);je(this,ir);je(this,rr);oe(this,xt,n.queryCache||new lS),oe(this,bn,n.mutationCache||new tS),oe(this,Sn,n.defaultOptions||{}),oe(this,lr,new Map),oe(this,nr,new Map),oe(this,xn,0)}mount(){Bs(this,xn)._++,C(this,xn)===1&&(oe(this,ir,Jf.subscribe(async n=>{n&&(await this.resumePausedMutations(),C(this,xt).onFocus())})),oe(this,rr,Fs.subscribe(async n=>{n&&(await this.resumePausedMutations(),C(this,xt).onOnline())})))}unmount(){var n,i;Bs(this,xn)._--,C(this,xn)===0&&((n=C(this,ir))==null||n.call(this),oe(this,ir,void 0),(i=C(this,rr))==null||i.call(this),oe(this,rr,void 0))}isFetching(n){return C(this,xt).findAll({...n,fetchStatus:"fetching"}).length}isMutating(n){return C(this,bn).findAll({...n,status:"pending"}).length}getQueryData(n){var u;const i=this.defaultQueryOptions({queryKey:n});return(u=C(this,xt).get(i.queryHash))==null?void 0:u.state.data}ensureQueryData(n){const i=this.defaultQueryOptions(n),u=C(this,xt).build(this,i),c=u.state.data;return c===void 0?this.fetchQuery(n):(n.revalidateIfStale&&u.isStaleByTime(Rn(i.staleTime,u))&&this.prefetchQuery(i),Promise.resolve(c))}getQueriesData(n){return C(this,xt).findAll(n).map(({queryKey:i,state:u})=>{const c=u.data;return[i,c]})}setQueryData(n,i,u){const c=this.defaultQueryOptions({queryKey:n}),o=C(this,xt).get(c.queryHash),d=o==null?void 0:o.state.data,m=q0(i,d);if(m!==void 0)return C(this,xt).build(this,c).setData(m,{...u,manual:!0})}setQueriesData(n,i,u){return zt.batch(()=>C(this,xt).findAll(n).map(({queryKey:c})=>[c,this.setQueryData(c,i,u)]))}getQueryState(n){var u;const i=this.defaultQueryOptions({queryKey:n});return(u=C(this,xt).get(i.queryHash))==null?void 0:u.state}removeQueries(n){const i=C(this,xt);zt.batch(()=>{i.findAll(n).forEach(u=>{i.remove(u)})})}resetQueries(n,i){const u=C(this,xt);return zt.batch(()=>(u.findAll(n).forEach(c=>{c.reset()}),this.refetchQueries({type:"active",...n},i)))}cancelQueries(n,i={}){const u={revert:!0,...i},c=zt.batch(()=>C(this,xt).findAll(n).map(o=>o.cancel(u)));return Promise.all(c).then(ea).catch(ea)}invalidateQueries(n,i={}){return zt.batch(()=>(C(this,xt).findAll(n).forEach(u=>{u.invalidate()}),(n==null?void 0:n.refetchType)==="none"?Promise.resolve():this.refetchQueries({...n,type:(n==null?void 0:n.refetchType)??(n==null?void 0:n.type)??"active"},i)))}refetchQueries(n,i={}){const u={...i,cancelRefetch:i.cancelRefetch??!0},c=zt.batch(()=>C(this,xt).findAll(n).filter(o=>!o.isDisabled()&&!o.isStatic()).map(o=>{let d=o.fetch(void 0,u);return u.throwOnError||(d=d.catch(ea)),o.state.fetchStatus==="paused"?Promise.resolve():d}));return Promise.all(c).then(ea)}fetchQuery(n){const i=this.defaultQueryOptions(n);i.retry===void 0&&(i.retry=!1);const u=C(this,xt).build(this,i);return u.isStaleByTime(Rn(i.staleTime,u))?u.fetch(i):Promise.resolve(u.state.data)}prefetchQuery(n){return this.fetchQuery(n).then(ea).catch(ea)}fetchInfiniteQuery(n){return n.behavior=bp(n.pages),this.fetchQuery(n)}prefetchInfiniteQuery(n){return this.fetchInfiniteQuery(n).then(ea).catch(ea)}ensureInfiniteQueryData(n){return n.behavior=bp(n.pages),this.ensureQueryData(n)}resumePausedMutations(){return Fs.isOnline()?C(this,bn).resumePausedMutations():Promise.resolve()}getQueryCache(){return C(this,xt)}getMutationCache(){return C(this,bn)}getDefaultOptions(){return C(this,Sn)}setDefaultOptions(n){oe(this,Sn,n)}setQueryDefaults(n,i){C(this,lr).set(li(n),{queryKey:n,defaultOptions:i})}getQueryDefaults(n){const i=[...C(this,lr).values()],u={};return i.forEach(c=>{ru(n,c.queryKey)&&Object.assign(u,c.defaultOptions)}),u}setMutationDefaults(n,i){C(this,nr).set(li(n),{mutationKey:n,defaultOptions:i})}getMutationDefaults(n){const i=[...C(this,nr).values()],u={};return i.forEach(c=>{ru(n,c.mutationKey)&&Object.assign(u,c.defaultOptions)}),u}defaultQueryOptions(n){if(n._defaulted)return n;const i={...C(this,Sn).queries,...this.getQueryDefaults(n.queryKey),...n,_defaulted:!0};return i.queryHash||(i.queryHash=Ff(i.queryKey,i)),i.refetchOnReconnect===void 0&&(i.refetchOnReconnect=i.networkMode!=="always"),i.throwOnError===void 0&&(i.throwOnError=!!i.suspense),!i.networkMode&&i.persister&&(i.networkMode="offlineFirst"),i.queryFn===$f&&(i.enabled=!1),i}defaultMutationOptions(n){return n!=null&&n._defaulted?n:{...C(this,Sn).mutations,...(n==null?void 0:n.mutationKey)&&this.getMutationDefaults(n.mutationKey),...n,_defaulted:!0}}clear(){C(this,xt).clear(),C(this,bn).clear()}},xt=new WeakMap,bn=new WeakMap,Sn=new WeakMap,lr=new WeakMap,nr=new WeakMap,xn=new WeakMap,ir=new WeakMap,rr=new WeakMap,yv),Mv=x.createContext(void 0),ni=n=>{const i=x.useContext(Mv);if(!i)throw new Error("No QueryClient set, use QueryClientProvider to set one");return i},iS=({client:n,children:i})=>(x.useEffect(()=>(n.mount(),()=>{n.unmount()}),[n]),f.jsx(Mv.Provider,{value:n,children:i})),Ov=x.createContext(!1),rS=()=>x.useContext(Ov);Ov.Provider;function uS(){let n=!1;return{clearReset:()=>{n=!1},reset:()=>{n=!0},isReset:()=>n}}var sS=x.createContext(uS()),cS=()=>x.useContext(sS),oS=(n,i,u)=>{const c=u!=null&&u.state.error&&typeof n.throwOnError=="function"?Wf(n.throwOnError,[u.state.error,u]):n.throwOnError;(n.suspense||n.experimental_prefetchInRender||c)&&(i.isReset()||(n.retryOnMount=!1))},fS=n=>{x.useEffect(()=>{n.clearReset()},[n])},dS=({result:n,errorResetBoundary:i,throwOnError:u,query:c,suspense:o})=>n.isError&&!i.isReset()&&!n.isFetching&&c&&(o&&n.data===void 0||Wf(u,[n.error,c])),hS=n=>{if(n.suspense){const u=o=>o==="static"?o:Math.max(o??1e3,1e3),c=n.staleTime;n.staleTime=typeof c=="function"?(...o)=>u(c(...o)):u(c),typeof n.gcTime=="number"&&(n.gcTime=Math.max(n.gcTime,1e3))}},mS=(n,i)=>n.isLoading&&n.isFetching&&!i,yS=(n,i)=>(n==null?void 0:n.suspense)&&i.isPending,xp=(n,i,u)=>i.fetchOptimistic(n).catch(()=>{u.clearReset()});function pS(n,i,u){var N,R,L,G;const c=rS(),o=cS(),d=ni(),m=d.defaultQueryOptions(n);(R=(N=d.getDefaultOptions().queries)==null?void 0:N._experimental_beforeQuery)==null||R.call(N,m);const y=d.getQueryCache().get(m.queryHash);m._optimisticResults=c?"isRestoring":"optimistic",hS(m),oS(m,o,y),fS(o);const v=!d.getQueryCache().get(m.queryHash),[p]=x.useState(()=>new i(d,m)),S=p.getOptimisticResult(m),b=!c&&n.subscribed!==!1;if(x.useSyncExternalStore(x.useCallback(q=>{const $=b?p.subscribe(zt.batchCalls(q)):ea;return p.updateResult(),$},[p,b]),()=>p.getCurrentResult(),()=>p.getCurrentResult()),x.useEffect(()=>{p.setOptions(m)},[m,p]),yS(m,S))throw xp(m,p,o);if(dS({result:S,errorResetBoundary:o,throwOnError:m.throwOnError,query:y,suspense:m.suspense}))throw S.error;if((G=(L=d.getDefaultOptions().queries)==null?void 0:L._experimental_afterQuery)==null||G.call(L,m,S),m.experimental_prefetchInRender&&!uu.isServer()&&mS(S,c)){const q=v?xp(m,p,o):y==null?void 0:y.promise;q==null||q.catch(ea).finally(()=>{p.updateResult()})}return m.notifyOnChangeProps?S:p.trackResult(S)}function Za(n,i){return pS(n,$0)}function Qt(n,i){const u=ni(),[c]=x.useState(()=>new aS(u,n));x.useEffect(()=>{c.setOptions(n)},[c,n]);const o=x.useSyncExternalStore(x.useCallback(m=>c.subscribe(zt.batchCalls(m)),[c]),()=>c.getCurrentResult(),()=>c.getCurrentResult()),d=x.useCallback((m,y)=>{c.mutate(m,y).catch(ea)},[c]);if(o.error&&Wf(c.options.throwOnError,[o.error]))throw o.error;return{...o,mutate:d,mutateAsync:o.mutate}}/** * react-router v7.14.1 * * Copyright (c) Remix Software Inc. @@ -55,7 +55,9 @@ Error generating stack: `+l.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */var wv=n=>{throw TypeError(n)},pS=(n,i,s)=>i.has(n)||wv("Cannot "+s),Ef=(n,i,s)=>(pS(n,i,"read from private field"),s?s.call(n):i.get(n)),vS=(n,i,s)=>i.has(n)?wv("Cannot add the same private member more than once"):i instanceof WeakSet?i.add(n):i.set(n,s),jp="popstate";function Ep(n){return typeof n=="object"&&n!=null&&"pathname"in n&&"search"in n&&"hash"in n&&"state"in n&&"key"in n}function gS(n={}){function i(c,f){var p;let d=(p=f.state)==null?void 0:p.masked,{pathname:m,search:y,hash:g}=d||c.location;return us("",{pathname:m,search:y,hash:g},f.state&&f.state.usr||null,f.state&&f.state.key||"default",d?{pathname:c.location.pathname,search:c.location.search,hash:c.location.hash}:void 0)}function s(c,f){return typeof f=="string"?f:sl(f)}return SS(i,s,null,n)}function Be(n,i){if(n===!1||n===null||typeof n>"u")throw new Error(i)}function Rt(n,i){if(!n){typeof console<"u"&&console.warn(i);try{throw new Error(i)}catch{}}}function bS(){return Math.random().toString(36).substring(2,10)}function Np(n,i){return{usr:n.state,key:n.key,idx:i,masked:n.unstable_mask?{pathname:n.pathname,search:n.search,hash:n.hash}:void 0}}function us(n,i,s=null,c,f){return{pathname:typeof n=="string"?n:n.pathname,search:"",hash:"",...typeof i=="string"?ul(i):i,state:s,key:i&&i.key||c||bS(),unstable_mask:f}}function sl({pathname:n="/",search:i="",hash:s=""}){return i&&i!=="?"&&(n+=i.charAt(0)==="?"?i:"?"+i),s&&s!=="#"&&(n+=s.charAt(0)==="#"?s:"#"+s),n}function ul(n){let i={};if(n){let s=n.indexOf("#");s>=0&&(i.hash=n.substring(s),n=n.substring(0,s));let c=n.indexOf("?");c>=0&&(i.search=n.substring(c),n=n.substring(0,c)),n&&(i.pathname=n)}return i}function SS(n,i,s,c={}){let{window:f=document.defaultView,v5Compat:d=!1}=c,m=f.history,y="POP",g=null,p=x();p==null&&(p=0,m.replaceState({...m.state,idx:p},""));function x(){return(m.state||{idx:null}).idx}function b(){y="POP";let L=x(),X=L==null?null:L-p;p=L,g&&g({action:y,location:D.location,delta:X})}function _(L,X){y="PUSH";let W=Ep(L)?L:us(D.location,L,X);p=x()+1;let F=Np(W,p),P=D.createHref(W.unstable_mask||W);try{m.pushState(F,"",P)}catch(ae){if(ae instanceof DOMException&&ae.name==="DataCloneError")throw ae;f.location.assign(P)}d&&g&&g({action:y,location:D.location,delta:1})}function C(L,X){y="REPLACE";let W=Ep(L)?L:us(D.location,L,X);p=x();let F=Np(W,p),P=D.createHref(W.unstable_mask||W);m.replaceState(F,"",P),d&&g&&g({action:y,location:D.location,delta:0})}function A(L){return Ov(L)}let D={get action(){return y},get location(){return n(f,m)},listen(L){if(g)throw new Error("A history only accepts one active listener");return f.addEventListener(jp,b),g=L,()=>{f.removeEventListener(jp,b),g=null}},createHref(L){return i(f,L)},createURL:A,encodeLocation(L){let X=A(L);return{pathname:X.pathname,search:X.search,hash:X.hash}},push:_,replace:C,go(L){return m.go(L)}};return D}function Ov(n,i=!1){let s="http://localhost";typeof window<"u"&&(s=window.location.origin!=="null"?window.location.origin:window.location.href),Be(s,"No window.location.(origin|href) available to create URL");let c=typeof n=="string"?n:sl(n);return c=c.replace(/ $/,"%20"),!i&&c.startsWith("//")&&(c=s+c),new URL(c,s)}var ls,Rp=class{constructor(n){if(vS(this,ls,new Map),n)for(let[i,s]of n)this.set(i,s)}get(n){if(Ef(this,ls).has(n))return Ef(this,ls).get(n);if(n.defaultValue!==void 0)return n.defaultValue;throw new Error("No value found for context")}set(n,i){Ef(this,ls).set(n,i)}};ls=new WeakMap;var xS=new Set(["lazy","caseSensitive","path","id","index","children"]);function jS(n){return xS.has(n)}var ES=new Set(["lazy","caseSensitive","path","id","index","middleware","children"]);function NS(n){return ES.has(n)}function RS(n){return n.index===!0}function cs(n,i,s=[],c={},f=!1){return n.map((d,m)=>{let y=[...s,String(m)],g=typeof d.id=="string"?d.id:y.join("-");if(Be(d.index!==!0||!d.children,"Cannot specify children on an index route"),Be(f||!c[g],`Found a route id collision on id "${g}". Route id's must be globally unique within Data Router usages`),RS(d)){let p={...d,id:g};return c[g]=Cp(p,i(p)),p}else{let p={...d,id:g,children:void 0};return c[g]=Cp(p,i(p)),d.children&&(p.children=cs(d.children,i,y,c,f)),p}})}function Cp(n,i){return Object.assign(n,{...i,...typeof i.lazy=="object"&&i.lazy!=null?{lazy:{...n.lazy,...i.lazy}}:{}})}function hn(n,i,s="/"){return ns(n,i,s,!1)}function ns(n,i,s,c){let f=typeof i=="string"?ul(i):i,d=qa(f.pathname||"/",s);if(d==null)return null;let m=Dv(n);TS(m);let y=null;for(let g=0;y==null&&g{let x={relativePath:p===void 0?m.path||"":p,caseSensitive:m.caseSensitive===!0,childrenIndex:y,route:m};if(x.relativePath.startsWith("/")){if(!x.relativePath.startsWith(c)&&g)return;Be(x.relativePath.startsWith(c),`Absolute route path "${x.relativePath}" nested under path "${c}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),x.relativePath=x.relativePath.slice(c.length)}let b=Ba([c,x.relativePath]),_=s.concat(x);m.children&&m.children.length>0&&(Be(m.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${b}".`),Dv(m.children,i,_,b,g)),!(m.path==null&&!m.index)&&i.push({path:b,score:AS(b,m.index),routesMeta:_})};return n.forEach((m,y)=>{var g;if(m.path===""||!((g=m.path)!=null&&g.includes("?")))d(m,y);else for(let p of zv(m.path))d(m,y,!0,p)}),i}function zv(n){let i=n.split("/");if(i.length===0)return[];let[s,...c]=i,f=s.endsWith("?"),d=s.replace(/\?$/,"");if(c.length===0)return f?[d,""]:[d];let m=zv(c.join("/")),y=[];return y.push(...m.map(g=>g===""?d:[d,g].join("/"))),f&&y.push(...m),y.map(g=>n.startsWith("/")&&g===""?"/":g)}function TS(n){n.sort((i,s)=>i.score!==s.score?s.score-i.score:US(i.routesMeta.map(c=>c.childrenIndex),s.routesMeta.map(c=>c.childrenIndex)))}var _S=/^:[\w-]+$/,MS=3,wS=2,OS=1,DS=10,zS=-2,Tp=n=>n==="*";function AS(n,i){let s=n.split("/"),c=s.length;return s.some(Tp)&&(c+=zS),i&&(c+=wS),s.filter(f=>!Tp(f)).reduce((f,d)=>f+(_S.test(d)?MS:d===""?OS:DS),c)}function US(n,i){return n.length===i.length&&n.slice(0,-1).every((c,f)=>c===i[f])?n[n.length-1]-i[i.length-1]:0}function LS(n,i,s=!1){let{routesMeta:c}=n,f={},d="/",m=[];for(let y=0;y{if(x==="*"){let A=y[_]||"";m=d.slice(0,d.length-A.length).replace(/(.)\/+$/,"$1")}const C=y[_];return b&&!C?p[x]=void 0:p[x]=(C||"").replace(/%2F/g,"/"),p},{}),pathname:d,pathnameBase:m,pattern:n}}function HS(n,i=!1,s=!0){Rt(n==="*"||!n.endsWith("*")||n.endsWith("/*"),`Route path "${n}" will be treated as if it were "${n.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${n.replace(/\*$/,"/*")}".`);let c=[],f="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(m,y,g,p,x)=>{if(c.push({paramName:y,isOptional:g!=null}),g){let b=x.charAt(p+m.length);return b&&b!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return n.endsWith("*")?(c.push({paramName:"*"}),f+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):s?f+="\\/*$":n!==""&&n!=="/"&&(f+="(?:(?=\\/|$))"),[new RegExp(f,i?void 0:"i"),c]}function BS(n){try{return n.split("/").map(i=>decodeURIComponent(i).replace(/\//g,"%2F")).join("/")}catch(i){return Rt(!1,`The URL path "${n}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${i}).`),n}}function qa(n,i){if(i==="/")return n;if(!n.toLowerCase().startsWith(i.toLowerCase()))return null;let s=i.endsWith("/")?i.length-1:i.length,c=n.charAt(s);return c&&c!=="/"?null:n.slice(s)||"/"}function qS({basename:n,pathname:i}){return i==="/"?n:Ba([n,i])}var Av=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ed=n=>Av.test(n);function QS(n,i="/"){let{pathname:s,search:c="",hash:f=""}=typeof n=="string"?ul(n):n,d;return s?(s=td(s),s.startsWith("/")?d=_p(s.substring(1),"/"):d=_p(s,i)):d=i,{pathname:d,search:GS(c),hash:KS(f)}}function _p(n,i){let s=Iu(i).split("/");return n.split("/").forEach(f=>{f===".."?s.length>1&&s.pop():f!=="."&&s.push(f)}),s.length>1?s.join("/"):"/"}function Nf(n,i,s,c){return`Cannot include a '${n}' character in a manually specified \`to.${i}\` field [${JSON.stringify(c)}]. Please separate it out to the \`to.${s}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function Uv(n){return n.filter((i,s)=>s===0||i.route.path&&i.route.path.length>0)}function ac(n){let i=Uv(n);return i.map((s,c)=>c===i.length-1?s.pathname:s.pathnameBase)}function ps(n,i,s,c=!1){let f;typeof n=="string"?f=ul(n):(f={...n},Be(!f.pathname||!f.pathname.includes("?"),Nf("?","pathname","search",f)),Be(!f.pathname||!f.pathname.includes("#"),Nf("#","pathname","hash",f)),Be(!f.search||!f.search.includes("#"),Nf("#","search","hash",f)));let d=n===""||f.pathname==="",m=d?"/":f.pathname,y;if(m==null)y=s;else{let b=i.length-1;if(!c&&m.startsWith("..")){let _=m.split("/");for(;_[0]==="..";)_.shift(),b-=1;f.pathname=_.join("/")}y=b>=0?i[b]:"/"}let g=QS(f,y),p=m&&m!=="/"&&m.endsWith("/"),x=(d||m===".")&&s.endsWith("/");return!g.pathname.endsWith("/")&&(p||x)&&(g.pathname+="/"),g}var td=n=>n.replace(/\/\/+/g,"/"),Ba=n=>td(n.join("/")),Iu=n=>n.replace(/\/+$/,""),YS=n=>Iu(n).replace(/^\/*/,"/"),GS=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,KS=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n,vs=class{constructor(n,i,s,c=!1){this.status=n,this.statusText=i||"",this.internal=c,s instanceof Error?(this.data=s.toString(),this.error=s):this.data=s}};function os(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}function gs(n){let i=n.map(s=>s.route.path).filter(Boolean);return Ba(i)||"/"}var Lv=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Hv(n,i){let s=n;if(typeof s!="string"||!Av.test(s))return{absoluteURL:void 0,isExternal:!1,to:s};let c=s,f=!1;if(Lv)try{let d=new URL(window.location.href),m=s.startsWith("//")?new URL(d.protocol+s):new URL(s),y=qa(m.pathname,i);m.origin===d.origin&&y!=null?s=y+m.search+m.hash:f=!0}catch{Rt(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:c,isExternal:f,to:s}}var Nn=Symbol("Uninstrumented");function XS(n,i){let s={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};n.forEach(f=>f({id:i.id,index:i.index,path:i.path,instrument(d){let m=Object.keys(s);for(let y of m)d[y]&&s[y].push(d[y])}}));let c={};if(typeof i.lazy=="function"&&s.lazy.length>0){let f=Vi(s.lazy,i.lazy,()=>{});f&&(c.lazy=f)}if(typeof i.lazy=="object"){let f=i.lazy;["middleware","loader","action"].forEach(d=>{let m=f[d],y=s[`lazy.${d}`];if(typeof m=="function"&&y.length>0){let g=Vi(y,m,()=>{});g&&(c.lazy=Object.assign(c.lazy||{},{[d]:g}))}})}return["loader","action"].forEach(f=>{let d=i[f];if(typeof d=="function"&&s[f].length>0){let m=d[Nn]??d,y=Vi(s[f],m,(...g)=>Mp(g[0]));y&&(f==="loader"&&m.hydrate===!0&&(y.hydrate=!0),y[Nn]=m,c[f]=y)}}),i.middleware&&i.middleware.length>0&&s.middleware.length>0&&(c.middleware=i.middleware.map(f=>{let d=f[Nn]??f,m=Vi(s.middleware,d,(...y)=>Mp(y[0]));return m?(m[Nn]=d,m):f})),c}function kS(n,i){let s={navigate:[],fetch:[]};if(i.forEach(c=>c({instrument(f){let d=Object.keys(f);for(let m of d)f[m]&&s[m].push(f[m])}})),s.navigate.length>0){let c=n.navigate[Nn]??n.navigate,f=Vi(s.navigate,c,(...d)=>{let[m,y]=d;return{to:typeof m=="number"||typeof m=="string"?m:m?sl(m):".",...wp(n,y??{})}});f&&(f[Nn]=c,n.navigate=f)}if(s.fetch.length>0){let c=n.fetch[Nn]??n.fetch,f=Vi(s.fetch,c,(...d)=>{let[m,,y,g]=d;return{href:y??".",fetcherKey:m,...wp(n,g??{})}});f&&(f[Nn]=c,n.fetch=f)}return n}function Vi(n,i,s){return n.length===0?null:async(...c)=>{let f=await Bv(n,s(...c),()=>i(...c),n.length-1);if(f.type==="error")throw f.value;return f.value}}async function Bv(n,i,s,c){let f=n[c],d;if(f){let m,y=async()=>(m?console.error("You cannot call instrumented handlers more than once"):m=Bv(n,i,s,c-1),d=await m,Be(d,"Expected a result"),d.type==="error"&&d.value instanceof Error?{status:"error",error:d.value}:{status:"success",error:void 0});try{await f(y,i)}catch(g){console.error("An instrumentation function threw an error:",g)}m||await y(),await m}else try{d={type:"success",value:await s()}}catch(m){d={type:"error",value:m}}return d||{type:"error",value:new Error("No result assigned in instrumentation chain.")}}function Mp(n){let{request:i,context:s,params:c,unstable_pattern:f}=n;return{request:VS(i),params:{...c},unstable_pattern:f,context:ZS(s)}}function wp(n,i){return{currentUrl:sl(n.state.location),..."formMethod"in i?{formMethod:i.formMethod}:{},..."formEncType"in i?{formEncType:i.formEncType}:{},..."formData"in i?{formData:i.formData}:{},..."body"in i?{body:i.body}:{}}}function VS(n){return{method:n.method,url:n.url,headers:{get:(...i)=>n.headers.get(...i)}}}function ZS(n){if(JS(n)){let i={...n};return Object.freeze(i),i}else return{get:i=>n.get(i)}}var FS=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function JS(n){if(n===null||typeof n!="object")return!1;const i=Object.getPrototypeOf(n);return i===Object.prototype||i===null||Object.getOwnPropertyNames(i).sort().join("\0")===FS}var qv=["POST","PUT","PATCH","DELETE"],$S=new Set(qv),WS=["GET",...qv],PS=new Set(WS),Qv=new Set([301,302,303,307,308]),IS=new Set([307,308]),Rf={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ex={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Ir={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},tx=n=>({hasErrorBoundary:!!n.hasErrorBoundary}),Yv="remix-router-transitions",Gv=Symbol("ResetLoaderData");function ax(n){const i=n.window?n.window:typeof window<"u"?window:void 0,s=typeof i<"u"&&typeof i.document<"u"&&typeof i.document.createElement<"u";Be(n.routes.length>0,"You must provide a non-empty routes array to createRouter");let c=n.hydrationRouteProperties||[],f=n.mapRouteProperties||tx,d=f;if(n.unstable_instrumentations){let E=n.unstable_instrumentations;d=M=>({...f(M),...XS(E.map(B=>B.route).filter(Boolean),M)})}let m={},y=cs(n.routes,d,void 0,m),g,p=n.basename||"/";p.startsWith("/")||(p=`/${p}`);let x=n.dataStrategy||sx,b={unstable_passThroughRequests:!1,...n.future},_=null,C=new Set,A=null,D=null,L=null,X=n.hydrationData!=null,W=hn(y,n.history.location,p),F=!1,P=null,ae,fe;if(W==null&&!n.patchRoutesOnNavigation){let E=Ua(404,{pathname:n.history.location.pathname}),{matches:M,route:B}=Yu(y);ae=!0,fe=!ae,W=M,P={[B.id]:E}}else if(W&&!n.hydrationData&&Ql(W,y,n.history.location.pathname).active&&(W=null),W)if(W.some(E=>E.route.lazy))ae=!1,fe=!ae;else if(!W.some(E=>ad(E.route)))ae=!0,fe=!ae;else{let E=n.hydrationData?n.hydrationData.loaderData:null,M=n.hydrationData?n.hydrationData.errors:null,B=W;if(M){let I=W.findIndex(te=>M[te.route.id]!==void 0);B=B.slice(0,I+1)}fe=!1,ae=!0,B.forEach(I=>{let te=Kv(I.route,E,M);fe=fe||te.renderFallback,ae=ae&&!te.shouldLoad})}else{ae=!1,fe=!ae,W=[];let E=Ql(null,y,n.history.location.pathname);E.active&&E.matches&&(F=!0,W=E.matches)}let ne,O={historyAction:n.history.action,location:n.history.location,matches:W,initialized:ae,renderFallback:fe,navigation:Rf,restoreScrollPosition:n.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:n.hydrationData&&n.hydrationData.loaderData||{},actionData:n.hydrationData&&n.hydrationData.actionData||null,errors:n.hydrationData&&n.hydrationData.errors||P,fetchers:new Map,blockers:new Map},le="POP",ie=null,Se=!1,xe,_e=!1,De=new Map,je=null,z=!1,V=!1,re=new Set,se=new Map,Ne=0,R=-1,K=new Map,q=new Set,ee=new Map,he=new Map,ge=new Set,Me=new Map,ot,He=null;function fa(){if(_=n.history.listen(({action:E,location:M,delta:B})=>{if(ot){ot(),ot=void 0;return}Rt(Me.size===0||B!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let I=Tn({currentLocation:O.location,nextLocation:M,historyAction:E});if(I&&B!=null){let te=new Promise(ye=>{ot=ye});n.history.go(B*-1),fl(I,{state:"blocked",location:M,proceed(){fl(I,{state:"proceeding",proceed:void 0,reset:void 0,location:M}),te.then(()=>n.history.go(B))},reset(){let ye=new Map(O.blockers);ye.set(I,Ir),Je({blockers:ye})}}),ie==null||ie.resolve(),ie=null;return}return J(E,M)}),s){Rx(i,De);let E=()=>Cx(i,De);i.addEventListener("pagehide",E),je=()=>i.removeEventListener("pagehide",E)}return O.initialized||J("POP",O.location,{initialHydration:!0}),ne}function Ja(){_&&_(),je&&je(),C.clear(),xe&&xe.abort(),O.fetchers.forEach((E,M)=>ha(M)),O.blockers.forEach((E,M)=>Cn(M))}function ea(E){return C.add(E),()=>C.delete(E)}function Je(E,M={}){E.matches&&(E.matches=E.matches.map(te=>{let ye=m[te.route.id],ue=te.route;return ue.element!==ye.element||ue.errorElement!==ye.errorElement||ue.hydrateFallbackElement!==ye.hydrateFallbackElement?{...te,route:ye}:te})),O={...O,...E};let B=[],I=[];O.fetchers.forEach((te,ye)=>{te.state==="idle"&&(ge.has(ye)?B.push(ye):I.push(ye))}),ge.forEach(te=>{!O.fetchers.has(te)&&!se.has(te)&&B.push(te)}),[...C].forEach(te=>te(O,{deletedFetchers:B,newErrors:E.errors??null,viewTransitionOpts:M.viewTransitionOpts,flushSync:M.flushSync===!0})),B.forEach(te=>ha(te)),I.forEach(te=>O.fetchers.delete(te))}function At(E,M,{flushSync:B}={}){var Te,be;let I=O.actionData!=null&&O.navigation.formMethod!=null&&Jt(O.navigation.formMethod)&&O.navigation.state==="loading"&&((Te=E.state)==null?void 0:Te._isRedirect)!==!0,te;M.actionData?Object.keys(M.actionData).length>0?te=M.actionData:te=null:I?te=O.actionData:te=null;let ye=M.loaderData?Yp(O.loaderData,M.loaderData,M.matches||[],M.errors):O.loaderData,ue=O.blockers;ue.size>0&&(ue=new Map(ue),ue.forEach((ze,Le)=>ue.set(Le,Ir)));let pe=z?!1:cr(E,M.matches||O.matches),de=Se===!0||O.navigation.formMethod!=null&&Jt(O.navigation.formMethod)&&((be=E.state)==null?void 0:be._isRedirect)!==!0;g&&(y=g,g=void 0),z||le==="POP"||(le==="PUSH"?n.history.push(E,E.state):le==="REPLACE"&&n.history.replace(E,E.state));let ce;if(le==="POP"){let ze=De.get(O.location.pathname);ze&&ze.has(E.pathname)?ce={currentLocation:O.location,nextLocation:E}:De.has(E.pathname)&&(ce={currentLocation:E,nextLocation:O.location})}else if(_e){let ze=De.get(O.location.pathname);ze?ze.add(E.pathname):(ze=new Set([E.pathname]),De.set(O.location.pathname,ze)),ce={currentLocation:O.location,nextLocation:E}}Je({...M,actionData:te,loaderData:ye,historyAction:le,location:E,initialized:!0,renderFallback:!1,navigation:Rf,revalidation:"idle",restoreScrollPosition:pe,preventScrollReset:de,blockers:ue},{viewTransitionOpts:ce,flushSync:B===!0}),le="POP",Se=!1,_e=!1,z=!1,V=!1,ie==null||ie.resolve(),ie=null,He==null||He.resolve(),He=null}async function $a(E,M){if(ie==null||ie.resolve(),ie=null,typeof E=="number"){ie||(ie=kp());let ut=ie.promise;return n.history.go(E),ut}let B=Kf(O.location,O.matches,p,E,M==null?void 0:M.fromRouteId,M==null?void 0:M.relative),{path:I,submission:te,error:ye}=Op(!1,B,M),ue;M!=null&&M.unstable_mask&&(ue={pathname:"",search:"",hash:"",...typeof M.unstable_mask=="string"?ul(M.unstable_mask):{...O.location.unstable_mask,...M.unstable_mask}});let pe=O.location,de=us(pe,I,M&&M.state,void 0,ue);de={...de,...n.history.encodeLocation(de)};let ce=M&&M.replace!=null?M.replace:void 0,Te="PUSH";ce===!0?Te="REPLACE":ce===!1||te!=null&&Jt(te.formMethod)&&te.formAction===O.location.pathname+O.location.search&&(Te="REPLACE");let be=M&&"preventScrollReset"in M?M.preventScrollReset===!0:void 0,ze=(M&&M.flushSync)===!0,Le=Tn({currentLocation:pe,nextLocation:de,historyAction:Te});if(Le){fl(Le,{state:"blocked",location:de,proceed(){fl(Le,{state:"proceeding",proceed:void 0,reset:void 0,location:de}),$a(E,M)},reset(){let ut=new Map(O.blockers);ut.set(Le,Ir),Je({blockers:ut})}});return}await J(Te,de,{submission:te,pendingError:ye,preventScrollReset:be,replace:M&&M.replace,enableViewTransition:M&&M.viewTransition,flushSync:ze,callSiteDefaultShouldRevalidate:M&&M.unstable_defaultShouldRevalidate})}function Ya(){He||(He=kp()),tt(),Je({revalidation:"loading"});let E=He.promise;return O.navigation.state==="submitting"?E:O.navigation.state==="idle"?(J(O.historyAction,O.location,{startUninterruptedRevalidation:!0}),E):(J(le||O.historyAction,O.navigation.location,{overrideNavigation:O.navigation,enableViewTransition:_e===!0}),E)}async function J(E,M,B){xe&&xe.abort(),xe=null,le=E,z=(B&&B.startUninterruptedRevalidation)===!0,sc(O.location,O.matches),Se=(B&&B.preventScrollReset)===!0,_e=(B&&B.enableViewTransition)===!0;let I=g||y,te=B&&B.overrideNavigation,ye=B!=null&&B.initialHydration&&O.matches&&O.matches.length>0&&!F?O.matches:hn(I,M,p),ue=(B&&B.flushSync)===!0;if(ye&&O.initialized&&!V&&yx(O.location,M)&&!(B&&B.submission&&Jt(B.submission.formMethod))){At(M,{matches:ye},{flushSync:ue});return}let pe=Ql(ye,I,M.pathname);if(pe.active&&pe.matches&&(ye=pe.matches),!ye){let{error:dt,notFoundMatches:gt,route:Ze}=Ka(M.pathname);At(M,{matches:gt,loaderData:{},errors:{[Ze.id]:dt}},{flushSync:ue});return}xe=new AbortController;let de=ki(n.history,M,xe.signal,B&&B.submission),ce=n.getContext?await n.getContext():new Rp,Te;if(B&&B.pendingError)Te=[mn(ye).route.id,{type:"error",error:B.pendingError}];else if(B&&B.submission&&Jt(B.submission.formMethod)){let dt=await da(de,M,B.submission,ye,ce,pe.active,B&&B.initialHydration===!0,{replace:B.replace,flushSync:ue});if(dt.shortCircuited)return;if(dt.pendingActionResult){let[gt,Ze]=dt.pendingActionResult;if(ja(Ze)&&os(Ze.error)&&Ze.error.status===404){xe=null,At(M,{matches:dt.matches,loaderData:{},errors:{[gt]:Ze.error}});return}}ye=dt.matches||ye,Te=dt.pendingActionResult,te=Cf(M,B.submission),ue=!1,pe.active=!1,de=ki(n.history,de.url,de.signal)}let{shortCircuited:be,matches:ze,loaderData:Le,errors:ut}=await Ga(de,M,ye,ce,pe.active,te,B&&B.submission,B&&B.fetcherSubmission,B&&B.replace,B&&B.initialHydration===!0,ue,Te,B&&B.callSiteDefaultShouldRevalidate);be||(xe=null,At(M,{matches:ze||ye,...Gp(Te),loaderData:Le,errors:ut}))}async function da(E,M,B,I,te,ye,ue,pe={}){tt();let de=Ex(M,B);if(Je({navigation:de},{flushSync:pe.flushSync===!0}),ye){let be=await Wa(I,M.pathname,E.signal);if(be.type==="aborted")return{shortCircuited:!0};if(be.type==="error"){if(be.partialMatches.length===0){let{matches:Le,route:ut}=Yu(y);return{matches:Le,pendingActionResult:[ut.id,{type:"error",error:be.error}]}}let ze=mn(be.partialMatches).route.id;return{matches:be.partialMatches,pendingActionResult:[ze,{type:"error",error:be.error}]}}else if(be.matches)I=be.matches;else{let{notFoundMatches:ze,error:Le,route:ut}=Ka(M.pathname);return{matches:ze,pendingActionResult:[ut.id,{type:"error",error:Le}]}}}let ce,Te=Vu(I,M);if(!Te.route.action&&!Te.route.lazy)ce={type:"error",error:Ua(405,{method:E.method,pathname:M.pathname,routeId:Te.route.id})};else{let be=Zi(d,m,E,M,I,Te,ue?[]:c,te),ze=await Q(E,M,be,te,null);if(ce=ze[Te.route.id],!ce){for(let Le of I)if(ze[Le.route.id]){ce=ze[Le.route.id];break}}if(E.signal.aborted)return{shortCircuited:!0}}if(Zn(ce)){let be;return pe&&pe.replace!=null?be=pe.replace:be=Bp(ce.response.headers.get("Location"),new URL(E.url),p,n.history)===O.location.pathname+O.location.search,await Na(E,ce,!0,{submission:B,replace:be}),{shortCircuited:!0}}if(ja(ce)){let be=mn(I,Te.route.id);return(pe&&pe.replace)!==!0&&(le="PUSH"),{matches:I,pendingActionResult:[be.route.id,ce,Te.route.id]}}return{matches:I,pendingActionResult:[Te.route.id,ce]}}async function Ga(E,M,B,I,te,ye,ue,pe,de,ce,Te,be,ze){let Le=ye||Cf(M,ue),ut=ue||pe||Xp(Le),dt=!z&&!ce;if(te){if(dt){let jt=cl(be);Je({navigation:Le,...jt!==void 0?{actionData:jt}:{}},{flushSync:Te})}let qe=await Wa(B,M.pathname,E.signal);if(qe.type==="aborted")return{shortCircuited:!0};if(qe.type==="error"){if(qe.partialMatches.length===0){let{matches:Vt,route:Tt}=Yu(y);return{matches:Vt,loaderData:{},errors:{[Tt.id]:qe.error}}}let jt=mn(qe.partialMatches).route.id;return{matches:qe.partialMatches,loaderData:{},errors:{[jt]:qe.error}}}else if(qe.matches)B=qe.matches;else{let{error:jt,notFoundMatches:Vt,route:Tt}=Ka(M.pathname);return{matches:Vt,loaderData:{},errors:{[Tt.id]:jt}}}}let gt=g||y,{dsMatches:Ze,revalidatingFetchers:Ct}=Dp(E,I,d,m,n.history,O,B,ut,M,ce?[]:c,ce===!0,V,re,ge,ee,q,gt,p,n.patchRoutesOnNavigation!=null,be,ze);if(R=++Ne,!n.dataStrategy&&!Ze.some(qe=>qe.shouldLoad)&&!Ze.some(qe=>qe.route.middleware&&qe.route.middleware.length>0)&&Ct.length===0){let qe=Es();return At(M,{matches:B,loaderData:{},errors:be&&ja(be[1])?{[be[0]]:be[1].error}:null,...Gp(be),...qe?{fetchers:new Map(O.fetchers)}:{}},{flushSync:Te}),{shortCircuited:!0}}if(dt){let qe={};if(!te){qe.navigation=Le;let jt=cl(be);jt!==void 0&&(qe.actionData=jt)}Ct.length>0&&(qe.fetchers=Hl(Ct)),Je(qe,{flushSync:Te})}Ct.forEach(qe=>{Lt(qe.key),qe.controller&&se.set(qe.key,qe.controller)});let ft=()=>Ct.forEach(qe=>Lt(qe.key));xe&&xe.signal.addEventListener("abort",ft);let{loaderResults:Yl,fetcherResults:Xa}=await Fe(Ze,Ct,E,M,I);if(E.signal.aborted)return{shortCircuited:!0};xe&&xe.signal.removeEventListener("abort",ft),Ct.forEach(qe=>se.delete(qe.key));let Ht=Gu(Yl);if(Ht)return await Na(E,Ht.result,!0,{replace:de}),{shortCircuited:!0};if(Ht=Gu(Xa),Ht)return q.add(Ht.key),await Na(E,Ht.result,!0,{replace:de}),{shortCircuited:!0};let{loaderData:Pa,errors:_n}=Qp(O,B,Yl,be,Ct,Xa);ce&&O.errors&&(_n={...O.errors,..._n});let Ia=Es(),Mn=Ns(R),ci=Ia||Mn||Ct.length>0;return{matches:B,loaderData:Pa,errors:_n,...ci?{fetchers:new Map(O.fetchers)}:{}}}function cl(E){if(E&&!ja(E[1]))return{[E[0]]:E[1].data};if(O.actionData)return Object.keys(O.actionData).length===0?null:O.actionData}function Hl(E){return E.forEach(M=>{let B=O.fetchers.get(M.key),I=es(void 0,B?B.data:void 0);O.fetchers.set(M.key,I)}),new Map(O.fetchers)}async function ri(E,M,B,I){Lt(E);let te=(I&&I.flushSync)===!0,ye=g||y,ue=Kf(O.location,O.matches,p,B,M,I==null?void 0:I.relative),pe=hn(ye,ue,p),de=Ql(pe,ye,ue);if(de.active&&de.matches&&(pe=de.matches),!pe){vt(E,M,Ua(404,{pathname:ue}),{flushSync:te});return}let{path:ce,submission:Te,error:be}=Op(!0,ue,I);if(be){vt(E,M,be,{flushSync:te});return}let ze=n.getContext?await n.getContext():new Rp,Le=(I&&I.preventScrollReset)===!0;if(Te&&Jt(Te.formMethod)){await si(E,M,ce,pe,ze,de.active,te,Le,Te,I&&I.unstable_defaultShouldRevalidate);return}ee.set(E,{routeId:M,path:ce}),await Ut(E,M,ce,pe,ze,de.active,te,Le,Te)}async function si(E,M,B,I,te,ye,ue,pe,de,ce){tt(),ee.delete(E);let Te=O.fetchers.get(E);Pe(E,Nx(de,Te),{flushSync:ue});let be=new AbortController,ze=ki(n.history,B,be.signal,de);if(ye){let ht=await Wa(I,new URL(ze.url).pathname,ze.signal,E);if(ht.type==="aborted")return;if(ht.type==="error"){vt(E,M,ht.error,{flushSync:ue});return}else if(ht.matches)I=ht.matches;else{vt(E,M,Ua(404,{pathname:B}),{flushSync:ue});return}}let Le=Vu(I,B);if(!Le.route.action&&!Le.route.lazy){let ht=Ua(405,{method:de.formMethod,pathname:B,routeId:M});vt(E,M,ht,{flushSync:ue});return}se.set(E,be);let ut=Ne,dt=Zi(d,m,ze,B,I,Le,c,te),gt=await Q(ze,B,dt,te,E),Ze=gt[Le.route.id];if(!Ze){for(let ht of dt)if(gt[ht.route.id]){Ze=gt[ht.route.id];break}}if(ze.signal.aborted){se.get(E)===be&&se.delete(E);return}if(ge.has(E)){if(Zn(Ze)||ja(Ze)){Pe(E,wl(void 0));return}}else{if(Zn(Ze))if(se.delete(E),R>ut){Pe(E,wl(void 0));return}else return q.add(E),Pe(E,es(de)),Na(ze,Ze,!1,{fetcherSubmission:de,preventScrollReset:pe});if(ja(Ze)){vt(E,M,Ze.error);return}}let Ct=O.navigation.location||O.location,ft=ki(n.history,Ct,be.signal),Yl=g||y,Xa=O.navigation.state!=="idle"?hn(Yl,O.navigation.location,p):O.matches;Be(Xa,"Didn't find any matches after fetcher action");let Ht=++Ne;K.set(E,Ht);let Pa=es(de,Ze.data);O.fetchers.set(E,Pa);let{dsMatches:_n,revalidatingFetchers:Ia}=Dp(ft,te,d,m,n.history,O,Xa,de,Ct,c,!1,V,re,ge,ee,q,Yl,p,n.patchRoutesOnNavigation!=null,[Le.route.id,Ze],ce);Ia.filter(ht=>ht.key!==E).forEach(ht=>{let oi=ht.key,fi=O.fetchers.get(oi),_s=es(void 0,fi?fi.data:void 0);O.fetchers.set(oi,_s),Lt(oi),ht.controller&&se.set(oi,ht.controller)}),Je({fetchers:new Map(O.fetchers)});let Mn=()=>Ia.forEach(ht=>Lt(ht.key));be.signal.addEventListener("abort",Mn);let{loaderResults:ci,fetcherResults:qe}=await Fe(_n,Ia,ft,Ct,te);if(be.signal.aborted)return;if(be.signal.removeEventListener("abort",Mn),K.delete(E),se.delete(E),Ia.forEach(ht=>se.delete(ht.key)),O.fetchers.has(E)){let ht=wl(Ze.data);O.fetchers.set(E,ht)}let jt=Gu(ci);if(jt)return Na(ft,jt.result,!1,{preventScrollReset:pe});if(jt=Gu(qe),jt)return q.add(jt.key),Na(ft,jt.result,!1,{preventScrollReset:pe});let{loaderData:Vt,errors:Tt}=Qp(O,Xa,ci,void 0,Ia,qe);Ns(Ht),O.navigation.state==="loading"&&Ht>R?(Be(le,"Expected pending action"),xe&&xe.abort(),At(O.navigation.location,{matches:Xa,loaderData:Vt,errors:Tt,fetchers:new Map(O.fetchers)})):(Je({errors:Tt,loaderData:Yp(O.loaderData,Vt,Xa,Tt),fetchers:new Map(O.fetchers)}),V=!1)}async function Ut(E,M,B,I,te,ye,ue,pe,de){let ce=O.fetchers.get(E);Pe(E,es(de,ce?ce.data:void 0),{flushSync:ue});let Te=new AbortController,be=ki(n.history,B,Te.signal);if(ye){let Ze=await Wa(I,new URL(be.url).pathname,be.signal,E);if(Ze.type==="aborted")return;if(Ze.type==="error"){vt(E,M,Ze.error,{flushSync:ue});return}else if(Ze.matches)I=Ze.matches;else{vt(E,M,Ua(404,{pathname:B}),{flushSync:ue});return}}let ze=Vu(I,B);se.set(E,Te);let Le=Ne,ut=Zi(d,m,be,B,I,ze,c,te),gt=(await Q(be,B,ut,te,E))[ze.route.id];if(se.get(E)===Te&&se.delete(E),!be.signal.aborted){if(ge.has(E)){Pe(E,wl(void 0));return}if(Zn(gt))if(R>Le){Pe(E,wl(void 0));return}else{q.add(E),await Na(be,gt,!1,{preventScrollReset:pe});return}if(ja(gt)){vt(E,M,gt.error);return}Pe(E,wl(gt.data))}}async function Na(E,M,B,{submission:I,fetcherSubmission:te,preventScrollReset:ye,replace:ue}={}){B||(ie==null||ie.resolve(),ie=null),M.response.headers.has("X-Remix-Revalidate")&&(V=!0);let pe=M.response.headers.get("Location");Be(pe,"Expected a Location header on the redirect Response"),pe=Bp(pe,new URL(E.url),p,n.history);let de=us(O.location,pe,{_isRedirect:!0});if(s){let ut=!1;if(M.response.headers.has("X-Remix-Reload-Document"))ut=!0;else if(ed(pe)){const dt=Ov(pe,!0);ut=dt.origin!==i.location.origin||qa(dt.pathname,p)==null}if(ut){ue?i.location.replace(pe):i.location.assign(pe);return}}xe=null;let ce=ue===!0||M.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:Te,formAction:be,formEncType:ze}=O.navigation;!I&&!te&&Te&&be&&ze&&(I=Xp(O.navigation));let Le=I||te;if(IS.has(M.response.status)&&Le&&Jt(Le.formMethod))await J(ce,de,{submission:{...Le,formAction:pe},preventScrollReset:ye||Se,enableViewTransition:B?_e:void 0});else{let ut=Cf(de,I);await J(ce,de,{overrideNavigation:ut,fetcherSubmission:te,preventScrollReset:ye||Se,enableViewTransition:B?_e:void 0})}}async function Q(E,M,B,I,te){var pe;let ye,ue={};try{ye=await cx(x,E,M,B,te,I,!1)}catch(de){return B.filter(ce=>ce.shouldLoad).forEach(ce=>{ue[ce.route.id]={type:"error",error:de}}),ue}if(E.signal.aborted)return ue;if(!Jt(E.method))for(let de of B){if(((pe=ye[de.route.id])==null?void 0:pe.type)==="error")break;!ye.hasOwnProperty(de.route.id)&&!O.loaderData.hasOwnProperty(de.route.id)&&(!O.errors||!O.errors.hasOwnProperty(de.route.id))&&de.shouldCallHandler()&&(ye[de.route.id]={type:"error",result:new Error(`No result returned from dataStrategy for route ${de.route.id}`)})}for(let[de,ce]of Object.entries(ye))if(bx(ce)){let Te=ce.result;ue[de]={type:"redirect",response:hx(Te,E,de,B,p)}}else ue[de]=await dx(ce);return ue}async function Fe(E,M,B,I,te){let ye=Q(B,I,E,te,null),ue=Promise.all(M.map(async ce=>{if(ce.matches&&ce.match&&ce.request&&ce.controller){let be=(await Q(ce.request,ce.path,ce.matches,te,ce.key))[ce.match.route.id];return{[ce.key]:be}}else return Promise.resolve({[ce.key]:{type:"error",error:Ua(404,{pathname:ce.path})}})})),pe=await ye,de=(await ue).reduce((ce,Te)=>Object.assign(ce,Te),{});return{loaderResults:pe,fetcherResults:de}}function tt(){V=!0,ee.forEach((E,M)=>{se.has(M)&&re.add(M),Lt(M)})}function Pe(E,M,B={}){O.fetchers.set(E,M),Je({fetchers:new Map(O.fetchers)},{flushSync:(B&&B.flushSync)===!0})}function vt(E,M,B,I={}){let te=mn(O.matches,M);ha(E),Je({errors:{[te.route.id]:B},fetchers:new Map(O.fetchers)},{flushSync:(I&&I.flushSync)===!0})}function Bl(E){return he.set(E,(he.get(E)||0)+1),ge.has(E)&&ge.delete(E),O.fetchers.get(E)||ex}function ol(E,M){Lt(E,M==null?void 0:M.reason),Pe(E,wl(null))}function ha(E){let M=O.fetchers.get(E);se.has(E)&&!(M&&M.state==="loading"&&K.has(E))&&Lt(E),ee.delete(E),K.delete(E),q.delete(E),ge.delete(E),re.delete(E),O.fetchers.delete(E)}function $t(E){let M=(he.get(E)||0)-1;M<=0?(he.delete(E),ge.add(E)):he.set(E,M),Je({fetchers:new Map(O.fetchers)})}function Lt(E,M){let B=se.get(E);B&&(B.abort(M),se.delete(E))}function kt(E){for(let M of E){let B=Bl(M),I=wl(B.data);O.fetchers.set(M,I)}}function Es(){let E=[],M=!1;for(let B of q){let I=O.fetchers.get(B);Be(I,`Expected fetcher: ${B}`),I.state==="loading"&&(q.delete(B),E.push(B),M=!0)}return kt(E),M}function Ns(E){let M=[];for(let[B,I]of K)if(I0}function rc(E,M){let B=O.blockers.get(E)||Ir;return Me.get(E)!==M&&Me.set(E,M),B}function Cn(E){O.blockers.delete(E),Me.delete(E)}function fl(E,M){let B=O.blockers.get(E)||Ir;Be(B.state==="unblocked"&&M.state==="blocked"||B.state==="blocked"&&M.state==="blocked"||B.state==="blocked"&&M.state==="proceeding"||B.state==="blocked"&&M.state==="unblocked"||B.state==="proceeding"&&M.state==="unblocked",`Invalid blocker state transition: ${B.state} -> ${M.state}`);let I=new Map(O.blockers);I.set(E,M),Je({blockers:I})}function Tn({currentLocation:E,nextLocation:M,historyAction:B}){if(Me.size===0)return;Me.size>1&&Rt(!1,"A router only supports one blocker at a time");let I=Array.from(Me.entries()),[te,ye]=I[I.length-1],ue=O.blockers.get(te);if(!(ue&&ue.state==="proceeding")&&ye({currentLocation:E,nextLocation:M,historyAction:B}))return te}function Ka(E){let M=Ua(404,{pathname:E}),B=g||y,{matches:I,route:te}=Yu(B);return{notFoundMatches:I,route:te,error:M}}function ui(E,M,B){if(A=E,L=M,D=B||null,!X&&O.navigation===Rf){X=!0;let I=cr(O.location,O.matches);I!=null&&Je({restoreScrollPosition:I})}return()=>{A=null,L=null,D=null}}function ql(E,M){return D&&D(E,M.map(I=>CS(I,O.loaderData)))||E.key}function sc(E,M){if(A&&L){let B=ql(E,M);A[B]=L()}}function cr(E,M){if(A){let B=ql(E,M),I=A[B];if(typeof I=="number")return I}return null}function Ql(E,M,B){if(n.patchRoutesOnNavigation)if(E){if(Object.keys(E[0].params).length>0)return{active:!0,matches:ns(M,B,p,!0)}}else return{active:!0,matches:ns(M,B,p,!0)||[]};return{active:!1,matches:null}}async function Wa(E,M,B,I){if(!n.patchRoutesOnNavigation)return{type:"success",matches:E};let te=E;for(;;){let ye=g==null,ue=g||y,pe=m;try{await n.patchRoutesOnNavigation({signal:B,path:M,matches:te,fetcherKey:I,patch:(Te,be)=>{B.aborted||zp(Te,be,ue,pe,d,!1)}})}catch(Te){return{type:"error",error:Te,partialMatches:te}}finally{ye&&!B.aborted&&(y=[...y])}if(B.aborted)return{type:"aborted"};let de=hn(ue,M,p),ce=null;if(de){if(Object.keys(de[0].params).length===0)return{type:"success",matches:de};if(ce=ns(ue,M,p,!0),!(ce&&te.lengthB.route.id===M[I].route.id)}function Cs(E){m={},g=cs(E,d,void 0,m)}function Ts(E,M,B=!1){let I=g==null;zp(E,M,g||y,m,d,B),I&&(y=[...y],Je({}))}return ne={get basename(){return p},get future(){return b},get state(){return O},get routes(){return y},get window(){return i},initialize:fa,subscribe:ea,enableScrollRestoration:ui,navigate:$a,fetch:ri,revalidate:Ya,createHref:E=>n.history.createHref(E),encodeLocation:E=>n.history.encodeLocation(E),getFetcher:Bl,resetFetcher:ol,deleteFetcher:$t,dispose:Ja,getBlocker:rc,deleteBlocker:Cn,patchRoutes:Ts,_internalFetchControllers:se,_internalSetRoutes:Cs,_internalSetStateDoNotUseOrYouWillBreakYourApp(E){Je(E)}},n.unstable_instrumentations&&(ne=kS(ne,n.unstable_instrumentations.map(E=>E.router).filter(Boolean))),ne}function lx(n){return n!=null&&("formData"in n&&n.formData!=null||"body"in n&&n.body!==void 0)}function Kf(n,i,s,c,f,d){let m,y;if(f){m=[];for(let p of i)if(m.push(p),p.route.id===f){y=p;break}}else m=i,y=i[i.length-1];let g=ps(c||".",ac(m),qa(n.pathname,s)||n.pathname,d==="path");if(c==null&&(g.search=n.search,g.hash=n.hash),(c==null||c===""||c===".")&&y){let p=nd(g.search);if(y.route.index&&!p)g.search=g.search?g.search.replace(/^\?/,"?index&"):"?index";else if(!y.route.index&&p){let x=new URLSearchParams(g.search),b=x.getAll("index");x.delete("index"),b.filter(C=>C).forEach(C=>x.append("index",C));let _=x.toString();g.search=_?`?${_}`:""}}return s!=="/"&&(g.pathname=qS({basename:s,pathname:g.pathname})),sl(g)}function Op(n,i,s){if(!s||!lx(s))return{path:i};if(s.formMethod&&!jx(s.formMethod))return{path:i,error:Ua(405,{method:s.formMethod})};let c=()=>({path:i,error:Ua(400,{type:"invalid-body"})}),d=(s.formMethod||"get").toUpperCase(),m=$v(i);if(s.body!==void 0){if(s.formEncType==="text/plain"){if(!Jt(d))return c();let b=typeof s.body=="string"?s.body:s.body instanceof FormData||s.body instanceof URLSearchParams?Array.from(s.body.entries()).reduce((_,[C,A])=>`${_}${C}=${A} -`,""):String(s.body);return{path:i,submission:{formMethod:d,formAction:m,formEncType:s.formEncType,formData:void 0,json:void 0,text:b}}}else if(s.formEncType==="application/json"){if(!Jt(d))return c();try{let b=typeof s.body=="string"?JSON.parse(s.body):s.body;return{path:i,submission:{formMethod:d,formAction:m,formEncType:s.formEncType,formData:void 0,json:b,text:void 0}}}catch{return c()}}}Be(typeof FormData=="function","FormData is not available in this environment");let y,g;if(s.formData)y=kf(s.formData),g=s.formData;else if(s.body instanceof FormData)y=kf(s.body),g=s.body;else if(s.body instanceof URLSearchParams)y=s.body,g=qp(y);else if(s.body==null)y=new URLSearchParams,g=new FormData;else try{y=new URLSearchParams(s.body),g=qp(y)}catch{return c()}let p={formMethod:d,formAction:m,formEncType:s&&s.formEncType||"application/x-www-form-urlencoded",formData:g,json:void 0,text:void 0};if(Jt(p.formMethod))return{path:i,submission:p};let x=ul(i);return n&&x.search&&nd(x.search)&&y.append("index",""),x.search=`?${y}`,{path:sl(x),submission:p}}function Dp(n,i,s,c,f,d,m,y,g,p,x,b,_,C,A,D,L,X,W,F,P){var je;let ae=F?ja(F[1])?F[1].error:F[1].data:void 0,fe=f.createURL(d.location),ne=f.createURL(g),O;if(x&&d.errors){let z=Object.keys(d.errors)[0];O=m.findIndex(V=>V.route.id===z)}else if(F&&ja(F[1])){let z=F[0];O=m.findIndex(V=>V.route.id===z)-1}let le=F?F[1].statusCode:void 0,ie=le&&le>=400,Se={currentUrl:fe,currentParams:((je=d.matches[0])==null?void 0:je.params)||{},nextUrl:ne,nextParams:m[0].params,...y,actionResult:ae,actionStatus:le},xe=gs(m),_e=m.map((z,V)=>{let{route:re}=z,se=null;if(O!=null&&V>O)se=!1;else if(re.lazy)se=!0;else if(!ad(re))se=!1;else if(x){let{shouldLoad:q}=Kv(re,d.loaderData,d.errors);se=q}else nx(d.loaderData,d.matches[V],z)&&(se=!0);if(se!==null)return Xf(s,c,n,g,xe,z,p,i,se);let Ne=!1;typeof P=="boolean"?Ne=P:ie?Ne=!1:(b||fe.pathname+fe.search===ne.pathname+ne.search||fe.search!==ne.search||ix(d.matches[V],z))&&(Ne=!0);let R={...Se,defaultShouldRevalidate:Ne},K=is(z,R);return Xf(s,c,n,g,xe,z,p,i,K,R,P)}),De=[];return A.forEach((z,V)=>{if(x||!m.some(he=>he.route.id===z.routeId)||C.has(V))return;let re=d.fetchers.get(V),se=re&&re.state!=="idle"&&re.data===void 0,Ne=hn(L,z.path,X);if(!Ne){if(W&&se)return;De.push({key:V,routeId:z.routeId,path:z.path,matches:null,match:null,request:null,controller:null});return}if(D.has(V))return;let R=Vu(Ne,z.path),K=new AbortController,q=ki(f,z.path,K.signal),ee=null;if(_.has(V))_.delete(V),ee=Zi(s,c,q,z.path,Ne,R,p,i);else if(se)b&&(ee=Zi(s,c,q,z.path,Ne,R,p,i));else{let he;typeof P=="boolean"?he=P:ie?he=!1:he=b;let ge={...Se,defaultShouldRevalidate:he};is(R,ge)&&(ee=Zi(s,c,q,z.path,Ne,R,p,i,ge))}ee&&De.push({key:V,routeId:z.routeId,path:z.path,matches:ee,match:R,request:q,controller:K})}),{dsMatches:_e,revalidatingFetchers:De}}function ad(n){return n.loader!=null||n.middleware!=null&&n.middleware.length>0}function Kv(n,i,s){if(n.lazy)return{shouldLoad:!0,renderFallback:!0};if(!ad(n))return{shouldLoad:!1,renderFallback:!1};let c=i!=null&&n.id in i,f=s!=null&&s[n.id]!==void 0;if(!c&&f)return{shouldLoad:!1,renderFallback:!1};if(typeof n.loader=="function"&&n.loader.hydrate===!0)return{shouldLoad:!0,renderFallback:!c};let d=!c&&!f;return{shouldLoad:d,renderFallback:d}}function nx(n,i,s){let c=!i||s.route.id!==i.route.id,f=!n.hasOwnProperty(s.route.id);return c||f}function ix(n,i){let s=n.route.path;return n.pathname!==i.pathname||s!=null&&s.endsWith("*")&&n.params["*"]!==i.params["*"]}function is(n,i){if(n.route.shouldRevalidate){let s=n.route.shouldRevalidate(i);if(typeof s=="boolean")return s}return i.defaultShouldRevalidate}function zp(n,i,s,c,f,d){let m;if(n){let p=c[n];Be(p,`No route found to patch children into: routeId = ${n}`),p.children||(p.children=[]),m=p.children}else m=s;let y=[],g=[];if(i.forEach(p=>{let x=m.find(b=>Xv(p,b));x?g.push({existingRoute:x,newRoute:p}):y.push(p)}),y.length>0){let p=cs(y,f,[n||"_","patch",String((m==null?void 0:m.length)||"0")],c);m.push(...p)}if(d&&g.length>0)for(let p=0;p{var d;return(d=i.children)==null?void 0:d.some(m=>Xv(c,m))}))??!1:!1}var Ap=new WeakMap,kv=({key:n,route:i,manifest:s,mapRouteProperties:c})=>{let f=s[i.id];if(Be(f,"No route found in manifest"),!f.lazy||typeof f.lazy!="object")return;let d=f.lazy[n];if(!d)return;let m=Ap.get(f);m||(m={},Ap.set(f,m));let y=m[n];if(y)return y;let g=(async()=>{let p=jS(n),b=f[n]!==void 0&&n!=="hasErrorBoundary";if(p)Rt(!p,"Route property "+n+" is not a supported lazy route property. This property will be ignored."),m[n]=Promise.resolve();else if(b)Rt(!1,`Route "${f.id}" has a static property "${n}" defined. The lazy property will be ignored.`);else{let _=await d();_!=null&&(Object.assign(f,{[n]:_}),Object.assign(f,c(f)))}typeof f.lazy=="object"&&(f.lazy[n]=void 0,Object.values(f.lazy).every(_=>_===void 0)&&(f.lazy=void 0))})();return m[n]=g,g},Up=new WeakMap;function rx(n,i,s,c,f){let d=s[n.id];if(Be(d,"No route found in manifest"),!n.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof n.lazy=="function"){let x=Up.get(d);if(x)return{lazyRoutePromise:x,lazyHandlerPromise:x};let b=(async()=>{Be(typeof n.lazy=="function","No lazy route function found");let _=await n.lazy(),C={};for(let A in _){let D=_[A];if(D===void 0)continue;let L=NS(A),W=d[A]!==void 0&&A!=="hasErrorBoundary";L?Rt(!L,"Route property "+A+" is not a supported property to be returned from a lazy route function. This property will be ignored."):W?Rt(!W,`Route "${d.id}" has a static property "${A}" defined but its lazy function is also returning a value for this property. The lazy route property "${A}" will be ignored.`):C[A]=D}Object.assign(d,C),Object.assign(d,{...c(d),lazy:void 0})})();return Up.set(d,b),b.catch(()=>{}),{lazyRoutePromise:b,lazyHandlerPromise:b}}let m=Object.keys(n.lazy),y=[],g;for(let x of m){if(f&&f.includes(x))continue;let b=kv({key:x,route:n,manifest:s,mapRouteProperties:c});b&&(y.push(b),x===i&&(g=b))}let p=y.length>0?Promise.all(y).then(()=>{}):void 0;return p==null||p.catch(()=>{}),g==null||g.catch(()=>{}),{lazyRoutePromise:p,lazyHandlerPromise:g}}async function Lp(n){let i=n.matches.filter(f=>f.shouldLoad),s={};return(await Promise.all(i.map(f=>f.resolve()))).forEach((f,d)=>{s[i[d].route.id]=f}),s}async function sx(n){return n.matches.some(i=>i.route.middleware)?Vv(n,()=>Lp(n)):Lp(n)}function Vv(n,i){return ux(n,i,c=>{if(xx(c))throw c;return c},vx,s);function s(c,f,d){if(d)return Promise.resolve(Object.assign(d.value,{[f]:{type:"error",result:c}}));{let{matches:m}=n,y=Math.min(Math.max(m.findIndex(p=>p.route.id===f),0),Math.max(m.findIndex(p=>p.shouldCallHandler()),0)),g=mn(m,m[y].route.id).route.id;return Promise.resolve({[g]:{type:"error",result:c}})}}}async function ux(n,i,s,c,f){let{matches:d,...m}=n,y=d.flatMap(p=>p.route.middleware?p.route.middleware.map(x=>[p.route.id,x]):[]);return await Zv(m,y,i,s,c,f)}async function Zv(n,i,s,c,f,d,m=0){let{request:y}=n;if(y.signal.aborted)throw y.signal.reason??new Error(`Request aborted: ${y.method} ${y.url}`);let g=i[m];if(!g)return await s();let[p,x]=g,b,_=async()=>{if(b)throw new Error("You may only call `next()` once per middleware");try{return b={value:await Zv(n,i,s,c,f,d,m+1)},b.value}catch(C){return b={value:await d(C,p,b)},b.value}};try{let C=await x(n,_),A=C!=null?c(C):void 0;return f(A)?A:b?A??b.value:(b={value:await _()},b.value)}catch(C){return await d(C,p,b)}}function Fv(n,i,s,c,f){let d=kv({key:"middleware",route:c.route,manifest:i,mapRouteProperties:n}),m=rx(c.route,Jt(s.method)?"action":"loader",i,n,f);return{middleware:d,route:m.lazyRoutePromise,handler:m.lazyHandlerPromise}}function Xf(n,i,s,c,f,d,m,y,g,p=null,x){let b=!1,_=Fv(n,i,s,d,m);return{...d,_lazyPromises:_,shouldLoad:g,shouldRevalidateArgs:p,shouldCallHandler(C){return b=!0,p?typeof x=="boolean"?is(d,{...p,defaultShouldRevalidate:x}):typeof C=="boolean"?is(d,{...p,defaultShouldRevalidate:C}):is(d,p):g},resolve(C){let{lazy:A,loader:D,middleware:L}=d.route,X=b||g||C&&!Jt(s.method)&&(A||D),W=L&&L.length>0&&!D&&!A;return X&&(Jt(s.method)||!W)?ox({request:s,path:c,unstable_pattern:f,match:d,lazyHandlerPromise:_==null?void 0:_.handler,lazyRoutePromise:_==null?void 0:_.route,handlerOverride:C,scopedContext:y}):Promise.resolve({type:"data",result:void 0})}}}function Zi(n,i,s,c,f,d,m,y,g=null){return f.map(p=>p.route.id!==d.route.id?{...p,shouldLoad:!1,shouldRevalidateArgs:g,shouldCallHandler:()=>!1,_lazyPromises:Fv(n,i,s,p,m),resolve:()=>Promise.resolve({type:"data",result:void 0})}:Xf(n,i,s,c,gs(f),p,m,y,!0,g))}async function cx(n,i,s,c,f,d,m){c.some(x=>{var b;return(b=x._lazyPromises)==null?void 0:b.middleware})&&await Promise.all(c.map(x=>{var b;return(b=x._lazyPromises)==null?void 0:b.middleware}));let y={request:i,unstable_url:Jv(i,s),unstable_pattern:gs(c),params:c[0].params,context:d,matches:c},p=await n({...y,fetcherKey:f,runClientMiddleware:x=>{let b=y;return Vv(b,()=>x({...b,fetcherKey:f,runClientMiddleware:()=>{throw new Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))}});try{await Promise.all(c.flatMap(x=>{var b,_;return[(b=x._lazyPromises)==null?void 0:b.handler,(_=x._lazyPromises)==null?void 0:_.route]}))}catch{}return p}async function ox({request:n,path:i,unstable_pattern:s,match:c,lazyHandlerPromise:f,lazyRoutePromise:d,handlerOverride:m,scopedContext:y}){let g,p,x=Jt(n.method),b=x?"action":"loader",_=C=>{let A,D=new Promise((W,F)=>A=F);p=()=>A(),n.signal.addEventListener("abort",p);let L=W=>typeof C!="function"?Promise.reject(new Error(`You cannot call the handler for a route which defines a boolean "${b}" [routeId: ${c.route.id}]`)):C({request:n,unstable_url:Jv(n,i),unstable_pattern:s,params:c.params,context:y},...W!==void 0?[W]:[]),X=(async()=>{try{return{type:"data",result:await(m?m(F=>L(F)):L())}}catch(W){return{type:"error",result:W}}})();return Promise.race([X,D])};try{let C=x?c.route.action:c.route.loader;if(f||d)if(C){let A,[D]=await Promise.all([_(C).catch(L=>{A=L}),f,d]);if(A!==void 0)throw A;g=D}else{await f;let A=x?c.route.action:c.route.loader;if(A)[g]=await Promise.all([_(A),d]);else if(b==="action"){let D=new URL(n.url),L=D.pathname+D.search;throw Ua(405,{method:n.method,pathname:L,routeId:c.route.id})}else return{type:"data",result:void 0}}else if(C)g=await _(C);else{let A=new URL(n.url),D=A.pathname+A.search;throw Ua(404,{pathname:D})}}catch(C){return{type:"error",result:C}}finally{p&&n.signal.removeEventListener("abort",p)}return g}async function fx(n){let i=n.headers.get("Content-Type");return i&&/\bapplication\/json\b/.test(i)?n.body==null?null:n.json():n.text()}async function dx(n){var c,f,d,m,y;let{result:i,type:s}=n;if(ld(i)){let g;try{g=await fx(i)}catch(p){return{type:"error",error:p}}return s==="error"?{type:"error",error:new vs(i.status,i.statusText,g),statusCode:i.status,headers:i.headers}:{type:"data",data:g,statusCode:i.status,headers:i.headers}}return s==="error"?Kp(i)?i.data instanceof Error?{type:"error",error:i.data,statusCode:(c=i.init)==null?void 0:c.status,headers:(f=i.init)!=null&&f.headers?new Headers(i.init.headers):void 0}:{type:"error",error:px(i),statusCode:os(i)?i.status:void 0,headers:(d=i.init)!=null&&d.headers?new Headers(i.init.headers):void 0}:{type:"error",error:i,statusCode:os(i)?i.status:void 0}:Kp(i)?{type:"data",data:i.data,statusCode:(m=i.init)==null?void 0:m.status,headers:(y=i.init)!=null&&y.headers?new Headers(i.init.headers):void 0}:{type:"data",data:i}}function hx(n,i,s,c,f){let d=n.headers.get("Location");if(Be(d,"Redirects returned/thrown from loaders/actions must have a Location header"),!ed(d)){let m=c.slice(0,c.findIndex(y=>y.route.id===s)+1);d=Kf(new URL(i.url),m,f,d),n.headers.set("Location",d)}return n}var Hp=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];function Bp(n,i,s,c){if(ed(n)){let f=n,d=f.startsWith("//")?new URL(i.protocol+f):new URL(f);if(Hp.includes(d.protocol))throw new Error("Invalid redirect location");let m=qa(d.pathname,s)!=null;if(d.origin===i.origin&&m)return td(d.pathname)+d.search+d.hash}try{let f=c.createURL(n);if(Hp.includes(f.protocol))throw new Error("Invalid redirect location")}catch{}return n}function ki(n,i,s,c){let f=n.createURL($v(i)).toString(),d={signal:s};if(c&&Jt(c.formMethod)){let{formMethod:m,formEncType:y}=c;d.method=m.toUpperCase(),y==="application/json"?(d.headers=new Headers({"Content-Type":y}),d.body=JSON.stringify(c.json)):y==="text/plain"?d.body=c.text:y==="application/x-www-form-urlencoded"&&c.formData?d.body=kf(c.formData):d.body=c.formData}return new Request(f,d)}function Jv(n,i){let s=new URL(n.url),c=typeof i=="string"?ul(i):i;if(s.pathname=c.pathname||"/",c.search){let f=new URLSearchParams(c.search),d=f.getAll("index");f.delete("index");for(let m of d.filter(Boolean))f.append("index",m);s.search=f.size?`?${f.toString()}`:""}else s.search="";return s.hash=c.hash||"",s}function kf(n){let i=new URLSearchParams;for(let[s,c]of n.entries())i.append(s,typeof c=="string"?c:c.name);return i}function qp(n){let i=new FormData;for(let[s,c]of n.entries())i.append(s,c);return i}function mx(n,i,s,c=!1,f=!1){let d={},m=null,y,g=!1,p={},x=s&&ja(s[1])?s[1].error:void 0;return n.forEach(b=>{if(!(b.route.id in i))return;let _=b.route.id,C=i[_];if(Be(!Zn(C),"Cannot handle redirect results in processLoaderData"),ja(C)){let A=C.error;if(x!==void 0&&(A=x,x=void 0),m=m||{},f)m[_]=A;else{let D=mn(n,_);m[D.route.id]==null&&(m[D.route.id]=A)}c||(d[_]=Gv),g||(g=!0,y=os(C.error)?C.error.status:500),C.headers&&(p[_]=C.headers)}else d[_]=C.data,C.statusCode&&C.statusCode!==200&&!g&&(y=C.statusCode),C.headers&&(p[_]=C.headers)}),x!==void 0&&s&&(m={[s[0]]:x},s[2]&&(d[s[2]]=void 0)),{loaderData:d,errors:m,statusCode:y||200,loaderHeaders:p}}function Qp(n,i,s,c,f,d){let{loaderData:m,errors:y}=mx(i,s,c);return f.filter(g=>!g.matches||g.matches.some(p=>p.shouldLoad)).forEach(g=>{let{key:p,match:x,controller:b}=g;if(b&&b.signal.aborted)return;let _=d[p];if(Be(_,"Did not find corresponding fetcher result"),ja(_)){let C=mn(n.matches,x==null?void 0:x.route.id);y&&y[C.route.id]||(y={...y,[C.route.id]:_.error}),n.fetchers.delete(p)}else if(Zn(_))Be(!1,"Unhandled fetcher revalidation redirect");else{let C=wl(_.data);n.fetchers.set(p,C)}}),{loaderData:m,errors:y}}function Yp(n,i,s,c){let f=Object.entries(i).filter(([,d])=>d!==Gv).reduce((d,[m,y])=>(d[m]=y,d),{});for(let d of s){let m=d.route.id;if(!i.hasOwnProperty(m)&&n.hasOwnProperty(m)&&d.route.loader&&(f[m]=n[m]),c&&c.hasOwnProperty(m))break}return f}function Gp(n){return n?ja(n[1])?{actionData:{}}:{actionData:{[n[0]]:n[1].data}}:{}}function mn(n,i){return(i?n.slice(0,n.findIndex(c=>c.route.id===i)+1):[...n]).reverse().find(c=>c.route.hasErrorBoundary===!0)||n[0]}function Yu(n){let i=n.length===1?n[0]:n.find(s=>s.index||!s.path||s.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:i}],route:i}}function Ua(n,{pathname:i,routeId:s,method:c,type:f,message:d}={}){let m="Unknown Server Error",y="Unknown @remix-run/router error";return n===400?(m="Bad Request",c&&i&&s?y=`You made a ${c} request to "${i}" but did not provide a \`loader\` for route "${s}", so there is no way to handle the request.`:f==="invalid-body"&&(y="Unable to encode submission body")):n===403?(m="Forbidden",y=`Route "${s}" does not match URL "${i}"`):n===404?(m="Not Found",y=`No route matches URL "${i}"`):n===405&&(m="Method Not Allowed",c&&i&&s?y=`You made a ${c.toUpperCase()} request to "${i}" but did not provide an \`action\` for route "${s}", so there is no way to handle the request.`:c&&(y=`Invalid request method "${c.toUpperCase()}"`)),new vs(n||500,m,new Error(y),!0)}function Gu(n){let i=Object.entries(n);for(let s=i.length-1;s>=0;s--){let[c,f]=i[s];if(Zn(f))return{key:c,result:f}}}function $v(n){let i=typeof n=="string"?ul(n):n;return sl({...i,hash:""})}function yx(n,i){return n.pathname!==i.pathname||n.search!==i.search?!1:n.hash===""?i.hash!=="":n.hash===i.hash?!0:i.hash!==""}function px(n){var i,s;return new vs(((i=n.init)==null?void 0:i.status)??500,((s=n.init)==null?void 0:s.statusText)??"Internal Server Error",n.data)}function vx(n){return n!=null&&typeof n=="object"&&Object.entries(n).every(([i,s])=>typeof i=="string"&&gx(s))}function gx(n){return n!=null&&typeof n=="object"&&"type"in n&&"result"in n&&(n.type==="data"||n.type==="error")}function bx(n){return ld(n.result)&&Qv.has(n.result.status)}function ja(n){return n.type==="error"}function Zn(n){return(n&&n.type)==="redirect"}function Kp(n){return typeof n=="object"&&n!=null&&"type"in n&&"data"in n&&"init"in n&&n.type==="DataWithResponseInit"}function ld(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.headers=="object"&&typeof n.body<"u"}function Sx(n){return Qv.has(n)}function xx(n){return ld(n)&&Sx(n.status)&&n.headers.has("Location")}function jx(n){return PS.has(n.toUpperCase())}function Jt(n){return $S.has(n.toUpperCase())}function nd(n){return new URLSearchParams(n).getAll("index").some(i=>i==="")}function Vu(n,i){let s=typeof i=="string"?ul(i).search:i.search;if(n[n.length-1].route.index&&nd(s||""))return n[n.length-1];let c=Uv(n);return c[c.length-1]}function Xp(n){let{formMethod:i,formAction:s,formEncType:c,text:f,formData:d,json:m}=n;if(!(!i||!s||!c)){if(f!=null)return{formMethod:i,formAction:s,formEncType:c,formData:void 0,json:void 0,text:f};if(d!=null)return{formMethod:i,formAction:s,formEncType:c,formData:d,json:void 0,text:void 0};if(m!==void 0)return{formMethod:i,formAction:s,formEncType:c,formData:void 0,json:m,text:void 0}}}function Cf(n,i){return i?{state:"loading",location:n,formMethod:i.formMethod,formAction:i.formAction,formEncType:i.formEncType,formData:i.formData,json:i.json,text:i.text}:{state:"loading",location:n,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function Ex(n,i){return{state:"submitting",location:n,formMethod:i.formMethod,formAction:i.formAction,formEncType:i.formEncType,formData:i.formData,json:i.json,text:i.text}}function es(n,i){return n?{state:"loading",formMethod:n.formMethod,formAction:n.formAction,formEncType:n.formEncType,formData:n.formData,json:n.json,text:n.text,data:i}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:i}}function Nx(n,i){return{state:"submitting",formMethod:n.formMethod,formAction:n.formAction,formEncType:n.formEncType,formData:n.formData,json:n.json,text:n.text,data:i?i.data:void 0}}function wl(n){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:n}}function Rx(n,i){try{let s=n.sessionStorage.getItem(Yv);if(s){let c=JSON.parse(s);for(let[f,d]of Object.entries(c||{}))d&&Array.isArray(d)&&i.set(f,new Set(d||[]))}}catch{}}function Cx(n,i){if(i.size>0){let s={};for(let[c,f]of i)s[c]=[...f];try{n.sessionStorage.setItem(Yv,JSON.stringify(s))}catch(c){Rt(!1,`Failed to save applied view transitions in sessionStorage (${c}).`)}}}function kp(){let n,i,s=new Promise((c,f)=>{n=async d=>{c(d);try{await s}catch{}},i=async d=>{f(d);try{await s}catch{}}});return{promise:s,resolve:n,reject:i}}var ii=S.createContext(null);ii.displayName="DataRouter";var bs=S.createContext(null);bs.displayName="DataRouterState";var Wv=S.createContext(!1);function Pv(){return S.useContext(Wv)}var id=S.createContext({isTransitioning:!1});id.displayName="ViewTransition";var Iv=S.createContext(new Map);Iv.displayName="Fetchers";var Tx=S.createContext(null);Tx.displayName="Await";var Ea=S.createContext(null);Ea.displayName="Navigation";var lc=S.createContext(null);lc.displayName="Location";var Qa=S.createContext({outlet:null,matches:[],isDataRoute:!1});Qa.displayName="Route";var rd=S.createContext(null);rd.displayName="RouteError";var eg="REACT_ROUTER_ERROR",_x="REDIRECT",Mx="ROUTE_ERROR_RESPONSE";function wx(n){if(n.startsWith(`${eg}:${_x}:{`))try{let i=JSON.parse(n.slice(28));if(typeof i=="object"&&i&&typeof i.status=="number"&&typeof i.statusText=="string"&&typeof i.location=="string"&&typeof i.reloadDocument=="boolean"&&typeof i.replace=="boolean")return i}catch{}}function Ox(n){if(n.startsWith(`${eg}:${Mx}:{`))try{let i=JSON.parse(n.slice(40));if(typeof i=="object"&&i&&typeof i.status=="number"&&typeof i.statusText=="string")return new vs(i.status,i.statusText,i.data)}catch{}}function Dx(n,{relative:i}={}){Be(ur(),"useHref() may be used only in the context of a component.");let{basename:s,navigator:c}=S.useContext(Ea),{hash:f,pathname:d,search:m}=xs(n,{relative:i}),y=d;return s!=="/"&&(y=d==="/"?s:Ba([s,d])),c.createHref({pathname:y,search:m,hash:f})}function ur(){return S.useContext(lc)!=null}function oa(){return Be(ur(),"useLocation() may be used only in the context of a component."),S.useContext(lc).location}var tg="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function ag(n){S.useContext(Ea).static||S.useLayoutEffect(n)}function Ss(){let{isDataRoute:n}=S.useContext(Qa);return n?Fx():zx()}function zx(){Be(ur(),"useNavigate() may be used only in the context of a component.");let n=S.useContext(ii),{basename:i,navigator:s}=S.useContext(Ea),{matches:c}=S.useContext(Qa),{pathname:f}=oa(),d=JSON.stringify(ac(c)),m=S.useRef(!1);return ag(()=>{m.current=!0}),S.useCallback((g,p={})=>{if(Rt(m.current,tg),!m.current)return;if(typeof g=="number"){s.go(g);return}let x=ps(g,JSON.parse(d),f,p.relative==="path");n==null&&i!=="/"&&(x.pathname=x.pathname==="/"?i:Ba([i,x.pathname])),(p.replace?s.replace:s.push)(x,p.state,p)},[i,s,d,f,n])}var Ax=S.createContext(null);function Ux(n){let i=S.useContext(Qa).outlet;return S.useMemo(()=>i&&S.createElement(Ax.Provider,{value:n},i),[i,n])}function Lx(){let{matches:n}=S.useContext(Qa),i=n[n.length-1];return i?i.params:{}}function xs(n,{relative:i}={}){let{matches:s}=S.useContext(Qa),{pathname:c}=oa(),f=JSON.stringify(ac(s));return S.useMemo(()=>ps(n,JSON.parse(f),c,i==="path"),[n,f,c,i])}function Hx(n,i,s){Be(ur(),"useRoutes() may be used only in the context of a component.");let{navigator:c}=S.useContext(Ea),{matches:f}=S.useContext(Qa),d=f[f.length-1],m=d?d.params:{},y=d?d.pathname:"/",g=d?d.pathnameBase:"/",p=d&&d.route;{let L=p&&p.path||"";ng(y,!p||L.endsWith("*")||L.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${y}" (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. + */var wv=n=>{throw TypeError(n)},vS=(n,i,u)=>i.has(n)||wv("Cannot "+u),Ef=(n,i,u)=>(vS(n,i,"read from private field"),u?u.call(n):i.get(n)),gS=(n,i,u)=>i.has(n)?wv("Cannot add the same private member more than once"):i instanceof WeakSet?i.add(n):i.set(n,u),Ep="popstate";function jp(n){return typeof n=="object"&&n!=null&&"pathname"in n&&"search"in n&&"hash"in n&&"state"in n&&"key"in n}function bS(n={}){function i(c,o){var p;let d=(p=o.state)==null?void 0:p.masked,{pathname:m,search:y,hash:v}=d||c.location;return su("",{pathname:m,search:y,hash:v},o.state&&o.state.usr||null,o.state&&o.state.key||"default",d?{pathname:c.location.pathname,search:c.location.search,hash:c.location.hash}:void 0)}function u(c,o){return typeof o=="string"?o:rl(o)}return xS(i,u,null,n)}function Be(n,i){if(n===!1||n===null||typeof n>"u")throw new Error(i)}function Ct(n,i){if(!n){typeof console<"u"&&console.warn(i);try{throw new Error(i)}catch{}}}function SS(){return Math.random().toString(36).substring(2,10)}function Rp(n,i){return{usr:n.state,key:n.key,idx:i,masked:n.unstable_mask?{pathname:n.pathname,search:n.search,hash:n.hash}:void 0}}function su(n,i,u=null,c,o){return{pathname:typeof n=="string"?n:n.pathname,search:"",hash:"",...typeof i=="string"?ul(i):i,state:u,key:i&&i.key||c||SS(),unstable_mask:o}}function rl({pathname:n="/",search:i="",hash:u=""}){return i&&i!=="?"&&(n+=i.charAt(0)==="?"?i:"?"+i),u&&u!=="#"&&(n+=u.charAt(0)==="#"?u:"#"+u),n}function ul(n){let i={};if(n){let u=n.indexOf("#");u>=0&&(i.hash=n.substring(u),n=n.substring(0,u));let c=n.indexOf("?");c>=0&&(i.search=n.substring(c),n=n.substring(0,c)),n&&(i.pathname=n)}return i}function xS(n,i,u,c={}){let{window:o=document.defaultView,v5Compat:d=!1}=c,m=o.history,y="POP",v=null,p=S();p==null&&(p=0,m.replaceState({...m.state,idx:p},""));function S(){return(m.state||{idx:null}).idx}function b(){y="POP";let q=S(),$=q==null?null:q-p;p=q,v&&v({action:y,location:G.location,delta:$})}function N(q,$){y="PUSH";let W=jp(q)?q:su(G.location,q,$);p=S()+1;let Z=Rp(W,p),I=G.createHref(W.unstable_mask||W);try{m.pushState(Z,"",I)}catch(P){if(P instanceof DOMException&&P.name==="DataCloneError")throw P;o.location.assign(I)}d&&v&&v({action:y,location:G.location,delta:1})}function R(q,$){y="REPLACE";let W=jp(q)?q:su(G.location,q,$);p=S();let Z=Rp(W,p),I=G.createHref(W.unstable_mask||W);m.replaceState(Z,"",I),d&&v&&v({action:y,location:G.location,delta:0})}function L(q){return Dv(q)}let G={get action(){return y},get location(){return n(o,m)},listen(q){if(v)throw new Error("A history only accepts one active listener");return o.addEventListener(Ep,b),v=q,()=>{o.removeEventListener(Ep,b),v=null}},createHref(q){return i(o,q)},createURL:L,encodeLocation(q){let $=L(q);return{pathname:$.pathname,search:$.search,hash:$.hash}},push:N,replace:R,go(q){return m.go(q)}};return G}function Dv(n,i=!1){let u="http://localhost";typeof window<"u"&&(u=window.location.origin!=="null"?window.location.origin:window.location.href),Be(u,"No window.location.(origin|href) available to create URL");let c=typeof n=="string"?n:rl(n);return c=c.replace(/ $/,"%20"),!i&&c.startsWith("//")&&(c=u+c),new URL(c,u)}var lu,Cp=class{constructor(n){if(gS(this,lu,new Map),n)for(let[i,u]of n)this.set(i,u)}get(n){if(Ef(this,lu).has(n))return Ef(this,lu).get(n);if(n.defaultValue!==void 0)return n.defaultValue;throw new Error("No value found for context")}set(n,i){Ef(this,lu).set(n,i)}};lu=new WeakMap;var ES=new Set(["lazy","caseSensitive","path","id","index","children"]);function jS(n){return ES.has(n)}var RS=new Set(["lazy","caseSensitive","path","id","index","middleware","children"]);function CS(n){return RS.has(n)}function TS(n){return n.index===!0}function cu(n,i,u=[],c={},o=!1){return n.map((d,m)=>{let y=[...u,String(m)],v=typeof d.id=="string"?d.id:y.join("-");if(Be(d.index!==!0||!d.children,"Cannot specify children on an index route"),Be(o||!c[v],`Found a route id collision on id "${v}". Route id's must be globally unique within Data Router usages`),TS(d)){let p={...d,id:v};return c[v]=Tp(p,i(p)),p}else{let p={...d,id:v,children:void 0};return c[v]=Tp(p,i(p)),d.children&&(p.children=cu(d.children,i,y,c,o)),p}})}function Tp(n,i){return Object.assign(n,{...i,...typeof i.lazy=="object"&&i.lazy!=null?{lazy:{...n.lazy,...i.lazy}}:{}})}function fn(n,i,u="/"){return nu(n,i,u,!1)}function nu(n,i,u,c){let o=typeof i=="string"?ul(i):i,d=Ha(o.pathname||"/",u);if(d==null)return null;let m=zv(n);_S(m);let y=null;for(let v=0;y==null&&v{let S={relativePath:p===void 0?m.path||"":p,caseSensitive:m.caseSensitive===!0,childrenIndex:y,route:m};if(S.relativePath.startsWith("/")){if(!S.relativePath.startsWith(c)&&v)return;Be(S.relativePath.startsWith(c),`Absolute route path "${S.relativePath}" nested under path "${c}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),S.relativePath=S.relativePath.slice(c.length)}let b=La([c,S.relativePath]),N=u.concat(S);m.children&&m.children.length>0&&(Be(m.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${b}".`),zv(m.children,i,N,b,v)),!(m.path==null&&!m.index)&&i.push({path:b,score:US(b,m.index),routesMeta:N})};return n.forEach((m,y)=>{var v;if(m.path===""||!((v=m.path)!=null&&v.includes("?")))d(m,y);else for(let p of Av(m.path))d(m,y,!0,p)}),i}function Av(n){let i=n.split("/");if(i.length===0)return[];let[u,...c]=i,o=u.endsWith("?"),d=u.replace(/\?$/,"");if(c.length===0)return o?[d,""]:[d];let m=Av(c.join("/")),y=[];return y.push(...m.map(v=>v===""?d:[d,v].join("/"))),o&&y.push(...m),y.map(v=>n.startsWith("/")&&v===""?"/":v)}function _S(n){n.sort((i,u)=>i.score!==u.score?u.score-i.score:LS(i.routesMeta.map(c=>c.childrenIndex),u.routesMeta.map(c=>c.childrenIndex)))}var MS=/^:[\w-]+$/,OS=3,wS=2,DS=1,zS=10,AS=-2,Np=n=>n==="*";function US(n,i){let u=n.split("/"),c=u.length;return u.some(Np)&&(c+=AS),i&&(c+=wS),u.filter(o=>!Np(o)).reduce((o,d)=>o+(MS.test(d)?OS:d===""?DS:zS),c)}function LS(n,i){return n.length===i.length&&n.slice(0,-1).every((c,o)=>c===i[o])?n[n.length-1]-i[i.length-1]:0}function HS(n,i,u=!1){let{routesMeta:c}=n,o={},d="/",m=[];for(let y=0;y{if(S==="*"){let L=y[N]||"";m=d.slice(0,d.length-L.length).replace(/(.)\/+$/,"$1")}const R=y[N];return b&&!R?p[S]=void 0:p[S]=(R||"").replace(/%2F/g,"/"),p},{}),pathname:d,pathnameBase:m,pattern:n}}function BS(n,i=!1,u=!0){Ct(n==="*"||!n.endsWith("*")||n.endsWith("/*"),`Route path "${n}" will be treated as if it were "${n.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${n.replace(/\*$/,"/*")}".`);let c=[],o="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(m,y,v,p,S)=>{if(c.push({paramName:y,isOptional:v!=null}),v){let b=S.charAt(p+m.length);return b&&b!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return n.endsWith("*")?(c.push({paramName:"*"}),o+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):u?o+="\\/*$":n!==""&&n!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,i?void 0:"i"),c]}function qS(n){try{return n.split("/").map(i=>decodeURIComponent(i).replace(/\//g,"%2F")).join("/")}catch(i){return Ct(!1,`The URL path "${n}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${i}).`),n}}function Ha(n,i){if(i==="/")return n;if(!n.toLowerCase().startsWith(i.toLowerCase()))return null;let u=i.endsWith("/")?i.length-1:i.length,c=n.charAt(u);return c&&c!=="/"?null:n.slice(u)||"/"}function QS({basename:n,pathname:i}){return i==="/"?n:La([n,i])}var Uv=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,If=n=>Uv.test(n);function YS(n,i="/"){let{pathname:u,search:c="",hash:o=""}=typeof n=="string"?ul(n):n,d;return u?(u=ed(u),u.startsWith("/")?d=_p(u.substring(1),"/"):d=_p(u,i)):d=i,{pathname:d,search:KS(c),hash:XS(o)}}function _p(n,i){let u=Ws(i).split("/");return n.split("/").forEach(o=>{o===".."?u.length>1&&u.pop():o!=="."&&u.push(o)}),u.length>1?u.join("/"):"/"}function jf(n,i,u,c){return`Cannot include a '${n}' character in a manually specified \`to.${i}\` field [${JSON.stringify(c)}]. Please separate it out to the \`to.${u}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function Lv(n){return n.filter((i,u)=>u===0||i.route.path&&i.route.path.length>0)}function ec(n){let i=Lv(n);return i.map((u,c)=>c===i.length-1?u.pathname:u.pathnameBase)}function pu(n,i,u,c=!1){let o;typeof n=="string"?o=ul(n):(o={...n},Be(!o.pathname||!o.pathname.includes("?"),jf("?","pathname","search",o)),Be(!o.pathname||!o.pathname.includes("#"),jf("#","pathname","hash",o)),Be(!o.search||!o.search.includes("#"),jf("#","search","hash",o)));let d=n===""||o.pathname==="",m=d?"/":o.pathname,y;if(m==null)y=u;else{let b=i.length-1;if(!c&&m.startsWith("..")){let N=m.split("/");for(;N[0]==="..";)N.shift(),b-=1;o.pathname=N.join("/")}y=b>=0?i[b]:"/"}let v=YS(o,y),p=m&&m!=="/"&&m.endsWith("/"),S=(d||m===".")&&u.endsWith("/");return!v.pathname.endsWith("/")&&(p||S)&&(v.pathname+="/"),v}var ed=n=>n.replace(/\/\/+/g,"/"),La=n=>ed(n.join("/")),Ws=n=>n.replace(/\/+$/,""),GS=n=>Ws(n).replace(/^\/*/,"/"),KS=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,XS=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n,vu=class{constructor(n,i,u,c=!1){this.status=n,this.statusText=i||"",this.internal=c,u instanceof Error?(this.data=u.toString(),this.error=u):this.data=u}};function ou(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}function gu(n){let i=n.map(u=>u.route.path).filter(Boolean);return La(i)||"/"}var Hv=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Bv(n,i){let u=n;if(typeof u!="string"||!Uv.test(u))return{absoluteURL:void 0,isExternal:!1,to:u};let c=u,o=!1;if(Hv)try{let d=new URL(window.location.href),m=u.startsWith("//")?new URL(d.protocol+u):new URL(u),y=Ha(m.pathname,i);m.origin===d.origin&&y!=null?u=y+m.search+m.hash:o=!0}catch{Ct(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:c,isExternal:o,to:u}}var En=Symbol("Uninstrumented");function VS(n,i){let u={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};n.forEach(o=>o({id:i.id,index:i.index,path:i.path,instrument(d){let m=Object.keys(u);for(let y of m)d[y]&&u[y].push(d[y])}}));let c={};if(typeof i.lazy=="function"&&u.lazy.length>0){let o=Zi(u.lazy,i.lazy,()=>{});o&&(c.lazy=o)}if(typeof i.lazy=="object"){let o=i.lazy;["middleware","loader","action"].forEach(d=>{let m=o[d],y=u[`lazy.${d}`];if(typeof m=="function"&&y.length>0){let v=Zi(y,m,()=>{});v&&(c.lazy=Object.assign(c.lazy||{},{[d]:v}))}})}return["loader","action"].forEach(o=>{let d=i[o];if(typeof d=="function"&&u[o].length>0){let m=d[En]??d,y=Zi(u[o],m,(...v)=>Mp(v[0]));y&&(o==="loader"&&m.hydrate===!0&&(y.hydrate=!0),y[En]=m,c[o]=y)}}),i.middleware&&i.middleware.length>0&&u.middleware.length>0&&(c.middleware=i.middleware.map(o=>{let d=o[En]??o,m=Zi(u.middleware,d,(...y)=>Mp(y[0]));return m?(m[En]=d,m):o})),c}function ZS(n,i){let u={navigate:[],fetch:[]};if(i.forEach(c=>c({instrument(o){let d=Object.keys(o);for(let m of d)o[m]&&u[m].push(o[m])}})),u.navigate.length>0){let c=n.navigate[En]??n.navigate,o=Zi(u.navigate,c,(...d)=>{let[m,y]=d;return{to:typeof m=="number"||typeof m=="string"?m:m?rl(m):".",...Op(n,y??{})}});o&&(o[En]=c,n.navigate=o)}if(u.fetch.length>0){let c=n.fetch[En]??n.fetch,o=Zi(u.fetch,c,(...d)=>{let[m,,y,v]=d;return{href:y??".",fetcherKey:m,...Op(n,v??{})}});o&&(o[En]=c,n.fetch=o)}return n}function Zi(n,i,u){return n.length===0?null:async(...c)=>{let o=await qv(n,u(...c),()=>i(...c),n.length-1);if(o.type==="error")throw o.value;return o.value}}async function qv(n,i,u,c){let o=n[c],d;if(o){let m,y=async()=>(m?console.error("You cannot call instrumented handlers more than once"):m=qv(n,i,u,c-1),d=await m,Be(d,"Expected a result"),d.type==="error"&&d.value instanceof Error?{status:"error",error:d.value}:{status:"success",error:void 0});try{await o(y,i)}catch(v){console.error("An instrumentation function threw an error:",v)}m||await y(),await m}else try{d={type:"success",value:await u()}}catch(m){d={type:"error",value:m}}return d||{type:"error",value:new Error("No result assigned in instrumentation chain.")}}function Mp(n){let{request:i,context:u,params:c,unstable_pattern:o}=n;return{request:kS(i),params:{...c},unstable_pattern:o,context:JS(u)}}function Op(n,i){return{currentUrl:rl(n.state.location),..."formMethod"in i?{formMethod:i.formMethod}:{},..."formEncType"in i?{formEncType:i.formEncType}:{},..."formData"in i?{formData:i.formData}:{},..."body"in i?{body:i.body}:{}}}function kS(n){return{method:n.method,url:n.url,headers:{get:(...i)=>n.headers.get(...i)}}}function JS(n){if($S(n)){let i={...n};return Object.freeze(i),i}else return{get:i=>n.get(i)}}var FS=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function $S(n){if(n===null||typeof n!="object")return!1;const i=Object.getPrototypeOf(n);return i===Object.prototype||i===null||Object.getOwnPropertyNames(i).sort().join("\0")===FS}var Qv=["POST","PUT","PATCH","DELETE"],WS=new Set(Qv),PS=["GET",...Qv],IS=new Set(PS),Yv=new Set([301,302,303,307,308]),ex=new Set([307,308]),Rf={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},tx={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Ir={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},ax=n=>({hasErrorBoundary:!!n.hasErrorBoundary}),Gv="remix-router-transitions",Kv=Symbol("ResetLoaderData");function lx(n){const i=n.window?n.window:typeof window<"u"?window:void 0,u=typeof i<"u"&&typeof i.document<"u"&&typeof i.document.createElement<"u";Be(n.routes.length>0,"You must provide a non-empty routes array to createRouter");let c=n.hydrationRouteProperties||[],o=n.mapRouteProperties||ax,d=o;if(n.unstable_instrumentations){let j=n.unstable_instrumentations;d=M=>({...o(M),...VS(j.map(U=>U.route).filter(Boolean),M)})}let m={},y=cu(n.routes,d,void 0,m),v,p=n.basename||"/";p.startsWith("/")||(p=`/${p}`);let S=n.dataStrategy||sx,b={unstable_passThroughRequests:!1,...n.future},N=null,R=new Set,L=null,G=null,q=null,$=n.hydrationData!=null,W=fn(y,n.history.location,p),Z=!1,I=null,P,ce;if(W==null&&!n.patchRoutesOnNavigation){let j=Aa(404,{pathname:n.history.location.pathname}),{matches:M,route:U}=Qs(y);P=!0,ce=!P,W=M,I={[U.id]:j}}else if(W&&!n.hydrationData&&Bl(W,y,n.history.location.pathname).active&&(W=null),W)if(W.some(j=>j.route.lazy))P=!1,ce=!P;else if(!W.some(j=>td(j.route)))P=!0,ce=!P;else{let j=n.hydrationData?n.hydrationData.loaderData:null,M=n.hydrationData?n.hydrationData.errors:null,U=W;if(M){let ee=W.findIndex(ae=>M[ae.route.id]!==void 0);U=U.slice(0,ee+1)}ce=!1,P=!0,U.forEach(ee=>{let ae=Xv(ee.route,j,M);ce=ce||ae.renderFallback,P=P&&!ae.shouldLoad})}else{P=!1,ce=!P,W=[];let j=Bl(null,y,n.history.location.pathname);j.active&&j.matches&&(Z=!0,W=j.matches)}let ue,w={historyAction:n.history.action,location:n.history.location,matches:W,initialized:P,renderFallback:ce,navigation:Rf,restoreScrollPosition:n.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:n.hydrationData&&n.hydrationData.loaderData||{},actionData:n.hydrationData&&n.hydrationData.actionData||null,errors:n.hydrationData&&n.hydrationData.errors||I,fetchers:new Map,blockers:new Map},ne="POP",ie=null,Ee=!1,be,Oe=!1,we=new Map,Ce=null,D=!1,F=!1,le=new Set,fe=new Map,ve=0,T=-1,K=new Map,H=new Set,te=new Map,de=new Map,xe=new Set,_e=new Map,st,He=null;function ja(){if(N=n.history.listen(({action:j,location:M,delta:U})=>{if(st){st(),st=void 0;return}Ct(_e.size===0||U!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let ee=Nn({currentLocation:w.location,nextLocation:M,historyAction:j});if(ee&&U!=null){let ae=new Promise(ye=>{st=ye});n.history.go(U*-1),fl(ee,{state:"blocked",location:M,proceed(){fl(ee,{state:"proceeding",proceed:void 0,reset:void 0,location:M}),ae.then(()=>n.history.go(U))},reset(){let ye=new Map(w.blockers);ye.set(ee,Ir),ft({blockers:ye})}}),ie==null||ie.resolve(),ie=null;return}return J(j,M)}),u){Tx(i,we);let j=()=>Nx(i,we);i.addEventListener("pagehide",j),Ce=()=>i.removeEventListener("pagehide",j)}return w.initialized||J("POP",w.location,{initialHydration:!0}),ue}function ka(){N&&N(),Ce&&Ce(),R.clear(),be&&be.abort(),w.fetchers.forEach((j,M)=>ol(M)),w.blockers.forEach((j,M)=>Tn(M))}function sl(j){return R.add(j),()=>R.delete(j)}function ft(j,M={}){j.matches&&(j.matches=j.matches.map(ae=>{let ye=m[ae.route.id],re=ae.route;return re.element!==ye.element||re.errorElement!==ye.errorElement||re.hydrateFallbackElement!==ye.hydrateFallbackElement?{...ae,route:ye}:ae})),w={...w,...j};let U=[],ee=[];w.fetchers.forEach((ae,ye)=>{ae.state==="idle"&&(xe.has(ye)?U.push(ye):ee.push(ye))}),xe.forEach(ae=>{!w.fetchers.has(ae)&&!fe.has(ae)&&U.push(ae)}),[...R].forEach(ae=>ae(w,{deletedFetchers:U,newErrors:j.errors??null,viewTransitionOpts:M.viewTransitionOpts,flushSync:M.flushSync===!0})),U.forEach(ae=>ol(ae)),ee.forEach(ae=>w.fetchers.delete(ae))}function At(j,M,{flushSync:U}={}){var Ne,Se;let ee=w.actionData!=null&&w.navigation.formMethod!=null&&$t(w.navigation.formMethod)&&w.navigation.state==="loading"&&((Ne=j.state)==null?void 0:Ne._isRedirect)!==!0,ae;M.actionData?Object.keys(M.actionData).length>0?ae=M.actionData:ae=null:ee?ae=w.actionData:ae=null;let ye=M.loaderData?Yp(w.loaderData,M.loaderData,M.matches||[],M.errors):w.loaderData,re=w.blockers;re.size>0&&(re=new Map(re),re.forEach((ze,Le)=>re.set(Le,Ir)));let pe=D?!1:cr(j,M.matches||w.matches),he=Ee===!0||w.navigation.formMethod!=null&&$t(w.navigation.formMethod)&&((Se=j.state)==null?void 0:Se._isRedirect)!==!0;v&&(y=v,v=void 0),D||ne==="POP"||(ne==="PUSH"?n.history.push(j,j.state):ne==="REPLACE"&&n.history.replace(j,j.state));let se;if(ne==="POP"){let ze=we.get(w.location.pathname);ze&&ze.has(j.pathname)?se={currentLocation:w.location,nextLocation:j}:we.has(j.pathname)&&(se={currentLocation:j,nextLocation:w.location})}else if(Oe){let ze=we.get(w.location.pathname);ze?ze.add(j.pathname):(ze=new Set([j.pathname]),we.set(w.location.pathname,ze)),se={currentLocation:w.location,nextLocation:j}}ft({...M,actionData:ae,loaderData:ye,historyAction:ne,location:j,initialized:!0,renderFallback:!1,navigation:Rf,revalidation:"idle",restoreScrollPosition:pe,preventScrollReset:he,blockers:re},{viewTransitionOpts:se,flushSync:U===!0}),ne="POP",Ee=!1,Oe=!1,D=!1,F=!1,ie==null||ie.resolve(),ie=null,He==null||He.resolve(),He=null}async function la(j,M){if(ie==null||ie.resolve(),ie=null,typeof j=="number"){ie||(ie=Vp());let rt=ie.promise;return n.history.go(j),rt}let U=Kf(w.location,w.matches,p,j,M==null?void 0:M.fromRouteId,M==null?void 0:M.relative),{path:ee,submission:ae,error:ye}=wp(!1,U,M),re;M!=null&&M.unstable_mask&&(re={pathname:"",search:"",hash:"",...typeof M.unstable_mask=="string"?ul(M.unstable_mask):{...w.location.unstable_mask,...M.unstable_mask}});let pe=w.location,he=su(pe,ee,M&&M.state,void 0,re);he={...he,...n.history.encodeLocation(he)};let se=M&&M.replace!=null?M.replace:void 0,Ne="PUSH";se===!0?Ne="REPLACE":se===!1||ae!=null&&$t(ae.formMethod)&&ae.formAction===w.location.pathname+w.location.search&&(Ne="REPLACE");let Se=M&&"preventScrollReset"in M?M.preventScrollReset===!0:void 0,ze=(M&&M.flushSync)===!0,Le=Nn({currentLocation:pe,nextLocation:he,historyAction:Ne});if(Le){fl(Le,{state:"blocked",location:he,proceed(){fl(Le,{state:"proceeding",proceed:void 0,reset:void 0,location:he}),la(j,M)},reset(){let rt=new Map(w.blockers);rt.set(Le,Ir),ft({blockers:rt})}});return}await J(Ne,he,{submission:ae,pendingError:ye,preventScrollReset:Se,replace:M&&M.replace,enableViewTransition:M&&M.viewTransition,flushSync:ze,callSiteDefaultShouldRevalidate:M&&M.unstable_defaultShouldRevalidate})}function Ja(){He||(He=Vp()),at(),ft({revalidation:"loading"});let j=He.promise;return w.navigation.state==="submitting"?j:w.navigation.state==="idle"?(J(w.historyAction,w.location,{startUninterruptedRevalidation:!0}),j):(J(ne||w.historyAction,w.navigation.location,{overrideNavigation:w.navigation,enableViewTransition:Oe===!0}),j)}async function J(j,M,U){be&&be.abort(),be=null,ne=j,D=(U&&U.startUninterruptedRevalidation)===!0,rc(w.location,w.matches),Ee=(U&&U.preventScrollReset)===!0,Oe=(U&&U.enableViewTransition)===!0;let ee=v||y,ae=U&&U.overrideNavigation,ye=U!=null&&U.initialHydration&&w.matches&&w.matches.length>0&&!Z?w.matches:fn(ee,M,p),re=(U&&U.flushSync)===!0;if(ye&&w.initialized&&!F&&px(w.location,M)&&!(U&&U.submission&&$t(U.submission.formMethod))){At(M,{matches:ye},{flushSync:re});return}let pe=Bl(ye,ee,M.pathname);if(pe.active&&pe.matches&&(ye=pe.matches),!ye){let{error:dt,notFoundMatches:gt,route:ke}=Qa(M.pathname);At(M,{matches:gt,loaderData:{},errors:{[ke.id]:dt}},{flushSync:re});return}be=new AbortController;let he=Vi(n.history,M,be.signal,U&&U.submission),se=n.getContext?await n.getContext():new Cp,Ne;if(U&&U.pendingError)Ne=[dn(ye).route.id,{type:"error",error:U.pendingError}];else if(U&&U.submission&&$t(U.submission.formMethod)){let dt=await da(he,M,U.submission,ye,se,pe.active,U&&U.initialHydration===!0,{replace:U.replace,flushSync:re});if(dt.shortCircuited)return;if(dt.pendingActionResult){let[gt,ke]=dt.pendingActionResult;if(xa(ke)&&ou(ke.error)&&ke.error.status===404){be=null,At(M,{matches:dt.matches,loaderData:{},errors:{[gt]:ke.error}});return}}ye=dt.matches||ye,Ne=dt.pendingActionResult,ae=Cf(M,U.submission),re=!1,pe.active=!1,he=Vi(n.history,he.url,he.signal)}let{shortCircuited:Se,matches:ze,loaderData:Le,errors:rt}=await qa(he,M,ye,se,pe.active,ae,U&&U.submission,U&&U.fetcherSubmission,U&&U.replace,U&&U.initialHydration===!0,re,Ne,U&&U.callSiteDefaultShouldRevalidate);Se||(be=null,At(M,{matches:ze||ye,...Gp(Ne),loaderData:Le,errors:rt}))}async function da(j,M,U,ee,ae,ye,re,pe={}){at();let he=Rx(M,U);if(ft({navigation:he},{flushSync:pe.flushSync===!0}),ye){let Se=await $a(ee,M.pathname,j.signal);if(Se.type==="aborted")return{shortCircuited:!0};if(Se.type==="error"){if(Se.partialMatches.length===0){let{matches:Le,route:rt}=Qs(y);return{matches:Le,pendingActionResult:[rt.id,{type:"error",error:Se.error}]}}let ze=dn(Se.partialMatches).route.id;return{matches:Se.partialMatches,pendingActionResult:[ze,{type:"error",error:Se.error}]}}else if(Se.matches)ee=Se.matches;else{let{notFoundMatches:ze,error:Le,route:rt}=Qa(M.pathname);return{matches:ze,pendingActionResult:[rt.id,{type:"error",error:Le}]}}}let se,Ne=Xs(ee,M);if(!Ne.route.action&&!Ne.route.lazy)se={type:"error",error:Aa(405,{method:j.method,pathname:M.pathname,routeId:Ne.route.id})};else{let Se=ki(d,m,j,M,ee,Ne,re?[]:c,ae),ze=await Qe(j,M,Se,ae,null);if(se=ze[Ne.route.id],!se){for(let Le of ee)if(ze[Le.route.id]){se=ze[Le.route.id];break}}if(j.signal.aborted)return{shortCircuited:!0}}if(kn(se)){let Se;return pe&&pe.replace!=null?Se=pe.replace:Se=Bp(se.response.headers.get("Location"),new URL(j.url),p,n.history)===w.location.pathname+w.location.search,await Y(j,se,!0,{submission:U,replace:Se}),{shortCircuited:!0}}if(xa(se)){let Se=dn(ee,Ne.route.id);return(pe&&pe.replace)!==!0&&(ne="PUSH"),{matches:ee,pendingActionResult:[Se.route.id,se,Ne.route.id]}}return{matches:ee,pendingActionResult:[Ne.route.id,se]}}async function qa(j,M,U,ee,ae,ye,re,pe,he,se,Ne,Se,ze){let Le=ye||Cf(M,re),rt=re||pe||Xp(Le),dt=!D&&!se;if(ae){if(dt){let Et=cl(Se);ft({navigation:Le,...Et!==void 0?{actionData:Et}:{}},{flushSync:Ne})}let qe=await $a(U,M.pathname,j.signal);if(qe.type==="aborted")return{shortCircuited:!0};if(qe.type==="error"){if(qe.partialMatches.length===0){let{matches:kt,route:Nt}=Qs(y);return{matches:kt,loaderData:{},errors:{[Nt.id]:qe.error}}}let Et=dn(qe.partialMatches).route.id;return{matches:qe.partialMatches,loaderData:{},errors:{[Et]:qe.error}}}else if(qe.matches)U=qe.matches;else{let{error:Et,notFoundMatches:kt,route:Nt}=Qa(M.pathname);return{matches:kt,loaderData:{},errors:{[Nt.id]:Et}}}}let gt=v||y,{dsMatches:ke,revalidatingFetchers:Tt}=Dp(j,ee,d,m,n.history,w,U,rt,M,se?[]:c,se===!0,F,le,xe,te,H,gt,p,n.patchRoutesOnNavigation!=null,Se,ze);if(T=++ve,!n.dataStrategy&&!ke.some(qe=>qe.shouldLoad)&&!ke.some(qe=>qe.route.middleware&&qe.route.middleware.length>0)&&Tt.length===0){let qe=Eu();return At(M,{matches:U,loaderData:{},errors:Se&&xa(Se[1])?{[Se[0]]:Se[1].error}:null,...Gp(Se),...qe?{fetchers:new Map(w.fetchers)}:{}},{flushSync:Ne}),{shortCircuited:!0}}if(dt){let qe={};if(!ae){qe.navigation=Le;let Et=cl(Se);Et!==void 0&&(qe.actionData=Et)}Tt.length>0&&(qe.fetchers=Ll(Tt)),ft(qe,{flushSync:Ne})}Tt.forEach(qe=>{Lt(qe.key),qe.controller&&fe.set(qe.key,qe.controller)});let ot=()=>Tt.forEach(qe=>Lt(qe.key));be&&be.signal.addEventListener("abort",ot);let{loaderResults:ql,fetcherResults:Ya}=await ct(ke,Tt,j,M,ee);if(j.signal.aborted)return{shortCircuited:!0};be&&be.signal.removeEventListener("abort",ot),Tt.forEach(qe=>fe.delete(qe.key));let Ht=Ys(ql);if(Ht)return await Y(j,Ht.result,!0,{replace:he}),{shortCircuited:!0};if(Ht=Ys(Ya),Ht)return H.add(Ht.key),await Y(j,Ht.result,!0,{replace:he}),{shortCircuited:!0};let{loaderData:Wa,errors:_n}=Qp(w,U,ql,Se,Tt,Ya);se&&w.errors&&(_n={...w.errors,..._n});let Pa=Eu(),Mn=ju(T),ci=Pa||Mn||Tt.length>0;return{matches:U,loaderData:Wa,errors:_n,...ci?{fetchers:new Map(w.fetchers)}:{}}}function cl(j){if(j&&!xa(j[1]))return{[j[0]]:j[1].data};if(w.actionData)return Object.keys(w.actionData).length===0?null:w.actionData}function Ll(j){return j.forEach(M=>{let U=w.fetchers.get(M.key),ee=eu(void 0,U?U.data:void 0);w.fetchers.set(M.key,ee)}),new Map(w.fetchers)}async function ri(j,M,U,ee){Lt(j);let ae=(ee&&ee.flushSync)===!0,ye=v||y,re=Kf(w.location,w.matches,p,U,M,ee==null?void 0:ee.relative),pe=fn(ye,re,p),he=Bl(pe,ye,re);if(he.active&&he.matches&&(pe=he.matches),!pe){Vt(j,M,Aa(404,{pathname:re}),{flushSync:ae});return}let{path:se,submission:Ne,error:Se}=wp(!0,re,ee);if(Se){Vt(j,M,Se,{flushSync:ae});return}let ze=n.getContext?await n.getContext():new Cp,Le=(ee&&ee.preventScrollReset)===!0;if(Ne&&$t(Ne.formMethod)){await ui(j,M,se,pe,ze,he.active,ae,Le,Ne,ee&&ee.unstable_defaultShouldRevalidate);return}te.set(j,{routeId:M,path:se}),await Ut(j,M,se,pe,ze,he.active,ae,Le,Ne)}async function ui(j,M,U,ee,ae,ye,re,pe,he,se){at(),te.delete(j);let Ne=w.fetchers.get(j);vt(j,Cx(he,Ne),{flushSync:re});let Se=new AbortController,ze=Vi(n.history,U,Se.signal,he);if(ye){let ht=await $a(ee,new URL(ze.url).pathname,ze.signal,j);if(ht.type==="aborted")return;if(ht.type==="error"){Vt(j,M,ht.error,{flushSync:re});return}else if(ht.matches)ee=ht.matches;else{Vt(j,M,Aa(404,{pathname:U}),{flushSync:re});return}}let Le=Xs(ee,U);if(!Le.route.action&&!Le.route.lazy){let ht=Aa(405,{method:he.formMethod,pathname:U,routeId:M});Vt(j,M,ht,{flushSync:re});return}fe.set(j,Se);let rt=ve,dt=ki(d,m,ze,U,ee,Le,c,ae),gt=await Qe(ze,U,dt,ae,j),ke=gt[Le.route.id];if(!ke){for(let ht of dt)if(gt[ht.route.id]){ke=gt[ht.route.id];break}}if(ze.signal.aborted){fe.get(j)===Se&&fe.delete(j);return}if(xe.has(j)){if(kn(ke)||xa(ke)){vt(j,Ol(void 0));return}}else{if(kn(ke))if(fe.delete(j),T>rt){vt(j,Ol(void 0));return}else return H.add(j),vt(j,eu(he)),Y(ze,ke,!1,{fetcherSubmission:he,preventScrollReset:pe});if(xa(ke)){Vt(j,M,ke.error);return}}let Tt=w.navigation.location||w.location,ot=Vi(n.history,Tt,Se.signal),ql=v||y,Ya=w.navigation.state!=="idle"?fn(ql,w.navigation.location,p):w.matches;Be(Ya,"Didn't find any matches after fetcher action");let Ht=++ve;K.set(j,Ht);let Wa=eu(he,ke.data);w.fetchers.set(j,Wa);let{dsMatches:_n,revalidatingFetchers:Pa}=Dp(ot,ae,d,m,n.history,w,Ya,he,Tt,c,!1,F,le,xe,te,H,ql,p,n.patchRoutesOnNavigation!=null,[Le.route.id,ke],se);Pa.filter(ht=>ht.key!==j).forEach(ht=>{let oi=ht.key,fi=w.fetchers.get(oi),Nu=eu(void 0,fi?fi.data:void 0);w.fetchers.set(oi,Nu),Lt(oi),ht.controller&&fe.set(oi,ht.controller)}),ft({fetchers:new Map(w.fetchers)});let Mn=()=>Pa.forEach(ht=>Lt(ht.key));Se.signal.addEventListener("abort",Mn);let{loaderResults:ci,fetcherResults:qe}=await ct(_n,Pa,ot,Tt,ae);if(Se.signal.aborted)return;if(Se.signal.removeEventListener("abort",Mn),K.delete(j),fe.delete(j),Pa.forEach(ht=>fe.delete(ht.key)),w.fetchers.has(j)){let ht=Ol(ke.data);w.fetchers.set(j,ht)}let Et=Ys(ci);if(Et)return Y(ot,Et.result,!1,{preventScrollReset:pe});if(Et=Ys(qe),Et)return H.add(Et.key),Y(ot,Et.result,!1,{preventScrollReset:pe});let{loaderData:kt,errors:Nt}=Qp(w,Ya,ci,void 0,Pa,qe);ju(Ht),w.navigation.state==="loading"&&Ht>T?(Be(ne,"Expected pending action"),be&&be.abort(),At(w.navigation.location,{matches:Ya,loaderData:kt,errors:Nt,fetchers:new Map(w.fetchers)})):(ft({errors:Nt,loaderData:Yp(w.loaderData,kt,Ya,Nt),fetchers:new Map(w.fetchers)}),F=!1)}async function Ut(j,M,U,ee,ae,ye,re,pe,he){let se=w.fetchers.get(j);vt(j,eu(he,se?se.data:void 0),{flushSync:re});let Ne=new AbortController,Se=Vi(n.history,U,Ne.signal);if(ye){let ke=await $a(ee,new URL(Se.url).pathname,Se.signal,j);if(ke.type==="aborted")return;if(ke.type==="error"){Vt(j,M,ke.error,{flushSync:re});return}else if(ke.matches)ee=ke.matches;else{Vt(j,M,Aa(404,{pathname:U}),{flushSync:re});return}}let ze=Xs(ee,U);fe.set(j,Ne);let Le=ve,rt=ki(d,m,Se,U,ee,ze,c,ae),gt=(await Qe(Se,U,rt,ae,j))[ze.route.id];if(fe.get(j)===Ne&&fe.delete(j),!Se.signal.aborted){if(xe.has(j)){vt(j,Ol(void 0));return}if(kn(gt))if(T>Le){vt(j,Ol(void 0));return}else{H.add(j),await Y(Se,gt,!1,{preventScrollReset:pe});return}if(xa(gt)){Vt(j,M,gt.error);return}vt(j,Ol(gt.data))}}async function Y(j,M,U,{submission:ee,fetcherSubmission:ae,preventScrollReset:ye,replace:re}={}){U||(ie==null||ie.resolve(),ie=null),M.response.headers.has("X-Remix-Revalidate")&&(F=!0);let pe=M.response.headers.get("Location");Be(pe,"Expected a Location header on the redirect Response"),pe=Bp(pe,new URL(j.url),p,n.history);let he=su(w.location,pe,{_isRedirect:!0});if(u){let rt=!1;if(M.response.headers.has("X-Remix-Reload-Document"))rt=!0;else if(If(pe)){const dt=Dv(pe,!0);rt=dt.origin!==i.location.origin||Ha(dt.pathname,p)==null}if(rt){re?i.location.replace(pe):i.location.assign(pe);return}}be=null;let se=re===!0||M.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:Ne,formAction:Se,formEncType:ze}=w.navigation;!ee&&!ae&&Ne&&Se&&ze&&(ee=Xp(w.navigation));let Le=ee||ae;if(ex.has(M.response.status)&&Le&&$t(Le.formMethod))await J(se,he,{submission:{...Le,formAction:pe},preventScrollReset:ye||Ee,enableViewTransition:U?Oe:void 0});else{let rt=Cf(he,ee);await J(se,he,{overrideNavigation:rt,fetcherSubmission:ae,preventScrollReset:ye||Ee,enableViewTransition:U?Oe:void 0})}}async function Qe(j,M,U,ee,ae){var pe;let ye,re={};try{ye=await ox(S,j,M,U,ae,ee,!1)}catch(he){return U.filter(se=>se.shouldLoad).forEach(se=>{re[se.route.id]={type:"error",error:he}}),re}if(j.signal.aborted)return re;if(!$t(j.method))for(let he of U){if(((pe=ye[he.route.id])==null?void 0:pe.type)==="error")break;!ye.hasOwnProperty(he.route.id)&&!w.loaderData.hasOwnProperty(he.route.id)&&(!w.errors||!w.errors.hasOwnProperty(he.route.id))&&he.shouldCallHandler()&&(ye[he.route.id]={type:"error",result:new Error(`No result returned from dataStrategy for route ${he.route.id}`)})}for(let[he,se]of Object.entries(ye))if(Sx(se)){let Ne=se.result;re[he]={type:"redirect",response:mx(Ne,j,he,U,p)}}else re[he]=await hx(se);return re}async function ct(j,M,U,ee,ae){let ye=Qe(U,ee,j,ae,null),re=Promise.all(M.map(async se=>{if(se.matches&&se.match&&se.request&&se.controller){let Se=(await Qe(se.request,se.path,se.matches,ae,se.key))[se.match.route.id];return{[se.key]:Se}}else return Promise.resolve({[se.key]:{type:"error",error:Aa(404,{pathname:se.path})}})})),pe=await ye,he=(await re).reduce((se,Ne)=>Object.assign(se,Ne),{});return{loaderResults:pe,fetcherResults:he}}function at(){F=!0,te.forEach((j,M)=>{fe.has(M)&&le.add(M),Lt(M)})}function vt(j,M,U={}){w.fetchers.set(j,M),ft({fetchers:new Map(w.fetchers)},{flushSync:(U&&U.flushSync)===!0})}function Vt(j,M,U,ee={}){let ae=dn(w.matches,M);ol(j),ft({errors:{[ae.route.id]:U},fetchers:new Map(w.fetchers)},{flushSync:(ee&&ee.flushSync)===!0})}function Fa(j){return de.set(j,(de.get(j)||0)+1),xe.has(j)&&xe.delete(j),w.fetchers.get(j)||tx}function Cn(j,M){Lt(j,M==null?void 0:M.reason),vt(j,Ol(null))}function ol(j){let M=w.fetchers.get(j);fe.has(j)&&!(M&&M.state==="loading"&&K.has(j))&&Lt(j),te.delete(j),K.delete(j),H.delete(j),xe.delete(j),le.delete(j),w.fetchers.delete(j)}function Wt(j){let M=(de.get(j)||0)-1;M<=0?(de.delete(j),xe.add(j)):de.set(j,M),ft({fetchers:new Map(w.fetchers)})}function Lt(j,M){let U=fe.get(j);U&&(U.abort(M),fe.delete(j))}function Zt(j){for(let M of j){let U=Fa(M),ee=Ol(U.data);w.fetchers.set(M,ee)}}function Eu(){let j=[],M=!1;for(let U of H){let ee=w.fetchers.get(U);Be(ee,`Expected fetcher: ${U}`),ee.state==="loading"&&(H.delete(U),j.push(U),M=!0)}return Zt(j),M}function ju(j){let M=[];for(let[U,ee]of K)if(ee0}function ic(j,M){let U=w.blockers.get(j)||Ir;return _e.get(j)!==M&&_e.set(j,M),U}function Tn(j){w.blockers.delete(j),_e.delete(j)}function fl(j,M){let U=w.blockers.get(j)||Ir;Be(U.state==="unblocked"&&M.state==="blocked"||U.state==="blocked"&&M.state==="blocked"||U.state==="blocked"&&M.state==="proceeding"||U.state==="blocked"&&M.state==="unblocked"||U.state==="proceeding"&&M.state==="unblocked",`Invalid blocker state transition: ${U.state} -> ${M.state}`);let ee=new Map(w.blockers);ee.set(j,M),ft({blockers:ee})}function Nn({currentLocation:j,nextLocation:M,historyAction:U}){if(_e.size===0)return;_e.size>1&&Ct(!1,"A router only supports one blocker at a time");let ee=Array.from(_e.entries()),[ae,ye]=ee[ee.length-1],re=w.blockers.get(ae);if(!(re&&re.state==="proceeding")&&ye({currentLocation:j,nextLocation:M,historyAction:U}))return ae}function Qa(j){let M=Aa(404,{pathname:j}),U=v||y,{matches:ee,route:ae}=Qs(U);return{notFoundMatches:ee,route:ae,error:M}}function si(j,M,U){if(L=j,q=M,G=U||null,!$&&w.navigation===Rf){$=!0;let ee=cr(w.location,w.matches);ee!=null&&ft({restoreScrollPosition:ee})}return()=>{L=null,q=null,G=null}}function Hl(j,M){return G&&G(j,M.map(ee=>NS(ee,w.loaderData)))||j.key}function rc(j,M){if(L&&q){let U=Hl(j,M);L[U]=q()}}function cr(j,M){if(L){let U=Hl(j,M),ee=L[U];if(typeof ee=="number")return ee}return null}function Bl(j,M,U){if(n.patchRoutesOnNavigation)if(j){if(Object.keys(j[0].params).length>0)return{active:!0,matches:nu(M,U,p,!0)}}else return{active:!0,matches:nu(M,U,p,!0)||[]};return{active:!1,matches:null}}async function $a(j,M,U,ee){if(!n.patchRoutesOnNavigation)return{type:"success",matches:j};let ae=j;for(;;){let ye=v==null,re=v||y,pe=m;try{await n.patchRoutesOnNavigation({signal:U,path:M,matches:ae,fetcherKey:ee,patch:(Ne,Se)=>{U.aborted||zp(Ne,Se,re,pe,d,!1)}})}catch(Ne){return{type:"error",error:Ne,partialMatches:ae}}finally{ye&&!U.aborted&&(y=[...y])}if(U.aborted)return{type:"aborted"};let he=fn(re,M,p),se=null;if(he){if(Object.keys(he[0].params).length===0)return{type:"success",matches:he};if(se=nu(re,M,p,!0),!(se&&ae.lengthU.route.id===M[ee].route.id)}function Cu(j){m={},v=cu(j,d,void 0,m)}function Tu(j,M,U=!1){let ee=v==null;zp(j,M,v||y,m,d,U),ee&&(y=[...y],ft({}))}return ue={get basename(){return p},get future(){return b},get state(){return w},get routes(){return y},get window(){return i},initialize:ja,subscribe:sl,enableScrollRestoration:si,navigate:la,fetch:ri,revalidate:Ja,createHref:j=>n.history.createHref(j),encodeLocation:j=>n.history.encodeLocation(j),getFetcher:Fa,resetFetcher:Cn,deleteFetcher:Wt,dispose:ka,getBlocker:ic,deleteBlocker:Tn,patchRoutes:Tu,_internalFetchControllers:fe,_internalSetRoutes:Cu,_internalSetStateDoNotUseOrYouWillBreakYourApp(j){ft(j)}},n.unstable_instrumentations&&(ue=ZS(ue,n.unstable_instrumentations.map(j=>j.router).filter(Boolean))),ue}function nx(n){return n!=null&&("formData"in n&&n.formData!=null||"body"in n&&n.body!==void 0)}function Kf(n,i,u,c,o,d){let m,y;if(o){m=[];for(let p of i)if(m.push(p),p.route.id===o){y=p;break}}else m=i,y=i[i.length-1];let v=pu(c||".",ec(m),Ha(n.pathname,u)||n.pathname,d==="path");if(c==null&&(v.search=n.search,v.hash=n.hash),(c==null||c===""||c===".")&&y){let p=ld(v.search);if(y.route.index&&!p)v.search=v.search?v.search.replace(/^\?/,"?index&"):"?index";else if(!y.route.index&&p){let S=new URLSearchParams(v.search),b=S.getAll("index");S.delete("index"),b.filter(R=>R).forEach(R=>S.append("index",R));let N=S.toString();v.search=N?`?${N}`:""}}return u!=="/"&&(v.pathname=QS({basename:u,pathname:v.pathname})),rl(v)}function wp(n,i,u){if(!u||!nx(u))return{path:i};if(u.formMethod&&!jx(u.formMethod))return{path:i,error:Aa(405,{method:u.formMethod})};let c=()=>({path:i,error:Aa(400,{type:"invalid-body"})}),d=(u.formMethod||"get").toUpperCase(),m=Wv(i);if(u.body!==void 0){if(u.formEncType==="text/plain"){if(!$t(d))return c();let b=typeof u.body=="string"?u.body:u.body instanceof FormData||u.body instanceof URLSearchParams?Array.from(u.body.entries()).reduce((N,[R,L])=>`${N}${R}=${L} +`,""):String(u.body);return{path:i,submission:{formMethod:d,formAction:m,formEncType:u.formEncType,formData:void 0,json:void 0,text:b}}}else if(u.formEncType==="application/json"){if(!$t(d))return c();try{let b=typeof u.body=="string"?JSON.parse(u.body):u.body;return{path:i,submission:{formMethod:d,formAction:m,formEncType:u.formEncType,formData:void 0,json:b,text:void 0}}}catch{return c()}}}Be(typeof FormData=="function","FormData is not available in this environment");let y,v;if(u.formData)y=Vf(u.formData),v=u.formData;else if(u.body instanceof FormData)y=Vf(u.body),v=u.body;else if(u.body instanceof URLSearchParams)y=u.body,v=qp(y);else if(u.body==null)y=new URLSearchParams,v=new FormData;else try{y=new URLSearchParams(u.body),v=qp(y)}catch{return c()}let p={formMethod:d,formAction:m,formEncType:u&&u.formEncType||"application/x-www-form-urlencoded",formData:v,json:void 0,text:void 0};if($t(p.formMethod))return{path:i,submission:p};let S=ul(i);return n&&S.search&&ld(S.search)&&y.append("index",""),S.search=`?${y}`,{path:rl(S),submission:p}}function Dp(n,i,u,c,o,d,m,y,v,p,S,b,N,R,L,G,q,$,W,Z,I){var Ce;let P=Z?xa(Z[1])?Z[1].error:Z[1].data:void 0,ce=o.createURL(d.location),ue=o.createURL(v),w;if(S&&d.errors){let D=Object.keys(d.errors)[0];w=m.findIndex(F=>F.route.id===D)}else if(Z&&xa(Z[1])){let D=Z[0];w=m.findIndex(F=>F.route.id===D)-1}let ne=Z?Z[1].statusCode:void 0,ie=ne&&ne>=400,Ee={currentUrl:ce,currentParams:((Ce=d.matches[0])==null?void 0:Ce.params)||{},nextUrl:ue,nextParams:m[0].params,...y,actionResult:P,actionStatus:ne},be=gu(m),Oe=m.map((D,F)=>{let{route:le}=D,fe=null;if(w!=null&&F>w)fe=!1;else if(le.lazy)fe=!0;else if(!td(le))fe=!1;else if(S){let{shouldLoad:H}=Xv(le,d.loaderData,d.errors);fe=H}else ix(d.loaderData,d.matches[F],D)&&(fe=!0);if(fe!==null)return Xf(u,c,n,v,be,D,p,i,fe);let ve=!1;typeof I=="boolean"?ve=I:ie?ve=!1:(b||ce.pathname+ce.search===ue.pathname+ue.search||ce.search!==ue.search||rx(d.matches[F],D))&&(ve=!0);let T={...Ee,defaultShouldRevalidate:ve},K=iu(D,T);return Xf(u,c,n,v,be,D,p,i,K,T,I)}),we=[];return L.forEach((D,F)=>{if(S||!m.some(de=>de.route.id===D.routeId)||R.has(F))return;let le=d.fetchers.get(F),fe=le&&le.state!=="idle"&&le.data===void 0,ve=fn(q,D.path,$);if(!ve){if(W&&fe)return;we.push({key:F,routeId:D.routeId,path:D.path,matches:null,match:null,request:null,controller:null});return}if(G.has(F))return;let T=Xs(ve,D.path),K=new AbortController,H=Vi(o,D.path,K.signal),te=null;if(N.has(F))N.delete(F),te=ki(u,c,H,D.path,ve,T,p,i);else if(fe)b&&(te=ki(u,c,H,D.path,ve,T,p,i));else{let de;typeof I=="boolean"?de=I:ie?de=!1:de=b;let xe={...Ee,defaultShouldRevalidate:de};iu(T,xe)&&(te=ki(u,c,H,D.path,ve,T,p,i,xe))}te&&we.push({key:F,routeId:D.routeId,path:D.path,matches:te,match:T,request:H,controller:K})}),{dsMatches:Oe,revalidatingFetchers:we}}function td(n){return n.loader!=null||n.middleware!=null&&n.middleware.length>0}function Xv(n,i,u){if(n.lazy)return{shouldLoad:!0,renderFallback:!0};if(!td(n))return{shouldLoad:!1,renderFallback:!1};let c=i!=null&&n.id in i,o=u!=null&&u[n.id]!==void 0;if(!c&&o)return{shouldLoad:!1,renderFallback:!1};if(typeof n.loader=="function"&&n.loader.hydrate===!0)return{shouldLoad:!0,renderFallback:!c};let d=!c&&!o;return{shouldLoad:d,renderFallback:d}}function ix(n,i,u){let c=!i||u.route.id!==i.route.id,o=!n.hasOwnProperty(u.route.id);return c||o}function rx(n,i){let u=n.route.path;return n.pathname!==i.pathname||u!=null&&u.endsWith("*")&&n.params["*"]!==i.params["*"]}function iu(n,i){if(n.route.shouldRevalidate){let u=n.route.shouldRevalidate(i);if(typeof u=="boolean")return u}return i.defaultShouldRevalidate}function zp(n,i,u,c,o,d){let m;if(n){let p=c[n];Be(p,`No route found to patch children into: routeId = ${n}`),p.children||(p.children=[]),m=p.children}else m=u;let y=[],v=[];if(i.forEach(p=>{let S=m.find(b=>Vv(p,b));S?v.push({existingRoute:S,newRoute:p}):y.push(p)}),y.length>0){let p=cu(y,o,[n||"_","patch",String((m==null?void 0:m.length)||"0")],c);m.push(...p)}if(d&&v.length>0)for(let p=0;p{var d;return(d=i.children)==null?void 0:d.some(m=>Vv(c,m))}))??!1:!1}var Ap=new WeakMap,Zv=({key:n,route:i,manifest:u,mapRouteProperties:c})=>{let o=u[i.id];if(Be(o,"No route found in manifest"),!o.lazy||typeof o.lazy!="object")return;let d=o.lazy[n];if(!d)return;let m=Ap.get(o);m||(m={},Ap.set(o,m));let y=m[n];if(y)return y;let v=(async()=>{let p=jS(n),b=o[n]!==void 0&&n!=="hasErrorBoundary";if(p)Ct(!p,"Route property "+n+" is not a supported lazy route property. This property will be ignored."),m[n]=Promise.resolve();else if(b)Ct(!1,`Route "${o.id}" has a static property "${n}" defined. The lazy property will be ignored.`);else{let N=await d();N!=null&&(Object.assign(o,{[n]:N}),Object.assign(o,c(o)))}typeof o.lazy=="object"&&(o.lazy[n]=void 0,Object.values(o.lazy).every(N=>N===void 0)&&(o.lazy=void 0))})();return m[n]=v,v},Up=new WeakMap;function ux(n,i,u,c,o){let d=u[n.id];if(Be(d,"No route found in manifest"),!n.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof n.lazy=="function"){let S=Up.get(d);if(S)return{lazyRoutePromise:S,lazyHandlerPromise:S};let b=(async()=>{Be(typeof n.lazy=="function","No lazy route function found");let N=await n.lazy(),R={};for(let L in N){let G=N[L];if(G===void 0)continue;let q=CS(L),W=d[L]!==void 0&&L!=="hasErrorBoundary";q?Ct(!q,"Route property "+L+" is not a supported property to be returned from a lazy route function. This property will be ignored."):W?Ct(!W,`Route "${d.id}" has a static property "${L}" defined but its lazy function is also returning a value for this property. The lazy route property "${L}" will be ignored.`):R[L]=G}Object.assign(d,R),Object.assign(d,{...c(d),lazy:void 0})})();return Up.set(d,b),b.catch(()=>{}),{lazyRoutePromise:b,lazyHandlerPromise:b}}let m=Object.keys(n.lazy),y=[],v;for(let S of m){if(o&&o.includes(S))continue;let b=Zv({key:S,route:n,manifest:u,mapRouteProperties:c});b&&(y.push(b),S===i&&(v=b))}let p=y.length>0?Promise.all(y).then(()=>{}):void 0;return p==null||p.catch(()=>{}),v==null||v.catch(()=>{}),{lazyRoutePromise:p,lazyHandlerPromise:v}}async function Lp(n){let i=n.matches.filter(o=>o.shouldLoad),u={};return(await Promise.all(i.map(o=>o.resolve()))).forEach((o,d)=>{u[i[d].route.id]=o}),u}async function sx(n){return n.matches.some(i=>i.route.middleware)?kv(n,()=>Lp(n)):Lp(n)}function kv(n,i){return cx(n,i,c=>{if(Ex(c))throw c;return c},gx,u);function u(c,o,d){if(d)return Promise.resolve(Object.assign(d.value,{[o]:{type:"error",result:c}}));{let{matches:m}=n,y=Math.min(Math.max(m.findIndex(p=>p.route.id===o),0),Math.max(m.findIndex(p=>p.shouldCallHandler()),0)),v=dn(m,m[y].route.id).route.id;return Promise.resolve({[v]:{type:"error",result:c}})}}}async function cx(n,i,u,c,o){let{matches:d,...m}=n,y=d.flatMap(p=>p.route.middleware?p.route.middleware.map(S=>[p.route.id,S]):[]);return await Jv(m,y,i,u,c,o)}async function Jv(n,i,u,c,o,d,m=0){let{request:y}=n;if(y.signal.aborted)throw y.signal.reason??new Error(`Request aborted: ${y.method} ${y.url}`);let v=i[m];if(!v)return await u();let[p,S]=v,b,N=async()=>{if(b)throw new Error("You may only call `next()` once per middleware");try{return b={value:await Jv(n,i,u,c,o,d,m+1)},b.value}catch(R){return b={value:await d(R,p,b)},b.value}};try{let R=await S(n,N),L=R!=null?c(R):void 0;return o(L)?L:b?L??b.value:(b={value:await N()},b.value)}catch(R){return await d(R,p,b)}}function Fv(n,i,u,c,o){let d=Zv({key:"middleware",route:c.route,manifest:i,mapRouteProperties:n}),m=ux(c.route,$t(u.method)?"action":"loader",i,n,o);return{middleware:d,route:m.lazyRoutePromise,handler:m.lazyHandlerPromise}}function Xf(n,i,u,c,o,d,m,y,v,p=null,S){let b=!1,N=Fv(n,i,u,d,m);return{...d,_lazyPromises:N,shouldLoad:v,shouldRevalidateArgs:p,shouldCallHandler(R){return b=!0,p?typeof S=="boolean"?iu(d,{...p,defaultShouldRevalidate:S}):typeof R=="boolean"?iu(d,{...p,defaultShouldRevalidate:R}):iu(d,p):v},resolve(R){let{lazy:L,loader:G,middleware:q}=d.route,$=b||v||R&&!$t(u.method)&&(L||G),W=q&&q.length>0&&!G&&!L;return $&&($t(u.method)||!W)?fx({request:u,path:c,unstable_pattern:o,match:d,lazyHandlerPromise:N==null?void 0:N.handler,lazyRoutePromise:N==null?void 0:N.route,handlerOverride:R,scopedContext:y}):Promise.resolve({type:"data",result:void 0})}}}function ki(n,i,u,c,o,d,m,y,v=null){return o.map(p=>p.route.id!==d.route.id?{...p,shouldLoad:!1,shouldRevalidateArgs:v,shouldCallHandler:()=>!1,_lazyPromises:Fv(n,i,u,p,m),resolve:()=>Promise.resolve({type:"data",result:void 0})}:Xf(n,i,u,c,gu(o),p,m,y,!0,v))}async function ox(n,i,u,c,o,d,m){c.some(S=>{var b;return(b=S._lazyPromises)==null?void 0:b.middleware})&&await Promise.all(c.map(S=>{var b;return(b=S._lazyPromises)==null?void 0:b.middleware}));let y={request:i,unstable_url:$v(i,u),unstable_pattern:gu(c),params:c[0].params,context:d,matches:c},p=await n({...y,fetcherKey:o,runClientMiddleware:S=>{let b=y;return kv(b,()=>S({...b,fetcherKey:o,runClientMiddleware:()=>{throw new Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))}});try{await Promise.all(c.flatMap(S=>{var b,N;return[(b=S._lazyPromises)==null?void 0:b.handler,(N=S._lazyPromises)==null?void 0:N.route]}))}catch{}return p}async function fx({request:n,path:i,unstable_pattern:u,match:c,lazyHandlerPromise:o,lazyRoutePromise:d,handlerOverride:m,scopedContext:y}){let v,p,S=$t(n.method),b=S?"action":"loader",N=R=>{let L,G=new Promise((W,Z)=>L=Z);p=()=>L(),n.signal.addEventListener("abort",p);let q=W=>typeof R!="function"?Promise.reject(new Error(`You cannot call the handler for a route which defines a boolean "${b}" [routeId: ${c.route.id}]`)):R({request:n,unstable_url:$v(n,i),unstable_pattern:u,params:c.params,context:y},...W!==void 0?[W]:[]),$=(async()=>{try{return{type:"data",result:await(m?m(Z=>q(Z)):q())}}catch(W){return{type:"error",result:W}}})();return Promise.race([$,G])};try{let R=S?c.route.action:c.route.loader;if(o||d)if(R){let L,[G]=await Promise.all([N(R).catch(q=>{L=q}),o,d]);if(L!==void 0)throw L;v=G}else{await o;let L=S?c.route.action:c.route.loader;if(L)[v]=await Promise.all([N(L),d]);else if(b==="action"){let G=new URL(n.url),q=G.pathname+G.search;throw Aa(405,{method:n.method,pathname:q,routeId:c.route.id})}else return{type:"data",result:void 0}}else if(R)v=await N(R);else{let L=new URL(n.url),G=L.pathname+L.search;throw Aa(404,{pathname:G})}}catch(R){return{type:"error",result:R}}finally{p&&n.signal.removeEventListener("abort",p)}return v}async function dx(n){let i=n.headers.get("Content-Type");return i&&/\bapplication\/json\b/.test(i)?n.body==null?null:n.json():n.text()}async function hx(n){var c,o,d,m,y;let{result:i,type:u}=n;if(ad(i)){let v;try{v=await dx(i)}catch(p){return{type:"error",error:p}}return u==="error"?{type:"error",error:new vu(i.status,i.statusText,v),statusCode:i.status,headers:i.headers}:{type:"data",data:v,statusCode:i.status,headers:i.headers}}return u==="error"?Kp(i)?i.data instanceof Error?{type:"error",error:i.data,statusCode:(c=i.init)==null?void 0:c.status,headers:(o=i.init)!=null&&o.headers?new Headers(i.init.headers):void 0}:{type:"error",error:vx(i),statusCode:ou(i)?i.status:void 0,headers:(d=i.init)!=null&&d.headers?new Headers(i.init.headers):void 0}:{type:"error",error:i,statusCode:ou(i)?i.status:void 0}:Kp(i)?{type:"data",data:i.data,statusCode:(m=i.init)==null?void 0:m.status,headers:(y=i.init)!=null&&y.headers?new Headers(i.init.headers):void 0}:{type:"data",data:i}}function mx(n,i,u,c,o){let d=n.headers.get("Location");if(Be(d,"Redirects returned/thrown from loaders/actions must have a Location header"),!If(d)){let m=c.slice(0,c.findIndex(y=>y.route.id===u)+1);d=Kf(new URL(i.url),m,o,d),n.headers.set("Location",d)}return n}var Hp=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];function Bp(n,i,u,c){if(If(n)){let o=n,d=o.startsWith("//")?new URL(i.protocol+o):new URL(o);if(Hp.includes(d.protocol))throw new Error("Invalid redirect location");let m=Ha(d.pathname,u)!=null;if(d.origin===i.origin&&m)return ed(d.pathname)+d.search+d.hash}try{let o=c.createURL(n);if(Hp.includes(o.protocol))throw new Error("Invalid redirect location")}catch{}return n}function Vi(n,i,u,c){let o=n.createURL(Wv(i)).toString(),d={signal:u};if(c&&$t(c.formMethod)){let{formMethod:m,formEncType:y}=c;d.method=m.toUpperCase(),y==="application/json"?(d.headers=new Headers({"Content-Type":y}),d.body=JSON.stringify(c.json)):y==="text/plain"?d.body=c.text:y==="application/x-www-form-urlencoded"&&c.formData?d.body=Vf(c.formData):d.body=c.formData}return new Request(o,d)}function $v(n,i){let u=new URL(n.url),c=typeof i=="string"?ul(i):i;if(u.pathname=c.pathname||"/",c.search){let o=new URLSearchParams(c.search),d=o.getAll("index");o.delete("index");for(let m of d.filter(Boolean))o.append("index",m);u.search=o.size?`?${o.toString()}`:""}else u.search="";return u.hash=c.hash||"",u}function Vf(n){let i=new URLSearchParams;for(let[u,c]of n.entries())i.append(u,typeof c=="string"?c:c.name);return i}function qp(n){let i=new FormData;for(let[u,c]of n.entries())i.append(u,c);return i}function yx(n,i,u,c=!1,o=!1){let d={},m=null,y,v=!1,p={},S=u&&xa(u[1])?u[1].error:void 0;return n.forEach(b=>{if(!(b.route.id in i))return;let N=b.route.id,R=i[N];if(Be(!kn(R),"Cannot handle redirect results in processLoaderData"),xa(R)){let L=R.error;if(S!==void 0&&(L=S,S=void 0),m=m||{},o)m[N]=L;else{let G=dn(n,N);m[G.route.id]==null&&(m[G.route.id]=L)}c||(d[N]=Kv),v||(v=!0,y=ou(R.error)?R.error.status:500),R.headers&&(p[N]=R.headers)}else d[N]=R.data,R.statusCode&&R.statusCode!==200&&!v&&(y=R.statusCode),R.headers&&(p[N]=R.headers)}),S!==void 0&&u&&(m={[u[0]]:S},u[2]&&(d[u[2]]=void 0)),{loaderData:d,errors:m,statusCode:y||200,loaderHeaders:p}}function Qp(n,i,u,c,o,d){let{loaderData:m,errors:y}=yx(i,u,c);return o.filter(v=>!v.matches||v.matches.some(p=>p.shouldLoad)).forEach(v=>{let{key:p,match:S,controller:b}=v;if(b&&b.signal.aborted)return;let N=d[p];if(Be(N,"Did not find corresponding fetcher result"),xa(N)){let R=dn(n.matches,S==null?void 0:S.route.id);y&&y[R.route.id]||(y={...y,[R.route.id]:N.error}),n.fetchers.delete(p)}else if(kn(N))Be(!1,"Unhandled fetcher revalidation redirect");else{let R=Ol(N.data);n.fetchers.set(p,R)}}),{loaderData:m,errors:y}}function Yp(n,i,u,c){let o=Object.entries(i).filter(([,d])=>d!==Kv).reduce((d,[m,y])=>(d[m]=y,d),{});for(let d of u){let m=d.route.id;if(!i.hasOwnProperty(m)&&n.hasOwnProperty(m)&&d.route.loader&&(o[m]=n[m]),c&&c.hasOwnProperty(m))break}return o}function Gp(n){return n?xa(n[1])?{actionData:{}}:{actionData:{[n[0]]:n[1].data}}:{}}function dn(n,i){return(i?n.slice(0,n.findIndex(c=>c.route.id===i)+1):[...n]).reverse().find(c=>c.route.hasErrorBoundary===!0)||n[0]}function Qs(n){let i=n.length===1?n[0]:n.find(u=>u.index||!u.path||u.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:i}],route:i}}function Aa(n,{pathname:i,routeId:u,method:c,type:o,message:d}={}){let m="Unknown Server Error",y="Unknown @remix-run/router error";return n===400?(m="Bad Request",c&&i&&u?y=`You made a ${c} request to "${i}" but did not provide a \`loader\` for route "${u}", so there is no way to handle the request.`:o==="invalid-body"&&(y="Unable to encode submission body")):n===403?(m="Forbidden",y=`Route "${u}" does not match URL "${i}"`):n===404?(m="Not Found",y=`No route matches URL "${i}"`):n===405&&(m="Method Not Allowed",c&&i&&u?y=`You made a ${c.toUpperCase()} request to "${i}" but did not provide an \`action\` for route "${u}", so there is no way to handle the request.`:c&&(y=`Invalid request method "${c.toUpperCase()}"`)),new vu(n||500,m,new Error(y),!0)}function Ys(n){let i=Object.entries(n);for(let u=i.length-1;u>=0;u--){let[c,o]=i[u];if(kn(o))return{key:c,result:o}}}function Wv(n){let i=typeof n=="string"?ul(n):n;return rl({...i,hash:""})}function px(n,i){return n.pathname!==i.pathname||n.search!==i.search?!1:n.hash===""?i.hash!=="":n.hash===i.hash?!0:i.hash!==""}function vx(n){var i,u;return new vu(((i=n.init)==null?void 0:i.status)??500,((u=n.init)==null?void 0:u.statusText)??"Internal Server Error",n.data)}function gx(n){return n!=null&&typeof n=="object"&&Object.entries(n).every(([i,u])=>typeof i=="string"&&bx(u))}function bx(n){return n!=null&&typeof n=="object"&&"type"in n&&"result"in n&&(n.type==="data"||n.type==="error")}function Sx(n){return ad(n.result)&&Yv.has(n.result.status)}function xa(n){return n.type==="error"}function kn(n){return(n&&n.type)==="redirect"}function Kp(n){return typeof n=="object"&&n!=null&&"type"in n&&"data"in n&&"init"in n&&n.type==="DataWithResponseInit"}function ad(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.headers=="object"&&typeof n.body<"u"}function xx(n){return Yv.has(n)}function Ex(n){return ad(n)&&xx(n.status)&&n.headers.has("Location")}function jx(n){return IS.has(n.toUpperCase())}function $t(n){return WS.has(n.toUpperCase())}function ld(n){return new URLSearchParams(n).getAll("index").some(i=>i==="")}function Xs(n,i){let u=typeof i=="string"?ul(i).search:i.search;if(n[n.length-1].route.index&&ld(u||""))return n[n.length-1];let c=Lv(n);return c[c.length-1]}function Xp(n){let{formMethod:i,formAction:u,formEncType:c,text:o,formData:d,json:m}=n;if(!(!i||!u||!c)){if(o!=null)return{formMethod:i,formAction:u,formEncType:c,formData:void 0,json:void 0,text:o};if(d!=null)return{formMethod:i,formAction:u,formEncType:c,formData:d,json:void 0,text:void 0};if(m!==void 0)return{formMethod:i,formAction:u,formEncType:c,formData:void 0,json:m,text:void 0}}}function Cf(n,i){return i?{state:"loading",location:n,formMethod:i.formMethod,formAction:i.formAction,formEncType:i.formEncType,formData:i.formData,json:i.json,text:i.text}:{state:"loading",location:n,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function Rx(n,i){return{state:"submitting",location:n,formMethod:i.formMethod,formAction:i.formAction,formEncType:i.formEncType,formData:i.formData,json:i.json,text:i.text}}function eu(n,i){return n?{state:"loading",formMethod:n.formMethod,formAction:n.formAction,formEncType:n.formEncType,formData:n.formData,json:n.json,text:n.text,data:i}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:i}}function Cx(n,i){return{state:"submitting",formMethod:n.formMethod,formAction:n.formAction,formEncType:n.formEncType,formData:n.formData,json:n.json,text:n.text,data:i?i.data:void 0}}function Ol(n){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:n}}function Tx(n,i){try{let u=n.sessionStorage.getItem(Gv);if(u){let c=JSON.parse(u);for(let[o,d]of Object.entries(c||{}))d&&Array.isArray(d)&&i.set(o,new Set(d||[]))}}catch{}}function Nx(n,i){if(i.size>0){let u={};for(let[c,o]of i)u[c]=[...o];try{n.sessionStorage.setItem(Gv,JSON.stringify(u))}catch(c){Ct(!1,`Failed to save applied view transitions in sessionStorage (${c}).`)}}}function Vp(){let n,i,u=new Promise((c,o)=>{n=async d=>{c(d);try{await u}catch{}},i=async d=>{o(d);try{await u}catch{}}});return{promise:u,resolve:n,reject:i}}var ii=x.createContext(null);ii.displayName="DataRouter";var bu=x.createContext(null);bu.displayName="DataRouterState";var Pv=x.createContext(!1);function Iv(){return x.useContext(Pv)}var nd=x.createContext({isTransitioning:!1});nd.displayName="ViewTransition";var eg=x.createContext(new Map);eg.displayName="Fetchers";var _x=x.createContext(null);_x.displayName="Await";var Ea=x.createContext(null);Ea.displayName="Navigation";var tc=x.createContext(null);tc.displayName="Location";var Ba=x.createContext({outlet:null,matches:[],isDataRoute:!1});Ba.displayName="Route";var id=x.createContext(null);id.displayName="RouteError";var tg="REACT_ROUTER_ERROR",Mx="REDIRECT",Ox="ROUTE_ERROR_RESPONSE";function wx(n){if(n.startsWith(`${tg}:${Mx}:{`))try{let i=JSON.parse(n.slice(28));if(typeof i=="object"&&i&&typeof i.status=="number"&&typeof i.statusText=="string"&&typeof i.location=="string"&&typeof i.reloadDocument=="boolean"&&typeof i.replace=="boolean")return i}catch{}}function Dx(n){if(n.startsWith(`${tg}:${Ox}:{`))try{let i=JSON.parse(n.slice(40));if(typeof i=="object"&&i&&typeof i.status=="number"&&typeof i.statusText=="string")return new vu(i.status,i.statusText,i.data)}catch{}}function zx(n,{relative:i}={}){Be(sr(),"useHref() may be used only in the context of a component.");let{basename:u,navigator:c}=x.useContext(Ea),{hash:o,pathname:d,search:m}=xu(n,{relative:i}),y=d;return u!=="/"&&(y=d==="/"?u:La([u,d])),c.createHref({pathname:y,search:m,hash:o})}function sr(){return x.useContext(tc)!=null}function aa(){return Be(sr(),"useLocation() may be used only in the context of a component."),x.useContext(tc).location}var ag="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function lg(n){x.useContext(Ea).static||x.useLayoutEffect(n)}function Su(){let{isDataRoute:n}=x.useContext(Ba);return n?Fx():Ax()}function Ax(){Be(sr(),"useNavigate() may be used only in the context of a component.");let n=x.useContext(ii),{basename:i,navigator:u}=x.useContext(Ea),{matches:c}=x.useContext(Ba),{pathname:o}=aa(),d=JSON.stringify(ec(c)),m=x.useRef(!1);return lg(()=>{m.current=!0}),x.useCallback((v,p={})=>{if(Ct(m.current,ag),!m.current)return;if(typeof v=="number"){u.go(v);return}let S=pu(v,JSON.parse(d),o,p.relative==="path");n==null&&i!=="/"&&(S.pathname=S.pathname==="/"?i:La([i,S.pathname])),(p.replace?u.replace:u.push)(S,p.state,p)},[i,u,d,o,n])}var Ux=x.createContext(null);function Lx(n){let i=x.useContext(Ba).outlet;return x.useMemo(()=>i&&x.createElement(Ux.Provider,{value:n},i),[i,n])}function Hx(){let{matches:n}=x.useContext(Ba),i=n[n.length-1];return i?i.params:{}}function xu(n,{relative:i}={}){let{matches:u}=x.useContext(Ba),{pathname:c}=aa(),o=JSON.stringify(ec(u));return x.useMemo(()=>pu(n,JSON.parse(o),c,i==="path"),[n,o,c,i])}function Bx(n,i,u){Be(sr(),"useRoutes() may be used only in the context of a component.");let{navigator:c}=x.useContext(Ea),{matches:o}=x.useContext(Ba),d=o[o.length-1],m=d?d.params:{},y=d?d.pathname:"/",v=d?d.pathnameBase:"/",p=d&&d.route;{let q=p&&p.path||"";ig(y,!p||q.endsWith("*")||q.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${y}" (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 x=oa(),b;b=x;let _=b.pathname||"/",C=_;if(g!=="/"){let L=g.replace(/^\//,"").split("/");C="/"+_.replace(/^\//,"").split("/").slice(L.length).join("/")}let A=hn(n,{pathname:C});return Rt(p||A!=null,`No routes matched location "${b.pathname}${b.search}${b.hash}" `),Rt(A==null||A[A.length-1].route.element!==void 0||A[A.length-1].route.Component!==void 0||A[A.length-1].route.lazy!==void 0,`Matched leaf route at location "${b.pathname}${b.search}${b.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.`),Gx(A&&A.map(L=>Object.assign({},L,{params:Object.assign({},m,L.params),pathname:Ba([g,c.encodeLocation?c.encodeLocation(L.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:L.pathname]),pathnameBase:L.pathnameBase==="/"?g:Ba([g,c.encodeLocation?c.encodeLocation(L.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:L.pathnameBase])})),f,s)}function Bx(){let n=Zx(),i=os(n)?`${n.status} ${n.statusText}`:n instanceof Error?n.message:JSON.stringify(n),s=n instanceof Error?n.stack:null,c="rgba(200,200,200, 0.5)",f={padding:"0.5rem",backgroundColor:c},d={padding:"2px 4px",backgroundColor:c},m=null;return console.error("Error handled by React Router default ErrorBoundary:",n),m=S.createElement(S.Fragment,null,S.createElement("p",null,"💿 Hey developer 👋"),S.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",S.createElement("code",{style:d},"ErrorBoundary")," or"," ",S.createElement("code",{style:d},"errorElement")," prop on your route.")),S.createElement(S.Fragment,null,S.createElement("h2",null,"Unexpected Application Error!"),S.createElement("h3",{style:{fontStyle:"italic"}},i),s?S.createElement("pre",{style:f},s):null,m)}var qx=S.createElement(Bx,null),lg=class extends S.Component{constructor(n){super(n),this.state={location:n.location,revalidation:n.revalidation,error:n.error}}static getDerivedStateFromError(n){return{error:n}}static getDerivedStateFromProps(n,i){return i.location!==n.location||i.revalidation!=="idle"&&n.revalidation==="idle"?{error:n.error,location:n.location,revalidation:n.revalidation}:{error:n.error!==void 0?n.error:i.error,location:i.location,revalidation:n.revalidation||i.revalidation}}componentDidCatch(n,i){this.props.onError?this.props.onError(n,i):console.error("React Router caught the following error during render",n)}render(){let n=this.state.error;if(this.context&&typeof n=="object"&&n&&"digest"in n&&typeof n.digest=="string"){const s=Ox(n.digest);s&&(n=s)}let i=n!==void 0?S.createElement(Qa.Provider,{value:this.props.routeContext},S.createElement(rd.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?S.createElement(Qx,{error:n},i):i}};lg.contextType=Wv;var Tf=new WeakMap;function Qx({children:n,error:i}){let{basename:s}=S.useContext(Ea);if(typeof i=="object"&&i&&"digest"in i&&typeof i.digest=="string"){let c=wx(i.digest);if(c){let f=Tf.get(i);if(f)throw f;let d=Hv(c.location,s);if(Lv&&!Tf.get(i))if(d.isExternal||c.reloadDocument)window.location.href=d.absoluteURL||d.to;else{const m=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(d.to,{replace:c.replace}));throw Tf.set(i,m),m}return S.createElement("meta",{httpEquiv:"refresh",content:`0;url=${d.absoluteURL||d.to}`})}}return n}function Yx({routeContext:n,match:i,children:s}){let c=S.useContext(ii);return c&&c.static&&c.staticContext&&(i.route.errorElement||i.route.ErrorBoundary)&&(c.staticContext._deepestRenderedBoundaryId=i.route.id),S.createElement(Qa.Provider,{value:n},s)}function Gx(n,i=[],s){let c=s==null?void 0:s.state;if(n==null){if(!c)return null;if(c.errors)n=c.matches;else if(i.length===0&&!c.initialized&&c.matches.length>0)n=c.matches;else return null}let f=n,d=c==null?void 0:c.errors;if(d!=null){let x=f.findIndex(b=>b.route.id&&(d==null?void 0:d[b.route.id])!==void 0);Be(x>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(d).join(",")}`),f=f.slice(0,Math.min(f.length,x+1))}let m=!1,y=-1;if(s&&c){m=c.renderFallback;for(let x=0;x=0?f=f.slice(0,y+1):f=[f[0]];break}}}}let g=s==null?void 0:s.onError,p=c&&g?(x,b)=>{var _,C;g(x,{location:c.location,params:((C=(_=c.matches)==null?void 0:_[0])==null?void 0:C.params)??{},unstable_pattern:gs(c.matches),errorInfo:b})}:void 0;return f.reduceRight((x,b,_)=>{let C,A=!1,D=null,L=null;c&&(C=d&&b.route.id?d[b.route.id]:void 0,D=b.route.errorElement||qx,m&&(y<0&&_===0?(ng("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),A=!0,L=null):y===_&&(A=!0,L=b.route.hydrateFallbackElement||null)));let X=i.concat(f.slice(0,_+1)),W=()=>{let F;return C?F=D:A?F=L:b.route.Component?F=S.createElement(b.route.Component,null):b.route.element?F=b.route.element:F=x,S.createElement(Yx,{match:b,routeContext:{outlet:x,matches:X,isDataRoute:c!=null},children:F})};return c&&(b.route.ErrorBoundary||b.route.errorElement||_===0)?S.createElement(lg,{location:c.location,revalidation:c.revalidation,component:D,error:C,children:W(),routeContext:{outlet:null,matches:X,isDataRoute:!0},onError:p}):W()},null)}function sd(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Kx(n){let i=S.useContext(ii);return Be(i,sd(n)),i}function Xx(n){let i=S.useContext(bs);return Be(i,sd(n)),i}function kx(n){let i=S.useContext(Qa);return Be(i,sd(n)),i}function ud(n){let i=kx(n),s=i.matches[i.matches.length-1];return Be(s.route.id,`${n} can only be used on routes that contain a unique "id"`),s.route.id}function Vx(){return ud("useRouteId")}function Zx(){var c;let n=S.useContext(rd),i=Xx("useRouteError"),s=ud("useRouteError");return n!==void 0?n:(c=i.errors)==null?void 0:c[s]}function Fx(){let{router:n}=Kx("useNavigate"),i=ud("useNavigate"),s=S.useRef(!1);return ag(()=>{s.current=!0}),S.useCallback(async(f,d={})=>{Rt(s.current,tg),s.current&&(typeof f=="number"?await n.navigate(f):await n.navigate(f,{fromRouteId:i,...d}))},[n,i])}var Vp={};function ng(n,i,s){!i&&!Vp[n]&&(Vp[n]=!0,Rt(!1,s))}var Zp={};function Fp(n,i){!n&&!Zp[i]&&(Zp[i]=!0,console.warn(i))}var Jx="useOptimistic",Jp=R0[Jx],$x=()=>{};function Wx(n){return Jp?Jp(n):[n,$x]}function Px(n){let i={hasErrorBoundary:n.hasErrorBoundary||n.ErrorBoundary!=null||n.errorElement!=null};return n.Component&&(n.element&&Rt(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(i,{element:S.createElement(n.Component),Component:void 0})),n.HydrateFallback&&(n.hydrateFallbackElement&&Rt(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(i,{hydrateFallbackElement:S.createElement(n.HydrateFallback),HydrateFallback:void 0})),n.ErrorBoundary&&(n.errorElement&&Rt(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(i,{errorElement:S.createElement(n.ErrorBoundary),ErrorBoundary:void 0})),i}var Ix=["HydrateFallback","hydrateFallbackElement"],ej=class{constructor(){this.status="pending",this.promise=new Promise((n,i)=>{this.resolve=s=>{this.status==="pending"&&(this.status="resolved",n(s))},this.reject=s=>{this.status==="pending"&&(this.status="rejected",i(s))}})}};function tj({router:n,flushSync:i,onError:s,unstable_useTransitions:c}){c=Pv()||c;let[d,m]=S.useState(n.state),[y,g]=Wx(d),[p,x]=S.useState(),[b,_]=S.useState({isTransitioning:!1}),[C,A]=S.useState(),[D,L]=S.useState(),[X,W]=S.useState(),F=S.useRef(new Map),P=S.useCallback((le,{deletedFetchers:ie,newErrors:Se,flushSync:xe,viewTransitionOpts:_e})=>{Se&&s&&Object.values(Se).forEach(je=>{var z;return s(je,{location:le.location,params:((z=le.matches[0])==null?void 0:z.params)??{},unstable_pattern:gs(le.matches)})}),le.fetchers.forEach((je,z)=>{je.data!==void 0&&F.current.set(z,je.data)}),ie.forEach(je=>F.current.delete(je)),Fp(xe===!1||i!=null,'You provided the `flushSync` option to a router update, but you are not using the `` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');let De=n.window!=null&&n.window.document!=null&&typeof n.window.document.startViewTransition=="function";if(Fp(_e==null||De,"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available."),!_e||!De){i&&xe?i(()=>m(le)):c===!1?m(le):S.startTransition(()=>{c===!0&&g(je=>$p(je,le)),m(le)});return}if(i&&xe){i(()=>{D&&(C==null||C.resolve(),D.skipTransition()),_({isTransitioning:!0,flushSync:!0,currentLocation:_e.currentLocation,nextLocation:_e.nextLocation})});let je=n.window.document.startViewTransition(()=>{i(()=>m(le))});je.finished.finally(()=>{i(()=>{A(void 0),L(void 0),x(void 0),_({isTransitioning:!1})})}),i(()=>L(je));return}D?(C==null||C.resolve(),D.skipTransition(),W({state:le,currentLocation:_e.currentLocation,nextLocation:_e.nextLocation})):(x(le),_({isTransitioning:!0,flushSync:!1,currentLocation:_e.currentLocation,nextLocation:_e.nextLocation}))},[n.window,i,D,C,c,g,s]);S.useLayoutEffect(()=>n.subscribe(P),[n,P]);let ae=y.initialized;S.useLayoutEffect(()=>{!ae&&n.state.initialized&&P(n.state,{deletedFetchers:[],flushSync:!1,newErrors:null})},[ae,P,n.state]),S.useEffect(()=>{b.isTransitioning&&!b.flushSync&&A(new ej)},[b]),S.useEffect(()=>{if(C&&p&&n.window){let le=p,ie=C.promise,Se=n.window.document.startViewTransition(async()=>{c===!1?m(le):S.startTransition(()=>{c===!0&&g(xe=>$p(xe,le)),m(le)}),await ie});Se.finished.finally(()=>{A(void 0),L(void 0),x(void 0),_({isTransitioning:!1})}),L(Se)}},[p,C,n.window,c,g]),S.useEffect(()=>{C&&p&&y.location.key===p.location.key&&C.resolve()},[C,D,y.location,p]),S.useEffect(()=>{!b.isTransitioning&&X&&(x(X.state),_({isTransitioning:!0,flushSync:!1,currentLocation:X.currentLocation,nextLocation:X.nextLocation}),W(void 0))},[b.isTransitioning,X]);let fe=S.useMemo(()=>({createHref:n.createHref,encodeLocation:n.encodeLocation,go:le=>n.navigate(le),push:(le,ie,Se)=>n.navigate(le,{state:ie,preventScrollReset:Se==null?void 0:Se.preventScrollReset}),replace:(le,ie,Se)=>n.navigate(le,{replace:!0,state:ie,preventScrollReset:Se==null?void 0:Se.preventScrollReset})}),[n]),ne=n.basename||"/",O=S.useMemo(()=>({router:n,navigator:fe,static:!1,basename:ne,onError:s}),[n,fe,ne,s]);return S.createElement(S.Fragment,null,S.createElement(ii.Provider,{value:O},S.createElement(bs.Provider,{value:y},S.createElement(Iv.Provider,{value:F.current},S.createElement(id.Provider,{value:b},S.createElement(ij,{basename:ne,location:y.location,navigationType:y.historyAction,navigator:fe,unstable_useTransitions:c},S.createElement(aj,{routes:n.routes,future:n.future,state:y,isStatic:!1,onError:s})))))),null)}function $p(n,i){return{...n,navigation:i.navigation.state!=="idle"?i.navigation:n.navigation,revalidation:i.revalidation!=="idle"?i.revalidation:n.revalidation,actionData:i.navigation.state!=="submitting"?i.actionData:n.actionData,fetchers:i.fetchers}}var aj=S.memo(lj);function lj({routes:n,future:i,state:s,isStatic:c,onError:f}){return Hx(n,void 0,{state:s,isStatic:c,onError:f})}function ec({to:n,replace:i,state:s,relative:c}){Be(ur()," may be used only in the context of a component.");let{static:f}=S.useContext(Ea);Rt(!f," must not be used on the initial render in a . This is a no-op, but you should modify your code so the is only ever rendered in response to some user interaction or state change.");let{matches:d}=S.useContext(Qa),{pathname:m}=oa(),y=Ss(),g=ps(n,ac(d),m,c==="path"),p=JSON.stringify(g);return S.useEffect(()=>{y(JSON.parse(p),{replace:i,state:s,relative:c})},[y,p,c,i,s]),null}function nj(n){return Ux(n.context)}function ij({basename:n="/",children:i=null,location:s,navigationType:c="POP",navigator:f,static:d=!1,unstable_useTransitions:m}){Be(!ur(),"You cannot render a inside another . You should never have more than one in your app.");let y=n.replace(/^\/*/,"/"),g=S.useMemo(()=>({basename:y,navigator:f,static:d,unstable_useTransitions:m,future:{}}),[y,f,d,m]);typeof s=="string"&&(s=ul(s));let{pathname:p="/",search:x="",hash:b="",state:_=null,key:C="default",unstable_mask:A}=s,D=S.useMemo(()=>{let L=qa(p,y);return L==null?null:{location:{pathname:L,search:x,hash:b,state:_,key:C,unstable_mask:A},navigationType:c}},[y,p,x,b,_,C,c,A]);return Rt(D!=null,` is not able to match the URL "${p}${x}${b}" because it does not start with the basename, so the won't render anything.`),D==null?null:S.createElement(Ea.Provider,{value:g},S.createElement(lc.Provider,{children:i,value:D}))}var Zu="get",Fu="application/x-www-form-urlencoded";function nc(n){return typeof HTMLElement<"u"&&n instanceof HTMLElement}function rj(n){return nc(n)&&n.tagName.toLowerCase()==="button"}function sj(n){return nc(n)&&n.tagName.toLowerCase()==="form"}function uj(n){return nc(n)&&n.tagName.toLowerCase()==="input"}function cj(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function oj(n,i){return n.button===0&&(!i||i==="_self")&&!cj(n)}var Ku=null;function fj(){if(Ku===null)try{new FormData(document.createElement("form"),0),Ku=!1}catch{Ku=!0}return Ku}var dj=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function _f(n){return n!=null&&!dj.has(n)?(Rt(!1,`"${n}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${Fu}"`),null):n}function hj(n,i){let s,c,f,d,m;if(sj(n)){let y=n.getAttribute("action");c=y?qa(y,i):null,s=n.getAttribute("method")||Zu,f=_f(n.getAttribute("enctype"))||Fu,d=new FormData(n)}else if(rj(n)||uj(n)&&(n.type==="submit"||n.type==="image")){let y=n.form;if(y==null)throw new Error('Cannot submit a - - - - {isExpanded && directories.length ? ( -
- {directories.map((directory) => ( - - ))} -
- ) : null} - - ); -} diff --git a/frontend/src/components/PaginationControls.tsx b/frontend/src/components/PaginationControls.tsx new file mode 100644 index 0000000..9853e70 --- /dev/null +++ b/frontend/src/components/PaginationControls.tsx @@ -0,0 +1,117 @@ +type PaginationControlsProps = { + page: number; + pageSize: number; + totalItems: number; + totalPages: number; + onPageChange: (page: number) => void; + onPageSizeChange: (pageSize: number) => void; + pageSizeOptions?: number[]; + label: string; +}; + +export function PaginationControls({ + page, + pageSize, + totalItems, + totalPages, + onPageChange, + onPageSizeChange, + pageSizeOptions = [8, 16, 32, 64], + label, +}: PaginationControlsProps) { + const safeTotalPages = Math.max(1, totalPages); + const pageItems = getPaginationItems(page, safeTotalPages); + + return ( +
+ + {totalItems} items + +
+ +
+ {pageItems.map((item, index) => + item === "ellipsis" ? ( + + ) : ( + + ), + )} +
+ + +
+
+ ); +} + +function getPaginationItems(page: number, totalPages: number): Array { + if (totalPages <= 7) { + return Array.from({ length: totalPages }, (_, index) => index + 1); + } + + const pages = new Set([1, totalPages, page - 1, page, page + 1]); + if (page <= 4) { + [2, 3, 4, 5].forEach((item) => pages.add(item)); + } + if (page >= totalPages - 3) { + [totalPages - 4, totalPages - 3, totalPages - 2, totalPages - 1].forEach((item) => pages.add(item)); + } + + const sortedPages = Array.from(pages) + .filter((item) => item >= 1 && item <= totalPages) + .sort((first, second) => first - second); + + return sortedPages.flatMap((item, index) => { + const previous = sortedPages[index - 1]; + if (!previous) { + return [item]; + } + if (item - previous === 2) { + return [previous + 1, item]; + } + if (item - previous > 2) { + return ["ellipsis", item]; + } + return [item]; + }); +} diff --git a/frontend/src/components/layout/AppLayout.tsx b/frontend/src/components/layout/AppLayout.tsx index c3ce796..975919c 100644 --- a/frontend/src/components/layout/AppLayout.tsx +++ b/frontend/src/components/layout/AppLayout.tsx @@ -1,4 +1,5 @@ -import { NavLink, useNavigate } from "react-router-dom"; +import type { ChangeEvent } from "react"; +import { NavLink, useLocation, useNavigate } from "react-router-dom"; import { useQuery } from "@tanstack/react-query"; import { api } from "../../lib/api"; import { clearAccessToken } from "../../lib/auth"; @@ -10,17 +11,19 @@ type AppLayoutProps = { }; const navItems = [ - { to: "/app/files", label: "Files" }, - { to: "/app/uploads", label: "Uploads" }, - { to: "/app/recycle-bin", label: "Recycle Bin" }, - { to: "/app/storage", label: "Storage" }, - { to: "/app/policies", label: "Policies" }, - { to: "/app/jobs", label: "Jobs" }, + { to: "/app/files", label: "Files", icon: "files" }, + { to: "/app/recycle-bin", label: "Deleted files", icon: "trash" }, + { to: "/app/storage", label: "Storage", icon: "storage" }, + { to: "/app/policies", label: "Policies", icon: "policies" }, + { to: "/app/jobs", label: "Jobs", icon: "jobs" }, ]; export function AppLayout({ currentPath, children }: AppLayoutProps) { const navigate = useNavigate(); + const location = useLocation(); const { pushToast } = useToast(); + const isFilesSearch = location.pathname.startsWith("/app/files"); + const topbarSearchValue = isFilesSearch ? new URLSearchParams(location.search).get("q") ?? "" : ""; const meQuery = useQuery({ queryKey: ["auth", "me"], queryFn: api.me, @@ -38,12 +41,75 @@ export function AppLayout({ currentPath, children }: AppLayoutProps) { navigate("/app/login", { replace: true }); } + function handleTopbarSearchChange(event: ChangeEvent) { + if (!isFilesSearch) { + return; + } + + const params = new URLSearchParams(location.search); + const value = event.target.value.trimStart(); + if (value) { + params.set("q", value); + } else { + params.delete("q"); + } + + navigate( + { + pathname: location.pathname, + search: params.toString() ? `?${params.toString()}` : "", + }, + { replace: true, state: location.state }, + ); + } + return ( -
- + + {selectedItem?.kind === "file" && isDetailDrawerOpen ? ( +
setIsDetailDrawerOpen(false)}> + + +
+ +
+ ) : null} {dialogMode ? ( -
- Browse folders - crumb.id)} - onSelectDirectory={(node) => setMoveTargetId(node.id)} - /> -
) : dialogMode === "delete" ? (

Move {selectedItem?.name} to the recycle bin?

@@ -954,6 +765,7 @@ export function FilesPage() { Cancel + + + + ); } - if (assetQuery.data && mimeType === "application/pdf") { - return