autoforge-ai 0.1.13 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/commands/review-pr.md +4 -4
- package/mcp_server/feature_mcp.py +15 -2
- package/package.json +1 -1
- package/requirements-prod.txt +1 -1
- package/server/services/assistant_chat_session.py +64 -31
- package/server/services/chat_constants.py +40 -0
- package/server/services/expand_chat_session.py +67 -18
- package/server/services/spec_chat_session.py +146 -111
- package/ui/dist/assets/{index-CxuZ3Odc.js → index-Cab_i6Vt.js} +21 -21
- package/ui/dist/index.html +1 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import{u as gt,b as Qe,c as Ze,r as f,j as n,Q as vp,d as bp}from"./vendor-query-BUABzP5o.js";import{r as jp,a as Sp,g as Np}from"./vendor-react-qkC6yhPU.js";import{c as Hi,t as Cp,a as wp,I as zp,B as Cu,U as Tp,b as wu,C as sa,d as $t,F as Ep,E as zu,X as nt,e as za,R as Sn,P as Vi,S as Fi,L as Ce,Z as Ap,A as xh,W as fl,f as ml,g as Qi,h as gh,i as Rm,H as Dp,j as Xi,k as Um,l as yu,T as Ta,m as hs,n as tn,o as en,G as hl,M as Tu,p as Ji,q as ol,r as Nn,s as _p,u as dl,v as Mp,w as kp,x as Op,y as ph,z as Rp,D as Bm,J as Up,K as Bp,N as Hp,O as qp,Q as Lp,V as vu,Y as Gp,_ as Qp,$ as Ki,a0 as Yp,a1 as Vp,a2 as yh,a3 as vh,a4 as bh,a5 as Xp,a6 as Kp,a7 as Zp,a8 as Fp,a9 as Jp,aa as jh,ab as Sh,ac as Hm,ad as $p,ae as Wp,af as Ip,ag as Pp,ah as ey,ai as ty,aj as ay,ak as ny,al as ly,am as sy}from"./vendor-utils-BaL7xioT.js";import{r as Nh,a as iy,M as cy,u as ry,b as uy,i as oy,C as dy,B as fy,c as my,d as hy,P as ul,H as qm}from"./vendor-flow-CVNK-_lx.js";import{M as xy,r as gy}from"./vendor-markdown-lmnOnLXp.js";import{S as Ch,R as py,C as yy,a as wh,T as vy,D as by,P as jy,O as Sy,b as Ny,c as Cy,d as wy,e as zy,f as Ty,I as Ey,g as Ay,h as Dy,i as _y,j as My,k as ky,l as Oy,m as zh,n as Ry,o as Th,u as Uy,p as By,q as Hy,r as Eh,A as qy,s as rl,t as Ah,v as Ly,w as Gy,x as Qy,y as Yy}from"./vendor-radix-DjWauVBs.js";import{D as Vy,o as Xy}from"./vendor-xterm-DP_gxef0.js";(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const h of document.querySelectorAll('link[rel="modulepreload"]'))o(h);new MutationObserver(h=>{for(const x of h)if(x.type==="childList")for(const y of x.addedNodes)y.tagName==="LINK"&&y.rel==="modulepreload"&&o(y)}).observe(document,{childList:!0,subtree:!0});function d(h){const x={};return h.integrity&&(x.integrity=h.integrity),h.referrerPolicy&&(x.referrerPolicy=h.referrerPolicy),h.crossOrigin==="use-credentials"?x.credentials="include":h.crossOrigin==="anonymous"?x.credentials="omit":x.credentials="same-origin",x}function o(h){if(h.ep)return;h.ep=!0;const x=d(h);fetch(h.href,x)}})();var hu={exports:{}},us={},xu={exports:{}},gu={};var Lm;function Ky(){return Lm||(Lm=1,(function(i){function r(g,D){var ee=g.length;g.push(D);e:for(;0<ee;){var te=ee-1>>>1,fe=g[te];if(0<h(fe,D))g[te]=D,g[ee]=fe,ee=te;else break e}}function d(g){return g.length===0?null:g[0]}function o(g){if(g.length===0)return null;var D=g[0],ee=g.pop();if(ee!==D){g[0]=ee;e:for(var te=0,fe=g.length,ue=fe>>>1;te<ue;){var ae=2*(te+1)-1,ie=g[ae],Ue=ae+1,ot=g[Ue];if(0>h(ie,ee))Ue<fe&&0>h(ot,ie)?(g[te]=ot,g[Ue]=ee,te=Ue):(g[te]=ie,g[ae]=ee,te=ae);else if(Ue<fe&&0>h(ot,ee))g[te]=ot,g[Ue]=ee,te=Ue;else break e}}return D}function h(g,D){var ee=g.sortIndex-D.sortIndex;return ee!==0?ee:g.id-D.id}if(i.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var x=performance;i.unstable_now=function(){return x.now()}}else{var y=Date,v=y.now();i.unstable_now=function(){return y.now()-v}}var p=[],S=[],T=1,E=null,B=3,w=!1,O=!1,U=!1,z=!1,_=typeof setTimeout=="function"?setTimeout:null,b=typeof clearTimeout=="function"?clearTimeout:null,N=typeof setImmediate<"u"?setImmediate:null;function L(g){for(var D=d(S);D!==null;){if(D.callback===null)o(S);else if(D.startTime<=g)o(S),D.sortIndex=D.expirationTime,r(p,D);else break;D=d(S)}}function J(g){if(U=!1,L(g),!O)if(d(p)!==null)O=!0,W||(W=!0,H());else{var D=d(S);D!==null&&Y(J,D.startTime-g)}}var W=!1,X=-1,I=5,Q=-1;function le(){return z?!0:!(i.unstable_now()-Q<I)}function P(){if(z=!1,W){var g=i.unstable_now();Q=g;var D=!0;try{e:{O=!1,U&&(U=!1,b(X),X=-1),w=!0;var ee=B;try{t:{for(L(g),E=d(p);E!==null&&!(E.expirationTime>g&&le());){var te=E.callback;if(typeof te=="function"){E.callback=null,B=E.priorityLevel;var fe=te(E.expirationTime<=g);if(g=i.unstable_now(),typeof fe=="function"){E.callback=fe,L(g),D=!0;break t}E===d(p)&&o(p),L(g)}else o(p);E=d(p)}if(E!==null)D=!0;else{var ue=d(S);ue!==null&&Y(J,ue.startTime-g),D=!1}}break e}finally{E=null,B=ee,w=!1}D=void 0}}finally{D?H():W=!1}}}var H;if(typeof N=="function")H=function(){N(P)};else if(typeof MessageChannel<"u"){var $=new MessageChannel,Z=$.port2;$.port1.onmessage=P,H=function(){Z.postMessage(null)}}else H=function(){_(P,0)};function Y(g,D){X=_(function(){g(i.unstable_now())},D)}i.unstable_IdlePriority=5,i.unstable_ImmediatePriority=1,i.unstable_LowPriority=4,i.unstable_NormalPriority=3,i.unstable_Profiling=null,i.unstable_UserBlockingPriority=2,i.unstable_cancelCallback=function(g){g.callback=null},i.unstable_forceFrameRate=function(g){0>g||125<g?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):I=0<g?Math.floor(1e3/g):5},i.unstable_getCurrentPriorityLevel=function(){return B},i.unstable_next=function(g){switch(B){case 1:case 2:case 3:var D=3;break;default:D=B}var ee=B;B=D;try{return g()}finally{B=ee}},i.unstable_requestPaint=function(){z=!0},i.unstable_runWithPriority=function(g,D){switch(g){case 1:case 2:case 3:case 4:case 5:break;default:g=3}var ee=B;B=g;try{return D()}finally{B=ee}},i.unstable_scheduleCallback=function(g,D,ee){var te=i.unstable_now();switch(typeof ee=="object"&&ee!==null?(ee=ee.delay,ee=typeof ee=="number"&&0<ee?te+ee:te):ee=te,g){case 1:var fe=-1;break;case 2:fe=250;break;case 5:fe=1073741823;break;case 4:fe=1e4;break;default:fe=5e3}return fe=ee+fe,g={id:T++,callback:D,priorityLevel:g,startTime:ee,expirationTime:fe,sortIndex:-1},ee>te?(g.sortIndex=ee,r(S,g),d(p)===null&&g===d(S)&&(U?(b(X),X=-1):U=!0,Y(J,ee-te))):(g.sortIndex=fe,r(p,g),O||w||(O=!0,W||(W=!0,H()))),g},i.unstable_shouldYield=le,i.unstable_wrapCallback=function(g){var D=B;return function(){var ee=B;B=D;try{return g.apply(this,arguments)}finally{B=ee}}}})(gu)),gu}var Gm;function Zy(){return Gm||(Gm=1,xu.exports=Ky()),xu.exports}var Qm;function Fy(){if(Qm)return us;Qm=1;var i=Zy(),r=jp(),d=Sp();function o(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function h(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function x(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(a=t.return),e=t.return;while(e)}return t.tag===3?a:null}function y(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function v(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function p(e){if(x(e)!==e)throw Error(o(188))}function S(e){var t=e.alternate;if(!t){if(t=x(e),t===null)throw Error(o(188));return t!==e?null:e}for(var a=e,l=t;;){var s=a.return;if(s===null)break;var c=s.alternate;if(c===null){if(l=s.return,l!==null){a=l;continue}break}if(s.child===c.child){for(c=s.child;c;){if(c===a)return p(s),e;if(c===l)return p(s),t;c=c.sibling}throw Error(o(188))}if(a.return!==l.return)a=s,l=c;else{for(var u=!1,m=s.child;m;){if(m===a){u=!0,a=s,l=c;break}if(m===l){u=!0,l=s,a=c;break}m=m.sibling}if(!u){for(m=c.child;m;){if(m===a){u=!0,a=c,l=s;break}if(m===l){u=!0,l=c,a=s;break}m=m.sibling}if(!u)throw Error(o(189))}}if(a.alternate!==l)throw Error(o(190))}if(a.tag!==3)throw Error(o(188));return a.stateNode.current===a?e:t}function T(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=T(e),t!==null)return t;e=e.sibling}return null}var E=Object.assign,B=Symbol.for("react.element"),w=Symbol.for("react.transitional.element"),O=Symbol.for("react.portal"),U=Symbol.for("react.fragment"),z=Symbol.for("react.strict_mode"),_=Symbol.for("react.profiler"),b=Symbol.for("react.consumer"),N=Symbol.for("react.context"),L=Symbol.for("react.forward_ref"),J=Symbol.for("react.suspense"),W=Symbol.for("react.suspense_list"),X=Symbol.for("react.memo"),I=Symbol.for("react.lazy"),Q=Symbol.for("react.activity"),le=Symbol.for("react.memo_cache_sentinel"),P=Symbol.iterator;function H(e){return e===null||typeof e!="object"?null:(e=P&&e[P]||e["@@iterator"],typeof e=="function"?e:null)}var $=Symbol.for("react.client.reference");function Z(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===$?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case U:return"Fragment";case _:return"Profiler";case z:return"StrictMode";case J:return"Suspense";case W:return"SuspenseList";case Q:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case O:return"Portal";case N:return e.displayName||"Context";case b:return(e._context.displayName||"Context")+".Consumer";case L:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case X:return t=e.displayName||null,t!==null?t:Z(e.type)||"Memo";case I:t=e._payload,e=e._init;try{return Z(e(t))}catch{}}return null}var Y=Array.isArray,g=r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,D=d.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ee={pending:!1,data:null,method:null,action:null},te=[],fe=-1;function ue(e){return{current:e}}function ae(e){0>fe||(e.current=te[fe],te[fe]=null,fe--)}function ie(e,t){fe++,te[fe]=e.current,e.current=t}var Ue=ue(null),ot=ue(null),ht=ue(null),ia=ue(null);function ca(e,t){switch(ie(ht,t),ie(ot,e),ie(Ue,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?lm(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=lm(t),e=sm(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}ae(Ue),ie(Ue,e)}function ne(){ae(Ue),ae(ot),ae(ht)}function de(e){e.memoizedState!==null&&ie(ia,e);var t=Ue.current,a=sm(t,e.type);t!==a&&(ie(ot,e),ie(Ue,a))}function Be(e){ot.current===e&&(ae(Ue),ae(ot)),ia.current===e&&(ae(ia),ss._currentValue=ee)}var Ct,Kt;function dt(e){if(Ct===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);Ct=t&&t[1]||"",Kt=-1<a.stack.indexOf(`
|
|
1
|
+
import{u as gt,b as Qe,c as Ze,r as f,j as n,Q as vp,d as bp}from"./vendor-query-BUABzP5o.js";import{r as jp,a as Sp,g as Np}from"./vendor-react-qkC6yhPU.js";import{c as qi,t as Cp,a as wp,I as zp,B as Cu,U as Tp,b as wu,C as sa,d as Jt,F as Ep,E as zu,X as nt,e as za,R as Sn,P as Vi,S as Fi,L as Ce,Z as Ap,A as xh,W as ml,f as hl,g as Qi,h as gh,i as Rm,H as Dp,j as Xi,k as Um,l as yu,T as Ta,m as xs,n as an,o as tn,G as xl,M as Tu,p as $i,q as dl,r as Nn,s as _p,u as fl,v as Mp,w as kp,x as Op,y as ph,z as Rp,D as Bm,J as Up,K as Bp,N as Hp,O as qp,Q as Lp,V as vu,Y as Gp,_ as Qp,$ as Ki,a0 as Yp,a1 as Vp,a2 as yh,a3 as vh,a4 as bh,a5 as Xp,a6 as Kp,a7 as Zp,a8 as Fp,a9 as $p,aa as jh,ab as Sh,ac as Hm,ad as Jp,ae as Wp,af as Ip,ag as Pp,ah as ey,ai as ty,aj as ay,ak as ny,al as ly,am as sy}from"./vendor-utils-BaL7xioT.js";import{r as Nh,a as iy,M as cy,u as ry,b as uy,i as oy,C as dy,B as fy,c as my,d as hy,P as ol,H as qm}from"./vendor-flow-CVNK-_lx.js";import{M as xy,r as gy}from"./vendor-markdown-lmnOnLXp.js";import{S as Ch,R as py,C as yy,a as wh,T as vy,D as by,P as jy,O as Sy,b as Ny,c as Cy,d as wy,e as zy,f as Ty,I as Ey,g as Ay,h as Dy,i as _y,j as My,k as ky,l as Oy,m as zh,n as Ry,o as Th,u as Uy,p as By,q as Hy,r as Eh,A as qy,s as rl,t as Ah,v as Ly,w as Gy,x as Qy,y as Yy}from"./vendor-radix-DjWauVBs.js";import{D as Vy,o as Xy}from"./vendor-xterm-DP_gxef0.js";(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const h of document.querySelectorAll('link[rel="modulepreload"]'))o(h);new MutationObserver(h=>{for(const x of h)if(x.type==="childList")for(const y of x.addedNodes)y.tagName==="LINK"&&y.rel==="modulepreload"&&o(y)}).observe(document,{childList:!0,subtree:!0});function d(h){const x={};return h.integrity&&(x.integrity=h.integrity),h.referrerPolicy&&(x.referrerPolicy=h.referrerPolicy),h.crossOrigin==="use-credentials"?x.credentials="include":h.crossOrigin==="anonymous"?x.credentials="omit":x.credentials="same-origin",x}function o(h){if(h.ep)return;h.ep=!0;const x=d(h);fetch(h.href,x)}})();var hu={exports:{}},os={},xu={exports:{}},gu={};var Lm;function Ky(){return Lm||(Lm=1,(function(i){function r(g,D){var ee=g.length;g.push(D);e:for(;0<ee;){var te=ee-1>>>1,fe=g[te];if(0<h(fe,D))g[te]=D,g[ee]=fe,ee=te;else break e}}function d(g){return g.length===0?null:g[0]}function o(g){if(g.length===0)return null;var D=g[0],ee=g.pop();if(ee!==D){g[0]=ee;e:for(var te=0,fe=g.length,ue=fe>>>1;te<ue;){var ae=2*(te+1)-1,ie=g[ae],Ue=ae+1,ot=g[Ue];if(0>h(ie,ee))Ue<fe&&0>h(ot,ie)?(g[te]=ot,g[Ue]=ee,te=Ue):(g[te]=ie,g[ae]=ee,te=ae);else if(Ue<fe&&0>h(ot,ee))g[te]=ot,g[Ue]=ee,te=Ue;else break e}}return D}function h(g,D){var ee=g.sortIndex-D.sortIndex;return ee!==0?ee:g.id-D.id}if(i.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var x=performance;i.unstable_now=function(){return x.now()}}else{var y=Date,v=y.now();i.unstable_now=function(){return y.now()-v}}var p=[],S=[],T=1,E=null,B=3,w=!1,O=!1,U=!1,z=!1,_=typeof setTimeout=="function"?setTimeout:null,b=typeof clearTimeout=="function"?clearTimeout:null,N=typeof setImmediate<"u"?setImmediate:null;function L(g){for(var D=d(S);D!==null;){if(D.callback===null)o(S);else if(D.startTime<=g)o(S),D.sortIndex=D.expirationTime,r(p,D);else break;D=d(S)}}function $(g){if(U=!1,L(g),!O)if(d(p)!==null)O=!0,W||(W=!0,H());else{var D=d(S);D!==null&&Y($,D.startTime-g)}}var W=!1,K=-1,I=5,Q=-1;function le(){return z?!0:!(i.unstable_now()-Q<I)}function P(){if(z=!1,W){var g=i.unstable_now();Q=g;var D=!0;try{e:{O=!1,U&&(U=!1,b(K),K=-1),w=!0;var ee=B;try{t:{for(L(g),E=d(p);E!==null&&!(E.expirationTime>g&&le());){var te=E.callback;if(typeof te=="function"){E.callback=null,B=E.priorityLevel;var fe=te(E.expirationTime<=g);if(g=i.unstable_now(),typeof fe=="function"){E.callback=fe,L(g),D=!0;break t}E===d(p)&&o(p),L(g)}else o(p);E=d(p)}if(E!==null)D=!0;else{var ue=d(S);ue!==null&&Y($,ue.startTime-g),D=!1}}break e}finally{E=null,B=ee,w=!1}D=void 0}}finally{D?H():W=!1}}}var H;if(typeof N=="function")H=function(){N(P)};else if(typeof MessageChannel<"u"){var J=new MessageChannel,X=J.port2;J.port1.onmessage=P,H=function(){X.postMessage(null)}}else H=function(){_(P,0)};function Y(g,D){K=_(function(){g(i.unstable_now())},D)}i.unstable_IdlePriority=5,i.unstable_ImmediatePriority=1,i.unstable_LowPriority=4,i.unstable_NormalPriority=3,i.unstable_Profiling=null,i.unstable_UserBlockingPriority=2,i.unstable_cancelCallback=function(g){g.callback=null},i.unstable_forceFrameRate=function(g){0>g||125<g?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):I=0<g?Math.floor(1e3/g):5},i.unstable_getCurrentPriorityLevel=function(){return B},i.unstable_next=function(g){switch(B){case 1:case 2:case 3:var D=3;break;default:D=B}var ee=B;B=D;try{return g()}finally{B=ee}},i.unstable_requestPaint=function(){z=!0},i.unstable_runWithPriority=function(g,D){switch(g){case 1:case 2:case 3:case 4:case 5:break;default:g=3}var ee=B;B=g;try{return D()}finally{B=ee}},i.unstable_scheduleCallback=function(g,D,ee){var te=i.unstable_now();switch(typeof ee=="object"&&ee!==null?(ee=ee.delay,ee=typeof ee=="number"&&0<ee?te+ee:te):ee=te,g){case 1:var fe=-1;break;case 2:fe=250;break;case 5:fe=1073741823;break;case 4:fe=1e4;break;default:fe=5e3}return fe=ee+fe,g={id:T++,callback:D,priorityLevel:g,startTime:ee,expirationTime:fe,sortIndex:-1},ee>te?(g.sortIndex=ee,r(S,g),d(p)===null&&g===d(S)&&(U?(b(K),K=-1):U=!0,Y($,ee-te))):(g.sortIndex=fe,r(p,g),O||w||(O=!0,W||(W=!0,H()))),g},i.unstable_shouldYield=le,i.unstable_wrapCallback=function(g){var D=B;return function(){var ee=B;B=D;try{return g.apply(this,arguments)}finally{B=ee}}}})(gu)),gu}var Gm;function Zy(){return Gm||(Gm=1,xu.exports=Ky()),xu.exports}var Qm;function Fy(){if(Qm)return os;Qm=1;var i=Zy(),r=jp(),d=Sp();function o(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function h(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function x(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(a=t.return),e=t.return;while(e)}return t.tag===3?a:null}function y(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function v(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function p(e){if(x(e)!==e)throw Error(o(188))}function S(e){var t=e.alternate;if(!t){if(t=x(e),t===null)throw Error(o(188));return t!==e?null:e}for(var a=e,l=t;;){var s=a.return;if(s===null)break;var c=s.alternate;if(c===null){if(l=s.return,l!==null){a=l;continue}break}if(s.child===c.child){for(c=s.child;c;){if(c===a)return p(s),e;if(c===l)return p(s),t;c=c.sibling}throw Error(o(188))}if(a.return!==l.return)a=s,l=c;else{for(var u=!1,m=s.child;m;){if(m===a){u=!0,a=s,l=c;break}if(m===l){u=!0,l=s,a=c;break}m=m.sibling}if(!u){for(m=c.child;m;){if(m===a){u=!0,a=c,l=s;break}if(m===l){u=!0,l=c,a=s;break}m=m.sibling}if(!u)throw Error(o(189))}}if(a.alternate!==l)throw Error(o(190))}if(a.tag!==3)throw Error(o(188));return a.stateNode.current===a?e:t}function T(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=T(e),t!==null)return t;e=e.sibling}return null}var E=Object.assign,B=Symbol.for("react.element"),w=Symbol.for("react.transitional.element"),O=Symbol.for("react.portal"),U=Symbol.for("react.fragment"),z=Symbol.for("react.strict_mode"),_=Symbol.for("react.profiler"),b=Symbol.for("react.consumer"),N=Symbol.for("react.context"),L=Symbol.for("react.forward_ref"),$=Symbol.for("react.suspense"),W=Symbol.for("react.suspense_list"),K=Symbol.for("react.memo"),I=Symbol.for("react.lazy"),Q=Symbol.for("react.activity"),le=Symbol.for("react.memo_cache_sentinel"),P=Symbol.iterator;function H(e){return e===null||typeof e!="object"?null:(e=P&&e[P]||e["@@iterator"],typeof e=="function"?e:null)}var J=Symbol.for("react.client.reference");function X(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===J?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case U:return"Fragment";case _:return"Profiler";case z:return"StrictMode";case $:return"Suspense";case W:return"SuspenseList";case Q:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case O:return"Portal";case N:return e.displayName||"Context";case b:return(e._context.displayName||"Context")+".Consumer";case L:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case K:return t=e.displayName||null,t!==null?t:X(e.type)||"Memo";case I:t=e._payload,e=e._init;try{return X(e(t))}catch{}}return null}var Y=Array.isArray,g=r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,D=d.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ee={pending:!1,data:null,method:null,action:null},te=[],fe=-1;function ue(e){return{current:e}}function ae(e){0>fe||(e.current=te[fe],te[fe]=null,fe--)}function ie(e,t){fe++,te[fe]=e.current,e.current=t}var Ue=ue(null),ot=ue(null),ht=ue(null),ia=ue(null);function ca(e,t){switch(ie(ht,t),ie(ot,e),ie(Ue,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?lm(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=lm(t),e=sm(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}ae(Ue),ie(Ue,e)}function ne(){ae(Ue),ae(ot),ae(ht)}function de(e){e.memoizedState!==null&&ie(ia,e);var t=Ue.current,a=sm(t,e.type);t!==a&&(ie(ot,e),ie(Ue,a))}function Be(e){ot.current===e&&(ae(Ue),ae(ot)),ia.current===e&&(ae(ia),is._currentValue=ee)}var Ct,Kt;function dt(e){if(Ct===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);Ct=t&&t[1]||"",Kt=-1<a.stack.indexOf(`
|
|
2
2
|
at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
3
|
-
`+Ct+e+Kt}var Fe=!1;function be(e,t){if(!e||Fe)return"";Fe=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var l={DetermineComponentFrameRoot:function(){try{if(t){var
|
|
3
|
+
`+Ct+e+Kt}var Fe=!1;function be(e,t){if(!e||Fe)return"";Fe=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var l={DetermineComponentFrameRoot:function(){try{if(t){var Z=function(){throw Error()};if(Object.defineProperty(Z.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Z,[])}catch(q){var R=q}Reflect.construct(e,[],Z)}else{try{Z.call()}catch(q){R=q}e.call(Z.prototype)}}else{try{throw Error()}catch(q){R=q}(Z=e())&&typeof Z.catch=="function"&&Z.catch(function(){})}}catch(q){if(q&&R&&typeof q.stack=="string")return[q.stack,R.stack]}return[null,null]}};l.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var s=Object.getOwnPropertyDescriptor(l.DetermineComponentFrameRoot,"name");s&&s.configurable&&Object.defineProperty(l.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var c=l.DetermineComponentFrameRoot(),u=c[0],m=c[1];if(u&&m){var j=u.split(`
|
|
4
4
|
`),k=m.split(`
|
|
5
5
|
`);for(s=l=0;l<j.length&&!j[l].includes("DetermineComponentFrameRoot");)l++;for(;s<k.length&&!k[s].includes("DetermineComponentFrameRoot");)s++;if(l===j.length||s===k.length)for(l=j.length-1,s=k.length-1;1<=l&&0<=s&&j[l]!==k[s];)s--;for(;1<=l&&0<=s;l--,s--)if(j[l]!==k[s]){if(l!==1||s!==1)do if(l--,s--,0>s||j[l]!==k[s]){var G=`
|
|
6
|
-
`+j[l].replace(" at new "," at ");return e.displayName&&G.includes("<anonymous>")&&(G=G.replace("<anonymous>",e.displayName)),G}while(1<=l&&0<=s);break}}}finally{Fe=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?dt(a):""}function wt(e,t){switch(e.tag){case 26:case 27:case 5:return dt(e.type);case 16:return dt("Lazy");case 13:return e.child!==t&&t!==null?dt("Suspense Fallback"):dt("Suspense");case 19:return dt("SuspenseList");case 0:case 15:return be(e.type,!1);case 11:return be(e.type.render,!1);case 1:return be(e.type,!0);case 31:return dt("Activity");default:return""}}function
|
|
6
|
+
`+j[l].replace(" at new "," at ");return e.displayName&&G.includes("<anonymous>")&&(G=G.replace("<anonymous>",e.displayName)),G}while(1<=l&&0<=s);break}}}finally{Fe=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?dt(a):""}function wt(e,t){switch(e.tag){case 26:case 27:case 5:return dt(e.type);case 16:return dt("Lazy");case 13:return e.child!==t&&t!==null?dt("Suspense Fallback"):dt("Suspense");case 19:return dt("SuspenseList");case 0:case 15:return be(e.type,!1);case 11:return be(e.type.render,!1);case 1:return be(e.type,!0);case 31:return dt("Activity");default:return""}}function js(e){try{var t="",a=null;do t+=wt(e,a),a=e,e=e.return;while(e);return t}catch(l){return`
|
|
7
7
|
Error generating stack: `+l.message+`
|
|
8
|
-
`+l.stack}}var Pi=Object.prototype.hasOwnProperty,ec=i.unstable_scheduleCallback,tc=i.unstable_cancelCallback,Wh=i.unstable_shouldYield,Ih=i.unstable_requestPaint,zt=i.unstable_now,Ph=i.unstable_getCurrentPriorityLevel,Ou=i.unstable_ImmediatePriority,Ru=i.unstable_UserBlockingPriority,js=i.unstable_NormalPriority,ex=i.unstable_LowPriority,Uu=i.unstable_IdlePriority,tx=i.log,ax=i.unstable_setDisableYieldValue,pl=null,Tt=null;function Aa(e){if(typeof tx=="function"&&ax(e),Tt&&typeof Tt.setStrictMode=="function")try{Tt.setStrictMode(pl,e)}catch{}}var Et=Math.clz32?Math.clz32:sx,nx=Math.log,lx=Math.LN2;function sx(e){return e>>>=0,e===0?32:31-(nx(e)/lx|0)|0}var Ss=256,Ns=262144,Cs=4194304;function an(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ws(e,t,a){var l=e.pendingLanes;if(l===0)return 0;var s=0,c=e.suspendedLanes,u=e.pingedLanes;e=e.warmLanes;var m=l&134217727;return m!==0?(l=m&~c,l!==0?s=an(l):(u&=m,u!==0?s=an(u):a||(a=m&~e,a!==0&&(s=an(a))))):(m=l&~c,m!==0?s=an(m):u!==0?s=an(u):a||(a=l&~e,a!==0&&(s=an(a)))),s===0?0:t!==0&&t!==s&&(t&c)===0&&(c=s&-s,a=t&-t,c>=a||c===32&&(a&4194048)!==0)?t:s}function yl(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function ix(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Bu(){var e=Cs;return Cs<<=1,(Cs&62914560)===0&&(Cs=4194304),e}function ac(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function vl(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function cx(e,t,a,l,s,c){var u=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 m=e.entanglements,j=e.expirationTimes,k=e.hiddenUpdates;for(a=u&~a;0<a;){var G=31-Et(a),K=1<<G;m[G]=0,j[G]=-1;var R=k[G];if(R!==null)for(k[G]=null,G=0;G<R.length;G++){var q=R[G];q!==null&&(q.lane&=-536870913)}a&=~K}l!==0&&Hu(e,l,0),c!==0&&s===0&&e.tag!==0&&(e.suspendedLanes|=c&~(u&~t))}function Hu(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var l=31-Et(t);e.entangledLanes|=t,e.entanglements[l]=e.entanglements[l]|1073741824|a&261930}function qu(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var l=31-Et(a),s=1<<l;s&t|e[l]&t&&(e[l]|=t),a&=~s}}function Lu(e,t){var a=t&-t;return a=(a&42)!==0?1:nc(a),(a&(e.suspendedLanes|t))!==0?0:a}function nc(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 lc(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Gu(){var e=D.p;return e!==0?e:(e=window.event,e===void 0?32:Em(e.type))}function Qu(e,t){var a=D.p;try{return D.p=e,t()}finally{D.p=a}}var Da=Math.random().toString(36).slice(2),st="__reactFiber$"+Da,pt="__reactProps$"+Da,Cn="__reactContainer$"+Da,sc="__reactEvents$"+Da,rx="__reactListeners$"+Da,ux="__reactHandles$"+Da,Yu="__reactResources$"+Da,bl="__reactMarker$"+Da;function ic(e){delete e[st],delete e[pt],delete e[sc],delete e[rx],delete e[ux]}function wn(e){var t=e[st];if(t)return t;for(var a=e.parentNode;a;){if(t=a[Cn]||a[st]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=fm(e);e!==null;){if(a=e[st])return a;e=fm(e)}return t}e=a,a=e.parentNode}return null}function zn(e){if(e=e[st]||e[Cn]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function jl(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(o(33))}function Tn(e){var t=e[Yu];return t||(t=e[Yu]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function tt(e){e[bl]=!0}var Vu=new Set,Xu={};function nn(e,t){En(e,t),En(e+"Capture",t)}function En(e,t){for(Xu[e]=t,e=0;e<t.length;e++)Vu.add(t[e])}var ox=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]*$"),Ku={},Zu={};function dx(e){return Pi.call(Zu,e)?!0:Pi.call(Ku,e)?!1:ox.test(e)?Zu[e]=!0:(Ku[e]=!0,!1)}function zs(e,t,a){if(dx(t))if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var l=t.toLowerCase().slice(0,5);if(l!=="data-"&&l!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+a)}}function Ts(e,t,a){if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+a)}}function ra(e,t,a,l){if(l===null)e.removeAttribute(a);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(a);return}e.setAttributeNS(t,a,""+l)}}function Ut(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Fu(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function fx(e,t,a){var l=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var s=l.get,c=l.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(u){a=""+u,c.call(this,u)}}),Object.defineProperty(e,t,{enumerable:l.enumerable}),{getValue:function(){return a},setValue:function(u){a=""+u},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function cc(e){if(!e._valueTracker){var t=Fu(e)?"checked":"value";e._valueTracker=fx(e,t,""+e[t])}}function Ju(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),l="";return e&&(l=Fu(e)?e.checked?"true":"false":e.value),e=l,e!==a?(t.setValue(e),!0):!1}function Es(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 mx=/[\n"\\]/g;function Bt(e){return e.replace(mx,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function rc(e,t,a,l,s,c,u,m){e.name="",u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"?e.type=u:e.removeAttribute("type"),t!=null?u==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Ut(t)):e.value!==""+Ut(t)&&(e.value=""+Ut(t)):u!=="submit"&&u!=="reset"||e.removeAttribute("value"),t!=null?uc(e,u,Ut(t)):a!=null?uc(e,u,Ut(a)):l!=null&&e.removeAttribute("value"),s==null&&c!=null&&(e.defaultChecked=!!c),s!=null&&(e.checked=s&&typeof s!="function"&&typeof s!="symbol"),m!=null&&typeof m!="function"&&typeof m!="symbol"&&typeof m!="boolean"?e.name=""+Ut(m):e.removeAttribute("name")}function $u(e,t,a,l,s,c,u,m){if(c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"&&(e.type=c),t!=null||a!=null){if(!(c!=="submit"&&c!=="reset"||t!=null)){cc(e);return}a=a!=null?""+Ut(a):"",t=t!=null?""+Ut(t):a,m||t===e.value||(e.value=t),e.defaultValue=t}l=l??s,l=typeof l!="function"&&typeof l!="symbol"&&!!l,e.checked=m?e.checked:!!l,e.defaultChecked=!!l,u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"&&(e.name=u),cc(e)}function uc(e,t,a){t==="number"&&Es(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function An(e,t,a,l){if(e=e.options,t){t={};for(var s=0;s<a.length;s++)t["$"+a[s]]=!0;for(a=0;a<e.length;a++)s=t.hasOwnProperty("$"+e[a].value),e[a].selected!==s&&(e[a].selected=s),s&&l&&(e[a].defaultSelected=!0)}else{for(a=""+Ut(a),t=null,s=0;s<e.length;s++){if(e[s].value===a){e[s].selected=!0,l&&(e[s].defaultSelected=!0);return}t!==null||e[s].disabled||(t=e[s])}t!==null&&(t.selected=!0)}}function Wu(e,t,a){if(t!=null&&(t=""+Ut(t),t!==e.value&&(e.value=t),a==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=a!=null?""+Ut(a):""}function Iu(e,t,a,l){if(t==null){if(l!=null){if(a!=null)throw Error(o(92));if(Y(l)){if(1<l.length)throw Error(o(93));l=l[0]}a=l}a==null&&(a=""),t=a}a=Ut(t),e.defaultValue=a,l=e.textContent,l===a&&l!==""&&l!==null&&(e.value=l),cc(e)}function Dn(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var hx=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 Pu(e,t,a){var l=t.indexOf("--")===0;a==null||typeof a=="boolean"||a===""?l?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":l?e.setProperty(t,a):typeof a!="number"||a===0||hx.has(t)?t==="float"?e.cssFloat=a:e[t]=(""+a).trim():e[t]=a+"px"}function eo(e,t,a){if(t!=null&&typeof t!="object")throw Error(o(62));if(e=e.style,a!=null){for(var l in a)!a.hasOwnProperty(l)||t!=null&&t.hasOwnProperty(l)||(l.indexOf("--")===0?e.setProperty(l,""):l==="float"?e.cssFloat="":e[l]="");for(var s in t)l=t[s],t.hasOwnProperty(s)&&a[s]!==l&&Pu(e,s,l)}else for(var c in t)t.hasOwnProperty(c)&&Pu(e,c,t[c])}function oc(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 xx=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"]]),gx=/^[\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 As(e){return gx.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function ua(){}var dc=null;function fc(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var _n=null,Mn=null;function to(e){var t=zn(e);if(t&&(e=t.stateNode)){var a=e[pt]||null;e:switch(e=t.stateNode,t.type){case"input":if(rc(e,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name),t=a.name,a.type==="radio"&&t!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll('input[name="'+Bt(""+t)+'"][type="radio"]'),t=0;t<a.length;t++){var l=a[t];if(l!==e&&l.form===e.form){var s=l[pt]||null;if(!s)throw Error(o(90));rc(l,s.value,s.defaultValue,s.defaultValue,s.checked,s.defaultChecked,s.type,s.name)}}for(t=0;t<a.length;t++)l=a[t],l.form===e.form&&Ju(l)}break e;case"textarea":Wu(e,a.value,a.defaultValue);break e;case"select":t=a.value,t!=null&&An(e,!!a.multiple,t,!1)}}}var mc=!1;function ao(e,t,a){if(mc)return e(t,a);mc=!0;try{var l=e(t);return l}finally{if(mc=!1,(_n!==null||Mn!==null)&&(gi(),_n&&(t=_n,e=Mn,Mn=_n=null,to(t),e)))for(t=0;t<e.length;t++)to(e[t])}}function Sl(e,t){var a=e.stateNode;if(a===null)return null;var l=a[pt]||null;if(l===null)return null;a=l[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(l=!l.disabled)||(e=e.type,l=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!l;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(o(231,t,typeof a));return a}var oa=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),hc=!1;if(oa)try{var Nl={};Object.defineProperty(Nl,"passive",{get:function(){hc=!0}}),window.addEventListener("test",Nl,Nl),window.removeEventListener("test",Nl,Nl)}catch{hc=!1}var _a=null,xc=null,Ds=null;function no(){if(Ds)return Ds;var e,t=xc,a=t.length,l,s="value"in _a?_a.value:_a.textContent,c=s.length;for(e=0;e<a&&t[e]===s[e];e++);var u=a-e;for(l=1;l<=u&&t[a-l]===s[c-l];l++);return Ds=s.slice(e,1<l?1-l:void 0)}function _s(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Ms(){return!0}function lo(){return!1}function yt(e){function t(a,l,s,c,u){this._reactName=a,this._targetInst=s,this.type=l,this.nativeEvent=c,this.target=u,this.currentTarget=null;for(var m in e)e.hasOwnProperty(m)&&(a=e[m],this[m]=a?a(c):c[m]);return this.isDefaultPrevented=(c.defaultPrevented!=null?c.defaultPrevented:c.returnValue===!1)?Ms:lo,this.isPropagationStopped=lo,this}return E(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=Ms)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=Ms)},persist:function(){},isPersistent:Ms}),t}var ln={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},ks=yt(ln),Cl=E({},ln,{view:0,detail:0}),px=yt(Cl),gc,pc,wl,Os=E({},Cl,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:vc,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!==wl&&(wl&&e.type==="mousemove"?(gc=e.screenX-wl.screenX,pc=e.screenY-wl.screenY):pc=gc=0,wl=e),gc)},movementY:function(e){return"movementY"in e?e.movementY:pc}}),so=yt(Os),yx=E({},Os,{dataTransfer:0}),vx=yt(yx),bx=E({},Cl,{relatedTarget:0}),yc=yt(bx),jx=E({},ln,{animationName:0,elapsedTime:0,pseudoElement:0}),Sx=yt(jx),Nx=E({},ln,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Cx=yt(Nx),wx=E({},ln,{data:0}),io=yt(wx),zx={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Tx={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"},Ex={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Ax(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Ex[e])?!!t[e]:!1}function vc(){return Ax}var Dx=E({},Cl,{key:function(e){if(e.key){var t=zx[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=_s(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Tx[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:vc,charCode:function(e){return e.type==="keypress"?_s(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?_s(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),_x=yt(Dx),Mx=E({},Os,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),co=yt(Mx),kx=E({},Cl,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:vc}),Ox=yt(kx),Rx=E({},ln,{propertyName:0,elapsedTime:0,pseudoElement:0}),Ux=yt(Rx),Bx=E({},Os,{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}),Hx=yt(Bx),qx=E({},ln,{newState:0,oldState:0}),Lx=yt(qx),Gx=[9,13,27,32],bc=oa&&"CompositionEvent"in window,zl=null;oa&&"documentMode"in document&&(zl=document.documentMode);var Qx=oa&&"TextEvent"in window&&!zl,ro=oa&&(!bc||zl&&8<zl&&11>=zl),uo=" ",oo=!1;function fo(e,t){switch(e){case"keyup":return Gx.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function mo(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var kn=!1;function Yx(e,t){switch(e){case"compositionend":return mo(t);case"keypress":return t.which!==32?null:(oo=!0,uo);case"textInput":return e=t.data,e===uo&&oo?null:e;default:return null}}function Vx(e,t){if(kn)return e==="compositionend"||!bc&&fo(e,t)?(e=no(),Ds=xc=_a=null,kn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return ro&&t.locale!=="ko"?null:t.data;default:return null}}var Xx={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 ho(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!Xx[e.type]:t==="textarea"}function xo(e,t,a,l){_n?Mn?Mn.push(l):Mn=[l]:_n=l,t=Ni(t,"onChange"),0<t.length&&(a=new ks("onChange","change",null,a,l),e.push({event:a,listeners:t}))}var Tl=null,El=null;function Kx(e){If(e,0)}function Rs(e){var t=jl(e);if(Ju(t))return e}function go(e,t){if(e==="change")return t}var po=!1;if(oa){var jc;if(oa){var Sc="oninput"in document;if(!Sc){var yo=document.createElement("div");yo.setAttribute("oninput","return;"),Sc=typeof yo.oninput=="function"}jc=Sc}else jc=!1;po=jc&&(!document.documentMode||9<document.documentMode)}function vo(){Tl&&(Tl.detachEvent("onpropertychange",bo),El=Tl=null)}function bo(e){if(e.propertyName==="value"&&Rs(El)){var t=[];xo(t,El,e,fc(e)),ao(Kx,t)}}function Zx(e,t,a){e==="focusin"?(vo(),Tl=t,El=a,Tl.attachEvent("onpropertychange",bo)):e==="focusout"&&vo()}function Fx(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Rs(El)}function Jx(e,t){if(e==="click")return Rs(t)}function $x(e,t){if(e==="input"||e==="change")return Rs(t)}function Wx(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var At=typeof Object.is=="function"?Object.is:Wx;function Al(e,t){if(At(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),l=Object.keys(t);if(a.length!==l.length)return!1;for(l=0;l<a.length;l++){var s=a[l];if(!Pi.call(t,s)||!At(e[s],t[s]))return!1}return!0}function jo(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function So(e,t){var a=jo(e);e=0;for(var l;a;){if(a.nodeType===3){if(l=e+a.textContent.length,e<=t&&l>=t)return{node:a,offset:t-e};e=l}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=jo(a)}}function No(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?No(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Co(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Es(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Es(e.document)}return t}function Nc(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var Ix=oa&&"documentMode"in document&&11>=document.documentMode,On=null,Cc=null,Dl=null,wc=!1;function wo(e,t,a){var l=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;wc||On==null||On!==Es(l)||(l=On,"selectionStart"in l&&Nc(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),Dl&&Al(Dl,l)||(Dl=l,l=Ni(Cc,"onSelect"),0<l.length&&(t=new ks("onSelect","select",null,t,a),e.push({event:t,listeners:l}),t.target=On)))}function sn(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var Rn={animationend:sn("Animation","AnimationEnd"),animationiteration:sn("Animation","AnimationIteration"),animationstart:sn("Animation","AnimationStart"),transitionrun:sn("Transition","TransitionRun"),transitionstart:sn("Transition","TransitionStart"),transitioncancel:sn("Transition","TransitionCancel"),transitionend:sn("Transition","TransitionEnd")},zc={},zo={};oa&&(zo=document.createElement("div").style,"AnimationEvent"in window||(delete Rn.animationend.animation,delete Rn.animationiteration.animation,delete Rn.animationstart.animation),"TransitionEvent"in window||delete Rn.transitionend.transition);function cn(e){if(zc[e])return zc[e];if(!Rn[e])return e;var t=Rn[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in zo)return zc[e]=t[a];return e}var To=cn("animationend"),Eo=cn("animationiteration"),Ao=cn("animationstart"),Px=cn("transitionrun"),eg=cn("transitionstart"),tg=cn("transitioncancel"),Do=cn("transitionend"),_o=new Map,Tc="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(" ");Tc.push("scrollEnd");function Zt(e,t){_o.set(e,t),nn(t,[e])}var Us=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Ht=[],Un=0,Ec=0;function Bs(){for(var e=Un,t=Ec=Un=0;t<e;){var a=Ht[t];Ht[t++]=null;var l=Ht[t];Ht[t++]=null;var s=Ht[t];Ht[t++]=null;var c=Ht[t];if(Ht[t++]=null,l!==null&&s!==null){var u=l.pending;u===null?s.next=s:(s.next=u.next,u.next=s),l.pending=s}c!==0&&Mo(a,s,c)}}function Hs(e,t,a,l){Ht[Un++]=e,Ht[Un++]=t,Ht[Un++]=a,Ht[Un++]=l,Ec|=l,e.lanes|=l,e=e.alternate,e!==null&&(e.lanes|=l)}function Ac(e,t,a,l){return Hs(e,t,a,l),qs(e)}function rn(e,t){return Hs(e,null,null,t),qs(e)}function Mo(e,t,a){e.lanes|=a;var l=e.alternate;l!==null&&(l.lanes|=a);for(var s=!1,c=e.return;c!==null;)c.childLanes|=a,l=c.alternate,l!==null&&(l.childLanes|=a),c.tag===22&&(e=c.stateNode,e===null||e._visibility&1||(s=!0)),e=c,c=c.return;return e.tag===3?(c=e.stateNode,s&&t!==null&&(s=31-Et(a),e=c.hiddenUpdates,l=e[s],l===null?e[s]=[t]:l.push(t),t.lane=a|536870912),c):null}function qs(e){if(50<Il)throw Il=0,Hr=null,Error(o(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Bn={};function ag(e,t,a,l){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=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Dt(e,t,a,l){return new ag(e,t,a,l)}function Dc(e){return e=e.prototype,!(!e||!e.isReactComponent)}function da(e,t){var a=e.alternate;return a===null?(a=Dt(e.tag,t,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,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,t=e.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a.refCleanup=e.refCleanup,a}function ko(e,t){e.flags&=65011714;var a=e.alternate;return a===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=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,t=a.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Ls(e,t,a,l,s,c){var u=0;if(l=e,typeof e=="function")Dc(e)&&(u=1);else if(typeof e=="string")u=cp(e,a,Ue.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case Q:return e=Dt(31,a,t,s),e.elementType=Q,e.lanes=c,e;case U:return un(a.children,s,c,t);case z:u=8,s|=24;break;case _:return e=Dt(12,a,t,s|2),e.elementType=_,e.lanes=c,e;case J:return e=Dt(13,a,t,s),e.elementType=J,e.lanes=c,e;case W:return e=Dt(19,a,t,s),e.elementType=W,e.lanes=c,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case N:u=10;break e;case b:u=9;break e;case L:u=11;break e;case X:u=14;break e;case I:u=16,l=null;break e}u=29,a=Error(o(130,e===null?"null":typeof e,"")),l=null}return t=Dt(u,a,t,s),t.elementType=e,t.type=l,t.lanes=c,t}function un(e,t,a,l){return e=Dt(7,e,l,t),e.lanes=a,e}function _c(e,t,a){return e=Dt(6,e,null,t),e.lanes=a,e}function Oo(e){var t=Dt(18,null,null,0);return t.stateNode=e,t}function Mc(e,t,a){return t=Dt(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Ro=new WeakMap;function qt(e,t){if(typeof e=="object"&&e!==null){var a=Ro.get(e);return a!==void 0?a:(t={value:e,source:t,stack:bs(t)},Ro.set(e,t),t)}return{value:e,source:t,stack:bs(t)}}var Hn=[],qn=0,Gs=null,_l=0,Lt=[],Gt=0,Ma=null,ta=1,aa="";function fa(e,t){Hn[qn++]=_l,Hn[qn++]=Gs,Gs=e,_l=t}function Uo(e,t,a){Lt[Gt++]=ta,Lt[Gt++]=aa,Lt[Gt++]=Ma,Ma=e;var l=ta;e=aa;var s=32-Et(l)-1;l&=~(1<<s),a+=1;var c=32-Et(t)+s;if(30<c){var u=s-s%5;c=(l&(1<<u)-1).toString(32),l>>=u,s-=u,ta=1<<32-Et(t)+s|a<<s|l,aa=c+e}else ta=1<<c|a<<s|l,aa=e}function kc(e){e.return!==null&&(fa(e,1),Uo(e,1,0))}function Oc(e){for(;e===Gs;)Gs=Hn[--qn],Hn[qn]=null,_l=Hn[--qn],Hn[qn]=null;for(;e===Ma;)Ma=Lt[--Gt],Lt[Gt]=null,aa=Lt[--Gt],Lt[Gt]=null,ta=Lt[--Gt],Lt[Gt]=null}function Bo(e,t){Lt[Gt++]=ta,Lt[Gt++]=aa,Lt[Gt++]=Ma,ta=t.id,aa=t.overflow,Ma=e}var it=null,He=null,je=!1,ka=null,Qt=!1,Rc=Error(o(519));function Oa(e){var t=Error(o(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Ml(qt(t,e)),Rc}function Ho(e){var t=e.stateNode,a=e.type,l=e.memoizedProps;switch(t[st]=e,t[pt]=l,a){case"dialog":pe("cancel",t),pe("close",t);break;case"iframe":case"object":case"embed":pe("load",t);break;case"video":case"audio":for(a=0;a<es.length;a++)pe(es[a],t);break;case"source":pe("error",t);break;case"img":case"image":case"link":pe("error",t),pe("load",t);break;case"details":pe("toggle",t);break;case"input":pe("invalid",t),$u(t,l.value,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name,!0);break;case"select":pe("invalid",t);break;case"textarea":pe("invalid",t),Iu(t,l.value,l.defaultValue,l.children)}a=l.children,typeof a!="string"&&typeof a!="number"&&typeof a!="bigint"||t.textContent===""+a||l.suppressHydrationWarning===!0||am(t.textContent,a)?(l.popover!=null&&(pe("beforetoggle",t),pe("toggle",t)),l.onScroll!=null&&pe("scroll",t),l.onScrollEnd!=null&&pe("scrollend",t),l.onClick!=null&&(t.onclick=ua),t=!0):t=!1,t||Oa(e,!0)}function qo(e){for(it=e.return;it;)switch(it.tag){case 5:case 31:case 13:Qt=!1;return;case 27:case 3:Qt=!0;return;default:it=it.return}}function Ln(e){if(e!==it)return!1;if(!je)return qo(e),je=!0,!1;var t=e.tag,a;if((a=t!==3&&t!==27)&&((a=t===5)&&(a=e.type,a=!(a!=="form"&&a!=="button")||Pr(e.type,e.memoizedProps)),a=!a),a&&He&&Oa(e),qo(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));He=dm(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));He=dm(e)}else t===27?(t=He,Fa(e.type)?(e=lu,lu=null,He=e):He=t):He=it?Vt(e.stateNode.nextSibling):null;return!0}function on(){He=it=null,je=!1}function Uc(){var e=ka;return e!==null&&(St===null?St=e:St.push.apply(St,e),ka=null),e}function Ml(e){ka===null?ka=[e]:ka.push(e)}var Bc=ue(null),dn=null,ma=null;function Ra(e,t,a){ie(Bc,t._currentValue),t._currentValue=a}function ha(e){e._currentValue=Bc.current,ae(Bc)}function Hc(e,t,a){for(;e!==null;){var l=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,l!==null&&(l.childLanes|=t)):l!==null&&(l.childLanes&t)!==t&&(l.childLanes|=t),e===a)break;e=e.return}}function qc(e,t,a,l){var s=e.child;for(s!==null&&(s.return=e);s!==null;){var c=s.dependencies;if(c!==null){var u=s.child;c=c.firstContext;e:for(;c!==null;){var m=c;c=s;for(var j=0;j<t.length;j++)if(m.context===t[j]){c.lanes|=a,m=c.alternate,m!==null&&(m.lanes|=a),Hc(c.return,a,e),l||(u=null);break e}c=m.next}}else if(s.tag===18){if(u=s.return,u===null)throw Error(o(341));u.lanes|=a,c=u.alternate,c!==null&&(c.lanes|=a),Hc(u,a,e),u=null}else u=s.child;if(u!==null)u.return=s;else for(u=s;u!==null;){if(u===e){u=null;break}if(s=u.sibling,s!==null){s.return=u.return,u=s;break}u=u.return}s=u}}function Gn(e,t,a,l){e=null;for(var s=t,c=!1;s!==null;){if(!c){if((s.flags&524288)!==0)c=!0;else if((s.flags&262144)!==0)break}if(s.tag===10){var u=s.alternate;if(u===null)throw Error(o(387));if(u=u.memoizedProps,u!==null){var m=s.type;At(s.pendingProps.value,u.value)||(e!==null?e.push(m):e=[m])}}else if(s===ia.current){if(u=s.alternate,u===null)throw Error(o(387));u.memoizedState.memoizedState!==s.memoizedState.memoizedState&&(e!==null?e.push(ss):e=[ss])}s=s.return}e!==null&&qc(t,e,a,l),t.flags|=262144}function Qs(e){for(e=e.firstContext;e!==null;){if(!At(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function fn(e){dn=e,ma=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function ct(e){return Lo(dn,e)}function Ys(e,t){return dn===null&&fn(e),Lo(e,t)}function Lo(e,t){var a=t._currentValue;if(t={context:t,memoizedValue:a,next:null},ma===null){if(e===null)throw Error(o(308));ma=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else ma=ma.next=t;return a}var ng=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(a,l){e.push(l)}};this.abort=function(){t.aborted=!0,e.forEach(function(a){return a()})}},lg=i.unstable_scheduleCallback,sg=i.unstable_NormalPriority,Je={$$typeof:N,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Lc(){return{controller:new ng,data:new Map,refCount:0}}function kl(e){e.refCount--,e.refCount===0&&lg(sg,function(){e.controller.abort()})}var Ol=null,Gc=0,Qn=0,Yn=null;function ig(e,t){if(Ol===null){var a=Ol=[];Gc=0,Qn=Vr(),Yn={status:"pending",value:void 0,then:function(l){a.push(l)}}}return Gc++,t.then(Go,Go),t}function Go(){if(--Gc===0&&Ol!==null){Yn!==null&&(Yn.status="fulfilled");var e=Ol;Ol=null,Qn=0,Yn=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function cg(e,t){var a=[],l={status:"pending",value:null,reason:null,then:function(s){a.push(s)}};return e.then(function(){l.status="fulfilled",l.value=t;for(var s=0;s<a.length;s++)(0,a[s])(t)},function(s){for(l.status="rejected",l.reason=s,s=0;s<a.length;s++)(0,a[s])(void 0)}),l}var Qo=g.S;g.S=function(e,t){zf=zt(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&ig(e,t),Qo!==null&&Qo(e,t)};var mn=ue(null);function Qc(){var e=mn.current;return e!==null?e:ke.pooledCache}function Vs(e,t){t===null?ie(mn,mn.current):ie(mn,t.pool)}function Yo(){var e=Qc();return e===null?null:{parent:Je._currentValue,pool:e}}var Vn=Error(o(460)),Yc=Error(o(474)),Xs=Error(o(542)),Ks={then:function(){}};function Vo(e){return e=e.status,e==="fulfilled"||e==="rejected"}function Xo(e,t,a){switch(a=e[a],a===void 0?e.push(t):a!==t&&(t.then(ua,ua),t=a),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Zo(e),e;default:if(typeof t.status=="string")t.then(ua,ua);else{if(e=ke,e!==null&&100<e.shellSuspendCounter)throw Error(o(482));e=t,e.status="pending",e.then(function(l){if(t.status==="pending"){var s=t;s.status="fulfilled",s.value=l}},function(l){if(t.status==="pending"){var s=t;s.status="rejected",s.reason=l}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Zo(e),e}throw xn=t,Vn}}function hn(e){try{var t=e._init;return t(e._payload)}catch(a){throw a!==null&&typeof a=="object"&&typeof a.then=="function"?(xn=a,Vn):a}}var xn=null;function Ko(){if(xn===null)throw Error(o(459));var e=xn;return xn=null,e}function Zo(e){if(e===Vn||e===Xs)throw Error(o(483))}var Xn=null,Rl=0;function Zs(e){var t=Rl;return Rl+=1,Xn===null&&(Xn=[]),Xo(Xn,e,t)}function Ul(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function Fs(e,t){throw t.$$typeof===B?Error(o(525)):(e=Object.prototype.toString.call(t),Error(o(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function Fo(e){function t(A,C){if(e){var M=A.deletions;M===null?(A.deletions=[C],A.flags|=16):M.push(C)}}function a(A,C){if(!e)return null;for(;C!==null;)t(A,C),C=C.sibling;return null}function l(A){for(var C=new Map;A!==null;)A.key!==null?C.set(A.key,A):C.set(A.index,A),A=A.sibling;return C}function s(A,C){return A=da(A,C),A.index=0,A.sibling=null,A}function c(A,C,M){return A.index=M,e?(M=A.alternate,M!==null?(M=M.index,M<C?(A.flags|=67108866,C):M):(A.flags|=67108866,C)):(A.flags|=1048576,C)}function u(A){return e&&A.alternate===null&&(A.flags|=67108866),A}function m(A,C,M,V){return C===null||C.tag!==6?(C=_c(M,A.mode,V),C.return=A,C):(C=s(C,M),C.return=A,C)}function j(A,C,M,V){var re=M.type;return re===U?G(A,C,M.props.children,V,M.key):C!==null&&(C.elementType===re||typeof re=="object"&&re!==null&&re.$$typeof===I&&hn(re)===C.type)?(C=s(C,M.props),Ul(C,M),C.return=A,C):(C=Ls(M.type,M.key,M.props,null,A.mode,V),Ul(C,M),C.return=A,C)}function k(A,C,M,V){return C===null||C.tag!==4||C.stateNode.containerInfo!==M.containerInfo||C.stateNode.implementation!==M.implementation?(C=Mc(M,A.mode,V),C.return=A,C):(C=s(C,M.children||[]),C.return=A,C)}function G(A,C,M,V,re){return C===null||C.tag!==7?(C=un(M,A.mode,V,re),C.return=A,C):(C=s(C,M),C.return=A,C)}function K(A,C,M){if(typeof C=="string"&&C!==""||typeof C=="number"||typeof C=="bigint")return C=_c(""+C,A.mode,M),C.return=A,C;if(typeof C=="object"&&C!==null){switch(C.$$typeof){case w:return M=Ls(C.type,C.key,C.props,null,A.mode,M),Ul(M,C),M.return=A,M;case O:return C=Mc(C,A.mode,M),C.return=A,C;case I:return C=hn(C),K(A,C,M)}if(Y(C)||H(C))return C=un(C,A.mode,M,null),C.return=A,C;if(typeof C.then=="function")return K(A,Zs(C),M);if(C.$$typeof===N)return K(A,Ys(A,C),M);Fs(A,C)}return null}function R(A,C,M,V){var re=C!==null?C.key:null;if(typeof M=="string"&&M!==""||typeof M=="number"||typeof M=="bigint")return re!==null?null:m(A,C,""+M,V);if(typeof M=="object"&&M!==null){switch(M.$$typeof){case w:return M.key===re?j(A,C,M,V):null;case O:return M.key===re?k(A,C,M,V):null;case I:return M=hn(M),R(A,C,M,V)}if(Y(M)||H(M))return re!==null?null:G(A,C,M,V,null);if(typeof M.then=="function")return R(A,C,Zs(M),V);if(M.$$typeof===N)return R(A,C,Ys(A,M),V);Fs(A,M)}return null}function q(A,C,M,V,re){if(typeof V=="string"&&V!==""||typeof V=="number"||typeof V=="bigint")return A=A.get(M)||null,m(C,A,""+V,re);if(typeof V=="object"&&V!==null){switch(V.$$typeof){case w:return A=A.get(V.key===null?M:V.key)||null,j(C,A,V,re);case O:return A=A.get(V.key===null?M:V.key)||null,k(C,A,V,re);case I:return V=hn(V),q(A,C,M,V,re)}if(Y(V)||H(V))return A=A.get(M)||null,G(C,A,V,re,null);if(typeof V.then=="function")return q(A,C,M,Zs(V),re);if(V.$$typeof===N)return q(A,C,M,Ys(C,V),re);Fs(C,V)}return null}function se(A,C,M,V){for(var re=null,Se=null,ce=C,xe=C=0,ve=null;ce!==null&&xe<M.length;xe++){ce.index>xe?(ve=ce,ce=null):ve=ce.sibling;var Ne=R(A,ce,M[xe],V);if(Ne===null){ce===null&&(ce=ve);break}e&&ce&&Ne.alternate===null&&t(A,ce),C=c(Ne,C,xe),Se===null?re=Ne:Se.sibling=Ne,Se=Ne,ce=ve}if(xe===M.length)return a(A,ce),je&&fa(A,xe),re;if(ce===null){for(;xe<M.length;xe++)ce=K(A,M[xe],V),ce!==null&&(C=c(ce,C,xe),Se===null?re=ce:Se.sibling=ce,Se=ce);return je&&fa(A,xe),re}for(ce=l(ce);xe<M.length;xe++)ve=q(ce,A,xe,M[xe],V),ve!==null&&(e&&ve.alternate!==null&&ce.delete(ve.key===null?xe:ve.key),C=c(ve,C,xe),Se===null?re=ve:Se.sibling=ve,Se=ve);return e&&ce.forEach(function(Pa){return t(A,Pa)}),je&&fa(A,xe),re}function oe(A,C,M,V){if(M==null)throw Error(o(151));for(var re=null,Se=null,ce=C,xe=C=0,ve=null,Ne=M.next();ce!==null&&!Ne.done;xe++,Ne=M.next()){ce.index>xe?(ve=ce,ce=null):ve=ce.sibling;var Pa=R(A,ce,Ne.value,V);if(Pa===null){ce===null&&(ce=ve);break}e&&ce&&Pa.alternate===null&&t(A,ce),C=c(Pa,C,xe),Se===null?re=Pa:Se.sibling=Pa,Se=Pa,ce=ve}if(Ne.done)return a(A,ce),je&&fa(A,xe),re;if(ce===null){for(;!Ne.done;xe++,Ne=M.next())Ne=K(A,Ne.value,V),Ne!==null&&(C=c(Ne,C,xe),Se===null?re=Ne:Se.sibling=Ne,Se=Ne);return je&&fa(A,xe),re}for(ce=l(ce);!Ne.done;xe++,Ne=M.next())Ne=q(ce,A,xe,Ne.value,V),Ne!==null&&(e&&Ne.alternate!==null&&ce.delete(Ne.key===null?xe:Ne.key),C=c(Ne,C,xe),Se===null?re=Ne:Se.sibling=Ne,Se=Ne);return e&&ce.forEach(function(yp){return t(A,yp)}),je&&fa(A,xe),re}function _e(A,C,M,V){if(typeof M=="object"&&M!==null&&M.type===U&&M.key===null&&(M=M.props.children),typeof M=="object"&&M!==null){switch(M.$$typeof){case w:e:{for(var re=M.key;C!==null;){if(C.key===re){if(re=M.type,re===U){if(C.tag===7){a(A,C.sibling),V=s(C,M.props.children),V.return=A,A=V;break e}}else if(C.elementType===re||typeof re=="object"&&re!==null&&re.$$typeof===I&&hn(re)===C.type){a(A,C.sibling),V=s(C,M.props),Ul(V,M),V.return=A,A=V;break e}a(A,C);break}else t(A,C);C=C.sibling}M.type===U?(V=un(M.props.children,A.mode,V,M.key),V.return=A,A=V):(V=Ls(M.type,M.key,M.props,null,A.mode,V),Ul(V,M),V.return=A,A=V)}return u(A);case O:e:{for(re=M.key;C!==null;){if(C.key===re)if(C.tag===4&&C.stateNode.containerInfo===M.containerInfo&&C.stateNode.implementation===M.implementation){a(A,C.sibling),V=s(C,M.children||[]),V.return=A,A=V;break e}else{a(A,C);break}else t(A,C);C=C.sibling}V=Mc(M,A.mode,V),V.return=A,A=V}return u(A);case I:return M=hn(M),_e(A,C,M,V)}if(Y(M))return se(A,C,M,V);if(H(M)){if(re=H(M),typeof re!="function")throw Error(o(150));return M=re.call(M),oe(A,C,M,V)}if(typeof M.then=="function")return _e(A,C,Zs(M),V);if(M.$$typeof===N)return _e(A,C,Ys(A,M),V);Fs(A,M)}return typeof M=="string"&&M!==""||typeof M=="number"||typeof M=="bigint"?(M=""+M,C!==null&&C.tag===6?(a(A,C.sibling),V=s(C,M),V.return=A,A=V):(a(A,C),V=_c(M,A.mode,V),V.return=A,A=V),u(A)):a(A,C)}return function(A,C,M,V){try{Rl=0;var re=_e(A,C,M,V);return Xn=null,re}catch(ce){if(ce===Vn||ce===Xs)throw ce;var Se=Dt(29,ce,null,A.mode);return Se.lanes=V,Se.return=A,Se}}}var gn=Fo(!0),Jo=Fo(!1),Ua=!1;function Vc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Xc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ba(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ha(e,t,a){var l=e.updateQueue;if(l===null)return null;if(l=l.shared,(we&2)!==0){var s=l.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),l.pending=t,t=qs(e),Mo(e,null,a),t}return Hs(e,l,t,a),qs(e)}function Bl(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,qu(e,a)}}function Kc(e,t){var a=e.updateQueue,l=e.alternate;if(l!==null&&(l=l.updateQueue,a===l)){var s=null,c=null;if(a=a.firstBaseUpdate,a!==null){do{var u={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};c===null?s=c=u:c=c.next=u,a=a.next}while(a!==null);c===null?s=c=t:c=c.next=t}else s=c=t;a={baseState:l.baseState,firstBaseUpdate:s,lastBaseUpdate:c,shared:l.shared,callbacks:l.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Zc=!1;function Hl(){if(Zc){var e=Yn;if(e!==null)throw e}}function ql(e,t,a,l){Zc=!1;var s=e.updateQueue;Ua=!1;var c=s.firstBaseUpdate,u=s.lastBaseUpdate,m=s.shared.pending;if(m!==null){s.shared.pending=null;var j=m,k=j.next;j.next=null,u===null?c=k:u.next=k,u=j;var G=e.alternate;G!==null&&(G=G.updateQueue,m=G.lastBaseUpdate,m!==u&&(m===null?G.firstBaseUpdate=k:m.next=k,G.lastBaseUpdate=j))}if(c!==null){var K=s.baseState;u=0,G=k=j=null,m=c;do{var R=m.lane&-536870913,q=R!==m.lane;if(q?(ye&R)===R:(l&R)===R){R!==0&&R===Qn&&(Zc=!0),G!==null&&(G=G.next={lane:0,tag:m.tag,payload:m.payload,callback:null,next:null});e:{var se=e,oe=m;R=t;var _e=a;switch(oe.tag){case 1:if(se=oe.payload,typeof se=="function"){K=se.call(_e,K,R);break e}K=se;break e;case 3:se.flags=se.flags&-65537|128;case 0:if(se=oe.payload,R=typeof se=="function"?se.call(_e,K,R):se,R==null)break e;K=E({},K,R);break e;case 2:Ua=!0}}R=m.callback,R!==null&&(e.flags|=64,q&&(e.flags|=8192),q=s.callbacks,q===null?s.callbacks=[R]:q.push(R))}else q={lane:R,tag:m.tag,payload:m.payload,callback:m.callback,next:null},G===null?(k=G=q,j=K):G=G.next=q,u|=R;if(m=m.next,m===null){if(m=s.shared.pending,m===null)break;q=m,m=q.next,q.next=null,s.lastBaseUpdate=q,s.shared.pending=null}}while(!0);G===null&&(j=K),s.baseState=j,s.firstBaseUpdate=k,s.lastBaseUpdate=G,c===null&&(s.shared.lanes=0),Ya|=u,e.lanes=u,e.memoizedState=K}}function $o(e,t){if(typeof e!="function")throw Error(o(191,e));e.call(t)}function Wo(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;e<a.length;e++)$o(a[e],t)}var Kn=ue(null),Js=ue(0);function Io(e,t){e=Na,ie(Js,e),ie(Kn,t),Na=e|t.baseLanes}function Fc(){ie(Js,Na),ie(Kn,Kn.current)}function Jc(){Na=Js.current,ae(Kn),ae(Js)}var _t=ue(null),Yt=null;function qa(e){var t=e.alternate;ie(Xe,Xe.current&1),ie(_t,e),Yt===null&&(t===null||Kn.current!==null||t.memoizedState!==null)&&(Yt=e)}function $c(e){ie(Xe,Xe.current),ie(_t,e),Yt===null&&(Yt=e)}function Po(e){e.tag===22?(ie(Xe,Xe.current),ie(_t,e),Yt===null&&(Yt=e)):La()}function La(){ie(Xe,Xe.current),ie(_t,_t.current)}function Mt(e){ae(_t),Yt===e&&(Yt=null),ae(Xe)}var Xe=ue(0);function $s(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||au(a)||nu(a)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var xa=0,me=null,Ae=null,$e=null,Ws=!1,Zn=!1,pn=!1,Is=0,Ll=0,Fn=null,rg=0;function Ye(){throw Error(o(321))}function Wc(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!At(e[a],t[a]))return!1;return!0}function Ic(e,t,a,l,s,c){return xa=c,me=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,g.H=e===null||e.memoizedState===null?Ud:mr,pn=!1,c=a(l,s),pn=!1,Zn&&(c=td(t,a,l,s)),ed(e),c}function ed(e){g.H=Yl;var t=Ae!==null&&Ae.next!==null;if(xa=0,$e=Ae=me=null,Ws=!1,Ll=0,Fn=null,t)throw Error(o(300));e===null||We||(e=e.dependencies,e!==null&&Qs(e)&&(We=!0))}function td(e,t,a,l){me=e;var s=0;do{if(Zn&&(Fn=null),Ll=0,Zn=!1,25<=s)throw Error(o(301));if(s+=1,$e=Ae=null,e.updateQueue!=null){var c=e.updateQueue;c.lastEffect=null,c.events=null,c.stores=null,c.memoCache!=null&&(c.memoCache.index=0)}g.H=Bd,c=t(a,l)}while(Zn);return c}function ug(){var e=g.H,t=e.useState()[0];return t=typeof t.then=="function"?Gl(t):t,e=e.useState()[0],(Ae!==null?Ae.memoizedState:null)!==e&&(me.flags|=1024),t}function Pc(){var e=Is!==0;return Is=0,e}function er(e,t,a){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a}function tr(e){if(Ws){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Ws=!1}xa=0,$e=Ae=me=null,Zn=!1,Ll=Is=0,Fn=null}function xt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return $e===null?me.memoizedState=$e=e:$e=$e.next=e,$e}function Ke(){if(Ae===null){var e=me.alternate;e=e!==null?e.memoizedState:null}else e=Ae.next;var t=$e===null?me.memoizedState:$e.next;if(t!==null)$e=t,Ae=e;else{if(e===null)throw me.alternate===null?Error(o(467)):Error(o(310));Ae=e,e={memoizedState:Ae.memoizedState,baseState:Ae.baseState,baseQueue:Ae.baseQueue,queue:Ae.queue,next:null},$e===null?me.memoizedState=$e=e:$e=$e.next=e}return $e}function Ps(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Gl(e){var t=Ll;return Ll+=1,Fn===null&&(Fn=[]),e=Xo(Fn,e,t),t=me,($e===null?t.memoizedState:$e.next)===null&&(t=t.alternate,g.H=t===null||t.memoizedState===null?Ud:mr),e}function ei(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Gl(e);if(e.$$typeof===N)return ct(e)}throw Error(o(438,String(e)))}function ar(e){var t=null,a=me.updateQueue;if(a!==null&&(t=a.memoCache),t==null){var l=me.alternate;l!==null&&(l=l.updateQueue,l!==null&&(l=l.memoCache,l!=null&&(t={data:l.data.map(function(s){return s.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),a===null&&(a=Ps(),me.updateQueue=a),a.memoCache=t,a=t.data[t.index],a===void 0)for(a=t.data[t.index]=Array(e),l=0;l<e;l++)a[l]=le;return t.index++,a}function ga(e,t){return typeof t=="function"?t(e):t}function ti(e){var t=Ke();return nr(t,Ae,e)}function nr(e,t,a){var l=e.queue;if(l===null)throw Error(o(311));l.lastRenderedReducer=a;var s=e.baseQueue,c=l.pending;if(c!==null){if(s!==null){var u=s.next;s.next=c.next,c.next=u}t.baseQueue=s=c,l.pending=null}if(c=e.baseState,s===null)e.memoizedState=c;else{t=s.next;var m=u=null,j=null,k=t,G=!1;do{var K=k.lane&-536870913;if(K!==k.lane?(ye&K)===K:(xa&K)===K){var R=k.revertLane;if(R===0)j!==null&&(j=j.next={lane:0,revertLane:0,gesture:null,action:k.action,hasEagerState:k.hasEagerState,eagerState:k.eagerState,next:null}),K===Qn&&(G=!0);else if((xa&R)===R){k=k.next,R===Qn&&(G=!0);continue}else K={lane:0,revertLane:k.revertLane,gesture:null,action:k.action,hasEagerState:k.hasEagerState,eagerState:k.eagerState,next:null},j===null?(m=j=K,u=c):j=j.next=K,me.lanes|=R,Ya|=R;K=k.action,pn&&a(c,K),c=k.hasEagerState?k.eagerState:a(c,K)}else R={lane:K,revertLane:k.revertLane,gesture:k.gesture,action:k.action,hasEagerState:k.hasEagerState,eagerState:k.eagerState,next:null},j===null?(m=j=R,u=c):j=j.next=R,me.lanes|=K,Ya|=K;k=k.next}while(k!==null&&k!==t);if(j===null?u=c:j.next=m,!At(c,e.memoizedState)&&(We=!0,G&&(a=Yn,a!==null)))throw a;e.memoizedState=c,e.baseState=u,e.baseQueue=j,l.lastRenderedState=c}return s===null&&(l.lanes=0),[e.memoizedState,l.dispatch]}function lr(e){var t=Ke(),a=t.queue;if(a===null)throw Error(o(311));a.lastRenderedReducer=e;var l=a.dispatch,s=a.pending,c=t.memoizedState;if(s!==null){a.pending=null;var u=s=s.next;do c=e(c,u.action),u=u.next;while(u!==s);At(c,t.memoizedState)||(We=!0),t.memoizedState=c,t.baseQueue===null&&(t.baseState=c),a.lastRenderedState=c}return[c,l]}function ad(e,t,a){var l=me,s=Ke(),c=je;if(c){if(a===void 0)throw Error(o(407));a=a()}else a=t();var u=!At((Ae||s).memoizedState,a);if(u&&(s.memoizedState=a,We=!0),s=s.queue,cr(sd.bind(null,l,s,e),[e]),s.getSnapshot!==t||u||$e!==null&&$e.memoizedState.tag&1){if(l.flags|=2048,Jn(9,{destroy:void 0},ld.bind(null,l,s,a,t),null),ke===null)throw Error(o(349));c||(xa&127)!==0||nd(l,t,a)}return a}function nd(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=me.updateQueue,t===null?(t=Ps(),me.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function ld(e,t,a,l){t.value=a,t.getSnapshot=l,id(t)&&cd(e)}function sd(e,t,a){return a(function(){id(t)&&cd(e)})}function id(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!At(e,a)}catch{return!0}}function cd(e){var t=rn(e,2);t!==null&&Nt(t,e,2)}function sr(e){var t=xt();if(typeof e=="function"){var a=e;if(e=a(),pn){Aa(!0);try{a()}finally{Aa(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ga,lastRenderedState:e},t}function rd(e,t,a,l){return e.baseState=a,nr(e,Ae,typeof l=="function"?l:ga)}function og(e,t,a,l,s){if(li(e))throw Error(o(485));if(e=t.action,e!==null){var c={payload:s,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(u){c.listeners.push(u)}};g.T!==null?a(!0):c.isTransition=!1,l(c),a=t.pending,a===null?(c.next=t.pending=c,ud(t,c)):(c.next=a.next,t.pending=a.next=c)}}function ud(e,t){var a=t.action,l=t.payload,s=e.state;if(t.isTransition){var c=g.T,u={};g.T=u;try{var m=a(s,l),j=g.S;j!==null&&j(u,m),od(e,t,m)}catch(k){ir(e,t,k)}finally{c!==null&&u.types!==null&&(c.types=u.types),g.T=c}}else try{c=a(s,l),od(e,t,c)}catch(k){ir(e,t,k)}}function od(e,t,a){a!==null&&typeof a=="object"&&typeof a.then=="function"?a.then(function(l){dd(e,t,l)},function(l){return ir(e,t,l)}):dd(e,t,a)}function dd(e,t,a){t.status="fulfilled",t.value=a,fd(t),e.state=a,t=e.pending,t!==null&&(a=t.next,a===t?e.pending=null:(a=a.next,t.next=a,ud(e,a)))}function ir(e,t,a){var l=e.pending;if(e.pending=null,l!==null){l=l.next;do t.status="rejected",t.reason=a,fd(t),t=t.next;while(t!==l)}e.action=null}function fd(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function md(e,t){return t}function hd(e,t){if(je){var a=ke.formState;if(a!==null){e:{var l=me;if(je){if(He){t:{for(var s=He,c=Qt;s.nodeType!==8;){if(!c){s=null;break t}if(s=Vt(s.nextSibling),s===null){s=null;break t}}c=s.data,s=c==="F!"||c==="F"?s:null}if(s){He=Vt(s.nextSibling),l=s.data==="F!";break e}}Oa(l)}l=!1}l&&(t=a[0])}}return a=xt(),a.memoizedState=a.baseState=t,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:md,lastRenderedState:t},a.queue=l,a=kd.bind(null,me,l),l.dispatch=a,l=sr(!1),c=fr.bind(null,me,!1,l.queue),l=xt(),s={state:t,dispatch:null,action:e,pending:null},l.queue=s,a=og.bind(null,me,s,c,a),s.dispatch=a,l.memoizedState=e,[t,a,!1]}function xd(e){var t=Ke();return gd(t,Ae,e)}function gd(e,t,a){if(t=nr(e,t,md)[0],e=ti(ga)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var l=Gl(t)}catch(u){throw u===Vn?Xs:u}else l=t;t=Ke();var s=t.queue,c=s.dispatch;return a!==t.memoizedState&&(me.flags|=2048,Jn(9,{destroy:void 0},dg.bind(null,s,a),null)),[l,c,e]}function dg(e,t){e.action=t}function pd(e){var t=Ke(),a=Ae;if(a!==null)return gd(t,a,e);Ke(),t=t.memoizedState,a=Ke();var l=a.queue.dispatch;return a.memoizedState=e,[t,l,!1]}function Jn(e,t,a,l){return e={tag:e,create:a,deps:l,inst:t,next:null},t=me.updateQueue,t===null&&(t=Ps(),me.updateQueue=t),a=t.lastEffect,a===null?t.lastEffect=e.next=e:(l=a.next,a.next=e,e.next=l,t.lastEffect=e),e}function yd(){return Ke().memoizedState}function ai(e,t,a,l){var s=xt();me.flags|=e,s.memoizedState=Jn(1|t,{destroy:void 0},a,l===void 0?null:l)}function ni(e,t,a,l){var s=Ke();l=l===void 0?null:l;var c=s.memoizedState.inst;Ae!==null&&l!==null&&Wc(l,Ae.memoizedState.deps)?s.memoizedState=Jn(t,c,a,l):(me.flags|=e,s.memoizedState=Jn(1|t,c,a,l))}function vd(e,t){ai(8390656,8,e,t)}function cr(e,t){ni(2048,8,e,t)}function fg(e){me.flags|=4;var t=me.updateQueue;if(t===null)t=Ps(),me.updateQueue=t,t.events=[e];else{var a=t.events;a===null?t.events=[e]:a.push(e)}}function bd(e){var t=Ke().memoizedState;return fg({ref:t,nextImpl:e}),function(){if((we&2)!==0)throw Error(o(440));return t.impl.apply(void 0,arguments)}}function jd(e,t){return ni(4,2,e,t)}function Sd(e,t){return ni(4,4,e,t)}function Nd(e,t){if(typeof t=="function"){e=e();var a=t(e);return function(){typeof a=="function"?a():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Cd(e,t,a){a=a!=null?a.concat([e]):null,ni(4,4,Nd.bind(null,t,e),a)}function rr(){}function wd(e,t){var a=Ke();t=t===void 0?null:t;var l=a.memoizedState;return t!==null&&Wc(t,l[1])?l[0]:(a.memoizedState=[e,t],e)}function zd(e,t){var a=Ke();t=t===void 0?null:t;var l=a.memoizedState;if(t!==null&&Wc(t,l[1]))return l[0];if(l=e(),pn){Aa(!0);try{e()}finally{Aa(!1)}}return a.memoizedState=[l,t],l}function ur(e,t,a){return a===void 0||(xa&1073741824)!==0&&(ye&261930)===0?e.memoizedState=t:(e.memoizedState=a,e=Ef(),me.lanes|=e,Ya|=e,a)}function Td(e,t,a,l){return At(a,t)?a:Kn.current!==null?(e=ur(e,a,l),At(e,t)||(We=!0),e):(xa&42)===0||(xa&1073741824)!==0&&(ye&261930)===0?(We=!0,e.memoizedState=a):(e=Ef(),me.lanes|=e,Ya|=e,t)}function Ed(e,t,a,l,s){var c=D.p;D.p=c!==0&&8>c?c:8;var u=g.T,m={};g.T=m,fr(e,!1,t,a);try{var j=s(),k=g.S;if(k!==null&&k(m,j),j!==null&&typeof j=="object"&&typeof j.then=="function"){var G=cg(j,l);Ql(e,t,G,Rt(e))}else Ql(e,t,l,Rt(e))}catch(K){Ql(e,t,{then:function(){},status:"rejected",reason:K},Rt())}finally{D.p=c,u!==null&&m.types!==null&&(u.types=m.types),g.T=u}}function mg(){}function or(e,t,a,l){if(e.tag!==5)throw Error(o(476));var s=Ad(e).queue;Ed(e,s,t,ee,a===null?mg:function(){return Dd(e),a(l)})}function Ad(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ee,baseState:ee,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ga,lastRenderedState:ee},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ga,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Dd(e){var t=Ad(e);t.next===null&&(t=e.alternate.memoizedState),Ql(e,t.next.queue,{},Rt())}function dr(){return ct(ss)}function _d(){return Ke().memoizedState}function Md(){return Ke().memoizedState}function hg(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=Rt();e=Ba(a);var l=Ha(t,e,a);l!==null&&(Nt(l,t,a),Bl(l,t,a)),t={cache:Lc()},e.payload=t;return}t=t.return}}function xg(e,t,a){var l=Rt();a={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},li(e)?Od(t,a):(a=Ac(e,t,a,l),a!==null&&(Nt(a,e,l),Rd(a,t,l)))}function kd(e,t,a){var l=Rt();Ql(e,t,a,l)}function Ql(e,t,a,l){var s={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(li(e))Od(t,s);else{var c=e.alternate;if(e.lanes===0&&(c===null||c.lanes===0)&&(c=t.lastRenderedReducer,c!==null))try{var u=t.lastRenderedState,m=c(u,a);if(s.hasEagerState=!0,s.eagerState=m,At(m,u))return Hs(e,t,s,0),ke===null&&Bs(),!1}catch{}if(a=Ac(e,t,s,l),a!==null)return Nt(a,e,l),Rd(a,t,l),!0}return!1}function fr(e,t,a,l){if(l={lane:2,revertLane:Vr(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},li(e)){if(t)throw Error(o(479))}else t=Ac(e,a,l,2),t!==null&&Nt(t,e,2)}function li(e){var t=e.alternate;return e===me||t!==null&&t===me}function Od(e,t){Zn=Ws=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function Rd(e,t,a){if((a&4194048)!==0){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,qu(e,a)}}var Yl={readContext:ct,use:ei,useCallback:Ye,useContext:Ye,useEffect:Ye,useImperativeHandle:Ye,useLayoutEffect:Ye,useInsertionEffect:Ye,useMemo:Ye,useReducer:Ye,useRef:Ye,useState:Ye,useDebugValue:Ye,useDeferredValue:Ye,useTransition:Ye,useSyncExternalStore:Ye,useId:Ye,useHostTransitionStatus:Ye,useFormState:Ye,useActionState:Ye,useOptimistic:Ye,useMemoCache:Ye,useCacheRefresh:Ye};Yl.useEffectEvent=Ye;var Ud={readContext:ct,use:ei,useCallback:function(e,t){return xt().memoizedState=[e,t===void 0?null:t],e},useContext:ct,useEffect:vd,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,ai(4194308,4,Nd.bind(null,t,e),a)},useLayoutEffect:function(e,t){return ai(4194308,4,e,t)},useInsertionEffect:function(e,t){ai(4,2,e,t)},useMemo:function(e,t){var a=xt();t=t===void 0?null:t;var l=e();if(pn){Aa(!0);try{e()}finally{Aa(!1)}}return a.memoizedState=[l,t],l},useReducer:function(e,t,a){var l=xt();if(a!==void 0){var s=a(t);if(pn){Aa(!0);try{a(t)}finally{Aa(!1)}}}else s=t;return l.memoizedState=l.baseState=s,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:s},l.queue=e,e=e.dispatch=xg.bind(null,me,e),[l.memoizedState,e]},useRef:function(e){var t=xt();return e={current:e},t.memoizedState=e},useState:function(e){e=sr(e);var t=e.queue,a=kd.bind(null,me,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:rr,useDeferredValue:function(e,t){var a=xt();return ur(a,e,t)},useTransition:function(){var e=sr(!1);return e=Ed.bind(null,me,e.queue,!0,!1),xt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var l=me,s=xt();if(je){if(a===void 0)throw Error(o(407));a=a()}else{if(a=t(),ke===null)throw Error(o(349));(ye&127)!==0||nd(l,t,a)}s.memoizedState=a;var c={value:a,getSnapshot:t};return s.queue=c,vd(sd.bind(null,l,c,e),[e]),l.flags|=2048,Jn(9,{destroy:void 0},ld.bind(null,l,c,a,t),null),a},useId:function(){var e=xt(),t=ke.identifierPrefix;if(je){var a=aa,l=ta;a=(l&~(1<<32-Et(l)-1)).toString(32)+a,t="_"+t+"R_"+a,a=Is++,0<a&&(t+="H"+a.toString(32)),t+="_"}else a=rg++,t="_"+t+"r_"+a.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:dr,useFormState:hd,useActionState:hd,useOptimistic:function(e){var t=xt();t.memoizedState=t.baseState=e;var a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=a,t=fr.bind(null,me,!0,a),a.dispatch=t,[e,t]},useMemoCache:ar,useCacheRefresh:function(){return xt().memoizedState=hg.bind(null,me)},useEffectEvent:function(e){var t=xt(),a={impl:e};return t.memoizedState=a,function(){if((we&2)!==0)throw Error(o(440));return a.impl.apply(void 0,arguments)}}},mr={readContext:ct,use:ei,useCallback:wd,useContext:ct,useEffect:cr,useImperativeHandle:Cd,useInsertionEffect:jd,useLayoutEffect:Sd,useMemo:zd,useReducer:ti,useRef:yd,useState:function(){return ti(ga)},useDebugValue:rr,useDeferredValue:function(e,t){var a=Ke();return Td(a,Ae.memoizedState,e,t)},useTransition:function(){var e=ti(ga)[0],t=Ke().memoizedState;return[typeof e=="boolean"?e:Gl(e),t]},useSyncExternalStore:ad,useId:_d,useHostTransitionStatus:dr,useFormState:xd,useActionState:xd,useOptimistic:function(e,t){var a=Ke();return rd(a,Ae,e,t)},useMemoCache:ar,useCacheRefresh:Md};mr.useEffectEvent=bd;var Bd={readContext:ct,use:ei,useCallback:wd,useContext:ct,useEffect:cr,useImperativeHandle:Cd,useInsertionEffect:jd,useLayoutEffect:Sd,useMemo:zd,useReducer:lr,useRef:yd,useState:function(){return lr(ga)},useDebugValue:rr,useDeferredValue:function(e,t){var a=Ke();return Ae===null?ur(a,e,t):Td(a,Ae.memoizedState,e,t)},useTransition:function(){var e=lr(ga)[0],t=Ke().memoizedState;return[typeof e=="boolean"?e:Gl(e),t]},useSyncExternalStore:ad,useId:_d,useHostTransitionStatus:dr,useFormState:pd,useActionState:pd,useOptimistic:function(e,t){var a=Ke();return Ae!==null?rd(a,Ae,e,t):(a.baseState=e,[e,a.queue.dispatch])},useMemoCache:ar,useCacheRefresh:Md};Bd.useEffectEvent=bd;function hr(e,t,a,l){t=e.memoizedState,a=a(l,t),a=a==null?t:E({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var xr={enqueueSetState:function(e,t,a){e=e._reactInternals;var l=Rt(),s=Ba(l);s.payload=t,a!=null&&(s.callback=a),t=Ha(e,s,l),t!==null&&(Nt(t,e,l),Bl(t,e,l))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var l=Rt(),s=Ba(l);s.tag=1,s.payload=t,a!=null&&(s.callback=a),t=Ha(e,s,l),t!==null&&(Nt(t,e,l),Bl(t,e,l))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=Rt(),l=Ba(a);l.tag=2,t!=null&&(l.callback=t),t=Ha(e,l,a),t!==null&&(Nt(t,e,a),Bl(t,e,a))}};function Hd(e,t,a,l,s,c,u){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(l,c,u):t.prototype&&t.prototype.isPureReactComponent?!Al(a,l)||!Al(s,c):!0}function qd(e,t,a,l){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,l),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,l),t.state!==e&&xr.enqueueReplaceState(t,t.state,null)}function yn(e,t){var a=t;if("ref"in t){a={};for(var l in t)l!=="ref"&&(a[l]=t[l])}if(e=e.defaultProps){a===t&&(a=E({},a));for(var s in e)a[s]===void 0&&(a[s]=e[s])}return a}function Ld(e){Us(e)}function Gd(e){console.error(e)}function Qd(e){Us(e)}function si(e,t){try{var a=e.onUncaughtError;a(t.value,{componentStack:t.stack})}catch(l){setTimeout(function(){throw l})}}function Yd(e,t,a){try{var l=e.onCaughtError;l(a.value,{componentStack:a.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(s){setTimeout(function(){throw s})}}function gr(e,t,a){return a=Ba(a),a.tag=3,a.payload={element:null},a.callback=function(){si(e,t)},a}function Vd(e){return e=Ba(e),e.tag=3,e}function Xd(e,t,a,l){var s=a.type.getDerivedStateFromError;if(typeof s=="function"){var c=l.value;e.payload=function(){return s(c)},e.callback=function(){Yd(t,a,l)}}var u=a.stateNode;u!==null&&typeof u.componentDidCatch=="function"&&(e.callback=function(){Yd(t,a,l),typeof s!="function"&&(Va===null?Va=new Set([this]):Va.add(this));var m=l.stack;this.componentDidCatch(l.value,{componentStack:m!==null?m:""})})}function gg(e,t,a,l,s){if(a.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){if(t=a.alternate,t!==null&&Gn(t,a,s,!0),a=_t.current,a!==null){switch(a.tag){case 31:case 13:return Yt===null?pi():a.alternate===null&&Ve===0&&(Ve=3),a.flags&=-257,a.flags|=65536,a.lanes=s,l===Ks?a.flags|=16384:(t=a.updateQueue,t===null?a.updateQueue=new Set([l]):t.add(l),Gr(e,l,s)),!1;case 22:return a.flags|=65536,l===Ks?a.flags|=16384:(t=a.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([l])},a.updateQueue=t):(a=t.retryQueue,a===null?t.retryQueue=new Set([l]):a.add(l)),Gr(e,l,s)),!1}throw Error(o(435,a.tag))}return Gr(e,l,s),pi(),!1}if(je)return t=_t.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=s,l!==Rc&&(e=Error(o(422),{cause:l}),Ml(qt(e,a)))):(l!==Rc&&(t=Error(o(423),{cause:l}),Ml(qt(t,a))),e=e.current.alternate,e.flags|=65536,s&=-s,e.lanes|=s,l=qt(l,a),s=gr(e.stateNode,l,s),Kc(e,s),Ve!==4&&(Ve=2)),!1;var c=Error(o(520),{cause:l});if(c=qt(c,a),Wl===null?Wl=[c]:Wl.push(c),Ve!==4&&(Ve=2),t===null)return!0;l=qt(l,a),a=t;do{switch(a.tag){case 3:return a.flags|=65536,e=s&-s,a.lanes|=e,e=gr(a.stateNode,l,e),Kc(a,e),!1;case 1:if(t=a.type,c=a.stateNode,(a.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||c!==null&&typeof c.componentDidCatch=="function"&&(Va===null||!Va.has(c))))return a.flags|=65536,s&=-s,a.lanes|=s,s=Vd(s),Xd(s,e,a,l),Kc(a,s),!1}a=a.return}while(a!==null);return!1}var pr=Error(o(461)),We=!1;function rt(e,t,a,l){t.child=e===null?Jo(t,null,a,l):gn(t,e.child,a,l)}function Kd(e,t,a,l,s){a=a.render;var c=t.ref;if("ref"in l){var u={};for(var m in l)m!=="ref"&&(u[m]=l[m])}else u=l;return fn(t),l=Ic(e,t,a,u,c,s),m=Pc(),e!==null&&!We?(er(e,t,s),pa(e,t,s)):(je&&m&&kc(t),t.flags|=1,rt(e,t,l,s),t.child)}function Zd(e,t,a,l,s){if(e===null){var c=a.type;return typeof c=="function"&&!Dc(c)&&c.defaultProps===void 0&&a.compare===null?(t.tag=15,t.type=c,Fd(e,t,c,l,s)):(e=Ls(a.type,null,l,t,t.mode,s),e.ref=t.ref,e.return=t,t.child=e)}if(c=e.child,!wr(e,s)){var u=c.memoizedProps;if(a=a.compare,a=a!==null?a:Al,a(u,l)&&e.ref===t.ref)return pa(e,t,s)}return t.flags|=1,e=da(c,l),e.ref=t.ref,e.return=t,t.child=e}function Fd(e,t,a,l,s){if(e!==null){var c=e.memoizedProps;if(Al(c,l)&&e.ref===t.ref)if(We=!1,t.pendingProps=l=c,wr(e,s))(e.flags&131072)!==0&&(We=!0);else return t.lanes=e.lanes,pa(e,t,s)}return yr(e,t,a,l,s)}function Jd(e,t,a,l){var s=l.children,c=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),l.mode==="hidden"){if((t.flags&128)!==0){if(c=c!==null?c.baseLanes|a:a,e!==null){for(l=t.child=e.child,s=0;l!==null;)s=s|l.lanes|l.childLanes,l=l.sibling;l=s&~c}else l=0,t.child=null;return $d(e,t,c,a,l)}if((a&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Vs(t,c!==null?c.cachePool:null),c!==null?Io(t,c):Fc(),Po(t);else return l=t.lanes=536870912,$d(e,t,c!==null?c.baseLanes|a:a,a,l)}else c!==null?(Vs(t,c.cachePool),Io(t,c),La(),t.memoizedState=null):(e!==null&&Vs(t,null),Fc(),La());return rt(e,t,s,a),t.child}function Vl(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function $d(e,t,a,l,s){var c=Qc();return c=c===null?null:{parent:Je._currentValue,pool:c},t.memoizedState={baseLanes:a,cachePool:c},e!==null&&Vs(t,null),Fc(),Po(t),e!==null&&Gn(e,t,l,!0),t.childLanes=s,null}function ii(e,t){return t=ri({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Wd(e,t,a){return gn(t,e.child,null,a),e=ii(t,t.pendingProps),e.flags|=2,Mt(t),t.memoizedState=null,e}function pg(e,t,a){var l=t.pendingProps,s=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(je){if(l.mode==="hidden")return e=ii(t,l),t.lanes=536870912,Vl(null,e);if($c(t),(e=He)?(e=om(e,Qt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ma!==null?{id:ta,overflow:aa}:null,retryLane:536870912,hydrationErrors:null},a=Oo(e),a.return=t,t.child=a,it=t,He=null)):e=null,e===null)throw Oa(t);return t.lanes=536870912,null}return ii(t,l)}var c=e.memoizedState;if(c!==null){var u=c.dehydrated;if($c(t),s)if(t.flags&256)t.flags&=-257,t=Wd(e,t,a);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(o(558));else if(We||Gn(e,t,a,!1),s=(a&e.childLanes)!==0,We||s){if(l=ke,l!==null&&(u=Lu(l,a),u!==0&&u!==c.retryLane))throw c.retryLane=u,rn(e,u),Nt(l,e,u),pr;pi(),t=Wd(e,t,a)}else e=c.treeContext,He=Vt(u.nextSibling),it=t,je=!0,ka=null,Qt=!1,e!==null&&Bo(t,e),t=ii(t,l),t.flags|=4096;return t}return e=da(e.child,{mode:l.mode,children:l.children}),e.ref=t.ref,t.child=e,e.return=t,e}function ci(e,t){var a=t.ref;if(a===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof a!="function"&&typeof a!="object")throw Error(o(284));(e===null||e.ref!==a)&&(t.flags|=4194816)}}function yr(e,t,a,l,s){return fn(t),a=Ic(e,t,a,l,void 0,s),l=Pc(),e!==null&&!We?(er(e,t,s),pa(e,t,s)):(je&&l&&kc(t),t.flags|=1,rt(e,t,a,s),t.child)}function Id(e,t,a,l,s,c){return fn(t),t.updateQueue=null,a=td(t,l,a,s),ed(e),l=Pc(),e!==null&&!We?(er(e,t,c),pa(e,t,c)):(je&&l&&kc(t),t.flags|=1,rt(e,t,a,c),t.child)}function Pd(e,t,a,l,s){if(fn(t),t.stateNode===null){var c=Bn,u=a.contextType;typeof u=="object"&&u!==null&&(c=ct(u)),c=new a(l,c),t.memoizedState=c.state!==null&&c.state!==void 0?c.state:null,c.updater=xr,t.stateNode=c,c._reactInternals=t,c=t.stateNode,c.props=l,c.state=t.memoizedState,c.refs={},Vc(t),u=a.contextType,c.context=typeof u=="object"&&u!==null?ct(u):Bn,c.state=t.memoizedState,u=a.getDerivedStateFromProps,typeof u=="function"&&(hr(t,a,u,l),c.state=t.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof c.getSnapshotBeforeUpdate=="function"||typeof c.UNSAFE_componentWillMount!="function"&&typeof c.componentWillMount!="function"||(u=c.state,typeof c.componentWillMount=="function"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount=="function"&&c.UNSAFE_componentWillMount(),u!==c.state&&xr.enqueueReplaceState(c,c.state,null),ql(t,l,c,s),Hl(),c.state=t.memoizedState),typeof c.componentDidMount=="function"&&(t.flags|=4194308),l=!0}else if(e===null){c=t.stateNode;var m=t.memoizedProps,j=yn(a,m);c.props=j;var k=c.context,G=a.contextType;u=Bn,typeof G=="object"&&G!==null&&(u=ct(G));var K=a.getDerivedStateFromProps;G=typeof K=="function"||typeof c.getSnapshotBeforeUpdate=="function",m=t.pendingProps!==m,G||typeof c.UNSAFE_componentWillReceiveProps!="function"&&typeof c.componentWillReceiveProps!="function"||(m||k!==u)&&qd(t,c,l,u),Ua=!1;var R=t.memoizedState;c.state=R,ql(t,l,c,s),Hl(),k=t.memoizedState,m||R!==k||Ua?(typeof K=="function"&&(hr(t,a,K,l),k=t.memoizedState),(j=Ua||Hd(t,a,j,l,R,k,u))?(G||typeof c.UNSAFE_componentWillMount!="function"&&typeof c.componentWillMount!="function"||(typeof c.componentWillMount=="function"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount=="function"&&c.UNSAFE_componentWillMount()),typeof c.componentDidMount=="function"&&(t.flags|=4194308)):(typeof c.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=l,t.memoizedState=k),c.props=l,c.state=k,c.context=u,l=j):(typeof c.componentDidMount=="function"&&(t.flags|=4194308),l=!1)}else{c=t.stateNode,Xc(e,t),u=t.memoizedProps,G=yn(a,u),c.props=G,K=t.pendingProps,R=c.context,k=a.contextType,j=Bn,typeof k=="object"&&k!==null&&(j=ct(k)),m=a.getDerivedStateFromProps,(k=typeof m=="function"||typeof c.getSnapshotBeforeUpdate=="function")||typeof c.UNSAFE_componentWillReceiveProps!="function"&&typeof c.componentWillReceiveProps!="function"||(u!==K||R!==j)&&qd(t,c,l,j),Ua=!1,R=t.memoizedState,c.state=R,ql(t,l,c,s),Hl();var q=t.memoizedState;u!==K||R!==q||Ua||e!==null&&e.dependencies!==null&&Qs(e.dependencies)?(typeof m=="function"&&(hr(t,a,m,l),q=t.memoizedState),(G=Ua||Hd(t,a,G,l,R,q,j)||e!==null&&e.dependencies!==null&&Qs(e.dependencies))?(k||typeof c.UNSAFE_componentWillUpdate!="function"&&typeof c.componentWillUpdate!="function"||(typeof c.componentWillUpdate=="function"&&c.componentWillUpdate(l,q,j),typeof c.UNSAFE_componentWillUpdate=="function"&&c.UNSAFE_componentWillUpdate(l,q,j)),typeof c.componentDidUpdate=="function"&&(t.flags|=4),typeof c.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof c.componentDidUpdate!="function"||u===e.memoizedProps&&R===e.memoizedState||(t.flags|=4),typeof c.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&R===e.memoizedState||(t.flags|=1024),t.memoizedProps=l,t.memoizedState=q),c.props=l,c.state=q,c.context=j,l=G):(typeof c.componentDidUpdate!="function"||u===e.memoizedProps&&R===e.memoizedState||(t.flags|=4),typeof c.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&R===e.memoizedState||(t.flags|=1024),l=!1)}return c=l,ci(e,t),l=(t.flags&128)!==0,c||l?(c=t.stateNode,a=l&&typeof a.getDerivedStateFromError!="function"?null:c.render(),t.flags|=1,e!==null&&l?(t.child=gn(t,e.child,null,s),t.child=gn(t,null,a,s)):rt(e,t,a,s),t.memoizedState=c.state,e=t.child):e=pa(e,t,s),e}function ef(e,t,a,l){return on(),t.flags|=256,rt(e,t,a,l),t.child}var vr={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function br(e){return{baseLanes:e,cachePool:Yo()}}function jr(e,t,a){return e=e!==null?e.childLanes&~a:0,t&&(e|=Ot),e}function tf(e,t,a){var l=t.pendingProps,s=!1,c=(t.flags&128)!==0,u;if((u=c)||(u=e!==null&&e.memoizedState===null?!1:(Xe.current&2)!==0),u&&(s=!0,t.flags&=-129),u=(t.flags&32)!==0,t.flags&=-33,e===null){if(je){if(s?qa(t):La(),(e=He)?(e=om(e,Qt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ma!==null?{id:ta,overflow:aa}:null,retryLane:536870912,hydrationErrors:null},a=Oo(e),a.return=t,t.child=a,it=t,He=null)):e=null,e===null)throw Oa(t);return nu(e)?t.lanes=32:t.lanes=536870912,null}var m=l.children;return l=l.fallback,s?(La(),s=t.mode,m=ri({mode:"hidden",children:m},s),l=un(l,s,a,null),m.return=t,l.return=t,m.sibling=l,t.child=m,l=t.child,l.memoizedState=br(a),l.childLanes=jr(e,u,a),t.memoizedState=vr,Vl(null,l)):(qa(t),Sr(t,m))}var j=e.memoizedState;if(j!==null&&(m=j.dehydrated,m!==null)){if(c)t.flags&256?(qa(t),t.flags&=-257,t=Nr(e,t,a)):t.memoizedState!==null?(La(),t.child=e.child,t.flags|=128,t=null):(La(),m=l.fallback,s=t.mode,l=ri({mode:"visible",children:l.children},s),m=un(m,s,a,null),m.flags|=2,l.return=t,m.return=t,l.sibling=m,t.child=l,gn(t,e.child,null,a),l=t.child,l.memoizedState=br(a),l.childLanes=jr(e,u,a),t.memoizedState=vr,t=Vl(null,l));else if(qa(t),nu(m)){if(u=m.nextSibling&&m.nextSibling.dataset,u)var k=u.dgst;u=k,l=Error(o(419)),l.stack="",l.digest=u,Ml({value:l,source:null,stack:null}),t=Nr(e,t,a)}else if(We||Gn(e,t,a,!1),u=(a&e.childLanes)!==0,We||u){if(u=ke,u!==null&&(l=Lu(u,a),l!==0&&l!==j.retryLane))throw j.retryLane=l,rn(e,l),Nt(u,e,l),pr;au(m)||pi(),t=Nr(e,t,a)}else au(m)?(t.flags|=192,t.child=e.child,t=null):(e=j.treeContext,He=Vt(m.nextSibling),it=t,je=!0,ka=null,Qt=!1,e!==null&&Bo(t,e),t=Sr(t,l.children),t.flags|=4096);return t}return s?(La(),m=l.fallback,s=t.mode,j=e.child,k=j.sibling,l=da(j,{mode:"hidden",children:l.children}),l.subtreeFlags=j.subtreeFlags&65011712,k!==null?m=da(k,m):(m=un(m,s,a,null),m.flags|=2),m.return=t,l.return=t,l.sibling=m,t.child=l,Vl(null,l),l=t.child,m=e.child.memoizedState,m===null?m=br(a):(s=m.cachePool,s!==null?(j=Je._currentValue,s=s.parent!==j?{parent:j,pool:j}:s):s=Yo(),m={baseLanes:m.baseLanes|a,cachePool:s}),l.memoizedState=m,l.childLanes=jr(e,u,a),t.memoizedState=vr,Vl(e.child,l)):(qa(t),a=e.child,e=a.sibling,a=da(a,{mode:"visible",children:l.children}),a.return=t,a.sibling=null,e!==null&&(u=t.deletions,u===null?(t.deletions=[e],t.flags|=16):u.push(e)),t.child=a,t.memoizedState=null,a)}function Sr(e,t){return t=ri({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function ri(e,t){return e=Dt(22,e,null,t),e.lanes=0,e}function Nr(e,t,a){return gn(t,e.child,null,a),e=Sr(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function af(e,t,a){e.lanes|=t;var l=e.alternate;l!==null&&(l.lanes|=t),Hc(e.return,t,a)}function Cr(e,t,a,l,s,c){var u=e.memoizedState;u===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:l,tail:a,tailMode:s,treeForkCount:c}:(u.isBackwards=t,u.rendering=null,u.renderingStartTime=0,u.last=l,u.tail=a,u.tailMode=s,u.treeForkCount=c)}function nf(e,t,a){var l=t.pendingProps,s=l.revealOrder,c=l.tail;l=l.children;var u=Xe.current,m=(u&2)!==0;if(m?(u=u&1|2,t.flags|=128):u&=1,ie(Xe,u),rt(e,t,l,a),l=je?_l:0,!m&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&af(e,a,t);else if(e.tag===19)af(e,a,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(s){case"forwards":for(a=t.child,s=null;a!==null;)e=a.alternate,e!==null&&$s(e)===null&&(s=a),a=a.sibling;a=s,a===null?(s=t.child,t.child=null):(s=a.sibling,a.sibling=null),Cr(t,!1,s,a,c,l);break;case"backwards":case"unstable_legacy-backwards":for(a=null,s=t.child,t.child=null;s!==null;){if(e=s.alternate,e!==null&&$s(e)===null){t.child=s;break}e=s.sibling,s.sibling=a,a=s,s=e}Cr(t,!0,a,null,c,l);break;case"together":Cr(t,!1,null,null,void 0,l);break;default:t.memoizedState=null}return t.child}function pa(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),Ya|=t.lanes,(a&t.childLanes)===0)if(e!==null){if(Gn(e,t,a,!1),(a&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(o(153));if(t.child!==null){for(e=t.child,a=da(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=da(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function wr(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&Qs(e)))}function yg(e,t,a){switch(t.tag){case 3:ca(t,t.stateNode.containerInfo),Ra(t,Je,e.memoizedState.cache),on();break;case 27:case 5:de(t);break;case 4:ca(t,t.stateNode.containerInfo);break;case 10:Ra(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,$c(t),null;break;case 13:var l=t.memoizedState;if(l!==null)return l.dehydrated!==null?(qa(t),t.flags|=128,null):(a&t.child.childLanes)!==0?tf(e,t,a):(qa(t),e=pa(e,t,a),e!==null?e.sibling:null);qa(t);break;case 19:var s=(e.flags&128)!==0;if(l=(a&t.childLanes)!==0,l||(Gn(e,t,a,!1),l=(a&t.childLanes)!==0),s){if(l)return nf(e,t,a);t.flags|=128}if(s=t.memoizedState,s!==null&&(s.rendering=null,s.tail=null,s.lastEffect=null),ie(Xe,Xe.current),l)break;return null;case 22:return t.lanes=0,Jd(e,t,a,t.pendingProps);case 24:Ra(t,Je,e.memoizedState.cache)}return pa(e,t,a)}function lf(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps)We=!0;else{if(!wr(e,a)&&(t.flags&128)===0)return We=!1,yg(e,t,a);We=(e.flags&131072)!==0}else We=!1,je&&(t.flags&1048576)!==0&&Uo(t,_l,t.index);switch(t.lanes=0,t.tag){case 16:e:{var l=t.pendingProps;if(e=hn(t.elementType),t.type=e,typeof e=="function")Dc(e)?(l=yn(e,l),t.tag=1,t=Pd(null,t,e,l,a)):(t.tag=0,t=yr(null,t,e,l,a));else{if(e!=null){var s=e.$$typeof;if(s===L){t.tag=11,t=Kd(null,t,e,l,a);break e}else if(s===X){t.tag=14,t=Zd(null,t,e,l,a);break e}}throw t=Z(e)||e,Error(o(306,t,""))}}return t;case 0:return yr(e,t,t.type,t.pendingProps,a);case 1:return l=t.type,s=yn(l,t.pendingProps),Pd(e,t,l,s,a);case 3:e:{if(ca(t,t.stateNode.containerInfo),e===null)throw Error(o(387));l=t.pendingProps;var c=t.memoizedState;s=c.element,Xc(e,t),ql(t,l,null,a);var u=t.memoizedState;if(l=u.cache,Ra(t,Je,l),l!==c.cache&&qc(t,[Je],a,!0),Hl(),l=u.element,c.isDehydrated)if(c={element:l,isDehydrated:!1,cache:u.cache},t.updateQueue.baseState=c,t.memoizedState=c,t.flags&256){t=ef(e,t,l,a);break e}else if(l!==s){s=qt(Error(o(424)),t),Ml(s),t=ef(e,t,l,a);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,He=Vt(e.firstChild),it=t,je=!0,ka=null,Qt=!0,a=Jo(t,null,l,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(on(),l===s){t=pa(e,t,a);break e}rt(e,t,l,a)}t=t.child}return t;case 26:return ci(e,t),e===null?(a=gm(t.type,null,t.pendingProps,null))?t.memoizedState=a:je||(a=t.type,e=t.pendingProps,l=Ci(ht.current).createElement(a),l[st]=t,l[pt]=e,ut(l,a,e),tt(l),t.stateNode=l):t.memoizedState=gm(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return de(t),e===null&&je&&(l=t.stateNode=mm(t.type,t.pendingProps,ht.current),it=t,Qt=!0,s=He,Fa(t.type)?(lu=s,He=Vt(l.firstChild)):He=s),rt(e,t,t.pendingProps.children,a),ci(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&je&&((s=l=He)&&(l=Fg(l,t.type,t.pendingProps,Qt),l!==null?(t.stateNode=l,it=t,He=Vt(l.firstChild),Qt=!1,s=!0):s=!1),s||Oa(t)),de(t),s=t.type,c=t.pendingProps,u=e!==null?e.memoizedProps:null,l=c.children,Pr(s,c)?l=null:u!==null&&Pr(s,u)&&(t.flags|=32),t.memoizedState!==null&&(s=Ic(e,t,ug,null,null,a),ss._currentValue=s),ci(e,t),rt(e,t,l,a),t.child;case 6:return e===null&&je&&((e=a=He)&&(a=Jg(a,t.pendingProps,Qt),a!==null?(t.stateNode=a,it=t,He=null,e=!0):e=!1),e||Oa(t)),null;case 13:return tf(e,t,a);case 4:return ca(t,t.stateNode.containerInfo),l=t.pendingProps,e===null?t.child=gn(t,null,l,a):rt(e,t,l,a),t.child;case 11:return Kd(e,t,t.type,t.pendingProps,a);case 7:return rt(e,t,t.pendingProps,a),t.child;case 8:return rt(e,t,t.pendingProps.children,a),t.child;case 12:return rt(e,t,t.pendingProps.children,a),t.child;case 10:return l=t.pendingProps,Ra(t,t.type,l.value),rt(e,t,l.children,a),t.child;case 9:return s=t.type._context,l=t.pendingProps.children,fn(t),s=ct(s),l=l(s),t.flags|=1,rt(e,t,l,a),t.child;case 14:return Zd(e,t,t.type,t.pendingProps,a);case 15:return Fd(e,t,t.type,t.pendingProps,a);case 19:return nf(e,t,a);case 31:return pg(e,t,a);case 22:return Jd(e,t,a,t.pendingProps);case 24:return fn(t),l=ct(Je),e===null?(s=Qc(),s===null&&(s=ke,c=Lc(),s.pooledCache=c,c.refCount++,c!==null&&(s.pooledCacheLanes|=a),s=c),t.memoizedState={parent:l,cache:s},Vc(t),Ra(t,Je,s)):((e.lanes&a)!==0&&(Xc(e,t),ql(t,null,null,a),Hl()),s=e.memoizedState,c=t.memoizedState,s.parent!==l?(s={parent:l,cache:l},t.memoizedState=s,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=s),Ra(t,Je,l)):(l=c.cache,Ra(t,Je,l),l!==s.cache&&qc(t,[Je],a,!0))),rt(e,t,t.pendingProps.children,a),t.child;case 29:throw t.pendingProps}throw Error(o(156,t.tag))}function ya(e){e.flags|=4}function zr(e,t,a,l,s){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(s&335544128)===s)if(e.stateNode.complete)e.flags|=8192;else if(Mf())e.flags|=8192;else throw xn=Ks,Yc}else e.flags&=-16777217}function sf(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!jm(t))if(Mf())e.flags|=8192;else throw xn=Ks,Yc}function ui(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Bu():536870912,e.lanes|=t,Pn|=t)}function Xl(e,t){if(!je)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var l=null;a!==null;)a.alternate!==null&&(l=a),a=a.sibling;l===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:l.sibling=null}}function qe(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,l=0;if(t)for(var s=e.child;s!==null;)a|=s.lanes|s.childLanes,l|=s.subtreeFlags&65011712,l|=s.flags&65011712,s.return=e,s=s.sibling;else for(s=e.child;s!==null;)a|=s.lanes|s.childLanes,l|=s.subtreeFlags,l|=s.flags,s.return=e,s=s.sibling;return e.subtreeFlags|=l,e.childLanes=a,t}function vg(e,t,a){var l=t.pendingProps;switch(Oc(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return qe(t),null;case 1:return qe(t),null;case 3:return a=t.stateNode,l=null,e!==null&&(l=e.memoizedState.cache),t.memoizedState.cache!==l&&(t.flags|=2048),ha(Je),ne(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(Ln(t)?ya(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Uc())),qe(t),null;case 26:var s=t.type,c=t.memoizedState;return e===null?(ya(t),c!==null?(qe(t),sf(t,c)):(qe(t),zr(t,s,null,l,a))):c?c!==e.memoizedState?(ya(t),qe(t),sf(t,c)):(qe(t),t.flags&=-16777217):(e=e.memoizedProps,e!==l&&ya(t),qe(t),zr(t,s,e,l,a)),null;case 27:if(Be(t),a=ht.current,s=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==l&&ya(t);else{if(!l){if(t.stateNode===null)throw Error(o(166));return qe(t),null}e=Ue.current,Ln(t)?Ho(t):(e=mm(s,l,a),t.stateNode=e,ya(t))}return qe(t),null;case 5:if(Be(t),s=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==l&&ya(t);else{if(!l){if(t.stateNode===null)throw Error(o(166));return qe(t),null}if(c=Ue.current,Ln(t))Ho(t);else{var u=Ci(ht.current);switch(c){case 1:c=u.createElementNS("http://www.w3.org/2000/svg",s);break;case 2:c=u.createElementNS("http://www.w3.org/1998/Math/MathML",s);break;default:switch(s){case"svg":c=u.createElementNS("http://www.w3.org/2000/svg",s);break;case"math":c=u.createElementNS("http://www.w3.org/1998/Math/MathML",s);break;case"script":c=u.createElement("div"),c.innerHTML="<script><\/script>",c=c.removeChild(c.firstChild);break;case"select":c=typeof l.is=="string"?u.createElement("select",{is:l.is}):u.createElement("select"),l.multiple?c.multiple=!0:l.size&&(c.size=l.size);break;default:c=typeof l.is=="string"?u.createElement(s,{is:l.is}):u.createElement(s)}}c[st]=t,c[pt]=l;e:for(u=t.child;u!==null;){if(u.tag===5||u.tag===6)c.appendChild(u.stateNode);else if(u.tag!==4&&u.tag!==27&&u.child!==null){u.child.return=u,u=u.child;continue}if(u===t)break e;for(;u.sibling===null;){if(u.return===null||u.return===t)break e;u=u.return}u.sibling.return=u.return,u=u.sibling}t.stateNode=c;e:switch(ut(c,s,l),s){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&ya(t)}}return qe(t),zr(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==l&&ya(t);else{if(typeof l!="string"&&t.stateNode===null)throw Error(o(166));if(e=ht.current,Ln(t)){if(e=t.stateNode,a=t.memoizedProps,l=null,s=it,s!==null)switch(s.tag){case 27:case 5:l=s.memoizedProps}e[st]=t,e=!!(e.nodeValue===a||l!==null&&l.suppressHydrationWarning===!0||am(e.nodeValue,a)),e||Oa(t,!0)}else e=Ci(e).createTextNode(l),e[st]=t,t.stateNode=e}return qe(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(l=Ln(t),a!==null){if(e===null){if(!l)throw Error(o(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(557));e[st]=t}else on(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;qe(t),e=!1}else a=Uc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(Mt(t),t):(Mt(t),null);if((t.flags&128)!==0)throw Error(o(558))}return qe(t),null;case 13:if(l=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(s=Ln(t),l!==null&&l.dehydrated!==null){if(e===null){if(!s)throw Error(o(318));if(s=t.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(o(317));s[st]=t}else on(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;qe(t),s=!1}else s=Uc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=s),s=!0;if(!s)return t.flags&256?(Mt(t),t):(Mt(t),null)}return Mt(t),(t.flags&128)!==0?(t.lanes=a,t):(a=l!==null,e=e!==null&&e.memoizedState!==null,a&&(l=t.child,s=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(s=l.alternate.memoizedState.cachePool.pool),c=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(c=l.memoizedState.cachePool.pool),c!==s&&(l.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),ui(t,t.updateQueue),qe(t),null);case 4:return ne(),e===null&&Fr(t.stateNode.containerInfo),qe(t),null;case 10:return ha(t.type),qe(t),null;case 19:if(ae(Xe),l=t.memoizedState,l===null)return qe(t),null;if(s=(t.flags&128)!==0,c=l.rendering,c===null)if(s)Xl(l,!1);else{if(Ve!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(c=$s(e),c!==null){for(t.flags|=128,Xl(l,!1),e=c.updateQueue,t.updateQueue=e,ui(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)ko(a,e),a=a.sibling;return ie(Xe,Xe.current&1|2),je&&fa(t,l.treeForkCount),t.child}e=e.sibling}l.tail!==null&&zt()>hi&&(t.flags|=128,s=!0,Xl(l,!1),t.lanes=4194304)}else{if(!s)if(e=$s(c),e!==null){if(t.flags|=128,s=!0,e=e.updateQueue,t.updateQueue=e,ui(t,e),Xl(l,!0),l.tail===null&&l.tailMode==="hidden"&&!c.alternate&&!je)return qe(t),null}else 2*zt()-l.renderingStartTime>hi&&a!==536870912&&(t.flags|=128,s=!0,Xl(l,!1),t.lanes=4194304);l.isBackwards?(c.sibling=t.child,t.child=c):(e=l.last,e!==null?e.sibling=c:t.child=c,l.last=c)}return l.tail!==null?(e=l.tail,l.rendering=e,l.tail=e.sibling,l.renderingStartTime=zt(),e.sibling=null,a=Xe.current,ie(Xe,s?a&1|2:a&1),je&&fa(t,l.treeForkCount),e):(qe(t),null);case 22:case 23:return Mt(t),Jc(),l=t.memoizedState!==null,e!==null?e.memoizedState!==null!==l&&(t.flags|=8192):l&&(t.flags|=8192),l?(a&536870912)!==0&&(t.flags&128)===0&&(qe(t),t.subtreeFlags&6&&(t.flags|=8192)):qe(t),a=t.updateQueue,a!==null&&ui(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),l=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(l=t.memoizedState.cachePool.pool),l!==a&&(t.flags|=2048),e!==null&&ae(mn),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),ha(Je),qe(t),null;case 25:return null;case 30:return null}throw Error(o(156,t.tag))}function bg(e,t){switch(Oc(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ha(Je),ne(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Be(t),null;case 31:if(t.memoizedState!==null){if(Mt(t),t.alternate===null)throw Error(o(340));on()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Mt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(o(340));on()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ae(Xe),null;case 4:return ne(),null;case 10:return ha(t.type),null;case 22:case 23:return Mt(t),Jc(),e!==null&&ae(mn),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ha(Je),null;case 25:return null;default:return null}}function cf(e,t){switch(Oc(t),t.tag){case 3:ha(Je),ne();break;case 26:case 27:case 5:Be(t);break;case 4:ne();break;case 31:t.memoizedState!==null&&Mt(t);break;case 13:Mt(t);break;case 19:ae(Xe);break;case 10:ha(t.type);break;case 22:case 23:Mt(t),Jc(),e!==null&&ae(mn);break;case 24:ha(Je)}}function Kl(e,t){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var s=l.next;a=s;do{if((a.tag&e)===e){l=void 0;var c=a.create,u=a.inst;l=c(),u.destroy=l}a=a.next}while(a!==s)}}catch(m){Ee(t,t.return,m)}}function Ga(e,t,a){try{var l=t.updateQueue,s=l!==null?l.lastEffect:null;if(s!==null){var c=s.next;l=c;do{if((l.tag&e)===e){var u=l.inst,m=u.destroy;if(m!==void 0){u.destroy=void 0,s=t;var j=a,k=m;try{k()}catch(G){Ee(s,j,G)}}}l=l.next}while(l!==c)}}catch(G){Ee(t,t.return,G)}}function rf(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{Wo(t,a)}catch(l){Ee(e,e.return,l)}}}function uf(e,t,a){a.props=yn(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(l){Ee(e,t,l)}}function Zl(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var l=e.stateNode;break;case 30:l=e.stateNode;break;default:l=e.stateNode}typeof a=="function"?e.refCleanup=a(l):a.current=l}}catch(s){Ee(e,t,s)}}function na(e,t){var a=e.ref,l=e.refCleanup;if(a!==null)if(typeof l=="function")try{l()}catch(s){Ee(e,t,s)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(s){Ee(e,t,s)}else a.current=null}function of(e){var t=e.type,a=e.memoizedProps,l=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&l.focus();break e;case"img":a.src?l.src=a.src:a.srcSet&&(l.srcset=a.srcSet)}}catch(s){Ee(e,e.return,s)}}function Tr(e,t,a){try{var l=e.stateNode;Qg(l,e.type,a,t),l[pt]=t}catch(s){Ee(e,e.return,s)}}function df(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Fa(e.type)||e.tag===4}function Er(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||df(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&&Fa(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 Ar(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=ua));else if(l!==4&&(l===27&&Fa(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(Ar(e,t,a),e=e.sibling;e!==null;)Ar(e,t,a),e=e.sibling}function oi(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(l!==4&&(l===27&&Fa(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(oi(e,t,a),e=e.sibling;e!==null;)oi(e,t,a),e=e.sibling}function ff(e){var t=e.stateNode,a=e.memoizedProps;try{for(var l=e.type,s=t.attributes;s.length;)t.removeAttributeNode(s[0]);ut(t,l,a),t[st]=e,t[pt]=a}catch(c){Ee(e,e.return,c)}}var va=!1,Ie=!1,Dr=!1,mf=typeof WeakSet=="function"?WeakSet:Set,at=null;function jg(e,t){if(e=e.containerInfo,Wr=_i,e=Co(e),Nc(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var l=a.getSelection&&a.getSelection();if(l&&l.rangeCount!==0){a=l.anchorNode;var s=l.anchorOffset,c=l.focusNode;l=l.focusOffset;try{a.nodeType,c.nodeType}catch{a=null;break e}var u=0,m=-1,j=-1,k=0,G=0,K=e,R=null;t:for(;;){for(var q;K!==a||s!==0&&K.nodeType!==3||(m=u+s),K!==c||l!==0&&K.nodeType!==3||(j=u+l),K.nodeType===3&&(u+=K.nodeValue.length),(q=K.firstChild)!==null;)R=K,K=q;for(;;){if(K===e)break t;if(R===a&&++k===s&&(m=u),R===c&&++G===l&&(j=u),(q=K.nextSibling)!==null)break;K=R,R=K.parentNode}K=q}a=m===-1||j===-1?null:{start:m,end:j}}else a=null}a=a||{start:0,end:0}}else a=null;for(Ir={focusedElem:e,selectionRange:a},_i=!1,at=t;at!==null;)if(t=at,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,at=e;else for(;at!==null;){switch(t=at,c=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a<e.length;a++)s=e[a],s.ref.impl=s.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&c!==null){e=void 0,a=t,s=c.memoizedProps,c=c.memoizedState,l=a.stateNode;try{var se=yn(a.type,s);e=l.getSnapshotBeforeUpdate(se,c),l.__reactInternalSnapshotBeforeUpdate=e}catch(oe){Ee(a,a.return,oe)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,a=e.nodeType,a===9)tu(e);else if(a===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":tu(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(o(163))}if(e=t.sibling,e!==null){e.return=t.return,at=e;break}at=t.return}}function hf(e,t,a){var l=a.flags;switch(a.tag){case 0:case 11:case 15:ja(e,a),l&4&&Kl(5,a);break;case 1:if(ja(e,a),l&4)if(e=a.stateNode,t===null)try{e.componentDidMount()}catch(u){Ee(a,a.return,u)}else{var s=yn(a.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(s,t,e.__reactInternalSnapshotBeforeUpdate)}catch(u){Ee(a,a.return,u)}}l&64&&rf(a),l&512&&Zl(a,a.return);break;case 3:if(ja(e,a),l&64&&(e=a.updateQueue,e!==null)){if(t=null,a.child!==null)switch(a.child.tag){case 27:case 5:t=a.child.stateNode;break;case 1:t=a.child.stateNode}try{Wo(e,t)}catch(u){Ee(a,a.return,u)}}break;case 27:t===null&&l&4&&ff(a);case 26:case 5:ja(e,a),t===null&&l&4&&of(a),l&512&&Zl(a,a.return);break;case 12:ja(e,a);break;case 31:ja(e,a),l&4&&pf(e,a);break;case 13:ja(e,a),l&4&&yf(e,a),l&64&&(e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(a=Dg.bind(null,a),$g(e,a))));break;case 22:if(l=a.memoizedState!==null||va,!l){t=t!==null&&t.memoizedState!==null||Ie,s=va;var c=Ie;va=l,(Ie=t)&&!c?Sa(e,a,(a.subtreeFlags&8772)!==0):ja(e,a),va=s,Ie=c}break;case 30:break;default:ja(e,a)}}function xf(e){var t=e.alternate;t!==null&&(e.alternate=null,xf(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&ic(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Le=null,vt=!1;function ba(e,t,a){for(a=a.child;a!==null;)gf(e,t,a),a=a.sibling}function gf(e,t,a){if(Tt&&typeof Tt.onCommitFiberUnmount=="function")try{Tt.onCommitFiberUnmount(pl,a)}catch{}switch(a.tag){case 26:Ie||na(a,t),ba(e,t,a),a.memoizedState?a.memoizedState.count--:a.stateNode&&(a=a.stateNode,a.parentNode.removeChild(a));break;case 27:Ie||na(a,t);var l=Le,s=vt;Fa(a.type)&&(Le=a.stateNode,vt=!1),ba(e,t,a),as(a.stateNode),Le=l,vt=s;break;case 5:Ie||na(a,t);case 6:if(l=Le,s=vt,Le=null,ba(e,t,a),Le=l,vt=s,Le!==null)if(vt)try{(Le.nodeType===9?Le.body:Le.nodeName==="HTML"?Le.ownerDocument.body:Le).removeChild(a.stateNode)}catch(c){Ee(a,t,c)}else try{Le.removeChild(a.stateNode)}catch(c){Ee(a,t,c)}break;case 18:Le!==null&&(vt?(e=Le,rm(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,a.stateNode),cl(e)):rm(Le,a.stateNode));break;case 4:l=Le,s=vt,Le=a.stateNode.containerInfo,vt=!0,ba(e,t,a),Le=l,vt=s;break;case 0:case 11:case 14:case 15:Ga(2,a,t),Ie||Ga(4,a,t),ba(e,t,a);break;case 1:Ie||(na(a,t),l=a.stateNode,typeof l.componentWillUnmount=="function"&&uf(a,t,l)),ba(e,t,a);break;case 21:ba(e,t,a);break;case 22:Ie=(l=Ie)||a.memoizedState!==null,ba(e,t,a),Ie=l;break;default:ba(e,t,a)}}function pf(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{cl(e)}catch(a){Ee(t,t.return,a)}}}function yf(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{cl(e)}catch(a){Ee(t,t.return,a)}}function Sg(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new mf),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new mf),t;default:throw Error(o(435,e.tag))}}function di(e,t){var a=Sg(e);t.forEach(function(l){if(!a.has(l)){a.add(l);var s=_g.bind(null,e,l);l.then(s,s)}})}function bt(e,t){var a=t.deletions;if(a!==null)for(var l=0;l<a.length;l++){var s=a[l],c=e,u=t,m=u;e:for(;m!==null;){switch(m.tag){case 27:if(Fa(m.type)){Le=m.stateNode,vt=!1;break e}break;case 5:Le=m.stateNode,vt=!1;break e;case 3:case 4:Le=m.stateNode.containerInfo,vt=!0;break e}m=m.return}if(Le===null)throw Error(o(160));gf(c,u,s),Le=null,vt=!1,c=s.alternate,c!==null&&(c.return=null),s.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)vf(t,e),t=t.sibling}var Ft=null;function vf(e,t){var a=e.alternate,l=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:bt(t,e),jt(e),l&4&&(Ga(3,e,e.return),Kl(3,e),Ga(5,e,e.return));break;case 1:bt(t,e),jt(e),l&512&&(Ie||a===null||na(a,a.return)),l&64&&va&&(e=e.updateQueue,e!==null&&(l=e.callbacks,l!==null&&(a=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=a===null?l:a.concat(l))));break;case 26:var s=Ft;if(bt(t,e),jt(e),l&512&&(Ie||a===null||na(a,a.return)),l&4){var c=a!==null?a.memoizedState:null;if(l=e.memoizedState,a===null)if(l===null)if(e.stateNode===null){e:{l=e.type,a=e.memoizedProps,s=s.ownerDocument||s;t:switch(l){case"title":c=s.getElementsByTagName("title")[0],(!c||c[bl]||c[st]||c.namespaceURI==="http://www.w3.org/2000/svg"||c.hasAttribute("itemprop"))&&(c=s.createElement(l),s.head.insertBefore(c,s.querySelector("head > title"))),ut(c,l,a),c[st]=e,tt(c),l=c;break e;case"link":var u=vm("link","href",s).get(l+(a.href||""));if(u){for(var m=0;m<u.length;m++)if(c=u[m],c.getAttribute("href")===(a.href==null||a.href===""?null:a.href)&&c.getAttribute("rel")===(a.rel==null?null:a.rel)&&c.getAttribute("title")===(a.title==null?null:a.title)&&c.getAttribute("crossorigin")===(a.crossOrigin==null?null:a.crossOrigin)){u.splice(m,1);break t}}c=s.createElement(l),ut(c,l,a),s.head.appendChild(c);break;case"meta":if(u=vm("meta","content",s).get(l+(a.content||""))){for(m=0;m<u.length;m++)if(c=u[m],c.getAttribute("content")===(a.content==null?null:""+a.content)&&c.getAttribute("name")===(a.name==null?null:a.name)&&c.getAttribute("property")===(a.property==null?null:a.property)&&c.getAttribute("http-equiv")===(a.httpEquiv==null?null:a.httpEquiv)&&c.getAttribute("charset")===(a.charSet==null?null:a.charSet)){u.splice(m,1);break t}}c=s.createElement(l),ut(c,l,a),s.head.appendChild(c);break;default:throw Error(o(468,l))}c[st]=e,tt(c),l=c}e.stateNode=l}else bm(s,e.type,e.stateNode);else e.stateNode=ym(s,l,e.memoizedProps);else c!==l?(c===null?a.stateNode!==null&&(a=a.stateNode,a.parentNode.removeChild(a)):c.count--,l===null?bm(s,e.type,e.stateNode):ym(s,l,e.memoizedProps)):l===null&&e.stateNode!==null&&Tr(e,e.memoizedProps,a.memoizedProps)}break;case 27:bt(t,e),jt(e),l&512&&(Ie||a===null||na(a,a.return)),a!==null&&l&4&&Tr(e,e.memoizedProps,a.memoizedProps);break;case 5:if(bt(t,e),jt(e),l&512&&(Ie||a===null||na(a,a.return)),e.flags&32){s=e.stateNode;try{Dn(s,"")}catch(se){Ee(e,e.return,se)}}l&4&&e.stateNode!=null&&(s=e.memoizedProps,Tr(e,s,a!==null?a.memoizedProps:s)),l&1024&&(Dr=!0);break;case 6:if(bt(t,e),jt(e),l&4){if(e.stateNode===null)throw Error(o(162));l=e.memoizedProps,a=e.stateNode;try{a.nodeValue=l}catch(se){Ee(e,e.return,se)}}break;case 3:if(Ti=null,s=Ft,Ft=wi(t.containerInfo),bt(t,e),Ft=s,jt(e),l&4&&a!==null&&a.memoizedState.isDehydrated)try{cl(t.containerInfo)}catch(se){Ee(e,e.return,se)}Dr&&(Dr=!1,bf(e));break;case 4:l=Ft,Ft=wi(e.stateNode.containerInfo),bt(t,e),jt(e),Ft=l;break;case 12:bt(t,e),jt(e);break;case 31:bt(t,e),jt(e),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,di(e,l)));break;case 13:bt(t,e),jt(e),e.child.flags&8192&&e.memoizedState!==null!=(a!==null&&a.memoizedState!==null)&&(mi=zt()),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,di(e,l)));break;case 22:s=e.memoizedState!==null;var j=a!==null&&a.memoizedState!==null,k=va,G=Ie;if(va=k||s,Ie=G||j,bt(t,e),Ie=G,va=k,jt(e),l&8192)e:for(t=e.stateNode,t._visibility=s?t._visibility&-2:t._visibility|1,s&&(a===null||j||va||Ie||vn(e)),a=null,t=e;;){if(t.tag===5||t.tag===26){if(a===null){j=a=t;try{if(c=j.stateNode,s)u=c.style,typeof u.setProperty=="function"?u.setProperty("display","none","important"):u.display="none";else{m=j.stateNode;var K=j.memoizedProps.style,R=K!=null&&K.hasOwnProperty("display")?K.display:null;m.style.display=R==null||typeof R=="boolean"?"":(""+R).trim()}}catch(se){Ee(j,j.return,se)}}}else if(t.tag===6){if(a===null){j=t;try{j.stateNode.nodeValue=s?"":j.memoizedProps}catch(se){Ee(j,j.return,se)}}}else if(t.tag===18){if(a===null){j=t;try{var q=j.stateNode;s?um(q,!0):um(j.stateNode,!1)}catch(se){Ee(j,j.return,se)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;a===t&&(a=null),t=t.return}a===t&&(a=null),t.sibling.return=t.return,t=t.sibling}l&4&&(l=e.updateQueue,l!==null&&(a=l.retryQueue,a!==null&&(l.retryQueue=null,di(e,a))));break;case 19:bt(t,e),jt(e),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,di(e,l)));break;case 30:break;case 21:break;default:bt(t,e),jt(e)}}function jt(e){var t=e.flags;if(t&2){try{for(var a,l=e.return;l!==null;){if(df(l)){a=l;break}l=l.return}if(a==null)throw Error(o(160));switch(a.tag){case 27:var s=a.stateNode,c=Er(e);oi(e,c,s);break;case 5:var u=a.stateNode;a.flags&32&&(Dn(u,""),a.flags&=-33);var m=Er(e);oi(e,m,u);break;case 3:case 4:var j=a.stateNode.containerInfo,k=Er(e);Ar(e,k,j);break;default:throw Error(o(161))}}catch(G){Ee(e,e.return,G)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function bf(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;bf(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function ja(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)hf(e,t.alternate,t),t=t.sibling}function vn(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Ga(4,t,t.return),vn(t);break;case 1:na(t,t.return);var a=t.stateNode;typeof a.componentWillUnmount=="function"&&uf(t,t.return,a),vn(t);break;case 27:as(t.stateNode);case 26:case 5:na(t,t.return),vn(t);break;case 22:t.memoizedState===null&&vn(t);break;case 30:vn(t);break;default:vn(t)}e=e.sibling}}function Sa(e,t,a){for(a=a&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var l=t.alternate,s=e,c=t,u=c.flags;switch(c.tag){case 0:case 11:case 15:Sa(s,c,a),Kl(4,c);break;case 1:if(Sa(s,c,a),l=c,s=l.stateNode,typeof s.componentDidMount=="function")try{s.componentDidMount()}catch(k){Ee(l,l.return,k)}if(l=c,s=l.updateQueue,s!==null){var m=l.stateNode;try{var j=s.shared.hiddenCallbacks;if(j!==null)for(s.shared.hiddenCallbacks=null,s=0;s<j.length;s++)$o(j[s],m)}catch(k){Ee(l,l.return,k)}}a&&u&64&&rf(c),Zl(c,c.return);break;case 27:ff(c);case 26:case 5:Sa(s,c,a),a&&l===null&&u&4&&of(c),Zl(c,c.return);break;case 12:Sa(s,c,a);break;case 31:Sa(s,c,a),a&&u&4&&pf(s,c);break;case 13:Sa(s,c,a),a&&u&4&&yf(s,c);break;case 22:c.memoizedState===null&&Sa(s,c,a),Zl(c,c.return);break;case 30:break;default:Sa(s,c,a)}t=t.sibling}}function _r(e,t){var a=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==a&&(e!=null&&e.refCount++,a!=null&&kl(a))}function Mr(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&kl(e))}function Jt(e,t,a,l){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)jf(e,t,a,l),t=t.sibling}function jf(e,t,a,l){var s=t.flags;switch(t.tag){case 0:case 11:case 15:Jt(e,t,a,l),s&2048&&Kl(9,t);break;case 1:Jt(e,t,a,l);break;case 3:Jt(e,t,a,l),s&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&kl(e)));break;case 12:if(s&2048){Jt(e,t,a,l),e=t.stateNode;try{var c=t.memoizedProps,u=c.id,m=c.onPostCommit;typeof m=="function"&&m(u,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(j){Ee(t,t.return,j)}}else Jt(e,t,a,l);break;case 31:Jt(e,t,a,l);break;case 13:Jt(e,t,a,l);break;case 23:break;case 22:c=t.stateNode,u=t.alternate,t.memoizedState!==null?c._visibility&2?Jt(e,t,a,l):Fl(e,t):c._visibility&2?Jt(e,t,a,l):(c._visibility|=2,$n(e,t,a,l,(t.subtreeFlags&10256)!==0||!1)),s&2048&&_r(u,t);break;case 24:Jt(e,t,a,l),s&2048&&Mr(t.alternate,t);break;default:Jt(e,t,a,l)}}function $n(e,t,a,l,s){for(s=s&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var c=e,u=t,m=a,j=l,k=u.flags;switch(u.tag){case 0:case 11:case 15:$n(c,u,m,j,s),Kl(8,u);break;case 23:break;case 22:var G=u.stateNode;u.memoizedState!==null?G._visibility&2?$n(c,u,m,j,s):Fl(c,u):(G._visibility|=2,$n(c,u,m,j,s)),s&&k&2048&&_r(u.alternate,u);break;case 24:$n(c,u,m,j,s),s&&k&2048&&Mr(u.alternate,u);break;default:$n(c,u,m,j,s)}t=t.sibling}}function Fl(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var a=e,l=t,s=l.flags;switch(l.tag){case 22:Fl(a,l),s&2048&&_r(l.alternate,l);break;case 24:Fl(a,l),s&2048&&Mr(l.alternate,l);break;default:Fl(a,l)}t=t.sibling}}var Jl=8192;function Wn(e,t,a){if(e.subtreeFlags&Jl)for(e=e.child;e!==null;)Sf(e,t,a),e=e.sibling}function Sf(e,t,a){switch(e.tag){case 26:Wn(e,t,a),e.flags&Jl&&e.memoizedState!==null&&rp(a,Ft,e.memoizedState,e.memoizedProps);break;case 5:Wn(e,t,a);break;case 3:case 4:var l=Ft;Ft=wi(e.stateNode.containerInfo),Wn(e,t,a),Ft=l;break;case 22:e.memoizedState===null&&(l=e.alternate,l!==null&&l.memoizedState!==null?(l=Jl,Jl=16777216,Wn(e,t,a),Jl=l):Wn(e,t,a));break;default:Wn(e,t,a)}}function Nf(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function $l(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var l=t[a];at=l,wf(l,e)}Nf(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Cf(e),e=e.sibling}function Cf(e){switch(e.tag){case 0:case 11:case 15:$l(e),e.flags&2048&&Ga(9,e,e.return);break;case 3:$l(e);break;case 12:$l(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,fi(e)):$l(e);break;default:$l(e)}}function fi(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var l=t[a];at=l,wf(l,e)}Nf(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Ga(8,t,t.return),fi(t);break;case 22:a=t.stateNode,a._visibility&2&&(a._visibility&=-3,fi(t));break;default:fi(t)}e=e.sibling}}function wf(e,t){for(;at!==null;){var a=at;switch(a.tag){case 0:case 11:case 15:Ga(8,a,t);break;case 23:case 22:if(a.memoizedState!==null&&a.memoizedState.cachePool!==null){var l=a.memoizedState.cachePool.pool;l!=null&&l.refCount++}break;case 24:kl(a.memoizedState.cache)}if(l=a.child,l!==null)l.return=a,at=l;else e:for(a=e;at!==null;){l=at;var s=l.sibling,c=l.return;if(xf(l),l===a){at=null;break e}if(s!==null){s.return=c,at=s;break e}at=c}}}var Ng={getCacheForType:function(e){var t=ct(Je),a=t.data.get(e);return a===void 0&&(a=e(),t.data.set(e,a)),a},cacheSignal:function(){return ct(Je).controller.signal}},Cg=typeof WeakMap=="function"?WeakMap:Map,we=0,ke=null,ge=null,ye=0,Te=0,kt=null,Qa=!1,In=!1,kr=!1,Na=0,Ve=0,Ya=0,bn=0,Or=0,Ot=0,Pn=0,Wl=null,St=null,Rr=!1,mi=0,zf=0,hi=1/0,xi=null,Va=null,Pe=0,Xa=null,el=null,Ca=0,Ur=0,Br=null,Tf=null,Il=0,Hr=null;function Rt(){return(we&2)!==0&&ye!==0?ye&-ye:g.T!==null?Vr():Gu()}function Ef(){if(Ot===0)if((ye&536870912)===0||je){var e=Ns;Ns<<=1,(Ns&3932160)===0&&(Ns=262144),Ot=e}else Ot=536870912;return e=_t.current,e!==null&&(e.flags|=32),Ot}function Nt(e,t,a){(e===ke&&(Te===2||Te===9)||e.cancelPendingCommit!==null)&&(tl(e,0),Ka(e,ye,Ot,!1)),vl(e,a),((we&2)===0||e!==ke)&&(e===ke&&((we&2)===0&&(bn|=a),Ve===4&&Ka(e,ye,Ot,!1)),la(e))}function Af(e,t,a){if((we&6)!==0)throw Error(o(327));var l=!a&&(t&127)===0&&(t&e.expiredLanes)===0||yl(e,t),s=l?Tg(e,t):Lr(e,t,!0),c=l;do{if(s===0){In&&!l&&Ka(e,t,0,!1);break}else{if(a=e.current.alternate,c&&!wg(a)){s=Lr(e,t,!1),c=!1;continue}if(s===2){if(c=t,e.errorRecoveryDisabledLanes&c)var u=0;else u=e.pendingLanes&-536870913,u=u!==0?u:u&536870912?536870912:0;if(u!==0){t=u;e:{var m=e;s=Wl;var j=m.current.memoizedState.isDehydrated;if(j&&(tl(m,u).flags|=256),u=Lr(m,u,!1),u!==2){if(kr&&!j){m.errorRecoveryDisabledLanes|=c,bn|=c,s=4;break e}c=St,St=s,c!==null&&(St===null?St=c:St.push.apply(St,c))}s=u}if(c=!1,s!==2)continue}}if(s===1){tl(e,0),Ka(e,t,0,!0);break}e:{switch(l=e,c=s,c){case 0:case 1:throw Error(o(345));case 4:if((t&4194048)!==t)break;case 6:Ka(l,t,Ot,!Qa);break e;case 2:St=null;break;case 3:case 5:break;default:throw Error(o(329))}if((t&62914560)===t&&(s=mi+300-zt(),10<s)){if(Ka(l,t,Ot,!Qa),ws(l,0,!0)!==0)break e;Ca=t,l.timeoutHandle=im(Df.bind(null,l,a,St,xi,Rr,t,Ot,bn,Pn,Qa,c,"Throttled",-0,0),s);break e}Df(l,a,St,xi,Rr,t,Ot,bn,Pn,Qa,c,null,-0,0)}}break}while(!0);la(e)}function Df(e,t,a,l,s,c,u,m,j,k,G,K,R,q){if(e.timeoutHandle=-1,K=t.subtreeFlags,K&8192||(K&16785408)===16785408){K={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:ua},Sf(t,c,K);var se=(c&62914560)===c?mi-zt():(c&4194048)===c?zf-zt():0;if(se=up(K,se),se!==null){Ca=c,e.cancelPendingCommit=se(Hf.bind(null,e,t,c,a,l,s,u,m,j,G,K,null,R,q)),Ka(e,c,u,!k);return}}Hf(e,t,c,a,l,s,u,m,j)}function wg(e){for(var t=e;;){var a=t.tag;if((a===0||a===11||a===15)&&t.flags&16384&&(a=t.updateQueue,a!==null&&(a=a.stores,a!==null)))for(var l=0;l<a.length;l++){var s=a[l],c=s.getSnapshot;s=s.value;try{if(!At(c(),s))return!1}catch{return!1}}if(a=t.child,t.subtreeFlags&16384&&a!==null)a.return=t,t=a;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Ka(e,t,a,l){t&=~Or,t&=~bn,e.suspendedLanes|=t,e.pingedLanes&=~t,l&&(e.warmLanes|=t),l=e.expirationTimes;for(var s=t;0<s;){var c=31-Et(s),u=1<<c;l[c]=-1,s&=~u}a!==0&&Hu(e,a,t)}function gi(){return(we&6)===0?(Pl(0),!1):!0}function qr(){if(ge!==null){if(Te===0)var e=ge.return;else e=ge,ma=dn=null,tr(e),Xn=null,Rl=0,e=ge;for(;e!==null;)cf(e.alternate,e),e=e.return;ge=null}}function tl(e,t){var a=e.timeoutHandle;a!==-1&&(e.timeoutHandle=-1,Xg(a)),a=e.cancelPendingCommit,a!==null&&(e.cancelPendingCommit=null,a()),Ca=0,qr(),ke=e,ge=a=da(e.current,null),ye=t,Te=0,kt=null,Qa=!1,In=yl(e,t),kr=!1,Pn=Ot=Or=bn=Ya=Ve=0,St=Wl=null,Rr=!1,(t&8)!==0&&(t|=t&32);var l=e.entangledLanes;if(l!==0)for(e=e.entanglements,l&=t;0<l;){var s=31-Et(l),c=1<<s;t|=e[s],l&=~c}return Na=t,Bs(),a}function _f(e,t){me=null,g.H=Yl,t===Vn||t===Xs?(t=Ko(),Te=3):t===Yc?(t=Ko(),Te=4):Te=t===pr?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,kt=t,ge===null&&(Ve=1,si(e,qt(t,e.current)))}function Mf(){var e=_t.current;return e===null?!0:(ye&4194048)===ye?Yt===null:(ye&62914560)===ye||(ye&536870912)!==0?e===Yt:!1}function kf(){var e=g.H;return g.H=Yl,e===null?Yl:e}function Of(){var e=g.A;return g.A=Ng,e}function pi(){Ve=4,Qa||(ye&4194048)!==ye&&_t.current!==null||(In=!0),(Ya&134217727)===0&&(bn&134217727)===0||ke===null||Ka(ke,ye,Ot,!1)}function Lr(e,t,a){var l=we;we|=2;var s=kf(),c=Of();(ke!==e||ye!==t)&&(xi=null,tl(e,t)),t=!1;var u=Ve;e:do try{if(Te!==0&&ge!==null){var m=ge,j=kt;switch(Te){case 8:qr(),u=6;break e;case 3:case 2:case 9:case 6:_t.current===null&&(t=!0);var k=Te;if(Te=0,kt=null,al(e,m,j,k),a&&In){u=0;break e}break;default:k=Te,Te=0,kt=null,al(e,m,j,k)}}zg(),u=Ve;break}catch(G){_f(e,G)}while(!0);return t&&e.shellSuspendCounter++,ma=dn=null,we=l,g.H=s,g.A=c,ge===null&&(ke=null,ye=0,Bs()),u}function zg(){for(;ge!==null;)Rf(ge)}function Tg(e,t){var a=we;we|=2;var l=kf(),s=Of();ke!==e||ye!==t?(xi=null,hi=zt()+500,tl(e,t)):In=yl(e,t);e:do try{if(Te!==0&&ge!==null){t=ge;var c=kt;t:switch(Te){case 1:Te=0,kt=null,al(e,t,c,1);break;case 2:case 9:if(Vo(c)){Te=0,kt=null,Uf(t);break}t=function(){Te!==2&&Te!==9||ke!==e||(Te=7),la(e)},c.then(t,t);break e;case 3:Te=7;break e;case 4:Te=5;break e;case 7:Vo(c)?(Te=0,kt=null,Uf(t)):(Te=0,kt=null,al(e,t,c,7));break;case 5:var u=null;switch(ge.tag){case 26:u=ge.memoizedState;case 5:case 27:var m=ge;if(u?jm(u):m.stateNode.complete){Te=0,kt=null;var j=m.sibling;if(j!==null)ge=j;else{var k=m.return;k!==null?(ge=k,yi(k)):ge=null}break t}}Te=0,kt=null,al(e,t,c,5);break;case 6:Te=0,kt=null,al(e,t,c,6);break;case 8:qr(),Ve=6;break e;default:throw Error(o(462))}}Eg();break}catch(G){_f(e,G)}while(!0);return ma=dn=null,g.H=l,g.A=s,we=a,ge!==null?0:(ke=null,ye=0,Bs(),Ve)}function Eg(){for(;ge!==null&&!Wh();)Rf(ge)}function Rf(e){var t=lf(e.alternate,e,Na);e.memoizedProps=e.pendingProps,t===null?yi(e):ge=t}function Uf(e){var t=e,a=t.alternate;switch(t.tag){case 15:case 0:t=Id(a,t,t.pendingProps,t.type,void 0,ye);break;case 11:t=Id(a,t,t.pendingProps,t.type.render,t.ref,ye);break;case 5:tr(t);default:cf(a,t),t=ge=ko(t,Na),t=lf(a,t,Na)}e.memoizedProps=e.pendingProps,t===null?yi(e):ge=t}function al(e,t,a,l){ma=dn=null,tr(t),Xn=null,Rl=0;var s=t.return;try{if(gg(e,s,t,a,ye)){Ve=1,si(e,qt(a,e.current)),ge=null;return}}catch(c){if(s!==null)throw ge=s,c;Ve=1,si(e,qt(a,e.current)),ge=null;return}t.flags&32768?(je||l===1?e=!0:In||(ye&536870912)!==0?e=!1:(Qa=e=!0,(l===2||l===9||l===3||l===6)&&(l=_t.current,l!==null&&l.tag===13&&(l.flags|=16384))),Bf(t,e)):yi(t)}function yi(e){var t=e;do{if((t.flags&32768)!==0){Bf(t,Qa);return}e=t.return;var a=vg(t.alternate,t,Na);if(a!==null){ge=a;return}if(t=t.sibling,t!==null){ge=t;return}ge=t=e}while(t!==null);Ve===0&&(Ve=5)}function Bf(e,t){do{var a=bg(e.alternate,e);if(a!==null){a.flags&=32767,ge=a;return}if(a=e.return,a!==null&&(a.flags|=32768,a.subtreeFlags=0,a.deletions=null),!t&&(e=e.sibling,e!==null)){ge=e;return}ge=e=a}while(e!==null);Ve=6,ge=null}function Hf(e,t,a,l,s,c,u,m,j){e.cancelPendingCommit=null;do vi();while(Pe!==0);if((we&6)!==0)throw Error(o(327));if(t!==null){if(t===e.current)throw Error(o(177));if(c=t.lanes|t.childLanes,c|=Ec,cx(e,a,c,u,m,j),e===ke&&(ge=ke=null,ye=0),el=t,Xa=e,Ca=a,Ur=c,Br=s,Tf=l,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,Mg(js,function(){return Yf(),null})):(e.callbackNode=null,e.callbackPriority=0),l=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||l){l=g.T,g.T=null,s=D.p,D.p=2,u=we,we|=4;try{jg(e,t,a)}finally{we=u,D.p=s,g.T=l}}Pe=1,qf(),Lf(),Gf()}}function qf(){if(Pe===1){Pe=0;var e=Xa,t=el,a=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||a){a=g.T,g.T=null;var l=D.p;D.p=2;var s=we;we|=4;try{vf(t,e);var c=Ir,u=Co(e.containerInfo),m=c.focusedElem,j=c.selectionRange;if(u!==m&&m&&m.ownerDocument&&No(m.ownerDocument.documentElement,m)){if(j!==null&&Nc(m)){var k=j.start,G=j.end;if(G===void 0&&(G=k),"selectionStart"in m)m.selectionStart=k,m.selectionEnd=Math.min(G,m.value.length);else{var K=m.ownerDocument||document,R=K&&K.defaultView||window;if(R.getSelection){var q=R.getSelection(),se=m.textContent.length,oe=Math.min(j.start,se),_e=j.end===void 0?oe:Math.min(j.end,se);!q.extend&&oe>_e&&(u=_e,_e=oe,oe=u);var A=So(m,oe),C=So(m,_e);if(A&&C&&(q.rangeCount!==1||q.anchorNode!==A.node||q.anchorOffset!==A.offset||q.focusNode!==C.node||q.focusOffset!==C.offset)){var M=K.createRange();M.setStart(A.node,A.offset),q.removeAllRanges(),oe>_e?(q.addRange(M),q.extend(C.node,C.offset)):(M.setEnd(C.node,C.offset),q.addRange(M))}}}}for(K=[],q=m;q=q.parentNode;)q.nodeType===1&&K.push({element:q,left:q.scrollLeft,top:q.scrollTop});for(typeof m.focus=="function"&&m.focus(),m=0;m<K.length;m++){var V=K[m];V.element.scrollLeft=V.left,V.element.scrollTop=V.top}}_i=!!Wr,Ir=Wr=null}finally{we=s,D.p=l,g.T=a}}e.current=t,Pe=2}}function Lf(){if(Pe===2){Pe=0;var e=Xa,t=el,a=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||a){a=g.T,g.T=null;var l=D.p;D.p=2;var s=we;we|=4;try{hf(e,t.alternate,t)}finally{we=s,D.p=l,g.T=a}}Pe=3}}function Gf(){if(Pe===4||Pe===3){Pe=0,Ih();var e=Xa,t=el,a=Ca,l=Tf;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Pe=5:(Pe=0,el=Xa=null,Qf(e,e.pendingLanes));var s=e.pendingLanes;if(s===0&&(Va=null),lc(a),t=t.stateNode,Tt&&typeof Tt.onCommitFiberRoot=="function")try{Tt.onCommitFiberRoot(pl,t,void 0,(t.current.flags&128)===128)}catch{}if(l!==null){t=g.T,s=D.p,D.p=2,g.T=null;try{for(var c=e.onRecoverableError,u=0;u<l.length;u++){var m=l[u];c(m.value,{componentStack:m.stack})}}finally{g.T=t,D.p=s}}(Ca&3)!==0&&vi(),la(e),s=e.pendingLanes,(a&261930)!==0&&(s&42)!==0?e===Hr?Il++:(Il=0,Hr=e):Il=0,Pl(0)}}function Qf(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,kl(t)))}function vi(){return qf(),Lf(),Gf(),Yf()}function Yf(){if(Pe!==5)return!1;var e=Xa,t=Ur;Ur=0;var a=lc(Ca),l=g.T,s=D.p;try{D.p=32>a?32:a,g.T=null,a=Br,Br=null;var c=Xa,u=Ca;if(Pe=0,el=Xa=null,Ca=0,(we&6)!==0)throw Error(o(331));var m=we;if(we|=4,Cf(c.current),jf(c,c.current,u,a),we=m,Pl(0,!1),Tt&&typeof Tt.onPostCommitFiberRoot=="function")try{Tt.onPostCommitFiberRoot(pl,c)}catch{}return!0}finally{D.p=s,g.T=l,Qf(e,t)}}function Vf(e,t,a){t=qt(a,t),t=gr(e.stateNode,t,2),e=Ha(e,t,2),e!==null&&(vl(e,2),la(e))}function Ee(e,t,a){if(e.tag===3)Vf(e,e,a);else for(;t!==null;){if(t.tag===3){Vf(t,e,a);break}else if(t.tag===1){var l=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(Va===null||!Va.has(l))){e=qt(a,e),a=Vd(2),l=Ha(t,a,2),l!==null&&(Xd(a,l,t,e),vl(l,2),la(l));break}}t=t.return}}function Gr(e,t,a){var l=e.pingCache;if(l===null){l=e.pingCache=new Cg;var s=new Set;l.set(t,s)}else s=l.get(t),s===void 0&&(s=new Set,l.set(t,s));s.has(a)||(kr=!0,s.add(a),e=Ag.bind(null,e,t,a),t.then(e,e))}function Ag(e,t,a){var l=e.pingCache;l!==null&&l.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,ke===e&&(ye&a)===a&&(Ve===4||Ve===3&&(ye&62914560)===ye&&300>zt()-mi?(we&2)===0&&tl(e,0):Or|=a,Pn===ye&&(Pn=0)),la(e)}function Xf(e,t){t===0&&(t=Bu()),e=rn(e,t),e!==null&&(vl(e,t),la(e))}function Dg(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Xf(e,a)}function _g(e,t){var a=0;switch(e.tag){case 31:case 13:var l=e.stateNode,s=e.memoizedState;s!==null&&(a=s.retryLane);break;case 19:l=e.stateNode;break;case 22:l=e.stateNode._retryCache;break;default:throw Error(o(314))}l!==null&&l.delete(t),Xf(e,a)}function Mg(e,t){return ec(e,t)}var bi=null,nl=null,Qr=!1,ji=!1,Yr=!1,Za=0;function la(e){e!==nl&&e.next===null&&(nl===null?bi=nl=e:nl=nl.next=e),ji=!0,Qr||(Qr=!0,Og())}function Pl(e,t){if(!Yr&&ji){Yr=!0;do for(var a=!1,l=bi;l!==null;){if(e!==0){var s=l.pendingLanes;if(s===0)var c=0;else{var u=l.suspendedLanes,m=l.pingedLanes;c=(1<<31-Et(42|e)+1)-1,c&=s&~(u&~m),c=c&201326741?c&201326741|1:c?c|2:0}c!==0&&(a=!0,Jf(l,c))}else c=ye,c=ws(l,l===ke?c:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(c&3)===0||yl(l,c)||(a=!0,Jf(l,c));l=l.next}while(a);Yr=!1}}function kg(){Kf()}function Kf(){ji=Qr=!1;var e=0;Za!==0&&Vg()&&(e=Za);for(var t=zt(),a=null,l=bi;l!==null;){var s=l.next,c=Zf(l,t);c===0?(l.next=null,a===null?bi=s:a.next=s,s===null&&(nl=a)):(a=l,(e!==0||(c&3)!==0)&&(ji=!0)),l=s}Pe!==0&&Pe!==5||Pl(e),Za!==0&&(Za=0)}function Zf(e,t){for(var a=e.suspendedLanes,l=e.pingedLanes,s=e.expirationTimes,c=e.pendingLanes&-62914561;0<c;){var u=31-Et(c),m=1<<u,j=s[u];j===-1?((m&a)===0||(m&l)!==0)&&(s[u]=ix(m,t)):j<=t&&(e.expiredLanes|=m),c&=~m}if(t=ke,a=ye,a=ws(e,e===t?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),l=e.callbackNode,a===0||e===t&&(Te===2||Te===9)||e.cancelPendingCommit!==null)return l!==null&&l!==null&&tc(l),e.callbackNode=null,e.callbackPriority=0;if((a&3)===0||yl(e,a)){if(t=a&-a,t===e.callbackPriority)return t;switch(l!==null&&tc(l),lc(a)){case 2:case 8:a=Ru;break;case 32:a=js;break;case 268435456:a=Uu;break;default:a=js}return l=Ff.bind(null,e),a=ec(a,l),e.callbackPriority=t,e.callbackNode=a,t}return l!==null&&l!==null&&tc(l),e.callbackPriority=2,e.callbackNode=null,2}function Ff(e,t){if(Pe!==0&&Pe!==5)return e.callbackNode=null,e.callbackPriority=0,null;var a=e.callbackNode;if(vi()&&e.callbackNode!==a)return null;var l=ye;return l=ws(e,e===ke?l:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),l===0?null:(Af(e,l,t),Zf(e,zt()),e.callbackNode!=null&&e.callbackNode===a?Ff.bind(null,e):null)}function Jf(e,t){if(vi())return null;Af(e,t,!0)}function Og(){Kg(function(){(we&6)!==0?ec(Ou,kg):Kf()})}function Vr(){if(Za===0){var e=Qn;e===0&&(e=Ss,Ss<<=1,(Ss&261888)===0&&(Ss=256)),Za=e}return Za}function $f(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:As(""+e)}function Wf(e,t){var a=t.ownerDocument.createElement("input");return a.name=t.name,a.value=t.value,e.id&&a.setAttribute("form",e.id),t.parentNode.insertBefore(a,t),e=new FormData(e),a.parentNode.removeChild(a),e}function Rg(e,t,a,l,s){if(t==="submit"&&a&&a.stateNode===s){var c=$f((s[pt]||null).action),u=l.submitter;u&&(t=(t=u[pt]||null)?$f(t.formAction):u.getAttribute("formAction"),t!==null&&(c=t,u=null));var m=new ks("action","action",null,l,s);e.push({event:m,listeners:[{instance:null,listener:function(){if(l.defaultPrevented){if(Za!==0){var j=u?Wf(s,u):new FormData(s);or(a,{pending:!0,data:j,method:s.method,action:c},null,j)}}else typeof c=="function"&&(m.preventDefault(),j=u?Wf(s,u):new FormData(s),or(a,{pending:!0,data:j,method:s.method,action:c},c,j))},currentTarget:s}]})}}for(var Xr=0;Xr<Tc.length;Xr++){var Kr=Tc[Xr],Ug=Kr.toLowerCase(),Bg=Kr[0].toUpperCase()+Kr.slice(1);Zt(Ug,"on"+Bg)}Zt(To,"onAnimationEnd"),Zt(Eo,"onAnimationIteration"),Zt(Ao,"onAnimationStart"),Zt("dblclick","onDoubleClick"),Zt("focusin","onFocus"),Zt("focusout","onBlur"),Zt(Px,"onTransitionRun"),Zt(eg,"onTransitionStart"),Zt(tg,"onTransitionCancel"),Zt(Do,"onTransitionEnd"),En("onMouseEnter",["mouseout","mouseover"]),En("onMouseLeave",["mouseout","mouseover"]),En("onPointerEnter",["pointerout","pointerover"]),En("onPointerLeave",["pointerout","pointerover"]),nn("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),nn("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),nn("onBeforeInput",["compositionend","keypress","textInput","paste"]),nn("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),nn("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),nn("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var es="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(" "),Hg=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(es));function If(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var l=e[a],s=l.event;l=l.listeners;e:{var c=void 0;if(t)for(var u=l.length-1;0<=u;u--){var m=l[u],j=m.instance,k=m.currentTarget;if(m=m.listener,j!==c&&s.isPropagationStopped())break e;c=m,s.currentTarget=k;try{c(s)}catch(G){Us(G)}s.currentTarget=null,c=j}else for(u=0;u<l.length;u++){if(m=l[u],j=m.instance,k=m.currentTarget,m=m.listener,j!==c&&s.isPropagationStopped())break e;c=m,s.currentTarget=k;try{c(s)}catch(G){Us(G)}s.currentTarget=null,c=j}}}}function pe(e,t){var a=t[sc];a===void 0&&(a=t[sc]=new Set);var l=e+"__bubble";a.has(l)||(Pf(t,e,2,!1),a.add(l))}function Zr(e,t,a){var l=0;t&&(l|=4),Pf(a,e,l,t)}var Si="_reactListening"+Math.random().toString(36).slice(2);function Fr(e){if(!e[Si]){e[Si]=!0,Vu.forEach(function(a){a!=="selectionchange"&&(Hg.has(a)||Zr(a,!1,e),Zr(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Si]||(t[Si]=!0,Zr("selectionchange",!1,t))}}function Pf(e,t,a,l){switch(Em(t)){case 2:var s=fp;break;case 8:s=mp;break;default:s=uu}a=s.bind(null,t,a,e),s=void 0,!hc||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(s=!0),l?s!==void 0?e.addEventListener(t,a,{capture:!0,passive:s}):e.addEventListener(t,a,!0):s!==void 0?e.addEventListener(t,a,{passive:s}):e.addEventListener(t,a,!1)}function Jr(e,t,a,l,s){var c=l;if((t&1)===0&&(t&2)===0&&l!==null)e:for(;;){if(l===null)return;var u=l.tag;if(u===3||u===4){var m=l.stateNode.containerInfo;if(m===s)break;if(u===4)for(u=l.return;u!==null;){var j=u.tag;if((j===3||j===4)&&u.stateNode.containerInfo===s)return;u=u.return}for(;m!==null;){if(u=wn(m),u===null)return;if(j=u.tag,j===5||j===6||j===26||j===27){l=c=u;continue e}m=m.parentNode}}l=l.return}ao(function(){var k=c,G=fc(a),K=[];e:{var R=_o.get(e);if(R!==void 0){var q=ks,se=e;switch(e){case"keypress":if(_s(a)===0)break e;case"keydown":case"keyup":q=_x;break;case"focusin":se="focus",q=yc;break;case"focusout":se="blur",q=yc;break;case"beforeblur":case"afterblur":q=yc;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":q=so;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":q=vx;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":q=Ox;break;case To:case Eo:case Ao:q=Sx;break;case Do:q=Ux;break;case"scroll":case"scrollend":q=px;break;case"wheel":q=Hx;break;case"copy":case"cut":case"paste":q=Cx;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":q=co;break;case"toggle":case"beforetoggle":q=Lx}var oe=(t&4)!==0,_e=!oe&&(e==="scroll"||e==="scrollend"),A=oe?R!==null?R+"Capture":null:R;oe=[];for(var C=k,M;C!==null;){var V=C;if(M=V.stateNode,V=V.tag,V!==5&&V!==26&&V!==27||M===null||A===null||(V=Sl(C,A),V!=null&&oe.push(ts(C,V,M))),_e)break;C=C.return}0<oe.length&&(R=new q(R,se,null,a,G),K.push({event:R,listeners:oe}))}}if((t&7)===0){e:{if(R=e==="mouseover"||e==="pointerover",q=e==="mouseout"||e==="pointerout",R&&a!==dc&&(se=a.relatedTarget||a.fromElement)&&(wn(se)||se[Cn]))break e;if((q||R)&&(R=G.window===G?G:(R=G.ownerDocument)?R.defaultView||R.parentWindow:window,q?(se=a.relatedTarget||a.toElement,q=k,se=se?wn(se):null,se!==null&&(_e=x(se),oe=se.tag,se!==_e||oe!==5&&oe!==27&&oe!==6)&&(se=null)):(q=null,se=k),q!==se)){if(oe=so,V="onMouseLeave",A="onMouseEnter",C="mouse",(e==="pointerout"||e==="pointerover")&&(oe=co,V="onPointerLeave",A="onPointerEnter",C="pointer"),_e=q==null?R:jl(q),M=se==null?R:jl(se),R=new oe(V,C+"leave",q,a,G),R.target=_e,R.relatedTarget=M,V=null,wn(G)===k&&(oe=new oe(A,C+"enter",se,a,G),oe.target=M,oe.relatedTarget=_e,V=oe),_e=V,q&&se)t:{for(oe=qg,A=q,C=se,M=0,V=A;V;V=oe(V))M++;V=0;for(var re=C;re;re=oe(re))V++;for(;0<M-V;)A=oe(A),M--;for(;0<V-M;)C=oe(C),V--;for(;M--;){if(A===C||C!==null&&A===C.alternate){oe=A;break t}A=oe(A),C=oe(C)}oe=null}else oe=null;q!==null&&em(K,R,q,oe,!1),se!==null&&_e!==null&&em(K,_e,se,oe,!0)}}e:{if(R=k?jl(k):window,q=R.nodeName&&R.nodeName.toLowerCase(),q==="select"||q==="input"&&R.type==="file")var Se=go;else if(ho(R))if(po)Se=$x;else{Se=Fx;var ce=Zx}else q=R.nodeName,!q||q.toLowerCase()!=="input"||R.type!=="checkbox"&&R.type!=="radio"?k&&oc(k.elementType)&&(Se=go):Se=Jx;if(Se&&(Se=Se(e,k))){xo(K,Se,a,G);break e}ce&&ce(e,R,k),e==="focusout"&&k&&R.type==="number"&&k.memoizedProps.value!=null&&uc(R,"number",R.value)}switch(ce=k?jl(k):window,e){case"focusin":(ho(ce)||ce.contentEditable==="true")&&(On=ce,Cc=k,Dl=null);break;case"focusout":Dl=Cc=On=null;break;case"mousedown":wc=!0;break;case"contextmenu":case"mouseup":case"dragend":wc=!1,wo(K,a,G);break;case"selectionchange":if(Ix)break;case"keydown":case"keyup":wo(K,a,G)}var xe;if(bc)e:{switch(e){case"compositionstart":var ve="onCompositionStart";break e;case"compositionend":ve="onCompositionEnd";break e;case"compositionupdate":ve="onCompositionUpdate";break e}ve=void 0}else kn?fo(e,a)&&(ve="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(ve="onCompositionStart");ve&&(ro&&a.locale!=="ko"&&(kn||ve!=="onCompositionStart"?ve==="onCompositionEnd"&&kn&&(xe=no()):(_a=G,xc="value"in _a?_a.value:_a.textContent,kn=!0)),ce=Ni(k,ve),0<ce.length&&(ve=new io(ve,e,null,a,G),K.push({event:ve,listeners:ce}),xe?ve.data=xe:(xe=mo(a),xe!==null&&(ve.data=xe)))),(xe=Qx?Yx(e,a):Vx(e,a))&&(ve=Ni(k,"onBeforeInput"),0<ve.length&&(ce=new io("onBeforeInput","beforeinput",null,a,G),K.push({event:ce,listeners:ve}),ce.data=xe)),Rg(K,e,k,a,G)}If(K,t)})}function ts(e,t,a){return{instance:e,listener:t,currentTarget:a}}function Ni(e,t){for(var a=t+"Capture",l=[];e!==null;){var s=e,c=s.stateNode;if(s=s.tag,s!==5&&s!==26&&s!==27||c===null||(s=Sl(e,a),s!=null&&l.unshift(ts(e,s,c)),s=Sl(e,t),s!=null&&l.push(ts(e,s,c))),e.tag===3)return l;e=e.return}return[]}function qg(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function em(e,t,a,l,s){for(var c=t._reactName,u=[];a!==null&&a!==l;){var m=a,j=m.alternate,k=m.stateNode;if(m=m.tag,j!==null&&j===l)break;m!==5&&m!==26&&m!==27||k===null||(j=k,s?(k=Sl(a,c),k!=null&&u.unshift(ts(a,k,j))):s||(k=Sl(a,c),k!=null&&u.push(ts(a,k,j)))),a=a.return}u.length!==0&&e.push({event:t,listeners:u})}var Lg=/\r\n?/g,Gg=/\u0000|\uFFFD/g;function tm(e){return(typeof e=="string"?e:""+e).replace(Lg,`
|
|
9
|
-
`).replace(Gg,"")}function am(e,t){return t=tm(t),tm(e)===t}function De(e,t,a,l,s,c){switch(a){case"children":typeof l=="string"?t==="body"||t==="textarea"&&l===""||Dn(e,l):(typeof l=="number"||typeof l=="bigint")&&t!=="body"&&Dn(e,""+l);break;case"className":Ts(e,"class",l);break;case"tabIndex":Ts(e,"tabindex",l);break;case"dir":case"role":case"viewBox":case"width":case"height":Ts(e,a,l);break;case"style":eo(e,l,c);break;case"data":if(t!=="object"){Ts(e,"data",l);break}case"src":case"href":if(l===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(l==null||typeof l=="function"||typeof l=="symbol"||typeof l=="boolean"){e.removeAttribute(a);break}l=As(""+l),e.setAttribute(a,l);break;case"action":case"formAction":if(typeof l=="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 c=="function"&&(a==="formAction"?(t!=="input"&&De(e,t,"name",s.name,s,null),De(e,t,"formEncType",s.formEncType,s,null),De(e,t,"formMethod",s.formMethod,s,null),De(e,t,"formTarget",s.formTarget,s,null)):(De(e,t,"encType",s.encType,s,null),De(e,t,"method",s.method,s,null),De(e,t,"target",s.target,s,null)));if(l==null||typeof l=="symbol"||typeof l=="boolean"){e.removeAttribute(a);break}l=As(""+l),e.setAttribute(a,l);break;case"onClick":l!=null&&(e.onclick=ua);break;case"onScroll":l!=null&&pe("scroll",e);break;case"onScrollEnd":l!=null&&pe("scrollend",e);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(o(61));if(a=l.__html,a!=null){if(s.children!=null)throw Error(o(60));e.innerHTML=a}}break;case"multiple":e.multiple=l&&typeof l!="function"&&typeof l!="symbol";break;case"muted":e.muted=l&&typeof l!="function"&&typeof l!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(l==null||typeof l=="function"||typeof l=="boolean"||typeof l=="symbol"){e.removeAttribute("xlink:href");break}a=As(""+l),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":l!=null&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(a,""+l):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":l&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(a,""):e.removeAttribute(a);break;case"capture":case"download":l===!0?e.setAttribute(a,""):l!==!1&&l!=null&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(a,l):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":l!=null&&typeof l!="function"&&typeof l!="symbol"&&!isNaN(l)&&1<=l?e.setAttribute(a,l):e.removeAttribute(a);break;case"rowSpan":case"start":l==null||typeof l=="function"||typeof l=="symbol"||isNaN(l)?e.removeAttribute(a):e.setAttribute(a,l);break;case"popover":pe("beforetoggle",e),pe("toggle",e),zs(e,"popover",l);break;case"xlinkActuate":ra(e,"http://www.w3.org/1999/xlink","xlink:actuate",l);break;case"xlinkArcrole":ra(e,"http://www.w3.org/1999/xlink","xlink:arcrole",l);break;case"xlinkRole":ra(e,"http://www.w3.org/1999/xlink","xlink:role",l);break;case"xlinkShow":ra(e,"http://www.w3.org/1999/xlink","xlink:show",l);break;case"xlinkTitle":ra(e,"http://www.w3.org/1999/xlink","xlink:title",l);break;case"xlinkType":ra(e,"http://www.w3.org/1999/xlink","xlink:type",l);break;case"xmlBase":ra(e,"http://www.w3.org/XML/1998/namespace","xml:base",l);break;case"xmlLang":ra(e,"http://www.w3.org/XML/1998/namespace","xml:lang",l);break;case"xmlSpace":ra(e,"http://www.w3.org/XML/1998/namespace","xml:space",l);break;case"is":zs(e,"is",l);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=xx.get(a)||a,zs(e,a,l))}}function $r(e,t,a,l,s,c){switch(a){case"style":eo(e,l,c);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(o(61));if(a=l.__html,a!=null){if(s.children!=null)throw Error(o(60));e.innerHTML=a}}break;case"children":typeof l=="string"?Dn(e,l):(typeof l=="number"||typeof l=="bigint")&&Dn(e,""+l);break;case"onScroll":l!=null&&pe("scroll",e);break;case"onScrollEnd":l!=null&&pe("scrollend",e);break;case"onClick":l!=null&&(e.onclick=ua);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Xu.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(s=a.endsWith("Capture"),t=a.slice(2,s?a.length-7:void 0),c=e[pt]||null,c=c!=null?c[a]:null,typeof c=="function"&&e.removeEventListener(t,c,s),typeof l=="function")){typeof c!="function"&&c!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(t,l,s);break e}a in e?e[a]=l:l===!0?e.setAttribute(a,""):zs(e,a,l)}}}function ut(e,t,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":pe("error",e),pe("load",e);var l=!1,s=!1,c;for(c in a)if(a.hasOwnProperty(c)){var u=a[c];if(u!=null)switch(c){case"src":l=!0;break;case"srcSet":s=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(o(137,t));default:De(e,t,c,u,a,null)}}s&&De(e,t,"srcSet",a.srcSet,a,null),l&&De(e,t,"src",a.src,a,null);return;case"input":pe("invalid",e);var m=c=u=s=null,j=null,k=null;for(l in a)if(a.hasOwnProperty(l)){var G=a[l];if(G!=null)switch(l){case"name":s=G;break;case"type":u=G;break;case"checked":j=G;break;case"defaultChecked":k=G;break;case"value":c=G;break;case"defaultValue":m=G;break;case"children":case"dangerouslySetInnerHTML":if(G!=null)throw Error(o(137,t));break;default:De(e,t,l,G,a,null)}}$u(e,c,m,j,k,u,s,!1);return;case"select":pe("invalid",e),l=u=c=null;for(s in a)if(a.hasOwnProperty(s)&&(m=a[s],m!=null))switch(s){case"value":c=m;break;case"defaultValue":u=m;break;case"multiple":l=m;default:De(e,t,s,m,a,null)}t=c,a=u,e.multiple=!!l,t!=null?An(e,!!l,t,!1):a!=null&&An(e,!!l,a,!0);return;case"textarea":pe("invalid",e),c=s=l=null;for(u in a)if(a.hasOwnProperty(u)&&(m=a[u],m!=null))switch(u){case"value":l=m;break;case"defaultValue":s=m;break;case"children":c=m;break;case"dangerouslySetInnerHTML":if(m!=null)throw Error(o(91));break;default:De(e,t,u,m,a,null)}Iu(e,l,s,c);return;case"option":for(j in a)a.hasOwnProperty(j)&&(l=a[j],l!=null)&&(j==="selected"?e.selected=l&&typeof l!="function"&&typeof l!="symbol":De(e,t,j,l,a,null));return;case"dialog":pe("beforetoggle",e),pe("toggle",e),pe("cancel",e),pe("close",e);break;case"iframe":case"object":pe("load",e);break;case"video":case"audio":for(l=0;l<es.length;l++)pe(es[l],e);break;case"image":pe("error",e),pe("load",e);break;case"details":pe("toggle",e);break;case"embed":case"source":case"link":pe("error",e),pe("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(k in a)if(a.hasOwnProperty(k)&&(l=a[k],l!=null))switch(k){case"children":case"dangerouslySetInnerHTML":throw Error(o(137,t));default:De(e,t,k,l,a,null)}return;default:if(oc(t)){for(G in a)a.hasOwnProperty(G)&&(l=a[G],l!==void 0&&$r(e,t,G,l,a,void 0));return}}for(m in a)a.hasOwnProperty(m)&&(l=a[m],l!=null&&De(e,t,m,l,a,null))}function Qg(e,t,a,l){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var s=null,c=null,u=null,m=null,j=null,k=null,G=null;for(q in a){var K=a[q];if(a.hasOwnProperty(q)&&K!=null)switch(q){case"checked":break;case"value":break;case"defaultValue":j=K;default:l.hasOwnProperty(q)||De(e,t,q,null,l,K)}}for(var R in l){var q=l[R];if(K=a[R],l.hasOwnProperty(R)&&(q!=null||K!=null))switch(R){case"type":c=q;break;case"name":s=q;break;case"checked":k=q;break;case"defaultChecked":G=q;break;case"value":u=q;break;case"defaultValue":m=q;break;case"children":case"dangerouslySetInnerHTML":if(q!=null)throw Error(o(137,t));break;default:q!==K&&De(e,t,R,q,l,K)}}rc(e,u,m,j,k,G,c,s);return;case"select":q=u=m=R=null;for(c in a)if(j=a[c],a.hasOwnProperty(c)&&j!=null)switch(c){case"value":break;case"multiple":q=j;default:l.hasOwnProperty(c)||De(e,t,c,null,l,j)}for(s in l)if(c=l[s],j=a[s],l.hasOwnProperty(s)&&(c!=null||j!=null))switch(s){case"value":R=c;break;case"defaultValue":m=c;break;case"multiple":u=c;default:c!==j&&De(e,t,s,c,l,j)}t=m,a=u,l=q,R!=null?An(e,!!a,R,!1):!!l!=!!a&&(t!=null?An(e,!!a,t,!0):An(e,!!a,a?[]:"",!1));return;case"textarea":q=R=null;for(m in a)if(s=a[m],a.hasOwnProperty(m)&&s!=null&&!l.hasOwnProperty(m))switch(m){case"value":break;case"children":break;default:De(e,t,m,null,l,s)}for(u in l)if(s=l[u],c=a[u],l.hasOwnProperty(u)&&(s!=null||c!=null))switch(u){case"value":R=s;break;case"defaultValue":q=s;break;case"children":break;case"dangerouslySetInnerHTML":if(s!=null)throw Error(o(91));break;default:s!==c&&De(e,t,u,s,l,c)}Wu(e,R,q);return;case"option":for(var se in a)R=a[se],a.hasOwnProperty(se)&&R!=null&&!l.hasOwnProperty(se)&&(se==="selected"?e.selected=!1:De(e,t,se,null,l,R));for(j in l)R=l[j],q=a[j],l.hasOwnProperty(j)&&R!==q&&(R!=null||q!=null)&&(j==="selected"?e.selected=R&&typeof R!="function"&&typeof R!="symbol":De(e,t,j,R,l,q));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 oe in a)R=a[oe],a.hasOwnProperty(oe)&&R!=null&&!l.hasOwnProperty(oe)&&De(e,t,oe,null,l,R);for(k in l)if(R=l[k],q=a[k],l.hasOwnProperty(k)&&R!==q&&(R!=null||q!=null))switch(k){case"children":case"dangerouslySetInnerHTML":if(R!=null)throw Error(o(137,t));break;default:De(e,t,k,R,l,q)}return;default:if(oc(t)){for(var _e in a)R=a[_e],a.hasOwnProperty(_e)&&R!==void 0&&!l.hasOwnProperty(_e)&&$r(e,t,_e,void 0,l,R);for(G in l)R=l[G],q=a[G],!l.hasOwnProperty(G)||R===q||R===void 0&&q===void 0||$r(e,t,G,R,l,q);return}}for(var A in a)R=a[A],a.hasOwnProperty(A)&&R!=null&&!l.hasOwnProperty(A)&&De(e,t,A,null,l,R);for(K in l)R=l[K],q=a[K],!l.hasOwnProperty(K)||R===q||R==null&&q==null||De(e,t,K,R,l,q)}function nm(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function Yg(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,a=performance.getEntriesByType("resource"),l=0;l<a.length;l++){var s=a[l],c=s.transferSize,u=s.initiatorType,m=s.duration;if(c&&m&&nm(u)){for(u=0,m=s.responseEnd,l+=1;l<a.length;l++){var j=a[l],k=j.startTime;if(k>m)break;var G=j.transferSize,K=j.initiatorType;G&&nm(K)&&(j=j.responseEnd,u+=G*(j<m?1:(m-k)/(j-k)))}if(--l,t+=8*(c+u)/(s.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var Wr=null,Ir=null;function Ci(e){return e.nodeType===9?e:e.ownerDocument}function lm(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 sm(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function Pr(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var eu=null;function Vg(){var e=window.event;return e&&e.type==="popstate"?e===eu?!1:(eu=e,!0):(eu=null,!1)}var im=typeof setTimeout=="function"?setTimeout:void 0,Xg=typeof clearTimeout=="function"?clearTimeout:void 0,cm=typeof Promise=="function"?Promise:void 0,Kg=typeof queueMicrotask=="function"?queueMicrotask:typeof cm<"u"?function(e){return cm.resolve(null).then(e).catch(Zg)}:im;function Zg(e){setTimeout(function(){throw e})}function Fa(e){return e==="head"}function rm(e,t){var a=t,l=0;do{var s=a.nextSibling;if(e.removeChild(a),s&&s.nodeType===8)if(a=s.data,a==="/$"||a==="/&"){if(l===0){e.removeChild(s),cl(t);return}l--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")l++;else if(a==="html")as(e.ownerDocument.documentElement);else if(a==="head"){a=e.ownerDocument.head,as(a);for(var c=a.firstChild;c;){var u=c.nextSibling,m=c.nodeName;c[bl]||m==="SCRIPT"||m==="STYLE"||m==="LINK"&&c.rel.toLowerCase()==="stylesheet"||a.removeChild(c),c=u}}else a==="body"&&as(e.ownerDocument.body);a=s}while(a);cl(t)}function um(e,t){var a=e;e=0;do{var l=a.nextSibling;if(a.nodeType===1?t?(a._stashedDisplay=a.style.display,a.style.display="none"):(a.style.display=a._stashedDisplay||"",a.getAttribute("style")===""&&a.removeAttribute("style")):a.nodeType===3&&(t?(a._stashedText=a.nodeValue,a.nodeValue=""):a.nodeValue=a._stashedText||""),l&&l.nodeType===8)if(a=l.data,a==="/$"){if(e===0)break;e--}else a!=="$"&&a!=="$?"&&a!=="$~"&&a!=="$!"||e++;a=l}while(a)}function tu(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var a=t;switch(t=t.nextSibling,a.nodeName){case"HTML":case"HEAD":case"BODY":tu(a),ic(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function Fg(e,t,a,l){for(;e.nodeType===1;){var s=a;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!l&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(l){if(!e[bl])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(c=e.getAttribute("rel"),c==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(c!==s.rel||e.getAttribute("href")!==(s.href==null||s.href===""?null:s.href)||e.getAttribute("crossorigin")!==(s.crossOrigin==null?null:s.crossOrigin)||e.getAttribute("title")!==(s.title==null?null:s.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(c=e.getAttribute("src"),(c!==(s.src==null?null:s.src)||e.getAttribute("type")!==(s.type==null?null:s.type)||e.getAttribute("crossorigin")!==(s.crossOrigin==null?null:s.crossOrigin))&&c&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var c=s.name==null?null:""+s.name;if(s.type==="hidden"&&e.getAttribute("name")===c)return e}else return e;if(e=Vt(e.nextSibling),e===null)break}return null}function Jg(e,t,a){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=Vt(e.nextSibling),e===null))return null;return e}function om(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Vt(e.nextSibling),e===null))return null;return e}function au(e){return e.data==="$?"||e.data==="$~"}function nu(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function $g(e,t){var a=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||a.readyState!=="loading")t();else{var l=function(){t(),a.removeEventListener("DOMContentLoaded",l)};a.addEventListener("DOMContentLoaded",l),e._reactRetry=l}}function Vt(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var lu=null;function dm(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"||a==="/&"){if(t===0)return Vt(e.nextSibling);t--}else a!=="$"&&a!=="$!"&&a!=="$?"&&a!=="$~"&&a!=="&"||t++}e=e.nextSibling}return null}function fm(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"){if(t===0)return e;t--}else a!=="/$"&&a!=="/&"||t++}e=e.previousSibling}return null}function mm(e,t,a){switch(t=Ci(a),e){case"html":if(e=t.documentElement,!e)throw Error(o(452));return e;case"head":if(e=t.head,!e)throw Error(o(453));return e;case"body":if(e=t.body,!e)throw Error(o(454));return e;default:throw Error(o(451))}}function as(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);ic(e)}var Xt=new Map,hm=new Set;function wi(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var wa=D.d;D.d={f:Wg,r:Ig,D:Pg,C:ep,L:tp,m:ap,X:lp,S:np,M:sp};function Wg(){var e=wa.f(),t=gi();return e||t}function Ig(e){var t=zn(e);t!==null&&t.tag===5&&t.type==="form"?Dd(t):wa.r(e)}var ll=typeof document>"u"?null:document;function xm(e,t,a){var l=ll;if(l&&typeof t=="string"&&t){var s=Bt(t);s='link[rel="'+e+'"][href="'+s+'"]',typeof a=="string"&&(s+='[crossorigin="'+a+'"]'),hm.has(s)||(hm.add(s),e={rel:e,crossOrigin:a,href:t},l.querySelector(s)===null&&(t=l.createElement("link"),ut(t,"link",e),tt(t),l.head.appendChild(t)))}}function Pg(e){wa.D(e),xm("dns-prefetch",e,null)}function ep(e,t){wa.C(e,t),xm("preconnect",e,t)}function tp(e,t,a){wa.L(e,t,a);var l=ll;if(l&&e&&t){var s='link[rel="preload"][as="'+Bt(t)+'"]';t==="image"&&a&&a.imageSrcSet?(s+='[imagesrcset="'+Bt(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(s+='[imagesizes="'+Bt(a.imageSizes)+'"]')):s+='[href="'+Bt(e)+'"]';var c=s;switch(t){case"style":c=sl(e);break;case"script":c=il(e)}Xt.has(c)||(e=E({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),Xt.set(c,e),l.querySelector(s)!==null||t==="style"&&l.querySelector(ns(c))||t==="script"&&l.querySelector(ls(c))||(t=l.createElement("link"),ut(t,"link",e),tt(t),l.head.appendChild(t)))}}function ap(e,t){wa.m(e,t);var a=ll;if(a&&e){var l=t&&typeof t.as=="string"?t.as:"script",s='link[rel="modulepreload"][as="'+Bt(l)+'"][href="'+Bt(e)+'"]',c=s;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":c=il(e)}if(!Xt.has(c)&&(e=E({rel:"modulepreload",href:e},t),Xt.set(c,e),a.querySelector(s)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(ls(c)))return}l=a.createElement("link"),ut(l,"link",e),tt(l),a.head.appendChild(l)}}}function np(e,t,a){wa.S(e,t,a);var l=ll;if(l&&e){var s=Tn(l).hoistableStyles,c=sl(e);t=t||"default";var u=s.get(c);if(!u){var m={loading:0,preload:null};if(u=l.querySelector(ns(c)))m.loading=5;else{e=E({rel:"stylesheet",href:e,"data-precedence":t},a),(a=Xt.get(c))&&su(e,a);var j=u=l.createElement("link");tt(j),ut(j,"link",e),j._p=new Promise(function(k,G){j.onload=k,j.onerror=G}),j.addEventListener("load",function(){m.loading|=1}),j.addEventListener("error",function(){m.loading|=2}),m.loading|=4,zi(u,t,l)}u={type:"stylesheet",instance:u,count:1,state:m},s.set(c,u)}}}function lp(e,t){wa.X(e,t);var a=ll;if(a&&e){var l=Tn(a).hoistableScripts,s=il(e),c=l.get(s);c||(c=a.querySelector(ls(s)),c||(e=E({src:e,async:!0},t),(t=Xt.get(s))&&iu(e,t),c=a.createElement("script"),tt(c),ut(c,"link",e),a.head.appendChild(c)),c={type:"script",instance:c,count:1,state:null},l.set(s,c))}}function sp(e,t){wa.M(e,t);var a=ll;if(a&&e){var l=Tn(a).hoistableScripts,s=il(e),c=l.get(s);c||(c=a.querySelector(ls(s)),c||(e=E({src:e,async:!0,type:"module"},t),(t=Xt.get(s))&&iu(e,t),c=a.createElement("script"),tt(c),ut(c,"link",e),a.head.appendChild(c)),c={type:"script",instance:c,count:1,state:null},l.set(s,c))}}function gm(e,t,a,l){var s=(s=ht.current)?wi(s):null;if(!s)throw Error(o(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=sl(a.href),a=Tn(s).hoistableStyles,l=a.get(t),l||(l={type:"style",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=sl(a.href);var c=Tn(s).hoistableStyles,u=c.get(e);if(u||(s=s.ownerDocument||s,u={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},c.set(e,u),(c=s.querySelector(ns(e)))&&!c._p&&(u.instance=c,u.state.loading=5),Xt.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},Xt.set(e,a),c||ip(s,e,a,u.state))),t&&l===null)throw Error(o(528,""));return u}if(t&&l!==null)throw Error(o(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=il(a),a=Tn(s).hoistableScripts,l=a.get(t),l||(l={type:"script",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,e))}}function sl(e){return'href="'+Bt(e)+'"'}function ns(e){return'link[rel="stylesheet"]['+e+"]"}function pm(e){return E({},e,{"data-precedence":e.precedence,precedence:null})}function ip(e,t,a,l){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?l.loading=1:(t=e.createElement("link"),l.preload=t,t.addEventListener("load",function(){return l.loading|=1}),t.addEventListener("error",function(){return l.loading|=2}),ut(t,"link",a),tt(t),e.head.appendChild(t))}function il(e){return'[src="'+Bt(e)+'"]'}function ls(e){return"script[async]"+e}function ym(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var l=e.querySelector('style[data-href~="'+Bt(a.href)+'"]');if(l)return t.instance=l,tt(l),l;var s=E({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return l=(e.ownerDocument||e).createElement("style"),tt(l),ut(l,"style",s),zi(l,a.precedence,e),t.instance=l;case"stylesheet":s=sl(a.href);var c=e.querySelector(ns(s));if(c)return t.state.loading|=4,t.instance=c,tt(c),c;l=pm(a),(s=Xt.get(s))&&su(l,s),c=(e.ownerDocument||e).createElement("link"),tt(c);var u=c;return u._p=new Promise(function(m,j){u.onload=m,u.onerror=j}),ut(c,"link",l),t.state.loading|=4,zi(c,a.precedence,e),t.instance=c;case"script":return c=il(a.src),(s=e.querySelector(ls(c)))?(t.instance=s,tt(s),s):(l=a,(s=Xt.get(c))&&(l=E({},a),iu(l,s)),e=e.ownerDocument||e,s=e.createElement("script"),tt(s),ut(s,"link",l),e.head.appendChild(s),t.instance=s);case"void":return null;default:throw Error(o(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(l=t.instance,t.state.loading|=4,zi(l,a.precedence,e));return t.instance}function zi(e,t,a){for(var l=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),s=l.length?l[l.length-1]:null,c=s,u=0;u<l.length;u++){var m=l[u];if(m.dataset.precedence===t)c=m;else if(c!==s)break}c?c.parentNode.insertBefore(e,c.nextSibling):(t=a.nodeType===9?a.head:a,t.insertBefore(e,t.firstChild))}function su(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function iu(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Ti=null;function vm(e,t,a){if(Ti===null){var l=new Map,s=Ti=new Map;s.set(a,l)}else s=Ti,l=s.get(a),l||(l=new Map,s.set(a,l));if(l.has(e))return l;for(l.set(e,null),a=a.getElementsByTagName(e),s=0;s<a.length;s++){var c=a[s];if(!(c[bl]||c[st]||e==="link"&&c.getAttribute("rel")==="stylesheet")&&c.namespaceURI!=="http://www.w3.org/2000/svg"){var u=c.getAttribute(t)||"";u=e+u;var m=l.get(u);m?m.push(c):l.set(u,[c])}}return l}function bm(e,t,a){e=e.ownerDocument||e,e.head.insertBefore(a,t==="title"?e.querySelector("head > title"):null)}function cp(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function jm(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function rp(e,t,a,l){if(a.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var s=sl(l.href),c=t.querySelector(ns(s));if(c){t=c._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Ei.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=c,tt(c);return}c=t.ownerDocument||t,l=pm(l),(s=Xt.get(s))&&su(l,s),c=c.createElement("link"),tt(c);var u=c;u._p=new Promise(function(m,j){u.onload=m,u.onerror=j}),ut(c,"link",l),a.instance=c}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=Ei.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var cu=0;function up(e,t){return e.stylesheets&&e.count===0&&Di(e,e.stylesheets),0<e.count||0<e.imgCount?function(a){var l=setTimeout(function(){if(e.stylesheets&&Di(e,e.stylesheets),e.unsuspend){var c=e.unsuspend;e.unsuspend=null,c()}},6e4+t);0<e.imgBytes&&cu===0&&(cu=62500*Yg());var s=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Di(e,e.stylesheets),e.unsuspend)){var c=e.unsuspend;e.unsuspend=null,c()}},(e.imgBytes>cu?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(l),clearTimeout(s)}}:null}function Ei(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Di(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Ai=null;function Di(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Ai=new Map,t.forEach(op,e),Ai=null,Ei.call(e))}function op(e,t){if(!(t.state.loading&4)){var a=Ai.get(e);if(a)var l=a.get(null);else{a=new Map,Ai.set(e,a);for(var s=e.querySelectorAll("link[data-precedence],style[data-precedence]"),c=0;c<s.length;c++){var u=s[c];(u.nodeName==="LINK"||u.getAttribute("media")!=="not all")&&(a.set(u.dataset.precedence,u),l=u)}l&&a.set(null,l)}s=t.instance,u=s.getAttribute("data-precedence"),c=a.get(u)||l,c===l&&a.set(null,s),a.set(u,s),this.count++,l=Ei.bind(this),s.addEventListener("load",l),s.addEventListener("error",l),c?c.parentNode.insertBefore(s,c.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(s,e.firstChild)),t.state.loading|=4}}var ss={$$typeof:N,Provider:null,Consumer:null,_currentValue:ee,_currentValue2:ee,_threadCount:0};function dp(e,t,a,l,s,c,u,m,j){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=ac(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ac(0),this.hiddenUpdates=ac(null),this.identifierPrefix=l,this.onUncaughtError=s,this.onCaughtError=c,this.onRecoverableError=u,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=j,this.incompleteTransitions=new Map}function Sm(e,t,a,l,s,c,u,m,j,k,G,K){return e=new dp(e,t,a,u,j,k,G,K,m),t=1,c===!0&&(t|=24),c=Dt(3,null,null,t),e.current=c,c.stateNode=e,t=Lc(),t.refCount++,e.pooledCache=t,t.refCount++,c.memoizedState={element:l,isDehydrated:a,cache:t},Vc(c),e}function Nm(e){return e?(e=Bn,e):Bn}function Cm(e,t,a,l,s,c){s=Nm(s),l.context===null?l.context=s:l.pendingContext=s,l=Ba(t),l.payload={element:a},c=c===void 0?null:c,c!==null&&(l.callback=c),a=Ha(e,l,t),a!==null&&(Nt(a,e,t),Bl(a,e,t))}function wm(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function ru(e,t){wm(e,t),(e=e.alternate)&&wm(e,t)}function zm(e){if(e.tag===13||e.tag===31){var t=rn(e,67108864);t!==null&&Nt(t,e,67108864),ru(e,67108864)}}function Tm(e){if(e.tag===13||e.tag===31){var t=Rt();t=nc(t);var a=rn(e,t);a!==null&&Nt(a,e,t),ru(e,t)}}var _i=!0;function fp(e,t,a,l){var s=g.T;g.T=null;var c=D.p;try{D.p=2,uu(e,t,a,l)}finally{D.p=c,g.T=s}}function mp(e,t,a,l){var s=g.T;g.T=null;var c=D.p;try{D.p=8,uu(e,t,a,l)}finally{D.p=c,g.T=s}}function uu(e,t,a,l){if(_i){var s=ou(l);if(s===null)Jr(e,t,l,Mi,a),Am(e,l);else if(xp(s,e,t,a,l))l.stopPropagation();else if(Am(e,l),t&4&&-1<hp.indexOf(e)){for(;s!==null;){var c=zn(s);if(c!==null)switch(c.tag){case 3:if(c=c.stateNode,c.current.memoizedState.isDehydrated){var u=an(c.pendingLanes);if(u!==0){var m=c;for(m.pendingLanes|=2,m.entangledLanes|=2;u;){var j=1<<31-Et(u);m.entanglements[1]|=j,u&=~j}la(c),(we&6)===0&&(hi=zt()+500,Pl(0))}}break;case 31:case 13:m=rn(c,2),m!==null&&Nt(m,c,2),gi(),ru(c,2)}if(c=ou(l),c===null&&Jr(e,t,l,Mi,a),c===s)break;s=c}s!==null&&l.stopPropagation()}else Jr(e,t,l,null,a)}}function ou(e){return e=fc(e),du(e)}var Mi=null;function du(e){if(Mi=null,e=wn(e),e!==null){var t=x(e);if(t===null)e=null;else{var a=t.tag;if(a===13){if(e=y(t),e!==null)return e;e=null}else if(a===31){if(e=v(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Mi=e,null}function Em(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(Ph()){case Ou:return 2;case Ru:return 8;case js:case ex:return 32;case Uu:return 268435456;default:return 32}default:return 32}}var fu=!1,Ja=null,$a=null,Wa=null,is=new Map,cs=new Map,Ia=[],hp="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 Am(e,t){switch(e){case"focusin":case"focusout":Ja=null;break;case"dragenter":case"dragleave":$a=null;break;case"mouseover":case"mouseout":Wa=null;break;case"pointerover":case"pointerout":is.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":cs.delete(t.pointerId)}}function rs(e,t,a,l,s,c){return e===null||e.nativeEvent!==c?(e={blockedOn:t,domEventName:a,eventSystemFlags:l,nativeEvent:c,targetContainers:[s]},t!==null&&(t=zn(t),t!==null&&zm(t)),e):(e.eventSystemFlags|=l,t=e.targetContainers,s!==null&&t.indexOf(s)===-1&&t.push(s),e)}function xp(e,t,a,l,s){switch(t){case"focusin":return Ja=rs(Ja,e,t,a,l,s),!0;case"dragenter":return $a=rs($a,e,t,a,l,s),!0;case"mouseover":return Wa=rs(Wa,e,t,a,l,s),!0;case"pointerover":var c=s.pointerId;return is.set(c,rs(is.get(c)||null,e,t,a,l,s)),!0;case"gotpointercapture":return c=s.pointerId,cs.set(c,rs(cs.get(c)||null,e,t,a,l,s)),!0}return!1}function Dm(e){var t=wn(e.target);if(t!==null){var a=x(t);if(a!==null){if(t=a.tag,t===13){if(t=y(a),t!==null){e.blockedOn=t,Qu(e.priority,function(){Tm(a)});return}}else if(t===31){if(t=v(a),t!==null){e.blockedOn=t,Qu(e.priority,function(){Tm(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function ki(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=ou(e.nativeEvent);if(a===null){a=e.nativeEvent;var l=new a.constructor(a.type,a);dc=l,a.target.dispatchEvent(l),dc=null}else return t=zn(a),t!==null&&zm(t),e.blockedOn=a,!1;t.shift()}return!0}function _m(e,t,a){ki(e)&&a.delete(t)}function gp(){fu=!1,Ja!==null&&ki(Ja)&&(Ja=null),$a!==null&&ki($a)&&($a=null),Wa!==null&&ki(Wa)&&(Wa=null),is.forEach(_m),cs.forEach(_m)}function Oi(e,t){e.blockedOn===t&&(e.blockedOn=null,fu||(fu=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,gp)))}var Ri=null;function Mm(e){Ri!==e&&(Ri=e,i.unstable_scheduleCallback(i.unstable_NormalPriority,function(){Ri===e&&(Ri=null);for(var t=0;t<e.length;t+=3){var a=e[t],l=e[t+1],s=e[t+2];if(typeof l!="function"){if(du(l||a)===null)continue;break}var c=zn(a);c!==null&&(e.splice(t,3),t-=3,or(c,{pending:!0,data:s,method:a.method,action:l},l,s))}}))}function cl(e){function t(j){return Oi(j,e)}Ja!==null&&Oi(Ja,e),$a!==null&&Oi($a,e),Wa!==null&&Oi(Wa,e),is.forEach(t),cs.forEach(t);for(var a=0;a<Ia.length;a++){var l=Ia[a];l.blockedOn===e&&(l.blockedOn=null)}for(;0<Ia.length&&(a=Ia[0],a.blockedOn===null);)Dm(a),a.blockedOn===null&&Ia.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(l=0;l<a.length;l+=3){var s=a[l],c=a[l+1],u=s[pt]||null;if(typeof c=="function")u||Mm(a);else if(u){var m=null;if(c&&c.hasAttribute("formAction")){if(s=c,u=c[pt]||null)m=u.formAction;else if(du(s)!==null)continue}else m=u.action;typeof m=="function"?a[l+1]=m:(a.splice(l,3),l-=3),Mm(a)}}}function km(){function e(c){c.canIntercept&&c.info==="react-transition"&&c.intercept({handler:function(){return new Promise(function(u){return s=u})},focusReset:"manual",scroll:"manual"})}function t(){s!==null&&(s(),s=null),l||setTimeout(a,20)}function a(){if(!l&&!navigation.transition){var c=navigation.currentEntry;c&&c.url!=null&&navigation.navigate(c.url,{state:c.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var l=!1,s=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(a,100),function(){l=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),s!==null&&(s(),s=null)}}}function mu(e){this._internalRoot=e}Ui.prototype.render=mu.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(o(409));var a=t.current,l=Rt();Cm(a,l,e,t,null,null)},Ui.prototype.unmount=mu.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Cm(e.current,2,null,e,null,null),gi(),t[Cn]=null}};function Ui(e){this._internalRoot=e}Ui.prototype.unstable_scheduleHydration=function(e){if(e){var t=Gu();e={blockedOn:null,target:e,priority:t};for(var a=0;a<Ia.length&&t!==0&&t<Ia[a].priority;a++);Ia.splice(a,0,e),a===0&&Dm(e)}};var Om=r.version;if(Om!=="19.2.3")throw Error(o(527,Om,"19.2.3"));D.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(o(188)):(e=Object.keys(e).join(","),Error(o(268,e)));return e=S(t),e=e!==null?T(e):null,e=e===null?null:e.stateNode,e};var pp={bundleType:0,version:"19.2.3",rendererPackageName:"react-dom",currentDispatcherRef:g,reconcilerVersion:"19.2.3"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Bi=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Bi.isDisabled&&Bi.supportsFiber)try{pl=Bi.inject(pp),Tt=Bi}catch{}}return us.createRoot=function(e,t){if(!h(e))throw Error(o(299));var a=!1,l="",s=Ld,c=Gd,u=Qd;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(l=t.identifierPrefix),t.onUncaughtError!==void 0&&(s=t.onUncaughtError),t.onCaughtError!==void 0&&(c=t.onCaughtError),t.onRecoverableError!==void 0&&(u=t.onRecoverableError)),t=Sm(e,1,!1,null,null,a,l,null,s,c,u,km),e[Cn]=t.current,Fr(e),new mu(t)},us.hydrateRoot=function(e,t,a){if(!h(e))throw Error(o(299));var l=!1,s="",c=Ld,u=Gd,m=Qd,j=null;return a!=null&&(a.unstable_strictMode===!0&&(l=!0),a.identifierPrefix!==void 0&&(s=a.identifierPrefix),a.onUncaughtError!==void 0&&(c=a.onUncaughtError),a.onCaughtError!==void 0&&(u=a.onCaughtError),a.onRecoverableError!==void 0&&(m=a.onRecoverableError),a.formState!==void 0&&(j=a.formState)),t=Sm(e,1,!0,t,a??null,l,s,j,c,u,m,km),t.context=Nm(null),a=t.current,l=Rt(),l=nc(l),s=Ba(l),s.callback=null,Ha(a,s,l),a=l,t.current.lanes=a,vl(t,a),la(t),e[Cn]=t.current,Fr(e),new Ui(t)},us.version="19.2.3",us}var Ym;function Jy(){if(Ym)return hu.exports;Ym=1;function i(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(r){console.error(r)}}return i(),hu.exports=Fy(),hu.exports}var $y=Jy();const Wy="/api";async function he(i,r){const d=await fetch(`${Wy}${i}`,{...r,headers:{"Content-Type":"application/json",...r?.headers}});if(!d.ok){const o=await d.json().catch(()=>({detail:"Unknown error"}));throw new Error(o.detail||`HTTP ${d.status}`)}if(d.status!==204)return d.json()}async function Iy(){return he("/projects")}async function Py(i,r,d="manual"){return he("/projects",{method:"POST",body:JSON.stringify({name:i,path:r,spec_method:d})})}async function e0(i){await he(`/projects/${encodeURIComponent(i)}`,{method:"DELETE"})}async function t0(i,r){return he(`/projects/${encodeURIComponent(i)}/settings`,{method:"PATCH",body:JSON.stringify(r)})}async function a0(i,r=!1){const d=r?"?full_reset=true":"";return he(`/projects/${encodeURIComponent(i)}/reset${d}`,{method:"POST"})}async function n0(i){return he(`/projects/${encodeURIComponent(i)}/features`)}async function l0(i,r){return he(`/projects/${encodeURIComponent(i)}/features`,{method:"POST",body:JSON.stringify(r)})}async function s0(i,r){await he(`/projects/${encodeURIComponent(i)}/features/${r}`,{method:"DELETE"})}async function i0(i,r){await he(`/projects/${encodeURIComponent(i)}/features/${r}/skip`,{method:"PATCH"})}async function c0(i,r,d){return he(`/projects/${encodeURIComponent(i)}/features/${r}`,{method:"PATCH",body:JSON.stringify(d)})}async function r0(i,r,d){return he(`/projects/${encodeURIComponent(i)}/features/${r}/resolve-human-input`,{method:"POST",body:JSON.stringify(d)})}async function u0(i){return he(`/projects/${encodeURIComponent(i)}/features/graph`)}async function o0(i){return he(`/projects/${encodeURIComponent(i)}/agent/status`)}async function Eu(i,r={}){return he(`/projects/${encodeURIComponent(i)}/agent/start`,{method:"POST",body:JSON.stringify({yolo_mode:r.yoloMode??!1,parallel_mode:r.parallelMode??!1,max_concurrency:r.maxConcurrency,testing_agent_ratio:r.testingAgentRatio})})}async function d0(i){return he(`/projects/${encodeURIComponent(i)}/agent/stop`,{method:"POST"})}async function f0(i){return he(`/projects/${encodeURIComponent(i)}/agent/graceful-pause`,{method:"POST"})}async function m0(i){return he(`/projects/${encodeURIComponent(i)}/agent/graceful-resume`,{method:"POST"})}async function h0(i){return he(`/spec/status/${encodeURIComponent(i)}`)}async function x0(){return he("/setup/status")}async function g0(){return he("/health")}async function p0(i){const r=i?`?path=${encodeURIComponent(i)}`:"";return he(`/filesystem/list${r}`)}async function y0(i){const r=i.endsWith("/")?i.slice(0,-1):i,d=r.lastIndexOf("/");let o,h;if(d===2&&/^[A-Za-z]:/.test(r))o=r.substring(0,3),h=r.substring(3);else if(d>0)o=r.substring(0,d),h=r.substring(d+1);else if(d===0)o="/",h=r.substring(1);else throw new Error("Invalid path: must be an absolute path");if(!h)throw new Error("Invalid path: directory name is empty");return he("/filesystem/create-directory",{method:"POST",body:JSON.stringify({parent_path:o,name:h})})}async function v0(i){return he(`/assistant/conversations/${encodeURIComponent(i)}`)}async function b0(i,r){return he(`/assistant/conversations/${encodeURIComponent(i)}/${r}`)}async function j0(i,r){await he(`/assistant/conversations/${encodeURIComponent(i)}/${r}`,{method:"DELETE"})}async function S0(){return he("/settings/models")}async function N0(){return he("/settings/providers")}async function C0(){return he("/settings")}async function w0(i){return he("/settings",{method:"PATCH",body:JSON.stringify(i)})}async function Dh(i,r){return he(`/projects/${encodeURIComponent(i)}/devserver/start`,{method:"POST",body:JSON.stringify({command:r})})}async function z0(i){return he(`/projects/${encodeURIComponent(i)}/devserver/stop`,{method:"POST"})}async function T0(i){return he(`/projects/${encodeURIComponent(i)}/devserver/config`)}async function E0(i,r){return he(`/projects/${encodeURIComponent(i)}/devserver/config`,{method:"PATCH",body:JSON.stringify({custom_command:r})})}async function A0(i){return he(`/terminal/${encodeURIComponent(i)}`)}async function D0(i,r){return he(`/terminal/${encodeURIComponent(i)}`,{method:"POST",body:JSON.stringify({name:null})})}async function _0(i,r,d){return he(`/terminal/${encodeURIComponent(i)}/${r}`,{method:"PATCH",body:JSON.stringify({name:d})})}async function M0(i,r){await he(`/terminal/${encodeURIComponent(i)}/${r}`,{method:"DELETE"})}async function k0(i){return he(`/projects/${encodeURIComponent(i)}/schedules`)}async function O0(i,r){return he(`/projects/${encodeURIComponent(i)}/schedules`,{method:"POST",body:JSON.stringify(r)})}async function R0(i,r,d){return he(`/projects/${encodeURIComponent(i)}/schedules/${r}`,{method:"PATCH",body:JSON.stringify(d)})}async function U0(i,r){await he(`/projects/${encodeURIComponent(i)}/schedules/${r}`,{method:"DELETE"})}async function B0(i){return he(`/projects/${encodeURIComponent(i)}/schedules/next`)}function H0(){return gt({queryKey:["projects"],queryFn:Iy})}function q0(){const i=Qe();return Ze({mutationFn:({name:r,path:d,specMethod:o})=>Py(r,d,o),onSuccess:()=>{i.invalidateQueries({queryKey:["projects"]})}})}function L0(){const i=Qe();return Ze({mutationFn:r=>e0(r),onSuccess:()=>{i.invalidateQueries({queryKey:["projects"]})}})}function G0(i){const r=Qe();return Ze({mutationFn:d=>a0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["projects"]}),r.invalidateQueries({queryKey:["project",i]}),r.invalidateQueries({queryKey:["features",i]}),r.invalidateQueries({queryKey:["agent-status",i]})}})}function Q0(i){const r=Qe();return Ze({mutationFn:d=>t0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["projects"]}),r.invalidateQueries({queryKey:["project",i]})}})}function _h(i){return gt({queryKey:["features",i],queryFn:()=>n0(i),enabled:!!i,refetchInterval:5e3})}function Y0(i){const r=Qe();return Ze({mutationFn:d=>l0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["features",i]})}})}function V0(i){const r=Qe();return Ze({mutationFn:d=>s0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["features",i]})}})}function X0(i){const r=Qe();return Ze({mutationFn:d=>i0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["features",i]})}})}function K0(i){const r=Qe();return Ze({mutationFn:({featureId:d,update:o})=>c0(i,d,o),onSuccess:()=>{r.invalidateQueries({queryKey:["features",i]})}})}function Z0(i){const r=Qe();return Ze({mutationFn:({featureId:d,fields:o})=>r0(i,d,{fields:o}),onSuccess:()=>{r.invalidateQueries({queryKey:["features",i]})}})}function F0(i){return gt({queryKey:["agent-status",i],queryFn:()=>o0(i),enabled:!!i,refetchInterval:3e3})}function J0(i){const r=Qe();return Ze({mutationFn:(d={})=>Eu(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["agent-status",i]})}})}function $0(i){const r=Qe();return Ze({mutationFn:()=>d0(i),onSuccess:()=>{r.invalidateQueries({queryKey:["agent-status",i]}),r.invalidateQueries({queryKey:["nextRun",i]})}})}function W0(i){const r=Qe();return Ze({mutationFn:()=>f0(i),onSuccess:()=>{r.invalidateQueries({queryKey:["agent-status",i]})}})}function I0(i){const r=Qe();return Ze({mutationFn:()=>m0(i),onSuccess:()=>{r.invalidateQueries({queryKey:["agent-status",i]})}})}function P0(){return gt({queryKey:["setup-status"],queryFn:x0,staleTime:6e4})}function ev(){return gt({queryKey:["health"],queryFn:g0,retry:!1})}const Mh={models:[{id:"claude-opus-4-6",name:"Claude Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet"}],default:"claude-opus-4-6"},kh={yolo_mode:!1,model:"claude-opus-4-6",glm_mode:!1,ollama_mode:!1,testing_agent_ratio:1,playwright_headless:!0,batch_size:3,api_provider:"claude",api_base_url:null,api_has_auth_token:!1,api_model:null},tv={providers:[{id:"claude",name:"Claude (Anthropic)",base_url:null,models:Mh.models,default_model:"claude-opus-4-6",requires_auth:!1}],current:"claude"};function av(){return gt({queryKey:["available-providers"],queryFn:N0,staleTime:3e5,retry:1,placeholderData:tv})}function nv(){return gt({queryKey:["available-models"],queryFn:S0,staleTime:3e5,retry:1,placeholderData:Mh})}function Au(){return gt({queryKey:["settings"],queryFn:C0,staleTime:6e4,retry:1,placeholderData:kh})}function lv(){const i=Qe();return Ze({mutationFn:r=>w0(r),onMutate:async r=>{await i.cancelQueries({queryKey:["settings"]});const d=i.getQueryData(["settings"]);return i.setQueryData(["settings"],o=>({...kh,...o,...r})),{previous:d}},onError:(r,d,o)=>{o?.previous&&i.setQueryData(["settings"],o.previous)},onSettled:()=>{i.invalidateQueries({queryKey:["settings"]}),i.invalidateQueries({queryKey:["available-models"]}),i.invalidateQueries({queryKey:["available-providers"]})}})}const sv={detected_type:null,detected_command:null,custom_command:null,effective_command:null};function iv(i){return gt({queryKey:["dev-server-config",i],queryFn:()=>T0(i),enabled:!!i,staleTime:3e4,placeholderData:sv})}function cv(i){const r=Qe();return Ze({mutationFn:d=>E0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["dev-server-config",i]})}})}const Vm=100,rv=20,Xm=500;function uv(i){const[r,d]=f.useState({progress:{passing:0,in_progress:0,needs_human_input:0,total:0,percentage:0},agentStatus:"loading",logs:[],isConnected:!1,devServerStatus:"stopped",devServerUrl:null,devLogs:[],activeAgents:[],recentActivity:[],agentLogs:new Map,celebrationQueue:[],celebration:null,orchestratorStatus:null}),o=f.useRef(null),h=f.useRef(null),x=f.useRef(0),y=f.useCallback(()=>{if(!i)return;const w=window.location.protocol==="https:"?"wss:":"ws:",O=window.location.host,U=`${w}//${O}/ws/projects/${encodeURIComponent(i)}`;try{const z=new WebSocket(U);o.current=z,z.onopen=()=>{d(_=>({..._,isConnected:!0})),x.current=0},z.onmessage=_=>{try{const b=JSON.parse(_.data);switch(b.type){case"progress":d(N=>({...N,progress:{passing:b.passing,in_progress:b.in_progress,needs_human_input:b.needs_human_input??0,total:b.total,percentage:b.percentage}}));break;case"agent_status":d(N=>({...N,agentStatus:b.status,...(b.status==="stopped"||b.status==="crashed")&&{activeAgents:[],recentActivity:[],orchestratorStatus:null}}));break;case"log":d(N=>{const L=[...N.logs.slice(-Vm+1),{line:b.line,timestamp:b.timestamp,featureId:b.featureId,agentIndex:b.agentIndex}];let J=N.agentLogs;if(b.agentIndex!==void 0){J=new Map(N.agentLogs);const W=J.get(b.agentIndex)||[],X={line:b.line,timestamp:b.timestamp,type:"output"};J.set(b.agentIndex,[...W.slice(-Xm+1),X])}return{...N,logs:L,agentLogs:J}});break;case"feature_update":break;case"agent_update":d(N=>{const L=new Map(N.agentLogs),J=L.get(b.agentIndex)||[],W={line:`[STATE] ${b.state}${b.thought?`: ${b.thought}`:""}`,timestamp:b.timestamp,type:b.state==="error"?"error":"state_change"};L.set(b.agentIndex,[...J.slice(-Xm+1),W]);const X=L.get(b.agentIndex)||[],I=N.activeAgents.findIndex($=>$.agentIndex===b.agentIndex);let Q;b.state==="success"||b.state==="error"?b.agentIndex===-1?Q=N.activeAgents.filter($=>$.featureId!==b.featureId):Q=N.activeAgents.filter($=>$.agentIndex!==b.agentIndex):I>=0?(Q=[...N.activeAgents],Q[I]={agentIndex:b.agentIndex,agentName:b.agentName,agentType:b.agentType||"coding",featureId:b.featureId,featureIds:b.featureIds||[b.featureId],featureName:b.featureName,state:b.state,thought:b.thought,timestamp:b.timestamp,logs:X}):Q=[...N.activeAgents,{agentIndex:b.agentIndex,agentName:b.agentName,agentType:b.agentType||"coding",featureId:b.featureId,featureIds:b.featureIds||[b.featureId],featureName:b.featureName,state:b.state,thought:b.thought,timestamp:b.timestamp,logs:X}];let le=N.recentActivity;b.thought&&(le=[{agentName:b.agentName,thought:b.thought,timestamp:b.timestamp,featureId:b.featureId},...N.recentActivity.slice(0,rv-1)]);let P=N.celebrationQueue,H=N.celebration;if(b.state==="success"){const $={agentName:b.agentName,featureName:b.featureName,featureId:b.featureId};N.celebration?P=[...N.celebrationQueue,$]:H=$}return{...N,activeAgents:Q,agentLogs:L,recentActivity:le,celebrationQueue:P,celebration:H}});break;case"orchestrator_update":d(N=>{const L={eventType:b.eventType,message:b.message,timestamp:b.timestamp,featureId:b.featureId,featureName:b.featureName};return{...N,orchestratorStatus:{state:b.state,message:b.message,codingAgents:b.codingAgents??N.orchestratorStatus?.codingAgents??0,testingAgents:b.testingAgents??N.orchestratorStatus?.testingAgents??0,maxConcurrency:b.maxConcurrency??N.orchestratorStatus?.maxConcurrency??3,readyCount:b.readyCount??N.orchestratorStatus?.readyCount??0,blockedCount:b.blockedCount??N.orchestratorStatus?.blockedCount??0,timestamp:b.timestamp,recentEvents:[L,...(N.orchestratorStatus?.recentEvents??[]).slice(0,4)]}}});break;case"dev_log":d(N=>({...N,devLogs:[...N.devLogs.slice(-Vm+1),{line:b.line,timestamp:b.timestamp}]}));break;case"dev_server_status":d(N=>({...N,devServerStatus:b.status,devServerUrl:b.url}));break;case"pong":break}}catch{console.error("Failed to parse WebSocket message")}},z.onclose=_=>{if(d(L=>({...L,isConnected:!1})),o.current=null,_.code>=4e3&&_.code<=4999)return;const N=Math.min(1e3*Math.pow(2,x.current),3e4);x.current++,h.current=window.setTimeout(()=>{y()},N)},z.onerror=()=>{z.close()}}catch{}},[i]),v=f.useCallback(()=>{o.current?.readyState===WebSocket.OPEN&&o.current.send(JSON.stringify({type:"ping"}))},[]),p=f.useCallback(()=>{d(w=>{const[O,...U]=w.celebrationQueue;return{...w,celebration:O||null,celebrationQueue:U}})},[]);f.useEffect(()=>{if(d({progress:{passing:0,in_progress:0,needs_human_input:0,total:0,percentage:0},agentStatus:"loading",logs:[],isConnected:!1,devServerStatus:"stopped",devServerUrl:null,devLogs:[],activeAgents:[],recentActivity:[],agentLogs:new Map,celebrationQueue:[],celebration:null,orchestratorStatus:null}),!i){o.current&&(o.current.close(),o.current=null);return}y();const w=setInterval(v,3e4);return()=>{clearInterval(w),h.current&&clearTimeout(h.current),o.current&&(o.current.close(),o.current=null)}},[i,y,v]),f.useEffect(()=>{const O=setInterval(()=>{d(U=>{const z=Date.now(),_=U.activeAgents.filter(b=>z-new Date(b.timestamp).getTime()<18e5);return _.length!==U.activeAgents.length?{...U,activeAgents:_}:U})},6e4);return()=>clearInterval(O)},[]);const S=f.useCallback(()=>{d(w=>({...w,logs:[]}))},[]),T=f.useCallback(()=>{d(w=>({...w,devLogs:[]}))},[]),E=f.useCallback(w=>r.agentLogs.get(w)||[],[r.agentLogs]),B=f.useCallback(w=>{d(O=>{const U=new Map(O.agentLogs);return U.delete(w),{...O,agentLogs:U}})},[]);return{...r,clearLogs:S,clearDevLogs:T,clearCelebration:p,getAgentLogs:E,clearAgentLogs:B}}const ov={started:[523.25,659.25],completed:[523.25,659.25,783.99]};function Km(i){try{const r=new(window.AudioContext||window.webkitAudioContext),d=ov[i],o=i==="completed"?.15:.12,h=d.length*o;d.forEach((x,y)=>{const v=r.createOscillator(),p=r.createGain();v.connect(p),p.connect(r.destination),v.type="sine",v.frequency.setValueAtTime(x,r.currentTime);const S=r.currentTime+y*o;p.gain.setValueAtTime(0,S),p.gain.linearRampToValueAtTime(.3,S+.02),p.gain.exponentialRampToValueAtTime(.01,S+o),v.start(S),v.stop(S+o)}),setTimeout(()=>{r.close()},h*1e3+100)}catch{}}function dv(i){return{pendingIds:new Set(i?.pending.map(r=>r.id)??[]),inProgressIds:new Set(i?.in_progress.map(r=>r.id)??[]),doneIds:new Set(i?.done.map(r=>r.id)??[])}}function fv(i){const r=f.useRef(null),d=f.useRef(!1);f.useEffect(()=>{if(!i)return;const o=dv(i);if(!d.current){r.current=o,d.current=!0;return}const h=r.current;if(!h){r.current=o;return}for(const x of o.inProgressIds)if(h.pendingIds.has(x)&&!h.inProgressIds.has(x)){Km("started");break}for(const x of o.doneIds)if(!h.doneIds.has(x)&&(h.inProgressIds.has(x)||h.pendingIds.has(x))){Km("completed");break}r.current=o},[i])}function mv(){try{const i=new(window.AudioContext||window.webkitAudioContext),r=[{freq:523.25,start:0},{freq:659.25,start:.15},{freq:783.99,start:.3},{freq:1046.5,start:.45}],d=.25;r.forEach(({freq:y,start:v})=>{const p=i.createOscillator(),S=i.createGain();p.connect(S),S.connect(i.destination),p.type="sine",p.frequency.setValueAtTime(y,i.currentTime+v);const T=i.currentTime+v;S.gain.setValueAtTime(0,T),S.gain.linearRampToValueAtTime(.4,T+.03),S.gain.setValueAtTime(.4,T+d*.6),S.gain.exponentialRampToValueAtTime(.01,T+d),p.start(T),p.stop(T+d)});const o=[523.25,659.25,783.99,1046.5],h=.65,x=.5;o.forEach(y=>{const v=i.createOscillator(),p=i.createGain();v.connect(p),p.connect(i.destination),v.type="sine",v.frequency.setValueAtTime(y,i.currentTime+h);const S=i.currentTime+h;p.gain.setValueAtTime(0,S),p.gain.linearRampToValueAtTime(.2,S+.05),p.gain.setValueAtTime(.2,S+x*.5),p.gain.exponentialRampToValueAtTime(.01,S+x),v.start(S),v.stop(S+x)}),setTimeout(()=>{i.close()},1500)}catch{}}function hv(){const r=Date.now()+2e3;Hi({particleCount:100,spread:70,origin:{x:0,y:.6},angle:60,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]}),Hi({particleCount:100,spread:70,origin:{x:1,y:.6},angle:120,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]});const d=setInterval(()=>{if(Date.now()>r){clearInterval(d);return}Hi({particleCount:30,spread:60,origin:{x:0,y:.6},angle:60,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]}),Hi({particleCount:30,spread:60,origin:{x:1,y:.6},angle:120,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]})},250)}function xv(i){return i?i.pending.length===0&&i.in_progress.length===0&&(i.needs_human_input?.length||0)===0&&i.done.length>0:!1}function gv(i,r){const d=f.useRef(new Set),o=f.useRef(null);f.useEffect(()=>{if(!i||!r)return;const h=xv(i);if(o.current!==r){o.current=r,h&&d.current.add(r);return}h&&!d.current.has(r)&&(d.current.add(r),hv(),mv())},[i,r])}const Yi=[{id:"twitter",name:"Twitter",description:"Clean and modern blue design",previewColors:{primary:"#4a9eff",background:"#ffffff",accent:"#e8f4ff"}},{id:"claude",name:"Claude",description:"Warm beige tones with orange accents",previewColors:{primary:"#c75b2a",background:"#faf6f0",accent:"#f5ede4"}},{id:"neo-brutalism",name:"Neo Brutalism",description:"Bold colors with hard shadows",previewColors:{primary:"#ff4d00",background:"#ffffff",accent:"#ffeb00"}},{id:"retro-arcade",name:"Retro Arcade",description:"Vibrant pink and teal pixel vibes",previewColors:{primary:"#e8457c",background:"#f0e6d3",accent:"#4eb8a5"}},{id:"aurora",name:"Aurora",description:"Deep violet and teal, like northern lights",previewColors:{primary:"#8b5cf6",background:"#faf8ff",accent:"#2dd4bf"}},{id:"business",name:"Business",description:"Deep navy (#000e4e) and gray monochrome",previewColors:{primary:"#000e4e",background:"#eaecef",accent:"#6b7280"}}],Zm="autoforge-theme",Fm="autoforge-dark-mode";function pv(i){switch(i){case"twitter":return"";case"claude":return"theme-claude";case"neo-brutalism":return"theme-neo-brutalism";case"retro-arcade":return"theme-retro-arcade";case"aurora":return"theme-aurora";case"business":return"theme-business";default:return""}}function Oh(){const[i,r]=f.useState(()=>{try{const v=localStorage.getItem(Zm);if(v==="twitter"||v==="claude"||v==="neo-brutalism"||v==="retro-arcade"||v==="aurora"||v==="business")return v}catch{}return"twitter"}),[d,o]=f.useState(()=>{try{return localStorage.getItem(Fm)==="true"}catch{return!1}});f.useEffect(()=>{const v=document.documentElement;v.classList.remove("theme-claude","theme-neo-brutalism","theme-retro-arcade","theme-aurora","theme-business");const p=pv(i);p&&v.classList.add(p),d?v.classList.add("dark"):v.classList.remove("dark");try{localStorage.setItem(Zm,i),localStorage.setItem(Fm,String(d))}catch{}},[i,d]);const h=f.useCallback(v=>{r(v)},[]),x=f.useCallback(v=>{o(v)},[]),y=f.useCallback(()=>{o(v=>!v)},[]);return{theme:i,setTheme:h,darkMode:d,setDarkMode:x,toggleDarkMode:y,themes:Yi,currentTheme:Yi.find(v=>v.id===i)??Yi[0]}}function jn(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function yv({projectName:i,onError:r}){const[d,o]=f.useState([]),[h,x]=f.useState(!1),[y,v]=f.useState(!1),[p,S]=f.useState("disconnected"),[T,E]=f.useState(null),[B,w]=f.useState(null),O=f.useRef(null),U=f.useRef(null),z=f.useRef(0),_=3,b=f.useRef(null),N=f.useRef(null),L=f.useRef(!1);f.useEffect(()=>{L.current=y},[y]),f.useEffect(()=>()=>{b.current&&clearInterval(b.current),N.current&&clearTimeout(N.current),O.current&&O.current.close()},[]),f.useEffect(()=>{if(y)return;const le=setTimeout(()=>{const P=setInterval(async()=>{if(L.current){clearInterval(P);return}try{const H=await h0(i);H.exists&&H.status==="complete"&&(v(!0),x(!1),o($=>{const Z=$[$.length-1];return Z?.role==="assistant"&&Z.isStreaming?[...$.slice(0,-1),{...Z,isStreaming:!1}]:$}),o($=>[...$,{id:jn(),role:"system",content:`Spec creation complete! Files written: ${H.files_written.join(", ")}${H.feature_count?` (${H.feature_count} features)`:""}`,timestamp:new Date}]),clearInterval(P))}catch{}},3e3);return()=>clearInterval(P)},3e3);return()=>clearTimeout(le)},[i,y]);const J=f.useCallback(()=>{if(O.current?.readyState===WebSocket.OPEN)return;S("connecting");const le=window.location.protocol==="https:"?"wss:":"ws:",P=window.location.host,H=`${le}//${P}/api/spec/ws/${encodeURIComponent(i)}`,$=new WebSocket(H);O.current=$,$.onopen=()=>{S("connected"),z.current=0,b.current=window.setInterval(()=>{$.readyState===WebSocket.OPEN&&$.send(JSON.stringify({type:"ping"}))},3e4)},$.onclose=Z=>{if(S("disconnected"),b.current&&(clearInterval(b.current),b.current=null),!(Z.code>=4e3&&Z.code<=4999)&&z.current<_&&!L.current){z.current++;const g=Math.min(1e3*Math.pow(2,z.current),1e4);N.current=window.setTimeout(J,g)}},$.onerror=()=>{S("error"),r?.("WebSocket connection error")},$.onmessage=Z=>{try{const Y=JSON.parse(Z.data);switch(Y.type){case"text":{o(g=>{const D=g[g.length-1];return D?.role==="assistant"&&D.isStreaming?[...g.slice(0,-1),{...D,content:D.content+Y.content}]:(U.current=jn(),[...g,{id:U.current,role:"assistant",content:Y.content,timestamp:new Date,isStreaming:!0}])});break}case"question":{E(Y.questions),w(Y.tool_id||null),x(!1),o(g=>{const D=g[g.length-1];return D?.role==="assistant"&&D.isStreaming?[...g.slice(0,-1),{...D,isStreaming:!1,questions:Y.questions}]:g});break}case"spec_complete":{v(!0),x(!1),o(g=>{const D=g[g.length-1];return D?.role==="assistant"&&D.isStreaming?[...g.slice(0,-1),{...D,isStreaming:!1}]:g}),o(g=>[...g,{id:jn(),role:"system",content:`Specification file created: ${Y.path}`,timestamp:new Date}]);break}case"file_written":{o(g=>[...g,{id:jn(),role:"system",content:`File created: ${Y.path}`,timestamp:new Date}]);break}case"complete":{v(!0),x(!1),o(g=>{const D=g[g.length-1];return D?.role==="assistant"&&D.isStreaming?[...g.slice(0,-1),{...D,isStreaming:!1}]:g});break}case"error":{x(!1),r?.(Y.content),o(g=>[...g,{id:jn(),role:"system",content:`Error: ${Y.content}`,timestamp:new Date}]);break}case"pong":break;case"response_done":{x(!1),o(g=>{const D=g[g.length-1];return D?.role==="assistant"&&D.isStreaming?[...g.slice(0,-1),{...D,isStreaming:!1}]:g});break}}}catch(Y){console.error("Failed to parse WebSocket message:",Y)}}},[i,r]),W=f.useCallback(()=>{J();const le=()=>{O.current?.readyState===WebSocket.OPEN?(x(!0),O.current.send(JSON.stringify({type:"start"}))):O.current?.readyState===WebSocket.CONNECTING&&setTimeout(le,100)};setTimeout(le,100)},[J]),X=f.useCallback((le,P)=>{if(!O.current||O.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}o($=>[...$,{id:jn(),role:"user",content:le,attachments:P,timestamp:new Date}]),E(null),w(null),x(!0);const H={type:"message",content:le};P&&P.length>0&&(H.attachments=P.map($=>({filename:$.filename,mimeType:$.mimeType,base64Data:$.base64Data}))),O.current.send(JSON.stringify(H))},[r]),I=f.useCallback(le=>{if(!O.current||O.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}const P=Object.values(le).map(H=>Array.isArray(H)?H.join(", "):H).join("; ");o(H=>[...H,{id:jn(),role:"user",content:P,timestamp:new Date}]),E(null),w(null),x(!0),O.current.send(JSON.stringify({type:"answer",answers:le,tool_id:B}))},[B,r]),Q=f.useCallback(()=>{z.current=_,b.current&&(clearInterval(b.current),b.current=null),O.current&&(O.current.close(),O.current=null),S("disconnected")},[]);return{messages:d,isLoading:h,isComplete:y,connectionStatus:p,currentQuestions:T,currentToolId:B,start:W,sendMessage:X,sendAnswer:I,disconnect:Q}}function Re(...i){return Cp(wp(i))}function Oe({className:i,...r}){return n.jsx("div",{"data-slot":"card",className:Re("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",i),...r})}function $i({className:i,...r}){return n.jsx("div",{"data-slot":"card-header",className:Re("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",i),...r})}function Du({className:i,...r}){return n.jsx("div",{"data-slot":"card-title",className:Re("leading-none font-semibold",i),...r})}function vv({className:i,...r}){return n.jsx("div",{"data-slot":"card-description",className:Re("text-muted-foreground text-sm",i),...r})}function Ge({className:i,...r}){return n.jsx("div",{"data-slot":"card-content",className:Re("px-6",i),...r})}const bv=[gy],jv={a:({children:i,href:r,...d})=>n.jsx("a",{href:r,target:"_blank",rel:"noopener noreferrer",...d,children:i})},_u=f.memo(function({message:r}){const{role:d,content:o,attachments:h,timestamp:x,isStreaming:y}=r,v=x.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),S={user:{icon:Tp,bgColor:"bg-primary",textColor:"text-primary-foreground",align:"justify-end",bubbleAlign:"items-end",iconBg:"bg-primary",iconColor:"text-primary-foreground"},assistant:{icon:Cu,bgColor:"bg-muted",textColor:"text-foreground",align:"justify-start",bubbleAlign:"items-start",iconBg:"bg-secondary",iconColor:"text-secondary-foreground"},system:{icon:zp,bgColor:"bg-green-100 dark:bg-green-900/30",textColor:"text-green-900 dark:text-green-100",align:"justify-center",bubbleAlign:"items-center",iconBg:"bg-green-500",iconColor:"text-white"}}[d],T=S.icon;return d==="system"?n.jsx("div",{className:`flex ${S.align} px-4 py-2`,children:n.jsx("div",{className:`${S.bgColor} border border-border rounded-lg px-4 py-2 text-sm font-mono ${S.textColor}`,children:n.jsxs("span",{className:"flex items-center gap-2",children:[n.jsx(T,{size:14}),o]})})}):n.jsx("div",{className:`flex ${S.align} px-4 py-2`,children:n.jsxs("div",{className:`flex flex-col ${S.bubbleAlign} max-w-[80%] gap-1`,children:[n.jsxs("div",{className:"flex items-start gap-2",children:[d==="assistant"&&n.jsx("div",{className:`${S.iconBg} p-1.5 rounded flex-shrink-0`,children:n.jsx(T,{size:16,className:S.iconColor})}),n.jsxs(Oe,{className:`${S.bgColor} px-4 py-3 border ${y?"animate-pulse":""}`,children:[o&&n.jsx("div",{className:`text-sm leading-relaxed ${S.textColor} chat-prose${d==="user"?" chat-prose-user":""}`,children:n.jsx(xy,{remarkPlugins:bv,components:jv,children:o})}),h&&h.length>0&&n.jsx("div",{className:`flex flex-wrap gap-2 ${o?"mt-3":""}`,children:h.map(E=>n.jsxs("div",{className:"border border-border rounded p-1 bg-card",children:[n.jsx("img",{src:E.previewUrl,alt:E.filename,className:"max-w-48 max-h-48 object-contain cursor-pointer hover:opacity-90 transition-opacity rounded",onClick:()=>window.open(E.previewUrl,"_blank"),title:`${E.filename} (click to enlarge)`}),n.jsx("span",{className:"text-xs text-muted-foreground block mt-1 text-center",children:E.filename})]},E.id))}),y&&n.jsx("span",{className:"inline-block w-2 h-4 bg-primary ml-1 animate-pulse rounded"})]}),d==="user"&&n.jsx("div",{className:`${S.iconBg} p-1.5 rounded flex-shrink-0`,children:n.jsx(T,{size:16,className:S.iconColor})})]}),n.jsx("span",{className:"text-xs text-muted-foreground font-mono px-2",children:v})]})})}),Sv=wu("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function F({className:i,variant:r="default",size:d="default",asChild:o=!1,...h}){const x=o?Ch:"button";return n.jsx(x,{"data-slot":"button","data-variant":r,"data-size":d,className:Re(Sv({variant:r,size:d,className:i})),...h})}function lt({className:i,type:r,...d}){return n.jsx("input",{type:r,"data-slot":"input",className:Re("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",i),...d})}const Nv=wu("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function Me({className:i,variant:r="default",asChild:d=!1,...o}){const h=d?Ch:"span";return n.jsx(h,{"data-slot":"badge","data-variant":r,className:Re(Nv({variant:r}),i),...o})}function Rh({questions:i,onSubmit:r,disabled:d=!1}){const[o,h]=f.useState({}),[x,y]=f.useState({}),[v,p]=f.useState({}),S=(U,z,_)=>{const b=String(U);if(z==="Other"){p(N=>({...N,[b]:!0}));return}p(N=>({...N,[b]:!1})),h(N=>{if(_){const L=N[b]||[];return L.includes(z)?{...N,[b]:L.filter(J=>J!==z)}:{...N,[b]:[...L,z]}}else return{...N,[b]:z}})},T=(U,z)=>{const _=String(U);y(b=>({...b,[_]:z})),h(b=>({...b,[_]:z}))},E=()=>{const U={};i.forEach((z,_)=>{const b=String(_);v[b]&&x[b]?U[b]=x[b]:o[b]&&(U[b]=o[b])}),r(U)},B=(U,z,_)=>{const b=String(U),N=o[b];return _?Array.isArray(N)&&N.includes(z):N===z},w=U=>{const z=String(U);return!!(o[z]||v[z]&&x[z])},O=i.every((U,z)=>w(z));return n.jsxs("div",{className:"space-y-6 p-4",children:[i.map((U,z)=>n.jsx(Oe,{children:n.jsxs(Ge,{className:"p-4",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[n.jsx(Me,{children:U.header}),n.jsx("span",{className:"font-bold text-foreground",children:U.question}),U.multiSelect&&n.jsx("span",{className:"text-xs text-muted-foreground font-mono",children:"(select multiple)"})]}),n.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[U.options.map((_,b)=>{const N=B(z,_.label,U.multiSelect);return n.jsx("button",{onClick:()=>S(z,_.label,U.multiSelect),disabled:d,className:`
|
|
8
|
+
`+l.stack}}var Pi=Object.prototype.hasOwnProperty,ec=i.unstable_scheduleCallback,tc=i.unstable_cancelCallback,Wh=i.unstable_shouldYield,Ih=i.unstable_requestPaint,zt=i.unstable_now,Ph=i.unstable_getCurrentPriorityLevel,Ou=i.unstable_ImmediatePriority,Ru=i.unstable_UserBlockingPriority,Ss=i.unstable_NormalPriority,ex=i.unstable_LowPriority,Uu=i.unstable_IdlePriority,tx=i.log,ax=i.unstable_setDisableYieldValue,yl=null,Tt=null;function Aa(e){if(typeof tx=="function"&&ax(e),Tt&&typeof Tt.setStrictMode=="function")try{Tt.setStrictMode(yl,e)}catch{}}var Et=Math.clz32?Math.clz32:sx,nx=Math.log,lx=Math.LN2;function sx(e){return e>>>=0,e===0?32:31-(nx(e)/lx|0)|0}var Ns=256,Cs=262144,ws=4194304;function nn(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function zs(e,t,a){var l=e.pendingLanes;if(l===0)return 0;var s=0,c=e.suspendedLanes,u=e.pingedLanes;e=e.warmLanes;var m=l&134217727;return m!==0?(l=m&~c,l!==0?s=nn(l):(u&=m,u!==0?s=nn(u):a||(a=m&~e,a!==0&&(s=nn(a))))):(m=l&~c,m!==0?s=nn(m):u!==0?s=nn(u):a||(a=l&~e,a!==0&&(s=nn(a)))),s===0?0:t!==0&&t!==s&&(t&c)===0&&(c=s&-s,a=t&-t,c>=a||c===32&&(a&4194048)!==0)?t:s}function vl(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function ix(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Bu(){var e=ws;return ws<<=1,(ws&62914560)===0&&(ws=4194304),e}function ac(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function bl(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function cx(e,t,a,l,s,c){var u=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 m=e.entanglements,j=e.expirationTimes,k=e.hiddenUpdates;for(a=u&~a;0<a;){var G=31-Et(a),Z=1<<G;m[G]=0,j[G]=-1;var R=k[G];if(R!==null)for(k[G]=null,G=0;G<R.length;G++){var q=R[G];q!==null&&(q.lane&=-536870913)}a&=~Z}l!==0&&Hu(e,l,0),c!==0&&s===0&&e.tag!==0&&(e.suspendedLanes|=c&~(u&~t))}function Hu(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var l=31-Et(t);e.entangledLanes|=t,e.entanglements[l]=e.entanglements[l]|1073741824|a&261930}function qu(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var l=31-Et(a),s=1<<l;s&t|e[l]&t&&(e[l]|=t),a&=~s}}function Lu(e,t){var a=t&-t;return a=(a&42)!==0?1:nc(a),(a&(e.suspendedLanes|t))!==0?0:a}function nc(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 lc(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Gu(){var e=D.p;return e!==0?e:(e=window.event,e===void 0?32:Em(e.type))}function Qu(e,t){var a=D.p;try{return D.p=e,t()}finally{D.p=a}}var Da=Math.random().toString(36).slice(2),st="__reactFiber$"+Da,pt="__reactProps$"+Da,Cn="__reactContainer$"+Da,sc="__reactEvents$"+Da,rx="__reactListeners$"+Da,ux="__reactHandles$"+Da,Yu="__reactResources$"+Da,jl="__reactMarker$"+Da;function ic(e){delete e[st],delete e[pt],delete e[sc],delete e[rx],delete e[ux]}function wn(e){var t=e[st];if(t)return t;for(var a=e.parentNode;a;){if(t=a[Cn]||a[st]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=fm(e);e!==null;){if(a=e[st])return a;e=fm(e)}return t}e=a,a=e.parentNode}return null}function zn(e){if(e=e[st]||e[Cn]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Sl(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(o(33))}function Tn(e){var t=e[Yu];return t||(t=e[Yu]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function tt(e){e[jl]=!0}var Vu=new Set,Xu={};function ln(e,t){En(e,t),En(e+"Capture",t)}function En(e,t){for(Xu[e]=t,e=0;e<t.length;e++)Vu.add(t[e])}var ox=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]*$"),Ku={},Zu={};function dx(e){return Pi.call(Zu,e)?!0:Pi.call(Ku,e)?!1:ox.test(e)?Zu[e]=!0:(Ku[e]=!0,!1)}function Ts(e,t,a){if(dx(t))if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var l=t.toLowerCase().slice(0,5);if(l!=="data-"&&l!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+a)}}function Es(e,t,a){if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+a)}}function ra(e,t,a,l){if(l===null)e.removeAttribute(a);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(a);return}e.setAttributeNS(t,a,""+l)}}function Ut(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Fu(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function fx(e,t,a){var l=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var s=l.get,c=l.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(u){a=""+u,c.call(this,u)}}),Object.defineProperty(e,t,{enumerable:l.enumerable}),{getValue:function(){return a},setValue:function(u){a=""+u},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function cc(e){if(!e._valueTracker){var t=Fu(e)?"checked":"value";e._valueTracker=fx(e,t,""+e[t])}}function $u(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),l="";return e&&(l=Fu(e)?e.checked?"true":"false":e.value),e=l,e!==a?(t.setValue(e),!0):!1}function As(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 mx=/[\n"\\]/g;function Bt(e){return e.replace(mx,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function rc(e,t,a,l,s,c,u,m){e.name="",u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"?e.type=u:e.removeAttribute("type"),t!=null?u==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Ut(t)):e.value!==""+Ut(t)&&(e.value=""+Ut(t)):u!=="submit"&&u!=="reset"||e.removeAttribute("value"),t!=null?uc(e,u,Ut(t)):a!=null?uc(e,u,Ut(a)):l!=null&&e.removeAttribute("value"),s==null&&c!=null&&(e.defaultChecked=!!c),s!=null&&(e.checked=s&&typeof s!="function"&&typeof s!="symbol"),m!=null&&typeof m!="function"&&typeof m!="symbol"&&typeof m!="boolean"?e.name=""+Ut(m):e.removeAttribute("name")}function Ju(e,t,a,l,s,c,u,m){if(c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"&&(e.type=c),t!=null||a!=null){if(!(c!=="submit"&&c!=="reset"||t!=null)){cc(e);return}a=a!=null?""+Ut(a):"",t=t!=null?""+Ut(t):a,m||t===e.value||(e.value=t),e.defaultValue=t}l=l??s,l=typeof l!="function"&&typeof l!="symbol"&&!!l,e.checked=m?e.checked:!!l,e.defaultChecked=!!l,u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"&&(e.name=u),cc(e)}function uc(e,t,a){t==="number"&&As(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function An(e,t,a,l){if(e=e.options,t){t={};for(var s=0;s<a.length;s++)t["$"+a[s]]=!0;for(a=0;a<e.length;a++)s=t.hasOwnProperty("$"+e[a].value),e[a].selected!==s&&(e[a].selected=s),s&&l&&(e[a].defaultSelected=!0)}else{for(a=""+Ut(a),t=null,s=0;s<e.length;s++){if(e[s].value===a){e[s].selected=!0,l&&(e[s].defaultSelected=!0);return}t!==null||e[s].disabled||(t=e[s])}t!==null&&(t.selected=!0)}}function Wu(e,t,a){if(t!=null&&(t=""+Ut(t),t!==e.value&&(e.value=t),a==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=a!=null?""+Ut(a):""}function Iu(e,t,a,l){if(t==null){if(l!=null){if(a!=null)throw Error(o(92));if(Y(l)){if(1<l.length)throw Error(o(93));l=l[0]}a=l}a==null&&(a=""),t=a}a=Ut(t),e.defaultValue=a,l=e.textContent,l===a&&l!==""&&l!==null&&(e.value=l),cc(e)}function Dn(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var hx=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 Pu(e,t,a){var l=t.indexOf("--")===0;a==null||typeof a=="boolean"||a===""?l?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":l?e.setProperty(t,a):typeof a!="number"||a===0||hx.has(t)?t==="float"?e.cssFloat=a:e[t]=(""+a).trim():e[t]=a+"px"}function eo(e,t,a){if(t!=null&&typeof t!="object")throw Error(o(62));if(e=e.style,a!=null){for(var l in a)!a.hasOwnProperty(l)||t!=null&&t.hasOwnProperty(l)||(l.indexOf("--")===0?e.setProperty(l,""):l==="float"?e.cssFloat="":e[l]="");for(var s in t)l=t[s],t.hasOwnProperty(s)&&a[s]!==l&&Pu(e,s,l)}else for(var c in t)t.hasOwnProperty(c)&&Pu(e,c,t[c])}function oc(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 xx=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"]]),gx=/^[\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 Ds(e){return gx.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function ua(){}var dc=null;function fc(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var _n=null,Mn=null;function to(e){var t=zn(e);if(t&&(e=t.stateNode)){var a=e[pt]||null;e:switch(e=t.stateNode,t.type){case"input":if(rc(e,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name),t=a.name,a.type==="radio"&&t!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll('input[name="'+Bt(""+t)+'"][type="radio"]'),t=0;t<a.length;t++){var l=a[t];if(l!==e&&l.form===e.form){var s=l[pt]||null;if(!s)throw Error(o(90));rc(l,s.value,s.defaultValue,s.defaultValue,s.checked,s.defaultChecked,s.type,s.name)}}for(t=0;t<a.length;t++)l=a[t],l.form===e.form&&$u(l)}break e;case"textarea":Wu(e,a.value,a.defaultValue);break e;case"select":t=a.value,t!=null&&An(e,!!a.multiple,t,!1)}}}var mc=!1;function ao(e,t,a){if(mc)return e(t,a);mc=!0;try{var l=e(t);return l}finally{if(mc=!1,(_n!==null||Mn!==null)&&(pi(),_n&&(t=_n,e=Mn,Mn=_n=null,to(t),e)))for(t=0;t<e.length;t++)to(e[t])}}function Nl(e,t){var a=e.stateNode;if(a===null)return null;var l=a[pt]||null;if(l===null)return null;a=l[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(l=!l.disabled)||(e=e.type,l=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!l;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(o(231,t,typeof a));return a}var oa=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),hc=!1;if(oa)try{var Cl={};Object.defineProperty(Cl,"passive",{get:function(){hc=!0}}),window.addEventListener("test",Cl,Cl),window.removeEventListener("test",Cl,Cl)}catch{hc=!1}var _a=null,xc=null,_s=null;function no(){if(_s)return _s;var e,t=xc,a=t.length,l,s="value"in _a?_a.value:_a.textContent,c=s.length;for(e=0;e<a&&t[e]===s[e];e++);var u=a-e;for(l=1;l<=u&&t[a-l]===s[c-l];l++);return _s=s.slice(e,1<l?1-l:void 0)}function Ms(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function ks(){return!0}function lo(){return!1}function yt(e){function t(a,l,s,c,u){this._reactName=a,this._targetInst=s,this.type=l,this.nativeEvent=c,this.target=u,this.currentTarget=null;for(var m in e)e.hasOwnProperty(m)&&(a=e[m],this[m]=a?a(c):c[m]);return this.isDefaultPrevented=(c.defaultPrevented!=null?c.defaultPrevented:c.returnValue===!1)?ks:lo,this.isPropagationStopped=lo,this}return E(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=ks)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=ks)},persist:function(){},isPersistent:ks}),t}var sn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Os=yt(sn),wl=E({},sn,{view:0,detail:0}),px=yt(wl),gc,pc,zl,Rs=E({},wl,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:vc,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!==zl&&(zl&&e.type==="mousemove"?(gc=e.screenX-zl.screenX,pc=e.screenY-zl.screenY):pc=gc=0,zl=e),gc)},movementY:function(e){return"movementY"in e?e.movementY:pc}}),so=yt(Rs),yx=E({},Rs,{dataTransfer:0}),vx=yt(yx),bx=E({},wl,{relatedTarget:0}),yc=yt(bx),jx=E({},sn,{animationName:0,elapsedTime:0,pseudoElement:0}),Sx=yt(jx),Nx=E({},sn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Cx=yt(Nx),wx=E({},sn,{data:0}),io=yt(wx),zx={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Tx={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"},Ex={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Ax(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Ex[e])?!!t[e]:!1}function vc(){return Ax}var Dx=E({},wl,{key:function(e){if(e.key){var t=zx[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Ms(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Tx[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:vc,charCode:function(e){return e.type==="keypress"?Ms(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Ms(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),_x=yt(Dx),Mx=E({},Rs,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),co=yt(Mx),kx=E({},wl,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:vc}),Ox=yt(kx),Rx=E({},sn,{propertyName:0,elapsedTime:0,pseudoElement:0}),Ux=yt(Rx),Bx=E({},Rs,{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}),Hx=yt(Bx),qx=E({},sn,{newState:0,oldState:0}),Lx=yt(qx),Gx=[9,13,27,32],bc=oa&&"CompositionEvent"in window,Tl=null;oa&&"documentMode"in document&&(Tl=document.documentMode);var Qx=oa&&"TextEvent"in window&&!Tl,ro=oa&&(!bc||Tl&&8<Tl&&11>=Tl),uo=" ",oo=!1;function fo(e,t){switch(e){case"keyup":return Gx.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function mo(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var kn=!1;function Yx(e,t){switch(e){case"compositionend":return mo(t);case"keypress":return t.which!==32?null:(oo=!0,uo);case"textInput":return e=t.data,e===uo&&oo?null:e;default:return null}}function Vx(e,t){if(kn)return e==="compositionend"||!bc&&fo(e,t)?(e=no(),_s=xc=_a=null,kn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return ro&&t.locale!=="ko"?null:t.data;default:return null}}var Xx={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 ho(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!Xx[e.type]:t==="textarea"}function xo(e,t,a,l){_n?Mn?Mn.push(l):Mn=[l]:_n=l,t=Ci(t,"onChange"),0<t.length&&(a=new Os("onChange","change",null,a,l),e.push({event:a,listeners:t}))}var El=null,Al=null;function Kx(e){If(e,0)}function Us(e){var t=Sl(e);if($u(t))return e}function go(e,t){if(e==="change")return t}var po=!1;if(oa){var jc;if(oa){var Sc="oninput"in document;if(!Sc){var yo=document.createElement("div");yo.setAttribute("oninput","return;"),Sc=typeof yo.oninput=="function"}jc=Sc}else jc=!1;po=jc&&(!document.documentMode||9<document.documentMode)}function vo(){El&&(El.detachEvent("onpropertychange",bo),Al=El=null)}function bo(e){if(e.propertyName==="value"&&Us(Al)){var t=[];xo(t,Al,e,fc(e)),ao(Kx,t)}}function Zx(e,t,a){e==="focusin"?(vo(),El=t,Al=a,El.attachEvent("onpropertychange",bo)):e==="focusout"&&vo()}function Fx(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Us(Al)}function $x(e,t){if(e==="click")return Us(t)}function Jx(e,t){if(e==="input"||e==="change")return Us(t)}function Wx(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var At=typeof Object.is=="function"?Object.is:Wx;function Dl(e,t){if(At(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),l=Object.keys(t);if(a.length!==l.length)return!1;for(l=0;l<a.length;l++){var s=a[l];if(!Pi.call(t,s)||!At(e[s],t[s]))return!1}return!0}function jo(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function So(e,t){var a=jo(e);e=0;for(var l;a;){if(a.nodeType===3){if(l=e+a.textContent.length,e<=t&&l>=t)return{node:a,offset:t-e};e=l}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=jo(a)}}function No(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?No(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Co(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=As(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=As(e.document)}return t}function Nc(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var Ix=oa&&"documentMode"in document&&11>=document.documentMode,On=null,Cc=null,_l=null,wc=!1;function wo(e,t,a){var l=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;wc||On==null||On!==As(l)||(l=On,"selectionStart"in l&&Nc(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),_l&&Dl(_l,l)||(_l=l,l=Ci(Cc,"onSelect"),0<l.length&&(t=new Os("onSelect","select",null,t,a),e.push({event:t,listeners:l}),t.target=On)))}function cn(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var Rn={animationend:cn("Animation","AnimationEnd"),animationiteration:cn("Animation","AnimationIteration"),animationstart:cn("Animation","AnimationStart"),transitionrun:cn("Transition","TransitionRun"),transitionstart:cn("Transition","TransitionStart"),transitioncancel:cn("Transition","TransitionCancel"),transitionend:cn("Transition","TransitionEnd")},zc={},zo={};oa&&(zo=document.createElement("div").style,"AnimationEvent"in window||(delete Rn.animationend.animation,delete Rn.animationiteration.animation,delete Rn.animationstart.animation),"TransitionEvent"in window||delete Rn.transitionend.transition);function rn(e){if(zc[e])return zc[e];if(!Rn[e])return e;var t=Rn[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in zo)return zc[e]=t[a];return e}var To=rn("animationend"),Eo=rn("animationiteration"),Ao=rn("animationstart"),Px=rn("transitionrun"),eg=rn("transitionstart"),tg=rn("transitioncancel"),Do=rn("transitionend"),_o=new Map,Tc="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(" ");Tc.push("scrollEnd");function Zt(e,t){_o.set(e,t),ln(t,[e])}var Bs=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Ht=[],Un=0,Ec=0;function Hs(){for(var e=Un,t=Ec=Un=0;t<e;){var a=Ht[t];Ht[t++]=null;var l=Ht[t];Ht[t++]=null;var s=Ht[t];Ht[t++]=null;var c=Ht[t];if(Ht[t++]=null,l!==null&&s!==null){var u=l.pending;u===null?s.next=s:(s.next=u.next,u.next=s),l.pending=s}c!==0&&Mo(a,s,c)}}function qs(e,t,a,l){Ht[Un++]=e,Ht[Un++]=t,Ht[Un++]=a,Ht[Un++]=l,Ec|=l,e.lanes|=l,e=e.alternate,e!==null&&(e.lanes|=l)}function Ac(e,t,a,l){return qs(e,t,a,l),Ls(e)}function un(e,t){return qs(e,null,null,t),Ls(e)}function Mo(e,t,a){e.lanes|=a;var l=e.alternate;l!==null&&(l.lanes|=a);for(var s=!1,c=e.return;c!==null;)c.childLanes|=a,l=c.alternate,l!==null&&(l.childLanes|=a),c.tag===22&&(e=c.stateNode,e===null||e._visibility&1||(s=!0)),e=c,c=c.return;return e.tag===3?(c=e.stateNode,s&&t!==null&&(s=31-Et(a),e=c.hiddenUpdates,l=e[s],l===null?e[s]=[t]:l.push(t),t.lane=a|536870912),c):null}function Ls(e){if(50<Pl)throw Pl=0,Hr=null,Error(o(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Bn={};function ag(e,t,a,l){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=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Dt(e,t,a,l){return new ag(e,t,a,l)}function Dc(e){return e=e.prototype,!(!e||!e.isReactComponent)}function da(e,t){var a=e.alternate;return a===null?(a=Dt(e.tag,t,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,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,t=e.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a.refCleanup=e.refCleanup,a}function ko(e,t){e.flags&=65011714;var a=e.alternate;return a===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=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,t=a.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Gs(e,t,a,l,s,c){var u=0;if(l=e,typeof e=="function")Dc(e)&&(u=1);else if(typeof e=="string")u=cp(e,a,Ue.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case Q:return e=Dt(31,a,t,s),e.elementType=Q,e.lanes=c,e;case U:return on(a.children,s,c,t);case z:u=8,s|=24;break;case _:return e=Dt(12,a,t,s|2),e.elementType=_,e.lanes=c,e;case $:return e=Dt(13,a,t,s),e.elementType=$,e.lanes=c,e;case W:return e=Dt(19,a,t,s),e.elementType=W,e.lanes=c,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case N:u=10;break e;case b:u=9;break e;case L:u=11;break e;case K:u=14;break e;case I:u=16,l=null;break e}u=29,a=Error(o(130,e===null?"null":typeof e,"")),l=null}return t=Dt(u,a,t,s),t.elementType=e,t.type=l,t.lanes=c,t}function on(e,t,a,l){return e=Dt(7,e,l,t),e.lanes=a,e}function _c(e,t,a){return e=Dt(6,e,null,t),e.lanes=a,e}function Oo(e){var t=Dt(18,null,null,0);return t.stateNode=e,t}function Mc(e,t,a){return t=Dt(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Ro=new WeakMap;function qt(e,t){if(typeof e=="object"&&e!==null){var a=Ro.get(e);return a!==void 0?a:(t={value:e,source:t,stack:js(t)},Ro.set(e,t),t)}return{value:e,source:t,stack:js(t)}}var Hn=[],qn=0,Qs=null,Ml=0,Lt=[],Gt=0,Ma=null,ta=1,aa="";function fa(e,t){Hn[qn++]=Ml,Hn[qn++]=Qs,Qs=e,Ml=t}function Uo(e,t,a){Lt[Gt++]=ta,Lt[Gt++]=aa,Lt[Gt++]=Ma,Ma=e;var l=ta;e=aa;var s=32-Et(l)-1;l&=~(1<<s),a+=1;var c=32-Et(t)+s;if(30<c){var u=s-s%5;c=(l&(1<<u)-1).toString(32),l>>=u,s-=u,ta=1<<32-Et(t)+s|a<<s|l,aa=c+e}else ta=1<<c|a<<s|l,aa=e}function kc(e){e.return!==null&&(fa(e,1),Uo(e,1,0))}function Oc(e){for(;e===Qs;)Qs=Hn[--qn],Hn[qn]=null,Ml=Hn[--qn],Hn[qn]=null;for(;e===Ma;)Ma=Lt[--Gt],Lt[Gt]=null,aa=Lt[--Gt],Lt[Gt]=null,ta=Lt[--Gt],Lt[Gt]=null}function Bo(e,t){Lt[Gt++]=ta,Lt[Gt++]=aa,Lt[Gt++]=Ma,ta=t.id,aa=t.overflow,Ma=e}var it=null,He=null,je=!1,ka=null,Qt=!1,Rc=Error(o(519));function Oa(e){var t=Error(o(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw kl(qt(t,e)),Rc}function Ho(e){var t=e.stateNode,a=e.type,l=e.memoizedProps;switch(t[st]=e,t[pt]=l,a){case"dialog":pe("cancel",t),pe("close",t);break;case"iframe":case"object":case"embed":pe("load",t);break;case"video":case"audio":for(a=0;a<ts.length;a++)pe(ts[a],t);break;case"source":pe("error",t);break;case"img":case"image":case"link":pe("error",t),pe("load",t);break;case"details":pe("toggle",t);break;case"input":pe("invalid",t),Ju(t,l.value,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name,!0);break;case"select":pe("invalid",t);break;case"textarea":pe("invalid",t),Iu(t,l.value,l.defaultValue,l.children)}a=l.children,typeof a!="string"&&typeof a!="number"&&typeof a!="bigint"||t.textContent===""+a||l.suppressHydrationWarning===!0||am(t.textContent,a)?(l.popover!=null&&(pe("beforetoggle",t),pe("toggle",t)),l.onScroll!=null&&pe("scroll",t),l.onScrollEnd!=null&&pe("scrollend",t),l.onClick!=null&&(t.onclick=ua),t=!0):t=!1,t||Oa(e,!0)}function qo(e){for(it=e.return;it;)switch(it.tag){case 5:case 31:case 13:Qt=!1;return;case 27:case 3:Qt=!0;return;default:it=it.return}}function Ln(e){if(e!==it)return!1;if(!je)return qo(e),je=!0,!1;var t=e.tag,a;if((a=t!==3&&t!==27)&&((a=t===5)&&(a=e.type,a=!(a!=="form"&&a!=="button")||Pr(e.type,e.memoizedProps)),a=!a),a&&He&&Oa(e),qo(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));He=dm(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));He=dm(e)}else t===27?(t=He,Fa(e.type)?(e=lu,lu=null,He=e):He=t):He=it?Vt(e.stateNode.nextSibling):null;return!0}function dn(){He=it=null,je=!1}function Uc(){var e=ka;return e!==null&&(St===null?St=e:St.push.apply(St,e),ka=null),e}function kl(e){ka===null?ka=[e]:ka.push(e)}var Bc=ue(null),fn=null,ma=null;function Ra(e,t,a){ie(Bc,t._currentValue),t._currentValue=a}function ha(e){e._currentValue=Bc.current,ae(Bc)}function Hc(e,t,a){for(;e!==null;){var l=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,l!==null&&(l.childLanes|=t)):l!==null&&(l.childLanes&t)!==t&&(l.childLanes|=t),e===a)break;e=e.return}}function qc(e,t,a,l){var s=e.child;for(s!==null&&(s.return=e);s!==null;){var c=s.dependencies;if(c!==null){var u=s.child;c=c.firstContext;e:for(;c!==null;){var m=c;c=s;for(var j=0;j<t.length;j++)if(m.context===t[j]){c.lanes|=a,m=c.alternate,m!==null&&(m.lanes|=a),Hc(c.return,a,e),l||(u=null);break e}c=m.next}}else if(s.tag===18){if(u=s.return,u===null)throw Error(o(341));u.lanes|=a,c=u.alternate,c!==null&&(c.lanes|=a),Hc(u,a,e),u=null}else u=s.child;if(u!==null)u.return=s;else for(u=s;u!==null;){if(u===e){u=null;break}if(s=u.sibling,s!==null){s.return=u.return,u=s;break}u=u.return}s=u}}function Gn(e,t,a,l){e=null;for(var s=t,c=!1;s!==null;){if(!c){if((s.flags&524288)!==0)c=!0;else if((s.flags&262144)!==0)break}if(s.tag===10){var u=s.alternate;if(u===null)throw Error(o(387));if(u=u.memoizedProps,u!==null){var m=s.type;At(s.pendingProps.value,u.value)||(e!==null?e.push(m):e=[m])}}else if(s===ia.current){if(u=s.alternate,u===null)throw Error(o(387));u.memoizedState.memoizedState!==s.memoizedState.memoizedState&&(e!==null?e.push(is):e=[is])}s=s.return}e!==null&&qc(t,e,a,l),t.flags|=262144}function Ys(e){for(e=e.firstContext;e!==null;){if(!At(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function mn(e){fn=e,ma=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function ct(e){return Lo(fn,e)}function Vs(e,t){return fn===null&&mn(e),Lo(e,t)}function Lo(e,t){var a=t._currentValue;if(t={context:t,memoizedValue:a,next:null},ma===null){if(e===null)throw Error(o(308));ma=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else ma=ma.next=t;return a}var ng=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(a,l){e.push(l)}};this.abort=function(){t.aborted=!0,e.forEach(function(a){return a()})}},lg=i.unstable_scheduleCallback,sg=i.unstable_NormalPriority,$e={$$typeof:N,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Lc(){return{controller:new ng,data:new Map,refCount:0}}function Ol(e){e.refCount--,e.refCount===0&&lg(sg,function(){e.controller.abort()})}var Rl=null,Gc=0,Qn=0,Yn=null;function ig(e,t){if(Rl===null){var a=Rl=[];Gc=0,Qn=Vr(),Yn={status:"pending",value:void 0,then:function(l){a.push(l)}}}return Gc++,t.then(Go,Go),t}function Go(){if(--Gc===0&&Rl!==null){Yn!==null&&(Yn.status="fulfilled");var e=Rl;Rl=null,Qn=0,Yn=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function cg(e,t){var a=[],l={status:"pending",value:null,reason:null,then:function(s){a.push(s)}};return e.then(function(){l.status="fulfilled",l.value=t;for(var s=0;s<a.length;s++)(0,a[s])(t)},function(s){for(l.status="rejected",l.reason=s,s=0;s<a.length;s++)(0,a[s])(void 0)}),l}var Qo=g.S;g.S=function(e,t){zf=zt(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&ig(e,t),Qo!==null&&Qo(e,t)};var hn=ue(null);function Qc(){var e=hn.current;return e!==null?e:ke.pooledCache}function Xs(e,t){t===null?ie(hn,hn.current):ie(hn,t.pool)}function Yo(){var e=Qc();return e===null?null:{parent:$e._currentValue,pool:e}}var Vn=Error(o(460)),Yc=Error(o(474)),Ks=Error(o(542)),Zs={then:function(){}};function Vo(e){return e=e.status,e==="fulfilled"||e==="rejected"}function Xo(e,t,a){switch(a=e[a],a===void 0?e.push(t):a!==t&&(t.then(ua,ua),t=a),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Zo(e),e;default:if(typeof t.status=="string")t.then(ua,ua);else{if(e=ke,e!==null&&100<e.shellSuspendCounter)throw Error(o(482));e=t,e.status="pending",e.then(function(l){if(t.status==="pending"){var s=t;s.status="fulfilled",s.value=l}},function(l){if(t.status==="pending"){var s=t;s.status="rejected",s.reason=l}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Zo(e),e}throw gn=t,Vn}}function xn(e){try{var t=e._init;return t(e._payload)}catch(a){throw a!==null&&typeof a=="object"&&typeof a.then=="function"?(gn=a,Vn):a}}var gn=null;function Ko(){if(gn===null)throw Error(o(459));var e=gn;return gn=null,e}function Zo(e){if(e===Vn||e===Ks)throw Error(o(483))}var Xn=null,Ul=0;function Fs(e){var t=Ul;return Ul+=1,Xn===null&&(Xn=[]),Xo(Xn,e,t)}function Bl(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function $s(e,t){throw t.$$typeof===B?Error(o(525)):(e=Object.prototype.toString.call(t),Error(o(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function Fo(e){function t(A,C){if(e){var M=A.deletions;M===null?(A.deletions=[C],A.flags|=16):M.push(C)}}function a(A,C){if(!e)return null;for(;C!==null;)t(A,C),C=C.sibling;return null}function l(A){for(var C=new Map;A!==null;)A.key!==null?C.set(A.key,A):C.set(A.index,A),A=A.sibling;return C}function s(A,C){return A=da(A,C),A.index=0,A.sibling=null,A}function c(A,C,M){return A.index=M,e?(M=A.alternate,M!==null?(M=M.index,M<C?(A.flags|=67108866,C):M):(A.flags|=67108866,C)):(A.flags|=1048576,C)}function u(A){return e&&A.alternate===null&&(A.flags|=67108866),A}function m(A,C,M,V){return C===null||C.tag!==6?(C=_c(M,A.mode,V),C.return=A,C):(C=s(C,M),C.return=A,C)}function j(A,C,M,V){var re=M.type;return re===U?G(A,C,M.props.children,V,M.key):C!==null&&(C.elementType===re||typeof re=="object"&&re!==null&&re.$$typeof===I&&xn(re)===C.type)?(C=s(C,M.props),Bl(C,M),C.return=A,C):(C=Gs(M.type,M.key,M.props,null,A.mode,V),Bl(C,M),C.return=A,C)}function k(A,C,M,V){return C===null||C.tag!==4||C.stateNode.containerInfo!==M.containerInfo||C.stateNode.implementation!==M.implementation?(C=Mc(M,A.mode,V),C.return=A,C):(C=s(C,M.children||[]),C.return=A,C)}function G(A,C,M,V,re){return C===null||C.tag!==7?(C=on(M,A.mode,V,re),C.return=A,C):(C=s(C,M),C.return=A,C)}function Z(A,C,M){if(typeof C=="string"&&C!==""||typeof C=="number"||typeof C=="bigint")return C=_c(""+C,A.mode,M),C.return=A,C;if(typeof C=="object"&&C!==null){switch(C.$$typeof){case w:return M=Gs(C.type,C.key,C.props,null,A.mode,M),Bl(M,C),M.return=A,M;case O:return C=Mc(C,A.mode,M),C.return=A,C;case I:return C=xn(C),Z(A,C,M)}if(Y(C)||H(C))return C=on(C,A.mode,M,null),C.return=A,C;if(typeof C.then=="function")return Z(A,Fs(C),M);if(C.$$typeof===N)return Z(A,Vs(A,C),M);$s(A,C)}return null}function R(A,C,M,V){var re=C!==null?C.key:null;if(typeof M=="string"&&M!==""||typeof M=="number"||typeof M=="bigint")return re!==null?null:m(A,C,""+M,V);if(typeof M=="object"&&M!==null){switch(M.$$typeof){case w:return M.key===re?j(A,C,M,V):null;case O:return M.key===re?k(A,C,M,V):null;case I:return M=xn(M),R(A,C,M,V)}if(Y(M)||H(M))return re!==null?null:G(A,C,M,V,null);if(typeof M.then=="function")return R(A,C,Fs(M),V);if(M.$$typeof===N)return R(A,C,Vs(A,M),V);$s(A,M)}return null}function q(A,C,M,V,re){if(typeof V=="string"&&V!==""||typeof V=="number"||typeof V=="bigint")return A=A.get(M)||null,m(C,A,""+V,re);if(typeof V=="object"&&V!==null){switch(V.$$typeof){case w:return A=A.get(V.key===null?M:V.key)||null,j(C,A,V,re);case O:return A=A.get(V.key===null?M:V.key)||null,k(C,A,V,re);case I:return V=xn(V),q(A,C,M,V,re)}if(Y(V)||H(V))return A=A.get(M)||null,G(C,A,V,re,null);if(typeof V.then=="function")return q(A,C,M,Fs(V),re);if(V.$$typeof===N)return q(A,C,M,Vs(C,V),re);$s(C,V)}return null}function se(A,C,M,V){for(var re=null,Se=null,ce=C,xe=C=0,ve=null;ce!==null&&xe<M.length;xe++){ce.index>xe?(ve=ce,ce=null):ve=ce.sibling;var Ne=R(A,ce,M[xe],V);if(Ne===null){ce===null&&(ce=ve);break}e&&ce&&Ne.alternate===null&&t(A,ce),C=c(Ne,C,xe),Se===null?re=Ne:Se.sibling=Ne,Se=Ne,ce=ve}if(xe===M.length)return a(A,ce),je&&fa(A,xe),re;if(ce===null){for(;xe<M.length;xe++)ce=Z(A,M[xe],V),ce!==null&&(C=c(ce,C,xe),Se===null?re=ce:Se.sibling=ce,Se=ce);return je&&fa(A,xe),re}for(ce=l(ce);xe<M.length;xe++)ve=q(ce,A,xe,M[xe],V),ve!==null&&(e&&ve.alternate!==null&&ce.delete(ve.key===null?xe:ve.key),C=c(ve,C,xe),Se===null?re=ve:Se.sibling=ve,Se=ve);return e&&ce.forEach(function(Pa){return t(A,Pa)}),je&&fa(A,xe),re}function oe(A,C,M,V){if(M==null)throw Error(o(151));for(var re=null,Se=null,ce=C,xe=C=0,ve=null,Ne=M.next();ce!==null&&!Ne.done;xe++,Ne=M.next()){ce.index>xe?(ve=ce,ce=null):ve=ce.sibling;var Pa=R(A,ce,Ne.value,V);if(Pa===null){ce===null&&(ce=ve);break}e&&ce&&Pa.alternate===null&&t(A,ce),C=c(Pa,C,xe),Se===null?re=Pa:Se.sibling=Pa,Se=Pa,ce=ve}if(Ne.done)return a(A,ce),je&&fa(A,xe),re;if(ce===null){for(;!Ne.done;xe++,Ne=M.next())Ne=Z(A,Ne.value,V),Ne!==null&&(C=c(Ne,C,xe),Se===null?re=Ne:Se.sibling=Ne,Se=Ne);return je&&fa(A,xe),re}for(ce=l(ce);!Ne.done;xe++,Ne=M.next())Ne=q(ce,A,xe,Ne.value,V),Ne!==null&&(e&&Ne.alternate!==null&&ce.delete(Ne.key===null?xe:Ne.key),C=c(Ne,C,xe),Se===null?re=Ne:Se.sibling=Ne,Se=Ne);return e&&ce.forEach(function(yp){return t(A,yp)}),je&&fa(A,xe),re}function _e(A,C,M,V){if(typeof M=="object"&&M!==null&&M.type===U&&M.key===null&&(M=M.props.children),typeof M=="object"&&M!==null){switch(M.$$typeof){case w:e:{for(var re=M.key;C!==null;){if(C.key===re){if(re=M.type,re===U){if(C.tag===7){a(A,C.sibling),V=s(C,M.props.children),V.return=A,A=V;break e}}else if(C.elementType===re||typeof re=="object"&&re!==null&&re.$$typeof===I&&xn(re)===C.type){a(A,C.sibling),V=s(C,M.props),Bl(V,M),V.return=A,A=V;break e}a(A,C);break}else t(A,C);C=C.sibling}M.type===U?(V=on(M.props.children,A.mode,V,M.key),V.return=A,A=V):(V=Gs(M.type,M.key,M.props,null,A.mode,V),Bl(V,M),V.return=A,A=V)}return u(A);case O:e:{for(re=M.key;C!==null;){if(C.key===re)if(C.tag===4&&C.stateNode.containerInfo===M.containerInfo&&C.stateNode.implementation===M.implementation){a(A,C.sibling),V=s(C,M.children||[]),V.return=A,A=V;break e}else{a(A,C);break}else t(A,C);C=C.sibling}V=Mc(M,A.mode,V),V.return=A,A=V}return u(A);case I:return M=xn(M),_e(A,C,M,V)}if(Y(M))return se(A,C,M,V);if(H(M)){if(re=H(M),typeof re!="function")throw Error(o(150));return M=re.call(M),oe(A,C,M,V)}if(typeof M.then=="function")return _e(A,C,Fs(M),V);if(M.$$typeof===N)return _e(A,C,Vs(A,M),V);$s(A,M)}return typeof M=="string"&&M!==""||typeof M=="number"||typeof M=="bigint"?(M=""+M,C!==null&&C.tag===6?(a(A,C.sibling),V=s(C,M),V.return=A,A=V):(a(A,C),V=_c(M,A.mode,V),V.return=A,A=V),u(A)):a(A,C)}return function(A,C,M,V){try{Ul=0;var re=_e(A,C,M,V);return Xn=null,re}catch(ce){if(ce===Vn||ce===Ks)throw ce;var Se=Dt(29,ce,null,A.mode);return Se.lanes=V,Se.return=A,Se}}}var pn=Fo(!0),$o=Fo(!1),Ua=!1;function Vc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Xc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ba(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ha(e,t,a){var l=e.updateQueue;if(l===null)return null;if(l=l.shared,(we&2)!==0){var s=l.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),l.pending=t,t=Ls(e),Mo(e,null,a),t}return qs(e,l,t,a),Ls(e)}function Hl(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,qu(e,a)}}function Kc(e,t){var a=e.updateQueue,l=e.alternate;if(l!==null&&(l=l.updateQueue,a===l)){var s=null,c=null;if(a=a.firstBaseUpdate,a!==null){do{var u={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};c===null?s=c=u:c=c.next=u,a=a.next}while(a!==null);c===null?s=c=t:c=c.next=t}else s=c=t;a={baseState:l.baseState,firstBaseUpdate:s,lastBaseUpdate:c,shared:l.shared,callbacks:l.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Zc=!1;function ql(){if(Zc){var e=Yn;if(e!==null)throw e}}function Ll(e,t,a,l){Zc=!1;var s=e.updateQueue;Ua=!1;var c=s.firstBaseUpdate,u=s.lastBaseUpdate,m=s.shared.pending;if(m!==null){s.shared.pending=null;var j=m,k=j.next;j.next=null,u===null?c=k:u.next=k,u=j;var G=e.alternate;G!==null&&(G=G.updateQueue,m=G.lastBaseUpdate,m!==u&&(m===null?G.firstBaseUpdate=k:m.next=k,G.lastBaseUpdate=j))}if(c!==null){var Z=s.baseState;u=0,G=k=j=null,m=c;do{var R=m.lane&-536870913,q=R!==m.lane;if(q?(ye&R)===R:(l&R)===R){R!==0&&R===Qn&&(Zc=!0),G!==null&&(G=G.next={lane:0,tag:m.tag,payload:m.payload,callback:null,next:null});e:{var se=e,oe=m;R=t;var _e=a;switch(oe.tag){case 1:if(se=oe.payload,typeof se=="function"){Z=se.call(_e,Z,R);break e}Z=se;break e;case 3:se.flags=se.flags&-65537|128;case 0:if(se=oe.payload,R=typeof se=="function"?se.call(_e,Z,R):se,R==null)break e;Z=E({},Z,R);break e;case 2:Ua=!0}}R=m.callback,R!==null&&(e.flags|=64,q&&(e.flags|=8192),q=s.callbacks,q===null?s.callbacks=[R]:q.push(R))}else q={lane:R,tag:m.tag,payload:m.payload,callback:m.callback,next:null},G===null?(k=G=q,j=Z):G=G.next=q,u|=R;if(m=m.next,m===null){if(m=s.shared.pending,m===null)break;q=m,m=q.next,q.next=null,s.lastBaseUpdate=q,s.shared.pending=null}}while(!0);G===null&&(j=Z),s.baseState=j,s.firstBaseUpdate=k,s.lastBaseUpdate=G,c===null&&(s.shared.lanes=0),Ya|=u,e.lanes=u,e.memoizedState=Z}}function Jo(e,t){if(typeof e!="function")throw Error(o(191,e));e.call(t)}function Wo(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;e<a.length;e++)Jo(a[e],t)}var Kn=ue(null),Js=ue(0);function Io(e,t){e=Na,ie(Js,e),ie(Kn,t),Na=e|t.baseLanes}function Fc(){ie(Js,Na),ie(Kn,Kn.current)}function $c(){Na=Js.current,ae(Kn),ae(Js)}var _t=ue(null),Yt=null;function qa(e){var t=e.alternate;ie(Xe,Xe.current&1),ie(_t,e),Yt===null&&(t===null||Kn.current!==null||t.memoizedState!==null)&&(Yt=e)}function Jc(e){ie(Xe,Xe.current),ie(_t,e),Yt===null&&(Yt=e)}function Po(e){e.tag===22?(ie(Xe,Xe.current),ie(_t,e),Yt===null&&(Yt=e)):La()}function La(){ie(Xe,Xe.current),ie(_t,_t.current)}function Mt(e){ae(_t),Yt===e&&(Yt=null),ae(Xe)}var Xe=ue(0);function Ws(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||au(a)||nu(a)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var xa=0,me=null,Ae=null,Je=null,Is=!1,Zn=!1,yn=!1,Ps=0,Gl=0,Fn=null,rg=0;function Ye(){throw Error(o(321))}function Wc(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!At(e[a],t[a]))return!1;return!0}function Ic(e,t,a,l,s,c){return xa=c,me=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,g.H=e===null||e.memoizedState===null?Ud:mr,yn=!1,c=a(l,s),yn=!1,Zn&&(c=td(t,a,l,s)),ed(e),c}function ed(e){g.H=Vl;var t=Ae!==null&&Ae.next!==null;if(xa=0,Je=Ae=me=null,Is=!1,Gl=0,Fn=null,t)throw Error(o(300));e===null||We||(e=e.dependencies,e!==null&&Ys(e)&&(We=!0))}function td(e,t,a,l){me=e;var s=0;do{if(Zn&&(Fn=null),Gl=0,Zn=!1,25<=s)throw Error(o(301));if(s+=1,Je=Ae=null,e.updateQueue!=null){var c=e.updateQueue;c.lastEffect=null,c.events=null,c.stores=null,c.memoCache!=null&&(c.memoCache.index=0)}g.H=Bd,c=t(a,l)}while(Zn);return c}function ug(){var e=g.H,t=e.useState()[0];return t=typeof t.then=="function"?Ql(t):t,e=e.useState()[0],(Ae!==null?Ae.memoizedState:null)!==e&&(me.flags|=1024),t}function Pc(){var e=Ps!==0;return Ps=0,e}function er(e,t,a){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a}function tr(e){if(Is){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Is=!1}xa=0,Je=Ae=me=null,Zn=!1,Gl=Ps=0,Fn=null}function xt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Je===null?me.memoizedState=Je=e:Je=Je.next=e,Je}function Ke(){if(Ae===null){var e=me.alternate;e=e!==null?e.memoizedState:null}else e=Ae.next;var t=Je===null?me.memoizedState:Je.next;if(t!==null)Je=t,Ae=e;else{if(e===null)throw me.alternate===null?Error(o(467)):Error(o(310));Ae=e,e={memoizedState:Ae.memoizedState,baseState:Ae.baseState,baseQueue:Ae.baseQueue,queue:Ae.queue,next:null},Je===null?me.memoizedState=Je=e:Je=Je.next=e}return Je}function ei(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Ql(e){var t=Gl;return Gl+=1,Fn===null&&(Fn=[]),e=Xo(Fn,e,t),t=me,(Je===null?t.memoizedState:Je.next)===null&&(t=t.alternate,g.H=t===null||t.memoizedState===null?Ud:mr),e}function ti(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Ql(e);if(e.$$typeof===N)return ct(e)}throw Error(o(438,String(e)))}function ar(e){var t=null,a=me.updateQueue;if(a!==null&&(t=a.memoCache),t==null){var l=me.alternate;l!==null&&(l=l.updateQueue,l!==null&&(l=l.memoCache,l!=null&&(t={data:l.data.map(function(s){return s.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),a===null&&(a=ei(),me.updateQueue=a),a.memoCache=t,a=t.data[t.index],a===void 0)for(a=t.data[t.index]=Array(e),l=0;l<e;l++)a[l]=le;return t.index++,a}function ga(e,t){return typeof t=="function"?t(e):t}function ai(e){var t=Ke();return nr(t,Ae,e)}function nr(e,t,a){var l=e.queue;if(l===null)throw Error(o(311));l.lastRenderedReducer=a;var s=e.baseQueue,c=l.pending;if(c!==null){if(s!==null){var u=s.next;s.next=c.next,c.next=u}t.baseQueue=s=c,l.pending=null}if(c=e.baseState,s===null)e.memoizedState=c;else{t=s.next;var m=u=null,j=null,k=t,G=!1;do{var Z=k.lane&-536870913;if(Z!==k.lane?(ye&Z)===Z:(xa&Z)===Z){var R=k.revertLane;if(R===0)j!==null&&(j=j.next={lane:0,revertLane:0,gesture:null,action:k.action,hasEagerState:k.hasEagerState,eagerState:k.eagerState,next:null}),Z===Qn&&(G=!0);else if((xa&R)===R){k=k.next,R===Qn&&(G=!0);continue}else Z={lane:0,revertLane:k.revertLane,gesture:null,action:k.action,hasEagerState:k.hasEagerState,eagerState:k.eagerState,next:null},j===null?(m=j=Z,u=c):j=j.next=Z,me.lanes|=R,Ya|=R;Z=k.action,yn&&a(c,Z),c=k.hasEagerState?k.eagerState:a(c,Z)}else R={lane:Z,revertLane:k.revertLane,gesture:k.gesture,action:k.action,hasEagerState:k.hasEagerState,eagerState:k.eagerState,next:null},j===null?(m=j=R,u=c):j=j.next=R,me.lanes|=Z,Ya|=Z;k=k.next}while(k!==null&&k!==t);if(j===null?u=c:j.next=m,!At(c,e.memoizedState)&&(We=!0,G&&(a=Yn,a!==null)))throw a;e.memoizedState=c,e.baseState=u,e.baseQueue=j,l.lastRenderedState=c}return s===null&&(l.lanes=0),[e.memoizedState,l.dispatch]}function lr(e){var t=Ke(),a=t.queue;if(a===null)throw Error(o(311));a.lastRenderedReducer=e;var l=a.dispatch,s=a.pending,c=t.memoizedState;if(s!==null){a.pending=null;var u=s=s.next;do c=e(c,u.action),u=u.next;while(u!==s);At(c,t.memoizedState)||(We=!0),t.memoizedState=c,t.baseQueue===null&&(t.baseState=c),a.lastRenderedState=c}return[c,l]}function ad(e,t,a){var l=me,s=Ke(),c=je;if(c){if(a===void 0)throw Error(o(407));a=a()}else a=t();var u=!At((Ae||s).memoizedState,a);if(u&&(s.memoizedState=a,We=!0),s=s.queue,cr(sd.bind(null,l,s,e),[e]),s.getSnapshot!==t||u||Je!==null&&Je.memoizedState.tag&1){if(l.flags|=2048,$n(9,{destroy:void 0},ld.bind(null,l,s,a,t),null),ke===null)throw Error(o(349));c||(xa&127)!==0||nd(l,t,a)}return a}function nd(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=me.updateQueue,t===null?(t=ei(),me.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function ld(e,t,a,l){t.value=a,t.getSnapshot=l,id(t)&&cd(e)}function sd(e,t,a){return a(function(){id(t)&&cd(e)})}function id(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!At(e,a)}catch{return!0}}function cd(e){var t=un(e,2);t!==null&&Nt(t,e,2)}function sr(e){var t=xt();if(typeof e=="function"){var a=e;if(e=a(),yn){Aa(!0);try{a()}finally{Aa(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ga,lastRenderedState:e},t}function rd(e,t,a,l){return e.baseState=a,nr(e,Ae,typeof l=="function"?l:ga)}function og(e,t,a,l,s){if(si(e))throw Error(o(485));if(e=t.action,e!==null){var c={payload:s,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(u){c.listeners.push(u)}};g.T!==null?a(!0):c.isTransition=!1,l(c),a=t.pending,a===null?(c.next=t.pending=c,ud(t,c)):(c.next=a.next,t.pending=a.next=c)}}function ud(e,t){var a=t.action,l=t.payload,s=e.state;if(t.isTransition){var c=g.T,u={};g.T=u;try{var m=a(s,l),j=g.S;j!==null&&j(u,m),od(e,t,m)}catch(k){ir(e,t,k)}finally{c!==null&&u.types!==null&&(c.types=u.types),g.T=c}}else try{c=a(s,l),od(e,t,c)}catch(k){ir(e,t,k)}}function od(e,t,a){a!==null&&typeof a=="object"&&typeof a.then=="function"?a.then(function(l){dd(e,t,l)},function(l){return ir(e,t,l)}):dd(e,t,a)}function dd(e,t,a){t.status="fulfilled",t.value=a,fd(t),e.state=a,t=e.pending,t!==null&&(a=t.next,a===t?e.pending=null:(a=a.next,t.next=a,ud(e,a)))}function ir(e,t,a){var l=e.pending;if(e.pending=null,l!==null){l=l.next;do t.status="rejected",t.reason=a,fd(t),t=t.next;while(t!==l)}e.action=null}function fd(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function md(e,t){return t}function hd(e,t){if(je){var a=ke.formState;if(a!==null){e:{var l=me;if(je){if(He){t:{for(var s=He,c=Qt;s.nodeType!==8;){if(!c){s=null;break t}if(s=Vt(s.nextSibling),s===null){s=null;break t}}c=s.data,s=c==="F!"||c==="F"?s:null}if(s){He=Vt(s.nextSibling),l=s.data==="F!";break e}}Oa(l)}l=!1}l&&(t=a[0])}}return a=xt(),a.memoizedState=a.baseState=t,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:md,lastRenderedState:t},a.queue=l,a=kd.bind(null,me,l),l.dispatch=a,l=sr(!1),c=fr.bind(null,me,!1,l.queue),l=xt(),s={state:t,dispatch:null,action:e,pending:null},l.queue=s,a=og.bind(null,me,s,c,a),s.dispatch=a,l.memoizedState=e,[t,a,!1]}function xd(e){var t=Ke();return gd(t,Ae,e)}function gd(e,t,a){if(t=nr(e,t,md)[0],e=ai(ga)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var l=Ql(t)}catch(u){throw u===Vn?Ks:u}else l=t;t=Ke();var s=t.queue,c=s.dispatch;return a!==t.memoizedState&&(me.flags|=2048,$n(9,{destroy:void 0},dg.bind(null,s,a),null)),[l,c,e]}function dg(e,t){e.action=t}function pd(e){var t=Ke(),a=Ae;if(a!==null)return gd(t,a,e);Ke(),t=t.memoizedState,a=Ke();var l=a.queue.dispatch;return a.memoizedState=e,[t,l,!1]}function $n(e,t,a,l){return e={tag:e,create:a,deps:l,inst:t,next:null},t=me.updateQueue,t===null&&(t=ei(),me.updateQueue=t),a=t.lastEffect,a===null?t.lastEffect=e.next=e:(l=a.next,a.next=e,e.next=l,t.lastEffect=e),e}function yd(){return Ke().memoizedState}function ni(e,t,a,l){var s=xt();me.flags|=e,s.memoizedState=$n(1|t,{destroy:void 0},a,l===void 0?null:l)}function li(e,t,a,l){var s=Ke();l=l===void 0?null:l;var c=s.memoizedState.inst;Ae!==null&&l!==null&&Wc(l,Ae.memoizedState.deps)?s.memoizedState=$n(t,c,a,l):(me.flags|=e,s.memoizedState=$n(1|t,c,a,l))}function vd(e,t){ni(8390656,8,e,t)}function cr(e,t){li(2048,8,e,t)}function fg(e){me.flags|=4;var t=me.updateQueue;if(t===null)t=ei(),me.updateQueue=t,t.events=[e];else{var a=t.events;a===null?t.events=[e]:a.push(e)}}function bd(e){var t=Ke().memoizedState;return fg({ref:t,nextImpl:e}),function(){if((we&2)!==0)throw Error(o(440));return t.impl.apply(void 0,arguments)}}function jd(e,t){return li(4,2,e,t)}function Sd(e,t){return li(4,4,e,t)}function Nd(e,t){if(typeof t=="function"){e=e();var a=t(e);return function(){typeof a=="function"?a():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Cd(e,t,a){a=a!=null?a.concat([e]):null,li(4,4,Nd.bind(null,t,e),a)}function rr(){}function wd(e,t){var a=Ke();t=t===void 0?null:t;var l=a.memoizedState;return t!==null&&Wc(t,l[1])?l[0]:(a.memoizedState=[e,t],e)}function zd(e,t){var a=Ke();t=t===void 0?null:t;var l=a.memoizedState;if(t!==null&&Wc(t,l[1]))return l[0];if(l=e(),yn){Aa(!0);try{e()}finally{Aa(!1)}}return a.memoizedState=[l,t],l}function ur(e,t,a){return a===void 0||(xa&1073741824)!==0&&(ye&261930)===0?e.memoizedState=t:(e.memoizedState=a,e=Ef(),me.lanes|=e,Ya|=e,a)}function Td(e,t,a,l){return At(a,t)?a:Kn.current!==null?(e=ur(e,a,l),At(e,t)||(We=!0),e):(xa&42)===0||(xa&1073741824)!==0&&(ye&261930)===0?(We=!0,e.memoizedState=a):(e=Ef(),me.lanes|=e,Ya|=e,t)}function Ed(e,t,a,l,s){var c=D.p;D.p=c!==0&&8>c?c:8;var u=g.T,m={};g.T=m,fr(e,!1,t,a);try{var j=s(),k=g.S;if(k!==null&&k(m,j),j!==null&&typeof j=="object"&&typeof j.then=="function"){var G=cg(j,l);Yl(e,t,G,Rt(e))}else Yl(e,t,l,Rt(e))}catch(Z){Yl(e,t,{then:function(){},status:"rejected",reason:Z},Rt())}finally{D.p=c,u!==null&&m.types!==null&&(u.types=m.types),g.T=u}}function mg(){}function or(e,t,a,l){if(e.tag!==5)throw Error(o(476));var s=Ad(e).queue;Ed(e,s,t,ee,a===null?mg:function(){return Dd(e),a(l)})}function Ad(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ee,baseState:ee,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ga,lastRenderedState:ee},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ga,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Dd(e){var t=Ad(e);t.next===null&&(t=e.alternate.memoizedState),Yl(e,t.next.queue,{},Rt())}function dr(){return ct(is)}function _d(){return Ke().memoizedState}function Md(){return Ke().memoizedState}function hg(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=Rt();e=Ba(a);var l=Ha(t,e,a);l!==null&&(Nt(l,t,a),Hl(l,t,a)),t={cache:Lc()},e.payload=t;return}t=t.return}}function xg(e,t,a){var l=Rt();a={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},si(e)?Od(t,a):(a=Ac(e,t,a,l),a!==null&&(Nt(a,e,l),Rd(a,t,l)))}function kd(e,t,a){var l=Rt();Yl(e,t,a,l)}function Yl(e,t,a,l){var s={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(si(e))Od(t,s);else{var c=e.alternate;if(e.lanes===0&&(c===null||c.lanes===0)&&(c=t.lastRenderedReducer,c!==null))try{var u=t.lastRenderedState,m=c(u,a);if(s.hasEagerState=!0,s.eagerState=m,At(m,u))return qs(e,t,s,0),ke===null&&Hs(),!1}catch{}if(a=Ac(e,t,s,l),a!==null)return Nt(a,e,l),Rd(a,t,l),!0}return!1}function fr(e,t,a,l){if(l={lane:2,revertLane:Vr(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},si(e)){if(t)throw Error(o(479))}else t=Ac(e,a,l,2),t!==null&&Nt(t,e,2)}function si(e){var t=e.alternate;return e===me||t!==null&&t===me}function Od(e,t){Zn=Is=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function Rd(e,t,a){if((a&4194048)!==0){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,qu(e,a)}}var Vl={readContext:ct,use:ti,useCallback:Ye,useContext:Ye,useEffect:Ye,useImperativeHandle:Ye,useLayoutEffect:Ye,useInsertionEffect:Ye,useMemo:Ye,useReducer:Ye,useRef:Ye,useState:Ye,useDebugValue:Ye,useDeferredValue:Ye,useTransition:Ye,useSyncExternalStore:Ye,useId:Ye,useHostTransitionStatus:Ye,useFormState:Ye,useActionState:Ye,useOptimistic:Ye,useMemoCache:Ye,useCacheRefresh:Ye};Vl.useEffectEvent=Ye;var Ud={readContext:ct,use:ti,useCallback:function(e,t){return xt().memoizedState=[e,t===void 0?null:t],e},useContext:ct,useEffect:vd,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,ni(4194308,4,Nd.bind(null,t,e),a)},useLayoutEffect:function(e,t){return ni(4194308,4,e,t)},useInsertionEffect:function(e,t){ni(4,2,e,t)},useMemo:function(e,t){var a=xt();t=t===void 0?null:t;var l=e();if(yn){Aa(!0);try{e()}finally{Aa(!1)}}return a.memoizedState=[l,t],l},useReducer:function(e,t,a){var l=xt();if(a!==void 0){var s=a(t);if(yn){Aa(!0);try{a(t)}finally{Aa(!1)}}}else s=t;return l.memoizedState=l.baseState=s,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:s},l.queue=e,e=e.dispatch=xg.bind(null,me,e),[l.memoizedState,e]},useRef:function(e){var t=xt();return e={current:e},t.memoizedState=e},useState:function(e){e=sr(e);var t=e.queue,a=kd.bind(null,me,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:rr,useDeferredValue:function(e,t){var a=xt();return ur(a,e,t)},useTransition:function(){var e=sr(!1);return e=Ed.bind(null,me,e.queue,!0,!1),xt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var l=me,s=xt();if(je){if(a===void 0)throw Error(o(407));a=a()}else{if(a=t(),ke===null)throw Error(o(349));(ye&127)!==0||nd(l,t,a)}s.memoizedState=a;var c={value:a,getSnapshot:t};return s.queue=c,vd(sd.bind(null,l,c,e),[e]),l.flags|=2048,$n(9,{destroy:void 0},ld.bind(null,l,c,a,t),null),a},useId:function(){var e=xt(),t=ke.identifierPrefix;if(je){var a=aa,l=ta;a=(l&~(1<<32-Et(l)-1)).toString(32)+a,t="_"+t+"R_"+a,a=Ps++,0<a&&(t+="H"+a.toString(32)),t+="_"}else a=rg++,t="_"+t+"r_"+a.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:dr,useFormState:hd,useActionState:hd,useOptimistic:function(e){var t=xt();t.memoizedState=t.baseState=e;var a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=a,t=fr.bind(null,me,!0,a),a.dispatch=t,[e,t]},useMemoCache:ar,useCacheRefresh:function(){return xt().memoizedState=hg.bind(null,me)},useEffectEvent:function(e){var t=xt(),a={impl:e};return t.memoizedState=a,function(){if((we&2)!==0)throw Error(o(440));return a.impl.apply(void 0,arguments)}}},mr={readContext:ct,use:ti,useCallback:wd,useContext:ct,useEffect:cr,useImperativeHandle:Cd,useInsertionEffect:jd,useLayoutEffect:Sd,useMemo:zd,useReducer:ai,useRef:yd,useState:function(){return ai(ga)},useDebugValue:rr,useDeferredValue:function(e,t){var a=Ke();return Td(a,Ae.memoizedState,e,t)},useTransition:function(){var e=ai(ga)[0],t=Ke().memoizedState;return[typeof e=="boolean"?e:Ql(e),t]},useSyncExternalStore:ad,useId:_d,useHostTransitionStatus:dr,useFormState:xd,useActionState:xd,useOptimistic:function(e,t){var a=Ke();return rd(a,Ae,e,t)},useMemoCache:ar,useCacheRefresh:Md};mr.useEffectEvent=bd;var Bd={readContext:ct,use:ti,useCallback:wd,useContext:ct,useEffect:cr,useImperativeHandle:Cd,useInsertionEffect:jd,useLayoutEffect:Sd,useMemo:zd,useReducer:lr,useRef:yd,useState:function(){return lr(ga)},useDebugValue:rr,useDeferredValue:function(e,t){var a=Ke();return Ae===null?ur(a,e,t):Td(a,Ae.memoizedState,e,t)},useTransition:function(){var e=lr(ga)[0],t=Ke().memoizedState;return[typeof e=="boolean"?e:Ql(e),t]},useSyncExternalStore:ad,useId:_d,useHostTransitionStatus:dr,useFormState:pd,useActionState:pd,useOptimistic:function(e,t){var a=Ke();return Ae!==null?rd(a,Ae,e,t):(a.baseState=e,[e,a.queue.dispatch])},useMemoCache:ar,useCacheRefresh:Md};Bd.useEffectEvent=bd;function hr(e,t,a,l){t=e.memoizedState,a=a(l,t),a=a==null?t:E({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var xr={enqueueSetState:function(e,t,a){e=e._reactInternals;var l=Rt(),s=Ba(l);s.payload=t,a!=null&&(s.callback=a),t=Ha(e,s,l),t!==null&&(Nt(t,e,l),Hl(t,e,l))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var l=Rt(),s=Ba(l);s.tag=1,s.payload=t,a!=null&&(s.callback=a),t=Ha(e,s,l),t!==null&&(Nt(t,e,l),Hl(t,e,l))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=Rt(),l=Ba(a);l.tag=2,t!=null&&(l.callback=t),t=Ha(e,l,a),t!==null&&(Nt(t,e,a),Hl(t,e,a))}};function Hd(e,t,a,l,s,c,u){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(l,c,u):t.prototype&&t.prototype.isPureReactComponent?!Dl(a,l)||!Dl(s,c):!0}function qd(e,t,a,l){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,l),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,l),t.state!==e&&xr.enqueueReplaceState(t,t.state,null)}function vn(e,t){var a=t;if("ref"in t){a={};for(var l in t)l!=="ref"&&(a[l]=t[l])}if(e=e.defaultProps){a===t&&(a=E({},a));for(var s in e)a[s]===void 0&&(a[s]=e[s])}return a}function Ld(e){Bs(e)}function Gd(e){console.error(e)}function Qd(e){Bs(e)}function ii(e,t){try{var a=e.onUncaughtError;a(t.value,{componentStack:t.stack})}catch(l){setTimeout(function(){throw l})}}function Yd(e,t,a){try{var l=e.onCaughtError;l(a.value,{componentStack:a.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(s){setTimeout(function(){throw s})}}function gr(e,t,a){return a=Ba(a),a.tag=3,a.payload={element:null},a.callback=function(){ii(e,t)},a}function Vd(e){return e=Ba(e),e.tag=3,e}function Xd(e,t,a,l){var s=a.type.getDerivedStateFromError;if(typeof s=="function"){var c=l.value;e.payload=function(){return s(c)},e.callback=function(){Yd(t,a,l)}}var u=a.stateNode;u!==null&&typeof u.componentDidCatch=="function"&&(e.callback=function(){Yd(t,a,l),typeof s!="function"&&(Va===null?Va=new Set([this]):Va.add(this));var m=l.stack;this.componentDidCatch(l.value,{componentStack:m!==null?m:""})})}function gg(e,t,a,l,s){if(a.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){if(t=a.alternate,t!==null&&Gn(t,a,s,!0),a=_t.current,a!==null){switch(a.tag){case 31:case 13:return Yt===null?yi():a.alternate===null&&Ve===0&&(Ve=3),a.flags&=-257,a.flags|=65536,a.lanes=s,l===Zs?a.flags|=16384:(t=a.updateQueue,t===null?a.updateQueue=new Set([l]):t.add(l),Gr(e,l,s)),!1;case 22:return a.flags|=65536,l===Zs?a.flags|=16384:(t=a.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([l])},a.updateQueue=t):(a=t.retryQueue,a===null?t.retryQueue=new Set([l]):a.add(l)),Gr(e,l,s)),!1}throw Error(o(435,a.tag))}return Gr(e,l,s),yi(),!1}if(je)return t=_t.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=s,l!==Rc&&(e=Error(o(422),{cause:l}),kl(qt(e,a)))):(l!==Rc&&(t=Error(o(423),{cause:l}),kl(qt(t,a))),e=e.current.alternate,e.flags|=65536,s&=-s,e.lanes|=s,l=qt(l,a),s=gr(e.stateNode,l,s),Kc(e,s),Ve!==4&&(Ve=2)),!1;var c=Error(o(520),{cause:l});if(c=qt(c,a),Il===null?Il=[c]:Il.push(c),Ve!==4&&(Ve=2),t===null)return!0;l=qt(l,a),a=t;do{switch(a.tag){case 3:return a.flags|=65536,e=s&-s,a.lanes|=e,e=gr(a.stateNode,l,e),Kc(a,e),!1;case 1:if(t=a.type,c=a.stateNode,(a.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||c!==null&&typeof c.componentDidCatch=="function"&&(Va===null||!Va.has(c))))return a.flags|=65536,s&=-s,a.lanes|=s,s=Vd(s),Xd(s,e,a,l),Kc(a,s),!1}a=a.return}while(a!==null);return!1}var pr=Error(o(461)),We=!1;function rt(e,t,a,l){t.child=e===null?$o(t,null,a,l):pn(t,e.child,a,l)}function Kd(e,t,a,l,s){a=a.render;var c=t.ref;if("ref"in l){var u={};for(var m in l)m!=="ref"&&(u[m]=l[m])}else u=l;return mn(t),l=Ic(e,t,a,u,c,s),m=Pc(),e!==null&&!We?(er(e,t,s),pa(e,t,s)):(je&&m&&kc(t),t.flags|=1,rt(e,t,l,s),t.child)}function Zd(e,t,a,l,s){if(e===null){var c=a.type;return typeof c=="function"&&!Dc(c)&&c.defaultProps===void 0&&a.compare===null?(t.tag=15,t.type=c,Fd(e,t,c,l,s)):(e=Gs(a.type,null,l,t,t.mode,s),e.ref=t.ref,e.return=t,t.child=e)}if(c=e.child,!wr(e,s)){var u=c.memoizedProps;if(a=a.compare,a=a!==null?a:Dl,a(u,l)&&e.ref===t.ref)return pa(e,t,s)}return t.flags|=1,e=da(c,l),e.ref=t.ref,e.return=t,t.child=e}function Fd(e,t,a,l,s){if(e!==null){var c=e.memoizedProps;if(Dl(c,l)&&e.ref===t.ref)if(We=!1,t.pendingProps=l=c,wr(e,s))(e.flags&131072)!==0&&(We=!0);else return t.lanes=e.lanes,pa(e,t,s)}return yr(e,t,a,l,s)}function $d(e,t,a,l){var s=l.children,c=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),l.mode==="hidden"){if((t.flags&128)!==0){if(c=c!==null?c.baseLanes|a:a,e!==null){for(l=t.child=e.child,s=0;l!==null;)s=s|l.lanes|l.childLanes,l=l.sibling;l=s&~c}else l=0,t.child=null;return Jd(e,t,c,a,l)}if((a&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Xs(t,c!==null?c.cachePool:null),c!==null?Io(t,c):Fc(),Po(t);else return l=t.lanes=536870912,Jd(e,t,c!==null?c.baseLanes|a:a,a,l)}else c!==null?(Xs(t,c.cachePool),Io(t,c),La(),t.memoizedState=null):(e!==null&&Xs(t,null),Fc(),La());return rt(e,t,s,a),t.child}function Xl(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Jd(e,t,a,l,s){var c=Qc();return c=c===null?null:{parent:$e._currentValue,pool:c},t.memoizedState={baseLanes:a,cachePool:c},e!==null&&Xs(t,null),Fc(),Po(t),e!==null&&Gn(e,t,l,!0),t.childLanes=s,null}function ci(e,t){return t=ui({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Wd(e,t,a){return pn(t,e.child,null,a),e=ci(t,t.pendingProps),e.flags|=2,Mt(t),t.memoizedState=null,e}function pg(e,t,a){var l=t.pendingProps,s=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(je){if(l.mode==="hidden")return e=ci(t,l),t.lanes=536870912,Xl(null,e);if(Jc(t),(e=He)?(e=om(e,Qt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ma!==null?{id:ta,overflow:aa}:null,retryLane:536870912,hydrationErrors:null},a=Oo(e),a.return=t,t.child=a,it=t,He=null)):e=null,e===null)throw Oa(t);return t.lanes=536870912,null}return ci(t,l)}var c=e.memoizedState;if(c!==null){var u=c.dehydrated;if(Jc(t),s)if(t.flags&256)t.flags&=-257,t=Wd(e,t,a);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(o(558));else if(We||Gn(e,t,a,!1),s=(a&e.childLanes)!==0,We||s){if(l=ke,l!==null&&(u=Lu(l,a),u!==0&&u!==c.retryLane))throw c.retryLane=u,un(e,u),Nt(l,e,u),pr;yi(),t=Wd(e,t,a)}else e=c.treeContext,He=Vt(u.nextSibling),it=t,je=!0,ka=null,Qt=!1,e!==null&&Bo(t,e),t=ci(t,l),t.flags|=4096;return t}return e=da(e.child,{mode:l.mode,children:l.children}),e.ref=t.ref,t.child=e,e.return=t,e}function ri(e,t){var a=t.ref;if(a===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof a!="function"&&typeof a!="object")throw Error(o(284));(e===null||e.ref!==a)&&(t.flags|=4194816)}}function yr(e,t,a,l,s){return mn(t),a=Ic(e,t,a,l,void 0,s),l=Pc(),e!==null&&!We?(er(e,t,s),pa(e,t,s)):(je&&l&&kc(t),t.flags|=1,rt(e,t,a,s),t.child)}function Id(e,t,a,l,s,c){return mn(t),t.updateQueue=null,a=td(t,l,a,s),ed(e),l=Pc(),e!==null&&!We?(er(e,t,c),pa(e,t,c)):(je&&l&&kc(t),t.flags|=1,rt(e,t,a,c),t.child)}function Pd(e,t,a,l,s){if(mn(t),t.stateNode===null){var c=Bn,u=a.contextType;typeof u=="object"&&u!==null&&(c=ct(u)),c=new a(l,c),t.memoizedState=c.state!==null&&c.state!==void 0?c.state:null,c.updater=xr,t.stateNode=c,c._reactInternals=t,c=t.stateNode,c.props=l,c.state=t.memoizedState,c.refs={},Vc(t),u=a.contextType,c.context=typeof u=="object"&&u!==null?ct(u):Bn,c.state=t.memoizedState,u=a.getDerivedStateFromProps,typeof u=="function"&&(hr(t,a,u,l),c.state=t.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof c.getSnapshotBeforeUpdate=="function"||typeof c.UNSAFE_componentWillMount!="function"&&typeof c.componentWillMount!="function"||(u=c.state,typeof c.componentWillMount=="function"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount=="function"&&c.UNSAFE_componentWillMount(),u!==c.state&&xr.enqueueReplaceState(c,c.state,null),Ll(t,l,c,s),ql(),c.state=t.memoizedState),typeof c.componentDidMount=="function"&&(t.flags|=4194308),l=!0}else if(e===null){c=t.stateNode;var m=t.memoizedProps,j=vn(a,m);c.props=j;var k=c.context,G=a.contextType;u=Bn,typeof G=="object"&&G!==null&&(u=ct(G));var Z=a.getDerivedStateFromProps;G=typeof Z=="function"||typeof c.getSnapshotBeforeUpdate=="function",m=t.pendingProps!==m,G||typeof c.UNSAFE_componentWillReceiveProps!="function"&&typeof c.componentWillReceiveProps!="function"||(m||k!==u)&&qd(t,c,l,u),Ua=!1;var R=t.memoizedState;c.state=R,Ll(t,l,c,s),ql(),k=t.memoizedState,m||R!==k||Ua?(typeof Z=="function"&&(hr(t,a,Z,l),k=t.memoizedState),(j=Ua||Hd(t,a,j,l,R,k,u))?(G||typeof c.UNSAFE_componentWillMount!="function"&&typeof c.componentWillMount!="function"||(typeof c.componentWillMount=="function"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount=="function"&&c.UNSAFE_componentWillMount()),typeof c.componentDidMount=="function"&&(t.flags|=4194308)):(typeof c.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=l,t.memoizedState=k),c.props=l,c.state=k,c.context=u,l=j):(typeof c.componentDidMount=="function"&&(t.flags|=4194308),l=!1)}else{c=t.stateNode,Xc(e,t),u=t.memoizedProps,G=vn(a,u),c.props=G,Z=t.pendingProps,R=c.context,k=a.contextType,j=Bn,typeof k=="object"&&k!==null&&(j=ct(k)),m=a.getDerivedStateFromProps,(k=typeof m=="function"||typeof c.getSnapshotBeforeUpdate=="function")||typeof c.UNSAFE_componentWillReceiveProps!="function"&&typeof c.componentWillReceiveProps!="function"||(u!==Z||R!==j)&&qd(t,c,l,j),Ua=!1,R=t.memoizedState,c.state=R,Ll(t,l,c,s),ql();var q=t.memoizedState;u!==Z||R!==q||Ua||e!==null&&e.dependencies!==null&&Ys(e.dependencies)?(typeof m=="function"&&(hr(t,a,m,l),q=t.memoizedState),(G=Ua||Hd(t,a,G,l,R,q,j)||e!==null&&e.dependencies!==null&&Ys(e.dependencies))?(k||typeof c.UNSAFE_componentWillUpdate!="function"&&typeof c.componentWillUpdate!="function"||(typeof c.componentWillUpdate=="function"&&c.componentWillUpdate(l,q,j),typeof c.UNSAFE_componentWillUpdate=="function"&&c.UNSAFE_componentWillUpdate(l,q,j)),typeof c.componentDidUpdate=="function"&&(t.flags|=4),typeof c.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof c.componentDidUpdate!="function"||u===e.memoizedProps&&R===e.memoizedState||(t.flags|=4),typeof c.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&R===e.memoizedState||(t.flags|=1024),t.memoizedProps=l,t.memoizedState=q),c.props=l,c.state=q,c.context=j,l=G):(typeof c.componentDidUpdate!="function"||u===e.memoizedProps&&R===e.memoizedState||(t.flags|=4),typeof c.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&R===e.memoizedState||(t.flags|=1024),l=!1)}return c=l,ri(e,t),l=(t.flags&128)!==0,c||l?(c=t.stateNode,a=l&&typeof a.getDerivedStateFromError!="function"?null:c.render(),t.flags|=1,e!==null&&l?(t.child=pn(t,e.child,null,s),t.child=pn(t,null,a,s)):rt(e,t,a,s),t.memoizedState=c.state,e=t.child):e=pa(e,t,s),e}function ef(e,t,a,l){return dn(),t.flags|=256,rt(e,t,a,l),t.child}var vr={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function br(e){return{baseLanes:e,cachePool:Yo()}}function jr(e,t,a){return e=e!==null?e.childLanes&~a:0,t&&(e|=Ot),e}function tf(e,t,a){var l=t.pendingProps,s=!1,c=(t.flags&128)!==0,u;if((u=c)||(u=e!==null&&e.memoizedState===null?!1:(Xe.current&2)!==0),u&&(s=!0,t.flags&=-129),u=(t.flags&32)!==0,t.flags&=-33,e===null){if(je){if(s?qa(t):La(),(e=He)?(e=om(e,Qt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ma!==null?{id:ta,overflow:aa}:null,retryLane:536870912,hydrationErrors:null},a=Oo(e),a.return=t,t.child=a,it=t,He=null)):e=null,e===null)throw Oa(t);return nu(e)?t.lanes=32:t.lanes=536870912,null}var m=l.children;return l=l.fallback,s?(La(),s=t.mode,m=ui({mode:"hidden",children:m},s),l=on(l,s,a,null),m.return=t,l.return=t,m.sibling=l,t.child=m,l=t.child,l.memoizedState=br(a),l.childLanes=jr(e,u,a),t.memoizedState=vr,Xl(null,l)):(qa(t),Sr(t,m))}var j=e.memoizedState;if(j!==null&&(m=j.dehydrated,m!==null)){if(c)t.flags&256?(qa(t),t.flags&=-257,t=Nr(e,t,a)):t.memoizedState!==null?(La(),t.child=e.child,t.flags|=128,t=null):(La(),m=l.fallback,s=t.mode,l=ui({mode:"visible",children:l.children},s),m=on(m,s,a,null),m.flags|=2,l.return=t,m.return=t,l.sibling=m,t.child=l,pn(t,e.child,null,a),l=t.child,l.memoizedState=br(a),l.childLanes=jr(e,u,a),t.memoizedState=vr,t=Xl(null,l));else if(qa(t),nu(m)){if(u=m.nextSibling&&m.nextSibling.dataset,u)var k=u.dgst;u=k,l=Error(o(419)),l.stack="",l.digest=u,kl({value:l,source:null,stack:null}),t=Nr(e,t,a)}else if(We||Gn(e,t,a,!1),u=(a&e.childLanes)!==0,We||u){if(u=ke,u!==null&&(l=Lu(u,a),l!==0&&l!==j.retryLane))throw j.retryLane=l,un(e,l),Nt(u,e,l),pr;au(m)||yi(),t=Nr(e,t,a)}else au(m)?(t.flags|=192,t.child=e.child,t=null):(e=j.treeContext,He=Vt(m.nextSibling),it=t,je=!0,ka=null,Qt=!1,e!==null&&Bo(t,e),t=Sr(t,l.children),t.flags|=4096);return t}return s?(La(),m=l.fallback,s=t.mode,j=e.child,k=j.sibling,l=da(j,{mode:"hidden",children:l.children}),l.subtreeFlags=j.subtreeFlags&65011712,k!==null?m=da(k,m):(m=on(m,s,a,null),m.flags|=2),m.return=t,l.return=t,l.sibling=m,t.child=l,Xl(null,l),l=t.child,m=e.child.memoizedState,m===null?m=br(a):(s=m.cachePool,s!==null?(j=$e._currentValue,s=s.parent!==j?{parent:j,pool:j}:s):s=Yo(),m={baseLanes:m.baseLanes|a,cachePool:s}),l.memoizedState=m,l.childLanes=jr(e,u,a),t.memoizedState=vr,Xl(e.child,l)):(qa(t),a=e.child,e=a.sibling,a=da(a,{mode:"visible",children:l.children}),a.return=t,a.sibling=null,e!==null&&(u=t.deletions,u===null?(t.deletions=[e],t.flags|=16):u.push(e)),t.child=a,t.memoizedState=null,a)}function Sr(e,t){return t=ui({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function ui(e,t){return e=Dt(22,e,null,t),e.lanes=0,e}function Nr(e,t,a){return pn(t,e.child,null,a),e=Sr(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function af(e,t,a){e.lanes|=t;var l=e.alternate;l!==null&&(l.lanes|=t),Hc(e.return,t,a)}function Cr(e,t,a,l,s,c){var u=e.memoizedState;u===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:l,tail:a,tailMode:s,treeForkCount:c}:(u.isBackwards=t,u.rendering=null,u.renderingStartTime=0,u.last=l,u.tail=a,u.tailMode=s,u.treeForkCount=c)}function nf(e,t,a){var l=t.pendingProps,s=l.revealOrder,c=l.tail;l=l.children;var u=Xe.current,m=(u&2)!==0;if(m?(u=u&1|2,t.flags|=128):u&=1,ie(Xe,u),rt(e,t,l,a),l=je?Ml:0,!m&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&af(e,a,t);else if(e.tag===19)af(e,a,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(s){case"forwards":for(a=t.child,s=null;a!==null;)e=a.alternate,e!==null&&Ws(e)===null&&(s=a),a=a.sibling;a=s,a===null?(s=t.child,t.child=null):(s=a.sibling,a.sibling=null),Cr(t,!1,s,a,c,l);break;case"backwards":case"unstable_legacy-backwards":for(a=null,s=t.child,t.child=null;s!==null;){if(e=s.alternate,e!==null&&Ws(e)===null){t.child=s;break}e=s.sibling,s.sibling=a,a=s,s=e}Cr(t,!0,a,null,c,l);break;case"together":Cr(t,!1,null,null,void 0,l);break;default:t.memoizedState=null}return t.child}function pa(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),Ya|=t.lanes,(a&t.childLanes)===0)if(e!==null){if(Gn(e,t,a,!1),(a&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(o(153));if(t.child!==null){for(e=t.child,a=da(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=da(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function wr(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&Ys(e)))}function yg(e,t,a){switch(t.tag){case 3:ca(t,t.stateNode.containerInfo),Ra(t,$e,e.memoizedState.cache),dn();break;case 27:case 5:de(t);break;case 4:ca(t,t.stateNode.containerInfo);break;case 10:Ra(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Jc(t),null;break;case 13:var l=t.memoizedState;if(l!==null)return l.dehydrated!==null?(qa(t),t.flags|=128,null):(a&t.child.childLanes)!==0?tf(e,t,a):(qa(t),e=pa(e,t,a),e!==null?e.sibling:null);qa(t);break;case 19:var s=(e.flags&128)!==0;if(l=(a&t.childLanes)!==0,l||(Gn(e,t,a,!1),l=(a&t.childLanes)!==0),s){if(l)return nf(e,t,a);t.flags|=128}if(s=t.memoizedState,s!==null&&(s.rendering=null,s.tail=null,s.lastEffect=null),ie(Xe,Xe.current),l)break;return null;case 22:return t.lanes=0,$d(e,t,a,t.pendingProps);case 24:Ra(t,$e,e.memoizedState.cache)}return pa(e,t,a)}function lf(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps)We=!0;else{if(!wr(e,a)&&(t.flags&128)===0)return We=!1,yg(e,t,a);We=(e.flags&131072)!==0}else We=!1,je&&(t.flags&1048576)!==0&&Uo(t,Ml,t.index);switch(t.lanes=0,t.tag){case 16:e:{var l=t.pendingProps;if(e=xn(t.elementType),t.type=e,typeof e=="function")Dc(e)?(l=vn(e,l),t.tag=1,t=Pd(null,t,e,l,a)):(t.tag=0,t=yr(null,t,e,l,a));else{if(e!=null){var s=e.$$typeof;if(s===L){t.tag=11,t=Kd(null,t,e,l,a);break e}else if(s===K){t.tag=14,t=Zd(null,t,e,l,a);break e}}throw t=X(e)||e,Error(o(306,t,""))}}return t;case 0:return yr(e,t,t.type,t.pendingProps,a);case 1:return l=t.type,s=vn(l,t.pendingProps),Pd(e,t,l,s,a);case 3:e:{if(ca(t,t.stateNode.containerInfo),e===null)throw Error(o(387));l=t.pendingProps;var c=t.memoizedState;s=c.element,Xc(e,t),Ll(t,l,null,a);var u=t.memoizedState;if(l=u.cache,Ra(t,$e,l),l!==c.cache&&qc(t,[$e],a,!0),ql(),l=u.element,c.isDehydrated)if(c={element:l,isDehydrated:!1,cache:u.cache},t.updateQueue.baseState=c,t.memoizedState=c,t.flags&256){t=ef(e,t,l,a);break e}else if(l!==s){s=qt(Error(o(424)),t),kl(s),t=ef(e,t,l,a);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,He=Vt(e.firstChild),it=t,je=!0,ka=null,Qt=!0,a=$o(t,null,l,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(dn(),l===s){t=pa(e,t,a);break e}rt(e,t,l,a)}t=t.child}return t;case 26:return ri(e,t),e===null?(a=gm(t.type,null,t.pendingProps,null))?t.memoizedState=a:je||(a=t.type,e=t.pendingProps,l=wi(ht.current).createElement(a),l[st]=t,l[pt]=e,ut(l,a,e),tt(l),t.stateNode=l):t.memoizedState=gm(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return de(t),e===null&&je&&(l=t.stateNode=mm(t.type,t.pendingProps,ht.current),it=t,Qt=!0,s=He,Fa(t.type)?(lu=s,He=Vt(l.firstChild)):He=s),rt(e,t,t.pendingProps.children,a),ri(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&je&&((s=l=He)&&(l=Fg(l,t.type,t.pendingProps,Qt),l!==null?(t.stateNode=l,it=t,He=Vt(l.firstChild),Qt=!1,s=!0):s=!1),s||Oa(t)),de(t),s=t.type,c=t.pendingProps,u=e!==null?e.memoizedProps:null,l=c.children,Pr(s,c)?l=null:u!==null&&Pr(s,u)&&(t.flags|=32),t.memoizedState!==null&&(s=Ic(e,t,ug,null,null,a),is._currentValue=s),ri(e,t),rt(e,t,l,a),t.child;case 6:return e===null&&je&&((e=a=He)&&(a=$g(a,t.pendingProps,Qt),a!==null?(t.stateNode=a,it=t,He=null,e=!0):e=!1),e||Oa(t)),null;case 13:return tf(e,t,a);case 4:return ca(t,t.stateNode.containerInfo),l=t.pendingProps,e===null?t.child=pn(t,null,l,a):rt(e,t,l,a),t.child;case 11:return Kd(e,t,t.type,t.pendingProps,a);case 7:return rt(e,t,t.pendingProps,a),t.child;case 8:return rt(e,t,t.pendingProps.children,a),t.child;case 12:return rt(e,t,t.pendingProps.children,a),t.child;case 10:return l=t.pendingProps,Ra(t,t.type,l.value),rt(e,t,l.children,a),t.child;case 9:return s=t.type._context,l=t.pendingProps.children,mn(t),s=ct(s),l=l(s),t.flags|=1,rt(e,t,l,a),t.child;case 14:return Zd(e,t,t.type,t.pendingProps,a);case 15:return Fd(e,t,t.type,t.pendingProps,a);case 19:return nf(e,t,a);case 31:return pg(e,t,a);case 22:return $d(e,t,a,t.pendingProps);case 24:return mn(t),l=ct($e),e===null?(s=Qc(),s===null&&(s=ke,c=Lc(),s.pooledCache=c,c.refCount++,c!==null&&(s.pooledCacheLanes|=a),s=c),t.memoizedState={parent:l,cache:s},Vc(t),Ra(t,$e,s)):((e.lanes&a)!==0&&(Xc(e,t),Ll(t,null,null,a),ql()),s=e.memoizedState,c=t.memoizedState,s.parent!==l?(s={parent:l,cache:l},t.memoizedState=s,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=s),Ra(t,$e,l)):(l=c.cache,Ra(t,$e,l),l!==s.cache&&qc(t,[$e],a,!0))),rt(e,t,t.pendingProps.children,a),t.child;case 29:throw t.pendingProps}throw Error(o(156,t.tag))}function ya(e){e.flags|=4}function zr(e,t,a,l,s){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(s&335544128)===s)if(e.stateNode.complete)e.flags|=8192;else if(Mf())e.flags|=8192;else throw gn=Zs,Yc}else e.flags&=-16777217}function sf(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!jm(t))if(Mf())e.flags|=8192;else throw gn=Zs,Yc}function oi(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Bu():536870912,e.lanes|=t,Pn|=t)}function Kl(e,t){if(!je)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var l=null;a!==null;)a.alternate!==null&&(l=a),a=a.sibling;l===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:l.sibling=null}}function qe(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,l=0;if(t)for(var s=e.child;s!==null;)a|=s.lanes|s.childLanes,l|=s.subtreeFlags&65011712,l|=s.flags&65011712,s.return=e,s=s.sibling;else for(s=e.child;s!==null;)a|=s.lanes|s.childLanes,l|=s.subtreeFlags,l|=s.flags,s.return=e,s=s.sibling;return e.subtreeFlags|=l,e.childLanes=a,t}function vg(e,t,a){var l=t.pendingProps;switch(Oc(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return qe(t),null;case 1:return qe(t),null;case 3:return a=t.stateNode,l=null,e!==null&&(l=e.memoizedState.cache),t.memoizedState.cache!==l&&(t.flags|=2048),ha($e),ne(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(Ln(t)?ya(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Uc())),qe(t),null;case 26:var s=t.type,c=t.memoizedState;return e===null?(ya(t),c!==null?(qe(t),sf(t,c)):(qe(t),zr(t,s,null,l,a))):c?c!==e.memoizedState?(ya(t),qe(t),sf(t,c)):(qe(t),t.flags&=-16777217):(e=e.memoizedProps,e!==l&&ya(t),qe(t),zr(t,s,e,l,a)),null;case 27:if(Be(t),a=ht.current,s=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==l&&ya(t);else{if(!l){if(t.stateNode===null)throw Error(o(166));return qe(t),null}e=Ue.current,Ln(t)?Ho(t):(e=mm(s,l,a),t.stateNode=e,ya(t))}return qe(t),null;case 5:if(Be(t),s=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==l&&ya(t);else{if(!l){if(t.stateNode===null)throw Error(o(166));return qe(t),null}if(c=Ue.current,Ln(t))Ho(t);else{var u=wi(ht.current);switch(c){case 1:c=u.createElementNS("http://www.w3.org/2000/svg",s);break;case 2:c=u.createElementNS("http://www.w3.org/1998/Math/MathML",s);break;default:switch(s){case"svg":c=u.createElementNS("http://www.w3.org/2000/svg",s);break;case"math":c=u.createElementNS("http://www.w3.org/1998/Math/MathML",s);break;case"script":c=u.createElement("div"),c.innerHTML="<script><\/script>",c=c.removeChild(c.firstChild);break;case"select":c=typeof l.is=="string"?u.createElement("select",{is:l.is}):u.createElement("select"),l.multiple?c.multiple=!0:l.size&&(c.size=l.size);break;default:c=typeof l.is=="string"?u.createElement(s,{is:l.is}):u.createElement(s)}}c[st]=t,c[pt]=l;e:for(u=t.child;u!==null;){if(u.tag===5||u.tag===6)c.appendChild(u.stateNode);else if(u.tag!==4&&u.tag!==27&&u.child!==null){u.child.return=u,u=u.child;continue}if(u===t)break e;for(;u.sibling===null;){if(u.return===null||u.return===t)break e;u=u.return}u.sibling.return=u.return,u=u.sibling}t.stateNode=c;e:switch(ut(c,s,l),s){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&ya(t)}}return qe(t),zr(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==l&&ya(t);else{if(typeof l!="string"&&t.stateNode===null)throw Error(o(166));if(e=ht.current,Ln(t)){if(e=t.stateNode,a=t.memoizedProps,l=null,s=it,s!==null)switch(s.tag){case 27:case 5:l=s.memoizedProps}e[st]=t,e=!!(e.nodeValue===a||l!==null&&l.suppressHydrationWarning===!0||am(e.nodeValue,a)),e||Oa(t,!0)}else e=wi(e).createTextNode(l),e[st]=t,t.stateNode=e}return qe(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(l=Ln(t),a!==null){if(e===null){if(!l)throw Error(o(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(557));e[st]=t}else dn(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;qe(t),e=!1}else a=Uc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(Mt(t),t):(Mt(t),null);if((t.flags&128)!==0)throw Error(o(558))}return qe(t),null;case 13:if(l=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(s=Ln(t),l!==null&&l.dehydrated!==null){if(e===null){if(!s)throw Error(o(318));if(s=t.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(o(317));s[st]=t}else dn(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;qe(t),s=!1}else s=Uc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=s),s=!0;if(!s)return t.flags&256?(Mt(t),t):(Mt(t),null)}return Mt(t),(t.flags&128)!==0?(t.lanes=a,t):(a=l!==null,e=e!==null&&e.memoizedState!==null,a&&(l=t.child,s=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(s=l.alternate.memoizedState.cachePool.pool),c=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(c=l.memoizedState.cachePool.pool),c!==s&&(l.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),oi(t,t.updateQueue),qe(t),null);case 4:return ne(),e===null&&Fr(t.stateNode.containerInfo),qe(t),null;case 10:return ha(t.type),qe(t),null;case 19:if(ae(Xe),l=t.memoizedState,l===null)return qe(t),null;if(s=(t.flags&128)!==0,c=l.rendering,c===null)if(s)Kl(l,!1);else{if(Ve!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(c=Ws(e),c!==null){for(t.flags|=128,Kl(l,!1),e=c.updateQueue,t.updateQueue=e,oi(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)ko(a,e),a=a.sibling;return ie(Xe,Xe.current&1|2),je&&fa(t,l.treeForkCount),t.child}e=e.sibling}l.tail!==null&&zt()>xi&&(t.flags|=128,s=!0,Kl(l,!1),t.lanes=4194304)}else{if(!s)if(e=Ws(c),e!==null){if(t.flags|=128,s=!0,e=e.updateQueue,t.updateQueue=e,oi(t,e),Kl(l,!0),l.tail===null&&l.tailMode==="hidden"&&!c.alternate&&!je)return qe(t),null}else 2*zt()-l.renderingStartTime>xi&&a!==536870912&&(t.flags|=128,s=!0,Kl(l,!1),t.lanes=4194304);l.isBackwards?(c.sibling=t.child,t.child=c):(e=l.last,e!==null?e.sibling=c:t.child=c,l.last=c)}return l.tail!==null?(e=l.tail,l.rendering=e,l.tail=e.sibling,l.renderingStartTime=zt(),e.sibling=null,a=Xe.current,ie(Xe,s?a&1|2:a&1),je&&fa(t,l.treeForkCount),e):(qe(t),null);case 22:case 23:return Mt(t),$c(),l=t.memoizedState!==null,e!==null?e.memoizedState!==null!==l&&(t.flags|=8192):l&&(t.flags|=8192),l?(a&536870912)!==0&&(t.flags&128)===0&&(qe(t),t.subtreeFlags&6&&(t.flags|=8192)):qe(t),a=t.updateQueue,a!==null&&oi(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),l=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(l=t.memoizedState.cachePool.pool),l!==a&&(t.flags|=2048),e!==null&&ae(hn),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),ha($e),qe(t),null;case 25:return null;case 30:return null}throw Error(o(156,t.tag))}function bg(e,t){switch(Oc(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ha($e),ne(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Be(t),null;case 31:if(t.memoizedState!==null){if(Mt(t),t.alternate===null)throw Error(o(340));dn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Mt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(o(340));dn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ae(Xe),null;case 4:return ne(),null;case 10:return ha(t.type),null;case 22:case 23:return Mt(t),$c(),e!==null&&ae(hn),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ha($e),null;case 25:return null;default:return null}}function cf(e,t){switch(Oc(t),t.tag){case 3:ha($e),ne();break;case 26:case 27:case 5:Be(t);break;case 4:ne();break;case 31:t.memoizedState!==null&&Mt(t);break;case 13:Mt(t);break;case 19:ae(Xe);break;case 10:ha(t.type);break;case 22:case 23:Mt(t),$c(),e!==null&&ae(hn);break;case 24:ha($e)}}function Zl(e,t){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var s=l.next;a=s;do{if((a.tag&e)===e){l=void 0;var c=a.create,u=a.inst;l=c(),u.destroy=l}a=a.next}while(a!==s)}}catch(m){Ee(t,t.return,m)}}function Ga(e,t,a){try{var l=t.updateQueue,s=l!==null?l.lastEffect:null;if(s!==null){var c=s.next;l=c;do{if((l.tag&e)===e){var u=l.inst,m=u.destroy;if(m!==void 0){u.destroy=void 0,s=t;var j=a,k=m;try{k()}catch(G){Ee(s,j,G)}}}l=l.next}while(l!==c)}}catch(G){Ee(t,t.return,G)}}function rf(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{Wo(t,a)}catch(l){Ee(e,e.return,l)}}}function uf(e,t,a){a.props=vn(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(l){Ee(e,t,l)}}function Fl(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var l=e.stateNode;break;case 30:l=e.stateNode;break;default:l=e.stateNode}typeof a=="function"?e.refCleanup=a(l):a.current=l}}catch(s){Ee(e,t,s)}}function na(e,t){var a=e.ref,l=e.refCleanup;if(a!==null)if(typeof l=="function")try{l()}catch(s){Ee(e,t,s)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(s){Ee(e,t,s)}else a.current=null}function of(e){var t=e.type,a=e.memoizedProps,l=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&l.focus();break e;case"img":a.src?l.src=a.src:a.srcSet&&(l.srcset=a.srcSet)}}catch(s){Ee(e,e.return,s)}}function Tr(e,t,a){try{var l=e.stateNode;Qg(l,e.type,a,t),l[pt]=t}catch(s){Ee(e,e.return,s)}}function df(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Fa(e.type)||e.tag===4}function Er(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||df(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&&Fa(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 Ar(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=ua));else if(l!==4&&(l===27&&Fa(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(Ar(e,t,a),e=e.sibling;e!==null;)Ar(e,t,a),e=e.sibling}function di(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(l!==4&&(l===27&&Fa(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(di(e,t,a),e=e.sibling;e!==null;)di(e,t,a),e=e.sibling}function ff(e){var t=e.stateNode,a=e.memoizedProps;try{for(var l=e.type,s=t.attributes;s.length;)t.removeAttributeNode(s[0]);ut(t,l,a),t[st]=e,t[pt]=a}catch(c){Ee(e,e.return,c)}}var va=!1,Ie=!1,Dr=!1,mf=typeof WeakSet=="function"?WeakSet:Set,at=null;function jg(e,t){if(e=e.containerInfo,Wr=Mi,e=Co(e),Nc(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var l=a.getSelection&&a.getSelection();if(l&&l.rangeCount!==0){a=l.anchorNode;var s=l.anchorOffset,c=l.focusNode;l=l.focusOffset;try{a.nodeType,c.nodeType}catch{a=null;break e}var u=0,m=-1,j=-1,k=0,G=0,Z=e,R=null;t:for(;;){for(var q;Z!==a||s!==0&&Z.nodeType!==3||(m=u+s),Z!==c||l!==0&&Z.nodeType!==3||(j=u+l),Z.nodeType===3&&(u+=Z.nodeValue.length),(q=Z.firstChild)!==null;)R=Z,Z=q;for(;;){if(Z===e)break t;if(R===a&&++k===s&&(m=u),R===c&&++G===l&&(j=u),(q=Z.nextSibling)!==null)break;Z=R,R=Z.parentNode}Z=q}a=m===-1||j===-1?null:{start:m,end:j}}else a=null}a=a||{start:0,end:0}}else a=null;for(Ir={focusedElem:e,selectionRange:a},Mi=!1,at=t;at!==null;)if(t=at,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,at=e;else for(;at!==null;){switch(t=at,c=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a<e.length;a++)s=e[a],s.ref.impl=s.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&c!==null){e=void 0,a=t,s=c.memoizedProps,c=c.memoizedState,l=a.stateNode;try{var se=vn(a.type,s);e=l.getSnapshotBeforeUpdate(se,c),l.__reactInternalSnapshotBeforeUpdate=e}catch(oe){Ee(a,a.return,oe)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,a=e.nodeType,a===9)tu(e);else if(a===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":tu(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(o(163))}if(e=t.sibling,e!==null){e.return=t.return,at=e;break}at=t.return}}function hf(e,t,a){var l=a.flags;switch(a.tag){case 0:case 11:case 15:ja(e,a),l&4&&Zl(5,a);break;case 1:if(ja(e,a),l&4)if(e=a.stateNode,t===null)try{e.componentDidMount()}catch(u){Ee(a,a.return,u)}else{var s=vn(a.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(s,t,e.__reactInternalSnapshotBeforeUpdate)}catch(u){Ee(a,a.return,u)}}l&64&&rf(a),l&512&&Fl(a,a.return);break;case 3:if(ja(e,a),l&64&&(e=a.updateQueue,e!==null)){if(t=null,a.child!==null)switch(a.child.tag){case 27:case 5:t=a.child.stateNode;break;case 1:t=a.child.stateNode}try{Wo(e,t)}catch(u){Ee(a,a.return,u)}}break;case 27:t===null&&l&4&&ff(a);case 26:case 5:ja(e,a),t===null&&l&4&&of(a),l&512&&Fl(a,a.return);break;case 12:ja(e,a);break;case 31:ja(e,a),l&4&&pf(e,a);break;case 13:ja(e,a),l&4&&yf(e,a),l&64&&(e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(a=Dg.bind(null,a),Jg(e,a))));break;case 22:if(l=a.memoizedState!==null||va,!l){t=t!==null&&t.memoizedState!==null||Ie,s=va;var c=Ie;va=l,(Ie=t)&&!c?Sa(e,a,(a.subtreeFlags&8772)!==0):ja(e,a),va=s,Ie=c}break;case 30:break;default:ja(e,a)}}function xf(e){var t=e.alternate;t!==null&&(e.alternate=null,xf(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&ic(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Le=null,vt=!1;function ba(e,t,a){for(a=a.child;a!==null;)gf(e,t,a),a=a.sibling}function gf(e,t,a){if(Tt&&typeof Tt.onCommitFiberUnmount=="function")try{Tt.onCommitFiberUnmount(yl,a)}catch{}switch(a.tag){case 26:Ie||na(a,t),ba(e,t,a),a.memoizedState?a.memoizedState.count--:a.stateNode&&(a=a.stateNode,a.parentNode.removeChild(a));break;case 27:Ie||na(a,t);var l=Le,s=vt;Fa(a.type)&&(Le=a.stateNode,vt=!1),ba(e,t,a),ns(a.stateNode),Le=l,vt=s;break;case 5:Ie||na(a,t);case 6:if(l=Le,s=vt,Le=null,ba(e,t,a),Le=l,vt=s,Le!==null)if(vt)try{(Le.nodeType===9?Le.body:Le.nodeName==="HTML"?Le.ownerDocument.body:Le).removeChild(a.stateNode)}catch(c){Ee(a,t,c)}else try{Le.removeChild(a.stateNode)}catch(c){Ee(a,t,c)}break;case 18:Le!==null&&(vt?(e=Le,rm(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,a.stateNode),cl(e)):rm(Le,a.stateNode));break;case 4:l=Le,s=vt,Le=a.stateNode.containerInfo,vt=!0,ba(e,t,a),Le=l,vt=s;break;case 0:case 11:case 14:case 15:Ga(2,a,t),Ie||Ga(4,a,t),ba(e,t,a);break;case 1:Ie||(na(a,t),l=a.stateNode,typeof l.componentWillUnmount=="function"&&uf(a,t,l)),ba(e,t,a);break;case 21:ba(e,t,a);break;case 22:Ie=(l=Ie)||a.memoizedState!==null,ba(e,t,a),Ie=l;break;default:ba(e,t,a)}}function pf(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{cl(e)}catch(a){Ee(t,t.return,a)}}}function yf(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{cl(e)}catch(a){Ee(t,t.return,a)}}function Sg(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new mf),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new mf),t;default:throw Error(o(435,e.tag))}}function fi(e,t){var a=Sg(e);t.forEach(function(l){if(!a.has(l)){a.add(l);var s=_g.bind(null,e,l);l.then(s,s)}})}function bt(e,t){var a=t.deletions;if(a!==null)for(var l=0;l<a.length;l++){var s=a[l],c=e,u=t,m=u;e:for(;m!==null;){switch(m.tag){case 27:if(Fa(m.type)){Le=m.stateNode,vt=!1;break e}break;case 5:Le=m.stateNode,vt=!1;break e;case 3:case 4:Le=m.stateNode.containerInfo,vt=!0;break e}m=m.return}if(Le===null)throw Error(o(160));gf(c,u,s),Le=null,vt=!1,c=s.alternate,c!==null&&(c.return=null),s.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)vf(t,e),t=t.sibling}var Ft=null;function vf(e,t){var a=e.alternate,l=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:bt(t,e),jt(e),l&4&&(Ga(3,e,e.return),Zl(3,e),Ga(5,e,e.return));break;case 1:bt(t,e),jt(e),l&512&&(Ie||a===null||na(a,a.return)),l&64&&va&&(e=e.updateQueue,e!==null&&(l=e.callbacks,l!==null&&(a=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=a===null?l:a.concat(l))));break;case 26:var s=Ft;if(bt(t,e),jt(e),l&512&&(Ie||a===null||na(a,a.return)),l&4){var c=a!==null?a.memoizedState:null;if(l=e.memoizedState,a===null)if(l===null)if(e.stateNode===null){e:{l=e.type,a=e.memoizedProps,s=s.ownerDocument||s;t:switch(l){case"title":c=s.getElementsByTagName("title")[0],(!c||c[jl]||c[st]||c.namespaceURI==="http://www.w3.org/2000/svg"||c.hasAttribute("itemprop"))&&(c=s.createElement(l),s.head.insertBefore(c,s.querySelector("head > title"))),ut(c,l,a),c[st]=e,tt(c),l=c;break e;case"link":var u=vm("link","href",s).get(l+(a.href||""));if(u){for(var m=0;m<u.length;m++)if(c=u[m],c.getAttribute("href")===(a.href==null||a.href===""?null:a.href)&&c.getAttribute("rel")===(a.rel==null?null:a.rel)&&c.getAttribute("title")===(a.title==null?null:a.title)&&c.getAttribute("crossorigin")===(a.crossOrigin==null?null:a.crossOrigin)){u.splice(m,1);break t}}c=s.createElement(l),ut(c,l,a),s.head.appendChild(c);break;case"meta":if(u=vm("meta","content",s).get(l+(a.content||""))){for(m=0;m<u.length;m++)if(c=u[m],c.getAttribute("content")===(a.content==null?null:""+a.content)&&c.getAttribute("name")===(a.name==null?null:a.name)&&c.getAttribute("property")===(a.property==null?null:a.property)&&c.getAttribute("http-equiv")===(a.httpEquiv==null?null:a.httpEquiv)&&c.getAttribute("charset")===(a.charSet==null?null:a.charSet)){u.splice(m,1);break t}}c=s.createElement(l),ut(c,l,a),s.head.appendChild(c);break;default:throw Error(o(468,l))}c[st]=e,tt(c),l=c}e.stateNode=l}else bm(s,e.type,e.stateNode);else e.stateNode=ym(s,l,e.memoizedProps);else c!==l?(c===null?a.stateNode!==null&&(a=a.stateNode,a.parentNode.removeChild(a)):c.count--,l===null?bm(s,e.type,e.stateNode):ym(s,l,e.memoizedProps)):l===null&&e.stateNode!==null&&Tr(e,e.memoizedProps,a.memoizedProps)}break;case 27:bt(t,e),jt(e),l&512&&(Ie||a===null||na(a,a.return)),a!==null&&l&4&&Tr(e,e.memoizedProps,a.memoizedProps);break;case 5:if(bt(t,e),jt(e),l&512&&(Ie||a===null||na(a,a.return)),e.flags&32){s=e.stateNode;try{Dn(s,"")}catch(se){Ee(e,e.return,se)}}l&4&&e.stateNode!=null&&(s=e.memoizedProps,Tr(e,s,a!==null?a.memoizedProps:s)),l&1024&&(Dr=!0);break;case 6:if(bt(t,e),jt(e),l&4){if(e.stateNode===null)throw Error(o(162));l=e.memoizedProps,a=e.stateNode;try{a.nodeValue=l}catch(se){Ee(e,e.return,se)}}break;case 3:if(Ei=null,s=Ft,Ft=zi(t.containerInfo),bt(t,e),Ft=s,jt(e),l&4&&a!==null&&a.memoizedState.isDehydrated)try{cl(t.containerInfo)}catch(se){Ee(e,e.return,se)}Dr&&(Dr=!1,bf(e));break;case 4:l=Ft,Ft=zi(e.stateNode.containerInfo),bt(t,e),jt(e),Ft=l;break;case 12:bt(t,e),jt(e);break;case 31:bt(t,e),jt(e),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,fi(e,l)));break;case 13:bt(t,e),jt(e),e.child.flags&8192&&e.memoizedState!==null!=(a!==null&&a.memoizedState!==null)&&(hi=zt()),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,fi(e,l)));break;case 22:s=e.memoizedState!==null;var j=a!==null&&a.memoizedState!==null,k=va,G=Ie;if(va=k||s,Ie=G||j,bt(t,e),Ie=G,va=k,jt(e),l&8192)e:for(t=e.stateNode,t._visibility=s?t._visibility&-2:t._visibility|1,s&&(a===null||j||va||Ie||bn(e)),a=null,t=e;;){if(t.tag===5||t.tag===26){if(a===null){j=a=t;try{if(c=j.stateNode,s)u=c.style,typeof u.setProperty=="function"?u.setProperty("display","none","important"):u.display="none";else{m=j.stateNode;var Z=j.memoizedProps.style,R=Z!=null&&Z.hasOwnProperty("display")?Z.display:null;m.style.display=R==null||typeof R=="boolean"?"":(""+R).trim()}}catch(se){Ee(j,j.return,se)}}}else if(t.tag===6){if(a===null){j=t;try{j.stateNode.nodeValue=s?"":j.memoizedProps}catch(se){Ee(j,j.return,se)}}}else if(t.tag===18){if(a===null){j=t;try{var q=j.stateNode;s?um(q,!0):um(j.stateNode,!1)}catch(se){Ee(j,j.return,se)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;a===t&&(a=null),t=t.return}a===t&&(a=null),t.sibling.return=t.return,t=t.sibling}l&4&&(l=e.updateQueue,l!==null&&(a=l.retryQueue,a!==null&&(l.retryQueue=null,fi(e,a))));break;case 19:bt(t,e),jt(e),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,fi(e,l)));break;case 30:break;case 21:break;default:bt(t,e),jt(e)}}function jt(e){var t=e.flags;if(t&2){try{for(var a,l=e.return;l!==null;){if(df(l)){a=l;break}l=l.return}if(a==null)throw Error(o(160));switch(a.tag){case 27:var s=a.stateNode,c=Er(e);di(e,c,s);break;case 5:var u=a.stateNode;a.flags&32&&(Dn(u,""),a.flags&=-33);var m=Er(e);di(e,m,u);break;case 3:case 4:var j=a.stateNode.containerInfo,k=Er(e);Ar(e,k,j);break;default:throw Error(o(161))}}catch(G){Ee(e,e.return,G)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function bf(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;bf(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function ja(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)hf(e,t.alternate,t),t=t.sibling}function bn(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Ga(4,t,t.return),bn(t);break;case 1:na(t,t.return);var a=t.stateNode;typeof a.componentWillUnmount=="function"&&uf(t,t.return,a),bn(t);break;case 27:ns(t.stateNode);case 26:case 5:na(t,t.return),bn(t);break;case 22:t.memoizedState===null&&bn(t);break;case 30:bn(t);break;default:bn(t)}e=e.sibling}}function Sa(e,t,a){for(a=a&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var l=t.alternate,s=e,c=t,u=c.flags;switch(c.tag){case 0:case 11:case 15:Sa(s,c,a),Zl(4,c);break;case 1:if(Sa(s,c,a),l=c,s=l.stateNode,typeof s.componentDidMount=="function")try{s.componentDidMount()}catch(k){Ee(l,l.return,k)}if(l=c,s=l.updateQueue,s!==null){var m=l.stateNode;try{var j=s.shared.hiddenCallbacks;if(j!==null)for(s.shared.hiddenCallbacks=null,s=0;s<j.length;s++)Jo(j[s],m)}catch(k){Ee(l,l.return,k)}}a&&u&64&&rf(c),Fl(c,c.return);break;case 27:ff(c);case 26:case 5:Sa(s,c,a),a&&l===null&&u&4&&of(c),Fl(c,c.return);break;case 12:Sa(s,c,a);break;case 31:Sa(s,c,a),a&&u&4&&pf(s,c);break;case 13:Sa(s,c,a),a&&u&4&&yf(s,c);break;case 22:c.memoizedState===null&&Sa(s,c,a),Fl(c,c.return);break;case 30:break;default:Sa(s,c,a)}t=t.sibling}}function _r(e,t){var a=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==a&&(e!=null&&e.refCount++,a!=null&&Ol(a))}function Mr(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Ol(e))}function $t(e,t,a,l){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)jf(e,t,a,l),t=t.sibling}function jf(e,t,a,l){var s=t.flags;switch(t.tag){case 0:case 11:case 15:$t(e,t,a,l),s&2048&&Zl(9,t);break;case 1:$t(e,t,a,l);break;case 3:$t(e,t,a,l),s&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Ol(e)));break;case 12:if(s&2048){$t(e,t,a,l),e=t.stateNode;try{var c=t.memoizedProps,u=c.id,m=c.onPostCommit;typeof m=="function"&&m(u,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(j){Ee(t,t.return,j)}}else $t(e,t,a,l);break;case 31:$t(e,t,a,l);break;case 13:$t(e,t,a,l);break;case 23:break;case 22:c=t.stateNode,u=t.alternate,t.memoizedState!==null?c._visibility&2?$t(e,t,a,l):$l(e,t):c._visibility&2?$t(e,t,a,l):(c._visibility|=2,Jn(e,t,a,l,(t.subtreeFlags&10256)!==0||!1)),s&2048&&_r(u,t);break;case 24:$t(e,t,a,l),s&2048&&Mr(t.alternate,t);break;default:$t(e,t,a,l)}}function Jn(e,t,a,l,s){for(s=s&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var c=e,u=t,m=a,j=l,k=u.flags;switch(u.tag){case 0:case 11:case 15:Jn(c,u,m,j,s),Zl(8,u);break;case 23:break;case 22:var G=u.stateNode;u.memoizedState!==null?G._visibility&2?Jn(c,u,m,j,s):$l(c,u):(G._visibility|=2,Jn(c,u,m,j,s)),s&&k&2048&&_r(u.alternate,u);break;case 24:Jn(c,u,m,j,s),s&&k&2048&&Mr(u.alternate,u);break;default:Jn(c,u,m,j,s)}t=t.sibling}}function $l(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var a=e,l=t,s=l.flags;switch(l.tag){case 22:$l(a,l),s&2048&&_r(l.alternate,l);break;case 24:$l(a,l),s&2048&&Mr(l.alternate,l);break;default:$l(a,l)}t=t.sibling}}var Jl=8192;function Wn(e,t,a){if(e.subtreeFlags&Jl)for(e=e.child;e!==null;)Sf(e,t,a),e=e.sibling}function Sf(e,t,a){switch(e.tag){case 26:Wn(e,t,a),e.flags&Jl&&e.memoizedState!==null&&rp(a,Ft,e.memoizedState,e.memoizedProps);break;case 5:Wn(e,t,a);break;case 3:case 4:var l=Ft;Ft=zi(e.stateNode.containerInfo),Wn(e,t,a),Ft=l;break;case 22:e.memoizedState===null&&(l=e.alternate,l!==null&&l.memoizedState!==null?(l=Jl,Jl=16777216,Wn(e,t,a),Jl=l):Wn(e,t,a));break;default:Wn(e,t,a)}}function Nf(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Wl(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var l=t[a];at=l,wf(l,e)}Nf(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Cf(e),e=e.sibling}function Cf(e){switch(e.tag){case 0:case 11:case 15:Wl(e),e.flags&2048&&Ga(9,e,e.return);break;case 3:Wl(e);break;case 12:Wl(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,mi(e)):Wl(e);break;default:Wl(e)}}function mi(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var l=t[a];at=l,wf(l,e)}Nf(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Ga(8,t,t.return),mi(t);break;case 22:a=t.stateNode,a._visibility&2&&(a._visibility&=-3,mi(t));break;default:mi(t)}e=e.sibling}}function wf(e,t){for(;at!==null;){var a=at;switch(a.tag){case 0:case 11:case 15:Ga(8,a,t);break;case 23:case 22:if(a.memoizedState!==null&&a.memoizedState.cachePool!==null){var l=a.memoizedState.cachePool.pool;l!=null&&l.refCount++}break;case 24:Ol(a.memoizedState.cache)}if(l=a.child,l!==null)l.return=a,at=l;else e:for(a=e;at!==null;){l=at;var s=l.sibling,c=l.return;if(xf(l),l===a){at=null;break e}if(s!==null){s.return=c,at=s;break e}at=c}}}var Ng={getCacheForType:function(e){var t=ct($e),a=t.data.get(e);return a===void 0&&(a=e(),t.data.set(e,a)),a},cacheSignal:function(){return ct($e).controller.signal}},Cg=typeof WeakMap=="function"?WeakMap:Map,we=0,ke=null,ge=null,ye=0,Te=0,kt=null,Qa=!1,In=!1,kr=!1,Na=0,Ve=0,Ya=0,jn=0,Or=0,Ot=0,Pn=0,Il=null,St=null,Rr=!1,hi=0,zf=0,xi=1/0,gi=null,Va=null,Pe=0,Xa=null,el=null,Ca=0,Ur=0,Br=null,Tf=null,Pl=0,Hr=null;function Rt(){return(we&2)!==0&&ye!==0?ye&-ye:g.T!==null?Vr():Gu()}function Ef(){if(Ot===0)if((ye&536870912)===0||je){var e=Cs;Cs<<=1,(Cs&3932160)===0&&(Cs=262144),Ot=e}else Ot=536870912;return e=_t.current,e!==null&&(e.flags|=32),Ot}function Nt(e,t,a){(e===ke&&(Te===2||Te===9)||e.cancelPendingCommit!==null)&&(tl(e,0),Ka(e,ye,Ot,!1)),bl(e,a),((we&2)===0||e!==ke)&&(e===ke&&((we&2)===0&&(jn|=a),Ve===4&&Ka(e,ye,Ot,!1)),la(e))}function Af(e,t,a){if((we&6)!==0)throw Error(o(327));var l=!a&&(t&127)===0&&(t&e.expiredLanes)===0||vl(e,t),s=l?Tg(e,t):Lr(e,t,!0),c=l;do{if(s===0){In&&!l&&Ka(e,t,0,!1);break}else{if(a=e.current.alternate,c&&!wg(a)){s=Lr(e,t,!1),c=!1;continue}if(s===2){if(c=t,e.errorRecoveryDisabledLanes&c)var u=0;else u=e.pendingLanes&-536870913,u=u!==0?u:u&536870912?536870912:0;if(u!==0){t=u;e:{var m=e;s=Il;var j=m.current.memoizedState.isDehydrated;if(j&&(tl(m,u).flags|=256),u=Lr(m,u,!1),u!==2){if(kr&&!j){m.errorRecoveryDisabledLanes|=c,jn|=c,s=4;break e}c=St,St=s,c!==null&&(St===null?St=c:St.push.apply(St,c))}s=u}if(c=!1,s!==2)continue}}if(s===1){tl(e,0),Ka(e,t,0,!0);break}e:{switch(l=e,c=s,c){case 0:case 1:throw Error(o(345));case 4:if((t&4194048)!==t)break;case 6:Ka(l,t,Ot,!Qa);break e;case 2:St=null;break;case 3:case 5:break;default:throw Error(o(329))}if((t&62914560)===t&&(s=hi+300-zt(),10<s)){if(Ka(l,t,Ot,!Qa),zs(l,0,!0)!==0)break e;Ca=t,l.timeoutHandle=im(Df.bind(null,l,a,St,gi,Rr,t,Ot,jn,Pn,Qa,c,"Throttled",-0,0),s);break e}Df(l,a,St,gi,Rr,t,Ot,jn,Pn,Qa,c,null,-0,0)}}break}while(!0);la(e)}function Df(e,t,a,l,s,c,u,m,j,k,G,Z,R,q){if(e.timeoutHandle=-1,Z=t.subtreeFlags,Z&8192||(Z&16785408)===16785408){Z={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:ua},Sf(t,c,Z);var se=(c&62914560)===c?hi-zt():(c&4194048)===c?zf-zt():0;if(se=up(Z,se),se!==null){Ca=c,e.cancelPendingCommit=se(Hf.bind(null,e,t,c,a,l,s,u,m,j,G,Z,null,R,q)),Ka(e,c,u,!k);return}}Hf(e,t,c,a,l,s,u,m,j)}function wg(e){for(var t=e;;){var a=t.tag;if((a===0||a===11||a===15)&&t.flags&16384&&(a=t.updateQueue,a!==null&&(a=a.stores,a!==null)))for(var l=0;l<a.length;l++){var s=a[l],c=s.getSnapshot;s=s.value;try{if(!At(c(),s))return!1}catch{return!1}}if(a=t.child,t.subtreeFlags&16384&&a!==null)a.return=t,t=a;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Ka(e,t,a,l){t&=~Or,t&=~jn,e.suspendedLanes|=t,e.pingedLanes&=~t,l&&(e.warmLanes|=t),l=e.expirationTimes;for(var s=t;0<s;){var c=31-Et(s),u=1<<c;l[c]=-1,s&=~u}a!==0&&Hu(e,a,t)}function pi(){return(we&6)===0?(es(0),!1):!0}function qr(){if(ge!==null){if(Te===0)var e=ge.return;else e=ge,ma=fn=null,tr(e),Xn=null,Ul=0,e=ge;for(;e!==null;)cf(e.alternate,e),e=e.return;ge=null}}function tl(e,t){var a=e.timeoutHandle;a!==-1&&(e.timeoutHandle=-1,Xg(a)),a=e.cancelPendingCommit,a!==null&&(e.cancelPendingCommit=null,a()),Ca=0,qr(),ke=e,ge=a=da(e.current,null),ye=t,Te=0,kt=null,Qa=!1,In=vl(e,t),kr=!1,Pn=Ot=Or=jn=Ya=Ve=0,St=Il=null,Rr=!1,(t&8)!==0&&(t|=t&32);var l=e.entangledLanes;if(l!==0)for(e=e.entanglements,l&=t;0<l;){var s=31-Et(l),c=1<<s;t|=e[s],l&=~c}return Na=t,Hs(),a}function _f(e,t){me=null,g.H=Vl,t===Vn||t===Ks?(t=Ko(),Te=3):t===Yc?(t=Ko(),Te=4):Te=t===pr?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,kt=t,ge===null&&(Ve=1,ii(e,qt(t,e.current)))}function Mf(){var e=_t.current;return e===null?!0:(ye&4194048)===ye?Yt===null:(ye&62914560)===ye||(ye&536870912)!==0?e===Yt:!1}function kf(){var e=g.H;return g.H=Vl,e===null?Vl:e}function Of(){var e=g.A;return g.A=Ng,e}function yi(){Ve=4,Qa||(ye&4194048)!==ye&&_t.current!==null||(In=!0),(Ya&134217727)===0&&(jn&134217727)===0||ke===null||Ka(ke,ye,Ot,!1)}function Lr(e,t,a){var l=we;we|=2;var s=kf(),c=Of();(ke!==e||ye!==t)&&(gi=null,tl(e,t)),t=!1;var u=Ve;e:do try{if(Te!==0&&ge!==null){var m=ge,j=kt;switch(Te){case 8:qr(),u=6;break e;case 3:case 2:case 9:case 6:_t.current===null&&(t=!0);var k=Te;if(Te=0,kt=null,al(e,m,j,k),a&&In){u=0;break e}break;default:k=Te,Te=0,kt=null,al(e,m,j,k)}}zg(),u=Ve;break}catch(G){_f(e,G)}while(!0);return t&&e.shellSuspendCounter++,ma=fn=null,we=l,g.H=s,g.A=c,ge===null&&(ke=null,ye=0,Hs()),u}function zg(){for(;ge!==null;)Rf(ge)}function Tg(e,t){var a=we;we|=2;var l=kf(),s=Of();ke!==e||ye!==t?(gi=null,xi=zt()+500,tl(e,t)):In=vl(e,t);e:do try{if(Te!==0&&ge!==null){t=ge;var c=kt;t:switch(Te){case 1:Te=0,kt=null,al(e,t,c,1);break;case 2:case 9:if(Vo(c)){Te=0,kt=null,Uf(t);break}t=function(){Te!==2&&Te!==9||ke!==e||(Te=7),la(e)},c.then(t,t);break e;case 3:Te=7;break e;case 4:Te=5;break e;case 7:Vo(c)?(Te=0,kt=null,Uf(t)):(Te=0,kt=null,al(e,t,c,7));break;case 5:var u=null;switch(ge.tag){case 26:u=ge.memoizedState;case 5:case 27:var m=ge;if(u?jm(u):m.stateNode.complete){Te=0,kt=null;var j=m.sibling;if(j!==null)ge=j;else{var k=m.return;k!==null?(ge=k,vi(k)):ge=null}break t}}Te=0,kt=null,al(e,t,c,5);break;case 6:Te=0,kt=null,al(e,t,c,6);break;case 8:qr(),Ve=6;break e;default:throw Error(o(462))}}Eg();break}catch(G){_f(e,G)}while(!0);return ma=fn=null,g.H=l,g.A=s,we=a,ge!==null?0:(ke=null,ye=0,Hs(),Ve)}function Eg(){for(;ge!==null&&!Wh();)Rf(ge)}function Rf(e){var t=lf(e.alternate,e,Na);e.memoizedProps=e.pendingProps,t===null?vi(e):ge=t}function Uf(e){var t=e,a=t.alternate;switch(t.tag){case 15:case 0:t=Id(a,t,t.pendingProps,t.type,void 0,ye);break;case 11:t=Id(a,t,t.pendingProps,t.type.render,t.ref,ye);break;case 5:tr(t);default:cf(a,t),t=ge=ko(t,Na),t=lf(a,t,Na)}e.memoizedProps=e.pendingProps,t===null?vi(e):ge=t}function al(e,t,a,l){ma=fn=null,tr(t),Xn=null,Ul=0;var s=t.return;try{if(gg(e,s,t,a,ye)){Ve=1,ii(e,qt(a,e.current)),ge=null;return}}catch(c){if(s!==null)throw ge=s,c;Ve=1,ii(e,qt(a,e.current)),ge=null;return}t.flags&32768?(je||l===1?e=!0:In||(ye&536870912)!==0?e=!1:(Qa=e=!0,(l===2||l===9||l===3||l===6)&&(l=_t.current,l!==null&&l.tag===13&&(l.flags|=16384))),Bf(t,e)):vi(t)}function vi(e){var t=e;do{if((t.flags&32768)!==0){Bf(t,Qa);return}e=t.return;var a=vg(t.alternate,t,Na);if(a!==null){ge=a;return}if(t=t.sibling,t!==null){ge=t;return}ge=t=e}while(t!==null);Ve===0&&(Ve=5)}function Bf(e,t){do{var a=bg(e.alternate,e);if(a!==null){a.flags&=32767,ge=a;return}if(a=e.return,a!==null&&(a.flags|=32768,a.subtreeFlags=0,a.deletions=null),!t&&(e=e.sibling,e!==null)){ge=e;return}ge=e=a}while(e!==null);Ve=6,ge=null}function Hf(e,t,a,l,s,c,u,m,j){e.cancelPendingCommit=null;do bi();while(Pe!==0);if((we&6)!==0)throw Error(o(327));if(t!==null){if(t===e.current)throw Error(o(177));if(c=t.lanes|t.childLanes,c|=Ec,cx(e,a,c,u,m,j),e===ke&&(ge=ke=null,ye=0),el=t,Xa=e,Ca=a,Ur=c,Br=s,Tf=l,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,Mg(Ss,function(){return Yf(),null})):(e.callbackNode=null,e.callbackPriority=0),l=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||l){l=g.T,g.T=null,s=D.p,D.p=2,u=we,we|=4;try{jg(e,t,a)}finally{we=u,D.p=s,g.T=l}}Pe=1,qf(),Lf(),Gf()}}function qf(){if(Pe===1){Pe=0;var e=Xa,t=el,a=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||a){a=g.T,g.T=null;var l=D.p;D.p=2;var s=we;we|=4;try{vf(t,e);var c=Ir,u=Co(e.containerInfo),m=c.focusedElem,j=c.selectionRange;if(u!==m&&m&&m.ownerDocument&&No(m.ownerDocument.documentElement,m)){if(j!==null&&Nc(m)){var k=j.start,G=j.end;if(G===void 0&&(G=k),"selectionStart"in m)m.selectionStart=k,m.selectionEnd=Math.min(G,m.value.length);else{var Z=m.ownerDocument||document,R=Z&&Z.defaultView||window;if(R.getSelection){var q=R.getSelection(),se=m.textContent.length,oe=Math.min(j.start,se),_e=j.end===void 0?oe:Math.min(j.end,se);!q.extend&&oe>_e&&(u=_e,_e=oe,oe=u);var A=So(m,oe),C=So(m,_e);if(A&&C&&(q.rangeCount!==1||q.anchorNode!==A.node||q.anchorOffset!==A.offset||q.focusNode!==C.node||q.focusOffset!==C.offset)){var M=Z.createRange();M.setStart(A.node,A.offset),q.removeAllRanges(),oe>_e?(q.addRange(M),q.extend(C.node,C.offset)):(M.setEnd(C.node,C.offset),q.addRange(M))}}}}for(Z=[],q=m;q=q.parentNode;)q.nodeType===1&&Z.push({element:q,left:q.scrollLeft,top:q.scrollTop});for(typeof m.focus=="function"&&m.focus(),m=0;m<Z.length;m++){var V=Z[m];V.element.scrollLeft=V.left,V.element.scrollTop=V.top}}Mi=!!Wr,Ir=Wr=null}finally{we=s,D.p=l,g.T=a}}e.current=t,Pe=2}}function Lf(){if(Pe===2){Pe=0;var e=Xa,t=el,a=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||a){a=g.T,g.T=null;var l=D.p;D.p=2;var s=we;we|=4;try{hf(e,t.alternate,t)}finally{we=s,D.p=l,g.T=a}}Pe=3}}function Gf(){if(Pe===4||Pe===3){Pe=0,Ih();var e=Xa,t=el,a=Ca,l=Tf;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Pe=5:(Pe=0,el=Xa=null,Qf(e,e.pendingLanes));var s=e.pendingLanes;if(s===0&&(Va=null),lc(a),t=t.stateNode,Tt&&typeof Tt.onCommitFiberRoot=="function")try{Tt.onCommitFiberRoot(yl,t,void 0,(t.current.flags&128)===128)}catch{}if(l!==null){t=g.T,s=D.p,D.p=2,g.T=null;try{for(var c=e.onRecoverableError,u=0;u<l.length;u++){var m=l[u];c(m.value,{componentStack:m.stack})}}finally{g.T=t,D.p=s}}(Ca&3)!==0&&bi(),la(e),s=e.pendingLanes,(a&261930)!==0&&(s&42)!==0?e===Hr?Pl++:(Pl=0,Hr=e):Pl=0,es(0)}}function Qf(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Ol(t)))}function bi(){return qf(),Lf(),Gf(),Yf()}function Yf(){if(Pe!==5)return!1;var e=Xa,t=Ur;Ur=0;var a=lc(Ca),l=g.T,s=D.p;try{D.p=32>a?32:a,g.T=null,a=Br,Br=null;var c=Xa,u=Ca;if(Pe=0,el=Xa=null,Ca=0,(we&6)!==0)throw Error(o(331));var m=we;if(we|=4,Cf(c.current),jf(c,c.current,u,a),we=m,es(0,!1),Tt&&typeof Tt.onPostCommitFiberRoot=="function")try{Tt.onPostCommitFiberRoot(yl,c)}catch{}return!0}finally{D.p=s,g.T=l,Qf(e,t)}}function Vf(e,t,a){t=qt(a,t),t=gr(e.stateNode,t,2),e=Ha(e,t,2),e!==null&&(bl(e,2),la(e))}function Ee(e,t,a){if(e.tag===3)Vf(e,e,a);else for(;t!==null;){if(t.tag===3){Vf(t,e,a);break}else if(t.tag===1){var l=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(Va===null||!Va.has(l))){e=qt(a,e),a=Vd(2),l=Ha(t,a,2),l!==null&&(Xd(a,l,t,e),bl(l,2),la(l));break}}t=t.return}}function Gr(e,t,a){var l=e.pingCache;if(l===null){l=e.pingCache=new Cg;var s=new Set;l.set(t,s)}else s=l.get(t),s===void 0&&(s=new Set,l.set(t,s));s.has(a)||(kr=!0,s.add(a),e=Ag.bind(null,e,t,a),t.then(e,e))}function Ag(e,t,a){var l=e.pingCache;l!==null&&l.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,ke===e&&(ye&a)===a&&(Ve===4||Ve===3&&(ye&62914560)===ye&&300>zt()-hi?(we&2)===0&&tl(e,0):Or|=a,Pn===ye&&(Pn=0)),la(e)}function Xf(e,t){t===0&&(t=Bu()),e=un(e,t),e!==null&&(bl(e,t),la(e))}function Dg(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Xf(e,a)}function _g(e,t){var a=0;switch(e.tag){case 31:case 13:var l=e.stateNode,s=e.memoizedState;s!==null&&(a=s.retryLane);break;case 19:l=e.stateNode;break;case 22:l=e.stateNode._retryCache;break;default:throw Error(o(314))}l!==null&&l.delete(t),Xf(e,a)}function Mg(e,t){return ec(e,t)}var ji=null,nl=null,Qr=!1,Si=!1,Yr=!1,Za=0;function la(e){e!==nl&&e.next===null&&(nl===null?ji=nl=e:nl=nl.next=e),Si=!0,Qr||(Qr=!0,Og())}function es(e,t){if(!Yr&&Si){Yr=!0;do for(var a=!1,l=ji;l!==null;){if(e!==0){var s=l.pendingLanes;if(s===0)var c=0;else{var u=l.suspendedLanes,m=l.pingedLanes;c=(1<<31-Et(42|e)+1)-1,c&=s&~(u&~m),c=c&201326741?c&201326741|1:c?c|2:0}c!==0&&(a=!0,$f(l,c))}else c=ye,c=zs(l,l===ke?c:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(c&3)===0||vl(l,c)||(a=!0,$f(l,c));l=l.next}while(a);Yr=!1}}function kg(){Kf()}function Kf(){Si=Qr=!1;var e=0;Za!==0&&Vg()&&(e=Za);for(var t=zt(),a=null,l=ji;l!==null;){var s=l.next,c=Zf(l,t);c===0?(l.next=null,a===null?ji=s:a.next=s,s===null&&(nl=a)):(a=l,(e!==0||(c&3)!==0)&&(Si=!0)),l=s}Pe!==0&&Pe!==5||es(e),Za!==0&&(Za=0)}function Zf(e,t){for(var a=e.suspendedLanes,l=e.pingedLanes,s=e.expirationTimes,c=e.pendingLanes&-62914561;0<c;){var u=31-Et(c),m=1<<u,j=s[u];j===-1?((m&a)===0||(m&l)!==0)&&(s[u]=ix(m,t)):j<=t&&(e.expiredLanes|=m),c&=~m}if(t=ke,a=ye,a=zs(e,e===t?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),l=e.callbackNode,a===0||e===t&&(Te===2||Te===9)||e.cancelPendingCommit!==null)return l!==null&&l!==null&&tc(l),e.callbackNode=null,e.callbackPriority=0;if((a&3)===0||vl(e,a)){if(t=a&-a,t===e.callbackPriority)return t;switch(l!==null&&tc(l),lc(a)){case 2:case 8:a=Ru;break;case 32:a=Ss;break;case 268435456:a=Uu;break;default:a=Ss}return l=Ff.bind(null,e),a=ec(a,l),e.callbackPriority=t,e.callbackNode=a,t}return l!==null&&l!==null&&tc(l),e.callbackPriority=2,e.callbackNode=null,2}function Ff(e,t){if(Pe!==0&&Pe!==5)return e.callbackNode=null,e.callbackPriority=0,null;var a=e.callbackNode;if(bi()&&e.callbackNode!==a)return null;var l=ye;return l=zs(e,e===ke?l:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),l===0?null:(Af(e,l,t),Zf(e,zt()),e.callbackNode!=null&&e.callbackNode===a?Ff.bind(null,e):null)}function $f(e,t){if(bi())return null;Af(e,t,!0)}function Og(){Kg(function(){(we&6)!==0?ec(Ou,kg):Kf()})}function Vr(){if(Za===0){var e=Qn;e===0&&(e=Ns,Ns<<=1,(Ns&261888)===0&&(Ns=256)),Za=e}return Za}function Jf(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Ds(""+e)}function Wf(e,t){var a=t.ownerDocument.createElement("input");return a.name=t.name,a.value=t.value,e.id&&a.setAttribute("form",e.id),t.parentNode.insertBefore(a,t),e=new FormData(e),a.parentNode.removeChild(a),e}function Rg(e,t,a,l,s){if(t==="submit"&&a&&a.stateNode===s){var c=Jf((s[pt]||null).action),u=l.submitter;u&&(t=(t=u[pt]||null)?Jf(t.formAction):u.getAttribute("formAction"),t!==null&&(c=t,u=null));var m=new Os("action","action",null,l,s);e.push({event:m,listeners:[{instance:null,listener:function(){if(l.defaultPrevented){if(Za!==0){var j=u?Wf(s,u):new FormData(s);or(a,{pending:!0,data:j,method:s.method,action:c},null,j)}}else typeof c=="function"&&(m.preventDefault(),j=u?Wf(s,u):new FormData(s),or(a,{pending:!0,data:j,method:s.method,action:c},c,j))},currentTarget:s}]})}}for(var Xr=0;Xr<Tc.length;Xr++){var Kr=Tc[Xr],Ug=Kr.toLowerCase(),Bg=Kr[0].toUpperCase()+Kr.slice(1);Zt(Ug,"on"+Bg)}Zt(To,"onAnimationEnd"),Zt(Eo,"onAnimationIteration"),Zt(Ao,"onAnimationStart"),Zt("dblclick","onDoubleClick"),Zt("focusin","onFocus"),Zt("focusout","onBlur"),Zt(Px,"onTransitionRun"),Zt(eg,"onTransitionStart"),Zt(tg,"onTransitionCancel"),Zt(Do,"onTransitionEnd"),En("onMouseEnter",["mouseout","mouseover"]),En("onMouseLeave",["mouseout","mouseover"]),En("onPointerEnter",["pointerout","pointerover"]),En("onPointerLeave",["pointerout","pointerover"]),ln("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),ln("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),ln("onBeforeInput",["compositionend","keypress","textInput","paste"]),ln("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),ln("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),ln("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ts="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(" "),Hg=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(ts));function If(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var l=e[a],s=l.event;l=l.listeners;e:{var c=void 0;if(t)for(var u=l.length-1;0<=u;u--){var m=l[u],j=m.instance,k=m.currentTarget;if(m=m.listener,j!==c&&s.isPropagationStopped())break e;c=m,s.currentTarget=k;try{c(s)}catch(G){Bs(G)}s.currentTarget=null,c=j}else for(u=0;u<l.length;u++){if(m=l[u],j=m.instance,k=m.currentTarget,m=m.listener,j!==c&&s.isPropagationStopped())break e;c=m,s.currentTarget=k;try{c(s)}catch(G){Bs(G)}s.currentTarget=null,c=j}}}}function pe(e,t){var a=t[sc];a===void 0&&(a=t[sc]=new Set);var l=e+"__bubble";a.has(l)||(Pf(t,e,2,!1),a.add(l))}function Zr(e,t,a){var l=0;t&&(l|=4),Pf(a,e,l,t)}var Ni="_reactListening"+Math.random().toString(36).slice(2);function Fr(e){if(!e[Ni]){e[Ni]=!0,Vu.forEach(function(a){a!=="selectionchange"&&(Hg.has(a)||Zr(a,!1,e),Zr(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Ni]||(t[Ni]=!0,Zr("selectionchange",!1,t))}}function Pf(e,t,a,l){switch(Em(t)){case 2:var s=fp;break;case 8:s=mp;break;default:s=uu}a=s.bind(null,t,a,e),s=void 0,!hc||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(s=!0),l?s!==void 0?e.addEventListener(t,a,{capture:!0,passive:s}):e.addEventListener(t,a,!0):s!==void 0?e.addEventListener(t,a,{passive:s}):e.addEventListener(t,a,!1)}function $r(e,t,a,l,s){var c=l;if((t&1)===0&&(t&2)===0&&l!==null)e:for(;;){if(l===null)return;var u=l.tag;if(u===3||u===4){var m=l.stateNode.containerInfo;if(m===s)break;if(u===4)for(u=l.return;u!==null;){var j=u.tag;if((j===3||j===4)&&u.stateNode.containerInfo===s)return;u=u.return}for(;m!==null;){if(u=wn(m),u===null)return;if(j=u.tag,j===5||j===6||j===26||j===27){l=c=u;continue e}m=m.parentNode}}l=l.return}ao(function(){var k=c,G=fc(a),Z=[];e:{var R=_o.get(e);if(R!==void 0){var q=Os,se=e;switch(e){case"keypress":if(Ms(a)===0)break e;case"keydown":case"keyup":q=_x;break;case"focusin":se="focus",q=yc;break;case"focusout":se="blur",q=yc;break;case"beforeblur":case"afterblur":q=yc;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":q=so;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":q=vx;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":q=Ox;break;case To:case Eo:case Ao:q=Sx;break;case Do:q=Ux;break;case"scroll":case"scrollend":q=px;break;case"wheel":q=Hx;break;case"copy":case"cut":case"paste":q=Cx;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":q=co;break;case"toggle":case"beforetoggle":q=Lx}var oe=(t&4)!==0,_e=!oe&&(e==="scroll"||e==="scrollend"),A=oe?R!==null?R+"Capture":null:R;oe=[];for(var C=k,M;C!==null;){var V=C;if(M=V.stateNode,V=V.tag,V!==5&&V!==26&&V!==27||M===null||A===null||(V=Nl(C,A),V!=null&&oe.push(as(C,V,M))),_e)break;C=C.return}0<oe.length&&(R=new q(R,se,null,a,G),Z.push({event:R,listeners:oe}))}}if((t&7)===0){e:{if(R=e==="mouseover"||e==="pointerover",q=e==="mouseout"||e==="pointerout",R&&a!==dc&&(se=a.relatedTarget||a.fromElement)&&(wn(se)||se[Cn]))break e;if((q||R)&&(R=G.window===G?G:(R=G.ownerDocument)?R.defaultView||R.parentWindow:window,q?(se=a.relatedTarget||a.toElement,q=k,se=se?wn(se):null,se!==null&&(_e=x(se),oe=se.tag,se!==_e||oe!==5&&oe!==27&&oe!==6)&&(se=null)):(q=null,se=k),q!==se)){if(oe=so,V="onMouseLeave",A="onMouseEnter",C="mouse",(e==="pointerout"||e==="pointerover")&&(oe=co,V="onPointerLeave",A="onPointerEnter",C="pointer"),_e=q==null?R:Sl(q),M=se==null?R:Sl(se),R=new oe(V,C+"leave",q,a,G),R.target=_e,R.relatedTarget=M,V=null,wn(G)===k&&(oe=new oe(A,C+"enter",se,a,G),oe.target=M,oe.relatedTarget=_e,V=oe),_e=V,q&&se)t:{for(oe=qg,A=q,C=se,M=0,V=A;V;V=oe(V))M++;V=0;for(var re=C;re;re=oe(re))V++;for(;0<M-V;)A=oe(A),M--;for(;0<V-M;)C=oe(C),V--;for(;M--;){if(A===C||C!==null&&A===C.alternate){oe=A;break t}A=oe(A),C=oe(C)}oe=null}else oe=null;q!==null&&em(Z,R,q,oe,!1),se!==null&&_e!==null&&em(Z,_e,se,oe,!0)}}e:{if(R=k?Sl(k):window,q=R.nodeName&&R.nodeName.toLowerCase(),q==="select"||q==="input"&&R.type==="file")var Se=go;else if(ho(R))if(po)Se=Jx;else{Se=Fx;var ce=Zx}else q=R.nodeName,!q||q.toLowerCase()!=="input"||R.type!=="checkbox"&&R.type!=="radio"?k&&oc(k.elementType)&&(Se=go):Se=$x;if(Se&&(Se=Se(e,k))){xo(Z,Se,a,G);break e}ce&&ce(e,R,k),e==="focusout"&&k&&R.type==="number"&&k.memoizedProps.value!=null&&uc(R,"number",R.value)}switch(ce=k?Sl(k):window,e){case"focusin":(ho(ce)||ce.contentEditable==="true")&&(On=ce,Cc=k,_l=null);break;case"focusout":_l=Cc=On=null;break;case"mousedown":wc=!0;break;case"contextmenu":case"mouseup":case"dragend":wc=!1,wo(Z,a,G);break;case"selectionchange":if(Ix)break;case"keydown":case"keyup":wo(Z,a,G)}var xe;if(bc)e:{switch(e){case"compositionstart":var ve="onCompositionStart";break e;case"compositionend":ve="onCompositionEnd";break e;case"compositionupdate":ve="onCompositionUpdate";break e}ve=void 0}else kn?fo(e,a)&&(ve="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(ve="onCompositionStart");ve&&(ro&&a.locale!=="ko"&&(kn||ve!=="onCompositionStart"?ve==="onCompositionEnd"&&kn&&(xe=no()):(_a=G,xc="value"in _a?_a.value:_a.textContent,kn=!0)),ce=Ci(k,ve),0<ce.length&&(ve=new io(ve,e,null,a,G),Z.push({event:ve,listeners:ce}),xe?ve.data=xe:(xe=mo(a),xe!==null&&(ve.data=xe)))),(xe=Qx?Yx(e,a):Vx(e,a))&&(ve=Ci(k,"onBeforeInput"),0<ve.length&&(ce=new io("onBeforeInput","beforeinput",null,a,G),Z.push({event:ce,listeners:ve}),ce.data=xe)),Rg(Z,e,k,a,G)}If(Z,t)})}function as(e,t,a){return{instance:e,listener:t,currentTarget:a}}function Ci(e,t){for(var a=t+"Capture",l=[];e!==null;){var s=e,c=s.stateNode;if(s=s.tag,s!==5&&s!==26&&s!==27||c===null||(s=Nl(e,a),s!=null&&l.unshift(as(e,s,c)),s=Nl(e,t),s!=null&&l.push(as(e,s,c))),e.tag===3)return l;e=e.return}return[]}function qg(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function em(e,t,a,l,s){for(var c=t._reactName,u=[];a!==null&&a!==l;){var m=a,j=m.alternate,k=m.stateNode;if(m=m.tag,j!==null&&j===l)break;m!==5&&m!==26&&m!==27||k===null||(j=k,s?(k=Nl(a,c),k!=null&&u.unshift(as(a,k,j))):s||(k=Nl(a,c),k!=null&&u.push(as(a,k,j)))),a=a.return}u.length!==0&&e.push({event:t,listeners:u})}var Lg=/\r\n?/g,Gg=/\u0000|\uFFFD/g;function tm(e){return(typeof e=="string"?e:""+e).replace(Lg,`
|
|
9
|
+
`).replace(Gg,"")}function am(e,t){return t=tm(t),tm(e)===t}function De(e,t,a,l,s,c){switch(a){case"children":typeof l=="string"?t==="body"||t==="textarea"&&l===""||Dn(e,l):(typeof l=="number"||typeof l=="bigint")&&t!=="body"&&Dn(e,""+l);break;case"className":Es(e,"class",l);break;case"tabIndex":Es(e,"tabindex",l);break;case"dir":case"role":case"viewBox":case"width":case"height":Es(e,a,l);break;case"style":eo(e,l,c);break;case"data":if(t!=="object"){Es(e,"data",l);break}case"src":case"href":if(l===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(l==null||typeof l=="function"||typeof l=="symbol"||typeof l=="boolean"){e.removeAttribute(a);break}l=Ds(""+l),e.setAttribute(a,l);break;case"action":case"formAction":if(typeof l=="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 c=="function"&&(a==="formAction"?(t!=="input"&&De(e,t,"name",s.name,s,null),De(e,t,"formEncType",s.formEncType,s,null),De(e,t,"formMethod",s.formMethod,s,null),De(e,t,"formTarget",s.formTarget,s,null)):(De(e,t,"encType",s.encType,s,null),De(e,t,"method",s.method,s,null),De(e,t,"target",s.target,s,null)));if(l==null||typeof l=="symbol"||typeof l=="boolean"){e.removeAttribute(a);break}l=Ds(""+l),e.setAttribute(a,l);break;case"onClick":l!=null&&(e.onclick=ua);break;case"onScroll":l!=null&&pe("scroll",e);break;case"onScrollEnd":l!=null&&pe("scrollend",e);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(o(61));if(a=l.__html,a!=null){if(s.children!=null)throw Error(o(60));e.innerHTML=a}}break;case"multiple":e.multiple=l&&typeof l!="function"&&typeof l!="symbol";break;case"muted":e.muted=l&&typeof l!="function"&&typeof l!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(l==null||typeof l=="function"||typeof l=="boolean"||typeof l=="symbol"){e.removeAttribute("xlink:href");break}a=Ds(""+l),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":l!=null&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(a,""+l):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":l&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(a,""):e.removeAttribute(a);break;case"capture":case"download":l===!0?e.setAttribute(a,""):l!==!1&&l!=null&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(a,l):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":l!=null&&typeof l!="function"&&typeof l!="symbol"&&!isNaN(l)&&1<=l?e.setAttribute(a,l):e.removeAttribute(a);break;case"rowSpan":case"start":l==null||typeof l=="function"||typeof l=="symbol"||isNaN(l)?e.removeAttribute(a):e.setAttribute(a,l);break;case"popover":pe("beforetoggle",e),pe("toggle",e),Ts(e,"popover",l);break;case"xlinkActuate":ra(e,"http://www.w3.org/1999/xlink","xlink:actuate",l);break;case"xlinkArcrole":ra(e,"http://www.w3.org/1999/xlink","xlink:arcrole",l);break;case"xlinkRole":ra(e,"http://www.w3.org/1999/xlink","xlink:role",l);break;case"xlinkShow":ra(e,"http://www.w3.org/1999/xlink","xlink:show",l);break;case"xlinkTitle":ra(e,"http://www.w3.org/1999/xlink","xlink:title",l);break;case"xlinkType":ra(e,"http://www.w3.org/1999/xlink","xlink:type",l);break;case"xmlBase":ra(e,"http://www.w3.org/XML/1998/namespace","xml:base",l);break;case"xmlLang":ra(e,"http://www.w3.org/XML/1998/namespace","xml:lang",l);break;case"xmlSpace":ra(e,"http://www.w3.org/XML/1998/namespace","xml:space",l);break;case"is":Ts(e,"is",l);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=xx.get(a)||a,Ts(e,a,l))}}function Jr(e,t,a,l,s,c){switch(a){case"style":eo(e,l,c);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(o(61));if(a=l.__html,a!=null){if(s.children!=null)throw Error(o(60));e.innerHTML=a}}break;case"children":typeof l=="string"?Dn(e,l):(typeof l=="number"||typeof l=="bigint")&&Dn(e,""+l);break;case"onScroll":l!=null&&pe("scroll",e);break;case"onScrollEnd":l!=null&&pe("scrollend",e);break;case"onClick":l!=null&&(e.onclick=ua);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Xu.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(s=a.endsWith("Capture"),t=a.slice(2,s?a.length-7:void 0),c=e[pt]||null,c=c!=null?c[a]:null,typeof c=="function"&&e.removeEventListener(t,c,s),typeof l=="function")){typeof c!="function"&&c!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(t,l,s);break e}a in e?e[a]=l:l===!0?e.setAttribute(a,""):Ts(e,a,l)}}}function ut(e,t,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":pe("error",e),pe("load",e);var l=!1,s=!1,c;for(c in a)if(a.hasOwnProperty(c)){var u=a[c];if(u!=null)switch(c){case"src":l=!0;break;case"srcSet":s=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(o(137,t));default:De(e,t,c,u,a,null)}}s&&De(e,t,"srcSet",a.srcSet,a,null),l&&De(e,t,"src",a.src,a,null);return;case"input":pe("invalid",e);var m=c=u=s=null,j=null,k=null;for(l in a)if(a.hasOwnProperty(l)){var G=a[l];if(G!=null)switch(l){case"name":s=G;break;case"type":u=G;break;case"checked":j=G;break;case"defaultChecked":k=G;break;case"value":c=G;break;case"defaultValue":m=G;break;case"children":case"dangerouslySetInnerHTML":if(G!=null)throw Error(o(137,t));break;default:De(e,t,l,G,a,null)}}Ju(e,c,m,j,k,u,s,!1);return;case"select":pe("invalid",e),l=u=c=null;for(s in a)if(a.hasOwnProperty(s)&&(m=a[s],m!=null))switch(s){case"value":c=m;break;case"defaultValue":u=m;break;case"multiple":l=m;default:De(e,t,s,m,a,null)}t=c,a=u,e.multiple=!!l,t!=null?An(e,!!l,t,!1):a!=null&&An(e,!!l,a,!0);return;case"textarea":pe("invalid",e),c=s=l=null;for(u in a)if(a.hasOwnProperty(u)&&(m=a[u],m!=null))switch(u){case"value":l=m;break;case"defaultValue":s=m;break;case"children":c=m;break;case"dangerouslySetInnerHTML":if(m!=null)throw Error(o(91));break;default:De(e,t,u,m,a,null)}Iu(e,l,s,c);return;case"option":for(j in a)a.hasOwnProperty(j)&&(l=a[j],l!=null)&&(j==="selected"?e.selected=l&&typeof l!="function"&&typeof l!="symbol":De(e,t,j,l,a,null));return;case"dialog":pe("beforetoggle",e),pe("toggle",e),pe("cancel",e),pe("close",e);break;case"iframe":case"object":pe("load",e);break;case"video":case"audio":for(l=0;l<ts.length;l++)pe(ts[l],e);break;case"image":pe("error",e),pe("load",e);break;case"details":pe("toggle",e);break;case"embed":case"source":case"link":pe("error",e),pe("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(k in a)if(a.hasOwnProperty(k)&&(l=a[k],l!=null))switch(k){case"children":case"dangerouslySetInnerHTML":throw Error(o(137,t));default:De(e,t,k,l,a,null)}return;default:if(oc(t)){for(G in a)a.hasOwnProperty(G)&&(l=a[G],l!==void 0&&Jr(e,t,G,l,a,void 0));return}}for(m in a)a.hasOwnProperty(m)&&(l=a[m],l!=null&&De(e,t,m,l,a,null))}function Qg(e,t,a,l){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var s=null,c=null,u=null,m=null,j=null,k=null,G=null;for(q in a){var Z=a[q];if(a.hasOwnProperty(q)&&Z!=null)switch(q){case"checked":break;case"value":break;case"defaultValue":j=Z;default:l.hasOwnProperty(q)||De(e,t,q,null,l,Z)}}for(var R in l){var q=l[R];if(Z=a[R],l.hasOwnProperty(R)&&(q!=null||Z!=null))switch(R){case"type":c=q;break;case"name":s=q;break;case"checked":k=q;break;case"defaultChecked":G=q;break;case"value":u=q;break;case"defaultValue":m=q;break;case"children":case"dangerouslySetInnerHTML":if(q!=null)throw Error(o(137,t));break;default:q!==Z&&De(e,t,R,q,l,Z)}}rc(e,u,m,j,k,G,c,s);return;case"select":q=u=m=R=null;for(c in a)if(j=a[c],a.hasOwnProperty(c)&&j!=null)switch(c){case"value":break;case"multiple":q=j;default:l.hasOwnProperty(c)||De(e,t,c,null,l,j)}for(s in l)if(c=l[s],j=a[s],l.hasOwnProperty(s)&&(c!=null||j!=null))switch(s){case"value":R=c;break;case"defaultValue":m=c;break;case"multiple":u=c;default:c!==j&&De(e,t,s,c,l,j)}t=m,a=u,l=q,R!=null?An(e,!!a,R,!1):!!l!=!!a&&(t!=null?An(e,!!a,t,!0):An(e,!!a,a?[]:"",!1));return;case"textarea":q=R=null;for(m in a)if(s=a[m],a.hasOwnProperty(m)&&s!=null&&!l.hasOwnProperty(m))switch(m){case"value":break;case"children":break;default:De(e,t,m,null,l,s)}for(u in l)if(s=l[u],c=a[u],l.hasOwnProperty(u)&&(s!=null||c!=null))switch(u){case"value":R=s;break;case"defaultValue":q=s;break;case"children":break;case"dangerouslySetInnerHTML":if(s!=null)throw Error(o(91));break;default:s!==c&&De(e,t,u,s,l,c)}Wu(e,R,q);return;case"option":for(var se in a)R=a[se],a.hasOwnProperty(se)&&R!=null&&!l.hasOwnProperty(se)&&(se==="selected"?e.selected=!1:De(e,t,se,null,l,R));for(j in l)R=l[j],q=a[j],l.hasOwnProperty(j)&&R!==q&&(R!=null||q!=null)&&(j==="selected"?e.selected=R&&typeof R!="function"&&typeof R!="symbol":De(e,t,j,R,l,q));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 oe in a)R=a[oe],a.hasOwnProperty(oe)&&R!=null&&!l.hasOwnProperty(oe)&&De(e,t,oe,null,l,R);for(k in l)if(R=l[k],q=a[k],l.hasOwnProperty(k)&&R!==q&&(R!=null||q!=null))switch(k){case"children":case"dangerouslySetInnerHTML":if(R!=null)throw Error(o(137,t));break;default:De(e,t,k,R,l,q)}return;default:if(oc(t)){for(var _e in a)R=a[_e],a.hasOwnProperty(_e)&&R!==void 0&&!l.hasOwnProperty(_e)&&Jr(e,t,_e,void 0,l,R);for(G in l)R=l[G],q=a[G],!l.hasOwnProperty(G)||R===q||R===void 0&&q===void 0||Jr(e,t,G,R,l,q);return}}for(var A in a)R=a[A],a.hasOwnProperty(A)&&R!=null&&!l.hasOwnProperty(A)&&De(e,t,A,null,l,R);for(Z in l)R=l[Z],q=a[Z],!l.hasOwnProperty(Z)||R===q||R==null&&q==null||De(e,t,Z,R,l,q)}function nm(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function Yg(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,a=performance.getEntriesByType("resource"),l=0;l<a.length;l++){var s=a[l],c=s.transferSize,u=s.initiatorType,m=s.duration;if(c&&m&&nm(u)){for(u=0,m=s.responseEnd,l+=1;l<a.length;l++){var j=a[l],k=j.startTime;if(k>m)break;var G=j.transferSize,Z=j.initiatorType;G&&nm(Z)&&(j=j.responseEnd,u+=G*(j<m?1:(m-k)/(j-k)))}if(--l,t+=8*(c+u)/(s.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var Wr=null,Ir=null;function wi(e){return e.nodeType===9?e:e.ownerDocument}function lm(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 sm(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function Pr(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var eu=null;function Vg(){var e=window.event;return e&&e.type==="popstate"?e===eu?!1:(eu=e,!0):(eu=null,!1)}var im=typeof setTimeout=="function"?setTimeout:void 0,Xg=typeof clearTimeout=="function"?clearTimeout:void 0,cm=typeof Promise=="function"?Promise:void 0,Kg=typeof queueMicrotask=="function"?queueMicrotask:typeof cm<"u"?function(e){return cm.resolve(null).then(e).catch(Zg)}:im;function Zg(e){setTimeout(function(){throw e})}function Fa(e){return e==="head"}function rm(e,t){var a=t,l=0;do{var s=a.nextSibling;if(e.removeChild(a),s&&s.nodeType===8)if(a=s.data,a==="/$"||a==="/&"){if(l===0){e.removeChild(s),cl(t);return}l--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")l++;else if(a==="html")ns(e.ownerDocument.documentElement);else if(a==="head"){a=e.ownerDocument.head,ns(a);for(var c=a.firstChild;c;){var u=c.nextSibling,m=c.nodeName;c[jl]||m==="SCRIPT"||m==="STYLE"||m==="LINK"&&c.rel.toLowerCase()==="stylesheet"||a.removeChild(c),c=u}}else a==="body"&&ns(e.ownerDocument.body);a=s}while(a);cl(t)}function um(e,t){var a=e;e=0;do{var l=a.nextSibling;if(a.nodeType===1?t?(a._stashedDisplay=a.style.display,a.style.display="none"):(a.style.display=a._stashedDisplay||"",a.getAttribute("style")===""&&a.removeAttribute("style")):a.nodeType===3&&(t?(a._stashedText=a.nodeValue,a.nodeValue=""):a.nodeValue=a._stashedText||""),l&&l.nodeType===8)if(a=l.data,a==="/$"){if(e===0)break;e--}else a!=="$"&&a!=="$?"&&a!=="$~"&&a!=="$!"||e++;a=l}while(a)}function tu(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var a=t;switch(t=t.nextSibling,a.nodeName){case"HTML":case"HEAD":case"BODY":tu(a),ic(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function Fg(e,t,a,l){for(;e.nodeType===1;){var s=a;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!l&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(l){if(!e[jl])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(c=e.getAttribute("rel"),c==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(c!==s.rel||e.getAttribute("href")!==(s.href==null||s.href===""?null:s.href)||e.getAttribute("crossorigin")!==(s.crossOrigin==null?null:s.crossOrigin)||e.getAttribute("title")!==(s.title==null?null:s.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(c=e.getAttribute("src"),(c!==(s.src==null?null:s.src)||e.getAttribute("type")!==(s.type==null?null:s.type)||e.getAttribute("crossorigin")!==(s.crossOrigin==null?null:s.crossOrigin))&&c&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var c=s.name==null?null:""+s.name;if(s.type==="hidden"&&e.getAttribute("name")===c)return e}else return e;if(e=Vt(e.nextSibling),e===null)break}return null}function $g(e,t,a){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=Vt(e.nextSibling),e===null))return null;return e}function om(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Vt(e.nextSibling),e===null))return null;return e}function au(e){return e.data==="$?"||e.data==="$~"}function nu(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function Jg(e,t){var a=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||a.readyState!=="loading")t();else{var l=function(){t(),a.removeEventListener("DOMContentLoaded",l)};a.addEventListener("DOMContentLoaded",l),e._reactRetry=l}}function Vt(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var lu=null;function dm(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"||a==="/&"){if(t===0)return Vt(e.nextSibling);t--}else a!=="$"&&a!=="$!"&&a!=="$?"&&a!=="$~"&&a!=="&"||t++}e=e.nextSibling}return null}function fm(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"){if(t===0)return e;t--}else a!=="/$"&&a!=="/&"||t++}e=e.previousSibling}return null}function mm(e,t,a){switch(t=wi(a),e){case"html":if(e=t.documentElement,!e)throw Error(o(452));return e;case"head":if(e=t.head,!e)throw Error(o(453));return e;case"body":if(e=t.body,!e)throw Error(o(454));return e;default:throw Error(o(451))}}function ns(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);ic(e)}var Xt=new Map,hm=new Set;function zi(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var wa=D.d;D.d={f:Wg,r:Ig,D:Pg,C:ep,L:tp,m:ap,X:lp,S:np,M:sp};function Wg(){var e=wa.f(),t=pi();return e||t}function Ig(e){var t=zn(e);t!==null&&t.tag===5&&t.type==="form"?Dd(t):wa.r(e)}var ll=typeof document>"u"?null:document;function xm(e,t,a){var l=ll;if(l&&typeof t=="string"&&t){var s=Bt(t);s='link[rel="'+e+'"][href="'+s+'"]',typeof a=="string"&&(s+='[crossorigin="'+a+'"]'),hm.has(s)||(hm.add(s),e={rel:e,crossOrigin:a,href:t},l.querySelector(s)===null&&(t=l.createElement("link"),ut(t,"link",e),tt(t),l.head.appendChild(t)))}}function Pg(e){wa.D(e),xm("dns-prefetch",e,null)}function ep(e,t){wa.C(e,t),xm("preconnect",e,t)}function tp(e,t,a){wa.L(e,t,a);var l=ll;if(l&&e&&t){var s='link[rel="preload"][as="'+Bt(t)+'"]';t==="image"&&a&&a.imageSrcSet?(s+='[imagesrcset="'+Bt(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(s+='[imagesizes="'+Bt(a.imageSizes)+'"]')):s+='[href="'+Bt(e)+'"]';var c=s;switch(t){case"style":c=sl(e);break;case"script":c=il(e)}Xt.has(c)||(e=E({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),Xt.set(c,e),l.querySelector(s)!==null||t==="style"&&l.querySelector(ls(c))||t==="script"&&l.querySelector(ss(c))||(t=l.createElement("link"),ut(t,"link",e),tt(t),l.head.appendChild(t)))}}function ap(e,t){wa.m(e,t);var a=ll;if(a&&e){var l=t&&typeof t.as=="string"?t.as:"script",s='link[rel="modulepreload"][as="'+Bt(l)+'"][href="'+Bt(e)+'"]',c=s;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":c=il(e)}if(!Xt.has(c)&&(e=E({rel:"modulepreload",href:e},t),Xt.set(c,e),a.querySelector(s)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(ss(c)))return}l=a.createElement("link"),ut(l,"link",e),tt(l),a.head.appendChild(l)}}}function np(e,t,a){wa.S(e,t,a);var l=ll;if(l&&e){var s=Tn(l).hoistableStyles,c=sl(e);t=t||"default";var u=s.get(c);if(!u){var m={loading:0,preload:null};if(u=l.querySelector(ls(c)))m.loading=5;else{e=E({rel:"stylesheet",href:e,"data-precedence":t},a),(a=Xt.get(c))&&su(e,a);var j=u=l.createElement("link");tt(j),ut(j,"link",e),j._p=new Promise(function(k,G){j.onload=k,j.onerror=G}),j.addEventListener("load",function(){m.loading|=1}),j.addEventListener("error",function(){m.loading|=2}),m.loading|=4,Ti(u,t,l)}u={type:"stylesheet",instance:u,count:1,state:m},s.set(c,u)}}}function lp(e,t){wa.X(e,t);var a=ll;if(a&&e){var l=Tn(a).hoistableScripts,s=il(e),c=l.get(s);c||(c=a.querySelector(ss(s)),c||(e=E({src:e,async:!0},t),(t=Xt.get(s))&&iu(e,t),c=a.createElement("script"),tt(c),ut(c,"link",e),a.head.appendChild(c)),c={type:"script",instance:c,count:1,state:null},l.set(s,c))}}function sp(e,t){wa.M(e,t);var a=ll;if(a&&e){var l=Tn(a).hoistableScripts,s=il(e),c=l.get(s);c||(c=a.querySelector(ss(s)),c||(e=E({src:e,async:!0,type:"module"},t),(t=Xt.get(s))&&iu(e,t),c=a.createElement("script"),tt(c),ut(c,"link",e),a.head.appendChild(c)),c={type:"script",instance:c,count:1,state:null},l.set(s,c))}}function gm(e,t,a,l){var s=(s=ht.current)?zi(s):null;if(!s)throw Error(o(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=sl(a.href),a=Tn(s).hoistableStyles,l=a.get(t),l||(l={type:"style",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=sl(a.href);var c=Tn(s).hoistableStyles,u=c.get(e);if(u||(s=s.ownerDocument||s,u={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},c.set(e,u),(c=s.querySelector(ls(e)))&&!c._p&&(u.instance=c,u.state.loading=5),Xt.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},Xt.set(e,a),c||ip(s,e,a,u.state))),t&&l===null)throw Error(o(528,""));return u}if(t&&l!==null)throw Error(o(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=il(a),a=Tn(s).hoistableScripts,l=a.get(t),l||(l={type:"script",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,e))}}function sl(e){return'href="'+Bt(e)+'"'}function ls(e){return'link[rel="stylesheet"]['+e+"]"}function pm(e){return E({},e,{"data-precedence":e.precedence,precedence:null})}function ip(e,t,a,l){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?l.loading=1:(t=e.createElement("link"),l.preload=t,t.addEventListener("load",function(){return l.loading|=1}),t.addEventListener("error",function(){return l.loading|=2}),ut(t,"link",a),tt(t),e.head.appendChild(t))}function il(e){return'[src="'+Bt(e)+'"]'}function ss(e){return"script[async]"+e}function ym(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var l=e.querySelector('style[data-href~="'+Bt(a.href)+'"]');if(l)return t.instance=l,tt(l),l;var s=E({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return l=(e.ownerDocument||e).createElement("style"),tt(l),ut(l,"style",s),Ti(l,a.precedence,e),t.instance=l;case"stylesheet":s=sl(a.href);var c=e.querySelector(ls(s));if(c)return t.state.loading|=4,t.instance=c,tt(c),c;l=pm(a),(s=Xt.get(s))&&su(l,s),c=(e.ownerDocument||e).createElement("link"),tt(c);var u=c;return u._p=new Promise(function(m,j){u.onload=m,u.onerror=j}),ut(c,"link",l),t.state.loading|=4,Ti(c,a.precedence,e),t.instance=c;case"script":return c=il(a.src),(s=e.querySelector(ss(c)))?(t.instance=s,tt(s),s):(l=a,(s=Xt.get(c))&&(l=E({},a),iu(l,s)),e=e.ownerDocument||e,s=e.createElement("script"),tt(s),ut(s,"link",l),e.head.appendChild(s),t.instance=s);case"void":return null;default:throw Error(o(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(l=t.instance,t.state.loading|=4,Ti(l,a.precedence,e));return t.instance}function Ti(e,t,a){for(var l=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),s=l.length?l[l.length-1]:null,c=s,u=0;u<l.length;u++){var m=l[u];if(m.dataset.precedence===t)c=m;else if(c!==s)break}c?c.parentNode.insertBefore(e,c.nextSibling):(t=a.nodeType===9?a.head:a,t.insertBefore(e,t.firstChild))}function su(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function iu(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Ei=null;function vm(e,t,a){if(Ei===null){var l=new Map,s=Ei=new Map;s.set(a,l)}else s=Ei,l=s.get(a),l||(l=new Map,s.set(a,l));if(l.has(e))return l;for(l.set(e,null),a=a.getElementsByTagName(e),s=0;s<a.length;s++){var c=a[s];if(!(c[jl]||c[st]||e==="link"&&c.getAttribute("rel")==="stylesheet")&&c.namespaceURI!=="http://www.w3.org/2000/svg"){var u=c.getAttribute(t)||"";u=e+u;var m=l.get(u);m?m.push(c):l.set(u,[c])}}return l}function bm(e,t,a){e=e.ownerDocument||e,e.head.insertBefore(a,t==="title"?e.querySelector("head > title"):null)}function cp(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function jm(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function rp(e,t,a,l){if(a.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var s=sl(l.href),c=t.querySelector(ls(s));if(c){t=c._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Ai.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=c,tt(c);return}c=t.ownerDocument||t,l=pm(l),(s=Xt.get(s))&&su(l,s),c=c.createElement("link"),tt(c);var u=c;u._p=new Promise(function(m,j){u.onload=m,u.onerror=j}),ut(c,"link",l),a.instance=c}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=Ai.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var cu=0;function up(e,t){return e.stylesheets&&e.count===0&&_i(e,e.stylesheets),0<e.count||0<e.imgCount?function(a){var l=setTimeout(function(){if(e.stylesheets&&_i(e,e.stylesheets),e.unsuspend){var c=e.unsuspend;e.unsuspend=null,c()}},6e4+t);0<e.imgBytes&&cu===0&&(cu=62500*Yg());var s=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&_i(e,e.stylesheets),e.unsuspend)){var c=e.unsuspend;e.unsuspend=null,c()}},(e.imgBytes>cu?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(l),clearTimeout(s)}}:null}function Ai(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)_i(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Di=null;function _i(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Di=new Map,t.forEach(op,e),Di=null,Ai.call(e))}function op(e,t){if(!(t.state.loading&4)){var a=Di.get(e);if(a)var l=a.get(null);else{a=new Map,Di.set(e,a);for(var s=e.querySelectorAll("link[data-precedence],style[data-precedence]"),c=0;c<s.length;c++){var u=s[c];(u.nodeName==="LINK"||u.getAttribute("media")!=="not all")&&(a.set(u.dataset.precedence,u),l=u)}l&&a.set(null,l)}s=t.instance,u=s.getAttribute("data-precedence"),c=a.get(u)||l,c===l&&a.set(null,s),a.set(u,s),this.count++,l=Ai.bind(this),s.addEventListener("load",l),s.addEventListener("error",l),c?c.parentNode.insertBefore(s,c.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(s,e.firstChild)),t.state.loading|=4}}var is={$$typeof:N,Provider:null,Consumer:null,_currentValue:ee,_currentValue2:ee,_threadCount:0};function dp(e,t,a,l,s,c,u,m,j){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=ac(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ac(0),this.hiddenUpdates=ac(null),this.identifierPrefix=l,this.onUncaughtError=s,this.onCaughtError=c,this.onRecoverableError=u,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=j,this.incompleteTransitions=new Map}function Sm(e,t,a,l,s,c,u,m,j,k,G,Z){return e=new dp(e,t,a,u,j,k,G,Z,m),t=1,c===!0&&(t|=24),c=Dt(3,null,null,t),e.current=c,c.stateNode=e,t=Lc(),t.refCount++,e.pooledCache=t,t.refCount++,c.memoizedState={element:l,isDehydrated:a,cache:t},Vc(c),e}function Nm(e){return e?(e=Bn,e):Bn}function Cm(e,t,a,l,s,c){s=Nm(s),l.context===null?l.context=s:l.pendingContext=s,l=Ba(t),l.payload={element:a},c=c===void 0?null:c,c!==null&&(l.callback=c),a=Ha(e,l,t),a!==null&&(Nt(a,e,t),Hl(a,e,t))}function wm(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function ru(e,t){wm(e,t),(e=e.alternate)&&wm(e,t)}function zm(e){if(e.tag===13||e.tag===31){var t=un(e,67108864);t!==null&&Nt(t,e,67108864),ru(e,67108864)}}function Tm(e){if(e.tag===13||e.tag===31){var t=Rt();t=nc(t);var a=un(e,t);a!==null&&Nt(a,e,t),ru(e,t)}}var Mi=!0;function fp(e,t,a,l){var s=g.T;g.T=null;var c=D.p;try{D.p=2,uu(e,t,a,l)}finally{D.p=c,g.T=s}}function mp(e,t,a,l){var s=g.T;g.T=null;var c=D.p;try{D.p=8,uu(e,t,a,l)}finally{D.p=c,g.T=s}}function uu(e,t,a,l){if(Mi){var s=ou(l);if(s===null)$r(e,t,l,ki,a),Am(e,l);else if(xp(s,e,t,a,l))l.stopPropagation();else if(Am(e,l),t&4&&-1<hp.indexOf(e)){for(;s!==null;){var c=zn(s);if(c!==null)switch(c.tag){case 3:if(c=c.stateNode,c.current.memoizedState.isDehydrated){var u=nn(c.pendingLanes);if(u!==0){var m=c;for(m.pendingLanes|=2,m.entangledLanes|=2;u;){var j=1<<31-Et(u);m.entanglements[1]|=j,u&=~j}la(c),(we&6)===0&&(xi=zt()+500,es(0))}}break;case 31:case 13:m=un(c,2),m!==null&&Nt(m,c,2),pi(),ru(c,2)}if(c=ou(l),c===null&&$r(e,t,l,ki,a),c===s)break;s=c}s!==null&&l.stopPropagation()}else $r(e,t,l,null,a)}}function ou(e){return e=fc(e),du(e)}var ki=null;function du(e){if(ki=null,e=wn(e),e!==null){var t=x(e);if(t===null)e=null;else{var a=t.tag;if(a===13){if(e=y(t),e!==null)return e;e=null}else if(a===31){if(e=v(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return ki=e,null}function Em(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(Ph()){case Ou:return 2;case Ru:return 8;case Ss:case ex:return 32;case Uu:return 268435456;default:return 32}default:return 32}}var fu=!1,$a=null,Ja=null,Wa=null,cs=new Map,rs=new Map,Ia=[],hp="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 Am(e,t){switch(e){case"focusin":case"focusout":$a=null;break;case"dragenter":case"dragleave":Ja=null;break;case"mouseover":case"mouseout":Wa=null;break;case"pointerover":case"pointerout":cs.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":rs.delete(t.pointerId)}}function us(e,t,a,l,s,c){return e===null||e.nativeEvent!==c?(e={blockedOn:t,domEventName:a,eventSystemFlags:l,nativeEvent:c,targetContainers:[s]},t!==null&&(t=zn(t),t!==null&&zm(t)),e):(e.eventSystemFlags|=l,t=e.targetContainers,s!==null&&t.indexOf(s)===-1&&t.push(s),e)}function xp(e,t,a,l,s){switch(t){case"focusin":return $a=us($a,e,t,a,l,s),!0;case"dragenter":return Ja=us(Ja,e,t,a,l,s),!0;case"mouseover":return Wa=us(Wa,e,t,a,l,s),!0;case"pointerover":var c=s.pointerId;return cs.set(c,us(cs.get(c)||null,e,t,a,l,s)),!0;case"gotpointercapture":return c=s.pointerId,rs.set(c,us(rs.get(c)||null,e,t,a,l,s)),!0}return!1}function Dm(e){var t=wn(e.target);if(t!==null){var a=x(t);if(a!==null){if(t=a.tag,t===13){if(t=y(a),t!==null){e.blockedOn=t,Qu(e.priority,function(){Tm(a)});return}}else if(t===31){if(t=v(a),t!==null){e.blockedOn=t,Qu(e.priority,function(){Tm(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Oi(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=ou(e.nativeEvent);if(a===null){a=e.nativeEvent;var l=new a.constructor(a.type,a);dc=l,a.target.dispatchEvent(l),dc=null}else return t=zn(a),t!==null&&zm(t),e.blockedOn=a,!1;t.shift()}return!0}function _m(e,t,a){Oi(e)&&a.delete(t)}function gp(){fu=!1,$a!==null&&Oi($a)&&($a=null),Ja!==null&&Oi(Ja)&&(Ja=null),Wa!==null&&Oi(Wa)&&(Wa=null),cs.forEach(_m),rs.forEach(_m)}function Ri(e,t){e.blockedOn===t&&(e.blockedOn=null,fu||(fu=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,gp)))}var Ui=null;function Mm(e){Ui!==e&&(Ui=e,i.unstable_scheduleCallback(i.unstable_NormalPriority,function(){Ui===e&&(Ui=null);for(var t=0;t<e.length;t+=3){var a=e[t],l=e[t+1],s=e[t+2];if(typeof l!="function"){if(du(l||a)===null)continue;break}var c=zn(a);c!==null&&(e.splice(t,3),t-=3,or(c,{pending:!0,data:s,method:a.method,action:l},l,s))}}))}function cl(e){function t(j){return Ri(j,e)}$a!==null&&Ri($a,e),Ja!==null&&Ri(Ja,e),Wa!==null&&Ri(Wa,e),cs.forEach(t),rs.forEach(t);for(var a=0;a<Ia.length;a++){var l=Ia[a];l.blockedOn===e&&(l.blockedOn=null)}for(;0<Ia.length&&(a=Ia[0],a.blockedOn===null);)Dm(a),a.blockedOn===null&&Ia.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(l=0;l<a.length;l+=3){var s=a[l],c=a[l+1],u=s[pt]||null;if(typeof c=="function")u||Mm(a);else if(u){var m=null;if(c&&c.hasAttribute("formAction")){if(s=c,u=c[pt]||null)m=u.formAction;else if(du(s)!==null)continue}else m=u.action;typeof m=="function"?a[l+1]=m:(a.splice(l,3),l-=3),Mm(a)}}}function km(){function e(c){c.canIntercept&&c.info==="react-transition"&&c.intercept({handler:function(){return new Promise(function(u){return s=u})},focusReset:"manual",scroll:"manual"})}function t(){s!==null&&(s(),s=null),l||setTimeout(a,20)}function a(){if(!l&&!navigation.transition){var c=navigation.currentEntry;c&&c.url!=null&&navigation.navigate(c.url,{state:c.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var l=!1,s=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(a,100),function(){l=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),s!==null&&(s(),s=null)}}}function mu(e){this._internalRoot=e}Bi.prototype.render=mu.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(o(409));var a=t.current,l=Rt();Cm(a,l,e,t,null,null)},Bi.prototype.unmount=mu.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Cm(e.current,2,null,e,null,null),pi(),t[Cn]=null}};function Bi(e){this._internalRoot=e}Bi.prototype.unstable_scheduleHydration=function(e){if(e){var t=Gu();e={blockedOn:null,target:e,priority:t};for(var a=0;a<Ia.length&&t!==0&&t<Ia[a].priority;a++);Ia.splice(a,0,e),a===0&&Dm(e)}};var Om=r.version;if(Om!=="19.2.3")throw Error(o(527,Om,"19.2.3"));D.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(o(188)):(e=Object.keys(e).join(","),Error(o(268,e)));return e=S(t),e=e!==null?T(e):null,e=e===null?null:e.stateNode,e};var pp={bundleType:0,version:"19.2.3",rendererPackageName:"react-dom",currentDispatcherRef:g,reconcilerVersion:"19.2.3"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Hi=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Hi.isDisabled&&Hi.supportsFiber)try{yl=Hi.inject(pp),Tt=Hi}catch{}}return os.createRoot=function(e,t){if(!h(e))throw Error(o(299));var a=!1,l="",s=Ld,c=Gd,u=Qd;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(l=t.identifierPrefix),t.onUncaughtError!==void 0&&(s=t.onUncaughtError),t.onCaughtError!==void 0&&(c=t.onCaughtError),t.onRecoverableError!==void 0&&(u=t.onRecoverableError)),t=Sm(e,1,!1,null,null,a,l,null,s,c,u,km),e[Cn]=t.current,Fr(e),new mu(t)},os.hydrateRoot=function(e,t,a){if(!h(e))throw Error(o(299));var l=!1,s="",c=Ld,u=Gd,m=Qd,j=null;return a!=null&&(a.unstable_strictMode===!0&&(l=!0),a.identifierPrefix!==void 0&&(s=a.identifierPrefix),a.onUncaughtError!==void 0&&(c=a.onUncaughtError),a.onCaughtError!==void 0&&(u=a.onCaughtError),a.onRecoverableError!==void 0&&(m=a.onRecoverableError),a.formState!==void 0&&(j=a.formState)),t=Sm(e,1,!0,t,a??null,l,s,j,c,u,m,km),t.context=Nm(null),a=t.current,l=Rt(),l=nc(l),s=Ba(l),s.callback=null,Ha(a,s,l),a=l,t.current.lanes=a,bl(t,a),la(t),e[Cn]=t.current,Fr(e),new Bi(t)},os.version="19.2.3",os}var Ym;function $y(){if(Ym)return hu.exports;Ym=1;function i(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(r){console.error(r)}}return i(),hu.exports=Fy(),hu.exports}var Jy=$y();const Wy="/api";async function he(i,r){const d=await fetch(`${Wy}${i}`,{...r,headers:{"Content-Type":"application/json",...r?.headers}});if(!d.ok){const o=await d.json().catch(()=>({detail:"Unknown error"}));throw new Error(o.detail||`HTTP ${d.status}`)}if(d.status!==204)return d.json()}async function Iy(){return he("/projects")}async function Py(i,r,d="manual"){return he("/projects",{method:"POST",body:JSON.stringify({name:i,path:r,spec_method:d})})}async function e0(i){await he(`/projects/${encodeURIComponent(i)}`,{method:"DELETE"})}async function t0(i,r){return he(`/projects/${encodeURIComponent(i)}/settings`,{method:"PATCH",body:JSON.stringify(r)})}async function a0(i,r=!1){const d=r?"?full_reset=true":"";return he(`/projects/${encodeURIComponent(i)}/reset${d}`,{method:"POST"})}async function n0(i){return he(`/projects/${encodeURIComponent(i)}/features`)}async function l0(i,r){return he(`/projects/${encodeURIComponent(i)}/features`,{method:"POST",body:JSON.stringify(r)})}async function s0(i,r){await he(`/projects/${encodeURIComponent(i)}/features/${r}`,{method:"DELETE"})}async function i0(i,r){await he(`/projects/${encodeURIComponent(i)}/features/${r}/skip`,{method:"PATCH"})}async function c0(i,r,d){return he(`/projects/${encodeURIComponent(i)}/features/${r}`,{method:"PATCH",body:JSON.stringify(d)})}async function r0(i,r,d){return he(`/projects/${encodeURIComponent(i)}/features/${r}/resolve-human-input`,{method:"POST",body:JSON.stringify(d)})}async function u0(i){return he(`/projects/${encodeURIComponent(i)}/features/graph`)}async function o0(i){return he(`/projects/${encodeURIComponent(i)}/agent/status`)}async function Eu(i,r={}){return he(`/projects/${encodeURIComponent(i)}/agent/start`,{method:"POST",body:JSON.stringify({yolo_mode:r.yoloMode??!1,parallel_mode:r.parallelMode??!1,max_concurrency:r.maxConcurrency,testing_agent_ratio:r.testingAgentRatio})})}async function d0(i){return he(`/projects/${encodeURIComponent(i)}/agent/stop`,{method:"POST"})}async function f0(i){return he(`/projects/${encodeURIComponent(i)}/agent/graceful-pause`,{method:"POST"})}async function m0(i){return he(`/projects/${encodeURIComponent(i)}/agent/graceful-resume`,{method:"POST"})}async function h0(i){return he(`/spec/status/${encodeURIComponent(i)}`)}async function x0(){return he("/setup/status")}async function g0(){return he("/health")}async function p0(i){const r=i?`?path=${encodeURIComponent(i)}`:"";return he(`/filesystem/list${r}`)}async function y0(i){const r=i.endsWith("/")?i.slice(0,-1):i,d=r.lastIndexOf("/");let o,h;if(d===2&&/^[A-Za-z]:/.test(r))o=r.substring(0,3),h=r.substring(3);else if(d>0)o=r.substring(0,d),h=r.substring(d+1);else if(d===0)o="/",h=r.substring(1);else throw new Error("Invalid path: must be an absolute path");if(!h)throw new Error("Invalid path: directory name is empty");return he("/filesystem/create-directory",{method:"POST",body:JSON.stringify({parent_path:o,name:h})})}async function v0(i){return he(`/assistant/conversations/${encodeURIComponent(i)}`)}async function b0(i,r){return he(`/assistant/conversations/${encodeURIComponent(i)}/${r}`)}async function j0(i,r){await he(`/assistant/conversations/${encodeURIComponent(i)}/${r}`,{method:"DELETE"})}async function S0(){return he("/settings/models")}async function N0(){return he("/settings/providers")}async function C0(){return he("/settings")}async function w0(i){return he("/settings",{method:"PATCH",body:JSON.stringify(i)})}async function Dh(i,r){return he(`/projects/${encodeURIComponent(i)}/devserver/start`,{method:"POST",body:JSON.stringify({command:r})})}async function z0(i){return he(`/projects/${encodeURIComponent(i)}/devserver/stop`,{method:"POST"})}async function T0(i){return he(`/projects/${encodeURIComponent(i)}/devserver/config`)}async function E0(i,r){return he(`/projects/${encodeURIComponent(i)}/devserver/config`,{method:"PATCH",body:JSON.stringify({custom_command:r})})}async function A0(i){return he(`/terminal/${encodeURIComponent(i)}`)}async function D0(i,r){return he(`/terminal/${encodeURIComponent(i)}`,{method:"POST",body:JSON.stringify({name:null})})}async function _0(i,r,d){return he(`/terminal/${encodeURIComponent(i)}/${r}`,{method:"PATCH",body:JSON.stringify({name:d})})}async function M0(i,r){await he(`/terminal/${encodeURIComponent(i)}/${r}`,{method:"DELETE"})}async function k0(i){return he(`/projects/${encodeURIComponent(i)}/schedules`)}async function O0(i,r){return he(`/projects/${encodeURIComponent(i)}/schedules`,{method:"POST",body:JSON.stringify(r)})}async function R0(i,r,d){return he(`/projects/${encodeURIComponent(i)}/schedules/${r}`,{method:"PATCH",body:JSON.stringify(d)})}async function U0(i,r){await he(`/projects/${encodeURIComponent(i)}/schedules/${r}`,{method:"DELETE"})}async function B0(i){return he(`/projects/${encodeURIComponent(i)}/schedules/next`)}function H0(){return gt({queryKey:["projects"],queryFn:Iy})}function q0(){const i=Qe();return Ze({mutationFn:({name:r,path:d,specMethod:o})=>Py(r,d,o),onSuccess:()=>{i.invalidateQueries({queryKey:["projects"]})}})}function L0(){const i=Qe();return Ze({mutationFn:r=>e0(r),onSuccess:()=>{i.invalidateQueries({queryKey:["projects"]})}})}function G0(i){const r=Qe();return Ze({mutationFn:d=>a0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["projects"]}),r.invalidateQueries({queryKey:["project",i]}),r.invalidateQueries({queryKey:["features",i]}),r.invalidateQueries({queryKey:["agent-status",i]})}})}function Q0(i){const r=Qe();return Ze({mutationFn:d=>t0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["projects"]}),r.invalidateQueries({queryKey:["project",i]})}})}function _h(i){return gt({queryKey:["features",i],queryFn:()=>n0(i),enabled:!!i,refetchInterval:5e3})}function Y0(i){const r=Qe();return Ze({mutationFn:d=>l0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["features",i]})}})}function V0(i){const r=Qe();return Ze({mutationFn:d=>s0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["features",i]})}})}function X0(i){const r=Qe();return Ze({mutationFn:d=>i0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["features",i]})}})}function K0(i){const r=Qe();return Ze({mutationFn:({featureId:d,update:o})=>c0(i,d,o),onSuccess:()=>{r.invalidateQueries({queryKey:["features",i]})}})}function Z0(i){const r=Qe();return Ze({mutationFn:({featureId:d,fields:o})=>r0(i,d,{fields:o}),onSuccess:()=>{r.invalidateQueries({queryKey:["features",i]})}})}function F0(i){return gt({queryKey:["agent-status",i],queryFn:()=>o0(i),enabled:!!i,refetchInterval:3e3})}function $0(i){const r=Qe();return Ze({mutationFn:(d={})=>Eu(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["agent-status",i]})}})}function J0(i){const r=Qe();return Ze({mutationFn:()=>d0(i),onSuccess:()=>{r.invalidateQueries({queryKey:["agent-status",i]}),r.invalidateQueries({queryKey:["nextRun",i]})}})}function W0(i){const r=Qe();return Ze({mutationFn:()=>f0(i),onSuccess:()=>{r.invalidateQueries({queryKey:["agent-status",i]})}})}function I0(i){const r=Qe();return Ze({mutationFn:()=>m0(i),onSuccess:()=>{r.invalidateQueries({queryKey:["agent-status",i]})}})}function P0(){return gt({queryKey:["setup-status"],queryFn:x0,staleTime:6e4})}function ev(){return gt({queryKey:["health"],queryFn:g0,retry:!1})}const Mh={models:[{id:"claude-opus-4-6",name:"Claude Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet"}],default:"claude-opus-4-6"},kh={yolo_mode:!1,model:"claude-opus-4-6",glm_mode:!1,ollama_mode:!1,testing_agent_ratio:1,playwright_headless:!0,batch_size:3,api_provider:"claude",api_base_url:null,api_has_auth_token:!1,api_model:null},tv={providers:[{id:"claude",name:"Claude (Anthropic)",base_url:null,models:Mh.models,default_model:"claude-opus-4-6",requires_auth:!1}],current:"claude"};function av(){return gt({queryKey:["available-providers"],queryFn:N0,staleTime:3e5,retry:1,placeholderData:tv})}function nv(){return gt({queryKey:["available-models"],queryFn:S0,staleTime:3e5,retry:1,placeholderData:Mh})}function Au(){return gt({queryKey:["settings"],queryFn:C0,staleTime:6e4,retry:1,placeholderData:kh})}function lv(){const i=Qe();return Ze({mutationFn:r=>w0(r),onMutate:async r=>{await i.cancelQueries({queryKey:["settings"]});const d=i.getQueryData(["settings"]);return i.setQueryData(["settings"],o=>({...kh,...o,...r})),{previous:d}},onError:(r,d,o)=>{o?.previous&&i.setQueryData(["settings"],o.previous)},onSettled:()=>{i.invalidateQueries({queryKey:["settings"]}),i.invalidateQueries({queryKey:["available-models"]}),i.invalidateQueries({queryKey:["available-providers"]})}})}const sv={detected_type:null,detected_command:null,custom_command:null,effective_command:null};function iv(i){return gt({queryKey:["dev-server-config",i],queryFn:()=>T0(i),enabled:!!i,staleTime:3e4,placeholderData:sv})}function cv(i){const r=Qe();return Ze({mutationFn:d=>E0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["dev-server-config",i]})}})}const Vm=100,rv=20,Xm=500;function uv(i){const[r,d]=f.useState({progress:{passing:0,in_progress:0,needs_human_input:0,total:0,percentage:0},agentStatus:"loading",logs:[],isConnected:!1,devServerStatus:"stopped",devServerUrl:null,devLogs:[],activeAgents:[],recentActivity:[],agentLogs:new Map,celebrationQueue:[],celebration:null,orchestratorStatus:null}),o=f.useRef(null),h=f.useRef(null),x=f.useRef(0),y=f.useCallback(()=>{if(!i)return;const w=window.location.protocol==="https:"?"wss:":"ws:",O=window.location.host,U=`${w}//${O}/ws/projects/${encodeURIComponent(i)}`;try{const z=new WebSocket(U);o.current=z,z.onopen=()=>{d(_=>({..._,isConnected:!0})),x.current=0},z.onmessage=_=>{try{const b=JSON.parse(_.data);switch(b.type){case"progress":d(N=>({...N,progress:{passing:b.passing,in_progress:b.in_progress,needs_human_input:b.needs_human_input??0,total:b.total,percentage:b.percentage}}));break;case"agent_status":d(N=>({...N,agentStatus:b.status,...(b.status==="stopped"||b.status==="crashed")&&{activeAgents:[],recentActivity:[],orchestratorStatus:null}}));break;case"log":d(N=>{const L=[...N.logs.slice(-Vm+1),{line:b.line,timestamp:b.timestamp,featureId:b.featureId,agentIndex:b.agentIndex}];let $=N.agentLogs;if(b.agentIndex!==void 0){$=new Map(N.agentLogs);const W=$.get(b.agentIndex)||[],K={line:b.line,timestamp:b.timestamp,type:"output"};$.set(b.agentIndex,[...W.slice(-Xm+1),K])}return{...N,logs:L,agentLogs:$}});break;case"feature_update":break;case"agent_update":d(N=>{const L=new Map(N.agentLogs),$=L.get(b.agentIndex)||[],W={line:`[STATE] ${b.state}${b.thought?`: ${b.thought}`:""}`,timestamp:b.timestamp,type:b.state==="error"?"error":"state_change"};L.set(b.agentIndex,[...$.slice(-Xm+1),W]);const K=L.get(b.agentIndex)||[],I=N.activeAgents.findIndex(J=>J.agentIndex===b.agentIndex);let Q;b.state==="success"||b.state==="error"?b.agentIndex===-1?Q=N.activeAgents.filter(J=>J.featureId!==b.featureId):Q=N.activeAgents.filter(J=>J.agentIndex!==b.agentIndex):I>=0?(Q=[...N.activeAgents],Q[I]={agentIndex:b.agentIndex,agentName:b.agentName,agentType:b.agentType||"coding",featureId:b.featureId,featureIds:b.featureIds||[b.featureId],featureName:b.featureName,state:b.state,thought:b.thought,timestamp:b.timestamp,logs:K}):Q=[...N.activeAgents,{agentIndex:b.agentIndex,agentName:b.agentName,agentType:b.agentType||"coding",featureId:b.featureId,featureIds:b.featureIds||[b.featureId],featureName:b.featureName,state:b.state,thought:b.thought,timestamp:b.timestamp,logs:K}];let le=N.recentActivity;b.thought&&(le=[{agentName:b.agentName,thought:b.thought,timestamp:b.timestamp,featureId:b.featureId},...N.recentActivity.slice(0,rv-1)]);let P=N.celebrationQueue,H=N.celebration;if(b.state==="success"){const J={agentName:b.agentName,featureName:b.featureName,featureId:b.featureId};N.celebration?P=[...N.celebrationQueue,J]:H=J}return{...N,activeAgents:Q,agentLogs:L,recentActivity:le,celebrationQueue:P,celebration:H}});break;case"orchestrator_update":d(N=>{const L={eventType:b.eventType,message:b.message,timestamp:b.timestamp,featureId:b.featureId,featureName:b.featureName};return{...N,orchestratorStatus:{state:b.state,message:b.message,codingAgents:b.codingAgents??N.orchestratorStatus?.codingAgents??0,testingAgents:b.testingAgents??N.orchestratorStatus?.testingAgents??0,maxConcurrency:b.maxConcurrency??N.orchestratorStatus?.maxConcurrency??3,readyCount:b.readyCount??N.orchestratorStatus?.readyCount??0,blockedCount:b.blockedCount??N.orchestratorStatus?.blockedCount??0,timestamp:b.timestamp,recentEvents:[L,...(N.orchestratorStatus?.recentEvents??[]).slice(0,4)]}}});break;case"dev_log":d(N=>({...N,devLogs:[...N.devLogs.slice(-Vm+1),{line:b.line,timestamp:b.timestamp}]}));break;case"dev_server_status":d(N=>({...N,devServerStatus:b.status,devServerUrl:b.url}));break;case"pong":break}}catch{console.error("Failed to parse WebSocket message")}},z.onclose=_=>{if(d(L=>({...L,isConnected:!1})),o.current=null,_.code>=4e3&&_.code<=4999)return;const N=Math.min(1e3*Math.pow(2,x.current),3e4);x.current++,h.current=window.setTimeout(()=>{y()},N)},z.onerror=()=>{z.close()}}catch{}},[i]),v=f.useCallback(()=>{o.current?.readyState===WebSocket.OPEN&&o.current.send(JSON.stringify({type:"ping"}))},[]),p=f.useCallback(()=>{d(w=>{const[O,...U]=w.celebrationQueue;return{...w,celebration:O||null,celebrationQueue:U}})},[]);f.useEffect(()=>{if(d({progress:{passing:0,in_progress:0,needs_human_input:0,total:0,percentage:0},agentStatus:"loading",logs:[],isConnected:!1,devServerStatus:"stopped",devServerUrl:null,devLogs:[],activeAgents:[],recentActivity:[],agentLogs:new Map,celebrationQueue:[],celebration:null,orchestratorStatus:null}),!i){o.current&&(o.current.close(),o.current=null);return}y();const w=setInterval(v,3e4);return()=>{clearInterval(w),h.current&&clearTimeout(h.current),o.current&&(o.current.close(),o.current=null)}},[i,y,v]),f.useEffect(()=>{const O=setInterval(()=>{d(U=>{const z=Date.now(),_=U.activeAgents.filter(b=>z-new Date(b.timestamp).getTime()<18e5);return _.length!==U.activeAgents.length?{...U,activeAgents:_}:U})},6e4);return()=>clearInterval(O)},[]);const S=f.useCallback(()=>{d(w=>({...w,logs:[]}))},[]),T=f.useCallback(()=>{d(w=>({...w,devLogs:[]}))},[]),E=f.useCallback(w=>r.agentLogs.get(w)||[],[r.agentLogs]),B=f.useCallback(w=>{d(O=>{const U=new Map(O.agentLogs);return U.delete(w),{...O,agentLogs:U}})},[]);return{...r,clearLogs:S,clearDevLogs:T,clearCelebration:p,getAgentLogs:E,clearAgentLogs:B}}const ov={started:[523.25,659.25],completed:[523.25,659.25,783.99]};function Km(i){try{const r=new(window.AudioContext||window.webkitAudioContext),d=ov[i],o=i==="completed"?.15:.12,h=d.length*o;d.forEach((x,y)=>{const v=r.createOscillator(),p=r.createGain();v.connect(p),p.connect(r.destination),v.type="sine",v.frequency.setValueAtTime(x,r.currentTime);const S=r.currentTime+y*o;p.gain.setValueAtTime(0,S),p.gain.linearRampToValueAtTime(.3,S+.02),p.gain.exponentialRampToValueAtTime(.01,S+o),v.start(S),v.stop(S+o)}),setTimeout(()=>{r.close()},h*1e3+100)}catch{}}function dv(i){return{pendingIds:new Set(i?.pending.map(r=>r.id)??[]),inProgressIds:new Set(i?.in_progress.map(r=>r.id)??[]),doneIds:new Set(i?.done.map(r=>r.id)??[])}}function fv(i){const r=f.useRef(null),d=f.useRef(!1);f.useEffect(()=>{if(!i)return;const o=dv(i);if(!d.current){r.current=o,d.current=!0;return}const h=r.current;if(!h){r.current=o;return}for(const x of o.inProgressIds)if(h.pendingIds.has(x)&&!h.inProgressIds.has(x)){Km("started");break}for(const x of o.doneIds)if(!h.doneIds.has(x)&&(h.inProgressIds.has(x)||h.pendingIds.has(x))){Km("completed");break}r.current=o},[i])}function mv(){try{const i=new(window.AudioContext||window.webkitAudioContext),r=[{freq:523.25,start:0},{freq:659.25,start:.15},{freq:783.99,start:.3},{freq:1046.5,start:.45}],d=.25;r.forEach(({freq:y,start:v})=>{const p=i.createOscillator(),S=i.createGain();p.connect(S),S.connect(i.destination),p.type="sine",p.frequency.setValueAtTime(y,i.currentTime+v);const T=i.currentTime+v;S.gain.setValueAtTime(0,T),S.gain.linearRampToValueAtTime(.4,T+.03),S.gain.setValueAtTime(.4,T+d*.6),S.gain.exponentialRampToValueAtTime(.01,T+d),p.start(T),p.stop(T+d)});const o=[523.25,659.25,783.99,1046.5],h=.65,x=.5;o.forEach(y=>{const v=i.createOscillator(),p=i.createGain();v.connect(p),p.connect(i.destination),v.type="sine",v.frequency.setValueAtTime(y,i.currentTime+h);const S=i.currentTime+h;p.gain.setValueAtTime(0,S),p.gain.linearRampToValueAtTime(.2,S+.05),p.gain.setValueAtTime(.2,S+x*.5),p.gain.exponentialRampToValueAtTime(.01,S+x),v.start(S),v.stop(S+x)}),setTimeout(()=>{i.close()},1500)}catch{}}function hv(){const r=Date.now()+2e3;qi({particleCount:100,spread:70,origin:{x:0,y:.6},angle:60,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]}),qi({particleCount:100,spread:70,origin:{x:1,y:.6},angle:120,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]});const d=setInterval(()=>{if(Date.now()>r){clearInterval(d);return}qi({particleCount:30,spread:60,origin:{x:0,y:.6},angle:60,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]}),qi({particleCount:30,spread:60,origin:{x:1,y:.6},angle:120,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]})},250)}function xv(i){return i?i.pending.length===0&&i.in_progress.length===0&&(i.needs_human_input?.length||0)===0&&i.done.length>0:!1}function gv(i,r){const d=f.useRef(new Set),o=f.useRef(null);f.useEffect(()=>{if(!i||!r)return;const h=xv(i);if(o.current!==r){o.current=r,h&&d.current.add(r);return}h&&!d.current.has(r)&&(d.current.add(r),hv(),mv())},[i,r])}const Yi=[{id:"twitter",name:"Twitter",description:"Clean and modern blue design",previewColors:{primary:"#4a9eff",background:"#ffffff",accent:"#e8f4ff"}},{id:"claude",name:"Claude",description:"Warm beige tones with orange accents",previewColors:{primary:"#c75b2a",background:"#faf6f0",accent:"#f5ede4"}},{id:"neo-brutalism",name:"Neo Brutalism",description:"Bold colors with hard shadows",previewColors:{primary:"#ff4d00",background:"#ffffff",accent:"#ffeb00"}},{id:"retro-arcade",name:"Retro Arcade",description:"Vibrant pink and teal pixel vibes",previewColors:{primary:"#e8457c",background:"#f0e6d3",accent:"#4eb8a5"}},{id:"aurora",name:"Aurora",description:"Deep violet and teal, like northern lights",previewColors:{primary:"#8b5cf6",background:"#faf8ff",accent:"#2dd4bf"}},{id:"business",name:"Business",description:"Deep navy (#000e4e) and gray monochrome",previewColors:{primary:"#000e4e",background:"#eaecef",accent:"#6b7280"}}],Zm="autoforge-theme",Fm="autoforge-dark-mode";function pv(i){switch(i){case"twitter":return"";case"claude":return"theme-claude";case"neo-brutalism":return"theme-neo-brutalism";case"retro-arcade":return"theme-retro-arcade";case"aurora":return"theme-aurora";case"business":return"theme-business";default:return""}}function Oh(){const[i,r]=f.useState(()=>{try{const v=localStorage.getItem(Zm);if(v==="twitter"||v==="claude"||v==="neo-brutalism"||v==="retro-arcade"||v==="aurora"||v==="business")return v}catch{}return"twitter"}),[d,o]=f.useState(()=>{try{return localStorage.getItem(Fm)==="true"}catch{return!1}});f.useEffect(()=>{const v=document.documentElement;v.classList.remove("theme-claude","theme-neo-brutalism","theme-retro-arcade","theme-aurora","theme-business");const p=pv(i);p&&v.classList.add(p),d?v.classList.add("dark"):v.classList.remove("dark");try{localStorage.setItem(Zm,i),localStorage.setItem(Fm,String(d))}catch{}},[i,d]);const h=f.useCallback(v=>{r(v)},[]),x=f.useCallback(v=>{o(v)},[]),y=f.useCallback(()=>{o(v=>!v)},[]);return{theme:i,setTheme:h,darkMode:d,setDarkMode:x,toggleDarkMode:y,themes:Yi,currentTheme:Yi.find(v=>v.id===i)??Yi[0]}}function en(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function yv({projectName:i,onError:r}){const[d,o]=f.useState([]),[h,x]=f.useState(!1),[y,v]=f.useState(!1),[p,S]=f.useState("disconnected"),[T,E]=f.useState(null),[B,w]=f.useState(null),O=f.useRef(null),U=f.useRef(null),z=f.useRef(0),_=3,b=f.useRef(null),N=f.useRef(null),L=f.useRef(!1);f.useEffect(()=>{L.current=y},[y]),f.useEffect(()=>()=>{b.current&&clearInterval(b.current),N.current&&clearTimeout(N.current),O.current&&O.current.close()},[]),f.useEffect(()=>{if(y)return;const le=setTimeout(()=>{const P=setInterval(async()=>{if(L.current){clearInterval(P);return}try{const H=await h0(i);H.exists&&H.status==="complete"&&(v(!0),x(!1),o(J=>{const X=J[J.length-1];return X?.role==="assistant"&&X.isStreaming?[...J.slice(0,-1),{...X,isStreaming:!1}]:J}),o(J=>[...J,{id:en(),role:"system",content:`Spec creation complete! Files written: ${H.files_written.join(", ")}${H.feature_count?` (${H.feature_count} features)`:""}`,timestamp:new Date}]),clearInterval(P))}catch{}},3e3);return()=>clearInterval(P)},3e3);return()=>clearTimeout(le)},[i,y]);const $=f.useCallback(()=>{if(O.current?.readyState===WebSocket.OPEN)return;S("connecting");const le=window.location.protocol==="https:"?"wss:":"ws:",P=window.location.host,H=`${le}//${P}/api/spec/ws/${encodeURIComponent(i)}`,J=new WebSocket(H);O.current=J,J.onopen=()=>{S("connected"),z.current=0,b.current=window.setInterval(()=>{J.readyState===WebSocket.OPEN&&J.send(JSON.stringify({type:"ping"}))},3e4)},J.onclose=X=>{if(S("disconnected"),b.current&&(clearInterval(b.current),b.current=null),!(X.code>=4e3&&X.code<=4999)&&z.current<_&&!L.current){z.current++;const g=Math.min(1e3*Math.pow(2,z.current),1e4);N.current=window.setTimeout($,g)}},J.onerror=()=>{S("error"),r?.("WebSocket connection error")},J.onmessage=X=>{try{const Y=JSON.parse(X.data);switch(Y.type){case"text":{o(g=>{const D=g[g.length-1];return D?.role==="assistant"&&D.isStreaming?[...g.slice(0,-1),{...D,content:D.content+Y.content}]:(U.current=en(),[...g,{id:U.current,role:"assistant",content:Y.content,timestamp:new Date,isStreaming:!0}])});break}case"question":{E(Y.questions),w(Y.tool_id||null),x(!1),o(g=>{const D=g[g.length-1];return D?.role==="assistant"&&D.isStreaming?[...g.slice(0,-1),{...D,isStreaming:!1,questions:Y.questions}]:g});break}case"spec_complete":{v(!0),x(!1),o(g=>{const D=g[g.length-1];return D?.role==="assistant"&&D.isStreaming?[...g.slice(0,-1),{...D,isStreaming:!1}]:g}),o(g=>[...g,{id:en(),role:"system",content:`Specification file created: ${Y.path}`,timestamp:new Date}]);break}case"file_written":{o(g=>[...g,{id:en(),role:"system",content:`File created: ${Y.path}`,timestamp:new Date}]);break}case"complete":{v(!0),x(!1),o(g=>{const D=g[g.length-1];return D?.role==="assistant"&&D.isStreaming?[...g.slice(0,-1),{...D,isStreaming:!1}]:g});break}case"error":{x(!1),r?.(Y.content),o(g=>[...g,{id:en(),role:"system",content:`Error: ${Y.content}`,timestamp:new Date}]);break}case"rate_limited":{o(g=>[...g,{id:en(),role:"system",content:`Rate limited. Retrying in ${Y.retry_in}s... (attempt ${Y.attempt}/${Y.max_attempts})`,timestamp:new Date}]);break}case"pong":break;case"response_done":{x(!1),o(g=>{const D=g[g.length-1];return D?.role==="assistant"&&D.isStreaming?[...g.slice(0,-1),{...D,isStreaming:!1}]:g});break}}}catch(Y){console.error("Failed to parse WebSocket message:",Y)}}},[i,r]),W=f.useCallback(()=>{$();const le=()=>{O.current?.readyState===WebSocket.OPEN?(x(!0),O.current.send(JSON.stringify({type:"start"}))):O.current?.readyState===WebSocket.CONNECTING&&setTimeout(le,100)};setTimeout(le,100)},[$]),K=f.useCallback((le,P)=>{if(!O.current||O.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}o(J=>[...J,{id:en(),role:"user",content:le,attachments:P,timestamp:new Date}]),E(null),w(null),x(!0);const H={type:"message",content:le};P&&P.length>0&&(H.attachments=P.map(J=>({filename:J.filename,mimeType:J.mimeType,base64Data:J.base64Data}))),O.current.send(JSON.stringify(H))},[r]),I=f.useCallback(le=>{if(!O.current||O.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}const P=Object.values(le).map(H=>Array.isArray(H)?H.join(", "):H).join("; ");o(H=>[...H,{id:en(),role:"user",content:P,timestamp:new Date}]),E(null),w(null),x(!0),O.current.send(JSON.stringify({type:"answer",answers:le,tool_id:B}))},[B,r]),Q=f.useCallback(()=>{z.current=_,b.current&&(clearInterval(b.current),b.current=null),O.current&&(O.current.close(),O.current=null),S("disconnected")},[]);return{messages:d,isLoading:h,isComplete:y,connectionStatus:p,currentQuestions:T,currentToolId:B,start:W,sendMessage:K,sendAnswer:I,disconnect:Q}}function Re(...i){return Cp(wp(i))}function Oe({className:i,...r}){return n.jsx("div",{"data-slot":"card",className:Re("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",i),...r})}function Ji({className:i,...r}){return n.jsx("div",{"data-slot":"card-header",className:Re("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",i),...r})}function Du({className:i,...r}){return n.jsx("div",{"data-slot":"card-title",className:Re("leading-none font-semibold",i),...r})}function vv({className:i,...r}){return n.jsx("div",{"data-slot":"card-description",className:Re("text-muted-foreground text-sm",i),...r})}function Ge({className:i,...r}){return n.jsx("div",{"data-slot":"card-content",className:Re("px-6",i),...r})}const bv=[gy],jv={a:({children:i,href:r,...d})=>n.jsx("a",{href:r,target:"_blank",rel:"noopener noreferrer",...d,children:i})},_u=f.memo(function({message:r}){const{role:d,content:o,attachments:h,timestamp:x,isStreaming:y}=r,v=x.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),S={user:{icon:Tp,bgColor:"bg-primary",textColor:"text-primary-foreground",align:"justify-end",bubbleAlign:"items-end",iconBg:"bg-primary",iconColor:"text-primary-foreground"},assistant:{icon:Cu,bgColor:"bg-muted",textColor:"text-foreground",align:"justify-start",bubbleAlign:"items-start",iconBg:"bg-secondary",iconColor:"text-secondary-foreground"},system:{icon:zp,bgColor:"bg-green-100 dark:bg-green-900/30",textColor:"text-green-900 dark:text-green-100",align:"justify-center",bubbleAlign:"items-center",iconBg:"bg-green-500",iconColor:"text-white"}}[d],T=S.icon;return d==="system"?n.jsx("div",{className:`flex ${S.align} px-4 py-2`,children:n.jsx("div",{className:`${S.bgColor} border border-border rounded-lg px-4 py-2 text-sm font-mono ${S.textColor}`,children:n.jsxs("span",{className:"flex items-center gap-2",children:[n.jsx(T,{size:14}),o]})})}):n.jsx("div",{className:`flex ${S.align} px-4 py-2`,children:n.jsxs("div",{className:`flex flex-col ${S.bubbleAlign} max-w-[80%] gap-1`,children:[n.jsxs("div",{className:"flex items-start gap-2",children:[d==="assistant"&&n.jsx("div",{className:`${S.iconBg} p-1.5 rounded flex-shrink-0`,children:n.jsx(T,{size:16,className:S.iconColor})}),n.jsxs(Oe,{className:`${S.bgColor} px-4 py-3 border ${y?"animate-pulse":""}`,children:[o&&n.jsx("div",{className:`text-sm leading-relaxed ${S.textColor} chat-prose${d==="user"?" chat-prose-user":""}`,children:n.jsx(xy,{remarkPlugins:bv,components:jv,children:o})}),h&&h.length>0&&n.jsx("div",{className:`flex flex-wrap gap-2 ${o?"mt-3":""}`,children:h.map(E=>n.jsxs("div",{className:"border border-border rounded p-1 bg-card",children:[n.jsx("img",{src:E.previewUrl,alt:E.filename,className:"max-w-48 max-h-48 object-contain cursor-pointer hover:opacity-90 transition-opacity rounded",onClick:()=>window.open(E.previewUrl,"_blank"),title:`${E.filename} (click to enlarge)`}),n.jsx("span",{className:"text-xs text-muted-foreground block mt-1 text-center",children:E.filename})]},E.id))}),y&&n.jsx("span",{className:"inline-block w-2 h-4 bg-primary ml-1 animate-pulse rounded"})]}),d==="user"&&n.jsx("div",{className:`${S.iconBg} p-1.5 rounded flex-shrink-0`,children:n.jsx(T,{size:16,className:S.iconColor})})]}),n.jsx("span",{className:"text-xs text-muted-foreground font-mono px-2",children:v})]})})}),Sv=wu("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function F({className:i,variant:r="default",size:d="default",asChild:o=!1,...h}){const x=o?Ch:"button";return n.jsx(x,{"data-slot":"button","data-variant":r,"data-size":d,className:Re(Sv({variant:r,size:d,className:i})),...h})}function lt({className:i,type:r,...d}){return n.jsx("input",{type:r,"data-slot":"input",className:Re("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",i),...d})}const Nv=wu("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function Me({className:i,variant:r="default",asChild:d=!1,...o}){const h=d?Ch:"span";return n.jsx(h,{"data-slot":"badge","data-variant":r,className:Re(Nv({variant:r}),i),...o})}function Rh({questions:i,onSubmit:r,disabled:d=!1}){const[o,h]=f.useState({}),[x,y]=f.useState({}),[v,p]=f.useState({}),S=(U,z,_)=>{const b=String(U);if(z==="Other"){p(N=>({...N,[b]:!0}));return}p(N=>({...N,[b]:!1})),h(N=>{if(_){const L=N[b]||[];return L.includes(z)?{...N,[b]:L.filter($=>$!==z)}:{...N,[b]:[...L,z]}}else return{...N,[b]:z}})},T=(U,z)=>{const _=String(U);y(b=>({...b,[_]:z})),h(b=>({...b,[_]:z}))},E=()=>{const U={};i.forEach((z,_)=>{const b=String(_);v[b]&&x[b]?U[b]=x[b]:o[b]&&(U[b]=o[b])}),r(U)},B=(U,z,_)=>{const b=String(U),N=o[b];return _?Array.isArray(N)&&N.includes(z):N===z},w=U=>{const z=String(U);return!!(o[z]||v[z]&&x[z])},O=i.every((U,z)=>w(z));return n.jsxs("div",{className:"space-y-6 p-4",children:[i.map((U,z)=>n.jsx(Oe,{children:n.jsxs(Ge,{className:"p-4",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[n.jsx(Me,{children:U.header}),n.jsx("span",{className:"font-bold text-foreground",children:U.question}),U.multiSelect&&n.jsx("span",{className:"text-xs text-muted-foreground font-mono",children:"(select multiple)"})]}),n.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[U.options.map((_,b)=>{const N=B(z,_.label,U.multiSelect);return n.jsx("button",{onClick:()=>S(z,_.label,U.multiSelect),disabled:d,className:`
|
|
10
10
|
text-left p-4 rounded-lg border-2 transition-all duration-150
|
|
11
11
|
${N?"bg-primary/10 border-primary":"bg-card border-border hover:border-primary/50 hover:bg-muted"}
|
|
12
12
|
disabled:opacity-50 disabled:cursor-not-allowed
|
|
@@ -22,7 +22,7 @@ Error generating stack: `+l.message+`
|
|
|
22
22
|
w-5 h-5 flex-shrink-0 mt-0.5 border-2 flex items-center justify-center
|
|
23
23
|
${U.multiSelect?"rounded":"rounded-full"}
|
|
24
24
|
${v[String(z)]?"bg-primary border-primary text-primary-foreground":"border-border bg-background"}
|
|
25
|
-
`,children:v[String(z)]&&n.jsx(sa,{size:12,strokeWidth:3})}),n.jsxs("div",{className:"flex-1",children:[n.jsx("div",{className:"font-bold text-foreground",children:"Other"}),n.jsx("div",{className:"text-sm text-muted-foreground mt-1",children:"Provide a custom answer"})]})]})})]}),v[String(z)]&&n.jsx("div",{className:"mt-4",children:n.jsx(lt,{type:"text",value:x[String(z)]||"",onChange:_=>T(z,_.target.value),placeholder:"Type your answer...",autoFocus:!0,disabled:d})})]})},z)),n.jsx("div",{className:"flex justify-end",children:n.jsx(F,{onClick:E,disabled:d||!O,children:"Continue"})})]})}function Uh(){return n.jsxs("div",{className:"flex items-center gap-2 p-4",children:[n.jsxs("div",{className:"flex items-center gap-1",children:[n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"0ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"150ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"300ms"}})]}),n.jsx("span",{className:"text-sm font-mono text-muted-foreground",children:"Claude is thinking..."})]})}function
|
|
25
|
+
`,children:v[String(z)]&&n.jsx(sa,{size:12,strokeWidth:3})}),n.jsxs("div",{className:"flex-1",children:[n.jsx("div",{className:"font-bold text-foreground",children:"Other"}),n.jsx("div",{className:"text-sm text-muted-foreground mt-1",children:"Provide a custom answer"})]})]})})]}),v[String(z)]&&n.jsx("div",{className:"mt-4",children:n.jsx(lt,{type:"text",value:x[String(z)]||"",onChange:_=>T(z,_.target.value),placeholder:"Type your answer...",autoFocus:!0,disabled:d})})]})},z)),n.jsx("div",{className:"flex justify-end",children:n.jsx(F,{onClick:E,disabled:d||!O,children:"Continue"})})]})}function Uh(){return n.jsxs("div",{className:"flex items-center gap-2 p-4",children:[n.jsxs("div",{className:"flex items-center gap-1",children:[n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"0ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"150ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"300ms"}})]}),n.jsx("span",{className:"text-sm font-mono text-muted-foreground",children:"Claude is thinking..."})]})}function ys(i,r=!0){return!(i.key!=="Enter"||r&&i.shiftKey||i.nativeEvent.isComposing)}function vs({className:i,...r}){return n.jsx("textarea",{"data-slot":"textarea",className:Re("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",i),...r})}const Cv=wu("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"}},defaultVariants:{variant:"default"}});function ft({className:i,variant:r,...d}){return n.jsx("div",{"data-slot":"alert",role:"alert",className:Re(Cv({variant:r}),i),...d})}function wv({className:i,...r}){return n.jsx("div",{"data-slot":"alert-title",className:Re("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",i),...r})}function mt({className:i,...r}){return n.jsx("div",{"data-slot":"alert-description",className:Re("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",i),...r})}const zv=5*1024*1024,Tv=["image/jpeg","image/png"],Ev=`Let's call it Simple Todo. This is a really simple web app that I can use to track my to-do items using a Kanban board. I should be able to add to-dos and then drag and drop them through the Kanban board. The different columns in the Kanban board are:
|
|
26
26
|
|
|
27
27
|
- To Do
|
|
28
28
|
- In Progress
|
|
@@ -37,13 +37,13 @@ There is no need for user authentication either. All the to-dos will be stored i
|
|
|
37
37
|
|
|
38
38
|
Users should have the ability to easily clear out all the completed To-Dos. They should also be able to filter and search for To-Dos as well.
|
|
39
39
|
|
|
40
|
-
You choose the rest. Keep it simple. Should be 25 features.`;function Bh({projectName:i,onComplete:r,onCancel:d,onExitToProject:o,initializerStatus:h="idle",initializerError:x=null,onRetryInitializer:y}){const[v,p]=f.useState(""),[S,T]=f.useState(null),[E,B]=f.useState(!1),[w,O]=f.useState([]),U=f.useRef(null),z=f.useRef(null),_=f.useRef(null),{messages:b,isLoading:N,isComplete:L,connectionStatus:J,currentQuestions:W,start:X,sendMessage:I,sendAnswer:Q,disconnect:le}=yv({projectName:i,onComplete:r,onError:te=>T(te)});f.useEffect(()=>(X(),()=>{le()}),[]),f.useEffect(()=>{U.current?.scrollIntoView({behavior:"smooth"})},[b,W,N]),f.useEffect(()=>{!N&&!W&&z.current&&z.current.focus()},[N,W]);const P=()=>{const te=v.trim();if(!(!te&&w.length===0||N)){if(/^\s*\/exit\s*$/i.test(te)){p(""),o();return}I(te,w.length>0?w:void 0),p(""),O([]),z.current&&(z.current.style.height="auto")}},H=te=>{ps(te)&&(te.preventDefault(),P())},$=te=>{Q(te)},Z=f.useCallback(te=>{te&&Array.from(te).forEach(fe=>{if(!Tv.includes(fe.type)){T(`Invalid file type: ${fe.name}. Only JPEG and PNG are supported.`);return}if(fe.size>zv){T(`File too large: ${fe.name}. Maximum size is 5 MB.`);return}const ue=new FileReader;ue.onload=ae=>{const ie=ae.target?.result,Ue=ie.split(",")[1],ot={id:`${Date.now()}-${Math.random().toString(36).substring(2,9)}`,filename:fe.name,mimeType:fe.type,base64Data:Ue,previewUrl:ie,size:fe.size};O(ht=>[...ht,ot])},ue.readAsDataURL(fe)})},[]),Y=f.useCallback(te=>{O(fe=>fe.filter(ue=>ue.id!==te))},[]),g=f.useCallback(te=>{te.preventDefault(),Z(te.dataTransfer.files)},[Z]),D=f.useCallback(te=>{te.preventDefault()},[]),ee=()=>{switch(J){case"connected":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-green-500",children:[n.jsx(ml,{size:12}),"Connected"]});case"connecting":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-yellow-500",children:[n.jsx(ml,{size:12,className:"animate-pulse"}),"Connecting..."]});case"error":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-destructive",children:[n.jsx(fl,{size:12}),"Error"]});default:return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[n.jsx(fl,{size:12}),"Disconnected"]})}};return n.jsxs("div",{className:"flex flex-col h-screen bg-background",children:[n.jsxs("div",{className:"flex items-center justify-between p-4 border-b-2 border-border bg-card",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs("h2",{className:"font-display font-bold text-lg text-foreground",children:["Create Spec: ",i]}),n.jsx(ee,{})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[L&&n.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[n.jsx($t,{size:16}),"Complete"]}),n.jsxs(F,{onClick:()=>{p(Ev),z.current&&(z.current.style.height="auto",z.current.style.height=`${Math.min(z.current.scrollHeight,200)}px`)},variant:"ghost",size:"sm",title:"Load sample prompt (Simple Todo app)",children:[n.jsx(Ep,{size:16}),"Load Sample"]}),n.jsxs(F,{onClick:o,variant:"ghost",size:"sm",title:"Exit chat and go to project (you can start the agent manually)",children:[n.jsx(zu,{size:16}),"Exit to Project"]}),n.jsx(F,{onClick:d,variant:"ghost",size:"icon",title:"Cancel",children:n.jsx(nt,{size:20})})]})]}),S&&n.jsxs(ft,{variant:"destructive",className:"rounded-none border-x-0 border-t-0",children:[n.jsx(za,{size:16}),n.jsx(mt,{className:"flex-1",children:S}),n.jsx(F,{onClick:()=>T(null),variant:"ghost",size:"icon",className:"h-6 w-6",children:n.jsx(nt,{size:14})})]}),n.jsxs("div",{className:"flex-1 overflow-y-auto py-4 min-h-0",children:[b.length===0&&!N&&n.jsx("div",{className:"flex flex-col items-center justify-center h-full text-center p-8",children:n.jsx(Oe,{className:"p-6 max-w-md",children:n.jsxs(Ge,{className:"p-0",children:[n.jsx("h3",{className:"font-display font-bold text-lg mb-2",children:"Starting Spec Creation"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Connecting to Claude to help you create your app specification..."}),J==="error"&&n.jsxs(F,{onClick:X,className:"mt-4",size:"sm",children:[n.jsx(Sn,{size:14}),"Retry Connection"]})]})})}),b.map(te=>n.jsx(_u,{message:te},te.id)),W&&W.length>0&&n.jsx(Rh,{questions:W,onSubmit:$,disabled:N}),N&&!W&&n.jsx(Uh,{}),n.jsx("div",{ref:U})]}),!L&&n.jsxs("div",{className:"p-4 border-t-2 border-border bg-card",onDrop:g,onDragOver:D,children:[w.length>0&&n.jsx("div",{className:"flex flex-wrap gap-2 mb-3",children:w.map(te=>n.jsxs("div",{className:"relative group border-2 border-border p-1 bg-card rounded shadow-sm",children:[n.jsx("img",{src:te.previewUrl,alt:te.filename,className:"w-16 h-16 object-cover rounded"}),n.jsx("button",{onClick:()=>Y(te.id),className:"absolute -top-2 -right-2 bg-destructive text-destructive-foreground rounded-full p-0.5 border-2 border-border hover:scale-110 transition-transform",title:"Remove attachment",children:n.jsx(nt,{size:12})}),n.jsx("span",{className:"text-xs truncate block max-w-16 mt-1 text-center text-muted-foreground",children:te.filename.length>10?`${te.filename.substring(0,7)}...`:te.filename})]},te.id))}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx("input",{ref:_,type:"file",accept:"image/jpeg,image/png",multiple:!0,onChange:te=>Z(te.target.files),className:"hidden"}),n.jsx(F,{onClick:()=>_.current?.click(),disabled:J!=="connected",variant:"ghost",size:"icon",title:"Attach image (JPEG, PNG - max 5MB)",children:n.jsx(Vi,{size:18})}),n.jsx(ys,{ref:z,value:v,onChange:te=>{p(te.target.value),te.target.style.height="auto",te.target.style.height=`${Math.min(te.target.scrollHeight,200)}px`},onKeyDown:H,placeholder:W?"Or type a custom response...":w.length>0?"Add a message with your image(s)...":"Type your response... (or /exit to go to project)",className:"flex-1 resize-none min-h-[46px] max-h-[200px] overflow-y-auto",disabled:N&&!W||J!=="connected",rows:1}),n.jsx(F,{onClick:P,disabled:!v.trim()&&w.length===0||N&&!W||J!=="connected",className:"px-6",children:n.jsx(Fi,{size:18})})]}),n.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:["Press Enter to send, Shift+Enter for new line. Drag & drop or click ",n.jsx(Vi,{size:12,className:"inline"})," to attach images (JPEG/PNG, max 5MB)."]})]}),L&&n.jsx("div",{className:`p-4 border-t-2 border-border ${h==="error"?"bg-destructive":"bg-green-500"}`,children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsx("div",{className:"flex items-center gap-2",children:h==="starting"?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{size:20,className:"animate-spin text-white"}),n.jsxs("span",{className:"font-bold text-white",children:["Starting agent",E?" (YOLO mode)":"","..."]})]}):h==="error"?n.jsxs(n.Fragment,{children:[n.jsx(za,{size:20,className:"text-white"}),n.jsx("span",{className:"font-bold text-white",children:x||"Failed to start agent"})]}):n.jsxs(n.Fragment,{children:[n.jsx($t,{size:20,className:"text-white"}),n.jsx("span",{className:"font-bold text-white",children:"Specification created successfully!"})]})}),n.jsxs("div",{className:"flex items-center gap-2",children:[h==="error"&&y&&n.jsxs(F,{onClick:y,variant:"secondary",children:[n.jsx(Sn,{size:14}),"Retry"]}),h==="idle"&&n.jsxs(n.Fragment,{children:[n.jsxs(F,{onClick:()=>B(!E),variant:E?"default":"secondary",size:"sm",className:E?"bg-yellow-500 hover:bg-yellow-600 text-yellow-900":"",title:"YOLO Mode: Skip testing for rapid prototyping",children:[n.jsx(Ap,{size:16}),n.jsx("span",{className:E?"font-bold":"",children:"YOLO"})]}),n.jsxs(F,{onClick:()=>r("",E),children:["Continue to Project",n.jsx(xh,{size:16})]})]})]})]})})]})}function Av({onSelect:i,onCancel:r,initialPath:d}){const[o,h]=f.useState(d),[x,y]=f.useState(null),[v,p]=f.useState(!1),[S,T]=f.useState(""),[E,B]=f.useState(null),{data:w,isLoading:O,error:U,refetch:z}=gt({queryKey:["filesystem","list",o],queryFn:()=>p0(o)});f.useEffect(()=>{w?.current_path&&y(w.current_path)},[w?.current_path]);const _=Q=>{h(Q),y(Q),p(!1),T(""),B(null)},b=()=>{w?.parent_path&&_(w.parent_path)},N=Q=>{_(`${Q.letter}:/`)},L=Q=>{Q.is_directory&&_(Q.path)},J=async()=>{if(!S.trim()){B("Folder name is required");return}if(!/^[a-zA-Z0-9_\-. ]+$/.test(S)){B("Invalid folder name");return}const Q=`${w?.current_path}/${S.trim()}`;try{await y0(Q),await z(),_(Q)}catch(le){B(le instanceof Error?le.message:"Failed to create folder")}},W=()=>{x&&i(x)},X=Q=>{if(!Q)return[];const le=[];if(/^[A-Za-z]:/.test(Q)){const $=Q.slice(0,2);le.push({name:$,path:`${$}/`}),Q=Q.slice(3)}else Q.startsWith("/")&&(le.push({name:"/",path:"/"}),Q=Q.slice(1));const P=Q.split("/").filter(Boolean);let H=le.length>0?le[0].path:"";for(const $ of P)H=H.endsWith("/")?H+$:H+"/"+$,le.push({name:$,path:H});return le},I=w?.current_path?X(w.current_path):[];return n.jsxs("div",{className:"flex flex-col h-full max-h-[70vh]",children:[n.jsxs("div",{className:"flex-shrink-0 p-4 border-b bg-card",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[n.jsx(Qi,{size:20,className:"text-primary"}),n.jsx("span",{className:"font-semibold",children:"Select Project Folder"})]}),n.jsxs("div",{className:"flex items-center gap-1 flex-wrap text-sm",children:[w?.parent_path&&n.jsx(F,{variant:"ghost",size:"icon-sm",onClick:b,title:"Go up",children:n.jsx(gh,{size:16})}),I.map((Q,le)=>n.jsxs("div",{className:"flex items-center",children:[le>0&&n.jsx(Rm,{size:14,className:"text-muted-foreground mx-1"}),n.jsx(F,{variant:"ghost",size:"sm",onClick:()=>_(Q.path),className:le===I.length-1?"font-semibold":"",children:Q.name})]},Q.path))]})]}),w?.drives&&w.drives.length>0&&n.jsx("div",{className:"flex-shrink-0 p-3 border-b bg-muted/50",children:n.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[n.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"Drives:"}),w.drives.map(Q=>n.jsxs(F,{variant:o?.startsWith(Q.letter)?"default":"outline",size:"sm",onClick:()=>N(Q),children:[n.jsx(Dp,{size:14}),Q.letter,": ",Q.label&&`(${Q.label})`]},Q.letter))]})}),n.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto bg-card",children:n.jsxs("div",{className:"p-2",children:[O?n.jsx("div",{className:"flex items-center justify-center p-8",children:n.jsx(Ce,{size:24,className:"animate-spin text-primary"})}):U?n.jsxs("div",{className:"p-4 text-center",children:[n.jsx(za,{size:32,className:"mx-auto mb-2 text-destructive"}),n.jsx("p",{className:"text-destructive",children:U instanceof Error?U.message:"Failed to load directory"}),n.jsx(F,{variant:"outline",size:"sm",onClick:()=>z(),className:"mt-2",children:"Retry"})]}):n.jsxs("div",{className:"grid grid-cols-1 gap-1",children:[w?.entries.filter(Q=>Q.is_directory).map(Q=>n.jsxs("button",{onClick:()=>L(Q),onDoubleClick:()=>_(Q.path),className:`
|
|
40
|
+
You choose the rest. Keep it simple. Should be 25 features.`;function Bh({projectName:i,onComplete:r,onCancel:d,onExitToProject:o,initializerStatus:h="idle",initializerError:x=null,onRetryInitializer:y}){const[v,p]=f.useState(""),[S,T]=f.useState(null),[E,B]=f.useState(!1),[w,O]=f.useState([]),U=f.useRef(null),z=f.useRef(null),_=f.useRef(null),{messages:b,isLoading:N,isComplete:L,connectionStatus:$,currentQuestions:W,start:K,sendMessage:I,sendAnswer:Q,disconnect:le}=yv({projectName:i,onComplete:r,onError:te=>T(te)});f.useEffect(()=>(K(),()=>{le()}),[]),f.useEffect(()=>{U.current?.scrollIntoView({behavior:"smooth"})},[b,W,N]),f.useEffect(()=>{!N&&!W&&z.current&&z.current.focus()},[N,W]);const P=()=>{const te=v.trim();if(!(!te&&w.length===0||N)){if(/^\s*\/exit\s*$/i.test(te)){p(""),o();return}I(te,w.length>0?w:void 0),p(""),O([]),z.current&&(z.current.style.height="auto")}},H=te=>{ys(te)&&(te.preventDefault(),P())},J=te=>{Q(te)},X=f.useCallback(te=>{te&&Array.from(te).forEach(fe=>{if(!Tv.includes(fe.type)){T(`Invalid file type: ${fe.name}. Only JPEG and PNG are supported.`);return}if(fe.size>zv){T(`File too large: ${fe.name}. Maximum size is 5 MB.`);return}const ue=new FileReader;ue.onload=ae=>{const ie=ae.target?.result,Ue=ie.split(",")[1],ot={id:`${Date.now()}-${Math.random().toString(36).substring(2,9)}`,filename:fe.name,mimeType:fe.type,base64Data:Ue,previewUrl:ie,size:fe.size};O(ht=>[...ht,ot])},ue.readAsDataURL(fe)})},[]),Y=f.useCallback(te=>{O(fe=>fe.filter(ue=>ue.id!==te))},[]),g=f.useCallback(te=>{te.preventDefault(),X(te.dataTransfer.files)},[X]),D=f.useCallback(te=>{te.preventDefault()},[]),ee=()=>{switch($){case"connected":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-green-500",children:[n.jsx(hl,{size:12}),"Connected"]});case"connecting":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-yellow-500",children:[n.jsx(hl,{size:12,className:"animate-pulse"}),"Connecting..."]});case"error":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-destructive",children:[n.jsx(ml,{size:12}),"Error"]});default:return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[n.jsx(ml,{size:12}),"Disconnected"]})}};return n.jsxs("div",{className:"flex flex-col h-screen bg-background",children:[n.jsxs("div",{className:"flex items-center justify-between p-4 border-b-2 border-border bg-card",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs("h2",{className:"font-display font-bold text-lg text-foreground",children:["Create Spec: ",i]}),n.jsx(ee,{})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[L&&n.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[n.jsx(Jt,{size:16}),"Complete"]}),n.jsxs(F,{onClick:()=>{p(Ev),z.current&&(z.current.style.height="auto",z.current.style.height=`${Math.min(z.current.scrollHeight,200)}px`)},variant:"ghost",size:"sm",title:"Load sample prompt (Simple Todo app)",children:[n.jsx(Ep,{size:16}),"Load Sample"]}),n.jsxs(F,{onClick:o,variant:"ghost",size:"sm",title:"Exit chat and go to project (you can start the agent manually)",children:[n.jsx(zu,{size:16}),"Exit to Project"]}),n.jsx(F,{onClick:d,variant:"ghost",size:"icon",title:"Cancel",children:n.jsx(nt,{size:20})})]})]}),S&&n.jsxs(ft,{variant:"destructive",className:"rounded-none border-x-0 border-t-0",children:[n.jsx(za,{size:16}),n.jsx(mt,{className:"flex-1",children:S}),n.jsx(F,{onClick:()=>T(null),variant:"ghost",size:"icon",className:"h-6 w-6",children:n.jsx(nt,{size:14})})]}),n.jsxs("div",{className:"flex-1 overflow-y-auto py-4 min-h-0",children:[b.length===0&&!N&&n.jsx("div",{className:"flex flex-col items-center justify-center h-full text-center p-8",children:n.jsx(Oe,{className:"p-6 max-w-md",children:n.jsxs(Ge,{className:"p-0",children:[n.jsx("h3",{className:"font-display font-bold text-lg mb-2",children:"Starting Spec Creation"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Connecting to Claude to help you create your app specification..."}),$==="error"&&n.jsxs(F,{onClick:K,className:"mt-4",size:"sm",children:[n.jsx(Sn,{size:14}),"Retry Connection"]})]})})}),b.map(te=>n.jsx(_u,{message:te},te.id)),W&&W.length>0&&n.jsx(Rh,{questions:W,onSubmit:J,disabled:N}),N&&!W&&n.jsx(Uh,{}),n.jsx("div",{ref:U})]}),!L&&n.jsxs("div",{className:"p-4 border-t-2 border-border bg-card",onDrop:g,onDragOver:D,children:[w.length>0&&n.jsx("div",{className:"flex flex-wrap gap-2 mb-3",children:w.map(te=>n.jsxs("div",{className:"relative group border-2 border-border p-1 bg-card rounded shadow-sm",children:[n.jsx("img",{src:te.previewUrl,alt:te.filename,className:"w-16 h-16 object-cover rounded"}),n.jsx("button",{onClick:()=>Y(te.id),className:"absolute -top-2 -right-2 bg-destructive text-destructive-foreground rounded-full p-0.5 border-2 border-border hover:scale-110 transition-transform",title:"Remove attachment",children:n.jsx(nt,{size:12})}),n.jsx("span",{className:"text-xs truncate block max-w-16 mt-1 text-center text-muted-foreground",children:te.filename.length>10?`${te.filename.substring(0,7)}...`:te.filename})]},te.id))}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx("input",{ref:_,type:"file",accept:"image/jpeg,image/png",multiple:!0,onChange:te=>X(te.target.files),className:"hidden"}),n.jsx(F,{onClick:()=>_.current?.click(),disabled:$!=="connected",variant:"ghost",size:"icon",title:"Attach image (JPEG, PNG - max 5MB)",children:n.jsx(Vi,{size:18})}),n.jsx(vs,{ref:z,value:v,onChange:te=>{p(te.target.value),te.target.style.height="auto",te.target.style.height=`${Math.min(te.target.scrollHeight,200)}px`},onKeyDown:H,placeholder:W?"Or type a custom response...":w.length>0?"Add a message with your image(s)...":"Type your response... (or /exit to go to project)",className:"flex-1 resize-none min-h-[46px] max-h-[200px] overflow-y-auto",disabled:N&&!W||$!=="connected",rows:1}),n.jsx(F,{onClick:P,disabled:!v.trim()&&w.length===0||N&&!W||$!=="connected",className:"px-6",children:n.jsx(Fi,{size:18})})]}),n.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:["Press Enter to send, Shift+Enter for new line. Drag & drop or click ",n.jsx(Vi,{size:12,className:"inline"})," to attach images (JPEG/PNG, max 5MB)."]})]}),L&&n.jsx("div",{className:`p-4 border-t-2 border-border ${h==="error"?"bg-destructive":"bg-green-500"}`,children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsx("div",{className:"flex items-center gap-2",children:h==="starting"?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{size:20,className:"animate-spin text-white"}),n.jsxs("span",{className:"font-bold text-white",children:["Starting agent",E?" (YOLO mode)":"","..."]})]}):h==="error"?n.jsxs(n.Fragment,{children:[n.jsx(za,{size:20,className:"text-white"}),n.jsx("span",{className:"font-bold text-white",children:x||"Failed to start agent"})]}):n.jsxs(n.Fragment,{children:[n.jsx(Jt,{size:20,className:"text-white"}),n.jsx("span",{className:"font-bold text-white",children:"Specification created successfully!"})]})}),n.jsxs("div",{className:"flex items-center gap-2",children:[h==="error"&&y&&n.jsxs(F,{onClick:y,variant:"secondary",children:[n.jsx(Sn,{size:14}),"Retry"]}),h==="idle"&&n.jsxs(n.Fragment,{children:[n.jsxs(F,{onClick:()=>B(!E),variant:E?"default":"secondary",size:"sm",className:E?"bg-yellow-500 hover:bg-yellow-600 text-yellow-900":"",title:"YOLO Mode: Skip testing for rapid prototyping",children:[n.jsx(Ap,{size:16}),n.jsx("span",{className:E?"font-bold":"",children:"YOLO"})]}),n.jsxs(F,{onClick:()=>r("",E),children:["Continue to Project",n.jsx(xh,{size:16})]})]})]})]})})]})}function Av({onSelect:i,onCancel:r,initialPath:d}){const[o,h]=f.useState(d),[x,y]=f.useState(null),[v,p]=f.useState(!1),[S,T]=f.useState(""),[E,B]=f.useState(null),{data:w,isLoading:O,error:U,refetch:z}=gt({queryKey:["filesystem","list",o],queryFn:()=>p0(o)});f.useEffect(()=>{w?.current_path&&y(w.current_path)},[w?.current_path]);const _=Q=>{h(Q),y(Q),p(!1),T(""),B(null)},b=()=>{w?.parent_path&&_(w.parent_path)},N=Q=>{_(`${Q.letter}:/`)},L=Q=>{Q.is_directory&&_(Q.path)},$=async()=>{if(!S.trim()){B("Folder name is required");return}if(!/^[a-zA-Z0-9_\-. ]+$/.test(S)){B("Invalid folder name");return}const Q=`${w?.current_path}/${S.trim()}`;try{await y0(Q),await z(),_(Q)}catch(le){B(le instanceof Error?le.message:"Failed to create folder")}},W=()=>{x&&i(x)},K=Q=>{if(!Q)return[];const le=[];if(/^[A-Za-z]:/.test(Q)){const J=Q.slice(0,2);le.push({name:J,path:`${J}/`}),Q=Q.slice(3)}else Q.startsWith("/")&&(le.push({name:"/",path:"/"}),Q=Q.slice(1));const P=Q.split("/").filter(Boolean);let H=le.length>0?le[0].path:"";for(const J of P)H=H.endsWith("/")?H+J:H+"/"+J,le.push({name:J,path:H});return le},I=w?.current_path?K(w.current_path):[];return n.jsxs("div",{className:"flex flex-col h-full max-h-[70vh]",children:[n.jsxs("div",{className:"flex-shrink-0 p-4 border-b bg-card",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[n.jsx(Qi,{size:20,className:"text-primary"}),n.jsx("span",{className:"font-semibold",children:"Select Project Folder"})]}),n.jsxs("div",{className:"flex items-center gap-1 flex-wrap text-sm",children:[w?.parent_path&&n.jsx(F,{variant:"ghost",size:"icon-sm",onClick:b,title:"Go up",children:n.jsx(gh,{size:16})}),I.map((Q,le)=>n.jsxs("div",{className:"flex items-center",children:[le>0&&n.jsx(Rm,{size:14,className:"text-muted-foreground mx-1"}),n.jsx(F,{variant:"ghost",size:"sm",onClick:()=>_(Q.path),className:le===I.length-1?"font-semibold":"",children:Q.name})]},Q.path))]})]}),w?.drives&&w.drives.length>0&&n.jsx("div",{className:"flex-shrink-0 p-3 border-b bg-muted/50",children:n.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[n.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"Drives:"}),w.drives.map(Q=>n.jsxs(F,{variant:o?.startsWith(Q.letter)?"default":"outline",size:"sm",onClick:()=>N(Q),children:[n.jsx(Dp,{size:14}),Q.letter,": ",Q.label&&`(${Q.label})`]},Q.letter))]})}),n.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto bg-card",children:n.jsxs("div",{className:"p-2",children:[O?n.jsx("div",{className:"flex items-center justify-center p-8",children:n.jsx(Ce,{size:24,className:"animate-spin text-primary"})}):U?n.jsxs("div",{className:"p-4 text-center",children:[n.jsx(za,{size:32,className:"mx-auto mb-2 text-destructive"}),n.jsx("p",{className:"text-destructive",children:U instanceof Error?U.message:"Failed to load directory"}),n.jsx(F,{variant:"outline",size:"sm",onClick:()=>z(),className:"mt-2",children:"Retry"})]}):n.jsxs("div",{className:"grid grid-cols-1 gap-1",children:[w?.entries.filter(Q=>Q.is_directory).map(Q=>n.jsxs("button",{onClick:()=>L(Q),onDoubleClick:()=>_(Q.path),className:`
|
|
41
41
|
w-full text-left p-2 rounded-md
|
|
42
42
|
flex items-center gap-2
|
|
43
43
|
hover:bg-muted
|
|
44
44
|
border-2 border-transparent transition-colors
|
|
45
45
|
${x===Q.path?"bg-primary/10 border-primary":""}
|
|
46
|
-
`,children:[x===Q.path?n.jsx(Xi,{size:18,className:"text-primary flex-shrink-0"}):n.jsx(Qi,{size:18,className:"text-muted-foreground flex-shrink-0"}),n.jsx("span",{className:"truncate flex-1",children:Q.name}),Q.has_children&&n.jsx(Rm,{size:14,className:"ml-auto text-muted-foreground flex-shrink-0"})]},Q.path)),w?.entries.filter(Q=>Q.is_directory).length===0&&n.jsxs("div",{className:"p-4 text-center text-muted-foreground",children:[n.jsx(Qi,{size:32,className:"mx-auto mb-2 opacity-50"}),n.jsx("p",{children:"No subfolders"}),n.jsx("p",{className:"text-sm",children:"You can create a new folder or select this directory."})]})]}),v&&n.jsx(Oe,{className:"mt-2",children:n.jsxs(Ge,{className:"p-3",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Um,{size:18,className:"text-primary"}),n.jsx(lt,{type:"text",value:S,onChange:Q=>T(Q.target.value),placeholder:"New folder name",className:"flex-1",autoFocus:!0,onKeyDown:Q=>{ps(Q,!1)&&J(),Q.key==="Escape"&&(p(!1),T(""),B(null))}}),n.jsx(F,{onClick:J,size:"sm",children:"Create"}),n.jsx(F,{variant:"ghost",size:"sm",onClick:()=>{p(!1),T(""),B(null)},children:"Cancel"})]}),E&&n.jsx("p",{className:"text-sm text-destructive mt-1",children:E})]})})]})}),n.jsxs("div",{className:"flex-shrink-0 p-4 border-t bg-card",children:[n.jsx(Oe,{className:"mb-3",children:n.jsxs(Ge,{className:"p-2",children:[n.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Selected path:"}),n.jsx("div",{className:"font-mono text-sm truncate",children:x||"No folder selected"}),x&&n.jsx("div",{className:"text-xs text-muted-foreground mt-2 italic",children:"This folder will contain all project files"})]})}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs(F,{variant:"outline",onClick:()=>p(!0),disabled:v,children:[n.jsx(Um,{size:16}),"New Folder"]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(F,{variant:"outline",onClick:r,children:"Cancel"}),n.jsx(F,{onClick:W,disabled:!x,children:"Select This Folder"})]})]})]})]})}function Wt({...i}){return n.jsx(py,{"data-slot":"dialog",...i})}function Dv({...i}){return n.jsx(jy,{"data-slot":"dialog-portal",...i})}function _v({className:i,...r}){return n.jsx(Sy,{"data-slot":"dialog-overlay",className:Re("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",i),...r})}function It({className:i,children:r,showCloseButton:d=!0,...o}){return n.jsxs(Dv,{"data-slot":"dialog-portal",children:[n.jsx(_v,{}),n.jsxs(yy,{"data-slot":"dialog-content",className:Re("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] max-h-[calc(100vh-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none overflow-y-auto sm:max-w-lg",i),...o,children:[r,d&&n.jsxs(wh,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[n.jsx(nt,{}),n.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function Pt({className:i,...r}){return n.jsx("div",{"data-slot":"dialog-header",className:Re("flex flex-col gap-2 text-center sm:text-left",i),...r})}function Ea({className:i,showCloseButton:r=!1,children:d,...o}){return n.jsxs("div",{"data-slot":"dialog-footer",className:Re("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",i),...o,children:[d,r&&n.jsx(wh,{asChild:!0,children:n.jsx(F,{variant:"outline",children:"Close"})})]})}function ea({className:i,...r}){return n.jsx(vy,{"data-slot":"dialog-title",className:Re("text-lg leading-none font-semibold",i),...r})}function xs({className:i,...r}){return n.jsx(by,{"data-slot":"dialog-description",className:Re("text-muted-foreground text-sm",i),...r})}function ze({className:i,...r}){return n.jsx(Ny,{"data-slot":"label",className:Re("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",i),...r})}function Mv({isOpen:i,onClose:r,onProjectCreated:d,onStepChange:o}){const[h,x]=f.useState("name"),[y,v]=f.useState(""),[p,S]=f.useState(null),[T,E]=f.useState(null),[B,w]=f.useState(null),[O,U]=f.useState("idle"),[z,_]=f.useState(null),[b,N]=f.useState(!1),L=q0(),J=g=>{x(g),o?.(g)};if(!i)return null;const W=g=>{g.preventDefault();const D=y.trim();if(!D){w("Please enter a project name");return}if(!/^[a-zA-Z0-9_-]+$/.test(D)){w("Project name can only contain letters, numbers, hyphens, and underscores");return}w(null),J("folder")},X=g=>{S(g),J("method")},I=()=>{J("name")},Q=async g=>{if(E(g),!p){w("Please select a project folder first"),J("folder");return}if(g==="manual")try{const D=await L.mutateAsync({name:y.trim(),path:p,specMethod:"manual"});J("complete"),setTimeout(()=>{d(D.name),Z()},1500)}catch(D){w(D instanceof Error?D.message:"Failed to create project")}else try{await L.mutateAsync({name:y.trim(),path:p,specMethod:"claude"}),J("chat")}catch(D){w(D instanceof Error?D.message:"Failed to create project")}},le=async(g,D=!1)=>{N(D),U("starting");try{await Eu(y.trim(),{yoloMode:D,maxConcurrency:3}),J("complete"),setTimeout(()=>{d(y.trim()),Z()},1500)}catch(ee){U("error"),_(ee instanceof Error?ee.message:"Failed to start agent")}},P=()=>{_(null),U("idle"),le("",b)},H=()=>{J("method"),E(null)},$=()=>{d(y.trim()),Z()},Z=()=>{J("name"),v(""),S(null),E(null),w(null),U("idle"),_(null),N(!1),r()},Y=()=>{h==="method"?(J("folder"),E(null)):h==="folder"&&(J("name"),S(null))};return h==="chat"?Nh.createPortal(n.jsx("div",{className:"fixed inset-0 z-50 bg-background flex flex-col",children:n.jsx(Bh,{projectName:y.trim(),onComplete:le,onCancel:H,onExitToProject:$,initializerStatus:O,initializerError:z,onRetryInitializer:P})}),document.body):h==="folder"?n.jsx(Wt,{open:!0,onOpenChange:g=>!g&&Z(),children:n.jsxs(It,{className:"sm:max-w-3xl max-h-[85vh] flex flex-col p-0",children:[n.jsx(Pt,{className:"p-6 pb-4 border-b",children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(Qi,{size:24,className:"text-primary"}),n.jsxs("div",{children:[n.jsx(ea,{children:"Select Project Location"}),n.jsxs(xs,{children:["Select the folder to use for project ",n.jsx("span",{className:"font-semibold font-mono",children:y}),". Create a new folder or choose an existing one."]})]})]})}),n.jsx("div",{className:"flex-1 overflow-hidden",children:n.jsx(Av,{onSelect:X,onCancel:I})})]})}):n.jsx(Wt,{open:!0,onOpenChange:g=>!g&&Z(),children:n.jsxs(It,{className:"sm:max-w-lg",children:[n.jsx(Pt,{children:n.jsxs(ea,{children:[h==="name"&&"Create New Project",h==="method"&&"Choose Setup Method",h==="complete"&&"Project Created!"]})}),h==="name"&&n.jsxs("form",{onSubmit:W,className:"space-y-4",children:[n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{htmlFor:"project-name",children:"Project Name"}),n.jsx(lt,{id:"project-name",type:"text",value:y,onChange:g=>v(g.target.value),placeholder:"my-awesome-app",pattern:"^[a-zA-Z0-9_-]+$",autoFocus:!0}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Use letters, numbers, hyphens, and underscores only."})]}),B&&n.jsx(ft,{variant:"destructive",children:n.jsx(mt,{children:B})}),n.jsx(Ea,{children:n.jsxs(F,{type:"submit",disabled:!y.trim(),children:["Next",n.jsx(xh,{size:16})]})})]}),h==="method"&&n.jsxs("div",{className:"space-y-4",children:[n.jsx(xs,{children:"How would you like to define your project?"}),n.jsxs("div",{className:"space-y-3",children:[n.jsx(Oe,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>!L.isPending&&Q("claude"),children:n.jsx(Ge,{className:"p-4",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"p-2 bg-primary/10 rounded-lg",children:n.jsx(Cu,{size:24,className:"text-primary"})}),n.jsxs("div",{className:"flex-1",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"font-semibold",children:"Create with Claude"}),n.jsx(Me,{children:"Recommended"})]}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Interactive conversation to define features and generate your app specification automatically."})]})]})})}),n.jsx(Oe,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>!L.isPending&&Q("manual"),children:n.jsx(Ge,{className:"p-4",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"p-2 bg-secondary rounded-lg",children:n.jsx(yu,{size:24,className:"text-secondary-foreground"})}),n.jsxs("div",{className:"flex-1",children:[n.jsx("span",{className:"font-semibold",children:"Edit Templates Manually"}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Edit the template files directly. Best for developers who want full control."})]})]})})})]}),B&&n.jsx(ft,{variant:"destructive",children:n.jsx(mt,{children:B})}),L.isPending&&n.jsxs("div",{className:"flex items-center justify-center gap-2 text-muted-foreground",children:[n.jsx(Ce,{size:16,className:"animate-spin"}),n.jsx("span",{children:"Creating project..."})]}),n.jsx(Ea,{className:"sm:justify-start",children:n.jsxs(F,{variant:"ghost",onClick:Y,disabled:L.isPending,children:[n.jsx(gh,{size:16}),"Back"]})})]}),h==="complete"&&n.jsxs("div",{className:"text-center py-8",children:[n.jsx("div",{className:"inline-flex items-center justify-center w-16 h-16 bg-primary/10 rounded-full mb-4",children:n.jsx($t,{size:32,className:"text-primary"})}),n.jsx("h3",{className:"font-semibold text-xl mb-2",children:y}),n.jsx("p",{className:"text-muted-foreground",children:"Your project has been created successfully!"}),n.jsxs("div",{className:"mt-4 flex items-center justify-center gap-2",children:[n.jsx(Ce,{size:16,className:"animate-spin"}),n.jsx("span",{className:"text-sm text-muted-foreground",children:"Redirecting..."})]})]})]})})}function Hh({isOpen:i,title:r,message:d,confirmLabel:o="Confirm",cancelLabel:h="Cancel",variant:x="danger",isLoading:y=!1,onConfirm:v,onCancel:p}){return n.jsx(Wt,{open:i,onOpenChange:S=>!S&&p(),children:n.jsxs(It,{className:"sm:max-w-md",children:[n.jsx(Pt,{children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:`p-2 rounded-lg ${x==="danger"?"bg-destructive/10 text-destructive":"bg-primary/10 text-primary"}`,children:n.jsx(Ta,{size:20})}),n.jsx(ea,{children:r})]})}),n.jsx(xs,{asChild:!0,children:n.jsx("div",{className:"text-muted-foreground",children:d})}),n.jsxs(Ea,{className:"gap-2 sm:gap-0",children:[n.jsx(F,{variant:"outline",onClick:p,disabled:y,children:h}),n.jsx(F,{variant:x==="danger"?"destructive":"default",onClick:v,disabled:y,children:y?"Deleting...":o})]})]})})}function kv({...i}){return n.jsx(Cy,{"data-slot":"dropdown-menu",...i})}function Ov({...i}){return n.jsx(wy,{"data-slot":"dropdown-menu-trigger",...i})}function Rv({className:i,sideOffset:r=4,...d}){return n.jsx(zy,{children:n.jsx(Ty,{"data-slot":"dropdown-menu-content",sideOffset:r,className:Re("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",i),...d})})}function Jm({className:i,inset:r,variant:d="default",...o}){return n.jsx(Ey,{"data-slot":"dropdown-menu-item","data-inset":r,"data-variant":d,className:Re("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",i),...o})}function Uv({className:i,...r}){return n.jsx(Ay,{"data-slot":"dropdown-menu-separator",className:Re("bg-border -mx-1 my-1 h-px",i),...r})}function Bv({projects:i,selectedProject:r,onSelectProject:d,isLoading:o,onSpecCreatingChange:h}){const[x,y]=f.useState(!1),[v,p]=f.useState(!1),[S,T]=f.useState(null),E=L0(),B=_=>{d(_),y(!1)},w=(_,b)=>{_.stopPropagation(),_.preventDefault(),T(b)},O=async()=>{if(S)try{await E.mutateAsync(S),r===S&&d(null),T(null)}catch(_){console.error("Failed to delete project:",_),T(null)}},U=()=>{T(null)},z=i.find(_=>_.name===r);return n.jsxs("div",{className:"relative",children:[n.jsxs(kv,{open:x,onOpenChange:y,children:[n.jsx(Ov,{asChild:!0,children:n.jsxs(F,{variant:"outline",className:"min-w-[140px] sm:min-w-[200px] justify-between",disabled:o,title:z?.path,children:[o?n.jsx(Ce,{size:18,className:"animate-spin"}):r?n.jsxs(n.Fragment,{children:[n.jsxs("span",{className:"flex items-center gap-2 truncate",children:[n.jsx(Xi,{size:18,className:"shrink-0"}),n.jsx("span",{className:"truncate",children:r})]}),z&&z.stats.total>0&&n.jsxs(Me,{className:"ml-2",children:[z.stats.percentage,"%"]})]}):n.jsx("span",{className:"text-muted-foreground",children:"Select Project"}),n.jsx(hs,{size:18,className:`transition-transform ${x?"rotate-180":""}`})]})}),n.jsxs(Rv,{align:"start",className:"w-[280px] p-0 flex flex-col",children:[i.length>0?n.jsx("div",{className:"max-h-[300px] overflow-y-auto p-1",children:i.map(_=>n.jsxs(Jm,{title:_.path,className:`flex items-center justify-between cursor-pointer ${_.name===r?"bg-primary/10":""}`,onSelect:()=>{d(_.name)},children:[n.jsxs("span",{className:"flex items-center gap-2 flex-1",children:[n.jsx(Xi,{size:16}),_.name,_.stats.total>0&&n.jsxs("span",{className:"text-sm font-mono text-muted-foreground ml-auto",children:[_.stats.passing,"/",_.stats.total]})]}),n.jsx(F,{variant:"ghost",size:"icon-xs",onClick:b=>w(b,_.name),className:"text-muted-foreground hover:text-destructive",children:n.jsx(tn,{size:14})})]},_.name))}):n.jsx("div",{className:"p-4 text-center text-muted-foreground",children:"No projects yet"}),n.jsx(Uv,{className:"my-0"}),n.jsx("div",{className:"p-1",children:n.jsxs(Jm,{onSelect:()=>{p(!0)},className:"cursor-pointer font-semibold",children:[n.jsx(en,{size:16}),"New Project"]})})]})]}),n.jsx(Mv,{isOpen:v,onClose:()=>p(!1),onProjectCreated:B,onStepChange:_=>h?.(_==="chat")}),n.jsx(Hh,{isOpen:S!==null,title:"Delete Project",message:`Are you sure you want to remove "${S}" from the registry? This will unregister the project but preserve its files on disk.`,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",isLoading:E.isPending,onConfirm:O,onCancel:U})]})}function Hv({feature:i,allFeatures:r=[],compact:d=!1}){const o=i.dependencies||[];if(o.length===0)return null;const h=i.blocked??(i.blocking_dependencies&&i.blocking_dependencies.length>0)??!1,x=i.blocking_dependencies?.length??0;let y=o.length-x;if(r.length>0&&!i.blocking_dependencies){const v=new Set(r.filter(p=>p.passes).map(p=>p.id));y=o.filter(p=>v.has(p)).length}return d?n.jsx(Me,{variant:"outline",className:`gap-1 font-mono text-xs ${h?"bg-destructive/10 text-destructive border-destructive/30":"bg-muted text-muted-foreground"}`,title:h?`Blocked by ${x} ${x===1?"dependency":"dependencies"}`:`${y}/${o.length} dependencies satisfied`,children:h?n.jsxs(n.Fragment,{children:[n.jsx(Ta,{size:12}),n.jsx("span",{children:x})]}):n.jsxs(n.Fragment,{children:[n.jsx(hl,{size:12}),n.jsxs("span",{children:[y,"/",o.length]})]})}):n.jsx("div",{className:"flex items-center gap-2",children:h?n.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-destructive",children:[n.jsx(Ta,{size:14}),n.jsxs("span",{className:"font-medium",children:["Blocked by ",x," ",x===1?"dependency":"dependencies"]})]}):n.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[n.jsx(sa,{size:14,className:"text-primary"}),n.jsxs("span",{children:["All ",o.length," ",o.length===1?"dependency":"dependencies"," satisfied"]})]})})}const qv={primary:"#6B7280",secondary:"#9CA3AF",accent:"#F3F4F6"},Lv={Spark:{primary:"#3B82F6",secondary:"#60A5FA",accent:"#DBEAFE"},Fizz:{primary:"#F97316",secondary:"#FB923C",accent:"#FFEDD5"},Octo:{primary:"#8B5CF6",secondary:"#A78BFA",accent:"#EDE9FE"},Hoot:{primary:"#22C55E",secondary:"#4ADE80",accent:"#DCFCE7"},Buzz:{primary:"#EAB308",secondary:"#FACC15",accent:"#FEF9C3"},Pixel:{primary:"#EC4899",secondary:"#F472B6",accent:"#FCE7F3"},Byte:{primary:"#06B6D4",secondary:"#22D3EE",accent:"#CFFAFE"},Nova:{primary:"#F43F5E",secondary:"#FB7185",accent:"#FFE4E6"},Chip:{primary:"#84CC16",secondary:"#A3E635",accent:"#ECFCCB"},Bolt:{primary:"#FBBF24",secondary:"#FCD34D",accent:"#FEF3C7"},Dash:{primary:"#14B8A6",secondary:"#2DD4BF",accent:"#CCFBF1"},Zap:{primary:"#A855F7",secondary:"#C084FC",accent:"#F3E8FF"},Gizmo:{primary:"#64748B",secondary:"#94A3B8",accent:"#F1F5F9"},Turbo:{primary:"#EF4444",secondary:"#F87171",accent:"#FEE2E2"},Blip:{primary:"#10B981",secondary:"#34D399",accent:"#D1FAE5"},Neon:{primary:"#D946EF",secondary:"#E879F9",accent:"#FAE8FF"},Widget:{primary:"#6366F1",secondary:"#818CF8",accent:"#E0E7FF"},Zippy:{primary:"#F59E0B",secondary:"#FBBF24",accent:"#FEF3C7"},Quirk:{primary:"#0EA5E9",secondary:"#38BDF8",accent:"#E0F2FE"},Flux:{primary:"#7C3AED",secondary:"#8B5CF6",accent:"#EDE9FE"}};function Gv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"16",y:"20",width:"32",height:"28",rx:"4",fill:i.primary}),n.jsx("rect",{x:"12",y:"8",width:"40",height:"24",rx:"4",fill:i.secondary}),n.jsx("circle",{cx:"32",cy:"4",r:"4",fill:i.primary,className:"animate-pulse"}),n.jsx("rect",{x:"30",y:"4",width:"4",height:"8",fill:i.primary}),n.jsx("circle",{cx:"24",cy:"18",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"18",r:"4",fill:"white"}),n.jsx("circle",{cx:"25",cy:"18",r:"2",fill:i.primary}),n.jsx("circle",{cx:"41",cy:"18",r:"2",fill:i.primary}),n.jsx("rect",{x:"26",y:"24",width:"12",height:"2",rx:"1",fill:"white"}),n.jsx("rect",{x:"6",y:"24",width:"8",height:"4",rx:"2",fill:i.primary}),n.jsx("rect",{x:"50",y:"24",width:"8",height:"4",rx:"2",fill:i.primary})]})}function Qv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"12,12 20,28 4,28",fill:i.primary}),n.jsx("polygon",{points:"52,12 60,28 44,28",fill:i.primary}),n.jsx("polygon",{points:"14,14 18,26 8,26",fill:i.accent}),n.jsx("polygon",{points:"50,14 56,26 44,26",fill:i.accent}),n.jsx("ellipse",{cx:"32",cy:"36",rx:"24",ry:"22",fill:i.primary}),n.jsx("ellipse",{cx:"32",cy:"40",rx:"18",ry:"14",fill:i.accent}),n.jsx("ellipse",{cx:"24",cy:"32",rx:"4",ry:"5",fill:"white"}),n.jsx("ellipse",{cx:"40",cy:"32",rx:"4",ry:"5",fill:"white"}),n.jsx("circle",{cx:"25",cy:"33",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"33",r:"2",fill:"#1a1a1a"}),n.jsx("ellipse",{cx:"32",cy:"42",rx:"4",ry:"3",fill:i.primary}),n.jsx("line",{x1:"8",y1:"38",x2:"18",y2:"40",stroke:i.primary,strokeWidth:"2"}),n.jsx("line",{x1:"8",y1:"44",x2:"18",y2:"44",stroke:i.primary,strokeWidth:"2"}),n.jsx("line",{x1:"46",y1:"40",x2:"56",y2:"38",stroke:i.primary,strokeWidth:"2"}),n.jsx("line",{x1:"46",y1:"44",x2:"56",y2:"44",stroke:i.primary,strokeWidth:"2"})]})}function Yv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M12,48 Q8,56 12,60 Q16,64 20,58",fill:i.secondary}),n.jsx("path",{d:"M22,50 Q20,58 24,62",fill:i.secondary}),n.jsx("path",{d:"M32,52 Q32,60 36,62",fill:i.secondary}),n.jsx("path",{d:"M42,50 Q44,58 40,62",fill:i.secondary}),n.jsx("path",{d:"M52,48 Q56,56 52,60 Q48,64 44,58",fill:i.secondary}),n.jsx("ellipse",{cx:"32",cy:"32",rx:"22",ry:"24",fill:i.primary}),n.jsx("ellipse",{cx:"24",cy:"28",rx:"6",ry:"8",fill:"white"}),n.jsx("ellipse",{cx:"40",cy:"28",rx:"6",ry:"8",fill:"white"}),n.jsx("ellipse",{cx:"25",cy:"30",rx:"3",ry:"4",fill:i.primary}),n.jsx("ellipse",{cx:"41",cy:"30",rx:"3",ry:"4",fill:i.primary}),n.jsx("path",{d:"M24,42 Q32,48 40,42",stroke:i.accent,strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function Vv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"14,8 22,24 6,20",fill:i.primary}),n.jsx("polygon",{points:"50,8 58,20 42,24",fill:i.primary}),n.jsx("ellipse",{cx:"32",cy:"40",rx:"20",ry:"18",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"28",r:"20",fill:i.secondary}),n.jsx("circle",{cx:"24",cy:"26",r:"10",fill:i.accent}),n.jsx("circle",{cx:"40",cy:"26",r:"10",fill:i.accent}),n.jsx("circle",{cx:"24",cy:"26",r:"6",fill:"white"}),n.jsx("circle",{cx:"40",cy:"26",r:"6",fill:"white"}),n.jsx("circle",{cx:"25",cy:"27",r:"3",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"27",r:"3",fill:"#1a1a1a"}),n.jsx("polygon",{points:"32,32 28,40 36,40",fill:"#F97316"}),n.jsx("ellipse",{cx:"32",cy:"46",rx:"10",ry:"8",fill:i.accent})]})}function Xv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("ellipse",{cx:"14",cy:"32",rx:"10",ry:"14",fill:i.accent,opacity:"0.8",className:"animate-pulse"}),n.jsx("ellipse",{cx:"50",cy:"32",rx:"10",ry:"14",fill:i.accent,opacity:"0.8",className:"animate-pulse"}),n.jsx("ellipse",{cx:"32",cy:"36",rx:"14",ry:"20",fill:i.primary}),n.jsx("ellipse",{cx:"32",cy:"30",rx:"12",ry:"6",fill:"#1a1a1a"}),n.jsx("ellipse",{cx:"32",cy:"44",rx:"12",ry:"6",fill:"#1a1a1a"}),n.jsx("circle",{cx:"32",cy:"16",r:"12",fill:i.primary}),n.jsx("line",{x1:"26",y1:"8",x2:"22",y2:"2",stroke:"#1a1a1a",strokeWidth:"2"}),n.jsx("line",{x1:"38",y1:"8",x2:"42",y2:"2",stroke:"#1a1a1a",strokeWidth:"2"}),n.jsx("circle",{cx:"22",cy:"2",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"42",cy:"2",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"28",cy:"14",r:"4",fill:"white"}),n.jsx("circle",{cx:"36",cy:"14",r:"4",fill:"white"}),n.jsx("circle",{cx:"29",cy:"15",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"37",cy:"15",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M28,20 Q32,24 36,20",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function Kv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"20",y:"28",width:"24",height:"28",fill:i.primary}),n.jsx("rect",{x:"16",y:"32",width:"8",height:"20",fill:i.secondary}),n.jsx("rect",{x:"40",y:"32",width:"8",height:"20",fill:i.secondary}),n.jsx("rect",{x:"16",y:"8",width:"32",height:"24",fill:i.primary}),n.jsx("rect",{x:"20",y:"14",width:"8",height:"8",fill:"white"}),n.jsx("rect",{x:"36",y:"14",width:"8",height:"8",fill:"white"}),n.jsx("rect",{x:"24",y:"16",width:"4",height:"4",fill:"#1a1a1a"}),n.jsx("rect",{x:"38",y:"16",width:"4",height:"4",fill:"#1a1a1a"}),n.jsx("rect",{x:"26",y:"26",width:"12",height:"4",fill:i.accent})]})}function Zv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"32,8 56,20 56,44 32,56 8,44 8,20",fill:i.primary}),n.jsx("polygon",{points:"32,8 56,20 32,32 8,20",fill:i.secondary}),n.jsx("polygon",{points:"32,32 56,20 56,44 32,56",fill:i.accent,opacity:"0.6"}),n.jsx("circle",{cx:"24",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"25",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M26,38 Q32,42 38,38",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function Fv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"32,2 38,22 58,22 42,36 48,56 32,44 16,56 22,36 6,22 26,22",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:i.secondary}),n.jsx("circle",{cx:"27",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"37",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"28",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"38",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("path",{d:"M28,37 Q32,40 36,37",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function Jv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"16",y:"16",width:"32",height:"32",rx:"4",fill:i.primary}),n.jsx("rect",{x:"20",y:"10",width:"4",height:"8",fill:i.secondary}),n.jsx("rect",{x:"30",y:"10",width:"4",height:"8",fill:i.secondary}),n.jsx("rect",{x:"40",y:"10",width:"4",height:"8",fill:i.secondary}),n.jsx("rect",{x:"20",y:"46",width:"4",height:"8",fill:i.secondary}),n.jsx("rect",{x:"30",y:"46",width:"4",height:"8",fill:i.secondary}),n.jsx("rect",{x:"40",y:"46",width:"4",height:"8",fill:i.secondary}),n.jsx("circle",{cx:"26",cy:"28",r:"4",fill:i.accent}),n.jsx("circle",{cx:"38",cy:"28",r:"4",fill:i.accent}),n.jsx("circle",{cx:"26",cy:"28",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"38",cy:"28",r:"2",fill:"#1a1a1a"}),n.jsx("rect",{x:"26",y:"38",width:"12",height:"3",rx:"1",fill:i.accent})]})}function $v({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"36,4 20,28 30,28 24,60 48,32 36,32 44,4",fill:i.primary}),n.jsx("polygon",{points:"34,8 24,26 32,26 28,52 42,34 34,34 40,8",fill:i.secondary}),n.jsx("circle",{cx:"30",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"38",cy:"26",r:"3",fill:"white"}),n.jsx("circle",{cx:"31",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"39",cy:"27",r:"1.5",fill:"#1a1a1a"})]})}function Wv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"4",y:"28",width:"12",height:"3",rx:"1",fill:i.accent,opacity:"0.6"}),n.jsx("rect",{x:"8",y:"34",width:"10",height:"3",rx:"1",fill:i.accent,opacity:"0.4"}),n.jsx("ellipse",{cx:"36",cy:"32",rx:"20",ry:"16",fill:i.primary}),n.jsx("ellipse",{cx:"40",cy:"32",rx:"14",ry:"12",fill:i.secondary}),n.jsx("circle",{cx:"38",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"48",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"39",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"49",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M40,36 Q44,39 48,36",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function Iv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M12,32 L20,28 L16,32 L22,30",stroke:i.secondary,strokeWidth:"2",className:"animate-pulse"}),n.jsx("path",{d:"M52,32 L44,28 L48,32 L42,30",stroke:i.secondary,strokeWidth:"2",className:"animate-pulse"}),n.jsx("circle",{cx:"32",cy:"32",r:"18",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:i.secondary}),n.jsx("circle",{cx:"26",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"38",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"27",cy:"31",r:"2",fill:i.primary}),n.jsx("circle",{cx:"39",cy:"31",r:"2",fill:i.primary}),n.jsx("path",{d:"M28,40 Q32,44 36,40",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function Pv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"28",y:"4",width:"8",height:"8",fill:i.primary}),n.jsx("rect",{x:"28",y:"52",width:"8",height:"8",fill:i.primary}),n.jsx("rect",{x:"4",y:"28",width:"8",height:"8",fill:i.primary}),n.jsx("rect",{x:"52",y:"28",width:"8",height:"8",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"20",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:i.secondary}),n.jsx("circle",{cx:"26",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"38",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"27",cy:"31",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"39",cy:"31",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M28,40 Q32,43 36,40",stroke:"#1a1a1a",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function eb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("ellipse",{cx:"32",cy:"58",rx:"8",ry:"6",fill:"#FBBF24",className:"animate-pulse"}),n.jsx("ellipse",{cx:"32",cy:"56",rx:"5",ry:"4",fill:"#FCD34D"}),n.jsx("ellipse",{cx:"32",cy:"32",rx:"14",ry:"24",fill:i.primary}),n.jsx("ellipse",{cx:"32",cy:"12",rx:"8",ry:"10",fill:i.secondary}),n.jsx("polygon",{points:"18,44 10,56 18,52",fill:i.secondary}),n.jsx("polygon",{points:"46,44 54,56 46,52",fill:i.secondary}),n.jsx("circle",{cx:"32",cy:"28",r:"8",fill:i.accent}),n.jsx("circle",{cx:"29",cy:"27",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"35",cy:"27",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M29,32 Q32,34 35,32",stroke:"#1a1a1a",strokeWidth:"1",fill:"none"})]})}function tb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("circle",{cx:"32",cy:"32",r:"28",stroke:i.accent,strokeWidth:"2",fill:"none",opacity:"0.3"}),n.jsx("circle",{cx:"32",cy:"32",r:"22",stroke:i.accent,strokeWidth:"2",fill:"none",opacity:"0.5"}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"10",fill:i.secondary}),n.jsx("circle",{cx:"28",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"36",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"29",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"37",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("path",{d:"M29,37 Q32,40 35,37",stroke:"white",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function ab({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("circle",{cx:"32",cy:"32",r:"26",fill:i.accent,opacity:"0.3"}),n.jsx("circle",{cx:"32",cy:"32",r:"22",fill:i.accent,opacity:"0.5"}),n.jsx("circle",{cx:"32",cy:"32",r:"18",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"12",fill:i.secondary}),n.jsx("circle",{cx:"27",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"37",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"28",cy:"31",r:"2",fill:i.primary}),n.jsx("circle",{cx:"38",cy:"31",r:"2",fill:i.primary}),n.jsx("path",{d:"M28,38 Q32,42 36,38",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function nb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"8",y:"12",width:"48",height:"40",rx:"4",fill:i.primary}),n.jsx("rect",{x:"8",y:"12",width:"48",height:"10",rx:"4",fill:i.secondary}),n.jsx("circle",{cx:"16",cy:"17",r:"2",fill:"#EF4444"}),n.jsx("circle",{cx:"24",cy:"17",r:"2",fill:"#FBBF24"}),n.jsx("circle",{cx:"32",cy:"17",r:"2",fill:"#22C55E"}),n.jsx("rect",{x:"12",y:"26",width:"40",height:"22",rx:"2",fill:i.accent}),n.jsx("circle",{cx:"24",cy:"34",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"34",r:"4",fill:"white"}),n.jsx("circle",{cx:"25",cy:"35",r:"2",fill:i.primary}),n.jsx("circle",{cx:"41",cy:"35",r:"2",fill:i.primary}),n.jsx("rect",{x:"28",y:"42",width:"8",height:"3",rx:"1",fill:i.primary})]})}function lb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("ellipse",{cx:"22",cy:"14",rx:"6",ry:"14",fill:i.primary}),n.jsx("ellipse",{cx:"42",cy:"14",rx:"6",ry:"14",fill:i.primary}),n.jsx("ellipse",{cx:"22",cy:"14",rx:"3",ry:"10",fill:i.accent}),n.jsx("ellipse",{cx:"42",cy:"14",rx:"3",ry:"10",fill:i.accent}),n.jsx("circle",{cx:"32",cy:"38",r:"20",fill:i.primary}),n.jsx("circle",{cx:"24",cy:"34",r:"5",fill:"white"}),n.jsx("circle",{cx:"40",cy:"34",r:"5",fill:"white"}),n.jsx("circle",{cx:"25",cy:"35",r:"2.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"35",r:"2.5",fill:"#1a1a1a"}),n.jsx("ellipse",{cx:"32",cy:"44",rx:"3",ry:"2",fill:i.secondary}),n.jsx("path",{d:"M32,46 L32,50 M28,52 Q32,56 36,52",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none"})]})}function sb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M24,20 Q24,8 32,8 Q44,8 44,20 Q44,28 32,32 L32,40",stroke:i.primary,strokeWidth:"8",fill:"none",strokeLinecap:"round"}),n.jsx("circle",{cx:"32",cy:"52",r:"6",fill:i.primary}),n.jsx("circle",{cx:"29",cy:"51",r:"1.5",fill:"white"}),n.jsx("circle",{cx:"35",cy:"51",r:"1.5",fill:"white"}),n.jsx("circle",{cx:"29",cy:"51",r:"0.75",fill:"#1a1a1a"}),n.jsx("circle",{cx:"35",cy:"51",r:"0.75",fill:"#1a1a1a"}),n.jsx("circle",{cx:"32",cy:"20",r:"4",fill:i.secondary})]})}function ib({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M8,32 Q16,16 32,32 Q48,48 56,32",stroke:i.primary,strokeWidth:"16",fill:"none",strokeLinecap:"round"}),n.jsx("path",{d:"M8,32 Q16,16 32,32 Q48,48 56,32",stroke:i.secondary,strokeWidth:"10",fill:"none",strokeLinecap:"round"}),n.jsx("circle",{cx:"28",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"36",r:"4",fill:"white"}),n.jsx("circle",{cx:"29",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"37",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"16",cy:"24",r:"2",fill:i.accent,className:"animate-pulse"}),n.jsx("circle",{cx:"48",cy:"40",r:"2",fill:i.accent,className:"animate-pulse"})]})}function cb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[n.jsx("circle",{cx:"32",cy:"32",r:"28",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"24",fill:i.secondary}),n.jsx("text",{x:"32",y:"44",textAnchor:"middle",fontSize:"32",fontWeight:"bold",fill:"white",children:"?"})]})}const rb={Spark:Gv,Fizz:Qv,Octo:Yv,Hoot:Vv,Buzz:Xv,Pixel:Kv,Byte:Zv,Nova:Fv,Chip:Jv,Bolt:$v,Dash:Wv,Zap:Iv,Gizmo:Pv,Turbo:eb,Blip:tb,Neon:ab,Widget:nb,Zippy:lb,Quirk:sb,Flux:ib},ub=cb,ob={sm:{svg:32,font:"text-xs"},md:{svg:48,font:"text-sm"},lg:{svg:64,font:"text-base"}};function db(i){switch(i){case"idle":return"animate-bounce-gentle";case"thinking":return"animate-thinking";case"working":return"animate-working";case"testing":return"animate-testing";case"success":return"animate-celebrate";case"error":case"struggling":return"animate-shake-gentle";default:return""}}function fb(i){switch(i){case"working":return"shadow-[0_0_12px_rgba(0,180,216,0.5)]";case"thinking":return"shadow-[0_0_8px_rgba(255,214,10,0.4)]";case"success":return"shadow-[0_0_16px_rgba(112,224,0,0.6)]";case"error":case"struggling":return"shadow-[0_0_12px_rgba(255,84,0,0.5)]";default:return""}}function mb(i){switch(i){case"idle":return"waiting";case"thinking":return"analyzing";case"working":return"coding";case"testing":return"running tests";case"success":return"completed successfully";case"error":return"encountered an error";case"struggling":return"having difficulty";default:return i}}function gl({name:i,state:r,size:d="md",showName:o=!1}){const h=i==="Unknown",x=h?qv:Lv[i],{svg:y,font:v}=ob[d],p=h?ub:rb[i],S=mb(r),T=`Agent ${i} is ${S}`;return n.jsxs("div",{className:"flex flex-col items-center gap-1",role:"status","aria-label":T,"aria-live":"polite",children:[n.jsx("div",{className:`
|
|
46
|
+
`,children:[x===Q.path?n.jsx(Xi,{size:18,className:"text-primary flex-shrink-0"}):n.jsx(Qi,{size:18,className:"text-muted-foreground flex-shrink-0"}),n.jsx("span",{className:"truncate flex-1",children:Q.name}),Q.has_children&&n.jsx(Rm,{size:14,className:"ml-auto text-muted-foreground flex-shrink-0"})]},Q.path)),w?.entries.filter(Q=>Q.is_directory).length===0&&n.jsxs("div",{className:"p-4 text-center text-muted-foreground",children:[n.jsx(Qi,{size:32,className:"mx-auto mb-2 opacity-50"}),n.jsx("p",{children:"No subfolders"}),n.jsx("p",{className:"text-sm",children:"You can create a new folder or select this directory."})]})]}),v&&n.jsx(Oe,{className:"mt-2",children:n.jsxs(Ge,{className:"p-3",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Um,{size:18,className:"text-primary"}),n.jsx(lt,{type:"text",value:S,onChange:Q=>T(Q.target.value),placeholder:"New folder name",className:"flex-1",autoFocus:!0,onKeyDown:Q=>{ys(Q,!1)&&$(),Q.key==="Escape"&&(p(!1),T(""),B(null))}}),n.jsx(F,{onClick:$,size:"sm",children:"Create"}),n.jsx(F,{variant:"ghost",size:"sm",onClick:()=>{p(!1),T(""),B(null)},children:"Cancel"})]}),E&&n.jsx("p",{className:"text-sm text-destructive mt-1",children:E})]})})]})}),n.jsxs("div",{className:"flex-shrink-0 p-4 border-t bg-card",children:[n.jsx(Oe,{className:"mb-3",children:n.jsxs(Ge,{className:"p-2",children:[n.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Selected path:"}),n.jsx("div",{className:"font-mono text-sm truncate",children:x||"No folder selected"}),x&&n.jsx("div",{className:"text-xs text-muted-foreground mt-2 italic",children:"This folder will contain all project files"})]})}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs(F,{variant:"outline",onClick:()=>p(!0),disabled:v,children:[n.jsx(Um,{size:16}),"New Folder"]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(F,{variant:"outline",onClick:r,children:"Cancel"}),n.jsx(F,{onClick:W,disabled:!x,children:"Select This Folder"})]})]})]})]})}function Wt({...i}){return n.jsx(py,{"data-slot":"dialog",...i})}function Dv({...i}){return n.jsx(jy,{"data-slot":"dialog-portal",...i})}function _v({className:i,...r}){return n.jsx(Sy,{"data-slot":"dialog-overlay",className:Re("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",i),...r})}function It({className:i,children:r,showCloseButton:d=!0,...o}){return n.jsxs(Dv,{"data-slot":"dialog-portal",children:[n.jsx(_v,{}),n.jsxs(yy,{"data-slot":"dialog-content",className:Re("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] max-h-[calc(100vh-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none overflow-y-auto sm:max-w-lg",i),...o,children:[r,d&&n.jsxs(wh,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[n.jsx(nt,{}),n.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function Pt({className:i,...r}){return n.jsx("div",{"data-slot":"dialog-header",className:Re("flex flex-col gap-2 text-center sm:text-left",i),...r})}function Ea({className:i,showCloseButton:r=!1,children:d,...o}){return n.jsxs("div",{"data-slot":"dialog-footer",className:Re("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",i),...o,children:[d,r&&n.jsx(wh,{asChild:!0,children:n.jsx(F,{variant:"outline",children:"Close"})})]})}function ea({className:i,...r}){return n.jsx(vy,{"data-slot":"dialog-title",className:Re("text-lg leading-none font-semibold",i),...r})}function gs({className:i,...r}){return n.jsx(by,{"data-slot":"dialog-description",className:Re("text-muted-foreground text-sm",i),...r})}function ze({className:i,...r}){return n.jsx(Ny,{"data-slot":"label",className:Re("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",i),...r})}function Mv({isOpen:i,onClose:r,onProjectCreated:d,onStepChange:o}){const[h,x]=f.useState("name"),[y,v]=f.useState(""),[p,S]=f.useState(null),[T,E]=f.useState(null),[B,w]=f.useState(null),[O,U]=f.useState("idle"),[z,_]=f.useState(null),[b,N]=f.useState(!1),L=q0(),$=g=>{x(g),o?.(g)};if(!i)return null;const W=g=>{g.preventDefault();const D=y.trim();if(!D){w("Please enter a project name");return}if(!/^[a-zA-Z0-9_-]+$/.test(D)){w("Project name can only contain letters, numbers, hyphens, and underscores");return}w(null),$("folder")},K=g=>{S(g),$("method")},I=()=>{$("name")},Q=async g=>{if(E(g),!p){w("Please select a project folder first"),$("folder");return}if(g==="manual")try{const D=await L.mutateAsync({name:y.trim(),path:p,specMethod:"manual"});$("complete"),setTimeout(()=>{d(D.name),X()},1500)}catch(D){w(D instanceof Error?D.message:"Failed to create project")}else try{await L.mutateAsync({name:y.trim(),path:p,specMethod:"claude"}),$("chat")}catch(D){w(D instanceof Error?D.message:"Failed to create project")}},le=async(g,D=!1)=>{N(D),U("starting");try{await Eu(y.trim(),{yoloMode:D,maxConcurrency:3}),$("complete"),setTimeout(()=>{d(y.trim()),X()},1500)}catch(ee){U("error"),_(ee instanceof Error?ee.message:"Failed to start agent")}},P=()=>{_(null),U("idle"),le("",b)},H=()=>{$("method"),E(null)},J=()=>{d(y.trim()),X()},X=()=>{$("name"),v(""),S(null),E(null),w(null),U("idle"),_(null),N(!1),r()},Y=()=>{h==="method"?($("folder"),E(null)):h==="folder"&&($("name"),S(null))};return h==="chat"?Nh.createPortal(n.jsx("div",{className:"fixed inset-0 z-50 bg-background flex flex-col",children:n.jsx(Bh,{projectName:y.trim(),onComplete:le,onCancel:H,onExitToProject:J,initializerStatus:O,initializerError:z,onRetryInitializer:P})}),document.body):h==="folder"?n.jsx(Wt,{open:!0,onOpenChange:g=>!g&&X(),children:n.jsxs(It,{className:"sm:max-w-3xl max-h-[85vh] flex flex-col p-0",children:[n.jsx(Pt,{className:"p-6 pb-4 border-b",children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(Qi,{size:24,className:"text-primary"}),n.jsxs("div",{children:[n.jsx(ea,{children:"Select Project Location"}),n.jsxs(gs,{children:["Select the folder to use for project ",n.jsx("span",{className:"font-semibold font-mono",children:y}),". Create a new folder or choose an existing one."]})]})]})}),n.jsx("div",{className:"flex-1 overflow-hidden",children:n.jsx(Av,{onSelect:K,onCancel:I})})]})}):n.jsx(Wt,{open:!0,onOpenChange:g=>!g&&X(),children:n.jsxs(It,{className:"sm:max-w-lg",children:[n.jsx(Pt,{children:n.jsxs(ea,{children:[h==="name"&&"Create New Project",h==="method"&&"Choose Setup Method",h==="complete"&&"Project Created!"]})}),h==="name"&&n.jsxs("form",{onSubmit:W,className:"space-y-4",children:[n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{htmlFor:"project-name",children:"Project Name"}),n.jsx(lt,{id:"project-name",type:"text",value:y,onChange:g=>v(g.target.value),placeholder:"my-awesome-app",pattern:"^[a-zA-Z0-9_-]+$",autoFocus:!0}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Use letters, numbers, hyphens, and underscores only."})]}),B&&n.jsx(ft,{variant:"destructive",children:n.jsx(mt,{children:B})}),n.jsx(Ea,{children:n.jsxs(F,{type:"submit",disabled:!y.trim(),children:["Next",n.jsx(xh,{size:16})]})})]}),h==="method"&&n.jsxs("div",{className:"space-y-4",children:[n.jsx(gs,{children:"How would you like to define your project?"}),n.jsxs("div",{className:"space-y-3",children:[n.jsx(Oe,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>!L.isPending&&Q("claude"),children:n.jsx(Ge,{className:"p-4",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"p-2 bg-primary/10 rounded-lg",children:n.jsx(Cu,{size:24,className:"text-primary"})}),n.jsxs("div",{className:"flex-1",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"font-semibold",children:"Create with Claude"}),n.jsx(Me,{children:"Recommended"})]}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Interactive conversation to define features and generate your app specification automatically."})]})]})})}),n.jsx(Oe,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>!L.isPending&&Q("manual"),children:n.jsx(Ge,{className:"p-4",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"p-2 bg-secondary rounded-lg",children:n.jsx(yu,{size:24,className:"text-secondary-foreground"})}),n.jsxs("div",{className:"flex-1",children:[n.jsx("span",{className:"font-semibold",children:"Edit Templates Manually"}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Edit the template files directly. Best for developers who want full control."})]})]})})})]}),B&&n.jsx(ft,{variant:"destructive",children:n.jsx(mt,{children:B})}),L.isPending&&n.jsxs("div",{className:"flex items-center justify-center gap-2 text-muted-foreground",children:[n.jsx(Ce,{size:16,className:"animate-spin"}),n.jsx("span",{children:"Creating project..."})]}),n.jsx(Ea,{className:"sm:justify-start",children:n.jsxs(F,{variant:"ghost",onClick:Y,disabled:L.isPending,children:[n.jsx(gh,{size:16}),"Back"]})})]}),h==="complete"&&n.jsxs("div",{className:"text-center py-8",children:[n.jsx("div",{className:"inline-flex items-center justify-center w-16 h-16 bg-primary/10 rounded-full mb-4",children:n.jsx(Jt,{size:32,className:"text-primary"})}),n.jsx("h3",{className:"font-semibold text-xl mb-2",children:y}),n.jsx("p",{className:"text-muted-foreground",children:"Your project has been created successfully!"}),n.jsxs("div",{className:"mt-4 flex items-center justify-center gap-2",children:[n.jsx(Ce,{size:16,className:"animate-spin"}),n.jsx("span",{className:"text-sm text-muted-foreground",children:"Redirecting..."})]})]})]})})}function Hh({isOpen:i,title:r,message:d,confirmLabel:o="Confirm",cancelLabel:h="Cancel",variant:x="danger",isLoading:y=!1,onConfirm:v,onCancel:p}){return n.jsx(Wt,{open:i,onOpenChange:S=>!S&&p(),children:n.jsxs(It,{className:"sm:max-w-md",children:[n.jsx(Pt,{children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:`p-2 rounded-lg ${x==="danger"?"bg-destructive/10 text-destructive":"bg-primary/10 text-primary"}`,children:n.jsx(Ta,{size:20})}),n.jsx(ea,{children:r})]})}),n.jsx(gs,{asChild:!0,children:n.jsx("div",{className:"text-muted-foreground",children:d})}),n.jsxs(Ea,{className:"gap-2 sm:gap-0",children:[n.jsx(F,{variant:"outline",onClick:p,disabled:y,children:h}),n.jsx(F,{variant:x==="danger"?"destructive":"default",onClick:v,disabled:y,children:y?"Deleting...":o})]})]})})}function kv({...i}){return n.jsx(Cy,{"data-slot":"dropdown-menu",...i})}function Ov({...i}){return n.jsx(wy,{"data-slot":"dropdown-menu-trigger",...i})}function Rv({className:i,sideOffset:r=4,...d}){return n.jsx(zy,{children:n.jsx(Ty,{"data-slot":"dropdown-menu-content",sideOffset:r,className:Re("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",i),...d})})}function $m({className:i,inset:r,variant:d="default",...o}){return n.jsx(Ey,{"data-slot":"dropdown-menu-item","data-inset":r,"data-variant":d,className:Re("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",i),...o})}function Uv({className:i,...r}){return n.jsx(Ay,{"data-slot":"dropdown-menu-separator",className:Re("bg-border -mx-1 my-1 h-px",i),...r})}function Bv({projects:i,selectedProject:r,onSelectProject:d,isLoading:o,onSpecCreatingChange:h}){const[x,y]=f.useState(!1),[v,p]=f.useState(!1),[S,T]=f.useState(null),E=L0(),B=_=>{d(_),y(!1)},w=(_,b)=>{_.stopPropagation(),_.preventDefault(),T(b)},O=async()=>{if(S)try{await E.mutateAsync(S),r===S&&d(null),T(null)}catch(_){console.error("Failed to delete project:",_),T(null)}},U=()=>{T(null)},z=i.find(_=>_.name===r);return n.jsxs("div",{className:"relative",children:[n.jsxs(kv,{open:x,onOpenChange:y,children:[n.jsx(Ov,{asChild:!0,children:n.jsxs(F,{variant:"outline",className:"min-w-[140px] sm:min-w-[200px] justify-between",disabled:o,title:z?.path,children:[o?n.jsx(Ce,{size:18,className:"animate-spin"}):r?n.jsxs(n.Fragment,{children:[n.jsxs("span",{className:"flex items-center gap-2 truncate",children:[n.jsx(Xi,{size:18,className:"shrink-0"}),n.jsx("span",{className:"truncate",children:r})]}),z&&z.stats.total>0&&n.jsxs(Me,{className:"ml-2",children:[z.stats.percentage,"%"]})]}):n.jsx("span",{className:"text-muted-foreground",children:"Select Project"}),n.jsx(xs,{size:18,className:`transition-transform ${x?"rotate-180":""}`})]})}),n.jsxs(Rv,{align:"start",className:"w-[280px] p-0 flex flex-col",children:[i.length>0?n.jsx("div",{className:"max-h-[300px] overflow-y-auto p-1",children:i.map(_=>n.jsxs($m,{title:_.path,className:`flex items-center justify-between cursor-pointer ${_.name===r?"bg-primary/10":""}`,onSelect:()=>{d(_.name)},children:[n.jsxs("span",{className:"flex items-center gap-2 flex-1",children:[n.jsx(Xi,{size:16}),_.name,_.stats.total>0&&n.jsxs("span",{className:"text-sm font-mono text-muted-foreground ml-auto",children:[_.stats.passing,"/",_.stats.total]})]}),n.jsx(F,{variant:"ghost",size:"icon-xs",onClick:b=>w(b,_.name),className:"text-muted-foreground hover:text-destructive",children:n.jsx(an,{size:14})})]},_.name))}):n.jsx("div",{className:"p-4 text-center text-muted-foreground",children:"No projects yet"}),n.jsx(Uv,{className:"my-0"}),n.jsx("div",{className:"p-1",children:n.jsxs($m,{onSelect:()=>{p(!0)},className:"cursor-pointer font-semibold",children:[n.jsx(tn,{size:16}),"New Project"]})})]})]}),n.jsx(Mv,{isOpen:v,onClose:()=>p(!1),onProjectCreated:B,onStepChange:_=>h?.(_==="chat")}),n.jsx(Hh,{isOpen:S!==null,title:"Delete Project",message:`Are you sure you want to remove "${S}" from the registry? This will unregister the project but preserve its files on disk.`,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",isLoading:E.isPending,onConfirm:O,onCancel:U})]})}function Hv({feature:i,allFeatures:r=[],compact:d=!1}){const o=i.dependencies||[];if(o.length===0)return null;const h=i.blocked??(i.blocking_dependencies&&i.blocking_dependencies.length>0)??!1,x=i.blocking_dependencies?.length??0;let y=o.length-x;if(r.length>0&&!i.blocking_dependencies){const v=new Set(r.filter(p=>p.passes).map(p=>p.id));y=o.filter(p=>v.has(p)).length}return d?n.jsx(Me,{variant:"outline",className:`gap-1 font-mono text-xs ${h?"bg-destructive/10 text-destructive border-destructive/30":"bg-muted text-muted-foreground"}`,title:h?`Blocked by ${x} ${x===1?"dependency":"dependencies"}`:`${y}/${o.length} dependencies satisfied`,children:h?n.jsxs(n.Fragment,{children:[n.jsx(Ta,{size:12}),n.jsx("span",{children:x})]}):n.jsxs(n.Fragment,{children:[n.jsx(xl,{size:12}),n.jsxs("span",{children:[y,"/",o.length]})]})}):n.jsx("div",{className:"flex items-center gap-2",children:h?n.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-destructive",children:[n.jsx(Ta,{size:14}),n.jsxs("span",{className:"font-medium",children:["Blocked by ",x," ",x===1?"dependency":"dependencies"]})]}):n.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[n.jsx(sa,{size:14,className:"text-primary"}),n.jsxs("span",{children:["All ",o.length," ",o.length===1?"dependency":"dependencies"," satisfied"]})]})})}const qv={primary:"#6B7280",secondary:"#9CA3AF",accent:"#F3F4F6"},Lv={Spark:{primary:"#3B82F6",secondary:"#60A5FA",accent:"#DBEAFE"},Fizz:{primary:"#F97316",secondary:"#FB923C",accent:"#FFEDD5"},Octo:{primary:"#8B5CF6",secondary:"#A78BFA",accent:"#EDE9FE"},Hoot:{primary:"#22C55E",secondary:"#4ADE80",accent:"#DCFCE7"},Buzz:{primary:"#EAB308",secondary:"#FACC15",accent:"#FEF9C3"},Pixel:{primary:"#EC4899",secondary:"#F472B6",accent:"#FCE7F3"},Byte:{primary:"#06B6D4",secondary:"#22D3EE",accent:"#CFFAFE"},Nova:{primary:"#F43F5E",secondary:"#FB7185",accent:"#FFE4E6"},Chip:{primary:"#84CC16",secondary:"#A3E635",accent:"#ECFCCB"},Bolt:{primary:"#FBBF24",secondary:"#FCD34D",accent:"#FEF3C7"},Dash:{primary:"#14B8A6",secondary:"#2DD4BF",accent:"#CCFBF1"},Zap:{primary:"#A855F7",secondary:"#C084FC",accent:"#F3E8FF"},Gizmo:{primary:"#64748B",secondary:"#94A3B8",accent:"#F1F5F9"},Turbo:{primary:"#EF4444",secondary:"#F87171",accent:"#FEE2E2"},Blip:{primary:"#10B981",secondary:"#34D399",accent:"#D1FAE5"},Neon:{primary:"#D946EF",secondary:"#E879F9",accent:"#FAE8FF"},Widget:{primary:"#6366F1",secondary:"#818CF8",accent:"#E0E7FF"},Zippy:{primary:"#F59E0B",secondary:"#FBBF24",accent:"#FEF3C7"},Quirk:{primary:"#0EA5E9",secondary:"#38BDF8",accent:"#E0F2FE"},Flux:{primary:"#7C3AED",secondary:"#8B5CF6",accent:"#EDE9FE"}};function Gv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"16",y:"20",width:"32",height:"28",rx:"4",fill:i.primary}),n.jsx("rect",{x:"12",y:"8",width:"40",height:"24",rx:"4",fill:i.secondary}),n.jsx("circle",{cx:"32",cy:"4",r:"4",fill:i.primary,className:"animate-pulse"}),n.jsx("rect",{x:"30",y:"4",width:"4",height:"8",fill:i.primary}),n.jsx("circle",{cx:"24",cy:"18",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"18",r:"4",fill:"white"}),n.jsx("circle",{cx:"25",cy:"18",r:"2",fill:i.primary}),n.jsx("circle",{cx:"41",cy:"18",r:"2",fill:i.primary}),n.jsx("rect",{x:"26",y:"24",width:"12",height:"2",rx:"1",fill:"white"}),n.jsx("rect",{x:"6",y:"24",width:"8",height:"4",rx:"2",fill:i.primary}),n.jsx("rect",{x:"50",y:"24",width:"8",height:"4",rx:"2",fill:i.primary})]})}function Qv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"12,12 20,28 4,28",fill:i.primary}),n.jsx("polygon",{points:"52,12 60,28 44,28",fill:i.primary}),n.jsx("polygon",{points:"14,14 18,26 8,26",fill:i.accent}),n.jsx("polygon",{points:"50,14 56,26 44,26",fill:i.accent}),n.jsx("ellipse",{cx:"32",cy:"36",rx:"24",ry:"22",fill:i.primary}),n.jsx("ellipse",{cx:"32",cy:"40",rx:"18",ry:"14",fill:i.accent}),n.jsx("ellipse",{cx:"24",cy:"32",rx:"4",ry:"5",fill:"white"}),n.jsx("ellipse",{cx:"40",cy:"32",rx:"4",ry:"5",fill:"white"}),n.jsx("circle",{cx:"25",cy:"33",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"33",r:"2",fill:"#1a1a1a"}),n.jsx("ellipse",{cx:"32",cy:"42",rx:"4",ry:"3",fill:i.primary}),n.jsx("line",{x1:"8",y1:"38",x2:"18",y2:"40",stroke:i.primary,strokeWidth:"2"}),n.jsx("line",{x1:"8",y1:"44",x2:"18",y2:"44",stroke:i.primary,strokeWidth:"2"}),n.jsx("line",{x1:"46",y1:"40",x2:"56",y2:"38",stroke:i.primary,strokeWidth:"2"}),n.jsx("line",{x1:"46",y1:"44",x2:"56",y2:"44",stroke:i.primary,strokeWidth:"2"})]})}function Yv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M12,48 Q8,56 12,60 Q16,64 20,58",fill:i.secondary}),n.jsx("path",{d:"M22,50 Q20,58 24,62",fill:i.secondary}),n.jsx("path",{d:"M32,52 Q32,60 36,62",fill:i.secondary}),n.jsx("path",{d:"M42,50 Q44,58 40,62",fill:i.secondary}),n.jsx("path",{d:"M52,48 Q56,56 52,60 Q48,64 44,58",fill:i.secondary}),n.jsx("ellipse",{cx:"32",cy:"32",rx:"22",ry:"24",fill:i.primary}),n.jsx("ellipse",{cx:"24",cy:"28",rx:"6",ry:"8",fill:"white"}),n.jsx("ellipse",{cx:"40",cy:"28",rx:"6",ry:"8",fill:"white"}),n.jsx("ellipse",{cx:"25",cy:"30",rx:"3",ry:"4",fill:i.primary}),n.jsx("ellipse",{cx:"41",cy:"30",rx:"3",ry:"4",fill:i.primary}),n.jsx("path",{d:"M24,42 Q32,48 40,42",stroke:i.accent,strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function Vv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"14,8 22,24 6,20",fill:i.primary}),n.jsx("polygon",{points:"50,8 58,20 42,24",fill:i.primary}),n.jsx("ellipse",{cx:"32",cy:"40",rx:"20",ry:"18",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"28",r:"20",fill:i.secondary}),n.jsx("circle",{cx:"24",cy:"26",r:"10",fill:i.accent}),n.jsx("circle",{cx:"40",cy:"26",r:"10",fill:i.accent}),n.jsx("circle",{cx:"24",cy:"26",r:"6",fill:"white"}),n.jsx("circle",{cx:"40",cy:"26",r:"6",fill:"white"}),n.jsx("circle",{cx:"25",cy:"27",r:"3",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"27",r:"3",fill:"#1a1a1a"}),n.jsx("polygon",{points:"32,32 28,40 36,40",fill:"#F97316"}),n.jsx("ellipse",{cx:"32",cy:"46",rx:"10",ry:"8",fill:i.accent})]})}function Xv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("ellipse",{cx:"14",cy:"32",rx:"10",ry:"14",fill:i.accent,opacity:"0.8",className:"animate-pulse"}),n.jsx("ellipse",{cx:"50",cy:"32",rx:"10",ry:"14",fill:i.accent,opacity:"0.8",className:"animate-pulse"}),n.jsx("ellipse",{cx:"32",cy:"36",rx:"14",ry:"20",fill:i.primary}),n.jsx("ellipse",{cx:"32",cy:"30",rx:"12",ry:"6",fill:"#1a1a1a"}),n.jsx("ellipse",{cx:"32",cy:"44",rx:"12",ry:"6",fill:"#1a1a1a"}),n.jsx("circle",{cx:"32",cy:"16",r:"12",fill:i.primary}),n.jsx("line",{x1:"26",y1:"8",x2:"22",y2:"2",stroke:"#1a1a1a",strokeWidth:"2"}),n.jsx("line",{x1:"38",y1:"8",x2:"42",y2:"2",stroke:"#1a1a1a",strokeWidth:"2"}),n.jsx("circle",{cx:"22",cy:"2",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"42",cy:"2",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"28",cy:"14",r:"4",fill:"white"}),n.jsx("circle",{cx:"36",cy:"14",r:"4",fill:"white"}),n.jsx("circle",{cx:"29",cy:"15",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"37",cy:"15",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M28,20 Q32,24 36,20",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function Kv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"20",y:"28",width:"24",height:"28",fill:i.primary}),n.jsx("rect",{x:"16",y:"32",width:"8",height:"20",fill:i.secondary}),n.jsx("rect",{x:"40",y:"32",width:"8",height:"20",fill:i.secondary}),n.jsx("rect",{x:"16",y:"8",width:"32",height:"24",fill:i.primary}),n.jsx("rect",{x:"20",y:"14",width:"8",height:"8",fill:"white"}),n.jsx("rect",{x:"36",y:"14",width:"8",height:"8",fill:"white"}),n.jsx("rect",{x:"24",y:"16",width:"4",height:"4",fill:"#1a1a1a"}),n.jsx("rect",{x:"38",y:"16",width:"4",height:"4",fill:"#1a1a1a"}),n.jsx("rect",{x:"26",y:"26",width:"12",height:"4",fill:i.accent})]})}function Zv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"32,8 56,20 56,44 32,56 8,44 8,20",fill:i.primary}),n.jsx("polygon",{points:"32,8 56,20 32,32 8,20",fill:i.secondary}),n.jsx("polygon",{points:"32,32 56,20 56,44 32,56",fill:i.accent,opacity:"0.6"}),n.jsx("circle",{cx:"24",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"25",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M26,38 Q32,42 38,38",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function Fv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"32,2 38,22 58,22 42,36 48,56 32,44 16,56 22,36 6,22 26,22",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:i.secondary}),n.jsx("circle",{cx:"27",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"37",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"28",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"38",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("path",{d:"M28,37 Q32,40 36,37",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function $v({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"16",y:"16",width:"32",height:"32",rx:"4",fill:i.primary}),n.jsx("rect",{x:"20",y:"10",width:"4",height:"8",fill:i.secondary}),n.jsx("rect",{x:"30",y:"10",width:"4",height:"8",fill:i.secondary}),n.jsx("rect",{x:"40",y:"10",width:"4",height:"8",fill:i.secondary}),n.jsx("rect",{x:"20",y:"46",width:"4",height:"8",fill:i.secondary}),n.jsx("rect",{x:"30",y:"46",width:"4",height:"8",fill:i.secondary}),n.jsx("rect",{x:"40",y:"46",width:"4",height:"8",fill:i.secondary}),n.jsx("circle",{cx:"26",cy:"28",r:"4",fill:i.accent}),n.jsx("circle",{cx:"38",cy:"28",r:"4",fill:i.accent}),n.jsx("circle",{cx:"26",cy:"28",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"38",cy:"28",r:"2",fill:"#1a1a1a"}),n.jsx("rect",{x:"26",y:"38",width:"12",height:"3",rx:"1",fill:i.accent})]})}function Jv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"36,4 20,28 30,28 24,60 48,32 36,32 44,4",fill:i.primary}),n.jsx("polygon",{points:"34,8 24,26 32,26 28,52 42,34 34,34 40,8",fill:i.secondary}),n.jsx("circle",{cx:"30",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"38",cy:"26",r:"3",fill:"white"}),n.jsx("circle",{cx:"31",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"39",cy:"27",r:"1.5",fill:"#1a1a1a"})]})}function Wv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"4",y:"28",width:"12",height:"3",rx:"1",fill:i.accent,opacity:"0.6"}),n.jsx("rect",{x:"8",y:"34",width:"10",height:"3",rx:"1",fill:i.accent,opacity:"0.4"}),n.jsx("ellipse",{cx:"36",cy:"32",rx:"20",ry:"16",fill:i.primary}),n.jsx("ellipse",{cx:"40",cy:"32",rx:"14",ry:"12",fill:i.secondary}),n.jsx("circle",{cx:"38",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"48",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"39",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"49",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M40,36 Q44,39 48,36",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function Iv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M12,32 L20,28 L16,32 L22,30",stroke:i.secondary,strokeWidth:"2",className:"animate-pulse"}),n.jsx("path",{d:"M52,32 L44,28 L48,32 L42,30",stroke:i.secondary,strokeWidth:"2",className:"animate-pulse"}),n.jsx("circle",{cx:"32",cy:"32",r:"18",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:i.secondary}),n.jsx("circle",{cx:"26",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"38",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"27",cy:"31",r:"2",fill:i.primary}),n.jsx("circle",{cx:"39",cy:"31",r:"2",fill:i.primary}),n.jsx("path",{d:"M28,40 Q32,44 36,40",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function Pv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"28",y:"4",width:"8",height:"8",fill:i.primary}),n.jsx("rect",{x:"28",y:"52",width:"8",height:"8",fill:i.primary}),n.jsx("rect",{x:"4",y:"28",width:"8",height:"8",fill:i.primary}),n.jsx("rect",{x:"52",y:"28",width:"8",height:"8",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"20",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:i.secondary}),n.jsx("circle",{cx:"26",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"38",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"27",cy:"31",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"39",cy:"31",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M28,40 Q32,43 36,40",stroke:"#1a1a1a",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function eb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("ellipse",{cx:"32",cy:"58",rx:"8",ry:"6",fill:"#FBBF24",className:"animate-pulse"}),n.jsx("ellipse",{cx:"32",cy:"56",rx:"5",ry:"4",fill:"#FCD34D"}),n.jsx("ellipse",{cx:"32",cy:"32",rx:"14",ry:"24",fill:i.primary}),n.jsx("ellipse",{cx:"32",cy:"12",rx:"8",ry:"10",fill:i.secondary}),n.jsx("polygon",{points:"18,44 10,56 18,52",fill:i.secondary}),n.jsx("polygon",{points:"46,44 54,56 46,52",fill:i.secondary}),n.jsx("circle",{cx:"32",cy:"28",r:"8",fill:i.accent}),n.jsx("circle",{cx:"29",cy:"27",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"35",cy:"27",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M29,32 Q32,34 35,32",stroke:"#1a1a1a",strokeWidth:"1",fill:"none"})]})}function tb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("circle",{cx:"32",cy:"32",r:"28",stroke:i.accent,strokeWidth:"2",fill:"none",opacity:"0.3"}),n.jsx("circle",{cx:"32",cy:"32",r:"22",stroke:i.accent,strokeWidth:"2",fill:"none",opacity:"0.5"}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"10",fill:i.secondary}),n.jsx("circle",{cx:"28",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"36",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"29",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"37",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("path",{d:"M29,37 Q32,40 35,37",stroke:"white",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function ab({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("circle",{cx:"32",cy:"32",r:"26",fill:i.accent,opacity:"0.3"}),n.jsx("circle",{cx:"32",cy:"32",r:"22",fill:i.accent,opacity:"0.5"}),n.jsx("circle",{cx:"32",cy:"32",r:"18",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"12",fill:i.secondary}),n.jsx("circle",{cx:"27",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"37",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"28",cy:"31",r:"2",fill:i.primary}),n.jsx("circle",{cx:"38",cy:"31",r:"2",fill:i.primary}),n.jsx("path",{d:"M28,38 Q32,42 36,38",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function nb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"8",y:"12",width:"48",height:"40",rx:"4",fill:i.primary}),n.jsx("rect",{x:"8",y:"12",width:"48",height:"10",rx:"4",fill:i.secondary}),n.jsx("circle",{cx:"16",cy:"17",r:"2",fill:"#EF4444"}),n.jsx("circle",{cx:"24",cy:"17",r:"2",fill:"#FBBF24"}),n.jsx("circle",{cx:"32",cy:"17",r:"2",fill:"#22C55E"}),n.jsx("rect",{x:"12",y:"26",width:"40",height:"22",rx:"2",fill:i.accent}),n.jsx("circle",{cx:"24",cy:"34",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"34",r:"4",fill:"white"}),n.jsx("circle",{cx:"25",cy:"35",r:"2",fill:i.primary}),n.jsx("circle",{cx:"41",cy:"35",r:"2",fill:i.primary}),n.jsx("rect",{x:"28",y:"42",width:"8",height:"3",rx:"1",fill:i.primary})]})}function lb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("ellipse",{cx:"22",cy:"14",rx:"6",ry:"14",fill:i.primary}),n.jsx("ellipse",{cx:"42",cy:"14",rx:"6",ry:"14",fill:i.primary}),n.jsx("ellipse",{cx:"22",cy:"14",rx:"3",ry:"10",fill:i.accent}),n.jsx("ellipse",{cx:"42",cy:"14",rx:"3",ry:"10",fill:i.accent}),n.jsx("circle",{cx:"32",cy:"38",r:"20",fill:i.primary}),n.jsx("circle",{cx:"24",cy:"34",r:"5",fill:"white"}),n.jsx("circle",{cx:"40",cy:"34",r:"5",fill:"white"}),n.jsx("circle",{cx:"25",cy:"35",r:"2.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"35",r:"2.5",fill:"#1a1a1a"}),n.jsx("ellipse",{cx:"32",cy:"44",rx:"3",ry:"2",fill:i.secondary}),n.jsx("path",{d:"M32,46 L32,50 M28,52 Q32,56 36,52",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none"})]})}function sb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M24,20 Q24,8 32,8 Q44,8 44,20 Q44,28 32,32 L32,40",stroke:i.primary,strokeWidth:"8",fill:"none",strokeLinecap:"round"}),n.jsx("circle",{cx:"32",cy:"52",r:"6",fill:i.primary}),n.jsx("circle",{cx:"29",cy:"51",r:"1.5",fill:"white"}),n.jsx("circle",{cx:"35",cy:"51",r:"1.5",fill:"white"}),n.jsx("circle",{cx:"29",cy:"51",r:"0.75",fill:"#1a1a1a"}),n.jsx("circle",{cx:"35",cy:"51",r:"0.75",fill:"#1a1a1a"}),n.jsx("circle",{cx:"32",cy:"20",r:"4",fill:i.secondary})]})}function ib({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M8,32 Q16,16 32,32 Q48,48 56,32",stroke:i.primary,strokeWidth:"16",fill:"none",strokeLinecap:"round"}),n.jsx("path",{d:"M8,32 Q16,16 32,32 Q48,48 56,32",stroke:i.secondary,strokeWidth:"10",fill:"none",strokeLinecap:"round"}),n.jsx("circle",{cx:"28",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"36",r:"4",fill:"white"}),n.jsx("circle",{cx:"29",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"37",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"16",cy:"24",r:"2",fill:i.accent,className:"animate-pulse"}),n.jsx("circle",{cx:"48",cy:"40",r:"2",fill:i.accent,className:"animate-pulse"})]})}function cb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[n.jsx("circle",{cx:"32",cy:"32",r:"28",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"24",fill:i.secondary}),n.jsx("text",{x:"32",y:"44",textAnchor:"middle",fontSize:"32",fontWeight:"bold",fill:"white",children:"?"})]})}const rb={Spark:Gv,Fizz:Qv,Octo:Yv,Hoot:Vv,Buzz:Xv,Pixel:Kv,Byte:Zv,Nova:Fv,Chip:$v,Bolt:Jv,Dash:Wv,Zap:Iv,Gizmo:Pv,Turbo:eb,Blip:tb,Neon:ab,Widget:nb,Zippy:lb,Quirk:sb,Flux:ib},ub=cb,ob={sm:{svg:32,font:"text-xs"},md:{svg:48,font:"text-sm"},lg:{svg:64,font:"text-base"}};function db(i){switch(i){case"idle":return"animate-bounce-gentle";case"thinking":return"animate-thinking";case"working":return"animate-working";case"testing":return"animate-testing";case"success":return"animate-celebrate";case"error":case"struggling":return"animate-shake-gentle";default:return""}}function fb(i){switch(i){case"working":return"shadow-[0_0_12px_rgba(0,180,216,0.5)]";case"thinking":return"shadow-[0_0_8px_rgba(255,214,10,0.4)]";case"success":return"shadow-[0_0_16px_rgba(112,224,0,0.6)]";case"error":case"struggling":return"shadow-[0_0_12px_rgba(255,84,0,0.5)]";default:return""}}function mb(i){switch(i){case"idle":return"waiting";case"thinking":return"analyzing";case"working":return"coding";case"testing":return"running tests";case"success":return"completed successfully";case"error":return"encountered an error";case"struggling":return"having difficulty";default:return i}}function pl({name:i,state:r,size:d="md",showName:o=!1}){const h=i==="Unknown",x=h?qv:Lv[i],{svg:y,font:v}=ob[d],p=h?ub:rb[i],S=mb(r),T=`Agent ${i} is ${S}`;return n.jsxs("div",{className:"flex flex-col items-center gap-1",role:"status","aria-label":T,"aria-live":"polite",children:[n.jsx("div",{className:`
|
|
47
47
|
rounded-full p-1 transition-all duration-300
|
|
48
48
|
${db(r)}
|
|
49
49
|
${fb(r)}
|
|
@@ -54,26 +54,26 @@ You choose the rest. Keep it simple. Should be 25 features.`;function Bh({projec
|
|
|
54
54
|
${i.needs_human_input?"border-amber-500/50":""}
|
|
55
55
|
${y&&!i.passes&&!i.needs_human_input?"border-destructive/50 opacity-80":""}
|
|
56
56
|
${v?"ring-2 ring-primary ring-offset-2":""}
|
|
57
|
-
`,children:n.jsxs(Ge,{className:"p-4 space-y-3",children:[n.jsxs("div",{className:"flex items-start justify-between gap-2",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Me,{className:`${x} text-white`,children:i.category}),n.jsx(Hv,{feature:i,allFeatures:o,compact:!0})]}),n.jsxs("span",{className:"font-mono text-sm text-muted-foreground",children:["#",i.priority]})]}),n.jsx("h3",{className:"font-semibold line-clamp-2",children:i.name}),n.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:i.description}),h&&n.jsxs("div",{className:"flex items-center gap-2 py-2 px-2 rounded-md bg-primary/10 border border-primary/30",children:[n.jsx(gl,{name:h.agentName,state:h.state,size:"sm"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"text-xs font-semibold text-primary",children:[h.agentName," is working on this!"]}),h.thought&&n.jsxs("div",{className:"flex items-center gap-1 mt-0.5",children:[n.jsx(Tu,{size:10,className:"text-muted-foreground shrink-0"}),n.jsx("p",{className:"text-[10px] text-muted-foreground truncate italic",children:h.thought})]})]})]}),n.jsx("div",{className:"flex items-center gap-2 text-sm",children:d?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{size:16,className:"animate-spin text-primary"}),n.jsx("span",{className:"text-primary font-medium",children:"Processing..."})]}):i.passes?n.jsxs(n.Fragment,{children:[n.jsx($t,{size:16,className:"text-primary"}),n.jsx("span",{className:"text-primary font-medium",children:"Complete"})]}):i.needs_human_input?n.jsxs(n.Fragment,{children:[n.jsx(Ji,{size:16,className:"text-amber-500"}),n.jsx("span",{className:"text-amber-500 font-medium",children:"Needs Your Input"})]}):y?n.jsxs(n.Fragment,{children:[n.jsx(ol,{size:16,className:"text-destructive"}),n.jsx("span",{className:"text-destructive",children:"Blocked"})]}):n.jsxs(n.Fragment,{children:[n.jsx(ol,{size:16,className:"text-muted-foreground"}),n.jsx("span",{className:"text-muted-foreground",children:"Pending"})]})})]})})}const gb={pending:"border-t-4 border-t-muted",progress:"border-t-4 border-t-primary",done:"border-t-4 border-t-primary",human_input:"border-t-4 border-t-amber-500"};function qi({title:i,count:r,features:d,allFeatures:o=[],activeAgents:h=[],color:x,onFeatureClick:y,onAddFeature:v,onExpandProject:p,showExpandButton:S,onCreateSpec:T,showCreateSpec:E}){const B=new Map;for(const w of h){const O=w.featureIds||[w.featureId];for(const U of O)B.set(U,w)}return n.jsxs(Oe,{className:`overflow-hidden ${gb[x]} py-0`,children:[n.jsxs($i,{className:"px-4 py-3 border-b flex-row items-center justify-between space-y-0",children:[n.jsxs(Du,{className:"text-lg font-semibold flex items-center gap-2",children:[i,n.jsx(Me,{variant:"secondary",children:r})]}),(v||p)&&n.jsxs("div",{className:"flex items-center gap-2",children:[v&&n.jsx(F,{onClick:v,size:"icon-sm",title:"Add new feature (N)",children:n.jsx(en,{size:16})}),p&&S&&n.jsx(F,{onClick:p,size:"icon-sm",variant:"secondary",title:"Expand project with AI (E)",children:n.jsx(Nn,{size:16})})]})]}),n.jsx(Ge,{className:"p-0",children:n.jsx("div",{className:"h-[600px] overflow-y-auto",children:n.jsx("div",{className:"p-4 space-y-3",children:d.length===0?n.jsx("div",{className:"text-center py-8 text-muted-foreground",children:E&&T?n.jsxs("div",{className:"space-y-4",children:[n.jsx("p",{children:"No spec created yet"}),n.jsxs(F,{onClick:T,children:[n.jsx(_p,{size:18}),"Create Spec with AI"]})]}):"No features"}):d.map((w,O)=>n.jsx("div",{className:"animate-slide-in",style:{animationDelay:`${O*50}ms`},children:n.jsx(xb,{feature:w,onClick:()=>y(w),isInProgress:x==="progress",allFeatures:o,activeAgent:B.get(w.id)})},w.id))})})})]})}function pb({features:i,onFeatureClick:r,onAddFeature:d,onExpandProject:o,activeAgents:h=[],onCreateSpec:x,hasSpec:y=!0}){const v=i&&i.pending.length+i.in_progress.length+i.done.length+(i.needs_human_input?.length||0)>0,p=i?[...i.pending,...i.in_progress,...i.done,...i.needs_human_input||[]]:[],S=i?.needs_human_input?.length||0,T=S>0;return i?n.jsxs("div",{className:`grid grid-cols-1 ${T?"md:grid-cols-4":"md:grid-cols-3"} gap-6`,children:[n.jsx(qi,{title:"Pending",count:i.pending.length,features:i.pending,allFeatures:p,activeAgents:h,color:"pending",onFeatureClick:r,onAddFeature:d,onExpandProject:o,showExpandButton:v&&y,onCreateSpec:x,showCreateSpec:!y&&!v}),n.jsx(qi,{title:"In Progress",count:i.in_progress.length,features:i.in_progress,allFeatures:p,activeAgents:h,color:"progress",onFeatureClick:r}),T&&n.jsx(qi,{title:"Needs Input",count:S,features:i.needs_human_input,allFeatures:p,activeAgents:h,color:"human_input",onFeatureClick:r}),n.jsx(qi,{title:"Done",count:i.done.length,features:i.done,allFeatures:p,activeAgents:h,color:"done",onFeatureClick:r})]}):n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:["Pending","In Progress","Done"].map(E=>n.jsx(Oe,{className:"py-4",children:n.jsxs(Ge,{className:"p-4",children:[n.jsx("div",{className:"h-8 bg-muted animate-pulse rounded mb-4"}),n.jsx("div",{className:"space-y-3",children:[1,2,3].map(B=>n.jsx("div",{className:"h-24 bg-muted animate-pulse rounded"},B))})]})},E))})}function yb(i){return gt({queryKey:["schedules",i],queryFn:()=>k0(i),enabled:!!i})}function vb(i){const r=Qe();return Ze({mutationFn:d=>O0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["schedules",i]}),r.invalidateQueries({queryKey:["nextRun",i]})}})}function bb(i){const r=Qe();return Ze({mutationFn:d=>U0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["schedules",i]}),r.invalidateQueries({queryKey:["nextRun",i]})}})}function jb(i){const r=Qe();return Ze({mutationFn:({scheduleId:d,enabled:o})=>R0(i,d,{enabled:o}),onSuccess:()=>{r.invalidateQueries({queryKey:["schedules",i]}),r.invalidateQueries({queryKey:["nextRun",i]})}})}function Sb(i){return gt({queryKey:["nextRun",i],queryFn:()=>B0(i),enabled:!!i,refetchInterval:3e4})}function Nb(i){const[r,d]=i.split(":").map(Number),o=new Date(Date.UTC(2e3,0,15,r,d,0,0)),h=o.getDate();let x=0;h===14&&(x=-1),h===16&&(x=1);const y=o.getHours(),v=o.getMinutes();return{time:`${String(y).padStart(2,"0")}:${String(v).padStart(2,"0")}`,dayShift:x}}function Cb(i){const[r,d]=i.split(":").map(Number),o=new Date(2e3,0,15,r,d,0,0),h=o.getUTCDate();let x=0;h===14&&(x=-1),h===16&&(x=1);const y=o.getUTCHours(),v=o.getUTCMinutes();return{time:`${String(y).padStart(2,"0")}:${String(v).padStart(2,"0")}`,dayShift:x}}function wb(i){let r=0;return i&1&&(r|=2),i&2&&(r|=4),i&4&&(r|=8),i&8&&(r|=16),i&16&&(r|=32),i&32&&(r|=64),i&64&&(r|=1),r}function zb(i){let r=0;return i&1&&(r|=64),i&2&&(r|=1),i&4&&(r|=2),i&8&&(r|=4),i&16&&(r|=8),i&32&&(r|=16),i&64&&(r|=32),r}function $m(i,r){return r===1?wb(i):r===-1?zb(i):i}function Wm(i){const r=Math.floor(i/60),d=i%60;return r===0?`${d}m`:d===0?`${r}h`:`${r}h ${d}m`}function Tb(i){const r=new Date(i),d=new Date,o=r.getTime()-d.getTime();return Math.floor(o/(1e3*60*60))<24?r.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"}):r.toLocaleString([],{weekday:"short",hour:"numeric",minute:"2-digit"})}function Eb(i){return new Date(i).toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}const Im=[{label:"Mon",bit:1},{label:"Tue",bit:2},{label:"Wed",bit:4},{label:"Thu",bit:8},{label:"Fri",bit:16},{label:"Sat",bit:32},{label:"Sun",bit:64}];function Pm(i,r){return(i&r)!==0}function Ab(i,r){return i^r}function Db({className:i,...r}){return n.jsx(Dy,{"data-slot":"checkbox",className:Re("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",i),...r,children:n.jsx(_y,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:n.jsx(sa,{className:"size-3.5"})})})}function bu({className:i,orientation:r="horizontal",decorative:d=!0,...o}){return n.jsx(My,{"data-slot":"separator",decorative:d,orientation:r,className:Re("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",i),...o})}function _b({projectName:i,isOpen:r,onClose:d}){const o=f.useRef(null),h=f.useRef(null),{data:x,isLoading:y}=yb(i),v=vb(i),p=bb(i),S=jb(i),[T,E]=f.useState({start_time:"22:00",duration_minutes:240,days_of_week:31,enabled:!0,yolo_mode:!1,model:null,max_concurrency:3}),[B,w]=f.useState(null);f.useEffect(()=>{r&&h.current&&h.current.focus()},[r]);const O=x?.schedules||[],U=async()=>{try{if(w(null),T.days_of_week===0){w("Please select at least one day");return}if(T.duration_minutes<1||T.duration_minutes>1440){w("Duration must be between 1 and 1440 minutes");return}const{time:N,dayShift:L}=Cb(T.start_time),J=$m(T.days_of_week,L),W={...T,start_time:N,days_of_week:J};await v.mutateAsync(W),E({start_time:"22:00",duration_minutes:240,days_of_week:31,enabled:!0,yolo_mode:!1,model:null,max_concurrency:3})}catch(N){w(N instanceof Error?N.message:"Failed to create schedule")}},z=async(N,L)=>{try{w(null),await S.mutateAsync({scheduleId:N,enabled:!L})}catch(J){w(J instanceof Error?J.message:"Failed to toggle schedule")}},_=async N=>{if(confirm("Are you sure you want to delete this schedule?"))try{w(null),await p.mutateAsync(N)}catch(L){w(L instanceof Error?L.message:"Failed to delete schedule")}},b=N=>{E(L=>({...L,days_of_week:Ab(L.days_of_week,N)}))};return n.jsx(Wt,{open:r,onOpenChange:N=>!N&&d(),children:n.jsxs(It,{ref:o,className:"sm:max-w-[650px] max-h-[80vh] flex flex-col p-0",children:[n.jsx(Pt,{className:"p-6 pb-4",children:n.jsxs(ea,{className:"flex items-center gap-2",children:[n.jsx(dl,{size:24,className:"text-primary"}),"Agent Schedules"]})}),n.jsxs("div",{className:"flex-1 min-h-0 overflow-y-auto px-6",children:[B&&n.jsx(ft,{variant:"destructive",className:"mb-4",children:n.jsx(mt,{children:B})}),y&&n.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"Loading schedules..."}),!y&&O.length>0&&n.jsx("div",{className:"space-y-3 mb-6",children:O.map(N=>{const{time:L,dayShift:J}=Nb(N.start_time),W=Wm(N.duration_minutes),X=$m(N.days_of_week,J);return n.jsx(Oe,{children:n.jsx(Ge,{className:"p-4",children:n.jsxs("div",{className:"flex items-start justify-between gap-4",children:[n.jsxs("div",{className:"flex-1",children:[n.jsxs("div",{className:"flex items-baseline gap-2 mb-2",children:[n.jsx("span",{className:"text-lg font-semibold",children:L}),n.jsxs("span",{className:"text-sm text-muted-foreground",children:["for ",W]})]}),n.jsx("div",{className:"flex gap-1 mb-2",children:Im.map(I=>{const Q=Pm(X,I.bit);return n.jsx("span",{className:`text-xs px-2 py-1 rounded border ${Q?"border-primary bg-primary text-primary-foreground font-medium":"border-border text-muted-foreground"}`,children:I.label},I.label)})}),n.jsxs("div",{className:"flex gap-3 text-xs text-muted-foreground",children:[N.yolo_mode&&n.jsx("span",{className:"font-semibold text-yellow-600",children:"YOLO mode"}),n.jsxs("span",{className:"flex items-center gap-1",children:[n.jsx(hl,{size:12}),N.max_concurrency,"x"]}),N.model&&n.jsxs("span",{children:["Model: ",N.model]}),N.crash_count>0&&n.jsxs("span",{className:"text-destructive",children:["Crashes: ",N.crash_count]})]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(F,{variant:"ghost",size:"sm",onClick:()=>z(N.id,N.enabled),disabled:S.isPending,className:N.enabled?"text-primary":"text-muted-foreground",children:N.enabled?"Enabled":"Disabled"}),n.jsx(F,{variant:"ghost",size:"icon-sm",onClick:()=>_(N.id),disabled:p.isPending,className:"text-destructive hover:text-destructive",children:n.jsx(tn,{size:16})})]})]})})},N.id)})}),!y&&O.length===0&&n.jsxs("div",{className:"text-center py-6 text-muted-foreground mb-6",children:[n.jsx(dl,{size:48,className:"mx-auto mb-2 opacity-50"}),n.jsx("p",{children:"No schedules configured yet"})]}),n.jsx(bu,{className:"my-6"}),n.jsxs("div",{className:"pb-6",children:[n.jsx("h3",{className:"text-lg font-semibold mb-4",children:"Add New Schedule"}),n.jsxs("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{children:"Start Time (Local)"}),n.jsx(lt,{type:"time",value:T.start_time,onChange:N=>E(L=>({...L,start_time:N.target.value}))})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{children:"Duration (minutes)"}),n.jsx(lt,{type:"number",min:"1",max:"1440",value:T.duration_minutes,onChange:N=>{const L=parseInt(N.target.value,10),J=isNaN(L)?1:Math.max(1,Math.min(1440,L));E(W=>({...W,duration_minutes:J}))}}),n.jsx("p",{className:"text-xs text-muted-foreground",children:Wm(T.duration_minutes)})]})]}),n.jsxs("div",{className:"mb-4 space-y-2",children:[n.jsx(ze,{children:"Days"}),n.jsx("div",{className:"flex gap-2",children:Im.map(N=>{const L=Pm(T.days_of_week,N.bit);return n.jsx(F,{variant:L?"default":"outline",size:"sm",onClick:()=>b(N.bit),children:N.label},N.label)})})]}),n.jsxs("div",{className:"mb-4 flex items-center space-x-2",children:[n.jsx(Db,{id:"yolo-mode",checked:T.yolo_mode,onCheckedChange:N=>E(L=>({...L,yolo_mode:N===!0}))}),n.jsx(ze,{htmlFor:"yolo-mode",className:"font-normal",children:"YOLO Mode (skip testing)"})]}),n.jsxs("div",{className:"mb-4 space-y-2",children:[n.jsx(ze,{children:"Concurrent Agents (1-5)"}),n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(hl,{size:16,className:T.max_concurrency>1?"text-primary":"text-muted-foreground"}),n.jsx("input",{type:"range",min:1,max:5,value:T.max_concurrency,onChange:N=>E(L=>({...L,max_concurrency:Number(N.target.value)})),className:"flex-1 h-2 accent-primary cursor-pointer"}),n.jsxs("span",{className:"text-sm font-medium min-w-[2rem] text-center",children:[T.max_concurrency,"x"]})]}),n.jsxs("p",{className:"text-xs text-muted-foreground",children:["Run ",T.max_concurrency," agent",T.max_concurrency>1?"s":""," in parallel for faster feature completion"]})]}),n.jsxs("div",{className:"mb-4 space-y-2",children:[n.jsx(ze,{children:"Model (optional, defaults to global setting)"}),n.jsx(lt,{placeholder:"e.g., claude-3-5-sonnet-20241022",value:T.model||"",onChange:N=>E(L=>({...L,model:N.target.value||null}))})]})]})]}),n.jsxs(Ea,{className:"p-6 pt-4 border-t",children:[n.jsx(F,{variant:"outline",onClick:d,children:"Close"}),n.jsx(F,{onClick:U,disabled:v.isPending||T.days_of_week===0,children:v.isPending?"Creating...":"Create Schedule"})]})]})})}function Mb({projectName:i,status:r,defaultConcurrency:d=3}){const{data:o}=Au(),h=o?.yolo_mode??!1,[x,y]=f.useState(d);f.useEffect(()=>{y(d)},[d]);const v=Q0(i),p=f.useRef(null),S=f.useCallback(I=>{y(I),p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{v.mutate({default_concurrency:I})},500)},[v]);f.useEffect(()=>()=>{p.current&&clearTimeout(p.current)},[]);const T=J0(i),E=$0(i),B=W0(i),w=I0(i),{data:O}=Sb(i),[U,z]=f.useState(!1),_=T.isPending||E.isPending||B.isPending||w.isPending,b=r==="running"||r==="paused"||r==="pausing"||r==="paused_graceful",N=r==="loading",L=x>1,J=()=>T.mutate({yoloMode:h,parallelMode:L,maxConcurrency:x,testingAgentRatio:o?.testing_agent_ratio}),W=()=>E.mutate(),X=r==="stopped"||r==="crashed";return n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"flex items-center gap-2 sm:gap-4",children:[X&&n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(hl,{size:16,className:L?"text-primary":"text-muted-foreground"}),n.jsx("input",{type:"range",min:1,max:5,value:x,onChange:I=>S(Number(I.target.value)),disabled:_,className:"w-16 h-2 accent-primary cursor-pointer",title:`${x} concurrent agent${x>1?"s":""}`,"aria-label":"Set number of concurrent agents"}),n.jsxs("span",{className:"text-xs font-semibold min-w-[1.5rem] text-center",children:[x,"x"]})]}),b&&L&&n.jsxs(Me,{variant:"secondary",className:"gap-1",children:[n.jsx(hl,{size:14}),x,"x"]}),O?.is_currently_running&&O.next_end&&n.jsxs(Me,{variant:"default",className:"gap-1",children:[n.jsx(dl,{size:14}),"Running until ",Eb(O.next_end)]}),!O?.is_currently_running&&O?.next_start&&n.jsxs(Me,{variant:"secondary",className:"gap-1",children:[n.jsx(dl,{size:14}),"Next: ",Tb(O.next_start)]}),N?n.jsx(F,{disabled:!0,variant:"outline",size:"sm",children:n.jsx(Ce,{size:18,className:"animate-spin"})}):X?n.jsx(F,{onClick:J,disabled:_,variant:h?"secondary":"default",size:"sm",title:h?"Start Agent (YOLO Mode)":"Start Agent",children:_?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(Mp,{size:18})}):n.jsxs("div",{className:"flex items-center gap-1.5",children:[r==="pausing"&&n.jsxs(Me,{variant:"secondary",className:"gap-1 animate-pulse",children:[n.jsx(Ce,{size:12,className:"animate-spin"}),"Pausing..."]}),r==="paused_graceful"&&n.jsxs(n.Fragment,{children:[n.jsx(Me,{variant:"outline",className:"gap-1",children:"Paused"}),n.jsx(F,{onClick:()=>w.mutate(),disabled:_,variant:"default",size:"sm",title:"Resume agent",children:w.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(kp,{size:18})})]}),r==="running"&&n.jsx(F,{onClick:()=>B.mutate(),disabled:_,variant:"outline",size:"sm",title:"Pause agent (finish current work first)",children:B.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(Op,{size:18})}),n.jsx(F,{onClick:W,disabled:_,variant:"destructive",size:"sm",title:"Stop Agent (immediate)",children:E.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(ph,{size:18})})]}),n.jsx(F,{variant:"outline",size:"sm",onClick:()=>z(!0),title:"Manage schedules",children:n.jsx(dl,{size:18})})]}),n.jsx(_b,{projectName:i,isOpen:U,onClose:()=>z(!1)})]})}const kb=3e4;function Ob(i){const r=i.trim();return!(/^\[Tool:/.test(r)||/^\s*Input:\s*\{/.test(r)||/^\[(Done|Error)\]/.test(r)||/^Output:/.test(r)||/^[[{]/.test(r)||r.length<10||/^[A-Za-z]:\\/.test(r)||/^\/[a-z]/.test(r))}function Rb(i){for(let r=i.length-1;r>=0;r--)if(Ob(i[r].line))return i[r].line.trim();return null}function Ub({passing:i,total:r,percentage:d,isConnected:o,logs:h=[],agentStatus:x}){const y=f.useMemo(()=>Rb(h),[h]),[v,p]=f.useState(null),[S,T]=f.useState(!0),E=h.length>0?new Date(h[h.length-1].timestamp).getTime():0,B=f.useMemo(()=>y?x==="running"||x==="pausing"?!0:x==="paused"?Date.now()-E<kb:!1:!1,[y,x,E]);f.useEffect(()=>{if(y!==v&&y){T(!1);const O=setTimeout(()=>{p(y),T(!0)},150);return()=>clearTimeout(O)}},[y,v]);const w=x==="running";return n.jsxs(Oe,{children:[n.jsxs($i,{className:"flex-row items-center justify-between space-y-0 pb-0",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(Du,{className:"text-xl uppercase tracking-wide",children:"Progress"}),n.jsx(Me,{variant:o?"default":"destructive",className:"gap-1",children:o?n.jsxs(n.Fragment,{children:[n.jsx(ml,{size:14}),"Live"]}):n.jsxs(n.Fragment,{children:[n.jsx(fl,{size:14}),"Offline"]})})]}),n.jsxs("div",{className:"flex items-baseline gap-1",children:[n.jsx("span",{className:"font-mono text-lg font-bold text-primary",children:i}),n.jsx("span",{className:"text-sm text-muted-foreground",children:"/"}),n.jsx("span",{className:"font-mono text-lg font-bold",children:r})]})]}),n.jsxs(Ge,{className:"pt-3 pb-3",children:[n.jsxs("div",{className:"flex items-center gap-4",children:[n.jsx("div",{className:"h-2.5 bg-muted rounded-full overflow-hidden flex-1",children:n.jsx("div",{className:"h-full bg-primary rounded-full transition-all duration-500 ease-out",style:{width:`${d}%`}})}),n.jsxs("span",{className:"text-sm font-bold tabular-nums text-muted-foreground w-12 text-right",children:[d.toFixed(1),"%"]})]}),n.jsx("div",{className:`
|
|
57
|
+
`,children:n.jsxs(Ge,{className:"p-4 space-y-3",children:[n.jsxs("div",{className:"flex items-start justify-between gap-2",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Me,{className:`${x} text-white`,children:i.category}),n.jsx(Hv,{feature:i,allFeatures:o,compact:!0})]}),n.jsxs("span",{className:"font-mono text-sm text-muted-foreground",children:["#",i.priority]})]}),n.jsx("h3",{className:"font-semibold line-clamp-2",children:i.name}),n.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:i.description}),h&&n.jsxs("div",{className:"flex items-center gap-2 py-2 px-2 rounded-md bg-primary/10 border border-primary/30",children:[n.jsx(pl,{name:h.agentName,state:h.state,size:"sm"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"text-xs font-semibold text-primary",children:[h.agentName," is working on this!"]}),h.thought&&n.jsxs("div",{className:"flex items-center gap-1 mt-0.5",children:[n.jsx(Tu,{size:10,className:"text-muted-foreground shrink-0"}),n.jsx("p",{className:"text-[10px] text-muted-foreground truncate italic",children:h.thought})]})]})]}),n.jsx("div",{className:"flex items-center gap-2 text-sm",children:d?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{size:16,className:"animate-spin text-primary"}),n.jsx("span",{className:"text-primary font-medium",children:"Processing..."})]}):i.passes?n.jsxs(n.Fragment,{children:[n.jsx(Jt,{size:16,className:"text-primary"}),n.jsx("span",{className:"text-primary font-medium",children:"Complete"})]}):i.needs_human_input?n.jsxs(n.Fragment,{children:[n.jsx($i,{size:16,className:"text-amber-500"}),n.jsx("span",{className:"text-amber-500 font-medium",children:"Needs Your Input"})]}):y?n.jsxs(n.Fragment,{children:[n.jsx(dl,{size:16,className:"text-destructive"}),n.jsx("span",{className:"text-destructive",children:"Blocked"})]}):n.jsxs(n.Fragment,{children:[n.jsx(dl,{size:16,className:"text-muted-foreground"}),n.jsx("span",{className:"text-muted-foreground",children:"Pending"})]})})]})})}const gb={pending:"border-t-4 border-t-muted",progress:"border-t-4 border-t-primary",done:"border-t-4 border-t-primary",human_input:"border-t-4 border-t-amber-500"};function Li({title:i,count:r,features:d,allFeatures:o=[],activeAgents:h=[],color:x,onFeatureClick:y,onAddFeature:v,onExpandProject:p,showExpandButton:S,onCreateSpec:T,showCreateSpec:E}){const B=new Map;for(const w of h){const O=w.featureIds||[w.featureId];for(const U of O)B.set(U,w)}return n.jsxs(Oe,{className:`overflow-hidden ${gb[x]} py-0`,children:[n.jsxs(Ji,{className:"px-4 py-3 border-b flex-row items-center justify-between space-y-0",children:[n.jsxs(Du,{className:"text-lg font-semibold flex items-center gap-2",children:[i,n.jsx(Me,{variant:"secondary",children:r})]}),(v||p)&&n.jsxs("div",{className:"flex items-center gap-2",children:[v&&n.jsx(F,{onClick:v,size:"icon-sm",title:"Add new feature (N)",children:n.jsx(tn,{size:16})}),p&&S&&n.jsx(F,{onClick:p,size:"icon-sm",variant:"secondary",title:"Expand project with AI (E)",children:n.jsx(Nn,{size:16})})]})]}),n.jsx(Ge,{className:"p-0",children:n.jsx("div",{className:"h-[600px] overflow-y-auto",children:n.jsx("div",{className:"p-4 space-y-3",children:d.length===0?n.jsx("div",{className:"text-center py-8 text-muted-foreground",children:E&&T?n.jsxs("div",{className:"space-y-4",children:[n.jsx("p",{children:"No spec created yet"}),n.jsxs(F,{onClick:T,children:[n.jsx(_p,{size:18}),"Create Spec with AI"]})]}):"No features"}):d.map((w,O)=>n.jsx("div",{className:"animate-slide-in",style:{animationDelay:`${O*50}ms`},children:n.jsx(xb,{feature:w,onClick:()=>y(w),isInProgress:x==="progress",allFeatures:o,activeAgent:B.get(w.id)})},w.id))})})})]})}function pb({features:i,onFeatureClick:r,onAddFeature:d,onExpandProject:o,activeAgents:h=[],onCreateSpec:x,hasSpec:y=!0}){const v=i&&i.pending.length+i.in_progress.length+i.done.length+(i.needs_human_input?.length||0)>0,p=i?[...i.pending,...i.in_progress,...i.done,...i.needs_human_input||[]]:[],S=i?.needs_human_input?.length||0,T=S>0;return i?n.jsxs("div",{className:`grid grid-cols-1 ${T?"md:grid-cols-4":"md:grid-cols-3"} gap-6`,children:[n.jsx(Li,{title:"Pending",count:i.pending.length,features:i.pending,allFeatures:p,activeAgents:h,color:"pending",onFeatureClick:r,onAddFeature:d,onExpandProject:o,showExpandButton:v&&y,onCreateSpec:x,showCreateSpec:!y&&!v}),n.jsx(Li,{title:"In Progress",count:i.in_progress.length,features:i.in_progress,allFeatures:p,activeAgents:h,color:"progress",onFeatureClick:r}),T&&n.jsx(Li,{title:"Needs Input",count:S,features:i.needs_human_input,allFeatures:p,activeAgents:h,color:"human_input",onFeatureClick:r}),n.jsx(Li,{title:"Done",count:i.done.length,features:i.done,allFeatures:p,activeAgents:h,color:"done",onFeatureClick:r})]}):n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:["Pending","In Progress","Done"].map(E=>n.jsx(Oe,{className:"py-4",children:n.jsxs(Ge,{className:"p-4",children:[n.jsx("div",{className:"h-8 bg-muted animate-pulse rounded mb-4"}),n.jsx("div",{className:"space-y-3",children:[1,2,3].map(B=>n.jsx("div",{className:"h-24 bg-muted animate-pulse rounded"},B))})]})},E))})}function yb(i){return gt({queryKey:["schedules",i],queryFn:()=>k0(i),enabled:!!i})}function vb(i){const r=Qe();return Ze({mutationFn:d=>O0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["schedules",i]}),r.invalidateQueries({queryKey:["nextRun",i]})}})}function bb(i){const r=Qe();return Ze({mutationFn:d=>U0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["schedules",i]}),r.invalidateQueries({queryKey:["nextRun",i]})}})}function jb(i){const r=Qe();return Ze({mutationFn:({scheduleId:d,enabled:o})=>R0(i,d,{enabled:o}),onSuccess:()=>{r.invalidateQueries({queryKey:["schedules",i]}),r.invalidateQueries({queryKey:["nextRun",i]})}})}function Sb(i){return gt({queryKey:["nextRun",i],queryFn:()=>B0(i),enabled:!!i,refetchInterval:3e4})}function Nb(i){const[r,d]=i.split(":").map(Number),o=new Date(Date.UTC(2e3,0,15,r,d,0,0)),h=o.getDate();let x=0;h===14&&(x=-1),h===16&&(x=1);const y=o.getHours(),v=o.getMinutes();return{time:`${String(y).padStart(2,"0")}:${String(v).padStart(2,"0")}`,dayShift:x}}function Cb(i){const[r,d]=i.split(":").map(Number),o=new Date(2e3,0,15,r,d,0,0),h=o.getUTCDate();let x=0;h===14&&(x=-1),h===16&&(x=1);const y=o.getUTCHours(),v=o.getUTCMinutes();return{time:`${String(y).padStart(2,"0")}:${String(v).padStart(2,"0")}`,dayShift:x}}function wb(i){let r=0;return i&1&&(r|=2),i&2&&(r|=4),i&4&&(r|=8),i&8&&(r|=16),i&16&&(r|=32),i&32&&(r|=64),i&64&&(r|=1),r}function zb(i){let r=0;return i&1&&(r|=64),i&2&&(r|=1),i&4&&(r|=2),i&8&&(r|=4),i&16&&(r|=8),i&32&&(r|=16),i&64&&(r|=32),r}function Jm(i,r){return r===1?wb(i):r===-1?zb(i):i}function Wm(i){const r=Math.floor(i/60),d=i%60;return r===0?`${d}m`:d===0?`${r}h`:`${r}h ${d}m`}function Tb(i){const r=new Date(i),d=new Date,o=r.getTime()-d.getTime();return Math.floor(o/(1e3*60*60))<24?r.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"}):r.toLocaleString([],{weekday:"short",hour:"numeric",minute:"2-digit"})}function Eb(i){return new Date(i).toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}const Im=[{label:"Mon",bit:1},{label:"Tue",bit:2},{label:"Wed",bit:4},{label:"Thu",bit:8},{label:"Fri",bit:16},{label:"Sat",bit:32},{label:"Sun",bit:64}];function Pm(i,r){return(i&r)!==0}function Ab(i,r){return i^r}function Db({className:i,...r}){return n.jsx(Dy,{"data-slot":"checkbox",className:Re("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",i),...r,children:n.jsx(_y,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:n.jsx(sa,{className:"size-3.5"})})})}function bu({className:i,orientation:r="horizontal",decorative:d=!0,...o}){return n.jsx(My,{"data-slot":"separator",decorative:d,orientation:r,className:Re("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",i),...o})}function _b({projectName:i,isOpen:r,onClose:d}){const o=f.useRef(null),h=f.useRef(null),{data:x,isLoading:y}=yb(i),v=vb(i),p=bb(i),S=jb(i),[T,E]=f.useState({start_time:"22:00",duration_minutes:240,days_of_week:31,enabled:!0,yolo_mode:!1,model:null,max_concurrency:3}),[B,w]=f.useState(null);f.useEffect(()=>{r&&h.current&&h.current.focus()},[r]);const O=x?.schedules||[],U=async()=>{try{if(w(null),T.days_of_week===0){w("Please select at least one day");return}if(T.duration_minutes<1||T.duration_minutes>1440){w("Duration must be between 1 and 1440 minutes");return}const{time:N,dayShift:L}=Cb(T.start_time),$=Jm(T.days_of_week,L),W={...T,start_time:N,days_of_week:$};await v.mutateAsync(W),E({start_time:"22:00",duration_minutes:240,days_of_week:31,enabled:!0,yolo_mode:!1,model:null,max_concurrency:3})}catch(N){w(N instanceof Error?N.message:"Failed to create schedule")}},z=async(N,L)=>{try{w(null),await S.mutateAsync({scheduleId:N,enabled:!L})}catch($){w($ instanceof Error?$.message:"Failed to toggle schedule")}},_=async N=>{if(confirm("Are you sure you want to delete this schedule?"))try{w(null),await p.mutateAsync(N)}catch(L){w(L instanceof Error?L.message:"Failed to delete schedule")}},b=N=>{E(L=>({...L,days_of_week:Ab(L.days_of_week,N)}))};return n.jsx(Wt,{open:r,onOpenChange:N=>!N&&d(),children:n.jsxs(It,{ref:o,className:"sm:max-w-[650px] max-h-[80vh] flex flex-col p-0",children:[n.jsx(Pt,{className:"p-6 pb-4",children:n.jsxs(ea,{className:"flex items-center gap-2",children:[n.jsx(fl,{size:24,className:"text-primary"}),"Agent Schedules"]})}),n.jsxs("div",{className:"flex-1 min-h-0 overflow-y-auto px-6",children:[B&&n.jsx(ft,{variant:"destructive",className:"mb-4",children:n.jsx(mt,{children:B})}),y&&n.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"Loading schedules..."}),!y&&O.length>0&&n.jsx("div",{className:"space-y-3 mb-6",children:O.map(N=>{const{time:L,dayShift:$}=Nb(N.start_time),W=Wm(N.duration_minutes),K=Jm(N.days_of_week,$);return n.jsx(Oe,{children:n.jsx(Ge,{className:"p-4",children:n.jsxs("div",{className:"flex items-start justify-between gap-4",children:[n.jsxs("div",{className:"flex-1",children:[n.jsxs("div",{className:"flex items-baseline gap-2 mb-2",children:[n.jsx("span",{className:"text-lg font-semibold",children:L}),n.jsxs("span",{className:"text-sm text-muted-foreground",children:["for ",W]})]}),n.jsx("div",{className:"flex gap-1 mb-2",children:Im.map(I=>{const Q=Pm(K,I.bit);return n.jsx("span",{className:`text-xs px-2 py-1 rounded border ${Q?"border-primary bg-primary text-primary-foreground font-medium":"border-border text-muted-foreground"}`,children:I.label},I.label)})}),n.jsxs("div",{className:"flex gap-3 text-xs text-muted-foreground",children:[N.yolo_mode&&n.jsx("span",{className:"font-semibold text-yellow-600",children:"YOLO mode"}),n.jsxs("span",{className:"flex items-center gap-1",children:[n.jsx(xl,{size:12}),N.max_concurrency,"x"]}),N.model&&n.jsxs("span",{children:["Model: ",N.model]}),N.crash_count>0&&n.jsxs("span",{className:"text-destructive",children:["Crashes: ",N.crash_count]})]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(F,{variant:"ghost",size:"sm",onClick:()=>z(N.id,N.enabled),disabled:S.isPending,className:N.enabled?"text-primary":"text-muted-foreground",children:N.enabled?"Enabled":"Disabled"}),n.jsx(F,{variant:"ghost",size:"icon-sm",onClick:()=>_(N.id),disabled:p.isPending,className:"text-destructive hover:text-destructive",children:n.jsx(an,{size:16})})]})]})})},N.id)})}),!y&&O.length===0&&n.jsxs("div",{className:"text-center py-6 text-muted-foreground mb-6",children:[n.jsx(fl,{size:48,className:"mx-auto mb-2 opacity-50"}),n.jsx("p",{children:"No schedules configured yet"})]}),n.jsx(bu,{className:"my-6"}),n.jsxs("div",{className:"pb-6",children:[n.jsx("h3",{className:"text-lg font-semibold mb-4",children:"Add New Schedule"}),n.jsxs("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{children:"Start Time (Local)"}),n.jsx(lt,{type:"time",value:T.start_time,onChange:N=>E(L=>({...L,start_time:N.target.value}))})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{children:"Duration (minutes)"}),n.jsx(lt,{type:"number",min:"1",max:"1440",value:T.duration_minutes,onChange:N=>{const L=parseInt(N.target.value,10),$=isNaN(L)?1:Math.max(1,Math.min(1440,L));E(W=>({...W,duration_minutes:$}))}}),n.jsx("p",{className:"text-xs text-muted-foreground",children:Wm(T.duration_minutes)})]})]}),n.jsxs("div",{className:"mb-4 space-y-2",children:[n.jsx(ze,{children:"Days"}),n.jsx("div",{className:"flex gap-2",children:Im.map(N=>{const L=Pm(T.days_of_week,N.bit);return n.jsx(F,{variant:L?"default":"outline",size:"sm",onClick:()=>b(N.bit),children:N.label},N.label)})})]}),n.jsxs("div",{className:"mb-4 flex items-center space-x-2",children:[n.jsx(Db,{id:"yolo-mode",checked:T.yolo_mode,onCheckedChange:N=>E(L=>({...L,yolo_mode:N===!0}))}),n.jsx(ze,{htmlFor:"yolo-mode",className:"font-normal",children:"YOLO Mode (skip testing)"})]}),n.jsxs("div",{className:"mb-4 space-y-2",children:[n.jsx(ze,{children:"Concurrent Agents (1-5)"}),n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(xl,{size:16,className:T.max_concurrency>1?"text-primary":"text-muted-foreground"}),n.jsx("input",{type:"range",min:1,max:5,value:T.max_concurrency,onChange:N=>E(L=>({...L,max_concurrency:Number(N.target.value)})),className:"flex-1 h-2 accent-primary cursor-pointer"}),n.jsxs("span",{className:"text-sm font-medium min-w-[2rem] text-center",children:[T.max_concurrency,"x"]})]}),n.jsxs("p",{className:"text-xs text-muted-foreground",children:["Run ",T.max_concurrency," agent",T.max_concurrency>1?"s":""," in parallel for faster feature completion"]})]}),n.jsxs("div",{className:"mb-4 space-y-2",children:[n.jsx(ze,{children:"Model (optional, defaults to global setting)"}),n.jsx(lt,{placeholder:"e.g., claude-3-5-sonnet-20241022",value:T.model||"",onChange:N=>E(L=>({...L,model:N.target.value||null}))})]})]})]}),n.jsxs(Ea,{className:"p-6 pt-4 border-t",children:[n.jsx(F,{variant:"outline",onClick:d,children:"Close"}),n.jsx(F,{onClick:U,disabled:v.isPending||T.days_of_week===0,children:v.isPending?"Creating...":"Create Schedule"})]})]})})}function Mb({projectName:i,status:r,defaultConcurrency:d=3}){const{data:o}=Au(),h=o?.yolo_mode??!1,[x,y]=f.useState(d);f.useEffect(()=>{y(d)},[d]);const v=Q0(i),p=f.useRef(null),S=f.useCallback(I=>{y(I),p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{v.mutate({default_concurrency:I})},500)},[v]);f.useEffect(()=>()=>{p.current&&clearTimeout(p.current)},[]);const T=$0(i),E=J0(i),B=W0(i),w=I0(i),{data:O}=Sb(i),[U,z]=f.useState(!1),_=T.isPending||E.isPending||B.isPending||w.isPending,b=r==="running"||r==="paused"||r==="pausing"||r==="paused_graceful",N=r==="loading",L=x>1,$=()=>T.mutate({yoloMode:h,parallelMode:L,maxConcurrency:x,testingAgentRatio:o?.testing_agent_ratio}),W=()=>E.mutate(),K=r==="stopped"||r==="crashed";return n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"flex items-center gap-2 sm:gap-4",children:[K&&n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(xl,{size:16,className:L?"text-primary":"text-muted-foreground"}),n.jsx("input",{type:"range",min:1,max:5,value:x,onChange:I=>S(Number(I.target.value)),disabled:_,className:"w-16 h-2 accent-primary cursor-pointer",title:`${x} concurrent agent${x>1?"s":""}`,"aria-label":"Set number of concurrent agents"}),n.jsxs("span",{className:"text-xs font-semibold min-w-[1.5rem] text-center",children:[x,"x"]})]}),b&&L&&n.jsxs(Me,{variant:"secondary",className:"gap-1",children:[n.jsx(xl,{size:14}),x,"x"]}),O?.is_currently_running&&O.next_end&&n.jsxs(Me,{variant:"default",className:"gap-1",children:[n.jsx(fl,{size:14}),"Running until ",Eb(O.next_end)]}),!O?.is_currently_running&&O?.next_start&&n.jsxs(Me,{variant:"secondary",className:"gap-1",children:[n.jsx(fl,{size:14}),"Next: ",Tb(O.next_start)]}),N?n.jsx(F,{disabled:!0,variant:"outline",size:"sm",children:n.jsx(Ce,{size:18,className:"animate-spin"})}):K?n.jsx(F,{onClick:$,disabled:_,variant:h?"secondary":"default",size:"sm",title:h?"Start Agent (YOLO Mode)":"Start Agent",children:_?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(Mp,{size:18})}):n.jsxs("div",{className:"flex items-center gap-1.5",children:[r==="pausing"&&n.jsxs(Me,{variant:"secondary",className:"gap-1 animate-pulse",children:[n.jsx(Ce,{size:12,className:"animate-spin"}),"Pausing..."]}),r==="paused_graceful"&&n.jsxs(n.Fragment,{children:[n.jsx(Me,{variant:"outline",className:"gap-1",children:"Paused"}),n.jsx(F,{onClick:()=>w.mutate(),disabled:_,variant:"default",size:"sm",title:"Resume agent",children:w.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(kp,{size:18})})]}),r==="running"&&n.jsx(F,{onClick:()=>B.mutate(),disabled:_,variant:"outline",size:"sm",title:"Pause agent (finish current work first)",children:B.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(Op,{size:18})}),n.jsx(F,{onClick:W,disabled:_,variant:"destructive",size:"sm",title:"Stop Agent (immediate)",children:E.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(ph,{size:18})})]}),n.jsx(F,{variant:"outline",size:"sm",onClick:()=>z(!0),title:"Manage schedules",children:n.jsx(fl,{size:18})})]}),n.jsx(_b,{projectName:i,isOpen:U,onClose:()=>z(!1)})]})}const kb=3e4;function Ob(i){const r=i.trim();return!(/^\[Tool:/.test(r)||/^\s*Input:\s*\{/.test(r)||/^\[(Done|Error)\]/.test(r)||/^Output:/.test(r)||/^[[{]/.test(r)||r.length<10||/^[A-Za-z]:\\/.test(r)||/^\/[a-z]/.test(r))}function Rb(i){for(let r=i.length-1;r>=0;r--)if(Ob(i[r].line))return i[r].line.trim();return null}function Ub({passing:i,total:r,percentage:d,isConnected:o,logs:h=[],agentStatus:x}){const y=f.useMemo(()=>Rb(h),[h]),[v,p]=f.useState(null),[S,T]=f.useState(!0),E=h.length>0?new Date(h[h.length-1].timestamp).getTime():0,B=f.useMemo(()=>y?x==="running"||x==="pausing"?!0:x==="paused"?Date.now()-E<kb:!1:!1,[y,x,E]);f.useEffect(()=>{if(y!==v&&y){T(!1);const O=setTimeout(()=>{p(y),T(!0)},150);return()=>clearTimeout(O)}},[y,v]);const w=x==="running";return n.jsxs(Oe,{children:[n.jsxs(Ji,{className:"flex-row items-center justify-between space-y-0 pb-0",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(Du,{className:"text-xl uppercase tracking-wide",children:"Progress"}),n.jsx(Me,{variant:o?"default":"destructive",className:"gap-1",children:o?n.jsxs(n.Fragment,{children:[n.jsx(hl,{size:14}),"Live"]}):n.jsxs(n.Fragment,{children:[n.jsx(ml,{size:14}),"Offline"]})})]}),n.jsxs("div",{className:"flex items-baseline gap-1",children:[n.jsx("span",{className:"font-mono text-lg font-bold text-primary",children:i}),n.jsx("span",{className:"text-sm text-muted-foreground",children:"/"}),n.jsx("span",{className:"font-mono text-lg font-bold",children:r})]})]}),n.jsxs(Ge,{className:"pt-3 pb-3",children:[n.jsxs("div",{className:"flex items-center gap-4",children:[n.jsx("div",{className:"h-2.5 bg-muted rounded-full overflow-hidden flex-1",children:n.jsx("div",{className:"h-full bg-primary rounded-full transition-all duration-500 ease-out",style:{width:`${d}%`}})}),n.jsxs("span",{className:"text-sm font-bold tabular-nums text-muted-foreground w-12 text-right",children:[d.toFixed(1),"%"]})]}),n.jsx("div",{className:`
|
|
58
58
|
transition-all duration-300 ease-out overflow-hidden
|
|
59
59
|
${B&&v?"opacity-100 max-h-10 mt-3":"opacity-0 max-h-0 mt-0"}
|
|
60
|
-
`,children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs("div",{className:"relative shrink-0",children:[n.jsx(Rp,{size:16,className:"text-primary",strokeWidth:2.5}),w&&n.jsx(Nn,{size:8,className:"absolute -top-1 -right-1 text-yellow-500 animate-pulse"})]}),n.jsx("p",{className:"font-mono text-sm truncate text-muted-foreground transition-all duration-150 ease-out",style:{opacity:S?1:0,transform:S?"translateY(0)":"translateY(-4px)"},children:v?.replace(/:$/,"")})]})})]})]})}function Bb({onComplete:i}){const{data:r,isLoading:d,error:o}=P0(),{data:h,error:x}=ev(),y=h?.status==="healthy"&&!x,v=y&&r?.claude_cli&&r?.credentials,p=f.useCallback(()=>{v&&i()},[v,i]);return f.useEffect(()=>{p()},[p]),n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center p-4",children:n.jsx(Oe,{className:"w-full max-w-lg",children:n.jsxs(Ge,{className:"p-8",children:[n.jsx("h1",{className:"font-display text-3xl font-bold text-center mb-2",children:"Setup Wizard"}),n.jsx("p",{className:"text-center text-muted-foreground mb-8",children:"Let's make sure everything is ready to go"}),n.jsxs("div",{className:"space-y-4",children:[n.jsx(Li,{label:"Backend Server",description:"FastAPI server is running",status:x?"error":y?"success":"loading"}),n.jsx(Li,{label:"Claude CLI",description:"Claude Code CLI is installed",status:d?"loading":o?"error":r?.claude_cli?"success":"error",helpLink:"https://docs.anthropic.com/claude/claude-code",helpText:"Install Claude Code"}),n.jsx(Li,{label:"Anthropic Credentials",description:"API credentials are configured",status:d?"loading":o?"error":r?.credentials?"success":"error",helpLink:"https://console.anthropic.com/account/keys",helpText:"Get API Key"}),n.jsx(Li,{label:"Node.js",description:"Node.js is installed (for UI dev)",status:d?"loading":o?"error":r?.node?"success":"warning",helpLink:"https://nodejs.org",helpText:"Install Node.js",optional:!0})]}),v&&n.jsx(F,{onClick:i,className:"w-full mt-8 bg-green-500 hover:bg-green-600 text-white",children:"Continue to Dashboard"}),(x||o)&&n.jsxs(ft,{variant:"destructive",className:"mt-6",children:[n.jsx(wv,{children:"Setup Error"}),n.jsx(mt,{children:x?"Cannot connect to the backend server. Make sure to run start_ui.py first.":"Failed to check setup status."})]})]})})})}function Li({label:i,description:r,status:d,helpLink:o,helpText:h,optional:x}){return n.jsxs("div",{className:"flex items-start gap-4 p-4 bg-background border-2 border-border rounded-lg",children:[n.jsx("div",{className:"flex-shrink-0 mt-1",children:d==="success"?n.jsx($t,{size:24,className:"text-green-500"}):d==="error"?n.jsx(Bm,{size:24,className:"text-destructive"}):d==="warning"?n.jsx(Bm,{size:24,className:"text-yellow-500"}):n.jsx(Ce,{size:24,className:"animate-spin text-primary"})}),n.jsxs("div",{className:"flex-1",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"font-display font-bold text-foreground",children:i}),x&&n.jsx("span",{className:"text-xs text-muted-foreground",children:"(optional)"})]}),n.jsx("p",{className:"text-sm text-muted-foreground",children:r}),(d==="error"||d==="warning")&&o&&n.jsxs("a",{href:o,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 mt-2 text-sm text-primary hover:underline",children:[h," ",n.jsx(zu,{size:12})]})]})]})}function Hb({projectName:i,onClose:r}){const d=f.useId(),[o,h]=f.useState(""),[x,y]=f.useState(""),[v,p]=f.useState(""),[S,T]=f.useState(""),[E,B]=f.useState([{id:`${d}-step-0`,value:""}]),[w,O]=f.useState(null),[U,z]=f.useState(1),_=Y0(i),b=()=>{B([...E,{id:`${d}-step-${U}`,value:""}]),z(U+1)},N=X=>{B(E.filter(I=>I.id!==X))},L=(X,I)=>{B(E.map(Q=>Q.id===X?{...Q,value:I}:Q))},J=async X=>{X.preventDefault(),O(null);const I=E.map(Q=>Q.value.trim()).filter(Q=>Q.length>0);try{await _.mutateAsync({category:o.trim(),name:x.trim(),description:v.trim(),steps:I,priority:S?parseInt(S,10):void 0}),r()}catch(Q){O(Q instanceof Error?Q.message:"Failed to create feature")}},W=o.trim()&&x.trim()&&v.trim();return n.jsx(Wt,{open:!0,onOpenChange:X=>!X&&r(),children:n.jsxs(It,{className:"sm:max-w-2xl",children:[n.jsx(Pt,{children:n.jsx(ea,{children:"Add Feature"})}),n.jsxs("form",{onSubmit:J,className:"space-y-4",children:[w&&n.jsxs(ft,{variant:"destructive",children:[n.jsx(za,{className:"h-4 w-4"}),n.jsxs(mt,{className:"flex items-center justify-between",children:[n.jsx("span",{children:w}),n.jsx(F,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>O(null),children:n.jsx(nt,{size:14})})]})]}),n.jsxs("div",{className:"flex gap-4",children:[n.jsxs("div",{className:"flex-1 space-y-2",children:[n.jsx(ze,{htmlFor:"category",children:"Category"}),n.jsx(lt,{id:"category",type:"text",value:o,onChange:X=>h(X.target.value),placeholder:"e.g., Authentication, UI, API",required:!0})]}),n.jsxs("div",{className:"w-32 space-y-2",children:[n.jsx(ze,{htmlFor:"priority",children:"Priority"}),n.jsx(lt,{id:"priority",type:"number",value:S,onChange:X=>T(X.target.value),placeholder:"Auto",min:"1"})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{htmlFor:"name",children:"Feature Name"}),n.jsx(lt,{id:"name",type:"text",value:x,onChange:X=>y(X.target.value),placeholder:"e.g., User login form",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{htmlFor:"description",children:"Description"}),n.jsx(ys,{id:"description",value:v,onChange:X=>p(X.target.value),placeholder:"Describe what this feature should do...",className:"min-h-[100px] resize-y",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{children:"Test Steps (Optional)"}),n.jsx("div",{className:"space-y-2",children:E.map((X,I)=>n.jsxs("div",{className:"flex gap-2 items-center",children:[n.jsx("span",{className:"w-10 h-10 flex-shrink-0 flex items-center justify-center font-mono font-semibold text-sm border rounded-md bg-muted text-muted-foreground",children:I+1}),n.jsx(lt,{type:"text",value:X.value,onChange:Q=>L(X.id,Q.target.value),placeholder:"Describe this step...",className:"flex-1"}),E.length>1&&n.jsx(F,{type:"button",variant:"ghost",size:"icon",onClick:()=>N(X.id),children:n.jsx(tn,{size:18})})]},X.id))}),n.jsxs(F,{type:"button",variant:"ghost",size:"sm",onClick:b,children:[n.jsx(en,{size:16}),"Add Step"]})]}),n.jsxs(Ea,{className:"pt-4 border-t",children:[n.jsx(F,{type:"button",variant:"outline",onClick:r,children:"Cancel"}),n.jsx(F,{type:"submit",disabled:!W||_.isPending,children:_.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(en,{size:18}),"Create Feature"]})})]})]})]})})}function qb({feature:i,projectName:r,onClose:d,onSaved:o}){const h=f.useId(),[x,y]=f.useState(i.category),[v,p]=f.useState(i.name),[S,T]=f.useState(i.description),[E,B]=f.useState(String(i.priority)),[w,O]=f.useState(()=>i.steps.length>0?i.steps.map((P,H)=>({id:`${h}-step-${H}`,value:P})):[{id:`${h}-step-0`,value:""}]),[U,z]=f.useState(null),[_,b]=f.useState(i.steps.length||1),N=K0(r),L=()=>{O([...w,{id:`${h}-step-${_}`,value:""}]),b(_+1)},J=P=>{O(w.filter(H=>H.id!==P))},W=(P,H)=>{O(w.map($=>$.id===P?{...$,value:H}:$))},X=async P=>{P.preventDefault(),z(null);const H=w.map($=>$.value.trim()).filter($=>$.length>0);try{await N.mutateAsync({featureId:i.id,update:{category:x.trim(),name:v.trim(),description:S.trim(),steps:H,priority:parseInt(E,10)}}),o()}catch($){z($ instanceof Error?$.message:"Failed to update feature")}},I=x.trim()&&v.trim()&&S.trim(),Q=w.map(P=>P.value.trim()).filter(P=>P),le=x.trim()!==i.category||v.trim()!==i.name||S.trim()!==i.description||parseInt(E,10)!==i.priority||JSON.stringify(Q)!==JSON.stringify(i.steps);return n.jsx(Wt,{open:!0,onOpenChange:P=>!P&&d(),children:n.jsxs(It,{className:"sm:max-w-2xl",children:[n.jsx(Pt,{children:n.jsx(ea,{children:"Edit Feature"})}),n.jsxs("form",{onSubmit:X,className:"space-y-4",children:[U&&n.jsxs(ft,{variant:"destructive",children:[n.jsx(za,{className:"h-4 w-4"}),n.jsxs(mt,{className:"flex items-center justify-between",children:[n.jsx("span",{children:U}),n.jsx(F,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>z(null),children:n.jsx(nt,{size:14})})]})]}),n.jsxs("div",{className:"flex gap-4",children:[n.jsxs("div",{className:"flex-1 space-y-2",children:[n.jsx(ze,{htmlFor:"category",children:"Category"}),n.jsx(lt,{id:"category",type:"text",value:x,onChange:P=>y(P.target.value),placeholder:"e.g., Authentication, UI, API",required:!0})]}),n.jsxs("div",{className:"w-32 space-y-2",children:[n.jsx(ze,{htmlFor:"priority",children:"Priority"}),n.jsx(lt,{id:"priority",type:"number",value:E,onChange:P=>B(P.target.value),min:"1",required:!0})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{htmlFor:"name",children:"Feature Name"}),n.jsx(lt,{id:"name",type:"text",value:v,onChange:P=>p(P.target.value),placeholder:"e.g., User login form",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{htmlFor:"description",children:"Description"}),n.jsx(ys,{id:"description",value:S,onChange:P=>T(P.target.value),placeholder:"Describe what this feature should do...",className:"min-h-[100px] resize-y",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{children:"Test Steps"}),n.jsx("div",{className:"space-y-2",children:w.map((P,H)=>n.jsxs("div",{className:"flex gap-2 items-center",children:[n.jsx("span",{className:"w-10 h-10 flex-shrink-0 flex items-center justify-center font-mono font-semibold text-sm border rounded-md bg-muted text-muted-foreground",children:H+1}),n.jsx(lt,{type:"text",value:P.value,onChange:$=>W(P.id,$.target.value),placeholder:"Describe this step...",className:"flex-1"}),w.length>1&&n.jsx(F,{type:"button",variant:"ghost",size:"icon",onClick:()=>J(P.id),children:n.jsx(tn,{size:18})})]},P.id))}),n.jsxs(F,{type:"button",variant:"ghost",size:"sm",onClick:L,children:[n.jsx(en,{size:16}),"Add Step"]})]}),n.jsxs(Ea,{className:"pt-4 border-t",children:[n.jsx(F,{type:"button",variant:"outline",onClick:d,children:"Cancel"}),n.jsx(F,{type:"submit",disabled:!I||!le||N.isPending,children:N.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(Up,{size:18}),"Save Changes"]})})]})]})]})})}function ju({className:i,size:r="default",...d}){return n.jsx(ky,{"data-slot":"switch","data-size":r,className:Re("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 group/switch inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6",i),...d,children:n.jsx(Oy,{"data-slot":"switch-thumb",className:Re("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}function Lb({request:i,onSubmit:r,isLoading:d}){const[o,h]=f.useState(()=>{const p={};for(const S of i.fields)S.type==="boolean"?p[S.id]=!1:p[S.id]="";return p}),[x,y]=f.useState(null),v=async()=>{for(const p of i.fields)if(p.required){const S=o[p.id];if(S==null||S===""){y(`"${p.label}" is required`);return}}y(null),await r(o)};return n.jsxs(ft,{className:"border-amber-500 bg-amber-50 dark:bg-amber-950/20",children:[n.jsx(Ji,{className:"h-5 w-5 text-amber-600"}),n.jsxs(mt,{className:"space-y-4",children:[n.jsxs("div",{children:[n.jsx("h4",{className:"font-semibold text-amber-700 dark:text-amber-400",children:"Agent needs your help"}),n.jsx("p",{className:"text-sm text-amber-600 dark:text-amber-300 mt-1",children:i.prompt})]}),n.jsx("div",{className:"space-y-3",children:i.fields.map(p=>n.jsxs("div",{className:"space-y-1.5",children:[n.jsxs(ze,{htmlFor:`human-input-${p.id}`,className:"text-sm font-medium text-foreground",children:[p.label,p.required&&n.jsx("span",{className:"text-destructive ml-1",children:"*"})]}),p.type==="text"&&n.jsx(lt,{id:`human-input-${p.id}`,value:o[p.id],onChange:S=>h(T=>({...T,[p.id]:S.target.value})),placeholder:p.placeholder||"",disabled:d}),p.type==="textarea"&&n.jsx(ys,{id:`human-input-${p.id}`,value:o[p.id],onChange:S=>h(T=>({...T,[p.id]:S.target.value})),placeholder:p.placeholder||"",disabled:d,rows:3}),p.type==="select"&&p.options&&n.jsx("div",{className:"space-y-1.5",children:p.options.map(S=>n.jsxs("label",{className:`flex items-center gap-2 p-2 rounded-md border cursor-pointer transition-colors
|
|
61
|
-
${o[p.id]===S.value?"border-primary bg-primary/10":"border-border hover:border-primary/50"}`,children:[n.jsx("input",{type:"radio",name:`human-input-${p.id}`,value:S.value,checked:o[p.id]===S.value,onChange:T=>h(E=>({...E,[p.id]:T.target.value})),disabled:d,className:"accent-primary"}),n.jsx("span",{className:"text-sm",children:S.label})]},S.value))}),p.type==="boolean"&&n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(ju,{id:`human-input-${p.id}`,checked:o[p.id],onCheckedChange:S=>h(T=>({...T,[p.id]:S})),disabled:d}),n.jsx(ze,{htmlFor:`human-input-${p.id}`,className:"text-sm",children:o[p.id]?"Yes":"No"})]})]},p.id))}),x&&n.jsx("p",{className:"text-sm text-destructive",children:x}),n.jsx(F,{onClick:v,disabled:d,className:"w-full",children:d?n.jsx(Ce,{size:16,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(Fi,{size:16}),"Submit Response"]})})]})]})}function Gb(i){const r=["bg-pink-500","bg-cyan-500","bg-green-500","bg-yellow-500","bg-orange-500","bg-purple-500","bg-blue-500"];let d=0;for(let o=0;o<i.length;o++)d=i.charCodeAt(o)+((d<<5)-d);return r[Math.abs(d)%r.length]}function Qb({feature:i,projectName:r,onClose:d}){const[o,h]=f.useState(null),[x,y]=f.useState(!1),[v,p]=f.useState(!1),S=X0(r),T=V0(r),{data:E}=_h(r),B=Z0(r),w=new Map;E&&[...E.pending,...E.in_progress,...E.done,...E.needs_human_input||[]].forEach(b=>{w.set(b.id,b)});const O=(i.dependencies||[]).map(b=>w.get(b)).filter(b=>b!==void 0),U=(i.blocking_dependencies||[]).map(b=>w.get(b)).filter(b=>b!==void 0),z=async()=>{h(null);try{await S.mutateAsync(i.id),d()}catch(b){h(b instanceof Error?b.message:"Failed to skip feature")}},_=async()=>{h(null);try{await T.mutateAsync(i.id),d()}catch(b){h(b instanceof Error?b.message:"Failed to delete feature")}};return v?n.jsx(qb,{feature:i,projectName:r,onClose:()=>p(!1),onSaved:d}):n.jsx(Wt,{open:!0,onOpenChange:b=>!b&&d(),children:n.jsxs(It,{className:"sm:max-w-2xl p-0 gap-0",children:[n.jsxs(Pt,{className:"p-6 pb-4",children:[n.jsx("div",{className:"flex items-start gap-3",children:n.jsx(Me,{className:`${Gb(i.category)} text-white`,children:i.category})}),n.jsx(ea,{className:"text-xl mt-2",children:i.name})]}),n.jsx(bu,{}),n.jsxs("div",{className:"p-6 space-y-6 max-h-[60vh] overflow-y-auto",children:[o&&n.jsxs(ft,{variant:"destructive",children:[n.jsx(za,{className:"h-4 w-4"}),n.jsxs(mt,{className:"flex items-center justify-between",children:[n.jsx("span",{children:o}),n.jsx(F,{variant:"ghost",size:"icon-xs",onClick:()=>h(null),children:n.jsx(nt,{size:14})})]})]}),n.jsxs("div",{className:"flex items-center gap-3 p-4 bg-muted rounded-lg",children:[i.passes?n.jsxs(n.Fragment,{children:[n.jsx($t,{size:24,className:"text-primary"}),n.jsx("span",{className:"font-semibold text-primary",children:"COMPLETE"})]}):i.needs_human_input?n.jsxs(n.Fragment,{children:[n.jsx(Ji,{size:24,className:"text-amber-500"}),n.jsx("span",{className:"font-semibold text-amber-500",children:"NEEDS YOUR INPUT"})]}):n.jsxs(n.Fragment,{children:[n.jsx(ol,{size:24,className:"text-muted-foreground"}),n.jsx("span",{className:"font-semibold text-muted-foreground",children:"PENDING"})]}),n.jsxs("span",{className:"ml-auto font-mono text-sm text-muted-foreground",children:["Priority: #",i.priority]})]}),i.needs_human_input&&i.human_input_request&&n.jsx(Lb,{request:i.human_input_request,onSubmit:async b=>{h(null);try{await B.mutateAsync({featureId:i.id,fields:b}),d()}catch(N){h(N instanceof Error?N.message:"Failed to submit response")}},isLoading:B.isPending}),i.human_input_response&&!i.needs_human_input&&n.jsxs(ft,{className:"border-green-500 bg-green-50 dark:bg-green-950/20",children:[n.jsx($t,{className:"h-4 w-4 text-green-600"}),n.jsxs(mt,{children:[n.jsx("h4",{className:"font-semibold mb-1 text-green-700 dark:text-green-400",children:"Human Input Provided"}),n.jsxs("p",{className:"text-sm text-green-600 dark:text-green-300",children:["Response submitted",i.human_input_response.responded_at?` at ${new Date(i.human_input_response.responded_at).toLocaleString()}`:"","."]})]})]}),n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground",children:"Description"}),n.jsx("p",{className:"text-foreground",children:i.description})]}),U.length>0&&n.jsxs(ft,{variant:"destructive",className:"border-orange-500 bg-orange-50 dark:bg-orange-950/20",children:[n.jsx(Ta,{className:"h-4 w-4 text-orange-600"}),n.jsxs(mt,{children:[n.jsx("h4",{className:"font-semibold mb-1 text-orange-700 dark:text-orange-400",children:"Blocked By"}),n.jsx("p",{className:"text-sm text-orange-600 dark:text-orange-300 mb-2",children:"This feature cannot start until the following dependencies are complete:"}),n.jsx("ul",{className:"space-y-1",children:U.map(b=>n.jsxs("li",{className:"flex items-center gap-2 text-sm text-orange-600 dark:text-orange-300",children:[n.jsx(ol,{size:14}),n.jsxs("span",{className:"font-mono text-xs",children:["#",b.id]}),n.jsx("span",{children:b.name})]},b.id))})]})]}),O.length>0&&n.jsxs("div",{children:[n.jsxs("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground flex items-center gap-2",children:[n.jsx(Bp,{size:16}),"Depends On"]}),n.jsx("ul",{className:"space-y-1",children:O.map(b=>n.jsxs("li",{className:"flex items-center gap-2 p-2 bg-muted rounded-md text-sm",children:[b.passes?n.jsx($t,{size:16,className:"text-primary"}):n.jsx(ol,{size:16,className:"text-muted-foreground"}),n.jsxs("span",{className:"font-mono text-xs text-muted-foreground",children:["#",b.id]}),n.jsx("span",{className:b.passes?"text-primary":"",children:b.name})]},b.id))})]}),i.steps.length>0&&n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground",children:"Test Steps"}),n.jsx("ol",{className:"list-decimal list-inside space-y-2",children:i.steps.map((b,N)=>n.jsx("li",{className:"p-3 bg-muted rounded-md text-sm",children:b},N))})]})]}),!i.passes&&n.jsxs(n.Fragment,{children:[n.jsx(bu,{}),n.jsx(Ea,{className:"p-4 bg-muted/50",children:x?n.jsxs("div",{className:"w-full space-y-4",children:[n.jsx("p",{className:"font-medium text-center",children:"Are you sure you want to delete this feature?"}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx(F,{variant:"destructive",onClick:_,disabled:T.isPending,className:"flex-1",children:T.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):"Yes, Delete"}),n.jsx(F,{variant:"outline",onClick:()=>y(!1),disabled:T.isPending,className:"flex-1",children:"Cancel"})]})]}):n.jsxs("div",{className:"flex gap-3 w-full",children:[n.jsxs(F,{onClick:()=>p(!0),disabled:S.isPending,className:"flex-1",children:[n.jsx(Hp,{size:18}),"Edit"]}),n.jsx(F,{variant:"secondary",onClick:z,disabled:S.isPending,className:"flex-1",children:S.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(qp,{size:18}),"Skip"]})}),n.jsx(F,{variant:"destructive",size:"icon",onClick:()=>y(!0),disabled:S.isPending,children:n.jsx(tn,{size:18})})]})})]})]})})}const Yb={background:"#09090b",foreground:"#fafafa",cursor:"#3b82f6",cursorAccent:"#09090b",selectionBackground:"rgba(59, 130, 246, 0.3)",selectionForeground:"#ffffff",black:"#09090b",red:"#ef4444",green:"#22c55e",yellow:"#eab308",blue:"#3b82f6",magenta:"#a855f7",cyan:"#06b6d4",white:"#fafafa",brightBlack:"#52525b",brightRed:"#f87171",brightGreen:"#4ade80",brightYellow:"#facc15",brightBlue:"#60a5fa",brightMagenta:"#c084fc",brightCyan:"#22d3ee",brightWhite:"#ffffff"},eh=1e3,th=3e4;function Vb({projectName:i,terminalId:r,isActive:d}){const o=f.useRef(null),h=f.useRef(null),x=f.useRef(null),y=f.useRef(null),v=f.useRef(null),p=f.useRef(0),S=f.useRef(!1),T=f.useRef(!1),E=f.useRef(!1),B=f.useRef(!1),w=f.useRef(null),O=f.useRef(null),U=f.useRef(null),z=f.useRef(d),[_,b]=f.useState(!1),[N,L]=f.useState(!1),[J,W]=f.useState(null);f.useEffect(()=>{E.current=N},[N]),f.useEffect(()=>{z.current=d},[d]);const X=f.useCallback(Z=>{const g=new TextEncoder().encode(Z);let D="";for(let ee=0;ee<g.length;ee++)D+=String.fromCharCode(g[ee]);return btoa(D)},[]),I=f.useCallback(Z=>{try{const Y=atob(Z),g=new Uint8Array(Y.length);for(let ee=0;ee<Y.length;ee++)g[ee]=Y.charCodeAt(ee);return new TextDecoder().decode(g)}catch{return console.error("Failed to decode base64 data"),""}},[]),Q=f.useCallback(Z=>{y.current?.readyState===WebSocket.OPEN&&y.current.send(JSON.stringify(Z))},[]),le=f.useCallback((Z,Y)=>{Q({type:"resize",cols:Z,rows:Y})},[Q]),P=f.useCallback(()=>{if(x.current&&h.current)try{const Z=x.current.proposeDimensions();Z&&Z.cols&&Z.rows&&!isNaN(Z.cols)&&!isNaN(Z.rows)&&Z.cols>=1&&Z.rows>=1&&x.current.fit();const{cols:g,rows:D}=h.current;g>0&&D>0&&le(g,D)}catch{}},[le]),H=f.useCallback(()=>{if(!i||!r||!z.current||T.current||y.current?.readyState===WebSocket.CONNECTING||y.current?.readyState===WebSocket.OPEN)return;T.current=!0,v.current&&(clearTimeout(v.current),v.current=null);const Z=window.location.protocol==="https:"?"wss:":"ws:",Y=window.location.host,g=`${Z}//${Y}/api/terminal/ws/${encodeURIComponent(i)}/${encodeURIComponent(r)}`;try{const D=new WebSocket(g);y.current=D,D.onopen=()=>{if(T.current=!1,b(!0),L(!1),W(null),p.current=0,h.current){const{cols:ee,rows:te}=h.current;le(ee,te)}},D.onmessage=ee=>{try{const te=JSON.parse(ee.data);switch(te.type){case"output":{const fe=I(te.data);fe&&h.current&&h.current.write(fe);break}case"exit":{L(!0),W(te.code),h.current&&(h.current.writeln(""),h.current.writeln(`\x1B[33m[Shell exited with code ${te.code}]\x1B[0m`),h.current.writeln("\x1B[90mPress any key to reconnect...\x1B[0m"));break}}}catch{console.error("Failed to parse terminal WebSocket message")}},D.onclose=()=>{T.current=!1,b(!1),y.current=null;const ee=z.current&&!E.current&&!B.current;if(B.current=!1,ee){const te=Math.min(eh*Math.pow(2,p.current),th);p.current++,v.current=window.setTimeout(()=>{H()},te)}},D.onerror=()=>{D.close()}}catch{T.current=!1;const D=Math.min(eh*Math.pow(2,p.current),th);p.current++,v.current=window.setTimeout(()=>{H()},D)}},[i,r,le,I]);f.useEffect(()=>{w.current=H},[H]);const $=f.useCallback(()=>{if(!o.current||S.current)return;const Z=new Vy({theme:Yb,fontFamily:"JetBrains Mono, Consolas, Monaco, monospace",fontSize:14,cursorBlink:!0,cursorStyle:"block",allowProposedApi:!0,scrollback:1e4}),Y=new Xy;Z.loadAddon(Y),Z.open(o.current),h.current=Z,x.current=Y,S.current=!0,Z.onData(g=>{if(E.current){L(!1),W(null),w.current?.();return}const D={type:"input",data:X(g)};Q(D)}),Z.onResize(({cols:g,rows:D})=>{le(g,D)})},[X,Q,le]);return f.useEffect(()=>{if(!d)return;const Z=()=>{P()};return window.addEventListener("resize",Z),()=>{window.removeEventListener("resize",Z)}},[d,P]),f.useEffect(()=>{if(!d){v.current&&(clearTimeout(v.current),v.current=null);return}S.current||$();let Z,Y;const g=()=>{Z=requestAnimationFrame(()=>{Y=requestAnimationFrame(()=>{(!y.current||y.current.readyState!==WebSocket.OPEN)&&w.current?.()})})},D=window.setTimeout(g,50);return()=>{clearTimeout(D),cancelAnimationFrame(Z),cancelAnimationFrame(Y)}},[d,$]),f.useEffect(()=>{if(d&&h.current){let Z,Y;const g=()=>{Z=requestAnimationFrame(()=>{Y=requestAnimationFrame(()=>{h.current&&x.current&&(P(),h.current.refresh(0,h.current.rows-1),h.current.focus())})})},D=window.setTimeout(g,16);return()=>{clearTimeout(D),cancelAnimationFrame(Z),cancelAnimationFrame(Y)}}},[d,P]),f.useEffect(()=>()=>{v.current&&clearTimeout(v.current),y.current&&y.current.close(),h.current&&h.current.dispose(),S.current=!1},[]),f.useEffect(()=>{if(d&&S.current){if(O.current===null&&U.current===null){O.current=i,U.current=r;return}if(O.current===i&&U.current===r)return;O.current=i,U.current=r,h.current&&(h.current.clear(),h.current.write("\x1B[H")),B.current=!0,y.current&&(y.current.close(),y.current=null),T.current=!1,L(!1),W(null),p.current=0,w.current?.()}},[i,r,d]),n.jsxs("div",{className:"relative h-full w-full bg-zinc-950",children:[n.jsxs("div",{className:"absolute top-2 right-2 z-10 flex items-center gap-2",children:[n.jsx("div",{className:`w-2 h-2 rounded-full ${_?"bg-green-500":"bg-destructive"}`,title:_?"Connected":"Disconnected"}),!_&&!N&&n.jsx("span",{className:"text-xs font-mono text-muted-foreground",children:"Connecting..."}),N&&J!==null&&n.jsxs("span",{className:"text-xs font-mono text-yellow-500",children:["Exit: ",J]})]}),n.jsx("div",{ref:o,className:"h-full w-full p-2",style:{minHeight:"100px"},onClick:()=>{h.current?.focus()}})]})}function Xb({terminals:i,activeTerminalId:r,onSelect:d,onCreate:o,onRename:h,onClose:x}){const[y,v]=f.useState(null),[p,S]=f.useState(""),[T,E]=f.useState({visible:!1,x:0,y:0,terminalId:null}),B=f.useRef(null),w=f.useRef(null);f.useEffect(()=>{y&&B.current&&(B.current.focus(),B.current.select())},[y]),f.useEffect(()=>{const X=I=>{w.current&&!w.current.contains(I.target)&&E(Q=>({...Q,visible:!1}))};if(T.visible)return document.addEventListener("mousedown",X),()=>document.removeEventListener("mousedown",X)},[T.visible]);const O=f.useCallback(X=>{v(X.id),S(X.name),E(I=>({...I,visible:!1}))},[]),U=f.useCallback(()=>{y&&p.trim()&&h(y,p.trim()),v(null),S("")},[y,p,h]),z=f.useCallback(()=>{v(null),S("")},[]),_=f.useCallback(X=>{ps(X,!1)?(X.preventDefault(),U()):X.key==="Escape"&&(X.preventDefault(),z())},[U,z]),b=f.useCallback(X=>{O(X)},[O]),N=f.useCallback((X,I)=>{X.preventDefault(),E({visible:!0,x:X.clientX,y:X.clientY,terminalId:I})},[]),L=f.useCallback(()=>{if(T.terminalId){const X=i.find(I=>I.id===T.terminalId);X&&O(X)}},[T.terminalId,i,O]),J=f.useCallback(()=>{T.terminalId&&x(T.terminalId),E(X=>({...X,visible:!1}))},[T.terminalId,x]),W=f.useCallback((X,I)=>{X.stopPropagation(),x(I)},[x]);return n.jsxs("div",{className:"flex items-center gap-1 px-2 py-1 bg-zinc-900 border-b border-border overflow-x-auto",children:[i.map(X=>n.jsxs("div",{className:`
|
|
60
|
+
`,children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs("div",{className:"relative shrink-0",children:[n.jsx(Rp,{size:16,className:"text-primary",strokeWidth:2.5}),w&&n.jsx(Nn,{size:8,className:"absolute -top-1 -right-1 text-yellow-500 animate-pulse"})]}),n.jsx("p",{className:"font-mono text-sm truncate text-muted-foreground transition-all duration-150 ease-out",style:{opacity:S?1:0,transform:S?"translateY(0)":"translateY(-4px)"},children:v?.replace(/:$/,"")})]})})]})]})}function Bb({onComplete:i}){const{data:r,isLoading:d,error:o}=P0(),{data:h,error:x}=ev(),y=h?.status==="healthy"&&!x,v=y&&r?.claude_cli&&r?.credentials,p=f.useCallback(()=>{v&&i()},[v,i]);return f.useEffect(()=>{p()},[p]),n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center p-4",children:n.jsx(Oe,{className:"w-full max-w-lg",children:n.jsxs(Ge,{className:"p-8",children:[n.jsx("h1",{className:"font-display text-3xl font-bold text-center mb-2",children:"Setup Wizard"}),n.jsx("p",{className:"text-center text-muted-foreground mb-8",children:"Let's make sure everything is ready to go"}),n.jsxs("div",{className:"space-y-4",children:[n.jsx(Gi,{label:"Backend Server",description:"FastAPI server is running",status:x?"error":y?"success":"loading"}),n.jsx(Gi,{label:"Claude CLI",description:"Claude Code CLI is installed",status:d?"loading":o?"error":r?.claude_cli?"success":"error",helpLink:"https://docs.anthropic.com/claude/claude-code",helpText:"Install Claude Code"}),n.jsx(Gi,{label:"Anthropic Credentials",description:"API credentials are configured",status:d?"loading":o?"error":r?.credentials?"success":"error",helpLink:"https://console.anthropic.com/account/keys",helpText:"Get API Key"}),n.jsx(Gi,{label:"Node.js",description:"Node.js is installed (for UI dev)",status:d?"loading":o?"error":r?.node?"success":"warning",helpLink:"https://nodejs.org",helpText:"Install Node.js",optional:!0})]}),v&&n.jsx(F,{onClick:i,className:"w-full mt-8 bg-green-500 hover:bg-green-600 text-white",children:"Continue to Dashboard"}),(x||o)&&n.jsxs(ft,{variant:"destructive",className:"mt-6",children:[n.jsx(wv,{children:"Setup Error"}),n.jsx(mt,{children:x?"Cannot connect to the backend server. Make sure to run start_ui.py first.":"Failed to check setup status."})]})]})})})}function Gi({label:i,description:r,status:d,helpLink:o,helpText:h,optional:x}){return n.jsxs("div",{className:"flex items-start gap-4 p-4 bg-background border-2 border-border rounded-lg",children:[n.jsx("div",{className:"flex-shrink-0 mt-1",children:d==="success"?n.jsx(Jt,{size:24,className:"text-green-500"}):d==="error"?n.jsx(Bm,{size:24,className:"text-destructive"}):d==="warning"?n.jsx(Bm,{size:24,className:"text-yellow-500"}):n.jsx(Ce,{size:24,className:"animate-spin text-primary"})}),n.jsxs("div",{className:"flex-1",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"font-display font-bold text-foreground",children:i}),x&&n.jsx("span",{className:"text-xs text-muted-foreground",children:"(optional)"})]}),n.jsx("p",{className:"text-sm text-muted-foreground",children:r}),(d==="error"||d==="warning")&&o&&n.jsxs("a",{href:o,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 mt-2 text-sm text-primary hover:underline",children:[h," ",n.jsx(zu,{size:12})]})]})]})}function Hb({projectName:i,onClose:r}){const d=f.useId(),[o,h]=f.useState(""),[x,y]=f.useState(""),[v,p]=f.useState(""),[S,T]=f.useState(""),[E,B]=f.useState([{id:`${d}-step-0`,value:""}]),[w,O]=f.useState(null),[U,z]=f.useState(1),_=Y0(i),b=()=>{B([...E,{id:`${d}-step-${U}`,value:""}]),z(U+1)},N=K=>{B(E.filter(I=>I.id!==K))},L=(K,I)=>{B(E.map(Q=>Q.id===K?{...Q,value:I}:Q))},$=async K=>{K.preventDefault(),O(null);const I=E.map(Q=>Q.value.trim()).filter(Q=>Q.length>0);try{await _.mutateAsync({category:o.trim(),name:x.trim(),description:v.trim(),steps:I,priority:S?parseInt(S,10):void 0}),r()}catch(Q){O(Q instanceof Error?Q.message:"Failed to create feature")}},W=o.trim()&&x.trim()&&v.trim();return n.jsx(Wt,{open:!0,onOpenChange:K=>!K&&r(),children:n.jsxs(It,{className:"sm:max-w-2xl",children:[n.jsx(Pt,{children:n.jsx(ea,{children:"Add Feature"})}),n.jsxs("form",{onSubmit:$,className:"space-y-4",children:[w&&n.jsxs(ft,{variant:"destructive",children:[n.jsx(za,{className:"h-4 w-4"}),n.jsxs(mt,{className:"flex items-center justify-between",children:[n.jsx("span",{children:w}),n.jsx(F,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>O(null),children:n.jsx(nt,{size:14})})]})]}),n.jsxs("div",{className:"flex gap-4",children:[n.jsxs("div",{className:"flex-1 space-y-2",children:[n.jsx(ze,{htmlFor:"category",children:"Category"}),n.jsx(lt,{id:"category",type:"text",value:o,onChange:K=>h(K.target.value),placeholder:"e.g., Authentication, UI, API",required:!0})]}),n.jsxs("div",{className:"w-32 space-y-2",children:[n.jsx(ze,{htmlFor:"priority",children:"Priority"}),n.jsx(lt,{id:"priority",type:"number",value:S,onChange:K=>T(K.target.value),placeholder:"Auto",min:"1"})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{htmlFor:"name",children:"Feature Name"}),n.jsx(lt,{id:"name",type:"text",value:x,onChange:K=>y(K.target.value),placeholder:"e.g., User login form",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{htmlFor:"description",children:"Description"}),n.jsx(vs,{id:"description",value:v,onChange:K=>p(K.target.value),placeholder:"Describe what this feature should do...",className:"min-h-[100px] resize-y",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{children:"Test Steps (Optional)"}),n.jsx("div",{className:"space-y-2",children:E.map((K,I)=>n.jsxs("div",{className:"flex gap-2 items-center",children:[n.jsx("span",{className:"w-10 h-10 flex-shrink-0 flex items-center justify-center font-mono font-semibold text-sm border rounded-md bg-muted text-muted-foreground",children:I+1}),n.jsx(lt,{type:"text",value:K.value,onChange:Q=>L(K.id,Q.target.value),placeholder:"Describe this step...",className:"flex-1"}),E.length>1&&n.jsx(F,{type:"button",variant:"ghost",size:"icon",onClick:()=>N(K.id),children:n.jsx(an,{size:18})})]},K.id))}),n.jsxs(F,{type:"button",variant:"ghost",size:"sm",onClick:b,children:[n.jsx(tn,{size:16}),"Add Step"]})]}),n.jsxs(Ea,{className:"pt-4 border-t",children:[n.jsx(F,{type:"button",variant:"outline",onClick:r,children:"Cancel"}),n.jsx(F,{type:"submit",disabled:!W||_.isPending,children:_.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(tn,{size:18}),"Create Feature"]})})]})]})]})})}function qb({feature:i,projectName:r,onClose:d,onSaved:o}){const h=f.useId(),[x,y]=f.useState(i.category),[v,p]=f.useState(i.name),[S,T]=f.useState(i.description),[E,B]=f.useState(String(i.priority)),[w,O]=f.useState(()=>i.steps.length>0?i.steps.map((P,H)=>({id:`${h}-step-${H}`,value:P})):[{id:`${h}-step-0`,value:""}]),[U,z]=f.useState(null),[_,b]=f.useState(i.steps.length||1),N=K0(r),L=()=>{O([...w,{id:`${h}-step-${_}`,value:""}]),b(_+1)},$=P=>{O(w.filter(H=>H.id!==P))},W=(P,H)=>{O(w.map(J=>J.id===P?{...J,value:H}:J))},K=async P=>{P.preventDefault(),z(null);const H=w.map(J=>J.value.trim()).filter(J=>J.length>0);try{await N.mutateAsync({featureId:i.id,update:{category:x.trim(),name:v.trim(),description:S.trim(),steps:H,priority:parseInt(E,10)}}),o()}catch(J){z(J instanceof Error?J.message:"Failed to update feature")}},I=x.trim()&&v.trim()&&S.trim(),Q=w.map(P=>P.value.trim()).filter(P=>P),le=x.trim()!==i.category||v.trim()!==i.name||S.trim()!==i.description||parseInt(E,10)!==i.priority||JSON.stringify(Q)!==JSON.stringify(i.steps);return n.jsx(Wt,{open:!0,onOpenChange:P=>!P&&d(),children:n.jsxs(It,{className:"sm:max-w-2xl",children:[n.jsx(Pt,{children:n.jsx(ea,{children:"Edit Feature"})}),n.jsxs("form",{onSubmit:K,className:"space-y-4",children:[U&&n.jsxs(ft,{variant:"destructive",children:[n.jsx(za,{className:"h-4 w-4"}),n.jsxs(mt,{className:"flex items-center justify-between",children:[n.jsx("span",{children:U}),n.jsx(F,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>z(null),children:n.jsx(nt,{size:14})})]})]}),n.jsxs("div",{className:"flex gap-4",children:[n.jsxs("div",{className:"flex-1 space-y-2",children:[n.jsx(ze,{htmlFor:"category",children:"Category"}),n.jsx(lt,{id:"category",type:"text",value:x,onChange:P=>y(P.target.value),placeholder:"e.g., Authentication, UI, API",required:!0})]}),n.jsxs("div",{className:"w-32 space-y-2",children:[n.jsx(ze,{htmlFor:"priority",children:"Priority"}),n.jsx(lt,{id:"priority",type:"number",value:E,onChange:P=>B(P.target.value),min:"1",required:!0})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{htmlFor:"name",children:"Feature Name"}),n.jsx(lt,{id:"name",type:"text",value:v,onChange:P=>p(P.target.value),placeholder:"e.g., User login form",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{htmlFor:"description",children:"Description"}),n.jsx(vs,{id:"description",value:S,onChange:P=>T(P.target.value),placeholder:"Describe what this feature should do...",className:"min-h-[100px] resize-y",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{children:"Test Steps"}),n.jsx("div",{className:"space-y-2",children:w.map((P,H)=>n.jsxs("div",{className:"flex gap-2 items-center",children:[n.jsx("span",{className:"w-10 h-10 flex-shrink-0 flex items-center justify-center font-mono font-semibold text-sm border rounded-md bg-muted text-muted-foreground",children:H+1}),n.jsx(lt,{type:"text",value:P.value,onChange:J=>W(P.id,J.target.value),placeholder:"Describe this step...",className:"flex-1"}),w.length>1&&n.jsx(F,{type:"button",variant:"ghost",size:"icon",onClick:()=>$(P.id),children:n.jsx(an,{size:18})})]},P.id))}),n.jsxs(F,{type:"button",variant:"ghost",size:"sm",onClick:L,children:[n.jsx(tn,{size:16}),"Add Step"]})]}),n.jsxs(Ea,{className:"pt-4 border-t",children:[n.jsx(F,{type:"button",variant:"outline",onClick:d,children:"Cancel"}),n.jsx(F,{type:"submit",disabled:!I||!le||N.isPending,children:N.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(Up,{size:18}),"Save Changes"]})})]})]})]})})}function ju({className:i,size:r="default",...d}){return n.jsx(ky,{"data-slot":"switch","data-size":r,className:Re("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 group/switch inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6",i),...d,children:n.jsx(Oy,{"data-slot":"switch-thumb",className:Re("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}function Lb({request:i,onSubmit:r,isLoading:d}){const[o,h]=f.useState(()=>{const p={};for(const S of i.fields)S.type==="boolean"?p[S.id]=!1:p[S.id]="";return p}),[x,y]=f.useState(null),v=async()=>{for(const p of i.fields)if(p.required){const S=o[p.id];if(S==null||S===""){y(`"${p.label}" is required`);return}}y(null),await r(o)};return n.jsxs(ft,{className:"border-amber-500 bg-amber-50 dark:bg-amber-950/20",children:[n.jsx($i,{className:"h-5 w-5 text-amber-600"}),n.jsxs(mt,{className:"space-y-4",children:[n.jsxs("div",{children:[n.jsx("h4",{className:"font-semibold text-amber-700 dark:text-amber-400",children:"Agent needs your help"}),n.jsx("p",{className:"text-sm text-amber-600 dark:text-amber-300 mt-1",children:i.prompt})]}),n.jsx("div",{className:"space-y-3",children:i.fields.map(p=>n.jsxs("div",{className:"space-y-1.5",children:[n.jsxs(ze,{htmlFor:`human-input-${p.id}`,className:"text-sm font-medium text-foreground",children:[p.label,p.required&&n.jsx("span",{className:"text-destructive ml-1",children:"*"})]}),p.type==="text"&&n.jsx(lt,{id:`human-input-${p.id}`,value:o[p.id],onChange:S=>h(T=>({...T,[p.id]:S.target.value})),placeholder:p.placeholder||"",disabled:d}),p.type==="textarea"&&n.jsx(vs,{id:`human-input-${p.id}`,value:o[p.id],onChange:S=>h(T=>({...T,[p.id]:S.target.value})),placeholder:p.placeholder||"",disabled:d,rows:3}),p.type==="select"&&p.options&&n.jsx("div",{className:"space-y-1.5",children:p.options.map(S=>n.jsxs("label",{className:`flex items-center gap-2 p-2 rounded-md border cursor-pointer transition-colors
|
|
61
|
+
${o[p.id]===S.value?"border-primary bg-primary/10":"border-border hover:border-primary/50"}`,children:[n.jsx("input",{type:"radio",name:`human-input-${p.id}`,value:S.value,checked:o[p.id]===S.value,onChange:T=>h(E=>({...E,[p.id]:T.target.value})),disabled:d,className:"accent-primary"}),n.jsx("span",{className:"text-sm",children:S.label})]},S.value))}),p.type==="boolean"&&n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(ju,{id:`human-input-${p.id}`,checked:o[p.id],onCheckedChange:S=>h(T=>({...T,[p.id]:S})),disabled:d}),n.jsx(ze,{htmlFor:`human-input-${p.id}`,className:"text-sm",children:o[p.id]?"Yes":"No"})]})]},p.id))}),x&&n.jsx("p",{className:"text-sm text-destructive",children:x}),n.jsx(F,{onClick:v,disabled:d,className:"w-full",children:d?n.jsx(Ce,{size:16,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(Fi,{size:16}),"Submit Response"]})})]})]})}function Gb(i){const r=["bg-pink-500","bg-cyan-500","bg-green-500","bg-yellow-500","bg-orange-500","bg-purple-500","bg-blue-500"];let d=0;for(let o=0;o<i.length;o++)d=i.charCodeAt(o)+((d<<5)-d);return r[Math.abs(d)%r.length]}function Qb({feature:i,projectName:r,onClose:d}){const[o,h]=f.useState(null),[x,y]=f.useState(!1),[v,p]=f.useState(!1),S=X0(r),T=V0(r),{data:E}=_h(r),B=Z0(r),w=new Map;E&&[...E.pending,...E.in_progress,...E.done,...E.needs_human_input||[]].forEach(b=>{w.set(b.id,b)});const O=(i.dependencies||[]).map(b=>w.get(b)).filter(b=>b!==void 0),U=(i.blocking_dependencies||[]).map(b=>w.get(b)).filter(b=>b!==void 0),z=async()=>{h(null);try{await S.mutateAsync(i.id),d()}catch(b){h(b instanceof Error?b.message:"Failed to skip feature")}},_=async()=>{h(null);try{await T.mutateAsync(i.id),d()}catch(b){h(b instanceof Error?b.message:"Failed to delete feature")}};return v?n.jsx(qb,{feature:i,projectName:r,onClose:()=>p(!1),onSaved:d}):n.jsx(Wt,{open:!0,onOpenChange:b=>!b&&d(),children:n.jsxs(It,{className:"sm:max-w-2xl p-0 gap-0",children:[n.jsxs(Pt,{className:"p-6 pb-4",children:[n.jsx("div",{className:"flex items-start gap-3",children:n.jsx(Me,{className:`${Gb(i.category)} text-white`,children:i.category})}),n.jsx(ea,{className:"text-xl mt-2",children:i.name})]}),n.jsx(bu,{}),n.jsxs("div",{className:"p-6 space-y-6 max-h-[60vh] overflow-y-auto",children:[o&&n.jsxs(ft,{variant:"destructive",children:[n.jsx(za,{className:"h-4 w-4"}),n.jsxs(mt,{className:"flex items-center justify-between",children:[n.jsx("span",{children:o}),n.jsx(F,{variant:"ghost",size:"icon-xs",onClick:()=>h(null),children:n.jsx(nt,{size:14})})]})]}),n.jsxs("div",{className:"flex items-center gap-3 p-4 bg-muted rounded-lg",children:[i.passes?n.jsxs(n.Fragment,{children:[n.jsx(Jt,{size:24,className:"text-primary"}),n.jsx("span",{className:"font-semibold text-primary",children:"COMPLETE"})]}):i.needs_human_input?n.jsxs(n.Fragment,{children:[n.jsx($i,{size:24,className:"text-amber-500"}),n.jsx("span",{className:"font-semibold text-amber-500",children:"NEEDS YOUR INPUT"})]}):n.jsxs(n.Fragment,{children:[n.jsx(dl,{size:24,className:"text-muted-foreground"}),n.jsx("span",{className:"font-semibold text-muted-foreground",children:"PENDING"})]}),n.jsxs("span",{className:"ml-auto font-mono text-sm text-muted-foreground",children:["Priority: #",i.priority]})]}),i.needs_human_input&&i.human_input_request&&n.jsx(Lb,{request:i.human_input_request,onSubmit:async b=>{h(null);try{await B.mutateAsync({featureId:i.id,fields:b}),d()}catch(N){h(N instanceof Error?N.message:"Failed to submit response")}},isLoading:B.isPending}),i.human_input_response&&!i.needs_human_input&&n.jsxs(ft,{className:"border-green-500 bg-green-50 dark:bg-green-950/20",children:[n.jsx(Jt,{className:"h-4 w-4 text-green-600"}),n.jsxs(mt,{children:[n.jsx("h4",{className:"font-semibold mb-1 text-green-700 dark:text-green-400",children:"Human Input Provided"}),n.jsxs("p",{className:"text-sm text-green-600 dark:text-green-300",children:["Response submitted",i.human_input_response.responded_at?` at ${new Date(i.human_input_response.responded_at).toLocaleString()}`:"","."]})]})]}),n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground",children:"Description"}),n.jsx("p",{className:"text-foreground",children:i.description})]}),U.length>0&&n.jsxs(ft,{variant:"destructive",className:"border-orange-500 bg-orange-50 dark:bg-orange-950/20",children:[n.jsx(Ta,{className:"h-4 w-4 text-orange-600"}),n.jsxs(mt,{children:[n.jsx("h4",{className:"font-semibold mb-1 text-orange-700 dark:text-orange-400",children:"Blocked By"}),n.jsx("p",{className:"text-sm text-orange-600 dark:text-orange-300 mb-2",children:"This feature cannot start until the following dependencies are complete:"}),n.jsx("ul",{className:"space-y-1",children:U.map(b=>n.jsxs("li",{className:"flex items-center gap-2 text-sm text-orange-600 dark:text-orange-300",children:[n.jsx(dl,{size:14}),n.jsxs("span",{className:"font-mono text-xs",children:["#",b.id]}),n.jsx("span",{children:b.name})]},b.id))})]})]}),O.length>0&&n.jsxs("div",{children:[n.jsxs("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground flex items-center gap-2",children:[n.jsx(Bp,{size:16}),"Depends On"]}),n.jsx("ul",{className:"space-y-1",children:O.map(b=>n.jsxs("li",{className:"flex items-center gap-2 p-2 bg-muted rounded-md text-sm",children:[b.passes?n.jsx(Jt,{size:16,className:"text-primary"}):n.jsx(dl,{size:16,className:"text-muted-foreground"}),n.jsxs("span",{className:"font-mono text-xs text-muted-foreground",children:["#",b.id]}),n.jsx("span",{className:b.passes?"text-primary":"",children:b.name})]},b.id))})]}),i.steps.length>0&&n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground",children:"Test Steps"}),n.jsx("ol",{className:"list-decimal list-inside space-y-2",children:i.steps.map((b,N)=>n.jsx("li",{className:"p-3 bg-muted rounded-md text-sm",children:b},N))})]})]}),!i.passes&&n.jsxs(n.Fragment,{children:[n.jsx(bu,{}),n.jsx(Ea,{className:"p-4 bg-muted/50",children:x?n.jsxs("div",{className:"w-full space-y-4",children:[n.jsx("p",{className:"font-medium text-center",children:"Are you sure you want to delete this feature?"}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx(F,{variant:"destructive",onClick:_,disabled:T.isPending,className:"flex-1",children:T.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):"Yes, Delete"}),n.jsx(F,{variant:"outline",onClick:()=>y(!1),disabled:T.isPending,className:"flex-1",children:"Cancel"})]})]}):n.jsxs("div",{className:"flex gap-3 w-full",children:[n.jsxs(F,{onClick:()=>p(!0),disabled:S.isPending,className:"flex-1",children:[n.jsx(Hp,{size:18}),"Edit"]}),n.jsx(F,{variant:"secondary",onClick:z,disabled:S.isPending,className:"flex-1",children:S.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(qp,{size:18}),"Skip"]})}),n.jsx(F,{variant:"destructive",size:"icon",onClick:()=>y(!0),disabled:S.isPending,children:n.jsx(an,{size:18})})]})})]})]})})}const Yb={background:"#09090b",foreground:"#fafafa",cursor:"#3b82f6",cursorAccent:"#09090b",selectionBackground:"rgba(59, 130, 246, 0.3)",selectionForeground:"#ffffff",black:"#09090b",red:"#ef4444",green:"#22c55e",yellow:"#eab308",blue:"#3b82f6",magenta:"#a855f7",cyan:"#06b6d4",white:"#fafafa",brightBlack:"#52525b",brightRed:"#f87171",brightGreen:"#4ade80",brightYellow:"#facc15",brightBlue:"#60a5fa",brightMagenta:"#c084fc",brightCyan:"#22d3ee",brightWhite:"#ffffff"},eh=1e3,th=3e4;function Vb({projectName:i,terminalId:r,isActive:d}){const o=f.useRef(null),h=f.useRef(null),x=f.useRef(null),y=f.useRef(null),v=f.useRef(null),p=f.useRef(0),S=f.useRef(!1),T=f.useRef(!1),E=f.useRef(!1),B=f.useRef(!1),w=f.useRef(null),O=f.useRef(null),U=f.useRef(null),z=f.useRef(d),[_,b]=f.useState(!1),[N,L]=f.useState(!1),[$,W]=f.useState(null);f.useEffect(()=>{E.current=N},[N]),f.useEffect(()=>{z.current=d},[d]);const K=f.useCallback(X=>{const g=new TextEncoder().encode(X);let D="";for(let ee=0;ee<g.length;ee++)D+=String.fromCharCode(g[ee]);return btoa(D)},[]),I=f.useCallback(X=>{try{const Y=atob(X),g=new Uint8Array(Y.length);for(let ee=0;ee<Y.length;ee++)g[ee]=Y.charCodeAt(ee);return new TextDecoder().decode(g)}catch{return console.error("Failed to decode base64 data"),""}},[]),Q=f.useCallback(X=>{y.current?.readyState===WebSocket.OPEN&&y.current.send(JSON.stringify(X))},[]),le=f.useCallback((X,Y)=>{Q({type:"resize",cols:X,rows:Y})},[Q]),P=f.useCallback(()=>{if(x.current&&h.current)try{const X=x.current.proposeDimensions();X&&X.cols&&X.rows&&!isNaN(X.cols)&&!isNaN(X.rows)&&X.cols>=1&&X.rows>=1&&x.current.fit();const{cols:g,rows:D}=h.current;g>0&&D>0&&le(g,D)}catch{}},[le]),H=f.useCallback(()=>{if(!i||!r||!z.current||T.current||y.current?.readyState===WebSocket.CONNECTING||y.current?.readyState===WebSocket.OPEN)return;T.current=!0,v.current&&(clearTimeout(v.current),v.current=null);const X=window.location.protocol==="https:"?"wss:":"ws:",Y=window.location.host,g=`${X}//${Y}/api/terminal/ws/${encodeURIComponent(i)}/${encodeURIComponent(r)}`;try{const D=new WebSocket(g);y.current=D,D.onopen=()=>{if(T.current=!1,b(!0),L(!1),W(null),p.current=0,h.current){const{cols:ee,rows:te}=h.current;le(ee,te)}},D.onmessage=ee=>{try{const te=JSON.parse(ee.data);switch(te.type){case"output":{const fe=I(te.data);fe&&h.current&&h.current.write(fe);break}case"exit":{L(!0),W(te.code),h.current&&(h.current.writeln(""),h.current.writeln(`\x1B[33m[Shell exited with code ${te.code}]\x1B[0m`),h.current.writeln("\x1B[90mPress any key to reconnect...\x1B[0m"));break}}}catch{console.error("Failed to parse terminal WebSocket message")}},D.onclose=()=>{T.current=!1,b(!1),y.current=null;const ee=z.current&&!E.current&&!B.current;if(B.current=!1,ee){const te=Math.min(eh*Math.pow(2,p.current),th);p.current++,v.current=window.setTimeout(()=>{H()},te)}},D.onerror=()=>{D.close()}}catch{T.current=!1;const D=Math.min(eh*Math.pow(2,p.current),th);p.current++,v.current=window.setTimeout(()=>{H()},D)}},[i,r,le,I]);f.useEffect(()=>{w.current=H},[H]);const J=f.useCallback(()=>{if(!o.current||S.current)return;const X=new Vy({theme:Yb,fontFamily:"JetBrains Mono, Consolas, Monaco, monospace",fontSize:14,cursorBlink:!0,cursorStyle:"block",allowProposedApi:!0,scrollback:1e4}),Y=new Xy;X.loadAddon(Y),X.open(o.current),h.current=X,x.current=Y,S.current=!0,X.onData(g=>{if(E.current){L(!1),W(null),w.current?.();return}const D={type:"input",data:K(g)};Q(D)}),X.onResize(({cols:g,rows:D})=>{le(g,D)})},[K,Q,le]);return f.useEffect(()=>{if(!d)return;const X=()=>{P()};return window.addEventListener("resize",X),()=>{window.removeEventListener("resize",X)}},[d,P]),f.useEffect(()=>{if(!d){v.current&&(clearTimeout(v.current),v.current=null);return}S.current||J();let X,Y;const g=()=>{X=requestAnimationFrame(()=>{Y=requestAnimationFrame(()=>{(!y.current||y.current.readyState!==WebSocket.OPEN)&&w.current?.()})})},D=window.setTimeout(g,50);return()=>{clearTimeout(D),cancelAnimationFrame(X),cancelAnimationFrame(Y)}},[d,J]),f.useEffect(()=>{if(d&&h.current){let X,Y;const g=()=>{X=requestAnimationFrame(()=>{Y=requestAnimationFrame(()=>{h.current&&x.current&&(P(),h.current.refresh(0,h.current.rows-1),h.current.focus())})})},D=window.setTimeout(g,16);return()=>{clearTimeout(D),cancelAnimationFrame(X),cancelAnimationFrame(Y)}}},[d,P]),f.useEffect(()=>()=>{v.current&&clearTimeout(v.current),y.current&&y.current.close(),h.current&&h.current.dispose(),S.current=!1},[]),f.useEffect(()=>{if(d&&S.current){if(O.current===null&&U.current===null){O.current=i,U.current=r;return}if(O.current===i&&U.current===r)return;O.current=i,U.current=r,h.current&&(h.current.clear(),h.current.write("\x1B[H")),B.current=!0,y.current&&(y.current.close(),y.current=null),T.current=!1,L(!1),W(null),p.current=0,w.current?.()}},[i,r,d]),n.jsxs("div",{className:"relative h-full w-full bg-zinc-950",children:[n.jsxs("div",{className:"absolute top-2 right-2 z-10 flex items-center gap-2",children:[n.jsx("div",{className:`w-2 h-2 rounded-full ${_?"bg-green-500":"bg-destructive"}`,title:_?"Connected":"Disconnected"}),!_&&!N&&n.jsx("span",{className:"text-xs font-mono text-muted-foreground",children:"Connecting..."}),N&&$!==null&&n.jsxs("span",{className:"text-xs font-mono text-yellow-500",children:["Exit: ",$]})]}),n.jsx("div",{ref:o,className:"h-full w-full p-2",style:{minHeight:"100px"},onClick:()=>{h.current?.focus()}})]})}function Xb({terminals:i,activeTerminalId:r,onSelect:d,onCreate:o,onRename:h,onClose:x}){const[y,v]=f.useState(null),[p,S]=f.useState(""),[T,E]=f.useState({visible:!1,x:0,y:0,terminalId:null}),B=f.useRef(null),w=f.useRef(null);f.useEffect(()=>{y&&B.current&&(B.current.focus(),B.current.select())},[y]),f.useEffect(()=>{const K=I=>{w.current&&!w.current.contains(I.target)&&E(Q=>({...Q,visible:!1}))};if(T.visible)return document.addEventListener("mousedown",K),()=>document.removeEventListener("mousedown",K)},[T.visible]);const O=f.useCallback(K=>{v(K.id),S(K.name),E(I=>({...I,visible:!1}))},[]),U=f.useCallback(()=>{y&&p.trim()&&h(y,p.trim()),v(null),S("")},[y,p,h]),z=f.useCallback(()=>{v(null),S("")},[]),_=f.useCallback(K=>{ys(K,!1)?(K.preventDefault(),U()):K.key==="Escape"&&(K.preventDefault(),z())},[U,z]),b=f.useCallback(K=>{O(K)},[O]),N=f.useCallback((K,I)=>{K.preventDefault(),E({visible:!0,x:K.clientX,y:K.clientY,terminalId:I})},[]),L=f.useCallback(()=>{if(T.terminalId){const K=i.find(I=>I.id===T.terminalId);K&&O(K)}},[T.terminalId,i,O]),$=f.useCallback(()=>{T.terminalId&&x(T.terminalId),E(K=>({...K,visible:!1}))},[T.terminalId,x]),W=f.useCallback((K,I)=>{K.stopPropagation(),x(I)},[x]);return n.jsxs("div",{className:"flex items-center gap-1 px-2 py-1 bg-zinc-900 border-b border-border overflow-x-auto",children:[i.map(K=>n.jsxs("div",{className:`
|
|
62
62
|
group flex items-center gap-1 px-3 py-1 rounded cursor-pointer
|
|
63
63
|
transition-colors duration-100 select-none min-w-0
|
|
64
|
-
${r===
|
|
65
|
-
`,onClick:()=>d(
|
|
64
|
+
${r===K.id?"bg-primary text-primary-foreground":"bg-zinc-800 text-zinc-300 hover:bg-zinc-700"}
|
|
65
|
+
`,onClick:()=>d(K.id),onDoubleClick:()=>b(K),onContextMenu:I=>N(I,K.id),children:[y===K.id?n.jsx(lt,{ref:B,type:"text",value:p,onChange:I=>S(I.target.value),onBlur:U,onKeyDown:_,className:"h-6 px-1 py-0 text-sm font-mono w-24",onClick:I=>I.stopPropagation()}):n.jsx("span",{className:"text-sm font-mono truncate max-w-[120px]",children:K.name}),i.length>1&&n.jsx("button",{onClick:I=>W(I,K.id),className:`
|
|
66
66
|
p-0.5 rounded opacity-0 group-hover:opacity-100 transition-opacity
|
|
67
|
-
${r===
|
|
68
|
-
`,title:"Close terminal",children:n.jsx(nt,{className:"w-3 h-3"})})]},X.id)),n.jsx(F,{variant:"ghost",size:"icon",onClick:o,className:"h-8 w-8 bg-zinc-800 text-zinc-300 hover:bg-zinc-700",title:"New terminal",children:n.jsx(en,{className:"w-4 h-4"})}),T.visible&&n.jsxs("div",{ref:w,className:"fixed z-50 bg-popover border border-border rounded-md py-1 min-w-[120px] shadow-md",style:{left:T.x,top:T.y},children:[n.jsx("button",{onClick:L,className:"w-full px-3 py-1.5 text-left text-sm font-mono hover:bg-accent transition-colors",children:"Rename"}),i.length>1&&n.jsx("button",{onClick:J,className:"w-full px-3 py-1.5 text-left text-sm font-mono text-destructive hover:bg-destructive hover:text-destructive-foreground transition-colors",children:"Close"})]})]})}const ah=150,nh=600,Kb=288,lh="debug-panel-height",sh="debug-panel-tab";function Zb({logs:i,devLogs:r,isOpen:d,onToggle:o,onClear:h,onClearDevLogs:x,onHeightChange:y,projectName:v,activeTab:p,onTabChange:S}){const T=f.useRef(null),E=f.useRef(null),[B,w]=f.useState(!0),[O,U]=f.useState(!0),[z,_]=f.useState(!1),[b,N]=f.useState(()=>{const ne=localStorage.getItem(lh);return ne?Math.min(Math.max(parseInt(ne,10),ah),nh):Kb}),[L,J]=f.useState(()=>localStorage.getItem(sh)||"agent"),[W,X]=f.useState([]),[I,Q]=f.useState(null),[le,P]=f.useState(!1),H=p??L,$=ne=>{J(ne),localStorage.setItem(sh,ne),S?.(ne)},Z=f.useCallback(async()=>{if(v){P(!0);try{const ne=await A0(v);X(ne),ne.length>0&&(!I||!ne.find(de=>de.id===I))&&Q(ne[0].id)}catch(ne){console.error("Failed to fetch terminals:",ne)}finally{P(!1)}}},[v,I]),Y=f.useCallback(async()=>{if(v)try{const ne=await D0(v);X(de=>[...de,ne]),Q(ne.id)}catch(ne){console.error("Failed to create terminal:",ne)}},[v]),g=f.useCallback(async(ne,de)=>{if(v)try{const Be=await _0(v,ne,de);X(Ct=>Ct.map(Kt=>Kt.id===ne?Be:Kt))}catch(Be){console.error("Failed to rename terminal:",Be)}},[v]),D=f.useCallback(async ne=>{if(!(!v||W.length<=1))try{if(await M0(v,ne),X(de=>de.filter(Be=>Be.id!==ne)),I===ne){const de=W.filter(Be=>Be.id!==ne);de.length>0&&Q(de[0].id)}}catch(de){console.error("Failed to close terminal:",de)}},[v,W,I]);f.useEffect(()=>{v?Z():(X([]),Q(null))},[v]),f.useEffect(()=>{B&&T.current&&d&&H==="agent"&&(T.current.scrollTop=T.current.scrollHeight)},[i,B,d,H]),f.useEffect(()=>{O&&E.current&&d&&H==="devserver"&&(E.current.scrollTop=E.current.scrollHeight)},[r,O,d,H]),f.useEffect(()=>{y&&d&&y(b)},[b,d,y]);const ee=f.useCallback(ne=>{const de=window.innerHeight-ne.clientY,Be=Math.min(Math.max(de,ah),nh);N(Be)},[]),te=f.useCallback(()=>{_(!1),localStorage.setItem(lh,b.toString())},[b]);f.useEffect(()=>(z&&(document.addEventListener("mousemove",ee),document.addEventListener("mouseup",te),document.body.style.cursor="ns-resize",document.body.style.userSelect="none"),()=>{document.removeEventListener("mousemove",ee),document.removeEventListener("mouseup",te),document.body.style.cursor="",document.body.style.userSelect=""}),[z,ee,te]);const fe=ne=>{ne.preventDefault(),ne.stopPropagation(),_(!0)},ue=ne=>{const de=ne.currentTarget,Be=de.scrollHeight-de.scrollTop<=de.clientHeight+50;w(Be)},ae=ne=>{const de=ne.currentTarget,Be=de.scrollHeight-de.scrollTop<=de.clientHeight+50;U(Be)},ie=()=>{H==="agent"?h():H==="devserver"&&x()},Ue=()=>H==="agent"?i.length:H==="devserver"?r.length:0,ot=()=>H==="agent"?!B:H==="devserver"?!O:!1,ht=ne=>{const de=ne.toLowerCase();return de.includes("error")||de.includes("exception")||de.includes("traceback")?"error":de.includes("warn")||de.includes("warning")?"warn":de.includes("debug")?"debug":"info"},ia=ne=>{switch(ne){case"error":return"text-red-500";case"warn":return"text-yellow-500";case"debug":return"text-blue-400";default:return"text-foreground"}},ca=ne=>{try{return new Date(ne).toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return""}};return n.jsxs("div",{className:`fixed bottom-0 left-0 right-0 z-40 ${z?"":"transition-all duration-200"}`,style:{height:d?b:40},children:[d&&n.jsx("div",{className:"absolute top-0 left-0 right-0 h-2 cursor-ns-resize group flex items-center justify-center -translate-y-1/2 z-50",onMouseDown:fe,children:n.jsx("div",{className:"w-16 h-1.5 bg-border rounded-full group-hover:bg-muted-foreground transition-colors flex items-center justify-center",children:n.jsx(Lp,{size:12,className:"text-muted-foreground group-hover:text-foreground"})})}),n.jsxs("div",{className:"flex items-center justify-between h-10 px-4 bg-muted border-t border-border",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs("button",{onClick:o,className:"flex items-center gap-2 hover:bg-accent px-2 py-1 rounded transition-colors cursor-pointer",children:[n.jsx(vu,{size:16,className:"text-green-500"}),n.jsx("span",{className:"font-mono text-sm text-foreground font-bold",children:"Debug"}),n.jsx(Me,{variant:"secondary",className:"text-xs font-mono",title:"Toggle debug panel",children:"D"})]}),d&&n.jsxs("div",{className:"flex items-center gap-1 ml-4",children:[n.jsxs(F,{variant:H==="agent"?"secondary":"ghost",size:"sm",onClick:ne=>{ne.stopPropagation(),$("agent")},className:"h-7 text-xs font-mono gap-1.5",children:[n.jsx(Gp,{size:12}),"Agent",i.length>0&&n.jsx(Me,{variant:"default",className:"h-4 px-1.5 text-[10px]",children:i.length})]}),n.jsxs(F,{variant:H==="devserver"?"secondary":"ghost",size:"sm",onClick:ne=>{ne.stopPropagation(),$("devserver")},className:"h-7 text-xs font-mono gap-1.5",children:[n.jsx(Qp,{size:12}),"Dev Server",r.length>0&&n.jsx(Me,{variant:"default",className:"h-4 px-1.5 text-[10px]",children:r.length})]}),n.jsxs(F,{variant:H==="terminal"?"secondary":"ghost",size:"sm",onClick:ne=>{ne.stopPropagation(),$("terminal")},className:"h-7 text-xs font-mono gap-1.5",children:[n.jsx(vu,{size:12}),"Terminal",n.jsx(Me,{variant:"outline",className:"h-4 px-1.5 text-[10px]",title:"Toggle terminal",children:"T"})]})]}),d&&H!=="terminal"&&n.jsxs(n.Fragment,{children:[Ue()>0&&n.jsx(Me,{variant:"secondary",className:"ml-2 font-mono",children:Ue()}),ot()&&n.jsx(Me,{variant:"default",className:"bg-yellow-500 text-yellow-950",children:"Paused"})]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[d&&H!=="terminal"&&n.jsx(F,{variant:"ghost",size:"icon",onClick:ne=>{ne.stopPropagation(),ie()},className:"h-7 w-7",title:"Clear logs",children:n.jsx(tn,{size:14,className:"text-muted-foreground"})}),n.jsx("div",{className:"p-1",children:d?n.jsx(hs,{size:16,className:"text-muted-foreground"}):n.jsx(Ki,{size:16,className:"text-muted-foreground"})})]})]}),d&&n.jsxs("div",{className:"h-[calc(100%-2.5rem)] bg-card",children:[H==="agent"&&n.jsx("div",{ref:T,onScroll:ue,className:"h-full overflow-y-auto p-2 font-mono text-sm",children:i.length===0?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:"No logs yet. Start the agent to see output."}):n.jsx("div",{className:"space-y-0.5",children:i.map((ne,de)=>{const Be=ht(ne.line),Ct=ia(Be),Kt=ca(ne.timestamp);return n.jsxs("div",{className:"flex gap-2 hover:bg-muted px-1 py-0.5 rounded",children:[n.jsx("span",{className:"text-muted-foreground select-none shrink-0",children:Kt}),n.jsx("span",{className:`${Ct} whitespace-pre-wrap break-all`,children:ne.line})]},`${ne.timestamp}-${de}`)})})}),H==="devserver"&&n.jsx("div",{ref:E,onScroll:ae,className:"h-full overflow-y-auto p-2 font-mono text-sm",children:r.length===0?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:"No dev server logs yet."}):n.jsx("div",{className:"space-y-0.5",children:r.map((ne,de)=>{const Be=ht(ne.line),Ct=ia(Be),Kt=ca(ne.timestamp);return n.jsxs("div",{className:"flex gap-2 hover:bg-muted px-1 py-0.5 rounded",children:[n.jsx("span",{className:"text-muted-foreground select-none shrink-0",children:Kt}),n.jsx("span",{className:`${Ct} whitespace-pre-wrap break-all`,children:ne.line})]},`${ne.timestamp}-${de}`)})})}),H==="terminal"&&n.jsxs("div",{className:"h-full flex flex-col",children:[W.length>0&&n.jsx(Xb,{terminals:W,activeTerminalId:I,onSelect:Q,onCreate:Y,onRename:g,onClose:D}),n.jsx("div",{className:"flex-1 min-h-0 relative",children:le?n.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground font-mono text-sm",children:"Loading terminals..."}):W.length===0?n.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground font-mono text-sm",children:"No terminal available"}):W.map(ne=>{const de=ne.id===I;return n.jsx("div",{className:"absolute inset-0",style:{zIndex:de?10:1,transform:de?"none":"translateX(-200%)",pointerEvents:de?"auto":"none"},children:n.jsx(Vb,{projectName:v,terminalId:ne.id,isActive:H==="terminal"&&de})},ne.id)})})]})]})]})}function Fb(i){switch(i){case"idle":return"Standing by...";case"thinking":return"Pondering...";case"working":return"Coding away...";case"testing":return"Checking work...";case"success":return"Nailed it!";case"error":return"Trying plan B...";case"struggling":return"Being persistent...";default:return"Busy..."}}function Jb(i){switch(i){case"success":return"text-primary";case"error":return"text-yellow-600";case"struggling":return"text-orange-500";case"working":case"testing":return"text-primary";case"thinking":return"text-yellow-600";default:return"text-muted-foreground"}}function qh(i){return i==="testing"?{label:"TEST",className:"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-300",icon:yh}:{label:"CODE",className:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300",icon:vh}}function $b({agent:i,onShowLogs:r}){const d=["thinking","working","testing"].includes(i.state),o=i.logs&&i.logs.length>0,h=qh(i.agentType||"coding"),x=h.icon;return n.jsx(Oe,{className:`min-w-[180px] max-w-[220px] py-3 ${d?"animate-pulse":""}`,children:n.jsxs(Ge,{className:"p-3 space-y-2",children:[n.jsx("div",{className:"flex justify-end",children:n.jsxs(Me,{variant:"outline",className:`text-[10px] ${h.className}`,children:[n.jsx(x,{size:10}),h.label]})}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(gl,{name:i.agentName,state:i.state,size:"sm"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-semibold text-sm truncate",children:i.agentName}),n.jsx("div",{className:`text-xs ${Jb(i.state)}`,children:Fb(i.state)})]}),o&&r&&n.jsx(F,{variant:"ghost",size:"icon-xs",onClick:()=>r(i.agentIndex),title:`View logs (${i.logs?.length||0} entries)`,children:n.jsx(Yp,{size:14,className:"text-muted-foreground"})})]}),n.jsx("div",{children:i.featureIds&&i.featureIds.length>1?n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"text-xs text-muted-foreground mb-0.5",children:["Batch: ",i.featureIds.map(y=>`#${y}`).join(", ")]}),n.jsxs("div",{className:"text-sm font-bold truncate",children:["Active: Feature #",i.featureId]})]}):n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"text-xs text-muted-foreground mb-0.5",children:["Feature #",i.featureId]}),n.jsx("div",{className:"text-sm font-medium truncate",title:i.featureName,children:i.featureName})]})}),i.thought&&n.jsx("div",{className:"pt-2 border-t border-border/50",children:n.jsxs("div",{className:"flex items-start gap-1.5",children:[n.jsx(Tu,{size:14,className:"text-primary shrink-0 mt-0.5"}),n.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2 italic",title:i.thought,children:i.thought})]})})]})})}function Wb({agent:i,logs:r,onClose:d}){const[o,h]=f.useState(!1),x=qh(i.agentType||"coding"),y=x.icon,v=async()=>{const S=r.map(T=>`[${T.timestamp}] ${T.line}`).join(`
|
|
69
|
-
`);await navigator.clipboard.writeText(S),h(!0),setTimeout(()=>h(!1),2e3)},p=S=>{switch(S){case"error":return"text-destructive";case"state_change":return"text-primary";default:return"text-foreground"}};return Nh.createPortal(n.jsx("div",{className:"fixed inset-0 flex items-center justify-center p-4 bg-black/50",style:{zIndex:9999},onClick:S=>{S.target===S.currentTarget&&d()},children:n.jsxs(Oe,{className:"w-full max-w-4xl max-h-[80vh] flex flex-col py-0",children:[n.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(
|
|
67
|
+
${r===K.id?"hover:bg-black/20":"hover:bg-white/20"}
|
|
68
|
+
`,title:"Close terminal",children:n.jsx(nt,{className:"w-3 h-3"})})]},K.id)),n.jsx(F,{variant:"ghost",size:"icon",onClick:o,className:"h-8 w-8 bg-zinc-800 text-zinc-300 hover:bg-zinc-700",title:"New terminal",children:n.jsx(tn,{className:"w-4 h-4"})}),T.visible&&n.jsxs("div",{ref:w,className:"fixed z-50 bg-popover border border-border rounded-md py-1 min-w-[120px] shadow-md",style:{left:T.x,top:T.y},children:[n.jsx("button",{onClick:L,className:"w-full px-3 py-1.5 text-left text-sm font-mono hover:bg-accent transition-colors",children:"Rename"}),i.length>1&&n.jsx("button",{onClick:$,className:"w-full px-3 py-1.5 text-left text-sm font-mono text-destructive hover:bg-destructive hover:text-destructive-foreground transition-colors",children:"Close"})]})]})}const ah=150,nh=600,Kb=288,lh="debug-panel-height",sh="debug-panel-tab";function Zb({logs:i,devLogs:r,isOpen:d,onToggle:o,onClear:h,onClearDevLogs:x,onHeightChange:y,projectName:v,activeTab:p,onTabChange:S}){const T=f.useRef(null),E=f.useRef(null),[B,w]=f.useState(!0),[O,U]=f.useState(!0),[z,_]=f.useState(!1),[b,N]=f.useState(()=>{const ne=localStorage.getItem(lh);return ne?Math.min(Math.max(parseInt(ne,10),ah),nh):Kb}),[L,$]=f.useState(()=>localStorage.getItem(sh)||"agent"),[W,K]=f.useState([]),[I,Q]=f.useState(null),[le,P]=f.useState(!1),H=p??L,J=ne=>{$(ne),localStorage.setItem(sh,ne),S?.(ne)},X=f.useCallback(async()=>{if(v){P(!0);try{const ne=await A0(v);K(ne),ne.length>0&&(!I||!ne.find(de=>de.id===I))&&Q(ne[0].id)}catch(ne){console.error("Failed to fetch terminals:",ne)}finally{P(!1)}}},[v,I]),Y=f.useCallback(async()=>{if(v)try{const ne=await D0(v);K(de=>[...de,ne]),Q(ne.id)}catch(ne){console.error("Failed to create terminal:",ne)}},[v]),g=f.useCallback(async(ne,de)=>{if(v)try{const Be=await _0(v,ne,de);K(Ct=>Ct.map(Kt=>Kt.id===ne?Be:Kt))}catch(Be){console.error("Failed to rename terminal:",Be)}},[v]),D=f.useCallback(async ne=>{if(!(!v||W.length<=1))try{if(await M0(v,ne),K(de=>de.filter(Be=>Be.id!==ne)),I===ne){const de=W.filter(Be=>Be.id!==ne);de.length>0&&Q(de[0].id)}}catch(de){console.error("Failed to close terminal:",de)}},[v,W,I]);f.useEffect(()=>{v?X():(K([]),Q(null))},[v]),f.useEffect(()=>{B&&T.current&&d&&H==="agent"&&(T.current.scrollTop=T.current.scrollHeight)},[i,B,d,H]),f.useEffect(()=>{O&&E.current&&d&&H==="devserver"&&(E.current.scrollTop=E.current.scrollHeight)},[r,O,d,H]),f.useEffect(()=>{y&&d&&y(b)},[b,d,y]);const ee=f.useCallback(ne=>{const de=window.innerHeight-ne.clientY,Be=Math.min(Math.max(de,ah),nh);N(Be)},[]),te=f.useCallback(()=>{_(!1),localStorage.setItem(lh,b.toString())},[b]);f.useEffect(()=>(z&&(document.addEventListener("mousemove",ee),document.addEventListener("mouseup",te),document.body.style.cursor="ns-resize",document.body.style.userSelect="none"),()=>{document.removeEventListener("mousemove",ee),document.removeEventListener("mouseup",te),document.body.style.cursor="",document.body.style.userSelect=""}),[z,ee,te]);const fe=ne=>{ne.preventDefault(),ne.stopPropagation(),_(!0)},ue=ne=>{const de=ne.currentTarget,Be=de.scrollHeight-de.scrollTop<=de.clientHeight+50;w(Be)},ae=ne=>{const de=ne.currentTarget,Be=de.scrollHeight-de.scrollTop<=de.clientHeight+50;U(Be)},ie=()=>{H==="agent"?h():H==="devserver"&&x()},Ue=()=>H==="agent"?i.length:H==="devserver"?r.length:0,ot=()=>H==="agent"?!B:H==="devserver"?!O:!1,ht=ne=>{const de=ne.toLowerCase();return de.includes("error")||de.includes("exception")||de.includes("traceback")?"error":de.includes("warn")||de.includes("warning")?"warn":de.includes("debug")?"debug":"info"},ia=ne=>{switch(ne){case"error":return"text-red-500";case"warn":return"text-yellow-500";case"debug":return"text-blue-400";default:return"text-foreground"}},ca=ne=>{try{return new Date(ne).toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return""}};return n.jsxs("div",{className:`fixed bottom-0 left-0 right-0 z-40 ${z?"":"transition-all duration-200"}`,style:{height:d?b:40},children:[d&&n.jsx("div",{className:"absolute top-0 left-0 right-0 h-2 cursor-ns-resize group flex items-center justify-center -translate-y-1/2 z-50",onMouseDown:fe,children:n.jsx("div",{className:"w-16 h-1.5 bg-border rounded-full group-hover:bg-muted-foreground transition-colors flex items-center justify-center",children:n.jsx(Lp,{size:12,className:"text-muted-foreground group-hover:text-foreground"})})}),n.jsxs("div",{className:"flex items-center justify-between h-10 px-4 bg-muted border-t border-border",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs("button",{onClick:o,className:"flex items-center gap-2 hover:bg-accent px-2 py-1 rounded transition-colors cursor-pointer",children:[n.jsx(vu,{size:16,className:"text-green-500"}),n.jsx("span",{className:"font-mono text-sm text-foreground font-bold",children:"Debug"}),n.jsx(Me,{variant:"secondary",className:"text-xs font-mono",title:"Toggle debug panel",children:"D"})]}),d&&n.jsxs("div",{className:"flex items-center gap-1 ml-4",children:[n.jsxs(F,{variant:H==="agent"?"secondary":"ghost",size:"sm",onClick:ne=>{ne.stopPropagation(),J("agent")},className:"h-7 text-xs font-mono gap-1.5",children:[n.jsx(Gp,{size:12}),"Agent",i.length>0&&n.jsx(Me,{variant:"default",className:"h-4 px-1.5 text-[10px]",children:i.length})]}),n.jsxs(F,{variant:H==="devserver"?"secondary":"ghost",size:"sm",onClick:ne=>{ne.stopPropagation(),J("devserver")},className:"h-7 text-xs font-mono gap-1.5",children:[n.jsx(Qp,{size:12}),"Dev Server",r.length>0&&n.jsx(Me,{variant:"default",className:"h-4 px-1.5 text-[10px]",children:r.length})]}),n.jsxs(F,{variant:H==="terminal"?"secondary":"ghost",size:"sm",onClick:ne=>{ne.stopPropagation(),J("terminal")},className:"h-7 text-xs font-mono gap-1.5",children:[n.jsx(vu,{size:12}),"Terminal",n.jsx(Me,{variant:"outline",className:"h-4 px-1.5 text-[10px]",title:"Toggle terminal",children:"T"})]})]}),d&&H!=="terminal"&&n.jsxs(n.Fragment,{children:[Ue()>0&&n.jsx(Me,{variant:"secondary",className:"ml-2 font-mono",children:Ue()}),ot()&&n.jsx(Me,{variant:"default",className:"bg-yellow-500 text-yellow-950",children:"Paused"})]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[d&&H!=="terminal"&&n.jsx(F,{variant:"ghost",size:"icon",onClick:ne=>{ne.stopPropagation(),ie()},className:"h-7 w-7",title:"Clear logs",children:n.jsx(an,{size:14,className:"text-muted-foreground"})}),n.jsx("div",{className:"p-1",children:d?n.jsx(xs,{size:16,className:"text-muted-foreground"}):n.jsx(Ki,{size:16,className:"text-muted-foreground"})})]})]}),d&&n.jsxs("div",{className:"h-[calc(100%-2.5rem)] bg-card",children:[H==="agent"&&n.jsx("div",{ref:T,onScroll:ue,className:"h-full overflow-y-auto p-2 font-mono text-sm",children:i.length===0?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:"No logs yet. Start the agent to see output."}):n.jsx("div",{className:"space-y-0.5",children:i.map((ne,de)=>{const Be=ht(ne.line),Ct=ia(Be),Kt=ca(ne.timestamp);return n.jsxs("div",{className:"flex gap-2 hover:bg-muted px-1 py-0.5 rounded",children:[n.jsx("span",{className:"text-muted-foreground select-none shrink-0",children:Kt}),n.jsx("span",{className:`${Ct} whitespace-pre-wrap break-all`,children:ne.line})]},`${ne.timestamp}-${de}`)})})}),H==="devserver"&&n.jsx("div",{ref:E,onScroll:ae,className:"h-full overflow-y-auto p-2 font-mono text-sm",children:r.length===0?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:"No dev server logs yet."}):n.jsx("div",{className:"space-y-0.5",children:r.map((ne,de)=>{const Be=ht(ne.line),Ct=ia(Be),Kt=ca(ne.timestamp);return n.jsxs("div",{className:"flex gap-2 hover:bg-muted px-1 py-0.5 rounded",children:[n.jsx("span",{className:"text-muted-foreground select-none shrink-0",children:Kt}),n.jsx("span",{className:`${Ct} whitespace-pre-wrap break-all`,children:ne.line})]},`${ne.timestamp}-${de}`)})})}),H==="terminal"&&n.jsxs("div",{className:"h-full flex flex-col",children:[W.length>0&&n.jsx(Xb,{terminals:W,activeTerminalId:I,onSelect:Q,onCreate:Y,onRename:g,onClose:D}),n.jsx("div",{className:"flex-1 min-h-0 relative",children:le?n.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground font-mono text-sm",children:"Loading terminals..."}):W.length===0?n.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground font-mono text-sm",children:"No terminal available"}):W.map(ne=>{const de=ne.id===I;return n.jsx("div",{className:"absolute inset-0",style:{zIndex:de?10:1,transform:de?"none":"translateX(-200%)",pointerEvents:de?"auto":"none"},children:n.jsx(Vb,{projectName:v,terminalId:ne.id,isActive:H==="terminal"&&de})},ne.id)})})]})]})]})}function Fb(i){switch(i){case"idle":return"Standing by...";case"thinking":return"Pondering...";case"working":return"Coding away...";case"testing":return"Checking work...";case"success":return"Nailed it!";case"error":return"Trying plan B...";case"struggling":return"Being persistent...";default:return"Busy..."}}function $b(i){switch(i){case"success":return"text-primary";case"error":return"text-yellow-600";case"struggling":return"text-orange-500";case"working":case"testing":return"text-primary";case"thinking":return"text-yellow-600";default:return"text-muted-foreground"}}function qh(i){return i==="testing"?{label:"TEST",className:"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-300",icon:yh}:{label:"CODE",className:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300",icon:vh}}function Jb({agent:i,onShowLogs:r}){const d=["thinking","working","testing"].includes(i.state),o=i.logs&&i.logs.length>0,h=qh(i.agentType||"coding"),x=h.icon;return n.jsx(Oe,{className:`min-w-[180px] max-w-[220px] py-3 ${d?"animate-pulse":""}`,children:n.jsxs(Ge,{className:"p-3 space-y-2",children:[n.jsx("div",{className:"flex justify-end",children:n.jsxs(Me,{variant:"outline",className:`text-[10px] ${h.className}`,children:[n.jsx(x,{size:10}),h.label]})}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(pl,{name:i.agentName,state:i.state,size:"sm"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-semibold text-sm truncate",children:i.agentName}),n.jsx("div",{className:`text-xs ${$b(i.state)}`,children:Fb(i.state)})]}),o&&r&&n.jsx(F,{variant:"ghost",size:"icon-xs",onClick:()=>r(i.agentIndex),title:`View logs (${i.logs?.length||0} entries)`,children:n.jsx(Yp,{size:14,className:"text-muted-foreground"})})]}),n.jsx("div",{children:i.featureIds&&i.featureIds.length>1?n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"text-xs text-muted-foreground mb-0.5",children:["Batch: ",i.featureIds.map(y=>`#${y}`).join(", ")]}),n.jsxs("div",{className:"text-sm font-bold truncate",children:["Active: Feature #",i.featureId]})]}):n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"text-xs text-muted-foreground mb-0.5",children:["Feature #",i.featureId]}),n.jsx("div",{className:"text-sm font-medium truncate",title:i.featureName,children:i.featureName})]})}),i.thought&&n.jsx("div",{className:"pt-2 border-t border-border/50",children:n.jsxs("div",{className:"flex items-start gap-1.5",children:[n.jsx(Tu,{size:14,className:"text-primary shrink-0 mt-0.5"}),n.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2 italic",title:i.thought,children:i.thought})]})})]})})}function Wb({agent:i,logs:r,onClose:d}){const[o,h]=f.useState(!1),x=qh(i.agentType||"coding"),y=x.icon,v=async()=>{const S=r.map(T=>`[${T.timestamp}] ${T.line}`).join(`
|
|
69
|
+
`);await navigator.clipboard.writeText(S),h(!0),setTimeout(()=>h(!1),2e3)},p=S=>{switch(S){case"error":return"text-destructive";case"state_change":return"text-primary";default:return"text-foreground"}};return Nh.createPortal(n.jsx("div",{className:"fixed inset-0 flex items-center justify-center p-4 bg-black/50",style:{zIndex:9999},onClick:S=>{S.target===S.currentTarget&&d()},children:n.jsxs(Oe,{className:"w-full max-w-4xl max-h-[80vh] flex flex-col py-0",children:[n.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(pl,{name:i.agentName,state:i.state,size:"sm"}),n.jsxs("div",{children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs("h2",{className:"font-semibold text-lg",children:[i.agentName," Logs"]}),n.jsxs(Me,{variant:"outline",className:`text-[10px] ${x.className}`,children:[n.jsx(y,{size:10}),x.label]})]}),n.jsx("p",{className:"text-sm text-muted-foreground",children:i.featureIds&&i.featureIds.length>1?`Batch: ${i.featureIds.map(S=>`#${S}`).join(", ")}`:`Feature #${i.featureId}: ${i.featureName}`})]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs(F,{variant:"outline",size:"sm",onClick:v,children:[o?n.jsx(sa,{size:14}):n.jsx(Vp,{size:14}),o?"Copied!":"Copy"]}),n.jsx(F,{variant:"ghost",size:"icon-sm",onClick:d,children:n.jsx(nt,{size:20})})]})]}),n.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 bg-muted/50",children:n.jsx("div",{className:"font-mono text-xs space-y-1",children:r.length===0?n.jsx("p",{className:"text-muted-foreground italic",children:"No logs available"}):r.map((S,T)=>n.jsxs("div",{className:`${p(S.type)} whitespace-pre-wrap break-all`,children:[n.jsxs("span",{className:"text-muted-foreground",children:["[",new Date(S.timestamp).toLocaleTimeString(),"]"]})," ",S.line]},T))})}),n.jsxs("div",{className:"p-3 border-t text-xs text-muted-foreground",children:[r.length," log entries"]})]})}),document.body)}function Ib(i){const r=new Date(i),o=new Date().getTime()-r.getTime(),h=Math.floor(o/1e3);return h<5?"just now":h<60?`${h}s ago`:h<3600?`${Math.floor(h/60)}m ago`:r.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function Pb({activities:i,maxItems:r=5,showHeader:d=!0}){const o=i.slice(0,r);return o.length===0?null:n.jsxs("div",{children:[d&&n.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[n.jsx(bh,{size:14,className:"text-muted-foreground"}),n.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Recent Activity"})]}),n.jsx("div",{className:"space-y-2",children:o.map(h=>n.jsx(Oe,{className:"py-1.5",children:n.jsxs(Ge,{className:"p-2 flex items-start gap-2",children:[n.jsx(pl,{name:h.agentName,state:"working",size:"sm"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"text-xs font-semibold",style:{color:ej(h.agentName)},children:h.agentName}),n.jsxs("span",{className:"text-[10px] text-muted-foreground",children:["#",h.featureId]}),n.jsx("span",{className:"text-[10px] text-muted-foreground ml-auto",children:Ib(h.timestamp)})]}),n.jsx("p",{className:"text-xs text-muted-foreground truncate",title:h.thought,children:h.thought})]})]})},`${h.featureId}-${h.timestamp}-${h.thought.slice(0,20)}`))})]})}function ej(i){return{Spark:"#3B82F6",Fizz:"#F97316",Octo:"#8B5CF6",Hoot:"#22C55E",Buzz:"#EAB308",Pixel:"#EC4899",Byte:"#06B6D4",Nova:"#F43F5E",Chip:"#84CC16",Bolt:"#FBBF24",Dash:"#14B8A6",Zap:"#A855F7",Gizmo:"#64748B",Turbo:"#EF4444",Blip:"#10B981",Neon:"#D946EF",Widget:"#6366F1",Zippy:"#F59E0B",Quirk:"#0EA5E9",Flux:"#7C3AED"}[i]||"#6B7280"}const tj={sm:{svg:32,font:"text-xs"},md:{svg:48,font:"text-sm"},lg:{svg:64,font:"text-base"}},et={primary:"#7C3AED",secondary:"#A78BFA",accent:"#EDE9FE",baton:"#FBBF24",gold:"#F59E0B"};function aj({size:i,state:r}){const d=r==="spawning"?"animate-conducting":r==="scheduling"?"animate-baton-tap":"";return n.jsxs("svg",{width:i,height:i,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"22",y:"54",width:"20",height:"6",rx:"2",fill:et.primary,opacity:"0.3"}),n.jsx("rect",{x:"18",y:"28",width:"28",height:"26",rx:"4",fill:et.primary}),n.jsx("rect",{x:"26",y:"32",width:"12",height:"18",fill:et.accent}),n.jsx("rect",{x:"30",y:"32",width:"4",height:"18",fill:et.secondary}),n.jsx("path",{d:"M27,30 L32,33 L37,30 L32,32 Z",fill:et.gold}),n.jsx("rect",{x:"16",y:"6",width:"32",height:"24",rx:"4",fill:et.secondary}),n.jsx("rect",{x:"14",y:"2",width:"36",height:"8",rx:"2",fill:et.primary}),n.jsx("rect",{x:"20",y:"0",width:"24",height:"4",rx:"2",fill:et.primary}),n.jsx("circle",{cx:"32",cy:"2",r:"3",fill:et.gold}),n.jsx("circle",{cx:"24",cy:"16",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"16",r:"4",fill:"white"}),n.jsx("circle",{cx:"25",cy:"16",r:"2",fill:et.primary}),n.jsx("circle",{cx:"41",cy:"16",r:"2",fill:et.primary}),n.jsx("path",{d:"M26,24 Q32,28 38,24",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"}),n.jsx("rect",{x:"8",y:"32",width:"10",height:"4",rx:"2",fill:et.primary}),n.jsx("rect",{x:"46",y:"28",width:"10",height:"4",rx:"2",fill:et.primary,className:d,style:{transformOrigin:"46px 30px"}}),n.jsx("circle",{cx:"56",cy:"30",r:"4",fill:et.secondary,className:d,style:{transformOrigin:"46px 30px"}}),n.jsxs("g",{className:d,style:{transformOrigin:"56px 30px"},children:[n.jsx("line",{x1:"56",y1:"26",x2:"62",y2:"10",stroke:et.baton,strokeWidth:"2",strokeLinecap:"round"}),n.jsx("circle",{cx:"62",cy:"10",r:"2",fill:et.gold})]}),(r==="spawning"||r==="monitoring")&&n.jsxs(n.Fragment,{children:[n.jsx("text",{x:"4",y:"20",fontSize:"8",fill:et.secondary,className:"animate-pulse",children:"♪"}),n.jsx("text",{x:"58",y:"48",fontSize:"8",fill:et.secondary,className:"animate-pulse",style:{animationDelay:"0.3s"},children:"♫"})]})]})}function nj(i){switch(i){case"idle":return"animate-bounce-gentle";case"initializing":return"animate-thinking";case"scheduling":return"animate-thinking";case"spawning":return"animate-working";case"monitoring":return"animate-bounce-gentle";case"draining":return"animate-thinking";case"paused":return"";case"complete":return"animate-celebrate";default:return""}}function lj(i){switch(i){case"initializing":return"shadow-[0_0_12px_rgba(124,58,237,0.4)]";case"scheduling":return"shadow-[0_0_10px_rgba(167,139,250,0.5)]";case"spawning":return"shadow-[0_0_16px_rgba(124,58,237,0.6)]";case"monitoring":return"shadow-[0_0_8px_rgba(167,139,250,0.4)]";case"draining":return"shadow-[0_0_10px_rgba(251,191,36,0.5)]";case"paused":return"";case"complete":return"shadow-[0_0_20px_rgba(112,224,0,0.6)]";default:return""}}function sj(i){switch(i){case"idle":return"waiting";case"initializing":return"initializing features";case"scheduling":return"selecting next features";case"spawning":return"spawning agents";case"monitoring":return"monitoring progress";case"draining":return"draining active agents";case"paused":return"paused";case"complete":return"all features complete";default:return i}}function ij({state:i,size:r="md"}){const{svg:d}=tj[r],h=`Orchestrator Maestro is ${sj(i)}`;return n.jsx("div",{className:"flex flex-col items-center gap-1",role:"status","aria-label":h,"aria-live":"polite",children:n.jsx("div",{className:`
|
|
70
70
|
rounded-full p-1 transition-all duration-300
|
|
71
71
|
${nj(i)}
|
|
72
72
|
${lj(i)}
|
|
73
|
-
`,style:{backgroundColor:et.accent},title:h,role:"img","aria-hidden":"true",children:n.jsx(aj,{size:d,state:i})})})}function cj(i){switch(i){case"idle":return"Standing by...";case"initializing":return"Setting up features...";case"scheduling":return"Planning next moves...";case"spawning":return"Deploying agents...";case"monitoring":return"Watching progress...";case"complete":return"Mission accomplished!";case"draining":return"Draining agents...";case"paused":return"Paused";default:return"Orchestrating..."}}function rj(i){switch(i){case"complete":return"text-primary";case"spawning":return"text-primary";case"scheduling":case"monitoring":return"text-primary";case"initializing":return"text-yellow-600 dark:text-yellow-400";case"draining":return"text-amber-600 dark:text-amber-400";case"paused":return"text-muted-foreground";default:return"text-muted-foreground"}}function uj(i){const r=new Date,d=new Date(i),o=r.getTime()-d.getTime(),h=Math.floor(o/1e3);if(h<5)return"just now";if(h<60)return`${h}s ago`;const x=Math.floor(h/60);return x<60?`${x}m ago`:`${Math.floor(x/60)}h ago`}function oj({status:i}){const[r,d]=f.useState(!1);return n.jsx(Oe,{className:"mb-4 bg-primary/10 border-primary/30 py-4",children:n.jsxs(Ge,{className:"p-4",children:[n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx(ij,{state:i.state,size:"md"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[n.jsx("span",{className:"font-semibold text-lg text-primary",children:"Maestro"}),n.jsx("span",{className:`text-sm font-medium ${rj(i.state)}`,children:cj(i.state)})]}),n.jsx("p",{className:"text-sm text-foreground mb-3 line-clamp-2",children:i.message}),n.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[n.jsxs(Me,{variant:"outline",className:"bg-blue-100 text-blue-700 border-blue-300 dark:bg-blue-900/30 dark:text-blue-300 dark:border-blue-700",children:[n.jsx(vh,{size:12}),"Coding: ",i.codingAgents]}),n.jsxs(Me,{variant:"outline",className:"bg-purple-100 text-purple-700 border-purple-300 dark:bg-purple-900/30 dark:text-purple-300 dark:border-purple-700",children:[n.jsx(yh,{size:12}),"Testing: ",i.testingAgents]}),n.jsxs(Me,{variant:"outline",className:"bg-green-100 text-green-700 border-green-300 dark:bg-green-900/30 dark:text-green-300 dark:border-green-700",children:[n.jsx(
|
|
73
|
+
`,style:{backgroundColor:et.accent},title:h,role:"img","aria-hidden":"true",children:n.jsx(aj,{size:d,state:i})})})}function cj(i){switch(i){case"idle":return"Standing by...";case"initializing":return"Setting up features...";case"scheduling":return"Planning next moves...";case"spawning":return"Deploying agents...";case"monitoring":return"Watching progress...";case"complete":return"Mission accomplished!";case"draining":return"Draining agents...";case"paused":return"Paused";default:return"Orchestrating..."}}function rj(i){switch(i){case"complete":return"text-primary";case"spawning":return"text-primary";case"scheduling":case"monitoring":return"text-primary";case"initializing":return"text-yellow-600 dark:text-yellow-400";case"draining":return"text-amber-600 dark:text-amber-400";case"paused":return"text-muted-foreground";default:return"text-muted-foreground"}}function uj(i){const r=new Date,d=new Date(i),o=r.getTime()-d.getTime(),h=Math.floor(o/1e3);if(h<5)return"just now";if(h<60)return`${h}s ago`;const x=Math.floor(h/60);return x<60?`${x}m ago`:`${Math.floor(x/60)}h ago`}function oj({status:i}){const[r,d]=f.useState(!1);return n.jsx(Oe,{className:"mb-4 bg-primary/10 border-primary/30 py-4",children:n.jsxs(Ge,{className:"p-4",children:[n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx(ij,{state:i.state,size:"md"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[n.jsx("span",{className:"font-semibold text-lg text-primary",children:"Maestro"}),n.jsx("span",{className:`text-sm font-medium ${rj(i.state)}`,children:cj(i.state)})]}),n.jsx("p",{className:"text-sm text-foreground mb-3 line-clamp-2",children:i.message}),n.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[n.jsxs(Me,{variant:"outline",className:"bg-blue-100 text-blue-700 border-blue-300 dark:bg-blue-900/30 dark:text-blue-300 dark:border-blue-700",children:[n.jsx(vh,{size:12}),"Coding: ",i.codingAgents]}),n.jsxs(Me,{variant:"outline",className:"bg-purple-100 text-purple-700 border-purple-300 dark:bg-purple-900/30 dark:text-purple-300 dark:border-purple-700",children:[n.jsx(yh,{size:12}),"Testing: ",i.testingAgents]}),n.jsxs(Me,{variant:"outline",className:"bg-green-100 text-green-700 border-green-300 dark:bg-green-900/30 dark:text-green-300 dark:border-green-700",children:[n.jsx(fl,{size:12}),"Ready: ",i.readyCount]}),i.blockedCount>0&&n.jsxs(Me,{variant:"outline",className:"bg-amber-100 text-amber-700 border-amber-300 dark:bg-amber-900/30 dark:text-amber-300 dark:border-amber-700",children:[n.jsx(Xp,{size:12}),"Blocked: ",i.blockedCount]})]})]}),i.recentEvents.length>0&&n.jsxs(F,{variant:"ghost",size:"sm",onClick:()=>d(!r),className:"text-primary hover:bg-primary/10",children:[n.jsx(Nn,{size:12}),"Activity",r?n.jsx(Ki,{size:14}):n.jsx(xs,{size:14})]})]}),r&&i.recentEvents.length>0&&n.jsx("div",{className:"mt-3 pt-3 border-t border-primary/20",children:n.jsx("div",{className:"space-y-1.5",children:i.recentEvents.map((o,h)=>n.jsxs("div",{className:"flex items-start gap-2 text-xs",children:[n.jsx("span",{className:"text-primary shrink-0 font-mono",children:uj(o.timestamp)}),n.jsx("span",{className:"text-foreground",children:o.message})]},`${o.timestamp}-${h}`))})})]})})}const ih="autoforge-activity-collapsed";function dj({agents:i,orchestratorStatus:r,recentActivity:d,isExpanded:o=!0,getAgentLogs:h}){const[x,y]=f.useState(o),[v,p]=f.useState(()=>{try{return localStorage.getItem(ih)==="true"}catch{return!1}}),[S,T]=f.useState(null),E=()=>{const B=!v;p(B);try{localStorage.setItem(ih,String(B))}catch{}};return!r&&i.length===0?null:n.jsxs(Oe,{className:"mb-6 overflow-hidden py-0",children:[n.jsxs("button",{onClick:()=>y(!x),className:"w-full flex items-center justify-between px-4 py-3 bg-primary hover:bg-primary/90 transition-colors",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Kp,{size:20,className:"text-primary-foreground"}),n.jsx("span",{className:"font-semibold text-primary-foreground uppercase tracking-wide",children:"Mission Control"}),n.jsx(Me,{variant:"secondary",className:"ml-2",children:i.length>0?`${i.length} ${i.length===1?"agent":"agents"} active`:r?.state==="initializing"?"Initializing":r?.state==="draining"?"Draining":r?.state==="paused"?"Paused":r?.state==="complete"?"Complete":"Orchestrating"})]}),x?n.jsx(Ki,{size:20,className:"text-primary-foreground"}):n.jsx(xs,{size:20,className:"text-primary-foreground"})]}),n.jsx("div",{className:`
|
|
74
74
|
transition-all duration-300 ease-out
|
|
75
75
|
${x?"max-h-[600px] opacity-100 overflow-y-auto":"max-h-0 opacity-0 overflow-hidden"}
|
|
76
|
-
`,children:n.jsxs(Ge,{className:"p-4",children:[r&&n.jsx(oj,{status:r}),i.length>0&&n.jsx("div",{className:"flex gap-4 overflow-x-auto pb-4",children:i.map(B=>n.jsx(
|
|
76
|
+
`,children:n.jsxs(Ge,{className:"p-4",children:[r&&n.jsx(oj,{status:r}),i.length>0&&n.jsx("div",{className:"flex gap-4 overflow-x-auto pb-4",children:i.map(B=>n.jsx(Jb,{agent:B,onShowLogs:w=>{const O=i.find(U=>U.agentIndex===w);O&&T(O)}},`agent-${B.agentIndex}`))}),d.length>0&&n.jsxs("div",{className:"mt-4 pt-4 border-t",children:[n.jsxs(F,{variant:"ghost",size:"sm",onClick:E,className:"gap-2 mb-2 h-auto p-1",children:[n.jsx(bh,{size:14,className:"text-muted-foreground"}),n.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Recent Activity"}),n.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",d.length,")"]}),v?n.jsx(xs,{size:14,className:"text-muted-foreground"}):n.jsx(Ki,{size:14,className:"text-muted-foreground"})]}),n.jsx("div",{className:`
|
|
77
77
|
transition-all duration-200 ease-out overflow-hidden
|
|
78
78
|
${v?"max-h-0 opacity-0":"max-h-[300px] opacity-100"}
|
|
79
79
|
`,children:n.jsx(Pb,{activities:d,maxItems:5,showHeader:!1})})]})]})}),S&&h&&n.jsx(Wb,{agent:S,logs:h(S.agentIndex),onClose:()=>T(null)})]})}function fj(i){return Array.from({length:i},(r,d)=>({id:d,x:Math.random()*100,delay:Math.random()*.5,duration:1+Math.random()*1,color:["#ff006e","#ffd60a","#70e000","#00b4d8","#8338ec"][Math.floor(Math.random()*5)],rotation:Math.random()*360}))}function mj({agentName:i,featureName:r,onComplete:d}){const[o,h]=f.useState(!0),[x]=f.useState(()=>fj(30)),y=f.useCallback(()=>{h(!1),setTimeout(()=>d?.(),300)},[d]);return f.useEffect(()=>{const v=setTimeout(y,3e3),p=S=>{S.key==="Escape"&&y()};return window.addEventListener("keydown",p),()=>{clearTimeout(v),window.removeEventListener("keydown",p)}},[y]),o?n.jsxs("div",{className:`
|
|
@@ -81,15 +81,15 @@ You choose the rest. Keep it simple. Should be 25 features.`;function Bh({projec
|
|
|
81
81
|
pointer-events-none
|
|
82
82
|
transition-opacity duration-300
|
|
83
83
|
${o?"opacity-100":"opacity-0"}
|
|
84
|
-
`,children:[n.jsx("div",{className:"absolute inset-0 overflow-hidden",children:x.map(v=>n.jsx("div",{className:"absolute w-3 h-3 animate-confetti",style:{left:`${v.x}%`,top:"-20px",backgroundColor:v.color,animationDelay:`${v.delay}s`,animationDuration:`${v.duration}s`,transform:`rotate(${v.rotation}deg)`}},v.id))}),n.jsx(Oe,{onClick:y,className:"p-6 bg-green-500 border-green-600 animate-bounce-in pointer-events-auto cursor-pointer hover:scale-105 transition-transform focus:outline-none focus:ring-2 focus:ring-primary",role:"button",tabIndex:0,children:n.jsxs(Ge,{className:"p-0 flex flex-col items-center gap-4",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Nn,{size:24,className:"text-yellow-300 animate-pulse"}),n.jsx(Zp,{size:28,className:"text-white"}),n.jsx(Nn,{size:24,className:"text-yellow-300 animate-pulse"})]}),n.jsx(gl,{name:i,state:"success",size:"lg"}),n.jsxs("div",{className:"text-center",children:[n.jsx("h3",{className:"font-display text-lg font-bold text-white mb-1",children:"Feature Complete!"}),n.jsx("p",{className:"text-sm text-white/80 max-w-[200px] truncate",children:r}),n.jsxs("p",{className:"text-xs text-white/60 mt-2",children:["Great job, ",i,"!"]})]}),n.jsx("p",{className:"text-xs text-white/40 mt-1",children:"Click or press Esc to dismiss"})]})})]}):null}function hj({onClick:i,isOpen:r}){return n.jsx(F,{onClick:i,size:"icon",className:"fixed bottom-6 right-6 z-50 w-14 h-14 rounded-full shadow-lg hover:shadow-xl transition-all duration-200 hover:-translate-y-0.5 active:translate-y-0.5",title:r?"Close Assistant (Press A)":"Open Assistant (Press A)","aria-label":r?"Close Assistant":"Open Assistant",children:r?n.jsx(nt,{size:24}):n.jsx(Tu,{size:24})})}function os(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function xj({projectName:i,onError:r}){const[d,o]=f.useState([]),[h,x]=f.useState(!1),[y,v]=f.useState("disconnected"),[p,S]=f.useState(null),[T,E]=f.useState(null),B=f.useRef(null),w=f.useRef(null),O=f.useRef(0),U=3,z=f.useRef(null),_=f.useRef(null),b=f.useRef(null);f.useEffect(()=>()=>{z.current&&clearInterval(z.current),_.current&&clearTimeout(_.current),b.current&&clearTimeout(b.current),B.current&&B.current.close(),w.current=null},[]);const N=f.useCallback(()=>{if(B.current?.readyState===WebSocket.OPEN||B.current?.readyState===WebSocket.CONNECTING)return;v("connecting");const Q=window.location.protocol==="https:"?"wss:":"ws:",le=window.location.host,P=`${Q}//${le}/api/assistant/ws/${encodeURIComponent(i)}`,H=new WebSocket(P);B.current=H,H.onopen=()=>{v("connected"),O.current=0,z.current=window.setInterval(()=>{H.readyState===WebSocket.OPEN&&H.send(JSON.stringify({type:"ping"}))},3e4)},H.onclose=()=>{if(v("disconnected"),z.current&&(clearInterval(z.current),z.current=null),O.current<U){O.current++;const $=Math.min(1e3*Math.pow(2,O.current),1e4);_.current=window.setTimeout(N,$)}},H.onerror=()=>{v("error"),r?.("WebSocket connection error")},H.onmessage=$=>{try{const Z=JSON.parse($.data);switch(Z.type){case"text":{o(Y=>{const g=Y[Y.length-1];return g?.role==="assistant"&&g.isStreaming?[...Y.slice(0,-1),{...g,content:g.content+Z.content}]:(w.current=os(),[...Y,{id:w.current,role:"assistant",content:Z.content,timestamp:new Date,isStreaming:!0}])});break}case"tool_call":{let Y=`Using tool: ${Z.tool}`;if(Z.tool==="mcp__features__feature_create"){const g=Z.input;Y=`Creating feature: "${g.name||"New Feature"}" in ${g.category||"General"}`}else if(Z.tool==="mcp__features__feature_create_bulk"){const D=Z.input.features?.length||0;Y=`Creating ${D} feature${D!==1?"s":""}`}else if(Z.tool==="mcp__features__feature_skip")Y="Skipping feature (moving to end of queue)";else if(Z.tool==="mcp__features__feature_get_stats")Y="Checking project progress";else if(Z.tool==="mcp__features__feature_get_next")Y="Getting next pending feature";else if(Z.tool==="Read"){const D=Z.input.file_path||"";Y=`Reading file: ${D.split("/").pop()||D}`}else Z.tool==="Glob"?Y=`Searching for files: ${Z.input.pattern||"..."}`:Z.tool==="Grep"&&(Y=`Searching for: ${Z.input.pattern||"..."}`);o(g=>[...g,{id:os(),role:"system",content:Y,timestamp:new Date}]);break}case"question":{E(Z.questions),x(!1),o(Y=>{const g=Y[Y.length-1];return g?.role==="assistant"&&g.isStreaming?[...Y.slice(0,-1),{...g,isStreaming:!1,questions:Z.questions}]:Y});break}case"conversation_created":{S(Z.conversation_id);break}case"response_done":{x(!1),w.current=null,o(Y=>{const g=Y[Y.length-1];return g?.role==="assistant"&&g.isStreaming?[...Y.slice(0,-1),{...g,isStreaming:!1}]:Y});break}case"error":{x(!1),r?.(Z.content),o(Y=>[...Y,{id:os(),role:"system",content:`Error: ${Z.content}`,timestamp:new Date}]);break}case"pong":break}}catch(Z){console.error("Failed to parse WebSocket message:",Z)}}},[i,r]),L=f.useCallback(Q=>{b.current&&(clearTimeout(b.current),b.current=null),N();const le=()=>{if(B.current?.readyState===WebSocket.OPEN){b.current=null,x(!0);const P={type:"start"};Q&&(P.conversation_id=Q,S(Q)),B.current.send(JSON.stringify(P))}else B.current?.readyState===WebSocket.CONNECTING?b.current=window.setTimeout(le,100):b.current=null};b.current=window.setTimeout(le,100)},[N]),J=f.useCallback(Q=>{if(!B.current||B.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}o(le=>[...le,{id:os(),role:"user",content:Q,timestamp:new Date}]),x(!0),B.current.send(JSON.stringify({type:"message",content:Q}))},[r]),W=f.useCallback(Q=>{if(!B.current||B.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}const le=[];for(const[,H]of Object.entries(Q))Array.isArray(H)?le.push(H.join(", ")):le.push(H);const P=le.join("; ");o(H=>[...H,{id:os(),role:"user",content:P,timestamp:new Date}]),E(null),x(!0),B.current.send(JSON.stringify({type:"answer",answers:Q}))},[r]),X=f.useCallback(()=>{O.current=U,z.current&&(clearInterval(z.current),z.current=null),B.current&&(B.current.close(),B.current=null),v("disconnected")},[]),I=f.useCallback(()=>{o([])},[]);return{messages:d,isLoading:h,connectionStatus:y,conversationId:p,currentQuestions:T,start:L,sendMessage:J,sendAnswer:W,disconnect:X,clearMessages:I}}function gj(i){return gt({queryKey:["conversations",i],queryFn:()=>v0(i),enabled:!!i,staleTime:3e4})}function pj(i,r){return gt({queryKey:["conversation",i,r],queryFn:()=>b0(i,r),enabled:!!i&&!!r,staleTime:3e4,retry:(d,o)=>o instanceof Error&&(o.message.toLowerCase().includes("not found")||o.message==="HTTP 404")?!1:d<3})}function yj(i){const r=Qe();return Ze({mutationFn:d=>j0(i,d),onSuccess:(d,o)=>{r.invalidateQueries({queryKey:["conversations",i]}),r.removeQueries({queryKey:["conversation",i,o]})}})}function vj(i){if(!i)return"";const r=new Date(i),o=new Date().getTime()-r.getTime(),h=Math.floor(o/1e3),x=Math.floor(h/60),y=Math.floor(x/60),v=Math.floor(y/24);return h<60?"just now":x<60?`${x}m ago`:y<24?`${y}h ago`:v===1?"yesterday":v<7?`${v}d ago`:r.toLocaleDateString()}function bj({projectName:i,currentConversationId:r,isOpen:d,onClose:o,onSelectConversation:h}){const[x,y]=f.useState(null),[v,p]=f.useState(null),{data:S,isLoading:T}=gj(i),E=yj(i);f.useEffect(()=>{d||p(null)},[d]);const B=(z,_)=>{z.stopPropagation(),y(_)},w=async()=>{if(x)try{p(null),await E.mutateAsync(x.id),y(null)}catch{p("Failed to delete conversation. Please try again.")}},O=()=>{y(null),p(null)},U=z=>{h(z),o()};return f.useEffect(()=>{if(!d)return;const z=_=>{_.key==="Escape"&&(_.preventDefault(),o())};return document.addEventListener("keydown",z),()=>document.removeEventListener("keydown",z)},[d,o]),d?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"fixed inset-0 z-40",onClick:o}),n.jsxs(Oe,{className:"absolute top-full left-0 mt-2 z-50 w-[320px] max-w-[calc(100vw-2rem)] shadow-lg",children:[n.jsx($i,{className:"p-3 border-b border-border",children:n.jsx("h3",{className:"font-bold text-sm",children:"Conversation History"})}),n.jsx(Ge,{className:"p-0",children:T?n.jsx("div",{className:"p-4 flex items-center justify-center",children:n.jsx(Ce,{size:20,className:"animate-spin text-muted-foreground"})}):!S||S.length===0?n.jsx("div",{className:"p-4 text-center text-muted-foreground text-sm",children:"No conversations yet"}):n.jsx("div",{className:"max-h-[300px] overflow-y-auto",children:S.map(z=>{const _=z.id===r;return n.jsxs("div",{className:`flex items-center group ${_?"bg-primary/10":"hover:bg-muted"}`,children:[n.jsx("button",{onClick:()=>U(z.id),className:"flex-1 px-3 py-2 text-left",disabled:_,children:n.jsxs("div",{className:"flex items-start gap-2",children:[n.jsx(Fp,{size:16,className:"mt-0.5 flex-shrink-0 text-muted-foreground"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-medium truncate text-foreground",children:z.title||"Untitled conversation"}),n.jsxs("div",{className:"text-xs flex items-center gap-2 text-muted-foreground",children:[n.jsxs("span",{children:[z.message_count," messages"]}),n.jsx("span",{children:"|"}),n.jsx("span",{children:vj(z.updated_at)})]})]})]})}),n.jsx(F,{variant:"ghost",size:"icon",onClick:b=>B(b,z),className:`h-8 w-8 mr-2 ${_?"opacity-60 hover:opacity-100":"opacity-0 group-hover:opacity-100"} hover:text-destructive hover:bg-destructive/10`,title:"Delete conversation",children:n.jsx(tn,{size:14})})]},z.id)})})})]}),n.jsx(Hh,{isOpen:x!==null,title:"Delete Conversation",message:v?n.jsxs("div",{className:"space-y-3",children:[n.jsx("p",{children:`Are you sure you want to delete "${x?.title||"this conversation"}"? This action cannot be undone.`}),n.jsxs("div",{className:"flex items-center gap-2 p-2 bg-destructive/10 border border-destructive rounded text-sm text-destructive",children:[n.jsx(za,{size:16,className:"flex-shrink-0"}),n.jsx("span",{children:v})]})]}):`Are you sure you want to delete "${x?.title||"this conversation"}"? This action cannot be undone.`,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",isLoading:E.isPending,onConfirm:w,onCancel:O})]}):null}function jj({projectName:i,conversationId:r,initialMessages:d,isLoadingConversation:o,onNewChat:h,onSelectConversation:x,onConversationCreated:y}){const[v,p]=f.useState(""),[S,T]=f.useState(!1),E=f.useRef(null),B=f.useRef(null),w=f.useRef(!1),O=f.useRef(void 0),U=f.useCallback(Y=>{console.error("Assistant error:",Y)},[]),{messages:z,isLoading:_,connectionStatus:b,conversationId:N,currentQuestions:L,start:J,sendMessage:W,sendAnswer:X,clearMessages:I}=xj({projectName:i,onError:U}),Q=f.useRef(N);f.useEffect(()=>{Q.current===null&&N!==null&&y&&y(N),Q.current=N},[N,y]),f.useEffect(()=>{E.current?.scrollIntoView({behavior:"smooth"})},[z]),f.useEffect(()=>{if(o||O.current===r&&w.current)return;const Y=O.current!==void 0&&O.current!==r;O.current=r,w.current=!0,Y&&I(),J(r)},[r,o,J,I]);const le=f.useCallback(()=>{I(),h?.()},[I,h]),P=f.useCallback(Y=>{T(!1),x?.(Y)},[x]);f.useEffect(()=>{_||B.current?.focus()},[_]);const H=()=>{const Y=v.trim();!Y||_||o||(W(Y),p(""))},$=Y=>{ps(Y)&&(Y.preventDefault(),H())},Z=f.useMemo(()=>{if(!(O.current===r&&!o))return d??[];if(!d||d.length===0)return z;const g=new Map;for(const D of d)g.set(D.id,D);for(const D of z)g.set(D.id,D);return Array.from(g.values())},[d,z,r,o]);return n.jsxs("div",{className:"flex flex-col h-full",children:[n.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border bg-background",children:[n.jsxs("div",{className:"flex items-center gap-1 relative",children:[n.jsx(F,{variant:"ghost",size:"icon",onClick:le,className:"h-8 w-8",title:"New conversation",disabled:_,children:n.jsx(en,{size:16})}),n.jsx(F,{variant:S?"secondary":"ghost",size:"icon",onClick:()=>T(!S),className:"h-8 w-8",title:"Conversation history",children:n.jsx(Jp,{size:16})}),n.jsx(bj,{projectName:i,currentConversationId:r??N,isOpen:S,onClose:()=>T(!1),onSelectConversation:P})]}),n.jsx("div",{className:"flex items-center gap-2",children:b==="connected"?n.jsxs(n.Fragment,{children:[n.jsx(ml,{size:14,className:"text-green-500"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"Connected"})]}):b==="connecting"?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{size:14,className:"text-primary animate-spin"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"Connecting..."})]}):n.jsxs(n.Fragment,{children:[n.jsx(fl,{size:14,className:"text-destructive"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"Disconnected"})]})})]}),n.jsx("div",{className:"flex-1 overflow-y-auto bg-background",children:o?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ce,{size:16,className:"animate-spin"}),n.jsx("span",{children:"Loading conversation..."})]})}):Z.length===0?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:_?n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ce,{size:16,className:"animate-spin"}),n.jsx("span",{children:"Connecting to assistant..."})]}):n.jsx("span",{children:"Ask me anything about the codebase"})}):n.jsxs("div",{className:"py-4",children:[Z.map(Y=>n.jsx(_u,{message:Y},Y.id)),n.jsx("div",{ref:E})]})}),_&&Z.length>0&&n.jsx("div",{className:"px-4 py-2 border-t border-border bg-background",children:n.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground text-sm",children:[n.jsxs("div",{className:"flex gap-1",children:[n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"0ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"150ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"300ms"}})]}),n.jsx("span",{children:"Thinking..."})]})}),L&&n.jsx("div",{className:"border-t border-border bg-background",children:n.jsx(Rh,{questions:L,onSubmit:X})}),n.jsxs("div",{className:"border-t border-border p-4 bg-card",children:[n.jsxs("div",{className:"flex gap-2",children:[n.jsx(ys,{ref:B,value:v,onChange:Y=>p(Y.target.value),onKeyDown:$,placeholder:"Ask about the codebase...",disabled:_||o||b!=="connected"||!!L,className:"flex-1 resize-none min-h-[44px] max-h-[120px]",rows:1}),n.jsx(F,{onClick:H,disabled:!v.trim()||_||o||b!=="connected"||!!L,title:"Send message",children:_?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(Fi,{size:18})})]}),n.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:L?"Select an option above to continue":"Press Enter to send, Shift+Enter for new line"})]})]})}const Lh="assistant-conversation-",ch="assistant-panel-width",Sj=400,rh=300,uh=90;function oh(i){try{const r=localStorage.getItem(`${Lh}${i}`);if(r)return JSON.parse(r).conversationId||null}catch{}return null}function Nj(i,r){const d=`${Lh}${i}`;r?localStorage.setItem(d,JSON.stringify({conversationId:r})):localStorage.removeItem(d)}function Cj({projectName:i,isOpen:r,onClose:d}){const[o,h]=f.useState(()=>oh(i)),{data:x,isLoading:y,error:v}=pj(i,o);f.useEffect(()=>{if(v&&o){const z=v.message.toLowerCase();(z.includes("not found")||z.includes("404"))&&(console.warn(`Conversation ${o} not found, clearing stored ID`),h(null))}},[v,o]);const p=x?.messages.map(z=>({id:`db-${z.id}`,role:z.role,content:z.content,timestamp:z.timestamp?new Date(z.timestamp):new Date}));f.useEffect(()=>{Nj(i,o)},[i,o]),f.useEffect(()=>{h(oh(i))},[i]);const S=f.useCallback(()=>{h(null)},[]),T=f.useCallback(z=>{h(z)},[]),E=f.useCallback(z=>{h(z)},[]),[B,w]=f.useState(()=>{try{const z=localStorage.getItem(ch);if(z)return Math.max(rh,parseInt(z,10))}catch{}return Sj}),O=f.useRef(!1),U=f.useCallback(z=>{z.preventDefault(),O.current=!0;const _=z.clientX,b=B,N=window.innerWidth*(uh/100),L=W=>{if(!O.current)return;const X=_-W.clientX,I=Math.min(N,Math.max(rh,b+X));w(I)},J=()=>{O.current=!1,document.removeEventListener("mousemove",L),document.removeEventListener("mouseup",J),document.body.style.cursor="",document.body.style.userSelect="",w(W=>(localStorage.setItem(ch,String(W)),W))};document.body.style.cursor="col-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",L),document.addEventListener("mouseup",J)},[B]);return n.jsxs(n.Fragment,{children:[r&&n.jsx("div",{className:"fixed inset-0 bg-black/20 z-40 transition-opacity duration-300",onClick:d,"aria-hidden":"true"}),n.jsxs("div",{className:`
|
|
84
|
+
`,children:[n.jsx("div",{className:"absolute inset-0 overflow-hidden",children:x.map(v=>n.jsx("div",{className:"absolute w-3 h-3 animate-confetti",style:{left:`${v.x}%`,top:"-20px",backgroundColor:v.color,animationDelay:`${v.delay}s`,animationDuration:`${v.duration}s`,transform:`rotate(${v.rotation}deg)`}},v.id))}),n.jsx(Oe,{onClick:y,className:"p-6 bg-green-500 border-green-600 animate-bounce-in pointer-events-auto cursor-pointer hover:scale-105 transition-transform focus:outline-none focus:ring-2 focus:ring-primary",role:"button",tabIndex:0,children:n.jsxs(Ge,{className:"p-0 flex flex-col items-center gap-4",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Nn,{size:24,className:"text-yellow-300 animate-pulse"}),n.jsx(Zp,{size:28,className:"text-white"}),n.jsx(Nn,{size:24,className:"text-yellow-300 animate-pulse"})]}),n.jsx(pl,{name:i,state:"success",size:"lg"}),n.jsxs("div",{className:"text-center",children:[n.jsx("h3",{className:"font-display text-lg font-bold text-white mb-1",children:"Feature Complete!"}),n.jsx("p",{className:"text-sm text-white/80 max-w-[200px] truncate",children:r}),n.jsxs("p",{className:"text-xs text-white/60 mt-2",children:["Great job, ",i,"!"]})]}),n.jsx("p",{className:"text-xs text-white/40 mt-1",children:"Click or press Esc to dismiss"})]})})]}):null}function hj({onClick:i,isOpen:r}){return n.jsx(F,{onClick:i,size:"icon",className:"fixed bottom-6 right-6 z-50 w-14 h-14 rounded-full shadow-lg hover:shadow-xl transition-all duration-200 hover:-translate-y-0.5 active:translate-y-0.5",title:r?"Close Assistant (Press A)":"Open Assistant (Press A)","aria-label":r?"Close Assistant":"Open Assistant",children:r?n.jsx(nt,{size:24}):n.jsx(Tu,{size:24})})}function ul(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function xj({projectName:i,onError:r}){const[d,o]=f.useState([]),[h,x]=f.useState(!1),[y,v]=f.useState("disconnected"),[p,S]=f.useState(null),[T,E]=f.useState(null),B=f.useRef(null),w=f.useRef(null),O=f.useRef(0),U=3,z=f.useRef(null),_=f.useRef(null),b=f.useRef(null);f.useEffect(()=>()=>{z.current&&clearInterval(z.current),_.current&&clearTimeout(_.current),b.current&&clearTimeout(b.current),B.current&&B.current.close(),w.current=null},[]);const N=f.useCallback(()=>{if(B.current?.readyState===WebSocket.OPEN||B.current?.readyState===WebSocket.CONNECTING)return;v("connecting");const Q=window.location.protocol==="https:"?"wss:":"ws:",le=window.location.host,P=`${Q}//${le}/api/assistant/ws/${encodeURIComponent(i)}`,H=new WebSocket(P);B.current=H,H.onopen=()=>{v("connected"),O.current=0,z.current=window.setInterval(()=>{H.readyState===WebSocket.OPEN&&H.send(JSON.stringify({type:"ping"}))},3e4)},H.onclose=()=>{if(v("disconnected"),z.current&&(clearInterval(z.current),z.current=null),O.current<U){O.current++;const J=Math.min(1e3*Math.pow(2,O.current),1e4);_.current=window.setTimeout(N,J)}},H.onerror=()=>{v("error"),r?.("WebSocket connection error")},H.onmessage=J=>{try{const X=JSON.parse(J.data);switch(X.type){case"text":{o(Y=>{const g=Y[Y.length-1];return g?.role==="assistant"&&g.isStreaming?[...Y.slice(0,-1),{...g,content:g.content+X.content}]:(w.current=ul(),[...Y,{id:w.current,role:"assistant",content:X.content,timestamp:new Date,isStreaming:!0}])});break}case"tool_call":{let Y=`Using tool: ${X.tool}`;if(X.tool==="mcp__features__feature_create"){const g=X.input;Y=`Creating feature: "${g.name||"New Feature"}" in ${g.category||"General"}`}else if(X.tool==="mcp__features__feature_create_bulk"){const D=X.input.features?.length||0;Y=`Creating ${D} feature${D!==1?"s":""}`}else if(X.tool==="mcp__features__feature_skip")Y="Skipping feature (moving to end of queue)";else if(X.tool==="mcp__features__feature_get_stats")Y="Checking project progress";else if(X.tool==="mcp__features__feature_get_next")Y="Getting next pending feature";else if(X.tool==="Read"){const D=X.input.file_path||"";Y=`Reading file: ${D.split("/").pop()||D}`}else X.tool==="Glob"?Y=`Searching for files: ${X.input.pattern||"..."}`:X.tool==="Grep"&&(Y=`Searching for: ${X.input.pattern||"..."}`);o(g=>[...g,{id:ul(),role:"system",content:Y,timestamp:new Date}]);break}case"question":{E(X.questions),x(!1),o(Y=>{const g=Y[Y.length-1];return g?.role==="assistant"&&g.isStreaming?[...Y.slice(0,-1),{...g,isStreaming:!1,questions:X.questions}]:Y});break}case"conversation_created":{S(X.conversation_id);break}case"response_done":{x(!1),w.current=null,o(Y=>{const g=Y[Y.length-1];return g?.role==="assistant"&&g.isStreaming?[...Y.slice(0,-1),{...g,isStreaming:!1}]:Y});break}case"error":{x(!1),r?.(X.content),o(Y=>[...Y,{id:ul(),role:"system",content:`Error: ${X.content}`,timestamp:new Date}]);break}case"rate_limited":{o(Y=>[...Y,{id:ul(),role:"system",content:`Rate limited. Retrying in ${X.retry_in}s... (attempt ${X.attempt}/${X.max_attempts})`,timestamp:new Date}]);break}case"pong":break}}catch(X){console.error("Failed to parse WebSocket message:",X)}}},[i,r]),L=f.useCallback(Q=>{b.current&&(clearTimeout(b.current),b.current=null),N();const le=()=>{if(B.current?.readyState===WebSocket.OPEN){b.current=null,x(!0);const P={type:"start"};Q&&(P.conversation_id=Q,S(Q)),B.current.send(JSON.stringify(P))}else B.current?.readyState===WebSocket.CONNECTING?b.current=window.setTimeout(le,100):b.current=null};b.current=window.setTimeout(le,100)},[N]),$=f.useCallback(Q=>{if(!B.current||B.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}o(le=>[...le,{id:ul(),role:"user",content:Q,timestamp:new Date}]),x(!0),B.current.send(JSON.stringify({type:"message",content:Q}))},[r]),W=f.useCallback(Q=>{if(!B.current||B.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}const le=[];for(const[,H]of Object.entries(Q))Array.isArray(H)?le.push(H.join(", ")):le.push(H);const P=le.join("; ");o(H=>[...H,{id:ul(),role:"user",content:P,timestamp:new Date}]),E(null),x(!0),B.current.send(JSON.stringify({type:"answer",answers:Q}))},[r]),K=f.useCallback(()=>{O.current=U,z.current&&(clearInterval(z.current),z.current=null),B.current&&(B.current.close(),B.current=null),v("disconnected")},[]),I=f.useCallback(()=>{o([])},[]);return{messages:d,isLoading:h,connectionStatus:y,conversationId:p,currentQuestions:T,start:L,sendMessage:$,sendAnswer:W,disconnect:K,clearMessages:I}}function gj(i){return gt({queryKey:["conversations",i],queryFn:()=>v0(i),enabled:!!i,staleTime:3e4})}function pj(i,r){return gt({queryKey:["conversation",i,r],queryFn:()=>b0(i,r),enabled:!!i&&!!r,staleTime:3e4,retry:(d,o)=>o instanceof Error&&(o.message.toLowerCase().includes("not found")||o.message==="HTTP 404")?!1:d<3})}function yj(i){const r=Qe();return Ze({mutationFn:d=>j0(i,d),onSuccess:(d,o)=>{r.invalidateQueries({queryKey:["conversations",i]}),r.removeQueries({queryKey:["conversation",i,o]})}})}function vj(i){if(!i)return"";const r=new Date(i),o=new Date().getTime()-r.getTime(),h=Math.floor(o/1e3),x=Math.floor(h/60),y=Math.floor(x/60),v=Math.floor(y/24);return h<60?"just now":x<60?`${x}m ago`:y<24?`${y}h ago`:v===1?"yesterday":v<7?`${v}d ago`:r.toLocaleDateString()}function bj({projectName:i,currentConversationId:r,isOpen:d,onClose:o,onSelectConversation:h}){const[x,y]=f.useState(null),[v,p]=f.useState(null),{data:S,isLoading:T}=gj(i),E=yj(i);f.useEffect(()=>{d||p(null)},[d]);const B=(z,_)=>{z.stopPropagation(),y(_)},w=async()=>{if(x)try{p(null),await E.mutateAsync(x.id),y(null)}catch{p("Failed to delete conversation. Please try again.")}},O=()=>{y(null),p(null)},U=z=>{h(z),o()};return f.useEffect(()=>{if(!d)return;const z=_=>{_.key==="Escape"&&(_.preventDefault(),o())};return document.addEventListener("keydown",z),()=>document.removeEventListener("keydown",z)},[d,o]),d?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"fixed inset-0 z-40",onClick:o}),n.jsxs(Oe,{className:"absolute top-full left-0 mt-2 z-50 w-[320px] max-w-[calc(100vw-2rem)] shadow-lg",children:[n.jsx(Ji,{className:"p-3 border-b border-border",children:n.jsx("h3",{className:"font-bold text-sm",children:"Conversation History"})}),n.jsx(Ge,{className:"p-0",children:T?n.jsx("div",{className:"p-4 flex items-center justify-center",children:n.jsx(Ce,{size:20,className:"animate-spin text-muted-foreground"})}):!S||S.length===0?n.jsx("div",{className:"p-4 text-center text-muted-foreground text-sm",children:"No conversations yet"}):n.jsx("div",{className:"max-h-[300px] overflow-y-auto",children:S.map(z=>{const _=z.id===r;return n.jsxs("div",{className:`flex items-center group ${_?"bg-primary/10":"hover:bg-muted"}`,children:[n.jsx("button",{onClick:()=>U(z.id),className:"flex-1 px-3 py-2 text-left",disabled:_,children:n.jsxs("div",{className:"flex items-start gap-2",children:[n.jsx(Fp,{size:16,className:"mt-0.5 flex-shrink-0 text-muted-foreground"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-medium truncate text-foreground",children:z.title||"Untitled conversation"}),n.jsxs("div",{className:"text-xs flex items-center gap-2 text-muted-foreground",children:[n.jsxs("span",{children:[z.message_count," messages"]}),n.jsx("span",{children:"|"}),n.jsx("span",{children:vj(z.updated_at)})]})]})]})}),n.jsx(F,{variant:"ghost",size:"icon",onClick:b=>B(b,z),className:`h-8 w-8 mr-2 ${_?"opacity-60 hover:opacity-100":"opacity-0 group-hover:opacity-100"} hover:text-destructive hover:bg-destructive/10`,title:"Delete conversation",children:n.jsx(an,{size:14})})]},z.id)})})})]}),n.jsx(Hh,{isOpen:x!==null,title:"Delete Conversation",message:v?n.jsxs("div",{className:"space-y-3",children:[n.jsx("p",{children:`Are you sure you want to delete "${x?.title||"this conversation"}"? This action cannot be undone.`}),n.jsxs("div",{className:"flex items-center gap-2 p-2 bg-destructive/10 border border-destructive rounded text-sm text-destructive",children:[n.jsx(za,{size:16,className:"flex-shrink-0"}),n.jsx("span",{children:v})]})]}):`Are you sure you want to delete "${x?.title||"this conversation"}"? This action cannot be undone.`,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",isLoading:E.isPending,onConfirm:w,onCancel:O})]}):null}function jj({projectName:i,conversationId:r,initialMessages:d,isLoadingConversation:o,onNewChat:h,onSelectConversation:x,onConversationCreated:y}){const[v,p]=f.useState(""),[S,T]=f.useState(!1),E=f.useRef(null),B=f.useRef(null),w=f.useRef(!1),O=f.useRef(void 0),U=f.useCallback(Y=>{console.error("Assistant error:",Y)},[]),{messages:z,isLoading:_,connectionStatus:b,conversationId:N,currentQuestions:L,start:$,sendMessage:W,sendAnswer:K,clearMessages:I}=xj({projectName:i,onError:U}),Q=f.useRef(N);f.useEffect(()=>{Q.current===null&&N!==null&&y&&y(N),Q.current=N},[N,y]),f.useEffect(()=>{E.current?.scrollIntoView({behavior:"smooth"})},[z]),f.useEffect(()=>{if(o||O.current===r&&w.current)return;const Y=O.current!==void 0&&O.current!==r;O.current=r,w.current=!0,Y&&I(),$(r)},[r,o,$,I]);const le=f.useCallback(()=>{I(),h?.()},[I,h]),P=f.useCallback(Y=>{T(!1),x?.(Y)},[x]);f.useEffect(()=>{_||B.current?.focus()},[_]);const H=()=>{const Y=v.trim();!Y||_||o||(W(Y),p(""))},J=Y=>{ys(Y)&&(Y.preventDefault(),H())},X=f.useMemo(()=>{if(!(O.current===r&&!o))return d??[];if(!d||d.length===0)return z;const g=new Map;for(const D of d)g.set(D.id,D);for(const D of z)g.set(D.id,D);return Array.from(g.values())},[d,z,r,o]);return n.jsxs("div",{className:"flex flex-col h-full",children:[n.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border bg-background",children:[n.jsxs("div",{className:"flex items-center gap-1 relative",children:[n.jsx(F,{variant:"ghost",size:"icon",onClick:le,className:"h-8 w-8",title:"New conversation",disabled:_,children:n.jsx(tn,{size:16})}),n.jsx(F,{variant:S?"secondary":"ghost",size:"icon",onClick:()=>T(!S),className:"h-8 w-8",title:"Conversation history",children:n.jsx($p,{size:16})}),n.jsx(bj,{projectName:i,currentConversationId:r??N,isOpen:S,onClose:()=>T(!1),onSelectConversation:P})]}),n.jsx("div",{className:"flex items-center gap-2",children:b==="connected"?n.jsxs(n.Fragment,{children:[n.jsx(hl,{size:14,className:"text-green-500"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"Connected"})]}):b==="connecting"?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{size:14,className:"text-primary animate-spin"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"Connecting..."})]}):n.jsxs(n.Fragment,{children:[n.jsx(ml,{size:14,className:"text-destructive"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"Disconnected"})]})})]}),n.jsx("div",{className:"flex-1 overflow-y-auto bg-background",children:o?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ce,{size:16,className:"animate-spin"}),n.jsx("span",{children:"Loading conversation..."})]})}):X.length===0?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:_?n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ce,{size:16,className:"animate-spin"}),n.jsx("span",{children:"Connecting to assistant..."})]}):n.jsx("span",{children:"Ask me anything about the codebase"})}):n.jsxs("div",{className:"py-4",children:[X.map(Y=>n.jsx(_u,{message:Y},Y.id)),n.jsx("div",{ref:E})]})}),_&&X.length>0&&n.jsx("div",{className:"px-4 py-2 border-t border-border bg-background",children:n.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground text-sm",children:[n.jsxs("div",{className:"flex gap-1",children:[n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"0ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"150ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"300ms"}})]}),n.jsx("span",{children:"Thinking..."})]})}),L&&n.jsx("div",{className:"border-t border-border bg-background",children:n.jsx(Rh,{questions:L,onSubmit:K})}),n.jsxs("div",{className:"border-t border-border p-4 bg-card",children:[n.jsxs("div",{className:"flex gap-2",children:[n.jsx(vs,{ref:B,value:v,onChange:Y=>p(Y.target.value),onKeyDown:J,placeholder:"Ask about the codebase...",disabled:_||o||b!=="connected"||!!L,className:"flex-1 resize-none min-h-[44px] max-h-[120px]",rows:1}),n.jsx(F,{onClick:H,disabled:!v.trim()||_||o||b!=="connected"||!!L,title:"Send message",children:_?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(Fi,{size:18})})]}),n.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:L?"Select an option above to continue":"Press Enter to send, Shift+Enter for new line"})]})]})}const Lh="assistant-conversation-",ch="assistant-panel-width",Sj=400,rh=300,uh=90;function oh(i){try{const r=localStorage.getItem(`${Lh}${i}`);if(r)return JSON.parse(r).conversationId||null}catch{}return null}function Nj(i,r){const d=`${Lh}${i}`;r?localStorage.setItem(d,JSON.stringify({conversationId:r})):localStorage.removeItem(d)}function Cj({projectName:i,isOpen:r,onClose:d}){const[o,h]=f.useState(()=>oh(i)),{data:x,isLoading:y,error:v}=pj(i,o);f.useEffect(()=>{if(v&&o){const z=v.message.toLowerCase();(z.includes("not found")||z.includes("404"))&&(console.warn(`Conversation ${o} not found, clearing stored ID`),h(null))}},[v,o]);const p=x?.messages.map(z=>({id:`db-${z.id}`,role:z.role,content:z.content,timestamp:z.timestamp?new Date(z.timestamp):new Date}));f.useEffect(()=>{Nj(i,o)},[i,o]),f.useEffect(()=>{h(oh(i))},[i]);const S=f.useCallback(()=>{h(null)},[]),T=f.useCallback(z=>{h(z)},[]),E=f.useCallback(z=>{h(z)},[]),[B,w]=f.useState(()=>{try{const z=localStorage.getItem(ch);if(z)return Math.max(rh,parseInt(z,10))}catch{}return Sj}),O=f.useRef(!1),U=f.useCallback(z=>{z.preventDefault(),O.current=!0;const _=z.clientX,b=B,N=window.innerWidth*(uh/100),L=W=>{if(!O.current)return;const K=_-W.clientX,I=Math.min(N,Math.max(rh,b+K));w(I)},$=()=>{O.current=!1,document.removeEventListener("mousemove",L),document.removeEventListener("mouseup",$),document.body.style.cursor="",document.body.style.userSelect="",w(W=>(localStorage.setItem(ch,String(W)),W))};document.body.style.cursor="col-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",L),document.addEventListener("mouseup",$)},[B]);return n.jsxs(n.Fragment,{children:[r&&n.jsx("div",{className:"fixed inset-0 bg-black/20 z-40 transition-opacity duration-300",onClick:d,"aria-hidden":"true"}),n.jsxs("div",{className:`
|
|
85
85
|
fixed right-0 top-0 bottom-0 z-50
|
|
86
86
|
bg-card
|
|
87
87
|
border-l border-border
|
|
88
88
|
transform transition-transform duration-300 ease-out
|
|
89
89
|
flex flex-col shadow-xl
|
|
90
90
|
${r?"translate-x-0":"translate-x-full"}
|
|
91
|
-
`,style:{width:`${B}px`,maxWidth:`${uh}vw`},role:"dialog","aria-label":"Project Assistant","aria-hidden":!r,children:[n.jsx("div",{className:"absolute left-0 top-0 bottom-0 w-1.5 cursor-col-resize z-10 group",onMouseDown:U,children:n.jsx("div",{className:"absolute inset-y-0 left-0 w-0.5 bg-border group-hover:bg-primary transition-colors"})}),n.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border bg-primary text-primary-foreground",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("div",{className:"bg-card text-foreground border border-border p-1.5 rounded",children:n.jsx(Cu,{size:18})}),n.jsxs("div",{children:[n.jsx("h2",{className:"font-semibold",children:"Project Assistant"}),n.jsx("p",{className:"text-xs opacity-80 font-mono",children:i})]})]}),n.jsx(F,{variant:"ghost",size:"icon",onClick:d,className:"text-primary-foreground hover:bg-primary-foreground/20",title:"Close Assistant (Press A)","aria-label":"Close Assistant",children:n.jsx(nt,{size:18})})]}),n.jsx("div",{className:"flex-1 overflow-hidden",children:r&&n.jsx(jj,{projectName:i,conversationId:o,initialMessages:p,isLoadingConversation:y,onNewChat:S,onSelectConversation:T,onConversationCreated:E})})]})]})}function Gi(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function wj({projectName:i,onComplete:r,onError:d}){const[o,h]=f.useState([]),[x,y]=f.useState(!1),[v,p]=f.useState(!1),[S,T]=f.useState("disconnected"),[E,B]=f.useState(0),[w,O]=f.useState([]),U=f.useRef(null),z=f.useRef(null),_=f.useRef(0),b=3,N=f.useRef(null),L=f.useRef(null),J=f.useRef(!1),W=f.useRef(!1);f.useEffect(()=>{J.current=v},[v]),f.useEffect(()=>()=>{N.current&&clearInterval(N.current),L.current&&clearTimeout(L.current),U.current&&U.current.close()},[]);const X=f.useCallback(()=>{if(W.current||U.current?.readyState===WebSocket.OPEN)return;T("connecting");const P=window.location.protocol==="https:"?"wss:":"ws:",H=window.location.host,$=`${P}//${H}/api/expand/ws/${encodeURIComponent(i)}`,Z=new WebSocket($);U.current=Z,Z.onopen=()=>{T("connected"),_.current=0,W.current=!1,N.current=window.setInterval(()=>{Z.readyState===WebSocket.OPEN&&Z.send(JSON.stringify({type:"ping"}))},3e4)},Z.onclose=Y=>{T("disconnected"),N.current&&(clearInterval(N.current),N.current=null);const g=Y.code>=4e3&&Y.code<=4999;if(!W.current&&!g&&_.current<b&&!J.current){_.current++;const D=Math.min(1e3*Math.pow(2,_.current),1e4);L.current=window.setTimeout(X,D)}},Z.onerror=()=>{T("error"),d?.("WebSocket connection error")},Z.onmessage=Y=>{try{const g=JSON.parse(Y.data);switch(g.type){case"text":{h(D=>{const ee=D[D.length-1];return ee?.role==="assistant"&&ee.isStreaming?[...D.slice(0,-1),{...ee,content:ee.content+g.content}]:(z.current=Gi(),[...D,{id:z.current,role:"assistant",content:g.content,timestamp:new Date,isStreaming:!0}])});break}case"features_created":{B(D=>D+g.count),O(g.features),h(D=>[...D,{id:Gi(),role:"system",content:`Created ${g.count} new feature${g.count!==1?"s":""}!`,timestamp:new Date}]);break}case"expansion_complete":{p(!0),y(!1),h(D=>{const ee=D[D.length-1];return ee?.role==="assistant"&&ee.isStreaming?[...D.slice(0,-1),{...ee,isStreaming:!1}]:D}),r?.(g.total_added);break}case"error":{y(!1),d?.(g.content),h(D=>[...D,{id:Gi(),role:"system",content:`Error: ${g.content}`,timestamp:new Date}]);break}case"pong":break;case"response_done":{y(!1),h(D=>{const ee=D[D.length-1];return ee?.role==="assistant"&&ee.isStreaming?[...D.slice(0,-1),{...ee,isStreaming:!1}]:D});break}}}catch(g){console.error("Failed to parse WebSocket message:",g)}}},[i,r,d]),I=f.useCallback(()=>{X();let P=0;const H=50,$=()=>{U.current?.readyState===WebSocket.OPEN?(y(!0),U.current.send(JSON.stringify({type:"start"}))):U.current?.readyState===WebSocket.CONNECTING&&(P++<H?setTimeout($,100):(d?.("Connection timeout"),y(!1)))};setTimeout($,100)},[X,d]),Q=f.useCallback((P,H)=>{if(!U.current||U.current.readyState!==WebSocket.OPEN){d?.("Not connected");return}h(Z=>[...Z,{id:Gi(),role:"user",content:P,attachments:H,timestamp:new Date}]),y(!0);const $={type:"message",content:P};H&&H.length>0&&($.attachments=H.map(Z=>({filename:Z.filename,mimeType:Z.mimeType,base64Data:Z.base64Data}))),U.current.send(JSON.stringify($))},[d]),le=f.useCallback(()=>{W.current=!0,_.current=b,N.current&&(clearInterval(N.current),N.current=null),L.current&&(clearTimeout(L.current),L.current=null),U.current&&(U.current.close(),U.current=null),T("disconnected")},[]);return{messages:o,isLoading:x,isComplete:v,connectionStatus:S,featuresCreated:E,recentFeatures:w,start:I,sendMessage:Q,disconnect:le}}const zj=5*1024*1024,Tj=["image/jpeg","image/png"];function Ej({projectName:i,onComplete:r,onCancel:d}){const[o,h]=f.useState(""),[x,y]=f.useState(null),[v,p]=f.useState([]),S=f.useRef(null),T=f.useRef(null),E=f.useRef(null),B=f.useCallback(H=>y(H),[]),{messages:w,isLoading:O,isComplete:U,connectionStatus:z,featuresCreated:_,start:b,sendMessage:N,disconnect:L}=wj({projectName:i,onComplete:r,onError:B});f.useEffect(()=>(b(),()=>{L()}),[]),f.useEffect(()=>{S.current?.scrollIntoView({behavior:"smooth"})},[w,O]),f.useEffect(()=>{!O&&T.current&&T.current.focus()},[O]);const J=()=>{const H=o.trim();!H&&v.length===0||O||(N(H,v.length>0?v:void 0),h(""),p([]))},W=H=>{ps(H)&&(H.preventDefault(),J())},X=f.useCallback(H=>{H&&Array.from(H).forEach($=>{if(!Tj.includes($.type)){y(`Invalid file type: ${$.name}. Only JPEG and PNG are supported.`);return}if($.size>zj){y(`File too large: ${$.name}. Maximum size is 5 MB.`);return}const Z=new FileReader;Z.onload=Y=>{const g=Y.target?.result,D=g.split(",")[1],ee={id:`${Date.now()}-${Math.random().toString(36).substring(2,9)}`,filename:$.name,mimeType:$.type,base64Data:D,previewUrl:g,size:$.size};p(te=>[...te,ee])},Z.onerror=()=>{y(`Failed to read file: ${$.name}`)},Z.readAsDataURL($)})},[]),I=f.useCallback(H=>{p($=>$.filter(Z=>Z.id!==H))},[]),Q=f.useCallback(H=>{H.preventDefault(),X(H.dataTransfer.files)},[X]),le=f.useCallback(H=>{H.preventDefault()},[]),P=()=>{switch(z){case"connected":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-green-500",children:[n.jsx(ml,{size:12}),"Connected"]});case"connecting":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-yellow-500",children:[n.jsx(ml,{size:12,className:"animate-pulse"}),"Connecting..."]});case"error":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-destructive",children:[n.jsx(fl,{size:12}),"Error"]});default:return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[n.jsx(fl,{size:12}),"Disconnected"]})}};return n.jsxs("div",{className:"flex flex-col h-full bg-background",children:[n.jsxs("div",{className:"flex items-center justify-between p-4 border-b-2 border-border bg-card",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs("h2",{className:"font-display font-bold text-lg text-foreground",children:["Expand Project: ",i]}),n.jsx(P,{}),_>0&&n.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[n.jsx(en,{size:14}),_," added"]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[U&&n.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[n.jsx($t,{size:16}),"Complete"]}),n.jsx(F,{onClick:d,variant:"ghost",size:"icon",title:"Close",children:n.jsx(nt,{size:20})})]})]}),x&&n.jsxs(ft,{variant:"destructive",className:"rounded-none border-x-0 border-t-0",children:[n.jsx(za,{size:16}),n.jsx(mt,{className:"flex-1",children:x}),n.jsx(F,{onClick:()=>y(null),variant:"ghost",size:"icon",className:"h-6 w-6",children:n.jsx(nt,{size:14})})]}),n.jsxs("div",{className:"flex-1 overflow-y-auto py-4",children:[w.length===0&&!O&&n.jsx("div",{className:"flex flex-col items-center justify-center h-full text-center p-8",children:n.jsx(Oe,{className:"p-6 max-w-md",children:n.jsxs(Ge,{className:"p-0",children:[n.jsx("h3",{className:"font-display font-bold text-lg mb-2",children:"Starting Project Expansion"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Connecting to Claude to help you add new features to your project..."}),z==="error"&&n.jsxs(F,{onClick:b,className:"mt-4",size:"sm",children:[n.jsx(Sn,{size:14}),"Retry Connection"]})]})})}),w.map(H=>n.jsx(_u,{message:H},H.id)),O&&n.jsx(Uh,{}),n.jsx("div",{ref:S})]}),!U&&n.jsxs("div",{className:"p-4 border-t-2 border-border bg-card",onDrop:Q,onDragOver:le,children:[v.length>0&&n.jsx("div",{className:"flex flex-wrap gap-2 mb-3",children:v.map(H=>n.jsxs("div",{className:"relative group border-2 border-border p-1 bg-card rounded shadow-sm",children:[n.jsx("img",{src:H.previewUrl,alt:H.filename,className:"w-16 h-16 object-cover rounded"}),n.jsx("button",{onClick:()=>I(H.id),className:"absolute -top-2 -right-2 bg-destructive text-destructive-foreground rounded-full p-0.5 border-2 border-border hover:scale-110 transition-transform",title:"Remove attachment",children:n.jsx(nt,{size:12})}),n.jsx("span",{className:"text-xs truncate block max-w-16 mt-1 text-center text-muted-foreground",children:H.filename.length>10?`${H.filename.substring(0,7)}...`:H.filename})]},H.id))}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx("input",{ref:E,type:"file",accept:"image/jpeg,image/png",multiple:!0,onChange:H=>X(H.target.files),className:"hidden"}),n.jsx(F,{onClick:()=>E.current?.click(),disabled:z!=="connected",variant:"ghost",size:"icon",title:"Attach image (JPEG, PNG - max 5MB)",children:n.jsx(Vi,{size:18})}),n.jsx(lt,{ref:T,type:"text",value:o,onChange:H=>h(H.target.value),onKeyDown:W,placeholder:v.length>0?"Add a message with your image(s)...":"Describe the features you want to add...",className:"flex-1",disabled:O||z!=="connected"}),n.jsx(F,{onClick:J,disabled:!o.trim()&&v.length===0||O||z!=="connected",className:"px-6",children:n.jsx(Fi,{size:18})})]}),n.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:["Press Enter to send. Drag & drop or click ",n.jsx(Vi,{size:12,className:"inline"})," to attach images."]})]}),U&&n.jsx("div",{className:"p-4 border-t-2 border-border bg-green-500 text-white",children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx($t,{size:20}),n.jsxs("span",{className:"font-bold",children:["Added ",_," new feature",_!==1?"s":"","!"]})]}),n.jsx(F,{onClick:()=>r(_),variant:"secondary",children:"Close"})]})})]})}function Aj({isOpen:i,projectName:r,onClose:d,onFeaturesAdded:o}){if(!i)return null;const h=x=>{x>0&&o(),d()};return n.jsx("div",{className:"fixed inset-0 z-50 bg-background",children:n.jsx(Ej,{projectName:r,onComplete:h,onCancel:d})})}const Dj={claude:"Default provider. Uses your Claude CLI credentials.",kimi:"Get an API key at kimi.com",glm:"Get an API key at open.bigmodel.cn",ollama:"Run models locally. Install from ollama.com",custom:"Connect to any OpenAI-compatible API endpoint."};function _j({isOpen:i,onClose:r}){const{data:d,isLoading:o,isError:h,refetch:x}=Au(),{data:y}=nv(),{data:v}=av(),p=lv(),{theme:S,setTheme:T,darkMode:E,toggleDarkMode:B}=Oh(),[w,O]=f.useState(!1),[U,z]=f.useState(""),[_,b]=f.useState(""),[N,L]=f.useState(""),J=()=>{d&&!p.isPending&&p.mutate({yolo_mode:!d.yolo_mode})},W=ae=>{p.isPending||p.mutate({api_model:ae})},X=ae=>{p.isPending||p.mutate({testing_agent_ratio:ae})},I=ae=>{p.isPending||p.mutate({batch_size:ae})},Q=ae=>{p.isPending||(p.mutate({api_provider:ae}),z(""),O(!1),b(""),L(""))},le=()=>{U.trim()&&!p.isPending&&(p.mutate({api_auth_token:U.trim()}),z(""),O(!1))},P=()=>{N.trim()&&!p.isPending&&(p.mutate({api_base_url:N.trim()}),L(""))},H=()=>{_.trim()&&!p.isPending&&(p.mutate({api_model:_.trim()}),b(""))},$=v?.providers??[],Z=y?.models??[],Y=p.isPending,g=d?.api_provider??"claude",D=$.find(ae=>ae.id===g),te=g!=="claude"&&D?.requires_auth,fe=g==="custom"||g==="azure",ue=g==="custom"||g==="ollama";return n.jsx(Wt,{open:i,onOpenChange:ae=>!ae&&r(),children:n.jsxs(It,{"aria-describedby":void 0,className:"sm:max-w-lg max-h-[90vh] overflow-y-auto",children:[n.jsx(Pt,{children:n.jsxs(ea,{className:"flex items-center gap-2",children:["Settings",Y&&n.jsx(Ce,{className:"animate-spin",size:16})]})}),o&&n.jsxs("div",{className:"flex items-center justify-center py-8",children:[n.jsx(Ce,{className:"animate-spin",size:24}),n.jsx("span",{className:"ml-2",children:"Loading settings..."})]}),h&&n.jsxs(ft,{variant:"destructive",children:[n.jsx(za,{className:"h-4 w-4"}),n.jsxs(mt,{children:["Failed to load settings",n.jsx(F,{variant:"link",onClick:()=>x(),className:"ml-2 p-0 h-auto",children:"Retry"})]})]}),d&&!o&&n.jsxs("div",{className:"space-y-6",children:[n.jsxs("div",{className:"space-y-3",children:[n.jsx(ze,{className:"font-medium",children:"Theme"}),n.jsx("div",{className:"grid gap-2",children:Yi.map(ae=>n.jsxs("button",{onClick:()=>T(ae.id),className:`flex items-center gap-3 p-3 rounded-lg border-2 transition-colors text-left ${S===ae.id?"border-primary bg-primary/5":"border-border hover:border-primary/50 hover:bg-muted/50"}`,children:[n.jsxs("div",{className:"flex gap-0.5 shrink-0",children:[n.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:ae.previewColors.background}}),n.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:ae.previewColors.primary}}),n.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:ae.previewColors.accent}})]}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-medium text-sm",children:ae.name}),n.jsx("div",{className:"text-xs text-muted-foreground",children:ae.description})]}),S===ae.id&&n.jsx(sa,{size:18,className:"text-primary shrink-0"})]},ae.id))})]}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"space-y-0.5",children:[n.jsx(ze,{htmlFor:"dark-mode",className:"font-medium",children:"Dark Mode"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Switch between light and dark appearance"})]}),n.jsxs(F,{id:"dark-mode",variant:"outline",size:"sm",onClick:B,className:"gap-2",children:[E?n.jsx(jh,{size:16}):n.jsx(Sh,{size:16}),E?"Light":"Dark"]})]}),n.jsx("hr",{className:"border-border"}),n.jsxs("div",{className:"space-y-3",children:[n.jsx(ze,{className:"font-medium",children:"API Provider"}),n.jsx("div",{className:"flex flex-wrap gap-1.5",children:$.map(ae=>n.jsx("button",{onClick:()=>Q(ae.id),disabled:Y,className:`py-1.5 px-3 text-sm font-medium rounded-md border transition-colors ${g===ae.id?"bg-primary text-primary-foreground border-primary":"bg-background text-foreground border-border hover:bg-muted"} ${Y?"opacity-50 cursor-not-allowed":""}`,children:ae.name.split(" (")[0]},ae.id))}),n.jsx("p",{className:"text-xs text-muted-foreground",children:Dj[g]??""}),te&&n.jsxs("div",{className:"space-y-2 pt-1",children:[n.jsx(ze,{className:"text-sm",children:"API Key"}),d.api_has_auth_token&&!U&&n.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[n.jsx(Hm,{size:14,className:"text-green-500"}),n.jsx("span",{children:"Configured"}),n.jsx(F,{variant:"ghost",size:"sm",className:"h-auto py-0.5 px-2 text-xs",onClick:()=>z(" "),children:"Change"})]}),(!d.api_has_auth_token||U)&&n.jsxs("div",{className:"flex gap-2",children:[n.jsxs("div",{className:"relative flex-1",children:[n.jsx("input",{type:w?"text":"password",value:U.trim(),onChange:ae=>z(ae.target.value),placeholder:"Enter API key...",className:"w-full py-1.5 px-3 pe-9 text-sm border rounded-md bg-background"}),n.jsx("button",{type:"button",onClick:()=>O(!w),className:"absolute end-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:w?n.jsx($p,{size:14}):n.jsx(Wp,{size:14})})]}),n.jsx(F,{size:"sm",onClick:le,disabled:!U.trim()||Y,children:"Save"})]})]}),fe&&n.jsxs("div",{className:"space-y-2 pt-1",children:[n.jsx(ze,{className:"text-sm",children:"Base URL"}),d.api_base_url&&!N&&n.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[n.jsx(Hm,{size:14,className:"text-green-500"}),n.jsx("span",{className:"truncate",children:d.api_base_url}),n.jsx(F,{variant:"ghost",size:"sm",className:"h-auto py-0.5 px-2 text-xs shrink-0",onClick:()=>L(d.api_base_url||""),children:"Change"})]}),(!d.api_base_url||N)&&n.jsxs("div",{className:"flex gap-2",children:[n.jsx("input",{type:"text",value:N,onChange:ae=>L(ae.target.value),placeholder:g==="azure"?"https://your-resource.services.ai.azure.com/anthropic":"https://api.example.com/v1",className:"flex-1 py-1.5 px-3 text-sm border rounded-md bg-background"}),n.jsx(F,{size:"sm",onClick:P,disabled:!N.trim()||Y,children:"Save"})]})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{className:"font-medium",children:"Model"}),Z.length>0&&n.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:Z.map(ae=>n.jsxs("button",{onClick:()=>W(ae.id),disabled:Y,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${(d.api_model??d.model)===ae.id?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${Y?"opacity-50 cursor-not-allowed":""}`,children:[n.jsx("span",{className:"block",children:ae.name}),n.jsx("span",{className:"block text-xs opacity-60",children:ae.id})]},ae.id))}),ue&&n.jsxs("div",{className:"flex gap-2 pt-1",children:[n.jsx("input",{type:"text",value:_,onChange:ae=>b(ae.target.value),placeholder:"Custom model name...",className:"flex-1 py-1.5 px-3 text-sm border rounded-md bg-background",onKeyDown:ae=>ae.key==="Enter"&&H()}),n.jsx(F,{size:"sm",onClick:H,disabled:!_.trim()||Y,children:"Set"})]})]}),n.jsx("hr",{className:"border-border"}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"space-y-0.5",children:[n.jsx(ze,{htmlFor:"yolo-mode",className:"font-medium",children:"YOLO Mode"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Skip testing for rapid prototyping"})]}),n.jsx(ju,{id:"yolo-mode",checked:d.yolo_mode,onCheckedChange:J,disabled:Y})]}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"space-y-0.5",children:[n.jsx(ze,{htmlFor:"playwright-headless",className:"font-medium",children:"Headless Browser"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Run browser without visible window (saves CPU)"})]}),n.jsx(ju,{id:"playwright-headless",checked:d.playwright_headless,onCheckedChange:()=>p.mutate({playwright_headless:!d.playwright_headless}),disabled:Y})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{className:"font-medium",children:"Regression Agents"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Number of regression testing agents (0 = disabled)"}),n.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:[0,1,2,3].map(ae=>n.jsx("button",{onClick:()=>X(ae),disabled:Y,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${d.testing_agent_ratio===ae?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${Y?"opacity-50 cursor-not-allowed":""}`,children:ae},ae))})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{className:"font-medium",children:"Features per Agent"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Number of features assigned to each coding agent"}),n.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:[1,2,3].map(ae=>n.jsx("button",{onClick:()=>I(ae),disabled:Y,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${(d.batch_size??1)===ae?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${Y?"opacity-50 cursor-not-allowed":""}`,children:ae},ae))})]}),p.isError&&n.jsx(ft,{variant:"destructive",children:n.jsx(mt,{children:"Failed to save settings. Please try again."})})]})]})})}function Mj({projectName:i,isOpen:r,onClose:d,autoStartOnSave:o=!1}){const{data:h}=iv(r?i:null),x=cv(i),y=Qe(),[v,p]=f.useState(""),[S,T]=f.useState(null),[E,B]=f.useState(!1);f.useEffect(()=>{r&&h&&(p(h.custom_command??h.effective_command??""),T(null))},[r,h]);const w=!!h?.custom_command,O=async()=>{const z=v.trim();if(!z){T("Please enter a dev server command.");return}B(!0),T(null);try{await x.mutateAsync(z),o&&(await Dh(i),y.invalidateQueries({queryKey:["dev-server-status",i]})),d()}catch(_){T(_ instanceof Error?_.message:"Failed to save configuration")}finally{B(!1)}},U=async()=>{B(!0),T(null);try{await x.mutateAsync(null),p(h?.detected_command??"")}catch(z){T(z instanceof Error?z.message:"Failed to clear configuration")}finally{B(!1)}};return n.jsx(Wt,{open:r,onOpenChange:z=>!z&&d(),children:n.jsxs(It,{className:"sm:max-w-lg",children:[n.jsx(Pt,{children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"p-2 rounded-lg bg-primary/10 text-primary",children:n.jsx(vu,{size:20})}),n.jsx(ea,{children:"Dev Server Configuration"})]})}),n.jsx(xs,{asChild:!0,children:n.jsxs("div",{className:"space-y-4",children:[n.jsx("div",{className:"rounded-lg border-2 border-border bg-muted/50 p-3 text-sm",children:h?.detected_type?n.jsxs("p",{children:["Detected project type: ",n.jsx("strong",{className:"text-foreground",children:h.detected_type}),h.detected_command&&n.jsxs("span",{className:"text-muted-foreground",children:[" — ",h.detected_command]})]}):n.jsx("p",{className:"text-muted-foreground",children:"No project type detected. Enter a custom command below."})}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{htmlFor:"dev-command",className:"text-foreground",children:"Dev server command"}),n.jsx(lt,{id:"dev-command",value:v,onChange:z=>{p(z.target.value),T(null)},placeholder:"npm run dev",onKeyDown:z=>{z.key==="Enter"&&!E&&O()}}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"Allowed runners: npm, npx, pnpm, yarn, python, uvicorn, flask, poetry, cargo, go"})]}),w&&n.jsxs(F,{variant:"outline",size:"sm",onClick:U,disabled:E,className:"gap-1.5",children:[n.jsx(Sn,{size:14}),"Clear custom command (use auto-detection)"]}),S&&n.jsx("p",{className:"text-sm font-mono text-destructive",children:S})]})}),n.jsxs(Ea,{className:"gap-2 sm:gap-0",children:[n.jsx(F,{variant:"outline",onClick:d,disabled:E,children:"Cancel"}),n.jsx(F,{onClick:O,disabled:E,children:E?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{size:16,className:"animate-spin mr-1.5"}),"Saving..."]}):o?"Save & Start":"Save"})]})]})})}function kj(i){const r=Qe();return Ze({mutationFn:()=>Dh(i),onSuccess:()=>{r.invalidateQueries({queryKey:["dev-server-status",i]})}})}function Oj(i){const r=Qe();return Ze({mutationFn:()=>z0(i),onSuccess:()=>{r.invalidateQueries({queryKey:["dev-server-status",i]})}})}function Rj({projectName:i,status:r,url:d}){const o=kj(i),h=Oj(i),[x,y]=f.useState(!1),[v,p]=f.useState(!1),S=o.isPending||h.isPending,T=()=>{h.reset(),o.mutate(void 0,{onError:N=>{N.message?.includes("No dev command available")&&(p(!0),y(!0))}})},E=()=>{o.reset(),h.mutate()},B=()=>{p(!1),y(!0)},w=()=>{y(!1),o.error?.message?.includes("No dev command available")&&o.reset()},O=r==="stopped"||r==="crashed",U=r==="running",z=r==="crashed",_=o.error,b=_&&!_.message?.includes("No dev command available");return n.jsxs("div",{className:"flex items-center gap-2",children:[O?n.jsxs(n.Fragment,{children:[n.jsx(F,{onClick:T,disabled:S,variant:z?"destructive":"outline",size:"sm",title:z?"Dev Server Crashed - Click to Restart":"Start Dev Server","aria-label":z?"Restart Dev Server (crashed)":"Start Dev Server",children:S?n.jsx(Ce,{size:18,className:"animate-spin"}):z?n.jsx(Ta,{size:18}):n.jsx(Ip,{size:18})}),n.jsx(F,{onClick:B,variant:"ghost",size:"sm",title:"Configure Dev Server","aria-label":"Configure Dev Server",children:n.jsx(Pp,{size:16})})]}):n.jsx(F,{onClick:E,disabled:S,size:"sm",className:"bg-primary text-primary-foreground hover:bg-primary/90",title:"Stop Dev Server","aria-label":"Stop Dev Server",children:S?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(ph,{size:18})}),U&&d&&n.jsx(F,{asChild:!0,size:"sm",className:"bg-primary text-primary-foreground hover:bg-primary/90 gap-1",children:n.jsxs("a",{href:d,target:"_blank",rel:"noopener noreferrer",title:`Open ${d} in new tab`,children:[n.jsx("span",{className:"font-mono text-xs",children:d}),n.jsx(zu,{size:14})]})}),(b||h.error)&&n.jsx("span",{className:"text-xs font-mono text-destructive ml-2",children:String((b?_:h.error)?.message||"Operation failed")}),n.jsx(Mj,{projectName:i,isOpen:x,onClose:w,autoStartOnSave:v})]})}function Uj({viewMode:i,onViewModeChange:r}){return n.jsxs("div",{className:"inline-flex rounded-lg border p-1 bg-background",children:[n.jsxs(F,{variant:i==="kanban"?"default":"ghost",size:"sm",onClick:()=>r("kanban"),title:"Kanban View",children:[n.jsx(ey,{size:16}),"Kanban"]}),n.jsxs(F,{variant:i==="graph"?"default":"ghost",size:"sm",onClick:()=>r("graph"),title:"Dependency Graph View",children:[n.jsx(hl,{size:16}),"Graph"]})]})}var Bj=iy();const dh=Np(Bj),Zi=220,fh=80;class Hj extends f.Component{constructor(r){super(r),this.state={hasError:!1,error:null}}static getDerivedStateFromError(r){return{hasError:!0,error:r}}componentDidCatch(r,d){console.error("DependencyGraph error:",r,d)}handleReset=()=>{this.setState({hasError:!1,error:null}),this.props.onReset?.()};render(){return this.state.hasError?n.jsx("div",{className:"h-full w-full flex items-center justify-center bg-muted",children:n.jsxs("div",{className:"text-center p-6",children:[n.jsx(Ta,{size:48,className:"mx-auto mb-4 text-yellow-500"}),n.jsx("div",{className:"text-foreground font-bold mb-2",children:"Graph rendering error"}),n.jsx("div",{className:"text-sm text-muted-foreground mb-4",children:"The dependency graph encountered an issue."}),n.jsxs(F,{onClick:this.handleReset,className:"gap-2",children:[n.jsx(ty,{size:16}),"Reload Graph"]})]})}):this.props.children}}function qj({data:i}){const r={pending:"bg-yellow-100 border-yellow-300 dark:bg-yellow-900/30 dark:border-yellow-700",in_progress:"bg-cyan-100 border-cyan-300 dark:bg-cyan-900/30 dark:border-cyan-700",done:"bg-green-100 border-green-300 dark:bg-green-900/30 dark:border-green-700",blocked:"bg-red-50 border-red-300 dark:bg-red-900/20 dark:border-red-700",needs_human_input:"bg-amber-100 border-amber-300 dark:bg-amber-900/30 dark:border-amber-700"},d={pending:"text-yellow-900 dark:text-yellow-100",in_progress:"text-cyan-900 dark:text-cyan-100",done:"text-green-900 dark:text-green-100",blocked:"text-red-900 dark:text-red-100",needs_human_input:"text-amber-900 dark:text-amber-100"},o=()=>{switch(i.status){case"done":return n.jsx($t,{size:16,className:d[i.status]});case"in_progress":return n.jsx(Ce,{size:16,className:`${d[i.status]} animate-spin`});case"blocked":return n.jsx(Ta,{size:16,className:"text-destructive"});case"needs_human_input":return n.jsx(Ji,{size:16,className:d[i.status]});default:return n.jsx(ol,{size:16,className:d[i.status]})}};return n.jsxs(n.Fragment,{children:[n.jsx(qm,{type:"target",position:ul.Left,className:"!bg-border !w-2 !h-2"}),n.jsxs("div",{className:`
|
|
91
|
+
`,style:{width:`${B}px`,maxWidth:`${uh}vw`},role:"dialog","aria-label":"Project Assistant","aria-hidden":!r,children:[n.jsx("div",{className:"absolute left-0 top-0 bottom-0 w-1.5 cursor-col-resize z-10 group",onMouseDown:U,children:n.jsx("div",{className:"absolute inset-y-0 left-0 w-0.5 bg-border group-hover:bg-primary transition-colors"})}),n.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border bg-primary text-primary-foreground",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("div",{className:"bg-card text-foreground border border-border p-1.5 rounded",children:n.jsx(Cu,{size:18})}),n.jsxs("div",{children:[n.jsx("h2",{className:"font-semibold",children:"Project Assistant"}),n.jsx("p",{className:"text-xs opacity-80 font-mono",children:i})]})]}),n.jsx(F,{variant:"ghost",size:"icon",onClick:d,className:"text-primary-foreground hover:bg-primary-foreground/20",title:"Close Assistant (Press A)","aria-label":"Close Assistant",children:n.jsx(nt,{size:18})})]}),n.jsx("div",{className:"flex-1 overflow-hidden",children:r&&n.jsx(jj,{projectName:i,conversationId:o,initialMessages:p,isLoadingConversation:y,onNewChat:S,onSelectConversation:T,onConversationCreated:E})})]})]})}function ds(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function wj({projectName:i,onComplete:r,onError:d}){const[o,h]=f.useState([]),[x,y]=f.useState(!1),[v,p]=f.useState(!1),[S,T]=f.useState("disconnected"),[E,B]=f.useState(0),[w,O]=f.useState([]),U=f.useRef(null),z=f.useRef(null),_=f.useRef(0),b=3,N=f.useRef(null),L=f.useRef(null),$=f.useRef(!1),W=f.useRef(!1);f.useEffect(()=>{$.current=v},[v]),f.useEffect(()=>()=>{N.current&&clearInterval(N.current),L.current&&clearTimeout(L.current),U.current&&U.current.close()},[]);const K=f.useCallback(()=>{if(W.current||U.current?.readyState===WebSocket.OPEN)return;T("connecting");const P=window.location.protocol==="https:"?"wss:":"ws:",H=window.location.host,J=`${P}//${H}/api/expand/ws/${encodeURIComponent(i)}`,X=new WebSocket(J);U.current=X,X.onopen=()=>{T("connected"),_.current=0,W.current=!1,N.current=window.setInterval(()=>{X.readyState===WebSocket.OPEN&&X.send(JSON.stringify({type:"ping"}))},3e4)},X.onclose=Y=>{T("disconnected"),N.current&&(clearInterval(N.current),N.current=null);const g=Y.code>=4e3&&Y.code<=4999;if(!W.current&&!g&&_.current<b&&!$.current){_.current++;const D=Math.min(1e3*Math.pow(2,_.current),1e4);L.current=window.setTimeout(K,D)}},X.onerror=()=>{T("error"),d?.("WebSocket connection error")},X.onmessage=Y=>{try{const g=JSON.parse(Y.data);switch(g.type){case"text":{h(D=>{const ee=D[D.length-1];return ee?.role==="assistant"&&ee.isStreaming?[...D.slice(0,-1),{...ee,content:ee.content+g.content}]:(z.current=ds(),[...D,{id:z.current,role:"assistant",content:g.content,timestamp:new Date,isStreaming:!0}])});break}case"features_created":{B(D=>D+g.count),O(g.features),h(D=>[...D,{id:ds(),role:"system",content:`Created ${g.count} new feature${g.count!==1?"s":""}!`,timestamp:new Date}]);break}case"expansion_complete":{p(!0),y(!1),h(D=>{const ee=D[D.length-1];return ee?.role==="assistant"&&ee.isStreaming?[...D.slice(0,-1),{...ee,isStreaming:!1}]:D}),r?.(g.total_added);break}case"error":{y(!1),d?.(g.content),h(D=>[...D,{id:ds(),role:"system",content:`Error: ${g.content}`,timestamp:new Date}]);break}case"rate_limited":{h(D=>[...D,{id:ds(),role:"system",content:`Rate limited. Retrying in ${g.retry_in}s... (attempt ${g.attempt}/${g.max_attempts})`,timestamp:new Date}]);break}case"pong":break;case"response_done":{y(!1),h(D=>{const ee=D[D.length-1];return ee?.role==="assistant"&&ee.isStreaming?[...D.slice(0,-1),{...ee,isStreaming:!1}]:D});break}}}catch(g){console.error("Failed to parse WebSocket message:",g)}}},[i,r,d]),I=f.useCallback(()=>{K();let P=0;const H=50,J=()=>{U.current?.readyState===WebSocket.OPEN?(y(!0),U.current.send(JSON.stringify({type:"start"}))):U.current?.readyState===WebSocket.CONNECTING&&(P++<H?setTimeout(J,100):(d?.("Connection timeout"),y(!1)))};setTimeout(J,100)},[K,d]),Q=f.useCallback((P,H)=>{if(!U.current||U.current.readyState!==WebSocket.OPEN){d?.("Not connected");return}h(X=>[...X,{id:ds(),role:"user",content:P,attachments:H,timestamp:new Date}]),y(!0);const J={type:"message",content:P};H&&H.length>0&&(J.attachments=H.map(X=>({filename:X.filename,mimeType:X.mimeType,base64Data:X.base64Data}))),U.current.send(JSON.stringify(J))},[d]),le=f.useCallback(()=>{W.current=!0,_.current=b,N.current&&(clearInterval(N.current),N.current=null),L.current&&(clearTimeout(L.current),L.current=null),U.current&&(U.current.close(),U.current=null),T("disconnected")},[]);return{messages:o,isLoading:x,isComplete:v,connectionStatus:S,featuresCreated:E,recentFeatures:w,start:I,sendMessage:Q,disconnect:le}}const zj=5*1024*1024,Tj=["image/jpeg","image/png"];function Ej({projectName:i,onComplete:r,onCancel:d}){const[o,h]=f.useState(""),[x,y]=f.useState(null),[v,p]=f.useState([]),S=f.useRef(null),T=f.useRef(null),E=f.useRef(null),B=f.useCallback(H=>y(H),[]),{messages:w,isLoading:O,isComplete:U,connectionStatus:z,featuresCreated:_,start:b,sendMessage:N,disconnect:L}=wj({projectName:i,onComplete:r,onError:B});f.useEffect(()=>(b(),()=>{L()}),[]),f.useEffect(()=>{S.current?.scrollIntoView({behavior:"smooth"})},[w,O]),f.useEffect(()=>{!O&&T.current&&T.current.focus()},[O]);const $=()=>{const H=o.trim();!H&&v.length===0||O||(N(H,v.length>0?v:void 0),h(""),p([]))},W=H=>{ys(H)&&(H.preventDefault(),$())},K=f.useCallback(H=>{H&&Array.from(H).forEach(J=>{if(!Tj.includes(J.type)){y(`Invalid file type: ${J.name}. Only JPEG and PNG are supported.`);return}if(J.size>zj){y(`File too large: ${J.name}. Maximum size is 5 MB.`);return}const X=new FileReader;X.onload=Y=>{const g=Y.target?.result,D=g.split(",")[1],ee={id:`${Date.now()}-${Math.random().toString(36).substring(2,9)}`,filename:J.name,mimeType:J.type,base64Data:D,previewUrl:g,size:J.size};p(te=>[...te,ee])},X.onerror=()=>{y(`Failed to read file: ${J.name}`)},X.readAsDataURL(J)})},[]),I=f.useCallback(H=>{p(J=>J.filter(X=>X.id!==H))},[]),Q=f.useCallback(H=>{H.preventDefault(),K(H.dataTransfer.files)},[K]),le=f.useCallback(H=>{H.preventDefault()},[]),P=()=>{switch(z){case"connected":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-green-500",children:[n.jsx(hl,{size:12}),"Connected"]});case"connecting":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-yellow-500",children:[n.jsx(hl,{size:12,className:"animate-pulse"}),"Connecting..."]});case"error":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-destructive",children:[n.jsx(ml,{size:12}),"Error"]});default:return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[n.jsx(ml,{size:12}),"Disconnected"]})}};return n.jsxs("div",{className:"flex flex-col h-full bg-background",children:[n.jsxs("div",{className:"flex items-center justify-between p-4 border-b-2 border-border bg-card",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs("h2",{className:"font-display font-bold text-lg text-foreground",children:["Expand Project: ",i]}),n.jsx(P,{}),_>0&&n.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[n.jsx(tn,{size:14}),_," added"]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[U&&n.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[n.jsx(Jt,{size:16}),"Complete"]}),n.jsx(F,{onClick:d,variant:"ghost",size:"icon",title:"Close",children:n.jsx(nt,{size:20})})]})]}),x&&n.jsxs(ft,{variant:"destructive",className:"rounded-none border-x-0 border-t-0",children:[n.jsx(za,{size:16}),n.jsx(mt,{className:"flex-1",children:x}),n.jsx(F,{onClick:()=>y(null),variant:"ghost",size:"icon",className:"h-6 w-6",children:n.jsx(nt,{size:14})})]}),n.jsxs("div",{className:"flex-1 overflow-y-auto py-4",children:[w.length===0&&!O&&n.jsx("div",{className:"flex flex-col items-center justify-center h-full text-center p-8",children:n.jsx(Oe,{className:"p-6 max-w-md",children:n.jsxs(Ge,{className:"p-0",children:[n.jsx("h3",{className:"font-display font-bold text-lg mb-2",children:"Starting Project Expansion"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Connecting to Claude to help you add new features to your project..."}),z==="error"&&n.jsxs(F,{onClick:b,className:"mt-4",size:"sm",children:[n.jsx(Sn,{size:14}),"Retry Connection"]})]})})}),w.map(H=>n.jsx(_u,{message:H},H.id)),O&&n.jsx(Uh,{}),n.jsx("div",{ref:S})]}),!U&&n.jsxs("div",{className:"p-4 border-t-2 border-border bg-card",onDrop:Q,onDragOver:le,children:[v.length>0&&n.jsx("div",{className:"flex flex-wrap gap-2 mb-3",children:v.map(H=>n.jsxs("div",{className:"relative group border-2 border-border p-1 bg-card rounded shadow-sm",children:[n.jsx("img",{src:H.previewUrl,alt:H.filename,className:"w-16 h-16 object-cover rounded"}),n.jsx("button",{onClick:()=>I(H.id),className:"absolute -top-2 -right-2 bg-destructive text-destructive-foreground rounded-full p-0.5 border-2 border-border hover:scale-110 transition-transform",title:"Remove attachment",children:n.jsx(nt,{size:12})}),n.jsx("span",{className:"text-xs truncate block max-w-16 mt-1 text-center text-muted-foreground",children:H.filename.length>10?`${H.filename.substring(0,7)}...`:H.filename})]},H.id))}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx("input",{ref:E,type:"file",accept:"image/jpeg,image/png",multiple:!0,onChange:H=>K(H.target.files),className:"hidden"}),n.jsx(F,{onClick:()=>E.current?.click(),disabled:z!=="connected",variant:"ghost",size:"icon",title:"Attach image (JPEG, PNG - max 5MB)",children:n.jsx(Vi,{size:18})}),n.jsx(lt,{ref:T,type:"text",value:o,onChange:H=>h(H.target.value),onKeyDown:W,placeholder:v.length>0?"Add a message with your image(s)...":"Describe the features you want to add...",className:"flex-1",disabled:O||z!=="connected"}),n.jsx(F,{onClick:$,disabled:!o.trim()&&v.length===0||O||z!=="connected",className:"px-6",children:n.jsx(Fi,{size:18})})]}),n.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:["Press Enter to send. Drag & drop or click ",n.jsx(Vi,{size:12,className:"inline"})," to attach images."]})]}),U&&n.jsx("div",{className:"p-4 border-t-2 border-border bg-green-500 text-white",children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Jt,{size:20}),n.jsxs("span",{className:"font-bold",children:["Added ",_," new feature",_!==1?"s":"","!"]})]}),n.jsx(F,{onClick:()=>r(_),variant:"secondary",children:"Close"})]})})]})}function Aj({isOpen:i,projectName:r,onClose:d,onFeaturesAdded:o}){if(!i)return null;const h=x=>{x>0&&o(),d()};return n.jsx("div",{className:"fixed inset-0 z-50 bg-background",children:n.jsx(Ej,{projectName:r,onComplete:h,onCancel:d})})}const Dj={claude:"Default provider. Uses your Claude CLI credentials.",kimi:"Get an API key at kimi.com",glm:"Get an API key at open.bigmodel.cn",ollama:"Run models locally. Install from ollama.com",custom:"Connect to any OpenAI-compatible API endpoint."};function _j({isOpen:i,onClose:r}){const{data:d,isLoading:o,isError:h,refetch:x}=Au(),{data:y}=nv(),{data:v}=av(),p=lv(),{theme:S,setTheme:T,darkMode:E,toggleDarkMode:B}=Oh(),[w,O]=f.useState(!1),[U,z]=f.useState(""),[_,b]=f.useState(""),[N,L]=f.useState(""),$=()=>{d&&!p.isPending&&p.mutate({yolo_mode:!d.yolo_mode})},W=ae=>{p.isPending||p.mutate({api_model:ae})},K=ae=>{p.isPending||p.mutate({testing_agent_ratio:ae})},I=ae=>{p.isPending||p.mutate({batch_size:ae})},Q=ae=>{p.isPending||(p.mutate({api_provider:ae}),z(""),O(!1),b(""),L(""))},le=()=>{U.trim()&&!p.isPending&&(p.mutate({api_auth_token:U.trim()}),z(""),O(!1))},P=()=>{N.trim()&&!p.isPending&&(p.mutate({api_base_url:N.trim()}),L(""))},H=()=>{_.trim()&&!p.isPending&&(p.mutate({api_model:_.trim()}),b(""))},J=v?.providers??[],X=y?.models??[],Y=p.isPending,g=d?.api_provider??"claude",D=J.find(ae=>ae.id===g),te=g!=="claude"&&D?.requires_auth,fe=g==="custom"||g==="azure",ue=g==="custom"||g==="ollama";return n.jsx(Wt,{open:i,onOpenChange:ae=>!ae&&r(),children:n.jsxs(It,{"aria-describedby":void 0,className:"sm:max-w-lg max-h-[90vh] overflow-y-auto",children:[n.jsx(Pt,{children:n.jsxs(ea,{className:"flex items-center gap-2",children:["Settings",Y&&n.jsx(Ce,{className:"animate-spin",size:16})]})}),o&&n.jsxs("div",{className:"flex items-center justify-center py-8",children:[n.jsx(Ce,{className:"animate-spin",size:24}),n.jsx("span",{className:"ml-2",children:"Loading settings..."})]}),h&&n.jsxs(ft,{variant:"destructive",children:[n.jsx(za,{className:"h-4 w-4"}),n.jsxs(mt,{children:["Failed to load settings",n.jsx(F,{variant:"link",onClick:()=>x(),className:"ml-2 p-0 h-auto",children:"Retry"})]})]}),d&&!o&&n.jsxs("div",{className:"space-y-6",children:[n.jsxs("div",{className:"space-y-3",children:[n.jsx(ze,{className:"font-medium",children:"Theme"}),n.jsx("div",{className:"grid gap-2",children:Yi.map(ae=>n.jsxs("button",{onClick:()=>T(ae.id),className:`flex items-center gap-3 p-3 rounded-lg border-2 transition-colors text-left ${S===ae.id?"border-primary bg-primary/5":"border-border hover:border-primary/50 hover:bg-muted/50"}`,children:[n.jsxs("div",{className:"flex gap-0.5 shrink-0",children:[n.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:ae.previewColors.background}}),n.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:ae.previewColors.primary}}),n.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:ae.previewColors.accent}})]}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-medium text-sm",children:ae.name}),n.jsx("div",{className:"text-xs text-muted-foreground",children:ae.description})]}),S===ae.id&&n.jsx(sa,{size:18,className:"text-primary shrink-0"})]},ae.id))})]}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"space-y-0.5",children:[n.jsx(ze,{htmlFor:"dark-mode",className:"font-medium",children:"Dark Mode"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Switch between light and dark appearance"})]}),n.jsxs(F,{id:"dark-mode",variant:"outline",size:"sm",onClick:B,className:"gap-2",children:[E?n.jsx(jh,{size:16}):n.jsx(Sh,{size:16}),E?"Light":"Dark"]})]}),n.jsx("hr",{className:"border-border"}),n.jsxs("div",{className:"space-y-3",children:[n.jsx(ze,{className:"font-medium",children:"API Provider"}),n.jsx("div",{className:"flex flex-wrap gap-1.5",children:J.map(ae=>n.jsx("button",{onClick:()=>Q(ae.id),disabled:Y,className:`py-1.5 px-3 text-sm font-medium rounded-md border transition-colors ${g===ae.id?"bg-primary text-primary-foreground border-primary":"bg-background text-foreground border-border hover:bg-muted"} ${Y?"opacity-50 cursor-not-allowed":""}`,children:ae.name.split(" (")[0]},ae.id))}),n.jsx("p",{className:"text-xs text-muted-foreground",children:Dj[g]??""}),te&&n.jsxs("div",{className:"space-y-2 pt-1",children:[n.jsx(ze,{className:"text-sm",children:"API Key"}),d.api_has_auth_token&&!U&&n.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[n.jsx(Hm,{size:14,className:"text-green-500"}),n.jsx("span",{children:"Configured"}),n.jsx(F,{variant:"ghost",size:"sm",className:"h-auto py-0.5 px-2 text-xs",onClick:()=>z(" "),children:"Change"})]}),(!d.api_has_auth_token||U)&&n.jsxs("div",{className:"flex gap-2",children:[n.jsxs("div",{className:"relative flex-1",children:[n.jsx("input",{type:w?"text":"password",value:U.trim(),onChange:ae=>z(ae.target.value),placeholder:"Enter API key...",className:"w-full py-1.5 px-3 pe-9 text-sm border rounded-md bg-background"}),n.jsx("button",{type:"button",onClick:()=>O(!w),className:"absolute end-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:w?n.jsx(Jp,{size:14}):n.jsx(Wp,{size:14})})]}),n.jsx(F,{size:"sm",onClick:le,disabled:!U.trim()||Y,children:"Save"})]})]}),fe&&n.jsxs("div",{className:"space-y-2 pt-1",children:[n.jsx(ze,{className:"text-sm",children:"Base URL"}),d.api_base_url&&!N&&n.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[n.jsx(Hm,{size:14,className:"text-green-500"}),n.jsx("span",{className:"truncate",children:d.api_base_url}),n.jsx(F,{variant:"ghost",size:"sm",className:"h-auto py-0.5 px-2 text-xs shrink-0",onClick:()=>L(d.api_base_url||""),children:"Change"})]}),(!d.api_base_url||N)&&n.jsxs("div",{className:"flex gap-2",children:[n.jsx("input",{type:"text",value:N,onChange:ae=>L(ae.target.value),placeholder:g==="azure"?"https://your-resource.services.ai.azure.com/anthropic":"https://api.example.com/v1",className:"flex-1 py-1.5 px-3 text-sm border rounded-md bg-background"}),n.jsx(F,{size:"sm",onClick:P,disabled:!N.trim()||Y,children:"Save"})]})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{className:"font-medium",children:"Model"}),X.length>0&&n.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:X.map(ae=>n.jsxs("button",{onClick:()=>W(ae.id),disabled:Y,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${(d.api_model??d.model)===ae.id?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${Y?"opacity-50 cursor-not-allowed":""}`,children:[n.jsx("span",{className:"block",children:ae.name}),n.jsx("span",{className:"block text-xs opacity-60",children:ae.id})]},ae.id))}),ue&&n.jsxs("div",{className:"flex gap-2 pt-1",children:[n.jsx("input",{type:"text",value:_,onChange:ae=>b(ae.target.value),placeholder:"Custom model name...",className:"flex-1 py-1.5 px-3 text-sm border rounded-md bg-background",onKeyDown:ae=>ae.key==="Enter"&&H()}),n.jsx(F,{size:"sm",onClick:H,disabled:!_.trim()||Y,children:"Set"})]})]}),n.jsx("hr",{className:"border-border"}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"space-y-0.5",children:[n.jsx(ze,{htmlFor:"yolo-mode",className:"font-medium",children:"YOLO Mode"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Skip testing for rapid prototyping"})]}),n.jsx(ju,{id:"yolo-mode",checked:d.yolo_mode,onCheckedChange:$,disabled:Y})]}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"space-y-0.5",children:[n.jsx(ze,{htmlFor:"playwright-headless",className:"font-medium",children:"Headless Browser"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Run browser without visible window (saves CPU)"})]}),n.jsx(ju,{id:"playwright-headless",checked:d.playwright_headless,onCheckedChange:()=>p.mutate({playwright_headless:!d.playwright_headless}),disabled:Y})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{className:"font-medium",children:"Regression Agents"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Number of regression testing agents (0 = disabled)"}),n.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:[0,1,2,3].map(ae=>n.jsx("button",{onClick:()=>K(ae),disabled:Y,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${d.testing_agent_ratio===ae?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${Y?"opacity-50 cursor-not-allowed":""}`,children:ae},ae))})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{className:"font-medium",children:"Features per Agent"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Number of features assigned to each coding agent"}),n.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:[1,2,3].map(ae=>n.jsx("button",{onClick:()=>I(ae),disabled:Y,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${(d.batch_size??1)===ae?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${Y?"opacity-50 cursor-not-allowed":""}`,children:ae},ae))})]}),p.isError&&n.jsx(ft,{variant:"destructive",children:n.jsx(mt,{children:"Failed to save settings. Please try again."})})]})]})})}function Mj({projectName:i,isOpen:r,onClose:d,autoStartOnSave:o=!1}){const{data:h}=iv(r?i:null),x=cv(i),y=Qe(),[v,p]=f.useState(""),[S,T]=f.useState(null),[E,B]=f.useState(!1);f.useEffect(()=>{r&&h&&(p(h.custom_command??h.effective_command??""),T(null))},[r,h]);const w=!!h?.custom_command,O=async()=>{const z=v.trim();if(!z){T("Please enter a dev server command.");return}B(!0),T(null);try{await x.mutateAsync(z),o&&(await Dh(i),y.invalidateQueries({queryKey:["dev-server-status",i]})),d()}catch(_){T(_ instanceof Error?_.message:"Failed to save configuration")}finally{B(!1)}},U=async()=>{B(!0),T(null);try{await x.mutateAsync(null),p(h?.detected_command??"")}catch(z){T(z instanceof Error?z.message:"Failed to clear configuration")}finally{B(!1)}};return n.jsx(Wt,{open:r,onOpenChange:z=>!z&&d(),children:n.jsxs(It,{className:"sm:max-w-lg",children:[n.jsx(Pt,{children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"p-2 rounded-lg bg-primary/10 text-primary",children:n.jsx(vu,{size:20})}),n.jsx(ea,{children:"Dev Server Configuration"})]})}),n.jsx(gs,{asChild:!0,children:n.jsxs("div",{className:"space-y-4",children:[n.jsx("div",{className:"rounded-lg border-2 border-border bg-muted/50 p-3 text-sm",children:h?.detected_type?n.jsxs("p",{children:["Detected project type: ",n.jsx("strong",{className:"text-foreground",children:h.detected_type}),h.detected_command&&n.jsxs("span",{className:"text-muted-foreground",children:[" — ",h.detected_command]})]}):n.jsx("p",{className:"text-muted-foreground",children:"No project type detected. Enter a custom command below."})}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(ze,{htmlFor:"dev-command",className:"text-foreground",children:"Dev server command"}),n.jsx(lt,{id:"dev-command",value:v,onChange:z=>{p(z.target.value),T(null)},placeholder:"npm run dev",onKeyDown:z=>{z.key==="Enter"&&!E&&O()}}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"Allowed runners: npm, npx, pnpm, yarn, python, uvicorn, flask, poetry, cargo, go"})]}),w&&n.jsxs(F,{variant:"outline",size:"sm",onClick:U,disabled:E,className:"gap-1.5",children:[n.jsx(Sn,{size:14}),"Clear custom command (use auto-detection)"]}),S&&n.jsx("p",{className:"text-sm font-mono text-destructive",children:S})]})}),n.jsxs(Ea,{className:"gap-2 sm:gap-0",children:[n.jsx(F,{variant:"outline",onClick:d,disabled:E,children:"Cancel"}),n.jsx(F,{onClick:O,disabled:E,children:E?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{size:16,className:"animate-spin mr-1.5"}),"Saving..."]}):o?"Save & Start":"Save"})]})]})})}function kj(i){const r=Qe();return Ze({mutationFn:()=>Dh(i),onSuccess:()=>{r.invalidateQueries({queryKey:["dev-server-status",i]})}})}function Oj(i){const r=Qe();return Ze({mutationFn:()=>z0(i),onSuccess:()=>{r.invalidateQueries({queryKey:["dev-server-status",i]})}})}function Rj({projectName:i,status:r,url:d}){const o=kj(i),h=Oj(i),[x,y]=f.useState(!1),[v,p]=f.useState(!1),S=o.isPending||h.isPending,T=()=>{h.reset(),o.mutate(void 0,{onError:N=>{N.message?.includes("No dev command available")&&(p(!0),y(!0))}})},E=()=>{o.reset(),h.mutate()},B=()=>{p(!1),y(!0)},w=()=>{y(!1),o.error?.message?.includes("No dev command available")&&o.reset()},O=r==="stopped"||r==="crashed",U=r==="running",z=r==="crashed",_=o.error,b=_&&!_.message?.includes("No dev command available");return n.jsxs("div",{className:"flex items-center gap-2",children:[O?n.jsxs(n.Fragment,{children:[n.jsx(F,{onClick:T,disabled:S,variant:z?"destructive":"outline",size:"sm",title:z?"Dev Server Crashed - Click to Restart":"Start Dev Server","aria-label":z?"Restart Dev Server (crashed)":"Start Dev Server",children:S?n.jsx(Ce,{size:18,className:"animate-spin"}):z?n.jsx(Ta,{size:18}):n.jsx(Ip,{size:18})}),n.jsx(F,{onClick:B,variant:"ghost",size:"sm",title:"Configure Dev Server","aria-label":"Configure Dev Server",children:n.jsx(Pp,{size:16})})]}):n.jsx(F,{onClick:E,disabled:S,size:"sm",className:"bg-primary text-primary-foreground hover:bg-primary/90",title:"Stop Dev Server","aria-label":"Stop Dev Server",children:S?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(ph,{size:18})}),U&&d&&n.jsx(F,{asChild:!0,size:"sm",className:"bg-primary text-primary-foreground hover:bg-primary/90 gap-1",children:n.jsxs("a",{href:d,target:"_blank",rel:"noopener noreferrer",title:`Open ${d} in new tab`,children:[n.jsx("span",{className:"font-mono text-xs",children:d}),n.jsx(zu,{size:14})]})}),(b||h.error)&&n.jsx("span",{className:"text-xs font-mono text-destructive ml-2",children:String((b?_:h.error)?.message||"Operation failed")}),n.jsx(Mj,{projectName:i,isOpen:x,onClose:w,autoStartOnSave:v})]})}function Uj({viewMode:i,onViewModeChange:r}){return n.jsxs("div",{className:"inline-flex rounded-lg border p-1 bg-background",children:[n.jsxs(F,{variant:i==="kanban"?"default":"ghost",size:"sm",onClick:()=>r("kanban"),title:"Kanban View",children:[n.jsx(ey,{size:16}),"Kanban"]}),n.jsxs(F,{variant:i==="graph"?"default":"ghost",size:"sm",onClick:()=>r("graph"),title:"Dependency Graph View",children:[n.jsx(xl,{size:16}),"Graph"]})]})}var Bj=iy();const dh=Np(Bj),Zi=220,fh=80;class Hj extends f.Component{constructor(r){super(r),this.state={hasError:!1,error:null}}static getDerivedStateFromError(r){return{hasError:!0,error:r}}componentDidCatch(r,d){console.error("DependencyGraph error:",r,d)}handleReset=()=>{this.setState({hasError:!1,error:null}),this.props.onReset?.()};render(){return this.state.hasError?n.jsx("div",{className:"h-full w-full flex items-center justify-center bg-muted",children:n.jsxs("div",{className:"text-center p-6",children:[n.jsx(Ta,{size:48,className:"mx-auto mb-4 text-yellow-500"}),n.jsx("div",{className:"text-foreground font-bold mb-2",children:"Graph rendering error"}),n.jsx("div",{className:"text-sm text-muted-foreground mb-4",children:"The dependency graph encountered an issue."}),n.jsxs(F,{onClick:this.handleReset,className:"gap-2",children:[n.jsx(ty,{size:16}),"Reload Graph"]})]})}):this.props.children}}function qj({data:i}){const r={pending:"bg-yellow-100 border-yellow-300 dark:bg-yellow-900/30 dark:border-yellow-700",in_progress:"bg-cyan-100 border-cyan-300 dark:bg-cyan-900/30 dark:border-cyan-700",done:"bg-green-100 border-green-300 dark:bg-green-900/30 dark:border-green-700",blocked:"bg-red-50 border-red-300 dark:bg-red-900/20 dark:border-red-700",needs_human_input:"bg-amber-100 border-amber-300 dark:bg-amber-900/30 dark:border-amber-700"},d={pending:"text-yellow-900 dark:text-yellow-100",in_progress:"text-cyan-900 dark:text-cyan-100",done:"text-green-900 dark:text-green-100",blocked:"text-red-900 dark:text-red-100",needs_human_input:"text-amber-900 dark:text-amber-100"},o=()=>{switch(i.status){case"done":return n.jsx(Jt,{size:16,className:d[i.status]});case"in_progress":return n.jsx(Ce,{size:16,className:`${d[i.status]} animate-spin`});case"blocked":return n.jsx(Ta,{size:16,className:"text-destructive"});case"needs_human_input":return n.jsx($i,{size:16,className:d[i.status]});default:return n.jsx(dl,{size:16,className:d[i.status]})}};return n.jsxs(n.Fragment,{children:[n.jsx(qm,{type:"target",position:ol.Left,className:"!bg-border !w-2 !h-2"}),n.jsxs("div",{className:`
|
|
92
92
|
px-4 py-3 rounded-lg border-2 cursor-pointer
|
|
93
93
|
transition-all hover:shadow-md relative
|
|
94
94
|
${r[i.status]}
|
|
95
|
-
`,onClick:i.onClick,style:{minWidth:Zi-20,maxWidth:Zi},children:[i.agent&&n.jsx("div",{className:"absolute -top-3 -right-3 z-10",children:n.jsx("div",{className:"rounded-full border-2 border-border bg-background shadow-sm",children:n.jsx(gl,{name:i.agent.name,state:i.agent.state,size:"sm"})})}),n.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[n.jsx(o,{}),n.jsxs("span",{className:`text-xs font-mono ${d[i.status]} opacity-70`,children:["#",i.priority]}),i.agent&&n.jsx("span",{className:`text-xs font-bold ${d[i.status]} ml-auto`,children:i.agent.name})]}),n.jsx("div",{className:`font-bold text-sm ${d[i.status]} truncate`,title:i.name,children:i.name}),n.jsx("div",{className:`text-xs ${d[i.status]} opacity-70 truncate`,title:i.category,children:i.category})]}),n.jsx(qm,{type:"source",position:ul.Right,className:"!bg-border !w-2 !h-2"})]})}const Lj={feature:qj};function mh(i,r,d="LR"){const o=new dh.graphlib.Graph;o.setDefaultEdgeLabel(()=>({}));const h=d==="LR";return o.setGraph({rankdir:d,nodesep:50,ranksep:100,marginx:50,marginy:50}),i.forEach(y=>{o.setNode(y.id,{width:Zi,height:fh})}),r.forEach(y=>{o.setEdge(y.source,y.target)}),dh.layout(o),{nodes:i.map(y=>{const v=o.node(y.id);return{...y,position:{x:v.x-Zi/2,y:v.y-fh/2},sourcePosition:h?ul.Right:ul.Bottom,targetPosition:h?ul.Left:ul.Top}}),edges:r}}function Gj({graphData:i,onNodeClick:r,activeAgents:d=[]}){const[o,h]=f.useState("LR"),x=f.useRef(r);f.useEffect(()=>{x.current=r},[r]);const y=f.useCallback(N=>{x.current?.(N)},[]),v=f.useMemo(()=>{const N=new Map;for(const L of d){const J=L.featureIds||[L.featureId];for(const W of J)N.set(W,{name:L.agentName,state:L.state})}return N},[d]),p=f.useMemo(()=>{const N=i.nodes.map(J=>({id:String(J.id),type:"feature",position:{x:0,y:0},data:{...J,onClick:()=>y(J.id),agent:v.get(J.id)}})),L=i.edges.map((J,W)=>({id:`e${J.source}-${J.target}-${W}`,source:String(J.source),target:String(J.target),type:"smoothstep",animated:!1,style:{stroke:"#a1a1aa",strokeWidth:2},markerEnd:{type:cy.ArrowClosed,color:"#a1a1aa"}}));return mh(N,L,o)},[i,o,y,v]),[S,T,E]=ry(p.nodes),[B,w,O]=uy(p.edges),U=f.useRef(""),z=f.useRef(o);f.useEffect(()=>{const N=Array.from(v.entries()).map(([J,W])=>({featureId:J,agentName:W.name,agentState:W.state})),L=JSON.stringify({nodes:i.nodes.map(J=>({id:J.id,status:J.status})),edges:i.edges,agents:N});if(L!==U.current||o!==z.current){U.current=L,z.current=o;const{nodes:J,edges:W}=mh(p.nodes,p.edges,o);T(J),w(W)}},[i,o,T,w,p,v]);const _=f.useCallback(N=>{h(N)},[]),b=f.useCallback(N=>{switch(N.data.status){case"done":return"#22c55e";case"in_progress":return"#06b6d4";case"blocked":return"#ef4444";case"needs_human_input":return"#f59e0b";default:return"#eab308"}},[]);return i.nodes.length===0?n.jsx("div",{className:"h-full w-full flex items-center justify-center bg-muted",children:n.jsxs("div",{className:"text-center",children:[n.jsx("div",{className:"text-muted-foreground mb-2",children:"No features to display"}),n.jsx("div",{className:"text-sm text-muted-foreground/70",children:"Create features to see the dependency graph"})]})}):n.jsxs("div",{className:"h-full w-full relative bg-background",children:[n.jsxs("div",{className:"absolute top-4 left-4 z-10 flex gap-2",children:[n.jsx(F,{variant:o==="LR"?"default":"outline",size:"sm",onClick:()=>_("LR"),children:"Horizontal"}),n.jsx(F,{variant:o==="TB"?"default":"outline",size:"sm",onClick:()=>_("TB"),children:"Vertical"})]}),n.jsx(Oe,{className:"absolute top-4 right-4 z-10",children:n.jsxs(Ge,{className:"p-3",children:[n.jsx("div",{className:"text-xs font-bold mb-2",children:"Status"}),n.jsxs("div",{className:"space-y-1.5",children:[n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-yellow-400 border border-yellow-500"}),n.jsx("span",{children:"Pending"})]}),n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-cyan-400 border border-cyan-500"}),n.jsx("span",{children:"In Progress"})]}),n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-green-400 border border-green-500"}),n.jsx("span",{children:"Done"})]}),n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-red-100 border border-red-400"}),n.jsx("span",{children:"Blocked"})]})]})]})}),n.jsxs(oy,{nodes:S,edges:B,onNodesChange:E,onEdgesChange:O,nodeTypes:Lj,connectionMode:dy.Loose,fitView:!0,fitViewOptions:{padding:.2},attributionPosition:"bottom-left",minZoom:.1,maxZoom:2,children:[n.jsx(fy,{color:"#d4d4d8",gap:20,size:1}),n.jsx(my,{className:"!bg-card !border !border-border !rounded-lg !shadow-sm",showInteractive:!1}),n.jsx(hy,{nodeColor:b,className:"!bg-card !border !border-border !rounded-lg !shadow-sm",maskColor:"rgba(0, 0, 0, 0.1)"})]})]})}function Qj({graphData:i,onNodeClick:r,activeAgents:d}){const[o,h]=f.useState(0),x=f.useCallback(()=>{h(y=>y+1)},[]);return n.jsx(Hj,{onReset:x,children:n.jsx(Gj,{graphData:i,onNodeClick:r,activeAgents:d})},o)}const Yj=[{key:"?",description:"Show keyboard shortcuts"},{key:"D",description:"Toggle debug panel"},{key:"T",description:"Toggle terminal tab"},{key:"N",description:"Add new feature",context:"with project"},{key:"E",description:"Expand project with AI",context:"with spec & features"},{key:"A",description:"Toggle AI assistant",context:"with project"},{key:"G",description:"Toggle Kanban/Graph view",context:"with project"},{key:",",description:"Open settings"},{key:"Esc",description:"Close modal/panel"}];function Vj({isOpen:i,onClose:r}){const d=f.useCallback(o=>{(o.key==="Escape"||o.key==="?")&&(o.preventDefault(),r())},[r]);return f.useEffect(()=>{if(i)return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[i,d]),n.jsx(Wt,{open:i,onOpenChange:o=>!o&&r(),children:n.jsxs(It,{className:"sm:max-w-md",children:[n.jsx(Pt,{children:n.jsxs(ea,{className:"flex items-center gap-2",children:[n.jsx(ay,{size:20,className:"text-primary"}),"Keyboard Shortcuts"]})}),n.jsx("ul",{className:"space-y-1",children:Yj.map(o=>n.jsxs("li",{className:"flex items-center justify-between py-2 border-b border-border/50 last:border-0",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("kbd",{className:"px-2 py-1 text-xs font-mono bg-muted rounded border border-border min-w-[2rem] text-center",children:o.key}),n.jsx("span",{className:"text-sm",children:o.description})]}),o.context&&n.jsx(Me,{variant:"secondary",className:"text-xs",children:o.context})]},o.key))}),n.jsx("p",{className:"text-xs text-muted-foreground text-center pt-2",children:"Press ? or Esc to close"})]})})}var Xj=Symbol("radix.slottable");function Kj(i){const r=({children:d})=>n.jsx(n.Fragment,{children:d});return r.displayName=`${i}.Slottable`,r.__radixId=Xj,r}var Zj=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Fj="VisuallyHidden",Gh=f.forwardRef((i,r)=>n.jsx(zh.span,{...i,ref:r,style:{...Zj,...i.style}}));Gh.displayName=Fj;var Jj=Gh,[Wi]=Ry("Tooltip",[Th]),Ii=Th(),Qh="TooltipProvider",$j=700,Su="tooltip.open",[Wj,Mu]=Wi(Qh),Yh=i=>{const{__scopeTooltip:r,delayDuration:d=$j,skipDelayDuration:o=300,disableHoverableContent:h=!1,children:x}=i,y=f.useRef(!0),v=f.useRef(!1),p=f.useRef(0);return f.useEffect(()=>{const S=p.current;return()=>window.clearTimeout(S)},[]),n.jsx(Wj,{scope:r,isOpenDelayedRef:y,delayDuration:d,onOpen:f.useCallback(()=>{window.clearTimeout(p.current),y.current=!1},[]),onClose:f.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>y.current=!0,o)},[o]),isPointerInTransitRef:v,onPointerInTransitChange:f.useCallback(S=>{v.current=S},[]),disableHoverableContent:h,children:x})};Yh.displayName=Qh;var gs="Tooltip",[Ij,vs]=Wi(gs),Vh=i=>{const{__scopeTooltip:r,children:d,open:o,defaultOpen:h,onOpenChange:x,disableHoverableContent:y,delayDuration:v}=i,p=Mu(gs,i.__scopeTooltip),S=Ii(r),[T,E]=f.useState(null),B=Uy(),w=f.useRef(0),O=y??p.disableHoverableContent,U=v??p.delayDuration,z=f.useRef(!1),[_,b]=By({prop:o,defaultProp:h??!1,onChange:X=>{X?(p.onOpen(),document.dispatchEvent(new CustomEvent(Su))):p.onClose(),x?.(X)},caller:gs}),N=f.useMemo(()=>_?z.current?"delayed-open":"instant-open":"closed",[_]),L=f.useCallback(()=>{window.clearTimeout(w.current),w.current=0,z.current=!1,b(!0)},[b]),J=f.useCallback(()=>{window.clearTimeout(w.current),w.current=0,b(!1)},[b]),W=f.useCallback(()=>{window.clearTimeout(w.current),w.current=window.setTimeout(()=>{z.current=!0,b(!0),w.current=0},U)},[U,b]);return f.useEffect(()=>()=>{w.current&&(window.clearTimeout(w.current),w.current=0)},[]),n.jsx(Hy,{...S,children:n.jsx(Ij,{scope:r,contentId:B,open:_,stateAttribute:N,trigger:T,onTriggerChange:E,onTriggerEnter:f.useCallback(()=>{p.isOpenDelayedRef.current?W():L()},[p.isOpenDelayedRef,W,L]),onTriggerLeave:f.useCallback(()=>{O?J():(window.clearTimeout(w.current),w.current=0)},[J,O]),onOpen:L,onClose:J,disableHoverableContent:O,children:d})})};Vh.displayName=gs;var Nu="TooltipTrigger",Xh=f.forwardRef((i,r)=>{const{__scopeTooltip:d,...o}=i,h=vs(Nu,d),x=Mu(Nu,d),y=Ii(d),v=f.useRef(null),p=Eh(r,v,h.onTriggerChange),S=f.useRef(!1),T=f.useRef(!1),E=f.useCallback(()=>S.current=!1,[]);return f.useEffect(()=>()=>document.removeEventListener("pointerup",E),[E]),n.jsx(qy,{asChild:!0,...y,children:n.jsx(zh.button,{"aria-describedby":h.open?h.contentId:void 0,"data-state":h.stateAttribute,...o,ref:p,onPointerMove:rl(i.onPointerMove,B=>{B.pointerType!=="touch"&&!T.current&&!x.isPointerInTransitRef.current&&(h.onTriggerEnter(),T.current=!0)}),onPointerLeave:rl(i.onPointerLeave,()=>{h.onTriggerLeave(),T.current=!1}),onPointerDown:rl(i.onPointerDown,()=>{h.open&&h.onClose(),S.current=!0,document.addEventListener("pointerup",E,{once:!0})}),onFocus:rl(i.onFocus,()=>{S.current||h.onOpen()}),onBlur:rl(i.onBlur,h.onClose),onClick:rl(i.onClick,h.onClose)})})});Xh.displayName=Nu;var ku="TooltipPortal",[Pj,e1]=Wi(ku,{forceMount:void 0}),Kh=i=>{const{__scopeTooltip:r,forceMount:d,children:o,container:h}=i,x=vs(ku,r);return n.jsx(Pj,{scope:r,forceMount:d,children:n.jsx(Ah,{present:d||x.open,children:n.jsx(Ly,{asChild:!0,container:h,children:o})})})};Kh.displayName=ku;var xl="TooltipContent",Zh=f.forwardRef((i,r)=>{const d=e1(xl,i.__scopeTooltip),{forceMount:o=d.forceMount,side:h="top",...x}=i,y=vs(xl,i.__scopeTooltip);return n.jsx(Ah,{present:o||y.open,children:y.disableHoverableContent?n.jsx(Fh,{side:h,...x,ref:r}):n.jsx(t1,{side:h,...x,ref:r})})}),t1=f.forwardRef((i,r)=>{const d=vs(xl,i.__scopeTooltip),o=Mu(xl,i.__scopeTooltip),h=f.useRef(null),x=Eh(r,h),[y,v]=f.useState(null),{trigger:p,onClose:S}=d,T=h.current,{onPointerInTransitChange:E}=o,B=f.useCallback(()=>{v(null),E(!1)},[E]),w=f.useCallback((O,U)=>{const z=O.currentTarget,_={x:O.clientX,y:O.clientY},b=s1(_,z.getBoundingClientRect()),N=i1(_,b),L=c1(U.getBoundingClientRect()),J=u1([...N,...L]);v(J),E(!0)},[E]);return f.useEffect(()=>()=>B(),[B]),f.useEffect(()=>{if(p&&T){const O=z=>w(z,T),U=z=>w(z,p);return p.addEventListener("pointerleave",O),T.addEventListener("pointerleave",U),()=>{p.removeEventListener("pointerleave",O),T.removeEventListener("pointerleave",U)}}},[p,T,w,B]),f.useEffect(()=>{if(y){const O=U=>{const z=U.target,_={x:U.clientX,y:U.clientY},b=p?.contains(z)||T?.contains(z),N=!r1(_,y);b?B():N&&(B(),S())};return document.addEventListener("pointermove",O),()=>document.removeEventListener("pointermove",O)}},[p,T,y,S,B]),n.jsx(Fh,{...i,ref:x})}),[a1,n1]=Wi(gs,{isInside:!1}),l1=Kj("TooltipContent"),Fh=f.forwardRef((i,r)=>{const{__scopeTooltip:d,children:o,"aria-label":h,onEscapeKeyDown:x,onPointerDownOutside:y,...v}=i,p=vs(xl,d),S=Ii(d),{onClose:T}=p;return f.useEffect(()=>(document.addEventListener(Su,T),()=>document.removeEventListener(Su,T)),[T]),f.useEffect(()=>{if(p.trigger){const E=B=>{B.target?.contains(p.trigger)&&T()};return window.addEventListener("scroll",E,{capture:!0}),()=>window.removeEventListener("scroll",E,{capture:!0})}},[p.trigger,T]),n.jsx(Qy,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:x,onPointerDownOutside:y,onFocusOutside:E=>E.preventDefault(),onDismiss:T,children:n.jsxs(Yy,{"data-state":p.stateAttribute,...S,...v,ref:r,style:{...v.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[n.jsx(l1,{children:o}),n.jsx(a1,{scope:d,isInside:!0,children:n.jsx(Jj,{id:p.contentId,role:"tooltip",children:h||o})})]})})});Zh.displayName=xl;var Jh="TooltipArrow",$h=f.forwardRef((i,r)=>{const{__scopeTooltip:d,...o}=i,h=Ii(d);return n1(Jh,d).isInside?null:n.jsx(Gy,{...h,...o,ref:r})});$h.displayName=Jh;function s1(i,r){const d=Math.abs(r.top-i.y),o=Math.abs(r.bottom-i.y),h=Math.abs(r.right-i.x),x=Math.abs(r.left-i.x);switch(Math.min(d,o,h,x)){case x:return"left";case h:return"right";case d:return"top";case o:return"bottom";default:throw new Error("unreachable")}}function i1(i,r,d=5){const o=[];switch(r){case"top":o.push({x:i.x-d,y:i.y+d},{x:i.x+d,y:i.y+d});break;case"bottom":o.push({x:i.x-d,y:i.y-d},{x:i.x+d,y:i.y-d});break;case"left":o.push({x:i.x+d,y:i.y-d},{x:i.x+d,y:i.y+d});break;case"right":o.push({x:i.x-d,y:i.y-d},{x:i.x-d,y:i.y+d});break}return o}function c1(i){const{top:r,right:d,bottom:o,left:h}=i;return[{x:h,y:r},{x:d,y:r},{x:d,y:o},{x:h,y:o}]}function r1(i,r){const{x:d,y:o}=i;let h=!1;for(let x=0,y=r.length-1;x<r.length;y=x++){const v=r[x],p=r[y],S=v.x,T=v.y,E=p.x,B=p.y;T>o!=B>o&&d<(E-S)*(o-T)/(B-T)+S&&(h=!h)}return h}function u1(i){const r=i.slice();return r.sort((d,o)=>d.x<o.x?-1:d.x>o.x?1:d.y<o.y?-1:d.y>o.y?1:0),o1(r)}function o1(i){if(i.length<=1)return i.slice();const r=[];for(let o=0;o<i.length;o++){const h=i[o];for(;r.length>=2;){const x=r[r.length-1],y=r[r.length-2];if((x.x-y.x)*(h.y-y.y)>=(x.y-y.y)*(h.x-y.x))r.pop();else break}r.push(h)}r.pop();const d=[];for(let o=i.length-1;o>=0;o--){const h=i[o];for(;d.length>=2;){const x=d[d.length-1],y=d[d.length-2];if((x.x-y.x)*(h.y-y.y)>=(x.y-y.y)*(h.x-y.x))d.pop();else break}d.push(h)}return d.pop(),r.length===1&&d.length===1&&r[0].x===d[0].x&&r[0].y===d[0].y?r:r.concat(d)}var d1=Yh,f1=Vh,m1=Xh,h1=Kh,x1=Zh,g1=$h;function p1({delayDuration:i=250,...r}){return n.jsx(d1,{"data-slot":"tooltip-provider",delayDuration:i,...r})}function ds({...i}){return n.jsx(f1,{"data-slot":"tooltip",...i})}function fs({...i}){return n.jsx(m1,{"data-slot":"tooltip-trigger",...i})}function ms({className:i,side:r="bottom",align:d="center",sideOffset:o=8,children:h,...x}){return n.jsx(h1,{children:n.jsxs(x1,{"data-slot":"tooltip-content",side:r,align:d,sideOffset:o,className:Re("z-50 overflow-hidden rounded-md border bg-neutral-900 px-3 py-2 text-sm text-white shadow-md leading-tight min-h-7","data-[state=delayed-open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=delayed-open]:fade-in-0 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",i),...x,children:[h,n.jsx(g1,{"data-slot":"tooltip-arrow",className:"fill-neutral-900"})]})})}function y1({themes:i,currentTheme:r,onThemeChange:d}){const[o,h]=f.useState(!1),[x,y]=f.useState(null),v=f.useRef(null),p=f.useRef(null);f.useEffect(()=>{const w=O=>{v.current&&!v.current.contains(O.target)&&(h(!1),y(null))};return document.addEventListener("mousedown",w),()=>document.removeEventListener("mousedown",w)},[]),f.useEffect(()=>{if(x){const w=document.documentElement;w.classList.remove("theme-claude","theme-neo-brutalism","theme-retro-arcade","theme-aurora","theme-business"),x==="claude"?w.classList.add("theme-claude"):x==="neo-brutalism"?w.classList.add("theme-neo-brutalism"):x==="retro-arcade"?w.classList.add("theme-retro-arcade"):x==="aurora"?w.classList.add("theme-aurora"):x==="business"&&w.classList.add("theme-business")}return()=>{if(x){const w=document.documentElement;w.classList.remove("theme-claude","theme-neo-brutalism","theme-retro-arcade","theme-aurora","theme-business"),r==="claude"?w.classList.add("theme-claude"):r==="neo-brutalism"?w.classList.add("theme-neo-brutalism"):r==="retro-arcade"?w.classList.add("theme-retro-arcade"):r==="aurora"?w.classList.add("theme-aurora"):r==="business"&&w.classList.add("theme-business")}}},[x,r]);const S=()=>{p.current&&clearTimeout(p.current),h(!0)},T=()=>{p.current=setTimeout(()=>{h(!1),y(null)},150)},E=w=>{y(w)},B=w=>{d(w),y(null),h(!1)};return n.jsxs("div",{ref:v,className:"relative",onMouseEnter:S,onMouseLeave:T,children:[n.jsxs(ds,{children:[n.jsx(fs,{asChild:!0,children:n.jsx(F,{variant:"outline",size:"sm","aria-label":"Select theme","aria-expanded":o,"aria-haspopup":"true",children:n.jsx(ny,{size:18})})}),n.jsx(ms,{children:"Theme"})]}),o&&n.jsx("div",{className:"absolute right-0 top-full mt-2 w-56 bg-popover border-2 border-border rounded-lg shadow-lg z-50 animate-slide-in-down overflow-hidden",role:"menu","aria-orientation":"vertical",children:n.jsx("div",{className:"p-2 space-y-1",children:i.map(w=>n.jsxs("button",{onClick:()=>B(w.id),onMouseEnter:()=>E(w.id),onMouseLeave:()=>y(null),className:`w-full flex items-center gap-3 px-3 py-2 rounded-md text-left transition-colors ${r===w.id?"bg-primary/10 text-foreground":"hover:bg-muted text-foreground"}`,role:"menuitem",children:[n.jsxs("div",{className:"flex gap-0.5 shrink-0",children:[n.jsx("div",{className:"w-4 h-4 rounded-sm border border-border/50",style:{backgroundColor:w.previewColors.background}}),n.jsx("div",{className:"w-4 h-4 rounded-sm border border-border/50",style:{backgroundColor:w.previewColors.primary}}),n.jsx("div",{className:"w-4 h-4 rounded-sm border border-border/50",style:{backgroundColor:w.previewColors.accent}})]}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-medium text-sm",children:w.name}),n.jsx("div",{className:"text-xs text-muted-foreground truncate",children:w.description})]}),r===w.id&&n.jsx(sa,{size:16,className:"text-primary shrink-0"})]},w.id))})})]})}function v1({isOpen:i,projectName:r,onClose:d,onResetComplete:o}){const[h,x]=f.useState("quick"),y=G0(r),v=async()=>{const S=h==="full";try{await y.mutateAsync(S),o?.(S),d()}catch{}},p=()=>{y.isPending||(y.reset(),x("quick"),d())};return n.jsx(Wt,{open:i,onOpenChange:S=>!S&&p(),children:n.jsxs(It,{className:"sm:max-w-md",children:[n.jsxs(Pt,{children:[n.jsxs(ea,{className:"flex items-center gap-2",children:[n.jsx(Sn,{size:20}),"Reset Project"]}),n.jsxs(xs,{children:["Reset ",n.jsx("span",{className:"font-semibold",children:r})," to start fresh"]})]}),n.jsxs("div",{className:"space-y-4 py-4",children:[n.jsxs("div",{className:"flex rounded-lg border-2 border-border overflow-hidden",children:[n.jsxs("button",{onClick:()=>x("quick"),disabled:y.isPending,className:`flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2 ${h==="quick"?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${y.isPending?"opacity-50 cursor-not-allowed":""}`,children:[n.jsx(Sn,{size:16}),"Quick Reset"]}),n.jsxs("button",{onClick:()=>x("full"),disabled:y.isPending,className:`flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2 ${h==="full"?"bg-destructive text-destructive-foreground":"bg-background text-foreground hover:bg-muted"} ${y.isPending?"opacity-50 cursor-not-allowed":""}`,children:[n.jsx(tn,{size:16}),"Full Reset"]})]}),n.jsxs(ft,{variant:h==="full"?"destructive":"default",className:"border-2",children:[n.jsx(Ta,{className:"h-4 w-4"}),n.jsxs(mt,{children:[n.jsx("div",{className:"font-semibold mb-2",children:"What will be deleted:"}),n.jsxs("ul",{className:"list-none space-y-1 text-sm",children:[n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(nt,{size:14,className:"text-destructive"}),"All features and progress"]}),n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(nt,{size:14,className:"text-destructive"}),"Assistant chat history"]}),n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(nt,{size:14,className:"text-destructive"}),"Agent settings"]}),h==="full"&&n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(nt,{size:14,className:"text-destructive"}),"App spec and prompts"]})]})]})]}),n.jsxs("div",{className:"bg-muted/50 rounded-lg border-2 border-border p-3",children:[n.jsx("div",{className:"font-semibold mb-2 text-sm",children:"What will be preserved:"}),n.jsx("ul",{className:"list-none space-y-1 text-sm text-muted-foreground",children:h==="quick"?n.jsxs(n.Fragment,{children:[n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(sa,{size:14,className:"text-green-600"}),"App spec and prompts"]}),n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(sa,{size:14,className:"text-green-600"}),"Project code and files"]})]}):n.jsxs(n.Fragment,{children:[n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(sa,{size:14,className:"text-green-600"}),"Project code and files"]}),n.jsxs("li",{className:"flex items-center gap-2 text-muted-foreground/70",children:[n.jsx(Ta,{size:14}),"Setup wizard will appear"]})]})})]}),y.isError&&n.jsx(ft,{variant:"destructive",children:n.jsx(mt,{children:y.error instanceof Error?y.error.message:"Failed to reset project. Please try again."})})]}),n.jsxs(Ea,{className:"gap-2",children:[n.jsx(F,{variant:"outline",onClick:p,disabled:y.isPending,children:"Cancel"}),n.jsx(F,{variant:h==="full"?"destructive":"default",onClick:v,disabled:y.isPending,children:y.isPending?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{className:"animate-spin mr-2",size:16}),"Resetting..."]}):n.jsx(n.Fragment,{children:h==="quick"?"Quick Reset":"Full Reset"})})]})]})})}function b1({projectName:i,projectPath:r,onCreateWithClaude:d,onEditManually:o}){return n.jsx("div",{className:"max-w-2xl mx-auto mt-8",children:n.jsxs(Oe,{className:"border-2",children:[n.jsxs($i,{className:"text-center",children:[n.jsx(Du,{className:"text-2xl font-display",children:"Project Setup Required"}),n.jsxs(vv,{className:"text-base",children:[n.jsx("span",{className:"font-semibold",children:i})," needs an app spec to get started"]}),r&&n.jsxs("div",{className:"flex items-center justify-center gap-2 text-sm text-muted-foreground mt-2",children:[n.jsx(Xi,{size:14}),n.jsx("code",{className:"bg-muted px-2 py-0.5 rounded text-xs",children:r})]})]}),n.jsxs(Ge,{className:"space-y-4",children:[n.jsx("p",{className:"text-center text-muted-foreground",children:"Choose how you want to create your app specification:"}),n.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[n.jsx(Oe,{className:"cursor-pointer border-2 transition-all hover:border-primary hover:shadow-md",onClick:d,children:n.jsxs(Ge,{className:"pt-6 text-center space-y-3",children:[n.jsx("div",{className:"w-12 h-12 mx-auto bg-primary/10 rounded-full flex items-center justify-center",children:n.jsx(Nn,{className:"text-primary",size:24})}),n.jsx("h3",{className:"font-semibold text-lg",children:"Create with Claude"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Describe your app idea and Claude will help create a detailed specification"}),n.jsxs(F,{className:"w-full",children:[n.jsx(Nn,{size:16,className:"mr-2"}),"Start Chat"]})]})}),n.jsx(Oe,{className:"cursor-pointer border-2 transition-all hover:border-primary hover:shadow-md",onClick:o,children:n.jsxs(Ge,{className:"pt-6 text-center space-y-3",children:[n.jsx("div",{className:"w-12 h-12 mx-auto bg-muted rounded-full flex items-center justify-center",children:n.jsx(yu,{className:"text-muted-foreground",size:24})}),n.jsx("h3",{className:"font-semibold text-lg",children:"Edit Templates Manually"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Create the prompts directory and edit template files yourself"}),n.jsxs(F,{variant:"outline",className:"w-full",children:[n.jsx(yu,{size:16,className:"mr-2"}),"View Templates"]})]})})]}),n.jsx("p",{className:"text-center text-xs text-muted-foreground pt-4",children:"The app spec tells the agent what to build. It includes the application name, description, tech stack, and feature requirements."})]})]})})}const pu="autoforge-selected-project",hh="autoforge-view-mode",j1=48;function S1(){const[i,r]=f.useState(()=>{try{return localStorage.getItem(pu)}catch{return null}}),[d,o]=f.useState(!1),[h,x]=f.useState(!1),[y,v]=f.useState(null),[p,S]=f.useState(!0),[T,E]=f.useState(!1),[B,w]=f.useState(288),[O,U]=f.useState("agent"),[z,_]=f.useState(!1),[b,N]=f.useState(!1),[L,J]=f.useState(!1),[W,X]=f.useState(!1),[I,Q]=f.useState(!1),[le,P]=f.useState(!1),[H,$]=f.useState("idle"),[Z,Y]=f.useState(null),[g,D]=f.useState(()=>{try{return localStorage.getItem(hh)==="graph"?"graph":"kanban"}catch{return"kanban"}}),ee=Qe(),{data:te,isLoading:fe}=H0(),{data:ue}=_h(i),{data:ae}=Au();F0(i);const ie=uv(i),{theme:Ue,setTheme:ot,darkMode:ht,toggleDarkMode:ia,themes:ca}=Oh(),ne=te?.find(Fe=>Fe.name===i),de=ne?.has_spec??!0,{data:Be}=gt({queryKey:["dependencyGraph",i],queryFn:()=>u0(i),enabled:!!i&&g==="graph",refetchInterval:5e3});f.useEffect(()=>{try{localStorage.setItem(hh,g)}catch{}},[g]),fv(ue),gv(ue,i);const Ct=f.useCallback(Fe=>{r(Fe);try{Fe?localStorage.setItem(pu,Fe):localStorage.removeItem(pu)}catch{}},[]),Kt=f.useCallback(Fe=>{const wt=[...ue?.pending??[],...ue?.in_progress??[],...ue?.done??[],...ue?.needs_human_input??[]].find(bs=>bs.id===Fe);wt&&v(wt)},[ue]);f.useEffect(()=>{i&&te&&!te.some(Fe=>Fe.name===i)&&Ct(null)},[i,te,Ct]),f.useEffect(()=>{const Fe=be=>{be.target instanceof HTMLInputElement||be.target instanceof HTMLTextAreaElement||((be.key==="d"||be.key==="D")&&(be.preventDefault(),E(wt=>!wt)),(be.key==="t"||be.key==="T")&&(be.preventDefault(),T?O==="terminal"?E(!1):U("terminal"):(E(!0),U("terminal"))),(be.key==="n"||be.key==="N")&&i&&(be.preventDefault(),o(!0)),(be.key==="e"||be.key==="E")&&i&&de&&ue&&ue.pending.length+ue.in_progress.length+ue.done.length+(ue.needs_human_input?.length||0)>0&&(be.preventDefault(),x(!0)),(be.key==="a"||be.key==="A")&&i&&!W&&(be.preventDefault(),_(wt=>!wt)),be.key===","&&(be.preventDefault(),N(!0)),(be.key==="g"||be.key==="G")&&i&&(be.preventDefault(),D(wt=>wt==="kanban"?"graph":"kanban")),be.key==="?"&&(be.preventDefault(),J(!0)),(be.key==="r"||be.key==="R")&&i&&!["running","pausing","paused_graceful"].includes(ie.agentStatus)&&(be.preventDefault(),Q(!0)),be.key==="Escape"&&(L?J(!1):I?Q(!1):h?x(!1):b?N(!1):z?_(!1):d?o(!1):y?v(null):T&&E(!1)))};return window.addEventListener("keydown",Fe),()=>window.removeEventListener("keydown",Fe)},[i,d,h,y,T,O,z,ue,b,L,W,g,I,ie.agentStatus,de]);const dt=ie.progress.total>0?ie.progress:{passing:ue?.done.length??0,total:(ue?.pending.length??0)+(ue?.in_progress.length??0)+(ue?.done.length??0)+(ue?.needs_human_input?.length??0),percentage:0};return dt.total>0&&dt.percentage===0&&(dt.percentage=Math.round(dt.passing/dt.total*100*10)/10),p?n.jsxs("div",{className:"min-h-screen bg-background",children:[n.jsx("header",{className:"sticky top-0 z-50 bg-card/80 backdrop-blur-md text-foreground border-b-2 border-border",children:n.jsx("div",{className:"max-w-7xl mx-auto px-4 py-3",children:n.jsxs(p1,{children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[n.jsx("img",{src:"/logo.png",alt:"AutoForge",className:"h-9 w-9 rounded-full"}),n.jsx("h1",{className:"font-display text-2xl font-bold tracking-tight uppercase hidden md:block",children:"AutoForge"})]}),n.jsx(Bv,{projects:te??[],selectedProject:i,onSelectProject:Ct,isLoading:fe,onSpecCreatingChange:X}),n.jsx("div",{className:"flex-1"}),i&&ae?.ollama_mode&&n.jsxs("div",{className:"hidden sm:flex items-center gap-1.5 px-2 py-1 bg-card rounded border-2 border-border shadow-sm",title:"Using Ollama local models",children:[n.jsx("img",{src:"/ollama.png",alt:"Ollama",className:"w-5 h-5"}),n.jsx("span",{className:"text-xs font-bold text-foreground",children:"Ollama"})]}),i&&ae?.glm_mode&&n.jsx(Me,{className:"hidden sm:inline-flex bg-purple-500 text-white hover:bg-purple-600",title:"Using GLM API",children:"GLM"}),n.jsxs(ds,{children:[n.jsx(fs,{asChild:!0,children:n.jsx(F,{onClick:()=>window.open("https://autoforge.cc","_blank"),variant:"outline",size:"sm","aria-label":"Open Documentation",children:n.jsx(ly,{size:18})})}),n.jsx(ms,{children:"Docs"})]}),n.jsx(y1,{themes:ca,currentTheme:Ue,onThemeChange:ot}),n.jsxs(ds,{children:[n.jsx(fs,{asChild:!0,children:n.jsx(F,{onClick:ia,variant:"outline",size:"sm","aria-label":"Toggle dark mode",children:ht?n.jsx(jh,{size:18}):n.jsx(Sh,{size:18})})}),n.jsx(ms,{children:"Toggle theme"})]})]}),i&&n.jsxs("div",{className:"flex items-center gap-3 mt-2 pt-2 border-t border-border/50",children:[n.jsx(Mb,{projectName:i,status:ie.agentStatus,defaultConcurrency:ne?.default_concurrency}),n.jsx(Rj,{projectName:i,status:ie.devServerStatus,url:ie.devServerUrl}),n.jsx("div",{className:"flex-1"}),n.jsxs(ds,{children:[n.jsx(fs,{asChild:!0,children:n.jsx(F,{onClick:()=>N(!0),variant:"outline",size:"sm","aria-label":"Open Settings",children:n.jsx(sy,{size:18})})}),n.jsx(ms,{children:"Settings (,)"})]}),n.jsxs(ds,{children:[n.jsx(fs,{asChild:!0,children:n.jsx(F,{onClick:()=>Q(!0),variant:"outline",size:"sm","aria-label":"Reset Project",disabled:["running","pausing","paused_graceful"].includes(ie.agentStatus),children:n.jsx(Sn,{size:18})})}),n.jsx(ms,{children:"Reset (R)"})]})]})]})})}),n.jsx("main",{className:"max-w-7xl mx-auto px-4 py-8",style:{paddingBottom:T?B+32:j1},children:i?de?n.jsxs("div",{className:"space-y-8",children:[n.jsx(Ub,{passing:dt.passing,total:dt.total,percentage:dt.percentage,isConnected:ie.isConnected,logs:ie.activeAgents.length===0?ie.logs:void 0,agentStatus:ie.activeAgents.length===0?ie.agentStatus:void 0}),n.jsx(dj,{agents:ie.activeAgents,orchestratorStatus:ie.orchestratorStatus,recentActivity:ie.recentActivity,getAgentLogs:ie.getAgentLogs}),ue&&ue.pending.length===0&&ue.in_progress.length===0&&ue.done.length===0&&(ue.needs_human_input?.length||0)===0&&ie.agentStatus==="running"&&n.jsx(Oe,{className:"p-8 text-center",children:n.jsxs(Ge,{className:"p-0",children:[n.jsx(Ce,{size:32,className:"animate-spin mx-auto mb-4 text-primary"}),n.jsx("h3",{className:"font-display font-bold text-xl mb-2",children:"Initializing Features..."}),n.jsx("p",{className:"text-muted-foreground",children:"The agent is reading your spec and creating features. This may take a moment."})]})}),ue&&ue.pending.length+ue.in_progress.length+ue.done.length+(ue.needs_human_input?.length||0)>0&&n.jsx("div",{className:"flex justify-center",children:n.jsx(Uj,{viewMode:g,onViewModeChange:D})}),g==="kanban"?n.jsx(pb,{features:ue,onFeatureClick:v,onAddFeature:()=>o(!0),onExpandProject:()=>x(!0),activeAgents:ie.activeAgents,onCreateSpec:()=>P(!0),hasSpec:de}):n.jsx(Oe,{className:"overflow-hidden",style:{height:"600px"},children:Be?n.jsx(Qj,{graphData:Be,onNodeClick:Kt,activeAgents:ie.activeAgents}):n.jsx("div",{className:"h-full flex items-center justify-center",children:n.jsx(Ce,{size:32,className:"animate-spin text-primary"})})})]}):n.jsx(b1,{projectName:i,projectPath:ne?.path,onCreateWithClaude:()=>P(!0),onEditManually:()=>{E(!0)}}):n.jsxs("div",{className:"text-center mt-12",children:[n.jsx("h2",{className:"font-display text-2xl font-bold mb-2",children:"Welcome to AutoForge"}),n.jsx("p",{className:"text-muted-foreground mb-4",children:"Select a project from the dropdown above or create a new one to get started."})]})}),d&&i&&n.jsx(Hb,{projectName:i,onClose:()=>o(!1)}),y&&i&&n.jsx(Qb,{feature:y,projectName:i,onClose:()=>v(null)}),h&&i&&de&&n.jsx(Aj,{isOpen:h,projectName:i,onClose:()=>x(!1),onFeaturesAdded:()=>{ee.invalidateQueries({queryKey:["features",i]})}}),le&&i&&n.jsx("div",{className:"fixed inset-0 z-50 bg-background",children:n.jsx(Bh,{projectName:i,onComplete:async(Fe,be)=>{$("starting");try{await Eu(i,{yoloMode:be??!1,maxConcurrency:3}),P(!1),$("idle"),ee.invalidateQueries({queryKey:["projects"]}),ee.invalidateQueries({queryKey:["features",i]})}catch(wt){$("error"),Y(wt instanceof Error?wt.message:"Failed to start agent")}},onCancel:()=>{P(!1),$("idle")},onExitToProject:()=>{P(!1),$("idle")},initializerStatus:H,initializerError:Z,onRetryInitializer:()=>{Y(null),$("idle")}})}),i&&n.jsx(Zb,{logs:ie.logs,devLogs:ie.devLogs,isOpen:T,onToggle:()=>E(!T),onClear:ie.clearLogs,onClearDevLogs:ie.clearDevLogs,onHeightChange:w,projectName:i,activeTab:O,onTabChange:U}),i&&!h&&!W&&!le&&n.jsxs(n.Fragment,{children:[n.jsx(hj,{onClick:()=>_(!z),isOpen:z}),n.jsx(Cj,{projectName:i,isOpen:z,onClose:()=>_(!1)})]}),n.jsx(_j,{isOpen:b,onClose:()=>N(!1)}),n.jsx(Vj,{isOpen:L,onClose:()=>J(!1)}),I&&i&&n.jsx(v1,{isOpen:I,projectName:i,onClose:()=>Q(!1),onResetComplete:Fe=>{Fe&&P(!0)}}),ie.celebration&&n.jsx(mj,{agentName:ie.celebration.agentName,featureName:ie.celebration.featureName,onComplete:ie.clearCelebration})]}):n.jsx(Bb,{onComplete:()=>S(!0)})}const N1=new vp({defaultOptions:{queries:{staleTime:5e3,refetchOnWindowFocus:!1}}});$y.createRoot(document.getElementById("root")).render(n.jsx(f.StrictMode,{children:n.jsx(bp,{client:N1,children:n.jsx(S1,{})})}));
|
|
95
|
+
`,onClick:i.onClick,style:{minWidth:Zi-20,maxWidth:Zi},children:[i.agent&&n.jsx("div",{className:"absolute -top-3 -right-3 z-10",children:n.jsx("div",{className:"rounded-full border-2 border-border bg-background shadow-sm",children:n.jsx(pl,{name:i.agent.name,state:i.agent.state,size:"sm"})})}),n.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[n.jsx(o,{}),n.jsxs("span",{className:`text-xs font-mono ${d[i.status]} opacity-70`,children:["#",i.priority]}),i.agent&&n.jsx("span",{className:`text-xs font-bold ${d[i.status]} ml-auto`,children:i.agent.name})]}),n.jsx("div",{className:`font-bold text-sm ${d[i.status]} truncate`,title:i.name,children:i.name}),n.jsx("div",{className:`text-xs ${d[i.status]} opacity-70 truncate`,title:i.category,children:i.category})]}),n.jsx(qm,{type:"source",position:ol.Right,className:"!bg-border !w-2 !h-2"})]})}const Lj={feature:qj};function mh(i,r,d="LR"){const o=new dh.graphlib.Graph;o.setDefaultEdgeLabel(()=>({}));const h=d==="LR";return o.setGraph({rankdir:d,nodesep:50,ranksep:100,marginx:50,marginy:50}),i.forEach(y=>{o.setNode(y.id,{width:Zi,height:fh})}),r.forEach(y=>{o.setEdge(y.source,y.target)}),dh.layout(o),{nodes:i.map(y=>{const v=o.node(y.id);return{...y,position:{x:v.x-Zi/2,y:v.y-fh/2},sourcePosition:h?ol.Right:ol.Bottom,targetPosition:h?ol.Left:ol.Top}}),edges:r}}function Gj({graphData:i,onNodeClick:r,activeAgents:d=[]}){const[o,h]=f.useState("LR"),x=f.useRef(r);f.useEffect(()=>{x.current=r},[r]);const y=f.useCallback(N=>{x.current?.(N)},[]),v=f.useMemo(()=>{const N=new Map;for(const L of d){const $=L.featureIds||[L.featureId];for(const W of $)N.set(W,{name:L.agentName,state:L.state})}return N},[d]),p=f.useMemo(()=>{const N=i.nodes.map($=>({id:String($.id),type:"feature",position:{x:0,y:0},data:{...$,onClick:()=>y($.id),agent:v.get($.id)}})),L=i.edges.map(($,W)=>({id:`e${$.source}-${$.target}-${W}`,source:String($.source),target:String($.target),type:"smoothstep",animated:!1,style:{stroke:"#a1a1aa",strokeWidth:2},markerEnd:{type:cy.ArrowClosed,color:"#a1a1aa"}}));return mh(N,L,o)},[i,o,y,v]),[S,T,E]=ry(p.nodes),[B,w,O]=uy(p.edges),U=f.useRef(""),z=f.useRef(o);f.useEffect(()=>{const N=Array.from(v.entries()).map(([$,W])=>({featureId:$,agentName:W.name,agentState:W.state})),L=JSON.stringify({nodes:i.nodes.map($=>({id:$.id,status:$.status})),edges:i.edges,agents:N});if(L!==U.current||o!==z.current){U.current=L,z.current=o;const{nodes:$,edges:W}=mh(p.nodes,p.edges,o);T($),w(W)}},[i,o,T,w,p,v]);const _=f.useCallback(N=>{h(N)},[]),b=f.useCallback(N=>{switch(N.data.status){case"done":return"#22c55e";case"in_progress":return"#06b6d4";case"blocked":return"#ef4444";case"needs_human_input":return"#f59e0b";default:return"#eab308"}},[]);return i.nodes.length===0?n.jsx("div",{className:"h-full w-full flex items-center justify-center bg-muted",children:n.jsxs("div",{className:"text-center",children:[n.jsx("div",{className:"text-muted-foreground mb-2",children:"No features to display"}),n.jsx("div",{className:"text-sm text-muted-foreground/70",children:"Create features to see the dependency graph"})]})}):n.jsxs("div",{className:"h-full w-full relative bg-background",children:[n.jsxs("div",{className:"absolute top-4 left-4 z-10 flex gap-2",children:[n.jsx(F,{variant:o==="LR"?"default":"outline",size:"sm",onClick:()=>_("LR"),children:"Horizontal"}),n.jsx(F,{variant:o==="TB"?"default":"outline",size:"sm",onClick:()=>_("TB"),children:"Vertical"})]}),n.jsx(Oe,{className:"absolute top-4 right-4 z-10",children:n.jsxs(Ge,{className:"p-3",children:[n.jsx("div",{className:"text-xs font-bold mb-2",children:"Status"}),n.jsxs("div",{className:"space-y-1.5",children:[n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-yellow-400 border border-yellow-500"}),n.jsx("span",{children:"Pending"})]}),n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-cyan-400 border border-cyan-500"}),n.jsx("span",{children:"In Progress"})]}),n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-green-400 border border-green-500"}),n.jsx("span",{children:"Done"})]}),n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-red-100 border border-red-400"}),n.jsx("span",{children:"Blocked"})]})]})]})}),n.jsxs(oy,{nodes:S,edges:B,onNodesChange:E,onEdgesChange:O,nodeTypes:Lj,connectionMode:dy.Loose,fitView:!0,fitViewOptions:{padding:.2},attributionPosition:"bottom-left",minZoom:.1,maxZoom:2,children:[n.jsx(fy,{color:"#d4d4d8",gap:20,size:1}),n.jsx(my,{className:"!bg-card !border !border-border !rounded-lg !shadow-sm",showInteractive:!1}),n.jsx(hy,{nodeColor:b,className:"!bg-card !border !border-border !rounded-lg !shadow-sm",maskColor:"rgba(0, 0, 0, 0.1)"})]})]})}function Qj({graphData:i,onNodeClick:r,activeAgents:d}){const[o,h]=f.useState(0),x=f.useCallback(()=>{h(y=>y+1)},[]);return n.jsx(Hj,{onReset:x,children:n.jsx(Gj,{graphData:i,onNodeClick:r,activeAgents:d})},o)}const Yj=[{key:"?",description:"Show keyboard shortcuts"},{key:"D",description:"Toggle debug panel"},{key:"T",description:"Toggle terminal tab"},{key:"N",description:"Add new feature",context:"with project"},{key:"E",description:"Expand project with AI",context:"with spec & features"},{key:"A",description:"Toggle AI assistant",context:"with project"},{key:"G",description:"Toggle Kanban/Graph view",context:"with project"},{key:",",description:"Open settings"},{key:"Esc",description:"Close modal/panel"}];function Vj({isOpen:i,onClose:r}){const d=f.useCallback(o=>{(o.key==="Escape"||o.key==="?")&&(o.preventDefault(),r())},[r]);return f.useEffect(()=>{if(i)return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[i,d]),n.jsx(Wt,{open:i,onOpenChange:o=>!o&&r(),children:n.jsxs(It,{className:"sm:max-w-md",children:[n.jsx(Pt,{children:n.jsxs(ea,{className:"flex items-center gap-2",children:[n.jsx(ay,{size:20,className:"text-primary"}),"Keyboard Shortcuts"]})}),n.jsx("ul",{className:"space-y-1",children:Yj.map(o=>n.jsxs("li",{className:"flex items-center justify-between py-2 border-b border-border/50 last:border-0",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("kbd",{className:"px-2 py-1 text-xs font-mono bg-muted rounded border border-border min-w-[2rem] text-center",children:o.key}),n.jsx("span",{className:"text-sm",children:o.description})]}),o.context&&n.jsx(Me,{variant:"secondary",className:"text-xs",children:o.context})]},o.key))}),n.jsx("p",{className:"text-xs text-muted-foreground text-center pt-2",children:"Press ? or Esc to close"})]})})}var Xj=Symbol("radix.slottable");function Kj(i){const r=({children:d})=>n.jsx(n.Fragment,{children:d});return r.displayName=`${i}.Slottable`,r.__radixId=Xj,r}var Zj=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Fj="VisuallyHidden",Gh=f.forwardRef((i,r)=>n.jsx(zh.span,{...i,ref:r,style:{...Zj,...i.style}}));Gh.displayName=Fj;var $j=Gh,[Wi]=Ry("Tooltip",[Th]),Ii=Th(),Qh="TooltipProvider",Jj=700,Su="tooltip.open",[Wj,Mu]=Wi(Qh),Yh=i=>{const{__scopeTooltip:r,delayDuration:d=Jj,skipDelayDuration:o=300,disableHoverableContent:h=!1,children:x}=i,y=f.useRef(!0),v=f.useRef(!1),p=f.useRef(0);return f.useEffect(()=>{const S=p.current;return()=>window.clearTimeout(S)},[]),n.jsx(Wj,{scope:r,isOpenDelayedRef:y,delayDuration:d,onOpen:f.useCallback(()=>{window.clearTimeout(p.current),y.current=!1},[]),onClose:f.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>y.current=!0,o)},[o]),isPointerInTransitRef:v,onPointerInTransitChange:f.useCallback(S=>{v.current=S},[]),disableHoverableContent:h,children:x})};Yh.displayName=Qh;var ps="Tooltip",[Ij,bs]=Wi(ps),Vh=i=>{const{__scopeTooltip:r,children:d,open:o,defaultOpen:h,onOpenChange:x,disableHoverableContent:y,delayDuration:v}=i,p=Mu(ps,i.__scopeTooltip),S=Ii(r),[T,E]=f.useState(null),B=Uy(),w=f.useRef(0),O=y??p.disableHoverableContent,U=v??p.delayDuration,z=f.useRef(!1),[_,b]=By({prop:o,defaultProp:h??!1,onChange:K=>{K?(p.onOpen(),document.dispatchEvent(new CustomEvent(Su))):p.onClose(),x?.(K)},caller:ps}),N=f.useMemo(()=>_?z.current?"delayed-open":"instant-open":"closed",[_]),L=f.useCallback(()=>{window.clearTimeout(w.current),w.current=0,z.current=!1,b(!0)},[b]),$=f.useCallback(()=>{window.clearTimeout(w.current),w.current=0,b(!1)},[b]),W=f.useCallback(()=>{window.clearTimeout(w.current),w.current=window.setTimeout(()=>{z.current=!0,b(!0),w.current=0},U)},[U,b]);return f.useEffect(()=>()=>{w.current&&(window.clearTimeout(w.current),w.current=0)},[]),n.jsx(Hy,{...S,children:n.jsx(Ij,{scope:r,contentId:B,open:_,stateAttribute:N,trigger:T,onTriggerChange:E,onTriggerEnter:f.useCallback(()=>{p.isOpenDelayedRef.current?W():L()},[p.isOpenDelayedRef,W,L]),onTriggerLeave:f.useCallback(()=>{O?$():(window.clearTimeout(w.current),w.current=0)},[$,O]),onOpen:L,onClose:$,disableHoverableContent:O,children:d})})};Vh.displayName=ps;var Nu="TooltipTrigger",Xh=f.forwardRef((i,r)=>{const{__scopeTooltip:d,...o}=i,h=bs(Nu,d),x=Mu(Nu,d),y=Ii(d),v=f.useRef(null),p=Eh(r,v,h.onTriggerChange),S=f.useRef(!1),T=f.useRef(!1),E=f.useCallback(()=>S.current=!1,[]);return f.useEffect(()=>()=>document.removeEventListener("pointerup",E),[E]),n.jsx(qy,{asChild:!0,...y,children:n.jsx(zh.button,{"aria-describedby":h.open?h.contentId:void 0,"data-state":h.stateAttribute,...o,ref:p,onPointerMove:rl(i.onPointerMove,B=>{B.pointerType!=="touch"&&!T.current&&!x.isPointerInTransitRef.current&&(h.onTriggerEnter(),T.current=!0)}),onPointerLeave:rl(i.onPointerLeave,()=>{h.onTriggerLeave(),T.current=!1}),onPointerDown:rl(i.onPointerDown,()=>{h.open&&h.onClose(),S.current=!0,document.addEventListener("pointerup",E,{once:!0})}),onFocus:rl(i.onFocus,()=>{S.current||h.onOpen()}),onBlur:rl(i.onBlur,h.onClose),onClick:rl(i.onClick,h.onClose)})})});Xh.displayName=Nu;var ku="TooltipPortal",[Pj,e1]=Wi(ku,{forceMount:void 0}),Kh=i=>{const{__scopeTooltip:r,forceMount:d,children:o,container:h}=i,x=bs(ku,r);return n.jsx(Pj,{scope:r,forceMount:d,children:n.jsx(Ah,{present:d||x.open,children:n.jsx(Ly,{asChild:!0,container:h,children:o})})})};Kh.displayName=ku;var gl="TooltipContent",Zh=f.forwardRef((i,r)=>{const d=e1(gl,i.__scopeTooltip),{forceMount:o=d.forceMount,side:h="top",...x}=i,y=bs(gl,i.__scopeTooltip);return n.jsx(Ah,{present:o||y.open,children:y.disableHoverableContent?n.jsx(Fh,{side:h,...x,ref:r}):n.jsx(t1,{side:h,...x,ref:r})})}),t1=f.forwardRef((i,r)=>{const d=bs(gl,i.__scopeTooltip),o=Mu(gl,i.__scopeTooltip),h=f.useRef(null),x=Eh(r,h),[y,v]=f.useState(null),{trigger:p,onClose:S}=d,T=h.current,{onPointerInTransitChange:E}=o,B=f.useCallback(()=>{v(null),E(!1)},[E]),w=f.useCallback((O,U)=>{const z=O.currentTarget,_={x:O.clientX,y:O.clientY},b=s1(_,z.getBoundingClientRect()),N=i1(_,b),L=c1(U.getBoundingClientRect()),$=u1([...N,...L]);v($),E(!0)},[E]);return f.useEffect(()=>()=>B(),[B]),f.useEffect(()=>{if(p&&T){const O=z=>w(z,T),U=z=>w(z,p);return p.addEventListener("pointerleave",O),T.addEventListener("pointerleave",U),()=>{p.removeEventListener("pointerleave",O),T.removeEventListener("pointerleave",U)}}},[p,T,w,B]),f.useEffect(()=>{if(y){const O=U=>{const z=U.target,_={x:U.clientX,y:U.clientY},b=p?.contains(z)||T?.contains(z),N=!r1(_,y);b?B():N&&(B(),S())};return document.addEventListener("pointermove",O),()=>document.removeEventListener("pointermove",O)}},[p,T,y,S,B]),n.jsx(Fh,{...i,ref:x})}),[a1,n1]=Wi(ps,{isInside:!1}),l1=Kj("TooltipContent"),Fh=f.forwardRef((i,r)=>{const{__scopeTooltip:d,children:o,"aria-label":h,onEscapeKeyDown:x,onPointerDownOutside:y,...v}=i,p=bs(gl,d),S=Ii(d),{onClose:T}=p;return f.useEffect(()=>(document.addEventListener(Su,T),()=>document.removeEventListener(Su,T)),[T]),f.useEffect(()=>{if(p.trigger){const E=B=>{B.target?.contains(p.trigger)&&T()};return window.addEventListener("scroll",E,{capture:!0}),()=>window.removeEventListener("scroll",E,{capture:!0})}},[p.trigger,T]),n.jsx(Qy,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:x,onPointerDownOutside:y,onFocusOutside:E=>E.preventDefault(),onDismiss:T,children:n.jsxs(Yy,{"data-state":p.stateAttribute,...S,...v,ref:r,style:{...v.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[n.jsx(l1,{children:o}),n.jsx(a1,{scope:d,isInside:!0,children:n.jsx($j,{id:p.contentId,role:"tooltip",children:h||o})})]})})});Zh.displayName=gl;var $h="TooltipArrow",Jh=f.forwardRef((i,r)=>{const{__scopeTooltip:d,...o}=i,h=Ii(d);return n1($h,d).isInside?null:n.jsx(Gy,{...h,...o,ref:r})});Jh.displayName=$h;function s1(i,r){const d=Math.abs(r.top-i.y),o=Math.abs(r.bottom-i.y),h=Math.abs(r.right-i.x),x=Math.abs(r.left-i.x);switch(Math.min(d,o,h,x)){case x:return"left";case h:return"right";case d:return"top";case o:return"bottom";default:throw new Error("unreachable")}}function i1(i,r,d=5){const o=[];switch(r){case"top":o.push({x:i.x-d,y:i.y+d},{x:i.x+d,y:i.y+d});break;case"bottom":o.push({x:i.x-d,y:i.y-d},{x:i.x+d,y:i.y-d});break;case"left":o.push({x:i.x+d,y:i.y-d},{x:i.x+d,y:i.y+d});break;case"right":o.push({x:i.x-d,y:i.y-d},{x:i.x-d,y:i.y+d});break}return o}function c1(i){const{top:r,right:d,bottom:o,left:h}=i;return[{x:h,y:r},{x:d,y:r},{x:d,y:o},{x:h,y:o}]}function r1(i,r){const{x:d,y:o}=i;let h=!1;for(let x=0,y=r.length-1;x<r.length;y=x++){const v=r[x],p=r[y],S=v.x,T=v.y,E=p.x,B=p.y;T>o!=B>o&&d<(E-S)*(o-T)/(B-T)+S&&(h=!h)}return h}function u1(i){const r=i.slice();return r.sort((d,o)=>d.x<o.x?-1:d.x>o.x?1:d.y<o.y?-1:d.y>o.y?1:0),o1(r)}function o1(i){if(i.length<=1)return i.slice();const r=[];for(let o=0;o<i.length;o++){const h=i[o];for(;r.length>=2;){const x=r[r.length-1],y=r[r.length-2];if((x.x-y.x)*(h.y-y.y)>=(x.y-y.y)*(h.x-y.x))r.pop();else break}r.push(h)}r.pop();const d=[];for(let o=i.length-1;o>=0;o--){const h=i[o];for(;d.length>=2;){const x=d[d.length-1],y=d[d.length-2];if((x.x-y.x)*(h.y-y.y)>=(x.y-y.y)*(h.x-y.x))d.pop();else break}d.push(h)}return d.pop(),r.length===1&&d.length===1&&r[0].x===d[0].x&&r[0].y===d[0].y?r:r.concat(d)}var d1=Yh,f1=Vh,m1=Xh,h1=Kh,x1=Zh,g1=Jh;function p1({delayDuration:i=250,...r}){return n.jsx(d1,{"data-slot":"tooltip-provider",delayDuration:i,...r})}function fs({...i}){return n.jsx(f1,{"data-slot":"tooltip",...i})}function ms({...i}){return n.jsx(m1,{"data-slot":"tooltip-trigger",...i})}function hs({className:i,side:r="bottom",align:d="center",sideOffset:o=8,children:h,...x}){return n.jsx(h1,{children:n.jsxs(x1,{"data-slot":"tooltip-content",side:r,align:d,sideOffset:o,className:Re("z-50 overflow-hidden rounded-md border bg-neutral-900 px-3 py-2 text-sm text-white shadow-md leading-tight min-h-7","data-[state=delayed-open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=delayed-open]:fade-in-0 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",i),...x,children:[h,n.jsx(g1,{"data-slot":"tooltip-arrow",className:"fill-neutral-900"})]})})}function y1({themes:i,currentTheme:r,onThemeChange:d}){const[o,h]=f.useState(!1),[x,y]=f.useState(null),v=f.useRef(null),p=f.useRef(null);f.useEffect(()=>{const w=O=>{v.current&&!v.current.contains(O.target)&&(h(!1),y(null))};return document.addEventListener("mousedown",w),()=>document.removeEventListener("mousedown",w)},[]),f.useEffect(()=>{if(x){const w=document.documentElement;w.classList.remove("theme-claude","theme-neo-brutalism","theme-retro-arcade","theme-aurora","theme-business"),x==="claude"?w.classList.add("theme-claude"):x==="neo-brutalism"?w.classList.add("theme-neo-brutalism"):x==="retro-arcade"?w.classList.add("theme-retro-arcade"):x==="aurora"?w.classList.add("theme-aurora"):x==="business"&&w.classList.add("theme-business")}return()=>{if(x){const w=document.documentElement;w.classList.remove("theme-claude","theme-neo-brutalism","theme-retro-arcade","theme-aurora","theme-business"),r==="claude"?w.classList.add("theme-claude"):r==="neo-brutalism"?w.classList.add("theme-neo-brutalism"):r==="retro-arcade"?w.classList.add("theme-retro-arcade"):r==="aurora"?w.classList.add("theme-aurora"):r==="business"&&w.classList.add("theme-business")}}},[x,r]);const S=()=>{p.current&&clearTimeout(p.current),h(!0)},T=()=>{p.current=setTimeout(()=>{h(!1),y(null)},150)},E=w=>{y(w)},B=w=>{d(w),y(null),h(!1)};return n.jsxs("div",{ref:v,className:"relative",onMouseEnter:S,onMouseLeave:T,children:[n.jsxs(fs,{children:[n.jsx(ms,{asChild:!0,children:n.jsx(F,{variant:"outline",size:"sm","aria-label":"Select theme","aria-expanded":o,"aria-haspopup":"true",children:n.jsx(ny,{size:18})})}),n.jsx(hs,{children:"Theme"})]}),o&&n.jsx("div",{className:"absolute right-0 top-full mt-2 w-56 bg-popover border-2 border-border rounded-lg shadow-lg z-50 animate-slide-in-down overflow-hidden",role:"menu","aria-orientation":"vertical",children:n.jsx("div",{className:"p-2 space-y-1",children:i.map(w=>n.jsxs("button",{onClick:()=>B(w.id),onMouseEnter:()=>E(w.id),onMouseLeave:()=>y(null),className:`w-full flex items-center gap-3 px-3 py-2 rounded-md text-left transition-colors ${r===w.id?"bg-primary/10 text-foreground":"hover:bg-muted text-foreground"}`,role:"menuitem",children:[n.jsxs("div",{className:"flex gap-0.5 shrink-0",children:[n.jsx("div",{className:"w-4 h-4 rounded-sm border border-border/50",style:{backgroundColor:w.previewColors.background}}),n.jsx("div",{className:"w-4 h-4 rounded-sm border border-border/50",style:{backgroundColor:w.previewColors.primary}}),n.jsx("div",{className:"w-4 h-4 rounded-sm border border-border/50",style:{backgroundColor:w.previewColors.accent}})]}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-medium text-sm",children:w.name}),n.jsx("div",{className:"text-xs text-muted-foreground truncate",children:w.description})]}),r===w.id&&n.jsx(sa,{size:16,className:"text-primary shrink-0"})]},w.id))})})]})}function v1({isOpen:i,projectName:r,onClose:d,onResetComplete:o}){const[h,x]=f.useState("quick"),y=G0(r),v=async()=>{const S=h==="full";try{await y.mutateAsync(S),o?.(S),d()}catch{}},p=()=>{y.isPending||(y.reset(),x("quick"),d())};return n.jsx(Wt,{open:i,onOpenChange:S=>!S&&p(),children:n.jsxs(It,{className:"sm:max-w-md",children:[n.jsxs(Pt,{children:[n.jsxs(ea,{className:"flex items-center gap-2",children:[n.jsx(Sn,{size:20}),"Reset Project"]}),n.jsxs(gs,{children:["Reset ",n.jsx("span",{className:"font-semibold",children:r})," to start fresh"]})]}),n.jsxs("div",{className:"space-y-4 py-4",children:[n.jsxs("div",{className:"flex rounded-lg border-2 border-border overflow-hidden",children:[n.jsxs("button",{onClick:()=>x("quick"),disabled:y.isPending,className:`flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2 ${h==="quick"?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${y.isPending?"opacity-50 cursor-not-allowed":""}`,children:[n.jsx(Sn,{size:16}),"Quick Reset"]}),n.jsxs("button",{onClick:()=>x("full"),disabled:y.isPending,className:`flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2 ${h==="full"?"bg-destructive text-destructive-foreground":"bg-background text-foreground hover:bg-muted"} ${y.isPending?"opacity-50 cursor-not-allowed":""}`,children:[n.jsx(an,{size:16}),"Full Reset"]})]}),n.jsxs(ft,{variant:h==="full"?"destructive":"default",className:"border-2",children:[n.jsx(Ta,{className:"h-4 w-4"}),n.jsxs(mt,{children:[n.jsx("div",{className:"font-semibold mb-2",children:"What will be deleted:"}),n.jsxs("ul",{className:"list-none space-y-1 text-sm",children:[n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(nt,{size:14,className:"text-destructive"}),"All features and progress"]}),n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(nt,{size:14,className:"text-destructive"}),"Assistant chat history"]}),n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(nt,{size:14,className:"text-destructive"}),"Agent settings"]}),h==="full"&&n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(nt,{size:14,className:"text-destructive"}),"App spec and prompts"]})]})]})]}),n.jsxs("div",{className:"bg-muted/50 rounded-lg border-2 border-border p-3",children:[n.jsx("div",{className:"font-semibold mb-2 text-sm",children:"What will be preserved:"}),n.jsx("ul",{className:"list-none space-y-1 text-sm text-muted-foreground",children:h==="quick"?n.jsxs(n.Fragment,{children:[n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(sa,{size:14,className:"text-green-600"}),"App spec and prompts"]}),n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(sa,{size:14,className:"text-green-600"}),"Project code and files"]})]}):n.jsxs(n.Fragment,{children:[n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(sa,{size:14,className:"text-green-600"}),"Project code and files"]}),n.jsxs("li",{className:"flex items-center gap-2 text-muted-foreground/70",children:[n.jsx(Ta,{size:14}),"Setup wizard will appear"]})]})})]}),y.isError&&n.jsx(ft,{variant:"destructive",children:n.jsx(mt,{children:y.error instanceof Error?y.error.message:"Failed to reset project. Please try again."})})]}),n.jsxs(Ea,{className:"gap-2",children:[n.jsx(F,{variant:"outline",onClick:p,disabled:y.isPending,children:"Cancel"}),n.jsx(F,{variant:h==="full"?"destructive":"default",onClick:v,disabled:y.isPending,children:y.isPending?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{className:"animate-spin mr-2",size:16}),"Resetting..."]}):n.jsx(n.Fragment,{children:h==="quick"?"Quick Reset":"Full Reset"})})]})]})})}function b1({projectName:i,projectPath:r,onCreateWithClaude:d,onEditManually:o}){return n.jsx("div",{className:"max-w-2xl mx-auto mt-8",children:n.jsxs(Oe,{className:"border-2",children:[n.jsxs(Ji,{className:"text-center",children:[n.jsx(Du,{className:"text-2xl font-display",children:"Project Setup Required"}),n.jsxs(vv,{className:"text-base",children:[n.jsx("span",{className:"font-semibold",children:i})," needs an app spec to get started"]}),r&&n.jsxs("div",{className:"flex items-center justify-center gap-2 text-sm text-muted-foreground mt-2",children:[n.jsx(Xi,{size:14}),n.jsx("code",{className:"bg-muted px-2 py-0.5 rounded text-xs",children:r})]})]}),n.jsxs(Ge,{className:"space-y-4",children:[n.jsx("p",{className:"text-center text-muted-foreground",children:"Choose how you want to create your app specification:"}),n.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[n.jsx(Oe,{className:"cursor-pointer border-2 transition-all hover:border-primary hover:shadow-md",onClick:d,children:n.jsxs(Ge,{className:"pt-6 text-center space-y-3",children:[n.jsx("div",{className:"w-12 h-12 mx-auto bg-primary/10 rounded-full flex items-center justify-center",children:n.jsx(Nn,{className:"text-primary",size:24})}),n.jsx("h3",{className:"font-semibold text-lg",children:"Create with Claude"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Describe your app idea and Claude will help create a detailed specification"}),n.jsxs(F,{className:"w-full",children:[n.jsx(Nn,{size:16,className:"mr-2"}),"Start Chat"]})]})}),n.jsx(Oe,{className:"cursor-pointer border-2 transition-all hover:border-primary hover:shadow-md",onClick:o,children:n.jsxs(Ge,{className:"pt-6 text-center space-y-3",children:[n.jsx("div",{className:"w-12 h-12 mx-auto bg-muted rounded-full flex items-center justify-center",children:n.jsx(yu,{className:"text-muted-foreground",size:24})}),n.jsx("h3",{className:"font-semibold text-lg",children:"Edit Templates Manually"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Create the prompts directory and edit template files yourself"}),n.jsxs(F,{variant:"outline",className:"w-full",children:[n.jsx(yu,{size:16,className:"mr-2"}),"View Templates"]})]})})]}),n.jsx("p",{className:"text-center text-xs text-muted-foreground pt-4",children:"The app spec tells the agent what to build. It includes the application name, description, tech stack, and feature requirements."})]})]})})}const pu="autoforge-selected-project",hh="autoforge-view-mode",j1=48;function S1(){const[i,r]=f.useState(()=>{try{return localStorage.getItem(pu)}catch{return null}}),[d,o]=f.useState(!1),[h,x]=f.useState(!1),[y,v]=f.useState(null),[p,S]=f.useState(!0),[T,E]=f.useState(!1),[B,w]=f.useState(288),[O,U]=f.useState("agent"),[z,_]=f.useState(!1),[b,N]=f.useState(!1),[L,$]=f.useState(!1),[W,K]=f.useState(!1),[I,Q]=f.useState(!1),[le,P]=f.useState(!1),[H,J]=f.useState("idle"),[X,Y]=f.useState(null),[g,D]=f.useState(()=>{try{return localStorage.getItem(hh)==="graph"?"graph":"kanban"}catch{return"kanban"}}),ee=Qe(),{data:te,isLoading:fe}=H0(),{data:ue}=_h(i),{data:ae}=Au();F0(i);const ie=uv(i),{theme:Ue,setTheme:ot,darkMode:ht,toggleDarkMode:ia,themes:ca}=Oh(),ne=te?.find(Fe=>Fe.name===i),de=ne?.has_spec??!0,{data:Be}=gt({queryKey:["dependencyGraph",i],queryFn:()=>u0(i),enabled:!!i&&g==="graph",refetchInterval:5e3});f.useEffect(()=>{try{localStorage.setItem(hh,g)}catch{}},[g]),fv(ue),gv(ue,i);const Ct=f.useCallback(Fe=>{r(Fe);try{Fe?localStorage.setItem(pu,Fe):localStorage.removeItem(pu)}catch{}},[]),Kt=f.useCallback(Fe=>{const wt=[...ue?.pending??[],...ue?.in_progress??[],...ue?.done??[],...ue?.needs_human_input??[]].find(js=>js.id===Fe);wt&&v(wt)},[ue]);f.useEffect(()=>{i&&te&&!te.some(Fe=>Fe.name===i)&&Ct(null)},[i,te,Ct]),f.useEffect(()=>{const Fe=be=>{be.target instanceof HTMLInputElement||be.target instanceof HTMLTextAreaElement||((be.key==="d"||be.key==="D")&&(be.preventDefault(),E(wt=>!wt)),(be.key==="t"||be.key==="T")&&(be.preventDefault(),T?O==="terminal"?E(!1):U("terminal"):(E(!0),U("terminal"))),(be.key==="n"||be.key==="N")&&i&&(be.preventDefault(),o(!0)),(be.key==="e"||be.key==="E")&&i&&de&&ue&&ue.pending.length+ue.in_progress.length+ue.done.length+(ue.needs_human_input?.length||0)>0&&(be.preventDefault(),x(!0)),(be.key==="a"||be.key==="A")&&i&&!W&&(be.preventDefault(),_(wt=>!wt)),be.key===","&&(be.preventDefault(),N(!0)),(be.key==="g"||be.key==="G")&&i&&(be.preventDefault(),D(wt=>wt==="kanban"?"graph":"kanban")),be.key==="?"&&(be.preventDefault(),$(!0)),(be.key==="r"||be.key==="R")&&i&&!["running","pausing","paused_graceful"].includes(ie.agentStatus)&&(be.preventDefault(),Q(!0)),be.key==="Escape"&&(L?$(!1):I?Q(!1):h?x(!1):b?N(!1):z?_(!1):d?o(!1):y?v(null):T&&E(!1)))};return window.addEventListener("keydown",Fe),()=>window.removeEventListener("keydown",Fe)},[i,d,h,y,T,O,z,ue,b,L,W,g,I,ie.agentStatus,de]);const dt=ie.progress.total>0?ie.progress:{passing:ue?.done.length??0,total:(ue?.pending.length??0)+(ue?.in_progress.length??0)+(ue?.done.length??0)+(ue?.needs_human_input?.length??0),percentage:0};return dt.total>0&&dt.percentage===0&&(dt.percentage=Math.round(dt.passing/dt.total*100*10)/10),p?n.jsxs("div",{className:"min-h-screen bg-background",children:[n.jsx("header",{className:"sticky top-0 z-50 bg-card/80 backdrop-blur-md text-foreground border-b-2 border-border",children:n.jsx("div",{className:"max-w-7xl mx-auto px-4 py-3",children:n.jsxs(p1,{children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[n.jsx("img",{src:"/logo.png",alt:"AutoForge",className:"h-9 w-9 rounded-full"}),n.jsx("h1",{className:"font-display text-2xl font-bold tracking-tight uppercase hidden md:block",children:"AutoForge"})]}),n.jsx(Bv,{projects:te??[],selectedProject:i,onSelectProject:Ct,isLoading:fe,onSpecCreatingChange:K}),n.jsx("div",{className:"flex-1"}),i&&ae?.ollama_mode&&n.jsxs("div",{className:"hidden sm:flex items-center gap-1.5 px-2 py-1 bg-card rounded border-2 border-border shadow-sm",title:"Using Ollama local models",children:[n.jsx("img",{src:"/ollama.png",alt:"Ollama",className:"w-5 h-5"}),n.jsx("span",{className:"text-xs font-bold text-foreground",children:"Ollama"})]}),i&&ae?.glm_mode&&n.jsx(Me,{className:"hidden sm:inline-flex bg-purple-500 text-white hover:bg-purple-600",title:"Using GLM API",children:"GLM"}),n.jsxs(fs,{children:[n.jsx(ms,{asChild:!0,children:n.jsx(F,{onClick:()=>window.open("https://autoforge.cc","_blank"),variant:"outline",size:"sm","aria-label":"Open Documentation",children:n.jsx(ly,{size:18})})}),n.jsx(hs,{children:"Docs"})]}),n.jsx(y1,{themes:ca,currentTheme:Ue,onThemeChange:ot}),n.jsxs(fs,{children:[n.jsx(ms,{asChild:!0,children:n.jsx(F,{onClick:ia,variant:"outline",size:"sm","aria-label":"Toggle dark mode",children:ht?n.jsx(jh,{size:18}):n.jsx(Sh,{size:18})})}),n.jsx(hs,{children:"Toggle theme"})]})]}),i&&n.jsxs("div",{className:"flex items-center gap-3 mt-2 pt-2 border-t border-border/50",children:[n.jsx(Mb,{projectName:i,status:ie.agentStatus,defaultConcurrency:ne?.default_concurrency}),n.jsx(Rj,{projectName:i,status:ie.devServerStatus,url:ie.devServerUrl}),n.jsx("div",{className:"flex-1"}),n.jsxs(fs,{children:[n.jsx(ms,{asChild:!0,children:n.jsx(F,{onClick:()=>N(!0),variant:"outline",size:"sm","aria-label":"Open Settings",children:n.jsx(sy,{size:18})})}),n.jsx(hs,{children:"Settings (,)"})]}),n.jsxs(fs,{children:[n.jsx(ms,{asChild:!0,children:n.jsx(F,{onClick:()=>Q(!0),variant:"outline",size:"sm","aria-label":"Reset Project",disabled:["running","pausing","paused_graceful"].includes(ie.agentStatus),children:n.jsx(Sn,{size:18})})}),n.jsx(hs,{children:"Reset (R)"})]})]})]})})}),n.jsx("main",{className:"max-w-7xl mx-auto px-4 py-8",style:{paddingBottom:T?B+32:j1},children:i?de?n.jsxs("div",{className:"space-y-8",children:[n.jsx(Ub,{passing:dt.passing,total:dt.total,percentage:dt.percentage,isConnected:ie.isConnected,logs:ie.activeAgents.length===0?ie.logs:void 0,agentStatus:ie.activeAgents.length===0?ie.agentStatus:void 0}),n.jsx(dj,{agents:ie.activeAgents,orchestratorStatus:ie.orchestratorStatus,recentActivity:ie.recentActivity,getAgentLogs:ie.getAgentLogs}),ue&&ue.pending.length===0&&ue.in_progress.length===0&&ue.done.length===0&&(ue.needs_human_input?.length||0)===0&&ie.agentStatus==="running"&&n.jsx(Oe,{className:"p-8 text-center",children:n.jsxs(Ge,{className:"p-0",children:[n.jsx(Ce,{size:32,className:"animate-spin mx-auto mb-4 text-primary"}),n.jsx("h3",{className:"font-display font-bold text-xl mb-2",children:"Initializing Features..."}),n.jsx("p",{className:"text-muted-foreground",children:"The agent is reading your spec and creating features. This may take a moment."})]})}),ue&&ue.pending.length+ue.in_progress.length+ue.done.length+(ue.needs_human_input?.length||0)>0&&n.jsx("div",{className:"flex justify-center",children:n.jsx(Uj,{viewMode:g,onViewModeChange:D})}),g==="kanban"?n.jsx(pb,{features:ue,onFeatureClick:v,onAddFeature:()=>o(!0),onExpandProject:()=>x(!0),activeAgents:ie.activeAgents,onCreateSpec:()=>P(!0),hasSpec:de}):n.jsx(Oe,{className:"overflow-hidden",style:{height:"600px"},children:Be?n.jsx(Qj,{graphData:Be,onNodeClick:Kt,activeAgents:ie.activeAgents}):n.jsx("div",{className:"h-full flex items-center justify-center",children:n.jsx(Ce,{size:32,className:"animate-spin text-primary"})})})]}):n.jsx(b1,{projectName:i,projectPath:ne?.path,onCreateWithClaude:()=>P(!0),onEditManually:()=>{E(!0)}}):n.jsxs("div",{className:"text-center mt-12",children:[n.jsx("h2",{className:"font-display text-2xl font-bold mb-2",children:"Welcome to AutoForge"}),n.jsx("p",{className:"text-muted-foreground mb-4",children:"Select a project from the dropdown above or create a new one to get started."})]})}),d&&i&&n.jsx(Hb,{projectName:i,onClose:()=>o(!1)}),y&&i&&n.jsx(Qb,{feature:y,projectName:i,onClose:()=>v(null)}),h&&i&&de&&n.jsx(Aj,{isOpen:h,projectName:i,onClose:()=>x(!1),onFeaturesAdded:()=>{ee.invalidateQueries({queryKey:["features",i]})}}),le&&i&&n.jsx("div",{className:"fixed inset-0 z-50 bg-background",children:n.jsx(Bh,{projectName:i,onComplete:async(Fe,be)=>{J("starting");try{await Eu(i,{yoloMode:be??!1,maxConcurrency:3}),P(!1),J("idle"),ee.invalidateQueries({queryKey:["projects"]}),ee.invalidateQueries({queryKey:["features",i]})}catch(wt){J("error"),Y(wt instanceof Error?wt.message:"Failed to start agent")}},onCancel:()=>{P(!1),J("idle")},onExitToProject:()=>{P(!1),J("idle")},initializerStatus:H,initializerError:X,onRetryInitializer:()=>{Y(null),J("idle")}})}),i&&n.jsx(Zb,{logs:ie.logs,devLogs:ie.devLogs,isOpen:T,onToggle:()=>E(!T),onClear:ie.clearLogs,onClearDevLogs:ie.clearDevLogs,onHeightChange:w,projectName:i,activeTab:O,onTabChange:U}),i&&!h&&!W&&!le&&n.jsxs(n.Fragment,{children:[n.jsx(hj,{onClick:()=>_(!z),isOpen:z}),n.jsx(Cj,{projectName:i,isOpen:z,onClose:()=>_(!1)})]}),n.jsx(_j,{isOpen:b,onClose:()=>N(!1)}),n.jsx(Vj,{isOpen:L,onClose:()=>$(!1)}),I&&i&&n.jsx(v1,{isOpen:I,projectName:i,onClose:()=>Q(!1),onResetComplete:Fe=>{Fe&&P(!0)}}),ie.celebration&&n.jsx(mj,{agentName:ie.celebration.agentName,featureName:ie.celebration.featureName,onComplete:ie.clearCelebration})]}):n.jsx(Bb,{onComplete:()=>S(!0)})}const N1=new vp({defaultOptions:{queries:{staleTime:5e3,refetchOnWindowFocus:!1}}});Jy.createRoot(document.getElementById("root")).render(n.jsx(f.StrictMode,{children:n.jsx(bp,{client:N1,children:n.jsx(S1,{})})}));
|