diff --git a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/lib/qimingclawAdapter.ts b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/lib/qimingclawAdapter.ts index 4b662673..09e1fbd2 100644 --- a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/lib/qimingclawAdapter.ts +++ b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/lib/qimingclawAdapter.ts @@ -5,11 +5,13 @@ import type { CanonicalEvent, CronJob, CronRun, + CostSummary, DashboardResponse, DebugPlan, DebugRun, DebugStoreResponse, DebugTask, + DiagResult, DigitalEmployeeDecision, DigitalEmployeeDuty, DigitalEmployeeManagedService, @@ -647,6 +649,15 @@ export async function handleQimingclawDigitalApi( if (method === 'GET' && pathname === '/api/dashboard') { return buildDashboard(await readQimingclawSnapshot()) as T; } + if ((method === 'GET' || method === 'POST') && pathname === '/api/doctor') { + return buildDoctor(await readQimingclawSnapshot()) as T; + } + if (method === 'GET' && pathname === '/api/cost') { + return { cost: buildCostSummary(await readQimingclawSnapshot()) } as T; + } + if (method === 'GET' && pathname === '/api/audit') { + return { events: buildAuditEvents(await readQimingclawSnapshot(), url.searchParams) } as T; + } if (method === 'GET' && pathname === '/api/artifact') { return { artifacts: buildArtifacts(await readQimingclawSnapshot()) } as T; } @@ -1889,6 +1900,197 @@ function buildDashboard(snapshot: QimingclawSnapshot | null): DashboardResponse }; } +function buildDoctor(snapshot: QimingclawSnapshot | null): { results: DiagResult[]; summary: Record } { + const now = new Date().toISOString(); + const managedServices = buildManagedServices(snapshot); + const tasks = buildTasks(null, snapshot); + const approvals = buildApprovals(snapshot); + const runtimeErrors = runtimeEvents(snapshot).filter((event) => /fail|error|reject|cancel/i.test(`${event.kind} ${event.message}`)); + const results: DiagResult[] = managedServices.map((service) => ({ + id: `service:${service.service_id}`, + severity: service.requires_human_action || service.status === 'stopped' ? 'error' : service.status === 'degraded' ? 'warn' : 'ok', + category: 'service', + message: `${service.name}:${service.status_label || service.status}`, + details: compactRecord({ error: service.error, kind: service.kind, running: service.running, dependent_tasks: service.dependent_tasks }), + source: 'qimingclaw-managed-service', + created_at: service.last_seen_at || now, + })); + + const sync = snapshot?.sync; + results.push({ + id: 'sync:management', + severity: doctorSeverityForSync(sync ?? null), + category: 'sync', + message: syncLine(snapshot), + details: sync ? compactRecord({ pending: sync.pending, failed: sync.failed, endpoint: sync.endpoint, missing_credentials: sync.missingCredentials, last_error: sync.lastSyncError }) : null, + source: 'qimingclaw-sync-status', + created_at: sync?.lastSyncAt ?? now, + }); + + for (const failure of sync?.recentFailures ?? []) { + results.push({ + id: `sync_failure:${failure.id}`, + severity: failure.dueForRetry === false ? 'error' : 'warn', + category: 'sync', + message: syncFailureLine(failure), + details: compactRecord({ entity_type: failure.entityType, entity_id: failure.entityId, operation: failure.operation, attempts: failure.attempts, next_retry_at: failure.nextRetryAt }), + source: 'qimingclaw-sync-failure', + created_at: failure.lastAttemptAt ?? failure.updatedAt ?? failure.createdAt, + }); + } + + const failedTasks = tasks.filter((task) => taskStatusTone(task.status) === 'danger'); + results.push({ + id: 'runtime:tasks', + severity: failedTasks.length > 0 ? 'error' : tasks.length === 0 ? 'warn' : 'ok', + category: 'runtime', + message: tasks.length === 0 ? '尚未读取到 qimingclaw runtime task。' : `任务 ${tasks.length} 个,异常 ${failedTasks.length} 个。`, + details: compactRecord({ task_count: tasks.length, failed_task_count: failedTasks.length }), + source: 'qimingclaw-runtime-records', + created_at: now, + }); + results.push({ + id: 'runtime:approvals', + severity: approvals.some((approval) => approval.status === 'pending') ? 'warn' : 'ok', + category: 'approval', + message: `审批 ${approvals.length} 个,待处理 ${approvals.filter((approval) => approval.status === 'pending').length} 个。`, + details: compactRecord({ approval_count: approvals.length, pending_count: approvals.filter((approval) => approval.status === 'pending').length }), + source: 'qimingclaw-approval-records', + created_at: now, + }); + if (runtimeErrors.length > 0) { + results.push({ + id: 'runtime:events:error', + severity: 'error', + category: 'runtime', + message: `最近运行事件中发现 ${runtimeErrors.length} 条异常事实。`, + details: { event_ids: runtimeErrors.slice(0, 8).map((event) => event.id) }, + source: 'qimingclaw-runtime-events', + created_at: runtimeErrors[0]?.occurredAt ?? now, + }); + } + if (!hasRuntimeRecords(snapshot)) { + results.push({ + id: 'runtime:data:empty', + severity: 'warn', + category: 'data', + message: '本地数字员工 runtime 记录为空,页面将只显示兼容投影。', + source: 'qimingclaw-runtime-records', + created_at: now, + }); + } + + return { + results, + summary: { + ok: results.filter((result) => result.severity === 'ok').length, + warn: results.filter((result) => result.severity === 'warn').length, + error: results.filter((result) => result.severity === 'error').length, + generated_at: now, + source: 'qimingclaw-runtime-projection', + }, + }; +} + +function doctorSeverityForSync(sync: QimingclawSyncStatus | null): DiagResult['severity'] { + if (!sync) return 'warn'; + if (sync.failed > 0 || sync.lastSyncError || (sync.missingCredentials?.length ?? 0) > 0) return 'error'; + if (!sync.enabled || !sync.endpoint || sync.pending > 0) return 'warn'; + return 'ok'; +} + +function buildCostSummary(snapshot: QimingclawSnapshot | null): CostSummary { + const requestCount = runtimeEvents(snapshot).length + runtimeRuns(snapshot).length + runtimeTasks(snapshot).length; + return { + session_cost_usd: 0, + daily_cost_usd: 0, + monthly_cost_usd: 0, + total_tokens: 0, + request_count: requestCount, + by_model: { + 'qimingclaw-local': { + model: 'qimingclaw-local', + cost_usd: 0, + total_tokens: 0, + request_count: requestCount, + }, + }, + estimated: true, + source: 'qimingclaw-runtime-projection', + updated_at: snapshot?.generatedAt ?? new Date().toISOString(), + }; +} + +function buildAuditEvents(snapshot: QimingclawSnapshot | null, searchParams: URLSearchParams): Array> { + const limit = Math.max(1, Math.min(Math.floor(numberValue(searchParams.get('limit')) ?? 100), 300)); + const category = stringValue(searchParams.get('category')) || stringValue(searchParams.get('kind')); + const level = stringValue(searchParams.get('level')); + const entityId = stringValue(searchParams.get('id')); + const events = [ + ...runtimeEvents(snapshot).map(auditEventFromRuntimeEvent), + ...(snapshot?.sync?.recentFailures ?? []).map((failure) => ({ + audit_id: `sync_failure:${failure.id}`, + category: 'sync', + action: 'sync_failed', + level: failure.dueForRetry === false ? 'error' : 'warn', + message: syncFailureLine(failure), + actor: 'qimingclaw-sync', + entity_type: failure.entityType, + entity_id: failure.entityId, + occurred_at: failure.lastAttemptAt ?? failure.updatedAt ?? failure.createdAt, + payload: failure, + })), + ...buildArtifacts(snapshot).flatMap((artifact) => auditEventsFromArtifact(artifact)), + ]; + return events + .filter((event) => !category || stringValue(event.category) === category || stringValue(event.entity_type) === category) + .filter((event) => !level || stringValue(event.level) === level) + .filter((event) => !entityId || stringValue(event.entity_id) === entityId || stringValue(event.audit_id).includes(entityId)) + .sort((left, right) => stringValue(right.occurred_at).localeCompare(stringValue(left.occurred_at))) + .slice(0, limit); +} + +function auditEventFromRuntimeEvent(event: QimingclawEventRecord): Record { + const payload = asRecord(event.payload) ?? {}; + const category = event.kind.startsWith('governance_') + ? 'governance' + : event.kind === 'route_decision' + ? 'route' + : event.kind === 'approval_decision' + ? 'approval' + : 'runtime'; + const entityType = event.runId ? 'run' : event.taskId ? 'task' : event.planId ? 'plan' : 'event'; + return { + audit_id: event.id, + category, + action: event.kind, + level: /fail|error|reject|cancel/i.test(`${event.kind} ${event.message}`) ? 'error' : 'info', + message: event.message || event.kind, + actor: stringValue(payload.actor) || stringValue(payload.source) || 'qimingclaw-runtime', + entity_type: entityType, + entity_id: event.runId ?? event.taskId ?? event.planId ?? event.id, + occurred_at: event.occurredAt, + payload, + }; +} + +function auditEventsFromArtifact(artifact: ArtifactEntry): Array> { + const deliveryStatus = stringValue(artifact.delivery_status); + if (!deliveryStatus) return []; + return [{ + audit_id: `artifact_delivery:${artifact.artifact_id ?? artifact.subject_id}`, + category: 'artifact', + action: stringValue(artifact.delivery_stage) || 'artifact_delivery', + level: deliveryStatus === 'failed' || deliveryStatus === 'error' ? 'error' : 'info', + message: `${artifact.name || artifact.kind || 'Artifact'}:${deliveryStatus}`, + actor: stringValue(artifact.source_tool) || 'qimingclaw-file-server', + entity_type: 'artifact', + entity_id: artifact.artifact_id ?? artifact.subject_id, + occurred_at: stringValue(artifact.created_at) || new Date().toISOString(), + payload: artifact, + }]; +} + function buildCanonicalEvents( snapshot: QimingclawSnapshot | null, tasks: DebugTask[], diff --git a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/types/api.ts b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/types/api.ts index c989934d..e27901c6 100644 --- a/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/types/api.ts +++ b/qimingclaw/crates/agent-electron-client/embedded/sgrobot-digital/src/types/api.ts @@ -72,9 +72,13 @@ export interface Integration { } export interface DiagResult { + id?: string; severity: 'ok' | 'warn' | 'error'; category: string; message: string; + details?: string | Record | null; + source?: string; + created_at?: string; } export interface MemoryEntry { @@ -94,6 +98,9 @@ export interface CostSummary { total_tokens: number; request_count: number; by_model: Record; + estimated?: boolean; + source?: string; + updated_at?: string; } export interface ModelStats { diff --git a/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-2bfLPJ8G.js b/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-2bfLPJ8G.js deleted file mode 100644 index 704dac07..00000000 --- a/qimingclaw/crates/agent-electron-client/public/sgrobot-digital/assets/index-2bfLPJ8G.js +++ /dev/null @@ -1,148 +0,0 @@ -(function(){const l=document.createElement("link").relList;if(l&&l.supports&&l.supports("modulepreload"))return;for(const d of document.querySelectorAll('link[rel="modulepreload"]'))r(d);new MutationObserver(d=>{for(const f of d)if(f.type==="childList")for(const h of f.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&r(h)}).observe(document,{childList:!0,subtree:!0});function s(d){const f={};return d.integrity&&(f.integrity=d.integrity),d.referrerPolicy&&(f.referrerPolicy=d.referrerPolicy),d.crossOrigin==="use-credentials"?f.credentials="include":d.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function r(d){if(d.ep)return;d.ep=!0;const f=s(d);fetch(d.href,f)}})();function Wv(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Jo={exports:{}},As={};/** - * @license React - * react-jsx-runtime.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Mp;function Pv(){if(Mp)return As;Mp=1;var n=Symbol.for("react.transitional.element"),l=Symbol.for("react.fragment");function s(r,d,f){var h=null;if(f!==void 0&&(h=""+f),d.key!==void 0&&(h=""+d.key),"key"in d){f={};for(var _ in d)_!=="key"&&(f[_]=d[_])}else f=d;return d=f.ref,{$$typeof:n,type:r,key:h,ref:d!==void 0?d:null,props:f}}return As.Fragment=l,As.jsx=s,As.jsxs=s,As}var Op;function eb(){return Op||(Op=1,Jo.exports=Pv()),Jo.exports}var u=eb(),Io={exports:{}},ge={};/** - * @license React - * react.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var $p;function tb(){if($p)return ge;$p=1;var n=Symbol.for("react.transitional.element"),l=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),d=Symbol.for("react.profiler"),f=Symbol.for("react.consumer"),h=Symbol.for("react.context"),_=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),x=Symbol.for("react.lazy"),S=Symbol.for("react.activity"),w=Symbol.iterator;function q(k){return k===null||typeof k!="object"?null:(k=w&&k[w]||k["@@iterator"],typeof k=="function"?k:null)}var C={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},O=Object.assign,T={};function U(k,G,I){this.props=k,this.context=G,this.refs=T,this.updater=I||C}U.prototype.isReactComponent={},U.prototype.setState=function(k,G){if(typeof k!="object"&&typeof k!="function"&&k!=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,k,G,"setState")},U.prototype.forceUpdate=function(k){this.updater.enqueueForceUpdate(this,k,"forceUpdate")};function J(){}J.prototype=U.prototype;function $(k,G,I){this.props=k,this.context=G,this.refs=T,this.updater=I||C}var W=$.prototype=new J;W.constructor=$,O(W,U.prototype),W.isPureReactComponent=!0;var ee=Array.isArray;function he(){}var Z={H:null,A:null,T:null,S:null},ie=Object.prototype.hasOwnProperty;function ae(k,G,I){var P=I.ref;return{$$typeof:n,type:k,key:G,ref:P!==void 0?P:null,props:I}}function be(k,G){return ae(k.type,G,k.props)}function Be(k){return typeof k=="object"&&k!==null&&k.$$typeof===n}function ze(k){var G={"=":"=0",":":"=2"};return"$"+k.replace(/[=:]/g,function(I){return G[I]})}var X=/\/+/g;function re(k,G){return typeof k=="object"&&k!==null&&k.key!=null?ze(""+k.key):G.toString(36)}function B(k){switch(k.status){case"fulfilled":return k.value;case"rejected":throw k.reason;default:switch(typeof k.status=="string"?k.then(he,he):(k.status="pending",k.then(function(G){k.status==="pending"&&(k.status="fulfilled",k.value=G)},function(G){k.status==="pending"&&(k.status="rejected",k.reason=G)})),k.status){case"fulfilled":return k.value;case"rejected":throw k.reason}}throw k}function D(k,G,I,P,de){var ye=typeof k;(ye==="undefined"||ye==="boolean")&&(k=null);var V=!1;if(k===null)V=!0;else switch(ye){case"bigint":case"string":case"number":V=!0;break;case"object":switch(k.$$typeof){case n:case l:V=!0;break;case x:return V=k._init,D(V(k._payload),G,I,P,de)}}if(V)return de=de(k),V=P===""?"."+re(k,0):P,ee(de)?(I="",V!=null&&(I=V.replace(X,"$&/")+"/"),D(de,G,I,"",function(Oe){return Oe})):de!=null&&(Be(de)&&(de=be(de,I+(de.key==null||k&&k.key===de.key?"":(""+de.key).replace(X,"$&/")+"/")+V)),G.push(de)),1;V=0;var te=P===""?".":P+":";if(ee(k))for(var Me=0;Me>>1,Se=D[me];if(0>>1;med(I,le))Pd(de,I)?(D[me]=de,D[P]=le,me=P):(D[me]=I,D[G]=le,me=G);else if(Pd(de,le))D[me]=de,D[P]=le,me=P;else break e}}return K}function d(D,K){var le=D.sortIndex-K.sortIndex;return le!==0?le:D.id-K.id}if(n.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var f=performance;n.unstable_now=function(){return f.now()}}else{var h=Date,_=h.now();n.unstable_now=function(){return h.now()-_}}var p=[],g=[],x=1,S=null,w=3,q=!1,C=!1,O=!1,T=!1,U=typeof setTimeout=="function"?setTimeout:null,J=typeof clearTimeout=="function"?clearTimeout:null,$=typeof setImmediate<"u"?setImmediate:null;function W(D){for(var K=s(g);K!==null;){if(K.callback===null)r(g);else if(K.startTime<=D)r(g),K.sortIndex=K.expirationTime,l(p,K);else break;K=s(g)}}function ee(D){if(O=!1,W(D),!C)if(s(p)!==null)C=!0,he||(he=!0,ze());else{var K=s(g);K!==null&&B(ee,K.startTime-D)}}var he=!1,Z=-1,ie=5,ae=-1;function be(){return T?!0:!(n.unstable_now()-aeD&&be());){var me=S.callback;if(typeof me=="function"){S.callback=null,w=S.priorityLevel;var Se=me(S.expirationTime<=D);if(D=n.unstable_now(),typeof Se=="function"){S.callback=Se,W(D),K=!0;break t}S===s(p)&&r(p),W(D)}else r(p);S=s(p)}if(S!==null)K=!0;else{var k=s(g);k!==null&&B(ee,k.startTime-D),K=!1}}break e}finally{S=null,w=le,q=!1}K=void 0}}finally{K?ze():he=!1}}}var ze;if(typeof $=="function")ze=function(){$(Be)};else if(typeof MessageChannel<"u"){var X=new MessageChannel,re=X.port2;X.port1.onmessage=Be,ze=function(){re.postMessage(null)}}else ze=function(){U(Be,0)};function B(D,K){Z=U(function(){D(n.unstable_now())},K)}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||125me?(D.sortIndex=le,l(g,D),s(p)===null&&D===s(g)&&(O?(J(Z),Z=-1):O=!0,B(ee,le-me))):(D.sortIndex=Se,l(p,D),C||q||(C=!0,he||(he=!0,ze()))),D},n.unstable_shouldYield=be,n.unstable_wrapCallback=function(D){var K=w;return function(){var le=w;w=K;try{return D.apply(this,arguments)}finally{w=le}}}})(Po)),Po}var Up;function lb(){return Up||(Up=1,Wo.exports=ab()),Wo.exports}var ed={exports:{}},At={};/** - * @license React - * react-dom.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Bp;function ib(){if(Bp)return At;Bp=1;var n=zd();function l(p){var g="https://react.dev/errors/"+p;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(l){console.error(l)}}return n(),ed.exports=ib(),ed.exports}/** - * @license React - * react-dom-client.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Gp;function rb(){if(Gp)return Ts;Gp=1;var n=lb(),l=zd(),s=sb();function r(e){var t="https://react.dev/errors/"+e;if(1Se||(e.current=me[Se],me[Se]=null,Se--)}function I(e,t){Se++,me[Se]=e.current,e.current=t}var P=k(null),de=k(null),ye=k(null),V=k(null);function te(e,t){switch(I(ye,t),I(de,e),I(P,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?ap(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=ap(t),e=lp(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}G(P),I(P,e)}function Me(){G(P),G(de),G(ye)}function Oe(e){e.memoizedState!==null&&I(V,e);var t=P.current,a=lp(t,e.type);t!==a&&(I(de,e),I(P,a))}function xe(e){de.current===e&&(G(P),G(de)),V.current===e&&(G(V),ks._currentValue=le)}var Tt,vt;function Ne(e){if(Tt===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);Tt=t&&t[1]||"",vt=-1)":-1c||j[i]!==z[c]){var H=` -`+j[i].replace(" at new "," at ");return e.displayName&&H.includes("")&&(H=H.replace("",e.displayName)),H}while(1<=i&&0<=c);break}}}finally{at=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?Ne(a):""}function Ei(e,t){switch(e.tag){case 26:case 27:case 5:return Ne(e.type);case 16:return Ne("Lazy");case 13:return e.child!==t&&t!==null?Ne("Suspense Fallback"):Ne("Suspense");case 19:return Ne("SuspenseList");case 0:case 15:return Qn(e.type,!1);case 11:return Qn(e.type.render,!1);case 1:return Qn(e.type,!0);case 31:return Ne("Activity");default:return""}}function Al(e){try{var t="",a=null;do t+=Ei(e,a),a=e,e=e.return;while(e);return t}catch(i){return` -Error generating stack: `+i.message+` -`+i.stack}}var Ci=Object.prototype.hasOwnProperty,Ni=n.unstable_scheduleCallback,St=n.unstable_cancelCallback,Js=n.unstable_shouldYield,ke=n.unstable_requestPaint,pt=n.unstable_now,nn=n.unstable_getCurrentPriorityLevel,an=n.unstable_ImmediatePriority,Wa=n.unstable_UserBlockingPriority,Mt=n.unstable_NormalPriority,Dt=n.unstable_LowPriority,Pa=n.unstable_IdlePriority,Kn=n.log,el=n.unstable_setDisableYieldValue,Xn=null,Ze=null;function Tn(e){if(typeof Kn=="function"&&el(e),Ze&&typeof Ze.setStrictMode=="function")try{Ze.setStrictMode(Xn,e)}catch{}}var Nt=Math.clz32?Math.clz32:Ai,ha=Math.log,Xc=Math.LN2;function Ai(e){return e>>>=0,e===0?32:31-(ha(e)/Xc|0)|0}var Tl=256,Dl=262144,Rl=4194304;function Zn(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 Ot(e,t,a){var i=e.pendingLanes;if(i===0)return 0;var c=0,o=e.suspendedLanes,m=e.pingedLanes;e=e.warmLanes;var y=i&134217727;return y!==0?(i=y&~o,i!==0?c=Zn(i):(m&=y,m!==0?c=Zn(m):a||(a=y&~e,a!==0&&(c=Zn(a))))):(y=i&~o,y!==0?c=Zn(y):m!==0?c=Zn(m):a||(a=i&~e,a!==0&&(c=Zn(a)))),c===0?0:t!==0&&t!==c&&(t&o)===0&&(o=c&-c,a=t&-t,o>=a||o===32&&(a&4194048)!==0)?t:c}function Le(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Ae(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 zl(){var e=Rl;return Rl<<=1,(Rl&62914560)===0&&(Rl=4194304),e}function Is(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function ln(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function af(e,t,a,i,c,o){var m=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 y=e.entanglements,j=e.expirationTimes,z=e.hiddenUpdates;for(a=m&~a;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var tr=/[\n"\\]/g;function qt(e){return e.replace(tr,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function qi(e,t,a,i,c,o,m,y){e.name="",m!=null&&typeof m!="function"&&typeof m!="symbol"&&typeof m!="boolean"?e.type=m:e.removeAttribute("type"),t!=null?m==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+$t(t)):e.value!==""+$t(t)&&(e.value=""+$t(t)):m!=="submit"&&m!=="reset"||e.removeAttribute("value"),t!=null?Li(e,m,$t(t)):a!=null?Li(e,m,$t(a)):i!=null&&e.removeAttribute("value"),c==null&&o!=null&&(e.defaultChecked=!!o),c!=null&&(e.checked=c&&typeof c!="function"&&typeof c!="symbol"),y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"?e.name=""+$t(y):e.removeAttribute("name")}function nr(e,t,a,i,c,o,m,y){if(o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.type=o),t!=null||a!=null){if(!(o!=="submit"&&o!=="reset"||t!=null)){Oi(e);return}a=a!=null?""+$t(a):"",t=t!=null?""+$t(t):a,y||t===e.value||(e.value=t),e.defaultValue=t}i=i??c,i=typeof i!="function"&&typeof i!="symbol"&&!!i,e.checked=y?e.checked:!!i,e.defaultChecked=!!i,m!=null&&typeof m!="function"&&typeof m!="symbol"&&typeof m!="boolean"&&(e.name=m),Oi(e)}function Li(e,t,a){t==="number"&&tl(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function ba(e,t,a,i){if(e=e.options,t){t={};for(var c=0;c"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Bl=!1;if(sn)try{var ka={};Object.defineProperty(ka,"passive",{get:function(){Bl=!0}}),window.addEventListener("test",ka,ka),window.removeEventListener("test",ka,ka)}catch{Bl=!1}var v=null,F=null,ue=null;function Re(){if(ue)return ue;var e,t=F,a=t.length,i,c="value"in v?v.value:v.textContent,o=c.length;for(e=0;e=Xi),of=" ",df=!1;function ff(e,t){switch(e){case"keyup":return by.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function mf(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Hl=!1;function xy(e,t){switch(e){case"compositionend":return mf(t);case"keypress":return t.which!==32?null:(df=!0,of);case"textInput":return e=t.data,e===of&&df?null:e;default:return null}}function jy(e,t){if(Hl)return e==="compositionend"||!eu&&ff(e,t)?(e=Re(),ue=F=v=null,Hl=!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=i}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Sf(a)}}function jf(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?jf(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function wf(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=tl(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=tl(e.document)}return t}function au(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 Dy=sn&&"documentMode"in document&&11>=document.documentMode,Gl=null,lu=null,Ii=null,iu=!1;function kf(e,t,a){var i=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;iu||Gl==null||Gl!==tl(i)||(i=Gl,"selectionStart"in i&&au(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Ii&&Ji(Ii,i)||(Ii=i,i=Ir(lu,"onSelect"),0>=m,c-=m,Ln=1<<32-Nt(t)+c|a<ve?(Ce=se,se=null):Ce=se.sibling;var qe=M(N,se,R[ve],Y);if(qe===null){se===null&&(se=Ce);break}e&&se&&qe.alternate===null&&t(N,se),E=o(qe,E,ve),$e===null?ce=qe:$e.sibling=qe,$e=qe,se=Ce}if(ve===R.length)return a(N,se),Te&&In(N,ve),ce;if(se===null){for(;veve?(Ce=se,se=null):Ce=se.sibling;var Za=M(N,se,qe.value,Y);if(Za===null){se===null&&(se=Ce);break}e&&se&&Za.alternate===null&&t(N,se),E=o(Za,E,ve),$e===null?ce=Za:$e.sibling=Za,$e=Za,se=Ce}if(qe.done)return a(N,se),Te&&In(N,ve),ce;if(se===null){for(;!qe.done;ve++,qe=R.next())qe=Q(N,qe.value,Y),qe!==null&&(E=o(qe,E,ve),$e===null?ce=qe:$e.sibling=qe,$e=qe);return Te&&In(N,ve),ce}for(se=i(se);!qe.done;ve++,qe=R.next())qe=L(se,N,ve,qe.value,Y),qe!==null&&(e&&qe.alternate!==null&&se.delete(qe.key===null?ve:qe.key),E=o(qe,E,ve),$e===null?ce=qe:$e.sibling=qe,$e=qe);return e&&se.forEach(function(Fv){return t(N,Fv)}),Te&&In(N,ve),ce}function Ke(N,E,R,Y){if(typeof R=="object"&&R!==null&&R.type===O&&R.key===null&&(R=R.props.children),typeof R=="object"&&R!==null){switch(R.$$typeof){case q:e:{for(var ce=R.key;E!==null;){if(E.key===ce){if(ce=R.type,ce===O){if(E.tag===7){a(N,E.sibling),Y=c(E,R.props.children),Y.return=N,N=Y;break e}}else if(E.elementType===ce||typeof ce=="object"&&ce!==null&&ce.$$typeof===ie&&dl(ce)===E.type){a(N,E.sibling),Y=c(E,R.props),ns(Y,R),Y.return=N,N=Y;break e}a(N,E);break}else t(N,E);E=E.sibling}R.type===O?(Y=sl(R.props.children,N.mode,Y,R.key),Y.return=N,N=Y):(Y=mr(R.type,R.key,R.props,null,N.mode,Y),ns(Y,R),Y.return=N,N=Y)}return m(N);case C:e:{for(ce=R.key;E!==null;){if(E.key===ce)if(E.tag===4&&E.stateNode.containerInfo===R.containerInfo&&E.stateNode.implementation===R.implementation){a(N,E.sibling),Y=c(E,R.children||[]),Y.return=N,N=Y;break e}else{a(N,E);break}else t(N,E);E=E.sibling}Y=fu(R,N.mode,Y),Y.return=N,N=Y}return m(N);case ie:return R=dl(R),Ke(N,E,R,Y)}if(B(R))return ne(N,E,R,Y);if(ze(R)){if(ce=ze(R),typeof ce!="function")throw Error(r(150));return R=ce.call(R),fe(N,E,R,Y)}if(typeof R.then=="function")return Ke(N,E,br(R),Y);if(R.$$typeof===$)return Ke(N,E,gr(N,R),Y);Sr(N,R)}return typeof R=="string"&&R!==""||typeof R=="number"||typeof R=="bigint"?(R=""+R,E!==null&&E.tag===6?(a(N,E.sibling),Y=c(E,R),Y.return=N,N=Y):(a(N,E),Y=du(R,N.mode,Y),Y.return=N,N=Y),m(N)):a(N,E)}return function(N,E,R,Y){try{ts=0;var ce=Ke(N,E,R,Y);return Pl=null,ce}catch(se){if(se===Wl||se===yr)throw se;var $e=Vt(29,se,null,N.mode);return $e.lanes=Y,$e.return=N,$e}finally{}}}var ml=Vf(!0),Jf=Vf(!1),Ta=!1;function wu(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ku(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 Da(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ra(e,t,a){var i=e.updateQueue;if(i===null)return null;if(i=i.shared,(Ue&2)!==0){var c=i.pending;return c===null?t.next=t:(t.next=c.next,c.next=t),i.pending=t,t=fr(e),Rf(e,null,a),t}return dr(e,i,t,a),fr(e)}function as(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var i=t.lanes;i&=e.pendingLanes,a|=i,t.lanes=a,pe(e,a)}}function Eu(e,t){var a=e.updateQueue,i=e.alternate;if(i!==null&&(i=i.updateQueue,a===i)){var c=null,o=null;if(a=a.firstBaseUpdate,a!==null){do{var m={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};o===null?c=o=m:o=o.next=m,a=a.next}while(a!==null);o===null?c=o=t:o=o.next=t}else c=o=t;a={baseState:i.baseState,firstBaseUpdate:c,lastBaseUpdate:o,shared:i.shared,callbacks:i.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Cu=!1;function ls(){if(Cu){var e=Fl;if(e!==null)throw e}}function is(e,t,a,i){Cu=!1;var c=e.updateQueue;Ta=!1;var o=c.firstBaseUpdate,m=c.lastBaseUpdate,y=c.shared.pending;if(y!==null){c.shared.pending=null;var j=y,z=j.next;j.next=null,m===null?o=z:m.next=z,m=j;var H=e.alternate;H!==null&&(H=H.updateQueue,y=H.lastBaseUpdate,y!==m&&(y===null?H.firstBaseUpdate=z:y.next=z,H.lastBaseUpdate=j))}if(o!==null){var Q=c.baseState;m=0,H=z=j=null,y=o;do{var M=y.lane&-536870913,L=M!==y.lane;if(L?(Ee&M)===M:(i&M)===M){M!==0&&M===Il&&(Cu=!0),H!==null&&(H=H.next={lane:0,tag:y.tag,payload:y.payload,callback:null,next:null});e:{var ne=e,fe=y;M=t;var Ke=a;switch(fe.tag){case 1:if(ne=fe.payload,typeof ne=="function"){Q=ne.call(Ke,Q,M);break e}Q=ne;break e;case 3:ne.flags=ne.flags&-65537|128;case 0:if(ne=fe.payload,M=typeof ne=="function"?ne.call(Ke,Q,M):ne,M==null)break e;Q=S({},Q,M);break e;case 2:Ta=!0}}M=y.callback,M!==null&&(e.flags|=64,L&&(e.flags|=8192),L=c.callbacks,L===null?c.callbacks=[M]:L.push(M))}else L={lane:M,tag:y.tag,payload:y.payload,callback:y.callback,next:null},H===null?(z=H=L,j=Q):H=H.next=L,m|=M;if(y=y.next,y===null){if(y=c.shared.pending,y===null)break;L=y,y=L.next,L.next=null,c.lastBaseUpdate=L,c.shared.pending=null}}while(!0);H===null&&(j=Q),c.baseState=j,c.firstBaseUpdate=z,c.lastBaseUpdate=H,o===null&&(c.shared.lanes=0),qa|=m,e.lanes=m,e.memoizedState=Q}}function If(e,t){if(typeof e!="function")throw Error(r(191,e));e.call(t)}function Ff(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;eo?o:8;var m=D.T,y={};D.T=y,Xu(e,!1,t,a);try{var j=c(),z=D.S;if(z!==null&&z(y,j),j!==null&&typeof j=="object"&&typeof j.then=="function"){var H=By(j,i);cs(e,t,H,Pt(e))}else cs(e,t,i,Pt(e))}catch(Q){cs(e,t,{then:function(){},status:"rejected",reason:Q},Pt())}finally{K.p=o,m!==null&&y.types!==null&&(m.types=y.types),D.T=m}}function Xy(){}function Qu(e,t,a,i){if(e.tag!==5)throw Error(r(476));var c=Am(e).queue;Nm(e,c,t,le,a===null?Xy:function(){return Tm(e),a(i)})}function Am(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:ea,lastRenderedState:le},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ea,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Tm(e){var t=Am(e);t.next===null&&(t=e.alternate.memoizedState),cs(e,t.next.queue,{},Pt())}function Ku(){return jt(ks)}function Dm(){return ut().memoizedState}function Rm(){return ut().memoizedState}function Zy(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=Pt();e=Da(a);var i=Ra(t,e,a);i!==null&&(Gt(i,t,a),as(i,t,a)),t={cache:bu()},e.payload=t;return}t=t.return}}function Vy(e,t,a){var i=Pt();a={lane:i,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Dr(e)?Mm(t,a):(a=uu(e,t,a,i),a!==null&&(Gt(a,e,i),Om(a,t,i)))}function zm(e,t,a){var i=Pt();cs(e,t,a,i)}function cs(e,t,a,i){var c={lane:i,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Dr(e))Mm(t,c);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var m=t.lastRenderedState,y=o(m,a);if(c.hasEagerState=!0,c.eagerState=y,Zt(y,m))return dr(e,t,c,0),Je===null&&or(),!1}catch{}finally{}if(a=uu(e,t,c,i),a!==null)return Gt(a,e,i),Om(a,t,i),!0}return!1}function Xu(e,t,a,i){if(i={lane:2,revertLane:ko(),gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},Dr(e)){if(t)throw Error(r(479))}else t=uu(e,a,i,2),t!==null&&Gt(t,e,2)}function Dr(e){var t=e.alternate;return e===_e||t!==null&&t===_e}function Mm(e,t){ti=wr=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function Om(e,t,a){if((a&4194048)!==0){var i=t.lanes;i&=e.pendingLanes,a|=i,t.lanes=a,pe(e,a)}}var us={readContext:jt,use:Cr,useCallback:lt,useContext:lt,useEffect:lt,useImperativeHandle:lt,useLayoutEffect:lt,useInsertionEffect:lt,useMemo:lt,useReducer:lt,useRef:lt,useState:lt,useDebugValue:lt,useDeferredValue:lt,useTransition:lt,useSyncExternalStore:lt,useId:lt,useHostTransitionStatus:lt,useFormState:lt,useActionState:lt,useOptimistic:lt,useMemoCache:lt,useCacheRefresh:lt};us.useEffectEvent=lt;var $m={readContext:jt,use:Cr,useCallback:function(e,t){return Rt().memoizedState=[e,t===void 0?null:t],e},useContext:jt,useEffect:vm,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,Ar(4194308,4,jm.bind(null,t,e),a)},useLayoutEffect:function(e,t){return Ar(4194308,4,e,t)},useInsertionEffect:function(e,t){Ar(4,2,e,t)},useMemo:function(e,t){var a=Rt();t=t===void 0?null:t;var i=e();if(hl){Tn(!0);try{e()}finally{Tn(!1)}}return a.memoizedState=[i,t],i},useReducer:function(e,t,a){var i=Rt();if(a!==void 0){var c=a(t);if(hl){Tn(!0);try{a(t)}finally{Tn(!1)}}}else c=t;return i.memoizedState=i.baseState=c,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:c},i.queue=e,e=e.dispatch=Vy.bind(null,_e,e),[i.memoizedState,e]},useRef:function(e){var t=Rt();return e={current:e},t.memoizedState=e},useState:function(e){e=Uu(e);var t=e.queue,a=zm.bind(null,_e,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:Gu,useDeferredValue:function(e,t){var a=Rt();return Yu(a,e,t)},useTransition:function(){var e=Uu(!1);return e=Nm.bind(null,_e,e.queue,!0,!1),Rt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var i=_e,c=Rt();if(Te){if(a===void 0)throw Error(r(407));a=a()}else{if(a=t(),Je===null)throw Error(r(349));(Ee&127)!==0||am(i,t,a)}c.memoizedState=a;var o={value:a,getSnapshot:t};return c.queue=o,vm(im.bind(null,i,o,e),[e]),i.flags|=2048,ai(9,{destroy:void 0},lm.bind(null,i,o,a,t),null),a},useId:function(){var e=Rt(),t=Je.identifierPrefix;if(Te){var a=Un,i=Ln;a=(i&~(1<<32-Nt(i)-1)).toString(32)+a,t="_"+t+"R_"+a,a=kr++,0<\/script>",o=o.removeChild(o.firstChild);break;case"select":o=typeof i.is=="string"?m.createElement("select",{is:i.is}):m.createElement("select"),i.multiple?o.multiple=!0:i.size&&(o.size=i.size);break;default:o=typeof i.is=="string"?m.createElement(c,{is:i.is}):m.createElement(c)}}o[gt]=t,o[Ve]=i;e:for(m=t.child;m!==null;){if(m.tag===5||m.tag===6)o.appendChild(m.stateNode);else if(m.tag!==4&&m.tag!==27&&m.child!==null){m.child.return=m,m=m.child;continue}if(m===t)break e;for(;m.sibling===null;){if(m.return===null||m.return===t)break e;m=m.return}m.sibling.return=m.return,m=m.sibling}t.stateNode=o;e:switch(kt(o,c,i),c){case"button":case"input":case"select":case"textarea":i=!!i.autoFocus;break e;case"img":i=!0;break e;default:i=!1}i&&na(t)}}return Fe(t),so(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==i&&na(t);else{if(typeof i!="string"&&t.stateNode===null)throw Error(r(166));if(e=ye.current,Vl(t)){if(e=t.stateNode,a=t.memoizedProps,i=null,c=xt,c!==null)switch(c.tag){case 27:case 5:i=c.memoizedProps}e[gt]=t,e=!!(e.nodeValue===a||i!==null&&i.suppressHydrationWarning===!0||tp(e.nodeValue,a)),e||Na(t,!0)}else e=Fr(e).createTextNode(i),e[gt]=t,t.stateNode=e}return Fe(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(i=Vl(t),a!==null){if(e===null){if(!i)throw Error(r(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(557));e[gt]=t}else rl(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Fe(t),e=!1}else a=gu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(It(t),t):(It(t),null);if((t.flags&128)!==0)throw Error(r(558))}return Fe(t),null;case 13:if(i=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(c=Vl(t),i!==null&&i.dehydrated!==null){if(e===null){if(!c)throw Error(r(318));if(c=t.memoizedState,c=c!==null?c.dehydrated:null,!c)throw Error(r(317));c[gt]=t}else rl(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Fe(t),c=!1}else c=gu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=c),c=!0;if(!c)return t.flags&256?(It(t),t):(It(t),null)}return It(t),(t.flags&128)!==0?(t.lanes=a,t):(a=i!==null,e=e!==null&&e.memoizedState!==null,a&&(i=t.child,c=null,i.alternate!==null&&i.alternate.memoizedState!==null&&i.alternate.memoizedState.cachePool!==null&&(c=i.alternate.memoizedState.cachePool.pool),o=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(o=i.memoizedState.cachePool.pool),o!==c&&(i.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),$r(t,t.updateQueue),Fe(t),null);case 4:return Me(),e===null&&Ao(t.stateNode.containerInfo),Fe(t),null;case 10:return Wn(t.type),Fe(t),null;case 19:if(G(ct),i=t.memoizedState,i===null)return Fe(t),null;if(c=(t.flags&128)!==0,o=i.rendering,o===null)if(c)ds(i,!1);else{if(it!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(o=jr(e),o!==null){for(t.flags|=128,ds(i,!1),e=o.updateQueue,t.updateQueue=e,$r(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)zf(a,e),a=a.sibling;return I(ct,ct.current&1|2),Te&&In(t,i.treeForkCount),t.child}e=e.sibling}i.tail!==null&&pt()>Hr&&(t.flags|=128,c=!0,ds(i,!1),t.lanes=4194304)}else{if(!c)if(e=jr(o),e!==null){if(t.flags|=128,c=!0,e=e.updateQueue,t.updateQueue=e,$r(t,e),ds(i,!0),i.tail===null&&i.tailMode==="hidden"&&!o.alternate&&!Te)return Fe(t),null}else 2*pt()-i.renderingStartTime>Hr&&a!==536870912&&(t.flags|=128,c=!0,ds(i,!1),t.lanes=4194304);i.isBackwards?(o.sibling=t.child,t.child=o):(e=i.last,e!==null?e.sibling=o:t.child=o,i.last=o)}return i.tail!==null?(e=i.tail,i.rendering=e,i.tail=e.sibling,i.renderingStartTime=pt(),e.sibling=null,a=ct.current,I(ct,c?a&1|2:a&1),Te&&In(t,i.treeForkCount),e):(Fe(t),null);case 22:case 23:return It(t),Au(),i=t.memoizedState!==null,e!==null?e.memoizedState!==null!==i&&(t.flags|=8192):i&&(t.flags|=8192),i?(a&536870912)!==0&&(t.flags&128)===0&&(Fe(t),t.subtreeFlags&6&&(t.flags|=8192)):Fe(t),a=t.updateQueue,a!==null&&$r(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),i=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(i=t.memoizedState.cachePool.pool),i!==a&&(t.flags|=2048),e!==null&&G(ol),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),Wn(dt),Fe(t),null;case 25:return null;case 30:return null}throw Error(r(156,t.tag))}function Py(e,t){switch(hu(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Wn(dt),Me(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return xe(t),null;case 31:if(t.memoizedState!==null){if(It(t),t.alternate===null)throw Error(r(340));rl()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(It(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));rl()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return G(ct),null;case 4:return Me(),null;case 10:return Wn(t.type),null;case 22:case 23:return It(t),Au(),e!==null&&G(ol),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Wn(dt),null;case 25:return null;default:return null}}function sh(e,t){switch(hu(t),t.tag){case 3:Wn(dt),Me();break;case 26:case 27:case 5:xe(t);break;case 4:Me();break;case 31:t.memoizedState!==null&&It(t);break;case 13:It(t);break;case 19:G(ct);break;case 10:Wn(t.type);break;case 22:case 23:It(t),Au(),e!==null&&G(ol);break;case 24:Wn(dt)}}function fs(e,t){try{var a=t.updateQueue,i=a!==null?a.lastEffect:null;if(i!==null){var c=i.next;a=c;do{if((a.tag&e)===e){i=void 0;var o=a.create,m=a.inst;i=o(),m.destroy=i}a=a.next}while(a!==c)}}catch(y){Ge(t,t.return,y)}}function Oa(e,t,a){try{var i=t.updateQueue,c=i!==null?i.lastEffect:null;if(c!==null){var o=c.next;i=o;do{if((i.tag&e)===e){var m=i.inst,y=m.destroy;if(y!==void 0){m.destroy=void 0,c=t;var j=a,z=y;try{z()}catch(H){Ge(c,j,H)}}}i=i.next}while(i!==o)}}catch(H){Ge(t,t.return,H)}}function rh(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{Ff(t,a)}catch(i){Ge(e,e.return,i)}}}function ch(e,t,a){a.props=pl(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(i){Ge(e,t,i)}}function ms(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var i=e.stateNode;break;case 30:i=e.stateNode;break;default:i=e.stateNode}typeof a=="function"?e.refCleanup=a(i):a.current=i}}catch(c){Ge(e,t,c)}}function Bn(e,t){var a=e.ref,i=e.refCleanup;if(a!==null)if(typeof i=="function")try{i()}catch(c){Ge(e,t,c)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(c){Ge(e,t,c)}else a.current=null}function uh(e){var t=e.type,a=e.memoizedProps,i=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&i.focus();break e;case"img":a.src?i.src=a.src:a.srcSet&&(i.srcset=a.srcSet)}}catch(c){Ge(e,e.return,c)}}function ro(e,t,a){try{var i=e.stateNode;Sv(i,e.type,a,t),i[Ve]=t}catch(c){Ge(e,e.return,c)}}function oh(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Ga(e.type)||e.tag===4}function co(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||oh(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&&Ga(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 uo(e,t,a){var i=e.tag;if(i===5||i===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=Qt));else if(i!==4&&(i===27&&Ga(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(uo(e,t,a),e=e.sibling;e!==null;)uo(e,t,a),e=e.sibling}function qr(e,t,a){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(i!==4&&(i===27&&Ga(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(qr(e,t,a),e=e.sibling;e!==null;)qr(e,t,a),e=e.sibling}function dh(e){var t=e.stateNode,a=e.memoizedProps;try{for(var i=e.type,c=t.attributes;c.length;)t.removeAttributeNode(c[0]);kt(t,i,a),t[gt]=e,t[Ve]=a}catch(o){Ge(e,e.return,o)}}var aa=!1,ht=!1,oo=!1,fh=typeof WeakSet=="function"?WeakSet:Set,bt=null;function ev(e,t){if(e=e.containerInfo,Ro=lc,e=wf(e),au(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var i=a.getSelection&&a.getSelection();if(i&&i.rangeCount!==0){a=i.anchorNode;var c=i.anchorOffset,o=i.focusNode;i=i.focusOffset;try{a.nodeType,o.nodeType}catch{a=null;break e}var m=0,y=-1,j=-1,z=0,H=0,Q=e,M=null;t:for(;;){for(var L;Q!==a||c!==0&&Q.nodeType!==3||(y=m+c),Q!==o||i!==0&&Q.nodeType!==3||(j=m+i),Q.nodeType===3&&(m+=Q.nodeValue.length),(L=Q.firstChild)!==null;)M=Q,Q=L;for(;;){if(Q===e)break t;if(M===a&&++z===c&&(y=m),M===o&&++H===i&&(j=m),(L=Q.nextSibling)!==null)break;Q=M,M=Q.parentNode}Q=L}a=y===-1||j===-1?null:{start:y,end:j}}else a=null}a=a||{start:0,end:0}}else a=null;for(zo={focusedElem:e,selectionRange:a},lc=!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,o=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"))),kt(o,i,a),o[gt]=e,st(o),i=o;break e;case"link":var m=yp("link","href",c).get(i+(a.href||""));if(m){for(var y=0;yKe&&(m=Ke,Ke=fe,fe=m);var N=xf(y,fe),E=xf(y,Ke);if(N&&E&&(L.rangeCount!==1||L.anchorNode!==N.node||L.anchorOffset!==N.offset||L.focusNode!==E.node||L.focusOffset!==E.offset)){var R=Q.createRange();R.setStart(N.node,N.offset),L.removeAllRanges(),fe>Ke?(L.addRange(R),L.extend(E.node,E.offset)):(R.setEnd(E.node,E.offset),L.addRange(R))}}}}for(Q=[],L=y;L=L.parentNode;)L.nodeType===1&&Q.push({element:L,left:L.scrollLeft,top:L.scrollTop});for(typeof y.focus=="function"&&y.focus(),y=0;ya?32:a,D.T=null,a=yo,yo=null;var o=Ua,m=ca;if(_t=0,ci=Ua=null,ca=0,(Ue&6)!==0)throw Error(r(331));var y=Ue;if(Ue|=4,jh(o.current),bh(o,o.current,m,a),Ue=y,vs(0,!1),Ze&&typeof Ze.onPostCommitFiberRoot=="function")try{Ze.onPostCommitFiberRoot(Xn,o)}catch{}return!0}finally{K.p=c,D.T=i,Hh(e,t)}}function Yh(e,t,a){t=cn(a,t),t=Iu(e.stateNode,t,2),e=Ra(e,t,2),e!==null&&(ln(e,2),Hn(e))}function Ge(e,t,a){if(e.tag===3)Yh(e,e,a);else for(;t!==null;){if(t.tag===3){Yh(t,e,a);break}else if(t.tag===1){var i=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof i.componentDidCatch=="function"&&(La===null||!La.has(i))){e=cn(a,e),a=Qm(2),i=Ra(t,a,2),i!==null&&(Km(a,i,t,e),ln(i,2),Hn(i));break}}t=t.return}}function xo(e,t,a){var i=e.pingCache;if(i===null){i=e.pingCache=new av;var c=new Set;i.set(t,c)}else c=i.get(t),c===void 0&&(c=new Set,i.set(t,c));c.has(a)||(ho=!0,c.add(a),e=cv.bind(null,e,t,a),t.then(e,e))}function cv(e,t,a){var i=e.pingCache;i!==null&&i.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Je===e&&(Ee&a)===a&&(it===4||it===3&&(Ee&62914560)===Ee&&300>pt()-Br?(Ue&2)===0&&ui(e,0):po|=a,ri===Ee&&(ri=0)),Hn(e)}function Qh(e,t){t===0&&(t=zl()),e=il(e,t),e!==null&&(ln(e,t),Hn(e))}function uv(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Qh(e,a)}function ov(e,t){var a=0;switch(e.tag){case 31:case 13:var i=e.stateNode,c=e.memoizedState;c!==null&&(a=c.retryLane);break;case 19:i=e.stateNode;break;case 22:i=e.stateNode._retryCache;break;default:throw Error(r(314))}i!==null&&i.delete(t),Qh(e,a)}function dv(e,t){return Ni(e,t)}var Zr=null,di=null,jo=!1,Vr=!1,wo=!1,Ha=0;function Hn(e){e!==di&&e.next===null&&(di===null?Zr=di=e:di=di.next=e),Vr=!0,jo||(jo=!0,mv())}function vs(e,t){if(!wo&&Vr){wo=!0;do for(var a=!1,i=Zr;i!==null;){if(e!==0){var c=i.pendingLanes;if(c===0)var o=0;else{var m=i.suspendedLanes,y=i.pingedLanes;o=(1<<31-Nt(42|e)+1)-1,o&=c&~(m&~y),o=o&201326741?o&201326741|1:o?o|2:0}o!==0&&(a=!0,Vh(i,o))}else o=Ee,o=Ot(i,i===Je?o:0,i.cancelPendingCommit!==null||i.timeoutHandle!==-1),(o&3)===0||Le(i,o)||(a=!0,Vh(i,o));i=i.next}while(a);wo=!1}}function fv(){Kh()}function Kh(){Vr=jo=!1;var e=0;Ha!==0&&jv()&&(e=Ha);for(var t=pt(),a=null,i=Zr;i!==null;){var c=i.next,o=Xh(i,t);o===0?(i.next=null,a===null?Zr=c:a.next=c,c===null&&(di=a)):(a=i,(e!==0||(o&3)!==0)&&(Vr=!0)),i=c}_t!==0&&_t!==5||vs(e),Ha!==0&&(Ha=0)}function Xh(e,t){for(var a=e.suspendedLanes,i=e.pingedLanes,c=e.expirationTimes,o=e.pendingLanes&-62914561;0y)break;var H=j.transferSize,Q=j.initiatorType;H&&np(Q)&&(j=j.responseEnd,m+=H*(j"u"?null:document;function hp(e,t,a){var i=fi;if(i&&typeof t=="string"&&t){var c=qt(t);c='link[rel="'+e+'"][href="'+c+'"]',typeof a=="string"&&(c+='[crossorigin="'+a+'"]'),mp.has(c)||(mp.add(c),e={rel:e,crossOrigin:a,href:t},i.querySelector(c)===null&&(t=i.createElement("link"),kt(t,"link",e),st(t),i.head.appendChild(t)))}}function Rv(e){ua.D(e),hp("dns-prefetch",e,null)}function zv(e,t){ua.C(e,t),hp("preconnect",e,t)}function Mv(e,t,a){ua.L(e,t,a);var i=fi;if(i&&e&&t){var c='link[rel="preload"][as="'+qt(t)+'"]';t==="image"&&a&&a.imageSrcSet?(c+='[imagesrcset="'+qt(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(c+='[imagesizes="'+qt(a.imageSizes)+'"]')):c+='[href="'+qt(e)+'"]';var o=c;switch(t){case"style":o=mi(e);break;case"script":o=hi(e)}hn.has(o)||(e=S({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),hn.set(o,e),i.querySelector(c)!==null||t==="style"&&i.querySelector(js(o))||t==="script"&&i.querySelector(ws(o))||(t=i.createElement("link"),kt(t,"link",e),st(t),i.head.appendChild(t)))}}function Ov(e,t){ua.m(e,t);var a=fi;if(a&&e){var i=t&&typeof t.as=="string"?t.as:"script",c='link[rel="modulepreload"][as="'+qt(i)+'"][href="'+qt(e)+'"]',o=c;switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":o=hi(e)}if(!hn.has(o)&&(e=S({rel:"modulepreload",href:e},t),hn.set(o,e),a.querySelector(c)===null)){switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(ws(o)))return}i=a.createElement("link"),kt(i,"link",e),st(i),a.head.appendChild(i)}}}function $v(e,t,a){ua.S(e,t,a);var i=fi;if(i&&e){var c=Mn(i).hoistableStyles,o=mi(e);t=t||"default";var m=c.get(o);if(!m){var y={loading:0,preload:null};if(m=i.querySelector(js(o)))y.loading=5;else{e=S({rel:"stylesheet",href:e,"data-precedence":t},a),(a=hn.get(o))&&Bo(e,a);var j=m=i.createElement("link");st(j),kt(j,"link",e),j._p=new Promise(function(z,H){j.onload=z,j.onerror=H}),j.addEventListener("load",function(){y.loading|=1}),j.addEventListener("error",function(){y.loading|=2}),y.loading|=4,Pr(m,t,i)}m={type:"stylesheet",instance:m,count:1,state:y},c.set(o,m)}}}function qv(e,t){ua.X(e,t);var a=fi;if(a&&e){var i=Mn(a).hoistableScripts,c=hi(e),o=i.get(c);o||(o=a.querySelector(ws(c)),o||(e=S({src:e,async:!0},t),(t=hn.get(c))&&Ho(e,t),o=a.createElement("script"),st(o),kt(o,"link",e),a.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},i.set(c,o))}}function Lv(e,t){ua.M(e,t);var a=fi;if(a&&e){var i=Mn(a).hoistableScripts,c=hi(e),o=i.get(c);o||(o=a.querySelector(ws(c)),o||(e=S({src:e,async:!0,type:"module"},t),(t=hn.get(c))&&Ho(e,t),o=a.createElement("script"),st(o),kt(o,"link",e),a.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},i.set(c,o))}}function pp(e,t,a,i){var c=(c=ye.current)?Wr(c):null;if(!c)throw Error(r(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=mi(a.href),a=Mn(c).hoistableStyles,i=a.get(t),i||(i={type:"style",instance:null,count:0,state:null},a.set(t,i)),i):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=mi(a.href);var o=Mn(c).hoistableStyles,m=o.get(e);if(m||(c=c.ownerDocument||c,m={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},o.set(e,m),(o=c.querySelector(js(e)))&&!o._p&&(m.instance=o,m.state.loading=5),hn.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},hn.set(e,a),o||Uv(c,e,a,m.state))),t&&i===null)throw Error(r(528,""));return m}if(t&&i!==null)throw Error(r(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=hi(a),a=Mn(c).hoistableScripts,i=a.get(t),i||(i={type:"script",instance:null,count:0,state:null},a.set(t,i)),i):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,e))}}function mi(e){return'href="'+qt(e)+'"'}function js(e){return'link[rel="stylesheet"]['+e+"]"}function gp(e){return S({},e,{"data-precedence":e.precedence,precedence:null})}function Uv(e,t,a,i){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?i.loading=1:(t=e.createElement("link"),i.preload=t,t.addEventListener("load",function(){return i.loading|=1}),t.addEventListener("error",function(){return i.loading|=2}),kt(t,"link",a),st(t),e.head.appendChild(t))}function hi(e){return'[src="'+qt(e)+'"]'}function ws(e){return"script[async]"+e}function _p(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var i=e.querySelector('style[data-href~="'+qt(a.href)+'"]');if(i)return t.instance=i,st(i),i;var c=S({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return i=(e.ownerDocument||e).createElement("style"),st(i),kt(i,"style",c),Pr(i,a.precedence,e),t.instance=i;case"stylesheet":c=mi(a.href);var o=e.querySelector(js(c));if(o)return t.state.loading|=4,t.instance=o,st(o),o;i=gp(a),(c=hn.get(c))&&Bo(i,c),o=(e.ownerDocument||e).createElement("link"),st(o);var m=o;return m._p=new Promise(function(y,j){m.onload=y,m.onerror=j}),kt(o,"link",i),t.state.loading|=4,Pr(o,a.precedence,e),t.instance=o;case"script":return o=hi(a.src),(c=e.querySelector(ws(o)))?(t.instance=c,st(c),c):(i=a,(c=hn.get(o))&&(i=S({},a),Ho(i,c)),e=e.ownerDocument||e,c=e.createElement("script"),st(c),kt(c,"link",i),e.head.appendChild(c),t.instance=c);case"void":return null;default:throw Error(r(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(i=t.instance,t.state.loading|=4,Pr(i,a.precedence,e));return t.instance}function Pr(e,t,a){for(var i=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),c=i.length?i[i.length-1]:null,o=c,m=0;m title"):null)}function Bv(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 bp(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Hv(e,t,a,i){if(a.type==="stylesheet"&&(typeof i.media!="string"||matchMedia(i.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var c=mi(i.href),o=t.querySelector(js(c));if(o){t=o._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=tc.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=o,st(o);return}o=t.ownerDocument||t,i=gp(i),(c=hn.get(c))&&Bo(i,c),o=o.createElement("link"),st(o);var m=o;m._p=new Promise(function(y,j){m.onload=y,m.onerror=j}),kt(o,"link",i),a.instance=o}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=tc.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Go=0;function Gv(e,t){return e.stylesheets&&e.count===0&&ac(e,e.stylesheets),0Go?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(i),clearTimeout(c)}}:null}function tc(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)ac(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var nc=null;function ac(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,nc=new Map,t.forEach(Yv,e),nc=null,tc.call(e))}function Yv(e,t){if(!(t.state.loading&4)){var a=nc.get(e);if(a)var i=a.get(null);else{a=new Map,nc.set(e,a);for(var c=e.querySelectorAll("link[data-precedence],style[data-precedence]"),o=0;o"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(l){console.error(l)}}return n(),Fo.exports=rb(),Fo.exports}var ub=cb();/** - * react-router v7.17.0 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */var Qp="popstate";function Kp(n){return typeof n=="object"&&n!=null&&"pathname"in n&&"search"in n&&"hash"in n&&"state"in n&&"key"in n}function ob(n={}){function l(d,f){let{pathname:h="/",search:_="",hash:p=""}=wl(d.location.hash.substring(1));return!h.startsWith("/")&&!h.startsWith(".")&&(h="/"+h),pd("",{pathname:h,search:_,hash:p},f.state&&f.state.usr||null,f.state&&f.state.key||"default")}function s(d,f){let h=d.document.querySelector("base"),_="";if(h&&h.getAttribute("href")){let p=d.location.href,g=p.indexOf("#");_=g===-1?p:p.slice(0,g)}return _+"#"+(typeof f=="string"?f:Ls(f))}function r(d,f){pn(d.pathname.charAt(0)==="/",`relative pathnames are not supported in hash history.push(${JSON.stringify(f)})`)}return fb(l,s,r,n)}function nt(n,l){if(n===!1||n===null||typeof n>"u")throw new Error(l)}function pn(n,l){if(!n){typeof console<"u"&&console.warn(l);try{throw new Error(l)}catch{}}}function db(){return Math.random().toString(36).substring(2,10)}function Xp(n,l){return{usr:n.state,key:n.key,idx:l,masked:n.mask?{pathname:n.pathname,search:n.search,hash:n.hash}:void 0}}function pd(n,l,s=null,r,d){return{pathname:typeof n=="string"?n:n.pathname,search:"",hash:"",...typeof l=="string"?wl(l):l,state:s,key:l&&l.key||r||db(),mask:d}}function Ls({pathname:n="/",search:l="",hash:s=""}){return l&&l!=="?"&&(n+=l.charAt(0)==="?"?l:"?"+l),s&&s!=="#"&&(n+=s.charAt(0)==="#"?s:"#"+s),n}function wl(n){let l={};if(n){let s=n.indexOf("#");s>=0&&(l.hash=n.substring(s),n=n.substring(0,s));let r=n.indexOf("?");r>=0&&(l.search=n.substring(r),n=n.substring(0,r)),n&&(l.pathname=n)}return l}function fb(n,l,s,r={}){let{window:d=document.defaultView,v5Compat:f=!1}=r,h=d.history,_="POP",p=null,g=x();g==null&&(g=0,h.replaceState({...h.state,idx:g},""));function x(){return(h.state||{idx:null}).idx}function S(){_="POP";let T=x(),U=T==null?null:T-g;g=T,p&&p({action:_,location:O.location,delta:U})}function w(T,U){_="PUSH";let J=Kp(T)?T:pd(O.location,T,U);s&&s(J,T),g=x()+1;let $=Xp(J,g),W=O.createHref(J.mask||J);try{h.pushState($,"",W)}catch(ee){if(ee instanceof DOMException&&ee.name==="DataCloneError")throw ee;d.location.assign(W)}f&&p&&p({action:_,location:O.location,delta:1})}function q(T,U){_="REPLACE";let J=Kp(T)?T:pd(O.location,T,U);s&&s(J,T),g=x();let $=Xp(J,g),W=O.createHref(J.mask||J);h.replaceState($,"",W),f&&p&&p({action:_,location:O.location,delta:0})}function C(T){return mb(d,T)}let O={get action(){return _},get location(){return n(d,h)},listen(T){if(p)throw new Error("A history only accepts one active listener");return d.addEventListener(Qp,S),p=T,()=>{d.removeEventListener(Qp,S),p=null}},createHref(T){return l(d,T)},createURL:C,encodeLocation(T){let U=C(T);return{pathname:U.pathname,search:U.search,hash:U.hash}},push:w,replace:q,go(T){return h.go(T)}};return O}function mb(n,l,s=!1){let r="http://localhost";n&&(r=n.location.origin!=="null"?n.location.origin:n.location.href),nt(r,"No window.location.(origin|href) available to create URL");let d=typeof l=="string"?l:Ls(l);return d=d.replace(/ $/,"%20"),!s&&d.startsWith("//")&&(d=r+d),new URL(d,r)}function Ug(n,l,s="/"){return hb(n,l,s,!1)}function hb(n,l,s,r,d){let f=typeof l=="string"?wl(l):l,h=fa(f.pathname||"/",s);if(h==null)return null;let _=pb(n),p=null,g=Cb(h);for(let x=0;p==null&&x<_.length;++x)p=kb(_[x],g,r);return p}function pb(n){let l=Bg(n);return gb(l),l}function Bg(n,l=[],s=[],r="",d=!1){let f=(h,_,p=d,g)=>{let x={relativePath:g===void 0?h.path||"":g,caseSensitive:h.caseSensitive===!0,childrenIndex:_,route:h};if(x.relativePath.startsWith("/")){if(!x.relativePath.startsWith(r)&&p)return;nt(x.relativePath.startsWith(r),`Absolute route path "${x.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),x.relativePath=x.relativePath.slice(r.length)}let S=kn([r,x.relativePath]),w=s.concat(x);h.children&&h.children.length>0&&(nt(h.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${S}".`),Bg(h.children,l,w,S,p)),!(h.path==null&&!h.index)&&l.push({path:S,score:jb(S,h.index),routesMeta:w})};return n.forEach((h,_)=>{var p;if(h.path===""||!((p=h.path)!=null&&p.includes("?")))f(h,_);else for(let g of Hg(h.path))f(h,_,!0,g)}),l}function Hg(n){let l=n.split("/");if(l.length===0)return[];let[s,...r]=l,d=s.endsWith("?"),f=s.replace(/\?$/,"");if(r.length===0)return d?[f,""]:[f];let h=Hg(r.join("/")),_=[];return _.push(...h.map(p=>p===""?f:[f,p].join("/"))),d&&_.push(...h),_.map(p=>n.startsWith("/")&&p===""?"/":p)}function gb(n){n.sort((l,s)=>l.score!==s.score?s.score-l.score:wb(l.routesMeta.map(r=>r.childrenIndex),s.routesMeta.map(r=>r.childrenIndex)))}var _b=/^:[\w-]+$/,yb=3,vb=2,bb=1,Sb=10,xb=-2,Zp=n=>n==="*";function jb(n,l){let s=n.split("/"),r=s.length;return s.some(Zp)&&(r+=xb),l&&(r+=vb),s.filter(d=>!Zp(d)).reduce((d,f)=>d+(_b.test(f)?yb:f===""?bb:Sb),r)}function wb(n,l){return n.length===l.length&&n.slice(0,-1).every((r,d)=>r===l[d])?n[n.length-1]-l[l.length-1]:0}function kb(n,l,s=!1){let{routesMeta:r}=n,d={},f="/",h=[];for(let _=0;_{if(x==="*"){let C=_[w]||"";h=f.slice(0,f.length-C.length).replace(/(.)\/+$/,"$1")}const q=_[w];return S&&!q?g[x]=void 0:g[x]=(q||"").replace(/%2F/g,"/"),g},{}),pathname:f,pathnameBase:h,pattern:n}}function Eb(n,l=!1,s=!0){pn(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 r=[],d="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(h,_,p,g,x)=>{if(r.push({paramName:_,isOptional:p!=null}),p){let S=x.charAt(g+h.length);return S&&S!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return n.endsWith("*")?(r.push({paramName:"*"}),d+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):s?d+="\\/*$":n!==""&&n!=="/"&&(d+="(?:(?=\\/|$))"),[new RegExp(d,l?void 0:"i"),r]}function Cb(n){try{return n.split("/").map(l=>decodeURIComponent(l).replace(/\//g,"%2F")).join("/")}catch(l){return pn(!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 (${l}).`),n}}function fa(n,l){if(l==="/")return n;if(!n.toLowerCase().startsWith(l.toLowerCase()))return null;let s=l.endsWith("/")?l.length-1:l.length,r=n.charAt(s);return r&&r!=="/"?null:n.slice(s)||"/"}var Nb=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function Ab(n,l="/"){let{pathname:s,search:r="",hash:d=""}=typeof n=="string"?wl(n):n,f;return s?(s=Gg(s),s.startsWith("/")?f=Vp(s.substring(1),"/"):f=Vp(s,l)):f=l,{pathname:f,search:Rb(r),hash:zb(d)}}function Vp(n,l){let s=Cc(l).split("/");return n.split("/").forEach(d=>{d===".."?s.length>1&&s.pop():d!=="."&&s.push(d)}),s.length>1?s.join("/"):"/"}function td(n,l,s,r){return`Cannot include a '${n}' character in a manually specified \`to.${l}\` field [${JSON.stringify(r)}]. 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 Tb(n){return n.filter((l,s)=>s===0||l.route.path&&l.route.path.length>0)}function Md(n){let l=Tb(n);return l.map((s,r)=>r===l.length-1?s.pathname:s.pathnameBase)}function Oc(n,l,s,r=!1){let d;typeof n=="string"?d=wl(n):(d={...n},nt(!d.pathname||!d.pathname.includes("?"),td("?","pathname","search",d)),nt(!d.pathname||!d.pathname.includes("#"),td("#","pathname","hash",d)),nt(!d.search||!d.search.includes("#"),td("#","search","hash",d)));let f=n===""||d.pathname==="",h=f?"/":d.pathname,_;if(h==null)_=s;else{let S=l.length-1;if(!r&&h.startsWith("..")){let w=h.split("/");for(;w[0]==="..";)w.shift(),S-=1;d.pathname=w.join("/")}_=S>=0?l[S]:"/"}let p=Ab(d,_),g=h&&h!=="/"&&h.endsWith("/"),x=(f||h===".")&&s.endsWith("/");return!p.pathname.endsWith("/")&&(g||x)&&(p.pathname+="/"),p}var Gg=n=>n.replace(/\/\/+/g,"/"),kn=n=>Gg(n.join("/")),Cc=n=>n.replace(/\/+$/,""),Db=n=>Cc(n).replace(/^\/*/,"/"),Rb=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,zb=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n,Mb=class{constructor(n,l,s,r=!1){this.status=n,this.statusText=l||"",this.internal=r,s instanceof Error?(this.data=s.toString(),this.error=s):this.data=s}};function Ob(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}function $b(n){let l=n.map(s=>s.route.path).filter(Boolean);return kn(l)||"/"}var Yg=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Qg(n,l){let s=n;if(typeof s!="string"||!Nb.test(s))return{absoluteURL:void 0,isExternal:!1,to:s};let r=s,d=!1;if(Yg)try{let f=new URL(window.location.href),h=s.startsWith("//")?new URL(f.protocol+s):new URL(s),_=fa(h.pathname,l);h.origin===f.origin&&_!=null?s=_+h.search+h.hash:d=!0}catch{pn(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:d,to:s}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Kg=["POST","PUT","PATCH","DELETE"];new Set(Kg);var qb=["GET",...Kg];new Set(qb);var Si=b.createContext(null);Si.displayName="DataRouter";var $c=b.createContext(null);$c.displayName="DataRouterState";var Xg=b.createContext(!1);function Lb(){return b.useContext(Xg)}var Zg=b.createContext({isTransitioning:!1});Zg.displayName="ViewTransition";var Ub=b.createContext(new Map);Ub.displayName="Fetchers";var Bb=b.createContext(null);Bb.displayName="Await";var en=b.createContext(null);en.displayName="Navigation";var Ys=b.createContext(null);Ys.displayName="Location";var Yn=b.createContext({outlet:null,matches:[],isDataRoute:!1});Yn.displayName="Route";var Od=b.createContext(null);Od.displayName="RouteError";var Vg="REACT_ROUTER_ERROR",Hb="REDIRECT",Gb="ROUTE_ERROR_RESPONSE";function Yb(n){if(n.startsWith(`${Vg}:${Hb}:{`))try{let l=JSON.parse(n.slice(28));if(typeof l=="object"&&l&&typeof l.status=="number"&&typeof l.statusText=="string"&&typeof l.location=="string"&&typeof l.reloadDocument=="boolean"&&typeof l.replace=="boolean")return l}catch{}}function Qb(n){if(n.startsWith(`${Vg}:${Gb}:{`))try{let l=JSON.parse(n.slice(40));if(typeof l=="object"&&l&&typeof l.status=="number"&&typeof l.statusText=="string")return new Mb(l.status,l.statusText,l.data)}catch{}}function Kb(n,{relative:l}={}){nt(xi(),"useHref() may be used only in the context of a component.");let{basename:s,navigator:r}=b.useContext(en),{hash:d,pathname:f,search:h}=Qs(n,{relative:l}),_=f;return s!=="/"&&(_=f==="/"?s:kn([s,f])),r.createHref({pathname:_,search:h,hash:d})}function xi(){return b.useContext(Ys)!=null}function An(){return nt(xi(),"useLocation() may be used only in the context of a component."),b.useContext(Ys).location}var Jg="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Ig(n){b.useContext(en).static||b.useLayoutEffect(n)}function $d(){let{isDataRoute:n}=b.useContext(Yn);return n?l0():Xb()}function Xb(){nt(xi(),"useNavigate() may be used only in the context of a component.");let n=b.useContext(Si),{basename:l,navigator:s}=b.useContext(en),{matches:r}=b.useContext(Yn),{pathname:d}=An(),f=JSON.stringify(Md(r)),h=b.useRef(!1);return Ig(()=>{h.current=!0}),b.useCallback((p,g={})=>{if(pn(h.current,Jg),!h.current)return;if(typeof p=="number"){s.go(p);return}let x=Oc(p,JSON.parse(f),d,g.relative==="path");n==null&&l!=="/"&&(x.pathname=x.pathname==="/"?l:kn([l,x.pathname])),(g.replace?s.replace:s.push)(x,g.state,g)},[l,s,f,d,n])}b.createContext(null);function Qs(n,{relative:l}={}){let{matches:s}=b.useContext(Yn),{pathname:r}=An(),d=JSON.stringify(Md(s));return b.useMemo(()=>Oc(n,JSON.parse(d),r,l==="path"),[n,d,r,l])}function Zb(n,l){return Fg(n,l)}function Fg(n,l,s){var T;nt(xi(),"useRoutes() may be used only in the context of a component.");let{navigator:r}=b.useContext(en),{matches:d}=b.useContext(Yn),f=d[d.length-1],h=f?f.params:{},_=f?f.pathname:"/",p=f?f.pathnameBase:"/",g=f&&f.route;{let U=g&&g.path||"";Pg(_,!g||U.endsWith("*")||U.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${_}" (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=An(),S;if(l){let U=typeof l=="string"?wl(l):l;nt(p==="/"||((T=U.pathname)==null?void 0:T.startsWith(p)),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${p}" but pathname "${U.pathname}" was given in the \`location\` prop.`),S=U}else S=x;let w=S.pathname||"/",q=w;if(p!=="/"){let U=p.replace(/^\//,"").split("/");q="/"+w.replace(/^\//,"").split("/").slice(U.length).join("/")}let C=s&&s.state.matches.length?s.state.matches.map(U=>Object.assign(U,{route:s.manifest[U.route.id]||U.route})):Ug(n,{pathname:q});pn(g||C!=null,`No routes matched location "${S.pathname}${S.search}${S.hash}" `),pn(C==null||C[C.length-1].route.element!==void 0||C[C.length-1].route.Component!==void 0||C[C.length-1].route.lazy!==void 0,`Matched leaf route at location "${S.pathname}${S.search}${S.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let O=Wb(C&&C.map(U=>Object.assign({},U,{params:Object.assign({},h,U.params),pathname:kn([p,r.encodeLocation?r.encodeLocation(U.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:U.pathname]),pathnameBase:U.pathnameBase==="/"?p:kn([p,r.encodeLocation?r.encodeLocation(U.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:U.pathnameBase])})),d,s);return l&&O?b.createElement(Ys.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",mask:void 0,...S},navigationType:"POP"}},O):O}function Vb(){let n=a0(),l=Ob(n)?`${n.status} ${n.statusText}`:n instanceof Error?n.message:JSON.stringify(n),s=n instanceof Error?n.stack:null,r="rgba(200,200,200, 0.5)",d={padding:"0.5rem",backgroundColor:r},f={padding:"2px 4px",backgroundColor:r},h=null;return console.error("Error handled by React Router default ErrorBoundary:",n),h=b.createElement(b.Fragment,null,b.createElement("p",null,"💿 Hey developer 👋"),b.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",b.createElement("code",{style:f},"ErrorBoundary")," or"," ",b.createElement("code",{style:f},"errorElement")," prop on your route.")),b.createElement(b.Fragment,null,b.createElement("h2",null,"Unexpected Application Error!"),b.createElement("h3",{style:{fontStyle:"italic"}},l),s?b.createElement("pre",{style:d},s):null,h)}var Jb=b.createElement(Vb,null),Wg=class extends b.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,l){return l.location!==n.location||l.revalidation!=="idle"&&n.revalidation==="idle"?{error:n.error,location:n.location,revalidation:n.revalidation}:{error:n.error!==void 0?n.error:l.error,location:l.location,revalidation:n.revalidation||l.revalidation}}componentDidCatch(n,l){this.props.onError?this.props.onError(n,l):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=Qb(n.digest);s&&(n=s)}let l=n!==void 0?b.createElement(Yn.Provider,{value:this.props.routeContext},b.createElement(Od.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?b.createElement(Ib,{error:n},l):l}};Wg.contextType=Xg;var nd=new WeakMap;function Ib({children:n,error:l}){let{basename:s}=b.useContext(en);if(typeof l=="object"&&l&&"digest"in l&&typeof l.digest=="string"){let r=Yb(l.digest);if(r){let d=nd.get(l);if(d)throw d;let f=Qg(r.location,s);if(Yg&&!nd.get(l))if(f.isExternal||r.reloadDocument)window.location.href=f.absoluteURL||f.to;else{const h=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(f.to,{replace:r.replace}));throw nd.set(l,h),h}return b.createElement("meta",{httpEquiv:"refresh",content:`0;url=${f.absoluteURL||f.to}`})}}return n}function Fb({routeContext:n,match:l,children:s}){let r=b.useContext(Si);return r&&r.static&&r.staticContext&&(l.route.errorElement||l.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=l.route.id),b.createElement(Yn.Provider,{value:n},s)}function Wb(n,l=[],s){let r=s==null?void 0:s.state;if(n==null){if(!r)return null;if(r.errors)n=r.matches;else if(l.length===0&&!r.initialized&&r.matches.length>0)n=r.matches;else return null}let d=n,f=r==null?void 0:r.errors;if(f!=null){let x=d.findIndex(S=>S.route.id&&(f==null?void 0:f[S.route.id])!==void 0);nt(x>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(f).join(",")}`),d=d.slice(0,Math.min(d.length,x+1))}let h=!1,_=-1;if(s&&r){h=r.renderFallback;for(let x=0;x=0?d=d.slice(0,_+1):d=[d[0]];break}}}}let p=s==null?void 0:s.onError,g=r&&p?(x,S)=>{var w,q;p(x,{location:r.location,params:((q=(w=r.matches)==null?void 0:w[0])==null?void 0:q.params)??{},pattern:$b(r.matches),errorInfo:S})}:void 0;return d.reduceRight((x,S,w)=>{let q,C=!1,O=null,T=null;r&&(q=f&&S.route.id?f[S.route.id]:void 0,O=S.route.errorElement||Jb,h&&(_<0&&w===0?(Pg("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),C=!0,T=null):_===w&&(C=!0,T=S.route.hydrateFallbackElement||null)));let U=l.concat(d.slice(0,w+1)),J=()=>{let $;return q?$=O:C?$=T:S.route.Component?$=b.createElement(S.route.Component,null):S.route.element?$=S.route.element:$=x,b.createElement(Fb,{match:S,routeContext:{outlet:x,matches:U,isDataRoute:r!=null},children:$})};return r&&(S.route.ErrorBoundary||S.route.errorElement||w===0)?b.createElement(Wg,{location:r.location,revalidation:r.revalidation,component:O,error:q,children:J(),routeContext:{outlet:null,matches:U,isDataRoute:!0},onError:g}):J()},null)}function qd(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Pb(n){let l=b.useContext(Si);return nt(l,qd(n)),l}function e0(n){let l=b.useContext($c);return nt(l,qd(n)),l}function t0(n){let l=b.useContext(Yn);return nt(l,qd(n)),l}function Ld(n){let l=t0(n),s=l.matches[l.matches.length-1];return nt(s.route.id,`${n} can only be used on routes that contain a unique "id"`),s.route.id}function n0(){return Ld("useRouteId")}function a0(){var r;let n=b.useContext(Od),l=e0("useRouteError"),s=Ld("useRouteError");return n!==void 0?n:(r=l.errors)==null?void 0:r[s]}function l0(){let{router:n}=Pb("useNavigate"),l=Ld("useNavigate"),s=b.useRef(!1);return Ig(()=>{s.current=!0}),b.useCallback(async(d,f={})=>{pn(s.current,Jg),s.current&&(typeof d=="number"?await n.navigate(d):await n.navigate(d,{fromRouteId:l,...f}))},[n,l])}var Jp={};function Pg(n,l,s){!l&&!Jp[n]&&(Jp[n]=!0,pn(!1,s))}b.memo(i0);function i0({routes:n,manifest:l,future:s,state:r,isStatic:d,onError:f}){return Fg(n,void 0,{manifest:l,state:r,isStatic:d,onError:f})}function s0({to:n,replace:l,state:s,relative:r}){nt(xi()," may be used only in the context of a component.");let{static:d}=b.useContext(en);pn(!d," 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:f}=b.useContext(Yn),{pathname:h}=An(),_=$d(),p=Oc(n,Md(f),h,r==="path"),g=JSON.stringify(p);return b.useEffect(()=>{_(JSON.parse(g),{replace:l,state:s,relative:r})},[_,g,r,l,s]),null}function gd(n){nt(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function r0({basename:n="/",children:l=null,location:s,navigationType:r="POP",navigator:d,static:f=!1,useTransitions:h}){nt(!xi(),"You cannot render a inside another . You should never have more than one in your app.");let _=n.replace(/^\/*/,"/"),p=b.useMemo(()=>({basename:_,navigator:d,static:f,useTransitions:h,future:{}}),[_,d,f,h]);typeof s=="string"&&(s=wl(s));let{pathname:g="/",search:x="",hash:S="",state:w=null,key:q="default",mask:C}=s,O=b.useMemo(()=>{let T=fa(g,_);return T==null?null:{location:{pathname:T,search:x,hash:S,state:w,key:q,mask:C},navigationType:r}},[_,g,x,S,w,q,r,C]);return pn(O!=null,` is not able to match the URL "${g}${x}${S}" because it does not start with the basename, so the won't render anything.`),O==null?null:b.createElement(en.Provider,{value:p},b.createElement(Ys.Provider,{children:l,value:O}))}function c0({children:n,location:l}){return Zb(_d(n),l)}function _d(n,l=[]){let s=[];return b.Children.forEach(n,(r,d)=>{if(!b.isValidElement(r))return;let f=[...l,d];if(r.type===b.Fragment){s.push.apply(s,_d(r.props.children,f));return}nt(r.type===gd,`[${typeof r.type=="string"?r.type:r.type.name}] is not a component. All component children of must be a or `),nt(!r.props.index||!r.props.children,"An index route cannot have child routes.");let h={id:r.props.id||f.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,middleware:r.props.middleware,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(h.children=_d(r.props.children,f)),s.push(h)}),s}var yc="get",vc="application/x-www-form-urlencoded";function qc(n){return typeof HTMLElement<"u"&&n instanceof HTMLElement}function u0(n){return qc(n)&&n.tagName.toLowerCase()==="button"}function o0(n){return qc(n)&&n.tagName.toLowerCase()==="form"}function d0(n){return qc(n)&&n.tagName.toLowerCase()==="input"}function f0(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function m0(n,l){return n.button===0&&(!l||l==="_self")&&!f0(n)}var dc=null;function h0(){if(dc===null)try{new FormData(document.createElement("form"),0),dc=!1}catch{dc=!0}return dc}var p0=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function ad(n){return n!=null&&!p0.has(n)?(pn(!1,`"${n}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${vc}"`),null):n}function g0(n,l){let s,r,d,f,h;if(o0(n)){let _=n.getAttribute("action");r=_?fa(_,l):null,s=n.getAttribute("method")||yc,d=ad(n.getAttribute("enctype"))||vc,f=new FormData(n)}else if(u0(n)||d0(n)&&(n.type==="submit"||n.type==="image")){let _=n.form;if(_==null)throw new Error('Cannot submit a