@tea-agent/loop-agent 0.35.1-beta.4 → 0.35.2

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.
Files changed (63) hide show
  1. package/AGENTS.md +0 -2
  2. package/CHANGELOG.md +43 -26
  3. package/bin/loop-agent.js +1 -37
  4. package/dist/application/dag/generate-task-dag.js +4 -1
  5. package/dist/application/task-lifecycle/advance.js +14 -0
  6. package/dist/cli/program.js +2 -2
  7. package/dist/commands/task-advance.js +1 -0
  8. package/dist/executors/dag-pi-executor.js +0 -44
  9. package/dist/shared/package-metadata.js +0 -42
  10. package/dist/task/config-types.js +2 -0
  11. package/dist/task/contract/project.js +3 -0
  12. package/dist/task/contract/schema.js +1 -0
  13. package/dist/task/source-prepare/build-draft.js +7 -0
  14. package/dist/task/source-prepare/semantic-intake.js +37 -10
  15. package/dist/task/task-demand-routing.js +10 -0
  16. package/dist/worker/console/chat/assistant-content.js +110 -0
  17. package/dist/worker/console/chat/pi-runtime.js +13 -32
  18. package/dist/worker/console/chat/routes.js +9 -4
  19. package/dist/worker/console/chat/session-store.js +3 -0
  20. package/dist/worker/console/chat/shortcuts.js +9 -7
  21. package/dist/worker/console/chat/turn-process.js +62 -15
  22. package/dist/worker/console/operator-actions.js +72 -6
  23. package/dist/worker/console/prd-intake-bridge.js +10 -3
  24. package/dist/worker/console/prd-reference-discovery.js +124 -0
  25. package/dist/worker/console/static/assets/index-DRqZiQ7J.css +1 -0
  26. package/dist/worker/console/static/assets/index-gVHrlqI9.js +56 -0
  27. package/dist/worker/console/static/index.html +2 -2
  28. package/dist/worker/console/static-src/app/useOperatorActions.js +19 -1
  29. package/dist/worker/console/static-src/app/useRecoveryConsole.js +0 -5
  30. package/dist/worker/console/static-src/app/useTaskWizard.js +12 -0
  31. package/dist/worker/console/static-src/operator-chat/chat-sse-events.js +10 -1
  32. package/dist/worker/console/static-src/operator-chat/useChatSessions.js +11 -6
  33. package/dist/worker/console/static-src/operator-chat/useChatThread.js +11 -6
  34. package/dist/worker/console/static-src/operator-chat/useComposer.js +15 -1
  35. package/dist/worker/loop-agent/loop-agent-client.js +3 -17
  36. package/dist/worker/observability/read-model.js +0 -20
  37. package/dist/worker/observe/spec-evidence.js +8 -3
  38. package/dist/worker/observe/static/views/dag-inspector.js +71 -6
  39. package/dist/worker/preflight.js +1 -2
  40. package/dist/workflows/dag/backend-test-scenario-param.js +23 -33
  41. package/dist/workflows/dag/dynamic-runtime/shared.js +1 -9
  42. package/dist/workflows/dag/frontend-implementation-contract.js +39 -233
  43. package/dist/workflows/dag/frontend-prewrite-gate.js +61 -364
  44. package/dist/workflows/dag/frontend-repair.js +18 -219
  45. package/dist/workflows/dag/frontend-verification-trace.js +32 -47
  46. package/dist/workflows/dag/init-hybrid.js +26 -49
  47. package/dist/workflows/dag/node-execution.js +0 -89
  48. package/dist/workflows/dag/recovery-recommendation.js +0 -58
  49. package/dist/workflows/dag/runner.js +11 -245
  50. package/dist/workflows/dag/scheduler.js +3 -257
  51. package/dist/workflows/dag/types.js +2 -130
  52. package/harness.json +1 -1
  53. package/package.json +2 -2
  54. package/dist/build-stamp.json +0 -6
  55. package/dist/worker/console/static/assets/index-CvsQgALl.js +0 -56
  56. package/dist/worker/console/static/assets/index-hJqCPs_g.css +0 -1
  57. package/dist/workflows/dag/contract-output-registry.js +0 -14
  58. package/dist/workflows/dag/contract-validator-registrations.js +0 -8
  59. package/dist/workflows/dag/frontend-recovery-plan.js +0 -73
  60. package/dist/workflows/dag/frontend-recovery-root-manifest.js +0 -123
  61. package/dist/workflows/dag/frontend-recovery-run.js +0 -539
  62. package/dist/workflows/dag/frontend-writer-recovery.js +0 -106
  63. package/dist/workflows/dag/frontend-writer-rollback.js +0 -821
@@ -0,0 +1,56 @@
1
+ (function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))l(o);new MutationObserver(o=>{for(const d of o)if(d.type==="childList")for(const u of d.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&l(u)}).observe(document,{childList:!0,subtree:!0});function r(o){const d={};return o.integrity&&(d.integrity=o.integrity),o.referrerPolicy&&(d.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?d.credentials="include":o.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function l(o){if(o.ep)return;o.ep=!0;const d=r(o);fetch(o.href,d)}})();function od(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var pc={exports:{}},Ya={};var Ip;function a1(){if(Ip)return Ya;Ip=1;var t=Symbol.for("react.transitional.element"),i=Symbol.for("react.fragment");function r(l,o,d){var u=null;if(d!==void 0&&(u=""+d),o.key!==void 0&&(u=""+o.key),"key"in o){d={};for(var h in o)h!=="key"&&(d[h]=o[h])}else d=o;return o=d.ref,{$$typeof:t,type:l,key:u,ref:o!==void 0?o:null,props:d}}return Ya.Fragment=i,Ya.jsx=r,Ya.jsxs=r,Ya}var Dp;function l1(){return Dp||(Dp=1,pc.exports=a1()),pc.exports}var c=l1(),gc={exports:{}},De={};var Op;function s1(){if(Op)return De;Op=1;var t=Symbol.for("react.transitional.element"),i=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),d=Symbol.for("react.consumer"),u=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),y=Symbol.for("react.activity"),S=Symbol.iterator;function x(D){return D===null||typeof D!="object"?null:(D=S&&D[S]||D["@@iterator"],typeof D=="function"?D:null)}var C={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},I=Object.assign,H={};function R(D,M,w){this.props=D,this.context=M,this.refs=H,this.updater=w||C}R.prototype.isReactComponent={},R.prototype.setState=function(D,M){if(typeof D!="object"&&typeof D!="function"&&D!=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,D,M,"setState")},R.prototype.forceUpdate=function(D){this.updater.enqueueForceUpdate(this,D,"forceUpdate")};function N(){}N.prototype=R.prototype;function A(D,M,w){this.props=D,this.context=M,this.refs=H,this.updater=w||C}var G=A.prototype=new N;G.constructor=A,I(G,R.prototype),G.isPureReactComponent=!0;var K=Array.isArray;function E(){}var $={H:null,A:null,T:null,S:null},te=Object.prototype.hasOwnProperty;function ue(D,M,w){var re=w.ref;return{$$typeof:t,type:D,key:M,ref:re!==void 0?re:null,props:w}}function z(D,M){return ue(D.type,M,D.props)}function F(D){return typeof D=="object"&&D!==null&&D.$$typeof===t}function V(D){var M={"=":"=0",":":"=2"};return"$"+D.replace(/[=:]/g,function(w){return M[w]})}var le=/\/+/g;function X(D,M){return typeof D=="object"&&D!==null&&D.key!=null?V(""+D.key):M.toString(36)}function B(D){switch(D.status){case"fulfilled":return D.value;case"rejected":throw D.reason;default:switch(typeof D.status=="string"?D.then(E,E):(D.status="pending",D.then(function(M){D.status==="pending"&&(D.status="fulfilled",D.value=M)},function(M){D.status==="pending"&&(D.status="rejected",D.reason=M)})),D.status){case"fulfilled":return D.value;case"rejected":throw D.reason}}throw D}function O(D,M,w,re,de){var Y=typeof D;(Y==="undefined"||Y==="boolean")&&(D=null);var ce=!1;if(D===null)ce=!0;else switch(Y){case"bigint":case"string":case"number":ce=!0;break;case"object":switch(D.$$typeof){case t:case i:ce=!0;break;case v:return ce=D._init,O(ce(D._payload),M,w,re,de)}}if(ce)return de=de(D),ce=re===""?"."+X(D,0):re,K(de)?(w="",ce!=null&&(w=ce.replace(le,"$&/")+"/"),O(de,M,w,"",function(ye){return ye})):de!=null&&(F(de)&&(de=z(de,w+(de.key==null||D&&D.key===de.key?"":(""+de.key).replace(le,"$&/")+"/")+ce)),M.push(de)),1;ce=0;var he=re===""?".":re+":";if(K(D))for(var pe=0;pe<D.length;pe++)re=D[pe],Y=he+X(re,pe),ce+=O(re,M,w,Y,de);else if(pe=x(D),typeof pe=="function")for(D=pe.call(D),pe=0;!(re=D.next()).done;)re=re.value,Y=he+X(re,pe++),ce+=O(re,M,w,Y,de);else if(Y==="object"){if(typeof D.then=="function")return O(B(D),M,w,re,de);throw M=String(D),Error("Objects are not valid as a React child (found: "+(M==="[object Object]"?"object with keys {"+Object.keys(D).join(", ")+"}":M)+"). If you meant to render a collection of children, use an array instead.")}return ce}function U(D,M,w){if(D==null)return D;var re=[],de=0;return O(D,re,"","",function(Y){return M.call(w,Y,de++)}),re}function _(D){if(D._status===-1){var M=D._result;M=M(),M.then(function(w){(D._status===0||D._status===-1)&&(D._status=1,D._result=w)},function(w){(D._status===0||D._status===-1)&&(D._status=2,D._result=w)}),D._status===-1&&(D._status=0,D._result=M)}if(D._status===1)return D._result.default;throw D._result}var W=typeof reportError=="function"?reportError:function(D){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var M=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof D=="object"&&D!==null&&typeof D.message=="string"?String(D.message):String(D),error:D});if(!window.dispatchEvent(M))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",D);return}console.error(D)},T={map:U,forEach:function(D,M,w){U(D,function(){M.apply(this,arguments)},w)},count:function(D){var M=0;return U(D,function(){M++}),M},toArray:function(D){return U(D,function(M){return M})||[]},only:function(D){if(!F(D))throw Error("React.Children.only expected to receive a single React element child.");return D}};return De.Activity=y,De.Children=T,De.Component=R,De.Fragment=r,De.Profiler=o,De.PureComponent=A,De.StrictMode=l,De.Suspense=g,De.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=$,De.__COMPILER_RUNTIME={__proto__:null,c:function(D){return $.H.useMemoCache(D)}},De.cache=function(D){return function(){return D.apply(null,arguments)}},De.cacheSignal=function(){return null},De.cloneElement=function(D,M,w){if(D==null)throw Error("The argument must be a React element, but you passed "+D+".");var re=I({},D.props),de=D.key;if(M!=null)for(Y in M.key!==void 0&&(de=""+M.key),M)!te.call(M,Y)||Y==="key"||Y==="__self"||Y==="__source"||Y==="ref"&&M.ref===void 0||(re[Y]=M[Y]);var Y=arguments.length-2;if(Y===1)re.children=w;else if(1<Y){for(var ce=Array(Y),he=0;he<Y;he++)ce[he]=arguments[he+2];re.children=ce}return ue(D.type,de,re)},De.createContext=function(D){return D={$$typeof:u,_currentValue:D,_currentValue2:D,_threadCount:0,Provider:null,Consumer:null},D.Provider=D,D.Consumer={$$typeof:d,_context:D},D},De.createElement=function(D,M,w){var re,de={},Y=null;if(M!=null)for(re in M.key!==void 0&&(Y=""+M.key),M)te.call(M,re)&&re!=="key"&&re!=="__self"&&re!=="__source"&&(de[re]=M[re]);var ce=arguments.length-2;if(ce===1)de.children=w;else if(1<ce){for(var he=Array(ce),pe=0;pe<ce;pe++)he[pe]=arguments[pe+2];de.children=he}if(D&&D.defaultProps)for(re in ce=D.defaultProps,ce)de[re]===void 0&&(de[re]=ce[re]);return ue(D,Y,de)},De.createRef=function(){return{current:null}},De.forwardRef=function(D){return{$$typeof:h,render:D}},De.isValidElement=F,De.lazy=function(D){return{$$typeof:v,_payload:{_status:-1,_result:D},_init:_}},De.memo=function(D,M){return{$$typeof:p,type:D,compare:M===void 0?null:M}},De.startTransition=function(D){var M=$.T,w={};$.T=w;try{var re=D(),de=$.S;de!==null&&de(w,re),typeof re=="object"&&re!==null&&typeof re.then=="function"&&re.then(E,W)}catch(Y){W(Y)}finally{M!==null&&w.types!==null&&(M.types=w.types),$.T=M}},De.unstable_useCacheRefresh=function(){return $.H.useCacheRefresh()},De.use=function(D){return $.H.use(D)},De.useActionState=function(D,M,w){return $.H.useActionState(D,M,w)},De.useCallback=function(D,M){return $.H.useCallback(D,M)},De.useContext=function(D){return $.H.useContext(D)},De.useDebugValue=function(){},De.useDeferredValue=function(D,M){return $.H.useDeferredValue(D,M)},De.useEffect=function(D,M){return $.H.useEffect(D,M)},De.useEffectEvent=function(D){return $.H.useEffectEvent(D)},De.useId=function(){return $.H.useId()},De.useImperativeHandle=function(D,M,w){return $.H.useImperativeHandle(D,M,w)},De.useInsertionEffect=function(D,M){return $.H.useInsertionEffect(D,M)},De.useLayoutEffect=function(D,M){return $.H.useLayoutEffect(D,M)},De.useMemo=function(D,M){return $.H.useMemo(D,M)},De.useOptimistic=function(D,M){return $.H.useOptimistic(D,M)},De.useReducer=function(D,M,w){return $.H.useReducer(D,M,w)},De.useRef=function(D){return $.H.useRef(D)},De.useState=function(D){return $.H.useState(D)},De.useSyncExternalStore=function(D,M,w){return $.H.useSyncExternalStore(D,M,w)},De.useTransition=function(){return $.H.useTransition()},De.version="19.2.8",De}var Mp;function ud(){return Mp||(Mp=1,gc.exports=s1()),gc.exports}var k=ud();const Ai=od(k);var yc={exports:{}},Ka={},vc={exports:{}},bc={};var zp;function o1(){return zp||(zp=1,(function(t){function i(O,U){var _=O.length;O.push(U);e:for(;0<_;){var W=_-1>>>1,T=O[W];if(0<o(T,U))O[W]=U,O[_]=T,_=W;else break e}}function r(O){return O.length===0?null:O[0]}function l(O){if(O.length===0)return null;var U=O[0],_=O.pop();if(_!==U){O[0]=_;e:for(var W=0,T=O.length,D=T>>>1;W<D;){var M=2*(W+1)-1,w=O[M],re=M+1,de=O[re];if(0>o(w,_))re<T&&0>o(de,w)?(O[W]=de,O[re]=_,W=re):(O[W]=w,O[M]=_,W=M);else if(re<T&&0>o(de,_))O[W]=de,O[re]=_,W=re;else break e}}return U}function o(O,U){var _=O.sortIndex-U.sortIndex;return _!==0?_:O.id-U.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var d=performance;t.unstable_now=function(){return d.now()}}else{var u=Date,h=u.now();t.unstable_now=function(){return u.now()-h}}var g=[],p=[],v=1,y=null,S=3,x=!1,C=!1,I=!1,H=!1,R=typeof setTimeout=="function"?setTimeout:null,N=typeof clearTimeout=="function"?clearTimeout:null,A=typeof setImmediate<"u"?setImmediate:null;function G(O){for(var U=r(p);U!==null;){if(U.callback===null)l(p);else if(U.startTime<=O)l(p),U.sortIndex=U.expirationTime,i(g,U);else break;U=r(p)}}function K(O){if(I=!1,G(O),!C)if(r(g)!==null)C=!0,E||(E=!0,V());else{var U=r(p);U!==null&&B(K,U.startTime-O)}}var E=!1,$=-1,te=5,ue=-1;function z(){return H?!0:!(t.unstable_now()-ue<te)}function F(){if(H=!1,E){var O=t.unstable_now();ue=O;var U=!0;try{e:{C=!1,I&&(I=!1,N($),$=-1),x=!0;var _=S;try{t:{for(G(O),y=r(g);y!==null&&!(y.expirationTime>O&&z());){var W=y.callback;if(typeof W=="function"){y.callback=null,S=y.priorityLevel;var T=W(y.expirationTime<=O);if(O=t.unstable_now(),typeof T=="function"){y.callback=T,G(O),U=!0;break t}y===r(g)&&l(g),G(O)}else l(g);y=r(g)}if(y!==null)U=!0;else{var D=r(p);D!==null&&B(K,D.startTime-O),U=!1}}break e}finally{y=null,S=_,x=!1}U=void 0}}finally{U?V():E=!1}}}var V;if(typeof A=="function")V=function(){A(F)};else if(typeof MessageChannel<"u"){var le=new MessageChannel,X=le.port2;le.port1.onmessage=F,V=function(){X.postMessage(null)}}else V=function(){R(F,0)};function B(O,U){$=R(function(){O(t.unstable_now())},U)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(O){O.callback=null},t.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"):te=0<O?Math.floor(1e3/O):5},t.unstable_getCurrentPriorityLevel=function(){return S},t.unstable_next=function(O){switch(S){case 1:case 2:case 3:var U=3;break;default:U=S}var _=S;S=U;try{return O()}finally{S=_}},t.unstable_requestPaint=function(){H=!0},t.unstable_runWithPriority=function(O,U){switch(O){case 1:case 2:case 3:case 4:case 5:break;default:O=3}var _=S;S=O;try{return U()}finally{S=_}},t.unstable_scheduleCallback=function(O,U,_){var W=t.unstable_now();switch(typeof _=="object"&&_!==null?(_=_.delay,_=typeof _=="number"&&0<_?W+_:W):_=W,O){case 1:var T=-1;break;case 2:T=250;break;case 5:T=1073741823;break;case 4:T=1e4;break;default:T=5e3}return T=_+T,O={id:v++,callback:U,priorityLevel:O,startTime:_,expirationTime:T,sortIndex:-1},_>W?(O.sortIndex=_,i(p,O),r(g)===null&&O===r(p)&&(I?(N($),$=-1):I=!0,B(K,_-W))):(O.sortIndex=T,i(g,O),C||x||(C=!0,E||(E=!0,V()))),O},t.unstable_shouldYield=z,t.unstable_wrapCallback=function(O){var U=S;return function(){var _=S;S=U;try{return O.apply(this,arguments)}finally{S=_}}}})(bc)),bc}var _p;function u1(){return _p||(_p=1,vc.exports=o1()),vc.exports}var xc={exports:{}},Mt={};var Lp;function c1(){if(Lp)return Mt;Lp=1;var t=ud();function i(g){var p="https://react.dev/errors/"+g;if(1<arguments.length){p+="?args[]="+encodeURIComponent(arguments[1]);for(var v=2;v<arguments.length;v++)p+="&args[]="+encodeURIComponent(arguments[v])}return"Minified React error #"+g+"; visit "+p+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function r(){}var l={d:{f:r,r:function(){throw Error(i(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},o=Symbol.for("react.portal");function d(g,p,v){var y=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o,key:y==null?null:""+y,children:g,containerInfo:p,implementation:v}}var u=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function h(g,p){if(g==="font")return"";if(typeof p=="string")return p==="use-credentials"?p:""}return Mt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=l,Mt.createPortal=function(g,p){var v=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!p||p.nodeType!==1&&p.nodeType!==9&&p.nodeType!==11)throw Error(i(299));return d(g,p,null,v)},Mt.flushSync=function(g){var p=u.T,v=l.p;try{if(u.T=null,l.p=2,g)return g()}finally{u.T=p,l.p=v,l.d.f()}},Mt.preconnect=function(g,p){typeof g=="string"&&(p?(p=p.crossOrigin,p=typeof p=="string"?p==="use-credentials"?p:"":void 0):p=null,l.d.C(g,p))},Mt.prefetchDNS=function(g){typeof g=="string"&&l.d.D(g)},Mt.preinit=function(g,p){if(typeof g=="string"&&p&&typeof p.as=="string"){var v=p.as,y=h(v,p.crossOrigin),S=typeof p.integrity=="string"?p.integrity:void 0,x=typeof p.fetchPriority=="string"?p.fetchPriority:void 0;v==="style"?l.d.S(g,typeof p.precedence=="string"?p.precedence:void 0,{crossOrigin:y,integrity:S,fetchPriority:x}):v==="script"&&l.d.X(g,{crossOrigin:y,integrity:S,fetchPriority:x,nonce:typeof p.nonce=="string"?p.nonce:void 0})}},Mt.preinitModule=function(g,p){if(typeof g=="string")if(typeof p=="object"&&p!==null){if(p.as==null||p.as==="script"){var v=h(p.as,p.crossOrigin);l.d.M(g,{crossOrigin:v,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0})}}else p==null&&l.d.M(g)},Mt.preload=function(g,p){if(typeof g=="string"&&typeof p=="object"&&p!==null&&typeof p.as=="string"){var v=p.as,y=h(v,p.crossOrigin);l.d.L(g,v,{crossOrigin:y,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0,type:typeof p.type=="string"?p.type:void 0,fetchPriority:typeof p.fetchPriority=="string"?p.fetchPriority:void 0,referrerPolicy:typeof p.referrerPolicy=="string"?p.referrerPolicy:void 0,imageSrcSet:typeof p.imageSrcSet=="string"?p.imageSrcSet:void 0,imageSizes:typeof p.imageSizes=="string"?p.imageSizes:void 0,media:typeof p.media=="string"?p.media:void 0})}},Mt.preloadModule=function(g,p){if(typeof g=="string")if(p){var v=h(p.as,p.crossOrigin);l.d.m(g,{as:typeof p.as=="string"&&p.as!=="script"?p.as:void 0,crossOrigin:v,integrity:typeof p.integrity=="string"?p.integrity:void 0})}else l.d.m(g)},Mt.requestFormReset=function(g){l.d.r(g)},Mt.unstable_batchedUpdates=function(g,p){return g(p)},Mt.useFormState=function(g,p,v){return u.H.useFormState(g,p,v)},Mt.useFormStatus=function(){return u.H.useHostTransitionStatus()},Mt.version="19.2.8",Mt}var Bp;function ry(){if(Bp)return xc.exports;Bp=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(i){console.error(i)}}return t(),xc.exports=c1(),xc.exports}var Hp;function d1(){if(Hp)return Ka;Hp=1;var t=u1(),i=ud(),r=ry();function l(e){var n="https://react.dev/errors/"+e;if(1<arguments.length){n+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)n+="&args[]="+encodeURIComponent(arguments[a])}return"Minified React error #"+e+"; visit "+n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function o(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function d(e){var n=e,a=e;if(e.alternate)for(;n.return;)n=n.return;else{e=n;do n=e,(n.flags&4098)!==0&&(a=n.return),e=n.return;while(e)}return n.tag===3?a:null}function u(e){if(e.tag===13){var n=e.memoizedState;if(n===null&&(e=e.alternate,e!==null&&(n=e.memoizedState)),n!==null)return n.dehydrated}return null}function h(e){if(e.tag===31){var n=e.memoizedState;if(n===null&&(e=e.alternate,e!==null&&(n=e.memoizedState)),n!==null)return n.dehydrated}return null}function g(e){if(d(e)!==e)throw Error(l(188))}function p(e){var n=e.alternate;if(!n){if(n=d(e),n===null)throw Error(l(188));return n!==e?null:e}for(var a=e,s=n;;){var f=a.return;if(f===null)break;var m=f.alternate;if(m===null){if(s=f.return,s!==null){a=s;continue}break}if(f.child===m.child){for(m=f.child;m;){if(m===a)return g(f),e;if(m===s)return g(f),n;m=m.sibling}throw Error(l(188))}if(a.return!==s.return)a=f,s=m;else{for(var b=!1,j=f.child;j;){if(j===a){b=!0,a=f,s=m;break}if(j===s){b=!0,s=f,a=m;break}j=j.sibling}if(!b){for(j=m.child;j;){if(j===a){b=!0,a=m,s=f;break}if(j===s){b=!0,s=m,a=f;break}j=j.sibling}if(!b)throw Error(l(189))}}if(a.alternate!==s)throw Error(l(190))}if(a.tag!==3)throw Error(l(188));return a.stateNode.current===a?e:n}function v(e){var n=e.tag;if(n===5||n===26||n===27||n===6)return e;for(e=e.child;e!==null;){if(n=v(e),n!==null)return n;e=e.sibling}return null}var y=Object.assign,S=Symbol.for("react.element"),x=Symbol.for("react.transitional.element"),C=Symbol.for("react.portal"),I=Symbol.for("react.fragment"),H=Symbol.for("react.strict_mode"),R=Symbol.for("react.profiler"),N=Symbol.for("react.consumer"),A=Symbol.for("react.context"),G=Symbol.for("react.forward_ref"),K=Symbol.for("react.suspense"),E=Symbol.for("react.suspense_list"),$=Symbol.for("react.memo"),te=Symbol.for("react.lazy"),ue=Symbol.for("react.activity"),z=Symbol.for("react.memo_cache_sentinel"),F=Symbol.iterator;function V(e){return e===null||typeof e!="object"?null:(e=F&&e[F]||e["@@iterator"],typeof e=="function"?e:null)}var le=Symbol.for("react.client.reference");function X(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===le?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case I:return"Fragment";case R:return"Profiler";case H:return"StrictMode";case K:return"Suspense";case E:return"SuspenseList";case ue:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case C:return"Portal";case A:return e.displayName||"Context";case N:return(e._context.displayName||"Context")+".Consumer";case G:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case $:return n=e.displayName||null,n!==null?n:X(e.type)||"Memo";case te:n=e._payload,e=e._init;try{return X(e(n))}catch{}}return null}var B=Array.isArray,O=i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,U=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,_={pending:!1,data:null,method:null,action:null},W=[],T=-1;function D(e){return{current:e}}function M(e){0>T||(e.current=W[T],W[T]=null,T--)}function w(e,n){T++,W[T]=e.current,e.current=n}var re=D(null),de=D(null),Y=D(null),ce=D(null);function he(e,n){switch(w(Y,n),w(de,e),w(re,null),n.nodeType){case 9:case 11:e=(e=n.documentElement)&&(e=e.namespaceURI)?ep(e):0;break;default:if(e=n.tagName,n=n.namespaceURI)n=ep(n),e=tp(n,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}M(re),w(re,e)}function pe(){M(re),M(de),M(Y)}function ye(e){e.memoizedState!==null&&w(ce,e);var n=re.current,a=tp(n,e.type);n!==a&&(w(de,e),w(re,a))}function Ce(e){de.current===e&&(M(re),M(de)),ce.current===e&&(M(ce),$a._currentValue=_)}var Be,Xe;function Ye(e){if(Be===void 0)try{throw Error()}catch(a){var n=a.stack.trim().match(/\n( *(at )?)/);Be=n&&n[1]||"",Xe=-1<a.stack.indexOf(`
2
+ at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`
3
+ `+Be+e+Xe}var at=!1;function sn(e,n){if(!e||at)return"";at=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var s={DetermineComponentFrameRoot:function(){try{if(n){var oe=function(){throw Error()};if(Object.defineProperty(oe.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(oe,[])}catch(ne){var J=ne}Reflect.construct(e,[],oe)}else{try{oe.call()}catch(ne){J=ne}e.call(oe.prototype)}}else{try{throw Error()}catch(ne){J=ne}(oe=e())&&typeof oe.catch=="function"&&oe.catch(function(){})}}catch(ne){if(ne&&J&&typeof ne.stack=="string")return[ne.stack,J.stack]}return[null,null]}};s.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var f=Object.getOwnPropertyDescriptor(s.DetermineComponentFrameRoot,"name");f&&f.configurable&&Object.defineProperty(s.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var m=s.DetermineComponentFrameRoot(),b=m[0],j=m[1];if(b&&j){var L=b.split(`
4
+ `),Z=j.split(`
5
+ `);for(f=s=0;s<L.length&&!L[s].includes("DetermineComponentFrameRoot");)s++;for(;f<Z.length&&!Z[f].includes("DetermineComponentFrameRoot");)f++;if(s===L.length||f===Z.length)for(s=L.length-1,f=Z.length-1;1<=s&&0<=f&&L[s]!==Z[f];)f--;for(;1<=s&&0<=f;s--,f--)if(L[s]!==Z[f]){if(s!==1||f!==1)do if(s--,f--,0>f||L[s]!==Z[f]){var ae=`
6
+ `+L[s].replace(" at new "," at ");return e.displayName&&ae.includes("<anonymous>")&&(ae=ae.replace("<anonymous>",e.displayName)),ae}while(1<=s&&0<=f);break}}}finally{at=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?Ye(a):""}function kt(e,n){switch(e.tag){case 26:case 27:case 5:return Ye(e.type);case 16:return Ye("Lazy");case 13:return e.child!==n&&n!==null?Ye("Suspense Fallback"):Ye("Suspense");case 19:return Ye("SuspenseList");case 0:case 15:return sn(e.type,!1);case 11:return sn(e.type.render,!1);case 1:return sn(e.type,!0);case 31:return Ye("Activity");default:return""}}function Cn(e){try{var n="",a=null;do n+=kt(e,a),a=e,e=e.return;while(e);return n}catch(s){return`
7
+ Error generating stack: `+s.message+`
8
+ `+s.stack}}var Rt=Object.prototype.hasOwnProperty,Lt=t.unstable_scheduleCallback,Te=t.unstable_cancelCallback,$e=t.unstable_shouldYield,ut=t.unstable_requestPaint,ie=t.unstable_now,je=t.unstable_getCurrentPriorityLevel,ee=t.unstable_ImmediatePriority,fe=t.unstable_UserBlockingPriority,be=t.unstable_NormalPriority,Re=t.unstable_LowPriority,Ne=t.unstable_IdlePriority,Se=t.log,qe=t.unstable_setDisableYieldValue,Ie=null,Ee=null;function ht(e){if(typeof Se=="function"&&qe(e),Ee&&typeof Ee.setStrictMode=="function")try{Ee.setStrictMode(Ie,e)}catch{}}var Qe=Math.clz32?Math.clz32:to,jn=Math.log,Qt=Math.LN2;function to(e){return e>>>=0,e===0?32:31-(jn(e)/Qt|0)|0}var Et=256,Di=262144,ul=4194304;function Oi(e){var n=e&42;if(n!==0)return n;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 cl(e,n,a){var s=e.pendingLanes;if(s===0)return 0;var f=0,m=e.suspendedLanes,b=e.pingedLanes;e=e.warmLanes;var j=s&134217727;return j!==0?(s=j&~m,s!==0?f=Oi(s):(b&=j,b!==0?f=Oi(b):a||(a=j&~e,a!==0&&(f=Oi(a))))):(j=s&~m,j!==0?f=Oi(j):b!==0?f=Oi(b):a||(a=s&~e,a!==0&&(f=Oi(a)))),f===0?0:n!==0&&n!==f&&(n&m)===0&&(m=f&-f,a=n&-n,m>=a||m===32&&(a&4194048)!==0)?n:f}function na(e,n){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&n)===0}function Pv(e,n){switch(e){case 1:case 2:case 4:case 8:case 64:return n+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 n+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 Md(){var e=ul;return ul<<=1,(ul&62914560)===0&&(ul=4194304),e}function no(e){for(var n=[],a=0;31>a;a++)n.push(e);return n}function ia(e,n){e.pendingLanes|=n,n!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Yv(e,n,a,s,f,m){var b=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var j=e.entanglements,L=e.expirationTimes,Z=e.hiddenUpdates;for(a=b&~a;0<a;){var ae=31-Qe(a),oe=1<<ae;j[ae]=0,L[ae]=-1;var J=Z[ae];if(J!==null)for(Z[ae]=null,ae=0;ae<J.length;ae++){var ne=J[ae];ne!==null&&(ne.lane&=-536870913)}a&=~oe}s!==0&&zd(e,s,0),m!==0&&f===0&&e.tag!==0&&(e.suspendedLanes|=m&~(b&~n))}function zd(e,n,a){e.pendingLanes|=n,e.suspendedLanes&=~n;var s=31-Qe(n);e.entangledLanes|=n,e.entanglements[s]=e.entanglements[s]|1073741824|a&261930}function _d(e,n){var a=e.entangledLanes|=n;for(e=e.entanglements;a;){var s=31-Qe(a),f=1<<s;f&n|e[s]&n&&(e[s]|=n),a&=~f}}function Ld(e,n){var a=n&-n;return a=(a&42)!==0?1:io(a),(a&(e.suspendedLanes|n))!==0?0:a}function io(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 ro(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Bd(){var e=U.p;return e!==0?e:(e=window.event,e===void 0?32:Cp(e.type))}function Hd(e,n){var a=U.p;try{return U.p=e,n()}finally{U.p=a}}var ni=Math.random().toString(36).slice(2),Nt="__reactFiber$"+ni,Ut="__reactProps$"+ni,lr="__reactContainer$"+ni,ao="__reactEvents$"+ni,Kv="__reactListeners$"+ni,Xv="__reactHandles$"+ni,Ud="__reactResources$"+ni,ra="__reactMarker$"+ni;function lo(e){delete e[Nt],delete e[Ut],delete e[ao],delete e[Kv],delete e[Xv]}function sr(e){var n=e[Nt];if(n)return n;for(var a=e.parentNode;a;){if(n=a[lr]||a[Nt]){if(a=n.alternate,n.child!==null||a!==null&&a.child!==null)for(e=op(e);e!==null;){if(a=e[Nt])return a;e=op(e)}return n}e=a,a=e.parentNode}return null}function or(e){if(e=e[Nt]||e[lr]){var n=e.tag;if(n===5||n===6||n===13||n===31||n===26||n===27||n===3)return e}return null}function aa(e){var n=e.tag;if(n===5||n===26||n===27||n===6)return e.stateNode;throw Error(l(33))}function ur(e){var n=e[Ud];return n||(n=e[Ud]={hoistableStyles:new Map,hoistableScripts:new Map}),n}function jt(e){e[ra]=!0}var qd=new Set,Gd={};function Mi(e,n){cr(e,n),cr(e+"Capture",n)}function cr(e,n){for(Gd[e]=n,e=0;e<n.length;e++)qd.add(n[e])}var Qv=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]*$"),$d={},Fd={};function Zv(e){return Rt.call(Fd,e)?!0:Rt.call($d,e)?!1:Qv.test(e)?Fd[e]=!0:($d[e]=!0,!1)}function dl(e,n,a){if(Zv(n))if(a===null)e.removeAttribute(n);else{switch(typeof a){case"undefined":case"function":case"symbol":e.removeAttribute(n);return;case"boolean":var s=n.toLowerCase().slice(0,5);if(s!=="data-"&&s!=="aria-"){e.removeAttribute(n);return}}e.setAttribute(n,""+a)}}function fl(e,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.setAttribute(n,""+a)}}function Mn(e,n,a,s){if(s===null)e.removeAttribute(a);else{switch(typeof s){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(a);return}e.setAttributeNS(n,a,""+s)}}function on(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Vd(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Jv(e,n,a){var s=Object.getOwnPropertyDescriptor(e.constructor.prototype,n);if(!e.hasOwnProperty(n)&&typeof s<"u"&&typeof s.get=="function"&&typeof s.set=="function"){var f=s.get,m=s.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return f.call(this)},set:function(b){a=""+b,m.call(this,b)}}),Object.defineProperty(e,n,{enumerable:s.enumerable}),{getValue:function(){return a},setValue:function(b){a=""+b},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function so(e){if(!e._valueTracker){var n=Vd(e)?"checked":"value";e._valueTracker=Jv(e,n,""+e[n])}}function Pd(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var a=n.getValue(),s="";return e&&(s=Vd(e)?e.checked?"true":"false":e.value),e=s,e!==a?(n.setValue(e),!0):!1}function hl(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 Wv=/[\n"\\]/g;function un(e){return e.replace(Wv,function(n){return"\\"+n.charCodeAt(0).toString(16)+" "})}function oo(e,n,a,s,f,m,b,j){e.name="",b!=null&&typeof b!="function"&&typeof b!="symbol"&&typeof b!="boolean"?e.type=b:e.removeAttribute("type"),n!=null?b==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+on(n)):e.value!==""+on(n)&&(e.value=""+on(n)):b!=="submit"&&b!=="reset"||e.removeAttribute("value"),n!=null?uo(e,b,on(n)):a!=null?uo(e,b,on(a)):s!=null&&e.removeAttribute("value"),f==null&&m!=null&&(e.defaultChecked=!!m),f!=null&&(e.checked=f&&typeof f!="function"&&typeof f!="symbol"),j!=null&&typeof j!="function"&&typeof j!="symbol"&&typeof j!="boolean"?e.name=""+on(j):e.removeAttribute("name")}function Yd(e,n,a,s,f,m,b,j){if(m!=null&&typeof m!="function"&&typeof m!="symbol"&&typeof m!="boolean"&&(e.type=m),n!=null||a!=null){if(!(m!=="submit"&&m!=="reset"||n!=null)){so(e);return}a=a!=null?""+on(a):"",n=n!=null?""+on(n):a,j||n===e.value||(e.value=n),e.defaultValue=n}s=s??f,s=typeof s!="function"&&typeof s!="symbol"&&!!s,e.checked=j?e.checked:!!s,e.defaultChecked=!!s,b!=null&&typeof b!="function"&&typeof b!="symbol"&&typeof b!="boolean"&&(e.name=b),so(e)}function uo(e,n,a){n==="number"&&hl(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function dr(e,n,a,s){if(e=e.options,n){n={};for(var f=0;f<a.length;f++)n["$"+a[f]]=!0;for(a=0;a<e.length;a++)f=n.hasOwnProperty("$"+e[a].value),e[a].selected!==f&&(e[a].selected=f),f&&s&&(e[a].defaultSelected=!0)}else{for(a=""+on(a),n=null,f=0;f<e.length;f++){if(e[f].value===a){e[f].selected=!0,s&&(e[f].defaultSelected=!0);return}n!==null||e[f].disabled||(n=e[f])}n!==null&&(n.selected=!0)}}function Kd(e,n,a){if(n!=null&&(n=""+on(n),n!==e.value&&(e.value=n),a==null)){e.defaultValue!==n&&(e.defaultValue=n);return}e.defaultValue=a!=null?""+on(a):""}function Xd(e,n,a,s){if(n==null){if(s!=null){if(a!=null)throw Error(l(92));if(B(s)){if(1<s.length)throw Error(l(93));s=s[0]}a=s}a==null&&(a=""),n=a}a=on(n),e.defaultValue=a,s=e.textContent,s===a&&s!==""&&s!==null&&(e.value=s),so(e)}function fr(e,n){if(n){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=n;return}}e.textContent=n}var eb=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 Qd(e,n,a){var s=n.indexOf("--")===0;a==null||typeof a=="boolean"||a===""?s?e.setProperty(n,""):n==="float"?e.cssFloat="":e[n]="":s?e.setProperty(n,a):typeof a!="number"||a===0||eb.has(n)?n==="float"?e.cssFloat=a:e[n]=(""+a).trim():e[n]=a+"px"}function Zd(e,n,a){if(n!=null&&typeof n!="object")throw Error(l(62));if(e=e.style,a!=null){for(var s in a)!a.hasOwnProperty(s)||n!=null&&n.hasOwnProperty(s)||(s.indexOf("--")===0?e.setProperty(s,""):s==="float"?e.cssFloat="":e[s]="");for(var f in n)s=n[f],n.hasOwnProperty(f)&&a[f]!==s&&Qd(e,f,s)}else for(var m in n)n.hasOwnProperty(m)&&Qd(e,m,n[m])}function co(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 tb=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"]]),nb=/^[\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 ml(e){return nb.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function zn(){}var fo=null;function ho(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var hr=null,mr=null;function Jd(e){var n=or(e);if(n&&(e=n.stateNode)){var a=e[Ut]||null;e:switch(e=n.stateNode,n.type){case"input":if(oo(e,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name),n=a.name,a.type==="radio"&&n!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll('input[name="'+un(""+n)+'"][type="radio"]'),n=0;n<a.length;n++){var s=a[n];if(s!==e&&s.form===e.form){var f=s[Ut]||null;if(!f)throw Error(l(90));oo(s,f.value,f.defaultValue,f.defaultValue,f.checked,f.defaultChecked,f.type,f.name)}}for(n=0;n<a.length;n++)s=a[n],s.form===e.form&&Pd(s)}break e;case"textarea":Kd(e,a.value,a.defaultValue);break e;case"select":n=a.value,n!=null&&dr(e,!!a.multiple,n,!1)}}}var mo=!1;function Wd(e,n,a){if(mo)return e(n,a);mo=!0;try{var s=e(n);return s}finally{if(mo=!1,(hr!==null||mr!==null)&&(ts(),hr&&(n=hr,e=mr,mr=hr=null,Jd(n),e)))for(n=0;n<e.length;n++)Jd(e[n])}}function la(e,n){var a=e.stateNode;if(a===null)return null;var s=a[Ut]||null;if(s===null)return null;a=s[n];e:switch(n){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(s=!s.disabled)||(e=e.type,s=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!s;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(l(231,n,typeof a));return a}var _n=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),po=!1;if(_n)try{var sa={};Object.defineProperty(sa,"passive",{get:function(){po=!0}}),window.addEventListener("test",sa,sa),window.removeEventListener("test",sa,sa)}catch{po=!1}var ii=null,go=null,pl=null;function ef(){if(pl)return pl;var e,n=go,a=n.length,s,f="value"in ii?ii.value:ii.textContent,m=f.length;for(e=0;e<a&&n[e]===f[e];e++);var b=a-e;for(s=1;s<=b&&n[a-s]===f[m-s];s++);return pl=f.slice(e,1<s?1-s:void 0)}function gl(e){var n=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&n===13&&(e=13)):e=n,e===10&&(e=13),32<=e||e===13?e:0}function yl(){return!0}function tf(){return!1}function qt(e){function n(a,s,f,m,b){this._reactName=a,this._targetInst=f,this.type=s,this.nativeEvent=m,this.target=b,this.currentTarget=null;for(var j in e)e.hasOwnProperty(j)&&(a=e[j],this[j]=a?a(m):m[j]);return this.isDefaultPrevented=(m.defaultPrevented!=null?m.defaultPrevented:m.returnValue===!1)?yl:tf,this.isPropagationStopped=tf,this}return y(n.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=yl)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=yl)},persist:function(){},isPersistent:yl}),n}var zi={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},vl=qt(zi),oa=y({},zi,{view:0,detail:0}),ib=qt(oa),yo,vo,ua,bl=y({},oa,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:xo,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!==ua&&(ua&&e.type==="mousemove"?(yo=e.screenX-ua.screenX,vo=e.screenY-ua.screenY):vo=yo=0,ua=e),yo)},movementY:function(e){return"movementY"in e?e.movementY:vo}}),nf=qt(bl),rb=y({},bl,{dataTransfer:0}),ab=qt(rb),lb=y({},oa,{relatedTarget:0}),bo=qt(lb),sb=y({},zi,{animationName:0,elapsedTime:0,pseudoElement:0}),ob=qt(sb),ub=y({},zi,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),cb=qt(ub),db=y({},zi,{data:0}),rf=qt(db),fb={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},hb={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"},mb={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function pb(e){var n=this.nativeEvent;return n.getModifierState?n.getModifierState(e):(e=mb[e])?!!n[e]:!1}function xo(){return pb}var gb=y({},oa,{key:function(e){if(e.key){var n=fb[e.key]||e.key;if(n!=="Unidentified")return n}return e.type==="keypress"?(e=gl(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?hb[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:xo,charCode:function(e){return e.type==="keypress"?gl(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?gl(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),yb=qt(gb),vb=y({},bl,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),af=qt(vb),bb=y({},oa,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:xo}),xb=qt(bb),Sb=y({},zi,{propertyName:0,elapsedTime:0,pseudoElement:0}),kb=qt(Sb),wb=y({},bl,{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}),Cb=qt(wb),jb=y({},zi,{newState:0,oldState:0}),Tb=qt(jb),Rb=[9,13,27,32],So=_n&&"CompositionEvent"in window,ca=null;_n&&"documentMode"in document&&(ca=document.documentMode);var Eb=_n&&"TextEvent"in window&&!ca,lf=_n&&(!So||ca&&8<ca&&11>=ca),sf=" ",of=!1;function uf(e,n){switch(e){case"keyup":return Rb.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function cf(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var pr=!1;function Nb(e,n){switch(e){case"compositionend":return cf(n);case"keypress":return n.which!==32?null:(of=!0,sf);case"textInput":return e=n.data,e===sf&&of?null:e;default:return null}}function Ab(e,n){if(pr)return e==="compositionend"||!So&&uf(e,n)?(e=ef(),pl=go=ii=null,pr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1<n.char.length)return n.char;if(n.which)return String.fromCharCode(n.which)}return null;case"compositionend":return lf&&n.locale!=="ko"?null:n.data;default:return null}}var Ib={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 df(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n==="input"?!!Ib[e.type]:n==="textarea"}function ff(e,n,a,s){hr?mr?mr.push(s):mr=[s]:hr=s,n=os(n,"onChange"),0<n.length&&(a=new vl("onChange","change",null,a,s),e.push({event:a,listeners:n}))}var da=null,fa=null;function Db(e){Km(e,0)}function xl(e){var n=aa(e);if(Pd(n))return e}function hf(e,n){if(e==="change")return n}var mf=!1;if(_n){var ko;if(_n){var wo="oninput"in document;if(!wo){var pf=document.createElement("div");pf.setAttribute("oninput","return;"),wo=typeof pf.oninput=="function"}ko=wo}else ko=!1;mf=ko&&(!document.documentMode||9<document.documentMode)}function gf(){da&&(da.detachEvent("onpropertychange",yf),fa=da=null)}function yf(e){if(e.propertyName==="value"&&xl(fa)){var n=[];ff(n,fa,e,ho(e)),Wd(Db,n)}}function Ob(e,n,a){e==="focusin"?(gf(),da=n,fa=a,da.attachEvent("onpropertychange",yf)):e==="focusout"&&gf()}function Mb(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return xl(fa)}function zb(e,n){if(e==="click")return xl(n)}function _b(e,n){if(e==="input"||e==="change")return xl(n)}function Lb(e,n){return e===n&&(e!==0||1/e===1/n)||e!==e&&n!==n}var Zt=typeof Object.is=="function"?Object.is:Lb;function ha(e,n){if(Zt(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;var a=Object.keys(e),s=Object.keys(n);if(a.length!==s.length)return!1;for(s=0;s<a.length;s++){var f=a[s];if(!Rt.call(n,f)||!Zt(e[f],n[f]))return!1}return!0}function vf(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function bf(e,n){var a=vf(e);e=0;for(var s;a;){if(a.nodeType===3){if(s=e+a.textContent.length,e<=n&&s>=n)return{node:a,offset:n-e};e=s}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=vf(a)}}function xf(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?xf(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function Sf(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var n=hl(e.document);n instanceof e.HTMLIFrameElement;){try{var a=typeof n.contentWindow.location.href=="string"}catch{a=!1}if(a)e=n.contentWindow;else break;n=hl(e.document)}return n}function Co(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}var Bb=_n&&"documentMode"in document&&11>=document.documentMode,gr=null,jo=null,ma=null,To=!1;function kf(e,n,a){var s=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;To||gr==null||gr!==hl(s)||(s=gr,"selectionStart"in s&&Co(s)?s={start:s.selectionStart,end:s.selectionEnd}:(s=(s.ownerDocument&&s.ownerDocument.defaultView||window).getSelection(),s={anchorNode:s.anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset}),ma&&ha(ma,s)||(ma=s,s=os(jo,"onSelect"),0<s.length&&(n=new vl("onSelect","select",null,n,a),e.push({event:n,listeners:s}),n.target=gr)))}function _i(e,n){var a={};return a[e.toLowerCase()]=n.toLowerCase(),a["Webkit"+e]="webkit"+n,a["Moz"+e]="moz"+n,a}var yr={animationend:_i("Animation","AnimationEnd"),animationiteration:_i("Animation","AnimationIteration"),animationstart:_i("Animation","AnimationStart"),transitionrun:_i("Transition","TransitionRun"),transitionstart:_i("Transition","TransitionStart"),transitioncancel:_i("Transition","TransitionCancel"),transitionend:_i("Transition","TransitionEnd")},Ro={},wf={};_n&&(wf=document.createElement("div").style,"AnimationEvent"in window||(delete yr.animationend.animation,delete yr.animationiteration.animation,delete yr.animationstart.animation),"TransitionEvent"in window||delete yr.transitionend.transition);function Li(e){if(Ro[e])return Ro[e];if(!yr[e])return e;var n=yr[e],a;for(a in n)if(n.hasOwnProperty(a)&&a in wf)return Ro[e]=n[a];return e}var Cf=Li("animationend"),jf=Li("animationiteration"),Tf=Li("animationstart"),Hb=Li("transitionrun"),Ub=Li("transitionstart"),qb=Li("transitioncancel"),Rf=Li("transitionend"),Ef=new Map,Eo="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(" ");Eo.push("scrollEnd");function bn(e,n){Ef.set(e,n),Mi(n,[e])}var Sl=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var n=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(n))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},cn=[],vr=0,No=0;function kl(){for(var e=vr,n=No=vr=0;n<e;){var a=cn[n];cn[n++]=null;var s=cn[n];cn[n++]=null;var f=cn[n];cn[n++]=null;var m=cn[n];if(cn[n++]=null,s!==null&&f!==null){var b=s.pending;b===null?f.next=f:(f.next=b.next,b.next=f),s.pending=f}m!==0&&Nf(a,f,m)}}function wl(e,n,a,s){cn[vr++]=e,cn[vr++]=n,cn[vr++]=a,cn[vr++]=s,No|=s,e.lanes|=s,e=e.alternate,e!==null&&(e.lanes|=s)}function Ao(e,n,a,s){return wl(e,n,a,s),Cl(e)}function Bi(e,n){return wl(e,null,null,n),Cl(e)}function Nf(e,n,a){e.lanes|=a;var s=e.alternate;s!==null&&(s.lanes|=a);for(var f=!1,m=e.return;m!==null;)m.childLanes|=a,s=m.alternate,s!==null&&(s.childLanes|=a),m.tag===22&&(e=m.stateNode,e===null||e._visibility&1||(f=!0)),e=m,m=m.return;return e.tag===3?(m=e.stateNode,f&&n!==null&&(f=31-Qe(a),e=m.hiddenUpdates,s=e[f],s===null?e[f]=[n]:s.push(n),n.lane=a|536870912),m):null}function Cl(e){if(50<_a)throw _a=0,Hu=null,Error(l(185));for(var n=e.return;n!==null;)e=n,n=e.return;return e.tag===3?e.stateNode:null}var br={};function Gb(e,n,a,s){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=s,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Jt(e,n,a,s){return new Gb(e,n,a,s)}function Io(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Ln(e,n){var a=e.alternate;return a===null?(a=Jt(e.tag,n,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=n,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&65011712,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,n=e.dependencies,a.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a.refCleanup=e.refCleanup,a}function Af(e,n){e.flags&=65011714;var a=e.alternate;return a===null?(e.childLanes=0,e.lanes=n,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=a.childLanes,e.lanes=a.lanes,e.child=a.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,e.type=a.type,n=a.dependencies,e.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext}),e}function jl(e,n,a,s,f,m){var b=0;if(s=e,typeof e=="function")Io(e)&&(b=1);else if(typeof e=="string")b=Yx(e,a,re.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case ue:return e=Jt(31,a,n,f),e.elementType=ue,e.lanes=m,e;case I:return Hi(a.children,f,m,n);case H:b=8,f|=24;break;case R:return e=Jt(12,a,n,f|2),e.elementType=R,e.lanes=m,e;case K:return e=Jt(13,a,n,f),e.elementType=K,e.lanes=m,e;case E:return e=Jt(19,a,n,f),e.elementType=E,e.lanes=m,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case A:b=10;break e;case N:b=9;break e;case G:b=11;break e;case $:b=14;break e;case te:b=16,s=null;break e}b=29,a=Error(l(130,e===null?"null":typeof e,"")),s=null}return n=Jt(b,a,n,f),n.elementType=e,n.type=s,n.lanes=m,n}function Hi(e,n,a,s){return e=Jt(7,e,s,n),e.lanes=a,e}function Do(e,n,a){return e=Jt(6,e,null,n),e.lanes=a,e}function If(e){var n=Jt(18,null,null,0);return n.stateNode=e,n}function Oo(e,n,a){return n=Jt(4,e.children!==null?e.children:[],e.key,n),n.lanes=a,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}var Df=new WeakMap;function dn(e,n){if(typeof e=="object"&&e!==null){var a=Df.get(e);return a!==void 0?a:(n={value:e,source:n,stack:Cn(n)},Df.set(e,n),n)}return{value:e,source:n,stack:Cn(n)}}var xr=[],Sr=0,Tl=null,pa=0,fn=[],hn=0,ri=null,Tn=1,Rn="";function Bn(e,n){xr[Sr++]=pa,xr[Sr++]=Tl,Tl=e,pa=n}function Of(e,n,a){fn[hn++]=Tn,fn[hn++]=Rn,fn[hn++]=ri,ri=e;var s=Tn;e=Rn;var f=32-Qe(s)-1;s&=~(1<<f),a+=1;var m=32-Qe(n)+f;if(30<m){var b=f-f%5;m=(s&(1<<b)-1).toString(32),s>>=b,f-=b,Tn=1<<32-Qe(n)+f|a<<f|s,Rn=m+e}else Tn=1<<m|a<<f|s,Rn=e}function Mo(e){e.return!==null&&(Bn(e,1),Of(e,1,0))}function zo(e){for(;e===Tl;)Tl=xr[--Sr],xr[Sr]=null,pa=xr[--Sr],xr[Sr]=null;for(;e===ri;)ri=fn[--hn],fn[hn]=null,Rn=fn[--hn],fn[hn]=null,Tn=fn[--hn],fn[hn]=null}function Mf(e,n){fn[hn++]=Tn,fn[hn++]=Rn,fn[hn++]=ri,Tn=n.id,Rn=n.overflow,ri=e}var At=null,lt=null,Ge=!1,ai=null,mn=!1,_o=Error(l(519));function li(e){var n=Error(l(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw ga(dn(n,e)),_o}function zf(e){var n=e.stateNode,a=e.type,s=e.memoizedProps;switch(n[Nt]=e,n[Ut]=s,a){case"dialog":_e("cancel",n),_e("close",n);break;case"iframe":case"object":case"embed":_e("load",n);break;case"video":case"audio":for(a=0;a<Ba.length;a++)_e(Ba[a],n);break;case"source":_e("error",n);break;case"img":case"image":case"link":_e("error",n),_e("load",n);break;case"details":_e("toggle",n);break;case"input":_e("invalid",n),Yd(n,s.value,s.defaultValue,s.checked,s.defaultChecked,s.type,s.name,!0);break;case"select":_e("invalid",n);break;case"textarea":_e("invalid",n),Xd(n,s.value,s.defaultValue,s.children)}a=s.children,typeof a!="string"&&typeof a!="number"&&typeof a!="bigint"||n.textContent===""+a||s.suppressHydrationWarning===!0||Jm(n.textContent,a)?(s.popover!=null&&(_e("beforetoggle",n),_e("toggle",n)),s.onScroll!=null&&_e("scroll",n),s.onScrollEnd!=null&&_e("scrollend",n),s.onClick!=null&&(n.onclick=zn),n=!0):n=!1,n||li(e,!0)}function _f(e){for(At=e.return;At;)switch(At.tag){case 5:case 31:case 13:mn=!1;return;case 27:case 3:mn=!0;return;default:At=At.return}}function kr(e){if(e!==At)return!1;if(!Ge)return _f(e),Ge=!0,!1;var n=e.tag,a;if((a=n!==3&&n!==27)&&((a=n===5)&&(a=e.type,a=!(a!=="form"&&a!=="button")||ec(e.type,e.memoizedProps)),a=!a),a&&lt&&li(e),_f(e),n===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(l(317));lt=sp(e)}else if(n===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(l(317));lt=sp(e)}else n===27?(n=lt,xi(e.type)?(e=ac,ac=null,lt=e):lt=n):lt=At?gn(e.stateNode.nextSibling):null;return!0}function Ui(){lt=At=null,Ge=!1}function Lo(){var e=ai;return e!==null&&(Vt===null?Vt=e:Vt.push.apply(Vt,e),ai=null),e}function ga(e){ai===null?ai=[e]:ai.push(e)}var Bo=D(null),qi=null,Hn=null;function si(e,n,a){w(Bo,n._currentValue),n._currentValue=a}function Un(e){e._currentValue=Bo.current,M(Bo)}function Ho(e,n,a){for(;e!==null;){var s=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,s!==null&&(s.childLanes|=n)):s!==null&&(s.childLanes&n)!==n&&(s.childLanes|=n),e===a)break;e=e.return}}function Uo(e,n,a,s){var f=e.child;for(f!==null&&(f.return=e);f!==null;){var m=f.dependencies;if(m!==null){var b=f.child;m=m.firstContext;e:for(;m!==null;){var j=m;m=f;for(var L=0;L<n.length;L++)if(j.context===n[L]){m.lanes|=a,j=m.alternate,j!==null&&(j.lanes|=a),Ho(m.return,a,e),s||(b=null);break e}m=j.next}}else if(f.tag===18){if(b=f.return,b===null)throw Error(l(341));b.lanes|=a,m=b.alternate,m!==null&&(m.lanes|=a),Ho(b,a,e),b=null}else b=f.child;if(b!==null)b.return=f;else for(b=f;b!==null;){if(b===e){b=null;break}if(f=b.sibling,f!==null){f.return=b.return,b=f;break}b=b.return}f=b}}function wr(e,n,a,s){e=null;for(var f=n,m=!1;f!==null;){if(!m){if((f.flags&524288)!==0)m=!0;else if((f.flags&262144)!==0)break}if(f.tag===10){var b=f.alternate;if(b===null)throw Error(l(387));if(b=b.memoizedProps,b!==null){var j=f.type;Zt(f.pendingProps.value,b.value)||(e!==null?e.push(j):e=[j])}}else if(f===ce.current){if(b=f.alternate,b===null)throw Error(l(387));b.memoizedState.memoizedState!==f.memoizedState.memoizedState&&(e!==null?e.push($a):e=[$a])}f=f.return}e!==null&&Uo(n,e,a,s),n.flags|=262144}function Rl(e){for(e=e.firstContext;e!==null;){if(!Zt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Gi(e){qi=e,Hn=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function It(e){return Lf(qi,e)}function El(e,n){return qi===null&&Gi(e),Lf(e,n)}function Lf(e,n){var a=n._currentValue;if(n={context:n,memoizedValue:a,next:null},Hn===null){if(e===null)throw Error(l(308));Hn=n,e.dependencies={lanes:0,firstContext:n},e.flags|=524288}else Hn=Hn.next=n;return a}var $b=typeof AbortController<"u"?AbortController:function(){var e=[],n=this.signal={aborted:!1,addEventListener:function(a,s){e.push(s)}};this.abort=function(){n.aborted=!0,e.forEach(function(a){return a()})}},Fb=t.unstable_scheduleCallback,Vb=t.unstable_NormalPriority,yt={$$typeof:A,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function qo(){return{controller:new $b,data:new Map,refCount:0}}function ya(e){e.refCount--,e.refCount===0&&Fb(Vb,function(){e.controller.abort()})}var va=null,Go=0,Cr=0,jr=null;function Pb(e,n){if(va===null){var a=va=[];Go=0,Cr=Vu(),jr={status:"pending",value:void 0,then:function(s){a.push(s)}}}return Go++,n.then(Bf,Bf),n}function Bf(){if(--Go===0&&va!==null){jr!==null&&(jr.status="fulfilled");var e=va;va=null,Cr=0,jr=null;for(var n=0;n<e.length;n++)(0,e[n])()}}function Yb(e,n){var a=[],s={status:"pending",value:null,reason:null,then:function(f){a.push(f)}};return e.then(function(){s.status="fulfilled",s.value=n;for(var f=0;f<a.length;f++)(0,a[f])(n)},function(f){for(s.status="rejected",s.reason=f,f=0;f<a.length;f++)(0,a[f])(void 0)}),s}var Hf=O.S;O.S=function(e,n){km=ie(),typeof n=="object"&&n!==null&&typeof n.then=="function"&&Pb(e,n),Hf!==null&&Hf(e,n)};var $i=D(null);function $o(){var e=$i.current;return e!==null?e:nt.pooledCache}function Nl(e,n){n===null?w($i,$i.current):w($i,n.pool)}function Uf(){var e=$o();return e===null?null:{parent:yt._currentValue,pool:e}}var Tr=Error(l(460)),Fo=Error(l(474)),Al=Error(l(542)),Il={then:function(){}};function qf(e){return e=e.status,e==="fulfilled"||e==="rejected"}function Gf(e,n,a){switch(a=e[a],a===void 0?e.push(n):a!==n&&(n.then(zn,zn),n=a),n.status){case"fulfilled":return n.value;case"rejected":throw e=n.reason,Ff(e),e;default:if(typeof n.status=="string")n.then(zn,zn);else{if(e=nt,e!==null&&100<e.shellSuspendCounter)throw Error(l(482));e=n,e.status="pending",e.then(function(s){if(n.status==="pending"){var f=n;f.status="fulfilled",f.value=s}},function(s){if(n.status==="pending"){var f=n;f.status="rejected",f.reason=s}})}switch(n.status){case"fulfilled":return n.value;case"rejected":throw e=n.reason,Ff(e),e}throw Vi=n,Tr}}function Fi(e){try{var n=e._init;return n(e._payload)}catch(a){throw a!==null&&typeof a=="object"&&typeof a.then=="function"?(Vi=a,Tr):a}}var Vi=null;function $f(){if(Vi===null)throw Error(l(459));var e=Vi;return Vi=null,e}function Ff(e){if(e===Tr||e===Al)throw Error(l(483))}var Rr=null,ba=0;function Dl(e){var n=ba;return ba+=1,Rr===null&&(Rr=[]),Gf(Rr,e,n)}function xa(e,n){n=n.props.ref,e.ref=n!==void 0?n:null}function Ol(e,n){throw n.$$typeof===S?Error(l(525)):(e=Object.prototype.toString.call(n),Error(l(31,e==="[object Object]"?"object with keys {"+Object.keys(n).join(", ")+"}":e)))}function Vf(e){function n(P,q){if(e){var Q=P.deletions;Q===null?(P.deletions=[q],P.flags|=16):Q.push(q)}}function a(P,q){if(!e)return null;for(;q!==null;)n(P,q),q=q.sibling;return null}function s(P){for(var q=new Map;P!==null;)P.key!==null?q.set(P.key,P):q.set(P.index,P),P=P.sibling;return q}function f(P,q){return P=Ln(P,q),P.index=0,P.sibling=null,P}function m(P,q,Q){return P.index=Q,e?(Q=P.alternate,Q!==null?(Q=Q.index,Q<q?(P.flags|=67108866,q):Q):(P.flags|=67108866,q)):(P.flags|=1048576,q)}function b(P){return e&&P.alternate===null&&(P.flags|=67108866),P}function j(P,q,Q,se){return q===null||q.tag!==6?(q=Do(Q,P.mode,se),q.return=P,q):(q=f(q,Q),q.return=P,q)}function L(P,q,Q,se){var xe=Q.type;return xe===I?ae(P,q,Q.props.children,se,Q.key):q!==null&&(q.elementType===xe||typeof xe=="object"&&xe!==null&&xe.$$typeof===te&&Fi(xe)===q.type)?(q=f(q,Q.props),xa(q,Q),q.return=P,q):(q=jl(Q.type,Q.key,Q.props,null,P.mode,se),xa(q,Q),q.return=P,q)}function Z(P,q,Q,se){return q===null||q.tag!==4||q.stateNode.containerInfo!==Q.containerInfo||q.stateNode.implementation!==Q.implementation?(q=Oo(Q,P.mode,se),q.return=P,q):(q=f(q,Q.children||[]),q.return=P,q)}function ae(P,q,Q,se,xe){return q===null||q.tag!==7?(q=Hi(Q,P.mode,se,xe),q.return=P,q):(q=f(q,Q),q.return=P,q)}function oe(P,q,Q){if(typeof q=="string"&&q!==""||typeof q=="number"||typeof q=="bigint")return q=Do(""+q,P.mode,Q),q.return=P,q;if(typeof q=="object"&&q!==null){switch(q.$$typeof){case x:return Q=jl(q.type,q.key,q.props,null,P.mode,Q),xa(Q,q),Q.return=P,Q;case C:return q=Oo(q,P.mode,Q),q.return=P,q;case te:return q=Fi(q),oe(P,q,Q)}if(B(q)||V(q))return q=Hi(q,P.mode,Q,null),q.return=P,q;if(typeof q.then=="function")return oe(P,Dl(q),Q);if(q.$$typeof===A)return oe(P,El(P,q),Q);Ol(P,q)}return null}function J(P,q,Q,se){var xe=q!==null?q.key:null;if(typeof Q=="string"&&Q!==""||typeof Q=="number"||typeof Q=="bigint")return xe!==null?null:j(P,q,""+Q,se);if(typeof Q=="object"&&Q!==null){switch(Q.$$typeof){case x:return Q.key===xe?L(P,q,Q,se):null;case C:return Q.key===xe?Z(P,q,Q,se):null;case te:return Q=Fi(Q),J(P,q,Q,se)}if(B(Q)||V(Q))return xe!==null?null:ae(P,q,Q,se,null);if(typeof Q.then=="function")return J(P,q,Dl(Q),se);if(Q.$$typeof===A)return J(P,q,El(P,Q),se);Ol(P,Q)}return null}function ne(P,q,Q,se,xe){if(typeof se=="string"&&se!==""||typeof se=="number"||typeof se=="bigint")return P=P.get(Q)||null,j(q,P,""+se,xe);if(typeof se=="object"&&se!==null){switch(se.$$typeof){case x:return P=P.get(se.key===null?Q:se.key)||null,L(q,P,se,xe);case C:return P=P.get(se.key===null?Q:se.key)||null,Z(q,P,se,xe);case te:return se=Fi(se),ne(P,q,Q,se,xe)}if(B(se)||V(se))return P=P.get(Q)||null,ae(q,P,se,xe,null);if(typeof se.then=="function")return ne(P,q,Q,Dl(se),xe);if(se.$$typeof===A)return ne(P,q,Q,El(q,se),xe);Ol(q,se)}return null}function ge(P,q,Q,se){for(var xe=null,Ve=null,ve=q,Me=q=0,Ue=null;ve!==null&&Me<Q.length;Me++){ve.index>Me?(Ue=ve,ve=null):Ue=ve.sibling;var Pe=J(P,ve,Q[Me],se);if(Pe===null){ve===null&&(ve=Ue);break}e&&ve&&Pe.alternate===null&&n(P,ve),q=m(Pe,q,Me),Ve===null?xe=Pe:Ve.sibling=Pe,Ve=Pe,ve=Ue}if(Me===Q.length)return a(P,ve),Ge&&Bn(P,Me),xe;if(ve===null){for(;Me<Q.length;Me++)ve=oe(P,Q[Me],se),ve!==null&&(q=m(ve,q,Me),Ve===null?xe=ve:Ve.sibling=ve,Ve=ve);return Ge&&Bn(P,Me),xe}for(ve=s(ve);Me<Q.length;Me++)Ue=ne(ve,P,Me,Q[Me],se),Ue!==null&&(e&&Ue.alternate!==null&&ve.delete(Ue.key===null?Me:Ue.key),q=m(Ue,q,Me),Ve===null?xe=Ue:Ve.sibling=Ue,Ve=Ue);return e&&ve.forEach(function(ji){return n(P,ji)}),Ge&&Bn(P,Me),xe}function we(P,q,Q,se){if(Q==null)throw Error(l(151));for(var xe=null,Ve=null,ve=q,Me=q=0,Ue=null,Pe=Q.next();ve!==null&&!Pe.done;Me++,Pe=Q.next()){ve.index>Me?(Ue=ve,ve=null):Ue=ve.sibling;var ji=J(P,ve,Pe.value,se);if(ji===null){ve===null&&(ve=Ue);break}e&&ve&&ji.alternate===null&&n(P,ve),q=m(ji,q,Me),Ve===null?xe=ji:Ve.sibling=ji,Ve=ji,ve=Ue}if(Pe.done)return a(P,ve),Ge&&Bn(P,Me),xe;if(ve===null){for(;!Pe.done;Me++,Pe=Q.next())Pe=oe(P,Pe.value,se),Pe!==null&&(q=m(Pe,q,Me),Ve===null?xe=Pe:Ve.sibling=Pe,Ve=Pe);return Ge&&Bn(P,Me),xe}for(ve=s(ve);!Pe.done;Me++,Pe=Q.next())Pe=ne(ve,P,Me,Pe.value,se),Pe!==null&&(e&&Pe.alternate!==null&&ve.delete(Pe.key===null?Me:Pe.key),q=m(Pe,q,Me),Ve===null?xe=Pe:Ve.sibling=Pe,Ve=Pe);return e&&ve.forEach(function(r1){return n(P,r1)}),Ge&&Bn(P,Me),xe}function tt(P,q,Q,se){if(typeof Q=="object"&&Q!==null&&Q.type===I&&Q.key===null&&(Q=Q.props.children),typeof Q=="object"&&Q!==null){switch(Q.$$typeof){case x:e:{for(var xe=Q.key;q!==null;){if(q.key===xe){if(xe=Q.type,xe===I){if(q.tag===7){a(P,q.sibling),se=f(q,Q.props.children),se.return=P,P=se;break e}}else if(q.elementType===xe||typeof xe=="object"&&xe!==null&&xe.$$typeof===te&&Fi(xe)===q.type){a(P,q.sibling),se=f(q,Q.props),xa(se,Q),se.return=P,P=se;break e}a(P,q);break}else n(P,q);q=q.sibling}Q.type===I?(se=Hi(Q.props.children,P.mode,se,Q.key),se.return=P,P=se):(se=jl(Q.type,Q.key,Q.props,null,P.mode,se),xa(se,Q),se.return=P,P=se)}return b(P);case C:e:{for(xe=Q.key;q!==null;){if(q.key===xe)if(q.tag===4&&q.stateNode.containerInfo===Q.containerInfo&&q.stateNode.implementation===Q.implementation){a(P,q.sibling),se=f(q,Q.children||[]),se.return=P,P=se;break e}else{a(P,q);break}else n(P,q);q=q.sibling}se=Oo(Q,P.mode,se),se.return=P,P=se}return b(P);case te:return Q=Fi(Q),tt(P,q,Q,se)}if(B(Q))return ge(P,q,Q,se);if(V(Q)){if(xe=V(Q),typeof xe!="function")throw Error(l(150));return Q=xe.call(Q),we(P,q,Q,se)}if(typeof Q.then=="function")return tt(P,q,Dl(Q),se);if(Q.$$typeof===A)return tt(P,q,El(P,Q),se);Ol(P,Q)}return typeof Q=="string"&&Q!==""||typeof Q=="number"||typeof Q=="bigint"?(Q=""+Q,q!==null&&q.tag===6?(a(P,q.sibling),se=f(q,Q),se.return=P,P=se):(a(P,q),se=Do(Q,P.mode,se),se.return=P,P=se),b(P)):a(P,q)}return function(P,q,Q,se){try{ba=0;var xe=tt(P,q,Q,se);return Rr=null,xe}catch(ve){if(ve===Tr||ve===Al)throw ve;var Ve=Jt(29,ve,null,P.mode);return Ve.lanes=se,Ve.return=P,Ve}}}var Pi=Vf(!0),Pf=Vf(!1),oi=!1;function Vo(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Po(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function ui(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ci(e,n,a){var s=e.updateQueue;if(s===null)return null;if(s=s.shared,(Ke&2)!==0){var f=s.pending;return f===null?n.next=n:(n.next=f.next,f.next=n),s.pending=n,n=Cl(e),Nf(e,null,a),n}return wl(e,s,n,a),Cl(e)}function Sa(e,n,a){if(n=n.updateQueue,n!==null&&(n=n.shared,(a&4194048)!==0)){var s=n.lanes;s&=e.pendingLanes,a|=s,n.lanes=a,_d(e,a)}}function Yo(e,n){var a=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,a===s)){var f=null,m=null;if(a=a.firstBaseUpdate,a!==null){do{var b={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};m===null?f=m=b:m=m.next=b,a=a.next}while(a!==null);m===null?f=m=n:m=m.next=n}else f=m=n;a={baseState:s.baseState,firstBaseUpdate:f,lastBaseUpdate:m,shared:s.shared,callbacks:s.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=n:e.next=n,a.lastBaseUpdate=n}var Ko=!1;function ka(){if(Ko){var e=jr;if(e!==null)throw e}}function wa(e,n,a,s){Ko=!1;var f=e.updateQueue;oi=!1;var m=f.firstBaseUpdate,b=f.lastBaseUpdate,j=f.shared.pending;if(j!==null){f.shared.pending=null;var L=j,Z=L.next;L.next=null,b===null?m=Z:b.next=Z,b=L;var ae=e.alternate;ae!==null&&(ae=ae.updateQueue,j=ae.lastBaseUpdate,j!==b&&(j===null?ae.firstBaseUpdate=Z:j.next=Z,ae.lastBaseUpdate=L))}if(m!==null){var oe=f.baseState;b=0,ae=Z=L=null,j=m;do{var J=j.lane&-536870913,ne=J!==j.lane;if(ne?(He&J)===J:(s&J)===J){J!==0&&J===Cr&&(Ko=!0),ae!==null&&(ae=ae.next={lane:0,tag:j.tag,payload:j.payload,callback:null,next:null});e:{var ge=e,we=j;J=n;var tt=a;switch(we.tag){case 1:if(ge=we.payload,typeof ge=="function"){oe=ge.call(tt,oe,J);break e}oe=ge;break e;case 3:ge.flags=ge.flags&-65537|128;case 0:if(ge=we.payload,J=typeof ge=="function"?ge.call(tt,oe,J):ge,J==null)break e;oe=y({},oe,J);break e;case 2:oi=!0}}J=j.callback,J!==null&&(e.flags|=64,ne&&(e.flags|=8192),ne=f.callbacks,ne===null?f.callbacks=[J]:ne.push(J))}else ne={lane:J,tag:j.tag,payload:j.payload,callback:j.callback,next:null},ae===null?(Z=ae=ne,L=oe):ae=ae.next=ne,b|=J;if(j=j.next,j===null){if(j=f.shared.pending,j===null)break;ne=j,j=ne.next,ne.next=null,f.lastBaseUpdate=ne,f.shared.pending=null}}while(!0);ae===null&&(L=oe),f.baseState=L,f.firstBaseUpdate=Z,f.lastBaseUpdate=ae,m===null&&(f.shared.lanes=0),pi|=b,e.lanes=b,e.memoizedState=oe}}function Yf(e,n){if(typeof e!="function")throw Error(l(191,e));e.call(n)}function Kf(e,n){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;e<a.length;e++)Yf(a[e],n)}var Er=D(null),Ml=D(0);function Xf(e,n){e=Xn,w(Ml,e),w(Er,n),Xn=e|n.baseLanes}function Xo(){w(Ml,Xn),w(Er,Er.current)}function Qo(){Xn=Ml.current,M(Er),M(Ml)}var Wt=D(null),pn=null;function di(e){var n=e.alternate;w(mt,mt.current&1),w(Wt,e),pn===null&&(n===null||Er.current!==null||n.memoizedState!==null)&&(pn=e)}function Zo(e){w(mt,mt.current),w(Wt,e),pn===null&&(pn=e)}function Qf(e){e.tag===22?(w(mt,mt.current),w(Wt,e),pn===null&&(pn=e)):fi()}function fi(){w(mt,mt.current),w(Wt,Wt.current)}function en(e){M(Wt),pn===e&&(pn=null),M(mt)}var mt=D(0);function zl(e){for(var n=e;n!==null;){if(n.tag===13){var a=n.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||ic(a)||rc(a)))return n}else if(n.tag===19&&(n.memoizedProps.revealOrder==="forwards"||n.memoizedProps.revealOrder==="backwards"||n.memoizedProps.revealOrder==="unstable_legacy-backwards"||n.memoizedProps.revealOrder==="together")){if((n.flags&128)!==0)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var qn=0,Oe=null,We=null,vt=null,_l=!1,Nr=!1,Yi=!1,Ll=0,Ca=0,Ar=null,Kb=0;function ct(){throw Error(l(321))}function Jo(e,n){if(n===null)return!1;for(var a=0;a<n.length&&a<e.length;a++)if(!Zt(e[a],n[a]))return!1;return!0}function Wo(e,n,a,s,f,m){return qn=m,Oe=n,n.memoizedState=null,n.updateQueue=null,n.lanes=0,O.H=e===null||e.memoizedState===null?Oh:mu,Yi=!1,m=a(s,f),Yi=!1,Nr&&(m=Jf(n,a,s,f)),Zf(e),m}function Zf(e){O.H=Ra;var n=We!==null&&We.next!==null;if(qn=0,vt=We=Oe=null,_l=!1,Ca=0,Ar=null,n)throw Error(l(300));e===null||bt||(e=e.dependencies,e!==null&&Rl(e)&&(bt=!0))}function Jf(e,n,a,s){Oe=e;var f=0;do{if(Nr&&(Ar=null),Ca=0,Nr=!1,25<=f)throw Error(l(301));if(f+=1,vt=We=null,e.updateQueue!=null){var m=e.updateQueue;m.lastEffect=null,m.events=null,m.stores=null,m.memoCache!=null&&(m.memoCache.index=0)}O.H=Mh,m=n(a,s)}while(Nr);return m}function Xb(){var e=O.H,n=e.useState()[0];return n=typeof n.then=="function"?ja(n):n,e=e.useState()[0],(We!==null?We.memoizedState:null)!==e&&(Oe.flags|=1024),n}function eu(){var e=Ll!==0;return Ll=0,e}function tu(e,n,a){n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~a}function nu(e){if(_l){for(e=e.memoizedState;e!==null;){var n=e.queue;n!==null&&(n.pending=null),e=e.next}_l=!1}qn=0,vt=We=Oe=null,Nr=!1,Ca=Ll=0,Ar=null}function Bt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return vt===null?Oe.memoizedState=vt=e:vt=vt.next=e,vt}function pt(){if(We===null){var e=Oe.alternate;e=e!==null?e.memoizedState:null}else e=We.next;var n=vt===null?Oe.memoizedState:vt.next;if(n!==null)vt=n,We=e;else{if(e===null)throw Oe.alternate===null?Error(l(467)):Error(l(310));We=e,e={memoizedState:We.memoizedState,baseState:We.baseState,baseQueue:We.baseQueue,queue:We.queue,next:null},vt===null?Oe.memoizedState=vt=e:vt=vt.next=e}return vt}function Bl(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function ja(e){var n=Ca;return Ca+=1,Ar===null&&(Ar=[]),e=Gf(Ar,e,n),n=Oe,(vt===null?n.memoizedState:vt.next)===null&&(n=n.alternate,O.H=n===null||n.memoizedState===null?Oh:mu),e}function Hl(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return ja(e);if(e.$$typeof===A)return It(e)}throw Error(l(438,String(e)))}function iu(e){var n=null,a=Oe.updateQueue;if(a!==null&&(n=a.memoCache),n==null){var s=Oe.alternate;s!==null&&(s=s.updateQueue,s!==null&&(s=s.memoCache,s!=null&&(n={data:s.data.map(function(f){return f.slice()}),index:0})))}if(n==null&&(n={data:[],index:0}),a===null&&(a=Bl(),Oe.updateQueue=a),a.memoCache=n,a=n.data[n.index],a===void 0)for(a=n.data[n.index]=Array(e),s=0;s<e;s++)a[s]=z;return n.index++,a}function Gn(e,n){return typeof n=="function"?n(e):n}function Ul(e){var n=pt();return ru(n,We,e)}function ru(e,n,a){var s=e.queue;if(s===null)throw Error(l(311));s.lastRenderedReducer=a;var f=e.baseQueue,m=s.pending;if(m!==null){if(f!==null){var b=f.next;f.next=m.next,m.next=b}n.baseQueue=f=m,s.pending=null}if(m=e.baseState,f===null)e.memoizedState=m;else{n=f.next;var j=b=null,L=null,Z=n,ae=!1;do{var oe=Z.lane&-536870913;if(oe!==Z.lane?(He&oe)===oe:(qn&oe)===oe){var J=Z.revertLane;if(J===0)L!==null&&(L=L.next={lane:0,revertLane:0,gesture:null,action:Z.action,hasEagerState:Z.hasEagerState,eagerState:Z.eagerState,next:null}),oe===Cr&&(ae=!0);else if((qn&J)===J){Z=Z.next,J===Cr&&(ae=!0);continue}else oe={lane:0,revertLane:Z.revertLane,gesture:null,action:Z.action,hasEagerState:Z.hasEagerState,eagerState:Z.eagerState,next:null},L===null?(j=L=oe,b=m):L=L.next=oe,Oe.lanes|=J,pi|=J;oe=Z.action,Yi&&a(m,oe),m=Z.hasEagerState?Z.eagerState:a(m,oe)}else J={lane:oe,revertLane:Z.revertLane,gesture:Z.gesture,action:Z.action,hasEagerState:Z.hasEagerState,eagerState:Z.eagerState,next:null},L===null?(j=L=J,b=m):L=L.next=J,Oe.lanes|=oe,pi|=oe;Z=Z.next}while(Z!==null&&Z!==n);if(L===null?b=m:L.next=j,!Zt(m,e.memoizedState)&&(bt=!0,ae&&(a=jr,a!==null)))throw a;e.memoizedState=m,e.baseState=b,e.baseQueue=L,s.lastRenderedState=m}return f===null&&(s.lanes=0),[e.memoizedState,s.dispatch]}function au(e){var n=pt(),a=n.queue;if(a===null)throw Error(l(311));a.lastRenderedReducer=e;var s=a.dispatch,f=a.pending,m=n.memoizedState;if(f!==null){a.pending=null;var b=f=f.next;do m=e(m,b.action),b=b.next;while(b!==f);Zt(m,n.memoizedState)||(bt=!0),n.memoizedState=m,n.baseQueue===null&&(n.baseState=m),a.lastRenderedState=m}return[m,s]}function Wf(e,n,a){var s=Oe,f=pt(),m=Ge;if(m){if(a===void 0)throw Error(l(407));a=a()}else a=n();var b=!Zt((We||f).memoizedState,a);if(b&&(f.memoizedState=a,bt=!0),f=f.queue,ou(nh.bind(null,s,f,e),[e]),f.getSnapshot!==n||b||vt!==null&&vt.memoizedState.tag&1){if(s.flags|=2048,Ir(9,{destroy:void 0},th.bind(null,s,f,a,n),null),nt===null)throw Error(l(349));m||(qn&127)!==0||eh(s,n,a)}return a}function eh(e,n,a){e.flags|=16384,e={getSnapshot:n,value:a},n=Oe.updateQueue,n===null?(n=Bl(),Oe.updateQueue=n,n.stores=[e]):(a=n.stores,a===null?n.stores=[e]:a.push(e))}function th(e,n,a,s){n.value=a,n.getSnapshot=s,ih(n)&&rh(e)}function nh(e,n,a){return a(function(){ih(n)&&rh(e)})}function ih(e){var n=e.getSnapshot;e=e.value;try{var a=n();return!Zt(e,a)}catch{return!0}}function rh(e){var n=Bi(e,2);n!==null&&Pt(n,e,2)}function lu(e){var n=Bt();if(typeof e=="function"){var a=e;if(e=a(),Yi){ht(!0);try{a()}finally{ht(!1)}}}return n.memoizedState=n.baseState=e,n.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Gn,lastRenderedState:e},n}function ah(e,n,a,s){return e.baseState=a,ru(e,We,typeof s=="function"?s:Gn)}function Qb(e,n,a,s,f){if($l(e))throw Error(l(485));if(e=n.action,e!==null){var m={payload:f,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(b){m.listeners.push(b)}};O.T!==null?a(!0):m.isTransition=!1,s(m),a=n.pending,a===null?(m.next=n.pending=m,lh(n,m)):(m.next=a.next,n.pending=a.next=m)}}function lh(e,n){var a=n.action,s=n.payload,f=e.state;if(n.isTransition){var m=O.T,b={};O.T=b;try{var j=a(f,s),L=O.S;L!==null&&L(b,j),sh(e,n,j)}catch(Z){su(e,n,Z)}finally{m!==null&&b.types!==null&&(m.types=b.types),O.T=m}}else try{m=a(f,s),sh(e,n,m)}catch(Z){su(e,n,Z)}}function sh(e,n,a){a!==null&&typeof a=="object"&&typeof a.then=="function"?a.then(function(s){oh(e,n,s)},function(s){return su(e,n,s)}):oh(e,n,a)}function oh(e,n,a){n.status="fulfilled",n.value=a,uh(n),e.state=a,n=e.pending,n!==null&&(a=n.next,a===n?e.pending=null:(a=a.next,n.next=a,lh(e,a)))}function su(e,n,a){var s=e.pending;if(e.pending=null,s!==null){s=s.next;do n.status="rejected",n.reason=a,uh(n),n=n.next;while(n!==s)}e.action=null}function uh(e){e=e.listeners;for(var n=0;n<e.length;n++)(0,e[n])()}function ch(e,n){return n}function dh(e,n){if(Ge){var a=nt.formState;if(a!==null){e:{var s=Oe;if(Ge){if(lt){t:{for(var f=lt,m=mn;f.nodeType!==8;){if(!m){f=null;break t}if(f=gn(f.nextSibling),f===null){f=null;break t}}m=f.data,f=m==="F!"||m==="F"?f:null}if(f){lt=gn(f.nextSibling),s=f.data==="F!";break e}}li(s)}s=!1}s&&(n=a[0])}}return a=Bt(),a.memoizedState=a.baseState=n,s={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ch,lastRenderedState:n},a.queue=s,a=Ah.bind(null,Oe,s),s.dispatch=a,s=lu(!1),m=hu.bind(null,Oe,!1,s.queue),s=Bt(),f={state:n,dispatch:null,action:e,pending:null},s.queue=f,a=Qb.bind(null,Oe,f,m,a),f.dispatch=a,s.memoizedState=e,[n,a,!1]}function fh(e){var n=pt();return hh(n,We,e)}function hh(e,n,a){if(n=ru(e,n,ch)[0],e=Ul(Gn)[0],typeof n=="object"&&n!==null&&typeof n.then=="function")try{var s=ja(n)}catch(b){throw b===Tr?Al:b}else s=n;n=pt();var f=n.queue,m=f.dispatch;return a!==n.memoizedState&&(Oe.flags|=2048,Ir(9,{destroy:void 0},Zb.bind(null,f,a),null)),[s,m,e]}function Zb(e,n){e.action=n}function mh(e){var n=pt(),a=We;if(a!==null)return hh(n,a,e);pt(),n=n.memoizedState,a=pt();var s=a.queue.dispatch;return a.memoizedState=e,[n,s,!1]}function Ir(e,n,a,s){return e={tag:e,create:a,deps:s,inst:n,next:null},n=Oe.updateQueue,n===null&&(n=Bl(),Oe.updateQueue=n),a=n.lastEffect,a===null?n.lastEffect=e.next=e:(s=a.next,a.next=e,e.next=s,n.lastEffect=e),e}function ph(){return pt().memoizedState}function ql(e,n,a,s){var f=Bt();Oe.flags|=e,f.memoizedState=Ir(1|n,{destroy:void 0},a,s===void 0?null:s)}function Gl(e,n,a,s){var f=pt();s=s===void 0?null:s;var m=f.memoizedState.inst;We!==null&&s!==null&&Jo(s,We.memoizedState.deps)?f.memoizedState=Ir(n,m,a,s):(Oe.flags|=e,f.memoizedState=Ir(1|n,m,a,s))}function gh(e,n){ql(8390656,8,e,n)}function ou(e,n){Gl(2048,8,e,n)}function Jb(e){Oe.flags|=4;var n=Oe.updateQueue;if(n===null)n=Bl(),Oe.updateQueue=n,n.events=[e];else{var a=n.events;a===null?n.events=[e]:a.push(e)}}function yh(e){var n=pt().memoizedState;return Jb({ref:n,nextImpl:e}),function(){if((Ke&2)!==0)throw Error(l(440));return n.impl.apply(void 0,arguments)}}function vh(e,n){return Gl(4,2,e,n)}function bh(e,n){return Gl(4,4,e,n)}function xh(e,n){if(typeof n=="function"){e=e();var a=n(e);return function(){typeof a=="function"?a():n(null)}}if(n!=null)return e=e(),n.current=e,function(){n.current=null}}function Sh(e,n,a){a=a!=null?a.concat([e]):null,Gl(4,4,xh.bind(null,n,e),a)}function uu(){}function kh(e,n){var a=pt();n=n===void 0?null:n;var s=a.memoizedState;return n!==null&&Jo(n,s[1])?s[0]:(a.memoizedState=[e,n],e)}function wh(e,n){var a=pt();n=n===void 0?null:n;var s=a.memoizedState;if(n!==null&&Jo(n,s[1]))return s[0];if(s=e(),Yi){ht(!0);try{e()}finally{ht(!1)}}return a.memoizedState=[s,n],s}function cu(e,n,a){return a===void 0||(qn&1073741824)!==0&&(He&261930)===0?e.memoizedState=n:(e.memoizedState=a,e=Cm(),Oe.lanes|=e,pi|=e,a)}function Ch(e,n,a,s){return Zt(a,n)?a:Er.current!==null?(e=cu(e,a,s),Zt(e,n)||(bt=!0),e):(qn&42)===0||(qn&1073741824)!==0&&(He&261930)===0?(bt=!0,e.memoizedState=a):(e=Cm(),Oe.lanes|=e,pi|=e,n)}function jh(e,n,a,s,f){var m=U.p;U.p=m!==0&&8>m?m:8;var b=O.T,j={};O.T=j,hu(e,!1,n,a);try{var L=f(),Z=O.S;if(Z!==null&&Z(j,L),L!==null&&typeof L=="object"&&typeof L.then=="function"){var ae=Yb(L,s);Ta(e,n,ae,rn(e))}else Ta(e,n,s,rn(e))}catch(oe){Ta(e,n,{then:function(){},status:"rejected",reason:oe},rn())}finally{U.p=m,b!==null&&j.types!==null&&(b.types=j.types),O.T=b}}function Wb(){}function du(e,n,a,s){if(e.tag!==5)throw Error(l(476));var f=Th(e).queue;jh(e,f,n,_,a===null?Wb:function(){return Rh(e),a(s)})}function Th(e){var n=e.memoizedState;if(n!==null)return n;n={memoizedState:_,baseState:_,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Gn,lastRenderedState:_},next:null};var a={};return n.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Gn,lastRenderedState:a},next:null},e.memoizedState=n,e=e.alternate,e!==null&&(e.memoizedState=n),n}function Rh(e){var n=Th(e);n.next===null&&(n=e.alternate.memoizedState),Ta(e,n.next.queue,{},rn())}function fu(){return It($a)}function Eh(){return pt().memoizedState}function Nh(){return pt().memoizedState}function ex(e){for(var n=e.return;n!==null;){switch(n.tag){case 24:case 3:var a=rn();e=ui(a);var s=ci(n,e,a);s!==null&&(Pt(s,n,a),Sa(s,n,a)),n={cache:qo()},e.payload=n;return}n=n.return}}function tx(e,n,a){var s=rn();a={lane:s,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},$l(e)?Ih(n,a):(a=Ao(e,n,a,s),a!==null&&(Pt(a,e,s),Dh(a,n,s)))}function Ah(e,n,a){var s=rn();Ta(e,n,a,s)}function Ta(e,n,a,s){var f={lane:s,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if($l(e))Ih(n,f);else{var m=e.alternate;if(e.lanes===0&&(m===null||m.lanes===0)&&(m=n.lastRenderedReducer,m!==null))try{var b=n.lastRenderedState,j=m(b,a);if(f.hasEagerState=!0,f.eagerState=j,Zt(j,b))return wl(e,n,f,0),nt===null&&kl(),!1}catch{}if(a=Ao(e,n,f,s),a!==null)return Pt(a,e,s),Dh(a,n,s),!0}return!1}function hu(e,n,a,s){if(s={lane:2,revertLane:Vu(),gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null},$l(e)){if(n)throw Error(l(479))}else n=Ao(e,a,s,2),n!==null&&Pt(n,e,2)}function $l(e){var n=e.alternate;return e===Oe||n!==null&&n===Oe}function Ih(e,n){Nr=_l=!0;var a=e.pending;a===null?n.next=n:(n.next=a.next,a.next=n),e.pending=n}function Dh(e,n,a){if((a&4194048)!==0){var s=n.lanes;s&=e.pendingLanes,a|=s,n.lanes=a,_d(e,a)}}var Ra={readContext:It,use:Hl,useCallback:ct,useContext:ct,useEffect:ct,useImperativeHandle:ct,useLayoutEffect:ct,useInsertionEffect:ct,useMemo:ct,useReducer:ct,useRef:ct,useState:ct,useDebugValue:ct,useDeferredValue:ct,useTransition:ct,useSyncExternalStore:ct,useId:ct,useHostTransitionStatus:ct,useFormState:ct,useActionState:ct,useOptimistic:ct,useMemoCache:ct,useCacheRefresh:ct};Ra.useEffectEvent=ct;var Oh={readContext:It,use:Hl,useCallback:function(e,n){return Bt().memoizedState=[e,n===void 0?null:n],e},useContext:It,useEffect:gh,useImperativeHandle:function(e,n,a){a=a!=null?a.concat([e]):null,ql(4194308,4,xh.bind(null,n,e),a)},useLayoutEffect:function(e,n){return ql(4194308,4,e,n)},useInsertionEffect:function(e,n){ql(4,2,e,n)},useMemo:function(e,n){var a=Bt();n=n===void 0?null:n;var s=e();if(Yi){ht(!0);try{e()}finally{ht(!1)}}return a.memoizedState=[s,n],s},useReducer:function(e,n,a){var s=Bt();if(a!==void 0){var f=a(n);if(Yi){ht(!0);try{a(n)}finally{ht(!1)}}}else f=n;return s.memoizedState=s.baseState=f,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:f},s.queue=e,e=e.dispatch=tx.bind(null,Oe,e),[s.memoizedState,e]},useRef:function(e){var n=Bt();return e={current:e},n.memoizedState=e},useState:function(e){e=lu(e);var n=e.queue,a=Ah.bind(null,Oe,n);return n.dispatch=a,[e.memoizedState,a]},useDebugValue:uu,useDeferredValue:function(e,n){var a=Bt();return cu(a,e,n)},useTransition:function(){var e=lu(!1);return e=jh.bind(null,Oe,e.queue,!0,!1),Bt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,n,a){var s=Oe,f=Bt();if(Ge){if(a===void 0)throw Error(l(407));a=a()}else{if(a=n(),nt===null)throw Error(l(349));(He&127)!==0||eh(s,n,a)}f.memoizedState=a;var m={value:a,getSnapshot:n};return f.queue=m,gh(nh.bind(null,s,m,e),[e]),s.flags|=2048,Ir(9,{destroy:void 0},th.bind(null,s,m,a,n),null),a},useId:function(){var e=Bt(),n=nt.identifierPrefix;if(Ge){var a=Rn,s=Tn;a=(s&~(1<<32-Qe(s)-1)).toString(32)+a,n="_"+n+"R_"+a,a=Ll++,0<a&&(n+="H"+a.toString(32)),n+="_"}else a=Kb++,n="_"+n+"r_"+a.toString(32)+"_";return e.memoizedState=n},useHostTransitionStatus:fu,useFormState:dh,useActionState:dh,useOptimistic:function(e){var n=Bt();n.memoizedState=n.baseState=e;var a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return n.queue=a,n=hu.bind(null,Oe,!0,a),a.dispatch=n,[e,n]},useMemoCache:iu,useCacheRefresh:function(){return Bt().memoizedState=ex.bind(null,Oe)},useEffectEvent:function(e){var n=Bt(),a={impl:e};return n.memoizedState=a,function(){if((Ke&2)!==0)throw Error(l(440));return a.impl.apply(void 0,arguments)}}},mu={readContext:It,use:Hl,useCallback:kh,useContext:It,useEffect:ou,useImperativeHandle:Sh,useInsertionEffect:vh,useLayoutEffect:bh,useMemo:wh,useReducer:Ul,useRef:ph,useState:function(){return Ul(Gn)},useDebugValue:uu,useDeferredValue:function(e,n){var a=pt();return Ch(a,We.memoizedState,e,n)},useTransition:function(){var e=Ul(Gn)[0],n=pt().memoizedState;return[typeof e=="boolean"?e:ja(e),n]},useSyncExternalStore:Wf,useId:Eh,useHostTransitionStatus:fu,useFormState:fh,useActionState:fh,useOptimistic:function(e,n){var a=pt();return ah(a,We,e,n)},useMemoCache:iu,useCacheRefresh:Nh};mu.useEffectEvent=yh;var Mh={readContext:It,use:Hl,useCallback:kh,useContext:It,useEffect:ou,useImperativeHandle:Sh,useInsertionEffect:vh,useLayoutEffect:bh,useMemo:wh,useReducer:au,useRef:ph,useState:function(){return au(Gn)},useDebugValue:uu,useDeferredValue:function(e,n){var a=pt();return We===null?cu(a,e,n):Ch(a,We.memoizedState,e,n)},useTransition:function(){var e=au(Gn)[0],n=pt().memoizedState;return[typeof e=="boolean"?e:ja(e),n]},useSyncExternalStore:Wf,useId:Eh,useHostTransitionStatus:fu,useFormState:mh,useActionState:mh,useOptimistic:function(e,n){var a=pt();return We!==null?ah(a,We,e,n):(a.baseState=e,[e,a.queue.dispatch])},useMemoCache:iu,useCacheRefresh:Nh};Mh.useEffectEvent=yh;function pu(e,n,a,s){n=e.memoizedState,a=a(s,n),a=a==null?n:y({},n,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var gu={enqueueSetState:function(e,n,a){e=e._reactInternals;var s=rn(),f=ui(s);f.payload=n,a!=null&&(f.callback=a),n=ci(e,f,s),n!==null&&(Pt(n,e,s),Sa(n,e,s))},enqueueReplaceState:function(e,n,a){e=e._reactInternals;var s=rn(),f=ui(s);f.tag=1,f.payload=n,a!=null&&(f.callback=a),n=ci(e,f,s),n!==null&&(Pt(n,e,s),Sa(n,e,s))},enqueueForceUpdate:function(e,n){e=e._reactInternals;var a=rn(),s=ui(a);s.tag=2,n!=null&&(s.callback=n),n=ci(e,s,a),n!==null&&(Pt(n,e,a),Sa(n,e,a))}};function zh(e,n,a,s,f,m,b){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(s,m,b):n.prototype&&n.prototype.isPureReactComponent?!ha(a,s)||!ha(f,m):!0}function _h(e,n,a,s){e=n.state,typeof n.componentWillReceiveProps=="function"&&n.componentWillReceiveProps(a,s),typeof n.UNSAFE_componentWillReceiveProps=="function"&&n.UNSAFE_componentWillReceiveProps(a,s),n.state!==e&&gu.enqueueReplaceState(n,n.state,null)}function Ki(e,n){var a=n;if("ref"in n){a={};for(var s in n)s!=="ref"&&(a[s]=n[s])}if(e=e.defaultProps){a===n&&(a=y({},a));for(var f in e)a[f]===void 0&&(a[f]=e[f])}return a}function Lh(e){Sl(e)}function Bh(e){console.error(e)}function Hh(e){Sl(e)}function Fl(e,n){try{var a=e.onUncaughtError;a(n.value,{componentStack:n.stack})}catch(s){setTimeout(function(){throw s})}}function Uh(e,n,a){try{var s=e.onCaughtError;s(a.value,{componentStack:a.stack,errorBoundary:n.tag===1?n.stateNode:null})}catch(f){setTimeout(function(){throw f})}}function yu(e,n,a){return a=ui(a),a.tag=3,a.payload={element:null},a.callback=function(){Fl(e,n)},a}function qh(e){return e=ui(e),e.tag=3,e}function Gh(e,n,a,s){var f=a.type.getDerivedStateFromError;if(typeof f=="function"){var m=s.value;e.payload=function(){return f(m)},e.callback=function(){Uh(n,a,s)}}var b=a.stateNode;b!==null&&typeof b.componentDidCatch=="function"&&(e.callback=function(){Uh(n,a,s),typeof f!="function"&&(gi===null?gi=new Set([this]):gi.add(this));var j=s.stack;this.componentDidCatch(s.value,{componentStack:j!==null?j:""})})}function nx(e,n,a,s,f){if(a.flags|=32768,s!==null&&typeof s=="object"&&typeof s.then=="function"){if(n=a.alternate,n!==null&&wr(n,a,f,!0),a=Wt.current,a!==null){switch(a.tag){case 31:case 13:return pn===null?ns():a.alternate===null&&dt===0&&(dt=3),a.flags&=-257,a.flags|=65536,a.lanes=f,s===Il?a.flags|=16384:(n=a.updateQueue,n===null?a.updateQueue=new Set([s]):n.add(s),Gu(e,s,f)),!1;case 22:return a.flags|=65536,s===Il?a.flags|=16384:(n=a.updateQueue,n===null?(n={transitions:null,markerInstances:null,retryQueue:new Set([s])},a.updateQueue=n):(a=n.retryQueue,a===null?n.retryQueue=new Set([s]):a.add(s)),Gu(e,s,f)),!1}throw Error(l(435,a.tag))}return Gu(e,s,f),ns(),!1}if(Ge)return n=Wt.current,n!==null?((n.flags&65536)===0&&(n.flags|=256),n.flags|=65536,n.lanes=f,s!==_o&&(e=Error(l(422),{cause:s}),ga(dn(e,a)))):(s!==_o&&(n=Error(l(423),{cause:s}),ga(dn(n,a))),e=e.current.alternate,e.flags|=65536,f&=-f,e.lanes|=f,s=dn(s,a),f=yu(e.stateNode,s,f),Yo(e,f),dt!==4&&(dt=2)),!1;var m=Error(l(520),{cause:s});if(m=dn(m,a),za===null?za=[m]:za.push(m),dt!==4&&(dt=2),n===null)return!0;s=dn(s,a),a=n;do{switch(a.tag){case 3:return a.flags|=65536,e=f&-f,a.lanes|=e,e=yu(a.stateNode,s,e),Yo(a,e),!1;case 1:if(n=a.type,m=a.stateNode,(a.flags&128)===0&&(typeof n.getDerivedStateFromError=="function"||m!==null&&typeof m.componentDidCatch=="function"&&(gi===null||!gi.has(m))))return a.flags|=65536,f&=-f,a.lanes|=f,f=qh(f),Gh(f,e,a,s),Yo(a,f),!1}a=a.return}while(a!==null);return!1}var vu=Error(l(461)),bt=!1;function Dt(e,n,a,s){n.child=e===null?Pf(n,null,a,s):Pi(n,e.child,a,s)}function $h(e,n,a,s,f){a=a.render;var m=n.ref;if("ref"in s){var b={};for(var j in s)j!=="ref"&&(b[j]=s[j])}else b=s;return Gi(n),s=Wo(e,n,a,b,m,f),j=eu(),e!==null&&!bt?(tu(e,n,f),$n(e,n,f)):(Ge&&j&&Mo(n),n.flags|=1,Dt(e,n,s,f),n.child)}function Fh(e,n,a,s,f){if(e===null){var m=a.type;return typeof m=="function"&&!Io(m)&&m.defaultProps===void 0&&a.compare===null?(n.tag=15,n.type=m,Vh(e,n,m,s,f)):(e=jl(a.type,null,s,n,n.mode,f),e.ref=n.ref,e.return=n,n.child=e)}if(m=e.child,!Tu(e,f)){var b=m.memoizedProps;if(a=a.compare,a=a!==null?a:ha,a(b,s)&&e.ref===n.ref)return $n(e,n,f)}return n.flags|=1,e=Ln(m,s),e.ref=n.ref,e.return=n,n.child=e}function Vh(e,n,a,s,f){if(e!==null){var m=e.memoizedProps;if(ha(m,s)&&e.ref===n.ref)if(bt=!1,n.pendingProps=s=m,Tu(e,f))(e.flags&131072)!==0&&(bt=!0);else return n.lanes=e.lanes,$n(e,n,f)}return bu(e,n,a,s,f)}function Ph(e,n,a,s){var f=s.children,m=e!==null?e.memoizedState:null;if(e===null&&n.stateNode===null&&(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),s.mode==="hidden"){if((n.flags&128)!==0){if(m=m!==null?m.baseLanes|a:a,e!==null){for(s=n.child=e.child,f=0;s!==null;)f=f|s.lanes|s.childLanes,s=s.sibling;s=f&~m}else s=0,n.child=null;return Yh(e,n,m,a,s)}if((a&536870912)!==0)n.memoizedState={baseLanes:0,cachePool:null},e!==null&&Nl(n,m!==null?m.cachePool:null),m!==null?Xf(n,m):Xo(),Qf(n);else return s=n.lanes=536870912,Yh(e,n,m!==null?m.baseLanes|a:a,a,s)}else m!==null?(Nl(n,m.cachePool),Xf(n,m),fi(),n.memoizedState=null):(e!==null&&Nl(n,null),Xo(),fi());return Dt(e,n,f,a),n.child}function Ea(e,n){return e!==null&&e.tag===22||n.stateNode!==null||(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),n.sibling}function Yh(e,n,a,s,f){var m=$o();return m=m===null?null:{parent:yt._currentValue,pool:m},n.memoizedState={baseLanes:a,cachePool:m},e!==null&&Nl(n,null),Xo(),Qf(n),e!==null&&wr(e,n,s,!0),n.childLanes=f,null}function Vl(e,n){return n=Yl({mode:n.mode,children:n.children},e.mode),n.ref=e.ref,e.child=n,n.return=e,n}function Kh(e,n,a){return Pi(n,e.child,null,a),e=Vl(n,n.pendingProps),e.flags|=2,en(n),n.memoizedState=null,e}function ix(e,n,a){var s=n.pendingProps,f=(n.flags&128)!==0;if(n.flags&=-129,e===null){if(Ge){if(s.mode==="hidden")return e=Vl(n,s),n.lanes=536870912,Ea(null,e);if(Zo(n),(e=lt)?(e=lp(e,mn),e=e!==null&&e.data==="&"?e:null,e!==null&&(n.memoizedState={dehydrated:e,treeContext:ri!==null?{id:Tn,overflow:Rn}:null,retryLane:536870912,hydrationErrors:null},a=If(e),a.return=n,n.child=a,At=n,lt=null)):e=null,e===null)throw li(n);return n.lanes=536870912,null}return Vl(n,s)}var m=e.memoizedState;if(m!==null){var b=m.dehydrated;if(Zo(n),f)if(n.flags&256)n.flags&=-257,n=Kh(e,n,a);else if(n.memoizedState!==null)n.child=e.child,n.flags|=128,n=null;else throw Error(l(558));else if(bt||wr(e,n,a,!1),f=(a&e.childLanes)!==0,bt||f){if(s=nt,s!==null&&(b=Ld(s,a),b!==0&&b!==m.retryLane))throw m.retryLane=b,Bi(e,b),Pt(s,e,b),vu;ns(),n=Kh(e,n,a)}else e=m.treeContext,lt=gn(b.nextSibling),At=n,Ge=!0,ai=null,mn=!1,e!==null&&Mf(n,e),n=Vl(n,s),n.flags|=4096;return n}return e=Ln(e.child,{mode:s.mode,children:s.children}),e.ref=n.ref,n.child=e,e.return=n,e}function Pl(e,n){var a=n.ref;if(a===null)e!==null&&e.ref!==null&&(n.flags|=4194816);else{if(typeof a!="function"&&typeof a!="object")throw Error(l(284));(e===null||e.ref!==a)&&(n.flags|=4194816)}}function bu(e,n,a,s,f){return Gi(n),a=Wo(e,n,a,s,void 0,f),s=eu(),e!==null&&!bt?(tu(e,n,f),$n(e,n,f)):(Ge&&s&&Mo(n),n.flags|=1,Dt(e,n,a,f),n.child)}function Xh(e,n,a,s,f,m){return Gi(n),n.updateQueue=null,a=Jf(n,s,a,f),Zf(e),s=eu(),e!==null&&!bt?(tu(e,n,m),$n(e,n,m)):(Ge&&s&&Mo(n),n.flags|=1,Dt(e,n,a,m),n.child)}function Qh(e,n,a,s,f){if(Gi(n),n.stateNode===null){var m=br,b=a.contextType;typeof b=="object"&&b!==null&&(m=It(b)),m=new a(s,m),n.memoizedState=m.state!==null&&m.state!==void 0?m.state:null,m.updater=gu,n.stateNode=m,m._reactInternals=n,m=n.stateNode,m.props=s,m.state=n.memoizedState,m.refs={},Vo(n),b=a.contextType,m.context=typeof b=="object"&&b!==null?It(b):br,m.state=n.memoizedState,b=a.getDerivedStateFromProps,typeof b=="function"&&(pu(n,a,b,s),m.state=n.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof m.getSnapshotBeforeUpdate=="function"||typeof m.UNSAFE_componentWillMount!="function"&&typeof m.componentWillMount!="function"||(b=m.state,typeof m.componentWillMount=="function"&&m.componentWillMount(),typeof m.UNSAFE_componentWillMount=="function"&&m.UNSAFE_componentWillMount(),b!==m.state&&gu.enqueueReplaceState(m,m.state,null),wa(n,s,m,f),ka(),m.state=n.memoizedState),typeof m.componentDidMount=="function"&&(n.flags|=4194308),s=!0}else if(e===null){m=n.stateNode;var j=n.memoizedProps,L=Ki(a,j);m.props=L;var Z=m.context,ae=a.contextType;b=br,typeof ae=="object"&&ae!==null&&(b=It(ae));var oe=a.getDerivedStateFromProps;ae=typeof oe=="function"||typeof m.getSnapshotBeforeUpdate=="function",j=n.pendingProps!==j,ae||typeof m.UNSAFE_componentWillReceiveProps!="function"&&typeof m.componentWillReceiveProps!="function"||(j||Z!==b)&&_h(n,m,s,b),oi=!1;var J=n.memoizedState;m.state=J,wa(n,s,m,f),ka(),Z=n.memoizedState,j||J!==Z||oi?(typeof oe=="function"&&(pu(n,a,oe,s),Z=n.memoizedState),(L=oi||zh(n,a,L,s,J,Z,b))?(ae||typeof m.UNSAFE_componentWillMount!="function"&&typeof m.componentWillMount!="function"||(typeof m.componentWillMount=="function"&&m.componentWillMount(),typeof m.UNSAFE_componentWillMount=="function"&&m.UNSAFE_componentWillMount()),typeof m.componentDidMount=="function"&&(n.flags|=4194308)):(typeof m.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=s,n.memoizedState=Z),m.props=s,m.state=Z,m.context=b,s=L):(typeof m.componentDidMount=="function"&&(n.flags|=4194308),s=!1)}else{m=n.stateNode,Po(e,n),b=n.memoizedProps,ae=Ki(a,b),m.props=ae,oe=n.pendingProps,J=m.context,Z=a.contextType,L=br,typeof Z=="object"&&Z!==null&&(L=It(Z)),j=a.getDerivedStateFromProps,(Z=typeof j=="function"||typeof m.getSnapshotBeforeUpdate=="function")||typeof m.UNSAFE_componentWillReceiveProps!="function"&&typeof m.componentWillReceiveProps!="function"||(b!==oe||J!==L)&&_h(n,m,s,L),oi=!1,J=n.memoizedState,m.state=J,wa(n,s,m,f),ka();var ne=n.memoizedState;b!==oe||J!==ne||oi||e!==null&&e.dependencies!==null&&Rl(e.dependencies)?(typeof j=="function"&&(pu(n,a,j,s),ne=n.memoizedState),(ae=oi||zh(n,a,ae,s,J,ne,L)||e!==null&&e.dependencies!==null&&Rl(e.dependencies))?(Z||typeof m.UNSAFE_componentWillUpdate!="function"&&typeof m.componentWillUpdate!="function"||(typeof m.componentWillUpdate=="function"&&m.componentWillUpdate(s,ne,L),typeof m.UNSAFE_componentWillUpdate=="function"&&m.UNSAFE_componentWillUpdate(s,ne,L)),typeof m.componentDidUpdate=="function"&&(n.flags|=4),typeof m.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof m.componentDidUpdate!="function"||b===e.memoizedProps&&J===e.memoizedState||(n.flags|=4),typeof m.getSnapshotBeforeUpdate!="function"||b===e.memoizedProps&&J===e.memoizedState||(n.flags|=1024),n.memoizedProps=s,n.memoizedState=ne),m.props=s,m.state=ne,m.context=L,s=ae):(typeof m.componentDidUpdate!="function"||b===e.memoizedProps&&J===e.memoizedState||(n.flags|=4),typeof m.getSnapshotBeforeUpdate!="function"||b===e.memoizedProps&&J===e.memoizedState||(n.flags|=1024),s=!1)}return m=s,Pl(e,n),s=(n.flags&128)!==0,m||s?(m=n.stateNode,a=s&&typeof a.getDerivedStateFromError!="function"?null:m.render(),n.flags|=1,e!==null&&s?(n.child=Pi(n,e.child,null,f),n.child=Pi(n,null,a,f)):Dt(e,n,a,f),n.memoizedState=m.state,e=n.child):e=$n(e,n,f),e}function Zh(e,n,a,s){return Ui(),n.flags|=256,Dt(e,n,a,s),n.child}var xu={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Su(e){return{baseLanes:e,cachePool:Uf()}}function ku(e,n,a){return e=e!==null?e.childLanes&~a:0,n&&(e|=nn),e}function Jh(e,n,a){var s=n.pendingProps,f=!1,m=(n.flags&128)!==0,b;if((b=m)||(b=e!==null&&e.memoizedState===null?!1:(mt.current&2)!==0),b&&(f=!0,n.flags&=-129),b=(n.flags&32)!==0,n.flags&=-33,e===null){if(Ge){if(f?di(n):fi(),(e=lt)?(e=lp(e,mn),e=e!==null&&e.data!=="&"?e:null,e!==null&&(n.memoizedState={dehydrated:e,treeContext:ri!==null?{id:Tn,overflow:Rn}:null,retryLane:536870912,hydrationErrors:null},a=If(e),a.return=n,n.child=a,At=n,lt=null)):e=null,e===null)throw li(n);return rc(e)?n.lanes=32:n.lanes=536870912,null}var j=s.children;return s=s.fallback,f?(fi(),f=n.mode,j=Yl({mode:"hidden",children:j},f),s=Hi(s,f,a,null),j.return=n,s.return=n,j.sibling=s,n.child=j,s=n.child,s.memoizedState=Su(a),s.childLanes=ku(e,b,a),n.memoizedState=xu,Ea(null,s)):(di(n),wu(n,j))}var L=e.memoizedState;if(L!==null&&(j=L.dehydrated,j!==null)){if(m)n.flags&256?(di(n),n.flags&=-257,n=Cu(e,n,a)):n.memoizedState!==null?(fi(),n.child=e.child,n.flags|=128,n=null):(fi(),j=s.fallback,f=n.mode,s=Yl({mode:"visible",children:s.children},f),j=Hi(j,f,a,null),j.flags|=2,s.return=n,j.return=n,s.sibling=j,n.child=s,Pi(n,e.child,null,a),s=n.child,s.memoizedState=Su(a),s.childLanes=ku(e,b,a),n.memoizedState=xu,n=Ea(null,s));else if(di(n),rc(j)){if(b=j.nextSibling&&j.nextSibling.dataset,b)var Z=b.dgst;b=Z,s=Error(l(419)),s.stack="",s.digest=b,ga({value:s,source:null,stack:null}),n=Cu(e,n,a)}else if(bt||wr(e,n,a,!1),b=(a&e.childLanes)!==0,bt||b){if(b=nt,b!==null&&(s=Ld(b,a),s!==0&&s!==L.retryLane))throw L.retryLane=s,Bi(e,s),Pt(b,e,s),vu;ic(j)||ns(),n=Cu(e,n,a)}else ic(j)?(n.flags|=192,n.child=e.child,n=null):(e=L.treeContext,lt=gn(j.nextSibling),At=n,Ge=!0,ai=null,mn=!1,e!==null&&Mf(n,e),n=wu(n,s.children),n.flags|=4096);return n}return f?(fi(),j=s.fallback,f=n.mode,L=e.child,Z=L.sibling,s=Ln(L,{mode:"hidden",children:s.children}),s.subtreeFlags=L.subtreeFlags&65011712,Z!==null?j=Ln(Z,j):(j=Hi(j,f,a,null),j.flags|=2),j.return=n,s.return=n,s.sibling=j,n.child=s,Ea(null,s),s=n.child,j=e.child.memoizedState,j===null?j=Su(a):(f=j.cachePool,f!==null?(L=yt._currentValue,f=f.parent!==L?{parent:L,pool:L}:f):f=Uf(),j={baseLanes:j.baseLanes|a,cachePool:f}),s.memoizedState=j,s.childLanes=ku(e,b,a),n.memoizedState=xu,Ea(e.child,s)):(di(n),a=e.child,e=a.sibling,a=Ln(a,{mode:"visible",children:s.children}),a.return=n,a.sibling=null,e!==null&&(b=n.deletions,b===null?(n.deletions=[e],n.flags|=16):b.push(e)),n.child=a,n.memoizedState=null,a)}function wu(e,n){return n=Yl({mode:"visible",children:n},e.mode),n.return=e,e.child=n}function Yl(e,n){return e=Jt(22,e,null,n),e.lanes=0,e}function Cu(e,n,a){return Pi(n,e.child,null,a),e=wu(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function Wh(e,n,a){e.lanes|=n;var s=e.alternate;s!==null&&(s.lanes|=n),Ho(e.return,n,a)}function ju(e,n,a,s,f,m){var b=e.memoizedState;b===null?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:s,tail:a,tailMode:f,treeForkCount:m}:(b.isBackwards=n,b.rendering=null,b.renderingStartTime=0,b.last=s,b.tail=a,b.tailMode=f,b.treeForkCount=m)}function em(e,n,a){var s=n.pendingProps,f=s.revealOrder,m=s.tail;s=s.children;var b=mt.current,j=(b&2)!==0;if(j?(b=b&1|2,n.flags|=128):b&=1,w(mt,b),Dt(e,n,s,a),s=Ge?pa:0,!j&&e!==null&&(e.flags&128)!==0)e:for(e=n.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Wh(e,a,n);else if(e.tag===19)Wh(e,a,n);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break e;for(;e.sibling===null;){if(e.return===null||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(f){case"forwards":for(a=n.child,f=null;a!==null;)e=a.alternate,e!==null&&zl(e)===null&&(f=a),a=a.sibling;a=f,a===null?(f=n.child,n.child=null):(f=a.sibling,a.sibling=null),ju(n,!1,f,a,m,s);break;case"backwards":case"unstable_legacy-backwards":for(a=null,f=n.child,n.child=null;f!==null;){if(e=f.alternate,e!==null&&zl(e)===null){n.child=f;break}e=f.sibling,f.sibling=a,a=f,f=e}ju(n,!0,a,null,m,s);break;case"together":ju(n,!1,null,null,void 0,s);break;default:n.memoizedState=null}return n.child}function $n(e,n,a){if(e!==null&&(n.dependencies=e.dependencies),pi|=n.lanes,(a&n.childLanes)===0)if(e!==null){if(wr(e,n,a,!1),(a&n.childLanes)===0)return null}else return null;if(e!==null&&n.child!==e.child)throw Error(l(153));if(n.child!==null){for(e=n.child,a=Ln(e,e.pendingProps),n.child=a,a.return=n;e.sibling!==null;)e=e.sibling,a=a.sibling=Ln(e,e.pendingProps),a.return=n;a.sibling=null}return n.child}function Tu(e,n){return(e.lanes&n)!==0?!0:(e=e.dependencies,!!(e!==null&&Rl(e)))}function rx(e,n,a){switch(n.tag){case 3:he(n,n.stateNode.containerInfo),si(n,yt,e.memoizedState.cache),Ui();break;case 27:case 5:ye(n);break;case 4:he(n,n.stateNode.containerInfo);break;case 10:si(n,n.type,n.memoizedProps.value);break;case 31:if(n.memoizedState!==null)return n.flags|=128,Zo(n),null;break;case 13:var s=n.memoizedState;if(s!==null)return s.dehydrated!==null?(di(n),n.flags|=128,null):(a&n.child.childLanes)!==0?Jh(e,n,a):(di(n),e=$n(e,n,a),e!==null?e.sibling:null);di(n);break;case 19:var f=(e.flags&128)!==0;if(s=(a&n.childLanes)!==0,s||(wr(e,n,a,!1),s=(a&n.childLanes)!==0),f){if(s)return em(e,n,a);n.flags|=128}if(f=n.memoizedState,f!==null&&(f.rendering=null,f.tail=null,f.lastEffect=null),w(mt,mt.current),s)break;return null;case 22:return n.lanes=0,Ph(e,n,a,n.pendingProps);case 24:si(n,yt,e.memoizedState.cache)}return $n(e,n,a)}function tm(e,n,a){if(e!==null)if(e.memoizedProps!==n.pendingProps)bt=!0;else{if(!Tu(e,a)&&(n.flags&128)===0)return bt=!1,rx(e,n,a);bt=(e.flags&131072)!==0}else bt=!1,Ge&&(n.flags&1048576)!==0&&Of(n,pa,n.index);switch(n.lanes=0,n.tag){case 16:e:{var s=n.pendingProps;if(e=Fi(n.elementType),n.type=e,typeof e=="function")Io(e)?(s=Ki(e,s),n.tag=1,n=Qh(null,n,e,s,a)):(n.tag=0,n=bu(null,n,e,s,a));else{if(e!=null){var f=e.$$typeof;if(f===G){n.tag=11,n=$h(null,n,e,s,a);break e}else if(f===$){n.tag=14,n=Fh(null,n,e,s,a);break e}}throw n=X(e)||e,Error(l(306,n,""))}}return n;case 0:return bu(e,n,n.type,n.pendingProps,a);case 1:return s=n.type,f=Ki(s,n.pendingProps),Qh(e,n,s,f,a);case 3:e:{if(he(n,n.stateNode.containerInfo),e===null)throw Error(l(387));s=n.pendingProps;var m=n.memoizedState;f=m.element,Po(e,n),wa(n,s,null,a);var b=n.memoizedState;if(s=b.cache,si(n,yt,s),s!==m.cache&&Uo(n,[yt],a,!0),ka(),s=b.element,m.isDehydrated)if(m={element:s,isDehydrated:!1,cache:b.cache},n.updateQueue.baseState=m,n.memoizedState=m,n.flags&256){n=Zh(e,n,s,a);break e}else if(s!==f){f=dn(Error(l(424)),n),ga(f),n=Zh(e,n,s,a);break e}else for(e=n.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,lt=gn(e.firstChild),At=n,Ge=!0,ai=null,mn=!0,a=Pf(n,null,s,a),n.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(Ui(),s===f){n=$n(e,n,a);break e}Dt(e,n,s,a)}n=n.child}return n;case 26:return Pl(e,n),e===null?(a=fp(n.type,null,n.pendingProps,null))?n.memoizedState=a:Ge||(a=n.type,e=n.pendingProps,s=us(Y.current).createElement(a),s[Nt]=n,s[Ut]=e,Ot(s,a,e),jt(s),n.stateNode=s):n.memoizedState=fp(n.type,e.memoizedProps,n.pendingProps,e.memoizedState),null;case 27:return ye(n),e===null&&Ge&&(s=n.stateNode=up(n.type,n.pendingProps,Y.current),At=n,mn=!0,f=lt,xi(n.type)?(ac=f,lt=gn(s.firstChild)):lt=f),Dt(e,n,n.pendingProps.children,a),Pl(e,n),e===null&&(n.flags|=4194304),n.child;case 5:return e===null&&Ge&&((f=s=lt)&&(s=Mx(s,n.type,n.pendingProps,mn),s!==null?(n.stateNode=s,At=n,lt=gn(s.firstChild),mn=!1,f=!0):f=!1),f||li(n)),ye(n),f=n.type,m=n.pendingProps,b=e!==null?e.memoizedProps:null,s=m.children,ec(f,m)?s=null:b!==null&&ec(f,b)&&(n.flags|=32),n.memoizedState!==null&&(f=Wo(e,n,Xb,null,null,a),$a._currentValue=f),Pl(e,n),Dt(e,n,s,a),n.child;case 6:return e===null&&Ge&&((e=a=lt)&&(a=zx(a,n.pendingProps,mn),a!==null?(n.stateNode=a,At=n,lt=null,e=!0):e=!1),e||li(n)),null;case 13:return Jh(e,n,a);case 4:return he(n,n.stateNode.containerInfo),s=n.pendingProps,e===null?n.child=Pi(n,null,s,a):Dt(e,n,s,a),n.child;case 11:return $h(e,n,n.type,n.pendingProps,a);case 7:return Dt(e,n,n.pendingProps,a),n.child;case 8:return Dt(e,n,n.pendingProps.children,a),n.child;case 12:return Dt(e,n,n.pendingProps.children,a),n.child;case 10:return s=n.pendingProps,si(n,n.type,s.value),Dt(e,n,s.children,a),n.child;case 9:return f=n.type._context,s=n.pendingProps.children,Gi(n),f=It(f),s=s(f),n.flags|=1,Dt(e,n,s,a),n.child;case 14:return Fh(e,n,n.type,n.pendingProps,a);case 15:return Vh(e,n,n.type,n.pendingProps,a);case 19:return em(e,n,a);case 31:return ix(e,n,a);case 22:return Ph(e,n,a,n.pendingProps);case 24:return Gi(n),s=It(yt),e===null?(f=$o(),f===null&&(f=nt,m=qo(),f.pooledCache=m,m.refCount++,m!==null&&(f.pooledCacheLanes|=a),f=m),n.memoizedState={parent:s,cache:f},Vo(n),si(n,yt,f)):((e.lanes&a)!==0&&(Po(e,n),wa(n,null,null,a),ka()),f=e.memoizedState,m=n.memoizedState,f.parent!==s?(f={parent:s,cache:s},n.memoizedState=f,n.lanes===0&&(n.memoizedState=n.updateQueue.baseState=f),si(n,yt,s)):(s=m.cache,si(n,yt,s),s!==f.cache&&Uo(n,[yt],a,!0))),Dt(e,n,n.pendingProps.children,a),n.child;case 29:throw n.pendingProps}throw Error(l(156,n.tag))}function Fn(e){e.flags|=4}function Ru(e,n,a,s,f){if((n=(e.mode&32)!==0)&&(n=!1),n){if(e.flags|=16777216,(f&335544128)===f)if(e.stateNode.complete)e.flags|=8192;else if(Em())e.flags|=8192;else throw Vi=Il,Fo}else e.flags&=-16777217}function nm(e,n){if(n.type!=="stylesheet"||(n.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!yp(n))if(Em())e.flags|=8192;else throw Vi=Il,Fo}function Kl(e,n){n!==null&&(e.flags|=4),e.flags&16384&&(n=e.tag!==22?Md():536870912,e.lanes|=n,zr|=n)}function Na(e,n){if(!Ge)switch(e.tailMode){case"hidden":n=e.tail;for(var a=null;n!==null;)n.alternate!==null&&(a=n),n=n.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var s=null;a!==null;)a.alternate!==null&&(s=a),a=a.sibling;s===null?n||e.tail===null?e.tail=null:e.tail.sibling=null:s.sibling=null}}function st(e){var n=e.alternate!==null&&e.alternate.child===e.child,a=0,s=0;if(n)for(var f=e.child;f!==null;)a|=f.lanes|f.childLanes,s|=f.subtreeFlags&65011712,s|=f.flags&65011712,f.return=e,f=f.sibling;else for(f=e.child;f!==null;)a|=f.lanes|f.childLanes,s|=f.subtreeFlags,s|=f.flags,f.return=e,f=f.sibling;return e.subtreeFlags|=s,e.childLanes=a,n}function ax(e,n,a){var s=n.pendingProps;switch(zo(n),n.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return st(n),null;case 1:return st(n),null;case 3:return a=n.stateNode,s=null,e!==null&&(s=e.memoizedState.cache),n.memoizedState.cache!==s&&(n.flags|=2048),Un(yt),pe(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(kr(n)?Fn(n):e===null||e.memoizedState.isDehydrated&&(n.flags&256)===0||(n.flags|=1024,Lo())),st(n),null;case 26:var f=n.type,m=n.memoizedState;return e===null?(Fn(n),m!==null?(st(n),nm(n,m)):(st(n),Ru(n,f,null,s,a))):m?m!==e.memoizedState?(Fn(n),st(n),nm(n,m)):(st(n),n.flags&=-16777217):(e=e.memoizedProps,e!==s&&Fn(n),st(n),Ru(n,f,e,s,a)),null;case 27:if(Ce(n),a=Y.current,f=n.type,e!==null&&n.stateNode!=null)e.memoizedProps!==s&&Fn(n);else{if(!s){if(n.stateNode===null)throw Error(l(166));return st(n),null}e=re.current,kr(n)?zf(n):(e=up(f,s,a),n.stateNode=e,Fn(n))}return st(n),null;case 5:if(Ce(n),f=n.type,e!==null&&n.stateNode!=null)e.memoizedProps!==s&&Fn(n);else{if(!s){if(n.stateNode===null)throw Error(l(166));return st(n),null}if(m=re.current,kr(n))zf(n);else{var b=us(Y.current);switch(m){case 1:m=b.createElementNS("http://www.w3.org/2000/svg",f);break;case 2:m=b.createElementNS("http://www.w3.org/1998/Math/MathML",f);break;default:switch(f){case"svg":m=b.createElementNS("http://www.w3.org/2000/svg",f);break;case"math":m=b.createElementNS("http://www.w3.org/1998/Math/MathML",f);break;case"script":m=b.createElement("div"),m.innerHTML="<script><\/script>",m=m.removeChild(m.firstChild);break;case"select":m=typeof s.is=="string"?b.createElement("select",{is:s.is}):b.createElement("select"),s.multiple?m.multiple=!0:s.size&&(m.size=s.size);break;default:m=typeof s.is=="string"?b.createElement(f,{is:s.is}):b.createElement(f)}}m[Nt]=n,m[Ut]=s;e:for(b=n.child;b!==null;){if(b.tag===5||b.tag===6)m.appendChild(b.stateNode);else if(b.tag!==4&&b.tag!==27&&b.child!==null){b.child.return=b,b=b.child;continue}if(b===n)break e;for(;b.sibling===null;){if(b.return===null||b.return===n)break e;b=b.return}b.sibling.return=b.return,b=b.sibling}n.stateNode=m;e:switch(Ot(m,f,s),f){case"button":case"input":case"select":case"textarea":s=!!s.autoFocus;break e;case"img":s=!0;break e;default:s=!1}s&&Fn(n)}}return st(n),Ru(n,n.type,e===null?null:e.memoizedProps,n.pendingProps,a),null;case 6:if(e&&n.stateNode!=null)e.memoizedProps!==s&&Fn(n);else{if(typeof s!="string"&&n.stateNode===null)throw Error(l(166));if(e=Y.current,kr(n)){if(e=n.stateNode,a=n.memoizedProps,s=null,f=At,f!==null)switch(f.tag){case 27:case 5:s=f.memoizedProps}e[Nt]=n,e=!!(e.nodeValue===a||s!==null&&s.suppressHydrationWarning===!0||Jm(e.nodeValue,a)),e||li(n,!0)}else e=us(e).createTextNode(s),e[Nt]=n,n.stateNode=e}return st(n),null;case 31:if(a=n.memoizedState,e===null||e.memoizedState!==null){if(s=kr(n),a!==null){if(e===null){if(!s)throw Error(l(318));if(e=n.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(l(557));e[Nt]=n}else Ui(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;st(n),e=!1}else a=Lo(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return n.flags&256?(en(n),n):(en(n),null);if((n.flags&128)!==0)throw Error(l(558))}return st(n),null;case 13:if(s=n.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(f=kr(n),s!==null&&s.dehydrated!==null){if(e===null){if(!f)throw Error(l(318));if(f=n.memoizedState,f=f!==null?f.dehydrated:null,!f)throw Error(l(317));f[Nt]=n}else Ui(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;st(n),f=!1}else f=Lo(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=f),f=!0;if(!f)return n.flags&256?(en(n),n):(en(n),null)}return en(n),(n.flags&128)!==0?(n.lanes=a,n):(a=s!==null,e=e!==null&&e.memoizedState!==null,a&&(s=n.child,f=null,s.alternate!==null&&s.alternate.memoizedState!==null&&s.alternate.memoizedState.cachePool!==null&&(f=s.alternate.memoizedState.cachePool.pool),m=null,s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(m=s.memoizedState.cachePool.pool),m!==f&&(s.flags|=2048)),a!==e&&a&&(n.child.flags|=8192),Kl(n,n.updateQueue),st(n),null);case 4:return pe(),e===null&&Xu(n.stateNode.containerInfo),st(n),null;case 10:return Un(n.type),st(n),null;case 19:if(M(mt),s=n.memoizedState,s===null)return st(n),null;if(f=(n.flags&128)!==0,m=s.rendering,m===null)if(f)Na(s,!1);else{if(dt!==0||e!==null&&(e.flags&128)!==0)for(e=n.child;e!==null;){if(m=zl(e),m!==null){for(n.flags|=128,Na(s,!1),e=m.updateQueue,n.updateQueue=e,Kl(n,e),n.subtreeFlags=0,e=a,a=n.child;a!==null;)Af(a,e),a=a.sibling;return w(mt,mt.current&1|2),Ge&&Bn(n,s.treeForkCount),n.child}e=e.sibling}s.tail!==null&&ie()>Wl&&(n.flags|=128,f=!0,Na(s,!1),n.lanes=4194304)}else{if(!f)if(e=zl(m),e!==null){if(n.flags|=128,f=!0,e=e.updateQueue,n.updateQueue=e,Kl(n,e),Na(s,!0),s.tail===null&&s.tailMode==="hidden"&&!m.alternate&&!Ge)return st(n),null}else 2*ie()-s.renderingStartTime>Wl&&a!==536870912&&(n.flags|=128,f=!0,Na(s,!1),n.lanes=4194304);s.isBackwards?(m.sibling=n.child,n.child=m):(e=s.last,e!==null?e.sibling=m:n.child=m,s.last=m)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=ie(),e.sibling=null,a=mt.current,w(mt,f?a&1|2:a&1),Ge&&Bn(n,s.treeForkCount),e):(st(n),null);case 22:case 23:return en(n),Qo(),s=n.memoizedState!==null,e!==null?e.memoizedState!==null!==s&&(n.flags|=8192):s&&(n.flags|=8192),s?(a&536870912)!==0&&(n.flags&128)===0&&(st(n),n.subtreeFlags&6&&(n.flags|=8192)):st(n),a=n.updateQueue,a!==null&&Kl(n,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),s=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(s=n.memoizedState.cachePool.pool),s!==a&&(n.flags|=2048),e!==null&&M($i),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),n.memoizedState.cache!==a&&(n.flags|=2048),Un(yt),st(n),null;case 25:return null;case 30:return null}throw Error(l(156,n.tag))}function lx(e,n){switch(zo(n),n.tag){case 1:return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return Un(yt),pe(),e=n.flags,(e&65536)!==0&&(e&128)===0?(n.flags=e&-65537|128,n):null;case 26:case 27:case 5:return Ce(n),null;case 31:if(n.memoizedState!==null){if(en(n),n.alternate===null)throw Error(l(340));Ui()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 13:if(en(n),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(l(340));Ui()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return M(mt),null;case 4:return pe(),null;case 10:return Un(n.type),null;case 22:case 23:return en(n),Qo(),e!==null&&M($i),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 24:return Un(yt),null;case 25:return null;default:return null}}function im(e,n){switch(zo(n),n.tag){case 3:Un(yt),pe();break;case 26:case 27:case 5:Ce(n);break;case 4:pe();break;case 31:n.memoizedState!==null&&en(n);break;case 13:en(n);break;case 19:M(mt);break;case 10:Un(n.type);break;case 22:case 23:en(n),Qo(),e!==null&&M($i);break;case 24:Un(yt)}}function Aa(e,n){try{var a=n.updateQueue,s=a!==null?a.lastEffect:null;if(s!==null){var f=s.next;a=f;do{if((a.tag&e)===e){s=void 0;var m=a.create,b=a.inst;s=m(),b.destroy=s}a=a.next}while(a!==f)}}catch(j){Je(n,n.return,j)}}function hi(e,n,a){try{var s=n.updateQueue,f=s!==null?s.lastEffect:null;if(f!==null){var m=f.next;s=m;do{if((s.tag&e)===e){var b=s.inst,j=b.destroy;if(j!==void 0){b.destroy=void 0,f=n;var L=a,Z=j;try{Z()}catch(ae){Je(f,L,ae)}}}s=s.next}while(s!==m)}}catch(ae){Je(n,n.return,ae)}}function rm(e){var n=e.updateQueue;if(n!==null){var a=e.stateNode;try{Kf(n,a)}catch(s){Je(e,e.return,s)}}}function am(e,n,a){a.props=Ki(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(s){Je(e,n,s)}}function Ia(e,n){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var s=e.stateNode;break;case 30:s=e.stateNode;break;default:s=e.stateNode}typeof a=="function"?e.refCleanup=a(s):a.current=s}}catch(f){Je(e,n,f)}}function En(e,n){var a=e.ref,s=e.refCleanup;if(a!==null)if(typeof s=="function")try{s()}catch(f){Je(e,n,f)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(f){Je(e,n,f)}else a.current=null}function lm(e){var n=e.type,a=e.memoizedProps,s=e.stateNode;try{e:switch(n){case"button":case"input":case"select":case"textarea":a.autoFocus&&s.focus();break e;case"img":a.src?s.src=a.src:a.srcSet&&(s.srcset=a.srcSet)}}catch(f){Je(e,e.return,f)}}function Eu(e,n,a){try{var s=e.stateNode;Ex(s,e.type,a,n),s[Ut]=n}catch(f){Je(e,e.return,f)}}function sm(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&xi(e.type)||e.tag===4}function Nu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||sm(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&&xi(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 Au(e,n,a){var s=e.tag;if(s===5||s===6)e=e.stateNode,n?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,n):(n=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,n.appendChild(e),a=a._reactRootContainer,a!=null||n.onclick!==null||(n.onclick=zn));else if(s!==4&&(s===27&&xi(e.type)&&(a=e.stateNode,n=null),e=e.child,e!==null))for(Au(e,n,a),e=e.sibling;e!==null;)Au(e,n,a),e=e.sibling}function Xl(e,n,a){var s=e.tag;if(s===5||s===6)e=e.stateNode,n?a.insertBefore(e,n):a.appendChild(e);else if(s!==4&&(s===27&&xi(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(Xl(e,n,a),e=e.sibling;e!==null;)Xl(e,n,a),e=e.sibling}function om(e){var n=e.stateNode,a=e.memoizedProps;try{for(var s=e.type,f=n.attributes;f.length;)n.removeAttributeNode(f[0]);Ot(n,s,a),n[Nt]=e,n[Ut]=a}catch(m){Je(e,e.return,m)}}var Vn=!1,xt=!1,Iu=!1,um=typeof WeakSet=="function"?WeakSet:Set,Tt=null;function sx(e,n){if(e=e.containerInfo,Ju=gs,e=Sf(e),Co(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var s=a.getSelection&&a.getSelection();if(s&&s.rangeCount!==0){a=s.anchorNode;var f=s.anchorOffset,m=s.focusNode;s=s.focusOffset;try{a.nodeType,m.nodeType}catch{a=null;break e}var b=0,j=-1,L=-1,Z=0,ae=0,oe=e,J=null;t:for(;;){for(var ne;oe!==a||f!==0&&oe.nodeType!==3||(j=b+f),oe!==m||s!==0&&oe.nodeType!==3||(L=b+s),oe.nodeType===3&&(b+=oe.nodeValue.length),(ne=oe.firstChild)!==null;)J=oe,oe=ne;for(;;){if(oe===e)break t;if(J===a&&++Z===f&&(j=b),J===m&&++ae===s&&(L=b),(ne=oe.nextSibling)!==null)break;oe=J,J=oe.parentNode}oe=ne}a=j===-1||L===-1?null:{start:j,end:L}}else a=null}a=a||{start:0,end:0}}else a=null;for(Wu={focusedElem:e,selectionRange:a},gs=!1,Tt=n;Tt!==null;)if(n=Tt,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,Tt=e;else for(;Tt!==null;){switch(n=Tt,m=n.alternate,e=n.flags,n.tag){case 0:if((e&4)!==0&&(e=n.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a<e.length;a++)f=e[a],f.ref.impl=f.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&m!==null){e=void 0,a=n,f=m.memoizedProps,m=m.memoizedState,s=a.stateNode;try{var ge=Ki(a.type,f);e=s.getSnapshotBeforeUpdate(ge,m),s.__reactInternalSnapshotBeforeUpdate=e}catch(we){Je(a,a.return,we)}}break;case 3:if((e&1024)!==0){if(e=n.stateNode.containerInfo,a=e.nodeType,a===9)nc(e);else if(a===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":nc(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(l(163))}if(e=n.sibling,e!==null){e.return=n.return,Tt=e;break}Tt=n.return}}function cm(e,n,a){var s=a.flags;switch(a.tag){case 0:case 11:case 15:Yn(e,a),s&4&&Aa(5,a);break;case 1:if(Yn(e,a),s&4)if(e=a.stateNode,n===null)try{e.componentDidMount()}catch(b){Je(a,a.return,b)}else{var f=Ki(a.type,n.memoizedProps);n=n.memoizedState;try{e.componentDidUpdate(f,n,e.__reactInternalSnapshotBeforeUpdate)}catch(b){Je(a,a.return,b)}}s&64&&rm(a),s&512&&Ia(a,a.return);break;case 3:if(Yn(e,a),s&64&&(e=a.updateQueue,e!==null)){if(n=null,a.child!==null)switch(a.child.tag){case 27:case 5:n=a.child.stateNode;break;case 1:n=a.child.stateNode}try{Kf(e,n)}catch(b){Je(a,a.return,b)}}break;case 27:n===null&&s&4&&om(a);case 26:case 5:Yn(e,a),n===null&&s&4&&lm(a),s&512&&Ia(a,a.return);break;case 12:Yn(e,a);break;case 31:Yn(e,a),s&4&&hm(e,a);break;case 13:Yn(e,a),s&4&&mm(e,a),s&64&&(e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(a=gx.bind(null,a),_x(e,a))));break;case 22:if(s=a.memoizedState!==null||Vn,!s){n=n!==null&&n.memoizedState!==null||xt,f=Vn;var m=xt;Vn=s,(xt=n)&&!m?Kn(e,a,(a.subtreeFlags&8772)!==0):Yn(e,a),Vn=f,xt=m}break;case 30:break;default:Yn(e,a)}}function dm(e){var n=e.alternate;n!==null&&(e.alternate=null,dm(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&lo(n)),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 ot=null,Gt=!1;function Pn(e,n,a){for(a=a.child;a!==null;)fm(e,n,a),a=a.sibling}function fm(e,n,a){if(Ee&&typeof Ee.onCommitFiberUnmount=="function")try{Ee.onCommitFiberUnmount(Ie,a)}catch{}switch(a.tag){case 26:xt||En(a,n),Pn(e,n,a),a.memoizedState?a.memoizedState.count--:a.stateNode&&(a=a.stateNode,a.parentNode.removeChild(a));break;case 27:xt||En(a,n);var s=ot,f=Gt;xi(a.type)&&(ot=a.stateNode,Gt=!1),Pn(e,n,a),Ua(a.stateNode),ot=s,Gt=f;break;case 5:xt||En(a,n);case 6:if(s=ot,f=Gt,ot=null,Pn(e,n,a),ot=s,Gt=f,ot!==null)if(Gt)try{(ot.nodeType===9?ot.body:ot.nodeName==="HTML"?ot.ownerDocument.body:ot).removeChild(a.stateNode)}catch(m){Je(a,n,m)}else try{ot.removeChild(a.stateNode)}catch(m){Je(a,n,m)}break;case 18:ot!==null&&(Gt?(e=ot,rp(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,a.stateNode),$r(e)):rp(ot,a.stateNode));break;case 4:s=ot,f=Gt,ot=a.stateNode.containerInfo,Gt=!0,Pn(e,n,a),ot=s,Gt=f;break;case 0:case 11:case 14:case 15:hi(2,a,n),xt||hi(4,a,n),Pn(e,n,a);break;case 1:xt||(En(a,n),s=a.stateNode,typeof s.componentWillUnmount=="function"&&am(a,n,s)),Pn(e,n,a);break;case 21:Pn(e,n,a);break;case 22:xt=(s=xt)||a.memoizedState!==null,Pn(e,n,a),xt=s;break;default:Pn(e,n,a)}}function hm(e,n){if(n.memoizedState===null&&(e=n.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{$r(e)}catch(a){Je(n,n.return,a)}}}function mm(e,n){if(n.memoizedState===null&&(e=n.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{$r(e)}catch(a){Je(n,n.return,a)}}function ox(e){switch(e.tag){case 31:case 13:case 19:var n=e.stateNode;return n===null&&(n=e.stateNode=new um),n;case 22:return e=e.stateNode,n=e._retryCache,n===null&&(n=e._retryCache=new um),n;default:throw Error(l(435,e.tag))}}function Ql(e,n){var a=ox(e);n.forEach(function(s){if(!a.has(s)){a.add(s);var f=yx.bind(null,e,s);s.then(f,f)}})}function $t(e,n){var a=n.deletions;if(a!==null)for(var s=0;s<a.length;s++){var f=a[s],m=e,b=n,j=b;e:for(;j!==null;){switch(j.tag){case 27:if(xi(j.type)){ot=j.stateNode,Gt=!1;break e}break;case 5:ot=j.stateNode,Gt=!1;break e;case 3:case 4:ot=j.stateNode.containerInfo,Gt=!0;break e}j=j.return}if(ot===null)throw Error(l(160));fm(m,b,f),ot=null,Gt=!1,m=f.alternate,m!==null&&(m.return=null),f.return=null}if(n.subtreeFlags&13886)for(n=n.child;n!==null;)pm(n,e),n=n.sibling}var xn=null;function pm(e,n){var a=e.alternate,s=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:$t(n,e),Ft(e),s&4&&(hi(3,e,e.return),Aa(3,e),hi(5,e,e.return));break;case 1:$t(n,e),Ft(e),s&512&&(xt||a===null||En(a,a.return)),s&64&&Vn&&(e=e.updateQueue,e!==null&&(s=e.callbacks,s!==null&&(a=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=a===null?s:a.concat(s))));break;case 26:var f=xn;if($t(n,e),Ft(e),s&512&&(xt||a===null||En(a,a.return)),s&4){var m=a!==null?a.memoizedState:null;if(s=e.memoizedState,a===null)if(s===null)if(e.stateNode===null){e:{s=e.type,a=e.memoizedProps,f=f.ownerDocument||f;t:switch(s){case"title":m=f.getElementsByTagName("title")[0],(!m||m[ra]||m[Nt]||m.namespaceURI==="http://www.w3.org/2000/svg"||m.hasAttribute("itemprop"))&&(m=f.createElement(s),f.head.insertBefore(m,f.querySelector("head > title"))),Ot(m,s,a),m[Nt]=e,jt(m),s=m;break e;case"link":var b=pp("link","href",f).get(s+(a.href||""));if(b){for(var j=0;j<b.length;j++)if(m=b[j],m.getAttribute("href")===(a.href==null||a.href===""?null:a.href)&&m.getAttribute("rel")===(a.rel==null?null:a.rel)&&m.getAttribute("title")===(a.title==null?null:a.title)&&m.getAttribute("crossorigin")===(a.crossOrigin==null?null:a.crossOrigin)){b.splice(j,1);break t}}m=f.createElement(s),Ot(m,s,a),f.head.appendChild(m);break;case"meta":if(b=pp("meta","content",f).get(s+(a.content||""))){for(j=0;j<b.length;j++)if(m=b[j],m.getAttribute("content")===(a.content==null?null:""+a.content)&&m.getAttribute("name")===(a.name==null?null:a.name)&&m.getAttribute("property")===(a.property==null?null:a.property)&&m.getAttribute("http-equiv")===(a.httpEquiv==null?null:a.httpEquiv)&&m.getAttribute("charset")===(a.charSet==null?null:a.charSet)){b.splice(j,1);break t}}m=f.createElement(s),Ot(m,s,a),f.head.appendChild(m);break;default:throw Error(l(468,s))}m[Nt]=e,jt(m),s=m}e.stateNode=s}else gp(f,e.type,e.stateNode);else e.stateNode=mp(f,s,e.memoizedProps);else m!==s?(m===null?a.stateNode!==null&&(a=a.stateNode,a.parentNode.removeChild(a)):m.count--,s===null?gp(f,e.type,e.stateNode):mp(f,s,e.memoizedProps)):s===null&&e.stateNode!==null&&Eu(e,e.memoizedProps,a.memoizedProps)}break;case 27:$t(n,e),Ft(e),s&512&&(xt||a===null||En(a,a.return)),a!==null&&s&4&&Eu(e,e.memoizedProps,a.memoizedProps);break;case 5:if($t(n,e),Ft(e),s&512&&(xt||a===null||En(a,a.return)),e.flags&32){f=e.stateNode;try{fr(f,"")}catch(ge){Je(e,e.return,ge)}}s&4&&e.stateNode!=null&&(f=e.memoizedProps,Eu(e,f,a!==null?a.memoizedProps:f)),s&1024&&(Iu=!0);break;case 6:if($t(n,e),Ft(e),s&4){if(e.stateNode===null)throw Error(l(162));s=e.memoizedProps,a=e.stateNode;try{a.nodeValue=s}catch(ge){Je(e,e.return,ge)}}break;case 3:if(fs=null,f=xn,xn=cs(n.containerInfo),$t(n,e),xn=f,Ft(e),s&4&&a!==null&&a.memoizedState.isDehydrated)try{$r(n.containerInfo)}catch(ge){Je(e,e.return,ge)}Iu&&(Iu=!1,gm(e));break;case 4:s=xn,xn=cs(e.stateNode.containerInfo),$t(n,e),Ft(e),xn=s;break;case 12:$t(n,e),Ft(e);break;case 31:$t(n,e),Ft(e),s&4&&(s=e.updateQueue,s!==null&&(e.updateQueue=null,Ql(e,s)));break;case 13:$t(n,e),Ft(e),e.child.flags&8192&&e.memoizedState!==null!=(a!==null&&a.memoizedState!==null)&&(Jl=ie()),s&4&&(s=e.updateQueue,s!==null&&(e.updateQueue=null,Ql(e,s)));break;case 22:f=e.memoizedState!==null;var L=a!==null&&a.memoizedState!==null,Z=Vn,ae=xt;if(Vn=Z||f,xt=ae||L,$t(n,e),xt=ae,Vn=Z,Ft(e),s&8192)e:for(n=e.stateNode,n._visibility=f?n._visibility&-2:n._visibility|1,f&&(a===null||L||Vn||xt||Xi(e)),a=null,n=e;;){if(n.tag===5||n.tag===26){if(a===null){L=a=n;try{if(m=L.stateNode,f)b=m.style,typeof b.setProperty=="function"?b.setProperty("display","none","important"):b.display="none";else{j=L.stateNode;var oe=L.memoizedProps.style,J=oe!=null&&oe.hasOwnProperty("display")?oe.display:null;j.style.display=J==null||typeof J=="boolean"?"":(""+J).trim()}}catch(ge){Je(L,L.return,ge)}}}else if(n.tag===6){if(a===null){L=n;try{L.stateNode.nodeValue=f?"":L.memoizedProps}catch(ge){Je(L,L.return,ge)}}}else if(n.tag===18){if(a===null){L=n;try{var ne=L.stateNode;f?ap(ne,!0):ap(L.stateNode,!1)}catch(ge){Je(L,L.return,ge)}}}else if((n.tag!==22&&n.tag!==23||n.memoizedState===null||n===e)&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break e;for(;n.sibling===null;){if(n.return===null||n.return===e)break e;a===n&&(a=null),n=n.return}a===n&&(a=null),n.sibling.return=n.return,n=n.sibling}s&4&&(s=e.updateQueue,s!==null&&(a=s.retryQueue,a!==null&&(s.retryQueue=null,Ql(e,a))));break;case 19:$t(n,e),Ft(e),s&4&&(s=e.updateQueue,s!==null&&(e.updateQueue=null,Ql(e,s)));break;case 30:break;case 21:break;default:$t(n,e),Ft(e)}}function Ft(e){var n=e.flags;if(n&2){try{for(var a,s=e.return;s!==null;){if(sm(s)){a=s;break}s=s.return}if(a==null)throw Error(l(160));switch(a.tag){case 27:var f=a.stateNode,m=Nu(e);Xl(e,m,f);break;case 5:var b=a.stateNode;a.flags&32&&(fr(b,""),a.flags&=-33);var j=Nu(e);Xl(e,j,b);break;case 3:case 4:var L=a.stateNode.containerInfo,Z=Nu(e);Au(e,Z,L);break;default:throw Error(l(161))}}catch(ae){Je(e,e.return,ae)}e.flags&=-3}n&4096&&(e.flags&=-4097)}function gm(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var n=e;gm(n),n.tag===5&&n.flags&1024&&n.stateNode.reset(),e=e.sibling}}function Yn(e,n){if(n.subtreeFlags&8772)for(n=n.child;n!==null;)cm(e,n.alternate,n),n=n.sibling}function Xi(e){for(e=e.child;e!==null;){var n=e;switch(n.tag){case 0:case 11:case 14:case 15:hi(4,n,n.return),Xi(n);break;case 1:En(n,n.return);var a=n.stateNode;typeof a.componentWillUnmount=="function"&&am(n,n.return,a),Xi(n);break;case 27:Ua(n.stateNode);case 26:case 5:En(n,n.return),Xi(n);break;case 22:n.memoizedState===null&&Xi(n);break;case 30:Xi(n);break;default:Xi(n)}e=e.sibling}}function Kn(e,n,a){for(a=a&&(n.subtreeFlags&8772)!==0,n=n.child;n!==null;){var s=n.alternate,f=e,m=n,b=m.flags;switch(m.tag){case 0:case 11:case 15:Kn(f,m,a),Aa(4,m);break;case 1:if(Kn(f,m,a),s=m,f=s.stateNode,typeof f.componentDidMount=="function")try{f.componentDidMount()}catch(Z){Je(s,s.return,Z)}if(s=m,f=s.updateQueue,f!==null){var j=s.stateNode;try{var L=f.shared.hiddenCallbacks;if(L!==null)for(f.shared.hiddenCallbacks=null,f=0;f<L.length;f++)Yf(L[f],j)}catch(Z){Je(s,s.return,Z)}}a&&b&64&&rm(m),Ia(m,m.return);break;case 27:om(m);case 26:case 5:Kn(f,m,a),a&&s===null&&b&4&&lm(m),Ia(m,m.return);break;case 12:Kn(f,m,a);break;case 31:Kn(f,m,a),a&&b&4&&hm(f,m);break;case 13:Kn(f,m,a),a&&b&4&&mm(f,m);break;case 22:m.memoizedState===null&&Kn(f,m,a),Ia(m,m.return);break;case 30:break;default:Kn(f,m,a)}n=n.sibling}}function Du(e,n){var a=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),e=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(e=n.memoizedState.cachePool.pool),e!==a&&(e!=null&&e.refCount++,a!=null&&ya(a))}function Ou(e,n){e=null,n.alternate!==null&&(e=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==e&&(n.refCount++,e!=null&&ya(e))}function Sn(e,n,a,s){if(n.subtreeFlags&10256)for(n=n.child;n!==null;)ym(e,n,a,s),n=n.sibling}function ym(e,n,a,s){var f=n.flags;switch(n.tag){case 0:case 11:case 15:Sn(e,n,a,s),f&2048&&Aa(9,n);break;case 1:Sn(e,n,a,s);break;case 3:Sn(e,n,a,s),f&2048&&(e=null,n.alternate!==null&&(e=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==e&&(n.refCount++,e!=null&&ya(e)));break;case 12:if(f&2048){Sn(e,n,a,s),e=n.stateNode;try{var m=n.memoizedProps,b=m.id,j=m.onPostCommit;typeof j=="function"&&j(b,n.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(L){Je(n,n.return,L)}}else Sn(e,n,a,s);break;case 31:Sn(e,n,a,s);break;case 13:Sn(e,n,a,s);break;case 23:break;case 22:m=n.stateNode,b=n.alternate,n.memoizedState!==null?m._visibility&2?Sn(e,n,a,s):Da(e,n):m._visibility&2?Sn(e,n,a,s):(m._visibility|=2,Dr(e,n,a,s,(n.subtreeFlags&10256)!==0||!1)),f&2048&&Du(b,n);break;case 24:Sn(e,n,a,s),f&2048&&Ou(n.alternate,n);break;default:Sn(e,n,a,s)}}function Dr(e,n,a,s,f){for(f=f&&((n.subtreeFlags&10256)!==0||!1),n=n.child;n!==null;){var m=e,b=n,j=a,L=s,Z=b.flags;switch(b.tag){case 0:case 11:case 15:Dr(m,b,j,L,f),Aa(8,b);break;case 23:break;case 22:var ae=b.stateNode;b.memoizedState!==null?ae._visibility&2?Dr(m,b,j,L,f):Da(m,b):(ae._visibility|=2,Dr(m,b,j,L,f)),f&&Z&2048&&Du(b.alternate,b);break;case 24:Dr(m,b,j,L,f),f&&Z&2048&&Ou(b.alternate,b);break;default:Dr(m,b,j,L,f)}n=n.sibling}}function Da(e,n){if(n.subtreeFlags&10256)for(n=n.child;n!==null;){var a=e,s=n,f=s.flags;switch(s.tag){case 22:Da(a,s),f&2048&&Du(s.alternate,s);break;case 24:Da(a,s),f&2048&&Ou(s.alternate,s);break;default:Da(a,s)}n=n.sibling}}var Oa=8192;function Or(e,n,a){if(e.subtreeFlags&Oa)for(e=e.child;e!==null;)vm(e,n,a),e=e.sibling}function vm(e,n,a){switch(e.tag){case 26:Or(e,n,a),e.flags&Oa&&e.memoizedState!==null&&Kx(a,xn,e.memoizedState,e.memoizedProps);break;case 5:Or(e,n,a);break;case 3:case 4:var s=xn;xn=cs(e.stateNode.containerInfo),Or(e,n,a),xn=s;break;case 22:e.memoizedState===null&&(s=e.alternate,s!==null&&s.memoizedState!==null?(s=Oa,Oa=16777216,Or(e,n,a),Oa=s):Or(e,n,a));break;default:Or(e,n,a)}}function bm(e){var n=e.alternate;if(n!==null&&(e=n.child,e!==null)){n.child=null;do n=e.sibling,e.sibling=null,e=n;while(e!==null)}}function Ma(e){var n=e.deletions;if((e.flags&16)!==0){if(n!==null)for(var a=0;a<n.length;a++){var s=n[a];Tt=s,Sm(s,e)}bm(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)xm(e),e=e.sibling}function xm(e){switch(e.tag){case 0:case 11:case 15:Ma(e),e.flags&2048&&hi(9,e,e.return);break;case 3:Ma(e);break;case 12:Ma(e);break;case 22:var n=e.stateNode;e.memoizedState!==null&&n._visibility&2&&(e.return===null||e.return.tag!==13)?(n._visibility&=-3,Zl(e)):Ma(e);break;default:Ma(e)}}function Zl(e){var n=e.deletions;if((e.flags&16)!==0){if(n!==null)for(var a=0;a<n.length;a++){var s=n[a];Tt=s,Sm(s,e)}bm(e)}for(e=e.child;e!==null;){switch(n=e,n.tag){case 0:case 11:case 15:hi(8,n,n.return),Zl(n);break;case 22:a=n.stateNode,a._visibility&2&&(a._visibility&=-3,Zl(n));break;default:Zl(n)}e=e.sibling}}function Sm(e,n){for(;Tt!==null;){var a=Tt;switch(a.tag){case 0:case 11:case 15:hi(8,a,n);break;case 23:case 22:if(a.memoizedState!==null&&a.memoizedState.cachePool!==null){var s=a.memoizedState.cachePool.pool;s!=null&&s.refCount++}break;case 24:ya(a.memoizedState.cache)}if(s=a.child,s!==null)s.return=a,Tt=s;else e:for(a=e;Tt!==null;){s=Tt;var f=s.sibling,m=s.return;if(dm(s),s===a){Tt=null;break e}if(f!==null){f.return=m,Tt=f;break e}Tt=m}}}var ux={getCacheForType:function(e){var n=It(yt),a=n.data.get(e);return a===void 0&&(a=e(),n.data.set(e,a)),a},cacheSignal:function(){return It(yt).controller.signal}},cx=typeof WeakMap=="function"?WeakMap:Map,Ke=0,nt=null,ze=null,He=0,Ze=0,tn=null,mi=!1,Mr=!1,Mu=!1,Xn=0,dt=0,pi=0,Qi=0,zu=0,nn=0,zr=0,za=null,Vt=null,_u=!1,Jl=0,km=0,Wl=1/0,es=null,gi=null,wt=0,yi=null,_r=null,Qn=0,Lu=0,Bu=null,wm=null,_a=0,Hu=null;function rn(){return(Ke&2)!==0&&He!==0?He&-He:O.T!==null?Vu():Bd()}function Cm(){if(nn===0)if((He&536870912)===0||Ge){var e=Di;Di<<=1,(Di&3932160)===0&&(Di=262144),nn=e}else nn=536870912;return e=Wt.current,e!==null&&(e.flags|=32),nn}function Pt(e,n,a){(e===nt&&(Ze===2||Ze===9)||e.cancelPendingCommit!==null)&&(Lr(e,0),vi(e,He,nn,!1)),ia(e,a),((Ke&2)===0||e!==nt)&&(e===nt&&((Ke&2)===0&&(Qi|=a),dt===4&&vi(e,He,nn,!1)),Nn(e))}function jm(e,n,a){if((Ke&6)!==0)throw Error(l(327));var s=!a&&(n&127)===0&&(n&e.expiredLanes)===0||na(e,n),f=s?hx(e,n):qu(e,n,!0),m=s;do{if(f===0){Mr&&!s&&vi(e,n,0,!1);break}else{if(a=e.current.alternate,m&&!dx(a)){f=qu(e,n,!1),m=!1;continue}if(f===2){if(m=n,e.errorRecoveryDisabledLanes&m)var b=0;else b=e.pendingLanes&-536870913,b=b!==0?b:b&536870912?536870912:0;if(b!==0){n=b;e:{var j=e;f=za;var L=j.current.memoizedState.isDehydrated;if(L&&(Lr(j,b).flags|=256),b=qu(j,b,!1),b!==2){if(Mu&&!L){j.errorRecoveryDisabledLanes|=m,Qi|=m,f=4;break e}m=Vt,Vt=f,m!==null&&(Vt===null?Vt=m:Vt.push.apply(Vt,m))}f=b}if(m=!1,f!==2)continue}}if(f===1){Lr(e,0),vi(e,n,0,!0);break}e:{switch(s=e,m=f,m){case 0:case 1:throw Error(l(345));case 4:if((n&4194048)!==n)break;case 6:vi(s,n,nn,!mi);break e;case 2:Vt=null;break;case 3:case 5:break;default:throw Error(l(329))}if((n&62914560)===n&&(f=Jl+300-ie(),10<f)){if(vi(s,n,nn,!mi),cl(s,0,!0)!==0)break e;Qn=n,s.timeoutHandle=np(Tm.bind(null,s,a,Vt,es,_u,n,nn,Qi,zr,mi,m,"Throttled",-0,0),f);break e}Tm(s,a,Vt,es,_u,n,nn,Qi,zr,mi,m,null,-0,0)}}break}while(!0);Nn(e)}function Tm(e,n,a,s,f,m,b,j,L,Z,ae,oe,J,ne){if(e.timeoutHandle=-1,oe=n.subtreeFlags,oe&8192||(oe&16785408)===16785408){oe={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:zn},vm(n,m,oe);var ge=(m&62914560)===m?Jl-ie():(m&4194048)===m?km-ie():0;if(ge=Xx(oe,ge),ge!==null){Qn=m,e.cancelPendingCommit=ge(Mm.bind(null,e,n,m,a,s,f,b,j,L,ae,oe,null,J,ne)),vi(e,m,b,!Z);return}}Mm(e,n,m,a,s,f,b,j,L)}function dx(e){for(var n=e;;){var a=n.tag;if((a===0||a===11||a===15)&&n.flags&16384&&(a=n.updateQueue,a!==null&&(a=a.stores,a!==null)))for(var s=0;s<a.length;s++){var f=a[s],m=f.getSnapshot;f=f.value;try{if(!Zt(m(),f))return!1}catch{return!1}}if(a=n.child,n.subtreeFlags&16384&&a!==null)a.return=n,n=a;else{if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return!0;n=n.return}n.sibling.return=n.return,n=n.sibling}}return!0}function vi(e,n,a,s){n&=~zu,n&=~Qi,e.suspendedLanes|=n,e.pingedLanes&=~n,s&&(e.warmLanes|=n),s=e.expirationTimes;for(var f=n;0<f;){var m=31-Qe(f),b=1<<m;s[m]=-1,f&=~b}a!==0&&zd(e,a,n)}function ts(){return(Ke&6)===0?(La(0),!1):!0}function Uu(){if(ze!==null){if(Ze===0)var e=ze.return;else e=ze,Hn=qi=null,nu(e),Rr=null,ba=0,e=ze;for(;e!==null;)im(e.alternate,e),e=e.return;ze=null}}function Lr(e,n){var a=e.timeoutHandle;a!==-1&&(e.timeoutHandle=-1,Ix(a)),a=e.cancelPendingCommit,a!==null&&(e.cancelPendingCommit=null,a()),Qn=0,Uu(),nt=e,ze=a=Ln(e.current,null),He=n,Ze=0,tn=null,mi=!1,Mr=na(e,n),Mu=!1,zr=nn=zu=Qi=pi=dt=0,Vt=za=null,_u=!1,(n&8)!==0&&(n|=n&32);var s=e.entangledLanes;if(s!==0)for(e=e.entanglements,s&=n;0<s;){var f=31-Qe(s),m=1<<f;n|=e[f],s&=~m}return Xn=n,kl(),a}function Rm(e,n){Oe=null,O.H=Ra,n===Tr||n===Al?(n=$f(),Ze=3):n===Fo?(n=$f(),Ze=4):Ze=n===vu?8:n!==null&&typeof n=="object"&&typeof n.then=="function"?6:1,tn=n,ze===null&&(dt=1,Fl(e,dn(n,e.current)))}function Em(){var e=Wt.current;return e===null?!0:(He&4194048)===He?pn===null:(He&62914560)===He||(He&536870912)!==0?e===pn:!1}function Nm(){var e=O.H;return O.H=Ra,e===null?Ra:e}function Am(){var e=O.A;return O.A=ux,e}function ns(){dt=4,mi||(He&4194048)!==He&&Wt.current!==null||(Mr=!0),(pi&134217727)===0&&(Qi&134217727)===0||nt===null||vi(nt,He,nn,!1)}function qu(e,n,a){var s=Ke;Ke|=2;var f=Nm(),m=Am();(nt!==e||He!==n)&&(es=null,Lr(e,n)),n=!1;var b=dt;e:do try{if(Ze!==0&&ze!==null){var j=ze,L=tn;switch(Ze){case 8:Uu(),b=6;break e;case 3:case 2:case 9:case 6:Wt.current===null&&(n=!0);var Z=Ze;if(Ze=0,tn=null,Br(e,j,L,Z),a&&Mr){b=0;break e}break;default:Z=Ze,Ze=0,tn=null,Br(e,j,L,Z)}}fx(),b=dt;break}catch(ae){Rm(e,ae)}while(!0);return n&&e.shellSuspendCounter++,Hn=qi=null,Ke=s,O.H=f,O.A=m,ze===null&&(nt=null,He=0,kl()),b}function fx(){for(;ze!==null;)Im(ze)}function hx(e,n){var a=Ke;Ke|=2;var s=Nm(),f=Am();nt!==e||He!==n?(es=null,Wl=ie()+500,Lr(e,n)):Mr=na(e,n);e:do try{if(Ze!==0&&ze!==null){n=ze;var m=tn;t:switch(Ze){case 1:Ze=0,tn=null,Br(e,n,m,1);break;case 2:case 9:if(qf(m)){Ze=0,tn=null,Dm(n);break}n=function(){Ze!==2&&Ze!==9||nt!==e||(Ze=7),Nn(e)},m.then(n,n);break e;case 3:Ze=7;break e;case 4:Ze=5;break e;case 7:qf(m)?(Ze=0,tn=null,Dm(n)):(Ze=0,tn=null,Br(e,n,m,7));break;case 5:var b=null;switch(ze.tag){case 26:b=ze.memoizedState;case 5:case 27:var j=ze;if(b?yp(b):j.stateNode.complete){Ze=0,tn=null;var L=j.sibling;if(L!==null)ze=L;else{var Z=j.return;Z!==null?(ze=Z,is(Z)):ze=null}break t}}Ze=0,tn=null,Br(e,n,m,5);break;case 6:Ze=0,tn=null,Br(e,n,m,6);break;case 8:Uu(),dt=6;break e;default:throw Error(l(462))}}mx();break}catch(ae){Rm(e,ae)}while(!0);return Hn=qi=null,O.H=s,O.A=f,Ke=a,ze!==null?0:(nt=null,He=0,kl(),dt)}function mx(){for(;ze!==null&&!$e();)Im(ze)}function Im(e){var n=tm(e.alternate,e,Xn);e.memoizedProps=e.pendingProps,n===null?is(e):ze=n}function Dm(e){var n=e,a=n.alternate;switch(n.tag){case 15:case 0:n=Xh(a,n,n.pendingProps,n.type,void 0,He);break;case 11:n=Xh(a,n,n.pendingProps,n.type.render,n.ref,He);break;case 5:nu(n);default:im(a,n),n=ze=Af(n,Xn),n=tm(a,n,Xn)}e.memoizedProps=e.pendingProps,n===null?is(e):ze=n}function Br(e,n,a,s){Hn=qi=null,nu(n),Rr=null,ba=0;var f=n.return;try{if(nx(e,f,n,a,He)){dt=1,Fl(e,dn(a,e.current)),ze=null;return}}catch(m){if(f!==null)throw ze=f,m;dt=1,Fl(e,dn(a,e.current)),ze=null;return}n.flags&32768?(Ge||s===1?e=!0:Mr||(He&536870912)!==0?e=!1:(mi=e=!0,(s===2||s===9||s===3||s===6)&&(s=Wt.current,s!==null&&s.tag===13&&(s.flags|=16384))),Om(n,e)):is(n)}function is(e){var n=e;do{if((n.flags&32768)!==0){Om(n,mi);return}e=n.return;var a=ax(n.alternate,n,Xn);if(a!==null){ze=a;return}if(n=n.sibling,n!==null){ze=n;return}ze=n=e}while(n!==null);dt===0&&(dt=5)}function Om(e,n){do{var a=lx(e.alternate,e);if(a!==null){a.flags&=32767,ze=a;return}if(a=e.return,a!==null&&(a.flags|=32768,a.subtreeFlags=0,a.deletions=null),!n&&(e=e.sibling,e!==null)){ze=e;return}ze=e=a}while(e!==null);dt=6,ze=null}function Mm(e,n,a,s,f,m,b,j,L){e.cancelPendingCommit=null;do rs();while(wt!==0);if((Ke&6)!==0)throw Error(l(327));if(n!==null){if(n===e.current)throw Error(l(177));if(m=n.lanes|n.childLanes,m|=No,Yv(e,a,m,b,j,L),e===nt&&(ze=nt=null,He=0),_r=n,yi=e,Qn=a,Lu=m,Bu=f,wm=s,(n.subtreeFlags&10256)!==0||(n.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,vx(be,function(){return Hm(),null})):(e.callbackNode=null,e.callbackPriority=0),s=(n.flags&13878)!==0,(n.subtreeFlags&13878)!==0||s){s=O.T,O.T=null,f=U.p,U.p=2,b=Ke,Ke|=4;try{sx(e,n,a)}finally{Ke=b,U.p=f,O.T=s}}wt=1,zm(),_m(),Lm()}}function zm(){if(wt===1){wt=0;var e=yi,n=_r,a=(n.flags&13878)!==0;if((n.subtreeFlags&13878)!==0||a){a=O.T,O.T=null;var s=U.p;U.p=2;var f=Ke;Ke|=4;try{pm(n,e);var m=Wu,b=Sf(e.containerInfo),j=m.focusedElem,L=m.selectionRange;if(b!==j&&j&&j.ownerDocument&&xf(j.ownerDocument.documentElement,j)){if(L!==null&&Co(j)){var Z=L.start,ae=L.end;if(ae===void 0&&(ae=Z),"selectionStart"in j)j.selectionStart=Z,j.selectionEnd=Math.min(ae,j.value.length);else{var oe=j.ownerDocument||document,J=oe&&oe.defaultView||window;if(J.getSelection){var ne=J.getSelection(),ge=j.textContent.length,we=Math.min(L.start,ge),tt=L.end===void 0?we:Math.min(L.end,ge);!ne.extend&&we>tt&&(b=tt,tt=we,we=b);var P=bf(j,we),q=bf(j,tt);if(P&&q&&(ne.rangeCount!==1||ne.anchorNode!==P.node||ne.anchorOffset!==P.offset||ne.focusNode!==q.node||ne.focusOffset!==q.offset)){var Q=oe.createRange();Q.setStart(P.node,P.offset),ne.removeAllRanges(),we>tt?(ne.addRange(Q),ne.extend(q.node,q.offset)):(Q.setEnd(q.node,q.offset),ne.addRange(Q))}}}}for(oe=[],ne=j;ne=ne.parentNode;)ne.nodeType===1&&oe.push({element:ne,left:ne.scrollLeft,top:ne.scrollTop});for(typeof j.focus=="function"&&j.focus(),j=0;j<oe.length;j++){var se=oe[j];se.element.scrollLeft=se.left,se.element.scrollTop=se.top}}gs=!!Ju,Wu=Ju=null}finally{Ke=f,U.p=s,O.T=a}}e.current=n,wt=2}}function _m(){if(wt===2){wt=0;var e=yi,n=_r,a=(n.flags&8772)!==0;if((n.subtreeFlags&8772)!==0||a){a=O.T,O.T=null;var s=U.p;U.p=2;var f=Ke;Ke|=4;try{cm(e,n.alternate,n)}finally{Ke=f,U.p=s,O.T=a}}wt=3}}function Lm(){if(wt===4||wt===3){wt=0,ut();var e=yi,n=_r,a=Qn,s=wm;(n.subtreeFlags&10256)!==0||(n.flags&10256)!==0?wt=5:(wt=0,_r=yi=null,Bm(e,e.pendingLanes));var f=e.pendingLanes;if(f===0&&(gi=null),ro(a),n=n.stateNode,Ee&&typeof Ee.onCommitFiberRoot=="function")try{Ee.onCommitFiberRoot(Ie,n,void 0,(n.current.flags&128)===128)}catch{}if(s!==null){n=O.T,f=U.p,U.p=2,O.T=null;try{for(var m=e.onRecoverableError,b=0;b<s.length;b++){var j=s[b];m(j.value,{componentStack:j.stack})}}finally{O.T=n,U.p=f}}(Qn&3)!==0&&rs(),Nn(e),f=e.pendingLanes,(a&261930)!==0&&(f&42)!==0?e===Hu?_a++:(_a=0,Hu=e):_a=0,La(0)}}function Bm(e,n){(e.pooledCacheLanes&=n)===0&&(n=e.pooledCache,n!=null&&(e.pooledCache=null,ya(n)))}function rs(){return zm(),_m(),Lm(),Hm()}function Hm(){if(wt!==5)return!1;var e=yi,n=Lu;Lu=0;var a=ro(Qn),s=O.T,f=U.p;try{U.p=32>a?32:a,O.T=null,a=Bu,Bu=null;var m=yi,b=Qn;if(wt=0,_r=yi=null,Qn=0,(Ke&6)!==0)throw Error(l(331));var j=Ke;if(Ke|=4,xm(m.current),ym(m,m.current,b,a),Ke=j,La(0,!1),Ee&&typeof Ee.onPostCommitFiberRoot=="function")try{Ee.onPostCommitFiberRoot(Ie,m)}catch{}return!0}finally{U.p=f,O.T=s,Bm(e,n)}}function Um(e,n,a){n=dn(a,n),n=yu(e.stateNode,n,2),e=ci(e,n,2),e!==null&&(ia(e,2),Nn(e))}function Je(e,n,a){if(e.tag===3)Um(e,e,a);else for(;n!==null;){if(n.tag===3){Um(n,e,a);break}else if(n.tag===1){var s=n.stateNode;if(typeof n.type.getDerivedStateFromError=="function"||typeof s.componentDidCatch=="function"&&(gi===null||!gi.has(s))){e=dn(a,e),a=qh(2),s=ci(n,a,2),s!==null&&(Gh(a,s,n,e),ia(s,2),Nn(s));break}}n=n.return}}function Gu(e,n,a){var s=e.pingCache;if(s===null){s=e.pingCache=new cx;var f=new Set;s.set(n,f)}else f=s.get(n),f===void 0&&(f=new Set,s.set(n,f));f.has(a)||(Mu=!0,f.add(a),e=px.bind(null,e,n,a),n.then(e,e))}function px(e,n,a){var s=e.pingCache;s!==null&&s.delete(n),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,nt===e&&(He&a)===a&&(dt===4||dt===3&&(He&62914560)===He&&300>ie()-Jl?(Ke&2)===0&&Lr(e,0):zu|=a,zr===He&&(zr=0)),Nn(e)}function qm(e,n){n===0&&(n=Md()),e=Bi(e,n),e!==null&&(ia(e,n),Nn(e))}function gx(e){var n=e.memoizedState,a=0;n!==null&&(a=n.retryLane),qm(e,a)}function yx(e,n){var a=0;switch(e.tag){case 31:case 13:var s=e.stateNode,f=e.memoizedState;f!==null&&(a=f.retryLane);break;case 19:s=e.stateNode;break;case 22:s=e.stateNode._retryCache;break;default:throw Error(l(314))}s!==null&&s.delete(n),qm(e,a)}function vx(e,n){return Lt(e,n)}var as=null,Hr=null,$u=!1,ls=!1,Fu=!1,bi=0;function Nn(e){e!==Hr&&e.next===null&&(Hr===null?as=Hr=e:Hr=Hr.next=e),ls=!0,$u||($u=!0,xx())}function La(e,n){if(!Fu&&ls){Fu=!0;do for(var a=!1,s=as;s!==null;){if(e!==0){var f=s.pendingLanes;if(f===0)var m=0;else{var b=s.suspendedLanes,j=s.pingedLanes;m=(1<<31-Qe(42|e)+1)-1,m&=f&~(b&~j),m=m&201326741?m&201326741|1:m?m|2:0}m!==0&&(a=!0,Vm(s,m))}else m=He,m=cl(s,s===nt?m:0,s.cancelPendingCommit!==null||s.timeoutHandle!==-1),(m&3)===0||na(s,m)||(a=!0,Vm(s,m));s=s.next}while(a);Fu=!1}}function bx(){Gm()}function Gm(){ls=$u=!1;var e=0;bi!==0&&Ax()&&(e=bi);for(var n=ie(),a=null,s=as;s!==null;){var f=s.next,m=$m(s,n);m===0?(s.next=null,a===null?as=f:a.next=f,f===null&&(Hr=a)):(a=s,(e!==0||(m&3)!==0)&&(ls=!0)),s=f}wt!==0&&wt!==5||La(e),bi!==0&&(bi=0)}function $m(e,n){for(var a=e.suspendedLanes,s=e.pingedLanes,f=e.expirationTimes,m=e.pendingLanes&-62914561;0<m;){var b=31-Qe(m),j=1<<b,L=f[b];L===-1?((j&a)===0||(j&s)!==0)&&(f[b]=Pv(j,n)):L<=n&&(e.expiredLanes|=j),m&=~j}if(n=nt,a=He,a=cl(e,e===n?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),s=e.callbackNode,a===0||e===n&&(Ze===2||Ze===9)||e.cancelPendingCommit!==null)return s!==null&&s!==null&&Te(s),e.callbackNode=null,e.callbackPriority=0;if((a&3)===0||na(e,a)){if(n=a&-a,n===e.callbackPriority)return n;switch(s!==null&&Te(s),ro(a)){case 2:case 8:a=fe;break;case 32:a=be;break;case 268435456:a=Ne;break;default:a=be}return s=Fm.bind(null,e),a=Lt(a,s),e.callbackPriority=n,e.callbackNode=a,n}return s!==null&&s!==null&&Te(s),e.callbackPriority=2,e.callbackNode=null,2}function Fm(e,n){if(wt!==0&&wt!==5)return e.callbackNode=null,e.callbackPriority=0,null;var a=e.callbackNode;if(rs()&&e.callbackNode!==a)return null;var s=He;return s=cl(e,e===nt?s:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),s===0?null:(jm(e,s,n),$m(e,ie()),e.callbackNode!=null&&e.callbackNode===a?Fm.bind(null,e):null)}function Vm(e,n){if(rs())return null;jm(e,n,!0)}function xx(){Dx(function(){(Ke&6)!==0?Lt(ee,bx):Gm()})}function Vu(){if(bi===0){var e=Cr;e===0&&(e=Et,Et<<=1,(Et&261888)===0&&(Et=256)),bi=e}return bi}function Pm(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:ml(""+e)}function Ym(e,n){var a=n.ownerDocument.createElement("input");return a.name=n.name,a.value=n.value,e.id&&a.setAttribute("form",e.id),n.parentNode.insertBefore(a,n),e=new FormData(e),a.parentNode.removeChild(a),e}function Sx(e,n,a,s,f){if(n==="submit"&&a&&a.stateNode===f){var m=Pm((f[Ut]||null).action),b=s.submitter;b&&(n=(n=b[Ut]||null)?Pm(n.formAction):b.getAttribute("formAction"),n!==null&&(m=n,b=null));var j=new vl("action","action",null,s,f);e.push({event:j,listeners:[{instance:null,listener:function(){if(s.defaultPrevented){if(bi!==0){var L=b?Ym(f,b):new FormData(f);du(a,{pending:!0,data:L,method:f.method,action:m},null,L)}}else typeof m=="function"&&(j.preventDefault(),L=b?Ym(f,b):new FormData(f),du(a,{pending:!0,data:L,method:f.method,action:m},m,L))},currentTarget:f}]})}}for(var Pu=0;Pu<Eo.length;Pu++){var Yu=Eo[Pu],kx=Yu.toLowerCase(),wx=Yu[0].toUpperCase()+Yu.slice(1);bn(kx,"on"+wx)}bn(Cf,"onAnimationEnd"),bn(jf,"onAnimationIteration"),bn(Tf,"onAnimationStart"),bn("dblclick","onDoubleClick"),bn("focusin","onFocus"),bn("focusout","onBlur"),bn(Hb,"onTransitionRun"),bn(Ub,"onTransitionStart"),bn(qb,"onTransitionCancel"),bn(Rf,"onTransitionEnd"),cr("onMouseEnter",["mouseout","mouseover"]),cr("onMouseLeave",["mouseout","mouseover"]),cr("onPointerEnter",["pointerout","pointerover"]),cr("onPointerLeave",["pointerout","pointerover"]),Mi("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Mi("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Mi("onBeforeInput",["compositionend","keypress","textInput","paste"]),Mi("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Mi("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Mi("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ba="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(" "),Cx=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Ba));function Km(e,n){n=(n&4)!==0;for(var a=0;a<e.length;a++){var s=e[a],f=s.event;s=s.listeners;e:{var m=void 0;if(n)for(var b=s.length-1;0<=b;b--){var j=s[b],L=j.instance,Z=j.currentTarget;if(j=j.listener,L!==m&&f.isPropagationStopped())break e;m=j,f.currentTarget=Z;try{m(f)}catch(ae){Sl(ae)}f.currentTarget=null,m=L}else for(b=0;b<s.length;b++){if(j=s[b],L=j.instance,Z=j.currentTarget,j=j.listener,L!==m&&f.isPropagationStopped())break e;m=j,f.currentTarget=Z;try{m(f)}catch(ae){Sl(ae)}f.currentTarget=null,m=L}}}}function _e(e,n){var a=n[ao];a===void 0&&(a=n[ao]=new Set);var s=e+"__bubble";a.has(s)||(Xm(n,e,2,!1),a.add(s))}function Ku(e,n,a){var s=0;n&&(s|=4),Xm(a,e,s,n)}var ss="_reactListening"+Math.random().toString(36).slice(2);function Xu(e){if(!e[ss]){e[ss]=!0,qd.forEach(function(a){a!=="selectionchange"&&(Cx.has(a)||Ku(a,!1,e),Ku(a,!0,e))});var n=e.nodeType===9?e:e.ownerDocument;n===null||n[ss]||(n[ss]=!0,Ku("selectionchange",!1,n))}}function Xm(e,n,a,s){switch(Cp(n)){case 2:var f=Jx;break;case 8:f=Wx;break;default:f=cc}a=f.bind(null,n,a,e),f=void 0,!po||n!=="touchstart"&&n!=="touchmove"&&n!=="wheel"||(f=!0),s?f!==void 0?e.addEventListener(n,a,{capture:!0,passive:f}):e.addEventListener(n,a,!0):f!==void 0?e.addEventListener(n,a,{passive:f}):e.addEventListener(n,a,!1)}function Qu(e,n,a,s,f){var m=s;if((n&1)===0&&(n&2)===0&&s!==null)e:for(;;){if(s===null)return;var b=s.tag;if(b===3||b===4){var j=s.stateNode.containerInfo;if(j===f)break;if(b===4)for(b=s.return;b!==null;){var L=b.tag;if((L===3||L===4)&&b.stateNode.containerInfo===f)return;b=b.return}for(;j!==null;){if(b=sr(j),b===null)return;if(L=b.tag,L===5||L===6||L===26||L===27){s=m=b;continue e}j=j.parentNode}}s=s.return}Wd(function(){var Z=m,ae=ho(a),oe=[];e:{var J=Ef.get(e);if(J!==void 0){var ne=vl,ge=e;switch(e){case"keypress":if(gl(a)===0)break e;case"keydown":case"keyup":ne=yb;break;case"focusin":ge="focus",ne=bo;break;case"focusout":ge="blur",ne=bo;break;case"beforeblur":case"afterblur":ne=bo;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":ne=nf;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":ne=ab;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":ne=xb;break;case Cf:case jf:case Tf:ne=ob;break;case Rf:ne=kb;break;case"scroll":case"scrollend":ne=ib;break;case"wheel":ne=Cb;break;case"copy":case"cut":case"paste":ne=cb;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":ne=af;break;case"toggle":case"beforetoggle":ne=Tb}var we=(n&4)!==0,tt=!we&&(e==="scroll"||e==="scrollend"),P=we?J!==null?J+"Capture":null:J;we=[];for(var q=Z,Q;q!==null;){var se=q;if(Q=se.stateNode,se=se.tag,se!==5&&se!==26&&se!==27||Q===null||P===null||(se=la(q,P),se!=null&&we.push(Ha(q,se,Q))),tt)break;q=q.return}0<we.length&&(J=new ne(J,ge,null,a,ae),oe.push({event:J,listeners:we}))}}if((n&7)===0){e:{if(J=e==="mouseover"||e==="pointerover",ne=e==="mouseout"||e==="pointerout",J&&a!==fo&&(ge=a.relatedTarget||a.fromElement)&&(sr(ge)||ge[lr]))break e;if((ne||J)&&(J=ae.window===ae?ae:(J=ae.ownerDocument)?J.defaultView||J.parentWindow:window,ne?(ge=a.relatedTarget||a.toElement,ne=Z,ge=ge?sr(ge):null,ge!==null&&(tt=d(ge),we=ge.tag,ge!==tt||we!==5&&we!==27&&we!==6)&&(ge=null)):(ne=null,ge=Z),ne!==ge)){if(we=nf,se="onMouseLeave",P="onMouseEnter",q="mouse",(e==="pointerout"||e==="pointerover")&&(we=af,se="onPointerLeave",P="onPointerEnter",q="pointer"),tt=ne==null?J:aa(ne),Q=ge==null?J:aa(ge),J=new we(se,q+"leave",ne,a,ae),J.target=tt,J.relatedTarget=Q,se=null,sr(ae)===Z&&(we=new we(P,q+"enter",ge,a,ae),we.target=Q,we.relatedTarget=tt,se=we),tt=se,ne&&ge)t:{for(we=jx,P=ne,q=ge,Q=0,se=P;se;se=we(se))Q++;se=0;for(var xe=q;xe;xe=we(xe))se++;for(;0<Q-se;)P=we(P),Q--;for(;0<se-Q;)q=we(q),se--;for(;Q--;){if(P===q||q!==null&&P===q.alternate){we=P;break t}P=we(P),q=we(q)}we=null}else we=null;ne!==null&&Qm(oe,J,ne,we,!1),ge!==null&&tt!==null&&Qm(oe,tt,ge,we,!0)}}e:{if(J=Z?aa(Z):window,ne=J.nodeName&&J.nodeName.toLowerCase(),ne==="select"||ne==="input"&&J.type==="file")var Ve=hf;else if(df(J))if(mf)Ve=_b;else{Ve=Mb;var ve=Ob}else ne=J.nodeName,!ne||ne.toLowerCase()!=="input"||J.type!=="checkbox"&&J.type!=="radio"?Z&&co(Z.elementType)&&(Ve=hf):Ve=zb;if(Ve&&(Ve=Ve(e,Z))){ff(oe,Ve,a,ae);break e}ve&&ve(e,J,Z),e==="focusout"&&Z&&J.type==="number"&&Z.memoizedProps.value!=null&&uo(J,"number",J.value)}switch(ve=Z?aa(Z):window,e){case"focusin":(df(ve)||ve.contentEditable==="true")&&(gr=ve,jo=Z,ma=null);break;case"focusout":ma=jo=gr=null;break;case"mousedown":To=!0;break;case"contextmenu":case"mouseup":case"dragend":To=!1,kf(oe,a,ae);break;case"selectionchange":if(Bb)break;case"keydown":case"keyup":kf(oe,a,ae)}var Me;if(So)e:{switch(e){case"compositionstart":var Ue="onCompositionStart";break e;case"compositionend":Ue="onCompositionEnd";break e;case"compositionupdate":Ue="onCompositionUpdate";break e}Ue=void 0}else pr?uf(e,a)&&(Ue="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(Ue="onCompositionStart");Ue&&(lf&&a.locale!=="ko"&&(pr||Ue!=="onCompositionStart"?Ue==="onCompositionEnd"&&pr&&(Me=ef()):(ii=ae,go="value"in ii?ii.value:ii.textContent,pr=!0)),ve=os(Z,Ue),0<ve.length&&(Ue=new rf(Ue,e,null,a,ae),oe.push({event:Ue,listeners:ve}),Me?Ue.data=Me:(Me=cf(a),Me!==null&&(Ue.data=Me)))),(Me=Eb?Nb(e,a):Ab(e,a))&&(Ue=os(Z,"onBeforeInput"),0<Ue.length&&(ve=new rf("onBeforeInput","beforeinput",null,a,ae),oe.push({event:ve,listeners:Ue}),ve.data=Me)),Sx(oe,e,Z,a,ae)}Km(oe,n)})}function Ha(e,n,a){return{instance:e,listener:n,currentTarget:a}}function os(e,n){for(var a=n+"Capture",s=[];e!==null;){var f=e,m=f.stateNode;if(f=f.tag,f!==5&&f!==26&&f!==27||m===null||(f=la(e,a),f!=null&&s.unshift(Ha(e,f,m)),f=la(e,n),f!=null&&s.push(Ha(e,f,m))),e.tag===3)return s;e=e.return}return[]}function jx(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Qm(e,n,a,s,f){for(var m=n._reactName,b=[];a!==null&&a!==s;){var j=a,L=j.alternate,Z=j.stateNode;if(j=j.tag,L!==null&&L===s)break;j!==5&&j!==26&&j!==27||Z===null||(L=Z,f?(Z=la(a,m),Z!=null&&b.unshift(Ha(a,Z,L))):f||(Z=la(a,m),Z!=null&&b.push(Ha(a,Z,L)))),a=a.return}b.length!==0&&e.push({event:n,listeners:b})}var Tx=/\r\n?/g,Rx=/\u0000|\uFFFD/g;function Zm(e){return(typeof e=="string"?e:""+e).replace(Tx,`
9
+ `).replace(Rx,"")}function Jm(e,n){return n=Zm(n),Zm(e)===n}function et(e,n,a,s,f,m){switch(a){case"children":typeof s=="string"?n==="body"||n==="textarea"&&s===""||fr(e,s):(typeof s=="number"||typeof s=="bigint")&&n!=="body"&&fr(e,""+s);break;case"className":fl(e,"class",s);break;case"tabIndex":fl(e,"tabindex",s);break;case"dir":case"role":case"viewBox":case"width":case"height":fl(e,a,s);break;case"style":Zd(e,s,m);break;case"data":if(n!=="object"){fl(e,"data",s);break}case"src":case"href":if(s===""&&(n!=="a"||a!=="href")){e.removeAttribute(a);break}if(s==null||typeof s=="function"||typeof s=="symbol"||typeof s=="boolean"){e.removeAttribute(a);break}s=ml(""+s),e.setAttribute(a,s);break;case"action":case"formAction":if(typeof s=="function"){e.setAttribute(a,"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 m=="function"&&(a==="formAction"?(n!=="input"&&et(e,n,"name",f.name,f,null),et(e,n,"formEncType",f.formEncType,f,null),et(e,n,"formMethod",f.formMethod,f,null),et(e,n,"formTarget",f.formTarget,f,null)):(et(e,n,"encType",f.encType,f,null),et(e,n,"method",f.method,f,null),et(e,n,"target",f.target,f,null)));if(s==null||typeof s=="symbol"||typeof s=="boolean"){e.removeAttribute(a);break}s=ml(""+s),e.setAttribute(a,s);break;case"onClick":s!=null&&(e.onclick=zn);break;case"onScroll":s!=null&&_e("scroll",e);break;case"onScrollEnd":s!=null&&_e("scrollend",e);break;case"dangerouslySetInnerHTML":if(s!=null){if(typeof s!="object"||!("__html"in s))throw Error(l(61));if(a=s.__html,a!=null){if(f.children!=null)throw Error(l(60));e.innerHTML=a}}break;case"multiple":e.multiple=s&&typeof s!="function"&&typeof s!="symbol";break;case"muted":e.muted=s&&typeof s!="function"&&typeof s!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(s==null||typeof s=="function"||typeof s=="boolean"||typeof s=="symbol"){e.removeAttribute("xlink:href");break}a=ml(""+s),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":s!=null&&typeof s!="function"&&typeof s!="symbol"?e.setAttribute(a,""+s):e.removeAttribute(a);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":s&&typeof s!="function"&&typeof s!="symbol"?e.setAttribute(a,""):e.removeAttribute(a);break;case"capture":case"download":s===!0?e.setAttribute(a,""):s!==!1&&s!=null&&typeof s!="function"&&typeof s!="symbol"?e.setAttribute(a,s):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":s!=null&&typeof s!="function"&&typeof s!="symbol"&&!isNaN(s)&&1<=s?e.setAttribute(a,s):e.removeAttribute(a);break;case"rowSpan":case"start":s==null||typeof s=="function"||typeof s=="symbol"||isNaN(s)?e.removeAttribute(a):e.setAttribute(a,s);break;case"popover":_e("beforetoggle",e),_e("toggle",e),dl(e,"popover",s);break;case"xlinkActuate":Mn(e,"http://www.w3.org/1999/xlink","xlink:actuate",s);break;case"xlinkArcrole":Mn(e,"http://www.w3.org/1999/xlink","xlink:arcrole",s);break;case"xlinkRole":Mn(e,"http://www.w3.org/1999/xlink","xlink:role",s);break;case"xlinkShow":Mn(e,"http://www.w3.org/1999/xlink","xlink:show",s);break;case"xlinkTitle":Mn(e,"http://www.w3.org/1999/xlink","xlink:title",s);break;case"xlinkType":Mn(e,"http://www.w3.org/1999/xlink","xlink:type",s);break;case"xmlBase":Mn(e,"http://www.w3.org/XML/1998/namespace","xml:base",s);break;case"xmlLang":Mn(e,"http://www.w3.org/XML/1998/namespace","xml:lang",s);break;case"xmlSpace":Mn(e,"http://www.w3.org/XML/1998/namespace","xml:space",s);break;case"is":dl(e,"is",s);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=tb.get(a)||a,dl(e,a,s))}}function Zu(e,n,a,s,f,m){switch(a){case"style":Zd(e,s,m);break;case"dangerouslySetInnerHTML":if(s!=null){if(typeof s!="object"||!("__html"in s))throw Error(l(61));if(a=s.__html,a!=null){if(f.children!=null)throw Error(l(60));e.innerHTML=a}}break;case"children":typeof s=="string"?fr(e,s):(typeof s=="number"||typeof s=="bigint")&&fr(e,""+s);break;case"onScroll":s!=null&&_e("scroll",e);break;case"onScrollEnd":s!=null&&_e("scrollend",e);break;case"onClick":s!=null&&(e.onclick=zn);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Gd.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(f=a.endsWith("Capture"),n=a.slice(2,f?a.length-7:void 0),m=e[Ut]||null,m=m!=null?m[a]:null,typeof m=="function"&&e.removeEventListener(n,m,f),typeof s=="function")){typeof m!="function"&&m!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(n,s,f);break e}a in e?e[a]=s:s===!0?e.setAttribute(a,""):dl(e,a,s)}}}function Ot(e,n,a){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":_e("error",e),_e("load",e);var s=!1,f=!1,m;for(m in a)if(a.hasOwnProperty(m)){var b=a[m];if(b!=null)switch(m){case"src":s=!0;break;case"srcSet":f=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(l(137,n));default:et(e,n,m,b,a,null)}}f&&et(e,n,"srcSet",a.srcSet,a,null),s&&et(e,n,"src",a.src,a,null);return;case"input":_e("invalid",e);var j=m=b=f=null,L=null,Z=null;for(s in a)if(a.hasOwnProperty(s)){var ae=a[s];if(ae!=null)switch(s){case"name":f=ae;break;case"type":b=ae;break;case"checked":L=ae;break;case"defaultChecked":Z=ae;break;case"value":m=ae;break;case"defaultValue":j=ae;break;case"children":case"dangerouslySetInnerHTML":if(ae!=null)throw Error(l(137,n));break;default:et(e,n,s,ae,a,null)}}Yd(e,m,j,L,Z,b,f,!1);return;case"select":_e("invalid",e),s=b=m=null;for(f in a)if(a.hasOwnProperty(f)&&(j=a[f],j!=null))switch(f){case"value":m=j;break;case"defaultValue":b=j;break;case"multiple":s=j;default:et(e,n,f,j,a,null)}n=m,a=b,e.multiple=!!s,n!=null?dr(e,!!s,n,!1):a!=null&&dr(e,!!s,a,!0);return;case"textarea":_e("invalid",e),m=f=s=null;for(b in a)if(a.hasOwnProperty(b)&&(j=a[b],j!=null))switch(b){case"value":s=j;break;case"defaultValue":f=j;break;case"children":m=j;break;case"dangerouslySetInnerHTML":if(j!=null)throw Error(l(91));break;default:et(e,n,b,j,a,null)}Xd(e,s,f,m);return;case"option":for(L in a)a.hasOwnProperty(L)&&(s=a[L],s!=null)&&(L==="selected"?e.selected=s&&typeof s!="function"&&typeof s!="symbol":et(e,n,L,s,a,null));return;case"dialog":_e("beforetoggle",e),_e("toggle",e),_e("cancel",e),_e("close",e);break;case"iframe":case"object":_e("load",e);break;case"video":case"audio":for(s=0;s<Ba.length;s++)_e(Ba[s],e);break;case"image":_e("error",e),_e("load",e);break;case"details":_e("toggle",e);break;case"embed":case"source":case"link":_e("error",e),_e("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(Z in a)if(a.hasOwnProperty(Z)&&(s=a[Z],s!=null))switch(Z){case"children":case"dangerouslySetInnerHTML":throw Error(l(137,n));default:et(e,n,Z,s,a,null)}return;default:if(co(n)){for(ae in a)a.hasOwnProperty(ae)&&(s=a[ae],s!==void 0&&Zu(e,n,ae,s,a,void 0));return}}for(j in a)a.hasOwnProperty(j)&&(s=a[j],s!=null&&et(e,n,j,s,a,null))}function Ex(e,n,a,s){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var f=null,m=null,b=null,j=null,L=null,Z=null,ae=null;for(ne in a){var oe=a[ne];if(a.hasOwnProperty(ne)&&oe!=null)switch(ne){case"checked":break;case"value":break;case"defaultValue":L=oe;default:s.hasOwnProperty(ne)||et(e,n,ne,null,s,oe)}}for(var J in s){var ne=s[J];if(oe=a[J],s.hasOwnProperty(J)&&(ne!=null||oe!=null))switch(J){case"type":m=ne;break;case"name":f=ne;break;case"checked":Z=ne;break;case"defaultChecked":ae=ne;break;case"value":b=ne;break;case"defaultValue":j=ne;break;case"children":case"dangerouslySetInnerHTML":if(ne!=null)throw Error(l(137,n));break;default:ne!==oe&&et(e,n,J,ne,s,oe)}}oo(e,b,j,L,Z,ae,m,f);return;case"select":ne=b=j=J=null;for(m in a)if(L=a[m],a.hasOwnProperty(m)&&L!=null)switch(m){case"value":break;case"multiple":ne=L;default:s.hasOwnProperty(m)||et(e,n,m,null,s,L)}for(f in s)if(m=s[f],L=a[f],s.hasOwnProperty(f)&&(m!=null||L!=null))switch(f){case"value":J=m;break;case"defaultValue":j=m;break;case"multiple":b=m;default:m!==L&&et(e,n,f,m,s,L)}n=j,a=b,s=ne,J!=null?dr(e,!!a,J,!1):!!s!=!!a&&(n!=null?dr(e,!!a,n,!0):dr(e,!!a,a?[]:"",!1));return;case"textarea":ne=J=null;for(j in a)if(f=a[j],a.hasOwnProperty(j)&&f!=null&&!s.hasOwnProperty(j))switch(j){case"value":break;case"children":break;default:et(e,n,j,null,s,f)}for(b in s)if(f=s[b],m=a[b],s.hasOwnProperty(b)&&(f!=null||m!=null))switch(b){case"value":J=f;break;case"defaultValue":ne=f;break;case"children":break;case"dangerouslySetInnerHTML":if(f!=null)throw Error(l(91));break;default:f!==m&&et(e,n,b,f,s,m)}Kd(e,J,ne);return;case"option":for(var ge in a)J=a[ge],a.hasOwnProperty(ge)&&J!=null&&!s.hasOwnProperty(ge)&&(ge==="selected"?e.selected=!1:et(e,n,ge,null,s,J));for(L in s)J=s[L],ne=a[L],s.hasOwnProperty(L)&&J!==ne&&(J!=null||ne!=null)&&(L==="selected"?e.selected=J&&typeof J!="function"&&typeof J!="symbol":et(e,n,L,J,s,ne));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 we in a)J=a[we],a.hasOwnProperty(we)&&J!=null&&!s.hasOwnProperty(we)&&et(e,n,we,null,s,J);for(Z in s)if(J=s[Z],ne=a[Z],s.hasOwnProperty(Z)&&J!==ne&&(J!=null||ne!=null))switch(Z){case"children":case"dangerouslySetInnerHTML":if(J!=null)throw Error(l(137,n));break;default:et(e,n,Z,J,s,ne)}return;default:if(co(n)){for(var tt in a)J=a[tt],a.hasOwnProperty(tt)&&J!==void 0&&!s.hasOwnProperty(tt)&&Zu(e,n,tt,void 0,s,J);for(ae in s)J=s[ae],ne=a[ae],!s.hasOwnProperty(ae)||J===ne||J===void 0&&ne===void 0||Zu(e,n,ae,J,s,ne);return}}for(var P in a)J=a[P],a.hasOwnProperty(P)&&J!=null&&!s.hasOwnProperty(P)&&et(e,n,P,null,s,J);for(oe in s)J=s[oe],ne=a[oe],!s.hasOwnProperty(oe)||J===ne||J==null&&ne==null||et(e,n,oe,J,s,ne)}function Wm(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function Nx(){if(typeof performance.getEntriesByType=="function"){for(var e=0,n=0,a=performance.getEntriesByType("resource"),s=0;s<a.length;s++){var f=a[s],m=f.transferSize,b=f.initiatorType,j=f.duration;if(m&&j&&Wm(b)){for(b=0,j=f.responseEnd,s+=1;s<a.length;s++){var L=a[s],Z=L.startTime;if(Z>j)break;var ae=L.transferSize,oe=L.initiatorType;ae&&Wm(oe)&&(L=L.responseEnd,b+=ae*(L<j?1:(j-Z)/(L-Z)))}if(--s,n+=8*(m+b)/(f.duration/1e3),e++,10<e)break}}if(0<e)return n/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var Ju=null,Wu=null;function us(e){return e.nodeType===9?e:e.ownerDocument}function ep(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 tp(e,n){if(e===0)switch(n){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&n==="foreignObject"?0:e}function ec(e,n){return e==="textarea"||e==="noscript"||typeof n.children=="string"||typeof n.children=="number"||typeof n.children=="bigint"||typeof n.dangerouslySetInnerHTML=="object"&&n.dangerouslySetInnerHTML!==null&&n.dangerouslySetInnerHTML.__html!=null}var tc=null;function Ax(){var e=window.event;return e&&e.type==="popstate"?e===tc?!1:(tc=e,!0):(tc=null,!1)}var np=typeof setTimeout=="function"?setTimeout:void 0,Ix=typeof clearTimeout=="function"?clearTimeout:void 0,ip=typeof Promise=="function"?Promise:void 0,Dx=typeof queueMicrotask=="function"?queueMicrotask:typeof ip<"u"?function(e){return ip.resolve(null).then(e).catch(Ox)}:np;function Ox(e){setTimeout(function(){throw e})}function xi(e){return e==="head"}function rp(e,n){var a=n,s=0;do{var f=a.nextSibling;if(e.removeChild(a),f&&f.nodeType===8)if(a=f.data,a==="/$"||a==="/&"){if(s===0){e.removeChild(f),$r(n);return}s--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")s++;else if(a==="html")Ua(e.ownerDocument.documentElement);else if(a==="head"){a=e.ownerDocument.head,Ua(a);for(var m=a.firstChild;m;){var b=m.nextSibling,j=m.nodeName;m[ra]||j==="SCRIPT"||j==="STYLE"||j==="LINK"&&m.rel.toLowerCase()==="stylesheet"||a.removeChild(m),m=b}}else a==="body"&&Ua(e.ownerDocument.body);a=f}while(a);$r(n)}function ap(e,n){var a=e;e=0;do{var s=a.nextSibling;if(a.nodeType===1?n?(a._stashedDisplay=a.style.display,a.style.display="none"):(a.style.display=a._stashedDisplay||"",a.getAttribute("style")===""&&a.removeAttribute("style")):a.nodeType===3&&(n?(a._stashedText=a.nodeValue,a.nodeValue=""):a.nodeValue=a._stashedText||""),s&&s.nodeType===8)if(a=s.data,a==="/$"){if(e===0)break;e--}else a!=="$"&&a!=="$?"&&a!=="$~"&&a!=="$!"||e++;a=s}while(a)}function nc(e){var n=e.firstChild;for(n&&n.nodeType===10&&(n=n.nextSibling);n;){var a=n;switch(n=n.nextSibling,a.nodeName){case"HTML":case"HEAD":case"BODY":nc(a),lo(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function Mx(e,n,a,s){for(;e.nodeType===1;){var f=a;if(e.nodeName.toLowerCase()!==n.toLowerCase()){if(!s&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(s){if(!e[ra])switch(n){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(m=e.getAttribute("rel"),m==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(m!==f.rel||e.getAttribute("href")!==(f.href==null||f.href===""?null:f.href)||e.getAttribute("crossorigin")!==(f.crossOrigin==null?null:f.crossOrigin)||e.getAttribute("title")!==(f.title==null?null:f.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(m=e.getAttribute("src"),(m!==(f.src==null?null:f.src)||e.getAttribute("type")!==(f.type==null?null:f.type)||e.getAttribute("crossorigin")!==(f.crossOrigin==null?null:f.crossOrigin))&&m&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(n==="input"&&e.type==="hidden"){var m=f.name==null?null:""+f.name;if(f.type==="hidden"&&e.getAttribute("name")===m)return e}else return e;if(e=gn(e.nextSibling),e===null)break}return null}function zx(e,n,a){if(n==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=gn(e.nextSibling),e===null))return null;return e}function lp(e,n){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=gn(e.nextSibling),e===null))return null;return e}function ic(e){return e.data==="$?"||e.data==="$~"}function rc(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function _x(e,n){var a=e.ownerDocument;if(e.data==="$~")e._reactRetry=n;else if(e.data!=="$?"||a.readyState!=="loading")n();else{var s=function(){n(),a.removeEventListener("DOMContentLoaded",s)};a.addEventListener("DOMContentLoaded",s),e._reactRetry=s}}function gn(e){for(;e!=null;e=e.nextSibling){var n=e.nodeType;if(n===1||n===3)break;if(n===8){if(n=e.data,n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"||n==="F!"||n==="F")break;if(n==="/$"||n==="/&")return null}}return e}var ac=null;function sp(e){e=e.nextSibling;for(var n=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"||a==="/&"){if(n===0)return gn(e.nextSibling);n--}else a!=="$"&&a!=="$!"&&a!=="$?"&&a!=="$~"&&a!=="&"||n++}e=e.nextSibling}return null}function op(e){e=e.previousSibling;for(var n=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"){if(n===0)return e;n--}else a!=="/$"&&a!=="/&"||n++}e=e.previousSibling}return null}function up(e,n,a){switch(n=us(a),e){case"html":if(e=n.documentElement,!e)throw Error(l(452));return e;case"head":if(e=n.head,!e)throw Error(l(453));return e;case"body":if(e=n.body,!e)throw Error(l(454));return e;default:throw Error(l(451))}}function Ua(e){for(var n=e.attributes;n.length;)e.removeAttributeNode(n[0]);lo(e)}var yn=new Map,cp=new Set;function cs(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Zn=U.d;U.d={f:Lx,r:Bx,D:Hx,C:Ux,L:qx,m:Gx,X:Fx,S:$x,M:Vx};function Lx(){var e=Zn.f(),n=ts();return e||n}function Bx(e){var n=or(e);n!==null&&n.tag===5&&n.type==="form"?Rh(n):Zn.r(e)}var Ur=typeof document>"u"?null:document;function dp(e,n,a){var s=Ur;if(s&&typeof n=="string"&&n){var f=un(n);f='link[rel="'+e+'"][href="'+f+'"]',typeof a=="string"&&(f+='[crossorigin="'+a+'"]'),cp.has(f)||(cp.add(f),e={rel:e,crossOrigin:a,href:n},s.querySelector(f)===null&&(n=s.createElement("link"),Ot(n,"link",e),jt(n),s.head.appendChild(n)))}}function Hx(e){Zn.D(e),dp("dns-prefetch",e,null)}function Ux(e,n){Zn.C(e,n),dp("preconnect",e,n)}function qx(e,n,a){Zn.L(e,n,a);var s=Ur;if(s&&e&&n){var f='link[rel="preload"][as="'+un(n)+'"]';n==="image"&&a&&a.imageSrcSet?(f+='[imagesrcset="'+un(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(f+='[imagesizes="'+un(a.imageSizes)+'"]')):f+='[href="'+un(e)+'"]';var m=f;switch(n){case"style":m=qr(e);break;case"script":m=Gr(e)}yn.has(m)||(e=y({rel:"preload",href:n==="image"&&a&&a.imageSrcSet?void 0:e,as:n},a),yn.set(m,e),s.querySelector(f)!==null||n==="style"&&s.querySelector(qa(m))||n==="script"&&s.querySelector(Ga(m))||(n=s.createElement("link"),Ot(n,"link",e),jt(n),s.head.appendChild(n)))}}function Gx(e,n){Zn.m(e,n);var a=Ur;if(a&&e){var s=n&&typeof n.as=="string"?n.as:"script",f='link[rel="modulepreload"][as="'+un(s)+'"][href="'+un(e)+'"]',m=f;switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":m=Gr(e)}if(!yn.has(m)&&(e=y({rel:"modulepreload",href:e},n),yn.set(m,e),a.querySelector(f)===null)){switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Ga(m)))return}s=a.createElement("link"),Ot(s,"link",e),jt(s),a.head.appendChild(s)}}}function $x(e,n,a){Zn.S(e,n,a);var s=Ur;if(s&&e){var f=ur(s).hoistableStyles,m=qr(e);n=n||"default";var b=f.get(m);if(!b){var j={loading:0,preload:null};if(b=s.querySelector(qa(m)))j.loading=5;else{e=y({rel:"stylesheet",href:e,"data-precedence":n},a),(a=yn.get(m))&&lc(e,a);var L=b=s.createElement("link");jt(L),Ot(L,"link",e),L._p=new Promise(function(Z,ae){L.onload=Z,L.onerror=ae}),L.addEventListener("load",function(){j.loading|=1}),L.addEventListener("error",function(){j.loading|=2}),j.loading|=4,ds(b,n,s)}b={type:"stylesheet",instance:b,count:1,state:j},f.set(m,b)}}}function Fx(e,n){Zn.X(e,n);var a=Ur;if(a&&e){var s=ur(a).hoistableScripts,f=Gr(e),m=s.get(f);m||(m=a.querySelector(Ga(f)),m||(e=y({src:e,async:!0},n),(n=yn.get(f))&&sc(e,n),m=a.createElement("script"),jt(m),Ot(m,"link",e),a.head.appendChild(m)),m={type:"script",instance:m,count:1,state:null},s.set(f,m))}}function Vx(e,n){Zn.M(e,n);var a=Ur;if(a&&e){var s=ur(a).hoistableScripts,f=Gr(e),m=s.get(f);m||(m=a.querySelector(Ga(f)),m||(e=y({src:e,async:!0,type:"module"},n),(n=yn.get(f))&&sc(e,n),m=a.createElement("script"),jt(m),Ot(m,"link",e),a.head.appendChild(m)),m={type:"script",instance:m,count:1,state:null},s.set(f,m))}}function fp(e,n,a,s){var f=(f=Y.current)?cs(f):null;if(!f)throw Error(l(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(n=qr(a.href),a=ur(f).hoistableStyles,s=a.get(n),s||(s={type:"style",instance:null,count:0,state:null},a.set(n,s)),s):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=qr(a.href);var m=ur(f).hoistableStyles,b=m.get(e);if(b||(f=f.ownerDocument||f,b={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},m.set(e,b),(m=f.querySelector(qa(e)))&&!m._p&&(b.instance=m,b.state.loading=5),yn.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},yn.set(e,a),m||Px(f,e,a,b.state))),n&&s===null)throw Error(l(528,""));return b}if(n&&s!==null)throw Error(l(529,""));return null;case"script":return n=a.async,a=a.src,typeof a=="string"&&n&&typeof n!="function"&&typeof n!="symbol"?(n=Gr(a),a=ur(f).hoistableScripts,s=a.get(n),s||(s={type:"script",instance:null,count:0,state:null},a.set(n,s)),s):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,e))}}function qr(e){return'href="'+un(e)+'"'}function qa(e){return'link[rel="stylesheet"]['+e+"]"}function hp(e){return y({},e,{"data-precedence":e.precedence,precedence:null})}function Px(e,n,a,s){e.querySelector('link[rel="preload"][as="style"]['+n+"]")?s.loading=1:(n=e.createElement("link"),s.preload=n,n.addEventListener("load",function(){return s.loading|=1}),n.addEventListener("error",function(){return s.loading|=2}),Ot(n,"link",a),jt(n),e.head.appendChild(n))}function Gr(e){return'[src="'+un(e)+'"]'}function Ga(e){return"script[async]"+e}function mp(e,n,a){if(n.count++,n.instance===null)switch(n.type){case"style":var s=e.querySelector('style[data-href~="'+un(a.href)+'"]');if(s)return n.instance=s,jt(s),s;var f=y({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return s=(e.ownerDocument||e).createElement("style"),jt(s),Ot(s,"style",f),ds(s,a.precedence,e),n.instance=s;case"stylesheet":f=qr(a.href);var m=e.querySelector(qa(f));if(m)return n.state.loading|=4,n.instance=m,jt(m),m;s=hp(a),(f=yn.get(f))&&lc(s,f),m=(e.ownerDocument||e).createElement("link"),jt(m);var b=m;return b._p=new Promise(function(j,L){b.onload=j,b.onerror=L}),Ot(m,"link",s),n.state.loading|=4,ds(m,a.precedence,e),n.instance=m;case"script":return m=Gr(a.src),(f=e.querySelector(Ga(m)))?(n.instance=f,jt(f),f):(s=a,(f=yn.get(m))&&(s=y({},a),sc(s,f)),e=e.ownerDocument||e,f=e.createElement("script"),jt(f),Ot(f,"link",s),e.head.appendChild(f),n.instance=f);case"void":return null;default:throw Error(l(443,n.type))}else n.type==="stylesheet"&&(n.state.loading&4)===0&&(s=n.instance,n.state.loading|=4,ds(s,a.precedence,e));return n.instance}function ds(e,n,a){for(var s=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),f=s.length?s[s.length-1]:null,m=f,b=0;b<s.length;b++){var j=s[b];if(j.dataset.precedence===n)m=j;else if(m!==f)break}m?m.parentNode.insertBefore(e,m.nextSibling):(n=a.nodeType===9?a.head:a,n.insertBefore(e,n.firstChild))}function lc(e,n){e.crossOrigin==null&&(e.crossOrigin=n.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=n.referrerPolicy),e.title==null&&(e.title=n.title)}function sc(e,n){e.crossOrigin==null&&(e.crossOrigin=n.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=n.referrerPolicy),e.integrity==null&&(e.integrity=n.integrity)}var fs=null;function pp(e,n,a){if(fs===null){var s=new Map,f=fs=new Map;f.set(a,s)}else f=fs,s=f.get(a),s||(s=new Map,f.set(a,s));if(s.has(e))return s;for(s.set(e,null),a=a.getElementsByTagName(e),f=0;f<a.length;f++){var m=a[f];if(!(m[ra]||m[Nt]||e==="link"&&m.getAttribute("rel")==="stylesheet")&&m.namespaceURI!=="http://www.w3.org/2000/svg"){var b=m.getAttribute(n)||"";b=e+b;var j=s.get(b);j?j.push(m):s.set(b,[m])}}return s}function gp(e,n,a){e=e.ownerDocument||e,e.head.insertBefore(a,n==="title"?e.querySelector("head > title"):null)}function Yx(e,n,a){if(a===1||n.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof n.precedence!="string"||typeof n.href!="string"||n.href==="")break;return!0;case"link":if(typeof n.rel!="string"||typeof n.href!="string"||n.href===""||n.onLoad||n.onError)break;return n.rel==="stylesheet"?(e=n.disabled,typeof n.precedence=="string"&&e==null):!0;case"script":if(n.async&&typeof n.async!="function"&&typeof n.async!="symbol"&&!n.onLoad&&!n.onError&&n.src&&typeof n.src=="string")return!0}return!1}function yp(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Kx(e,n,a,s){if(a.type==="stylesheet"&&(typeof s.media!="string"||matchMedia(s.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var f=qr(s.href),m=n.querySelector(qa(f));if(m){n=m._p,n!==null&&typeof n=="object"&&typeof n.then=="function"&&(e.count++,e=hs.bind(e),n.then(e,e)),a.state.loading|=4,a.instance=m,jt(m);return}m=n.ownerDocument||n,s=hp(s),(f=yn.get(f))&&lc(s,f),m=m.createElement("link"),jt(m);var b=m;b._p=new Promise(function(j,L){b.onload=j,b.onerror=L}),Ot(m,"link",s),a.instance=m}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,n),(n=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=hs.bind(e),n.addEventListener("load",a),n.addEventListener("error",a))}}var oc=0;function Xx(e,n){return e.stylesheets&&e.count===0&&ps(e,e.stylesheets),0<e.count||0<e.imgCount?function(a){var s=setTimeout(function(){if(e.stylesheets&&ps(e,e.stylesheets),e.unsuspend){var m=e.unsuspend;e.unsuspend=null,m()}},6e4+n);0<e.imgBytes&&oc===0&&(oc=62500*Nx());var f=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&ps(e,e.stylesheets),e.unsuspend)){var m=e.unsuspend;e.unsuspend=null,m()}},(e.imgBytes>oc?50:800)+n);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(s),clearTimeout(f)}}:null}function hs(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)ps(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var ms=null;function ps(e,n){e.stylesheets=null,e.unsuspend!==null&&(e.count++,ms=new Map,n.forEach(Qx,e),ms=null,hs.call(e))}function Qx(e,n){if(!(n.state.loading&4)){var a=ms.get(e);if(a)var s=a.get(null);else{a=new Map,ms.set(e,a);for(var f=e.querySelectorAll("link[data-precedence],style[data-precedence]"),m=0;m<f.length;m++){var b=f[m];(b.nodeName==="LINK"||b.getAttribute("media")!=="not all")&&(a.set(b.dataset.precedence,b),s=b)}s&&a.set(null,s)}f=n.instance,b=f.getAttribute("data-precedence"),m=a.get(b)||s,m===s&&a.set(null,f),a.set(b,f),this.count++,s=hs.bind(this),f.addEventListener("load",s),f.addEventListener("error",s),m?m.parentNode.insertBefore(f,m.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(f,e.firstChild)),n.state.loading|=4}}var $a={$$typeof:A,Provider:null,Consumer:null,_currentValue:_,_currentValue2:_,_threadCount:0};function Zx(e,n,a,s,f,m,b,j,L){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=no(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=no(0),this.hiddenUpdates=no(null),this.identifierPrefix=s,this.onUncaughtError=f,this.onCaughtError=m,this.onRecoverableError=b,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=L,this.incompleteTransitions=new Map}function vp(e,n,a,s,f,m,b,j,L,Z,ae,oe){return e=new Zx(e,n,a,b,L,Z,ae,oe,j),n=1,m===!0&&(n|=24),m=Jt(3,null,null,n),e.current=m,m.stateNode=e,n=qo(),n.refCount++,e.pooledCache=n,n.refCount++,m.memoizedState={element:s,isDehydrated:a,cache:n},Vo(m),e}function bp(e){return e?(e=br,e):br}function xp(e,n,a,s,f,m){f=bp(f),s.context===null?s.context=f:s.pendingContext=f,s=ui(n),s.payload={element:a},m=m===void 0?null:m,m!==null&&(s.callback=m),a=ci(e,s,n),a!==null&&(Pt(a,e,n),Sa(a,e,n))}function Sp(e,n){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<n?a:n}}function uc(e,n){Sp(e,n),(e=e.alternate)&&Sp(e,n)}function kp(e){if(e.tag===13||e.tag===31){var n=Bi(e,67108864);n!==null&&Pt(n,e,67108864),uc(e,67108864)}}function wp(e){if(e.tag===13||e.tag===31){var n=rn();n=io(n);var a=Bi(e,n);a!==null&&Pt(a,e,n),uc(e,n)}}var gs=!0;function Jx(e,n,a,s){var f=O.T;O.T=null;var m=U.p;try{U.p=2,cc(e,n,a,s)}finally{U.p=m,O.T=f}}function Wx(e,n,a,s){var f=O.T;O.T=null;var m=U.p;try{U.p=8,cc(e,n,a,s)}finally{U.p=m,O.T=f}}function cc(e,n,a,s){if(gs){var f=dc(s);if(f===null)Qu(e,n,s,ys,a),jp(e,s);else if(t1(f,e,n,a,s))s.stopPropagation();else if(jp(e,s),n&4&&-1<e1.indexOf(e)){for(;f!==null;){var m=or(f);if(m!==null)switch(m.tag){case 3:if(m=m.stateNode,m.current.memoizedState.isDehydrated){var b=Oi(m.pendingLanes);if(b!==0){var j=m;for(j.pendingLanes|=2,j.entangledLanes|=2;b;){var L=1<<31-Qe(b);j.entanglements[1]|=L,b&=~L}Nn(m),(Ke&6)===0&&(Wl=ie()+500,La(0))}}break;case 31:case 13:j=Bi(m,2),j!==null&&Pt(j,m,2),ts(),uc(m,2)}if(m=dc(s),m===null&&Qu(e,n,s,ys,a),m===f)break;f=m}f!==null&&s.stopPropagation()}else Qu(e,n,s,null,a)}}function dc(e){return e=ho(e),fc(e)}var ys=null;function fc(e){if(ys=null,e=sr(e),e!==null){var n=d(e);if(n===null)e=null;else{var a=n.tag;if(a===13){if(e=u(n),e!==null)return e;e=null}else if(a===31){if(e=h(n),e!==null)return e;e=null}else if(a===3){if(n.stateNode.current.memoizedState.isDehydrated)return n.tag===3?n.stateNode.containerInfo:null;e=null}else n!==e&&(e=null)}}return ys=e,null}function Cp(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(je()){case ee:return 2;case fe:return 8;case be:case Re:return 32;case Ne:return 268435456;default:return 32}default:return 32}}var hc=!1,Si=null,ki=null,wi=null,Fa=new Map,Va=new Map,Ci=[],e1="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 jp(e,n){switch(e){case"focusin":case"focusout":Si=null;break;case"dragenter":case"dragleave":ki=null;break;case"mouseover":case"mouseout":wi=null;break;case"pointerover":case"pointerout":Fa.delete(n.pointerId);break;case"gotpointercapture":case"lostpointercapture":Va.delete(n.pointerId)}}function Pa(e,n,a,s,f,m){return e===null||e.nativeEvent!==m?(e={blockedOn:n,domEventName:a,eventSystemFlags:s,nativeEvent:m,targetContainers:[f]},n!==null&&(n=or(n),n!==null&&kp(n)),e):(e.eventSystemFlags|=s,n=e.targetContainers,f!==null&&n.indexOf(f)===-1&&n.push(f),e)}function t1(e,n,a,s,f){switch(n){case"focusin":return Si=Pa(Si,e,n,a,s,f),!0;case"dragenter":return ki=Pa(ki,e,n,a,s,f),!0;case"mouseover":return wi=Pa(wi,e,n,a,s,f),!0;case"pointerover":var m=f.pointerId;return Fa.set(m,Pa(Fa.get(m)||null,e,n,a,s,f)),!0;case"gotpointercapture":return m=f.pointerId,Va.set(m,Pa(Va.get(m)||null,e,n,a,s,f)),!0}return!1}function Tp(e){var n=sr(e.target);if(n!==null){var a=d(n);if(a!==null){if(n=a.tag,n===13){if(n=u(a),n!==null){e.blockedOn=n,Hd(e.priority,function(){wp(a)});return}}else if(n===31){if(n=h(a),n!==null){e.blockedOn=n,Hd(e.priority,function(){wp(a)});return}}else if(n===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function vs(e){if(e.blockedOn!==null)return!1;for(var n=e.targetContainers;0<n.length;){var a=dc(e.nativeEvent);if(a===null){a=e.nativeEvent;var s=new a.constructor(a.type,a);fo=s,a.target.dispatchEvent(s),fo=null}else return n=or(a),n!==null&&kp(n),e.blockedOn=a,!1;n.shift()}return!0}function Rp(e,n,a){vs(e)&&a.delete(n)}function n1(){hc=!1,Si!==null&&vs(Si)&&(Si=null),ki!==null&&vs(ki)&&(ki=null),wi!==null&&vs(wi)&&(wi=null),Fa.forEach(Rp),Va.forEach(Rp)}function bs(e,n){e.blockedOn===n&&(e.blockedOn=null,hc||(hc=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,n1)))}var xs=null;function Ep(e){xs!==e&&(xs=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){xs===e&&(xs=null);for(var n=0;n<e.length;n+=3){var a=e[n],s=e[n+1],f=e[n+2];if(typeof s!="function"){if(fc(s||a)===null)continue;break}var m=or(a);m!==null&&(e.splice(n,3),n-=3,du(m,{pending:!0,data:f,method:a.method,action:s},s,f))}}))}function $r(e){function n(L){return bs(L,e)}Si!==null&&bs(Si,e),ki!==null&&bs(ki,e),wi!==null&&bs(wi,e),Fa.forEach(n),Va.forEach(n);for(var a=0;a<Ci.length;a++){var s=Ci[a];s.blockedOn===e&&(s.blockedOn=null)}for(;0<Ci.length&&(a=Ci[0],a.blockedOn===null);)Tp(a),a.blockedOn===null&&Ci.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(s=0;s<a.length;s+=3){var f=a[s],m=a[s+1],b=f[Ut]||null;if(typeof m=="function")b||Ep(a);else if(b){var j=null;if(m&&m.hasAttribute("formAction")){if(f=m,b=m[Ut]||null)j=b.formAction;else if(fc(f)!==null)continue}else j=b.action;typeof j=="function"?a[s+1]=j:(a.splice(s,3),s-=3),Ep(a)}}}function Np(){function e(m){m.canIntercept&&m.info==="react-transition"&&m.intercept({handler:function(){return new Promise(function(b){return f=b})},focusReset:"manual",scroll:"manual"})}function n(){f!==null&&(f(),f=null),s||setTimeout(a,20)}function a(){if(!s&&!navigation.transition){var m=navigation.currentEntry;m&&m.url!=null&&navigation.navigate(m.url,{state:m.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var s=!1,f=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",n),navigation.addEventListener("navigateerror",n),setTimeout(a,100),function(){s=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",n),navigation.removeEventListener("navigateerror",n),f!==null&&(f(),f=null)}}}function mc(e){this._internalRoot=e}Ss.prototype.render=mc.prototype.render=function(e){var n=this._internalRoot;if(n===null)throw Error(l(409));var a=n.current,s=rn();xp(a,s,e,n,null,null)},Ss.prototype.unmount=mc.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var n=e.containerInfo;xp(e.current,2,null,e,null,null),ts(),n[lr]=null}};function Ss(e){this._internalRoot=e}Ss.prototype.unstable_scheduleHydration=function(e){if(e){var n=Bd();e={blockedOn:null,target:e,priority:n};for(var a=0;a<Ci.length&&n!==0&&n<Ci[a].priority;a++);Ci.splice(a,0,e),a===0&&Tp(e)}};var Ap=i.version;if(Ap!=="19.2.8")throw Error(l(527,Ap,"19.2.8"));U.findDOMNode=function(e){var n=e._reactInternals;if(n===void 0)throw typeof e.render=="function"?Error(l(188)):(e=Object.keys(e).join(","),Error(l(268,e)));return e=p(n),e=e!==null?v(e):null,e=e===null?null:e.stateNode,e};var i1={bundleType:0,version:"19.2.8",rendererPackageName:"react-dom",currentDispatcherRef:O,reconcilerVersion:"19.2.8"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var ks=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ks.isDisabled&&ks.supportsFiber)try{Ie=ks.inject(i1),Ee=ks}catch{}}return Ka.createRoot=function(e,n){if(!o(e))throw Error(l(299));var a=!1,s="",f=Lh,m=Bh,b=Hh;return n!=null&&(n.unstable_strictMode===!0&&(a=!0),n.identifierPrefix!==void 0&&(s=n.identifierPrefix),n.onUncaughtError!==void 0&&(f=n.onUncaughtError),n.onCaughtError!==void 0&&(m=n.onCaughtError),n.onRecoverableError!==void 0&&(b=n.onRecoverableError)),n=vp(e,1,!1,null,null,a,s,null,f,m,b,Np),e[lr]=n.current,Xu(e),new mc(n)},Ka.hydrateRoot=function(e,n,a){if(!o(e))throw Error(l(299));var s=!1,f="",m=Lh,b=Bh,j=Hh,L=null;return a!=null&&(a.unstable_strictMode===!0&&(s=!0),a.identifierPrefix!==void 0&&(f=a.identifierPrefix),a.onUncaughtError!==void 0&&(m=a.onUncaughtError),a.onCaughtError!==void 0&&(b=a.onCaughtError),a.onRecoverableError!==void 0&&(j=a.onRecoverableError),a.formState!==void 0&&(L=a.formState)),n=vp(e,1,!0,n,a??null,s,f,L,m,b,j,Np),n.context=bp(null),a=n.current,s=rn(),s=io(s),f=ui(s),f.callback=null,ci(a,f,s),a=s,n.current.lanes=a,ia(n,a),Nn(n),e[lr]=n.current,Xu(e),new Ss(n)},Ka.version="19.2.8",Ka}var Up;function f1(){if(Up)return yc.exports;Up=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(i){console.error(i)}}return t(),yc.exports=d1(),yc.exports}var h1=f1();function Zi(t){if(t==null)return null;if(typeof t=="string")return t.trim()||null;if(typeof t=="number"||typeof t=="boolean")return String(t);if(typeof t=="object"){const i=t;if(typeof i.text=="string"&&i.text.trim())return i.text.trim();if(typeof i.errorMessage=="string"&&i.errorMessage.trim())return i.errorMessage.trim();if(Array.isArray(i.content)){const r=i.content.map(l=>{if(typeof l=="string")return l;if(l&&typeof l=="object"){const o=l;if(typeof o.text=="string")return o.text}return""}).filter(Boolean);if(r.length)return r.join(`
10
+ `).slice(0,240)}if(typeof i.role=="string")return`${i.role} 消息`}return null}function m1(t){const i=Zi(t.at)??Zi(t.timestamp)??Zi(t.recordedAt)??"",r=Zi(t.errorMessage)??Zi(t.label)??Zi(t.type)??Zi(t.message)??"运行事件";return i?`${i} · ${r}`:r}function el(t){return String(t.nodeId??t.id??"").trim()}function Sc(t){const i=el(t);return String(t.label??t.name??(i||"未命名节点"))}function qp(t,i){if(t.length===0)return;const r=i?.trim();if(r){const d=t.find(u=>el(u)===r);if(d)return d}const l=t.find(d=>{const u=String(d.status??"").toLowerCase();return u.includes("fail")||u.includes("error")||u==="blocked"});return l||(t.find(d=>{const u=String(d.status??"").toLowerCase();return u==="running"||u==="in_progress"||u==="active"})??t[0])}function p1({dagRunId:t,nodeId:i,onClose:r,onOpenFull:l}){const o=k.useRef(null),[d,u]=k.useState(null),[h,g]=k.useState([]),[p,v]=k.useState(null),[y,S]=k.useState(!0);k.useEffect(()=>{o.current?.focus();const R=N=>{N.key==="Escape"&&r()};return document.addEventListener("keydown",R),document.title=`检视 · DAG ${t} · Loop Operator`,()=>document.removeEventListener("keydown",R)},[t,r]),k.useEffect(()=>{const R=new AbortController;return S(!0),v(null),g([]),(async()=>{try{const N=await fetch(`/api/dag-runs/${encodeURIComponent(t)}`,{signal:R.signal,credentials:"same-origin"});if(!N.ok)throw new Error(`DAG 查询失败(HTTP ${N.status})`);const A=await N.json();if(R.signal.aborted)return;u(A);const G=Array.isArray(A.nodes)?A.nodes:[],K=qp(G,i),E=K?el(K):i?.trim();if(E){const $=await fetch(`/api/dag-runs/${encodeURIComponent(t)}/nodes/${encodeURIComponent(E)}/session-events`,{signal:R.signal,credentials:"same-origin"});if($.ok){const te=await $.json();R.signal.aborted||g((te.events??[]).slice(-20))}}}catch(N){R.signal.aborted||v(N instanceof Error?N.message:String(N))}finally{R.signal.aborted||S(!1)}})(),()=>R.abort()},[t,i]);const x=k.useMemo(()=>Array.isArray(d?.nodes)?d.nodes:[],[d]),C=qp(x,i),I=C?el(C):"",H=String(d?.effectiveStatus??d?.status??(y?"加载中…":"未知"));return c.jsxs("aside",{className:"inspect-split-panel","aria-label":"DAG 紧凑检视",children:[c.jsxs("div",{className:"inspect-split-header",children:[c.jsxs("div",{children:[c.jsx("p",{className:"inspect-split-kicker",children:"Inspect"}),c.jsx("h2",{children:"检视 DAG"})]}),c.jsx("button",{ref:o,type:"button","aria-label":"关闭检视面板",onClick:r,children:"关闭"})]}),c.jsx("p",{className:"inspect-split-id",children:c.jsx("code",{children:t})}),p?c.jsx("p",{className:"error",children:p}):null,y&&!d?c.jsx("p",{className:"muted",children:"正在加载 DAG…"}):null,c.jsxs("dl",{className:"inspect-split-facts",children:[c.jsxs("div",{children:[c.jsx("dt",{children:"状态"}),c.jsx("dd",{children:H})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"当前节点"}),c.jsx("dd",{children:C?Sc(C):"暂无节点"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"节点状态"}),c.jsx("dd",{children:C?.status??"—"})]}),C?.errorPreview?c.jsxs("div",{children:[c.jsx("dt",{children:"错误摘要"}),c.jsx("dd",{children:C.errorPreview})]}):null]}),c.jsxs("section",{children:[c.jsxs("h3",{children:["节点(",x.length,")"]}),x.length?c.jsx("ul",{className:"inspect-split-nodes",children:x.slice(0,24).map(R=>{const N=el(R)||Sc(R),A=N===I;return c.jsxs("li",{"data-active":A?"true":void 0,className:A?"is-active":void 0,children:[c.jsx("span",{children:Sc(R)}),c.jsx("code",{children:R.status??"—"})]},N)})}):c.jsx("p",{className:"muted",children:y?"加载节点中…":"该运行暂无节点。"})]}),c.jsxs("section",{children:[c.jsxs("h3",{children:["最近事件",I?` · ${I}`:""]}),h.length?c.jsx("ul",{className:"inspect-split-events",children:h.map((R,N)=>c.jsx("li",{children:m1(R)},`${R.at??N}-${N}`))}):c.jsx("p",{className:"muted",children:y?"加载事件中…":"节点事件将在可用时显示。"})]}),c.jsx("button",{type:"button",className:"btn btn-secondary",onClick:l,children:"全屏观测"}),c.jsx("p",{className:"muted",children:"全屏后点顶栏「返回操作台」可回来。"})]})}function g1(t){const{board:i,busy:r}=t;return c.jsxs("details",{className:"night-advanced","data-testid":"night-advanced",open:i.advancedOpen,onToggle:l=>i.setAdvancedOpen(l.target.open),children:[c.jsx("summary",{children:"高级 / Inspect"}),c.jsxs("p",{className:"muted",children:["只读深链:"," ",c.jsx("a",{className:"external-link",href:"/inspect/#/night",children:"/inspect/#/night"})]}),c.jsx("div",{className:"cta-row",children:c.jsx("button",{type:"button",className:"btn btn-secondary",disabled:r,"data-testid":"night-morning-btn",onClick:()=>{i.onMorningReport()},children:"早晨 night 报告"})}),i.morningPreview?c.jsx("pre",{className:"cmd","data-testid":"night-morning-preview",children:i.morningPreview}):null]})}function ws(t){return!t||typeof t!="object"||Array.isArray(t)?null:t}function gt(t,i){const r=t[i];return typeof r=="string"&&r.trim()?r.trim():void 0}function Gp(t,i){const r=t[i];if(!Array.isArray(r))return;const l=r.filter(o=>typeof o=="string");return l.length>0?l:void 0}function y1(t){const i=ws(t);if(!i)return null;const r=ws(i.result),l=[ws(i.reviewPacket),r?ws(r.reviewPacket):null,r,i].filter(Boolean);for(const o of l){const d=gt(o,"scheduleId")??gt(o,"id"),u=gt(o,"gateToken")??gt(o,"approveGate")??gt(o,"writeSetGateToken");if(!(!d||!u))return{scheduleId:d,gateToken:u,...gt(o,"featureId")?{featureId:gt(o,"featureId")}:{},...gt(o,"taskId")?{taskId:gt(o,"taskId")}:{},...Gp(o,"writeSet")?{writeSet:Gp(o,"writeSet")}:{},...gt(o,"worktreePath")?{worktreePath:gt(o,"worktreePath")}:{},...gt(o,"branch")?{branch:gt(o,"branch")}:{},...gt(o,"baseBranch")?{baseBranch:gt(o,"baseBranch")}:{},...gt(o,"baseCommit")?{baseCommit:gt(o,"baseCommit")}:{},...gt(o,"executeAtUtc")?{executeAtUtc:gt(o,"executeAtUtc")}:{},...gt(o,"taskCard")?{taskCard:gt(o,"taskCard")}:{}}}return null}function $p(t){return`docs/features/${t.trim().replace(/^\/+|\/+$/g,"")}`}function v1(t){const i=t.trim(),r=/^(\d{4}-\d{2}-\d{2})[T ](\d{2}:\d{2})/.exec(i);return r?`${r[1]} ${r[2]}`:null}function Fp(){const t=new Date;t.setHours(20,0,0,0);const i=r=>String(r).padStart(2,"0");return`${t.getFullYear()}-${i(t.getMonth()+1)}-${i(t.getDate())}T${i(t.getHours())}:${i(t.getMinutes())}`}function ay(t){if(!t)return"—";const i=Date.parse(t);if(Number.isNaN(i))return t;try{return new Intl.DateTimeFormat("zh-CN",{dateStyle:"short",timeStyle:"short",timeZone:"Asia/Shanghai"}).format(new Date(i))}catch{return t}}function b1(t){return t.mergeState==="pending-harvest"||/\bscheduler harvest\b/i.test(t.nextAction)}function x1(t){return t.status==="failed"||t.status==="human_required"||t.status==="cancelled"||/\bscheduler discard\b/i.test(t.nextAction)}function Is(t){return t==="failed"||t==="human_required"}function S1(t){return`${t}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}function ly(t){return{submitted:"已提交",validating:"校验中",validated:"待预约确认",scheduled:"已预约",waiting:"等待触发",dispatching:"派发中",running:"执行中",succeeded:"成功",failed:"失败",human_required:"需人工",cancelled:"已取消",rejected:"已拒绝",cancel_requested:"取消中"}[t]??t}function k1(t){const{target:i,reason:r,onReasonChange:l,force:o,onForceChange:d,busy:u}=t;return c.jsxs("div",{className:"night-discard-card","data-testid":"night-discard-card",children:[c.jsx("h3",{children:"确认 Discard"}),c.jsxs("p",{className:"muted",children:[i.featureId,"/",i.taskId,"(",ly(i.status),")"]}),c.jsxs("label",{className:"field",children:[c.jsx("span",{className:"muted",children:"原因"}),c.jsx("input",{"data-testid":"night-discard-reason",value:r,disabled:u,placeholder:"human discard reason",onChange:h=>l(h.target.value)})]}),Is(i.status)?c.jsxs("label",{className:"field checkbox-field",children:[c.jsx("input",{type:"checkbox","data-testid":"night-discard-force",checked:o,disabled:u,onChange:h=>d(h.target.checked)}),c.jsx("span",{className:"muted",children:"强制 Discard(failed / human_required)"})]}):null,c.jsxs("div",{className:"cta-row",children:[c.jsx("button",{type:"button",className:"btn btn-primary",disabled:u||Is(i.status)&&!o,"data-testid":"night-discard-confirm",onClick:t.onConfirm,children:"确认 Discard"}),c.jsx("button",{type:"button",className:"btn btn-secondary",disabled:u,onClick:t.onCancel,children:"返回"})]})]})}function w1(t){const{board:i}=t,{doctor:r,list:l,clockHint:o,doctorIssues:d,auxTicker:u}=i;return c.jsxs("div",{className:"night-health","data-testid":"night-health-bar",children:[c.jsxs("div",{className:"night-health-main",children:[c.jsx("span",{className:`night-health-pill${r?.ok===!1?" is-bad":""}`,children:r?.ok===!1?"Scheduler 异常":"Scheduler 健康"}),c.jsxs("span",{className:"muted",children:["计划 ",r?.scheduleCount??l?.summary.total??"—"," · 活动"," ",r?.activeCount??l?.summary.active??"—"]})]}),o?c.jsxs("p",{className:"muted night-health-hint","data-testid":"night-clock-hint",children:["时钟:",o.message,"(安装/启停请用 CLI:",c.jsx("code",{children:"agent-worker scheduler clock status --repo ."}),")"]}):c.jsxs("p",{className:"muted night-health-hint",children:["到点执行依赖本机 clock / tick,不在此面板安装。详见"," ",c.jsx("a",{className:"external-link",href:"/inspect/#/night",children:"/inspect/#/night"})]}),c.jsxs("div",{className:"night-aux-ticker","data-testid":"night-aux-ticker",children:[c.jsxs("p",{className:"night-aux-ticker-label",children:["开着 Console 时辅助 tick(每 ",u?.intervalSec??60,"s)"]}),c.jsx("p",{className:"muted night-health-hint","data-testid":"night-aux-ticker-disclaimer",children:u?.disclaimer??"仅在本 Console 进程开着时有效;过夜无人值守仍需 OS clock。"}),u?.lastOutcome?c.jsxs("p",{className:"muted","data-testid":"night-aux-ticker-last",children:["上次:",u.lastOutcome,u.running?"(进行中)":"",u.lastSummary?` · ${u.lastSummary}`:"",u.lastError?` · ${u.lastError}`:""]}):null]}),d.length>0?c.jsx("ul",{className:"night-doctor-list","data-testid":"night-doctor-findings",children:d.slice(0,4).map(h=>c.jsxs("li",{children:[c.jsx("strong",{children:h.severity})," ",h.message]},`${h.code}-${h.scheduleId??""}-${h.message}`))}):null]})}function C1(t){const{board:i,busy:r,onHarvest:l,onOpenDiscard:o}=t,{list:d}=i;return c.jsxs(c.Fragment,{children:[d?c.jsxs("div",{className:"night-kpi","data-testid":"night-kpi",children:[c.jsxs("span",{children:["合计 ",d.summary.total]}),c.jsxs("span",{children:["活动 ",d.summary.active]}),c.jsxs("span",{children:["待收成 ",d.summary.pendingHarvest]}),c.jsxs("span",{children:["需人工 ",d.summary.humanRequired]}),c.jsxs("span",{children:["失败 ",d.summary.failed]})]}):null,c.jsxs("div",{className:"night-board","data-testid":"night-board",children:[c.jsx("h3",{children:"计划列表"}),!d||d.schedules.length===0?c.jsxs("div",{className:"empty-state","data-testid":"night-board-empty",children:[c.jsx("p",{className:"empty-title",children:"暂无夜间计划"}),c.jsx("p",{className:"muted",children:"用下方向导预约第一个任务。"})]}):c.jsx("ul",{className:"night-schedule-list",children:d.schedules.map(u=>c.jsxs("li",{className:"night-schedule-row","data-testid":"night-schedule-row","data-status":u.status,children:[c.jsxs("div",{className:"night-schedule-head",children:[c.jsxs("strong",{children:[u.featureId,"/",u.taskId]}),c.jsx("span",{className:"night-status-chip",children:ly(u.status)})]}),c.jsxs("p",{className:"muted",children:["执行 ",ay(u.executeAtUtc),u.mergeState?` · merge ${u.mergeState}`:"",u.taskCard?` · ${u.taskCard}`:""]}),u.waitingReason?c.jsxs("p",{className:"muted",children:["等待原因:",u.waitingReason]}):null,c.jsxs("p",{className:"muted night-next-action",children:["下一步:",u.nextAction]}),c.jsxs("div",{className:"cta-row",children:[b1(u)?c.jsx("button",{type:"button",className:"btn btn-primary",disabled:r,"data-testid":"night-row-harvest",onClick:()=>l(u),children:"Harvest"}):null,x1(u)?c.jsx("button",{type:"button",className:"btn btn-secondary",disabled:r,"data-testid":"night-row-discard",onClick:()=>o(u),children:"Discard"}):null,c.jsx("a",{className:"external-link",href:`/inspect/#/night/${encodeURIComponent(u.scheduleId)}`,children:"Inspect"})]})]},u.scheduleId))})]})]})}function j1(t){const{wizard:i,busy:r}=t;return c.jsxs("div",{className:"night-wizard","data-testid":"night-wizard",children:[c.jsx("h3",{children:"预约夜间任务"}),i.phase==="pick"?c.jsxs(c.Fragment,{children:[i.selectableTasks.length===0?c.jsxs("div",{className:"empty-state","data-testid":"night-task-empty",children:[c.jsx("p",{className:"empty-title",children:"没有可选任务"}),c.jsx("p",{className:"muted",children:"请先在 Feature Packet / Task Pool 中创建任务,再回到此处刷新。"})]}):c.jsxs("label",{className:"field",children:[c.jsx("span",{className:"muted",children:"Feature / Task"}),c.jsxs("select",{"data-testid":"night-task-select",value:i.selectedKey,disabled:r,onChange:l=>i.setSelectedKey(l.target.value),children:[c.jsx("option",{value:"",children:"选择任务…"}),i.selectableTasks.map(l=>{const o=`${l.featureId}::${l.taskId}`;return c.jsxs("option",{value:o,children:[l.featureId,"/",l.taskId,l.status?` · ${l.status}`:""]},o)})]})]}),i.derivedFeatureDir?c.jsxs("p",{className:"muted","data-testid":"night-feature-dir",children:["Feature 目录:",c.jsx("code",{children:i.derivedFeatureDir})]}):null,c.jsxs("label",{className:"field",children:[c.jsx("span",{className:"muted",children:"本地执行时间"}),c.jsx("input",{type:"datetime-local","data-testid":"night-at",value:i.nightAt,disabled:r,onChange:l=>i.setNightAt(l.target.value)})]}),c.jsxs("label",{className:"field",children:[c.jsx("span",{className:"muted",children:"任务卡片(可选)"}),c.jsx("input",{"data-testid":"night-task-card",value:i.taskCard,disabled:r,placeholder:"UCP-LOOP#11",onChange:l=>i.setTaskCard(l.target.value)})]}),c.jsx("div",{className:"cta-row",children:c.jsx("button",{type:"button",className:"btn btn-primary",disabled:r||!i.selectedKey||!i.nightAt,"data-testid":"night-prepare-btn",onClick:()=>{i.onPrepare()},children:"准备并审阅"})})]}):c.jsxs("div",{className:"night-review-card","data-testid":"night-review-card",children:[c.jsx("p",{className:"muted",children:"请确认 writeSet 与执行环境后预约。Token 已隐藏。"}),c.jsxs("dl",{className:"kv",children:[c.jsxs("div",{children:[c.jsx("dt",{children:"Schedule"}),c.jsx("dd",{children:c.jsx("code",{children:i.review?.scheduleId})})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"任务"}),c.jsxs("dd",{children:[i.review?.featureId,"/",i.review?.taskId]})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"执行时间 (UTC)"}),c.jsx("dd",{children:ay(i.review?.executeAtUtc)})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"Worktree"}),c.jsx("dd",{children:c.jsx("code",{children:i.review?.worktreePath??"—"})})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"分支"}),c.jsx("dd",{children:c.jsx("code",{children:i.review?.branch??"—"})})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"Base"}),c.jsx("dd",{children:c.jsxs("code",{children:[i.review?.baseBranch??"—","@",(i.review?.baseCommit??"").slice(0,12)||"—"]})})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"WriteSet"}),c.jsx("dd",{children:i.review?.writeSet&&i.review.writeSet.length>0?c.jsx("ul",{className:"night-writeset",children:i.review.writeSet.map(l=>c.jsx("li",{children:c.jsx("code",{children:l})},l))}):c.jsx("span",{className:"muted",children:"(未返回显式 writeSet)"})})]})]}),c.jsxs("div",{className:"cta-row",children:[c.jsx("button",{type:"button",className:"btn btn-primary",disabled:r||!i.review,"data-testid":"night-confirm-add-btn",onClick:()=>{i.onConfirmAdd()},children:"确认预约"}),c.jsx("button",{type:"button",className:"btn btn-secondary",disabled:r,"data-testid":"night-review-back-btn",onClick:i.onCancelWizard,children:"返回修改"})]})]})]})}function T1(t){const{setOpError:i}=t,[r,l]=k.useState(null),[o,d]=k.useState(null),[u,h]=k.useState([]),[g,p]=k.useState(null),[v,y]=k.useState(!1),[S,x]=k.useState(!1),[C,I]=k.useState(null),[H,R]=k.useState(null),N=k.useCallback(async()=>{y(!0),p(null);try{const[E,$,te,ue]=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(!E.ok)throw new Error(`加载计划列表失败(HTTP ${E.status})`);const z=await E.json();if(l(z),$.ok?d(await $.json()):d(null),te.ok){const F=await te.json();h(Array.isArray(F)?F:[])}else h([]);if(ue.ok){const F=await ue.json();F.ticker&&R(F.ticker)}}catch(E){p(E instanceof Error?E.message:String(E))}finally{y(!1)}},[]);k.useEffect(()=>{N()},[N]);const A=k.useCallback(async()=>{try{const E=await fetch("/api/night-jobs/morning",{credentials:"same-origin"});if(!E.ok){i(`早晨报告加载失败(HTTP ${E.status})`);return}const $=await E.json();I(JSON.stringify($,null,2).slice(0,4e3)),x(!0)}catch(E){i(E instanceof Error?E.message:String(E))}},[i]),G=(o?.findings??[]).filter(E=>E.severity==="error"||E.severity==="warning"),K=(o?.findings??[]).find(E=>/clock/i.test(E.code)||/clock/i.test(E.message));return{list:r,doctor:o,tasks:u,loadError:g,loadingBoard:v,advancedOpen:S,setAdvancedOpen:x,morningPreview:C,auxTicker:H,refreshBoard:N,onMorningReport:A,doctorIssues:G,clockHint:K}}function R1(t){const{board:i,runAction:r,isActionSuccess:l,setOpError:o}=t,{tasks:d,refreshBoard:u}=i,[h,g]=k.useState("pick"),[p,v]=k.useState(""),[y,S]=k.useState(Fp),[x,C]=k.useState(""),[I,H]=k.useState(null),[R,N]=k.useState(""),[A,G]=k.useState(null),[K,E]=k.useState(!1),$=k.useMemo(()=>{const U=d.filter(_=>typeof _.featureId=="string"&&_.featureId.trim()&&_.taskId);return U.sort((_,W)=>{const T=_.featureId??"",D=W.featureId??"";return T!==D?T.localeCompare(D):_.taskId.localeCompare(W.taskId)}),U},[d]),te=k.useMemo(()=>p?$.find(U=>`${U.featureId}::${U.taskId}`===p)??null:null,[$,p]),ue=te?.featureId?$p(te.featureId):"",z=k.useCallback(async(U,_,W)=>{const T=await r("prepareMutationGate",{action:U,actionParams:_});if(!l(T))return;const D=T?.result??T,M=D.receiptId?D:D.result??D;if(!M.receiptId||!M.humanGateToken){o("prepareMutationGate 未返回可消费的 Human Gate receipt");return}return r(U,{..._,confirmationId:M.receiptId,humanGateToken:M.humanGateToken},{clientRequestId:S1(W)})},[l,r,o]),F=k.useCallback(async()=>{if(!te?.featureId){o("请先点选 Feature / Task");return}const U=v1(y);if(!U){o("执行时间格式无效,请使用日期时间选择器");return}const _={featureDir:$p(te.featureId),taskId:te.taskId,at:U,tz:"Asia/Shanghai",...x.trim()?{taskCard:x.trim()}:{}},W=await z("workerAdmissionPrepare",_,"night-prepare");if(!l(W))return;const T=y1(W?.result??W);if(!T){o("准备成功但未解析到 scheduleId / gateToken。请刷新后重试,或查看 Inspect。");return}H(T),g("review")},[l,y,z,te,o,x]),V=k.useCallback(async()=>{if(!I)return;const U=await z("workerSchedulerAdd",{scheduleId:I.scheduleId,approveGate:I.gateToken},"night-add");l(U)&&(H(null),g("pick"),v(""),C(""),S(Fp()),await u())},[l,u,I,z]),le=k.useCallback(()=>{g("pick"),H(null)},[]),X=k.useCallback(async U=>{const _=await z("workerSchedulerHarvest",{scheduleId:U.scheduleId},"night-harvest");l(_)&&await u()},[l,u,z]),B=k.useCallback(async()=>{if(!A)return;const U=R.trim()||"discard from console night workbench",_=Is(A.status),W=await z("workerSchedulerDiscard",{scheduleId:A.scheduleId,reason:U,..._||K?{force:!0}:{}},"night-discard");l(W)&&(G(null),N(""),E(!1),await u())},[R,A,K,l,u,z]),O=k.useCallback(U=>{G(U),E(Is(U.status)),N("")},[]);return{phase:h,selectedKey:p,setSelectedKey:v,nightAt:y,setNightAt:S,taskCard:x,setTaskCard:C,review:I,discardReason:R,setDiscardReason:N,discardTarget:A,setDiscardTarget:G,forceDiscard:K,setForceDiscard:E,selectableTasks:$,derivedFeatureDir:ue,onPrepare:F,onConfirmAdd:V,onCancelWizard:le,onHarvest:X,onDiscard:B,openDiscard:O}}function E1({busy:t,runAction:i,isActionSuccess:r,setOpError:l}){const o=T1({setOpError:l}),d=R1({board:o,runAction:i,isActionSuccess:r,setOpError:l});return c.jsxs("section",{className:"panel night-workbench","aria-labelledby":"night-title","data-testid":"night-jobs-panel",children:[c.jsx("h2",{id:"night-title",children:"夜间任务"}),c.jsx("p",{className:"panel-lead",children:"白天点选任务并预约;列表查看状态;早晨在行内收成或丢弃。写操作仍经 Human Gate,列表复用 Inspect 投影。"}),c.jsx(w1,{board:o,busy:t}),c.jsx("div",{className:"cta-row",children:c.jsx("button",{type:"button",className:"btn btn-secondary",disabled:t||o.loadingBoard,"data-testid":"night-refresh-btn",onClick:()=>{o.refreshBoard()},children:"刷新看板"})}),o.loadError?c.jsx("p",{className:"error","data-testid":"night-load-error",children:o.loadError}):null,c.jsx(C1,{board:o,busy:t,onHarvest:u=>{d.onHarvest(u)},onOpenDiscard:d.openDiscard}),d.discardTarget?c.jsx(k1,{target:d.discardTarget,reason:d.discardReason,onReasonChange:d.setDiscardReason,force:d.forceDiscard,onForceChange:d.setForceDiscard,busy:t,onConfirm:()=>{d.onDiscard()},onCancel:()=>d.setDiscardTarget(null)}):null,c.jsx(j1,{wizard:d,busy:t}),c.jsx(g1,{board:o,busy:t})]})}var N1=ry();const A1=({color:t="currentColor",size:i=24,className:r,...l})=>Ai.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:i,height:i,fill:t,...l,className:"remixicon "+(r||"")},Ai.createElement("path",{d:"M3 10H2V4.00293C2 3.44903 2.45531 3 2.9918 3H21.0082C21.556 3 22 3.43788 22 4.00293V10H21V20.0015C21 20.553 20.5551 21 20.0066 21H3.9934C3.44476 21 3 20.5525 3 20.0015V10ZM19 10H5V19H19V10ZM4 5V8H20V5H4ZM9 12H15V14H9V12Z"})),I1=({color:t="currentColor",size:i=24,className:r,...l})=>Ai.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:i,height:i,fill:t,...l,className:"remixicon "+(r||"")},Ai.createElement("path",{d:"M17 6H22V8H20V21C20 21.5523 19.5523 22 19 22H5C4.44772 22 4 21.5523 4 21V8H2V6H7V3C7 2.44772 7.44772 2 8 2H16C16.5523 2 17 2.44772 17 3V6ZM18 8H6V20H18V8ZM9 11H11V17H9V11ZM13 11H15V17H13V11ZM9 4V6H15V4H9Z"})),D1=({color:t="currentColor",size:i=24,className:r,...l})=>Ai.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:i,height:i,fill:t,...l,className:"remixicon "+(r||"")},Ai.createElement("path",{d:"M6.41421 15.89L16.5563 5.74785L15.1421 4.33363L5 14.4758V15.89H6.41421ZM7.24264 17.89H3V13.6473L14.435 2.21231C14.8256 1.82179 15.4587 1.82179 15.8492 2.21231L18.6777 5.04074C19.0682 5.43126 19.0682 6.06443 18.6777 6.45495L7.24264 17.89ZM3 19.89H21V21.89H3V19.89Z"})),O1=({color:t="currentColor",size:i=24,className:r,...l})=>Ai.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:i,height:i,fill:t,...l,className:"remixicon "+(r||"")},Ai.createElement("path",{d:"M12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12H4C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C9.25022 4 6.82447 5.38734 5.38451 7.50024L8 7.5V9.5H2V3.5H4L3.99989 5.99918C5.82434 3.57075 8.72873 2 12 2ZM13 7L12.9998 11.585L16.2426 14.8284L14.8284 16.2426L10.9998 12.413L11 7H13Z"})),M1=["command","query","operation","tool","server","symbol","path","file_path","filePath","pattern","glob","url"],z1=120,_1=800;function Ds(t){if(!(!t||typeof t!="object"||Array.isArray(t)))return t}function L1(t){if(t!=null){if(typeof t=="string"){const i=t.trim();if(!i)return;try{return Ds(JSON.parse(i))}catch{return}}return Ds(t)}}function Wn(t,i){const r=t.replace(/\s+/g," ").trim();return r?r.length>i?`${r.slice(0,i)}…`:r:""}function Ct(t,i){const r=t[i];if(typeof r=="string"&&r.trim())return r.trim();if(typeof r=="number"&&Number.isFinite(r))return String(r)}function B1(t,i,r){const l=(t??"").toLowerCase();if(l==="bash"||l==="shell"){const o=Ct(i,"command");return o?Wn(o,r):void 0}if(l==="mcp"||l.startsWith("mcp_")){const o=Ct(i,"server"),d=Ct(i,"tool")??Ct(i,"name"),u=Ct(i,"query");return o&&d?Wn(`${o} · ${d}`,r):d?Wn(d,r):u?Wn(u,r):o?Wn(o,r):void 0}if(l==="lsp_navigation"||l.includes("lsp")){const o=[Ct(i,"operation"),Ct(i,"symbol"),Ct(i,"path")??Ct(i,"file_path")??Ct(i,"filePath")].filter(Boolean),d=Ct(i,"line")??Ct(i,"position");if(o.length===0&&!d)return;const u=o.join(" · ");return Wn(d?`${u}${u?":":""}${d}`:u,r)}if(l==="symbol_search"||l.includes("symbol_search")){const o=Ct(i,"query")??Ct(i,"symbol");return o?Wn(o,r):void 0}if(l==="read"||l==="read_symbol"||l==="read_enclosing"||l.startsWith("read_")){const o=Ct(i,"path")??Ct(i,"file_path")??Ct(i,"filePath"),d=Ct(i,"symbol"),u=Ct(i,"line");if(!o&&!d)return;const h=[o,d,u].filter(Boolean);return Wn(h.join(" · "),r)}}function H1(t,i){const r=i?.maxLen??z1,l=L1(t);if(!l){if(typeof t=="string"){const g=t.replace(/\s+/g," ").trim();return!g||g==="{}"?"":g.length>r?`${g.slice(0,r)}…`:g}return""}const o=B1(i?.toolName,l,r);if(o)return o;for(const g of M1){const p=l[g];if(typeof p=="string"&&p.trim())return Wn(p,r)}const d=Object.keys(l);if(d.length===0)return"";const u=l[d[0]],h=String(u??"").replace(/\s+/g," ").trim();return h?h.length>r?`${h.slice(0,r)}…`:h:""}function U1(t){const i=(t??"").toLowerCase();return i==="bash"||i==="shell"?{argsLabel:"命令",resultLabel:"输出"}:i==="mcp"||i.startsWith("mcp_")?{argsLabel:"参数",resultLabel:"结果"}:{argsLabel:"入参",resultLabel:"结果"}}function sy(t){if(t==null)return"";if(typeof t=="string"){const l=t.trim();if(!l)return"";if(l.startsWith("{")&&l.endsWith("}")||l.startsWith("[")&&l.endsWith("]"))try{return sy(JSON.parse(l))}catch{return t}return t}if(typeof t=="number"||typeof t=="boolean")return String(t);const i=Ds(t);if(!i)try{return JSON.stringify(t,null,2)}catch{return String(t)}const r=i.content;if(Array.isArray(r)){const l=[];for(const o of r){const d=Ds(o);d&&(d.type==="text"&&typeof d.text=="string"||typeof d.text=="string")&&l.push(d.text)}if(l.length>0)return l.join(`
11
+ `)}if(typeof i.text=="string")return i.text;if(typeof i.output=="string")return i.output;if(typeof i.message=="string")return i.message;try{return JSON.stringify(t,null,2)}catch{return String(t)}}function q1(t){if(t==null)return"";try{return typeof t=="string"?t:JSON.stringify(t,null,2)}catch{return String(t)}}function G1(t,i){if(t===void 0)return{text:"",truncated:!1};const r=i?.maxLen??_1;return t.length<=r?{text:t,truncated:!1}:{text:`${t.slice(0,r)}…`,truncated:!0}}function $1(t,i){if(i===void 0||!Number.isFinite(t)||!Number.isFinite(i))return;const r=Math.round((i-t)/1e3);return r>0?r:void 0}function Kt(){return window.__CONSOLE_CONFIRMATION_TOKEN__??""}function Pr(t){return`${t}-${Math.random().toString(36).slice(2,10)}`}function kc(t,i){return new Promise((r,l)=>{if(i?.aborted){l(new DOMException("Aborted","AbortError"));return}const o=setTimeout(()=>{i?.removeEventListener("abort",d),r()},t),d=()=>{clearTimeout(o),l(new DOMException("Aborted","AbortError"))};i?.addEventListener("abort",d)})}function oy(t){return new Date(t).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function wc(t){const i=new Date(t),r=new Date;return i.getFullYear()===r.getFullYear()&&i.getMonth()===r.getMonth()&&i.getDate()===r.getDate()?"今天":i.toLocaleDateString([],{month:"long",day:"numeric"})}function F1(t,i){return t?t.taskId===i.taskId&&t.updatedAt===i.updatedAt&&t.lastEventId===i.lastEventId&&t.operations.length===i.operations.length:!1}const uy={status:"idle",snapshot:null,error:null,reloading:!1,reloadError:null,mutationBusy:!1,mutationToken:null};function cd(t){if(!t||typeof t!="object")return{message:"runtime snapshot request failed"};const i=t,r=i.error;if(r&&typeof r=="object"){const l=r;return{...typeof l.code=="string"&&l.code?{code:l.code}:{},...typeof i.status=="number"?{status:i.status}:{},message:typeof l.message=="string"&&l.message?l.message:"runtime snapshot request failed"}}return{...typeof i.status=="number"?{status:i.status}:{},message:typeof i=="object"&&"message"in i&&typeof i.message=="string"&&i.message?i.message:"runtime snapshot request failed"}}function V1(t,i){switch(i.type){case"load-start":return{...t,sessionId:i.sessionId,status:"loading",error:null};case"load-success":return t.snapshot&&t.sessionId===i.sessionId&&i.snapshot.revision<t.snapshot.revision?t:{...t,sessionId:i.sessionId,status:"ready",snapshot:i.snapshot,error:null,reloadError:null,reloading:!1};case"load-failure":return{...t,sessionId:i.sessionId,status:"error",error:i.error,snapshot:null};case"reload-start":return t.reloading?t:{...t,reloading:!0,reloadError:null,...t.status==="error"?{error:null}:{}};case"reload-success":return{...t,status:"ready",snapshot:i.snapshot,reloading:!1,reloadError:null,error:null,sessionId:i.snapshot.sessionId||t.sessionId};case"reload-failure":return{...t,reloading:!1,reloadError:i.error};case"mutation-start":return{...t,mutationBusy:!0,mutationToken:i.token};case"mutation-adopt":return t.mutationToken!==i.token||t.sessionId!==void 0&&t.sessionId!==i.sessionId||t.snapshot&&i.snapshot.revision<t.snapshot.revision?t:{...t,sessionId:i.sessionId,status:"ready",snapshot:i.snapshot,error:null,reloadError:null,reloading:!1};case"mutation-settle":return t.mutationToken!==i.token?t:{...t,mutationBusy:!1,mutationToken:null};case"mutation-reset":return{...t,mutationBusy:!1,mutationToken:null};case"reset":return{...uy};default:return t}}function cy(t){const i=t.selection;return{...i.model?{model:{provider:i.model.provider,modelId:i.model.id}}:{},...i.thinkingSelection==="auto"?i.effectiveThinkingLevel?{thinkingLevel:i.effectiveThinkingLevel}:{}:{thinkingLevel:i.thinkingSelection}}}function P1(t,i,r,l){const o=r&&r.sessionId===l?cy(r):{},d=o.model??t?.model,u=o.thinkingLevel??t?.thinkingLevel;return{readOnly:i.readOnly,systemPrompt:i.systemPrompt,resources:i.resources,suffix:i.suffix,...d?{model:d}:{},...u?{thinkingLevel:u}:{}}}function Y1(t=uy){let i=t;const r=new Set;return{getState:()=>i,dispatch:l=>{i=V1(i,l);for(const o of r)o();return i},subscribe:l=>(r.add(l),()=>r.delete(l))}}const ft=Y1();let Ni;function dy(t){return`/api/operator/v1/chat/sessions/${encodeURIComponent(t)}`}function K1(t){const i=Ni;if(Ni=t,!(i&&i.sessionId===t.sessionId&&i.origin===t.origin)){if((!i||i.sessionId!==t.sessionId)&&ft.dispatch({type:"mutation-reset"}),!t.sessionId){ft.dispatch({type:"reset"});return}ft.dispatch({type:"load-start",sessionId:t.sessionId}),fy(t.sessionId,t.origin)}}async function fy(t,i){try{const r=await fetch(`${i}${dy(t)}/runtime-snapshot`,{credentials:"include"}),l=await r.json().catch(()=>({}));if(Ni?.sessionId!==t)return;if(!r.ok){ft.dispatch({type:"load-failure",sessionId:t,error:{...cd(l),status:r.status}});return}if(!l.snapshot){ft.dispatch({type:"load-failure",sessionId:t,error:{status:r.status,message:"runtime snapshot missing in response"}});return}ft.dispatch({type:"load-success",sessionId:t,snapshot:l.snapshot})}catch(r){if(Ni?.sessionId!==t)return;ft.dispatch({type:"load-failure",sessionId:t,error:{message:r instanceof Error?r.message:String(r)}})}}async function Xr(){const t=Ni;if(!t?.sessionId||ft.getState().reloading)return!1;const i=t.sessionId;ft.dispatch({type:"reload-start"});try{const r=await fetch(`${t.origin}${dy(i)}/reload`,{method:"POST",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Kt()},body:"{}"}),l=await r.json().catch(()=>({}));return Ni?.sessionId!==i?!1:r.ok?l.snapshot?(ft.dispatch({type:"reload-success",snapshot:l.snapshot}),!0):(ft.dispatch({type:"reload-failure",error:{status:r.status,message:"reload succeeded but snapshot missing"}}),!1):(ft.dispatch({type:"reload-failure",error:{...cd(l),status:r.status}}),!1)}catch(r){return Ni?.sessionId!==i||ft.dispatch({type:"reload-failure",error:{message:r instanceof Error?r.message:String(r)}}),!1}}async function Qr(){const t=Ni;if(!t?.sessionId)return!1;const i=t.sessionId;return ft.dispatch({type:"load-start",sessionId:i}),fy(i,t.origin),!0}function X1(t,i,r){return r?(ft.dispatch({type:"mutation-adopt",token:t,sessionId:i,snapshot:r}),ft.getState().snapshot===r):!1}function Q1(t,i,r){return r.sessionRef.current?.sessionId!==i||ft.getState().mutationToken!==t?!1:(ft.dispatch({type:"mutation-settle",token:t}),!0)}function Jr(){return k.useSyncExternalStore(ft.subscribe,ft.getState)}function hy(t){ft.dispatch(t)}function Z1(){return ft.getState()}function J1(t,i,r){return`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(i)}/skills/${encodeURIComponent(r)}/auto-invocation`}async function W1(t){const i=t.fetchImpl??fetch;try{const r=await i(J1(t.origin,t.sessionId,t.resourceId),{method:"PATCH",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":t.confirmationToken},body:JSON.stringify({autoInvocationEnabled:t.autoInvocationEnabled})}),l=await r.json().catch(()=>({}));if(!r.ok||l.ok===!1)return{ok:!1,error:{...cd(l),status:r.status}};const o=l.preferenceSaved===!0,d=l.reloadApplied===!0;if(!o)return{ok:!1,error:{status:r.status,code:"PI_RESOURCE_PREFERENCES_WRITE_FAILED",message:"preference was not saved"}};if(!d){const u=l.error?.code??"PI_SESSION_BUSY",h=l.error?.message??"preference saved; current session is busy and was not reloaded";return{ok:!0,preferenceSaved:!0,reloadApplied:!1,...l.snapshot?{snapshot:l.snapshot}:{},partialBusy:{code:u,message:h}}}return{ok:!0,preferenceSaved:!0,reloadApplied:!0,...l.snapshot?{snapshot:l.snapshot}:{}}}catch(r){return{ok:!1,error:{message:r instanceof Error?r.message:String(r)}}}}function eS(t){return t.autoInvocationEnabled?{badge:"允许自动使用",help:"模型可自动选择该技能,也可通过 /skill:<name> 手动调用。"}:{badge:"已隐藏自动使用",help:`已从模型自动技能列表隐藏,仍可通过 /skill:${t.name} 手动调用。`}}const Vc=()=>window.__CONSOLE_CONFIRMATION_TOKEN__??"";function tS({origin:t}){const[i,r]=k.useState(null),[l,o]=k.useState(null),[d,u]=k.useState(null),[h,g]=k.useState(!1),p=Jr(),v=p.snapshot,y=p.reloading,S=p.reloadError,x=v?.diagnostics??[],C=async N=>{r(N),u(null);{o(null);try{const A=await fetch(`${t}/api/operator/v1/pi/models-config`,{credentials:"include"}),G=await A.json();if(!A.ok)throw new Error(G.error?.message??"读取失败");o(G.data)}catch(A){u(A instanceof Error?A.message:String(A))}}},I=async N=>{g(!0),u(null);try{const A=await fetch(`${t}/api/operator/v1/pi/models-config`,{method:"PATCH",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Vc()},body:JSON.stringify(N)}),G=await A.json();if(!A.ok)throw new Error(G.error?.message??"模型配置保存失败");o(G.data)}catch(A){u(A instanceof Error?A.message:String(A))}finally{g(!1)}},H=async(N,A)=>{g(!0),u(null);try{const G=await fetch(`${t}/api/operator/v1/pi/models-config/test`,{method:"POST",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Vc()},body:JSON.stringify({provider:N,modelId:A})}),K=await G.json();if(!G.ok)throw new Error(K.error?.message??"模型测试失败");return K.data?.available===!0}catch(G){return u(G instanceof Error?G.message:String(G)),!1}finally{g(!1)}},R=i==="models"?"Models":i==="skills"?"Skills":"Packages";return c.jsxs("div",{className:"oc-governance",children:[c.jsxs("div",{className:"oc-governance-links",children:[c.jsx("button",{type:"button",onClick:()=>{C("models")},children:"Models"}),c.jsx("button",{type:"button",className:i==="skills"?"is-active":"",onClick:()=>r("skills"),children:"Skills"}),c.jsx("button",{type:"button",className:i==="packages"?"is-active":"",onClick:()=>r("packages"),children:"Packages"})]}),i&&c.jsx("div",{className:"oc-resource-backdrop",onMouseDown:N=>{N.target===N.currentTarget&&r(null)},children:c.jsxs("section",{className:"oc-resource-panel",role:"dialog","aria-modal":"true","aria-label":R,children:[c.jsxs("header",{className:"oc-resource-panel-head",children:[c.jsxs("div",{className:"oc-resource-panel-head-copy",children:[c.jsx("strong",{children:R}),c.jsx("span",{className:"oc-resource-panel-meta",children:i==="models"?"models.json 管理(读写,经 mutation gate)":i==="skills"?"自动使用开关 · 当前 Pi session 实际加载的 Skills":"只读 · 当前 Pi session 实际解析的 Packages"})]}),c.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>r(null),children:"关闭"})]}),c.jsxs("div",{className:"oc-resource-panel-body",children:[x.length>0&&c.jsxs("div",{className:"oc-resource-diagnostics",children:[x.map((N,A)=>c.jsx("div",{className:`oc-resource-diagnostic${N.type==="error"?" is-error":""}`,role:N.type==="error"?"alert":void 0,children:c.jsxs("span",{children:[N.type,N.code?` ${N.code}`:"",":",N.message,N.path?`(${N.path})`:"",N.retryable?" · 可重试":""]})},A)),c.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>{Qr()},children:"重试"})]}),d&&c.jsx("p",{className:"oc-resource-error",children:d}),i==="models"&&c.jsx(nS,{busy:h,data:l,onMutate:I,onTest:H}),i==="skills"&&c.jsx(iS,{origin:t,sessionId:v?.sessionId,status:p.status,loadError:p.error,skills:v?.skills,hasSession:!!v?.sessionId,hasDiagnostics:x.length>0}),i==="packages"&&c.jsx(lS,{status:p.status,loadError:p.error,packages:v?.packages,hasSession:!!v?.sessionId,hasDiagnostics:x.length>0})]}),c.jsxs("footer",{className:"oc-resource-panel-foot",children:[c.jsx("span",{className:"oc-resource-panel-meta",children:y?"正在重新加载会话…":S?`${S.code??"ERROR"}:${S.message}`:v?`revision ${v.revision} · ${v.loadedAt}`:"等待会话快照…"}),c.jsxs("div",{className:"oc-resource-panel-actions",children:[S&&c.jsx("button",{type:"button",className:"btn btn-ghost",disabled:y,onClick:()=>{Xr()},children:"重试"}),p.status==="error"&&c.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>{Qr()},children:"重新读取快照"}),c.jsx("button",{type:"button",className:"btn btn-ghost",disabled:y,onClick:()=>{Xr()},children:"重新加载会话"})]})]})]})})]})}function nS({busy:t,data:i,onMutate:r,onTest:l}){const[o,d]=k.useState(""),[u,h]=k.useState(""),[g,p]=k.useState(""),[v,y]=k.useState(null),S=async x=>{x.preventDefault(),!(!i||!o.trim()||!u.trim())&&(await r({expectedRevision:i.revision,action:"upsert-model",provider:o.trim(),model:{id:u.trim(),...g.trim()?{name:g.trim()}:{}}}),h(""),p(""))};return i?c.jsxs("div",{className:"oc-models-config",children:[c.jsx("p",{className:"oc-resource-panel-meta",children:"Console 不读取或写入 API key;credential 请通过 Pi CLI 配置。"}),i.providers.length===0?c.jsx("p",{className:"oc-resource-empty",children:"models.json 中暂无 Provider(真实空态;用 Pi CLI 配置)。"}):null,i.providers.map(x=>c.jsxs("article",{className:"oc-model-provider",children:[c.jsxs("div",{className:"oc-model-provider-head",children:[c.jsx("strong",{children:x.name}),c.jsx("span",{children:x.credential.configured?"credential configured":"credential 未配置"})]}),x.models.map(C=>c.jsxs("div",{className:"oc-model-row",children:[c.jsx("span",{children:C.name?`${C.name} (${C.id})`:C.id}),c.jsxs("div",{className:"oc-model-row-actions",children:[c.jsx("button",{type:"button",disabled:t,onClick:()=>{l(x.name,C.id).then(I=>y(`${x.name}/${C.id}: ${I?"可用":"不可用"}`))},children:"测试"}),c.jsx("button",{type:"button",disabled:t,onClick:()=>{window.confirm(`确认删除模型 ${x.name}/${C.id}?`)&&r({expectedRevision:i.revision,action:"remove-model",provider:x.name,model:{id:C.id}})},children:"删除"})]})]},C.id)),c.jsx("button",{type:"button",className:"oc-model-provider-remove",disabled:t,onClick:()=>{window.confirm(`确认删除 Provider ${x.name}?`)&&r({expectedRevision:i.revision,action:"remove-provider",provider:x.name})},children:"删除 Provider"})]},x.name)),v&&c.jsx("p",{className:"oc-model-test-result",children:v}),c.jsxs("form",{className:"oc-model-form",onSubmit:x=>{S(x)},children:[c.jsx("strong",{children:"新增或更新模型"}),c.jsx("input",{required:!0,placeholder:"Provider",value:o,onChange:x=>d(x.target.value)}),c.jsx("input",{required:!0,placeholder:"Model ID",value:u,onChange:x=>h(x.target.value)}),c.jsx("input",{placeholder:"显示名称(可选)",value:g,onChange:x=>p(x.target.value)}),c.jsx("button",{type:"submit",disabled:t,children:t?"保存中…":"保存模型"})]})]}):c.jsx("p",{className:"oc-resource-empty",children:"正在读取模型配置…"})}function my(t){return t.status==="loading"?c.jsx("p",{className:"oc-resource-empty",children:"会话快照加载中…"}):t.status==="error"?c.jsxs("div",{className:"oc-resource-error",role:"alert",children:[c.jsxs("span",{children:[t.loadError?.code?`${t.loadError.code}:`:"",t.loadError?.message??"会话快照读取失败"]}),c.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>{Qr()},children:"重试"})]}):t.hasSession?c.jsx("p",{className:"oc-resource-empty",children:t.emptyText}):c.jsx("p",{className:"oc-resource-empty",children:"当前没有活动会话;打开会话后显示真实资源清单(真实空态)。"})}function iS(t){const i=t.skills??[],[r,l]=k.useState(null),[o,d]=k.useState(null),[u,h]=k.useState(null),[g,p]=k.useState({});if(t.status!=="ready"||!t.hasSession)return c.jsx(my,{status:t.status,loadError:t.loadError,hasSession:t.hasSession,emptyText:"当前 session 未加载任何 Skills(真实空态)"});if(i.length===0&&!t.hasDiagnostics)return c.jsx("p",{className:"oc-resource-empty",children:"当前 session 未加载任何 Skills(真实空态,未伪造列表)。"});const v=new Map;for(const x of i){const C=x.scope||"unknown",I=v.get(C)??[];I.push(x),v.set(C,I)}const y=x=>Object.prototype.hasOwnProperty.call(g,x.resourceId)?g[x.resourceId]:x.autoInvocationEnabled,S=async(x,C)=>{if(!t.sessionId||!x.resourceId||r)return;y(x),d(null),h(null),l(x.resourceId),p(H=>({...H,[x.resourceId]:C}));const I=await W1({origin:t.origin,sessionId:t.sessionId,resourceId:x.resourceId,autoInvocationEnabled:C,confirmationToken:Vc()});if(l(null),!I.ok){p(H=>{const R={...H};return delete R[x.resourceId],R}),d(`${I.error.code?`${I.error.code}:`:""}${I.error.message}`);return}if(I.reloadApplied&&I.snapshot){hy({type:"load-success",sessionId:t.sessionId,snapshot:I.snapshot}),p(H=>{const R={...H};return delete R[x.resourceId],R}),h(null);return}!I.reloadApplied&&I.partialBusy&&h(`设置已保存;当前会话正忙(${I.partialBusy.code}),请在本轮结束后点击「重新加载会话」。${I.partialBusy.message}`)};return c.jsxs("div",{className:"oc-resource-lists",children:[o?c.jsx("p",{className:"oc-resource-error",role:"alert",children:o}):null,u?c.jsx("p",{className:"oc-skill-partial-notice",role:"status",children:u}):null,[...v.entries()].map(([x,C])=>c.jsxs("section",{className:"oc-resource-group",children:[c.jsxs("header",{className:"oc-resource-group-head",children:[c.jsx("strong",{children:x}),c.jsxs("span",{children:[C.length," 项"]})]}),c.jsx("ul",{className:"oc-resource-list",children:C.map(I=>{const H=y(I),R=eS({name:I.name,autoInvocationEnabled:H}),N=r===I.resourceId;return c.jsxs("li",{className:`oc-resource-item${H?"":" is-auto-off"}`,children:[c.jsxs("div",{className:"oc-resource-item-head",children:[c.jsx("strong",{children:I.name}),c.jsx("span",{children:R.badge})]}),c.jsxs("label",{className:"oc-skill-auto-toggle",children:[c.jsx("input",{type:"checkbox",checked:H,disabled:N||!I.resourceId,"aria-label":`允许自动使用 ${I.name}`,onChange:A=>{S(I,A.target.checked)}}),c.jsx("span",{children:N?"保存中…":"允许自动使用"})]}),c.jsx("p",{className:"oc-skill-auto-help",children:R.help}),I.description?c.jsx("p",{children:I.description}):null,c.jsx("code",{children:I.path}),I.source?c.jsxs("span",{className:"oc-resource-panel-meta",children:["source: ",I.source]}):null,Array.isArray(I.diagnostics)&&I.diagnostics.length>0?c.jsx("span",{className:"oc-resource-diagnostic",children:I.diagnostics.join(";")}):null]},`${x}:${I.resourceId||I.path}`)})})]},x))]})}const rS={extension:"Extensions",skill:"Skills",prompt:"Prompts",theme:"Themes"};function aS(t){return Array.isArray(t.diagnostics)&&t.diagnostics.length>0?"error":t.enabled?t.version?"installed":"loaded":"disabled"}function lS(t){const i=t.packages??[];return t.status!=="ready"||!t.hasSession?c.jsx(my,{status:t.status,loadError:t.loadError,hasSession:t.hasSession,emptyText:"当前 session 未配置 Packages(真实空态)"}):i.length===0&&!t.hasDiagnostics?c.jsx("p",{className:"oc-resource-empty",children:"当前 session 未配置 Packages(真实空态,未伪造列表)。"}):c.jsx("div",{className:"oc-resource-lists",children:i.map(r=>{const l=aS(r),o=new Map;for(const d of r.resolved??[]){const u=rS[d.type]??d.type,h=o.get(u)??[];h.push(d),o.set(u,h)}return c.jsxs("article",{className:"oc-resource-item oc-package",children:[c.jsxs("div",{className:"oc-resource-item-head",children:[c.jsx("strong",{children:r.spec}),c.jsx("span",{className:`oc-package-status is-${l}`,children:l})]}),c.jsxs("p",{className:"oc-resource-panel-meta",children:[r.scope," · ",r.enabled?"loaded":"disabled"]}),r.packageName?c.jsxs("p",{className:"oc-package-meta",children:[c.jsx("span",{children:"package"}),c.jsx("code",{children:r.packageName})]}):null,r.version?c.jsxs("p",{className:"oc-package-meta",children:[c.jsx("span",{children:"installed"}),c.jsxs("code",{children:["v",r.version]})]}):null,r.configuredVersion?c.jsxs("p",{className:"oc-package-meta",children:[c.jsx("span",{children:"configured"}),c.jsx("code",{children:r.configuredVersion})]}):null,r.installedPath?c.jsxs("p",{className:"oc-package-meta",children:[c.jsx("span",{children:"installed path"}),c.jsx("code",{children:r.installedPath})]}):null,r.cwd?c.jsxs("p",{className:"oc-package-meta",children:[c.jsx("span",{children:"cwd"}),c.jsx("code",{children:r.cwd})]}):null,o.size>0?c.jsx("div",{className:"oc-package-resources",children:[...o.entries()].map(([d,u])=>c.jsxs("section",{className:"oc-package-group",children:[c.jsxs("header",{className:"oc-resource-group-head",children:[c.jsx("strong",{children:d}),c.jsxs("span",{children:[u.length," 项"]})]}),c.jsx("ul",{className:"oc-resource-sub-list",children:u.map((h,g)=>c.jsxs("li",{children:[c.jsx("span",{children:h.name||h.path}),c.jsxs("span",{className:"oc-resource-panel-meta",children:[h.scope,h.source?` · ${h.source}`:""]}),c.jsx("code",{children:h.path})]},`${d}:${g}`))})]},d))}):c.jsx("p",{className:"oc-resource-panel-meta",children:"未解析出扩展/技能/提示词/主题(真实空态)"}),Array.isArray(r.diagnostics)&&r.diagnostics.length>0?c.jsx("div",{className:"oc-package-diagnostics",children:r.diagnostics.map((d,u)=>c.jsx("span",{children:d},u))}):null]},`${r.scope}:${r.spec}`)})})}const Os=10,py="loop-console.operator-chat.sidebar-split.v1",nr=45,Ps=28,Ys=70,Vp=5,Pp=10;function Kr(t){return Number.isFinite(t)?Math.min(Ys,Math.max(Ps,Math.round(t))):nr}function sS(t){if(t==null||t==="")return null;const i=Number(t);if(!Number.isFinite(i))return null;const r=Math.round(i);return r<Ps||r>Ys?null:r}function oS(t=gy()){if(!t)return nr;try{return sS(t.getItem(py))??nr}catch{return nr}}function Yp(t,i=gy()){const r=Kr(t);if(!i)return r;try{i.setItem(py,String(r))}catch{}return r}function uS(t,i,r=!1){const l=Kr(t);switch(i){case"ArrowUp":return Kr(l-(r?Pp:Vp));case"ArrowDown":return Kr(l+(r?Pp:Vp));case"Home":return Ps;case"End":return Ys;case"Enter":return nr;default:return null}}function Kp(t,i,r){if(!Number.isFinite(r)||r<=0)return nr;const l=(t-i)/r;return Kr(l*100)}function gy(){try{return typeof globalThis>"u"?null:globalThis.localStorage??null}catch{return null}}const Xp='a[href],button:not([disabled]),textarea:not([disabled]),input:not([disabled]),select:not([disabled]),[tabindex]:not([tabindex="-1"])';function dd(t){const{open:i,containerRef:r,triggerRef:l,onEscape:o}=t,d=k.useRef(null),u=k.useRef(!1);k.useEffect(()=>{if(i){if(!u.current){const h=document.activeElement;d.current=l?.current??(h instanceof HTMLElement?h:null);const g=r.current;g&&(g.querySelector(Xp)??g).focus?.(),u.current=!0}return()=>{if(!u.current)return;const h=l?.current??d.current;h&&document.contains(h)&&h.focus(),d.current=null,u.current=!1}}u.current=!1},[i,r,l]),k.useEffect(()=>{if(!i)return;const h=r.current;if(!h)return;const g=p=>{if(p.key==="Escape"){p.preventDefault(),o?.();return}if(p.key!=="Tab")return;const v=Array.from(h.querySelectorAll(Xp)).filter(C=>!C.hasAttribute("disabled")&&C.tabIndex!==-1);if(v.length===0){p.preventDefault(),h.focus?.();return}const y=v[0],S=v[v.length-1],x=document.activeElement;p.shiftKey?(x===y||!h.contains(x))&&(p.preventDefault(),S.focus()):(x===S||!h.contains(x))&&(p.preventDefault(),y.focus())};return document.addEventListener("keydown",g),()=>document.removeEventListener("keydown",g)},[i,r,o])}function cS(t){const{item:i,active:r,state:l}=t,o=i.title||i.displayTitle||"未命名对话",d=k.useRef(null),[u,h]=k.useState(null),g=k.useRef(null),p=()=>{g.current!==null&&(window.clearTimeout(g.current),g.current=null)},v=()=>{p(),h(null)},y=C=>{if(!(C.scrollWidth>C.clientWidth+1)){v();return}const H=C.getBoundingClientRect();h({x:Math.min(H.right+8,window.innerWidth-16),y:H.top+H.height/2})},S=C=>{C&&(p(),g.current=window.setTimeout(()=>y(C),350))};k.useEffect(()=>{const C=()=>v(),I=H=>{H.key==="Escape"&&v()};return window.addEventListener("scroll",C,!0),window.addEventListener("keydown",I),()=>{window.removeEventListener("scroll",C,!0),window.removeEventListener("keydown",I),p()}},[]);const x=`oc-session-tip-${i.sessionId}`;return c.jsxs("div",{className:`oc-session-item${r?" is-active":""}`,"data-session-id":i.sessionId,children:[c.jsxs("button",{type:"button",className:"oc-session-main",onClick:t.onActivate,onMouseEnter:C=>{const I=C.currentTarget.querySelector("strong");I instanceof HTMLElement&&S(I)},onMouseLeave:v,onFocus:C=>{const I=C.currentTarget.querySelector("strong");I instanceof HTMLElement&&S(I)},onBlur:v,"aria-describedby":u?x:void 0,children:[c.jsxs("strong",{ref:d,children:[o,i.activeTurnId?" · 运行中":""]}),c.jsx("span",{children:new Date(i.updatedAt).toLocaleString()})]}),c.jsxs("div",{className:"oc-session-actions",children:[c.jsx("button",{type:"button",className:"oc-session-menu",title:"重命名会话","aria-label":"重命名会话",onClick:C=>{C.stopPropagation();const I=window.prompt("会话名称",i.title??"");I!==null&&t.onRename(I)},children:c.jsx(D1,{size:16,"aria-hidden":"true"})}),c.jsx("button",{type:"button",className:"oc-session-menu",title:l==="active"?"归档会话":"恢复会话","aria-label":l==="active"?"归档会话":"恢复会话",onClick:C=>{C.stopPropagation(),t.onSetState(l==="active"?"archived":"active")},children:l==="active"?c.jsx(A1,{size:16,"aria-hidden":"true"}):c.jsx(O1,{size:16,"aria-hidden":"true"})}),c.jsx("button",{type:"button",className:"oc-session-menu oc-session-delete",title:"删除会话","aria-label":"删除会话",onClick:C=>{C.stopPropagation(),t.onDelete()},children:c.jsx(I1,{size:16,"aria-hidden":"true"})})]}),u?N1.createPortal(c.jsx("div",{id:x,role:"tooltip",className:"oc-session-title-tooltip",style:{position:"fixed",left:u.x,top:u.y,transform:"translateY(-50%)"},children:o}),document.body):null]})}function dS(t){return[...t].sort((i,r)=>i.kind!==r.kind?i.kind==="directory"?-1:1:i.name.localeCompare(r.name,void 0,{sensitivity:"base"}))}function fS({open:t}){return c.jsx("svg",{className:`oc-tree-chevron${t?" is-open":""}`,width:"12",height:"12",viewBox:"0 0 12 12","aria-hidden":"true",children:c.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 hS({open:t}){return t?c.jsxs("svg",{className:"oc-tree-glyph is-folder-open",width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:[c.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"}),c.jsx("path",{d:"M1.8 5.8h10.4l-.7 5.2H2.5L1.8 5.8Z",fill:"currentColor",opacity:"0.55"})]}):c.jsx("svg",{className:"oc-tree-glyph is-folder",width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:c.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 mS(){return c.jsxs("svg",{className:"oc-tree-glyph is-file",width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:[c.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"}),c.jsx("path",{d:"M8.3 1.7v2.5h2.4",fill:"none",stroke:"currentColor",strokeWidth:"1.1",strokeLinejoin:"round",opacity:"0.75"})]})}function pS(){return c.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true",children:c.jsx("path",{d:"M3 3.5h10v2H3v-2Zm0 3.5h10v2H3V7Zm0 3.5h7V13H3v-2Z",fill:"currentColor"})})}function gS(){return c.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true",children:c.jsx("path",{d:"M8 3v10M3 8h10",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"})})}function yS(){return c.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true",children:c.jsx("path",{d:"M8 2.2 13 4.5v3.2c0 3.1-2.1 5.5-5 6.3-2.9-.8-5-3.2-5-6.3V4.5L8 2.2Z",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round"})})}function vS(t){const i=t.sessions.slice(0,Os),[r,l]=k.useState(()=>oS()),[o,d]=k.useState(!1),u=k.useRef(null),h=k.useRef(null),g=t.layoutMode==="comfortable"&&t.open,p=t.layoutMode==="compact",v=t.drawerOpen&&(t.layoutMode==="compact"||t.layoutMode==="narrow");dd({open:v,containerRef:h,triggerRef:t.drawerTriggerRef,onEscape:t.onCloseDrawer});const y=k.useCallback((N,A)=>{const G=Kr(N);l(G),A&&Yp(G)},[]),S=k.useCallback(N=>{const A=uS(r,N.key,N.shiftKey);A!=null&&(N.preventDefault(),y(A,!0))},[y,r]),x=k.useCallback(N=>{N.preventDefault(),N.currentTarget.setPointerCapture(N.pointerId),d(!0);const G=u.current;if(!G)return;const K=G.getBoundingClientRect();y(Kp(N.clientY,K.top,K.height),!1)},[y]),C=k.useCallback(N=>{if(!N.currentTarget.hasPointerCapture(N.pointerId))return;const A=u.current;if(!A)return;const G=A.getBoundingClientRect();y(Kp(N.clientY,G.top,G.height),!1)},[y]),I=k.useCallback(N=>{N.currentTarget.hasPointerCapture(N.pointerId)&&N.currentTarget.releasePointerCapture(N.pointerId),d(!1),Yp(r)},[r]),H=k.useCallback(()=>{y(nr,!0)},[y]),R=c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"oc-sidebar-split",ref:u,style:{"--oc-session-share":`${r}%`,"--oc-repo-share":`${100-r}%`},"data-dragging":o?"true":"false",children:[c.jsxs("section",{className:"oc-sidebar-section oc-sessions",children:[c.jsxs("header",{children:[c.jsx("strong",{children:"会话"}),c.jsxs("div",{className:"oc-sidebar-header-actions",children:[c.jsx("button",{type:"button",className:"btn btn-ghost",onClick:t.onCreate,disabled:t.creatingSession,"aria-busy":t.creatingSession||void 0,children:t.creatingSession?"创建中…":"新建"}),t.layoutMode==="comfortable"?c.jsx("button",{type:"button",className:"oc-sidebar-toggle",onClick:t.onToggleOpen,"aria-expanded":!0,"aria-label":"收起侧栏",title:"收起侧栏",children:c.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:c.jsx("path",{d:"M8.8 2.6 5.2 7l3.6 4.4",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}):c.jsx("button",{type:"button",className:"oc-sidebar-toggle",onClick:t.onCloseDrawer,"aria-label":"关闭侧栏抽屉",title:"关闭",children:c.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:c.jsx("path",{d:"M3.5 3.5 10.5 10.5M10.5 3.5 3.5 10.5",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round"})})})]})]}),c.jsxs("div",{className:"oc-session-scroll",children:[["active","archived"].map(N=>{const A=i.filter(G=>G.state===N);return A.length?c.jsxs("div",{className:"oc-session-group",children:[c.jsx("small",{children:N==="active"?"进行中":"已归档"}),A.map(G=>c.jsx(cS,{item:G,active:t.activeSessionId===G.sessionId,state:N,onActivate:()=>t.onActivate(G.sessionId),onRename:K=>t.onRename(G.sessionId,K),onSetState:K=>t.onSetState(G.sessionId,K),onDelete:()=>t.onDelete(G.sessionId)},G.sessionId))]},N):null}),i.length===0?c.jsx("p",{className:"oc-tree-empty",children:"暂无会话,点击上方新建。"}):null]})]}),c.jsx("div",{className:"oc-sidebar-separator",role:"separator","aria-orientation":"horizontal","aria-valuemin":Ps,"aria-valuemax":Ys,"aria-valuenow":r,"aria-label":"调整会话与仓库高度比例",tabIndex:0,onKeyDown:S,onPointerDown:x,onPointerMove:C,onPointerUp:I,onPointerCancel:I,onDoubleClick:H}),c.jsxs("section",{className:"oc-sidebar-section oc-explorer",children:[c.jsxs("header",{children:[c.jsx("strong",{children:"仓库"}),c.jsx("button",{type:"button",className:"btn btn-ghost",onClick:t.onRefreshTree,children:"刷新"})]}),c.jsx("p",{className:"oc-explorer-hint",children:"单击插入 @路径 · 双击预览"}),t.treeError&&c.jsx("p",{className:"oc-sidebar-error",children:t.treeError}),c.jsx("div",{className:"oc-tree-scroll",children:c.jsx(yy,{entries:t.tree[""]??[],tree:t.tree,expanded:t.expanded,depth:0,onToggle:t.onToggleDir,onInsert:t.onInsert,onPreview:t.onPreview})})]})]}),c.jsx(tS,{origin:t.origin})]});return c.jsxs(c.Fragment,{children:[p?c.jsxs("nav",{className:"oc-sidebar-rail","aria-label":"紧凑侧栏",children:[c.jsx("button",{type:"button",className:"oc-sidebar-rail-btn","aria-label":"打开会话与仓库",title:"会话与仓库","aria-expanded":v,onClick:()=>v?t.onCloseDrawer():t.onOpenDrawer(),children:c.jsx(pS,{})}),c.jsx("button",{type:"button",className:"oc-sidebar-rail-btn","aria-label":t.creatingSession?"创建会话中":"新建会话",title:t.creatingSession?"创建中…":"新建会话",onClick:t.onCreate,disabled:t.creatingSession,"aria-busy":t.creatingSession||void 0,children:c.jsx(gS,{})}),c.jsx("button",{type:"button",className:"oc-sidebar-rail-btn","aria-label":"治理入口",title:"治理",onClick:()=>v?t.onCloseDrawer():t.onOpenDrawer(),children:c.jsx(yS,{})})]}):null,t.layoutMode==="comfortable"?c.jsx("aside",{className:`oc-sidebar${g?"":" is-collapsed"}`,"aria-label":"会话与仓库",children:g?R:c.jsx("button",{type:"button",className:"oc-sidebar-toggle is-collapsed",onClick:t.onToggleOpen,"aria-expanded":!1,"aria-label":"展开侧栏",title:"展开侧栏",children:c.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14","aria-hidden":"true",children:c.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"})})})}):null,v?c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"oc-overlay-backdrop","aria-label":"关闭侧栏遮罩",onClick:t.onCloseDrawer}),c.jsx("aside",{ref:h,className:"oc-sidebar oc-sidebar-drawer","aria-label":"会话与仓库抽屉",role:"dialog","aria-modal":"true",tabIndex:-1,children:R})]}):null]})}function yy(t){const i=k.useMemo(()=>dS(t.entries),[t.entries]);return i.length?c.jsx("ul",{className:"oc-tree",role:t.depth===0?"tree":"group",children:i.map(r=>{const l=r.name.startsWith(".");if(r.kind==="directory"){const o=t.expanded.has(r.path);return c.jsxs("li",{className:`oc-tree-node is-dir${o?" is-open":""}${l?" is-dot":""}`,role:"treeitem","aria-expanded":o,children:[c.jsxs("button",{type:"button",className:"oc-tree-row oc-tree-dir",onClick:()=>t.onToggle(r.path),style:{paddingLeft:`${8+t.depth*12}px`},children:[c.jsx(fS,{open:o}),c.jsx(hS,{open:o}),c.jsx("span",{className:"oc-tree-label",children:r.name})]}),o?c.jsx("div",{className:"oc-tree-children",style:{"--oc-tree-guide":`${14+t.depth*12}px`},children:c.jsx(yy,{entries:t.tree[r.path]??[],tree:t.tree,expanded:t.expanded,depth:t.depth+1,onToggle:t.onToggle,onInsert:t.onInsert,onPreview:t.onPreview})}):null]},r.path)}return c.jsx("li",{className:`oc-tree-node is-file${l?" is-dot":""}`,role:"treeitem",children:c.jsx(bS,{entry:r,depth:t.depth,onInsert:t.onInsert,onPreview:t.onPreview})},r.path)})}):c.jsx("p",{className:"oc-tree-empty",children:"此目录为空或没有可安全浏览的文件。"})}function bS(t){const i=k.useRef(null);return k.useEffect(()=>()=>{i.current!==null&&window.clearTimeout(i.current)},[]),c.jsxs("button",{type:"button",className:"oc-tree-row oc-tree-file",style:{paddingLeft:`${8+t.depth*12}px`},title:"单击插入引用;双击预览",onClick:()=>{i.current!==null&&window.clearTimeout(i.current),i.current=window.setTimeout(()=>{t.onInsert(t.entry.path),i.current=null},220)},onDoubleClick:()=>{i.current!==null&&window.clearTimeout(i.current),i.current=null,t.onPreview(t.entry.path)},children:[c.jsx("span",{className:"oc-tree-chevron-spacer","aria-hidden":"true"}),c.jsx(mS,{}),c.jsx("span",{className:"oc-tree-label",children:t.entry.name})]})}function xS(t){const i=t.previews.find(r=>r.path===t.activePath);return!i&&!t.loading?null:c.jsxs(c.Fragment,{children:[i&&c.jsxs("section",{className:"oc-file-preview","aria-label":`文件预览 ${i.path}`,children:[c.jsxs("header",{children:[c.jsx("div",{className:"oc-file-tabs",role:"tablist","aria-label":"文件预览 Tabs",children:t.previews.map(r=>c.jsx("button",{type:"button",role:"tab","aria-selected":r.path===i.path,className:r.path===i.path?"is-active":"",onClick:()=>t.onActivate(r.path),children:r.path},r.path))}),c.jsxs("span",{children:[i.bytes," bytes",i.truncated?" · 已截断":""]}),c.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>t.onClose(i.path),children:"关闭预览"})]}),c.jsx("pre",{children:c.jsx("code",{children:i.content})})]}),t.loading&&c.jsx("div",{className:"oc-file-preview-loading",children:"正在读取文件…"})]})}const vy=[{command:"/task",label:"Task context",description:"查看当前任务、Draft 与 assessment",action:"focus-panel:task",source:"operator"},{command:"/contract",label:"Contract",description:"查看 contract diff 与 apply gate",action:"focus-panel:contract",source:"operator"},{command:"/dag",label:"DAG",description:"查看 DAG spine、确认与运行状态",action:"focus-panel:dag",source:"operator"},{command:"/interview",label:"Interview",description:"打开 Requirement Interview",action:"focus:interview",source:"operator"},{command:"/reload",label:"Reload session",description:"重新加载当前 Pi 会话的设置、扩展、技能、提示词、主题与上下文文件(不产生消息)",action:"reload",source:"operator"}],by=[{command:"/compact",label:"压缩上下文",description:"压缩当前会话上下文,释放 token",action:"compact",source:"web"},{command:"/name",label:"重命名会话",description:"设置当前会话标题",action:"name",source:"web"},{command:"/session",label:"会话信息",description:"显示当前会话元信息",action:"session",source:"web"},{command:"/copy",label:"复制回复",description:"复制最后一条助手消息原文",action:"copy",source:"web"}],er={operator:0,web:1,extension:2,skill:3,prompt:4};function Qp(t){const i=t.trim().split(/\s+/,1)[0]??"";return i?i.startsWith("/")?i.toLowerCase():`/${i.toLowerCase()}`:""}function SS(t){const i=t.trim().split(/\s+/,1)[0]?.toLowerCase();if(!i?.startsWith("/"))return;const r=[...vy,...by].find(l=>l.command===i);return r?{command:r.command,action:r.action}:{command:i,action:"unknown"}}function kS(t){if(t==="focus-panel:task"||t==="focus-panel:contract")return"tasks";if(t==="focus-panel:dag")return"recovery"}function wS(t=[]){const i=new Map,r=l=>{const o=Qp(l.command);if(!o)return;const d=i.get(o);if(!d){i.set(o,{...l,command:o});return}er[l.source]<er[d.source]&&i.set(o,{...l,command:o})};for(const l of vy)r({command:l.command,label:l.label,description:l.description,source:l.source,action:l.action});for(const l of by)r({command:l.command,label:l.label,description:l.description,source:l.source,action:l.action});for(const l of t){const o=Qp(l.command);o&&r({command:o,label:l.label||o,description:l.description||"",source:l.source,action:"pi-prompt"})}return[...i.values()].sort((l,o)=>{const d=er[l.source]-er[o.source];return d!==0?d:l.command.localeCompare(o.command)})}function CS(t,i){const r=(i.trim().split(/\s+/,1)[0]??"").toLowerCase();if((/\s/.test(i.trimStart().slice(1))||i.includes(" "))&&i.trimStart().includes(" "))return[];const l=r.startsWith("/")?r:r?`/${r}`:"/",o=l==="/"?"":l.slice(1),d=[];for(const u of t){const h=u.command.toLowerCase(),g=h.startsWith("/")?h.slice(1):h,p=u.description.toLowerCase();let v=100;if(!o)v=10+er[u.source];else if(h===l||g===o)v=0;else if(h.startsWith(l)||g.startsWith(o))v=1;else if(g.includes(o)||h.includes(o))v=2;else if(p.includes(o))v=3;else continue;d.push({...u,score:v})}return d.sort((u,h)=>{if(u.score!==h.score)return u.score-h.score;const g=er[u.source]-er[h.source];return g!==0?g:u.command.localeCompare(h.command)})}const jS={operator:"Operator",web:"Pi Web",extension:"Extensions",prompt:"Prompts",skill:"Skills"},Zp={comfortableMin:620,compactMin:480};function TS(t){return!Number.isFinite(t)||t<0?"extra-compact":t>=Zp.comfortableMin?"comfortable":t>=Zp.compactMin?"compact":"extra-compact"}function RS(t){return`is-landing-${t}`}const ES=[{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 xy(t){const i=t.readiness==="setup-required",r=!!t.disabled||i,l=t.density??"comfortable",o=t.mode==="no-session"?"开始一段新的对话":"今天想推进什么?",d=t.mode==="no-session"?"用自然语言编排 loop-agent:查询状态、诊断问题、创建与恢复任务。可先点选下方建议,或新建空白对话。":"会话已就绪。点选建议快速开场,或在下方输入框直接描述目标。业务写入仍经受治理 DAG。";return c.jsxs("div",{className:`oc-empty ${RS(l)}`,role:"status","data-landing-density":l,children:[c.jsxs("div",{className:"oc-empty-hero",children:[c.jsx("img",{className:"oc-empty-icon oc-empty-brand",src:"/favicon.svg",alt:"","aria-hidden":"true",draggable:!1}),c.jsxs("div",{className:"oc-empty-copy",children:[c.jsx("h3",{children:o}),c.jsx("p",{children:d})]})]}),c.jsx("div",{className:"oc-suggestions","aria-label":"开场建议",children:ES.map(u=>c.jsxs("button",{type:"button",className:"oc-suggestion",onClick:()=>t.onSuggest(u.prompt),disabled:r,children:[c.jsx("strong",{children:u.label}),c.jsx("span",{children:l==="extra-compact"?u.hint.replace(/[,,].*$/,""):u.hint})]},u.label))}),c.jsxs("ul",{className:"oc-empty-tips",children:[c.jsxs("li",{children:[c.jsx("kbd",{children:"@"}),c.jsx("span",{children:"引用仓库文件"})]}),c.jsxs("li",{children:[c.jsx("kbd",{children:"/"}),c.jsx("span",{children:"快捷命令"})]}),c.jsxs("li",{children:[c.jsx("kbd",{children:"Enter"}),c.jsx("span",{children:"发送 · Shift+Enter 换行"})]})]}),t.mode==="no-session"&&t.onCreateSession?c.jsx("button",{type:"button",className:"btn btn-primary oc-empty-cta",onClick:t.onCreateSession,disabled:r,"aria-busy":t.disabled||void 0,children:i?"需先完成 Pi setup":t.disabled?"创建中…":"新建空白对话"}):null]})}function NS(t){const{artifact:i}=t;return c.jsxs("section",{className:"oc-artifact-card","aria-label":`${i.kind} artifact`,children:[c.jsxs("header",{children:[c.jsx("strong",{children:i.title??i.artifactId}),c.jsx("span",{children:i.kind})]}),i.summary&&c.jsx("p",{children:i.summary}),i.reportText&&c.jsx("pre",{children:i.reportText}),i.htmlPreview&&c.jsx("iframe",{title:`${i.title??i.artifactId} preview`,sandbox:"",srcDoc:i.htmlPreview}),i.inspectHref&&c.jsx("a",{href:i.inspectHref,children:"查看详情"})]})}function AS({card:t,origin:i,sessionId:r}){const[l,o]=k.useState(!1),[d,u]=k.useState(),h=async()=>{o(!0),u(void 0);try{const y=t.gateType==="dag-run"?t.state==="prepared"?"dag-confirm":"dag-run":t.gateType==="mutation"?"mutation-apply":"contract-apply",S=t.gateType==="dag-run"?{confirmationId:t.confirmationId,...t.state==="prepared"?{humanGateToken:t.humanGateToken}:{}}:{receiptId:t.receiptId,humanGateToken:t.humanGateToken},x=await fetch(`${i}/api/operator/v1/chat/sessions/${encodeURIComponent(r)}/human-gate/${y}`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Kt()},body:JSON.stringify(S)}),C=await x.json();if(!x.ok)throw new Error(C.error?.message??`HTTP ${x.status}`)}catch(y){u(y instanceof Error?y.message:String(y))}finally{o(!1)}},g=t.state==="prepared"||t.gateType==="dag-run"&&t.state==="confirmed",p=t.gateType==="contract-apply"?"Contract apply":t.gateType==="mutation"?"Mutation":"DAG run",v=t.gateType==="contract-apply"?"Apply":t.gateType==="mutation"?"Execute":t.state==="prepared"?"Confirm":"Run";return c.jsxs("section",{className:`oc-human-gate-card is-${t.state}`,"aria-label":`Human gate ${t.cardId}`,children:[c.jsxs("header",{children:[c.jsxs("div",{children:[c.jsx("small",{children:"HumanGateCard · 仅人类可确认"}),c.jsx("strong",{children:p})]}),c.jsx("span",{children:t.state})]}),t.contractDiffSummary&&c.jsx("p",{children:t.contractDiffSummary}),t.displayOnlyChallenges&&c.jsxs("div",{className:"oc-human-gate-challenges",children:[c.jsx("b",{children:"Challenge(仅展示,不是确认信号)"}),c.jsx("ul",{children:t.displayOnlyChallenges.map(y=>c.jsx("li",{children:y},y))})]}),t.dagSpine&&t.dagSpine.length>0&&c.jsxs("div",{children:[c.jsx("b",{children:"DAG spine"}),c.jsx("ol",{children:t.dagSpine.map(y=>c.jsx("li",{children:c.jsx("code",{children:y})},y))})]}),c.jsxs("footer",{children:[c.jsx("a",{href:t.inspectHref,children:"Inspect"}),c.jsx("button",{className:"btn btn-primary",type:"button",disabled:!g||l,onClick:()=>{h()},children:l?"提交中…":v})]}),d&&c.jsx("div",{className:"oc-human-gate-error",children:d})]})}const kn="loop-console.operator-chat.active-session.v1",IS="loop-console.operator-chat.default-landing.v1";function Ms(t){const i=t?.trim().toLowerCase();if(i==="chat")return"chat";if(i==="tasks")return"tasks"}function Sy(t){const i=t?.trim().toLowerCase();if(i==="chat"||i==="tasks"||i==="recovery"||i==="night"||i==="models"||i==="settings")return i}function ky(t){const i=r=>t.get(r)?.trim()||void 0;return{...i("taskId")?{taskId:i("taskId")}:{},...i("dagRunId")?{dagRunId:i("dagRunId")}:{},...i("fromNodeId")?{fromNodeId:i("fromNodeId")}:{},...i("featureId")?{featureId:i("featureId")}:{}}}function wy(t){const i=String(t??"").replace(/^#/,"");if(!i)return null;const r=i.indexOf("?"),l=r>=0?i.slice(0,r):i,o=r>=0?i.slice(r+1):"",d=(l||"/").split("?")[0]||"/";if(d==="/"||d==="")return null;const u=d.replace(/^\//,"").split("/")[0],h=Sy(u);return h?{workspace:h,...ky(new URLSearchParams(o))}:null}function DS(t){const i=new URLSearchParams(t.search),r=t.hash.startsWith("#")?t.hash.slice(1):t.hash,l=new URLSearchParams(r),o=Sy(i.get("workspace")??i.get("landing")??l.get("workspace"));return o?{workspace:o,...ky(i)}:null}function OS(t){if(!t)return;const i=wy(t.hash);if(i)return i.workspace;const r=new URLSearchParams(t.search),l=Ms(r.get("landing")??r.get("workspace"));if(l)return l;const o=t.hash.startsWith("#")?t.hash.slice(1):t.hash;return Ms(new URLSearchParams(o).get("workspace"))}function Cy(t){return OS(t.location)??Ms(t.storage?.getItem(IS))??Ms(t.env)??"tasks"}function jy(t,i={}){const r=new URLSearchParams;for(const[d,u]of Object.entries(i))u?.trim()&&r.set(d,u.trim());const l=r.toString(),o=`/${t}`;return l?`${o}?${l}`:o}function MS(t,i={}){return`#${jy(t,i)}`}function zS(t){return wy(t.hash)??DS(t)}function _S(t){const{operation:i}=t,r=i.inspectHref.startsWith("/")?`${t.origin}${i.inspectHref}`:i.inspectHref,l=i.state==="failed"||i.state==="timed-out"||i.state==="needs-reconcile",o=(u,h)=>{t.onNavigateWorkspace?t.onNavigateWorkspace(u,h):window.location.assign(MS(u,h))},d=[i.taskId?["task",i.taskId]:void 0,i.dagRunId?["dag",i.dagRunId]:void 0,i.featureId?["feature",i.featureId]:void 0,i.workerRunId?["worker",i.workerRunId]:void 0].filter(u=>!!u);return c.jsxs("section",{className:`oc-operation-card is-${i.state}`,"aria-label":`Operation ${i.operationId}`,children:[c.jsxs("header",{className:"oc-operation-head",children:[c.jsxs("div",{children:[c.jsx("div",{className:"oc-operation-kicker",children:"Operation"}),c.jsx("strong",{children:i.action})]}),c.jsx("span",{className:`oc-operation-state is-${i.state}`,children:i.state})]}),c.jsx("div",{className:"oc-operation-id",children:c.jsx("code",{children:i.operationId})}),d.length>0&&c.jsx("div",{className:"oc-operation-identities",children:d.map(([u,h])=>c.jsxs("span",{children:[c.jsx("b",{children:u})," ",h]},`${u}:${h}`))}),i.controller&&c.jsxs("div",{className:"oc-operation-controller",children:["controller: ",i.controller]}),i.summaryPreview&&c.jsx("pre",{className:"oc-operation-preview",children:i.summaryPreview}),i.stderrPreview&&c.jsx("pre",{className:"oc-operation-preview is-error",children:i.stderrPreview}),i.stdoutPreview&&c.jsx("pre",{className:"oc-operation-preview",children:i.stdoutPreview}),c.jsxs("footer",{className:"oc-operation-actions",children:[c.jsx("a",{className:"btn btn-ghost",href:r,target:"_blank",rel:"noreferrer",children:"Inspect"}),i.taskId&&c.jsx("button",{className:"btn btn-ghost",type:"button",onClick:()=>o("tasks",{taskId:i.taskId}),children:"打开 Task Ops"}),i.dagRunId&&c.jsx("a",{className:"btn btn-ghost",href:`${t.origin}/inspect/#/dag/${encodeURIComponent(i.dagRunId)}`,target:"_blank",rel:"noreferrer",children:"打开 Run / Inspect"}),l&&(i.dagRunId||i.taskId)&&c.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>o("recovery",{taskId:i.taskId,dagRunId:i.dagRunId}),children:"打开 Recovery"}),c.jsx("time",{dateTime:i.updatedAt,children:new Date(i.updatedAt).toLocaleString()})]})]})}function LS(t){const{interview:i,interviewAnswer:r,onAnswerChange:l,onAnswer:o}=t;return c.jsxs("section",{className:"oc-draft-card","aria-label":"Requirement Interview",children:[c.jsxs("header",{children:[c.jsx("strong",{children:"Requirement Interview"}),c.jsx("span",{children:i.state})]}),i.question&&c.jsxs("div",{className:"oc-interview-bubble",children:[c.jsx("strong",{children:i.question.text}),c.jsxs("p",{children:["建议:",i.question.recommendation]}),c.jsx("textarea",{value:r,onChange:d=>l(d.target.value),placeholder:"输入答案"}),c.jsxs("div",{children:[c.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>o("override"),disabled:!r.trim(),children:"提交答案"}),c.jsx("button",{className:"btn btn-ghost",type:"button",onClick:()=>o("accept-recommendation"),children:"接受建议"})]})]}),i.draft&&c.jsxs("details",{open:!0,children:[c.jsxs("summary",{children:["TaskContractDraftV1 · ",i.draftSha256?.slice(0,12)]}),c.jsx("pre",{children:JSON.stringify(i.draft,null,2)})]}),i.assessment&&c.jsxs("div",{className:`oc-assessment${i.assessment.fresh?" is-fresh":""}`,children:[c.jsxs("strong",{children:["完整性:",i.assessment.outcome]}),(i.assessment.missingFields??[]).length>0&&c.jsxs("p",{children:["缺失:",i.assessment.missingFields?.join("、")]})]}),i.taskKindRecommendation&&c.jsxs("div",{className:"oc-task-kind-card",children:[c.jsx("span",{children:"taskKind 建议"}),c.jsx("strong",{children:i.taskKindRecommendation}),c.jsx("button",{className:"btn btn-primary",type:"button",onClick:()=>t.onConfirmTaskKind(),children:"由我确认"}),c.jsx("small",{children:"模型不能代替人类确认。"})]}),i.confirmedTaskKind&&c.jsxs("div",{className:"oc-task-kind-card is-confirmed",children:["已由人类确认:",c.jsx("strong",{children:i.confirmedTaskKind})]})]})}function BS(t,i){const r={};return(t[t.length-1]===""?[...t,""]:t).join((r.padRight?" ":"")+","+(r.padLeft===!1?"":" ")).trim()}const HS=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,US=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,qS={};function Jp(t,i){return(qS.jsx?US:HS).test(t)}const GS=/[ \t\n\f\r]/g;function $S(t){return typeof t=="object"?t.type==="text"?Wp(t.value):!1:Wp(t)}function Wp(t){return t.replace(GS,"")===""}class ll{constructor(i,r,l){this.normal=r,this.property=i,l&&(this.space=l)}}ll.prototype.normal={};ll.prototype.property={};ll.prototype.space=void 0;function Ty(t,i){const r={},l={};for(const o of t)Object.assign(r,o.property),Object.assign(l,o.normal);return new ll(r,l,i)}function Pc(t){return t.toLowerCase()}class Xt{constructor(i,r){this.attribute=r,this.property=i}}Xt.prototype.attribute="";Xt.prototype.booleanish=!1;Xt.prototype.boolean=!1;Xt.prototype.commaOrSpaceSeparated=!1;Xt.prototype.commaSeparated=!1;Xt.prototype.defined=!1;Xt.prototype.mustUseProperty=!1;Xt.prototype.number=!1;Xt.prototype.overloadedBoolean=!1;Xt.prototype.property="";Xt.prototype.spaceSeparated=!1;Xt.prototype.space=void 0;let FS=0;const Ae=ar(),St=ar(),Yc=ar(),me=ar(),it=ar(),ir=ar(),an=ar();function ar(){return 2**++FS}const Kc=Object.freeze(Object.defineProperty({__proto__:null,boolean:Ae,booleanish:St,commaOrSpaceSeparated:an,commaSeparated:ir,number:me,overloadedBoolean:Yc,spaceSeparated:it},Symbol.toStringTag,{value:"Module"})),Cc=Object.keys(Kc);class fd extends Xt{constructor(i,r,l,o){let d=-1;if(super(i,r),eg(this,"space",o),typeof l=="number")for(;++d<Cc.length;){const u=Cc[d];eg(this,Cc[d],(l&Kc[u])===Kc[u])}}}fd.prototype.defined=!0;function eg(t,i,r){r&&(t[i]=r)}function Wr(t){const i={},r={};for(const[l,o]of Object.entries(t.properties)){const d=new fd(l,t.transform(t.attributes||{},l),o,t.space);t.mustUseProperty&&t.mustUseProperty.includes(l)&&(d.mustUseProperty=!0),i[l]=d,r[Pc(l)]=l,r[Pc(d.attribute)]=l}return new ll(i,r,t.space)}const Ry=Wr({properties:{ariaActiveDescendant:null,ariaAtomic:St,ariaAutoComplete:null,ariaBusy:St,ariaChecked:St,ariaColCount:me,ariaColIndex:me,ariaColSpan:me,ariaControls:it,ariaCurrent:null,ariaDescribedBy:it,ariaDetails:null,ariaDisabled:St,ariaDropEffect:it,ariaErrorMessage:null,ariaExpanded:St,ariaFlowTo:it,ariaGrabbed:St,ariaHasPopup:null,ariaHidden:St,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:it,ariaLevel:me,ariaLive:null,ariaModal:St,ariaMultiLine:St,ariaMultiSelectable:St,ariaOrientation:null,ariaOwns:it,ariaPlaceholder:null,ariaPosInSet:me,ariaPressed:St,ariaReadOnly:St,ariaRelevant:null,ariaRequired:St,ariaRoleDescription:it,ariaRowCount:me,ariaRowIndex:me,ariaRowSpan:me,ariaSelected:St,ariaSetSize:me,ariaSort:null,ariaValueMax:me,ariaValueMin:me,ariaValueNow:me,ariaValueText:null,role:null},transform(t,i){return i==="role"?i:"aria-"+i.slice(4).toLowerCase()}});function Ey(t,i){return i in t?t[i]:i}function Ny(t,i){return Ey(t,i.toLowerCase())}const VS=Wr({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:ir,acceptCharset:it,accessKey:it,action:null,allow:null,allowFullScreen:Ae,allowPaymentRequest:Ae,allowUserMedia:Ae,alpha:Ae,alt:null,as:null,async:Ae,autoCapitalize:null,autoComplete:it,autoFocus:Ae,autoPlay:Ae,blocking:it,capture:null,charSet:null,checked:Ae,cite:null,className:it,closedBy:null,colorSpace:null,cols:me,colSpan:me,command:null,commandFor:null,content:null,contentEditable:St,controls:Ae,controlsList:it,coords:me|ir,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Ae,defer:Ae,dir:null,dirName:null,disabled:Ae,download:Yc,draggable:St,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Ae,formTarget:null,headers:it,height:me,hidden:Yc,high:me,href:null,hrefLang:null,htmlFor:it,httpEquiv:it,id:null,imageSizes:null,imageSrcSet:null,inert:Ae,inputMode:null,integrity:null,is:null,isMap:Ae,itemId:null,itemProp:it,itemRef:it,itemScope:Ae,itemType:it,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Ae,low:me,manifest:null,max:null,maxLength:me,media:null,method:null,min:null,minLength:me,multiple:Ae,muted:Ae,name:null,nonce:null,noModule:Ae,noValidate:Ae,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Ae,optimum:me,pattern:null,ping:it,placeholder:null,playsInline:Ae,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Ae,referrerPolicy:null,rel:it,required:Ae,reversed:Ae,rows:me,rowSpan:me,sandbox:it,scope:null,scoped:Ae,seamless:Ae,selected:Ae,shadowRootClonable:Ae,shadowRootCustomElementRegistry:Ae,shadowRootDelegatesFocus:Ae,shadowRootMode:null,shadowRootSerializable:Ae,shape:null,size:me,sizes:null,slot:null,span:me,spellCheck:St,src:null,srcDoc:null,srcLang:null,srcSet:null,start:me,step:null,style:null,tabIndex:me,target:null,title:null,translate:null,type:null,typeMustMatch:Ae,useMap:null,value:St,width:me,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:it,axis:null,background:null,bgColor:null,border:me,borderColor:null,bottomMargin:me,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Ae,declare:Ae,event:null,face:null,frame:null,frameBorder:null,hSpace:me,leftMargin:me,link:null,longDesc:null,lowSrc:null,marginHeight:me,marginWidth:me,noResize:Ae,noHref:Ae,noShade:Ae,noWrap:Ae,object:null,profile:null,prompt:null,rev:null,rightMargin:me,rules:null,scheme:null,scrolling:St,standby:null,summary:null,text:null,topMargin:me,valueType:null,version:null,vAlign:null,vLink:null,vSpace:me,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:Ae,disablePictureInPicture:Ae,disableRemotePlayback:Ae,exportParts:ir,part:it,prefix:null,property:null,results:me,security:null,unselectable:null},space:"html",transform:Ny}),PS=Wr({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",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",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",maskType:"mask-type",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",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",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",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",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:an,accentHeight:me,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:me,amplitude:me,arabicForm:null,ascent:me,attributeName:null,attributeType:null,azimuth:me,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:me,by:null,calcMode:null,capHeight:me,className:it,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:me,diffuseConstant:me,direction:null,display:null,dur:null,divisor:me,dominantBaseline:null,download:Ae,dx:null,dy:null,edgeMode:null,editable:null,elevation:me,enableBackground:null,end:null,event:null,exponent:me,externalResourcesRequired:null,fill:null,fillOpacity:me,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:ir,g2:ir,glyphName:ir,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:me,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:me,horizOriginX:me,horizOriginY:me,id:null,ideographic:me,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:me,k:me,k1:me,k2:me,k3:me,k4:me,kernelMatrix:an,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:me,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:me,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:me,overlineThickness:me,paintOrder:null,panose1:null,path:null,pathLength:me,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:it,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:me,pointsAtY:me,pointsAtZ:me,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:an,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:an,rev:an,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:an,requiredFeatures:an,requiredFonts:an,requiredFormats:an,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:me,specularExponent:me,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:me,strikethroughThickness:me,string:null,stroke:null,strokeDashArray:an,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:me,strokeOpacity:me,strokeWidth:null,style:null,surfaceScale:me,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:an,tabIndex:me,tableValues:null,target:null,targetX:me,targetY:me,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:an,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:me,underlineThickness:me,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:me,values:null,vAlphabetic:me,vMathematical:me,vectorEffect:null,vHanging:me,vIdeographic:me,version:null,vertAdvY:me,vertOriginX:me,vertOriginY:me,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:me,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:Ey}),Ay=Wr({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(t,i){return"xlink:"+i.slice(5).toLowerCase()}}),Iy=Wr({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:Ny}),Dy=Wr({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(t,i){return"xml:"+i.slice(3).toLowerCase()}}),YS={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},KS=/[A-Z]/g,tg=/-[a-z]/g,XS=/^data[-\w.:]+$/i;function QS(t,i){const r=Pc(i);let l=i,o=Xt;if(r in t.normal)return t.property[t.normal[r]];if(r.length>4&&r.slice(0,4)==="data"&&XS.test(i)){if(i.charAt(4)==="-"){const d=i.slice(5).replace(tg,JS);l="data"+d.charAt(0).toUpperCase()+d.slice(1)}else{const d=i.slice(4);if(!tg.test(d)){let u=d.replace(KS,ZS);u.charAt(0)!=="-"&&(u="-"+u),i="data"+u}}o=fd}return new o(l,i)}function ZS(t){return"-"+t.toLowerCase()}function JS(t){return t.charAt(1).toUpperCase()}const WS=Ty([Ry,VS,Ay,Iy,Dy],"html"),hd=Ty([Ry,PS,Ay,Iy,Dy],"svg");function e0(t){return t.join(" ").trim()}var Fr={},jc,ng;function t0(){if(ng)return jc;ng=1;var t=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,i=/\n/g,r=/^\s*/,l=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,d=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,u=/^[;\s]*/,h=/^\s+|\s+$/g,g=`
12
+ `,p="/",v="*",y="",S="comment",x="declaration";function C(H,R){if(typeof H!="string")throw new TypeError("First argument must be a string");if(!H)return[];R=R||{};var N=1,A=1;function G(X){var B=X.match(i);B&&(N+=B.length);var O=X.lastIndexOf(g);A=~O?X.length-O:A+X.length}function K(){var X={line:N,column:A};return function(B){return B.position=new E(X),ue(),B}}function E(X){this.start=X,this.end={line:N,column:A},this.source=R.source}E.prototype.content=H;function $(X){var B=new Error(R.source+":"+N+":"+A+": "+X);if(B.reason=X,B.filename=R.source,B.line=N,B.column=A,B.source=H,!R.silent)throw B}function te(X){var B=X.exec(H);if(B){var O=B[0];return G(O),H=H.slice(O.length),B}}function ue(){te(r)}function z(X){var B;for(X=X||[];B=F();)B!==!1&&X.push(B);return X}function F(){var X=K();if(!(p!=H.charAt(0)||v!=H.charAt(1))){for(var B=2;y!=H.charAt(B)&&(v!=H.charAt(B)||p!=H.charAt(B+1));)++B;if(B+=2,y===H.charAt(B-1))return $("End of comment missing");var O=H.slice(2,B-2);return A+=2,G(O),H=H.slice(B),A+=2,X({type:S,comment:O})}}function V(){var X=K(),B=te(l);if(B){if(F(),!te(o))return $("property missing ':'");var O=te(d),U=X({type:x,property:I(B[0].replace(t,y)),value:O?I(O[0].replace(t,y)):y});return te(u),U}}function le(){var X=[];z(X);for(var B;B=V();)B!==!1&&(X.push(B),z(X));return X}return ue(),le()}function I(H){return H?H.replace(h,y):y}return jc=C,jc}var ig;function n0(){if(ig)return Fr;ig=1;var t=Fr&&Fr.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(Fr,"__esModule",{value:!0}),Fr.default=r;const i=t(t0());function r(l,o){let d=null;if(!l||typeof l!="string")return d;const u=(0,i.default)(l),h=typeof o=="function";return u.forEach(g=>{if(g.type!=="declaration")return;const{property:p,value:v}=g;h?o(p,v,g):v&&(d=d||{},d[p]=v)}),d}return Fr}var Xa={},rg;function i0(){if(rg)return Xa;rg=1,Object.defineProperty(Xa,"__esModule",{value:!0}),Xa.camelCase=void 0;var t=/^--[a-zA-Z0-9_-]+$/,i=/-([a-z])/g,r=/^[^-]+$/,l=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,d=function(p){return!p||r.test(p)||t.test(p)},u=function(p,v){return v.toUpperCase()},h=function(p,v){return"".concat(v,"-")},g=function(p,v){return v===void 0&&(v={}),d(p)?p:(p=p.toLowerCase(),v.reactCompat?p=p.replace(o,h):p=p.replace(l,h),p.replace(i,u))};return Xa.camelCase=g,Xa}var Qa,ag;function r0(){if(ag)return Qa;ag=1;var t=Qa&&Qa.__importDefault||function(o){return o&&o.__esModule?o:{default:o}},i=t(n0()),r=i0();function l(o,d){var u={};return!o||typeof o!="string"||(0,i.default)(o,function(h,g){h&&g&&(u[(0,r.camelCase)(h,d)]=g)}),u}return l.default=l,Qa=l,Qa}var a0=r0();const l0=od(a0),Oy=My("end"),md=My("start");function My(t){return i;function i(r){const l=r&&r.position&&r.position[t]||{};if(typeof l.line=="number"&&l.line>0&&typeof l.column=="number"&&l.column>0)return{line:l.line,column:l.column,offset:typeof l.offset=="number"&&l.offset>-1?l.offset:void 0}}}function s0(t){const i=md(t),r=Oy(t);if(i&&r)return{start:i,end:r}}function tl(t){return!t||typeof t!="object"?"":"position"in t||"type"in t?lg(t.position):"start"in t||"end"in t?lg(t):"line"in t||"column"in t?Xc(t):""}function Xc(t){return sg(t&&t.line)+":"+sg(t&&t.column)}function lg(t){return Xc(t&&t.start)+"-"+Xc(t&&t.end)}function sg(t){return t&&typeof t=="number"?t:1}class _t extends Error{constructor(i,r,l){super(),typeof r=="string"&&(l=r,r=void 0);let o="",d={},u=!1;if(r&&("line"in r&&"column"in r?d={place:r}:"start"in r&&"end"in r?d={place:r}:"type"in r?d={ancestors:[r],place:r.position}:d={...r}),typeof i=="string"?o=i:!d.cause&&i&&(u=!0,o=i.message,d.cause=i),!d.ruleId&&!d.source&&typeof l=="string"){const g=l.indexOf(":");g===-1?d.ruleId=l:(d.source=l.slice(0,g),d.ruleId=l.slice(g+1))}if(!d.place&&d.ancestors&&d.ancestors){const g=d.ancestors[d.ancestors.length-1];g&&(d.place=g.position)}const h=d.place&&"start"in d.place?d.place.start:d.place;this.ancestors=d.ancestors||void 0,this.cause=d.cause||void 0,this.column=h?h.column:void 0,this.fatal=void 0,this.file="",this.message=o,this.line=h?h.line:void 0,this.name=tl(d.place)||"1:1",this.place=d.place||void 0,this.reason=this.message,this.ruleId=d.ruleId||void 0,this.source=d.source||void 0,this.stack=u&&d.cause&&typeof d.cause.stack=="string"?d.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}_t.prototype.file="";_t.prototype.name="";_t.prototype.reason="";_t.prototype.message="";_t.prototype.stack="";_t.prototype.column=void 0;_t.prototype.line=void 0;_t.prototype.ancestors=void 0;_t.prototype.cause=void 0;_t.prototype.fatal=void 0;_t.prototype.place=void 0;_t.prototype.ruleId=void 0;_t.prototype.source=void 0;const pd={}.hasOwnProperty,o0=new Map,u0=/[A-Z]/g,c0=new Set(["table","tbody","thead","tfoot","tr"]),d0=new Set(["td","th"]),zy="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function f0(t,i){if(!i||i.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const r=i.filePath||void 0;let l;if(i.development){if(typeof i.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");l=x0(r,i.jsxDEV)}else{if(typeof i.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof i.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");l=b0(r,i.jsx,i.jsxs)}const o={Fragment:i.Fragment,ancestors:[],components:i.components||{},create:l,elementAttributeNameCase:i.elementAttributeNameCase||"react",evaluater:i.createEvaluater?i.createEvaluater():void 0,filePath:r,ignoreInvalidStyle:i.ignoreInvalidStyle||!1,passKeys:i.passKeys!==!1,passNode:i.passNode||!1,schema:i.space==="svg"?hd:WS,stylePropertyNameCase:i.stylePropertyNameCase||"dom",tableCellAlignToStyle:i.tableCellAlignToStyle!==!1},d=_y(o,t,void 0);return d&&typeof d!="string"?d:o.create(t,o.Fragment,{children:d||void 0},void 0)}function _y(t,i,r){if(i.type==="element")return h0(t,i,r);if(i.type==="mdxFlowExpression"||i.type==="mdxTextExpression")return m0(t,i);if(i.type==="mdxJsxFlowElement"||i.type==="mdxJsxTextElement")return g0(t,i,r);if(i.type==="mdxjsEsm")return p0(t,i);if(i.type==="root")return y0(t,i,r);if(i.type==="text")return v0(t,i)}function h0(t,i,r){const l=t.schema;let o=l;i.tagName.toLowerCase()==="svg"&&l.space==="html"&&(o=hd,t.schema=o),t.ancestors.push(i);const d=By(t,i.tagName,!1),u=S0(t,i);let h=yd(t,i);return c0.has(i.tagName)&&(h=h.filter(function(g){return typeof g=="string"?!$S(g):!0})),Ly(t,u,d,i),gd(u,h),t.ancestors.pop(),t.schema=l,t.create(i,d,u,r)}function m0(t,i){if(i.data&&i.data.estree&&t.evaluater){const l=i.data.estree.body[0];return l.type,t.evaluater.evaluateExpression(l.expression)}rl(t,i.position)}function p0(t,i){if(i.data&&i.data.estree&&t.evaluater)return t.evaluater.evaluateProgram(i.data.estree);rl(t,i.position)}function g0(t,i,r){const l=t.schema;let o=l;i.name==="svg"&&l.space==="html"&&(o=hd,t.schema=o),t.ancestors.push(i);const d=i.name===null?t.Fragment:By(t,i.name,!0),u=k0(t,i),h=yd(t,i);return Ly(t,u,d,i),gd(u,h),t.ancestors.pop(),t.schema=l,t.create(i,d,u,r)}function y0(t,i,r){const l={};return gd(l,yd(t,i)),t.create(i,t.Fragment,l,r)}function v0(t,i){return i.value}function Ly(t,i,r,l){typeof r!="string"&&r!==t.Fragment&&t.passNode&&(i.node=l)}function gd(t,i){if(i.length>0){const r=i.length>1?i:i[0];r&&(t.children=r)}}function b0(t,i,r){return l;function l(o,d,u,h){const p=Array.isArray(u.children)?r:i;return h?p(d,u,h):p(d,u)}}function x0(t,i){return r;function r(l,o,d,u){const h=Array.isArray(d.children),g=md(l);return i(o,d,u,h,{columnNumber:g?g.column-1:void 0,fileName:t,lineNumber:g?g.line:void 0},void 0)}}function S0(t,i){const r={};let l,o;for(o in i.properties)if(o!=="children"&&pd.call(i.properties,o)){const d=w0(t,o,i.properties[o]);if(d){const[u,h]=d;t.tableCellAlignToStyle&&u==="align"&&typeof h=="string"&&d0.has(i.tagName)?l=h:r[u]=h}}if(l){const d=r.style||(r.style={});d[t.stylePropertyNameCase==="css"?"text-align":"textAlign"]=l}return r}function k0(t,i){const r={};for(const l of i.attributes)if(l.type==="mdxJsxExpressionAttribute")if(l.data&&l.data.estree&&t.evaluater){const d=l.data.estree.body[0];d.type;const u=d.expression;u.type;const h=u.properties[0];h.type,Object.assign(r,t.evaluater.evaluateExpression(h.argument))}else rl(t,i.position);else{const o=l.name;let d;if(l.value&&typeof l.value=="object")if(l.value.data&&l.value.data.estree&&t.evaluater){const h=l.value.data.estree.body[0];h.type,d=t.evaluater.evaluateExpression(h.expression)}else rl(t,i.position);else d=l.value===null?!0:l.value;r[o]=d}return r}function yd(t,i){const r=[];let l=-1;const o=t.passKeys?new Map:o0;for(;++l<i.children.length;){const d=i.children[l];let u;if(t.passKeys){const g=d.type==="element"?d.tagName:d.type==="mdxJsxFlowElement"||d.type==="mdxJsxTextElement"?d.name:void 0;if(g){const p=o.get(g)||0;u=g+"-"+p,o.set(g,p+1)}}const h=_y(t,d,u);h!==void 0&&r.push(h)}return r}function w0(t,i,r){const l=QS(t.schema,i);if(!(r==null||typeof r=="number"&&Number.isNaN(r))){if(Array.isArray(r)&&(r=l.commaSeparated?BS(r):e0(r)),l.property==="style"){let o=typeof r=="object"?r:C0(t,String(r));return t.stylePropertyNameCase==="css"&&(o=j0(o)),["style",o]}return[t.elementAttributeNameCase==="react"&&l.space?YS[l.property]||l.property:l.attribute,r]}}function C0(t,i){try{return l0(i,{reactCompat:!0})}catch(r){if(t.ignoreInvalidStyle)return{};const l=r,o=new _t("Cannot parse `style` attribute",{ancestors:t.ancestors,cause:l,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw o.file=t.filePath||void 0,o.url=zy+"#cannot-parse-style-attribute",o}}function By(t,i,r){let l;if(!r)l={type:"Literal",value:i};else if(i.includes(".")){const o=i.split(".");let d=-1,u;for(;++d<o.length;){const h=Jp(o[d])?{type:"Identifier",name:o[d]}:{type:"Literal",value:o[d]};u=u?{type:"MemberExpression",object:u,property:h,computed:!!(d&&h.type==="Literal"),optional:!1}:h}l=u}else l=Jp(i)&&!/^[a-z]/.test(i)?{type:"Identifier",name:i}:{type:"Literal",value:i};if(l.type==="Literal"){const o=l.value;return pd.call(t.components,o)?t.components[o]:o}if(t.evaluater)return t.evaluater.evaluateExpression(l);rl(t)}function rl(t,i){const r=new _t("Cannot handle MDX estrees without `createEvaluater`",{ancestors:t.ancestors,place:i,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw r.file=t.filePath||void 0,r.url=zy+"#cannot-handle-mdx-estrees-without-createevaluater",r}function j0(t){const i={};let r;for(r in t)pd.call(t,r)&&(i[T0(r)]=t[r]);return i}function T0(t){let i=t.replace(u0,R0);return i.slice(0,3)==="ms-"&&(i="-"+i),i}function R0(t){return"-"+t.toLowerCase()}const Tc={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},E0={};function vd(t,i){const r=E0,l=typeof r.includeImageAlt=="boolean"?r.includeImageAlt:!0,o=typeof r.includeHtml=="boolean"?r.includeHtml:!0;return Hy(t,l,o)}function Hy(t,i,r){if(N0(t)){if("value"in t)return t.type==="html"&&!r?"":t.value;if(i&&"alt"in t&&t.alt)return t.alt;if("children"in t)return og(t.children,i,r)}return Array.isArray(t)?og(t,i,r):""}function og(t,i,r){const l=[];let o=-1;for(;++o<t.length;)l[o]=Hy(t[o],i,r);return l.join("")}function N0(t){return!!(t&&typeof t=="object")}const ug=document.createElement("i");function bd(t){const i="&"+t+";";ug.innerHTML=i;const r=ug.textContent;return r.charCodeAt(r.length-1)===59&&t!=="semi"||r===i?!1:r}function ln(t,i,r,l){const o=t.length;let d=0,u;if(i<0?i=-i>o?0:o+i:i=i>o?o:i,r=r>0?r:0,l.length<1e4)u=Array.from(l),u.unshift(i,r),t.splice(...u);else for(r&&t.splice(i,r);d<l.length;)u=l.slice(d,d+1e4),u.unshift(i,0),t.splice(...u),d+=1e4,i+=1e4}function vn(t,i){return t.length>0?(ln(t,t.length,0,i),t):i}const cg={}.hasOwnProperty;function Uy(t){const i={};let r=-1;for(;++r<t.length;)A0(i,t[r]);return i}function A0(t,i){let r;for(r in i){const o=(cg.call(t,r)?t[r]:void 0)||(t[r]={}),d=i[r];let u;if(d)for(u in d){cg.call(o,u)||(o[u]=[]);const h=d[u];I0(o[u],Array.isArray(h)?h:h?[h]:[])}}}function I0(t,i){let r=-1;const l=[];for(;++r<i.length;)(i[r].add==="after"?t:l).push(i[r]);ln(t,0,0,l)}function qy(t,i){const r=Number.parseInt(t,i);return r<9||r===11||r>13&&r<32||r>126&&r<160||r>55295&&r<57344||r>64975&&r<65008||(r&65535)===65535||(r&65535)===65534||r>1114111?"�":String.fromCodePoint(r)}function wn(t){return t.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Ht=Ii(/[A-Za-z]/),zt=Ii(/[\dA-Za-z]/),D0=Ii(/[#-'*+\--9=?A-Z^-~]/);function zs(t){return t!==null&&(t<32||t===127)}const Qc=Ii(/\d/),O0=Ii(/[\dA-Fa-f]/),M0=Ii(/[!-/:-@[-`{-~]/);function ke(t){return t!==null&&t<-2}function rt(t){return t!==null&&(t<0||t===32)}function Le(t){return t===-2||t===-1||t===32}const Ks=Ii(new RegExp("\\p{P}|\\p{S}","u")),rr=Ii(/\s/);function Ii(t){return i;function i(r){return r!==null&&r>-1&&t.test(String.fromCharCode(r))}}function ea(t){const i=[];let r=-1,l=0,o=0;for(;++r<t.length;){const d=t.charCodeAt(r);let u="";if(d===37&&zt(t.charCodeAt(r+1))&&zt(t.charCodeAt(r+2)))o=2;else if(d<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(d))||(u=String.fromCharCode(d));else if(d>55295&&d<57344){const h=t.charCodeAt(r+1);d<56320&&h>56319&&h<57344?(u=String.fromCharCode(d,h),o=1):u="�"}else u=String.fromCharCode(d);u&&(i.push(t.slice(l,r),encodeURIComponent(u)),l=r+o+1,u=""),o&&(r+=o,o=0)}return i.join("")+t.slice(l)}function Fe(t,i,r,l){const o=l?l-1:Number.POSITIVE_INFINITY;let d=0;return u;function u(g){return Le(g)?(t.enter(r),h(g)):i(g)}function h(g){return Le(g)&&d++<o?(t.consume(g),h):(t.exit(r),i(g))}}const z0={tokenize:_0};function _0(t){const i=t.attempt(this.parser.constructs.contentInitial,l,o);let r;return i;function l(h){if(h===null){t.consume(h);return}return t.enter("lineEnding"),t.consume(h),t.exit("lineEnding"),Fe(t,i,"linePrefix")}function o(h){return t.enter("paragraph"),d(h)}function d(h){const g=t.enter("chunkText",{contentType:"text",previous:r});return r&&(r.next=g),r=g,u(h)}function u(h){if(h===null){t.exit("chunkText"),t.exit("paragraph"),t.consume(h);return}return ke(h)?(t.consume(h),t.exit("chunkText"),d):(t.consume(h),u)}}const L0={tokenize:B0},dg={tokenize:H0};function B0(t){const i=this,r=[];let l=0,o,d,u;return h;function h(A){if(l<r.length){const G=r[l];return i.containerState=G[1],t.attempt(G[0].continuation,g,p)(A)}return p(A)}function g(A){if(l++,i.containerState._closeFlow){i.containerState._closeFlow=void 0,o&&N();const G=i.events.length;let K=G,E;for(;K--;)if(i.events[K][0]==="exit"&&i.events[K][1].type==="chunkFlow"){E=i.events[K][1].end;break}R(l);let $=G;for(;$<i.events.length;)i.events[$][1].end={...E},$++;return ln(i.events,K+1,0,i.events.slice(G)),i.events.length=$,p(A)}return h(A)}function p(A){if(l===r.length){if(!o)return S(A);if(o.currentConstruct&&o.currentConstruct.concrete)return C(A);i.interrupt=!!(o.currentConstruct&&!o._gfmTableDynamicInterruptHack)}return i.containerState={},t.check(dg,v,y)(A)}function v(A){return o&&N(),R(l),S(A)}function y(A){return i.parser.lazy[i.now().line]=l!==r.length,u=i.now().offset,C(A)}function S(A){return i.containerState={},t.attempt(dg,x,C)(A)}function x(A){return l++,r.push([i.currentConstruct,i.containerState]),S(A)}function C(A){if(A===null){o&&N(),R(0),t.consume(A);return}return o=o||i.parser.flow(i.now()),t.enter("chunkFlow",{_tokenizer:o,contentType:"flow",previous:d}),I(A)}function I(A){if(A===null){H(t.exit("chunkFlow"),!0),R(0),t.consume(A);return}return ke(A)?(t.consume(A),H(t.exit("chunkFlow")),l=0,i.interrupt=void 0,h):(t.consume(A),I)}function H(A,G){const K=i.sliceStream(A);if(G&&K.push(null),A.previous=d,d&&(d.next=A),d=A,o.defineSkip(A.start),o.write(K),i.parser.lazy[A.start.line]){let E=o.events.length;for(;E--;)if(o.events[E][1].start.offset<u&&(!o.events[E][1].end||o.events[E][1].end.offset>u))return;const $=i.events.length;let te=$,ue,z;for(;te--;)if(i.events[te][0]==="exit"&&i.events[te][1].type==="chunkFlow"){if(ue){z=i.events[te][1].end;break}ue=!0}for(R(l),E=$;E<i.events.length;)i.events[E][1].end={...z},E++;ln(i.events,te+1,0,i.events.slice($)),i.events.length=E}}function R(A){let G=r.length;for(;G-- >A;){const K=r[G];i.containerState=K[1],K[0].exit.call(i,t)}r.length=A}function N(){o.write([null]),d=void 0,o=void 0,i.containerState._closeFlow=void 0}}function H0(t,i,r){return Fe(t,t.attempt(this.parser.constructs.document,i,r),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Zr(t){if(t===null||rt(t)||rr(t))return 1;if(Ks(t))return 2}function Xs(t,i,r){const l=[];let o=-1;for(;++o<t.length;){const d=t[o].resolveAll;d&&!l.includes(d)&&(i=d(i,r),l.push(d))}return i}const Zc={name:"attention",resolveAll:U0,tokenize:q0};function U0(t,i){let r=-1,l,o,d,u,h,g,p,v;for(;++r<t.length;)if(t[r][0]==="enter"&&t[r][1].type==="attentionSequence"&&t[r][1]._close){for(l=r;l--;)if(t[l][0]==="exit"&&t[l][1].type==="attentionSequence"&&t[l][1]._open&&i.sliceSerialize(t[l][1]).charCodeAt(0)===i.sliceSerialize(t[r][1]).charCodeAt(0)){if((t[l][1]._close||t[r][1]._open)&&(t[r][1].end.offset-t[r][1].start.offset)%3&&!((t[l][1].end.offset-t[l][1].start.offset+t[r][1].end.offset-t[r][1].start.offset)%3))continue;g=t[l][1].end.offset-t[l][1].start.offset>1&&t[r][1].end.offset-t[r][1].start.offset>1?2:1;const y={...t[l][1].end},S={...t[r][1].start};fg(y,-g),fg(S,g),u={type:g>1?"strongSequence":"emphasisSequence",start:y,end:{...t[l][1].end}},h={type:g>1?"strongSequence":"emphasisSequence",start:{...t[r][1].start},end:S},d={type:g>1?"strongText":"emphasisText",start:{...t[l][1].end},end:{...t[r][1].start}},o={type:g>1?"strong":"emphasis",start:{...u.start},end:{...h.end}},t[l][1].end={...u.start},t[r][1].start={...h.end},p=[],t[l][1].end.offset-t[l][1].start.offset&&(p=vn(p,[["enter",t[l][1],i],["exit",t[l][1],i]])),p=vn(p,[["enter",o,i],["enter",u,i],["exit",u,i],["enter",d,i]]),p=vn(p,Xs(i.parser.constructs.insideSpan.null,t.slice(l+1,r),i)),p=vn(p,[["exit",d,i],["enter",h,i],["exit",h,i],["exit",o,i]]),t[r][1].end.offset-t[r][1].start.offset?(v=2,p=vn(p,[["enter",t[r][1],i],["exit",t[r][1],i]])):v=0,ln(t,l-1,r-l+3,p),r=l+p.length-v-2;break}}for(r=-1;++r<t.length;)t[r][1].type==="attentionSequence"&&(t[r][1].type="data");return t}function q0(t,i){const r=this.parser.constructs.attentionMarkers.null,l=this.previous,o=Zr(l);let d;return u;function u(g){return d=g,t.enter("attentionSequence"),h(g)}function h(g){if(g===d)return t.consume(g),h;const p=t.exit("attentionSequence"),v=Zr(g),y=!v||v===2&&o||r.includes(g),S=!o||o===2&&v||r.includes(l);return p._open=!!(d===42?y:y&&(o||!S)),p._close=!!(d===42?S:S&&(v||!y)),i(g)}}function fg(t,i){t.column+=i,t.offset+=i,t._bufferIndex+=i}const G0={name:"autolink",tokenize:$0};function $0(t,i,r){let l=0;return o;function o(x){return t.enter("autolink"),t.enter("autolinkMarker"),t.consume(x),t.exit("autolinkMarker"),t.enter("autolinkProtocol"),d}function d(x){return Ht(x)?(t.consume(x),u):x===64?r(x):p(x)}function u(x){return x===43||x===45||x===46||zt(x)?(l=1,h(x)):p(x)}function h(x){return x===58?(t.consume(x),l=0,g):(x===43||x===45||x===46||zt(x))&&l++<32?(t.consume(x),h):(l=0,p(x))}function g(x){return x===62?(t.exit("autolinkProtocol"),t.enter("autolinkMarker"),t.consume(x),t.exit("autolinkMarker"),t.exit("autolink"),i):x===null||x===32||x===60||zs(x)?r(x):(t.consume(x),g)}function p(x){return x===64?(t.consume(x),v):D0(x)?(t.consume(x),p):r(x)}function v(x){return zt(x)?y(x):r(x)}function y(x){return x===46?(t.consume(x),l=0,v):x===62?(t.exit("autolinkProtocol").type="autolinkEmail",t.enter("autolinkMarker"),t.consume(x),t.exit("autolinkMarker"),t.exit("autolink"),i):S(x)}function S(x){if((x===45||zt(x))&&l++<63){const C=x===45?S:y;return t.consume(x),C}return r(x)}}const sl={partial:!0,tokenize:F0};function F0(t,i,r){return l;function l(d){return Le(d)?Fe(t,o,"linePrefix")(d):o(d)}function o(d){return d===null||ke(d)?i(d):r(d)}}const Gy={continuation:{tokenize:P0},exit:Y0,name:"blockQuote",tokenize:V0};function V0(t,i,r){const l=this;return o;function o(u){if(u===62){const h=l.containerState;return h.open||(t.enter("blockQuote",{_container:!0}),h.open=!0),t.enter("blockQuotePrefix"),t.enter("blockQuoteMarker"),t.consume(u),t.exit("blockQuoteMarker"),d}return r(u)}function d(u){return Le(u)?(t.enter("blockQuotePrefixWhitespace"),t.consume(u),t.exit("blockQuotePrefixWhitespace"),t.exit("blockQuotePrefix"),i):(t.exit("blockQuotePrefix"),i(u))}}function P0(t,i,r){const l=this;return o;function o(u){return Le(u)?Fe(t,d,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(u):d(u)}function d(u){return t.attempt(Gy,i,r)(u)}}function Y0(t){t.exit("blockQuote")}const $y={name:"characterEscape",tokenize:K0};function K0(t,i,r){return l;function l(d){return t.enter("characterEscape"),t.enter("escapeMarker"),t.consume(d),t.exit("escapeMarker"),o}function o(d){return M0(d)?(t.enter("characterEscapeValue"),t.consume(d),t.exit("characterEscapeValue"),t.exit("characterEscape"),i):r(d)}}const Fy={name:"characterReference",tokenize:X0};function X0(t,i,r){const l=this;let o=0,d,u;return h;function h(y){return t.enter("characterReference"),t.enter("characterReferenceMarker"),t.consume(y),t.exit("characterReferenceMarker"),g}function g(y){return y===35?(t.enter("characterReferenceMarkerNumeric"),t.consume(y),t.exit("characterReferenceMarkerNumeric"),p):(t.enter("characterReferenceValue"),d=31,u=zt,v(y))}function p(y){return y===88||y===120?(t.enter("characterReferenceMarkerHexadecimal"),t.consume(y),t.exit("characterReferenceMarkerHexadecimal"),t.enter("characterReferenceValue"),d=6,u=O0,v):(t.enter("characterReferenceValue"),d=7,u=Qc,v(y))}function v(y){if(y===59&&o){const S=t.exit("characterReferenceValue");return u===zt&&!bd(l.sliceSerialize(S))?r(y):(t.enter("characterReferenceMarker"),t.consume(y),t.exit("characterReferenceMarker"),t.exit("characterReference"),i)}return u(y)&&o++<d?(t.consume(y),v):r(y)}}const hg={partial:!0,tokenize:Z0},mg={concrete:!0,name:"codeFenced",tokenize:Q0};function Q0(t,i,r){const l=this,o={partial:!0,tokenize:K};let d=0,u=0,h;return g;function g(E){return p(E)}function p(E){const $=l.events[l.events.length-1];return d=$&&$[1].type==="linePrefix"?$[2].sliceSerialize($[1],!0).length:0,h=E,t.enter("codeFenced"),t.enter("codeFencedFence"),t.enter("codeFencedFenceSequence"),v(E)}function v(E){return E===h?(u++,t.consume(E),v):u<3?r(E):(t.exit("codeFencedFenceSequence"),Le(E)?Fe(t,y,"whitespace")(E):y(E))}function y(E){return E===null||ke(E)?(t.exit("codeFencedFence"),l.interrupt?i(E):t.check(hg,I,G)(E)):(t.enter("codeFencedFenceInfo"),t.enter("chunkString",{contentType:"string"}),S(E))}function S(E){return E===null||ke(E)?(t.exit("chunkString"),t.exit("codeFencedFenceInfo"),y(E)):Le(E)?(t.exit("chunkString"),t.exit("codeFencedFenceInfo"),Fe(t,x,"whitespace")(E)):E===96&&E===h?r(E):(t.consume(E),S)}function x(E){return E===null||ke(E)?y(E):(t.enter("codeFencedFenceMeta"),t.enter("chunkString",{contentType:"string"}),C(E))}function C(E){return E===null||ke(E)?(t.exit("chunkString"),t.exit("codeFencedFenceMeta"),y(E)):E===96&&E===h?r(E):(t.consume(E),C)}function I(E){return t.attempt(o,G,H)(E)}function H(E){return t.enter("lineEnding"),t.consume(E),t.exit("lineEnding"),R}function R(E){return d>0&&Le(E)?Fe(t,N,"linePrefix",d+1)(E):N(E)}function N(E){return E===null||ke(E)?t.check(hg,I,G)(E):(t.enter("codeFlowValue"),A(E))}function A(E){return E===null||ke(E)?(t.exit("codeFlowValue"),N(E)):(t.consume(E),A)}function G(E){return t.exit("codeFenced"),i(E)}function K(E,$,te){let ue=0;return z;function z(B){return E.enter("lineEnding"),E.consume(B),E.exit("lineEnding"),F}function F(B){return E.enter("codeFencedFence"),Le(B)?Fe(E,V,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(B):V(B)}function V(B){return B===h?(E.enter("codeFencedFenceSequence"),le(B)):te(B)}function le(B){return B===h?(ue++,E.consume(B),le):ue>=u?(E.exit("codeFencedFenceSequence"),Le(B)?Fe(E,X,"whitespace")(B):X(B)):te(B)}function X(B){return B===null||ke(B)?(E.exit("codeFencedFence"),$(B)):te(B)}}}function Z0(t,i,r){const l=this;return o;function o(u){return u===null?r(u):(t.enter("lineEnding"),t.consume(u),t.exit("lineEnding"),d)}function d(u){return l.parser.lazy[l.now().line]?r(u):i(u)}}const Rc={name:"codeIndented",tokenize:W0},J0={partial:!0,tokenize:ek};function W0(t,i,r){const l=this;return o;function o(p){return t.enter("codeIndented"),Fe(t,d,"linePrefix",5)(p)}function d(p){const v=l.events[l.events.length-1];return v&&v[1].type==="linePrefix"&&v[2].sliceSerialize(v[1],!0).length>=4?u(p):r(p)}function u(p){return p===null?g(p):ke(p)?t.attempt(J0,u,g)(p):(t.enter("codeFlowValue"),h(p))}function h(p){return p===null||ke(p)?(t.exit("codeFlowValue"),u(p)):(t.consume(p),h)}function g(p){return t.exit("codeIndented"),i(p)}}function ek(t,i,r){const l=this;return o;function o(u){return l.parser.lazy[l.now().line]?r(u):ke(u)?(t.enter("lineEnding"),t.consume(u),t.exit("lineEnding"),o):Fe(t,d,"linePrefix",5)(u)}function d(u){const h=l.events[l.events.length-1];return h&&h[1].type==="linePrefix"&&h[2].sliceSerialize(h[1],!0).length>=4?i(u):ke(u)?o(u):r(u)}}const tk={name:"codeText",previous:ik,resolve:nk,tokenize:rk};function nk(t){let i=t.length-4,r=3,l,o;if((t[r][1].type==="lineEnding"||t[r][1].type==="space")&&(t[i][1].type==="lineEnding"||t[i][1].type==="space")){for(l=r;++l<i;)if(t[l][1].type==="codeTextData"){t[r][1].type="codeTextPadding",t[i][1].type="codeTextPadding",r+=2,i-=2;break}}for(l=r-1,i++;++l<=i;)o===void 0?l!==i&&t[l][1].type!=="lineEnding"&&(o=l):(l===i||t[l][1].type==="lineEnding")&&(t[o][1].type="codeTextData",l!==o+2&&(t[o][1].end=t[l-1][1].end,t.splice(o+2,l-o-2),i-=l-o-2,l=o+2),o=void 0);return t}function ik(t){return t!==96||this.events[this.events.length-1][1].type==="characterEscape"}function rk(t,i,r){let l=0,o,d;return u;function u(y){return t.enter("codeText"),t.enter("codeTextSequence"),h(y)}function h(y){return y===96?(t.consume(y),l++,h):(t.exit("codeTextSequence"),g(y))}function g(y){return y===null?r(y):y===32?(t.enter("space"),t.consume(y),t.exit("space"),g):y===96?(d=t.enter("codeTextSequence"),o=0,v(y)):ke(y)?(t.enter("lineEnding"),t.consume(y),t.exit("lineEnding"),g):(t.enter("codeTextData"),p(y))}function p(y){return y===null||y===32||y===96||ke(y)?(t.exit("codeTextData"),g(y)):(t.consume(y),p)}function v(y){return y===96?(t.consume(y),o++,v):o===l?(t.exit("codeTextSequence"),t.exit("codeText"),i(y)):(d.type="codeTextData",p(y))}}class ak{constructor(i){this.left=i?[...i]:[],this.right=[]}get(i){if(i<0||i>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+i+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return i<this.left.length?this.left[i]:this.right[this.right.length-i+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(i,r){const l=r??Number.POSITIVE_INFINITY;return l<this.left.length?this.left.slice(i,l):i>this.left.length?this.right.slice(this.right.length-l+this.left.length,this.right.length-i+this.left.length).reverse():this.left.slice(i).concat(this.right.slice(this.right.length-l+this.left.length).reverse())}splice(i,r,l){const o=r||0;this.setCursor(Math.trunc(i));const d=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return l&&Za(this.left,l),d.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(i){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(i)}pushMany(i){this.setCursor(Number.POSITIVE_INFINITY),Za(this.left,i)}unshift(i){this.setCursor(0),this.right.push(i)}unshiftMany(i){this.setCursor(0),Za(this.right,i.reverse())}setCursor(i){if(!(i===this.left.length||i>this.left.length&&this.right.length===0||i<0&&this.left.length===0))if(i<this.left.length){const r=this.left.splice(i,Number.POSITIVE_INFINITY);Za(this.right,r.reverse())}else{const r=this.right.splice(this.left.length+this.right.length-i,Number.POSITIVE_INFINITY);Za(this.left,r.reverse())}}}function Za(t,i){let r=0;if(i.length<1e4)t.push(...i);else for(;r<i.length;)t.push(...i.slice(r,r+1e4)),r+=1e4}function Vy(t){const i={};let r=-1,l,o,d,u,h,g,p;const v=new ak(t);for(;++r<v.length;){for(;r in i;)r=i[r];if(l=v.get(r),r&&l[1].type==="chunkFlow"&&v.get(r-1)[1].type==="listItemPrefix"&&(g=l[1]._tokenizer.events,d=0,d<g.length&&g[d][1].type==="lineEndingBlank"&&(d+=2),d<g.length&&g[d][1].type==="content"))for(;++d<g.length&&g[d][1].type!=="content";)g[d][1].type==="chunkText"&&(g[d][1]._isInFirstContentOfListItem=!0,d++);if(l[0]==="enter")l[1].contentType&&(Object.assign(i,lk(v,r)),r=i[r],p=!0);else if(l[1]._container){for(d=r,o=void 0;d--;)if(u=v.get(d),u[1].type==="lineEnding"||u[1].type==="lineEndingBlank")u[0]==="enter"&&(o&&(v.get(o)[1].type="lineEndingBlank"),u[1].type="lineEnding",o=d);else if(!(u[1].type==="linePrefix"||u[1].type==="listItemIndent"))break;o&&(l[1].end={...v.get(o)[1].start},h=v.slice(o,r),h.unshift(l),v.splice(o,r-o+1,h))}}return ln(t,0,Number.POSITIVE_INFINITY,v.slice(0)),!p}function lk(t,i){const r=t.get(i)[1],l=t.get(i)[2];let o=i-1;const d=[];let u=r._tokenizer;u||(u=l.parser[r.contentType](r.start),r._contentTypeTextTrailing&&(u._contentTypeTextTrailing=!0));const h=u.events,g=[],p={};let v,y,S=-1,x=r,C=0,I=0;const H=[I];for(;x;){for(;t.get(++o)[1]!==x;);d.push(o),x._tokenizer||(v=l.sliceStream(x),x.next||v.push(null),y&&u.defineSkip(x.start),x._isInFirstContentOfListItem&&(u._gfmTasklistFirstContentOfListItem=!0),u.write(v),x._isInFirstContentOfListItem&&(u._gfmTasklistFirstContentOfListItem=void 0)),y=x,x=x.next}for(x=r;++S<h.length;)h[S][0]==="exit"&&h[S-1][0]==="enter"&&h[S][1].type===h[S-1][1].type&&h[S][1].start.line!==h[S][1].end.line&&(I=S+1,H.push(I),x._tokenizer=void 0,x.previous=void 0,x=x.next);for(u.events=[],x?(x._tokenizer=void 0,x.previous=void 0):H.pop(),S=H.length;S--;){const R=h.slice(H[S],H[S+1]),N=d.pop();g.push([N,N+R.length-1]),t.splice(N,2,R)}for(g.reverse(),S=-1;++S<g.length;)p[C+g[S][0]]=C+g[S][1],C+=g[S][1]-g[S][0]-1;return p}const sk={resolve:uk,tokenize:ck},ok={partial:!0,tokenize:dk};function uk(t){return Vy(t),t}function ck(t,i){let r;return l;function l(h){return t.enter("content"),r=t.enter("chunkContent",{contentType:"content"}),o(h)}function o(h){return h===null?d(h):ke(h)?t.check(ok,u,d)(h):(t.consume(h),o)}function d(h){return t.exit("chunkContent"),t.exit("content"),i(h)}function u(h){return t.consume(h),t.exit("chunkContent"),r.next=t.enter("chunkContent",{contentType:"content",previous:r}),r=r.next,o}}function dk(t,i,r){const l=this;return o;function o(u){return t.exit("chunkContent"),t.enter("lineEnding"),t.consume(u),t.exit("lineEnding"),Fe(t,d,"linePrefix")}function d(u){if(u===null||ke(u))return r(u);const h=l.events[l.events.length-1];return!l.parser.constructs.disable.null.includes("codeIndented")&&h&&h[1].type==="linePrefix"&&h[2].sliceSerialize(h[1],!0).length>=4?i(u):t.interrupt(l.parser.constructs.flow,r,i)(u)}}function Py(t,i,r,l,o,d,u,h,g){const p=g||Number.POSITIVE_INFINITY;let v=0;return y;function y(R){return R===60?(t.enter(l),t.enter(o),t.enter(d),t.consume(R),t.exit(d),S):R===null||R===32||R===41||zs(R)?r(R):(t.enter(l),t.enter(u),t.enter(h),t.enter("chunkString",{contentType:"string"}),I(R))}function S(R){return R===62?(t.enter(d),t.consume(R),t.exit(d),t.exit(o),t.exit(l),i):(t.enter(h),t.enter("chunkString",{contentType:"string"}),x(R))}function x(R){return R===62?(t.exit("chunkString"),t.exit(h),S(R)):R===null||R===60||ke(R)?r(R):(t.consume(R),R===92?C:x)}function C(R){return R===60||R===62||R===92?(t.consume(R),x):x(R)}function I(R){return!v&&(R===null||R===41||rt(R))?(t.exit("chunkString"),t.exit(h),t.exit(u),t.exit(l),i(R)):v<p&&R===40?(t.consume(R),v++,I):R===41?(t.consume(R),v--,I):R===null||R===32||R===40||zs(R)?r(R):(t.consume(R),R===92?H:I)}function H(R){return R===40||R===41||R===92?(t.consume(R),I):I(R)}}function Yy(t,i,r,l,o,d){const u=this;let h=0,g;return p;function p(x){return t.enter(l),t.enter(o),t.consume(x),t.exit(o),t.enter(d),v}function v(x){return h>999||x===null||x===91||x===93&&!g||x===94&&!h&&"_hiddenFootnoteSupport"in u.parser.constructs?r(x):x===93?(t.exit(d),t.enter(o),t.consume(x),t.exit(o),t.exit(l),i):ke(x)?(t.enter("lineEnding"),t.consume(x),t.exit("lineEnding"),v):(t.enter("chunkString",{contentType:"string"}),y(x))}function y(x){return x===null||x===91||x===93||ke(x)||h++>999?(t.exit("chunkString"),v(x)):(t.consume(x),g||(g=!Le(x)),x===92?S:y)}function S(x){return x===91||x===92||x===93?(t.consume(x),h++,y):y(x)}}function Ky(t,i,r,l,o,d){let u;return h;function h(S){return S===34||S===39||S===40?(t.enter(l),t.enter(o),t.consume(S),t.exit(o),u=S===40?41:S,g):r(S)}function g(S){return S===u?(t.enter(o),t.consume(S),t.exit(o),t.exit(l),i):(t.enter(d),p(S))}function p(S){return S===u?(t.exit(d),g(u)):S===null?r(S):ke(S)?(t.enter("lineEnding"),t.consume(S),t.exit("lineEnding"),Fe(t,p,"linePrefix")):(t.enter("chunkString",{contentType:"string"}),v(S))}function v(S){return S===u||S===null||ke(S)?(t.exit("chunkString"),p(S)):(t.consume(S),S===92?y:v)}function y(S){return S===u||S===92?(t.consume(S),v):v(S)}}function nl(t,i){let r;return l;function l(o){return ke(o)?(t.enter("lineEnding"),t.consume(o),t.exit("lineEnding"),r=!0,l):Le(o)?Fe(t,l,r?"linePrefix":"lineSuffix")(o):i(o)}}const fk={name:"definition",tokenize:mk},hk={partial:!0,tokenize:pk};function mk(t,i,r){const l=this;let o;return d;function d(x){return t.enter("definition"),u(x)}function u(x){return Yy.call(l,t,h,r,"definitionLabel","definitionLabelMarker","definitionLabelString")(x)}function h(x){return o=wn(l.sliceSerialize(l.events[l.events.length-1][1]).slice(1,-1)),x===58?(t.enter("definitionMarker"),t.consume(x),t.exit("definitionMarker"),g):r(x)}function g(x){return rt(x)?nl(t,p)(x):p(x)}function p(x){return Py(t,v,r,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(x)}function v(x){return t.attempt(hk,y,y)(x)}function y(x){return Le(x)?Fe(t,S,"whitespace")(x):S(x)}function S(x){return x===null||ke(x)?(t.exit("definition"),l.parser.defined.push(o),i(x)):r(x)}}function pk(t,i,r){return l;function l(h){return rt(h)?nl(t,o)(h):r(h)}function o(h){return Ky(t,d,r,"definitionTitle","definitionTitleMarker","definitionTitleString")(h)}function d(h){return Le(h)?Fe(t,u,"whitespace")(h):u(h)}function u(h){return h===null||ke(h)?i(h):r(h)}}const gk={name:"hardBreakEscape",tokenize:yk};function yk(t,i,r){return l;function l(d){return t.enter("hardBreakEscape"),t.consume(d),o}function o(d){return ke(d)?(t.exit("hardBreakEscape"),i(d)):r(d)}}const vk={name:"headingAtx",resolve:bk,tokenize:xk};function bk(t,i){let r=t.length-2,l=3,o,d;return t[l][1].type==="whitespace"&&(l+=2),r-2>l&&t[r][1].type==="whitespace"&&(r-=2),t[r][1].type==="atxHeadingSequence"&&(l===r-1||r-4>l&&t[r-2][1].type==="whitespace")&&(r-=l+1===r?2:4),r>l&&(o={type:"atxHeadingText",start:t[l][1].start,end:t[r][1].end},d={type:"chunkText",start:t[l][1].start,end:t[r][1].end,contentType:"text"},ln(t,l,r-l+1,[["enter",o,i],["enter",d,i],["exit",d,i],["exit",o,i]])),t}function xk(t,i,r){let l=0;return o;function o(v){return t.enter("atxHeading"),d(v)}function d(v){return t.enter("atxHeadingSequence"),u(v)}function u(v){return v===35&&l++<6?(t.consume(v),u):v===null||rt(v)?(t.exit("atxHeadingSequence"),h(v)):r(v)}function h(v){return v===35?(t.enter("atxHeadingSequence"),g(v)):v===null||ke(v)?(t.exit("atxHeading"),i(v)):Le(v)?Fe(t,h,"whitespace")(v):(t.enter("atxHeadingText"),p(v))}function g(v){return v===35?(t.consume(v),g):(t.exit("atxHeadingSequence"),h(v))}function p(v){return v===null||v===35||rt(v)?(t.exit("atxHeadingText"),h(v)):(t.consume(v),p)}}const Sk=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],pg=["pre","script","style","textarea"],kk={concrete:!0,name:"htmlFlow",resolveTo:jk,tokenize:Tk},wk={partial:!0,tokenize:Ek},Ck={partial:!0,tokenize:Rk};function jk(t){let i=t.length;for(;i--&&!(t[i][0]==="enter"&&t[i][1].type==="htmlFlow"););return i>1&&t[i-2][1].type==="linePrefix"&&(t[i][1].start=t[i-2][1].start,t[i+1][1].start=t[i-2][1].start,t.splice(i-2,2)),t}function Tk(t,i,r){const l=this;let o,d,u,h,g;return p;function p(w){return v(w)}function v(w){return t.enter("htmlFlow"),t.enter("htmlFlowData"),t.consume(w),y}function y(w){return w===33?(t.consume(w),S):w===47?(t.consume(w),d=!0,I):w===63?(t.consume(w),o=3,l.interrupt?i:T):Ht(w)?(t.consume(w),u=String.fromCharCode(w),H):r(w)}function S(w){return w===45?(t.consume(w),o=2,x):w===91?(t.consume(w),o=5,h=0,C):Ht(w)?(t.consume(w),o=4,l.interrupt?i:T):r(w)}function x(w){return w===45?(t.consume(w),l.interrupt?i:T):r(w)}function C(w){const re="CDATA[";return w===re.charCodeAt(h++)?(t.consume(w),h===re.length?l.interrupt?i:V:C):r(w)}function I(w){return Ht(w)?(t.consume(w),u=String.fromCharCode(w),H):r(w)}function H(w){if(w===null||w===47||w===62||rt(w)){const re=w===47,de=u.toLowerCase();return!re&&!d&&pg.includes(de)?(o=1,l.interrupt?i(w):V(w)):Sk.includes(u.toLowerCase())?(o=6,re?(t.consume(w),R):l.interrupt?i(w):V(w)):(o=7,l.interrupt&&!l.parser.lazy[l.now().line]?r(w):d?N(w):A(w))}return w===45||zt(w)?(t.consume(w),u+=String.fromCharCode(w),H):r(w)}function R(w){return w===62?(t.consume(w),l.interrupt?i:V):r(w)}function N(w){return Le(w)?(t.consume(w),N):z(w)}function A(w){return w===47?(t.consume(w),z):w===58||w===95||Ht(w)?(t.consume(w),G):Le(w)?(t.consume(w),A):z(w)}function G(w){return w===45||w===46||w===58||w===95||zt(w)?(t.consume(w),G):K(w)}function K(w){return w===61?(t.consume(w),E):Le(w)?(t.consume(w),K):A(w)}function E(w){return w===null||w===60||w===61||w===62||w===96?r(w):w===34||w===39?(t.consume(w),g=w,$):Le(w)?(t.consume(w),E):te(w)}function $(w){return w===g?(t.consume(w),g=null,ue):w===null||ke(w)?r(w):(t.consume(w),$)}function te(w){return w===null||w===34||w===39||w===47||w===60||w===61||w===62||w===96||rt(w)?K(w):(t.consume(w),te)}function ue(w){return w===47||w===62||Le(w)?A(w):r(w)}function z(w){return w===62?(t.consume(w),F):r(w)}function F(w){return w===null||ke(w)?V(w):Le(w)?(t.consume(w),F):r(w)}function V(w){return w===45&&o===2?(t.consume(w),O):w===60&&o===1?(t.consume(w),U):w===62&&o===4?(t.consume(w),D):w===63&&o===3?(t.consume(w),T):w===93&&o===5?(t.consume(w),W):ke(w)&&(o===6||o===7)?(t.exit("htmlFlowData"),t.check(wk,M,le)(w)):w===null||ke(w)?(t.exit("htmlFlowData"),le(w)):(t.consume(w),V)}function le(w){return t.check(Ck,X,M)(w)}function X(w){return t.enter("lineEnding"),t.consume(w),t.exit("lineEnding"),B}function B(w){return w===null||ke(w)?le(w):(t.enter("htmlFlowData"),V(w))}function O(w){return w===45?(t.consume(w),T):V(w)}function U(w){return w===47?(t.consume(w),u="",_):V(w)}function _(w){if(w===62){const re=u.toLowerCase();return pg.includes(re)?(t.consume(w),D):V(w)}return Ht(w)&&u.length<8?(t.consume(w),u+=String.fromCharCode(w),_):V(w)}function W(w){return w===93?(t.consume(w),T):V(w)}function T(w){return w===62?(t.consume(w),D):w===45&&o===2?(t.consume(w),T):V(w)}function D(w){return w===null||ke(w)?(t.exit("htmlFlowData"),M(w)):(t.consume(w),D)}function M(w){return t.exit("htmlFlow"),i(w)}}function Rk(t,i,r){const l=this;return o;function o(u){return ke(u)?(t.enter("lineEnding"),t.consume(u),t.exit("lineEnding"),d):r(u)}function d(u){return l.parser.lazy[l.now().line]?r(u):i(u)}}function Ek(t,i,r){return l;function l(o){return t.enter("lineEnding"),t.consume(o),t.exit("lineEnding"),t.attempt(sl,i,r)}}const Nk={name:"htmlText",tokenize:Ak};function Ak(t,i,r){const l=this;let o,d,u;return h;function h(T){return t.enter("htmlText"),t.enter("htmlTextData"),t.consume(T),g}function g(T){return T===33?(t.consume(T),p):T===47?(t.consume(T),K):T===63?(t.consume(T),A):Ht(T)?(t.consume(T),te):r(T)}function p(T){return T===45?(t.consume(T),v):T===91?(t.consume(T),d=0,C):Ht(T)?(t.consume(T),N):r(T)}function v(T){return T===45?(t.consume(T),x):r(T)}function y(T){return T===null?r(T):T===45?(t.consume(T),S):ke(T)?(u=y,U(T)):(t.consume(T),y)}function S(T){return T===45?(t.consume(T),x):y(T)}function x(T){return T===62?O(T):T===45?S(T):y(T)}function C(T){const D="CDATA[";return T===D.charCodeAt(d++)?(t.consume(T),d===D.length?I:C):r(T)}function I(T){return T===null?r(T):T===93?(t.consume(T),H):ke(T)?(u=I,U(T)):(t.consume(T),I)}function H(T){return T===93?(t.consume(T),R):I(T)}function R(T){return T===62?O(T):T===93?(t.consume(T),R):I(T)}function N(T){return T===null||T===62?O(T):ke(T)?(u=N,U(T)):(t.consume(T),N)}function A(T){return T===null?r(T):T===63?(t.consume(T),G):ke(T)?(u=A,U(T)):(t.consume(T),A)}function G(T){return T===62?O(T):A(T)}function K(T){return Ht(T)?(t.consume(T),E):r(T)}function E(T){return T===45||zt(T)?(t.consume(T),E):$(T)}function $(T){return ke(T)?(u=$,U(T)):Le(T)?(t.consume(T),$):O(T)}function te(T){return T===45||zt(T)?(t.consume(T),te):T===47||T===62||rt(T)?ue(T):r(T)}function ue(T){return T===47?(t.consume(T),O):T===58||T===95||Ht(T)?(t.consume(T),z):ke(T)?(u=ue,U(T)):Le(T)?(t.consume(T),ue):O(T)}function z(T){return T===45||T===46||T===58||T===95||zt(T)?(t.consume(T),z):F(T)}function F(T){return T===61?(t.consume(T),V):ke(T)?(u=F,U(T)):Le(T)?(t.consume(T),F):ue(T)}function V(T){return T===null||T===60||T===61||T===62||T===96?r(T):T===34||T===39?(t.consume(T),o=T,le):ke(T)?(u=V,U(T)):Le(T)?(t.consume(T),V):(t.consume(T),X)}function le(T){return T===o?(t.consume(T),o=void 0,B):T===null?r(T):ke(T)?(u=le,U(T)):(t.consume(T),le)}function X(T){return T===null||T===34||T===39||T===60||T===61||T===96?r(T):T===47||T===62||rt(T)?ue(T):(t.consume(T),X)}function B(T){return T===47||T===62||rt(T)?ue(T):r(T)}function O(T){return T===62?(t.consume(T),t.exit("htmlTextData"),t.exit("htmlText"),i):r(T)}function U(T){return t.exit("htmlTextData"),t.enter("lineEnding"),t.consume(T),t.exit("lineEnding"),_}function _(T){return Le(T)?Fe(t,W,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(T):W(T)}function W(T){return t.enter("htmlTextData"),u(T)}}const xd={name:"labelEnd",resolveAll:Mk,resolveTo:zk,tokenize:_k},Ik={tokenize:Lk},Dk={tokenize:Bk},Ok={tokenize:Hk};function Mk(t){let i=-1;const r=[];for(;++i<t.length;){const l=t[i][1];if(r.push(t[i]),l.type==="labelImage"||l.type==="labelLink"||l.type==="labelEnd"){const o=l.type==="labelImage"?4:2;l.type="data",i+=o}}return t.length!==r.length&&ln(t,0,t.length,r),t}function zk(t,i){let r=t.length,l=0,o,d,u,h;for(;r--;)if(o=t[r][1],d){if(o.type==="link"||o.type==="labelLink"&&o._inactive)break;t[r][0]==="enter"&&o.type==="labelLink"&&(o._inactive=!0)}else if(u){if(t[r][0]==="enter"&&(o.type==="labelImage"||o.type==="labelLink")&&!o._balanced&&(d=r,o.type!=="labelLink")){l=2;break}}else o.type==="labelEnd"&&(u=r);const g={type:t[d][1].type==="labelLink"?"link":"image",start:{...t[d][1].start},end:{...t[t.length-1][1].end}},p={type:"label",start:{...t[d][1].start},end:{...t[u][1].end}},v={type:"labelText",start:{...t[d+l+2][1].end},end:{...t[u-2][1].start}};return h=[["enter",g,i],["enter",p,i]],h=vn(h,t.slice(d+1,d+l+3)),h=vn(h,[["enter",v,i]]),h=vn(h,Xs(i.parser.constructs.insideSpan.null,t.slice(d+l+4,u-3),i)),h=vn(h,[["exit",v,i],t[u-2],t[u-1],["exit",p,i]]),h=vn(h,t.slice(u+1)),h=vn(h,[["exit",g,i]]),ln(t,d,t.length,h),t}function _k(t,i,r){const l=this;let o=l.events.length,d,u;for(;o--;)if((l.events[o][1].type==="labelImage"||l.events[o][1].type==="labelLink")&&!l.events[o][1]._balanced){d=l.events[o][1];break}return h;function h(S){return d?d._inactive?y(S):(u=l.parser.defined.includes(wn(l.sliceSerialize({start:d.end,end:l.now()}))),t.enter("labelEnd"),t.enter("labelMarker"),t.consume(S),t.exit("labelMarker"),t.exit("labelEnd"),g):r(S)}function g(S){return S===40?t.attempt(Ik,v,u?v:y)(S):S===91?t.attempt(Dk,v,u?p:y)(S):u?v(S):y(S)}function p(S){return t.attempt(Ok,v,y)(S)}function v(S){return i(S)}function y(S){return d._balanced=!0,r(S)}}function Lk(t,i,r){return l;function l(y){return t.enter("resource"),t.enter("resourceMarker"),t.consume(y),t.exit("resourceMarker"),o}function o(y){return rt(y)?nl(t,d)(y):d(y)}function d(y){return y===41?v(y):Py(t,u,h,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(y)}function u(y){return rt(y)?nl(t,g)(y):v(y)}function h(y){return r(y)}function g(y){return y===34||y===39||y===40?Ky(t,p,r,"resourceTitle","resourceTitleMarker","resourceTitleString")(y):v(y)}function p(y){return rt(y)?nl(t,v)(y):v(y)}function v(y){return y===41?(t.enter("resourceMarker"),t.consume(y),t.exit("resourceMarker"),t.exit("resource"),i):r(y)}}function Bk(t,i,r){const l=this;return o;function o(h){return Yy.call(l,t,d,u,"reference","referenceMarker","referenceString")(h)}function d(h){return l.parser.defined.includes(wn(l.sliceSerialize(l.events[l.events.length-1][1]).slice(1,-1)))?i(h):r(h)}function u(h){return r(h)}}function Hk(t,i,r){return l;function l(d){return t.enter("reference"),t.enter("referenceMarker"),t.consume(d),t.exit("referenceMarker"),o}function o(d){return d===93?(t.enter("referenceMarker"),t.consume(d),t.exit("referenceMarker"),t.exit("reference"),i):r(d)}}const Uk={name:"labelStartImage",resolveAll:xd.resolveAll,tokenize:qk};function qk(t,i,r){const l=this;return o;function o(h){return t.enter("labelImage"),t.enter("labelImageMarker"),t.consume(h),t.exit("labelImageMarker"),d}function d(h){return h===91?(t.enter("labelMarker"),t.consume(h),t.exit("labelMarker"),t.exit("labelImage"),u):r(h)}function u(h){return h===94&&"_hiddenFootnoteSupport"in l.parser.constructs?r(h):i(h)}}const Gk={name:"labelStartLink",resolveAll:xd.resolveAll,tokenize:$k};function $k(t,i,r){const l=this;return o;function o(u){return t.enter("labelLink"),t.enter("labelMarker"),t.consume(u),t.exit("labelMarker"),t.exit("labelLink"),d}function d(u){return u===94&&"_hiddenFootnoteSupport"in l.parser.constructs?r(u):i(u)}}const Ec={name:"lineEnding",tokenize:Fk};function Fk(t,i){return r;function r(l){return t.enter("lineEnding"),t.consume(l),t.exit("lineEnding"),Fe(t,i,"linePrefix")}}const As={name:"thematicBreak",tokenize:Vk};function Vk(t,i,r){let l=0,o;return d;function d(p){return t.enter("thematicBreak"),u(p)}function u(p){return o=p,h(p)}function h(p){return p===o?(t.enter("thematicBreakSequence"),g(p)):l>=3&&(p===null||ke(p))?(t.exit("thematicBreak"),i(p)):r(p)}function g(p){return p===o?(t.consume(p),l++,g):(t.exit("thematicBreakSequence"),Le(p)?Fe(t,h,"whitespace")(p):h(p))}}const Yt={continuation:{tokenize:Xk},exit:Zk,name:"list",tokenize:Kk},Pk={partial:!0,tokenize:Jk},Yk={partial:!0,tokenize:Qk};function Kk(t,i,r){const l=this,o=l.events[l.events.length-1];let d=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,u=0;return h;function h(x){const C=l.containerState.type||(x===42||x===43||x===45?"listUnordered":"listOrdered");if(C==="listUnordered"?!l.containerState.marker||x===l.containerState.marker:Qc(x)){if(l.containerState.type||(l.containerState.type=C,t.enter(C,{_container:!0})),C==="listUnordered")return t.enter("listItemPrefix"),x===42||x===45?t.check(As,r,p)(x):p(x);if(!l.interrupt||x===49)return t.enter("listItemPrefix"),t.enter("listItemValue"),g(x)}return r(x)}function g(x){return Qc(x)&&++u<10?(t.consume(x),g):(!l.interrupt||u<2)&&(l.containerState.marker?x===l.containerState.marker:x===41||x===46)?(t.exit("listItemValue"),p(x)):r(x)}function p(x){return t.enter("listItemMarker"),t.consume(x),t.exit("listItemMarker"),l.containerState.marker=l.containerState.marker||x,t.check(sl,l.interrupt?r:v,t.attempt(Pk,S,y))}function v(x){return l.containerState.initialBlankLine=!0,d++,S(x)}function y(x){return Le(x)?(t.enter("listItemPrefixWhitespace"),t.consume(x),t.exit("listItemPrefixWhitespace"),S):r(x)}function S(x){return l.containerState.size=d+l.sliceSerialize(t.exit("listItemPrefix"),!0).length,i(x)}}function Xk(t,i,r){const l=this;return l.containerState._closeFlow=void 0,t.check(sl,o,d);function o(h){return l.containerState.furtherBlankLines=l.containerState.furtherBlankLines||l.containerState.initialBlankLine,Fe(t,i,"listItemIndent",l.containerState.size+1)(h)}function d(h){return l.containerState.furtherBlankLines||!Le(h)?(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,u(h)):(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,t.attempt(Yk,i,u)(h))}function u(h){return l.containerState._closeFlow=!0,l.interrupt=void 0,Fe(t,t.attempt(Yt,i,r),"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(h)}}function Qk(t,i,r){const l=this;return Fe(t,o,"listItemIndent",l.containerState.size+1);function o(d){const u=l.events[l.events.length-1];return u&&u[1].type==="listItemIndent"&&u[2].sliceSerialize(u[1],!0).length===l.containerState.size?i(d):r(d)}}function Zk(t){t.exit(this.containerState.type)}function Jk(t,i,r){const l=this;return Fe(t,o,"listItemPrefixWhitespace",l.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(d){const u=l.events[l.events.length-1];return!Le(d)&&u&&u[1].type==="listItemPrefixWhitespace"?i(d):r(d)}}const gg={name:"setextUnderline",resolveTo:Wk,tokenize:ew};function Wk(t,i){let r=t.length,l,o,d;for(;r--;)if(t[r][0]==="enter"){if(t[r][1].type==="content"){l=r;break}t[r][1].type==="paragraph"&&(o=r)}else t[r][1].type==="content"&&t.splice(r,1),!d&&t[r][1].type==="definition"&&(d=r);const u={type:"setextHeading",start:{...t[l][1].start},end:{...t[t.length-1][1].end}};return t[o][1].type="setextHeadingText",d?(t.splice(o,0,["enter",u,i]),t.splice(d+1,0,["exit",t[l][1],i]),t[l][1].end={...t[d][1].end}):t[l][1]=u,t.push(["exit",u,i]),t}function ew(t,i,r){const l=this;let o;return d;function d(p){let v=l.events.length,y;for(;v--;)if(l.events[v][1].type!=="lineEnding"&&l.events[v][1].type!=="linePrefix"&&l.events[v][1].type!=="content"){y=l.events[v][1].type==="paragraph";break}return!l.parser.lazy[l.now().line]&&(l.interrupt||y)?(t.enter("setextHeadingLine"),o=p,u(p)):r(p)}function u(p){return t.enter("setextHeadingLineSequence"),h(p)}function h(p){return p===o?(t.consume(p),h):(t.exit("setextHeadingLineSequence"),Le(p)?Fe(t,g,"lineSuffix")(p):g(p))}function g(p){return p===null||ke(p)?(t.exit("setextHeadingLine"),i(p)):r(p)}}const tw={tokenize:nw};function nw(t){const i=this,r=t.attempt(sl,l,t.attempt(this.parser.constructs.flowInitial,o,Fe(t,t.attempt(this.parser.constructs.flow,o,t.attempt(sk,o)),"linePrefix")));return r;function l(d){if(d===null){t.consume(d);return}return t.enter("lineEndingBlank"),t.consume(d),t.exit("lineEndingBlank"),i.currentConstruct=void 0,r}function o(d){if(d===null){t.consume(d);return}return t.enter("lineEnding"),t.consume(d),t.exit("lineEnding"),i.currentConstruct=void 0,r}}const iw={resolveAll:Qy()},rw=Xy("string"),aw=Xy("text");function Xy(t){return{resolveAll:Qy(t==="text"?lw:void 0),tokenize:i};function i(r){const l=this,o=this.parser.constructs[t],d=r.attempt(o,u,h);return u;function u(v){return p(v)?d(v):h(v)}function h(v){if(v===null){r.consume(v);return}return r.enter("data"),r.consume(v),g}function g(v){return p(v)?(r.exit("data"),d(v)):(r.consume(v),g)}function p(v){if(v===null)return!0;const y=o[v];let S=-1;if(y)for(;++S<y.length;){const x=y[S];if(!x.previous||x.previous.call(l,l.previous))return!0}return!1}}}function Qy(t){return i;function i(r,l){let o=-1,d;for(;++o<=r.length;)d===void 0?r[o]&&r[o][1].type==="data"&&(d=o,o++):(!r[o]||r[o][1].type!=="data")&&(o!==d+2&&(r[d][1].end=r[o-1][1].end,r.splice(d+2,o-d-2),o=d+2),d=void 0);return t?t(r,l):r}}function lw(t,i){let r=0;for(;++r<=t.length;)if((r===t.length||t[r][1].type==="lineEnding")&&t[r-1][1].type==="data"){const l=t[r-1][1],o=i.sliceStream(l);let d=o.length,u=-1,h=0,g;for(;d--;){const p=o[d];if(typeof p=="string"){for(u=p.length;p.charCodeAt(u-1)===32;)h++,u--;if(u)break;u=-1}else if(p===-2)g=!0,h++;else if(p!==-1){d++;break}}if(i._contentTypeTextTrailing&&r===t.length&&(h=0),h){const p={type:r===t.length||g||h<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:d?u:l.start._bufferIndex+u,_index:l.start._index+d,line:l.end.line,column:l.end.column-h,offset:l.end.offset-h},end:{...l.end}};l.end={...p.start},l.start.offset===l.end.offset?Object.assign(l,p):(t.splice(r,0,["enter",p,i],["exit",p,i]),r+=2)}r++}return t}const sw={42:Yt,43:Yt,45:Yt,48:Yt,49:Yt,50:Yt,51:Yt,52:Yt,53:Yt,54:Yt,55:Yt,56:Yt,57:Yt,62:Gy},ow={91:fk},uw={[-2]:Rc,[-1]:Rc,32:Rc},cw={35:vk,42:As,45:[gg,As],60:kk,61:gg,95:As,96:mg,126:mg},dw={38:Fy,92:$y},fw={[-5]:Ec,[-4]:Ec,[-3]:Ec,33:Uk,38:Fy,42:Zc,60:[G0,Nk],91:Gk,92:[gk,$y],93:xd,95:Zc,96:tk},hw={null:[Zc,iw]},mw={null:[42,95]},pw={null:[]},gw=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:mw,contentInitial:ow,disable:pw,document:sw,flow:cw,flowInitial:uw,insideSpan:hw,string:dw,text:fw},Symbol.toStringTag,{value:"Module"}));function yw(t,i,r){let l={_bufferIndex:-1,_index:0,line:r&&r.line||1,column:r&&r.column||1,offset:r&&r.offset||0};const o={},d=[];let u=[],h=[];const g={attempt:$(K),check:$(E),consume:N,enter:A,exit:G,interrupt:$(E,{interrupt:!0})},p={code:null,containerState:{},defineSkip:I,events:[],now:C,parser:t,previous:null,sliceSerialize:S,sliceStream:x,write:y};let v=i.tokenize.call(p,g);return i.resolveAll&&d.push(i),p;function y(F){return u=vn(u,F),H(),u[u.length-1]!==null?[]:(te(i,0),p.events=Xs(d,p.events,p),p.events)}function S(F,V){return bw(x(F),V)}function x(F){return vw(u,F)}function C(){const{_bufferIndex:F,_index:V,line:le,column:X,offset:B}=l;return{_bufferIndex:F,_index:V,line:le,column:X,offset:B}}function I(F){o[F.line]=F.column,z()}function H(){let F;for(;l._index<u.length;){const V=u[l._index];if(typeof V=="string")for(F=l._index,l._bufferIndex<0&&(l._bufferIndex=0);l._index===F&&l._bufferIndex<V.length;)R(V.charCodeAt(l._bufferIndex));else R(V)}}function R(F){v=v(F)}function N(F){ke(F)?(l.line++,l.column=1,l.offset+=F===-3?2:1,z()):F!==-1&&(l.column++,l.offset++),l._bufferIndex<0?l._index++:(l._bufferIndex++,l._bufferIndex===u[l._index].length&&(l._bufferIndex=-1,l._index++)),p.previous=F}function A(F,V){const le=V||{};return le.type=F,le.start=C(),p.events.push(["enter",le,p]),h.push(le),le}function G(F){const V=h.pop();return V.end=C(),p.events.push(["exit",V,p]),V}function K(F,V){te(F,V.from)}function E(F,V){V.restore()}function $(F,V){return le;function le(X,B,O){let U,_,W,T;return Array.isArray(X)?M(X):"tokenize"in X?M([X]):D(X);function D(Y){return ce;function ce(he){const pe=he!==null&&Y[he],ye=he!==null&&Y.null,Ce=[...Array.isArray(pe)?pe:pe?[pe]:[],...Array.isArray(ye)?ye:ye?[ye]:[]];return M(Ce)(he)}}function M(Y){return U=Y,_=0,Y.length===0?O:w(Y[_])}function w(Y){return ce;function ce(he){return T=ue(),W=Y,Y.partial||(p.currentConstruct=Y),Y.name&&p.parser.constructs.disable.null.includes(Y.name)?de():Y.tokenize.call(V?Object.assign(Object.create(p),V):p,g,re,de)(he)}}function re(Y){return F(W,T),B}function de(Y){return T.restore(),++_<U.length?w(U[_]):O}}}function te(F,V){F.resolveAll&&!d.includes(F)&&d.push(F),F.resolve&&ln(p.events,V,p.events.length-V,F.resolve(p.events.slice(V),p)),F.resolveTo&&(p.events=F.resolveTo(p.events,p))}function ue(){const F=C(),V=p.previous,le=p.currentConstruct,X=p.events.length,B=Array.from(h);return{from:X,restore:O};function O(){l=F,p.previous=V,p.currentConstruct=le,p.events.length=X,h=B,z()}}function z(){l.line in o&&l.column<2&&(l.column=o[l.line],l.offset+=o[l.line]-1)}}function vw(t,i){const r=i.start._index,l=i.start._bufferIndex,o=i.end._index,d=i.end._bufferIndex;let u;if(r===o)u=[t[r].slice(l,d)];else{if(u=t.slice(r,o),l>-1){const h=u[0];typeof h=="string"?u[0]=h.slice(l):u.shift()}d>0&&u.push(t[o].slice(0,d))}return u}function bw(t,i){let r=-1;const l=[];let o;for(;++r<t.length;){const d=t[r];let u;if(typeof d=="string")u=d;else switch(d){case-5:{u="\r";break}case-4:{u=`
13
+ `;break}case-3:{u=`\r
14
+ `;break}case-2:{u=i?" ":" ";break}case-1:{if(!i&&o)continue;u=" ";break}default:u=String.fromCharCode(d)}o=d===-2,l.push(u)}return l.join("")}function xw(t){const l={constructs:Uy([gw,...(t||{}).extensions||[]]),content:o(z0),defined:[],document:o(L0),flow:o(tw),lazy:{},string:o(rw),text:o(aw)};return l;function o(d){return u;function u(h){return yw(l,d,h)}}}function Sw(t){for(;!Vy(t););return t}const yg=/[\0\t\n\r]/g;function kw(){let t=1,i="",r=!0,l;return o;function o(d,u,h){const g=[];let p,v,y,S,x;for(d=i+(typeof d=="string"?d.toString():new TextDecoder(u||void 0).decode(d)),y=0,i="",r&&(d.charCodeAt(0)===65279&&y++,r=void 0);y<d.length;){if(yg.lastIndex=y,p=yg.exec(d),S=p&&p.index!==void 0?p.index:d.length,x=d.charCodeAt(S),!p){i=d.slice(y);break}if(x===10&&y===S&&l)g.push(-3),l=void 0;else switch(l&&(g.push(-5),l=void 0),y<S&&(g.push(d.slice(y,S)),t+=S-y),x){case 0:{g.push(65533),t++;break}case 9:{for(v=Math.ceil(t/4)*4,g.push(-2);t++<v;)g.push(-1);break}case 10:{g.push(-4),t=1;break}default:l=!0,t=1}y=S+1}return h&&(l&&g.push(-5),i&&g.push(i),g.push(null)),g}}const ww=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Cw(t){return t.replace(ww,jw)}function jw(t,i,r){if(i)return i;if(r.charCodeAt(0)===35){const o=r.charCodeAt(1),d=o===120||o===88;return qy(r.slice(d?2:1),d?16:10)}return bd(r)||t}const Zy={}.hasOwnProperty;function Tw(t,i,r){return i&&typeof i=="object"&&(r=i,i=void 0),Rw(r)(Sw(xw(r).document().write(kw()(t,i,!0))))}function Rw(t){const i={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:d(Rt),autolinkProtocol:ue,autolinkEmail:ue,atxHeading:d(at),blockQuote:d(ye),characterEscape:ue,characterReference:ue,codeFenced:d(Ce),codeFencedFenceInfo:u,codeFencedFenceMeta:u,codeIndented:d(Ce,u),codeText:d(Be,u),codeTextData:ue,data:ue,codeFlowValue:ue,definition:d(Xe),definitionDestinationString:u,definitionLabelString:u,definitionTitleString:u,emphasis:d(Ye),hardBreakEscape:d(sn),hardBreakTrailing:d(sn),htmlFlow:d(kt,u),htmlFlowData:ue,htmlText:d(kt,u),htmlTextData:ue,image:d(Cn),label:u,link:d(Rt),listItem:d(Te),listItemValue:S,listOrdered:d(Lt,y),listUnordered:d(Lt),paragraph:d($e),reference:w,referenceString:u,resourceDestinationString:u,resourceTitleString:u,setextHeading:d(at),strong:d(ut),thematicBreak:d(je)},exit:{atxHeading:g(),atxHeadingSequence:K,autolink:g(),autolinkEmail:pe,autolinkProtocol:he,blockQuote:g(),characterEscapeValue:z,characterReferenceMarkerHexadecimal:de,characterReferenceMarkerNumeric:de,characterReferenceValue:Y,characterReference:ce,codeFenced:g(H),codeFencedFence:I,codeFencedFenceInfo:x,codeFencedFenceMeta:C,codeFlowValue:z,codeIndented:g(R),codeText:g(B),codeTextData:z,data:z,definition:g(),definitionDestinationString:G,definitionLabelString:N,definitionTitleString:A,emphasis:g(),hardBreakEscape:g(V),hardBreakTrailing:g(V),htmlFlow:g(le),htmlFlowData:z,htmlText:g(X),htmlTextData:z,image:g(U),label:W,labelText:_,lineEnding:F,link:g(O),listItem:g(),listOrdered:g(),listUnordered:g(),paragraph:g(),referenceString:re,resourceDestinationString:T,resourceTitleString:D,resource:M,setextHeading:g(te),setextHeadingLineSequence:$,setextHeadingText:E,strong:g(),thematicBreak:g()}};Jy(i,(t||{}).mdastExtensions||[]);const r={};return l;function l(ee){let fe={type:"root",children:[]};const be={stack:[fe],tokenStack:[],config:i,enter:h,exit:p,buffer:u,resume:v,data:r},Re=[];let Ne=-1;for(;++Ne<ee.length;)if(ee[Ne][1].type==="listOrdered"||ee[Ne][1].type==="listUnordered")if(ee[Ne][0]==="enter")Re.push(Ne);else{const Se=Re.pop();Ne=o(ee,Se,Ne)}for(Ne=-1;++Ne<ee.length;){const Se=i[ee[Ne][0]];Zy.call(Se,ee[Ne][1].type)&&Se[ee[Ne][1].type].call(Object.assign({sliceSerialize:ee[Ne][2].sliceSerialize},be),ee[Ne][1])}if(be.tokenStack.length>0){const Se=be.tokenStack[be.tokenStack.length-1];(Se[1]||vg).call(be,void 0,Se[0])}for(fe.position={start:Ti(ee.length>0?ee[0][1].start:{line:1,column:1,offset:0}),end:Ti(ee.length>0?ee[ee.length-2][1].end:{line:1,column:1,offset:0})},Ne=-1;++Ne<i.transforms.length;)fe=i.transforms[Ne](fe)||fe;return fe}function o(ee,fe,be){let Re=fe-1,Ne=-1,Se=!1,qe,Ie,Ee,ht;for(;++Re<=be;){const Qe=ee[Re];switch(Qe[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{Qe[0]==="enter"?Ne++:Ne--,ht=void 0;break}case"lineEndingBlank":{Qe[0]==="enter"&&(qe&&!ht&&!Ne&&!Ee&&(Ee=Re),ht=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:ht=void 0}if(!Ne&&Qe[0]==="enter"&&Qe[1].type==="listItemPrefix"||Ne===-1&&Qe[0]==="exit"&&(Qe[1].type==="listUnordered"||Qe[1].type==="listOrdered")){if(qe){let jn=Re;for(Ie=void 0;jn--;){const Qt=ee[jn];if(Qt[1].type==="lineEnding"||Qt[1].type==="lineEndingBlank"){if(Qt[0]==="exit")continue;Ie&&(ee[Ie][1].type="lineEndingBlank",Se=!0),Qt[1].type="lineEnding",Ie=jn}else if(!(Qt[1].type==="linePrefix"||Qt[1].type==="blockQuotePrefix"||Qt[1].type==="blockQuotePrefixWhitespace"||Qt[1].type==="blockQuoteMarker"||Qt[1].type==="listItemIndent"))break}Ee&&(!Ie||Ee<Ie)&&(qe._spread=!0),qe.end=Object.assign({},Ie?ee[Ie][1].start:Qe[1].end),ee.splice(Ie||Re,0,["exit",qe,Qe[2]]),Re++,be++}if(Qe[1].type==="listItemPrefix"){const jn={type:"listItem",_spread:!1,start:Object.assign({},Qe[1].start),end:void 0};qe=jn,ee.splice(Re,0,["enter",jn,Qe[2]]),Re++,be++,Ee=void 0,ht=!0}}}return ee[fe][1]._spread=Se,be}function d(ee,fe){return be;function be(Re){h.call(this,ee(Re),Re),fe&&fe.call(this,Re)}}function u(){this.stack.push({type:"fragment",children:[]})}function h(ee,fe,be){this.stack[this.stack.length-1].children.push(ee),this.stack.push(ee),this.tokenStack.push([fe,be||void 0]),ee.position={start:Ti(fe.start),end:void 0}}function g(ee){return fe;function fe(be){ee&&ee.call(this,be),p.call(this,be)}}function p(ee,fe){const be=this.stack.pop(),Re=this.tokenStack.pop();if(Re)Re[0].type!==ee.type&&(fe?fe.call(this,ee,Re[0]):(Re[1]||vg).call(this,ee,Re[0]));else throw new Error("Cannot close `"+ee.type+"` ("+tl({start:ee.start,end:ee.end})+"): it’s not open");be.position.end=Ti(ee.end)}function v(){return vd(this.stack.pop())}function y(){this.data.expectingFirstListItemValue=!0}function S(ee){if(this.data.expectingFirstListItemValue){const fe=this.stack[this.stack.length-2];fe.start=Number.parseInt(this.sliceSerialize(ee),10),this.data.expectingFirstListItemValue=void 0}}function x(){const ee=this.resume(),fe=this.stack[this.stack.length-1];fe.lang=ee}function C(){const ee=this.resume(),fe=this.stack[this.stack.length-1];fe.meta=ee}function I(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function H(){const ee=this.resume(),fe=this.stack[this.stack.length-1];fe.value=ee.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function R(){const ee=this.resume(),fe=this.stack[this.stack.length-1];fe.value=ee.replace(/(\r?\n|\r)$/g,"")}function N(ee){const fe=this.resume(),be=this.stack[this.stack.length-1];be.label=fe,be.identifier=wn(this.sliceSerialize(ee)).toLowerCase()}function A(){const ee=this.resume(),fe=this.stack[this.stack.length-1];fe.title=ee}function G(){const ee=this.resume(),fe=this.stack[this.stack.length-1];fe.url=ee}function K(ee){const fe=this.stack[this.stack.length-1];if(!fe.depth){const be=this.sliceSerialize(ee).length;fe.depth=be}}function E(){this.data.setextHeadingSlurpLineEnding=!0}function $(ee){const fe=this.stack[this.stack.length-1];fe.depth=this.sliceSerialize(ee).codePointAt(0)===61?1:2}function te(){this.data.setextHeadingSlurpLineEnding=void 0}function ue(ee){const be=this.stack[this.stack.length-1].children;let Re=be[be.length-1];(!Re||Re.type!=="text")&&(Re=ie(),Re.position={start:Ti(ee.start),end:void 0},be.push(Re)),this.stack.push(Re)}function z(ee){const fe=this.stack.pop();fe.value+=this.sliceSerialize(ee),fe.position.end=Ti(ee.end)}function F(ee){const fe=this.stack[this.stack.length-1];if(this.data.atHardBreak){const be=fe.children[fe.children.length-1];be.position.end=Ti(ee.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&i.canContainEols.includes(fe.type)&&(ue.call(this,ee),z.call(this,ee))}function V(){this.data.atHardBreak=!0}function le(){const ee=this.resume(),fe=this.stack[this.stack.length-1];fe.value=ee}function X(){const ee=this.resume(),fe=this.stack[this.stack.length-1];fe.value=ee}function B(){const ee=this.resume(),fe=this.stack[this.stack.length-1];fe.value=ee}function O(){const ee=this.stack[this.stack.length-1];if(this.data.inReference){const fe=this.data.referenceType||"shortcut";ee.type+="Reference",ee.referenceType=fe,delete ee.url,delete ee.title}else delete ee.identifier,delete ee.label;this.data.referenceType=void 0}function U(){const ee=this.stack[this.stack.length-1];if(this.data.inReference){const fe=this.data.referenceType||"shortcut";ee.type+="Reference",ee.referenceType=fe,delete ee.url,delete ee.title}else delete ee.identifier,delete ee.label;this.data.referenceType=void 0}function _(ee){const fe=this.sliceSerialize(ee),be=this.stack[this.stack.length-2];be.label=Cw(fe),be.identifier=wn(fe).toLowerCase()}function W(){const ee=this.stack[this.stack.length-1],fe=this.resume(),be=this.stack[this.stack.length-1];if(this.data.inReference=!0,be.type==="link"){const Re=ee.children;be.children=Re}else be.alt=fe}function T(){const ee=this.resume(),fe=this.stack[this.stack.length-1];fe.url=ee}function D(){const ee=this.resume(),fe=this.stack[this.stack.length-1];fe.title=ee}function M(){this.data.inReference=void 0}function w(){this.data.referenceType="collapsed"}function re(ee){const fe=this.resume(),be=this.stack[this.stack.length-1];be.label=fe,be.identifier=wn(this.sliceSerialize(ee)).toLowerCase(),this.data.referenceType="full"}function de(ee){this.data.characterReferenceType=ee.type}function Y(ee){const fe=this.sliceSerialize(ee),be=this.data.characterReferenceType;let Re;be?(Re=qy(fe,be==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):Re=bd(fe);const Ne=this.stack[this.stack.length-1];Ne.value+=Re}function ce(ee){const fe=this.stack.pop();fe.position.end=Ti(ee.end)}function he(ee){z.call(this,ee);const fe=this.stack[this.stack.length-1];fe.url=this.sliceSerialize(ee)}function pe(ee){z.call(this,ee);const fe=this.stack[this.stack.length-1];fe.url="mailto:"+this.sliceSerialize(ee)}function ye(){return{type:"blockquote",children:[]}}function Ce(){return{type:"code",lang:null,meta:null,value:""}}function Be(){return{type:"inlineCode",value:""}}function Xe(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function Ye(){return{type:"emphasis",children:[]}}function at(){return{type:"heading",depth:0,children:[]}}function sn(){return{type:"break"}}function kt(){return{type:"html",value:""}}function Cn(){return{type:"image",title:null,url:"",alt:null}}function Rt(){return{type:"link",title:null,url:"",children:[]}}function Lt(ee){return{type:"list",ordered:ee.type==="listOrdered",start:null,spread:ee._spread,children:[]}}function Te(ee){return{type:"listItem",spread:ee._spread,checked:null,children:[]}}function $e(){return{type:"paragraph",children:[]}}function ut(){return{type:"strong",children:[]}}function ie(){return{type:"text",value:""}}function je(){return{type:"thematicBreak"}}}function Ti(t){return{line:t.line,column:t.column,offset:t.offset}}function Jy(t,i){let r=-1;for(;++r<i.length;){const l=i[r];Array.isArray(l)?Jy(t,l):Ew(t,l)}}function Ew(t,i){let r;for(r in i)if(Zy.call(i,r))switch(r){case"canContainEols":{const l=i[r];l&&t[r].push(...l);break}case"transforms":{const l=i[r];l&&t[r].push(...l);break}case"enter":case"exit":{const l=i[r];l&&Object.assign(t[r],l);break}}}function vg(t,i){throw t?new Error("Cannot close `"+t.type+"` ("+tl({start:t.start,end:t.end})+"): a different token (`"+i.type+"`, "+tl({start:i.start,end:i.end})+") is open"):new Error("Cannot close document, a token (`"+i.type+"`, "+tl({start:i.start,end:i.end})+") is still open")}function Nw(t){const i=this;i.parser=r;function r(l){return Tw(l,{...i.data("settings"),...t,extensions:i.data("micromarkExtensions")||[],mdastExtensions:i.data("fromMarkdownExtensions")||[]})}}function Aw(t,i){const r={type:"element",tagName:"blockquote",properties:{},children:t.wrap(t.all(i),!0)};return t.patch(i,r),t.applyData(i,r)}function Iw(t,i){const r={type:"element",tagName:"br",properties:{},children:[]};return t.patch(i,r),[t.applyData(i,r),{type:"text",value:`
15
+ `}]}function Dw(t,i){const r=i.value?i.value+`
16
+ `:"",l={},o=i.lang?i.lang.split(/\s+/):[];o.length>0&&(l.className=["language-"+o[0]]);let d={type:"element",tagName:"code",properties:l,children:[{type:"text",value:r}]};return i.meta&&(d.data={meta:i.meta}),t.patch(i,d),d=t.applyData(i,d),d={type:"element",tagName:"pre",properties:{},children:[d]},t.patch(i,d),d}function Ow(t,i){const r={type:"element",tagName:"del",properties:{},children:t.all(i)};return t.patch(i,r),t.applyData(i,r)}function Mw(t,i){const r={type:"element",tagName:"em",properties:{},children:t.all(i)};return t.patch(i,r),t.applyData(i,r)}function zw(t,i){const r=typeof t.options.clobberPrefix=="string"?t.options.clobberPrefix:"user-content-",l=String(i.identifier).toUpperCase(),o=ea(l.toLowerCase()),d=t.footnoteOrder.indexOf(l);let u,h=t.footnoteCounts.get(l);h===void 0?(h=0,t.footnoteOrder.push(l),u=t.footnoteOrder.length):u=d+1,h+=1,t.footnoteCounts.set(l,h);const g={type:"element",tagName:"a",properties:{href:"#"+r+"fn-"+o,id:r+"fnref-"+o+(h>1?"-"+h:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(u)}]};t.patch(i,g);const p={type:"element",tagName:"sup",properties:{},children:[g]};return t.patch(i,p),t.applyData(i,p)}function _w(t,i){const r={type:"element",tagName:"h"+i.depth,properties:{},children:t.all(i)};return t.patch(i,r),t.applyData(i,r)}function Lw(t,i){if(t.options.allowDangerousHtml){const r={type:"raw",value:i.value};return t.patch(i,r),t.applyData(i,r)}}function Wy(t,i){const r=i.referenceType;let l="]";if(r==="collapsed"?l+="[]":r==="full"&&(l+="["+(i.label||i.identifier)+"]"),i.type==="imageReference")return[{type:"text",value:"!["+i.alt+l}];const o=t.all(i),d=o[0];d&&d.type==="text"?d.value="["+d.value:o.unshift({type:"text",value:"["});const u=o[o.length-1];return u&&u.type==="text"?u.value+=l:o.push({type:"text",value:l}),o}function Bw(t,i){const r=String(i.identifier).toUpperCase(),l=t.definitionById.get(r);if(!l)return Wy(t,i);const o={src:ea(l.url||""),alt:i.alt};l.title!==null&&l.title!==void 0&&(o.title=l.title);const d={type:"element",tagName:"img",properties:o,children:[]};return t.patch(i,d),t.applyData(i,d)}function Hw(t,i){const r={src:ea(i.url)};i.alt!==null&&i.alt!==void 0&&(r.alt=i.alt),i.title!==null&&i.title!==void 0&&(r.title=i.title);const l={type:"element",tagName:"img",properties:r,children:[]};return t.patch(i,l),t.applyData(i,l)}function Uw(t,i){const r={type:"text",value:i.value.replace(/\r?\n|\r/g," ")};t.patch(i,r);const l={type:"element",tagName:"code",properties:{},children:[r]};return t.patch(i,l),t.applyData(i,l)}function qw(t,i){const r=String(i.identifier).toUpperCase(),l=t.definitionById.get(r);if(!l)return Wy(t,i);const o={href:ea(l.url||"")};l.title!==null&&l.title!==void 0&&(o.title=l.title);const d={type:"element",tagName:"a",properties:o,children:t.all(i)};return t.patch(i,d),t.applyData(i,d)}function Gw(t,i){const r={href:ea(i.url)};i.title!==null&&i.title!==void 0&&(r.title=i.title);const l={type:"element",tagName:"a",properties:r,children:t.all(i)};return t.patch(i,l),t.applyData(i,l)}function $w(t,i,r){const l=t.all(i),o=r?Fw(r):ev(i),d={},u=[];if(typeof i.checked=="boolean"){const v=l[0];let y;v&&v.type==="element"&&v.tagName==="p"?y=v:(y={type:"element",tagName:"p",properties:{},children:[]},l.unshift(y)),y.children.length>0&&y.children.unshift({type:"text",value:" "}),y.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:i.checked,disabled:!0},children:[]}),d.className=["task-list-item"]}let h=-1;for(;++h<l.length;){const v=l[h];(o||h!==0||v.type!=="element"||v.tagName!=="p")&&u.push({type:"text",value:`
17
+ `}),v.type==="element"&&v.tagName==="p"&&!o?u.push(...v.children):u.push(v)}const g=l[l.length-1];g&&(o||g.type!=="element"||g.tagName!=="p")&&u.push({type:"text",value:`
18
+ `});const p={type:"element",tagName:"li",properties:d,children:u};return t.patch(i,p),t.applyData(i,p)}function Fw(t){let i=!1;if(t.type==="list"){i=t.spread||!1;const r=t.children;let l=-1;for(;!i&&++l<r.length;)i=ev(r[l])}return i}function ev(t){const i=t.spread;return i??t.children.length>1}function Vw(t,i){const r={},l=t.all(i);let o=-1;for(typeof i.start=="number"&&i.start!==1&&(r.start=i.start);++o<l.length;){const u=l[o];if(u.type==="element"&&u.tagName==="li"&&u.properties&&Array.isArray(u.properties.className)&&u.properties.className.includes("task-list-item")){r.className=["contains-task-list"];break}}const d={type:"element",tagName:i.ordered?"ol":"ul",properties:r,children:t.wrap(l,!0)};return t.patch(i,d),t.applyData(i,d)}function Pw(t,i){const r={type:"element",tagName:"p",properties:{},children:t.all(i)};return t.patch(i,r),t.applyData(i,r)}function Yw(t,i){const r={type:"root",children:t.wrap(t.all(i))};return t.patch(i,r),t.applyData(i,r)}function Kw(t,i){const r={type:"element",tagName:"strong",properties:{},children:t.all(i)};return t.patch(i,r),t.applyData(i,r)}function Xw(t,i){const r=t.all(i),l=r.shift(),o=[];if(l){const u={type:"element",tagName:"thead",properties:{},children:t.wrap([l],!0)};t.patch(i.children[0],u),o.push(u)}if(r.length>0){const u={type:"element",tagName:"tbody",properties:{},children:t.wrap(r,!0)},h=md(i.children[1]),g=Oy(i.children[i.children.length-1]);h&&g&&(u.position={start:h,end:g}),o.push(u)}const d={type:"element",tagName:"table",properties:{},children:t.wrap(o,!0)};return t.patch(i,d),t.applyData(i,d)}function Qw(t,i,r){const l=r?r.children:void 0,d=(l?l.indexOf(i):1)===0?"th":"td",u=r&&r.type==="table"?r.align:void 0,h=u?u.length:i.children.length;let g=-1;const p=[];for(;++g<h;){const y=i.children[g],S={},x=u?u[g]:void 0;x&&(S.align=x);let C={type:"element",tagName:d,properties:S,children:[]};y&&(C.children=t.all(y),t.patch(y,C),C=t.applyData(y,C)),p.push(C)}const v={type:"element",tagName:"tr",properties:{},children:t.wrap(p,!0)};return t.patch(i,v),t.applyData(i,v)}function Zw(t,i){const r={type:"element",tagName:"td",properties:{},children:t.all(i)};return t.patch(i,r),t.applyData(i,r)}const bg=9,xg=32;function Jw(t){const i=String(t),r=/\r?\n|\r/g;let l=r.exec(i),o=0;const d=[];for(;l;)d.push(Sg(i.slice(o,l.index),o>0,!0),l[0]),o=l.index+l[0].length,l=r.exec(i);return d.push(Sg(i.slice(o),o>0,!1)),d.join("")}function Sg(t,i,r){let l=0,o=t.length;if(i){let d=t.codePointAt(l);for(;d===bg||d===xg;)l++,d=t.codePointAt(l)}if(r){let d=t.codePointAt(o-1);for(;d===bg||d===xg;)o--,d=t.codePointAt(o-1)}return o>l?t.slice(l,o):""}function Ww(t,i){const r={type:"text",value:Jw(String(i.value))};return t.patch(i,r),t.applyData(i,r)}function eC(t,i){const r={type:"element",tagName:"hr",properties:{},children:[]};return t.patch(i,r),t.applyData(i,r)}const tC={blockquote:Aw,break:Iw,code:Dw,delete:Ow,emphasis:Mw,footnoteReference:zw,heading:_w,html:Lw,imageReference:Bw,image:Hw,inlineCode:Uw,linkReference:qw,link:Gw,listItem:$w,list:Vw,paragraph:Pw,root:Yw,strong:Kw,table:Xw,tableCell:Zw,tableRow:Qw,text:Ww,thematicBreak:eC,toml:Cs,yaml:Cs,definition:Cs,footnoteDefinition:Cs};function Cs(){}const tv=-1,Qs=0,il=1,_s=2,Sd=3,kd=4,wd=5,Cd=6,nv=7,iv=8,rv=typeof self=="object"?self:globalThis,kg=(t,i)=>{switch(t){case"Function":case"SharedWorker":case"Worker":case"eval":case"setInterval":case"setTimeout":throw new TypeError("unable to deserialize "+t)}return new rv[t](i)},nC=(t,i)=>{const r=(o,d)=>(t.set(d,o),o),l=o=>{if(t.has(o))return t.get(o);const[d,u]=i[o];switch(d){case Qs:case tv:return r(u,o);case il:{const h=r([],o);for(const g of u)h.push(l(g));return h}case _s:{const h=r({},o);for(const[g,p]of u)h[l(g)]=l(p);return h}case Sd:return r(new Date(u),o);case kd:{const{source:h,flags:g}=u;return r(new RegExp(h,g),o)}case wd:{const h=r(new Map,o);for(const[g,p]of u)h.set(l(g),l(p));return h}case Cd:{const h=r(new Set,o);for(const g of u)h.add(l(g));return h}case nv:{const{name:h,message:g}=u;return r(typeof rv[h]=="function"?kg(h,g):new Error(g),o)}case iv:return r(BigInt(u),o);case"BigInt":return r(Object(BigInt(u)),o);case"ArrayBuffer":return r(new Uint8Array(u).buffer,u);case"DataView":{const{buffer:h}=new Uint8Array(u);return r(new DataView(h),u)}}return r(kg(d,u),o)};return l},wg=t=>nC(new Map,t)(0),Wi="",{toString:iC}={},{keys:rC}=Object,Ja=t=>{const i=typeof t;if(i!=="object"||!t)return[Qs,i];const r=iC.call(t).slice(8,-1);switch(r){case"Array":return[il,Wi];case"Object":return[_s,Wi];case"Date":return[Sd,Wi];case"RegExp":return[kd,Wi];case"Map":return[wd,Wi];case"Set":return[Cd,Wi];case"DataView":return[il,r]}return r.includes("Array")?[il,r]:t instanceof Error?[nv,t.name||"Error"]:[_s,r]},js=([t,i])=>t===Qs&&(i==="function"||i==="symbol"),aC=(t,i,r,l)=>{const o=(u,h)=>{const g=l.push(u)-1;return r.set(h,g),g},d=u=>{if(r.has(u))return r.get(u);let[h,g]=Ja(u);switch(h){case Qs:{let v=u;switch(g){case"bigint":h=iv,v=u.toString();break;case"function":case"symbol":if(t)throw new TypeError("unable to serialize "+g);v=null;break;case"undefined":return o([tv],u)}return o([h,v],u)}case il:{if(g){let S=u;return g==="DataView"?S=new Uint8Array(u.buffer):g==="ArrayBuffer"&&(S=new Uint8Array(u)),o([g,[...S]],u)}const v=[],y=o([h,v],u);for(const S of u)v.push(d(S));return y}case _s:{if(g)switch(g){case"BigInt":return o([g,u.toString()],u);case"Boolean":case"Number":case"String":return o([g,u.valueOf()],u)}if(i&&"toJSON"in u)return d(u.toJSON());const v=[],y=o([h,v],u);for(const S of rC(u))(t||!js(Ja(u[S])))&&v.push([d(S),d(u[S])]);return y}case Sd:return o([h,isNaN(u.getTime())?Wi:u.toISOString()],u);case kd:{const{source:v,flags:y}=u;return o([h,{source:v,flags:y}],u)}case wd:{const v=[],y=o([h,v],u);for(const[S,x]of u)(t||!(js(Ja(S))||js(Ja(x))))&&v.push([d(S),d(x)]);return y}case Cd:{const v=[],y=o([h,v],u);for(const S of u)(t||!js(Ja(S)))&&v.push(d(S));return y}}const{message:p}=u;return o([h,{name:g,message:p}],u)};return d},Cg=(t,{json:i,lossy:r}={})=>{const l=[];return aC(!(i||r),!!i,new Map,l)(t),l},Ls=typeof structuredClone=="function"?(t,i)=>i&&("json"in i||"lossy"in i)?wg(Cg(t,i)):structuredClone(t):(t,i)=>wg(Cg(t,i));function lC(t,i){const r=[{type:"text",value:"↩"}];return i>1&&r.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(i)}]}),r}function sC(t,i){return"Back to reference "+(t+1)+(i>1?"-"+i:"")}function oC(t){const i=typeof t.options.clobberPrefix=="string"?t.options.clobberPrefix:"user-content-",r=t.options.footnoteBackContent||lC,l=t.options.footnoteBackLabel||sC,o=t.options.footnoteLabel||"Footnotes",d=t.options.footnoteLabelTagName||"h2",u=t.options.footnoteLabelProperties||{className:["sr-only"]},h=[];let g=-1;for(;++g<t.footnoteOrder.length;){const p=t.footnoteById.get(t.footnoteOrder[g]);if(!p)continue;const v=t.all(p),y=String(p.identifier).toUpperCase(),S=ea(y.toLowerCase());let x=0;const C=[],I=t.footnoteCounts.get(y);for(;I!==void 0&&++x<=I;){C.length>0&&C.push({type:"text",value:" "});let N=typeof r=="string"?r:r(g,x);typeof N=="string"&&(N={type:"text",value:N}),C.push({type:"element",tagName:"a",properties:{href:"#"+i+"fnref-"+S+(x>1?"-"+x:""),dataFootnoteBackref:"",ariaLabel:typeof l=="string"?l:l(g,x),className:["data-footnote-backref"]},children:Array.isArray(N)?N:[N]})}const H=v[v.length-1];if(H&&H.type==="element"&&H.tagName==="p"){const N=H.children[H.children.length-1];N&&N.type==="text"?N.value+=" ":H.children.push({type:"text",value:" "}),H.children.push(...C)}else v.push(...C);const R={type:"element",tagName:"li",properties:{id:i+"fn-"+S},children:t.wrap(v,!0)};t.patch(p,R),h.push(R)}if(h.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:d,properties:{...Ls(u),id:"footnote-label"},children:[{type:"text",value:o}]},{type:"text",value:`
19
+ `},{type:"element",tagName:"ol",properties:{},children:t.wrap(h,!0)},{type:"text",value:`
20
+ `}]}}const Zs=(function(t){if(t==null)return fC;if(typeof t=="function")return Js(t);if(typeof t=="object")return Array.isArray(t)?uC(t):cC(t);if(typeof t=="string")return dC(t);throw new Error("Expected function, string, or object as test")});function uC(t){const i=[];let r=-1;for(;++r<t.length;)i[r]=Zs(t[r]);return Js(l);function l(...o){let d=-1;for(;++d<i.length;)if(i[d].apply(this,o))return!0;return!1}}function cC(t){const i=t;return Js(r);function r(l){const o=l;let d;for(d in t)if(o[d]!==i[d])return!1;return!0}}function dC(t){return Js(i);function i(r){return r&&r.type===t}}function Js(t){return i;function i(r,l,o){return!!(hC(r)&&t.call(this,r,typeof l=="number"?l:void 0,o||void 0))}}function fC(){return!0}function hC(t){return t!==null&&typeof t=="object"&&"type"in t}const av=[],mC=!0,Jc=!1,pC="skip";function lv(t,i,r,l){let o;typeof i=="function"&&typeof r!="function"?(l=r,r=i):o=i;const d=Zs(o),u=l?-1:1;h(t,void 0,[])();function h(g,p,v){const y=g&&typeof g=="object"?g:{};if(typeof y.type=="string"){const x=typeof y.tagName=="string"?y.tagName:typeof y.name=="string"?y.name:void 0;Object.defineProperty(S,"name",{value:"node ("+(g.type+(x?"<"+x+">":""))+")"})}return S;function S(){let x=av,C,I,H;if((!i||d(g,p,v[v.length-1]||void 0))&&(x=gC(r(g,v)),x[0]===Jc))return x;if("children"in g&&g.children){const R=g;if(R.children&&x[0]!==pC)for(I=(l?R.children.length:-1)+u,H=v.concat(R);I>-1&&I<R.children.length;){const N=R.children[I];if(C=h(N,I,H)(),C[0]===Jc)return C;I=typeof C[1]=="number"?C[1]:I+u}}return x}}}function gC(t){return Array.isArray(t)?t:typeof t=="number"?[mC,t]:t==null?av:[t]}function jd(t,i,r,l){let o,d,u;typeof i=="function"&&typeof r!="function"?(d=void 0,u=i,o=r):(d=i,u=r,o=l),lv(t,d,h,o);function h(g,p){const v=p[p.length-1],y=v?v.children.indexOf(g):void 0;return u(g,y,v)}}const Wc={}.hasOwnProperty,yC={};function vC(t,i){const r=i||yC,l=new Map,o=new Map,d=new Map,u={...tC,...r.handlers},h={all:p,applyData:xC,definitionById:l,footnoteById:o,footnoteCounts:d,footnoteOrder:[],handlers:u,one:g,options:r,patch:bC,wrap:kC};return jd(t,function(v){if(v.type==="definition"||v.type==="footnoteDefinition"){const y=v.type==="definition"?l:o,S=String(v.identifier).toUpperCase();y.has(S)||y.set(S,v)}}),h;function g(v,y){const S=v.type,x=h.handlers[S];if(Wc.call(h.handlers,S)&&x)return x(h,v,y);if(h.options.passThrough&&h.options.passThrough.includes(S)){if("children"in v){const{children:I,...H}=v,R=Ls(H);return R.children=h.all(v),R}return Ls(v)}return(h.options.unknownHandler||SC)(h,v,y)}function p(v){const y=[];if("children"in v){const S=v.children;let x=-1;for(;++x<S.length;){const C=h.one(S[x],v);if(C){if(x&&S[x-1].type==="break"&&(!Array.isArray(C)&&C.type==="text"&&(C.value=jg(C.value)),!Array.isArray(C)&&C.type==="element")){const I=C.children[0];I&&I.type==="text"&&(I.value=jg(I.value))}Array.isArray(C)?y.push(...C):y.push(C)}}}return y}}function bC(t,i){t.position&&(i.position=s0(t))}function xC(t,i){let r=i;if(t&&t.data){const l=t.data.hName,o=t.data.hChildren,d=t.data.hProperties;if(typeof l=="string")if(r.type==="element")r.tagName=l;else{const u="children"in r?r.children:[r];r={type:"element",tagName:l,properties:{},children:u}}r.type==="element"&&d&&Object.assign(r.properties,Ls(d)),"children"in r&&r.children&&o!==null&&o!==void 0&&(r.children=o)}return r}function SC(t,i){const r=i.data||{},l="value"in i&&!(Wc.call(r,"hProperties")||Wc.call(r,"hChildren"))?{type:"text",value:i.value}:{type:"element",tagName:"div",properties:{},children:t.all(i)};return t.patch(i,l),t.applyData(i,l)}function kC(t,i){const r=[];let l=-1;for(i&&r.push({type:"text",value:`
21
+ `});++l<t.length;)l&&r.push({type:"text",value:`
22
+ `}),r.push(t[l]);return i&&t.length>0&&r.push({type:"text",value:`
23
+ `}),r}function jg(t){let i=0,r=t.charCodeAt(i);for(;r===9||r===32;)i++,r=t.charCodeAt(i);return t.slice(i)}function Tg(t,i){const r=vC(t,i),l=r.one(t,void 0),o=oC(r),d=Array.isArray(l)?{type:"root",children:l}:l||{type:"root",children:[]};return o&&d.children.push({type:"text",value:`
24
+ `},o),d}function wC(t,i){return t&&"run"in t?async function(r,l){const o=Tg(r,{file:l,...i});await t.run(o,l)}:function(r,l){return Tg(r,{file:l,...t||i})}}function Rg(t){if(t)throw t}var Nc,Eg;function CC(){if(Eg)return Nc;Eg=1;var t=Object.prototype.hasOwnProperty,i=Object.prototype.toString,r=Object.defineProperty,l=Object.getOwnPropertyDescriptor,o=function(p){return typeof Array.isArray=="function"?Array.isArray(p):i.call(p)==="[object Array]"},d=function(p){if(!p||i.call(p)!=="[object Object]")return!1;var v=t.call(p,"constructor"),y=p.constructor&&p.constructor.prototype&&t.call(p.constructor.prototype,"isPrototypeOf");if(p.constructor&&!v&&!y)return!1;var S;for(S in p);return typeof S>"u"||t.call(p,S)},u=function(p,v){r&&v.name==="__proto__"?r(p,v.name,{enumerable:!0,configurable:!0,value:v.newValue,writable:!0}):p[v.name]=v.newValue},h=function(p,v){if(v==="__proto__")if(t.call(p,v)){if(l)return l(p,v).value}else return;return p[v]};return Nc=function g(){var p,v,y,S,x,C,I=arguments[0],H=1,R=arguments.length,N=!1;for(typeof I=="boolean"&&(N=I,I=arguments[1]||{},H=2),(I==null||typeof I!="object"&&typeof I!="function")&&(I={});H<R;++H)if(p=arguments[H],p!=null)for(v in p)y=h(I,v),S=h(p,v),I!==S&&(N&&S&&(d(S)||(x=o(S)))?(x?(x=!1,C=y&&o(y)?y:[]):C=y&&d(y)?y:{},u(I,{name:v,newValue:g(N,C,S)})):typeof S<"u"&&u(I,{name:v,newValue:S}));return I},Nc}var jC=CC();const Ac=od(jC);function ed(t){if(typeof t!="object"||t===null)return!1;const i=Object.getPrototypeOf(t);return(i===null||i===Object.prototype||Object.getPrototypeOf(i)===null)&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)}function TC(){const t=[],i={run:r,use:l};return i;function r(...o){let d=-1;const u=o.pop();if(typeof u!="function")throw new TypeError("Expected function as last argument, not "+u);h(null,...o);function h(g,...p){const v=t[++d];let y=-1;if(g){u(g);return}for(;++y<o.length;)(p[y]===null||p[y]===void 0)&&(p[y]=o[y]);o=p,v?RC(v,h)(...p):u(null,...p)}}function l(o){if(typeof o!="function")throw new TypeError("Expected `middelware` to be a function, not "+o);return t.push(o),i}}function RC(t,i){let r;return l;function l(...u){const h=t.length>u.length;let g;h&&u.push(o);try{g=t.apply(this,u)}catch(p){const v=p;if(h&&r)throw v;return o(v)}h||(g&&g.then&&typeof g.then=="function"?g.then(d,o):g instanceof Error?o(g):d(g))}function o(u,...h){r||(r=!0,i(u,...h))}function d(u){o(null,u)}}const In={basename:EC,dirname:NC,extname:AC,join:IC,sep:"/"};function EC(t,i){if(i!==void 0&&typeof i!="string")throw new TypeError('"ext" argument must be a string');ol(t);let r=0,l=-1,o=t.length,d;if(i===void 0||i.length===0||i.length>t.length){for(;o--;)if(t.codePointAt(o)===47){if(d){r=o+1;break}}else l<0&&(d=!0,l=o+1);return l<0?"":t.slice(r,l)}if(i===t)return"";let u=-1,h=i.length-1;for(;o--;)if(t.codePointAt(o)===47){if(d){r=o+1;break}}else u<0&&(d=!0,u=o+1),h>-1&&(t.codePointAt(o)===i.codePointAt(h--)?h<0&&(l=o):(h=-1,l=u));return r===l?l=u:l<0&&(l=t.length),t.slice(r,l)}function NC(t){if(ol(t),t.length===0)return".";let i=-1,r=t.length,l;for(;--r;)if(t.codePointAt(r)===47){if(l){i=r;break}}else l||(l=!0);return i<0?t.codePointAt(0)===47?"/":".":i===1&&t.codePointAt(0)===47?"//":t.slice(0,i)}function AC(t){ol(t);let i=t.length,r=-1,l=0,o=-1,d=0,u;for(;i--;){const h=t.codePointAt(i);if(h===47){if(u){l=i+1;break}continue}r<0&&(u=!0,r=i+1),h===46?o<0?o=i:d!==1&&(d=1):o>-1&&(d=-1)}return o<0||r<0||d===0||d===1&&o===r-1&&o===l+1?"":t.slice(o,r)}function IC(...t){let i=-1,r;for(;++i<t.length;)ol(t[i]),t[i]&&(r=r===void 0?t[i]:r+"/"+t[i]);return r===void 0?".":DC(r)}function DC(t){ol(t);const i=t.codePointAt(0)===47;let r=OC(t,!i);return r.length===0&&!i&&(r="."),r.length>0&&t.codePointAt(t.length-1)===47&&(r+="/"),i?"/"+r:r}function OC(t,i){let r="",l=0,o=-1,d=0,u=-1,h,g;for(;++u<=t.length;){if(u<t.length)h=t.codePointAt(u);else{if(h===47)break;h=47}if(h===47){if(!(o===u-1||d===1))if(o!==u-1&&d===2){if(r.length<2||l!==2||r.codePointAt(r.length-1)!==46||r.codePointAt(r.length-2)!==46){if(r.length>2){if(g=r.lastIndexOf("/"),g!==r.length-1){g<0?(r="",l=0):(r=r.slice(0,g),l=r.length-1-r.lastIndexOf("/")),o=u,d=0;continue}}else if(r.length>0){r="",l=0,o=u,d=0;continue}}i&&(r=r.length>0?r+"/..":"..",l=2)}else r.length>0?r+="/"+t.slice(o+1,u):r=t.slice(o+1,u),l=u-o-1;o=u,d=0}else h===46&&d>-1?d++:d=-1}return r}function ol(t){if(typeof t!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}const MC={cwd:zC};function zC(){return"/"}function td(t){return!!(t!==null&&typeof t=="object"&&"href"in t&&t.href&&"protocol"in t&&t.protocol&&t.auth===void 0)}function _C(t){if(typeof t=="string")t=new URL(t);else if(!td(t)){const i=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+t+"`");throw i.code="ERR_INVALID_ARG_TYPE",i}if(t.protocol!=="file:"){const i=new TypeError("The URL must be of scheme file");throw i.code="ERR_INVALID_URL_SCHEME",i}return LC(t)}function LC(t){if(t.hostname!==""){const l=new TypeError('File URL host must be "localhost" or empty on darwin');throw l.code="ERR_INVALID_FILE_URL_HOST",l}const i=t.pathname;let r=-1;for(;++r<i.length;)if(i.codePointAt(r)===37&&i.codePointAt(r+1)===50){const l=i.codePointAt(r+2);if(l===70||l===102){const o=new TypeError("File URL path must not include encoded / characters");throw o.code="ERR_INVALID_FILE_URL_PATH",o}}return decodeURIComponent(i)}const Ic=["history","path","basename","stem","extname","dirname"];class sv{constructor(i){let r;i?td(i)?r={path:i}:typeof i=="string"||BC(i)?r={value:i}:r=i:r={},this.cwd="cwd"in r?"":MC.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let l=-1;for(;++l<Ic.length;){const d=Ic[l];d in r&&r[d]!==void 0&&r[d]!==null&&(this[d]=d==="history"?[...r[d]]:r[d])}let o;for(o in r)Ic.includes(o)||(this[o]=r[o])}get basename(){return typeof this.path=="string"?In.basename(this.path):void 0}set basename(i){Oc(i,"basename"),Dc(i,"basename"),this.path=In.join(this.dirname||"",i)}get dirname(){return typeof this.path=="string"?In.dirname(this.path):void 0}set dirname(i){Ng(this.basename,"dirname"),this.path=In.join(i||"",this.basename)}get extname(){return typeof this.path=="string"?In.extname(this.path):void 0}set extname(i){if(Dc(i,"extname"),Ng(this.dirname,"extname"),i){if(i.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(i.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=In.join(this.dirname,this.stem+(i||""))}get path(){return this.history[this.history.length-1]}set path(i){td(i)&&(i=_C(i)),Oc(i,"path"),this.path!==i&&this.history.push(i)}get stem(){return typeof this.path=="string"?In.basename(this.path,this.extname):void 0}set stem(i){Oc(i,"stem"),Dc(i,"stem"),this.path=In.join(this.dirname||"",i+(this.extname||""))}fail(i,r,l){const o=this.message(i,r,l);throw o.fatal=!0,o}info(i,r,l){const o=this.message(i,r,l);return o.fatal=void 0,o}message(i,r,l){const o=new _t(i,r,l);return this.path&&(o.name=this.path+":"+o.name,o.file=this.path),o.fatal=!1,this.messages.push(o),o}toString(i){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(i||void 0).decode(this.value)}}function Dc(t,i){if(t&&t.includes(In.sep))throw new Error("`"+i+"` cannot be a path: did not expect `"+In.sep+"`")}function Oc(t,i){if(!t)throw new Error("`"+i+"` cannot be empty")}function Ng(t,i){if(!t)throw new Error("Setting `"+i+"` requires `path` to be set too")}function BC(t){return!!(t&&typeof t=="object"&&"byteLength"in t&&"byteOffset"in t)}const HC=(function(t){const l=this.constructor.prototype,o=l[t],d=function(){return o.apply(d,arguments)};return Object.setPrototypeOf(d,l),d}),UC={}.hasOwnProperty;class Td extends HC{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=TC()}copy(){const i=new Td;let r=-1;for(;++r<this.attachers.length;){const l=this.attachers[r];i.use(...l)}return i.data(Ac(!0,{},this.namespace)),i}data(i,r){return typeof i=="string"?arguments.length===2?(_c("data",this.frozen),this.namespace[i]=r,this):UC.call(this.namespace,i)&&this.namespace[i]||void 0:i?(_c("data",this.frozen),this.namespace=i,this):this.namespace}freeze(){if(this.frozen)return this;const i=this;for(;++this.freezeIndex<this.attachers.length;){const[r,...l]=this.attachers[this.freezeIndex];if(l[0]===!1)continue;l[0]===!0&&(l[0]=void 0);const o=r.call(i,...l);typeof o=="function"&&this.transformers.use(o)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(i){this.freeze();const r=Ts(i),l=this.parser||this.Parser;return Mc("parse",l),l(String(r),r)}process(i,r){const l=this;return this.freeze(),Mc("process",this.parser||this.Parser),zc("process",this.compiler||this.Compiler),r?o(void 0,r):new Promise(o);function o(d,u){const h=Ts(i),g=l.parse(h);l.run(g,h,function(v,y,S){if(v||!y||!S)return p(v);const x=y,C=l.stringify(x,S);$C(C)?S.value=C:S.result=C,p(v,S)});function p(v,y){v||!y?u(v):d?d(y):r(void 0,y)}}}processSync(i){let r=!1,l;return this.freeze(),Mc("processSync",this.parser||this.Parser),zc("processSync",this.compiler||this.Compiler),this.process(i,o),Ig("processSync","process",r),l;function o(d,u){r=!0,Rg(d),l=u}}run(i,r,l){Ag(i),this.freeze();const o=this.transformers;return!l&&typeof r=="function"&&(l=r,r=void 0),l?d(void 0,l):new Promise(d);function d(u,h){const g=Ts(r);o.run(i,g,p);function p(v,y,S){const x=y||i;v?h(v):u?u(x):l(void 0,x,S)}}}runSync(i,r){let l=!1,o;return this.run(i,r,d),Ig("runSync","run",l),o;function d(u,h){Rg(u),o=h,l=!0}}stringify(i,r){this.freeze();const l=Ts(r),o=this.compiler||this.Compiler;return zc("stringify",o),Ag(i),o(i,l)}use(i,...r){const l=this.attachers,o=this.namespace;if(_c("use",this.frozen),i!=null)if(typeof i=="function")g(i,r);else if(typeof i=="object")Array.isArray(i)?h(i):u(i);else throw new TypeError("Expected usable value, not `"+i+"`");return this;function d(p){if(typeof p=="function")g(p,[]);else if(typeof p=="object")if(Array.isArray(p)){const[v,...y]=p;g(v,y)}else u(p);else throw new TypeError("Expected usable value, not `"+p+"`")}function u(p){if(!("plugins"in p)&&!("settings"in p))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");h(p.plugins),p.settings&&(o.settings=Ac(!0,o.settings,p.settings))}function h(p){let v=-1;if(p!=null)if(Array.isArray(p))for(;++v<p.length;){const y=p[v];d(y)}else throw new TypeError("Expected a list of plugins, not `"+p+"`")}function g(p,v){let y=-1,S=-1;for(;++y<l.length;)if(l[y][0]===p){S=y;break}if(S===-1)l.push([p,...v]);else if(v.length>0){let[x,...C]=v;const I=l[S][1];ed(I)&&ed(x)&&(x=Ac(!0,I,x)),l[S]=[p,x,...C]}}}}const qC=new Td().freeze();function Mc(t,i){if(typeof i!="function")throw new TypeError("Cannot `"+t+"` without `parser`")}function zc(t,i){if(typeof i!="function")throw new TypeError("Cannot `"+t+"` without `compiler`")}function _c(t,i){if(i)throw new Error("Cannot call `"+t+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Ag(t){if(!ed(t)||typeof t.type!="string")throw new TypeError("Expected node, got `"+t+"`")}function Ig(t,i,r){if(!r)throw new Error("`"+t+"` finished async. Use `"+i+"` instead")}function Ts(t){return GC(t)?t:new sv(t)}function GC(t){return!!(t&&typeof t=="object"&&"message"in t&&"messages"in t)}function $C(t){return typeof t=="string"||FC(t)}function FC(t){return!!(t&&typeof t=="object"&&"byteLength"in t&&"byteOffset"in t)}const VC="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",Dg=[],Og={allowDangerousHtml:!0},PC=/^(https?|ircs?|mailto|xmpp)$/i,YC=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function KC(t){const i=XC(t),r=QC(t);return ZC(i.runSync(i.parse(r),r),t)}function XC(t){const i=t.rehypePlugins||Dg,r=t.remarkPlugins||Dg,l=t.remarkRehypeOptions?{...t.remarkRehypeOptions,...Og}:Og;return qC().use(Nw).use(r).use(wC,l).use(i)}function QC(t){const i=t.children||"",r=new sv;return typeof i=="string"&&(r.value=i),r}function ZC(t,i){const r=i.allowedElements,l=i.allowElement,o=i.components,d=i.disallowedElements,u=i.skipHtml,h=i.unwrapDisallowed,g=i.urlTransform||JC;for(const v of YC)Object.hasOwn(i,v.from)&&(""+v.from+(v.to?"use `"+v.to+"` instead":"remove it")+VC+v.id,void 0);return jd(t,p),f0(t,{Fragment:c.Fragment,components:o,ignoreInvalidStyle:!0,jsx:c.jsx,jsxs:c.jsxs,passKeys:!0,passNode:!0});function p(v,y,S){if(v.type==="raw"&&S&&typeof y=="number")return u?S.children.splice(y,1):S.children[y]={type:"text",value:v.value},y;if(v.type==="element"){let x;for(x in Tc)if(Object.hasOwn(Tc,x)&&Object.hasOwn(v.properties,x)){const C=v.properties[x],I=Tc[x];(I===null||I.includes(v.tagName))&&(v.properties[x]=g(String(C||""),x,v))}}if(v.type==="element"){let x=r?!r.includes(v.tagName):d?d.includes(v.tagName):!1;if(!x&&l&&typeof y=="number"&&(x=!l(v,y,S)),x&&S&&typeof y=="number")return h&&v.children?S.children.splice(y,1,...v.children):S.children.splice(y,1),y}}}function JC(t){const i=t.indexOf(":"),r=t.indexOf("?"),l=t.indexOf("#"),o=t.indexOf("/");return i===-1||o!==-1&&i>o||r!==-1&&i>r||l!==-1&&i>l||PC.test(t.slice(0,i))?t:""}function Mg(t,i){const r=String(t);if(typeof i!="string")throw new TypeError("Expected character");let l=0,o=r.indexOf(i);for(;o!==-1;)l++,o=r.indexOf(i,o+i.length);return l}function WC(t){if(typeof t!="string")throw new TypeError("Expected a string");return t.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function ej(t,i,r){const o=Zs((r||{}).ignore||[]),d=tj(i);let u=-1;for(;++u<d.length;)lv(t,"text",h);function h(p,v){let y=-1,S;for(;++y<v.length;){const x=v[y],C=S?S.children:void 0;if(o(x,C?C.indexOf(x):void 0,S))return;S=x}if(S)return g(p,v)}function g(p,v){const y=v[v.length-1],S=d[u][0],x=d[u][1];let C=0;const H=y.children.indexOf(p);let R=!1,N=[];S.lastIndex=0;let A=S.exec(p.value);for(;A;){const G=A.index,K={index:A.index,input:A.input,stack:[...v,p]};let E=x(...A,K);if(typeof E=="string"&&(E=E.length>0?{type:"text",value:E}:void 0),E===!1?S.lastIndex=G+1:(C!==G&&N.push({type:"text",value:p.value.slice(C,G)}),Array.isArray(E)?N.push(...E):E&&N.push(E),C=G+A[0].length,R=!0),!S.global)break;A=S.exec(p.value)}return R?(C<p.value.length&&N.push({type:"text",value:p.value.slice(C)}),y.children.splice(H,1,...N)):N=[p],H+N.length}}function tj(t){const i=[];if(!Array.isArray(t))throw new TypeError("Expected find and replace tuple or list of tuples");const r=!t[0]||Array.isArray(t[0])?t:[t];let l=-1;for(;++l<r.length;){const o=r[l];i.push([nj(o[0]),ij(o[1])])}return i}function nj(t){return typeof t=="string"?new RegExp(WC(t),"g"):t}function ij(t){return typeof t=="function"?t:function(){return t}}const Lc="phrasing",Bc=["autolink","link","image","label"];function rj(){return{transforms:[dj],enter:{literalAutolink:lj,literalAutolinkEmail:Hc,literalAutolinkHttp:Hc,literalAutolinkWww:Hc},exit:{literalAutolink:cj,literalAutolinkEmail:uj,literalAutolinkHttp:sj,literalAutolinkWww:oj}}}function aj(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:Lc,notInConstruct:Bc},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:Lc,notInConstruct:Bc},{character:":",before:"[ps]",after:"\\/",inConstruct:Lc,notInConstruct:Bc}]}}function lj(t){this.enter({type:"link",title:null,url:"",children:[]},t)}function Hc(t){this.config.enter.autolinkProtocol.call(this,t)}function sj(t){this.config.exit.autolinkProtocol.call(this,t)}function oj(t){this.config.exit.data.call(this,t);const i=this.stack[this.stack.length-1];i.type,i.url="http://"+this.sliceSerialize(t)}function uj(t){this.config.exit.autolinkEmail.call(this,t)}function cj(t){this.exit(t)}function dj(t){ej(t,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,fj],[new RegExp("(?<=^|\\s|\\p{P}|\\p{S})([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)","gu"),hj]],{ignore:["link","linkReference"]})}function fj(t,i,r,l,o){let d="";if(!ov(o)||(/^w/i.test(i)&&(r=i+r,i="",d="http://"),!mj(r)))return!1;const u=pj(r+l);if(!u[0])return!1;const h={type:"link",title:null,url:d+i+u[0],children:[{type:"text",value:i+u[0]}]};return u[1]?[h,{type:"text",value:u[1]}]:h}function hj(t,i,r,l){return!ov(l,!0)||/[-\d_]$/.test(r)?!1:{type:"link",title:null,url:"mailto:"+i+"@"+r,children:[{type:"text",value:i+"@"+r}]}}function mj(t){const i=t.split(".");return!(i.length<2||i[i.length-1]&&(/_/.test(i[i.length-1])||!/[a-zA-Z\d]/.test(i[i.length-1]))||i[i.length-2]&&(/_/.test(i[i.length-2])||!/[a-zA-Z\d]/.test(i[i.length-2])))}function pj(t){const i=/[!"&'),.:;<>?\]}]+$/.exec(t);if(!i)return[t,void 0];t=t.slice(0,i.index);let r=i[0],l=r.indexOf(")");const o=Mg(t,"(");let d=Mg(t,")");for(;l!==-1&&o>d;)t+=r.slice(0,l+1),r=r.slice(l+1),l=r.indexOf(")"),d++;return[t,r]}function ov(t,i){const r=t.input.charCodeAt(t.index-1);return(t.index===0||rr(r)||Ks(r))&&(!i||r!==47)}uv.peek=Cj;function gj(){this.buffer()}function yj(t){this.enter({type:"footnoteReference",identifier:"",label:""},t)}function vj(){this.buffer()}function bj(t){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},t)}function xj(t){const i=this.resume(),r=this.stack[this.stack.length-1];r.type,r.identifier=wn(this.sliceSerialize(t)).toLowerCase(),r.label=i}function Sj(t){this.exit(t)}function kj(t){const i=this.resume(),r=this.stack[this.stack.length-1];r.type,r.identifier=wn(this.sliceSerialize(t)).toLowerCase(),r.label=i}function wj(t){this.exit(t)}function Cj(){return"["}function uv(t,i,r,l){const o=r.createTracker(l);let d=o.move("[^");const u=r.enter("footnoteReference"),h=r.enter("reference");return d+=o.move(r.safe(r.associationId(t),{after:"]",before:d})),h(),u(),d+=o.move("]"),d}function jj(){return{enter:{gfmFootnoteCallString:gj,gfmFootnoteCall:yj,gfmFootnoteDefinitionLabelString:vj,gfmFootnoteDefinition:bj},exit:{gfmFootnoteCallString:xj,gfmFootnoteCall:Sj,gfmFootnoteDefinitionLabelString:kj,gfmFootnoteDefinition:wj}}}function Tj(t){let i=!1;return t&&t.firstLineBlank&&(i=!0),{handlers:{footnoteDefinition:r,footnoteReference:uv},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function r(l,o,d,u){const h=d.createTracker(u);let g=h.move("[^");const p=d.enter("footnoteDefinition"),v=d.enter("label");return g+=h.move(d.safe(d.associationId(l),{before:g,after:"]"})),v(),g+=h.move("]:"),l.children&&l.children.length>0&&(h.shift(4),g+=h.move((i?`
25
+ `:" ")+d.indentLines(d.containerFlow(l,h.current()),i?cv:Rj))),p(),g}}function Rj(t,i,r){return i===0?t:cv(t,i,r)}function cv(t,i,r){return(r?"":" ")+t}const Ej=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];dv.peek=Oj;function Nj(){return{canContainEols:["delete"],enter:{strikethrough:Ij},exit:{strikethrough:Dj}}}function Aj(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:Ej}],handlers:{delete:dv}}}function Ij(t){this.enter({type:"delete",children:[]},t)}function Dj(t){this.exit(t)}function dv(t,i,r,l){const o=r.createTracker(l),d=r.enter("strikethrough");let u=o.move("~~");return u+=r.containerPhrasing(t,{...o.current(),before:u,after:"~"}),u+=o.move("~~"),d(),u}function Oj(){return"~"}function Mj(t){return t.length}function zj(t,i){const r=i||{},l=(r.align||[]).concat(),o=r.stringLength||Mj,d=[],u=[],h=[],g=[];let p=0,v=-1;for(;++v<t.length;){const I=[],H=[];let R=-1;for(t[v].length>p&&(p=t[v].length);++R<t[v].length;){const N=_j(t[v][R]);if(r.alignDelimiters!==!1){const A=o(N);H[R]=A,(g[R]===void 0||A>g[R])&&(g[R]=A)}I.push(N)}u[v]=I,h[v]=H}let y=-1;if(typeof l=="object"&&"length"in l)for(;++y<p;)d[y]=zg(l[y]);else{const I=zg(l);for(;++y<p;)d[y]=I}y=-1;const S=[],x=[];for(;++y<p;){const I=d[y];let H="",R="";I===99?(H=":",R=":"):I===108?H=":":I===114&&(R=":");let N=r.alignDelimiters===!1?1:Math.max(1,g[y]-H.length-R.length);const A=H+"-".repeat(N)+R;r.alignDelimiters!==!1&&(N=H.length+N+R.length,N>g[y]&&(g[y]=N),x[y]=N),S[y]=A}u.splice(1,0,S),h.splice(1,0,x),v=-1;const C=[];for(;++v<u.length;){const I=u[v],H=h[v];y=-1;const R=[];for(;++y<p;){const N=I[y]||"";let A="",G="";if(r.alignDelimiters!==!1){const K=g[y]-(H[y]||0),E=d[y];E===114?A=" ".repeat(K):E===99?K%2?(A=" ".repeat(K/2+.5),G=" ".repeat(K/2-.5)):(A=" ".repeat(K/2),G=A):G=" ".repeat(K)}r.delimiterStart!==!1&&!y&&R.push("|"),r.padding!==!1&&!(r.alignDelimiters===!1&&N==="")&&(r.delimiterStart!==!1||y)&&R.push(" "),r.alignDelimiters!==!1&&R.push(A),R.push(N),r.alignDelimiters!==!1&&R.push(G),r.padding!==!1&&R.push(" "),(r.delimiterEnd!==!1||y!==p-1)&&R.push("|")}C.push(r.delimiterEnd===!1?R.join("").replace(/ +$/,""):R.join(""))}return C.join(`
26
+ `)}function _j(t){return t==null?"":String(t)}function zg(t){const i=typeof t=="string"?t.codePointAt(0):0;return i===67||i===99?99:i===76||i===108?108:i===82||i===114?114:0}function Lj(t,i,r,l){const o=r.enter("blockquote"),d=r.createTracker(l);d.move("> "),d.shift(2);const u=r.indentLines(r.containerFlow(t,d.current()),Bj);return o(),u}function Bj(t,i,r){return">"+(r?"":" ")+t}function Hj(t,i){return _g(t,i.inConstruct,!0)&&!_g(t,i.notInConstruct,!1)}function _g(t,i,r){if(typeof i=="string"&&(i=[i]),!i||i.length===0)return r;let l=-1;for(;++l<i.length;)if(t.includes(i[l]))return!0;return!1}function Lg(t,i,r,l){let o=-1;for(;++o<r.unsafe.length;)if(r.unsafe[o].character===`
27
+ `&&Hj(r.stack,r.unsafe[o]))return/[ \t]/.test(l.before)?"":" ";return`\\
28
+ `}function Uj(t,i){const r=String(t);let l=r.indexOf(i),o=l,d=0,u=0;if(typeof i!="string")throw new TypeError("Expected substring");for(;l!==-1;)l===o?++d>u&&(u=d):d=1,o=l+i.length,l=r.indexOf(i,o);return u}function qj(t,i){return!!(i.options.fences===!1&&t.value&&!t.lang&&/[^ \r\n]/.test(t.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(t.value))}function Gj(t){const i=t.options.fence||"`";if(i!=="`"&&i!=="~")throw new Error("Cannot serialize code with `"+i+"` for `options.fence`, expected `` ` `` or `~`");return i}function $j(t,i,r,l){const o=Gj(r),d=t.value||"",u=o==="`"?"GraveAccent":"Tilde";if(qj(t,r)){const y=r.enter("codeIndented"),S=r.indentLines(d,Fj);return y(),S}const h=r.createTracker(l),g=o.repeat(Math.max(Uj(d,o)+1,3)),p=r.enter("codeFenced");let v=h.move(g);if(t.lang){const y=r.enter(`codeFencedLang${u}`);v+=h.move(r.safe(t.lang,{before:v,after:" ",encode:["`"],...h.current()})),y()}if(t.lang&&t.meta){const y=r.enter(`codeFencedMeta${u}`);v+=h.move(" "),v+=h.move(r.safe(t.meta,{before:v,after:`
29
+ `,encode:["`"],...h.current()})),y()}return v+=h.move(`
30
+ `),d&&(v+=h.move(d+`
31
+ `)),v+=h.move(g),p(),v}function Fj(t,i,r){return(r?"":" ")+t}function Rd(t){const i=t.options.quote||'"';if(i!=='"'&&i!=="'")throw new Error("Cannot serialize title with `"+i+"` for `options.quote`, expected `\"`, or `'`");return i}function Vj(t,i,r,l){const o=Rd(r),d=o==='"'?"Quote":"Apostrophe",u=r.enter("definition");let h=r.enter("label");const g=r.createTracker(l);let p=g.move("[");return p+=g.move(r.safe(r.associationId(t),{before:p,after:"]",...g.current()})),p+=g.move("]: "),h(),!t.url||/[\0- \u007F]/.test(t.url)?(h=r.enter("destinationLiteral"),p+=g.move("<"),p+=g.move(r.safe(t.url,{before:p,after:">",...g.current()})),p+=g.move(">")):(h=r.enter("destinationRaw"),p+=g.move(r.safe(t.url,{before:p,after:t.title?" ":`
32
+ `,...g.current()}))),h(),t.title&&(h=r.enter(`title${d}`),p+=g.move(" "+o),p+=g.move(r.safe(t.title,{before:p,after:o,...g.current()})),p+=g.move(o),h()),u(),p}function Pj(t){const i=t.options.emphasis||"*";if(i!=="*"&&i!=="_")throw new Error("Cannot serialize emphasis with `"+i+"` for `options.emphasis`, expected `*`, or `_`");return i}function al(t){return"&#x"+t.toString(16).toUpperCase()+";"}function Bs(t,i,r){const l=Zr(t),o=Zr(i);return l===void 0?o===void 0?r==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:o===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:l===1?o===void 0?{inside:!1,outside:!1}:o===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:o===void 0?{inside:!1,outside:!1}:o===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}fv.peek=Yj;function fv(t,i,r,l){const o=Pj(r),d=r.enter("emphasis"),u=r.createTracker(l),h=u.move(o);let g=u.move(r.containerPhrasing(t,{after:o,before:h,...u.current()}));const p=g.charCodeAt(0),v=Bs(l.before.charCodeAt(l.before.length-1),p,o);v.inside&&(g=al(p)+g.slice(1));const y=g.charCodeAt(g.length-1),S=Bs(l.after.charCodeAt(0),y,o);S.inside&&(g=g.slice(0,-1)+al(y));const x=u.move(o);return d(),r.attentionEncodeSurroundingInfo={after:S.outside,before:v.outside},h+g+x}function Yj(t,i,r){return r.options.emphasis||"*"}function Kj(t,i){let r=!1;return jd(t,function(l){if("value"in l&&/\r?\n|\r/.test(l.value)||l.type==="break")return r=!0,Jc}),!!((!t.depth||t.depth<3)&&vd(t)&&(i.options.setext||r))}function Xj(t,i,r,l){const o=Math.max(Math.min(6,t.depth||1),1),d=r.createTracker(l);if(Kj(t,r)){const v=r.enter("headingSetext"),y=r.enter("phrasing"),S=r.containerPhrasing(t,{...d.current(),before:`
33
+ `,after:`
34
+ `});return y(),v(),S+`
35
+ `+(o===1?"=":"-").repeat(S.length-(Math.max(S.lastIndexOf("\r"),S.lastIndexOf(`
36
+ `))+1))}const u="#".repeat(o),h=r.enter("headingAtx"),g=r.enter("phrasing");d.move(u+" ");let p=r.containerPhrasing(t,{before:"# ",after:`
37
+ `,...d.current()});return/^[\t ]/.test(p)&&(p=al(p.charCodeAt(0))+p.slice(1)),p=p?u+" "+p:u,r.options.closeAtx&&(p+=" "+u),g(),h(),p}hv.peek=Qj;function hv(t){return t.value||""}function Qj(){return"<"}mv.peek=Zj;function mv(t,i,r,l){const o=Rd(r),d=o==='"'?"Quote":"Apostrophe",u=r.enter("image");let h=r.enter("label");const g=r.createTracker(l);let p=g.move("![");return p+=g.move(r.safe(t.alt,{before:p,after:"]",...g.current()})),p+=g.move("]("),h(),!t.url&&t.title||/[\0- \u007F]/.test(t.url)?(h=r.enter("destinationLiteral"),p+=g.move("<"),p+=g.move(r.safe(t.url,{before:p,after:">",...g.current()})),p+=g.move(">")):(h=r.enter("destinationRaw"),p+=g.move(r.safe(t.url,{before:p,after:t.title?" ":")",...g.current()}))),h(),t.title&&(h=r.enter(`title${d}`),p+=g.move(" "+o),p+=g.move(r.safe(t.title,{before:p,after:o,...g.current()})),p+=g.move(o),h()),p+=g.move(")"),u(),p}function Zj(){return"!"}pv.peek=Jj;function pv(t,i,r,l){const o=t.referenceType,d=r.enter("imageReference");let u=r.enter("label");const h=r.createTracker(l);let g=h.move("![");const p=r.safe(t.alt,{before:g,after:"]",...h.current()});g+=h.move(p+"]["),u();const v=r.stack;r.stack=[],u=r.enter("reference");const y=r.safe(r.associationId(t),{before:g,after:"]",...h.current()});return u(),r.stack=v,d(),o==="full"||!p||p!==y?g+=h.move(y+"]"):o==="shortcut"?g=g.slice(0,-1):g+=h.move("]"),g}function Jj(){return"!"}gv.peek=Wj;function gv(t,i,r){let l=t.value||"",o="`",d=-1;for(;new RegExp("(^|[^`])"+o+"([^`]|$)").test(l);)o+="`";for(/[^ \r\n]/.test(l)&&(/^[ \r\n]/.test(l)&&/[ \r\n]$/.test(l)||/^`|`$/.test(l))&&(l=" "+l+" ");++d<r.unsafe.length;){const u=r.unsafe[d],h=r.compilePattern(u);let g;if(u.atBreak)for(;g=h.exec(l);){let p=g.index;l.charCodeAt(p)===10&&l.charCodeAt(p-1)===13&&p--,l=l.slice(0,p)+" "+l.slice(g.index+1)}}return o+l+o}function Wj(){return"`"}function yv(t,i){const r=vd(t);return!!(!i.options.resourceLink&&t.url&&!t.title&&t.children&&t.children.length===1&&t.children[0].type==="text"&&(r===t.url||"mailto:"+r===t.url)&&/^[a-z][a-z+.-]+:/i.test(t.url)&&!/[\0- <>\u007F]/.test(t.url))}vv.peek=eT;function vv(t,i,r,l){const o=Rd(r),d=o==='"'?"Quote":"Apostrophe",u=r.createTracker(l);let h,g;if(yv(t,r)){const v=r.stack;r.stack=[],h=r.enter("autolink");let y=u.move("<");return y+=u.move(r.containerPhrasing(t,{before:y,after:">",...u.current()})),y+=u.move(">"),h(),r.stack=v,y}h=r.enter("link"),g=r.enter("label");let p=u.move("[");return p+=u.move(r.containerPhrasing(t,{before:p,after:"](",...u.current()})),p+=u.move("]("),g(),!t.url&&t.title||/[\0- \u007F]/.test(t.url)?(g=r.enter("destinationLiteral"),p+=u.move("<"),p+=u.move(r.safe(t.url,{before:p,after:">",...u.current()})),p+=u.move(">")):(g=r.enter("destinationRaw"),p+=u.move(r.safe(t.url,{before:p,after:t.title?" ":")",...u.current()}))),g(),t.title&&(g=r.enter(`title${d}`),p+=u.move(" "+o),p+=u.move(r.safe(t.title,{before:p,after:o,...u.current()})),p+=u.move(o),g()),p+=u.move(")"),h(),p}function eT(t,i,r){return yv(t,r)?"<":"["}bv.peek=tT;function bv(t,i,r,l){const o=t.referenceType,d=r.enter("linkReference");let u=r.enter("label");const h=r.createTracker(l);let g=h.move("[");const p=r.containerPhrasing(t,{before:g,after:"]",...h.current()});g+=h.move(p+"]["),u();const v=r.stack;r.stack=[],u=r.enter("reference");const y=r.safe(r.associationId(t),{before:g,after:"]",...h.current()});return u(),r.stack=v,d(),o==="full"||!p||p!==y?g+=h.move(y+"]"):o==="shortcut"?g=g.slice(0,-1):g+=h.move("]"),g}function tT(){return"["}function Ed(t){const i=t.options.bullet||"*";if(i!=="*"&&i!=="+"&&i!=="-")throw new Error("Cannot serialize items with `"+i+"` for `options.bullet`, expected `*`, `+`, or `-`");return i}function nT(t){const i=Ed(t),r=t.options.bulletOther;if(!r)return i==="*"?"-":"*";if(r!=="*"&&r!=="+"&&r!=="-")throw new Error("Cannot serialize items with `"+r+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(r===i)throw new Error("Expected `bullet` (`"+i+"`) and `bulletOther` (`"+r+"`) to be different");return r}function iT(t){const i=t.options.bulletOrdered||".";if(i!=="."&&i!==")")throw new Error("Cannot serialize items with `"+i+"` for `options.bulletOrdered`, expected `.` or `)`");return i}function xv(t){const i=t.options.rule||"*";if(i!=="*"&&i!=="-"&&i!=="_")throw new Error("Cannot serialize rules with `"+i+"` for `options.rule`, expected `*`, `-`, or `_`");return i}function rT(t,i,r,l){const o=r.enter("list"),d=r.bulletCurrent;let u=t.ordered?iT(r):Ed(r);const h=t.ordered?u==="."?")":".":nT(r);let g=i&&r.bulletLastUsed?u===r.bulletLastUsed:!1;if(!t.ordered){const v=t.children?t.children[0]:void 0;if((u==="*"||u==="-")&&v&&(!v.children||!v.children[0])&&r.stack[r.stack.length-1]==="list"&&r.stack[r.stack.length-2]==="listItem"&&r.stack[r.stack.length-3]==="list"&&r.stack[r.stack.length-4]==="listItem"&&r.indexStack[r.indexStack.length-1]===0&&r.indexStack[r.indexStack.length-2]===0&&r.indexStack[r.indexStack.length-3]===0&&(g=!0),xv(r)===u&&v){let y=-1;for(;++y<t.children.length;){const S=t.children[y];if(S&&S.type==="listItem"&&S.children&&S.children[0]&&S.children[0].type==="thematicBreak"){g=!0;break}}}}g&&(u=h),r.bulletCurrent=u;const p=r.containerFlow(t,l);return r.bulletLastUsed=u,r.bulletCurrent=d,o(),p}function aT(t){const i=t.options.listItemIndent||"one";if(i!=="tab"&&i!=="one"&&i!=="mixed")throw new Error("Cannot serialize items with `"+i+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return i}function lT(t,i,r,l){const o=aT(r);let d=r.bulletCurrent||Ed(r);i&&i.type==="list"&&i.ordered&&(d=(typeof i.start=="number"&&i.start>-1?i.start:1)+(r.options.incrementListMarker===!1?0:i.children.indexOf(t))+d);let u=d.length+1;(o==="tab"||o==="mixed"&&(i&&i.type==="list"&&i.spread||t.spread))&&(u=Math.ceil(u/4)*4);const h=r.createTracker(l);h.move(d+" ".repeat(u-d.length)),h.shift(u);const g=r.enter("listItem"),p=r.indentLines(r.containerFlow(t,h.current()),v);return g(),p;function v(y,S,x){return S?(x?"":" ".repeat(u))+y:(x?d:d+" ".repeat(u-d.length))+y}}function sT(t,i,r,l){const o=r.enter("paragraph"),d=r.enter("phrasing"),u=r.containerPhrasing(t,l);return d(),o(),u}const oT=Zs(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function uT(t,i,r,l){return(t.children.some(function(u){return oT(u)})?r.containerPhrasing:r.containerFlow).call(r,t,l)}function cT(t){const i=t.options.strong||"*";if(i!=="*"&&i!=="_")throw new Error("Cannot serialize strong with `"+i+"` for `options.strong`, expected `*`, or `_`");return i}Sv.peek=dT;function Sv(t,i,r,l){const o=cT(r),d=r.enter("strong"),u=r.createTracker(l),h=u.move(o+o);let g=u.move(r.containerPhrasing(t,{after:o,before:h,...u.current()}));const p=g.charCodeAt(0),v=Bs(l.before.charCodeAt(l.before.length-1),p,o);v.inside&&(g=al(p)+g.slice(1));const y=g.charCodeAt(g.length-1),S=Bs(l.after.charCodeAt(0),y,o);S.inside&&(g=g.slice(0,-1)+al(y));const x=u.move(o+o);return d(),r.attentionEncodeSurroundingInfo={after:S.outside,before:v.outside},h+g+x}function dT(t,i,r){return r.options.strong||"*"}function fT(t,i,r,l){return r.safe(t.value,l)}function hT(t){const i=t.options.ruleRepetition||3;if(i<3)throw new Error("Cannot serialize rules with repetition `"+i+"` for `options.ruleRepetition`, expected `3` or more");return i}function mT(t,i,r){const l=(xv(r)+(r.options.ruleSpaces?" ":"")).repeat(hT(r));return r.options.ruleSpaces?l.slice(0,-1):l}const kv={blockquote:Lj,break:Lg,code:$j,definition:Vj,emphasis:fv,hardBreak:Lg,heading:Xj,html:hv,image:mv,imageReference:pv,inlineCode:gv,link:vv,linkReference:bv,list:rT,listItem:lT,paragraph:sT,root:uT,strong:Sv,text:fT,thematicBreak:mT};function pT(){return{enter:{table:gT,tableData:Bg,tableHeader:Bg,tableRow:vT},exit:{codeText:bT,table:yT,tableData:Uc,tableHeader:Uc,tableRow:Uc}}}function gT(t){const i=t._align;this.enter({type:"table",align:i.map(function(r){return r==="none"?null:r}),children:[]},t),this.data.inTable=!0}function yT(t){this.exit(t),this.data.inTable=void 0}function vT(t){this.enter({type:"tableRow",children:[]},t)}function Uc(t){this.exit(t)}function Bg(t){this.enter({type:"tableCell",children:[]},t)}function bT(t){let i=this.resume();this.data.inTable&&(i=i.replace(/\\([\\|])/g,xT));const r=this.stack[this.stack.length-1];r.type,r.value=i,this.exit(t)}function xT(t,i){return i==="|"?i:t}function ST(t){const i=t||{},r=i.tableCellPadding,l=i.tablePipeAlign,o=i.stringLength,d=r?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
38
+ `,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:S,table:u,tableCell:g,tableRow:h}};function u(x,C,I,H){return p(v(x,I,H),x.align)}function h(x,C,I,H){const R=y(x,I,H),N=p([R]);return N.slice(0,N.indexOf(`
39
+ `))}function g(x,C,I,H){const R=I.enter("tableCell"),N=I.enter("phrasing"),A=I.containerPhrasing(x,{...H,before:d,after:d});return N(),R(),A}function p(x,C){return zj(x,{align:C,alignDelimiters:l,padding:r,stringLength:o})}function v(x,C,I){const H=x.children;let R=-1;const N=[],A=C.enter("table");for(;++R<H.length;)N[R]=y(H[R],C,I);return A(),N}function y(x,C,I){const H=x.children;let R=-1;const N=[],A=C.enter("tableRow");for(;++R<H.length;)N[R]=g(H[R],x,C,I);return A(),N}function S(x,C,I){let H=kv.inlineCode(x,C,I);return I.stack.includes("tableCell")&&(H=H.replace(/\|/g,"\\$&")),H}}function kT(){return{exit:{taskListCheckValueChecked:Hg,taskListCheckValueUnchecked:Hg,paragraph:CT}}}function wT(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:jT}}}function Hg(t){const i=this.stack[this.stack.length-2];i.type,i.checked=t.type==="taskListCheckValueChecked"}function CT(t){const i=this.stack[this.stack.length-2];if(i&&i.type==="listItem"&&typeof i.checked=="boolean"){const r=this.stack[this.stack.length-1];r.type;const l=r.children[0];if(l&&l.type==="text"){const o=i.children;let d=-1,u;for(;++d<o.length;){const h=o[d];if(h.type==="paragraph"){u=h;break}}u===r&&(l.value=l.value.slice(1),l.value.length===0?r.children.shift():r.position&&l.position&&typeof l.position.start.offset=="number"&&(l.position.start.column++,l.position.start.offset++,r.position.start=Object.assign({},l.position.start)))}}this.exit(t)}function jT(t,i,r,l){const o=t.children[0],d=typeof t.checked=="boolean"&&o&&o.type==="paragraph",u="["+(t.checked?"x":" ")+"] ",h=r.createTracker(l);d&&h.move(u);let g=kv.listItem(t,i,r,{...l,...h.current()});return d&&(g=g.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,p)),g;function p(v){return v+u}}function TT(){return[rj(),jj(),Nj(),pT(),kT()]}function RT(t){return{extensions:[aj(),Tj(t),Aj(),ST(t),wT()]}}const ET={tokenize:MT,partial:!0},wv={tokenize:zT,partial:!0},Cv={tokenize:_T,partial:!0},jv={tokenize:LT,partial:!0},NT={tokenize:BT,partial:!0},Tv={name:"wwwAutolink",tokenize:DT,previous:Ev},Rv={name:"protocolAutolink",tokenize:OT,previous:Nv},ti={name:"emailAutolink",tokenize:IT,previous:Av},On={};function AT(){return{text:On}}let Ji=48;for(;Ji<123;)On[Ji]=ti,Ji++,Ji===58?Ji=65:Ji===91&&(Ji=97);On[43]=ti;On[45]=ti;On[46]=ti;On[95]=ti;On[72]=[ti,Rv];On[104]=[ti,Rv];On[87]=[ti,Tv];On[119]=[ti,Tv];function IT(t,i,r){const l=this;let o,d;return u;function u(y){return!nd(y)||!Av.call(l,l.previous)||Nd(l.events)?r(y):(t.enter("literalAutolink"),t.enter("literalAutolinkEmail"),h(y))}function h(y){return nd(y)?(t.consume(y),h):y===64?(t.consume(y),g):r(y)}function g(y){return y===46?t.check(NT,v,p)(y):y===45||y===95||zt(y)?(d=!0,t.consume(y),g):v(y)}function p(y){return t.consume(y),o=!0,g}function v(y){return d&&o&&Ht(l.previous)?(t.exit("literalAutolinkEmail"),t.exit("literalAutolink"),i(y)):r(y)}}function DT(t,i,r){const l=this;return o;function o(u){return u!==87&&u!==119||!Ev.call(l,l.previous)||Nd(l.events)?r(u):(t.enter("literalAutolink"),t.enter("literalAutolinkWww"),t.check(ET,t.attempt(wv,t.attempt(Cv,d),r),r)(u))}function d(u){return t.exit("literalAutolinkWww"),t.exit("literalAutolink"),i(u)}}function OT(t,i,r){const l=this;let o="",d=!1;return u;function u(y){return(y===72||y===104)&&Nv.call(l,l.previous)&&!Nd(l.events)?(t.enter("literalAutolink"),t.enter("literalAutolinkHttp"),o+=String.fromCodePoint(y),t.consume(y),h):r(y)}function h(y){if(Ht(y)&&o.length<5)return o+=String.fromCodePoint(y),t.consume(y),h;if(y===58){const S=o.toLowerCase();if(S==="http"||S==="https")return t.consume(y),g}return r(y)}function g(y){return y===47?(t.consume(y),d?p:(d=!0,g)):r(y)}function p(y){return y===null||zs(y)||rt(y)||rr(y)||Ks(y)?r(y):t.attempt(wv,t.attempt(Cv,v),r)(y)}function v(y){return t.exit("literalAutolinkHttp"),t.exit("literalAutolink"),i(y)}}function MT(t,i,r){let l=0;return o;function o(u){return(u===87||u===119)&&l<3?(l++,t.consume(u),o):u===46&&l===3?(t.consume(u),d):r(u)}function d(u){return u===null?r(u):i(u)}}function zT(t,i,r){let l,o,d;return u;function u(p){return p===46||p===95?t.check(jv,g,h)(p):p===null||rt(p)||rr(p)||p!==45&&Ks(p)?g(p):(d=!0,t.consume(p),u)}function h(p){return p===95?l=!0:(o=l,l=void 0),t.consume(p),u}function g(p){return o||l||!d?r(p):i(p)}}function _T(t,i){let r=0,l=0;return o;function o(u){return u===40?(r++,t.consume(u),o):u===41&&l<r?d(u):u===33||u===34||u===38||u===39||u===41||u===42||u===44||u===46||u===58||u===59||u===60||u===63||u===93||u===95||u===126?t.check(jv,i,d)(u):u===null||rt(u)||rr(u)?i(u):(t.consume(u),o)}function d(u){return u===41&&l++,t.consume(u),o}}function LT(t,i,r){return l;function l(h){return h===33||h===34||h===39||h===41||h===42||h===44||h===46||h===58||h===59||h===63||h===95||h===126?(t.consume(h),l):h===38?(t.consume(h),d):h===93?(t.consume(h),o):h===60||h===null||rt(h)||rr(h)?i(h):r(h)}function o(h){return h===null||h===40||h===91||rt(h)||rr(h)?i(h):l(h)}function d(h){return Ht(h)?u(h):r(h)}function u(h){return h===59?(t.consume(h),l):Ht(h)?(t.consume(h),u):r(h)}}function BT(t,i,r){return l;function l(d){return t.consume(d),o}function o(d){return zt(d)?r(d):i(d)}}function Ev(t){return t===null||t===40||t===42||t===95||t===91||t===93||t===126||rt(t)}function Nv(t){return!Ht(t)}function Av(t){return!(t===47||nd(t))}function nd(t){return t===43||t===45||t===46||t===95||zt(t)}function Nd(t){let i=t.length,r=!1;for(;i--;){const l=t[i][1];if((l.type==="labelLink"||l.type==="labelImage")&&!l._balanced){r=!0;break}if(l._gfmAutolinkLiteralWalkedInto){r=!1;break}}return t.length>0&&!r&&(t[t.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),r}const HT={tokenize:YT,partial:!0};function UT(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:FT,continuation:{tokenize:VT},exit:PT}},text:{91:{name:"gfmFootnoteCall",tokenize:$T},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:qT,resolveTo:GT}}}}function qT(t,i,r){const l=this;let o=l.events.length;const d=l.parser.gfmFootnotes||(l.parser.gfmFootnotes=[]);let u;for(;o--;){const g=l.events[o][1];if(g.type==="labelImage"){u=g;break}if(g.type==="gfmFootnoteCall"||g.type==="labelLink"||g.type==="label"||g.type==="image"||g.type==="link")break}return h;function h(g){if(!u||!u._balanced)return r(g);const p=wn(l.sliceSerialize({start:u.end,end:l.now()}));return p.codePointAt(0)!==94||!d.includes(p.slice(1))?r(g):(t.enter("gfmFootnoteCallLabelMarker"),t.consume(g),t.exit("gfmFootnoteCallLabelMarker"),i(g))}}function GT(t,i){let r=t.length;for(;r--;)if(t[r][1].type==="labelImage"&&t[r][0]==="enter"){t[r][1];break}t[r+1][1].type="data",t[r+3][1].type="gfmFootnoteCallLabelMarker";const l={type:"gfmFootnoteCall",start:Object.assign({},t[r+3][1].start),end:Object.assign({},t[t.length-1][1].end)},o={type:"gfmFootnoteCallMarker",start:Object.assign({},t[r+3][1].end),end:Object.assign({},t[r+3][1].end)};o.end.column++,o.end.offset++,o.end._bufferIndex++;const d={type:"gfmFootnoteCallString",start:Object.assign({},o.end),end:Object.assign({},t[t.length-1][1].start)},u={type:"chunkString",contentType:"string",start:Object.assign({},d.start),end:Object.assign({},d.end)},h=[t[r+1],t[r+2],["enter",l,i],t[r+3],t[r+4],["enter",o,i],["exit",o,i],["enter",d,i],["enter",u,i],["exit",u,i],["exit",d,i],t[t.length-2],t[t.length-1],["exit",l,i]];return t.splice(r,t.length-r+1,...h),t}function $T(t,i,r){const l=this,o=l.parser.gfmFootnotes||(l.parser.gfmFootnotes=[]);let d=0,u;return h;function h(y){return t.enter("gfmFootnoteCall"),t.enter("gfmFootnoteCallLabelMarker"),t.consume(y),t.exit("gfmFootnoteCallLabelMarker"),g}function g(y){return y!==94?r(y):(t.enter("gfmFootnoteCallMarker"),t.consume(y),t.exit("gfmFootnoteCallMarker"),t.enter("gfmFootnoteCallString"),t.enter("chunkString").contentType="string",p)}function p(y){if(d>999||y===93&&!u||y===null||y===91||rt(y))return r(y);if(y===93){t.exit("chunkString");const S=t.exit("gfmFootnoteCallString");return o.includes(wn(l.sliceSerialize(S)))?(t.enter("gfmFootnoteCallLabelMarker"),t.consume(y),t.exit("gfmFootnoteCallLabelMarker"),t.exit("gfmFootnoteCall"),i):r(y)}return rt(y)||(u=!0),d++,t.consume(y),y===92?v:p}function v(y){return y===91||y===92||y===93?(t.consume(y),d++,p):p(y)}}function FT(t,i,r){const l=this,o=l.parser.gfmFootnotes||(l.parser.gfmFootnotes=[]);let d,u=0,h;return g;function g(C){return t.enter("gfmFootnoteDefinition")._container=!0,t.enter("gfmFootnoteDefinitionLabel"),t.enter("gfmFootnoteDefinitionLabelMarker"),t.consume(C),t.exit("gfmFootnoteDefinitionLabelMarker"),p}function p(C){return C===94?(t.enter("gfmFootnoteDefinitionMarker"),t.consume(C),t.exit("gfmFootnoteDefinitionMarker"),t.enter("gfmFootnoteDefinitionLabelString"),t.enter("chunkString").contentType="string",v):r(C)}function v(C){if(u>999||C===93&&!h||C===null||C===91||rt(C))return r(C);if(C===93){t.exit("chunkString");const I=t.exit("gfmFootnoteDefinitionLabelString");return d=wn(l.sliceSerialize(I)),t.enter("gfmFootnoteDefinitionLabelMarker"),t.consume(C),t.exit("gfmFootnoteDefinitionLabelMarker"),t.exit("gfmFootnoteDefinitionLabel"),S}return rt(C)||(h=!0),u++,t.consume(C),C===92?y:v}function y(C){return C===91||C===92||C===93?(t.consume(C),u++,v):v(C)}function S(C){return C===58?(t.enter("definitionMarker"),t.consume(C),t.exit("definitionMarker"),o.includes(d)||o.push(d),Fe(t,x,"gfmFootnoteDefinitionWhitespace")):r(C)}function x(C){return i(C)}}function VT(t,i,r){return t.check(sl,i,t.attempt(HT,i,r))}function PT(t){t.exit("gfmFootnoteDefinition")}function YT(t,i,r){const l=this;return Fe(t,o,"gfmFootnoteDefinitionIndent",5);function o(d){const u=l.events[l.events.length-1];return u&&u[1].type==="gfmFootnoteDefinitionIndent"&&u[2].sliceSerialize(u[1],!0).length===4?i(d):r(d)}}function KT(t){let r=(t||{}).singleTilde;const l={name:"strikethrough",tokenize:d,resolveAll:o};return r==null&&(r=!0),{text:{126:l},insideSpan:{null:[l]},attentionMarkers:{null:[126]}};function o(u,h){let g=-1;for(;++g<u.length;)if(u[g][0]==="enter"&&u[g][1].type==="strikethroughSequenceTemporary"&&u[g][1]._close){let p=g;for(;p--;)if(u[p][0]==="exit"&&u[p][1].type==="strikethroughSequenceTemporary"&&u[p][1]._open&&u[g][1].end.offset-u[g][1].start.offset===u[p][1].end.offset-u[p][1].start.offset){u[g][1].type="strikethroughSequence",u[p][1].type="strikethroughSequence";const v={type:"strikethrough",start:Object.assign({},u[p][1].start),end:Object.assign({},u[g][1].end)},y={type:"strikethroughText",start:Object.assign({},u[p][1].end),end:Object.assign({},u[g][1].start)},S=[["enter",v,h],["enter",u[p][1],h],["exit",u[p][1],h],["enter",y,h]],x=h.parser.constructs.insideSpan.null;x&&ln(S,S.length,0,Xs(x,u.slice(p+1,g),h)),ln(S,S.length,0,[["exit",y,h],["enter",u[g][1],h],["exit",u[g][1],h],["exit",v,h]]),ln(u,p-1,g-p+3,S),g=p+S.length-2;break}}for(g=-1;++g<u.length;)u[g][1].type==="strikethroughSequenceTemporary"&&(u[g][1].type="data");return u}function d(u,h,g){const p=this.previous,v=this.events;let y=0;return S;function S(C){return p===126&&v[v.length-1][1].type!=="characterEscape"?g(C):(u.enter("strikethroughSequenceTemporary"),x(C))}function x(C){const I=Zr(p);if(C===126)return y>1?g(C):(u.consume(C),y++,x);if(y<2&&!r)return g(C);const H=u.exit("strikethroughSequenceTemporary"),R=Zr(C);return H._open=!R||R===2&&!!I,H._close=!I||I===2&&!!R,h(C)}}}class XT{constructor(){this.map=[]}add(i,r,l){QT(this,i,r,l)}consume(i){if(this.map.sort(function(d,u){return d[0]-u[0]}),this.map.length===0)return;let r=this.map.length;const l=[];for(;r>0;)r-=1,l.push(i.slice(this.map[r][0]+this.map[r][1]),this.map[r][2]),i.length=this.map[r][0];l.push(i.slice()),i.length=0;let o=l.pop();for(;o;){for(const d of o)i.push(d);o=l.pop()}this.map.length=0}}function QT(t,i,r,l){let o=0;if(!(r===0&&l.length===0)){for(;o<t.map.length;){if(t.map[o][0]===i){t.map[o][1]+=r,t.map[o][2].push(...l);return}o+=1}t.map.push([i,r,l])}}function ZT(t,i){let r=!1;const l=[];for(;i<t.length;){const o=t[i];if(r){if(o[0]==="enter")o[1].type==="tableContent"&&l.push(t[i+1][1].type==="tableDelimiterMarker"?"left":"none");else if(o[1].type==="tableContent"){if(t[i-1][1].type==="tableDelimiterMarker"){const d=l.length-1;l[d]=l[d]==="left"?"center":"right"}}else if(o[1].type==="tableDelimiterRow")break}else o[0]==="enter"&&o[1].type==="tableDelimiterRow"&&(r=!0);i+=1}return l}function JT(){return{flow:{null:{name:"table",tokenize:WT,resolveAll:eR}}}}function WT(t,i,r){const l=this;let o=0,d=0,u;return h;function h(z){let F=l.events.length-1;for(;F>-1;){const X=l.events[F][1].type;if(X==="lineEnding"||X==="linePrefix")F--;else break}const V=F>-1?l.events[F][1].type:null,le=V==="tableHead"||V==="tableRow"?E:g;return le===E&&l.parser.lazy[l.now().line]?r(z):le(z)}function g(z){return t.enter("tableHead"),t.enter("tableRow"),p(z)}function p(z){return z===124||(u=!0,d+=1),v(z)}function v(z){return z===null?r(z):ke(z)?d>1?(d=0,l.interrupt=!0,t.exit("tableRow"),t.enter("lineEnding"),t.consume(z),t.exit("lineEnding"),x):r(z):Le(z)?Fe(t,v,"whitespace")(z):(d+=1,u&&(u=!1,o+=1),z===124?(t.enter("tableCellDivider"),t.consume(z),t.exit("tableCellDivider"),u=!0,v):(t.enter("data"),y(z)))}function y(z){return z===null||z===124||rt(z)?(t.exit("data"),v(z)):(t.consume(z),z===92?S:y)}function S(z){return z===92||z===124?(t.consume(z),y):y(z)}function x(z){return l.interrupt=!1,l.parser.lazy[l.now().line]?r(z):(t.enter("tableDelimiterRow"),u=!1,Le(z)?Fe(t,C,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(z):C(z))}function C(z){return z===45||z===58?H(z):z===124?(u=!0,t.enter("tableCellDivider"),t.consume(z),t.exit("tableCellDivider"),I):K(z)}function I(z){return Le(z)?Fe(t,H,"whitespace")(z):H(z)}function H(z){return z===58?(d+=1,u=!0,t.enter("tableDelimiterMarker"),t.consume(z),t.exit("tableDelimiterMarker"),R):z===45?(d+=1,R(z)):z===null||ke(z)?G(z):K(z)}function R(z){return z===45?(t.enter("tableDelimiterFiller"),N(z)):K(z)}function N(z){return z===45?(t.consume(z),N):z===58?(u=!0,t.exit("tableDelimiterFiller"),t.enter("tableDelimiterMarker"),t.consume(z),t.exit("tableDelimiterMarker"),A):(t.exit("tableDelimiterFiller"),A(z))}function A(z){return Le(z)?Fe(t,G,"whitespace")(z):G(z)}function G(z){return z===124?C(z):z===null||ke(z)?!u||o!==d?K(z):(t.exit("tableDelimiterRow"),t.exit("tableHead"),i(z)):K(z)}function K(z){return r(z)}function E(z){return t.enter("tableRow"),$(z)}function $(z){return z===124?(t.enter("tableCellDivider"),t.consume(z),t.exit("tableCellDivider"),$):z===null||ke(z)?(t.exit("tableRow"),i(z)):Le(z)?Fe(t,$,"whitespace")(z):(t.enter("data"),te(z))}function te(z){return z===null||z===124||rt(z)?(t.exit("data"),$(z)):(t.consume(z),z===92?ue:te)}function ue(z){return z===92||z===124?(t.consume(z),te):te(z)}}function eR(t,i){let r=-1,l=!0,o=0,d=[0,0,0,0],u=[0,0,0,0],h=!1,g=0,p,v,y;const S=new XT;for(;++r<t.length;){const x=t[r],C=x[1];x[0]==="enter"?C.type==="tableHead"?(h=!1,g!==0&&(Ug(S,i,g,p,v),v=void 0,g=0),p={type:"table",start:Object.assign({},C.start),end:Object.assign({},C.end)},S.add(r,0,[["enter",p,i]])):C.type==="tableRow"||C.type==="tableDelimiterRow"?(l=!0,y=void 0,d=[0,0,0,0],u=[0,r+1,0,0],h&&(h=!1,v={type:"tableBody",start:Object.assign({},C.start),end:Object.assign({},C.end)},S.add(r,0,[["enter",v,i]])),o=C.type==="tableDelimiterRow"?2:v?3:1):o&&(C.type==="data"||C.type==="tableDelimiterMarker"||C.type==="tableDelimiterFiller")?(l=!1,u[2]===0&&(d[1]!==0&&(u[0]=u[1],y=Rs(S,i,d,o,void 0,y),d=[0,0,0,0]),u[2]=r)):C.type==="tableCellDivider"&&(l?l=!1:(d[1]!==0&&(u[0]=u[1],y=Rs(S,i,d,o,void 0,y)),d=u,u=[d[1],r,0,0])):C.type==="tableHead"?(h=!0,g=r):C.type==="tableRow"||C.type==="tableDelimiterRow"?(g=r,d[1]!==0?(u[0]=u[1],y=Rs(S,i,d,o,r,y)):u[1]!==0&&(y=Rs(S,i,u,o,r,y)),o=0):o&&(C.type==="data"||C.type==="tableDelimiterMarker"||C.type==="tableDelimiterFiller")&&(u[3]=r)}for(g!==0&&Ug(S,i,g,p,v),S.consume(i.events),r=-1;++r<i.events.length;){const x=i.events[r];x[0]==="enter"&&x[1].type==="table"&&(x[1]._align=ZT(i.events,r))}return t}function Rs(t,i,r,l,o,d){const u=l===1?"tableHeader":l===2?"tableDelimiter":"tableData",h="tableContent";r[0]!==0&&(d.end=Object.assign({},Vr(i.events,r[0])),t.add(r[0],0,[["exit",d,i]]));const g=Vr(i.events,r[1]);if(d={type:u,start:Object.assign({},g),end:Object.assign({},g)},t.add(r[1],0,[["enter",d,i]]),r[2]!==0){const p=Vr(i.events,r[2]),v=Vr(i.events,r[3]),y={type:h,start:Object.assign({},p),end:Object.assign({},v)};if(t.add(r[2],0,[["enter",y,i]]),l!==2){const S=i.events[r[2]],x=i.events[r[3]];if(S[1].end=Object.assign({},x[1].end),S[1].type="chunkText",S[1].contentType="text",r[3]>r[2]+1){const C=r[2]+1,I=r[3]-r[2]-1;t.add(C,I,[])}}t.add(r[3]+1,0,[["exit",y,i]])}return o!==void 0&&(d.end=Object.assign({},Vr(i.events,o)),t.add(o,0,[["exit",d,i]]),d=void 0),d}function Ug(t,i,r,l,o){const d=[],u=Vr(i.events,r);o&&(o.end=Object.assign({},u),d.push(["exit",o,i])),l.end=Object.assign({},u),d.push(["exit",l,i]),t.add(r+1,0,d)}function Vr(t,i){const r=t[i],l=r[0]==="enter"?"start":"end";return r[1][l]}const tR={name:"tasklistCheck",tokenize:iR};function nR(){return{text:{91:tR}}}function iR(t,i,r){const l=this;return o;function o(g){return l.previous!==null||!l._gfmTasklistFirstContentOfListItem?r(g):(t.enter("taskListCheck"),t.enter("taskListCheckMarker"),t.consume(g),t.exit("taskListCheckMarker"),d)}function d(g){return rt(g)?(t.enter("taskListCheckValueUnchecked"),t.consume(g),t.exit("taskListCheckValueUnchecked"),u):g===88||g===120?(t.enter("taskListCheckValueChecked"),t.consume(g),t.exit("taskListCheckValueChecked"),u):r(g)}function u(g){return g===93?(t.enter("taskListCheckMarker"),t.consume(g),t.exit("taskListCheckMarker"),t.exit("taskListCheck"),h):r(g)}function h(g){return ke(g)?i(g):Le(g)?t.check({tokenize:rR},i,r)(g):r(g)}}function rR(t,i,r){return Fe(t,l,"whitespace");function l(o){return o===null?r(o):i(o)}}function aR(t){return Uy([AT(),UT(),KT(t),JT(),nR()])}const lR={};function sR(t){const i=this,r=t||lR,l=i.data(),o=l.micromarkExtensions||(l.micromarkExtensions=[]),d=l.fromMarkdownExtensions||(l.fromMarkdownExtensions=[]),u=l.toMarkdownExtensions||(l.toMarkdownExtensions=[]);o.push(aR(r)),d.push(TT()),u.push(RT(r))}const Iv=/^(javascript|vbscript|data):/i;function oR(t){if(!t)return!1;const i=t.trim();return!(!i||Iv.test(i))}function uR(t){if(!t)return!1;const i=t.trim();return!i||Iv.test(i)||i.startsWith("blob:")||i.startsWith("data:image/")||/^https?:\/\//i.test(i)?!1:!!(i.startsWith("/")||i.startsWith("./")||i.startsWith("../")||!/^[a-zA-Z][a-zA-Z0-9+.-]*:/.test(i))}const cR=[[sR,{singleTilde:!1}]];function qg({lang:t,text:i}){const[r,l]=k.useState(!1),o=()=>{navigator.clipboard?.writeText(i).then(()=>{l(!0),window.setTimeout(()=>l(!1),1600)},()=>{})};return c.jsxs("div",{className:"oc-codeblock",children:[c.jsxs("div",{className:"oc-codeblock-head",children:[c.jsx("span",{className:"oc-codeblock-lang",children:t||"text"}),c.jsx("button",{type:"button",className:"oc-codeblock-copy",onClick:o,children:r?"已复制":"复制"})]}),c.jsx("pre",{children:c.jsx("code",{children:i})})]})}const dR={pre({children:t}){return c.jsx(c.Fragment,{children:t})},code({className:t,children:i,...r}){const l=String(i??"").replace(/\n$/,""),o=/language-([\w-]+)/.exec(t??"");return o||t&&l.includes(`
40
+ `)?c.jsx(qg,{lang:o?.[1]??"",text:l}):l.includes(`
41
+ `)?c.jsx(qg,{lang:"",text:l}):c.jsx("code",{className:t,...r,children:i})},a({href:t,children:i,...r}){if(!oR(t))return c.jsx("span",{...r,children:i});const l=/^https?:\/\//i.test(t??"");return c.jsx("a",{href:t,...l?{target:"_blank",rel:"noopener noreferrer"}:{},...r,children:i})},img({src:t,alt:i}){return uR(t)?c.jsxs(c.Fragment,{children:[c.jsx("img",{src:t,alt:i??"",loading:"lazy",onError:r=>{const l=r.currentTarget;l.hidden=!0,l.nextElementSibling?.removeAttribute("hidden")}}),c.jsx("span",{className:"oc-md-img-fallback",hidden:!0,title:t??void 0,children:i?`[图片加载失败: ${i}]`:"[图片加载失败]"})]}):c.jsx("span",{className:"oc-md-img-fallback",title:t??void 0,children:i?`[图片: ${i}]`:"[图片已屏蔽]"})},table({children:t}){return c.jsx("div",{className:"oc-md-table-wrap",children:c.jsx("table",{children:t})})},input(t){return t.type==="checkbox"?c.jsx("input",{type:"checkbox",checked:!!t.checked,disabled:!0,readOnly:!0}):c.jsx("input",{...t,disabled:!0,readOnly:!0})}};function fR({text:t}){try{return c.jsx("div",{className:"oc-md",children:c.jsx(KC,{remarkPlugins:cR,components:dR,children:t})})}catch{return c.jsx("div",{className:"oc-md",children:c.jsx("pre",{className:"oc-md-fallback",children:t})})}}function hR(){return c.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:[c.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),c.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})}function mR(){return c.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:c.jsx("polyline",{points:"20 6 9 17 4 12"})})}function pR(){return c.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:[c.jsx("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),c.jsx("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})]})}function gR(){return c.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:c.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})})}function Ad(){return c.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:c.jsx("polyline",{points:"4 2.5 7.5 6 4 9.5"})})}function yR(){return c.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:c.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"})})}function id(t){const[i,r]=k.useState(!1),l=()=>{navigator.clipboard?.writeText(t.text).then(()=>{r(!0),window.setTimeout(()=>r(!1),1600)},()=>{})};return c.jsx("button",{type:"button",className:`oc-message-copy${i?" is-copied":""}`,"aria-label":i?"已复制":"复制消息",title:i?"已复制":"复制",onClick:l,children:i?c.jsx(mR,{}):c.jsx(hR,{})})}function Gg(t){const{message:i,streaming:r,activeAssistantId:l}=t,o=i.role==="user",d=o?"你":"π",u=o?"你":"助手",h=!o&&r&&l!==null&&i.id===l,g=h&&i.text.length===0,p=i.text.trim().length>0;return c.jsxs("div",{className:`oc-row ${o?"is-user":"is-assistant"}`,children:[c.jsxs("div",{className:"oc-meta",children:[c.jsx("span",{className:`oc-avatar ${o?"oc-avatar-user":"oc-avatar-assistant"}`,"aria-hidden":"true",children:d}),c.jsx("span",{className:"oc-role",children:u}),c.jsx("span",{className:"oc-time",children:oy(i.createdAt)}),p&&c.jsx(id,{text:i.text})]}),c.jsxs("div",{className:`oc-bubble ${o?"oc-bubble-user":"oc-bubble-assistant"}`,children:[p?o?c.jsx("div",{style:{whiteSpace:"pre-wrap"},children:i.text}):c.jsx(fR,{text:i.text}):g?c.jsx("span",{className:"oc-cursor","aria-hidden":"true"}):null,h&&p&&c.jsx("span",{className:"oc-cursor","aria-hidden":"true"})]})]})}function vR(t){if(!(!t||typeof t!="object"))return t}function Ri(t){return typeof t=="string"?t:void 0}function Ws(t){if(!Array.isArray(t))return;const i=[];for(const r of t){const l=vR(r);if(!l)continue;const o=Ri(l.type)??"";if(o==="thinking"||o==="reasoning"){const d=Ri(l.thinking)??Ri(l.text)??"";i.push({type:"thinking",thinking:d});continue}if(o==="toolCall"||o==="tool_call"||o==="toolUse"||o==="tool_use"){const d=Ri(l.toolCallId)??Ri(l.id)??"";if(!d)continue;const u=Ri(l.toolName)??Ri(l.name);i.push({type:"toolCall",toolCallId:d,...u?{toolName:u}:{}});continue}if(o==="text"||o==="output_text"||o===""){const d=Ri(l.text);d!==void 0&&i.push({type:"text",text:d})}}return i}function bR(t,i={}){return t.type==="thinking"&&!i.isStreaming&&t.thinking.trim()===""}function xR(t,i={}){return t.filter(r=>!bR(r,i))}function SR(t){return t.type==="text"}function kR(t,i={}){const r=xR(t,i);let l=-1;for(let o=r.length-1;o>=0;o--)if(!SR(r[o])){l=o;break}return l===-1?{answerBlocks:r,processBlocks:[]}:{answerBlocks:r.slice(l+1),processBlocks:r.slice(0,l+1)}}function wR(t){return t.filter(i=>i.type==="text").map(i=>i.text).join("")}function $g(t){return{key:t,assistants:[],tools:[],processItems:[],live:!1}}function CR(t){const i=[],r=[];let l,o=[];const d=u=>{for(const h of o)h.assistantMessageId||(h.assistantMessageId=u),h.turnId||(h.turnId=l);o=[]};for(const u of t){const h=Date.parse(u.at)||Date.now();if(u.role==="user"){l=`restored-${u.id}`,o=[],i.push({id:u.id,role:"user",text:u.text,createdAt:h});continue}if(u.role==="assistant"){l||(l=`restored-${u.id}`);const g=Ws(u.content);i.push({id:u.id,role:"assistant",text:u.text,createdAt:h,...g&&g.length>0?{content:g}:{}}),d(u.id);continue}if(u.role==="tool"){l||(l=`restored-tool-${u.id}`);const g={id:u.toolCallId||u.id,toolName:u.toolName||"tool",status:u.isError===!0?"error":"ok",resultText:u.text,result:u.text,createdAt:h,finishedAt:h,turnId:l};r.push(g),o.push(g)}}return{messages:i,toolCalls:r}}function jR(t){const i=t.assistants[t.assistants.length-1],r=i?.content??[],l=kR(r,{isStreaming:t.live}),o=new Set,d=[];for(const h of l.processBlocks){if(h.type==="thinking"){d.push({kind:"thinking",thinking:h.thinking});continue}if(h.type==="text"){d.push({kind:"text",text:h.text});continue}const g=t.tools.find(p=>p.id===h.toolCallId);g&&(d.push({kind:"tool",tool:g}),o.add(g.id))}for(const h of t.tools)o.has(h.id)||d.push({kind:"tool",tool:h});if(t.processItems=d,!i)return;if(r.length===0){t.answer=i;return}const u=wR(l.answerBlocks);t.answer={...i,text:u,content:l.answerBlocks}}function TR(t){const i=t.messages.filter(h=>h.role==="user"||h.role==="assistant"),r=[];let l=null;const o=h=>{const g=$g(h);return r.push(g),g};for(const h of i){if(h.role==="user"){l=o(`user-${h.id}`),l.user=h;continue}l||(l=o(`assistant-${h.id}`)),l.assistants.push(h)}r.length===0&&t.toolCalls.length>0&&r.push($g("orphan-tools"));const d=new Set,u=new Map;for(const h of r)for(const g of h.assistants)u.set(g.id,h);for(const h of t.toolCalls)if(h.assistantMessageId){const g=u.get(h.assistantMessageId);if(g){g.tools.push(h),d.add(h.id);continue}}for(const h of t.toolCalls)if(!d.has(h.id)&&h.turnId){const g=r.find(v=>v.tools.some(y=>y.turnId===h.turnId)||v.key===`turn-${h.turnId}`||v.user&&`restored-${v.user.id}`===h.turnId);if(g){g.tools.push(h),d.add(h.id);continue}const p=r.find(v=>h.turnId===`restored-${v.user?.id}`||v.assistants.some(y=>h.turnId===`restored-${y.id}`));if(p){p.tools.push(h),d.add(h.id);continue}}for(const h of t.toolCalls){if(d.has(h.id))continue;const g=r.find((p,v)=>{const y=p.user?.createdAt??p.assistants[0]?.createdAt??0,x=r[v+1]?.user?.createdAt??Number.POSITIVE_INFINITY;return h.createdAt>=y&&h.createdAt<x});g?(g.tools.push(h),d.add(h.id)):r.length>0&&(r[r.length-1].tools.push(h),d.add(h.id))}for(const h of r)h.tools.sort((g,p)=>g.createdAt-p.createdAt),h.live=t.streaming&&t.activeAssistantId!==null&&h.assistants.some(g=>g.id===t.activeAssistantId),jR(h);return r}function RR(t,i){const r=t.length,l=i?.thinkingCount??0,o=i?.textCount??0,d=l+o+r,u=t.filter(p=>p.status==="error").length,h=t.filter(p=>p.status==="running").length,g=[`处理详情 · ${d} 步`];return r>0&&g.push(`${r} 工具`),u>0?g.push(`${u} 出错`):h>0&&g.push("运行中"),{count:r,errorCount:u,runningCount:h,stepCount:d,label:g.join(" · ")}}function Dv(t){const{entry:i}=t,[r,l]=k.useState(i.status==="error"),[o,d]=k.useState(!1),u=i.status==="running"?"运行中":i.status==="error"?"出错":"完成",h=`is-${i.status}`,g=H1(i.args,{toolName:i.toolName}),p=$1(i.createdAt,i.finishedAt),v=U1(i.toolName),y=sy(i.resultText??i.result),S=G1(y,o?{maxLen:Number.MAX_SAFE_INTEGER}:void 0);return c.jsxs("div",{className:`oc-tool ${i.status==="error"?"is-error":""} ${i.status==="running"?"is-running":""}`,children:[c.jsxs("button",{type:"button",className:"oc-tool-head","aria-expanded":r,onClick:()=>l(x=>!x),children:[c.jsx(Ad,{}),c.jsx("span",{className:"oc-tool-icon","aria-hidden":"true",children:c.jsx(yR,{})}),c.jsx("span",{className:"oc-tool-name",children:i.toolName}),g&&c.jsx("span",{className:"oc-tool-args",children:g}),p!==void 0&&c.jsxs("span",{className:"oc-tool-duration",children:[p,"s"]}),c.jsx("span",{className:`oc-tool-status ${h}`,children:u})]}),r&&c.jsxs("div",{className:"oc-tool-body",children:[i.args!==void 0&&c.jsxs("div",{className:"oc-tool-section",children:[c.jsx("div",{className:"oc-tool-label",children:v.argsLabel}),c.jsx("pre",{className:"oc-tool-code",children:q1(i.args)})]}),(i.resultText!==void 0||i.result!==void 0)&&c.jsxs("div",{className:"oc-tool-section",children:[c.jsx("div",{className:"oc-tool-label",children:i.status==="error"?"错误":v.resultLabel}),c.jsx("pre",{className:"oc-tool-code",children:S.text}),S.truncated&&!o&&c.jsx("button",{type:"button",className:"btn btn-ghost oc-tool-expand-result",onClick:()=>d(!0),children:"展开全部"})]}),i.status==="running"&&i.resultText===void 0&&i.result===void 0&&i.args===void 0&&c.jsx("div",{className:"oc-tool-section",children:c.jsx("div",{className:"oc-tool-waiting",children:"等待结果…"})})]})]})}function ER(t){const{thinking:i,defaultOpen:r}=t,[l,o]=k.useState(r);return k.useEffect(()=>{o(r)},[r]),c.jsxs("div",{className:"oc-thinking",children:[c.jsxs("button",{type:"button",className:`oc-thinking-summary${l?" is-open":""}`,"aria-expanded":l,onClick:()=>o(d=>!d),children:[c.jsx(Ad,{}),c.jsx("span",{children:"思考"})]}),l?c.jsx("pre",{className:"oc-thinking-body",children:i||"…"}):null]})}function NR(t){const{items:i,defaultOpen:r}=t,[l,o]=k.useState(r),d=i.filter(h=>h.kind==="tool").map(h=>h.tool),u=RR(d,{thinkingCount:i.filter(h=>h.kind==="thinking").length,textCount:i.filter(h=>h.kind==="text").length});return k.useEffect(()=>{o(r)},[r]),c.jsxs("div",{className:"oc-process-inline",children:[c.jsxs("button",{type:"button",className:`oc-process-inline-summary${l?" is-open":""}${u.errorCount>0?" is-error":u.runningCount>0?" is-running":""}`,"aria-expanded":l,onClick:()=>o(h=>!h),children:[c.jsx(Ad,{}),c.jsx("span",{children:u.label})]}),l?c.jsx("div",{className:"oc-process-inline-body",children:i.map((h,g)=>h.kind==="thinking"?c.jsx(ER,{thinking:h.thinking,defaultOpen:r},`thinking-${g}`):h.kind==="text"?c.jsx("div",{className:"oc-process-text",children:h.text},`text-${g}`):c.jsx(Dv,{entry:h.tool},h.tool.id))}):null]})}function AR(t){const{scrollContainerRef:i,messagesEndRef:r,onScroll:l,hasThread:o,readiness:d,streaming:u,streamingAssistantId:h,messagesCount:g,visibleCount:p,onLoadMore:v,turnGroups:y,interview:S,humanGateCards:x,operationCards:C,artifactCards:I,origin:H,sessionId:R}=t;return c.jsxs("div",{ref:i,className:`oc-messages${o?" has-thread":" is-empty"}`,onScroll:l,children:[o?null:c.jsx(xy,{mode:"empty-session",readiness:d,disabled:u,onSuggest:t.onSuggest}),o&&g>p&&c.jsx("button",{type:"button",className:"btn btn-ghost oc-load-history",onClick:v,children:"加载更早消息"}),o&&y.map((N,A)=>{const G=N.user??N.assistants[0],K=A>0?y[A-1].user??y[A-1].assistants[0]:void 0,E=!!G&&(!K||wc(K.createdAt)!==wc(G.createdAt)),$=N.answer,te=!!$?.text.trim(),ue=N.live&&N.processItems.length===0;return c.jsxs("div",{className:"oc-turn-group",children:[E&&G&&c.jsx("div",{className:"oc-day-sep",children:wc(G.createdAt)}),N.user&&c.jsx(Gg,{message:N.user,streaming:u,activeAssistantId:h}),N.processItems.length>0&&c.jsx(NR,{items:N.processItems,defaultOpen:N.live}),$&&(te||ue)?c.jsx(Gg,{message:$,streaming:u,activeAssistantId:h}):null]},N.key)}),S&&c.jsx(LS,{interview:S,interviewAnswer:t.interviewAnswer,onAnswerChange:t.onInterviewAnswerChange,onAnswer:t.onAnswerInterview,onConfirmTaskKind:t.onConfirmTaskKind}),x.map(N=>c.jsx(AS,{card:N,origin:H,sessionId:R},N.cardId)),C.map(N=>c.jsx(_S,{operation:N,origin:H,onNavigateWorkspace:t.onNavigateWorkspace},N.operationId)),I.map(N=>c.jsx(NS,{artifact:N},N.artifactId)),c.jsx("div",{ref:r})]})}function Dn(t){return t>=1e6?`${(t/1e6).toFixed(1)}M`:t>=1e3?`${(t/1e3).toFixed(1)}k`:t.toLocaleString()}function IR(t){const i=[],r=t.inputTokens??0,l=t.outputTokens??0,o=t.cacheReadTokens??0,d=t.cacheWriteTokens??0,u=t.cost??0;if(r>0&&i.push(`${Dn(r)} in`),l>0&&i.push(`${Dn(l)} out`),o>0&&i.push(`${Dn(o)} cache R`),d>0&&i.push(`${Dn(d)} cache W`),u>0&&i.push(u>=.01?`$${u.toFixed(2)}`:"<$0.01"),i.length===0){const h=t.totalTokens??0;return h>0?`${Dn(h)} tokens`:"—"}return i.join(" · ")}const DR={auto:"auto(跟随 Pi 默认等级)",off:"off · 关闭",minimal:"minimal · 极简",low:"low · 低",medium:"medium · 中",high:"high · 高",xhigh:"xhigh · 极高",max:"max · 最高"};function OR(t,i){const r=i.trim().toLowerCase(),l=new Map;for(const o of t){if(r&&!o.provider.toLowerCase().includes(r)&&!o.id.toLowerCase().includes(r)&&!(o.name??"").toLowerCase().includes(r))continue;const d=l.get(o.provider)??[];d.push(o),l.set(o.provider,d)}return[...l.entries()].map(([o,d])=>({provider:o,models:d}))}function MR(t,i){const r=new Set,l=[],o=d=>{r.has(d)||(r.add(d),l.push({value:d,label:DR[d]??d,...d==="auto"&&i?{effective:i}:{}}))};o("auto");for(const d of t)o(d);return l}function Hs(t,i){return`${t}/${i}`}function rd(t){return{...t.modelProvider&&t.modelId?{model:{provider:t.modelProvider,modelId:t.modelId}}:{},...t.thinkingLevel?{thinkingLevel:t.thinkingLevel}:{}}}function Ov(t,i){return{...t,model:i.model??t.model,thinkingLevel:i.thinkingLevel??t.thinkingLevel}}function zR(t,i){const r=Ov(t,i);return r.model?.provider===t.model?.provider&&r.model?.modelId===t.model?.modelId&&r.thinkingLevel===t.thinkingLevel}function _R(){return c.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12","aria-hidden":"true",children:c.jsx("path",{d:"M2.6 4.2 6 7.6l3.4-3.4",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}function LR(t){const i=Jr(),[r,l]=k.useState(!1),[o,d]=k.useState(""),[u,h]=k.useState(0),g=k.useRef(null),p=k.useRef(null),v=i.snapshot,y=i.status==="loading",S=i.status==="error"?i.error:null,x=v?(v.models??[]).map(N=>({provider:N.provider,id:N.id,...N.name?{name:N.name}:{},...N.hasCredentials!==void 0?{hasCredentials:N.hasCredentials}:{}})):t.models,C=k.useMemo(()=>OR(x,o),[x,o]),I=k.useMemo(()=>C.flatMap(N=>N.models),[C]);k.useEffect(()=>{r&&(d(""),h(0),window.setTimeout(()=>p.current?.focus(),0))},[r]),k.useEffect(()=>{if(!r)return;const N=G=>{const K=g.current;K&&G.target instanceof Node&&!K.contains(G.target)&&l(!1)},A=G=>{G.key==="Escape"&&l(!1)};return document.addEventListener("mousedown",N),document.addEventListener("keydown",A),()=>{document.removeEventListener("mousedown",N),document.removeEventListener("keydown",A)}},[r]);const H=N=>{if(t.disabled)return;const A=I[N];A&&(l(!1),t.onSelect(A.provider,A.id))},R=N=>{if(N.key==="ArrowDown"){N.preventDefault(),h(A=>I.length?(A+1)%I.length:0);return}if(N.key==="ArrowUp"){N.preventDefault(),h(A=>I.length?(A-1+I.length)%I.length:0);return}if(N.key==="Enter"){N.preventDefault(),H(u);return}if(N.key==="Escape"){N.preventDefault(),l(!1);return}};return c.jsxs("div",{className:"oc-select-menu oc-model-menu",ref:g,children:[c.jsxs("button",{type:"button",className:"oc-select-trigger","aria-haspopup":"listbox","aria-expanded":r,title:"选择模型",disabled:t.disabled,onClick:()=>l(N=>!N),children:[c.jsx("span",{className:"oc-select-trigger-label",children:t.triggerLabel}),c.jsx(_R,{})]}),r&&c.jsxs("div",{className:"oc-select-panel oc-model-panel",role:"listbox","aria-label":"选择模型",children:[c.jsx("input",{ref:p,className:"oc-select-search",placeholder:"搜索模型或 Provider…",value:o,onChange:N=>{d(N.target.value),h(0)},onKeyDown:R}),y&&c.jsx("div",{className:"oc-select-status",children:"模型列表加载中…"}),S&&c.jsxs("div",{className:"oc-select-status is-error",children:[c.jsxs("span",{children:[S.code?`${S.code}:`:"",S.message]}),c.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>{Qr()},children:"重试"})]}),!y&&!S&&C.length===0&&c.jsx("div",{className:"oc-select-status",children:"当前没有可用模型(真实空态,未伪造列表)"}),C.map(N=>c.jsxs("div",{className:"oc-model-group",children:[c.jsx("div",{className:"oc-model-group-head",children:N.provider}),N.models.map(A=>{const G=Hs(A.provider,A.id),K=G===t.activeModelRef,E=I[u]===A;return c.jsxs("button",{type:"button",role:"option","aria-selected":K,disabled:t.disabled,className:`oc-select-option oc-model-option${E?" is-highlighted":""}${K?" is-active":""}`,onMouseDown:$=>$.preventDefault(),onClick:()=>{t.disabled||(l(!1),t.onSelect(A.provider,A.id))},children:[c.jsxs("span",{className:"oc-model-option-name",children:[A.name?`${A.name} · `:"",A.id]}),K&&c.jsx("span",{className:"oc-model-option-check",children:"✓"})]},G)})]},N.provider))]})]})}function BR(){return c.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12","aria-hidden":"true",children:c.jsx("path",{d:"M2.6 4.2 6 7.6l3.4-3.4",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}function HR(t){const i=Jr(),[r,l]=k.useState(!1),[o,d]=k.useState(0),u=k.useRef(null),h=t.effectiveLevel??i.snapshot?.selection?.effectiveThinkingLevel,g=i.snapshot?.thinkingLevels?.length?i.snapshot.thinkingLevels.map(S=>S.value):void 0,p=k.useMemo(()=>MR(g??t.levels,h),[g,t.levels,h]);k.useEffect(()=>{r&&d(0)},[r]),k.useEffect(()=>{if(!r)return;const S=C=>{const I=u.current;I&&C.target instanceof Node&&!I.contains(C.target)&&l(!1)},x=C=>{C.key==="Escape"&&l(!1)};return document.addEventListener("mousedown",S),document.addEventListener("keydown",x),()=>{document.removeEventListener("mousedown",S),document.removeEventListener("keydown",x)}},[r]);const v=S=>{if(t.disabled)return;const x=p[S];x&&(l(!1),t.onSelect(x.value))},y=S=>{if(S.key==="ArrowDown"){S.preventDefault(),d(x=>p.length?(x+1)%p.length:0);return}if(S.key==="ArrowUp"){S.preventDefault(),d(x=>p.length?(x-1+p.length)%p.length:0);return}if(S.key==="Enter"){S.preventDefault(),v(o);return}if(S.key==="Escape"){S.preventDefault(),l(!1);return}};return c.jsxs("div",{className:"oc-select-menu oc-thinking-menu",ref:u,children:[c.jsxs("button",{type:"button",className:"oc-select-trigger","aria-haspopup":"listbox","aria-expanded":r,title:"思考等级",disabled:t.disabled,onClick:()=>l(S=>!S),children:[c.jsx("span",{className:"oc-select-trigger-label",children:t.triggerLabel}),c.jsx(BR,{})]}),r&&c.jsx("div",{className:"oc-select-panel oc-thinking-panel",role:"listbox","aria-label":"思考等级",onKeyDown:y,children:p.map((S,x)=>{const C=S.value===t.activeValue,I=x===o;return c.jsxs("button",{type:"button",role:"option","aria-selected":C,disabled:t.disabled,className:`oc-select-option oc-thinking-option${I?" is-highlighted":""}${C?" is-active":""}`,onMouseDown:H=>H.preventDefault(),onClick:()=>{t.disabled||(l(!1),t.onSelect(S.value))},children:[c.jsx("span",{className:"oc-thinking-option-label",children:S.label}),S.value==="auto"&&S.effective?c.jsxs("span",{className:"oc-thinking-badge",children:["Pi 实际:",S.effective]}):null,C&&c.jsx("span",{className:"oc-model-option-check",children:"✓"})]},S.value)})})]})}function UR(){return c.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),c.jsx("circle",{cx:"8.5",cy:"10",r:"1.5"}),c.jsx("path",{d:"m21 16-5.5-5.5L9 17"})]})}function qR(t){const{composer:i,streaming:r,hasThread:l}=t,o=Jr(),d=o.reloading,u=o.reloadError,g=o.mutationBusy||d||r,p=k.useCallback(()=>{i.setInput(""),i.setShortcutOpen(!1),Xr()},[i.setInput,i.setShortcutOpen]),v=k.useCallback(R=>{const N=i.isComposingNow()||R.nativeEvent.isComposing,A=i.recentlyComposedNow();if(R.key==="Enter"&&!R.shiftKey&&!N&&!A){if(i.shortcutOpen&&i.filteredShortcuts.length>0){if((i.filteredShortcuts[i.shortcutIndex]??i.filteredShortcuts[0])?.command==="/reload"){R.preventDefault(),p();return}}else if(i.input.trim()==="/reload"){R.preventDefault(),p();return}}t.onKeyDown(R)},[i.isComposingNow,i.recentlyComposedNow,i.shortcutOpen,i.filteredShortcuts,i.shortcutIndex,i.input,p,t.onKeyDown]),y=k.useCallback((R,N)=>{if(N==="pi-prompt"||R==="/name"||R==="/compact"){i.setInput(`${R} `),i.setShortcutOpen(!1),i.textareaRef.current?.focus();return}if(R==="/reload"){p();return}t.onRunShortcut(R)},[p,t.onRunShortcut,i]),S=k.useCallback(()=>{if(i.input.trim()==="/reload"){p();return}t.onSend(i.input)},[i.input,p,t.onSend]),x=(()=>{const R=t.processSummary;return R?R.statusKind==="error"?`查看工具调用记录,共 ${R.count} 次,其中 ${R.statusLabel}`:R.statusKind==="running"?`查看工具调用记录,共 ${R.count} 次,${R.statusLabel||"正在运行"}`:`查看工具调用记录,共 ${R.count} 次,全部已完成`:"查看工具调用记录"})(),C=(()=>{const R=t.usage.inputTokens,N=t.usage.outputTokens,A=t.usage.cacheReadTokens,G=t.usage.cacheWriteTokens,K=t.usage.cost??0,E=[];if(R>0&&E.push(c.jsxs("span",{className:"oc-usage-part is-in",title:"输入 tokens",children:["↑ ",Dn(R)]},"in")),N>0&&E.push(c.jsxs("span",{className:"oc-usage-part is-out",title:"输出 tokens",children:["↓ ",Dn(N)]},"out")),A>0&&E.push(c.jsxs("span",{className:"oc-usage-part",children:[Dn(A)," cache R"]},"cache-read")),G>0&&E.push(c.jsxs("span",{className:"oc-usage-part",children:[Dn(G)," cache W"]},"cache-write")),K>0&&E.push(c.jsx("span",{className:"oc-usage-part",children:K>=.01?`$${K.toFixed(2)}`:"<$0.01"},"cost")),E.length===0){const $=t.usage.totalTokens;$>0&&E.push(c.jsxs("span",{className:"oc-usage-part",children:[Dn($)," tokens"]},"total"))}return E})(),I=c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"oc-runtime-controls-group",children:[c.jsx(LR,{models:t.models,activeModelRef:t.activeModelRef,triggerLabel:t.activeModelRef||"选择模型",disabled:g,onSelect:(R,N)=>t.onSwitchRuntime({provider:R,modelId:N})}),c.jsx(HR,{levels:t.thinkingLevels,activeValue:t.activeThinkingLevel||"auto",triggerLabel:t.activeThinkingLevel||"auto",disabled:g,onSelect:R=>t.onSwitchRuntime({thinkingLevel:R})}),c.jsxs("span",{className:"oc-usage",title:IR(t.usage),children:[c.jsx("span",{className:"oc-usage-state",children:r?"运行中":"空闲"}),t.unread>0?c.jsxs("span",{className:"oc-usage-unread",children:[t.unread," 未读"]}):null,C]}),t.processSummary&&c.jsxs("button",{type:"button",ref:t.processTriggerRef,className:`oc-process-summary is-${t.processSummary.statusKind}${t.processOpen?" is-open":""}`,"aria-expanded":t.processOpen,"aria-controls":"oc-process-panel","aria-label":x,title:x,onClick:t.onToggleProcess,children:[c.jsx("span",{className:"oc-process-summary-label",children:"调用记录"}),c.jsx("span",{className:"oc-process-summary-badge",children:t.processSummary.count}),t.processSummary.statusKind!=="ok"&&t.processSummary.statusLabel?c.jsx("span",{className:"oc-process-summary-status",children:t.processSummary.statusLabel}):null]})]}),c.jsxs("div",{className:"oc-runtime-controls-group is-right",children:[c.jsx("button",{type:"button",className:"btn btn-ghost",onClick:t.onCompact,disabled:r||!l,title:l?r?"生成中,暂不可压缩":"压缩上下文,释放 token":"先进行对话后再压缩上下文","aria-label":l?r?"生成中,暂不可压缩":"压缩上下文,释放 token":"先进行对话后再压缩上下文",children:"压缩"}),t.runtimeContext?c.jsx("button",{type:"button",ref:t.runtimeContextTriggerRef,className:`btn btn-ghost oc-runtime-context-toggle${t.runtimeContextOpen?" is-active":""}`,"aria-expanded":t.runtimeContextOpen,"aria-controls":"oc-runtime-context-panel",onClick:t.onToggleRuntimeContext,children:"注入上下文"}):null]})]}),H=(()=>{const R=new Map;for(const N of i.filteredShortcuts){const A=N.source??"operator",G=R.get(A)??[];G.push(N),R.set(A,G)}return R})();return c.jsx("div",{className:"oc-composer",children:c.jsxs("div",{className:"oc-composer-inner",children:[i.fileOptions.length>0&&c.jsx("div",{className:"oc-file-palette",role:"listbox","aria-label":"Repository files",children:i.fileOptions.map(R=>c.jsx("button",{type:"button",role:"option",onMouseDown:N=>N.preventDefault(),onClick:()=>i.insertFileReference(R),children:c.jsxs("code",{children:["@",R]})},R))}),i.pendingImages.length>0&&c.jsx("div",{className:"oc-attachment-list",children:i.pendingImages.map(R=>c.jsxs("span",{children:[R.name,c.jsx("button",{type:"button","aria-label":`移除 ${R.name}`,onClick:()=>i.removeImage(R),children:"×"})]},R.name))}),c.jsxs("div",{className:"oc-composer-toolbar",children:[c.jsxs("label",{className:"oc-attach-button oc-attach-icon",title:"添加图片","aria-label":"添加图片",children:[c.jsx(UR,{}),c.jsx("span",{className:"sr-only",children:"添加图片"}),c.jsx("input",{type:"file",accept:"image/png,image/jpeg,image/gif,image/webp",multiple:!0,hidden:!0,onChange:R=>{i.addImagesFromFiles(Array.from(R.target.files??[]).slice(0,4)),R.target.value=""}})]}),c.jsxs("span",{className:"oc-composer-hint",children:[c.jsx("span",{className:"oc-kbd",children:"Enter"})," 发送"]}),c.jsxs("span",{className:"oc-composer-hint",children:[c.jsx("span",{className:"oc-kbd",children:"Shift"}),"+",c.jsx("span",{className:"oc-kbd",children:"Enter"})," 换行"]}),d&&c.jsx("span",{className:"oc-reload-status",children:"正在重新加载会话…"})]}),i.shortcutOpen&&i.filteredShortcuts.length>0&&c.jsxs("div",{className:"oc-shortcut-palette",role:"listbox","aria-label":"命令","aria-busy":i.dynamicCommandsLoading||void 0,children:[c.jsxs("div",{className:"oc-shortcut-palette-head",children:[c.jsxs("strong",{children:["命令 · ",i.filteredShortcuts.length]}),i.dynamicCommandsLoading?c.jsx("span",{className:"oc-shortcut-palette-meta",children:"正在加载扩展、提示词与技能…"}):null,i.dynamicCommandsError?c.jsxs("span",{className:"oc-shortcut-palette-meta is-error",children:[i.dynamicCommandsError,c.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>i.retryDynamicCommands(),children:"重试"})]}):null]}),[...H.entries()].map(([R,N])=>c.jsxs("div",{className:"oc-shortcut-group","data-source":R,children:[c.jsxs("small",{children:[jS[R]??R," ","· ",N.length]}),c.jsx("div",{className:"oc-shortcut-group-items",children:N.map(A=>{const G=i.filteredShortcuts.indexOf(A);return c.jsxs("button",{type:"button",role:"option","aria-selected":G===i.shortcutIndex,className:G===i.shortcutIndex?"is-active":"",title:A.command,onClick:()=>{y(A.command,A.action)},children:[c.jsx("code",{children:A.command}),A.description?c.jsx("span",{children:A.description}):A.label?c.jsx("span",{children:A.label}):null]},`${A.source}:${A.command}`)})})]},R))]}),c.jsxs("div",{className:`oc-composer-shell${r?" is-busy":""}`,children:[c.jsx("textarea",{ref:i.textareaRef,className:"oc-textarea",value:i.input,rows:3,placeholder:r?"正在生成回复…(停止后可发送下一轮)":l?"输入消息… Enter 发送 · Shift+Enter 换行":"描述目标,或点选上方建议开始…",onChange:R=>i.handleInputChange(R.target.value),onKeyDown:v,onCompositionStart:i.onCompositionStart,onCompositionEnd:i.onCompositionEnd,disabled:r,"aria-expanded":i.shortcutOpen,"aria-controls":(i.shortcutOpen,void 0)}),r?c.jsx("button",{type:"button",className:"oc-stop",title:"停止生成","aria-label":"停止生成",onClick:t.onStop,children:c.jsx(gR,{})}):c.jsx("button",{type:"button",className:"oc-send",title:"发送","aria-label":"发送",onClick:S,disabled:!i.input.trim()&&i.pendingImages.length===0||d,children:c.jsx(pR,{})})]}),u&&c.jsxs("div",{className:"oc-reload-banner is-error",role:"alert",children:[c.jsxs("span",{children:[u.code?`${u.code}:`:"",u.message]}),c.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>{Xr()},children:"重试"})]}),c.jsx("div",{className:"oc-runtime-controls",children:I})]})})}function GR(t){const{toolCalls:i,onClose:r,overlay:l=!1}=t,o=k.useRef(null);return dd({open:l,containerRef:o,triggerRef:t.triggerRef,onEscape:r}),c.jsxs("aside",{ref:o,id:"oc-process-panel",className:`oc-process${l?" is-process-overlay":""}`,"aria-label":"工具调用记录",role:l?"dialog":void 0,"aria-modal":l?!0:void 0,tabIndex:-1,children:[c.jsxs("header",{className:"oc-process-head",children:[c.jsxs("div",{className:"oc-process-title",children:[c.jsx("span",{className:"oc-process-title-mark","aria-hidden":"true"}),"工具调用记录",c.jsxs("span",{className:"oc-process-count",children:[i.length," 次"]})]}),c.jsx("button",{type:"button",className:"btn btn-ghost oc-process-close","aria-label":"关闭工具调用记录",onClick:r,children:"关闭"})]}),c.jsx("div",{className:"oc-process-timeline",children:i.length===0?c.jsx("div",{className:"oc-process-empty",children:"本轮对话尚无工具调用。诊断细节会在这里按时间线展示。"}):i.map((d,u)=>c.jsxs("div",{className:`oc-process-item${u===0?" is-first":""}${u===i.length-1?" is-last":""}${d.status==="error"?" is-error":""}${d.status==="running"?" is-running":""}`,children:[c.jsx("div",{className:"oc-process-rail","aria-hidden":"true",children:c.jsx("span",{className:"oc-process-dot"})}),c.jsx("div",{className:"oc-process-time",children:oy(d.createdAt)}),c.jsx("div",{className:"oc-process-body",children:c.jsx(Dv,{entry:d})})]},d.id))})]})}const Fg=[{id:"overview",label:"概览"},{id:"system",label:"System prompt"},{id:"files",label:"Context files"},{id:"skills",label:"Skills"},{id:"extensions",label:"Extensions"},{id:"packages",label:"Packages"},{id:"tools",label:"Active tools"},{id:"raw",label:"原始 JSON"}];function Es(t){const i=Array.isArray(t.items)?t.items:void 0;return c.jsxs("section",{className:"oc-runtime-context-section",children:[c.jsxs("header",{className:"oc-runtime-context-section-head",children:[c.jsx("strong",{children:t.title}),c.jsx("span",{className:"oc-runtime-context-meta",children:i?`${i.length} 项`:"未投影"})]}),i===void 0?c.jsx("p",{className:"oc-runtime-context-empty",children:"该 session 未提供资源投影"}):i.length===0?c.jsx("p",{className:"oc-runtime-context-empty",children:t.emptyText}):c.jsx("ul",{className:"oc-runtime-context-resources",children:i.map((r,l)=>c.jsx($R,{item:r},`${r.name??r.path??l}:${l}`))})]})}function $R(t){const i=t.item,l=[i.scope?`scope ${i.scope}`:"",i.source??"",i.version?`v${i.version}`:"",i.cwd?`cwd ${i.cwd}`:""].filter(Boolean).join(" · "),o=i.path?`${i.path}${i.baseDir?`(base: ${i.baseDir})`:""}`:"";return c.jsxs("li",{children:[c.jsxs("div",{className:"oc-runtime-context-resource-head",children:[c.jsx("strong",{className:"oc-runtime-context-resource-name",title:i.path??i.name,children:i.name||i.path||"未命名资源"}),i.enabled===!1?c.jsx("span",{className:"oc-runtime-context-resource-flag",children:"未启用"}):null,l?c.jsx("span",{className:"oc-runtime-context-meta",title:l,children:l}):null]}),i.description?c.jsx("span",{className:"oc-runtime-context-resource-desc",children:i.description}):null,i.path?c.jsx("code",{className:"oc-runtime-context-resource-path",title:o,children:o}):null,i.error?c.jsxs("span",{className:"oc-runtime-context-diag is-error",children:[c.jsx("span",{className:"oc-runtime-context-diag-icon","aria-hidden":"true",children:"✕"}),i.error]}):null,Array.isArray(i.diagnostics)&&i.diagnostics.length>0?c.jsxs("span",{className:"oc-runtime-context-diag",children:[c.jsx("span",{className:"oc-runtime-context-diag-icon","aria-hidden":"true",children:"⚠"}),i.diagnostics.join(";")]}):null,Array.isArray(i.resolved)&&i.resolved.length>0?c.jsxs("details",{className:"oc-runtime-context-resolved",children:[c.jsxs("summary",{children:["已解析 ",i.resolved.length," 项"]}),c.jsx("ul",{className:"oc-runtime-context-resolved-list",children:i.resolved.map((d,u)=>{const h=`${d.type??"?"}:${d.name??d.path??"?"}`;return c.jsx("li",{children:c.jsx("code",{title:h,children:h})},u)})})]}):null]})}const FR=k.forwardRef(function({open:i,onToggle:r,onClose:l,context:o,panelOnly:d=!1,triggerOnly:u=!1,triggerRef:h},g){const p=Jr(),v=p.reloading,y=p.reloadError,[S,x]=k.useState("overview"),C=k.useRef(null);dd({open:i&&!u,containerRef:C,triggerRef:h,onEscape:l}),k.useEffect(()=>{i||x("overview")},[i]);const I=Array.isArray(o.resources.activeTools)?o.resources.activeTools:[],H=typeof o.resources.activeToolCount=="number"?o.resources.activeToolCount:I.length,R=o.systemPrompt.text??o.systemPrompt.summary??"",N=o.systemPrompt.charCount??R.length,A=o.suffix.present?o.suffix.text??o.suffix.summary??"":"",G=o.model?Hs(o.model.provider,o.model.modelId):"",K=o.resources,E=String(o.resources.mode??"closed"),$=E.includes("open")?"open":"closed",te={files:K.contextFiles?.length??0,skills:K.skills?.length??0,extensions:K.extensions?.length??0,packages:K.packages?.length??0},ue=["files","skills","extensions","packages"].map(V=>({id:V,label:Fg.find(le=>le.id===V)?.label??V,count:te[V]??0})),z=c.jsx("button",{type:"button",ref:V=>{typeof g=="function"?g(V):g&&(g.current=V)},className:`btn btn-ghost oc-runtime-context-toggle${i?" is-active":""}`,"aria-expanded":i,"aria-controls":"oc-runtime-context-panel",onClick:r,children:"注入上下文"});if(u)return z;const F=i?c.jsxs("div",{ref:C,id:"oc-runtime-context-panel",className:"oc-runtime-context-sidepanel",role:"dialog","aria-modal":"true","aria-label":"注入上下文",tabIndex:-1,children:[c.jsxs("header",{className:"oc-runtime-context-head",children:[c.jsxs("div",{className:"oc-runtime-context-head-copy",children:[c.jsx("strong",{children:"注入上下文"}),c.jsx("span",{className:"oc-runtime-context-meta",children:"只读 · 本轮实际注入的 system prompt / 资源(已脱敏)"})]}),c.jsx("button",{type:"button",className:"btn btn-ghost oc-runtime-context-close","aria-label":"关闭注入上下文",onClick:l,children:"关闭"})]}),c.jsxs("div",{className:"oc-runtime-context-layout",children:[c.jsx("nav",{className:"oc-runtime-context-nav","aria-label":"上下文分类",children:Fg.map(V=>{const le=te[V.id];return c.jsxs("button",{type:"button",className:`oc-runtime-context-nav-item${S===V.id?" is-active":""}`,"aria-current":S===V.id?"page":void 0,onClick:()=>x(V.id),children:[c.jsx("span",{className:"oc-runtime-context-nav-label",title:V.label,children:V.label}),typeof le=="number"?c.jsx("span",{className:"oc-runtime-context-nav-count",children:le}):null]},V.id)})}),c.jsxs("div",{className:"oc-runtime-context-body",children:[S==="overview"?c.jsxs("div",{className:"oc-runtime-context-overview",children:[o.model?c.jsxs("section",{className:"oc-runtime-context-model-card",children:[c.jsx("span",{className:"oc-runtime-context-model-label",children:"模型"}),c.jsx("code",{className:"oc-runtime-context-model-ref",title:G,children:G})]}):null,c.jsxs("div",{className:"oc-runtime-context-stat-grid",children:[c.jsxs("div",{className:"oc-runtime-context-stat",children:[c.jsx("span",{className:"oc-runtime-context-stat-label",children:"Prompt 字数"}),c.jsxs("strong",{className:"oc-runtime-context-stat-value",children:[N.toLocaleString()," 字"]})]}),c.jsxs("div",{className:"oc-runtime-context-stat",children:[c.jsx("span",{className:"oc-runtime-context-stat-label",children:"工具"}),c.jsx("strong",{className:"oc-runtime-context-stat-value",children:H})]}),c.jsxs("div",{className:"oc-runtime-context-stat",children:[c.jsx("span",{className:"oc-runtime-context-stat-label",children:"思考"}),c.jsx("strong",{className:"oc-runtime-context-stat-value",children:o.thinkingLevel??"—"})]}),c.jsxs("div",{className:"oc-runtime-context-stat",children:[c.jsx("span",{className:"oc-runtime-context-stat-label",children:"资源面"}),c.jsxs("strong",{className:`oc-runtime-context-stat-value oc-runtime-context-mode is-${$}`,title:E,children:[c.jsx("span",{className:"oc-runtime-context-mode-dot","aria-hidden":"true"}),E]})]})]}),c.jsxs("section",{className:"oc-runtime-context-section",children:[c.jsx("header",{className:"oc-runtime-context-section-head",children:c.jsx("strong",{children:"已加载资源"})}),c.jsx("div",{className:"oc-runtime-context-resource-links",children:ue.map(V=>c.jsxs("button",{type:"button",className:"oc-runtime-context-resource-link",onClick:()=>x(V.id),children:[c.jsx("span",{className:"oc-runtime-context-resource-label",children:V.label}),c.jsx("span",{className:`oc-runtime-context-resource-count${V.count===0?" is-zero":""}`,children:V.count}),c.jsx("span",{className:"oc-runtime-context-resource-chevron","aria-hidden":"true",children:"›"})]},V.id))})]})]}):null,S==="system"?c.jsxs(c.Fragment,{children:[c.jsxs("section",{className:"oc-runtime-context-section",children:[c.jsxs("header",{className:"oc-runtime-context-section-head",children:[c.jsxs("div",{children:[c.jsx("strong",{children:"System prompt"}),c.jsxs("code",{className:"oc-runtime-context-hash",children:[o.systemPrompt.hash.slice(0,12),"…"]})]}),R?c.jsx(id,{text:R}):null]}),c.jsx("pre",{className:"oc-runtime-context-text",children:R||"(空)"})]}),c.jsxs("section",{className:"oc-runtime-context-section",children:[c.jsxs("header",{className:"oc-runtime-context-section-head",children:[c.jsxs("div",{className:"oc-runtime-context-section-title",children:[c.jsx("strong",{children:"Session suffix"}),c.jsx("span",{className:"oc-runtime-context-meta",children:o.suffix.present?`${(o.suffix.charCount??0).toLocaleString()} 字`:"未注入"})]}),A?c.jsx(id,{text:A}):null]}),o.suffix.present?c.jsx("pre",{className:"oc-runtime-context-text",children:A||"已注入"}):c.jsx("p",{className:"oc-runtime-context-empty",children:"本会话无额外 suffix"})]})]}):null,S==="files"?c.jsx(Es,{title:"Context files",items:K.contextFiles?.map(V=>({name:V.path,description:`${V.characters.toLocaleString()} 字符`})),emptyText:"该 session 未加载任何上下文文件"}):null,S==="skills"?c.jsx(Es,{title:"Skills",items:K.skills,emptyText:"该 session 未加载任何 Skills"}):null,S==="extensions"?c.jsx(Es,{title:"Extensions",items:K.extensions,emptyText:"该 session 未加载任何 Extensions"}):null,S==="packages"?c.jsx(Es,{title:"Packages",items:K.packages,emptyText:"该 session 未配置 Packages"}):null,S==="tools"?c.jsxs("section",{className:"oc-runtime-context-section",children:[c.jsxs("header",{className:"oc-runtime-context-section-head",children:[c.jsx("strong",{children:"Active tools"}),c.jsxs("span",{className:"oc-runtime-context-meta",children:[H," 项"]})]}),I.length===0?c.jsx("p",{className:"oc-runtime-context-empty",children:"无激活工具"}):c.jsx("ul",{className:"oc-runtime-context-tools",children:I.map(V=>c.jsx("li",{children:c.jsx("code",{children:V})},V))}),Array.isArray(K.diagnostics)&&K.diagnostics.length>0?c.jsx("ul",{className:"oc-runtime-context-resources",children:K.diagnostics.map((V,le)=>c.jsxs("li",{children:[c.jsxs("span",{className:`oc-runtime-context-diag is-${V.type??"warning"}`,children:[V.type,": ",V.message]}),V.path?c.jsx("code",{children:V.path}):null]},le))}):null]}):null,S==="raw"?c.jsxs("details",{className:"oc-runtime-context-raw",open:!0,children:[c.jsx("summary",{children:"原始投影 JSON"}),c.jsx("pre",{children:JSON.stringify(o,null,2)})]}):null]},S)]}),c.jsxs("footer",{className:"oc-runtime-context-foot",children:[c.jsx("span",{className:"oc-runtime-context-meta",children:v?"正在重新加载会话…":"重新加载 Pi 会话设置、扩展、技能、提示词与上下文文件"}),c.jsx("button",{type:"button",className:"btn btn-ghost",disabled:v,onClick:()=>{Xr()},children:"重新加载会话"}),y&&c.jsxs("span",{className:"oc-runtime-context-diag is-error",role:"alert",children:[y.code?`${y.code}:`:"",y.message,c.jsx("button",{type:"button",className:"btn btn-ghost",onClick:()=>{Xr()},children:"重试"})]})]})]}):null;return d?F:c.jsxs("div",{className:"oc-runtime-context-menu",children:[z,F]})});function VR(){const t=k.useRef(null),i=k.useRef(!1),r=k.useRef(null),l=k.useRef(new Map),o=k.useRef(new Set),d=k.useRef(null),u=k.useRef(null),h=k.useRef(0),g=k.useRef(null),p=k.useRef(new Set),v=k.useRef(new Set),y=k.useRef(new Map),S=k.useRef(null),x=k.useRef(null),C=k.useRef(!1),I=k.useRef(0),H=k.useRef(null),R=k.useRef(!1),N=k.useRef(!1),A=k.useRef(null),G=k.useRef(new Set),K=k.useRef(new Set),E=k.useRef(new Set),$=k.useRef(!1),te=k.useRef(0);return k.useMemo(()=>({sessionRef:t,streamingRef:i,abortRef:r,sessionAbortControllersRef:l,inlineStreamSessionIdsRef:o,assistantIdRef:d,lastEventIdRef:u,sessionGenerationRef:h,eventsStreamStateRef:g,settledTurnIdsRef:p,seenEventIdsRef:v,turnAssistantIdsRef:y,reconnectAbortRef:S,activeTurnIdRef:x,submitInFlightRef:C,submitGenerationRef:I,pendingSubmissionRef:H,stopInFlightRef:R,stopRequestedRef:N,stoppingTurnIdRef:A,abortPostedTurnIdsRef:G,releasedClientRequestIdsRef:K,usageResponseKeysRef:E,isComposingRef:$,compositionEndedAtRef:te}),[t,i,r,l,o,d,u,h,g,p,v,y,S,x,C,I,H,R,N,A,G,K,E,$,te])}const PR=["operation","contract","dag","report","html"];function YR(t){const i=t.artifact;if(!i||typeof i!="object")return;const r=i;if(!(r.schemaVersion!==1||typeof r.artifactId!="string"||!r.artifactId||typeof r.kind!="string"||!PR.includes(r.kind)||typeof r.previewHash!="string")){for(const l of["title","summary","htmlPreview","reportText","inspectHref"])if(r[l]!==void 0&&typeof r[l]!="string")return;return r}}function KR(t,i){const r=t.findIndex(l=>l.artifactId===i.artifactId);return r<0?[...t,i]:t.map((l,o)=>o===r?{...l,...i}:l)}function XR(t){if(!t||typeof t!="object")return;const i=t;if(!(i.schemaVersion!==1||typeof i.cardId!="string"||i.gateType!=="contract-apply"&&i.gateType!=="dag-run"||typeof i.taskId!="string"||typeof i.state!="string"||typeof i.expiresAt!="string"||typeof i.inspectHref!="string"||typeof i.previewHash!="string"))return i}function QR(t,i){const r=t.findIndex(o=>o.cardId===i.cardId);if(r<0)return[...t,i];const l=[...t];return l[r]=i,l}function ZR(t,i){const r=t.findIndex(l=>l.operationId===i.operationId);return r<0?[...t,i]:t.map((l,o)=>o===r?{...l,...i}:l)}function JR(t){const i=t.operation;if(!i||typeof i!="object")return;const r=i;if(!(r.schemaVersion!==1||typeof r.operationId!="string"||typeof r.action!="string"||typeof r.state!="string"||typeof r.inspectHref!="string"||typeof r.createdAt!="string"||typeof r.updatedAt!="string"||typeof r.previewHash!="string"))return r}function WR(t){const{refs:i,onReconcile:r,setError:l,setInterview:o,setHumanGateCards:d,setArtifactCards:u,setStreaming:h,setStreamingAssistantId:g,setUnread:p,setOperationCards:v,setUsage:y,setMessages:S,setToolCalls:x}=t;return(C,I,H,R)=>{if(R?.generation!==void 0&&i.sessionGenerationRef.current!==R.generation)return;const N=R?.replay===!0;if(C==="stream_ready")return;if(C==="reconcile"){const E=typeof I.reason=="string"?I.reason:"cursor_expired";r?.({reason:E,...typeof I.minSeq=="number"?{minSeq:I.minSeq}:{},...typeof I.epoch=="string"?{epoch:I.epoch}:{},...typeof I.latestTurnId=="string"?{latestTurnId:I.latestTurnId}:{},...typeof I.latestEventId=="string"?{latestEventId:I.latestEventId}:I.latestEventId===null?{latestEventId:null}:{}});return}const A=I.data&&typeof I.data=="object"?I.data:I,G=typeof I.turnId=="string"?I.turnId:void 0;if(G&&(C==="agent_start"||C==="message_update")&&i.settledTurnIdsRef.current.has(G))return;let K=H;if(G){const E=i.turnAssistantIdsRef.current.get(G);E?K=E:i.turnAssistantIdsRef.current.set(G,H)}if(C==="interview-turn"){o(E=>({...E??{},interviewSessionId:typeof A.interviewSessionId=="string"?A.interviewSessionId:E?.interviewSessionId,taskId:typeof A.taskId=="string"?A.taskId:E?.taskId,state:typeof A.state=="string"?A.state:E?.state,question:A.question&&typeof A.question=="object"?A.question:void 0}));return}if(C==="draft"){o(E=>({...E??{},taskId:typeof A.taskId=="string"?A.taskId:E?.taskId,draft:A.draft&&typeof A.draft=="object"?A.draft:E?.draft,draftSha256:typeof A.draftSha256=="string"?A.draftSha256:E?.draftSha256,taskKindRecommendation:typeof A.taskKindRecommendation=="string"?A.taskKindRecommendation:E?.taskKindRecommendation}));return}if(C==="assessment"){o(E=>({...E??{},assessment:A}));return}if(C==="taskKind-confirmed"){o(E=>({...E??{},confirmedTaskKind:typeof A.taskKind=="string"?A.taskKind:E?.confirmedTaskKind,taskKindRecommendation:void 0}));return}if(C==="human-gate-card"){const E=XR(A);E&&d($=>QR($,E));return}if(C==="artifact-ref"){const E=YR(A);E&&u($=>KR($,E));return}if(C==="agent_start"){if(N&&G!==void 0&&G!==i.activeTurnIdRef.current)return;G&&(i.settledTurnIdsRef.current.delete(G),i.activeTurnIdRef.current=G),i.streamingRef.current=!0,h(!0),g(K);return}if(C==="agent_settled"||C==="agent_end"){if(G&&i.settledTurnIdsRef.current.add(G),C==="agent_end")return;G===i.activeTurnIdRef.current&&(i.activeTurnIdRef.current=null),i.streamingRef.current=!1,h(!1),g(null),C==="agent_settled"&&!N&&typeof document<"u"&&document.hidden&&p(E=>E+1),S(E=>E.filter($=>!($.id===K&&$.role==="assistant"&&!$.text.trim()))),x(E=>E.map($=>$.status==="running"&&$.assistantMessageId===K?{...$,status:"error",finishedAt:Date.now()}:$));return}if(C==="operation-ref"||C==="operation-status"){const E=JR(A);E&&v($=>ZR($,E));return}if(C==="usage"){if(N)return;const E=A,$=typeof E.responseKey=="string"&&E.responseKey?E.responseKey:void 0;if($&&i.usageResponseKeysRef.current.has($))return;$&&i.usageResponseKeysRef.current.add($),y(te=>{const ue=E.inputTokens??0,z=E.outputTokens??0,F=E.cacheReadTokens??0,V=E.cacheWriteTokens??0,le=E.totalTokens??ue+z+F+V;return{inputTokens:te.inputTokens+ue,outputTokens:te.outputTokens+z,cacheReadTokens:te.cacheReadTokens+F,cacheWriteTokens:te.cacheWriteTokens+V,totalTokens:te.totalTokens+le,cost:E.cost===void 0?te.cost:(te.cost??0)+E.cost}});return}if(C==="message_update"||C==="message_end"){if(N)return;const E=typeof A.text=="string"?A.text:"",$=Ws(A.content);S(te=>te.some(z=>z.id===K)?te.map(z=>z.id===K?{...z,text:E,...$?{content:$}:{}}:z):[...te,{id:K,role:"assistant",text:E,createdAt:Date.now(),...$?{content:$}:{}}])}else if(C==="tool_call"){const E=typeof A.toolCallId=="string"?A.toolCallId:Pr("t"),$=typeof A.toolName=="string"?A.toolName:"tool",te=typeof A.argsPreview=="string"?A.argsPreview:"{}",ue=Date.now();x(z=>z.some(F=>F.id===E)?z.map(F=>F.id===E?{...F,args:te,status:"running",turnId:G??F.turnId,assistantMessageId:K}:F):[...z,{id:E,toolName:$,args:te,status:"running",createdAt:ue,turnId:G,assistantMessageId:K}])}else if(C==="tool_result"){const E=typeof A.toolCallId=="string"?A.toolCallId:Pr("r"),$=typeof A.toolName=="string"?A.toolName:"tool",te=A.isError===!0,ue=typeof A.resultPreview=="string"?A.resultPreview:"{}",z=Date.now();x(F=>F.find(le=>le.id===E)?F.map(le=>le.id===E?{...le,result:ue,resultText:ue,status:te?"error":"ok",finishedAt:z,turnId:G??le.turnId,assistantMessageId:le.assistantMessageId??K}:le):[...F,{id:E,toolName:$,result:ue,resultText:ue,status:te?"error":"ok",createdAt:z,finishedAt:z,turnId:G,assistantMessageId:K}])}else C==="error"&&l(typeof A.message=="string"?A.message:"chat error")}}const qc={inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheWriteTokens:0,totalTokens:0};function eE(t){const{origin:i,refs:r,sessionId:l,setError:o,onReconcile:d}=t,[u,h]=k.useState([]),[g,p]=k.useState([]),[v,y]=k.useState([]),[S,x]=k.useState([]),[C,I]=k.useState(50),[H,R]=k.useState(0),[N,A]=k.useState([]),[G,K]=k.useState(null),[E,$]=k.useState(null),[te,ue]=k.useState(!1),[z,F]=k.useState(qc),[V,le]=k.useState(!1),[X,B]=k.useState(null),[O]=k.useState(!1),U=k.useMemo(()=>WR({refs:r,onReconcile:d,setError:o,setInterview:K,setHumanGateCards:A,setArtifactCards:x,setStreaming:le,setStreamingAssistantId:B,setUnread:R,setOperationCards:y,setUsage:F,setMessages:h,setToolCalls:p}),[r,d,o]),_=k.useCallback((Y,ce,he)=>{if(he?.targetSessionId&&r.sessionRef.current?.sessionId!==he.targetSessionId||he?.generation!==void 0&&r.sessionGenerationRef.current!==he.generation)return null;const pe=Y.split(`
42
+ `);let ye="message",Ce="",Be=null;for(const at of pe)at.startsWith("event: ")?ye=at.slice(7).trim():at.startsWith("data: ")?Ce+=at.slice(6):at.startsWith("id: ")&&(Be=at.slice(4).trim());if(!Ce)return Be;let Xe;try{Xe=JSON.parse(Ce)}catch{return Be}const Ye=Be??(typeof Xe.eventId=="string"?Xe.eventId:null);if(Ye){if(r.seenEventIdsRef.current.has(Ye))return Ye;r.seenEventIdsRef.current.add(Ye)}return U(ye,Xe,ce,he),Be??Ye},[U,r]),W=k.useCallback(async(Y,ce)=>{const he=ce?.background===!0;he||ue(!0);try{const pe=await fetch(`${i}/api/operator/v1/chat/sessions/${encodeURIComponent(Y)}/context`,{credentials:"include"});if(!pe.ok)return;const ye=await pe.json();ye.context&&r.sessionRef.current?.sessionId===Y&&$(Ce=>F1(Ce,ye.context)?Ce:ye.context)}finally{he||ue(!1)}},[i,r]);k.useEffect(()=>{l&&W(l)},[l,W]),k.useEffect(()=>{if(!l)return;const Y=window.setTimeout(()=>{W(l,{background:!0})},350);return()=>window.clearTimeout(Y)},[l,v,N,G,W]);const T=k.useMemo(()=>u.filter(Y=>Y.role!=="system"||O).slice(-C),[u,O,C]);k.useEffect(()=>{const Y=()=>{document.hidden||R(0)};return document.addEventListener("visibilitychange",Y),()=>document.removeEventListener("visibilitychange",Y)},[]);const D=k.useMemo(()=>{if(g.length===0)return null;const Y=g.filter(Ce=>Ce.status==="running"),ce=g.filter(Ce=>Ce.status==="error"),he=Y[Y.length-1];let pe="完成",ye="ok";return ce.length>0?(pe=`${ce.length} 次出错`,ye="error"):Y.length>0?(pe=he?`${he.toolName} 运行中`:"运行中",ye="running"):pe="",{count:g.length,statusLabel:pe,statusKind:ye}},[g]),M=k.useMemo(()=>TR({messages:T,toolCalls:g,streaming:V,activeAssistantId:X}),[T,g,V,X]),w=k.useCallback(()=>{h([]),p([]),y([]),A([]),x([]),K(null),$(null),F(qc),le(!1),B(null),R(0),I(50),r.usageResponseKeysRef.current=new Set},[r]),re=k.useCallback(Y=>{h(Y.messages),p(Y.toolCalls),y([]),A([]),x([]),$(null),K(null),F(qc),r.usageResponseKeysRef.current=new Set,le(Y.streaming),B(null),R(0),I(50)},[r]),de=k.useCallback(async Y=>{try{const ce=await fetch(`${i}/api/operator/v1/chat/sessions/${encodeURIComponent(Y)}`,{credentials:"include"});if(!ce.ok)return!1;const he=await ce.json();if(!he.session||r.sessionRef.current?.sessionId!==Y)return!1;const pe=he.session.activeTurnId??null;return r.activeTurnIdRef.current=pe,r.streamingRef.current=!!pe,r.lastEventIdRef.current=he.lastEventId??null,r.seenEventIdsRef.current=new Set,r.turnAssistantIdsRef.current=new Map,h((he.session.messages??[]).filter(ye=>ye.role==="user"||ye.role==="assistant").map(ye=>{const Ce=Ws(ye.content);return{id:ye.id,role:ye.role,text:ye.text,createdAt:Date.parse(ye.at)||Date.now(),...Ce&&Ce.length>0?{content:Ce}:{}}})),B(null),!0}catch{return!1}},[i,r,h,B]);return{messages:u,setMessages:h,toolCalls:g,setToolCalls:p,operationCards:v,artifactCards:S,historyLimit:C,setHistoryLimit:I,unread:H,humanGateCards:N,interview:G,setInterview:K,taskContext:E,contextLoading:te,usage:z,streaming:V,setStreaming:le,streamingAssistantId:X,setStreamingAssistantId:B,visibleMessages:T,turnGroups:M,processSummary:D,applyChatSseEvent:U,applySseBlock:_,loadTaskContext:W,resetForNewSession:w,applyActivatedSession:re,recoverSession:de}}class tE{constructor(i){this.options=i,this.fetchFn=i.fetchFn??fetch,this.backoffMs=i.backoffMs??1e3,this.deadlineMs=i.deadlineMs??3e4}options;eligible=new Set;controllers=new Map;fetchFn;backoffMs;deadlineMs;markEligible(i){this.eligible.add(i)}startIfEligible(i){if(!this.eligible.delete(i)||this.controllers.has(i))return;const r=new AbortController;this.controllers.set(i,r),this.run(i,r)}cancel(i){this.eligible.delete(i),this.controllers.get(i)?.abort(),this.controllers.delete(i)}reconcile(i){const r=new Set(i);for(const l of this.controllers.keys())r.has(l)||this.cancel(l)}dispose(){for(const i of this.controllers.values())i.abort();this.controllers.clear(),this.eligible.clear()}async run(i,r){let l;const o=new Set;let d=!1;const u=window.setTimeout(()=>{d=!0,r.abort()},this.deadlineMs);try{for(;!r.signal.aborted;){try{const h={Accept:"text/event-stream"};l&&(h["Last-Event-ID"]=l);const g=await this.fetchFn(`${this.options.origin}/api/operator/v1/chat/sessions/${encodeURIComponent(i)}/events`,{headers:h,credentials:"include",signal:r.signal});if(g.status===404||!g.body)return;if(!g.ok)throw new Error(`HTTP ${g.status}`);const p=g.body.getReader(),v=new TextDecoder;let y="";for(;;){const{done:S,value:x}=await p.read();if(S||r.signal.aborted)break;y+=v.decode(x,{stream:!0});const C=y.split(`
43
+
44
+ `);y=C.pop()??"";for(const I of C){const H=I.split(`
45
+ `).find(N=>N.startsWith("id: "))?.slice(4);if(H&&(l=H),!H||o.has(H)||!I.includes("event: session_title"))continue;const R=I.split(`
46
+ `).find(N=>N.startsWith("data: "))?.slice(6);if(R)try{const N=JSON.parse(R),A=N.data?.title?.trim();if(!A)continue;if(o.add(H),!this.options.hasSession(i)||(this.options.onTitle(i,{title:A,automatic:!!N.data?.automatic}),N.data?.automatic))return}catch{}}}}catch{if(r.signal.aborted)return}r.signal.aborted||await nE(this.backoffMs,r.signal)}}finally{window.clearTimeout(u),this.controllers.get(i)===r&&this.controllers.delete(i),(d||!this.options.hasSession(i))&&this.options.refresh()}}}function nE(t,i){return new Promise(r=>{const l=window.setTimeout(d,t),o=()=>d();function d(){window.clearTimeout(l),i.removeEventListener("abort",o),r()}i.addEventListener("abort",o,{once:!0})})}async function iE(t){if(t.creatingRef?.current)throw new Error("CREATE_SESSION_IN_FLIGHT");t.creatingRef&&(t.creatingRef.current=!0),t.setCreatingSession?.(!0);try{const i=await(t.fetchFn??fetch)(`${t.origin}/api/operator/v1/chat/sessions`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Kt()},credentials:"include",body:JSON.stringify(t.options??{})});if(!i.ok){const u=await i.json().catch(()=>({}));throw new Error(u.error?.message??`HTTP ${i.status}`)}const r=await i.json();if(!r.session)throw new Error("创建会话响应缺少 durable session");const l=r.session,o={sessionId:l.sessionId,...rd(l)},d=[l,...t.sessionListRef.current.filter(u=>u.sessionId!==l.sessionId)].slice(0,Os);return t.sessionListRef.current=d,t.setSessionList(d),t.titleWatcher?.markEligible(l.sessionId),t.refreshSessionList(),o}finally{t.creatingRef&&(t.creatingRef.current=!1),t.setCreatingSession?.(!1)}}function rE(t){const{origin:i,refs:r,setSession:l,thread:o,composer:d,browser:u,setError:h,setProcessOpen:g,setAutoScroll:p}=t,{applyActivatedSession:v,resetForNewSession:y,setMessages:S}=o,{setInput:x,setPendingImages:C}=d,{setPreviews:I,setActivePreviewPath:H}=u,[R,N]=k.useState([]),A=k.useRef([]);A.current=R;const G=k.useRef(null),[K,E]=k.useState(!1),$=k.useRef(!1),te=k.useRef(0),ue=k.useCallback(()=>{r.sessionGenerationRef.current+=1,r.abortRef.current?.abort(),r.reconnectAbortRef.current?.abort();for(const _ of r.sessionAbortControllersRef.current.values())_.abort();r.sessionAbortControllersRef.current.clear(),r.reconnectAbortRef.current=null,r.eventsStreamStateRef.current=null,r.streamingRef.current=!1,r.abortRef.current=null,r.assistantIdRef.current=null,r.lastEventIdRef.current=null,r.seenEventIdsRef.current=new Set,r.turnAssistantIdsRef.current=new Map,r.settledTurnIdsRef.current=new Set,r.activeTurnIdRef.current=null,y(),x(""),C([]),I([]),H(null),g(!1),p(!0)},[r,y,x,C,I,H,g,p]),z=k.useCallback(async()=>{try{const _=await fetch(`${i}/api/operator/v1/chat/sessions`,{credentials:"include"});if(!_.ok)return;const W=(await _.json()).sessions??[],T=W.slice(0,Os),D=W.slice(Os);if(N(T),D.length===0)return;await Promise.all(D.map(w=>fetch(`${i}/api/operator/v1/chat/sessions/${encodeURIComponent(w.sessionId)}`,{method:"DELETE",credentials:"include",headers:{"x-loop-console-confirmation":Kt()}}).catch(()=>{})));const M=r.sessionRef.current?.sessionId;M&&D.some(w=>w.sessionId===M)&&(te.current+=1,r.sessionRef.current=null,ue(),l(null),window.localStorage.removeItem(kn))}catch{}},[i,r,ue,l]),F=k.useCallback(async _=>{if(window.confirm("确定删除该会话?删除后不可恢复。"))try{if(!(await fetch(`${i}/api/operator/v1/chat/sessions/${encodeURIComponent(_)}`,{method:"DELETE",credentials:"include",headers:{"x-loop-console-confirmation":Kt()}})).ok){h("删除会话失败");return}G.current?.cancel(_),r.sessionRef.current?.sessionId===_&&(te.current+=1,r.sessionRef.current=null,ue(),l(null),window.localStorage.removeItem(kn)),await z()}catch(W){h(W instanceof Error?W.message:String(W))}},[i,r,l,ue,z,h]),V=k.useCallback(async _=>{const W=++te.current;try{const T=await fetch(`${i}/api/operator/v1/chat/sessions/${encodeURIComponent(_)}`,{credentials:"include"}),D=await T.json();if(!T.ok||!D.session)throw new Error(D.error?.message??"会话不可用");if(W!==te.current)return;const M={sessionId:D.session.sessionId,...rd(D.session)};ue(),r.sessionRef.current=M,r.streamingRef.current=!!D.session.activeTurnId,r.activeTurnIdRef.current=D.session.activeTurnId??null,r.seenEventIdsRef.current=new Set,r.turnAssistantIdsRef.current=new Map,r.settledTurnIdsRef.current=new Set,r.lastEventIdRef.current=null,l(M),r.assistantIdRef.current=null,r.abortRef.current=r.sessionAbortControllersRef.current.get(_)??null,C([]),I([]),x(D.session.composerDraft??"");const w=CR(D.session.messages??[]);v({messages:w.messages,toolCalls:w.toolCalls,streaming:!!D.session.activeTurnId}),window.localStorage.setItem(kn,_),H(null)}catch(T){if(W!==te.current)return;h(T instanceof Error?T.message:String(T))}},[i,r,l,C,I,x,v,ue,H,h]);k.useEffect(()=>{z()},[z]),G.current||(G.current=new tE({origin:i,hasSession:_=>A.current.some(W=>W.sessionId===_),onTitle:(_,W)=>{N(T=>T.map(D=>D.sessionId!==_||W.automatic&&D.title?D:W.automatic?{...D,title:W.title}:{...D,displayTitle:W.title}))},refresh:z}));const le=k.useCallback(_=>G.current?.startIfEligible(_),[]);k.useEffect(()=>{G.current?.reconcile(R.filter(_=>_.state!=="archived"&&!_.title).map(_=>_.sessionId))},[R]),k.useEffect(()=>()=>G.current?.dispose(),[]),k.useEffect(()=>{let _=!1;const W=window.localStorage.getItem(kn);if(!W)return;const T=++te.current;return(async()=>{try{const D=await fetch(`${i}/api/operator/v1/chat/sessions/${encodeURIComponent(W)}`,{credentials:"include"});if(!D.ok){window.localStorage.removeItem(kn);return}const M=await D.json();if(_||T!==te.current||!M.session)return;const w={sessionId:M.session.sessionId,...rd(M.session)};r.sessionGenerationRef.current+=1,r.sessionRef.current=w,r.activeTurnIdRef.current=M.session.activeTurnId??null,r.seenEventIdsRef.current=new Set,r.turnAssistantIdsRef.current=new Map,r.settledTurnIdsRef.current=new Set,r.lastEventIdRef.current=null,l(w),x(M.session.composerDraft??""),S((M.session.messages??[]).filter(re=>re.role==="user"||re.role==="assistant").map(re=>{const de=Ws(re.content);return{id:re.id,role:re.role,text:re.text,createdAt:Date.parse(re.at)||Date.now(),...de&&de.length>0?{content:de}:{}}}))}catch{}})(),()=>{_=!0}},[i,r,l,x,S]);const X=k.useCallback(_=>iE({origin:i,sessionListRef:A,setSessionList:N,titleWatcher:G.current,refreshSessionList:z,options:_,setCreatingSession:E,creatingRef:$}),[i,z]),B=k.useCallback(async _=>{if($.current)return null;const W=++te.current;h(null);try{const T=await X(_);return W!==te.current?null:(ue(),r.sessionRef.current=T,window.localStorage.setItem(kn,T.sessionId),l(T),T)}catch(T){if(W!==te.current)return null;const D=T instanceof Error?T.message:String(T);return D!=="CREATE_SESSION_IN_FLIGHT"&&h(D),null}},[r,l,h,ue,X]),O=k.useCallback(async()=>{const _=r.sessionRef.current;if(!(!_||r.streamingRef.current))try{const W=await fetch(`${i}/api/operator/v1/chat/sessions/${encodeURIComponent(_.sessionId)}/compact`,{method:"POST",credentials:"include",headers:{"x-loop-console-confirmation":Kt()}}),T=await W.json().catch(()=>({}));if(!W.ok){h(T.error?.message??"上下文压缩失败");return}h(null)}catch(W){h(W instanceof Error?W.message:"上下文压缩失败")}},[i,r,h]);return{sessionList:R,creatingSession:K,activateSession:V,refreshSessionList:z,deleteSession:F,createSession:B,updateSession:async(_,W)=>{if(!(await fetch(`${i}/api/operator/v1/chat/sessions/${encodeURIComponent(_)}`,{method:"PATCH",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Kt()},body:JSON.stringify(W)})).ok){h("会话更新失败");return}await z(),W.state==="archived"&&G.current?.cancel(_),W.state==="archived"&&r.sessionRef.current?.sessionId===_&&(te.current+=1,r.sessionRef.current=null,ue(),l(null),window.localStorage.removeItem(kn))},watchSessionTitle:le,compactSession:O}}function Yr(t){const i=(t??"").trim();return i?/controller identity changed|package fingerprint changed|entry binary sha256 changed/i.test(i)?"控制器版本已变更(Console 启动后代码被重新编译)。请重启 Console 后再试,一次会话中途不要升级/重建控制器。":/Pi session file missing or not openable|cannot reopen chat session .* no persisted Pi session file/i.test(i)?"该对话的 Pi 会话文件已丢失,无法恢复上下文。请新建对话继续(历史记录无法重开)。":/reopened Pi sessionId mismatch/i.test(i)?"重开对话失败:Pi 会话身份与记录不一致(常见于会话文件丢失后被误建)。请新建对话继续。":/base HEAD .+ != frozen baseCommit|exact-base|not a descendant of frozen baseCommit/i.test(i)?"主分支已相对夜间冻结的 baseCommit 前进,无法安全 fast-forward harvest。请人工核对后使用 Discard(必要时勾选强制),或改走日间合并流程。":/force-required|requires --force/i.test(i)?"该终态需要强制 Discard。请确认后勾选强制再试。":i:"操作失败"}function aE(t){let i;const r=new Promise(l=>{i=l});return{...t,outcomePromise:r,resolveOutcome:i}}function Vg(t="network error while creating turn"){return{kind:"ambiguous",message:t}}function lE(t="无法确认 Turn 是否已创建,正在与服务端对账(不会重复提交新的请求 ID)"){return{kind:"ambiguous",message:t}}function Pg(t){const{body:i,clientRequestId:r}=t,l=i.error?.code,o=i.error?.message??(t.httpOk?"turn was not accepted":`HTTP ${t.status}`);if(l==="TURN_ACTIVE"&&i.activeTurn?.turnId)return{kind:"adopt-active",activeTurn:i.activeTurn,message:"上一轮仍在运行,已重新连接;当前消息已保留。"};if(i.accepted===!0||t.httpOk&&i.turnId){const d=i.turn?.turnId??i.turnId;return d?{kind:"accepted",turnId:d,idempotent:i.idempotent===!0,turn:i.turn??{turnId:d,clientRequestId:r,state:i.state}}:{kind:"ambiguous",message:o}}return i.accepted===!1||l?{kind:"rejected",code:l,message:o}:{kind:"ambiguous",message:o}}function sE(t){const i=t.clientRequestId,r=t.state?.activeTurn,l=t.state?.latestTurn;return r?.clientRequestId===i&&r.turnId?{kind:"accepted",turnId:r.turnId,idempotent:!0,turn:r}:l?.clientRequestId===i&&l.turnId?{kind:"accepted",turnId:l.turnId,idempotent:!0,turn:l}:r?.turnId?{kind:"adopt-active",activeTurn:r,message:"上一轮仍在运行,已重新连接;当前消息已保留。"}:null}function oE(t){const i=t.clientRequestId,r=t.state?.activeTurn,l=t.state?.latestTurn,o=r?.state??t.state?.activeTurnState??void 0,d=l?.state??t.state?.latestTurnState??void 0;if(r?.clientRequestId===i&&r.turnId)return tr(o)?{action:"release-terminal",turnId:r.turnId,state:String(o)}:{action:"bind-active",turnId:r.turnId};if(l?.clientRequestId===i&&l.turnId){if(tr(d))return{action:"release-terminal",turnId:l.turnId,state:String(d)};if(!r?.turnId||r.clientRequestId===i)return{action:"bind-active",turnId:l.turnId}}return!Us(t.state)&&!(!!r?.turnId&&r?.clientRequestId!==i)?{action:"release-not-accepted"}:{action:"hold"}}function Us(t){if(t?.activeTurnId||t?.activeTurn?.turnId)return!0;const i=t?.runtime;return i?i.isStreaming===!0||i.isPromptRunning===!0||i.isCompacting===!0||i.isBashRunning===!0:!1}function tr(t){return t==="settled"||t==="aborted"||t==="failed"}function qs(t){return t.pending.sessionId===t.sessionId&&t.pending.sessionGeneration===t.sessionGeneration&&t.pending.submitGeneration===t.submitGeneration}function uE(t,i){return`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(i)}/turns`}function Yg(t,i){return`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(i)}/state`}function cE(t,i){return`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(i)}/events`}function dE(t,i,r){return`${t}/api/operator/v1/chat/sessions/${encodeURIComponent(i)}/turns/${encodeURIComponent(r)}/abort`}function ta(t,i){const r=t.pendingSubmission;i&&r&&r.clientRequestId!==i||(t.submitInFlight=!1,(!i||r?.clientRequestId===i)&&(r?.clientRequestId?t.releasedClientRequestIds.add(r.clientRequestId):i&&t.releasedClientRequestIds.add(i),t.pendingSubmission=null),t.pendingSubmission||(t.stopRequested=!1))}function Mv(t){t.stopRequested=!0}function Gs(t){t.stopRequested=!1}function fE(t,i){return!(!i||t.abortPostedTurnIds.has(i))}function hE(t,i){i&&t.abortPostedTurnIds.add(i)}function $s(t,i){return!t.stopRequested||!fE(t,i)?null:(hE(t,i),t.stoppingTurnId=i,t.activeTurnId=i,i)}function Kg(t,i){const r=t.pendingSubmission;return r&&r.clientRequestId!==i.clientRequestId?!1:(i.turnId&&t.settledTurnIds.add(i.turnId),ta(t,i.clientRequestId),Gs(t),i.markIdle!==!1&&(t.streaming=!1,t.activeTurnId=null,t.assistantId=null,t.stoppingTurnId=null),!0)}function mE(t,i){return qs({pending:i.pending,sessionId:t.sessionId,sessionGeneration:t.sessionGeneration,submitGeneration:t.submitGeneration})?(i.pending.acceptedTurnId=i.turnId,t.activeTurnId=i.turnId,t.turnAssistantIds.set(i.turnId,i.assistantId),t.streaming=!0,t.submitInFlight=!1,i.pending.resolveOutcome({kind:"accepted",turnId:i.turnId}),i.ui?.setStreaming(!0),i.ui?.setStreamingAssistantId(i.assistantId),i.ui?.setPendingImages([]),i.ui?.watchSessionTitle?.(i.sessionId),!0):(i.pending.resolveOutcome({kind:"stale"}),!1)}function pE(t,i){i.pending.resolveOutcome({kind:"adopt-active",activeTurn:{turnId:i.activeTurnId},message:i.message}),ta(t,i.pending.clientRequestId),i.current&&(i.ui?.clearEmptyAssistant(i.assistantId),i.ui?.setInput(i.text),i.ui?.setPendingImages(i.images),t.activeTurnId=i.activeTurnId,t.assistantId=null,t.streaming=!0,i.ui?.setStreaming(!0),i.ui?.setStreamingAssistantId(null),i.notice.setError(null),i.notice.showNotice(i.message))}function gE(t,i){if(i.pending.resolveOutcome({kind:"rejected",message:i.message}),ta(t,i.pending.clientRequestId),!i.current)return;const r=i.ui?.formatError?i.ui.formatError(i.message):i.message;i.ui?.setError(r),t.streaming=!1,t.assistantId=null,i.ui?.setStreaming(!1),i.ui?.setStreamingAssistantId(null),i.ui?.clearEmptyAssistant(i.assistantId),i.ui?.setInput(i.text),i.ui?.setPendingImages(i.images)}function yE(t,i,r){const l=qs({pending:r.pending,sessionId:t.sessionId,sessionGeneration:t.sessionGeneration,submitGeneration:t.submitGeneration});if(i.kind==="accepted"){if(mE(t,{turnId:i.turnId,assistantId:r.assistantId,pending:r.pending,sessionId:r.sessionId,ui:r.acceptedUi})){const d=$s(t,i.turnId);d&&r.onAutoAbort?.(d)}return}if(i.kind==="adopt-active"){const o=l?$s(t,i.activeTurn.turnId):null;pE(t,{activeTurnId:i.activeTurn.turnId,message:i.message,assistantId:r.assistantId,text:r.text,images:r.images,pending:r.pending,current:l,notice:r.notice,ui:r.adoptUi}),o&&r.onAutoAbort?.(o);return}if(i.kind==="rejected"){gE(t,{message:i.message,assistantId:r.assistantId,text:r.text,images:r.images,pending:r.pending,current:l,ui:r.rejectedUi}),Gs(t);return}if(i.kind==="stale"){r.pending.resolveOutcome(i),ta(t,r.pending.clientRequestId),Gs(t);return}r.pending.resolveOutcome(i)}function vE(t,i,r,l){const o=t.pendingSubmission;if(!o)return"held";if(i.action==="bind-active"){const u=!!o.acceptedTurnId;u||(o.acceptedTurnId=i.turnId,t.activeTurnId=i.turnId,t.turnAssistantIds.set(i.turnId,o.assistantId),t.streaming=!0,t.submitInFlight=!1);const h=$s(t,i.turnId);return h&&l?.onAutoAbort?.(h),u?"held":"bound"}if(i.action==="release-terminal"||i.action==="release-not-accepted")return i.action==="release-terminal"&&t.settledTurnIds.add(i.turnId),ta(t,o.clientRequestId),Gs(t),Us(r)||(t.streaming=!1,t.activeTurnId=null,t.assistantId=null,t.stoppingTurnId=null,l?.markIdle?.()),"released";const d=r?.activeTurn?.turnId??r?.activeTurnId??null;return d&&(t.activeTurnId=d),"held"}const bE="正在停止…",xE="正在停止…",SE="停止请求未完成,正在与服务端对账…",kE="停止请求失败,正在与服务端对账…";function Xg(t){t.showNotice(bE)}function Qg(t){if(t.networkError)return{action:"keep-busy-notice",message:kE};const i=t.body.turn?.state;return t.body.accepted===!0&&tr(i)?{action:"terminal-idle",turnId:t.turnId}:t.body.error?.code==="TURN_ABORT_PENDING"?{action:"abort-pending-notice"}:t.body.error?.code==="CHAT_TURN_OWNER_LOST"||t.body.error?.code==="OWNER_LOST"?{action:"owner-lost-reconcile"}:t.httpOk?{action:"noop"}:{action:"keep-busy-notice",message:SE}}function Gc(t,i,r,l){const o=l?.sessionStillCurrent!==!1;if(i.action==="terminal-idle"){if(!o)return;t.settledTurnIds.add(i.turnId),t.streaming=!1,t.activeTurnId=null,t.assistantId=null,t.stoppingTurnId=null,l?.markIdle?.();return}if(i.action==="abort-pending-notice"){r.showNotice(xE);return}if(i.action==="owner-lost-reconcile"){if(!o)return;l?.runtimeBusy||(t.stoppingTurnId&&t.settledTurnIds.add(t.stoppingTurnId),t.streaming=!1,t.activeTurnId=null,t.assistantId=null,t.stoppingTurnId=null,l?.markIdle?.());return}if(i.action==="keep-busy-notice"){r.showNotice(i.message);return}}function Zg(t,i){Mv(t);const r=t.activeTurnId??t.pendingSubmission?.acceptedTurnId??null;if(r){const l=$s(t,r);return l?(i.notice&&Xg(i.notice),i.postAbort(l),{abortedTurnId:l,stopRequested:!0}):{abortedTurnId:null,stopRequested:!0}}return i.notice&&Xg(i.notice),{abortedTurnId:null,stopRequested:!0}}function Jn(t){return{submitInFlight:t.submitInFlightRef.current,pendingSubmission:t.pendingSubmissionRef.current,activeTurnId:t.activeTurnIdRef.current,streaming:t.streamingRef.current,assistantId:t.assistantIdRef.current,stoppingTurnId:t.stoppingTurnIdRef.current,settledTurnIds:t.settledTurnIdsRef.current,turnAssistantIds:t.turnAssistantIdsRef.current,sessionId:t.sessionRef.current?.sessionId??null,sessionGeneration:t.sessionGenerationRef.current,submitGeneration:t.submitGenerationRef.current,stopInFlight:t.stopInFlightRef.current,stopRequested:t.stopRequestedRef.current,abortPostedTurnIds:t.abortPostedTurnIdsRef.current,releasedClientRequestIds:t.releasedClientRequestIdsRef.current}}function An(t,i){t.submitInFlightRef.current=i.submitInFlight,t.pendingSubmissionRef.current=i.pendingSubmission,t.activeTurnIdRef.current=i.activeTurnId,t.streamingRef.current=i.streaming,t.assistantIdRef.current=i.assistantId,t.stoppingTurnIdRef.current=i.stoppingTurnId,t.submitGenerationRef.current=i.submitGeneration,t.stopInFlightRef.current=i.stopInFlight,t.stopRequestedRef.current=i.stopRequested}function wE(t){return t.split(`
47
+ `).find(i=>i.startsWith("event: "))?.slice(7).trim()??"message"}function CE(){return new Promise(t=>window.setTimeout(t,25))}function $c(t,i){i&&t(r=>r.filter(l=>!(l.id===i&&l.role==="assistant"&&!l.text.trim())))}function jE(t){const{origin:i,refs:r,session:l,thread:o,composer:d,setError:u,setAutoScroll:h,setNotice:g,recoveryVersion:p=0,watchSessionTitle:v}=t,{applySseBlock:y,setMessages:S,setStreaming:x,setStreamingAssistantId:C,streaming:I}=o,{setInput:H,setPendingImages:R}=d,N=k.useCallback(B=>{g&&g({id:Date.now(),message:B})},[g]),A=k.useCallback(B=>{const O=Jn(r);ta(O,B),An(r,O)},[r]),G=k.useCallback((B,O,U)=>{r.sessionRef.current?.sessionId!==B||r.sessionGenerationRef.current!==O||(r.streamingRef.current=!1,r.activeTurnIdRef.current=null,r.assistantIdRef.current=null,r.stoppingTurnIdRef.current=null,x(!1),C(null),$c(S,U))},[r,x,C,S]),K=k.useCallback(async(B,O,U)=>{for(;!U.aborted;){const _=r.eventsStreamStateRef.current;if(!_||_.sessionId!==B||_.generation!==O)return;_.ready=!1;try{const W={Accept:"text/event-stream"},T=r.lastEventIdRef.current;T&&(W["Last-Event-ID"]=T);const D=await fetch(cE(i,B),{headers:W,credentials:"include",signal:U});if(!D.ok||!D.body){if(D.status===404)return;await kc(2e3,U);continue}const M=D.body.getReader(),w=new TextDecoder;let re="",de=!0;const Y=Pr("a");for(;;){const{done:he,value:pe}=await M.read();if(he)break;re+=w.decode(pe,{stream:!0});const ye=re.split(`
48
+
49
+ `);re=ye.pop()??"";for(const Ce of ye){if(wE(Ce)==="stream_ready"){const Ye=r.eventsStreamStateRef.current;Ye?.sessionId===B&&Ye.generation===O&&(Ye.ready=!0),de=!1;continue}const Be=r.assistantIdRef.current??Y,Xe=y(Ce,Be,{replay:de,targetSessionId:B,generation:O});Xe&&(r.lastEventIdRef.current=Xe)}}const ce=r.eventsStreamStateRef.current;ce?.sessionId===B&&ce.generation===O&&(ce.ready=!1),await kc(1e3,U)}catch{if(U.aborted)return;await kc(2e3,U)}}},[i,r,y]),E=k.useCallback((B,O)=>{const U=r.eventsStreamStateRef.current;if(U?.sessionId===B&&U.generation===O&&r.reconnectAbortRef.current)return;r.reconnectAbortRef.current?.abort();const _=new AbortController;r.reconnectAbortRef.current=_,r.eventsStreamStateRef.current={sessionId:B,generation:O,ready:!1},K(B,O,_.signal)},[r,K]),$=k.useCallback(async(B,O)=>{E(B,O);const U=Date.now()+5e3;for(;Date.now()<U;){const _=r.eventsStreamStateRef.current;if(_?.sessionId===B&&_.generation===O&&_.ready)return;if(r.sessionRef.current?.sessionId!==B||r.sessionGenerationRef.current!==O)throw new Error("会话已切换");await CE()}throw new Error("事件连接未就绪,请检查 Console 连接后重试")},[r,E]),te=k.useCallback(async B=>{try{const O=await fetch(Yg(i,B),{credentials:"include"}),U=await O.json().catch(()=>({}));return O.ok?U.state??null:null}catch{return null}},[i]),ue=k.useCallback(async B=>{try{const O=await fetch(uE(i,B.sessionId),{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Kt()},credentials:"include",body:JSON.stringify({clientRequestId:B.clientRequestId,text:B.text.trim()||"请查看附件图片。",images:B.images.map(({type:_,mimeType:W,data:T})=>({type:_,mimeType:W,data:T}))})}),U=await O.json().catch(()=>({}));return{httpOk:O.ok,status:O.status,body:U}}catch{return{httpOk:!1,status:0,body:{},networkError:!0}}},[i]),z=k.useCallback(()=>({showNotice:N,setError:B=>u(B)}),[N,u]),F=k.useCallback(async(B,O,U)=>{r.stoppingTurnIdRef.current=U,r.streamingRef.current=!0,x(!0);try{const _=await fetch(dE(i,B,U),{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Kt()},credentials:"include",body:"{}"}),W=await _.json().catch(()=>({}));if(r.sessionRef.current?.sessionId!==B||r.sessionGenerationRef.current!==O||r.stoppingTurnIdRef.current!==U)return;const T=Qg({httpOk:_.ok,turnId:U,body:W}),D=Jn(r);if(D.stoppingTurnId=U,T.action==="owner-lost-reconcile"){const M=await te(B),w=r.sessionRef.current?.sessionId===B&&r.sessionGenerationRef.current===O;Gc(D,T,z(),{sessionStillCurrent:w,runtimeBusy:Us(M??void 0),markIdle:()=>G(B,O,r.assistantIdRef.current)}),An(r,D);return}Gc(D,T,z(),{sessionStillCurrent:!0,markIdle:()=>G(B,O,r.assistantIdRef.current)}),An(r,D)}catch{const _=Jn(r);Gc(_,Qg({httpOk:!1,turnId:U,body:{},networkError:!0}),z()),An(r,_)}},[i,r,x,G,te,z]),V=k.useCallback((B,O)=>{const U=Jn(r);U.sessionId=r.sessionRef.current?.sessionId??null,U.sessionGeneration=r.sessionGenerationRef.current,U.submitGeneration=r.submitGenerationRef.current;const _=W=>{R(W)};yE(U,B,{assistantId:O.assistantId,text:O.text,images:O.images,pending:O.pending,sessionId:O.sessionId,notice:z(),acceptedUi:{setStreaming:x,setStreamingAssistantId:C,setPendingImages:_,watchSessionTitle:v},adoptUi:{clearEmptyAssistant:W=>$c(S,W),setInput:H,setPendingImages:_,setStreaming:x,setStreamingAssistantId:C},rejectedUi:{setError:u,setStreaming:x,setStreamingAssistantId:C,clearEmptyAssistant:W=>$c(S,W),setInput:H,setPendingImages:_,formatError:Yr},onAutoAbort:W=>{F(O.sessionId,O.generation,W)}}),An(r,U)},[r,z,x,C,R,v,S,H,u,F]),le=k.useCallback(async(B,O)=>{const U=r.sessionRef.current,_=r.sessionGenerationRef.current;if(!U||!B.trim()&&O.length===0||r.streamingRef.current||r.submitInFlightRef.current||r.pendingSubmissionRef.current)return;r.submitInFlightRef.current=!0;const W=++r.submitGenerationRef.current,T=Pr("chat-submit"),D=Pr("u"),M=Pr("a"),w=B.trim(),re=O.slice(),de=aE({clientRequestId:T,submitGeneration:W,sessionId:U.sessionId,sessionGeneration:_,text:w,images:re,assistantId:M,userMessageId:D});r.pendingSubmissionRef.current=de;try{await $(U.sessionId,_)}catch(ye){r.sessionRef.current?.sessionId===U.sessionId&&r.sessionGenerationRef.current===_&&u(Yr(ye instanceof Error?ye.message:String(ye))),A(T);return}if(r.sessionRef.current?.sessionId!==U.sessionId||r.sessionGenerationRef.current!==_){A(T);return}const Y={id:D,role:"user",text:w,createdAt:Date.now()};S(ye=>[...ye,Y,{id:M,role:"assistant",text:"",createdAt:Date.now()}]),H(""),h(!0),u(null),r.streamingRef.current=!0,r.assistantIdRef.current=M,x(!0),C(M);const ce={sessionId:U.sessionId,generation:_,submitGeneration:W,assistantId:M,text:w,images:re,pending:de},he=await ue({sessionId:U.sessionId,clientRequestId:T,text:w,images:re});if(!qs({pending:de,sessionId:r.sessionRef.current?.sessionId,sessionGeneration:r.sessionGenerationRef.current,submitGeneration:r.submitGenerationRef.current})){de.resolveOutcome({kind:"stale"}),A(T);return}let pe=he.networkError?Vg():Pg({httpOk:he.httpOk,status:he.status,body:he.body,clientRequestId:T});if(pe.kind==="ambiguous"){const ye=await te(U.sessionId),Ce=ye?sE({clientRequestId:T,state:ye}):null;if(Ce)pe=Ce;else{const Be=await ue({sessionId:U.sessionId,clientRequestId:T,text:w,images:re});if(!qs({pending:de,sessionId:r.sessionRef.current?.sessionId,sessionGeneration:r.sessionGenerationRef.current,submitGeneration:r.submitGenerationRef.current})){de.resolveOutcome({kind:"stale"}),A(T);return}if(pe=Be.networkError?Vg("无法确认 Turn 是否已创建,正在与服务端对账(不会重复提交新的请求 ID)"):Pg({httpOk:Be.httpOk,status:Be.status,body:Be.body,clientRequestId:T}),pe.kind==="ambiguous"){const Xe=pe.message||"无法确认 Turn 是否已创建,正在与服务端对账(不会重复提交新的请求 ID)";pe=lE(Xe),N(Xe)}}}V(pe,ce)},[i,r,$,ue,te,V,A,N,S,H,h,u,x,C]),X=k.useCallback(async()=>{const B=r.sessionRef.current?.sessionId,O=r.sessionGenerationRef.current;if(!B)return;const U=Jn(r),_=Zg(U,{postAbort:()=>{},notice:z()});if(An(r,U),_.abortedTurnId){if(r.stopInFlightRef.current)return;r.stopInFlightRef.current=!0;try{await F(B,O,_.abortedTurnId)}finally{r.stopInFlightRef.current=!1}return}const W=r.pendingSubmissionRef.current;if(W&&!r.stopInFlightRef.current){r.stopInFlightRef.current=!0;try{const T=await W.outcomePromise;if(r.sessionRef.current?.sessionId!==B||r.sessionGenerationRef.current!==O)return;let D=null;if(T.kind==="accepted")D=T.turnId;else if(T.kind==="adopt-active")D=T.activeTurn.turnId;else{if(T.kind==="ambiguous")return;r.stopRequestedRef.current=!1;return}if(!D)return;const M=Jn(r);Mv(M);const w=Zg(M,{postAbort:()=>{},notice:z()});An(r,M),w.abortedTurnId&&await F(B,O,w.abortedTurnId)}finally{r.stopInFlightRef.current=!1}}},[r,z,F]);return k.useEffect(()=>{const B=!!r.pendingSubmissionRef.current||r.submitInFlightRef.current||r.stopRequestedRef.current||!!r.activeTurnIdRef.current;if(!l||!I&&!B)return;const O=l.sessionId,U=r.sessionGenerationRef.current;let _=!1;const W=async()=>{try{const w=await fetch(Yg(i,O),{credentials:"include"}),re=await w.json().catch(()=>({}));if(_||!w.ok||r.sessionRef.current?.sessionId!==O||r.sessionGenerationRef.current!==U)return;const de=re.state,Y=r.pendingSubmissionRef.current;if(Y){const Be=oE({clientRequestId:Y.clientRequestId,state:de}),Xe=Jn(r),Ye=vE(Xe,Be,de,{markIdle:()=>G(O,U,r.assistantIdRef.current),onAutoAbort:at=>{F(O,U,at)}});if(An(r,Xe),Ye==="bound"){x(!0);return}if(Ye==="released"||!Y.acceptedTurnId&&!Xe.pendingSubmission?.acceptedTurnId)return}const ce=de?.activeTurn?.turnId??de?.activeTurnId??null;r.activeTurnIdRef.current=ce;const he=Us(de),pe=r.pendingSubmissionRef.current;if(pe){const Be=de?.latestTurn?.clientRequestId===pe.clientRequestId&&tr(de?.latestTurn?.state),Xe=de?.activeTurn?.clientRequestId===pe.clientRequestId&&tr(de?.activeTurn?.state);if(Be||Xe){const Ye=Xe?de?.activeTurn?.turnId??null:de?.latestTurn?.turnId??pe.acceptedTurnId??null,at=Jn(r);Kg(at,{clientRequestId:pe.clientRequestId,turnId:Ye,markIdle:!he}),An(r,at),he||G(O,U,r.assistantIdRef.current);return}}if(he)return;const ye=r.assistantIdRef.current;if(ce&&!(tr(de?.activeTurn?.state)||tr(de?.activeTurnState)))return;ce&&r.settledTurnIdsRef.current.add(ce);const Ce=pe?.clientRequestId;if(Ce){const Be=Jn(r);Kg(Be,{clientRequestId:Ce,turnId:ce,markIdle:!0}),An(r,Be)}else A();G(O,U,ye)}catch{}},T=()=>{document.visibilityState==="visible"&&W()},D=()=>{W()},M=window.setInterval(()=>{W()},15e3);return document.addEventListener("visibilitychange",T),window.addEventListener("online",D),W(),()=>{_=!0,window.clearInterval(M),document.removeEventListener("visibilitychange",T),window.removeEventListener("online",D)}},[i,r,l,I,G,A,F]),k.useEffect(()=>{if(!l)return;const B=r.sessionGenerationRef.current;return E(l.sessionId,B),()=>{const O=r.eventsStreamStateRef.current;O?.sessionId===l.sessionId&&O.generation===B&&(r.reconnectAbortRef.current?.abort(),r.reconnectAbortRef.current=null,r.eventsStreamStateRef.current=null)}},[l,p,r,E]),{sendPrompt:le,handleStop:X,openEventsStream:K}}function TE(t){const{origin:i,refs:r,thread:l,setError:o}=t,{interview:d,setInterview:u}=l,[h,g]=k.useState(""),p=k.useCallback(async()=>{const S=r.sessionRef.current;if(!S)return;const x=window.prompt("Task ID(例如 2026-07-26-my-task)")?.trim();if(!x)return;const C=await fetch(`${i}/api/operator/v1/chat/sessions/${S.sessionId}/interviews`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Kt()},credentials:"include",body:JSON.stringify({taskId:x})}),I=await C.json();if(!C.ok){o(I.error?.message??`HTTP ${C.status}`);return}u({interviewSessionId:I.interview?.sessionId,taskId:x,state:I.interview?.state,question:I.question,draft:I.draft?.draft,draftSha256:I.draft?.draftSha256,assessment:I.assessment})},[i,r,u,o]),v=k.useCallback(async S=>{const x=r.sessionRef.current;if(!x||!d?.interviewSessionId||!d.question)return;const C=await fetch(`${i}/api/operator/v1/chat/sessions/${x.sessionId}/interviews/${d.interviewSessionId}/answers`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Kt()},credentials:"include",body:JSON.stringify({questionId:d.question.id,response:S,...S==="override"?{text:h}:{}})}),I=await C.json();if(!C.ok){o(I.error?.message??`HTTP ${C.status}`);return}u(H=>({...H??{},state:I.interview?.state,question:I.question,draft:I.draft?.draft,draftSha256:I.draft?.draftSha256,assessment:I.assessment,taskKindRecommendation:I.taskKindRecommendation??H?.taskKindRecommendation})),g("")},[i,r,d,h,u,o]),y=k.useCallback(async()=>{const S=r.sessionRef.current;if(!S||!d?.interviewSessionId||!d.taskKindRecommendation)return;const x=await fetch(`${i}/api/operator/v1/chat/sessions/${S.sessionId}/interviews/${d.interviewSessionId}/task-kind/confirm`,{method:"POST",headers:{"Content-Type":"application/json","x-loop-console-confirmation":Kt()},credentials:"include",body:JSON.stringify({taskKind:d.taskKindRecommendation})}),C=await x.json();if(!x.ok){o(C.error?.message??`HTTP ${x.status}`);return}u(I=>({...I??{},confirmedTaskKind:I?.taskKindRecommendation,taskKindRecommendation:void 0,draft:C.draft?.draft,draftSha256:C.draft?.draftSha256,assessment:C.assessment}))},[i,r,d,u,o]);return{interviewAnswer:h,setInterviewAnswer:g,startInterview:p,answerInterview:v,confirmTaskKind:y}}function RE(t){const{origin:i,refs:r,sessionId:l,setError:o}=t,[d,u]=k.useState({}),[h,g]=k.useState(new Set),[p,v]=k.useState(null),[y,S]=k.useState([]),[x,C]=k.useState(null),[I,H]=k.useState(!1),R=k.useCallback(async(K="")=>{try{v(null);const E=await fetch(`${i}/api/operator/v1/chat/repo/tree?path=${encodeURIComponent(K)}`,{credentials:"include"}),$=await E.json();if(!E.ok)throw new Error($.error?.message??"无法读取仓库目录");u(te=>({...te,[K]:$.data?.entries??[]}))}catch(E){v(E instanceof Error?E.message:String(E))}},[i]);k.useEffect(()=>{R()},[R]);const N=k.useCallback(async K=>{H(!0);try{const E=await fetch(`${i}/api/operator/v1/chat/repo/file?path=${encodeURIComponent(K)}`,{credentials:"include"}),$=await E.json();if(!E.ok||!$.data)throw new Error($.error?.message??"无法预览文件");S(te=>{const ue=[...te.filter(F=>F.path!==$.data.path),$.data],z=r.sessionRef.current?.sessionId;return z&&window.localStorage.setItem(`${kn}.previews.${z}`,JSON.stringify(ue.map(F=>F.path))),ue}),C($.data.path)}catch(E){o(E instanceof Error?E.message:String(E))}finally{H(!1)}},[i,r,o]);k.useEffect(()=>{if(!l)return;let K=[];try{const E=JSON.parse(window.localStorage.getItem(`${kn}.previews.${l}`)??"[]");Array.isArray(E)&&(K=E.filter($=>typeof $=="string").slice(0,10))}catch{}K.length&&Promise.all(K.map(async E=>{const $=await fetch(`${i}/api/operator/v1/chat/repo/file?path=${encodeURIComponent(E)}`,{credentials:"include"});if($.ok)return(await $.json()).data})).then(E=>{if(r.sessionRef.current?.sessionId!==l)return;const $=E.filter(te=>!!te);S($),C($.at(-1)?.path??null)})},[i,l,r]);const A=k.useCallback(K=>{g(E=>{const $=new Set(E);return $.has(K)?$.delete(K):$.add(K),$}),d[K]||R(K)},[d,R]),G=k.useCallback(K=>{S(E=>{const $=E.filter(te=>te.path!==K);return l&&window.localStorage.setItem(`${kn}.previews.${l}`,JSON.stringify($.map(te=>te.path))),$}),C(E=>E===K?y.find($=>$.path!==K)?.path??null:E)},[y,l]);return{tree:d,expandedDirs:h,treeError:p,previews:y,activePreviewPath:x,setActivePreviewPath:C,previewLoading:I,setPreviews:S,loadTree:R,openPreview:N,closePreview:G,toggleDir:A}}function EE(t){const{origin:i,sessionId:r,refs:l,setError:o}=t,[d,u]=k.useState(""),[h,g]=k.useState([]),[p,v]=k.useState([]),[y,S]=k.useState(!1),x=k.useCallback(M=>{if(typeof M=="function"){u(w=>{const re=M(w);return S(re.startsWith("/")),re});return}u(M),S(M.startsWith("/"))},[]),[C,I]=k.useState(0),[H,R]=k.useState([]),[N,A]=k.useState(!1),[G,K]=k.useState(null),[E,$]=k.useState(0),te=k.useRef(null),ue=k.useRef(void 0),z=k.useCallback(M=>{x(M),S(M.startsWith("/")),I(0)},[]),F=k.useCallback(async()=>{if(!r){R([]),K(null),A(!1);return}const M=r;ue.current=M,A(!0),K(null);try{const w=await fetch(`${i}/api/operator/v1/chat/sessions/${encodeURIComponent(M)}/commands`,{credentials:"include"});if(ue.current!==M)return;if(!w.ok){K("动态命令加载失败"),R([]);return}const re=await w.json().catch(()=>null),de=[];for(const Y of re?.commands??[]){const ce=Y.source;if(ce!=="extension"&&ce!=="prompt"&&ce!=="skill")continue;const he=String(Y.command??Y.name??"").trim();he&&de.push({command:he.startsWith("/")?he:`/${he}`,label:String(Y.label??Y.name??he),description:String(Y.description??""),source:ce})}if(ue.current!==M)return;R(de)}catch{if(ue.current!==M)return;K("动态命令加载失败"),R([])}finally{ue.current===M&&A(!1)}},[i,r]);k.useEffect(()=>{R([]),K(null),r&&(!y&&E===0||F())},[r,y,E,F]);const V=k.useCallback(()=>{$(M=>M+1),F()},[F]);k.useEffect(()=>{if(!r)return;const M=d.slice(0,te.current?.selectionStart??d.length).match(/(?:^|\s)@([^\s@]*)$/);if(!M){g([]);return}const w=window.setTimeout(()=>{fetch(`${i}/api/operator/v1/chat/sessions/${encodeURIComponent(r)}/files?q=${encodeURIComponent(M[1]??"")}`).then(re=>re.ok?re.json():null).then(re=>g((re?.files??[]).map(de=>de.path)))},150);return()=>window.clearTimeout(w)},[i,r,d]);const le=k.useCallback(M=>{const w=te.current?.selectionStart??d.length,de=d.slice(0,w).search(/@[^\s@]*$/);de<0||(x(`${d.slice(0,de)}@${M} ${d.slice(w)}`),g([]))},[d]),X=k.useCallback(M=>{for(const w of Array.from(M).slice(0,4)){if(!w.type.startsWith("image/")||w.size>5*1024*1024){o("图片仅支持 PNG/JPEG/GIF/WebP,单张不超过 5 MiB");continue}const re=new FileReader;re.onload=()=>{const de=String(re.result??""),Y=de.slice(de.indexOf(",")+1);v(ce=>[...ce,{name:w.name,type:"image",mimeType:w.type,data:Y}].slice(0,4))},re.readAsDataURL(w)}},[o]),B=k.useCallback(M=>{v(w=>w.filter(re=>re!==M))},[]);k.useLayoutEffect(()=>{const M=te.current;M&&(M.style.height="auto",M.style.height=`${Math.min(M.scrollHeight,280)}px`)},[d]),k.useEffect(()=>{if(!r)return;const M=window.setTimeout(()=>{fetch(`${i}/api/operator/v1/chat/sessions/${encodeURIComponent(r)}/draft`,{method:"PUT",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Kt()},body:JSON.stringify({text:d})})},400);return()=>window.clearTimeout(M)},[i,r,d]);const O=k.useMemo(()=>wS(H),[H]),U=k.useMemo(()=>d.startsWith("/")?CS(O,d):[],[d,O]),_=k.useCallback(()=>{l.isComposingRef.current=!0},[l]),W=k.useCallback(()=>{l.isComposingRef.current=!1,l.compositionEndedAtRef.current=Date.now()},[l]),T=k.useCallback(()=>l.isComposingRef.current,[l]),D=k.useCallback(()=>Date.now()-l.compositionEndedAtRef.current<100,[l]);return k.useEffect(()=>{K1({origin:i,sessionId:r,refs:l})},[i,r,l]),{input:d,setInput:x,handleInputChange:z,fileOptions:h,pendingImages:p,setPendingImages:v,addImagesFromFiles:X,removeImage:B,shortcutOpen:y,setShortcutOpen:S,shortcutIndex:C,setShortcutIndex:I,filteredShortcuts:U,dynamicCommandsLoading:N,dynamicCommandsError:G,retryDynamicCommands:V,insertFileReference:le,textareaRef:te,onCompositionStart:_,onCompositionEnd:W,isComposingNow:T,recentlyComposedNow:D}}const NE=[{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 AE(t){if(!t)return null;const i=(t.tools??[]).map(l=>({toolId:l.toolId,action:l.action,description:l.description,kind:l.kind??"read",cli:l.cli})),r=[...NE];return{explore:r,operator:i,total:r.length+i.length}}let IE=0;function DE(t){const{origin:i,session:r,setSession:l,refs:o,setError:d}=t,[u,h]=k.useState(null),[g,p]=k.useState([]),[v,y]=k.useState("idle"),[S,x]=k.useState(null),[C,I]=k.useState([]),[H,R]=k.useState(null),[N,A]=k.useState(null),[G,K]=k.useState(!1),[E,$]=k.useState(!1),[te,ue]=k.useState(!1),z=k.useRef(null),F=k.useRef(null),V=k.useRef(0);k.useEffect(()=>{V.current=-1,K(!1)},[r?.sessionId,K]);const X=Jr().snapshot,B=k.useCallback(async()=>{try{const Y=await fetch(`${i}/api/operator/v1/chat/capabilities`);if(!Y.ok)return;const ce=await Y.json();h(ce)}catch{}},[i]);k.useEffect(()=>{B()},[B]);const O=k.useCallback(async()=>{if(!r){p([]),y("idle");return}const Y=r.sessionId;y("loading"),x(null);try{const ce=await fetch(`${i}/api/operator/v1/chat/sessions/${encodeURIComponent(Y)}/models`,{credentials:"include"}),he=await ce.json().catch(()=>null);if(o.sessionRef.current?.sessionId!==Y)return;if(!ce.ok||!he){y("error"),x(he?.error?.message??`模型列表读取失败(HTTP ${ce.status})`);return}p(he.models??[]),I(he.thinkingLevels??[]),y("ready")}catch(ce){if(o.sessionRef.current?.sessionId!==Y)return;y("error"),x(ce instanceof Error?ce.message:String(ce))}},[i,r,o]);k.useEffect(()=>{O()},[O]),k.useEffect(()=>{if(!r){R(null),A(null);return}const Y=r.sessionId,ce=`${i}/api/operator/v1/chat/sessions/${encodeURIComponent(Y)}`;A(null),fetch(`${ce}/runtime-context`,{credentials:"include"}).then(async he=>{const pe=await he.json().catch(()=>null);if(!pe?.context||o.sessionRef.current?.sessionId!==Y)return;const ye=pe.context,Ce=Z1().snapshot;R(Be=>P1(Be,ye,Ce,Y))}).catch(()=>{o.sessionRef.current?.sessionId===Y&&A("注入上下文读取失败,请重试")})},[i,r?.sessionId,o]),k.useEffect(()=>{if(!X||!r||X.sessionId!==r.sessionId)return;const Y=cy(X);l(ce=>{if(!ce||ce.sessionId!==X.sessionId||zR(ce,Y))return ce;const he=Ov(ce,Y);return o.sessionRef.current=he,he}),R(ce=>{if(!ce)return ce;const he={...ce,...Y.model?{model:Y.model}:{},...Y.thinkingLevel?{thinkingLevel:Y.thinkingLevel}:{}};return he.model?.provider===ce.model?.provider&&he.model?.modelId===ce.model?.modelId&&he.thinkingLevel===ce.thinkingLevel?ce:he})},[X,r?.sessionId,o,l,R]);const U=k.useCallback(async Y=>{if(!r)return!1;const ce=r.sessionId,he=++IE;V.current=he,hy({type:"mutation-start",token:he}),K(!0);try{const pe=await fetch(`${i}/api/operator/v1/chat/sessions/${encodeURIComponent(r.sessionId)}/model`,{method:"POST",credentials:"include",headers:{"content-type":"application/json","x-loop-console-confirmation":Kt()},body:JSON.stringify(Y)}),ye=await pe.json().catch(()=>({}));return V.current!==he?!1:pe.ok?!ye.session||o.sessionRef.current?.sessionId!==ce?!1:X1(he,ce,ye.snapshot):(o.sessionRef.current?.sessionId===ce&&(d(ye.error?.message??`模型或思考等级切换失败(HTTP ${pe.status})`),Qr()),!1)}catch(pe){return V.current!==he||o.sessionRef.current?.sessionId===ce&&d(pe instanceof Error?pe.message:String(pe)),!1}finally{Q1(he,ce,o)&&V.current===he&&K(!1)}},[i,r,o,l,d]);k.useEffect(()=>{if(!E)return;const Y=he=>{const pe=z.current;pe&&he.target instanceof Node&&!pe.contains(he.target)&&$(!1)},ce=he=>{he.key==="Escape"&&$(!1)};return document.addEventListener("mousedown",Y),document.addEventListener("keydown",ce),()=>{document.removeEventListener("mousedown",Y),document.removeEventListener("keydown",ce)}},[E]),k.useEffect(()=>{if(!te)return;const Y=he=>{const pe=F.current;pe&&he.target instanceof Node&&!pe.contains(he.target)&&ue(!1)},ce=he=>{he.key==="Escape"&&ue(!1)};return document.addEventListener("mousedown",Y),document.addEventListener("keydown",ce),()=>{document.removeEventListener("mousedown",Y),document.removeEventListener("keydown",ce)}},[te]);const _=k.useMemo(()=>AE(u),[u]),W=X?(X.models??[]).map(Y=>({provider:Y.provider,id:Y.id,...Y.name?{name:Y.name}:{},...Y.hasCredentials!==void 0?{hasCredentials:Y.hasCredentials}:{}})):g,T=X?.thinkingLevels?.length?X.thinkingLevels.map(Y=>Y.value):C,D=r?.model??H?.model,M=D?Hs(D.provider,D.modelId):"",w=X?.selection?.thinkingSelection??r?.thinkingLevel??"",re=X?.selection?.effectiveThinkingLevel??r?.thinkingLevel??void 0,de=!M||W.some(Y=>Hs(Y.provider,Y.id)===M);return{capabilities:u,models:W,modelsStatus:v,modelsError:S,onRetryModels:()=>{O()},thinkingLevels:T,runtimeContext:H,runtimeContextError:N,onRetryRuntimeContext:()=>{A(null),Qr()},toolsOpen:E,setToolsOpen:$,runtimeContextOpen:te,setRuntimeContextOpen:ue,toolsMenuRef:z,runtimeContextMenuRef:F,switchRuntime:U,switching:G,toolCatalog:_,activeModel:D,activeModelRef:M,activeThinkingLevel:w,effectiveThinkingLevel:re,activeModelListed:de}}const Jg={comfortableMin:1450,compactMin:1100};function OE(t){return!Number.isFinite(t)||t<0?"narrow":t>=Jg.comfortableMin?"comfortable":t>=Jg.compactMin?"compact":"narrow"}function ME(t){return t==="compact"||t==="narrow"}const zE={mode:"comfortable",width:1600,landingDensity:"comfortable",emptyHeight:720};function _E(t,i){const[r,l]=k.useState(zE);return k.useEffect(()=>{const o=t.current;if(!o||typeof ResizeObserver>"u")return;const d=()=>{const v=o.getBoundingClientRect().width,y=i?.current??null,S=y?y.getBoundingClientRect().height:720;l({mode:OE(v),width:v,landingDensity:TS(S),emptyHeight:S})};d();const u=new ResizeObserver(()=>d());u.observe(o);let h=null;const g=()=>{const v=i?.current??null;v&&v!==h&&(h&&u.unobserve(h),u.observe(v),h=v,d())};g();const p=window.setInterval(g,250);return()=>{window.clearInterval(p),u.disconnect()}},[t,i]),r}function LE(t="none"){return{active:t}}function Wa(t,i){return{active:i}}function Ei(t={active:"none"}){return{active:"none"}}function BE(t){return{sidebarDrawerOpen:t.active==="sidebar-drawer",processOpen:t.active==="process",runtimeContextOpen:t.active==="runtime-context",toolsOpen:t.active==="tools"}}function HE(t){const{origin:i,surface:r="standalone"}=t,l=r==="workspace",o=VR(),[d,u]=k.useState(null),[h,g]=k.useState(null),[p,v]=k.useState(!0),[y,S]=k.useState(!0),[x,C]=k.useState(()=>LE()),[I,H]=k.useState(null),[R,N]=k.useState(0),A=k.useRef(null),G=k.useRef(null),K=k.useRef(null),E=k.useRef(null),$=k.useRef(null),te=k.useRef(null),ue=k.useRef(null),z=k.useRef(()=>{}),F=_E(K,E),V=F.mode,le=BE(x),X=le.processOpen,B=ME(V)&&X,O=le.runtimeContextOpen;k.useEffect(()=>{V==="comfortable"&&x.active==="sidebar-drawer"&&C(ie=>ie.active==="sidebar-drawer"?Ei(ie):ie)},[V,x.active]);const U=k.useCallback(ie=>{C(je=>{const ee=je.active==="process";return(typeof ie=="function"?ie(ee):ie)?Wa(je,"process"):je.active==="process"?Ei(je):je})},[]),_=EE({origin:i,sessionId:h?.sessionId,refs:o,setError:u}),W=RE({origin:i,refs:o,sessionId:h?.sessionId,setError:u}),T=k.useRef(()=>{}),D=k.useCallback(ie=>{T.current(ie)},[]),M=eE({origin:i,refs:o,sessionId:h?.sessionId,setError:u,onReconcile:D});T.current=ie=>{const je=o.sessionRef.current?.sessionId;je&&(async()=>await M.recoverSession(je)?(H({id:Date.now(),message:"已自动恢复:会话事件已重新同步,可继续对话。"}),N(fe=>fe+1)):H({id:Date.now(),message:"自动恢复未完成,将在重连时重试。"}))()};const w=rE({origin:i,refs:o,setSession:g,thread:M,composer:{setInput:_.setInput,setPendingImages:_.setPendingImages},browser:{setPreviews:W.setPreviews,setActivePreviewPath:W.setActivePreviewPath},setError:u,setProcessOpen:U,setAutoScroll:S}),re=jE({origin:i,refs:o,session:h,thread:M,composer:{setInput:_.setInput,setPendingImages:_.setPendingImages},setError:u,setNotice:H,setAutoScroll:S,recoveryVersion:R,watchSessionTitle:w.watchSessionTitle}),de=TE({origin:i,refs:o,thread:M,setError:u}),Y=DE({origin:i,session:h,setSession:g,refs:o,setError:u});k.useEffect(()=>{Y.runtimeContextOpen&&x.active!=="runtime-context"?C(ie=>Wa(ie,"runtime-context")):!Y.runtimeContextOpen&&x.active==="runtime-context"&&C(ie=>Ei(ie))},[Y.runtimeContextOpen,x.active]),k.useEffect(()=>{x.active!=="runtime-context"&&Y.runtimeContextOpen&&Y.setRuntimeContextOpen(!1)},[x.active]);const{sendPrompt:ce,handleStop:he}=re,pe=k.useCallback(async ie=>{await ce(ie,_.pendingImages)},[ce,_.pendingImages]);z.current=ie=>{pe(ie)};const ye=k.useCallback(()=>{_.textareaRef.current?.focus()},[_.textareaRef]),Ce=k.useCallback(()=>{C(ie=>ie.active==="sidebar-drawer"?Ei(ie):ie)},[]),Be=k.useCallback(()=>{Y.setRuntimeContextOpen(!1),C(ie=>Wa(ie,"sidebar-drawer"))},[Y.setRuntimeContextOpen]),Xe=k.useCallback(ie=>{w.activateSession(ie),Ce(),queueMicrotask(()=>{G.current?.focus?.(),ye()})},[w,Ce,ye]),Ye=k.useCallback(ie=>{_.setInput(je=>`${je}${je&&!je.endsWith(" ")?" ":""}@${ie} `),Ce(),queueMicrotask(()=>ye())},[_,Ce,ye]),at=k.useCallback(ie=>{W.openPreview(ie),Ce()},[W,Ce]),sn=k.useCallback(()=>{const ie=G.current;if(!ie)return;const je=ie.scrollHeight-ie.scrollTop-ie.clientHeight<80;S(je)},[]);k.useEffect(()=>{y&&A.current?.scrollIntoView({behavior:"smooth",block:"end"})},[M.messages,y,M.streaming]),k.useEffect(()=>{if(!I)return;const ie=window.setTimeout(()=>H(null),6e3);return()=>window.clearTimeout(ie)},[I]);const kt=k.useCallback(ie=>{const je=SS(ie),ee=ie.trim(),fe=ee.split(/\s+/,1)[0]?.toLowerCase()??"";if(_.setInput(""),_.setShortcutOpen(!1),!je)return;if(je.action==="focus:interview"){if(!h){H({id:Date.now(),message:"请先创建或打开一个会话,再开始 Interview"});return}de.startInterview();return}const be=kS(je.action);if(be){t.onNavigateWorkspace?.(be,{});return}if(je.action==="compact"){w.compactSession();return}if(je.action==="name"){const Re=ee.slice(fe.length).trim(),Ne=h?.sessionId;if(!Ne){u("当前没有可重命名的会话");return}const Se=w.sessionList.find(Ie=>Ie.sessionId===Ne),qe=Re||window.prompt("会话名称",Se?.title??Se?.displayTitle??"")||"";qe.trim()&&w.updateSession(Ne,{title:qe.trim()});return}if(je.action==="session"){const Re=h?.sessionId??"(none)",Ne=w.sessionList.find(qe=>qe.sessionId===Re),Se=Ne?.title||Ne?.displayTitle||"未命名对话";H({id:Date.now(),message:`当前会话:${Se}(${Re})`});return}if(je.action==="copy"){const Ne=[...M.visibleMessages??[]].reverse().find(Se=>Se.role==="assistant");if(!Ne?.text){u("没有可复制的助手消息");return}navigator.clipboard?.writeText(Ne.text).then(()=>H({id:Date.now(),message:"已复制最后一条助手消息"}),()=>u("复制失败"));return}if(je.action==="unknown"){z.current(ee);return}u(`未知 shortcut:${je.command}`)},[_.setInput,_.setShortcutOpen,de.startInterview,t.onNavigateWorkspace,w,h,M.visibleMessages]),Cn=k.useCallback(ie=>{if(_.shortcutOpen&&_.filteredShortcuts.length>0&&!ie.nativeEvent.isComposing){if(ie.key==="ArrowDown"||ie.key==="ArrowUp"){ie.preventDefault(),_.setShortcutIndex(fe=>(fe+(ie.key==="ArrowDown"?1:_.filteredShortcuts.length-1))%_.filteredShortcuts.length);return}if(ie.key==="Escape"){ie.preventDefault(),_.setShortcutOpen(!1);return}if(ie.key==="Enter"){ie.preventDefault(),kt(_.filteredShortcuts[_.shortcutIndex]?.command??_.filteredShortcuts[0].command);return}}const je=Date.now()-o.compositionEndedAtRef.current<100,ee=o.isComposingRef.current||ie.nativeEvent.isComposing;if(ie.key==="Enter"&&!ie.shiftKey&&(ee||je)){je&&ie.preventDefault();return}if(ie.key==="Enter"&&!ie.shiftKey){ie.preventDefault(),pe(_.input);return}},[_.input,_.shortcutOpen,_.filteredShortcuts,_.shortcutIndex,_.setShortcutIndex,_.setShortcutOpen,o,pe,kt]),Rt=M.visibleMessages.length>0||M.operationCards.length>0||M.humanGateCards.length>0||M.artifactCards.length>0||!!M.interview,Lt=t.readiness==="setup-required"?"⚠ Pi 未就绪(setup-required):Chat 需要先完成 Pi 认证 / 模型配置。":t.readiness==="degraded"?"⚠ Pi 降级(degraded):可继续对话,但部分能力不可用。":null,Te=c.jsx(vS,{origin:i,open:p,layoutMode:V,drawerOpen:le.sidebarDrawerOpen,activeSessionId:h?.sessionId,sessions:w.sessionList,tree:W.tree,expanded:W.expandedDirs,treeError:W.treeError,onToggleOpen:()=>v(ie=>!ie),onOpenDrawer:Be,onCloseDrawer:Ce,onCreate:()=>{w.createSession()},creatingSession:w.creatingSession,onActivate:ie=>{le.sidebarDrawerOpen?Xe(ie):w.activateSession(ie)},onRename:(ie,je)=>{w.updateSession(ie,{title:je})},onSetState:(ie,je)=>{w.updateSession(ie,{state:je})},onDelete:ie=>{w.deleteSession(ie)},onRefreshTree:()=>{W.loadTree()},onToggleDir:W.toggleDir,onInsert:ie=>{le.sidebarDrawerOpen?Ye(ie):_.setInput(je=>`${je}${je&&!je.endsWith(" ")?" ":""}@${ie} `)},onPreview:ie=>{le.sidebarDrawerOpen?at(ie):W.openPreview(ie)},drawerTriggerRef:$}),$e=["oc-workspace",X&&!B?"has-process":"",B?"has-process-overlay":""].filter(Boolean).join(" "),ut=ie=>c.jsx("div",{className:"oc-messages is-empty",ref:E,"data-landing-density":F.landingDensity,children:c.jsx(xy,{mode:ie,readiness:t.readiness,density:F.landingDensity,onSuggest:async je=>{w.creatingSession||(ie==="no-session"?await w.createSession()&&await pe(je):await pe(je))},disabled:w.creatingSession,onCreateSession:ie==="no-session"?()=>{w.createSession()}:void 0})});return c.jsxs("div",{className:"oc-shell",children:[l?null:c.jsxs("div",{className:"oc-banner",children:[c.jsxs("span",{className:"oc-banner-title",children:[c.jsx("span",{className:"oc-banner-dot","aria-hidden":"true"}),"对话"]}),c.jsxs("span",{className:"oc-banner-body",children:["用自然语言编排 loop-agent / agent-worker 的",c.jsx("strong",{children:"全部能力"}),"。这是 ",c.jsx("strong",{children:"Operator"})," 面:默认具备完整 Pi 工具(read/write/edit/bash/grep/find/ls)与 safe-* 探查、以及受策略约束的 operator action(ADR 0011)。",c.jsx("strong",{children:"软约束"}),":大改与高风险变更优先走受治 DAG 的 implement-pi / repair-pi 与 Human Gate,而非把 Chat 当作第二套 DAG kernel。"]})]}),Lt&&c.jsx("div",{className:"oc-alert oc-alert-warning",children:Lt}),d&&c.jsxs("div",{className:"oc-alert oc-alert-error",children:[c.jsx("strong",{children:"出错了:"}),d]}),I&&c.jsx("div",{className:"oc-alert oc-alert-warning",role:"status",children:I.message}),h?c.jsxs("div",{className:$e,ref:K,"data-layout-mode":V,children:[Te,c.jsxs("div",{className:`oc-main${Rt?"":" is-landing"}`,children:[V==="narrow"?c.jsx("div",{className:"oc-main-topbar",children:c.jsx("button",{type:"button",className:"oc-main-topbar-btn",ref:$,"aria-label":"打开会话与仓库","aria-expanded":le.sidebarDrawerOpen,onClick:()=>le.sidebarDrawerOpen?Ce():Be(),children:"会话与仓库"})}):null,c.jsx(xS,{previews:W.previews,activePath:W.activePreviewPath,loading:W.previewLoading,onActivate:W.setActivePreviewPath,onClose:W.closePreview}),Rt?c.jsx(AR,{scrollContainerRef:G,messagesEndRef:A,onScroll:sn,hasThread:Rt,readiness:t.readiness,streaming:M.streaming,streamingAssistantId:M.streamingAssistantId,messagesCount:M.messages.length,visibleCount:M.visibleMessages.length,onLoadMore:()=>M.setHistoryLimit(ie=>ie+50),turnGroups:M.turnGroups,interview:M.interview,interviewAnswer:de.interviewAnswer,onInterviewAnswerChange:de.setInterviewAnswer,onAnswerInterview:ie=>{de.answerInterview(ie)},onConfirmTaskKind:()=>{de.confirmTaskKind()},humanGateCards:M.humanGateCards,operationCards:M.operationCards,artifactCards:M.artifactCards,origin:i,sessionId:h.sessionId,onNavigateWorkspace:t.onNavigateWorkspace,onSuggest:ie=>{pe(ie)}}):ut("empty-session"),c.jsx(qR,{composer:_,streaming:M.streaming,hasThread:Rt,onSend:ie=>{pe(ie)},onStop:he,onKeyDown:Cn,onRunShortcut:kt,models:Y.models,activeModel:Y.activeModel,activeModelRef:Y.activeModelRef,activeModelListed:Y.activeModelListed,activeThinkingLevel:Y.activeThinkingLevel,thinkingLevels:Y.thinkingLevels,onSwitchRuntime:ie=>{Y.switchRuntime(ie)},usage:M.usage,unread:M.unread,onCompact:()=>{w.compactSession()},processSummary:M.processSummary,processOpen:X,onToggleProcess:()=>{C(ie=>ie.active==="process"?Ei(ie):Wa(ie,"process")),X||Y.setRuntimeContextOpen(!1)},processTriggerRef:te,runtimeContext:Y.runtimeContext,runtimeContextOpen:O,onToggleRuntimeContext:()=>{O?(Y.setRuntimeContextOpen(!1),C(ie=>ie.active==="runtime-context"?Ei(ie):ie)):(Y.setRuntimeContextOpen(!0),C(ie=>Wa(ie,"runtime-context")))},runtimeContextTriggerRef:ue})]}),O&&Y.runtimeContext?c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"oc-overlay-backdrop is-runtime-context","aria-label":"关闭注入上下文遮罩",onClick:()=>{Y.setRuntimeContextOpen(!1),C(ie=>ie.active==="runtime-context"?Ei(ie):ie)}}),c.jsx(FR,{panelOnly:!0,open:O,onToggle:()=>{},onClose:()=>{Y.setRuntimeContextOpen(!1),C(ie=>ie.active==="runtime-context"?Ei(ie):ie)},context:Y.runtimeContext,triggerRef:ue})]}):null,X&&c.jsxs(c.Fragment,{children:[B?c.jsx("button",{type:"button",className:"oc-overlay-backdrop is-process","aria-label":"关闭工具调用记录遮罩",onClick:()=>U(!1)}):null,c.jsx(GR,{toolCalls:M.toolCalls,overlay:B,onClose:()=>U(!1),triggerRef:te})]})]}):c.jsxs("div",{className:$e,ref:K,"data-layout-mode":V,children:[Te,c.jsxs("div",{className:"oc-main is-landing",children:[V==="narrow"?c.jsx("div",{className:"oc-main-topbar",children:c.jsx("button",{type:"button",className:"oc-main-topbar-btn",ref:$,"aria-label":"打开会话与仓库","aria-expanded":le.sidebarDrawerOpen,onClick:()=>le.sidebarDrawerOpen?Ce():Be(),children:"会话与仓库"})}):null,ut("no-session")]})]})]})}function UE(t){return t==="validate"||t==="apply"||t==="spine"?"contract":t}const zv="X-Loop-Console-Confirmation",_v="agent-worker console doctor --repo .",ad=[{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)"}],Lv={"setup-required":"需要设置",ready:"已就绪",degraded:"降级可用",unknown:"未知"},qE={idle:"未探测",match:"匹配",mismatch:"仓库不匹配",unavailable:"不可用"},Bv={low:"低",medium:"中",high:"高"},Hv={"validation-failed":"校验失败","contract-drift":"契约漂移","runtime-mismatch":"运行时不匹配","pause-on-human":"等待人工","verification-failed":"验证失败","orphan-unknown":"孤立/未知","terminal-failed":"已终止(失败)","terminal-succeeded":"已终止(成功)","needs-reconcile":"需要对账"},GE={idle:"空闲","not-started":"未开始","not-run":"未运行","n/a (MVP)":"不适用(MVP)",accepted:"已接受",succeeded:"已成功",running:"运行中",ran:"已执行"};function Ns(t){return GE[t]??t}function Uv(){return window.__CONSOLE_CONFIRMATION_TOKEN__??""}function Fs(t){return`${t}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}async function Id(t,i={},r){const l={"Content-Type":"application/json",[zv]:Uv()},o=await fetch("/api/operator/v1/operations",{method:"POST",credentials:"same-origin",headers:l,body:JSON.stringify({action:t,actionParams:i,...r?{clientRequestId:r}:{}})});let d={};try{d=await o.json()}catch{d={ok:!1,error:{code:"INVALID_INPUT",message:"操作响应不是合法 JSON"}}}return{status:o.status,body:d}}const $E=new Set(["runDag","dagRerun","dagReconcileRun","standaloneTaskRerun"]);function Fc(t){const i=(t.blockedReasons??[]).map(String),r=(t.blockingNodes??[]).map(o=>[o.nodeId,o.reasonCode].filter(Boolean).join(":")),l=[...i,...r].filter(Boolean);return l.length===0?"从节点重跑不具备安全资格(子图含 writer / unsafe shell / decision-gate 等)。可改用「完整重跑任务」,或另选只读安全子图的起始节点。":`从节点重跑不具备安全资格:${l.slice(0,6).join("; ")}${l.length>6?"…":""}。可改用「完整重跑任务」。`}async function Wg(t,i=9e4){const r=Date.now();for(;Date.now()-r<i;){const l=await fetch(`/api/operator/v1/operations/${encodeURIComponent(t)}`,{credentials:"same-origin"});if(!l.ok)return null;const o=await l.json(),d=o.operation??o,u=d.state??"";if(u==="succeeded"||u==="failed"||u==="needs-reconcile"||u==="timed-out")return d;await new Promise(h=>setTimeout(h,250))}return{state:"needs-reconcile",errorMessage:"等待操作结果超时"}}const FE={};function VE(){const[t,i]=k.useState(()=>Cy({env:FE?.VITE_OPERATOR_CHAT_DEFAULT_LANDING,storage:window.localStorage,location:window.location})),[r,l]=k.useState(null),[o,d]=k.useState("setup-required"),[u,h]=k.useState(null),[g,p]=k.useState(null),[v,y]=k.useState(!1),[S,x]=k.useState(!1),[C,I]=k.useState(null),[H,R]=k.useState(null),[N,A]=k.useState(null),[G,K]=k.useState(null),[E,$]=k.useState({command:"idle",dag:"not-started",verification:"not-run",promote:"n/a (MVP)"}),[te,ue]=k.useState("setup"),z=k.useCallback(B=>{ue(O=>UE(typeof B=="function"?B(O):B))},[]),F=o==="setup-required",V=o==="degraded",le=k.useCallback(B=>{B!==t&&(I(null),A(null),R(null)),i(B)},[t]),X=k.useCallback(async()=>{try{const O=await(await fetch("/api/health")).json();l(O);const U=O.piReadiness??"setup-required";d(U),p(null),z(U==="ready"||U==="degraded"?_=>_==="setup"?"import-prd":_:"setup")}catch(B){p(B instanceof Error?B.message:String(B))}try{const O=await(await fetch("/api/operator/v1/readiness")).json();h(O),O.state&&d(O.state)}catch{}},[z]);return{nav:t,setNav:i,selectNav:le,health:r,readiness:o,setReadiness:d,readinessReport:u,healthError:g,loadHealth:X,busy:v,setBusy:y,observeBusy:S,setObserveBusy:x,opError:C,setOpError:I,opMessage:H,setOpMessage:R,opErrorCode:N,setOpErrorCode:A,lastOpState:G,setLastOpState:K,layers:E,setLayers:$,step:te,setStep:z,setupBlocked:F,degraded:V}}const PE={bootstrapFromPrd:"正在导入 PRD 并创建任务:归档文档 → 确定性解析 → 语义结构化(约 10–60 秒,请勿关闭页面)",importPrd:"正在导入 PRD:归档文档 → 确定性解析 → 语义结构化(约 10–60 秒,请勿关闭页面)",interviewStart:"正在启动需求访谈…",interviewTurn:"正在提交访谈回答…",interviewSkip:"正在跳过访谈并生成评估…",contractValidate:"正在校验契约草稿…",contractDiff:"正在计算契约差异…",contractApply:"正在应用契约(写入需求与执行约束)…",spineCheck:"正在运行 Spine 审计…",dagGenerate:"正在生成 DAG…"};function YE(t){const{shell:i,applyInterviewPayload:r}=t,{setBusy:l,setOpError:o,setOpErrorCode:d,setOpMessage:u,setReadiness:h,setStep:g,setNav:p,setLastOpState:v,setLayers:y,step:S,nav:x}=i,[C,I]=k.useState(null),[H,R]=k.useState([]),[N,A]=k.useState(!0),G=k.useRef(null),[K,E]=k.useState(null),[$,te]=k.useState(null),ue=k.useCallback(async(X,B={},O)=>{l(!0),o(null),d(null),u(PE[X]??null);try{const{status:U,body:_}=await Id(X,B,O?.clientRequestId);if(U===412||_.error?.code==="PI_SETUP_REQUIRED")return o(Yr(_.error?.message??"Pi 未就绪或已降级:该操作暂不可用")),d(_.error?.code??"PI_SETUP_REQUIRED"),h("setup-required"),g("setup"),p("models"),_;if(U>=400||_.ok===!1)return o(Yr(_.error?.message??_.message??`操作失败(HTTP ${U})`)),d(_.error?.code??String(U)),v(_.state??`failed:${U}`),y(D=>({...D,command:_.error?.message??`failed:${_.error?.code??U}`})),_;if(_.operationId){const D=window.localStorage.getItem(kn)?.trim();if(D&&fetch(`/api/operator/v1/chat/sessions/${encodeURIComponent(D)}/operation-links`,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json",[zv]:Uv()},body:JSON.stringify({operationId:_.operationId})}).then(M=>{M.ok||console.warn("Operator Chat operation link failed",M.status)}).catch(M=>console.warn("Operator Chat operation link failed",M)),I(_.operationId),v(_.state??"accepted"),y(M=>({...M,command:_.state??"accepted",dag:X==="runDag"?"running":M.dag})),$E.has(X)){A(!0),u(`操作已接受,后台运行中:${_.operationId}(请看事件流;可同时打开 Observe)`);const M=_.operationId;Wg(M,30*6e4).then(w=>{if(w){if(v(w.state??null),w.state==="failed"||w.state==="needs-reconcile"||w.state==="timed-out"){o(Yr(w.errorMessage??w.stderrPreview??`操作失败:${w.state}`)),d(w.errorCode??w.state??null),y(re=>({...re,command:`failed:${w.errorCode??w.state}`}));return}w.state==="succeeded"&&(u(`${X} 已成功`),y(re=>({...re,command:"succeeded"})))}})}else{u(`操作已接受:${_.operationId}`);const M=await Wg(_.operationId);if(M){if(v(M.state??null),M.state==="failed"||M.state==="needs-reconcile"||M.state==="timed-out")return o(Yr(M.errorMessage??M.stderrPreview??`操作失败:${M.state}`)),d(M.errorCode??M.state??null),y(Y=>({...Y,command:`failed:${M.errorCode??M.state}`})),{ok:!1,operationId:_.operationId,state:M.state,error:{code:M.errorCode??M.state??"INTERNAL_ERROR",message:M.errorMessage??M.stderrPreview??`操作失败:${M.state}`}};u(M.errorMessage?`${X}:${M.errorMessage}`:`${X} 已成功`),y(Y=>({...Y,command:M.state??"succeeded"}));const w=M.result??{},re={ok:!0,operationId:_.operationId,state:M.state??"succeeded",result:w};(X==="interviewStart"||X==="interviewTurn"||X==="interviewSkip")&&r(w);const de=w.confirmation;return de?.confirmationId&&(E(de.confirmationId),te(w)),O?.advanceTo&&g(O.advanceTo),re}}}else u(`${X} 已完成`),v(_.state??"succeeded"),y(D=>({...D,command:"succeeded",verification:X==="contractValidate"||X==="spineCheck"?"ran":D.verification}));const W=_.result??{};(X==="interviewStart"||X==="interviewTurn"||X==="interviewSkip")&&r(W);const T=W.confirmation;return T?.confirmationId&&(E(T.confirmationId),te(W)),O?.advanceTo&&g(O.advanceTo),_}catch(U){o(U instanceof Error?U.message:String(U));return}finally{l(!1)}},[r,l,o,d,u,h,g,p,v,y]),z=k.useCallback(X=>{if(!X)return"无响应";if(X.error?.message)return X.error.message;if(X.message)return X.message;const B=X.result;if(B&&typeof B=="object")try{return JSON.stringify(B).slice(0,1200)}catch{return"已返回结果"}return X.ok===!1?"失败":"成功"},[]),F=k.useCallback(X=>{if(!X||X.ok===!1||X.error)return!1;const B=X.result;if(!B)return!0;if(typeof B.valid=="boolean")return B.valid;const O=B.result;return O&&typeof O.valid=="boolean"?O.valid:!0},[]),V=k.useCallback(async X=>{G.current?.abort();const B=new AbortController;G.current=B,R(O=>[...O,`开始跟随事件流 ${X}`]);try{const O=await fetch(`/api/operator/v1/operations/${encodeURIComponent(X)}/events`,{credentials:"same-origin",signal:B.signal});if(!O.ok||!O.body){R(T=>[...T,`事件流 HTTP ${O.status}`]);return}const U=O.body.getReader(),_=new TextDecoder;let W="";for(;N;){const{done:T,value:D}=await U.read();if(T)break;W+=_.decode(D,{stream:!0});const M=W.split(`
50
+
51
+ `);W=M.pop()??"";for(const w of M){const re=w.split(`
52
+ `).find(Y=>Y.startsWith("data:"));if(!re)continue;const de=re.slice(5).trim();R(Y=>[...Y.slice(-80),de.slice(0,240)])}}}catch(O){O.name!=="AbortError"&&R(U=>[...U,`事件流错误:${O instanceof Error?O.message:String(O)}`])}},[N]);k.useEffect(()=>(C&&N&&(S==="run"||x==="recovery")&&V(C),()=>G.current?.abort()),[C,N,S,x,V]);const le=k.useCallback(()=>{A(!1),G.current?.abort(),u("已停止跟随日志(未取消子进程)")},[u]);return{runAction:ue,summarizeEnvelope:z,isActionSuccess:F,operationId:C,setOperationId:I,sseLog:H,followSse:N,setFollowSse:A,stopFollowSse:le,confirmationId:K,setConfirmationId:E,confirmationDetails:$,setConfirmationDetails:te}}const ld=8*1024*1024,KE=10*1024*1024,Vs=8,XE=".md,.markdown,.txt,text/markdown,text/plain",QE=[".md",".markdown",".txt"],Dd=/\.[^.]+$/;function ZE(t){const i=Dd.exec(t.trim());return i?i[0].toLowerCase():""}function JE(t){const i=ZE(t);return QE.includes(i)}function sd(t){if(!Number.isFinite(t)||t<0)return"0 B";if(t<1024)return`${t} B`;if(t<1024*1024){const r=t/1024;return`${r>=10?r.toFixed(0):r.toFixed(1)} KiB`}const i=t/(1024*1024);return`${i>=10?i.toFixed(1):i.toFixed(2)} MiB`}function ei(t,i){return{ok:!1,code:t,message:i}}function WE(t,i){const r=t?Array.from(t):[],l=i?.maxFiles??Vs,o=i?.existingCount??0;return r.length===0?ei("file-count","请选择至少一个 .md / .markdown / .txt 文件"):o+r.length>l?ei("file-count",`最多支持 ${l} 个文件(当前已有 ${o} 个)`):null}async function eN(t){const i=t.name?.trim()||"untitled.md";if(!JE(i))return ei("unsupported-extension","仅支持 .md、.markdown、.txt 文件");if(t.size>ld)return ei("file-too-large",`文件不能超过 ${sd(ld)}`);let r;try{r=await t.arrayBuffer()}catch{return ei("read-failed","文件读取失败,请重试或直接粘贴")}let l;try{l=new TextDecoder("utf-8",{fatal:!0}).decode(r)}catch{return ei("invalid-utf8","文件不是有效 UTF-8,请另存为 UTF-8")}if(l.trim().length===0)return ei("empty-content","文件内容不能为空或只有空白");const o=new TextEncoder().encode(l).byteLength;return{ok:!0,text:l,fileName:i,sourceBytes:t.size,textBytes:o}}async function tN(t){if(t.length===0)return ei("file-count","请选择至少一个 .md / .markdown / .txt 文件");if(t.length>Vs)return ei("file-count",`最多支持 ${Vs} 个文件`);const i=[];for(const r of t){const l=await eN(r);if(!l.ok)return l;i.push({fileName:l.fileName,text:l.text,sourceBytes:l.sourceBytes,textBytes:l.textBytes})}return{ok:!0,documents:i}}function nN(t,i){const r=t.split(/\r?\n/);for(const o of r){const d=/^(#{1,6})\s+(.+)$/.exec(o.trim());if(d?.[2])return d[2].trim()}for(const o of r){const d=o.trim();if(d&&!/^---+$/.test(d)&&!/^```/.test(d)&&!/^<!--/.test(d))return d.replace(/^>\s+/,"").slice(0,120)}return i.replace(Dd,"").trim()||"需求"}function iN(t){return t.trim().toLowerCase().replace(/[^a-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")||"requirement"}function rN(t,i){const r=t.replace(Dd,"").trim(),l=iN(r);return l==="requirement"&&/[^\u0000-\u007f]/.test(r)?`part-${i+1}`:l==="requirement"?r?`part-${i+1}`:`part-${i+1}`:l}function aN(t){const i=new Set;return t.map((r,l)=>{let o=rN(r.fileName,l);if(i.has(o)){let d=2;for(;i.has(`${o}-${d}`);)d+=1;o=`${o}-${d}`}return i.add(o),{name:o,content:r.text,fileName:r.fileName}})}function lN(t,i){if(t.length===0)return"";if(t.length===1)return t[0].text;const r=Math.min(Math.max(0,i?.primaryIndex??0),t.length-1),l=t[r],o=nN(l.text,l.fileName),u=[`<!-- composed-from: ${t.map(h=>h.fileName).join(", ")} -->`,"",`# ${o}`,""];for(const h of t)u.push(`## 来源:${h.fileName}`,"",h.text.trim(),"");return`${u.join(`
53
+ `).trimEnd()}
54
+ `}function sN(t,i,r){const l={action:t,actionParams:i};return new TextEncoder().encode(JSON.stringify(l)).byteLength<=KE}function oN(){return"最终内容导致请求体超过服务端限制,请缩小文档或减少文件数量"}function uN(){const[t,i]=k.useState(""),[r,l]=k.useState([]),[o,d]=k.useState(0),[u,h]=k.useState(!1),[g,p]=k.useState(null),[v,y]=k.useState(!1),[S,x]=k.useState(!1),C=k.useRef(0),I=k.useRef(0),H=k.useCallback((F,V)=>{const le=F.length===0?0:Math.min(Math.max(0,V),F.length-1);d(le),i(lN(F,{primaryIndex:le})),h(!1)},[]),R=k.useCallback(async F=>{const V=WE(F,{existingCount:r.length});if(V){p(V.message);return}const le=Array.from(F),X=++I.current;y(!0),p(null);try{const B=await tN(le);if(X!==I.current)return;if(!B.ok){p(B.message);return}const O=[...r,...B.documents],U=r.length===0?0:o;l(O),r.length===0||!u?(H(O,U),p(null)):p("已追加文件,未改正文(正文已手动编辑);可点「按文件重新合成」覆盖。")}catch{if(X!==I.current)return;p("文件读取失败,请重试或直接粘贴")}finally{X===I.current&&y(!1)}},[H,u,r,o]),N=k.useCallback(F=>{i(F),r.length>0&&h(!0)},[r.length]),A=k.useCallback(F=>{d(F),u||H(r,F)},[H,u,r]),G=k.useCallback((F,V)=>{const le=F+V,X=[...r],B=X[le];X[le]=X[F],X[F]=B;const O=o===F?le:o===le?F:o;l(X),d(O),u||H(X,O)},[H,u,r,o]),K=k.useCallback(F=>{const V=r.filter((X,B)=>B!==F),le=V.length===0?0:Math.min(o>=F?Math.max(0,o-1):o,Math.max(0,V.length-1));l(V),d(le),V.length===0?h(!1):u||H(V,le)},[H,u,r,o]),E=k.useCallback(()=>{l([]),d(0),h(!1),p(null)},[]),$=k.useCallback(()=>{u&&!window.confirm("将用当前文件列表重新合成正文,覆盖你在编辑区的修改。继续?")||(H(r,o),p(null))},[H,u,r,o]),te=k.useCallback((F,V)=>{F.preventDefault(),F.stopPropagation(),!V&&(C.current+=1,x(!0))},[]),ue=k.useCallback(F=>{F.preventDefault(),F.stopPropagation(),C.current=Math.max(0,C.current-1),C.current===0&&x(!1)},[]),z=k.useCallback((F,V)=>{F.preventDefault(),F.stopPropagation(),C.current=0,x(!1),!V&&R(F.dataTransfer.files)},[R]);return{prdText:t,setPrdText:i,onPrdTextChange:N,prdDocuments:r,prdPrimaryIndex:o,prdComposedDirty:u,prdFileError:g,setPrdFileError:p,prdFileReading:v,prdDragOver:S,loadPrdFromFiles:R,applyPrdComposition:H,setPrimaryDocument:A,moveDocument:G,removeDocument:K,clearDocuments:E,recomposeDocuments:$,onDragEnter:te,onDragLeave:ue,onDrop:z}}const cN={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,action:"dagReconcileRun",lane:"dag",guide:"Orphan/中断时先对账归档(默认 supersede);runner 仍存活时勿盲 supersede",commandHint:"loop-agent dag reconcile-run --run-id <run-id> --action supersede --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 --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>"}},ey={"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"],"terminal-failed":["report","doctor","dagRerun","standaloneTaskRerun","workerTaskRetry","regenerate"],"terminal-succeeded":["report","observeLink"],"needs-reconcile":["report","doctor","reconcile","regenerate"]};function dN(t){return(ey[t]??ey["orphan-unknown"]).map(r=>cN[r])}function fN(t){const i=[],r=[];for(const l of t)l.lane==="worker"?r.push(l):i.push(l);return{dag:i,worker:r}}function hN(t){return typeof t.action=="string"&&t.action.trim().length>0}function qv(t){return dN(t).filter(hN)}function mN(t){const i=new Set(qv(t).map(l=>l.id)),r=(...l)=>{for(const o of l)if(i.has(o))return o;return null};switch(t){case"terminal-failed":case"verification-failed":return r("dagRerun","standaloneTaskRerun","doctor","report");case"pause-on-human":return r("doctor","report");case"needs-reconcile":return r("doctor","reconcile","report");case"runtime-mismatch":case"contract-drift":return r("doctor","report");case"validation-failed":return r("doctor","report");case"terminal-succeeded":return r("observeLink","report");default:return r("doctor","report")}}function pN(t){if(t.needsReconcile)return"needs-reconcile";const i=(t.errorCode??"").toLowerCase(),r=(t.operationState??"").toLowerCase(),l=(t.dagStatus??"").toLowerCase(),o=(t.failureCategory??"").toLowerCase();return i.includes("validation")||i.includes("invalid")||r.includes("validation")?"validation-failed":i.includes("contract")||i.includes("drift")||i.includes("binding")?"contract-drift":i.includes("runtime")||i.includes("mismatch")||i.includes("fingerprint")?"runtime-mismatch":i.includes("human")||r.includes("paused")||l.includes("paused")||r.includes("awaiting")?"pause-on-human":i.includes("verif")||r.includes("verif")?"verification-failed":o==="controller-interrupted"||i.includes("controller-interrupted")||i.includes("interrupted")||l==="interrupted"||l==="orphaned"||r.includes("controller-interrupted")||r.includes("interrupted")?"needs-reconcile":l==="running-suspected-stall"||l==="running-quiet"||l==="suspected-stall"||l.includes("suspected-stall")||r.includes("suspected-stall")?"orphan-unknown":r==="succeeded"||r==="completed"||r==="finished"||l==="succeeded"||l==="completed"||l==="finished"?"terminal-succeeded":r==="failed"||r.includes("fail")||l==="failed"||l==="partial_failed"||i.includes("fail")?"terminal-failed":i.includes("reconcil")||r.includes("reconcil")?"needs-reconcile":"orphan-unknown"}const Od=new Set(["failed","error","partial_failed"]),Gv=new Set(["blocked","paused","awaiting_human"]);function eo(t){return(t??"").trim().toLowerCase()}function gN(t){return Od.has(eo(t))}function ty(t){const i=eo(t.status);return Od.has(i)||i.includes("fail")?0:t.lifecycle==="paused"||i==="paused"?1:t.lifecycle==="active"?2:3}function yN(t){return[...t].sort((i,r)=>{const l=ty(i)-ty(r);return l!==0?l:r.mtimeMs-i.mtimeMs})}function vN(t){return yN(t)[0]?.dagRunId}function ny(t){const i=eo(t.status);return Od.has(i)?0:Gv.has(i)?1:2}function $v(t){return[...t].sort((i,r)=>{const l=ny(i)-ny(r);return l!==0?l:i.nodeId.localeCompare(r.nodeId)})}function bN(t){const i=$v(t);return i.find(l=>gN(l.status)||Gv.has(eo(l.status)))?.nodeId??i[0]?.nodeId}function xN(t){const i=t.status?.trim()||t.lifecycle;return`${t.dagRunId.length>36?`${t.dagRunId.slice(0,18)}…${t.dagRunId.slice(-8)}`:t.dagRunId} · ${i}`}function SN(t){const i=t.status?.trim()||"unknown",r=t.label?.trim();return r&&r!==t.nodeId?`${t.nodeId} · ${i} · ${r}`:`${t.nodeId} · ${i}`}function kN(t){const r=[`operator-recovery: ${t.actionLabel?.trim()||"恢复"}`],l=t.dagRunId?.trim();if(l){const h=t.runStatus?.trim();r.push(h?`run=${l} (${h})`:`run=${l}`)}const o=t.fromNodeId?.trim();if(o){const h=t.nodeStatus?.trim();r.push(h?`from-node=${o} (${h})`:`from-node=${o}`)}const d=t.factClassLabel?.trim();d&&r.push(`fact=${d}`);const u=t.nodeError?.trim()||t.errorMessage?.trim()||(t.errorCode?.trim()?`code=${t.errorCode.trim()}`:"");return u&&r.push(`detail=${u.replace(/\s+/g," ").slice(0,280)}`),r.join(`
55
+ `).slice(0,500)}function Fv(t){const i=t.trim();return i?i==="operator-recovery"||i.startsWith("operator-recovery:")||i.startsWith("recovery:"):!0}function wN(t){const{shell:i,actions:r,taskId:l,dagRunId:o,fromNodeId:d,featureId:u,recoveryReason:h,recoveryReasonTouched:g,recoveryConfirm:p,recoveryPlanSummary:v,setRecoveryConfirm:y,setRecoveryPlanSummary:S,setRecoveryReport:x,setRecoveryReason:C,setRecoveryReasonTouched:I,buildCurrentRecoveryReason:H,openFullCanvas:R}=t,{setOpError:N,setOpErrorCode:A,setOpMessage:G,setBusy:K}=i,{runAction:E,isActionSuccess:$}=r,te=k.useCallback(async z=>{if(z.requiresReason||(y(null),S(null)),z.action==="doctor"){x(null),E("doctor",{});return}if(z.action==="dagReport"||z.id==="report"){const F=o.trim();if(F){y(null),S(null);const V=await E("dagReport",{runId:F}),le=V?.result??{},X=(le.raw?.runs??le.runs)?.[0];V&&V.ok!==!1&&!V.error&&X&&(x({runId:X.runId??F,title:X.title,status:X.status,category:X.productLineFailureCategory,recommendation:X.recoveryRecommendation?.summary??X.recommendedFollowUp??void 0}),G(null));return}if(l.trim()){x(null),E("status",{taskId:l});return}N("查看报告需要先选择 DAG 运行 ID(或填写任务 ID)");return}if(z.action==="observeLink"){x(null),R();return}if(z.requiresReason){if(x(null),y(z),S(null),z.id!=="dagRerun"&&(N(null),A(null)),(!g||Fv(h))&&(C(H(z.label)),I(!1)),z.id==="dagRerun"&&o.trim()&&d.trim()){K(!0);try{const{status:F,body:V}=await Id("dagRerunPlan",{runId:o.trim(),fromNode:d.trim()}),le=V.result??{};le&&typeof le=="object"&&("eligible"in le||le.planHash)&&S(le),F<400&&V.ok!==!1&&le.eligible!==!1?G(null):le.eligible===!1?N(V.error?.message??Fc(le)):G(V.error?.message??"无法预检重跑计划;确认后仍将尝试提交(CLI 可能尚未就绪)")}finally{K(!1)}}return}N(null),A(null),G(`${z.label}:请经 CLI — ${z.commandHint??""}`)},[H,o,d,R,h,g,E,K,N,A,G,y,S,x,C,I,l]),ue=k.useCallback(async()=>{const z=p;if(!z)return;const F=h.trim();if(!F){N("恢复操作需要结构化原因");return}const V=Fs(`recovery-${z.id}`);if(y(null),z.id==="dagRerun"){const le=o.trim(),X=d.trim();if(!le||!X){N("从节点重跑需要 DAG 运行 ID 与起始节点 ID");return}let B=v?.planHash?.trim(),O=v?.eligible;if(!B||O===void 0){const U=await E("dagRerunPlan",{runId:le,fromNode:X}),_=U?.result??{};if((_.planHash||_.eligible!==void 0)&&S(_),B=_.planHash?.trim()||B,O=_.eligible,_.eligible===!1){N(U?.error?.message??Fc(_));return}if(U&&U.ok===!1&&!B){N(U.error?.message??"无法获取 planHash;请确认 loop-agent dag rerun --plan 可用");return}}if(O===!1){N(Fc(v??{}));return}if(!B){N("无法获取 planHash;请确认 loop-agent dag rerun --plan 可用");return}await E("dagRerun",{runId:le,fromNode:X,planHash:B,reason:F},{clientRequestId:V});return}if(z.id==="standaloneTaskRerun"){const le=o.trim();if(!le){N("完整重跑任务需要 DAG 运行 ID");return}const X={runId:le,reason:F,...l.trim()?{taskId:l.trim()}:{}},B=await E("prepareMutationGate",{action:"standaloneTaskRerun",actionParams:X});if(!$(B))return;const O=B?.result??B;if(!O.receiptId||!O.humanGateToken){N("prepareMutationGate 未返回可消费的 Human Gate receipt");return}await E("standaloneTaskRerun",{...X,confirmationId:O.receiptId,humanGateToken:O.humanGateToken},{clientRequestId:V});return}if(z.id==="workerTaskRetry"){const le=l.trim();if(!le){N("重新排队 Worker Task 需要任务 ID");return}const X={taskId:le,reason:F,...u.trim()?{featureId:u.trim()}:{}},B=await E("prepareMutationGate",{action:"workerTaskRetry",actionParams:X});if(!$(B))return;const O=B?.result??B;if(!O.receiptId||!O.humanGateToken){N("prepareMutationGate 未返回可消费的 Human Gate receipt");return}await E("workerTaskRetry",{...X,confirmationId:O.receiptId,humanGateToken:O.humanGateToken},{clientRequestId:V});return}if(z.id==="reconcile"){const le=o.trim();if(!le){N("对账恢复需要 DAG 运行 ID");return}const X={runId:le,reason:F,reconcileAction:"supersede"},B=await E("prepareMutationGate",{action:"dagReconcileRun",actionParams:X});if(!$(B))return;const O=B?.result??B;if(!O.receiptId||!O.humanGateToken){N("prepareMutationGate 未返回可消费的 Human Gate receipt");return}await E("dagReconcileRun",{...X,confirmationId:O.receiptId,humanGateToken:O.humanGateToken},{clientRequestId:V});return}G(`${z.label}:请经 CLI — ${z.commandHint??""}`)},[o,u,d,p,v?.planHash,h,E,$,N,G,y,S,l]);return{handleRecoveryCta:te,submitRecoveryConfirm:ue}}function CN(t){const{shell:i,actions:r,wizard:l}=t,{nav:o,opError:d,opErrorCode:u,lastOpState:h,setOpError:g,setObserveBusy:p}=i,{taskId:v}=l,[y,S]=k.useState(""),[x,C]=k.useState(""),[I,H]=k.useState(""),[R,N]=k.useState(""),[A,G]=k.useState(!1),[K,E]=k.useState(null),[$,te]=k.useState(null),[ue,z]=k.useState([]),[F,V]=k.useState([]),[le,X]=k.useState(!1),[B,O]=k.useState(!1),[U,_]=k.useState(null),[W,T]=k.useState(null),[D,M]=k.useState(!1),[w,re]=k.useState(!1),[de,Y]=k.useState(null),[ce,he]=k.useState("idle"),[pe,ye]=k.useState(null),[Ce,Be]=k.useState(null),[Xe,Ye]=k.useState(!1),at=k.useCallback(()=>y.trim()?`/inspect/#/dag/${encodeURIComponent(y.trim())}?from=recovery`:"/inspect/#/",[y]),sn=k.useCallback(()=>{window.location.assign(at())},[at]),kt=k.useCallback(async()=>{if(y.trim())return y.trim();const Se=v.trim();if(!Se)return g("打开 DAG 检视需要任务 ID 或 DAG 运行 ID"),null;p(!0),g(null);try{const{status:qe,body:Ie}=await Id("observeLink",{taskId:Se}),Ee=Ie.result??{};if(qe>=400||Ie.ok===!1)return g(Ie.error?.message??"无法解析 DAG 画布地址"),he("unavailable"),ye(Ie.error?.message??null),null;const ht=typeof Ee.dagRunId=="string"?Ee.dagRunId.trim():"";return ht?(S(ht),he("match"),ye(null),Be(`/inspect/#/dag/${encodeURIComponent(ht)}`),ht):(g("尚未找到该任务的 DAG 运行,请稍后再打开检视"),he("unavailable"),ye(Ee.message??"未解析到 DAG run"),null)}catch(qe){return g(qe instanceof Error?qe.message:String(qe)),null}finally{p(!1)}},[y,v,g,p]),Cn=k.useCallback(async()=>{await kt()&&Ye(!0)},[kt]),Rt=k.useCallback(async()=>{const Se=await kt();Se&&window.location.assign(`/inspect/#/dag/${encodeURIComponent(Se)}?from=recovery`)},[kt]),Lt=k.useCallback(async()=>{X(!0);try{const Se=v.trim(),qe=new URLSearchParams;Se&&qe.set("taskId",Se),qe.set("limit","40");const Ie=await fetch(`/api/operator/v1/recovery/candidates?${qe.toString()}`,{credentials:"same-origin"});if(!Ie.ok){z([]);return}const Ee=await Ie.json();z(Array.isArray(Ee.runs)?Ee.runs:[])}catch{z([])}finally{X(!1)}},[v]),Te=k.useCallback(async Se=>{const qe=Se.trim();if(!qe){V([]),_(null),T(null);return}O(!0);try{const Ie=await fetch(`/api/dag-runs/${encodeURIComponent(qe)}`,{credentials:"same-origin"});if(!Ie.ok){V([]),_(null),T(null);return}const Ee=await Ie.json(),ht=typeof Ee.effectiveStatus=="string"&&Ee.effectiveStatus||typeof Ee.status=="string"&&Ee.status||null;_(ht);const Qe=Array.isArray(Ee.nodes)?Ee.nodes:[],jn=$v(Qe.map(Et=>{const Di=(Et.nodeId??Et.id??"").trim();return Di?{nodeId:Di,status:Et.status,label:Et.label??Et.name,errorPreview:Et.errorPreview}:null}).filter(Et=>Et!==null));V(jn);const Qt=typeof Ee.failureCategory=="string"&&Ee.failureCategory||void 0,to=Qe.find(Et=>typeof Et.failureCategory=="string"&&Et.failureCategory&&Et.failureCategory!=="success")?.failureCategory;T(Qt??to??null)}catch{V([]),_(null),T(null)}finally{O(!1)}},[]);k.useEffect(()=>{o==="recovery"&&Lt()},[o,v,Lt]),k.useEffect(()=>{if(o!=="recovery"||D||ue.length===0)return;const Se=y.trim(),qe=Se?ue.some(Ie=>Ie.dagRunId===Se):!1;if(!Se||!qe){const Ie=vN(ue);Ie&&Ie!==Se&&S(Ie)}},[o,ue,y,D]),k.useEffect(()=>{o==="recovery"&&Te(y)},[o,y,Te]),k.useEffect(()=>{if(o!=="recovery"||w||F.length===0)return;const Se=x.trim(),qe=Se?F.some(Ie=>Ie.nodeId===Se):!1;if(!Se||!qe){const Ie=bN(F);Ie&&Ie!==Se&&C(Ie)}},[o,F,x,w]);const $e=pN({operationState:U?null:h,errorCode:U?null:u,dagStatus:U,failureCategory:W}),ut=k.useMemo(()=>qv($e),[$e]),ie=k.useMemo(()=>fN(ut),[ut]),je=k.useMemo(()=>mN($e),[$e]),ee=k.useMemo(()=>F.find(Se=>Se.nodeId===x.trim()),[F,x]),fe=k.useRef(null);k.useEffect(()=>{$&&fe.current?.scrollIntoView({behavior:"smooth",block:"nearest"})},[$?.id]);const be=k.useCallback(Se=>kN({actionLabel:Se,dagRunId:y.trim()||void 0,fromNodeId:x.trim()||void 0,runStatus:U,nodeStatus:ee?.status,nodeError:ee?.errorPreview,factClassLabel:Hv[$e],errorMessage:d,errorCode:u}),[y,x,d,u,$e,U,ee?.errorPreview,ee?.status]);k.useEffect(()=>{if(o!=="recovery"||A&&!Fv(R))return;const Se=be($?.label);Se&&Se!==R&&N(Se)},[o,y,x,U,ee,$e,d,u,$?.label,A,R,be]);const{handleRecoveryCta:Re,submitRecoveryConfirm:Ne}=wN({shell:i,actions:r,taskId:v,dagRunId:y,fromNodeId:x,featureId:I,recoveryReason:R,recoveryReasonTouched:A,recoveryConfirm:$,recoveryPlanSummary:K,setRecoveryConfirm:te,setRecoveryPlanSummary:E,setRecoveryReport:Y,setRecoveryReason:N,setRecoveryReasonTouched:G,buildCurrentRecoveryReason:be,openFullCanvas:Rt});return{dagRunId:y,setDagRunId:S,fromNodeId:x,setFromNodeId:C,featureId:I,setFeatureId:H,recoveryReason:R,setRecoveryReason:N,recoveryReasonTouched:A,setRecoveryReasonTouched:G,recoveryPlanSummary:K,recoveryConfirm:$,setRecoveryConfirm:te,setRecoveryPlanSummary:E,recoveryRuns:ue,recoveryNodes:F,recoveryRunsLoading:le,recoveryNodesLoading:B,recoveryRunStatus:U,manualRunId:D,setManualRunId:M,manualNodeId:w,setManualNodeId:re,recoveryReport:de,setRecoveryReport:Y,observeLinkStatus:ce,observeLinkMessage:pe,observeUrl:Ce,inspectSplitOpen:Xe,setInspectSplitOpen:Ye,inspectPath:at,openFullInspect:sn,resolveDagRunForInspect:kt,openInspectSplit:Cn,openFullCanvas:Rt,loadRecoveryRuns:Lt,loadRecoveryNodes:Te,recoveryFact:$e,recoveryCtas:ut,recoveryLanes:ie,recommendedCtaId:je,recoveryConfirmRef:fe,buildCurrentRecoveryReason:be,handleRecoveryCta:Re,submitRecoveryConfirm:Ne}}function jN(t){const{shell:i,actions:r,prd:l}=t,{step:o,setStep:d,setOpMessage:u}=i,{runAction:h,isActionSuccess:g,summarizeEnvelope:p}=r,[v,y]=k.useState(""),[S,x]=k.useState(""),[C,I]=k.useState("standard"),[H,R]=k.useState(""),[N,A]=k.useState(""),[G,K]=k.useState(""),E=ad.find(Te=>Te.kind===C)??ad[0],[$,te]=k.useState(null),[ue,z]=k.useState(null),[F,V]=k.useState(""),[le,X]=k.useState(null),[B,O]=k.useState(null),[U,_]=k.useState(null),[W,T]=k.useState(null),[D,M]=k.useState(null),[w,re]=k.useState(!1),[de,Y]=k.useState(null),[ce,he]=k.useState(null),pe=k.useRef(!1),ye=k.useCallback(()=>{_(null),T(null),M(null),re(!1),Y(null),he(null),pe.current=!1},[]),Ce=k.useCallback(()=>{ye(),d("contract")},[ye,d]),Be=k.useCallback(Te=>{const $e=Te.session;$e?.sessionId&&te($e.sessionId);const ut=Te.question;z(ut),X(Te.summary??null);const ie=Te.assessmentId;typeof ie=="string"&&ie&&O(ie),(Te.complete===!0||typeof ie=="string"&&ie)&&(Ce(),u(Te.skipped===!0?"已跳过访谈:已按推荐补齐草稿并签发评估":"访谈已完成:草稿已绑定完整评估结果"))},[Ce,u]),Xe=k.useCallback(async(Te=!1)=>{const $e=v.trim();if(!$e)return;const ut=`${$e}:${B??""}`;if(!(!Te&&ce===ut&&U!==null)&&!pe.current){pe.current=!0,_(null),T(null),M(null),Y(null),re(!1);try{const ie=await h("contractValidate",{taskId:$e}),je=g(ie);if(_(je),T(p(ie)),!je){he(ut),u("契约校验未通过:请先修正草稿后再应用");return}const ee=await h("contractDiff",{taskId:$e});M(p(ee)),he(ut),u(g(ee)?"校验与差异已就绪:确认后可应用契约":"校验通过,但差异查询失败(仍可查看下方摘要)")}finally{pe.current=!1}}},[B,ce,U,g,h,u,p,v]),Ye=k.useCallback(async()=>{const Te=v.trim();if(!Te||!B)return;const $e=await h("contractApply",{taskId:Te,assessmentId:B},{clientRequestId:Fs("apply")});if(!g($e)){re(!1);return}re(!0);const ut=await h("spineCheck",{taskId:Te});if(g(ut)){Y(!0),d("dag-confirm"),u("契约已应用并通过 Spine 审计,可生成并运行 DAG");return}Y(!1),u("契约已应用,但 Spine 审计未通过:可重试 Spine")},[B,g,h,u,d,v]),at=k.useCallback(async()=>{const Te=v.trim();if(!Te)return;const $e=await h("spineCheck",{taskId:Te});if(g($e)){Y(!0),d("dag-confirm"),u("Spine 审计已通过,可生成并运行 DAG");return}Y(!1)},[g,h,u,d,v]),sn=k.useCallback(async()=>{const Te=r.confirmationId?.trim();if(!Te)return;const $e=r.confirmationDetails?.confirmation?.humanGateToken,ut=await h("confirmDagConfirmation",{confirmationId:Te,humanGateToken:$e});g(ut)&&(d("run"),await h("runDag",{confirmationId:Te},{clientRequestId:Fs("run")}))},[r.confirmationId,r.confirmationDetails,g,h,d]);k.useEffect(()=>{o==="contract"&&v.trim()&&Xe(!1)},[o,v,B,Xe]);const kt=k.useCallback(Te=>Te.split(/[\n,;,;]+/).map($e=>$e.trim()).filter(Boolean),[]),Cn=k.useCallback(async()=>{const Te=l.prdDocuments.length>0?aN(l.prdDocuments):void 0,$e=kt(H),ut=kt(N),ie=kt(G),je={content:l.prdText,taskKind:C,...Te?{documents:Te}:{},...$e.length>0?{allowedPaths:$e}:{},...ut.length>0?{forbiddenPaths:ut}:{},...ie.length>0?{verifyCommands:ie}:{}};if(!sN("bootstrapFromPrd",je)){l.setPrdFileError(oN());return}const ee=await h("bootstrapFromPrd",je);if(!ee||ee.ok===!1)return;const fe=ee.result??{};fe.taskId&&y(fe.taskId),fe.title&&x(fe.title);const be=fe.parseStatus??"pending",Re=fe.draftPreview?.objective?.trim(),Ne=Array.isArray(fe.gaps)?fe.gaps.length:0,Se=fe.semanticIntake?.applied?"semantic":fe.semanticIntake?.code??"no-semantic",qe=(fe.autoImportedReferences??[]).filter(Ee=>Ee.repoRelative),Ie=(fe.unresolvedReferences??[]).filter(Ee=>Ee.token);u([`已创建任务「${fe.title??""}」(${fe.taskId??""})`,`来源:${fe.identitySource??"prd"}`,`解析:${be}(${Se})`,Re?`目标:${Re.slice(0,120)}`:null,Ne>0?`缺口 ${Ne} 项待确认`:null,qe.length>0?`已自动导入 ${qe.length} 个引用文档(${qe.map(Ee=>`${Ee.repoRelative}${Ee.role?`:${Ee.role}`:""}`).join("、")})`:null,Ie.length>0?`有 ${Ie.length} 个引用未能解析:${Ie.map(Ee=>`${Ee.token}(${Ee.reason??"未知原因"})`).join("、")}`:null].filter(Boolean).join(" · ")),d("interview")},[H,N,l,h,u,d,kt,C,G]),Rt=[{id:"setup",label:"就绪检查"},{id:"import-prd",label:"导入需求"},{id:"interview",label:"需求访谈(可跳过)"},{id:"contract",label:"契约落地"},{id:"dag-confirm",label:"确认 DAG"},{id:"run",label:"运行"}],Lt=Rt.findIndex(Te=>Te.id===o);return{taskId:v,setTaskId:y,taskTitle:S,taskKind:C,setTaskKind:I,engineering:{allowedPathsText:H,forbiddenPathsText:N,verifyCommandsText:G},setEngineering:Te=>{Te.allowedPathsText!==void 0&&R(Te.allowedPathsText),Te.forbiddenPathsText!==void 0&&A(Te.forbiddenPathsText),Te.verifyCommandsText!==void 0&&K(Te.verifyCommandsText)},workflowMeta:E,sessionId:$,question:ue,answerText:F,setAnswerText:V,draftSummary:le,assessmentId:B,contractValidateOk:U,contractValidateSummary:W,contractDiffSummary:D,contractApplied:w,spineOk:de,applyInterviewPayload:Be,runContractPreflight:Xe,applyContractThenSpine:Ye,retrySpineOnly:at,confirmAndRunDag:sn,importPrdAndCreate:Cn,wizardSteps:Rt,stepIndex:Lt}}const TN={chat:"对话",tasks:"任务",recovery:"恢复",night:"夜间",models:"模型与认证",settings:"设置"};async function RN(t){return await import(t)}function EN(t){const i=t.repoName?.trim();if(i)return i;const r=(t.repoRoot??"").split(/[\\/]/).filter(Boolean);return r.length?r[r.length-1]:"repository"}function NN(t){const{nav:i,readiness:r,setupBlocked:l,degraded:o,health:d,inspectHref:u}=t,h=l||o?"models":"settings",g=l?"Pi SDK / 认证 / 模型未就绪。不提供纯表单兜底。点击前往模型与认证。":o?"Pi 暂时降级:仍可恢复草稿与需求访谈。点击查看详情。":"Pi 已就绪。点击打开设置查看详情。";return{mode:"operate",activeTabHref:`#/${i}`,operateHref:"/#/",inspectHref:u,freshness:!1,readinessState:r,readinessHref:`#/${h}`,readinessTitle:g,repo:d?{name:EN(d),fingerprint:d.repoFingerprint??"",version:d.packageVersion??"",product:d.productName??d.product??"",inspectReady:d.inspect?.ready}:null}}function AN(t){const i=k.useRef(null),r=k.useRef(null),[l,o]=k.useState(!1),d=k.useMemo(()=>NN(t),[t.nav,t.readiness,t.setupBlocked,t.degraded,t.health,t.inspectHref]),u=k.useRef(d);return u.current=d,k.useEffect(()=>{let h=!1;return RN("/inspect/operator-chrome.js").then(g=>{h||!i.current||(r.current=g.mountOperatorChrome(i.current,u.current))}).catch(()=>{h||o(!0)}),()=>{h=!0,r.current?.destroy(),r.current=null}},[]),k.useEffect(()=>{r.current?.update(d)},[d]),c.jsxs(c.Fragment,{children:[c.jsx("div",{ref:i,"data-testid":"operator-chrome"}),l?c.jsxs("nav",{className:"operator-chrome-fallback","aria-label":"操作工作区",children:[c.jsx("button",{type:"button",onClick:()=>window.location.assign("/#/"),children:"Loop Agent"}),c.jsx("button",{type:"button",onClick:()=>window.location.assign(`#/${t.nav}`),children:TN[t.nav]}),c.jsx("button",{type:"button",onClick:()=>window.location.assign(t.inspectHref),children:"观测"}),c.jsx("span",{role:"status",children:"共享导航加载失败,请刷新页面"})]}):null]})}function IN(t){return c.jsxs(c.Fragment,{children:[t.opError?c.jsxs("div",{className:"flash flash-error","data-testid":"op-error",children:[c.jsx("span",{className:"flash-label",children:"错误"}),c.jsx("p",{className:"flash-body",children:t.opError})]}):null,t.opMessage?c.jsxs("div",{className:"flash flash-info","data-testid":"op-message",children:[c.jsx("span",{className:"flash-label",children:"状态"}),c.jsx("p",{className:"flash-body",children:t.opMessage})]}):null]})}const DN=[{key:"sdkAvailable",detailKey:"sdkMessage",label:"Pi SDK",hint:"Node 侧 Pi SDK 可加载"},{key:"authReady",detailKey:"authMessage",label:"认证凭据",hint:"Pi auth / provider 密钥已配置"},{key:"modelsAvailable",detailKey:"modelsMessage",label:"可用模型",hint:"harness.json executors.pi(LOW/MED/HIGH)可在 Pi 凭据面解析"},{key:"interviewSessionOk",detailKey:"sessionMessage",label:"访谈会话",hint:"Interview 会话预检通过"}];function ON(t){if(!t)return null;const i=Date.parse(t);return Number.isNaN(i)?t:new Date(i).toLocaleString()}function MN(t){const i=t.readinessReport?.state??t.readiness,r=t.readinessReport?.probe,l=r?.details??{},o=t.readinessReport?.blockedActions??[],d=ON(t.readinessReport?.generatedAt),u=t.readinessReport??{state:t.readiness,health:t.health};return c.jsxs("section",{className:"panel models-page","aria-labelledby":"models-title",children:[c.jsxs("div",{className:"models-header",children:[c.jsx("h2",{id:"models-title",children:"模型与认证"}),c.jsx("span",{className:"models-status-pill","data-state":i,"data-testid":"models-readiness-pill",children:Lv[i]??i})]}),c.jsxs("p",{className:"panel-lead",children:["复用 Pi ModelRuntime 凭据平面;密钥不会回传到页面。请用"," ",c.jsx("code",{children:"pi"})," 或 Pi 认证存储完成配置,然后刷新就绪探测。"]}),c.jsxs("section",{className:"models-probe-card","aria-labelledby":"models-probe-title","data-testid":"readiness-details",children:[c.jsx("h3",{id:"models-probe-title",className:"models-subtitle",children:"就绪检查"}),c.jsx("ul",{className:"models-probe-list",children:DN.map(h=>{const g=r?.[h.key],p=l[h.detailKey],v=g===void 0;return c.jsxs("li",{className:`models-probe-item${v?" is-pending":g?" is-ok":" is-bad"}`,children:[c.jsx("span",{className:"models-probe-badge","aria-label":v?"未探测":g?"通过":"未通过",children:v?"—":g?"✓":"✕"}),c.jsxs("div",{className:"models-probe-body",children:[c.jsx("strong",{children:h.label}),c.jsx("span",{className:"muted",children:h.hint}),p?c.jsx("p",{className:"models-probe-detail",children:p}):null]})]},h.key)})})]}),i==="setup-required"?c.jsxs("div",{className:"models-setup-card","data-testid":"models-setup-hint",children:[c.jsx("h3",{className:"models-subtitle",children:"如何完成配置"}),c.jsxs("ol",{className:"models-setup-steps",children:[c.jsxs("li",{children:["在终端配置 Pi 认证(例如 ",c.jsx("code",{children:"pi auth login"}),")或写入 provider API key。"]}),c.jsxs("li",{children:["确认 agent 目录下 ",c.jsx("code",{children:"models.json"})," / 认证文件可读。"]}),c.jsx("li",{children:"点击下方「刷新就绪探测」,或运行诊断命令查看详情。"})]}),c.jsx("pre",{className:"cmd",children:_v})]}):null,i==="degraded"?c.jsx("p",{className:"models-degraded-note","data-testid":"models-degraded-note",children:"Pi 暂时降级:仍可恢复草稿与需求访谈;部分写入/运行类操作会被拦截。"}):null,o.length>0?c.jsxs("div",{className:"models-blocked-card",children:[c.jsx("h3",{className:"models-subtitle",children:"当前受限操作"}),c.jsx("ul",{className:"models-blocked-list",children:o.map(h=>c.jsx("li",{children:c.jsx("code",{children:h})},h))})]}):null,c.jsxs("div",{className:"models-actions",children:[c.jsx("button",{type:"button",className:"btn btn-primary",disabled:t.busy,onClick:t.onRefreshReadiness,children:"刷新就绪探测"}),d?c.jsxs("span",{className:"muted models-generated-at",children:["上次探测:",d]}):null]}),c.jsxs("details",{className:"models-raw-details",children:[c.jsx("summary",{children:"查看原始探测数据(调试)"}),c.jsx("pre",{className:"cmd models-raw-json",children:JSON.stringify(u,null,2)})]})]})}function iy(t){const{lane:i,cta:r,planSummary:l,reason:o,busy:d,confirmRef:u}=t;return!r||r.lane!==i?null:c.jsxs("div",{ref:u,className:"recovery-confirm","data-testid":"recovery-confirm",children:[c.jsxs("h3",{children:["待确认:",r.label]}),c.jsx("p",{className:"muted",children:"请核对上方运行 / 节点与恢复原因,再点「确定」执行。"}),l?c.jsxs("div",{className:"recovery-plan-summary",children:[c.jsxs("p",{className:"muted",children:["计划 eligible=",String(l.eligible??"—")," · 风险=",Bv[l.risk??""]??l.risk??"—"]}),l.effectiveFromNodeId?c.jsxs("p",{className:"muted",children:["有效起点:",l.effectiveFromNodeId]}):null,l.estimatedExecution?c.jsxs("p",{className:"muted",children:["将执行 ",l.estimatedExecution.nodeCount??"?"," 个节点 / ",l.estimatedExecution.piCallCount??"?"," 次 Pi;预计避免"," ",l.estimatedExecution.avoidedNodeCount??"?"," 个节点"]}):null,l.planHash?c.jsxs("p",{className:"muted",children:["planHash: ",c.jsxs("code",{children:[l.planHash.slice(0,16),"…"]})]}):null]}):r.id==="dagRerun"?c.jsx("p",{className:"muted",children:"未加载计划摘要;点「确定」前将再次尝试资格检查。"}):null,c.jsxs("div",{className:"cta-row",children:[c.jsx("button",{type:"button",className:"btn btn-primary",disabled:d||!o.trim(),"data-testid":"recovery-confirm-submit",onClick:t.onSubmit,children:"确定"}),c.jsx("button",{type:"button",className:"btn btn-secondary",disabled:d,"data-testid":"recovery-confirm-cancel",onClick:t.onCancel,children:"取消"})]})]})}function zN(t){const{shell:i,recovery:r,wizard:l}=t,{busy:o}=i,d={planSummary:r.recoveryPlanSummary,reason:r.recoveryReason,busy:o,confirmRef:r.recoveryConfirmRef,onSubmit:()=>{r.submitRecoveryConfirm()},onCancel:()=>{r.setRecoveryConfirm(null),r.setRecoveryPlanSummary(null)}};return c.jsxs("section",{className:"panel","aria-labelledby":"recovery-title",children:[c.jsx("h2",{id:"recovery-title",children:"恢复"}),c.jsxs("p",{className:"muted",children:["事实分类:",Hv[r.recoveryFact]," · 无 Cancel · 无「直接改代码」"]}),c.jsxs("ol",{className:"muted recovery-steps",children:[c.jsx("li",{children:"上方选 DAG 运行 / 节点,用「DAG 运行恢复」动作"}),c.jsx("li",{children:"Worker 队列失败才用下方「Worker Task 重排队」(二者不要混用)"}),c.jsx("li",{children:"带 * 的动作:核对预填原因 → 点下方「确定」"})]}),c.jsxs("p",{className:"muted",children:[l.taskId.trim()?`按任务 ${l.taskId.trim()} 拉取候选。`:"未填任务 ID 时列出最近 DAG 运行。","Doctor 诊断可选,不是重跑前置。"," ",c.jsx("button",{type:"button",className:"btn btn-secondary",disabled:o||r.recoveryRunsLoading,"data-testid":"recovery-refresh-candidates",onClick:()=>{r.loadRecoveryRuns()},children:r.recoveryRunsLoading?"刷新中…":"刷新候选"})]}),c.jsxs("label",{className:"field",children:[c.jsx("span",{className:"muted",children:"DAG 运行 ID"}),!r.manualRunId&&r.recoveryRuns.length>0?c.jsxs("select",{"data-testid":"recovery-run-select",value:r.dagRunId,disabled:o||r.recoveryRunsLoading,onChange:u=>{r.setManualRunId(!1),r.setManualNodeId(!1),r.setFromNodeId(""),r.setDagRunId(u.target.value),r.recoveryReasonTouched||r.setRecoveryReasonTouched(!1)},children:[r.recoveryRuns.some(u=>u.dagRunId===r.dagRunId)?null:c.jsx("option",{value:r.dagRunId||"",children:r.dagRunId?`${r.dagRunId}(当前)`:"— 请选择 —"}),r.recoveryRuns.map(u=>c.jsx("option",{value:u.dagRunId,children:xN(u)},u.dagRunId))]}):c.jsx("input",{"data-testid":"recovery-run-input",value:r.dagRunId,disabled:o,onChange:u=>{r.setManualRunId(!0),r.setDagRunId(u.target.value.trim())},placeholder:"dag-run-id(子图/完整重跑)"}),c.jsx("button",{type:"button",className:"btn btn-secondary",disabled:o,"data-testid":"recovery-run-manual-toggle",onClick:()=>{if(!r.manualRunId&&r.recoveryRuns.length>0){r.setManualRunId(!0);return}r.setManualRunId(!1),r.loadRecoveryRuns()},children:!r.manualRunId&&r.recoveryRuns.length>0?"手动输入运行 ID":"刷新并改用下拉"})]}),c.jsxs("label",{className:"field",children:[c.jsxs("span",{className:"muted",children:["起始节点 ID(从节点重跑)",r.recoveryNodesLoading?" · 加载节点…":""]}),!r.manualNodeId&&r.recoveryNodes.length>0?c.jsxs("select",{"data-testid":"recovery-node-select",value:r.fromNodeId,disabled:o||r.recoveryNodesLoading,onChange:u=>{r.setManualNodeId(!1),r.setFromNodeId(u.target.value)},children:[r.recoveryNodes.some(u=>u.nodeId===r.fromNodeId)?null:c.jsx("option",{value:r.fromNodeId||"",children:r.fromNodeId?`${r.fromNodeId}(当前)`:"— 请选择 —"}),r.recoveryNodes.map(u=>c.jsx("option",{value:u.nodeId,children:SN(u)},u.nodeId))]}):c.jsx("input",{"data-testid":"recovery-node-input",value:r.fromNodeId,disabled:o,onChange:u=>{r.setManualNodeId(!0),r.setFromNodeId(u.target.value.trim())},placeholder:"例如 review-verdict-recovery-pi"}),c.jsx("button",{type:"button",className:"btn btn-secondary",disabled:o,"data-testid":"recovery-node-manual-toggle",onClick:()=>{if(!r.manualNodeId&&r.recoveryNodes.length>0){r.setManualNodeId(!0);return}r.setManualNodeId(!1),r.loadRecoveryNodes(r.dagRunId)},children:!r.manualNodeId&&r.recoveryNodes.length>0?"手动输入节点 ID":"刷新并改用下拉"})]}),c.jsxs("label",{className:"field",children:[c.jsx("span",{className:"muted",children:"恢复原因(已按 run/节点失败事实自动预填,可编辑)"}),c.jsx("textarea",{"data-testid":"recovery-reason",value:r.recoveryReason,disabled:o,rows:4,onChange:u=>{r.setRecoveryReasonTouched(!0),r.setRecoveryReason(u.target.value)},placeholder:"将自动预填 operator-recovery / run / from-node / detail"}),c.jsx("button",{type:"button",className:"btn btn-secondary",disabled:o,"data-testid":"recovery-reason-refresh",onClick:()=>{r.setRecoveryReasonTouched(!1),r.setRecoveryReason(r.buildCurrentRecoveryReason(r.recoveryConfirm?.label))},children:"重新预填原因"})]}),c.jsxs("div",{className:"recovery-lane","data-testid":"recovery-lane-dag",children:[c.jsx("h3",{children:"DAG 运行恢复"}),c.jsx("p",{className:"muted",children:"针对 `.harness/dag-runs` 的 Agent DAG 运行。橙色为当前建议;带 * 需确认原因。"}),c.jsxs("div",{className:"recovery-cta-row","data-testid":"recovery-cta-row-dag",children:[r.recoveryLanes.dag.map(u=>{const h=u.id===r.recommendedCtaId;return c.jsxs("button",{type:"button",className:h?"btn btn-primary":"btn btn-secondary",disabled:o,title:u.guide,"aria-pressed":r.recoveryConfirm?.id===u.id?!0:void 0,"data-testid":`recovery-cta-${u.id}`,"data-recommended":h?"true":void 0,onClick:()=>{r.handleRecoveryCta(u)},children:[u.label,u.requiresReason?" *":""]},u.id)}),c.jsx("button",{type:"button",className:"btn btn-secondary",disabled:!r.dagRunId.trim(),"data-testid":"recovery-dag-preview",title:"在本页侧栏预览,可关闭返回",onClick:()=>{if(!r.dagRunId.trim()){i.setOpError("侧栏预览需要先选择 DAG 运行 ID");return}r.setInspectSplitOpen(!0)},children:"侧栏预览"})]}),r.recoveryReport?c.jsxs("div",{className:"recovery-report","data-testid":"recovery-report",children:[c.jsxs("div",{className:"recovery-report-header",children:[c.jsx("h3",{children:"交接报告摘要"}),c.jsx("button",{type:"button",className:"btn btn-ghost","data-testid":"recovery-report-close",onClick:()=>r.setRecoveryReport(null),children:"关闭"})]}),c.jsxs("dl",{className:"recovery-report-facts",children:[c.jsxs("div",{children:[c.jsx("dt",{children:"运行"}),c.jsx("dd",{children:c.jsx("code",{children:r.recoveryReport.runId})})]}),r.recoveryReport.title?c.jsxs("div",{children:[c.jsx("dt",{children:"标题"}),c.jsx("dd",{children:r.recoveryReport.title})]}):null,c.jsxs("div",{children:[c.jsx("dt",{children:"状态"}),c.jsx("dd",{children:r.recoveryReport.status??"—"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"失败分类"}),c.jsx("dd",{children:r.recoveryReport.category??"—"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"建议"}),c.jsx("dd",{children:r.recoveryReport.recommendation??"暂无结构化建议"})]})]}),c.jsxs("p",{className:"muted",children:["完整 Markdown 可用 CLI:",c.jsxs("code",{children:["loop-agent dag report --run-id"," ",r.recoveryReport.runId," --markdown"]})]})]}):null,c.jsx(iy,{lane:"dag",cta:r.recoveryConfirm,...d})]}),c.jsxs("div",{className:"recovery-lane","data-testid":"recovery-lane-worker",children:[c.jsx("h3",{children:"Worker Task 重排队"}),c.jsx("p",{className:"muted",children:"针对 agent-worker Task Pool,不是 DAG run。需要 Task ID;Feature ID 可选。"}),c.jsxs("label",{className:"field",children:[c.jsx("span",{className:"muted",children:"Task ID(Worker 重排队必填)"}),c.jsx("input",{"data-testid":"recovery-worker-task-id",value:l.taskId,disabled:o,onChange:u=>l.setTaskId(u.target.value.trim()),placeholder:"harness / worker task-id"})]}),c.jsxs("label",{className:"field",children:[c.jsx("span",{className:"muted",children:"Feature ID(可选)"}),c.jsx("input",{"data-testid":"recovery-feature-id",value:r.featureId,disabled:o,onChange:u=>r.setFeatureId(u.target.value.trim()),placeholder:"feature-id"})]}),c.jsx("div",{className:"recovery-cta-row","data-testid":"recovery-cta-row-worker",children:r.recoveryLanes.worker.length>0?r.recoveryLanes.worker.map(u=>c.jsxs("button",{type:"button",className:u.id===r.recommendedCtaId?"btn btn-primary":"btn btn-secondary",disabled:o,title:u.guide,"data-testid":`recovery-cta-${u.id}`,"data-recommended":u.id===r.recommendedCtaId?"true":void 0,onClick:()=>{r.handleRecoveryCta(u)},children:[u.label,u.requiresReason?" *":""]},u.id)):c.jsx("p",{className:"muted","data-testid":"recovery-worker-unavailable",children:"当前事实分类下不提供 Worker 重排队。"})}),c.jsx(iy,{lane:"worker",cta:r.recoveryConfirm,...d})]}),c.jsx("div",{className:"recovery-cta-row","data-testid":"recovery-cta-row",hidden:!0,children:r.recoveryCtas.map(u=>c.jsx("span",{children:u.id},u.id))}),r.observeLinkMessage?c.jsxs("p",{className:"muted",children:["[",qE[r.observeLinkStatus],"]"," ",r.observeLinkMessage]}):null,r.observeUrl?c.jsx("p",{className:"muted",children:c.jsx("a",{className:"external-link",href:r.observeUrl,children:r.observeUrl})}):null]})}function _N(t){const{health:i,readiness:r,healthError:l,layers:o,setupBlocked:d,degraded:u}=t;return c.jsxs(c.Fragment,{children:[c.jsxs("section",{className:"panel","aria-labelledby":"settings-title",children:[c.jsx("h2",{id:"settings-title",children:"设置"}),c.jsxs("dl",{className:"kv",children:[c.jsxs("div",{children:[c.jsx("dt",{children:"产品"}),c.jsx("dd",{children:i?.productName??"Loop Operator Console"})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"仓库根目录"}),c.jsx("dd",{children:c.jsx("code",{children:i?.repoRoot??"—"})})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"仓库指纹"}),c.jsx("dd",{children:c.jsx("code",{title:i?.repoFingerprint??void 0,children:i?.repoFingerprint?`${i.repoFingerprint.slice(0,12)}…`:"—"})})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"Pi 就绪"}),c.jsxs("dd",{children:[c.jsxs("code",{children:[Lv[r]??r,"(",r,")"]}),d?c.jsx("p",{className:"muted",children:"Pi SDK / 认证 / 模型未就绪。不提供纯表单兜底。请前往「模型与认证」。"}):u?c.jsx("p",{className:"muted",children:"Pi 暂时降级:仍可恢复草稿与需求访谈。"}):null]})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"Inspect"}),c.jsxs("dd",{children:[c.jsx("code",{children:"/inspect/"}),"(同一 Console 进程)"]})]})]}),l?c.jsx("p",{className:"error",children:l}):null]}),c.jsxs("section",{className:"panel","aria-labelledby":"layers-title",children:[c.jsx("h2",{id:"layers-title",children:"完成语义分层"}),c.jsx("p",{className:"muted",children:"MVP 不执行收尾提交;不显示「任务已关闭/已交付」。"}),c.jsxs("dl",{className:"kv","data-testid":"completion-layers",children:[c.jsxs("div",{children:[c.jsx("dt",{children:"命令"}),c.jsx("dd",{children:Ns(o.command)})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"DAG 生命周期"}),c.jsx("dd",{children:Ns(o.dag)})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"最终验证"}),c.jsx("dd",{children:Ns(o.verification)})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"晋升"}),c.jsx("dd",{children:Ns(o.promote)})]}),c.jsxs("div",{children:[c.jsx("dt",{children:"任务关闭"}),c.jsx("dd",{children:"不可用(MVP)"})]})]})]})]})}function LN(t){const{busy:i,degraded:r,taskId:l,assessmentId:o,contractValidateOk:d,contractValidateSummary:u,contractDiffSummary:h,contractApplied:g,spineOk:p,onRerunPreflight:v,onApplyContract:y,onRetrySpine:S}=t;return c.jsxs("div",{"data-testid":"panel-contract",children:[c.jsx("h3",{children:"契约落地"}),c.jsx("p",{className:"muted",children:"进入本步后自动跑确定性校验与差异(非 AI 代判)。写入仓库仍需你人工确认一次;应用成功后会自动跑 Spine 审计。"}),c.jsxs("p",{className:"muted",children:["评估 ID: ",c.jsx("code",{children:o??"—"})]}),c.jsxs("div",{className:"contract-checks",children:[c.jsxs("p",{children:[c.jsx("strong",{children:"校验"}),":"," ",d===null?i?"进行中…":"等待开始":d?"通过":"未通过"]}),u?c.jsx("pre",{className:"cmd","data-testid":"contract-validate-summary",children:u}):null,c.jsxs("p",{children:[c.jsx("strong",{children:"差异"}),h?"":":尚未拉取"]}),h?c.jsx("pre",{className:"cmd","data-testid":"contract-diff-summary",children:h}):null,g?c.jsxs("p",{children:[c.jsx("strong",{children:"Spine"}),":"," ",p===null?"待检查":p?"通过":"未通过"]}):null]}),c.jsxs("div",{className:"cta-row",children:[c.jsx("button",{type:"button",className:"btn btn-secondary",disabled:i||!l.trim(),onClick:v,children:"重新校验"}),c.jsx("button",{type:"button",className:"btn btn-primary","data-testid":"contract-apply",disabled:i||r||!o||d!==!0||g,onClick:y,children:"确认并应用契约"}),g&&p===!1?c.jsx("button",{type:"button",className:"btn btn-primary",disabled:i,onClick:S,children:"重试 Spine"}):null]})]})}function BN(t){const{busy:i,taskId:r,confirmationId:l,confirmationDetails:o,runAction:d,onConfirmAndRun:u}=t;return c.jsxs("div",{"data-testid":"panel-dag-confirm",children:[c.jsx("h3",{children:"DAG 确认(§5.5)"}),c.jsxs("ul",{className:"checklist",children:[c.jsx("li",{children:"源绑定(source)"}),c.jsx("li",{children:"Writer 写集范围(writer-scope)"}),c.jsx("li",{children:"验证命令(verification)"}),c.jsx("li",{children:"人工门禁(human-gates)"})]}),o?c.jsx("pre",{className:"cmd",children:JSON.stringify(o,null,2).slice(0,4e3)}):null,c.jsxs("div",{className:"cta-row",children:[c.jsx("button",{type:"button",className:"btn btn-primary",disabled:i,onClick:()=>{d("prepareDagConfirmation",{taskId:r,dagHandle:`${r}.dag.json`,profile:"auto"})},children:"生成 DAG 并准备确认"}),c.jsx("button",{type:"button",className:"btn btn-primary",disabled:i||!l,onClick:u,children:"开始运行"})]}),l?c.jsxs("p",{className:"muted",children:["确认 ID: ",c.jsx("code",{children:l})]}):null]})}function HN(t){const{busy:i,taskKind:r,onTaskKindChange:l,workflowHint:o,prd:d,engineering:u,onEngineeringChange:h,onImport:g}=t,p=i||d.prdFileReading;return c.jsxs("div",{"data-testid":"panel-import-prd",children:[c.jsx("h3",{children:"导入需求"}),c.jsx("p",{className:"muted",children:"粘贴、选择或拖入一份或多份 PRD / 需求 Markdown。多文件会分别归档到 source/references,并合成一份可编辑正文。创建前可继续编辑。 系统会对 PRD 做确定性/语义结构化;工程边界(路径与验证)须人类确认,不会由模型编造。"}),c.jsxs("label",{className:"field",children:[c.jsx("span",{className:"muted",children:"流程类型"}),c.jsx("select",{"data-testid":"workflow-kind-select",value:r,disabled:i||d.prdFileReading,onChange:v=>l(v.target.value),children:ad.map(v=>c.jsx("option",{value:v.kind,children:v.label},v.kind))})]}),c.jsxs("p",{className:"workflow-hint","data-testid":"workflow-kind-hint",children:[o," · taskKind=",c.jsx("code",{children:r})]}),c.jsxs("div",{className:`prd-drop-zone${d.prdDragOver?" is-dragover":""}`,"data-testid":"prd-drop-zone","data-dragover":d.prdDragOver?"true":"false",onDragEnter:v=>d.onDragEnter(v,p),onDragOver:v=>{v.preventDefault(),v.stopPropagation()},onDragLeave:d.onDragLeave,onDrop:v=>d.onDrop(v,p),children:[c.jsxs("div",{className:"prd-upload-toolbar",children:[c.jsxs("label",{className:`btn btn-ghost prd-upload-btn${p?" is-disabled":""}`,children:["选择需求文档",c.jsx("input",{type:"file",accept:XE,multiple:!0,hidden:!0,disabled:p,"data-testid":"prd-file-input",onChange:v=>{const y=v.currentTarget;d.loadPrdFromFiles(y.files).finally(()=>{y.value=""})}})]}),c.jsxs("span",{className:"muted prd-upload-hint",children:["支持多文件 .md / .markdown / .txt,单文件最大"," ",sd(ld),",最多 ",Vs," 个"]}),d.prdDocuments.length>0?c.jsx("button",{type:"button",className:"btn btn-ghost","data-testid":"prd-recompose",disabled:p,onClick:d.recomposeDocuments,children:"按文件重新合成"}):null]}),d.prdDocuments.length>0?c.jsx("ul",{className:"prd-file-list","data-testid":"prd-file-list",children:d.prdDocuments.map((v,y)=>c.jsxs("li",{className:y===d.prdPrimaryIndex?"is-primary":void 0,"data-testid":`prd-file-item-${y}`,children:[c.jsxs("span",{className:"prd-file-item-name",children:[v.fileName,y===d.prdPrimaryIndex?c.jsx("span",{className:"prd-file-primary-tag",children:"主"}):null,c.jsxs("span",{className:"muted",children:[" ","· ",sd(v.sourceBytes)]})]}),c.jsxs("span",{className:"prd-file-item-actions",children:[c.jsx("button",{type:"button",className:"btn btn-ghost",disabled:p||y===d.prdPrimaryIndex,onClick:()=>d.setPrimaryDocument(y),children:"设为主"}),c.jsx("button",{type:"button",className:"btn btn-ghost",disabled:p||y===0,onClick:()=>d.moveDocument(y,-1),children:"上移"}),c.jsx("button",{type:"button",className:"btn btn-ghost",disabled:p||y===d.prdDocuments.length-1,onClick:()=>d.moveDocument(y,1),children:"下移"}),c.jsx("button",{type:"button",className:"btn btn-ghost",disabled:p,onClick:()=>d.removeDocument(y),children:"移除"})]})]},`${v.fileName}-${y}`))}):null,d.prdDocuments.length>0?c.jsxs("div",{className:"prd-file-meta",children:[c.jsxs("span",{children:["分卷=上传原件(将分别归档);正文=本会话采用稿",d.prdComposedDirty?"(已手动编辑)":""]}),c.jsx("button",{type:"button",className:"btn btn-ghost prd-file-clear","data-testid":"prd-file-clear",disabled:p,onClick:d.clearDocuments,children:"清除来源列表"})]}):null,d.prdDragOver?c.jsx("p",{className:"prd-drop-hint","data-testid":"prd-drop-hint",children:"释放以载入"}):null,c.jsxs("label",{className:"field prd-text-field",children:[c.jsx("span",{className:"muted",children:"PRD Markdown"}),c.jsx("textarea",{rows:10,value:d.prdText,disabled:p,"data-testid":"prd-textarea",onChange:v=>d.onPrdTextChange(v.target.value)})]})]}),d.prdFileError?c.jsx("p",{className:"prd-file-error",role:"alert","aria-live":"polite","data-testid":"prd-file-error",children:d.prdFileError}):null,c.jsxs("details",{className:"engineering-boundary","data-testid":"engineering-boundary",children:[c.jsx("summary",{children:"工程边界(可选,人类确认)"}),c.jsxs("p",{className:"muted",children:["逗号或换行分隔。留空则 intake 后进入访谈补齐;不会自动填",c.jsx("code",{children:"src/worker/console/**"})," 模板。"]}),c.jsxs("label",{className:"field",children:[c.jsx("span",{className:"muted",children:"allowedPaths"}),c.jsx("textarea",{rows:2,value:u.allowedPathsText,disabled:p,"data-testid":"prd-allowed-paths",placeholder:"src/**, test/**",onChange:v=>h({allowedPathsText:v.target.value})})]}),c.jsxs("label",{className:"field",children:[c.jsx("span",{className:"muted",children:"forbiddenPaths"}),c.jsx("textarea",{rows:2,value:u.forbiddenPathsText,disabled:p,"data-testid":"prd-forbidden-paths",placeholder:".harness/**, node_modules/**",onChange:v=>h({forbiddenPathsText:v.target.value})})]}),c.jsxs("label",{className:"field",children:[c.jsx("span",{className:"muted",children:"verifyCommands(label:command 或纯命令)"}),c.jsx("textarea",{rows:2,value:u.verifyCommandsText,disabled:p,"data-testid":"prd-verify-commands",placeholder:"typecheck:npm run typecheck",onChange:v=>h({verifyCommandsText:v.target.value})})]})]}),c.jsx("div",{className:"cta-row",children:c.jsxs("button",{type:"button",className:`btn btn-primary${i?" is-loading":""}`,disabled:i||d.prdFileReading||!d.prdText.trim(),"aria-busy":i||void 0,onClick:g,children:[i?c.jsx("span",{className:"spinner","aria-hidden":"true"}):null,i?"导入中…":"导入并创建任务"]})})]})}function UN(t){const{busy:i,taskId:r,taskTitle:l,taskKind:o,sessionId:d,question:u,answerText:h,onAnswerTextChange:g,draftSummary:p,assessmentId:v,runAction:y}=t;return c.jsxs("div",{"data-testid":"panel-interview",children:[c.jsx("h3",{children:"需求访谈(grill-me)"}),c.jsx("p",{className:"muted",children:"一次一问;也可跳过:系统会按推荐补齐草稿并签发评估,随后进入校验。 访谈中不可应用契约 / 运行 DAG / 对账。"}),p?c.jsx("pre",{className:"cmd","data-testid":"draft-summary",children:JSON.stringify(p,null,2)}):null,c.jsxs("div",{className:"cta-row",style:{marginBottom:"0.75rem"},children:[!d||!u?c.jsx("button",{type:"button",className:"btn btn-primary",disabled:i||!r.trim(),onClick:()=>{y("interviewStart",{taskId:r,title:l,taskKind:o})},children:"开始 / 继续访谈"}):null,c.jsx("button",{type:"button",className:"btn btn-ghost","data-testid":"interview-skip",disabled:i||!r.trim(),onClick:()=>{y("interviewSkip",{taskId:r,title:l,taskKind:o})},children:"跳过访谈"})]}),d&&u?c.jsxs("div",{className:"interview-card",children:[c.jsxs("p",{className:"interview-q",children:[c.jsx("strong",{children:u.id})," · 风险=",Bv[u.risk??""]??u.risk??"—"]}),c.jsx("p",{children:u.text}),u.recommendation?c.jsxs("p",{className:"muted",children:["推荐:",u.recommendation]}):null,c.jsxs("label",{className:"field",children:[c.jsx("span",{className:"muted",children:"你的回答(覆盖推荐)"}),c.jsx("textarea",{rows:3,value:h,disabled:i,onChange:S=>g(S.target.value)})]}),c.jsxs("div",{className:"cta-row",children:[c.jsx("button",{type:"button",className:"btn btn-primary",disabled:i,onClick:()=>{y("interviewTurn",{sessionId:d,questionId:u.id,response:"accept-recommendation"}).then(()=>g(""))},children:"接受推荐"}),c.jsx("button",{type:"button",className:"btn btn-primary",disabled:i||!h.trim(),onClick:()=>{y("interviewTurn",{sessionId:d,questionId:u.id,response:"override",text:h}).then(()=>g(""))},children:"提交自定义回答"}),c.jsx("button",{type:"button",className:"btn btn-secondary",disabled:i||u.risk==="high",onClick:()=>{y("interviewTurn",{sessionId:d,questionId:u.id,response:"defer",text:h||u.recommendation}).then(()=>g(""))},children:"暂缓(非高风险)"})]})]}):null,v?c.jsxs("p",{className:"muted",children:["评估 ID: ",c.jsx("code",{children:v})]}):null]})}function qN(t){const{busy:i,confirmationId:r,operationId:l,dagRunId:o,taskId:d,observeBusy:u,sseLog:h,runAction:g,onStopFollow:p,onShowInspectSplit:v,onOpenInspectSplit:y}=t;return c.jsxs("div",{"data-testid":"panel-run",children:[c.jsx("h3",{children:"运行详情"}),c.jsxs("div",{className:"meta-row",children:[c.jsxs("div",{children:["操作 ID: ",c.jsx("code",{children:l??"—"})]}),c.jsxs("div",{children:["确认 ID: ",c.jsx("code",{children:r??"—"})]})]}),c.jsxs("div",{className:"cta-row",children:[c.jsx("button",{type:"button",className:"btn btn-primary",disabled:i||!r,onClick:()=>{g("runDag",{confirmationId:r},{clientRequestId:Fs("run")})},children:"重新运行"}),c.jsx("button",{type:"button",className:"btn btn-secondary",onClick:p,children:"停止跟随日志"}),c.jsx("button",{type:"button",className:"btn btn-secondary",disabled:!o.trim(),onClick:v,children:"打开检视"}),c.jsx("button",{type:"button",className:"btn btn-ghost",disabled:u||!o.trim()&&!d.trim(),title:"在本页侧栏预览,可关闭返回",onClick:y,children:"侧栏预览"})]}),c.jsx("pre",{className:"cmd","data-testid":"sse-log",children:h.join(`
56
+ `)||"(尚无事件)"})]})}function GN(t){const{shell:i,actions:r,wizard:l,prd:o,recovery:d}=t,{busy:u,step:h,setupBlocked:g,degraded:p}=i;return c.jsxs("section",{className:"panel task-ops","aria-labelledby":"task-ops-title",children:[c.jsx("h2",{id:"task-ops-title",children:"任务操作"}),c.jsx("p",{className:"panel-lead",children:"按 Happy Path 推进;契约落地一步内自动校验,人工确认写入。"}),c.jsx("ol",{className:"wizard-steps","data-testid":"wizard-steps",children:l.wizardSteps.map((v,y)=>c.jsxs("li",{"data-active":h===v.id,"data-done":y<l.stepIndex,children:[c.jsx("span",{className:"step-index",children:String(y+1).padStart(2,"0")}),c.jsx("span",{className:"step-label",children:v.label})]},v.id))}),c.jsxs("label",{className:"field",children:[c.jsx("span",{className:"muted",children:"任务 ID"}),c.jsx("input",{"data-testid":"task-id-input",value:l.taskId,disabled:u||g||h==="import-prd",placeholder:h==="import-prd"?"导入需求后自动生成":"task-id",onChange:v=>l.setTaskId(v.target.value.trim())})]}),l.taskTitle?c.jsxs("p",{className:"workflow-hint","data-testid":"task-title-chip",children:["任务名称:",l.taskTitle]}):null,h!=="import-prd"&&!g?c.jsxs("p",{className:"workflow-hint","data-testid":"workflow-kind-chip",children:["当前流程:",l.workflowMeta.label," ·"," ",c.jsx("code",{children:l.taskKind})]}):null,g||h==="setup"?c.jsxs("div",{className:"empty-state","data-testid":"setup-gate",children:[c.jsx("p",{className:"empty-title",children:"需要先完成设置"}),c.jsx("p",{className:"muted",children:"请先在「模型与认证」完成 Pi 就绪,再导入需求与访谈。"}),c.jsxs("div",{className:"cta-row",children:[c.jsx("button",{type:"button",className:"btn btn-primary",disabled:u,onClick:()=>{i.selectNav("models"),r.runAction("refreshReadiness",{}).then(()=>i.loadHealth())},children:"刷新就绪状态"}),c.jsx("button",{type:"button",className:"btn btn-primary",disabled:u,onClick:()=>{r.runAction("doctor",{})},children:"运行诊断"}),c.jsx("pre",{className:"cmd",children:_v})]})]}):c.jsxs("div",{className:"wizard-body","data-testid":"wizard-body",children:[h==="import-prd"&&c.jsx(HN,{busy:u,taskKind:l.taskKind,onTaskKindChange:l.setTaskKind,workflowHint:l.workflowMeta.hint,prd:o,engineering:l.engineering,onEngineeringChange:l.setEngineering,onImport:()=>{l.importPrdAndCreate()}}),h==="interview"&&c.jsx(UN,{busy:u,taskId:l.taskId,taskTitle:l.taskTitle,taskKind:l.taskKind,sessionId:l.sessionId,question:l.question,answerText:l.answerText,onAnswerTextChange:l.setAnswerText,draftSummary:l.draftSummary,assessmentId:l.assessmentId,runAction:r.runAction}),h==="contract"&&c.jsx(LN,{busy:u,degraded:p,taskId:l.taskId,assessmentId:l.assessmentId,contractValidateOk:l.contractValidateOk,contractValidateSummary:l.contractValidateSummary,contractDiffSummary:l.contractDiffSummary,contractApplied:l.contractApplied,spineOk:l.spineOk,onRerunPreflight:()=>{l.runContractPreflight(!0)},onApplyContract:()=>{l.applyContractThenSpine()},onRetrySpine:()=>{l.retrySpineOnly()}}),h==="dag-confirm"&&c.jsx(BN,{busy:u,taskId:l.taskId,confirmationId:r.confirmationId,confirmationDetails:r.confirmationDetails,runAction:r.runAction,onConfirmAndRun:()=>{l.confirmAndRunDag()}}),h==="run"&&c.jsx(qN,{busy:u,confirmationId:r.confirmationId,operationId:r.operationId,dagRunId:d.dagRunId,taskId:l.taskId,observeBusy:i.observeBusy,sseLog:r.sseLog,runAction:r.runAction,onStopFollow:r.stopFollowSse,onShowInspectSplit:()=>d.setInspectSplitOpen(!0),onOpenInspectSplit:()=>{d.openInspectSplit()}})]})]})}const $N={};function FN(){const t=VE(),i=k.useRef(()=>{}),r=k.useCallback(v=>i.current(v),[]),l=YE({shell:t,applyInterviewPayload:r}),o=uN(),d=jN({shell:t,actions:l,prd:o}),u=CN({shell:t,actions:l,wizard:d});k.useEffect(()=>{i.current=d.applyInterviewPayload}),k.useEffect(()=>{t.loadHealth()},[t.loadHealth]);const h=k.useCallback((v,y={})=>{t.selectNav(v),y.taskId&&d.setTaskId(y.taskId),y.dagRunId&&u.setDagRunId(y.dagRunId),y.fromNodeId&&u.setFromNodeId(y.fromNodeId),y.featureId&&u.setFeatureId(y.featureId);const S=jy(v,y);window.location.hash.replace(/^#/,"")!==S&&(window.location.hash=S)},[t.selectNav,d.setTaskId,u.setDagRunId,u.setFromNodeId,u.setFeatureId]),g=k.useCallback(()=>{const v=zS(window.location);if(v){h(v.workspace,v);return}const y=Cy({env:$N?.VITE_OPERATOR_CHAT_DEFAULT_LANDING,storage:window.localStorage,location:window.location});h(y,{})},[h]);k.useEffect(()=>(g(),window.addEventListener("hashchange",g),()=>window.removeEventListener("hashchange",g)),[g]);const p=t.nav==="recovery"&&u.dagRunId.trim()?`/inspect/#/dag/${encodeURIComponent(u.dagRunId.trim())}?from=recovery`:"/inspect/#/";return c.jsx(c.Fragment,{children:c.jsxs("div",{className:`console-app${t.nav==="chat"?" is-chat-focus":""}`,children:[c.jsx(AN,{nav:t.nav,readiness:t.readiness,setupBlocked:t.setupBlocked,degraded:t.degraded,health:t.health,inspectHref:p}),c.jsxs("div",{className:`console-shell${t.nav==="chat"?" is-chat-focus":""}`,children:[c.jsx(IN,{opError:t.opError,opMessage:t.opMessage}),c.jsxs("main",{className:`console-main${t.nav==="chat"?" console-main--fill":""}`,children:[t.nav==="tasks"?c.jsx(GN,{shell:t,actions:l,wizard:d,prd:o,recovery:u}):null,t.nav==="recovery"?c.jsx(zN,{shell:t,recovery:u,wizard:d}):null,t.nav==="night"?c.jsx(E1,{busy:t.busy,runAction:l.runAction,isActionSuccess:l.isActionSuccess,setOpError:t.setOpError}):null,t.nav==="models"?c.jsx(MN,{busy:t.busy,readiness:t.readiness,readinessReport:t.readinessReport,health:t.health,onRefreshReadiness:()=>{l.runAction("refreshReadiness",{}).then(()=>t.loadHealth())}}):null,t.nav==="chat"?c.jsxs("section",{className:"panel panel--chat","aria-labelledby":"chat-title",children:[c.jsx("h2",{id:"chat-title",className:"sr-only",children:"对话"}),c.jsx(HE,{origin:"",readiness:t.readiness,surface:"workspace",onNavigateWorkspace:h})]}):null,t.nav==="settings"?c.jsx(_N,{health:t.health,readiness:t.readiness,healthError:t.healthError,layers:t.layers,setupBlocked:t.setupBlocked,degraded:t.degraded}):null]}),u.inspectSplitOpen&&u.dagRunId.trim()?c.jsx(p1,{dagRunId:u.dagRunId.trim(),nodeId:u.fromNodeId.trim()||void 0,onClose:()=>u.setInspectSplitOpen(!1),onOpenFull:u.openFullInspect}):null]})]})})}const Vv=document.getElementById("root");if(!Vv)throw new Error("Loop Operator Console: #root missing");h1.createRoot(Vv).render(c.jsx(k.StrictMode,{children:c.jsx(FN,{})}));