@whispering233/ai-editor-server 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,14 +0,0 @@
1
- function AE(n,r){for(var l=0;l<r.length;l++){const a=r[l];if(typeof a!="string"&&!Array.isArray(a)){for(const u in a)if(u!=="default"&&!(u in n)){const f=Object.getOwnPropertyDescriptor(a,u);f&&Object.defineProperty(n,u,f.get?f:{enumerable:!0,get:()=>a[u]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))a(u);new MutationObserver(u=>{for(const f of u)if(f.type==="childList")for(const m of f.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&a(m)}).observe(document,{childList:!0,subtree:!0});function l(u){const f={};return u.integrity&&(f.integrity=u.integrity),u.referrerPolicy&&(f.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?f.credentials="include":u.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function a(u){if(u.ep)return;u.ep=!0;const f=l(u);fetch(u.href,f)}})();function By(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var nf={exports:{}},ma={};var Gx;function ME(){if(Gx)return ma;Gx=1;var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function l(a,u,f){var m=null;if(f!==void 0&&(m=""+f),u.key!==void 0&&(m=""+u.key),"key"in u){f={};for(var h in u)h!=="key"&&(f[h]=u[h])}else f=u;return u=f.ref,{$$typeof:n,type:a,key:m,ref:u!==void 0?u:null,props:f}}return ma.Fragment=r,ma.jsx=l,ma.jsxs=l,ma}var Xx;function DE(){return Xx||(Xx=1,nf.exports=ME()),nf.exports}var i=DE(),sf={exports:{}},nt={};var Px;function zE(){if(Px)return nt;Px=1;var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.portal"),l=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),f=Symbol.for("react.consumer"),m=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),b=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),g=Symbol.for("react.activity"),S=Symbol.iterator;function N(M){return M===null||typeof M!="object"?null:(M=S&&M[S]||M["@@iterator"],typeof M=="function"?M:null)}var T={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,k={};function E(M,z,L){this.props=M,this.context=z,this.refs=k,this.updater=L||T}E.prototype.isReactComponent={},E.prototype.setState=function(M,z){if(typeof M!="object"&&typeof M!="function"&&M!=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,M,z,"setState")},E.prototype.forceUpdate=function(M){this.updater.enqueueForceUpdate(this,M,"forceUpdate")};function j(){}j.prototype=E.prototype;function D(M,z,L){this.props=M,this.context=z,this.refs=k,this.updater=L||T}var O=D.prototype=new j;O.constructor=D,_(O,E.prototype),O.isPureReactComponent=!0;var V=Array.isArray;function R(){}var H={H:null,A:null,T:null,S:null},A=Object.prototype.hasOwnProperty;function $(M,z,L){var I=L.ref;return{$$typeof:n,type:M,key:z,ref:I!==void 0?I:null,props:L}}function se(M,z){return $(M.type,z,M.props)}function he(M){return typeof M=="object"&&M!==null&&M.$$typeof===n}function re(M){var z={"=":"=0",":":"=2"};return"$"+M.replace(/[=:]/g,function(L){return z[L]})}var F=/\/+/g;function ne(M,z){return typeof M=="object"&&M!==null&&M.key!=null?re(""+M.key):z.toString(36)}function Q(M){switch(M.status){case"fulfilled":return M.value;case"rejected":throw M.reason;default:switch(typeof M.status=="string"?M.then(R,R):(M.status="pending",M.then(function(z){M.status==="pending"&&(M.status="fulfilled",M.value=z)},function(z){M.status==="pending"&&(M.status="rejected",M.reason=z)})),M.status){case"fulfilled":return M.value;case"rejected":throw M.reason}}throw M}function C(M,z,L,I,K){var W=typeof M;(W==="undefined"||W==="boolean")&&(M=null);var Se=!1;if(M===null)Se=!0;else switch(W){case"bigint":case"string":case"number":Se=!0;break;case"object":switch(M.$$typeof){case n:case r:Se=!0;break;case v:return Se=M._init,C(Se(M._payload),z,L,I,K)}}if(Se)return K=K(M),Se=I===""?"."+ne(M,0):I,V(K)?(L="",Se!=null&&(L=Se.replace(F,"$&/")+"/"),C(K,z,L,"",function(ze){return ze})):K!=null&&(he(K)&&(K=se(K,L+(K.key==null||M&&M.key===K.key?"":(""+K.key).replace(F,"$&/")+"/")+Se)),z.push(K)),1;Se=0;var ie=I===""?".":I+":";if(V(M))for(var de=0;de<M.length;de++)I=M[de],W=ie+ne(I,de),Se+=C(I,z,L,W,K);else if(de=N(M),typeof de=="function")for(M=de.call(M),de=0;!(I=M.next()).done;)I=I.value,W=ie+ne(I,de++),Se+=C(I,z,L,W,K);else if(W==="object"){if(typeof M.then=="function")return C(Q(M),z,L,I,K);throw z=String(M),Error("Objects are not valid as a React child (found: "+(z==="[object Object]"?"object with keys {"+Object.keys(M).join(", ")+"}":z)+"). If you meant to render a collection of children, use an array instead.")}return Se}function U(M,z,L){if(M==null)return M;var I=[],K=0;return C(M,I,"","",function(W){return z.call(L,W,K++)}),I}function q(M){if(M._status===-1){var z=M._result;z=z(),z.then(function(L){(M._status===0||M._status===-1)&&(M._status=1,M._result=L)},function(L){(M._status===0||M._status===-1)&&(M._status=2,M._result=L)}),M._status===-1&&(M._status=0,M._result=z)}if(M._status===1)return M._result.default;throw M._result}var P=typeof reportError=="function"?reportError:function(M){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var z=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof M=="object"&&M!==null&&typeof M.message=="string"?String(M.message):String(M),error:M});if(!window.dispatchEvent(z))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",M);return}console.error(M)},B={map:U,forEach:function(M,z,L){U(M,function(){z.apply(this,arguments)},L)},count:function(M){var z=0;return U(M,function(){z++}),z},toArray:function(M){return U(M,function(z){return z})||[]},only:function(M){if(!he(M))throw Error("React.Children.only expected to receive a single React element child.");return M}};return nt.Activity=g,nt.Children=B,nt.Component=E,nt.Fragment=l,nt.Profiler=u,nt.PureComponent=D,nt.StrictMode=a,nt.Suspense=b,nt.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=H,nt.__COMPILER_RUNTIME={__proto__:null,c:function(M){return H.H.useMemoCache(M)}},nt.cache=function(M){return function(){return M.apply(null,arguments)}},nt.cacheSignal=function(){return null},nt.cloneElement=function(M,z,L){if(M==null)throw Error("The argument must be a React element, but you passed "+M+".");var I=_({},M.props),K=M.key;if(z!=null)for(W in z.key!==void 0&&(K=""+z.key),z)!A.call(z,W)||W==="key"||W==="__self"||W==="__source"||W==="ref"&&z.ref===void 0||(I[W]=z[W]);var W=arguments.length-2;if(W===1)I.children=L;else if(1<W){for(var Se=Array(W),ie=0;ie<W;ie++)Se[ie]=arguments[ie+2];I.children=Se}return $(M.type,K,I)},nt.createContext=function(M){return M={$$typeof:m,_currentValue:M,_currentValue2:M,_threadCount:0,Provider:null,Consumer:null},M.Provider=M,M.Consumer={$$typeof:f,_context:M},M},nt.createElement=function(M,z,L){var I,K={},W=null;if(z!=null)for(I in z.key!==void 0&&(W=""+z.key),z)A.call(z,I)&&I!=="key"&&I!=="__self"&&I!=="__source"&&(K[I]=z[I]);var Se=arguments.length-2;if(Se===1)K.children=L;else if(1<Se){for(var ie=Array(Se),de=0;de<Se;de++)ie[de]=arguments[de+2];K.children=ie}if(M&&M.defaultProps)for(I in Se=M.defaultProps,Se)K[I]===void 0&&(K[I]=Se[I]);return $(M,W,K)},nt.createRef=function(){return{current:null}},nt.forwardRef=function(M){return{$$typeof:h,render:M}},nt.isValidElement=he,nt.lazy=function(M){return{$$typeof:v,_payload:{_status:-1,_result:M},_init:q}},nt.memo=function(M,z){return{$$typeof:p,type:M,compare:z===void 0?null:z}},nt.startTransition=function(M){var z=H.T,L={};H.T=L;try{var I=M(),K=H.S;K!==null&&K(L,I),typeof I=="object"&&I!==null&&typeof I.then=="function"&&I.then(R,P)}catch(W){P(W)}finally{z!==null&&L.types!==null&&(z.types=L.types),H.T=z}},nt.unstable_useCacheRefresh=function(){return H.H.useCacheRefresh()},nt.use=function(M){return H.H.use(M)},nt.useActionState=function(M,z,L){return H.H.useActionState(M,z,L)},nt.useCallback=function(M,z){return H.H.useCallback(M,z)},nt.useContext=function(M){return H.H.useContext(M)},nt.useDebugValue=function(){},nt.useDeferredValue=function(M,z){return H.H.useDeferredValue(M,z)},nt.useEffect=function(M,z){return H.H.useEffect(M,z)},nt.useEffectEvent=function(M){return H.H.useEffectEvent(M)},nt.useId=function(){return H.H.useId()},nt.useImperativeHandle=function(M,z,L){return H.H.useImperativeHandle(M,z,L)},nt.useInsertionEffect=function(M,z){return H.H.useInsertionEffect(M,z)},nt.useLayoutEffect=function(M,z){return H.H.useLayoutEffect(M,z)},nt.useMemo=function(M,z){return H.H.useMemo(M,z)},nt.useOptimistic=function(M,z){return H.H.useOptimistic(M,z)},nt.useReducer=function(M,z,L){return H.H.useReducer(M,z,L)},nt.useRef=function(M){return H.H.useRef(M)},nt.useState=function(M){return H.H.useState(M)},nt.useSyncExternalStore=function(M,z,L){return H.H.useSyncExternalStore(M,z,L)},nt.useTransition=function(){return H.H.useTransition()},nt.version="19.2.8",nt}var Fx;function La(){return Fx||(Fx=1,sf.exports=zE()),sf.exports}var x=La();const Ne=By(x),LE=AE({__proto__:null,default:Ne},[x]);var rf={exports:{}},ha={},lf={exports:{}},of={};var Kx;function UE(){return Kx||(Kx=1,(function(n){function r(C,U){var q=C.length;C.push(U);e:for(;0<q;){var P=q-1>>>1,B=C[P];if(0<u(B,U))C[P]=U,C[q]=B,q=P;else break e}}function l(C){return C.length===0?null:C[0]}function a(C){if(C.length===0)return null;var U=C[0],q=C.pop();if(q!==U){C[0]=q;e:for(var P=0,B=C.length,M=B>>>1;P<M;){var z=2*(P+1)-1,L=C[z],I=z+1,K=C[I];if(0>u(L,q))I<B&&0>u(K,L)?(C[P]=K,C[I]=q,P=I):(C[P]=L,C[z]=q,P=z);else if(I<B&&0>u(K,q))C[P]=K,C[I]=q,P=I;else break e}}return U}function u(C,U){var q=C.sortIndex-U.sortIndex;return q!==0?q:C.id-U.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 m=Date,h=m.now();n.unstable_now=function(){return m.now()-h}}var b=[],p=[],v=1,g=null,S=3,N=!1,T=!1,_=!1,k=!1,E=typeof setTimeout=="function"?setTimeout:null,j=typeof clearTimeout=="function"?clearTimeout:null,D=typeof setImmediate<"u"?setImmediate:null;function O(C){for(var U=l(p);U!==null;){if(U.callback===null)a(p);else if(U.startTime<=C)a(p),U.sortIndex=U.expirationTime,r(b,U);else break;U=l(p)}}function V(C){if(_=!1,O(C),!T)if(l(b)!==null)T=!0,R||(R=!0,re());else{var U=l(p);U!==null&&Q(V,U.startTime-C)}}var R=!1,H=-1,A=5,$=-1;function se(){return k?!0:!(n.unstable_now()-$<A)}function he(){if(k=!1,R){var C=n.unstable_now();$=C;var U=!0;try{e:{T=!1,_&&(_=!1,j(H),H=-1),N=!0;var q=S;try{t:{for(O(C),g=l(b);g!==null&&!(g.expirationTime>C&&se());){var P=g.callback;if(typeof P=="function"){g.callback=null,S=g.priorityLevel;var B=P(g.expirationTime<=C);if(C=n.unstable_now(),typeof B=="function"){g.callback=B,O(C),U=!0;break t}g===l(b)&&a(b),O(C)}else a(b);g=l(b)}if(g!==null)U=!0;else{var M=l(p);M!==null&&Q(V,M.startTime-C),U=!1}}break e}finally{g=null,S=q,N=!1}U=void 0}}finally{U?re():R=!1}}}var re;if(typeof D=="function")re=function(){D(he)};else if(typeof MessageChannel<"u"){var F=new MessageChannel,ne=F.port2;F.port1.onmessage=he,re=function(){ne.postMessage(null)}}else re=function(){E(he,0)};function Q(C,U){H=E(function(){C(n.unstable_now())},U)}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(C){C.callback=null},n.unstable_forceFrameRate=function(C){0>C||125<C?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):A=0<C?Math.floor(1e3/C):5},n.unstable_getCurrentPriorityLevel=function(){return S},n.unstable_next=function(C){switch(S){case 1:case 2:case 3:var U=3;break;default:U=S}var q=S;S=U;try{return C()}finally{S=q}},n.unstable_requestPaint=function(){k=!0},n.unstable_runWithPriority=function(C,U){switch(C){case 1:case 2:case 3:case 4:case 5:break;default:C=3}var q=S;S=C;try{return U()}finally{S=q}},n.unstable_scheduleCallback=function(C,U,q){var P=n.unstable_now();switch(typeof q=="object"&&q!==null?(q=q.delay,q=typeof q=="number"&&0<q?P+q:P):q=P,C){case 1:var B=-1;break;case 2:B=250;break;case 5:B=1073741823;break;case 4:B=1e4;break;default:B=5e3}return B=q+B,C={id:v++,callback:U,priorityLevel:C,startTime:q,expirationTime:B,sortIndex:-1},q>P?(C.sortIndex=q,r(p,C),l(b)===null&&C===l(p)&&(_?(j(H),H=-1):_=!0,Q(V,q-P))):(C.sortIndex=B,r(b,C),T||N||(T=!0,R||(R=!0,re()))),C},n.unstable_shouldYield=se,n.unstable_wrapCallback=function(C){var U=S;return function(){var q=S;S=U;try{return C.apply(this,arguments)}finally{S=q}}}})(of)),of}var $x;function IE(){return $x||($x=1,lf.exports=UE()),lf.exports}var af={exports:{}},xn={};var Qx;function HE(){if(Qx)return xn;Qx=1;var n=La();function r(b){var p="https://react.dev/errors/"+b;if(1<arguments.length){p+="?args[]="+encodeURIComponent(arguments[1]);for(var v=2;v<arguments.length;v++)p+="&args[]="+encodeURIComponent(arguments[v])}return"Minified React error #"+b+"; visit "+p+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function l(){}var a={d:{f:l,r:function(){throw Error(r(522))},D:l,C:l,L:l,m:l,X:l,S:l,M:l},p:0,findDOMNode:null},u=Symbol.for("react.portal");function f(b,p,v){var g=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:u,key:g==null?null:""+g,children:b,containerInfo:p,implementation:v}}var m=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function h(b,p){if(b==="font")return"";if(typeof p=="string")return p==="use-credentials"?p:""}return xn.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=a,xn.createPortal=function(b,p){var v=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!p||p.nodeType!==1&&p.nodeType!==9&&p.nodeType!==11)throw Error(r(299));return f(b,p,null,v)},xn.flushSync=function(b){var p=m.T,v=a.p;try{if(m.T=null,a.p=2,b)return b()}finally{m.T=p,a.p=v,a.d.f()}},xn.preconnect=function(b,p){typeof b=="string"&&(p?(p=p.crossOrigin,p=typeof p=="string"?p==="use-credentials"?p:"":void 0):p=null,a.d.C(b,p))},xn.prefetchDNS=function(b){typeof b=="string"&&a.d.D(b)},xn.preinit=function(b,p){if(typeof b=="string"&&p&&typeof p.as=="string"){var v=p.as,g=h(v,p.crossOrigin),S=typeof p.integrity=="string"?p.integrity:void 0,N=typeof p.fetchPriority=="string"?p.fetchPriority:void 0;v==="style"?a.d.S(b,typeof p.precedence=="string"?p.precedence:void 0,{crossOrigin:g,integrity:S,fetchPriority:N}):v==="script"&&a.d.X(b,{crossOrigin:g,integrity:S,fetchPriority:N,nonce:typeof p.nonce=="string"?p.nonce:void 0})}},xn.preinitModule=function(b,p){if(typeof b=="string")if(typeof p=="object"&&p!==null){if(p.as==null||p.as==="script"){var v=h(p.as,p.crossOrigin);a.d.M(b,{crossOrigin:v,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0})}}else p==null&&a.d.M(b)},xn.preload=function(b,p){if(typeof b=="string"&&typeof p=="object"&&p!==null&&typeof p.as=="string"){var v=p.as,g=h(v,p.crossOrigin);a.d.L(b,v,{crossOrigin:g,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0,type:typeof p.type=="string"?p.type:void 0,fetchPriority:typeof p.fetchPriority=="string"?p.fetchPriority:void 0,referrerPolicy:typeof p.referrerPolicy=="string"?p.referrerPolicy:void 0,imageSrcSet:typeof p.imageSrcSet=="string"?p.imageSrcSet:void 0,imageSizes:typeof p.imageSizes=="string"?p.imageSizes:void 0,media:typeof p.media=="string"?p.media:void 0})}},xn.preloadModule=function(b,p){if(typeof b=="string")if(p){var v=h(p.as,p.crossOrigin);a.d.m(b,{as:typeof p.as=="string"&&p.as!=="script"?p.as:void 0,crossOrigin:v,integrity:typeof p.integrity=="string"?p.integrity:void 0})}else a.d.m(b)},xn.requestFormReset=function(b){a.d.r(b)},xn.unstable_batchedUpdates=function(b,p){return b(p)},xn.useFormState=function(b,p,v){return m.H.useFormState(b,p,v)},xn.useFormStatus=function(){return m.H.useHostTransitionStatus()},xn.version="19.2.8",xn}var Zx;function Yy(){if(Zx)return af.exports;Zx=1;function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(r){console.error(r)}}return n(),af.exports=HE(),af.exports}var Jx;function BE(){if(Jx)return ha;Jx=1;var n=IE(),r=La(),l=Yy();function a(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var s=2;s<arguments.length;s++)t+="&args[]="+encodeURIComponent(arguments[s])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function u(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function f(e){var t=e,s=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(s=t.return),e=t.return;while(e)}return t.tag===3?s:null}function m(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function h(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function b(e){if(f(e)!==e)throw Error(a(188))}function p(e){var t=e.alternate;if(!t){if(t=f(e),t===null)throw Error(a(188));return t!==e?null:e}for(var s=e,o=t;;){var c=s.return;if(c===null)break;var d=c.alternate;if(d===null){if(o=c.return,o!==null){s=o;continue}break}if(c.child===d.child){for(d=c.child;d;){if(d===s)return b(c),e;if(d===o)return b(c),t;d=d.sibling}throw Error(a(188))}if(s.return!==o.return)s=c,o=d;else{for(var y=!1,w=c.child;w;){if(w===s){y=!0,s=c,o=d;break}if(w===o){y=!0,o=c,s=d;break}w=w.sibling}if(!y){for(w=d.child;w;){if(w===s){y=!0,s=d,o=c;break}if(w===o){y=!0,o=d,s=c;break}w=w.sibling}if(!y)throw Error(a(189))}}if(s.alternate!==o)throw Error(a(190))}if(s.tag!==3)throw Error(a(188));return s.stateNode.current===s?e:t}function v(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=v(e),t!==null)return t;e=e.sibling}return null}var g=Object.assign,S=Symbol.for("react.element"),N=Symbol.for("react.transitional.element"),T=Symbol.for("react.portal"),_=Symbol.for("react.fragment"),k=Symbol.for("react.strict_mode"),E=Symbol.for("react.profiler"),j=Symbol.for("react.consumer"),D=Symbol.for("react.context"),O=Symbol.for("react.forward_ref"),V=Symbol.for("react.suspense"),R=Symbol.for("react.suspense_list"),H=Symbol.for("react.memo"),A=Symbol.for("react.lazy"),$=Symbol.for("react.activity"),se=Symbol.for("react.memo_cache_sentinel"),he=Symbol.iterator;function re(e){return e===null||typeof e!="object"?null:(e=he&&e[he]||e["@@iterator"],typeof e=="function"?e:null)}var F=Symbol.for("react.client.reference");function ne(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===F?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case _:return"Fragment";case E:return"Profiler";case k:return"StrictMode";case V:return"Suspense";case R:return"SuspenseList";case $:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case T:return"Portal";case D:return e.displayName||"Context";case j:return(e._context.displayName||"Context")+".Consumer";case O:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case H:return t=e.displayName||null,t!==null?t:ne(e.type)||"Memo";case A:t=e._payload,e=e._init;try{return ne(e(t))}catch{}}return null}var Q=Array.isArray,C=r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,U=l.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,q={pending:!1,data:null,method:null,action:null},P=[],B=-1;function M(e){return{current:e}}function z(e){0>B||(e.current=P[B],P[B]=null,B--)}function L(e,t){B++,P[B]=e.current,e.current=t}var I=M(null),K=M(null),W=M(null),Se=M(null);function ie(e,t){switch(L(W,t),L(K,e),L(I,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?mx(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=mx(t),e=hx(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}z(I),L(I,e)}function de(){z(I),z(K),z(W)}function ze(e){e.memoizedState!==null&&L(Se,e);var t=I.current,s=hx(t,e.type);t!==s&&(L(K,e),L(I,s))}function Ge(e){K.current===e&&(z(I),z(K)),Se.current===e&&(z(Se),ca._currentValue=q)}var Ee,ke;function Ae(e){if(Ee===void 0)try{throw Error()}catch(s){var t=s.stack.trim().match(/\n( *(at )?)/);Ee=t&&t[1]||"",ke=-1<s.stack.indexOf(`
2
- at`)?" (<anonymous>)":-1<s.stack.indexOf("@")?"@unknown:0:0":""}return`
3
- `+Ee+e+ke}var pe=!1;function Me(e,t){if(!e||pe)return"";pe=!0;var s=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var o={DetermineComponentFrameRoot:function(){try{if(t){var xe=function(){throw Error()};if(Object.defineProperty(xe.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(xe,[])}catch(ae){var oe=ae}Reflect.construct(e,[],xe)}else{try{xe.call()}catch(ae){oe=ae}e.call(xe.prototype)}}else{try{throw Error()}catch(ae){oe=ae}(xe=e())&&typeof xe.catch=="function"&&xe.catch(function(){})}}catch(ae){if(ae&&oe&&typeof ae.stack=="string")return[ae.stack,oe.stack]}return[null,null]}};o.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var c=Object.getOwnPropertyDescriptor(o.DetermineComponentFrameRoot,"name");c&&c.configurable&&Object.defineProperty(o.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var d=o.DetermineComponentFrameRoot(),y=d[0],w=d[1];if(y&&w){var Y=y.split(`
4
- `),te=w.split(`
5
- `);for(c=o=0;o<Y.length&&!Y[o].includes("DetermineComponentFrameRoot");)o++;for(;c<te.length&&!te[c].includes("DetermineComponentFrameRoot");)c++;if(o===Y.length||c===te.length)for(o=Y.length-1,c=te.length-1;1<=o&&0<=c&&Y[o]!==te[c];)c--;for(;1<=o&&0<=c;o--,c--)if(Y[o]!==te[c]){if(o!==1||c!==1)do if(o--,c--,0>c||Y[o]!==te[c]){var fe=`
6
- `+Y[o].replace(" at new "," at ");return e.displayName&&fe.includes("<anonymous>")&&(fe=fe.replace("<anonymous>",e.displayName)),fe}while(1<=o&&0<=c);break}}}finally{pe=!1,Error.prepareStackTrace=s}return(s=e?e.displayName||e.name:"")?Ae(s):""}function we(e,t){switch(e.tag){case 26:case 27:case 5:return Ae(e.type);case 16:return Ae("Lazy");case 13:return e.child!==t&&t!==null?Ae("Suspense Fallback"):Ae("Suspense");case 19:return Ae("SuspenseList");case 0:case 15:return Me(e.type,!1);case 11:return Me(e.type.render,!1);case 1:return Me(e.type,!0);case 31:return Ae("Activity");default:return""}}function He(e){try{var t="",s=null;do t+=we(e,s),s=e,e=e.return;while(e);return t}catch(o){return`
7
- Error generating stack: `+o.message+`
8
- `+o.stack}}var ge=Object.prototype.hasOwnProperty,Oe=n.unstable_scheduleCallback,_e=n.unstable_cancelCallback,Re=n.unstable_shouldYield,ft=n.unstable_requestPaint,ce=n.unstable_now,G=n.unstable_getCurrentPriorityLevel,ue=n.unstable_ImmediatePriority,Z=n.unstable_UserBlockingPriority,ye=n.unstable_NormalPriority,Ve=n.unstable_LowPriority,be=n.unstable_IdlePriority,Te=n.log,Xe=n.unstable_setDisableYieldValue,We=null,le=null;function je(e){if(typeof Te=="function"&&Xe(e),le&&typeof le.setStrictMode=="function")try{le.setStrictMode(We,e)}catch{}}var Ce=Math.clz32?Math.clz32:De,xt=Math.log,pt=Math.LN2;function De(e){return e>>>=0,e===0?32:31-(xt(e)/pt|0)|0}var bt=256,Kt=262144,$t=4194304;function Qt(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 Pe(e,t,s){var o=e.pendingLanes;if(o===0)return 0;var c=0,d=e.suspendedLanes,y=e.pingedLanes;e=e.warmLanes;var w=o&134217727;return w!==0?(o=w&~d,o!==0?c=Qt(o):(y&=w,y!==0?c=Qt(y):s||(s=w&~e,s!==0&&(c=Qt(s))))):(w=o&~d,w!==0?c=Qt(w):y!==0?c=Qt(y):s||(s=o&~e,s!==0&&(c=Qt(s)))),c===0?0:t!==0&&t!==c&&(t&d)===0&&(d=c&-c,s=t&-t,d>=s||d===32&&(s&4194048)!==0)?t:c}function St(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function zt(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 Gt(){var e=$t;return $t<<=1,($t&62914560)===0&&($t=4194304),e}function Gn(e){for(var t=[],s=0;31>s;s++)t.push(e);return t}function Mt(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function ln(e,t,s,o,c,d){var y=e.pendingLanes;e.pendingLanes=s,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=s,e.entangledLanes&=s,e.errorRecoveryDisabledLanes&=s,e.shellSuspendCounter=0;var w=e.entanglements,Y=e.expirationTimes,te=e.hiddenUpdates;for(s=y&~s;0<s;){var fe=31-Ce(s),xe=1<<fe;w[fe]=0,Y[fe]=-1;var oe=te[fe];if(oe!==null)for(te[fe]=null,fe=0;fe<oe.length;fe++){var ae=oe[fe];ae!==null&&(ae.lane&=-536870913)}s&=~xe}o!==0&&Cs(e,o,0),d!==0&&c===0&&e.tag!==0&&(e.suspendedLanes|=d&~(y&~t))}function Cs(e,t,s){e.pendingLanes|=t,e.suspendedLanes&=~t;var o=31-Ce(t);e.entangledLanes|=t,e.entanglements[o]=e.entanglements[o]|1073741824|s&261930}function on(e,t){var s=e.entangledLanes|=t;for(e=e.entanglements;s;){var o=31-Ce(s),c=1<<o;c&t|e[o]&t&&(e[o]|=t),s&=~c}}function dn(e,t){var s=t&-t;return s=(s&42)!==0?1:tr(s),(s&(e.suspendedLanes|t))!==0?0:s}function tr(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;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:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function Mn(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Os(){var e=U.p;return e!==0?e:(e=window.event,e===void 0?32:Ux(e.type))}function Ia(e,t){var s=U.p;try{return U.p=e,t()}finally{U.p=s}}var cs=Math.random().toString(36).slice(2),tn="__reactFiber$"+cs,En="__reactProps$"+cs,vl="__reactContainer$"+cs,Fc="__reactEvents$"+cs,S1="__reactListeners$"+cs,E1="__reactHandles$"+cs,eh="__reactResources$"+cs,To="__reactMarker$"+cs;function Kc(e){delete e[tn],delete e[En],delete e[Fc],delete e[S1],delete e[E1]}function Sl(e){var t=e[tn];if(t)return t;for(var s=e.parentNode;s;){if(t=s[vl]||s[tn]){if(s=t.alternate,t.child!==null||s!==null&&s.child!==null)for(e=Sx(e);e!==null;){if(s=e[tn])return s;e=Sx(e)}return t}e=s,s=e.parentNode}return null}function El(e){if(e=e[tn]||e[vl]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function wo(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(a(33))}function Nl(e){var t=e[eh];return t||(t=e[eh]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function an(e){e[To]=!0}var th=new Set,nh={};function Hr(e,t){Tl(e,t),Tl(e+"Capture",t)}function Tl(e,t){for(nh[e]=t,e=0;e<t.length;e++)th.add(t[e])}var N1=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),sh={},rh={};function T1(e){return ge.call(rh,e)?!0:ge.call(sh,e)?!1:N1.test(e)?rh[e]=!0:(sh[e]=!0,!1)}function Ha(e,t,s){if(T1(t))if(s===null)e.removeAttribute(t);else{switch(typeof s){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var o=t.toLowerCase().slice(0,5);if(o!=="data-"&&o!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+s)}}function Ba(e,t,s){if(s===null)e.removeAttribute(t);else{switch(typeof s){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+s)}}function Rs(e,t,s,o){if(o===null)e.removeAttribute(s);else{switch(typeof o){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(s);return}e.setAttributeNS(t,s,""+o)}}function Xn(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function lh(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function w1(e,t,s){var o=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof o<"u"&&typeof o.get=="function"&&typeof o.set=="function"){var c=o.get,d=o.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return c.call(this)},set:function(y){s=""+y,d.call(this,y)}}),Object.defineProperty(e,t,{enumerable:o.enumerable}),{getValue:function(){return s},setValue:function(y){s=""+y},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function $c(e){if(!e._valueTracker){var t=lh(e)?"checked":"value";e._valueTracker=w1(e,t,""+e[t])}}function oh(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var s=t.getValue(),o="";return e&&(o=lh(e)?e.checked?"true":"false":e.value),e=o,e!==s?(t.setValue(e),!0):!1}function Ya(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var j1=/[\n"\\]/g;function Pn(e){return e.replace(j1,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Qc(e,t,s,o,c,d,y,w){e.name="",y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"?e.type=y:e.removeAttribute("type"),t!=null?y==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Xn(t)):e.value!==""+Xn(t)&&(e.value=""+Xn(t)):y!=="submit"&&y!=="reset"||e.removeAttribute("value"),t!=null?Zc(e,y,Xn(t)):s!=null?Zc(e,y,Xn(s)):o!=null&&e.removeAttribute("value"),c==null&&d!=null&&(e.defaultChecked=!!d),c!=null&&(e.checked=c&&typeof c!="function"&&typeof c!="symbol"),w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"?e.name=""+Xn(w):e.removeAttribute("name")}function ah(e,t,s,o,c,d,y,w){if(d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"&&(e.type=d),t!=null||s!=null){if(!(d!=="submit"&&d!=="reset"||t!=null)){$c(e);return}s=s!=null?""+Xn(s):"",t=t!=null?""+Xn(t):s,w||t===e.value||(e.value=t),e.defaultValue=t}o=o??c,o=typeof o!="function"&&typeof o!="symbol"&&!!o,e.checked=w?e.checked:!!o,e.defaultChecked=!!o,y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"&&(e.name=y),$c(e)}function Zc(e,t,s){t==="number"&&Ya(e.ownerDocument)===e||e.defaultValue===""+s||(e.defaultValue=""+s)}function wl(e,t,s,o){if(e=e.options,t){t={};for(var c=0;c<s.length;c++)t["$"+s[c]]=!0;for(s=0;s<e.length;s++)c=t.hasOwnProperty("$"+e[s].value),e[s].selected!==c&&(e[s].selected=c),c&&o&&(e[s].defaultSelected=!0)}else{for(s=""+Xn(s),t=null,c=0;c<e.length;c++){if(e[c].value===s){e[c].selected=!0,o&&(e[c].defaultSelected=!0);return}t!==null||e[c].disabled||(t=e[c])}t!==null&&(t.selected=!0)}}function ih(e,t,s){if(t!=null&&(t=""+Xn(t),t!==e.value&&(e.value=t),s==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=s!=null?""+Xn(s):""}function ch(e,t,s,o){if(t==null){if(o!=null){if(s!=null)throw Error(a(92));if(Q(o)){if(1<o.length)throw Error(a(93));o=o[0]}s=o}s==null&&(s=""),t=s}s=Xn(t),e.defaultValue=s,o=e.textContent,o===s&&o!==""&&o!==null&&(e.value=o),$c(e)}function jl(e,t){if(t){var s=e.firstChild;if(s&&s===e.lastChild&&s.nodeType===3){s.nodeValue=t;return}}e.textContent=t}var C1=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function uh(e,t,s){var o=t.indexOf("--")===0;s==null||typeof s=="boolean"||s===""?o?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":o?e.setProperty(t,s):typeof s!="number"||s===0||C1.has(t)?t==="float"?e.cssFloat=s:e[t]=(""+s).trim():e[t]=s+"px"}function dh(e,t,s){if(t!=null&&typeof t!="object")throw Error(a(62));if(e=e.style,s!=null){for(var o in s)!s.hasOwnProperty(o)||t!=null&&t.hasOwnProperty(o)||(o.indexOf("--")===0?e.setProperty(o,""):o==="float"?e.cssFloat="":e[o]="");for(var c in t)o=t[c],t.hasOwnProperty(c)&&s[c]!==o&&uh(e,c,o)}else for(var d in t)t.hasOwnProperty(d)&&uh(e,d,t[d])}function Jc(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var O1=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),R1=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Va(e){return R1.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function ks(){}var Wc=null;function eu(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Cl=null,Ol=null;function fh(e){var t=El(e);if(t&&(e=t.stateNode)){var s=e[En]||null;e:switch(e=t.stateNode,t.type){case"input":if(Qc(e,s.value,s.defaultValue,s.defaultValue,s.checked,s.defaultChecked,s.type,s.name),t=s.name,s.type==="radio"&&t!=null){for(s=e;s.parentNode;)s=s.parentNode;for(s=s.querySelectorAll('input[name="'+Pn(""+t)+'"][type="radio"]'),t=0;t<s.length;t++){var o=s[t];if(o!==e&&o.form===e.form){var c=o[En]||null;if(!c)throw Error(a(90));Qc(o,c.value,c.defaultValue,c.defaultValue,c.checked,c.defaultChecked,c.type,c.name)}}for(t=0;t<s.length;t++)o=s[t],o.form===e.form&&oh(o)}break e;case"textarea":ih(e,s.value,s.defaultValue);break e;case"select":t=s.value,t!=null&&wl(e,!!s.multiple,t,!1)}}}var tu=!1;function mh(e,t,s){if(tu)return e(t,s);tu=!0;try{var o=e(t);return o}finally{if(tu=!1,(Cl!==null||Ol!==null)&&(Ri(),Cl&&(t=Cl,e=Ol,Ol=Cl=null,fh(t),e)))for(t=0;t<e.length;t++)fh(e[t])}}function jo(e,t){var s=e.stateNode;if(s===null)return null;var o=s[En]||null;if(o===null)return null;s=o[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(o=!o.disabled)||(e=e.type,o=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!o;break e;default:e=!1}if(e)return null;if(s&&typeof s!="function")throw Error(a(231,t,typeof s));return s}var _s=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),nu=!1;if(_s)try{var Co={};Object.defineProperty(Co,"passive",{get:function(){nu=!0}}),window.addEventListener("test",Co,Co),window.removeEventListener("test",Co,Co)}catch{nu=!1}var nr=null,su=null,qa=null;function hh(){if(qa)return qa;var e,t=su,s=t.length,o,c="value"in nr?nr.value:nr.textContent,d=c.length;for(e=0;e<s&&t[e]===c[e];e++);var y=s-e;for(o=1;o<=y&&t[s-o]===c[d-o];o++);return qa=c.slice(e,1<o?1-o:void 0)}function Ga(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Xa(){return!0}function ph(){return!1}function Nn(e){function t(s,o,c,d,y){this._reactName=s,this._targetInst=c,this.type=o,this.nativeEvent=d,this.target=y,this.currentTarget=null;for(var w in e)e.hasOwnProperty(w)&&(s=e[w],this[w]=s?s(d):d[w]);return this.isDefaultPrevented=(d.defaultPrevented!=null?d.defaultPrevented:d.returnValue===!1)?Xa:ph,this.isPropagationStopped=ph,this}return g(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var s=this.nativeEvent;s&&(s.preventDefault?s.preventDefault():typeof s.returnValue!="unknown"&&(s.returnValue=!1),this.isDefaultPrevented=Xa)},stopPropagation:function(){var s=this.nativeEvent;s&&(s.stopPropagation?s.stopPropagation():typeof s.cancelBubble!="unknown"&&(s.cancelBubble=!0),this.isPropagationStopped=Xa)},persist:function(){},isPersistent:Xa}),t}var Br={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Pa=Nn(Br),Oo=g({},Br,{view:0,detail:0}),k1=Nn(Oo),ru,lu,Ro,Fa=g({},Oo,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:au,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Ro&&(Ro&&e.type==="mousemove"?(ru=e.screenX-Ro.screenX,lu=e.screenY-Ro.screenY):lu=ru=0,Ro=e),ru)},movementY:function(e){return"movementY"in e?e.movementY:lu}}),gh=Nn(Fa),_1=g({},Fa,{dataTransfer:0}),A1=Nn(_1),M1=g({},Oo,{relatedTarget:0}),ou=Nn(M1),D1=g({},Br,{animationName:0,elapsedTime:0,pseudoElement:0}),z1=Nn(D1),L1=g({},Br,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),U1=Nn(L1),I1=g({},Br,{data:0}),xh=Nn(I1),H1={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},B1={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Y1={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function V1(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Y1[e])?!!t[e]:!1}function au(){return V1}var q1=g({},Oo,{key:function(e){if(e.key){var t=H1[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Ga(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?B1[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:au,charCode:function(e){return e.type==="keypress"?Ga(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Ga(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),G1=Nn(q1),X1=g({},Fa,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),bh=Nn(X1),P1=g({},Oo,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:au}),F1=Nn(P1),K1=g({},Br,{propertyName:0,elapsedTime:0,pseudoElement:0}),$1=Nn(K1),Q1=g({},Fa,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Z1=Nn(Q1),J1=g({},Br,{newState:0,oldState:0}),W1=Nn(J1),eS=[9,13,27,32],iu=_s&&"CompositionEvent"in window,ko=null;_s&&"documentMode"in document&&(ko=document.documentMode);var tS=_s&&"TextEvent"in window&&!ko,yh=_s&&(!iu||ko&&8<ko&&11>=ko),vh=" ",Sh=!1;function Eh(e,t){switch(e){case"keyup":return eS.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Nh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Rl=!1;function nS(e,t){switch(e){case"compositionend":return Nh(t);case"keypress":return t.which!==32?null:(Sh=!0,vh);case"textInput":return e=t.data,e===vh&&Sh?null:e;default:return null}}function sS(e,t){if(Rl)return e==="compositionend"||!iu&&Eh(e,t)?(e=hh(),qa=su=nr=null,Rl=!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.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return yh&&t.locale!=="ko"?null:t.data;default:return null}}var rS={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Th(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!rS[e.type]:t==="textarea"}function wh(e,t,s,o){Cl?Ol?Ol.push(o):Ol=[o]:Cl=o,t=Li(t,"onChange"),0<t.length&&(s=new Pa("onChange","change",null,s,o),e.push({event:s,listeners:t}))}var _o=null,Ao=null;function lS(e){ax(e,0)}function Ka(e){var t=wo(e);if(oh(t))return e}function jh(e,t){if(e==="change")return t}var Ch=!1;if(_s){var cu;if(_s){var uu="oninput"in document;if(!uu){var Oh=document.createElement("div");Oh.setAttribute("oninput","return;"),uu=typeof Oh.oninput=="function"}cu=uu}else cu=!1;Ch=cu&&(!document.documentMode||9<document.documentMode)}function Rh(){_o&&(_o.detachEvent("onpropertychange",kh),Ao=_o=null)}function kh(e){if(e.propertyName==="value"&&Ka(Ao)){var t=[];wh(t,Ao,e,eu(e)),mh(lS,t)}}function oS(e,t,s){e==="focusin"?(Rh(),_o=t,Ao=s,_o.attachEvent("onpropertychange",kh)):e==="focusout"&&Rh()}function aS(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Ka(Ao)}function iS(e,t){if(e==="click")return Ka(t)}function cS(e,t){if(e==="input"||e==="change")return Ka(t)}function uS(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Dn=typeof Object.is=="function"?Object.is:uS;function Mo(e,t){if(Dn(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var s=Object.keys(e),o=Object.keys(t);if(s.length!==o.length)return!1;for(o=0;o<s.length;o++){var c=s[o];if(!ge.call(t,c)||!Dn(e[c],t[c]))return!1}return!0}function _h(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Ah(e,t){var s=_h(e);e=0;for(var o;s;){if(s.nodeType===3){if(o=e+s.textContent.length,e<=t&&o>=t)return{node:s,offset:t-e};e=o}e:{for(;s;){if(s.nextSibling){s=s.nextSibling;break e}s=s.parentNode}s=void 0}s=_h(s)}}function Mh(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Mh(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Dh(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ya(e.document);t instanceof e.HTMLIFrameElement;){try{var s=typeof t.contentWindow.location.href=="string"}catch{s=!1}if(s)e=t.contentWindow;else break;t=Ya(e.document)}return t}function du(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 dS=_s&&"documentMode"in document&&11>=document.documentMode,kl=null,fu=null,Do=null,mu=!1;function zh(e,t,s){var o=s.window===s?s.document:s.nodeType===9?s:s.ownerDocument;mu||kl==null||kl!==Ya(o)||(o=kl,"selectionStart"in o&&du(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),Do&&Mo(Do,o)||(Do=o,o=Li(fu,"onSelect"),0<o.length&&(t=new Pa("onSelect","select",null,t,s),e.push({event:t,listeners:o}),t.target=kl)))}function Yr(e,t){var s={};return s[e.toLowerCase()]=t.toLowerCase(),s["Webkit"+e]="webkit"+t,s["Moz"+e]="moz"+t,s}var _l={animationend:Yr("Animation","AnimationEnd"),animationiteration:Yr("Animation","AnimationIteration"),animationstart:Yr("Animation","AnimationStart"),transitionrun:Yr("Transition","TransitionRun"),transitionstart:Yr("Transition","TransitionStart"),transitioncancel:Yr("Transition","TransitionCancel"),transitionend:Yr("Transition","TransitionEnd")},hu={},Lh={};_s&&(Lh=document.createElement("div").style,"AnimationEvent"in window||(delete _l.animationend.animation,delete _l.animationiteration.animation,delete _l.animationstart.animation),"TransitionEvent"in window||delete _l.transitionend.transition);function Vr(e){if(hu[e])return hu[e];if(!_l[e])return e;var t=_l[e],s;for(s in t)if(t.hasOwnProperty(s)&&s in Lh)return hu[e]=t[s];return e}var Uh=Vr("animationend"),Ih=Vr("animationiteration"),Hh=Vr("animationstart"),fS=Vr("transitionrun"),mS=Vr("transitionstart"),hS=Vr("transitioncancel"),Bh=Vr("transitionend"),Yh=new Map,pu="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");pu.push("scrollEnd");function ls(e,t){Yh.set(e,t),Hr(t,[e])}var $a=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Fn=[],Al=0,gu=0;function Qa(){for(var e=Al,t=gu=Al=0;t<e;){var s=Fn[t];Fn[t++]=null;var o=Fn[t];Fn[t++]=null;var c=Fn[t];Fn[t++]=null;var d=Fn[t];if(Fn[t++]=null,o!==null&&c!==null){var y=o.pending;y===null?c.next=c:(c.next=y.next,y.next=c),o.pending=c}d!==0&&Vh(s,c,d)}}function Za(e,t,s,o){Fn[Al++]=e,Fn[Al++]=t,Fn[Al++]=s,Fn[Al++]=o,gu|=o,e.lanes|=o,e=e.alternate,e!==null&&(e.lanes|=o)}function xu(e,t,s,o){return Za(e,t,s,o),Ja(e)}function qr(e,t){return Za(e,null,null,t),Ja(e)}function Vh(e,t,s){e.lanes|=s;var o=e.alternate;o!==null&&(o.lanes|=s);for(var c=!1,d=e.return;d!==null;)d.childLanes|=s,o=d.alternate,o!==null&&(o.childLanes|=s),d.tag===22&&(e=d.stateNode,e===null||e._visibility&1||(c=!0)),e=d,d=d.return;return e.tag===3?(d=e.stateNode,c&&t!==null&&(c=31-Ce(s),e=d.hiddenUpdates,o=e[c],o===null?e[c]=[t]:o.push(t),t.lane=s|536870912),d):null}function Ja(e){if(50<na)throw na=0,jd=null,Error(a(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Ml={};function pS(e,t,s,o){this.tag=e,this.key=s,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=o,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function zn(e,t,s,o){return new pS(e,t,s,o)}function bu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function As(e,t){var s=e.alternate;return s===null?(s=zn(e.tag,t,e.key,e.mode),s.elementType=e.elementType,s.type=e.type,s.stateNode=e.stateNode,s.alternate=e,e.alternate=s):(s.pendingProps=t,s.type=e.type,s.flags=0,s.subtreeFlags=0,s.deletions=null),s.flags=e.flags&65011712,s.childLanes=e.childLanes,s.lanes=e.lanes,s.child=e.child,s.memoizedProps=e.memoizedProps,s.memoizedState=e.memoizedState,s.updateQueue=e.updateQueue,t=e.dependencies,s.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},s.sibling=e.sibling,s.index=e.index,s.ref=e.ref,s.refCleanup=e.refCleanup,s}function qh(e,t){e.flags&=65011714;var s=e.alternate;return s===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=s.childLanes,e.lanes=s.lanes,e.child=s.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=s.memoizedProps,e.memoizedState=s.memoizedState,e.updateQueue=s.updateQueue,e.type=s.type,t=s.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Wa(e,t,s,o,c,d){var y=0;if(o=e,typeof e=="function")bu(e)&&(y=1);else if(typeof e=="string")y=vE(e,s,I.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case $:return e=zn(31,s,t,c),e.elementType=$,e.lanes=d,e;case _:return Gr(s.children,c,d,t);case k:y=8,c|=24;break;case E:return e=zn(12,s,t,c|2),e.elementType=E,e.lanes=d,e;case V:return e=zn(13,s,t,c),e.elementType=V,e.lanes=d,e;case R:return e=zn(19,s,t,c),e.elementType=R,e.lanes=d,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case D:y=10;break e;case j:y=9;break e;case O:y=11;break e;case H:y=14;break e;case A:y=16,o=null;break e}y=29,s=Error(a(130,e===null?"null":typeof e,"")),o=null}return t=zn(y,s,t,c),t.elementType=e,t.type=o,t.lanes=d,t}function Gr(e,t,s,o){return e=zn(7,e,o,t),e.lanes=s,e}function yu(e,t,s){return e=zn(6,e,null,t),e.lanes=s,e}function Gh(e){var t=zn(18,null,null,0);return t.stateNode=e,t}function vu(e,t,s){return t=zn(4,e.children!==null?e.children:[],e.key,t),t.lanes=s,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Xh=new WeakMap;function Kn(e,t){if(typeof e=="object"&&e!==null){var s=Xh.get(e);return s!==void 0?s:(t={value:e,source:t,stack:He(t)},Xh.set(e,t),t)}return{value:e,source:t,stack:He(t)}}var Dl=[],zl=0,ei=null,zo=0,$n=[],Qn=0,sr=null,us=1,ds="";function Ms(e,t){Dl[zl++]=zo,Dl[zl++]=ei,ei=e,zo=t}function Ph(e,t,s){$n[Qn++]=us,$n[Qn++]=ds,$n[Qn++]=sr,sr=e;var o=us;e=ds;var c=32-Ce(o)-1;o&=~(1<<c),s+=1;var d=32-Ce(t)+c;if(30<d){var y=c-c%5;d=(o&(1<<y)-1).toString(32),o>>=y,c-=y,us=1<<32-Ce(t)+c|s<<c|o,ds=d+e}else us=1<<d|s<<c|o,ds=e}function Su(e){e.return!==null&&(Ms(e,1),Ph(e,1,0))}function Eu(e){for(;e===ei;)ei=Dl[--zl],Dl[zl]=null,zo=Dl[--zl],Dl[zl]=null;for(;e===sr;)sr=$n[--Qn],$n[Qn]=null,ds=$n[--Qn],$n[Qn]=null,us=$n[--Qn],$n[Qn]=null}function Fh(e,t){$n[Qn++]=us,$n[Qn++]=ds,$n[Qn++]=sr,us=t.id,ds=t.overflow,sr=e}var fn=null,Lt=null,mt=!1,rr=null,Zn=!1,Nu=Error(a(519));function lr(e){var t=Error(a(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Lo(Kn(t,e)),Nu}function Kh(e){var t=e.stateNode,s=e.type,o=e.memoizedProps;switch(t[tn]=e,t[En]=o,s){case"dialog":at("cancel",t),at("close",t);break;case"iframe":case"object":case"embed":at("load",t);break;case"video":case"audio":for(s=0;s<ra.length;s++)at(ra[s],t);break;case"source":at("error",t);break;case"img":case"image":case"link":at("error",t),at("load",t);break;case"details":at("toggle",t);break;case"input":at("invalid",t),ah(t,o.value,o.defaultValue,o.checked,o.defaultChecked,o.type,o.name,!0);break;case"select":at("invalid",t);break;case"textarea":at("invalid",t),ch(t,o.value,o.defaultValue,o.children)}s=o.children,typeof s!="string"&&typeof s!="number"&&typeof s!="bigint"||t.textContent===""+s||o.suppressHydrationWarning===!0||dx(t.textContent,s)?(o.popover!=null&&(at("beforetoggle",t),at("toggle",t)),o.onScroll!=null&&at("scroll",t),o.onScrollEnd!=null&&at("scrollend",t),o.onClick!=null&&(t.onclick=ks),t=!0):t=!1,t||lr(e,!0)}function $h(e){for(fn=e.return;fn;)switch(fn.tag){case 5:case 31:case 13:Zn=!1;return;case 27:case 3:Zn=!0;return;default:fn=fn.return}}function Ll(e){if(e!==fn)return!1;if(!mt)return $h(e),mt=!0,!1;var t=e.tag,s;if((s=t!==3&&t!==27)&&((s=t===5)&&(s=e.type,s=!(s!=="form"&&s!=="button")||Yd(e.type,e.memoizedProps)),s=!s),s&&Lt&&lr(e),$h(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(a(317));Lt=vx(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(a(317));Lt=vx(e)}else t===27?(t=Lt,yr(e.type)?(e=Pd,Pd=null,Lt=e):Lt=t):Lt=fn?Wn(e.stateNode.nextSibling):null;return!0}function Xr(){Lt=fn=null,mt=!1}function Tu(){var e=rr;return e!==null&&(Cn===null?Cn=e:Cn.push.apply(Cn,e),rr=null),e}function Lo(e){rr===null?rr=[e]:rr.push(e)}var wu=M(null),Pr=null,Ds=null;function or(e,t,s){L(wu,t._currentValue),t._currentValue=s}function zs(e){e._currentValue=wu.current,z(wu)}function ju(e,t,s){for(;e!==null;){var o=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,o!==null&&(o.childLanes|=t)):o!==null&&(o.childLanes&t)!==t&&(o.childLanes|=t),e===s)break;e=e.return}}function Cu(e,t,s,o){var c=e.child;for(c!==null&&(c.return=e);c!==null;){var d=c.dependencies;if(d!==null){var y=c.child;d=d.firstContext;e:for(;d!==null;){var w=d;d=c;for(var Y=0;Y<t.length;Y++)if(w.context===t[Y]){d.lanes|=s,w=d.alternate,w!==null&&(w.lanes|=s),ju(d.return,s,e),o||(y=null);break e}d=w.next}}else if(c.tag===18){if(y=c.return,y===null)throw Error(a(341));y.lanes|=s,d=y.alternate,d!==null&&(d.lanes|=s),ju(y,s,e),y=null}else y=c.child;if(y!==null)y.return=c;else for(y=c;y!==null;){if(y===e){y=null;break}if(c=y.sibling,c!==null){c.return=y.return,y=c;break}y=y.return}c=y}}function Ul(e,t,s,o){e=null;for(var c=t,d=!1;c!==null;){if(!d){if((c.flags&524288)!==0)d=!0;else if((c.flags&262144)!==0)break}if(c.tag===10){var y=c.alternate;if(y===null)throw Error(a(387));if(y=y.memoizedProps,y!==null){var w=c.type;Dn(c.pendingProps.value,y.value)||(e!==null?e.push(w):e=[w])}}else if(c===Se.current){if(y=c.alternate,y===null)throw Error(a(387));y.memoizedState.memoizedState!==c.memoizedState.memoizedState&&(e!==null?e.push(ca):e=[ca])}c=c.return}e!==null&&Cu(t,e,s,o),t.flags|=262144}function ti(e){for(e=e.firstContext;e!==null;){if(!Dn(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Fr(e){Pr=e,Ds=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function mn(e){return Qh(Pr,e)}function ni(e,t){return Pr===null&&Fr(e),Qh(e,t)}function Qh(e,t){var s=t._currentValue;if(t={context:t,memoizedValue:s,next:null},Ds===null){if(e===null)throw Error(a(308));Ds=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Ds=Ds.next=t;return s}var gS=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(s,o){e.push(o)}};this.abort=function(){t.aborted=!0,e.forEach(function(s){return s()})}},xS=n.unstable_scheduleCallback,bS=n.unstable_NormalPriority,Zt={$$typeof:D,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Ou(){return{controller:new gS,data:new Map,refCount:0}}function Uo(e){e.refCount--,e.refCount===0&&xS(bS,function(){e.controller.abort()})}var Io=null,Ru=0,Il=0,Hl=null;function yS(e,t){if(Io===null){var s=Io=[];Ru=0,Il=Ad(),Hl={status:"pending",value:void 0,then:function(o){s.push(o)}}}return Ru++,t.then(Zh,Zh),t}function Zh(){if(--Ru===0&&Io!==null){Hl!==null&&(Hl.status="fulfilled");var e=Io;Io=null,Il=0,Hl=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function vS(e,t){var s=[],o={status:"pending",value:null,reason:null,then:function(c){s.push(c)}};return e.then(function(){o.status="fulfilled",o.value=t;for(var c=0;c<s.length;c++)(0,s[c])(t)},function(c){for(o.status="rejected",o.reason=c,c=0;c<s.length;c++)(0,s[c])(void 0)}),o}var Jh=C.S;C.S=function(e,t){zg=ce(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&yS(e,t),Jh!==null&&Jh(e,t)};var Kr=M(null);function ku(){var e=Kr.current;return e!==null?e:Dt.pooledCache}function si(e,t){t===null?L(Kr,Kr.current):L(Kr,t.pool)}function Wh(){var e=ku();return e===null?null:{parent:Zt._currentValue,pool:e}}var Bl=Error(a(460)),_u=Error(a(474)),ri=Error(a(542)),li={then:function(){}};function ep(e){return e=e.status,e==="fulfilled"||e==="rejected"}function tp(e,t,s){switch(s=e[s],s===void 0?e.push(t):s!==t&&(t.then(ks,ks),t=s),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,sp(e),e;default:if(typeof t.status=="string")t.then(ks,ks);else{if(e=Dt,e!==null&&100<e.shellSuspendCounter)throw Error(a(482));e=t,e.status="pending",e.then(function(o){if(t.status==="pending"){var c=t;c.status="fulfilled",c.value=o}},function(o){if(t.status==="pending"){var c=t;c.status="rejected",c.reason=o}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,sp(e),e}throw Qr=t,Bl}}function $r(e){try{var t=e._init;return t(e._payload)}catch(s){throw s!==null&&typeof s=="object"&&typeof s.then=="function"?(Qr=s,Bl):s}}var Qr=null;function np(){if(Qr===null)throw Error(a(459));var e=Qr;return Qr=null,e}function sp(e){if(e===Bl||e===ri)throw Error(a(483))}var Yl=null,Ho=0;function oi(e){var t=Ho;return Ho+=1,Yl===null&&(Yl=[]),tp(Yl,e,t)}function Bo(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function ai(e,t){throw t.$$typeof===S?Error(a(525)):(e=Object.prototype.toString.call(t),Error(a(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function rp(e){function t(J,X){if(e){var ee=J.deletions;ee===null?(J.deletions=[X],J.flags|=16):ee.push(X)}}function s(J,X){if(!e)return null;for(;X!==null;)t(J,X),X=X.sibling;return null}function o(J){for(var X=new Map;J!==null;)J.key!==null?X.set(J.key,J):X.set(J.index,J),J=J.sibling;return X}function c(J,X){return J=As(J,X),J.index=0,J.sibling=null,J}function d(J,X,ee){return J.index=ee,e?(ee=J.alternate,ee!==null?(ee=ee.index,ee<X?(J.flags|=67108866,X):ee):(J.flags|=67108866,X)):(J.flags|=1048576,X)}function y(J){return e&&J.alternate===null&&(J.flags|=67108866),J}function w(J,X,ee,me){return X===null||X.tag!==6?(X=yu(ee,J.mode,me),X.return=J,X):(X=c(X,ee),X.return=J,X)}function Y(J,X,ee,me){var $e=ee.type;return $e===_?fe(J,X,ee.props.children,me,ee.key):X!==null&&(X.elementType===$e||typeof $e=="object"&&$e!==null&&$e.$$typeof===A&&$r($e)===X.type)?(X=c(X,ee.props),Bo(X,ee),X.return=J,X):(X=Wa(ee.type,ee.key,ee.props,null,J.mode,me),Bo(X,ee),X.return=J,X)}function te(J,X,ee,me){return X===null||X.tag!==4||X.stateNode.containerInfo!==ee.containerInfo||X.stateNode.implementation!==ee.implementation?(X=vu(ee,J.mode,me),X.return=J,X):(X=c(X,ee.children||[]),X.return=J,X)}function fe(J,X,ee,me,$e){return X===null||X.tag!==7?(X=Gr(ee,J.mode,me,$e),X.return=J,X):(X=c(X,ee),X.return=J,X)}function xe(J,X,ee){if(typeof X=="string"&&X!==""||typeof X=="number"||typeof X=="bigint")return X=yu(""+X,J.mode,ee),X.return=J,X;if(typeof X=="object"&&X!==null){switch(X.$$typeof){case N:return ee=Wa(X.type,X.key,X.props,null,J.mode,ee),Bo(ee,X),ee.return=J,ee;case T:return X=vu(X,J.mode,ee),X.return=J,X;case A:return X=$r(X),xe(J,X,ee)}if(Q(X)||re(X))return X=Gr(X,J.mode,ee,null),X.return=J,X;if(typeof X.then=="function")return xe(J,oi(X),ee);if(X.$$typeof===D)return xe(J,ni(J,X),ee);ai(J,X)}return null}function oe(J,X,ee,me){var $e=X!==null?X.key:null;if(typeof ee=="string"&&ee!==""||typeof ee=="number"||typeof ee=="bigint")return $e!==null?null:w(J,X,""+ee,me);if(typeof ee=="object"&&ee!==null){switch(ee.$$typeof){case N:return ee.key===$e?Y(J,X,ee,me):null;case T:return ee.key===$e?te(J,X,ee,me):null;case A:return ee=$r(ee),oe(J,X,ee,me)}if(Q(ee)||re(ee))return $e!==null?null:fe(J,X,ee,me,null);if(typeof ee.then=="function")return oe(J,X,oi(ee),me);if(ee.$$typeof===D)return oe(J,X,ni(J,ee),me);ai(J,ee)}return null}function ae(J,X,ee,me,$e){if(typeof me=="string"&&me!==""||typeof me=="number"||typeof me=="bigint")return J=J.get(ee)||null,w(X,J,""+me,$e);if(typeof me=="object"&&me!==null){switch(me.$$typeof){case N:return J=J.get(me.key===null?ee:me.key)||null,Y(X,J,me,$e);case T:return J=J.get(me.key===null?ee:me.key)||null,te(X,J,me,$e);case A:return me=$r(me),ae(J,X,ee,me,$e)}if(Q(me)||re(me))return J=J.get(ee)||null,fe(X,J,me,$e,null);if(typeof me.then=="function")return ae(J,X,ee,oi(me),$e);if(me.$$typeof===D)return ae(J,X,ee,ni(X,me),$e);ai(X,me)}return null}function Be(J,X,ee,me){for(var $e=null,Et=null,Ye=X,rt=X=0,ut=null;Ye!==null&&rt<ee.length;rt++){Ye.index>rt?(ut=Ye,Ye=null):ut=Ye.sibling;var Nt=oe(J,Ye,ee[rt],me);if(Nt===null){Ye===null&&(Ye=ut);break}e&&Ye&&Nt.alternate===null&&t(J,Ye),X=d(Nt,X,rt),Et===null?$e=Nt:Et.sibling=Nt,Et=Nt,Ye=ut}if(rt===ee.length)return s(J,Ye),mt&&Ms(J,rt),$e;if(Ye===null){for(;rt<ee.length;rt++)Ye=xe(J,ee[rt],me),Ye!==null&&(X=d(Ye,X,rt),Et===null?$e=Ye:Et.sibling=Ye,Et=Ye);return mt&&Ms(J,rt),$e}for(Ye=o(Ye);rt<ee.length;rt++)ut=ae(Ye,J,rt,ee[rt],me),ut!==null&&(e&&ut.alternate!==null&&Ye.delete(ut.key===null?rt:ut.key),X=d(ut,X,rt),Et===null?$e=ut:Et.sibling=ut,Et=ut);return e&&Ye.forEach(function(Tr){return t(J,Tr)}),mt&&Ms(J,rt),$e}function Ze(J,X,ee,me){if(ee==null)throw Error(a(151));for(var $e=null,Et=null,Ye=X,rt=X=0,ut=null,Nt=ee.next();Ye!==null&&!Nt.done;rt++,Nt=ee.next()){Ye.index>rt?(ut=Ye,Ye=null):ut=Ye.sibling;var Tr=oe(J,Ye,Nt.value,me);if(Tr===null){Ye===null&&(Ye=ut);break}e&&Ye&&Tr.alternate===null&&t(J,Ye),X=d(Tr,X,rt),Et===null?$e=Tr:Et.sibling=Tr,Et=Tr,Ye=ut}if(Nt.done)return s(J,Ye),mt&&Ms(J,rt),$e;if(Ye===null){for(;!Nt.done;rt++,Nt=ee.next())Nt=xe(J,Nt.value,me),Nt!==null&&(X=d(Nt,X,rt),Et===null?$e=Nt:Et.sibling=Nt,Et=Nt);return mt&&Ms(J,rt),$e}for(Ye=o(Ye);!Nt.done;rt++,Nt=ee.next())Nt=ae(Ye,J,rt,Nt.value,me),Nt!==null&&(e&&Nt.alternate!==null&&Ye.delete(Nt.key===null?rt:Nt.key),X=d(Nt,X,rt),Et===null?$e=Nt:Et.sibling=Nt,Et=Nt);return e&&Ye.forEach(function(_E){return t(J,_E)}),mt&&Ms(J,rt),$e}function _t(J,X,ee,me){if(typeof ee=="object"&&ee!==null&&ee.type===_&&ee.key===null&&(ee=ee.props.children),typeof ee=="object"&&ee!==null){switch(ee.$$typeof){case N:e:{for(var $e=ee.key;X!==null;){if(X.key===$e){if($e=ee.type,$e===_){if(X.tag===7){s(J,X.sibling),me=c(X,ee.props.children),me.return=J,J=me;break e}}else if(X.elementType===$e||typeof $e=="object"&&$e!==null&&$e.$$typeof===A&&$r($e)===X.type){s(J,X.sibling),me=c(X,ee.props),Bo(me,ee),me.return=J,J=me;break e}s(J,X);break}else t(J,X);X=X.sibling}ee.type===_?(me=Gr(ee.props.children,J.mode,me,ee.key),me.return=J,J=me):(me=Wa(ee.type,ee.key,ee.props,null,J.mode,me),Bo(me,ee),me.return=J,J=me)}return y(J);case T:e:{for($e=ee.key;X!==null;){if(X.key===$e)if(X.tag===4&&X.stateNode.containerInfo===ee.containerInfo&&X.stateNode.implementation===ee.implementation){s(J,X.sibling),me=c(X,ee.children||[]),me.return=J,J=me;break e}else{s(J,X);break}else t(J,X);X=X.sibling}me=vu(ee,J.mode,me),me.return=J,J=me}return y(J);case A:return ee=$r(ee),_t(J,X,ee,me)}if(Q(ee))return Be(J,X,ee,me);if(re(ee)){if($e=re(ee),typeof $e!="function")throw Error(a(150));return ee=$e.call(ee),Ze(J,X,ee,me)}if(typeof ee.then=="function")return _t(J,X,oi(ee),me);if(ee.$$typeof===D)return _t(J,X,ni(J,ee),me);ai(J,ee)}return typeof ee=="string"&&ee!==""||typeof ee=="number"||typeof ee=="bigint"?(ee=""+ee,X!==null&&X.tag===6?(s(J,X.sibling),me=c(X,ee),me.return=J,J=me):(s(J,X),me=yu(ee,J.mode,me),me.return=J,J=me),y(J)):s(J,X)}return function(J,X,ee,me){try{Ho=0;var $e=_t(J,X,ee,me);return Yl=null,$e}catch(Ye){if(Ye===Bl||Ye===ri)throw Ye;var Et=zn(29,Ye,null,J.mode);return Et.lanes=me,Et.return=J,Et}}}var Zr=rp(!0),lp=rp(!1),ar=!1;function Au(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Mu(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 ir(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function cr(e,t,s){var o=e.updateQueue;if(o===null)return null;if(o=o.shared,(wt&2)!==0){var c=o.pending;return c===null?t.next=t:(t.next=c.next,c.next=t),o.pending=t,t=Ja(e),Vh(e,null,s),t}return Za(e,o,t,s),Ja(e)}function Yo(e,t,s){if(t=t.updateQueue,t!==null&&(t=t.shared,(s&4194048)!==0)){var o=t.lanes;o&=e.pendingLanes,s|=o,t.lanes=s,on(e,s)}}function Du(e,t){var s=e.updateQueue,o=e.alternate;if(o!==null&&(o=o.updateQueue,s===o)){var c=null,d=null;if(s=s.firstBaseUpdate,s!==null){do{var y={lane:s.lane,tag:s.tag,payload:s.payload,callback:null,next:null};d===null?c=d=y:d=d.next=y,s=s.next}while(s!==null);d===null?c=d=t:d=d.next=t}else c=d=t;s={baseState:o.baseState,firstBaseUpdate:c,lastBaseUpdate:d,shared:o.shared,callbacks:o.callbacks},e.updateQueue=s;return}e=s.lastBaseUpdate,e===null?s.firstBaseUpdate=t:e.next=t,s.lastBaseUpdate=t}var zu=!1;function Vo(){if(zu){var e=Hl;if(e!==null)throw e}}function qo(e,t,s,o){zu=!1;var c=e.updateQueue;ar=!1;var d=c.firstBaseUpdate,y=c.lastBaseUpdate,w=c.shared.pending;if(w!==null){c.shared.pending=null;var Y=w,te=Y.next;Y.next=null,y===null?d=te:y.next=te,y=Y;var fe=e.alternate;fe!==null&&(fe=fe.updateQueue,w=fe.lastBaseUpdate,w!==y&&(w===null?fe.firstBaseUpdate=te:w.next=te,fe.lastBaseUpdate=Y))}if(d!==null){var xe=c.baseState;y=0,fe=te=Y=null,w=d;do{var oe=w.lane&-536870913,ae=oe!==w.lane;if(ae?(ct&oe)===oe:(o&oe)===oe){oe!==0&&oe===Il&&(zu=!0),fe!==null&&(fe=fe.next={lane:0,tag:w.tag,payload:w.payload,callback:null,next:null});e:{var Be=e,Ze=w;oe=t;var _t=s;switch(Ze.tag){case 1:if(Be=Ze.payload,typeof Be=="function"){xe=Be.call(_t,xe,oe);break e}xe=Be;break e;case 3:Be.flags=Be.flags&-65537|128;case 0:if(Be=Ze.payload,oe=typeof Be=="function"?Be.call(_t,xe,oe):Be,oe==null)break e;xe=g({},xe,oe);break e;case 2:ar=!0}}oe=w.callback,oe!==null&&(e.flags|=64,ae&&(e.flags|=8192),ae=c.callbacks,ae===null?c.callbacks=[oe]:ae.push(oe))}else ae={lane:oe,tag:w.tag,payload:w.payload,callback:w.callback,next:null},fe===null?(te=fe=ae,Y=xe):fe=fe.next=ae,y|=oe;if(w=w.next,w===null){if(w=c.shared.pending,w===null)break;ae=w,w=ae.next,ae.next=null,c.lastBaseUpdate=ae,c.shared.pending=null}}while(!0);fe===null&&(Y=xe),c.baseState=Y,c.firstBaseUpdate=te,c.lastBaseUpdate=fe,d===null&&(c.shared.lanes=0),hr|=y,e.lanes=y,e.memoizedState=xe}}function op(e,t){if(typeof e!="function")throw Error(a(191,e));e.call(t)}function ap(e,t){var s=e.callbacks;if(s!==null)for(e.callbacks=null,e=0;e<s.length;e++)op(s[e],t)}var Vl=M(null),ii=M(0);function ip(e,t){e=Gs,L(ii,e),L(Vl,t),Gs=e|t.baseLanes}function Lu(){L(ii,Gs),L(Vl,Vl.current)}function Uu(){Gs=ii.current,z(Vl),z(ii)}var Ln=M(null),Jn=null;function ur(e){var t=e.alternate;L(Xt,Xt.current&1),L(Ln,e),Jn===null&&(t===null||Vl.current!==null||t.memoizedState!==null)&&(Jn=e)}function Iu(e){L(Xt,Xt.current),L(Ln,e),Jn===null&&(Jn=e)}function cp(e){e.tag===22?(L(Xt,Xt.current),L(Ln,e),Jn===null&&(Jn=e)):dr()}function dr(){L(Xt,Xt.current),L(Ln,Ln.current)}function Un(e){z(Ln),Jn===e&&(Jn=null),z(Xt)}var Xt=M(0);function ci(e){for(var t=e;t!==null;){if(t.tag===13){var s=t.memoizedState;if(s!==null&&(s=s.dehydrated,s===null||Gd(s)||Xd(s)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Ls=0,st=null,Rt=null,Jt=null,ui=!1,ql=!1,Jr=!1,di=0,Go=0,Gl=null,SS=0;function Yt(){throw Error(a(321))}function Hu(e,t){if(t===null)return!1;for(var s=0;s<t.length&&s<e.length;s++)if(!Dn(e[s],t[s]))return!1;return!0}function Bu(e,t,s,o,c,d){return Ls=d,st=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,C.H=e===null||e.memoizedState===null?Pp:td,Jr=!1,d=s(o,c),Jr=!1,ql&&(d=dp(t,s,o,c)),up(e),d}function up(e){C.H=Fo;var t=Rt!==null&&Rt.next!==null;if(Ls=0,Jt=Rt=st=null,ui=!1,Go=0,Gl=null,t)throw Error(a(300));e===null||Wt||(e=e.dependencies,e!==null&&ti(e)&&(Wt=!0))}function dp(e,t,s,o){st=e;var c=0;do{if(ql&&(Gl=null),Go=0,ql=!1,25<=c)throw Error(a(301));if(c+=1,Jt=Rt=null,e.updateQueue!=null){var d=e.updateQueue;d.lastEffect=null,d.events=null,d.stores=null,d.memoCache!=null&&(d.memoCache.index=0)}C.H=Fp,d=t(s,o)}while(ql);return d}function ES(){var e=C.H,t=e.useState()[0];return t=typeof t.then=="function"?Xo(t):t,e=e.useState()[0],(Rt!==null?Rt.memoizedState:null)!==e&&(st.flags|=1024),t}function Yu(){var e=di!==0;return di=0,e}function Vu(e,t,s){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~s}function qu(e){if(ui){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}ui=!1}Ls=0,Jt=Rt=st=null,ql=!1,Go=di=0,Gl=null}function vn(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Jt===null?st.memoizedState=Jt=e:Jt=Jt.next=e,Jt}function Pt(){if(Rt===null){var e=st.alternate;e=e!==null?e.memoizedState:null}else e=Rt.next;var t=Jt===null?st.memoizedState:Jt.next;if(t!==null)Jt=t,Rt=e;else{if(e===null)throw st.alternate===null?Error(a(467)):Error(a(310));Rt=e,e={memoizedState:Rt.memoizedState,baseState:Rt.baseState,baseQueue:Rt.baseQueue,queue:Rt.queue,next:null},Jt===null?st.memoizedState=Jt=e:Jt=Jt.next=e}return Jt}function fi(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Xo(e){var t=Go;return Go+=1,Gl===null&&(Gl=[]),e=tp(Gl,e,t),t=st,(Jt===null?t.memoizedState:Jt.next)===null&&(t=t.alternate,C.H=t===null||t.memoizedState===null?Pp:td),e}function mi(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Xo(e);if(e.$$typeof===D)return mn(e)}throw Error(a(438,String(e)))}function Gu(e){var t=null,s=st.updateQueue;if(s!==null&&(t=s.memoCache),t==null){var o=st.alternate;o!==null&&(o=o.updateQueue,o!==null&&(o=o.memoCache,o!=null&&(t={data:o.data.map(function(c){return c.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),s===null&&(s=fi(),st.updateQueue=s),s.memoCache=t,s=t.data[t.index],s===void 0)for(s=t.data[t.index]=Array(e),o=0;o<e;o++)s[o]=se;return t.index++,s}function Us(e,t){return typeof t=="function"?t(e):t}function hi(e){var t=Pt();return Xu(t,Rt,e)}function Xu(e,t,s){var o=e.queue;if(o===null)throw Error(a(311));o.lastRenderedReducer=s;var c=e.baseQueue,d=o.pending;if(d!==null){if(c!==null){var y=c.next;c.next=d.next,d.next=y}t.baseQueue=c=d,o.pending=null}if(d=e.baseState,c===null)e.memoizedState=d;else{t=c.next;var w=y=null,Y=null,te=t,fe=!1;do{var xe=te.lane&-536870913;if(xe!==te.lane?(ct&xe)===xe:(Ls&xe)===xe){var oe=te.revertLane;if(oe===0)Y!==null&&(Y=Y.next={lane:0,revertLane:0,gesture:null,action:te.action,hasEagerState:te.hasEagerState,eagerState:te.eagerState,next:null}),xe===Il&&(fe=!0);else if((Ls&oe)===oe){te=te.next,oe===Il&&(fe=!0);continue}else xe={lane:0,revertLane:te.revertLane,gesture:null,action:te.action,hasEagerState:te.hasEagerState,eagerState:te.eagerState,next:null},Y===null?(w=Y=xe,y=d):Y=Y.next=xe,st.lanes|=oe,hr|=oe;xe=te.action,Jr&&s(d,xe),d=te.hasEagerState?te.eagerState:s(d,xe)}else oe={lane:xe,revertLane:te.revertLane,gesture:te.gesture,action:te.action,hasEagerState:te.hasEagerState,eagerState:te.eagerState,next:null},Y===null?(w=Y=oe,y=d):Y=Y.next=oe,st.lanes|=xe,hr|=xe;te=te.next}while(te!==null&&te!==t);if(Y===null?y=d:Y.next=w,!Dn(d,e.memoizedState)&&(Wt=!0,fe&&(s=Hl,s!==null)))throw s;e.memoizedState=d,e.baseState=y,e.baseQueue=Y,o.lastRenderedState=d}return c===null&&(o.lanes=0),[e.memoizedState,o.dispatch]}function Pu(e){var t=Pt(),s=t.queue;if(s===null)throw Error(a(311));s.lastRenderedReducer=e;var o=s.dispatch,c=s.pending,d=t.memoizedState;if(c!==null){s.pending=null;var y=c=c.next;do d=e(d,y.action),y=y.next;while(y!==c);Dn(d,t.memoizedState)||(Wt=!0),t.memoizedState=d,t.baseQueue===null&&(t.baseState=d),s.lastRenderedState=d}return[d,o]}function fp(e,t,s){var o=st,c=Pt(),d=mt;if(d){if(s===void 0)throw Error(a(407));s=s()}else s=t();var y=!Dn((Rt||c).memoizedState,s);if(y&&(c.memoizedState=s,Wt=!0),c=c.queue,$u(pp.bind(null,o,c,e),[e]),c.getSnapshot!==t||y||Jt!==null&&Jt.memoizedState.tag&1){if(o.flags|=2048,Xl(9,{destroy:void 0},hp.bind(null,o,c,s,t),null),Dt===null)throw Error(a(349));d||(Ls&127)!==0||mp(o,t,s)}return s}function mp(e,t,s){e.flags|=16384,e={getSnapshot:t,value:s},t=st.updateQueue,t===null?(t=fi(),st.updateQueue=t,t.stores=[e]):(s=t.stores,s===null?t.stores=[e]:s.push(e))}function hp(e,t,s,o){t.value=s,t.getSnapshot=o,gp(t)&&xp(e)}function pp(e,t,s){return s(function(){gp(t)&&xp(e)})}function gp(e){var t=e.getSnapshot;e=e.value;try{var s=t();return!Dn(e,s)}catch{return!0}}function xp(e){var t=qr(e,2);t!==null&&On(t,e,2)}function Fu(e){var t=vn();if(typeof e=="function"){var s=e;if(e=s(),Jr){je(!0);try{s()}finally{je(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Us,lastRenderedState:e},t}function bp(e,t,s,o){return e.baseState=s,Xu(e,Rt,typeof o=="function"?o:Us)}function NS(e,t,s,o,c){if(xi(e))throw Error(a(485));if(e=t.action,e!==null){var d={payload:c,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(y){d.listeners.push(y)}};C.T!==null?s(!0):d.isTransition=!1,o(d),s=t.pending,s===null?(d.next=t.pending=d,yp(t,d)):(d.next=s.next,t.pending=s.next=d)}}function yp(e,t){var s=t.action,o=t.payload,c=e.state;if(t.isTransition){var d=C.T,y={};C.T=y;try{var w=s(c,o),Y=C.S;Y!==null&&Y(y,w),vp(e,t,w)}catch(te){Ku(e,t,te)}finally{d!==null&&y.types!==null&&(d.types=y.types),C.T=d}}else try{d=s(c,o),vp(e,t,d)}catch(te){Ku(e,t,te)}}function vp(e,t,s){s!==null&&typeof s=="object"&&typeof s.then=="function"?s.then(function(o){Sp(e,t,o)},function(o){return Ku(e,t,o)}):Sp(e,t,s)}function Sp(e,t,s){t.status="fulfilled",t.value=s,Ep(t),e.state=s,t=e.pending,t!==null&&(s=t.next,s===t?e.pending=null:(s=s.next,t.next=s,yp(e,s)))}function Ku(e,t,s){var o=e.pending;if(e.pending=null,o!==null){o=o.next;do t.status="rejected",t.reason=s,Ep(t),t=t.next;while(t!==o)}e.action=null}function Ep(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Np(e,t){return t}function Tp(e,t){if(mt){var s=Dt.formState;if(s!==null){e:{var o=st;if(mt){if(Lt){t:{for(var c=Lt,d=Zn;c.nodeType!==8;){if(!d){c=null;break t}if(c=Wn(c.nextSibling),c===null){c=null;break t}}d=c.data,c=d==="F!"||d==="F"?c:null}if(c){Lt=Wn(c.nextSibling),o=c.data==="F!";break e}}lr(o)}o=!1}o&&(t=s[0])}}return s=vn(),s.memoizedState=s.baseState=t,o={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Np,lastRenderedState:t},s.queue=o,s=qp.bind(null,st,o),o.dispatch=s,o=Fu(!1),d=ed.bind(null,st,!1,o.queue),o=vn(),c={state:t,dispatch:null,action:e,pending:null},o.queue=c,s=NS.bind(null,st,c,d,s),c.dispatch=s,o.memoizedState=e,[t,s,!1]}function wp(e){var t=Pt();return jp(t,Rt,e)}function jp(e,t,s){if(t=Xu(e,t,Np)[0],e=hi(Us)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var o=Xo(t)}catch(y){throw y===Bl?ri:y}else o=t;t=Pt();var c=t.queue,d=c.dispatch;return s!==t.memoizedState&&(st.flags|=2048,Xl(9,{destroy:void 0},TS.bind(null,c,s),null)),[o,d,e]}function TS(e,t){e.action=t}function Cp(e){var t=Pt(),s=Rt;if(s!==null)return jp(t,s,e);Pt(),t=t.memoizedState,s=Pt();var o=s.queue.dispatch;return s.memoizedState=e,[t,o,!1]}function Xl(e,t,s,o){return e={tag:e,create:s,deps:o,inst:t,next:null},t=st.updateQueue,t===null&&(t=fi(),st.updateQueue=t),s=t.lastEffect,s===null?t.lastEffect=e.next=e:(o=s.next,s.next=e,e.next=o,t.lastEffect=e),e}function Op(){return Pt().memoizedState}function pi(e,t,s,o){var c=vn();st.flags|=e,c.memoizedState=Xl(1|t,{destroy:void 0},s,o===void 0?null:o)}function gi(e,t,s,o){var c=Pt();o=o===void 0?null:o;var d=c.memoizedState.inst;Rt!==null&&o!==null&&Hu(o,Rt.memoizedState.deps)?c.memoizedState=Xl(t,d,s,o):(st.flags|=e,c.memoizedState=Xl(1|t,d,s,o))}function Rp(e,t){pi(8390656,8,e,t)}function $u(e,t){gi(2048,8,e,t)}function wS(e){st.flags|=4;var t=st.updateQueue;if(t===null)t=fi(),st.updateQueue=t,t.events=[e];else{var s=t.events;s===null?t.events=[e]:s.push(e)}}function kp(e){var t=Pt().memoizedState;return wS({ref:t,nextImpl:e}),function(){if((wt&2)!==0)throw Error(a(440));return t.impl.apply(void 0,arguments)}}function _p(e,t){return gi(4,2,e,t)}function Ap(e,t){return gi(4,4,e,t)}function Mp(e,t){if(typeof t=="function"){e=e();var s=t(e);return function(){typeof s=="function"?s():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Dp(e,t,s){s=s!=null?s.concat([e]):null,gi(4,4,Mp.bind(null,t,e),s)}function Qu(){}function zp(e,t){var s=Pt();t=t===void 0?null:t;var o=s.memoizedState;return t!==null&&Hu(t,o[1])?o[0]:(s.memoizedState=[e,t],e)}function Lp(e,t){var s=Pt();t=t===void 0?null:t;var o=s.memoizedState;if(t!==null&&Hu(t,o[1]))return o[0];if(o=e(),Jr){je(!0);try{e()}finally{je(!1)}}return s.memoizedState=[o,t],o}function Zu(e,t,s){return s===void 0||(Ls&1073741824)!==0&&(ct&261930)===0?e.memoizedState=t:(e.memoizedState=s,e=Ug(),st.lanes|=e,hr|=e,s)}function Up(e,t,s,o){return Dn(s,t)?s:Vl.current!==null?(e=Zu(e,s,o),Dn(e,t)||(Wt=!0),e):(Ls&42)===0||(Ls&1073741824)!==0&&(ct&261930)===0?(Wt=!0,e.memoizedState=s):(e=Ug(),st.lanes|=e,hr|=e,t)}function Ip(e,t,s,o,c){var d=U.p;U.p=d!==0&&8>d?d:8;var y=C.T,w={};C.T=w,ed(e,!1,t,s);try{var Y=c(),te=C.S;if(te!==null&&te(w,Y),Y!==null&&typeof Y=="object"&&typeof Y.then=="function"){var fe=vS(Y,o);Po(e,t,fe,Bn(e))}else Po(e,t,o,Bn(e))}catch(xe){Po(e,t,{then:function(){},status:"rejected",reason:xe},Bn())}finally{U.p=d,y!==null&&w.types!==null&&(y.types=w.types),C.T=y}}function jS(){}function Ju(e,t,s,o){if(e.tag!==5)throw Error(a(476));var c=Hp(e).queue;Ip(e,c,t,q,s===null?jS:function(){return Bp(e),s(o)})}function Hp(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:q,baseState:q,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Us,lastRenderedState:q},next:null};var s={};return t.next={memoizedState:s,baseState:s,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Us,lastRenderedState:s},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Bp(e){var t=Hp(e);t.next===null&&(t=e.alternate.memoizedState),Po(e,t.next.queue,{},Bn())}function Wu(){return mn(ca)}function Yp(){return Pt().memoizedState}function Vp(){return Pt().memoizedState}function CS(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var s=Bn();e=ir(s);var o=cr(t,e,s);o!==null&&(On(o,t,s),Yo(o,t,s)),t={cache:Ou()},e.payload=t;return}t=t.return}}function OS(e,t,s){var o=Bn();s={lane:o,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null},xi(e)?Gp(t,s):(s=xu(e,t,s,o),s!==null&&(On(s,e,o),Xp(s,t,o)))}function qp(e,t,s){var o=Bn();Po(e,t,s,o)}function Po(e,t,s,o){var c={lane:o,revertLane:0,gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null};if(xi(e))Gp(t,c);else{var d=e.alternate;if(e.lanes===0&&(d===null||d.lanes===0)&&(d=t.lastRenderedReducer,d!==null))try{var y=t.lastRenderedState,w=d(y,s);if(c.hasEagerState=!0,c.eagerState=w,Dn(w,y))return Za(e,t,c,0),Dt===null&&Qa(),!1}catch{}if(s=xu(e,t,c,o),s!==null)return On(s,e,o),Xp(s,t,o),!0}return!1}function ed(e,t,s,o){if(o={lane:2,revertLane:Ad(),gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null},xi(e)){if(t)throw Error(a(479))}else t=xu(e,s,o,2),t!==null&&On(t,e,2)}function xi(e){var t=e.alternate;return e===st||t!==null&&t===st}function Gp(e,t){ql=ui=!0;var s=e.pending;s===null?t.next=t:(t.next=s.next,s.next=t),e.pending=t}function Xp(e,t,s){if((s&4194048)!==0){var o=t.lanes;o&=e.pendingLanes,s|=o,t.lanes=s,on(e,s)}}var Fo={readContext:mn,use:mi,useCallback:Yt,useContext:Yt,useEffect:Yt,useImperativeHandle:Yt,useLayoutEffect:Yt,useInsertionEffect:Yt,useMemo:Yt,useReducer:Yt,useRef:Yt,useState:Yt,useDebugValue:Yt,useDeferredValue:Yt,useTransition:Yt,useSyncExternalStore:Yt,useId:Yt,useHostTransitionStatus:Yt,useFormState:Yt,useActionState:Yt,useOptimistic:Yt,useMemoCache:Yt,useCacheRefresh:Yt};Fo.useEffectEvent=Yt;var Pp={readContext:mn,use:mi,useCallback:function(e,t){return vn().memoizedState=[e,t===void 0?null:t],e},useContext:mn,useEffect:Rp,useImperativeHandle:function(e,t,s){s=s!=null?s.concat([e]):null,pi(4194308,4,Mp.bind(null,t,e),s)},useLayoutEffect:function(e,t){return pi(4194308,4,e,t)},useInsertionEffect:function(e,t){pi(4,2,e,t)},useMemo:function(e,t){var s=vn();t=t===void 0?null:t;var o=e();if(Jr){je(!0);try{e()}finally{je(!1)}}return s.memoizedState=[o,t],o},useReducer:function(e,t,s){var o=vn();if(s!==void 0){var c=s(t);if(Jr){je(!0);try{s(t)}finally{je(!1)}}}else c=t;return o.memoizedState=o.baseState=c,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:c},o.queue=e,e=e.dispatch=OS.bind(null,st,e),[o.memoizedState,e]},useRef:function(e){var t=vn();return e={current:e},t.memoizedState=e},useState:function(e){e=Fu(e);var t=e.queue,s=qp.bind(null,st,t);return t.dispatch=s,[e.memoizedState,s]},useDebugValue:Qu,useDeferredValue:function(e,t){var s=vn();return Zu(s,e,t)},useTransition:function(){var e=Fu(!1);return e=Ip.bind(null,st,e.queue,!0,!1),vn().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,s){var o=st,c=vn();if(mt){if(s===void 0)throw Error(a(407));s=s()}else{if(s=t(),Dt===null)throw Error(a(349));(ct&127)!==0||mp(o,t,s)}c.memoizedState=s;var d={value:s,getSnapshot:t};return c.queue=d,Rp(pp.bind(null,o,d,e),[e]),o.flags|=2048,Xl(9,{destroy:void 0},hp.bind(null,o,d,s,t),null),s},useId:function(){var e=vn(),t=Dt.identifierPrefix;if(mt){var s=ds,o=us;s=(o&~(1<<32-Ce(o)-1)).toString(32)+s,t="_"+t+"R_"+s,s=di++,0<s&&(t+="H"+s.toString(32)),t+="_"}else s=SS++,t="_"+t+"r_"+s.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Wu,useFormState:Tp,useActionState:Tp,useOptimistic:function(e){var t=vn();t.memoizedState=t.baseState=e;var s={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=s,t=ed.bind(null,st,!0,s),s.dispatch=t,[e,t]},useMemoCache:Gu,useCacheRefresh:function(){return vn().memoizedState=CS.bind(null,st)},useEffectEvent:function(e){var t=vn(),s={impl:e};return t.memoizedState=s,function(){if((wt&2)!==0)throw Error(a(440));return s.impl.apply(void 0,arguments)}}},td={readContext:mn,use:mi,useCallback:zp,useContext:mn,useEffect:$u,useImperativeHandle:Dp,useInsertionEffect:_p,useLayoutEffect:Ap,useMemo:Lp,useReducer:hi,useRef:Op,useState:function(){return hi(Us)},useDebugValue:Qu,useDeferredValue:function(e,t){var s=Pt();return Up(s,Rt.memoizedState,e,t)},useTransition:function(){var e=hi(Us)[0],t=Pt().memoizedState;return[typeof e=="boolean"?e:Xo(e),t]},useSyncExternalStore:fp,useId:Yp,useHostTransitionStatus:Wu,useFormState:wp,useActionState:wp,useOptimistic:function(e,t){var s=Pt();return bp(s,Rt,e,t)},useMemoCache:Gu,useCacheRefresh:Vp};td.useEffectEvent=kp;var Fp={readContext:mn,use:mi,useCallback:zp,useContext:mn,useEffect:$u,useImperativeHandle:Dp,useInsertionEffect:_p,useLayoutEffect:Ap,useMemo:Lp,useReducer:Pu,useRef:Op,useState:function(){return Pu(Us)},useDebugValue:Qu,useDeferredValue:function(e,t){var s=Pt();return Rt===null?Zu(s,e,t):Up(s,Rt.memoizedState,e,t)},useTransition:function(){var e=Pu(Us)[0],t=Pt().memoizedState;return[typeof e=="boolean"?e:Xo(e),t]},useSyncExternalStore:fp,useId:Yp,useHostTransitionStatus:Wu,useFormState:Cp,useActionState:Cp,useOptimistic:function(e,t){var s=Pt();return Rt!==null?bp(s,Rt,e,t):(s.baseState=e,[e,s.queue.dispatch])},useMemoCache:Gu,useCacheRefresh:Vp};Fp.useEffectEvent=kp;function nd(e,t,s,o){t=e.memoizedState,s=s(o,t),s=s==null?t:g({},t,s),e.memoizedState=s,e.lanes===0&&(e.updateQueue.baseState=s)}var sd={enqueueSetState:function(e,t,s){e=e._reactInternals;var o=Bn(),c=ir(o);c.payload=t,s!=null&&(c.callback=s),t=cr(e,c,o),t!==null&&(On(t,e,o),Yo(t,e,o))},enqueueReplaceState:function(e,t,s){e=e._reactInternals;var o=Bn(),c=ir(o);c.tag=1,c.payload=t,s!=null&&(c.callback=s),t=cr(e,c,o),t!==null&&(On(t,e,o),Yo(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var s=Bn(),o=ir(s);o.tag=2,t!=null&&(o.callback=t),t=cr(e,o,s),t!==null&&(On(t,e,s),Yo(t,e,s))}};function Kp(e,t,s,o,c,d,y){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(o,d,y):t.prototype&&t.prototype.isPureReactComponent?!Mo(s,o)||!Mo(c,d):!0}function $p(e,t,s,o){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(s,o),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(s,o),t.state!==e&&sd.enqueueReplaceState(t,t.state,null)}function Wr(e,t){var s=t;if("ref"in t){s={};for(var o in t)o!=="ref"&&(s[o]=t[o])}if(e=e.defaultProps){s===t&&(s=g({},s));for(var c in e)s[c]===void 0&&(s[c]=e[c])}return s}function Qp(e){$a(e)}function Zp(e){console.error(e)}function Jp(e){$a(e)}function bi(e,t){try{var s=e.onUncaughtError;s(t.value,{componentStack:t.stack})}catch(o){setTimeout(function(){throw o})}}function Wp(e,t,s){try{var o=e.onCaughtError;o(s.value,{componentStack:s.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(c){setTimeout(function(){throw c})}}function rd(e,t,s){return s=ir(s),s.tag=3,s.payload={element:null},s.callback=function(){bi(e,t)},s}function eg(e){return e=ir(e),e.tag=3,e}function tg(e,t,s,o){var c=s.type.getDerivedStateFromError;if(typeof c=="function"){var d=o.value;e.payload=function(){return c(d)},e.callback=function(){Wp(t,s,o)}}var y=s.stateNode;y!==null&&typeof y.componentDidCatch=="function"&&(e.callback=function(){Wp(t,s,o),typeof c!="function"&&(pr===null?pr=new Set([this]):pr.add(this));var w=o.stack;this.componentDidCatch(o.value,{componentStack:w!==null?w:""})})}function RS(e,t,s,o,c){if(s.flags|=32768,o!==null&&typeof o=="object"&&typeof o.then=="function"){if(t=s.alternate,t!==null&&Ul(t,s,c,!0),s=Ln.current,s!==null){switch(s.tag){case 31:case 13:return Jn===null?ki():s.alternate===null&&Vt===0&&(Vt=3),s.flags&=-257,s.flags|=65536,s.lanes=c,o===li?s.flags|=16384:(t=s.updateQueue,t===null?s.updateQueue=new Set([o]):t.add(o),Rd(e,o,c)),!1;case 22:return s.flags|=65536,o===li?s.flags|=16384:(t=s.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([o])},s.updateQueue=t):(s=t.retryQueue,s===null?t.retryQueue=new Set([o]):s.add(o)),Rd(e,o,c)),!1}throw Error(a(435,s.tag))}return Rd(e,o,c),ki(),!1}if(mt)return t=Ln.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=c,o!==Nu&&(e=Error(a(422),{cause:o}),Lo(Kn(e,s)))):(o!==Nu&&(t=Error(a(423),{cause:o}),Lo(Kn(t,s))),e=e.current.alternate,e.flags|=65536,c&=-c,e.lanes|=c,o=Kn(o,s),c=rd(e.stateNode,o,c),Du(e,c),Vt!==4&&(Vt=2)),!1;var d=Error(a(520),{cause:o});if(d=Kn(d,s),ta===null?ta=[d]:ta.push(d),Vt!==4&&(Vt=2),t===null)return!0;o=Kn(o,s),s=t;do{switch(s.tag){case 3:return s.flags|=65536,e=c&-c,s.lanes|=e,e=rd(s.stateNode,o,e),Du(s,e),!1;case 1:if(t=s.type,d=s.stateNode,(s.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||d!==null&&typeof d.componentDidCatch=="function"&&(pr===null||!pr.has(d))))return s.flags|=65536,c&=-c,s.lanes|=c,c=eg(c),tg(c,e,s,o),Du(s,c),!1}s=s.return}while(s!==null);return!1}var ld=Error(a(461)),Wt=!1;function hn(e,t,s,o){t.child=e===null?lp(t,null,s,o):Zr(t,e.child,s,o)}function ng(e,t,s,o,c){s=s.render;var d=t.ref;if("ref"in o){var y={};for(var w in o)w!=="ref"&&(y[w]=o[w])}else y=o;return Fr(t),o=Bu(e,t,s,y,d,c),w=Yu(),e!==null&&!Wt?(Vu(e,t,c),Is(e,t,c)):(mt&&w&&Su(t),t.flags|=1,hn(e,t,o,c),t.child)}function sg(e,t,s,o,c){if(e===null){var d=s.type;return typeof d=="function"&&!bu(d)&&d.defaultProps===void 0&&s.compare===null?(t.tag=15,t.type=d,rg(e,t,d,o,c)):(e=Wa(s.type,null,o,t,t.mode,c),e.ref=t.ref,e.return=t,t.child=e)}if(d=e.child,!md(e,c)){var y=d.memoizedProps;if(s=s.compare,s=s!==null?s:Mo,s(y,o)&&e.ref===t.ref)return Is(e,t,c)}return t.flags|=1,e=As(d,o),e.ref=t.ref,e.return=t,t.child=e}function rg(e,t,s,o,c){if(e!==null){var d=e.memoizedProps;if(Mo(d,o)&&e.ref===t.ref)if(Wt=!1,t.pendingProps=o=d,md(e,c))(e.flags&131072)!==0&&(Wt=!0);else return t.lanes=e.lanes,Is(e,t,c)}return od(e,t,s,o,c)}function lg(e,t,s,o){var c=o.children,d=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),o.mode==="hidden"){if((t.flags&128)!==0){if(d=d!==null?d.baseLanes|s:s,e!==null){for(o=t.child=e.child,c=0;o!==null;)c=c|o.lanes|o.childLanes,o=o.sibling;o=c&~d}else o=0,t.child=null;return og(e,t,d,s,o)}if((s&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&si(t,d!==null?d.cachePool:null),d!==null?ip(t,d):Lu(),cp(t);else return o=t.lanes=536870912,og(e,t,d!==null?d.baseLanes|s:s,s,o)}else d!==null?(si(t,d.cachePool),ip(t,d),dr(),t.memoizedState=null):(e!==null&&si(t,null),Lu(),dr());return hn(e,t,c,s),t.child}function Ko(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function og(e,t,s,o,c){var d=ku();return d=d===null?null:{parent:Zt._currentValue,pool:d},t.memoizedState={baseLanes:s,cachePool:d},e!==null&&si(t,null),Lu(),cp(t),e!==null&&Ul(e,t,o,!0),t.childLanes=c,null}function yi(e,t){return t=Si({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function ag(e,t,s){return Zr(t,e.child,null,s),e=yi(t,t.pendingProps),e.flags|=2,Un(t),t.memoizedState=null,e}function kS(e,t,s){var o=t.pendingProps,c=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(mt){if(o.mode==="hidden")return e=yi(t,o),t.lanes=536870912,Ko(null,e);if(Iu(t),(e=Lt)?(e=yx(e,Zn),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:sr!==null?{id:us,overflow:ds}:null,retryLane:536870912,hydrationErrors:null},s=Gh(e),s.return=t,t.child=s,fn=t,Lt=null)):e=null,e===null)throw lr(t);return t.lanes=536870912,null}return yi(t,o)}var d=e.memoizedState;if(d!==null){var y=d.dehydrated;if(Iu(t),c)if(t.flags&256)t.flags&=-257,t=ag(e,t,s);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(a(558));else if(Wt||Ul(e,t,s,!1),c=(s&e.childLanes)!==0,Wt||c){if(o=Dt,o!==null&&(y=dn(o,s),y!==0&&y!==d.retryLane))throw d.retryLane=y,qr(e,y),On(o,e,y),ld;ki(),t=ag(e,t,s)}else e=d.treeContext,Lt=Wn(y.nextSibling),fn=t,mt=!0,rr=null,Zn=!1,e!==null&&Fh(t,e),t=yi(t,o),t.flags|=4096;return t}return e=As(e.child,{mode:o.mode,children:o.children}),e.ref=t.ref,t.child=e,e.return=t,e}function vi(e,t){var s=t.ref;if(s===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof s!="function"&&typeof s!="object")throw Error(a(284));(e===null||e.ref!==s)&&(t.flags|=4194816)}}function od(e,t,s,o,c){return Fr(t),s=Bu(e,t,s,o,void 0,c),o=Yu(),e!==null&&!Wt?(Vu(e,t,c),Is(e,t,c)):(mt&&o&&Su(t),t.flags|=1,hn(e,t,s,c),t.child)}function ig(e,t,s,o,c,d){return Fr(t),t.updateQueue=null,s=dp(t,o,s,c),up(e),o=Yu(),e!==null&&!Wt?(Vu(e,t,d),Is(e,t,d)):(mt&&o&&Su(t),t.flags|=1,hn(e,t,s,d),t.child)}function cg(e,t,s,o,c){if(Fr(t),t.stateNode===null){var d=Ml,y=s.contextType;typeof y=="object"&&y!==null&&(d=mn(y)),d=new s(o,d),t.memoizedState=d.state!==null&&d.state!==void 0?d.state:null,d.updater=sd,t.stateNode=d,d._reactInternals=t,d=t.stateNode,d.props=o,d.state=t.memoizedState,d.refs={},Au(t),y=s.contextType,d.context=typeof y=="object"&&y!==null?mn(y):Ml,d.state=t.memoizedState,y=s.getDerivedStateFromProps,typeof y=="function"&&(nd(t,s,y,o),d.state=t.memoizedState),typeof s.getDerivedStateFromProps=="function"||typeof d.getSnapshotBeforeUpdate=="function"||typeof d.UNSAFE_componentWillMount!="function"&&typeof d.componentWillMount!="function"||(y=d.state,typeof d.componentWillMount=="function"&&d.componentWillMount(),typeof d.UNSAFE_componentWillMount=="function"&&d.UNSAFE_componentWillMount(),y!==d.state&&sd.enqueueReplaceState(d,d.state,null),qo(t,o,d,c),Vo(),d.state=t.memoizedState),typeof d.componentDidMount=="function"&&(t.flags|=4194308),o=!0}else if(e===null){d=t.stateNode;var w=t.memoizedProps,Y=Wr(s,w);d.props=Y;var te=d.context,fe=s.contextType;y=Ml,typeof fe=="object"&&fe!==null&&(y=mn(fe));var xe=s.getDerivedStateFromProps;fe=typeof xe=="function"||typeof d.getSnapshotBeforeUpdate=="function",w=t.pendingProps!==w,fe||typeof d.UNSAFE_componentWillReceiveProps!="function"&&typeof d.componentWillReceiveProps!="function"||(w||te!==y)&&$p(t,d,o,y),ar=!1;var oe=t.memoizedState;d.state=oe,qo(t,o,d,c),Vo(),te=t.memoizedState,w||oe!==te||ar?(typeof xe=="function"&&(nd(t,s,xe,o),te=t.memoizedState),(Y=ar||Kp(t,s,Y,o,oe,te,y))?(fe||typeof d.UNSAFE_componentWillMount!="function"&&typeof d.componentWillMount!="function"||(typeof d.componentWillMount=="function"&&d.componentWillMount(),typeof d.UNSAFE_componentWillMount=="function"&&d.UNSAFE_componentWillMount()),typeof d.componentDidMount=="function"&&(t.flags|=4194308)):(typeof d.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=o,t.memoizedState=te),d.props=o,d.state=te,d.context=y,o=Y):(typeof d.componentDidMount=="function"&&(t.flags|=4194308),o=!1)}else{d=t.stateNode,Mu(e,t),y=t.memoizedProps,fe=Wr(s,y),d.props=fe,xe=t.pendingProps,oe=d.context,te=s.contextType,Y=Ml,typeof te=="object"&&te!==null&&(Y=mn(te)),w=s.getDerivedStateFromProps,(te=typeof w=="function"||typeof d.getSnapshotBeforeUpdate=="function")||typeof d.UNSAFE_componentWillReceiveProps!="function"&&typeof d.componentWillReceiveProps!="function"||(y!==xe||oe!==Y)&&$p(t,d,o,Y),ar=!1,oe=t.memoizedState,d.state=oe,qo(t,o,d,c),Vo();var ae=t.memoizedState;y!==xe||oe!==ae||ar||e!==null&&e.dependencies!==null&&ti(e.dependencies)?(typeof w=="function"&&(nd(t,s,w,o),ae=t.memoizedState),(fe=ar||Kp(t,s,fe,o,oe,ae,Y)||e!==null&&e.dependencies!==null&&ti(e.dependencies))?(te||typeof d.UNSAFE_componentWillUpdate!="function"&&typeof d.componentWillUpdate!="function"||(typeof d.componentWillUpdate=="function"&&d.componentWillUpdate(o,ae,Y),typeof d.UNSAFE_componentWillUpdate=="function"&&d.UNSAFE_componentWillUpdate(o,ae,Y)),typeof d.componentDidUpdate=="function"&&(t.flags|=4),typeof d.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof d.componentDidUpdate!="function"||y===e.memoizedProps&&oe===e.memoizedState||(t.flags|=4),typeof d.getSnapshotBeforeUpdate!="function"||y===e.memoizedProps&&oe===e.memoizedState||(t.flags|=1024),t.memoizedProps=o,t.memoizedState=ae),d.props=o,d.state=ae,d.context=Y,o=fe):(typeof d.componentDidUpdate!="function"||y===e.memoizedProps&&oe===e.memoizedState||(t.flags|=4),typeof d.getSnapshotBeforeUpdate!="function"||y===e.memoizedProps&&oe===e.memoizedState||(t.flags|=1024),o=!1)}return d=o,vi(e,t),o=(t.flags&128)!==0,d||o?(d=t.stateNode,s=o&&typeof s.getDerivedStateFromError!="function"?null:d.render(),t.flags|=1,e!==null&&o?(t.child=Zr(t,e.child,null,c),t.child=Zr(t,null,s,c)):hn(e,t,s,c),t.memoizedState=d.state,e=t.child):e=Is(e,t,c),e}function ug(e,t,s,o){return Xr(),t.flags|=256,hn(e,t,s,o),t.child}var ad={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function id(e){return{baseLanes:e,cachePool:Wh()}}function cd(e,t,s){return e=e!==null?e.childLanes&~s:0,t&&(e|=Hn),e}function dg(e,t,s){var o=t.pendingProps,c=!1,d=(t.flags&128)!==0,y;if((y=d)||(y=e!==null&&e.memoizedState===null?!1:(Xt.current&2)!==0),y&&(c=!0,t.flags&=-129),y=(t.flags&32)!==0,t.flags&=-33,e===null){if(mt){if(c?ur(t):dr(),(e=Lt)?(e=yx(e,Zn),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:sr!==null?{id:us,overflow:ds}:null,retryLane:536870912,hydrationErrors:null},s=Gh(e),s.return=t,t.child=s,fn=t,Lt=null)):e=null,e===null)throw lr(t);return Xd(e)?t.lanes=32:t.lanes=536870912,null}var w=o.children;return o=o.fallback,c?(dr(),c=t.mode,w=Si({mode:"hidden",children:w},c),o=Gr(o,c,s,null),w.return=t,o.return=t,w.sibling=o,t.child=w,o=t.child,o.memoizedState=id(s),o.childLanes=cd(e,y,s),t.memoizedState=ad,Ko(null,o)):(ur(t),ud(t,w))}var Y=e.memoizedState;if(Y!==null&&(w=Y.dehydrated,w!==null)){if(d)t.flags&256?(ur(t),t.flags&=-257,t=dd(e,t,s)):t.memoizedState!==null?(dr(),t.child=e.child,t.flags|=128,t=null):(dr(),w=o.fallback,c=t.mode,o=Si({mode:"visible",children:o.children},c),w=Gr(w,c,s,null),w.flags|=2,o.return=t,w.return=t,o.sibling=w,t.child=o,Zr(t,e.child,null,s),o=t.child,o.memoizedState=id(s),o.childLanes=cd(e,y,s),t.memoizedState=ad,t=Ko(null,o));else if(ur(t),Xd(w)){if(y=w.nextSibling&&w.nextSibling.dataset,y)var te=y.dgst;y=te,o=Error(a(419)),o.stack="",o.digest=y,Lo({value:o,source:null,stack:null}),t=dd(e,t,s)}else if(Wt||Ul(e,t,s,!1),y=(s&e.childLanes)!==0,Wt||y){if(y=Dt,y!==null&&(o=dn(y,s),o!==0&&o!==Y.retryLane))throw Y.retryLane=o,qr(e,o),On(y,e,o),ld;Gd(w)||ki(),t=dd(e,t,s)}else Gd(w)?(t.flags|=192,t.child=e.child,t=null):(e=Y.treeContext,Lt=Wn(w.nextSibling),fn=t,mt=!0,rr=null,Zn=!1,e!==null&&Fh(t,e),t=ud(t,o.children),t.flags|=4096);return t}return c?(dr(),w=o.fallback,c=t.mode,Y=e.child,te=Y.sibling,o=As(Y,{mode:"hidden",children:o.children}),o.subtreeFlags=Y.subtreeFlags&65011712,te!==null?w=As(te,w):(w=Gr(w,c,s,null),w.flags|=2),w.return=t,o.return=t,o.sibling=w,t.child=o,Ko(null,o),o=t.child,w=e.child.memoizedState,w===null?w=id(s):(c=w.cachePool,c!==null?(Y=Zt._currentValue,c=c.parent!==Y?{parent:Y,pool:Y}:c):c=Wh(),w={baseLanes:w.baseLanes|s,cachePool:c}),o.memoizedState=w,o.childLanes=cd(e,y,s),t.memoizedState=ad,Ko(e.child,o)):(ur(t),s=e.child,e=s.sibling,s=As(s,{mode:"visible",children:o.children}),s.return=t,s.sibling=null,e!==null&&(y=t.deletions,y===null?(t.deletions=[e],t.flags|=16):y.push(e)),t.child=s,t.memoizedState=null,s)}function ud(e,t){return t=Si({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function Si(e,t){return e=zn(22,e,null,t),e.lanes=0,e}function dd(e,t,s){return Zr(t,e.child,null,s),e=ud(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function fg(e,t,s){e.lanes|=t;var o=e.alternate;o!==null&&(o.lanes|=t),ju(e.return,t,s)}function fd(e,t,s,o,c,d){var y=e.memoizedState;y===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:o,tail:s,tailMode:c,treeForkCount:d}:(y.isBackwards=t,y.rendering=null,y.renderingStartTime=0,y.last=o,y.tail=s,y.tailMode=c,y.treeForkCount=d)}function mg(e,t,s){var o=t.pendingProps,c=o.revealOrder,d=o.tail;o=o.children;var y=Xt.current,w=(y&2)!==0;if(w?(y=y&1|2,t.flags|=128):y&=1,L(Xt,y),hn(e,t,o,s),o=mt?zo:0,!w&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&fg(e,s,t);else if(e.tag===19)fg(e,s,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(c){case"forwards":for(s=t.child,c=null;s!==null;)e=s.alternate,e!==null&&ci(e)===null&&(c=s),s=s.sibling;s=c,s===null?(c=t.child,t.child=null):(c=s.sibling,s.sibling=null),fd(t,!1,c,s,d,o);break;case"backwards":case"unstable_legacy-backwards":for(s=null,c=t.child,t.child=null;c!==null;){if(e=c.alternate,e!==null&&ci(e)===null){t.child=c;break}e=c.sibling,c.sibling=s,s=c,c=e}fd(t,!0,s,null,d,o);break;case"together":fd(t,!1,null,null,void 0,o);break;default:t.memoizedState=null}return t.child}function Is(e,t,s){if(e!==null&&(t.dependencies=e.dependencies),hr|=t.lanes,(s&t.childLanes)===0)if(e!==null){if(Ul(e,t,s,!1),(s&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(a(153));if(t.child!==null){for(e=t.child,s=As(e,e.pendingProps),t.child=s,s.return=t;e.sibling!==null;)e=e.sibling,s=s.sibling=As(e,e.pendingProps),s.return=t;s.sibling=null}return t.child}function md(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&ti(e)))}function _S(e,t,s){switch(t.tag){case 3:ie(t,t.stateNode.containerInfo),or(t,Zt,e.memoizedState.cache),Xr();break;case 27:case 5:ze(t);break;case 4:ie(t,t.stateNode.containerInfo);break;case 10:or(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Iu(t),null;break;case 13:var o=t.memoizedState;if(o!==null)return o.dehydrated!==null?(ur(t),t.flags|=128,null):(s&t.child.childLanes)!==0?dg(e,t,s):(ur(t),e=Is(e,t,s),e!==null?e.sibling:null);ur(t);break;case 19:var c=(e.flags&128)!==0;if(o=(s&t.childLanes)!==0,o||(Ul(e,t,s,!1),o=(s&t.childLanes)!==0),c){if(o)return mg(e,t,s);t.flags|=128}if(c=t.memoizedState,c!==null&&(c.rendering=null,c.tail=null,c.lastEffect=null),L(Xt,Xt.current),o)break;return null;case 22:return t.lanes=0,lg(e,t,s,t.pendingProps);case 24:or(t,Zt,e.memoizedState.cache)}return Is(e,t,s)}function hg(e,t,s){if(e!==null)if(e.memoizedProps!==t.pendingProps)Wt=!0;else{if(!md(e,s)&&(t.flags&128)===0)return Wt=!1,_S(e,t,s);Wt=(e.flags&131072)!==0}else Wt=!1,mt&&(t.flags&1048576)!==0&&Ph(t,zo,t.index);switch(t.lanes=0,t.tag){case 16:e:{var o=t.pendingProps;if(e=$r(t.elementType),t.type=e,typeof e=="function")bu(e)?(o=Wr(e,o),t.tag=1,t=cg(null,t,e,o,s)):(t.tag=0,t=od(null,t,e,o,s));else{if(e!=null){var c=e.$$typeof;if(c===O){t.tag=11,t=ng(null,t,e,o,s);break e}else if(c===H){t.tag=14,t=sg(null,t,e,o,s);break e}}throw t=ne(e)||e,Error(a(306,t,""))}}return t;case 0:return od(e,t,t.type,t.pendingProps,s);case 1:return o=t.type,c=Wr(o,t.pendingProps),cg(e,t,o,c,s);case 3:e:{if(ie(t,t.stateNode.containerInfo),e===null)throw Error(a(387));o=t.pendingProps;var d=t.memoizedState;c=d.element,Mu(e,t),qo(t,o,null,s);var y=t.memoizedState;if(o=y.cache,or(t,Zt,o),o!==d.cache&&Cu(t,[Zt],s,!0),Vo(),o=y.element,d.isDehydrated)if(d={element:o,isDehydrated:!1,cache:y.cache},t.updateQueue.baseState=d,t.memoizedState=d,t.flags&256){t=ug(e,t,o,s);break e}else if(o!==c){c=Kn(Error(a(424)),t),Lo(c),t=ug(e,t,o,s);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,Lt=Wn(e.firstChild),fn=t,mt=!0,rr=null,Zn=!0,s=lp(t,null,o,s),t.child=s;s;)s.flags=s.flags&-3|4096,s=s.sibling;else{if(Xr(),o===c){t=Is(e,t,s);break e}hn(e,t,o,s)}t=t.child}return t;case 26:return vi(e,t),e===null?(s=wx(t.type,null,t.pendingProps,null))?t.memoizedState=s:mt||(s=t.type,e=t.pendingProps,o=Ui(W.current).createElement(s),o[tn]=t,o[En]=e,pn(o,s,e),an(o),t.stateNode=o):t.memoizedState=wx(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return ze(t),e===null&&mt&&(o=t.stateNode=Ex(t.type,t.pendingProps,W.current),fn=t,Zn=!0,c=Lt,yr(t.type)?(Pd=c,Lt=Wn(o.firstChild)):Lt=c),hn(e,t,t.pendingProps.children,s),vi(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&mt&&((c=o=Lt)&&(o=aE(o,t.type,t.pendingProps,Zn),o!==null?(t.stateNode=o,fn=t,Lt=Wn(o.firstChild),Zn=!1,c=!0):c=!1),c||lr(t)),ze(t),c=t.type,d=t.pendingProps,y=e!==null?e.memoizedProps:null,o=d.children,Yd(c,d)?o=null:y!==null&&Yd(c,y)&&(t.flags|=32),t.memoizedState!==null&&(c=Bu(e,t,ES,null,null,s),ca._currentValue=c),vi(e,t),hn(e,t,o,s),t.child;case 6:return e===null&&mt&&((e=s=Lt)&&(s=iE(s,t.pendingProps,Zn),s!==null?(t.stateNode=s,fn=t,Lt=null,e=!0):e=!1),e||lr(t)),null;case 13:return dg(e,t,s);case 4:return ie(t,t.stateNode.containerInfo),o=t.pendingProps,e===null?t.child=Zr(t,null,o,s):hn(e,t,o,s),t.child;case 11:return ng(e,t,t.type,t.pendingProps,s);case 7:return hn(e,t,t.pendingProps,s),t.child;case 8:return hn(e,t,t.pendingProps.children,s),t.child;case 12:return hn(e,t,t.pendingProps.children,s),t.child;case 10:return o=t.pendingProps,or(t,t.type,o.value),hn(e,t,o.children,s),t.child;case 9:return c=t.type._context,o=t.pendingProps.children,Fr(t),c=mn(c),o=o(c),t.flags|=1,hn(e,t,o,s),t.child;case 14:return sg(e,t,t.type,t.pendingProps,s);case 15:return rg(e,t,t.type,t.pendingProps,s);case 19:return mg(e,t,s);case 31:return kS(e,t,s);case 22:return lg(e,t,s,t.pendingProps);case 24:return Fr(t),o=mn(Zt),e===null?(c=ku(),c===null&&(c=Dt,d=Ou(),c.pooledCache=d,d.refCount++,d!==null&&(c.pooledCacheLanes|=s),c=d),t.memoizedState={parent:o,cache:c},Au(t),or(t,Zt,c)):((e.lanes&s)!==0&&(Mu(e,t),qo(t,null,null,s),Vo()),c=e.memoizedState,d=t.memoizedState,c.parent!==o?(c={parent:o,cache:o},t.memoizedState=c,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=c),or(t,Zt,o)):(o=d.cache,or(t,Zt,o),o!==c.cache&&Cu(t,[Zt],s,!0))),hn(e,t,t.pendingProps.children,s),t.child;case 29:throw t.pendingProps}throw Error(a(156,t.tag))}function Hs(e){e.flags|=4}function hd(e,t,s,o,c){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(c&335544128)===c)if(e.stateNode.complete)e.flags|=8192;else if(Yg())e.flags|=8192;else throw Qr=li,_u}else e.flags&=-16777217}function pg(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!kx(t))if(Yg())e.flags|=8192;else throw Qr=li,_u}function Ei(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Gt():536870912,e.lanes|=t,$l|=t)}function $o(e,t){if(!mt)switch(e.tailMode){case"hidden":t=e.tail;for(var s=null;t!==null;)t.alternate!==null&&(s=t),t=t.sibling;s===null?e.tail=null:s.sibling=null;break;case"collapsed":s=e.tail;for(var o=null;s!==null;)s.alternate!==null&&(o=s),s=s.sibling;o===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:o.sibling=null}}function Ut(e){var t=e.alternate!==null&&e.alternate.child===e.child,s=0,o=0;if(t)for(var c=e.child;c!==null;)s|=c.lanes|c.childLanes,o|=c.subtreeFlags&65011712,o|=c.flags&65011712,c.return=e,c=c.sibling;else for(c=e.child;c!==null;)s|=c.lanes|c.childLanes,o|=c.subtreeFlags,o|=c.flags,c.return=e,c=c.sibling;return e.subtreeFlags|=o,e.childLanes=s,t}function AS(e,t,s){var o=t.pendingProps;switch(Eu(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ut(t),null;case 1:return Ut(t),null;case 3:return s=t.stateNode,o=null,e!==null&&(o=e.memoizedState.cache),t.memoizedState.cache!==o&&(t.flags|=2048),zs(Zt),de(),s.pendingContext&&(s.context=s.pendingContext,s.pendingContext=null),(e===null||e.child===null)&&(Ll(t)?Hs(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Tu())),Ut(t),null;case 26:var c=t.type,d=t.memoizedState;return e===null?(Hs(t),d!==null?(Ut(t),pg(t,d)):(Ut(t),hd(t,c,null,o,s))):d?d!==e.memoizedState?(Hs(t),Ut(t),pg(t,d)):(Ut(t),t.flags&=-16777217):(e=e.memoizedProps,e!==o&&Hs(t),Ut(t),hd(t,c,e,o,s)),null;case 27:if(Ge(t),s=W.current,c=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==o&&Hs(t);else{if(!o){if(t.stateNode===null)throw Error(a(166));return Ut(t),null}e=I.current,Ll(t)?Kh(t):(e=Ex(c,o,s),t.stateNode=e,Hs(t))}return Ut(t),null;case 5:if(Ge(t),c=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==o&&Hs(t);else{if(!o){if(t.stateNode===null)throw Error(a(166));return Ut(t),null}if(d=I.current,Ll(t))Kh(t);else{var y=Ui(W.current);switch(d){case 1:d=y.createElementNS("http://www.w3.org/2000/svg",c);break;case 2:d=y.createElementNS("http://www.w3.org/1998/Math/MathML",c);break;default:switch(c){case"svg":d=y.createElementNS("http://www.w3.org/2000/svg",c);break;case"math":d=y.createElementNS("http://www.w3.org/1998/Math/MathML",c);break;case"script":d=y.createElement("div"),d.innerHTML="<script><\/script>",d=d.removeChild(d.firstChild);break;case"select":d=typeof o.is=="string"?y.createElement("select",{is:o.is}):y.createElement("select"),o.multiple?d.multiple=!0:o.size&&(d.size=o.size);break;default:d=typeof o.is=="string"?y.createElement(c,{is:o.is}):y.createElement(c)}}d[tn]=t,d[En]=o;e:for(y=t.child;y!==null;){if(y.tag===5||y.tag===6)d.appendChild(y.stateNode);else if(y.tag!==4&&y.tag!==27&&y.child!==null){y.child.return=y,y=y.child;continue}if(y===t)break e;for(;y.sibling===null;){if(y.return===null||y.return===t)break e;y=y.return}y.sibling.return=y.return,y=y.sibling}t.stateNode=d;e:switch(pn(d,c,o),c){case"button":case"input":case"select":case"textarea":o=!!o.autoFocus;break e;case"img":o=!0;break e;default:o=!1}o&&Hs(t)}}return Ut(t),hd(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,s),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==o&&Hs(t);else{if(typeof o!="string"&&t.stateNode===null)throw Error(a(166));if(e=W.current,Ll(t)){if(e=t.stateNode,s=t.memoizedProps,o=null,c=fn,c!==null)switch(c.tag){case 27:case 5:o=c.memoizedProps}e[tn]=t,e=!!(e.nodeValue===s||o!==null&&o.suppressHydrationWarning===!0||dx(e.nodeValue,s)),e||lr(t,!0)}else e=Ui(e).createTextNode(o),e[tn]=t,t.stateNode=e}return Ut(t),null;case 31:if(s=t.memoizedState,e===null||e.memoizedState!==null){if(o=Ll(t),s!==null){if(e===null){if(!o)throw Error(a(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(a(557));e[tn]=t}else Xr(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ut(t),e=!1}else s=Tu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=s),e=!0;if(!e)return t.flags&256?(Un(t),t):(Un(t),null);if((t.flags&128)!==0)throw Error(a(558))}return Ut(t),null;case 13:if(o=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(c=Ll(t),o!==null&&o.dehydrated!==null){if(e===null){if(!c)throw Error(a(318));if(c=t.memoizedState,c=c!==null?c.dehydrated:null,!c)throw Error(a(317));c[tn]=t}else Xr(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ut(t),c=!1}else c=Tu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=c),c=!0;if(!c)return t.flags&256?(Un(t),t):(Un(t),null)}return Un(t),(t.flags&128)!==0?(t.lanes=s,t):(s=o!==null,e=e!==null&&e.memoizedState!==null,s&&(o=t.child,c=null,o.alternate!==null&&o.alternate.memoizedState!==null&&o.alternate.memoizedState.cachePool!==null&&(c=o.alternate.memoizedState.cachePool.pool),d=null,o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(d=o.memoizedState.cachePool.pool),d!==c&&(o.flags|=2048)),s!==e&&s&&(t.child.flags|=8192),Ei(t,t.updateQueue),Ut(t),null);case 4:return de(),e===null&&Ld(t.stateNode.containerInfo),Ut(t),null;case 10:return zs(t.type),Ut(t),null;case 19:if(z(Xt),o=t.memoizedState,o===null)return Ut(t),null;if(c=(t.flags&128)!==0,d=o.rendering,d===null)if(c)$o(o,!1);else{if(Vt!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(d=ci(e),d!==null){for(t.flags|=128,$o(o,!1),e=d.updateQueue,t.updateQueue=e,Ei(t,e),t.subtreeFlags=0,e=s,s=t.child;s!==null;)qh(s,e),s=s.sibling;return L(Xt,Xt.current&1|2),mt&&Ms(t,o.treeForkCount),t.child}e=e.sibling}o.tail!==null&&ce()>Ci&&(t.flags|=128,c=!0,$o(o,!1),t.lanes=4194304)}else{if(!c)if(e=ci(d),e!==null){if(t.flags|=128,c=!0,e=e.updateQueue,t.updateQueue=e,Ei(t,e),$o(o,!0),o.tail===null&&o.tailMode==="hidden"&&!d.alternate&&!mt)return Ut(t),null}else 2*ce()-o.renderingStartTime>Ci&&s!==536870912&&(t.flags|=128,c=!0,$o(o,!1),t.lanes=4194304);o.isBackwards?(d.sibling=t.child,t.child=d):(e=o.last,e!==null?e.sibling=d:t.child=d,o.last=d)}return o.tail!==null?(e=o.tail,o.rendering=e,o.tail=e.sibling,o.renderingStartTime=ce(),e.sibling=null,s=Xt.current,L(Xt,c?s&1|2:s&1),mt&&Ms(t,o.treeForkCount),e):(Ut(t),null);case 22:case 23:return Un(t),Uu(),o=t.memoizedState!==null,e!==null?e.memoizedState!==null!==o&&(t.flags|=8192):o&&(t.flags|=8192),o?(s&536870912)!==0&&(t.flags&128)===0&&(Ut(t),t.subtreeFlags&6&&(t.flags|=8192)):Ut(t),s=t.updateQueue,s!==null&&Ei(t,s.retryQueue),s=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(s=e.memoizedState.cachePool.pool),o=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(o=t.memoizedState.cachePool.pool),o!==s&&(t.flags|=2048),e!==null&&z(Kr),null;case 24:return s=null,e!==null&&(s=e.memoizedState.cache),t.memoizedState.cache!==s&&(t.flags|=2048),zs(Zt),Ut(t),null;case 25:return null;case 30:return null}throw Error(a(156,t.tag))}function MS(e,t){switch(Eu(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return zs(Zt),de(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Ge(t),null;case 31:if(t.memoizedState!==null){if(Un(t),t.alternate===null)throw Error(a(340));Xr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Un(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));Xr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return z(Xt),null;case 4:return de(),null;case 10:return zs(t.type),null;case 22:case 23:return Un(t),Uu(),e!==null&&z(Kr),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return zs(Zt),null;case 25:return null;default:return null}}function gg(e,t){switch(Eu(t),t.tag){case 3:zs(Zt),de();break;case 26:case 27:case 5:Ge(t);break;case 4:de();break;case 31:t.memoizedState!==null&&Un(t);break;case 13:Un(t);break;case 19:z(Xt);break;case 10:zs(t.type);break;case 22:case 23:Un(t),Uu(),e!==null&&z(Kr);break;case 24:zs(Zt)}}function Qo(e,t){try{var s=t.updateQueue,o=s!==null?s.lastEffect:null;if(o!==null){var c=o.next;s=c;do{if((s.tag&e)===e){o=void 0;var d=s.create,y=s.inst;o=d(),y.destroy=o}s=s.next}while(s!==c)}}catch(w){Ot(t,t.return,w)}}function fr(e,t,s){try{var o=t.updateQueue,c=o!==null?o.lastEffect:null;if(c!==null){var d=c.next;o=d;do{if((o.tag&e)===e){var y=o.inst,w=y.destroy;if(w!==void 0){y.destroy=void 0,c=t;var Y=s,te=w;try{te()}catch(fe){Ot(c,Y,fe)}}}o=o.next}while(o!==d)}}catch(fe){Ot(t,t.return,fe)}}function xg(e){var t=e.updateQueue;if(t!==null){var s=e.stateNode;try{ap(t,s)}catch(o){Ot(e,e.return,o)}}}function bg(e,t,s){s.props=Wr(e.type,e.memoizedProps),s.state=e.memoizedState;try{s.componentWillUnmount()}catch(o){Ot(e,t,o)}}function Zo(e,t){try{var s=e.ref;if(s!==null){switch(e.tag){case 26:case 27:case 5:var o=e.stateNode;break;case 30:o=e.stateNode;break;default:o=e.stateNode}typeof s=="function"?e.refCleanup=s(o):s.current=o}}catch(c){Ot(e,t,c)}}function fs(e,t){var s=e.ref,o=e.refCleanup;if(s!==null)if(typeof o=="function")try{o()}catch(c){Ot(e,t,c)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof s=="function")try{s(null)}catch(c){Ot(e,t,c)}else s.current=null}function yg(e){var t=e.type,s=e.memoizedProps,o=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":s.autoFocus&&o.focus();break e;case"img":s.src?o.src=s.src:s.srcSet&&(o.srcset=s.srcSet)}}catch(c){Ot(e,e.return,c)}}function pd(e,t,s){try{var o=e.stateNode;tE(o,e.type,s,t),o[En]=t}catch(c){Ot(e,e.return,c)}}function vg(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&yr(e.type)||e.tag===4}function gd(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||vg(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&&yr(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 xd(e,t,s){var o=e.tag;if(o===5||o===6)e=e.stateNode,t?(s.nodeType===9?s.body:s.nodeName==="HTML"?s.ownerDocument.body:s).insertBefore(e,t):(t=s.nodeType===9?s.body:s.nodeName==="HTML"?s.ownerDocument.body:s,t.appendChild(e),s=s._reactRootContainer,s!=null||t.onclick!==null||(t.onclick=ks));else if(o!==4&&(o===27&&yr(e.type)&&(s=e.stateNode,t=null),e=e.child,e!==null))for(xd(e,t,s),e=e.sibling;e!==null;)xd(e,t,s),e=e.sibling}function Ni(e,t,s){var o=e.tag;if(o===5||o===6)e=e.stateNode,t?s.insertBefore(e,t):s.appendChild(e);else if(o!==4&&(o===27&&yr(e.type)&&(s=e.stateNode),e=e.child,e!==null))for(Ni(e,t,s),e=e.sibling;e!==null;)Ni(e,t,s),e=e.sibling}function Sg(e){var t=e.stateNode,s=e.memoizedProps;try{for(var o=e.type,c=t.attributes;c.length;)t.removeAttributeNode(c[0]);pn(t,o,s),t[tn]=e,t[En]=s}catch(d){Ot(e,e.return,d)}}var Bs=!1,en=!1,bd=!1,Eg=typeof WeakSet=="function"?WeakSet:Set,cn=null;function DS(e,t){if(e=e.containerInfo,Hd=Gi,e=Dh(e),du(e)){if("selectionStart"in e)var s={start:e.selectionStart,end:e.selectionEnd};else e:{s=(s=e.ownerDocument)&&s.defaultView||window;var o=s.getSelection&&s.getSelection();if(o&&o.rangeCount!==0){s=o.anchorNode;var c=o.anchorOffset,d=o.focusNode;o=o.focusOffset;try{s.nodeType,d.nodeType}catch{s=null;break e}var y=0,w=-1,Y=-1,te=0,fe=0,xe=e,oe=null;t:for(;;){for(var ae;xe!==s||c!==0&&xe.nodeType!==3||(w=y+c),xe!==d||o!==0&&xe.nodeType!==3||(Y=y+o),xe.nodeType===3&&(y+=xe.nodeValue.length),(ae=xe.firstChild)!==null;)oe=xe,xe=ae;for(;;){if(xe===e)break t;if(oe===s&&++te===c&&(w=y),oe===d&&++fe===o&&(Y=y),(ae=xe.nextSibling)!==null)break;xe=oe,oe=xe.parentNode}xe=ae}s=w===-1||Y===-1?null:{start:w,end:Y}}else s=null}s=s||{start:0,end:0}}else s=null;for(Bd={focusedElem:e,selectionRange:s},Gi=!1,cn=t;cn!==null;)if(t=cn,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,cn=e;else for(;cn!==null;){switch(t=cn,d=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(s=0;s<e.length;s++)c=e[s],c.ref.impl=c.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&d!==null){e=void 0,s=t,c=d.memoizedProps,d=d.memoizedState,o=s.stateNode;try{var Be=Wr(s.type,c);e=o.getSnapshotBeforeUpdate(Be,d),o.__reactInternalSnapshotBeforeUpdate=e}catch(Ze){Ot(s,s.return,Ze)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,s=e.nodeType,s===9)qd(e);else if(s===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":qd(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(a(163))}if(e=t.sibling,e!==null){e.return=t.return,cn=e;break}cn=t.return}}function Ng(e,t,s){var o=s.flags;switch(s.tag){case 0:case 11:case 15:Vs(e,s),o&4&&Qo(5,s);break;case 1:if(Vs(e,s),o&4)if(e=s.stateNode,t===null)try{e.componentDidMount()}catch(y){Ot(s,s.return,y)}else{var c=Wr(s.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(c,t,e.__reactInternalSnapshotBeforeUpdate)}catch(y){Ot(s,s.return,y)}}o&64&&xg(s),o&512&&Zo(s,s.return);break;case 3:if(Vs(e,s),o&64&&(e=s.updateQueue,e!==null)){if(t=null,s.child!==null)switch(s.child.tag){case 27:case 5:t=s.child.stateNode;break;case 1:t=s.child.stateNode}try{ap(e,t)}catch(y){Ot(s,s.return,y)}}break;case 27:t===null&&o&4&&Sg(s);case 26:case 5:Vs(e,s),t===null&&o&4&&yg(s),o&512&&Zo(s,s.return);break;case 12:Vs(e,s);break;case 31:Vs(e,s),o&4&&jg(e,s);break;case 13:Vs(e,s),o&4&&Cg(e,s),o&64&&(e=s.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(s=qS.bind(null,s),cE(e,s))));break;case 22:if(o=s.memoizedState!==null||Bs,!o){t=t!==null&&t.memoizedState!==null||en,c=Bs;var d=en;Bs=o,(en=t)&&!d?qs(e,s,(s.subtreeFlags&8772)!==0):Vs(e,s),Bs=c,en=d}break;case 30:break;default:Vs(e,s)}}function Tg(e){var t=e.alternate;t!==null&&(e.alternate=null,Tg(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&Kc(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Ht=null,Tn=!1;function Ys(e,t,s){for(s=s.child;s!==null;)wg(e,t,s),s=s.sibling}function wg(e,t,s){if(le&&typeof le.onCommitFiberUnmount=="function")try{le.onCommitFiberUnmount(We,s)}catch{}switch(s.tag){case 26:en||fs(s,t),Ys(e,t,s),s.memoizedState?s.memoizedState.count--:s.stateNode&&(s=s.stateNode,s.parentNode.removeChild(s));break;case 27:en||fs(s,t);var o=Ht,c=Tn;yr(s.type)&&(Ht=s.stateNode,Tn=!1),Ys(e,t,s),oa(s.stateNode),Ht=o,Tn=c;break;case 5:en||fs(s,t);case 6:if(o=Ht,c=Tn,Ht=null,Ys(e,t,s),Ht=o,Tn=c,Ht!==null)if(Tn)try{(Ht.nodeType===9?Ht.body:Ht.nodeName==="HTML"?Ht.ownerDocument.body:Ht).removeChild(s.stateNode)}catch(d){Ot(s,t,d)}else try{Ht.removeChild(s.stateNode)}catch(d){Ot(s,t,d)}break;case 18:Ht!==null&&(Tn?(e=Ht,xx(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,s.stateNode),so(e)):xx(Ht,s.stateNode));break;case 4:o=Ht,c=Tn,Ht=s.stateNode.containerInfo,Tn=!0,Ys(e,t,s),Ht=o,Tn=c;break;case 0:case 11:case 14:case 15:fr(2,s,t),en||fr(4,s,t),Ys(e,t,s);break;case 1:en||(fs(s,t),o=s.stateNode,typeof o.componentWillUnmount=="function"&&bg(s,t,o)),Ys(e,t,s);break;case 21:Ys(e,t,s);break;case 22:en=(o=en)||s.memoizedState!==null,Ys(e,t,s),en=o;break;default:Ys(e,t,s)}}function jg(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{so(e)}catch(s){Ot(t,t.return,s)}}}function Cg(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{so(e)}catch(s){Ot(t,t.return,s)}}function zS(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Eg),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Eg),t;default:throw Error(a(435,e.tag))}}function Ti(e,t){var s=zS(e);t.forEach(function(o){if(!s.has(o)){s.add(o);var c=GS.bind(null,e,o);o.then(c,c)}})}function wn(e,t){var s=t.deletions;if(s!==null)for(var o=0;o<s.length;o++){var c=s[o],d=e,y=t,w=y;e:for(;w!==null;){switch(w.tag){case 27:if(yr(w.type)){Ht=w.stateNode,Tn=!1;break e}break;case 5:Ht=w.stateNode,Tn=!1;break e;case 3:case 4:Ht=w.stateNode.containerInfo,Tn=!0;break e}w=w.return}if(Ht===null)throw Error(a(160));wg(d,y,c),Ht=null,Tn=!1,d=c.alternate,d!==null&&(d.return=null),c.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)Og(t,e),t=t.sibling}var os=null;function Og(e,t){var s=e.alternate,o=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:wn(t,e),jn(e),o&4&&(fr(3,e,e.return),Qo(3,e),fr(5,e,e.return));break;case 1:wn(t,e),jn(e),o&512&&(en||s===null||fs(s,s.return)),o&64&&Bs&&(e=e.updateQueue,e!==null&&(o=e.callbacks,o!==null&&(s=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=s===null?o:s.concat(o))));break;case 26:var c=os;if(wn(t,e),jn(e),o&512&&(en||s===null||fs(s,s.return)),o&4){var d=s!==null?s.memoizedState:null;if(o=e.memoizedState,s===null)if(o===null)if(e.stateNode===null){e:{o=e.type,s=e.memoizedProps,c=c.ownerDocument||c;t:switch(o){case"title":d=c.getElementsByTagName("title")[0],(!d||d[To]||d[tn]||d.namespaceURI==="http://www.w3.org/2000/svg"||d.hasAttribute("itemprop"))&&(d=c.createElement(o),c.head.insertBefore(d,c.querySelector("head > title"))),pn(d,o,s),d[tn]=e,an(d),o=d;break e;case"link":var y=Ox("link","href",c).get(o+(s.href||""));if(y){for(var w=0;w<y.length;w++)if(d=y[w],d.getAttribute("href")===(s.href==null||s.href===""?null:s.href)&&d.getAttribute("rel")===(s.rel==null?null:s.rel)&&d.getAttribute("title")===(s.title==null?null:s.title)&&d.getAttribute("crossorigin")===(s.crossOrigin==null?null:s.crossOrigin)){y.splice(w,1);break t}}d=c.createElement(o),pn(d,o,s),c.head.appendChild(d);break;case"meta":if(y=Ox("meta","content",c).get(o+(s.content||""))){for(w=0;w<y.length;w++)if(d=y[w],d.getAttribute("content")===(s.content==null?null:""+s.content)&&d.getAttribute("name")===(s.name==null?null:s.name)&&d.getAttribute("property")===(s.property==null?null:s.property)&&d.getAttribute("http-equiv")===(s.httpEquiv==null?null:s.httpEquiv)&&d.getAttribute("charset")===(s.charSet==null?null:s.charSet)){y.splice(w,1);break t}}d=c.createElement(o),pn(d,o,s),c.head.appendChild(d);break;default:throw Error(a(468,o))}d[tn]=e,an(d),o=d}e.stateNode=o}else Rx(c,e.type,e.stateNode);else e.stateNode=Cx(c,o,e.memoizedProps);else d!==o?(d===null?s.stateNode!==null&&(s=s.stateNode,s.parentNode.removeChild(s)):d.count--,o===null?Rx(c,e.type,e.stateNode):Cx(c,o,e.memoizedProps)):o===null&&e.stateNode!==null&&pd(e,e.memoizedProps,s.memoizedProps)}break;case 27:wn(t,e),jn(e),o&512&&(en||s===null||fs(s,s.return)),s!==null&&o&4&&pd(e,e.memoizedProps,s.memoizedProps);break;case 5:if(wn(t,e),jn(e),o&512&&(en||s===null||fs(s,s.return)),e.flags&32){c=e.stateNode;try{jl(c,"")}catch(Be){Ot(e,e.return,Be)}}o&4&&e.stateNode!=null&&(c=e.memoizedProps,pd(e,c,s!==null?s.memoizedProps:c)),o&1024&&(bd=!0);break;case 6:if(wn(t,e),jn(e),o&4){if(e.stateNode===null)throw Error(a(162));o=e.memoizedProps,s=e.stateNode;try{s.nodeValue=o}catch(Be){Ot(e,e.return,Be)}}break;case 3:if(Bi=null,c=os,os=Ii(t.containerInfo),wn(t,e),os=c,jn(e),o&4&&s!==null&&s.memoizedState.isDehydrated)try{so(t.containerInfo)}catch(Be){Ot(e,e.return,Be)}bd&&(bd=!1,Rg(e));break;case 4:o=os,os=Ii(e.stateNode.containerInfo),wn(t,e),jn(e),os=o;break;case 12:wn(t,e),jn(e);break;case 31:wn(t,e),jn(e),o&4&&(o=e.updateQueue,o!==null&&(e.updateQueue=null,Ti(e,o)));break;case 13:wn(t,e),jn(e),e.child.flags&8192&&e.memoizedState!==null!=(s!==null&&s.memoizedState!==null)&&(ji=ce()),o&4&&(o=e.updateQueue,o!==null&&(e.updateQueue=null,Ti(e,o)));break;case 22:c=e.memoizedState!==null;var Y=s!==null&&s.memoizedState!==null,te=Bs,fe=en;if(Bs=te||c,en=fe||Y,wn(t,e),en=fe,Bs=te,jn(e),o&8192)e:for(t=e.stateNode,t._visibility=c?t._visibility&-2:t._visibility|1,c&&(s===null||Y||Bs||en||el(e)),s=null,t=e;;){if(t.tag===5||t.tag===26){if(s===null){Y=s=t;try{if(d=Y.stateNode,c)y=d.style,typeof y.setProperty=="function"?y.setProperty("display","none","important"):y.display="none";else{w=Y.stateNode;var xe=Y.memoizedProps.style,oe=xe!=null&&xe.hasOwnProperty("display")?xe.display:null;w.style.display=oe==null||typeof oe=="boolean"?"":(""+oe).trim()}}catch(Be){Ot(Y,Y.return,Be)}}}else if(t.tag===6){if(s===null){Y=t;try{Y.stateNode.nodeValue=c?"":Y.memoizedProps}catch(Be){Ot(Y,Y.return,Be)}}}else if(t.tag===18){if(s===null){Y=t;try{var ae=Y.stateNode;c?bx(ae,!0):bx(Y.stateNode,!1)}catch(Be){Ot(Y,Y.return,Be)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;s===t&&(s=null),t=t.return}s===t&&(s=null),t.sibling.return=t.return,t=t.sibling}o&4&&(o=e.updateQueue,o!==null&&(s=o.retryQueue,s!==null&&(o.retryQueue=null,Ti(e,s))));break;case 19:wn(t,e),jn(e),o&4&&(o=e.updateQueue,o!==null&&(e.updateQueue=null,Ti(e,o)));break;case 30:break;case 21:break;default:wn(t,e),jn(e)}}function jn(e){var t=e.flags;if(t&2){try{for(var s,o=e.return;o!==null;){if(vg(o)){s=o;break}o=o.return}if(s==null)throw Error(a(160));switch(s.tag){case 27:var c=s.stateNode,d=gd(e);Ni(e,d,c);break;case 5:var y=s.stateNode;s.flags&32&&(jl(y,""),s.flags&=-33);var w=gd(e);Ni(e,w,y);break;case 3:case 4:var Y=s.stateNode.containerInfo,te=gd(e);xd(e,te,Y);break;default:throw Error(a(161))}}catch(fe){Ot(e,e.return,fe)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Rg(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;Rg(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Vs(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)Ng(e,t.alternate,t),t=t.sibling}function el(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:fr(4,t,t.return),el(t);break;case 1:fs(t,t.return);var s=t.stateNode;typeof s.componentWillUnmount=="function"&&bg(t,t.return,s),el(t);break;case 27:oa(t.stateNode);case 26:case 5:fs(t,t.return),el(t);break;case 22:t.memoizedState===null&&el(t);break;case 30:el(t);break;default:el(t)}e=e.sibling}}function qs(e,t,s){for(s=s&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var o=t.alternate,c=e,d=t,y=d.flags;switch(d.tag){case 0:case 11:case 15:qs(c,d,s),Qo(4,d);break;case 1:if(qs(c,d,s),o=d,c=o.stateNode,typeof c.componentDidMount=="function")try{c.componentDidMount()}catch(te){Ot(o,o.return,te)}if(o=d,c=o.updateQueue,c!==null){var w=o.stateNode;try{var Y=c.shared.hiddenCallbacks;if(Y!==null)for(c.shared.hiddenCallbacks=null,c=0;c<Y.length;c++)op(Y[c],w)}catch(te){Ot(o,o.return,te)}}s&&y&64&&xg(d),Zo(d,d.return);break;case 27:Sg(d);case 26:case 5:qs(c,d,s),s&&o===null&&y&4&&yg(d),Zo(d,d.return);break;case 12:qs(c,d,s);break;case 31:qs(c,d,s),s&&y&4&&jg(c,d);break;case 13:qs(c,d,s),s&&y&4&&Cg(c,d);break;case 22:d.memoizedState===null&&qs(c,d,s),Zo(d,d.return);break;case 30:break;default:qs(c,d,s)}t=t.sibling}}function yd(e,t){var s=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(s=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==s&&(e!=null&&e.refCount++,s!=null&&Uo(s))}function vd(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Uo(e))}function as(e,t,s,o){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)kg(e,t,s,o),t=t.sibling}function kg(e,t,s,o){var c=t.flags;switch(t.tag){case 0:case 11:case 15:as(e,t,s,o),c&2048&&Qo(9,t);break;case 1:as(e,t,s,o);break;case 3:as(e,t,s,o),c&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Uo(e)));break;case 12:if(c&2048){as(e,t,s,o),e=t.stateNode;try{var d=t.memoizedProps,y=d.id,w=d.onPostCommit;typeof w=="function"&&w(y,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(Y){Ot(t,t.return,Y)}}else as(e,t,s,o);break;case 31:as(e,t,s,o);break;case 13:as(e,t,s,o);break;case 23:break;case 22:d=t.stateNode,y=t.alternate,t.memoizedState!==null?d._visibility&2?as(e,t,s,o):Jo(e,t):d._visibility&2?as(e,t,s,o):(d._visibility|=2,Pl(e,t,s,o,(t.subtreeFlags&10256)!==0||!1)),c&2048&&yd(y,t);break;case 24:as(e,t,s,o),c&2048&&vd(t.alternate,t);break;default:as(e,t,s,o)}}function Pl(e,t,s,o,c){for(c=c&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var d=e,y=t,w=s,Y=o,te=y.flags;switch(y.tag){case 0:case 11:case 15:Pl(d,y,w,Y,c),Qo(8,y);break;case 23:break;case 22:var fe=y.stateNode;y.memoizedState!==null?fe._visibility&2?Pl(d,y,w,Y,c):Jo(d,y):(fe._visibility|=2,Pl(d,y,w,Y,c)),c&&te&2048&&yd(y.alternate,y);break;case 24:Pl(d,y,w,Y,c),c&&te&2048&&vd(y.alternate,y);break;default:Pl(d,y,w,Y,c)}t=t.sibling}}function Jo(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var s=e,o=t,c=o.flags;switch(o.tag){case 22:Jo(s,o),c&2048&&yd(o.alternate,o);break;case 24:Jo(s,o),c&2048&&vd(o.alternate,o);break;default:Jo(s,o)}t=t.sibling}}var Wo=8192;function Fl(e,t,s){if(e.subtreeFlags&Wo)for(e=e.child;e!==null;)_g(e,t,s),e=e.sibling}function _g(e,t,s){switch(e.tag){case 26:Fl(e,t,s),e.flags&Wo&&e.memoizedState!==null&&SE(s,os,e.memoizedState,e.memoizedProps);break;case 5:Fl(e,t,s);break;case 3:case 4:var o=os;os=Ii(e.stateNode.containerInfo),Fl(e,t,s),os=o;break;case 22:e.memoizedState===null&&(o=e.alternate,o!==null&&o.memoizedState!==null?(o=Wo,Wo=16777216,Fl(e,t,s),Wo=o):Fl(e,t,s));break;default:Fl(e,t,s)}}function Ag(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function ea(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var s=0;s<t.length;s++){var o=t[s];cn=o,Dg(o,e)}Ag(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Mg(e),e=e.sibling}function Mg(e){switch(e.tag){case 0:case 11:case 15:ea(e),e.flags&2048&&fr(9,e,e.return);break;case 3:ea(e);break;case 12:ea(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,wi(e)):ea(e);break;default:ea(e)}}function wi(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var s=0;s<t.length;s++){var o=t[s];cn=o,Dg(o,e)}Ag(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:fr(8,t,t.return),wi(t);break;case 22:s=t.stateNode,s._visibility&2&&(s._visibility&=-3,wi(t));break;default:wi(t)}e=e.sibling}}function Dg(e,t){for(;cn!==null;){var s=cn;switch(s.tag){case 0:case 11:case 15:fr(8,s,t);break;case 23:case 22:if(s.memoizedState!==null&&s.memoizedState.cachePool!==null){var o=s.memoizedState.cachePool.pool;o!=null&&o.refCount++}break;case 24:Uo(s.memoizedState.cache)}if(o=s.child,o!==null)o.return=s,cn=o;else e:for(s=e;cn!==null;){o=cn;var c=o.sibling,d=o.return;if(Tg(o),o===s){cn=null;break e}if(c!==null){c.return=d,cn=c;break e}cn=d}}}var LS={getCacheForType:function(e){var t=mn(Zt),s=t.data.get(e);return s===void 0&&(s=e(),t.data.set(e,s)),s},cacheSignal:function(){return mn(Zt).controller.signal}},US=typeof WeakMap=="function"?WeakMap:Map,wt=0,Dt=null,ot=null,ct=0,Ct=0,In=null,mr=!1,Kl=!1,Sd=!1,Gs=0,Vt=0,hr=0,tl=0,Ed=0,Hn=0,$l=0,ta=null,Cn=null,Nd=!1,ji=0,zg=0,Ci=1/0,Oi=null,pr=null,nn=0,gr=null,Ql=null,Xs=0,Td=0,wd=null,Lg=null,na=0,jd=null;function Bn(){return(wt&2)!==0&&ct!==0?ct&-ct:C.T!==null?Ad():Os()}function Ug(){if(Hn===0)if((ct&536870912)===0||mt){var e=Kt;Kt<<=1,(Kt&3932160)===0&&(Kt=262144),Hn=e}else Hn=536870912;return e=Ln.current,e!==null&&(e.flags|=32),Hn}function On(e,t,s){(e===Dt&&(Ct===2||Ct===9)||e.cancelPendingCommit!==null)&&(Zl(e,0),xr(e,ct,Hn,!1)),Mt(e,s),((wt&2)===0||e!==Dt)&&(e===Dt&&((wt&2)===0&&(tl|=s),Vt===4&&xr(e,ct,Hn,!1)),ms(e))}function Ig(e,t,s){if((wt&6)!==0)throw Error(a(327));var o=!s&&(t&127)===0&&(t&e.expiredLanes)===0||St(e,t),c=o?BS(e,t):Od(e,t,!0),d=o;do{if(c===0){Kl&&!o&&xr(e,t,0,!1);break}else{if(s=e.current.alternate,d&&!IS(s)){c=Od(e,t,!1),d=!1;continue}if(c===2){if(d=t,e.errorRecoveryDisabledLanes&d)var y=0;else y=e.pendingLanes&-536870913,y=y!==0?y:y&536870912?536870912:0;if(y!==0){t=y;e:{var w=e;c=ta;var Y=w.current.memoizedState.isDehydrated;if(Y&&(Zl(w,y).flags|=256),y=Od(w,y,!1),y!==2){if(Sd&&!Y){w.errorRecoveryDisabledLanes|=d,tl|=d,c=4;break e}d=Cn,Cn=c,d!==null&&(Cn===null?Cn=d:Cn.push.apply(Cn,d))}c=y}if(d=!1,c!==2)continue}}if(c===1){Zl(e,0),xr(e,t,0,!0);break}e:{switch(o=e,d=c,d){case 0:case 1:throw Error(a(345));case 4:if((t&4194048)!==t)break;case 6:xr(o,t,Hn,!mr);break e;case 2:Cn=null;break;case 3:case 5:break;default:throw Error(a(329))}if((t&62914560)===t&&(c=ji+300-ce(),10<c)){if(xr(o,t,Hn,!mr),Pe(o,0,!0)!==0)break e;Xs=t,o.timeoutHandle=px(Hg.bind(null,o,s,Cn,Oi,Nd,t,Hn,tl,$l,mr,d,"Throttled",-0,0),c);break e}Hg(o,s,Cn,Oi,Nd,t,Hn,tl,$l,mr,d,null,-0,0)}}break}while(!0);ms(e)}function Hg(e,t,s,o,c,d,y,w,Y,te,fe,xe,oe,ae){if(e.timeoutHandle=-1,xe=t.subtreeFlags,xe&8192||(xe&16785408)===16785408){xe={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:ks},_g(t,d,xe);var Be=(d&62914560)===d?ji-ce():(d&4194048)===d?zg-ce():0;if(Be=EE(xe,Be),Be!==null){Xs=d,e.cancelPendingCommit=Be(Fg.bind(null,e,t,d,s,o,c,y,w,Y,fe,xe,null,oe,ae)),xr(e,d,y,!te);return}}Fg(e,t,d,s,o,c,y,w,Y)}function IS(e){for(var t=e;;){var s=t.tag;if((s===0||s===11||s===15)&&t.flags&16384&&(s=t.updateQueue,s!==null&&(s=s.stores,s!==null)))for(var o=0;o<s.length;o++){var c=s[o],d=c.getSnapshot;c=c.value;try{if(!Dn(d(),c))return!1}catch{return!1}}if(s=t.child,t.subtreeFlags&16384&&s!==null)s.return=t,t=s;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function xr(e,t,s,o){t&=~Ed,t&=~tl,e.suspendedLanes|=t,e.pingedLanes&=~t,o&&(e.warmLanes|=t),o=e.expirationTimes;for(var c=t;0<c;){var d=31-Ce(c),y=1<<d;o[d]=-1,c&=~y}s!==0&&Cs(e,s,t)}function Ri(){return(wt&6)===0?(sa(0),!1):!0}function Cd(){if(ot!==null){if(Ct===0)var e=ot.return;else e=ot,Ds=Pr=null,qu(e),Yl=null,Ho=0,e=ot;for(;e!==null;)gg(e.alternate,e),e=e.return;ot=null}}function Zl(e,t){var s=e.timeoutHandle;s!==-1&&(e.timeoutHandle=-1,rE(s)),s=e.cancelPendingCommit,s!==null&&(e.cancelPendingCommit=null,s()),Xs=0,Cd(),Dt=e,ot=s=As(e.current,null),ct=t,Ct=0,In=null,mr=!1,Kl=St(e,t),Sd=!1,$l=Hn=Ed=tl=hr=Vt=0,Cn=ta=null,Nd=!1,(t&8)!==0&&(t|=t&32);var o=e.entangledLanes;if(o!==0)for(e=e.entanglements,o&=t;0<o;){var c=31-Ce(o),d=1<<c;t|=e[c],o&=~d}return Gs=t,Qa(),s}function Bg(e,t){st=null,C.H=Fo,t===Bl||t===ri?(t=np(),Ct=3):t===_u?(t=np(),Ct=4):Ct=t===ld?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,In=t,ot===null&&(Vt=1,bi(e,Kn(t,e.current)))}function Yg(){var e=Ln.current;return e===null?!0:(ct&4194048)===ct?Jn===null:(ct&62914560)===ct||(ct&536870912)!==0?e===Jn:!1}function Vg(){var e=C.H;return C.H=Fo,e===null?Fo:e}function qg(){var e=C.A;return C.A=LS,e}function ki(){Vt=4,mr||(ct&4194048)!==ct&&Ln.current!==null||(Kl=!0),(hr&134217727)===0&&(tl&134217727)===0||Dt===null||xr(Dt,ct,Hn,!1)}function Od(e,t,s){var o=wt;wt|=2;var c=Vg(),d=qg();(Dt!==e||ct!==t)&&(Oi=null,Zl(e,t)),t=!1;var y=Vt;e:do try{if(Ct!==0&&ot!==null){var w=ot,Y=In;switch(Ct){case 8:Cd(),y=6;break e;case 3:case 2:case 9:case 6:Ln.current===null&&(t=!0);var te=Ct;if(Ct=0,In=null,Jl(e,w,Y,te),s&&Kl){y=0;break e}break;default:te=Ct,Ct=0,In=null,Jl(e,w,Y,te)}}HS(),y=Vt;break}catch(fe){Bg(e,fe)}while(!0);return t&&e.shellSuspendCounter++,Ds=Pr=null,wt=o,C.H=c,C.A=d,ot===null&&(Dt=null,ct=0,Qa()),y}function HS(){for(;ot!==null;)Gg(ot)}function BS(e,t){var s=wt;wt|=2;var o=Vg(),c=qg();Dt!==e||ct!==t?(Oi=null,Ci=ce()+500,Zl(e,t)):Kl=St(e,t);e:do try{if(Ct!==0&&ot!==null){t=ot;var d=In;t:switch(Ct){case 1:Ct=0,In=null,Jl(e,t,d,1);break;case 2:case 9:if(ep(d)){Ct=0,In=null,Xg(t);break}t=function(){Ct!==2&&Ct!==9||Dt!==e||(Ct=7),ms(e)},d.then(t,t);break e;case 3:Ct=7;break e;case 4:Ct=5;break e;case 7:ep(d)?(Ct=0,In=null,Xg(t)):(Ct=0,In=null,Jl(e,t,d,7));break;case 5:var y=null;switch(ot.tag){case 26:y=ot.memoizedState;case 5:case 27:var w=ot;if(y?kx(y):w.stateNode.complete){Ct=0,In=null;var Y=w.sibling;if(Y!==null)ot=Y;else{var te=w.return;te!==null?(ot=te,_i(te)):ot=null}break t}}Ct=0,In=null,Jl(e,t,d,5);break;case 6:Ct=0,In=null,Jl(e,t,d,6);break;case 8:Cd(),Vt=6;break e;default:throw Error(a(462))}}YS();break}catch(fe){Bg(e,fe)}while(!0);return Ds=Pr=null,C.H=o,C.A=c,wt=s,ot!==null?0:(Dt=null,ct=0,Qa(),Vt)}function YS(){for(;ot!==null&&!Re();)Gg(ot)}function Gg(e){var t=hg(e.alternate,e,Gs);e.memoizedProps=e.pendingProps,t===null?_i(e):ot=t}function Xg(e){var t=e,s=t.alternate;switch(t.tag){case 15:case 0:t=ig(s,t,t.pendingProps,t.type,void 0,ct);break;case 11:t=ig(s,t,t.pendingProps,t.type.render,t.ref,ct);break;case 5:qu(t);default:gg(s,t),t=ot=qh(t,Gs),t=hg(s,t,Gs)}e.memoizedProps=e.pendingProps,t===null?_i(e):ot=t}function Jl(e,t,s,o){Ds=Pr=null,qu(t),Yl=null,Ho=0;var c=t.return;try{if(RS(e,c,t,s,ct)){Vt=1,bi(e,Kn(s,e.current)),ot=null;return}}catch(d){if(c!==null)throw ot=c,d;Vt=1,bi(e,Kn(s,e.current)),ot=null;return}t.flags&32768?(mt||o===1?e=!0:Kl||(ct&536870912)!==0?e=!1:(mr=e=!0,(o===2||o===9||o===3||o===6)&&(o=Ln.current,o!==null&&o.tag===13&&(o.flags|=16384))),Pg(t,e)):_i(t)}function _i(e){var t=e;do{if((t.flags&32768)!==0){Pg(t,mr);return}e=t.return;var s=AS(t.alternate,t,Gs);if(s!==null){ot=s;return}if(t=t.sibling,t!==null){ot=t;return}ot=t=e}while(t!==null);Vt===0&&(Vt=5)}function Pg(e,t){do{var s=MS(e.alternate,e);if(s!==null){s.flags&=32767,ot=s;return}if(s=e.return,s!==null&&(s.flags|=32768,s.subtreeFlags=0,s.deletions=null),!t&&(e=e.sibling,e!==null)){ot=e;return}ot=e=s}while(e!==null);Vt=6,ot=null}function Fg(e,t,s,o,c,d,y,w,Y){e.cancelPendingCommit=null;do Ai();while(nn!==0);if((wt&6)!==0)throw Error(a(327));if(t!==null){if(t===e.current)throw Error(a(177));if(d=t.lanes|t.childLanes,d|=gu,ln(e,s,d,y,w,Y),e===Dt&&(ot=Dt=null,ct=0),Ql=t,gr=e,Xs=s,Td=d,wd=c,Lg=o,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,XS(ye,function(){return Jg(),null})):(e.callbackNode=null,e.callbackPriority=0),o=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||o){o=C.T,C.T=null,c=U.p,U.p=2,y=wt,wt|=4;try{DS(e,t,s)}finally{wt=y,U.p=c,C.T=o}}nn=1,Kg(),$g(),Qg()}}function Kg(){if(nn===1){nn=0;var e=gr,t=Ql,s=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||s){s=C.T,C.T=null;var o=U.p;U.p=2;var c=wt;wt|=4;try{Og(t,e);var d=Bd,y=Dh(e.containerInfo),w=d.focusedElem,Y=d.selectionRange;if(y!==w&&w&&w.ownerDocument&&Mh(w.ownerDocument.documentElement,w)){if(Y!==null&&du(w)){var te=Y.start,fe=Y.end;if(fe===void 0&&(fe=te),"selectionStart"in w)w.selectionStart=te,w.selectionEnd=Math.min(fe,w.value.length);else{var xe=w.ownerDocument||document,oe=xe&&xe.defaultView||window;if(oe.getSelection){var ae=oe.getSelection(),Be=w.textContent.length,Ze=Math.min(Y.start,Be),_t=Y.end===void 0?Ze:Math.min(Y.end,Be);!ae.extend&&Ze>_t&&(y=_t,_t=Ze,Ze=y);var J=Ah(w,Ze),X=Ah(w,_t);if(J&&X&&(ae.rangeCount!==1||ae.anchorNode!==J.node||ae.anchorOffset!==J.offset||ae.focusNode!==X.node||ae.focusOffset!==X.offset)){var ee=xe.createRange();ee.setStart(J.node,J.offset),ae.removeAllRanges(),Ze>_t?(ae.addRange(ee),ae.extend(X.node,X.offset)):(ee.setEnd(X.node,X.offset),ae.addRange(ee))}}}}for(xe=[],ae=w;ae=ae.parentNode;)ae.nodeType===1&&xe.push({element:ae,left:ae.scrollLeft,top:ae.scrollTop});for(typeof w.focus=="function"&&w.focus(),w=0;w<xe.length;w++){var me=xe[w];me.element.scrollLeft=me.left,me.element.scrollTop=me.top}}Gi=!!Hd,Bd=Hd=null}finally{wt=c,U.p=o,C.T=s}}e.current=t,nn=2}}function $g(){if(nn===2){nn=0;var e=gr,t=Ql,s=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||s){s=C.T,C.T=null;var o=U.p;U.p=2;var c=wt;wt|=4;try{Ng(e,t.alternate,t)}finally{wt=c,U.p=o,C.T=s}}nn=3}}function Qg(){if(nn===4||nn===3){nn=0,ft();var e=gr,t=Ql,s=Xs,o=Lg;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?nn=5:(nn=0,Ql=gr=null,Zg(e,e.pendingLanes));var c=e.pendingLanes;if(c===0&&(pr=null),Mn(s),t=t.stateNode,le&&typeof le.onCommitFiberRoot=="function")try{le.onCommitFiberRoot(We,t,void 0,(t.current.flags&128)===128)}catch{}if(o!==null){t=C.T,c=U.p,U.p=2,C.T=null;try{for(var d=e.onRecoverableError,y=0;y<o.length;y++){var w=o[y];d(w.value,{componentStack:w.stack})}}finally{C.T=t,U.p=c}}(Xs&3)!==0&&Ai(),ms(e),c=e.pendingLanes,(s&261930)!==0&&(c&42)!==0?e===jd?na++:(na=0,jd=e):na=0,sa(0)}}function Zg(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Uo(t)))}function Ai(){return Kg(),$g(),Qg(),Jg()}function Jg(){if(nn!==5)return!1;var e=gr,t=Td;Td=0;var s=Mn(Xs),o=C.T,c=U.p;try{U.p=32>s?32:s,C.T=null,s=wd,wd=null;var d=gr,y=Xs;if(nn=0,Ql=gr=null,Xs=0,(wt&6)!==0)throw Error(a(331));var w=wt;if(wt|=4,Mg(d.current),kg(d,d.current,y,s),wt=w,sa(0,!1),le&&typeof le.onPostCommitFiberRoot=="function")try{le.onPostCommitFiberRoot(We,d)}catch{}return!0}finally{U.p=c,C.T=o,Zg(e,t)}}function Wg(e,t,s){t=Kn(s,t),t=rd(e.stateNode,t,2),e=cr(e,t,2),e!==null&&(Mt(e,2),ms(e))}function Ot(e,t,s){if(e.tag===3)Wg(e,e,s);else for(;t!==null;){if(t.tag===3){Wg(t,e,s);break}else if(t.tag===1){var o=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof o.componentDidCatch=="function"&&(pr===null||!pr.has(o))){e=Kn(s,e),s=eg(2),o=cr(t,s,2),o!==null&&(tg(s,o,t,e),Mt(o,2),ms(o));break}}t=t.return}}function Rd(e,t,s){var o=e.pingCache;if(o===null){o=e.pingCache=new US;var c=new Set;o.set(t,c)}else c=o.get(t),c===void 0&&(c=new Set,o.set(t,c));c.has(s)||(Sd=!0,c.add(s),e=VS.bind(null,e,t,s),t.then(e,e))}function VS(e,t,s){var o=e.pingCache;o!==null&&o.delete(t),e.pingedLanes|=e.suspendedLanes&s,e.warmLanes&=~s,Dt===e&&(ct&s)===s&&(Vt===4||Vt===3&&(ct&62914560)===ct&&300>ce()-ji?(wt&2)===0&&Zl(e,0):Ed|=s,$l===ct&&($l=0)),ms(e)}function ex(e,t){t===0&&(t=Gt()),e=qr(e,t),e!==null&&(Mt(e,t),ms(e))}function qS(e){var t=e.memoizedState,s=0;t!==null&&(s=t.retryLane),ex(e,s)}function GS(e,t){var s=0;switch(e.tag){case 31:case 13:var o=e.stateNode,c=e.memoizedState;c!==null&&(s=c.retryLane);break;case 19:o=e.stateNode;break;case 22:o=e.stateNode._retryCache;break;default:throw Error(a(314))}o!==null&&o.delete(t),ex(e,s)}function XS(e,t){return Oe(e,t)}var Mi=null,Wl=null,kd=!1,Di=!1,_d=!1,br=0;function ms(e){e!==Wl&&e.next===null&&(Wl===null?Mi=Wl=e:Wl=Wl.next=e),Di=!0,kd||(kd=!0,FS())}function sa(e,t){if(!_d&&Di){_d=!0;do for(var s=!1,o=Mi;o!==null;){if(e!==0){var c=o.pendingLanes;if(c===0)var d=0;else{var y=o.suspendedLanes,w=o.pingedLanes;d=(1<<31-Ce(42|e)+1)-1,d&=c&~(y&~w),d=d&201326741?d&201326741|1:d?d|2:0}d!==0&&(s=!0,rx(o,d))}else d=ct,d=Pe(o,o===Dt?d:0,o.cancelPendingCommit!==null||o.timeoutHandle!==-1),(d&3)===0||St(o,d)||(s=!0,rx(o,d));o=o.next}while(s);_d=!1}}function PS(){tx()}function tx(){Di=kd=!1;var e=0;br!==0&&sE()&&(e=br);for(var t=ce(),s=null,o=Mi;o!==null;){var c=o.next,d=nx(o,t);d===0?(o.next=null,s===null?Mi=c:s.next=c,c===null&&(Wl=s)):(s=o,(e!==0||(d&3)!==0)&&(Di=!0)),o=c}nn!==0&&nn!==5||sa(e),br!==0&&(br=0)}function nx(e,t){for(var s=e.suspendedLanes,o=e.pingedLanes,c=e.expirationTimes,d=e.pendingLanes&-62914561;0<d;){var y=31-Ce(d),w=1<<y,Y=c[y];Y===-1?((w&s)===0||(w&o)!==0)&&(c[y]=zt(w,t)):Y<=t&&(e.expiredLanes|=w),d&=~w}if(t=Dt,s=ct,s=Pe(e,e===t?s:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),o=e.callbackNode,s===0||e===t&&(Ct===2||Ct===9)||e.cancelPendingCommit!==null)return o!==null&&o!==null&&_e(o),e.callbackNode=null,e.callbackPriority=0;if((s&3)===0||St(e,s)){if(t=s&-s,t===e.callbackPriority)return t;switch(o!==null&&_e(o),Mn(s)){case 2:case 8:s=Z;break;case 32:s=ye;break;case 268435456:s=be;break;default:s=ye}return o=sx.bind(null,e),s=Oe(s,o),e.callbackPriority=t,e.callbackNode=s,t}return o!==null&&o!==null&&_e(o),e.callbackPriority=2,e.callbackNode=null,2}function sx(e,t){if(nn!==0&&nn!==5)return e.callbackNode=null,e.callbackPriority=0,null;var s=e.callbackNode;if(Ai()&&e.callbackNode!==s)return null;var o=ct;return o=Pe(e,e===Dt?o:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),o===0?null:(Ig(e,o,t),nx(e,ce()),e.callbackNode!=null&&e.callbackNode===s?sx.bind(null,e):null)}function rx(e,t){if(Ai())return null;Ig(e,t,!0)}function FS(){lE(function(){(wt&6)!==0?Oe(ue,PS):tx()})}function Ad(){if(br===0){var e=Il;e===0&&(e=bt,bt<<=1,(bt&261888)===0&&(bt=256)),br=e}return br}function lx(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Va(""+e)}function ox(e,t){var s=t.ownerDocument.createElement("input");return s.name=t.name,s.value=t.value,e.id&&s.setAttribute("form",e.id),t.parentNode.insertBefore(s,t),e=new FormData(e),s.parentNode.removeChild(s),e}function KS(e,t,s,o,c){if(t==="submit"&&s&&s.stateNode===c){var d=lx((c[En]||null).action),y=o.submitter;y&&(t=(t=y[En]||null)?lx(t.formAction):y.getAttribute("formAction"),t!==null&&(d=t,y=null));var w=new Pa("action","action",null,o,c);e.push({event:w,listeners:[{instance:null,listener:function(){if(o.defaultPrevented){if(br!==0){var Y=y?ox(c,y):new FormData(c);Ju(s,{pending:!0,data:Y,method:c.method,action:d},null,Y)}}else typeof d=="function"&&(w.preventDefault(),Y=y?ox(c,y):new FormData(c),Ju(s,{pending:!0,data:Y,method:c.method,action:d},d,Y))},currentTarget:c}]})}}for(var Md=0;Md<pu.length;Md++){var Dd=pu[Md],$S=Dd.toLowerCase(),QS=Dd[0].toUpperCase()+Dd.slice(1);ls($S,"on"+QS)}ls(Uh,"onAnimationEnd"),ls(Ih,"onAnimationIteration"),ls(Hh,"onAnimationStart"),ls("dblclick","onDoubleClick"),ls("focusin","onFocus"),ls("focusout","onBlur"),ls(fS,"onTransitionRun"),ls(mS,"onTransitionStart"),ls(hS,"onTransitionCancel"),ls(Bh,"onTransitionEnd"),Tl("onMouseEnter",["mouseout","mouseover"]),Tl("onMouseLeave",["mouseout","mouseover"]),Tl("onPointerEnter",["pointerout","pointerover"]),Tl("onPointerLeave",["pointerout","pointerover"]),Hr("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Hr("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Hr("onBeforeInput",["compositionend","keypress","textInput","paste"]),Hr("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Hr("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Hr("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ra="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),ZS=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(ra));function ax(e,t){t=(t&4)!==0;for(var s=0;s<e.length;s++){var o=e[s],c=o.event;o=o.listeners;e:{var d=void 0;if(t)for(var y=o.length-1;0<=y;y--){var w=o[y],Y=w.instance,te=w.currentTarget;if(w=w.listener,Y!==d&&c.isPropagationStopped())break e;d=w,c.currentTarget=te;try{d(c)}catch(fe){$a(fe)}c.currentTarget=null,d=Y}else for(y=0;y<o.length;y++){if(w=o[y],Y=w.instance,te=w.currentTarget,w=w.listener,Y!==d&&c.isPropagationStopped())break e;d=w,c.currentTarget=te;try{d(c)}catch(fe){$a(fe)}c.currentTarget=null,d=Y}}}}function at(e,t){var s=t[Fc];s===void 0&&(s=t[Fc]=new Set);var o=e+"__bubble";s.has(o)||(ix(t,e,2,!1),s.add(o))}function zd(e,t,s){var o=0;t&&(o|=4),ix(s,e,o,t)}var zi="_reactListening"+Math.random().toString(36).slice(2);function Ld(e){if(!e[zi]){e[zi]=!0,th.forEach(function(s){s!=="selectionchange"&&(ZS.has(s)||zd(s,!1,e),zd(s,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[zi]||(t[zi]=!0,zd("selectionchange",!1,t))}}function ix(e,t,s,o){switch(Ux(t)){case 2:var c=wE;break;case 8:c=jE;break;default:c=Zd}s=c.bind(null,t,s,e),c=void 0,!nu||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(c=!0),o?c!==void 0?e.addEventListener(t,s,{capture:!0,passive:c}):e.addEventListener(t,s,!0):c!==void 0?e.addEventListener(t,s,{passive:c}):e.addEventListener(t,s,!1)}function Ud(e,t,s,o,c){var d=o;if((t&1)===0&&(t&2)===0&&o!==null)e:for(;;){if(o===null)return;var y=o.tag;if(y===3||y===4){var w=o.stateNode.containerInfo;if(w===c)break;if(y===4)for(y=o.return;y!==null;){var Y=y.tag;if((Y===3||Y===4)&&y.stateNode.containerInfo===c)return;y=y.return}for(;w!==null;){if(y=Sl(w),y===null)return;if(Y=y.tag,Y===5||Y===6||Y===26||Y===27){o=d=y;continue e}w=w.parentNode}}o=o.return}mh(function(){var te=d,fe=eu(s),xe=[];e:{var oe=Yh.get(e);if(oe!==void 0){var ae=Pa,Be=e;switch(e){case"keypress":if(Ga(s)===0)break e;case"keydown":case"keyup":ae=G1;break;case"focusin":Be="focus",ae=ou;break;case"focusout":Be="blur",ae=ou;break;case"beforeblur":case"afterblur":ae=ou;break;case"click":if(s.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":ae=gh;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":ae=A1;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":ae=F1;break;case Uh:case Ih:case Hh:ae=z1;break;case Bh:ae=$1;break;case"scroll":case"scrollend":ae=k1;break;case"wheel":ae=Z1;break;case"copy":case"cut":case"paste":ae=U1;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":ae=bh;break;case"toggle":case"beforetoggle":ae=W1}var Ze=(t&4)!==0,_t=!Ze&&(e==="scroll"||e==="scrollend"),J=Ze?oe!==null?oe+"Capture":null:oe;Ze=[];for(var X=te,ee;X!==null;){var me=X;if(ee=me.stateNode,me=me.tag,me!==5&&me!==26&&me!==27||ee===null||J===null||(me=jo(X,J),me!=null&&Ze.push(la(X,me,ee))),_t)break;X=X.return}0<Ze.length&&(oe=new ae(oe,Be,null,s,fe),xe.push({event:oe,listeners:Ze}))}}if((t&7)===0){e:{if(oe=e==="mouseover"||e==="pointerover",ae=e==="mouseout"||e==="pointerout",oe&&s!==Wc&&(Be=s.relatedTarget||s.fromElement)&&(Sl(Be)||Be[vl]))break e;if((ae||oe)&&(oe=fe.window===fe?fe:(oe=fe.ownerDocument)?oe.defaultView||oe.parentWindow:window,ae?(Be=s.relatedTarget||s.toElement,ae=te,Be=Be?Sl(Be):null,Be!==null&&(_t=f(Be),Ze=Be.tag,Be!==_t||Ze!==5&&Ze!==27&&Ze!==6)&&(Be=null)):(ae=null,Be=te),ae!==Be)){if(Ze=gh,me="onMouseLeave",J="onMouseEnter",X="mouse",(e==="pointerout"||e==="pointerover")&&(Ze=bh,me="onPointerLeave",J="onPointerEnter",X="pointer"),_t=ae==null?oe:wo(ae),ee=Be==null?oe:wo(Be),oe=new Ze(me,X+"leave",ae,s,fe),oe.target=_t,oe.relatedTarget=ee,me=null,Sl(fe)===te&&(Ze=new Ze(J,X+"enter",Be,s,fe),Ze.target=ee,Ze.relatedTarget=_t,me=Ze),_t=me,ae&&Be)t:{for(Ze=JS,J=ae,X=Be,ee=0,me=J;me;me=Ze(me))ee++;me=0;for(var $e=X;$e;$e=Ze($e))me++;for(;0<ee-me;)J=Ze(J),ee--;for(;0<me-ee;)X=Ze(X),me--;for(;ee--;){if(J===X||X!==null&&J===X.alternate){Ze=J;break t}J=Ze(J),X=Ze(X)}Ze=null}else Ze=null;ae!==null&&cx(xe,oe,ae,Ze,!1),Be!==null&&_t!==null&&cx(xe,_t,Be,Ze,!0)}}e:{if(oe=te?wo(te):window,ae=oe.nodeName&&oe.nodeName.toLowerCase(),ae==="select"||ae==="input"&&oe.type==="file")var Et=jh;else if(Th(oe))if(Ch)Et=cS;else{Et=aS;var Ye=oS}else ae=oe.nodeName,!ae||ae.toLowerCase()!=="input"||oe.type!=="checkbox"&&oe.type!=="radio"?te&&Jc(te.elementType)&&(Et=jh):Et=iS;if(Et&&(Et=Et(e,te))){wh(xe,Et,s,fe);break e}Ye&&Ye(e,oe,te),e==="focusout"&&te&&oe.type==="number"&&te.memoizedProps.value!=null&&Zc(oe,"number",oe.value)}switch(Ye=te?wo(te):window,e){case"focusin":(Th(Ye)||Ye.contentEditable==="true")&&(kl=Ye,fu=te,Do=null);break;case"focusout":Do=fu=kl=null;break;case"mousedown":mu=!0;break;case"contextmenu":case"mouseup":case"dragend":mu=!1,zh(xe,s,fe);break;case"selectionchange":if(dS)break;case"keydown":case"keyup":zh(xe,s,fe)}var rt;if(iu)e:{switch(e){case"compositionstart":var ut="onCompositionStart";break e;case"compositionend":ut="onCompositionEnd";break e;case"compositionupdate":ut="onCompositionUpdate";break e}ut=void 0}else Rl?Eh(e,s)&&(ut="onCompositionEnd"):e==="keydown"&&s.keyCode===229&&(ut="onCompositionStart");ut&&(yh&&s.locale!=="ko"&&(Rl||ut!=="onCompositionStart"?ut==="onCompositionEnd"&&Rl&&(rt=hh()):(nr=fe,su="value"in nr?nr.value:nr.textContent,Rl=!0)),Ye=Li(te,ut),0<Ye.length&&(ut=new xh(ut,e,null,s,fe),xe.push({event:ut,listeners:Ye}),rt?ut.data=rt:(rt=Nh(s),rt!==null&&(ut.data=rt)))),(rt=tS?nS(e,s):sS(e,s))&&(ut=Li(te,"onBeforeInput"),0<ut.length&&(Ye=new xh("onBeforeInput","beforeinput",null,s,fe),xe.push({event:Ye,listeners:ut}),Ye.data=rt)),KS(xe,e,te,s,fe)}ax(xe,t)})}function la(e,t,s){return{instance:e,listener:t,currentTarget:s}}function Li(e,t){for(var s=t+"Capture",o=[];e!==null;){var c=e,d=c.stateNode;if(c=c.tag,c!==5&&c!==26&&c!==27||d===null||(c=jo(e,s),c!=null&&o.unshift(la(e,c,d)),c=jo(e,t),c!=null&&o.push(la(e,c,d))),e.tag===3)return o;e=e.return}return[]}function JS(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function cx(e,t,s,o,c){for(var d=t._reactName,y=[];s!==null&&s!==o;){var w=s,Y=w.alternate,te=w.stateNode;if(w=w.tag,Y!==null&&Y===o)break;w!==5&&w!==26&&w!==27||te===null||(Y=te,c?(te=jo(s,d),te!=null&&y.unshift(la(s,te,Y))):c||(te=jo(s,d),te!=null&&y.push(la(s,te,Y)))),s=s.return}y.length!==0&&e.push({event:t,listeners:y})}var WS=/\r\n?/g,eE=/\u0000|\uFFFD/g;function ux(e){return(typeof e=="string"?e:""+e).replace(WS,`
9
- `).replace(eE,"")}function dx(e,t){return t=ux(t),ux(e)===t}function kt(e,t,s,o,c,d){switch(s){case"children":typeof o=="string"?t==="body"||t==="textarea"&&o===""||jl(e,o):(typeof o=="number"||typeof o=="bigint")&&t!=="body"&&jl(e,""+o);break;case"className":Ba(e,"class",o);break;case"tabIndex":Ba(e,"tabindex",o);break;case"dir":case"role":case"viewBox":case"width":case"height":Ba(e,s,o);break;case"style":dh(e,o,d);break;case"data":if(t!=="object"){Ba(e,"data",o);break}case"src":case"href":if(o===""&&(t!=="a"||s!=="href")){e.removeAttribute(s);break}if(o==null||typeof o=="function"||typeof o=="symbol"||typeof o=="boolean"){e.removeAttribute(s);break}o=Va(""+o),e.setAttribute(s,o);break;case"action":case"formAction":if(typeof o=="function"){e.setAttribute(s,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof d=="function"&&(s==="formAction"?(t!=="input"&&kt(e,t,"name",c.name,c,null),kt(e,t,"formEncType",c.formEncType,c,null),kt(e,t,"formMethod",c.formMethod,c,null),kt(e,t,"formTarget",c.formTarget,c,null)):(kt(e,t,"encType",c.encType,c,null),kt(e,t,"method",c.method,c,null),kt(e,t,"target",c.target,c,null)));if(o==null||typeof o=="symbol"||typeof o=="boolean"){e.removeAttribute(s);break}o=Va(""+o),e.setAttribute(s,o);break;case"onClick":o!=null&&(e.onclick=ks);break;case"onScroll":o!=null&&at("scroll",e);break;case"onScrollEnd":o!=null&&at("scrollend",e);break;case"dangerouslySetInnerHTML":if(o!=null){if(typeof o!="object"||!("__html"in o))throw Error(a(61));if(s=o.__html,s!=null){if(c.children!=null)throw Error(a(60));e.innerHTML=s}}break;case"multiple":e.multiple=o&&typeof o!="function"&&typeof o!="symbol";break;case"muted":e.muted=o&&typeof o!="function"&&typeof o!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(o==null||typeof o=="function"||typeof o=="boolean"||typeof o=="symbol"){e.removeAttribute("xlink:href");break}s=Va(""+o),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",s);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":o!=null&&typeof o!="function"&&typeof o!="symbol"?e.setAttribute(s,""+o):e.removeAttribute(s);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":o&&typeof o!="function"&&typeof o!="symbol"?e.setAttribute(s,""):e.removeAttribute(s);break;case"capture":case"download":o===!0?e.setAttribute(s,""):o!==!1&&o!=null&&typeof o!="function"&&typeof o!="symbol"?e.setAttribute(s,o):e.removeAttribute(s);break;case"cols":case"rows":case"size":case"span":o!=null&&typeof o!="function"&&typeof o!="symbol"&&!isNaN(o)&&1<=o?e.setAttribute(s,o):e.removeAttribute(s);break;case"rowSpan":case"start":o==null||typeof o=="function"||typeof o=="symbol"||isNaN(o)?e.removeAttribute(s):e.setAttribute(s,o);break;case"popover":at("beforetoggle",e),at("toggle",e),Ha(e,"popover",o);break;case"xlinkActuate":Rs(e,"http://www.w3.org/1999/xlink","xlink:actuate",o);break;case"xlinkArcrole":Rs(e,"http://www.w3.org/1999/xlink","xlink:arcrole",o);break;case"xlinkRole":Rs(e,"http://www.w3.org/1999/xlink","xlink:role",o);break;case"xlinkShow":Rs(e,"http://www.w3.org/1999/xlink","xlink:show",o);break;case"xlinkTitle":Rs(e,"http://www.w3.org/1999/xlink","xlink:title",o);break;case"xlinkType":Rs(e,"http://www.w3.org/1999/xlink","xlink:type",o);break;case"xmlBase":Rs(e,"http://www.w3.org/XML/1998/namespace","xml:base",o);break;case"xmlLang":Rs(e,"http://www.w3.org/XML/1998/namespace","xml:lang",o);break;case"xmlSpace":Rs(e,"http://www.w3.org/XML/1998/namespace","xml:space",o);break;case"is":Ha(e,"is",o);break;case"innerText":case"textContent":break;default:(!(2<s.length)||s[0]!=="o"&&s[0]!=="O"||s[1]!=="n"&&s[1]!=="N")&&(s=O1.get(s)||s,Ha(e,s,o))}}function Id(e,t,s,o,c,d){switch(s){case"style":dh(e,o,d);break;case"dangerouslySetInnerHTML":if(o!=null){if(typeof o!="object"||!("__html"in o))throw Error(a(61));if(s=o.__html,s!=null){if(c.children!=null)throw Error(a(60));e.innerHTML=s}}break;case"children":typeof o=="string"?jl(e,o):(typeof o=="number"||typeof o=="bigint")&&jl(e,""+o);break;case"onScroll":o!=null&&at("scroll",e);break;case"onScrollEnd":o!=null&&at("scrollend",e);break;case"onClick":o!=null&&(e.onclick=ks);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!nh.hasOwnProperty(s))e:{if(s[0]==="o"&&s[1]==="n"&&(c=s.endsWith("Capture"),t=s.slice(2,c?s.length-7:void 0),d=e[En]||null,d=d!=null?d[s]:null,typeof d=="function"&&e.removeEventListener(t,d,c),typeof o=="function")){typeof d!="function"&&d!==null&&(s in e?e[s]=null:e.hasAttribute(s)&&e.removeAttribute(s)),e.addEventListener(t,o,c);break e}s in e?e[s]=o:o===!0?e.setAttribute(s,""):Ha(e,s,o)}}}function pn(e,t,s){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":at("error",e),at("load",e);var o=!1,c=!1,d;for(d in s)if(s.hasOwnProperty(d)){var y=s[d];if(y!=null)switch(d){case"src":o=!0;break;case"srcSet":c=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(a(137,t));default:kt(e,t,d,y,s,null)}}c&&kt(e,t,"srcSet",s.srcSet,s,null),o&&kt(e,t,"src",s.src,s,null);return;case"input":at("invalid",e);var w=d=y=c=null,Y=null,te=null;for(o in s)if(s.hasOwnProperty(o)){var fe=s[o];if(fe!=null)switch(o){case"name":c=fe;break;case"type":y=fe;break;case"checked":Y=fe;break;case"defaultChecked":te=fe;break;case"value":d=fe;break;case"defaultValue":w=fe;break;case"children":case"dangerouslySetInnerHTML":if(fe!=null)throw Error(a(137,t));break;default:kt(e,t,o,fe,s,null)}}ah(e,d,w,Y,te,y,c,!1);return;case"select":at("invalid",e),o=y=d=null;for(c in s)if(s.hasOwnProperty(c)&&(w=s[c],w!=null))switch(c){case"value":d=w;break;case"defaultValue":y=w;break;case"multiple":o=w;default:kt(e,t,c,w,s,null)}t=d,s=y,e.multiple=!!o,t!=null?wl(e,!!o,t,!1):s!=null&&wl(e,!!o,s,!0);return;case"textarea":at("invalid",e),d=c=o=null;for(y in s)if(s.hasOwnProperty(y)&&(w=s[y],w!=null))switch(y){case"value":o=w;break;case"defaultValue":c=w;break;case"children":d=w;break;case"dangerouslySetInnerHTML":if(w!=null)throw Error(a(91));break;default:kt(e,t,y,w,s,null)}ch(e,o,c,d);return;case"option":for(Y in s)s.hasOwnProperty(Y)&&(o=s[Y],o!=null)&&(Y==="selected"?e.selected=o&&typeof o!="function"&&typeof o!="symbol":kt(e,t,Y,o,s,null));return;case"dialog":at("beforetoggle",e),at("toggle",e),at("cancel",e),at("close",e);break;case"iframe":case"object":at("load",e);break;case"video":case"audio":for(o=0;o<ra.length;o++)at(ra[o],e);break;case"image":at("error",e),at("load",e);break;case"details":at("toggle",e);break;case"embed":case"source":case"link":at("error",e),at("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(te in s)if(s.hasOwnProperty(te)&&(o=s[te],o!=null))switch(te){case"children":case"dangerouslySetInnerHTML":throw Error(a(137,t));default:kt(e,t,te,o,s,null)}return;default:if(Jc(t)){for(fe in s)s.hasOwnProperty(fe)&&(o=s[fe],o!==void 0&&Id(e,t,fe,o,s,void 0));return}}for(w in s)s.hasOwnProperty(w)&&(o=s[w],o!=null&&kt(e,t,w,o,s,null))}function tE(e,t,s,o){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var c=null,d=null,y=null,w=null,Y=null,te=null,fe=null;for(ae in s){var xe=s[ae];if(s.hasOwnProperty(ae)&&xe!=null)switch(ae){case"checked":break;case"value":break;case"defaultValue":Y=xe;default:o.hasOwnProperty(ae)||kt(e,t,ae,null,o,xe)}}for(var oe in o){var ae=o[oe];if(xe=s[oe],o.hasOwnProperty(oe)&&(ae!=null||xe!=null))switch(oe){case"type":d=ae;break;case"name":c=ae;break;case"checked":te=ae;break;case"defaultChecked":fe=ae;break;case"value":y=ae;break;case"defaultValue":w=ae;break;case"children":case"dangerouslySetInnerHTML":if(ae!=null)throw Error(a(137,t));break;default:ae!==xe&&kt(e,t,oe,ae,o,xe)}}Qc(e,y,w,Y,te,fe,d,c);return;case"select":ae=y=w=oe=null;for(d in s)if(Y=s[d],s.hasOwnProperty(d)&&Y!=null)switch(d){case"value":break;case"multiple":ae=Y;default:o.hasOwnProperty(d)||kt(e,t,d,null,o,Y)}for(c in o)if(d=o[c],Y=s[c],o.hasOwnProperty(c)&&(d!=null||Y!=null))switch(c){case"value":oe=d;break;case"defaultValue":w=d;break;case"multiple":y=d;default:d!==Y&&kt(e,t,c,d,o,Y)}t=w,s=y,o=ae,oe!=null?wl(e,!!s,oe,!1):!!o!=!!s&&(t!=null?wl(e,!!s,t,!0):wl(e,!!s,s?[]:"",!1));return;case"textarea":ae=oe=null;for(w in s)if(c=s[w],s.hasOwnProperty(w)&&c!=null&&!o.hasOwnProperty(w))switch(w){case"value":break;case"children":break;default:kt(e,t,w,null,o,c)}for(y in o)if(c=o[y],d=s[y],o.hasOwnProperty(y)&&(c!=null||d!=null))switch(y){case"value":oe=c;break;case"defaultValue":ae=c;break;case"children":break;case"dangerouslySetInnerHTML":if(c!=null)throw Error(a(91));break;default:c!==d&&kt(e,t,y,c,o,d)}ih(e,oe,ae);return;case"option":for(var Be in s)oe=s[Be],s.hasOwnProperty(Be)&&oe!=null&&!o.hasOwnProperty(Be)&&(Be==="selected"?e.selected=!1:kt(e,t,Be,null,o,oe));for(Y in o)oe=o[Y],ae=s[Y],o.hasOwnProperty(Y)&&oe!==ae&&(oe!=null||ae!=null)&&(Y==="selected"?e.selected=oe&&typeof oe!="function"&&typeof oe!="symbol":kt(e,t,Y,oe,o,ae));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var Ze in s)oe=s[Ze],s.hasOwnProperty(Ze)&&oe!=null&&!o.hasOwnProperty(Ze)&&kt(e,t,Ze,null,o,oe);for(te in o)if(oe=o[te],ae=s[te],o.hasOwnProperty(te)&&oe!==ae&&(oe!=null||ae!=null))switch(te){case"children":case"dangerouslySetInnerHTML":if(oe!=null)throw Error(a(137,t));break;default:kt(e,t,te,oe,o,ae)}return;default:if(Jc(t)){for(var _t in s)oe=s[_t],s.hasOwnProperty(_t)&&oe!==void 0&&!o.hasOwnProperty(_t)&&Id(e,t,_t,void 0,o,oe);for(fe in o)oe=o[fe],ae=s[fe],!o.hasOwnProperty(fe)||oe===ae||oe===void 0&&ae===void 0||Id(e,t,fe,oe,o,ae);return}}for(var J in s)oe=s[J],s.hasOwnProperty(J)&&oe!=null&&!o.hasOwnProperty(J)&&kt(e,t,J,null,o,oe);for(xe in o)oe=o[xe],ae=s[xe],!o.hasOwnProperty(xe)||oe===ae||oe==null&&ae==null||kt(e,t,xe,oe,o,ae)}function fx(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function nE(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,s=performance.getEntriesByType("resource"),o=0;o<s.length;o++){var c=s[o],d=c.transferSize,y=c.initiatorType,w=c.duration;if(d&&w&&fx(y)){for(y=0,w=c.responseEnd,o+=1;o<s.length;o++){var Y=s[o],te=Y.startTime;if(te>w)break;var fe=Y.transferSize,xe=Y.initiatorType;fe&&fx(xe)&&(Y=Y.responseEnd,y+=fe*(Y<w?1:(w-te)/(Y-te)))}if(--o,t+=8*(d+y)/(c.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var Hd=null,Bd=null;function Ui(e){return e.nodeType===9?e:e.ownerDocument}function mx(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function hx(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function Yd(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Vd=null;function sE(){var e=window.event;return e&&e.type==="popstate"?e===Vd?!1:(Vd=e,!0):(Vd=null,!1)}var px=typeof setTimeout=="function"?setTimeout:void 0,rE=typeof clearTimeout=="function"?clearTimeout:void 0,gx=typeof Promise=="function"?Promise:void 0,lE=typeof queueMicrotask=="function"?queueMicrotask:typeof gx<"u"?function(e){return gx.resolve(null).then(e).catch(oE)}:px;function oE(e){setTimeout(function(){throw e})}function yr(e){return e==="head"}function xx(e,t){var s=t,o=0;do{var c=s.nextSibling;if(e.removeChild(s),c&&c.nodeType===8)if(s=c.data,s==="/$"||s==="/&"){if(o===0){e.removeChild(c),so(t);return}o--}else if(s==="$"||s==="$?"||s==="$~"||s==="$!"||s==="&")o++;else if(s==="html")oa(e.ownerDocument.documentElement);else if(s==="head"){s=e.ownerDocument.head,oa(s);for(var d=s.firstChild;d;){var y=d.nextSibling,w=d.nodeName;d[To]||w==="SCRIPT"||w==="STYLE"||w==="LINK"&&d.rel.toLowerCase()==="stylesheet"||s.removeChild(d),d=y}}else s==="body"&&oa(e.ownerDocument.body);s=c}while(s);so(t)}function bx(e,t){var s=e;e=0;do{var o=s.nextSibling;if(s.nodeType===1?t?(s._stashedDisplay=s.style.display,s.style.display="none"):(s.style.display=s._stashedDisplay||"",s.getAttribute("style")===""&&s.removeAttribute("style")):s.nodeType===3&&(t?(s._stashedText=s.nodeValue,s.nodeValue=""):s.nodeValue=s._stashedText||""),o&&o.nodeType===8)if(s=o.data,s==="/$"){if(e===0)break;e--}else s!=="$"&&s!=="$?"&&s!=="$~"&&s!=="$!"||e++;s=o}while(s)}function qd(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var s=t;switch(t=t.nextSibling,s.nodeName){case"HTML":case"HEAD":case"BODY":qd(s),Kc(s);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(s.rel.toLowerCase()==="stylesheet")continue}e.removeChild(s)}}function aE(e,t,s,o){for(;e.nodeType===1;){var c=s;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!o&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(o){if(!e[To])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(d=e.getAttribute("rel"),d==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(d!==c.rel||e.getAttribute("href")!==(c.href==null||c.href===""?null:c.href)||e.getAttribute("crossorigin")!==(c.crossOrigin==null?null:c.crossOrigin)||e.getAttribute("title")!==(c.title==null?null:c.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(d=e.getAttribute("src"),(d!==(c.src==null?null:c.src)||e.getAttribute("type")!==(c.type==null?null:c.type)||e.getAttribute("crossorigin")!==(c.crossOrigin==null?null:c.crossOrigin))&&d&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var d=c.name==null?null:""+c.name;if(c.type==="hidden"&&e.getAttribute("name")===d)return e}else return e;if(e=Wn(e.nextSibling),e===null)break}return null}function iE(e,t,s){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!s||(e=Wn(e.nextSibling),e===null))return null;return e}function yx(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Wn(e.nextSibling),e===null))return null;return e}function Gd(e){return e.data==="$?"||e.data==="$~"}function Xd(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function cE(e,t){var s=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||s.readyState!=="loading")t();else{var o=function(){t(),s.removeEventListener("DOMContentLoaded",o)};s.addEventListener("DOMContentLoaded",o),e._reactRetry=o}}function Wn(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var Pd=null;function vx(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var s=e.data;if(s==="/$"||s==="/&"){if(t===0)return Wn(e.nextSibling);t--}else s!=="$"&&s!=="$!"&&s!=="$?"&&s!=="$~"&&s!=="&"||t++}e=e.nextSibling}return null}function Sx(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var s=e.data;if(s==="$"||s==="$!"||s==="$?"||s==="$~"||s==="&"){if(t===0)return e;t--}else s!=="/$"&&s!=="/&"||t++}e=e.previousSibling}return null}function Ex(e,t,s){switch(t=Ui(s),e){case"html":if(e=t.documentElement,!e)throw Error(a(452));return e;case"head":if(e=t.head,!e)throw Error(a(453));return e;case"body":if(e=t.body,!e)throw Error(a(454));return e;default:throw Error(a(451))}}function oa(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Kc(e)}var es=new Map,Nx=new Set;function Ii(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Ps=U.d;U.d={f:uE,r:dE,D:fE,C:mE,L:hE,m:pE,X:xE,S:gE,M:bE};function uE(){var e=Ps.f(),t=Ri();return e||t}function dE(e){var t=El(e);t!==null&&t.tag===5&&t.type==="form"?Bp(t):Ps.r(e)}var eo=typeof document>"u"?null:document;function Tx(e,t,s){var o=eo;if(o&&typeof t=="string"&&t){var c=Pn(t);c='link[rel="'+e+'"][href="'+c+'"]',typeof s=="string"&&(c+='[crossorigin="'+s+'"]'),Nx.has(c)||(Nx.add(c),e={rel:e,crossOrigin:s,href:t},o.querySelector(c)===null&&(t=o.createElement("link"),pn(t,"link",e),an(t),o.head.appendChild(t)))}}function fE(e){Ps.D(e),Tx("dns-prefetch",e,null)}function mE(e,t){Ps.C(e,t),Tx("preconnect",e,t)}function hE(e,t,s){Ps.L(e,t,s);var o=eo;if(o&&e&&t){var c='link[rel="preload"][as="'+Pn(t)+'"]';t==="image"&&s&&s.imageSrcSet?(c+='[imagesrcset="'+Pn(s.imageSrcSet)+'"]',typeof s.imageSizes=="string"&&(c+='[imagesizes="'+Pn(s.imageSizes)+'"]')):c+='[href="'+Pn(e)+'"]';var d=c;switch(t){case"style":d=to(e);break;case"script":d=no(e)}es.has(d)||(e=g({rel:"preload",href:t==="image"&&s&&s.imageSrcSet?void 0:e,as:t},s),es.set(d,e),o.querySelector(c)!==null||t==="style"&&o.querySelector(aa(d))||t==="script"&&o.querySelector(ia(d))||(t=o.createElement("link"),pn(t,"link",e),an(t),o.head.appendChild(t)))}}function pE(e,t){Ps.m(e,t);var s=eo;if(s&&e){var o=t&&typeof t.as=="string"?t.as:"script",c='link[rel="modulepreload"][as="'+Pn(o)+'"][href="'+Pn(e)+'"]',d=c;switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":d=no(e)}if(!es.has(d)&&(e=g({rel:"modulepreload",href:e},t),es.set(d,e),s.querySelector(c)===null)){switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(s.querySelector(ia(d)))return}o=s.createElement("link"),pn(o,"link",e),an(o),s.head.appendChild(o)}}}function gE(e,t,s){Ps.S(e,t,s);var o=eo;if(o&&e){var c=Nl(o).hoistableStyles,d=to(e);t=t||"default";var y=c.get(d);if(!y){var w={loading:0,preload:null};if(y=o.querySelector(aa(d)))w.loading=5;else{e=g({rel:"stylesheet",href:e,"data-precedence":t},s),(s=es.get(d))&&Fd(e,s);var Y=y=o.createElement("link");an(Y),pn(Y,"link",e),Y._p=new Promise(function(te,fe){Y.onload=te,Y.onerror=fe}),Y.addEventListener("load",function(){w.loading|=1}),Y.addEventListener("error",function(){w.loading|=2}),w.loading|=4,Hi(y,t,o)}y={type:"stylesheet",instance:y,count:1,state:w},c.set(d,y)}}}function xE(e,t){Ps.X(e,t);var s=eo;if(s&&e){var o=Nl(s).hoistableScripts,c=no(e),d=o.get(c);d||(d=s.querySelector(ia(c)),d||(e=g({src:e,async:!0},t),(t=es.get(c))&&Kd(e,t),d=s.createElement("script"),an(d),pn(d,"link",e),s.head.appendChild(d)),d={type:"script",instance:d,count:1,state:null},o.set(c,d))}}function bE(e,t){Ps.M(e,t);var s=eo;if(s&&e){var o=Nl(s).hoistableScripts,c=no(e),d=o.get(c);d||(d=s.querySelector(ia(c)),d||(e=g({src:e,async:!0,type:"module"},t),(t=es.get(c))&&Kd(e,t),d=s.createElement("script"),an(d),pn(d,"link",e),s.head.appendChild(d)),d={type:"script",instance:d,count:1,state:null},o.set(c,d))}}function wx(e,t,s,o){var c=(c=W.current)?Ii(c):null;if(!c)throw Error(a(446));switch(e){case"meta":case"title":return null;case"style":return typeof s.precedence=="string"&&typeof s.href=="string"?(t=to(s.href),s=Nl(c).hoistableStyles,o=s.get(t),o||(o={type:"style",instance:null,count:0,state:null},s.set(t,o)),o):{type:"void",instance:null,count:0,state:null};case"link":if(s.rel==="stylesheet"&&typeof s.href=="string"&&typeof s.precedence=="string"){e=to(s.href);var d=Nl(c).hoistableStyles,y=d.get(e);if(y||(c=c.ownerDocument||c,y={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},d.set(e,y),(d=c.querySelector(aa(e)))&&!d._p&&(y.instance=d,y.state.loading=5),es.has(e)||(s={rel:"preload",as:"style",href:s.href,crossOrigin:s.crossOrigin,integrity:s.integrity,media:s.media,hrefLang:s.hrefLang,referrerPolicy:s.referrerPolicy},es.set(e,s),d||yE(c,e,s,y.state))),t&&o===null)throw Error(a(528,""));return y}if(t&&o!==null)throw Error(a(529,""));return null;case"script":return t=s.async,s=s.src,typeof s=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=no(s),s=Nl(c).hoistableScripts,o=s.get(t),o||(o={type:"script",instance:null,count:0,state:null},s.set(t,o)),o):{type:"void",instance:null,count:0,state:null};default:throw Error(a(444,e))}}function to(e){return'href="'+Pn(e)+'"'}function aa(e){return'link[rel="stylesheet"]['+e+"]"}function jx(e){return g({},e,{"data-precedence":e.precedence,precedence:null})}function yE(e,t,s,o){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?o.loading=1:(t=e.createElement("link"),o.preload=t,t.addEventListener("load",function(){return o.loading|=1}),t.addEventListener("error",function(){return o.loading|=2}),pn(t,"link",s),an(t),e.head.appendChild(t))}function no(e){return'[src="'+Pn(e)+'"]'}function ia(e){return"script[async]"+e}function Cx(e,t,s){if(t.count++,t.instance===null)switch(t.type){case"style":var o=e.querySelector('style[data-href~="'+Pn(s.href)+'"]');if(o)return t.instance=o,an(o),o;var c=g({},s,{"data-href":s.href,"data-precedence":s.precedence,href:null,precedence:null});return o=(e.ownerDocument||e).createElement("style"),an(o),pn(o,"style",c),Hi(o,s.precedence,e),t.instance=o;case"stylesheet":c=to(s.href);var d=e.querySelector(aa(c));if(d)return t.state.loading|=4,t.instance=d,an(d),d;o=jx(s),(c=es.get(c))&&Fd(o,c),d=(e.ownerDocument||e).createElement("link"),an(d);var y=d;return y._p=new Promise(function(w,Y){y.onload=w,y.onerror=Y}),pn(d,"link",o),t.state.loading|=4,Hi(d,s.precedence,e),t.instance=d;case"script":return d=no(s.src),(c=e.querySelector(ia(d)))?(t.instance=c,an(c),c):(o=s,(c=es.get(d))&&(o=g({},s),Kd(o,c)),e=e.ownerDocument||e,c=e.createElement("script"),an(c),pn(c,"link",o),e.head.appendChild(c),t.instance=c);case"void":return null;default:throw Error(a(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(o=t.instance,t.state.loading|=4,Hi(o,s.precedence,e));return t.instance}function Hi(e,t,s){for(var o=s.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),c=o.length?o[o.length-1]:null,d=c,y=0;y<o.length;y++){var w=o[y];if(w.dataset.precedence===t)d=w;else if(d!==c)break}d?d.parentNode.insertBefore(e,d.nextSibling):(t=s.nodeType===9?s.head:s,t.insertBefore(e,t.firstChild))}function Fd(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function Kd(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Bi=null;function Ox(e,t,s){if(Bi===null){var o=new Map,c=Bi=new Map;c.set(s,o)}else c=Bi,o=c.get(s),o||(o=new Map,c.set(s,o));if(o.has(e))return o;for(o.set(e,null),s=s.getElementsByTagName(e),c=0;c<s.length;c++){var d=s[c];if(!(d[To]||d[tn]||e==="link"&&d.getAttribute("rel")==="stylesheet")&&d.namespaceURI!=="http://www.w3.org/2000/svg"){var y=d.getAttribute(t)||"";y=e+y;var w=o.get(y);w?w.push(d):o.set(y,[d])}}return o}function Rx(e,t,s){e=e.ownerDocument||e,e.head.insertBefore(s,t==="title"?e.querySelector("head > title"):null)}function vE(e,t,s){if(s===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;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!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 kx(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function SE(e,t,s,o){if(s.type==="stylesheet"&&(typeof o.media!="string"||matchMedia(o.media).matches!==!1)&&(s.state.loading&4)===0){if(s.instance===null){var c=to(o.href),d=t.querySelector(aa(c));if(d){t=d._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Yi.bind(e),t.then(e,e)),s.state.loading|=4,s.instance=d,an(d);return}d=t.ownerDocument||t,o=jx(o),(c=es.get(c))&&Fd(o,c),d=d.createElement("link"),an(d);var y=d;y._p=new Promise(function(w,Y){y.onload=w,y.onerror=Y}),pn(d,"link",o),s.instance=d}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(s,t),(t=s.state.preload)&&(s.state.loading&3)===0&&(e.count++,s=Yi.bind(e),t.addEventListener("load",s),t.addEventListener("error",s))}}var $d=0;function EE(e,t){return e.stylesheets&&e.count===0&&qi(e,e.stylesheets),0<e.count||0<e.imgCount?function(s){var o=setTimeout(function(){if(e.stylesheets&&qi(e,e.stylesheets),e.unsuspend){var d=e.unsuspend;e.unsuspend=null,d()}},6e4+t);0<e.imgBytes&&$d===0&&($d=62500*nE());var c=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&qi(e,e.stylesheets),e.unsuspend)){var d=e.unsuspend;e.unsuspend=null,d()}},(e.imgBytes>$d?50:800)+t);return e.unsuspend=s,function(){e.unsuspend=null,clearTimeout(o),clearTimeout(c)}}:null}function Yi(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)qi(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Vi=null;function qi(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Vi=new Map,t.forEach(NE,e),Vi=null,Yi.call(e))}function NE(e,t){if(!(t.state.loading&4)){var s=Vi.get(e);if(s)var o=s.get(null);else{s=new Map,Vi.set(e,s);for(var c=e.querySelectorAll("link[data-precedence],style[data-precedence]"),d=0;d<c.length;d++){var y=c[d];(y.nodeName==="LINK"||y.getAttribute("media")!=="not all")&&(s.set(y.dataset.precedence,y),o=y)}o&&s.set(null,o)}c=t.instance,y=c.getAttribute("data-precedence"),d=s.get(y)||o,d===o&&s.set(null,c),s.set(y,c),this.count++,o=Yi.bind(this),c.addEventListener("load",o),c.addEventListener("error",o),d?d.parentNode.insertBefore(c,d.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(c,e.firstChild)),t.state.loading|=4}}var ca={$$typeof:D,Provider:null,Consumer:null,_currentValue:q,_currentValue2:q,_threadCount:0};function TE(e,t,s,o,c,d,y,w,Y){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Gn(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Gn(0),this.hiddenUpdates=Gn(null),this.identifierPrefix=o,this.onUncaughtError=c,this.onCaughtError=d,this.onRecoverableError=y,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=Y,this.incompleteTransitions=new Map}function _x(e,t,s,o,c,d,y,w,Y,te,fe,xe){return e=new TE(e,t,s,y,Y,te,fe,xe,w),t=1,d===!0&&(t|=24),d=zn(3,null,null,t),e.current=d,d.stateNode=e,t=Ou(),t.refCount++,e.pooledCache=t,t.refCount++,d.memoizedState={element:o,isDehydrated:s,cache:t},Au(d),e}function Ax(e){return e?(e=Ml,e):Ml}function Mx(e,t,s,o,c,d){c=Ax(c),o.context===null?o.context=c:o.pendingContext=c,o=ir(t),o.payload={element:s},d=d===void 0?null:d,d!==null&&(o.callback=d),s=cr(e,o,t),s!==null&&(On(s,e,t),Yo(s,e,t))}function Dx(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var s=e.retryLane;e.retryLane=s!==0&&s<t?s:t}}function Qd(e,t){Dx(e,t),(e=e.alternate)&&Dx(e,t)}function zx(e){if(e.tag===13||e.tag===31){var t=qr(e,67108864);t!==null&&On(t,e,67108864),Qd(e,67108864)}}function Lx(e){if(e.tag===13||e.tag===31){var t=Bn();t=tr(t);var s=qr(e,t);s!==null&&On(s,e,t),Qd(e,t)}}var Gi=!0;function wE(e,t,s,o){var c=C.T;C.T=null;var d=U.p;try{U.p=2,Zd(e,t,s,o)}finally{U.p=d,C.T=c}}function jE(e,t,s,o){var c=C.T;C.T=null;var d=U.p;try{U.p=8,Zd(e,t,s,o)}finally{U.p=d,C.T=c}}function Zd(e,t,s,o){if(Gi){var c=Jd(o);if(c===null)Ud(e,t,o,Xi,s),Ix(e,o);else if(OE(c,e,t,s,o))o.stopPropagation();else if(Ix(e,o),t&4&&-1<CE.indexOf(e)){for(;c!==null;){var d=El(c);if(d!==null)switch(d.tag){case 3:if(d=d.stateNode,d.current.memoizedState.isDehydrated){var y=Qt(d.pendingLanes);if(y!==0){var w=d;for(w.pendingLanes|=2,w.entangledLanes|=2;y;){var Y=1<<31-Ce(y);w.entanglements[1]|=Y,y&=~Y}ms(d),(wt&6)===0&&(Ci=ce()+500,sa(0))}}break;case 31:case 13:w=qr(d,2),w!==null&&On(w,d,2),Ri(),Qd(d,2)}if(d=Jd(o),d===null&&Ud(e,t,o,Xi,s),d===c)break;c=d}c!==null&&o.stopPropagation()}else Ud(e,t,o,null,s)}}function Jd(e){return e=eu(e),Wd(e)}var Xi=null;function Wd(e){if(Xi=null,e=Sl(e),e!==null){var t=f(e);if(t===null)e=null;else{var s=t.tag;if(s===13){if(e=m(t),e!==null)return e;e=null}else if(s===31){if(e=h(t),e!==null)return e;e=null}else if(s===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Xi=e,null}function Ux(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(G()){case ue:return 2;case Z:return 8;case ye:case Ve:return 32;case be:return 268435456;default:return 32}default:return 32}}var ef=!1,vr=null,Sr=null,Er=null,ua=new Map,da=new Map,Nr=[],CE="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Ix(e,t){switch(e){case"focusin":case"focusout":vr=null;break;case"dragenter":case"dragleave":Sr=null;break;case"mouseover":case"mouseout":Er=null;break;case"pointerover":case"pointerout":ua.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":da.delete(t.pointerId)}}function fa(e,t,s,o,c,d){return e===null||e.nativeEvent!==d?(e={blockedOn:t,domEventName:s,eventSystemFlags:o,nativeEvent:d,targetContainers:[c]},t!==null&&(t=El(t),t!==null&&zx(t)),e):(e.eventSystemFlags|=o,t=e.targetContainers,c!==null&&t.indexOf(c)===-1&&t.push(c),e)}function OE(e,t,s,o,c){switch(t){case"focusin":return vr=fa(vr,e,t,s,o,c),!0;case"dragenter":return Sr=fa(Sr,e,t,s,o,c),!0;case"mouseover":return Er=fa(Er,e,t,s,o,c),!0;case"pointerover":var d=c.pointerId;return ua.set(d,fa(ua.get(d)||null,e,t,s,o,c)),!0;case"gotpointercapture":return d=c.pointerId,da.set(d,fa(da.get(d)||null,e,t,s,o,c)),!0}return!1}function Hx(e){var t=Sl(e.target);if(t!==null){var s=f(t);if(s!==null){if(t=s.tag,t===13){if(t=m(s),t!==null){e.blockedOn=t,Ia(e.priority,function(){Lx(s)});return}}else if(t===31){if(t=h(s),t!==null){e.blockedOn=t,Ia(e.priority,function(){Lx(s)});return}}else if(t===3&&s.stateNode.current.memoizedState.isDehydrated){e.blockedOn=s.tag===3?s.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Pi(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var s=Jd(e.nativeEvent);if(s===null){s=e.nativeEvent;var o=new s.constructor(s.type,s);Wc=o,s.target.dispatchEvent(o),Wc=null}else return t=El(s),t!==null&&zx(t),e.blockedOn=s,!1;t.shift()}return!0}function Bx(e,t,s){Pi(e)&&s.delete(t)}function RE(){ef=!1,vr!==null&&Pi(vr)&&(vr=null),Sr!==null&&Pi(Sr)&&(Sr=null),Er!==null&&Pi(Er)&&(Er=null),ua.forEach(Bx),da.forEach(Bx)}function Fi(e,t){e.blockedOn===t&&(e.blockedOn=null,ef||(ef=!0,n.unstable_scheduleCallback(n.unstable_NormalPriority,RE)))}var Ki=null;function Yx(e){Ki!==e&&(Ki=e,n.unstable_scheduleCallback(n.unstable_NormalPriority,function(){Ki===e&&(Ki=null);for(var t=0;t<e.length;t+=3){var s=e[t],o=e[t+1],c=e[t+2];if(typeof o!="function"){if(Wd(o||s)===null)continue;break}var d=El(s);d!==null&&(e.splice(t,3),t-=3,Ju(d,{pending:!0,data:c,method:s.method,action:o},o,c))}}))}function so(e){function t(Y){return Fi(Y,e)}vr!==null&&Fi(vr,e),Sr!==null&&Fi(Sr,e),Er!==null&&Fi(Er,e),ua.forEach(t),da.forEach(t);for(var s=0;s<Nr.length;s++){var o=Nr[s];o.blockedOn===e&&(o.blockedOn=null)}for(;0<Nr.length&&(s=Nr[0],s.blockedOn===null);)Hx(s),s.blockedOn===null&&Nr.shift();if(s=(e.ownerDocument||e).$$reactFormReplay,s!=null)for(o=0;o<s.length;o+=3){var c=s[o],d=s[o+1],y=c[En]||null;if(typeof d=="function")y||Yx(s);else if(y){var w=null;if(d&&d.hasAttribute("formAction")){if(c=d,y=d[En]||null)w=y.formAction;else if(Wd(c)!==null)continue}else w=y.action;typeof w=="function"?s[o+1]=w:(s.splice(o,3),o-=3),Yx(s)}}}function Vx(){function e(d){d.canIntercept&&d.info==="react-transition"&&d.intercept({handler:function(){return new Promise(function(y){return c=y})},focusReset:"manual",scroll:"manual"})}function t(){c!==null&&(c(),c=null),o||setTimeout(s,20)}function s(){if(!o&&!navigation.transition){var d=navigation.currentEntry;d&&d.url!=null&&navigation.navigate(d.url,{state:d.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var o=!1,c=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(s,100),function(){o=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),c!==null&&(c(),c=null)}}}function tf(e){this._internalRoot=e}$i.prototype.render=tf.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(a(409));var s=t.current,o=Bn();Mx(s,o,e,t,null,null)},$i.prototype.unmount=tf.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Mx(e.current,2,null,e,null,null),Ri(),t[vl]=null}};function $i(e){this._internalRoot=e}$i.prototype.unstable_scheduleHydration=function(e){if(e){var t=Os();e={blockedOn:null,target:e,priority:t};for(var s=0;s<Nr.length&&t!==0&&t<Nr[s].priority;s++);Nr.splice(s,0,e),s===0&&Hx(e)}};var qx=r.version;if(qx!=="19.2.8")throw Error(a(527,qx,"19.2.8"));U.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(a(188)):(e=Object.keys(e).join(","),Error(a(268,e)));return e=p(t),e=e!==null?v(e):null,e=e===null?null:e.stateNode,e};var kE={bundleType:0,version:"19.2.8",rendererPackageName:"react-dom",currentDispatcherRef:C,reconcilerVersion:"19.2.8"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Qi=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Qi.isDisabled&&Qi.supportsFiber)try{We=Qi.inject(kE),le=Qi}catch{}}return ha.createRoot=function(e,t){if(!u(e))throw Error(a(299));var s=!1,o="",c=Qp,d=Zp,y=Jp;return t!=null&&(t.unstable_strictMode===!0&&(s=!0),t.identifierPrefix!==void 0&&(o=t.identifierPrefix),t.onUncaughtError!==void 0&&(c=t.onUncaughtError),t.onCaughtError!==void 0&&(d=t.onCaughtError),t.onRecoverableError!==void 0&&(y=t.onRecoverableError)),t=_x(e,1,!1,null,null,s,o,null,c,d,y,Vx),e[vl]=t.current,Ld(e),new tf(t)},ha.hydrateRoot=function(e,t,s){if(!u(e))throw Error(a(299));var o=!1,c="",d=Qp,y=Zp,w=Jp,Y=null;return s!=null&&(s.unstable_strictMode===!0&&(o=!0),s.identifierPrefix!==void 0&&(c=s.identifierPrefix),s.onUncaughtError!==void 0&&(d=s.onUncaughtError),s.onCaughtError!==void 0&&(y=s.onCaughtError),s.onRecoverableError!==void 0&&(w=s.onRecoverableError),s.formState!==void 0&&(Y=s.formState)),t=_x(e,1,!0,t,s??null,o,c,Y,d,y,w,Vx),t.context=Ax(null),s=t.current,o=Bn(),o=tr(o),c=ir(o),c.callback=null,cr(s,c,o),s=o,t.current.lanes=s,Mt(t,s),ms(t),e[vl]=t.current,Ld(e),new $i(t)},ha.version="19.2.8",ha}var Wx;function YE(){if(Wx)return rf.exports;Wx=1;function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(r){console.error(r)}}return n(),rf.exports=BE(),rf.exports}var VE=YE();const go=["character","setting","location","hook"],Lf=["belongs_to","owns","masters","ally","rival","mentor","family","kills","appears_in","occurs_at","plot_edge","plants","advances","resolves","depends_on","involves"],qE="plot_edge",GE=["mystery","relationship","item","character_growth","world_building"],Vy=["inner","personal","extra_personal"];function ws(n){const r=new Date(n);if(Number.isNaN(r.getTime()))return n;const l=a=>String(a).padStart(2,"0");return`${r.getFullYear()}-${l(r.getMonth()+1)}-${l(r.getDate())} ${l(r.getHours())}:${l(r.getMinutes())}`}function ul(n){const r=new Date(n);if(Number.isNaN(r.getTime()))return n;const l=Math.floor((Date.now()-r.getTime())/6e4);if(l<1)return"刚刚";if(l<60)return`${l} 分钟前`;const a=Math.floor(l/60);if(a<24)return`${a} 小时前`;const u=Math.floor(a/24);return u<30?`${u} 天前`:ws(n)}const XE=["outline","entities","canvas","hooks","trash","settings"];function eb(n){const r=n.replace(/^#/,"").replace(/^\/+/,""),l=r===""?[]:r.split("/").filter(u=>u!=="");return l.length>0&&!XE.includes(l[0])?{path:"/",segments:[],isFallback:!0}:{path:`/${l.join("/")}`,segments:l,isFallback:!1}}function PE(){const[n,r]=x.useState(()=>eb(window.location.hash));return x.useEffect(()=>{const l=()=>{const a=eb(window.location.hash);r(a),a.isFallback&&window.location.hash!=="#/"&&window.location.replace("#/")};return window.addEventListener("hashchange",l),l(),()=>window.removeEventListener("hashchange",l)},[]),n}function is(n){const r=n.startsWith("#")?n:`#${n.startsWith("/")?n:`/${n}`}`;window.location.hash!==r&&(window.location.hash=r)}const qy=(...n)=>n.filter((r,l,a)=>!!r&&r.trim()!==""&&a.indexOf(r)===l).join(" ").trim();const FE=n=>n.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const KE=n=>n.replace(/^([A-Z])|[\s-_]+(\w)/g,(r,l,a)=>a?a.toUpperCase():l.toLowerCase());const tb=n=>{const r=KE(n);return r.charAt(0).toUpperCase()+r.slice(1)};var cf={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const $E=n=>{for(const r in n)if(r.startsWith("aria-")||r==="role"||r==="title")return!0;return!1},QE=x.createContext({}),ZE=()=>x.useContext(QE),JE=x.forwardRef(({color:n,size:r,strokeWidth:l,absoluteStrokeWidth:a,className:u="",children:f,iconNode:m,...h},b)=>{const{size:p=24,strokeWidth:v=2,absoluteStrokeWidth:g=!1,color:S="currentColor",className:N=""}=ZE()??{},T=a??g?Number(l??v)*24/Number(r??p):l??v;return x.createElement("svg",{ref:b,...cf,width:r??p??cf.width,height:r??p??cf.height,stroke:n??S,strokeWidth:T,className:qy("lucide",N,u),...!f&&!$E(h)&&{"aria-hidden":"true"},...h},[...m.map(([_,k])=>x.createElement(_,k)),...Array.isArray(f)?f:[f]])});const vt=(n,r)=>{const l=x.forwardRef(({className:a,...u},f)=>x.createElement(JE,{ref:f,iconNode:r,className:qy(`lucide-${FE(tb(n))}`,`lucide-${n}`,a),...u}));return l.displayName=tb(n),l};const WE=[["path",{d:"M12 5v16",key:"1f6ucr"}],["path",{d:"M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z",key:"1fyvmf"}]],om=vt("book-open",WE);const eN=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],tN=vt("chevron-down",eN);const nN=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Gy=vt("chevron-right",nN);const sN=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],am=vt("circle-alert",sN);const rN=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],im=vt("circle-check",rN);const lN=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],oN=vt("circle",lN);const aN=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],iN=vt("download",aN);const cN=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],uN=vt("ellipsis",cN);const dN=[["path",{d:"M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z",key:"b19h5q"}],["path",{d:"M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z",key:"h7h5ge"}]],fN=vt("fast-forward",dN);const mN=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Xy=vt("info",mN);const hN=[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]],pN=vt("layout-grid",hN);const gN=[["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"M3 10a2 2 0 0 0 2 2h3",key:"1npucw"}],["path",{d:"M3 5v12a2 2 0 0 0 2 2h3",key:"x1gjn2"}]],xN=vt("list-tree",gN);const bN=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],cm=vt("loader-circle",bN);const yN=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],Oa=vt("message-square",yN);const vN=[["path",{d:"M5 12h14",key:"1ays0h"}]],SN=vt("minus",vN);const EN=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],NN=vt("moon",EN);const TN=[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]],wN=vt("network",TN);const jN=[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],CN=vt("octagon-x",jN);const ON=[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]],RN=vt("pin",ON);const kN=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],um=vt("plus",kN);const _N=[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]],AN=vt("puzzle",_N);const MN=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],DN=vt("refresh-cw",MN);const zN=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],LN=vt("rotate-ccw",zN);const UN=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],IN=vt("send",UN);const HN=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],BN=vt("settings",HN);const YN=[["path",{d:"M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z",key:"1bo67w"}],["rect",{x:"3",y:"14",width:"7",height:"7",rx:"1",key:"1bkyp8"}],["circle",{cx:"17.5",cy:"17.5",r:"3.5",key:"w3z12y"}]],VN=vt("shapes",YN);const qN=[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],Py=vt("sparkles",qN);const GN=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],XN=vt("sun",GN);const PN=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],Fy=vt("trash-2",PN);const FN=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],dm=vt("triangle-alert",FN);const KN=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],$N=vt("upload",KN);const QN=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],ZN=vt("wrench",QN);const JN=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],_r=vt("x",JN);function Ky(n){const[r,l]=x.useState(()=>window.matchMedia(n).matches);return x.useEffect(()=>{const a=window.matchMedia(n),u=f=>l(f.matches);return l(a.matches),a.addEventListener("change",u),()=>a.removeEventListener("change",u)},[n]),r}const nb=n=>{let r;const l=new Set,a=(p,v)=>{const g=typeof p=="function"?p(r):p;if(!Object.is(g,r)){const S=r;r=v??(typeof g!="object"||g===null)?g:Object.assign({},r,g),l.forEach(N=>N(r,S))}},u=()=>r,h={setState:a,getState:u,getInitialState:()=>b,subscribe:p=>(l.add(p),()=>l.delete(p))},b=r=n(a,u,h);return h},WN=(n=>n?nb(n):nb),e2=n=>n;function t2(n,r=e2){const l=Ne.useSyncExternalStore(n.subscribe,Ne.useCallback(()=>r(n.getState()),[n,r]),Ne.useCallback(()=>r(n.getInitialState()),[n,r]));return Ne.useDebugValue(l),l}const sb=n=>{const r=WN(n),l=a=>t2(r,a);return Object.assign(l,r),l},fm=(n=>n?sb(n):sb),n2="/api/v1",jt="CLIENT_NETWORK_ERROR";class Ke extends Error{code;constructor(r,l){super(l),this.name="ApiError",this.code=r}}function s2(n){const r=new URLSearchParams;for(const[a,u]of Object.entries(n))u!=null&&r.set(a,String(u));const l=r.toString();return l?`?${l}`:""}function $y(n,r){const l=n.startsWith("/")?n:`/${n}`;return`${n2}${l}${s2(r??{})}`}function r2(n){return typeof n=="object"&&n!==null&&n.success===!0}function Qy(n){if(typeof n!="object"||n===null)return!1;const r=n.error;return n.success===!1&&typeof r=="object"&&r!==null&&typeof r.code=="string"&&typeof r.message=="string"}async function gt(n,r={}){const{method:l="GET",body:a,query:u,headers:f,signal:m}=r;let h;try{h=await fetch($y(n,u),{method:l,headers:a===void 0||a instanceof FormData?f:{"Content-Type":"application/json",...f},body:a===void 0?void 0:a instanceof FormData?a:JSON.stringify(a),signal:m})}catch(p){throw new Ke(jt,p instanceof Error?p.message:"网络请求失败")}const b=await h.json().catch(()=>null);if(r2(b))return b.data;throw Qy(b)?new Ke(b.error.code,b.error.message):new Ke(jt,`非预期响应(HTTP ${h.status})`)}function l2(){return gt("/project/config")}function o2(n){return gt("/project/config",{method:"PUT",body:n})}function a2(){return gt("/outline")}function i2(n){return gt("/outline",{method:"POST",body:n})}function Zy(n,r){return gt(`/outline/${n}`,{method:"PUT",body:r})}function rb(n,r){return gt(`/outline/${n}/move`,{method:"PUT",body:r})}function c2(n){return gt(`/outline/${n}`,{method:"DELETE"})}function u2(){return gt("/trash")}function d2(n,r){return gt(`/trash/entity/${n}/${r}/restore`,{method:"POST"})}function f2(n,r){return gt(`/trash/entity/${n}/${r}`,{method:"DELETE"})}function lb(n){return gt(`/trash/outline/${n}/restore`,{method:"POST"})}function m2(n){return gt(`/trash/outline/${n}`,{method:"DELETE"})}function xo(n,r={}){return gt(`/entity/${n}`,{query:r})}function uo(n,r){return gt(`/entity/${n}/${r}`)}function Jy(n,r){return gt(`/entity/${n}`,{method:"POST",body:r})}function Oc(n,r,l){return gt(`/entity/${n}/${r}`,{method:"PUT",body:l})}function Wy(n,r){return gt(`/entity/${n}/${r}`,{method:"DELETE"})}function Ra(n){return gt("/relation",{query:{source_type:n.source_type,source_id:n.source_id,target_type:n.target_type,target_id:n.target_id,relation_type:n.relation_type,depth:n.depth}})}function Rc(n){return gt("/relation",{method:"POST",body:n})}function mm(n){return gt(`/relation/${n}`,{method:"DELETE"})}function h2(n){return gt(`/delta/node/${n}`)}function p2(n){return gt("/delta/compute",{method:"POST",body:n})}function hm(n){return gt("/delta",{method:"POST",body:n})}function g2(){return gt("/project/list")}function x2(n,r){return gt("/project/create",{method:"POST",body:{path:n,...r!==void 0?{config:r}:{}}})}function b2(n){return gt("/project/open",{method:"POST",body:{path:n}})}function y2(){return gt("/project/close",{method:"POST"})}function v2(n){if(n!==null){const r=/filename\*\s*=\s*UTF-8''([^;]+)/i.exec(n);if(r)try{return decodeURIComponent(r[1])}catch{}const l=/filename\s*=\s*"?([^";]+)"?/i.exec(n);if(l)return l[1]}return"project.zip"}async function S2(){let n;try{n=await fetch($y("/project/export"))}catch(l){throw new Ke(jt,l instanceof Error?l.message:"网络请求失败")}const r=n.headers.get("content-type")??"";if(n.ok&&(r.includes("zip")||r.includes("octet-stream")))return{blob:await n.blob(),filename:v2(n.headers.get("content-disposition"))};if(r.includes("application/json")){const l=await n.json().catch(()=>null);if(Qy(l))throw new Ke(l.error.code,l.error.message)}throw new Ke(jt,`非预期响应(HTTP ${n.status})`)}async function E2(n,r){const l=new FormData;return l.append("file",n,"backup.zip"),l.append("name",r),gt("/project/import",{method:"POST",body:l})}function N2(){return gt("/settings/llm")}function uf(n){return gt("/settings/llm",{method:"PUT",body:n})}function T2(){return gt("/chat/sessions").then(n=>n.sessions)}function w2(n){return gt(`/chat/sessions/${n}/messages`)}function j2(n){return gt(`/proposal/${n}/confirm`,{method:"POST"})}function C2(n){return gt(`/proposal/${n}/reject`,{method:"POST"})}const Uf=3e3;let O2=0;const Ie=fm((n,r)=>({error:null,showError:(l,a)=>n({error:{code:l,message:a}}),clearError:()=>n({error:null}),toast:null,showToast:(l,a="success")=>{const u=++O2;n({toast:{id:u,kind:a,text:l}}),setTimeout(()=>{n(f=>f.toast?.id===u?{toast:null}:{})},Uf)},clearToast:()=>n({toast:null}),confirmState:null,confirm:l=>new Promise(a=>{n({confirmState:{...l,resolve:a}})}),resolveConfirm:l=>{const a=r().confirmState;a&&(a.resolve(l),n({confirmState:null}))},focusOutlineNodeId:null,setFocusOutlineNode:l=>n({focusOutlineNodeId:l}),clearFocusOutlineNode:()=>n({focusOutlineNodeId:null}),dataVersion:0,notifyDataChanged:()=>n(l=>({dataVersion:l.dataVersion+1}))})),Fe=fm((n,r)=>({config:null,configLoading:!1,loadError:null,outline:null,outlineLoading:!1,bookshelf:null,bookshelfLoading:!1,bookshelfError:null,loadConfig:async()=>{if(!r().configLoading){n({configLoading:!0});try{const l=await l2();n({config:l,loadError:null})}catch(l){const a=l instanceof Ke?l.code:"CLIENT_NETWORK_ERROR";n({config:null,loadError:a})}finally{n({configLoading:!1})}}},updateConfig:async l=>{await o2(l),await r().loadConfig()},loadOutline:async()=>{if(!r().outlineLoading){n({outlineLoading:!0});try{const l=await a2();n({outline:l})}catch{n({outline:null})}finally{n({outlineLoading:!1})}}},loadBookshelf:async()=>{if(!r().bookshelfLoading){n({bookshelfLoading:!0});try{const l=await g2();n({bookshelf:l,bookshelfError:null})}catch(l){const a=l instanceof Ke?l.code:"CLIENT_NETWORK_ERROR";n({bookshelf:null,bookshelfError:a})}finally{n({bookshelfLoading:!1})}}},openProjectAt:async l=>{const a=await b2(l);n({config:a.config,loadError:null}),Ie.getState().clearFocusOutlineNode(),a.rebuilt?Ie.getState().showToast(`项目已按新版本重建${a.fromVersion!==void 0?`(v${a.fromVersion})`:""},备份已保留`):a.migrated&&Ie.getState().showToast(`项目数据已自动升级${a.fromVersion!==void 0?`(v${a.fromVersion} → 当前版本)`:""},快照已保留`),await r().loadOutline()},createProjectAt:async(l,a)=>{await x2(l,a),await r().openProjectAt(l)},closeProject:async()=>{await y2(),n({config:null,loadError:null,outline:null}),Ie.getState().clearFocusOutlineNode()}}));function ev(n,r){if(n.id===r)return n;if("children"in n&&n.children)for(const l of n.children){const a=ev(l,r);if(a)return a}return null}function tv(n,r){if(!n||!r)return null;for(const l of n.children){const a=ev(l,r);if(a)return a.title}return null}function nv(n,r){return`${n.replace(/\/+$/,"")}/books/${r.trim()}`}const R2="[DONE]",k2=6e4;function _2(n){const r=[];let l=n,a;for(;(a=l.indexOf(`
10
-
11
- `))!==-1;)r.push(l.slice(0,a)),l=l.slice(a+2);return{frames:r,rest:l}}function ob(n){let r="message";const l=[];for(const a of n.split(`
12
- `))if(!(a===""||a.startsWith(":"))){if(a.startsWith("event:"))r=a.slice(6).trim();else if(a.startsWith("data:")){let u=a.slice(5);u.startsWith(" ")&&(u=u.slice(1)),l.push(u)}}return l.length===0?null:{event:r,data:l.join(`
13
- `)}}function ab(n){if(typeof n!="object"||n===null)return!1;const r=n.error;return typeof r=="object"&&r!==null&&typeof r.code=="string"&&typeof r.message=="string"}function A2(n,r){const{onEvent:l,timeoutMs:a=k2,onTimeout:u,onEnd:f,signal:m,body:h}=r,b=new AbortController,p=()=>b.abort();m&&(m.aborted?b.abort():m.addEventListener("abort",p));let v="",g=!1,S=!1,N=!1,T=!1,_=null;const k=()=>{_!==null&&(clearTimeout(_),_=null)},E=()=>{k(),_=setTimeout(()=>{g||(S=!0,g=!0,u?.(),b.abort())},a)},j=D=>{if(D.data===R2)return!1;let O=D.data;try{O=JSON.parse(D.data)}catch{}return l(D.event,O),D.event!=="error"};return E(),(async()=>{try{const D=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:h===void 0?void 0:JSON.stringify(h),signal:b.signal});if(!D.ok||!D.body){const R=await D.json().catch(()=>null),H=ab(R)?R.error.code:jt,A=ab(R)?R.error.message:`SSE 请求失败(HTTP ${D.status})`;g=!0,T=!0,l("error",{code:H,message:A});return}const O=D.body.getReader(),V=new TextDecoder;for(;!g;){const{done:R,value:H}=await O.read();if(R)break;v=(v+V.decode(H,{stream:!0})).replace(/\r\n/g,`
14
- `);const{frames:A,rest:$}=_2(v);v=$;for(const se of A){const he=ob(se);if(he){if(!j(he)){g=!0;break}E()}}}if(!g&&v.trim()!==""){const R=ob(v.trim());R&&!j(R)&&(g=!0)}}catch{!S&&!N&&(g=!0,T=!0,l("error",{code:jt,message:"网络请求失败"}))}finally{k(),m&&m.removeEventListener("abort",p),g=!0,!S&&!N&&!T&&f?.()}})(),()=>{g||(N=!0,g=!0,k(),b.abort())}}function M2(n,r){return r.includes("HTTP 404")?"聊天服务暂不可用":n==="CLIENT_NETWORK_ERROR"&&!r.includes("HTTP ")?"连接失败,请确认服务已启动":r}function D2(n,r){switch(n){case"INTERNAL_ERROR":return"提案执行失败,请让 AI 重新生成提案";case"CLIENT_NETWORK_ERROR":return"网络请求失败,请重试";default:return r}}let ro=0,lo=0,ib=0,nl=null,hs=null,oo=null;const yt=fm((n,r)=>{const l=async(a,u,f)=>{const m=r().proposals.find(h=>h.proposalId===a);if(!(!m||m.status!=="pending"||m.processing===!0)){n(h=>({proposals:h.proposals.map(b=>b.proposalId===a?{...b,processing:!0}:b)}));try{await u(a),n(h=>({proposals:h.proposals.map(b=>b.proposalId===a?{...b,status:f,processing:!1}:b)})),f==="confirmed"&&Ie.getState().notifyDataChanged()}catch(h){const b=h instanceof Ke?h.code:"CLIENT_NETWORK_ERROR",p=h instanceof Error?h.message:"网络请求失败";switch(b){case"PROPOSAL_STALE":n(v=>({proposals:v.proposals.map(g=>g.proposalId===a?{...g,status:"stale",processing:!1}:g)}));return;case"PROPOSAL_NOT_FOUND":case"PROPOSAL_PROJECT_MISMATCH":n(v=>({proposals:v.proposals.filter(g=>g.proposalId!==a)}));return;default:Ie.getState().showToast(D2(b,p),"error"),n(v=>({proposals:v.proposals.map(g=>g.proposalId===a?{...g,processing:!1}:g)}));return}}}};return{sessions:null,sessionsLoading:!1,sessionsError:null,currentSessionId:null,messages:[],messagesLoading:!1,loadSessions:async()=>{if(r().sessionsLoading)return;const a=++ro;n({sessionsLoading:!0});try{const u=await T2();if(a!==ro)return;n({sessions:u,sessionsError:null}),r().currentSessionId===null&&u.length>0&&r().setCurrentSession(u[0].id)}catch(u){if(a!==ro)return;const f=u instanceof Ke?u.code:"CLIENT_NETWORK_ERROR";n({sessions:null,sessionsError:f})}finally{a===ro&&n({sessionsLoading:!1})}},setCurrentSession:a=>{a!==r().currentSessionId&&(lo++,nl?.(),nl=null,hs=null,oo=null,n({currentSessionId:a,messages:[],messagesLoading:!1,streaming:!1,streamError:null,disconnected:!1,focusContext:null,proposals:[],streamTools:[]}),a!==null&&r().loadMessages(a))},newSession:()=>{ro++,r().setCurrentSession(null)},clearSessions:()=>{ro++,lo++,nl?.(),nl=null,hs=null,oo=null,n({sessions:null,sessionsLoading:!1,sessionsError:null,currentSessionId:null,messages:[],messagesLoading:!1,streaming:!1,streamError:null,disconnected:!1,focusContext:null,proposals:[],streamTools:[]})},loadMessages:async a=>{const u=++lo;n({messagesLoading:!0});try{const f=await w2(a);if(u!==lo)return;const m=f.messages.map(h=>({...h,sessionId:f.sessionId}));n({messages:m})}catch{if(u!==lo)return;n({messages:[]})}finally{u===lo&&n({messagesLoading:!1})}},streaming:!1,streamError:null,setStreamError:a=>n({streamError:a}),focusContext:null,setFocusContext:a=>n({focusContext:a}),clearFocusContext:()=>n({focusContext:null}),disconnected:!1,setDisconnected:a=>n({disconnected:a}),proposals:[],streamTools:[],sendMessage:a=>{const{streaming:u,messagesLoading:f,currentSessionId:m,focusContext:h}=r(),b=a.trim();if(!b||u||f)return;nl?.(),nl=null;const p=new Date().toISOString(),v=m??"",g=`local-${++ib}`;hs=g,oo=b,n(N=>({messages:[...N.messages,{id:`local-${++ib}`,sessionId:v,role:"user",content:b,createdAt:p},{id:g,sessionId:v,role:"assistant",content:"",createdAt:p}],streaming:!0,streamError:null,disconnected:!1,proposals:[],streamTools:[]}));const S={message:b};m&&(S.session_id=m),h&&(S.context=h),nl=A2("/api/v1/chat",{body:S,onEvent:(N,T)=>{switch(N){case"ping":break;case"text":{const _=T?.delta??"";hs&&n(k=>({messages:k.messages.map(E=>E.id===hs?{...E,content:(E.content??"")+_}:E)}));break}case"tool_call":{const{tool:_,args:k,id:E}=T;if(!E||!_)break;n(j=>({streamTools:[...j.streamTools,{id:E,tool:_,args:k,status:"running"}]}));break}case"tool_result":{const{id:_}=T;if(!_)break;n(k=>({streamTools:k.streamTools.map(E=>E.id===_?{...E,result:T.result,status:"ok"}:E)}));break}case"proposal":{const{proposal_id:_,type:k,preview:E}=T;if(!_||!k)break;n(j=>({proposals:[...j.proposals,{proposalId:_,type:k,preview:E,status:"pending"}]}));break}case"done":{if(hs===null)break;const _=T?.session_id;n({streaming:!1,currentSessionId:_??r().currentSessionId}),_&&r().loadSessions();break}case"error":{const{code:_,message:k}=T;n({streaming:!1,streamError:M2(_??"",k??"")});break}}},onTimeout:()=>{hs===g&&(hs=null,n({streaming:!1,disconnected:!0,proposals:[],streamTools:[]}))},onEnd:()=>{hs===g&&(hs=null,n(N=>N.streaming?{streaming:!1}:{}))}})},resendLast:()=>{const{messages:a,streaming:u}=r();if(u||!oo)return;let f=a;f[f.length-1]?.role==="assistant"&&(f=f.slice(0,-1));const h=f[f.length-1];h?.role==="user"&&h.content===oo&&(f=f.slice(0,-1)),n({messages:f}),r().sendMessage(oo)},confirmProposal:a=>l(a,j2,"confirmed"),rejectProposal:a=>l(a,C2,"rejected")}});let cb=Fe.getState().config?.id??null;Fe.subscribe(n=>{const r=n.config?.id??null;r!==cb&&(cb=r,yt.getState().clearSessions(),r!==null&&yt.getState().loadSessions())});function sv(n){var r,l,a="";if(typeof n=="string"||typeof n=="number")a+=n;else if(typeof n=="object")if(Array.isArray(n)){var u=n.length;for(r=0;r<u;r++)n[r]&&(l=sv(n[r]))&&(a&&(a+=" "),a+=l)}else for(l in n)n[l]&&(a&&(a+=" "),a+=l);return a}function rv(){for(var n,r,l=0,a="",u=arguments.length;l<u;l++)(n=arguments[l])&&(r=sv(n))&&(a&&(a+=" "),a+=r);return a}const z2=(n,r)=>{const l=new Array(n.length+r.length);for(let a=0;a<n.length;a++)l[a]=n[a];for(let a=0;a<r.length;a++)l[n.length+a]=r[a];return l},L2=(n,r)=>({classGroupId:n,validator:r}),lv=(n=new Map,r=null,l)=>({nextPart:n,validators:r,classGroupId:l}),xc="-",ub=[],U2="arbitrary..",I2=n=>{const r=B2(n),{conflictingClassGroups:l,conflictingClassGroupModifiers:a}=n;return{getClassGroupId:m=>{if(m.startsWith("[")&&m.endsWith("]"))return H2(m);const h=m.split(xc),b=h[0]===""&&h.length>1?1:0;return ov(h,b,r)},getConflictingClassGroupIds:(m,h)=>{if(h){const b=a[m],p=l[m];return b?p?z2(p,b):b:p||ub}return l[m]||ub}}},ov=(n,r,l)=>{if(n.length-r===0)return l.classGroupId;const u=n[r],f=l.nextPart.get(u);if(f){const p=ov(n,r+1,f);if(p)return p}const m=l.validators;if(m===null)return;const h=r===0?n.join(xc):n.slice(r).join(xc),b=m.length;for(let p=0;p<b;p++){const v=m[p];if(v.validator(h))return v.classGroupId}},H2=n=>n.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const r=n.slice(1,-1),l=r.indexOf(":"),a=r.slice(0,l);return a?U2+a:void 0})(),B2=n=>{const{theme:r,classGroups:l}=n;return Y2(l,r)},Y2=(n,r)=>{const l=lv();for(const a in n){const u=n[a];pm(u,l,a,r)}return l},pm=(n,r,l,a)=>{const u=n.length;for(let f=0;f<u;f++){const m=n[f];V2(m,r,l,a)}},V2=(n,r,l,a)=>{if(typeof n=="string"){q2(n,r,l);return}if(typeof n=="function"){G2(n,r,l,a);return}X2(n,r,l,a)},q2=(n,r,l)=>{const a=n===""?r:av(r,n);a.classGroupId=l},G2=(n,r,l,a)=>{if(P2(n)){pm(n(a),r,l,a);return}r.validators===null&&(r.validators=[]),r.validators.push(L2(l,n))},X2=(n,r,l,a)=>{const u=Object.entries(n),f=u.length;for(let m=0;m<f;m++){const[h,b]=u[m];pm(b,av(r,h),l,a)}},av=(n,r)=>{let l=n;const a=r.split(xc),u=a.length;for(let f=0;f<u;f++){const m=a[f];let h=l.nextPart.get(m);h||(h=lv(),l.nextPart.set(m,h)),l=h}return l},P2=n=>"isThemeGetter"in n&&n.isThemeGetter===!0,F2=n=>{if(n<1)return{get:()=>{},set:()=>{}};let r=0,l=Object.create(null),a=Object.create(null);const u=(f,m)=>{l[f]=m,r++,r>n&&(r=0,a=l,l=Object.create(null))};return{get(f){let m=l[f];if(m!==void 0)return m;if((m=a[f])!==void 0)return u(f,m),m},set(f,m){f in l?l[f]=m:u(f,m)}}},If="!",db=":",K2=[],fb=(n,r,l,a,u)=>({modifiers:n,hasImportantModifier:r,baseClassName:l,maybePostfixModifierPosition:a,isExternal:u}),$2=n=>{const{prefix:r,experimentalParseClassName:l}=n;let a=u=>{const f=[];let m=0,h=0,b=0,p;const v=u.length;for(let _=0;_<v;_++){const k=u[_];if(m===0&&h===0){if(k===db){f.push(u.slice(b,_)),b=_+1;continue}if(k==="/"){p=_;continue}}k==="["?m++:k==="]"?m--:k==="("?h++:k===")"&&h--}const g=f.length===0?u:u.slice(b);let S=g,N=!1;g.endsWith(If)?(S=g.slice(0,-1),N=!0):g.startsWith(If)&&(S=g.slice(1),N=!0);const T=p&&p>b?p-b:void 0;return fb(f,N,S,T)};if(r){const u=r+db,f=a;a=m=>m.startsWith(u)?f(m.slice(u.length)):fb(K2,!1,m,void 0,!0)}if(l){const u=a;a=f=>l({className:f,parseClassName:u})}return a},Q2=n=>{const r=new Map;return n.orderSensitiveModifiers.forEach((l,a)=>{r.set(l,1e6+a)}),l=>{const a=[];let u=[];for(let f=0;f<l.length;f++){const m=l[f],h=m[0]==="[",b=r.has(m);h||b?(u.length>0&&(u.sort(),a.push(...u),u=[]),a.push(m)):u.push(m)}return u.length>0&&(u.sort(),a.push(...u)),a}},Z2=n=>({cache:F2(n.cacheSize),parseClassName:$2(n),sortModifiers:Q2(n),postfixLookupClassGroupIds:J2(n),...I2(n)}),J2=n=>{const r=Object.create(null),l=n.postfixLookupClassGroups;if(l)for(let a=0;a<l.length;a++)r[l[a]]=!0;return r},W2=/\s+/,eT=(n,r)=>{const{parseClassName:l,getClassGroupId:a,getConflictingClassGroupIds:u,sortModifiers:f,postfixLookupClassGroupIds:m}=r,h=[],b=n.trim().split(W2);let p="";for(let v=b.length-1;v>=0;v-=1){const g=b[v],{isExternal:S,modifiers:N,hasImportantModifier:T,baseClassName:_,maybePostfixModifierPosition:k}=l(g);if(S){p=g+(p.length>0?" "+p:p);continue}let E=!!k,j;if(E){const H=_.substring(0,k);j=a(H);const A=j&&m[j]?a(_):void 0;A&&A!==j&&(j=A,E=!1)}else j=a(_);if(!j){if(!E){p=g+(p.length>0?" "+p:p);continue}if(j=a(_),!j){p=g+(p.length>0?" "+p:p);continue}E=!1}const D=N.length===0?"":N.length===1?N[0]:f(N).join(":"),O=T?D+If:D,V=O+j;if(h.indexOf(V)>-1)continue;h.push(V);const R=u(j,E);for(let H=0;H<R.length;++H){const A=R[H];h.push(O+A)}p=g+(p.length>0?" "+p:p)}return p},tT=(...n)=>{let r=0,l,a,u="";for(;r<n.length;)(l=n[r++])&&(a=iv(l))&&(u&&(u+=" "),u+=a);return u},iv=n=>{if(typeof n=="string")return n;let r,l="";for(let a=0;a<n.length;a++)n[a]&&(r=iv(n[a]))&&(l&&(l+=" "),l+=r);return l},nT=(n,...r)=>{let l,a,u,f;const m=b=>{const p=r.reduce((v,g)=>g(v),n());return l=Z2(p),a=l.cache.get,u=l.cache.set,f=h,h(b)},h=b=>{const p=a(b);if(p)return p;const v=eT(b,l);return u(b,v),v};return f=m,(...b)=>f(tT(...b))},sT=[],sn=n=>{const r=l=>l[n]||sT;return r.isThemeGetter=!0,r},cv=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,uv=/^\((?:(\w[\w-]*):)?(.+)\)$/i,rT=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,lT=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,oT=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,aT=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,iT=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,cT=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,wr=n=>rT.test(n),lt=n=>!!n&&!Number.isNaN(Number(n)),ps=n=>!!n&&Number.isInteger(Number(n)),df=n=>n.endsWith("%")&&lt(n.slice(0,-1)),Fs=n=>lT.test(n),dv=()=>!0,uT=n=>oT.test(n)&&!aT.test(n),gm=()=>!1,dT=n=>iT.test(n),fT=n=>cT.test(n),mT=n=>!Le(n)&&!Ue(n),hT=n=>n.startsWith("@container")&&(n[10]==="/"&&n[11]!==void 0||n[11]==="s"&&n[16]!==void 0&&n.startsWith("-size/",10)||n[11]==="n"&&n[18]!==void 0&&n.startsWith("-normal/",10)),pT=n=>Dr(n,hv,gm),Le=n=>cv.test(n),sl=n=>Dr(n,pv,uT),mb=n=>Dr(n,NT,lt),gT=n=>Dr(n,xv,dv),xT=n=>Dr(n,gv,gm),hb=n=>Dr(n,fv,gm),bT=n=>Dr(n,mv,fT),Zi=n=>Dr(n,bv,dT),Ue=n=>uv.test(n),pa=n=>pl(n,pv),yT=n=>pl(n,gv),pb=n=>pl(n,fv),vT=n=>pl(n,hv),ST=n=>pl(n,mv),Ji=n=>pl(n,bv,!0),ET=n=>pl(n,xv,!0),Dr=(n,r,l)=>{const a=cv.exec(n);return a?a[1]?r(a[1]):l(a[2]):!1},pl=(n,r,l=!1)=>{const a=uv.exec(n);return a?a[1]?r(a[1]):l:!1},fv=n=>n==="position"||n==="percentage",mv=n=>n==="image"||n==="url",hv=n=>n==="length"||n==="size"||n==="bg-size",pv=n=>n==="length",NT=n=>n==="number",gv=n=>n==="family-name",xv=n=>n==="number"||n==="weight",bv=n=>n==="shadow",TT=()=>{const n=sn("color"),r=sn("font"),l=sn("text"),a=sn("font-weight"),u=sn("tracking"),f=sn("leading"),m=sn("breakpoint"),h=sn("container"),b=sn("spacing"),p=sn("radius"),v=sn("shadow"),g=sn("inset-shadow"),S=sn("text-shadow"),N=sn("drop-shadow"),T=sn("blur"),_=sn("perspective"),k=sn("aspect"),E=sn("ease"),j=sn("animate"),D=()=>["auto","avoid","all","avoid-page","page","left","right","column"],O=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],V=()=>[...O(),Ue,Le],R=()=>["auto","hidden","clip","visible","scroll"],H=()=>["auto","contain","none"],A=()=>[Ue,Le,b],$=()=>[wr,"full","auto",...A()],se=()=>[ps,"none","subgrid",Ue,Le],he=()=>["auto",{span:["full",ps,Ue,Le]},ps,Ue,Le],re=()=>[ps,"auto",Ue,Le],F=()=>["auto","min","max","fr",Ue,Le],ne=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],Q=()=>["start","end","center","stretch","center-safe","end-safe"],C=()=>["auto",...A()],U=()=>[wr,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...A()],q=()=>[wr,"screen","full","dvw","lvw","svw","min","max","fit",...A()],P=()=>[wr,"screen","full","lh","dvh","lvh","svh","min","max","fit",...A()],B=()=>[n,Ue,Le],M=()=>[...O(),pb,hb,{position:[Ue,Le]}],z=()=>["no-repeat",{repeat:["","x","y","space","round"]}],L=()=>["auto","cover","contain",vT,pT,{size:[Ue,Le]}],I=()=>[df,pa,sl],K=()=>["","none","full",p,Ue,Le],W=()=>["",lt,pa,sl],Se=()=>["solid","dashed","dotted","double"],ie=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],de=()=>[lt,df,pb,hb],ze=()=>["","none",T,Ue,Le],Ge=()=>["none",lt,Ue,Le],Ee=()=>["none",lt,Ue,Le],ke=()=>[lt,Ue,Le],Ae=()=>[wr,"full",...A()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Fs],breakpoint:[Fs],color:[dv],container:[Fs],"drop-shadow":[Fs],ease:["in","out","in-out"],font:[mT],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Fs],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Fs],shadow:[Fs],spacing:["px",lt],text:[Fs],"text-shadow":[Fs],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",wr,Le,Ue,k]}],container:["container"],"container-type":[{"@container":["","normal","size",Ue,Le]}],"container-named":[hT],columns:[{columns:[lt,Le,Ue,h]}],"break-after":[{"break-after":D()}],"break-before":[{"break-before":D()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:V()}],overflow:[{overflow:R()}],"overflow-x":[{"overflow-x":R()}],"overflow-y":[{"overflow-y":R()}],overscroll:[{overscroll:H()}],"overscroll-x":[{"overscroll-x":H()}],"overscroll-y":[{"overscroll-y":H()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:$()}],"inset-x":[{"inset-x":$()}],"inset-y":[{"inset-y":$()}],start:[{"inset-s":$(),start:$()}],end:[{"inset-e":$(),end:$()}],"inset-bs":[{"inset-bs":$()}],"inset-be":[{"inset-be":$()}],top:[{top:$()}],right:[{right:$()}],bottom:[{bottom:$()}],left:[{left:$()}],visibility:["visible","invisible","collapse"],z:[{z:[ps,"auto",Ue,Le]}],basis:[{basis:[wr,"full","auto",h,...A()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[lt,wr,"auto","initial","none",Le]}],grow:[{grow:["",lt,Ue,Le]}],shrink:[{shrink:["",lt,Ue,Le]}],order:[{order:[ps,"first","last","none",Ue,Le]}],"grid-cols":[{"grid-cols":se()}],"col-start-end":[{col:he()}],"col-start":[{"col-start":re()}],"col-end":[{"col-end":re()}],"grid-rows":[{"grid-rows":se()}],"row-start-end":[{row:he()}],"row-start":[{"row-start":re()}],"row-end":[{"row-end":re()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":F()}],"auto-rows":[{"auto-rows":F()}],gap:[{gap:A()}],"gap-x":[{"gap-x":A()}],"gap-y":[{"gap-y":A()}],"justify-content":[{justify:[...ne(),"normal"]}],"justify-items":[{"justify-items":[...Q(),"normal"]}],"justify-self":[{"justify-self":["auto",...Q()]}],"align-content":[{content:["normal",...ne()]}],"align-items":[{items:[...Q(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...Q(),{baseline:["","last"]}]}],"place-content":[{"place-content":ne()}],"place-items":[{"place-items":[...Q(),"baseline"]}],"place-self":[{"place-self":["auto",...Q()]}],p:[{p:A()}],px:[{px:A()}],py:[{py:A()}],ps:[{ps:A()}],pe:[{pe:A()}],pbs:[{pbs:A()}],pbe:[{pbe:A()}],pt:[{pt:A()}],pr:[{pr:A()}],pb:[{pb:A()}],pl:[{pl:A()}],m:[{m:C()}],mx:[{mx:C()}],my:[{my:C()}],ms:[{ms:C()}],me:[{me:C()}],mbs:[{mbs:C()}],mbe:[{mbe:C()}],mt:[{mt:C()}],mr:[{mr:C()}],mb:[{mb:C()}],ml:[{ml:C()}],"space-x":[{"space-x":A()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":A()}],"space-y-reverse":["space-y-reverse"],size:[{size:U()}],"inline-size":[{inline:["auto",...q()]}],"min-inline-size":[{"min-inline":["auto",...q()]}],"max-inline-size":[{"max-inline":["none",...q()]}],"block-size":[{block:["auto",...P()]}],"min-block-size":[{"min-block":["auto",...P()]}],"max-block-size":[{"max-block":["none",...P()]}],w:[{w:[h,"screen",...U()]}],"min-w":[{"min-w":[h,"screen","none",...U()]}],"max-w":[{"max-w":[h,"screen","none","prose",{screen:[m]},...U()]}],h:[{h:["screen","lh",...U()]}],"min-h":[{"min-h":["screen","lh","none",...U()]}],"max-h":[{"max-h":["screen","lh",...U()]}],"font-size":[{text:["base",l,pa,sl]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[a,ET,gT]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",df,Le]}],"font-family":[{font:[yT,xT,r]}],"font-features":[{"font-features":[Le]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[u,Ue,Le]}],"line-clamp":[{"line-clamp":[lt,"none",Ue,mb]}],leading:[{leading:[f,...A()]}],"list-image":[{"list-image":["none",Ue,Le]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ue,Le]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:B()}],"text-color":[{text:B()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Se(),"wavy"]}],"text-decoration-thickness":[{decoration:[lt,"from-font","auto",Ue,sl]}],"text-decoration-color":[{decoration:B()}],"underline-offset":[{"underline-offset":[lt,"auto",Ue,Le]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:A()}],"tab-size":[{tab:[ps,Ue,Le]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ue,Le]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Ue,Le]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:M()}],"bg-repeat":[{bg:z()}],"bg-size":[{bg:L()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},ps,Ue,Le],radial:["",Ue,Le],conic:[ps,Ue,Le]},ST,bT]}],"bg-color":[{bg:B()}],"gradient-from-pos":[{from:I()}],"gradient-via-pos":[{via:I()}],"gradient-to-pos":[{to:I()}],"gradient-from":[{from:B()}],"gradient-via":[{via:B()}],"gradient-to":[{to:B()}],rounded:[{rounded:K()}],"rounded-s":[{"rounded-s":K()}],"rounded-e":[{"rounded-e":K()}],"rounded-t":[{"rounded-t":K()}],"rounded-r":[{"rounded-r":K()}],"rounded-b":[{"rounded-b":K()}],"rounded-l":[{"rounded-l":K()}],"rounded-ss":[{"rounded-ss":K()}],"rounded-se":[{"rounded-se":K()}],"rounded-ee":[{"rounded-ee":K()}],"rounded-es":[{"rounded-es":K()}],"rounded-tl":[{"rounded-tl":K()}],"rounded-tr":[{"rounded-tr":K()}],"rounded-br":[{"rounded-br":K()}],"rounded-bl":[{"rounded-bl":K()}],"border-w":[{border:W()}],"border-w-x":[{"border-x":W()}],"border-w-y":[{"border-y":W()}],"border-w-s":[{"border-s":W()}],"border-w-e":[{"border-e":W()}],"border-w-bs":[{"border-bs":W()}],"border-w-be":[{"border-be":W()}],"border-w-t":[{"border-t":W()}],"border-w-r":[{"border-r":W()}],"border-w-b":[{"border-b":W()}],"border-w-l":[{"border-l":W()}],"divide-x":[{"divide-x":W()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":W()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Se(),"hidden","none"]}],"divide-style":[{divide:[...Se(),"hidden","none"]}],"border-color":[{border:B()}],"border-color-x":[{"border-x":B()}],"border-color-y":[{"border-y":B()}],"border-color-s":[{"border-s":B()}],"border-color-e":[{"border-e":B()}],"border-color-bs":[{"border-bs":B()}],"border-color-be":[{"border-be":B()}],"border-color-t":[{"border-t":B()}],"border-color-r":[{"border-r":B()}],"border-color-b":[{"border-b":B()}],"border-color-l":[{"border-l":B()}],"divide-color":[{divide:B()}],"outline-style":[{outline:[...Se(),"none","hidden"]}],"outline-offset":[{"outline-offset":[lt,Ue,Le]}],"outline-w":[{outline:["",lt,pa,sl]}],"outline-color":[{outline:B()}],shadow:[{shadow:["","none",v,Ji,Zi]}],"shadow-color":[{shadow:B()}],"inset-shadow":[{"inset-shadow":["none",g,Ji,Zi]}],"inset-shadow-color":[{"inset-shadow":B()}],"ring-w":[{ring:W()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:B()}],"ring-offset-w":[{"ring-offset":[lt,sl]}],"ring-offset-color":[{"ring-offset":B()}],"inset-ring-w":[{"inset-ring":W()}],"inset-ring-color":[{"inset-ring":B()}],"text-shadow":[{"text-shadow":["none",S,Ji,Zi]}],"text-shadow-color":[{"text-shadow":B()}],opacity:[{opacity:[lt,Ue,Le]}],"mix-blend":[{"mix-blend":[...ie(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ie()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[lt]}],"mask-image-linear-from-pos":[{"mask-linear-from":de()}],"mask-image-linear-to-pos":[{"mask-linear-to":de()}],"mask-image-linear-from-color":[{"mask-linear-from":B()}],"mask-image-linear-to-color":[{"mask-linear-to":B()}],"mask-image-t-from-pos":[{"mask-t-from":de()}],"mask-image-t-to-pos":[{"mask-t-to":de()}],"mask-image-t-from-color":[{"mask-t-from":B()}],"mask-image-t-to-color":[{"mask-t-to":B()}],"mask-image-r-from-pos":[{"mask-r-from":de()}],"mask-image-r-to-pos":[{"mask-r-to":de()}],"mask-image-r-from-color":[{"mask-r-from":B()}],"mask-image-r-to-color":[{"mask-r-to":B()}],"mask-image-b-from-pos":[{"mask-b-from":de()}],"mask-image-b-to-pos":[{"mask-b-to":de()}],"mask-image-b-from-color":[{"mask-b-from":B()}],"mask-image-b-to-color":[{"mask-b-to":B()}],"mask-image-l-from-pos":[{"mask-l-from":de()}],"mask-image-l-to-pos":[{"mask-l-to":de()}],"mask-image-l-from-color":[{"mask-l-from":B()}],"mask-image-l-to-color":[{"mask-l-to":B()}],"mask-image-x-from-pos":[{"mask-x-from":de()}],"mask-image-x-to-pos":[{"mask-x-to":de()}],"mask-image-x-from-color":[{"mask-x-from":B()}],"mask-image-x-to-color":[{"mask-x-to":B()}],"mask-image-y-from-pos":[{"mask-y-from":de()}],"mask-image-y-to-pos":[{"mask-y-to":de()}],"mask-image-y-from-color":[{"mask-y-from":B()}],"mask-image-y-to-color":[{"mask-y-to":B()}],"mask-image-radial":[{"mask-radial":[Ue,Le]}],"mask-image-radial-from-pos":[{"mask-radial-from":de()}],"mask-image-radial-to-pos":[{"mask-radial-to":de()}],"mask-image-radial-from-color":[{"mask-radial-from":B()}],"mask-image-radial-to-color":[{"mask-radial-to":B()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":O()}],"mask-image-conic-pos":[{"mask-conic":[lt]}],"mask-image-conic-from-pos":[{"mask-conic-from":de()}],"mask-image-conic-to-pos":[{"mask-conic-to":de()}],"mask-image-conic-from-color":[{"mask-conic-from":B()}],"mask-image-conic-to-color":[{"mask-conic-to":B()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:M()}],"mask-repeat":[{mask:z()}],"mask-size":[{mask:L()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ue,Le]}],filter:[{filter:["","none",Ue,Le]}],blur:[{blur:ze()}],brightness:[{brightness:[lt,Ue,Le]}],contrast:[{contrast:[lt,Ue,Le]}],"drop-shadow":[{"drop-shadow":["","none",N,Ji,Zi]}],"drop-shadow-color":[{"drop-shadow":B()}],grayscale:[{grayscale:["",lt,Ue,Le]}],"hue-rotate":[{"hue-rotate":[lt,Ue,Le]}],invert:[{invert:["",lt,Ue,Le]}],saturate:[{saturate:[lt,Ue,Le]}],sepia:[{sepia:["",lt,Ue,Le]}],"backdrop-filter":[{"backdrop-filter":["","none",Ue,Le]}],"backdrop-blur":[{"backdrop-blur":ze()}],"backdrop-brightness":[{"backdrop-brightness":[lt,Ue,Le]}],"backdrop-contrast":[{"backdrop-contrast":[lt,Ue,Le]}],"backdrop-grayscale":[{"backdrop-grayscale":["",lt,Ue,Le]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[lt,Ue,Le]}],"backdrop-invert":[{"backdrop-invert":["",lt,Ue,Le]}],"backdrop-opacity":[{"backdrop-opacity":[lt,Ue,Le]}],"backdrop-saturate":[{"backdrop-saturate":[lt,Ue,Le]}],"backdrop-sepia":[{"backdrop-sepia":["",lt,Ue,Le]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":A()}],"border-spacing-x":[{"border-spacing-x":A()}],"border-spacing-y":[{"border-spacing-y":A()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ue,Le]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[lt,"initial",Ue,Le]}],ease:[{ease:["linear","initial",E,Ue,Le]}],delay:[{delay:[lt,Ue,Le]}],animate:[{animate:["none",j,Ue,Le]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[_,Ue,Le]}],"perspective-origin":[{"perspective-origin":V()}],rotate:[{rotate:Ge()}],"rotate-x":[{"rotate-x":Ge()}],"rotate-y":[{"rotate-y":Ge()}],"rotate-z":[{"rotate-z":Ge()}],scale:[{scale:Ee()}],"scale-x":[{"scale-x":Ee()}],"scale-y":[{"scale-y":Ee()}],"scale-z":[{"scale-z":Ee()}],"scale-3d":["scale-3d"],skew:[{skew:ke()}],"skew-x":[{"skew-x":ke()}],"skew-y":[{"skew-y":ke()}],transform:[{transform:[Ue,Le,"","none","gpu","cpu"]}],"transform-origin":[{origin:V()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Ae()}],"translate-x":[{"translate-x":Ae()}],"translate-y":[{"translate-y":Ae()}],"translate-z":[{"translate-z":Ae()}],"translate-none":["translate-none"],zoom:[{zoom:[ps,Ue,Le]}],accent:[{accent:B()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:B()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Ue,Le]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":B()}],"scrollbar-track-color":[{"scrollbar-track":B()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":A()}],"scroll-mx":[{"scroll-mx":A()}],"scroll-my":[{"scroll-my":A()}],"scroll-ms":[{"scroll-ms":A()}],"scroll-me":[{"scroll-me":A()}],"scroll-mbs":[{"scroll-mbs":A()}],"scroll-mbe":[{"scroll-mbe":A()}],"scroll-mt":[{"scroll-mt":A()}],"scroll-mr":[{"scroll-mr":A()}],"scroll-mb":[{"scroll-mb":A()}],"scroll-ml":[{"scroll-ml":A()}],"scroll-p":[{"scroll-p":A()}],"scroll-px":[{"scroll-px":A()}],"scroll-py":[{"scroll-py":A()}],"scroll-ps":[{"scroll-ps":A()}],"scroll-pe":[{"scroll-pe":A()}],"scroll-pbs":[{"scroll-pbs":A()}],"scroll-pbe":[{"scroll-pbe":A()}],"scroll-pt":[{"scroll-pt":A()}],"scroll-pr":[{"scroll-pr":A()}],"scroll-pb":[{"scroll-pb":A()}],"scroll-pl":[{"scroll-pl":A()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Ue,Le]}],fill:[{fill:["none",...B()]}],"stroke-w":[{stroke:[lt,pa,sl,mb]}],stroke:[{stroke:["none",...B()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},wT=nT(TT);function tt(...n){return wT(rv(n))}function kc(){return typeof window<"u"}function gn(n){return xm(n)?(n.nodeName||"").toLowerCase():"#document"}function qt(n){var r;return(n==null||(r=n.ownerDocument)==null?void 0:r.defaultView)||window}function er(n){var r;return(r=(xm(n)?n.ownerDocument:n.document)||window.document)==null?void 0:r.documentElement}function xm(n){return kc()?n instanceof Node||n instanceof qt(n).Node:!1}function dt(n){return kc()?n instanceof Element||n instanceof qt(n).Element:!1}function It(n){return kc()?n instanceof HTMLElement||n instanceof qt(n).HTMLElement:!1}function bo(n){return!kc()||typeof ShadowRoot>"u"?!1:n instanceof ShadowRoot||n instanceof qt(n).ShadowRoot}function gl(n){const{overflow:r,overflowX:l,overflowY:a,display:u}=Vn(n);return/auto|scroll|overlay|hidden|clip/.test(r+a+l)&&u!=="inline"&&u!=="contents"}function jT(n){return/^(table|td|th)$/.test(gn(n))}function _c(n){try{if(n.matches(":popover-open"))return!0}catch{}try{return n.matches(":modal")}catch{return!1}}const CT=/transform|translate|scale|rotate|perspective|filter/,OT=/paint|layout|strict|content/,rl=n=>!!n&&n!=="none";let ff;function bm(n){const r=dt(n)?Vn(n):n;return rl(r.transform)||rl(r.translate)||rl(r.scale)||rl(r.rotate)||rl(r.perspective)||!ym()&&(rl(r.backdropFilter)||rl(r.filter))||CT.test(r.willChange||"")||OT.test(r.contain||"")}function RT(n){let r=Js(n);for(;It(r)&&!$s(r);){if(bm(r))return r;if(_c(r))return null;r=Js(r)}return null}function ym(){return ff==null&&(ff=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),ff}function $s(n){return/^(html|body|#document)$/.test(gn(n))}function Vn(n){return qt(n).getComputedStyle(n)}function Ac(n){return dt(n)?{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}:{scrollLeft:n.scrollX,scrollTop:n.scrollY}}function Js(n){if(gn(n)==="html")return n;const r=n.assignedSlot||n.parentNode||bo(n)&&n.host||er(n);return bo(r)?r.host:r}function yv(n){const r=Js(n);return $s(r)?(n.ownerDocument||n).body:It(r)&&gl(r)?r:yv(r)}function ka(n,r,l){var a;r===void 0&&(r=[]),l===void 0&&(l=!0);const u=yv(n),f=u===((a=n.ownerDocument)==null?void 0:a.body),m=qt(u);if(f){const h=Hf(m);return r.concat(m,m.visualViewport||[],gl(u)?u:[],h&&l?ka(h):[])}else return r.concat(u,ka(u,[],l))}function Hf(n){return n.parent&&Object.getPrototypeOf(n.parent)?n.frameElement:null}const vm={...LE},gb={};function An(n,r){const l=x.useRef(gb);return l.current===gb&&(l.current=n(r)),l}const mf=vm.useInsertionEffect,kT=mf&&mf!==vm.useLayoutEffect?mf:n=>n();function et(n){const r=An(_T).current;return r.next=n,kT(r.effect),r.trampoline}function _T(){const n={next:void 0,callback:AT,trampoline:(...r)=>n.callback?.(...r),effect:()=>{n.callback=n.next}};return n}function AT(){}const MT=()=>{},qe=typeof document<"u"?x.useLayoutEffect:MT;function Bf(n,r){if(n&&!r)return n;if(!n&&r)return r;if(n||r)return{...n,...r}}const Sm={};function kr(n,r,l,a,u){if(!l&&!a&&!u&&!n)return bc(r);let f=bc(n);return r&&(f=Ea(f,r)),l&&(f=Ea(f,l)),a&&(f=Ea(f,a)),u&&(f=Ea(f,u)),f}function DT(n){if(n.length===0)return Sm;if(n.length===1)return bc(n[0]);let r=bc(n[0]);for(let l=1;l<n.length;l+=1)r=Ea(r,n[l]);return r}function bc(n){return Em(n)?{...Sv(n,Sm)}:zT(n)}function Ea(n,r){return Em(r)?Sv(r,n):LT(n,r)}function zT(n){const r={...n};for(const l in r){const a=r[l];vv(l,a)&&(r[l]=Ev(a))}return r}function LT(n,r){if(!r)return n;for(const l in r){const a=r[l];switch(l){case"style":{n[l]=Bf(n.style,a);break}case"className":{n[l]=Nv(n.className,a);break}default:vv(l,a)?n[l]=UT(n[l],a):n[l]=a}}return n}function vv(n,r){const l=n.charCodeAt(0),a=n.charCodeAt(1),u=n.charCodeAt(2);return l===111&&a===110&&u>=65&&u<=90&&(typeof r=="function"||typeof r>"u")}function Em(n){return typeof n=="function"}function Sv(n,r){return Em(n)?n(r):n??Sm}function UT(n,r){return r?n?(...l)=>{const a=l[0];if(Tv(a)){const f=a;yc(f);const m=r(...l);return f.baseUIHandlerPrevented||n?.(...l),m}const u=r(...l);return n?.(...l),u}:Ev(r):n}function Ev(n){return n&&((...r)=>{const l=r[0];return Tv(l)&&yc(l),n(...r)})}function yc(n){return n.preventBaseUIHandler=()=>{n.baseUIHandlerPrevented=!0},n}function Nv(n,r){return r?n?r+" "+n:r:n}function Tv(n){return n!=null&&typeof n=="object"&&"nativeEvent"in n}function IT(n,r){return function(a,...u){const f=new URL(n);return f.searchParams.set("code",a.toString()),u.forEach(m=>f.searchParams.append("args[]",m)),`${r} error #${a}; visit ${f} for the full message.`}}const rs=IT("https://base-ui.com/production-error","Base UI"),HT=x.createContext(void 0);function Nm(n=!1){const r=x.useContext(HT);if(r===void 0&&!n)throw new Error(rs(16));return r}function BT(n){const{focusableWhenDisabled:r,disabled:l,composite:a=!1,tabIndex:u=0,isNativeButton:f}=n,m=a&&r!==!1,h=a&&r===!1;return{props:x.useMemo(()=>{const p={onKeyDown(v){l&&r&&v.key!=="Tab"&&v.preventDefault()}};return a||(p.tabIndex=u,!f&&l&&(p.tabIndex=r?u:-1)),(f&&(r||m)||!f&&l)&&(p["aria-disabled"]=l),f&&(!r||h)&&(p.disabled=l),p},[a,l,r,m,h,f,u])}}function Mc(n={}){const{disabled:r=!1,focusableWhenDisabled:l,tabIndex:a=0,native:u=!0,composite:f}=n,m=x.useRef(null),h=Nm(!0),b=f??h!==void 0,{props:p}=BT({focusableWhenDisabled:l,disabled:r,composite:b,tabIndex:a,isNativeButton:u}),v=x.useCallback(()=>{const N=m.current;hf(N)&&b&&r&&p.disabled===void 0&&N.disabled&&(N.disabled=!1)},[r,p.disabled,b]);qe(v,[v]);const g=x.useCallback((N={})=>{const{onClick:T,onMouseDown:_,onKeyUp:k,onKeyDown:E,onPointerDown:j,...D}=N;return kr({onClick(O){if(r){O.preventDefault();return}T?.(O)},onMouseDown(O){r||_?.(O)},onKeyDown(O){if(r||(yc(O),E?.(O),O.baseUIHandlerPrevented))return;const V=O.target===O.currentTarget,R=O.currentTarget,H=hf(R),A=!u&&YT(R),$=V&&(u?H:!A),se=O.key==="Enter",he=O.key===" ",re=R.getAttribute("role"),F=re?.startsWith("menuitem")||re==="option"||re==="gridcell";if(V&&b&&he){if(O.defaultPrevented&&F)return;O.preventDefault(),A||u&&H?(R.click(),O.preventBaseUIHandler()):$&&(T?.(O),O.preventBaseUIHandler());return}$&&(!u&&(he||se)&&O.preventDefault(),!u&&se&&T?.(O))},onKeyUp(O){if(!r){if(yc(O),k?.(O),O.target===O.currentTarget&&u&&b&&hf(O.currentTarget)&&O.key===" "){O.preventDefault();return}O.baseUIHandlerPrevented||O.target===O.currentTarget&&!u&&!b&&O.key===" "&&T?.(O)}},onPointerDown(O){if(r){O.preventDefault();return}j?.(O)}},u?{type:"button"}:{role:"button"},p,D)},[r,p,b,u]),S=et(N=>{m.current=N,v()});return{getButtonProps:g,buttonRef:S}}function hf(n){return It(n)&&n.tagName==="BUTTON"}function YT(n){return!!(n?.tagName==="A"&&n?.href)}function yo(n,r,l,a){const u=An(wv).current;return qT(u,n,r,l,a)&&jv(u,[n,r,l,a]),u.callback}function VT(n){const r=An(wv).current;return GT(r,n)&&jv(r,n),r.callback}function wv(){return{callback:null,cleanup:null,refs:[]}}function qT(n,r,l,a,u){return n.refs[0]!==r||n.refs[1]!==l||n.refs[2]!==a||n.refs[3]!==u}function GT(n,r){return n.refs.length!==r.length||n.refs.some((l,a)=>l!==r[a])}function jv(n,r){if(n.refs=r,r.every(l=>l==null)){n.callback=null;return}n.callback=l=>{if(n.cleanup&&(n.cleanup(),n.cleanup=null),l!=null){const a=Array(r.length).fill(null);for(let u=0;u<r.length;u+=1){const f=r[u];if(f!=null)switch(typeof f){case"function":{const m=f(l);typeof m=="function"&&(a[u]=m);break}case"object":{f.current=l;break}}}n.cleanup=()=>{for(let u=0;u<r.length;u+=1){const f=r[u];if(f!=null)switch(typeof f){case"function":{const m=a[u];typeof m=="function"?m():f(null);break}case"object":{f.current=null;break}}}}}}}const XT=parseInt(x.version,10);function Tm(n){return XT>=n}function xb(n){if(!x.isValidElement(n))return null;const r=n,l=r.props;return(Tm(19)?l?.ref:r.ref)??null}function un(){}const vc=Object.freeze([]),Bt=Object.freeze({});function PT(n,r){const l={};for(const a in n){const u=n[a];if(r?.hasOwnProperty(a)){const f=r[a](u);f!=null&&Object.assign(l,f);continue}u===!0?l[`data-${a.toLowerCase()}`]="":u&&(l[`data-${a.toLowerCase()}`]=u.toString())}return l}function FT(n,r){return typeof n=="function"?n(r):n}function KT(n,r){return typeof n=="function"?n(r):n}function yn(n,r,l={}){const a=r.render,u=$T(r,l);if(l.enabled===!1)return null;const f=l.state??Bt;return JT(n,a,u,f)}function $T(n,r={}){const{className:l,style:a,render:u}=n,{state:f=Bt,ref:m,props:h,stateAttributesMapping:b,enabled:p=!0}=r,v=p?FT(l,f):void 0,g=p?KT(a,f):void 0,S=p?PT(f,b):Bt,N=p&&h?QT(h):void 0,T=p?Bf(S,N)??{}:Bt;return typeof document<"u"&&(p?Array.isArray(m)?T.ref=VT([T.ref,xb(u),...m]):T.ref=yo(T.ref,xb(u),m):yo(null,null)),p?(v!==void 0&&(T.className=Nv(T.className,v)),g!==void 0&&(T.style=Bf(T.style,g)),T):Bt}function QT(n){return Array.isArray(n)?DT(n):kr(void 0,n)}const ZT=Symbol.for("react.lazy");function JT(n,r,l,a){if(r){if(typeof r=="function")return r(l,a);const u=kr(l,r.props);u.ref=l.ref;let f=r;return f?.$$typeof===ZT&&(f=x.Children.toArray(r)[0]),x.cloneElement(f,u)}if(n&&typeof n=="string")return WT(n,l);throw new Error(rs(8))}function WT(n,r){return n==="button"?x.createElement("button",{type:"button",...r,key:r.key}):n==="img"?x.createElement("img",{alt:"",...r,key:r.key}):x.createElement(n,r)}const ew=x.forwardRef(function(r,l){const{render:a,className:u,disabled:f=!1,focusableWhenDisabled:m=!1,nativeButton:h=!0,style:b,...p}=r,{getButtonProps:v,buttonRef:g}=Mc({disabled:f,focusableWhenDisabled:m,native:h});return yn("button",r,{state:{disabled:f},ref:[l,g],props:[p,v]})}),bb=n=>typeof n=="boolean"?`${n}`:n===0?"0":n,yb=rv,tw=(n,r)=>l=>{var a;if(r?.variants==null)return yb(n,l?.class,l?.className);const{variants:u,defaultVariants:f}=r,m=Object.keys(u).map(p=>{const v=l?.[p],g=f?.[p];if(v===null)return null;const S=bb(v)||bb(g);return u[p][S]}),h=l&&Object.entries(l).reduce((p,v)=>{let[g,S]=v;return S===void 0||(p[g]=S),p},{}),b=r==null||(a=r.compoundVariants)===null||a===void 0?void 0:a.reduce((p,v)=>{let{class:g,className:S,...N}=v;return Object.entries(N).every(T=>{let[_,k]=T;return Array.isArray(k)?k.includes({...f,...h}[_]):{...f,...h}[_]===k})?[...p,g,S]:p},[]);return yb(n,m,b,l?.class,l?.className)},Yf=tw("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function ve({className:n,variant:r="default",size:l="default",...a}){return i.jsx(ew,{"data-slot":"button",className:tt(Yf({variant:r,size:l,className:n})),...a})}const Cv=x.createContext(void 0);function Ov(n){const r=x.useContext(Cv);if(r===void 0&&!n)throw new Error(rs(33));return r}const Rv=x.createContext(void 0);function xl(n){const r=x.useContext(Rv);if(r===void 0&&!n)throw new Error(rs(36));return r}let _a=(function(n){return n.startingStyle="data-starting-style",n.endingStyle="data-ending-style",n})({});const nw={[_a.startingStyle]:""},sw={[_a.endingStyle]:""},wm={transitionStatus(n){return n==="starting"?nw:n==="ending"?sw:null}};let il=(function(n){return n.open="data-open",n.closed="data-closed",n[n.startingStyle=_a.startingStyle]="startingStyle",n[n.endingStyle=_a.endingStyle]="endingStyle",n.anchorHidden="data-anchor-hidden",n.side="data-side",n.align="data-align",n})({}),vb=(function(n){return n.popupOpen="data-popup-open",n.pressed="data-pressed",n})({});const rw={[vb.popupOpen]:"",[vb.pressed]:""},lw={[il.open]:""},ow={[il.closed]:""},aw={[il.anchorHidden]:""},Sb={open(n){return n?rw:null}},Dc={open(n){return n?lw:ow},anchorHidden(n){return n?aw:null}},iw=x.createContext(void 0);function zc(n=!0){const r=x.useContext(iw);if(r===void 0&&!n)throw new Error(rs(25));return r}const kv="none",Lc="trigger-press",kn="trigger-hover",wa="trigger-focus",jm="outside-press",_v="item-press",cw="close-press",vo="focus-out",Cm="escape-key",Vf="list-navigation",uw="cancel-open",Na="sibling-open",Av="imperative-action";function dw({controlled:n,default:r,name:l,state:a="value"}){const{current:u}=x.useRef(n!==void 0),[f,m]=x.useState(r),h=u?n:f,b=x.useCallback(p=>{u||m(p)},[]);return[h,b]}function fw(){return typeof navigator>"u"?{userAgent:"",platform:"",maxTouchPoints:0}:{userAgent:navigator.userAgent,platform:navigator.platform??"",maxTouchPoints:navigator.maxTouchPoints??0}}const{userAgent:mw,platform:hw,maxTouchPoints:pw}=fw(),Uc=mw.toLowerCase(),Aa=hw.toLowerCase(),Ic=/^i(os$|p)/.test(Aa)||Aa==="macintel"&&pw>1,Eb="android",qf=Aa===Eb||Uc.includes(Eb),Om=!Ic&&Aa.startsWith("mac");Aa.startsWith("win");const gw=Om||Ic,bl=typeof CSS<"u"&&!!CSS.supports?.("-webkit-backdrop-filter:none");!bl&&Uc.includes("firefox");!bl&&Uc.includes("chrom");const xw=gw,Rm=/jsdom|happydom/.test(Uc);function bw(n){const{closeOnClick:r,highlighted:l,id:a,nodeId:u,store:f,typingRef:m,itemRef:h,itemMetadata:b}=n,{events:p}=f.useState("floatingTreeRoot"),v=f.useState("open"),g=zc(!0),S=g!==void 0;return x.useMemo(()=>({id:a,role:"menuitem",tabIndex:v&&l?0:-1,onKeyDown(N){N.key===" "&&m?.current&&N.preventDefault()},onMouseMove(N){u&&p.emit("itemhover",{nodeId:u,target:N.currentTarget})},onClick(N){r&&p.emit("close",{domEvent:N,reason:_v})},onMouseUp(N){if(g){const T=g.initialCursorPointRef.current;if(g.initialCursorPointRef.current=null,S&&T&&Math.abs(N.clientX-T.x)<=1&&Math.abs(N.clientY-T.y)<=1||S&&!Om&&N.button===2)return}h.current&&f.context.allowMouseUpTriggerRef.current&&(!S||N.button===2)&&(!b||b.type==="regular-item")&&h.current.click()}}),[r,l,a,p,u,v,f,m,h,g,S,b])}const yw={type:"regular-item"};function vw(n){const{closeOnClick:r,disabled:l=!1,highlighted:a,id:u,store:f,typingRef:m=f.context.typingRef,nativeButton:h,itemMetadata:b,nodeId:p}=n,v=f.useState("disabled"),g=l||v,S=x.useRef(null),{getButtonProps:N,buttonRef:T}=Mc({disabled:g,focusableWhenDisabled:!0,native:h,composite:!0}),_=bw({closeOnClick:r,highlighted:a,id:u,nodeId:p,store:f,typingRef:m,itemRef:S,itemMetadata:b}),k=x.useCallback(j=>kr(_,{onMouseEnter(){b.type==="submenu-trigger"&&b.setActive()}},j,N),[_,N,b]),E=yo(S,T);return x.useMemo(()=>({getItemProps:k,itemRef:E}),[k,E])}const Mv=x.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},elementsRef:{current:[]},nextIndexRef:{current:0}});function Sw(){return x.useContext(Mv)}let Ew=(function(n){return n[n.None=0]="None",n[n.GuessFromOrder=1]="GuessFromOrder",n})({});function Dv(n={}){const{label:r,metadata:l,textRef:a,indexGuessBehavior:u,index:f}=n,{register:m,unregister:h,subscribeMapChange:b,elementsRef:p,labelsRef:v,nextIndexRef:g}=Sw(),S=x.useRef(-1),[N,T]=x.useState(f??(u===Ew.GuessFromOrder?()=>{if(S.current===-1){const E=g.current;g.current+=1,S.current=E}return S.current}:-1)),_=x.useRef(null),k=x.useCallback(E=>{if(_.current=E,N!==-1&&E!==null&&(p.current[N]=E,v)){const j=r!==void 0;v.current[N]=j?r:a?.current?.textContent??E.textContent}},[N,p,v,r,a]);return qe(()=>{if(f!=null)return;const E=_.current;if(E)return m(E,l),()=>{h(E)}},[f,m,h,l]),qe(()=>{if(f==null)return b(E=>{const j=_.current?E.get(_.current)?.index:null;j!=null&&T(j)})},[f,b,T]),{ref:k,index:N}}let Nb=0;function Nw(n,r="mui"){const[l,a]=x.useState(n),u=n||l;return x.useEffect(()=>{l==null&&(Nb+=1,a(`${r}-${Nb}`))},[l,r]),u}const Tb=vm.useId;function fl(n,r){if(Tb!==void 0){const l=Tb();return n??(r?`${r}-${l}`:l)}return Nw(n,r)}function No(n){return fl(n,"base-ui")}function Tt(n,r,l,a){let u=!1,f=!1;const m=Bt;return{reason:n,event:r??new Event("base-ui"),cancel(){u=!0},allowPropagation(){f=!0},get isCanceled(){return u},get isPropagationAllowed(){return f},trigger:l,...m}}const Tw=[];function km(n){x.useEffect(n,Tw)}const Wi=null;class ww{callbacks=[];callbacksCount=0;nextId=1;startId=1;isScheduled=!1;tick=r=>{this.isScheduled=!1;const l=this.callbacks,a=this.callbacksCount;if(this.callbacks=[],this.callbacksCount=0,this.startId=this.nextId,a>0)for(let u=0;u<l.length;u+=1)l[u]?.(r)};request(r){const l=this.nextId;return this.nextId+=1,this.callbacks.push(r),this.callbacksCount+=1,!this.isScheduled&&(requestAnimationFrame(this.tick),this.isScheduled=!0),l}cancel(r){const l=r-this.startId;l<0||l>=this.callbacks.length||(this.callbacks[l]=null,this.callbacksCount-=1)}}const ec=new ww;class bs{static create(){return new bs}static request(r){return ec.request(r)}static cancel(r){return ec.cancel(r)}currentId=Wi;request(r){this.cancel(),this.currentId=ec.request(()=>{this.currentId=Wi,r()})}cancel=()=>{this.currentId!==Wi&&(ec.cancel(this.currentId),this.currentId=Wi)};disposeEffect=()=>this.cancel}function Ma(){const n=An(bs.create).current;return km(n.disposeEffect),n}function jw(n,r=!1,l=!1){const[a,u]=x.useState(n&&r?"idle":void 0),[f,m]=x.useState(n);return n&&!f&&(m(!0),u("starting")),!n&&f&&a!=="ending"&&!l&&u("ending"),!n&&!f&&a==="ending"&&u(void 0),qe(()=>{if(!n&&f&&a!=="ending"&&l){const h=bs.request(()=>{u("ending")});return()=>{bs.cancel(h)}}},[n,f,a,l]),qe(()=>{if(!n||r)return;const h=bs.request(()=>{u(void 0)});return()=>{bs.cancel(h)}},[r,n]),qe(()=>{if(!n||!r)return;n&&f&&a!=="idle"&&u("starting");const h=bs.request(()=>{u("idle")});return()=>{bs.cancel(h)}},[r,n,f,a]),{mounted:f,setMounted:m,transitionStatus:a}}var Ar=Yy();const Cw=By(Ar);function Ks(n){return n==null?n:"current"in n?n.current:n}function zv(n,r=!1,l=!0){const a=Ma();return et((u,f=null)=>{a.cancel();const m=Ks(n);if(m==null)return;const h=m,b=()=>{Ar.flushSync(u)};if(typeof h.getAnimations!="function"||globalThis.BASE_UI_ANIMATIONS_DISABLED){u();return}function p(){Promise.all(h.getAnimations().map(v=>v.finished)).then(()=>{f?.aborted||b()}).catch(()=>{if(l){f?.aborted||b();return}const v=h.getAnimations();!f?.aborted&&v.length>0&&v.some(g=>g.pending||g.playState!=="finished")&&p()})}if(r){const v=_a.startingStyle;if(!h.hasAttribute(v)){a.request(p);return}const g=new MutationObserver(()=>{h.hasAttribute(v)||(g.disconnect(),p())});g.observe(h,{attributes:!0,attributeFilter:[v]}),f?.addEventListener("abort",()=>g.disconnect(),{once:!0});return}a.request(p)})}function _m(n){const{enabled:r=!0,open:l,ref:a,onComplete:u}=n,f=et(u),m=zv(a,l,!1);x.useEffect(()=>{if(!r)return;const h=new AbortController;return m(f,h.signal),()=>{h.abort()}},[r,l,f,m])}const Lv=x.createContext(void 0);function Ow(){const n=x.useContext(Lv);if(n===void 0)throw new Error(rs(31));return n}const Rw=x.forwardRef(function(r,l){const{render:a,className:u,style:f,...m}=r,[h,b]=x.useState(void 0),p=yn("div",r,{ref:l,props:{role:"group","aria-labelledby":h,...m}});return i.jsx(Lv.Provider,{value:b,children:p})}),kw=x.forwardRef(function(r,l){const{render:a,className:u,style:f,id:m,...h}=r,b=No(m),p=Ow();return qe(()=>(p(b),()=>{p(void 0)}),[p,b]),yn("div",r,{ref:l,props:{id:b,role:"presentation",...h}})}),_w=x.forwardRef(function(r,l){const{render:a,className:u,id:f,label:m,nativeButton:h=!1,disabled:b=!1,closeOnClick:p=!0,style:v,...g}=r,S=Dv({label:m}),N=Ov(!0),T=No(f),{store:_}=xl(),k=_.useState("isActive",S.index),E=_.useState("itemProps"),{getItemProps:j,itemRef:D}=vw({closeOnClick:p,disabled:b,highlighted:k,id:T,store:_,nativeButton:h,nodeId:N?.context.nodeId,itemMetadata:yw});return yn("div",r,{state:{disabled:b,highlighted:k},props:[E,g,j],ref:[D,l,S.ref]})}),ga=0;class js{static create(){return new js}currentId=ga;start(r,l){this.clear(),this.currentId=setTimeout(()=>{this.currentId=ga,l()},r)}isStarted(){return this.currentId!==ga}clear=()=>{this.currentId!==ga&&(clearTimeout(this.currentId),this.currentId=ga)};disposeEffect=()=>this.clear}function qn(){const n=An(js.create).current;return km(n.disposeEffect),n}function xs(n){n.preventDefault(),n.stopPropagation()}function Aw(n){return"nativeEvent"in n}function Uv(n){return n.pointerType===""&&n.isTrusted?!0:qf&&n.pointerType?n.type==="click"&&n.buttons===1:n.detail===0&&!n.pointerType}function Iv(n){return Rm?!1:!qf&&n.width===0&&n.height===0||qf&&n.width===1&&n.height===1&&n.pressure===0&&n.detail===0&&n.pointerType==="mouse"||n.width<1&&n.height<1&&n.pressure===0&&n.detail===0&&n.pointerType==="touch"}function Da(n,r){const l=["mouse","pen"];return r||l.push("",void 0),l.includes(n)}function Mw(n){const r=n.type;return r==="click"||r==="mousedown"||r==="keydown"||r==="keyup"}const Gf="data-base-ui-focusable",Hv="input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])",Hc="ArrowLeft",Bc="ArrowRight",Bv="ArrowUp",Am="ArrowDown";function Sn(n){let r=n.activeElement;for(;r?.shadowRoot?.activeElement!=null;)r=r.shadowRoot.activeElement;return r}function Je(n,r){if(!n||!r)return!1;const l=r.getRootNode?.();if(n.contains(r))return!0;if(l&&bo(l)){let a=r;for(;a;){if(n===a)return!0;a=a.parentNode||a.host}}return!1}function _n(n){return"composedPath"in n?n.composedPath()[0]:n.target}function Sc(n,r){if(!dt(n))return!1;const l=n;if(r.hasElement(l))return!l.hasAttribute("data-trigger-disabled");for(const[,a]of r.entries())if(Je(a,l))return!a.hasAttribute("data-trigger-disabled");return!1}function pf(n,r){if(r==null)return!1;if("composedPath"in n)return n.composedPath().includes(r);const l=n;return l.target!=null&&r.contains(l.target)}function Dw(n){return n.matches("html,body")}function Yc(n){return It(n)&&n.matches(Hv)}function zw(n){return n?.closest(`button,a[href],[role="button"],select,[tabindex]:not([tabindex="-1"]),${Hv}`)!=null}function Xf(n){return n?n.getAttribute("role")==="combobox"&&Yc(n):!1}function Lw(n){if(!n||Rm)return!0;try{return n.matches(":focus-visible")}catch{return!0}}function Pf(n){return n?n.hasAttribute(Gf)?n:n.querySelector(`[${Gf}]`)||n:null}function Uw(n,r){return r!=null&&!Da(r)?0:typeof n=="function"?n():n}function Ff(n,r,l){const a=Uw(n,l);return typeof a=="number"?a:a?.[r]}function wb(n){return typeof n=="function"?n():n}function Yv(n,r){return r||n==="click"||n==="mousedown"}function Iw(n){return n?.includes("mouse")&&n!=="mousedown"}function it(n,r,l,a){return n.addEventListener(r,l,a),()=>{n.removeEventListener(r,l,a)}}function Ts(...n){return()=>{for(let r=0;r<n.length;r+=1){const l=n[r];l&&l()}}}function rn(n){const r=An(Hw,n).current;return r.next=n,qe(r.effect),r}function Hw(n){const r={current:n,next:n,effect:()=>{r.current=r.next}};return r}function ht(n){return n?.ownerDocument||document}const Bw={clipPath:"inset(50%)",overflow:"hidden",whiteSpace:"nowrap",border:0,padding:0,width:1,height:1,margin:-1},Yw={...Bw,position:"fixed",top:0,left:0},So=x.forwardRef(function(r,l){const[a,u]=x.useState();qe(()=>{xw&&bl&&u("button")},[]);const f={tabIndex:0,role:a};return i.jsx("span",{...r,ref:l,style:Yw,"aria-hidden":a?void 0:!0,...f,"data-base-ui-focus-guard":""})}),Vw=["top","right","bottom","left"],Eo=Math.min,Qs=Math.max,Ec=Math.round,tc=Math.floor,Zs=n=>({x:n,y:n}),qw={left:"right",right:"left",bottom:"top",top:"bottom"};function Vv(n,r,l){return Qs(n,Eo(r,l))}function Ws(n,r){return typeof n=="function"?n(r):n}function Yn(n){return n.split("-")[0]}function zr(n){return n.split("-")[1]}function Mm(n){return n==="x"?"y":"x"}function Dm(n){return n==="y"?"height":"width"}function ss(n){const r=n[0];return r==="t"||r==="b"?"y":"x"}function zm(n){return Mm(ss(n))}function Gw(n,r,l){l===void 0&&(l=!1);const a=zr(n),u=zm(n),f=Dm(u);let m=u==="x"?a===(l?"end":"start")?"right":"left":a==="start"?"bottom":"top";return r.reference[f]>r.floating[f]&&(m=Nc(m)),[m,Nc(m)]}function Xw(n){const r=Nc(n);return[Kf(n),r,Kf(r)]}function Kf(n){return n.includes("start")?n.replace("start","end"):n.replace("end","start")}const jb=["left","right"],Cb=["right","left"],Pw=["top","bottom"],Fw=["bottom","top"];function Kw(n,r,l){switch(n){case"top":case"bottom":return l?r?Cb:jb:r?jb:Cb;case"left":case"right":return r?Pw:Fw;default:return[]}}function $w(n,r,l,a){const u=zr(n);let f=Kw(Yn(n),l==="start",a);return u&&(f=f.map(m=>m+"-"+u),r&&(f=f.concat(f.map(Kf)))),f}function Nc(n){const r=Yn(n);return qw[r]+n.slice(r.length)}function Qw(n){var r,l,a,u;return{top:(r=n.top)!=null?r:0,right:(l=n.right)!=null?l:0,bottom:(a=n.bottom)!=null?a:0,left:(u=n.left)!=null?u:0}}function qv(n){return typeof n!="number"?Qw(n):{top:n,right:n,bottom:n,left:n}}function Tc(n){const{x:r,y:l,width:a,height:u}=n;return{width:a,height:u,top:l,left:r,right:r+a,bottom:l+u,x:r,y:l}}function Ob(n,r){return r<0||r>=n.length}function gf(n,r){return fo(n.current,{disabledIndices:r})}function Rb(n,r){return fo(n.current,{decrement:!0,startingIndex:n.current.length,disabledIndices:r})}function fo(n,{startingIndex:r=-1,decrement:l=!1,disabledIndices:a,amount:u=1}={}){let f=r;do f+=l?-u:u;while(f>=0&&f<=n.length-1&&Gv(n,f,a));return f}function Gv(n,r,l){if(typeof l=="function"?l(r):l?.includes(r)??!1)return!0;const u=n[r];return u?Vc(u)?!l&&(u.hasAttribute("disabled")||u.getAttribute("aria-disabled")==="true"):!0:!1}function Zw(n){return n.visibility==="hidden"||n.visibility==="collapse"}function Vc(n,r=n?Vn(n):null){return!n||!n.isConnected||!r||Zw(r)?!1:typeof n.checkVisibility=="function"?n.checkVisibility():r.display!=="none"&&r.display!=="contents"}const Jw='a[href],button,input,select,textarea,summary,details,iframe,object,embed,[tabindex],[contenteditable]:not([contenteditable="false"]),audio[controls],video[controls]';function Ww(n){const r=n.assignedSlot;if(r)return r;if(n.parentElement)return n.parentElement;const l=n.getRootNode();return bo(l)?l.host:null}function $f(n){for(const r of Array.from(n.children))if(gn(r)==="summary")return r;return null}function ej(n,r){const l=$f(r);return!!l&&(n===l||Je(l,n))}function Xv(n){const r=n?gn(n):"";return n!=null&&n.matches(Jw)&&(r!=="summary"||n.parentElement!=null&&gn(n.parentElement)==="details"&&$f(n.parentElement)===n)&&(r!=="details"||$f(n)==null)&&(r!=="input"||n.type!=="hidden")}function Pv(n){if(!Xv(n)||!n.isConnected||n.matches(":disabled"))return!1;for(let r=n;r;r=Ww(r)){const l=r!==n,a=gn(r)==="slot";if(r.hasAttribute("inert")||l&&gn(r)==="details"&&!r.open&&!ej(n,r)||r.hasAttribute("hidden")||!a&&!tj(r,l))return!1}return!0}function tj(n,r){const l=Vn(n);return r?l.display!=="none":Vc(n,l)}function Fv(n){const r=n.tabIndex;if(r<0){const l=gn(n);if(l==="details"||l==="audio"||l==="video"||It(n)&&n.isContentEditable)return 0}return r}function xf(n){if(gn(n)!=="input")return null;const r=n;return r.type==="radio"&&r.name!==""?r:null}function nj(n,r){const l=xf(n);if(!l)return!0;const a=r.find(u=>{const f=xf(u);return f?.name===l.name&&f.form===l.form&&f.checked});return a?a===l:r.find(u=>{const f=xf(u);return f?.name===l.name&&f.form===l.form})===l}function Kv(n){if(It(n)&&gn(n)==="slot"){const r=n.assignedElements({flatten:!0});if(r.length>0)return r}return It(n)&&n.shadowRoot?Array.from(n.shadowRoot.children):Array.from(n.children)}function $v(n,r){Kv(n).forEach(l=>{Xv(l)&&r.push(l),$v(l,r)})}function Qv(n,r,l){Kv(n).forEach(a=>{It(a)&&a.matches(r)&&l.push(a),Qv(a,r,l)})}function Lm(n){return Pv(n)&&Fv(n)>=0}function Zv(n){const r=[];return $v(n,r),r.filter(Pv)}function Ua(n){const r=Zv(n);return r.filter(l=>Fv(l)>=0&&nj(l,r))}function Jv(n,r){const l=Ua(n),a=l.length;if(a===0)return;const u=Sn(ht(n)),f=l.indexOf(u),m=f===-1?r===1?0:a-1:f+r;return l[m]}function Um(n){return Jv(ht(n).body,1)||n}function Wv(n){return Jv(ht(n).body,-1)||n}function e0(n,r){if(!n)return null;const l=Ua(ht(n).body),a=l.length;if(a===0)return null;const u=l.indexOf(n);if(u===-1)return null;const f=(u+r+a)%a;return l[f]}function sj(n){return e0(n,1)}function rj(n){return e0(n,-1)}function mo(n,r){const l=r||n.currentTarget,a=n.relatedTarget;return!a||!Je(l,a)}function lj(n){Ua(n).forEach(l=>{l.dataset.tabindex=l.getAttribute("tabindex")||"",l.setAttribute("tabindex","-1")})}function kb(n){const r=[];Qv(n,"[data-tabindex]",r),r.forEach(l=>{const a=l.dataset.tabindex;delete l.dataset.tabindex,a?l.setAttribute("tabindex",a):l.removeAttribute("tabindex")})}function Mr(n,r,l=!0){return n.filter(u=>u.parentId===r).flatMap(u=>[...!l||u.context?.open?[u]:[],...Mr(n,u.id,l)])}function _b(n,r){let l=[],a=n.find(u=>u.id===r)?.parentId;for(;a;){const u=n.find(f=>f.id===a);a=u?.parentId,u&&(l=l.concat(u))}return l}function za(n){return`data-base-ui-${n}`}let nc=0;function mc(n,r={}){const{preventScroll:l=!1,sync:a=!1,shouldFocus:u}=r;cancelAnimationFrame(nc);function f(){u&&!u()||n?.focus({preventScroll:l})}if(a)return f(),un;const m=requestAnimationFrame(f);return nc=m,()=>{nc===m&&(cancelAnimationFrame(m),nc=0)}}const bf={inert:new WeakMap,"aria-hidden":new WeakMap},Ab="data-base-ui-inert",Qf={inert:new WeakSet,"aria-hidden":new WeakSet};let xa=new WeakMap,yf=0;function oj(n){return Qf[n]}function t0(n){return n?bo(n)?n.host:t0(n.parentNode):null}const Mb=(n,r)=>r.map(l=>{if(n.contains(l))return l;const a=t0(l);return n.contains(a)?a:null}).filter(l=>l!=null),Db=n=>{const r=new Set;return n.forEach(l=>{let a=l;for(;a&&!r.has(a);)r.add(a),a=a.parentNode}),r},zb=(n,r,l)=>{const a=[],u=f=>{!f||l.has(f)||Array.from(f.children).forEach(m=>{gn(m)!=="script"&&(r.has(m)?u(m):a.push(m))})};return u(n),a};function aj(n,r,l,a,{mark:u=!0}){let f=null;a?f="inert":l&&(f="aria-hidden");let m=null,h=null;const b=Mb(r,n),p=u?zb(r,Db(b),new Set(b)):[],v=[],g=[];if(f){const S=bf[f],N=oj(f);h=N,m=S;const T=Mb(r,Array.from(r.querySelectorAll("[aria-live]"))),_=b.concat(T);zb(r,Db(_),new Set(_)).forEach(E=>{const j=E.getAttribute(f),D=j!==null&&j!=="false",O=(S.get(E)||0)+1;S.set(E,O),v.push(E),O===1&&D&&N.add(E),D||E.setAttribute(f,f==="inert"?"":"true")})}return u&&p.forEach(S=>{const N=(xa.get(S)||0)+1;xa.set(S,N),g.push(S),N===1&&S.setAttribute(Ab,"")}),yf+=1,()=>{m&&v.forEach(S=>{const T=(m.get(S)||0)-1;m.set(S,T),T||(!h?.has(S)&&f&&S.removeAttribute(f),h?.delete(S))}),u&&g.forEach(S=>{const N=(xa.get(S)||0)-1;xa.set(S,N),N||S.removeAttribute(Ab)}),yf-=1,yf||(bf.inert=new WeakMap,bf["aria-hidden"]=new WeakMap,Qf.inert=new WeakSet,Qf["aria-hidden"]=new WeakSet,xa=new WeakMap)}}function Lb(n,r={}){const{ariaHidden:l=!1,inert:a=!1,mark:u=!0}=r,f=ht(n[0]).body;return aj(n,f,l,a,{mark:u})}const ij=500,cj=500,uj={style:{transition:"none"}},dj="data-base-ui-click-trigger",fj={fallbackAxisSide:"none"},mj={fallbackAxisSide:"end"},hj={clipPath:"inset(50%)",position:"fixed",top:0,left:0},n0=x.createContext(null),s0=()=>x.useContext(n0),pj=za("portal");function gj(n={}){const{ref:r,container:l,componentProps:a=Bt,elementProps:u}=n,f=fl(),h=s0()?.portalNode,[b,p]=x.useState(null),[v,g]=x.useState(null),S=et(k=>{k!==null&&g(k)}),N=x.useRef(null);qe(()=>{if(l===null){N.current&&(N.current=null,g(null),p(null));return}if(f==null)return;const k=(l&&(xm(l)?l:l.current))??h??document.body;if(k==null){N.current&&(N.current=null,g(null),p(null));return}N.current!==k&&(N.current=k,g(null),p(k))},[l,h,f]);const T=yn("div",a,{ref:[r,S],props:[{id:f,[pj]:""},u]});return{portalNode:v,portalSubtree:b&&T?Ar.createPortal(T,b):null}}const r0=x.forwardRef(function(r,l){const{render:a,className:u,style:f,children:m,container:h,renderGuards:b,...p}=r,{portalNode:v,portalSubtree:g}=gj({container:h,ref:l,componentProps:r,elementProps:p}),S=x.useRef(null),N=x.useRef(null),T=x.useRef(null),_=x.useRef(null),[k,E]=x.useState(null),j=x.useRef(!1),D=k?.modal,O=k?.open,V=typeof b=="boolean"?b:!!k&&!k.modal&&k.open&&!!v;x.useEffect(()=>{if(!v||D)return;function H(A){v&&A.relatedTarget&&mo(A)&&(A.type==="focusin"?j.current&&(kb(v),j.current=!1):(lj(v),j.current=!0))}return Ts(it(v,"focusin",H,!0),it(v,"focusout",H,!0))},[v,D]),qe(()=>{!v||O!==!0||!j.current||(kb(v),j.current=!1)},[O,v]);const R=x.useMemo(()=>({beforeOutsideRef:S,afterOutsideRef:N,beforeInsideRef:T,afterInsideRef:_,portalNode:v,setFocusManagerState:E}),[v]);return i.jsxs(x.Fragment,{children:[g,i.jsxs(n0.Provider,{value:R,children:[V&&v&&i.jsx(So,{"data-type":"outside",ref:S,onFocus:H=>{if(mo(H,v))T.current?.focus();else{const A=k?k.domReference:null;Wv(A)?.focus()}}}),V&&v&&i.jsx("span",{"aria-owns":v.id,style:hj}),v&&Ar.createPortal(m,v),V&&v&&i.jsx(So,{"data-type":"outside",ref:N,onFocus:H=>{if(mo(H,v))_.current?.focus();else{const A=k?k.domReference:null;Um(A)?.focus(),k?.closeOnFocusOut&&k?.onOpenChange(!1,Tt(vo,H.nativeEvent))}}})]})]})});function l0(){const n=new Map;return{emit(r,l){n.get(r)?.forEach(a=>a(l))},on(r,l){n.has(r)||n.set(r,new Set),n.get(r).add(l)},off(r,l){n.get(r)?.delete(l)}}}class Im{nodesRef={current:[]};events=l0();addNode(r){this.nodesRef.current.push(r)}removeNode(r){const l=this.nodesRef.current.findIndex(a=>a===r);l!==-1&&this.nodesRef.current.splice(l,1)}}const o0=x.createContext(null),a0=x.createContext(null),Lr=()=>x.useContext(o0)?.id||null,Ur=n=>{const r=x.useContext(a0);return n??r};function i0(n){const r=fl(),l=Ur(n),a=Lr();return qe(()=>{if(!r)return;const u={id:r,parentId:a};return l?.addNode(u),()=>{l?.removeNode(u)}},[l,r,a]),r}function xj(n){const{children:r,id:l}=n,a=Lr();return i.jsx(o0.Provider,{value:x.useMemo(()=>({id:l,parentId:a}),[l,a]),children:r})}function bj(n){const{children:r,externalTree:l}=n,a=An(()=>l??new Im).current;return i.jsx(a0.Provider,{value:a,children:r})}function yj(n,r){const l=qt(_n(n));return n instanceof l.KeyboardEvent?"keyboard":n instanceof l.FocusEvent?r||"keyboard":"pointerType"in n?n.pointerType||"keyboard":"touches"in n?"touch":n instanceof l.MouseEvent?r||(n.detail===0?"keyboard":"mouse"):""}const Ub=20;let Cr=[];function Hm(){Cr=Cr.filter(n=>n.deref()?.isConnected)}function Ib(n){Hm(),n&&gn(n)!=="body"&&(Cr.push(new WeakRef(n)),Cr.length>Ub&&(Cr=Cr.slice(-Ub)))}function Hb(){return Hm(),Cr[Cr.length-1]?.deref()}function vj(n){return n?Lm(n)?n:Ua(n)[0]||n:null}function Bb(n){if(n.hasAttribute("tabindex")&&!n.hasAttribute("data-tabindex")||!n.getAttribute("role")?.includes("dialog"))return;const l=Zv(n).filter(u=>{const f=u.getAttribute("data-tabindex")||"";return Lm(u)||u.hasAttribute("data-tabindex")&&!f.startsWith("-")}),a=n.getAttribute("tabindex");l.length===0?a!=="0"&&(n.setAttribute("tabindex","0"),n.setAttribute("data-tabindex","0")):(a!=="-1"||n.hasAttribute("data-tabindex")&&n.getAttribute("data-tabindex")!=="-1")&&(n.setAttribute("tabindex","-1"),n.setAttribute("data-tabindex","-1"))}function c0(n){const{context:r,children:l,disabled:a=!1,initialFocus:u=!0,returnFocus:f=!0,restoreFocus:m=!1,modal:h=!0,closeOnFocusOut:b=!0,openInteractionType:p="",nextFocusableElement:v,previousFocusableElement:g,beforeContentFocusGuardRef:S,externalTree:N,getInsideElements:T}=n,_="rootStore"in r?r.rootStore:r,k=_.useState("open"),E=_.useState("domReferenceElement"),j=_.useState("floatingElement"),{events:D,dataRef:O}=_.context,V=et(()=>O.current.floatingContext?.nodeId),R=u===!1,H=Xf(E)&&R,A=rn(u),$=rn(f),se=rn(p),he=rn(k),re=Ur(N),F=s0(),ne=x.useRef(!1),Q=x.useRef(!1),C=x.useRef(!1),U=x.useRef(null),q=x.useRef(""),P=x.useRef(""),B=x.useRef(null),M=x.useRef(null),z=yo(B,S,F?.beforeInsideRef),L=yo(M,F?.afterInsideRef),I=qn(),K=qn(),W=Ma(),Se=F!=null,ie=Pf(j),de=et((Ee=ie)=>Ee?Ua(Ee):[]),ze=et(()=>T?.().filter(Ee=>Ee!=null)??[]);x.useEffect(()=>{if(a||!h)return;function Ee(Ae){Ae.key==="Tab"&&Je(ie,Sn(ht(ie)))&&de().length===0&&!H&&xs(Ae)}const ke=ht(ie);return it(ke,"keydown",Ee)},[a,ie,h,H,de]),x.useEffect(()=>{if(a||!k)return;const Ee=ht(ie);function ke(){C.current=!1}function Ae(Me){const we=_n(Me),He=ze(),ge=Je(j,we)||Je(E,we)||Je(F?.portalNode,we)||He.some(Oe=>Oe===we||Je(Oe,we));C.current=!ge,P.current=Me.pointerType||"keyboard",we?.closest(`[${dj}]`)&&(Q.current=!0,K.start(0,()=>{Q.current=!1}))}function pe(){P.current="keyboard"}return Ts(it(Ee,"pointerdown",Ae,!0),it(Ee,"pointerup",ke,!0),it(Ee,"pointercancel",ke,!0),it(Ee,"keydown",pe,!0),ke)},[a,j,E,ie,k,F,K,ze]),x.useEffect(()=>{if(a||!b)return;const Ee=ht(ie);function ke(){Q.current=!0,K.start(0,()=>{Q.current=!1})}function Ae(He){const ge=_n(He);Lm(ge)&&(U.current=ge)}function pe(He){const ge=He.relatedTarget,Oe=He.currentTarget,_e=_n(He);h&&ge==null&&_e!=null&&Je(j,_e)&&Ib(_e),queueMicrotask(()=>{const Re=V(),ft=_.context.triggerElements,ce=ze(),G=ge?.hasAttribute(za("focus-guard"))&&[B.current,M.current,F?.beforeInsideRef.current,F?.afterInsideRef.current,F?.beforeOutsideRef.current,F?.afterOutsideRef.current,Ks(g),Ks(v)].includes(ge),ue=!(Je(E,ge)||Je(j,ge)||Je(ge,j)||Je(F?.portalNode,ge)||ce.some(Z=>Z===ge||Je(Z,ge))||ge!=null&&ft.hasElement(ge)||ft.hasMatchingElement(Z=>Je(Z,ge))||G||re&&(Mr(re.nodesRef.current,Re).find(Z=>Je(Z.context?.elements.floating,ge)||Je(Z.context?.elements.domReference,ge))||_b(re.nodesRef.current,Re).find(Z=>[Z.context?.elements.floating,Pf(Z.context?.elements.floating)].includes(ge)||Z.context?.elements.domReference===ge)));if(Oe===E&&ie&&Bb(ie),m&&Oe!==E&&!Vc(_e)&&Sn(Ee)===Ee.body){if(It(ie)&&(ie.focus(),m==="popup")){W.request(()=>{ie.focus()});return}const Z=de(),ye=U.current,Ve=(ye&&Z.includes(ye)?ye:null)||Z[Z.length-1]||ie;It(Ve)&&Ve.focus()}if(O.current.insideReactTree){O.current.insideReactTree=!1;return}(H||!h)&&ge&&ue&&!Q.current&&(H||ge!==Hb())&&(ne.current=!0,_.setOpen(!1,Tt(vo,He)))})}function Me(){C.current||(O.current.insideReactTree=!0,I.start(0,()=>{O.current.insideReactTree=!1}))}const we=It(E)?E:null;if(!(!j&&!we))return Ts(we&&it(we,"focusout",pe),we&&it(we,"pointerdown",ke),j&&it(j,"focusin",Ae),j&&it(j,"focusout",pe),j&&F&&it(j,"focusout",Me,!0))},[a,E,j,ie,h,re,F,_,b,m,de,H,V,O,I,K,W,v,g,ze]),x.useEffect(()=>{if(a||!j||!k)return;const Ee=Array.from(F?.portalNode?.querySelectorAll(`[${za("portal")}]`)||[]),Ae=(re?_b(re.nodesRef.current,V()):[]).find(Oe=>Xf(Oe.context?.elements.domReference||null))?.context?.elements.domReference,Me=[...[j,...Ee,B.current,M.current,F?.beforeOutsideRef.current,F?.afterOutsideRef.current,...ze()],Ae,Ks(g),Ks(v),H?E:null].filter(Oe=>Oe!=null),we=Lb(Me,{ariaHidden:h||H,mark:!1}),He=[j,...Ee].filter(Oe=>Oe!=null),ge=Lb(He);return()=>{ge(),we()}},[k,a,E,j,h,F,H,re,V,v,g,ze]),qe(()=>{if(!k||a||!It(ie))return;const Ee=ht(ie),ke=Sn(Ee);queueMicrotask(()=>{const Ae=A.current,pe=typeof Ae=="function"?Ae(se.current||""):Ae;if(pe===void 0||pe===!1||Je(ie,ke))return;let we=null;const He=()=>(we==null&&(we=de(ie)),we[0]||ie);let ge;pe===!0||pe===null?ge=He():ge=Ks(pe),ge=ge||He();const Oe=Je(ie,Sn(Ee));mc(ge,{preventScroll:ge===ie,shouldFocus(){if(!he.current)return!1;if(Oe)return!0;const _e=Sn(Ee);return!(_e!==ge&&Je(ie,_e))}})})},[a,k,ie,de,A,se,he]),qe(()=>{if(a||!ie)return;const Ee=ht(ie),ke=Sn(Ee),Ae=se.current==null;Ib(ke);function pe(we){if(we.open||(q.current=yj(we.nativeEvent,P.current)),we.reason===kn&&we.nativeEvent.type==="mouseleave"&&(ne.current=!0),we.reason===jm)if(we.nested)ne.current=!1;else if(Uv(we.nativeEvent)||Iv(we.nativeEvent))ne.current=!1;else{let He=!1;ht(ie).createElement("div").focus({get preventScroll(){return He=!0,!1}}),He?ne.current=!1:ne.current=!0}}D.on("openchange",pe);function Me(){const we=$.current;let He=typeof we=="function"?we(q.current):we;if(He===void 0||He===!1)return null;He===null&&(He=!0);const ge=E?.isConnected?E:null,Oe=ke?.isConnected&&gn(ke)!=="body"?ke:null;let _e=Ae?Oe||ge:ge||Oe;return _e||(_e=Hb()||null),typeof He=="boolean"?_e:Ks(He)||_e||null}return()=>{D.off("openchange",pe);const we=Sn(Ee),He=ze(),ge=Je(j,we)||He.some(Re=>Re===we||Je(Re,we))||re&&Mr(re.nodesRef.current,V(),!1).some(Re=>Je(Re.context?.elements.floating,we)),Oe=$.current,_e=Me();queueMicrotask(()=>{const Re=vj(_e),ft=typeof Oe!="boolean";Oe&&!ne.current&&It(Re)&&(!(!ft&&Re!==we&&we!==Ee.body)||ge)&&Re.focus({preventScroll:!0}),ne.current=!1})}},[a,j,ie,$,se,D,re,E,V,ze]),qe(()=>{if(!bl||k||!j)return;const Ee=Sn(ht(j));!It(Ee)||!Yc(Ee)||Je(j,Ee)&&Ee.blur()},[k,j]),qe(()=>{if(!(a||!F))return F.setFocusManagerState({modal:h,closeOnFocusOut:b,open:k,onOpenChange:_.setOpen,domReference:E}),()=>{F.setFocusManagerState(null)}},[a,F,h,k,_,b,E]),qe(()=>{if(!(a||!ie))return Bb(ie),()=>{queueMicrotask(Hm)}},[a,ie]);const Ge=!a&&(h?!H:!0)&&(Se||h);return i.jsxs(x.Fragment,{children:[Ge&&i.jsx(So,{"data-type":"inside",ref:z,onFocus:Ee=>{if(h){const ke=de();mc(ke[ke.length-1])}else F?.portalNode&&(ne.current=!1,mo(Ee,F.portalNode)?Um(E)?.focus():Ks(g??F.beforeOutsideRef)?.focus())}}),l,Ge&&i.jsx(So,{"data-type":"inside",ref:L,onFocus:Ee=>{h?mc(de()[0]):F?.portalNode&&(b&&(ne.current=!0),mo(Ee,F.portalNode)?Wv(E)?.focus():Ks(v??F.afterOutsideRef)?.focus())}})]})}function Sj(n,r={}){const{enabled:l=!0,event:a="click",toggle:u=!0,ignoreMouse:f=!1,stickIfOpen:m=!0,touchOpenDelay:h=0,reason:b=Lc}=r,p="rootStore"in n?n.rootStore:n,v=p.context.dataRef,g=x.useRef(void 0),S=Ma(),N=qn(),T=x.useMemo(()=>{function _(E,j,D,O){const V=Tt(b,j,D);E&&O==="touch"&&h>0?N.start(h,()=>{p.setOpen(!0,V)}):p.setOpen(E,V)}function k(E,j,D){const O=v.current.openEvent,V=p.select("domReferenceElement")!==j;return E&&V||!E||!u?!0:O&&m?!D(O.type):!1}return{onPointerDown(E){g.current=E.pointerType},onMouseDown(E){const j=g.current,D=E.nativeEvent,O=p.select("open");if(E.button!==0||a==="click"||Da(j,!0)&&f)return;const V=k(O,E.currentTarget,A=>A==="click"||A==="mousedown"),R=_n(D);if(Yc(R)){_(V,D,R,j);return}const H=E.currentTarget;S.request(()=>{_(V,D,H,j)})},onClick(E){if(a==="mousedown-only")return;const j=g.current;if(a==="mousedown"&&j){g.current=void 0;return}if(Da(j,!0)&&f)return;const D=p.select("open"),O=k(D,E.currentTarget,V=>V==="click"||V==="mousedown"||V==="keydown"||V==="keyup");_(O,E.nativeEvent,E.currentTarget,j)},onKeyDown(){g.current=void 0}}},[v,a,f,b,p,m,u,S,N,h]);return x.useMemo(()=>l?{reference:T}:Bt,[l,T])}function Ej(){return!1}function Nj(n){return{escapeKey:typeof n=="boolean"?n:n?.escapeKey??!1,outsidePress:typeof n=="boolean"?n:n?.outsidePress??!0}}function u0(n,r={}){const{enabled:l=!0,escapeKey:a=!0,outsidePress:u=!0,outsidePressEvent:f="sloppy",referencePress:m=Ej,bubbles:h,externalTree:b}=r,p="rootStore"in n?n.rootStore:n,v=p.useState("open"),g=p.useState("floatingElement"),{dataRef:S}=p.context,N=Ur(b),T=et(typeof u=="function"?u:()=>!1),_=typeof u=="function"?T:u,k=_!==!1,E=et(()=>f),{escapeKey:j,outsidePress:D}=Nj(h),O=x.useRef(!1),V=x.useRef(!1),R=x.useRef(!1),H=x.useRef(!1),A=x.useRef(""),$=x.useRef(null),se=qn(),he=qn(),re=et(()=>{he.clear(),S.current.insideReactTree=!1}),F=et(z=>{const L=S.current.floatingContext?.nodeId;return(N?Mr(N.nodesRef.current,L):[]).some(K=>K.context?.open&&!K.context.dataRef.current[z])}),ne=et(z=>pf(z,p.select("floatingElement"))||pf(z,p.select("domReferenceElement"))),Q=et(z=>{m()&&p.setOpen(!1,Tt(Lc,z.nativeEvent))}),C=et(z=>{if(!v||!l||!a||z.key!=="Escape"||H.current||!j&&F("__escapeKeyBubbles"))return;const L=Aw(z)?z.nativeEvent:z,I=Tt(Cm,L);p.setOpen(!1,I),I.isCanceled||z.preventDefault(),!j&&!I.isPropagationAllowed&&z.stopPropagation()}),U=et(()=>{S.current.insideReactTree=!0,he.start(0,re)}),q=et(z=>{if(!v||!l||z.button!==0)return;const L=_n(z.nativeEvent);Je(p.select("floatingElement"),L)&&(O.current||(O.current=!0,V.current=!1))}),P=et(z=>{!v||!l||(z.defaultPrevented||z.nativeEvent.defaultPrevented)&&O.current&&(V.current=!0)});x.useEffect(()=>{if(!v||!l)return;S.current.__escapeKeyBubbles=j,S.current.__outsidePressBubbles=D;const z=new js,L=new js;function I(){z.clear(),H.current=!0}function K(){z.start(bl?5:0,()=>{H.current=!1})}function W(){R.current=!0,L.start(0,()=>{R.current=!1})}function Se(){O.current=!1,V.current=!1}function ie(){const ce=A.current,G=ce==="pen"||!ce?"mouse":ce,ue=E(),Z=typeof ue=="function"?ue():ue;return typeof Z=="string"?Z:Z[G]}function de(ce){const G=ie();return G==="intentional"&&ce.type!=="click"||G==="sloppy"&&ce.type==="click"}function ze(ce){const G=S.current.floatingContext?.nodeId,ue=N&&Mr(N.nodesRef.current,G).some(Z=>pf(ce,Z.context?.elements.floating));return ne(ce)||ue}function Ge(ce){if(de(ce)){ce.type!=="click"&&!ne(ce)&&(L.clear(),R.current=!1),re();return}if(S.current.insideReactTree){re();return}const G=_n(ce),ue=`[${za("inert")}]`,Z=dt(G)?G.getRootNode():null,ye=Array.from((bo(Z)?Z:ht(p.select("floatingElement"))).querySelectorAll(ue)),Ve=p.context.triggerElements;if(G&&(Ve.hasElement(G)||Ve.hasMatchingElement(Te=>Je(Te,G))))return;let be=dt(G)?G:null;for(;be&&!$s(be);){const Te=Js(be);if($s(Te)||!dt(Te))break;be=Te}if(!(ye.length&&dt(G)&&!Dw(G)&&!Je(G,p.select("floatingElement"))&&ye.every(Te=>!Je(be,Te)))){if(It(G)&&!("touches"in ce)){const Te=$s(G),Xe=Vn(G),We=/auto|scroll/,le=Te||We.test(Xe.overflowX),je=Te||We.test(Xe.overflowY),Ce=le&&G.clientWidth>0&&G.scrollWidth>G.clientWidth,xt=je&&G.clientHeight>0&&G.scrollHeight>G.clientHeight,pt=Xe.direction==="rtl",De=xt&&(pt?ce.offsetX<=G.offsetWidth-G.clientWidth:ce.offsetX>G.clientWidth),bt=Ce&&ce.offsetY>G.clientHeight;if(De||bt)return}if(!ze(ce)){if(ie()==="intentional"&&R.current){L.clear(),R.current=!1;return}typeof _=="function"&&!_(ce)||F("__outsidePressBubbles")||(p.setOpen(!1,Tt(jm,ce)),re())}}}function Ee(ce){ie()!=="sloppy"||ce.pointerType==="touch"||!p.select("open")||!l||ne(ce)||Ge(ce)}function ke(ce){if(ie()!=="sloppy"||!p.select("open")||!l||ne(ce))return;const G=ce.touches[0];G&&($.current={startTime:Date.now(),startX:G.clientX,startY:G.clientY,dismissOnTouchEnd:!1,dismissOnMouseDown:!0},se.start(1e3,()=>{$.current&&($.current.dismissOnTouchEnd=!1,$.current.dismissOnMouseDown=!1)}))}function Ae(ce,G){const ue=_n(ce);if(!ue)return;const Z=it(ue,ce.type,()=>{G(ce),Z()})}function pe(ce){A.current="touch",Ae(ce,ke)}function Me(ce){se.clear(),ce.type==="pointerdown"&&(A.current=ce.pointerType),!(ce.type==="mousedown"&&$.current&&!$.current.dismissOnMouseDown)&&Ae(ce,G=>{G.type==="pointerdown"?Ee(G):Ge(G)})}function we(ce){if(!O.current)return;const G=V.current;if(Se(),ie()==="intentional"){if(ce.type==="pointercancel"){G&&W();return}if(!ze(ce)){if(G){W();return}typeof _=="function"&&!_(ce)||(L.clear(),R.current=!0,re())}}}function He(ce){if(ie()!=="sloppy"||!$.current||ne(ce))return;const G=ce.touches[0];if(!G)return;const ue=Math.abs(G.clientX-$.current.startX),Z=Math.abs(G.clientY-$.current.startY),ye=Math.sqrt(ue*ue+Z*Z);ye>5&&($.current.dismissOnTouchEnd=!0),ye>10&&(Ge(ce),se.clear(),$.current=null)}function ge(ce){Ae(ce,He)}function Oe(ce){ie()!=="sloppy"||!$.current||ne(ce)||($.current.dismissOnTouchEnd&&Ge(ce),se.clear(),$.current=null)}function _e(ce){Ae(ce,Oe)}const Re=ht(g),ft=Ts(a&&Ts(it(Re,"keydown",C),it(Re,"compositionstart",I),it(Re,"compositionend",K)),k&&Ts(it(Re,"click",Me,!0),it(Re,"pointerdown",Me,!0),it(Re,"pointerup",we,!0),it(Re,"pointercancel",we,!0),it(Re,"mousedown",Me,!0),it(Re,"mouseup",we,!0),it(Re,"touchstart",pe,!0),it(Re,"touchmove",ge,!0),it(Re,"touchend",_e,!0)));return()=>{ft(),z.clear(),L.clear(),Se(),R.current=!1}},[S,g,a,k,_,v,l,j,D,C,re,E,F,ne,N,p,se]),x.useEffect(re,[_,re]);const B=x.useMemo(()=>({onKeyDown:C,onPointerDown:Q,onClick:Q}),[C,Q]),M=x.useMemo(()=>({onKeyDown:C,onPointerDown:P,onMouseDown:P,onClickCapture:U,onMouseDownCapture(z){U(),q(z)},onPointerDownCapture(z){U(),q(z)},onMouseUpCapture:U,onTouchEndCapture:U,onTouchMoveCapture:U}),[C,U,q,P]);return x.useMemo(()=>l?{reference:B,floating:M,trigger:B}:{},[l,B,M])}function Yb(n,r,l){let{reference:a,floating:u}=n;const f=ss(r),m=zm(r),h=Dm(m),b=Yn(r),p=f==="y",v=a.x+a.width/2-u.width/2,g=a.y+a.height/2-u.height/2,S=a[h]/2-u[h]/2;let N;switch(b){case"top":N={x:v,y:a.y-u.height};break;case"bottom":N={x:v,y:a.y+a.height};break;case"right":N={x:a.x+a.width,y:g};break;case"left":N={x:a.x-u.width,y:g};break;default:N={x:a.x,y:a.y}}const T=zr(r);return T&&(N[m]+=S*(T==="end"?1:-1)*(l&&p?-1:1)),N}async function Tj(n,r){var l;r===void 0&&(r={});const{x:a,y:u,platform:f,rects:m,elements:h,strategy:b}=n,{boundary:p="clippingAncestors",rootBoundary:v="viewport",elementContext:g="floating",altBoundary:S=!1,padding:N=0}=Ws(r,n),T=qv(N),k=h[S?g==="floating"?"reference":"floating":g],E=Tc(await f.getClippingRect({element:(l=await(f.isElement==null?void 0:f.isElement(k)))==null||l?k:k.contextElement||await(f.getDocumentElement==null?void 0:f.getDocumentElement(h.floating)),boundary:p,rootBoundary:v,strategy:b})),j=g==="floating"?{x:a,y:u,width:m.floating.width,height:m.floating.height}:m.reference,D=await(f.getOffsetParent==null?void 0:f.getOffsetParent(h.floating)),O=await(f.isElement==null?void 0:f.isElement(D))&&await(f.getScale==null?void 0:f.getScale(D))||{x:1,y:1},V=Tc(f.convertOffsetParentRelativeRectToViewportRelativeRect?await f.convertOffsetParentRelativeRectToViewportRelativeRect({elements:h,rect:j,offsetParent:D,strategy:b}):j);return{top:(E.top-V.top+T.top)/O.y,bottom:(V.bottom-E.bottom+T.bottom)/O.y,left:(E.left-V.left+T.left)/O.x,right:(V.right-E.right+T.right)/O.x}}const wj=50,jj=async(n,r,l)=>{const{placement:a="bottom",strategy:u="absolute",middleware:f=[],platform:m}=l,h=m.detectOverflow?m:{...m,detectOverflow:Tj},b=await(m.isRTL==null?void 0:m.isRTL(r));let p=await m.getElementRects({reference:n,floating:r,strategy:u}),{x:v,y:g}=Yb(p,a,b),S=a,N=0;const T={};for(let _=0;_<f.length;_++){const k=f[_];if(!k)continue;const{name:E,fn:j}=k,{x:D,y:O,data:V,reset:R}=await j({x:v,y:g,initialPlacement:a,placement:S,strategy:u,middlewareData:T,rects:p,platform:h,elements:{reference:n,floating:r}});v=D??v,g=O??g,T[E]={...T[E],...V},R&&N<wj&&(N++,typeof R=="object"&&(R.placement&&(S=R.placement),R.rects&&(p=R.rects===!0?await m.getElementRects({reference:n,floating:r,strategy:u}):R.rects),{x:v,y:g}=Yb(p,S,b)),_=-1)}return{x:v,y:g,placement:S,strategy:u,middlewareData:T}},Cj=function(n){return n===void 0&&(n={}),{name:"flip",options:n,async fn(r){var l,a;const{placement:u,middlewareData:f,rects:m,initialPlacement:h,platform:b,elements:p}=r,{mainAxis:v=!0,crossAxis:g=!0,fallbackPlacements:S,fallbackStrategy:N="bestFit",fallbackAxisSideDirection:T="none",flipAlignment:_=!0,...k}=Ws(n,r);if((l=f.arrow)!=null&&l.alignmentOffset)return{};const E=Yn(u),j=ss(h),D=Yn(h)===h,O=await(b.isRTL==null?void 0:b.isRTL(p.floating)),V=S||(D||!_?[Nc(h)]:Xw(h)),R=T!=="none";!S&&R&&V.push(...$w(h,_,T,O));const H=[h,...V],A=await b.detectOverflow(r,k),$=[];let se=((a=f.flip)==null?void 0:a.overflows)||[];if(v&&$.push(A[E]),g){const ne=Gw(u,m,O);$.push(A[ne[0]],A[ne[1]])}if(se=[...se,{placement:u,overflows:$}],!$.every(ne=>ne<=0)){var he,re;const ne=(((he=f.flip)==null?void 0:he.index)||0)+1,Q=H[ne];if(Q&&(!(g==="alignment"?j!==ss(Q):!1)||se.every(q=>ss(q.placement)===j?q.overflows[0]>0:!0)))return{data:{index:ne,overflows:se},reset:{placement:Q}};let C=(re=se.filter(U=>U.overflows[0]<=0).sort((U,q)=>U.overflows[1]-q.overflows[1])[0])==null?void 0:re.placement;if(!C)switch(N){case"bestFit":{var F;const U=(F=se.filter(q=>{if(R){const P=ss(q.placement);return P===j||P==="y"}return!0}).map(q=>[q.placement,q.overflows.filter(P=>P>0).reduce((P,B)=>P+B,0)]).sort((q,P)=>q[1]-P[1])[0])==null?void 0:F[0];U&&(C=U);break}case"initialPlacement":C=h;break}if(u!==C)return{reset:{placement:C}}}return{}}}};function Vb(n,r){return{top:n.top-r.height,right:n.right-r.width,bottom:n.bottom-r.height,left:n.left-r.width}}function qb(n){return Vw.some(r=>n[r]>=0)}const Oj=function(n){return n===void 0&&(n={}),{name:"hide",options:n,async fn(r){const{rects:l,platform:a}=r,{strategy:u="referenceHidden",...f}=Ws(n,r);switch(u){case"referenceHidden":{const m=await a.detectOverflow(r,{...f,elementContext:"reference"}),h=Vb(m,l.reference);return{data:{referenceHiddenOffsets:h,referenceHidden:qb(h)}}}case"escaped":{const m=await a.detectOverflow(r,{...f,altBoundary:!0}),h=Vb(m,l.floating);return{data:{escapedOffsets:h,escaped:qb(h)}}}default:return{}}}}},d0=new Set(["left","top"]);async function Rj(n,r){const{placement:l,platform:a,elements:u}=n,f=await(a.isRTL==null?void 0:a.isRTL(u.floating)),m=Yn(l),h=zr(l),b=ss(l)==="y",p=d0.has(m)?-1:1,v=f&&b?-1:1,g=Ws(r,n);let{mainAxis:S,crossAxis:N,alignmentAxis:T}=typeof g=="number"?{mainAxis:g,crossAxis:0,alignmentAxis:null}:{mainAxis:g.mainAxis||0,crossAxis:g.crossAxis||0,alignmentAxis:g.alignmentAxis};return h&&typeof T=="number"&&(N=h==="end"?T*-1:T),b?{x:N*v,y:S*p}:{x:S*p,y:N*v}}const kj=function(n){return n===void 0&&(n=0),{name:"offset",options:n,async fn(r){var l,a;const{x:u,y:f,placement:m,middlewareData:h}=r,b=await Rj(r,n);return m===((l=h.offset)==null?void 0:l.placement)&&(a=h.arrow)!=null&&a.alignmentOffset?{}:{x:u+b.x,y:f+b.y,data:{...b,placement:m}}}}},_j=function(n){return n===void 0&&(n={}),{name:"shift",options:n,async fn(r){const{x:l,y:a,placement:u,platform:f}=r,{mainAxis:m=!0,crossAxis:h=!1,limiter:b={fn:j=>{let{x:D,y:O}=j;return{x:D,y:O}}},...p}=Ws(n,r),v={x:l,y:a},g=await f.detectOverflow(r,p),S=ss(u),N=Mm(S);let T=v[N],_=v[S];const k=(j,D)=>Vv(D+g[j==="y"?"top":"left"],D,D-g[j==="y"?"bottom":"right"]);m&&(T=k(N,T)),h&&(_=k(S,_));const E=b.fn({...r,[N]:T,[S]:_});return{...E,data:{x:E.x-l,y:E.y-a,enabled:{[N]:m,[S]:h}}}}}},Aj=function(n){return n===void 0&&(n={}),{options:n,fn(r){var l,a;const{x:u,y:f,placement:m,rects:h,middlewareData:b}=r,{offset:p=0,mainAxis:v=!0,crossAxis:g=!0}=Ws(n,r),S={x:u,y:f},N=ss(m),T=Mm(N);let _=S[T],k=S[N];const E=Ws(p,r),j=typeof E=="number"?{mainAxis:E,crossAxis:0}:{mainAxis:(l=E.mainAxis)!=null?l:0,crossAxis:(a=E.crossAxis)!=null?a:0};if(v){const V=T==="y"?"height":"width",R=h.reference[T]-h.floating[V]+j.mainAxis,H=h.reference[T]+h.reference[V]-j.mainAxis;_<R?_=R:_>H&&(_=H)}if(g){var D,O;const V=T==="y"?"width":"height",R=d0.has(Yn(m)),H=h.reference[N]-h.floating[V]+(R&&((D=b.offset)==null?void 0:D[N])||0)+(R?0:j.crossAxis),A=h.reference[N]+h.reference[V]+(R?0:((O=b.offset)==null?void 0:O[N])||0)-(R?j.crossAxis:0);k<H?k=H:k>A&&(k=A)}return{[T]:_,[N]:k}}}},Mj=function(n){return n===void 0&&(n={}),{name:"size",options:n,async fn(r){const{placement:l,rects:a,platform:u,elements:f}=r,{apply:m=()=>{},...h}=Ws(n,r),b=await u.detectOverflow(r,h),p=Yn(l),v=zr(l),g=ss(l)==="y",{width:S,height:N}=a.floating;let T,_;p==="top"||p==="bottom"?(T=p,_=v===(await(u.isRTL==null?void 0:u.isRTL(f.floating))?"start":"end")?"left":"right"):(_=p,T=v==="end"?"top":"bottom");const k=N-b.top-b.bottom,E=S-b.left-b.right,j=Eo(N-b[T],k),D=Eo(S-b[_],E),O=r.middlewareData.shift,V=!O;let R=j,H=D;O!=null&&O.enabled.x&&(H=E),O!=null&&O.enabled.y&&(R=k),V&&!v&&(g?H=S-2*Qs(b.left,b.right):R=N-2*Qs(b.top,b.bottom)),await m({...r,availableWidth:H,availableHeight:R});const A=await u.getDimensions(f.floating);return S!==A.width||N!==A.height?{reset:{rects:!0}}:{}}}};function f0(n){const r=Vn(n);let l=parseFloat(r.width)||0,a=parseFloat(r.height)||0;const u=It(n),f=u?n.offsetWidth:l,m=u?n.offsetHeight:a,h=Ec(l)!==f||Ec(a)!==m;return h&&(l=f,a=m),{width:l,height:a,$:h}}function Bm(n){return dt(n)?n:n.contextElement}function ho(n){const r=Bm(n);if(!It(r))return Zs(1);const l=r.getBoundingClientRect(),{width:a,height:u,$:f}=f0(r);let m=(f?Ec(l.width):l.width)/a,h=(f?Ec(l.height):l.height)/u;return(!m||!Number.isFinite(m))&&(m=1),(!h||!Number.isFinite(h))&&(h=1),{x:m,y:h}}const Dj=Zs(0);function m0(n){const r=qt(n);return!ym()||!r.visualViewport?Dj:{x:r.visualViewport.offsetLeft,y:r.visualViewport.offsetTop}}function zj(n,r,l){return r===void 0&&(r=!1),!!l&&r&&l===qt(n)}function ml(n,r,l,a){r===void 0&&(r=!1),l===void 0&&(l=!1);const u=n.getBoundingClientRect(),f=Bm(n);let m=Zs(1);r&&(a?dt(a)&&(m=ho(a)):m=ho(n));const h=zj(f,l,a)?m0(f):Zs(0);let b=(u.left+h.x)/m.x,p=(u.top+h.y)/m.y,v=u.width/m.x,g=u.height/m.y;if(f&&a){const S=qt(f),N=dt(a)?qt(a):a;let T=S,_=Hf(T);for(;_&&N!==T;){const k=ho(_),E=_.getBoundingClientRect(),j=Vn(_),D=E.left+(_.clientLeft+parseFloat(j.paddingLeft))*k.x,O=E.top+(_.clientTop+parseFloat(j.paddingTop))*k.y;b*=k.x,p*=k.y,v*=k.x,g*=k.y,b+=D,p+=O,T=qt(_),_=Hf(T)}}return Tc({width:v,height:g,x:b,y:p})}function qc(n,r){const l=Ac(n).scrollLeft;return r?r.left+l:ml(er(n)).left+l}function h0(n,r){const l=n.getBoundingClientRect(),a=l.left+r.scrollLeft-qc(n,l),u=l.top+r.scrollTop;return{x:a,y:u}}function Lj(n){let{elements:r,rect:l,offsetParent:a,strategy:u}=n;const f=u==="fixed",m=er(a),h=r?_c(r.floating):!1;if(a===m||h&&f)return l;let b={scrollLeft:0,scrollTop:0},p=Zs(1);const v=Zs(0),g=It(a);if((g||!f)&&((gn(a)!=="body"||gl(m))&&(b=Ac(a)),g)){const N=ml(a);p=ho(a),v.x=N.x+a.clientLeft,v.y=N.y+a.clientTop}const S=m&&!g&&!f?h0(m,b):Zs(0);return{width:l.width*p.x,height:l.height*p.y,x:l.x*p.x-b.scrollLeft*p.x+v.x+S.x,y:l.y*p.y-b.scrollTop*p.y+v.y+S.y}}function Uj(n){return n.getClientRects?Array.from(n.getClientRects()):[]}function Ij(n){const r=Ac(n),l=n.ownerDocument.body,a=Qs(n.scrollWidth,n.clientWidth,l.scrollWidth,l.clientWidth),u=Qs(n.scrollHeight,n.clientHeight,l.scrollHeight,l.clientHeight);let f=-r.scrollLeft+qc(n);const m=-r.scrollTop;return Vn(l).direction==="rtl"&&(f+=Qs(n.clientWidth,l.clientWidth)-a),{width:a,height:u,x:f,y:m}}const Hj=25;function Bj(n,r,l){l===void 0&&(l="viewport");const a=l==="layoutViewport",u=qt(n),f=er(n),m=u.visualViewport;let h=f.clientWidth,b=f.clientHeight,p=0,v=0;if(m){const S=!ym()||r==="fixed";a?S||(p=-m.offsetLeft,v=-m.offsetTop):(h=m.width,b=m.height,S&&(p=m.offsetLeft,v=m.offsetTop))}if(qc(f)<=0){const S=f.ownerDocument,N=S.body,T=getComputedStyle(N),_=S.compatMode==="CSS1Compat"&&parseFloat(T.marginLeft)+parseFloat(T.marginRight)||0,k=Math.abs(f.clientWidth-N.clientWidth-_),E=getComputedStyle(f).scrollbarGutter==="stable both-edges"?k/2:k;E<=Hj&&(h-=E)}return{width:h,height:b,x:p,y:v}}function Yj(n,r){const l=ml(n,!0,r==="fixed"),a=l.top+n.clientTop,u=l.left+n.clientLeft,f=ho(n),m=n.clientWidth*f.x,h=n.clientHeight*f.y,b=u*f.x,p=a*f.y;return{width:m,height:h,x:b,y:p}}function Gb(n,r,l){let a;if(r==="viewport"||r==="layoutViewport")a=Bj(n,l,r);else if(r==="document")a=Ij(er(n));else if(dt(r))a=Yj(r,l);else{const u=m0(n);a={x:r.x-u.x,y:r.y-u.y,width:r.width,height:r.height}}return Tc(a)}function Vj(n,r){const l=r.get(n);if(l)return l;let a=ka(n,[],!1).filter(h=>dt(h)&&gn(h)!=="body"),u=null;const f=Vn(n).position==="fixed";let m=f?Js(n):n;for(;dt(m)&&!$s(m);){const h=Vn(m),b=bm(m),p=u?u.position:f?"fixed":"";!b&&(p==="fixed"||p==="absolute"&&h.position==="static")?a=a.filter(g=>g!==m):u=h,m=Js(m)}return r.set(n,a),a}function qj(n){let{element:r,boundary:l,rootBoundary:a,strategy:u}=n;const m=[...l==="clippingAncestors"?_c(r)?[]:Vj(r,this._c):[].concat(l),a],h=Gb(r,m[0],u);let b=h.top,p=h.right,v=h.bottom,g=h.left;for(let S=1;S<m.length;S++){const N=Gb(r,m[S],u);b=Qs(N.top,b),p=Eo(N.right,p),v=Eo(N.bottom,v),g=Qs(N.left,g)}return{width:p-g,height:v-b,x:g,y:b}}function Gj(n){const{width:r,height:l}=f0(n);return{width:r,height:l}}function Xj(n,r,l){const a=It(r),u=er(r),f=l==="fixed",m=ml(n,!0,f,r);let h={scrollLeft:0,scrollTop:0};const b=Zs(0);if((a||!f)&&((gn(r)!=="body"||gl(u))&&(h=Ac(r)),a)){const S=ml(r,!0,f,r);b.x=S.x+r.clientLeft,b.y=S.y+r.clientTop}!a&&u&&(b.x=qc(u));const p=u&&!a&&!f?h0(u,h):Zs(0),v=m.left+h.scrollLeft-b.x-p.x,g=m.top+h.scrollTop-b.y-p.y;return{x:v,y:g,width:m.width,height:m.height}}function vf(n){return Vn(n).position==="static"}function Xb(n,r){if(!It(n)||Vn(n).position==="fixed")return null;if(r)return r(n);let l=n.offsetParent;return er(n)===l&&(l=l.ownerDocument.body),l}function p0(n,r){const l=qt(n);if(_c(n))return l;if(!It(n)){let u=Js(n);for(;u&&!$s(u);){if(dt(u)&&!vf(u))return u;u=Js(u)}return l}let a=Xb(n,r);for(;a&&jT(a)&&vf(a);)a=Xb(a,r);return a&&$s(a)&&vf(a)&&!bm(a)?l:a||RT(n)||l}const Pj=async function(n){const r=this.getOffsetParent||p0,l=this.getDimensions,a=await l(n.floating);return{reference:Xj(n.reference,await r(n.floating),n.strategy),floating:{x:0,y:0,width:a.width,height:a.height}}};function Fj(n){return Vn(n).direction==="rtl"}const Kj={convertOffsetParentRelativeRectToViewportRelativeRect:Lj,getDocumentElement:er,getClippingRect:qj,getOffsetParent:p0,getElementRects:Pj,getClientRects:Uj,getDimensions:Gj,getScale:ho,isElement:dt,isRTL:Fj};function g0(n,r){return n.x===r.x&&n.y===r.y&&n.width===r.width&&n.height===r.height}function $j(n,r,l){let a=null,u;const f=er(n);function m(){var v;clearTimeout(u),(v=a)==null||v.disconnect(),a=null}function h(v,g){v===void 0&&(v=!1),g===void 0&&(g=1),m();const S=n.getBoundingClientRect(),{left:N,top:T,width:_,height:k}=S;if(v||r(),!_||!k)return;const E=tc(T),j=tc(f.clientWidth-(N+_)),D=tc(f.clientHeight-(T+k)),O=tc(N),R={rootMargin:-E+"px "+-j+"px "+-D+"px "+-O+"px",threshold:Qs(0,Eo(1,g))||1};let H=!0;function A($){const se=$[0].intersectionRatio;if(!g0(S,n.getBoundingClientRect()))return h();if(se!==g){if(!H)return h();se?h(!1,se):u=setTimeout(()=>{h(!1,1e-7)},1e3)}H=!1}try{a=new IntersectionObserver(A,{...R,root:f.ownerDocument})}catch{a=new IntersectionObserver(A,R)}a.observe(n)}const b=qt(n),p=()=>h(l);return b.addEventListener("resize",p),h(!0),()=>{b.removeEventListener("resize",p),m()}}function Pb(n,r,l,a){a===void 0&&(a={});const{ancestorScroll:u=!0,ancestorResize:f=!0,elementResize:m=typeof ResizeObserver=="function",layoutShift:h=typeof IntersectionObserver=="function",animationFrame:b=!1}=a,p=Bm(n),v=u||f?[...p?ka(p):[],...r?ka(r):[]]:[];v.forEach(E=>{u&&E.addEventListener("scroll",l),f&&E.addEventListener("resize",l)});const g=p&&h?$j(p,l,f):null;let S=-1,N=null;m&&(N=new ResizeObserver(E=>{let[j]=E;j&&j.target===p&&N&&r&&(N.unobserve(r),cancelAnimationFrame(S),S=requestAnimationFrame(()=>{var D;(D=N)==null||D.observe(r)})),l()}),p&&!b&&N.observe(p),r&&N.observe(r));let T,_=b?ml(n):null;b&&k();function k(){const E=ml(n);_&&!g0(_,E)&&l(),_=E,T=requestAnimationFrame(k)}return l(),()=>{var E;v.forEach(j=>{u&&j.removeEventListener("scroll",l),f&&j.removeEventListener("resize",l)}),g?.(),(E=N)==null||E.disconnect(),N=null,b&&cancelAnimationFrame(T)}}const Qj=kj,Zj=_j,Jj=Cj,Wj=Mj,eC=Oj,tC=Aj,nC=(n,r,l)=>{const a=new Map,u=l??{},f={...Kj,...u.platform,_c:a};return jj(n,r,{...u,platform:f})};var sC=typeof document<"u",rC=function(){},hc=sC?x.useLayoutEffect:rC;function wc(n,r){if(n===r)return!0;if(typeof n!=typeof r)return!1;if(typeof n=="function"&&n.toString()===r.toString())return!0;let l,a,u;if(n&&r&&typeof n=="object"){if(Array.isArray(n)){if(l=n.length,l!==r.length)return!1;for(a=l;a--!==0;)if(!wc(n[a],r[a]))return!1;return!0}if(u=Object.keys(n),l=u.length,l!==Object.keys(r).length)return!1;for(a=l;a--!==0;)if(!{}.hasOwnProperty.call(r,u[a]))return!1;for(a=l;a--!==0;){const f=u[a];if(!(f==="_owner"&&n.$$typeof)&&!wc(n[f],r[f]))return!1}return!0}return n!==n&&r!==r}function x0(n){return typeof window>"u"?1:(n.ownerDocument.defaultView||window).devicePixelRatio||1}function Fb(n,r){const l=x0(n);return Math.round(r*l)/l}function Sf(n){const r=x.useRef(n);return hc(()=>{r.current=n}),r}function lC(n){n===void 0&&(n={});const{placement:r="bottom",strategy:l="absolute",middleware:a=[],platform:u,elements:{reference:f,floating:m}={},transform:h=!0,whileElementsMounted:b,open:p}=n,[v,g]=x.useState({x:0,y:0,strategy:l,placement:r,middlewareData:{},isPositioned:!1}),[S,N]=x.useState(a);wc(S,a)||N(a);const[T,_]=x.useState(null),[k,E]=x.useState(null),j=x.useCallback(q=>{q!==R.current&&(R.current=q,_(q))},[]),D=x.useCallback(q=>{q!==H.current&&(H.current=q,E(q))},[]),O=f||T,V=m||k,R=x.useRef(null),H=x.useRef(null),A=x.useRef(v),$=b!=null,se=Sf(b),he=Sf(u),re=Sf(p),F=x.useCallback(()=>{if(!R.current||!H.current)return;const q={placement:r,strategy:l,middleware:S};he.current&&(q.platform=he.current),nC(R.current,H.current,q).then(P=>{const B={...P,isPositioned:re.current!==!1};ne.current&&!wc(A.current,B)&&(A.current=B,Ar.flushSync(()=>{g(B)}))})},[S,r,l,he,re]);hc(()=>{p===!1&&A.current.isPositioned&&(A.current.isPositioned=!1,g(q=>({...q,isPositioned:!1})))},[p]);const ne=x.useRef(!1);hc(()=>(ne.current=!0,()=>{ne.current=!1}),[]),hc(()=>{if(O&&(R.current=O),V&&(H.current=V),O&&V){if(se.current)return se.current(O,V,F);F()}},[O,V,F,se,$]);const Q=x.useMemo(()=>({reference:R,floating:H,setReference:j,setFloating:D}),[j,D]),C=x.useMemo(()=>({reference:O,floating:V}),[O,V]),U=x.useMemo(()=>{const q={position:l,left:0,top:0};if(!C.floating)return q;const P=Fb(C.floating,v.x),B=Fb(C.floating,v.y);return h?{...q,transform:"translate("+P+"px, "+B+"px)",...x0(C.floating)>=1.5&&{willChange:"transform"}}:{position:l,left:P,top:B}},[l,h,C.floating,v.x,v.y]);return x.useMemo(()=>({...v,update:F,refs:Q,elements:C,floatingStyles:U}),[v,F,Q,C,U])}const oC=(n,r)=>{const l=Qj(n);return{name:l.name,fn:l.fn,options:[n,r]}},aC=(n,r)=>{const l=Zj(n);return{name:l.name,fn:l.fn,options:[n,r]}},iC=(n,r)=>({fn:tC(n).fn,options:[n,r]}),cC=(n,r)=>{const l=Jj(n);return{name:l.name,fn:l.fn,options:[n,r]}},uC=(n,r)=>{const l=Wj(n);return{name:l.name,fn:l.fn,options:[n,r]}},dC=(n,r)=>{const l=eC(n);return{name:l.name,fn:l.fn,options:[n,r]}};function b0(n){const r=x.useRef(!0);r.current&&(r.current=!1,n())}const Qe=(n,r,l,a,u,f,...m)=>{if(m.length>0)throw new Error(rs(1));let h;if(n)h=n;else throw new Error("Missing arguments");return h};var Ef={exports:{}},Nf={};var Kb;function fC(){if(Kb)return Nf;Kb=1;var n=La();function r(g,S){return g===S&&(g!==0||1/g===1/S)||g!==g&&S!==S}var l=typeof Object.is=="function"?Object.is:r,a=n.useState,u=n.useEffect,f=n.useLayoutEffect,m=n.useDebugValue;function h(g,S){var N=S(),T=a({inst:{value:N,getSnapshot:S}}),_=T[0].inst,k=T[1];return f(function(){_.value=N,_.getSnapshot=S,b(_)&&k({inst:_})},[g,N,S]),u(function(){return b(_)&&k({inst:_}),g(function(){b(_)&&k({inst:_})})},[g]),m(N),N}function b(g){var S=g.getSnapshot;g=g.value;try{var N=S();return!l(g,N)}catch{return!0}}function p(g,S){return S()}var v=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?p:h;return Nf.useSyncExternalStore=n.useSyncExternalStore!==void 0?n.useSyncExternalStore:v,Nf}var $b;function y0(){return $b||($b=1,Ef.exports=fC()),Ef.exports}var v0=y0(),Tf={exports:{}},wf={};var Qb;function mC(){if(Qb)return wf;Qb=1;var n=La(),r=y0();function l(p,v){return p===v&&(p!==0||1/p===1/v)||p!==p&&v!==v}var a=typeof Object.is=="function"?Object.is:l,u=r.useSyncExternalStore,f=n.useRef,m=n.useEffect,h=n.useMemo,b=n.useDebugValue;return wf.useSyncExternalStoreWithSelector=function(p,v,g,S,N){var T=f(null);if(T.current===null){var _={hasValue:!1,value:null};T.current=_}else _=T.current;T=h(function(){function E(R){if(!j){if(j=!0,D=R,R=S(R),N!==void 0&&_.hasValue){var H=_.value;if(N(H,R))return O=H}return O=R}if(H=O,a(D,R))return H;var A=S(R);return N!==void 0&&N(H,A)?(D=R,H):(D=R,O=A)}var j=!1,D,O,V=g===void 0?null:g;return[function(){return E(v())},V===null?void 0:function(){return E(V())}]},[v,g,S,N]);var k=u(p,T[0],T[1]);return m(function(){_.hasValue=!0,_.value=k},[k]),b(k),k},wf}var Zb;function hC(){return Zb||(Zb=1,Tf.exports=mC()),Tf.exports}var pC=hC();const Zf=[];let Jf;function gC(){return Jf}function xC(n){Zf.push(n)}function S0(n){const r=(l,a)=>{const u=An(yC).current;let f;try{Jf=u;for(const m of Zf)m.before(u);f=n(l,a);for(const m of Zf)m.after(u);u.didInitialize=!0}finally{Jf=void 0}return f};return r.displayName=n.displayName||n.name,r}function bC(n){return x.forwardRef(S0(n))}function yC(){return{didInitialize:!1}}const vC=Tm(19),SC=vC?NC:TC;function E0(n,r,l,a,u){return SC(n,r,l,a,u)}function EC(n,r,l,a,u){const f=x.useCallback(()=>r(n.getSnapshot(),l,a,u),[n,r,l,a,u]);return v0.useSyncExternalStore(n.subscribe,f,f)}xC({before(n){n.syncIndex=0,n.didInitialize||(n.syncTick=1,n.syncHooks=[],n.didChangeStore=!0,n.getSnapshot=()=>{let r=!1;for(let l=0;l<n.syncHooks.length;l+=1){const a=n.syncHooks[l],u=a.selector(a.store.state,a.a1,a.a2,a.a3);Object.is(a.value,u)||(r=!0,a.value=u)}return r&&(n.syncTick+=1),n.syncTick})},after(n){n.syncHooks.length>0&&(n.didChangeStore&&(n.didChangeStore=!1,n.subscribe=r=>{const l=new Set;for(const u of n.syncHooks)l.add(u.store);const a=[];for(const u of l)a.push(u.subscribe(r));return()=>{for(const u of a)u()}}),v0.useSyncExternalStore(n.subscribe,n.getSnapshot,n.getSnapshot))}});function NC(n,r,l,a,u){const f=gC();if(!f)return EC(n,r,l,a,u);const m=f.syncIndex;f.syncIndex+=1;let h;return f.didInitialize?(h=f.syncHooks[m],(h.store!==n||h.selector!==r||!Object.is(h.a1,l)||!Object.is(h.a2,a)||!Object.is(h.a3,u))&&(h.store!==n&&(f.didChangeStore=!0),h.store=n,h.selector=r,h.a1=l,h.a2=a,h.a3=u,h.value=r(n.getSnapshot(),l,a,u))):(h={store:n,selector:r,a1:l,a2:a,a3:u,value:r(n.getSnapshot(),l,a,u)},f.syncHooks.push(h)),h.value}function TC(n,r,l,a,u){return pC.useSyncExternalStoreWithSelector(n.subscribe,n.getSnapshot,n.getSnapshot,f=>r(f,l,a,u))}class wC{constructor(r){this.state=r,this.listeners=new Set,this.updateTick=0}subscribe=r=>(this.listeners.add(r),()=>{this.listeners.delete(r)});getSnapshot=()=>this.state;setState(r){if(this.state===r)return;this.state=r,this.updateTick+=1;const l=this.updateTick;for(const a of this.listeners){if(l!==this.updateTick)return;a(r)}}update(r){for(const l in r)if(!Object.is(this.state[l],r[l])){this.setState({...this.state,...r});return}}set(r,l){Object.is(this.state[r],l)||this.setState({...this.state,[r]:l})}notifyAll(){const r={...this.state};this.setState(r)}use(r,l,a,u){return E0(this,r,l,a,u)}}class Ym extends wC{constructor(r,l={},a){super(r),this.context=l,this.selectors=a}useSyncedValue(r,l){x.useDebugValue(r);const a=this;qe(()=>{a.state[r]!==l&&a.set(r,l)},[a,r,l])}useSyncedValueWithCleanup(r,l){const a=this;qe(()=>(a.state[r]!==l&&a.set(r,l),()=>{a.set(r,void 0)}),[a,r,l])}useSyncedValues(r){const l=this,a=Object.values(r);qe(()=>{l.update(r)},[l,...a])}useControlledProp(r,l){x.useDebugValue(r);const a=this,u=l!==void 0;qe(()=>{u&&!Object.is(a.state[r],l)&&a.setState({...a.state,[r]:l})},[a,r,l,u])}select(r,l,a,u){const f=this.selectors[r];return f(this.state,l,a,u)}useState(r,l,a,u){return x.useDebugValue(r),E0(this,this.selectors[r],l,a,u)}useContextCallback(r,l){x.useDebugValue(r);const a=et(l??un);this.context[r]=a}useStateSetter(r){const l=x.useRef(void 0);return l.current===void 0&&(l.current=a=>{this.set(r,a)}),l.current}observe(r,l){let a;typeof r=="function"?a=r:a=this.selectors[r];let u=a(this.state);return l(u,u,this),this.subscribe(f=>{const m=a(f);if(!Object.is(u,m)){const h=u;u=m,l(m,h,this)}})}}const jC={open:Qe(n=>n.open),transitionStatus:Qe(n=>n.transitionStatus),domReferenceElement:Qe(n=>n.domReferenceElement),referenceElement:Qe(n=>n.positionReference??n.referenceElement),floatingElement:Qe(n=>n.floatingElement),floatingId:Qe(n=>n.floatingId)};class Gc extends Ym{constructor(r){const{syncOnly:l,nested:a,onOpenChange:u,triggerElements:f,...m}=r;super({...m,positionReference:m.referenceElement,domReferenceElement:m.referenceElement},{onOpenChange:u,dataRef:{current:{}},events:l0(),nested:a,triggerElements:f},jC),this.syncOnly=l}syncOpenEvent=(r,l)=>{(!r||!this.state.open||l!=null&&Mw(l))&&(this.context.dataRef.current.openEvent=r?l:void 0)};dispatchOpenChange=(r,l)=>{this.syncOpenEvent(r,l.event);const a={open:r,reason:l.reason,nativeEvent:l.event,nested:this.context.nested,triggerElement:l.trigger};this.context.events.emit("openchange",a)};setOpen=(r,l)=>{if(this.syncOnly){this.context.onOpenChange?.(r,l);return}this.dispatchOpenChange(r,l),this.context.onOpenChange?.(r,l)}}function N0(n){const{popupStore:r,treatPopupAsFloatingElement:l=!1,floatingRootContext:a,floatingId:u,nested:f,onOpenChange:m}=n,h=r.useState("open"),b=r.useState("activeTriggerElement"),p=r.useState(l?"popupElement":"positionerElement"),v=r.context.triggerElements,g=m,S=x.useRef(null);a===void 0&&S.current===null&&(S.current=new Gc({open:h,transitionStatus:void 0,referenceElement:b,floatingElement:p,triggerElements:v,onOpenChange:g,floatingId:u,syncOnly:!0,nested:f}));const N=a??S.current;return r.useSyncedValue("floatingId",u),qe(()=>{const T={open:h,floatingId:u,referenceElement:b,floatingElement:p};dt(b)&&(T.domReferenceElement=b),N.state.positionReference===N.state.referenceElement&&(T.positionReference=b),N.update(T)},[h,u,b,p,N]),N.context.onOpenChange=g,N.context.nested=f,N}const T0={tabIndex:-1,[Gf]:""};function CC(n){return r=>r==="touch"?n.current:!0}function OC(n,r,l=!1){const a=fl(),u=Lr()!=null,f=x.useRef(null);n===void 0&&f.current===null&&(f.current=r(a,u));const m=n??f.current;return N0({popupStore:m,treatPopupAsFloatingElement:l,floatingRootContext:m.state.floatingRootContext,floatingId:a,nested:u,onOpenChange:m.setOpen}),{store:m,internalStore:f.current}}function RC(n,r){const l=x.useRef(null),a=x.useRef(null);return x.useCallback(u=>{if(n===void 0)return;let f=!1;if(l.current!==null){const m=l.current,h=a.current,b=r.context.triggerElements.getById(m);h&&b===h&&(r.context.triggerElements.delete(m),f=!0),l.current=null,a.current=null}if(u!==null&&(l.current=n,a.current=u,r.context.triggerElements.add(n,u),f=!0),f){const m=r.context.triggerElements.size;r.select("open")&&r.state.triggerCount!==m&&r.set("triggerCount",m)}},[r,n])}function w0(n,r,l,a=!1){r?n.preventUnmountingOnClose=!1:a&&(n.preventUnmountingOnClose=!0);const u=l?.id??null;(u||r)&&(n.activeTriggerId=u,n.activeTriggerElement=l??null)}function kC(n){let r=!1;return n.preventUnmountOnClose=()=>{r=!0},()=>r}function _C(n,r,l,a){b0(()=>{r===void 0&&n.state.open===!1&&l&&(n.state={...n.state,open:!0,activeTriggerId:a,preventUnmountingOnClose:!1})})}function AC(n,r,l,a){const u=l.useState("isMountedByTrigger",n),f=RC(n,l),m=et(h=>{if(f(h),!h)return;const b=l.select("open"),p=l.select("activeTriggerId");if(p===n){l.update({activeTriggerElement:h,...b?a:null});return}p==null&&b&&l.update({activeTriggerId:n,activeTriggerElement:h,...a})});return qe(()=>{u&&l.update({activeTriggerElement:r.current,...a})},[u,l,r,...Object.values(a)]),{registerTrigger:m,isMountedByThisTrigger:u}}function j0(n,r={}){const{closeOnActiveTriggerUnmount:l=!1}=r,a=n.useState("open"),u=n.useState("triggerCount");qe(()=>{if(!a){n.state.triggerCount!==0&&n.set("triggerCount",0);return}const f=n.context.triggerElements.size,m={};n.state.triggerCount!==f&&(m.triggerCount=f);const h=n.select("activeTriggerId");let b=null;if(h){const p=n.context.triggerElements.getById(h);p?p!==n.state.activeTriggerElement&&(m.activeTriggerElement=p):b=h}if(!b&&!h&&f===1){const p=n.context.triggerElements.entries().next();if(!p.done){const[v,g]=p.value;m.activeTriggerId=v,m.activeTriggerElement=g}}(m.triggerCount!==void 0||m.activeTriggerId!==void 0||m.activeTriggerElement!==void 0)&&n.update(m),b&&l&&queueMicrotask(()=>{if(n.select("open")&&n.select("activeTriggerId")===b&&!n.context.triggerElements.getById(b)){const p=Tt(kv);n.setOpen(!1,p),p.isCanceled||n.update({activeTriggerId:null,activeTriggerElement:null})}})},[a,n,u,l])}function C0(n,r,l){const{mounted:a,setMounted:u,transitionStatus:f}=jw(n),m=r.useState("preventUnmountingOnClose"),h=n?!1:m;r.useSyncedValues({mounted:a,transitionStatus:f,preventUnmountingOnClose:h});const b=et(()=>{u(!1),r.update({activeTriggerId:null,activeTriggerElement:null,mounted:!1,preventUnmountingOnClose:!1}),l?.(),r.context.onOpenChangeComplete?.(!1)});return _m({enabled:a&&!n&&!h,open:n,ref:r.context.popupRef,onComplete(){n||b()}}),{forceUnmount:b,transitionStatus:f}}function O0(n,r){n.useSyncedValues(r),qe(()=>()=>{n.update({activeTriggerProps:Bt,inactiveTriggerProps:Bt,popupProps:Bt})},[n])}function MC(n,r){qe(()=>{!r&&n.state.openMethod!==null&&n.set("openMethod",null)},[r,n]),qe(()=>()=>{n.state.openMethod!==null&&n.set("openMethod",null)},[n])}class Xc{constructor(){this.elementsSet=new Set,this.idMap=new Map}add(r,l){const a=this.idMap.get(r);a!==l&&(a!==void 0&&this.elementsSet.delete(a),this.elementsSet.add(l),this.idMap.set(r,l))}delete(r){const l=this.idMap.get(r);l&&(this.elementsSet.delete(l),this.idMap.delete(r))}hasElement(r){return this.elementsSet.has(r)}hasMatchingElement(r){for(const l of this.elementsSet)if(r(l))return!0;return!1}getById(r){return this.idMap.get(r)}entries(){return this.idMap.entries()}elements(){return this.elementsSet.values()}get size(){return this.idMap.size}}function DC(){return new Gc({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:new Xc,floatingId:void 0,syncOnly:!1,nested:!1,onOpenChange:void 0})}function R0(){return{open:!1,openProp:void 0,mounted:!1,transitionStatus:void 0,floatingRootContext:DC(),floatingId:void 0,triggerCount:0,preventUnmountingOnClose:!1,payload:void 0,activeTriggerId:null,activeTriggerElement:null,triggerIdProp:void 0,popupElement:null,positionerElement:null,activeTriggerProps:Bt,inactiveTriggerProps:Bt,popupProps:Bt}}function zC(n,r,l=!1){return new Gc({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:n,floatingId:r,syncOnly:!0,nested:l,onOpenChange:void 0})}const ja=Qe(n=>n.triggerIdProp??n.activeTriggerId),Vm=Qe(n=>n.openProp??n.open),Jb=Qe(n=>(n.popupElement?.id??n.floatingId)||void 0);function k0(n,r){return r!==void 0&&Vm(n)&&ja(n)===r}function LC(n,r){return k0(n,r)?!0:r!==void 0&&Vm(n)&&ja(n)==null&&n.triggerCount===1}const _0={open:Vm,mounted:Qe(n=>n.mounted),transitionStatus:Qe(n=>n.transitionStatus),floatingRootContext:Qe(n=>n.floatingRootContext),triggerCount:Qe(n=>n.triggerCount),preventUnmountingOnClose:Qe(n=>n.preventUnmountingOnClose),payload:Qe(n=>n.payload),activeTriggerId:ja,activeTriggerElement:Qe(n=>n.mounted?n.activeTriggerElement:null),popupId:Jb,isTriggerActive:Qe((n,r)=>r!==void 0&&ja(n)===r),isOpenedByTrigger:Qe((n,r)=>k0(n,r)),isMountedByTrigger:Qe((n,r)=>r!==void 0&&ja(n)===r&&n.mounted),triggerProps:Qe((n,r)=>r?n.activeTriggerProps:n.inactiveTriggerProps),triggerPopupId:Qe((n,r)=>LC(n,r)?Jb(n):void 0),popupProps:Qe(n=>n.popupProps),popupElement:Qe(n=>n.popupElement),positionerElement:Qe(n=>n.positionerElement)};function UC(n){const{open:r=!1,onOpenChange:l,elements:a={}}=n,u=fl(),f=Lr()!=null,m=An(()=>new Gc({open:r,transitionStatus:void 0,onOpenChange:l,referenceElement:a.reference??null,floatingElement:a.floating??null,triggerElements:new Xc,floatingId:u,syncOnly:!1,nested:f})).current;return qe(()=>{const h={open:r,floatingId:u};a.reference!==void 0&&(h.referenceElement=a.reference,h.domReferenceElement=dt(a.reference)?a.reference:null),a.floating!==void 0&&(h.floatingElement=a.floating),m.update(h)},[r,u,a.reference,a.floating,m]),m.context.onOpenChange=l,m.context.nested=f,m}function IC(n={}){const{nodeId:r,externalTree:l}=n,a=UC(n),u=n.rootContext||a,f=u.useState("referenceElement"),m=u.useState("floatingElement"),h=u.useState("domReferenceElement"),b=u.useState("open"),p=u.useState("floatingId"),[v,g]=x.useState(null),[S,N]=x.useState(void 0),[T,_]=x.useState(void 0),k=x.useRef(null),E=Ur(l),j=x.useMemo(()=>({reference:f,floating:m,domReference:h}),[f,m,h]),D=lC({...n,elements:{...j,...v&&{reference:v}}}),O=dt(S)?S:null,V=T===void 0?u.state.floatingElement:T;u.useSyncedValue("referenceElement",S??null),u.useSyncedValue("domReferenceElement",S===void 0?h:O),u.useSyncedValue("floatingElement",V);const R=x.useCallback(re=>{const F=dt(re)?{getBoundingClientRect:()=>re.getBoundingClientRect(),getClientRects:()=>re.getClientRects(),contextElement:re}:re;g(F),D.refs.setReference(F)},[D.refs]),H=x.useCallback(re=>{(dt(re)||re===null)&&(k.current=re,N(re)),(dt(D.refs.reference.current)||D.refs.reference.current===null||re!==null&&!dt(re))&&D.refs.setReference(re)},[D.refs,N]),A=x.useCallback(re=>{_(re),D.refs.setFloating(re)},[D.refs]),$=x.useMemo(()=>({...D.refs,setReference:H,setFloating:A,setPositionReference:R,domReference:k}),[D.refs,H,A,R]),se=x.useMemo(()=>({...D.elements,domReference:h}),[D.elements,h]),he=x.useMemo(()=>({...D,dataRef:u.context.dataRef,open:b,onOpenChange:u.setOpen,events:u.context.events,floatingId:p,refs:$,elements:se,nodeId:r,rootStore:u}),[D,$,se,r,u,b,p]);return qe(()=>{h&&(k.current=h)},[h]),qe(()=>{u.context.dataRef.current.floatingContext=he;const re=E?.nodesRef.current.find(F=>F.id===r);re&&(re.context=he)}),x.useMemo(()=>({...D,context:he,refs:$,elements:se,rootStore:u}),[D,$,se,he,u])}const jf=Om&&bl;function HC(n,r={}){const{enabled:l=!0,delay:a}=r,u="rootStore"in n?n.rootStore:n,{events:f,dataRef:m}=u.context,h=x.useRef(!1),b=x.useRef(null),p=x.useRef(!0),v=qn();x.useEffect(()=>{const S=u.select("domReferenceElement");if(!l)return;const N=qt(S);function T(){const E=u.select("domReferenceElement");!u.select("open")&&It(E)&&E===Sn(ht(E))&&(h.current=!0)}function _(){p.current=!0}function k(){p.current=!1}return Ts(it(N,"blur",T),jf&&it(N,"keydown",_,!0),jf&&it(N,"pointerdown",k,!0))},[u,l]),x.useEffect(()=>{if(!l)return;function S(N){if(N.reason===Lc||N.reason===Cm){const T=u.select("domReferenceElement");dt(T)&&(b.current=T,h.current=!0)}}return f.on("openchange",S),()=>{f.off("openchange",S)}},[f,l,u]);const g=x.useMemo(()=>{function S(){h.current=!1,b.current=null}return{onMouseLeave(){S()},onFocus(N){const T=N.currentTarget;if(h.current){if(b.current===T)return;S()}const _=_n(N.nativeEvent);if(dt(_)){if(jf&&!N.relatedTarget){if(!p.current&&!Yc(_))return}else if(!Lw(_))return}const k=Sc(N.relatedTarget,u.context.triggerElements),{nativeEvent:E,currentTarget:j}=N,D=typeof a=="function"?a():a;if(u.select("open")&&k||D===0||D===void 0){u.setOpen(!0,Tt(wa,E,j));return}v.start(D,()=>{h.current||u.setOpen(!0,Tt(wa,E,j))})},onBlur(N){S();const T=N.relatedTarget,_=N.nativeEvent,k=dt(T)&&T.hasAttribute(za("focus-guard"))&&T.getAttribute("data-type")==="outside";v.start(0,()=>{const E=u.select("domReferenceElement"),j=Sn(ht(E));!T&&j===E||Je(m.current.floatingContext?.refs.floating.current,j)||Je(E,j)||k||Sc(T??j,u.context.triggerElements)||u.setOpen(!1,Tt(wa,_))})}}},[m,a,u,v]);return x.useMemo(()=>l?{reference:g,trigger:g}:{},[l,g])}class qm{constructor(){this.pointerType=void 0,this.interactedInside=!1,this.handler=void 0,this.blockMouseMove=!0,this.performedPointerEventsMutation=!1,this.pointerEventsScopeElement=null,this.pointerEventsReferenceElement=null,this.pointerEventsFloatingElement=null,this.restTimeoutPending=!1,this.openChangeTimeout=new js,this.restTimeout=new js,this.handleCloseOptions=void 0}static create(){return new qm}dispose=()=>{this.openChangeTimeout.clear(),this.restTimeout.clear()};disposeEffect=()=>this.dispose}const jc=new WeakMap;function Cc(n){if(!n.performedPointerEventsMutation)return;const r=n.pointerEventsScopeElement;r&&jc.get(r)===n&&(n.pointerEventsScopeElement?.style.removeProperty("pointer-events"),n.pointerEventsReferenceElement?.style.removeProperty("pointer-events"),n.pointerEventsFloatingElement?.style.removeProperty("pointer-events"),jc.delete(r)),n.performedPointerEventsMutation=!1,n.pointerEventsScopeElement=null,n.pointerEventsReferenceElement=null,n.pointerEventsFloatingElement=null}function A0(n,r){const{scopeElement:l,referenceElement:a,floatingElement:u}=r,f=jc.get(l);f&&f!==n&&Cc(f),Cc(n),n.performedPointerEventsMutation=!0,n.pointerEventsScopeElement=l,n.pointerEventsReferenceElement=a,n.pointerEventsFloatingElement=u,jc.set(l,n),l.style.pointerEvents="none",a.style.pointerEvents="auto",u.style.pointerEvents="auto"}function M0(n){const r=n.context.dataRef.current,l=An(()=>r.hoverInteractionState??qm.create()).current;return r.hoverInteractionState||(r.hoverInteractionState=l),km(r.hoverInteractionState.disposeEffect),r.hoverInteractionState}function BC(n,r={}){const{enabled:l=!0,closeDelay:a=0,nodeId:u}=r,f="rootStore"in n?n.rootStore:n,m=f.useState("open"),h=f.useState("floatingElement"),b=f.useState("domReferenceElement"),{dataRef:p}=f.context,v=Ur(),g=Lr(),S=M0(f),N=qn(),T=et(()=>Yv(p.current.openEvent?.type,S.interactedInside)),_=et(()=>Iw(p.current.openEvent?.type)),k=et(()=>{Cc(S)});qe(()=>{m||(S.pointerType=void 0,S.restTimeoutPending=!1,S.interactedInside=!1,k())},[m,S,k]),x.useEffect(()=>k,[k]),qe(()=>{if(l&&m&&S.handleCloseOptions?.blockPointerEvents&&_()&&dt(b)&&h){const E=b,j=h,D=ht(h),O=v?.nodesRef.current.find(A=>A.id===g)?.context?.elements.floating;O&&(O.style.pointerEvents="");const V=S.pointerEventsScopeElement!==j?S.pointerEventsScopeElement:null,R=O!==j?O:null,H=S.handleCloseOptions?.getScope?.()??V??R??E.closest("[data-rootownerid]")??D.body;return A0(S,{scopeElement:H,referenceElement:E,floatingElement:j}),()=>{k()}}},[l,m,b,h,S,_,v,g,k]),x.useEffect(()=>{if(!l)return;function E(){return!!(v&&g&&Mr(v.nodesRef.current,g).length>0)}function j(A){const $=Ff(a,"close",S.pointerType),se=()=>{f.setOpen(!1,Tt(kn,A)),v?.events.emit("floating.closed",A)};$?S.openChangeTimeout.start($,se):(S.openChangeTimeout.clear(),se())}function D(A){const $=_n(A);if(!zw($)){S.interactedInside=!1;return}S.interactedInside=$?.closest("[aria-haspopup]")!=null}function O(){S.openChangeTimeout.clear(),N.clear(),v?.events.off("floating.closed",R),k()}function V(A){if(E()&&v){v.events.on("floating.closed",R);return}if(Sc(A.relatedTarget,f.context.triggerElements))return;const $=p.current.floatingContext?.nodeId??u,se=A.relatedTarget;if(!(v&&$&&dt(se)&&Mr(v.nodesRef.current,$,!1).some(re=>Je(re.context?.elements.floating,se)))){if(S.handler){S.handler(A);return}k(),_()&&!T()&&j(A)}}function R(A){!v||!g||E()||N.start(0,()=>{v.events.off("floating.closed",R),f.setOpen(!1,Tt(kn,A)),v.events.emit("floating.closed",A)})}const H=h;return Ts(H&&it(H,"mouseenter",O),H&&it(H,"mouseleave",V),H&&it(H,"pointerdown",D,!0),()=>{v?.events.off("floating.closed",R)})},[l,h,f,p,a,u,_,T,k,S,v,g,N])}const YC={current:null};function VC(n,r={}){const{enabled:l=!0,delay:a=0,handleClose:u=null,mouseOnly:f=!1,restMs:m=0,move:h=!0,triggerElementRef:b=YC,externalTree:p,isActiveTrigger:v=!0,getHandleCloseContext:g,isClosing:S,shouldOpen:N}=r,T="rootStore"in n?n.rootStore:n,{dataRef:_,events:k}=T.context,E=Ur(p),j=M0(T),D=x.useRef(!1),O=rn(u),V=rn(a),R=rn(m),H=rn(l),A=rn(N),$=rn(S),se=et(()=>Yv(_.current.openEvent?.type,j.interactedInside)),he=et(()=>A.current?.()!==!1),re=et((Q,C,U)=>{const q=T.context.triggerElements;if(q.hasElement(C))return!Q||!Je(Q,C);if(!dt(U))return!1;const P=U;return q.hasMatchingElement(B=>Je(B,P))&&(!Q||!Je(Q,P))}),F=et(()=>{if(!j.handler)return;ht(T.select("domReferenceElement")).removeEventListener("mousemove",j.handler),j.handler=void 0}),ne=et(()=>{Cc(j)});return v&&(j.handleCloseOptions=O.current?.__options),x.useEffect(()=>F,[F]),x.useEffect(()=>{if(!l)return;function Q(C){C.open?D.current=!1:(D.current=C.reason===kn,F(),j.openChangeTimeout.clear(),j.restTimeout.clear(),j.blockMouseMove=!0,j.restTimeoutPending=!1)}return k.on("openchange",Q),()=>{k.off("openchange",Q)}},[l,k,j,F]),x.useEffect(()=>{if(!l)return;function Q(P,B=!0){const M=Ff(V.current,"close",j.pointerType);M?j.openChangeTimeout.start(M,()=>{T.setOpen(!1,Tt(kn,P)),E?.events.emit("floating.closed",P)}):B&&(j.openChangeTimeout.clear(),T.setOpen(!1,Tt(kn,P)),E?.events.emit("floating.closed",P))}const C=b.current??(v?T.select("domReferenceElement"):null);if(!dt(C))return;function U(P){if(j.openChangeTimeout.clear(),j.blockMouseMove=!1,f&&!Da(j.pointerType))return;const B=wb(R.current),M=Ff(V.current,"open",j.pointerType),z=_n(P),L=P.currentTarget??null,I=T.select("domReferenceElement");let K=L;if(dt(z)&&!T.context.triggerElements.hasElement(z)){for(const Ae of T.context.triggerElements.elements())if(Je(Ae,z)){K=Ae;break}}dt(L)&&dt(I)&&!T.context.triggerElements.hasElement(L)&&Je(L,I)&&(K=I);const W=K==null?!1:re(I,K,z),Se=T.select("open"),ie=$.current?.()??T.select("transitionStatus")==="ending",de=!Se&&ie&&D.current,ze=!W&&dt(K)&&dt(I)&&Je(I,K)&&de,Ge=B>0&&!M,Ee=W&&(Se||de)||ze,ke=!Se||W;if(Ee){he()&&T.setOpen(!0,Tt(kn,P,K));return}Ge||(M?j.openChangeTimeout.start(M,()=>{ke&&he()&&T.setOpen(!0,Tt(kn,P,K))}):ke&&he()&&T.setOpen(!0,Tt(kn,P,K)))}function q(P){if(se()){ne();return}F();const B=T.select("domReferenceElement"),M=ht(B);j.restTimeout.clear(),j.restTimeoutPending=!1;const z=_.current.floatingContext??g?.();if(Sc(P.relatedTarget,T.context.triggerElements))return;if(O.current&&z){T.select("open")||j.openChangeTimeout.clear();const I=b.current;j.handler=O.current({...z,tree:E,x:P.clientX,y:P.clientY,onClose(){ne(),F(),H.current&&!se()&&I===T.select("domReferenceElement")&&Q(P,!0)}}),M.addEventListener("mousemove",j.handler),j.handler(P);return}(j.pointerType!=="touch"||!Je(T.select("floatingElement"),P.relatedTarget))&&Q(P)}return h?Ts(it(C,"mousemove",U,{once:!0}),it(C,"mouseenter",U),it(C,"mouseleave",q)):Ts(it(C,"mouseenter",U),it(C,"mouseleave",q))},[F,ne,_,V,T,l,O,j,v,re,se,f,h,R,b,E,H,g,$,he]),x.useMemo(()=>{if(!l)return;function Q(C){j.pointerType=C.pointerType}return{onPointerDown:Q,onPointerEnter:Q,onMouseMove(C){const{nativeEvent:U}=C,q=C.currentTarget,P=T.select("domReferenceElement"),B=T.select("open"),M=re(P,q,C.target);if(f&&!Da(j.pointerType))return;if(B&&M&&j.handleCloseOptions?.blockPointerEvents){const I=T.select("floatingElement");if(I){const K=j.handleCloseOptions?.getScope?.()??q.ownerDocument.body;A0(j,{scopeElement:K,referenceElement:q,floatingElement:I})}}const z=wb(R.current);if(B&&!M||z===0||!M&&j.restTimeoutPending&&C.movementX**2+C.movementY**2<2)return;j.restTimeout.clear();function L(){if(j.restTimeoutPending=!1,se())return;const I=T.select("open");!j.blockMouseMove&&(!I||M)&&he()&&T.setOpen(!0,Tt(kn,U,q))}j.pointerType==="touch"?Ar.flushSync(()=>{L()}):M&&B?L():(j.restTimeoutPending=!0,j.restTimeout.start(z,L))}}},[l,j,se,re,f,T,R,he])}const qC="Escape";function Pc(n,r,l){switch(n){case"vertical":return r;case"horizontal":return l;default:return r||l}}function sc(n,r){return Pc(r,n===Bv||n===Am,n===Hc||n===Bc)}function Cf(n,r,l){return Pc(r,n===Am,l?n===Hc:n===Bc)||n==="Enter"||n===" "||n===""}function GC(n,r,l){return Pc(r,l?n===Hc:n===Bc,n===Am)}function XC(n,r,l,a){const u=l?n===Bc:n===Hc,f=n===Bv;return r==="both"||r==="horizontal"&&a?n===qC:Pc(r,u,f)}function PC(n,r){const{listRef:l,activeIndex:a,onNavigate:u=()=>{},enabled:f=!0,selectedIndex:m=null,allowEscape:h=!1,loopFocus:b=!1,nested:p=!1,rtl:v=!1,virtual:g=!1,focusItemOnOpen:S="auto",focusItemOnHover:N=!0,openOnArrowKeyDown:T=!0,disabledIndices:_=void 0,orientation:k="vertical",parentOrientation:E,id:j,resetOnPointerLeave:D=!0,externalTree:O,grid:V}=r,R=V!=null,H="rootStore"in n?n.rootStore:n,A=H.useState("open"),$=H.useState("floatingElement"),se=H.useState("domReferenceElement"),he=H.context.dataRef,re=Pf($),F=Xf(se),ne=rn(re),Q=Lr(),C=Ur(O),U=x.useRef(S),q=x.useRef(m??-1),P=x.useRef(null),B=x.useRef(!0),M=et(ce=>{u(q.current===-1?null:q.current,ce)}),z=x.useRef(!!$),L=x.useRef(A),I=x.useRef(!1),K=x.useRef(!1),W=x.useRef(null),Se=rn(_),ie=rn(A),de=rn(m),ze=rn(D),Ge=Ma(),Ee=Ma(),ke=et(()=>{function ce(ye){g?C?.events.emit("virtualfocus",ye):W.current=mc(ye,{sync:I.current,preventScroll:!0})}const G=l.current[q.current],ue=K.current;G&&ce(G),(I.current?ye=>ye():ye=>Ge.request(ye))(()=>{const ye=l.current[q.current]||G;if(!ye)return;G||ce(ye),ge&&(ue||!B.current)&&ye.scrollIntoView?.({block:"nearest",inline:"nearest"})})});qe(()=>{he.current.orientation=k},[he,k]),qe(()=>{f&&(A&&$?(q.current=m??-1,U.current&&m!=null&&(K.current=!0,M())):z.current&&(q.current=-1,M()))},[f,A,$,m,M]),qe(()=>{if(f){if(!A){I.current=!1;return}if($)if(a==null){if(I.current=!1,de.current!=null)return;if(z.current&&(q.current=-1,ke()),(!L.current||!z.current)&&U.current&&(P.current!=null||U.current===!0&&P.current==null)){let ce=0;const G=()=>{l.current[0]==null?(ce<2&&(ce?Z=>Ee.request(Z):queueMicrotask)(G),ce+=1):(q.current=P.current==null||Cf(P.current,k,v)||p?gf(l):Rb(l),P.current=null,M())};G()}}else Ob(l.current,a)||(q.current=a,ke(),K.current=!1)}},[f,A,$,a,de,p,l,k,v,M,ke,Ee]),qe(()=>{if(!f||$||!C||g||!z.current)return;const ce=C.nodesRef.current,G=ce.find(ye=>ye.id===Q)?.context?.elements.floating,ue=Sn(ht(se??G??null)),Z=ce.some(ye=>ye.context&&Je(ye.context.elements.floating,ue));G&&!Z&&B.current&&G.focus({preventScroll:!0})},[f,$,se,C,Q,g]),qe(()=>{L.current=A,z.current=!!$}),qe(()=>{A||(P.current=null,U.current=S)},[A,S]);const Ae=a!=null,pe=et(ce=>{if(!ie.current)return;const G=l.current.indexOf(ce.currentTarget);G!==-1&&(q.current!==G||a!==G)&&(q.current=G,M(ce))}),Me=et(()=>E??C?.nodesRef.current.find(ce=>ce.id===Q)?.context?.dataRef?.current.orientation),we=et(()=>gf(l,Se.current)),He=et(ce=>{if(B.current=!1,I.current=!0,ce.which===229||!ie.current&&ce.currentTarget===ne.current)return;if(p&&XC(ce.key,k,v,R)){sc(ce.key,Me())||xs(ce),H.setOpen(!1,Tt(Vf,ce.nativeEvent)),It(se)&&(g?C?.events.emit("virtualfocus",se):se.focus());return}const G=q.current,ue=gf(l,_),Z=Rb(l,_);if(F||(ce.key==="Home"&&(xs(ce),q.current=ue,M(ce)),ce.key==="End"&&(xs(ce),q.current=Z,M(ce))),V!=null){const ye=V(ce,q.current,l,k,b,v,_,ue,Z);if(ye!=null&&(q.current=ye,M(ce)),k==="both")return}if(sc(ce.key,k)){if(xs(ce),A&&!g&&Sn(ce.currentTarget.ownerDocument)===ce.currentTarget){q.current=Cf(ce.key,k,v)?ue:Z,M(ce);return}Cf(ce.key,k,v)?b?G>=Z?h&&G!==l.current.length?q.current=-1:(I.current=!1,q.current=ue):q.current=fo(l.current,{startingIndex:G,disabledIndices:_}):q.current=Math.min(Z,fo(l.current,{startingIndex:G,disabledIndices:_})):b?G<=ue?h&&G!==-1?q.current=l.current.length:(I.current=!1,q.current=Z):q.current=fo(l.current,{startingIndex:G,decrement:!0,disabledIndices:_}):q.current=Math.max(ue,fo(l.current,{startingIndex:G,decrement:!0,disabledIndices:_})),Ob(l.current,q.current)&&(q.current=-1),M(ce)}}),ge=x.useMemo(()=>({onFocus(G){I.current=!0,pe(G)},onClick:({currentTarget:G})=>G.focus({preventScroll:!0}),onMouseMove(G){I.current=!0,K.current=!1,N&&pe(G)},onPointerLeave(G){if(!ie.current||!B.current||G.pointerType==="touch")return;I.current=!0;const ue=G.relatedTarget;if(!(!N||l.current.includes(ue))&&ze.current&&(W.current?.(),W.current=null,q.current=-1,M(G),!g)){const Z=ne.current,ye=Sn(ht(Z));Z&&Je(Z,ye)&&Z.focus({preventScroll:!0})}}}),[pe,ie,ne,N,l,M,ze,g]),Oe=x.useMemo(()=>g&&A&&Ae&&{"aria-activedescendant":`${j}-${a}`},[g,A,Ae,j,a]),_e=x.useMemo(()=>({"aria-orientation":k==="both"?void 0:k,...F?{}:Oe,onKeyDown(ce){if(ce.key==="Tab"&&ce.shiftKey&&A&&!g){const G=_n(ce.nativeEvent);if(G&&!Je(ne.current,G))return;xs(ce),H.setOpen(!1,Tt(vo,ce.nativeEvent)),It(se)&&se.focus();return}He(ce)},onPointerMove(){B.current=!0}}),[Oe,He,ne,k,F,H,A,g,se]),Re=x.useMemo(()=>{function ce(Z){H.setOpen(!0,Tt(Vf,Z.nativeEvent,Z.currentTarget))}function G(Z){S==="auto"&&Uv(Z.nativeEvent)&&(U.current=!g)}function ue(Z){U.current=S,S==="auto"&&Iv(Z.nativeEvent)&&(U.current=!0)}return{onKeyDown(Z){const ye=H.select("open");B.current=!1;const Ve=Z.key.startsWith("Arrow"),be=GC(Z.key,Me(),v),Te=sc(Z.key,k),Xe=(p?be:Te)||Z.key==="Enter"||Z.key.trim()==="";if(g&&ye)return He(Z);if(!(!ye&&!T&&Ve)){if(Xe){const We=sc(Z.key,Me());P.current=p&&We?null:Z.key}if(p){be&&(xs(Z),ye?(q.current=we(),M(Z)):ce(Z));return}Te&&(de.current!=null&&(q.current=de.current),xs(Z),!ye&&T?ce(Z):He(Z),ye&&M(Z))}},onFocus(Z){H.select("open")&&!g&&(q.current=-1,M(Z))},onPointerDown:ue,onPointerEnter:ue,onMouseDown:G,onClick:G}},[He,S,we,p,M,H,T,k,Me,v,de,g]),ft=x.useMemo(()=>({...Oe,...Re}),[Oe,Re]);return x.useMemo(()=>f?{reference:ft,floating:_e,item:ge,trigger:Re}:{},[f,ft,_e,Re,ge])}function FC(n,r){const{listRef:l,elementsRef:a,activeIndex:u,onMatch:f,disabledIndices:m,onTyping:h,enabled:b=!0,resetMs:p=750,selectedIndex:v=null}=r,g="rootStore"in n?n.rootStore:n,S=g.useState("open"),N=qn(),T=x.useRef(""),_=x.useRef(v??u??-1),k=x.useRef(null),E=et(O=>{function V(ne){const Q=a?.current[ne];return!Q||Vc(Q)}function R(ne){return V(ne)?m==null||!Gv(vc,ne,m):!1}function H(ne,Q,C=0){if(ne.length===0)return-1;const U=(C%ne.length+ne.length)%ne.length,q=Q.toLowerCase();for(let P=0;P<ne.length;P+=1){const B=(U+P)%ne.length;if(!(!ne[B]?.toLowerCase().startsWith(q)||!R(B)))return B}return-1}const A=l.current;if(T.current.length>0&&O.key===" "&&(xs(O),h?.(!0)),T.current.length>0&&T.current[0]!==" "&&H(A,T.current)===-1&&O.key!==" "&&h?.(!1),A==null||O.key.length!==1||O.ctrlKey||O.metaKey||O.altKey)return;S&&O.key!==" "&&(xs(O),h?.(!0));const $=T.current==="";$&&(_.current=v??u??-1),A.every((ne,Q)=>ne&&R(Q)?ne[0]?.toLowerCase()!==ne[1]?.toLowerCase():!0)&&T.current===O.key&&(T.current="",_.current=k.current),T.current+=O.key,N.start(p,()=>{T.current="",_.current=k.current,h?.(!1)});const re=(($?v??u??-1:_.current)??0)+1,F=H(A,T.current,re);F!==-1?(f?.(F),k.current=F):O.key!==" "&&(T.current="",h?.(!1))}),j=et(O=>{const V=O.relatedTarget,R=g.select("domReferenceElement"),H=g.select("floatingElement");Je(R,V)||Je(H,V)||(N.clear(),T.current="",_.current=k.current,h?.(!1))});qe(()=>{!S&&v!==null||(N.clear(),k.current=null,T.current!==""&&(T.current=""))},[S,v,N]),qe(()=>{S&&T.current===""&&(_.current=v??u??-1)},[S,v,u]);const D=x.useMemo(()=>({onKeyDown:E,onBlur:j}),[E,j]);return x.useMemo(()=>b?{reference:D,floating:D}:{},[b,D])}const Wb=.1,KC=Wb*Wb,At=.5;function rc(n,r,l,a,u,f){return a>=r!=f>=r&&n<=(u-l)*(r-a)/(f-a)+l}function lc(n,r,l,a,u,f,m,h,b,p){let v=!1;return rc(n,r,l,a,u,f)&&(v=!v),rc(n,r,u,f,m,h)&&(v=!v),rc(n,r,m,h,b,p)&&(v=!v),rc(n,r,b,p,l,a)&&(v=!v),v}function $C(n,r,l){return n>=l.x&&n<=l.x+l.width&&r>=l.y&&r<=l.y+l.height}function oc(n,r,l,a,u,f){const m=Math.min(l,u),h=Math.max(l,u),b=Math.min(a,f),p=Math.max(a,f);return n>=m&&n<=h&&r>=b&&r<=p}function QC(n={}){const{blockPointerEvents:r=!1}=n,l=new js,a=({x:u,y:f,placement:m,elements:h,onClose:b,nodeId:p,tree:v})=>{const g=m?.split("-")[0];let S=!1,N=null,T=null,_=typeof performance<"u"?performance.now():0;function k(j,D){const O=performance.now(),V=O-_;if(N===null||T===null||V===0)return N=j,T=D,_=O,!1;const R=j-N,H=D-T,A=R*R+H*H,$=V*V*KC;return N=j,T=D,_=O,A<$}function E(){l.clear(),b()}return function(D){l.clear();const O=h.domReference,V=h.floating;if(!O||!V||g==null||u==null||f==null)return;const{clientX:R,clientY:H}=D,A=_n(D),$=D.type==="mouseleave",se=Je(V,A),he=Je(O,A);if(se&&(S=!0,!$))return;if(he&&(S=!1,!$)){S=!0;return}if($&&dt(D.relatedTarget)&&Je(V,D.relatedTarget))return;function re(){return!!(v&&Mr(v.nodesRef.current,p).length>0)}function F(){re()||E()}if(re())return;const ne=O.getBoundingClientRect(),Q=V.getBoundingClientRect(),C=u>Q.right-Q.width/2,U=f>Q.bottom-Q.height/2,q=Q.width>ne.width,P=Q.height>ne.height,B=(q?ne:Q).left,M=(q?ne:Q).right,z=(P?ne:Q).top,L=(P?ne:Q).bottom;if(g==="top"&&f>=ne.bottom-1||g==="bottom"&&f<=ne.top+1||g==="left"&&u>=ne.right-1||g==="right"&&u<=ne.left+1){F();return}let I=!1;switch(g){case"top":I=oc(R,H,B,ne.top+1,M,Q.bottom-1);break;case"bottom":I=oc(R,H,B,Q.top+1,M,ne.bottom-1);break;case"left":I=oc(R,H,Q.right-1,L,ne.left+1,z);break;case"right":I=oc(R,H,ne.right-1,L,Q.left+1,z);break}if(I)return;if(S&&!$C(R,H,ne)){F();return}if(!$&&k(R,H)){F();return}let K=!1;switch(g){case"top":{const W=q?At/2:At*4,Se=q||C?u+W:u-W,ie=q?u-W:C?u+W:u-W,de=f+At+1,ze=C||q?Q.bottom-At:Q.top,Ge=C?q?Q.bottom-At:Q.top:Q.bottom-At;K=lc(R,H,Se,de,ie,de,Q.left,ze,Q.right,Ge);break}case"bottom":{const W=q?At/2:At*4,Se=q||C?u+W:u-W,ie=q?u-W:C?u+W:u-W,de=f-At,ze=C||q?Q.top+At:Q.bottom,Ge=C?q?Q.top+At:Q.bottom:Q.top+At;K=lc(R,H,Se,de,ie,de,Q.left,ze,Q.right,Ge);break}case"left":{const W=P?At/2:At*4,Se=P||U?f+W:f-W,ie=P?f-W:U?f+W:f-W,de=u+At+1,ze=U||P?Q.right-At:Q.left,Ge=U?P?Q.right-At:Q.left:Q.right-At;K=lc(R,H,ze,Q.top,Ge,Q.bottom,de,Se,de,ie);break}case"right":{const W=P?At/2:At*4,Se=P||U?f+W:f-W,ie=P?f-W:U?f+W:f-W,de=u-At,ze=U||P?Q.left+At:Q.right,Ge=U?P?Q.left+At:Q.right:Q.left+At;K=lc(R,H,de,Se,de,ie,ze,Q.top,Ge,Q.bottom);break}}K?S||l.start(40,F):F()}};return a.__options={...n,blockPointerEvents:r},a}const ZC=x.createContext(void 0);function JC(n){return x.useContext(ZC)}const WC="ArrowUp",eO="ArrowDown",tO="ArrowLeft",nO="ArrowRight",sO="Home",rO="End",lO=new Set([tO,nO]),oO=new Set([WC,eO]),aO=new Set([...lO,...oO]),D0=new Set([...aO,sO,rO]);function z0(n){return n==="starting"?uj:Bt}const iO={...Dc,...wm},cO=x.forwardRef(function(r,l){const{render:a,className:u,style:f,finalFocus:m,...h}=r,{store:b}=xl(),{side:p,align:v}=Ov(),g=JC()!=null,S=b.useState("open"),N=b.useState("transitionStatus"),T=b.useState("popupProps"),_=b.useState("mounted"),k=b.useState("instantType"),E=b.useState("activeTriggerElement"),j=b.useState("parent"),D=b.useState("lastOpenChangeReason"),O=b.useState("rootId"),V=b.useState("floatingRootContext"),R=b.useState("floatingTreeRoot"),H=b.useState("closeDelay"),A=b.useState("activeTriggerElement"),$=b.useState("hoverEnabled"),se=b.useState("disabled"),he=b.useState("openMethod"),re=j.type==="context-menu";_m({open:S,ref:b.context.popupRef,onComplete(){S&&b.context.onOpenChangeComplete?.(!0)}}),x.useEffect(()=>{function U(q){b.setOpen(!1,Tt(q.reason,q.domEvent))}return R.events.on("close",U),()=>{R.events.off("close",U)}},[R.events,b]),BC(V,{enabled:$&&!se&&!re&&j.type!=="menubar",closeDelay:H});const F=x.useCallback(U=>{b.set("popupElement",U)},[b]),ne={transitionStatus:N,side:p,align:v,open:S,nested:j.type==="menu",instant:k},Q=yn("div",r,{state:ne,ref:[l,b.context.popupRef,F],stateAttributesMapping:iO,props:[T,{onKeyDown(U){g&&D0.has(U.key)&&U.stopPropagation()}},z0(N),h,{"data-rootownerid":O}]});let C=j.type===void 0||re;return(E||j.type==="menubar"&&D!==jm)&&(C=!0),i.jsx(c0,{context:V,openInteractionType:he,modal:re,disabled:!_,returnFocus:m===void 0?C:m,initialFocus:j.type!=="menu",restoreFocus:!0,externalTree:j.type!=="menubar"?R:void 0,previousFocusableElement:A,nextFocusableElement:j.type===void 0?b.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:j.type===void 0?b.context.beforeContentFocusGuardRef:void 0,children:Q})}),L0=x.createContext(void 0);function uO(){const n=x.useContext(L0);if(n===void 0)throw new Error(rs(32));return n}const dO=x.forwardRef(function(r,l){const{keepMounted:a=!1,...u}=r,{store:f}=xl();return f.useState("mounted")||a?i.jsx(L0.Provider,{value:a,children:i.jsx(r0,{ref:l,...u})}):null});function U0(n){return Tm(19)?n:n?"true":void 0}const fO=x.createContext(void 0);function I0(){return x.useContext(fO)?.direction??"ltr"}const mO=n=>({name:"arrow",options:n,async fn(r){const{x:l,y:a,placement:u,rects:f,platform:m,elements:h,middlewareData:b}=r,{element:p,padding:v=0,offsetParent:g="real"}=Ws(n,r)||{};if(p==null)return{};const S=qv(v),N={x:l,y:a},T=zm(u),_=Dm(T),k=await m.getDimensions(p),E=T==="y",j=E?"top":"left",D=E?"bottom":"right",O=E?"clientHeight":"clientWidth",V=f.reference[_]+f.reference[T]-N[T]-f.floating[_],R=N[T]-f.reference[T],H=g==="real"?await m.getOffsetParent?.(p):h.floating;let A=h.floating[O]||f.floating[_];(!A||!await m.isElement?.(H))&&(A=h.floating[O]||f.floating[_]);const $=V/2-R/2,se=A/2-k[_]/2-1,he=Math.min(S[j],se),re=Math.min(S[D],se),F=he,ne=A-k[_]-re,Q=A/2-k[_]/2+$,C=Vv(F,Q,ne),U=!b.arrow&&zr(u)!=null&&Q!==C&&f.reference[_]/2-(Q<F?he:re)-k[_]/2<0,q=U?Q<F?Q-F:Q-ne:0;return{[T]:N[T]+q,data:{[T]:C,centerOffset:Q-C-q,...U&&{alignmentOffset:q}},reset:U}}}),hO=(n,r)=>({...mO(n),options:[n,r]}),pO=dC().fn,gO={name:"hide",async fn(n){const{width:r,height:l,x:a,y:u}=n.rects.reference,f=r===0&&l===0&&a===0&&u===0;return{data:{referenceHidden:(await pO(n)).data?.referenceHidden||f}}}},pc={sideX:"left",sideY:"top"},xO={name:"adaptiveOrigin",async fn(n){const{x:r,y:l,rects:{floating:a},elements:{floating:u},platform:f,strategy:m,placement:h}=n,b=qt(u),p=b.getComputedStyle(u);if(!(p.transitionDuration!=="0s"&&p.transitionDuration!==""))return{x:r,y:l,data:pc};const g=await f.getOffsetParent?.(u);let S={width:0,height:0};if(m==="fixed"&&b?.visualViewport)S={width:b.visualViewport.width,height:b.visualViewport.height};else if(g===b){const j=ht(u);S={width:j.documentElement.clientWidth,height:j.documentElement.clientHeight}}else await f.isElement?.(g)&&(S=await f.getDimensions(g));const N=Yn(h);let T=r,_=l;N==="left"&&(T=S.width-(r+a.width)),N==="top"&&(_=S.height-(l+a.height));const k=N==="left"?"right":pc.sideX,E=N==="top"?"bottom":pc.sideY;return{x:T,y:_,data:{sideX:k,sideY:E}}}};function H0(n,r,l){const a=n==="inline-start"||n==="inline-end";return{top:"top",right:a?l?"inline-start":"inline-end":"right",bottom:"bottom",left:a?l?"inline-end":"inline-start":"left"}[r]}function ey(n,r,l){const{rects:a,placement:u}=n;return{side:H0(r,Yn(u),l),align:zr(u)||"center",anchor:{width:a.reference.width,height:a.reference.height},positioner:{width:a.floating.width,height:a.floating.height}}}function bO(n){const{anchor:r,positionMethod:l="absolute",side:a="bottom",sideOffset:u=0,align:f="center",alignOffset:m=0,collisionBoundary:h,collisionPadding:b=5,sticky:p=!1,arrowPadding:v=5,disableAnchorTracking:g=!1,inline:S,keepMounted:N=!1,floatingRootContext:T,mounted:_,collisionAvoidance:k,shiftCrossAxis:E=!1,nodeId:j,adaptiveOrigin:D,lazyFlip:O=!1,externalTree:V}=n,[R,H]=x.useState(null);!_&&R!==null&&H(null);const A=k.side||"flip",$=k.align||"flip",se=k.fallbackAxisSide||"end",he=typeof r=="function"?r:void 0,re=et(he),F=he?re:r,ne=rn(r),Q=rn(_),U=I0()==="rtl",q=R||{top:"top",right:"right",bottom:"bottom",left:"left","inline-end":U?"left":"right","inline-start":U?"right":"left"}[a],P=f==="center"?q:`${q}-${f}`;let B=b;const M=1,z=a==="bottom"?M:0,L=a==="top"?M:0,I=a==="right"?M:0,K=a==="left"?M:0;typeof B=="number"?B={top:B+z,right:B+K,bottom:B+L,left:B+I}:B&&(B={top:(B.top||0)+z,right:(B.right||0)+K,bottom:(B.bottom||0)+L,left:(B.left||0)+I});const W={boundary:h==="clipping-ancestors"?"clippingAncestors":h,padding:B},Se=x.useRef(null),ie=rn(u),de=rn(m),ze=typeof u!="function"?u:0,Ge=typeof m!="function"?m:0,Ee=[];S&&Ee.push(S),Ee.push(oC(De=>{const bt=ey(De,a,U),Kt=typeof ie.current=="function"?ie.current(bt):ie.current,$t=typeof de.current=="function"?de.current(bt):de.current;return{mainAxis:Kt,crossAxis:$t,alignmentAxis:$t}},[ze,Ge,U,a]));const ke=$==="none"&&A!=="shift",Ae=!ke&&(p||E||A==="shift"),pe=A==="none"?null:cC({...W,padding:{top:B.top+M,right:B.right+M,bottom:B.bottom+M,left:B.left+M},mainAxis:!E&&A==="flip",crossAxis:$==="flip"?"alignment":!1,fallbackAxisSideDirection:se}),Me=ke?null:aC(De=>{const bt=ht(De.elements.floating).documentElement;return{...W,rootBoundary:E?{x:0,y:0,width:bt.clientWidth,height:bt.clientHeight}:void 0,mainAxis:$!=="none",crossAxis:Ae,limiter:p||E?void 0:iC(Kt=>{if(!Se.current)return{};const{width:$t,height:Qt}=Se.current.getBoundingClientRect(),Pe=ss(Yn(Kt.placement)),St=Pe==="y"?$t:Qt,zt=Pe==="y"?B.left+B.right:B.top+B.bottom;return{offset:St/2+zt/2}})}},[W,p,E,B,$]);A==="shift"||$==="shift"||f==="center"?Ee.push(Me,pe):Ee.push(pe,Me),Ee.push(uC({...W,apply({elements:{floating:De},availableWidth:bt,availableHeight:Kt,rects:$t}){if(!Q.current)return;const Qt=De.style;Qt.setProperty("--available-width",`${bt}px`),Qt.setProperty("--available-height",`${Kt}px`);const Pe=qt(De).devicePixelRatio||1,{x:St,y:zt,width:Gt,height:Gn}=$t.reference,Mt=(Math.round((St+Gt)*Pe)-Math.round(St*Pe))/Pe,ln=(Math.round((zt+Gn)*Pe)-Math.round(zt*Pe))/Pe;Qt.setProperty("--anchor-width",`${Mt}px`),Qt.setProperty("--anchor-height",`${ln}px`)}}),hO(De=>({element:Se.current||ht(De.elements.floating).createElement("div"),padding:v,offsetParent:"floating"}),[v]),{name:"transformOrigin",fn(De){const{elements:bt,middlewareData:Kt,placement:$t,rects:Qt,y:Pe}=De,St=Yn($t),zt=ss(St),Gt=Se.current,Gn=Kt.arrow?.x||0,Mt=Kt.arrow?.y||0,ln=Gt?.clientWidth||0,Cs=Gt?.clientHeight||0,on=Gn+ln/2,dn=Mt+Cs/2,tr=Math.abs(Kt.shift?.y||0),Mn=Qt.reference.height/2,Os=typeof u=="function"?u(ey(De,a,U)):u,Ia=tr>Os,cs={top:`${on}px calc(100% + ${Os}px)`,bottom:`${on}px ${-Os}px`,left:`calc(100% + ${Os}px) ${dn}px`,right:`${-Os}px ${dn}px`}[St],tn=`${on}px ${Qt.reference.y+Mn-Pe}px`;return bt.floating.style.setProperty("--transform-origin",Ae&&zt==="y"&&Ia?tn:cs),{}}},gO,D),qe(()=>{!_&&T&&T.update({referenceElement:null,floatingElement:null,domReferenceElement:null,positionReference:null})},[_,T]);const we=x.useMemo(()=>({elementResize:!g&&typeof ResizeObserver<"u",layoutShift:!g&&typeof IntersectionObserver<"u"}),[g]),{refs:He,elements:ge,x:Oe,y:_e,middlewareData:Re,update:ft,placement:ce,context:G,isPositioned:ue,floatingStyles:Z}=IC({rootContext:T,open:N?_:void 0,placement:P,middleware:Ee,strategy:l,whileElementsMounted:N?void 0:(...De)=>Pb(...De,we),nodeId:j,externalTree:V}),{sideX:ye,sideY:Ve}=Re.adaptiveOrigin||pc,be=ue?l:"fixed",Te=x.useMemo(()=>{const De=D?{position:be,[ye]:Oe,[Ve]:_e}:{position:be,...Z};return ue||(De.opacity=0),De},[D,be,ye,Oe,Ve,_e,Z,ue]),Xe=x.useRef(null);qe(()=>{if(!_)return;const De=ne.current,bt=typeof De=="function"?De():De,$t=(ty(bt)?bt.current:bt)||null||null;$t!==Xe.current&&(He.setPositionReference($t),Xe.current=$t)},[_,He,F,ne]),x.useEffect(()=>{if(!_)return;const De=ne.current;typeof De!="function"&&ty(De)&&De.current!==Xe.current&&(He.setPositionReference(De.current),Xe.current=De.current)},[_,He,F,ne]),x.useEffect(()=>{if(N&&_&&ge.reference&&ge.floating)return Pb(ge.reference,ge.floating,ft,we)},[N,_,ge,ft,we]);const We=Yn(ce),le=H0(a,We,U),je=zr(ce)||"center",Ce=!!Re.hide?.referenceHidden;qe(()=>{O&&_&&ue&&H(We)},[O,_,ue,We]);const xt=x.useMemo(()=>({position:"absolute",top:Re.arrow?.y,left:Re.arrow?.x}),[Re.arrow]),pt=Re.arrow?.centerOffset!==0;return x.useMemo(()=>({positionerStyles:Te,arrowStyles:xt,arrowRef:Se,arrowUncentered:pt,side:le,align:je,physicalSide:We,anchorHidden:Ce,refs:He,context:G,isPositioned:ue,update:ft}),[Te,xt,Se,pt,le,je,We,Ce,He,G,ue,ft])}function ty(n){return n!=null&&"current"in n}function yO(n){const{children:r,elementsRef:l,labelsRef:a,onMapChange:u}=n,f=et(u),m=x.useRef(0),h=An(SO).current,b=An(vO).current,[p,v]=x.useState(0),g=x.useRef(p),S=et((E,j)=>{b.set(E,j??null),g.current+=1,v(g.current)}),N=et(E=>{b.delete(E),g.current+=1,v(g.current)}),T=x.useMemo(()=>{const E=new Map;return Array.from(b.keys()).filter(D=>D.isConnected).sort(EO).forEach((D,O)=>{const V=b.get(D)??{};E.set(D,{...V,index:O})}),E},[b,p]);qe(()=>{if(typeof MutationObserver!="function"||T.size===0)return;const E=new MutationObserver(j=>{const D=new Set,O=V=>D.has(V)?D.delete(V):D.add(V);j.forEach(V=>{V.removedNodes.forEach(O),V.addedNodes.forEach(O)}),D.size===0&&(g.current+=1,v(g.current))});return T.forEach((j,D)=>{D.parentElement&&E.observe(D.parentElement,{childList:!0})}),()=>{E.disconnect()}},[T]),qe(()=>{g.current===p&&(l.current.length!==T.size&&(l.current.length=T.size),a&&a.current.length!==T.size&&(a.current.length=T.size),m.current=T.size),f(T)},[f,T,l,a,p]),qe(()=>()=>{l.current=[]},[l]),qe(()=>()=>{a&&(a.current=[])},[a]);const _=et(E=>(h.add(E),()=>{h.delete(E)}));qe(()=>{h.forEach(E=>E(T))},[h,T]);const k=x.useMemo(()=>({register:S,unregister:N,subscribeMapChange:_,elementsRef:l,labelsRef:a,nextIndexRef:m}),[S,N,_,l,a,m]);return i.jsx(Mv.Provider,{value:k,children:r})}function vO(){return new Map}function SO(){return new Set}function EO(n,r){const l=n.compareDocumentPosition(r);return l&Node.DOCUMENT_POSITION_FOLLOWING||l&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:l&Node.DOCUMENT_POSITION_PRECEDING||l&Node.DOCUMENT_POSITION_CONTAINS?1:0}const B0=x.forwardRef(function(r,l){const{cutout:a,...u}=r;let f;if(a){const m=a.getBoundingClientRect();f=`polygon(0% 0%,100% 0%,100% 100%,0% 100%,0% 0%,${m.left}px ${m.top}px,${m.left}px ${m.bottom}px,${m.right}px ${m.bottom}px,${m.right}px ${m.top}px,${m.left}px ${m.top}px)`}return i.jsx("div",{ref:l,role:"presentation","data-base-ui-inert":"",...u,style:{position:"fixed",inset:0,userSelect:"none",WebkitUserSelect:"none",clipPath:f}})});function NO(n,r,{styles:l,transitionStatus:a,props:u,refs:f,hidden:m,inert:h=!1}){const b={...l};return h&&(b.pointerEvents="none"),yn("div",n,{state:r,ref:f,props:[{role:"presentation",hidden:m,style:b},z0(a),u],stateAttributesMapping:Dc})}let ny={},sy={},ry="";function TO(n){if(typeof document>"u")return!1;const r=ht(n);return qt(r).innerWidth-r.documentElement.clientWidth>0}function wO(n){if(!(typeof CSS<"u"&&CSS.supports&&CSS.supports("scrollbar-gutter","stable"))||typeof document>"u")return!1;const l=ht(n),a=l.documentElement,u=l.body,f=gl(a)?a:u,m=f.style.overflowY,h=a.style.scrollbarGutter;a.style.scrollbarGutter="stable",f.style.overflowY="scroll";const b=f.offsetWidth;f.style.overflowY="hidden";const p=f.offsetWidth;return f.style.overflowY=m,a.style.scrollbarGutter=h,b===p}function jO(n){const r=ht(n),l=r.documentElement,a=r.body,u=gl(l)?l:a,f={overflowY:u.style.overflowY,overflowX:u.style.overflowX};return Object.assign(u.style,{overflowY:"hidden",overflowX:"hidden"}),()=>{Object.assign(u.style,f)}}function CO(n){const r=ht(n),l=r.documentElement,a=r.body,u=qt(l);let f=0,m=0,h=!1;const b=bs.create();if(bl&&(u.visualViewport?.scale??1)!==1)return()=>{};function p(){const N=u.getComputedStyle(l),T=u.getComputedStyle(a),E=(N.scrollbarGutter||"").includes("both-edges")?"stable both-edges":"stable";f=l.scrollTop,m=l.scrollLeft,ny={scrollbarGutter:l.style.scrollbarGutter,overflowY:l.style.overflowY,overflowX:l.style.overflowX},ry=l.style.scrollBehavior,sy={position:a.style.position,height:a.style.height,width:a.style.width,boxSizing:a.style.boxSizing,overflowY:a.style.overflowY,overflowX:a.style.overflowX,scrollBehavior:a.style.scrollBehavior};const j=l.scrollHeight>l.clientHeight,D=l.scrollWidth>l.clientWidth,O=N.overflowY==="scroll"||T.overflowY==="scroll",V=N.overflowX==="scroll"||T.overflowX==="scroll",R=Math.max(0,u.innerWidth-a.clientWidth),H=Math.max(0,u.innerHeight-a.clientHeight),A=parseFloat(T.marginTop)+parseFloat(T.marginBottom),$=parseFloat(T.marginLeft)+parseFloat(T.marginRight),se=gl(l)?l:a;if(h=wO(n),h){l.style.scrollbarGutter=E,se.style.overflowY="hidden",se.style.overflowX="hidden";return}Object.assign(l.style,{scrollbarGutter:E,overflowY:"hidden",overflowX:"hidden"}),(j||O)&&(l.style.overflowY="scroll"),(D||V)&&(l.style.overflowX="scroll"),Object.assign(a.style,{position:"relative",height:A||H?`calc(100dvh - ${A+H}px)`:"100dvh",width:$||R?`calc(100vw - ${$+R}px)`:"100vw",boxSizing:"border-box",overflow:"hidden",scrollBehavior:"unset"}),a.scrollTop=f,a.scrollLeft=m,l.setAttribute("data-base-ui-scroll-locked",""),l.style.scrollBehavior="unset"}function v(){Object.assign(l.style,ny),Object.assign(a.style,sy),h||(l.scrollTop=f,l.scrollLeft=m,l.removeAttribute("data-base-ui-scroll-locked"),l.style.scrollBehavior=ry)}function g(){v(),b.request(p)}p();const S=it(u,"resize",g);return()=>{b.cancel(),v(),typeof u.removeEventListener=="function"&&S()}}class OO{lockCount=0;restore=null;timeoutLock=js.create();timeoutUnlock=js.create();acquire(r){return this.lockCount+=1,this.lockCount===1&&this.restore===null&&this.timeoutLock.start(0,()=>this.lock(r)),this.release}release=()=>{this.lockCount-=1,this.lockCount===0&&this.restore&&this.timeoutUnlock.start(0,this.unlock)};unlock=()=>{this.lockCount===0&&this.restore&&(this.restore?.(),this.restore=null)};lock(r){if(this.lockCount===0||this.restore!==null)return;const a=ht(r).documentElement,u=qt(a).getComputedStyle(a).overflowY;if(u==="hidden"||u==="clip"){this.restore=un;return}const f=Ic||!TO(r);this.restore=f?jO(r):CO(r)}}const RO=new OO;function Y0(n=!0,r=null){qe(()=>{if(n)return RO.acquire(r)},[n,r])}const kO=20;function _O(n,r,l,a){const[u,f]=x.useState(!1);qe(()=>{if(!n||!r||l==null){f(!1);return}const m=ht(l).documentElement.clientWidth,h=l.offsetWidth;f(m>0&&h>0&&h>=m-kO)},[n,r,l]),Y0(n&&(!r||u),a)}const AO=x.forwardRef(function(r,l){const{anchor:a,positionMethod:u="absolute",className:f,render:m,side:h,align:b,sideOffset:p=0,alignOffset:v=0,collisionBoundary:g="clipping-ancestors",collisionPadding:S=5,arrowPadding:N=5,sticky:T=!1,disableAnchorTracking:_=!1,collisionAvoidance:k=fj,style:E,...j}=r,{store:D}=xl(),O=uO(),V=zc(!0),R=D.useState("parent"),H=D.useState("floatingRootContext"),A=D.useState("floatingTreeRoot"),$=D.useState("mounted"),se=D.useState("open"),he=D.useState("modal"),re=D.useState("openMethod"),F=D.useState("activeTriggerElement"),ne=D.useState("transitionStatus"),Q=D.useState("positionerElement"),C=D.useState("instantType"),U=D.useState("hasViewport"),q=D.useState("lastOpenChangeReason"),P=D.useState("floatingNodeId"),B=D.useState("floatingParentNodeId"),M=H.useState("domReferenceElement"),z=x.useRef(null),L=zv(Q,!1,!1);let I=a,K=p,W=v,Se=b,ie=k;R.type==="context-menu"&&(I=a??R.context?.anchor,Se=Se??"start",!h&&Se!=="center"&&(W=r.alignOffset??2,K=r.sideOffset??-5));let de=h,ze=Se;R.type==="menu"?(de=de??"inline-end",ze=ze??"start",ie=r.collisionAvoidance??mj):R.type==="menubar"&&(de=de??(R.context.orientation==="vertical"?"inline-end":"bottom"),ze=ze??"start");const Ge=R.type==="context-menu",Ee=bO({anchor:I,floatingRootContext:H,positionMethod:V?"fixed":u,mounted:$,side:de,sideOffset:K,align:ze,alignOffset:W,arrowPadding:Ge?0:N,collisionBoundary:g,collisionPadding:S,sticky:T,nodeId:P,keepMounted:O,disableAnchorTracking:_,collisionAvoidance:ie,shiftCrossAxis:Ge&&!("side"in ie&&ie.side==="flip"),externalTree:A,adaptiveOrigin:U?xO:void 0});x.useEffect(()=>{function Oe(_e){_e.open&&(_e.parentNodeId===P&&D.set("hoverEnabled",!1),_e.nodeId!==P&&_e.parentNodeId===D.select("floatingParentNodeId")&&D.setOpen(!1,Tt(Na)))}return A.events.on("menuopenchange",Oe),()=>{A.events.off("menuopenchange",Oe)}},[D,A.events,P]),x.useEffect(()=>{if(D.select("floatingParentNodeId")==null)return;function Oe(_e){if(_e.open||_e.nodeId!==D.select("floatingParentNodeId"))return;const Re=_e.reason??Na;D.setOpen(!1,Tt(Re))}return A.events.on("menuopenchange",Oe),()=>{A.events.off("menuopenchange",Oe)}},[A.events,D]);const ke=qn();x.useEffect(()=>{se||ke.clear()},[se,ke]),x.useEffect(()=>{function Oe(_e){if(!(!se||_e.nodeId!==D.select("floatingParentNodeId")))if(_e.target&&F&&F!==_e.target){const Re=D.select("closeDelay");Re>0?ke.isStarted()||ke.start(Re,()=>{D.setOpen(!1,Tt(Na))}):D.setOpen(!1,Tt(Na))}else ke.clear()}return A.events.on("itemhover",Oe),()=>{A.events.off("itemhover",Oe)}},[A.events,se,F,D,ke]),x.useEffect(()=>{const Oe={open:se,nodeId:P,parentNodeId:B,reason:D.select("lastOpenChangeReason")};A.events.emit("menuopenchange",Oe)},[A.events,se,D,P,B]),qe(()=>{const Oe=M,_e=z.current;if(Oe&&(z.current=Oe),_e&&Oe&&Oe!==_e){D.set("instantType",void 0);const Re=new AbortController;return L(()=>{D.set("instantType","trigger-change")},Re.signal),()=>{Re.abort()}}},[M,L,D]);const Ae={open:se,side:Ee.side,align:Ee.align,anchorHidden:Ee.anchorHidden,nested:R.type==="menu",instant:C},pe=R.type==="menubar"&&R.context.modal;_O(se&&(pe||he&&q!==kn),re==="touch",Q,F);const we=NO(r,Ae,{styles:Ee.positionerStyles,transitionStatus:ne,props:j,refs:[l,D.useStateSetter("positionerElement")],hidden:!$,inert:!se}),He=$&&R.type!=="menu"&&(R.type!=="menubar"&&he&&q!==kn||R.type==="menubar"&&R.context.modal);let ge=null;return R.type==="menubar"?ge=R.context.contentElement:R.type===void 0&&(ge=F),i.jsxs(Cv.Provider,{value:Ee,children:[He&&i.jsx(B0,{ref:R.type==="context-menu"||R.type==="nested-context-menu"?R.context.internalBackdropRef:null,inert:U0(!se),cutout:ge}),i.jsx(xj,{id:P,children:i.jsx(yO,{elementsRef:D.context.itemDomElements,labelsRef:D.context.itemLabels,children:we})})]})}),MO=x.createContext(null);function V0(n){return x.useContext(MO)}function DO(n){const r=x.useRef(""),l=x.useCallback(u=>{u.defaultPrevented||(r.current=u.pointerType,n(u,u.pointerType))},[n]);return{onClick:x.useCallback(u=>{if(u.detail===0){n(u,"keyboard");return}"pointerType"in u?n(u,u.pointerType):n(u,r.current),r.current=""},[n]),onPointerDown:l}}function zO(n,r){const l=x.useRef(n),a=et(r);qe(()=>{l.current!==n&&a(l.current)},[n,a]),qe(()=>{l.current=n},[n])}function LO(n,r){const l=et((f,m)=>{(typeof n=="function"?n():n)||r(m||(Ic?"touch":""))}),{onClick:a,onPointerDown:u}=DO(l);return x.useMemo(()=>({onClick:a,onPointerDown:u}),[a,u])}function UO(n){const[r,l]=x.useState(null),a=LO(n,l);return zO(n,u=>{u&&!n&&l(null)}),x.useMemo(()=>({openMethod:r,triggerProps:a}),[r,a])}const IO={..._0,disabled:Qe(n=>n.parent.type==="menubar"&&n.parent.context.disabled||n.disabled),modal:Qe(n=>(n.parent.type===void 0||n.parent.type==="context-menu")&&(n.modal??!0)),openMethod:Qe(n=>n.openMethod),allowMouseEnter:Qe(n=>n.allowMouseEnter),highlightItemOnHover:Qe(n=>n.highlightItemOnHover),stickIfOpen:Qe(n=>n.stickIfOpen),parent:Qe(n=>n.parent),rootId:Qe(n=>n.parent.type==="menu"?n.parent.store.select("rootId"):n.parent.type!==void 0?n.parent.context.rootId:n.rootId),activeIndex:Qe(n=>n.activeIndex),isActive:Qe((n,r)=>n.activeIndex===r),hoverEnabled:Qe(n=>n.hoverEnabled),instantType:Qe(n=>n.instantType),lastOpenChangeReason:Qe(n=>n.openChangeReason),floatingTreeRoot:Qe(n=>n.parent.type==="menu"?n.parent.store.select("floatingTreeRoot"):n.floatingTreeRoot),floatingNodeId:Qe(n=>n.floatingNodeId),floatingParentNodeId:Qe(n=>n.floatingParentNodeId),itemProps:Qe(n=>n.itemProps),closeDelay:Qe(n=>n.closeDelay),hasViewport:Qe(n=>n.hasViewport),keyboardEventRelay:Qe(n=>{if(n.keyboardEventRelay)return n.keyboardEventRelay;if(n.parent.type==="menu")return n.parent.store.select("keyboardEventRelay")})};class Gm extends Ym{constructor(r){super({...HO(),...r},{positionerRef:x.createRef(),popupRef:x.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},allowMouseUpTriggerRef:{current:!1},triggerFocusTargetRef:x.createRef(),beforeContentFocusGuardRef:x.createRef(),onOpenChangeComplete:void 0,triggerElements:new Xc},IO),this.unsubscribeParentListener=this.observe("parent",l=>{if(this.unsubscribeParentListener?.(),l.type==="menu"){let a=l.store.select("rootId"),u=l.store.select("floatingTreeRoot"),f=l.store.select("keyboardEventRelay");this.unsubscribeParentListener=l.store.subscribe(()=>{const m=l.store.select("rootId"),h=l.store.select("floatingTreeRoot"),b=l.store.select("keyboardEventRelay");a===m&&u===h&&f===b||(a=m,u=h,f=b,this.notifyAll())}),this.context.allowMouseUpTriggerRef=l.store.context.allowMouseUpTriggerRef;return}l.type!==void 0&&(this.context.allowMouseUpTriggerRef=l.context.allowMouseUpTriggerRef),this.unsubscribeParentListener=null})}setOpen(r,l){this.state.floatingRootContext.context.events.emit("setOpen",{open:r,eventDetails:l})}static useStore(r,l){const a=An(()=>new Gm(l)).current;return r??a}unsubscribeParentListener=null}function HO(){return{...R0(),disabled:!1,modal:!0,openMethod:null,allowMouseEnter:!1,highlightItemOnHover:!0,stickIfOpen:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new Im,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:Bt,keyboardEventRelay:void 0,closeDelay:0,hasViewport:!1}}const BO=x.createContext(void 0);function YO(){return x.useContext(BO)}const VO=S0(function(r){const{children:l,open:a,onOpenChange:u,onOpenChangeComplete:f,defaultOpen:m=!1,disabled:h=!1,modal:b,loopFocus:p=!0,orientation:v="vertical",actionsRef:g,closeParentOnEsc:S=!1,handle:N,triggerId:T,defaultTriggerId:_=null,highlightItemOnHover:k=!0}=r,E=zc(!0),j=xl(!0),D=V0(!0),O=YO(),V=x.useMemo(()=>O&&j?{type:"menu",store:j.store}:D?{type:"menubar",context:D}:E&&!j?{type:"context-menu",context:E}:{type:void 0},[E,j,D,O]),R=Gm.useStore(N?.store,{open:m,openProp:a,activeTriggerId:_,triggerIdProp:T,parent:V});_C(R,a,m,_),R.useControlledProp("openProp",a),R.useControlledProp("triggerIdProp",T),R.useContextCallback("onOpenChangeComplete",f);const H=fl(),A=fl(),$=R.useState("floatingTreeRoot"),se=i0($),he=Lr(),re=R.useState("open"),F=R.useState("activeTriggerElement"),ne=R.useState("positionerElement"),Q=R.useState("hoverEnabled"),C=R.useState("disabled"),U=R.useState("lastOpenChangeReason"),q=R.useState("parent"),P=R.useState("activeIndex"),B=R.useState("payload"),M=R.useState("floatingParentNodeId"),z=x.useRef(null),L=x.useRef(q.type!=="context-menu"),I=qn(),K=x.useRef(!0),W=qn(),Se=M!=null,{openMethod:ie,triggerProps:de}=UO(re);R.useSyncedValues({disabled:h,highlightItemOnHover:k,modal:q.type===void 0?b:void 0,openMethod:ie,rootId:H}),j0(R);const{forceUnmount:ze}=C0(re,R,()=>{R.update({allowMouseEnter:!1,stickIfOpen:!0})});qe(()=>{E&&!j?R.update({parent:{type:"context-menu",context:E},floatingNodeId:se,floatingParentNodeId:he}):j&&R.update({floatingNodeId:se,floatingParentNodeId:he})},[E,j,se,he,R]),x.useEffect(()=>{if(re||(z.current=null),q.type==="context-menu"){if(!re){I.clear(),L.current=!1;return}I.start(500,()=>{L.current=!0})}},[I,re,q.type]),qe(()=>{!re&&!Q&&R.set("hoverEnabled",!0)},[re,Q,R]);const Ge=et((ye,Ve)=>{const be=Ve.reason;if(re===ye&&Ve.trigger===F&&U===be)return;const Te=kC(Ve);if(!ye&&Ve.trigger==null&&(Ve.trigger=F??void 0),u?.(ye,Ve),Ve.isCanceled)return;R.state.floatingRootContext.dispatchOpenChange(ye,Ve);const Xe=Ve.event;if(ye===!1&&Xe?.type==="click"&&Xe.pointerType==="touch"&&!K.current)return;ye&&be===wa?(K.current=!1,W.start(300,()=>{K.current=!0})):(K.current=!0,W.clear());const We=(be===Lc||be===_v)&&Xe.detail===0&&Xe?.isTrusted,le=!ye&&(be===Cm||be==null),je={open:ye,openChangeReason:be};z.current=Ve.event??null,w0(je,ye,Ve.trigger,Te()),R.update(je),q.type==="menubar"&&(be===wa||be===vo||be===kn||be===Vf||be===Na)?R.set("instantType","group"):We||le?R.set("instantType",We?"click":"dismiss"):R.set("instantType",void 0)}),Ee=N0({popupStore:R,floatingId:A,nested:he!=null,onOpenChange:Ge}),ke=Ee.context.events;x.useEffect(()=>{const ye=({open:Ve,eventDetails:be})=>Ge(Ve,be);return ke.on("setOpen",ye),()=>{ke?.off("setOpen",ye)}},[ke,Ge]);const Ae=x.useCallback(()=>{R.setOpen(!1,Tt(Av))},[R]);x.useImperativeHandle(g,()=>({unmount:ze,close:Ae}),[ze,Ae]);let pe;q.type==="context-menu"&&(pe=q.context),x.useImperativeHandle(pe?.positionerRef,()=>ne,[ne]),x.useImperativeHandle(pe?.actionsRef,()=>({setOpen:Ge}),[Ge]);const Me=u0(Ee,{enabled:!C,bubbles:{escapeKey:S&&q.type==="menu"},outsidePress(){return q.type!=="context-menu"||z.current?.type==="contextmenu"?!0:L.current},externalTree:Se?$:void 0}),we=I0(),He=x.useCallback(ye=>{R.select("activeIndex")!==ye&&R.set("activeIndex",ye)},[R]),ge=PC(Ee,{enabled:!C,listRef:R.context.itemDomElements,activeIndex:P,nested:q.type!==void 0,loopFocus:p,orientation:v,parentOrientation:q.type==="menubar"?q.context.orientation:void 0,rtl:we==="rtl",disabledIndices:vc,onNavigate:He,openOnArrowKeyDown:q.type!=="context-menu",externalTree:Se?$:void 0,focusItemOnHover:k}),Oe=x.useCallback(ye=>{R.context.typingRef.current=ye},[R]),_e=FC(Ee,{enabled:!C,listRef:R.context.itemLabels,elementsRef:R.context.itemDomElements,activeIndex:P,resetMs:ij,onMatch:ye=>{re&&ye!==P&&R.set("activeIndex",ye)},onTyping:Oe}),Re=x.useMemo(()=>{const ye=kr(_e.reference,ge.reference,Me.reference,{onMouseMove(){R.set("allowMouseEnter",!0)}},de);return ye["aria-haspopup"]="menu",ye["aria-expanded"]=re,ye},[R,_e.reference,ge.reference,Me.reference,de,re]),ft=x.useMemo(()=>{const ye=kr(ge.trigger,Me.trigger,de);return ye["aria-haspopup"]="menu",ye["aria-expanded"]=!1,ye},[ge.trigger,Me.trigger,de]),ce=x.useMemo(()=>kr(T0,{id:A,role:"menu","aria-labelledby":F?.id,onMouseMove(){R.set("allowMouseEnter",!0),q.type==="menu"&&R.set("hoverEnabled",!1)},onClick(){R.select("hoverEnabled")&&R.set("hoverEnabled",!1)},onKeyDown(ye){const Ve=R.select("keyboardEventRelay");Ve&&!ye.isPropagationStopped()&&Ve(ye)}},_e.floating,ge.floating,Me.floating),[F,A,q.type,R,_e.floating,ge.floating,Me.floating]),G=ge.item??Bt;O0(R,{floatingRootContext:Ee,activeTriggerProps:Re,inactiveTriggerProps:ft,popupProps:ce,itemProps:G});const ue=x.useMemo(()=>({store:R,parent:V}),[R,V]),Z=i.jsx(Rv.Provider,{value:ue,children:typeof l=="function"?l({payload:B}):l});return q.type===void 0||q.type==="context-menu"?i.jsx(bj,{externalTree:$,children:Z}):Z});function qO(n){const r=n.getBoundingClientRect(),l=qt(n);if(Rm)return r;const a=l.getComputedStyle(n,"::before"),u=l.getComputedStyle(n,"::after");if(!(a.content!=="none"||u.content!=="none"))return r;const m=parseFloat(a.width)||0,h=parseFloat(a.height)||0,b=parseFloat(u.width)||0,p=parseFloat(u.height)||0,v=Math.max(r.width,m,b),g=Math.max(r.height,h,p),S=v-r.width,N=g-r.height;return{left:r.left-S/2,right:r.right+S/2,top:r.top-N/2,bottom:r.bottom+N/2}}function GO(n={}){const{highlightItemOnHover:r,highlightedIndex:l,onHighlightedIndexChange:a}=Nm(),{ref:u,index:f}=Dv(n),m=l===f,h=x.useRef(null),b=yo(u,h);return{compositeProps:{tabIndex:m?0:-1,onFocus(){a(f)},onMouseMove(){const v=h.current;if(!r||!v)return;const g=v.hasAttribute("disabled")||v.ariaDisabled==="true";!m&&!g&&v.focus()}},compositeRef:b,index:f}}function XO(n){const{render:r,className:l,style:a,state:u=Bt,props:f=vc,refs:m=vc,metadata:h,stateAttributesMapping:b,tag:p="div",...v}=n,{compositeProps:g,compositeRef:S}=GO({metadata:h});return yn(p,n,{state:u,ref:[...m,S],props:[g,...f,v],stateAttributesMapping:b})}function q0(n){if(It(n)&&n.hasAttribute("data-rootownerid"))return n.getAttribute("data-rootownerid")??void 0;if(!$s(n))return q0(Js(n))}function PO(n,r){const l=x.useRef(null);function a(f){Ar.flushSync(()=>{n.setOpen(!1,Tt(vo,f.nativeEvent,f.currentTarget))}),rj(l.current)?.focus()}function u(f){const m=n.select("positionerElement");if(m&&mo(f,m))n.context.beforeContentFocusGuardRef.current?.focus();else{Ar.flushSync(()=>{n.setOpen(!1,Tt(vo,f.nativeEvent,f.currentTarget))});let h=sj(n.context.triggerFocusTargetRef.current||r.current);for(;h!==null&&Je(m,h);){const b=h;if(h=Um(h),h===b)break}h?.focus()}}return{preFocusGuardRef:l,handlePreFocusGuardFocus:a,handleFocusTargetFocus:u}}function FO(n){const{enabled:r=!0,mouseDownAction:l,open:a}=n,u=x.useRef(!1);return x.useMemo(()=>r?{onMouseDown:f=>{(l==="open"&&!a||l==="close"&&a)&&(u.current=!0,ht(f.currentTarget).addEventListener("click",()=>{u.current=!1},{once:!0}))},onClick:f=>{u.current&&(u.current=!1,f.preventBaseUIHandler())}}:Bt,[r,l,a])}const ac=2,KO=bC(function(r,l){const{render:a,className:u,style:f,disabled:m=!1,nativeButton:h=!0,id:b,openOnHover:p,delay:v=100,closeDelay:g=0,handle:S,payload:N,...T}=r,_=xl(!0),k=S?.store??_?.store;if(!k)throw new Error(rs(85));const E=No(b),j=k.useState("isTriggerActive",E),D=k.useState("floatingRootContext"),O=k.useState("isOpenedByTrigger",E),V=k.useState("triggerPopupId",E),R=x.useRef(null),H=QO(),A=Nm(!0),$=Ur(),se=x.useMemo(()=>$??new Im,[$]),he=i0(se),re=Lr(),{registerTrigger:F,isMountedByThisTrigger:ne}=AC(E,R,k,{payload:N,closeDelay:g,parent:H,floatingTreeRoot:se,floatingNodeId:he,floatingParentNodeId:re,keyboardEventRelay:A?.relayKeyboardEvent}),Q=H.type==="menubar",C=k.useState("disabled"),U=m||C||Q&&H.context.disabled,{getButtonProps:q,buttonRef:P}=Mc({disabled:U,native:h});x.useEffect(()=>{!O&&H.type===void 0&&(k.context.allowMouseUpTriggerRef.current=!1)},[k,O,H.type]);const B=x.useRef(null),M=qn(),z=et(ge=>{if(!B.current)return;M.clear(),k.context.allowMouseUpTriggerRef.current=!1;const Oe=ge.target;if(Je(B.current,Oe)||Je(k.select("positionerElement"),Oe)||Oe===B.current||Oe!=null&&q0(Oe)===k.select("rootId"))return;const _e=qO(B.current);ge.clientX>=_e.left-ac&&ge.clientX<=_e.right+ac&&ge.clientY>=_e.top-ac&&ge.clientY<=_e.bottom+ac||se.events.emit("close",{domEvent:ge,reason:uw})});x.useEffect(()=>{O&&k.select("lastOpenChangeReason")===kn&&ht(B.current).addEventListener("mouseup",z,{once:!0})},[O,z,k]);const L=Q&&H.context.hasSubmenuOpen,K=VC(D,{enabled:(p??L)&&!U&&H.type!=="context-menu"&&(!Q||L&&!ne),handleClose:QC({blockPointerEvents:!Q}),mouseOnly:!0,move:!1,restMs:H.type===void 0?v:void 0,delay:{close:g},triggerElementRef:R,externalTree:se,isActiveTrigger:j,isClosing:()=>k.select("transitionStatus")==="ending"}),W=$O(O,k.select("lastOpenChangeReason")),Se=Sj(D,{enabled:!U&&H.type!=="context-menu",event:O&&Q?"click":"mousedown",toggle:!0,ignoreMouse:!1,stickIfOpen:H.type===void 0?W:!1}),ie=HC(D,{enabled:!U&&L}),de=FO({open:O,enabled:Q,mouseDownAction:"open"}),ze=x.useMemo(()=>kr(ie.reference,Se.reference),[ie.reference,Se.reference]),Ge=k.useState("triggerProps",ne),{preFocusGuardRef:Ee,handlePreFocusGuardFocus:ke,handleFocusTargetFocus:Ae}=PO(k,R),pe={disabled:U,open:O},Me=[B,l,P,F,R],we=[ze,K??Bt,Ge,{"aria-haspopup":"menu","aria-controls":V,id:E,onMouseDown:ge=>{if(k.select("open"))return;M.start(200,()=>{k.context.allowMouseUpTriggerRef.current=!0}),ht(ge.currentTarget).addEventListener("mouseup",z,{once:!0})}},Q?{role:"menuitem"}:{},de,T,q],He=yn("button",r,{enabled:!Q,stateAttributesMapping:Sb,state:pe,ref:Me,props:we});return Q?i.jsx(XO,{tag:"button",render:a,className:u,style:f,state:pe,refs:Me,props:we,stateAttributesMapping:Sb}):O?i.jsxs(x.Fragment,{children:[i.jsx(So,{ref:Ee,onFocus:ke},`${E}-pre-focus-guard`),i.jsx(x.Fragment,{children:He},E),i.jsx(So,{ref:k.context.triggerFocusTargetRef,onFocus:Ae},`${E}-post-focus-guard`)]}):i.jsx(x.Fragment,{children:He},E)});function $O(n,r){const l=qn(),[a,u]=x.useState(!1);return qe(()=>{n&&r==="trigger-hover"?(u(!0),l.start(cj,()=>{u(!1)})):n||(l.clear(),u(!1))},[n,r,l]),a}function QO(){const n=zc(!0),r=xl(!0),l=V0();return x.useMemo(()=>l?{type:"menubar",context:l}:n&&!r?{type:"context-menu",context:n}:{type:void 0},[n,r,l])}const ZO=x.forwardRef(function(r,l){const{className:a,render:u,orientation:f="horizontal",style:m,...h}=r;return yn("div",r,{state:{orientation:f},ref:l,props:[{role:"separator","aria-orientation":f},h]})});function G0({...n}){return i.jsx(VO,{"data-slot":"dropdown-menu",...n})}function X0({...n}){return i.jsx(KO,{"data-slot":"dropdown-menu-trigger",...n})}function P0({align:n="start",alignOffset:r=0,side:l="bottom",sideOffset:a=4,className:u,...f}){return i.jsx(dO,{children:i.jsx(AO,{className:"isolate z-50 outline-none",align:n,alignOffset:r,side:l,sideOffset:a,children:i.jsx(cO,{"data-slot":"dropdown-menu-content",className:tt("z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95",u),...f})})})}function JO({...n}){return i.jsx(Rw,{"data-slot":"dropdown-menu-group",...n})}function WO({className:n,inset:r,...l}){return i.jsx(kw,{"data-slot":"dropdown-menu-label","data-inset":r,className:tt("px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7",n),...l})}function al({className:n,inset:r,variant:l="default",...a}){return i.jsx(_w,{"data-slot":"dropdown-menu-item","data-inset":r,"data-variant":l,className:tt("group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive",n),...a})}function F0({className:n,...r}){return i.jsx(ZO,{"data-slot":"dropdown-menu-separator",className:tt("-mx-1 my-1 h-px bg-border",n),...r})}const eR={propose_create_entity:"新建实体",propose_update_entity:"更新实体",propose_add_relation:"新增关系",propose_outline_node:"新建大纲节点"},tR={character:"角色",setting:"设定",location:"地点",hook:"伏笔"};function nR(n){const r=n.focus_entity_id??n.focus_node_id??"",l=n.focus_entity_type?tR[n.focus_entity_type]??n.focus_entity_type:n.focus_node_id?"大纲节点":"";return l?`${l} ${r}`:r||"当前内容"}const sR=n=>typeof n=="object"&&n!==null?n:{};function rR({disabled:n,onClose:r}){const l=yt(b=>b.sessions),a=yt(b=>b.currentSessionId),u=yt(b=>b.setCurrentSession),f=yt(b=>b.newSession),m=l?.find(b=>b.id===a)??null,h=m?m.lastMessage||"(空会话)":"新会话";return i.jsxs("div",{className:"flex h-12 shrink-0 items-center gap-1 border-b border-border px-2.5",children:[i.jsx(Oa,{className:"size-4 shrink-0 text-muted-foreground"}),i.jsxs(G0,{children:[i.jsx(X0,{render:i.jsxs(ve,{variant:"ghost",size:"sm",disabled:n,className:"max-w-44 justify-start gap-1 px-1.5",children:[i.jsx("span",{className:"truncate text-sm font-medium",title:h,children:h}),i.jsx(tN,{className:"size-3.5 shrink-0 text-muted-foreground"})]})}),i.jsxs(P0,{align:"start",className:"w-64",children:[i.jsx(JO,{children:i.jsx(WO,{children:"会话(本项目)"})}),i.jsx(F0,{}),l&&l.length===0&&i.jsx("div",{className:"px-2 py-2 text-xs text-muted-foreground",children:"暂无历史会话"}),l?.map(b=>i.jsx(al,{onClick:()=>u(b.id),className:tt(b.id===a&&"bg-accent text-accent-foreground"),children:i.jsxs("span",{className:"flex min-w-0 flex-1 flex-col",children:[i.jsx("span",{className:"truncate text-sm",children:b.lastMessage||"(空会话)"}),i.jsxs("span",{className:"text-xs text-muted-foreground",children:[b.messageCount," 条 · ",ul(b.updatedAt)]})]})},b.id))]})]}),i.jsx(ve,{variant:"ghost",size:"icon-sm",className:"shrink-0 text-muted-foreground",disabled:n,onClick:f,"aria-label":"新会话",title:"新会话",children:i.jsx(um,{className:"size-4"})}),r&&i.jsx(ve,{variant:"ghost",size:"icon-sm",className:"ml-auto shrink-0 text-muted-foreground",onClick:r,"aria-label":"关闭聊天面板",children:i.jsx(_r,{className:"size-4"})})]})}function lR(){const n=yt(a=>a.disconnected),r=yt(a=>a.setDisconnected),l=yt(a=>a.resendLast);return n?i.jsxs("div",{className:"flex shrink-0 items-center gap-2 border-b border-destructive/30 bg-destructive/10 px-3 py-1.5 text-xs text-destructive",children:[i.jsx(dm,{className:"size-3.5 shrink-0"}),i.jsx("span",{className:"min-w-0 flex-1 truncate",children:"上次会话已取消"}),i.jsx(ve,{size:"xs",variant:"outline",className:"shrink-0",onClick:l,children:"重新发送"}),i.jsx("button",{className:"shrink-0 rounded p-0.5 hover:bg-destructive/15",onClick:()=>r(!1),"aria-label":"关闭断连提示",children:i.jsx(_r,{className:"size-3.5"})})]}):null}function oR(){const n=yt(l=>l.streamError),r=yt(l=>l.setStreamError);return n?i.jsxs("div",{className:"flex shrink-0 items-center gap-2 border-b border-destructive/30 bg-destructive/10 px-3 py-1.5 text-xs text-destructive",children:[i.jsx(am,{className:"size-3.5 shrink-0"}),i.jsx("span",{className:"min-w-0 flex-1 truncate",children:n}),i.jsx("button",{className:"shrink-0 rounded p-0.5 hover:bg-destructive/15",onClick:()=>r(null),"aria-label":"关闭错误提示",children:i.jsx(_r,{className:"size-3.5"})})]}):null}function K0({toolName:n,args:r,result:l,status:a}){const[u,f]=x.useState(!1),m=a==="ok"||l!==void 0;return i.jsxs("div",{className:"rounded-md border border-border/70 bg-muted/40 px-2 py-1",children:[i.jsxs("button",{className:"flex w-full items-center gap-1.5 text-left text-xs text-muted-foreground",onClick:()=>f(h=>!h),"aria-expanded":u,children:[i.jsx(Gy,{className:tt("size-3 shrink-0 transition-transform",u&&"rotate-90")}),i.jsx(ZN,{className:"size-3 shrink-0"}),i.jsxs("span",{className:"min-w-0 flex-1 truncate",children:["调用了 ",n]}),a==="error"&&i.jsx("span",{className:"shrink-0 text-destructive",children:"✗"}),m&&i.jsx("span",{className:"shrink-0 text-primary",children:"✓"})]}),u&&i.jsx("pre",{className:"mt-1 max-h-40 overflow-auto whitespace-pre-wrap text-xs text-muted-foreground",children:typeof r=="string"?r:JSON.stringify(r??{},null,2)})]})}function aR({message:n,toolResults:r}){if(n.role==="user")return i.jsx("div",{className:"flex justify-end",children:i.jsx("div",{className:"max-w-[85%] rounded-lg bg-secondary px-3 py-2 text-sm text-secondary-foreground",children:n.content})});if(n.role==="tool")return null;const l=Array.isArray(n.toolCalls)?n.toolCalls:[];return i.jsxs("div",{className:"space-y-1.5",children:[l.map((a,u)=>{const f=sR(a),m=f.id??`hist-${u}`,h=m?r.get(m):void 0;return i.jsx(K0,{toolName:f.tool??f.name??"工具",args:f.args,result:h?.content,status:h?"ok":void 0},m)}),n.content?i.jsx("p",{className:"whitespace-pre-wrap font-serif text-[17px] leading-[1.72] text-foreground",children:n.content}):null]})}function iR({proposal:n}){const r=yt(f=>f.confirmProposal),l=yt(f=>f.rejectProposal),a=eR[n.type]??n.type,u=n.status!=="pending"||n.processing===!0;return i.jsxs("div",{className:"rounded-lg border border-primary/25 bg-primary/5 p-2.5",children:[i.jsxs("div",{className:"flex items-center gap-1.5 text-sm font-medium text-foreground",children:[i.jsx(Py,{className:"size-3.5 shrink-0 text-primary"}),i.jsxs("span",{className:"min-w-0 flex-1 truncate",children:["提案:",a]}),n.status==="confirmed"&&i.jsx("span",{className:"shrink-0 text-xs text-primary",children:"✓ 已确认"}),n.status==="rejected"&&i.jsx("span",{className:"shrink-0 text-xs text-muted-foreground",children:"已拒绝"}),n.status==="stale"&&i.jsx("span",{className:"shrink-0 text-xs text-destructive",children:"⚠ 数据已变化,此提案已失效"})]}),n.preview!==void 0&&i.jsx("pre",{className:"mt-1 max-h-32 overflow-auto whitespace-pre-wrap text-xs text-muted-foreground",children:typeof n.preview=="string"?n.preview:JSON.stringify(n.preview,null,2)}),i.jsxs("div",{className:"mt-2 flex gap-1.5",children:[i.jsx(ve,{size:"xs",disabled:u,onClick:()=>{r(n.proposalId)},children:"确认"}),i.jsx(ve,{size:"xs",variant:"outline",disabled:u,onClick:()=>{l(n.proposalId)},children:"拒绝"})]})]})}function cR(){const n=yt(l=>l.focusContext),r=yt(l=>l.clearFocusContext);return n?i.jsxs("div",{className:"flex shrink-0 items-center gap-1.5 border-t border-border bg-accent/40 px-3 py-1.5 text-xs",children:[i.jsx(Py,{className:"size-3.5 shrink-0 text-primary"}),i.jsxs("span",{className:"min-w-0 flex-1 truncate text-muted-foreground",children:["正在讨论:",nR(n)]}),i.jsx("button",{className:"shrink-0 rounded p-0.5 text-muted-foreground hover:bg-muted",onClick:r,"aria-label":"清除讨论上下文",children:i.jsx(_r,{className:"size-3.5"})})]}):null}function uR({disabled:n}){const[r,l]=x.useState(""),a=yt(h=>h.streaming),u=yt(h=>h.sendMessage),f=!n&&!a&&r.trim().length>0,m=()=>{f&&(u(r),l(""))};return i.jsx("div",{className:"shrink-0 border-t border-border p-3",children:i.jsxs("div",{className:"flex items-end gap-2",children:[i.jsx("textarea",{value:r,onChange:h=>l(h.target.value),onKeyDown:h=>{h.key==="Enter"&&!h.shiftKey&&!h.nativeEvent.isComposing&&(h.preventDefault(),m())},placeholder:a?"AI 思考中…":"输入消息…",rows:1,disabled:n||a,className:"max-h-32 min-h-9 flex-1 resize-none rounded-lg border border-input bg-transparent px-2.5 py-1.5 text-sm outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50"}),i.jsxs(ve,{onClick:m,disabled:!f,className:"shrink-0",children:[a?i.jsx(cm,{className:"size-4 animate-spin"}):i.jsx(IN,{className:"size-4"}),a?"思考中":"发送"]})]})})}function dR({disabled:n}){const r=yt(p=>p.messages),l=yt(p=>p.messagesLoading),a=yt(p=>p.streamTools),u=yt(p=>p.proposals),f=x.useRef(null),m=x.useMemo(()=>{const p=new Map;for(const v of r)v.role==="tool"&&v.toolCallId&&p.set(v.toolCallId,v);return p},[r]),h=r.length;if(x.useEffect(()=>{const p=f.current;p&&(p.scrollTop=p.scrollHeight)},[h,l,a.length,u.length]),n)return i.jsxs("div",{className:"flex min-h-0 flex-1 flex-col items-center justify-center gap-2 p-4",children:[i.jsx(Oa,{className:"size-8 text-muted-foreground/40"}),i.jsx("p",{className:"text-sm text-muted-foreground/70",children:"打开项目后可用"})]});if(l)return i.jsx("div",{className:"flex min-h-0 flex-1 flex-col gap-3 p-4",children:[0,1].map(p=>i.jsx("div",{className:"animate-pulse rounded-lg bg-muted/60",style:{height:40,width:p%2?"70%":"90%"}},p))});const b=r.length===0&&a.length===0&&u.length===0;return i.jsx("div",{ref:f,className:"min-h-0 flex-1 overflow-y-auto px-3 py-3",children:b?i.jsxs("div",{className:"flex h-full flex-col items-center justify-center gap-1.5 p-4 text-center",children:[i.jsx(Oa,{className:"size-7 text-muted-foreground/40"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"试试问:这个设定有没有漏洞?"}),i.jsx("p",{className:"text-sm text-muted-foreground",children:"第 4 章剧情往哪走合理?"})]}):i.jsxs("div",{className:"flex flex-col gap-3",children:[r.map(p=>i.jsx(aR,{message:p,toolResults:m},p.id)),a.map(p=>i.jsx(K0,{toolName:p.tool,args:p.args,result:p.result,status:p.status},p.id)),u.map(p=>i.jsx(iR,{proposal:p},p.proposalId))]})})}function ly({onClose:n}){const l=!Fe(a=>a.config);return i.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[i.jsx(rR,{disabled:l,onClose:n}),!l&&i.jsxs(i.Fragment,{children:[i.jsx(lR,{}),i.jsx(oR,{})]}),i.jsx(dR,{disabled:l}),!l&&i.jsxs(i.Fragment,{children:[i.jsx(cR,{}),i.jsx(uR,{disabled:l})]})]})}function fR({open:n,onClose:r}){return Ky("(min-width: 1024px)")?i.jsx("aside",{className:"flex min-w-0 flex-[4_1_40%] flex-col border-l border-border bg-background",children:i.jsx(ly,{})}):n?i.jsxs("div",{className:"fixed inset-0 z-50",children:[i.jsx("div",{className:"absolute inset-0 bg-foreground/40 animate-in fade-in",onClick:r}),i.jsx("div",{className:"absolute inset-y-0 right-0 w-[85vw] max-w-md border-l border-border bg-background shadow-xl animate-in slide-in-from-right duration-300",children:i.jsx(ly,{onClose:r})})]}):null}function mR(n){if(typeof document>"u")return;let r=document.head||document.getElementsByTagName("head")[0],l=document.createElement("style");l.type="text/css",r.appendChild(l),l.styleSheet?l.styleSheet.cssText=n:l.appendChild(document.createTextNode(n))}const hR=n=>{switch(n){case"success":return xR;case"info":return yR;case"warning":return bR;case"error":return vR;default:return null}},pR=Array(12).fill(0),gR=({visible:n,className:r})=>Ne.createElement("div",{className:["sonner-loading-wrapper",r].filter(Boolean).join(" "),"data-visible":n},Ne.createElement("div",{className:"sonner-spinner"},pR.map((l,a)=>Ne.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${a}`})))),xR=Ne.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},Ne.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),bR=Ne.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},Ne.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),yR=Ne.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},Ne.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),vR=Ne.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},Ne.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),SR=Ne.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},Ne.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Ne.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),ER=()=>{const[n,r]=Ne.useState(document.hidden);return Ne.useEffect(()=>{const l=()=>{r(document.hidden)};return document.addEventListener("visibilitychange",l),()=>window.removeEventListener("visibilitychange",l)},[]),n};let Wf=1;class NR{constructor(){this.subscribe=r=>(this.subscribers.push(r),()=>{const l=this.subscribers.indexOf(r);this.subscribers.splice(l,1)}),this.publish=r=>{this.subscribers.forEach(l=>l(r))},this.addToast=r=>{this.publish(r),this.toasts=[...this.toasts,r]},this.create=r=>{var l;const{message:a,...u}=r,f=typeof r?.id=="number"||((l=r.id)==null?void 0:l.length)>0?r.id:Wf++,m=this.toasts.find(b=>b.id===f),h=r.dismissible===void 0?!0:r.dismissible;return this.dismissedToasts.has(f)&&this.dismissedToasts.delete(f),m?this.toasts=this.toasts.map(b=>b.id===f?(this.publish({...b,...r,id:f,title:a}),{...b,...r,id:f,dismissible:h,title:a}):b):this.addToast({title:a,...u,dismissible:h,id:f}),f},this.dismiss=r=>(r?(this.dismissedToasts.add(r),requestAnimationFrame(()=>this.subscribers.forEach(l=>l({id:r,dismiss:!0})))):this.toasts.forEach(l=>{this.subscribers.forEach(a=>a({id:l.id,dismiss:!0}))}),r),this.message=(r,l)=>this.create({...l,message:r}),this.error=(r,l)=>this.create({...l,message:r,type:"error"}),this.success=(r,l)=>this.create({...l,type:"success",message:r}),this.info=(r,l)=>this.create({...l,type:"info",message:r}),this.warning=(r,l)=>this.create({...l,type:"warning",message:r}),this.loading=(r,l)=>this.create({...l,type:"loading",message:r}),this.promise=(r,l)=>{if(!l)return;let a;l.loading!==void 0&&(a=this.create({...l,promise:r,type:"loading",message:l.loading,description:typeof l.description!="function"?l.description:void 0}));const u=Promise.resolve(r instanceof Function?r():r);let f=a!==void 0,m;const h=u.then(async p=>{if(m=["resolve",p],Ne.isValidElement(p))f=!1,this.create({id:a,type:"default",message:p});else if(wR(p)&&!p.ok){f=!1;const g=typeof l.error=="function"?await l.error(`HTTP error! status: ${p.status}`):l.error,S=typeof l.description=="function"?await l.description(`HTTP error! status: ${p.status}`):l.description,T=typeof g=="object"&&!Ne.isValidElement(g)?g:{message:g};this.create({id:a,type:"error",description:S,...T})}else if(p instanceof Error){f=!1;const g=typeof l.error=="function"?await l.error(p):l.error,S=typeof l.description=="function"?await l.description(p):l.description,T=typeof g=="object"&&!Ne.isValidElement(g)?g:{message:g};this.create({id:a,type:"error",description:S,...T})}else if(l.success!==void 0){f=!1;const g=typeof l.success=="function"?await l.success(p):l.success,S=typeof l.description=="function"?await l.description(p):l.description,T=typeof g=="object"&&!Ne.isValidElement(g)?g:{message:g};this.create({id:a,type:"success",description:S,...T})}}).catch(async p=>{if(m=["reject",p],l.error!==void 0){f=!1;const v=typeof l.error=="function"?await l.error(p):l.error,g=typeof l.description=="function"?await l.description(p):l.description,N=typeof v=="object"&&!Ne.isValidElement(v)?v:{message:v};this.create({id:a,type:"error",description:g,...N})}}).finally(()=>{f&&(this.dismiss(a),a=void 0),l.finally==null||l.finally.call(l)}),b=()=>new Promise((p,v)=>h.then(()=>m[0]==="reject"?v(m[1]):p(m[1])).catch(v));return typeof a!="string"&&typeof a!="number"?{unwrap:b}:Object.assign(a,{unwrap:b})},this.custom=(r,l)=>{const a=l?.id||Wf++;return this.create({jsx:r(a),id:a,...l}),a},this.getActiveToasts=()=>this.toasts.filter(r=>!this.dismissedToasts.has(r.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const Rn=new NR,TR=(n,r)=>{const l=r?.id||Wf++;return Rn.addToast({title:n,...r,id:l}),l},wR=n=>n&&typeof n=="object"&&"ok"in n&&typeof n.ok=="boolean"&&"status"in n&&typeof n.status=="number",jR=TR,CR=()=>Rn.toasts,OR=()=>Rn.getActiveToasts(),oy=Object.assign(jR,{success:Rn.success,info:Rn.info,warning:Rn.warning,error:Rn.error,custom:Rn.custom,message:Rn.message,promise:Rn.promise,dismiss:Rn.dismiss,loading:Rn.loading},{getHistory:CR,getToasts:OR});mR("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");function ic(n){return n.label!==void 0}const RR=3,kR="24px",_R="16px",ay=4e3,AR=356,MR=14,DR=45,zR=200;function gs(...n){return n.filter(Boolean).join(" ")}function LR(n){const[r,l]=n.split("-"),a=[];return r&&a.push(r),l&&a.push(l),a}const UR=n=>{var r,l,a,u,f,m,h,b,p;const{invert:v,toast:g,unstyled:S,interacting:N,setHeights:T,visibleToasts:_,heights:k,index:E,toasts:j,expanded:D,removeToast:O,defaultRichColors:V,closeButton:R,style:H,cancelButtonStyle:A,actionButtonStyle:$,className:se="",descriptionClassName:he="",duration:re,position:F,gap:ne,expandByDefault:Q,classNames:C,icons:U,closeButtonAriaLabel:q="Close toast"}=n,[P,B]=Ne.useState(null),[M,z]=Ne.useState(null),[L,I]=Ne.useState(!1),[K,W]=Ne.useState(!1),[Se,ie]=Ne.useState(!1),[de,ze]=Ne.useState(!1),[Ge,Ee]=Ne.useState(!1),[ke,Ae]=Ne.useState(0),[pe,Me]=Ne.useState(0),we=Ne.useRef(g.duration||re||ay),He=Ne.useRef(null),ge=Ne.useRef(null),Oe=E===0,_e=E+1<=_,Re=g.type,ft=g.dismissible!==!1,ce=g.className||"",G=g.descriptionClassName||"",ue=Ne.useMemo(()=>k.findIndex(Pe=>Pe.toastId===g.id)||0,[k,g.id]),Z=Ne.useMemo(()=>{var Pe;return(Pe=g.closeButton)!=null?Pe:R},[g.closeButton,R]),ye=Ne.useMemo(()=>g.duration||re||ay,[g.duration,re]),Ve=Ne.useRef(0),be=Ne.useRef(0),Te=Ne.useRef(0),Xe=Ne.useRef(null),[We,le]=F.split("-"),je=Ne.useMemo(()=>k.reduce((Pe,St,zt)=>zt>=ue?Pe:Pe+St.height,0),[k,ue]),Ce=ER(),xt=g.invert||v,pt=Re==="loading";be.current=Ne.useMemo(()=>ue*ne+je,[ue,je]),Ne.useEffect(()=>{we.current=ye},[ye]),Ne.useEffect(()=>{I(!0)},[]),Ne.useEffect(()=>{const Pe=ge.current;if(Pe){const St=Pe.getBoundingClientRect().height;return Me(St),T(zt=>[{toastId:g.id,height:St,position:g.position},...zt]),()=>T(zt=>zt.filter(Gt=>Gt.toastId!==g.id))}},[T,g.id]),Ne.useLayoutEffect(()=>{if(!L)return;const Pe=ge.current,St=Pe.style.height;Pe.style.height="auto";const zt=Pe.getBoundingClientRect().height;Pe.style.height=St,Me(zt),T(Gt=>Gt.find(Mt=>Mt.toastId===g.id)?Gt.map(Mt=>Mt.toastId===g.id?{...Mt,height:zt}:Mt):[{toastId:g.id,height:zt,position:g.position},...Gt])},[L,g.title,g.description,T,g.id,g.jsx,g.action,g.cancel]);const De=Ne.useCallback(()=>{W(!0),Ae(be.current),T(Pe=>Pe.filter(St=>St.toastId!==g.id)),setTimeout(()=>{O(g)},zR)},[g,O,T,be]);Ne.useEffect(()=>{if(g.promise&&Re==="loading"||g.duration===1/0||g.type==="loading")return;let Pe;return D||N||Ce?(()=>{if(Te.current<Ve.current){const Gt=new Date().getTime()-Ve.current;we.current=we.current-Gt}Te.current=new Date().getTime()})():we.current!==1/0&&(Ve.current=new Date().getTime(),Pe=setTimeout(()=>{g.onAutoClose==null||g.onAutoClose.call(g,g),De()},we.current)),()=>clearTimeout(Pe)},[D,N,g,Re,Ce,De]),Ne.useEffect(()=>{g.delete&&(De(),g.onDismiss==null||g.onDismiss.call(g,g))},[De,g.delete]);function bt(){var Pe;if(U?.loading){var St;return Ne.createElement("div",{className:gs(C?.loader,g==null||(St=g.classNames)==null?void 0:St.loader,"sonner-loader"),"data-visible":Re==="loading"},U.loading)}return Ne.createElement(gR,{className:gs(C?.loader,g==null||(Pe=g.classNames)==null?void 0:Pe.loader),visible:Re==="loading"})}const Kt=g.icon||U?.[Re]||hR(Re);var $t,Qt;return Ne.createElement("li",{tabIndex:0,ref:ge,className:gs(se,ce,C?.toast,g==null||(r=g.classNames)==null?void 0:r.toast,C?.default,C?.[Re],g==null||(l=g.classNames)==null?void 0:l[Re]),"data-sonner-toast":"","data-rich-colors":($t=g.richColors)!=null?$t:V,"data-styled":!(g.jsx||g.unstyled||S),"data-mounted":L,"data-promise":!!g.promise,"data-swiped":Ge,"data-removed":K,"data-visible":_e,"data-y-position":We,"data-x-position":le,"data-index":E,"data-front":Oe,"data-swiping":Se,"data-dismissible":ft,"data-type":Re,"data-invert":xt,"data-swipe-out":de,"data-swipe-direction":M,"data-expanded":!!(D||Q&&L),"data-testid":g.testId,style:{"--index":E,"--toasts-before":E,"--z-index":j.length-E,"--offset":`${K?ke:be.current}px`,"--initial-height":Q?"auto":`${pe}px`,...H,...g.style},onDragEnd:()=>{ie(!1),B(null),Xe.current=null},onPointerDown:Pe=>{Pe.button!==2&&(pt||!ft||(He.current=new Date,Ae(be.current),Pe.target.setPointerCapture(Pe.pointerId),Pe.target.tagName!=="BUTTON"&&(ie(!0),Xe.current={x:Pe.clientX,y:Pe.clientY})))},onPointerUp:()=>{var Pe,St,zt;if(de||!ft)return;Xe.current=null;const Gt=Number(((Pe=ge.current)==null?void 0:Pe.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),Gn=Number(((St=ge.current)==null?void 0:St.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),Mt=new Date().getTime()-((zt=He.current)==null?void 0:zt.getTime()),ln=P==="x"?Gt:Gn,Cs=Math.abs(ln)/Mt;if(Math.abs(ln)>=DR||Cs>.11){Ae(be.current),g.onDismiss==null||g.onDismiss.call(g,g),z(P==="x"?Gt>0?"right":"left":Gn>0?"down":"up"),De(),ze(!0);return}else{var on,dn;(on=ge.current)==null||on.style.setProperty("--swipe-amount-x","0px"),(dn=ge.current)==null||dn.style.setProperty("--swipe-amount-y","0px")}Ee(!1),ie(!1),B(null)},onPointerMove:Pe=>{var St,zt,Gt;if(!Xe.current||!ft||((St=window.getSelection())==null?void 0:St.toString().length)>0)return;const Mt=Pe.clientY-Xe.current.y,ln=Pe.clientX-Xe.current.x;var Cs;const on=(Cs=n.swipeDirections)!=null?Cs:LR(F);!P&&(Math.abs(ln)>1||Math.abs(Mt)>1)&&B(Math.abs(ln)>Math.abs(Mt)?"x":"y");let dn={x:0,y:0};const tr=Mn=>1/(1.5+Math.abs(Mn)/20);if(P==="y"){if(on.includes("top")||on.includes("bottom"))if(on.includes("top")&&Mt<0||on.includes("bottom")&&Mt>0)dn.y=Mt;else{const Mn=Mt*tr(Mt);dn.y=Math.abs(Mn)<Math.abs(Mt)?Mn:Mt}}else if(P==="x"&&(on.includes("left")||on.includes("right")))if(on.includes("left")&&ln<0||on.includes("right")&&ln>0)dn.x=ln;else{const Mn=ln*tr(ln);dn.x=Math.abs(Mn)<Math.abs(ln)?Mn:ln}(Math.abs(dn.x)>0||Math.abs(dn.y)>0)&&Ee(!0),(zt=ge.current)==null||zt.style.setProperty("--swipe-amount-x",`${dn.x}px`),(Gt=ge.current)==null||Gt.style.setProperty("--swipe-amount-y",`${dn.y}px`)}},Z&&!g.jsx&&Re!=="loading"?Ne.createElement("button",{"aria-label":q,"data-disabled":pt,"data-close-button":!0,onClick:pt||!ft?()=>{}:()=>{De(),g.onDismiss==null||g.onDismiss.call(g,g)},className:gs(C?.closeButton,g==null||(a=g.classNames)==null?void 0:a.closeButton)},(Qt=U?.close)!=null?Qt:SR):null,(Re||g.icon||g.promise)&&g.icon!==null&&(U?.[Re]!==null||g.icon)?Ne.createElement("div",{"data-icon":"",className:gs(C?.icon,g==null||(u=g.classNames)==null?void 0:u.icon)},g.promise||g.type==="loading"&&!g.icon?g.icon||bt():null,g.type!=="loading"?Kt:null):null,Ne.createElement("div",{"data-content":"",className:gs(C?.content,g==null||(f=g.classNames)==null?void 0:f.content)},Ne.createElement("div",{"data-title":"",className:gs(C?.title,g==null||(m=g.classNames)==null?void 0:m.title)},g.jsx?g.jsx:typeof g.title=="function"?g.title():g.title),g.description?Ne.createElement("div",{"data-description":"",className:gs(he,G,C?.description,g==null||(h=g.classNames)==null?void 0:h.description)},typeof g.description=="function"?g.description():g.description):null),Ne.isValidElement(g.cancel)?g.cancel:g.cancel&&ic(g.cancel)?Ne.createElement("button",{"data-button":!0,"data-cancel":!0,style:g.cancelButtonStyle||A,onClick:Pe=>{ic(g.cancel)&&ft&&(g.cancel.onClick==null||g.cancel.onClick.call(g.cancel,Pe),De())},className:gs(C?.cancelButton,g==null||(b=g.classNames)==null?void 0:b.cancelButton)},g.cancel.label):null,Ne.isValidElement(g.action)?g.action:g.action&&ic(g.action)?Ne.createElement("button",{"data-button":!0,"data-action":!0,style:g.actionButtonStyle||$,onClick:Pe=>{ic(g.action)&&(g.action.onClick==null||g.action.onClick.call(g.action,Pe),!Pe.defaultPrevented&&De())},className:gs(C?.actionButton,g==null||(p=g.classNames)==null?void 0:p.actionButton)},g.action.label):null)};function iy(){if(typeof window>"u"||typeof document>"u")return"ltr";const n=document.documentElement.getAttribute("dir");return n==="auto"||!n?window.getComputedStyle(document.documentElement).direction:n}function IR(n,r){const l={};return[n,r].forEach((a,u)=>{const f=u===1,m=f?"--mobile-offset":"--offset",h=f?_R:kR;function b(p){["top","right","bottom","left"].forEach(v=>{l[`${m}-${v}`]=typeof p=="number"?`${p}px`:p})}typeof a=="number"||typeof a=="string"?b(a):typeof a=="object"?["top","right","bottom","left"].forEach(p=>{a[p]===void 0?l[`${m}-${p}`]=h:l[`${m}-${p}`]=typeof a[p]=="number"?`${a[p]}px`:a[p]}):b(h)}),l}const HR=Ne.forwardRef(function(r,l){const{id:a,invert:u,position:f="bottom-right",hotkey:m=["altKey","KeyT"],expand:h,closeButton:b,className:p,offset:v,mobileOffset:g,theme:S="light",richColors:N,duration:T,style:_,visibleToasts:k=RR,toastOptions:E,dir:j=iy(),gap:D=MR,icons:O,containerAriaLabel:V="Notifications"}=r,[R,H]=Ne.useState([]),A=Ne.useMemo(()=>a?R.filter(L=>L.toasterId===a):R.filter(L=>!L.toasterId),[R,a]),$=Ne.useMemo(()=>Array.from(new Set([f].concat(A.filter(L=>L.position).map(L=>L.position)))),[A,f]),[se,he]=Ne.useState([]),[re,F]=Ne.useState(!1),[ne,Q]=Ne.useState(!1),[C,U]=Ne.useState(S!=="system"?S:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),q=Ne.useRef(null),P=m.join("+").replace(/Key/g,"").replace(/Digit/g,""),B=Ne.useRef(null),M=Ne.useRef(!1),z=Ne.useCallback(L=>{H(I=>{var K;return(K=I.find(W=>W.id===L.id))!=null&&K.delete||Rn.dismiss(L.id),I.filter(({id:W})=>W!==L.id)})},[]);return Ne.useEffect(()=>Rn.subscribe(L=>{if(L.dismiss){requestAnimationFrame(()=>{H(I=>I.map(K=>K.id===L.id?{...K,delete:!0}:K))});return}setTimeout(()=>{Cw.flushSync(()=>{H(I=>{const K=I.findIndex(W=>W.id===L.id);return K!==-1?[...I.slice(0,K),{...I[K],...L},...I.slice(K+1)]:[L,...I]})})})}),[R]),Ne.useEffect(()=>{if(S!=="system"){U(S);return}if(S==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?U("dark"):U("light")),typeof window>"u")return;const L=window.matchMedia("(prefers-color-scheme: dark)");try{L.addEventListener("change",({matches:I})=>{U(I?"dark":"light")})}catch{L.addListener(({matches:K})=>{try{U(K?"dark":"light")}catch(W){console.error(W)}})}},[S]),Ne.useEffect(()=>{R.length<=1&&F(!1)},[R]),Ne.useEffect(()=>{const L=I=>{var K;if(m.every(ie=>I[ie]||I.code===ie)){var Se;F(!0),(Se=q.current)==null||Se.focus()}I.code==="Escape"&&(document.activeElement===q.current||(K=q.current)!=null&&K.contains(document.activeElement))&&F(!1)};return document.addEventListener("keydown",L),()=>document.removeEventListener("keydown",L)},[m]),Ne.useEffect(()=>{if(q.current)return()=>{B.current&&(B.current.focus({preventScroll:!0}),B.current=null,M.current=!1)}},[q.current]),Ne.createElement("section",{ref:l,"aria-label":`${V} ${P}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},$.map((L,I)=>{var K;const[W,Se]=L.split("-");return A.length?Ne.createElement("ol",{key:L,dir:j==="auto"?iy():j,tabIndex:-1,ref:q,className:p,"data-sonner-toaster":!0,"data-sonner-theme":C,"data-y-position":W,"data-x-position":Se,style:{"--front-toast-height":`${((K=se[0])==null?void 0:K.height)||0}px`,"--width":`${AR}px`,"--gap":`${D}px`,..._,...IR(v,g)},onBlur:ie=>{M.current&&!ie.currentTarget.contains(ie.relatedTarget)&&(M.current=!1,B.current&&(B.current.focus({preventScroll:!0}),B.current=null))},onFocus:ie=>{ie.target instanceof HTMLElement&&ie.target.dataset.dismissible==="false"||M.current||(M.current=!0,B.current=ie.relatedTarget)},onMouseEnter:()=>F(!0),onMouseMove:()=>F(!0),onMouseLeave:()=>{ne||F(!1)},onDragEnd:()=>F(!1),onPointerDown:ie=>{ie.target instanceof HTMLElement&&ie.target.dataset.dismissible==="false"||Q(!0)},onPointerUp:()=>Q(!1)},A.filter(ie=>!ie.position&&I===0||ie.position===L).map((ie,de)=>{var ze,Ge;return Ne.createElement(UR,{key:ie.id,icons:O,index:de,toast:ie,defaultRichColors:N,duration:(ze=E?.duration)!=null?ze:T,className:E?.className,descriptionClassName:E?.descriptionClassName,invert:u,visibleToasts:k,closeButton:(Ge=E?.closeButton)!=null?Ge:b,interacting:ne,position:L,style:E?.style,unstyled:E?.unstyled,classNames:E?.classNames,cancelButtonStyle:E?.cancelButtonStyle,actionButtonStyle:E?.actionButtonStyle,closeButtonAriaLabel:E?.closeButtonAriaLabel,removeToast:z,toasts:A.filter(Ee=>Ee.position==ie.position),heights:se.filter(Ee=>Ee.position==ie.position),setHeights:he,expandByDefault:h,gap:D,expanded:re,swipeDirections:r.swipeDirections})})):null}))}),$0=x.createContext(!1),Q0=x.createContext(void 0);function yl(n){const r=x.useContext(Q0);if(n===!1&&r===void 0)throw new Error(rs(27));return r}const BR={...Dc,...wm},YR=x.forwardRef(function(r,l){const{render:a,className:u,style:f,forceRender:m=!1,...h}=r,{store:b}=yl(),p=b.useState("open"),v=b.useState("nested"),g=b.useState("mounted"),S=b.useState("transitionStatus");return yn("div",r,{state:{open:p,transitionStatus:S},ref:[b.context.backdropRef,l],stateAttributesMapping:BR,props:[{role:"presentation",hidden:!g,style:{userSelect:"none",WebkitUserSelect:"none"}},h],enabled:m||!v})}),Z0=x.forwardRef(function(r,l){const{render:a,className:u,style:f,disabled:m=!1,nativeButton:h=!0,...b}=r,{store:p}=yl(),v=p.useState("open"),{getButtonProps:g,buttonRef:S}=Mc({disabled:m,native:h}),N={disabled:m};function T(_){v&&p.setOpen(!1,Tt(cw,_.nativeEvent))}return yn("button",r,{state:N,ref:[l,S],props:[{onClick:T},b,g]})}),VR=x.forwardRef(function(r,l){const{render:a,className:u,style:f,id:m,...h}=r,{store:b}=yl(),p=No(m);return b.useSyncedValueWithCleanup("descriptionElementId",p),yn("p",r,{ref:l,props:[{id:p},h]})});let qR=(function(n){return n.nestedDialogs="--nested-dialogs",n})({}),GR=(function(n){return n[n.open=il.open]="open",n[n.closed=il.closed]="closed",n[n.startingStyle=il.startingStyle]="startingStyle",n[n.endingStyle=il.endingStyle]="endingStyle",n.nested="data-nested",n.nestedDialogOpen="data-nested-dialog-open",n})({});const J0=x.createContext(void 0);function XR(){const n=x.useContext(J0);if(n===void 0)throw new Error(rs(26));return n}const PR={...Dc,...wm,nestedDialogOpen(n){return n?{[GR.nestedDialogOpen]:""}:null}},FR=x.forwardRef(function(r,l){const{render:a,className:u,style:f,finalFocus:m,initialFocus:h,...b}=r,{store:p}=yl(),v=p.useState("descriptionElementId"),g=p.useState("disablePointerDismissal"),S=p.useState("floatingRootContext"),N=p.useState("popupProps"),T=p.useState("modal"),_=p.useState("mounted"),k=p.useState("nested"),E=p.useState("nestedOpenDialogCount"),j=p.useState("open"),D=p.useState("openMethod"),O=p.useState("titleElementId"),V=p.useState("transitionStatus"),R=p.useState("role"),H=S.useState("floatingId"),A=b.id??H;XR(),_m({open:j,ref:p.context.popupRef,onComplete(){j&&p.context.onOpenChangeComplete?.(!0)}});const $=h===void 0?CC(p.context.popupRef):h,se=E>0,he=p.useStateSetter("popupElement"),F=yn("div",r,{state:{open:j,nested:k,transitionStatus:V,nestedDialogOpen:se},props:[N,{id:A,"aria-labelledby":O??void 0,"aria-describedby":v??void 0,role:R,...T0,hidden:!_,onKeyDown(ne){D0.has(ne.key)&&ne.stopPropagation()},style:{[qR.nestedDialogs]:E}},b],ref:[l,p.context.popupRef,he],stateAttributesMapping:PR});return i.jsx(c0,{context:S,openInteractionType:D,disabled:!_,closeOnFocusOut:!g,initialFocus:$,returnFocus:m,modal:T!==!1,restoreFocus:"popup",children:F})}),KR=x.forwardRef(function(r,l){const{keepMounted:a=!1,...u}=r,{store:f}=yl(),m=f.useState("mounted"),h=f.useState("modal"),b=f.useState("open");return m||a?i.jsx(J0.Provider,{value:a,children:i.jsxs(r0,{ref:l,...u,children:[m&&h===!0&&i.jsx(B0,{ref:f.context.internalBackdropRef,inert:U0(!b)}),r.children]})}):null});function $R(n){const{store:r,actionsRef:l}=n,a=r.useState("open");MC(r,a),j0(r);const{forceUnmount:u}=C0(a,r),f=x.useCallback(()=>{r.setOpen(!1,Tt(Av))},[r]);x.useImperativeHandle(l,()=>({unmount:u,close:f}),[u,f])}function QR({store:n,parentContext:r,isDrawer:l}){const a=n.useState("open"),u=n.useState("disablePointerDismissal"),f=n.useState("modal"),m=n.useState("popupElement"),h=n.useState("floatingRootContext"),[b,p]=x.useState(0),[v,g]=x.useState(0),S=b===0,N=u0(h,{outsidePressEvent(){return n.context.internalBackdropRef.current||n.context.backdropRef.current?"intentional":{mouse:f==="trap-focus"?"sloppy":"intentional",touch:"sloppy"}},outsidePress(E){if(!n.context.outsidePressEnabledRef.current||"button"in E&&E.button!==0||"touches"in E&&E.touches.length!==1)return!1;const j=_n(E);return S&&!u?f&&(n.context.internalBackdropRef.current||n.context.backdropRef.current)?n.context.internalBackdropRef.current===j||n.context.backdropRef.current===j||Je(j,m)&&!j?.hasAttribute("data-base-ui-portal"):!0:!1},escapeKey:S});Y0(a&&f===!0,m),n.useContextCallback("onNestedDialogOpen",(E,j)=>{p(E),g(j)}),n.useContextCallback("onNestedDialogClose",()=>{p(0),g(0)}),x.useEffect(()=>(r?.onNestedDialogOpen&&a&&r.onNestedDialogOpen(b+1,v+(l?1:0)),r?.onNestedDialogClose&&!a&&r.onNestedDialogClose(),()=>{r?.onNestedDialogClose&&a&&r.onNestedDialogClose()}),[l,a,b,v,r]);const T=N.reference??Bt,_=N.trigger??Bt,k=N.floating??Bt;return O0(n,{activeTriggerProps:T,inactiveTriggerProps:_,popupProps:k,nestedOpenDialogCount:b,nestedOpenDrawerCount:v}),null}const ZR={..._0,modal:Qe(n=>n.modal),nested:Qe(n=>n.nested),nestedOpenDialogCount:Qe(n=>n.nestedOpenDialogCount),nestedOpenDrawerCount:Qe(n=>n.nestedOpenDrawerCount),disablePointerDismissal:Qe(n=>n.disablePointerDismissal),openMethod:Qe(n=>n.openMethod),descriptionElementId:Qe(n=>n.descriptionElementId),titleElementId:Qe(n=>n.titleElementId),viewportElement:Qe(n=>n.viewportElement),role:Qe(n=>n.role)};class Xm extends Ym{constructor(r,l,a=!1){const u=new Xc,f=JR(r);f.floatingRootContext=zC(u,l,a),super(f,{popupRef:x.createRef(),backdropRef:x.createRef(),internalBackdropRef:x.createRef(),outsidePressEnabledRef:{current:!0},triggerElements:u,onOpenChange:void 0,onOpenChangeComplete:void 0},ZR)}setOpen=(r,l)=>{if(l.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},!r&&l.trigger==null&&this.state.activeTriggerId!=null&&(l.trigger=this.state.activeTriggerElement??void 0),this.context.onOpenChange?.(r,l),l.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(r,l);const a={open:r};w0(a,r,l.trigger),this.update(a)};static useStore(r,l){return OC(r,(u,f)=>new Xm(l,u,f),!0).store}}function JR(n={}){return{...R0(),modal:!0,disablePointerDismissal:!1,popupElement:null,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,nestedOpenDrawerCount:0,role:"dialog",...n}}function WR(n,r="dialog"){const{children:l,open:a,defaultOpen:u=!1,onOpenChange:f,onOpenChangeComplete:m,disablePointerDismissal:h=!1,modal:b=!0,actionsRef:p,handle:v,triggerId:g,defaultTriggerId:S=null}=n,N=r==="drawer",T=r==="alert-dialog",_=T?!0:b,k=T||h,E=T?"alertdialog":"dialog",j=yl(!0),O={modal:_,disablePointerDismissal:k,nested:!!j,role:E},V=Xm.useStore(v?.store,{open:u,openProp:a,activeTriggerId:S,triggerIdProp:g,...O});b0(()=>{const he=a===void 0&&V.state.open===!1&&u===!0?{open:!0,activeTriggerId:S}:null;T?V.update(he?{...O,...he}:O):he&&V.update(he)}),V.useControlledProp("openProp",a),V.useControlledProp("triggerIdProp",g),V.useSyncedValues(O),V.useContextCallback("onOpenChange",f),V.useContextCallback("onOpenChangeComplete",m);const R=V.useState("open"),H=V.useState("mounted"),A=V.useState("payload");$R({store:V,actionsRef:p});const $=R||H,se=x.useMemo(()=>({store:V}),[V]);return i.jsx($0.Provider,{value:!1,children:i.jsxs(Q0.Provider,{value:se,children:[$&&i.jsx(QR,{store:V,parentContext:j?.store.context,isDrawer:N}),typeof l=="function"?l({payload:A}):l]})})}function ek(n){const r=x.useContext($0)?"drawer":"dialog";return WR(n,r)}const tk=x.forwardRef(function(r,l){const{render:a,className:u,style:f,id:m,...h}=r,{store:b}=yl(),p=No(m);return b.useSyncedValueWithCleanup("titleElementId",p),yn("h2",r,{ref:l,props:[{id:p},h]})});function ys({...n}){return i.jsx(ek,{"data-slot":"dialog",...n})}function nk({...n}){return i.jsx(KR,{"data-slot":"dialog-portal",...n})}function sk({className:n,...r}){return i.jsx(YR,{"data-slot":"dialog-overlay",className:tt("fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",n),...r})}function vs({className:n,children:r,showCloseButton:l=!0,...a}){return i.jsxs(nk,{children:[i.jsx(sk,{}),i.jsxs(FR,{"data-slot":"dialog-content",className:tt("fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none max-w-lg data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",n),...a,children:[r,l&&i.jsxs(Z0,{"data-slot":"dialog-close",render:i.jsx(ve,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm"}),children:[i.jsx(_r,{}),i.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function Ss({className:n,...r}){return i.jsx("div",{"data-slot":"dialog-header",className:tt("flex flex-col gap-2",n),...r})}function Es({className:n,showCloseButton:r=!1,children:l,...a}){return i.jsxs("div",{"data-slot":"dialog-footer",className:tt("-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end",n),...a,children:[l,r&&i.jsx(Z0,{render:i.jsx(ve,{variant:"outline"}),children:"Close"})]})}function Ns({className:n,...r}){return i.jsx(tk,{"data-slot":"dialog-title",className:tt("font-heading text-base leading-none font-medium",n),...r})}function cy({className:n,...r}){return i.jsx(VR,{"data-slot":"dialog-description",className:tt("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",n),...r})}const ts={volume:"卷",chapter:"章",scene:"场"},rk={volume:"chapter",chapter:"scene",scene:null};function hl({title:n,description:r,confirmLabel:l,danger:a=!1,onConfirm:u,onClose:f}){const[m,h]=x.useState(null),[b,p]=x.useState(!1);async function v(){p(!0),h(null);try{await u(),f()}catch(g){h(g instanceof Ke?g.message:"操作失败,请稍后重试")}finally{p(!1)}}return i.jsx(ys,{open:!0,onOpenChange:g=>!g&&f(),children:i.jsxs(vs,{className:"sm:max-w-md",children:[i.jsx(Ss,{children:i.jsx(Ns,{children:n})}),i.jsx("p",{className:"text-sm text-muted-foreground",children:r}),m&&i.jsx("p",{className:"mt-2 text-sm text-destructive",children:m}),i.jsxs(Es,{children:[i.jsx(ve,{variant:"outline",type:"button",onClick:f,disabled:b,children:"取消"}),i.jsx(ve,{variant:a?"destructive":"default",type:"button",onClick:()=>{v()},disabled:b,children:l})]})]})})}const uy="ai-editor:theme";function W0(){const[n,r]=x.useState("light");x.useEffect(()=>{const u=localStorage.getItem(uy)==="dark"?"dark":"light";r(u),document.documentElement.classList.toggle("dark",u==="dark")},[]);function l(){const a=n==="dark"?"light":"dark";localStorage.setItem(uy,a),document.documentElement.classList.toggle("dark",a==="dark"),r(a)}return{theme:n,toggleTheme:l}}const lk=({...n})=>{const{theme:r="light"}=W0();return i.jsx(HR,{theme:r,position:"top-right",className:"toaster group",icons:{success:i.jsx(im,{className:"size-4"}),info:i.jsx(Xy,{className:"size-4"}),warning:i.jsx(dm,{className:"size-4"}),error:i.jsx(CN,{className:"size-4"}),loading:i.jsx(cm,{className:"size-4 animate-spin"})},style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius)"},toastOptions:{classNames:{toast:"cn-toast"}},...n})};function ok(n,r){return n!==null&&n.id!==r}function ak(){const n=Ie(l=>l.confirmState),r=Ie(l=>l.resolveConfirm);return n===null?null:i.jsx(hl,{title:n.title,description:n.description??"",confirmLabel:"确认",danger:n.danger,onConfirm:async()=>r(!0),onClose:()=>r(!1)})}function ik(){const n=Ie(u=>u.toast),r=Ie(u=>u.error),l=Ie(u=>u.clearError),a=x.useRef(null);return x.useEffect(()=>{!n||!ok(n,a.current)||(a.current=n.id,n.kind==="error"?oy.error(n.text,{duration:Uf}):oy.success(n.text,{duration:Uf}))},[n]),i.jsxs(i.Fragment,{children:[i.jsx(lk,{}),i.jsx(ak,{}),r&&i.jsxs("div",{role:"alert",className:"fixed top-4 left-1/2 z-50 flex w-[min(92vw,32rem)] -translate-x-1/2 items-center gap-2 rounded-lg border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive shadow-lg",children:[i.jsx(am,{className:"size-4 shrink-0"}),i.jsx("p",{className:"min-w-0 flex-1",children:r.message}),i.jsx("button",{type:"button","aria-label":"关闭错误提示",onClick:l,className:"shrink-0 rounded p-0.5 hover:bg-destructive/15",children:i.jsx(_r,{className:"size-4"})})]})]})}function ck({chatOpen:n,onToggleChat:r}){const l=Fe(v=>v.config),a=Fe(v=>v.configLoading),u=Fe(v=>v.outline),f=Ie(v=>v.setFocusOutlineNode),m=Ie(v=>v.notifyDataChanged),h=Ky("(min-width: 1024px)"),b=l?.currentPosition!=null?tv(u,l.currentPosition)??l.currentPosition:null,p=a?"加载中…":l?.name??"书架";return i.jsxs("div",{className:"flex h-12 shrink-0 items-center gap-3 border-b border-border px-4",children:[i.jsxs("a",{href:"#/",className:"flex min-w-0 items-center gap-1.5 font-serif text-base font-medium text-foreground hover:text-primary",children:[i.jsx("span",{className:"text-primary",children:"◈"}),i.jsx("span",{className:"truncate",children:p})]}),i.jsxs("a",{href:"#/outline",onClick:()=>{l?.currentPosition!=null&&f(l.currentPosition)},title:l?.currentPosition!=null?"跳转大纲并定位该节点":void 0,className:"flex min-w-0 items-center gap-1 text-sm text-muted-foreground transition-colors hover:text-foreground",children:[i.jsx("span",{className:"shrink-0",children:"当前位置:"}),i.jsx("span",{className:"truncate text-foreground",children:b??"未设置"})]}),i.jsx(ve,{variant:"ghost",size:"icon-sm",className:"ml-auto shrink-0 text-muted-foreground",onClick:m,"aria-label":"刷新数据",title:"刷新数据",children:i.jsx(DN,{className:"size-4"})}),i.jsxs("span",{className:"shrink-0 text-sm text-muted-foreground",children:["语言: ",l?.language??"—"]}),!h&&i.jsx(ve,{variant:"ghost",size:"icon-sm",className:n?"bg-secondary text-foreground":"text-muted-foreground",onClick:r,"aria-label":n?"关闭聊天面板":"打开聊天面板",children:i.jsx(Oa,{className:"size-4"})})]})}const uk=[{label:"概览",href:"#/",segment:null,icon:pN},{label:"大纲",href:"#/outline",segment:"outline",icon:xN},{label:"画布",href:"#/canvas",segment:"canvas",icon:VN},{label:"实体关系",href:"#/entities/character",segment:"entities",icon:wN},{label:"伏笔",href:"#/hooks",segment:"hooks",icon:AN},{label:"回收站",href:"#/trash",segment:"trash",icon:Fy}];function dk({route:n}){const r=n.segments[0]??null;return i.jsx("nav",{"aria-label":"页面导航",className:"flex items-center gap-1 rounded-lg bg-secondary/30 p-1",children:uk.map(l=>{const a=l.icon,u=r===l.segment;return i.jsxs("a",{href:l.href,"aria-current":u?"page":void 0,className:tt("flex min-w-0 flex-1 items-center justify-center gap-1.5 rounded-md px-2 py-1.5 text-sm text-muted-foreground transition-colors hover:text-foreground",u&&"bg-card text-foreground shadow-sm"),children:[i.jsx(a,{className:"size-4 shrink-0"}),i.jsx("span",{className:"truncate",children:l.label})]},l.label)})})}function fk({route:n,chatOpen:r,onToggleChat:l,children:a}){const u=Fe(f=>f.loadConfig);return x.useEffect(()=>{u()},[u]),i.jsxs("main",{className:"flex min-w-0 flex-[5_1_50%] flex-col",children:[i.jsx(ck,{chatOpen:r,onToggleChat:l}),i.jsx("div",{className:"shrink-0 px-3 py-2",children:i.jsx(dk,{route:n})}),i.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto p-6",children:a})]})}function Ca(n){switch(n){case"INVALID_PROJECT_PATH":return"路径无效:请使用绝对路径,且目标目录须已含 project.json(不是项目目录)";case"PROJECT_ALREADY_EXISTS":return"该目录已是项目,请直接打开(书架列表或「打开其他路径」)";case"PROJECT_VERSION_NEWER":return"该项目由更高版本的 ai-editor 创建,请升级程序后再打开(避免降级导致数据丢失)";case"NO_PROJECT_OPEN":return"";case"CLIENT_NETWORK_ERROR":return"无法连接服务,请确认 ai-editor 服务已启动";default:return"操作失败,请稍后重试"}}function mk(n,r){switch(n){case"PROJECT_ALREADY_EXISTS":return"同名书籍已存在,请换一个书名";case"SCHEMA_VERSION_MISMATCH":return r;case"VALIDATION_ERROR":return r;case"NO_PROJECT_OPEN":return"";case"CLIENT_NETWORK_ERROR":return"无法连接服务,请确认 ai-editor 服务已启动";default:return"导入失败,请稍后重试"}}function hk(n,r){return n==="CLIENT_NETWORK_ERROR"?"无法连接服务,请确认 ai-editor 服务已启动":r}let dy=(function(n){return n.disabled="data-disabled",n.valid="data-valid",n.invalid="data-invalid",n.touched="data-touched",n.dirty="data-dirty",n.filled="data-filled",n.focused="data-focused",n})({});const pk={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},Ta={valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},gk={disabled:!1,...Ta},xk={valid(n){return n===null?null:n?{[dy.valid]:""}:{[dy.invalid]:""}}},bk={invalid:void 0,name:void 0,validityData:{state:pk,errors:[],error:"",value:"",initialValue:null},setValidityData:un,disabled:void 0,touched:Ta.touched,setTouched:un,dirty:Ta.dirty,setDirty:un,filled:Ta.filled,setFilled:un,focused:Ta.focused,setFocused:un,validate:()=>null,validationMode:"onSubmit",validationDebounceTime:0,shouldValidateOnChange:()=>!1,state:gk,markedDirtyRef:{current:!1},registerFieldControl:un,validation:{getValidationProps:(n,r=Bt)=>r,inputRef:{current:null},registerInput:un,commit:async()=>{},change:un}},yk=x.createContext(bk);function e1(n=!0){const r=x.useContext(yk);if(r.setValidityData===un&&!n)throw new Error(rs(28));return r}const vk=x.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:un,validationMode:"onSubmit",submitAttemptedRef:{current:!1}});function Sk(){return x.useContext(vk)}const Ek=x.createContext({controlId:void 0,registerControlId:un,labelId:void 0,setLabelId:un,messageIds:[],setMessageIds:un,getDescriptionProps:n=>n});function t1(){return x.useContext(Ek)}function Nk(n={}){const{id:r,implicit:l=!1,controlRef:a}=n,{controlId:u,registerControlId:f}=t1(),m=No(r),h=l?u:void 0,b=An(()=>Symbol("labelable-control")),p=x.useRef(!1),v=x.useRef(r!=null),g=et(()=>{!p.current||f===un||(p.current=!1,f(b.current,void 0))});return qe(()=>{if(f===un)return;let S;if(l){const N=a?.current;dt(N)&&N.closest("label")!=null?S=r??null:S=h??m}else if(r!=null)v.current=!0,S=r;else if(v.current)S=m;else{g();return}if(S===void 0){g();return}p.current=!0,f(b.current,S)},[r,a,h,f,l,m,b,g]),x.useEffect(()=>g,[g]),u??m}function Tk(n,r,l,a,u=!0,f){const{registerFieldControl:m}=e1(),h=x.useRef(null);h.current||(h.current=Symbol()),qe(()=>{const b=h.current;return!b||!u?void 0:(m(b,{controlRef:n,getValue:a,id:r,name:f,value:l}),()=>{m(b,void 0)})},[n,u,a,r,f,m,l])}const wk=x.forwardRef(function(r,l){const{render:a,className:u,id:f,name:m,value:h,disabled:b=!1,onValueChange:p,defaultValue:v,autoFocus:g=!1,style:S,...N}=r,{state:T,name:_,disabled:k,setTouched:E,setDirty:j,validityData:D,setFocused:O,setFilled:V,validationMode:R,validation:H}=e1(),{clearErrors:A}=Sk(),$=k||b,se=_??m,he={...T,disabled:$},{labelId:re}=t1(),F=Nk({id:f});qe(()=>{const B=h!=null;H.inputRef.current?.value||B&&h!==""?V(!0):B&&h===""&&V(!1)},[H.inputRef,V,h]);const ne=x.useRef(null);qe(()=>{g&&ne.current===Sn(ht(ne.current))&&O(!0)},[g,O]);const[Q]=dw({controlled:h,default:v,name:"FieldControl",state:"value"}),C=h!==void 0,U=C?Q:void 0,q=et(()=>H.inputRef.current?.value);return Tk(H.inputRef,F,U,q,!$,m),yn("input",r,{ref:[l,ne],state:he,props:[{id:F,disabled:$,name:se,ref:H.inputRef,"aria-labelledby":re,autoFocus:g,...C?{value:U}:{defaultValue:v},onChange(B){const M=B.currentTarget.value;p?.(M,Tt(kv,B.nativeEvent)),j(M!==D.initialValue),V(M!==""),B.nativeEvent.defaultPrevented||(A(se),H.change(M))},onFocus(){O(!0)},onBlur(B){E(!0),O(!1),R==="onBlur"&&H.commit(B.currentTarget.value)},onKeyDown(B){B.currentTarget.tagName==="INPUT"&&B.key==="Enter"&&(E(!0),H.commit(B.currentTarget.value))}},N,B=>H.getValidationProps($,B)],stateAttributesMapping:xk})}),jk=x.forwardRef(function(r,l){return i.jsx(wk,{ref:l,...r})});function Ft({className:n,type:r,...l}){return i.jsx(jk,{type:r,"data-slot":"input",className:tt("h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",n),...l})}function Ck(n){const r=new Date(n);if(Number.isNaN(r.getTime()))return n;const l=u=>String(u).padStart(2,"0");return r.getFullYear()===new Date().getFullYear()?`${l(r.getMonth()+1)}-${l(r.getDate())}`:`${String(r.getFullYear()).slice(-2)}-${l(r.getMonth()+1)}-${l(r.getDate())}`}function Ok(){const n=yt(m=>m.sessions),r=yt(m=>m.sessionsLoading),l=yt(m=>m.sessionsError),a=yt(m=>m.loadSessions),u=yt(m=>m.currentSessionId),f=yt(m=>m.setCurrentSession);return x.useEffect(()=>{n===null&&!r&&l===null&&a()},[n,r,l,a]),n===null?l!==null?l==="NO_PROJECT_OPEN"?i.jsx("p",{className:"ml-3 border-l border-border py-1 pl-2 text-xs text-muted-foreground/60",children:"打开项目后查看会话"}):i.jsxs("div",{className:"ml-3 border-l border-border py-1 pl-2",children:[i.jsx("p",{className:"text-xs text-muted-foreground",children:"会话加载失败"}),i.jsx(ve,{variant:"ghost",size:"xs",className:"mt-0.5",onClick:()=>{a()},children:"重试"})]}):i.jsx("p",{className:"ml-3 border-l border-border py-1 pl-2 text-xs text-muted-foreground/60",children:"会话加载中…"}):n.length===0?i.jsx("p",{className:"ml-3 border-l border-border py-1 pl-2 text-xs text-muted-foreground/60",children:"暂无会话"}):i.jsx("ul",{className:"ml-3 border-l border-border py-0.5 pl-1.5",children:n.map(m=>i.jsx("li",{children:i.jsxs("button",{type:"button",title:m.lastMessage||"空会话",onClick:()=>f(m.id),className:tt("flex h-7 w-full min-w-0 items-center gap-1.5 rounded-md px-2 text-left text-xs transition-colors",u===m.id?"bg-accent font-medium text-accent-foreground":"text-muted-foreground hover:bg-muted hover:text-foreground"),children:[i.jsx(Oa,{className:"size-3 shrink-0 opacity-70"}),i.jsx("span",{className:"min-w-0 flex-1 truncate",children:m.lastMessage||"(空会话)"}),i.jsx("span",{className:"shrink-0 text-[10px] text-muted-foreground/60",children:ul(m.updatedAt)})]})},m.id))})}function Rk(){const{theme:n,toggleTheme:r}=W0(),l=Fe(z=>z.config),a=Fe(z=>z.bookshelf),u=Fe(z=>z.bookshelfLoading),f=Fe(z=>z.bookshelfError),m=Fe(z=>z.loadBookshelf),h=Fe(z=>z.openProjectAt),b=Fe(z=>z.createProjectAt),[p,v]=x.useState(null),[g,S]=x.useState(!1),[N,T]=x.useState(""),[_,k]=x.useState(null),[E,j]=x.useState(!1),[D,O]=x.useState(!1),[V,R]=x.useState(null),[H,A]=x.useState(""),[$,se]=x.useState(null),[he,re]=x.useState(!1),[F,ne]=x.useState(!1);x.useEffect(()=>{!u&&a===null&&f===null&&m()},[u,a,f,m]);async function Q(z){try{await h(z),v(z)}catch(L){Ie.getState().showToast(Ca(L instanceof Ke?L.code:null),"error")}}const C=l?.id??null,U=x.useRef(C);x.useEffect(()=>{U.current!==C&&(U.current=C,v(null))},[C]);async function q(z){z.preventDefault();const L=N.trim();if(!L){k("请输入书名");return}if(/[\\/]|^\.+$|[\u0000-\u001f]/.test(L)){k("书名不能包含 /、\\ 或为 . / ..");return}if(!a){k("书架未加载,请稍后重试");return}j(!0),k(null);try{await b(nv(a.rootPath,L),{name:L,language:"zh"}),Ie.getState().showToast(`已创建并打开《${L}》`),await m();const I=Fe.getState().bookshelf?.books.find(K=>K.name===L);I&&v(I.path),T(""),S(!1)}catch(I){k(Ca(I instanceof Ke?I.code:null))}finally{j(!1)}}async function P(z){if(!F){ne(!0);try{const{blob:L,filename:I}=await S2(),K=URL.createObjectURL(L),W=document.createElement("a");W.href=K,W.download=I,document.body.appendChild(W),W.click(),W.remove(),setTimeout(()=>URL.revokeObjectURL(K),0),Ie.getState().showToast(`已导出《${z}》备份`)}catch(L){Ie.getState().showToast(hk(L instanceof Ke?L.code:null,L instanceof Ke?L.message:"导出失败,请重试"),"error")}finally{ne(!1)}}}function B(z){const L=z.target.files?.[0]??null;R(L),se(null),L&&A(I=>I.trim()===""?L.name.replace(/\.zip$/i,""):I)}async function M(z){z.preventDefault();const L=H.trim();if(!V){se("请选择备份文件");return}if(!L){se("请输入书名");return}if(/[\\/]|^\.+$|[\u0000-\u001f]/.test(L)){se("书名不能包含 /、\\ 或为 . / ..");return}re(!0),se(null);try{await E2(V,L),Ie.getState().showToast(`已导入《${L}》`),await m(),O(!1),R(null),A("")}catch(I){const K=mk(I instanceof Ke?I.code:null,I instanceof Ke?I.message:"导入失败,请重试");se(K),K!==""&&Ie.getState().showToast(K,"error")}finally{re(!1)}}return i.jsxs("aside",{className:"flex min-w-0 flex-[1_1_10%] flex-col border-r border-border bg-sidebar",children:[i.jsxs("a",{href:"#/",className:"flex h-12 shrink-0 items-center gap-1.5 border-b border-border px-3 font-serif text-base italic text-foreground hover:text-primary",children:[i.jsx("span",{className:"text-primary",children:"◈"}),i.jsx("span",{className:"truncate",children:"我的小说"})]}),i.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto px-2 py-2",children:[i.jsxs("div",{className:"mb-1 flex items-center justify-between px-1",children:[i.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:"书架"}),i.jsxs("div",{className:"flex items-center gap-0.5",children:[i.jsx(ve,{variant:"ghost",size:"icon-xs",onClick:()=>O(!0),"aria-label":"导入备份",title:"导入备份(zip)",children:i.jsx($N,{})}),i.jsx(ve,{variant:"ghost",size:"icon-xs",onClick:()=>S(!0),"aria-label":"新建项目",title:"新建项目",children:i.jsx(um,{})})]})]}),f!==null&&i.jsxs("div",{className:"flex flex-col items-start gap-1 px-1 py-2",children:[i.jsx("p",{className:"text-xs text-muted-foreground",children:f===jt?"无法连接服务":"书架加载失败"}),i.jsx(ve,{variant:"ghost",size:"xs",onClick:()=>{m()},children:"重试"})]}),u&&a===null&&i.jsx("div",{className:"space-y-1 px-1 py-2",children:[0,1,2].map(z=>i.jsx("div",{className:"h-8 animate-pulse rounded-lg bg-muted"},z))}),f===null&&!u&&a&&a.books.length===0&&i.jsx("p",{className:"px-1 py-2 text-xs text-muted-foreground/70",children:"还没有书,先创建一本"}),f===null&&a&&a.books.length>0&&i.jsx("ul",{className:"space-y-0.5",children:a.books.map(z=>{const L=p===z.path,I=l!==null&&z.name===l.name;return i.jsxs("li",{children:[i.jsxs("div",{className:"flex items-center",children:[i.jsxs("button",{type:"button",title:`打开《${z.name}》`,onClick:()=>{Q(z.path)},className:tt("flex h-8 min-w-0 flex-1 items-center gap-1.5 rounded-lg px-2 text-left text-sm transition-colors",I?"bg-muted font-medium text-foreground":"text-muted-foreground hover:bg-muted hover:text-foreground"),children:[i.jsx(om,{className:tt("size-3.5 shrink-0",I?"text-primary":"text-muted-foreground/60")}),i.jsx("span",{className:"min-w-0 flex-1 truncate",children:z.name}),i.jsx("span",{className:"shrink-0 text-[10px] text-muted-foreground/60",title:ws(z.updatedAt),children:Ck(z.updatedAt)})]}),I&&i.jsx("button",{type:"button",onClick:()=>{P(z.name)},disabled:F,"aria-label":`导出《${z.name}》备份`,title:"导出备份(zip)",className:"flex h-8 w-6 shrink-0 items-center justify-center rounded-lg text-muted-foreground transition-colors hover:bg-muted hover:text-foreground disabled:pointer-events-none disabled:opacity-50",children:F?i.jsx(cm,{className:"size-3.5 animate-spin"}):i.jsx(iN,{className:"size-3.5"})}),i.jsx("button",{type:"button",onClick:()=>v(K=>K===z.path?null:z.path),"aria-expanded":L,"aria-label":L?`收起《${z.name}》会话`:`展开《${z.name}》会话`,className:"flex h-8 w-6 shrink-0 items-center justify-center rounded-lg text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",children:i.jsx(Gy,{className:tt("size-4 transition-transform duration-200",L&&"rotate-90")})})]}),L&&i.jsx(Ok,{})]},z.path)})})]}),i.jsxs("div",{className:"flex shrink-0 flex-col gap-1 border-t border-border p-2",children:[i.jsxs("a",{href:"#/settings",className:"flex h-8 items-center gap-2 rounded-lg px-2 text-sm text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",children:[i.jsx(BN,{className:"size-4 shrink-0"}),i.jsx("span",{className:"truncate",children:"设置"})]}),i.jsxs(ve,{variant:"ghost",size:"sm",className:"justify-start text-muted-foreground",onClick:r,"aria-label":"切换主题",children:[n==="dark"?i.jsx(XN,{className:"size-4 shrink-0"}):i.jsx(NN,{className:"size-4 shrink-0"}),i.jsx("span",{className:"truncate",children:n==="dark"?"浅色模式":"深色模式"})]})]}),i.jsx(ys,{open:g,onOpenChange:z=>{S(z),z||k(null)},children:i.jsxs(vs,{className:"sm:max-w-sm",children:[i.jsxs(Ss,{children:[i.jsx(Ns,{children:"新建项目"}),i.jsx(cy,{children:"创建于 创作根/books/书名/ 目录,创建后自动打开"})]}),i.jsxs("form",{id:"create-book-form",onSubmit:q,className:"flex flex-col gap-3",children:[i.jsx(Ft,{value:N,onChange:z=>T(z.target.value),placeholder:"书名",maxLength:60,disabled:E}),_&&i.jsx("p",{className:"text-sm text-destructive",children:_})]}),i.jsxs(Es,{children:[i.jsx(ve,{variant:"outline",type:"button",onClick:()=>S(!1),disabled:E,children:"取消"}),i.jsx(ve,{type:"submit",form:"create-book-form",disabled:E,children:E?"创建中…":"创建并打开"})]})]})}),i.jsx(ys,{open:D,onOpenChange:z=>{O(z),z||(se(null),R(null),A(""))},children:i.jsxs(vs,{className:"sm:max-w-sm",children:[i.jsxs(Ss,{children:[i.jsx(Ns,{children:"导入书籍"}),i.jsx(cy,{children:"从备份 zip 导入为新书,数据原样恢复;导入后从书架打开"})]}),i.jsxs("form",{id:"import-book-form",onSubmit:M,className:"flex flex-col gap-3",children:[i.jsx("input",{type:"file",accept:".zip,application/zip",onChange:B,disabled:he,"aria-label":"选择备份文件",className:"block w-full cursor-pointer rounded-md border border-border bg-card px-3 py-1.5 text-sm text-foreground file:mr-2 file:cursor-pointer file:rounded file:border-0 file:bg-muted file:px-2 file:py-1 file:text-xs file:text-muted-foreground disabled:opacity-50"}),i.jsx(Ft,{value:H,onChange:z=>A(z.target.value),placeholder:"书名(默认取文件名)",maxLength:60,disabled:he}),$&&i.jsx("p",{className:"text-sm text-destructive",children:$})]}),i.jsxs(Es,{children:[i.jsx(ve,{variant:"outline",type:"button",onClick:()=>O(!1),disabled:he,children:"取消"}),i.jsx(ve,{type:"submit",form:"import-book-form",disabled:he||V===null,children:he?"导入中…":"导入"})]})]})})]})}function kk({route:n,children:r}){const[l,a]=x.useState(!1);return i.jsxs("div",{className:"flex h-screen overflow-hidden",children:[i.jsx(Rk,{}),i.jsx(fk,{route:n,chatOpen:l,onToggleChat:()=>a(u=>!u),children:r}),i.jsx(fR,{open:l,onClose:()=>a(!1)}),i.jsx(ik,{})]})}class _k extends x.Component{state={error:null};static getDerivedStateFromError(r){return{error:r}}componentDidCatch(r,l){console.error("[ErrorBoundary] 渲染异常:",r,l.componentStack)}render(){const{error:r}=this.state;return r===null?this.props.children:i.jsx("div",{className:"flex h-full min-h-64 flex-col items-center justify-center gap-3 p-8",children:i.jsxs("div",{className:"flex flex-col items-center gap-2 rounded-xl border border-destructive/30 bg-destructive/10 px-8 py-6 text-center",children:[i.jsx(am,{className:"size-8 text-destructive"}),i.jsx("p",{className:"font-serif text-base font-medium text-foreground",children:"界面出现异常"}),i.jsx("p",{className:"max-w-md text-sm text-muted-foreground",children:"数据不会丢失,请重新加载页面继续写作。"}),i.jsx("p",{className:"max-w-md break-all font-mono text-xs text-destructive/80",children:r.message||String(r)}),i.jsxs("div",{className:"mt-2 flex gap-2",children:[i.jsxs(ve,{type:"button",onClick:()=>window.location.reload(),children:[i.jsx(LN,{className:"size-4"}),"重新加载"]}),i.jsx(ve,{variant:"outline",type:"button",onClick:()=>{window.location.hash="#/",window.location.reload()},children:"回到首页"})]})]})})}}function Ir(n){const r=Ie(a=>a.dataVersion),l=x.useRef(r);x.useEffect(()=>{r!==l.current&&(l.current=r,n())},[r])}const fy={character:"人物",setting:"设定",location:"地点",hook:"伏笔"},my=["character","setting","location","hook"];function Ak(n){const r={volumes:0,chapters:0,scenes:0,updatedAt:null},l=a=>{for(const u of a)u.type==="volume"?r.volumes+=1:u.type==="chapter"?r.chapters+=1:r.scenes+=1,(r.updatedAt===null||u.updatedAt>r.updatedAt)&&(r.updatedAt=u.updatedAt),u.type!=="scene"&&u.children&&l(u.children)};return l(n),r}function Of(n){return n instanceof Ke?n.code:null}function hy(){const n=Fe(pe=>pe.config),r=Fe(pe=>pe.configLoading),l=Fe(pe=>pe.outline),a=Fe(pe=>pe.outlineLoading),u=Fe(pe=>pe.loadOutline),f=Fe(pe=>pe.bookshelf),m=Fe(pe=>pe.bookshelfLoading),h=Fe(pe=>pe.bookshelfError),b=Fe(pe=>pe.loadBookshelf),p=Fe(pe=>pe.openProjectAt),v=Fe(pe=>pe.createProjectAt),g=yt(pe=>pe.sessions),S=yt(pe=>pe.sessionsLoading),N=yt(pe=>pe.sessionsError),T=yt(pe=>pe.loadSessions),_=yt(pe=>pe.setCurrentSession),k=yt(pe=>pe.currentSessionId),E=Ie(pe=>pe.setFocusOutlineNode),[j,D]=x.useState(""),[O,V]=x.useState(null),[R,H]=x.useState(null),[A,$]=x.useState(!1),[se,he]=x.useState(!1),[re,F]=x.useState(""),[ne,Q]=x.useState(null),[C,U]=x.useState(!1),[q,P]=x.useState(null),[B,M]=x.useState(!1),[z,L]=x.useState(null),[I,K]=x.useState(0),[W,Se]=x.useState(!1),ie=n===null&&!r,de=l?Ak(l.children):null,ze=n?.currentPosition!=null?tv(l,n.currentPosition)??n.currentPosition:null;x.useEffect(()=>{ie&&!m&&f===null&&h===null&&b()},[ie,m,f,h,b]),x.useEffect(()=>{Se(!1)},[n?.id]),Ir(()=>{K(pe=>pe+1),u(),T()}),x.useEffect(()=>{H(null)},[n?.id]),x.useEffect(()=>{n!==null&&l===null&&!a&&!W&&(Se(!0),u())},[n,l,a,W,u]),x.useEffect(()=>{if(n===null)return;let pe=!1;return P(null),M(!0),L(null),Promise.allSettled(my.map(async Me=>({type:Me,total:(await xo(Me,{limit:1})).total}))).then(Me=>{if(pe)return;const we={};let He=!1;for(const ge of Me)ge.status==="fulfilled"?we[ge.value.type]=ge.value.total:He=!0;P(we),L(He?"要素统计加载失败":null),M(!1)}),()=>{pe=!0}},[n,I]),x.useEffect(()=>{n!==null&&g===null&&!S&&N===null&&T()},[n,g,S,N,T]);async function Ge(pe){pe.preventDefault();const Me=j.trim();if(!Me){V("请输入书名");return}if(/[\\/]|^\.+$|[\u0000-\u001f]/.test(Me)){V("书名不能包含 /、\\ 或为 . / ..");return}if(!f){V("书架未加载,请稍后重试");return}U(!0),V(null);try{await v(nv(f.rootPath,Me),{name:Me,language:"zh"}),await b(),Ie.getState().showToast(`已创建并打开《${Me}》`),D("")}catch(we){V(Ca(Of(we)))}finally{U(!1)}}async function Ee(pe){if(pe.preventDefault(),!re.trim()){Q("请输入项目目录路径(绝对路径)");return}U(!0),Q(null);try{await p(re.trim())}catch(Me){Q(Ca(Of(Me)))}finally{U(!1)}}async function ke(pe){H(null);try{await p(pe)}catch(Me){H(Ca(Of(Me)))}}function Ae(){n?.currentPosition!=null&&E(n.currentPosition)}if(r)return i.jsx("section",{children:i.jsx("p",{className:"mt-4 text-sm text-muted-foreground",children:"加载中…"})});if(ie){let pe=function(ge){return i.jsxs("form",{onSubmit:Ge,className:ge,children:[i.jsxs("div",{className:"flex gap-2",children:[i.jsx(Ft,{value:j,onChange:Oe=>D(Oe.target.value),placeholder:"书名",maxLength:60,disabled:C}),i.jsx(ve,{type:"submit",disabled:C||f===null,children:"新建"})]}),O&&i.jsx("p",{className:"text-left text-sm text-destructive",children:O})]})};const Me=f===null&&m,we=h!==null,He=f!==null&&f.books.length>0;return i.jsxs("section",{children:[h!==null&&i.jsxs("div",{className:"mx-auto mt-2 max-w-md rounded-md border border-border bg-card p-3",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:h===jt?"无法连接服务,请确认 ai-editor 服务已启动后重试。":"书架加载失败,请重试。"}),i.jsx(ve,{variant:"outline",size:"sm",className:"mt-2",onClick:()=>{b()},type:"button",children:"重试"})]}),i.jsx("div",{className:"mx-auto mt-10 max-w-md rounded-2xl border border-dashed border-border bg-card px-6 py-8 text-center",children:Me?i.jsxs("div",{className:"py-2",children:[i.jsx("div",{className:"mx-auto h-6 w-2/3 animate-pulse rounded bg-muted"}),i.jsx("div",{className:"mx-auto mt-2 h-4 w-1/2 animate-pulse rounded bg-muted"}),i.jsxs("div",{className:"mt-5 space-y-2",children:[i.jsx("div",{className:"h-10 animate-pulse rounded-lg bg-muted"}),i.jsx("div",{className:"h-10 animate-pulse rounded-lg bg-muted"})]})]}):i.jsxs(i.Fragment,{children:[He?i.jsxs(i.Fragment,{children:[i.jsx("h1",{className:"font-serif text-lg text-foreground",children:"书架里有书,打开即可写作"}),i.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"选择一本书打开,或新建一本"}),i.jsx("ul",{className:"mt-5 divide-y divide-border overflow-hidden rounded-lg border border-border text-left",children:f.books.map(ge=>i.jsx("li",{children:i.jsxs("button",{type:"button",title:`打开《${ge.name}》`,onClick:()=>{ke(ge.path)},className:"flex w-full items-center gap-3 px-3 py-2.5 text-left transition-colors hover:bg-muted",children:[i.jsx(om,{className:"size-4 shrink-0 text-muted-foreground/60"}),i.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-foreground",children:ge.name}),i.jsx("span",{className:"shrink-0 text-xs text-muted-foreground",children:ul(ge.updatedAt)})]})},ge.path))}),R!==null&&i.jsx("p",{className:"mt-3 text-left text-sm text-destructive",children:R}),i.jsxs("div",{className:"mt-4 border-t border-border pt-3",children:[i.jsx("button",{type:"button",className:"text-sm text-muted-foreground transition-colors hover:text-foreground",onClick:()=>$(ge=>!ge),children:A?"收起":"新建一本…"}),A&&pe("mt-2 flex flex-col gap-2 text-left")]})]}):we?i.jsx("p",{className:"py-6 text-sm text-muted-foreground",children:"书架加载失败,重试后可查看书籍或新建"}):i.jsxs(i.Fragment,{children:[i.jsx("h1",{className:"font-serif text-lg text-foreground",children:"还没有书,先创建一本"}),i.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"每本书一个独立目录(books/书名/),写作数据互不干扰"}),pe("mx-auto mt-5 flex flex-col gap-2"),i.jsx("p",{className:"mt-2 text-xs text-muted-foreground",children:"创建于 创作根/books/书名/ 目录"})]}),i.jsxs("div",{className:"mt-4 border-t border-border pt-3",children:[i.jsx("button",{type:"button",className:"text-sm text-muted-foreground transition-colors hover:text-foreground",onClick:()=>he(ge=>!ge),children:se?"收起":"打开其他路径…"}),se&&i.jsxs("form",{onSubmit:Ee,className:"mt-2 flex flex-col gap-2 text-left",children:[i.jsx(Ft,{value:re,onChange:ge=>F(ge.target.value),placeholder:"/absolute/path/to/project(须含 project.json)",disabled:C}),i.jsx("div",{children:i.jsx(ve,{type:"submit",variant:"outline",disabled:C,children:"打开"})}),ne&&i.jsx("p",{className:"text-sm text-destructive",children:ne})]})]})]})})]})}return i.jsxs("section",{children:[i.jsx("div",{className:"mb-4",children:i.jsx("h1",{className:"font-serif text-xl font-medium text-foreground",children:"项目概览"})}),i.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[i.jsxs("section",{className:"rounded-xl border border-border bg-card p-4",children:[i.jsx("h2",{className:"font-serif text-base text-foreground",children:"项目信息"}),i.jsxs("dl",{className:"mt-3 space-y-2 text-sm",children:[i.jsxs("div",{className:"flex items-baseline gap-2",children:[i.jsx("dt",{className:"w-16 shrink-0 text-muted-foreground",children:"名称"}),i.jsx("dd",{className:"min-w-0 truncate font-medium text-foreground",children:n?.name})]}),i.jsxs("div",{className:"flex items-baseline gap-2",children:[i.jsx("dt",{className:"w-16 shrink-0 text-muted-foreground",children:"语言"}),i.jsx("dd",{className:"text-foreground",children:n?.language==="zh"?"中文":"English"})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("dt",{className:"w-16 shrink-0 text-muted-foreground",children:"当前位置"}),i.jsx("dd",{className:"min-w-0 flex-1 truncate",children:n?.currentPosition!=null?i.jsx("a",{href:"#/outline",onClick:Ae,className:"text-primary hover:underline",children:ze??n.currentPosition}):i.jsx("span",{className:"text-muted-foreground",children:"未设置"})}),i.jsx("a",{href:"#/outline",onClick:Ae,className:Yf({variant:"outline",size:"xs"}),children:"去大纲"})]})]}),i.jsxs("div",{className:"mt-3 border-t border-border pt-3",children:[i.jsx("p",{className:"text-xs text-muted-foreground",children:"项目提示词"}),i.jsx("p",{className:"mt-1 line-clamp-2 text-sm text-foreground/90",children:n?.prompt||"(未设置)"})]})]}),i.jsxs("section",{className:"rounded-xl border border-border bg-card p-4",children:[i.jsx("h2",{className:"font-serif text-base text-foreground",children:"创作要素"}),B&&q===null?i.jsx("div",{className:"mt-3 grid grid-cols-2 gap-2",children:[0,1,2,3].map(pe=>i.jsx("div",{className:"h-20 animate-pulse rounded-lg bg-muted"},pe))}):i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"mt-3 grid grid-cols-2 gap-2",children:my.map(pe=>i.jsxs("a",{href:`#/entities/${pe}`,className:"group rounded-lg border border-border bg-background p-3 transition-colors hover:border-primary/40 hover:bg-muted",title:`查看${fy[pe]}列表`,children:[i.jsx("p",{className:"font-serif text-2xl font-semibold text-foreground",children:q?.[pe]??"–"}),i.jsx("p",{className:"mt-0.5 text-xs text-muted-foreground transition-colors group-hover:text-foreground",children:fy[pe]})]},pe))}),z!==null&&i.jsxs("div",{className:"mt-2 flex items-center gap-2 text-xs text-destructive",children:[z,i.jsx(ve,{variant:"outline",size:"xs",type:"button",onClick:()=>K(pe=>pe+1),children:"重试"})]})]})]}),i.jsxs("section",{className:"rounded-xl border border-border bg-card p-4 lg:col-span-2",children:[i.jsx("h2",{className:"font-serif text-base text-foreground",children:"大纲概览"}),l===null&&(a||!W)?i.jsxs("div",{className:"mt-3 space-y-2",children:[i.jsx("div",{className:"h-5 w-2/5 animate-pulse rounded bg-muted"}),i.jsx("div",{className:"h-4 w-1/3 animate-pulse rounded bg-muted"})]}):l===null?i.jsxs("div",{className:"mt-3 flex items-center gap-2 text-sm text-muted-foreground",children:["大纲加载失败",i.jsx(ve,{variant:"outline",size:"xs",type:"button",onClick:()=>Se(!1),children:"重试"})]}):i.jsxs(i.Fragment,{children:[i.jsxs("p",{className:"mt-3 text-sm text-foreground",children:["卷 ",de?.volumes??0," · 章 ",de?.chapters??0," · 场景"," ",de?.scenes??0]}),i.jsxs("p",{className:"mt-1 text-xs text-muted-foreground",children:["最近更新: ",de?.updatedAt?ul(de.updatedAt):"—"]}),l.children.length===0&&i.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[i.jsx("p",{className:"text-xs text-muted-foreground",children:"大纲还是空的"}),i.jsx(ve,{variant:"ghost",size:"xs",type:"button",onClick:()=>_(null),children:"和 AI 聊聊设定"})]}),i.jsx("div",{className:"mt-3",children:i.jsx("a",{href:"#/outline",onClick:Ae,className:tt(Yf({variant:"outline",size:"sm"})),children:"去大纲编辑"})})]})]}),i.jsxs("section",{className:"rounded-xl border border-border bg-card p-4 lg:col-span-2",children:[i.jsx("h2",{className:"font-serif text-base text-foreground",children:"最近会话"}),g===null?N!==null?i.jsxs("div",{className:"mt-3 flex items-center gap-2 text-sm text-muted-foreground",children:["会话加载失败",i.jsx(ve,{variant:"outline",size:"xs",type:"button",onClick:()=>{T()},children:"重试"})]}):i.jsx("div",{className:"mt-3 space-y-2",children:[0,1,2].map(pe=>i.jsx("div",{className:"h-8 animate-pulse rounded-md bg-muted"},pe))}):g.length===0?i.jsxs("div",{className:"mt-3",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"还没有会话,和 AI 聊聊设定吧"}),i.jsx(ve,{variant:"outline",size:"sm",className:"mt-3",type:"button",onClick:()=>_(null),children:"开始新对话"})]}):i.jsxs(i.Fragment,{children:[i.jsx("ul",{className:"mt-3 divide-y divide-border rounded-lg border border-border",children:g.slice(0,5).map(pe=>i.jsx("li",{children:i.jsxs("button",{type:"button",title:pe.lastMessage||"空会话",onClick:()=>_(pe.id),className:tt("flex w-full items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-muted",k===pe.id&&"bg-accent/40 hover:bg-accent/40"),children:[i.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-foreground",children:pe.lastMessage||"(空会话)"}),i.jsxs("span",{className:"shrink-0 text-xs text-muted-foreground",children:[pe.messageCount," 条消息"]}),i.jsx("span",{className:"shrink-0 text-xs text-muted-foreground",children:ul(pe.updatedAt)})]})},pe.id))}),i.jsx("div",{className:"mt-3",children:i.jsx(ve,{variant:"outline",size:"sm",type:"button",onClick:()=>_(null),children:"开始新对话"})})]})]})]})]})}const py={plants:"埋设",advances:"推进",resolves:"回收"},Mk={plants:RN,advances:fN,resolves:im};function n1({mark:n}){const r=Mk[n.relationType];return i.jsx("span",{className:"shrink-0 rounded px-0.5 text-muted-foreground hover:text-foreground",title:`${py[n.relationType]}伏笔:${n.hookName}`,"aria-label":`${py[n.relationType]}伏笔:${n.hookName}`,children:i.jsx(r,{className:"size-3"})})}const Pm=["plants","advances","resolves"],gy=["plants","advances","resolves"];function xy(n){const r=gy.indexOf(n);return r===-1?gy.length:r}function s1(n){const r=new Map;for(const l of n){if(!Pm.includes(l.relationType)||l.sourceType!=="outline_node"||l.targetType!=="hook")continue;const a={relationType:l.relationType,hookId:l.targetId,hookName:l.targetName??l.targetId},u=r.get(l.sourceId);u===void 0?r.set(l.sourceId,[a]):u.push(a)}for(const l of r.values())l.sort((a,u)=>xy(a.relationType)-xy(u.relationType)||(a.hookName<u.hookName?-1:a.hookName>u.hookName?1:0)||(a.hookId<u.hookId?-1:a.hookId>u.hookId?1:0));return r}const bn="root",by={id:bn,label:"(根)",depth:0};function Dk(n,r){if(r==="volume")return[by];const l=r==="chapter"?[by]:[],a=(u,f)=>{for(const m of u)r==="chapter"&&m.type==="volume"?l.push({id:m.id,label:m.title,depth:f}):r==="scene"&&m.type==="chapter"&&l.push({id:m.id,label:m.title,depth:f}),m.children&&a(m.children,f+1)};return a(n,1),l}function Or(n,r){for(const l of n){if(l.id===r)return l;if(l.type!=="scene"&&l.children){const a=Or(l.children,r);if(a)return a}}return null}function Fm(n,r,l=[]){for(const a of n){const u=[...l,a.id];if(a.id===r)return u;if(a.type!=="scene"&&a.children){const f=Fm(a.children,r,u);if(f)return f}}return null}function dl(n,r=0,l=[]){for(const a of n)l.push({id:a.id,label:a.title,depth:r}),a.type!=="scene"&&a.children&&dl(a.children,r+1,l);return l}function zk(n,r,l){const a=Or(n,r);if(!a)return!1;const u=f=>f.id===l?!0:f.type!=="scene"&&f.children?f.children.some(m=>u(m)):!1;return u(a)}function cc(n,r,l){return r===n.id||zk(l,n.id,r)?!1:Dk(l,n.type).some(a=>a.id===r)}function r1(n,r){const l=r.trim();return l!==""&&l!==n.trim()}function l1(n,r){return r.trim()!==(n??"").trim()}function Lk(n){return n==="OUTLINE_NODE_NOT_FOUND"?"abandon":"restore"}function o1(n,r){if(r===bn)return n;const l=a=>{for(const u of a){if(u.id===r)return u.children??[];if(u.children){const f=l(u.children);if(f)return f}}return null};return l(n)}function yy(n,r,l){const a=l===void 0?n:n.filter(f=>f.id!==l);if(r.kind==="end")return a.length;const u=a.findIndex(f=>f.id===r.nodeId);return u===-1?a.length:r.kind==="before"?u:u+1}function vy(n,r){return n===null||r===null?n===r:n.kind==="root-end"||r.kind==="root-end"?n.kind===r.kind:n.kind===r.kind&&n.nodeId===r.nodeId}function em(n,r){const l=(a,u)=>{for(const f of a){if(f.id===r)return u;if(f.children){const m=l(f.children,f.id);if(m!==null)return m}}return null};return l(n,bn)}function Uk(n,r){const l=em(n,r);if(l===null)return null;const u=(o1(n,l)??[]).findIndex(f=>f.id===r);return u===-1?null:{parentId:l,index:u}}function Sy(n,r,l,a){const u=Uk(n,r);return u===null||u.parentId!==l?!1:a===u.index}function uc(n){return n instanceof Ke?n.code:null}function ao(n){switch(n){case"OUTLINE_NODE_NOT_FOUND":return"节点不存在(可能已被彻底删除),大纲已刷新";case"CLIENT_NETWORK_ERROR":return"无法连接服务,请确认 ai-editor 服务已启动";default:return"操作失败,请稍后重试"}}function gc(n,r,l,a,u){return i.jsx("input",{autoFocus:!0,value:n,onChange:f=>r(f.target.value),onKeyDown:l,onBlur:a,maxLength:200,placeholder:u,className:"min-w-0 flex-1 rounded border border-border bg-card px-1.5 py-0.5 text-sm text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring"})}function Ey({type:n,onTypeChange:r,value:l,onChange:a,onKeyDown:u,onCancel:f,className:m}){return i.jsxs("div",{className:tt("flex items-center gap-2 rounded-md px-2 py-1",m),children:[i.jsx("div",{className:"flex shrink-0 gap-1",children:["volume","chapter"].map(h=>i.jsx("button",{type:"button",onClick:()=>r(h),className:tt("rounded border px-2 py-0.5 text-xs transition-colors",n===h?"border-primary bg-primary text-primary-foreground":"border-border text-muted-foreground hover:bg-muted hover:text-foreground"),children:ts[h]},h))}),gc(l,a,u,f,`新${ts[n]}标题,Enter 创建`)]})}function Ik(){const n=Fe(G=>G.outline),r=Fe(G=>G.outlineLoading),l=Fe(G=>G.config),a=Fe(G=>G.configLoading),u=Fe(G=>G.loadOutline),f=Ie(G=>G.focusOutlineNodeId),m=Ie(G=>G.clearFocusOutlineNode);Ir(()=>{u()});const[h,b]=x.useState(!1),[p,v]=x.useState(null),[g,S]=x.useState(new Set),[N,T]=x.useState(null),[_,k]=x.useState(!1),[E,j]=x.useState(null),[D,O]=x.useState(null),[V,R]=x.useState(null),[H,A]=x.useState(""),[$,se]=x.useState(null),[he,re]=x.useState(""),[F,ne]=x.useState(null),[Q,C]=x.useState(null),[U,q]=x.useState(null),P=l===null&&!a;x.useEffect(()=>{n===null&&!r&&!h&&(b(!0),u())},[n,r,h,u]),x.useEffect(()=>{if(n===null){q(null);return}let G=!1;return Promise.all(Pm.map(ue=>Ra({source_type:"outline_node",relation_type:ue,depth:1}).then(Z=>Z.relations).catch(()=>[]))).then(ue=>{G||q(s1(ue.flat()))}),()=>{G=!0}},[n]),x.useEffect(()=>{if(E===null)return;const G=setTimeout(()=>j(null),3e3);return()=>clearTimeout(G)},[E]),x.useEffect(()=>{if(f===null||n===null)return;const G=f,ue=Fm(n.children,G);if(ue===null){m();return}S(ye=>{if(ue.every(be=>!ye.has(be)))return ye;const Ve=new Set(ye);for(const be of ue)Ve.delete(be);return Ve});const Z=setTimeout(()=>{const ye=document.querySelector(`[data-node-id="${G}"]`);ye&&(ye.scrollIntoView({block:"center"}),O(G)),m()},0);return()=>clearTimeout(Z)},[f,n,m]),x.useEffect(()=>{if(D===null)return;const G=setTimeout(()=>O(null),3e3);return()=>clearTimeout(G)},[D]);async function B(G,ue){G&&z(G),await u(),ue&&j(ue)}function M(G){S(ue=>{const Z=new Set(ue);return Z.has(G)?Z.delete(G):Z.add(G),Z})}function z(G){S(ue=>{if(!ue.has(G))return ue;const Z=new Set(ue);return Z.delete(G),Z})}function L(G,ue=[]){for(const Z of G)Z.type!=="scene"&&Z.children&&Z.children.length>0&&(ue.push(Z.id),L(Z.children,ue));return ue}function I(G,ue){de(),R({nodeId:G.id,field:ue}),A(ue==="title"?G.title:G.summary??"")}function K(){R(null),A("")}async function W(G,ue){if(!V||V.nodeId!==G.id||V.field!==ue||_)return;const Z=H;if(!(ue==="title"?r1(G.title,Z):l1(G.summary,Z))){K();return}k(!0);try{await Zy(G.id,ue==="title"?{title:Z.trim()}:{summary:Z.trim()}),K(),Ie.getState().showToast("已保存"),await B()}catch(Ve){const be=uc(Ve);if(Lk(be)==="abandon"){K(),v(ao(be)),await B();return}v(ao(be))}finally{k(!1)}}function Se(G,ue){return Z=>{Z.key==="Enter"?(Z.preventDefault(),W(G,ue)):Z.key==="Escape"&&K()}}function ie(G,ue){K(),se({parentId:G,type:ue}),re(""),G!==bn&&z(G)}function de(){se(null),re("")}async function ze(){if(!$)return;const G=he.trim(),{parentId:ue,type:Z}=$;if(!G){de();return}de();try{const ye=await i2({type:Z,title:G,parent_id:ue});Ie.getState().showToast(`已创建${ts[Z]}《${G}》`),await B(ue,ye.id)}catch(ye){v(ao(uc(ye)))}}function Ge(G){G.key==="Enter"?(G.preventDefault(),ze()):G.key==="Escape"&&de()}function Ee(G,ue){G.dataTransfer.setData("text/plain",ue.id),G.dataTransfer.effectAllowed="move",ne(ue.id),C(null)}function ke(){ne(null),C(null)}function Ae(G){const ue=G.currentTarget.getBoundingClientRect();return G.clientY<ue.top+ue.height/2?"before":"after"}function pe(G,ue){G.stopPropagation();const Z=F?Or(n?.children??[],F):null;if(!Z)return;const ye=em(n?.children??[],ue)??bn;if(!cc(Z,ye,n?.children??[]))return;G.preventDefault(),G.dataTransfer.dropEffect="move";const Ve={kind:Ae(G),nodeId:ue};C(be=>vy(be,Ve)?be:Ve)}function Me(G,ue){G.currentTarget.contains(G.relatedTarget)||C(Z=>Z!==null&&Z.kind!=="root-end"&&Z.nodeId===ue?null:Z)}async function we(G,ue){if(G.stopPropagation(),G.preventDefault(),!F)return;const Z=Or(n?.children??[],F);if(!Z)return;const ye=em(n?.children??[],ue)??bn;if(!cc(Z,ye,n?.children??[]))return;if(ue===Z.id){ne(null),C(null);return}const Ve=o1(n?.children??[],ye)??[],be=yy(Ve,{kind:Ae(G),nodeId:ue},Z.id);if(Sy(n?.children??[],Z.id,ye,be)){ne(null),C(null);return}k(!0);try{await rb(Z.id,{parent_id:ye,order:be}),Ie.getState().showToast(`已移动《${Z.title}》`),await B(ye)}catch(Te){v(ao(uc(Te)))}finally{k(!1),ne(null),C(null)}}function He(G){const ue=F?Or(n?.children??[],F):null;!ue||!cc(ue,bn,n?.children??[])||(G.preventDefault(),G.dataTransfer.dropEffect="move",C(Z=>vy(Z,{kind:"root-end"})?Z:{kind:"root-end"}))}function ge(G){G.currentTarget.contains(G.relatedTarget)||C(ue=>ue?.kind==="root-end"?null:ue)}async function Oe(G){if(G.preventDefault(),!F)return;const ue=Or(n?.children??[],F);if(!ue||!cc(ue,bn,n?.children??[]))return;const Z=yy(n?.children??[],{kind:"end"},ue.id);if(Sy(n?.children??[],ue.id,bn,Z)){ne(null),C(null);return}k(!0);try{await rb(ue.id,{parent_id:bn,order:Z}),Ie.getState().showToast(`已移动《${ue.title}》`),await B()}catch(ye){v(ao(uc(ye)))}finally{k(!1),ne(null),C(null)}}async function _e(){if(N)try{const G=await c2(N.id),{children:ue,relations:Z,deltas:ye}=G.cascaded,Ve=[];ue>0&&Ve.push(`${ue} 个子节点`),Z>0&&Ve.push(`${Z} 条关联`),ye>0&&Ve.push(`${ye} 条变化记录`),Ie.getState().showToast(`已移入回收站${Ve.length>0?`(含 ${Ve.join("、")})`:""}`),T(null),await B()}catch(G){if(G instanceof Ke&&G.code==="OUTLINE_NODE_NOT_FOUND"){v(ao("OUTLINE_NODE_NOT_FOUND")),T(null),await B();return}throw G}}function Re(){return $?.parentId!==bn?null:i.jsx(Ey,{className:"mb-1",type:$.type,onTypeChange:G=>se({parentId:bn,type:G}),value:he,onChange:re,onKeyDown:Ge,onCancel:de})}function ft(G,ue){return G.map(Z=>{const ye=Z.type!=="scene"&&(Z.children?.length??0)>0,Ve=g.has(Z.id),be=l?.currentPosition===Z.id,Te=rk[Z.type],Xe=V?.nodeId===Z.id&&V.field==="title",We=V?.nodeId===Z.id&&V.field==="summary",le=Q?.kind==="before"&&Q.nodeId===Z.id,je=Q?.kind==="after"&&Q.nodeId===Z.id,Ce=F===Z.id,xt=$?.parentId===Z.id,pt=Z.id===D;return i.jsxs("div",{children:[i.jsxs("div",{"data-node-id":Z.id,draggable:!Xe&&!We&&!Ce&&!_,onDragStart:De=>Ee(De,Z),onDragEnd:ke,onDragOver:De=>pe(De,Z.id),onDragLeave:De=>Me(De,Z.id),onDrop:De=>{we(De,Z.id)},className:tt("relative cursor-grab rounded-md px-2 py-1 transition-colors hover:bg-muted/60 active:cursor-grabbing",Z.id===E&&"bg-accent/40",pt&&"bg-accent ring-1 ring-inset ring-ring",Ce&&"opacity-50"),style:{paddingLeft:ue*20+8},title:"拖动到目标行即可移动(上半=插前、下半=插后)",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[ye?i.jsx("button",{type:"button",className:"w-4 shrink-0 text-muted-foreground hover:text-foreground",onClick:()=>M(Z.id),"aria-label":Ve?"展开":"折叠",children:Ve?"▸":"▾"}):i.jsx("span",{className:"w-4 shrink-0"}),i.jsx("span",{className:"flex h-5 w-7 shrink-0 items-center justify-center rounded bg-muted text-xs text-muted-foreground",children:ts[Z.type]}),Xe?gc(H,A,Se(Z,"title"),()=>{W(Z,"title")},"标题"):i.jsx("span",{className:tt("min-w-0 cursor-text truncate text-sm hover:underline",pt?"text-accent-foreground":"text-foreground"),title:"点击编辑标题",onClick:()=>I(Z,"title"),children:Z.title}),U!==null&&(U.get(Z.id)?.length??0)>0&&i.jsx("span",{className:"flex shrink-0 items-center gap-0.5",children:(U.get(Z.id)??[]).map(De=>i.jsx(n1,{mark:De},`${De.relationType}-${De.hookId}`))}),Te!==null&&i.jsx("button",{type:"button",className:"shrink-0 rounded px-1 text-muted-foreground hover:bg-muted hover:text-foreground",title:`就地新建${ts[Te]}`,"aria-label":`新建${ts[Te]}`,onClick:()=>ie(Z.id,Te),children:"+"}),i.jsx("button",{type:"button",className:"shrink-0 rounded p-1 text-muted-foreground hover:bg-muted hover:text-foreground",title:"详情","aria-label":"详情",onClick:()=>is(`/outline/${Z.id}`),children:i.jsx(om,{className:"size-3.5"})}),i.jsx("button",{type:"button",className:"shrink-0 rounded p-1 text-muted-foreground hover:bg-muted hover:text-destructive",title:"移入回收站","aria-label":"移入回收站",onClick:()=>T(Z),children:i.jsx(Fy,{className:"size-3.5"})}),be&&i.jsx("span",{className:"shrink-0 rounded bg-accent px-1.5 py-0.5 text-xs text-accent-foreground",children:"当前位置"}),i.jsx("span",{className:"shrink-0 text-xs text-muted-foreground",children:ws(Z.updatedAt)})]}),We||Z.summary?i.jsxs("div",{className:"mt-0.5 flex items-center gap-2",children:[i.jsx("span",{className:"w-4 shrink-0"}),i.jsx("span",{className:"w-7 shrink-0"}),We?gc(H,A,Se(Z,"summary"),()=>{W(Z,"summary")},"摘要"):i.jsx("span",{className:"min-w-0 cursor-text truncate text-xs text-muted-foreground hover:underline",title:"点击编辑摘要",onClick:()=>I(Z,"summary"),children:Z.summary})]}):null,le&&i.jsx("span",{className:"pointer-events-none absolute inset-x-0 -top-px h-0.5 rounded bg-accent"}),je&&i.jsx("span",{className:"pointer-events-none absolute inset-x-0 -bottom-px h-0.5 rounded bg-accent"})]}),ye&&!Ve&&i.jsx("div",{children:ft(Z.children??[],ue+1)}),xt&&i.jsxs("div",{className:"flex items-center gap-2 rounded-md px-2 py-1",style:{paddingLeft:(ue+1)*20+8},children:[i.jsx("span",{className:"w-4 shrink-0"}),i.jsx("span",{className:"flex h-5 w-7 shrink-0 items-center justify-center rounded bg-muted text-xs text-muted-foreground",children:ts[$.type]}),gc(he,re,Ge,de,`新${ts[$.type]}标题,Enter 创建`)]})]},Z.id)})}function ce(){n&&(g.size>0?S(new Set):S(new Set(L(n.children))))}return i.jsxs("section",{children:[i.jsxs("div",{className:"mb-4 flex items-center justify-between gap-4",children:[i.jsx("h1",{className:"text-xl font-semibold",children:"大纲"}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx(ve,{variant:"outline",type:"button",onClick:ce,disabled:!n||n.children.length===0,children:g.size>0?"全部展开":"全部折叠"}),i.jsx(ve,{type:"button",onClick:()=>ie(bn,"volume"),children:"+ 新建"})]})]}),p&&i.jsx("div",{className:"mb-3 rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:p}),P?i.jsxs("div",{className:"rounded-md border border-dashed border-zinc-300 px-6 py-10 text-center",children:[i.jsx("p",{className:"text-sm text-zinc-600",children:"未打开项目,无法编辑大纲"}),i.jsx("a",{href:"#/",className:"mt-2 inline-block text-sm text-zinc-500 underline hover:text-zinc-700",children:"回到首页打开或创建书籍"})]}):r&&n===null?i.jsx("div",{className:"space-y-2 rounded-md border border-zinc-200 p-3",children:Array.from({length:6},(G,ue)=>i.jsx("div",{className:"h-5 animate-pulse rounded bg-zinc-100",style:{width:`${92-ue%3*24}%`,marginLeft:ue%3*20}},ue))}):n===null?i.jsxs("div",{className:"rounded-md border border-zinc-200 p-4 text-sm text-zinc-600",children:["大纲加载失败",i.jsx(ve,{variant:"outline",className:"ml-3",type:"button",onClick:()=>b(!1),children:"重试"})]}):n.children.length===0?$?.parentId===bn?i.jsxs("div",{className:"rounded-lg border border-dashed border-zinc-300 px-6 py-12 text-center",children:[i.jsx("p",{className:"text-sm text-zinc-600",children:"输入第一卷标题,Enter 创建"}),i.jsx("div",{className:"mx-auto mt-4 max-w-sm",children:i.jsx(Ey,{type:$.type,onTypeChange:G=>se({parentId:bn,type:G}),value:he,onChange:re,onKeyDown:Ge,onCancel:de})})]}):i.jsxs("div",{className:"rounded-lg border border-dashed border-zinc-300 px-6 py-12 text-center",children:[i.jsx("p",{className:"text-sm text-zinc-600",children:"大纲还是空的,先建第一卷"}),i.jsx("p",{className:"mt-1 text-xs text-zinc-400",children:"大纲是三层结构:卷 → 章 → 场景"}),i.jsx(ve,{className:"mt-4",type:"button",onClick:()=>ie(bn,"volume"),children:"新建第一卷"})]}):i.jsxs("div",{className:tt("rounded-md border border-border p-2",Q?.kind==="root-end"&&"ring-1 ring-inset ring-accent"),onDragOver:He,onDragLeave:ge,onDrop:G=>{Oe(G)},children:[Re(),ft(n.children,0)]}),N&&i.jsx(hl,{title:"移入回收站",description:`将《${N.title}》移入回收站。子节点与关联的关系、变化记录将一并移入,可在回收站还原。`,confirmLabel:"移入回收站",danger:!0,onConfirm:_e,onClose:()=>T(null)})]})}const ba=20;function Hk(n,r){return Math.max(1,Math.ceil(n/r))}const Bk={character:{key1:"role",label1:"角色",key2:"status",label2:"状态"},setting:{key1:"category",label1:"类别"},location:{key1:"type",label1:"类型"},hook:{key1:"status",label1:"状态",key2:"payoff_timing",label2:"回收时机"}},Km={planted:"已埋设",progressing:"推进中",resolved:"已回收",abandoned:"已弃用"},$m={immediate:"立即",near_term:"近期",mid_arc:"中段",slow_burn:"慢热",endgame:"终局"};function Rf(n,r,l){return l==null||l===""?"—":n==="hook"&&r==="status"?Km[String(l)]??String(l):n==="hook"&&r==="payoff_timing"?$m[String(l)]??String(l):String(l)}const Ny={character:{key:"role",label:"角色定位",input:"text"},setting:{key:"category",label:"类别",input:"text"},location:{key:"type",label:"地点类型",input:"text"},hook:{key:"status",label:"状态",input:"select",options:["planted","progressing","resolved","abandoned"]}};function Qm(n){switch(n){case"character":return[{key:"role",label:"角色定位",control:"text"},{key:"gender",label:"性别",control:"text"},{key:"age",label:"年龄",control:"number"},{key:"personality",label:"性格",control:"tags"},{key:"motivation",label:"动机",control:"textarea"},{key:"abilities",label:"能力",control:"tags"},{key:"status",label:"状态",control:"text"}];case"setting":return[{key:"category",label:"类别",control:"text"},{key:"parent_id",label:"上级设定",control:"text"},{key:"description",label:"描述",control:"textarea"},{key:"rules",label:"规则",control:"tags"}];case"location":return[{key:"type",label:"地点类型",control:"text"},{key:"parent_id",label:"上级地点",control:"text"},{key:"description",label:"描述",control:"textarea"}];case"hook":return[{key:"status",label:"状态",control:"select",options:["planted","progressing","resolved","abandoned"],optionsLabels:Km},{key:"category",label:"类别",control:"text"},{key:"expected_payoff",label:"预期回收",control:"textarea"},{key:"payoff_timing",label:"回收时机",control:"select",options:["immediate","near_term","mid_arc","slow_burn","endgame"],optionsLabels:$m},{key:"half_life",label:"半衰期(章数)",control:"number"},{key:"is_core",label:"主线伏笔",control:"toggle"},{key:"notes",label:"备注",control:"textarea"},{key:"expected_resolve_node_id",label:"预计回收节点",control:"outline-node"}]}}const Yk={belongs_to:"所属",owns:"拥有",masters:"掌握",ally:"盟友",rival:"对手",mentor:"师徒",family:"家族",kills:"击杀",appears_in:"出现于",occurs_at:"发生于",plot_edge:"剧情连线",plants:"埋设",advances:"推进",resolves:"回收",depends_on:"依赖",involves:"涉及"};function cl(n){return Yk[n]??n}function Zm(n,r){const l={};for(const a of new Set([...Object.keys(n),...Object.keys(r)])){const u=r[a];if(u===void 0)continue;const f=Ty(n[a]),m=Ty(u);JSON.stringify(f)!==JSON.stringify(m)&&(l[a]=u)}return Object.keys(l).length>0?l:null}function Ty(n){return n==null||n===""||Array.isArray(n)&&n.length===0?null:n}const kf={character:"人物",setting:"设定",location:"地点",hook:"伏笔"},io="w-full rounded-md border border-border bg-card px-3 py-1.5 text-sm text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring";function Jm({source:n,onCreated:r,onClose:l}){const a=Fe(A=>A.outline),[u,f]=x.useState("character"),[m,h]=x.useState(null),[b,p]=x.useState(""),[v,g]=x.useState("character"),[S,N]=x.useState(null),[T,_]=x.useState(""),[k,E]=x.useState(Lf[0]),[j,D]=x.useState(null),[O,V]=x.useState(!1);x.useEffect(()=>{n||(p(""),h(null),xo(u,{limit:100}).then(A=>h(A.items)).catch(()=>h([])))},[n,u]),x.useEffect(()=>{if(_(""),v==="outline_node"){N(null);return}N(null),xo(v,{limit:100}).then(A=>N(A.items)).catch(()=>N([]))},[v]);const R=dl(a?.children??[]);async function H(A){if(A.preventDefault(),!n&&!b){D("请选择源实体");return}if(!T){D("请选择关联对象");return}V(!0),D(null);try{const $={source_type:n?n.type:u,source_id:n?n.id:b,target_type:v,target_id:T,relation_type:k};await Rc($),Ie.getState().showToast("已建立关系"),await r(),l()}catch($){$ instanceof Ke&&$.code==="RELATION_EXISTS"?D("这条关系已经存在"):D($ instanceof Ke?$.message:"创建失败,请重试")}finally{V(!1)}}return i.jsx(ys,{open:!0,onOpenChange:A=>!A&&l(),children:i.jsxs(vs,{className:"sm:max-w-2xl",children:[i.jsx(Ss,{children:i.jsx(Ns,{children:"新增关联"})}),i.jsxs("form",{id:"create-relation-form",onSubmit:H,className:"flex flex-col gap-3",children:[i.jsxs("div",{className:"grid grid-cols-1 items-start gap-3 sm:grid-cols-[1fr_auto_1fr]",children:[i.jsxs("div",{className:"flex flex-col gap-2",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"源实体"}),n?i.jsxs("div",{title:n.name,className:"min-w-0 truncate rounded-md border border-border bg-muted/40 px-3 py-1.5 text-sm text-foreground",children:[n.type==="outline_node"?"本节点":"本实体",":",n.name]}):i.jsxs(i.Fragment,{children:[i.jsx("select",{value:u,onChange:A=>f(A.target.value),className:io,children:go.map(A=>i.jsx("option",{value:A,children:kf[A]},A))}),i.jsxs("select",{value:b,onChange:A=>p(A.target.value),className:io,children:[i.jsxs("option",{value:"",children:["选择",kf[u],"…"]}),(m??[]).map(A=>i.jsx("option",{value:A.id,children:A.name},A.id))]})]})]}),i.jsxs("div",{className:"flex flex-col gap-2 sm:w-44",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"关系类型"}),i.jsx("select",{value:k,onChange:A=>E(A.target.value),className:io,children:Lf.map(A=>i.jsx("option",{value:A,children:cl(A)},A))}),i.jsx("span",{"aria-hidden":"true",className:"mt-auto select-none pb-1 text-center text-xl leading-none text-muted-foreground",children:"→"})]}),i.jsxs("div",{className:"flex flex-col gap-2",children:[i.jsx("p",{className:"text-sm font-medium text-foreground",children:"目标实体"}),i.jsxs("select",{value:v,onChange:A=>g(A.target.value),className:io,children:[i.jsx("option",{value:"character",children:"人物"}),i.jsx("option",{value:"setting",children:"设定"}),i.jsx("option",{value:"location",children:"地点"}),i.jsx("option",{value:"hook",children:"伏笔"}),i.jsx("option",{value:"outline_node",children:"大纲节点"})]}),v==="outline_node"?i.jsxs("select",{value:T,onChange:A=>_(A.target.value),className:io,children:[i.jsx("option",{value:"",children:"选择大纲节点…"}),R.map(A=>i.jsxs("option",{value:A.id,children:[" ".repeat(A.depth),A.label]},A.id))]}):i.jsxs("select",{value:T,onChange:A=>_(A.target.value),className:io,children:[i.jsxs("option",{value:"",children:["选择",kf[v],"…"]}),(S??[]).map(A=>i.jsx("option",{value:A.id,children:A.name},A.id))]})]})]}),j&&i.jsx("p",{className:"text-sm text-destructive",children:j})]}),i.jsxs(Es,{children:[i.jsx(ve,{variant:"outline",type:"button",onClick:l,disabled:O,children:"取消"}),i.jsx(ve,{type:"submit",form:"create-relation-form",disabled:O,children:"建立"})]})]})})}const a1={character:"人物",setting:"设定",location:"地点",hook:"伏笔",outline_node:"大纲节点"},wy={endpointType:"",relationType:"",nameQuery:""};function Vk(n,r){const l=r.nameQuery.trim().toLowerCase();return n.filter(a=>{if(r.endpointType!==""&&a.sourceType!==r.endpointType&&a.targetType!==r.endpointType||r.relationType!==""&&a.relationType!==r.relationType)return!1;if(l){const u=(a.sourceName??a.sourceId).toLowerCase(),f=(a.targetName??a.targetId).toLowerCase();if(!u.includes(l)&&!f.includes(l))return!1}return!0})}function jy({type:n}){return i.jsx("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:a1[n]??n})}function _f({type:n,id:r,name:l}){const a=l??r;if(!(go.includes(n)||n==="outline_node"))return i.jsxs("span",{className:"flex min-w-0 items-center gap-1.5",children:[i.jsx("span",{className:"min-w-0 truncate text-muted-foreground",title:a,children:a}),i.jsx(jy,{type:n})]});const f=n==="outline_node"?`/outline/${r}`:`/entities/${n}/${r}`;return i.jsxs("span",{className:"flex min-w-0 items-center gap-1.5",children:[i.jsx("button",{type:"button",onClick:()=>is(f),title:`打开《${a}》`,className:"min-w-0 truncate font-medium text-foreground underline-offset-2 hover:text-primary hover:underline",children:a}),i.jsx(jy,{type:n})]})}function Cy(n,r){const l=r==="source"?n.sourceName:n.targetName,a=r==="source"?n.sourceId:n.targetId;return l??a}function i1({reloadKey:n,onOpenCreate:r,scope:l}){const[a,u]=x.useState(null),[f,m]=x.useState(!1),[h,b]=x.useState(null),[p,v]=x.useState(0),[g,S]=x.useState(wy),[N,T]=x.useState(null);x.useEffect(()=>{let E=!1;m(!0),b(null);const j=l!==void 0?{source_type:l.type,source_id:l.id,depth:1}:{depth:1};return Ra(j).then(D=>{E||u(D.relations)}).catch(D=>{E||(u(null),b(D instanceof Ke?D.code:jt))}).finally(()=>{E||m(!1)}),()=>{E=!0}},[n,p,l?.type,l?.id]);async function _(){if(N)try{await mm(N.id),Ie.getState().showToast("已删除关系"),T(null),v(E=>E+1)}catch(E){throw E}}const k=a===null?[]:Vk(a,g);return i.jsxs("div",{children:[l===void 0&&i.jsxs("div",{className:"mb-2 mt-3 flex flex-wrap items-center gap-3",children:[i.jsxs("select",{value:g.endpointType,onChange:E=>S(j=>({...j,endpointType:E.target.value})),"aria-label":"端点类型过滤",className:"rounded-md border border-border bg-card px-2 py-1 text-sm text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[i.jsx("option",{value:"",children:"全部端点类型"}),Object.entries(a1).map(([E,j])=>i.jsx("option",{value:E,children:j},E))]}),i.jsxs("select",{value:g.relationType,onChange:E=>S(j=>({...j,relationType:E.target.value})),"aria-label":"关系类型过滤",className:"rounded-md border border-border bg-card px-2 py-1 text-sm text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[i.jsx("option",{value:"",children:"全部关系类型"}),Lf.map(E=>i.jsx("option",{value:E,children:cl(E)},E))]}),i.jsx(Ft,{value:g.nameQuery,onChange:E=>S(j=>({...j,nameQuery:E.target.value})),placeholder:"搜索源/目标名称…",className:"w-52"})]}),h!==null&&i.jsxs("div",{className:"mb-3 rounded-md border border-border bg-muted px-3 py-2 text-sm text-muted-foreground",children:[h===jt?"无法连接服务,请确认 ai-editor 服务已启动。":"关系加载失败,请重试。",i.jsx(ve,{variant:"outline",className:"ml-3",type:"button",onClick:()=>v(E=>E+1),children:"重试"})]}),f&&a===null&&h===null&&i.jsx("div",{className:"overflow-hidden rounded-md border border-border",children:Array.from({length:5},(E,j)=>i.jsxs("div",{className:"flex items-center gap-3 border-b border-border px-3 py-3 last:border-0",children:[i.jsx("div",{className:"h-4 w-1/4 animate-pulse rounded bg-muted"}),i.jsx("div",{className:"h-4 w-1/6 animate-pulse rounded bg-muted"}),i.jsx("div",{className:"h-4 w-1/4 animate-pulse rounded bg-muted"}),i.jsx("div",{className:"ml-auto h-4 w-12 animate-pulse rounded bg-muted"})]},j))}),!f&&a!==null&&a.length===0&&i.jsxs("div",{className:"rounded-lg border border-dashed border-border px-6 py-12 text-center",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"还没有关联,建立一条"}),i.jsx(ve,{className:"mt-4",type:"button",onClick:r,children:"+ 建立关联"})]}),!f&&a!==null&&a.length>0&&k.length===0&&i.jsxs("div",{className:"rounded-lg border border-dashed border-border px-6 py-12 text-center",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"没有匹配的关联"}),i.jsx(ve,{variant:"outline",className:"mt-4",type:"button",onClick:()=>S(wy),children:"清空过滤"})]}),!f&&a!==null&&k.length>0&&i.jsxs("div",{className:"overflow-hidden rounded-md border border-border",children:[l===void 0&&i.jsxs("div",{className:"flex items-center gap-2 border-b border-border bg-muted/40 px-3 py-2 text-xs text-muted-foreground",children:[i.jsx("span",{className:"w-1/4 shrink-0",children:"源"}),i.jsx("span",{className:"w-1/4 shrink-0",children:"关系"}),i.jsx("span",{className:"flex-1",children:"目标"}),i.jsx("span",{className:"w-14 shrink-0"})]}),i.jsx("ul",{className:"divide-y divide-border",children:k.map(E=>i.jsxs("li",{className:"flex items-center gap-2 px-3 py-2 text-sm",children:[l!==void 0?i.jsxs(i.Fragment,{children:[i.jsxs("span",{className:"shrink-0 truncate rounded bg-muted px-1.5 py-0.5 text-center text-xs text-muted-foreground",children:[cl(E.relationType)," →"]}),i.jsx("span",{className:"min-w-0 flex-1",children:i.jsx(_f,{type:E.targetType,id:E.targetId,name:E.targetName})})]}):i.jsxs(i.Fragment,{children:[i.jsx("span",{className:"w-1/4 min-w-0 shrink-0",children:i.jsx(_f,{type:E.sourceType,id:E.sourceId,name:E.sourceName})}),i.jsxs("span",{className:"w-1/4 shrink-0 truncate rounded bg-muted px-1.5 py-0.5 text-center text-xs text-muted-foreground",children:[cl(E.relationType)," →"]}),i.jsx("span",{className:"min-w-0 flex-1",children:i.jsx(_f,{type:E.targetType,id:E.targetId,name:E.targetName})})]}),i.jsx(ve,{variant:"outline",type:"button",className:"h-7 w-14 shrink-0 px-2 text-xs text-destructive hover:bg-destructive/10",onClick:()=>T(E),children:"删除"})]},E.id))})]}),N&&i.jsx(hl,{title:"删除关系",description:`删除关系「${Cy(N,"source")} ${cl(N.relationType)} ${Cy(N,"target")}」?物理删除不可恢复,可重新建立。`,confirmLabel:"删除",danger:!0,onConfirm:_,onClose:()=>T(null)})]})}const qk={set:"设为",update:"更新",add:"追加",remove:"移除"},Gk={character:"人物",setting:"设定",location:"地点",hook:"伏笔",outline_node:"大纲节点"};function Wm(n){return Gk[n]??n}function ns(n){return n==null?"空":typeof n=="object"?JSON.stringify(n):String(n)}function Xk(n){switch(n.op){case"set":return`${n.field} = ${ns(n.to)}`;case"update":return`${n.field} ${ns(n.from)} → ${ns(n.to)}`;case"add":return`${n.field} +${ns(n.value??n.to)}`;case"remove":return`${n.field} -${ns(n.value??n.to)}`}}function Pk(n,r){const l=[];for(const a of new Set([...Object.keys(n),...Object.keys(r)])){const u=n[a]??null,f=r[a]??null;JSON.stringify(u)!==JSON.stringify(f)&&l.push({field:a,from:n[a],to:r[a]})}return l}function c1({changes:n,skipped:r}){const l=r?new Set(r):null;return i.jsx("div",{className:"flex flex-wrap items-center gap-1",children:n.map((a,u)=>{const f=l?.has(u)??!1;return i.jsxs("span",{title:f?"该变更未应用(数据与变更记录不一致,见冲突标注)":void 0,className:tt("inline-flex items-center gap-1 rounded bg-muted px-1.5 py-0.5 text-xs",f?"text-destructive":"text-muted-foreground"),children:[i.jsx("span",{className:tt("shrink-0 font-medium",f?"text-destructive":"text-foreground/70"),children:qk[a.op]}),Xk(a)]},u)})})}function Fk({nodeId:n,reloadKey:r}){const[l,a]=x.useState(null),[u,f]=x.useState(!1),[m,h]=x.useState(null),[b,p]=x.useState(0);return x.useEffect(()=>{let v=!1;return f(!0),h(null),h2(n).then(g=>{v||a([...g.deltas].sort((S,N)=>S.order-N.order))}).catch(g=>{v||h(g instanceof Ke?g.code:jt)}).finally(()=>{v||f(!1)}),()=>{v=!0}},[n,b,r]),i.jsxs("div",{children:[u&&l===null&&m===null&&i.jsxs("div",{className:"space-y-2 py-1",children:[i.jsx("div",{className:"h-4 w-2/3 animate-pulse rounded bg-muted"}),i.jsx("div",{className:"h-4 w-1/2 animate-pulse rounded bg-muted"})]}),m!==null&&i.jsxs("div",{className:"flex items-center gap-2 text-xs text-destructive",children:[i.jsx("span",{children:m==="OUTLINE_NODE_NOT_FOUND"?"节点不存在(可能已被删除),变更记录不可用":m===jt?"无法连接服务,请确认 ai-editor 服务已启动":"变更记录加载失败"}),m!=="OUTLINE_NODE_NOT_FOUND"&&i.jsx(ve,{variant:"outline",size:"xs",type:"button",onClick:()=>p(v=>v+1),children:"重试"})]}),!u&&m===null&&l!==null&&l.length===0&&i.jsx("p",{className:"py-1 text-xs text-muted-foreground",children:"该节点没有变更记录"}),!u&&m===null&&l!==null&&l.length>0&&i.jsx("ul",{className:"divide-y divide-border/70",children:l.map(v=>i.jsxs("li",{className:"py-2 first:pt-0 last:pb-0",children:[i.jsxs("div",{className:"flex items-baseline gap-2",children:[i.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-foreground",title:v.description,children:v.description}),i.jsx("span",{className:"shrink-0 text-xs text-muted-foreground",children:ws(v.createdAt)})]}),i.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-1.5",children:[i.jsxs("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:[Wm(v.targetType),"《",v.targetName??v.targetId,"》"]}),i.jsx(c1,{changes:v.changes})]})]},v.id))})]})}const Kk=go.map(n=>({value:n,label:Wm(n)})),$k={character:["role","gender","age","personality","motivation","abilities","status","custom_fields"],setting:["category","parent_id","description","rules","custom_fields"],location:["type","parent_id","description","custom_fields"],hook:["status","category","expected_payoff","payoff_timing","half_life","is_core","notes","expected_resolve_node_id"]},Qk={character:dc("character"),setting:dc("setting"),location:dc("location"),hook:dc("hook")};function dc(n){return Object.fromEntries(Qm(n).map(r=>[r.key,r.label]))}const Zk={character:["personality","abilities"],setting:["rules"]},Jk={character:["age"],hook:["half_life"]};function tm(n,r){return(Zk[n]??[]).includes(r)}function Wk(n,r){return(Jk[n]??[]).includes(r)}function e_(n){return($k[n]??[]).filter(l=>l!=="custom_fields").map(l=>({key:l,label:Qk[n]?.[l]??l,array:tm(n,l)}))}function u1(n){if(n!==void 0){if(n===null)return null;if(typeof n=="string"||typeof n=="number")return n}}function Oy(n){return n.array?{options:["add","remove"],default:"add"}:u1(n.currentValue)!==void 0?{options:["update","set"],default:"update"}:{options:["set"],default:"set"}}function t_(n){const r=n.rawValue.trim();if(r==="")return{error:"请填写值"};const l=Number(r),a=n.numeric&&!Number.isNaN(l)?l:r;switch(n.op){case"add":return{change:{field:n.field,op:"add",value:a}};case"remove":return{change:{field:n.field,op:"remove",value:a}};case"set":return{change:{field:n.field,op:"set",to:a}};case"update":{const u=u1(n.currentValue);return u===void 0?{error:"无法确定旧值(当前数据无此字段或类型不可表达),请改用「设为」"}:{change:{field:n.field,op:"update",from:u,to:a}}}}}const co="w-full rounded-md border border-border bg-card px-2 py-1 text-sm text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",n_={set:"设为",update:"更新",add:"追加",remove:"移除"};function s_({nodeId:n,onCreated:r,onClose:l}){const[a,u]=x.useState(""),[f,m]=x.useState(""),[h,b]=x.useState(""),[p,v]=x.useState("add"),[g,S]=x.useState(""),[N,T]=x.useState(""),[_,k]=x.useState(!1),[E,j]=x.useState(null),[D,O]=x.useState(null),[V,R]=x.useState(null),[H,A]=x.useState(0),[$,se]=x.useState(null),[he,re]=x.useState(null);x.useEffect(()=>{if(m(""),se(null),re(null),a===""){O(null),R(null);return}let P=!1;return O(null),R(null),xo(a).then(B=>{P||O(B.items)}).catch(B=>{P||(O(null),R(B instanceof Ke?B.code:jt))}),()=>{P=!0}},[a,H]),x.useEffect(()=>{if(a===""||f==="")return;let P=!1;return se(null),re(null),uo(a,f).then(B=>{P||se(B.data)}).catch(B=>{P||(se(null),re(B instanceof Ke?B.code:jt))}),()=>{P=!0}},[a,f]),x.useEffect(()=>{b(""),S(""),j(null)},[a,f]);const F=e_(a),ne=$?.[h],Q=Oy({array:tm(a,h),currentValue:ne});function C(P){b(P),v(Oy({array:tm(a,P),currentValue:$?.[P]}).default)}async function U(){if(_)return;if(a===""||f===""){j("请选择变更目标");return}if(h===""){j("请选择变更字段");return}const P=N.trim();if(P===""){j("请填写描述(本节点触发了什么变化)");return}const B=t_({field:h,op:p,rawValue:g,numeric:Wk(a,h),currentValue:ne});if("error"in B){j(B.error);return}k(!0),j(null);try{await hm({node_id:n,target_type:a,target_id:f,changes:[B.change],description:P}),Ie.getState().showToast("已记录变更"),r()}catch(M){if(M instanceof Ke&&M.code==="OUTLINE_NODE_NOT_FOUND"){Ie.getState().showToast("节点不存在(可能已被删除),无法记录变更","error"),l();return}j(M instanceof Ke?M.message:"提交失败,请重试")}finally{k(!1)}}const q=a;return i.jsxs("div",{className:"mb-3 space-y-3 rounded-md border border-border bg-muted/40 p-3",children:[i.jsxs("div",{className:"grid gap-3 sm:grid-cols-2",children:[i.jsxs("div",{children:[i.jsx("p",{className:"mb-1 text-xs font-medium text-foreground",children:"目标类型"}),i.jsxs("select",{value:a,onChange:P=>u(P.target.value),className:tt(co,a===""&&"text-muted-foreground"),"aria-label":"目标类型",children:[i.jsx("option",{value:"",children:"请选择目标类型"}),Kk.map(P=>i.jsx("option",{value:P.value,children:P.label},P.value))]})]}),i.jsxs("div",{children:[i.jsx("p",{className:"mb-1 text-xs font-medium text-foreground",children:"目标"}),a===""?i.jsx("p",{className:"py-1 text-xs text-muted-foreground",children:"请先选择目标类型"}):V!==null?i.jsxs("div",{className:"flex items-center gap-2 text-xs text-destructive",children:[i.jsx("span",{children:V===jt?"无法连接服务,请确认 ai-editor 服务已启动":"实体列表加载失败"}),i.jsx(ve,{variant:"outline",size:"xs",type:"button",onClick:()=>A(P=>P+1),children:"重试"})]}):D===null?i.jsx("p",{className:"py-1 text-xs text-muted-foreground",children:"加载中…"}):D.length===0?i.jsxs("p",{className:"py-1 text-xs text-muted-foreground",children:["暂无",Ry(q)]}):i.jsxs("select",{value:f,onChange:P=>m(P.target.value),className:tt(co,f===""&&"text-muted-foreground"),"aria-label":"目标实体",children:[i.jsxs("option",{value:"",children:["请选择",Ry(q)]}),D.map(P=>i.jsx("option",{value:P.id,children:P.name},P.id))]})]})]}),i.jsxs("div",{className:"grid gap-3 sm:grid-cols-[1fr_auto_1fr]",children:[i.jsxs("div",{children:[i.jsx("p",{className:"mb-1 text-xs font-medium text-foreground",children:"字段"}),i.jsxs("select",{value:h,onChange:P=>C(P.target.value),className:tt(co,h===""&&"text-muted-foreground"),"aria-label":"变更字段",children:[i.jsx("option",{value:"",children:"请选择字段"}),F.map(P=>i.jsx("option",{value:P.key,children:P.label},P.key))]})]}),i.jsxs("div",{children:[i.jsx("p",{className:"mb-1 text-xs font-medium text-foreground",children:"操作"}),i.jsx("select",{value:p,onChange:P=>v(P.target.value),className:tt(co,"min-w-20"),"aria-label":"操作",children:Q.options.map(P=>i.jsx("option",{value:P,children:n_[P]},P))})]}),i.jsxs("div",{children:[i.jsx("p",{className:"mb-1 text-xs font-medium text-foreground",children:p==="set"||p==="update"?"新值":p==="add"?"追加值":"移除值"}),i.jsx("input",{value:g,onChange:P=>S(P.target.value),placeholder:p==="remove"?"按值匹配删除":"",className:co})]})]}),p==="update"&&i.jsx("p",{className:"text-xs text-muted-foreground",children:he!==null?i.jsxs(i.Fragment,{children:["目标数据获取失败,无法自动取旧值(",he==="ENTITY_NOT_FOUND"?"目标已不存在":"请稍后重试",")——可将操作改为「设为」"]}):i.jsxs(i.Fragment,{children:["旧值:",ns(ne),"(自动取自目标当前数据,无需手填)"]})}),i.jsxs("div",{children:[i.jsx("p",{className:"mb-1 text-xs font-medium text-foreground",children:"描述"}),i.jsx("textarea",{value:N,onChange:P=>T(P.target.value),rows:2,maxLength:500,placeholder:"本节点触发了什么变化,如:张三获得断剑认可",className:tt(co,"resize-none")})]}),E!==null&&i.jsx("p",{className:"text-sm text-destructive",children:E}),i.jsxs("div",{className:"flex items-center justify-end gap-2",children:[i.jsx(ve,{variant:"ghost",size:"sm",type:"button",onClick:l,disabled:_,children:"取消"}),i.jsx(ve,{size:"sm",type:"button",onClick:()=>{U()},disabled:_,children:_?"提交中…":"创建变更"})]})]})}function Ry(n){return Wm(n)}function d1({items:n,className:r}){return i.jsx("nav",{"aria-label":"面包屑",className:tt("inline-flex items-center gap-1",r),children:n.map((l,a)=>{const u=a===n.length-1;return i.jsxs("span",{className:"inline-flex items-center gap-1",children:[l.href?i.jsx("button",{type:"button",onClick:()=>is(l.href),className:"rounded-md px-2.5 py-1 text-sm text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",children:l.label}):i.jsx("span",{"aria-current":"page",className:"max-w-40 truncate rounded-md bg-foreground px-2.5 py-1 text-sm font-medium text-background",children:l.label}),!u&&i.jsx("span",{className:"select-none text-sm text-muted-foreground/40",children:"›"})]},a)})})}const r_={inner:"内心冲突",personal:"人际冲突",extra_personal:"社会冲突"};function l_(n){switch(n){case"scene":return[{key:"goal",label:"场景目标",control:"textarea",maxLength:1e3},{key:"conflict_levels",label:"冲突层次",control:"checkbox-group",options:Vy,optionsLabels:r_},{key:"value_from",label:"开场价值",control:"text",maxLength:200},{key:"value_to",label:"收场价值",control:"text",maxLength:200}];case"chapter":return[{key:"reversal",label:"章末反转",control:"textarea",maxLength:1e3},{key:"climax_scene",label:"章高潮场景",control:"scene-select"}];case"volume":return[{key:"climax_scene",label:"幕高潮场景",control:"scene-select"},{key:"inciting_scene",label:"激励事件",control:"scene-select"}]}}function o_(n,r){return Vy.includes(r)?n.includes(r)?n.filter(l=>l!==r):[...n,r]:n}function a_(n){const r=[],l=(a,u)=>{for(const f of a)f.type==="scene"?r.push({id:f.id,label:f.title,depth:u}):f.children&&l(f.children,u+1)};return l(n,0),r}function i_(n){return typeof n=="string"&&n!==""?n:""}const nm="w-full rounded-md border border-border bg-card px-3 py-1.5 text-sm text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring";function ya({title:n,children:r,className:l,action:a}){return i.jsxs("div",{className:tt("rounded-xl border border-border bg-card p-4",l),children:[i.jsxs("div",{className:"mb-3 flex items-center justify-between gap-2",children:[i.jsx("h2",{className:"font-serif text-base",children:n}),a]}),r]})}function c_({nodeId:n}){const r=Fe(L=>L.outline),l=Fe(L=>L.outlineLoading),a=Fe(L=>L.config),u=Fe(L=>L.configLoading),f=Fe(L=>L.loadOutline),m=Fe(L=>L.updateConfig),[h,b]=x.useState(!1),[p,v]=x.useState(""),[g,S]=x.useState(""),[N,T]=x.useState(null),[_,k]=x.useState(!1),[E,j]=x.useState(null),[D,O]=x.useState(!1),[V,R]=x.useState(!1),[H,A]=x.useState(0),[$,se]=x.useState(!1),[he,re]=x.useState(0);x.useEffect(()=>{r===null&&!l&&!h&&(b(!0),f())},[r,l,h,f]),Ir(()=>{f(),A(L=>L+1),re(L=>L+1)});const F=r===null?null:Or(r.children,n),ne=r!==null&&F===null,Q=F?l_(F.type):[],C=a_(r?.children??[]),U=a?.currentPosition===n;x.useEffect(()=>{F!==null&&(v(F.title),S(F.summary??""),T(JSON.parse(JSON.stringify(F.data??{}))))},[F]);async function q(){if(F===null||_)return;const L=p.trim();if(L===""){j("标题不能为空");return}const I={};r1(F.title,p)&&(I.title=L),l1(F.summary,g)&&(I.summary=g.trim());const K=Zm(F.data??{},N??{});if(K!==null&&(I.data=K),Object.keys(I).length===0){Ie.getState().showToast("没有变更");return}k(!0),j(null);try{await Zy(F.id,I),Ie.getState().showToast("已保存"),await f()}catch(W){if(W instanceof Ke&&W.code==="OUTLINE_NODE_NOT_FOUND"){await f();return}j(W instanceof Ke?W.message:"保存失败,请重试")}finally{k(!1)}}function P(L,I){T(K=>K&&{...K,[L]:I})}async function B(){if(!(F===null||D||U)){O(!0);try{await m({current_position:F.id}),Ie.getState().showToast("已设为当前位置")}catch{Ie.getState().showToast("设置失败:该节点可能已删除,无法设为当前位置","error")}finally{O(!1)}}}if(ne)return i.jsx("section",{children:i.jsxs("div",{className:"rounded-lg border border-dashed border-border px-6 py-14 text-center",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"该节点不存在或已被删除"}),i.jsxs("div",{className:"mt-4 flex justify-center gap-2",children:[i.jsx("a",{href:"#/trash",className:"rounded-md border border-border px-4 py-1.5 text-sm text-muted-foreground hover:bg-muted",children:"去回收站"}),i.jsx(ve,{variant:"outline",type:"button",onClick:()=>is("/outline"),children:"返回大纲"})]})]})});const M=a===null&&!u,z=[{label:"大纲",href:"/outline"}];if(F!==null){const L=Fm(r?.children??[],n)??[];for(const I of L.slice(0,-1)){const K=Or(r?.children??[],I);K&&z.push({label:K.title,href:`/outline/${I}`})}z.push({label:F.title})}return i.jsxs("section",{children:[i.jsxs("div",{className:"mb-1 flex items-center gap-3",children:[i.jsx(d1,{items:z}),i.jsx("h1",{className:"min-w-0 truncate text-xl font-semibold",children:F?.title??"…"}),i.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[i.jsx(ve,{variant:"outline",type:"button",disabled:F===null||U||D,title:U?"当前节点已是创作进度位置":"标记为创作进度位置(InfoBar 展示 + 定位跳转基准)",onClick:()=>{B()},children:U?"当前位置":"设为当前位置"}),i.jsx(ve,{type:"button",onClick:()=>{q()},disabled:F===null||_,children:_?"保存中…":"保存"})]})]}),F&&i.jsxs("div",{className:"mb-4 flex items-center gap-2 text-xs text-muted-foreground",children:[i.jsx("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-xs",children:ts[F.type]}),i.jsxs("span",{children:["更新于 ",ws(F.updatedAt)]}),U&&i.jsx("span",{className:"shrink-0 rounded bg-accent px-1.5 py-0.5 text-xs text-accent-foreground",children:"当前位置"})]}),M?i.jsxs("div",{className:"rounded-md border border-dashed border-border px-6 py-10 text-center",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"未打开项目,无法编辑大纲"}),i.jsx("a",{href:"#/",className:"mt-2 inline-block text-sm text-muted-foreground underline hover:text-foreground",children:"回到首页打开或创建书籍"})]}):l&&r===null?i.jsx("div",{className:"space-y-2 rounded-md border border-border p-3",children:Array.from({length:6},(L,I)=>i.jsx("div",{className:"h-5 animate-pulse rounded bg-muted",style:{width:`${92-I%3*24}%`,marginLeft:I%3*20}},I))}):r===null?i.jsxs("div",{className:"rounded-md border border-border p-4 text-sm text-muted-foreground",children:["大纲加载失败",i.jsx(ve,{variant:"outline",className:"ml-3",type:"button",onClick:()=>b(!1),children:"重试"})]}):F===null||N===null?null:i.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[i.jsxs("div",{className:"flex min-w-0 flex-col gap-4",children:[i.jsx(ya,{title:"基础信息",children:i.jsxs("div",{className:"flex flex-col gap-3",children:[i.jsxs("div",{children:[i.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"标题"}),i.jsx(Ft,{value:p,onChange:L=>v(L.target.value),maxLength:200,placeholder:`${ts[F.type]}标题`,className:"h-8 text-sm"})]}),i.jsxs("div",{children:[i.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"摘要"}),i.jsx("textarea",{value:g,onChange:L=>S(L.target.value),maxLength:200,rows:3,placeholder:"一句话概括本节点内容(可选)",className:nm})]})]})}),i.jsxs(ya,{title:`结构化信息(${ts[F.type]})`,children:[i.jsx("div",{className:"flex flex-col gap-3",children:Q.map(L=>i.jsxs("div",{children:[i.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:L.label}),i.jsx(u_,{field:L,value:N?.[L.key],sceneOptions:C,onChange:I=>P(L.key,I)})]},L.key))}),E&&i.jsx("p",{className:"mt-3 text-sm text-destructive",children:E})]}),i.jsxs(ya,{title:"变更记录",action:i.jsx(ve,{variant:"outline",size:"sm",type:"button",onClick:()=>se(L=>!L),children:$?"收起":"+ 新建变更"}),children:[$&&i.jsx(s_,{nodeId:n,onCreated:()=>{se(!1),re(L=>L+1)},onClose:()=>se(!1)}),i.jsx(Fk,{nodeId:n,reloadKey:he})]}),i.jsx(ya,{title:"伏笔标记",className:"border-dashed",children:i.jsx("p",{className:"text-sm text-muted-foreground",children:"伏笔标记将在伏笔面板(S9)落地"})})]}),i.jsx("div",{className:"flex min-w-0 flex-col gap-4",children:i.jsxs(ya,{title:"相关实体",children:[i.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[i.jsx("p",{className:"text-xs text-muted-foreground",children:"本节点作为源的关系(1 跳)"}),i.jsx(ve,{variant:"outline",type:"button",className:"h-8 px-2 text-xs",onClick:()=>R(!0),children:"+ 新增关联"})]}),i.jsx(i1,{scope:{type:"outline_node",id:n},reloadKey:H,onOpenCreate:()=>R(!0)})]})})]}),V&&F!==null&&i.jsx(Jm,{source:{type:"outline_node",id:F.id,name:F.title},onCreated:()=>A(L=>L+1),onClose:()=>R(!1)})]})}function u_({field:n,value:r,sceneOptions:l,onChange:a}){switch(n.control){case"textarea":return i.jsx("textarea",{value:typeof r=="string"?r:"",onChange:u=>a(u.target.value),maxLength:n.maxLength,rows:3,className:nm});case"checkbox-group":{const u=Array.isArray(r)?r:[];return i.jsx("div",{className:"flex flex-wrap gap-x-4 gap-y-1.5",children:(n.options??[]).map(f=>i.jsxs("label",{className:"flex cursor-pointer items-center gap-1.5 text-sm text-foreground",children:[i.jsx("input",{type:"checkbox",checked:u.includes(f),onChange:()=>a(o_(u,f)),className:"size-4 accent-primary"}),n.optionsLabels?.[f]??f]},f))})}case"scene-select":{const u=i_(r),f=u!==""&&!l.some(m=>m.id===u);return i.jsxs("select",{value:u,onChange:m=>a(m.target.value),className:tt(nm,u===""&&"text-muted-foreground"),children:[i.jsx("option",{value:"",children:"(未设置)"}),f&&i.jsxs("option",{value:u,children:[u,"(已删除)"]}),l.map(m=>i.jsxs("option",{value:m.id,children:[" ".repeat(m.depth),m.label]},m.id))]})}default:return i.jsx(Ft,{value:typeof r=="string"?r:"",onChange:u=>a(u.target.value),maxLength:n.maxLength,className:"h-8 text-sm"})}}const sm={volume:248,chapter:208,scene:168},po={volume:96,chapter:88,scene:76},jr={padX:48,padY:48,colGap:304,rowGap:28,indentChapter:28,indentScene:56},f1=.5,m1=2,d_="ai-editor:canvas:";function rm(n){return Math.min(m1,Math.max(f1,n))}function f_(n){if(!n)return[];const r=[],l=(a,u,f)=>{for(const m of a)r.push({id:m.id,type:m.type,title:m.title,summary:m.summary,parentId:u,depth:f}),m.type!=="scene"&&m.children&&l(m.children,m.id,f+1)};return l(n.children,null,0),r}function ky(n){const r={};let l=0;for(const a of n){if(a.depth!==0)continue;const u=jr.padX+l*jr.colGap;let f=jr.padY;r[a.id]={x:u,y:f},f+=po[a.type]+jr.rowGap;for(const m of n)if(m.parentId===a.id){r[m.id]={x:u+jr.indentChapter,y:f},f+=po[m.type]+jr.rowGap;for(const h of n)h.parentId===m.id&&(r[h.id]={x:u+jr.indentScene,y:f},f+=po.scene+jr.rowGap)}l+=1}return r}function h1(n){return`${d_}${n}`}function m_(n){if(typeof n!="object"||n===null)return null;const r=n.nodes;if(typeof r!="object"||r===null||Array.isArray(r))return null;const l={};for(const[f,m]of Object.entries(r)){if(typeof m!="object"||m===null)return null;const h=m;if(typeof h.x!="number"||typeof h.y!="number"||!Number.isFinite(h.x)||!Number.isFinite(h.y))return null;l[f]={x:h.x,y:h.y}}const a=n.zoom,u=typeof a=="number"&&Number.isFinite(a)?rm(a):1;return{nodes:l,zoom:u}}function h_(n){try{const r=localStorage.getItem(h1(n));return r===null?null:m_(JSON.parse(r))}catch{return null}}function Af(n,r){try{localStorage.setItem(h1(n),JSON.stringify(r))}catch{}}function p_(n,r,l){const a={};for(const u of l)a[u.id]=n?.[u.id]??r[u.id];return a}function g_(n){const r=[];for(const l of n){if(l.relationType!==qE||l.sourceType!=="outline_node"||l.targetType!=="outline_node")continue;const a=l.metadata?.label,u=typeof a=="string"&&a.trim()!==""?a.trim():void 0;r.push({id:l.id,sourceId:l.sourceId,targetId:l.targetId,label:u})}return r.sort((l,a)=>l.id<a.id?-1:l.id>a.id?1:0),r}function x_(n){return n.filter(r=>r.type==="scene")}function b_(n,r){return n.filter(l=>r.has(l.sourceId)&&r.has(l.targetId))}function _y(n,r){const l=Math.max(32,Math.abs(r.x-n.x)*.5),a=n.x+l,u=r.x-l;return`M ${n.x} ${n.y} C ${a} ${n.y}, ${u} ${r.y}, ${r.x} ${r.y}`}function y_(n,r){const l=Math.max(32,Math.abs(r.x-n.x)*.5),a={x:n.x+l,y:n.y},u={x:r.x-l,y:r.y};return{x:(n.x+3*a.x+3*u.x+r.x)/8,y:(n.y+3*a.y+3*u.y+r.y)/8}}function Mf(n,r){return{x:n.x+sm[r]/2,y:n.y+po[r]/2}}function Ay(n){switch(n){case"RELATION_EXISTS":return"这条连线已经存在";case"VALIDATION_ERROR":return"连线参数有误";case"CLIENT_NETWORK_ERROR":return"无法连接服务,请确认 ai-editor 服务已启动";default:return null}}function v_(){const n=Fe(le=>le.outline),r=Fe(le=>le.outlineLoading),l=Fe(le=>le.config),a=Fe(le=>le.configLoading),u=Fe(le=>le.loadOutline),[f,m]=x.useState({}),[h,b]=x.useState(1),[p,v]=x.useState(!1),[g,S]=x.useState(!0),[N,T]=x.useState(!1),[_,k]=x.useState(null),[E,j]=x.useState(null),[D,O]=x.useState(null),[V,R]=x.useState(null),[H,A]=x.useState(null),[$,se]=x.useState(null),[he,re]=x.useState(null),[F,ne]=x.useState(null),[Q,C]=x.useState(""),[U,q]=x.useState(null),[P,B]=x.useState(!1),M=x.useRef(null),z=x.useRef(null),L=x.useRef(null),I=x.useRef(f);I.current=f;const K=x.useRef(0),W=l?.id??null,Se=l===null&&!a,ie=x.useCallback(async()=>{if(W===null)return;const je=++K.current;try{const Ce=await Ra({source_type:"outline_node",relation_type:"plot_edge",depth:1});if(je!==K.current)return;k(g_(Ce.relations)),j(null)}catch(Ce){if(je!==K.current)return;j(Ce instanceof Ke?Ce.code:jt)}},[W]);Ir(()=>{u(),ie()});const de=x.useMemo(()=>f_(n),[n]),ze=x.useMemo(()=>new Map(de.map(le=>[le.id,le])),[de]),[Ge,Ee]=x.useState(null);x.useEffect(()=>{if(W===null){Ee(null),m({}),b(1);return}const le=h_(W);Ee(W),b(le?.zoom??1),m(le?.nodes??{})},[W]);const ke=Ge===W;x.useEffect(()=>{de.length===0||!ke||m(le=>p_(le,ky(de),de))},[de,ke]),x.useEffect(()=>{if(!(W===null||!ke))return L.current!==null&&window.clearTimeout(L.current),L.current=window.setTimeout(()=>{Af(W,{nodes:f,zoom:h})},300),()=>{L.current!==null&&(window.clearTimeout(L.current),L.current=null,I.current===f&&W!==null&&ke&&Af(W,{nodes:f,zoom:h}))}},[f,W,h,ke]),x.useEffect(()=>{W===null||!ke||Af(W,{nodes:f,zoom:h})},[h,W,ke]),x.useEffect(()=>{n===null&&!r&&!N&&(T(!0),u())},[n,r,N,u]),x.useEffect(()=>{if(W===null){k(null),j(null);return}ie()},[W,ie]),x.useEffect(()=>{if(n===null){O(null);return}let le=!1;return Promise.all(Pm.map(je=>Ra({source_type:"outline_node",relation_type:je,depth:1}).then(Ce=>Ce.relations).catch(()=>[]))).then(je=>{le||O(s1(je.flat()))}),()=>{le=!0}},[n]);const Ae=x.useRef(null),pe=x.useCallback(le=>{if(M.current=le,Ae.current?.(),Ae.current=null,le===null)return;const je=Ce=>{Ce.preventDefault(),b(xt=>rm(Math.round((xt+(Ce.deltaY<0?.1:-.1))*10)/10))};le.addEventListener("wheel",je,{passive:!1}),Ae.current=()=>le.removeEventListener("wheel",je)},[]);x.useEffect(()=>()=>{Ae.current?.(),Ae.current=null},[]),x.useEffect(()=>{if($===null)return;const le=je=>{je.key==="Escape"&&se(null)};return window.addEventListener("keydown",le),()=>window.removeEventListener("keydown",le)},[$]);const Me=p?x_(de):de,we=x.useMemo(()=>new Set(Me.map(le=>le.id)),[Me]),He=x.useMemo(()=>b_(_??[],we),[_,we]),ge=x.useMemo(()=>{const le=[];for(const je of He){const Ce=f[je.sourceId],xt=f[je.targetId],pt=ze.get(je.sourceId),De=ze.get(je.targetId);if(!Ce||!xt||!pt||!De)continue;const bt=Mf(Ce,pt.type),Kt=Mf(xt,De.type);le.push({edge:je,d:_y(bt,Kt),mid:y_(bt,Kt)})}return le},[He,f,ze]),Oe=x.useMemo(()=>{let le=0,je=0;for(const Ce of de){const xt=f[Ce.id];xt&&(le=Math.max(le,xt.x+sm[Ce.type]),je=Math.max(je,xt.y+po[Ce.type]))}return{w:le+96,h:je+96}},[de,f]),_e=x.useMemo(()=>ge.find(le=>le.edge.id===V)??null,[ge,V]),Re=x.useMemo(()=>{if($===null||he===null)return null;const le=ze.get($),je=f[$];return!le||!je?null:_y(Mf(je,le.type),he)},[$,he,f,ze]);function ft(le,je){const Ce=z.current?.getBoundingClientRect();return Ce?{x:(le-Ce.left)/h,y:(je-Ce.top)/h}:{x:0,y:0}}function ce(le,je){if(le.target.closest("[data-canvas-handle]")||le.button!==0)return;le.preventDefault();const Ce=f[je.id];Ce&&(le.currentTarget.setPointerCapture(le.pointerId),A({nodeId:je.id,startClientX:le.clientX,startClientY:le.clientY,origX:Ce.x,origY:Ce.y}))}function G(le,je){if(H===null||H.nodeId!==je)return;const Ce=(le.clientX-H.startClientX)/h,xt=(le.clientY-H.startClientY)/h;m(pt=>pt[je]?{...pt,[je]:{x:H.origX+Ce,y:H.origY+xt}}:pt)}function ue(){A(null)}function Z(le,je){le.stopPropagation(),le.preventDefault(),le.button===0&&(le.currentTarget.setPointerCapture(le.pointerId),R(null),se(je.id),re(ft(le.clientX,le.clientY)))}function ye(le){$!==null&&re(ft(le.clientX,le.clientY))}function Ve(le){if($===null)return;const je=$,pt=document.elementFromPoint(le.clientX,le.clientY)?.closest("[data-canvas-node-id]")?.getAttribute("data-canvas-node-id")??null;se(null),re(null),pt!==null&&pt!==je&&(C(""),q(null),ne({sourceId:je,targetId:pt}))}async function be(le){if(le.preventDefault(),F===null||P)return;const je=F;B(!0),q(null);try{const Ce={source_type:"outline_node",source_id:je.sourceId,target_type:"outline_node",target_id:je.targetId,relation_type:"plot_edge",...Q.trim()!==""?{metadata:{label:Q.trim()}}:{}};await Rc(Ce),Ie.getState().showToast("已建立连线"),ne(null),await ie()}catch(Ce){const xt=Ce instanceof Ke?Ce.code:null,pt=Ay(xt);if(pt!==null){Ie.getState().showToast(pt,"error"),ne(null),await ie();return}q(Ce instanceof Ke?Ce.message:"创建失败,请重试")}finally{B(!1)}}async function Te(){if(_e===null)return;const le=_e.edge;if(await Ie.getState().confirm({title:"删除连线",description:`删除连线「${le.label??"未命名"}」?物理删除不可恢复,可随时重建。`,danger:!0}))try{await mm(le.id),Ie.getState().showToast("已删除连线"),R(null),await ie()}catch(Ce){const xt=Ce instanceof Ke?Ce.code:null,pt=Ay(xt);Ie.getState().showToast(pt??(Ce instanceof Ke?Ce.message:"删除失败,请重试"),"error"),xt==="RELATION_NOT_FOUND"&&(R(null),await ie())}}function Xe(){m(ky(de))}function We(le){b(je=>rm(Math.round((je+le)*10)/10))}return i.jsxs("section",{className:"flex h-full min-h-0 flex-col gap-3",children:[i.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[i.jsx("h1",{className:"mr-auto font-serif text-xl font-medium",children:"画布"}),i.jsx(ve,{variant:"outline",type:"button",onClick:Xe,disabled:de.length===0,children:"自动布局"}),i.jsxs("div",{className:"flex items-center gap-1.5",children:[i.jsx(ve,{variant:"outline",size:"icon-sm",type:"button","aria-label":"缩小",disabled:h<=f1,onClick:()=>We(-.1),children:i.jsx(SN,{})}),i.jsxs("span",{className:"w-12 text-center text-sm tabular-nums text-muted-foreground",children:[Math.round(h*100),"%"]}),i.jsx(ve,{variant:"outline",size:"icon-sm",type:"button","aria-label":"放大",disabled:h>=m1,onClick:()=>We(.1),children:i.jsx(um,{})})]}),i.jsx("div",{className:"flex items-center gap-1 rounded-lg bg-secondary/30 p-1",role:"group","aria-label":"显示模式",children:[!1,!0].map(le=>i.jsx("button",{type:"button",onClick:()=>v(le),"aria-pressed":p===le,className:tt("rounded-md px-2.5 py-1 text-xs transition-colors",p===le?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:le?"仅场景":"全部节点"},String(le)))}),i.jsxs(ve,{variant:"ghost",size:"sm",type:"button",onClick:()=>S(le=>!le),"aria-expanded":g,children:[i.jsx(Xy,{}),"画布说明"]})]}),g&&i.jsxs("p",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:["连线与坐标仅用于推演展示,不参与状态计算",i.jsx("button",{type:"button",className:"rounded p-0.5 hover:bg-muted hover:text-foreground","aria-label":"收起说明",onClick:()=>S(!1),children:i.jsx(_r,{className:"size-3"})})]}),E!==null&&i.jsxs("div",{className:"rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:[E===jt?"无法连接服务,请确认 ai-editor 服务已启动。":"连线加载失败,请重试。",i.jsx(ve,{variant:"outline",className:"ml-3",type:"button",onClick:()=>{ie()},children:"重试"})]}),Se?i.jsxs("div",{className:"rounded-md border border-dashed border-border px-6 py-10 text-center",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"未打开项目,无法查看画布"}),i.jsx("a",{href:"#/",className:"mt-2 inline-block text-sm text-muted-foreground underline hover:text-foreground",children:"回到首页打开或创建书籍"})]}):r&&n===null?i.jsx("div",{className:"flex-1 overflow-hidden rounded-md border border-border bg-muted/20 p-4",children:Array.from({length:3},(le,je)=>i.jsxs("div",{className:"mb-4 flex gap-4",children:[i.jsx("div",{className:"h-24 w-60 animate-pulse rounded-lg bg-muted"}),i.jsx("div",{className:"mt-6 h-24 w-52 animate-pulse rounded-lg bg-muted"}),i.jsx("div",{className:"mt-12 h-20 w-44 animate-pulse rounded-lg bg-muted"})]},je))}):n===null?i.jsxs("div",{className:"rounded-md border border-border p-4 text-sm text-muted-foreground",children:["大纲加载失败",i.jsx(ve,{variant:"outline",className:"ml-3",type:"button",onClick:()=>T(!1),children:"重试"})]}):n.children.length===0?i.jsxs("div",{className:"rounded-lg border border-dashed border-border px-6 py-12 text-center",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"大纲还是空的,先去搭大纲"}),i.jsx(ve,{className:"mt-4",type:"button",onClick:()=>is("/outline"),children:"去大纲"})]}):Me.length===0?i.jsxs("div",{className:"rounded-lg border border-dashed border-border px-6 py-12 text-center",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"当前大纲还没有场景节点"}),i.jsx(ve,{variant:"outline",className:"mt-4",type:"button",onClick:()=>v(!1),children:"显示全部节点"})]}):i.jsx("div",{ref:pe,className:"min-h-0 flex-1 overflow-auto rounded-md border border-border bg-muted/20",onClick:le=>{le.target===le.currentTarget&&R(null)},children:i.jsxs("div",{ref:z,className:"relative",style:{width:Oe.w,height:Oe.h,transform:`scale(${h})`,transformOrigin:"0 0"},onClick:le=>{le.target===le.currentTarget&&R(null)},children:[i.jsxs("svg",{className:"pointer-events-none absolute left-0 top-0",width:Oe.w,height:Oe.h,style:{overflow:"visible"},children:[ge.map(({edge:le,d:je})=>{const Ce=le.id===V;return i.jsxs("g",{children:[i.jsx("path",{d:je,fill:"none",stroke:Ce?"var(--primary)":"var(--border)",strokeWidth:Ce?2.5:2,vectorEffect:"non-scaling-stroke"}),i.jsx("path",{d:je,fill:"none",stroke:"transparent",strokeWidth:14,vectorEffect:"non-scaling-stroke",className:"pointer-events-auto cursor-pointer",onClick:()=>R(Ce?null:le.id)})]},le.id)}),Re!==null&&i.jsx("path",{d:Re,fill:"none",stroke:"var(--primary)",strokeWidth:2,strokeDasharray:"6 4",vectorEffect:"non-scaling-stroke"})]}),ge.map(({edge:le,mid:je})=>i.jsx("span",{className:tt("pointer-events-none absolute max-w-44 -translate-x-1/2 -translate-y-1/2 truncate whitespace-nowrap rounded border bg-card px-1.5 py-0.5 text-[10px]",le.id===V?"border-primary/40 text-primary":"border-border text-muted-foreground"),style:{left:je.x,top:je.y},children:le.label??"未命名连线"},`label-${le.id}`)),_e!==null&&i.jsxs("div",{className:"absolute z-10 flex -translate-x-1/2 items-center gap-1 rounded-lg border border-border bg-card p-1 shadow-sm",style:{left:_e.mid.x,top:_e.mid.y+26},children:[i.jsx("span",{className:"max-w-36 truncate px-1.5 text-xs text-muted-foreground",children:_e.edge.label??"未命名连线"}),i.jsx(ve,{variant:"outline",size:"xs",type:"button",className:"text-destructive hover:bg-destructive/10",onClick:()=>{Te()},children:"删除连线"}),i.jsx("button",{type:"button","aria-label":"取消选择",className:"rounded p-0.5 text-muted-foreground hover:bg-muted hover:text-foreground",onClick:()=>R(null),children:i.jsx(_r,{className:"size-3.5"})})]}),Me.map(le=>{const je=f[le.id];if(!je)return null;const Ce=D?.get(le.id)??[],xt=$===le.id,pt=H?.nodeId===le.id;return i.jsxs("div",{"data-canvas-node-id":le.id,className:tt("group absolute cursor-grab touch-none select-none rounded-lg border bg-card p-2.5 transition-colors active:cursor-grabbing",xt?"border-primary ring-2 ring-ring/40":"border-border",pt&&"opacity-80"),style:{left:je.x,top:je.y,width:sm[le.type],height:po[le.type]},title:"拖动调整位置",onPointerDown:De=>ce(De,le),onPointerMove:De=>G(De,le.id),onPointerUp:ue,children:[i.jsxs("div",{className:"flex items-center gap-1.5",children:[i.jsx("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:ts[le.type]}),i.jsx("span",{className:"min-w-0 flex-1 truncate text-sm font-medium text-foreground",title:le.title,children:le.title}),Ce.length>0&&i.jsx("span",{className:"flex shrink-0 items-center gap-0.5",children:Ce.map(De=>i.jsx(n1,{mark:De},`${De.relationType}-${De.hookId}`))})]}),le.summary&&i.jsx("p",{className:"mt-1 line-clamp-2 text-xs leading-4 text-muted-foreground",children:le.summary}),i.jsx("span",{"data-canvas-handle":!0,className:tt("absolute top-1/2 -right-2 h-4 w-4 -translate-y-1/2 cursor-crosshair rounded-full border bg-card transition-colors",xt?"border-primary bg-primary/10":"border-border hover:border-primary hover:bg-accent"),title:"拖出连线","aria-label":"拖出连线",onPointerDown:De=>Z(De,le),onPointerMove:ye,onPointerUp:Ve})]},le.id)})]})}),i.jsx(ys,{open:F!==null,onOpenChange:le=>!le&&!P&&ne(null),children:i.jsxs(vs,{className:"sm:max-w-sm",children:[i.jsx(Ss,{children:i.jsx(Ns,{children:"新建连线"})}),F!==null&&i.jsxs("form",{id:"create-edge-form",onSubmit:be,className:"flex flex-col gap-3",children:[i.jsxs("p",{className:"text-sm text-muted-foreground",children:[i.jsx("span",{className:"font-medium text-foreground",children:ze.get(F.sourceId)?.title??F.sourceId})," → ",i.jsx("span",{className:"font-medium text-foreground",children:ze.get(F.targetId)?.title??F.targetId})]}),i.jsx(Ft,{value:Q,onChange:le=>C(le.target.value),maxLength:50,placeholder:"连线标签(可选,如「路径A」)",autoFocus:!0}),U!==null&&i.jsx("p",{className:"text-sm text-destructive",children:U})]}),i.jsxs(Es,{children:[i.jsx(ve,{variant:"outline",type:"button",disabled:P,onClick:()=>ne(null),children:"取消"}),i.jsx(ve,{type:"submit",form:"create-edge-form",disabled:P||F===null,children:"创建连线"})]})]})})]})}const ll={character:"人物",setting:"设定",location:"地点",hook:"伏笔"},My=[{value:"updated_at:desc",label:"更新时间(新→旧)",sort:"updated_at",order:"desc"},{value:"updated_at:asc",label:"更新时间(旧→新)",sort:"updated_at",order:"asc"},{value:"name:asc",label:"名称(A→Z)",sort:"name",order:"asc"},{value:"name:desc",label:"名称(Z→A)",sort:"name",order:"desc"},{value:"created_at:desc",label:"创建时间(新→旧)",sort:"created_at",order:"desc"},{value:"created_at:asc",label:"创建时间(旧→新)",sort:"created_at",order:"asc"}];function Dy({type:n}){const r=n==="relations",l=go.includes(n)?n:"character",[a,u]=x.useState(null),[f,m]=x.useState(0),[h,b]=x.useState(!1),[p,v]=x.useState(null),[g,S]=x.useState(""),[N,T]=x.useState(""),[_,k]=x.useState(0),[E,j]=x.useState("updated_at"),[D,O]=x.useState("desc"),[V,R]=x.useState(0);Ir(()=>R(I=>I+1));const[H,A]=x.useState(!1),[$,se]=x.useState(""),[he,re]=x.useState(""),[F,ne]=x.useState(null),[Q,C]=x.useState(!1),U=Bk[l],q=Ny[l],P=Hk(f,ba),B=Math.floor(_/ba)+1;x.useEffect(()=>{S(""),T(""),k(0),j("updated_at"),O("desc"),u(null),v(null),A(!1)},[n]),x.useEffect(()=>{const I=setTimeout(()=>{T(g.trim()),k(0)},300);return()=>clearTimeout(I)},[g]),x.useEffect(()=>{if(r)return;let I=!1;return b(!0),v(null),xo(l,{q:N||void 0,offset:_,limit:ba,sort:E,order:D}).then(K=>{I||(u(K.items),m(K.total))}).catch(K=>{I||(u(null),v(K instanceof Ke?K.code:jt))}).finally(()=>{I||b(!1)}),()=>{I=!0}},[l,N,_,E,D,V,r]);function M(I){const K=My.find(W=>W.value===I);K&&(j(K.sort),O(K.order),k(0))}async function z(I){I.preventDefault();const K=$.trim();if(!K){ne("请输入名称");return}C(!0),ne(null);try{const W=Ny[l],Se={};he.trim()&&(Se[W.key]=he.trim());const ie=await Jy(l,{name:K,data:Se});Ie.getState().showToast(`已创建${ll[l]}《${K}》`),A(!1),is(`/entities/${l}/${ie.id}`)}catch(W){ne(W instanceof Ke?W.message:"创建失败,请重试")}finally{C(!1)}}function L(){S(""),T(""),k(0)}return i.jsxs("section",{children:[i.jsx("h1",{className:"mb-4 text-xl font-semibold",children:"实体"}),i.jsxs("div",{className:"flex flex-wrap items-center gap-3 border-b border-zinc-200 pb-3",children:[i.jsxs("div",{className:"flex gap-1",children:[go.map(I=>i.jsx("button",{type:"button",onClick:()=>is(`/entities/${I}`),className:tt("rounded-md px-3 py-1.5 text-sm",!r&&l===I?"bg-zinc-900 text-white":"text-zinc-500 hover:bg-zinc-100 hover:text-zinc-800"),children:ll[I]},I)),i.jsx("button",{type:"button",onClick:()=>is("/entities/relations"),className:tt("rounded-md px-3 py-1.5 text-sm",r?"bg-foreground font-medium text-background":"text-muted-foreground hover:bg-muted hover:text-foreground"),children:"关联"})]}),i.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[!r&&i.jsx(Ft,{value:g,onChange:I=>S(I.target.value),placeholder:`搜索${ll[l]}名称…`,className:"w-52"}),i.jsx(ve,{type:"button",onClick:()=>A(!0),children:r?"+ 建立关联":"+ 新建"})]})]}),r?i.jsx(i1,{reloadKey:V,onOpenCreate:()=>A(!0)}):i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"mb-2 mt-3 flex items-center gap-3",children:[i.jsxs("label",{className:"flex items-center gap-2 text-sm text-zinc-500",children:["排序:",i.jsx("select",{value:`${E}:${D}`,onChange:I=>M(I.target.value),className:"rounded-md border border-zinc-300 bg-white px-2 py-1 text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-zinc-400",children:My.map(I=>i.jsx("option",{value:I.value,children:I.label},I.value))})]}),i.jsxs("span",{className:"ml-auto text-sm text-zinc-400",children:["共 ",f," 个"]})]}),p!==null&&i.jsxs("div",{className:"mb-3 rounded-md border border-red-200 bg-red-50 px-3 py-2 text-sm text-red-700",children:[p===jt?"无法连接服务,请确认 ai-editor 服务已启动。":"列表加载失败,请重试。",i.jsx(ve,{variant:"outline",className:"ml-3",type:"button",onClick:()=>R(I=>I+1),children:"重试"})]}),h&&a===null&&p===null&&i.jsx("div",{className:"overflow-hidden rounded-md border border-zinc-200",children:Array.from({length:6},(I,K)=>i.jsxs("div",{className:"flex items-center gap-3 border-b border-zinc-100 px-3 py-3 last:border-0",children:[i.jsx("div",{className:"h-4 w-1/4 animate-pulse rounded bg-zinc-100"}),i.jsx("div",{className:"h-4 w-1/6 animate-pulse rounded bg-zinc-100"}),U.key2&&i.jsx("div",{className:"h-4 w-1/6 animate-pulse rounded bg-zinc-100"}),i.jsx("div",{className:"ml-auto h-4 w-16 animate-pulse rounded bg-zinc-100"})]},K))}),!h&&a!==null&&a.length===0&&i.jsx("div",{className:"rounded-lg border border-dashed border-zinc-300 px-6 py-12 text-center",children:N?i.jsxs(i.Fragment,{children:[i.jsxs("p",{className:"text-sm text-zinc-600",children:["没有匹配「",N,"」的",ll[l]]}),i.jsx(ve,{variant:"outline",className:"mt-4",type:"button",onClick:L,children:"清空搜索"})]}):i.jsxs(i.Fragment,{children:[i.jsxs("p",{className:"text-sm text-zinc-600",children:["还没有",ll[l],",新建一个"]}),i.jsxs(ve,{className:"mt-4",type:"button",onClick:()=>A(!0),children:["+ 新建",ll[l]]})]})}),!h&&a!==null&&a.length>0&&i.jsx("div",{className:"overflow-hidden rounded-md border border-zinc-200",children:i.jsxs("table",{className:"w-full text-left text-sm",children:[i.jsx("thead",{children:i.jsxs("tr",{className:"border-b border-zinc-200 bg-zinc-50 text-xs text-zinc-400",children:[i.jsx("th",{className:"px-3 py-2 font-normal",children:"名称"}),i.jsx("th",{className:"px-3 py-2 font-normal",children:U.label1}),U.key2&&i.jsx("th",{className:"px-3 py-2 font-normal",children:U.label2}),i.jsx("th",{className:"px-3 py-2 text-right font-normal",children:"更新时间"})]})}),i.jsx("tbody",{children:a.map(I=>i.jsxs("tr",{className:"cursor-pointer border-b border-zinc-100 transition-colors last:border-0 hover:bg-zinc-50",onClick:()=>is(`/entities/${l}/${I.id}`),title:`打开《${I.name}》`,children:[i.jsx("td",{className:"max-w-64 truncate px-3 py-2 font-medium text-zinc-800",children:I.name}),i.jsx("td",{className:"max-w-40 truncate px-3 py-2 text-zinc-600",children:Rf(l,U.key1,I.summary[U.key1])}),U.key2&&i.jsx("td",{className:"max-w-40 truncate px-3 py-2 text-zinc-600",children:Rf(l,U.key2,I.summary[U.key2])}),i.jsx("td",{className:"whitespace-nowrap px-3 py-2 text-right text-xs text-zinc-400",children:ws(I.updatedAt)})]},I.id))})]})}),!h&&a!==null&&a.length>0&&i.jsxs("div",{className:"mt-4 flex items-center justify-center gap-3 text-sm",children:[i.jsx("button",{type:"button",disabled:B<=1||h,className:"rounded-md border border-zinc-300 px-3 py-1 text-zinc-600 hover:bg-zinc-100 disabled:opacity-40",onClick:()=>k((B-2)*ba),children:"‹ 上一页"}),i.jsxs("span",{className:"text-zinc-500",children:["第 ",B," / ",P," 页"]}),i.jsx("button",{type:"button",disabled:B>=P||h,className:"rounded-md border border-zinc-300 px-3 py-1 text-zinc-600 hover:bg-zinc-100 disabled:opacity-40",onClick:()=>k(B*ba),children:"下一页 ›"})]}),i.jsx(ys,{open:H,onOpenChange:I=>!I&&A(!1),children:i.jsxs(vs,{className:"sm:max-w-md",children:[i.jsx(Ss,{children:i.jsxs(Ns,{children:["新建",ll[l]]})}),i.jsxs("form",{id:"create-entity-form",onSubmit:z,className:"flex flex-col gap-3",children:[i.jsxs("div",{children:[i.jsx("p",{className:"mb-1 text-sm font-medium text-zinc-700",children:"名称(必填)"}),i.jsx(Ft,{value:$,onChange:I=>se(I.target.value),placeholder:`如:${l==="character"?"张三":"示例名称"}`,maxLength:100})]}),i.jsxs("div",{children:[i.jsx("p",{className:"mb-1 text-sm font-medium text-zinc-700",children:q.label}),q.input==="select"?i.jsx("select",{value:he,onChange:I=>re(I.target.value),className:"w-full rounded-md border border-zinc-300 bg-white px-3 py-1.5 text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-zinc-400",children:q.options?.map(I=>i.jsx("option",{value:I,children:Rf(l,q.key,I)},I))}):i.jsx(Ft,{value:he,onChange:I=>re(I.target.value),placeholder:l==="character"?"如:主角 / 配角":"选填"})]}),F&&i.jsx("p",{className:"text-sm text-red-600",children:F})]}),i.jsxs(Es,{children:[i.jsx(ve,{variant:"outline",type:"button",onClick:()=>A(!1),disabled:Q,children:"取消"}),i.jsx(ve,{type:"submit",form:"create-entity-form",disabled:Q,children:"创建"})]})]})})]}),r&&H&&i.jsx(Jm,{source:null,onCreated:()=>R(I=>I+1),onClose:()=>A(!1)})]})}function S_({type:n,id:r,currentData:l,deltaCount:a}){const u=Fe(j=>j.outline),f=Fe(j=>j.config),m=Fe(j=>j.loadOutline),[h,b]=x.useState(()=>{const j=Fe.getState().config?.currentPosition??"",D=Fe.getState().outline?.children??[];return j!==""&&dl(D).some(O=>O.id===j)?j:""}),[p,v]=x.useState(!1),[g,S]=x.useState(null),[N,T]=x.useState(null);x.useEffect(()=>{b(j=>{if(j!=="")return j;const D=f?.currentPosition??"";return D!==""&&dl(u?.children??[]).some(O=>O.id===D)?D:""})},[f?.currentPosition,u]);const _=dl(u?.children??[]),k=new Map(_.map(j=>[j.id,j.label]));async function E(){if(!(!h||p)){v(!0),T(null);try{const j=await p2({target_type:n,target_id:r,at_node_id:h});S(j)}catch(j){S(null),j instanceof Ke&&j.code==="OUTLINE_NODE_NOT_FOUND"?T("该节点已不存在,请重新选择计算节点"):T(j instanceof Ke?j.message:"无法连接服务,请确认 ai-editor 服务已启动")}finally{v(!1)}}}return i.jsxs("div",{className:"mb-4 rounded-md border border-border p-4",children:[i.jsxs("h2",{className:"mb-2 text-sm font-semibold text-foreground",children:["变更记录 · 状态预览",i.jsxs("span",{className:"ml-2 text-xs font-normal text-muted-foreground",children:[a," 条"]})]}),a===0?i.jsx("p",{className:"text-sm text-muted-foreground",children:"暂无变更记录——实体当前状态即初始状态"}):i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"flex flex-wrap items-end gap-2",children:[i.jsxs("div",{className:"flex flex-col gap-1",children:[i.jsx("span",{className:"text-xs text-muted-foreground",children:"计算节点(到达该节点时的累积状态)"}),u===null?i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-xs text-muted-foreground",children:"大纲未加载"}),i.jsx(ve,{variant:"outline",size:"xs",type:"button",onClick:()=>{m()},children:"加载大纲"})]}):i.jsxs("select",{value:h,onChange:j=>b(j.target.value),"aria-label":"计算节点",className:tt("min-w-56 rounded-md border border-border bg-card px-2 py-1 text-sm text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",h===""&&"text-muted-foreground"),children:[i.jsx("option",{value:"",children:"请选择大纲节点"}),_.map(j=>i.jsxs("option",{value:j.id,children:[" ".repeat(j.depth),j.label]},j.id))]})]}),i.jsx(ve,{variant:"outline",size:"sm",type:"button",disabled:!h||p,onClick:()=>{E()},children:p?"计算中…":"计算"})]}),f?.currentPosition==null&&i.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"未设置当前位置,请手动选择计算节点"}),N!==null&&i.jsx("div",{className:"mt-3 rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:N}),p&&i.jsxs("div",{className:"mt-3 space-y-2",children:[i.jsx("div",{className:"h-4 w-2/3 animate-pulse rounded bg-muted"}),i.jsx("div",{className:"h-4 w-1/2 animate-pulse rounded bg-muted"}),i.jsx("div",{className:"h-16 animate-pulse rounded bg-muted/60"})]}),!p&&g!==null&&i.jsx(E_,{result:g,currentData:l,nodeTitles:k})]})]})}function E_({result:n,currentData:r,nodeTitles:l}){const a=Pk(r,n.state),u=l.get(n.atNodeId)??n.atNodeId;return i.jsxs("div",{className:"mt-3 space-y-3",children:[n.conflicts.length>0&&i.jsxs("div",{className:"rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2",children:[i.jsxs("div",{className:"flex items-center gap-1.5 text-sm font-medium text-destructive",children:[i.jsx(dm,{className:"size-3.5 shrink-0"}),"发现 ",n.conflicts.length," 处状态冲突"]}),i.jsx("p",{className:"mt-0.5 text-xs text-destructive/90",children:"手动编辑的数据与变更记录不一致,以下变更未应用(可直接修改当前数据,或调整变更记录):"}),i.jsx("ul",{className:"mt-1 space-y-0.5",children:n.conflicts.map((f,m)=>i.jsxs("li",{className:"text-xs text-destructive",children:[f.field,":记录应为 ",ns(f.expected),",实际为 ",ns(f.actual)]},m))})]}),i.jsxs("div",{children:[i.jsxs("h3",{className:"mb-1.5 text-xs font-medium text-muted-foreground",children:["状态差异(相对当前数据 · 到达《",u,"》",a.length>0?`,${a.length} 处`:"",")"]}),a.length===0?i.jsx("p",{className:"text-xs text-muted-foreground",children:"计算状态与当前数据一致"}):i.jsx("ul",{className:"space-y-1",children:a.map(f=>i.jsxs("li",{className:"flex items-baseline gap-2 text-xs",children:[i.jsx("span",{className:"shrink-0 font-medium text-foreground",children:f.field}),i.jsxs("span",{className:"text-muted-foreground",children:[f.from===void 0?"(无)":ns(f.from)," →"," ",f.to===void 0?"(已移除)":ns(f.to)]})]},f.field))})]}),i.jsxs("div",{children:[i.jsxs("h3",{className:"mb-1.5 text-xs font-medium text-muted-foreground",children:["应用的变更记录(",n.appliedDeltas.length,")"]}),n.appliedDeltas.length===0?i.jsx("p",{className:"text-xs text-muted-foreground",children:"到达该节点前没有变更被应用"}):i.jsx("ul",{className:"divide-y divide-border/70 rounded-md border border-border",children:n.appliedDeltas.map((f,m)=>i.jsxs("li",{className:"px-3 py-2",children:[i.jsxs("div",{className:"flex flex-wrap items-baseline gap-2",children:[i.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-foreground",title:f.description,children:f.description}),i.jsxs("span",{className:"shrink-0 text-xs text-muted-foreground",children:["《",l.get(f.nodeId)??f.nodeId,"》"]})]}),f.skipped!==void 0&&f.skipped.length>0&&i.jsx("ul",{className:"mt-1 space-y-0.5",children:f.skipped.map(h=>i.jsxs("li",{className:"text-xs text-destructive",children:[h.field,":记录应为 ",ns(h.expected),",实际 ",ns(h.actual),"(已跳过)"]},h.index))}),i.jsx("div",{className:"mt-1.5",children:i.jsx(c1,{changes:f.changes,skipped:f.skipped?.map(h=>h.index)})})]},m))})]})]})}const N_={character:"人物",setting:"设定",location:"地点",hook:"伏笔"};function va(n,r){const l=n[r];return l==null?"":String(l)}function T_({values:n,onChange:r,placeholder:l}){return i.jsxs("div",{className:"flex flex-col gap-1.5",children:[n.map((a,u)=>i.jsxs("div",{className:"flex items-center gap-1.5",children:[i.jsx(Ft,{value:a,onChange:f=>{const m=[...n];m[u]=f.target.value,r(m)},placeholder:l,className:"h-8 flex-1 text-sm"}),i.jsx(ve,{variant:"outline",type:"button",className:"h-8 px-2 text-xs",onClick:()=>r(n.filter((f,m)=>m!==u)),children:"删除"})]},u)),i.jsx(ve,{variant:"outline",type:"button",className:"h-8 self-start px-2 text-xs",onClick:()=>r([...n,""]),children:"+ 添加"})]})}function w_({value:n,onChange:r}){const[l,a]=x.useState(()=>Object.entries(n??{}).map(([f,m])=>({key:f,value:String(m??"")})));x.useEffect(()=>{a(Object.entries(n??{}).map(([f,m])=>({key:f,value:String(m??"")})))},[n]);function u(f){a(f);const m={};for(const h of f)h.key.trim()&&(m[h.key.trim()]=h.value);r(m)}return i.jsxs("div",{className:"flex flex-col gap-1.5",children:[l.map((f,m)=>i.jsxs("div",{className:"flex items-center gap-1.5",children:[i.jsx(Ft,{value:f.key,onChange:h=>u(l.map((b,p)=>p===m?{...b,key:h.target.value}:b)),placeholder:"键",className:"h-8 w-28 text-sm"}),i.jsx(Ft,{value:f.value,onChange:h=>u(l.map((b,p)=>p===m?{...b,value:h.target.value}:b)),placeholder:"值",className:"h-8 flex-1 text-sm"}),i.jsx(ve,{variant:"outline",type:"button",className:"h-8 px-2 text-xs",onClick:()=>u(l.filter((h,b)=>b!==m)),children:"删除"})]},m)),i.jsx(ve,{variant:"outline",type:"button",className:"h-8 self-start px-2 text-xs",onClick:()=>u([...l,{key:"",value:""}]),children:"+ 添加字段"})]})}function j_({type:n,id:r}){const l=n,[a,u]=x.useState(null),[f,m]=x.useState(!1),[h,b]=x.useState(!1),[p,v]=x.useState(null),[g,S]=x.useState(null),[N,T]=x.useState(!1),[_,k]=x.useState(null),[E,j]=x.useState(!1),[D,O]=x.useState(null),[V,R]=x.useState(!1),[H,A]=x.useState(!1),$=Qm(l);async function se(){m(!0),v(null),b(!1);try{const C=await uo(l,r);u(C),S(JSON.parse(JSON.stringify(C.data)))}catch(C){u(null),S(null),C instanceof Ke&&C.code==="ENTITY_NOT_FOUND"?b(!0):v(C instanceof Ke?C.code:jt)}finally{m(!1)}}x.useEffect(()=>{se()},[l,r]),Ir(()=>{se()});async function he(){if(!a||!g||N)return;const C=Zm(a.data,g);if(!C){Ie.getState().showToast("没有变更");return}T(!0),k(null);try{await Oc(l,r,{data:C}),Ie.getState().showToast("已保存"),await se()}catch(U){if(U instanceof Ke&&U.code==="ENTITY_NOT_FOUND"){b(!0);return}k(U instanceof Ke?U.message:"保存失败,请重试")}finally{T(!1)}}function re(C,U){S(q=>q&&{...q,[C]:U})}async function F(){if(a)try{const C=await Wy(l,r),U=[];C.cascaded.relations>0&&U.push(`${C.cascaded.relations} 条关联`),C.cascaded.deltas>0&&U.push(`${C.cascaded.deltas} 条变更记录`),Ie.getState().showToast(`已移入回收站,可随时还原${U.length>0?`(含 ${U.join("、")})`:""}`),R(!1),is(`/entities/${l}`)}catch(C){throw C}}async function ne(){if(D)try{await mm(D.id),Ie.getState().showToast("已删除关系"),O(null),await se()}catch(C){throw C}}function Q(C,U){return(U==="source"?C.sourceId:C.targetId)===r?a?.name??"本实体":(U==="source"?C.sourceName:C.targetName)??(U==="source"?C.sourceId:C.targetId)}return h?i.jsx("section",{children:i.jsxs("div",{className:"rounded-lg border border-dashed border-zinc-300 px-6 py-14 text-center",children:[i.jsx("p",{className:"text-sm text-zinc-600",children:"该实体不存在或已被删除"}),i.jsxs("div",{className:"mt-4 flex justify-center gap-2",children:[i.jsx("a",{href:"#/trash",className:"rounded-md border border-zinc-300 px-4 py-1.5 text-sm text-zinc-600 hover:bg-zinc-100",children:"去回收站"}),i.jsx(ve,{variant:"outline",type:"button",onClick:()=>is(`/entities/${l}`),children:"返回列表"})]})]})}):i.jsxs("section",{children:[i.jsxs("div",{className:"mb-1 flex items-center gap-3",children:[i.jsx(d1,{items:[{label:"实体",href:"/entities/character"},{label:N_[l],href:`/entities/${l}`},{label:a?.name??"…"}]}),i.jsx("h1",{className:"min-w-0 truncate text-xl font-semibold",children:a?.name??"…"}),i.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[i.jsx(ve,{variant:"outline",type:"button",onClick:()=>{he()},disabled:!a||N,children:N?"保存中…":"保存"}),i.jsx(ve,{variant:"outline",type:"button",disabled:!a,className:"text-red-600 hover:bg-red-50",onClick:()=>R(!0),children:"移入回收站"})]})]}),a&&i.jsxs("p",{className:"mb-4 text-xs text-muted-foreground",children:["创建于 ",ws(a.createdAt)," · 更新于 ",ws(a.updatedAt)," ·"," ",i.jsxs("button",{type:"button",onClick:()=>A(C=>!C),title:"展开状态预览:计算该实体在任意大纲节点处的累积状态",className:"text-muted-foreground underline-offset-2 hover:text-primary hover:underline",children:["变更记录 ",a.deltaCount," 条"]})]}),a&&H&&i.jsx(S_,{type:l,id:r,currentData:a.data,deltaCount:a.deltaCount}),f&&!a&&i.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[i.jsx("div",{className:"space-y-3 rounded-md border border-zinc-200 p-4",children:Array.from({length:5},(C,U)=>i.jsx("div",{className:"h-9 animate-pulse rounded bg-zinc-100"},U))}),i.jsx("div",{className:"space-y-3 rounded-md border border-zinc-200 p-4",children:Array.from({length:3},(C,U)=>i.jsx("div",{className:"h-9 animate-pulse rounded bg-zinc-100"},U))})]}),!f&&!a&&p!==null&&i.jsxs("div",{className:"rounded-md border border-zinc-200 p-4 text-sm text-zinc-600",children:[p===jt?"无法连接服务,请确认 ai-editor 服务已启动。":"详情加载失败,请重试。",i.jsx(ve,{variant:"outline",className:"ml-3",type:"button",onClick:()=>{se()},children:"重试"})]}),a&&g&&i.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[i.jsxs("div",{className:"rounded-md border border-zinc-200 p-4",children:[i.jsx("h2",{className:"mb-3 text-sm font-semibold text-zinc-700",children:"基础信息"}),i.jsxs("div",{className:"flex flex-col gap-3",children:[$.map(C=>i.jsxs("div",{children:[i.jsx("p",{className:"mb-1 text-sm font-medium text-zinc-700",children:C.label}),i.jsx(C_,{field:C,value:g[C.key],onChange:U=>re(C.key,U)})]},C.key)),"custom_fields"in a.data&&i.jsxs("div",{children:[i.jsx("p",{className:"mb-1 text-sm font-medium text-zinc-700",children:"自定义字段"}),i.jsx(w_,{value:g.custom_fields,onChange:C=>re("custom_fields",C)})]})]}),_&&i.jsx("p",{className:"mt-3 text-sm text-red-600",children:_})]}),i.jsxs("div",{className:"rounded-md border border-zinc-200 p-4",children:[i.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[i.jsx("h2",{className:"text-sm font-semibold text-zinc-700",children:"关联(1 跳)"}),i.jsx(ve,{variant:"outline",type:"button",className:"h-8 px-2 text-xs",onClick:()=>j(!0),children:"+ 新增关联"})]}),a.relations.length===0?i.jsx("p",{className:"py-6 text-center text-sm text-zinc-400",children:"暂无关联,新增一个"}):i.jsx("ul",{className:"divide-y divide-zinc-100",children:a.relations.map(C=>{const U=C.sourceId===r,q=Q(C,"source"),P=Q(C,"target");return i.jsxs("li",{className:"flex items-center gap-2 py-2 text-sm",children:[i.jsx("span",{className:"min-w-0 max-w-28 truncate text-zinc-700",children:q}),i.jsxs("span",{className:"shrink-0 rounded bg-zinc-100 px-1.5 py-0.5 text-xs text-zinc-500",children:[cl(C.relationType)," ",U?"→":"←"]}),i.jsx("span",{className:"min-w-0 flex-1 truncate text-zinc-700",children:P}),i.jsx(ve,{variant:"outline",type:"button",className:"h-7 shrink-0 px-2 text-xs text-red-600 hover:bg-red-50",onClick:()=>O(C),children:"删除"})]},C.id)})})]})]}),E&&i.jsx(Jm,{source:{type:l,id:r,name:a?.name??""},onCreated:se,onClose:()=>j(!1)}),D&&i.jsx(hl,{title:"删除关系",description:`删除关系「${Q(D,"source")} ${cl(D.relationType)} ${Q(D,"target")}」?物理删除不可恢复,可重新建立。`,confirmLabel:"删除",danger:!0,onConfirm:ne,onClose:()=>O(null)}),V&&i.jsx(hl,{title:"移入回收站",description:`将《${a?.name??""}》移入回收站。关联关系与变更记录将一并移入,可在回收站还原。`,confirmLabel:"移入回收站",danger:!0,onConfirm:F,onClose:()=>R(!1)})]})}function C_({field:n,value:r,onChange:l}){switch(n.control){case"textarea":return i.jsx("textarea",{value:va({[n.key]:r},n.key),onChange:a=>l(a.target.value),rows:3,className:"w-full rounded-md border border-zinc-300 px-3 py-1.5 text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-zinc-400"});case"number":return i.jsx(Ft,{type:"number",value:va({[n.key]:r},n.key),onChange:a=>l(a.target.value===""?void 0:Number(a.target.value)),className:"h-8 text-sm"});case"tags":return i.jsx(T_,{values:Array.isArray(r)?r:[],onChange:l,placeholder:"输入后回车添加下一项"});case"select":return i.jsx("select",{value:va({[n.key]:r},n.key),onChange:a=>l(a.target.value),className:"w-full rounded-md border border-zinc-300 bg-white px-3 py-1.5 text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-zinc-400",children:n.options?.map(a=>i.jsx("option",{value:a,children:n.optionsLabels?.[a]??a},a))});case"toggle":return i.jsx("input",{type:"checkbox",checked:r===!0,onChange:a=>l(a.target.checked),className:"h-4 w-4 accent-zinc-900"});case"outline-node":return i.jsx(O_,{value:va({[n.key]:r},n.key),onChange:l});default:return i.jsx(Ft,{value:va({[n.key]:r},n.key),onChange:a=>l(a.target.value),className:"h-8 text-sm"})}}function O_({value:n,onChange:r}){const l=Fe(u=>u.outline),a=dl(l?.children??[]);return i.jsxs("select",{value:n,onChange:u=>r(u.target.value===""?null:u.target.value),className:tt("w-full rounded-md border border-zinc-300 bg-white px-3 py-1.5 text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-zinc-400",n===""&&"text-zinc-400"),children:[i.jsx("option",{value:"",children:"未设置"}),a.map(u=>i.jsxs("option",{value:u.id,children:[" ".repeat(u.depth),u.label]},u.id))]})}function R_(n){return n==="resolved"?"resolved":n==="abandoned"?"abandoned":"active"}function k_(n){const r={active:[],resolved:[],abandoned:[]};for(const l of n)r[R_(l.summary.status)].push(l);return r}function Rr(n,r){return n.filter(l=>l.relationType===r)}function p1(n,r){return Rr(n,"depends_on").filter(l=>l.sourceId===r).map(l=>l.targetName??l.targetId)}function __(n,r){return Rr(n,"depends_on").filter(l=>l.targetId===r).map(l=>l.sourceName??l.sourceId)}function zy(n,r){return __(n,r).length}function A_(n,r){return Rr(n,"involves").map(l=>l.sourceId===r?l.targetName??l.targetId:l.sourceName??l.sourceId)}const M_=3;function D_(n){const r=n.maxDepth??M_,l=[],a=new Set([n.startHookId]),u=[{hookId:n.startHookId,depth:0}];for(;u.length>0;){const{hookId:f,depth:m}=u.shift();if(l.push({hookId:f,name:n.names.get(f)??f,depth:m}),!(m>=r))for(const h of n.depsOf.get(f)??[])h.relationType!=="depends_on"||h.sourceId!==f||a.has(h.targetId)||(a.add(h.targetId),u.push({hookId:h.targetId,depth:m+1}))}return l}function g1(n,r){if(!n)return!1;const l=[...n.children];for(;l.length>0;){const a=l.pop();if(a.id===r)return a.deleted!==!0;a.type!=="scene"&&a.children&&l.push(...a.children)}return!1}function z_(n){if(!n)return null;let r=null;const l=a=>{if(a.deleted!==!0&&(r=a.id,a.type!=="scene"&&a.children))for(const u of a.children)l(u)};for(const a of n.children)l(a);return r}function L_(n,r){const l=n?.currentPosition;return l!=null&&l!==""&&g1(r,l)?l:z_(r)}const x1={advance:"progressing",resolve:"resolved",abandon:"abandoned"},U_={advance:"advances",resolve:"resolves"};function Ly(n){const r=n.status;return typeof r=="string"&&r!==""?r:"planted"}function b1(n,r){return{field:"status",op:"update",from:n,to:r}}function I_(n,r,l){return{source_type:"outline_node",source_id:l,target_type:"hook",target_id:r,relation_type:U_[n]}}function H_(n,r){return{source_type:"outline_node",source_id:r,target_type:"hook",target_id:n,relation_type:"plants"}}function y1(n){return{status:n}}async function B_(n){const r=x1[n.kind];await hm({node_id:n.nodeId,target_type:"hook",target_id:n.hookId,changes:[b1(n.fromStatus,r)],description:n.description});try{await Rc(I_(n.kind,n.hookId,n.nodeId))}catch(l){if(!(l instanceof Ke&&l.code==="RELATION_EXISTS"))throw l}await Oc("hook",n.hookId,{data:y1(r)})}async function Y_(n){await hm({node_id:n.nodeId,target_type:"hook",target_id:n.hookId,changes:[b1(n.fromStatus,"abandoned")],description:n.description}),await Oc("hook",n.hookId,{data:y1("abandoned")})}const Df={advance:"推进",resolve:"回收",abandon:"废弃"};function V_(n){return n==="resolved"||n==="abandoned"}function Sa(n,r){const l=n[r];return l==null?"":String(l)}function q_(){const[n,r]=x.useState(null),[l,a]=x.useState(!1),[u,f]=x.useState(null),[m,h]=x.useState(0);Ir(()=>h(be=>be+1));const[b,p]=x.useState([]),[v,g]=x.useState(!1),[S,N]=x.useState(null),[T,_]=x.useState(!1),[k,E]=x.useState(null),[j,D]=x.useState(null),[O,V]=x.useState("advance"),[R,H]=x.useState(""),[A,$]=x.useState(""),[se,he]=x.useState(null),[re,F]=x.useState(!1),[ne,Q]=x.useState(null),[C,U]=x.useState(null),[q,P]=x.useState(null),[B,M]=x.useState(!1),[z,L]=x.useState(null),[I,K]=x.useState(!1),[W,Se]=x.useState(""),[ie,de]=x.useState({}),[ze,Ge]=x.useState(""),[Ee,ke]=x.useState(null),[Ae,pe]=x.useState(!1),[Me,we]=x.useState({}),He=Fe(be=>be.config),ge=Fe(be=>be.outline),Oe=dl(ge?.children??[]),_e=n===null?null:k_(n);x.useEffect(()=>{let be=!1;return a(!0),f(null),g(!1),we({}),xo("hook",{}).then(Te=>{be||r(Te.items)}).catch(Te=>{be||(r(null),f(Te instanceof Ke?Te.code:jt))}),Ra({source_type:"hook",relation_type:"depends_on",depth:1}).then(Te=>{be||p(Te.relations)}).catch(()=>{be||g(!0)}).finally(()=>{be||a(!1)}),()=>{be=!0}},[m]),x.useEffect(()=>{Fe.getState().outline===null&&Fe.getState().config!==null&&Fe.getState().loadOutline()},[]);async function Re(be){N(null),_(!0),E(null);try{N(await uo("hook",be.id))}catch(Te){E(Te instanceof Ke?Te.message:"详情加载失败,请重试")}finally{_(!1)}}async function ft(be,Te){D(null),he(null),$("");try{const Xe=await uo("hook",Te.id),We=Fe.getState().config?.currentPosition,le=We!=null&&We!==""&&g1(ge,We)?We:"";H(le),V(be),D(Xe)}catch{Ie.getState().showToast("无法读取伏笔状态,请重试","error")}}async function ce(){const be=j;if(!be||re)return;const Te=O;F(!0),he(null);try{if(Te==="abandon"){const Xe=L_(He,ge);if(Xe===null){he("大纲为空,无法记录废弃变更");return}await Y_({hookId:be.id,fromStatus:Ly(be.data),nodeId:Xe,description:A.trim()})}else{if(R===""){he("请选择大纲节点");return}await B_({kind:Te,hookId:be.id,fromStatus:Ly(be.data),nodeId:R,description:A.trim()})}Ie.getState().showToast(`已${Df[Te]}`),D(null),h(Xe=>Xe+1)}catch(Xe){he(Xe instanceof Ke?Xe.message:"操作失败,请重试")}finally{F(!1)}}async function G(be){Q(null),P(null);try{const Te=await uo("hook",be.id);Q(Te),U(JSON.parse(JSON.stringify(Te.data)))}catch{Ie.getState().showToast("无法读取伏笔数据,请重试","error")}}async function ue(){if(!ne||!C||B)return;const be=Zm(ne.data,C);if(!be){Ie.getState().showToast("没有变更"),Q(null);return}M(!0),P(null);try{await Oc("hook",ne.id,{data:be}),Ie.getState().showToast("已保存"),Q(null),h(Te=>Te+1)}catch(Te){P(Te instanceof Ke?Te.message:"保存失败,请重试")}finally{M(!1)}}async function Z(be){be.preventDefault();const Te=W.trim();if(!Te){ke("请输入名称");return}pe(!0),ke(null);try{const Xe=await Jy("hook",{name:Te,data:ie});if(ze!=="")try{await Rc(H_(Xe.id,ze))}catch(We){Ie.getState().showToast(`已创建伏笔《${Te}》,但埋点关联失败:${We instanceof Ke?We.message:"未知错误"}`,"error"),K(!1),h(le=>le+1);return}Ie.getState().showToast(`已创建伏笔《${Te}》`),K(!1),Se(""),de({}),Ge(""),h(We=>We+1)}catch(Xe){ke(Xe instanceof Ke?Xe.message:"创建失败,请重试")}finally{pe(!1)}}async function ye(){const be=z;if(be)try{const Te=await Wy("hook",be.id),Xe=[];Te.cascaded.relations>0&&Xe.push(`${Te.cascaded.relations} 条关联`),Te.cascaded.deltas>0&&Xe.push(`${Te.cascaded.deltas} 条变更记录`),Ie.getState().showToast(`已移入回收站,可随时还原${Xe.length>0?`(含 ${Xe.join("、")})`:""}`),L(null),h(We=>We+1)}catch(Te){throw Te}}async function Ve(be){if(Me[be.id]){we(Te=>{const Xe={...Te};return delete Xe[be.id],Xe});return}we(Te=>({...Te,[be.id]:{status:"loading",nodes:[]}}));try{const Te=new Map,Xe=new Map,We=[{id:be.id,depth:0}],le=new Set;for(;We.length>0;){const{id:Ce,depth:xt}=We.shift();if(le.has(Ce))continue;le.add(Ce);const pt=await uo("hook",Ce);Xe.set(Ce,pt.name);const De=Rr(pt.relations,"depends_on").filter(bt=>bt.sourceId===Ce);if(Te.set(Ce,De),!(xt>=2))for(const bt of De)Xe.has(bt.targetId)||Xe.set(bt.targetId,bt.targetName??bt.targetId),We.push({id:bt.targetId,depth:xt+1})}const je=D_({startHookId:be.id,depsOf:Te,names:Xe});we(Ce=>({...Ce,[be.id]:{status:"ready",nodes:je}}))}catch{we(Te=>({...Te,[be.id]:{status:"error",nodes:[]}}))}}return i.jsxs("section",{children:[i.jsxs("div",{className:"mb-4 flex items-center gap-3",children:[i.jsx("h1",{className:"text-xl font-semibold",children:"伏笔池"}),i.jsx(ve,{type:"button",className:"ml-auto",onClick:()=>K(!0),children:"+ 新建伏笔"})]}),u!==null&&i.jsxs("div",{className:"mb-3 flex items-center gap-2 rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:[u===jt?"无法连接服务,请确认 ai-editor 服务已启动。":"伏笔池加载失败,请重试。",i.jsx(ve,{variant:"outline",className:"ml-auto h-7 px-2 text-xs",type:"button",onClick:()=>h(be=>be+1),children:"重试"})]}),l&&_e===null&&u===null&&i.jsx("div",{className:"space-y-4",children:Array.from({length:3},(be,Te)=>i.jsxs("div",{className:"rounded-md border border-border",children:[i.jsx("div",{className:"h-4 w-20 animate-pulse rounded bg-muted px-3 py-1.5"}),Array.from({length:Te===0?3:1},(Xe,We)=>i.jsxs("div",{className:"flex items-center gap-3 border-t border-border/70 px-3 py-2.5",children:[i.jsx("div",{className:"h-4 w-1/3 animate-pulse rounded bg-muted"}),i.jsx("div",{className:"h-3 w-16 animate-pulse rounded bg-muted"}),i.jsx("div",{className:"ml-auto h-6 w-6 animate-pulse rounded bg-muted"})]},We))]},Te))}),!l&&_e!==null&&n?.length===0&&i.jsxs("div",{className:"rounded-lg border border-dashed border-border px-6 py-12 text-center",children:[i.jsx("p",{className:"text-sm text-muted-foreground",children:"还没有伏笔。好伏笔要趁早埋下——先新建一个,或在聊天里让 AI 帮你规划。"}),i.jsx(ve,{className:"mt-4",type:"button",onClick:()=>K(!0),children:"+ 新建伏笔"})]}),_e!==null&&n&&n.length>0&&i.jsxs("div",{className:"space-y-4",children:[i.jsx(zf,{title:"活跃",icon:i.jsx("span",{className:"size-2 shrink-0 rounded-full bg-primary"}),hooks:_e.active,depEdges:b,depEdgesFailed:v,chains:Me,onToggleChain:Ve,onDetail:Re,onLifecycle:ft,onEdit:G,onDelete:L}),i.jsx(zf,{title:"已回收",icon:i.jsx(im,{className:"size-3.5 shrink-0 text-primary"}),hooks:_e.resolved,depEdges:b,depEdgesFailed:v,chains:Me,onToggleChain:Ve,onDetail:Re,onLifecycle:ft,onEdit:G,onDelete:L}),i.jsx(zf,{title:"已废弃",icon:i.jsx(oN,{className:"size-3.5 shrink-0 text-muted-foreground"}),hooks:_e.abandoned,depEdges:b,depEdgesFailed:v,chains:Me,onToggleChain:Ve,onDetail:Re,onLifecycle:ft,onEdit:G,onDelete:L})]}),i.jsx(ys,{open:I,onOpenChange:be=>!be&&K(!1),children:i.jsxs(vs,{className:"sm:max-w-md",children:[i.jsx(Ss,{children:i.jsx(Ns,{children:"新建伏笔"})}),i.jsxs("form",{id:"create-hook-form",onSubmit:Z,className:"flex flex-col gap-3",children:[i.jsxs("div",{children:[i.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"名称(必填)"}),i.jsx(Ft,{value:W,onChange:be=>Se(be.target.value),placeholder:"如:身世之谜",maxLength:100})]}),i.jsx(Uy,{fields:X_,data:ie,onChange:de,nodeOptions:Oe}),i.jsxs("div",{children:[i.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"埋点节点(选填,可空)"}),i.jsx(lm,{value:ze,onChange:Ge,nodeOptions:Oe})]}),Ee&&i.jsx("p",{className:"text-sm text-destructive",children:Ee})]}),i.jsxs(Es,{children:[i.jsx(ve,{variant:"outline",type:"button",onClick:()=>K(!1),disabled:Ae,children:"取消"}),i.jsx(ve,{type:"submit",form:"create-hook-form",disabled:Ae,children:"创建"})]})]})}),i.jsx(ys,{open:S!==null||T,onOpenChange:be=>!be&&N(null),children:i.jsxs(vs,{className:"sm:max-w-lg",children:[i.jsx(Ss,{children:i.jsx(Ns,{children:"伏笔详情"})}),T&&i.jsx("p",{className:"py-4 text-sm text-muted-foreground",children:"加载中…"}),k&&i.jsx("p",{className:"py-4 text-sm text-destructive",children:k}),S&&i.jsx(G_,{detail:S}),i.jsx(Es,{children:i.jsx(ve,{variant:"outline",type:"button",onClick:()=>N(null),children:"关闭"})})]})}),j&&i.jsx(ys,{open:!0,onOpenChange:be=>!be&&!re&&D(null),children:i.jsxs(vs,{className:"sm:max-w-md",children:[i.jsx(Ss,{children:i.jsxs(Ns,{children:[Df[O],"伏笔《",j.name,"》"]})}),i.jsxs("div",{className:"flex flex-col gap-3",children:[O!=="abandon"&&i.jsxs("div",{children:[i.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"大纲节点(默认当前位置)"}),i.jsx(lm,{value:R,onChange:H,nodeOptions:Oe,placeholder:"请选择节点"})]}),i.jsxs("div",{children:[i.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:"描述"}),i.jsx("textarea",{value:A,onChange:be=>$(be.target.value),rows:2,placeholder:O==="abandon"?"说明废弃原因":"说明伏笔如何被推进/回收",className:"w-full rounded-md border border-border bg-background px-3 py-1.5 text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-ring/50"})]}),i.jsxs("div",{className:"rounded-md border border-primary/25 bg-primary/5 px-3 py-2 text-sm",children:[i.jsx("p",{className:"font-medium text-foreground",children:"将写入:"}),i.jsxs("p",{className:"mt-1 text-muted-foreground",children:["status → ",x1[O],O==="advance"&&" + advances 关系",O==="resolve"&&" + resolves 关系"," + 同步 status"]}),O==="resolve"&&v&&i.jsx("p",{className:"mt-2 text-sm text-destructive",children:"依赖关系加载失败,无法确认依赖者"}),O==="resolve"&&!v&&zy(b,j.id)>0&&i.jsxs("p",{className:"mt-2 text-sm text-destructive",children:["有 ",zy(b,j.id)," 个伏笔依赖此伏笔"]})]}),se&&i.jsx("p",{className:"text-sm text-destructive",children:se})]}),i.jsxs(Es,{children:[i.jsx(ve,{variant:"outline",type:"button",onClick:()=>D(null),disabled:re,children:"取消"}),i.jsx(ve,{type:"button",onClick:()=>{ce()},disabled:re,children:re?"提交中…":`确认${Df[O]}`})]})]})}),ne&&C&&i.jsx(ys,{open:!0,onOpenChange:be=>!be&&!B&&Q(null),children:i.jsxs(vs,{className:"sm:max-w-md",children:[i.jsx(Ss,{children:i.jsxs(Ns,{children:["编辑伏笔《",ne.name,"》"]})}),i.jsxs("div",{className:"flex flex-col gap-3",children:[i.jsx(Uy,{fields:Qm("hook"),data:C,onChange:be=>U(Te=>Te&&{...Te,...be}),nodeOptions:Oe}),q&&i.jsx("p",{className:"text-sm text-destructive",children:q})]}),i.jsxs(Es,{children:[i.jsx(ve,{variant:"outline",type:"button",onClick:()=>Q(null),disabled:B,children:"取消"}),i.jsx(ve,{type:"button",onClick:()=>{ue()},disabled:B,children:B?"保存中…":"保存"})]})]})}),z&&i.jsx(hl,{title:"移入回收站",description:`将《${z.name}》移入回收站。关联关系与变更记录将一并移入,可在回收站还原。`,confirmLabel:"移入回收站",danger:!0,onConfirm:ye,onClose:()=>L(null)})]})}function zf({title:n,icon:r,hooks:l,depEdges:a,depEdgesFailed:u,chains:f,onToggleChain:m,onDetail:h,onLifecycle:b,onEdit:p,onDelete:v}){return i.jsxs("div",{className:"overflow-hidden rounded-md border border-border",children:[i.jsxs("div",{className:"flex items-center gap-1.5 border-b border-border bg-muted/30 px-3 py-1.5 text-sm font-medium text-foreground",children:[r,i.jsx("span",{children:n}),i.jsxs("span",{className:"text-muted-foreground",children:["(",l.length,")"]})]}),l.length===0?i.jsx("p",{className:"px-3 py-2 text-xs text-muted-foreground/70",children:"(空)"}):i.jsx("ul",{className:"divide-y divide-border/70",children:l.map(g=>{const S=V_(g.summary.status),N=u?[]:p1(a,g.id),T=f[g.id],_=typeof g.summary.category=="string"?g.summary.category:"";return i.jsxs("li",{className:"px-3 py-2",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"min-w-0 truncate font-medium text-foreground",title:g.name,children:g.name}),_&&i.jsx("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:_}),i.jsx("span",{className:"ml-auto shrink-0",children:i.jsxs(G0,{children:[i.jsx(X0,{render:i.jsx(ve,{variant:"ghost",size:"icon-sm",className:"text-muted-foreground","aria-label":`${g.name} 操作`,children:i.jsx(uN,{})})}),i.jsxs(P0,{align:"end",children:[i.jsx(al,{onClick:()=>h(g),children:"详情"}),i.jsx(al,{disabled:S,onClick:()=>b("advance",g),children:"推进"}),i.jsx(al,{disabled:S,onClick:()=>b("resolve",g),children:"回收"}),i.jsx(al,{disabled:S,onClick:()=>b("abandon",g),children:"废弃"}),i.jsx(al,{onClick:()=>p(g),children:"编辑"}),i.jsx(F0,{}),i.jsx(al,{variant:"destructive",onClick:()=>v(g),children:"移入回收站"})]})]})})]}),N.length>0&&i.jsxs("button",{type:"button",onClick:()=>m(g),className:"mt-0.5 flex items-center gap-1 text-xs text-muted-foreground underline-offset-2 hover:text-primary hover:underline",children:["依赖: ",N.join("、")]}),T?.status==="loading"&&i.jsx("p",{className:"mt-0.5 text-xs text-muted-foreground",children:"依赖链展开中…"}),T?.status==="error"&&i.jsx("p",{className:"mt-0.5 text-xs text-destructive",children:"依赖链加载失败"}),T?.status==="ready"&&T.nodes.length>1&&i.jsx("ul",{className:"mt-1 space-y-0.5 border-l border-border pl-2",children:T.nodes.slice(1).map(k=>i.jsxs("li",{className:"text-xs text-muted-foreground",children:[" ".repeat(k.depth-1),k.name]},`${k.depth}-${k.hookId}`))})]},g.id)})})]})}function G_({detail:n}){const r=n.id,l=typeof n.data.status=="string"?n.data.status:"",a=typeof n.data.category=="string"?n.data.category:"",u=Rr(n.relations,"plants"),f=Rr(n.relations,"advances"),m=Rr(n.relations,"resolves"),h=p1(n.relations,r),b=Rr(n.relations,"depends_on").filter(g=>g.targetId===r).map(g=>g.sourceName??g.sourceId),p=A_(n.relations,r),v=typeof n.data.expected_resolve_node_id=="string"?n.data.expected_resolve_node_id:"";return i.jsxs("div",{className:"flex flex-col gap-3 text-sm",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"font-medium text-foreground",children:n.name}),a&&i.jsx("span",{className:"rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:a}),l&&i.jsx("span",{className:"rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:Km[l]??l})]}),i.jsxs("p",{className:"text-xs text-muted-foreground",children:["创建于 ",ws(n.createdAt)," · 更新于 ",ws(n.updatedAt)]}),i.jsx(ol,{title:"埋点节点(plants)",items:u.map(g=>g.sourceName??g.sourceId)}),i.jsx(ol,{title:"推进节点(advances)",items:f.map(g=>g.sourceName??g.sourceId)}),i.jsx(ol,{title:"回收节点(resolves)",items:m.map(g=>g.sourceName??g.sourceId)}),i.jsx(ol,{title:"预计回收节点",items:v?[v]:[]}),i.jsx(ol,{title:"依赖(depends_on)",items:h}),i.jsx(ol,{title:"被依赖(其他伏笔依赖本伏笔)",items:b}),i.jsx(ol,{title:"涉及(involves)",items:p})]})}function ol({title:n,items:r}){return i.jsxs("div",{children:[i.jsx("p",{className:"mb-0.5 text-xs font-medium text-muted-foreground",children:n}),r.length===0?i.jsx("p",{className:"text-xs text-muted-foreground/70",children:"无"}):i.jsx("ul",{className:"flex flex-wrap gap-1",children:r.map((l,a)=>i.jsx("li",{className:"rounded bg-muted px-1.5 py-0.5 font-mono text-xs text-foreground",children:l},`${l}-${a}`))})]})}const X_=[{key:"category",label:"类别",control:"text"},{key:"expected_payoff",label:"预期回收",control:"textarea"},{key:"payoff_timing",label:"回收时机",control:"select",options:["immediate","near_term","mid_arc","slow_burn","endgame"],optionsLabels:$m},{key:"half_life",label:"半衰期(章数)",control:"number"},{key:"is_core",label:"主线伏笔",control:"toggle"},{key:"notes",label:"备注",control:"textarea"},{key:"expected_resolve_node_id",label:"预计回收节点",control:"outline-node"}];function Uy({fields:n,data:r,onChange:l,nodeOptions:a}){return i.jsx(i.Fragment,{children:n.map(u=>i.jsxs("div",{children:[i.jsx("p",{className:"mb-1 text-sm font-medium text-foreground",children:u.label}),i.jsx(P_,{field:u,value:r[u.key],nodeOptions:a,onValue:f=>l({...r,[u.key]:f})})]},u.key))})}function P_({field:n,value:r,nodeOptions:l,onValue:a}){switch(n.control){case"textarea":return i.jsx("textarea",{value:Sa({[n.key]:r},n.key),onChange:u=>a(u.target.value),rows:2,className:"w-full rounded-md border border-border bg-background px-3 py-1.5 text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-ring/50"});case"number":return i.jsx(Ft,{type:"number",value:Sa({[n.key]:r},n.key),onChange:u=>a(u.target.value===""?void 0:Number(u.target.value)),className:"h-8 text-sm"});case"select":return i.jsxs("select",{value:Sa({[n.key]:r},n.key),onChange:u=>a(u.target.value),className:"w-full rounded-md border border-border bg-background px-3 py-1.5 text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-ring/50",children:[i.jsx("option",{value:"",children:"未设置"}),n.options?.map(u=>i.jsx("option",{value:u,children:n.optionsLabels?.[u]??u},u))]});case"toggle":return i.jsx("input",{type:"checkbox",checked:r===!0,onChange:u=>a(u.target.checked),className:"h-4 w-4 accent-primary"});case"outline-node":return i.jsx(lm,{value:Sa({[n.key]:r},n.key),onChange:a,nodeOptions:l});default:return i.jsx(Ft,{value:Sa({[n.key]:r},n.key),onChange:u=>a(u.target.value),placeholder:n.key==="category"?`如:${GE.join(" / ")}`:void 0,className:"h-8 text-sm"})}}function lm({value:n,onChange:r,nodeOptions:l,placeholder:a="未设置"}){return i.jsxs("select",{value:n,onChange:u=>r(u.target.value),className:tt("w-full rounded-md border border-border bg-background px-3 py-1.5 text-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-ring/50",n===""&&"text-muted-foreground"),children:[i.jsx("option",{value:"",children:a}),l.map(u=>i.jsxs("option",{value:u.id,children:[" ".repeat(u.depth),u.label]},u.id))]})}function F_(n,r){const l=[];return n>0&&l.push(`${n} 条关系`),r>0&&l.push(`${r} 条变更记录`),l.length>0?`已还原,连带恢复 ${l.join("、")}`:"已还原"}function K_(n){return n>0?`已还原(含 ${n} 个子节点)`:"已还原"}function $_(n){return/软删祖先\s+([^\s,,]+)/.exec(n)?.[1]??null}const Iy={character:"人物",setting:"设定",location:"地点",hook:"伏笔"},Q_={volume:"卷",chapter:"章",scene:"场"};function Hy({label:n}){return i.jsx("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:n})}function Z_(){const[n,r]=x.useState(null),[l,a]=x.useState(!1),[u,f]=x.useState(null),[m,h]=x.useState(0);Ir(()=>h(O=>O+1));const[b,p]=x.useState(null),[v,g]=x.useState(null);x.useEffect(()=>{let O=!1;return a(!0),f(null),u2().then(V=>{O||r(V)}).catch(V=>{O||f(V instanceof Ke?V.code:jt)}).finally(()=>{O||a(!1)}),()=>{O=!0}},[m]);async function S(){h(O=>O+1)}function N(O){return O instanceof Ke&&(O.code==="ENTITY_NOT_FOUND"||O.code==="OUTLINE_NODE_NOT_FOUND")}function T(O){Ie.getState().showError(O instanceof Ke?O.code:jt,O instanceof Ke?O.message:"操作失败,请重试")}async function _(O){try{const V=await d2(O.type,O.id);Ie.getState().showToast(F_(V.restoredRelations,V.restoredDeltas)),await S()}catch(V){if(N(V)){Ie.getState().showToast("该对象已不存在","error"),await S();return}T(V)}}async function k(O){g(null);try{const V=await lb(O.id);Ie.getState().showToast(K_(V.restoredChildren)),await S(),Fe.getState().loadOutline()}catch(V){if(V instanceof Ke&&V.code==="OUTLINE_ANCESTOR_DELETED"){const R=$_(V.message);if(R===null){Ie.getState().showError("OUTLINE_ANCESTOR_DELETED","上级节点也在回收站,请先还原上级");return}g({node:O,ancestorId:R,ancestorName:n?.nodes.find(H=>H.id===R)?.title??R});return}if(N(V)){Ie.getState().showToast("该对象已不存在","error"),await S();return}T(V)}}async function E(){const O=v;if(O)try{await lb(O.ancestorId),Fe.getState().loadOutline(),await k(O.node)}catch(V){if(N(V)){Ie.getState().showToast("该对象已不存在","error"),g(null),await S();return}T(V)}}async function j(){if(b)try{b.kind==="entity"?await f2(b.item.type,b.item.id):(await m2(b.item.id),Fe.getState().loadOutline()),Ie.getState().showToast("已彻底删除"),await S()}catch(O){if(N(O)){Ie.getState().showToast("该对象已不存在","error"),await S();return}throw O}}const D=n!==null&&n.entities.length===0&&n.nodes.length===0;return i.jsxs("section",{children:[i.jsxs("div",{className:"mb-1 flex items-center gap-3",children:[i.jsx("h1",{className:"text-xl font-semibold",children:"回收站"}),i.jsx(ve,{variant:"outline",type:"button",className:"ml-auto",onClick:()=>{S()},disabled:l,children:"刷新"})]}),i.jsx("p",{className:"mb-4 text-xs text-muted-foreground",children:"软删对象会保留一段时间,可在此还原,或彻底删除(不可恢复)。"}),u!==null&&i.jsxs("div",{className:"mb-3 rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:[u===jt?"无法连接服务,请确认 ai-editor 服务已启动。":"回收站加载失败,请重试。",i.jsx(ve,{variant:"outline",className:"ml-3",type:"button",onClick:()=>{S()},children:"重试"})]}),l&&n===null&&u===null&&i.jsx("div",{className:"grid gap-4 md:grid-cols-2",children:[0,1].map(O=>i.jsxs("div",{className:"overflow-hidden rounded-md border border-border",children:[i.jsx("div",{className:"h-9 animate-pulse bg-muted/60"}),Array.from({length:3},(V,R)=>i.jsxs("div",{className:"flex items-center gap-2 border-b border-border/70 px-3 py-2.5 last:border-0",children:[i.jsx("div",{className:"h-4 w-10 animate-pulse rounded bg-muted"}),i.jsx("div",{className:"h-4 flex-1 animate-pulse rounded bg-muted"}),i.jsx("div",{className:"h-4 w-16 animate-pulse rounded bg-muted"})]},R))]},O))}),!l&&D&&i.jsx("div",{className:"rounded-lg border border-dashed border-border px-6 py-12 text-center text-sm text-muted-foreground",children:"回收站是空的"}),n!==null&&!D&&i.jsxs("div",{className:"grid items-start gap-4 md:grid-cols-2",children:[i.jsxs("div",{className:"overflow-hidden rounded-md border border-border",children:[i.jsxs("div",{className:"border-b border-border bg-muted/40 px-3 py-2 text-sm font-medium text-foreground",children:["实体 (",n.entities.length,")"]}),n.entities.length===0?i.jsx("p",{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"暂无实体"}):i.jsx("ul",{className:"divide-y divide-border/70",children:n.entities.map(O=>i.jsxs("li",{className:"flex items-center gap-2 px-3 py-2",children:[i.jsx(Hy,{label:Iy[O.type]}),i.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-foreground",title:O.name,children:O.name}),i.jsx("span",{className:"shrink-0 text-xs text-muted-foreground",children:ul(O.deletedAt)}),i.jsxs("div",{className:"flex shrink-0 items-center gap-1.5",children:[i.jsx(ve,{variant:"outline",size:"xs",type:"button",onClick:()=>{_(O)},children:"还原"}),i.jsx(ve,{variant:"outline",size:"xs",type:"button",className:"text-destructive hover:bg-destructive/10",onClick:()=>p({kind:"entity",item:O}),children:"彻底删除"})]})]},O.id))})]}),i.jsxs("div",{className:"overflow-hidden rounded-md border border-border",children:[i.jsxs("div",{className:"border-b border-border bg-muted/40 px-3 py-2 text-sm font-medium text-foreground",children:["大纲节点 (",n.nodes.length,")"]}),n.nodes.length===0?i.jsx("p",{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"暂无节点"}):i.jsx("ul",{className:"divide-y divide-border/70",children:n.nodes.map(O=>i.jsxs("li",{className:"px-3 py-2",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(Hy,{label:Q_[O.type]}),i.jsx("span",{className:"min-w-0 flex-1 truncate text-sm text-foreground",title:O.title,children:O.title}),i.jsx("span",{className:"shrink-0 text-xs text-muted-foreground",children:ul(O.deletedAt)}),i.jsxs("div",{className:"flex shrink-0 items-center gap-1.5",children:[i.jsx(ve,{variant:"outline",size:"xs",type:"button",onClick:()=>{k(O)},children:"还原"}),i.jsx(ve,{variant:"outline",size:"xs",type:"button",className:"text-destructive hover:bg-destructive/10",onClick:()=>p({kind:"node",item:O}),children:"彻底删除"})]})]}),v?.node.id===O.id&&i.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-2 rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm",children:[i.jsxs("span",{className:"text-destructive",children:["上级节点《",v.ancestorName,"》也在回收站,请先还原上级"]}),i.jsxs(ve,{variant:"outline",size:"xs",type:"button",className:"border-destructive/40 text-destructive hover:bg-destructive/10",onClick:()=>{E()},children:["还原上级《",v.ancestorName,"》"]})]})]},O.id))})]})]}),b&&i.jsx(hl,{title:"彻底删除",description:b.kind==="entity"?`将彻底删除《${b.item.name}》(${Iy[b.item.type]})及其关联关系、变更记录,不可恢复。`:`将彻底删除《${b.item.title}》及整棵子树、关联关系、变更记录,不可恢复。`,confirmLabel:"确认彻底删除",danger:!0,onConfirm:j,onClose:()=>p(null)})]})}function fc(n){return n instanceof Ke?n.code:jt}function J_(){const n=Ie(R=>R.showToast),r=Ie(R=>R.showError),[l,a]=x.useState(!0),[u,f]=x.useState(""),[m,h]=x.useState(!1),[b,p]=x.useState(void 0),[v,g]=x.useState(""),[S,N]=x.useState(!1),[T,_]=x.useState(null),[k,E]=x.useState(null);async function j(){try{const R=await N2();f(R.model),h(R.apiKeySet),p(R.apiKeyMasked)}catch(R){r(fc(R),"读取 LLM 配置失败")}finally{a(!1)}}x.useEffect(()=>{j()},[]);async function D(){if(!u.trim()){_("模型名不能为空");return}_(null),N(!0);try{await uf({model:u.trim()}),n("已保存,仅影响新请求"),f(u.trim())}catch(R){fc(R)===jt?r("CLIENT_NETWORK_ERROR","无法连接服务,模型配置未保存"):_("保存失败,请重试")}finally{N(!1)}}async function O(){if(!v.trim()){E("请输入新 key");return}E(null),N(!0);try{await uf({api_key:v.trim()}),g(""),n("Key 已保存,仅影响新请求"),await j()}catch(R){fc(R)===jt?r("CLIENT_NETWORK_ERROR","无法连接服务,Key 未保存"):E("保存失败,请重试")}finally{N(!1)}}async function V(){E(null),N(!0);try{await uf({api_key:""}),g(""),n("Key 已清除"),await j()}catch(R){fc(R)===jt?r("CLIENT_NETWORK_ERROR","无法连接服务,Key 未清除"):E("清除失败,请重试")}finally{N(!1)}}return i.jsxs("section",{className:"max-w-lg",children:[i.jsx("h1",{className:"mb-4 text-xl font-semibold",children:"设置"}),l?i.jsx("p",{className:"text-sm text-zinc-500",children:"加载中…"}):i.jsxs("div",{className:"flex flex-col gap-6",children:[i.jsxs("div",{children:[i.jsx("h2",{className:"mb-1 text-sm font-semibold text-zinc-700",children:"AI 模型"}),i.jsx("p",{className:"mb-2 text-xs text-zinc-500",children:"默认 deepseek-v4-flash(可在服务端设置页或环境变量覆盖)"}),i.jsxs("div",{className:"flex max-w-sm gap-2",children:[i.jsx(Ft,{value:u,onChange:R=>f(R.target.value),placeholder:"deepseek-v4-flash"}),i.jsx(ve,{onClick:()=>{D()},disabled:S,type:"button",children:"保存设置"})]}),T&&i.jsx("p",{className:"mt-1 text-sm text-red-600",children:T})]}),i.jsxs("div",{children:[i.jsx("h2",{className:"mb-1 text-sm font-semibold text-zinc-700",children:"API Key"}),i.jsxs("p",{className:"mb-2 text-xs text-zinc-500",children:["状态:",m?`已配置(${b??""})`:"未配置"]}),i.jsxs("div",{className:"flex max-w-sm gap-2",children:[i.jsx(Ft,{value:v,onChange:R=>g(R.target.value),placeholder:"输入新 key(覆盖旧 key)"}),i.jsx(ve,{onClick:()=>{O()},disabled:S,type:"button",children:"保存 Key"}),i.jsx(ve,{variant:"outline",onClick:()=>{V()},disabled:S,type:"button",children:"清除 Key"})]}),k&&i.jsx("p",{className:"mt-1 text-sm text-red-600",children:k})]}),i.jsxs("div",{className:"rounded-md border border-zinc-200 bg-zinc-50 p-3 text-xs leading-relaxed text-zinc-600",children:[i.jsx("p",{children:"· key 保存在用户目录配置文件(~/.ai-editor/config.json),不写入项目文件(决策 17)"}),i.jsx("p",{children:"· 环境变量 DEEPSEEK_API_KEY 优先于此处配置;保存的 key 仅影响新请求"})]})]})]})}function W_(n){const[r,l,a]=n.segments;switch(r){case void 0:return i.jsx(hy,{});case"outline":return l!==void 0?i.jsx(c_,{nodeId:l},l):i.jsx(Ik,{});case"canvas":return i.jsx(v_,{});case"entities":{if(l==="relations")return i.jsx(Dy,{type:"relations"});const u=l!==void 0&&go.includes(l)?l:"character";return a!==void 0?i.jsx(j_,{type:u,id:a},`${u}:${a}`):i.jsx(Dy,{type:u})}case"hooks":return i.jsx(q_,{});case"trash":return i.jsx(Z_,{});case"settings":return i.jsx(J_,{});default:return i.jsx(hy,{})}}function e3(){const n=PE();return i.jsx(kk,{route:n,children:W_(n)})}const v1=document.getElementById("root");if(!v1)throw new Error("#root 元素缺失(index.html)");VE.createRoot(v1).render(i.jsx(x.StrictMode,{children:i.jsx(_k,{children:i.jsx(e3,{})})}));