@tea-agent/loop-agent 0.29.2 → 0.30.0
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.
- package/CHANGELOG.md +56 -24
- package/bin/agent-worker.js +0 -0
- package/dist/commands/client-recovery.js +2 -10
- package/dist/commands/init.js +1 -1
- package/dist/executors/dag-pi-executor.js +15 -4
- package/dist/executors/pi-executor.js +5 -3
- package/dist/executors/pi-playwright-cli-tool.js +9 -14
- package/dist/executors/pi-sdk-executor.js +16 -0
- package/dist/shared/operator/capabilities.js +9 -9
- package/dist/shared/pi-retry-settings.js +23 -0
- package/dist/worker/console/chat/pi-runtime.js +167 -41
- package/dist/worker/console/chat/routes.js +21 -2
- package/dist/worker/console/chat/runtime-context.js +50 -8
- package/dist/worker/console/chat/tool-preview.js +90 -0
- package/dist/worker/console/chat/turn-process.js +178 -0
- package/dist/worker/console/chat/usage.js +144 -16
- package/dist/worker/console/night-aux-ticker.js +141 -0
- package/dist/worker/console/operation-runner.js +21 -4
- package/dist/worker/console/operator-user-error.js +12 -0
- package/dist/worker/console/recovery-cta.js +6 -6
- package/dist/worker/console/routes.js +61 -0
- package/dist/worker/console/server.js +7 -0
- package/dist/worker/console/static/assets/index-D9gnJn_l.js +29 -0
- package/dist/worker/console/static/assets/index-rajoXwkM.css +1 -0
- package/dist/worker/console/static/index.html +2 -2
- package/dist/worker/console/static-src/night-prepare-result.js +118 -0
- package/dist/worker/scheduler/clock-install/win32-schtasks.js +70 -15
- package/dist/workflows/dag/backend-test-writer-completeness.js +398 -26
- package/dist/workflows/dag/dynamic-runtime/map.js +10 -4
- package/dist/workflows/dag/frontend-test-case-checklist.js +3 -3
- package/dist/workflows/dag/init-hybrid.js +247 -239
- package/dist/workflows/dag/node-execution.js +13 -2
- package/dist/workflows/dag/types.js +21 -7
- package/docs/templates/backend-test-dag.json +664 -460
- package/docs/templates/frontend-test-case-checklist.md +1 -1
- package/docs/templates/frontend-test-dag.generate-cases.prompt.md +1 -1
- package/docs/templates/frontend-test-dag.json +1 -1
- package/docs/templates/frontend-test-dag.retrieve-context.prompt.md +1 -1
- package/docs/templates/frontend-test-dag.review-cases.prompt.md +1 -1
- package/docs/templates/init-managed-agents.md +6 -3
- package/harness.json +2 -2
- package/package.json +1 -1
- package/skills/playwright-cli/SKILL.md +1 -1
- package/skills/playwright-cli-case-generator/SKILL.md +1 -1
- package/dist/worker/console/static/assets/index-Cwx-ZVEQ.js +0 -29
- package/dist/worker/console/static/assets/index-Yyn3ynVv.css +0 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
(function(){const u=document.createElement("link").relList;if(u&&u.supports&&u.supports("modulepreload"))return;for(const h of document.querySelectorAll('link[rel="modulepreload"]'))o(h);new MutationObserver(h=>{for(const j of h)if(j.type==="childList")for(const x of j.addedNodes)x.tagName==="LINK"&&x.rel==="modulepreload"&&o(x)}).observe(document,{childList:!0,subtree:!0});function f(h){const j={};return h.integrity&&(j.integrity=h.integrity),h.referrerPolicy&&(j.referrerPolicy=h.referrerPolicy),h.crossOrigin==="use-credentials"?j.credentials="include":h.crossOrigin==="anonymous"?j.credentials="omit":j.credentials="same-origin",j}function o(h){if(h.ep)return;h.ep=!0;const j=f(h);fetch(h.href,j)}})();var br={exports:{}},si={};var gm;function av(){if(gm)return si;gm=1;var c=Symbol.for("react.transitional.element"),u=Symbol.for("react.fragment");function f(o,h,j){var x=null;if(j!==void 0&&(x=""+j),h.key!==void 0&&(x=""+h.key),"key"in h){j={};for(var k in h)k!=="key"&&(j[k]=h[k])}else j=h;return h=j.ref,{$$typeof:c,type:o,key:x,ref:h!==void 0?h:null,props:j}}return si.Fragment=u,si.jsx=f,si.jsxs=f,si}var ym;function lv(){return ym||(ym=1,br.exports=av()),br.exports}var s=lv(),xr={exports:{}},pe={};var bm;function sv(){if(bm)return pe;bm=1;var c=Symbol.for("react.transitional.element"),u=Symbol.for("react.portal"),f=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),h=Symbol.for("react.profiler"),j=Symbol.for("react.consumer"),x=Symbol.for("react.context"),k=Symbol.for("react.forward_ref"),M=Symbol.for("react.suspense"),R=Symbol.for("react.memo"),Y=Symbol.for("react.lazy"),$=Symbol.for("react.activity"),ee=Symbol.iterator;function I(y){return y===null||typeof y!="object"?null:(y=ee&&y[ee]||y["@@iterator"],typeof y=="function"?y:null)}var le={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},ce=Object.assign,ot={};function de(y,T,X){this.props=y,this.context=T,this.refs=ot,this.updater=X||le}de.prototype.isReactComponent={},de.prototype.setState=function(y,T){if(typeof y!="object"&&typeof y!="function"&&y!=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,y,T,"setState")},de.prototype.forceUpdate=function(y){this.updater.enqueueForceUpdate(this,y,"forceUpdate")};function Ce(){}Ce.prototype=de.prototype;function _e(y,T,X){this.props=y,this.context=T,this.refs=ot,this.updater=X||le}var vt=_e.prototype=new Ce;vt.constructor=_e,ce(vt,de.prototype),vt.isPureReactComponent=!0;var gt=Array.isArray;function ve(){}var re={H:null,A:null,T:null,S:null},ie=Object.prototype.hasOwnProperty;function Pe(y,T,X){var J=X.ref;return{$$typeof:c,type:y,key:T,ref:J!==void 0?J:null,props:X}}function Ie(y,T){return Pe(y.type,T,y.props)}function yt(y){return typeof y=="object"&&y!==null&&y.$$typeof===c}function qe(y){var T={"=":"=0",":":"=2"};return"$"+y.replace(/[=:]/g,function(X){return T[X]})}var dt=/\/+/g;function Xe(y,T){return typeof y=="object"&&y!==null&&y.key!=null?qe(""+y.key):T.toString(36)}function Nt(y){switch(y.status){case"fulfilled":return y.value;case"rejected":throw y.reason;default:switch(typeof y.status=="string"?y.then(ve,ve):(y.status="pending",y.then(function(T){y.status==="pending"&&(y.status="fulfilled",y.value=T)},function(T){y.status==="pending"&&(y.status="rejected",y.reason=T)})),y.status){case"fulfilled":return y.value;case"rejected":throw y.reason}}throw y}function O(y,T,X,J,ne){var oe=typeof y;(oe==="undefined"||oe==="boolean")&&(y=null);var Ee=!1;if(y===null)Ee=!0;else switch(oe){case"bigint":case"string":case"number":Ee=!0;break;case"object":switch(y.$$typeof){case c:case u:Ee=!0;break;case Y:return Ee=y._init,O(Ee(y._payload),T,X,J,ne)}}if(Ee)return ne=ne(y),Ee=J===""?"."+Xe(y,0):J,gt(ne)?(X="",Ee!=null&&(X=Ee.replace(dt,"$&/")+"/"),O(ne,T,X,"",function(Bt){return Bt})):ne!=null&&(yt(ne)&&(ne=Ie(ne,X+(ne.key==null||y&&y.key===ne.key?"":(""+ne.key).replace(dt,"$&/")+"/")+Ee)),T.push(ne)),1;Ee=0;var Be=J===""?".":J+":";if(gt(y))for(var et=0;et<y.length;et++)J=y[et],oe=Be+Xe(J,et),Ee+=O(J,T,X,oe,ne);else if(et=I(y),typeof et=="function")for(y=et.call(y),et=0;!(J=y.next()).done;)J=J.value,oe=Be+Xe(J,et++),Ee+=O(J,T,X,oe,ne);else if(oe==="object"){if(typeof y.then=="function")return O(Nt(y),T,X,J,ne);throw T=String(y),Error("Objects are not valid as a React child (found: "+(T==="[object Object]"?"object with keys {"+Object.keys(y).join(", ")+"}":T)+"). If you meant to render a collection of children, use an array instead.")}return Ee}function Z(y,T,X){if(y==null)return y;var J=[],ne=0;return O(y,J,"","",function(oe){return T.call(X,oe,ne++)}),J}function W(y){if(y._status===-1){var T=y._result;T=T(),T.then(function(X){(y._status===0||y._status===-1)&&(y._status=1,y._result=X)},function(X){(y._status===0||y._status===-1)&&(y._status=2,y._result=X)}),y._status===-1&&(y._status=0,y._result=T)}if(y._status===1)return y._result.default;throw y._result}var Se=typeof reportError=="function"?reportError:function(y){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var T=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof y=="object"&&y!==null&&typeof y.message=="string"?String(y.message):String(y),error:y});if(!window.dispatchEvent(T))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",y);return}console.error(y)},Ne={map:Z,forEach:function(y,T,X){Z(y,function(){T.apply(this,arguments)},X)},count:function(y){var T=0;return Z(y,function(){T++}),T},toArray:function(y){return Z(y,function(T){return T})||[]},only:function(y){if(!yt(y))throw Error("React.Children.only expected to receive a single React element child.");return y}};return pe.Activity=$,pe.Children=Ne,pe.Component=de,pe.Fragment=f,pe.Profiler=h,pe.PureComponent=_e,pe.StrictMode=o,pe.Suspense=M,pe.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=re,pe.__COMPILER_RUNTIME={__proto__:null,c:function(y){return re.H.useMemoCache(y)}},pe.cache=function(y){return function(){return y.apply(null,arguments)}},pe.cacheSignal=function(){return null},pe.cloneElement=function(y,T,X){if(y==null)throw Error("The argument must be a React element, but you passed "+y+".");var J=ce({},y.props),ne=y.key;if(T!=null)for(oe in T.key!==void 0&&(ne=""+T.key),T)!ie.call(T,oe)||oe==="key"||oe==="__self"||oe==="__source"||oe==="ref"&&T.ref===void 0||(J[oe]=T[oe]);var oe=arguments.length-2;if(oe===1)J.children=X;else if(1<oe){for(var Ee=Array(oe),Be=0;Be<oe;Be++)Ee[Be]=arguments[Be+2];J.children=Ee}return Pe(y.type,ne,J)},pe.createContext=function(y){return y={$$typeof:x,_currentValue:y,_currentValue2:y,_threadCount:0,Provider:null,Consumer:null},y.Provider=y,y.Consumer={$$typeof:j,_context:y},y},pe.createElement=function(y,T,X){var J,ne={},oe=null;if(T!=null)for(J in T.key!==void 0&&(oe=""+T.key),T)ie.call(T,J)&&J!=="key"&&J!=="__self"&&J!=="__source"&&(ne[J]=T[J]);var Ee=arguments.length-2;if(Ee===1)ne.children=X;else if(1<Ee){for(var Be=Array(Ee),et=0;et<Ee;et++)Be[et]=arguments[et+2];ne.children=Be}if(y&&y.defaultProps)for(J in Ee=y.defaultProps,Ee)ne[J]===void 0&&(ne[J]=Ee[J]);return Pe(y,oe,ne)},pe.createRef=function(){return{current:null}},pe.forwardRef=function(y){return{$$typeof:k,render:y}},pe.isValidElement=yt,pe.lazy=function(y){return{$$typeof:Y,_payload:{_status:-1,_result:y},_init:W}},pe.memo=function(y,T){return{$$typeof:R,type:y,compare:T===void 0?null:T}},pe.startTransition=function(y){var T=re.T,X={};re.T=X;try{var J=y(),ne=re.S;ne!==null&&ne(X,J),typeof J=="object"&&J!==null&&typeof J.then=="function"&&J.then(ve,Se)}catch(oe){Se(oe)}finally{T!==null&&X.types!==null&&(T.types=X.types),re.T=T}},pe.unstable_useCacheRefresh=function(){return re.H.useCacheRefresh()},pe.use=function(y){return re.H.use(y)},pe.useActionState=function(y,T,X){return re.H.useActionState(y,T,X)},pe.useCallback=function(y,T){return re.H.useCallback(y,T)},pe.useContext=function(y){return re.H.useContext(y)},pe.useDebugValue=function(){},pe.useDeferredValue=function(y,T){return re.H.useDeferredValue(y,T)},pe.useEffect=function(y,T){return re.H.useEffect(y,T)},pe.useEffectEvent=function(y){return re.H.useEffectEvent(y)},pe.useId=function(){return re.H.useId()},pe.useImperativeHandle=function(y,T,X){return re.H.useImperativeHandle(y,T,X)},pe.useInsertionEffect=function(y,T){return re.H.useInsertionEffect(y,T)},pe.useLayoutEffect=function(y,T){return re.H.useLayoutEffect(y,T)},pe.useMemo=function(y,T){return re.H.useMemo(y,T)},pe.useOptimistic=function(y,T){return re.H.useOptimistic(y,T)},pe.useReducer=function(y,T,X){return re.H.useReducer(y,T,X)},pe.useRef=function(y){return re.H.useRef(y)},pe.useState=function(y){return re.H.useState(y)},pe.useSyncExternalStore=function(y,T,X){return re.H.useSyncExternalStore(y,T,X)},pe.useTransition=function(){return re.H.useTransition()},pe.version="19.2.8",pe}var xm;function qr(){return xm||(xm=1,xr.exports=sv()),xr.exports}var p=qr(),jr={exports:{}},ii={},Sr={exports:{}},Nr={};var jm;function iv(){return jm||(jm=1,(function(c){function u(O,Z){var W=O.length;O.push(Z);e:for(;0<W;){var Se=W-1>>>1,Ne=O[Se];if(0<h(Ne,Z))O[Se]=Z,O[W]=Ne,W=Se;else break e}}function f(O){return O.length===0?null:O[0]}function o(O){if(O.length===0)return null;var Z=O[0],W=O.pop();if(W!==Z){O[0]=W;e:for(var Se=0,Ne=O.length,y=Ne>>>1;Se<y;){var T=2*(Se+1)-1,X=O[T],J=T+1,ne=O[J];if(0>h(X,W))J<Ne&&0>h(ne,X)?(O[Se]=ne,O[J]=W,Se=J):(O[Se]=X,O[T]=W,Se=T);else if(J<Ne&&0>h(ne,W))O[Se]=ne,O[J]=W,Se=J;else break e}}return Z}function h(O,Z){var W=O.sortIndex-Z.sortIndex;return W!==0?W:O.id-Z.id}if(c.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var j=performance;c.unstable_now=function(){return j.now()}}else{var x=Date,k=x.now();c.unstable_now=function(){return x.now()-k}}var M=[],R=[],Y=1,$=null,ee=3,I=!1,le=!1,ce=!1,ot=!1,de=typeof setTimeout=="function"?setTimeout:null,Ce=typeof clearTimeout=="function"?clearTimeout:null,_e=typeof setImmediate<"u"?setImmediate:null;function vt(O){for(var Z=f(R);Z!==null;){if(Z.callback===null)o(R);else if(Z.startTime<=O)o(R),Z.sortIndex=Z.expirationTime,u(M,Z);else break;Z=f(R)}}function gt(O){if(ce=!1,vt(O),!le)if(f(M)!==null)le=!0,ve||(ve=!0,qe());else{var Z=f(R);Z!==null&&Nt(gt,Z.startTime-O)}}var ve=!1,re=-1,ie=5,Pe=-1;function Ie(){return ot?!0:!(c.unstable_now()-Pe<ie)}function yt(){if(ot=!1,ve){var O=c.unstable_now();Pe=O;var Z=!0;try{e:{le=!1,ce&&(ce=!1,Ce(re),re=-1),I=!0;var W=ee;try{t:{for(vt(O),$=f(M);$!==null&&!($.expirationTime>O&&Ie());){var Se=$.callback;if(typeof Se=="function"){$.callback=null,ee=$.priorityLevel;var Ne=Se($.expirationTime<=O);if(O=c.unstable_now(),typeof Ne=="function"){$.callback=Ne,vt(O),Z=!0;break t}$===f(M)&&o(M),vt(O)}else o(M);$=f(M)}if($!==null)Z=!0;else{var y=f(R);y!==null&&Nt(gt,y.startTime-O),Z=!1}}break e}finally{$=null,ee=W,I=!1}Z=void 0}}finally{Z?qe():ve=!1}}}var qe;if(typeof _e=="function")qe=function(){_e(yt)};else if(typeof MessageChannel<"u"){var dt=new MessageChannel,Xe=dt.port2;dt.port1.onmessage=yt,qe=function(){Xe.postMessage(null)}}else qe=function(){de(yt,0)};function Nt(O,Z){re=de(function(){O(c.unstable_now())},Z)}c.unstable_IdlePriority=5,c.unstable_ImmediatePriority=1,c.unstable_LowPriority=4,c.unstable_NormalPriority=3,c.unstable_Profiling=null,c.unstable_UserBlockingPriority=2,c.unstable_cancelCallback=function(O){O.callback=null},c.unstable_forceFrameRate=function(O){0>O||125<O?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):ie=0<O?Math.floor(1e3/O):5},c.unstable_getCurrentPriorityLevel=function(){return ee},c.unstable_next=function(O){switch(ee){case 1:case 2:case 3:var Z=3;break;default:Z=ee}var W=ee;ee=Z;try{return O()}finally{ee=W}},c.unstable_requestPaint=function(){ot=!0},c.unstable_runWithPriority=function(O,Z){switch(O){case 1:case 2:case 3:case 4:case 5:break;default:O=3}var W=ee;ee=O;try{return Z()}finally{ee=W}},c.unstable_scheduleCallback=function(O,Z,W){var Se=c.unstable_now();switch(typeof W=="object"&&W!==null?(W=W.delay,W=typeof W=="number"&&0<W?Se+W:Se):W=Se,O){case 1:var Ne=-1;break;case 2:Ne=250;break;case 5:Ne=1073741823;break;case 4:Ne=1e4;break;default:Ne=5e3}return Ne=W+Ne,O={id:Y++,callback:Z,priorityLevel:O,startTime:W,expirationTime:Ne,sortIndex:-1},W>Se?(O.sortIndex=W,u(R,O),f(M)===null&&O===f(R)&&(ce?(Ce(re),re=-1):ce=!0,Nt(gt,W-Se))):(O.sortIndex=Ne,u(M,O),le||I||(le=!0,ve||(ve=!0,qe()))),O},c.unstable_shouldYield=Ie,c.unstable_wrapCallback=function(O){var Z=ee;return function(){var W=ee;ee=Z;try{return O.apply(this,arguments)}finally{ee=W}}}})(Nr)),Nr}var Sm;function cv(){return Sm||(Sm=1,Sr.exports=iv()),Sr.exports}var Tr={exports:{}},ln={};var Nm;function uv(){if(Nm)return ln;Nm=1;var c=qr();function u(M){var R="https://react.dev/errors/"+M;if(1<arguments.length){R+="?args[]="+encodeURIComponent(arguments[1]);for(var Y=2;Y<arguments.length;Y++)R+="&args[]="+encodeURIComponent(arguments[Y])}return"Minified React error #"+M+"; visit "+R+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function f(){}var o={d:{f,r:function(){throw Error(u(522))},D:f,C:f,L:f,m:f,X:f,S:f,M:f},p:0,findDOMNode:null},h=Symbol.for("react.portal");function j(M,R,Y){var $=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:h,key:$==null?null:""+$,children:M,containerInfo:R,implementation:Y}}var x=c.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function k(M,R){if(M==="font")return"";if(typeof R=="string")return R==="use-credentials"?R:""}return ln.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=o,ln.createPortal=function(M,R){var Y=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!R||R.nodeType!==1&&R.nodeType!==9&&R.nodeType!==11)throw Error(u(299));return j(M,R,null,Y)},ln.flushSync=function(M){var R=x.T,Y=o.p;try{if(x.T=null,o.p=2,M)return M()}finally{x.T=R,o.p=Y,o.d.f()}},ln.preconnect=function(M,R){typeof M=="string"&&(R?(R=R.crossOrigin,R=typeof R=="string"?R==="use-credentials"?R:"":void 0):R=null,o.d.C(M,R))},ln.prefetchDNS=function(M){typeof M=="string"&&o.d.D(M)},ln.preinit=function(M,R){if(typeof M=="string"&&R&&typeof R.as=="string"){var Y=R.as,$=k(Y,R.crossOrigin),ee=typeof R.integrity=="string"?R.integrity:void 0,I=typeof R.fetchPriority=="string"?R.fetchPriority:void 0;Y==="style"?o.d.S(M,typeof R.precedence=="string"?R.precedence:void 0,{crossOrigin:$,integrity:ee,fetchPriority:I}):Y==="script"&&o.d.X(M,{crossOrigin:$,integrity:ee,fetchPriority:I,nonce:typeof R.nonce=="string"?R.nonce:void 0})}},ln.preinitModule=function(M,R){if(typeof M=="string")if(typeof R=="object"&&R!==null){if(R.as==null||R.as==="script"){var Y=k(R.as,R.crossOrigin);o.d.M(M,{crossOrigin:Y,integrity:typeof R.integrity=="string"?R.integrity:void 0,nonce:typeof R.nonce=="string"?R.nonce:void 0})}}else R==null&&o.d.M(M)},ln.preload=function(M,R){if(typeof M=="string"&&typeof R=="object"&&R!==null&&typeof R.as=="string"){var Y=R.as,$=k(Y,R.crossOrigin);o.d.L(M,Y,{crossOrigin:$,integrity:typeof R.integrity=="string"?R.integrity:void 0,nonce:typeof R.nonce=="string"?R.nonce:void 0,type:typeof R.type=="string"?R.type:void 0,fetchPriority:typeof R.fetchPriority=="string"?R.fetchPriority:void 0,referrerPolicy:typeof R.referrerPolicy=="string"?R.referrerPolicy:void 0,imageSrcSet:typeof R.imageSrcSet=="string"?R.imageSrcSet:void 0,imageSizes:typeof R.imageSizes=="string"?R.imageSizes:void 0,media:typeof R.media=="string"?R.media:void 0})}},ln.preloadModule=function(M,R){if(typeof M=="string")if(R){var Y=k(R.as,R.crossOrigin);o.d.m(M,{as:typeof R.as=="string"&&R.as!=="script"?R.as:void 0,crossOrigin:Y,integrity:typeof R.integrity=="string"?R.integrity:void 0})}else o.d.m(M)},ln.requestFormReset=function(M){o.d.r(M)},ln.unstable_batchedUpdates=function(M,R){return M(R)},ln.useFormState=function(M,R,Y){return x.H.useFormState(M,R,Y)},ln.useFormStatus=function(){return x.H.useHostTransitionStatus()},ln.version="19.2.8",ln}var Tm;function rv(){if(Tm)return Tr.exports;Tm=1;function c(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(c)}catch(u){console.error(u)}}return c(),Tr.exports=uv(),Tr.exports}var Cm;function ov(){if(Cm)return ii;Cm=1;var c=cv(),u=qr(),f=rv();function o(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}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 h(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function j(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function x(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 k(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 M(e){if(j(e)!==e)throw Error(o(188))}function R(e){var t=e.alternate;if(!t){if(t=j(e),t===null)throw Error(o(188));return t!==e?null:e}for(var n=e,a=t;;){var l=n.return;if(l===null)break;var i=l.alternate;if(i===null){if(a=l.return,a!==null){n=a;continue}break}if(l.child===i.child){for(i=l.child;i;){if(i===n)return M(l),e;if(i===a)return M(l),t;i=i.sibling}throw Error(o(188))}if(n.return!==a.return)n=l,a=i;else{for(var r=!1,d=l.child;d;){if(d===n){r=!0,n=l,a=i;break}if(d===a){r=!0,a=l,n=i;break}d=d.sibling}if(!r){for(d=i.child;d;){if(d===n){r=!0,n=i,a=l;break}if(d===a){r=!0,a=i,n=l;break}d=d.sibling}if(!r)throw Error(o(189))}}if(n.alternate!==a)throw Error(o(190))}if(n.tag!==3)throw Error(o(188));return n.stateNode.current===n?e:t}function Y(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=Y(e),t!==null)return t;e=e.sibling}return null}var $=Object.assign,ee=Symbol.for("react.element"),I=Symbol.for("react.transitional.element"),le=Symbol.for("react.portal"),ce=Symbol.for("react.fragment"),ot=Symbol.for("react.strict_mode"),de=Symbol.for("react.profiler"),Ce=Symbol.for("react.consumer"),_e=Symbol.for("react.context"),vt=Symbol.for("react.forward_ref"),gt=Symbol.for("react.suspense"),ve=Symbol.for("react.suspense_list"),re=Symbol.for("react.memo"),ie=Symbol.for("react.lazy"),Pe=Symbol.for("react.activity"),Ie=Symbol.for("react.memo_cache_sentinel"),yt=Symbol.iterator;function qe(e){return e===null||typeof e!="object"?null:(e=yt&&e[yt]||e["@@iterator"],typeof e=="function"?e:null)}var dt=Symbol.for("react.client.reference");function Xe(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===dt?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case ce:return"Fragment";case de:return"Profiler";case ot:return"StrictMode";case gt:return"Suspense";case ve:return"SuspenseList";case Pe:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case le:return"Portal";case _e:return e.displayName||"Context";case Ce:return(e._context.displayName||"Context")+".Consumer";case vt:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case re:return t=e.displayName||null,t!==null?t:Xe(e.type)||"Memo";case ie:t=e._payload,e=e._init;try{return Xe(e(t))}catch{}}return null}var Nt=Array.isArray,O=u.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Z=f.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,W={pending:!1,data:null,method:null,action:null},Se=[],Ne=-1;function y(e){return{current:e}}function T(e){0>Ne||(e.current=Se[Ne],Se[Ne]=null,Ne--)}function X(e,t){Ne++,Se[Ne]=e.current,e.current=t}var J=y(null),ne=y(null),oe=y(null),Ee=y(null);function Be(e,t){switch(X(oe,t),X(ne,e),X(J,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Bf(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Bf(t),e=Gf(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}T(J),X(J,e)}function et(){T(J),T(ne),T(oe)}function Bt(e){e.memoizedState!==null&&X(Ee,e);var t=J.current,n=Gf(t,e.type);t!==n&&(X(ne,e),X(J,n))}function Sn(e){ne.current===e&&(T(J),T(ne)),Ee.current===e&&(T(Ee),ti._currentValue=W)}var ua,Nn;function It(e){if(ua===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);ua=t&&t[1]||"",Nn=-1<n.stack.indexOf(`
|
|
2
|
+
at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
3
|
+
`+ua+e+Nn}var Ke=!1;function q(e,t){if(!e||Ke)return"";Ke=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var a={DetermineComponentFrameRoot:function(){try{if(t){var L=function(){throw Error()};if(Object.defineProperty(L.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(L,[])}catch(w){var A=w}Reflect.construct(e,[],L)}else{try{L.call()}catch(w){A=w}e.call(L.prototype)}}else{try{throw Error()}catch(w){A=w}(L=e())&&typeof L.catch=="function"&&L.catch(function(){})}}catch(w){if(w&&A&&typeof w.stack=="string")return[w.stack,A.stack]}return[null,null]}};a.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var l=Object.getOwnPropertyDescriptor(a.DetermineComponentFrameRoot,"name");l&&l.configurable&&Object.defineProperty(a.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var i=a.DetermineComponentFrameRoot(),r=i[0],d=i[1];if(r&&d){var g=r.split(`
|
|
4
|
+
`),E=d.split(`
|
|
5
|
+
`);for(l=a=0;a<g.length&&!g[a].includes("DetermineComponentFrameRoot");)a++;for(;l<E.length&&!E[l].includes("DetermineComponentFrameRoot");)l++;if(a===g.length||l===E.length)for(a=g.length-1,l=E.length-1;1<=a&&0<=l&&g[a]!==E[l];)l--;for(;1<=a&&0<=l;a--,l--)if(g[a]!==E[l]){if(a!==1||l!==1)do if(a--,l--,0>l||g[a]!==E[l]){var z=`
|
|
6
|
+
`+g[a].replace(" at new "," at ");return e.displayName&&z.includes("<anonymous>")&&(z=z.replace("<anonymous>",e.displayName)),z}while(1<=a&&0<=l);break}}}finally{Ke=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?It(n):""}function ye(e,t){switch(e.tag){case 26:case 27:case 5:return It(e.type);case 16:return It("Lazy");case 13:return e.child!==t&&t!==null?It("Suspense Fallback"):It("Suspense");case 19:return It("SuspenseList");case 0:case 15:return q(e.type,!1);case 11:return q(e.type.render,!1);case 1:return q(e.type,!0);case 31:return It("Activity");default:return""}}function tt(e){try{var t="",n=null;do t+=ye(e,n),n=e,e=e.return;while(e);return t}catch(a){return`
|
|
7
|
+
Error generating stack: `+a.message+`
|
|
8
|
+
`+a.stack}}var Ve=Object.prototype.hasOwnProperty,kt=c.unstable_scheduleCallback,Tt=c.unstable_cancelCallback,ja=c.unstable_shouldYield,Bn=c.unstable_requestPaint,Gt=c.unstable_now,ea=c.unstable_getCurrentPriorityLevel,Sa=c.unstable_ImmediatePriority,ra=c.unstable_UserBlockingPriority,Na=c.unstable_NormalPriority,Sl=c.unstable_LowPriority,St=c.unstable_IdlePriority,Tn=c.log,Ta=c.unstable_setDisableYieldValue,Xt=null,te=null;function Oe(e){if(typeof Tn=="function"&&Ta(e),te&&typeof te.setStrictMode=="function")try{te.setStrictMode(Xt,e)}catch{}}var Yt=Math.clz32?Math.clz32:Ae,Ka=Math.log,oa=Math.LN2;function Ae(e){return e>>>=0,e===0?32:31-(Ka(e)/oa|0)|0}var mn=256,Me=262144,sn=4194304;function zt(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 ta(e,t,n){var a=e.pendingLanes;if(a===0)return 0;var l=0,i=e.suspendedLanes,r=e.pingedLanes;e=e.warmLanes;var d=a&134217727;return d!==0?(a=d&~i,a!==0?l=zt(a):(r&=d,r!==0?l=zt(r):n||(n=d&~e,n!==0&&(l=zt(n))))):(d=a&~i,d!==0?l=zt(d):r!==0?l=zt(r):n||(n=a&~e,n!==0&&(l=zt(n)))),l===0?0:t!==0&&t!==l&&(t&i)===0&&(i=l&-l,n=t&-t,i>=n||i===32&&(n&4194048)!==0)?t:l}function hn(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Ca(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 cn(){var e=sn;return sn<<=1,(sn&62914560)===0&&(sn=4194304),e}function be(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function pn(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Va(e,t,n,a,l,i){var r=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var d=e.entanglements,g=e.expirationTimes,E=e.hiddenUpdates;for(n=r&~n;0<n;){var z=31-Yt(n),L=1<<z;d[z]=0,g[z]=-1;var A=E[z];if(A!==null)for(E[z]=null,z=0;z<A.length;z++){var w=A[z];w!==null&&(w.lane&=-536870913)}n&=~L}a!==0&&da(e,a,0),i!==0&&l===0&&e.tag!==0&&(e.suspendedLanes|=i&~(r&~t))}function da(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var a=31-Yt(t);e.entangledLanes|=t,e.entanglements[a]=e.entanglements[a]|1073741824|n&261930}function Ea(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var a=31-Yt(n),l=1<<a;l&t|e[a]&t&&(e[a]|=t),n&=~l}}function Gn(e,t){var n=t&-t;return n=(n&42)!==0?1:Cn(n),(n&(e.suspendedLanes|t))!==0?0:n}function Cn(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 fa(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Aa(){var e=Z.p;return e!==0?e:(e=window.event,e===void 0?32:om(e.type))}function En(e,t){var n=Z.p;try{return Z.p=e,t()}finally{Z.p=n}}var Ge=Math.random().toString(36).slice(2),ft="__reactFiber$"+Ge,me="__reactProps$"+Ge,en="__reactContainer$"+Ge,tn="__reactEvents$"+Ge,Ja="__reactListeners$"+Ge,un="__reactHandles$"+Ge,ka="__reactResources$"+Ge,ct="__reactMarker$"+Ge;function Yn(e){delete e[ft],delete e[me],delete e[tn],delete e[Ja],delete e[un]}function Rt(e){var t=e[ft];if(t)return t;for(var n=e.parentNode;n;){if(t=n[en]||n[ft]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Kf(e);e!==null;){if(n=e[ft])return n;e=Kf(e)}return t}e=n,n=e.parentNode}return null}function rn(e){if(e=e[ft]||e[en]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Qt(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(o(33))}function on(e){var t=e[ka];return t||(t=e[ka]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function Ue(e){e[ct]=!0}var ma=new Set,ha={};function nn(e,t){na(e,t),na(e+"Capture",t)}function na(e,t){for(ha[e]=t,e=0;e<t.length;e++)ma.add(t[e])}var Nl=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]*$"),$n={},pa={};function Ra(e){return Ve.call(pa,e)?!0:Ve.call($n,e)?!1:Nl.test(e)?pa[e]=!0:($n[e]=!0,!1)}function An(e,t,n){if(Ra(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var a=t.toLowerCase().slice(0,5);if(a!=="data-"&&a!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+n)}}function Lt(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+n)}}function Zt(e,t,n,a){if(a===null)e.removeAttribute(n);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,""+a)}}function mt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function aa(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function kn(e,t,n){var a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var l=a.get,i=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(r){n=""+r,i.call(this,r)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return n},setValue:function(r){n=""+r},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function In(e){if(!e._valueTracker){var t=aa(e)?"checked":"value";e._valueTracker=kn(e,t,""+e[t])}}function Rn(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a="";return e&&(a=aa(e)?e.checked?"true":"false":e.value),e=a,e!==n?(t.setValue(e),!0):!1}function vn(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 Wa=/[\n"\\]/g;function Kt(e){return e.replace(Wa,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Dn(e,t,n,a,l,i,r,d){e.name="",r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"?e.type=r:e.removeAttribute("type"),t!=null?r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+mt(t)):e.value!==""+mt(t)&&(e.value=""+mt(t)):r!=="submit"&&r!=="reset"||e.removeAttribute("value"),t!=null?xe(e,r,mt(t)):n!=null?xe(e,r,mt(n)):a!=null&&e.removeAttribute("value"),l==null&&i!=null&&(e.defaultChecked=!!i),l!=null&&(e.checked=l&&typeof l!="function"&&typeof l!="symbol"),d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"?e.name=""+mt(d):e.removeAttribute("name")}function Da(e,t,n,a,l,i,r,d){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),t!=null||n!=null){if(!(i!=="submit"&&i!=="reset"||t!=null)){In(e);return}n=n!=null?""+mt(n):"",t=t!=null?""+mt(t):n,d||t===e.value||(e.value=t),e.defaultValue=t}a=a??l,a=typeof a!="function"&&typeof a!="symbol"&&!!a,e.checked=d?e.checked:!!a,e.defaultChecked=!!a,r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"&&(e.name=r),In(e)}function xe(e,t,n){t==="number"&&vn(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function wn(e,t,n,a){if(e=e.options,t){t={};for(var l=0;l<n.length;l++)t["$"+n[l]]=!0;for(n=0;n<e.length;n++)l=t.hasOwnProperty("$"+e[n].value),e[n].selected!==l&&(e[n].selected=l),l&&a&&(e[n].defaultSelected=!0)}else{for(n=""+mt(n),t=null,l=0;l<e.length;l++){if(e[l].value===n){e[l].selected=!0,a&&(e[l].defaultSelected=!0);return}t!==null||e[l].disabled||(t=e[l])}t!==null&&(t.selected=!0)}}function ht(e,t,n){if(t!=null&&(t=""+mt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+mt(n):""}function m(e,t,n,a){if(t==null){if(a!=null){if(n!=null)throw Error(o(92));if(Nt(a)){if(1<a.length)throw Error(o(93));a=a[0]}n=a}n==null&&(n=""),t=n}n=mt(t),e.defaultValue=n,a=e.textContent,a===n&&a!==""&&a!==null&&(e.value=a),In(e)}function S(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var D=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 B(e,t,n){var a=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?a?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":a?e.setProperty(t,n):typeof n!="number"||n===0||D.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function F(e,t,n){if(t!=null&&typeof t!="object")throw Error(o(62));if(e=e.style,n!=null){for(var a in n)!n.hasOwnProperty(a)||t!=null&&t.hasOwnProperty(a)||(a.indexOf("--")===0?e.setProperty(a,""):a==="float"?e.cssFloat="":e[a]="");for(var l in t)a=t[l],t.hasOwnProperty(l)&&n[l]!==a&&B(e,l,a)}else for(var i in t)t.hasOwnProperty(i)&&B(e,i,t[i])}function G(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 He=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"]]),ut=/^[\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 K(e){return ut.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function he(){}var Je=null;function Qe(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var We=null,Fe=null;function va(e){var t=rn(e);if(t&&(e=t.stateNode)){var n=e[me]||null;e:switch(e=t.stateNode,t.type){case"input":if(Dn(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+Kt(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var a=n[t];if(a!==e&&a.form===e.form){var l=a[me]||null;if(!l)throw Error(o(90));Dn(a,l.value,l.defaultValue,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name)}}for(t=0;t<n.length;t++)a=n[t],a.form===e.form&&Rn(a)}break e;case"textarea":ht(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&wn(e,!!n.multiple,t,!1)}}}var Vt=!1;function Fa(e,t,n){if(Vt)return e(t,n);Vt=!0;try{var a=e(t);return a}finally{if(Vt=!1,(We!==null||Fe!==null)&&(Ki(),We&&(t=We,e=Fe,Fe=We=null,va(t),e)))for(t=0;t<e.length;t++)va(e[t])}}function Pa(e,t){var n=e.stateNode;if(n===null)return null;var a=n[me]||null;if(a===null)return null;n=a[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":(a=!a.disabled)||(e=e.type,a=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!a;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(o(231,t,typeof n));return n}var dn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Xl=!1;if(dn)try{var Tl={};Object.defineProperty(Tl,"passive",{get:function(){Xl=!0}}),window.addEventListener("test",Tl,Tl),window.removeEventListener("test",Tl,Tl)}catch{Xl=!1}var an=null,Ql=null,Cl=null;function fi(){if(Cl)return Cl;var e,t=Ql,n=t.length,a,l="value"in an?an.value:an.textContent,i=l.length;for(e=0;e<n&&t[e]===l[e];e++);var r=n-e;for(a=1;a<=r&&t[n-a]===l[i-a];a++);return Cl=l.slice(e,1<a?1-a:void 0)}function El(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 v(){return!0}function _(){return!1}function H(e){function t(n,a,l,i,r){this._reactName=n,this._targetInst=l,this.type=a,this.nativeEvent=i,this.target=r,this.currentTarget=null;for(var d in e)e.hasOwnProperty(d)&&(n=e[d],this[d]=n?n(i):i[d]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?v:_,this.isPropagationStopped=_,this}return $(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=v)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=v)},persist:function(){},isPersistent:v}),t}var Q={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},V=H(Q),Te=$({},Q,{view:0,detail:0}),Le=H(Te),Ct,fe,pt,On=$({},Te,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Tc,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!==pt&&(pt&&e.type==="mousemove"?(Ct=e.screenX-pt.screenX,fe=e.screenY-pt.screenY):fe=Ct=0,pt=e),Ct)},movementY:function(e){return"movementY"in e?e.movementY:fe}}),Al=H(On),wa=$({},On,{dataTransfer:0}),ah=H(wa),lh=$({},Te,{relatedTarget:0}),Nc=H(lh),sh=$({},Q,{animationName:0,elapsedTime:0,pseudoElement:0}),ih=H(sh),ch=$({},Q,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),uh=H(ch),rh=$({},Q,{data:0}),Yr=H(rh),oh={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},dh={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"},fh={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function mh(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=fh[e])?!!t[e]:!1}function Tc(){return mh}var hh=$({},Te,{key:function(e){if(e.key){var t=oh[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=El(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?dh[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Tc,charCode:function(e){return e.type==="keypress"?El(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?El(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),ph=H(hh),vh=$({},On,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),$r=H(vh),gh=$({},Te,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Tc}),yh=H(gh),bh=$({},Q,{propertyName:0,elapsedTime:0,pseudoElement:0}),xh=H(bh),jh=$({},On,{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}),Sh=H(jh),Nh=$({},Q,{newState:0,oldState:0}),Th=H(Nh),Ch=[9,13,27,32],Cc=dn&&"CompositionEvent"in window,Ss=null;dn&&"documentMode"in document&&(Ss=document.documentMode);var Eh=dn&&"TextEvent"in window&&!Ss,Ir=dn&&(!Cc||Ss&&8<Ss&&11>=Ss),Xr=" ",Qr=!1;function Zr(e,t){switch(e){case"keyup":return Ch.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Kr(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Zl=!1;function Ah(e,t){switch(e){case"compositionend":return Kr(t);case"keypress":return t.which!==32?null:(Qr=!0,Xr);case"textInput":return e=t.data,e===Xr&&Qr?null:e;default:return null}}function kh(e,t){if(Zl)return e==="compositionend"||!Cc&&Zr(e,t)?(e=fi(),Cl=Ql=an=null,Zl=!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 Ir&&t.locale!=="ko"?null:t.data;default:return null}}var Rh={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 Vr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!Rh[e.type]:t==="textarea"}function Jr(e,t,n,a){We?Fe?Fe.push(a):Fe=[a]:We=a,t=tc(t,"onChange"),0<t.length&&(n=new V("onChange","change",null,n,a),e.push({event:n,listeners:t}))}var Ns=null,Ts=null;function Dh(e){_f(e,0)}function mi(e){var t=Qt(e);if(Rn(t))return e}function Wr(e,t){if(e==="change")return t}var Fr=!1;if(dn){var Ec;if(dn){var Ac="oninput"in document;if(!Ac){var Pr=document.createElement("div");Pr.setAttribute("oninput","return;"),Ac=typeof Pr.oninput=="function"}Ec=Ac}else Ec=!1;Fr=Ec&&(!document.documentMode||9<document.documentMode)}function eo(){Ns&&(Ns.detachEvent("onpropertychange",to),Ts=Ns=null)}function to(e){if(e.propertyName==="value"&&mi(Ts)){var t=[];Jr(t,Ts,e,Qe(e)),Fa(Dh,t)}}function wh(e,t,n){e==="focusin"?(eo(),Ns=t,Ts=n,Ns.attachEvent("onpropertychange",to)):e==="focusout"&&eo()}function Oh(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return mi(Ts)}function zh(e,t){if(e==="click")return mi(t)}function _h(e,t){if(e==="input"||e==="change")return mi(t)}function Mh(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var zn=typeof Object.is=="function"?Object.is:Mh;function Cs(e,t){if(zn(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(a=0;a<n.length;a++){var l=n[a];if(!Ve.call(t,l)||!zn(e[l],t[l]))return!1}return!0}function no(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ao(e,t){var n=no(e);e=0;for(var a;n;){if(n.nodeType===3){if(a=e+n.textContent.length,e<=t&&a>=t)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=no(n)}}function lo(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?lo(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function so(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=vn(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=vn(e.document)}return t}function kc(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 Uh=dn&&"documentMode"in document&&11>=document.documentMode,Kl=null,Rc=null,Es=null,Dc=!1;function io(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Dc||Kl==null||Kl!==vn(a)||(a=Kl,"selectionStart"in a&&kc(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Es&&Cs(Es,a)||(Es=a,a=tc(Rc,"onSelect"),0<a.length&&(t=new V("onSelect","select",null,t,n),e.push({event:t,listeners:a}),t.target=Kl)))}function kl(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Vl={animationend:kl("Animation","AnimationEnd"),animationiteration:kl("Animation","AnimationIteration"),animationstart:kl("Animation","AnimationStart"),transitionrun:kl("Transition","TransitionRun"),transitionstart:kl("Transition","TransitionStart"),transitioncancel:kl("Transition","TransitionCancel"),transitionend:kl("Transition","TransitionEnd")},wc={},co={};dn&&(co=document.createElement("div").style,"AnimationEvent"in window||(delete Vl.animationend.animation,delete Vl.animationiteration.animation,delete Vl.animationstart.animation),"TransitionEvent"in window||delete Vl.transitionend.transition);function Rl(e){if(wc[e])return wc[e];if(!Vl[e])return e;var t=Vl[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in co)return wc[e]=t[n];return e}var uo=Rl("animationend"),ro=Rl("animationiteration"),oo=Rl("animationstart"),Hh=Rl("transitionrun"),Lh=Rl("transitionstart"),qh=Rl("transitioncancel"),fo=Rl("transitionend"),mo=new Map,Oc="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(" ");Oc.push("scrollEnd");function la(e,t){mo.set(e,t),nn(t,[e])}var hi=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)},Xn=[],Jl=0,zc=0;function pi(){for(var e=Jl,t=zc=Jl=0;t<e;){var n=Xn[t];Xn[t++]=null;var a=Xn[t];Xn[t++]=null;var l=Xn[t];Xn[t++]=null;var i=Xn[t];if(Xn[t++]=null,a!==null&&l!==null){var r=a.pending;r===null?l.next=l:(l.next=r.next,r.next=l),a.pending=l}i!==0&&ho(n,l,i)}}function vi(e,t,n,a){Xn[Jl++]=e,Xn[Jl++]=t,Xn[Jl++]=n,Xn[Jl++]=a,zc|=a,e.lanes|=a,e=e.alternate,e!==null&&(e.lanes|=a)}function _c(e,t,n,a){return vi(e,t,n,a),gi(e)}function Dl(e,t){return vi(e,null,null,t),gi(e)}function ho(e,t,n){e.lanes|=n;var a=e.alternate;a!==null&&(a.lanes|=n);for(var l=!1,i=e.return;i!==null;)i.childLanes|=n,a=i.alternate,a!==null&&(a.childLanes|=n),i.tag===22&&(e=i.stateNode,e===null||e._visibility&1||(l=!0)),e=i,i=i.return;return e.tag===3?(i=e.stateNode,l&&t!==null&&(l=31-Yt(n),e=i.hiddenUpdates,a=e[l],a===null?e[l]=[t]:a.push(t),t.lane=n|536870912),i):null}function gi(e){if(50<Ks)throw Ks=0,$u=null,Error(o(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Wl={};function Bh(e,t,n,a){this.tag=e,this.key=n,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=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function _n(e,t,n,a){return new Bh(e,t,n,a)}function Mc(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Oa(e,t){var n=e.alternate;return n===null?(n=_n(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function po(e,t){e.flags&=65011714;var n=e.alternate;return n===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=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function yi(e,t,n,a,l,i){var r=0;if(a=e,typeof e=="function")Mc(e)&&(r=1);else if(typeof e=="string")r=Xp(e,n,J.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case Pe:return e=_n(31,n,t,l),e.elementType=Pe,e.lanes=i,e;case ce:return wl(n.children,l,i,t);case ot:r=8,l|=24;break;case de:return e=_n(12,n,t,l|2),e.elementType=de,e.lanes=i,e;case gt:return e=_n(13,n,t,l),e.elementType=gt,e.lanes=i,e;case ve:return e=_n(19,n,t,l),e.elementType=ve,e.lanes=i,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case _e:r=10;break e;case Ce:r=9;break e;case vt:r=11;break e;case re:r=14;break e;case ie:r=16,a=null;break e}r=29,n=Error(o(130,e===null?"null":typeof e,"")),a=null}return t=_n(r,n,t,l),t.elementType=e,t.type=a,t.lanes=i,t}function wl(e,t,n,a){return e=_n(7,e,a,t),e.lanes=n,e}function Uc(e,t,n){return e=_n(6,e,null,t),e.lanes=n,e}function vo(e){var t=_n(18,null,null,0);return t.stateNode=e,t}function Hc(e,t,n){return t=_n(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var go=new WeakMap;function Qn(e,t){if(typeof e=="object"&&e!==null){var n=go.get(e);return n!==void 0?n:(t={value:e,source:t,stack:tt(t)},go.set(e,t),t)}return{value:e,source:t,stack:tt(t)}}var Fl=[],Pl=0,bi=null,As=0,Zn=[],Kn=0,el=null,ga=1,ya="";function za(e,t){Fl[Pl++]=As,Fl[Pl++]=bi,bi=e,As=t}function yo(e,t,n){Zn[Kn++]=ga,Zn[Kn++]=ya,Zn[Kn++]=el,el=e;var a=ga;e=ya;var l=32-Yt(a)-1;a&=~(1<<l),n+=1;var i=32-Yt(t)+l;if(30<i){var r=l-l%5;i=(a&(1<<r)-1).toString(32),a>>=r,l-=r,ga=1<<32-Yt(t)+l|n<<l|a,ya=i+e}else ga=1<<i|n<<l|a,ya=e}function Lc(e){e.return!==null&&(za(e,1),yo(e,1,0))}function qc(e){for(;e===bi;)bi=Fl[--Pl],Fl[Pl]=null,As=Fl[--Pl],Fl[Pl]=null;for(;e===el;)el=Zn[--Kn],Zn[Kn]=null,ya=Zn[--Kn],Zn[Kn]=null,ga=Zn[--Kn],Zn[Kn]=null}function bo(e,t){Zn[Kn++]=ga,Zn[Kn++]=ya,Zn[Kn++]=el,ga=t.id,ya=t.overflow,el=e}var Jt=null,bt=null,ze=!1,tl=null,Vn=!1,Bc=Error(o(519));function nl(e){var t=Error(o(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw ks(Qn(t,e)),Bc}function xo(e){var t=e.stateNode,n=e.type,a=e.memoizedProps;switch(t[ft]=e,t[me]=a,n){case"dialog":Re("cancel",t),Re("close",t);break;case"iframe":case"object":case"embed":Re("load",t);break;case"video":case"audio":for(n=0;n<Js.length;n++)Re(Js[n],t);break;case"source":Re("error",t);break;case"img":case"image":case"link":Re("error",t),Re("load",t);break;case"details":Re("toggle",t);break;case"input":Re("invalid",t),Da(t,a.value,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name,!0);break;case"select":Re("invalid",t);break;case"textarea":Re("invalid",t),m(t,a.value,a.defaultValue,a.children)}n=a.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||t.textContent===""+n||a.suppressHydrationWarning===!0||Lf(t.textContent,n)?(a.popover!=null&&(Re("beforetoggle",t),Re("toggle",t)),a.onScroll!=null&&Re("scroll",t),a.onScrollEnd!=null&&Re("scrollend",t),a.onClick!=null&&(t.onclick=he),t=!0):t=!1,t||nl(e,!0)}function jo(e){for(Jt=e.return;Jt;)switch(Jt.tag){case 5:case 31:case 13:Vn=!1;return;case 27:case 3:Vn=!0;return;default:Jt=Jt.return}}function es(e){if(e!==Jt)return!1;if(!ze)return jo(e),ze=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||lr(e.type,e.memoizedProps)),n=!n),n&&bt&&nl(e),jo(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));bt=Zf(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));bt=Zf(e)}else t===27?(t=bt,vl(e.type)?(e=rr,rr=null,bt=e):bt=t):bt=Jt?Wn(e.stateNode.nextSibling):null;return!0}function Ol(){bt=Jt=null,ze=!1}function Gc(){var e=tl;return e!==null&&(xn===null?xn=e:xn.push.apply(xn,e),tl=null),e}function ks(e){tl===null?tl=[e]:tl.push(e)}var Yc=y(null),zl=null,_a=null;function al(e,t,n){X(Yc,t._currentValue),t._currentValue=n}function Ma(e){e._currentValue=Yc.current,T(Yc)}function $c(e,t,n){for(;e!==null;){var a=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,a!==null&&(a.childLanes|=t)):a!==null&&(a.childLanes&t)!==t&&(a.childLanes|=t),e===n)break;e=e.return}}function Ic(e,t,n,a){var l=e.child;for(l!==null&&(l.return=e);l!==null;){var i=l.dependencies;if(i!==null){var r=l.child;i=i.firstContext;e:for(;i!==null;){var d=i;i=l;for(var g=0;g<t.length;g++)if(d.context===t[g]){i.lanes|=n,d=i.alternate,d!==null&&(d.lanes|=n),$c(i.return,n,e),a||(r=null);break e}i=d.next}}else if(l.tag===18){if(r=l.return,r===null)throw Error(o(341));r.lanes|=n,i=r.alternate,i!==null&&(i.lanes|=n),$c(r,n,e),r=null}else r=l.child;if(r!==null)r.return=l;else for(r=l;r!==null;){if(r===e){r=null;break}if(l=r.sibling,l!==null){l.return=r.return,r=l;break}r=r.return}l=r}}function ts(e,t,n,a){e=null;for(var l=t,i=!1;l!==null;){if(!i){if((l.flags&524288)!==0)i=!0;else if((l.flags&262144)!==0)break}if(l.tag===10){var r=l.alternate;if(r===null)throw Error(o(387));if(r=r.memoizedProps,r!==null){var d=l.type;zn(l.pendingProps.value,r.value)||(e!==null?e.push(d):e=[d])}}else if(l===Ee.current){if(r=l.alternate,r===null)throw Error(o(387));r.memoizedState.memoizedState!==l.memoizedState.memoizedState&&(e!==null?e.push(ti):e=[ti])}l=l.return}e!==null&&Ic(t,e,n,a),t.flags|=262144}function xi(e){for(e=e.firstContext;e!==null;){if(!zn(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function _l(e){zl=e,_a=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Wt(e){return So(zl,e)}function ji(e,t){return zl===null&&_l(e),So(e,t)}function So(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},_a===null){if(e===null)throw Error(o(308));_a=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else _a=_a.next=t;return n}var Gh=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,a){e.push(a)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},Yh=c.unstable_scheduleCallback,$h=c.unstable_NormalPriority,_t={$$typeof:_e,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Xc(){return{controller:new Gh,data:new Map,refCount:0}}function Rs(e){e.refCount--,e.refCount===0&&Yh($h,function(){e.controller.abort()})}var Ds=null,Qc=0,ns=0,as=null;function Ih(e,t){if(Ds===null){var n=Ds=[];Qc=0,ns=Vu(),as={status:"pending",value:void 0,then:function(a){n.push(a)}}}return Qc++,t.then(No,No),t}function No(){if(--Qc===0&&Ds!==null){as!==null&&(as.status="fulfilled");var e=Ds;Ds=null,ns=0,as=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Xh(e,t){var n=[],a={status:"pending",value:null,reason:null,then:function(l){n.push(l)}};return e.then(function(){a.status="fulfilled",a.value=t;for(var l=0;l<n.length;l++)(0,n[l])(t)},function(l){for(a.status="rejected",a.reason=l,l=0;l<n.length;l++)(0,n[l])(void 0)}),a}var To=O.S;O.S=function(e,t){uf=Gt(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&Ih(e,t),To!==null&&To(e,t)};var Ml=y(null);function Zc(){var e=Ml.current;return e!==null?e:rt.pooledCache}function Si(e,t){t===null?X(Ml,Ml.current):X(Ml,t.pool)}function Co(){var e=Zc();return e===null?null:{parent:_t._currentValue,pool:e}}var ls=Error(o(460)),Kc=Error(o(474)),Ni=Error(o(542)),Ti={then:function(){}};function Eo(e){return e=e.status,e==="fulfilled"||e==="rejected"}function Ao(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(he,he),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Ro(e),e;default:if(typeof t.status=="string")t.then(he,he);else{if(e=rt,e!==null&&100<e.shellSuspendCounter)throw Error(o(482));e=t,e.status="pending",e.then(function(a){if(t.status==="pending"){var l=t;l.status="fulfilled",l.value=a}},function(a){if(t.status==="pending"){var l=t;l.status="rejected",l.reason=a}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Ro(e),e}throw Hl=t,ls}}function Ul(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?(Hl=n,ls):n}}var Hl=null;function ko(){if(Hl===null)throw Error(o(459));var e=Hl;return Hl=null,e}function Ro(e){if(e===ls||e===Ni)throw Error(o(483))}var ss=null,ws=0;function Ci(e){var t=ws;return ws+=1,ss===null&&(ss=[]),Ao(ss,e,t)}function Os(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function Ei(e,t){throw t.$$typeof===ee?Error(o(525)):(e=Object.prototype.toString.call(t),Error(o(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function Do(e){function t(N,b){if(e){var C=N.deletions;C===null?(N.deletions=[b],N.flags|=16):C.push(b)}}function n(N,b){if(!e)return null;for(;b!==null;)t(N,b),b=b.sibling;return null}function a(N){for(var b=new Map;N!==null;)N.key!==null?b.set(N.key,N):b.set(N.index,N),N=N.sibling;return b}function l(N,b){return N=Oa(N,b),N.index=0,N.sibling=null,N}function i(N,b,C){return N.index=C,e?(C=N.alternate,C!==null?(C=C.index,C<b?(N.flags|=67108866,b):C):(N.flags|=67108866,b)):(N.flags|=1048576,b)}function r(N){return e&&N.alternate===null&&(N.flags|=67108866),N}function d(N,b,C,U){return b===null||b.tag!==6?(b=Uc(C,N.mode,U),b.return=N,b):(b=l(b,C),b.return=N,b)}function g(N,b,C,U){var se=C.type;return se===ce?z(N,b,C.props.children,U,C.key):b!==null&&(b.elementType===se||typeof se=="object"&&se!==null&&se.$$typeof===ie&&Ul(se)===b.type)?(b=l(b,C.props),Os(b,C),b.return=N,b):(b=yi(C.type,C.key,C.props,null,N.mode,U),Os(b,C),b.return=N,b)}function E(N,b,C,U){return b===null||b.tag!==4||b.stateNode.containerInfo!==C.containerInfo||b.stateNode.implementation!==C.implementation?(b=Hc(C,N.mode,U),b.return=N,b):(b=l(b,C.children||[]),b.return=N,b)}function z(N,b,C,U,se){return b===null||b.tag!==7?(b=wl(C,N.mode,U,se),b.return=N,b):(b=l(b,C),b.return=N,b)}function L(N,b,C){if(typeof b=="string"&&b!==""||typeof b=="number"||typeof b=="bigint")return b=Uc(""+b,N.mode,C),b.return=N,b;if(typeof b=="object"&&b!==null){switch(b.$$typeof){case I:return C=yi(b.type,b.key,b.props,null,N.mode,C),Os(C,b),C.return=N,C;case le:return b=Hc(b,N.mode,C),b.return=N,b;case ie:return b=Ul(b),L(N,b,C)}if(Nt(b)||qe(b))return b=wl(b,N.mode,C,null),b.return=N,b;if(typeof b.then=="function")return L(N,Ci(b),C);if(b.$$typeof===_e)return L(N,ji(N,b),C);Ei(N,b)}return null}function A(N,b,C,U){var se=b!==null?b.key:null;if(typeof C=="string"&&C!==""||typeof C=="number"||typeof C=="bigint")return se!==null?null:d(N,b,""+C,U);if(typeof C=="object"&&C!==null){switch(C.$$typeof){case I:return C.key===se?g(N,b,C,U):null;case le:return C.key===se?E(N,b,C,U):null;case ie:return C=Ul(C),A(N,b,C,U)}if(Nt(C)||qe(C))return se!==null?null:z(N,b,C,U,null);if(typeof C.then=="function")return A(N,b,Ci(C),U);if(C.$$typeof===_e)return A(N,b,ji(N,C),U);Ei(N,C)}return null}function w(N,b,C,U,se){if(typeof U=="string"&&U!==""||typeof U=="number"||typeof U=="bigint")return N=N.get(C)||null,d(b,N,""+U,se);if(typeof U=="object"&&U!==null){switch(U.$$typeof){case I:return N=N.get(U.key===null?C:U.key)||null,g(b,N,U,se);case le:return N=N.get(U.key===null?C:U.key)||null,E(b,N,U,se);case ie:return U=Ul(U),w(N,b,C,U,se)}if(Nt(U)||qe(U))return N=N.get(C)||null,z(b,N,U,se,null);if(typeof U.then=="function")return w(N,b,C,Ci(U),se);if(U.$$typeof===_e)return w(N,b,C,ji(b,U),se);Ei(b,U)}return null}function P(N,b,C,U){for(var se=null,Ye=null,ae=b,je=b=0,we=null;ae!==null&&je<C.length;je++){ae.index>je?(we=ae,ae=null):we=ae.sibling;var $e=A(N,ae,C[je],U);if($e===null){ae===null&&(ae=we);break}e&&ae&&$e.alternate===null&&t(N,ae),b=i($e,b,je),Ye===null?se=$e:Ye.sibling=$e,Ye=$e,ae=we}if(je===C.length)return n(N,ae),ze&&za(N,je),se;if(ae===null){for(;je<C.length;je++)ae=L(N,C[je],U),ae!==null&&(b=i(ae,b,je),Ye===null?se=ae:Ye.sibling=ae,Ye=ae);return ze&&za(N,je),se}for(ae=a(ae);je<C.length;je++)we=w(ae,N,je,C[je],U),we!==null&&(e&&we.alternate!==null&&ae.delete(we.key===null?je:we.key),b=i(we,b,je),Ye===null?se=we:Ye.sibling=we,Ye=we);return e&&ae.forEach(function(jl){return t(N,jl)}),ze&&za(N,je),se}function ue(N,b,C,U){if(C==null)throw Error(o(151));for(var se=null,Ye=null,ae=b,je=b=0,we=null,$e=C.next();ae!==null&&!$e.done;je++,$e=C.next()){ae.index>je?(we=ae,ae=null):we=ae.sibling;var jl=A(N,ae,$e.value,U);if(jl===null){ae===null&&(ae=we);break}e&&ae&&jl.alternate===null&&t(N,ae),b=i(jl,b,je),Ye===null?se=jl:Ye.sibling=jl,Ye=jl,ae=we}if($e.done)return n(N,ae),ze&&za(N,je),se;if(ae===null){for(;!$e.done;je++,$e=C.next())$e=L(N,$e.value,U),$e!==null&&(b=i($e,b,je),Ye===null?se=$e:Ye.sibling=$e,Ye=$e);return ze&&za(N,je),se}for(ae=a(ae);!$e.done;je++,$e=C.next())$e=w(ae,N,je,$e.value,U),$e!==null&&(e&&$e.alternate!==null&&ae.delete($e.key===null?je:$e.key),b=i($e,b,je),Ye===null?se=$e:Ye.sibling=$e,Ye=$e);return e&&ae.forEach(function(nv){return t(N,nv)}),ze&&za(N,je),se}function it(N,b,C,U){if(typeof C=="object"&&C!==null&&C.type===ce&&C.key===null&&(C=C.props.children),typeof C=="object"&&C!==null){switch(C.$$typeof){case I:e:{for(var se=C.key;b!==null;){if(b.key===se){if(se=C.type,se===ce){if(b.tag===7){n(N,b.sibling),U=l(b,C.props.children),U.return=N,N=U;break e}}else if(b.elementType===se||typeof se=="object"&&se!==null&&se.$$typeof===ie&&Ul(se)===b.type){n(N,b.sibling),U=l(b,C.props),Os(U,C),U.return=N,N=U;break e}n(N,b);break}else t(N,b);b=b.sibling}C.type===ce?(U=wl(C.props.children,N.mode,U,C.key),U.return=N,N=U):(U=yi(C.type,C.key,C.props,null,N.mode,U),Os(U,C),U.return=N,N=U)}return r(N);case le:e:{for(se=C.key;b!==null;){if(b.key===se)if(b.tag===4&&b.stateNode.containerInfo===C.containerInfo&&b.stateNode.implementation===C.implementation){n(N,b.sibling),U=l(b,C.children||[]),U.return=N,N=U;break e}else{n(N,b);break}else t(N,b);b=b.sibling}U=Hc(C,N.mode,U),U.return=N,N=U}return r(N);case ie:return C=Ul(C),it(N,b,C,U)}if(Nt(C))return P(N,b,C,U);if(qe(C)){if(se=qe(C),typeof se!="function")throw Error(o(150));return C=se.call(C),ue(N,b,C,U)}if(typeof C.then=="function")return it(N,b,Ci(C),U);if(C.$$typeof===_e)return it(N,b,ji(N,C),U);Ei(N,C)}return typeof C=="string"&&C!==""||typeof C=="number"||typeof C=="bigint"?(C=""+C,b!==null&&b.tag===6?(n(N,b.sibling),U=l(b,C),U.return=N,N=U):(n(N,b),U=Uc(C,N.mode,U),U.return=N,N=U),r(N)):n(N,b)}return function(N,b,C,U){try{ws=0;var se=it(N,b,C,U);return ss=null,se}catch(ae){if(ae===ls||ae===Ni)throw ae;var Ye=_n(29,ae,null,N.mode);return Ye.lanes=U,Ye.return=N,Ye}}}var Ll=Do(!0),wo=Do(!1),ll=!1;function Vc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Jc(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 sl(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function il(e,t,n){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,(Ze&2)!==0){var l=a.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),a.pending=t,t=gi(e),ho(e,null,n),t}return vi(e,a,t,n),gi(e)}function zs(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Ea(e,n)}}function Wc(e,t){var n=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,n===a)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var r={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};i===null?l=i=r:i=i.next=r,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:a.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:a.shared,callbacks:a.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Fc=!1;function _s(){if(Fc){var e=as;if(e!==null)throw e}}function Ms(e,t,n,a){Fc=!1;var l=e.updateQueue;ll=!1;var i=l.firstBaseUpdate,r=l.lastBaseUpdate,d=l.shared.pending;if(d!==null){l.shared.pending=null;var g=d,E=g.next;g.next=null,r===null?i=E:r.next=E,r=g;var z=e.alternate;z!==null&&(z=z.updateQueue,d=z.lastBaseUpdate,d!==r&&(d===null?z.firstBaseUpdate=E:d.next=E,z.lastBaseUpdate=g))}if(i!==null){var L=l.baseState;r=0,z=E=g=null,d=i;do{var A=d.lane&-536870913,w=A!==d.lane;if(w?(De&A)===A:(a&A)===A){A!==0&&A===ns&&(Fc=!0),z!==null&&(z=z.next={lane:0,tag:d.tag,payload:d.payload,callback:null,next:null});e:{var P=e,ue=d;A=t;var it=n;switch(ue.tag){case 1:if(P=ue.payload,typeof P=="function"){L=P.call(it,L,A);break e}L=P;break e;case 3:P.flags=P.flags&-65537|128;case 0:if(P=ue.payload,A=typeof P=="function"?P.call(it,L,A):P,A==null)break e;L=$({},L,A);break e;case 2:ll=!0}}A=d.callback,A!==null&&(e.flags|=64,w&&(e.flags|=8192),w=l.callbacks,w===null?l.callbacks=[A]:w.push(A))}else w={lane:A,tag:d.tag,payload:d.payload,callback:d.callback,next:null},z===null?(E=z=w,g=L):z=z.next=w,r|=A;if(d=d.next,d===null){if(d=l.shared.pending,d===null)break;w=d,d=w.next,w.next=null,l.lastBaseUpdate=w,l.shared.pending=null}}while(!0);z===null&&(g=L),l.baseState=g,l.firstBaseUpdate=E,l.lastBaseUpdate=z,i===null&&(l.shared.lanes=0),dl|=r,e.lanes=r,e.memoizedState=L}}function Oo(e,t){if(typeof e!="function")throw Error(o(191,e));e.call(t)}function zo(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)Oo(n[e],t)}var is=y(null),Ai=y(0);function _o(e,t){e=Ia,X(Ai,e),X(is,t),Ia=e|t.baseLanes}function Pc(){X(Ai,Ia),X(is,is.current)}function eu(){Ia=Ai.current,T(is),T(Ai)}var Mn=y(null),Jn=null;function cl(e){var t=e.alternate;X(Dt,Dt.current&1),X(Mn,e),Jn===null&&(t===null||is.current!==null||t.memoizedState!==null)&&(Jn=e)}function tu(e){X(Dt,Dt.current),X(Mn,e),Jn===null&&(Jn=e)}function Mo(e){e.tag===22?(X(Dt,Dt.current),X(Mn,e),Jn===null&&(Jn=e)):ul()}function ul(){X(Dt,Dt.current),X(Mn,Mn.current)}function Un(e){T(Mn),Jn===e&&(Jn=null),T(Dt)}var Dt=y(0);function ki(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||cr(n)||ur(n)))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 Ua=0,ge=null,lt=null,Mt=null,Ri=!1,cs=!1,ql=!1,Di=0,Us=0,us=null,Qh=0;function Et(){throw Error(o(321))}function nu(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!zn(e[n],t[n]))return!1;return!0}function au(e,t,n,a,l,i){return Ua=i,ge=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,O.H=e===null||e.memoizedState===null?yd:yu,ql=!1,i=n(a,l),ql=!1,cs&&(i=Ho(t,n,a,l)),Uo(e),i}function Uo(e){O.H=qs;var t=lt!==null&<.next!==null;if(Ua=0,Mt=lt=ge=null,Ri=!1,Us=0,us=null,t)throw Error(o(300));e===null||Ut||(e=e.dependencies,e!==null&&xi(e)&&(Ut=!0))}function Ho(e,t,n,a){ge=e;var l=0;do{if(cs&&(us=null),Us=0,cs=!1,25<=l)throw Error(o(301));if(l+=1,Mt=lt=null,e.updateQueue!=null){var i=e.updateQueue;i.lastEffect=null,i.events=null,i.stores=null,i.memoCache!=null&&(i.memoCache.index=0)}O.H=bd,i=t(n,a)}while(cs);return i}function Zh(){var e=O.H,t=e.useState()[0];return t=typeof t.then=="function"?Hs(t):t,e=e.useState()[0],(lt!==null?lt.memoizedState:null)!==e&&(ge.flags|=1024),t}function lu(){var e=Di!==0;return Di=0,e}function su(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function iu(e){if(Ri){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Ri=!1}Ua=0,Mt=lt=ge=null,cs=!1,Us=Di=0,us=null}function fn(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Mt===null?ge.memoizedState=Mt=e:Mt=Mt.next=e,Mt}function wt(){if(lt===null){var e=ge.alternate;e=e!==null?e.memoizedState:null}else e=lt.next;var t=Mt===null?ge.memoizedState:Mt.next;if(t!==null)Mt=t,lt=e;else{if(e===null)throw ge.alternate===null?Error(o(467)):Error(o(310));lt=e,e={memoizedState:lt.memoizedState,baseState:lt.baseState,baseQueue:lt.baseQueue,queue:lt.queue,next:null},Mt===null?ge.memoizedState=Mt=e:Mt=Mt.next=e}return Mt}function wi(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Hs(e){var t=Us;return Us+=1,us===null&&(us=[]),e=Ao(us,e,t),t=ge,(Mt===null?t.memoizedState:Mt.next)===null&&(t=t.alternate,O.H=t===null||t.memoizedState===null?yd:yu),e}function Oi(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Hs(e);if(e.$$typeof===_e)return Wt(e)}throw Error(o(438,String(e)))}function cu(e){var t=null,n=ge.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var a=ge.alternate;a!==null&&(a=a.updateQueue,a!==null&&(a=a.memoCache,a!=null&&(t={data:a.data.map(function(l){return l.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=wi(),ge.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),a=0;a<e;a++)n[a]=Ie;return t.index++,n}function Ha(e,t){return typeof t=="function"?t(e):t}function zi(e){var t=wt();return uu(t,lt,e)}function uu(e,t,n){var a=e.queue;if(a===null)throw Error(o(311));a.lastRenderedReducer=n;var l=e.baseQueue,i=a.pending;if(i!==null){if(l!==null){var r=l.next;l.next=i.next,i.next=r}t.baseQueue=l=i,a.pending=null}if(i=e.baseState,l===null)e.memoizedState=i;else{t=l.next;var d=r=null,g=null,E=t,z=!1;do{var L=E.lane&-536870913;if(L!==E.lane?(De&L)===L:(Ua&L)===L){var A=E.revertLane;if(A===0)g!==null&&(g=g.next={lane:0,revertLane:0,gesture:null,action:E.action,hasEagerState:E.hasEagerState,eagerState:E.eagerState,next:null}),L===ns&&(z=!0);else if((Ua&A)===A){E=E.next,A===ns&&(z=!0);continue}else L={lane:0,revertLane:E.revertLane,gesture:null,action:E.action,hasEagerState:E.hasEagerState,eagerState:E.eagerState,next:null},g===null?(d=g=L,r=i):g=g.next=L,ge.lanes|=A,dl|=A;L=E.action,ql&&n(i,L),i=E.hasEagerState?E.eagerState:n(i,L)}else A={lane:L,revertLane:E.revertLane,gesture:E.gesture,action:E.action,hasEagerState:E.hasEagerState,eagerState:E.eagerState,next:null},g===null?(d=g=A,r=i):g=g.next=A,ge.lanes|=L,dl|=L;E=E.next}while(E!==null&&E!==t);if(g===null?r=i:g.next=d,!zn(i,e.memoizedState)&&(Ut=!0,z&&(n=as,n!==null)))throw n;e.memoizedState=i,e.baseState=r,e.baseQueue=g,a.lastRenderedState=i}return l===null&&(a.lanes=0),[e.memoizedState,a.dispatch]}function ru(e){var t=wt(),n=t.queue;if(n===null)throw Error(o(311));n.lastRenderedReducer=e;var a=n.dispatch,l=n.pending,i=t.memoizedState;if(l!==null){n.pending=null;var r=l=l.next;do i=e(i,r.action),r=r.next;while(r!==l);zn(i,t.memoizedState)||(Ut=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),n.lastRenderedState=i}return[i,a]}function Lo(e,t,n){var a=ge,l=wt(),i=ze;if(i){if(n===void 0)throw Error(o(407));n=n()}else n=t();var r=!zn((lt||l).memoizedState,n);if(r&&(l.memoizedState=n,Ut=!0),l=l.queue,fu(Go.bind(null,a,l,e),[e]),l.getSnapshot!==t||r||Mt!==null&&Mt.memoizedState.tag&1){if(a.flags|=2048,rs(9,{destroy:void 0},Bo.bind(null,a,l,n,t),null),rt===null)throw Error(o(349));i||(Ua&127)!==0||qo(a,t,n)}return n}function qo(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=ge.updateQueue,t===null?(t=wi(),ge.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Bo(e,t,n,a){t.value=n,t.getSnapshot=a,Yo(t)&&$o(e)}function Go(e,t,n){return n(function(){Yo(t)&&$o(e)})}function Yo(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!zn(e,n)}catch{return!0}}function $o(e){var t=Dl(e,2);t!==null&&jn(t,e,2)}function ou(e){var t=fn();if(typeof e=="function"){var n=e;if(e=n(),ql){Oe(!0);try{n()}finally{Oe(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ha,lastRenderedState:e},t}function Io(e,t,n,a){return e.baseState=n,uu(e,lt,typeof a=="function"?a:Ha)}function Kh(e,t,n,a,l){if(Ui(e))throw Error(o(485));if(e=t.action,e!==null){var i={payload:l,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(r){i.listeners.push(r)}};O.T!==null?n(!0):i.isTransition=!1,a(i),n=t.pending,n===null?(i.next=t.pending=i,Xo(t,i)):(i.next=n.next,t.pending=n.next=i)}}function Xo(e,t){var n=t.action,a=t.payload,l=e.state;if(t.isTransition){var i=O.T,r={};O.T=r;try{var d=n(l,a),g=O.S;g!==null&&g(r,d),Qo(e,t,d)}catch(E){du(e,t,E)}finally{i!==null&&r.types!==null&&(i.types=r.types),O.T=i}}else try{i=n(l,a),Qo(e,t,i)}catch(E){du(e,t,E)}}function Qo(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(a){Zo(e,t,a)},function(a){return du(e,t,a)}):Zo(e,t,n)}function Zo(e,t,n){t.status="fulfilled",t.value=n,Ko(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,Xo(e,n)))}function du(e,t,n){var a=e.pending;if(e.pending=null,a!==null){a=a.next;do t.status="rejected",t.reason=n,Ko(t),t=t.next;while(t!==a)}e.action=null}function Ko(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Vo(e,t){return t}function Jo(e,t){if(ze){var n=rt.formState;if(n!==null){e:{var a=ge;if(ze){if(bt){t:{for(var l=bt,i=Vn;l.nodeType!==8;){if(!i){l=null;break t}if(l=Wn(l.nextSibling),l===null){l=null;break t}}i=l.data,l=i==="F!"||i==="F"?l:null}if(l){bt=Wn(l.nextSibling),a=l.data==="F!";break e}}nl(a)}a=!1}a&&(t=n[0])}}return n=fn(),n.memoizedState=n.baseState=t,a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Vo,lastRenderedState:t},n.queue=a,n=pd.bind(null,ge,a),a.dispatch=n,a=ou(!1),i=gu.bind(null,ge,!1,a.queue),a=fn(),l={state:t,dispatch:null,action:e,pending:null},a.queue=l,n=Kh.bind(null,ge,l,i,n),l.dispatch=n,a.memoizedState=e,[t,n,!1]}function Wo(e){var t=wt();return Fo(t,lt,e)}function Fo(e,t,n){if(t=uu(e,t,Vo)[0],e=zi(Ha)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var a=Hs(t)}catch(r){throw r===ls?Ni:r}else a=t;t=wt();var l=t.queue,i=l.dispatch;return n!==t.memoizedState&&(ge.flags|=2048,rs(9,{destroy:void 0},Vh.bind(null,l,n),null)),[a,i,e]}function Vh(e,t){e.action=t}function Po(e){var t=wt(),n=lt;if(n!==null)return Fo(t,n,e);wt(),t=t.memoizedState,n=wt();var a=n.queue.dispatch;return n.memoizedState=e,[t,a,!1]}function rs(e,t,n,a){return e={tag:e,create:n,deps:a,inst:t,next:null},t=ge.updateQueue,t===null&&(t=wi(),ge.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(a=n.next,n.next=e,e.next=a,t.lastEffect=e),e}function ed(){return wt().memoizedState}function _i(e,t,n,a){var l=fn();ge.flags|=e,l.memoizedState=rs(1|t,{destroy:void 0},n,a===void 0?null:a)}function Mi(e,t,n,a){var l=wt();a=a===void 0?null:a;var i=l.memoizedState.inst;lt!==null&&a!==null&&nu(a,lt.memoizedState.deps)?l.memoizedState=rs(t,i,n,a):(ge.flags|=e,l.memoizedState=rs(1|t,i,n,a))}function td(e,t){_i(8390656,8,e,t)}function fu(e,t){Mi(2048,8,e,t)}function Jh(e){ge.flags|=4;var t=ge.updateQueue;if(t===null)t=wi(),ge.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function nd(e){var t=wt().memoizedState;return Jh({ref:t,nextImpl:e}),function(){if((Ze&2)!==0)throw Error(o(440));return t.impl.apply(void 0,arguments)}}function ad(e,t){return Mi(4,2,e,t)}function ld(e,t){return Mi(4,4,e,t)}function sd(e,t){if(typeof t=="function"){e=e();var n=t(e);return function(){typeof n=="function"?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function id(e,t,n){n=n!=null?n.concat([e]):null,Mi(4,4,sd.bind(null,t,e),n)}function mu(){}function cd(e,t){var n=wt();t=t===void 0?null:t;var a=n.memoizedState;return t!==null&&nu(t,a[1])?a[0]:(n.memoizedState=[e,t],e)}function ud(e,t){var n=wt();t=t===void 0?null:t;var a=n.memoizedState;if(t!==null&&nu(t,a[1]))return a[0];if(a=e(),ql){Oe(!0);try{e()}finally{Oe(!1)}}return n.memoizedState=[a,t],a}function hu(e,t,n){return n===void 0||(Ua&1073741824)!==0&&(De&261930)===0?e.memoizedState=t:(e.memoizedState=n,e=of(),ge.lanes|=e,dl|=e,n)}function rd(e,t,n,a){return zn(n,t)?n:is.current!==null?(e=hu(e,n,a),zn(e,t)||(Ut=!0),e):(Ua&42)===0||(Ua&1073741824)!==0&&(De&261930)===0?(Ut=!0,e.memoizedState=n):(e=of(),ge.lanes|=e,dl|=e,t)}function od(e,t,n,a,l){var i=Z.p;Z.p=i!==0&&8>i?i:8;var r=O.T,d={};O.T=d,gu(e,!1,t,n);try{var g=l(),E=O.S;if(E!==null&&E(d,g),g!==null&&typeof g=="object"&&typeof g.then=="function"){var z=Xh(g,a);Ls(e,t,z,qn(e))}else Ls(e,t,a,qn(e))}catch(L){Ls(e,t,{then:function(){},status:"rejected",reason:L},qn())}finally{Z.p=i,r!==null&&d.types!==null&&(r.types=d.types),O.T=r}}function Wh(){}function pu(e,t,n,a){if(e.tag!==5)throw Error(o(476));var l=dd(e).queue;od(e,l,t,W,n===null?Wh:function(){return fd(e),n(a)})}function dd(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:W,baseState:W,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ha,lastRenderedState:W},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ha,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function fd(e){var t=dd(e);t.next===null&&(t=e.alternate.memoizedState),Ls(e,t.next.queue,{},qn())}function vu(){return Wt(ti)}function md(){return wt().memoizedState}function hd(){return wt().memoizedState}function Fh(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=qn();e=sl(n);var a=il(t,e,n);a!==null&&(jn(a,t,n),zs(a,t,n)),t={cache:Xc()},e.payload=t;return}t=t.return}}function Ph(e,t,n){var a=qn();n={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Ui(e)?vd(t,n):(n=_c(e,t,n,a),n!==null&&(jn(n,e,a),gd(n,t,a)))}function pd(e,t,n){var a=qn();Ls(e,t,n,a)}function Ls(e,t,n,a){var l={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ui(e))vd(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var r=t.lastRenderedState,d=i(r,n);if(l.hasEagerState=!0,l.eagerState=d,zn(d,r))return vi(e,t,l,0),rt===null&&pi(),!1}catch{}if(n=_c(e,t,l,a),n!==null)return jn(n,e,a),gd(n,t,a),!0}return!1}function gu(e,t,n,a){if(a={lane:2,revertLane:Vu(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Ui(e)){if(t)throw Error(o(479))}else t=_c(e,n,a,2),t!==null&&jn(t,e,2)}function Ui(e){var t=e.alternate;return e===ge||t!==null&&t===ge}function vd(e,t){cs=Ri=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function gd(e,t,n){if((n&4194048)!==0){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Ea(e,n)}}var qs={readContext:Wt,use:Oi,useCallback:Et,useContext:Et,useEffect:Et,useImperativeHandle:Et,useLayoutEffect:Et,useInsertionEffect:Et,useMemo:Et,useReducer:Et,useRef:Et,useState:Et,useDebugValue:Et,useDeferredValue:Et,useTransition:Et,useSyncExternalStore:Et,useId:Et,useHostTransitionStatus:Et,useFormState:Et,useActionState:Et,useOptimistic:Et,useMemoCache:Et,useCacheRefresh:Et};qs.useEffectEvent=Et;var yd={readContext:Wt,use:Oi,useCallback:function(e,t){return fn().memoizedState=[e,t===void 0?null:t],e},useContext:Wt,useEffect:td,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,_i(4194308,4,sd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return _i(4194308,4,e,t)},useInsertionEffect:function(e,t){_i(4,2,e,t)},useMemo:function(e,t){var n=fn();t=t===void 0?null:t;var a=e();if(ql){Oe(!0);try{e()}finally{Oe(!1)}}return n.memoizedState=[a,t],a},useReducer:function(e,t,n){var a=fn();if(n!==void 0){var l=n(t);if(ql){Oe(!0);try{n(t)}finally{Oe(!1)}}}else l=t;return a.memoizedState=a.baseState=l,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:l},a.queue=e,e=e.dispatch=Ph.bind(null,ge,e),[a.memoizedState,e]},useRef:function(e){var t=fn();return e={current:e},t.memoizedState=e},useState:function(e){e=ou(e);var t=e.queue,n=pd.bind(null,ge,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:mu,useDeferredValue:function(e,t){var n=fn();return hu(n,e,t)},useTransition:function(){var e=ou(!1);return e=od.bind(null,ge,e.queue,!0,!1),fn().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var a=ge,l=fn();if(ze){if(n===void 0)throw Error(o(407));n=n()}else{if(n=t(),rt===null)throw Error(o(349));(De&127)!==0||qo(a,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,td(Go.bind(null,a,i,e),[e]),a.flags|=2048,rs(9,{destroy:void 0},Bo.bind(null,a,i,n,t),null),n},useId:function(){var e=fn(),t=rt.identifierPrefix;if(ze){var n=ya,a=ga;n=(a&~(1<<32-Yt(a)-1)).toString(32)+n,t="_"+t+"R_"+n,n=Di++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=Qh++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:vu,useFormState:Jo,useActionState:Jo,useOptimistic:function(e){var t=fn();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=gu.bind(null,ge,!0,n),n.dispatch=t,[e,t]},useMemoCache:cu,useCacheRefresh:function(){return fn().memoizedState=Fh.bind(null,ge)},useEffectEvent:function(e){var t=fn(),n={impl:e};return t.memoizedState=n,function(){if((Ze&2)!==0)throw Error(o(440));return n.impl.apply(void 0,arguments)}}},yu={readContext:Wt,use:Oi,useCallback:cd,useContext:Wt,useEffect:fu,useImperativeHandle:id,useInsertionEffect:ad,useLayoutEffect:ld,useMemo:ud,useReducer:zi,useRef:ed,useState:function(){return zi(Ha)},useDebugValue:mu,useDeferredValue:function(e,t){var n=wt();return rd(n,lt.memoizedState,e,t)},useTransition:function(){var e=zi(Ha)[0],t=wt().memoizedState;return[typeof e=="boolean"?e:Hs(e),t]},useSyncExternalStore:Lo,useId:md,useHostTransitionStatus:vu,useFormState:Wo,useActionState:Wo,useOptimistic:function(e,t){var n=wt();return Io(n,lt,e,t)},useMemoCache:cu,useCacheRefresh:hd};yu.useEffectEvent=nd;var bd={readContext:Wt,use:Oi,useCallback:cd,useContext:Wt,useEffect:fu,useImperativeHandle:id,useInsertionEffect:ad,useLayoutEffect:ld,useMemo:ud,useReducer:ru,useRef:ed,useState:function(){return ru(Ha)},useDebugValue:mu,useDeferredValue:function(e,t){var n=wt();return lt===null?hu(n,e,t):rd(n,lt.memoizedState,e,t)},useTransition:function(){var e=ru(Ha)[0],t=wt().memoizedState;return[typeof e=="boolean"?e:Hs(e),t]},useSyncExternalStore:Lo,useId:md,useHostTransitionStatus:vu,useFormState:Po,useActionState:Po,useOptimistic:function(e,t){var n=wt();return lt!==null?Io(n,lt,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:cu,useCacheRefresh:hd};bd.useEffectEvent=nd;function bu(e,t,n,a){t=e.memoizedState,n=n(a,t),n=n==null?t:$({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var xu={enqueueSetState:function(e,t,n){e=e._reactInternals;var a=qn(),l=sl(a);l.payload=t,n!=null&&(l.callback=n),t=il(e,l,a),t!==null&&(jn(t,e,a),zs(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var a=qn(),l=sl(a);l.tag=1,l.payload=t,n!=null&&(l.callback=n),t=il(e,l,a),t!==null&&(jn(t,e,a),zs(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=qn(),a=sl(n);a.tag=2,t!=null&&(a.callback=t),t=il(e,a,n),t!==null&&(jn(t,e,n),zs(t,e,n))}};function xd(e,t,n,a,l,i,r){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(a,i,r):t.prototype&&t.prototype.isPureReactComponent?!Cs(n,a)||!Cs(l,i):!0}function jd(e,t,n,a){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,a),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,a),t.state!==e&&xu.enqueueReplaceState(t,t.state,null)}function Bl(e,t){var n=t;if("ref"in t){n={};for(var a in t)a!=="ref"&&(n[a]=t[a])}if(e=e.defaultProps){n===t&&(n=$({},n));for(var l in e)n[l]===void 0&&(n[l]=e[l])}return n}function Sd(e){hi(e)}function Nd(e){console.error(e)}function Td(e){hi(e)}function Hi(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(a){setTimeout(function(){throw a})}}function Cd(e,t,n){try{var a=e.onCaughtError;a(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(l){setTimeout(function(){throw l})}}function ju(e,t,n){return n=sl(n),n.tag=3,n.payload={element:null},n.callback=function(){Hi(e,t)},n}function Ed(e){return e=sl(e),e.tag=3,e}function Ad(e,t,n,a){var l=n.type.getDerivedStateFromError;if(typeof l=="function"){var i=a.value;e.payload=function(){return l(i)},e.callback=function(){Cd(t,n,a)}}var r=n.stateNode;r!==null&&typeof r.componentDidCatch=="function"&&(e.callback=function(){Cd(t,n,a),typeof l!="function"&&(fl===null?fl=new Set([this]):fl.add(this));var d=a.stack;this.componentDidCatch(a.value,{componentStack:d!==null?d:""})})}function ep(e,t,n,a,l){if(n.flags|=32768,a!==null&&typeof a=="object"&&typeof a.then=="function"){if(t=n.alternate,t!==null&&ts(t,n,l,!0),n=Mn.current,n!==null){switch(n.tag){case 31:case 13:return Jn===null?Vi():n.alternate===null&&At===0&&(At=3),n.flags&=-257,n.flags|=65536,n.lanes=l,a===Ti?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([a]):t.add(a),Qu(e,a,l)),!1;case 22:return n.flags|=65536,a===Ti?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([a])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([a]):n.add(a)),Qu(e,a,l)),!1}throw Error(o(435,n.tag))}return Qu(e,a,l),Vi(),!1}if(ze)return t=Mn.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=l,a!==Bc&&(e=Error(o(422),{cause:a}),ks(Qn(e,n)))):(a!==Bc&&(t=Error(o(423),{cause:a}),ks(Qn(t,n))),e=e.current.alternate,e.flags|=65536,l&=-l,e.lanes|=l,a=Qn(a,n),l=ju(e.stateNode,a,l),Wc(e,l),At!==4&&(At=2)),!1;var i=Error(o(520),{cause:a});if(i=Qn(i,n),Zs===null?Zs=[i]:Zs.push(i),At!==4&&(At=2),t===null)return!0;a=Qn(a,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=l&-l,n.lanes|=e,e=ju(n.stateNode,a,e),Wc(n,e),!1;case 1:if(t=n.type,i=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||i!==null&&typeof i.componentDidCatch=="function"&&(fl===null||!fl.has(i))))return n.flags|=65536,l&=-l,n.lanes|=l,l=Ed(l),Ad(l,e,n,a),Wc(n,l),!1}n=n.return}while(n!==null);return!1}var Su=Error(o(461)),Ut=!1;function Ft(e,t,n,a){t.child=e===null?wo(t,null,n,a):Ll(t,e.child,n,a)}function kd(e,t,n,a,l){n=n.render;var i=t.ref;if("ref"in a){var r={};for(var d in a)d!=="ref"&&(r[d]=a[d])}else r=a;return _l(t),a=au(e,t,n,r,i,l),d=lu(),e!==null&&!Ut?(su(e,t,l),La(e,t,l)):(ze&&d&&Lc(t),t.flags|=1,Ft(e,t,a,l),t.child)}function Rd(e,t,n,a,l){if(e===null){var i=n.type;return typeof i=="function"&&!Mc(i)&&i.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=i,Dd(e,t,i,a,l)):(e=yi(n.type,null,a,t,t.mode,l),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!Du(e,l)){var r=i.memoizedProps;if(n=n.compare,n=n!==null?n:Cs,n(r,a)&&e.ref===t.ref)return La(e,t,l)}return t.flags|=1,e=Oa(i,a),e.ref=t.ref,e.return=t,t.child=e}function Dd(e,t,n,a,l){if(e!==null){var i=e.memoizedProps;if(Cs(i,a)&&e.ref===t.ref)if(Ut=!1,t.pendingProps=a=i,Du(e,l))(e.flags&131072)!==0&&(Ut=!0);else return t.lanes=e.lanes,La(e,t,l)}return Nu(e,t,n,a,l)}function wd(e,t,n,a){var l=a.children,i=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.mode==="hidden"){if((t.flags&128)!==0){if(i=i!==null?i.baseLanes|n:n,e!==null){for(a=t.child=e.child,l=0;a!==null;)l=l|a.lanes|a.childLanes,a=a.sibling;a=l&~i}else a=0,t.child=null;return Od(e,t,i,n,a)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Si(t,i!==null?i.cachePool:null),i!==null?_o(t,i):Pc(),Mo(t);else return a=t.lanes=536870912,Od(e,t,i!==null?i.baseLanes|n:n,n,a)}else i!==null?(Si(t,i.cachePool),_o(t,i),ul(),t.memoizedState=null):(e!==null&&Si(t,null),Pc(),ul());return Ft(e,t,l,n),t.child}function Bs(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Od(e,t,n,a,l){var i=Zc();return i=i===null?null:{parent:_t._currentValue,pool:i},t.memoizedState={baseLanes:n,cachePool:i},e!==null&&Si(t,null),Pc(),Mo(t),e!==null&&ts(e,t,a,!0),t.childLanes=l,null}function Li(e,t){return t=Bi({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function zd(e,t,n){return Ll(t,e.child,null,n),e=Li(t,t.pendingProps),e.flags|=2,Un(t),t.memoizedState=null,e}function tp(e,t,n){var a=t.pendingProps,l=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(ze){if(a.mode==="hidden")return e=Li(t,a),t.lanes=536870912,Bs(null,e);if(tu(t),(e=bt)?(e=Qf(e,Vn),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:el!==null?{id:ga,overflow:ya}:null,retryLane:536870912,hydrationErrors:null},n=vo(e),n.return=t,t.child=n,Jt=t,bt=null)):e=null,e===null)throw nl(t);return t.lanes=536870912,null}return Li(t,a)}var i=e.memoizedState;if(i!==null){var r=i.dehydrated;if(tu(t),l)if(t.flags&256)t.flags&=-257,t=zd(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(o(558));else if(Ut||ts(e,t,n,!1),l=(n&e.childLanes)!==0,Ut||l){if(a=rt,a!==null&&(r=Gn(a,n),r!==0&&r!==i.retryLane))throw i.retryLane=r,Dl(e,r),jn(a,e,r),Su;Vi(),t=zd(e,t,n)}else e=i.treeContext,bt=Wn(r.nextSibling),Jt=t,ze=!0,tl=null,Vn=!1,e!==null&&bo(t,e),t=Li(t,a),t.flags|=4096;return t}return e=Oa(e.child,{mode:a.mode,children:a.children}),e.ref=t.ref,t.child=e,e.return=t,e}function qi(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(o(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function Nu(e,t,n,a,l){return _l(t),n=au(e,t,n,a,void 0,l),a=lu(),e!==null&&!Ut?(su(e,t,l),La(e,t,l)):(ze&&a&&Lc(t),t.flags|=1,Ft(e,t,n,l),t.child)}function _d(e,t,n,a,l,i){return _l(t),t.updateQueue=null,n=Ho(t,a,n,l),Uo(e),a=lu(),e!==null&&!Ut?(su(e,t,i),La(e,t,i)):(ze&&a&&Lc(t),t.flags|=1,Ft(e,t,n,i),t.child)}function Md(e,t,n,a,l){if(_l(t),t.stateNode===null){var i=Wl,r=n.contextType;typeof r=="object"&&r!==null&&(i=Wt(r)),i=new n(a,i),t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=xu,t.stateNode=i,i._reactInternals=t,i=t.stateNode,i.props=a,i.state=t.memoizedState,i.refs={},Vc(t),r=n.contextType,i.context=typeof r=="object"&&r!==null?Wt(r):Wl,i.state=t.memoizedState,r=n.getDerivedStateFromProps,typeof r=="function"&&(bu(t,n,r,a),i.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(r=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),r!==i.state&&xu.enqueueReplaceState(i,i.state,null),Ms(t,a,i,l),_s(),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!0}else if(e===null){i=t.stateNode;var d=t.memoizedProps,g=Bl(n,d);i.props=g;var E=i.context,z=n.contextType;r=Wl,typeof z=="object"&&z!==null&&(r=Wt(z));var L=n.getDerivedStateFromProps;z=typeof L=="function"||typeof i.getSnapshotBeforeUpdate=="function",d=t.pendingProps!==d,z||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(d||E!==r)&&jd(t,i,a,r),ll=!1;var A=t.memoizedState;i.state=A,Ms(t,a,i,l),_s(),E=t.memoizedState,d||A!==E||ll?(typeof L=="function"&&(bu(t,n,L,a),E=t.memoizedState),(g=ll||xd(t,n,g,a,A,E,r))?(z||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=E),i.props=a,i.state=E,i.context=r,a=g):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),a=!1)}else{i=t.stateNode,Jc(e,t),r=t.memoizedProps,z=Bl(n,r),i.props=z,L=t.pendingProps,A=i.context,E=n.contextType,g=Wl,typeof E=="object"&&E!==null&&(g=Wt(E)),d=n.getDerivedStateFromProps,(E=typeof d=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(r!==L||A!==g)&&jd(t,i,a,g),ll=!1,A=t.memoizedState,i.state=A,Ms(t,a,i,l),_s();var w=t.memoizedState;r!==L||A!==w||ll||e!==null&&e.dependencies!==null&&xi(e.dependencies)?(typeof d=="function"&&(bu(t,n,d,a),w=t.memoizedState),(z=ll||xd(t,n,z,a,A,w,g)||e!==null&&e.dependencies!==null&&xi(e.dependencies))?(E||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(a,w,g),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(a,w,g)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&A===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&A===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=w),i.props=a,i.state=w,i.context=g,a=z):(typeof i.componentDidUpdate!="function"||r===e.memoizedProps&&A===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||r===e.memoizedProps&&A===e.memoizedState||(t.flags|=1024),a=!1)}return i=a,qi(e,t),a=(t.flags&128)!==0,i||a?(i=t.stateNode,n=a&&typeof n.getDerivedStateFromError!="function"?null:i.render(),t.flags|=1,e!==null&&a?(t.child=Ll(t,e.child,null,l),t.child=Ll(t,null,n,l)):Ft(e,t,n,l),t.memoizedState=i.state,e=t.child):e=La(e,t,l),e}function Ud(e,t,n,a){return Ol(),t.flags|=256,Ft(e,t,n,a),t.child}var Tu={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Cu(e){return{baseLanes:e,cachePool:Co()}}function Eu(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=Ln),e}function Hd(e,t,n){var a=t.pendingProps,l=!1,i=(t.flags&128)!==0,r;if((r=i)||(r=e!==null&&e.memoizedState===null?!1:(Dt.current&2)!==0),r&&(l=!0,t.flags&=-129),r=(t.flags&32)!==0,t.flags&=-33,e===null){if(ze){if(l?cl(t):ul(),(e=bt)?(e=Qf(e,Vn),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:el!==null?{id:ga,overflow:ya}:null,retryLane:536870912,hydrationErrors:null},n=vo(e),n.return=t,t.child=n,Jt=t,bt=null)):e=null,e===null)throw nl(t);return ur(e)?t.lanes=32:t.lanes=536870912,null}var d=a.children;return a=a.fallback,l?(ul(),l=t.mode,d=Bi({mode:"hidden",children:d},l),a=wl(a,l,n,null),d.return=t,a.return=t,d.sibling=a,t.child=d,a=t.child,a.memoizedState=Cu(n),a.childLanes=Eu(e,r,n),t.memoizedState=Tu,Bs(null,a)):(cl(t),Au(t,d))}var g=e.memoizedState;if(g!==null&&(d=g.dehydrated,d!==null)){if(i)t.flags&256?(cl(t),t.flags&=-257,t=ku(e,t,n)):t.memoizedState!==null?(ul(),t.child=e.child,t.flags|=128,t=null):(ul(),d=a.fallback,l=t.mode,a=Bi({mode:"visible",children:a.children},l),d=wl(d,l,n,null),d.flags|=2,a.return=t,d.return=t,a.sibling=d,t.child=a,Ll(t,e.child,null,n),a=t.child,a.memoizedState=Cu(n),a.childLanes=Eu(e,r,n),t.memoizedState=Tu,t=Bs(null,a));else if(cl(t),ur(d)){if(r=d.nextSibling&&d.nextSibling.dataset,r)var E=r.dgst;r=E,a=Error(o(419)),a.stack="",a.digest=r,ks({value:a,source:null,stack:null}),t=ku(e,t,n)}else if(Ut||ts(e,t,n,!1),r=(n&e.childLanes)!==0,Ut||r){if(r=rt,r!==null&&(a=Gn(r,n),a!==0&&a!==g.retryLane))throw g.retryLane=a,Dl(e,a),jn(r,e,a),Su;cr(d)||Vi(),t=ku(e,t,n)}else cr(d)?(t.flags|=192,t.child=e.child,t=null):(e=g.treeContext,bt=Wn(d.nextSibling),Jt=t,ze=!0,tl=null,Vn=!1,e!==null&&bo(t,e),t=Au(t,a.children),t.flags|=4096);return t}return l?(ul(),d=a.fallback,l=t.mode,g=e.child,E=g.sibling,a=Oa(g,{mode:"hidden",children:a.children}),a.subtreeFlags=g.subtreeFlags&65011712,E!==null?d=Oa(E,d):(d=wl(d,l,n,null),d.flags|=2),d.return=t,a.return=t,a.sibling=d,t.child=a,Bs(null,a),a=t.child,d=e.child.memoizedState,d===null?d=Cu(n):(l=d.cachePool,l!==null?(g=_t._currentValue,l=l.parent!==g?{parent:g,pool:g}:l):l=Co(),d={baseLanes:d.baseLanes|n,cachePool:l}),a.memoizedState=d,a.childLanes=Eu(e,r,n),t.memoizedState=Tu,Bs(e.child,a)):(cl(t),n=e.child,e=n.sibling,n=Oa(n,{mode:"visible",children:a.children}),n.return=t,n.sibling=null,e!==null&&(r=t.deletions,r===null?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n,t.memoizedState=null,n)}function Au(e,t){return t=Bi({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function Bi(e,t){return e=_n(22,e,null,t),e.lanes=0,e}function ku(e,t,n){return Ll(t,e.child,null,n),e=Au(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Ld(e,t,n){e.lanes|=t;var a=e.alternate;a!==null&&(a.lanes|=t),$c(e.return,t,n)}function Ru(e,t,n,a,l,i){var r=e.memoizedState;r===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:n,tailMode:l,treeForkCount:i}:(r.isBackwards=t,r.rendering=null,r.renderingStartTime=0,r.last=a,r.tail=n,r.tailMode=l,r.treeForkCount=i)}function qd(e,t,n){var a=t.pendingProps,l=a.revealOrder,i=a.tail;a=a.children;var r=Dt.current,d=(r&2)!==0;if(d?(r=r&1|2,t.flags|=128):r&=1,X(Dt,r),Ft(e,t,a,n),a=ze?As:0,!d&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Ld(e,n,t);else if(e.tag===19)Ld(e,n,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(l){case"forwards":for(n=t.child,l=null;n!==null;)e=n.alternate,e!==null&&ki(e)===null&&(l=n),n=n.sibling;n=l,n===null?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),Ru(t,!1,l,n,i,a);break;case"backwards":case"unstable_legacy-backwards":for(n=null,l=t.child,t.child=null;l!==null;){if(e=l.alternate,e!==null&&ki(e)===null){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}Ru(t,!0,n,null,i,a);break;case"together":Ru(t,!1,null,null,void 0,a);break;default:t.memoizedState=null}return t.child}function La(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),dl|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(ts(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(o(153));if(t.child!==null){for(e=t.child,n=Oa(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Oa(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Du(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&xi(e)))}function np(e,t,n){switch(t.tag){case 3:Be(t,t.stateNode.containerInfo),al(t,_t,e.memoizedState.cache),Ol();break;case 27:case 5:Bt(t);break;case 4:Be(t,t.stateNode.containerInfo);break;case 10:al(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,tu(t),null;break;case 13:var a=t.memoizedState;if(a!==null)return a.dehydrated!==null?(cl(t),t.flags|=128,null):(n&t.child.childLanes)!==0?Hd(e,t,n):(cl(t),e=La(e,t,n),e!==null?e.sibling:null);cl(t);break;case 19:var l=(e.flags&128)!==0;if(a=(n&t.childLanes)!==0,a||(ts(e,t,n,!1),a=(n&t.childLanes)!==0),l){if(a)return qd(e,t,n);t.flags|=128}if(l=t.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),X(Dt,Dt.current),a)break;return null;case 22:return t.lanes=0,wd(e,t,n,t.pendingProps);case 24:al(t,_t,e.memoizedState.cache)}return La(e,t,n)}function Bd(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)Ut=!0;else{if(!Du(e,n)&&(t.flags&128)===0)return Ut=!1,np(e,t,n);Ut=(e.flags&131072)!==0}else Ut=!1,ze&&(t.flags&1048576)!==0&&yo(t,As,t.index);switch(t.lanes=0,t.tag){case 16:e:{var a=t.pendingProps;if(e=Ul(t.elementType),t.type=e,typeof e=="function")Mc(e)?(a=Bl(e,a),t.tag=1,t=Md(null,t,e,a,n)):(t.tag=0,t=Nu(null,t,e,a,n));else{if(e!=null){var l=e.$$typeof;if(l===vt){t.tag=11,t=kd(null,t,e,a,n);break e}else if(l===re){t.tag=14,t=Rd(null,t,e,a,n);break e}}throw t=Xe(e)||e,Error(o(306,t,""))}}return t;case 0:return Nu(e,t,t.type,t.pendingProps,n);case 1:return a=t.type,l=Bl(a,t.pendingProps),Md(e,t,a,l,n);case 3:e:{if(Be(t,t.stateNode.containerInfo),e===null)throw Error(o(387));a=t.pendingProps;var i=t.memoizedState;l=i.element,Jc(e,t),Ms(t,a,null,n);var r=t.memoizedState;if(a=r.cache,al(t,_t,a),a!==i.cache&&Ic(t,[_t],n,!0),_s(),a=r.element,i.isDehydrated)if(i={element:a,isDehydrated:!1,cache:r.cache},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){t=Ud(e,t,a,n);break e}else if(a!==l){l=Qn(Error(o(424)),t),ks(l),t=Ud(e,t,a,n);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,bt=Wn(e.firstChild),Jt=t,ze=!0,tl=null,Vn=!0,n=wo(t,null,a,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Ol(),a===l){t=La(e,t,n);break e}Ft(e,t,a,n)}t=t.child}return t;case 26:return qi(e,t),e===null?(n=Ff(t.type,null,t.pendingProps,null))?t.memoizedState=n:ze||(n=t.type,e=t.pendingProps,a=nc(oe.current).createElement(n),a[ft]=t,a[me]=e,Pt(a,n,e),Ue(a),t.stateNode=a):t.memoizedState=Ff(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Bt(t),e===null&&ze&&(a=t.stateNode=Vf(t.type,t.pendingProps,oe.current),Jt=t,Vn=!0,l=bt,vl(t.type)?(rr=l,bt=Wn(a.firstChild)):bt=l),Ft(e,t,t.pendingProps.children,n),qi(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&ze&&((l=a=bt)&&(a=Op(a,t.type,t.pendingProps,Vn),a!==null?(t.stateNode=a,Jt=t,bt=Wn(a.firstChild),Vn=!1,l=!0):l=!1),l||nl(t)),Bt(t),l=t.type,i=t.pendingProps,r=e!==null?e.memoizedProps:null,a=i.children,lr(l,i)?a=null:r!==null&&lr(l,r)&&(t.flags|=32),t.memoizedState!==null&&(l=au(e,t,Zh,null,null,n),ti._currentValue=l),qi(e,t),Ft(e,t,a,n),t.child;case 6:return e===null&&ze&&((e=n=bt)&&(n=zp(n,t.pendingProps,Vn),n!==null?(t.stateNode=n,Jt=t,bt=null,e=!0):e=!1),e||nl(t)),null;case 13:return Hd(e,t,n);case 4:return Be(t,t.stateNode.containerInfo),a=t.pendingProps,e===null?t.child=Ll(t,null,a,n):Ft(e,t,a,n),t.child;case 11:return kd(e,t,t.type,t.pendingProps,n);case 7:return Ft(e,t,t.pendingProps,n),t.child;case 8:return Ft(e,t,t.pendingProps.children,n),t.child;case 12:return Ft(e,t,t.pendingProps.children,n),t.child;case 10:return a=t.pendingProps,al(t,t.type,a.value),Ft(e,t,a.children,n),t.child;case 9:return l=t.type._context,a=t.pendingProps.children,_l(t),l=Wt(l),a=a(l),t.flags|=1,Ft(e,t,a,n),t.child;case 14:return Rd(e,t,t.type,t.pendingProps,n);case 15:return Dd(e,t,t.type,t.pendingProps,n);case 19:return qd(e,t,n);case 31:return tp(e,t,n);case 22:return wd(e,t,n,t.pendingProps);case 24:return _l(t),a=Wt(_t),e===null?(l=Zc(),l===null&&(l=rt,i=Xc(),l.pooledCache=i,i.refCount++,i!==null&&(l.pooledCacheLanes|=n),l=i),t.memoizedState={parent:a,cache:l},Vc(t),al(t,_t,l)):((e.lanes&n)!==0&&(Jc(e,t),Ms(t,null,null,n),_s()),l=e.memoizedState,i=t.memoizedState,l.parent!==a?(l={parent:a,cache:a},t.memoizedState=l,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=l),al(t,_t,a)):(a=i.cache,al(t,_t,a),a!==l.cache&&Ic(t,[_t],n,!0))),Ft(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(o(156,t.tag))}function qa(e){e.flags|=4}function wu(e,t,n,a,l){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(l&335544128)===l)if(e.stateNode.complete)e.flags|=8192;else if(hf())e.flags|=8192;else throw Hl=Ti,Kc}else e.flags&=-16777217}function Gd(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!am(t))if(hf())e.flags|=8192;else throw Hl=Ti,Kc}function Gi(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?cn():536870912,e.lanes|=t,ms|=t)}function Gs(e,t){if(!ze)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var a=null;n!==null;)n.alternate!==null&&(a=n),n=n.sibling;a===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:a.sibling=null}}function xt(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,a=0;if(t)for(var l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags&65011712,a|=l.flags&65011712,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)n|=l.lanes|l.childLanes,a|=l.subtreeFlags,a|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=a,e.childLanes=n,t}function ap(e,t,n){var a=t.pendingProps;switch(qc(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return xt(t),null;case 1:return xt(t),null;case 3:return n=t.stateNode,a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),Ma(_t),et(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(es(t)?qa(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Gc())),xt(t),null;case 26:var l=t.type,i=t.memoizedState;return e===null?(qa(t),i!==null?(xt(t),Gd(t,i)):(xt(t),wu(t,l,null,a,n))):i?i!==e.memoizedState?(qa(t),xt(t),Gd(t,i)):(xt(t),t.flags&=-16777217):(e=e.memoizedProps,e!==a&&qa(t),xt(t),wu(t,l,e,a,n)),null;case 27:if(Sn(t),n=oe.current,l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&qa(t);else{if(!a){if(t.stateNode===null)throw Error(o(166));return xt(t),null}e=J.current,es(t)?xo(t):(e=Vf(l,a,n),t.stateNode=e,qa(t))}return xt(t),null;case 5:if(Sn(t),l=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&qa(t);else{if(!a){if(t.stateNode===null)throw Error(o(166));return xt(t),null}if(i=J.current,es(t))xo(t);else{var r=nc(oe.current);switch(i){case 1:i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case 2:i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;default:switch(l){case"svg":i=r.createElementNS("http://www.w3.org/2000/svg",l);break;case"math":i=r.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;case"script":i=r.createElement("div"),i.innerHTML="<script><\/script>",i=i.removeChild(i.firstChild);break;case"select":i=typeof a.is=="string"?r.createElement("select",{is:a.is}):r.createElement("select"),a.multiple?i.multiple=!0:a.size&&(i.size=a.size);break;default:i=typeof a.is=="string"?r.createElement(l,{is:a.is}):r.createElement(l)}}i[ft]=t,i[me]=a;e:for(r=t.child;r!==null;){if(r.tag===5||r.tag===6)i.appendChild(r.stateNode);else if(r.tag!==4&&r.tag!==27&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break e;for(;r.sibling===null;){if(r.return===null||r.return===t)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}t.stateNode=i;e:switch(Pt(i,l,a),l){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}a&&qa(t)}}return xt(t),wu(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==a&&qa(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(o(166));if(e=oe.current,es(t)){if(e=t.stateNode,n=t.memoizedProps,a=null,l=Jt,l!==null)switch(l.tag){case 27:case 5:a=l.memoizedProps}e[ft]=t,e=!!(e.nodeValue===n||a!==null&&a.suppressHydrationWarning===!0||Lf(e.nodeValue,n)),e||nl(t,!0)}else e=nc(e).createTextNode(a),e[ft]=t,t.stateNode=e}return xt(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(a=es(t),n!==null){if(e===null){if(!a)throw Error(o(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(557));e[ft]=t}else Ol(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;xt(t),e=!1}else n=Gc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Un(t),t):(Un(t),null);if((t.flags&128)!==0)throw Error(o(558))}return xt(t),null;case 13:if(a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(l=es(t),a!==null&&a.dehydrated!==null){if(e===null){if(!l)throw Error(o(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(o(317));l[ft]=t}else Ol(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;xt(t),l=!1}else l=Gc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),l=!0;if(!l)return t.flags&256?(Un(t),t):(Un(t),null)}return Un(t),(t.flags&128)!==0?(t.lanes=n,t):(n=a!==null,e=e!==null&&e.memoizedState!==null,n&&(a=t.child,l=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(l=a.alternate.memoizedState.cachePool.pool),i=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(i=a.memoizedState.cachePool.pool),i!==l&&(a.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Gi(t,t.updateQueue),xt(t),null);case 4:return et(),e===null&&Pu(t.stateNode.containerInfo),xt(t),null;case 10:return Ma(t.type),xt(t),null;case 19:if(T(Dt),a=t.memoizedState,a===null)return xt(t),null;if(l=(t.flags&128)!==0,i=a.rendering,i===null)if(l)Gs(a,!1);else{if(At!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=ki(e),i!==null){for(t.flags|=128,Gs(a,!1),e=i.updateQueue,t.updateQueue=e,Gi(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)po(n,e),n=n.sibling;return X(Dt,Dt.current&1|2),ze&&za(t,a.treeForkCount),t.child}e=e.sibling}a.tail!==null&&Gt()>Qi&&(t.flags|=128,l=!0,Gs(a,!1),t.lanes=4194304)}else{if(!l)if(e=ki(i),e!==null){if(t.flags|=128,l=!0,e=e.updateQueue,t.updateQueue=e,Gi(t,e),Gs(a,!0),a.tail===null&&a.tailMode==="hidden"&&!i.alternate&&!ze)return xt(t),null}else 2*Gt()-a.renderingStartTime>Qi&&n!==536870912&&(t.flags|=128,l=!0,Gs(a,!1),t.lanes=4194304);a.isBackwards?(i.sibling=t.child,t.child=i):(e=a.last,e!==null?e.sibling=i:t.child=i,a.last=i)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=Gt(),e.sibling=null,n=Dt.current,X(Dt,l?n&1|2:n&1),ze&&za(t,a.treeForkCount),e):(xt(t),null);case 22:case 23:return Un(t),eu(),a=t.memoizedState!==null,e!==null?e.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(n&536870912)!==0&&(t.flags&128)===0&&(xt(t),t.subtreeFlags&6&&(t.flags|=8192)):xt(t),n=t.updateQueue,n!==null&&Gi(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==n&&(t.flags|=2048),e!==null&&T(Ml),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Ma(_t),xt(t),null;case 25:return null;case 30:return null}throw Error(o(156,t.tag))}function lp(e,t){switch(qc(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ma(_t),et(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Sn(t),null;case 31:if(t.memoizedState!==null){if(Un(t),t.alternate===null)throw Error(o(340));Ol()}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(o(340));Ol()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return T(Dt),null;case 4:return et(),null;case 10:return Ma(t.type),null;case 22:case 23:return Un(t),eu(),e!==null&&T(Ml),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Ma(_t),null;case 25:return null;default:return null}}function Yd(e,t){switch(qc(t),t.tag){case 3:Ma(_t),et();break;case 26:case 27:case 5:Sn(t);break;case 4:et();break;case 31:t.memoizedState!==null&&Un(t);break;case 13:Un(t);break;case 19:T(Dt);break;case 10:Ma(t.type);break;case 22:case 23:Un(t),eu(),e!==null&&T(Ml);break;case 24:Ma(_t)}}function Ys(e,t){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var l=a.next;n=l;do{if((n.tag&e)===e){a=void 0;var i=n.create,r=n.inst;a=i(),r.destroy=a}n=n.next}while(n!==l)}}catch(d){at(t,t.return,d)}}function rl(e,t,n){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var i=l.next;a=i;do{if((a.tag&e)===e){var r=a.inst,d=r.destroy;if(d!==void 0){r.destroy=void 0,l=t;var g=n,E=d;try{E()}catch(z){at(l,g,z)}}}a=a.next}while(a!==i)}}catch(z){at(t,t.return,z)}}function $d(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{zo(t,n)}catch(a){at(e,e.return,a)}}}function Id(e,t,n){n.props=Bl(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(a){at(e,t,a)}}function $s(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var a=e.stateNode;break;case 30:a=e.stateNode;break;default:a=e.stateNode}typeof n=="function"?e.refCleanup=n(a):n.current=a}}catch(l){at(e,t,l)}}function ba(e,t){var n=e.ref,a=e.refCleanup;if(n!==null)if(typeof a=="function")try{a()}catch(l){at(e,t,l)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(l){at(e,t,l)}else n.current=null}function Xd(e){var t=e.type,n=e.memoizedProps,a=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&a.focus();break e;case"img":n.src?a.src=n.src:n.srcSet&&(a.srcset=n.srcSet)}}catch(l){at(e,e.return,l)}}function Ou(e,t,n){try{var a=e.stateNode;Ep(a,e.type,n,t),a[me]=t}catch(l){at(e,e.return,l)}}function Qd(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&vl(e.type)||e.tag===4}function zu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Qd(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&&vl(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 _u(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=he));else if(a!==4&&(a===27&&vl(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(_u(e,t,n),e=e.sibling;e!==null;)_u(e,t,n),e=e.sibling}function Yi(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(a===27&&vl(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Yi(e,t,n),e=e.sibling;e!==null;)Yi(e,t,n),e=e.sibling}function Zd(e){var t=e.stateNode,n=e.memoizedProps;try{for(var a=e.type,l=t.attributes;l.length;)t.removeAttributeNode(l[0]);Pt(t,a,n),t[ft]=e,t[me]=n}catch(i){at(e,e.return,i)}}var Ba=!1,Ht=!1,Mu=!1,Kd=typeof WeakSet=="function"?WeakSet:Set,$t=null;function sp(e,t){if(e=e.containerInfo,nr=rc,e=so(e),kc(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var l=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var r=0,d=-1,g=-1,E=0,z=0,L=e,A=null;t:for(;;){for(var w;L!==n||l!==0&&L.nodeType!==3||(d=r+l),L!==i||a!==0&&L.nodeType!==3||(g=r+a),L.nodeType===3&&(r+=L.nodeValue.length),(w=L.firstChild)!==null;)A=L,L=w;for(;;){if(L===e)break t;if(A===n&&++E===l&&(d=r),A===i&&++z===a&&(g=r),(w=L.nextSibling)!==null)break;L=A,A=L.parentNode}L=w}n=d===-1||g===-1?null:{start:d,end:g}}else n=null}n=n||{start:0,end:0}}else n=null;for(ar={focusedElem:e,selectionRange:n},rc=!1,$t=t;$t!==null;)if(t=$t,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,$t=e;else for(;$t!==null;){switch(t=$t,i=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(n=0;n<e.length;n++)l=e[n],l.ref.impl=l.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&i!==null){e=void 0,n=t,l=i.memoizedProps,i=i.memoizedState,a=n.stateNode;try{var P=Bl(n.type,l);e=a.getSnapshotBeforeUpdate(P,i),a.__reactInternalSnapshotBeforeUpdate=e}catch(ue){at(n,n.return,ue)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)ir(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":ir(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(o(163))}if(e=t.sibling,e!==null){e.return=t.return,$t=e;break}$t=t.return}}function Vd(e,t,n){var a=n.flags;switch(n.tag){case 0:case 11:case 15:Ya(e,n),a&4&&Ys(5,n);break;case 1:if(Ya(e,n),a&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(r){at(n,n.return,r)}else{var l=Bl(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(l,t,e.__reactInternalSnapshotBeforeUpdate)}catch(r){at(n,n.return,r)}}a&64&&$d(n),a&512&&$s(n,n.return);break;case 3:if(Ya(e,n),a&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{zo(e,t)}catch(r){at(n,n.return,r)}}break;case 27:t===null&&a&4&&Zd(n);case 26:case 5:Ya(e,n),t===null&&a&4&&Xd(n),a&512&&$s(n,n.return);break;case 12:Ya(e,n);break;case 31:Ya(e,n),a&4&&Fd(e,n);break;case 13:Ya(e,n),a&4&&Pd(e,n),a&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=hp.bind(null,n),_p(e,n))));break;case 22:if(a=n.memoizedState!==null||Ba,!a){t=t!==null&&t.memoizedState!==null||Ht,l=Ba;var i=Ht;Ba=a,(Ht=t)&&!i?$a(e,n,(n.subtreeFlags&8772)!==0):Ya(e,n),Ba=l,Ht=i}break;case 30:break;default:Ya(e,n)}}function Jd(e){var t=e.alternate;t!==null&&(e.alternate=null,Jd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&Yn(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 jt=null,gn=!1;function Ga(e,t,n){for(n=n.child;n!==null;)Wd(e,t,n),n=n.sibling}function Wd(e,t,n){if(te&&typeof te.onCommitFiberUnmount=="function")try{te.onCommitFiberUnmount(Xt,n)}catch{}switch(n.tag){case 26:Ht||ba(n,t),Ga(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Ht||ba(n,t);var a=jt,l=gn;vl(n.type)&&(jt=n.stateNode,gn=!1),Ga(e,t,n),Fs(n.stateNode),jt=a,gn=l;break;case 5:Ht||ba(n,t);case 6:if(a=jt,l=gn,jt=null,Ga(e,t,n),jt=a,gn=l,jt!==null)if(gn)try{(jt.nodeType===9?jt.body:jt.nodeName==="HTML"?jt.ownerDocument.body:jt).removeChild(n.stateNode)}catch(i){at(n,t,i)}else try{jt.removeChild(n.stateNode)}catch(i){at(n,t,i)}break;case 18:jt!==null&&(gn?(e=jt,If(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),js(e)):If(jt,n.stateNode));break;case 4:a=jt,l=gn,jt=n.stateNode.containerInfo,gn=!0,Ga(e,t,n),jt=a,gn=l;break;case 0:case 11:case 14:case 15:rl(2,n,t),Ht||rl(4,n,t),Ga(e,t,n);break;case 1:Ht||(ba(n,t),a=n.stateNode,typeof a.componentWillUnmount=="function"&&Id(n,t,a)),Ga(e,t,n);break;case 21:Ga(e,t,n);break;case 22:Ht=(a=Ht)||n.memoizedState!==null,Ga(e,t,n),Ht=a;break;default:Ga(e,t,n)}}function Fd(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{js(e)}catch(n){at(t,t.return,n)}}}function Pd(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{js(e)}catch(n){at(t,t.return,n)}}function ip(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Kd),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Kd),t;default:throw Error(o(435,e.tag))}}function $i(e,t){var n=ip(e);t.forEach(function(a){if(!n.has(a)){n.add(a);var l=pp.bind(null,e,a);a.then(l,l)}})}function yn(e,t){var n=t.deletions;if(n!==null)for(var a=0;a<n.length;a++){var l=n[a],i=e,r=t,d=r;e:for(;d!==null;){switch(d.tag){case 27:if(vl(d.type)){jt=d.stateNode,gn=!1;break e}break;case 5:jt=d.stateNode,gn=!1;break e;case 3:case 4:jt=d.stateNode.containerInfo,gn=!0;break e}d=d.return}if(jt===null)throw Error(o(160));Wd(i,r,l),jt=null,gn=!1,i=l.alternate,i!==null&&(i.return=null),l.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)ef(t,e),t=t.sibling}var sa=null;function ef(e,t){var n=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:yn(t,e),bn(e),a&4&&(rl(3,e,e.return),Ys(3,e),rl(5,e,e.return));break;case 1:yn(t,e),bn(e),a&512&&(Ht||n===null||ba(n,n.return)),a&64&&Ba&&(e=e.updateQueue,e!==null&&(a=e.callbacks,a!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?a:n.concat(a))));break;case 26:var l=sa;if(yn(t,e),bn(e),a&512&&(Ht||n===null||ba(n,n.return)),a&4){var i=n!==null?n.memoizedState:null;if(a=e.memoizedState,n===null)if(a===null)if(e.stateNode===null){e:{a=e.type,n=e.memoizedProps,l=l.ownerDocument||l;t:switch(a){case"title":i=l.getElementsByTagName("title")[0],(!i||i[ct]||i[ft]||i.namespaceURI==="http://www.w3.org/2000/svg"||i.hasAttribute("itemprop"))&&(i=l.createElement(a),l.head.insertBefore(i,l.querySelector("head > title"))),Pt(i,a,n),i[ft]=e,Ue(i),a=i;break e;case"link":var r=tm("link","href",l).get(a+(n.href||""));if(r){for(var d=0;d<r.length;d++)if(i=r[d],i.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&i.getAttribute("rel")===(n.rel==null?null:n.rel)&&i.getAttribute("title")===(n.title==null?null:n.title)&&i.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){r.splice(d,1);break t}}i=l.createElement(a),Pt(i,a,n),l.head.appendChild(i);break;case"meta":if(r=tm("meta","content",l).get(a+(n.content||""))){for(d=0;d<r.length;d++)if(i=r[d],i.getAttribute("content")===(n.content==null?null:""+n.content)&&i.getAttribute("name")===(n.name==null?null:n.name)&&i.getAttribute("property")===(n.property==null?null:n.property)&&i.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&i.getAttribute("charset")===(n.charSet==null?null:n.charSet)){r.splice(d,1);break t}}i=l.createElement(a),Pt(i,a,n),l.head.appendChild(i);break;default:throw Error(o(468,a))}i[ft]=e,Ue(i),a=i}e.stateNode=a}else nm(l,e.type,e.stateNode);else e.stateNode=em(l,a,e.memoizedProps);else i!==a?(i===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):i.count--,a===null?nm(l,e.type,e.stateNode):em(l,a,e.memoizedProps)):a===null&&e.stateNode!==null&&Ou(e,e.memoizedProps,n.memoizedProps)}break;case 27:yn(t,e),bn(e),a&512&&(Ht||n===null||ba(n,n.return)),n!==null&&a&4&&Ou(e,e.memoizedProps,n.memoizedProps);break;case 5:if(yn(t,e),bn(e),a&512&&(Ht||n===null||ba(n,n.return)),e.flags&32){l=e.stateNode;try{S(l,"")}catch(P){at(e,e.return,P)}}a&4&&e.stateNode!=null&&(l=e.memoizedProps,Ou(e,l,n!==null?n.memoizedProps:l)),a&1024&&(Mu=!0);break;case 6:if(yn(t,e),bn(e),a&4){if(e.stateNode===null)throw Error(o(162));a=e.memoizedProps,n=e.stateNode;try{n.nodeValue=a}catch(P){at(e,e.return,P)}}break;case 3:if(sc=null,l=sa,sa=ac(t.containerInfo),yn(t,e),sa=l,bn(e),a&4&&n!==null&&n.memoizedState.isDehydrated)try{js(t.containerInfo)}catch(P){at(e,e.return,P)}Mu&&(Mu=!1,tf(e));break;case 4:a=sa,sa=ac(e.stateNode.containerInfo),yn(t,e),bn(e),sa=a;break;case 12:yn(t,e),bn(e);break;case 31:yn(t,e),bn(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,$i(e,a)));break;case 13:yn(t,e),bn(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Xi=Gt()),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,$i(e,a)));break;case 22:l=e.memoizedState!==null;var g=n!==null&&n.memoizedState!==null,E=Ba,z=Ht;if(Ba=E||l,Ht=z||g,yn(t,e),Ht=z,Ba=E,bn(e),a&8192)e:for(t=e.stateNode,t._visibility=l?t._visibility&-2:t._visibility|1,l&&(n===null||g||Ba||Ht||Gl(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){g=n=t;try{if(i=g.stateNode,l)r=i.style,typeof r.setProperty=="function"?r.setProperty("display","none","important"):r.display="none";else{d=g.stateNode;var L=g.memoizedProps.style,A=L!=null&&L.hasOwnProperty("display")?L.display:null;d.style.display=A==null||typeof A=="boolean"?"":(""+A).trim()}}catch(P){at(g,g.return,P)}}}else if(t.tag===6){if(n===null){g=t;try{g.stateNode.nodeValue=l?"":g.memoizedProps}catch(P){at(g,g.return,P)}}}else if(t.tag===18){if(n===null){g=t;try{var w=g.stateNode;l?Xf(w,!0):Xf(g.stateNode,!1)}catch(P){at(g,g.return,P)}}}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;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}a&4&&(a=e.updateQueue,a!==null&&(n=a.retryQueue,n!==null&&(a.retryQueue=null,$i(e,n))));break;case 19:yn(t,e),bn(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,$i(e,a)));break;case 30:break;case 21:break;default:yn(t,e),bn(e)}}function bn(e){var t=e.flags;if(t&2){try{for(var n,a=e.return;a!==null;){if(Qd(a)){n=a;break}a=a.return}if(n==null)throw Error(o(160));switch(n.tag){case 27:var l=n.stateNode,i=zu(e);Yi(e,i,l);break;case 5:var r=n.stateNode;n.flags&32&&(S(r,""),n.flags&=-33);var d=zu(e);Yi(e,d,r);break;case 3:case 4:var g=n.stateNode.containerInfo,E=zu(e);_u(e,E,g);break;default:throw Error(o(161))}}catch(z){at(e,e.return,z)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function tf(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;tf(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Ya(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)Vd(e,t.alternate,t),t=t.sibling}function Gl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:rl(4,t,t.return),Gl(t);break;case 1:ba(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&Id(t,t.return,n),Gl(t);break;case 27:Fs(t.stateNode);case 26:case 5:ba(t,t.return),Gl(t);break;case 22:t.memoizedState===null&&Gl(t);break;case 30:Gl(t);break;default:Gl(t)}e=e.sibling}}function $a(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var a=t.alternate,l=e,i=t,r=i.flags;switch(i.tag){case 0:case 11:case 15:$a(l,i,n),Ys(4,i);break;case 1:if($a(l,i,n),a=i,l=a.stateNode,typeof l.componentDidMount=="function")try{l.componentDidMount()}catch(E){at(a,a.return,E)}if(a=i,l=a.updateQueue,l!==null){var d=a.stateNode;try{var g=l.shared.hiddenCallbacks;if(g!==null)for(l.shared.hiddenCallbacks=null,l=0;l<g.length;l++)Oo(g[l],d)}catch(E){at(a,a.return,E)}}n&&r&64&&$d(i),$s(i,i.return);break;case 27:Zd(i);case 26:case 5:$a(l,i,n),n&&a===null&&r&4&&Xd(i),$s(i,i.return);break;case 12:$a(l,i,n);break;case 31:$a(l,i,n),n&&r&4&&Fd(l,i);break;case 13:$a(l,i,n),n&&r&4&&Pd(l,i);break;case 22:i.memoizedState===null&&$a(l,i,n),$s(i,i.return);break;case 30:break;default:$a(l,i,n)}t=t.sibling}}function Uu(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Rs(n))}function Hu(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Rs(e))}function ia(e,t,n,a){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)nf(e,t,n,a),t=t.sibling}function nf(e,t,n,a){var l=t.flags;switch(t.tag){case 0:case 11:case 15:ia(e,t,n,a),l&2048&&Ys(9,t);break;case 1:ia(e,t,n,a);break;case 3:ia(e,t,n,a),l&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Rs(e)));break;case 12:if(l&2048){ia(e,t,n,a),e=t.stateNode;try{var i=t.memoizedProps,r=i.id,d=i.onPostCommit;typeof d=="function"&&d(r,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(g){at(t,t.return,g)}}else ia(e,t,n,a);break;case 31:ia(e,t,n,a);break;case 13:ia(e,t,n,a);break;case 23:break;case 22:i=t.stateNode,r=t.alternate,t.memoizedState!==null?i._visibility&2?ia(e,t,n,a):Is(e,t):i._visibility&2?ia(e,t,n,a):(i._visibility|=2,os(e,t,n,a,(t.subtreeFlags&10256)!==0||!1)),l&2048&&Uu(r,t);break;case 24:ia(e,t,n,a),l&2048&&Hu(t.alternate,t);break;default:ia(e,t,n,a)}}function os(e,t,n,a,l){for(l=l&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var i=e,r=t,d=n,g=a,E=r.flags;switch(r.tag){case 0:case 11:case 15:os(i,r,d,g,l),Ys(8,r);break;case 23:break;case 22:var z=r.stateNode;r.memoizedState!==null?z._visibility&2?os(i,r,d,g,l):Is(i,r):(z._visibility|=2,os(i,r,d,g,l)),l&&E&2048&&Uu(r.alternate,r);break;case 24:os(i,r,d,g,l),l&&E&2048&&Hu(r.alternate,r);break;default:os(i,r,d,g,l)}t=t.sibling}}function Is(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,a=t,l=a.flags;switch(a.tag){case 22:Is(n,a),l&2048&&Uu(a.alternate,a);break;case 24:Is(n,a),l&2048&&Hu(a.alternate,a);break;default:Is(n,a)}t=t.sibling}}var Xs=8192;function ds(e,t,n){if(e.subtreeFlags&Xs)for(e=e.child;e!==null;)af(e,t,n),e=e.sibling}function af(e,t,n){switch(e.tag){case 26:ds(e,t,n),e.flags&Xs&&e.memoizedState!==null&&Qp(n,sa,e.memoizedState,e.memoizedProps);break;case 5:ds(e,t,n);break;case 3:case 4:var a=sa;sa=ac(e.stateNode.containerInfo),ds(e,t,n),sa=a;break;case 22:e.memoizedState===null&&(a=e.alternate,a!==null&&a.memoizedState!==null?(a=Xs,Xs=16777216,ds(e,t,n),Xs=a):ds(e,t,n));break;default:ds(e,t,n)}}function lf(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 Qs(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];$t=a,cf(a,e)}lf(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)sf(e),e=e.sibling}function sf(e){switch(e.tag){case 0:case 11:case 15:Qs(e),e.flags&2048&&rl(9,e,e.return);break;case 3:Qs(e);break;case 12:Qs(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Ii(e)):Qs(e);break;default:Qs(e)}}function Ii(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var a=t[n];$t=a,cf(a,e)}lf(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:rl(8,t,t.return),Ii(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Ii(t));break;default:Ii(t)}e=e.sibling}}function cf(e,t){for(;$t!==null;){var n=$t;switch(n.tag){case 0:case 11:case 15:rl(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var a=n.memoizedState.cachePool.pool;a!=null&&a.refCount++}break;case 24:Rs(n.memoizedState.cache)}if(a=n.child,a!==null)a.return=n,$t=a;else e:for(n=e;$t!==null;){a=$t;var l=a.sibling,i=a.return;if(Jd(a),a===n){$t=null;break e}if(l!==null){l.return=i,$t=l;break e}$t=i}}}var cp={getCacheForType:function(e){var t=Wt(_t),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Wt(_t).controller.signal}},up=typeof WeakMap=="function"?WeakMap:Map,Ze=0,rt=null,ke=null,De=0,nt=0,Hn=null,ol=!1,fs=!1,Lu=!1,Ia=0,At=0,dl=0,Yl=0,qu=0,Ln=0,ms=0,Zs=null,xn=null,Bu=!1,Xi=0,uf=0,Qi=1/0,Zi=null,fl=null,qt=0,ml=null,hs=null,Xa=0,Gu=0,Yu=null,rf=null,Ks=0,$u=null;function qn(){return(Ze&2)!==0&&De!==0?De&-De:O.T!==null?Vu():Aa()}function of(){if(Ln===0)if((De&536870912)===0||ze){var e=Me;Me<<=1,(Me&3932160)===0&&(Me=262144),Ln=e}else Ln=536870912;return e=Mn.current,e!==null&&(e.flags|=32),Ln}function jn(e,t,n){(e===rt&&(nt===2||nt===9)||e.cancelPendingCommit!==null)&&(ps(e,0),hl(e,De,Ln,!1)),pn(e,n),((Ze&2)===0||e!==rt)&&(e===rt&&((Ze&2)===0&&(Yl|=n),At===4&&hl(e,De,Ln,!1)),xa(e))}function df(e,t,n){if((Ze&6)!==0)throw Error(o(327));var a=!n&&(t&127)===0&&(t&e.expiredLanes)===0||hn(e,t),l=a?dp(e,t):Xu(e,t,!0),i=a;do{if(l===0){fs&&!a&&hl(e,t,0,!1);break}else{if(n=e.current.alternate,i&&!rp(n)){l=Xu(e,t,!1),i=!1;continue}if(l===2){if(i=t,e.errorRecoveryDisabledLanes&i)var r=0;else r=e.pendingLanes&-536870913,r=r!==0?r:r&536870912?536870912:0;if(r!==0){t=r;e:{var d=e;l=Zs;var g=d.current.memoizedState.isDehydrated;if(g&&(ps(d,r).flags|=256),r=Xu(d,r,!1),r!==2){if(Lu&&!g){d.errorRecoveryDisabledLanes|=i,Yl|=i,l=4;break e}i=xn,xn=l,i!==null&&(xn===null?xn=i:xn.push.apply(xn,i))}l=r}if(i=!1,l!==2)continue}}if(l===1){ps(e,0),hl(e,t,0,!0);break}e:{switch(a=e,i=l,i){case 0:case 1:throw Error(o(345));case 4:if((t&4194048)!==t)break;case 6:hl(a,t,Ln,!ol);break e;case 2:xn=null;break;case 3:case 5:break;default:throw Error(o(329))}if((t&62914560)===t&&(l=Xi+300-Gt(),10<l)){if(hl(a,t,Ln,!ol),ta(a,0,!0)!==0)break e;Xa=t,a.timeoutHandle=Yf(ff.bind(null,a,n,xn,Zi,Bu,t,Ln,Yl,ms,ol,i,"Throttled",-0,0),l);break e}ff(a,n,xn,Zi,Bu,t,Ln,Yl,ms,ol,i,null,-0,0)}}break}while(!0);xa(e)}function ff(e,t,n,a,l,i,r,d,g,E,z,L,A,w){if(e.timeoutHandle=-1,L=t.subtreeFlags,L&8192||(L&16785408)===16785408){L={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:he},af(t,i,L);var P=(i&62914560)===i?Xi-Gt():(i&4194048)===i?uf-Gt():0;if(P=Zp(L,P),P!==null){Xa=i,e.cancelPendingCommit=P(xf.bind(null,e,t,i,n,a,l,r,d,g,z,L,null,A,w)),hl(e,i,r,!E);return}}xf(e,t,i,n,a,l,r,d,g)}function rp(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var a=0;a<n.length;a++){var l=n[a],i=l.getSnapshot;l=l.value;try{if(!zn(i(),l))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;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 hl(e,t,n,a){t&=~qu,t&=~Yl,e.suspendedLanes|=t,e.pingedLanes&=~t,a&&(e.warmLanes|=t),a=e.expirationTimes;for(var l=t;0<l;){var i=31-Yt(l),r=1<<i;a[i]=-1,l&=~r}n!==0&&da(e,n,t)}function Ki(){return(Ze&6)===0?(Vs(0),!1):!0}function Iu(){if(ke!==null){if(nt===0)var e=ke.return;else e=ke,_a=zl=null,iu(e),ss=null,ws=0,e=ke;for(;e!==null;)Yd(e.alternate,e),e=e.return;ke=null}}function ps(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,Rp(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),Xa=0,Iu(),rt=e,ke=n=Oa(e.current,null),De=t,nt=0,Hn=null,ol=!1,fs=hn(e,t),Lu=!1,ms=Ln=qu=Yl=dl=At=0,xn=Zs=null,Bu=!1,(t&8)!==0&&(t|=t&32);var a=e.entangledLanes;if(a!==0)for(e=e.entanglements,a&=t;0<a;){var l=31-Yt(a),i=1<<l;t|=e[l],a&=~i}return Ia=t,pi(),n}function mf(e,t){ge=null,O.H=qs,t===ls||t===Ni?(t=ko(),nt=3):t===Kc?(t=ko(),nt=4):nt=t===Su?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Hn=t,ke===null&&(At=1,Hi(e,Qn(t,e.current)))}function hf(){var e=Mn.current;return e===null?!0:(De&4194048)===De?Jn===null:(De&62914560)===De||(De&536870912)!==0?e===Jn:!1}function pf(){var e=O.H;return O.H=qs,e===null?qs:e}function vf(){var e=O.A;return O.A=cp,e}function Vi(){At=4,ol||(De&4194048)!==De&&Mn.current!==null||(fs=!0),(dl&134217727)===0&&(Yl&134217727)===0||rt===null||hl(rt,De,Ln,!1)}function Xu(e,t,n){var a=Ze;Ze|=2;var l=pf(),i=vf();(rt!==e||De!==t)&&(Zi=null,ps(e,t)),t=!1;var r=At;e:do try{if(nt!==0&&ke!==null){var d=ke,g=Hn;switch(nt){case 8:Iu(),r=6;break e;case 3:case 2:case 9:case 6:Mn.current===null&&(t=!0);var E=nt;if(nt=0,Hn=null,vs(e,d,g,E),n&&fs){r=0;break e}break;default:E=nt,nt=0,Hn=null,vs(e,d,g,E)}}op(),r=At;break}catch(z){mf(e,z)}while(!0);return t&&e.shellSuspendCounter++,_a=zl=null,Ze=a,O.H=l,O.A=i,ke===null&&(rt=null,De=0,pi()),r}function op(){for(;ke!==null;)gf(ke)}function dp(e,t){var n=Ze;Ze|=2;var a=pf(),l=vf();rt!==e||De!==t?(Zi=null,Qi=Gt()+500,ps(e,t)):fs=hn(e,t);e:do try{if(nt!==0&&ke!==null){t=ke;var i=Hn;t:switch(nt){case 1:nt=0,Hn=null,vs(e,t,i,1);break;case 2:case 9:if(Eo(i)){nt=0,Hn=null,yf(t);break}t=function(){nt!==2&&nt!==9||rt!==e||(nt=7),xa(e)},i.then(t,t);break e;case 3:nt=7;break e;case 4:nt=5;break e;case 7:Eo(i)?(nt=0,Hn=null,yf(t)):(nt=0,Hn=null,vs(e,t,i,7));break;case 5:var r=null;switch(ke.tag){case 26:r=ke.memoizedState;case 5:case 27:var d=ke;if(r?am(r):d.stateNode.complete){nt=0,Hn=null;var g=d.sibling;if(g!==null)ke=g;else{var E=d.return;E!==null?(ke=E,Ji(E)):ke=null}break t}}nt=0,Hn=null,vs(e,t,i,5);break;case 6:nt=0,Hn=null,vs(e,t,i,6);break;case 8:Iu(),At=6;break e;default:throw Error(o(462))}}fp();break}catch(z){mf(e,z)}while(!0);return _a=zl=null,O.H=a,O.A=l,Ze=n,ke!==null?0:(rt=null,De=0,pi(),At)}function fp(){for(;ke!==null&&!ja();)gf(ke)}function gf(e){var t=Bd(e.alternate,e,Ia);e.memoizedProps=e.pendingProps,t===null?Ji(e):ke=t}function yf(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=_d(n,t,t.pendingProps,t.type,void 0,De);break;case 11:t=_d(n,t,t.pendingProps,t.type.render,t.ref,De);break;case 5:iu(t);default:Yd(n,t),t=ke=po(t,Ia),t=Bd(n,t,Ia)}e.memoizedProps=e.pendingProps,t===null?Ji(e):ke=t}function vs(e,t,n,a){_a=zl=null,iu(t),ss=null,ws=0;var l=t.return;try{if(ep(e,l,t,n,De)){At=1,Hi(e,Qn(n,e.current)),ke=null;return}}catch(i){if(l!==null)throw ke=l,i;At=1,Hi(e,Qn(n,e.current)),ke=null;return}t.flags&32768?(ze||a===1?e=!0:fs||(De&536870912)!==0?e=!1:(ol=e=!0,(a===2||a===9||a===3||a===6)&&(a=Mn.current,a!==null&&a.tag===13&&(a.flags|=16384))),bf(t,e)):Ji(t)}function Ji(e){var t=e;do{if((t.flags&32768)!==0){bf(t,ol);return}e=t.return;var n=ap(t.alternate,t,Ia);if(n!==null){ke=n;return}if(t=t.sibling,t!==null){ke=t;return}ke=t=e}while(t!==null);At===0&&(At=5)}function bf(e,t){do{var n=lp(e.alternate,e);if(n!==null){n.flags&=32767,ke=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){ke=e;return}ke=e=n}while(e!==null);At=6,ke=null}function xf(e,t,n,a,l,i,r,d,g){e.cancelPendingCommit=null;do Wi();while(qt!==0);if((Ze&6)!==0)throw Error(o(327));if(t!==null){if(t===e.current)throw Error(o(177));if(i=t.lanes|t.childLanes,i|=zc,Va(e,n,i,r,d,g),e===rt&&(ke=rt=null,De=0),hs=t,ml=e,Xa=n,Gu=i,Yu=l,rf=a,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,vp(Na,function(){return Cf(),null})):(e.callbackNode=null,e.callbackPriority=0),a=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||a){a=O.T,O.T=null,l=Z.p,Z.p=2,r=Ze,Ze|=4;try{sp(e,t,n)}finally{Ze=r,Z.p=l,O.T=a}}qt=1,jf(),Sf(),Nf()}}function jf(){if(qt===1){qt=0;var e=ml,t=hs,n=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||n){n=O.T,O.T=null;var a=Z.p;Z.p=2;var l=Ze;Ze|=4;try{ef(t,e);var i=ar,r=so(e.containerInfo),d=i.focusedElem,g=i.selectionRange;if(r!==d&&d&&d.ownerDocument&&lo(d.ownerDocument.documentElement,d)){if(g!==null&&kc(d)){var E=g.start,z=g.end;if(z===void 0&&(z=E),"selectionStart"in d)d.selectionStart=E,d.selectionEnd=Math.min(z,d.value.length);else{var L=d.ownerDocument||document,A=L&&L.defaultView||window;if(A.getSelection){var w=A.getSelection(),P=d.textContent.length,ue=Math.min(g.start,P),it=g.end===void 0?ue:Math.min(g.end,P);!w.extend&&ue>it&&(r=it,it=ue,ue=r);var N=ao(d,ue),b=ao(d,it);if(N&&b&&(w.rangeCount!==1||w.anchorNode!==N.node||w.anchorOffset!==N.offset||w.focusNode!==b.node||w.focusOffset!==b.offset)){var C=L.createRange();C.setStart(N.node,N.offset),w.removeAllRanges(),ue>it?(w.addRange(C),w.extend(b.node,b.offset)):(C.setEnd(b.node,b.offset),w.addRange(C))}}}}for(L=[],w=d;w=w.parentNode;)w.nodeType===1&&L.push({element:w,left:w.scrollLeft,top:w.scrollTop});for(typeof d.focus=="function"&&d.focus(),d=0;d<L.length;d++){var U=L[d];U.element.scrollLeft=U.left,U.element.scrollTop=U.top}}rc=!!nr,ar=nr=null}finally{Ze=l,Z.p=a,O.T=n}}e.current=t,qt=2}}function Sf(){if(qt===2){qt=0;var e=ml,t=hs,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=O.T,O.T=null;var a=Z.p;Z.p=2;var l=Ze;Ze|=4;try{Vd(e,t.alternate,t)}finally{Ze=l,Z.p=a,O.T=n}}qt=3}}function Nf(){if(qt===4||qt===3){qt=0,Bn();var e=ml,t=hs,n=Xa,a=rf;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?qt=5:(qt=0,hs=ml=null,Tf(e,e.pendingLanes));var l=e.pendingLanes;if(l===0&&(fl=null),fa(n),t=t.stateNode,te&&typeof te.onCommitFiberRoot=="function")try{te.onCommitFiberRoot(Xt,t,void 0,(t.current.flags&128)===128)}catch{}if(a!==null){t=O.T,l=Z.p,Z.p=2,O.T=null;try{for(var i=e.onRecoverableError,r=0;r<a.length;r++){var d=a[r];i(d.value,{componentStack:d.stack})}}finally{O.T=t,Z.p=l}}(Xa&3)!==0&&Wi(),xa(e),l=e.pendingLanes,(n&261930)!==0&&(l&42)!==0?e===$u?Ks++:(Ks=0,$u=e):Ks=0,Vs(0)}}function Tf(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Rs(t)))}function Wi(){return jf(),Sf(),Nf(),Cf()}function Cf(){if(qt!==5)return!1;var e=ml,t=Gu;Gu=0;var n=fa(Xa),a=O.T,l=Z.p;try{Z.p=32>n?32:n,O.T=null,n=Yu,Yu=null;var i=ml,r=Xa;if(qt=0,hs=ml=null,Xa=0,(Ze&6)!==0)throw Error(o(331));var d=Ze;if(Ze|=4,sf(i.current),nf(i,i.current,r,n),Ze=d,Vs(0,!1),te&&typeof te.onPostCommitFiberRoot=="function")try{te.onPostCommitFiberRoot(Xt,i)}catch{}return!0}finally{Z.p=l,O.T=a,Tf(e,t)}}function Ef(e,t,n){t=Qn(n,t),t=ju(e.stateNode,t,2),e=il(e,t,2),e!==null&&(pn(e,2),xa(e))}function at(e,t,n){if(e.tag===3)Ef(e,e,n);else for(;t!==null;){if(t.tag===3){Ef(t,e,n);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(fl===null||!fl.has(a))){e=Qn(n,e),n=Ed(2),a=il(t,n,2),a!==null&&(Ad(n,a,t,e),pn(a,2),xa(a));break}}t=t.return}}function Qu(e,t,n){var a=e.pingCache;if(a===null){a=e.pingCache=new up;var l=new Set;a.set(t,l)}else l=a.get(t),l===void 0&&(l=new Set,a.set(t,l));l.has(n)||(Lu=!0,l.add(n),e=mp.bind(null,e,t,n),t.then(e,e))}function mp(e,t,n){var a=e.pingCache;a!==null&&a.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,rt===e&&(De&n)===n&&(At===4||At===3&&(De&62914560)===De&&300>Gt()-Xi?(Ze&2)===0&&ps(e,0):qu|=n,ms===De&&(ms=0)),xa(e)}function Af(e,t){t===0&&(t=cn()),e=Dl(e,t),e!==null&&(pn(e,t),xa(e))}function hp(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Af(e,n)}function pp(e,t){var n=0;switch(e.tag){case 31:case 13:var a=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:a=e.stateNode;break;case 22:a=e.stateNode._retryCache;break;default:throw Error(o(314))}a!==null&&a.delete(t),Af(e,n)}function vp(e,t){return kt(e,t)}var Fi=null,gs=null,Zu=!1,Pi=!1,Ku=!1,pl=0;function xa(e){e!==gs&&e.next===null&&(gs===null?Fi=gs=e:gs=gs.next=e),Pi=!0,Zu||(Zu=!0,yp())}function Vs(e,t){if(!Ku&&Pi){Ku=!0;do for(var n=!1,a=Fi;a!==null;){if(e!==0){var l=a.pendingLanes;if(l===0)var i=0;else{var r=a.suspendedLanes,d=a.pingedLanes;i=(1<<31-Yt(42|e)+1)-1,i&=l&~(r&~d),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(n=!0,wf(a,i))}else i=De,i=ta(a,a===rt?i:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(i&3)===0||hn(a,i)||(n=!0,wf(a,i));a=a.next}while(n);Ku=!1}}function gp(){kf()}function kf(){Pi=Zu=!1;var e=0;pl!==0&&kp()&&(e=pl);for(var t=Gt(),n=null,a=Fi;a!==null;){var l=a.next,i=Rf(a,t);i===0?(a.next=null,n===null?Fi=l:n.next=l,l===null&&(gs=n)):(n=a,(e!==0||(i&3)!==0)&&(Pi=!0)),a=l}qt!==0&&qt!==5||Vs(e),pl!==0&&(pl=0)}function Rf(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,l=e.expirationTimes,i=e.pendingLanes&-62914561;0<i;){var r=31-Yt(i),d=1<<r,g=l[r];g===-1?((d&n)===0||(d&a)!==0)&&(l[r]=Ca(d,t)):g<=t&&(e.expiredLanes|=d),i&=~d}if(t=rt,n=De,n=ta(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a=e.callbackNode,n===0||e===t&&(nt===2||nt===9)||e.cancelPendingCommit!==null)return a!==null&&a!==null&&Tt(a),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||hn(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(a!==null&&Tt(a),fa(n)){case 2:case 8:n=ra;break;case 32:n=Na;break;case 268435456:n=St;break;default:n=Na}return a=Df.bind(null,e),n=kt(n,a),e.callbackPriority=t,e.callbackNode=n,t}return a!==null&&a!==null&&Tt(a),e.callbackPriority=2,e.callbackNode=null,2}function Df(e,t){if(qt!==0&&qt!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(Wi()&&e.callbackNode!==n)return null;var a=De;return a=ta(e,e===rt?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a===0?null:(df(e,a,t),Rf(e,Gt()),e.callbackNode!=null&&e.callbackNode===n?Df.bind(null,e):null)}function wf(e,t){if(Wi())return null;df(e,t,!0)}function yp(){Dp(function(){(Ze&6)!==0?kt(Sa,gp):kf()})}function Vu(){if(pl===0){var e=ns;e===0&&(e=mn,mn<<=1,(mn&261888)===0&&(mn=256)),pl=e}return pl}function Of(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:K(""+e)}function zf(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function bp(e,t,n,a,l){if(t==="submit"&&n&&n.stateNode===l){var i=Of((l[me]||null).action),r=a.submitter;r&&(t=(t=r[me]||null)?Of(t.formAction):r.getAttribute("formAction"),t!==null&&(i=t,r=null));var d=new V("action","action",null,a,l);e.push({event:d,listeners:[{instance:null,listener:function(){if(a.defaultPrevented){if(pl!==0){var g=r?zf(l,r):new FormData(l);pu(n,{pending:!0,data:g,method:l.method,action:i},null,g)}}else typeof i=="function"&&(d.preventDefault(),g=r?zf(l,r):new FormData(l),pu(n,{pending:!0,data:g,method:l.method,action:i},i,g))},currentTarget:l}]})}}for(var Ju=0;Ju<Oc.length;Ju++){var Wu=Oc[Ju],xp=Wu.toLowerCase(),jp=Wu[0].toUpperCase()+Wu.slice(1);la(xp,"on"+jp)}la(uo,"onAnimationEnd"),la(ro,"onAnimationIteration"),la(oo,"onAnimationStart"),la("dblclick","onDoubleClick"),la("focusin","onFocus"),la("focusout","onBlur"),la(Hh,"onTransitionRun"),la(Lh,"onTransitionStart"),la(qh,"onTransitionCancel"),la(fo,"onTransitionEnd"),na("onMouseEnter",["mouseout","mouseover"]),na("onMouseLeave",["mouseout","mouseover"]),na("onPointerEnter",["pointerout","pointerover"]),na("onPointerLeave",["pointerout","pointerover"]),nn("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),nn("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),nn("onBeforeInput",["compositionend","keypress","textInput","paste"]),nn("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),nn("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),nn("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Js="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(" "),Sp=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Js));function _f(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var a=e[n],l=a.event;a=a.listeners;e:{var i=void 0;if(t)for(var r=a.length-1;0<=r;r--){var d=a[r],g=d.instance,E=d.currentTarget;if(d=d.listener,g!==i&&l.isPropagationStopped())break e;i=d,l.currentTarget=E;try{i(l)}catch(z){hi(z)}l.currentTarget=null,i=g}else for(r=0;r<a.length;r++){if(d=a[r],g=d.instance,E=d.currentTarget,d=d.listener,g!==i&&l.isPropagationStopped())break e;i=d,l.currentTarget=E;try{i(l)}catch(z){hi(z)}l.currentTarget=null,i=g}}}}function Re(e,t){var n=t[tn];n===void 0&&(n=t[tn]=new Set);var a=e+"__bubble";n.has(a)||(Mf(t,e,2,!1),n.add(a))}function Fu(e,t,n){var a=0;t&&(a|=4),Mf(n,e,a,t)}var ec="_reactListening"+Math.random().toString(36).slice(2);function Pu(e){if(!e[ec]){e[ec]=!0,ma.forEach(function(n){n!=="selectionchange"&&(Sp.has(n)||Fu(n,!1,e),Fu(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[ec]||(t[ec]=!0,Fu("selectionchange",!1,t))}}function Mf(e,t,n,a){switch(om(t)){case 2:var l=Jp;break;case 8:l=Wp;break;default:l=hr}n=l.bind(null,t,n,e),l=void 0,!Xl||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(l=!0),a?l!==void 0?e.addEventListener(t,n,{capture:!0,passive:l}):e.addEventListener(t,n,!0):l!==void 0?e.addEventListener(t,n,{passive:l}):e.addEventListener(t,n,!1)}function er(e,t,n,a,l){var i=a;if((t&1)===0&&(t&2)===0&&a!==null)e:for(;;){if(a===null)return;var r=a.tag;if(r===3||r===4){var d=a.stateNode.containerInfo;if(d===l)break;if(r===4)for(r=a.return;r!==null;){var g=r.tag;if((g===3||g===4)&&r.stateNode.containerInfo===l)return;r=r.return}for(;d!==null;){if(r=Rt(d),r===null)return;if(g=r.tag,g===5||g===6||g===26||g===27){a=i=r;continue e}d=d.parentNode}}a=a.return}Fa(function(){var E=i,z=Qe(n),L=[];e:{var A=mo.get(e);if(A!==void 0){var w=V,P=e;switch(e){case"keypress":if(El(n)===0)break e;case"keydown":case"keyup":w=ph;break;case"focusin":P="focus",w=Nc;break;case"focusout":P="blur",w=Nc;break;case"beforeblur":case"afterblur":w=Nc;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":w=Al;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":w=ah;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":w=yh;break;case uo:case ro:case oo:w=ih;break;case fo:w=xh;break;case"scroll":case"scrollend":w=Le;break;case"wheel":w=Sh;break;case"copy":case"cut":case"paste":w=uh;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":w=$r;break;case"toggle":case"beforetoggle":w=Th}var ue=(t&4)!==0,it=!ue&&(e==="scroll"||e==="scrollend"),N=ue?A!==null?A+"Capture":null:A;ue=[];for(var b=E,C;b!==null;){var U=b;if(C=U.stateNode,U=U.tag,U!==5&&U!==26&&U!==27||C===null||N===null||(U=Pa(b,N),U!=null&&ue.push(Ws(b,U,C))),it)break;b=b.return}0<ue.length&&(A=new w(A,P,null,n,z),L.push({event:A,listeners:ue}))}}if((t&7)===0){e:{if(A=e==="mouseover"||e==="pointerover",w=e==="mouseout"||e==="pointerout",A&&n!==Je&&(P=n.relatedTarget||n.fromElement)&&(Rt(P)||P[en]))break e;if((w||A)&&(A=z.window===z?z:(A=z.ownerDocument)?A.defaultView||A.parentWindow:window,w?(P=n.relatedTarget||n.toElement,w=E,P=P?Rt(P):null,P!==null&&(it=j(P),ue=P.tag,P!==it||ue!==5&&ue!==27&&ue!==6)&&(P=null)):(w=null,P=E),w!==P)){if(ue=Al,U="onMouseLeave",N="onMouseEnter",b="mouse",(e==="pointerout"||e==="pointerover")&&(ue=$r,U="onPointerLeave",N="onPointerEnter",b="pointer"),it=w==null?A:Qt(w),C=P==null?A:Qt(P),A=new ue(U,b+"leave",w,n,z),A.target=it,A.relatedTarget=C,U=null,Rt(z)===E&&(ue=new ue(N,b+"enter",P,n,z),ue.target=C,ue.relatedTarget=it,U=ue),it=U,w&&P)t:{for(ue=Np,N=w,b=P,C=0,U=N;U;U=ue(U))C++;U=0;for(var se=b;se;se=ue(se))U++;for(;0<C-U;)N=ue(N),C--;for(;0<U-C;)b=ue(b),U--;for(;C--;){if(N===b||b!==null&&N===b.alternate){ue=N;break t}N=ue(N),b=ue(b)}ue=null}else ue=null;w!==null&&Uf(L,A,w,ue,!1),P!==null&&it!==null&&Uf(L,it,P,ue,!0)}}e:{if(A=E?Qt(E):window,w=A.nodeName&&A.nodeName.toLowerCase(),w==="select"||w==="input"&&A.type==="file")var Ye=Wr;else if(Vr(A))if(Fr)Ye=_h;else{Ye=Oh;var ae=wh}else w=A.nodeName,!w||w.toLowerCase()!=="input"||A.type!=="checkbox"&&A.type!=="radio"?E&&G(E.elementType)&&(Ye=Wr):Ye=zh;if(Ye&&(Ye=Ye(e,E))){Jr(L,Ye,n,z);break e}ae&&ae(e,A,E),e==="focusout"&&E&&A.type==="number"&&E.memoizedProps.value!=null&&xe(A,"number",A.value)}switch(ae=E?Qt(E):window,e){case"focusin":(Vr(ae)||ae.contentEditable==="true")&&(Kl=ae,Rc=E,Es=null);break;case"focusout":Es=Rc=Kl=null;break;case"mousedown":Dc=!0;break;case"contextmenu":case"mouseup":case"dragend":Dc=!1,io(L,n,z);break;case"selectionchange":if(Uh)break;case"keydown":case"keyup":io(L,n,z)}var je;if(Cc)e:{switch(e){case"compositionstart":var we="onCompositionStart";break e;case"compositionend":we="onCompositionEnd";break e;case"compositionupdate":we="onCompositionUpdate";break e}we=void 0}else Zl?Zr(e,n)&&(we="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(we="onCompositionStart");we&&(Ir&&n.locale!=="ko"&&(Zl||we!=="onCompositionStart"?we==="onCompositionEnd"&&Zl&&(je=fi()):(an=z,Ql="value"in an?an.value:an.textContent,Zl=!0)),ae=tc(E,we),0<ae.length&&(we=new Yr(we,e,null,n,z),L.push({event:we,listeners:ae}),je?we.data=je:(je=Kr(n),je!==null&&(we.data=je)))),(je=Eh?Ah(e,n):kh(e,n))&&(we=tc(E,"onBeforeInput"),0<we.length&&(ae=new Yr("onBeforeInput","beforeinput",null,n,z),L.push({event:ae,listeners:we}),ae.data=je)),bp(L,e,E,n,z)}_f(L,t)})}function Ws(e,t,n){return{instance:e,listener:t,currentTarget:n}}function tc(e,t){for(var n=t+"Capture",a=[];e!==null;){var l=e,i=l.stateNode;if(l=l.tag,l!==5&&l!==26&&l!==27||i===null||(l=Pa(e,n),l!=null&&a.unshift(Ws(e,l,i)),l=Pa(e,t),l!=null&&a.push(Ws(e,l,i))),e.tag===3)return a;e=e.return}return[]}function Np(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Uf(e,t,n,a,l){for(var i=t._reactName,r=[];n!==null&&n!==a;){var d=n,g=d.alternate,E=d.stateNode;if(d=d.tag,g!==null&&g===a)break;d!==5&&d!==26&&d!==27||E===null||(g=E,l?(E=Pa(n,i),E!=null&&r.unshift(Ws(n,E,g))):l||(E=Pa(n,i),E!=null&&r.push(Ws(n,E,g)))),n=n.return}r.length!==0&&e.push({event:t,listeners:r})}var Tp=/\r\n?/g,Cp=/\u0000|\uFFFD/g;function Hf(e){return(typeof e=="string"?e:""+e).replace(Tp,`
|
|
9
|
+
`).replace(Cp,"")}function Lf(e,t){return t=Hf(t),Hf(e)===t}function st(e,t,n,a,l,i){switch(n){case"children":typeof a=="string"?t==="body"||t==="textarea"&&a===""||S(e,a):(typeof a=="number"||typeof a=="bigint")&&t!=="body"&&S(e,""+a);break;case"className":Lt(e,"class",a);break;case"tabIndex":Lt(e,"tabindex",a);break;case"dir":case"role":case"viewBox":case"width":case"height":Lt(e,n,a);break;case"style":F(e,a,i);break;case"data":if(t!=="object"){Lt(e,"data",a);break}case"src":case"href":if(a===""&&(t!=="a"||n!=="href")){e.removeAttribute(n);break}if(a==null||typeof a=="function"||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=K(""+a),e.setAttribute(n,a);break;case"action":case"formAction":if(typeof a=="function"){e.setAttribute(n,"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 i=="function"&&(n==="formAction"?(t!=="input"&&st(e,t,"name",l.name,l,null),st(e,t,"formEncType",l.formEncType,l,null),st(e,t,"formMethod",l.formMethod,l,null),st(e,t,"formTarget",l.formTarget,l,null)):(st(e,t,"encType",l.encType,l,null),st(e,t,"method",l.method,l,null),st(e,t,"target",l.target,l,null)));if(a==null||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(n);break}a=K(""+a),e.setAttribute(n,a);break;case"onClick":a!=null&&(e.onclick=he);break;case"onScroll":a!=null&&Re("scroll",e);break;case"onScrollEnd":a!=null&&Re("scrollend",e);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(o(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(o(60));e.innerHTML=n}}break;case"multiple":e.multiple=a&&typeof a!="function"&&typeof a!="symbol";break;case"muted":e.muted=a&&typeof a!="function"&&typeof a!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(a==null||typeof a=="function"||typeof a=="boolean"||typeof a=="symbol"){e.removeAttribute("xlink:href");break}n=K(""+a),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""+a):e.removeAttribute(n);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":a&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":a===!0?e.setAttribute(n,""):a!==!1&&a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(n,a):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":a!=null&&typeof a!="function"&&typeof a!="symbol"&&!isNaN(a)&&1<=a?e.setAttribute(n,a):e.removeAttribute(n);break;case"rowSpan":case"start":a==null||typeof a=="function"||typeof a=="symbol"||isNaN(a)?e.removeAttribute(n):e.setAttribute(n,a);break;case"popover":Re("beforetoggle",e),Re("toggle",e),An(e,"popover",a);break;case"xlinkActuate":Zt(e,"http://www.w3.org/1999/xlink","xlink:actuate",a);break;case"xlinkArcrole":Zt(e,"http://www.w3.org/1999/xlink","xlink:arcrole",a);break;case"xlinkRole":Zt(e,"http://www.w3.org/1999/xlink","xlink:role",a);break;case"xlinkShow":Zt(e,"http://www.w3.org/1999/xlink","xlink:show",a);break;case"xlinkTitle":Zt(e,"http://www.w3.org/1999/xlink","xlink:title",a);break;case"xlinkType":Zt(e,"http://www.w3.org/1999/xlink","xlink:type",a);break;case"xmlBase":Zt(e,"http://www.w3.org/XML/1998/namespace","xml:base",a);break;case"xmlLang":Zt(e,"http://www.w3.org/XML/1998/namespace","xml:lang",a);break;case"xmlSpace":Zt(e,"http://www.w3.org/XML/1998/namespace","xml:space",a);break;case"is":An(e,"is",a);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=He.get(n)||n,An(e,n,a))}}function tr(e,t,n,a,l,i){switch(n){case"style":F(e,a,i);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(o(61));if(n=a.__html,n!=null){if(l.children!=null)throw Error(o(60));e.innerHTML=n}}break;case"children":typeof a=="string"?S(e,a):(typeof a=="number"||typeof a=="bigint")&&S(e,""+a);break;case"onScroll":a!=null&&Re("scroll",e);break;case"onScrollEnd":a!=null&&Re("scrollend",e);break;case"onClick":a!=null&&(e.onclick=he);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!ha.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(l=n.endsWith("Capture"),t=n.slice(2,l?n.length-7:void 0),i=e[me]||null,i=i!=null?i[n]:null,typeof i=="function"&&e.removeEventListener(t,i,l),typeof a=="function")){typeof i!="function"&&i!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,a,l);break e}n in e?e[n]=a:a===!0?e.setAttribute(n,""):An(e,n,a)}}}function Pt(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Re("error",e),Re("load",e);var a=!1,l=!1,i;for(i in n)if(n.hasOwnProperty(i)){var r=n[i];if(r!=null)switch(i){case"src":a=!0;break;case"srcSet":l=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(o(137,t));default:st(e,t,i,r,n,null)}}l&&st(e,t,"srcSet",n.srcSet,n,null),a&&st(e,t,"src",n.src,n,null);return;case"input":Re("invalid",e);var d=i=r=l=null,g=null,E=null;for(a in n)if(n.hasOwnProperty(a)){var z=n[a];if(z!=null)switch(a){case"name":l=z;break;case"type":r=z;break;case"checked":g=z;break;case"defaultChecked":E=z;break;case"value":i=z;break;case"defaultValue":d=z;break;case"children":case"dangerouslySetInnerHTML":if(z!=null)throw Error(o(137,t));break;default:st(e,t,a,z,n,null)}}Da(e,i,d,g,E,r,l,!1);return;case"select":Re("invalid",e),a=r=i=null;for(l in n)if(n.hasOwnProperty(l)&&(d=n[l],d!=null))switch(l){case"value":i=d;break;case"defaultValue":r=d;break;case"multiple":a=d;default:st(e,t,l,d,n,null)}t=i,n=r,e.multiple=!!a,t!=null?wn(e,!!a,t,!1):n!=null&&wn(e,!!a,n,!0);return;case"textarea":Re("invalid",e),i=l=a=null;for(r in n)if(n.hasOwnProperty(r)&&(d=n[r],d!=null))switch(r){case"value":a=d;break;case"defaultValue":l=d;break;case"children":i=d;break;case"dangerouslySetInnerHTML":if(d!=null)throw Error(o(91));break;default:st(e,t,r,d,n,null)}m(e,a,l,i);return;case"option":for(g in n)n.hasOwnProperty(g)&&(a=n[g],a!=null)&&(g==="selected"?e.selected=a&&typeof a!="function"&&typeof a!="symbol":st(e,t,g,a,n,null));return;case"dialog":Re("beforetoggle",e),Re("toggle",e),Re("cancel",e),Re("close",e);break;case"iframe":case"object":Re("load",e);break;case"video":case"audio":for(a=0;a<Js.length;a++)Re(Js[a],e);break;case"image":Re("error",e),Re("load",e);break;case"details":Re("toggle",e);break;case"embed":case"source":case"link":Re("error",e),Re("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(E in n)if(n.hasOwnProperty(E)&&(a=n[E],a!=null))switch(E){case"children":case"dangerouslySetInnerHTML":throw Error(o(137,t));default:st(e,t,E,a,n,null)}return;default:if(G(t)){for(z in n)n.hasOwnProperty(z)&&(a=n[z],a!==void 0&&tr(e,t,z,a,n,void 0));return}}for(d in n)n.hasOwnProperty(d)&&(a=n[d],a!=null&&st(e,t,d,a,n,null))}function Ep(e,t,n,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var l=null,i=null,r=null,d=null,g=null,E=null,z=null;for(w in n){var L=n[w];if(n.hasOwnProperty(w)&&L!=null)switch(w){case"checked":break;case"value":break;case"defaultValue":g=L;default:a.hasOwnProperty(w)||st(e,t,w,null,a,L)}}for(var A in a){var w=a[A];if(L=n[A],a.hasOwnProperty(A)&&(w!=null||L!=null))switch(A){case"type":i=w;break;case"name":l=w;break;case"checked":E=w;break;case"defaultChecked":z=w;break;case"value":r=w;break;case"defaultValue":d=w;break;case"children":case"dangerouslySetInnerHTML":if(w!=null)throw Error(o(137,t));break;default:w!==L&&st(e,t,A,w,a,L)}}Dn(e,r,d,g,E,z,i,l);return;case"select":w=r=d=A=null;for(i in n)if(g=n[i],n.hasOwnProperty(i)&&g!=null)switch(i){case"value":break;case"multiple":w=g;default:a.hasOwnProperty(i)||st(e,t,i,null,a,g)}for(l in a)if(i=a[l],g=n[l],a.hasOwnProperty(l)&&(i!=null||g!=null))switch(l){case"value":A=i;break;case"defaultValue":d=i;break;case"multiple":r=i;default:i!==g&&st(e,t,l,i,a,g)}t=d,n=r,a=w,A!=null?wn(e,!!n,A,!1):!!a!=!!n&&(t!=null?wn(e,!!n,t,!0):wn(e,!!n,n?[]:"",!1));return;case"textarea":w=A=null;for(d in n)if(l=n[d],n.hasOwnProperty(d)&&l!=null&&!a.hasOwnProperty(d))switch(d){case"value":break;case"children":break;default:st(e,t,d,null,a,l)}for(r in a)if(l=a[r],i=n[r],a.hasOwnProperty(r)&&(l!=null||i!=null))switch(r){case"value":A=l;break;case"defaultValue":w=l;break;case"children":break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(o(91));break;default:l!==i&&st(e,t,r,l,a,i)}ht(e,A,w);return;case"option":for(var P in n)A=n[P],n.hasOwnProperty(P)&&A!=null&&!a.hasOwnProperty(P)&&(P==="selected"?e.selected=!1:st(e,t,P,null,a,A));for(g in a)A=a[g],w=n[g],a.hasOwnProperty(g)&&A!==w&&(A!=null||w!=null)&&(g==="selected"?e.selected=A&&typeof A!="function"&&typeof A!="symbol":st(e,t,g,A,a,w));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 ue in n)A=n[ue],n.hasOwnProperty(ue)&&A!=null&&!a.hasOwnProperty(ue)&&st(e,t,ue,null,a,A);for(E in a)if(A=a[E],w=n[E],a.hasOwnProperty(E)&&A!==w&&(A!=null||w!=null))switch(E){case"children":case"dangerouslySetInnerHTML":if(A!=null)throw Error(o(137,t));break;default:st(e,t,E,A,a,w)}return;default:if(G(t)){for(var it in n)A=n[it],n.hasOwnProperty(it)&&A!==void 0&&!a.hasOwnProperty(it)&&tr(e,t,it,void 0,a,A);for(z in a)A=a[z],w=n[z],!a.hasOwnProperty(z)||A===w||A===void 0&&w===void 0||tr(e,t,z,A,a,w);return}}for(var N in n)A=n[N],n.hasOwnProperty(N)&&A!=null&&!a.hasOwnProperty(N)&&st(e,t,N,null,a,A);for(L in a)A=a[L],w=n[L],!a.hasOwnProperty(L)||A===w||A==null&&w==null||st(e,t,L,A,a,w)}function qf(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function Ap(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,n=performance.getEntriesByType("resource"),a=0;a<n.length;a++){var l=n[a],i=l.transferSize,r=l.initiatorType,d=l.duration;if(i&&d&&qf(r)){for(r=0,d=l.responseEnd,a+=1;a<n.length;a++){var g=n[a],E=g.startTime;if(E>d)break;var z=g.transferSize,L=g.initiatorType;z&&qf(L)&&(g=g.responseEnd,r+=z*(g<d?1:(d-E)/(g-E)))}if(--a,t+=8*(i+r)/(l.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 nr=null,ar=null;function nc(e){return e.nodeType===9?e:e.ownerDocument}function Bf(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 Gf(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 lr(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 sr=null;function kp(){var e=window.event;return e&&e.type==="popstate"?e===sr?!1:(sr=e,!0):(sr=null,!1)}var Yf=typeof setTimeout=="function"?setTimeout:void 0,Rp=typeof clearTimeout=="function"?clearTimeout:void 0,$f=typeof Promise=="function"?Promise:void 0,Dp=typeof queueMicrotask=="function"?queueMicrotask:typeof $f<"u"?function(e){return $f.resolve(null).then(e).catch(wp)}:Yf;function wp(e){setTimeout(function(){throw e})}function vl(e){return e==="head"}function If(e,t){var n=t,a=0;do{var l=n.nextSibling;if(e.removeChild(n),l&&l.nodeType===8)if(n=l.data,n==="/$"||n==="/&"){if(a===0){e.removeChild(l),js(t);return}a--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")a++;else if(n==="html")Fs(e.ownerDocument.documentElement);else if(n==="head"){n=e.ownerDocument.head,Fs(n);for(var i=n.firstChild;i;){var r=i.nextSibling,d=i.nodeName;i[ct]||d==="SCRIPT"||d==="STYLE"||d==="LINK"&&i.rel.toLowerCase()==="stylesheet"||n.removeChild(i),i=r}}else n==="body"&&Fs(e.ownerDocument.body);n=l}while(n);js(t)}function Xf(e,t){var n=e;e=0;do{var a=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),a&&a.nodeType===8)if(n=a.data,n==="/$"){if(e===0)break;e--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||e++;n=a}while(n)}function ir(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":ir(n),Yn(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function Op(e,t,n,a){for(;e.nodeType===1;){var l=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!a&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(a){if(!e[ct])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(i=e.getAttribute("rel"),i==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(i!==l.rel||e.getAttribute("href")!==(l.href==null||l.href===""?null:l.href)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin)||e.getAttribute("title")!==(l.title==null?null:l.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(i=e.getAttribute("src"),(i!==(l.src==null?null:l.src)||e.getAttribute("type")!==(l.type==null?null:l.type)||e.getAttribute("crossorigin")!==(l.crossOrigin==null?null:l.crossOrigin))&&i&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var i=l.name==null?null:""+l.name;if(l.type==="hidden"&&e.getAttribute("name")===i)return e}else return e;if(e=Wn(e.nextSibling),e===null)break}return null}function zp(e,t,n){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Wn(e.nextSibling),e===null))return null;return e}function Qf(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 cr(e){return e.data==="$?"||e.data==="$~"}function ur(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function _p(e,t){var n=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||n.readyState!=="loading")t();else{var a=function(){t(),n.removeEventListener("DOMContentLoaded",a)};n.addEventListener("DOMContentLoaded",a),e._reactRetry=a}}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 rr=null;function Zf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"||n==="/&"){if(t===0)return Wn(e.nextSibling);t--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||t++}e=e.nextSibling}return null}function Kf(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(t===0)return e;t--}else n!=="/$"&&n!=="/&"||t++}e=e.previousSibling}return null}function Vf(e,t,n){switch(t=nc(n),e){case"html":if(e=t.documentElement,!e)throw Error(o(452));return e;case"head":if(e=t.head,!e)throw Error(o(453));return e;case"body":if(e=t.body,!e)throw Error(o(454));return e;default:throw Error(o(451))}}function Fs(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Yn(e)}var Fn=new Map,Jf=new Set;function ac(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Qa=Z.d;Z.d={f:Mp,r:Up,D:Hp,C:Lp,L:qp,m:Bp,X:Yp,S:Gp,M:$p};function Mp(){var e=Qa.f(),t=Ki();return e||t}function Up(e){var t=rn(e);t!==null&&t.tag===5&&t.type==="form"?fd(t):Qa.r(e)}var ys=typeof document>"u"?null:document;function Wf(e,t,n){var a=ys;if(a&&typeof t=="string"&&t){var l=Kt(t);l='link[rel="'+e+'"][href="'+l+'"]',typeof n=="string"&&(l+='[crossorigin="'+n+'"]'),Jf.has(l)||(Jf.add(l),e={rel:e,crossOrigin:n,href:t},a.querySelector(l)===null&&(t=a.createElement("link"),Pt(t,"link",e),Ue(t),a.head.appendChild(t)))}}function Hp(e){Qa.D(e),Wf("dns-prefetch",e,null)}function Lp(e,t){Qa.C(e,t),Wf("preconnect",e,t)}function qp(e,t,n){Qa.L(e,t,n);var a=ys;if(a&&e&&t){var l='link[rel="preload"][as="'+Kt(t)+'"]';t==="image"&&n&&n.imageSrcSet?(l+='[imagesrcset="'+Kt(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(l+='[imagesizes="'+Kt(n.imageSizes)+'"]')):l+='[href="'+Kt(e)+'"]';var i=l;switch(t){case"style":i=bs(e);break;case"script":i=xs(e)}Fn.has(i)||(e=$({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Fn.set(i,e),a.querySelector(l)!==null||t==="style"&&a.querySelector(Ps(i))||t==="script"&&a.querySelector(ei(i))||(t=a.createElement("link"),Pt(t,"link",e),Ue(t),a.head.appendChild(t)))}}function Bp(e,t){Qa.m(e,t);var n=ys;if(n&&e){var a=t&&typeof t.as=="string"?t.as:"script",l='link[rel="modulepreload"][as="'+Kt(a)+'"][href="'+Kt(e)+'"]',i=l;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=xs(e)}if(!Fn.has(i)&&(e=$({rel:"modulepreload",href:e},t),Fn.set(i,e),n.querySelector(l)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(ei(i)))return}a=n.createElement("link"),Pt(a,"link",e),Ue(a),n.head.appendChild(a)}}}function Gp(e,t,n){Qa.S(e,t,n);var a=ys;if(a&&e){var l=on(a).hoistableStyles,i=bs(e);t=t||"default";var r=l.get(i);if(!r){var d={loading:0,preload:null};if(r=a.querySelector(Ps(i)))d.loading=5;else{e=$({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Fn.get(i))&&or(e,n);var g=r=a.createElement("link");Ue(g),Pt(g,"link",e),g._p=new Promise(function(E,z){g.onload=E,g.onerror=z}),g.addEventListener("load",function(){d.loading|=1}),g.addEventListener("error",function(){d.loading|=2}),d.loading|=4,lc(r,t,a)}r={type:"stylesheet",instance:r,count:1,state:d},l.set(i,r)}}}function Yp(e,t){Qa.X(e,t);var n=ys;if(n&&e){var a=on(n).hoistableScripts,l=xs(e),i=a.get(l);i||(i=n.querySelector(ei(l)),i||(e=$({src:e,async:!0},t),(t=Fn.get(l))&&dr(e,t),i=n.createElement("script"),Ue(i),Pt(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function $p(e,t){Qa.M(e,t);var n=ys;if(n&&e){var a=on(n).hoistableScripts,l=xs(e),i=a.get(l);i||(i=n.querySelector(ei(l)),i||(e=$({src:e,async:!0,type:"module"},t),(t=Fn.get(l))&&dr(e,t),i=n.createElement("script"),Ue(i),Pt(i,"link",e),n.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},a.set(l,i))}}function Ff(e,t,n,a){var l=(l=oe.current)?ac(l):null;if(!l)throw Error(o(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=bs(n.href),n=on(l).hoistableStyles,a=n.get(t),a||(a={type:"style",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=bs(n.href);var i=on(l).hoistableStyles,r=i.get(e);if(r||(l=l.ownerDocument||l,r={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,r),(i=l.querySelector(Ps(e)))&&!i._p&&(r.instance=i,r.state.loading=5),Fn.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Fn.set(e,n),i||Ip(l,e,n,r.state))),t&&a===null)throw Error(o(528,""));return r}if(t&&a!==null)throw Error(o(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=xs(n),n=on(l).hoistableScripts,a=n.get(t),a||(a={type:"script",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,e))}}function bs(e){return'href="'+Kt(e)+'"'}function Ps(e){return'link[rel="stylesheet"]['+e+"]"}function Pf(e){return $({},e,{"data-precedence":e.precedence,precedence:null})}function Ip(e,t,n,a){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=e.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),Pt(t,"link",n),Ue(t),e.head.appendChild(t))}function xs(e){return'[src="'+Kt(e)+'"]'}function ei(e){return"script[async]"+e}function em(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var a=e.querySelector('style[data-href~="'+Kt(n.href)+'"]');if(a)return t.instance=a,Ue(a),a;var l=$({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return a=(e.ownerDocument||e).createElement("style"),Ue(a),Pt(a,"style",l),lc(a,n.precedence,e),t.instance=a;case"stylesheet":l=bs(n.href);var i=e.querySelector(Ps(l));if(i)return t.state.loading|=4,t.instance=i,Ue(i),i;a=Pf(n),(l=Fn.get(l))&&or(a,l),i=(e.ownerDocument||e).createElement("link"),Ue(i);var r=i;return r._p=new Promise(function(d,g){r.onload=d,r.onerror=g}),Pt(i,"link",a),t.state.loading|=4,lc(i,n.precedence,e),t.instance=i;case"script":return i=xs(n.src),(l=e.querySelector(ei(i)))?(t.instance=l,Ue(l),l):(a=n,(l=Fn.get(i))&&(a=$({},n),dr(a,l)),e=e.ownerDocument||e,l=e.createElement("script"),Ue(l),Pt(l,"link",a),e.head.appendChild(l),t.instance=l);case"void":return null;default:throw Error(o(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,lc(a,n.precedence,e));return t.instance}function lc(e,t,n){for(var a=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),l=a.length?a[a.length-1]:null,i=l,r=0;r<a.length;r++){var d=a[r];if(d.dataset.precedence===t)i=d;else if(i!==l)break}i?i.parentNode.insertBefore(e,i.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function or(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function dr(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var sc=null;function tm(e,t,n){if(sc===null){var a=new Map,l=sc=new Map;l.set(n,a)}else l=sc,a=l.get(n),a||(a=new Map,l.set(n,a));if(a.has(e))return a;for(a.set(e,null),n=n.getElementsByTagName(e),l=0;l<n.length;l++){var i=n[l];if(!(i[ct]||i[ft]||e==="link"&&i.getAttribute("rel")==="stylesheet")&&i.namespaceURI!=="http://www.w3.org/2000/svg"){var r=i.getAttribute(t)||"";r=e+r;var d=a.get(r);d?d.push(i):a.set(r,[i])}}return a}function nm(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function Xp(e,t,n){if(n===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 am(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Qp(e,t,n,a){if(n.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var l=bs(a.href),i=t.querySelector(Ps(l));if(i){t=i._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=ic.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=i,Ue(i);return}i=t.ownerDocument||t,a=Pf(a),(l=Fn.get(l))&&or(a,l),i=i.createElement("link"),Ue(i);var r=i;r._p=new Promise(function(d,g){r.onload=d,r.onerror=g}),Pt(i,"link",a),n.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=ic.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var fr=0;function Zp(e,t){return e.stylesheets&&e.count===0&&uc(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var a=setTimeout(function(){if(e.stylesheets&&uc(e,e.stylesheets),e.unsuspend){var i=e.unsuspend;e.unsuspend=null,i()}},6e4+t);0<e.imgBytes&&fr===0&&(fr=62500*Ap());var l=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&uc(e,e.stylesheets),e.unsuspend)){var i=e.unsuspend;e.unsuspend=null,i()}},(e.imgBytes>fr?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(a),clearTimeout(l)}}:null}function ic(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)uc(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var cc=null;function uc(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,cc=new Map,t.forEach(Kp,e),cc=null,ic.call(e))}function Kp(e,t){if(!(t.state.loading&4)){var n=cc.get(e);if(n)var a=n.get(null);else{n=new Map,cc.set(e,n);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i<l.length;i++){var r=l[i];(r.nodeName==="LINK"||r.getAttribute("media")!=="not all")&&(n.set(r.dataset.precedence,r),a=r)}a&&n.set(null,a)}l=t.instance,r=l.getAttribute("data-precedence"),i=n.get(r)||a,i===a&&n.set(null,l),n.set(r,l),this.count++,a=ic.bind(this),l.addEventListener("load",a),l.addEventListener("error",a),i?i.parentNode.insertBefore(l,i.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(l,e.firstChild)),t.state.loading|=4}}var ti={$$typeof:_e,Provider:null,Consumer:null,_currentValue:W,_currentValue2:W,_threadCount:0};function Vp(e,t,n,a,l,i,r,d,g){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=be(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=be(0),this.hiddenUpdates=be(null),this.identifierPrefix=a,this.onUncaughtError=l,this.onCaughtError=i,this.onRecoverableError=r,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=g,this.incompleteTransitions=new Map}function lm(e,t,n,a,l,i,r,d,g,E,z,L){return e=new Vp(e,t,n,r,g,E,z,L,d),t=1,i===!0&&(t|=24),i=_n(3,null,null,t),e.current=i,i.stateNode=e,t=Xc(),t.refCount++,e.pooledCache=t,t.refCount++,i.memoizedState={element:a,isDehydrated:n,cache:t},Vc(i),e}function sm(e){return e?(e=Wl,e):Wl}function im(e,t,n,a,l,i){l=sm(l),a.context===null?a.context=l:a.pendingContext=l,a=sl(t),a.payload={element:n},i=i===void 0?null:i,i!==null&&(a.callback=i),n=il(e,a,t),n!==null&&(jn(n,e,t),zs(n,e,t))}function cm(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function mr(e,t){cm(e,t),(e=e.alternate)&&cm(e,t)}function um(e){if(e.tag===13||e.tag===31){var t=Dl(e,67108864);t!==null&&jn(t,e,67108864),mr(e,67108864)}}function rm(e){if(e.tag===13||e.tag===31){var t=qn();t=Cn(t);var n=Dl(e,t);n!==null&&jn(n,e,t),mr(e,t)}}var rc=!0;function Jp(e,t,n,a){var l=O.T;O.T=null;var i=Z.p;try{Z.p=2,hr(e,t,n,a)}finally{Z.p=i,O.T=l}}function Wp(e,t,n,a){var l=O.T;O.T=null;var i=Z.p;try{Z.p=8,hr(e,t,n,a)}finally{Z.p=i,O.T=l}}function hr(e,t,n,a){if(rc){var l=pr(a);if(l===null)er(e,t,a,oc,n),dm(e,a);else if(Pp(l,e,t,n,a))a.stopPropagation();else if(dm(e,a),t&4&&-1<Fp.indexOf(e)){for(;l!==null;){var i=rn(l);if(i!==null)switch(i.tag){case 3:if(i=i.stateNode,i.current.memoizedState.isDehydrated){var r=zt(i.pendingLanes);if(r!==0){var d=i;for(d.pendingLanes|=2,d.entangledLanes|=2;r;){var g=1<<31-Yt(r);d.entanglements[1]|=g,r&=~g}xa(i),(Ze&6)===0&&(Qi=Gt()+500,Vs(0))}}break;case 31:case 13:d=Dl(i,2),d!==null&&jn(d,i,2),Ki(),mr(i,2)}if(i=pr(a),i===null&&er(e,t,a,oc,n),i===l)break;l=i}l!==null&&a.stopPropagation()}else er(e,t,a,null,n)}}function pr(e){return e=Qe(e),vr(e)}var oc=null;function vr(e){if(oc=null,e=Rt(e),e!==null){var t=j(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=x(t),e!==null)return e;e=null}else if(n===31){if(e=k(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return oc=e,null}function om(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(ea()){case Sa:return 2;case ra:return 8;case Na:case Sl:return 32;case St:return 268435456;default:return 32}default:return 32}}var gr=!1,gl=null,yl=null,bl=null,ni=new Map,ai=new Map,xl=[],Fp="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 dm(e,t){switch(e){case"focusin":case"focusout":gl=null;break;case"dragenter":case"dragleave":yl=null;break;case"mouseover":case"mouseout":bl=null;break;case"pointerover":case"pointerout":ni.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ai.delete(t.pointerId)}}function li(e,t,n,a,l,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:a,nativeEvent:i,targetContainers:[l]},t!==null&&(t=rn(t),t!==null&&um(t)),e):(e.eventSystemFlags|=a,t=e.targetContainers,l!==null&&t.indexOf(l)===-1&&t.push(l),e)}function Pp(e,t,n,a,l){switch(t){case"focusin":return gl=li(gl,e,t,n,a,l),!0;case"dragenter":return yl=li(yl,e,t,n,a,l),!0;case"mouseover":return bl=li(bl,e,t,n,a,l),!0;case"pointerover":var i=l.pointerId;return ni.set(i,li(ni.get(i)||null,e,t,n,a,l)),!0;case"gotpointercapture":return i=l.pointerId,ai.set(i,li(ai.get(i)||null,e,t,n,a,l)),!0}return!1}function fm(e){var t=Rt(e.target);if(t!==null){var n=j(t);if(n!==null){if(t=n.tag,t===13){if(t=x(n),t!==null){e.blockedOn=t,En(e.priority,function(){rm(n)});return}}else if(t===31){if(t=k(n),t!==null){e.blockedOn=t,En(e.priority,function(){rm(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function dc(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=pr(e.nativeEvent);if(n===null){n=e.nativeEvent;var a=new n.constructor(n.type,n);Je=a,n.target.dispatchEvent(a),Je=null}else return t=rn(n),t!==null&&um(t),e.blockedOn=n,!1;t.shift()}return!0}function mm(e,t,n){dc(e)&&n.delete(t)}function ev(){gr=!1,gl!==null&&dc(gl)&&(gl=null),yl!==null&&dc(yl)&&(yl=null),bl!==null&&dc(bl)&&(bl=null),ni.forEach(mm),ai.forEach(mm)}function fc(e,t){e.blockedOn===t&&(e.blockedOn=null,gr||(gr=!0,c.unstable_scheduleCallback(c.unstable_NormalPriority,ev)))}var mc=null;function hm(e){mc!==e&&(mc=e,c.unstable_scheduleCallback(c.unstable_NormalPriority,function(){mc===e&&(mc=null);for(var t=0;t<e.length;t+=3){var n=e[t],a=e[t+1],l=e[t+2];if(typeof a!="function"){if(vr(a||n)===null)continue;break}var i=rn(n);i!==null&&(e.splice(t,3),t-=3,pu(i,{pending:!0,data:l,method:n.method,action:a},a,l))}}))}function js(e){function t(g){return fc(g,e)}gl!==null&&fc(gl,e),yl!==null&&fc(yl,e),bl!==null&&fc(bl,e),ni.forEach(t),ai.forEach(t);for(var n=0;n<xl.length;n++){var a=xl[n];a.blockedOn===e&&(a.blockedOn=null)}for(;0<xl.length&&(n=xl[0],n.blockedOn===null);)fm(n),n.blockedOn===null&&xl.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(a=0;a<n.length;a+=3){var l=n[a],i=n[a+1],r=l[me]||null;if(typeof i=="function")r||hm(n);else if(r){var d=null;if(i&&i.hasAttribute("formAction")){if(l=i,r=i[me]||null)d=r.formAction;else if(vr(l)!==null)continue}else d=r.action;typeof d=="function"?n[a+1]=d:(n.splice(a,3),a-=3),hm(n)}}}function pm(){function e(i){i.canIntercept&&i.info==="react-transition"&&i.intercept({handler:function(){return new Promise(function(r){return l=r})},focusReset:"manual",scroll:"manual"})}function t(){l!==null&&(l(),l=null),a||setTimeout(n,20)}function n(){if(!a&&!navigation.transition){var i=navigation.currentEntry;i&&i.url!=null&&navigation.navigate(i.url,{state:i.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var a=!1,l=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){a=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),l!==null&&(l(),l=null)}}}function yr(e){this._internalRoot=e}hc.prototype.render=yr.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(o(409));var n=t.current,a=qn();im(n,a,e,t,null,null)},hc.prototype.unmount=yr.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;im(e.current,2,null,e,null,null),Ki(),t[en]=null}};function hc(e){this._internalRoot=e}hc.prototype.unstable_scheduleHydration=function(e){if(e){var t=Aa();e={blockedOn:null,target:e,priority:t};for(var n=0;n<xl.length&&t!==0&&t<xl[n].priority;n++);xl.splice(n,0,e),n===0&&fm(e)}};var vm=u.version;if(vm!=="19.2.8")throw Error(o(527,vm,"19.2.8"));Z.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(o(188)):(e=Object.keys(e).join(","),Error(o(268,e)));return e=R(t),e=e!==null?Y(e):null,e=e===null?null:e.stateNode,e};var tv={bundleType:0,version:"19.2.8",rendererPackageName:"react-dom",currentDispatcherRef:O,reconcilerVersion:"19.2.8"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var pc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!pc.isDisabled&&pc.supportsFiber)try{Xt=pc.inject(tv),te=pc}catch{}}return ii.createRoot=function(e,t){if(!h(e))throw Error(o(299));var n=!1,a="",l=Sd,i=Nd,r=Td;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(a=t.identifierPrefix),t.onUncaughtError!==void 0&&(l=t.onUncaughtError),t.onCaughtError!==void 0&&(i=t.onCaughtError),t.onRecoverableError!==void 0&&(r=t.onRecoverableError)),t=lm(e,1,!1,null,null,n,a,null,l,i,r,pm),e[en]=t.current,Pu(e),new yr(t)},ii.hydrateRoot=function(e,t,n){if(!h(e))throw Error(o(299));var a=!1,l="",i=Sd,r=Nd,d=Td,g=null;return n!=null&&(n.unstable_strictMode===!0&&(a=!0),n.identifierPrefix!==void 0&&(l=n.identifierPrefix),n.onUncaughtError!==void 0&&(i=n.onUncaughtError),n.onCaughtError!==void 0&&(r=n.onCaughtError),n.onRecoverableError!==void 0&&(d=n.onRecoverableError),n.formState!==void 0&&(g=n.formState)),t=lm(e,1,!0,t,n??null,a,l,g,i,r,d,pm),t.context=sm(null),n=t.current,a=qn(),a=Cn(a),l=sl(a),l.callback=null,il(n,l,a),n=a,t.current.lanes=n,pn(t,n),xa(t),e[en]=t.current,Pu(e),new hc(t)},ii.version="19.2.8",ii}var Em;function dv(){if(Em)return jr.exports;Em=1;function c(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(c)}catch(u){console.error(u)}}return c(),jr.exports=ov(),jr.exports}var fv=dv();function $l(c){if(c==null)return null;if(typeof c=="string")return c.trim()||null;if(typeof c=="number"||typeof c=="boolean")return String(c);if(typeof c=="object"){const u=c;if(typeof u.text=="string"&&u.text.trim())return u.text.trim();if(typeof u.errorMessage=="string"&&u.errorMessage.trim())return u.errorMessage.trim();if(Array.isArray(u.content)){const f=u.content.map(o=>{if(typeof o=="string")return o;if(o&&typeof o=="object"){const h=o;if(typeof h.text=="string")return h.text}return""}).filter(Boolean);if(f.length)return f.join(`
|
|
10
|
+
`).slice(0,240)}if(typeof u.role=="string")return`${u.role} 消息`}return null}function mv(c){const u=$l(c.at)??$l(c.timestamp)??$l(c.recordedAt)??"",f=$l(c.errorMessage)??$l(c.label)??$l(c.type)??$l(c.message)??"运行事件";return u?`${u} · ${f}`:f}function di(c){return String(c.nodeId??c.id??"").trim()}function Cr(c){const u=di(c);return String(c.label??c.name??(u||"未命名节点"))}function Am(c,u){if(c.length===0)return;const f=u?.trim();if(f){const j=c.find(x=>di(x)===f);if(j)return j}const o=c.find(j=>{const x=String(j.status??"").toLowerCase();return x.includes("fail")||x.includes("error")||x==="blocked"});return o||(c.find(j=>{const x=String(j.status??"").toLowerCase();return x==="running"||x==="in_progress"||x==="active"})??c[0])}function hv({dagRunId:c,nodeId:u,onClose:f,onOpenFull:o}){const h=p.useRef(null),[j,x]=p.useState(null),[k,M]=p.useState([]),[R,Y]=p.useState(null),[$,ee]=p.useState(!0);p.useEffect(()=>{h.current?.focus();const de=Ce=>{Ce.key==="Escape"&&f()};return document.addEventListener("keydown",de),document.title=`检视 · DAG ${c} · Loop Operator`,()=>document.removeEventListener("keydown",de)},[c,f]),p.useEffect(()=>{const de=new AbortController;return ee(!0),Y(null),M([]),(async()=>{try{const Ce=await fetch(`/api/dag-runs/${encodeURIComponent(c)}`,{signal:de.signal,credentials:"same-origin"});if(!Ce.ok)throw new Error(`DAG 查询失败(HTTP ${Ce.status})`);const _e=await Ce.json();if(de.signal.aborted)return;x(_e);const vt=Array.isArray(_e.nodes)?_e.nodes:[],gt=Am(vt,u),ve=gt?di(gt):u?.trim();if(ve){const re=await fetch(`/api/dag-runs/${encodeURIComponent(c)}/nodes/${encodeURIComponent(ve)}/session-events`,{signal:de.signal,credentials:"same-origin"});if(re.ok){const ie=await re.json();de.signal.aborted||M((ie.events??[]).slice(-20))}}}catch(Ce){de.signal.aborted||Y(Ce instanceof Error?Ce.message:String(Ce))}finally{de.signal.aborted||ee(!1)}})(),()=>de.abort()},[c,u]);const I=p.useMemo(()=>Array.isArray(j?.nodes)?j.nodes:[],[j]),le=Am(I,u),ce=le?di(le):"",ot=String(j?.effectiveStatus??j?.status??($?"加载中…":"未知"));return s.jsxs("aside",{className:"inspect-split-panel","aria-label":"DAG 紧凑检视",children:[s.jsxs("div",{className:"inspect-split-header",children:[s.jsxs("div",{children:[s.jsx("p",{className:"inspect-split-kicker",children:"Inspect"}),s.jsx("h2",{children:"检视 DAG"})]}),s.jsx("button",{ref:h,type:"button","aria-label":"关闭检视面板",onClick:f,children:"关闭"})]}),s.jsx("p",{className:"inspect-split-id",children:s.jsx("code",{children:c})}),R?s.jsx("p",{className:"error",children:R}):null,$&&!j?s.jsx("p",{className:"muted",children:"正在加载 DAG…"}):null,s.jsxs("dl",{className:"inspect-split-facts",children:[s.jsxs("div",{children:[s.jsx("dt",{children:"状态"}),s.jsx("dd",{children:ot})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"当前节点"}),s.jsx("dd",{children:le?Cr(le):"暂无节点"})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"节点状态"}),s.jsx("dd",{children:le?.status??"—"})]}),le?.errorPreview?s.jsxs("div",{children:[s.jsx("dt",{children:"错误摘要"}),s.jsx("dd",{children:le.errorPreview})]}):null]}),s.jsxs("section",{children:[s.jsxs("h3",{children:["节点(",I.length,")"]}),I.length?s.jsx("ul",{className:"inspect-split-nodes",children:I.slice(0,24).map(de=>{const Ce=di(de)||Cr(de),_e=Ce===ce;return s.jsxs("li",{"data-active":_e?"true":void 0,className:_e?"is-active":void 0,children:[s.jsx("span",{children:Cr(de)}),s.jsx("code",{children:de.status??"—"})]},Ce)})}):s.jsx("p",{className:"muted",children:$?"加载节点中…":"该运行暂无节点。"})]}),s.jsxs("section",{children:[s.jsxs("h3",{children:["最近事件",ce?` · ${ce}`:""]}),k.length?s.jsx("ul",{className:"inspect-split-events",children:k.map((de,Ce)=>s.jsx("li",{children:mv(de)},`${de.at??Ce}-${Ce}`))}):s.jsx("p",{className:"muted",children:$?"加载事件中…":"节点事件将在可用时显示。"})]}),s.jsx("button",{type:"button",className:"btn btn-secondary",onClick:o,children:"全屏观测"}),s.jsx("p",{className:"muted",children:"全屏后点顶栏「返回操作台」可回来。"})]})}function vc(c){return!c||typeof c!="object"||Array.isArray(c)?null:c}function Ot(c,u){const f=c[u];return typeof f=="string"&&f.trim()?f.trim():void 0}function km(c,u){const f=c[u];if(!Array.isArray(f))return;const o=f.filter(h=>typeof h=="string");return o.length>0?o:void 0}function pv(c){const u=vc(c);if(!u)return null;const f=vc(u.result),o=[vc(u.reviewPacket),f?vc(f.reviewPacket):null,f,u].filter(Boolean);for(const h of o){const j=Ot(h,"scheduleId")??Ot(h,"id"),x=Ot(h,"gateToken")??Ot(h,"approveGate")??Ot(h,"writeSetGateToken");if(!(!j||!x))return{scheduleId:j,gateToken:x,...Ot(h,"featureId")?{featureId:Ot(h,"featureId")}:{},...Ot(h,"taskId")?{taskId:Ot(h,"taskId")}:{},...km(h,"writeSet")?{writeSet:km(h,"writeSet")}:{},...Ot(h,"worktreePath")?{worktreePath:Ot(h,"worktreePath")}:{},...Ot(h,"branch")?{branch:Ot(h,"branch")}:{},...Ot(h,"baseBranch")?{baseBranch:Ot(h,"baseBranch")}:{},...Ot(h,"baseCommit")?{baseCommit:Ot(h,"baseCommit")}:{},...Ot(h,"executeAtUtc")?{executeAtUtc:Ot(h,"executeAtUtc")}:{},...Ot(h,"taskCard")?{taskCard:Ot(h,"taskCard")}:{}}}return null}function Rm(c){return`docs/features/${c.trim().replace(/^\/+|\/+$/g,"")}`}function vv(c){const u=c.trim(),f=/^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2})/.exec(u);return f?`${f[1]} ${f[2]}`:null}function Dm(){const c=new Date;c.setHours(20,0,0,0);const u=f=>String(f).padStart(2,"0");return`${c.getFullYear()}-${u(c.getMonth()+1)}-${u(c.getDate())}T${u(c.getHours())}:${u(c.getMinutes())}`}function wm(c){if(!c)return"—";const u=Date.parse(c);if(Number.isNaN(u))return c;try{return new Intl.DateTimeFormat("zh-CN",{dateStyle:"short",timeStyle:"short",timeZone:"Asia/Shanghai"}).format(new Date(u))}catch{return c}}function gv(c){return c.mergeState==="pending-harvest"||/\bscheduler harvest\b/i.test(c.nextAction)}function yv(c){return c.status==="failed"||c.status==="human_required"||c.status==="cancelled"||/\bscheduler discard\b/i.test(c.nextAction)}function gc(c){return c==="failed"||c==="human_required"}function bv(c){return`${c}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}function xv(){return window.__CONSOLE_CONFIRMATION_TOKEN__??""}function Om(c){return{submitted:"已提交",validating:"校验中",validated:"待预约确认",scheduled:"已预约",waiting:"等待触发",dispatching:"派发中",running:"执行中",succeeded:"成功",failed:"失败",human_required:"需人工",cancelled:"已取消",rejected:"已拒绝",cancel_requested:"取消中"}[c]??c}function jv({busy:c,runAction:u,isActionSuccess:f,setOpError:o}){const[h,j]=p.useState(null),[x,k]=p.useState(null),[M,R]=p.useState([]),[Y,$]=p.useState(null),[ee,I]=p.useState(!1),[le,ce]=p.useState(!1),[ot,de]=p.useState("pick"),[Ce,_e]=p.useState(""),[vt,gt]=p.useState(Dm),[ve,re]=p.useState(""),[ie,Pe]=p.useState(null),[Ie,yt]=p.useState(""),[qe,dt]=p.useState(null),[Xe,Nt]=p.useState(!1),[O,Z]=p.useState(null),[W,Se]=p.useState(null),[Ne,y]=p.useState(!1),T=p.useMemo(()=>{const q=M.filter(ye=>typeof ye.featureId=="string"&&ye.featureId.trim()&&ye.taskId);return q.sort((ye,tt)=>{const Ve=ye.featureId??"",kt=tt.featureId??"";return Ve!==kt?Ve.localeCompare(kt):ye.taskId.localeCompare(tt.taskId)}),q},[M]),X=p.useMemo(()=>Ce?T.find(q=>`${q.featureId}::${q.taskId}`===Ce)??null:null,[T,Ce]),J=X?.featureId?Rm(X.featureId):"",ne=p.useCallback(async()=>{I(!0),$(null);try{const[q,ye,tt,Ve]=await Promise.all([fetch("/api/night-jobs",{credentials:"same-origin"}),fetch("/api/night-jobs/doctor",{credentials:"same-origin"}),fetch("/api/tasks",{credentials:"same-origin"}),fetch("/api/operator/v1/night-aux-ticker",{credentials:"same-origin"})]);if(!q.ok)throw new Error(`加载计划列表失败(HTTP ${q.status})`);const kt=await q.json();if(j(kt),ye.ok?k(await ye.json()):k(null),tt.ok){const Tt=await tt.json();R(Array.isArray(Tt)?Tt:[])}else R([]);if(Ve.ok){const Tt=await Ve.json();Tt.ticker&&Se(Tt.ticker)}}catch(q){$(q instanceof Error?q.message:String(q))}finally{I(!1)}},[]);p.useEffect(()=>{ne()},[ne]);const oe=p.useCallback(async(q,ye,tt)=>{const Ve=await u("prepareMutationGate",{action:q,actionParams:ye});if(!f(Ve))return;const kt=Ve?.result??Ve,Tt=kt.receiptId?kt:kt.result??kt;if(!Tt.receiptId||!Tt.humanGateToken){o("prepareMutationGate 未返回可消费的 Human Gate receipt");return}return u(q,{...ye,confirmationId:Tt.receiptId,humanGateToken:Tt.humanGateToken},{clientRequestId:bv(tt)})},[f,u,o]),Ee=p.useCallback(async()=>{if(!X?.featureId){o("请先点选 Feature / Task");return}const q=vv(vt);if(!q){o("执行时间格式无效,请使用日期时间选择器");return}const ye={featureDir:Rm(X.featureId),taskId:X.taskId,at:q,tz:"Asia/Shanghai",...ve.trim()?{taskCard:ve.trim()}:{}},tt=await oe("workerAdmissionPrepare",ye,"night-prepare");if(!f(tt))return;const Ve=pv(tt?.result??tt);if(!Ve){o("准备成功但未解析到 scheduleId / gateToken。请刷新后重试,或查看 Inspect。");return}Pe(Ve),de("review")},[f,vt,oe,X,o,ve]),Be=p.useCallback(async()=>{if(!ie)return;const q=await oe("workerSchedulerAdd",{scheduleId:ie.scheduleId,approveGate:ie.gateToken},"night-add");f(q)&&(Pe(null),de("pick"),_e(""),re(""),gt(Dm()),await ne())},[f,ne,ie,oe]),et=p.useCallback(()=>{de("pick"),Pe(null)},[]),Bt=p.useCallback(async q=>{const ye=await oe("workerSchedulerHarvest",{scheduleId:q.scheduleId},"night-harvest");f(ye)&&await ne()},[f,ne,oe]),Sn=p.useCallback(async()=>{if(!qe)return;const q=Ie.trim()||"discard from console night workbench",ye=gc(qe.status),tt=await oe("workerSchedulerDiscard",{scheduleId:qe.scheduleId,reason:q,...ye||Xe?{force:!0}:{}},"night-discard");f(tt)&&(dt(null),yt(""),Nt(!1),await ne())},[Ie,qe,Xe,f,ne,oe]),ua=p.useCallback(async q=>{y(!0);try{const ye=await fetch("/api/operator/v1/night-aux-ticker",{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json","X-Loop-Console-Confirmation":xv()},body:JSON.stringify({enabled:q})}),tt=await ye.json();if(!ye.ok||tt.ok===!1||!tt.ticker){o(tt.error?.message??`切换前台辅助 ticker 失败(HTTP ${ye.status})`);return}Se(tt.ticker)}catch(ye){o(ye instanceof Error?ye.message:String(ye))}finally{y(!1)}},[o]),Nn=p.useCallback(async()=>{try{const q=await fetch("/api/night-jobs/morning",{credentials:"same-origin"});if(!q.ok){o(`早晨报告加载失败(HTTP ${q.status})`);return}const ye=await q.json();Z(JSON.stringify(ye,null,2).slice(0,4e3)),ce(!0)}catch(q){o(q instanceof Error?q.message:String(q))}},[o]),It=(x?.findings??[]).filter(q=>q.severity==="error"||q.severity==="warning"),Ke=(x?.findings??[]).find(q=>/clock/i.test(q.code)||/clock/i.test(q.message));return s.jsxs("section",{className:"panel night-workbench","aria-labelledby":"night-title","data-testid":"night-jobs-panel",children:[s.jsx("h2",{id:"night-title",children:"夜间任务"}),s.jsx("p",{className:"panel-lead",children:"白天点选任务并预约;列表查看状态;早晨在行内收成或丢弃。写操作仍经 Human Gate,列表复用 Inspect 投影。"}),s.jsxs("div",{className:"night-health","data-testid":"night-health-bar",children:[s.jsxs("div",{className:"night-health-main",children:[s.jsx("span",{className:`night-health-pill${x?.ok===!1?" is-bad":""}`,children:x?.ok===!1?"Scheduler 异常":"Scheduler 健康"}),s.jsxs("span",{className:"muted",children:["计划 ",x?.scheduleCount??h?.summary.total??"—"," · 活动"," ",x?.activeCount??h?.summary.active??"—"]})]}),Ke?s.jsxs("p",{className:"muted night-health-hint","data-testid":"night-clock-hint",children:["时钟:",Ke.message,"(安装/启停请用 CLI:",s.jsx("code",{children:"agent-worker scheduler clock status --repo ."}),")"]}):s.jsxs("p",{className:"muted night-health-hint",children:["到点执行依赖本机 clock / tick,不在此面板安装。详见"," ",s.jsx("a",{className:"external-link",href:"/inspect/#/night",children:"/inspect/#/night"})]}),s.jsxs("div",{className:"night-aux-ticker","data-testid":"night-aux-ticker",children:[s.jsxs("label",{className:"field checkbox-field",children:[s.jsx("input",{type:"checkbox","data-testid":"night-aux-ticker-toggle",checked:W?.enabled===!0,disabled:c||Ne||!W,onChange:q=>{ua(q.target.checked)}}),s.jsxs("span",{children:["开着 Console 时辅助 tick(每 ",W?.intervalSec??60,"s)"]})]}),s.jsx("p",{className:"muted night-health-hint","data-testid":"night-aux-ticker-disclaimer",children:W?.disclaimer??"仅在本 Console 进程开着时有效;过夜无人值守仍需 OS clock。"}),W?.lastOutcome?s.jsxs("p",{className:"muted","data-testid":"night-aux-ticker-last",children:["上次:",W.lastOutcome,W.running?"(进行中)":"",W.lastSummary?` · ${W.lastSummary}`:"",W.lastError?` · ${W.lastError}`:""]}):null]}),It.length>0?s.jsx("ul",{className:"night-doctor-list","data-testid":"night-doctor-findings",children:It.slice(0,4).map(q=>s.jsxs("li",{children:[s.jsx("strong",{children:q.severity})," ",q.message]},`${q.code}-${q.scheduleId??""}-${q.message}`))}):null]}),s.jsx("div",{className:"cta-row",children:s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:c||ee,"data-testid":"night-refresh-btn",onClick:()=>{ne()},children:"刷新看板"})}),Y?s.jsx("p",{className:"error","data-testid":"night-load-error",children:Y}):null,h?s.jsxs("div",{className:"night-kpi","data-testid":"night-kpi",children:[s.jsxs("span",{children:["合计 ",h.summary.total]}),s.jsxs("span",{children:["活动 ",h.summary.active]}),s.jsxs("span",{children:["待收成 ",h.summary.pendingHarvest]}),s.jsxs("span",{children:["需人工 ",h.summary.humanRequired]}),s.jsxs("span",{children:["失败 ",h.summary.failed]})]}):null,s.jsxs("div",{className:"night-board","data-testid":"night-board",children:[s.jsx("h3",{children:"计划列表"}),!h||h.schedules.length===0?s.jsxs("div",{className:"empty-state","data-testid":"night-board-empty",children:[s.jsx("p",{className:"empty-title",children:"暂无夜间计划"}),s.jsx("p",{className:"muted",children:"用下方向导预约第一个任务。"})]}):s.jsx("ul",{className:"night-schedule-list",children:h.schedules.map(q=>s.jsxs("li",{className:"night-schedule-row","data-testid":"night-schedule-row","data-status":q.status,children:[s.jsxs("div",{className:"night-schedule-head",children:[s.jsxs("strong",{children:[q.featureId,"/",q.taskId]}),s.jsx("span",{className:"night-status-chip",children:Om(q.status)})]}),s.jsxs("p",{className:"muted",children:["执行 ",wm(q.executeAtUtc),q.mergeState?` · merge ${q.mergeState}`:"",q.taskCard?` · ${q.taskCard}`:""]}),q.waitingReason?s.jsxs("p",{className:"muted",children:["等待原因:",q.waitingReason]}):null,s.jsxs("p",{className:"muted night-next-action",children:["下一步:",q.nextAction]}),s.jsxs("div",{className:"cta-row",children:[gv(q)?s.jsx("button",{type:"button",className:"btn btn-primary",disabled:c,"data-testid":"night-row-harvest",onClick:()=>{Bt(q)},children:"Harvest"}):null,yv(q)?s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:c,"data-testid":"night-row-discard",onClick:()=>{dt(q),Nt(gc(q.status)),yt("")},children:"Discard"}):null,s.jsx("a",{className:"external-link",href:`/inspect/#/night/${encodeURIComponent(q.scheduleId)}`,children:"Inspect"})]})]},q.scheduleId))})]}),qe?s.jsxs("div",{className:"night-discard-card","data-testid":"night-discard-card",children:[s.jsx("h3",{children:"确认 Discard"}),s.jsxs("p",{className:"muted",children:[qe.featureId,"/",qe.taskId,"(",Om(qe.status),")"]}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"原因"}),s.jsx("input",{"data-testid":"night-discard-reason",value:Ie,disabled:c,placeholder:"human discard reason",onChange:q=>yt(q.target.value)})]}),gc(qe.status)?s.jsxs("label",{className:"field checkbox-field",children:[s.jsx("input",{type:"checkbox","data-testid":"night-discard-force",checked:Xe,disabled:c,onChange:q=>Nt(q.target.checked)}),s.jsx("span",{className:"muted",children:"强制 Discard(failed / human_required)"})]}):null,s.jsxs("div",{className:"cta-row",children:[s.jsx("button",{type:"button",className:"btn btn-primary",disabled:c||gc(qe.status)&&!Xe,"data-testid":"night-discard-confirm",onClick:()=>{Sn()},children:"确认 Discard"}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:c,onClick:()=>dt(null),children:"返回"})]})]}):null,s.jsxs("div",{className:"night-wizard","data-testid":"night-wizard",children:[s.jsx("h3",{children:"预约夜间任务"}),ot==="pick"?s.jsxs(s.Fragment,{children:[T.length===0?s.jsxs("div",{className:"empty-state","data-testid":"night-task-empty",children:[s.jsx("p",{className:"empty-title",children:"没有可选任务"}),s.jsx("p",{className:"muted",children:"请先在 Feature Packet / Task Pool 中创建任务,再回到此处刷新。"})]}):s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"Feature / Task"}),s.jsxs("select",{"data-testid":"night-task-select",value:Ce,disabled:c,onChange:q=>_e(q.target.value),children:[s.jsx("option",{value:"",children:"选择任务…"}),T.map(q=>{const ye=`${q.featureId}::${q.taskId}`;return s.jsxs("option",{value:ye,children:[q.featureId,"/",q.taskId,q.status?` · ${q.status}`:""]},ye)})]})]}),J?s.jsxs("p",{className:"muted","data-testid":"night-feature-dir",children:["Feature 目录:",s.jsx("code",{children:J})]}):null,s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"本地执行时间"}),s.jsx("input",{type:"datetime-local","data-testid":"night-at",value:vt,disabled:c,onChange:q=>gt(q.target.value)})]}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"任务卡片(可选)"}),s.jsx("input",{"data-testid":"night-task-card",value:ve,disabled:c,placeholder:"UCP-LOOP#11",onChange:q=>re(q.target.value)})]}),s.jsx("div",{className:"cta-row",children:s.jsx("button",{type:"button",className:"btn btn-primary",disabled:c||!Ce||!vt,"data-testid":"night-prepare-btn",onClick:()=>{Ee()},children:"准备并审阅"})})]}):s.jsxs("div",{className:"night-review-card","data-testid":"night-review-card",children:[s.jsx("p",{className:"muted",children:"请确认 writeSet 与执行环境后预约。Token 已隐藏。"}),s.jsxs("dl",{className:"kv",children:[s.jsxs("div",{children:[s.jsx("dt",{children:"Schedule"}),s.jsx("dd",{children:s.jsx("code",{children:ie?.scheduleId})})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"任务"}),s.jsxs("dd",{children:[ie?.featureId,"/",ie?.taskId]})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"执行时间 (UTC)"}),s.jsx("dd",{children:wm(ie?.executeAtUtc)})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"Worktree"}),s.jsx("dd",{children:s.jsx("code",{children:ie?.worktreePath??"—"})})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"分支"}),s.jsx("dd",{children:s.jsx("code",{children:ie?.branch??"—"})})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"Base"}),s.jsx("dd",{children:s.jsxs("code",{children:[ie?.baseBranch??"—","@",(ie?.baseCommit??"").slice(0,12)||"—"]})})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"WriteSet"}),s.jsx("dd",{children:ie?.writeSet&&ie.writeSet.length>0?s.jsx("ul",{className:"night-writeset",children:ie.writeSet.map(q=>s.jsx("li",{children:s.jsx("code",{children:q})},q))}):s.jsx("span",{className:"muted",children:"(未返回显式 writeSet)"})})]})]}),s.jsxs("div",{className:"cta-row",children:[s.jsx("button",{type:"button",className:"btn btn-primary",disabled:c||!ie,"data-testid":"night-confirm-add-btn",onClick:()=>{Be()},children:"确认预约"}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:c,"data-testid":"night-review-back-btn",onClick:et,children:"返回修改"})]})]})]}),s.jsxs("details",{className:"night-advanced","data-testid":"night-advanced",open:le,onToggle:q=>ce(q.target.open),children:[s.jsx("summary",{children:"高级 / Inspect"}),s.jsxs("p",{className:"muted",children:["只读深链:"," ",s.jsx("a",{className:"external-link",href:"/inspect/#/night",children:"/inspect/#/night"})]}),s.jsx("div",{className:"cta-row",children:s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:c,"data-testid":"night-morning-btn",onClick:()=>{Nn()},children:"早晨 night 报告"})}),O?s.jsx("pre",{className:"cmd","data-testid":"night-morning-preview",children:O}):null]})]})}function Sv(c){const u=[],f=c.split(`
|
|
11
|
+
`);let o=0,h=[];const j=()=>{const x=h.join(`
|
|
12
|
+
`).trimEnd();x&&u.push({type:"text",text:x}),h=[]};for(;o<f.length;){const x=f[o],k=x.match(/^\s*(`{3,}|~{3,})\s*([^\s`~]*)\s*$/);if(k){j();const M=k[1][0],R=(k[2]??"").trim(),Y=[];for(o+=1;o<f.length;){const $=f[o];if($.trim()===M.repeat(k[1].length)){o+=1;break}if(new RegExp(`^\\s*${M}{3,}`).test($)){o+=1;break}Y.push($),o+=1}u.push({type:"code",lang:R,text:Y.join(`
|
|
13
|
+
`)});continue}h.push(x),o+=1}return j(),u}const Nv=/(`[^`]+`)|(\*\*[^*]+\*\*)|(\*[^*]+\*|_[^_]+_)|(~~[^~]+~~)|(\[[^\]]+\]\([^)\s]+\))/;function ci(c,u){const f=[];let o=c,h=0;for(;o.length>0;){const j=Nv.exec(o);if(!j||j.index===void 0){f.push(o);break}j.index>0&&f.push(o.slice(0,j.index));const x=j[0],k=`${u}-i${h++}`;if(x.startsWith("`"))f.push(s.jsx("code",{children:x.slice(1,-1)},k));else if(x.startsWith("**"))f.push(s.jsx("strong",{children:x.slice(2,-2)},k));else if(x.startsWith("*")||x.startsWith("_"))f.push(s.jsx("em",{children:x.slice(1,-1)},k));else if(x.startsWith("~~"))f.push(s.jsx("s",{children:x.slice(2,-2)},k));else if(x.startsWith("[")){const M=x.match(/^\[([^\]]+)\]\(([^)\s]+)\)$/);M?f.push(s.jsx("a",{href:M[2],target:"_blank",rel:"noreferrer noopener",children:M[1]},k)):f.push(x)}o=o.slice(j.index+x.length)}return f}function Tv({lang:c,text:u}){const[f,o]=p.useState(!1),h=()=>{navigator.clipboard?.writeText(u).then(()=>{o(!0),window.setTimeout(()=>o(!1),1600)},()=>{})};return s.jsxs("div",{className:"oc-codeblock",children:[s.jsxs("div",{className:"oc-codeblock-head",children:[s.jsx("span",{className:"oc-codeblock-lang",children:c||"text"}),s.jsx("button",{type:"button",className:"oc-codeblock-copy",onClick:h,children:f?"已复制":"复制"})]}),s.jsx("pre",{children:s.jsx("code",{children:u})})]})}function Cv(c,u){const f=[],o=c.split(`
|
|
14
|
+
`);let h=0,j=0;for(;j<o.length;){const k=o[j].trim();if(k===""){j+=1;continue}const M=k.match(/^(#{1,4})\s+(.*)$/);if(M){const $=`h${M[1].length}`;f.push(s.jsx($,{children:ci(M[2],`${u}-h${h}`)},`${u}-h${h++}`)),j+=1;continue}if(/^(---|\*\*\*|___)\s*$/.test(k)){f.push(s.jsx("hr",{},`${u}-hr${h++}`)),j+=1;continue}if(k.startsWith(">")){const Y=[];for(;j<o.length&&o[j].trim().startsWith(">");)Y.push(o[j].trim().replace(/^>\s?/,"")),j+=1;f.push(s.jsx("blockquote",{children:Y.map(($,ee)=>s.jsx("p",{children:ci($,`${u}-bq${h}-${ee}`)},ee))},`${u}-bq${h++}`));continue}if(/^[-*+]\s+/.test(k)){const Y=[];for(;j<o.length&&/^\s*[-*+]\s+/.test(o[j]);)Y.push(o[j].trim().replace(/^[-*+]\s+/,"")),j+=1;f.push(s.jsx("ul",{children:Y.map(($,ee)=>s.jsx("li",{children:ci($,`${u}-ul${h}-${ee}`)},ee))},`${u}-ul${h++}`));continue}if(/^\d+\.\s+/.test(k)){const Y=[];for(;j<o.length&&/^\s*\d+\.\s+/.test(o[j]);)Y.push(o[j].trim().replace(/^\d+\.\s+/,"")),j+=1;f.push(s.jsx("ol",{children:Y.map(($,ee)=>s.jsx("li",{children:ci($,`${u}-ol${h}-${ee}`)},ee))},`${u}-ol${h++}`));continue}const R=[];for(;j<o.length&&o[j].trim()!==""&&!/^(#{1,4})\s+/.test(o[j].trim())&&!/^(---|\*\*\*|___)\s*$/.test(o[j].trim())&&!o[j].trim().startsWith(">")&&!/^[-*+]\s+/.test(o[j].trim())&&!/^\d+\.\s+/.test(o[j].trim());)R.push(o[j].trim()),j+=1;f.push(s.jsx("p",{children:ci(R.join(" "),`${u}-p${h}`)},`${u}-p${h++}`))}return f}function Ev({text:c}){const u=Sv(c);return s.jsx("div",{className:"oc-md",children:u.map((f,o)=>f.type==="code"?s.jsx(Tv,{lang:f.lang,text:f.text},`cb-${o}`):s.jsx("div",{children:Cv(f.text,`tx-${o}`)},`tx-${o}`))})}const Er=()=>window.__CONSOLE_CONFIRMATION_TOKEN__??"";function Av({origin:c}){const[u,f]=p.useState(null),[o,h]=p.useState(null),[j,x]=p.useState(null),[k,M]=p.useState(!1),R=async I=>{f(I),h(null),x(null);const le=I==="models"?"/api/operator/v1/pi/models-config":I==="skills"?"/api/operator/v1/chat/instruction-skills":"/api/operator/v1/pi/packages";try{const ce=await fetch(`${c}${le}`,{credentials:"include"}),ot=await ce.json();if(!ce.ok)throw new Error(ot.error?.message??"读取失败");h(ot.data)}catch(ce){x(ce instanceof Error?ce.message:String(ce))}},Y=async I=>{M(!0),x(null);try{const le=await fetch(`${c}/api/operator/v1/pi/models-config`,{method:"PATCH",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Er()},body:JSON.stringify(I)}),ce=await le.json();if(!le.ok)throw new Error(ce.error?.message??"模型配置保存失败");h(ce.data)}catch(le){x(le instanceof Error?le.message:String(le))}finally{M(!1)}},$=async(I,le)=>{M(!0),x(null);try{const ce=await fetch(`${c}/api/operator/v1/pi/models-config/test`,{method:"POST",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Er()},body:JSON.stringify({provider:I,modelId:le})}),ot=await ce.json();if(!ce.ok)throw new Error(ot.error?.message??"模型测试失败");return ot.data?.available===!0}catch(ce){return x(ce instanceof Error?ce.message:String(ce)),!1}finally{M(!1)}},ee=async(I,le)=>{const ce=o,ot=le?[...ce.disabledNames??[],I]:(ce.disabledNames??[]).filter(Ce=>Ce!==I);(await fetch(`${c}/api/operator/v1/chat/instruction-skills/preferences`,{method:"PUT",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Er()},body:JSON.stringify({disabledNames:ot})})).ok?h({...ce,disabledNames:[...new Set(ot)]}):x("偏好保存失败")};return s.jsxs("div",{className:"oc-governance",children:[s.jsxs("div",{className:"oc-governance-links",children:[s.jsx("button",{type:"button",onClick:()=>{R("models")},children:"Models"}),s.jsx("button",{type:"button",onClick:()=>{R("skills")},children:"Skills"}),s.jsx("button",{type:"button",onClick:()=>{R("packages")},children:"Packages"})]}),u&&s.jsxs("section",{className:"oc-governance-panel",children:[s.jsxs("header",{children:[s.jsx("strong",{children:u==="models"?"Models":u==="skills"?"Skills":"Packages(只读)"}),s.jsx("button",{type:"button",onClick:()=>f(null),children:"关闭"})]}),j&&s.jsx("p",{className:"oc-governance-error",children:j}),u==="models"&&s.jsx(kv,{busy:k,data:o,onMutate:Y,onTest:$}),u==="skills"&&s.jsx(Rv,{data:o,onToggle:ee}),u==="packages"&&s.jsx(Dv,{data:o})]})]})}function kv({busy:c,data:u,onMutate:f,onTest:o}){const[h,j]=p.useState(""),[x,k]=p.useState(""),[M,R]=p.useState(""),[Y,$]=p.useState(null),ee=async I=>{I.preventDefault(),!(!u||!h.trim()||!x.trim())&&(await f({expectedRevision:u.revision,action:"upsert-model",provider:h.trim(),model:{id:x.trim(),...M.trim()?{name:M.trim()}:{}}}),k(""),R(""))};return u?s.jsxs("div",{className:"oc-models-config",children:[s.jsx("p",{children:"Console 不读取或写入 API key;credential 请通过 Pi CLI 配置。"}),u.providers.map(I=>s.jsxs("article",{className:"oc-model-provider",children:[s.jsxs("div",{children:[s.jsx("strong",{children:I.name}),s.jsx("span",{children:I.credential.configured?"credential configured":"credential 未配置"})]}),I.models.map(le=>s.jsxs("div",{className:"oc-model-row",children:[s.jsx("span",{children:le.name?`${le.name} (${le.id})`:le.id}),s.jsxs("div",{children:[s.jsx("button",{type:"button",disabled:c,onClick:()=>{o(I.name,le.id).then(ce=>$(`${I.name}/${le.id}: ${ce?"可用":"不可用"}`))},children:"测试"}),s.jsx("button",{type:"button",disabled:c,onClick:()=>{window.confirm(`确认删除模型 ${I.name}/${le.id}?`)&&f({expectedRevision:u.revision,action:"remove-model",provider:I.name,model:{id:le.id}})},children:"删除"})]})]},le.id)),s.jsx("button",{type:"button",disabled:c,onClick:()=>{window.confirm(`确认删除 Provider ${I.name}?`)&&f({expectedRevision:u.revision,action:"remove-provider",provider:I.name})},children:"删除 Provider"})]},I.name)),Y&&s.jsx("p",{className:"oc-model-test-result",children:Y}),s.jsxs("form",{className:"oc-model-form",onSubmit:I=>{ee(I)},children:[s.jsx("strong",{children:"新增或更新模型"}),s.jsx("input",{required:!0,placeholder:"Provider",value:h,onChange:I=>j(I.target.value)}),s.jsx("input",{required:!0,placeholder:"Model ID",value:x,onChange:I=>k(I.target.value)}),s.jsx("input",{placeholder:"显示名称(可选)",value:M,onChange:I=>R(I.target.value)}),s.jsx("button",{type:"submit",disabled:c,children:c?"保存中…":"保存模型"})]})]}):s.jsx("p",{children:"正在读取模型配置…"})}function Rv({data:c,onToggle:u}){return s.jsxs("div",{children:[c?.allowed?.map(f=>{const o=typeof f=="string"?f:f.name,h=c.disabledNames?.includes(o)===!0;return s.jsxs("label",{children:[s.jsx("input",{type:"checkbox",checked:!h,onChange:j=>u(o,!j.target.checked)}),o,typeof f!="string"&&f.description?s.jsx("small",{children:f.description}):null]},o)}),s.jsx("small",{children:"偏好仅影响之后创建的新会话;denied/conditional 策略不可在此绕过。"})]})}function Dv({data:c}){return s.jsxs("div",{children:[s.jsx("p",{children:"此处仅展示 Pi 配置;不会扩大 Operator Chat 工具面。"}),c?.packages?.map(u=>s.jsxs("article",{children:[s.jsx("strong",{children:u.spec}),s.jsx("span",{children:u.scope})]},`${u.scope}:${u.spec}`))]})}const _r=10;function wv(c){return[...c].sort((u,f)=>u.kind!==f.kind?u.kind==="directory"?-1:1:u.name.localeCompare(f.name,void 0,{sensitivity:"base"}))}function Ov({open:c}){return s.jsx("svg",{className:`oc-tree-chevron${c?" is-open":""}`,width:"12",height:"12",viewBox:"0 0 12 12","aria-hidden":"true",children:s.jsx("path",{d:"M4.2 2.4 7.8 6 4.2 9.6",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}function zv({open:c}){return c?s.jsxs("svg",{className:"oc-tree-glyph is-folder-open",width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:[s.jsx("path",{d:"M1.5 4.2h3.1l1.1 1.2H12a.8.8 0 0 1 .8.8v5a.8.8 0 0 1-.8.8H2a.8.8 0 0 1-.8-.8V5a.8.8 0 0 1 .8-.8Z",fill:"currentColor",opacity:"0.88"}),s.jsx("path",{d:"M1.8 5.8h10.4l-.7 5.2H2.5L1.8 5.8Z",fill:"currentColor",opacity:"0.55"})]}):s.jsx("svg",{className:"oc-tree-glyph is-folder",width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:s.jsx("path",{d:"M1.5 3.8h3.2l1 1.1H12a.8.8 0 0 1 .8.8v5.5a.8.8 0 0 1-.8.8H2a.8.8 0 0 1-.8-.8V4.6a.8.8 0 0 1 .8-.8Z",fill:"currentColor",opacity:"0.78"})})}function _v(){return s.jsxs("svg",{className:"oc-tree-glyph is-file",width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:[s.jsx("path",{d:"M3.2 1.6h5.1L10.8 4v8.4a.8.8 0 0 1-.8.8H3.2a.8.8 0 0 1-.8-.8V2.4a.8.8 0 0 1 .8-.8Z",fill:"currentColor",opacity:"0.55"}),s.jsx("path",{d:"M8.3 1.7v2.5h2.4",fill:"none",stroke:"currentColor",strokeWidth:"1.1",strokeLinejoin:"round",opacity:"0.75"})]})}function Mv(c){const u=c.sessions.slice(0,_r);return s.jsx("aside",{className:`oc-sidebar${c.open?"":" is-collapsed"}`,"aria-label":"会话与仓库",children:c.open?s.jsxs(s.Fragment,{children:[s.jsxs("section",{className:"oc-sidebar-section oc-sessions",children:[s.jsxs("header",{children:[s.jsx("strong",{children:"会话"}),s.jsxs("div",{className:"oc-sidebar-header-actions",children:[s.jsx("button",{type:"button",className:"btn btn-ghost",onClick:c.onCreate,children:"新建"}),s.jsx("button",{type:"button",className:"oc-sidebar-toggle",onClick:c.onToggleOpen,"aria-expanded":!0,"aria-label":"收起侧栏",title:"收起侧栏",children:s.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:s.jsx("path",{d:"M8.8 2.6 5.2 7l3.6 4.4",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})})]})]}),s.jsxs("div",{className:"oc-session-scroll",children:[["active","archived"].map(f=>{const o=u.filter(h=>h.state===f);return o.length?s.jsxs("div",{className:"oc-session-group",children:[s.jsx("small",{children:f==="active"?"进行中":"已归档"}),o.map(h=>s.jsxs("div",{className:`oc-session-item${c.activeSessionId===h.sessionId?" is-active":""}`,children:[s.jsxs("button",{type:"button",className:"oc-session-main",onClick:()=>c.onActivate(h.sessionId),children:[s.jsxs("strong",{children:[h.title||"未命名对话",h.activeTurnId?" · 运行中":""]}),s.jsx("span",{children:new Date(h.updatedAt).toLocaleString()})]}),s.jsxs("div",{className:"oc-session-actions",children:[s.jsx("button",{type:"button",className:"oc-session-menu",onClick:()=>{const j=window.prompt("会话名称",h.title??"");j!==null&&c.onRename(h.sessionId,j)},children:"重命名"}),s.jsx("button",{type:"button",className:"oc-session-menu",onClick:()=>c.onSetState(h.sessionId,f==="active"?"archived":"active"),children:f==="active"?"归档":"恢复"}),s.jsx("button",{type:"button",className:"oc-session-menu oc-session-delete",onClick:()=>c.onDelete(h.sessionId),children:"删除"})]})]},h.sessionId))]},f):null}),u.length===0?s.jsx("p",{className:"oc-tree-empty",children:"暂无会话,点击上方新建。"}):null]})]}),s.jsxs("section",{className:"oc-sidebar-section oc-explorer",children:[s.jsxs("header",{children:[s.jsx("strong",{children:"仓库"}),s.jsx("button",{type:"button",className:"btn btn-ghost",onClick:c.onRefreshTree,children:"刷新"})]}),s.jsx("p",{className:"oc-explorer-hint",children:"单击插入 @路径 · 双击预览"}),c.treeError&&s.jsx("p",{className:"oc-sidebar-error",children:c.treeError}),s.jsx("div",{className:"oc-tree-scroll",children:s.jsx(Qm,{entries:c.tree[""]??[],tree:c.tree,expanded:c.expanded,depth:0,onToggle:c.onToggleDir,onInsert:c.onInsert,onPreview:c.onPreview})})]}),s.jsx(Av,{origin:c.origin})]}):s.jsx("button",{type:"button",className:"oc-sidebar-toggle is-collapsed",onClick:c.onToggleOpen,"aria-expanded":!1,"aria-label":"展开侧栏",title:"展开侧栏",children:s.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:s.jsx("path",{d:"M5.2 2.6 8.8 7 5.2 11.4",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})})})}function Qm(c){const u=p.useMemo(()=>wv(c.entries),[c.entries]);return u.length?s.jsx("ul",{className:"oc-tree",role:c.depth===0?"tree":"group",children:u.map(f=>{const o=f.name.startsWith(".");if(f.kind==="directory"){const h=c.expanded.has(f.path);return s.jsxs("li",{className:`oc-tree-node is-dir${h?" is-open":""}${o?" is-dot":""}`,role:"treeitem","aria-expanded":h,children:[s.jsxs("button",{type:"button",className:"oc-tree-row oc-tree-dir",onClick:()=>c.onToggle(f.path),style:{paddingLeft:`${8+c.depth*12}px`},children:[s.jsx(Ov,{open:h}),s.jsx(zv,{open:h}),s.jsx("span",{className:"oc-tree-label",children:f.name})]}),h?s.jsx("div",{className:"oc-tree-children",style:{"--oc-tree-guide":`${14+c.depth*12}px`},children:s.jsx(Qm,{entries:c.tree[f.path]??[],tree:c.tree,expanded:c.expanded,depth:c.depth+1,onToggle:c.onToggle,onInsert:c.onInsert,onPreview:c.onPreview})}):null]},f.path)}return s.jsx("li",{className:`oc-tree-node is-file${o?" is-dot":""}`,role:"treeitem",children:s.jsx(Uv,{entry:f,depth:c.depth,onInsert:c.onInsert,onPreview:c.onPreview})},f.path)})}):s.jsx("p",{className:"oc-tree-empty",children:"此目录为空或没有可安全浏览的文件。"})}function Uv(c){const u=p.useRef(null);return p.useEffect(()=>()=>{u.current!==null&&window.clearTimeout(u.current)},[]),s.jsxs("button",{type:"button",className:"oc-tree-row oc-tree-file",style:{paddingLeft:`${8+c.depth*12}px`},title:"单击插入引用;双击预览",onClick:()=>{u.current!==null&&window.clearTimeout(u.current),u.current=window.setTimeout(()=>{c.onInsert(c.entry.path),u.current=null},220)},onDoubleClick:()=>{u.current!==null&&window.clearTimeout(u.current),u.current=null,c.onPreview(c.entry.path)},children:[s.jsx("span",{className:"oc-tree-chevron-spacer","aria-hidden":"true"}),s.jsx(_v,{}),s.jsx("span",{className:"oc-tree-label",children:c.entry.name})]})}function Hv(c){const u=c.previews.find(f=>f.path===c.activePath);return!u&&!c.loading?null:s.jsxs(s.Fragment,{children:[u&&s.jsxs("section",{className:"oc-file-preview","aria-label":`文件预览 ${u.path}`,children:[s.jsxs("header",{children:[s.jsx("div",{className:"oc-file-tabs",role:"tablist","aria-label":"文件预览 Tabs",children:c.previews.map(f=>s.jsx("button",{type:"button",role:"tab","aria-selected":f.path===u.path,className:f.path===u.path?"is-active":"",onClick:()=>c.onActivate(f.path),children:f.path},f.path))}),s.jsxs("span",{children:[u.bytes," bytes",u.truncated?" · 已截断":""]}),s.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>c.onClose(u.path),children:"关闭预览"})]}),s.jsx("pre",{children:s.jsx("code",{children:u.content})})]}),c.loading&&s.jsx("div",{className:"oc-file-preview-loading",children:"正在读取文件…"})]})}function Lv(c,u){const f=c.findIndex(o=>o.operationId===u.operationId);return f<0?[...c,u]:c.map((o,h)=>h===f?{...o,...u}:o)}function qv(c){const u=c.operation;if(!u||typeof u!="object")return;const f=u;if(!(f.schemaVersion!==1||typeof f.operationId!="string"||typeof f.action!="string"||typeof f.state!="string"||typeof f.inspectHref!="string"||typeof f.createdAt!="string"||typeof f.updatedAt!="string"||typeof f.previewHash!="string"))return f}function ui(c){return c>=1e6?`${(c/1e6).toFixed(1)}M`:c>=1e3?`${(c/1e3).toFixed(1)}k`:c.toLocaleString()}function zm(c){const u=[],f=c.inputTokens??0,o=c.outputTokens??0,h=c.cacheReadTokens??0,j=c.cacheWriteTokens??0,x=c.cost??0;if(f>0&&u.push(`${ui(f)} in`),o>0&&u.push(`${ui(o)} out`),h>0&&u.push(`${ui(h)} cache R`),j>0&&u.push(`${ui(j)} cache W`),x>0&&u.push(x>=.01?`$${x.toFixed(2)}`:"<$0.01"),u.length===0){const k=c.totalTokens??0;return k>0?`${ui(k)} tokens`:"—"}return u.join(" · ")}function Bv(c){if(!c||typeof c!="object")return;const u=c;if(!(u.schemaVersion!==1||typeof u.cardId!="string"||u.gateType!=="contract-apply"&&u.gateType!=="dag-run"||typeof u.taskId!="string"||typeof u.state!="string"||typeof u.expiresAt!="string"||typeof u.inspectHref!="string"||typeof u.previewHash!="string"))return u}function Gv(c,u){const f=c.findIndex(h=>h.cardId===u.cardId);if(f<0)return[...c,u];const o=[...c];return o[f]=u,o}const Yv=["operation","contract","dag","report","html"];function $v(c){const u=c.artifact;if(!u||typeof u!="object")return;const f=u;if(!(f.schemaVersion!==1||typeof f.artifactId!="string"||!f.artifactId||typeof f.kind!="string"||!Yv.includes(f.kind)||typeof f.previewHash!="string")){for(const o of["title","summary","htmlPreview","reportText","inspectHref"])if(f[o]!==void 0&&typeof f[o]!="string")return;return f}}function Iv(c,u){const f=c.findIndex(o=>o.artifactId===u.artifactId);return f<0?[...c,u]:c.map((o,h)=>h===f?{...o,...u}:o)}function Il(c,u){return`${c}/${u}`}function Ar(c){return{...c.modelProvider&&c.modelId?{model:{provider:c.modelProvider,modelId:c.modelId}}:{},...c.thinkingLevel?{thinkingLevel:c.thinkingLevel}:{}}}function Mr(c,u){return{...c,model:u.model??c.model,thinkingLevel:u.thinkingLevel??c.thinkingLevel}}function _m(c,u){const f=Mr(c,u);return f.model?.provider===c.model?.provider&&f.model?.modelId===c.model?.modelId&&f.thinkingLevel===c.thinkingLevel}const Ur=[{command:"/task",label:"Task context",description:"查看当前任务、Draft 与 assessment",action:"focus-panel:task"},{command:"/contract",label:"Contract",description:"查看 contract diff 与 apply gate",action:"focus-panel:contract"},{command:"/dag",label:"DAG",description:"查看 DAG spine、确认与运行状态",action:"focus-panel:dag"},{command:"/interview",label:"Interview",description:"打开 Requirement Interview",action:"focus:interview"},{command:"/help",label:"Shortcuts",description:"显示可用 shortcut",action:"show-help"}];function Xv(c){const u=c.trim().split(/\s+/,1)[0]?.toLowerCase();if(!u?.startsWith("/"))return;const f=Ur.find(o=>o.command===u);return f?{command:f.command,action:f.action}:{command:u,action:"unknown"}}const Qv=["command","path","file_path","filePath","pattern","query","glob","url"],Zv=120,Kv=800;function Mm(c){if(!(!c||typeof c!="object"||Array.isArray(c)))return c}function Vv(c){if(c!=null){if(typeof c=="string"){const u=c.trim();if(!u)return;try{return Mm(JSON.parse(u))}catch{return}}return Mm(c)}}function Jv(c,u){const f=Zv,o=Vv(c);if(!o){if(typeof c=="string"){const k=c.replace(/\s+/g," ").trim();return!k||k==="{}"?"":k.length>f?`${k.slice(0,f)}…`:k}return""}for(const k of Qv){const M=o[k];if(typeof M=="string"&&M.trim()){const R=M.replace(/\s+/g," ").trim();return R.length>f?`${R.slice(0,f)}…`:R}}const h=Object.keys(o);if(h.length===0)return"";const j=o[h[0]],x=String(j??"").replace(/\s+/g," ").trim();return x?x.length>f?`${x.slice(0,f)}…`:x:""}function Wv(c){if(c==null)return"";try{return typeof c=="string"?c:JSON.stringify(c,null,2)}catch{return String(c)}}function Fv(c,u){if(c===void 0)return{text:"",truncated:!1};const f=u?.maxLen??Kv;return c.length<=f?{text:c,truncated:!1}:{text:`${c.slice(0,f)}…`,truncated:!0}}function Pv(c,u){if(u===void 0||!Number.isFinite(c)||!Number.isFinite(u))return;const f=Math.round((u-c)/1e3);return f>0?f:void 0}function eg(c){const u=[],f=[];let o,h=[];const j=x=>{for(const k of h)k.assistantMessageId||(k.assistantMessageId=x),k.turnId||(k.turnId=o);h=[]};for(const x of c){const k=Date.parse(x.at)||Date.now();if(x.role==="user"){o=`restored-${x.id}`,h=[],u.push({id:x.id,role:"user",text:x.text,createdAt:k});continue}if(x.role==="assistant"){o||(o=`restored-${x.id}`),u.push({id:x.id,role:"assistant",text:x.text,createdAt:k}),j(x.id);continue}if(x.role==="tool"){o||(o=`restored-tool-${x.id}`);const M={id:x.toolCallId||x.id,toolName:x.toolName||"tool",status:x.isError===!0?"error":"ok",resultText:x.text,result:x.text,createdAt:k,finishedAt:k,turnId:o};f.push(M),h.push(M)}}return{messages:u,toolCalls:f}}function tg(c){const u=c.messages.filter(k=>k.role==="user"||k.role==="assistant"),f=[];let o=null;const h=k=>{const M={key:k,assistants:[],tools:[],live:!1};return f.push(M),M};for(const k of u){if(k.role==="user"){o=h(`user-${k.id}`),o.user=k;continue}o||(o=h(`assistant-${k.id}`)),o.assistants.push(k)}f.length===0&&c.toolCalls.length>0&&f.push({key:"orphan-tools",assistants:[],tools:[],live:!1});const j=new Set,x=new Map;for(const k of f)for(const M of k.assistants)x.set(M.id,k);for(const k of c.toolCalls)if(k.assistantMessageId){const M=x.get(k.assistantMessageId);if(M){M.tools.push(k),j.add(k.id);continue}}for(const k of c.toolCalls)if(!j.has(k.id)&&k.turnId){const M=f.find(Y=>Y.tools.some($=>$.turnId===k.turnId)||Y.key===`turn-${k.turnId}`||Y.user&&`restored-${Y.user.id}`===k.turnId);if(M){M.tools.push(k),j.add(k.id);continue}const R=f.find(Y=>k.turnId===`restored-${Y.user?.id}`||Y.assistants.some($=>k.turnId===`restored-${$.id}`));if(R){R.tools.push(k),j.add(k.id);continue}}for(const k of c.toolCalls){if(j.has(k.id))continue;const M=f.find((R,Y)=>{const $=R.user?.createdAt??R.assistants[0]?.createdAt??0,I=f[Y+1]?.user?.createdAt??Number.POSITIVE_INFINITY;return k.createdAt>=$&&k.createdAt<I});M?(M.tools.push(k),j.add(k.id)):f.length>0&&(f[f.length-1].tools.push(k),j.add(k.id))}for(const k of f)k.tools.sort((M,R)=>M.createdAt-R.createdAt),k.live=c.streaming&&c.activeAssistantId!==null&&k.assistants.some(M=>M.id===c.activeAssistantId);return f}function ng(c){const u=c.length,f=c.filter(j=>j.status==="error").length,o=c.filter(j=>j.status==="running").length,h=[`执行过程 · ${u} 工具`];return f>0?h.push(`${f} 出错`):o>0&&h.push("运行中"),{count:u,errorCount:f,runningCount:o,label:h.join(" · ")}}function oi(c){const u=(c??"").trim();return u?/controller identity changed|package fingerprint changed|entry binary sha256 changed/i.test(u)?"控制器版本已变更(Console 启动后代码被重新编译)。请重启 Console 后再试,一次会话中途不要升级/重建控制器。":/Pi session file missing or not openable|cannot reopen chat session .* no persisted Pi session file/i.test(u)?"该对话的 Pi 会话文件已丢失,无法恢复上下文。请新建对话继续(历史记录无法重开)。":/reopened Pi sessionId mismatch/i.test(u)?"重开对话失败:Pi 会话身份与记录不一致(常见于会话文件丢失后被误建)。请新建对话继续。":/base HEAD .+ != frozen baseCommit|exact-base|not a descendant of frozen baseCommit/i.test(u)?"主分支已相对夜间冻结的 baseCommit 前进,无法安全 fast-forward harvest。请人工核对后使用 Discard(必要时勾选强制),或改走日间合并流程。":/force-required|requires --force/i.test(u)?"该终态需要强制 Discard。请确认后勾选强制再试。":u:"操作失败"}const ca="loop-console.operator-chat.active-session.v1",ag="loop-console.operator-chat.default-landing.v1";function xc(c){const u=c?.trim().toLowerCase();if(u==="chat")return"chat";if(u==="tasks")return"tasks"}function lg(c){const u=c?.trim().toLowerCase();if(u==="chat"||u==="tasks"||u==="recovery"||u==="night")return u}function sg(c){if(!c)return;const u=new URLSearchParams(c.search),f=xc(u.get("landing")??u.get("workspace"));if(f)return f;const o=c.hash.startsWith("#")?c.hash.slice(1):c.hash;return xc(new URLSearchParams(o).get("workspace"))}function ig(c){return sg(c.location)??xc(c.storage?.getItem(ag))??xc(c.env)??"tasks"}function cg(c,u={}){const f=new URLSearchParams({workspace:c});for(const[o,h]of Object.entries(u))h?.trim()&&f.set(o,h.trim());return`/?${f.toString()}`}function ug(c){const u=new URLSearchParams(c.search),f=c.hash.startsWith("#")?c.hash.slice(1):c.hash,o=new URLSearchParams(f),h=lg(u.get("workspace")??u.get("landing")??o.get("workspace"));if(!h)return null;const j=x=>u.get(x)?.trim()||void 0;return{workspace:h,...j("taskId")?{taskId:j("taskId")}:{},...j("dagRunId")?{dagRunId:j("dagRunId")}:{},...j("fromNodeId")?{fromNodeId:j("fromNodeId")}:{},...j("featureId")?{featureId:j("featureId")}:{}}}const rg=[{toolId:"read",kind:"explore",description:"Pi 内置读取文件。"},{toolId:"write",kind:"explore",description:"Pi 内置写入文件(软约束:大改优先走 DAG)。"},{toolId:"edit",kind:"explore",description:"Pi 内置编辑文件(软约束:大改优先走 DAG)。"},{toolId:"bash",kind:"explore",description:"Pi 内置 shell 执行(软约束:优先受治路径)。"},{toolId:"grep",kind:"explore",description:"Pi 内置内容搜索。"},{toolId:"find",kind:"explore",description:"按名称查找文件路径。"},{toolId:"ls",kind:"explore",description:"列出目录内容。"},{toolId:"safe-read",kind:"explore",description:"安全读取仓库相对路径文件;拒绝敏感文件并自动脱敏 secret。"},{toolId:"safe-grep",kind:"explore",description:"安全搜索仓库内容;跳过敏感文件并自动脱敏搜索结果。"},{toolId:"git-status",kind:"explore",description:"固定参数执行 git status --porcelain(无 shell)。"},{toolId:"git-diff",kind:"explore",description:"固定参数查看 git diff;敏感路径不可查看且结果自动脱敏。"}];function Um(c){switch(c){case"mutation":return"变更";case"long-running":return"长任务";case"explore":return"探查";default:return"只读"}}function Pn(){return window.__CONSOLE_CONFIRMATION_TOKEN__??""}function ri(c){return`${c}-${Math.random().toString(36).slice(2,10)}`}function kr(c,u){return new Promise((f,o)=>{if(u?.aborted){o(new DOMException("Aborted","AbortError"));return}const h=setTimeout(()=>{u?.removeEventListener("abort",j),f()},c),j=()=>{clearTimeout(h),o(new DOMException("Aborted","AbortError"))};u?.addEventListener("abort",j)})}function Zm(c){return new Date(c).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function Rr(c){const u=new Date(c),f=new Date;return u.getFullYear()===f.getFullYear()&&u.getMonth()===f.getMonth()&&u.getDate()===f.getDate()?"今天":u.toLocaleDateString([],{month:"long",day:"numeric"})}const og=[{label:"新建任务",hint:"从需求描述导入并创建任务",prompt:"帮我新建一个任务:我描述需求,你引导我用 PRD/需求描述导入(bootstrapFromPrd),并给出建议的 taskKind(如后端研发 backend-feature / 后端测试 backend-test)。"},{label:"查看任务状态",hint:"列出任务与就绪/阻塞状态",prompt:"列出当前所有 task 及其状态,重点说明哪些是 Ready 可以推进、哪些 Blocked 及阻塞原因。"},{label:"诊断 DAG 运行",hint:"对失败运行跑 Doctor",prompt:"帮我诊断最近失败或异常的 DAG 运行:先列出最近的 DAG 运行,对有问题的运行执行 doctor,总结根因和可执行的恢复方案。"},{label:"恢复或重跑任务",hint:"默认从节点续跑,勿无故新开 task",prompt:"我要恢复失败或卡住的 DAG。请先 dagReport/doctor 看 primaryFailure.nodeId 与 primaryRecovery;默认用 dagRerunPlan→dagRerun 从失败/安全上游节点续跑(先 plan 再 Human Gate),不要新建 task-id。仅当 plan 不合格(writer/decision/fingerprint)或契约/源真变时才 standaloneTaskRerun;paused 走 approve/resume;Worker-owned 用 workerTaskRetry。确定后直接帮我发起。"}];function Hm(c){const u=c.readiness==="setup-required",f=!!c.disabled||u,o=c.mode==="no-session"?"开始一段新的对话":"今天想推进什么?",h=c.mode==="no-session"?"用自然语言编排 loop-agent:查询状态、诊断问题、创建与恢复任务。可先点选下方建议,或新建空白对话。":"会话已就绪。点选建议快速开场,或在下方输入框直接描述目标。业务写入仍经受治理 DAG。";return s.jsxs("div",{className:"oc-empty",role:"status",children:[s.jsxs("div",{className:"oc-empty-hero",children:[s.jsx("div",{className:"oc-empty-icon","aria-hidden":"true",children:"π"}),s.jsxs("div",{className:"oc-empty-copy",children:[s.jsx("h3",{children:o}),s.jsx("p",{children:h})]})]}),s.jsx("div",{className:"oc-suggestions","aria-label":"开场建议",children:og.map(j=>s.jsxs("button",{type:"button",className:"oc-suggestion",onClick:()=>c.onSuggest(j.prompt),disabled:f,children:[s.jsx("strong",{children:j.label}),s.jsx("span",{children:j.hint})]},j.label))}),s.jsxs("ul",{className:"oc-empty-tips",children:[s.jsxs("li",{children:[s.jsx("kbd",{children:"@"}),s.jsx("span",{children:"引用仓库文件"})]}),s.jsxs("li",{children:[s.jsx("kbd",{children:"/"}),s.jsx("span",{children:"快捷命令"})]}),s.jsxs("li",{children:[s.jsx("kbd",{children:"Enter"}),s.jsx("span",{children:"发送 · Shift+Enter 换行"})]})]}),c.mode==="no-session"&&c.onCreateSession?s.jsx("button",{type:"button",className:"btn btn-primary oc-empty-cta",onClick:c.onCreateSession,disabled:u,children:u?"需先完成 Pi setup":"新建空白对话"}):null]})}function dg(c,u){return c?c.taskId===u.taskId&&c.updatedAt===u.updatedAt&&c.lastEventId===u.lastEventId&&c.operations.length===u.operations.length:!1}function fg(c){const{origin:u,surface:f="standalone"}=c,o=f==="workspace",[h,j]=p.useState(null),[x,k]=p.useState(null),[M,R]=p.useState([]),[Y,$]=p.useState(!0),[ee,I]=p.useState({}),[le,ce]=p.useState(new Set),[ot,de]=p.useState(null),[Ce,_e]=p.useState([]),[vt,gt]=p.useState(null),[ve,re]=p.useState(!1),[ie,Pe]=p.useState([]),[Ie,yt]=p.useState([]),[qe,dt]=p.useState([]),[Xe,Nt]=p.useState([]),[O,Z]=p.useState(50),[W,Se]=p.useState(0),[Ne,y]=p.useState([]),[T,X]=p.useState(null),[J,ne]=p.useState(null),[oe,Ee]=p.useState(!1),[Be,et]=p.useState(!1),[Bt,Sn]=p.useState(0),ua=p.useRef(null),[Nn,It]=p.useState(""),[Ke,q]=p.useState(""),[ye,tt]=p.useState([]),[Ve,kt]=p.useState([]),[Tt,ja]=p.useState([]),[Bn,Gt]=p.useState([]),[ea,Sa]=p.useState(null),[ra,Na]=p.useState({inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheWriteTokens:0,totalTokens:0}),Sl=p.useRef(new Set),[St,Tn]=p.useState(!1),[Ta,Xt]=p.useState(null),[te,Oe]=p.useState(null),[Yt,Ka]=p.useState(!0),[oa]=p.useState(!1),[Ae,mn]=p.useState(!1),[Me,sn]=p.useState(!1),[zt,ta]=p.useState(!1),hn=p.useRef(null),Ca=p.useRef(null),cn=p.useRef(null),be=p.useRef(null),pn=p.useRef(null),Va=p.useRef(null),da=p.useRef(new Map),Ea=p.useRef(new Set),Gn=p.useRef(null),Cn=p.useRef(null),fa=p.useRef(new Set),Aa=p.useRef(new Map),En=p.useRef(null),Ge=p.useRef(!1),ft=p.useRef(0),me=p.useRef(null),en=p.useRef(!1),tn=p.useCallback(async()=>{try{const m=await fetch(`${u}/api/operator/v1/chat/capabilities`);if(!m.ok)return;const S=await m.json();j(S)}catch{}},[u]),Ja=p.useCallback(async m=>{try{const S=await fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(m)}`,{credentials:"include"}),D=await S.json();if(!S.ok||!D.session)throw new Error(D.error?.message??"会话不可用");const B={sessionId:D.session.sessionId,...Ar(D.session)};me.current=B,en.current=!!D.session.activeTurnId,fa.current=new Set,Aa.current=new Map,Cn.current=null,k(B),Tn(!!D.session.activeTurnId),Xt(null),Gn.current=null,Va.current=da.current.get(m)??null,kt([]),_e([]),q(D.session.composerDraft??"");const F=eg(D.session.messages??[]);Pe(F.messages),yt(F.toolCalls),dt([]),y([]),Nt([]),ne(null),X(null),Na({inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheWriteTokens:0,totalTokens:0}),Sl.current=new Set,window.localStorage.setItem(ca,m),gt(null)}catch(S){Oe(S instanceof Error?S.message:String(S))}},[u]);p.useEffect(()=>{tn()},[tn]);const un=p.useCallback(async()=>{try{const m=await fetch(`${u}/api/operator/v1/chat/sessions`,{credentials:"include"});if(!m.ok)return;const S=(await m.json()).sessions??[],D=S.slice(0,_r),B=S.slice(_r);if(R(D),B.length===0)return;await Promise.all(B.map(G=>fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(G.sessionId)}`,{method:"DELETE",credentials:"include",headers:{"x-loop-console-confirmation":Pn()}}).catch(()=>{})));const F=me.current?.sessionId;F&&B.some(G=>G.sessionId===F)&&(me.current=null,k(null),window.localStorage.removeItem(ca))}catch{}},[u]),ka=p.useCallback(async m=>{if(window.confirm("确定删除该会话?删除后不可恢复。"))try{if(!(await fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(m)}`,{method:"DELETE",credentials:"include",headers:{"x-loop-console-confirmation":Pn()}})).ok){Oe("删除会话失败");return}me.current?.sessionId===m&&(me.current=null,k(null),Pe([]),yt([]),dt([]),y([]),Nt([]),ne(null),X(null),q(""),mn(!1),window.localStorage.removeItem(ca)),await un()}catch(S){Oe(S instanceof Error?S.message:String(S))}},[u,un]);p.useEffect(()=>{un()},[un]);const ct=p.useCallback(async(m="")=>{try{de(null);const S=await fetch(`${u}/api/operator/v1/chat/repo/tree?path=${encodeURIComponent(m)}`,{credentials:"include"}),D=await S.json();if(!S.ok)throw new Error(D.error?.message??"无法读取仓库目录");I(B=>({...B,[m]:D.data?.entries??[]}))}catch(S){de(S instanceof Error?S.message:String(S))}},[u]);p.useEffect(()=>{ct()},[ct]);const Yn=p.useCallback(async m=>{re(!0);try{const S=await fetch(`${u}/api/operator/v1/chat/repo/file?path=${encodeURIComponent(m)}`,{credentials:"include"}),D=await S.json();if(!S.ok||!D.data)throw new Error(D.error?.message??"无法预览文件");_e(B=>{const F=[...B.filter(He=>He.path!==D.data.path),D.data],G=me.current?.sessionId;return G&&window.localStorage.setItem(`${ca}.previews.${G}`,JSON.stringify(F.map(He=>He.path))),F}),gt(D.data.path)}catch(S){Oe(S instanceof Error?S.message:String(S))}finally{re(!1)}},[u]);p.useEffect(()=>{if(!x)return;const m=x.sessionId;let S=[];try{const D=JSON.parse(window.localStorage.getItem(`${ca}.previews.${m}`)??"[]");Array.isArray(D)&&(S=D.filter(B=>typeof B=="string").slice(0,10))}catch{}S.length&&Promise.all(S.map(async D=>{const B=await fetch(`${u}/api/operator/v1/chat/repo/file?path=${encodeURIComponent(D)}`,{credentials:"include"});if(B.ok)return(await B.json()).data})).then(D=>{if(me.current?.sessionId!==m)return;const B=D.filter(F=>!!F);_e(B),gt(B.at(-1)?.path??null)})},[u,x?.sessionId]),p.useEffect(()=>{let m=!1;const S=window.localStorage.getItem(ca);if(S)return(async()=>{try{const D=await fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(S)}`,{credentials:"include"});if(!D.ok){window.localStorage.removeItem(ca);return}const B=await D.json();if(m||!B.session)return;const F={sessionId:B.session.sessionId,...Ar(B.session)};me.current=F,fa.current=new Set,Aa.current=new Map,Cn.current=null,k(F),q(B.session.composerDraft??""),Pe((B.session.messages??[]).filter(G=>G.role==="user"||G.role==="assistant").map(G=>({id:G.id,role:G.role,text:G.text,createdAt:Date.parse(G.at)||Date.now()})))}catch{}})(),()=>{m=!0}},[u]),p.useEffect(()=>{if(!x)return;const m=window.setTimeout(()=>{fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(x.sessionId)}/draft`,{method:"PUT",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Pn()},body:JSON.stringify({text:Ke})})},400);return()=>window.clearTimeout(m)},[u,x,Ke]),p.useEffect(()=>{if(!x){ja([]),Sa(null);return}const m=x.sessionId,S=`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(m)}`;fetch(`${S}/models`,{credentials:"include"}).then(D=>D.ok?D.json():null).then(D=>{!D||me.current?.sessionId!==m||(ja(D.models??[]),Gt(D.thinkingLevels??[]))}),fetch(`${S}/runtime-context`,{credentials:"include"}).then(D=>D.ok?D.json():null).then(D=>{if(!D?.context||me.current?.sessionId!==m)return;Sa(D.context);const B=D.context,F={model:B.model,thinkingLevel:B.thinkingLevel};k(G=>{if(!G||G.sessionId!==m||_m(G,F))return G;const He=Mr(G,F);return me.current=He,He})})},[u,x?.sessionId]),p.useEffect(()=>{if(!x)return;const m=Ke.slice(0,cn.current?.selectionStart??Ke.length).match(/(?:^|\s)@([^\s@]*)$/);if(!m){tt([]);return}const S=window.setTimeout(()=>{fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(x.sessionId)}/files?q=${encodeURIComponent(m[1]??"")}`).then(D=>D.ok?D.json():null).then(D=>tt((D?.files??[]).map(B=>B.path)))},150);return()=>window.clearTimeout(S)},[u,x,Ke]);const Rt=p.useCallback(m=>{const S=cn.current?.selectionStart??Ke.length,B=Ke.slice(0,S).search(/@[^\s@]*$/);B<0||(q(`${Ke.slice(0,B)}@${m} ${Ke.slice(S)}`),tt([]))},[Ke]),rn=p.useCallback(async m=>{if(!x)return;const S=x.sessionId,D=await fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(x.sessionId)}/model`,{method:"POST",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Pn()},body:JSON.stringify(m)});if(!D.ok){me.current?.sessionId===S&&Oe("模型或思考等级切换失败");return}const B=await D.json().catch(()=>({}));B.session&&me.current?.sessionId===S&&(k(F=>{if(!F||F.sessionId!==S)return F;const G=Ar(B.session);if(_m(F,G))return F;const He=Mr(F,G);return me.current=He,He}),Sa(F=>F&&{...F,...B.session.modelProvider&&B.session.modelId?{model:{provider:B.session.modelProvider,modelId:B.session.modelId}}:{},...B.session.thinkingLevel?{thinkingLevel:B.session.thinkingLevel}:m.thinkingLevel?{thinkingLevel:m.thinkingLevel}:{}}))},[u,x]);p.useEffect(()=>{if(!Me)return;const m=D=>{const B=be.current;B&&D.target instanceof Node&&!B.contains(D.target)&&sn(!1)},S=D=>{D.key==="Escape"&&sn(!1)};return document.addEventListener("mousedown",m),document.addEventListener("keydown",S),()=>{document.removeEventListener("mousedown",m),document.removeEventListener("keydown",S)}},[Me]),p.useEffect(()=>{if(!zt)return;const m=D=>{const B=pn.current;B&&D.target instanceof Node&&!B.contains(D.target)&&ta(!1)},S=D=>{D.key==="Escape"&&ta(!1)};return document.addEventListener("mousedown",m),document.addEventListener("keydown",S),()=>{document.removeEventListener("mousedown",m),document.removeEventListener("keydown",S)}},[zt]),p.useLayoutEffect(()=>{const m=cn.current;m&&(m.style.height="auto",m.style.height=`${Math.min(m.scrollHeight,280)}px`)},[Ke]);const Qt=p.useCallback(()=>{const m=Ca.current;if(!m)return;const S=m.scrollHeight-m.scrollTop-m.clientHeight<80;Ka(S)},[]);p.useEffect(()=>{Yt&&hn.current?.scrollIntoView({behavior:"smooth",block:"end"})},[ie,Yt,St]);const on=p.useCallback(async(m,S)=>{const D=S?.background===!0;D||Ee(!0);try{const B=await fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(m)}/context`,{credentials:"include"});if(!B.ok)return;const F=await B.json();F.context&&me.current?.sessionId===m&&ne(G=>dg(G,F.context)?G:F.context)}finally{D||Ee(!1)}},[u]),Ue=p.useCallback(async m=>{Oe(null),Pe([]),yt([]),dt([]),y([]),X(null),ne(null),mn(!1),Ka(!0);try{const S=await fetch(`${u}/api/operator/v1/chat/sessions`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Pn()},credentials:"include",body:JSON.stringify(m??{})});if(!S.ok){const F=await S.json().catch(()=>({}));throw new Error(F.error?.message??`HTTP ${S.status}`)}const D=await S.json(),B={sessionId:D.sessionId,...D.model?{model:D.model}:{}};return me.current=B,window.localStorage.setItem(ca,B.sessionId),k(B),un(),B}catch(S){return Oe(S instanceof Error?S.message:String(S)),null}},[u,un]),ma=p.useCallback((m,S,D,B)=>{const F=B?.replay===!0;if(m==="reconcile"){const K=typeof S.reason=="string"?S.reason:"cursor_expired";Oe(`会话事件窗口已过期(${K}),建议刷新历史或新建会话。`);return}const G=S.data&&typeof S.data=="object"?S.data:S,He=typeof S.turnId=="string"?S.turnId:void 0;let ut=D;if(He){const K=Aa.current.get(He);K?ut=K:Aa.current.set(He,D)}if(m==="interview-turn"){X(K=>({...K??{},interviewSessionId:typeof G.interviewSessionId=="string"?G.interviewSessionId:K?.interviewSessionId,taskId:typeof G.taskId=="string"?G.taskId:K?.taskId,state:typeof G.state=="string"?G.state:K?.state,question:G.question&&typeof G.question=="object"?G.question:void 0}));return}if(m==="draft"){X(K=>({...K??{},taskId:typeof G.taskId=="string"?G.taskId:K?.taskId,draft:G.draft&&typeof G.draft=="object"?G.draft:K?.draft,draftSha256:typeof G.draftSha256=="string"?G.draftSha256:K?.draftSha256,taskKindRecommendation:typeof G.taskKindRecommendation=="string"?G.taskKindRecommendation:K?.taskKindRecommendation}));return}if(m==="assessment"){X(K=>({...K??{},assessment:G}));return}if(m==="taskKind-confirmed"){X(K=>({...K??{},confirmedTaskKind:typeof G.taskKind=="string"?G.taskKind:K?.confirmedTaskKind,taskKindRecommendation:void 0}));return}if(m==="human-gate-card"){const K=Bv(G);K&&y(he=>Gv(he,K));return}if(m==="artifact-ref"){const K=$v(G);K&&Nt(he=>Iv(he,K));return}if(m==="agent_start"){Tn(!0),Xt(ut);return}if(m==="agent_settled"){Tn(!1),Xt(null),!F&&document.hidden&&Se(K=>K+1);return}if(m==="operation-ref"||m==="operation-status"){const K=qv(G);K&&dt(he=>Lv(he,K));return}if(m==="usage"){if(F)return;const K=G,he=typeof K.responseKey=="string"&&K.responseKey?K.responseKey:void 0;if(he&&Sl.current.has(he))return;he&&Sl.current.add(he),Na(Je=>{const Qe=K.inputTokens??0,We=K.outputTokens??0,Fe=K.cacheReadTokens??0,va=K.cacheWriteTokens??0,Vt=K.totalTokens??Qe+We+Fe+va;return{inputTokens:Je.inputTokens+Qe,outputTokens:Je.outputTokens+We,cacheReadTokens:Je.cacheReadTokens+Fe,cacheWriteTokens:Je.cacheWriteTokens+va,totalTokens:Je.totalTokens+Vt,cost:K.cost===void 0?Je.cost:(Je.cost??0)+K.cost}});return}if(m==="message_update"||m==="message_end"){if(F)return;const K=typeof G.text=="string"?G.text:"";Pe(he=>he.some(Qe=>Qe.id===ut)?he.map(Qe=>Qe.id===ut?{...Qe,text:K}:Qe):[...he,{id:ut,role:"assistant",text:K,createdAt:Date.now()}])}else if(m==="tool_call"){const K=typeof G.toolCallId=="string"?G.toolCallId:ri("t"),he=typeof G.toolName=="string"?G.toolName:"tool",Je=typeof G.argsPreview=="string"?G.argsPreview:"{}",Qe=Date.now();yt(We=>We.some(Fe=>Fe.id===K)?We.map(Fe=>Fe.id===K?{...Fe,args:Je,status:"running",turnId:He??Fe.turnId,assistantMessageId:ut}:Fe):[...We,{id:K,toolName:he,args:Je,status:"running",createdAt:Qe,turnId:He,assistantMessageId:ut}])}else if(m==="tool_result"){const K=typeof G.toolCallId=="string"?G.toolCallId:ri("r"),he=typeof G.toolName=="string"?G.toolName:"tool",Je=G.isError===!0,Qe=typeof G.resultPreview=="string"?G.resultPreview:"{}",We=Date.now();Je&&mn(!0),yt(Fe=>Fe.find(Vt=>Vt.id===K)?Fe.map(Vt=>Vt.id===K?{...Vt,result:Qe,resultText:Qe,status:Je?"error":"ok",finishedAt:We,turnId:He??Vt.turnId,assistantMessageId:Vt.assistantMessageId??ut}:Vt):[...Fe,{id:K,toolName:he,result:Qe,resultText:Qe,status:Je?"error":"ok",createdAt:We,finishedAt:We,turnId:He,assistantMessageId:ut}])}else m==="error"&&Oe(typeof G.message=="string"?G.message:"chat error")},[]),ha=p.useCallback((m,S,D)=>{if(D?.targetSessionId&&me.current?.sessionId!==D.targetSessionId)return null;const B=m.split(`
|
|
15
|
+
`);let F="message",G="",He=null;for(const he of B)he.startsWith("event: ")?F=he.slice(7).trim():he.startsWith("data: ")?G+=he.slice(6):he.startsWith("id: ")&&(He=he.slice(4).trim());if(!G)return He;let ut;try{ut=JSON.parse(G)}catch{return He}const K=He??(typeof ut.eventId=="string"?ut.eventId:null);if(K){if(fa.current.has(K))return K;fa.current.add(K)}return ma(F,ut,S,D),He??K},[ma]),nn=p.useCallback(async m=>{const S=me.current;if(!S||!m.trim()&&Ve.length===0||en.current)return;const D={id:ri("u"),role:"user",text:m.trim(),createdAt:Date.now()};Pe(G=>[...G,D]),q(""),En.current?.abort(),En.current=null,en.current=!0,Tn(!0),Ka(!0),Oe(null);const B=ri("a");Gn.current=B,Xt(B),Pe(G=>[...G,{id:B,role:"assistant",text:"",createdAt:Date.now()}]);const F=new AbortController;Va.current=F,da.current.set(S.sessionId,F),Ea.current.add(S.sessionId);try{const G=await fetch(`${u}/api/operator/v1/chat/sessions/${S.sessionId}/prompt`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Pn(),Accept:"text/event-stream"},credentials:"include",body:JSON.stringify({text:m.trim()||"请查看附件图片。",images:Ve.map(({type:he,mimeType:Je,data:Qe})=>({type:he,mimeType:Je,data:Qe}))}),signal:F.signal});if(!G.ok||!G.body){const he=await G.json().catch(()=>({}));throw new Error(he.error?.message??`HTTP ${G.status}`)}const He=G.body.getReader(),ut=new TextDecoder;let K="";for(;;){const{done:he,value:Je}=await He.read();if(he)break;K+=ut.decode(Je,{stream:!0});const Qe=K.split(`
|
|
16
|
+
|
|
17
|
+
`);K=Qe.pop()??"";for(const We of Qe){const Fe=ha(We,B,{targetSessionId:S.sessionId});Fe&&(Cn.current=Fe)}}}catch(G){G?.name==="AbortError"||me.current?.sessionId===S.sessionId&&Oe(oi(G instanceof Error?G.message:String(G)))}finally{me.current?.sessionId===S.sessionId&&(en.current=!1,Tn(!1),Xt(null),Va.current=null,Gn.current=null,kt([])),Ea.current.delete(S.sessionId),da.current.delete(S.sessionId)}},[u,Ve]),na=p.useCallback(()=>{Va.current?.abort(),en.current=!1,Tn(!1),Xt(null)},[]),Nl=p.useCallback(async(m,S)=>{for(;!S.aborted;)try{const D={Accept:"text/event-stream"},B=Cn.current;B&&(D["Last-Event-ID"]=B);const F=await fetch(`${u}/api/operator/v1/chat/sessions/${m}/events`,{headers:D,credentials:"include",signal:S});if(!F.ok||!F.body){if(F.status===404)return;await kr(2e3,S);continue}const G=F.body.getReader(),He=new TextDecoder;let ut="",K=Gn.current;for(K||(K=ri("a"),Gn.current=K);;){const{done:he,value:Je}=await G.read();if(he)break;ut+=He.decode(Je,{stream:!0});const Qe=ut.split(`
|
|
18
|
+
|
|
19
|
+
`);ut=Qe.pop()??"";for(const We of Qe){const Fe=ha(We,K,{replay:!0,targetSessionId:m});Fe&&(Cn.current=Fe)}}await kr(1e3,S)}catch{if(S.aborted)return;await kr(2e3,S)}},[u,ha]);p.useEffect(()=>{if(!x||St&&Ea.current.has(x.sessionId))return;const m=new AbortController;return En.current=m,Nl(x.sessionId,m.signal),()=>{m.abort(),En.current===m&&(En.current=null)}},[x,St,Nl]);const $n=p.useCallback(async()=>{const m=me.current;if(!m)return;const S=window.prompt("Task ID(例如 2026-07-26-my-task)")?.trim();if(!S)return;const D=await fetch(`${u}/api/operator/v1/chat/sessions/${m.sessionId}/interviews`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Pn()},credentials:"include",body:JSON.stringify({taskId:S})}),B=await D.json();if(!D.ok){Oe(B.error?.message??`HTTP ${D.status}`);return}X({interviewSessionId:B.interview?.sessionId,taskId:S,state:B.interview?.state,question:B.question,draft:B.draft?.draft,draftSha256:B.draft?.draftSha256,assessment:B.assessment})},[u]),pa=p.useCallback(async m=>{const S=me.current;if(!S||!T?.interviewSessionId||!T.question)return;const D=await fetch(`${u}/api/operator/v1/chat/sessions/${S.sessionId}/interviews/${T.interviewSessionId}/answers`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Pn()},credentials:"include",body:JSON.stringify({questionId:T.question.id,response:m,...m==="override"?{text:Nn}:{}})}),B=await D.json();if(!D.ok){Oe(B.error?.message??`HTTP ${D.status}`);return}X(F=>({...F??{},state:B.interview?.state,question:B.question,draft:B.draft?.draft,draftSha256:B.draft?.draftSha256,assessment:B.assessment,taskKindRecommendation:B.taskKindRecommendation??F?.taskKindRecommendation})),It("")},[u,T,Nn]),Ra=p.useCallback(async()=>{const m=me.current;if(!m||!T?.interviewSessionId||!T.taskKindRecommendation)return;const S=await fetch(`${u}/api/operator/v1/chat/sessions/${m.sessionId}/interviews/${T.interviewSessionId}/task-kind/confirm`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Pn()},credentials:"include",body:JSON.stringify({taskKind:T.taskKindRecommendation})}),D=await S.json();if(!S.ok){Oe(D.error?.message??`HTTP ${S.status}`);return}X(B=>({...B??{},confirmedTaskKind:B?.taskKindRecommendation,taskKindRecommendation:void 0,draft:D.draft?.draft,draftSha256:D.draft?.draftSha256,assessment:D.assessment}))},[u,T]);p.useEffect(()=>{x?.sessionId&&on(x.sessionId)},[x?.sessionId,on]),p.useEffect(()=>{const m=x?.sessionId;if(!m)return;const S=window.setTimeout(()=>{on(m,{background:!0})},350);return()=>window.clearTimeout(S)},[x?.sessionId,qe,Ne,T,on]);const An=p.useCallback(m=>{const S=Xv(m);q(""),et(!1),S&&(S.action==="focus:interview"?$n():S.action==="show-help"?Oe(`可用 shortcuts:${Ur.map(D=>D.command).join("、")}`):S.action.startsWith("focus-panel:")?ua.current?.scrollIntoView({behavior:"smooth",block:"nearest"}):Oe(`未知 shortcut:${S.command}`))},[$n]),Lt=p.useMemo(()=>Ke.startsWith("/")?Ur.filter(m=>m.command.startsWith(Ke.trim().split(/\s+/,1)[0].toLowerCase())):[],[Ke]),Zt=p.useCallback(m=>{if(Be&&Lt.length>0&&!m.nativeEvent.isComposing){if(m.key==="ArrowDown"||m.key==="ArrowUp"){m.preventDefault(),Sn(B=>(B+(m.key==="ArrowDown"?1:Lt.length-1))%Lt.length);return}if(m.key==="Escape"){m.preventDefault(),et(!1);return}if(m.key==="Enter"){m.preventDefault(),An(Lt[Bt]?.command??Lt[0].command);return}}const S=Date.now()-ft.current<100,D=Ge.current||m.nativeEvent.isComposing;if(m.key==="Enter"&&!m.shiftKey&&(D||S)){S&&m.preventDefault();return}if(m.key==="Enter"&&!m.shiftKey){m.preventDefault(),nn(Ke);return}},[Ke,nn,Be,Lt,Bt,An]),mt=p.useMemo(()=>ie.filter(m=>m.role!=="system"||oa).slice(-O),[ie,oa,O]);p.useEffect(()=>{const m=()=>{document.hidden||Se(0)};return document.addEventListener("visibilitychange",m),()=>document.removeEventListener("visibilitychange",m)},[]);const aa=p.useCallback(async()=>{const m=me.current;if(!(!m||en.current))try{const S=await fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(m.sessionId)}/compact`,{method:"POST",credentials:"include",headers:{"x-loop-console-confirmation":Pn()}}),D=await S.json().catch(()=>({}));if(!S.ok){Oe(D.error?.message??"上下文压缩失败");return}Oe(null)}catch(S){Oe(S instanceof Error?S.message:"上下文压缩失败")}},[u]),kn=p.useMemo(()=>{if(Ie.length===0)return null;const m=Ie.filter(G=>G.status==="running"),S=Ie.filter(G=>G.status==="error"),D=m[m.length-1];let B="完成",F="ok";return S.length>0?(B=`${S.length} 出错`,F="error"):m.length>0&&(B=D?`正在调用 ${D.toolName}`:"运行中",F="running"),{count:Ie.length,statusLabel:B,statusKind:F}},[Ie]),In=p.useMemo(()=>tg({messages:mt,toolCalls:Ie,streaming:St,activeAssistantId:Ta}),[mt,Ie,St,Ta]),Rn=x?.model??ea?.model,vn=Rn?Il(Rn.provider,Rn.modelId):"",Wa=x?.thinkingLevel??ea?.thinkingLevel??"",Kt=!vn||Tt.some(m=>Il(m.provider,m.id)===vn),Dn=p.useMemo(()=>{if(!h)return null;const m=(h.tools??[]).map(D=>({toolId:D.toolId,action:D.action,description:D.description,kind:D.kind??"read",cli:D.cli})),S=[...rg];return{explore:S,operator:m,total:S.length+m.length}},[h]),Da=c.readiness==="setup-required"?"⚠ Pi 未就绪(setup-required):Chat 需要先完成 Pi 认证 / 模型配置。":c.readiness==="degraded"?"⚠ Pi 降级(degraded):可继续对话,但部分能力不可用。":null,xe=async(m,S)=>{if(!(await fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(m)}`,{method:"PATCH",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Pn()},body:JSON.stringify(S)})).ok){Oe("会话更新失败");return}await un(),S.state==="archived"&&me.current?.sessionId===m&&(me.current=null,k(null),window.localStorage.removeItem(ca))},wn=s.jsx(Mv,{origin:u,open:Y,activeSessionId:x?.sessionId,sessions:M,tree:ee,expanded:le,treeError:ot,onToggleOpen:()=>$(m=>!m),onCreate:()=>{Ue()},onActivate:m=>{Ja(m)},onRename:(m,S)=>{xe(m,{title:S})},onSetState:(m,S)=>{xe(m,{state:S})},onDelete:m=>{ka(m)},onRefreshTree:()=>{ct()},onToggleDir:m=>{ce(S=>{const D=new Set(S);return D.has(m)?D.delete(m):D.add(m),D}),ee[m]||ct(m)},onInsert:m=>q(S=>`${S}${S&&!S.endsWith(" ")?" ":""}@${m} `),onPreview:m=>{Yn(m)}}),ht=mt.length>0||qe.length>0||Ne.length>0||Xe.length>0||!!T;return s.jsxs("div",{className:"oc-shell",children:[o?null:s.jsxs("div",{className:"oc-banner",children:[s.jsxs("span",{className:"oc-banner-title",children:[s.jsx("span",{className:"oc-banner-dot","aria-hidden":"true"}),"对话"]}),s.jsxs("span",{className:"oc-banner-body",children:["用自然语言编排 loop-agent / agent-worker 的",s.jsx("strong",{children:"全部能力"}),"。这是 ",s.jsx("strong",{children:"Operator"})," 面:默认具备完整 Pi 工具(read/write/edit/bash/grep/find/ls)与 safe-* 探查、以及受策略约束的 operator action(ADR 0011)。",s.jsx("strong",{children:"软约束"}),":大改与高风险变更优先走受治 DAG 的 implement-pi / repair-pi 与 Human Gate,而非把 Chat 当作第二套 DAG kernel。"]})]}),Da&&s.jsx("div",{className:"oc-alert oc-alert-warning",children:Da}),te&&s.jsxs("div",{className:"oc-alert oc-alert-error",children:[s.jsx("strong",{children:"出错了:"}),te]}),x?s.jsxs("div",{className:`oc-workspace${Ae?" has-process":""}`,children:[wn,s.jsxs("div",{className:`oc-main${ht?"":" is-landing"}`,children:[s.jsx(Hv,{previews:Ce,activePath:vt,loading:ve,onActivate:gt,onClose:m=>{_e(S=>{const D=S.filter(B=>B.path!==m);return x&&window.localStorage.setItem(`${ca}.previews.${x.sessionId}`,JSON.stringify(D.map(B=>B.path))),D}),gt(S=>S===m?Ce.find(D=>D.path!==m)?.path??null:S)}}),s.jsxs("div",{ref:Ca,className:`oc-messages${ht?" has-thread":" is-empty"}`,onScroll:Qt,children:[ht?null:s.jsx(Hm,{mode:"empty-session",readiness:c.readiness,disabled:St,onSuggest:m=>{nn(m)}}),ht&&ie.length>mt.length&&s.jsx("button",{type:"button",className:"btn btn-ghost oc-load-history",onClick:()=>Z(m=>m+50),children:"加载更早消息"}),ht&&In.map((m,S)=>{const D=m.user??m.assistants[0],B=S>0?In[S-1].user??In[S-1].assistants[0]:void 0,F=!!D&&(!B||Rr(B.createdAt)!==Rr(D.createdAt)),G=m.assistants[m.assistants.length-1];return s.jsxs("div",{className:"oc-turn-group",children:[F&&D&&s.jsx("div",{className:"oc-day-sep",children:Rr(D.createdAt)}),m.user&&s.jsx(Lm,{message:m.user,streaming:St,activeAssistantId:Ta}),m.tools.length>0&&s.jsx(gg,{tools:m.tools,defaultOpen:m.live}),G&&s.jsx(Lm,{message:G,streaming:St,activeAssistantId:Ta})]},m.key)}),T&&s.jsxs("section",{className:"oc-draft-card","aria-label":"Requirement Interview",children:[s.jsxs("header",{children:[s.jsx("strong",{children:"Requirement Interview"}),s.jsx("span",{children:T.state})]}),T.question&&s.jsxs("div",{className:"oc-interview-bubble",children:[s.jsx("strong",{children:T.question.text}),s.jsxs("p",{children:["建议:",T.question.recommendation]}),s.jsx("textarea",{value:Nn,onChange:m=>It(m.target.value),placeholder:"输入答案"}),s.jsxs("div",{children:[s.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>{pa("override")},disabled:!Nn.trim(),children:"提交答案"}),s.jsx("button",{className:"btn btn-ghost",type:"button",onClick:()=>{pa("accept-recommendation")},children:"接受建议"})]})]}),T.draft&&s.jsxs("details",{open:!0,children:[s.jsxs("summary",{children:["TaskContractDraftV1 ·"," ",T.draftSha256?.slice(0,12)]}),s.jsx("pre",{children:JSON.stringify(T.draft,null,2)})]}),T.assessment&&s.jsxs("div",{className:`oc-assessment${T.assessment.fresh?" is-fresh":""}`,children:[s.jsxs("strong",{children:["完整性:",T.assessment.outcome]}),(T.assessment.missingFields??[]).length>0&&s.jsxs("p",{children:["缺失:",T.assessment.missingFields?.join("、")]})]}),T.taskKindRecommendation&&s.jsxs("div",{className:"oc-task-kind-card",children:[s.jsx("span",{children:"taskKind 建议"}),s.jsx("strong",{children:T.taskKindRecommendation}),s.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>{Ra()},children:"由我确认"}),s.jsx("small",{children:"模型不能代替人类确认。"})]}),T.confirmedTaskKind&&s.jsxs("div",{className:"oc-task-kind-card is-confirmed",children:["已由人类确认:",s.jsx("strong",{children:T.confirmedTaskKind})]})]}),Ne.map(m=>s.jsx(mg,{card:m,origin:u,sessionId:x.sessionId},m.cardId)),qe.map(m=>s.jsx(hg,{operation:m,origin:u,onNavigateWorkspace:c.onNavigateWorkspace},m.operationId)),Xe.map(m=>s.jsx(pg,{artifact:m},m.artifactId)),s.jsx("div",{ref:hn})]}),s.jsx("div",{className:"oc-composer",children:s.jsxs("div",{className:"oc-composer-inner",children:[ye.length>0&&s.jsx("div",{className:"oc-file-palette",role:"listbox","aria-label":"Repository files",children:ye.map(m=>s.jsx("button",{type:"button",role:"option",onMouseDown:S=>S.preventDefault(),onClick:()=>Rt(m),children:s.jsxs("code",{children:["@",m]})},m))}),Ve.length>0&&s.jsx("div",{className:"oc-attachment-list",children:Ve.map(m=>s.jsxs("span",{children:[m.name,s.jsx("button",{type:"button","aria-label":`移除 ${m.name}`,onClick:()=>kt(S=>S.filter(D=>D!==m)),children:"×"})]},m.name))}),s.jsxs("div",{className:"oc-composer-toolbar",children:[s.jsxs("label",{className:"oc-attach-button",children:["添加图片",s.jsx("input",{type:"file",accept:"image/png,image/jpeg,image/gif,image/webp",multiple:!0,hidden:!0,onChange:m=>{const S=Array.from(m.target.files??[]).slice(0,4);for(const D of S){if(!D.type.startsWith("image/")||D.size>5*1024*1024){Oe("图片仅支持 PNG/JPEG/GIF/WebP,单张不超过 5 MiB");continue}const B=new FileReader;B.onload=()=>{const F=String(B.result??""),G=F.slice(F.indexOf(",")+1);kt(He=>[...He,{name:D.name,type:"image",mimeType:D.type,data:G}].slice(0,4))},B.readAsDataURL(D)}m.target.value=""}})]}),s.jsxs("span",{className:"oc-composer-hint",children:[s.jsx("span",{className:"oc-kbd",children:"Enter"})," 发送"]}),s.jsxs("span",{className:"oc-composer-hint",children:[s.jsx("span",{className:"oc-kbd",children:"Shift"}),"+",s.jsx("span",{className:"oc-kbd",children:"Enter"})," 换行"]})]}),Be&&Lt.length>0&&s.jsx("div",{className:"oc-shortcut-palette",role:"listbox","aria-label":"Chat shortcuts",children:Lt.map((m,S)=>s.jsxs("button",{type:"button",role:"option","aria-selected":S===Bt,className:S===Bt?"is-active":"",onMouseDown:D=>D.preventDefault(),onClick:()=>An(m.command),children:[s.jsx("code",{children:m.command}),s.jsxs("span",{children:[s.jsx("strong",{children:m.label}),s.jsx("small",{children:m.description})]})]},m.command))}),s.jsxs("div",{className:`oc-composer-shell${St?" is-busy":""}`,children:[s.jsx("textarea",{ref:cn,className:"oc-textarea",value:Ke,rows:3,placeholder:St?"正在生成回复…(可直接发起新问题)":ht?"输入消息… Enter 发送 · Shift+Enter 换行":"描述目标,或点选上方建议开始…",onChange:m=>{q(m.target.value),et(m.target.value.startsWith("/")),Sn(0)},onKeyDown:Zt,onCompositionStart:()=>{Ge.current=!0},onCompositionEnd:()=>{Ge.current=!1,ft.current=Date.now()},disabled:St}),St?s.jsx("button",{type:"button",className:"oc-stop",title:"停止生成","aria-label":"停止生成",onClick:na,children:s.jsx(jg,{})}):s.jsx("button",{type:"button",className:"oc-send",title:"发送","aria-label":"发送",onClick:()=>{nn(Ke)},disabled:!Ke.trim()&&Ve.length===0,children:s.jsx(xg,{})})]}),s.jsxs("div",{className:"oc-runtime-controls",children:[s.jsxs("select",{className:"oc-model-select","aria-label":"Model",value:vn,onChange:m=>{const S=Tt.find(D=>Il(D.provider,D.id)===m.target.value);S&&rn({provider:S.provider,modelId:S.id})},children:[s.jsx("option",{value:"",children:"选择模型"}),Rn&&!Kt?s.jsx("option",{value:vn,children:vn}):null,Tt.filter(m=>m.hasCredentials!==!1).map(m=>s.jsx("option",{value:Il(m.provider,m.id),children:Il(m.provider,m.id)},Il(m.provider,m.id)))]}),s.jsxs("select",{className:"oc-thinking-select","aria-label":"Thinking level",value:Wa,onChange:m=>{rn({thinkingLevel:m.target.value})},children:[s.jsx("option",{value:"",children:"思考等级"}),Bn.map(m=>s.jsx("option",{value:m,children:m},m))]}),s.jsxs("span",{className:"oc-usage",title:zm(ra),children:[St?"运行中":"空闲",W>0?` · ${W} 未读`:""," · ",zm(ra)]}),s.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>{aa()},disabled:St||!ht,title:ht?St?"生成中,暂不可压缩":"压缩上下文,释放 token":"先进行对话后再压缩上下文",children:"Compact"}),Dn?s.jsxs("div",{className:"oc-tools-menu oc-tools-menu--composer",ref:be,children:[s.jsxs("button",{type:"button",className:`oc-cap-chip oc-tools-toggle${Me?" is-active":""}`,"aria-pressed":Me,"aria-expanded":Me,"aria-controls":"oc-tools-catalog",onClick:()=>{sn(m=>!m),Me||mn(!1)},children:[Dn.total," 工具"]}),Me&&s.jsxs("div",{id:"oc-tools-catalog",className:"oc-tools-catalog",role:"dialog","aria-label":"可用工具列表",children:[s.jsxs("header",{className:"oc-tools-catalog-head",children:[s.jsx("strong",{children:"可用工具"}),s.jsxs("span",{className:"oc-tools-catalog-meta",children:[Dn.total," 个 · 点选了解简介"]}),s.jsx("button",{type:"button",className:"btn btn-ghost oc-tools-catalog-close","aria-label":"关闭工具列表",onClick:()=>sn(!1),children:"关闭"})]}),s.jsxs("div",{className:"oc-tools-catalog-body",children:[Dn.explore.length>0&&s.jsxs("section",{className:"oc-tools-group",children:[s.jsx("h4",{className:"oc-tools-group-title",children:"仓库探查"}),s.jsx("ul",{className:"oc-tools-list",children:Dn.explore.map(m=>s.jsxs("li",{className:"oc-tools-item",children:[s.jsxs("div",{className:"oc-tools-item-head",children:[s.jsx("code",{className:"oc-tools-name",children:m.toolId}),s.jsx("span",{className:"oc-tools-kind is-explore",children:Um(m.kind)})]}),s.jsx("p",{className:"oc-tools-desc",children:m.description})]},m.toolId))})]}),s.jsxs("section",{className:"oc-tools-group",children:[s.jsx("h4",{className:"oc-tools-group-title",children:"Operator 动作"}),s.jsx("ul",{className:"oc-tools-list",children:Dn.operator.map(m=>s.jsxs("li",{className:"oc-tools-item",children:[s.jsxs("div",{className:"oc-tools-item-head",children:[s.jsx("code",{className:"oc-tools-name",children:m.toolId}),s.jsx("span",{className:`oc-tools-kind is-${m.kind??"read"}`,children:Um(m.kind)})]}),s.jsx("p",{className:"oc-tools-desc",children:m.description}),m.cli&&s.jsxs("p",{className:"oc-tools-cli",children:["CLI: ",s.jsx("code",{children:m.cli})]})]},m.toolId))})]})]})]})]}):null,kn&&s.jsxs("button",{type:"button",className:`oc-process-summary is-${kn.statusKind}${Ae?" is-open":""}`,"aria-pressed":Ae,"aria-controls":"oc-process-panel",onClick:()=>{mn(m=>!m),Ae||sn(!1)},children:["全部工具 · ",kn.count," ·"," ",kn.statusLabel]}),ea&&s.jsx(vg,{ref:pn,open:zt,onToggle:()=>ta(m=>!m),onClose:()=>ta(!1),context:ea})]})]})})]}),Ae&&s.jsxs("aside",{id:"oc-process-panel",className:"oc-process","aria-label":"全部工具",children:[s.jsxs("header",{className:"oc-process-head",children:[s.jsxs("div",{className:"oc-process-title",children:[s.jsx("span",{className:"oc-process-title-mark","aria-hidden":"true"}),"全部工具",s.jsx("span",{className:"oc-process-count",children:Ie.length})]}),s.jsx("button",{type:"button",className:"btn btn-ghost oc-process-close","aria-label":"关闭全部工具",onClick:()=>mn(!1),children:"关闭"})]}),s.jsx("div",{className:"oc-process-timeline",children:Ie.length===0?s.jsx("div",{className:"oc-process-empty",children:"本轮对话尚无工具调用。诊断细节会在这里按时间线展示。"}):Ie.map((m,S)=>s.jsxs("div",{className:`oc-process-item${S===0?" is-first":""}${S===Ie.length-1?" is-last":""}${m.status==="error"?" is-error":""}${m.status==="running"?" is-running":""}`,children:[s.jsx("div",{className:"oc-process-rail","aria-hidden":"true",children:s.jsx("span",{className:"oc-process-dot"})}),s.jsx("div",{className:"oc-process-time",children:Zm(m.createdAt)}),s.jsx("div",{className:"oc-process-body",children:s.jsx(Vm,{entry:m})})]},m.id))})]})]}):s.jsxs("div",{className:"oc-workspace",children:[wn,s.jsx("div",{className:"oc-main is-landing",children:s.jsx("div",{className:"oc-messages is-empty",children:s.jsx(Hm,{mode:"no-session",readiness:c.readiness,onSuggest:async m=>{await Ue()&&await nn(m)},onCreateSession:()=>{Ue()}})})})]})]})}p.memo(p.forwardRef(function({context:u,loading:f},o){return s.jsxs("section",{ref:o,className:"oc-task-context","aria-label":"Task context",children:[s.jsxs("header",{children:[s.jsxs("div",{children:[s.jsx("small",{children:"Durable task context"}),s.jsx("strong",{children:u?.taskId??"当前任务"})]}),s.jsx("span",{children:f&&!u?"同步中…":u?.updatedAt?"已恢复":"等待事件"})]}),u?.taskId?s.jsxs("div",{className:"oc-task-context-grid",children:[s.jsxs("div",{children:[s.jsx("b",{children:"Draft"}),s.jsx("span",{children:u.draft?u.draft.draftSha256.slice(0,12):"未生成"})]}),s.jsxs("div",{children:[s.jsx("b",{children:"Assessment"}),s.jsx("span",{children:u.assessment?`${u.assessment.outcome}${u.assessment.fresh?" · fresh":""}`:"未评估"})]}),s.jsxs("div",{children:[s.jsx("b",{children:"Task kind"}),s.jsx("span",{children:u.taskKind?.value??u.draft?.taskKindRecommendation??"待确认"})]}),s.jsxs("div",{children:[s.jsx("b",{children:"Contract"}),s.jsx("span",{children:u.contract?.confirmationState??"待准备"}),u.contract?.diffSummary&&s.jsx("small",{children:u.contract.diffSummary})]}),s.jsxs("div",{children:[s.jsx("b",{children:"DAG"}),s.jsx("span",{children:u.dag?.confirmationState??"待生成"}),u.dag?.spine&&s.jsx("small",{children:u.dag.spine.join(" → ")})]}),s.jsxs("div",{children:[s.jsx("b",{children:"Operations"}),s.jsx("span",{children:u.operations.length?u.operations.map(h=>`${h.action}: ${h.state}`).join(" · "):"无"})]})]}):s.jsx("p",{className:"oc-task-context-empty",children:"Draft、assessment、Contract 与 DAG 状态会在此实时聚合。"})]})}));function mg({card:c,origin:u,sessionId:f}){const[o,h]=p.useState(!1),[j,x]=p.useState(),k=async()=>{h(!0),x(void 0);try{const $=c.gateType==="dag-run"?c.state==="prepared"?"dag-confirm":"dag-run":c.gateType==="mutation"?"mutation-apply":"contract-apply",ee=c.gateType==="dag-run"?{confirmationId:c.confirmationId,...c.state==="prepared"?{humanGateToken:c.humanGateToken}:{}}:{receiptId:c.receiptId,humanGateToken:c.humanGateToken},I=await fetch(`${u}/api/operator/v1/chat/sessions/${encodeURIComponent(f)}/human-gate/${$}`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Pn()},body:JSON.stringify(ee)}),le=await I.json();if(!I.ok)throw new Error(le.error?.message??`HTTP ${I.status}`)}catch($){x($ instanceof Error?$.message:String($))}finally{h(!1)}},M=c.state==="prepared"||c.gateType==="dag-run"&&c.state==="confirmed",R=c.gateType==="contract-apply"?"Contract apply":c.gateType==="mutation"?"Mutation":"DAG run",Y=c.gateType==="contract-apply"?"Apply":c.gateType==="mutation"?"Execute":c.state==="prepared"?"Confirm":"Run";return s.jsxs("section",{className:`oc-human-gate-card is-${c.state}`,"aria-label":`Human gate ${c.cardId}`,children:[s.jsxs("header",{children:[s.jsxs("div",{children:[s.jsx("small",{children:"HumanGateCard · 仅人类可确认"}),s.jsx("strong",{children:R})]}),s.jsx("span",{children:c.state})]}),c.contractDiffSummary&&s.jsx("p",{children:c.contractDiffSummary}),c.displayOnlyChallenges&&s.jsxs("div",{className:"oc-human-gate-challenges",children:[s.jsx("b",{children:"Challenge(仅展示,不是确认信号)"}),s.jsx("ul",{children:c.displayOnlyChallenges.map($=>s.jsx("li",{children:$},$))})]}),c.dagSpine&&c.dagSpine.length>0&&s.jsxs("div",{children:[s.jsx("b",{children:"DAG spine"}),s.jsx("ol",{children:c.dagSpine.map($=>s.jsx("li",{children:s.jsx("code",{children:$})},$))})]}),s.jsxs("footer",{children:[s.jsx("a",{href:c.inspectHref,children:"Inspect"}),s.jsx("button",{className:"btn btn-primary",type:"button",disabled:!M||o,onClick:()=>{k()},children:o?"提交中…":Y})]}),j&&s.jsx("div",{className:"oc-human-gate-error",children:j})]})}function hg(c){const{operation:u}=c,f=u.inspectHref.startsWith("/")?`${c.origin}${u.inspectHref}`:u.inspectHref,o=u.state==="failed"||u.state==="timed-out"||u.state==="needs-reconcile",h=(x,k)=>{c.onNavigateWorkspace?c.onNavigateWorkspace(x,k):window.location.assign(cg(x,k))},j=[u.taskId?["task",u.taskId]:void 0,u.dagRunId?["dag",u.dagRunId]:void 0,u.featureId?["feature",u.featureId]:void 0,u.workerRunId?["worker",u.workerRunId]:void 0].filter(x=>!!x);return s.jsxs("section",{className:`oc-operation-card is-${u.state}`,"aria-label":`Operation ${u.operationId}`,children:[s.jsxs("header",{className:"oc-operation-head",children:[s.jsxs("div",{children:[s.jsx("div",{className:"oc-operation-kicker",children:"Operation"}),s.jsx("strong",{children:u.action})]}),s.jsx("span",{className:`oc-operation-state is-${u.state}`,children:u.state})]}),s.jsx("div",{className:"oc-operation-id",children:s.jsx("code",{children:u.operationId})}),j.length>0&&s.jsx("div",{className:"oc-operation-identities",children:j.map(([x,k])=>s.jsxs("span",{children:[s.jsx("b",{children:x})," ",k]},`${x}:${k}`))}),u.controller&&s.jsxs("div",{className:"oc-operation-controller",children:["controller: ",u.controller]}),u.summaryPreview&&s.jsx("pre",{className:"oc-operation-preview",children:u.summaryPreview}),u.stderrPreview&&s.jsx("pre",{className:"oc-operation-preview is-error",children:u.stderrPreview}),u.stdoutPreview&&s.jsx("pre",{className:"oc-operation-preview",children:u.stdoutPreview}),s.jsxs("footer",{className:"oc-operation-actions",children:[s.jsx("a",{className:"btn btn-ghost",href:f,target:"_blank",rel:"noreferrer",children:"Inspect"}),u.taskId&&s.jsx("button",{className:"btn btn-ghost",type:"button",onClick:()=>h("tasks",{taskId:u.taskId}),children:"打开 Task Ops"}),u.dagRunId&&s.jsx("a",{className:"btn btn-ghost",href:`${c.origin}/inspect/#/dag/${encodeURIComponent(u.dagRunId)}`,target:"_blank",rel:"noreferrer",children:"打开 Run / Inspect"}),o&&(u.dagRunId||u.taskId)&&s.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>h("recovery",{taskId:u.taskId,dagRunId:u.dagRunId}),children:"打开 Recovery"}),s.jsx("time",{dateTime:u.updatedAt,children:new Date(u.updatedAt).toLocaleString()})]})]})}function pg(c){const{artifact:u}=c;return s.jsxs("section",{className:"oc-artifact-card","aria-label":`${u.kind} artifact`,children:[s.jsxs("header",{children:[s.jsx("strong",{children:u.title??u.artifactId}),s.jsx("span",{children:u.kind})]}),u.summary&&s.jsx("p",{children:u.summary}),u.reportText&&s.jsx("pre",{children:u.reportText}),u.htmlPreview&&s.jsx("iframe",{title:`${u.title??u.artifactId} preview`,sandbox:"",srcDoc:u.htmlPreview}),u.inspectHref&&s.jsx("a",{href:u.inspectHref,children:"查看详情"})]})}function Lm(c){const{message:u,streaming:f,activeAssistantId:o}=c,h=u.role==="user",j=h?"你":"π",x=h?"你":"助手",k=!h&&f&&o!==null&&u.id===o,M=k&&u.text.length===0,R=u.text.trim().length>0;return s.jsxs("div",{className:`oc-row ${h?"is-user":"is-assistant"}`,children:[s.jsxs("div",{className:"oc-meta",children:[s.jsx("span",{className:`oc-avatar ${h?"oc-avatar-user":"oc-avatar-assistant"}`,"aria-hidden":"true",children:j}),s.jsx("span",{className:"oc-role",children:x}),s.jsx("span",{className:"oc-time",children:Zm(u.createdAt)}),R&&s.jsx(Km,{text:u.text})]}),s.jsxs("div",{className:`oc-bubble ${h?"oc-bubble-user":"oc-bubble-assistant"}`,children:[R?h?s.jsx("div",{style:{whiteSpace:"pre-wrap"},children:u.text}):s.jsx(Ev,{text:u.text}):M?s.jsx("span",{className:"oc-cursor","aria-hidden":"true"}):s.jsx("span",{style:{color:"var(--muted-soft)"},children:"…"}),k&&R&&s.jsx("span",{className:"oc-cursor","aria-hidden":"true"})]})]})}const vg=p.forwardRef(function({open:u,onToggle:f,onClose:o,context:h},j){const x=Array.isArray(h.resources.activeTools)?h.resources.activeTools:[],k=typeof h.resources.activeToolCount=="number"?h.resources.activeToolCount:x.length,M=h.systemPrompt.text??h.systemPrompt.summary??"",R=h.systemPrompt.charCount??M.length;return s.jsxs("div",{className:"oc-runtime-context-menu",ref:j,children:[s.jsx("button",{type:"button",className:`btn btn-ghost oc-runtime-context-toggle${u?" is-active":""}`,"aria-expanded":u,"aria-controls":"oc-runtime-context-panel",onClick:f,children:"注入上下文"}),u&&s.jsxs("div",{id:"oc-runtime-context-panel",className:"oc-runtime-context-panel",role:"dialog","aria-label":"注入上下文",children:[s.jsxs("header",{className:"oc-runtime-context-head",children:[s.jsxs("div",{className:"oc-runtime-context-head-copy",children:[s.jsx("strong",{children:"注入上下文"}),s.jsx("span",{className:"oc-runtime-context-meta",children:"只读 · 本轮实际注入的 system prompt / skills(已脱敏)"})]}),s.jsx("button",{type:"button",className:"btn btn-ghost oc-runtime-context-close","aria-label":"关闭",onClick:o,children:"关闭"})]}),s.jsxs("div",{className:"oc-runtime-context-body",children:[s.jsxs("div",{className:"oc-runtime-context-chips","aria-label":"摘要",children:[h.model&&s.jsxs("span",{className:"oc-runtime-context-chip",children:["模型"," ",s.jsx("code",{children:Il(h.model.provider,h.model.modelId)})]}),h.thinkingLevel&&s.jsxs("span",{className:"oc-runtime-context-chip",children:["思考 ",h.thinkingLevel]}),s.jsxs("span",{className:"oc-runtime-context-chip",children:["Prompt ",R.toLocaleString()," 字"]}),s.jsxs("span",{className:"oc-runtime-context-chip",children:["Skills ",h.skills.length]}),s.jsxs("span",{className:"oc-runtime-context-chip",children:["工具 ",k]}),s.jsxs("span",{className:"oc-runtime-context-chip",children:["资源面 ",String(h.resources.mode??"closed")]})]}),s.jsxs("section",{className:"oc-runtime-context-section",children:[s.jsxs("header",{className:"oc-runtime-context-section-head",children:[s.jsxs("div",{children:[s.jsx("strong",{children:"System prompt"}),s.jsxs("code",{className:"oc-runtime-context-hash",children:[h.systemPrompt.hash.slice(0,12),"…"]})]}),M?s.jsx(Km,{text:M}):null]}),s.jsx("pre",{className:"oc-runtime-context-text",children:M||"(空)"})]}),s.jsxs("section",{className:"oc-runtime-context-section",children:[s.jsxs("header",{className:"oc-runtime-context-section-head",children:[s.jsx("strong",{children:"Instruction skills"}),s.jsx("span",{className:"oc-runtime-context-meta",children:h.skills.length===0?"未注入":`${h.skills.length} 个只读方法论片段`})]}),h.skills.length===0?s.jsx("p",{className:"oc-runtime-context-empty",children:"无 skill 注入"}):s.jsx("ul",{className:"oc-runtime-context-skill-cards",children:h.skills.map(Y=>s.jsx("li",{children:s.jsxs("details",{children:[s.jsxs("summary",{children:[s.jsx("code",{children:Y.name}),s.jsxs("span",{children:[Y.charCount.toLocaleString()," 字"]})]}),Y.description?s.jsx("p",{className:"oc-runtime-context-skill-desc",children:Y.description}):null,Y.body?s.jsx("pre",{className:"oc-runtime-context-text",children:Y.body}):s.jsx("p",{className:"oc-runtime-context-empty",children:"正文未下发"})]})},Y.name))})]}),s.jsxs("section",{className:"oc-runtime-context-section",children:[s.jsxs("header",{className:"oc-runtime-context-section-head",children:[s.jsx("strong",{children:"Session suffix"}),s.jsx("span",{className:"oc-runtime-context-meta",children:h.suffix.present?`${(h.suffix.charCount??0).toLocaleString()} 字`:"未注入"})]}),h.suffix.present?s.jsx("pre",{className:"oc-runtime-context-text",children:h.suffix.text??h.suffix.summary??"已注入"}):s.jsx("p",{className:"oc-runtime-context-empty",children:"本会话无额外 suffix"})]}),s.jsxs("section",{className:"oc-runtime-context-section",children:[s.jsxs("header",{className:"oc-runtime-context-section-head",children:[s.jsx("strong",{children:"Active tools"}),s.jsxs("span",{className:"oc-runtime-context-meta",children:[k," 个"]})]}),x.length===0?s.jsx("p",{className:"oc-runtime-context-empty",children:"无激活工具"}):s.jsx("ul",{className:"oc-runtime-context-tools",children:x.map(Y=>s.jsx("li",{children:s.jsx("code",{children:Y})},Y))})]}),s.jsxs("details",{className:"oc-runtime-context-raw",children:[s.jsx("summary",{children:"原始投影 JSON"}),s.jsx("pre",{children:JSON.stringify(h,null,2)})]})]})]})]})});function Km(c){const[u,f]=p.useState(!1),o=()=>{navigator.clipboard?.writeText(c.text).then(()=>{f(!0),window.setTimeout(()=>f(!1),1600)},()=>{})};return s.jsx("button",{type:"button",className:`oc-message-copy${u?" is-copied":""}`,"aria-label":u?"已复制":"复制消息",title:u?"已复制":"复制",onClick:o,children:u?s.jsx(bg,{}):s.jsx(yg,{})})}function gg(c){const{tools:u,defaultOpen:f}=c,[o,h]=p.useState(f),j=ng(u);return p.useEffect(()=>{f&&h(!0)},[f]),s.jsxs("div",{className:"oc-process-inline",children:[s.jsxs("button",{type:"button",className:`oc-process-inline-summary${o?" is-open":""}${j.errorCount>0?" is-error":j.runningCount>0?" is-running":""}`,"aria-expanded":o,onClick:()=>h(x=>!x),children:[s.jsx(Jm,{}),s.jsx("span",{children:j.label})]}),o&&s.jsx("div",{className:"oc-process-inline-body",children:u.map(x=>s.jsx(Vm,{entry:x},x.id))})]})}function Vm(c){const{entry:u}=c,[f,o]=p.useState(u.status==="error"),[h,j]=p.useState(!1),x=u.status==="running"?"运行中":u.status==="error"?"出错":"完成",k=`is-${u.status}`,M=Jv(u.args),R=Pv(u.createdAt,u.finishedAt),Y=Fv(u.resultText,h?{maxLen:Number.MAX_SAFE_INTEGER}:void 0);return s.jsxs("div",{className:`oc-tool ${u.status==="error"?"is-error":""} ${u.status==="running"?"is-running":""}`,children:[s.jsxs("button",{type:"button",className:"oc-tool-head","aria-expanded":f,onClick:()=>o($=>!$),children:[s.jsx(Jm,{}),s.jsx("span",{className:"oc-tool-icon","aria-hidden":"true",children:s.jsx(Sg,{})}),s.jsx("span",{className:"oc-tool-name",children:u.toolName}),M&&s.jsx("span",{className:"oc-tool-args",children:M}),R!==void 0&&s.jsxs("span",{className:"oc-tool-duration",children:[R,"s"]}),s.jsx("span",{className:`oc-tool-status ${k}`,children:x})]}),f&&s.jsxs("div",{className:"oc-tool-body",children:[u.args!==void 0&&s.jsxs("div",{className:"oc-tool-section",children:[s.jsx("div",{className:"oc-tool-label",children:"入参"}),s.jsx("pre",{className:"oc-tool-code",children:Wv(u.args)})]}),u.resultText!==void 0&&s.jsxs("div",{className:"oc-tool-section",children:[s.jsx("div",{className:"oc-tool-label",children:u.status==="error"?"错误":"结果"}),s.jsx("pre",{className:"oc-tool-code",children:Y.text}),Y.truncated&&!h&&s.jsx("button",{type:"button",className:"btn btn-ghost oc-tool-expand-result",onClick:()=>j(!0),children:"展开全部"})]}),u.status==="running"&&u.resultText===void 0&&u.args===void 0&&s.jsx("div",{className:"oc-tool-section",children:s.jsx("div",{className:"oc-tool-waiting",children:"等待结果…"})})]})]})}function yg(){return s.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[s.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),s.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})}function bg(){return s.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:s.jsx("polyline",{points:"20 6 9 17 4 12"})})}function xg(){return s.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[s.jsx("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),s.jsx("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]})}function jg(){return s.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:s.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})})}function Jm(){return s.jsx("svg",{className:"oc-tool-chevron",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:s.jsx("polyline",{points:"4 2.5 7.5 6 4 9.5"})})}function Sg(){return s.jsx("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:s.jsx("path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"})})}const Ng={report:{id:"report",label:"查看报告",action:"dagReport",lane:"dag",guide:"看失败分类与建议动作(交接报告摘要)",commandHint:"loop-agent dag report --run-id <run-id> --json"},doctor:{id:"doctor",label:"Doctor 诊断",action:"doctor",lane:"dag",guide:"只读诊断:检查 Console / Pi / 仓库就绪,不是重跑前置",commandHint:"agent-worker console doctor --repo ."},decision:{id:"decision",label:"人工决策",lane:"dag",guide:"暂停等人时:先看 doctor 输出再做决策(经 CLI)",commandHint:"loop-agent dag doctor --run-id <run-id> --markdown"},resume:{id:"resume",label:"恢复运行",lane:"dag",guide:"仅当运行可安全 resume 时使用(经 CLI)",commandHint:"loop-agent task advance <task-id> --json"},reconcile:{id:"reconcile",label:"对账 / reconcile",requiresReason:!0,lane:"dag",guide:"状态不一致时先对账,再决定是否重跑(需原因)",commandHint:"loop-agent dag reconcile-run --run-id <run-id> --reason <structured-reason>"},regenerate:{id:"regenerate",label:"重新生成契约/计划",lane:"dag",guide:"契约/计划过期时:回任务页或经 CLI 重新 task advance(本页仅提示)",commandHint:"loop-agent task advance <task-id> --json"},observeLink:{id:"observeLink",label:"全屏观测",action:"observeLink",lane:"dag",guide:"打开完整 Inspect 画布;顶栏可返回操作台",commandHint:"agent-worker console serve --repo . --port 8790"},dagRerun:{id:"dagRerun",label:"从节点重跑",requiresReason:!0,action:"dagRerun",lane:"dag",guide:"终端失败默认首选:先 dagRerunPlan,plan 合格再 Human Gate 执行;provider 抖动/只读下游优先,勿无理由新开 task",commandHint:"loop-agent dag rerun --run-id <run-id> --from-node <node-id> --plan"},standaloneTaskRerun:{id:"standaloneTaskRerun",label:"完整重跑任务",requiresReason:!0,action:"standaloneTaskRerun",lane:"dag",guide:"整单重跑:仅当 from-node plan 不合格(writer/decision/fingerprint)或契约/源真变时;需确认原因",commandHint:"loop-agent dag rerun-task --run-id <run-id> --reason <text> --json"},workerTaskRetry:{id:"workerTaskRetry",label:"重新排队 Worker Task",requiresReason:!0,action:"workerTaskRetry",lane:"worker",guide:"仅 Worker 队列任务失败时使用,不要与 DAG 重跑混用",commandHint:"agent-worker task retry <task-id> --feature-id <feature-id> --repo . --reason <reason>"}},qm={"validation-failed":["report","doctor","regenerate"],"contract-drift":["report","doctor","decision","reconcile","regenerate"],"runtime-mismatch":["report","doctor","reconcile","regenerate"],"pause-on-human":["decision","resume","report","doctor"],"verification-failed":["report","doctor","dagRerun","standaloneTaskRerun","resume","regenerate"],"orphan-unknown":["report","doctor","reconcile"],"terminal-failed":["report","doctor","dagRerun","standaloneTaskRerun","workerTaskRetry","regenerate"],"terminal-succeeded":["report","observeLink"],"needs-reconcile":["report","doctor","reconcile","regenerate"]};function Tg(c){return(qm[c]??qm["orphan-unknown"]).map(f=>Ng[f])}function Cg(c){const u=[],f=[];for(const o of c)o.lane==="worker"?f.push(o):u.push(o);return{dag:u,worker:f}}function Eg(c){return typeof c.action=="string"&&c.action.trim().length>0}function Wm(c){return Tg(c).filter(Eg)}function Ag(c){const u=new Set(Wm(c).map(o=>o.id)),f=(...o)=>{for(const h of o)if(u.has(h))return h;return null};switch(c){case"terminal-failed":case"verification-failed":return f("dagRerun","standaloneTaskRerun","doctor","report");case"pause-on-human":return f("doctor","report");case"needs-reconcile":case"runtime-mismatch":case"contract-drift":return f("doctor","report");case"validation-failed":return f("doctor","report");case"terminal-succeeded":return f("observeLink","report");default:return f("doctor","report")}}function kg(c){if(c.needsReconcile)return"needs-reconcile";const u=(c.errorCode??"").toLowerCase(),f=(c.operationState??"").toLowerCase(),o=(c.dagStatus??"").toLowerCase();return u.includes("validation")||u.includes("invalid")||f.includes("validation")?"validation-failed":u.includes("contract")||u.includes("drift")||u.includes("binding")?"contract-drift":u.includes("runtime")||u.includes("mismatch")||u.includes("fingerprint")?"runtime-mismatch":u.includes("human")||f.includes("paused")||o.includes("paused")||f.includes("awaiting")?"pause-on-human":u.includes("verif")||f.includes("verif")?"verification-failed":f==="succeeded"||f==="completed"||o==="succeeded"||o==="completed"?"terminal-succeeded":f==="failed"||f.includes("fail")||o==="failed"||u.includes("fail")?"terminal-failed":u.includes("reconcil")||f.includes("reconcil")?"needs-reconcile":"orphan-unknown"}const Br=new Set(["failed","error","partial_failed"]),Fm=new Set(["blocked","paused","awaiting_human"]);function Sc(c){return(c??"").trim().toLowerCase()}function Rg(c){return Br.has(Sc(c))}function Bm(c){const u=Sc(c.status);return Br.has(u)||u.includes("fail")?0:c.lifecycle==="paused"||u==="paused"?1:c.lifecycle==="active"?2:3}function Dg(c){return[...c].sort((u,f)=>{const o=Bm(u)-Bm(f);return o!==0?o:f.mtimeMs-u.mtimeMs})}function wg(c){return Dg(c)[0]?.dagRunId}function Gm(c){const u=Sc(c.status);return Br.has(u)?0:Fm.has(u)?1:2}function Pm(c){return[...c].sort((u,f)=>{const o=Gm(u)-Gm(f);return o!==0?o:u.nodeId.localeCompare(f.nodeId)})}function Og(c){const u=Pm(c);return u.find(o=>Rg(o.status)||Fm.has(Sc(o.status)))?.nodeId??u[0]?.nodeId}function zg(c){const u=c.status?.trim()||c.lifecycle;return`${c.dagRunId.length>36?`${c.dagRunId.slice(0,18)}…${c.dagRunId.slice(-8)}`:c.dagRunId} · ${u}`}function _g(c){const u=c.status?.trim()||"unknown",f=c.label?.trim();return f&&f!==c.nodeId?`${c.nodeId} · ${u} · ${f}`:`${c.nodeId} · ${u}`}function Mg(c){const f=[`operator-recovery: ${c.actionLabel?.trim()||"恢复"}`],o=c.dagRunId?.trim();if(o){const k=c.runStatus?.trim();f.push(k?`run=${o} (${k})`:`run=${o}`)}const h=c.fromNodeId?.trim();if(h){const k=c.nodeStatus?.trim();f.push(k?`from-node=${h} (${k})`:`from-node=${h}`)}const j=c.factClassLabel?.trim();j&&f.push(`fact=${j}`);const x=c.nodeError?.trim()||c.errorMessage?.trim()||(c.errorCode?.trim()?`code=${c.errorCode.trim()}`:"");return x&&f.push(`detail=${x.replace(/\s+/g," ").slice(0,280)}`),f.join(`
|
|
20
|
+
`).slice(0,500)}function Ym(c){const u=c.trim();return u?u==="operator-recovery"||u.startsWith("operator-recovery:")||u.startsWith("recovery:"):!0}const Hr=8*1024*1024,Ug=10*1024*1024,jc=8,Hg=".md,.markdown,.txt,text/markdown,text/plain",Lg=[".md",".markdown",".txt"],Gr=/\.[^.]+$/;function qg(c){const u=Gr.exec(c.trim());return u?u[0].toLowerCase():""}function Bg(c){const u=qg(c);return Lg.includes(u)}function Lr(c){if(!Number.isFinite(c)||c<0)return"0 B";if(c<1024)return`${c} B`;if(c<1024*1024){const f=c/1024;return`${f>=10?f.toFixed(0):f.toFixed(1)} KiB`}const u=c/(1024*1024);return`${u>=10?u.toFixed(1):u.toFixed(2)} MiB`}function Za(c,u){return{ok:!1,code:c,message:u}}function Gg(c,u){const f=c?Array.from(c):[],o=u?.maxFiles??jc,h=u?.existingCount??0;return f.length===0?Za("file-count","请选择至少一个 .md / .markdown / .txt 文件"):h+f.length>o?Za("file-count",`最多支持 ${o} 个文件(当前已有 ${h} 个)`):null}async function Yg(c){const u=c.name?.trim()||"untitled.md";if(!Bg(u))return Za("unsupported-extension","仅支持 .md、.markdown、.txt 文件");if(c.size>Hr)return Za("file-too-large",`文件不能超过 ${Lr(Hr)}`);let f;try{f=await c.arrayBuffer()}catch{return Za("read-failed","文件读取失败,请重试或直接粘贴")}let o;try{o=new TextDecoder("utf-8",{fatal:!0}).decode(f)}catch{return Za("invalid-utf8","文件不是有效 UTF-8,请另存为 UTF-8")}if(o.trim().length===0)return Za("empty-content","文件内容不能为空或只有空白");const h=new TextEncoder().encode(o).byteLength;return{ok:!0,text:o,fileName:u,sourceBytes:c.size,textBytes:h}}async function $g(c){if(c.length===0)return Za("file-count","请选择至少一个 .md / .markdown / .txt 文件");if(c.length>jc)return Za("file-count",`最多支持 ${jc} 个文件`);const u=[];for(const f of c){const o=await Yg(f);if(!o.ok)return o;u.push({fileName:o.fileName,text:o.text,sourceBytes:o.sourceBytes,textBytes:o.textBytes})}return{ok:!0,documents:u}}function Ig(c,u){const f=c.split(/\r?\n/);for(const h of f){const j=/^(#{1,6})\s+(.+)$/.exec(h.trim());if(j?.[2])return j[2].trim()}for(const h of f){const j=h.trim();if(j&&!/^---+$/.test(j)&&!/^```/.test(j)&&!/^<!--/.test(j))return j.replace(/^>\s+/,"").slice(0,120)}return u.replace(Gr,"").trim()||"需求"}function Xg(c){return c.trim().toLowerCase().replace(/[^a-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")||"requirement"}function Qg(c,u){const f=c.replace(Gr,"").trim(),o=Xg(f);return o==="requirement"&&/[^\u0000-\u007f]/.test(f)?`part-${u+1}`:o==="requirement"?f?`part-${u+1}`:`part-${u+1}`:o}function Zg(c){const u=new Set;return c.map((f,o)=>{let h=Qg(f.fileName,o);if(u.has(h)){let j=2;for(;u.has(`${h}-${j}`);)j+=1;h=`${h}-${j}`}return u.add(h),{name:h,content:f.text,fileName:f.fileName}})}function Kg(c,u){if(c.length===0)return"";if(c.length===1)return c[0].text;const f=Math.min(Math.max(0,u?.primaryIndex??0),c.length-1),o=c[f],h=Ig(o.text,o.fileName),x=[`<!-- composed-from: ${c.map(k=>k.fileName).join(", ")} -->`,"",`# ${h}`,""];for(const k of c)x.push(`## 来源:${k.fileName}`,"",k.text.trim(),"");return`${x.join(`
|
|
21
|
+
`).trimEnd()}
|
|
22
|
+
`}function Vg(c,u,f){const o={action:c,actionParams:u};return new TextEncoder().encode(JSON.stringify(o)).byteLength<=Ug}function Jg(){return"最终内容导致请求体超过服务端限制,请缩小文档或减少文件数量"}function Wg(c){return c==="validate"||c==="apply"||c==="spine"?"contract":c}const eh="X-Loop-Console-Confirmation",Fg="agent-worker console doctor --repo .",Dr=[{kind:"standard",label:"后端研发(默认 DAG)",hint:"生成标准 hybrid DAG(contract → implement → verify)"},{kind:"frontend-implementation",label:"前端研发",hint:"生成 frontend-implementation 专用节点链"},{kind:"backend-test",label:"后端测试",hint:"生成 backend-test-dag(分析 / 用例 / pytest)"},{kind:"frontend-test",label:"前端测试",hint:"生成 frontend-test-dag(RAG 用例 + Playwright CLI)"}],wr={"setup-required":"需要设置",ready:"已就绪",degraded:"降级可用",unknown:"未知"},Pg={idle:"未探测",match:"匹配",mismatch:"仓库不匹配",unavailable:"不可用"},$m={low:"低",medium:"中",high:"高"},Im={"validation-failed":"校验失败","contract-drift":"契约漂移","runtime-mismatch":"运行时不匹配","pause-on-human":"等待人工","verification-failed":"验证失败","orphan-unknown":"孤立/未知","terminal-failed":"已终止(失败)","terminal-succeeded":"已终止(成功)","needs-reconcile":"需要对账"},ey={idle:"空闲","not-started":"未开始","not-run":"未运行","n/a (MVP)":"不适用(MVP)",accepted:"已接受",succeeded:"已成功",running:"运行中",ran:"已执行"};function yc(c){return ey[c]??c}function th(){return window.__CONSOLE_CONFIRMATION_TOKEN__??""}function bc(c){return`${c}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}async function Or(c,u={},f){const o={"Content-Type":"application/json",[eh]:th()},h=await fetch("/api/operator/v1/operations",{method:"POST",credentials:"same-origin",headers:o,body:JSON.stringify({action:c,actionParams:u,...f?{clientRequestId:f}:{}})});let j={};try{j=await h.json()}catch{j={ok:!1,error:{code:"INVALID_INPUT",message:"操作响应不是合法 JSON"}}}return{status:h.status,body:j}}const ty=new Set(["runDag","dagRerun","standaloneTaskRerun"]);function zr(c){const u=(c.blockedReasons??[]).map(String),f=(c.blockingNodes??[]).map(h=>[h.nodeId,h.reasonCode].filter(Boolean).join(":")),o=[...u,...f].filter(Boolean);return o.length===0?"从节点重跑不具备安全资格(子图含 writer / unsafe shell / decision-gate 等)。可改用「完整重跑任务」,或另选只读安全子图的起始节点。":`从节点重跑不具备安全资格:${o.slice(0,6).join("; ")}${o.length>6?"…":""}。可改用「完整重跑任务」。`}async function Xm(c,u=9e4){const f=Date.now();for(;Date.now()-f<u;){const o=await fetch(`/api/operator/v1/operations/${encodeURIComponent(c)}`,{credentials:"same-origin"});if(!o.ok)return null;const h=await o.json(),j=h.operation??h,x=j.state??"";if(x==="succeeded"||x==="failed"||x==="needs-reconcile"||x==="timed-out")return j;await new Promise(k=>setTimeout(k,250))}return{state:"needs-reconcile",errorMessage:"等待操作结果超时"}}function ny(){const[c,u]=p.useState(()=>ig({env:void 0,storage:window.localStorage,location:window.location})),[f,o]=p.useState(null),[h,j]=p.useState("setup-required"),[x,k]=p.useState(null),[M,R]=p.useState(null),[Y,$]=p.useState("setup"),ee=p.useCallback(v=>{$(_=>Wg(typeof v=="function"?v(_):v))},[]),[I,le]=p.useState(""),[ce,ot]=p.useState(""),[de,Ce]=p.useState("standard"),_e=Dr.find(v=>v.kind===de)??Dr[0],[vt,gt]=p.useState(`# 需求
|
|
23
|
+
|
|
24
|
+
实现 Loop Operator Console Happy Path:Interview → 契约落地 → DAG confirm → run。
|
|
25
|
+
`),[ve,re]=p.useState([]),[ie,Pe]=p.useState(0),[Ie,yt]=p.useState(!1),[qe,dt]=p.useState(null),[Xe,Nt]=p.useState(!1),[O,Z]=p.useState(!1),W=p.useRef(0),Se=p.useRef(0),[Ne,y]=p.useState(null),[T,X]=p.useState(null),[J,ne]=p.useState(""),[oe,Ee]=p.useState(null),[Be,et]=p.useState(null),[Bt,Sn]=p.useState(null),[ua,Nn]=p.useState(null),[It,Ke]=p.useState(null),[q,ye]=p.useState(!1),[tt,Ve]=p.useState(null),[kt,Tt]=p.useState(null),ja=p.useRef(!1),[Bn,Gt]=p.useState(null),[ea,Sa]=p.useState(null),[ra,Na]=p.useState(null),[Sl,St]=p.useState([]),[Tn,Ta]=p.useState(!0),Xt=p.useRef(null),[te,Oe]=p.useState(!1),[Yt,Ka]=p.useState(!1),[oa,Ae]=p.useState(null),[mn,Me]=p.useState(null),[sn,zt]=p.useState(null),[ta,hn]=p.useState(null),[Ca,cn]=p.useState({command:"idle",dag:"not-started",verification:"not-run",promote:"n/a (MVP)"}),[be,pn]=p.useState(""),[Va,da]=p.useState("idle"),[Ea,Gn]=p.useState(null),[Cn,fa]=p.useState(null),[Aa,En]=p.useState(!1),[Ge,ft]=p.useState(""),[me,en]=p.useState(""),[tn,Ja]=p.useState(""),[un,ka]=p.useState(!1),[ct,Yn]=p.useState(null),[Rt,rn]=p.useState(null),[Qt,on]=p.useState([]),[Ue,ma]=p.useState([]),[ha,nn]=p.useState(!1),[na,Nl]=p.useState(!1),[$n,pa]=p.useState(null),[Ra,An]=p.useState(!1),[Lt,Zt]=p.useState(!1),[mt,aa]=p.useState(null),kn=h==="setup-required",In=h==="degraded",Rn=p.useCallback(v=>{v!==c&&(Ae(null),zt(null),Me(null)),u(v)},[c]),vn=p.useCallback((v,_={})=>{Rn(v),_.taskId&&le(_.taskId),_.dagRunId&&pn(_.dagRunId),_.fromNodeId&&ft(_.fromNodeId),_.featureId&&en(_.featureId)},[Rn]);p.useEffect(()=>{const v=ug(window.location);v&&vn(v.workspace,v)},[vn]);const Wa=p.useCallback(async()=>{try{const _=await(await fetch("/api/health")).json();o(_);const H=_.piReadiness??"setup-required";j(H),R(null),ee(H==="ready"||H==="degraded"?Q=>Q==="setup"?"import-prd":Q:"setup")}catch(v){R(v instanceof Error?v.message:String(v))}try{const _=await(await fetch("/api/operator/v1/readiness")).json();k(_),_.state&&j(_.state)}catch{}},[]);p.useEffect(()=>{Wa()},[Wa]);const Kt=p.useCallback(()=>{Sn(null),Nn(null),Ke(null),ye(!1),Ve(null),Tt(null),ja.current=!1},[]),Dn=p.useCallback(()=>{Kt(),ee("contract")},[Kt,ee]),Da=p.useCallback(v=>{const _=v.session;_?.sessionId&&y(_.sessionId);const H=v.question;X(H),Ee(v.summary??null);const Q=v.assessmentId;typeof Q=="string"&&Q&&et(Q),(v.complete===!0||typeof Q=="string"&&Q)&&(Dn(),Me(v.skipped===!0?"已跳过访谈:已按推荐补齐草稿并签发评估":"访谈已完成:草稿已绑定完整评估结果"))},[Dn]),xe=p.useCallback(async(v,_={},H)=>{Oe(!0),Ae(null),zt(null),Me(null);try{const{status:Q,body:V}=await Or(v,_,H?.clientRequestId);if(Q===412||V.error?.code==="PI_SETUP_REQUIRED")return Ae(oi(V.error?.message??"Pi 未就绪或已降级:该操作暂不可用")),zt(V.error?.code??"PI_SETUP_REQUIRED"),j("setup-required"),ee("setup"),u("models"),V;if(Q>=400||V.ok===!1)return Ae(oi(V.error?.message??V.message??`操作失败(HTTP ${Q})`)),zt(V.error?.code??String(Q)),hn(V.state??`failed:${Q}`),cn(Ct=>({...Ct,command:V.error?.message??`failed:${V.error?.code??Q}`})),V;if(V.operationId){const Ct=window.localStorage.getItem(ca)?.trim();if(Ct&&fetch(`/api/operator/v1/chat/sessions/${encodeURIComponent(Ct)}/operation-links`,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json",[eh]:th()},body:JSON.stringify({operationId:V.operationId})}).then(fe=>{fe.ok||console.warn("Operator Chat operation link failed",fe.status)}).catch(fe=>console.warn("Operator Chat operation link failed",fe)),Na(V.operationId),hn(V.state??"accepted"),cn(fe=>({...fe,command:V.state??"accepted",dag:v==="runDag"?"running":fe.dag})),ty.has(v)){Ta(!0),Me(`操作已接受,后台运行中:${V.operationId}(请看事件流;可同时打开 Observe)`);const fe=V.operationId;Xm(fe,30*6e4).then(pt=>{if(pt){if(hn(pt.state??null),pt.state==="failed"||pt.state==="needs-reconcile"||pt.state==="timed-out"){Ae(oi(pt.errorMessage??pt.stderrPreview??`操作失败:${pt.state}`)),zt(pt.errorCode??pt.state??null),cn(On=>({...On,command:`failed:${pt.errorCode??pt.state}`}));return}pt.state==="succeeded"&&(Me(`${v} 已成功`),cn(On=>({...On,command:"succeeded"})))}})}else{Me(`操作已接受:${V.operationId}`);const fe=await Xm(V.operationId);if(fe){if(hn(fe.state??null),fe.state==="failed"||fe.state==="needs-reconcile"||fe.state==="timed-out")return Ae(oi(fe.errorMessage??fe.stderrPreview??`操作失败:${fe.state}`)),zt(fe.errorCode??fe.state??null),cn(wa=>({...wa,command:`failed:${fe.errorCode??fe.state}`})),{ok:!1,operationId:V.operationId,state:fe.state,error:{code:fe.errorCode??fe.state??"INTERNAL_ERROR",message:fe.errorMessage??fe.stderrPreview??`操作失败:${fe.state}`}};Me(fe.errorMessage?`${v}:${fe.errorMessage}`:`${v} 已成功`),cn(wa=>({...wa,command:fe.state??"succeeded"}));const pt=fe.result??{},On={ok:!0,operationId:V.operationId,state:fe.state??"succeeded",result:pt};(v==="interviewStart"||v==="interviewTurn"||v==="interviewSkip")&&Da(pt);const Al=pt.confirmation;return Al?.confirmationId&&(Gt(Al.confirmationId),Sa(pt)),H?.advanceTo&&ee(H.advanceTo),On}}}else Me(`${v} 已完成`),hn(V.state??"succeeded"),cn(Ct=>({...Ct,command:"succeeded",verification:v==="contractValidate"||v==="spineCheck"?"ran":Ct.verification}));const Te=V.result??{};(v==="interviewStart"||v==="interviewTurn"||v==="interviewSkip")&&Da(Te);const Le=Te.confirmation;return Le?.confirmationId&&(Gt(Le.confirmationId),Sa(Te)),H?.advanceTo&&ee(H.advanceTo),V}catch(Q){Ae(Q instanceof Error?Q.message:String(Q));return}finally{Oe(!1)}},[Da]),wn=p.useCallback(v=>{if(!v)return"无响应";if(v.error?.message)return v.error.message;if(v.message)return v.message;const _=v.result;if(_&&typeof _=="object")try{return JSON.stringify(_).slice(0,1200)}catch{return"已返回结果"}return v.ok===!1?"失败":"成功"},[]),ht=p.useCallback(v=>{if(!v||v.ok===!1||v.error)return!1;const _=v.result;if(!_)return!0;if(typeof _.valid=="boolean")return _.valid;const H=_.result;return H&&typeof H.valid=="boolean"?H.valid:!0},[]),m=p.useCallback(async(v=!1)=>{const _=I.trim();if(!_)return;const H=`${_}:${Be??""}`;if(!(!v&&kt===H&&Bt!==null)&&!ja.current){ja.current=!0,Sn(null),Nn(null),Ke(null),Ve(null),ye(!1);try{const Q=await xe("contractValidate",{taskId:_}),V=ht(Q);if(Sn(V),Nn(wn(Q)),!V){Tt(H),Me("契约校验未通过:请先修正草稿后再应用");return}const Te=await xe("contractDiff",{taskId:_});Ke(wn(Te)),Tt(H),Me(ht(Te)?"校验与差异已就绪:确认后可应用契约":"校验通过,但差异查询失败(仍可查看下方摘要)")}finally{ja.current=!1}}},[Be,kt,Bt,ht,xe,wn,I]),S=p.useCallback(async()=>{const v=I.trim();if(!v||!Be)return;const _=await xe("contractApply",{taskId:v,assessmentId:Be},{clientRequestId:bc("apply")});if(!ht(_)){ye(!1);return}ye(!0);const H=await xe("spineCheck",{taskId:v});if(ht(H)){Ve(!0),ee("dag-confirm"),Me("契约已应用并通过 Spine 审计,可生成并运行 DAG");return}Ve(!1),Me("契约已应用,但 Spine 审计未通过:可重试 Spine")},[Be,ht,xe,ee,I]),D=p.useCallback(async()=>{const v=I.trim();if(!v)return;const _=await xe("spineCheck",{taskId:v});if(ht(_)){Ve(!0),ee("dag-confirm"),Me("Spine 审计已通过,可生成并运行 DAG");return}Ve(!1)},[ht,xe,ee,I]),B=p.useCallback(async()=>{const v=Bn?.trim();if(!v)return;const _=ea?.confirmation?.humanGateToken,H=await xe("confirmDagConfirmation",{confirmationId:v,humanGateToken:_});ht(H)&&(ee("run"),await xe("runDag",{confirmationId:v},{clientRequestId:bc("run")}))},[Bn,ea,ht,xe,ee]);p.useEffect(()=>{Y==="contract"&&I.trim()&&m(!1)},[Y,I,Be,m]);const F=p.useCallback(async v=>{Xt.current?.abort();const _=new AbortController;Xt.current=_,St(H=>[...H,`开始跟随事件流 ${v}`]);try{const H=await fetch(`/api/operator/v1/operations/${encodeURIComponent(v)}/events`,{credentials:"same-origin",signal:_.signal});if(!H.ok||!H.body){St(Le=>[...Le,`事件流 HTTP ${H.status}`]);return}const Q=H.body.getReader(),V=new TextDecoder;let Te="";for(;Tn;){const{done:Le,value:Ct}=await Q.read();if(Le)break;Te+=V.decode(Ct,{stream:!0});const fe=Te.split(`
|
|
26
|
+
|
|
27
|
+
`);Te=fe.pop()??"";for(const pt of fe){const On=pt.split(`
|
|
28
|
+
`).find(wa=>wa.startsWith("data:"));if(!On)continue;const Al=On.slice(5).trim();St(wa=>[...wa.slice(-80),Al.slice(0,240)])}}}catch(H){H.name!=="AbortError"&&St(Q=>[...Q,`事件流错误:${H instanceof Error?H.message:String(H)}`])}},[Tn]);p.useEffect(()=>(ra&&Tn&&(Y==="run"||c==="recovery")&&F(ra),()=>Xt.current?.abort()),[ra,Tn,Y,c,F]);const G=p.useCallback(()=>be.trim()?`/inspect/#/dag/${encodeURIComponent(be.trim())}`:"/inspect/#/",[be]),He=p.useCallback(()=>{window.location.assign(G())},[G]),ut=p.useCallback(async()=>{if(be.trim())return be.trim();const v=I.trim();if(!v)return Ae("打开 DAG 检视需要任务 ID 或 DAG 运行 ID"),null;Ka(!0),Ae(null);try{const{status:_,body:H}=await Or("observeLink",{taskId:v}),Q=H.result??{};if(_>=400||H.ok===!1)return Ae(H.error?.message??"无法解析 DAG 画布地址"),da("unavailable"),Gn(H.error?.message??null),null;const V=typeof Q.dagRunId=="string"?Q.dagRunId.trim():"";return V?(pn(V),da("match"),Gn(null),fa(`/inspect/#/dag/${encodeURIComponent(V)}`),V):(Ae("尚未找到该任务的 DAG 运行,请稍后再打开检视"),da("unavailable"),Gn(Q.message??"未解析到 DAG run"),null)}catch(_){return Ae(_ instanceof Error?_.message:String(_)),null}finally{Ka(!1)}},[be,I]),K=p.useCallback(async()=>{await ut()&&En(!0)},[ut]),he=p.useCallback(async()=>{const v=await ut();v&&window.location.assign(`/inspect/#/dag/${encodeURIComponent(v)}`)},[ut]),Je=p.useCallback(async()=>{nn(!0);try{const v=I.trim(),_=new URLSearchParams;v&&_.set("taskId",v),_.set("limit","40");const H=await fetch(`/api/operator/v1/recovery/candidates?${_.toString()}`,{credentials:"same-origin"});if(!H.ok){on([]);return}const Q=await H.json();on(Array.isArray(Q.runs)?Q.runs:[])}catch{on([])}finally{nn(!1)}},[I]),Qe=p.useCallback(async v=>{const _=v.trim();if(!_){ma([]),pa(null);return}Nl(!0);try{const H=await fetch(`/api/dag-runs/${encodeURIComponent(_)}`,{credentials:"same-origin"});if(!H.ok){ma([]),pa(null);return}const Q=await H.json();pa(typeof Q.status=="string"?Q.status:null);const V=Array.isArray(Q.nodes)?Q.nodes:[],Te=Pm(V.map(Le=>{const Ct=(Le.nodeId??Le.id??"").trim();return Ct?{nodeId:Ct,status:Le.status,label:Le.label??Le.name,errorPreview:Le.errorPreview}:null}).filter(Le=>Le!==null));ma(Te)}catch{ma([]),pa(null)}finally{Nl(!1)}},[]);p.useEffect(()=>{c==="recovery"&&Je()},[c,I,Je]),p.useEffect(()=>{if(c!=="recovery"||Ra||Qt.length===0)return;const v=be.trim(),_=v?Qt.some(H=>H.dagRunId===v):!1;if(!v||!_){const H=wg(Qt);H&&H!==v&&pn(H)}},[c,Qt,be,Ra]),p.useEffect(()=>{c==="recovery"&&Qe(be)},[c,be,Qe]),p.useEffect(()=>{if(c!=="recovery"||Lt||Ue.length===0)return;const v=Ge.trim(),_=v?Ue.some(H=>H.nodeId===v):!1;if(!v||!_){const H=Og(Ue);H&&H!==v&&ft(H)}},[c,Ue,Ge,Lt]);const We=kg({operationState:$n?null:ta,errorCode:$n?null:sn,dagStatus:$n}),Fe=p.useMemo(()=>Wm(We),[We]),va=p.useMemo(()=>Cg(Fe),[Fe]),Vt=p.useMemo(()=>Ag(We),[We]),Fa=p.useMemo(()=>Ue.find(v=>v.nodeId===Ge.trim()),[Ue,Ge]),Pa=p.useRef(null);p.useEffect(()=>{Rt&&Pa.current?.scrollIntoView({behavior:"smooth",block:"nearest"})},[Rt?.id]);const dn=p.useCallback(v=>Mg({actionLabel:v,dagRunId:be.trim()||void 0,fromNodeId:Ge.trim()||void 0,runStatus:$n,nodeStatus:Fa?.status,nodeError:Fa?.errorPreview,factClassLabel:Im[We],errorMessage:oa,errorCode:sn}),[be,Ge,oa,sn,We,$n,Fa?.errorPreview,Fa?.status]);p.useEffect(()=>{if(c!=="recovery"||un&&!Ym(tn))return;const v=dn(Rt?.label);v&&v!==tn&&Ja(v)},[c,be,Ge,$n,Fa,We,oa,sn,Rt?.label,un,tn,dn]);const Xl=p.useCallback(async v=>{if(v.requiresReason||(rn(null),Yn(null)),v.action==="doctor"){aa(null),xe("doctor",{});return}if(v.action==="dagReport"||v.id==="report"){const _=be.trim();if(_){rn(null),Yn(null);const H=await xe("dagReport",{runId:_}),Q=H?.result??{},V=(Q.raw?.runs??Q.runs)?.[0];H&&H.ok!==!1&&!H.error&&V&&(aa({runId:V.runId??_,title:V.title,status:V.status,category:V.productLineFailureCategory,recommendation:V.recoveryRecommendation?.summary??V.recommendedFollowUp??void 0}),Me(null));return}if(I.trim()){aa(null),xe("status",{taskId:I});return}Ae("查看报告需要先选择 DAG 运行 ID(或填写任务 ID)");return}if(v.action==="observeLink"){aa(null),he();return}if(v.requiresReason){if(aa(null),rn(v),Yn(null),v.id!=="dagRerun"&&(Ae(null),zt(null)),(!un||Ym(tn))&&(Ja(dn(v.label)),ka(!1)),v.id==="dagRerun"&&be.trim()&&Ge.trim()){Oe(!0);try{const{status:_,body:H}=await Or("dagRerunPlan",{runId:be.trim(),fromNode:Ge.trim()}),Q=H.result??{};Q&&typeof Q=="object"&&("eligible"in Q||Q.planHash)&&Yn(Q),_<400&&H.ok!==!1&&Q.eligible!==!1?Me(null):Q.eligible===!1?Ae(H.error?.message??zr(Q)):Me(H.error?.message??"无法预检重跑计划;确认后仍将尝试提交(CLI 可能尚未就绪)")}finally{Oe(!1)}}return}Ae(null),zt(null),Me(`${v.label}:请经 CLI — ${v.commandHint??""}`)},[dn,be,Ge,he,tn,un,xe,I]),Tl=p.useCallback(async()=>{const v=Rt;if(!v)return;const _=tn.trim();if(!_){Ae("恢复操作需要结构化原因");return}const H=bc(`recovery-${v.id}`);if(rn(null),v.id==="dagRerun"){const Q=be.trim(),V=Ge.trim();if(!Q||!V){Ae("从节点重跑需要 DAG 运行 ID 与起始节点 ID");return}let Te=ct?.planHash?.trim(),Le=ct?.eligible;if(!Te||Le===void 0){const Ct=await xe("dagRerunPlan",{runId:Q,fromNode:V}),fe=Ct?.result??{};if((fe.planHash||fe.eligible!==void 0)&&Yn(fe),Te=fe.planHash?.trim()||Te,Le=fe.eligible,fe.eligible===!1){Ae(Ct?.error?.message??zr(fe));return}if(Ct&&Ct.ok===!1&&!Te){Ae(Ct.error?.message??"无法获取 planHash;请确认 loop-agent dag rerun --plan 可用");return}}if(Le===!1){Ae(zr(ct??{}));return}if(!Te){Ae("无法获取 planHash;请确认 loop-agent dag rerun --plan 可用");return}await xe("dagRerun",{runId:Q,fromNode:V,planHash:Te,reason:_},{clientRequestId:H});return}if(v.id==="standaloneTaskRerun"){const Q=be.trim();if(!Q){Ae("完整重跑任务需要 DAG 运行 ID");return}const V={runId:Q,reason:_,...I.trim()?{taskId:I.trim()}:{}},Te=await xe("prepareMutationGate",{action:"standaloneTaskRerun",actionParams:V});if(!ht(Te))return;const Le=Te?.result??Te;if(!Le.receiptId||!Le.humanGateToken){Ae("prepareMutationGate 未返回可消费的 Human Gate receipt");return}await xe("standaloneTaskRerun",{...V,confirmationId:Le.receiptId,humanGateToken:Le.humanGateToken},{clientRequestId:H});return}if(v.id==="workerTaskRetry"){const Q=I.trim();if(!Q){Ae("重新排队 Worker Task 需要任务 ID");return}const V={taskId:Q,reason:_,...me.trim()?{featureId:me.trim()}:{}},Te=await xe("prepareMutationGate",{action:"workerTaskRetry",actionParams:V});if(!ht(Te))return;const Le=Te?.result??Te;if(!Le.receiptId||!Le.humanGateToken){Ae("prepareMutationGate 未返回可消费的 Human Gate receipt");return}await xe("workerTaskRetry",{...V,confirmationId:Le.receiptId,humanGateToken:Le.humanGateToken},{clientRequestId:H});return}if(v.id==="reconcile"){if(!be.trim()){Ae("对账恢复需要 DAG 运行 ID");return}Me(`${v.label}:请经 CLI — ${v.commandHint??""}`);return}Me(`${v.label}:请经 CLI — ${v.commandHint??""}`)},[be,me,Ge,Rt,ct?.planHash,tn,xe,ht,I]),an=p.useCallback((v,_)=>{const H=v.length===0?0:Math.min(Math.max(0,_),v.length-1);Pe(H),gt(Kg(v,{primaryIndex:H})),yt(!1)},[]),Ql=p.useCallback(async v=>{const _=Gg(v,{existingCount:ve.length});if(_){dt(_.message);return}const H=Array.from(v),Q=++Se.current;Nt(!0),dt(null);try{const V=await $g(H);if(Q!==Se.current)return;if(!V.ok){dt(V.message);return}const Te=[...ve,...V.documents],Le=ve.length===0?0:ie;re(Te),ve.length===0||!Ie?(an(Te,Le),dt(null)):dt("已追加文件,未改正文(正文已手动编辑);可点「按文件重新合成」覆盖。")}catch{if(Q!==Se.current)return;dt("文件读取失败,请重试或直接粘贴")}finally{Q===Se.current&&Nt(!1)}},[an,Ie,ve,ie]),Cl=[{id:"setup",label:"就绪检查"},{id:"import-prd",label:"导入需求"},{id:"interview",label:"需求访谈(可跳过)"},{id:"contract",label:"契约落地"},{id:"dag-confirm",label:"确认 DAG"},{id:"run",label:"运行"}],fi=Cl.findIndex(v=>v.id===Y),El=v=>!Rt||Rt.lane!==v?null:s.jsxs("div",{ref:Pa,className:"recovery-confirm","data-testid":"recovery-confirm",children:[s.jsxs("h3",{children:["待确认:",Rt.label]}),s.jsx("p",{className:"muted",children:"请核对上方运行 / 节点与恢复原因,再点「确定」执行。"}),ct?s.jsxs("div",{className:"recovery-plan-summary",children:[s.jsxs("p",{className:"muted",children:["计划 eligible=",String(ct.eligible??"—")," · 风险=",$m[ct.risk??""]??ct.risk??"—"]}),ct.effectiveFromNodeId?s.jsxs("p",{className:"muted",children:["有效起点:",ct.effectiveFromNodeId]}):null,ct.estimatedExecution?s.jsxs("p",{className:"muted",children:["将执行 ",ct.estimatedExecution.nodeCount??"?"," ","个节点 /"," ",ct.estimatedExecution.piCallCount??"?"," 次 Pi;预计避免"," ",ct.estimatedExecution.avoidedNodeCount??"?"," ","个节点"]}):null,ct.planHash?s.jsxs("p",{className:"muted",children:["planHash:"," ",s.jsxs("code",{children:[ct.planHash.slice(0,16),"…"]})]}):null]}):Rt.id==="dagRerun"?s.jsx("p",{className:"muted",children:"未加载计划摘要;点「确定」前将再次尝试资格检查。"}):null,s.jsxs("div",{className:"cta-row",children:[s.jsx("button",{type:"button",className:"btn btn-primary",disabled:te||!tn.trim(),"data-testid":"recovery-confirm-submit",onClick:()=>{Tl()},children:"确定"}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:te,"data-testid":"recovery-confirm-cancel",onClick:()=>{rn(null),Yn(null)},children:"取消"})]})]});return s.jsx(s.Fragment,{children:s.jsxs("div",{className:`console-app${c==="chat"?" is-chat-focus":""}`,children:[s.jsxs("nav",{className:"embedded-operator-nav","aria-label":"Operator 导航",children:[s.jsx("span",{"aria-current":"page",children:"操作"}),s.jsx("a",{href:"/inspect/#/",children:"观测"})]}),s.jsxs("div",{className:`console-shell${c==="chat"?" is-chat-focus":""}`,children:[s.jsxs("nav",{className:"top-nav","aria-label":"控制台导航",children:[[["tasks","任务"],["recovery","恢复"],["night","夜间"],["chat","对话"],["models","模型与认证"],["settings","设置"]].map(([v,_])=>s.jsx("button",{type:"button",className:c===v?"nav-link nav-link-active":"nav-link",onClick:()=>Rn(v),children:_},v)),s.jsxs("button",{type:"button",className:"readiness","data-state":h,"data-testid":"readiness-state",title:kn?"Pi SDK / 认证 / 模型未就绪。不提供纯表单兜底。点击前往模型与认证。":In?"Pi 暂时降级:仍可恢复草稿与需求访谈。点击查看详情。":"Pi 已就绪。点击打开设置查看详情。","aria-label":`Pi 就绪:${wr[h]??h}`,onClick:()=>Rn(kn||In?"models":"settings"),children:[s.jsx("span",{className:"readiness-label",children:"Pi"}),s.jsx("strong",{children:wr[h]??h})]})]}),oa?s.jsxs("div",{className:"flash flash-error","data-testid":"op-error",children:[s.jsx("span",{className:"flash-label",children:"错误"}),s.jsx("p",{className:"flash-body",children:oa})]}):null,mn?s.jsxs("div",{className:"flash flash-info","data-testid":"op-message",children:[s.jsx("span",{className:"flash-label",children:"状态"}),s.jsx("p",{className:"flash-body",children:mn})]}):null,s.jsxs("main",{className:`console-main${c==="chat"?" console-main--fill":""}`,children:[c==="tasks"?s.jsxs("section",{className:"panel task-ops","aria-labelledby":"task-ops-title",children:[s.jsx("h2",{id:"task-ops-title",children:"任务操作"}),s.jsx("p",{className:"panel-lead",children:"按 Happy Path 推进;契约落地一步内自动校验,人工确认写入。"}),s.jsx("ol",{className:"wizard-steps","data-testid":"wizard-steps",children:Cl.map((v,_)=>s.jsxs("li",{"data-active":Y===v.id,"data-done":_<fi,children:[s.jsx("span",{className:"step-index",children:String(_+1).padStart(2,"0")}),s.jsx("span",{className:"step-label",children:v.label})]},v.id))}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"任务 ID"}),s.jsx("input",{"data-testid":"task-id-input",value:I,disabled:te||kn||Y==="import-prd",placeholder:Y==="import-prd"?"导入需求后自动生成":"task-id",onChange:v=>le(v.target.value.trim())})]}),ce?s.jsxs("p",{className:"workflow-hint","data-testid":"task-title-chip",children:["任务名称:",ce]}):null,Y!=="import-prd"&&!kn?s.jsxs("p",{className:"workflow-hint","data-testid":"workflow-kind-chip",children:["当前流程:",_e.label," · ",s.jsx("code",{children:de})]}):null,kn||Y==="setup"?s.jsxs("div",{className:"empty-state","data-testid":"setup-gate",children:[s.jsx("p",{className:"empty-title",children:"需要先完成设置"}),s.jsx("p",{className:"muted",children:"请先在「模型与认证」完成 Pi 就绪,再导入需求与访谈。"}),s.jsxs("div",{className:"cta-row",children:[s.jsx("button",{type:"button",className:"btn btn-primary",disabled:te,onClick:()=>{Rn("models"),xe("refreshReadiness",{}).then(()=>Wa())},children:"刷新就绪状态"}),s.jsx("button",{type:"button",className:"btn btn-primary",disabled:te,onClick:()=>{xe("doctor",{})},children:"运行诊断"}),s.jsx("pre",{className:"cmd",children:Fg})]})]}):s.jsxs("div",{className:"wizard-body","data-testid":"wizard-body",children:[Y==="import-prd"&&s.jsxs("div",{"data-testid":"panel-import-prd",children:[s.jsx("h3",{children:"导入需求"}),s.jsx("p",{className:"muted",children:"粘贴、选择或拖入一份或多份 PRD / 需求 Markdown。多文件会分别归档到 source/references,并合成一份可编辑正文。创建前可继续编辑。"}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"流程类型"}),s.jsx("select",{"data-testid":"workflow-kind-select",value:de,disabled:te||Xe,onChange:v=>Ce(v.target.value),children:Dr.map(v=>s.jsx("option",{value:v.kind,children:v.label},v.kind))})]}),s.jsxs("p",{className:"workflow-hint","data-testid":"workflow-kind-hint",children:[_e.hint," · taskKind=",s.jsx("code",{children:de})]}),s.jsxs("div",{className:`prd-drop-zone${O?" is-dragover":""}`,"data-testid":"prd-drop-zone","data-dragover":O?"true":"false",onDragEnter:v=>{v.preventDefault(),v.stopPropagation(),!(te||Xe)&&(W.current+=1,Z(!0))},onDragOver:v=>{v.preventDefault(),v.stopPropagation()},onDragLeave:v=>{v.preventDefault(),v.stopPropagation(),W.current=Math.max(0,W.current-1),W.current===0&&Z(!1)},onDrop:v=>{v.preventDefault(),v.stopPropagation(),W.current=0,Z(!1),!(te||Xe)&&Ql(v.dataTransfer.files)},children:[s.jsxs("div",{className:"prd-upload-toolbar",children:[s.jsxs("label",{className:`btn btn-ghost prd-upload-btn${te||Xe?" is-disabled":""}`,children:["选择需求文档",s.jsx("input",{type:"file",accept:Hg,multiple:!0,hidden:!0,disabled:te||Xe,"data-testid":"prd-file-input",onChange:v=>{const _=v.currentTarget;Ql(_.files).finally(()=>{_.value=""})}})]}),s.jsxs("span",{className:"muted prd-upload-hint",children:["支持多文件 .md / .markdown / .txt,单文件最大"," ",Lr(Hr),",最多"," ",jc," 个"]}),ve.length>0?s.jsx("button",{type:"button",className:"btn btn-ghost","data-testid":"prd-recompose",disabled:te||Xe,onClick:()=>{Ie&&!window.confirm("将用当前文件列表重新合成正文,覆盖你在编辑区的修改。继续?")||(an(ve,ie),dt(null))},children:"按文件重新合成"}):null]}),ve.length>0?s.jsx("ul",{className:"prd-file-list","data-testid":"prd-file-list",children:ve.map((v,_)=>s.jsxs("li",{className:_===ie?"is-primary":void 0,"data-testid":`prd-file-item-${_}`,children:[s.jsxs("span",{className:"prd-file-item-name",children:[v.fileName,_===ie?s.jsx("span",{className:"prd-file-primary-tag",children:"主"}):null,s.jsxs("span",{className:"muted",children:[" ","· ",Lr(v.sourceBytes)]})]}),s.jsxs("span",{className:"prd-file-item-actions",children:[s.jsx("button",{type:"button",className:"btn btn-ghost",disabled:te||Xe||_===ie,onClick:()=>{Pe(_),Ie||an(ve,_)},children:"设为主"}),s.jsx("button",{type:"button",className:"btn btn-ghost",disabled:te||Xe||_===0,onClick:()=>{const H=[...ve],Q=H[_-1];H[_-1]=H[_],H[_]=Q;const V=ie===_?_-1:ie===_-1?_:ie;re(H),Pe(V),Ie||an(H,V)},children:"上移"}),s.jsx("button",{type:"button",className:"btn btn-ghost",disabled:te||Xe||_===ve.length-1,onClick:()=>{const H=[...ve],Q=H[_+1];H[_+1]=H[_],H[_]=Q;const V=ie===_?_+1:ie===_+1?_:ie;re(H),Pe(V),Ie||an(H,V)},children:"下移"}),s.jsx("button",{type:"button",className:"btn btn-ghost",disabled:te||Xe,onClick:()=>{const H=ve.filter((V,Te)=>Te!==_),Q=H.length===0?0:Math.min(ie>=_?Math.max(0,ie-1):ie,Math.max(0,H.length-1));re(H),Pe(Q),H.length===0?yt(!1):Ie||an(H,Q)},children:"移除"})]})]},`${v.fileName}-${_}`))}):null,ve.length>0?s.jsxs("div",{className:"prd-file-meta",children:[s.jsxs("span",{children:["分卷=上传原件(将分别归档);正文=本会话采用稿",Ie?"(已手动编辑)":""]}),s.jsx("button",{type:"button",className:"btn btn-ghost prd-file-clear","data-testid":"prd-file-clear",disabled:te||Xe,onClick:()=>{re([]),Pe(0),yt(!1),dt(null)},children:"清除来源列表"})]}):null,O?s.jsx("p",{className:"prd-drop-hint","data-testid":"prd-drop-hint",children:"释放以载入"}):null,s.jsxs("label",{className:"field prd-text-field",children:[s.jsx("span",{className:"muted",children:"PRD Markdown"}),s.jsx("textarea",{rows:10,value:vt,disabled:te||Xe,"data-testid":"prd-textarea",onChange:v=>{gt(v.target.value),ve.length>0&&yt(!0)}})]})]}),qe?s.jsx("p",{className:"prd-file-error",role:"alert","aria-live":"polite","data-testid":"prd-file-error",children:qe}):null,s.jsx("div",{className:"cta-row",children:s.jsx("button",{type:"button",className:"btn btn-primary",disabled:te||Xe||!vt.trim(),onClick:()=>{(async()=>{const v=ve.length>0?Zg(ve):void 0,_={content:vt,taskKind:de,...v?{documents:v}:{}};if(!Vg("bootstrapFromPrd",_)){dt(Jg());return}const H=await xe("bootstrapFromPrd",_);if(!H||H.ok===!1)return;const Q=H.result??{};Q.taskId&&le(Q.taskId),Q.title&&ot(Q.title),Me(`已创建任务「${Q.title??""}」(${Q.taskId??""}),来源:${Q.identitySource??"prd"}`),ee("interview")})()},children:"导入并创建任务"})})]}),Y==="interview"&&s.jsxs("div",{"data-testid":"panel-interview",children:[s.jsx("h3",{children:"需求访谈(grill-me)"}),s.jsx("p",{className:"muted",children:"一次一问;也可跳过:系统会按推荐补齐草稿并签发评估,随后进入校验。 访谈中不可应用契约 / 运行 DAG / 对账。"}),oe?s.jsx("pre",{className:"cmd","data-testid":"draft-summary",children:JSON.stringify(oe,null,2)}):null,s.jsxs("div",{className:"cta-row",style:{marginBottom:"0.75rem"},children:[!Ne||!T?s.jsx("button",{type:"button",className:"btn btn-primary",disabled:te||!I.trim(),onClick:()=>{xe("interviewStart",{taskId:I,title:ce,taskKind:de})},children:"开始 / 继续访谈"}):null,s.jsx("button",{type:"button",className:"btn btn-ghost","data-testid":"interview-skip",disabled:te||!I.trim(),onClick:()=>{xe("interviewSkip",{taskId:I,title:ce,taskKind:de})},children:"跳过访谈"})]}),Ne&&T?s.jsxs("div",{className:"interview-card",children:[s.jsxs("p",{className:"interview-q",children:[s.jsx("strong",{children:T.id})," · 风险=",$m[T.risk??""]??T.risk??"—"]}),s.jsx("p",{children:T.text}),T.recommendation?s.jsxs("p",{className:"muted",children:["推荐:",T.recommendation]}):null,s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"你的回答(覆盖推荐)"}),s.jsx("textarea",{rows:3,value:J,disabled:te,onChange:v=>ne(v.target.value)})]}),s.jsxs("div",{className:"cta-row",children:[s.jsx("button",{type:"button",className:"btn btn-primary",disabled:te,onClick:()=>{xe("interviewTurn",{sessionId:Ne,questionId:T.id,response:"accept-recommendation"}).then(()=>ne(""))},children:"接受推荐"}),s.jsx("button",{type:"button",className:"btn btn-primary",disabled:te||!J.trim(),onClick:()=>{xe("interviewTurn",{sessionId:Ne,questionId:T.id,response:"override",text:J}).then(()=>ne(""))},children:"提交自定义回答"}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:te||T.risk==="high",onClick:()=>{xe("interviewTurn",{sessionId:Ne,questionId:T.id,response:"defer",text:J||T.recommendation}).then(()=>ne(""))},children:"暂缓(非高风险)"})]})]}):null,Be?s.jsxs("p",{className:"muted",children:["评估 ID: ",s.jsx("code",{children:Be})]}):null]}),Y==="contract"&&s.jsxs("div",{"data-testid":"panel-contract",children:[s.jsx("h3",{children:"契约落地"}),s.jsx("p",{className:"muted",children:"进入本步后自动跑确定性校验与差异(非 AI 代判)。写入仓库仍需你人工确认一次;应用成功后会自动跑 Spine 审计。"}),s.jsxs("p",{className:"muted",children:["评估 ID: ",s.jsx("code",{children:Be??"—"})]}),s.jsxs("div",{className:"contract-checks",children:[s.jsxs("p",{children:[s.jsx("strong",{children:"校验"}),":"," ",Bt===null?te?"进行中…":"等待开始":Bt?"通过":"未通过"]}),ua?s.jsx("pre",{className:"cmd","data-testid":"contract-validate-summary",children:ua}):null,s.jsxs("p",{children:[s.jsx("strong",{children:"差异"}),It?"":":尚未拉取"]}),It?s.jsx("pre",{className:"cmd","data-testid":"contract-diff-summary",children:It}):null,q?s.jsxs("p",{children:[s.jsx("strong",{children:"Spine"}),":"," ",tt===null?"待检查":tt?"通过":"未通过"]}):null]}),s.jsxs("div",{className:"cta-row",children:[s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:te||!I.trim(),onClick:()=>{m(!0)},children:"重新校验"}),s.jsx("button",{type:"button",className:"btn btn-primary","data-testid":"contract-apply",disabled:te||In||!Be||Bt!==!0||q,onClick:()=>{S()},children:"确认并应用契约"}),q&&tt===!1?s.jsx("button",{type:"button",className:"btn btn-primary",disabled:te,onClick:()=>{D()},children:"重试 Spine"}):null]})]}),Y==="dag-confirm"&&s.jsxs("div",{"data-testid":"panel-dag-confirm",children:[s.jsx("h3",{children:"DAG 确认(§5.5)"}),s.jsxs("ul",{className:"checklist",children:[s.jsx("li",{children:"源绑定(source)"}),s.jsx("li",{children:"Writer 写集范围(writer-scope)"}),s.jsx("li",{children:"验证命令(verification)"}),s.jsx("li",{children:"人工门禁(human-gates)"})]}),ea?s.jsx("pre",{className:"cmd",children:JSON.stringify(ea,null,2).slice(0,4e3)}):null,s.jsxs("div",{className:"cta-row",children:[s.jsx("button",{type:"button",className:"btn btn-primary",disabled:te,onClick:()=>{xe("prepareDagConfirmation",{taskId:I,dagHandle:`${I}.dag.json`,profile:"auto"})},children:"生成 DAG 并准备确认"}),s.jsx("button",{type:"button",className:"btn btn-primary",disabled:te||!Bn,onClick:()=>{B()},children:"开始运行"})]}),Bn?s.jsxs("p",{className:"muted",children:["确认 ID: ",s.jsx("code",{children:Bn})]}):null]}),Y==="run"&&s.jsxs("div",{"data-testid":"panel-run",children:[s.jsx("h3",{children:"运行详情"}),s.jsxs("div",{className:"meta-row",children:[s.jsxs("div",{children:["操作 ID: ",s.jsx("code",{children:ra??"—"})]}),s.jsxs("div",{children:["确认 ID: ",s.jsx("code",{children:Bn??"—"})]})]}),s.jsxs("div",{className:"cta-row",children:[s.jsx("button",{type:"button",className:"btn btn-primary",disabled:te||!Bn,onClick:()=>{xe("runDag",{confirmationId:Bn},{clientRequestId:bc("run")})},children:"重新运行"}),s.jsx("button",{type:"button",className:"btn btn-secondary",onClick:()=>{Ta(!1),Xt.current?.abort(),Me("已停止跟随日志(未取消子进程)")},children:"停止跟随日志"}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:!be.trim(),onClick:()=>En(!0),children:"打开检视"}),s.jsx("button",{type:"button",className:"btn btn-ghost",disabled:Yt||!be.trim()&&!I.trim(),title:"在本页侧栏预览,可关闭返回",onClick:()=>{K()},children:"侧栏预览"})]}),s.jsx("pre",{className:"cmd","data-testid":"sse-log",children:Sl.join(`
|
|
29
|
+
`)||"(尚无事件)"})]})]})]}):null,c==="recovery"?s.jsxs("section",{className:"panel","aria-labelledby":"recovery-title",children:[s.jsx("h2",{id:"recovery-title",children:"恢复"}),s.jsxs("p",{className:"muted",children:["事实分类:",Im[We]," · 无 Cancel · 无「直接改代码」"]}),s.jsxs("ol",{className:"muted recovery-steps",children:[s.jsx("li",{children:"上方选 DAG 运行 / 节点,用「DAG 运行恢复」动作"}),s.jsx("li",{children:"Worker 队列失败才用下方「Worker Task 重排队」(二者不要混用)"}),s.jsx("li",{children:"带 * 的动作:核对预填原因 → 点下方「确定」"})]}),s.jsxs("p",{className:"muted",children:[I.trim()?`按任务 ${I.trim()} 拉取候选。`:"未填任务 ID 时列出最近 DAG 运行。","Doctor 诊断可选,不是重跑前置。"," ",s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:te||ha,"data-testid":"recovery-refresh-candidates",onClick:()=>{Je()},children:ha?"刷新中…":"刷新候选"})]}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"DAG 运行 ID"}),!Ra&&Qt.length>0?s.jsxs("select",{"data-testid":"recovery-run-select",value:be,disabled:te||ha,onChange:v=>{An(!1),Zt(!1),ft(""),pn(v.target.value),un||ka(!1)},children:[Qt.some(v=>v.dagRunId===be)?null:s.jsx("option",{value:be||"",children:be?`${be}(当前)`:"— 请选择 —"}),Qt.map(v=>s.jsx("option",{value:v.dagRunId,children:zg(v)},v.dagRunId))]}):s.jsx("input",{"data-testid":"recovery-run-input",value:be,disabled:te,onChange:v=>{An(!0),pn(v.target.value.trim())},placeholder:"dag-run-id(子图/完整重跑)"}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:te,"data-testid":"recovery-run-manual-toggle",onClick:()=>{if(!Ra&&Qt.length>0){An(!0);return}An(!1),Je()},children:!Ra&&Qt.length>0?"手动输入运行 ID":"刷新并改用下拉"})]}),s.jsxs("label",{className:"field",children:[s.jsxs("span",{className:"muted",children:["起始节点 ID(从节点重跑)",na?" · 加载节点…":""]}),!Lt&&Ue.length>0?s.jsxs("select",{"data-testid":"recovery-node-select",value:Ge,disabled:te||na,onChange:v=>{Zt(!1),ft(v.target.value)},children:[Ue.some(v=>v.nodeId===Ge)?null:s.jsx("option",{value:Ge||"",children:Ge?`${Ge}(当前)`:"— 请选择 —"}),Ue.map(v=>s.jsx("option",{value:v.nodeId,children:_g(v)},v.nodeId))]}):s.jsx("input",{"data-testid":"recovery-node-input",value:Ge,disabled:te,onChange:v=>{Zt(!0),ft(v.target.value.trim())},placeholder:"例如 review-verdict-recovery-pi"}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:te,"data-testid":"recovery-node-manual-toggle",onClick:()=>{if(!Lt&&Ue.length>0){Zt(!0);return}Zt(!1),Qe(be)},children:!Lt&&Ue.length>0?"手动输入节点 ID":"刷新并改用下拉"})]}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"恢复原因(已按 run/节点失败事实自动预填,可编辑)"}),s.jsx("textarea",{"data-testid":"recovery-reason",value:tn,disabled:te,rows:4,onChange:v=>{ka(!0),Ja(v.target.value)},placeholder:"将自动预填 operator-recovery / run / from-node / detail"}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:te,"data-testid":"recovery-reason-refresh",onClick:()=>{ka(!1),Ja(dn(Rt?.label))},children:"重新预填原因"})]}),s.jsxs("div",{className:"recovery-lane","data-testid":"recovery-lane-dag",children:[s.jsx("h3",{children:"DAG 运行恢复"}),s.jsx("p",{className:"muted",children:"针对 `.harness/dag-runs` 的 Agent DAG 运行。橙色为当前建议;带 * 需确认原因。"}),s.jsxs("div",{className:"recovery-cta-row","data-testid":"recovery-cta-row-dag",children:[va.dag.map(v=>{const _=v.id===Vt;return s.jsxs("button",{type:"button",className:_?"btn btn-primary":"btn btn-secondary",disabled:te,title:v.guide,"aria-pressed":Rt?.id===v.id?!0:void 0,"data-testid":`recovery-cta-${v.id}`,"data-recommended":_?"true":void 0,onClick:()=>{Xl(v)},children:[v.label,v.requiresReason?" *":""]},v.id)}),s.jsx("button",{type:"button",className:"btn btn-secondary",disabled:!be.trim(),"data-testid":"recovery-dag-preview",title:"在本页侧栏预览,可关闭返回",onClick:()=>{if(!be.trim()){Ae("侧栏预览需要先选择 DAG 运行 ID");return}En(!0)},children:"侧栏预览"})]}),mt?s.jsxs("div",{className:"recovery-report","data-testid":"recovery-report",children:[s.jsxs("div",{className:"recovery-report-header",children:[s.jsx("h3",{children:"交接报告摘要"}),s.jsx("button",{type:"button",className:"btn btn-ghost","data-testid":"recovery-report-close",onClick:()=>aa(null),children:"关闭"})]}),s.jsxs("dl",{className:"recovery-report-facts",children:[s.jsxs("div",{children:[s.jsx("dt",{children:"运行"}),s.jsx("dd",{children:s.jsx("code",{children:mt.runId})})]}),mt.title?s.jsxs("div",{children:[s.jsx("dt",{children:"标题"}),s.jsx("dd",{children:mt.title})]}):null,s.jsxs("div",{children:[s.jsx("dt",{children:"状态"}),s.jsx("dd",{children:mt.status??"—"})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"失败分类"}),s.jsx("dd",{children:mt.category??"—"})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"建议"}),s.jsx("dd",{children:mt.recommendation??"暂无结构化建议"})]})]}),s.jsxs("p",{className:"muted",children:["完整 Markdown 可用 CLI:",s.jsxs("code",{children:["loop-agent dag report --run-id ",mt.runId," ","--markdown"]})]})]}):null,El("dag")]}),s.jsxs("div",{className:"recovery-lane","data-testid":"recovery-lane-worker",children:[s.jsx("h3",{children:"Worker Task 重排队"}),s.jsx("p",{className:"muted",children:"针对 agent-worker Task Pool,不是 DAG run。需要 Task ID;Feature ID 可选。"}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"Task ID(Worker 重排队必填)"}),s.jsx("input",{"data-testid":"recovery-worker-task-id",value:I,disabled:te,onChange:v=>le(v.target.value.trim()),placeholder:"harness / worker task-id"})]}),s.jsxs("label",{className:"field",children:[s.jsx("span",{className:"muted",children:"Feature ID(可选)"}),s.jsx("input",{"data-testid":"recovery-feature-id",value:me,disabled:te,onChange:v=>en(v.target.value.trim()),placeholder:"feature-id"})]}),s.jsx("div",{className:"recovery-cta-row","data-testid":"recovery-cta-row-worker",children:va.worker.length>0?va.worker.map(v=>s.jsxs("button",{type:"button",className:v.id===Vt?"btn btn-primary":"btn btn-secondary",disabled:te,title:v.guide,"data-testid":`recovery-cta-${v.id}`,"data-recommended":v.id===Vt?"true":void 0,onClick:()=>{Xl(v)},children:[v.label,v.requiresReason?" *":""]},v.id)):s.jsx("p",{className:"muted","data-testid":"recovery-worker-unavailable",children:"当前事实分类下不提供 Worker 重排队。"})}),El("worker")]}),s.jsx("div",{className:"recovery-cta-row","data-testid":"recovery-cta-row",hidden:!0,children:Fe.map(v=>s.jsx("span",{children:v.id},v.id))}),Ea?s.jsxs("p",{className:"muted",children:["[",Pg[Va],"]"," ",Ea]}):null,Cn?s.jsx("p",{className:"muted",children:s.jsx("a",{className:"external-link",href:Cn,children:Cn})}):null]}):null,c==="night"?s.jsx(jv,{busy:te,runAction:xe,isActionSuccess:ht,setOpError:Ae}):null,c==="models"?s.jsxs("section",{className:"panel","aria-labelledby":"models-title",children:[s.jsx("h2",{id:"models-title",children:"模型与认证"}),s.jsxs("p",{className:"muted",children:["复用 Pi ModelRuntime 凭据平面;密钥不会回传到页面。请用"," ",s.jsx("code",{children:"pi"})," / Pi 认证存储完成配置,然后刷新就绪探测。"]}),s.jsx("button",{type:"button",className:"btn btn-primary",disabled:te,onClick:()=>{xe("refreshReadiness",{}).then(()=>Wa())},children:"刷新就绪探测"}),s.jsx("pre",{className:"cmd","data-testid":"readiness-details",children:JSON.stringify(x??{state:h,health:f},null,2)})]}):null,c==="chat"?s.jsxs("section",{className:"panel panel--chat","aria-labelledby":"chat-title",children:[s.jsx("h2",{id:"chat-title",className:"sr-only",children:"对话"}),s.jsx(fg,{origin:"",readiness:h,surface:"workspace",onNavigateWorkspace:vn})]}):null,c==="settings"?s.jsxs("section",{className:"panel","aria-labelledby":"settings-title",children:[s.jsx("h2",{id:"settings-title",children:"设置"}),s.jsxs("dl",{className:"kv",children:[s.jsxs("div",{children:[s.jsx("dt",{children:"产品"}),s.jsx("dd",{children:f?.productName??"Loop Operator Console"})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"仓库根目录"}),s.jsx("dd",{children:s.jsx("code",{children:f?.repoRoot??"—"})})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"仓库指纹"}),s.jsx("dd",{children:s.jsx("code",{children:f?.repoFingerprint??"—"})})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"Pi 就绪"}),s.jsxs("dd",{children:[s.jsxs("code",{children:[wr[h]??h,"(",h,")"]}),kn?s.jsx("p",{className:"muted",children:"Pi SDK / 认证 / 模型未就绪。不提供纯表单兜底。请前往「模型与认证」。"}):In?s.jsx("p",{className:"muted",children:"Pi 暂时降级:仍可恢复草稿与需求访谈。"}):null]})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"Inspect"}),s.jsxs("dd",{children:[s.jsx("code",{children:"/inspect/"}),"(同一 Console 进程)"]})]})]}),M?s.jsx("p",{className:"error",children:M}):null]}):null,c==="settings"?s.jsxs("section",{className:"panel","aria-labelledby":"layers-title",children:[s.jsx("h2",{id:"layers-title",children:"完成语义分层"}),s.jsx("p",{className:"muted",children:"MVP 不执行收尾提交;不显示「任务已关闭/已交付」。"}),s.jsxs("dl",{className:"kv","data-testid":"completion-layers",children:[s.jsxs("div",{children:[s.jsx("dt",{children:"命令"}),s.jsx("dd",{children:yc(Ca.command)})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"DAG 生命周期"}),s.jsx("dd",{children:yc(Ca.dag)})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"最终验证"}),s.jsx("dd",{children:yc(Ca.verification)})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"晋升"}),s.jsx("dd",{children:yc(Ca.promote)})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"任务关闭"}),s.jsx("dd",{children:"不可用(MVP)"})]})]})]}):null]}),Aa&&be.trim()?s.jsx(hv,{dagRunId:be.trim(),nodeId:Ge.trim()||void 0,onClose:()=>En(!1),onOpenFull:He}):null]})]})})}const nh=document.getElementById("root");if(!nh)throw new Error("Loop Operator Console: #root missing");fv.createRoot(nh).render(s.jsx(p.StrictMode,{children:s.jsx(ny,{})}));
|