autoforge-ai 0.1.3 → 0.1.5
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/.env.example +7 -35
- package/README.md +7 -31
- package/client.py +4 -3
- package/env_constants.py +1 -0
- package/package.json +1 -1
- package/registry.py +149 -4
- package/server/routers/agent.py +1 -1
- package/server/routers/assistant_chat.py +10 -4
- package/server/routers/expand_project.py +8 -2
- package/server/routers/settings.py +76 -19
- package/server/routers/spec_creation.py +13 -7
- package/server/routers/terminal.py +14 -8
- package/server/schemas.py +43 -5
- package/server/services/assistant_chat_session.py +7 -11
- package/server/services/expand_chat_session.py +6 -11
- package/server/services/process_manager.py +58 -2
- package/server/services/spec_chat_session.py +6 -11
- package/server/websocket.py +8 -5
- package/ui/dist/assets/index-CCu7z6o1.css +1 -0
- package/ui/dist/assets/index-DOPvjpbF.js +97 -0
- package/ui/dist/assets/vendor-utils-ZeeSylek.js +2 -0
- package/ui/dist/index.html +3 -3
- package/ui/dist/assets/index-CNq40B6c.js +0 -97
- package/ui/dist/assets/index-InF2n2n-.css +0 -1
- package/ui/dist/assets/vendor-utils-Cj4T6W23.js +0 -2
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import{u as Rt,b as at,c as rt,r as m,j as l,Q as qg,d as Lg}from"./vendor-query-BUABzP5o.js";import{r as Gg,a as Qg,g as Yg}from"./vendor-react-qkC6yhPU.js";import{c as Ti,t as Vg,a as Xg,I as Zg,B as uu,U as Kg,b as ou,C as ea,d as ta,F as Fg,E as du,X as tt,e as wa,R as on,P as Oi,S as fu,L as Me,Z as Jg,A as Im,W as dn,f as fn,g as _i,h as Pm,i as vm,H as $g,j as Ri,k as bm,l as cu,T as Ea,m as rs,n as tl,o as Pa,G as mn,M as mu,p as rn,q as jl,r as Wg,s as un,u as Ig,v as eh,w as Pg,x as jm,y as ep,z as tp,D as ap,J as lp,K as np,N as Sm,O as sp,Q as ip,V as Ui,Y as cp,_ as rp,$ as th,a0 as ah,a1 as lh,a2 as up,a3 as op,a4 as dp,a5 as fp,a6 as mp,a7 as nh,a8 as sh,a9 as hp,aa as xp,ab as gp,ac as pp,ad as yp,ae as vp,af as bp}from"./vendor-utils-Cj4T6W23.js";import{r as ih,a as jp,M as Sp,u as Np,b as Cp,i as zp,C as wp,B as Ep,c as Tp,d as Ap,P as cn,H as Nm}from"./vendor-flow-CVNK-_lx.js";import{S as ch,R as Dp,C as Mp,a as rh,T as _p,D as kp,P as Op,O as Rp,b as Up,c as Bp,d as Hp,e as qp,f as Lp,I as Gp,g as Qp,h as Yp,i as Vp,j as Xp,k as Zp,l as Kp}from"./vendor-radix-DTNNCg2d.js";import{D as Fp,o as Jp}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 p of h)if(p.type==="childList")for(const b of p.addedNodes)b.tagName==="LINK"&&b.rel==="modulepreload"&&o(b)}).observe(document,{childList:!0,subtree:!0});function d(h){const p={};return h.integrity&&(p.integrity=h.integrity),h.referrerPolicy&&(p.referrerPolicy=h.referrerPolicy),h.crossOrigin==="use-credentials"?p.credentials="include":h.crossOrigin==="anonymous"?p.credentials="omit":p.credentials="same-origin",p}function o(h){if(h.ep)return;h.ep=!0;const p=d(h);fetch(h.href,p)}})();var au={exports:{}},cs={},lu={exports:{}},nu={};var Cm;function $p(){return Cm||(Cm=1,(function(c){function r(y,D){var I=y.length;y.push(D);e:for(;0<I;){var P=I-1>>>1,de=y[P];if(0<h(de,D))y[P]=D,y[I]=de,I=P;else break e}}function d(y){return y.length===0?null:y[0]}function o(y){if(y.length===0)return null;var D=y[0],I=y.pop();if(I!==D){y[0]=I;e:for(var P=0,de=y.length,ue=de>>>1;P<ue;){var Ce=2*(P+1)-1,le=y[Ce],Re=Ce+1,ut=y[Re];if(0>h(le,I))Re<de&&0>h(ut,le)?(y[P]=ut,y[Re]=I,P=Re):(y[P]=le,y[Ce]=I,P=Ce);else if(Re<de&&0>h(ut,I))y[P]=ut,y[Re]=I,P=Re;else break e}}return D}function h(y,D){var I=y.sortIndex-D.sortIndex;return I!==0?I:y.id-D.id}if(c.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var p=performance;c.unstable_now=function(){return p.now()}}else{var b=Date,g=b.now();c.unstable_now=function(){return b.now()-g}}var A=[],w=[],E=1,_=null,L=3,z=!1,H=!1,B=!1,R=!1,C=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,S=typeof setImmediate<"u"?setImmediate:null;function Z(y){for(var D=d(w);D!==null;){if(D.callback===null)o(w);else if(D.startTime<=y)o(w),D.sortIndex=D.expirationTime,r(A,D);else break;D=d(w)}}function F(y){if(B=!1,Z(y),!H)if(d(A)!==null)H=!0,$||($=!0,O());else{var D=d(w);D!==null&&se(F,D.startTime-y)}}var $=!1,X=-1,ee=5,Y=-1;function ne(){return R?!0:!(c.unstable_now()-Y<ee)}function K(){if(R=!1,$){var y=c.unstable_now();Y=y;var D=!0;try{e:{H=!1,B&&(B=!1,v(X),X=-1),z=!0;var I=L;try{t:{for(Z(y),_=d(A);_!==null&&!(_.expirationTime>y&&ne());){var P=_.callback;if(typeof P=="function"){_.callback=null,L=_.priorityLevel;var de=P(_.expirationTime<=y);if(y=c.unstable_now(),typeof de=="function"){_.callback=de,Z(y),D=!0;break t}_===d(A)&&o(A),Z(y)}else o(A);_=d(A)}if(_!==null)D=!0;else{var ue=d(w);ue!==null&&se(F,ue.startTime-y),D=!1}}break e}finally{_=null,L=I,z=!1}D=void 0}}finally{D?O():$=!1}}}var O;if(typeof S=="function")O=function(){S(K)};else if(typeof MessageChannel<"u"){var q=new MessageChannel,W=q.port2;q.port1.onmessage=K,O=function(){W.postMessage(null)}}else O=function(){C(K,0)};function se(y,D){X=C(function(){y(c.unstable_now())},D)}c.unstable_IdlePriority=5,c.unstable_ImmediatePriority=1,c.unstable_LowPriority=4,c.unstable_NormalPriority=3,c.unstable_Profiling=null,c.unstable_UserBlockingPriority=2,c.unstable_cancelCallback=function(y){y.callback=null},c.unstable_forceFrameRate=function(y){0>y||125<y?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):ee=0<y?Math.floor(1e3/y):5},c.unstable_getCurrentPriorityLevel=function(){return L},c.unstable_next=function(y){switch(L){case 1:case 2:case 3:var D=3;break;default:D=L}var I=L;L=D;try{return y()}finally{L=I}},c.unstable_requestPaint=function(){R=!0},c.unstable_runWithPriority=function(y,D){switch(y){case 1:case 2:case 3:case 4:case 5:break;default:y=3}var I=L;L=y;try{return D()}finally{L=I}},c.unstable_scheduleCallback=function(y,D,I){var P=c.unstable_now();switch(typeof I=="object"&&I!==null?(I=I.delay,I=typeof I=="number"&&0<I?P+I:P):I=P,y){case 1:var de=-1;break;case 2:de=250;break;case 5:de=1073741823;break;case 4:de=1e4;break;default:de=5e3}return de=I+de,y={id:E++,callback:D,priorityLevel:y,startTime:I,expirationTime:de,sortIndex:-1},I>P?(y.sortIndex=I,r(w,y),d(A)===null&&y===d(w)&&(B?(v(X),X=-1):B=!0,se(F,I-P))):(y.sortIndex=de,r(A,y),H||z||(H=!0,$||($=!0,O()))),y},c.unstable_shouldYield=ne,c.unstable_wrapCallback=function(y){var D=L;return function(){var I=L;L=D;try{return y.apply(this,arguments)}finally{L=I}}}})(nu)),nu}var zm;function Wp(){return zm||(zm=1,lu.exports=$p()),lu.exports}var wm;function Ip(){if(wm)return cs;wm=1;var c=Wp(),r=Gg(),d=Qg();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 p(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 b(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 g(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 A(e){if(p(e)!==e)throw Error(o(188))}function w(e){var t=e.alternate;if(!t){if(t=p(e),t===null)throw Error(o(188));return t!==e?null:e}for(var a=e,n=t;;){var s=a.return;if(s===null)break;var i=s.alternate;if(i===null){if(n=s.return,n!==null){a=n;continue}break}if(s.child===i.child){for(i=s.child;i;){if(i===a)return A(s),e;if(i===n)return A(s),t;i=i.sibling}throw Error(o(188))}if(a.return!==n.return)a=s,n=i;else{for(var u=!1,f=s.child;f;){if(f===a){u=!0,a=s,n=i;break}if(f===n){u=!0,n=s,a=i;break}f=f.sibling}if(!u){for(f=i.child;f;){if(f===a){u=!0,a=i,n=s;break}if(f===n){u=!0,n=i,a=s;break}f=f.sibling}if(!u)throw Error(o(189))}}if(a.alternate!==n)throw Error(o(190))}if(a.tag!==3)throw Error(o(188));return a.stateNode.current===a?e:t}function E(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=E(e),t!==null)return t;e=e.sibling}return null}var _=Object.assign,L=Symbol.for("react.element"),z=Symbol.for("react.transitional.element"),H=Symbol.for("react.portal"),B=Symbol.for("react.fragment"),R=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),v=Symbol.for("react.consumer"),S=Symbol.for("react.context"),Z=Symbol.for("react.forward_ref"),F=Symbol.for("react.suspense"),$=Symbol.for("react.suspense_list"),X=Symbol.for("react.memo"),ee=Symbol.for("react.lazy"),Y=Symbol.for("react.activity"),ne=Symbol.for("react.memo_cache_sentinel"),K=Symbol.iterator;function O(e){return e===null||typeof e!="object"?null:(e=K&&e[K]||e["@@iterator"],typeof e=="function"?e:null)}var q=Symbol.for("react.client.reference");function W(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===q?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case B:return"Fragment";case C:return"Profiler";case R:return"StrictMode";case F:return"Suspense";case $:return"SuspenseList";case Y:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case H:return"Portal";case S:return e.displayName||"Context";case v:return(e._context.displayName||"Context")+".Consumer";case Z: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:W(e.type)||"Memo";case ee:t=e._payload,e=e._init;try{return W(e(t))}catch{}}return null}var se=Array.isArray,y=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,I={pending:!1,data:null,method:null,action:null},P=[],de=-1;function ue(e){return{current:e}}function Ce(e){0>de||(e.current=P[de],P[de]=null,de--)}function le(e,t){de++,P[de]=e.current,e.current=t}var Re=ue(null),ut=ue(null),ft=ue(null),ia=ue(null);function ca(e,t){switch(le(ft,t),le(ut,e),le(Re,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Qf(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Qf(t),e=Yf(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}Ce(Re),le(Re,e)}function te(){Ce(Re),Ce(ut),Ce(ft)}function oe(e){e.memoizedState!==null&&le(ia,e);var t=Re.current,a=Yf(t,e.type);t!==a&&(le(ut,e),le(Re,a))}function Ue(e){ut.current===e&&(Ce(Re),Ce(ut)),ia.current===e&&(Ce(ia),ls._currentValue=I)}var Nt,Zt;function ot(e){if(Nt===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);Nt=t&&t[1]||"",Zt=-1<a.stack.indexOf(`
|
|
2
|
-
at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
3
|
-
`+Nt+e+Zt}var Ze=!1;function ve(e,t){if(!e||Ze)return"";Ze=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var n={DetermineComponentFrameRoot:function(){try{if(t){var V=function(){throw Error()};if(Object.defineProperty(V.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(V,[])}catch(U){var k=U}Reflect.construct(e,[],V)}else{try{V.call()}catch(U){k=U}e.call(V.prototype)}}else{try{throw Error()}catch(U){k=U}(V=e())&&typeof V.catch=="function"&&V.catch(function(){})}}catch(U){if(U&&k&&typeof U.stack=="string")return[U.stack,k.stack]}return[null,null]}};n.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var s=Object.getOwnPropertyDescriptor(n.DetermineComponentFrameRoot,"name");s&&s.configurable&&Object.defineProperty(n.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var i=n.DetermineComponentFrameRoot(),u=i[0],f=i[1];if(u&&f){var x=u.split(`
|
|
4
|
-
`),M=f.split(`
|
|
5
|
-
`);for(s=n=0;n<x.length&&!x[n].includes("DetermineComponentFrameRoot");)n++;for(;s<M.length&&!M[s].includes("DetermineComponentFrameRoot");)s++;if(n===x.length||s===M.length)for(n=x.length-1,s=M.length-1;1<=n&&0<=s&&x[n]!==M[s];)s--;for(;1<=n&&0<=s;n--,s--)if(x[n]!==M[s]){if(n!==1||s!==1)do if(n--,s--,0>s||x[n]!==M[s]){var G=`
|
|
6
|
-
`+x[n].replace(" at new "," at ");return e.displayName&&G.includes("<anonymous>")&&(G=G.replace("<anonymous>",e.displayName)),G}while(1<=n&&0<=s);break}}}finally{Ze=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?ot(a):""}function Ct(e,t){switch(e.tag){case 26:case 27:case 5:return ot(e.type);case 16:return ot("Lazy");case 13:return e.child!==t&&t!==null?ot("Suspense Fallback"):ot("Suspense");case 19:return ot("SuspenseList");case 0:case 15:return ve(e.type,!1);case 11:return ve(e.type.render,!1);case 1:return ve(e.type,!0);case 31:return ot("Activity");default:return""}}function os(e){try{var t="",a=null;do t+=Ct(e,a),a=e,e=e.return;while(e);return t}catch(n){return`
|
|
7
|
-
Error generating stack: `+n.message+`
|
|
8
|
-
`+n.stack}}var Gi=Object.prototype.hasOwnProperty,Qi=c.unstable_scheduleCallback,Yi=c.unstable_cancelCallback,ph=c.unstable_shouldYield,yh=c.unstable_requestPaint,zt=c.unstable_now,vh=c.unstable_getCurrentPriorityLevel,yu=c.unstable_ImmediatePriority,vu=c.unstable_UserBlockingPriority,ds=c.unstable_NormalPriority,bh=c.unstable_LowPriority,bu=c.unstable_IdlePriority,jh=c.log,Sh=c.unstable_setDisableYieldValue,xn=null,wt=null;function Ta(e){if(typeof jh=="function"&&Sh(e),wt&&typeof wt.setStrictMode=="function")try{wt.setStrictMode(xn,e)}catch{}}var Et=Math.clz32?Math.clz32:zh,Nh=Math.log,Ch=Math.LN2;function zh(e){return e>>>=0,e===0?32:31-(Nh(e)/Ch|0)|0}var fs=256,ms=262144,hs=4194304;function al(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 xs(e,t,a){var n=e.pendingLanes;if(n===0)return 0;var s=0,i=e.suspendedLanes,u=e.pingedLanes;e=e.warmLanes;var f=n&134217727;return f!==0?(n=f&~i,n!==0?s=al(n):(u&=f,u!==0?s=al(u):a||(a=f&~e,a!==0&&(s=al(a))))):(f=n&~i,f!==0?s=al(f):u!==0?s=al(u):a||(a=n&~e,a!==0&&(s=al(a)))),s===0?0:t!==0&&t!==s&&(t&i)===0&&(i=s&-s,a=t&-t,i>=a||i===32&&(a&4194048)!==0)?t:s}function gn(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function wh(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 ju(){var e=hs;return hs<<=1,(hs&62914560)===0&&(hs=4194304),e}function Vi(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function pn(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Eh(e,t,a,n,s,i){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 f=e.entanglements,x=e.expirationTimes,M=e.hiddenUpdates;for(a=u&~a;0<a;){var G=31-Et(a),V=1<<G;f[G]=0,x[G]=-1;var k=M[G];if(k!==null)for(M[G]=null,G=0;G<k.length;G++){var U=k[G];U!==null&&(U.lane&=-536870913)}a&=~V}n!==0&&Su(e,n,0),i!==0&&s===0&&e.tag!==0&&(e.suspendedLanes|=i&~(u&~t))}function Su(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var n=31-Et(t);e.entangledLanes|=t,e.entanglements[n]=e.entanglements[n]|1073741824|a&261930}function Nu(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var n=31-Et(a),s=1<<n;s&t|e[n]&t&&(e[n]|=t),a&=~s}}function Cu(e,t){var a=t&-t;return a=(a&42)!==0?1:Xi(a),(a&(e.suspendedLanes|t))!==0?0:a}function Xi(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 Zi(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function zu(){var e=D.p;return e!==0?e:(e=window.event,e===void 0?32:fm(e.type))}function wu(e,t){var a=D.p;try{return D.p=e,t()}finally{D.p=a}}var Aa=Math.random().toString(36).slice(2),lt="__reactFiber$"+Aa,ht="__reactProps$"+Aa,Sl="__reactContainer$"+Aa,Ki="__reactEvents$"+Aa,Th="__reactListeners$"+Aa,Ah="__reactHandles$"+Aa,Eu="__reactResources$"+Aa,yn="__reactMarker$"+Aa;function Fi(e){delete e[lt],delete e[ht],delete e[Ki],delete e[Th],delete e[Ah]}function Nl(e){var t=e[lt];if(t)return t;for(var a=e.parentNode;a;){if(t=a[Sl]||a[lt]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=$f(e);e!==null;){if(a=e[lt])return a;e=$f(e)}return t}e=a,a=e.parentNode}return null}function Cl(e){if(e=e[lt]||e[Sl]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function vn(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(o(33))}function zl(e){var t=e[Eu];return t||(t=e[Eu]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function Pe(e){e[yn]=!0}var Tu=new Set,Au={};function ll(e,t){wl(e,t),wl(e+"Capture",t)}function wl(e,t){for(Au[e]=t,e=0;e<t.length;e++)Tu.add(t[e])}var Dh=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]*$"),Du={},Mu={};function Mh(e){return Gi.call(Mu,e)?!0:Gi.call(Du,e)?!1:Dh.test(e)?Mu[e]=!0:(Du[e]=!0,!1)}function gs(e,t,a){if(Mh(t))if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var n=t.toLowerCase().slice(0,5);if(n!=="data-"&&n!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+a)}}function ps(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,n){if(n===null)e.removeAttribute(a);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(a);return}e.setAttributeNS(t,a,""+n)}}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 _u(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function _h(e,t,a){var n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var s=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(u){a=""+u,i.call(this,u)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return a},setValue:function(u){a=""+u},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ji(e){if(!e._valueTracker){var t=_u(e)?"checked":"value";e._valueTracker=_h(e,t,""+e[t])}}function ku(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),n="";return e&&(n=_u(e)?e.checked?"true":"false":e.value),e=n,e!==a?(t.setValue(e),!0):!1}function ys(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 kh=/[\n"\\]/g;function Bt(e){return e.replace(kh,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function $i(e,t,a,n,s,i,u,f){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?Wi(e,u,Ut(t)):a!=null?Wi(e,u,Ut(a)):n!=null&&e.removeAttribute("value"),s==null&&i!=null&&(e.defaultChecked=!!i),s!=null&&(e.checked=s&&typeof s!="function"&&typeof s!="symbol"),f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"?e.name=""+Ut(f):e.removeAttribute("name")}function Ou(e,t,a,n,s,i,u,f){if(i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.type=i),t!=null||a!=null){if(!(i!=="submit"&&i!=="reset"||t!=null)){Ji(e);return}a=a!=null?""+Ut(a):"",t=t!=null?""+Ut(t):a,f||t===e.value||(e.value=t),e.defaultValue=t}n=n??s,n=typeof n!="function"&&typeof n!="symbol"&&!!n,e.checked=f?e.checked:!!n,e.defaultChecked=!!n,u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"&&(e.name=u),Ji(e)}function Wi(e,t,a){t==="number"&&ys(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function El(e,t,a,n){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&&n&&(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,n&&(e[s].defaultSelected=!0);return}t!==null||e[s].disabled||(t=e[s])}t!==null&&(t.selected=!0)}}function Ru(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 Uu(e,t,a,n){if(t==null){if(n!=null){if(a!=null)throw Error(o(92));if(se(n)){if(1<n.length)throw Error(o(93));n=n[0]}a=n}a==null&&(a=""),t=a}a=Ut(t),e.defaultValue=a,n=e.textContent,n===a&&n!==""&&n!==null&&(e.value=n),Ji(e)}function Tl(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var Oh=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 Bu(e,t,a){var n=t.indexOf("--")===0;a==null||typeof a=="boolean"||a===""?n?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":n?e.setProperty(t,a):typeof a!="number"||a===0||Oh.has(t)?t==="float"?e.cssFloat=a:e[t]=(""+a).trim():e[t]=a+"px"}function Hu(e,t,a){if(t!=null&&typeof t!="object")throw Error(o(62));if(e=e.style,a!=null){for(var n in a)!a.hasOwnProperty(n)||t!=null&&t.hasOwnProperty(n)||(n.indexOf("--")===0?e.setProperty(n,""):n==="float"?e.cssFloat="":e[n]="");for(var s in t)n=t[s],t.hasOwnProperty(s)&&a[s]!==n&&Bu(e,s,n)}else for(var i in t)t.hasOwnProperty(i)&&Bu(e,i,t[i])}function Ii(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 Rh=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"]]),Uh=/^[\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 vs(e){return Uh.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function ua(){}var Pi=null;function ec(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Al=null,Dl=null;function qu(e){var t=Cl(e);if(t&&(e=t.stateNode)){var a=e[ht]||null;e:switch(e=t.stateNode,t.type){case"input":if($i(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 n=a[t];if(n!==e&&n.form===e.form){var s=n[ht]||null;if(!s)throw Error(o(90));$i(n,s.value,s.defaultValue,s.defaultValue,s.checked,s.defaultChecked,s.type,s.name)}}for(t=0;t<a.length;t++)n=a[t],n.form===e.form&&ku(n)}break e;case"textarea":Ru(e,a.value,a.defaultValue);break e;case"select":t=a.value,t!=null&&El(e,!!a.multiple,t,!1)}}}var tc=!1;function Lu(e,t,a){if(tc)return e(t,a);tc=!0;try{var n=e(t);return n}finally{if(tc=!1,(Al!==null||Dl!==null)&&(ii(),Al&&(t=Al,e=Dl,Dl=Al=null,qu(t),e)))for(t=0;t<e.length;t++)qu(e[t])}}function bn(e,t){var a=e.stateNode;if(a===null)return null;var n=a[ht]||null;if(n===null)return null;a=n[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":(n=!n.disabled)||(e=e.type,n=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!n;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"),ac=!1;if(oa)try{var jn={};Object.defineProperty(jn,"passive",{get:function(){ac=!0}}),window.addEventListener("test",jn,jn),window.removeEventListener("test",jn,jn)}catch{ac=!1}var Da=null,lc=null,bs=null;function Gu(){if(bs)return bs;var e,t=lc,a=t.length,n,s="value"in Da?Da.value:Da.textContent,i=s.length;for(e=0;e<a&&t[e]===s[e];e++);var u=a-e;for(n=1;n<=u&&t[a-n]===s[i-n];n++);return bs=s.slice(e,1<n?1-n:void 0)}function js(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 Ss(){return!0}function Qu(){return!1}function xt(e){function t(a,n,s,i,u){this._reactName=a,this._targetInst=s,this.type=n,this.nativeEvent=i,this.target=u,this.currentTarget=null;for(var f in e)e.hasOwnProperty(f)&&(a=e[f],this[f]=a?a(i):i[f]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?Ss:Qu,this.isPropagationStopped=Qu,this}return _(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=Ss)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=Ss)},persist:function(){},isPersistent:Ss}),t}var nl={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ns=xt(nl),Sn=_({},nl,{view:0,detail:0}),Bh=xt(Sn),nc,sc,Nn,Cs=_({},Sn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:cc,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!==Nn&&(Nn&&e.type==="mousemove"?(nc=e.screenX-Nn.screenX,sc=e.screenY-Nn.screenY):sc=nc=0,Nn=e),nc)},movementY:function(e){return"movementY"in e?e.movementY:sc}}),Yu=xt(Cs),Hh=_({},Cs,{dataTransfer:0}),qh=xt(Hh),Lh=_({},Sn,{relatedTarget:0}),ic=xt(Lh),Gh=_({},nl,{animationName:0,elapsedTime:0,pseudoElement:0}),Qh=xt(Gh),Yh=_({},nl,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Vh=xt(Yh),Xh=_({},nl,{data:0}),Vu=xt(Xh),Zh={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Kh={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Fh={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Jh(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Fh[e])?!!t[e]:!1}function cc(){return Jh}var $h=_({},Sn,{key:function(e){if(e.key){var t=Zh[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=js(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Kh[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:cc,charCode:function(e){return e.type==="keypress"?js(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?js(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Wh=xt($h),Ih=_({},Cs,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Xu=xt(Ih),Ph=_({},Sn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:cc}),ex=xt(Ph),tx=_({},nl,{propertyName:0,elapsedTime:0,pseudoElement:0}),ax=xt(tx),lx=_({},Cs,{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}),nx=xt(lx),sx=_({},nl,{newState:0,oldState:0}),ix=xt(sx),cx=[9,13,27,32],rc=oa&&"CompositionEvent"in window,Cn=null;oa&&"documentMode"in document&&(Cn=document.documentMode);var rx=oa&&"TextEvent"in window&&!Cn,Zu=oa&&(!rc||Cn&&8<Cn&&11>=Cn),Ku=" ",Fu=!1;function Ju(e,t){switch(e){case"keyup":return cx.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function $u(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ml=!1;function ux(e,t){switch(e){case"compositionend":return $u(t);case"keypress":return t.which!==32?null:(Fu=!0,Ku);case"textInput":return e=t.data,e===Ku&&Fu?null:e;default:return null}}function ox(e,t){if(Ml)return e==="compositionend"||!rc&&Ju(e,t)?(e=Gu(),bs=lc=Da=null,Ml=!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 Zu&&t.locale!=="ko"?null:t.data;default:return null}}var dx={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 Wu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!dx[e.type]:t==="textarea"}function Iu(e,t,a,n){Al?Dl?Dl.push(n):Dl=[n]:Al=n,t=mi(t,"onChange"),0<t.length&&(a=new Ns("onChange","change",null,a,n),e.push({event:a,listeners:t}))}var zn=null,wn=null;function fx(e){Uf(e,0)}function zs(e){var t=vn(e);if(ku(t))return e}function Pu(e,t){if(e==="change")return t}var eo=!1;if(oa){var uc;if(oa){var oc="oninput"in document;if(!oc){var to=document.createElement("div");to.setAttribute("oninput","return;"),oc=typeof to.oninput=="function"}uc=oc}else uc=!1;eo=uc&&(!document.documentMode||9<document.documentMode)}function ao(){zn&&(zn.detachEvent("onpropertychange",lo),wn=zn=null)}function lo(e){if(e.propertyName==="value"&&zs(wn)){var t=[];Iu(t,wn,e,ec(e)),Lu(fx,t)}}function mx(e,t,a){e==="focusin"?(ao(),zn=t,wn=a,zn.attachEvent("onpropertychange",lo)):e==="focusout"&&ao()}function hx(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return zs(wn)}function xx(e,t){if(e==="click")return zs(t)}function gx(e,t){if(e==="input"||e==="change")return zs(t)}function px(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Tt=typeof Object.is=="function"?Object.is:px;function En(e,t){if(Tt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),n=Object.keys(t);if(a.length!==n.length)return!1;for(n=0;n<a.length;n++){var s=a[n];if(!Gi.call(t,s)||!Tt(e[s],t[s]))return!1}return!0}function no(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function so(e,t){var a=no(e);e=0;for(var n;a;){if(a.nodeType===3){if(n=e+a.textContent.length,e<=t&&n>=t)return{node:a,offset:t-e};e=n}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=no(a)}}function io(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?io(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=ys(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=ys(e.document)}return t}function dc(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 yx=oa&&"documentMode"in document&&11>=document.documentMode,_l=null,fc=null,Tn=null,mc=!1;function ro(e,t,a){var n=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;mc||_l==null||_l!==ys(n)||(n=_l,"selectionStart"in n&&dc(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),Tn&&En(Tn,n)||(Tn=n,n=mi(fc,"onSelect"),0<n.length&&(t=new Ns("onSelect","select",null,t,a),e.push({event:t,listeners:n}),t.target=_l)))}function sl(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var kl={animationend:sl("Animation","AnimationEnd"),animationiteration:sl("Animation","AnimationIteration"),animationstart:sl("Animation","AnimationStart"),transitionrun:sl("Transition","TransitionRun"),transitionstart:sl("Transition","TransitionStart"),transitioncancel:sl("Transition","TransitionCancel"),transitionend:sl("Transition","TransitionEnd")},hc={},uo={};oa&&(uo=document.createElement("div").style,"AnimationEvent"in window||(delete kl.animationend.animation,delete kl.animationiteration.animation,delete kl.animationstart.animation),"TransitionEvent"in window||delete kl.transitionend.transition);function il(e){if(hc[e])return hc[e];if(!kl[e])return e;var t=kl[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in uo)return hc[e]=t[a];return e}var oo=il("animationend"),fo=il("animationiteration"),mo=il("animationstart"),vx=il("transitionrun"),bx=il("transitionstart"),jx=il("transitioncancel"),ho=il("transitionend"),xo=new Map,xc="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(" ");xc.push("scrollEnd");function Kt(e,t){xo.set(e,t),ll(t,[e])}var ws=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=[],Ol=0,gc=0;function Es(){for(var e=Ol,t=gc=Ol=0;t<e;){var a=Ht[t];Ht[t++]=null;var n=Ht[t];Ht[t++]=null;var s=Ht[t];Ht[t++]=null;var i=Ht[t];if(Ht[t++]=null,n!==null&&s!==null){var u=n.pending;u===null?s.next=s:(s.next=u.next,u.next=s),n.pending=s}i!==0&&go(a,s,i)}}function Ts(e,t,a,n){Ht[Ol++]=e,Ht[Ol++]=t,Ht[Ol++]=a,Ht[Ol++]=n,gc|=n,e.lanes|=n,e=e.alternate,e!==null&&(e.lanes|=n)}function pc(e,t,a,n){return Ts(e,t,a,n),As(e)}function cl(e,t){return Ts(e,null,null,t),As(e)}function go(e,t,a){e.lanes|=a;var n=e.alternate;n!==null&&(n.lanes|=a);for(var s=!1,i=e.return;i!==null;)i.childLanes|=a,n=i.alternate,n!==null&&(n.childLanes|=a),i.tag===22&&(e=i.stateNode,e===null||e._visibility&1||(s=!0)),e=i,i=i.return;return e.tag===3?(i=e.stateNode,s&&t!==null&&(s=31-Et(a),e=i.hiddenUpdates,n=e[s],n===null?e[s]=[t]:n.push(t),t.lane=a|536870912),i):null}function As(e){if(50<$n)throw $n=0,wr=null,Error(o(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Rl={};function Sx(e,t,a,n){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=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function At(e,t,a,n){return new Sx(e,t,a,n)}function yc(e){return e=e.prototype,!(!e||!e.isReactComponent)}function da(e,t){var a=e.alternate;return a===null?(a=At(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 po(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 Ds(e,t,a,n,s,i){var u=0;if(n=e,typeof e=="function")yc(e)&&(u=1);else if(typeof e=="string")u=Eg(e,a,Re.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case Y:return e=At(31,a,t,s),e.elementType=Y,e.lanes=i,e;case B:return rl(a.children,s,i,t);case R:u=8,s|=24;break;case C:return e=At(12,a,t,s|2),e.elementType=C,e.lanes=i,e;case F:return e=At(13,a,t,s),e.elementType=F,e.lanes=i,e;case $:return e=At(19,a,t,s),e.elementType=$,e.lanes=i,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case S:u=10;break e;case v:u=9;break e;case Z:u=11;break e;case X:u=14;break e;case ee:u=16,n=null;break e}u=29,a=Error(o(130,e===null?"null":typeof e,"")),n=null}return t=At(u,a,t,s),t.elementType=e,t.type=n,t.lanes=i,t}function rl(e,t,a,n){return e=At(7,e,n,t),e.lanes=a,e}function vc(e,t,a){return e=At(6,e,null,t),e.lanes=a,e}function yo(e){var t=At(18,null,null,0);return t.stateNode=e,t}function bc(e,t,a){return t=At(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var vo=new WeakMap;function qt(e,t){if(typeof e=="object"&&e!==null){var a=vo.get(e);return a!==void 0?a:(t={value:e,source:t,stack:os(t)},vo.set(e,t),t)}return{value:e,source:t,stack:os(t)}}var Ul=[],Bl=0,Ms=null,An=0,Lt=[],Gt=0,Ma=null,$t=1,Wt="";function fa(e,t){Ul[Bl++]=An,Ul[Bl++]=Ms,Ms=e,An=t}function bo(e,t,a){Lt[Gt++]=$t,Lt[Gt++]=Wt,Lt[Gt++]=Ma,Ma=e;var n=$t;e=Wt;var s=32-Et(n)-1;n&=~(1<<s),a+=1;var i=32-Et(t)+s;if(30<i){var u=s-s%5;i=(n&(1<<u)-1).toString(32),n>>=u,s-=u,$t=1<<32-Et(t)+s|a<<s|n,Wt=i+e}else $t=1<<i|a<<s|n,Wt=e}function jc(e){e.return!==null&&(fa(e,1),bo(e,1,0))}function Sc(e){for(;e===Ms;)Ms=Ul[--Bl],Ul[Bl]=null,An=Ul[--Bl],Ul[Bl]=null;for(;e===Ma;)Ma=Lt[--Gt],Lt[Gt]=null,Wt=Lt[--Gt],Lt[Gt]=null,$t=Lt[--Gt],Lt[Gt]=null}function jo(e,t){Lt[Gt++]=$t,Lt[Gt++]=Wt,Lt[Gt++]=Ma,$t=t.id,Wt=t.overflow,Ma=e}var nt=null,Be=null,be=!1,_a=null,Qt=!1,Nc=Error(o(519));function ka(e){var t=Error(o(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Dn(qt(t,e)),Nc}function So(e){var t=e.stateNode,a=e.type,n=e.memoizedProps;switch(t[lt]=e,t[ht]=n,a){case"dialog":xe("cancel",t),xe("close",t);break;case"iframe":case"object":case"embed":xe("load",t);break;case"video":case"audio":for(a=0;a<In.length;a++)xe(In[a],t);break;case"source":xe("error",t);break;case"img":case"image":case"link":xe("error",t),xe("load",t);break;case"details":xe("toggle",t);break;case"input":xe("invalid",t),Ou(t,n.value,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name,!0);break;case"select":xe("invalid",t);break;case"textarea":xe("invalid",t),Uu(t,n.value,n.defaultValue,n.children)}a=n.children,typeof a!="string"&&typeof a!="number"&&typeof a!="bigint"||t.textContent===""+a||n.suppressHydrationWarning===!0||Lf(t.textContent,a)?(n.popover!=null&&(xe("beforetoggle",t),xe("toggle",t)),n.onScroll!=null&&xe("scroll",t),n.onScrollEnd!=null&&xe("scrollend",t),n.onClick!=null&&(t.onclick=ua),t=!0):t=!1,t||ka(e,!0)}function No(e){for(nt=e.return;nt;)switch(nt.tag){case 5:case 31:case 13:Qt=!1;return;case 27:case 3:Qt=!0;return;default:nt=nt.return}}function Hl(e){if(e!==nt)return!1;if(!be)return No(e),be=!0,!1;var t=e.tag,a;if((a=t!==3&&t!==27)&&((a=t===5)&&(a=e.type,a=!(a!=="form"&&a!=="button")||Gr(e.type,e.memoizedProps)),a=!a),a&&Be&&ka(e),No(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));Be=Jf(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));Be=Jf(e)}else t===27?(t=Be,Ka(e.type)?(e=Zr,Zr=null,Be=e):Be=t):Be=nt?Vt(e.stateNode.nextSibling):null;return!0}function ul(){Be=nt=null,be=!1}function Cc(){var e=_a;return e!==null&&(vt===null?vt=e:vt.push.apply(vt,e),_a=null),e}function Dn(e){_a===null?_a=[e]:_a.push(e)}var zc=ue(null),ol=null,ma=null;function Oa(e,t,a){le(zc,t._currentValue),t._currentValue=a}function ha(e){e._currentValue=zc.current,Ce(zc)}function wc(e,t,a){for(;e!==null;){var n=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,n!==null&&(n.childLanes|=t)):n!==null&&(n.childLanes&t)!==t&&(n.childLanes|=t),e===a)break;e=e.return}}function Ec(e,t,a,n){var s=e.child;for(s!==null&&(s.return=e);s!==null;){var i=s.dependencies;if(i!==null){var u=s.child;i=i.firstContext;e:for(;i!==null;){var f=i;i=s;for(var x=0;x<t.length;x++)if(f.context===t[x]){i.lanes|=a,f=i.alternate,f!==null&&(f.lanes|=a),wc(i.return,a,e),n||(u=null);break e}i=f.next}}else if(s.tag===18){if(u=s.return,u===null)throw Error(o(341));u.lanes|=a,i=u.alternate,i!==null&&(i.lanes|=a),wc(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 ql(e,t,a,n){e=null;for(var s=t,i=!1;s!==null;){if(!i){if((s.flags&524288)!==0)i=!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 f=s.type;Tt(s.pendingProps.value,u.value)||(e!==null?e.push(f):e=[f])}}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(ls):e=[ls])}s=s.return}e!==null&&Ec(t,e,a,n),t.flags|=262144}function _s(e){for(e=e.firstContext;e!==null;){if(!Tt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function dl(e){ol=e,ma=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function st(e){return Co(ol,e)}function ks(e,t){return ol===null&&dl(e),Co(e,t)}function Co(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 Nx=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(a,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(a){return a()})}},Cx=c.unstable_scheduleCallback,zx=c.unstable_NormalPriority,Ke={$$typeof:S,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Tc(){return{controller:new Nx,data:new Map,refCount:0}}function Mn(e){e.refCount--,e.refCount===0&&Cx(zx,function(){e.controller.abort()})}var _n=null,Ac=0,Ll=0,Gl=null;function wx(e,t){if(_n===null){var a=_n=[];Ac=0,Ll=_r(),Gl={status:"pending",value:void 0,then:function(n){a.push(n)}}}return Ac++,t.then(zo,zo),t}function zo(){if(--Ac===0&&_n!==null){Gl!==null&&(Gl.status="fulfilled");var e=_n;_n=null,Ll=0,Gl=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Ex(e,t){var a=[],n={status:"pending",value:null,reason:null,then:function(s){a.push(s)}};return e.then(function(){n.status="fulfilled",n.value=t;for(var s=0;s<a.length;s++)(0,a[s])(t)},function(s){for(n.status="rejected",n.reason=s,s=0;s<a.length;s++)(0,a[s])(void 0)}),n}var wo=y.S;y.S=function(e,t){of=zt(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&wx(e,t),wo!==null&&wo(e,t)};var fl=ue(null);function Dc(){var e=fl.current;return e!==null?e:De.pooledCache}function Os(e,t){t===null?le(fl,fl.current):le(fl,t.pool)}function Eo(){var e=Dc();return e===null?null:{parent:Ke._currentValue,pool:e}}var Ql=Error(o(460)),Mc=Error(o(474)),Rs=Error(o(542)),Us={then:function(){}};function To(e){return e=e.status,e==="fulfilled"||e==="rejected"}function Ao(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,Mo(e),e;default:if(typeof t.status=="string")t.then(ua,ua);else{if(e=De,e!==null&&100<e.shellSuspendCounter)throw Error(o(482));e=t,e.status="pending",e.then(function(n){if(t.status==="pending"){var s=t;s.status="fulfilled",s.value=n}},function(n){if(t.status==="pending"){var s=t;s.status="rejected",s.reason=n}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Mo(e),e}throw hl=t,Ql}}function ml(e){try{var t=e._init;return t(e._payload)}catch(a){throw a!==null&&typeof a=="object"&&typeof a.then=="function"?(hl=a,Ql):a}}var hl=null;function Do(){if(hl===null)throw Error(o(459));var e=hl;return hl=null,e}function Mo(e){if(e===Ql||e===Rs)throw Error(o(483))}var Yl=null,kn=0;function Bs(e){var t=kn;return kn+=1,Yl===null&&(Yl=[]),Ao(Yl,e,t)}function On(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function Hs(e,t){throw t.$$typeof===L?Error(o(525)):(e=Object.prototype.toString.call(t),Error(o(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function _o(e){function t(N,j){if(e){var T=N.deletions;T===null?(N.deletions=[j],N.flags|=16):T.push(j)}}function a(N,j){if(!e)return null;for(;j!==null;)t(N,j),j=j.sibling;return null}function n(N){for(var j=new Map;N!==null;)N.key!==null?j.set(N.key,N):j.set(N.index,N),N=N.sibling;return j}function s(N,j){return N=da(N,j),N.index=0,N.sibling=null,N}function i(N,j,T){return N.index=T,e?(T=N.alternate,T!==null?(T=T.index,T<j?(N.flags|=67108866,j):T):(N.flags|=67108866,j)):(N.flags|=1048576,j)}function u(N){return e&&N.alternate===null&&(N.flags|=67108866),N}function f(N,j,T,Q){return j===null||j.tag!==6?(j=vc(T,N.mode,Q),j.return=N,j):(j=s(j,T),j.return=N,j)}function x(N,j,T,Q){var ce=T.type;return ce===B?G(N,j,T.props.children,Q,T.key):j!==null&&(j.elementType===ce||typeof ce=="object"&&ce!==null&&ce.$$typeof===ee&&ml(ce)===j.type)?(j=s(j,T.props),On(j,T),j.return=N,j):(j=Ds(T.type,T.key,T.props,null,N.mode,Q),On(j,T),j.return=N,j)}function M(N,j,T,Q){return j===null||j.tag!==4||j.stateNode.containerInfo!==T.containerInfo||j.stateNode.implementation!==T.implementation?(j=bc(T,N.mode,Q),j.return=N,j):(j=s(j,T.children||[]),j.return=N,j)}function G(N,j,T,Q,ce){return j===null||j.tag!==7?(j=rl(T,N.mode,Q,ce),j.return=N,j):(j=s(j,T),j.return=N,j)}function V(N,j,T){if(typeof j=="string"&&j!==""||typeof j=="number"||typeof j=="bigint")return j=vc(""+j,N.mode,T),j.return=N,j;if(typeof j=="object"&&j!==null){switch(j.$$typeof){case z:return T=Ds(j.type,j.key,j.props,null,N.mode,T),On(T,j),T.return=N,T;case H:return j=bc(j,N.mode,T),j.return=N,j;case ee:return j=ml(j),V(N,j,T)}if(se(j)||O(j))return j=rl(j,N.mode,T,null),j.return=N,j;if(typeof j.then=="function")return V(N,Bs(j),T);if(j.$$typeof===S)return V(N,ks(N,j),T);Hs(N,j)}return null}function k(N,j,T,Q){var ce=j!==null?j.key:null;if(typeof T=="string"&&T!==""||typeof T=="number"||typeof T=="bigint")return ce!==null?null:f(N,j,""+T,Q);if(typeof T=="object"&&T!==null){switch(T.$$typeof){case z:return T.key===ce?x(N,j,T,Q):null;case H:return T.key===ce?M(N,j,T,Q):null;case ee:return T=ml(T),k(N,j,T,Q)}if(se(T)||O(T))return ce!==null?null:G(N,j,T,Q,null);if(typeof T.then=="function")return k(N,j,Bs(T),Q);if(T.$$typeof===S)return k(N,j,ks(N,T),Q);Hs(N,T)}return null}function U(N,j,T,Q,ce){if(typeof Q=="string"&&Q!==""||typeof Q=="number"||typeof Q=="bigint")return N=N.get(T)||null,f(j,N,""+Q,ce);if(typeof Q=="object"&&Q!==null){switch(Q.$$typeof){case z:return N=N.get(Q.key===null?T:Q.key)||null,x(j,N,Q,ce);case H:return N=N.get(Q.key===null?T:Q.key)||null,M(j,N,Q,ce);case ee:return Q=ml(Q),U(N,j,T,Q,ce)}if(se(Q)||O(Q))return N=N.get(T)||null,G(j,N,Q,ce,null);if(typeof Q.then=="function")return U(N,j,T,Bs(Q),ce);if(Q.$$typeof===S)return U(N,j,T,ks(j,Q),ce);Hs(j,Q)}return null}function ae(N,j,T,Q){for(var ce=null,je=null,ie=j,me=j=0,pe=null;ie!==null&&me<T.length;me++){ie.index>me?(pe=ie,ie=null):pe=ie.sibling;var Se=k(N,ie,T[me],Q);if(Se===null){ie===null&&(ie=pe);break}e&&ie&&Se.alternate===null&&t(N,ie),j=i(Se,j,me),je===null?ce=Se:je.sibling=Se,je=Se,ie=pe}if(me===T.length)return a(N,ie),be&&fa(N,me),ce;if(ie===null){for(;me<T.length;me++)ie=V(N,T[me],Q),ie!==null&&(j=i(ie,j,me),je===null?ce=ie:je.sibling=ie,je=ie);return be&&fa(N,me),ce}for(ie=n(ie);me<T.length;me++)pe=U(ie,N,me,T[me],Q),pe!==null&&(e&&pe.alternate!==null&&ie.delete(pe.key===null?me:pe.key),j=i(pe,j,me),je===null?ce=pe:je.sibling=pe,je=pe);return e&&ie.forEach(function(Ia){return t(N,Ia)}),be&&fa(N,me),ce}function re(N,j,T,Q){if(T==null)throw Error(o(151));for(var ce=null,je=null,ie=j,me=j=0,pe=null,Se=T.next();ie!==null&&!Se.done;me++,Se=T.next()){ie.index>me?(pe=ie,ie=null):pe=ie.sibling;var Ia=k(N,ie,Se.value,Q);if(Ia===null){ie===null&&(ie=pe);break}e&&ie&&Ia.alternate===null&&t(N,ie),j=i(Ia,j,me),je===null?ce=Ia:je.sibling=Ia,je=Ia,ie=pe}if(Se.done)return a(N,ie),be&&fa(N,me),ce;if(ie===null){for(;!Se.done;me++,Se=T.next())Se=V(N,Se.value,Q),Se!==null&&(j=i(Se,j,me),je===null?ce=Se:je.sibling=Se,je=Se);return be&&fa(N,me),ce}for(ie=n(ie);!Se.done;me++,Se=T.next())Se=U(ie,N,me,Se.value,Q),Se!==null&&(e&&Se.alternate!==null&&ie.delete(Se.key===null?me:Se.key),j=i(Se,j,me),je===null?ce=Se:je.sibling=Se,je=Se);return e&&ie.forEach(function(Hg){return t(N,Hg)}),be&&fa(N,me),ce}function Ae(N,j,T,Q){if(typeof T=="object"&&T!==null&&T.type===B&&T.key===null&&(T=T.props.children),typeof T=="object"&&T!==null){switch(T.$$typeof){case z:e:{for(var ce=T.key;j!==null;){if(j.key===ce){if(ce=T.type,ce===B){if(j.tag===7){a(N,j.sibling),Q=s(j,T.props.children),Q.return=N,N=Q;break e}}else if(j.elementType===ce||typeof ce=="object"&&ce!==null&&ce.$$typeof===ee&&ml(ce)===j.type){a(N,j.sibling),Q=s(j,T.props),On(Q,T),Q.return=N,N=Q;break e}a(N,j);break}else t(N,j);j=j.sibling}T.type===B?(Q=rl(T.props.children,N.mode,Q,T.key),Q.return=N,N=Q):(Q=Ds(T.type,T.key,T.props,null,N.mode,Q),On(Q,T),Q.return=N,N=Q)}return u(N);case H:e:{for(ce=T.key;j!==null;){if(j.key===ce)if(j.tag===4&&j.stateNode.containerInfo===T.containerInfo&&j.stateNode.implementation===T.implementation){a(N,j.sibling),Q=s(j,T.children||[]),Q.return=N,N=Q;break e}else{a(N,j);break}else t(N,j);j=j.sibling}Q=bc(T,N.mode,Q),Q.return=N,N=Q}return u(N);case ee:return T=ml(T),Ae(N,j,T,Q)}if(se(T))return ae(N,j,T,Q);if(O(T)){if(ce=O(T),typeof ce!="function")throw Error(o(150));return T=ce.call(T),re(N,j,T,Q)}if(typeof T.then=="function")return Ae(N,j,Bs(T),Q);if(T.$$typeof===S)return Ae(N,j,ks(N,T),Q);Hs(N,T)}return typeof T=="string"&&T!==""||typeof T=="number"||typeof T=="bigint"?(T=""+T,j!==null&&j.tag===6?(a(N,j.sibling),Q=s(j,T),Q.return=N,N=Q):(a(N,j),Q=vc(T,N.mode,Q),Q.return=N,N=Q),u(N)):a(N,j)}return function(N,j,T,Q){try{kn=0;var ce=Ae(N,j,T,Q);return Yl=null,ce}catch(ie){if(ie===Ql||ie===Rs)throw ie;var je=At(29,ie,null,N.mode);return je.lanes=Q,je.return=N,je}}}var xl=_o(!0),ko=_o(!1),Ra=!1;function _c(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function kc(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 Ua(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ba(e,t,a){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,(Ne&2)!==0){var s=n.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),n.pending=t,t=As(e),go(e,null,a),t}return Ts(e,n,t,a),As(e)}function Rn(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var n=t.lanes;n&=e.pendingLanes,a|=n,t.lanes=a,Nu(e,a)}}function Oc(e,t){var a=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,a===n)){var s=null,i=null;if(a=a.firstBaseUpdate,a!==null){do{var u={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};i===null?s=i=u:i=i.next=u,a=a.next}while(a!==null);i===null?s=i=t:i=i.next=t}else s=i=t;a={baseState:n.baseState,firstBaseUpdate:s,lastBaseUpdate:i,shared:n.shared,callbacks:n.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Rc=!1;function Un(){if(Rc){var e=Gl;if(e!==null)throw e}}function Bn(e,t,a,n){Rc=!1;var s=e.updateQueue;Ra=!1;var i=s.firstBaseUpdate,u=s.lastBaseUpdate,f=s.shared.pending;if(f!==null){s.shared.pending=null;var x=f,M=x.next;x.next=null,u===null?i=M:u.next=M,u=x;var G=e.alternate;G!==null&&(G=G.updateQueue,f=G.lastBaseUpdate,f!==u&&(f===null?G.firstBaseUpdate=M:f.next=M,G.lastBaseUpdate=x))}if(i!==null){var V=s.baseState;u=0,G=M=x=null,f=i;do{var k=f.lane&-536870913,U=k!==f.lane;if(U?(ge&k)===k:(n&k)===k){k!==0&&k===Ll&&(Rc=!0),G!==null&&(G=G.next={lane:0,tag:f.tag,payload:f.payload,callback:null,next:null});e:{var ae=e,re=f;k=t;var Ae=a;switch(re.tag){case 1:if(ae=re.payload,typeof ae=="function"){V=ae.call(Ae,V,k);break e}V=ae;break e;case 3:ae.flags=ae.flags&-65537|128;case 0:if(ae=re.payload,k=typeof ae=="function"?ae.call(Ae,V,k):ae,k==null)break e;V=_({},V,k);break e;case 2:Ra=!0}}k=f.callback,k!==null&&(e.flags|=64,U&&(e.flags|=8192),U=s.callbacks,U===null?s.callbacks=[k]:U.push(k))}else U={lane:k,tag:f.tag,payload:f.payload,callback:f.callback,next:null},G===null?(M=G=U,x=V):G=G.next=U,u|=k;if(f=f.next,f===null){if(f=s.shared.pending,f===null)break;U=f,f=U.next,U.next=null,s.lastBaseUpdate=U,s.shared.pending=null}}while(!0);G===null&&(x=V),s.baseState=x,s.firstBaseUpdate=M,s.lastBaseUpdate=G,i===null&&(s.shared.lanes=0),Qa|=u,e.lanes=u,e.memoizedState=V}}function Oo(e,t){if(typeof e!="function")throw Error(o(191,e));e.call(t)}function Ro(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;e<a.length;e++)Oo(a[e],t)}var Vl=ue(null),qs=ue(0);function Uo(e,t){e=Na,le(qs,e),le(Vl,t),Na=e|t.baseLanes}function Uc(){le(qs,Na),le(Vl,Vl.current)}function Bc(){Na=qs.current,Ce(Vl),Ce(qs)}var Dt=ue(null),Yt=null;function Ha(e){var t=e.alternate;le(Ve,Ve.current&1),le(Dt,e),Yt===null&&(t===null||Vl.current!==null||t.memoizedState!==null)&&(Yt=e)}function Hc(e){le(Ve,Ve.current),le(Dt,e),Yt===null&&(Yt=e)}function Bo(e){e.tag===22?(le(Ve,Ve.current),le(Dt,e),Yt===null&&(Yt=e)):qa()}function qa(){le(Ve,Ve.current),le(Dt,Dt.current)}function Mt(e){Ce(Dt),Yt===e&&(Yt=null),Ce(Ve)}var Ve=ue(0);function Ls(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||Vr(a)||Xr(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,fe=null,Ee=null,Fe=null,Gs=!1,Xl=!1,gl=!1,Qs=0,Hn=0,Zl=null,Tx=0;function Qe(){throw Error(o(321))}function qc(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!Tt(e[a],t[a]))return!1;return!0}function Lc(e,t,a,n,s,i){return xa=i,fe=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,y.H=e===null||e.memoizedState===null?bd:tr,gl=!1,i=a(n,s),gl=!1,Xl&&(i=qo(t,a,n,s)),Ho(e),i}function Ho(e){y.H=Gn;var t=Ee!==null&&Ee.next!==null;if(xa=0,Fe=Ee=fe=null,Gs=!1,Hn=0,Zl=null,t)throw Error(o(300));e===null||Je||(e=e.dependencies,e!==null&&_s(e)&&(Je=!0))}function qo(e,t,a,n){fe=e;var s=0;do{if(Xl&&(Zl=null),Hn=0,Xl=!1,25<=s)throw Error(o(301));if(s+=1,Fe=Ee=null,e.updateQueue!=null){var i=e.updateQueue;i.lastEffect=null,i.events=null,i.stores=null,i.memoCache!=null&&(i.memoCache.index=0)}y.H=jd,i=t(a,n)}while(Xl);return i}function Ax(){var e=y.H,t=e.useState()[0];return t=typeof t.then=="function"?qn(t):t,e=e.useState()[0],(Ee!==null?Ee.memoizedState:null)!==e&&(fe.flags|=1024),t}function Gc(){var e=Qs!==0;return Qs=0,e}function Qc(e,t,a){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a}function Yc(e){if(Gs){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Gs=!1}xa=0,Fe=Ee=fe=null,Xl=!1,Hn=Qs=0,Zl=null}function mt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Fe===null?fe.memoizedState=Fe=e:Fe=Fe.next=e,Fe}function Xe(){if(Ee===null){var e=fe.alternate;e=e!==null?e.memoizedState:null}else e=Ee.next;var t=Fe===null?fe.memoizedState:Fe.next;if(t!==null)Fe=t,Ee=e;else{if(e===null)throw fe.alternate===null?Error(o(467)):Error(o(310));Ee=e,e={memoizedState:Ee.memoizedState,baseState:Ee.baseState,baseQueue:Ee.baseQueue,queue:Ee.queue,next:null},Fe===null?fe.memoizedState=Fe=e:Fe=Fe.next=e}return Fe}function Ys(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function qn(e){var t=Hn;return Hn+=1,Zl===null&&(Zl=[]),e=Ao(Zl,e,t),t=fe,(Fe===null?t.memoizedState:Fe.next)===null&&(t=t.alternate,y.H=t===null||t.memoizedState===null?bd:tr),e}function Vs(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return qn(e);if(e.$$typeof===S)return st(e)}throw Error(o(438,String(e)))}function Vc(e){var t=null,a=fe.updateQueue;if(a!==null&&(t=a.memoCache),t==null){var n=fe.alternate;n!==null&&(n=n.updateQueue,n!==null&&(n=n.memoCache,n!=null&&(t={data:n.data.map(function(s){return s.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),a===null&&(a=Ys(),fe.updateQueue=a),a.memoCache=t,a=t.data[t.index],a===void 0)for(a=t.data[t.index]=Array(e),n=0;n<e;n++)a[n]=ne;return t.index++,a}function ga(e,t){return typeof t=="function"?t(e):t}function Xs(e){var t=Xe();return Xc(t,Ee,e)}function Xc(e,t,a){var n=e.queue;if(n===null)throw Error(o(311));n.lastRenderedReducer=a;var s=e.baseQueue,i=n.pending;if(i!==null){if(s!==null){var u=s.next;s.next=i.next,i.next=u}t.baseQueue=s=i,n.pending=null}if(i=e.baseState,s===null)e.memoizedState=i;else{t=s.next;var f=u=null,x=null,M=t,G=!1;do{var V=M.lane&-536870913;if(V!==M.lane?(ge&V)===V:(xa&V)===V){var k=M.revertLane;if(k===0)x!==null&&(x=x.next={lane:0,revertLane:0,gesture:null,action:M.action,hasEagerState:M.hasEagerState,eagerState:M.eagerState,next:null}),V===Ll&&(G=!0);else if((xa&k)===k){M=M.next,k===Ll&&(G=!0);continue}else V={lane:0,revertLane:M.revertLane,gesture:null,action:M.action,hasEagerState:M.hasEagerState,eagerState:M.eagerState,next:null},x===null?(f=x=V,u=i):x=x.next=V,fe.lanes|=k,Qa|=k;V=M.action,gl&&a(i,V),i=M.hasEagerState?M.eagerState:a(i,V)}else k={lane:V,revertLane:M.revertLane,gesture:M.gesture,action:M.action,hasEagerState:M.hasEagerState,eagerState:M.eagerState,next:null},x===null?(f=x=k,u=i):x=x.next=k,fe.lanes|=V,Qa|=V;M=M.next}while(M!==null&&M!==t);if(x===null?u=i:x.next=f,!Tt(i,e.memoizedState)&&(Je=!0,G&&(a=Gl,a!==null)))throw a;e.memoizedState=i,e.baseState=u,e.baseQueue=x,n.lastRenderedState=i}return s===null&&(n.lanes=0),[e.memoizedState,n.dispatch]}function Zc(e){var t=Xe(),a=t.queue;if(a===null)throw Error(o(311));a.lastRenderedReducer=e;var n=a.dispatch,s=a.pending,i=t.memoizedState;if(s!==null){a.pending=null;var u=s=s.next;do i=e(i,u.action),u=u.next;while(u!==s);Tt(i,t.memoizedState)||(Je=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),a.lastRenderedState=i}return[i,n]}function Lo(e,t,a){var n=fe,s=Xe(),i=be;if(i){if(a===void 0)throw Error(o(407));a=a()}else a=t();var u=!Tt((Ee||s).memoizedState,a);if(u&&(s.memoizedState=a,Je=!0),s=s.queue,Jc(Yo.bind(null,n,s,e),[e]),s.getSnapshot!==t||u||Fe!==null&&Fe.memoizedState.tag&1){if(n.flags|=2048,Kl(9,{destroy:void 0},Qo.bind(null,n,s,a,t),null),De===null)throw Error(o(349));i||(xa&127)!==0||Go(n,t,a)}return a}function Go(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=fe.updateQueue,t===null?(t=Ys(),fe.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function Qo(e,t,a,n){t.value=a,t.getSnapshot=n,Vo(t)&&Xo(e)}function Yo(e,t,a){return a(function(){Vo(t)&&Xo(e)})}function Vo(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!Tt(e,a)}catch{return!0}}function Xo(e){var t=cl(e,2);t!==null&&bt(t,e,2)}function Kc(e){var t=mt();if(typeof e=="function"){var a=e;if(e=a(),gl){Ta(!0);try{a()}finally{Ta(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ga,lastRenderedState:e},t}function Zo(e,t,a,n){return e.baseState=a,Xc(e,Ee,typeof n=="function"?n:ga)}function Dx(e,t,a,n,s){if(Fs(e))throw Error(o(485));if(e=t.action,e!==null){var i={payload:s,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(u){i.listeners.push(u)}};y.T!==null?a(!0):i.isTransition=!1,n(i),a=t.pending,a===null?(i.next=t.pending=i,Ko(t,i)):(i.next=a.next,t.pending=a.next=i)}}function Ko(e,t){var a=t.action,n=t.payload,s=e.state;if(t.isTransition){var i=y.T,u={};y.T=u;try{var f=a(s,n),x=y.S;x!==null&&x(u,f),Fo(e,t,f)}catch(M){Fc(e,t,M)}finally{i!==null&&u.types!==null&&(i.types=u.types),y.T=i}}else try{i=a(s,n),Fo(e,t,i)}catch(M){Fc(e,t,M)}}function Fo(e,t,a){a!==null&&typeof a=="object"&&typeof a.then=="function"?a.then(function(n){Jo(e,t,n)},function(n){return Fc(e,t,n)}):Jo(e,t,a)}function Jo(e,t,a){t.status="fulfilled",t.value=a,$o(t),e.state=a,t=e.pending,t!==null&&(a=t.next,a===t?e.pending=null:(a=a.next,t.next=a,Ko(e,a)))}function Fc(e,t,a){var n=e.pending;if(e.pending=null,n!==null){n=n.next;do t.status="rejected",t.reason=a,$o(t),t=t.next;while(t!==n)}e.action=null}function $o(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Wo(e,t){return t}function Io(e,t){if(be){var a=De.formState;if(a!==null){e:{var n=fe;if(be){if(Be){t:{for(var s=Be,i=Qt;s.nodeType!==8;){if(!i){s=null;break t}if(s=Vt(s.nextSibling),s===null){s=null;break t}}i=s.data,s=i==="F!"||i==="F"?s:null}if(s){Be=Vt(s.nextSibling),n=s.data==="F!";break e}}ka(n)}n=!1}n&&(t=a[0])}}return a=mt(),a.memoizedState=a.baseState=t,n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Wo,lastRenderedState:t},a.queue=n,a=pd.bind(null,fe,n),n.dispatch=a,n=Kc(!1),i=er.bind(null,fe,!1,n.queue),n=mt(),s={state:t,dispatch:null,action:e,pending:null},n.queue=s,a=Dx.bind(null,fe,s,i,a),s.dispatch=a,n.memoizedState=e,[t,a,!1]}function Po(e){var t=Xe();return ed(t,Ee,e)}function ed(e,t,a){if(t=Xc(e,t,Wo)[0],e=Xs(ga)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var n=qn(t)}catch(u){throw u===Ql?Rs:u}else n=t;t=Xe();var s=t.queue,i=s.dispatch;return a!==t.memoizedState&&(fe.flags|=2048,Kl(9,{destroy:void 0},Mx.bind(null,s,a),null)),[n,i,e]}function Mx(e,t){e.action=t}function td(e){var t=Xe(),a=Ee;if(a!==null)return ed(t,a,e);Xe(),t=t.memoizedState,a=Xe();var n=a.queue.dispatch;return a.memoizedState=e,[t,n,!1]}function Kl(e,t,a,n){return e={tag:e,create:a,deps:n,inst:t,next:null},t=fe.updateQueue,t===null&&(t=Ys(),fe.updateQueue=t),a=t.lastEffect,a===null?t.lastEffect=e.next=e:(n=a.next,a.next=e,e.next=n,t.lastEffect=e),e}function ad(){return Xe().memoizedState}function Zs(e,t,a,n){var s=mt();fe.flags|=e,s.memoizedState=Kl(1|t,{destroy:void 0},a,n===void 0?null:n)}function Ks(e,t,a,n){var s=Xe();n=n===void 0?null:n;var i=s.memoizedState.inst;Ee!==null&&n!==null&&qc(n,Ee.memoizedState.deps)?s.memoizedState=Kl(t,i,a,n):(fe.flags|=e,s.memoizedState=Kl(1|t,i,a,n))}function ld(e,t){Zs(8390656,8,e,t)}function Jc(e,t){Ks(2048,8,e,t)}function _x(e){fe.flags|=4;var t=fe.updateQueue;if(t===null)t=Ys(),fe.updateQueue=t,t.events=[e];else{var a=t.events;a===null?t.events=[e]:a.push(e)}}function nd(e){var t=Xe().memoizedState;return _x({ref:t,nextImpl:e}),function(){if((Ne&2)!==0)throw Error(o(440));return t.impl.apply(void 0,arguments)}}function sd(e,t){return Ks(4,2,e,t)}function id(e,t){return Ks(4,4,e,t)}function cd(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 rd(e,t,a){a=a!=null?a.concat([e]):null,Ks(4,4,cd.bind(null,t,e),a)}function $c(){}function ud(e,t){var a=Xe();t=t===void 0?null:t;var n=a.memoizedState;return t!==null&&qc(t,n[1])?n[0]:(a.memoizedState=[e,t],e)}function od(e,t){var a=Xe();t=t===void 0?null:t;var n=a.memoizedState;if(t!==null&&qc(t,n[1]))return n[0];if(n=e(),gl){Ta(!0);try{e()}finally{Ta(!1)}}return a.memoizedState=[n,t],n}function Wc(e,t,a){return a===void 0||(xa&1073741824)!==0&&(ge&261930)===0?e.memoizedState=t:(e.memoizedState=a,e=ff(),fe.lanes|=e,Qa|=e,a)}function dd(e,t,a,n){return Tt(a,t)?a:Vl.current!==null?(e=Wc(e,a,n),Tt(e,t)||(Je=!0),e):(xa&42)===0||(xa&1073741824)!==0&&(ge&261930)===0?(Je=!0,e.memoizedState=a):(e=ff(),fe.lanes|=e,Qa|=e,t)}function fd(e,t,a,n,s){var i=D.p;D.p=i!==0&&8>i?i:8;var u=y.T,f={};y.T=f,er(e,!1,t,a);try{var x=s(),M=y.S;if(M!==null&&M(f,x),x!==null&&typeof x=="object"&&typeof x.then=="function"){var G=Ex(x,n);Ln(e,t,G,Ot(e))}else Ln(e,t,n,Ot(e))}catch(V){Ln(e,t,{then:function(){},status:"rejected",reason:V},Ot())}finally{D.p=i,u!==null&&f.types!==null&&(u.types=f.types),y.T=u}}function kx(){}function Ic(e,t,a,n){if(e.tag!==5)throw Error(o(476));var s=md(e).queue;fd(e,s,t,I,a===null?kx:function(){return hd(e),a(n)})}function md(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:I,baseState:I,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ga,lastRenderedState:I},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 hd(e){var t=md(e);t.next===null&&(t=e.alternate.memoizedState),Ln(e,t.next.queue,{},Ot())}function Pc(){return st(ls)}function xd(){return Xe().memoizedState}function gd(){return Xe().memoizedState}function Ox(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=Ot();e=Ua(a);var n=Ba(t,e,a);n!==null&&(bt(n,t,a),Rn(n,t,a)),t={cache:Tc()},e.payload=t;return}t=t.return}}function Rx(e,t,a){var n=Ot();a={lane:n,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Fs(e)?yd(t,a):(a=pc(e,t,a,n),a!==null&&(bt(a,e,n),vd(a,t,n)))}function pd(e,t,a){var n=Ot();Ln(e,t,a,n)}function Ln(e,t,a,n){var s={lane:n,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Fs(e))yd(t,s);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var u=t.lastRenderedState,f=i(u,a);if(s.hasEagerState=!0,s.eagerState=f,Tt(f,u))return Ts(e,t,s,0),De===null&&Es(),!1}catch{}if(a=pc(e,t,s,n),a!==null)return bt(a,e,n),vd(a,t,n),!0}return!1}function er(e,t,a,n){if(n={lane:2,revertLane:_r(),gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Fs(e)){if(t)throw Error(o(479))}else t=pc(e,a,n,2),t!==null&&bt(t,e,2)}function Fs(e){var t=e.alternate;return e===fe||t!==null&&t===fe}function yd(e,t){Xl=Gs=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function vd(e,t,a){if((a&4194048)!==0){var n=t.lanes;n&=e.pendingLanes,a|=n,t.lanes=a,Nu(e,a)}}var Gn={readContext:st,use:Vs,useCallback:Qe,useContext:Qe,useEffect:Qe,useImperativeHandle:Qe,useLayoutEffect:Qe,useInsertionEffect:Qe,useMemo:Qe,useReducer:Qe,useRef:Qe,useState:Qe,useDebugValue:Qe,useDeferredValue:Qe,useTransition:Qe,useSyncExternalStore:Qe,useId:Qe,useHostTransitionStatus:Qe,useFormState:Qe,useActionState:Qe,useOptimistic:Qe,useMemoCache:Qe,useCacheRefresh:Qe};Gn.useEffectEvent=Qe;var bd={readContext:st,use:Vs,useCallback:function(e,t){return mt().memoizedState=[e,t===void 0?null:t],e},useContext:st,useEffect:ld,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,Zs(4194308,4,cd.bind(null,t,e),a)},useLayoutEffect:function(e,t){return Zs(4194308,4,e,t)},useInsertionEffect:function(e,t){Zs(4,2,e,t)},useMemo:function(e,t){var a=mt();t=t===void 0?null:t;var n=e();if(gl){Ta(!0);try{e()}finally{Ta(!1)}}return a.memoizedState=[n,t],n},useReducer:function(e,t,a){var n=mt();if(a!==void 0){var s=a(t);if(gl){Ta(!0);try{a(t)}finally{Ta(!1)}}}else s=t;return n.memoizedState=n.baseState=s,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:s},n.queue=e,e=e.dispatch=Rx.bind(null,fe,e),[n.memoizedState,e]},useRef:function(e){var t=mt();return e={current:e},t.memoizedState=e},useState:function(e){e=Kc(e);var t=e.queue,a=pd.bind(null,fe,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:$c,useDeferredValue:function(e,t){var a=mt();return Wc(a,e,t)},useTransition:function(){var e=Kc(!1);return e=fd.bind(null,fe,e.queue,!0,!1),mt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var n=fe,s=mt();if(be){if(a===void 0)throw Error(o(407));a=a()}else{if(a=t(),De===null)throw Error(o(349));(ge&127)!==0||Go(n,t,a)}s.memoizedState=a;var i={value:a,getSnapshot:t};return s.queue=i,ld(Yo.bind(null,n,i,e),[e]),n.flags|=2048,Kl(9,{destroy:void 0},Qo.bind(null,n,i,a,t),null),a},useId:function(){var e=mt(),t=De.identifierPrefix;if(be){var a=Wt,n=$t;a=(n&~(1<<32-Et(n)-1)).toString(32)+a,t="_"+t+"R_"+a,a=Qs++,0<a&&(t+="H"+a.toString(32)),t+="_"}else a=Tx++,t="_"+t+"r_"+a.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Pc,useFormState:Io,useActionState:Io,useOptimistic:function(e){var t=mt();t.memoizedState=t.baseState=e;var a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=a,t=er.bind(null,fe,!0,a),a.dispatch=t,[e,t]},useMemoCache:Vc,useCacheRefresh:function(){return mt().memoizedState=Ox.bind(null,fe)},useEffectEvent:function(e){var t=mt(),a={impl:e};return t.memoizedState=a,function(){if((Ne&2)!==0)throw Error(o(440));return a.impl.apply(void 0,arguments)}}},tr={readContext:st,use:Vs,useCallback:ud,useContext:st,useEffect:Jc,useImperativeHandle:rd,useInsertionEffect:sd,useLayoutEffect:id,useMemo:od,useReducer:Xs,useRef:ad,useState:function(){return Xs(ga)},useDebugValue:$c,useDeferredValue:function(e,t){var a=Xe();return dd(a,Ee.memoizedState,e,t)},useTransition:function(){var e=Xs(ga)[0],t=Xe().memoizedState;return[typeof e=="boolean"?e:qn(e),t]},useSyncExternalStore:Lo,useId:xd,useHostTransitionStatus:Pc,useFormState:Po,useActionState:Po,useOptimistic:function(e,t){var a=Xe();return Zo(a,Ee,e,t)},useMemoCache:Vc,useCacheRefresh:gd};tr.useEffectEvent=nd;var jd={readContext:st,use:Vs,useCallback:ud,useContext:st,useEffect:Jc,useImperativeHandle:rd,useInsertionEffect:sd,useLayoutEffect:id,useMemo:od,useReducer:Zc,useRef:ad,useState:function(){return Zc(ga)},useDebugValue:$c,useDeferredValue:function(e,t){var a=Xe();return Ee===null?Wc(a,e,t):dd(a,Ee.memoizedState,e,t)},useTransition:function(){var e=Zc(ga)[0],t=Xe().memoizedState;return[typeof e=="boolean"?e:qn(e),t]},useSyncExternalStore:Lo,useId:xd,useHostTransitionStatus:Pc,useFormState:td,useActionState:td,useOptimistic:function(e,t){var a=Xe();return Ee!==null?Zo(a,Ee,e,t):(a.baseState=e,[e,a.queue.dispatch])},useMemoCache:Vc,useCacheRefresh:gd};jd.useEffectEvent=nd;function ar(e,t,a,n){t=e.memoizedState,a=a(n,t),a=a==null?t:_({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var lr={enqueueSetState:function(e,t,a){e=e._reactInternals;var n=Ot(),s=Ua(n);s.payload=t,a!=null&&(s.callback=a),t=Ba(e,s,n),t!==null&&(bt(t,e,n),Rn(t,e,n))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var n=Ot(),s=Ua(n);s.tag=1,s.payload=t,a!=null&&(s.callback=a),t=Ba(e,s,n),t!==null&&(bt(t,e,n),Rn(t,e,n))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=Ot(),n=Ua(a);n.tag=2,t!=null&&(n.callback=t),t=Ba(e,n,a),t!==null&&(bt(t,e,a),Rn(t,e,a))}};function Sd(e,t,a,n,s,i,u){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(n,i,u):t.prototype&&t.prototype.isPureReactComponent?!En(a,n)||!En(s,i):!0}function Nd(e,t,a,n){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,n),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,n),t.state!==e&&lr.enqueueReplaceState(t,t.state,null)}function pl(e,t){var a=t;if("ref"in t){a={};for(var n in t)n!=="ref"&&(a[n]=t[n])}if(e=e.defaultProps){a===t&&(a=_({},a));for(var s in e)a[s]===void 0&&(a[s]=e[s])}return a}function Cd(e){ws(e)}function zd(e){console.error(e)}function wd(e){ws(e)}function Js(e,t){try{var a=e.onUncaughtError;a(t.value,{componentStack:t.stack})}catch(n){setTimeout(function(){throw n})}}function Ed(e,t,a){try{var n=e.onCaughtError;n(a.value,{componentStack:a.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(s){setTimeout(function(){throw s})}}function nr(e,t,a){return a=Ua(a),a.tag=3,a.payload={element:null},a.callback=function(){Js(e,t)},a}function Td(e){return e=Ua(e),e.tag=3,e}function Ad(e,t,a,n){var s=a.type.getDerivedStateFromError;if(typeof s=="function"){var i=n.value;e.payload=function(){return s(i)},e.callback=function(){Ed(t,a,n)}}var u=a.stateNode;u!==null&&typeof u.componentDidCatch=="function"&&(e.callback=function(){Ed(t,a,n),typeof s!="function"&&(Ya===null?Ya=new Set([this]):Ya.add(this));var f=n.stack;this.componentDidCatch(n.value,{componentStack:f!==null?f:""})})}function Ux(e,t,a,n,s){if(a.flags|=32768,n!==null&&typeof n=="object"&&typeof n.then=="function"){if(t=a.alternate,t!==null&&ql(t,a,s,!0),a=Dt.current,a!==null){switch(a.tag){case 31:case 13:return Yt===null?ci():a.alternate===null&&Ye===0&&(Ye=3),a.flags&=-257,a.flags|=65536,a.lanes=s,n===Us?a.flags|=16384:(t=a.updateQueue,t===null?a.updateQueue=new Set([n]):t.add(n),Ar(e,n,s)),!1;case 22:return a.flags|=65536,n===Us?a.flags|=16384:(t=a.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([n])},a.updateQueue=t):(a=t.retryQueue,a===null?t.retryQueue=new Set([n]):a.add(n)),Ar(e,n,s)),!1}throw Error(o(435,a.tag))}return Ar(e,n,s),ci(),!1}if(be)return t=Dt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=s,n!==Nc&&(e=Error(o(422),{cause:n}),Dn(qt(e,a)))):(n!==Nc&&(t=Error(o(423),{cause:n}),Dn(qt(t,a))),e=e.current.alternate,e.flags|=65536,s&=-s,e.lanes|=s,n=qt(n,a),s=nr(e.stateNode,n,s),Oc(e,s),Ye!==4&&(Ye=2)),!1;var i=Error(o(520),{cause:n});if(i=qt(i,a),Jn===null?Jn=[i]:Jn.push(i),Ye!==4&&(Ye=2),t===null)return!0;n=qt(n,a),a=t;do{switch(a.tag){case 3:return a.flags|=65536,e=s&-s,a.lanes|=e,e=nr(a.stateNode,n,e),Oc(a,e),!1;case 1:if(t=a.type,i=a.stateNode,(a.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||i!==null&&typeof i.componentDidCatch=="function"&&(Ya===null||!Ya.has(i))))return a.flags|=65536,s&=-s,a.lanes|=s,s=Td(s),Ad(s,e,a,n),Oc(a,s),!1}a=a.return}while(a!==null);return!1}var sr=Error(o(461)),Je=!1;function it(e,t,a,n){t.child=e===null?ko(t,null,a,n):xl(t,e.child,a,n)}function Dd(e,t,a,n,s){a=a.render;var i=t.ref;if("ref"in n){var u={};for(var f in n)f!=="ref"&&(u[f]=n[f])}else u=n;return dl(t),n=Lc(e,t,a,u,i,s),f=Gc(),e!==null&&!Je?(Qc(e,t,s),pa(e,t,s)):(be&&f&&jc(t),t.flags|=1,it(e,t,n,s),t.child)}function Md(e,t,a,n,s){if(e===null){var i=a.type;return typeof i=="function"&&!yc(i)&&i.defaultProps===void 0&&a.compare===null?(t.tag=15,t.type=i,_d(e,t,i,n,s)):(e=Ds(a.type,null,n,t,t.mode,s),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!mr(e,s)){var u=i.memoizedProps;if(a=a.compare,a=a!==null?a:En,a(u,n)&&e.ref===t.ref)return pa(e,t,s)}return t.flags|=1,e=da(i,n),e.ref=t.ref,e.return=t,t.child=e}function _d(e,t,a,n,s){if(e!==null){var i=e.memoizedProps;if(En(i,n)&&e.ref===t.ref)if(Je=!1,t.pendingProps=n=i,mr(e,s))(e.flags&131072)!==0&&(Je=!0);else return t.lanes=e.lanes,pa(e,t,s)}return ir(e,t,a,n,s)}function kd(e,t,a,n){var s=n.children,i=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),n.mode==="hidden"){if((t.flags&128)!==0){if(i=i!==null?i.baseLanes|a:a,e!==null){for(n=t.child=e.child,s=0;n!==null;)s=s|n.lanes|n.childLanes,n=n.sibling;n=s&~i}else n=0,t.child=null;return Od(e,t,i,a,n)}if((a&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Os(t,i!==null?i.cachePool:null),i!==null?Uo(t,i):Uc(),Bo(t);else return n=t.lanes=536870912,Od(e,t,i!==null?i.baseLanes|a:a,a,n)}else i!==null?(Os(t,i.cachePool),Uo(t,i),qa(),t.memoizedState=null):(e!==null&&Os(t,null),Uc(),qa());return it(e,t,s,a),t.child}function Qn(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Od(e,t,a,n,s){var i=Dc();return i=i===null?null:{parent:Ke._currentValue,pool:i},t.memoizedState={baseLanes:a,cachePool:i},e!==null&&Os(t,null),Uc(),Bo(t),e!==null&&ql(e,t,n,!0),t.childLanes=s,null}function $s(e,t){return t=Is({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Rd(e,t,a){return xl(t,e.child,null,a),e=$s(t,t.pendingProps),e.flags|=2,Mt(t),t.memoizedState=null,e}function Bx(e,t,a){var n=t.pendingProps,s=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(be){if(n.mode==="hidden")return e=$s(t,n),t.lanes=536870912,Qn(null,e);if(Hc(t),(e=Be)?(e=Ff(e,Qt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ma!==null?{id:$t,overflow:Wt}:null,retryLane:536870912,hydrationErrors:null},a=yo(e),a.return=t,t.child=a,nt=t,Be=null)):e=null,e===null)throw ka(t);return t.lanes=536870912,null}return $s(t,n)}var i=e.memoizedState;if(i!==null){var u=i.dehydrated;if(Hc(t),s)if(t.flags&256)t.flags&=-257,t=Rd(e,t,a);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(o(558));else if(Je||ql(e,t,a,!1),s=(a&e.childLanes)!==0,Je||s){if(n=De,n!==null&&(u=Cu(n,a),u!==0&&u!==i.retryLane))throw i.retryLane=u,cl(e,u),bt(n,e,u),sr;ci(),t=Rd(e,t,a)}else e=i.treeContext,Be=Vt(u.nextSibling),nt=t,be=!0,_a=null,Qt=!1,e!==null&&jo(t,e),t=$s(t,n),t.flags|=4096;return t}return e=da(e.child,{mode:n.mode,children:n.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Ws(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 ir(e,t,a,n,s){return dl(t),a=Lc(e,t,a,n,void 0,s),n=Gc(),e!==null&&!Je?(Qc(e,t,s),pa(e,t,s)):(be&&n&&jc(t),t.flags|=1,it(e,t,a,s),t.child)}function Ud(e,t,a,n,s,i){return dl(t),t.updateQueue=null,a=qo(t,n,a,s),Ho(e),n=Gc(),e!==null&&!Je?(Qc(e,t,i),pa(e,t,i)):(be&&n&&jc(t),t.flags|=1,it(e,t,a,i),t.child)}function Bd(e,t,a,n,s){if(dl(t),t.stateNode===null){var i=Rl,u=a.contextType;typeof u=="object"&&u!==null&&(i=st(u)),i=new a(n,i),t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=lr,t.stateNode=i,i._reactInternals=t,i=t.stateNode,i.props=n,i.state=t.memoizedState,i.refs={},_c(t),u=a.contextType,i.context=typeof u=="object"&&u!==null?st(u):Rl,i.state=t.memoizedState,u=a.getDerivedStateFromProps,typeof u=="function"&&(ar(t,a,u,n),i.state=t.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(u=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),u!==i.state&&lr.enqueueReplaceState(i,i.state,null),Bn(t,n,i,s),Un(),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308),n=!0}else if(e===null){i=t.stateNode;var f=t.memoizedProps,x=pl(a,f);i.props=x;var M=i.context,G=a.contextType;u=Rl,typeof G=="object"&&G!==null&&(u=st(G));var V=a.getDerivedStateFromProps;G=typeof V=="function"||typeof i.getSnapshotBeforeUpdate=="function",f=t.pendingProps!==f,G||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(f||M!==u)&&Nd(t,i,n,u),Ra=!1;var k=t.memoizedState;i.state=k,Bn(t,n,i,s),Un(),M=t.memoizedState,f||k!==M||Ra?(typeof V=="function"&&(ar(t,a,V,n),M=t.memoizedState),(x=Ra||Sd(t,a,x,n,k,M,u))?(G||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=n,t.memoizedState=M),i.props=n,i.state=M,i.context=u,n=x):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),n=!1)}else{i=t.stateNode,kc(e,t),u=t.memoizedProps,G=pl(a,u),i.props=G,V=t.pendingProps,k=i.context,M=a.contextType,x=Rl,typeof M=="object"&&M!==null&&(x=st(M)),f=a.getDerivedStateFromProps,(M=typeof f=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(u!==V||k!==x)&&Nd(t,i,n,x),Ra=!1,k=t.memoizedState,i.state=k,Bn(t,n,i,s),Un();var U=t.memoizedState;u!==V||k!==U||Ra||e!==null&&e.dependencies!==null&&_s(e.dependencies)?(typeof f=="function"&&(ar(t,a,f,n),U=t.memoizedState),(G=Ra||Sd(t,a,G,n,k,U,x)||e!==null&&e.dependencies!==null&&_s(e.dependencies))?(M||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(n,U,x),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(n,U,x)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||u===e.memoizedProps&&k===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&k===e.memoizedState||(t.flags|=1024),t.memoizedProps=n,t.memoizedState=U),i.props=n,i.state=U,i.context=x,n=G):(typeof i.componentDidUpdate!="function"||u===e.memoizedProps&&k===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&k===e.memoizedState||(t.flags|=1024),n=!1)}return i=n,Ws(e,t),n=(t.flags&128)!==0,i||n?(i=t.stateNode,a=n&&typeof a.getDerivedStateFromError!="function"?null:i.render(),t.flags|=1,e!==null&&n?(t.child=xl(t,e.child,null,s),t.child=xl(t,null,a,s)):it(e,t,a,s),t.memoizedState=i.state,e=t.child):e=pa(e,t,s),e}function Hd(e,t,a,n){return ul(),t.flags|=256,it(e,t,a,n),t.child}var cr={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function rr(e){return{baseLanes:e,cachePool:Eo()}}function ur(e,t,a){return e=e!==null?e.childLanes&~a:0,t&&(e|=kt),e}function qd(e,t,a){var n=t.pendingProps,s=!1,i=(t.flags&128)!==0,u;if((u=i)||(u=e!==null&&e.memoizedState===null?!1:(Ve.current&2)!==0),u&&(s=!0,t.flags&=-129),u=(t.flags&32)!==0,t.flags&=-33,e===null){if(be){if(s?Ha(t):qa(),(e=Be)?(e=Ff(e,Qt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ma!==null?{id:$t,overflow:Wt}:null,retryLane:536870912,hydrationErrors:null},a=yo(e),a.return=t,t.child=a,nt=t,Be=null)):e=null,e===null)throw ka(t);return Xr(e)?t.lanes=32:t.lanes=536870912,null}var f=n.children;return n=n.fallback,s?(qa(),s=t.mode,f=Is({mode:"hidden",children:f},s),n=rl(n,s,a,null),f.return=t,n.return=t,f.sibling=n,t.child=f,n=t.child,n.memoizedState=rr(a),n.childLanes=ur(e,u,a),t.memoizedState=cr,Qn(null,n)):(Ha(t),or(t,f))}var x=e.memoizedState;if(x!==null&&(f=x.dehydrated,f!==null)){if(i)t.flags&256?(Ha(t),t.flags&=-257,t=dr(e,t,a)):t.memoizedState!==null?(qa(),t.child=e.child,t.flags|=128,t=null):(qa(),f=n.fallback,s=t.mode,n=Is({mode:"visible",children:n.children},s),f=rl(f,s,a,null),f.flags|=2,n.return=t,f.return=t,n.sibling=f,t.child=n,xl(t,e.child,null,a),n=t.child,n.memoizedState=rr(a),n.childLanes=ur(e,u,a),t.memoizedState=cr,t=Qn(null,n));else if(Ha(t),Xr(f)){if(u=f.nextSibling&&f.nextSibling.dataset,u)var M=u.dgst;u=M,n=Error(o(419)),n.stack="",n.digest=u,Dn({value:n,source:null,stack:null}),t=dr(e,t,a)}else if(Je||ql(e,t,a,!1),u=(a&e.childLanes)!==0,Je||u){if(u=De,u!==null&&(n=Cu(u,a),n!==0&&n!==x.retryLane))throw x.retryLane=n,cl(e,n),bt(u,e,n),sr;Vr(f)||ci(),t=dr(e,t,a)}else Vr(f)?(t.flags|=192,t.child=e.child,t=null):(e=x.treeContext,Be=Vt(f.nextSibling),nt=t,be=!0,_a=null,Qt=!1,e!==null&&jo(t,e),t=or(t,n.children),t.flags|=4096);return t}return s?(qa(),f=n.fallback,s=t.mode,x=e.child,M=x.sibling,n=da(x,{mode:"hidden",children:n.children}),n.subtreeFlags=x.subtreeFlags&65011712,M!==null?f=da(M,f):(f=rl(f,s,a,null),f.flags|=2),f.return=t,n.return=t,n.sibling=f,t.child=n,Qn(null,n),n=t.child,f=e.child.memoizedState,f===null?f=rr(a):(s=f.cachePool,s!==null?(x=Ke._currentValue,s=s.parent!==x?{parent:x,pool:x}:s):s=Eo(),f={baseLanes:f.baseLanes|a,cachePool:s}),n.memoizedState=f,n.childLanes=ur(e,u,a),t.memoizedState=cr,Qn(e.child,n)):(Ha(t),a=e.child,e=a.sibling,a=da(a,{mode:"visible",children:n.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 or(e,t){return t=Is({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function Is(e,t){return e=At(22,e,null,t),e.lanes=0,e}function dr(e,t,a){return xl(t,e.child,null,a),e=or(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Ld(e,t,a){e.lanes|=t;var n=e.alternate;n!==null&&(n.lanes|=t),wc(e.return,t,a)}function fr(e,t,a,n,s,i){var u=e.memoizedState;u===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:a,tailMode:s,treeForkCount:i}:(u.isBackwards=t,u.rendering=null,u.renderingStartTime=0,u.last=n,u.tail=a,u.tailMode=s,u.treeForkCount=i)}function Gd(e,t,a){var n=t.pendingProps,s=n.revealOrder,i=n.tail;n=n.children;var u=Ve.current,f=(u&2)!==0;if(f?(u=u&1|2,t.flags|=128):u&=1,le(Ve,u),it(e,t,n,a),n=be?An:0,!f&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Ld(e,a,t);else if(e.tag===19)Ld(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&&Ls(e)===null&&(s=a),a=a.sibling;a=s,a===null?(s=t.child,t.child=null):(s=a.sibling,a.sibling=null),fr(t,!1,s,a,i,n);break;case"backwards":case"unstable_legacy-backwards":for(a=null,s=t.child,t.child=null;s!==null;){if(e=s.alternate,e!==null&&Ls(e)===null){t.child=s;break}e=s.sibling,s.sibling=a,a=s,s=e}fr(t,!0,a,null,i,n);break;case"together":fr(t,!1,null,null,void 0,n);break;default:t.memoizedState=null}return t.child}function pa(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),Qa|=t.lanes,(a&t.childLanes)===0)if(e!==null){if(ql(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 mr(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&_s(e)))}function Hx(e,t,a){switch(t.tag){case 3:ca(t,t.stateNode.containerInfo),Oa(t,Ke,e.memoizedState.cache),ul();break;case 27:case 5:oe(t);break;case 4:ca(t,t.stateNode.containerInfo);break;case 10:Oa(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Hc(t),null;break;case 13:var n=t.memoizedState;if(n!==null)return n.dehydrated!==null?(Ha(t),t.flags|=128,null):(a&t.child.childLanes)!==0?qd(e,t,a):(Ha(t),e=pa(e,t,a),e!==null?e.sibling:null);Ha(t);break;case 19:var s=(e.flags&128)!==0;if(n=(a&t.childLanes)!==0,n||(ql(e,t,a,!1),n=(a&t.childLanes)!==0),s){if(n)return Gd(e,t,a);t.flags|=128}if(s=t.memoizedState,s!==null&&(s.rendering=null,s.tail=null,s.lastEffect=null),le(Ve,Ve.current),n)break;return null;case 22:return t.lanes=0,kd(e,t,a,t.pendingProps);case 24:Oa(t,Ke,e.memoizedState.cache)}return pa(e,t,a)}function Qd(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps)Je=!0;else{if(!mr(e,a)&&(t.flags&128)===0)return Je=!1,Hx(e,t,a);Je=(e.flags&131072)!==0}else Je=!1,be&&(t.flags&1048576)!==0&&bo(t,An,t.index);switch(t.lanes=0,t.tag){case 16:e:{var n=t.pendingProps;if(e=ml(t.elementType),t.type=e,typeof e=="function")yc(e)?(n=pl(e,n),t.tag=1,t=Bd(null,t,e,n,a)):(t.tag=0,t=ir(null,t,e,n,a));else{if(e!=null){var s=e.$$typeof;if(s===Z){t.tag=11,t=Dd(null,t,e,n,a);break e}else if(s===X){t.tag=14,t=Md(null,t,e,n,a);break e}}throw t=W(e)||e,Error(o(306,t,""))}}return t;case 0:return ir(e,t,t.type,t.pendingProps,a);case 1:return n=t.type,s=pl(n,t.pendingProps),Bd(e,t,n,s,a);case 3:e:{if(ca(t,t.stateNode.containerInfo),e===null)throw Error(o(387));n=t.pendingProps;var i=t.memoizedState;s=i.element,kc(e,t),Bn(t,n,null,a);var u=t.memoizedState;if(n=u.cache,Oa(t,Ke,n),n!==i.cache&&Ec(t,[Ke],a,!0),Un(),n=u.element,i.isDehydrated)if(i={element:n,isDehydrated:!1,cache:u.cache},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){t=Hd(e,t,n,a);break e}else if(n!==s){s=qt(Error(o(424)),t),Dn(s),t=Hd(e,t,n,a);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,Be=Vt(e.firstChild),nt=t,be=!0,_a=null,Qt=!0,a=ko(t,null,n,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(ul(),n===s){t=pa(e,t,a);break e}it(e,t,n,a)}t=t.child}return t;case 26:return Ws(e,t),e===null?(a=em(t.type,null,t.pendingProps,null))?t.memoizedState=a:be||(a=t.type,e=t.pendingProps,n=hi(ft.current).createElement(a),n[lt]=t,n[ht]=e,ct(n,a,e),Pe(n),t.stateNode=n):t.memoizedState=em(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return oe(t),e===null&&be&&(n=t.stateNode=Wf(t.type,t.pendingProps,ft.current),nt=t,Qt=!0,s=Be,Ka(t.type)?(Zr=s,Be=Vt(n.firstChild)):Be=s),it(e,t,t.pendingProps.children,a),Ws(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&be&&((s=n=Be)&&(n=hg(n,t.type,t.pendingProps,Qt),n!==null?(t.stateNode=n,nt=t,Be=Vt(n.firstChild),Qt=!1,s=!0):s=!1),s||ka(t)),oe(t),s=t.type,i=t.pendingProps,u=e!==null?e.memoizedProps:null,n=i.children,Gr(s,i)?n=null:u!==null&&Gr(s,u)&&(t.flags|=32),t.memoizedState!==null&&(s=Lc(e,t,Ax,null,null,a),ls._currentValue=s),Ws(e,t),it(e,t,n,a),t.child;case 6:return e===null&&be&&((e=a=Be)&&(a=xg(a,t.pendingProps,Qt),a!==null?(t.stateNode=a,nt=t,Be=null,e=!0):e=!1),e||ka(t)),null;case 13:return qd(e,t,a);case 4:return ca(t,t.stateNode.containerInfo),n=t.pendingProps,e===null?t.child=xl(t,null,n,a):it(e,t,n,a),t.child;case 11:return Dd(e,t,t.type,t.pendingProps,a);case 7:return it(e,t,t.pendingProps,a),t.child;case 8:return it(e,t,t.pendingProps.children,a),t.child;case 12:return it(e,t,t.pendingProps.children,a),t.child;case 10:return n=t.pendingProps,Oa(t,t.type,n.value),it(e,t,n.children,a),t.child;case 9:return s=t.type._context,n=t.pendingProps.children,dl(t),s=st(s),n=n(s),t.flags|=1,it(e,t,n,a),t.child;case 14:return Md(e,t,t.type,t.pendingProps,a);case 15:return _d(e,t,t.type,t.pendingProps,a);case 19:return Gd(e,t,a);case 31:return Bx(e,t,a);case 22:return kd(e,t,a,t.pendingProps);case 24:return dl(t),n=st(Ke),e===null?(s=Dc(),s===null&&(s=De,i=Tc(),s.pooledCache=i,i.refCount++,i!==null&&(s.pooledCacheLanes|=a),s=i),t.memoizedState={parent:n,cache:s},_c(t),Oa(t,Ke,s)):((e.lanes&a)!==0&&(kc(e,t),Bn(t,null,null,a),Un()),s=e.memoizedState,i=t.memoizedState,s.parent!==n?(s={parent:n,cache:n},t.memoizedState=s,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=s),Oa(t,Ke,n)):(n=i.cache,Oa(t,Ke,n),n!==s.cache&&Ec(t,[Ke],a,!0))),it(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 hr(e,t,a,n,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(gf())e.flags|=8192;else throw hl=Us,Mc}else e.flags&=-16777217}function Yd(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!sm(t))if(gf())e.flags|=8192;else throw hl=Us,Mc}function Ps(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?ju():536870912,e.lanes|=t,Wl|=t)}function Yn(e,t){if(!be)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 n=null;a!==null;)a.alternate!==null&&(n=a),a=a.sibling;n===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:n.sibling=null}}function He(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,n=0;if(t)for(var s=e.child;s!==null;)a|=s.lanes|s.childLanes,n|=s.subtreeFlags&65011712,n|=s.flags&65011712,s.return=e,s=s.sibling;else for(s=e.child;s!==null;)a|=s.lanes|s.childLanes,n|=s.subtreeFlags,n|=s.flags,s.return=e,s=s.sibling;return e.subtreeFlags|=n,e.childLanes=a,t}function qx(e,t,a){var n=t.pendingProps;switch(Sc(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return He(t),null;case 1:return He(t),null;case 3:return a=t.stateNode,n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ha(Ke),te(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(Hl(t)?ya(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Cc())),He(t),null;case 26:var s=t.type,i=t.memoizedState;return e===null?(ya(t),i!==null?(He(t),Yd(t,i)):(He(t),hr(t,s,null,n,a))):i?i!==e.memoizedState?(ya(t),He(t),Yd(t,i)):(He(t),t.flags&=-16777217):(e=e.memoizedProps,e!==n&&ya(t),He(t),hr(t,s,e,n,a)),null;case 27:if(Ue(t),a=ft.current,s=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==n&&ya(t);else{if(!n){if(t.stateNode===null)throw Error(o(166));return He(t),null}e=Re.current,Hl(t)?So(t):(e=Wf(s,n,a),t.stateNode=e,ya(t))}return He(t),null;case 5:if(Ue(t),s=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==n&&ya(t);else{if(!n){if(t.stateNode===null)throw Error(o(166));return He(t),null}if(i=Re.current,Hl(t))So(t);else{var u=hi(ft.current);switch(i){case 1:i=u.createElementNS("http://www.w3.org/2000/svg",s);break;case 2:i=u.createElementNS("http://www.w3.org/1998/Math/MathML",s);break;default:switch(s){case"svg":i=u.createElementNS("http://www.w3.org/2000/svg",s);break;case"math":i=u.createElementNS("http://www.w3.org/1998/Math/MathML",s);break;case"script":i=u.createElement("div"),i.innerHTML="<script><\/script>",i=i.removeChild(i.firstChild);break;case"select":i=typeof n.is=="string"?u.createElement("select",{is:n.is}):u.createElement("select"),n.multiple?i.multiple=!0:n.size&&(i.size=n.size);break;default:i=typeof n.is=="string"?u.createElement(s,{is:n.is}):u.createElement(s)}}i[lt]=t,i[ht]=n;e:for(u=t.child;u!==null;){if(u.tag===5||u.tag===6)i.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=i;e:switch(ct(i,s,n),s){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}n&&ya(t)}}return He(t),hr(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==n&&ya(t);else{if(typeof n!="string"&&t.stateNode===null)throw Error(o(166));if(e=ft.current,Hl(t)){if(e=t.stateNode,a=t.memoizedProps,n=null,s=nt,s!==null)switch(s.tag){case 27:case 5:n=s.memoizedProps}e[lt]=t,e=!!(e.nodeValue===a||n!==null&&n.suppressHydrationWarning===!0||Lf(e.nodeValue,a)),e||ka(t,!0)}else e=hi(e).createTextNode(n),e[lt]=t,t.stateNode=e}return He(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(n=Hl(t),a!==null){if(e===null){if(!n)throw Error(o(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(557));e[lt]=t}else ul(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;He(t),e=!1}else a=Cc(),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 He(t),null;case 13:if(n=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(s=Hl(t),n!==null&&n.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[lt]=t}else ul(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;He(t),s=!1}else s=Cc(),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=n!==null,e=e!==null&&e.memoizedState!==null,a&&(n=t.child,s=null,n.alternate!==null&&n.alternate.memoizedState!==null&&n.alternate.memoizedState.cachePool!==null&&(s=n.alternate.memoizedState.cachePool.pool),i=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(i=n.memoizedState.cachePool.pool),i!==s&&(n.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),Ps(t,t.updateQueue),He(t),null);case 4:return te(),e===null&&Ur(t.stateNode.containerInfo),He(t),null;case 10:return ha(t.type),He(t),null;case 19:if(Ce(Ve),n=t.memoizedState,n===null)return He(t),null;if(s=(t.flags&128)!==0,i=n.rendering,i===null)if(s)Yn(n,!1);else{if(Ye!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(i=Ls(e),i!==null){for(t.flags|=128,Yn(n,!1),e=i.updateQueue,t.updateQueue=e,Ps(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)po(a,e),a=a.sibling;return le(Ve,Ve.current&1|2),be&&fa(t,n.treeForkCount),t.child}e=e.sibling}n.tail!==null&&zt()>ni&&(t.flags|=128,s=!0,Yn(n,!1),t.lanes=4194304)}else{if(!s)if(e=Ls(i),e!==null){if(t.flags|=128,s=!0,e=e.updateQueue,t.updateQueue=e,Ps(t,e),Yn(n,!0),n.tail===null&&n.tailMode==="hidden"&&!i.alternate&&!be)return He(t),null}else 2*zt()-n.renderingStartTime>ni&&a!==536870912&&(t.flags|=128,s=!0,Yn(n,!1),t.lanes=4194304);n.isBackwards?(i.sibling=t.child,t.child=i):(e=n.last,e!==null?e.sibling=i:t.child=i,n.last=i)}return n.tail!==null?(e=n.tail,n.rendering=e,n.tail=e.sibling,n.renderingStartTime=zt(),e.sibling=null,a=Ve.current,le(Ve,s?a&1|2:a&1),be&&fa(t,n.treeForkCount),e):(He(t),null);case 22:case 23:return Mt(t),Bc(),n=t.memoizedState!==null,e!==null?e.memoizedState!==null!==n&&(t.flags|=8192):n&&(t.flags|=8192),n?(a&536870912)!==0&&(t.flags&128)===0&&(He(t),t.subtreeFlags&6&&(t.flags|=8192)):He(t),a=t.updateQueue,a!==null&&Ps(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),n=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),n!==a&&(t.flags|=2048),e!==null&&Ce(fl),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),ha(Ke),He(t),null;case 25:return null;case 30:return null}throw Error(o(156,t.tag))}function Lx(e,t){switch(Sc(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ha(Ke),te(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Ue(t),null;case 31:if(t.memoizedState!==null){if(Mt(t),t.alternate===null)throw Error(o(340));ul()}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));ul()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ce(Ve),null;case 4:return te(),null;case 10:return ha(t.type),null;case 22:case 23:return Mt(t),Bc(),e!==null&&Ce(fl),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ha(Ke),null;case 25:return null;default:return null}}function Vd(e,t){switch(Sc(t),t.tag){case 3:ha(Ke),te();break;case 26:case 27:case 5:Ue(t);break;case 4:te();break;case 31:t.memoizedState!==null&&Mt(t);break;case 13:Mt(t);break;case 19:Ce(Ve);break;case 10:ha(t.type);break;case 22:case 23:Mt(t),Bc(),e!==null&&Ce(fl);break;case 24:ha(Ke)}}function Vn(e,t){try{var a=t.updateQueue,n=a!==null?a.lastEffect:null;if(n!==null){var s=n.next;a=s;do{if((a.tag&e)===e){n=void 0;var i=a.create,u=a.inst;n=i(),u.destroy=n}a=a.next}while(a!==s)}}catch(f){we(t,t.return,f)}}function La(e,t,a){try{var n=t.updateQueue,s=n!==null?n.lastEffect:null;if(s!==null){var i=s.next;n=i;do{if((n.tag&e)===e){var u=n.inst,f=u.destroy;if(f!==void 0){u.destroy=void 0,s=t;var x=a,M=f;try{M()}catch(G){we(s,x,G)}}}n=n.next}while(n!==i)}}catch(G){we(t,t.return,G)}}function Xd(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{Ro(t,a)}catch(n){we(e,e.return,n)}}}function Zd(e,t,a){a.props=pl(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(n){we(e,t,n)}}function Xn(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var n=e.stateNode;break;case 30:n=e.stateNode;break;default:n=e.stateNode}typeof a=="function"?e.refCleanup=a(n):a.current=n}}catch(s){we(e,t,s)}}function It(e,t){var a=e.ref,n=e.refCleanup;if(a!==null)if(typeof n=="function")try{n()}catch(s){we(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){we(e,t,s)}else a.current=null}function Kd(e){var t=e.type,a=e.memoizedProps,n=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&n.focus();break e;case"img":a.src?n.src=a.src:a.srcSet&&(n.srcset=a.srcSet)}}catch(s){we(e,e.return,s)}}function xr(e,t,a){try{var n=e.stateNode;rg(n,e.type,a,t),n[ht]=t}catch(s){we(e,e.return,s)}}function Fd(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Ka(e.type)||e.tag===4}function gr(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Fd(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&&Ka(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 pr(e,t,a){var n=e.tag;if(n===5||n===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(n!==4&&(n===27&&Ka(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(pr(e,t,a),e=e.sibling;e!==null;)pr(e,t,a),e=e.sibling}function ei(e,t,a){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(n!==4&&(n===27&&Ka(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(ei(e,t,a),e=e.sibling;e!==null;)ei(e,t,a),e=e.sibling}function Jd(e){var t=e.stateNode,a=e.memoizedProps;try{for(var n=e.type,s=t.attributes;s.length;)t.removeAttributeNode(s[0]);ct(t,n,a),t[lt]=e,t[ht]=a}catch(i){we(e,e.return,i)}}var va=!1,$e=!1,yr=!1,$d=typeof WeakSet=="function"?WeakSet:Set,et=null;function Gx(e,t){if(e=e.containerInfo,qr=ji,e=co(e),dc(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var n=a.getSelection&&a.getSelection();if(n&&n.rangeCount!==0){a=n.anchorNode;var s=n.anchorOffset,i=n.focusNode;n=n.focusOffset;try{a.nodeType,i.nodeType}catch{a=null;break e}var u=0,f=-1,x=-1,M=0,G=0,V=e,k=null;t:for(;;){for(var U;V!==a||s!==0&&V.nodeType!==3||(f=u+s),V!==i||n!==0&&V.nodeType!==3||(x=u+n),V.nodeType===3&&(u+=V.nodeValue.length),(U=V.firstChild)!==null;)k=V,V=U;for(;;){if(V===e)break t;if(k===a&&++M===s&&(f=u),k===i&&++G===n&&(x=u),(U=V.nextSibling)!==null)break;V=k,k=V.parentNode}V=U}a=f===-1||x===-1?null:{start:f,end:x}}else a=null}a=a||{start:0,end:0}}else a=null;for(Lr={focusedElem:e,selectionRange:a},ji=!1,et=t;et!==null;)if(t=et,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,et=e;else for(;et!==null;){switch(t=et,i=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(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&&i!==null){e=void 0,a=t,s=i.memoizedProps,i=i.memoizedState,n=a.stateNode;try{var ae=pl(a.type,s);e=n.getSnapshotBeforeUpdate(ae,i),n.__reactInternalSnapshotBeforeUpdate=e}catch(re){we(a,a.return,re)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,a=e.nodeType,a===9)Yr(e);else if(a===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Yr(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,et=e;break}et=t.return}}function Wd(e,t,a){var n=a.flags;switch(a.tag){case 0:case 11:case 15:ja(e,a),n&4&&Vn(5,a);break;case 1:if(ja(e,a),n&4)if(e=a.stateNode,t===null)try{e.componentDidMount()}catch(u){we(a,a.return,u)}else{var s=pl(a.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(s,t,e.__reactInternalSnapshotBeforeUpdate)}catch(u){we(a,a.return,u)}}n&64&&Xd(a),n&512&&Xn(a,a.return);break;case 3:if(ja(e,a),n&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{Ro(e,t)}catch(u){we(a,a.return,u)}}break;case 27:t===null&&n&4&&Jd(a);case 26:case 5:ja(e,a),t===null&&n&4&&Kd(a),n&512&&Xn(a,a.return);break;case 12:ja(e,a);break;case 31:ja(e,a),n&4&&ef(e,a);break;case 13:ja(e,a),n&4&&tf(e,a),n&64&&(e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(a=$x.bind(null,a),gg(e,a))));break;case 22:if(n=a.memoizedState!==null||va,!n){t=t!==null&&t.memoizedState!==null||$e,s=va;var i=$e;va=n,($e=t)&&!i?Sa(e,a,(a.subtreeFlags&8772)!==0):ja(e,a),va=s,$e=i}break;case 30:break;default:ja(e,a)}}function Id(e){var t=e.alternate;t!==null&&(e.alternate=null,Id(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&Fi(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 qe=null,gt=!1;function ba(e,t,a){for(a=a.child;a!==null;)Pd(e,t,a),a=a.sibling}function Pd(e,t,a){if(wt&&typeof wt.onCommitFiberUnmount=="function")try{wt.onCommitFiberUnmount(xn,a)}catch{}switch(a.tag){case 26:$e||It(a,t),ba(e,t,a),a.memoizedState?a.memoizedState.count--:a.stateNode&&(a=a.stateNode,a.parentNode.removeChild(a));break;case 27:$e||It(a,t);var n=qe,s=gt;Ka(a.type)&&(qe=a.stateNode,gt=!1),ba(e,t,a),es(a.stateNode),qe=n,gt=s;break;case 5:$e||It(a,t);case 6:if(n=qe,s=gt,qe=null,ba(e,t,a),qe=n,gt=s,qe!==null)if(gt)try{(qe.nodeType===9?qe.body:qe.nodeName==="HTML"?qe.ownerDocument.body:qe).removeChild(a.stateNode)}catch(i){we(a,t,i)}else try{qe.removeChild(a.stateNode)}catch(i){we(a,t,i)}break;case 18:qe!==null&&(gt?(e=qe,Zf(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,a.stateNode),sn(e)):Zf(qe,a.stateNode));break;case 4:n=qe,s=gt,qe=a.stateNode.containerInfo,gt=!0,ba(e,t,a),qe=n,gt=s;break;case 0:case 11:case 14:case 15:La(2,a,t),$e||La(4,a,t),ba(e,t,a);break;case 1:$e||(It(a,t),n=a.stateNode,typeof n.componentWillUnmount=="function"&&Zd(a,t,n)),ba(e,t,a);break;case 21:ba(e,t,a);break;case 22:$e=(n=$e)||a.memoizedState!==null,ba(e,t,a),$e=n;break;default:ba(e,t,a)}}function ef(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{sn(e)}catch(a){we(t,t.return,a)}}}function tf(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{sn(e)}catch(a){we(t,t.return,a)}}function Qx(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new $d),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new $d),t;default:throw Error(o(435,e.tag))}}function ti(e,t){var a=Qx(e);t.forEach(function(n){if(!a.has(n)){a.add(n);var s=Wx.bind(null,e,n);n.then(s,s)}})}function pt(e,t){var a=t.deletions;if(a!==null)for(var n=0;n<a.length;n++){var s=a[n],i=e,u=t,f=u;e:for(;f!==null;){switch(f.tag){case 27:if(Ka(f.type)){qe=f.stateNode,gt=!1;break e}break;case 5:qe=f.stateNode,gt=!1;break e;case 3:case 4:qe=f.stateNode.containerInfo,gt=!0;break e}f=f.return}if(qe===null)throw Error(o(160));Pd(i,u,s),qe=null,gt=!1,i=s.alternate,i!==null&&(i.return=null),s.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)af(t,e),t=t.sibling}var Ft=null;function af(e,t){var a=e.alternate,n=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:pt(t,e),yt(e),n&4&&(La(3,e,e.return),Vn(3,e),La(5,e,e.return));break;case 1:pt(t,e),yt(e),n&512&&($e||a===null||It(a,a.return)),n&64&&va&&(e=e.updateQueue,e!==null&&(n=e.callbacks,n!==null&&(a=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=a===null?n:a.concat(n))));break;case 26:var s=Ft;if(pt(t,e),yt(e),n&512&&($e||a===null||It(a,a.return)),n&4){var i=a!==null?a.memoizedState:null;if(n=e.memoizedState,a===null)if(n===null)if(e.stateNode===null){e:{n=e.type,a=e.memoizedProps,s=s.ownerDocument||s;t:switch(n){case"title":i=s.getElementsByTagName("title")[0],(!i||i[yn]||i[lt]||i.namespaceURI==="http://www.w3.org/2000/svg"||i.hasAttribute("itemprop"))&&(i=s.createElement(n),s.head.insertBefore(i,s.querySelector("head > title"))),ct(i,n,a),i[lt]=e,Pe(i),n=i;break e;case"link":var u=lm("link","href",s).get(n+(a.href||""));if(u){for(var f=0;f<u.length;f++)if(i=u[f],i.getAttribute("href")===(a.href==null||a.href===""?null:a.href)&&i.getAttribute("rel")===(a.rel==null?null:a.rel)&&i.getAttribute("title")===(a.title==null?null:a.title)&&i.getAttribute("crossorigin")===(a.crossOrigin==null?null:a.crossOrigin)){u.splice(f,1);break t}}i=s.createElement(n),ct(i,n,a),s.head.appendChild(i);break;case"meta":if(u=lm("meta","content",s).get(n+(a.content||""))){for(f=0;f<u.length;f++)if(i=u[f],i.getAttribute("content")===(a.content==null?null:""+a.content)&&i.getAttribute("name")===(a.name==null?null:a.name)&&i.getAttribute("property")===(a.property==null?null:a.property)&&i.getAttribute("http-equiv")===(a.httpEquiv==null?null:a.httpEquiv)&&i.getAttribute("charset")===(a.charSet==null?null:a.charSet)){u.splice(f,1);break t}}i=s.createElement(n),ct(i,n,a),s.head.appendChild(i);break;default:throw Error(o(468,n))}i[lt]=e,Pe(i),n=i}e.stateNode=n}else nm(s,e.type,e.stateNode);else e.stateNode=am(s,n,e.memoizedProps);else i!==n?(i===null?a.stateNode!==null&&(a=a.stateNode,a.parentNode.removeChild(a)):i.count--,n===null?nm(s,e.type,e.stateNode):am(s,n,e.memoizedProps)):n===null&&e.stateNode!==null&&xr(e,e.memoizedProps,a.memoizedProps)}break;case 27:pt(t,e),yt(e),n&512&&($e||a===null||It(a,a.return)),a!==null&&n&4&&xr(e,e.memoizedProps,a.memoizedProps);break;case 5:if(pt(t,e),yt(e),n&512&&($e||a===null||It(a,a.return)),e.flags&32){s=e.stateNode;try{Tl(s,"")}catch(ae){we(e,e.return,ae)}}n&4&&e.stateNode!=null&&(s=e.memoizedProps,xr(e,s,a!==null?a.memoizedProps:s)),n&1024&&(yr=!0);break;case 6:if(pt(t,e),yt(e),n&4){if(e.stateNode===null)throw Error(o(162));n=e.memoizedProps,a=e.stateNode;try{a.nodeValue=n}catch(ae){we(e,e.return,ae)}}break;case 3:if(pi=null,s=Ft,Ft=xi(t.containerInfo),pt(t,e),Ft=s,yt(e),n&4&&a!==null&&a.memoizedState.isDehydrated)try{sn(t.containerInfo)}catch(ae){we(e,e.return,ae)}yr&&(yr=!1,lf(e));break;case 4:n=Ft,Ft=xi(e.stateNode.containerInfo),pt(t,e),yt(e),Ft=n;break;case 12:pt(t,e),yt(e);break;case 31:pt(t,e),yt(e),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,ti(e,n)));break;case 13:pt(t,e),yt(e),e.child.flags&8192&&e.memoizedState!==null!=(a!==null&&a.memoizedState!==null)&&(li=zt()),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,ti(e,n)));break;case 22:s=e.memoizedState!==null;var x=a!==null&&a.memoizedState!==null,M=va,G=$e;if(va=M||s,$e=G||x,pt(t,e),$e=G,va=M,yt(e),n&8192)e:for(t=e.stateNode,t._visibility=s?t._visibility&-2:t._visibility|1,s&&(a===null||x||va||$e||yl(e)),a=null,t=e;;){if(t.tag===5||t.tag===26){if(a===null){x=a=t;try{if(i=x.stateNode,s)u=i.style,typeof u.setProperty=="function"?u.setProperty("display","none","important"):u.display="none";else{f=x.stateNode;var V=x.memoizedProps.style,k=V!=null&&V.hasOwnProperty("display")?V.display:null;f.style.display=k==null||typeof k=="boolean"?"":(""+k).trim()}}catch(ae){we(x,x.return,ae)}}}else if(t.tag===6){if(a===null){x=t;try{x.stateNode.nodeValue=s?"":x.memoizedProps}catch(ae){we(x,x.return,ae)}}}else if(t.tag===18){if(a===null){x=t;try{var U=x.stateNode;s?Kf(U,!0):Kf(x.stateNode,!1)}catch(ae){we(x,x.return,ae)}}}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}n&4&&(n=e.updateQueue,n!==null&&(a=n.retryQueue,a!==null&&(n.retryQueue=null,ti(e,a))));break;case 19:pt(t,e),yt(e),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,ti(e,n)));break;case 30:break;case 21:break;default:pt(t,e),yt(e)}}function yt(e){var t=e.flags;if(t&2){try{for(var a,n=e.return;n!==null;){if(Fd(n)){a=n;break}n=n.return}if(a==null)throw Error(o(160));switch(a.tag){case 27:var s=a.stateNode,i=gr(e);ei(e,i,s);break;case 5:var u=a.stateNode;a.flags&32&&(Tl(u,""),a.flags&=-33);var f=gr(e);ei(e,f,u);break;case 3:case 4:var x=a.stateNode.containerInfo,M=gr(e);pr(e,M,x);break;default:throw Error(o(161))}}catch(G){we(e,e.return,G)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function lf(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;lf(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;)Wd(e,t.alternate,t),t=t.sibling}function yl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:La(4,t,t.return),yl(t);break;case 1:It(t,t.return);var a=t.stateNode;typeof a.componentWillUnmount=="function"&&Zd(t,t.return,a),yl(t);break;case 27:es(t.stateNode);case 26:case 5:It(t,t.return),yl(t);break;case 22:t.memoizedState===null&&yl(t);break;case 30:yl(t);break;default:yl(t)}e=e.sibling}}function Sa(e,t,a){for(a=a&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var n=t.alternate,s=e,i=t,u=i.flags;switch(i.tag){case 0:case 11:case 15:Sa(s,i,a),Vn(4,i);break;case 1:if(Sa(s,i,a),n=i,s=n.stateNode,typeof s.componentDidMount=="function")try{s.componentDidMount()}catch(M){we(n,n.return,M)}if(n=i,s=n.updateQueue,s!==null){var f=n.stateNode;try{var x=s.shared.hiddenCallbacks;if(x!==null)for(s.shared.hiddenCallbacks=null,s=0;s<x.length;s++)Oo(x[s],f)}catch(M){we(n,n.return,M)}}a&&u&64&&Xd(i),Xn(i,i.return);break;case 27:Jd(i);case 26:case 5:Sa(s,i,a),a&&n===null&&u&4&&Kd(i),Xn(i,i.return);break;case 12:Sa(s,i,a);break;case 31:Sa(s,i,a),a&&u&4&&ef(s,i);break;case 13:Sa(s,i,a),a&&u&4&&tf(s,i);break;case 22:i.memoizedState===null&&Sa(s,i,a),Xn(i,i.return);break;case 30:break;default:Sa(s,i,a)}t=t.sibling}}function vr(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&&Mn(a))}function br(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Mn(e))}function Jt(e,t,a,n){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)nf(e,t,a,n),t=t.sibling}function nf(e,t,a,n){var s=t.flags;switch(t.tag){case 0:case 11:case 15:Jt(e,t,a,n),s&2048&&Vn(9,t);break;case 1:Jt(e,t,a,n);break;case 3:Jt(e,t,a,n),s&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Mn(e)));break;case 12:if(s&2048){Jt(e,t,a,n),e=t.stateNode;try{var i=t.memoizedProps,u=i.id,f=i.onPostCommit;typeof f=="function"&&f(u,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(x){we(t,t.return,x)}}else Jt(e,t,a,n);break;case 31:Jt(e,t,a,n);break;case 13:Jt(e,t,a,n);break;case 23:break;case 22:i=t.stateNode,u=t.alternate,t.memoizedState!==null?i._visibility&2?Jt(e,t,a,n):Zn(e,t):i._visibility&2?Jt(e,t,a,n):(i._visibility|=2,Fl(e,t,a,n,(t.subtreeFlags&10256)!==0||!1)),s&2048&&vr(u,t);break;case 24:Jt(e,t,a,n),s&2048&&br(t.alternate,t);break;default:Jt(e,t,a,n)}}function Fl(e,t,a,n,s){for(s=s&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var i=e,u=t,f=a,x=n,M=u.flags;switch(u.tag){case 0:case 11:case 15:Fl(i,u,f,x,s),Vn(8,u);break;case 23:break;case 22:var G=u.stateNode;u.memoizedState!==null?G._visibility&2?Fl(i,u,f,x,s):Zn(i,u):(G._visibility|=2,Fl(i,u,f,x,s)),s&&M&2048&&vr(u.alternate,u);break;case 24:Fl(i,u,f,x,s),s&&M&2048&&br(u.alternate,u);break;default:Fl(i,u,f,x,s)}t=t.sibling}}function Zn(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var a=e,n=t,s=n.flags;switch(n.tag){case 22:Zn(a,n),s&2048&&vr(n.alternate,n);break;case 24:Zn(a,n),s&2048&&br(n.alternate,n);break;default:Zn(a,n)}t=t.sibling}}var Kn=8192;function Jl(e,t,a){if(e.subtreeFlags&Kn)for(e=e.child;e!==null;)sf(e,t,a),e=e.sibling}function sf(e,t,a){switch(e.tag){case 26:Jl(e,t,a),e.flags&Kn&&e.memoizedState!==null&&Tg(a,Ft,e.memoizedState,e.memoizedProps);break;case 5:Jl(e,t,a);break;case 3:case 4:var n=Ft;Ft=xi(e.stateNode.containerInfo),Jl(e,t,a),Ft=n;break;case 22:e.memoizedState===null&&(n=e.alternate,n!==null&&n.memoizedState!==null?(n=Kn,Kn=16777216,Jl(e,t,a),Kn=n):Jl(e,t,a));break;default:Jl(e,t,a)}}function cf(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 Fn(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var n=t[a];et=n,uf(n,e)}cf(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)rf(e),e=e.sibling}function rf(e){switch(e.tag){case 0:case 11:case 15:Fn(e),e.flags&2048&&La(9,e,e.return);break;case 3:Fn(e);break;case 12:Fn(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,ai(e)):Fn(e);break;default:Fn(e)}}function ai(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var n=t[a];et=n,uf(n,e)}cf(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:La(8,t,t.return),ai(t);break;case 22:a=t.stateNode,a._visibility&2&&(a._visibility&=-3,ai(t));break;default:ai(t)}e=e.sibling}}function uf(e,t){for(;et!==null;){var a=et;switch(a.tag){case 0:case 11:case 15:La(8,a,t);break;case 23:case 22:if(a.memoizedState!==null&&a.memoizedState.cachePool!==null){var n=a.memoizedState.cachePool.pool;n!=null&&n.refCount++}break;case 24:Mn(a.memoizedState.cache)}if(n=a.child,n!==null)n.return=a,et=n;else e:for(a=e;et!==null;){n=et;var s=n.sibling,i=n.return;if(Id(n),n===a){et=null;break e}if(s!==null){s.return=i,et=s;break e}et=i}}}var Yx={getCacheForType:function(e){var t=st(Ke),a=t.data.get(e);return a===void 0&&(a=e(),t.data.set(e,a)),a},cacheSignal:function(){return st(Ke).controller.signal}},Vx=typeof WeakMap=="function"?WeakMap:Map,Ne=0,De=null,he=null,ge=0,ze=0,_t=null,Ga=!1,$l=!1,jr=!1,Na=0,Ye=0,Qa=0,vl=0,Sr=0,kt=0,Wl=0,Jn=null,vt=null,Nr=!1,li=0,of=0,ni=1/0,si=null,Ya=null,We=0,Va=null,Il=null,Ca=0,Cr=0,zr=null,df=null,$n=0,wr=null;function Ot(){return(Ne&2)!==0&&ge!==0?ge&-ge:y.T!==null?_r():zu()}function ff(){if(kt===0)if((ge&536870912)===0||be){var e=ms;ms<<=1,(ms&3932160)===0&&(ms=262144),kt=e}else kt=536870912;return e=Dt.current,e!==null&&(e.flags|=32),kt}function bt(e,t,a){(e===De&&(ze===2||ze===9)||e.cancelPendingCommit!==null)&&(Pl(e,0),Xa(e,ge,kt,!1)),pn(e,a),((Ne&2)===0||e!==De)&&(e===De&&((Ne&2)===0&&(vl|=a),Ye===4&&Xa(e,ge,kt,!1)),Pt(e))}function mf(e,t,a){if((Ne&6)!==0)throw Error(o(327));var n=!a&&(t&127)===0&&(t&e.expiredLanes)===0||gn(e,t),s=n?Kx(e,t):Tr(e,t,!0),i=n;do{if(s===0){$l&&!n&&Xa(e,t,0,!1);break}else{if(a=e.current.alternate,i&&!Xx(a)){s=Tr(e,t,!1),i=!1;continue}if(s===2){if(i=t,e.errorRecoveryDisabledLanes&i)var u=0;else u=e.pendingLanes&-536870913,u=u!==0?u:u&536870912?536870912:0;if(u!==0){t=u;e:{var f=e;s=Jn;var x=f.current.memoizedState.isDehydrated;if(x&&(Pl(f,u).flags|=256),u=Tr(f,u,!1),u!==2){if(jr&&!x){f.errorRecoveryDisabledLanes|=i,vl|=i,s=4;break e}i=vt,vt=s,i!==null&&(vt===null?vt=i:vt.push.apply(vt,i))}s=u}if(i=!1,s!==2)continue}}if(s===1){Pl(e,0),Xa(e,t,0,!0);break}e:{switch(n=e,i=s,i){case 0:case 1:throw Error(o(345));case 4:if((t&4194048)!==t)break;case 6:Xa(n,t,kt,!Ga);break e;case 2:vt=null;break;case 3:case 5:break;default:throw Error(o(329))}if((t&62914560)===t&&(s=li+300-zt(),10<s)){if(Xa(n,t,kt,!Ga),xs(n,0,!0)!==0)break e;Ca=t,n.timeoutHandle=Vf(hf.bind(null,n,a,vt,si,Nr,t,kt,vl,Wl,Ga,i,"Throttled",-0,0),s);break e}hf(n,a,vt,si,Nr,t,kt,vl,Wl,Ga,i,null,-0,0)}}break}while(!0);Pt(e)}function hf(e,t,a,n,s,i,u,f,x,M,G,V,k,U){if(e.timeoutHandle=-1,V=t.subtreeFlags,V&8192||(V&16785408)===16785408){V={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:ua},sf(t,i,V);var ae=(i&62914560)===i?li-zt():(i&4194048)===i?of-zt():0;if(ae=Ag(V,ae),ae!==null){Ca=i,e.cancelPendingCommit=ae(Sf.bind(null,e,t,i,a,n,s,u,f,x,G,V,null,k,U)),Xa(e,i,u,!M);return}}Sf(e,t,i,a,n,s,u,f,x)}function Xx(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 n=0;n<a.length;n++){var s=a[n],i=s.getSnapshot;s=s.value;try{if(!Tt(i(),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 Xa(e,t,a,n){t&=~Sr,t&=~vl,e.suspendedLanes|=t,e.pingedLanes&=~t,n&&(e.warmLanes|=t),n=e.expirationTimes;for(var s=t;0<s;){var i=31-Et(s),u=1<<i;n[i]=-1,s&=~u}a!==0&&Su(e,a,t)}function ii(){return(Ne&6)===0?(Wn(0),!1):!0}function Er(){if(he!==null){if(ze===0)var e=he.return;else e=he,ma=ol=null,Yc(e),Yl=null,kn=0,e=he;for(;e!==null;)Vd(e.alternate,e),e=e.return;he=null}}function Pl(e,t){var a=e.timeoutHandle;a!==-1&&(e.timeoutHandle=-1,dg(a)),a=e.cancelPendingCommit,a!==null&&(e.cancelPendingCommit=null,a()),Ca=0,Er(),De=e,he=a=da(e.current,null),ge=t,ze=0,_t=null,Ga=!1,$l=gn(e,t),jr=!1,Wl=kt=Sr=vl=Qa=Ye=0,vt=Jn=null,Nr=!1,(t&8)!==0&&(t|=t&32);var n=e.entangledLanes;if(n!==0)for(e=e.entanglements,n&=t;0<n;){var s=31-Et(n),i=1<<s;t|=e[s],n&=~i}return Na=t,Es(),a}function xf(e,t){fe=null,y.H=Gn,t===Ql||t===Rs?(t=Do(),ze=3):t===Mc?(t=Do(),ze=4):ze=t===sr?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,_t=t,he===null&&(Ye=1,Js(e,qt(t,e.current)))}function gf(){var e=Dt.current;return e===null?!0:(ge&4194048)===ge?Yt===null:(ge&62914560)===ge||(ge&536870912)!==0?e===Yt:!1}function pf(){var e=y.H;return y.H=Gn,e===null?Gn:e}function yf(){var e=y.A;return y.A=Yx,e}function ci(){Ye=4,Ga||(ge&4194048)!==ge&&Dt.current!==null||($l=!0),(Qa&134217727)===0&&(vl&134217727)===0||De===null||Xa(De,ge,kt,!1)}function Tr(e,t,a){var n=Ne;Ne|=2;var s=pf(),i=yf();(De!==e||ge!==t)&&(si=null,Pl(e,t)),t=!1;var u=Ye;e:do try{if(ze!==0&&he!==null){var f=he,x=_t;switch(ze){case 8:Er(),u=6;break e;case 3:case 2:case 9:case 6:Dt.current===null&&(t=!0);var M=ze;if(ze=0,_t=null,en(e,f,x,M),a&&$l){u=0;break e}break;default:M=ze,ze=0,_t=null,en(e,f,x,M)}}Zx(),u=Ye;break}catch(G){xf(e,G)}while(!0);return t&&e.shellSuspendCounter++,ma=ol=null,Ne=n,y.H=s,y.A=i,he===null&&(De=null,ge=0,Es()),u}function Zx(){for(;he!==null;)vf(he)}function Kx(e,t){var a=Ne;Ne|=2;var n=pf(),s=yf();De!==e||ge!==t?(si=null,ni=zt()+500,Pl(e,t)):$l=gn(e,t);e:do try{if(ze!==0&&he!==null){t=he;var i=_t;t:switch(ze){case 1:ze=0,_t=null,en(e,t,i,1);break;case 2:case 9:if(To(i)){ze=0,_t=null,bf(t);break}t=function(){ze!==2&&ze!==9||De!==e||(ze=7),Pt(e)},i.then(t,t);break e;case 3:ze=7;break e;case 4:ze=5;break e;case 7:To(i)?(ze=0,_t=null,bf(t)):(ze=0,_t=null,en(e,t,i,7));break;case 5:var u=null;switch(he.tag){case 26:u=he.memoizedState;case 5:case 27:var f=he;if(u?sm(u):f.stateNode.complete){ze=0,_t=null;var x=f.sibling;if(x!==null)he=x;else{var M=f.return;M!==null?(he=M,ri(M)):he=null}break t}}ze=0,_t=null,en(e,t,i,5);break;case 6:ze=0,_t=null,en(e,t,i,6);break;case 8:Er(),Ye=6;break e;default:throw Error(o(462))}}Fx();break}catch(G){xf(e,G)}while(!0);return ma=ol=null,y.H=n,y.A=s,Ne=a,he!==null?0:(De=null,ge=0,Es(),Ye)}function Fx(){for(;he!==null&&!ph();)vf(he)}function vf(e){var t=Qd(e.alternate,e,Na);e.memoizedProps=e.pendingProps,t===null?ri(e):he=t}function bf(e){var t=e,a=t.alternate;switch(t.tag){case 15:case 0:t=Ud(a,t,t.pendingProps,t.type,void 0,ge);break;case 11:t=Ud(a,t,t.pendingProps,t.type.render,t.ref,ge);break;case 5:Yc(t);default:Vd(a,t),t=he=po(t,Na),t=Qd(a,t,Na)}e.memoizedProps=e.pendingProps,t===null?ri(e):he=t}function en(e,t,a,n){ma=ol=null,Yc(t),Yl=null,kn=0;var s=t.return;try{if(Ux(e,s,t,a,ge)){Ye=1,Js(e,qt(a,e.current)),he=null;return}}catch(i){if(s!==null)throw he=s,i;Ye=1,Js(e,qt(a,e.current)),he=null;return}t.flags&32768?(be||n===1?e=!0:$l||(ge&536870912)!==0?e=!1:(Ga=e=!0,(n===2||n===9||n===3||n===6)&&(n=Dt.current,n!==null&&n.tag===13&&(n.flags|=16384))),jf(t,e)):ri(t)}function ri(e){var t=e;do{if((t.flags&32768)!==0){jf(t,Ga);return}e=t.return;var a=qx(t.alternate,t,Na);if(a!==null){he=a;return}if(t=t.sibling,t!==null){he=t;return}he=t=e}while(t!==null);Ye===0&&(Ye=5)}function jf(e,t){do{var a=Lx(e.alternate,e);if(a!==null){a.flags&=32767,he=a;return}if(a=e.return,a!==null&&(a.flags|=32768,a.subtreeFlags=0,a.deletions=null),!t&&(e=e.sibling,e!==null)){he=e;return}he=e=a}while(e!==null);Ye=6,he=null}function Sf(e,t,a,n,s,i,u,f,x){e.cancelPendingCommit=null;do ui();while(We!==0);if((Ne&6)!==0)throw Error(o(327));if(t!==null){if(t===e.current)throw Error(o(177));if(i=t.lanes|t.childLanes,i|=gc,Eh(e,a,i,u,f,x),e===De&&(he=De=null,ge=0),Il=t,Va=e,Ca=a,Cr=i,zr=s,df=n,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,Ix(ds,function(){return Ef(),null})):(e.callbackNode=null,e.callbackPriority=0),n=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||n){n=y.T,y.T=null,s=D.p,D.p=2,u=Ne,Ne|=4;try{Gx(e,t,a)}finally{Ne=u,D.p=s,y.T=n}}We=1,Nf(),Cf(),zf()}}function Nf(){if(We===1){We=0;var e=Va,t=Il,a=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||a){a=y.T,y.T=null;var n=D.p;D.p=2;var s=Ne;Ne|=4;try{af(t,e);var i=Lr,u=co(e.containerInfo),f=i.focusedElem,x=i.selectionRange;if(u!==f&&f&&f.ownerDocument&&io(f.ownerDocument.documentElement,f)){if(x!==null&&dc(f)){var M=x.start,G=x.end;if(G===void 0&&(G=M),"selectionStart"in f)f.selectionStart=M,f.selectionEnd=Math.min(G,f.value.length);else{var V=f.ownerDocument||document,k=V&&V.defaultView||window;if(k.getSelection){var U=k.getSelection(),ae=f.textContent.length,re=Math.min(x.start,ae),Ae=x.end===void 0?re:Math.min(x.end,ae);!U.extend&&re>Ae&&(u=Ae,Ae=re,re=u);var N=so(f,re),j=so(f,Ae);if(N&&j&&(U.rangeCount!==1||U.anchorNode!==N.node||U.anchorOffset!==N.offset||U.focusNode!==j.node||U.focusOffset!==j.offset)){var T=V.createRange();T.setStart(N.node,N.offset),U.removeAllRanges(),re>Ae?(U.addRange(T),U.extend(j.node,j.offset)):(T.setEnd(j.node,j.offset),U.addRange(T))}}}}for(V=[],U=f;U=U.parentNode;)U.nodeType===1&&V.push({element:U,left:U.scrollLeft,top:U.scrollTop});for(typeof f.focus=="function"&&f.focus(),f=0;f<V.length;f++){var Q=V[f];Q.element.scrollLeft=Q.left,Q.element.scrollTop=Q.top}}ji=!!qr,Lr=qr=null}finally{Ne=s,D.p=n,y.T=a}}e.current=t,We=2}}function Cf(){if(We===2){We=0;var e=Va,t=Il,a=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||a){a=y.T,y.T=null;var n=D.p;D.p=2;var s=Ne;Ne|=4;try{Wd(e,t.alternate,t)}finally{Ne=s,D.p=n,y.T=a}}We=3}}function zf(){if(We===4||We===3){We=0,yh();var e=Va,t=Il,a=Ca,n=df;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?We=5:(We=0,Il=Va=null,wf(e,e.pendingLanes));var s=e.pendingLanes;if(s===0&&(Ya=null),Zi(a),t=t.stateNode,wt&&typeof wt.onCommitFiberRoot=="function")try{wt.onCommitFiberRoot(xn,t,void 0,(t.current.flags&128)===128)}catch{}if(n!==null){t=y.T,s=D.p,D.p=2,y.T=null;try{for(var i=e.onRecoverableError,u=0;u<n.length;u++){var f=n[u];i(f.value,{componentStack:f.stack})}}finally{y.T=t,D.p=s}}(Ca&3)!==0&&ui(),Pt(e),s=e.pendingLanes,(a&261930)!==0&&(s&42)!==0?e===wr?$n++:($n=0,wr=e):$n=0,Wn(0)}}function wf(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Mn(t)))}function ui(){return Nf(),Cf(),zf(),Ef()}function Ef(){if(We!==5)return!1;var e=Va,t=Cr;Cr=0;var a=Zi(Ca),n=y.T,s=D.p;try{D.p=32>a?32:a,y.T=null,a=zr,zr=null;var i=Va,u=Ca;if(We=0,Il=Va=null,Ca=0,(Ne&6)!==0)throw Error(o(331));var f=Ne;if(Ne|=4,rf(i.current),nf(i,i.current,u,a),Ne=f,Wn(0,!1),wt&&typeof wt.onPostCommitFiberRoot=="function")try{wt.onPostCommitFiberRoot(xn,i)}catch{}return!0}finally{D.p=s,y.T=n,wf(e,t)}}function Tf(e,t,a){t=qt(a,t),t=nr(e.stateNode,t,2),e=Ba(e,t,2),e!==null&&(pn(e,2),Pt(e))}function we(e,t,a){if(e.tag===3)Tf(e,e,a);else for(;t!==null;){if(t.tag===3){Tf(t,e,a);break}else if(t.tag===1){var n=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(Ya===null||!Ya.has(n))){e=qt(a,e),a=Td(2),n=Ba(t,a,2),n!==null&&(Ad(a,n,t,e),pn(n,2),Pt(n));break}}t=t.return}}function Ar(e,t,a){var n=e.pingCache;if(n===null){n=e.pingCache=new Vx;var s=new Set;n.set(t,s)}else s=n.get(t),s===void 0&&(s=new Set,n.set(t,s));s.has(a)||(jr=!0,s.add(a),e=Jx.bind(null,e,t,a),t.then(e,e))}function Jx(e,t,a){var n=e.pingCache;n!==null&&n.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,De===e&&(ge&a)===a&&(Ye===4||Ye===3&&(ge&62914560)===ge&&300>zt()-li?(Ne&2)===0&&Pl(e,0):Sr|=a,Wl===ge&&(Wl=0)),Pt(e)}function Af(e,t){t===0&&(t=ju()),e=cl(e,t),e!==null&&(pn(e,t),Pt(e))}function $x(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Af(e,a)}function Wx(e,t){var a=0;switch(e.tag){case 31:case 13:var n=e.stateNode,s=e.memoizedState;s!==null&&(a=s.retryLane);break;case 19:n=e.stateNode;break;case 22:n=e.stateNode._retryCache;break;default:throw Error(o(314))}n!==null&&n.delete(t),Af(e,a)}function Ix(e,t){return Qi(e,t)}var oi=null,tn=null,Dr=!1,di=!1,Mr=!1,Za=0;function Pt(e){e!==tn&&e.next===null&&(tn===null?oi=tn=e:tn=tn.next=e),di=!0,Dr||(Dr=!0,eg())}function Wn(e,t){if(!Mr&&di){Mr=!0;do for(var a=!1,n=oi;n!==null;){if(e!==0){var s=n.pendingLanes;if(s===0)var i=0;else{var u=n.suspendedLanes,f=n.pingedLanes;i=(1<<31-Et(42|e)+1)-1,i&=s&~(u&~f),i=i&201326741?i&201326741|1:i?i|2:0}i!==0&&(a=!0,kf(n,i))}else i=ge,i=xs(n,n===De?i:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),(i&3)===0||gn(n,i)||(a=!0,kf(n,i));n=n.next}while(a);Mr=!1}}function Px(){Df()}function Df(){di=Dr=!1;var e=0;Za!==0&&og()&&(e=Za);for(var t=zt(),a=null,n=oi;n!==null;){var s=n.next,i=Mf(n,t);i===0?(n.next=null,a===null?oi=s:a.next=s,s===null&&(tn=a)):(a=n,(e!==0||(i&3)!==0)&&(di=!0)),n=s}We!==0&&We!==5||Wn(e),Za!==0&&(Za=0)}function Mf(e,t){for(var a=e.suspendedLanes,n=e.pingedLanes,s=e.expirationTimes,i=e.pendingLanes&-62914561;0<i;){var u=31-Et(i),f=1<<u,x=s[u];x===-1?((f&a)===0||(f&n)!==0)&&(s[u]=wh(f,t)):x<=t&&(e.expiredLanes|=f),i&=~f}if(t=De,a=ge,a=xs(e,e===t?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),n=e.callbackNode,a===0||e===t&&(ze===2||ze===9)||e.cancelPendingCommit!==null)return n!==null&&n!==null&&Yi(n),e.callbackNode=null,e.callbackPriority=0;if((a&3)===0||gn(e,a)){if(t=a&-a,t===e.callbackPriority)return t;switch(n!==null&&Yi(n),Zi(a)){case 2:case 8:a=vu;break;case 32:a=ds;break;case 268435456:a=bu;break;default:a=ds}return n=_f.bind(null,e),a=Qi(a,n),e.callbackPriority=t,e.callbackNode=a,t}return n!==null&&n!==null&&Yi(n),e.callbackPriority=2,e.callbackNode=null,2}function _f(e,t){if(We!==0&&We!==5)return e.callbackNode=null,e.callbackPriority=0,null;var a=e.callbackNode;if(ui()&&e.callbackNode!==a)return null;var n=ge;return n=xs(e,e===De?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),n===0?null:(mf(e,n,t),Mf(e,zt()),e.callbackNode!=null&&e.callbackNode===a?_f.bind(null,e):null)}function kf(e,t){if(ui())return null;mf(e,t,!0)}function eg(){fg(function(){(Ne&6)!==0?Qi(yu,Px):Df()})}function _r(){if(Za===0){var e=Ll;e===0&&(e=fs,fs<<=1,(fs&261888)===0&&(fs=256)),Za=e}return Za}function Of(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:vs(""+e)}function Rf(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 tg(e,t,a,n,s){if(t==="submit"&&a&&a.stateNode===s){var i=Of((s[ht]||null).action),u=n.submitter;u&&(t=(t=u[ht]||null)?Of(t.formAction):u.getAttribute("formAction"),t!==null&&(i=t,u=null));var f=new Ns("action","action",null,n,s);e.push({event:f,listeners:[{instance:null,listener:function(){if(n.defaultPrevented){if(Za!==0){var x=u?Rf(s,u):new FormData(s);Ic(a,{pending:!0,data:x,method:s.method,action:i},null,x)}}else typeof i=="function"&&(f.preventDefault(),x=u?Rf(s,u):new FormData(s),Ic(a,{pending:!0,data:x,method:s.method,action:i},i,x))},currentTarget:s}]})}}for(var kr=0;kr<xc.length;kr++){var Or=xc[kr],ag=Or.toLowerCase(),lg=Or[0].toUpperCase()+Or.slice(1);Kt(ag,"on"+lg)}Kt(oo,"onAnimationEnd"),Kt(fo,"onAnimationIteration"),Kt(mo,"onAnimationStart"),Kt("dblclick","onDoubleClick"),Kt("focusin","onFocus"),Kt("focusout","onBlur"),Kt(vx,"onTransitionRun"),Kt(bx,"onTransitionStart"),Kt(jx,"onTransitionCancel"),Kt(ho,"onTransitionEnd"),wl("onMouseEnter",["mouseout","mouseover"]),wl("onMouseLeave",["mouseout","mouseover"]),wl("onPointerEnter",["pointerout","pointerover"]),wl("onPointerLeave",["pointerout","pointerover"]),ll("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),ll("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),ll("onBeforeInput",["compositionend","keypress","textInput","paste"]),ll("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),ll("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),ll("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var In="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(" "),ng=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(In));function Uf(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var n=e[a],s=n.event;n=n.listeners;e:{var i=void 0;if(t)for(var u=n.length-1;0<=u;u--){var f=n[u],x=f.instance,M=f.currentTarget;if(f=f.listener,x!==i&&s.isPropagationStopped())break e;i=f,s.currentTarget=M;try{i(s)}catch(G){ws(G)}s.currentTarget=null,i=x}else for(u=0;u<n.length;u++){if(f=n[u],x=f.instance,M=f.currentTarget,f=f.listener,x!==i&&s.isPropagationStopped())break e;i=f,s.currentTarget=M;try{i(s)}catch(G){ws(G)}s.currentTarget=null,i=x}}}}function xe(e,t){var a=t[Ki];a===void 0&&(a=t[Ki]=new Set);var n=e+"__bubble";a.has(n)||(Bf(t,e,2,!1),a.add(n))}function Rr(e,t,a){var n=0;t&&(n|=4),Bf(a,e,n,t)}var fi="_reactListening"+Math.random().toString(36).slice(2);function Ur(e){if(!e[fi]){e[fi]=!0,Tu.forEach(function(a){a!=="selectionchange"&&(ng.has(a)||Rr(a,!1,e),Rr(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[fi]||(t[fi]=!0,Rr("selectionchange",!1,t))}}function Bf(e,t,a,n){switch(fm(t)){case 2:var s=_g;break;case 8:s=kg;break;default:s=Wr}a=s.bind(null,t,a,e),s=void 0,!ac||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(s=!0),n?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 Br(e,t,a,n,s){var i=n;if((t&1)===0&&(t&2)===0&&n!==null)e:for(;;){if(n===null)return;var u=n.tag;if(u===3||u===4){var f=n.stateNode.containerInfo;if(f===s)break;if(u===4)for(u=n.return;u!==null;){var x=u.tag;if((x===3||x===4)&&u.stateNode.containerInfo===s)return;u=u.return}for(;f!==null;){if(u=Nl(f),u===null)return;if(x=u.tag,x===5||x===6||x===26||x===27){n=i=u;continue e}f=f.parentNode}}n=n.return}Lu(function(){var M=i,G=ec(a),V=[];e:{var k=xo.get(e);if(k!==void 0){var U=Ns,ae=e;switch(e){case"keypress":if(js(a)===0)break e;case"keydown":case"keyup":U=Wh;break;case"focusin":ae="focus",U=ic;break;case"focusout":ae="blur",U=ic;break;case"beforeblur":case"afterblur":U=ic;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":U=Yu;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":U=qh;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":U=ex;break;case oo:case fo:case mo:U=Qh;break;case ho:U=ax;break;case"scroll":case"scrollend":U=Bh;break;case"wheel":U=nx;break;case"copy":case"cut":case"paste":U=Vh;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":U=Xu;break;case"toggle":case"beforetoggle":U=ix}var re=(t&4)!==0,Ae=!re&&(e==="scroll"||e==="scrollend"),N=re?k!==null?k+"Capture":null:k;re=[];for(var j=M,T;j!==null;){var Q=j;if(T=Q.stateNode,Q=Q.tag,Q!==5&&Q!==26&&Q!==27||T===null||N===null||(Q=bn(j,N),Q!=null&&re.push(Pn(j,Q,T))),Ae)break;j=j.return}0<re.length&&(k=new U(k,ae,null,a,G),V.push({event:k,listeners:re}))}}if((t&7)===0){e:{if(k=e==="mouseover"||e==="pointerover",U=e==="mouseout"||e==="pointerout",k&&a!==Pi&&(ae=a.relatedTarget||a.fromElement)&&(Nl(ae)||ae[Sl]))break e;if((U||k)&&(k=G.window===G?G:(k=G.ownerDocument)?k.defaultView||k.parentWindow:window,U?(ae=a.relatedTarget||a.toElement,U=M,ae=ae?Nl(ae):null,ae!==null&&(Ae=p(ae),re=ae.tag,ae!==Ae||re!==5&&re!==27&&re!==6)&&(ae=null)):(U=null,ae=M),U!==ae)){if(re=Yu,Q="onMouseLeave",N="onMouseEnter",j="mouse",(e==="pointerout"||e==="pointerover")&&(re=Xu,Q="onPointerLeave",N="onPointerEnter",j="pointer"),Ae=U==null?k:vn(U),T=ae==null?k:vn(ae),k=new re(Q,j+"leave",U,a,G),k.target=Ae,k.relatedTarget=T,Q=null,Nl(G)===M&&(re=new re(N,j+"enter",ae,a,G),re.target=T,re.relatedTarget=Ae,Q=re),Ae=Q,U&&ae)t:{for(re=sg,N=U,j=ae,T=0,Q=N;Q;Q=re(Q))T++;Q=0;for(var ce=j;ce;ce=re(ce))Q++;for(;0<T-Q;)N=re(N),T--;for(;0<Q-T;)j=re(j),Q--;for(;T--;){if(N===j||j!==null&&N===j.alternate){re=N;break t}N=re(N),j=re(j)}re=null}else re=null;U!==null&&Hf(V,k,U,re,!1),ae!==null&&Ae!==null&&Hf(V,Ae,ae,re,!0)}}e:{if(k=M?vn(M):window,U=k.nodeName&&k.nodeName.toLowerCase(),U==="select"||U==="input"&&k.type==="file")var je=Pu;else if(Wu(k))if(eo)je=gx;else{je=hx;var ie=mx}else U=k.nodeName,!U||U.toLowerCase()!=="input"||k.type!=="checkbox"&&k.type!=="radio"?M&&Ii(M.elementType)&&(je=Pu):je=xx;if(je&&(je=je(e,M))){Iu(V,je,a,G);break e}ie&&ie(e,k,M),e==="focusout"&&M&&k.type==="number"&&M.memoizedProps.value!=null&&Wi(k,"number",k.value)}switch(ie=M?vn(M):window,e){case"focusin":(Wu(ie)||ie.contentEditable==="true")&&(_l=ie,fc=M,Tn=null);break;case"focusout":Tn=fc=_l=null;break;case"mousedown":mc=!0;break;case"contextmenu":case"mouseup":case"dragend":mc=!1,ro(V,a,G);break;case"selectionchange":if(yx)break;case"keydown":case"keyup":ro(V,a,G)}var me;if(rc)e:{switch(e){case"compositionstart":var pe="onCompositionStart";break e;case"compositionend":pe="onCompositionEnd";break e;case"compositionupdate":pe="onCompositionUpdate";break e}pe=void 0}else Ml?Ju(e,a)&&(pe="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(pe="onCompositionStart");pe&&(Zu&&a.locale!=="ko"&&(Ml||pe!=="onCompositionStart"?pe==="onCompositionEnd"&&Ml&&(me=Gu()):(Da=G,lc="value"in Da?Da.value:Da.textContent,Ml=!0)),ie=mi(M,pe),0<ie.length&&(pe=new Vu(pe,e,null,a,G),V.push({event:pe,listeners:ie}),me?pe.data=me:(me=$u(a),me!==null&&(pe.data=me)))),(me=rx?ux(e,a):ox(e,a))&&(pe=mi(M,"onBeforeInput"),0<pe.length&&(ie=new Vu("onBeforeInput","beforeinput",null,a,G),V.push({event:ie,listeners:pe}),ie.data=me)),tg(V,e,M,a,G)}Uf(V,t)})}function Pn(e,t,a){return{instance:e,listener:t,currentTarget:a}}function mi(e,t){for(var a=t+"Capture",n=[];e!==null;){var s=e,i=s.stateNode;if(s=s.tag,s!==5&&s!==26&&s!==27||i===null||(s=bn(e,a),s!=null&&n.unshift(Pn(e,s,i)),s=bn(e,t),s!=null&&n.push(Pn(e,s,i))),e.tag===3)return n;e=e.return}return[]}function sg(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Hf(e,t,a,n,s){for(var i=t._reactName,u=[];a!==null&&a!==n;){var f=a,x=f.alternate,M=f.stateNode;if(f=f.tag,x!==null&&x===n)break;f!==5&&f!==26&&f!==27||M===null||(x=M,s?(M=bn(a,i),M!=null&&u.unshift(Pn(a,M,x))):s||(M=bn(a,i),M!=null&&u.push(Pn(a,M,x)))),a=a.return}u.length!==0&&e.push({event:t,listeners:u})}var ig=/\r\n?/g,cg=/\u0000|\uFFFD/g;function qf(e){return(typeof e=="string"?e:""+e).replace(ig,`
|
|
9
|
-
`).replace(cg,"")}function Lf(e,t){return t=qf(t),qf(e)===t}function Te(e,t,a,n,s,i){switch(a){case"children":typeof n=="string"?t==="body"||t==="textarea"&&n===""||Tl(e,n):(typeof n=="number"||typeof n=="bigint")&&t!=="body"&&Tl(e,""+n);break;case"className":ps(e,"class",n);break;case"tabIndex":ps(e,"tabindex",n);break;case"dir":case"role":case"viewBox":case"width":case"height":ps(e,a,n);break;case"style":Hu(e,n,i);break;case"data":if(t!=="object"){ps(e,"data",n);break}case"src":case"href":if(n===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(n==null||typeof n=="function"||typeof n=="symbol"||typeof n=="boolean"){e.removeAttribute(a);break}n=vs(""+n),e.setAttribute(a,n);break;case"action":case"formAction":if(typeof n=="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 i=="function"&&(a==="formAction"?(t!=="input"&&Te(e,t,"name",s.name,s,null),Te(e,t,"formEncType",s.formEncType,s,null),Te(e,t,"formMethod",s.formMethod,s,null),Te(e,t,"formTarget",s.formTarget,s,null)):(Te(e,t,"encType",s.encType,s,null),Te(e,t,"method",s.method,s,null),Te(e,t,"target",s.target,s,null)));if(n==null||typeof n=="symbol"||typeof n=="boolean"){e.removeAttribute(a);break}n=vs(""+n),e.setAttribute(a,n);break;case"onClick":n!=null&&(e.onclick=ua);break;case"onScroll":n!=null&&xe("scroll",e);break;case"onScrollEnd":n!=null&&xe("scrollend",e);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(o(61));if(a=n.__html,a!=null){if(s.children!=null)throw Error(o(60));e.innerHTML=a}}break;case"multiple":e.multiple=n&&typeof n!="function"&&typeof n!="symbol";break;case"muted":e.muted=n&&typeof n!="function"&&typeof n!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(n==null||typeof n=="function"||typeof n=="boolean"||typeof n=="symbol"){e.removeAttribute("xlink:href");break}a=vs(""+n),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":n!=null&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,""+n):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":n&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,""):e.removeAttribute(a);break;case"capture":case"download":n===!0?e.setAttribute(a,""):n!==!1&&n!=null&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,n):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":n!=null&&typeof n!="function"&&typeof n!="symbol"&&!isNaN(n)&&1<=n?e.setAttribute(a,n):e.removeAttribute(a);break;case"rowSpan":case"start":n==null||typeof n=="function"||typeof n=="symbol"||isNaN(n)?e.removeAttribute(a):e.setAttribute(a,n);break;case"popover":xe("beforetoggle",e),xe("toggle",e),gs(e,"popover",n);break;case"xlinkActuate":ra(e,"http://www.w3.org/1999/xlink","xlink:actuate",n);break;case"xlinkArcrole":ra(e,"http://www.w3.org/1999/xlink","xlink:arcrole",n);break;case"xlinkRole":ra(e,"http://www.w3.org/1999/xlink","xlink:role",n);break;case"xlinkShow":ra(e,"http://www.w3.org/1999/xlink","xlink:show",n);break;case"xlinkTitle":ra(e,"http://www.w3.org/1999/xlink","xlink:title",n);break;case"xlinkType":ra(e,"http://www.w3.org/1999/xlink","xlink:type",n);break;case"xmlBase":ra(e,"http://www.w3.org/XML/1998/namespace","xml:base",n);break;case"xmlLang":ra(e,"http://www.w3.org/XML/1998/namespace","xml:lang",n);break;case"xmlSpace":ra(e,"http://www.w3.org/XML/1998/namespace","xml:space",n);break;case"is":gs(e,"is",n);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=Rh.get(a)||a,gs(e,a,n))}}function Hr(e,t,a,n,s,i){switch(a){case"style":Hu(e,n,i);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(o(61));if(a=n.__html,a!=null){if(s.children!=null)throw Error(o(60));e.innerHTML=a}}break;case"children":typeof n=="string"?Tl(e,n):(typeof n=="number"||typeof n=="bigint")&&Tl(e,""+n);break;case"onScroll":n!=null&&xe("scroll",e);break;case"onScrollEnd":n!=null&&xe("scrollend",e);break;case"onClick":n!=null&&(e.onclick=ua);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Au.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(s=a.endsWith("Capture"),t=a.slice(2,s?a.length-7:void 0),i=e[ht]||null,i=i!=null?i[a]:null,typeof i=="function"&&e.removeEventListener(t,i,s),typeof n=="function")){typeof i!="function"&&i!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(t,n,s);break e}a in e?e[a]=n:n===!0?e.setAttribute(a,""):gs(e,a,n)}}}function ct(e,t,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":xe("error",e),xe("load",e);var n=!1,s=!1,i;for(i in a)if(a.hasOwnProperty(i)){var u=a[i];if(u!=null)switch(i){case"src":n=!0;break;case"srcSet":s=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(o(137,t));default:Te(e,t,i,u,a,null)}}s&&Te(e,t,"srcSet",a.srcSet,a,null),n&&Te(e,t,"src",a.src,a,null);return;case"input":xe("invalid",e);var f=i=u=s=null,x=null,M=null;for(n in a)if(a.hasOwnProperty(n)){var G=a[n];if(G!=null)switch(n){case"name":s=G;break;case"type":u=G;break;case"checked":x=G;break;case"defaultChecked":M=G;break;case"value":i=G;break;case"defaultValue":f=G;break;case"children":case"dangerouslySetInnerHTML":if(G!=null)throw Error(o(137,t));break;default:Te(e,t,n,G,a,null)}}Ou(e,i,f,x,M,u,s,!1);return;case"select":xe("invalid",e),n=u=i=null;for(s in a)if(a.hasOwnProperty(s)&&(f=a[s],f!=null))switch(s){case"value":i=f;break;case"defaultValue":u=f;break;case"multiple":n=f;default:Te(e,t,s,f,a,null)}t=i,a=u,e.multiple=!!n,t!=null?El(e,!!n,t,!1):a!=null&&El(e,!!n,a,!0);return;case"textarea":xe("invalid",e),i=s=n=null;for(u in a)if(a.hasOwnProperty(u)&&(f=a[u],f!=null))switch(u){case"value":n=f;break;case"defaultValue":s=f;break;case"children":i=f;break;case"dangerouslySetInnerHTML":if(f!=null)throw Error(o(91));break;default:Te(e,t,u,f,a,null)}Uu(e,n,s,i);return;case"option":for(x in a)a.hasOwnProperty(x)&&(n=a[x],n!=null)&&(x==="selected"?e.selected=n&&typeof n!="function"&&typeof n!="symbol":Te(e,t,x,n,a,null));return;case"dialog":xe("beforetoggle",e),xe("toggle",e),xe("cancel",e),xe("close",e);break;case"iframe":case"object":xe("load",e);break;case"video":case"audio":for(n=0;n<In.length;n++)xe(In[n],e);break;case"image":xe("error",e),xe("load",e);break;case"details":xe("toggle",e);break;case"embed":case"source":case"link":xe("error",e),xe("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(M in a)if(a.hasOwnProperty(M)&&(n=a[M],n!=null))switch(M){case"children":case"dangerouslySetInnerHTML":throw Error(o(137,t));default:Te(e,t,M,n,a,null)}return;default:if(Ii(t)){for(G in a)a.hasOwnProperty(G)&&(n=a[G],n!==void 0&&Hr(e,t,G,n,a,void 0));return}}for(f in a)a.hasOwnProperty(f)&&(n=a[f],n!=null&&Te(e,t,f,n,a,null))}function rg(e,t,a,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var s=null,i=null,u=null,f=null,x=null,M=null,G=null;for(U in a){var V=a[U];if(a.hasOwnProperty(U)&&V!=null)switch(U){case"checked":break;case"value":break;case"defaultValue":x=V;default:n.hasOwnProperty(U)||Te(e,t,U,null,n,V)}}for(var k in n){var U=n[k];if(V=a[k],n.hasOwnProperty(k)&&(U!=null||V!=null))switch(k){case"type":i=U;break;case"name":s=U;break;case"checked":M=U;break;case"defaultChecked":G=U;break;case"value":u=U;break;case"defaultValue":f=U;break;case"children":case"dangerouslySetInnerHTML":if(U!=null)throw Error(o(137,t));break;default:U!==V&&Te(e,t,k,U,n,V)}}$i(e,u,f,x,M,G,i,s);return;case"select":U=u=f=k=null;for(i in a)if(x=a[i],a.hasOwnProperty(i)&&x!=null)switch(i){case"value":break;case"multiple":U=x;default:n.hasOwnProperty(i)||Te(e,t,i,null,n,x)}for(s in n)if(i=n[s],x=a[s],n.hasOwnProperty(s)&&(i!=null||x!=null))switch(s){case"value":k=i;break;case"defaultValue":f=i;break;case"multiple":u=i;default:i!==x&&Te(e,t,s,i,n,x)}t=f,a=u,n=U,k!=null?El(e,!!a,k,!1):!!n!=!!a&&(t!=null?El(e,!!a,t,!0):El(e,!!a,a?[]:"",!1));return;case"textarea":U=k=null;for(f in a)if(s=a[f],a.hasOwnProperty(f)&&s!=null&&!n.hasOwnProperty(f))switch(f){case"value":break;case"children":break;default:Te(e,t,f,null,n,s)}for(u in n)if(s=n[u],i=a[u],n.hasOwnProperty(u)&&(s!=null||i!=null))switch(u){case"value":k=s;break;case"defaultValue":U=s;break;case"children":break;case"dangerouslySetInnerHTML":if(s!=null)throw Error(o(91));break;default:s!==i&&Te(e,t,u,s,n,i)}Ru(e,k,U);return;case"option":for(var ae in a)k=a[ae],a.hasOwnProperty(ae)&&k!=null&&!n.hasOwnProperty(ae)&&(ae==="selected"?e.selected=!1:Te(e,t,ae,null,n,k));for(x in n)k=n[x],U=a[x],n.hasOwnProperty(x)&&k!==U&&(k!=null||U!=null)&&(x==="selected"?e.selected=k&&typeof k!="function"&&typeof k!="symbol":Te(e,t,x,k,n,U));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 re in a)k=a[re],a.hasOwnProperty(re)&&k!=null&&!n.hasOwnProperty(re)&&Te(e,t,re,null,n,k);for(M in n)if(k=n[M],U=a[M],n.hasOwnProperty(M)&&k!==U&&(k!=null||U!=null))switch(M){case"children":case"dangerouslySetInnerHTML":if(k!=null)throw Error(o(137,t));break;default:Te(e,t,M,k,n,U)}return;default:if(Ii(t)){for(var Ae in a)k=a[Ae],a.hasOwnProperty(Ae)&&k!==void 0&&!n.hasOwnProperty(Ae)&&Hr(e,t,Ae,void 0,n,k);for(G in n)k=n[G],U=a[G],!n.hasOwnProperty(G)||k===U||k===void 0&&U===void 0||Hr(e,t,G,k,n,U);return}}for(var N in a)k=a[N],a.hasOwnProperty(N)&&k!=null&&!n.hasOwnProperty(N)&&Te(e,t,N,null,n,k);for(V in n)k=n[V],U=a[V],!n.hasOwnProperty(V)||k===U||k==null&&U==null||Te(e,t,V,k,n,U)}function Gf(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function ug(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,a=performance.getEntriesByType("resource"),n=0;n<a.length;n++){var s=a[n],i=s.transferSize,u=s.initiatorType,f=s.duration;if(i&&f&&Gf(u)){for(u=0,f=s.responseEnd,n+=1;n<a.length;n++){var x=a[n],M=x.startTime;if(M>f)break;var G=x.transferSize,V=x.initiatorType;G&&Gf(V)&&(x=x.responseEnd,u+=G*(x<f?1:(f-M)/(x-M)))}if(--n,t+=8*(i+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 qr=null,Lr=null;function hi(e){return e.nodeType===9?e:e.ownerDocument}function Qf(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 Yf(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 Gr(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 Qr=null;function og(){var e=window.event;return e&&e.type==="popstate"?e===Qr?!1:(Qr=e,!0):(Qr=null,!1)}var Vf=typeof setTimeout=="function"?setTimeout:void 0,dg=typeof clearTimeout=="function"?clearTimeout:void 0,Xf=typeof Promise=="function"?Promise:void 0,fg=typeof queueMicrotask=="function"?queueMicrotask:typeof Xf<"u"?function(e){return Xf.resolve(null).then(e).catch(mg)}:Vf;function mg(e){setTimeout(function(){throw e})}function Ka(e){return e==="head"}function Zf(e,t){var a=t,n=0;do{var s=a.nextSibling;if(e.removeChild(a),s&&s.nodeType===8)if(a=s.data,a==="/$"||a==="/&"){if(n===0){e.removeChild(s),sn(t);return}n--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")n++;else if(a==="html")es(e.ownerDocument.documentElement);else if(a==="head"){a=e.ownerDocument.head,es(a);for(var i=a.firstChild;i;){var u=i.nextSibling,f=i.nodeName;i[yn]||f==="SCRIPT"||f==="STYLE"||f==="LINK"&&i.rel.toLowerCase()==="stylesheet"||a.removeChild(i),i=u}}else a==="body"&&es(e.ownerDocument.body);a=s}while(a);sn(t)}function Kf(e,t){var a=e;e=0;do{var n=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||""),n&&n.nodeType===8)if(a=n.data,a==="/$"){if(e===0)break;e--}else a!=="$"&&a!=="$?"&&a!=="$~"&&a!=="$!"||e++;a=n}while(a)}function Yr(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":Yr(a),Fi(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function hg(e,t,a,n){for(;e.nodeType===1;){var s=a;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!n&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(n){if(!e[yn])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(i=e.getAttribute("rel"),i==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(i!==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(i=e.getAttribute("src"),(i!==(s.src==null?null:s.src)||e.getAttribute("type")!==(s.type==null?null:s.type)||e.getAttribute("crossorigin")!==(s.crossOrigin==null?null:s.crossOrigin))&&i&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var i=s.name==null?null:""+s.name;if(s.type==="hidden"&&e.getAttribute("name")===i)return e}else return e;if(e=Vt(e.nextSibling),e===null)break}return null}function xg(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 Ff(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 Vr(e){return e.data==="$?"||e.data==="$~"}function Xr(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function gg(e,t){var a=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||a.readyState!=="loading")t();else{var n=function(){t(),a.removeEventListener("DOMContentLoaded",n)};a.addEventListener("DOMContentLoaded",n),e._reactRetry=n}}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 Zr=null;function Jf(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 $f(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 Wf(e,t,a){switch(t=hi(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 es(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Fi(e)}var Xt=new Map,If=new Set;function xi(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var za=D.d;D.d={f:pg,r:yg,D:vg,C:bg,L:jg,m:Sg,X:Cg,S:Ng,M:zg};function pg(){var e=za.f(),t=ii();return e||t}function yg(e){var t=Cl(e);t!==null&&t.tag===5&&t.type==="form"?hd(t):za.r(e)}var an=typeof document>"u"?null:document;function Pf(e,t,a){var n=an;if(n&&typeof t=="string"&&t){var s=Bt(t);s='link[rel="'+e+'"][href="'+s+'"]',typeof a=="string"&&(s+='[crossorigin="'+a+'"]'),If.has(s)||(If.add(s),e={rel:e,crossOrigin:a,href:t},n.querySelector(s)===null&&(t=n.createElement("link"),ct(t,"link",e),Pe(t),n.head.appendChild(t)))}}function vg(e){za.D(e),Pf("dns-prefetch",e,null)}function bg(e,t){za.C(e,t),Pf("preconnect",e,t)}function jg(e,t,a){za.L(e,t,a);var n=an;if(n&&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 i=s;switch(t){case"style":i=ln(e);break;case"script":i=nn(e)}Xt.has(i)||(e=_({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),Xt.set(i,e),n.querySelector(s)!==null||t==="style"&&n.querySelector(ts(i))||t==="script"&&n.querySelector(as(i))||(t=n.createElement("link"),ct(t,"link",e),Pe(t),n.head.appendChild(t)))}}function Sg(e,t){za.m(e,t);var a=an;if(a&&e){var n=t&&typeof t.as=="string"?t.as:"script",s='link[rel="modulepreload"][as="'+Bt(n)+'"][href="'+Bt(e)+'"]',i=s;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":i=nn(e)}if(!Xt.has(i)&&(e=_({rel:"modulepreload",href:e},t),Xt.set(i,e),a.querySelector(s)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(as(i)))return}n=a.createElement("link"),ct(n,"link",e),Pe(n),a.head.appendChild(n)}}}function Ng(e,t,a){za.S(e,t,a);var n=an;if(n&&e){var s=zl(n).hoistableStyles,i=ln(e);t=t||"default";var u=s.get(i);if(!u){var f={loading:0,preload:null};if(u=n.querySelector(ts(i)))f.loading=5;else{e=_({rel:"stylesheet",href:e,"data-precedence":t},a),(a=Xt.get(i))&&Kr(e,a);var x=u=n.createElement("link");Pe(x),ct(x,"link",e),x._p=new Promise(function(M,G){x.onload=M,x.onerror=G}),x.addEventListener("load",function(){f.loading|=1}),x.addEventListener("error",function(){f.loading|=2}),f.loading|=4,gi(u,t,n)}u={type:"stylesheet",instance:u,count:1,state:f},s.set(i,u)}}}function Cg(e,t){za.X(e,t);var a=an;if(a&&e){var n=zl(a).hoistableScripts,s=nn(e),i=n.get(s);i||(i=a.querySelector(as(s)),i||(e=_({src:e,async:!0},t),(t=Xt.get(s))&&Fr(e,t),i=a.createElement("script"),Pe(i),ct(i,"link",e),a.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},n.set(s,i))}}function zg(e,t){za.M(e,t);var a=an;if(a&&e){var n=zl(a).hoistableScripts,s=nn(e),i=n.get(s);i||(i=a.querySelector(as(s)),i||(e=_({src:e,async:!0,type:"module"},t),(t=Xt.get(s))&&Fr(e,t),i=a.createElement("script"),Pe(i),ct(i,"link",e),a.head.appendChild(i)),i={type:"script",instance:i,count:1,state:null},n.set(s,i))}}function em(e,t,a,n){var s=(s=ft.current)?xi(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=ln(a.href),a=zl(s).hoistableStyles,n=a.get(t),n||(n={type:"style",instance:null,count:0,state:null},a.set(t,n)),n):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=ln(a.href);var i=zl(s).hoistableStyles,u=i.get(e);if(u||(s=s.ownerDocument||s,u={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},i.set(e,u),(i=s.querySelector(ts(e)))&&!i._p&&(u.instance=i,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),i||wg(s,e,a,u.state))),t&&n===null)throw Error(o(528,""));return u}if(t&&n!==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=nn(a),a=zl(s).hoistableScripts,n=a.get(t),n||(n={type:"script",instance:null,count:0,state:null},a.set(t,n)),n):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,e))}}function ln(e){return'href="'+Bt(e)+'"'}function ts(e){return'link[rel="stylesheet"]['+e+"]"}function tm(e){return _({},e,{"data-precedence":e.precedence,precedence:null})}function wg(e,t,a,n){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?n.loading=1:(t=e.createElement("link"),n.preload=t,t.addEventListener("load",function(){return n.loading|=1}),t.addEventListener("error",function(){return n.loading|=2}),ct(t,"link",a),Pe(t),e.head.appendChild(t))}function nn(e){return'[src="'+Bt(e)+'"]'}function as(e){return"script[async]"+e}function am(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var n=e.querySelector('style[data-href~="'+Bt(a.href)+'"]');if(n)return t.instance=n,Pe(n),n;var s=_({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return n=(e.ownerDocument||e).createElement("style"),Pe(n),ct(n,"style",s),gi(n,a.precedence,e),t.instance=n;case"stylesheet":s=ln(a.href);var i=e.querySelector(ts(s));if(i)return t.state.loading|=4,t.instance=i,Pe(i),i;n=tm(a),(s=Xt.get(s))&&Kr(n,s),i=(e.ownerDocument||e).createElement("link"),Pe(i);var u=i;return u._p=new Promise(function(f,x){u.onload=f,u.onerror=x}),ct(i,"link",n),t.state.loading|=4,gi(i,a.precedence,e),t.instance=i;case"script":return i=nn(a.src),(s=e.querySelector(as(i)))?(t.instance=s,Pe(s),s):(n=a,(s=Xt.get(i))&&(n=_({},a),Fr(n,s)),e=e.ownerDocument||e,s=e.createElement("script"),Pe(s),ct(s,"link",n),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&&(n=t.instance,t.state.loading|=4,gi(n,a.precedence,e));return t.instance}function gi(e,t,a){for(var n=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),s=n.length?n[n.length-1]:null,i=s,u=0;u<n.length;u++){var f=n[u];if(f.dataset.precedence===t)i=f;else if(i!==s)break}i?i.parentNode.insertBefore(e,i.nextSibling):(t=a.nodeType===9?a.head:a,t.insertBefore(e,t.firstChild))}function Kr(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function Fr(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var pi=null;function lm(e,t,a){if(pi===null){var n=new Map,s=pi=new Map;s.set(a,n)}else s=pi,n=s.get(a),n||(n=new Map,s.set(a,n));if(n.has(e))return n;for(n.set(e,null),a=a.getElementsByTagName(e),s=0;s<a.length;s++){var i=a[s];if(!(i[yn]||i[lt]||e==="link"&&i.getAttribute("rel")==="stylesheet")&&i.namespaceURI!=="http://www.w3.org/2000/svg"){var u=i.getAttribute(t)||"";u=e+u;var f=n.get(u);f?f.push(i):n.set(u,[i])}}return n}function nm(e,t,a){e=e.ownerDocument||e,e.head.insertBefore(a,t==="title"?e.querySelector("head > title"):null)}function Eg(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 sm(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Tg(e,t,a,n){if(a.type==="stylesheet"&&(typeof n.media!="string"||matchMedia(n.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var s=ln(n.href),i=t.querySelector(ts(s));if(i){t=i._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=yi.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=i,Pe(i);return}i=t.ownerDocument||t,n=tm(n),(s=Xt.get(s))&&Kr(n,s),i=i.createElement("link"),Pe(i);var u=i;u._p=new Promise(function(f,x){u.onload=f,u.onerror=x}),ct(i,"link",n),a.instance=i}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=yi.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Jr=0;function Ag(e,t){return e.stylesheets&&e.count===0&&bi(e,e.stylesheets),0<e.count||0<e.imgCount?function(a){var n=setTimeout(function(){if(e.stylesheets&&bi(e,e.stylesheets),e.unsuspend){var i=e.unsuspend;e.unsuspend=null,i()}},6e4+t);0<e.imgBytes&&Jr===0&&(Jr=62500*ug());var s=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&bi(e,e.stylesheets),e.unsuspend)){var i=e.unsuspend;e.unsuspend=null,i()}},(e.imgBytes>Jr?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(n),clearTimeout(s)}}:null}function yi(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)bi(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var vi=null;function bi(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,vi=new Map,t.forEach(Dg,e),vi=null,yi.call(e))}function Dg(e,t){if(!(t.state.loading&4)){var a=vi.get(e);if(a)var n=a.get(null);else{a=new Map,vi.set(e,a);for(var s=e.querySelectorAll("link[data-precedence],style[data-precedence]"),i=0;i<s.length;i++){var u=s[i];(u.nodeName==="LINK"||u.getAttribute("media")!=="not all")&&(a.set(u.dataset.precedence,u),n=u)}n&&a.set(null,n)}s=t.instance,u=s.getAttribute("data-precedence"),i=a.get(u)||n,i===n&&a.set(null,s),a.set(u,s),this.count++,n=yi.bind(this),s.addEventListener("load",n),s.addEventListener("error",n),i?i.parentNode.insertBefore(s,i.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(s,e.firstChild)),t.state.loading|=4}}var ls={$$typeof:S,Provider:null,Consumer:null,_currentValue:I,_currentValue2:I,_threadCount:0};function Mg(e,t,a,n,s,i,u,f,x){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=Vi(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Vi(0),this.hiddenUpdates=Vi(null),this.identifierPrefix=n,this.onUncaughtError=s,this.onCaughtError=i,this.onRecoverableError=u,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=x,this.incompleteTransitions=new Map}function im(e,t,a,n,s,i,u,f,x,M,G,V){return e=new Mg(e,t,a,u,x,M,G,V,f),t=1,i===!0&&(t|=24),i=At(3,null,null,t),e.current=i,i.stateNode=e,t=Tc(),t.refCount++,e.pooledCache=t,t.refCount++,i.memoizedState={element:n,isDehydrated:a,cache:t},_c(i),e}function cm(e){return e?(e=Rl,e):Rl}function rm(e,t,a,n,s,i){s=cm(s),n.context===null?n.context=s:n.pendingContext=s,n=Ua(t),n.payload={element:a},i=i===void 0?null:i,i!==null&&(n.callback=i),a=Ba(e,n,t),a!==null&&(bt(a,e,t),Rn(a,e,t))}function um(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function $r(e,t){um(e,t),(e=e.alternate)&&um(e,t)}function om(e){if(e.tag===13||e.tag===31){var t=cl(e,67108864);t!==null&&bt(t,e,67108864),$r(e,67108864)}}function dm(e){if(e.tag===13||e.tag===31){var t=Ot();t=Xi(t);var a=cl(e,t);a!==null&&bt(a,e,t),$r(e,t)}}var ji=!0;function _g(e,t,a,n){var s=y.T;y.T=null;var i=D.p;try{D.p=2,Wr(e,t,a,n)}finally{D.p=i,y.T=s}}function kg(e,t,a,n){var s=y.T;y.T=null;var i=D.p;try{D.p=8,Wr(e,t,a,n)}finally{D.p=i,y.T=s}}function Wr(e,t,a,n){if(ji){var s=Ir(n);if(s===null)Br(e,t,n,Si,a),mm(e,n);else if(Rg(s,e,t,a,n))n.stopPropagation();else if(mm(e,n),t&4&&-1<Og.indexOf(e)){for(;s!==null;){var i=Cl(s);if(i!==null)switch(i.tag){case 3:if(i=i.stateNode,i.current.memoizedState.isDehydrated){var u=al(i.pendingLanes);if(u!==0){var f=i;for(f.pendingLanes|=2,f.entangledLanes|=2;u;){var x=1<<31-Et(u);f.entanglements[1]|=x,u&=~x}Pt(i),(Ne&6)===0&&(ni=zt()+500,Wn(0))}}break;case 31:case 13:f=cl(i,2),f!==null&&bt(f,i,2),ii(),$r(i,2)}if(i=Ir(n),i===null&&Br(e,t,n,Si,a),i===s)break;s=i}s!==null&&n.stopPropagation()}else Br(e,t,n,null,a)}}function Ir(e){return e=ec(e),Pr(e)}var Si=null;function Pr(e){if(Si=null,e=Nl(e),e!==null){var t=p(e);if(t===null)e=null;else{var a=t.tag;if(a===13){if(e=b(t),e!==null)return e;e=null}else if(a===31){if(e=g(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 Si=e,null}function fm(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(vh()){case yu:return 2;case vu:return 8;case ds:case bh:return 32;case bu:return 268435456;default:return 32}default:return 32}}var eu=!1,Fa=null,Ja=null,$a=null,ns=new Map,ss=new Map,Wa=[],Og="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 mm(e,t){switch(e){case"focusin":case"focusout":Fa=null;break;case"dragenter":case"dragleave":Ja=null;break;case"mouseover":case"mouseout":$a=null;break;case"pointerover":case"pointerout":ns.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ss.delete(t.pointerId)}}function is(e,t,a,n,s,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:a,eventSystemFlags:n,nativeEvent:i,targetContainers:[s]},t!==null&&(t=Cl(t),t!==null&&om(t)),e):(e.eventSystemFlags|=n,t=e.targetContainers,s!==null&&t.indexOf(s)===-1&&t.push(s),e)}function Rg(e,t,a,n,s){switch(t){case"focusin":return Fa=is(Fa,e,t,a,n,s),!0;case"dragenter":return Ja=is(Ja,e,t,a,n,s),!0;case"mouseover":return $a=is($a,e,t,a,n,s),!0;case"pointerover":var i=s.pointerId;return ns.set(i,is(ns.get(i)||null,e,t,a,n,s)),!0;case"gotpointercapture":return i=s.pointerId,ss.set(i,is(ss.get(i)||null,e,t,a,n,s)),!0}return!1}function hm(e){var t=Nl(e.target);if(t!==null){var a=p(t);if(a!==null){if(t=a.tag,t===13){if(t=b(a),t!==null){e.blockedOn=t,wu(e.priority,function(){dm(a)});return}}else if(t===31){if(t=g(a),t!==null){e.blockedOn=t,wu(e.priority,function(){dm(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 Ni(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=Ir(e.nativeEvent);if(a===null){a=e.nativeEvent;var n=new a.constructor(a.type,a);Pi=n,a.target.dispatchEvent(n),Pi=null}else return t=Cl(a),t!==null&&om(t),e.blockedOn=a,!1;t.shift()}return!0}function xm(e,t,a){Ni(e)&&a.delete(t)}function Ug(){eu=!1,Fa!==null&&Ni(Fa)&&(Fa=null),Ja!==null&&Ni(Ja)&&(Ja=null),$a!==null&&Ni($a)&&($a=null),ns.forEach(xm),ss.forEach(xm)}function Ci(e,t){e.blockedOn===t&&(e.blockedOn=null,eu||(eu=!0,c.unstable_scheduleCallback(c.unstable_NormalPriority,Ug)))}var zi=null;function gm(e){zi!==e&&(zi=e,c.unstable_scheduleCallback(c.unstable_NormalPriority,function(){zi===e&&(zi=null);for(var t=0;t<e.length;t+=3){var a=e[t],n=e[t+1],s=e[t+2];if(typeof n!="function"){if(Pr(n||a)===null)continue;break}var i=Cl(a);i!==null&&(e.splice(t,3),t-=3,Ic(i,{pending:!0,data:s,method:a.method,action:n},n,s))}}))}function sn(e){function t(x){return Ci(x,e)}Fa!==null&&Ci(Fa,e),Ja!==null&&Ci(Ja,e),$a!==null&&Ci($a,e),ns.forEach(t),ss.forEach(t);for(var a=0;a<Wa.length;a++){var n=Wa[a];n.blockedOn===e&&(n.blockedOn=null)}for(;0<Wa.length&&(a=Wa[0],a.blockedOn===null);)hm(a),a.blockedOn===null&&Wa.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(n=0;n<a.length;n+=3){var s=a[n],i=a[n+1],u=s[ht]||null;if(typeof i=="function")u||gm(a);else if(u){var f=null;if(i&&i.hasAttribute("formAction")){if(s=i,u=i[ht]||null)f=u.formAction;else if(Pr(s)!==null)continue}else f=u.action;typeof f=="function"?a[n+1]=f:(a.splice(n,3),n-=3),gm(a)}}}function pm(){function e(i){i.canIntercept&&i.info==="react-transition"&&i.intercept({handler:function(){return new Promise(function(u){return s=u})},focusReset:"manual",scroll:"manual"})}function t(){s!==null&&(s(),s=null),n||setTimeout(a,20)}function a(){if(!n&&!navigation.transition){var i=navigation.currentEntry;i&&i.url!=null&&navigation.navigate(i.url,{state:i.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var n=!1,s=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(a,100),function(){n=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),s!==null&&(s(),s=null)}}}function tu(e){this._internalRoot=e}wi.prototype.render=tu.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(o(409));var a=t.current,n=Ot();rm(a,n,e,t,null,null)},wi.prototype.unmount=tu.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;rm(e.current,2,null,e,null,null),ii(),t[Sl]=null}};function wi(e){this._internalRoot=e}wi.prototype.unstable_scheduleHydration=function(e){if(e){var t=zu();e={blockedOn:null,target:e,priority:t};for(var a=0;a<Wa.length&&t!==0&&t<Wa[a].priority;a++);Wa.splice(a,0,e),a===0&&hm(e)}};var ym=r.version;if(ym!=="19.2.3")throw Error(o(527,ym,"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=w(t),e=e!==null?E(e):null,e=e===null?null:e.stateNode,e};var Bg={bundleType:0,version:"19.2.3",rendererPackageName:"react-dom",currentDispatcherRef:y,reconcilerVersion:"19.2.3"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Ei=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Ei.isDisabled&&Ei.supportsFiber)try{xn=Ei.inject(Bg),wt=Ei}catch{}}return cs.createRoot=function(e,t){if(!h(e))throw Error(o(299));var a=!1,n="",s=Cd,i=zd,u=wd;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(n=t.identifierPrefix),t.onUncaughtError!==void 0&&(s=t.onUncaughtError),t.onCaughtError!==void 0&&(i=t.onCaughtError),t.onRecoverableError!==void 0&&(u=t.onRecoverableError)),t=im(e,1,!1,null,null,a,n,null,s,i,u,pm),e[Sl]=t.current,Ur(e),new tu(t)},cs.hydrateRoot=function(e,t,a){if(!h(e))throw Error(o(299));var n=!1,s="",i=Cd,u=zd,f=wd,x=null;return a!=null&&(a.unstable_strictMode===!0&&(n=!0),a.identifierPrefix!==void 0&&(s=a.identifierPrefix),a.onUncaughtError!==void 0&&(i=a.onUncaughtError),a.onCaughtError!==void 0&&(u=a.onCaughtError),a.onRecoverableError!==void 0&&(f=a.onRecoverableError),a.formState!==void 0&&(x=a.formState)),t=im(e,1,!0,t,a??null,n,s,x,i,u,f,pm),t.context=cm(null),a=t.current,n=Ot(),n=Xi(n),s=Ua(n),s.callback=null,Ba(a,s,n),a=n,t.current.lanes=a,pn(t,a),Pt(t),e[Sl]=t.current,Ur(e),new wi(t)},cs.version="19.2.3",cs}var Em;function Pp(){if(Em)return au.exports;Em=1;function c(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(c)}catch(r){console.error(r)}}return c(),au.exports=Ip(),au.exports}var ey=Pp();const ty="/api";async function ye(c,r){const d=await fetch(`${ty}${c}`,{...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 ay(){return ye("/projects")}async function ly(c,r,d="manual"){return ye("/projects",{method:"POST",body:JSON.stringify({name:c,path:r,spec_method:d})})}async function ny(c){await ye(`/projects/${encodeURIComponent(c)}`,{method:"DELETE"})}async function sy(c,r){return ye(`/projects/${encodeURIComponent(c)}/settings`,{method:"PATCH",body:JSON.stringify(r)})}async function iy(c,r=!1){const d=r?"?full_reset=true":"";return ye(`/projects/${encodeURIComponent(c)}/reset${d}`,{method:"POST"})}async function cy(c){return ye(`/projects/${encodeURIComponent(c)}/features`)}async function ry(c,r){return ye(`/projects/${encodeURIComponent(c)}/features`,{method:"POST",body:JSON.stringify(r)})}async function uy(c,r){await ye(`/projects/${encodeURIComponent(c)}/features/${r}`,{method:"DELETE"})}async function oy(c,r){await ye(`/projects/${encodeURIComponent(c)}/features/${r}/skip`,{method:"PATCH"})}async function dy(c,r,d){return ye(`/projects/${encodeURIComponent(c)}/features/${r}`,{method:"PATCH",body:JSON.stringify(d)})}async function fy(c){return ye(`/projects/${encodeURIComponent(c)}/features/graph`)}async function my(c){return ye(`/projects/${encodeURIComponent(c)}/agent/status`)}async function hu(c,r={}){return ye(`/projects/${encodeURIComponent(c)}/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 hy(c){return ye(`/projects/${encodeURIComponent(c)}/agent/stop`,{method:"POST"})}async function xy(c){return ye(`/spec/status/${encodeURIComponent(c)}`)}async function gy(){return ye("/setup/status")}async function py(){return ye("/health")}async function yy(c){const r=c?`?path=${encodeURIComponent(c)}`:"";return ye(`/filesystem/list${r}`)}async function vy(c){const r=c.endsWith("/")?c.slice(0,-1):c,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 ye("/filesystem/create-directory",{method:"POST",body:JSON.stringify({parent_path:o,name:h})})}async function by(c){return ye(`/assistant/conversations/${encodeURIComponent(c)}`)}async function jy(c,r){return ye(`/assistant/conversations/${encodeURIComponent(c)}/${r}`)}async function Sy(c,r){await ye(`/assistant/conversations/${encodeURIComponent(c)}/${r}`,{method:"DELETE"})}async function Ny(){return ye("/settings/models")}async function Cy(){return ye("/settings")}async function zy(c){return ye("/settings",{method:"PATCH",body:JSON.stringify(c)})}async function wy(c,r){return ye(`/projects/${encodeURIComponent(c)}/devserver/start`,{method:"POST",body:JSON.stringify({command:r})})}async function Ey(c){return ye(`/projects/${encodeURIComponent(c)}/devserver/stop`,{method:"POST"})}async function Ty(c){return ye(`/terminal/${encodeURIComponent(c)}`)}async function Ay(c,r){return ye(`/terminal/${encodeURIComponent(c)}`,{method:"POST",body:JSON.stringify({name:null})})}async function Dy(c,r,d){return ye(`/terminal/${encodeURIComponent(c)}/${r}`,{method:"PATCH",body:JSON.stringify({name:d})})}async function My(c,r){await ye(`/terminal/${encodeURIComponent(c)}/${r}`,{method:"DELETE"})}async function _y(c){return ye(`/projects/${encodeURIComponent(c)}/schedules`)}async function ky(c,r){return ye(`/projects/${encodeURIComponent(c)}/schedules`,{method:"POST",body:JSON.stringify(r)})}async function Oy(c,r,d){return ye(`/projects/${encodeURIComponent(c)}/schedules/${r}`,{method:"PATCH",body:JSON.stringify(d)})}async function Ry(c,r){await ye(`/projects/${encodeURIComponent(c)}/schedules/${r}`,{method:"DELETE"})}async function Uy(c){return ye(`/projects/${encodeURIComponent(c)}/schedules/next`)}function By(){return Rt({queryKey:["projects"],queryFn:ay})}function Hy(){const c=at();return rt({mutationFn:({name:r,path:d,specMethod:o})=>ly(r,d,o),onSuccess:()=>{c.invalidateQueries({queryKey:["projects"]})}})}function qy(){const c=at();return rt({mutationFn:r=>ny(r),onSuccess:()=>{c.invalidateQueries({queryKey:["projects"]})}})}function Ly(c){const r=at();return rt({mutationFn:d=>iy(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["projects"]}),r.invalidateQueries({queryKey:["project",c]}),r.invalidateQueries({queryKey:["features",c]}),r.invalidateQueries({queryKey:["agent-status",c]})}})}function Gy(c){const r=at();return rt({mutationFn:d=>sy(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["projects"]}),r.invalidateQueries({queryKey:["project",c]})}})}function uh(c){return Rt({queryKey:["features",c],queryFn:()=>cy(c),enabled:!!c,refetchInterval:5e3})}function Qy(c){const r=at();return rt({mutationFn:d=>ry(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["features",c]})}})}function Yy(c){const r=at();return rt({mutationFn:d=>uy(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["features",c]})}})}function Vy(c){const r=at();return rt({mutationFn:d=>oy(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["features",c]})}})}function Xy(c){const r=at();return rt({mutationFn:({featureId:d,update:o})=>dy(c,d,o),onSuccess:()=>{r.invalidateQueries({queryKey:["features",c]})}})}function Zy(c){return Rt({queryKey:["agent-status",c],queryFn:()=>my(c),enabled:!!c,refetchInterval:3e3})}function Ky(c){const r=at();return rt({mutationFn:(d={})=>hu(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["agent-status",c]})}})}function Fy(c){const r=at();return rt({mutationFn:()=>hy(c),onSuccess:()=>{r.invalidateQueries({queryKey:["agent-status",c]}),r.invalidateQueries({queryKey:["nextRun",c]})}})}function Jy(){return Rt({queryKey:["setup-status"],queryFn:gy,staleTime:6e4})}function $y(){return Rt({queryKey:["health"],queryFn:py,retry:!1})}const Wy={models:[{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5"},{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet 4.5"}],default:"claude-opus-4-5-20251101"},oh={yolo_mode:!1,model:"claude-opus-4-5-20251101",glm_mode:!1,ollama_mode:!1,testing_agent_ratio:1,playwright_headless:!0,batch_size:3};function Iy(){return Rt({queryKey:["available-models"],queryFn:Ny,staleTime:3e5,retry:1,placeholderData:Wy})}function xu(){return Rt({queryKey:["settings"],queryFn:Cy,staleTime:6e4,retry:1,placeholderData:oh})}function Py(){const c=at();return rt({mutationFn:r=>zy(r),onMutate:async r=>{await c.cancelQueries({queryKey:["settings"]});const d=c.getQueryData(["settings"]);return c.setQueryData(["settings"],o=>({...oh,...o,...r})),{previous:d}},onError:(r,d,o)=>{o?.previous&&c.setQueryData(["settings"],o.previous)},onSettled:()=>{c.invalidateQueries({queryKey:["settings"]})}})}const Tm=100,e0=20,Am=500;function t0(c){const[r,d]=m.useState({progress:{passing:0,in_progress: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=m.useRef(null),h=m.useRef(null),p=m.useRef(0),b=m.useCallback(()=>{if(!c)return;const z=window.location.protocol==="https:"?"wss:":"ws:",H=window.location.host,B=`${z}//${H}/ws/projects/${encodeURIComponent(c)}`;try{const R=new WebSocket(B);o.current=R,R.onopen=()=>{d(C=>({...C,isConnected:!0})),p.current=0},R.onmessage=C=>{try{const v=JSON.parse(C.data);switch(v.type){case"progress":d(S=>({...S,progress:{passing:v.passing,in_progress:v.in_progress,total:v.total,percentage:v.percentage}}));break;case"agent_status":d(S=>({...S,agentStatus:v.status,...(v.status==="stopped"||v.status==="crashed")&&{activeAgents:[],recentActivity:[],orchestratorStatus:null}}));break;case"log":d(S=>{const Z=[...S.logs.slice(-Tm+1),{line:v.line,timestamp:v.timestamp,featureId:v.featureId,agentIndex:v.agentIndex}];let F=S.agentLogs;if(v.agentIndex!==void 0){F=new Map(S.agentLogs);const $=F.get(v.agentIndex)||[],X={line:v.line,timestamp:v.timestamp,type:"output"};F.set(v.agentIndex,[...$.slice(-Am+1),X])}return{...S,logs:Z,agentLogs:F}});break;case"feature_update":break;case"agent_update":d(S=>{const Z=new Map(S.agentLogs),F=Z.get(v.agentIndex)||[],$={line:`[STATE] ${v.state}${v.thought?`: ${v.thought}`:""}`,timestamp:v.timestamp,type:v.state==="error"?"error":"state_change"};Z.set(v.agentIndex,[...F.slice(-Am+1),$]);const X=Z.get(v.agentIndex)||[],ee=S.activeAgents.findIndex(q=>q.agentIndex===v.agentIndex);let Y;v.state==="success"||v.state==="error"?v.agentIndex===-1?Y=S.activeAgents.filter(q=>q.featureId!==v.featureId):Y=S.activeAgents.filter(q=>q.agentIndex!==v.agentIndex):ee>=0?(Y=[...S.activeAgents],Y[ee]={agentIndex:v.agentIndex,agentName:v.agentName,agentType:v.agentType||"coding",featureId:v.featureId,featureIds:v.featureIds||[v.featureId],featureName:v.featureName,state:v.state,thought:v.thought,timestamp:v.timestamp,logs:X}):Y=[...S.activeAgents,{agentIndex:v.agentIndex,agentName:v.agentName,agentType:v.agentType||"coding",featureId:v.featureId,featureIds:v.featureIds||[v.featureId],featureName:v.featureName,state:v.state,thought:v.thought,timestamp:v.timestamp,logs:X}];let ne=S.recentActivity;v.thought&&(ne=[{agentName:v.agentName,thought:v.thought,timestamp:v.timestamp,featureId:v.featureId},...S.recentActivity.slice(0,e0-1)]);let K=S.celebrationQueue,O=S.celebration;if(v.state==="success"){const q={agentName:v.agentName,featureName:v.featureName,featureId:v.featureId};S.celebration?K=[...S.celebrationQueue,q]:O=q}return{...S,activeAgents:Y,agentLogs:Z,recentActivity:ne,celebrationQueue:K,celebration:O}});break;case"orchestrator_update":d(S=>{const Z={eventType:v.eventType,message:v.message,timestamp:v.timestamp,featureId:v.featureId,featureName:v.featureName};return{...S,orchestratorStatus:{state:v.state,message:v.message,codingAgents:v.codingAgents??S.orchestratorStatus?.codingAgents??0,testingAgents:v.testingAgents??S.orchestratorStatus?.testingAgents??0,maxConcurrency:v.maxConcurrency??S.orchestratorStatus?.maxConcurrency??3,readyCount:v.readyCount??S.orchestratorStatus?.readyCount??0,blockedCount:v.blockedCount??S.orchestratorStatus?.blockedCount??0,timestamp:v.timestamp,recentEvents:[Z,...(S.orchestratorStatus?.recentEvents??[]).slice(0,4)]}}});break;case"dev_log":d(S=>({...S,devLogs:[...S.devLogs.slice(-Tm+1),{line:v.line,timestamp:v.timestamp}]}));break;case"dev_server_status":d(S=>({...S,devServerStatus:v.status,devServerUrl:v.url}));break;case"pong":break}}catch{console.error("Failed to parse WebSocket message")}},R.onclose=()=>{d(v=>({...v,isConnected:!1})),o.current=null;const C=Math.min(1e3*Math.pow(2,p.current),3e4);p.current++,h.current=window.setTimeout(()=>{b()},C)},R.onerror=()=>{R.close()}}catch{}},[c]),g=m.useCallback(()=>{o.current?.readyState===WebSocket.OPEN&&o.current.send(JSON.stringify({type:"ping"}))},[]),A=m.useCallback(()=>{d(z=>{const[H,...B]=z.celebrationQueue;return{...z,celebration:H||null,celebrationQueue:B}})},[]);m.useEffect(()=>{if(d({progress:{passing:0,in_progress: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}),!c){o.current&&(o.current.close(),o.current=null);return}b();const z=setInterval(g,3e4);return()=>{clearInterval(z),h.current&&clearTimeout(h.current),o.current&&(o.current.close(),o.current=null)}},[c,b,g]),m.useEffect(()=>{const H=setInterval(()=>{d(B=>{const R=Date.now(),C=B.activeAgents.filter(v=>R-new Date(v.timestamp).getTime()<18e5);return C.length!==B.activeAgents.length?{...B,activeAgents:C}:B})},6e4);return()=>clearInterval(H)},[]);const w=m.useCallback(()=>{d(z=>({...z,logs:[]}))},[]),E=m.useCallback(()=>{d(z=>({...z,devLogs:[]}))},[]),_=m.useCallback(z=>r.agentLogs.get(z)||[],[r.agentLogs]),L=m.useCallback(z=>{d(H=>{const B=new Map(H.agentLogs);return B.delete(z),{...H,agentLogs:B}})},[]);return{...r,clearLogs:w,clearDevLogs:E,clearCelebration:A,getAgentLogs:_,clearAgentLogs:L}}const a0={started:[523.25,659.25],completed:[523.25,659.25,783.99]};function Dm(c){try{const r=new(window.AudioContext||window.webkitAudioContext),d=a0[c],o=c==="completed"?.15:.12,h=d.length*o;d.forEach((p,b)=>{const g=r.createOscillator(),A=r.createGain();g.connect(A),A.connect(r.destination),g.type="sine",g.frequency.setValueAtTime(p,r.currentTime);const w=r.currentTime+b*o;A.gain.setValueAtTime(0,w),A.gain.linearRampToValueAtTime(.3,w+.02),A.gain.exponentialRampToValueAtTime(.01,w+o),g.start(w),g.stop(w+o)}),setTimeout(()=>{r.close()},h*1e3+100)}catch{}}function l0(c){return{pendingIds:new Set(c?.pending.map(r=>r.id)??[]),inProgressIds:new Set(c?.in_progress.map(r=>r.id)??[]),doneIds:new Set(c?.done.map(r=>r.id)??[])}}function n0(c){const r=m.useRef(null),d=m.useRef(!1);m.useEffect(()=>{if(!c)return;const o=l0(c);if(!d.current){r.current=o,d.current=!0;return}const h=r.current;if(!h){r.current=o;return}for(const p of o.inProgressIds)if(h.pendingIds.has(p)&&!h.inProgressIds.has(p)){Dm("started");break}for(const p of o.doneIds)if(!h.doneIds.has(p)&&(h.inProgressIds.has(p)||h.pendingIds.has(p))){Dm("completed");break}r.current=o},[c])}function s0(){try{const c=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:b,start:g})=>{const A=c.createOscillator(),w=c.createGain();A.connect(w),w.connect(c.destination),A.type="sine",A.frequency.setValueAtTime(b,c.currentTime+g);const E=c.currentTime+g;w.gain.setValueAtTime(0,E),w.gain.linearRampToValueAtTime(.4,E+.03),w.gain.setValueAtTime(.4,E+d*.6),w.gain.exponentialRampToValueAtTime(.01,E+d),A.start(E),A.stop(E+d)});const o=[523.25,659.25,783.99,1046.5],h=.65,p=.5;o.forEach(b=>{const g=c.createOscillator(),A=c.createGain();g.connect(A),A.connect(c.destination),g.type="sine",g.frequency.setValueAtTime(b,c.currentTime+h);const w=c.currentTime+h;A.gain.setValueAtTime(0,w),A.gain.linearRampToValueAtTime(.2,w+.05),A.gain.setValueAtTime(.2,w+p*.5),A.gain.exponentialRampToValueAtTime(.01,w+p),g.start(w),g.stop(w+p)}),setTimeout(()=>{c.close()},1500)}catch{}}function i0(){const r=Date.now()+2e3;Ti({particleCount:100,spread:70,origin:{x:0,y:.6},angle:60,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]}),Ti({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}Ti({particleCount:30,spread:60,origin:{x:0,y:.6},angle:60,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]}),Ti({particleCount:30,spread:60,origin:{x:1,y:.6},angle:120,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]})},250)}function c0(c){return c?c.pending.length===0&&c.in_progress.length===0&&c.done.length>0:!1}function r0(c,r){const d=m.useRef(new Set),o=m.useRef(null);m.useEffect(()=>{if(!c||!r)return;const h=c0(c);if(o.current!==r){o.current=r,h&&d.current.add(r);return}h&&!d.current.has(r)&&(d.current.add(r),i0(),s0())},[c,r])}const ki=[{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"}}],Mm="autoforge-theme",_m="autoforge-dark-mode";function u0(c){switch(c){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 dh(){const[c,r]=m.useState(()=>{try{const g=localStorage.getItem(Mm);if(g==="twitter"||g==="claude"||g==="neo-brutalism"||g==="retro-arcade"||g==="aurora"||g==="business")return g}catch{}return"twitter"}),[d,o]=m.useState(()=>{try{return localStorage.getItem(_m)==="true"}catch{return!1}});m.useEffect(()=>{const g=document.documentElement;g.classList.remove("theme-claude","theme-neo-brutalism","theme-retro-arcade","theme-aurora","theme-business");const A=u0(c);A&&g.classList.add(A),d?g.classList.add("dark"):g.classList.remove("dark");try{localStorage.setItem(Mm,c),localStorage.setItem(_m,String(d))}catch{}},[c,d]);const h=m.useCallback(g=>{r(g)},[]),p=m.useCallback(g=>{o(g)},[]),b=m.useCallback(()=>{o(g=>!g)},[]);return{theme:c,setTheme:h,darkMode:d,setDarkMode:p,toggleDarkMode:b,themes:ki,currentTheme:ki.find(g=>g.id===c)??ki[0]}}function bl(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function o0({projectName:c,onError:r}){const[d,o]=m.useState([]),[h,p]=m.useState(!1),[b,g]=m.useState(!1),[A,w]=m.useState("disconnected"),[E,_]=m.useState(null),[L,z]=m.useState(null),H=m.useRef(null),B=m.useRef(null),R=m.useRef(0),C=3,v=m.useRef(null),S=m.useRef(null),Z=m.useRef(!1);m.useEffect(()=>{Z.current=b},[b]),m.useEffect(()=>()=>{v.current&&clearInterval(v.current),S.current&&clearTimeout(S.current),H.current&&H.current.close()},[]),m.useEffect(()=>{if(b)return;const ne=setTimeout(()=>{const K=setInterval(async()=>{if(Z.current){clearInterval(K);return}try{const O=await xy(c);O.exists&&O.status==="complete"&&(g(!0),p(!1),o(q=>{const W=q[q.length-1];return W?.role==="assistant"&&W.isStreaming?[...q.slice(0,-1),{...W,isStreaming:!1}]:q}),o(q=>[...q,{id:bl(),role:"system",content:`Spec creation complete! Files written: ${O.files_written.join(", ")}${O.feature_count?` (${O.feature_count} features)`:""}`,timestamp:new Date}]),clearInterval(K))}catch{}},3e3);return()=>clearInterval(K)},3e3);return()=>clearTimeout(ne)},[c,b]);const F=m.useCallback(()=>{if(H.current?.readyState===WebSocket.OPEN)return;w("connecting");const ne=window.location.protocol==="https:"?"wss:":"ws:",K=window.location.host,O=`${ne}//${K}/api/spec/ws/${encodeURIComponent(c)}`,q=new WebSocket(O);H.current=q,q.onopen=()=>{w("connected"),R.current=0,v.current=window.setInterval(()=>{q.readyState===WebSocket.OPEN&&q.send(JSON.stringify({type:"ping"}))},3e4)},q.onclose=()=>{if(w("disconnected"),v.current&&(clearInterval(v.current),v.current=null),R.current<C&&!Z.current){R.current++;const W=Math.min(1e3*Math.pow(2,R.current),1e4);S.current=window.setTimeout(F,W)}},q.onerror=()=>{w("error"),r?.("WebSocket connection error")},q.onmessage=W=>{try{const se=JSON.parse(W.data);switch(se.type){case"text":{o(y=>{const D=y[y.length-1];return D?.role==="assistant"&&D.isStreaming?[...y.slice(0,-1),{...D,content:D.content+se.content}]:(B.current=bl(),[...y,{id:B.current,role:"assistant",content:se.content,timestamp:new Date,isStreaming:!0}])});break}case"question":{_(se.questions),z(se.tool_id||null),p(!1),o(y=>{const D=y[y.length-1];return D?.role==="assistant"&&D.isStreaming?[...y.slice(0,-1),{...D,isStreaming:!1,questions:se.questions}]:y});break}case"spec_complete":{g(!0),p(!1),o(y=>{const D=y[y.length-1];return D?.role==="assistant"&&D.isStreaming?[...y.slice(0,-1),{...D,isStreaming:!1}]:y}),o(y=>[...y,{id:bl(),role:"system",content:`Specification file created: ${se.path}`,timestamp:new Date}]);break}case"file_written":{o(y=>[...y,{id:bl(),role:"system",content:`File created: ${se.path}`,timestamp:new Date}]);break}case"complete":{g(!0),p(!1),o(y=>{const D=y[y.length-1];return D?.role==="assistant"&&D.isStreaming?[...y.slice(0,-1),{...D,isStreaming:!1}]:y});break}case"error":{p(!1),r?.(se.content),o(y=>[...y,{id:bl(),role:"system",content:`Error: ${se.content}`,timestamp:new Date}]);break}case"pong":break;case"response_done":{p(!1),o(y=>{const D=y[y.length-1];return D?.role==="assistant"&&D.isStreaming?[...y.slice(0,-1),{...D,isStreaming:!1}]:y});break}}}catch(se){console.error("Failed to parse WebSocket message:",se)}}},[c,r]),$=m.useCallback(()=>{F();const ne=()=>{H.current?.readyState===WebSocket.OPEN?(p(!0),H.current.send(JSON.stringify({type:"start"}))):H.current?.readyState===WebSocket.CONNECTING&&setTimeout(ne,100)};setTimeout(ne,100)},[F]),X=m.useCallback((ne,K)=>{if(!H.current||H.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}o(q=>[...q,{id:bl(),role:"user",content:ne,attachments:K,timestamp:new Date}]),_(null),z(null),p(!0);const O={type:"message",content:ne};K&&K.length>0&&(O.attachments=K.map(q=>({filename:q.filename,mimeType:q.mimeType,base64Data:q.base64Data}))),H.current.send(JSON.stringify(O))},[r]),ee=m.useCallback(ne=>{if(!H.current||H.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}const K=Object.values(ne).map(O=>Array.isArray(O)?O.join(", "):O).join("; ");o(O=>[...O,{id:bl(),role:"user",content:K,timestamp:new Date}]),_(null),z(null),p(!0),H.current.send(JSON.stringify({type:"answer",answers:ne,tool_id:L}))},[L,r]),Y=m.useCallback(()=>{R.current=C,v.current&&(clearInterval(v.current),v.current=null),H.current&&(H.current.close(),H.current=null),w("disconnected")},[]);return{messages:d,isLoading:h,isComplete:b,connectionStatus:A,currentQuestions:E,currentToolId:L,start:$,sendMessage:X,sendAnswer:ee,disconnect:Y}}function Oe(...c){return Vg(Xg(c))}function _e({className:c,...r}){return l.jsx("div",{"data-slot":"card",className:Oe("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",c),...r})}function qi({className:c,...r}){return l.jsx("div",{"data-slot":"card-header",className:Oe("@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",c),...r})}function gu({className:c,...r}){return l.jsx("div",{"data-slot":"card-title",className:Oe("leading-none font-semibold",c),...r})}function d0({className:c,...r}){return l.jsx("div",{"data-slot":"card-description",className:Oe("text-muted-foreground text-sm",c),...r})}function Ge({className:c,...r}){return l.jsx("div",{"data-slot":"card-content",className:Oe("px-6",c),...r})}const km=/\*\*(.*?)\*\*/g,pu=m.memo(function({message:r}){const{role:d,content:o,attachments:h,timestamp:p,isStreaming:b}=r,g=p.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),w={user:{icon:Kg,bgColor:"bg-primary",textColor:"text-primary-foreground",align:"justify-end",bubbleAlign:"items-end",iconBg:"bg-primary",iconColor:"text-primary-foreground"},assistant:{icon:uu,bgColor:"bg-muted",textColor:"text-foreground",align:"justify-start",bubbleAlign:"items-start",iconBg:"bg-secondary",iconColor:"text-secondary-foreground"},system:{icon:Zg,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],E=w.icon;return d==="system"?l.jsx("div",{className:`flex ${w.align} px-4 py-2`,children:l.jsx("div",{className:`${w.bgColor} border border-border rounded-lg px-4 py-2 text-sm font-mono ${w.textColor}`,children:l.jsxs("span",{className:"flex items-center gap-2",children:[l.jsx(E,{size:14}),o]})})}):l.jsx("div",{className:`flex ${w.align} px-4 py-2`,children:l.jsxs("div",{className:`flex flex-col ${w.bubbleAlign} max-w-[80%] gap-1`,children:[l.jsxs("div",{className:"flex items-start gap-2",children:[d==="assistant"&&l.jsx("div",{className:`${w.iconBg} p-1.5 rounded flex-shrink-0`,children:l.jsx(E,{size:16,className:w.iconColor})}),l.jsxs(_e,{className:`${w.bgColor} px-4 py-3 border ${b?"animate-pulse":""}`,children:[o&&l.jsx("div",{className:`whitespace-pre-wrap text-sm leading-relaxed ${w.textColor}`,children:o.split(`
|
|
10
|
-
`).map((_,L)=>{km.lastIndex=0;const z=[];let H=0,B;for(;(B=km.exec(_))!==null;)B.index>H&&z.push(_.slice(H,B.index)),z.push(l.jsx("strong",{className:"font-bold",children:B[1]},`bold-${L}-${B.index}`)),H=B.index+B[0].length;return H<_.length&&z.push(_.slice(H)),l.jsxs("span",{children:[z.length>0?z:_,L<o.split(`
|
|
11
|
-
`).length-1&&`
|
|
12
|
-
`]},L)})}),h&&h.length>0&&l.jsx("div",{className:`flex flex-wrap gap-2 ${o?"mt-3":""}`,children:h.map(_=>l.jsxs("div",{className:"border border-border rounded p-1 bg-card",children:[l.jsx("img",{src:_.previewUrl,alt:_.filename,className:"max-w-48 max-h-48 object-contain cursor-pointer hover:opacity-90 transition-opacity rounded",onClick:()=>window.open(_.previewUrl,"_blank"),title:`${_.filename} (click to enlarge)`}),l.jsx("span",{className:"text-xs text-muted-foreground block mt-1 text-center",children:_.filename})]},_.id))}),b&&l.jsx("span",{className:"inline-block w-2 h-4 bg-primary ml-1 animate-pulse rounded"})]}),d==="user"&&l.jsx("div",{className:`${w.iconBg} p-1.5 rounded flex-shrink-0`,children:l.jsx(E,{size:16,className:w.iconColor})})]}),l.jsx("span",{className:"text-xs text-muted-foreground font-mono px-2",children:g})]})})}),f0=ou("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 J({className:c,variant:r="default",size:d="default",asChild:o=!1,...h}){const p=o?ch:"button";return l.jsx(p,{"data-slot":"button","data-variant":r,"data-size":d,className:Oe(f0({variant:r,size:d,className:c})),...h})}function dt({className:c,type:r,...d}){return l.jsx("input",{type:r,"data-slot":"input",className:Oe("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",c),...d})}const m0=ou("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 ke({className:c,variant:r="default",asChild:d=!1,...o}){const h=d?ch:"span";return l.jsx(h,{"data-slot":"badge","data-variant":r,className:Oe(m0({variant:r}),c),...o})}function h0({questions:c,onSubmit:r,disabled:d=!1}){const[o,h]=m.useState({}),[p,b]=m.useState({}),[g,A]=m.useState({}),w=(B,R,C)=>{const v=String(B);if(R==="Other"){A(S=>({...S,[v]:!0}));return}A(S=>({...S,[v]:!1})),h(S=>{if(C){const Z=S[v]||[];return Z.includes(R)?{...S,[v]:Z.filter(F=>F!==R)}:{...S,[v]:[...Z,R]}}else return{...S,[v]:R}})},E=(B,R)=>{const C=String(B);b(v=>({...v,[C]:R})),h(v=>({...v,[C]:R}))},_=()=>{const B={};c.forEach((R,C)=>{const v=String(C);g[v]&&p[v]?B[v]=p[v]:o[v]&&(B[v]=o[v])}),r(B)},L=(B,R,C)=>{const v=String(B),S=o[v];return C?Array.isArray(S)&&S.includes(R):S===R},z=B=>{const R=String(B);return!!(o[R]||g[R]&&p[R])},H=c.every((B,R)=>z(R));return l.jsxs("div",{className:"space-y-6 p-4",children:[c.map((B,R)=>l.jsx(_e,{children:l.jsxs(Ge,{className:"p-4",children:[l.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[l.jsx(ke,{children:B.header}),l.jsx("span",{className:"font-bold text-foreground",children:B.question}),B.multiSelect&&l.jsx("span",{className:"text-xs text-muted-foreground font-mono",children:"(select multiple)"})]}),l.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[B.options.map((C,v)=>{const S=L(R,C.label,B.multiSelect);return l.jsx("button",{onClick:()=>w(R,C.label,B.multiSelect),disabled:d,className:`
|
|
13
|
-
text-left p-4 rounded-lg border-2 transition-all duration-150
|
|
14
|
-
${S?"bg-primary/10 border-primary":"bg-card border-border hover:border-primary/50 hover:bg-muted"}
|
|
15
|
-
disabled:opacity-50 disabled:cursor-not-allowed
|
|
16
|
-
`,children:l.jsxs("div",{className:"flex items-start gap-2",children:[l.jsx("div",{className:`
|
|
17
|
-
w-5 h-5 flex-shrink-0 mt-0.5 border-2 flex items-center justify-center
|
|
18
|
-
${B.multiSelect?"rounded":"rounded-full"}
|
|
19
|
-
${S?"bg-primary border-primary text-primary-foreground":"border-border bg-background"}
|
|
20
|
-
`,children:S&&l.jsx(ea,{size:12,strokeWidth:3})}),l.jsxs("div",{className:"flex-1",children:[l.jsx("div",{className:"font-bold text-foreground",children:C.label}),l.jsx("div",{className:"text-sm text-muted-foreground mt-1",children:C.description})]})]})},v)}),l.jsx("button",{onClick:()=>w(R,"Other",B.multiSelect),disabled:d,className:`
|
|
21
|
-
text-left p-4 rounded-lg border-2 transition-all duration-150
|
|
22
|
-
${g[String(R)]?"bg-primary/10 border-primary":"bg-card border-border hover:border-primary/50 hover:bg-muted"}
|
|
23
|
-
disabled:opacity-50 disabled:cursor-not-allowed
|
|
24
|
-
`,children:l.jsxs("div",{className:"flex items-start gap-2",children:[l.jsx("div",{className:`
|
|
25
|
-
w-5 h-5 flex-shrink-0 mt-0.5 border-2 flex items-center justify-center
|
|
26
|
-
${B.multiSelect?"rounded":"rounded-full"}
|
|
27
|
-
${g[String(R)]?"bg-primary border-primary text-primary-foreground":"border-border bg-background"}
|
|
28
|
-
`,children:g[String(R)]&&l.jsx(ea,{size:12,strokeWidth:3})}),l.jsxs("div",{className:"flex-1",children:[l.jsx("div",{className:"font-bold text-foreground",children:"Other"}),l.jsx("div",{className:"text-sm text-muted-foreground mt-1",children:"Provide a custom answer"})]})]})})]}),g[String(R)]&&l.jsx("div",{className:"mt-4",children:l.jsx(dt,{type:"text",value:p[String(R)]||"",onChange:C=>E(R,C.target.value),placeholder:"Type your answer...",autoFocus:!0,disabled:d})})]})},R)),l.jsx("div",{className:"flex justify-end",children:l.jsx(J,{onClick:_,disabled:d||!H,children:"Continue"})})]})}function fh(){return l.jsxs("div",{className:"flex items-center gap-2 p-4",children:[l.jsxs("div",{className:"flex items-center gap-1",children:[l.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"0ms"}}),l.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"150ms"}}),l.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"300ms"}})]}),l.jsx("span",{className:"text-sm font-mono text-muted-foreground",children:"Claude is thinking..."})]})}function us(c,r=!0){return!(c.key!=="Enter"||r&&c.shiftKey||c.nativeEvent.isComposing)}function Li({className:c,...r}){return l.jsx("textarea",{"data-slot":"textarea",className:Oe("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",c),...r})}const x0=ou("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 jt({className:c,variant:r,...d}){return l.jsx("div",{"data-slot":"alert",role:"alert",className:Oe(x0({variant:r}),c),...d})}function g0({className:c,...r}){return l.jsx("div",{"data-slot":"alert-title",className:Oe("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",c),...r})}function St({className:c,...r}){return l.jsx("div",{"data-slot":"alert-description",className:Oe("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",c),...r})}const p0=5*1024*1024,y0=["image/jpeg","image/png"],v0=`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:
|
|
29
|
-
|
|
30
|
-
- To Do
|
|
31
|
-
- In Progress
|
|
32
|
-
- Done
|
|
33
|
-
|
|
34
|
-
The app should use a neobrutalism design.
|
|
35
|
-
|
|
36
|
-
There is no need for user authentication either. All the to-dos will be stored in local storage, so each user has access to all of their to-dos when they open their browser. So do not worry about implementing a backend with user authentication or a database. Simply store everything in local storage. As for the design, please try to avoid AI slop, so use your front-end design skills to design something beautiful and practical. As for the content of the to-dos, we should store:
|
|
37
|
-
|
|
38
|
-
- The name or the title at the very least
|
|
39
|
-
- Optionally, we can also set tags, due dates, and priorities which should be represented as beautiful little badges on the to-do card
|
|
40
|
-
|
|
41
|
-
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.
|
|
42
|
-
|
|
43
|
-
You choose the rest. Keep it simple. Should be 25 features.`;function mh({projectName:c,onComplete:r,onCancel:d,onExitToProject:o,initializerStatus:h="idle",initializerError:p=null,onRetryInitializer:b}){const[g,A]=m.useState(""),[w,E]=m.useState(null),[_,L]=m.useState(!1),[z,H]=m.useState([]),B=m.useRef(null),R=m.useRef(null),C=m.useRef(null),{messages:v,isLoading:S,isComplete:Z,connectionStatus:F,currentQuestions:$,start:X,sendMessage:ee,sendAnswer:Y,disconnect:ne}=o0({projectName:c,onComplete:r,onError:P=>E(P)});m.useEffect(()=>(X(),()=>{ne()}),[]),m.useEffect(()=>{B.current?.scrollIntoView({behavior:"smooth"})},[v,$,S]),m.useEffect(()=>{!S&&!$&&R.current&&R.current.focus()},[S,$]);const K=()=>{const P=g.trim();if(!(!P&&z.length===0||S)){if(/^\s*\/exit\s*$/i.test(P)){A(""),o();return}ee(P,z.length>0?z:void 0),A(""),H([]),R.current&&(R.current.style.height="auto")}},O=P=>{us(P)&&(P.preventDefault(),K())},q=P=>{Y(P)},W=m.useCallback(P=>{P&&Array.from(P).forEach(de=>{if(!y0.includes(de.type)){E(`Invalid file type: ${de.name}. Only JPEG and PNG are supported.`);return}if(de.size>p0){E(`File too large: ${de.name}. Maximum size is 5 MB.`);return}const ue=new FileReader;ue.onload=Ce=>{const le=Ce.target?.result,Re=le.split(",")[1],ut={id:`${Date.now()}-${Math.random().toString(36).substring(2,9)}`,filename:de.name,mimeType:de.type,base64Data:Re,previewUrl:le,size:de.size};H(ft=>[...ft,ut])},ue.readAsDataURL(de)})},[]),se=m.useCallback(P=>{H(de=>de.filter(ue=>ue.id!==P))},[]),y=m.useCallback(P=>{P.preventDefault(),W(P.dataTransfer.files)},[W]),D=m.useCallback(P=>{P.preventDefault()},[]),I=()=>{switch(F){case"connected":return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-green-500",children:[l.jsx(fn,{size:12}),"Connected"]});case"connecting":return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-yellow-500",children:[l.jsx(fn,{size:12,className:"animate-pulse"}),"Connecting..."]});case"error":return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-destructive",children:[l.jsx(dn,{size:12}),"Error"]});default:return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[l.jsx(dn,{size:12}),"Disconnected"]})}};return l.jsxs("div",{className:"flex flex-col h-screen bg-background",children:[l.jsxs("div",{className:"flex items-center justify-between p-4 border-b-2 border-border bg-card",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("h2",{className:"font-display font-bold text-lg text-foreground",children:["Create Spec: ",c]}),l.jsx(I,{})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[Z&&l.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[l.jsx(ta,{size:16}),"Complete"]}),l.jsxs(J,{onClick:()=>{A(v0),R.current&&(R.current.style.height="auto",R.current.style.height=`${Math.min(R.current.scrollHeight,200)}px`)},variant:"ghost",size:"sm",title:"Load sample prompt (Simple Todo app)",children:[l.jsx(Fg,{size:16}),"Load Sample"]}),l.jsxs(J,{onClick:o,variant:"ghost",size:"sm",title:"Exit chat and go to project (you can start the agent manually)",children:[l.jsx(du,{size:16}),"Exit to Project"]}),l.jsx(J,{onClick:d,variant:"ghost",size:"icon",title:"Cancel",children:l.jsx(tt,{size:20})})]})]}),w&&l.jsxs(jt,{variant:"destructive",className:"rounded-none border-x-0 border-t-0",children:[l.jsx(wa,{size:16}),l.jsx(St,{className:"flex-1",children:w}),l.jsx(J,{onClick:()=>E(null),variant:"ghost",size:"icon",className:"h-6 w-6",children:l.jsx(tt,{size:14})})]}),l.jsxs("div",{className:"flex-1 overflow-y-auto py-4 min-h-0",children:[v.length===0&&!S&&l.jsx("div",{className:"flex flex-col items-center justify-center h-full text-center p-8",children:l.jsx(_e,{className:"p-6 max-w-md",children:l.jsxs(Ge,{className:"p-0",children:[l.jsx("h3",{className:"font-display font-bold text-lg mb-2",children:"Starting Spec Creation"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Connecting to Claude to help you create your app specification..."}),F==="error"&&l.jsxs(J,{onClick:X,className:"mt-4",size:"sm",children:[l.jsx(on,{size:14}),"Retry Connection"]})]})})}),v.map(P=>l.jsx(pu,{message:P},P.id)),$&&$.length>0&&l.jsx(h0,{questions:$,onSubmit:q,disabled:S}),S&&!$&&l.jsx(fh,{}),l.jsx("div",{ref:B})]}),!Z&&l.jsxs("div",{className:"p-4 border-t-2 border-border bg-card",onDrop:y,onDragOver:D,children:[z.length>0&&l.jsx("div",{className:"flex flex-wrap gap-2 mb-3",children:z.map(P=>l.jsxs("div",{className:"relative group border-2 border-border p-1 bg-card rounded shadow-sm",children:[l.jsx("img",{src:P.previewUrl,alt:P.filename,className:"w-16 h-16 object-cover rounded"}),l.jsx("button",{onClick:()=>se(P.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:l.jsx(tt,{size:12})}),l.jsx("span",{className:"text-xs truncate block max-w-16 mt-1 text-center text-muted-foreground",children:P.filename.length>10?`${P.filename.substring(0,7)}...`:P.filename})]},P.id))}),l.jsxs("div",{className:"flex gap-3",children:[l.jsx("input",{ref:C,type:"file",accept:"image/jpeg,image/png",multiple:!0,onChange:P=>W(P.target.files),className:"hidden"}),l.jsx(J,{onClick:()=>C.current?.click(),disabled:F!=="connected",variant:"ghost",size:"icon",title:"Attach image (JPEG, PNG - max 5MB)",children:l.jsx(Oi,{size:18})}),l.jsx(Li,{ref:R,value:g,onChange:P=>{A(P.target.value),P.target.style.height="auto",P.target.style.height=`${Math.min(P.target.scrollHeight,200)}px`},onKeyDown:O,placeholder:$?"Or type a custom response...":z.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:S&&!$||F!=="connected",rows:1}),l.jsx(J,{onClick:K,disabled:!g.trim()&&z.length===0||S&&!$||F!=="connected",className:"px-6",children:l.jsx(fu,{size:18})})]}),l.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:["Press Enter to send, Shift+Enter for new line. Drag & drop or click ",l.jsx(Oi,{size:12,className:"inline"})," to attach images (JPEG/PNG, max 5MB)."]})]}),Z&&l.jsx("div",{className:`p-4 border-t-2 border-border ${h==="error"?"bg-destructive":"bg-green-500"}`,children:l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsx("div",{className:"flex items-center gap-2",children:h==="starting"?l.jsxs(l.Fragment,{children:[l.jsx(Me,{size:20,className:"animate-spin text-white"}),l.jsxs("span",{className:"font-bold text-white",children:["Starting agent",_?" (YOLO mode)":"","..."]})]}):h==="error"?l.jsxs(l.Fragment,{children:[l.jsx(wa,{size:20,className:"text-white"}),l.jsx("span",{className:"font-bold text-white",children:p||"Failed to start agent"})]}):l.jsxs(l.Fragment,{children:[l.jsx(ta,{size:20,className:"text-white"}),l.jsx("span",{className:"font-bold text-white",children:"Specification created successfully!"})]})}),l.jsxs("div",{className:"flex items-center gap-2",children:[h==="error"&&b&&l.jsxs(J,{onClick:b,variant:"secondary",children:[l.jsx(on,{size:14}),"Retry"]}),h==="idle"&&l.jsxs(l.Fragment,{children:[l.jsxs(J,{onClick:()=>L(!_),variant:_?"default":"secondary",size:"sm",className:_?"bg-yellow-500 hover:bg-yellow-600 text-yellow-900":"",title:"YOLO Mode: Skip testing for rapid prototyping",children:[l.jsx(Jg,{size:16}),l.jsx("span",{className:_?"font-bold":"",children:"YOLO"})]}),l.jsxs(J,{onClick:()=>r("",_),children:["Continue to Project",l.jsx(Im,{size:16})]})]})]})]})})]})}function b0({onSelect:c,onCancel:r,initialPath:d}){const[o,h]=m.useState(d),[p,b]=m.useState(null),[g,A]=m.useState(!1),[w,E]=m.useState(""),[_,L]=m.useState(null),{data:z,isLoading:H,error:B,refetch:R}=Rt({queryKey:["filesystem","list",o],queryFn:()=>yy(o)});m.useEffect(()=>{z?.current_path&&b(z.current_path)},[z?.current_path]);const C=Y=>{h(Y),b(Y),A(!1),E(""),L(null)},v=()=>{z?.parent_path&&C(z.parent_path)},S=Y=>{C(`${Y.letter}:/`)},Z=Y=>{Y.is_directory&&C(Y.path)},F=async()=>{if(!w.trim()){L("Folder name is required");return}if(!/^[a-zA-Z0-9_\-. ]+$/.test(w)){L("Invalid folder name");return}const Y=`${z?.current_path}/${w.trim()}`;try{await vy(Y),await R(),C(Y)}catch(ne){L(ne instanceof Error?ne.message:"Failed to create folder")}},$=()=>{p&&c(p)},X=Y=>{if(!Y)return[];const ne=[];if(/^[A-Za-z]:/.test(Y)){const q=Y.slice(0,2);ne.push({name:q,path:`${q}/`}),Y=Y.slice(3)}else Y.startsWith("/")&&(ne.push({name:"/",path:"/"}),Y=Y.slice(1));const K=Y.split("/").filter(Boolean);let O=ne.length>0?ne[0].path:"";for(const q of K)O=O.endsWith("/")?O+q:O+"/"+q,ne.push({name:q,path:O});return ne},ee=z?.current_path?X(z.current_path):[];return l.jsxs("div",{className:"flex flex-col h-full max-h-[70vh]",children:[l.jsxs("div",{className:"flex-shrink-0 p-4 border-b bg-card",children:[l.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[l.jsx(_i,{size:20,className:"text-primary"}),l.jsx("span",{className:"font-semibold",children:"Select Project Folder"})]}),l.jsxs("div",{className:"flex items-center gap-1 flex-wrap text-sm",children:[z?.parent_path&&l.jsx(J,{variant:"ghost",size:"icon-sm",onClick:v,title:"Go up",children:l.jsx(Pm,{size:16})}),ee.map((Y,ne)=>l.jsxs("div",{className:"flex items-center",children:[ne>0&&l.jsx(vm,{size:14,className:"text-muted-foreground mx-1"}),l.jsx(J,{variant:"ghost",size:"sm",onClick:()=>C(Y.path),className:ne===ee.length-1?"font-semibold":"",children:Y.name})]},Y.path))]})]}),z?.drives&&z.drives.length>0&&l.jsx("div",{className:"flex-shrink-0 p-3 border-b bg-muted/50",children:l.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[l.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"Drives:"}),z.drives.map(Y=>l.jsxs(J,{variant:o?.startsWith(Y.letter)?"default":"outline",size:"sm",onClick:()=>S(Y),children:[l.jsx($g,{size:14}),Y.letter,": ",Y.label&&`(${Y.label})`]},Y.letter))]})}),l.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto bg-card",children:l.jsxs("div",{className:"p-2",children:[H?l.jsx("div",{className:"flex items-center justify-center p-8",children:l.jsx(Me,{size:24,className:"animate-spin text-primary"})}):B?l.jsxs("div",{className:"p-4 text-center",children:[l.jsx(wa,{size:32,className:"mx-auto mb-2 text-destructive"}),l.jsx("p",{className:"text-destructive",children:B instanceof Error?B.message:"Failed to load directory"}),l.jsx(J,{variant:"outline",size:"sm",onClick:()=>R(),className:"mt-2",children:"Retry"})]}):l.jsxs("div",{className:"grid grid-cols-1 gap-1",children:[z?.entries.filter(Y=>Y.is_directory).map(Y=>l.jsxs("button",{onClick:()=>Z(Y),onDoubleClick:()=>C(Y.path),className:`
|
|
44
|
-
w-full text-left p-2 rounded-md
|
|
45
|
-
flex items-center gap-2
|
|
46
|
-
hover:bg-muted
|
|
47
|
-
border-2 border-transparent transition-colors
|
|
48
|
-
${p===Y.path?"bg-primary/10 border-primary":""}
|
|
49
|
-
`,children:[p===Y.path?l.jsx(Ri,{size:18,className:"text-primary flex-shrink-0"}):l.jsx(_i,{size:18,className:"text-muted-foreground flex-shrink-0"}),l.jsx("span",{className:"truncate flex-1",children:Y.name}),Y.has_children&&l.jsx(vm,{size:14,className:"ml-auto text-muted-foreground flex-shrink-0"})]},Y.path)),z?.entries.filter(Y=>Y.is_directory).length===0&&l.jsxs("div",{className:"p-4 text-center text-muted-foreground",children:[l.jsx(_i,{size:32,className:"mx-auto mb-2 opacity-50"}),l.jsx("p",{children:"No subfolders"}),l.jsx("p",{className:"text-sm",children:"You can create a new folder or select this directory."})]})]}),g&&l.jsx(_e,{className:"mt-2",children:l.jsxs(Ge,{className:"p-3",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(bm,{size:18,className:"text-primary"}),l.jsx(dt,{type:"text",value:w,onChange:Y=>E(Y.target.value),placeholder:"New folder name",className:"flex-1",autoFocus:!0,onKeyDown:Y=>{us(Y,!1)&&F(),Y.key==="Escape"&&(A(!1),E(""),L(null))}}),l.jsx(J,{onClick:F,size:"sm",children:"Create"}),l.jsx(J,{variant:"ghost",size:"sm",onClick:()=>{A(!1),E(""),L(null)},children:"Cancel"})]}),_&&l.jsx("p",{className:"text-sm text-destructive mt-1",children:_})]})})]})}),l.jsxs("div",{className:"flex-shrink-0 p-4 border-t bg-card",children:[l.jsx(_e,{className:"mb-3",children:l.jsxs(Ge,{className:"p-2",children:[l.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Selected path:"}),l.jsx("div",{className:"font-mono text-sm truncate",children:p||"No folder selected"}),p&&l.jsx("div",{className:"text-xs text-muted-foreground mt-2 italic",children:"This folder will contain all project files"})]})}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs(J,{variant:"outline",onClick:()=>A(!0),disabled:g,children:[l.jsx(bm,{size:16}),"New Folder"]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(J,{variant:"outline",onClick:r,children:"Cancel"}),l.jsx(J,{onClick:$,disabled:!p,children:"Select This Folder"})]})]})]})]})}function aa({...c}){return l.jsx(Dp,{"data-slot":"dialog",...c})}function j0({...c}){return l.jsx(Op,{"data-slot":"dialog-portal",...c})}function S0({className:c,...r}){return l.jsx(Rp,{"data-slot":"dialog-overlay",className:Oe("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",c),...r})}function la({className:c,children:r,showCloseButton:d=!0,...o}){return l.jsxs(j0,{"data-slot":"dialog-portal",children:[l.jsx(S0,{}),l.jsxs(Mp,{"data-slot":"dialog-content",className:Oe("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",c),...o,children:[r,d&&l.jsxs(rh,{"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:[l.jsx(tt,{}),l.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function na({className:c,...r}){return l.jsx("div",{"data-slot":"dialog-header",className:Oe("flex flex-col gap-2 text-center sm:text-left",c),...r})}function el({className:c,showCloseButton:r=!1,children:d,...o}){return l.jsxs("div",{"data-slot":"dialog-footer",className:Oe("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",c),...o,children:[d,r&&l.jsx(rh,{asChild:!0,children:l.jsx(J,{variant:"outline",children:"Close"})})]})}function sa({className:c,...r}){return l.jsx(_p,{"data-slot":"dialog-title",className:Oe("text-lg leading-none font-semibold",c),...r})}function Bi({className:c,...r}){return l.jsx(kp,{"data-slot":"dialog-description",className:Oe("text-muted-foreground text-sm",c),...r})}function Le({className:c,...r}){return l.jsx(Up,{"data-slot":"label",className:Oe("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",c),...r})}function N0({isOpen:c,onClose:r,onProjectCreated:d,onStepChange:o}){const[h,p]=m.useState("name"),[b,g]=m.useState(""),[A,w]=m.useState(null),[E,_]=m.useState(null),[L,z]=m.useState(null),[H,B]=m.useState("idle"),[R,C]=m.useState(null),[v,S]=m.useState(!1),Z=Hy(),F=y=>{p(y),o?.(y)};if(!c)return null;const $=y=>{y.preventDefault();const D=b.trim();if(!D){z("Please enter a project name");return}if(!/^[a-zA-Z0-9_-]+$/.test(D)){z("Project name can only contain letters, numbers, hyphens, and underscores");return}z(null),F("folder")},X=y=>{w(y),F("method")},ee=()=>{F("name")},Y=async y=>{if(_(y),!A){z("Please select a project folder first"),F("folder");return}if(y==="manual")try{const D=await Z.mutateAsync({name:b.trim(),path:A,specMethod:"manual"});F("complete"),setTimeout(()=>{d(D.name),W()},1500)}catch(D){z(D instanceof Error?D.message:"Failed to create project")}else try{await Z.mutateAsync({name:b.trim(),path:A,specMethod:"claude"}),F("chat")}catch(D){z(D instanceof Error?D.message:"Failed to create project")}},ne=async(y,D=!1)=>{S(D),B("starting");try{await hu(b.trim(),{yoloMode:D,maxConcurrency:3}),F("complete"),setTimeout(()=>{d(b.trim()),W()},1500)}catch(I){B("error"),C(I instanceof Error?I.message:"Failed to start agent")}},K=()=>{C(null),B("idle"),ne("",v)},O=()=>{F("method"),_(null)},q=()=>{d(b.trim()),W()},W=()=>{F("name"),g(""),w(null),_(null),z(null),B("idle"),C(null),S(!1),r()},se=()=>{h==="method"?(F("folder"),_(null)):h==="folder"&&(F("name"),w(null))};return h==="chat"?ih.createPortal(l.jsx("div",{className:"fixed inset-0 z-50 bg-background flex flex-col",children:l.jsx(mh,{projectName:b.trim(),onComplete:ne,onCancel:O,onExitToProject:q,initializerStatus:H,initializerError:R,onRetryInitializer:K})}),document.body):h==="folder"?l.jsx(aa,{open:!0,onOpenChange:y=>!y&&W(),children:l.jsxs(la,{className:"sm:max-w-3xl max-h-[85vh] flex flex-col p-0",children:[l.jsx(na,{className:"p-6 pb-4 border-b",children:l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx(_i,{size:24,className:"text-primary"}),l.jsxs("div",{children:[l.jsx(sa,{children:"Select Project Location"}),l.jsxs(Bi,{children:["Select the folder to use for project ",l.jsx("span",{className:"font-semibold font-mono",children:b}),". Create a new folder or choose an existing one."]})]})]})}),l.jsx("div",{className:"flex-1 overflow-hidden",children:l.jsx(b0,{onSelect:X,onCancel:ee})})]})}):l.jsx(aa,{open:!0,onOpenChange:y=>!y&&W(),children:l.jsxs(la,{className:"sm:max-w-lg",children:[l.jsx(na,{children:l.jsxs(sa,{children:[h==="name"&&"Create New Project",h==="method"&&"Choose Setup Method",h==="complete"&&"Project Created!"]})}),h==="name"&&l.jsxs("form",{onSubmit:$,className:"space-y-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx(Le,{htmlFor:"project-name",children:"Project Name"}),l.jsx(dt,{id:"project-name",type:"text",value:b,onChange:y=>g(y.target.value),placeholder:"my-awesome-app",pattern:"^[a-zA-Z0-9_-]+$",autoFocus:!0}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Use letters, numbers, hyphens, and underscores only."})]}),L&&l.jsx(jt,{variant:"destructive",children:l.jsx(St,{children:L})}),l.jsx(el,{children:l.jsxs(J,{type:"submit",disabled:!b.trim(),children:["Next",l.jsx(Im,{size:16})]})})]}),h==="method"&&l.jsxs("div",{className:"space-y-4",children:[l.jsx(Bi,{children:"How would you like to define your project?"}),l.jsxs("div",{className:"space-y-3",children:[l.jsx(_e,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>!Z.isPending&&Y("claude"),children:l.jsx(Ge,{className:"p-4",children:l.jsxs("div",{className:"flex items-start gap-4",children:[l.jsx("div",{className:"p-2 bg-primary/10 rounded-lg",children:l.jsx(uu,{size:24,className:"text-primary"})}),l.jsxs("div",{className:"flex-1",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"font-semibold",children:"Create with Claude"}),l.jsx(ke,{children:"Recommended"})]}),l.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Interactive conversation to define features and generate your app specification automatically."})]})]})})}),l.jsx(_e,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>!Z.isPending&&Y("manual"),children:l.jsx(Ge,{className:"p-4",children:l.jsxs("div",{className:"flex items-start gap-4",children:[l.jsx("div",{className:"p-2 bg-secondary rounded-lg",children:l.jsx(cu,{size:24,className:"text-secondary-foreground"})}),l.jsxs("div",{className:"flex-1",children:[l.jsx("span",{className:"font-semibold",children:"Edit Templates Manually"}),l.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Edit the template files directly. Best for developers who want full control."})]})]})})})]}),L&&l.jsx(jt,{variant:"destructive",children:l.jsx(St,{children:L})}),Z.isPending&&l.jsxs("div",{className:"flex items-center justify-center gap-2 text-muted-foreground",children:[l.jsx(Me,{size:16,className:"animate-spin"}),l.jsx("span",{children:"Creating project..."})]}),l.jsx(el,{className:"sm:justify-start",children:l.jsxs(J,{variant:"ghost",onClick:se,disabled:Z.isPending,children:[l.jsx(Pm,{size:16}),"Back"]})})]}),h==="complete"&&l.jsxs("div",{className:"text-center py-8",children:[l.jsx("div",{className:"inline-flex items-center justify-center w-16 h-16 bg-primary/10 rounded-full mb-4",children:l.jsx(ta,{size:32,className:"text-primary"})}),l.jsx("h3",{className:"font-semibold text-xl mb-2",children:b}),l.jsx("p",{className:"text-muted-foreground",children:"Your project has been created successfully!"}),l.jsxs("div",{className:"mt-4 flex items-center justify-center gap-2",children:[l.jsx(Me,{size:16,className:"animate-spin"}),l.jsx("span",{className:"text-sm text-muted-foreground",children:"Redirecting..."})]})]})]})})}function hh({isOpen:c,title:r,message:d,confirmLabel:o="Confirm",cancelLabel:h="Cancel",variant:p="danger",isLoading:b=!1,onConfirm:g,onCancel:A}){return l.jsx(aa,{open:c,onOpenChange:w=>!w&&A(),children:l.jsxs(la,{className:"sm:max-w-md",children:[l.jsx(na,{children:l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("div",{className:`p-2 rounded-lg ${p==="danger"?"bg-destructive/10 text-destructive":"bg-primary/10 text-primary"}`,children:l.jsx(Ea,{size:20})}),l.jsx(sa,{children:r})]})}),l.jsx(Bi,{asChild:!0,children:l.jsx("div",{className:"text-muted-foreground",children:d})}),l.jsxs(el,{className:"gap-2 sm:gap-0",children:[l.jsx(J,{variant:"outline",onClick:A,disabled:b,children:h}),l.jsx(J,{variant:p==="danger"?"destructive":"default",onClick:g,disabled:b,children:b?"Deleting...":o})]})]})})}function C0({...c}){return l.jsx(Bp,{"data-slot":"dropdown-menu",...c})}function z0({...c}){return l.jsx(Hp,{"data-slot":"dropdown-menu-trigger",...c})}function w0({className:c,sideOffset:r=4,...d}){return l.jsx(qp,{children:l.jsx(Lp,{"data-slot":"dropdown-menu-content",sideOffset:r,className:Oe("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",c),...d})})}function Om({className:c,inset:r,variant:d="default",...o}){return l.jsx(Gp,{"data-slot":"dropdown-menu-item","data-inset":r,"data-variant":d,className:Oe("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",c),...o})}function E0({className:c,...r}){return l.jsx(Qp,{"data-slot":"dropdown-menu-separator",className:Oe("bg-border -mx-1 my-1 h-px",c),...r})}function T0({projects:c,selectedProject:r,onSelectProject:d,isLoading:o,onSpecCreatingChange:h}){const[p,b]=m.useState(!1),[g,A]=m.useState(!1),[w,E]=m.useState(null),_=qy(),L=C=>{d(C),b(!1)},z=(C,v)=>{C.stopPropagation(),C.preventDefault(),E(v)},H=async()=>{if(w)try{await _.mutateAsync(w),r===w&&d(null),E(null)}catch(C){console.error("Failed to delete project:",C),E(null)}},B=()=>{E(null)},R=c.find(C=>C.name===r);return l.jsxs("div",{className:"relative",children:[l.jsxs(C0,{open:p,onOpenChange:b,children:[l.jsx(z0,{asChild:!0,children:l.jsxs(J,{variant:"outline",className:"min-w-[200px] justify-between",disabled:o,children:[o?l.jsx(Me,{size:18,className:"animate-spin"}):r?l.jsxs(l.Fragment,{children:[l.jsxs("span",{className:"flex items-center gap-2",children:[l.jsx(Ri,{size:18}),r]}),R&&R.stats.total>0&&l.jsxs(ke,{className:"ml-2",children:[R.stats.percentage,"%"]})]}):l.jsx("span",{className:"text-muted-foreground",children:"Select Project"}),l.jsx(rs,{size:18,className:`transition-transform ${p?"rotate-180":""}`})]})}),l.jsxs(w0,{align:"start",className:"w-[280px] p-0 flex flex-col",children:[c.length>0?l.jsx("div",{className:"max-h-[300px] overflow-y-auto p-1",children:c.map(C=>l.jsxs(Om,{className:`flex items-center justify-between cursor-pointer ${C.name===r?"bg-primary/10":""}`,onSelect:()=>{d(C.name)},children:[l.jsxs("span",{className:"flex items-center gap-2 flex-1",children:[l.jsx(Ri,{size:16}),C.name,C.stats.total>0&&l.jsxs("span",{className:"text-sm font-mono text-muted-foreground ml-auto",children:[C.stats.passing,"/",C.stats.total]})]}),l.jsx(J,{variant:"ghost",size:"icon-xs",onClick:v=>z(v,C.name),className:"text-muted-foreground hover:text-destructive",children:l.jsx(tl,{size:14})})]},C.name))}):l.jsx("div",{className:"p-4 text-center text-muted-foreground",children:"No projects yet"}),l.jsx(E0,{className:"my-0"}),l.jsx("div",{className:"p-1",children:l.jsxs(Om,{onSelect:()=>{A(!0)},className:"cursor-pointer font-semibold",children:[l.jsx(Pa,{size:16}),"New Project"]})})]})]}),l.jsx(N0,{isOpen:g,onClose:()=>A(!1),onProjectCreated:L,onStepChange:C=>h?.(C==="chat")}),l.jsx(hh,{isOpen:w!==null,title:"Delete Project",message:`Are you sure you want to remove "${w}" from the registry? This will unregister the project but preserve its files on disk.`,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",isLoading:_.isPending,onConfirm:H,onCancel:B})]})}function A0({feature:c,allFeatures:r=[],compact:d=!1}){const o=c.dependencies||[];if(o.length===0)return null;const h=c.blocked??(c.blocking_dependencies&&c.blocking_dependencies.length>0)??!1,p=c.blocking_dependencies?.length??0;let b=o.length-p;if(r.length>0&&!c.blocking_dependencies){const g=new Set(r.filter(A=>A.passes).map(A=>A.id));b=o.filter(A=>g.has(A)).length}return d?l.jsx(ke,{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 ${p} ${p===1?"dependency":"dependencies"}`:`${b}/${o.length} dependencies satisfied`,children:h?l.jsxs(l.Fragment,{children:[l.jsx(Ea,{size:12}),l.jsx("span",{children:p})]}):l.jsxs(l.Fragment,{children:[l.jsx(mn,{size:12}),l.jsxs("span",{children:[b,"/",o.length]})]})}):l.jsx("div",{className:"flex items-center gap-2",children:h?l.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-destructive",children:[l.jsx(Ea,{size:14}),l.jsxs("span",{className:"font-medium",children:["Blocked by ",p," ",p===1?"dependency":"dependencies"]})]}):l.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[l.jsx(ea,{size:14,className:"text-primary"}),l.jsxs("span",{children:["All ",o.length," ",o.length===1?"dependency":"dependencies"," satisfied"]})]})})}const D0={primary:"#6B7280",secondary:"#9CA3AF",accent:"#F3F4F6"},M0={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 _0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("rect",{x:"16",y:"20",width:"32",height:"28",rx:"4",fill:c.primary}),l.jsx("rect",{x:"12",y:"8",width:"40",height:"24",rx:"4",fill:c.secondary}),l.jsx("circle",{cx:"32",cy:"4",r:"4",fill:c.primary,className:"animate-pulse"}),l.jsx("rect",{x:"30",y:"4",width:"4",height:"8",fill:c.primary}),l.jsx("circle",{cx:"24",cy:"18",r:"4",fill:"white"}),l.jsx("circle",{cx:"40",cy:"18",r:"4",fill:"white"}),l.jsx("circle",{cx:"25",cy:"18",r:"2",fill:c.primary}),l.jsx("circle",{cx:"41",cy:"18",r:"2",fill:c.primary}),l.jsx("rect",{x:"26",y:"24",width:"12",height:"2",rx:"1",fill:"white"}),l.jsx("rect",{x:"6",y:"24",width:"8",height:"4",rx:"2",fill:c.primary}),l.jsx("rect",{x:"50",y:"24",width:"8",height:"4",rx:"2",fill:c.primary})]})}function k0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("polygon",{points:"12,12 20,28 4,28",fill:c.primary}),l.jsx("polygon",{points:"52,12 60,28 44,28",fill:c.primary}),l.jsx("polygon",{points:"14,14 18,26 8,26",fill:c.accent}),l.jsx("polygon",{points:"50,14 56,26 44,26",fill:c.accent}),l.jsx("ellipse",{cx:"32",cy:"36",rx:"24",ry:"22",fill:c.primary}),l.jsx("ellipse",{cx:"32",cy:"40",rx:"18",ry:"14",fill:c.accent}),l.jsx("ellipse",{cx:"24",cy:"32",rx:"4",ry:"5",fill:"white"}),l.jsx("ellipse",{cx:"40",cy:"32",rx:"4",ry:"5",fill:"white"}),l.jsx("circle",{cx:"25",cy:"33",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"41",cy:"33",r:"2",fill:"#1a1a1a"}),l.jsx("ellipse",{cx:"32",cy:"42",rx:"4",ry:"3",fill:c.primary}),l.jsx("line",{x1:"8",y1:"38",x2:"18",y2:"40",stroke:c.primary,strokeWidth:"2"}),l.jsx("line",{x1:"8",y1:"44",x2:"18",y2:"44",stroke:c.primary,strokeWidth:"2"}),l.jsx("line",{x1:"46",y1:"40",x2:"56",y2:"38",stroke:c.primary,strokeWidth:"2"}),l.jsx("line",{x1:"46",y1:"44",x2:"56",y2:"44",stroke:c.primary,strokeWidth:"2"})]})}function O0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("path",{d:"M12,48 Q8,56 12,60 Q16,64 20,58",fill:c.secondary}),l.jsx("path",{d:"M22,50 Q20,58 24,62",fill:c.secondary}),l.jsx("path",{d:"M32,52 Q32,60 36,62",fill:c.secondary}),l.jsx("path",{d:"M42,50 Q44,58 40,62",fill:c.secondary}),l.jsx("path",{d:"M52,48 Q56,56 52,60 Q48,64 44,58",fill:c.secondary}),l.jsx("ellipse",{cx:"32",cy:"32",rx:"22",ry:"24",fill:c.primary}),l.jsx("ellipse",{cx:"24",cy:"28",rx:"6",ry:"8",fill:"white"}),l.jsx("ellipse",{cx:"40",cy:"28",rx:"6",ry:"8",fill:"white"}),l.jsx("ellipse",{cx:"25",cy:"30",rx:"3",ry:"4",fill:c.primary}),l.jsx("ellipse",{cx:"41",cy:"30",rx:"3",ry:"4",fill:c.primary}),l.jsx("path",{d:"M24,42 Q32,48 40,42",stroke:c.accent,strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function R0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("polygon",{points:"14,8 22,24 6,20",fill:c.primary}),l.jsx("polygon",{points:"50,8 58,20 42,24",fill:c.primary}),l.jsx("ellipse",{cx:"32",cy:"40",rx:"20",ry:"18",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"28",r:"20",fill:c.secondary}),l.jsx("circle",{cx:"24",cy:"26",r:"10",fill:c.accent}),l.jsx("circle",{cx:"40",cy:"26",r:"10",fill:c.accent}),l.jsx("circle",{cx:"24",cy:"26",r:"6",fill:"white"}),l.jsx("circle",{cx:"40",cy:"26",r:"6",fill:"white"}),l.jsx("circle",{cx:"25",cy:"27",r:"3",fill:"#1a1a1a"}),l.jsx("circle",{cx:"41",cy:"27",r:"3",fill:"#1a1a1a"}),l.jsx("polygon",{points:"32,32 28,40 36,40",fill:"#F97316"}),l.jsx("ellipse",{cx:"32",cy:"46",rx:"10",ry:"8",fill:c.accent})]})}function U0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("ellipse",{cx:"14",cy:"32",rx:"10",ry:"14",fill:c.accent,opacity:"0.8",className:"animate-pulse"}),l.jsx("ellipse",{cx:"50",cy:"32",rx:"10",ry:"14",fill:c.accent,opacity:"0.8",className:"animate-pulse"}),l.jsx("ellipse",{cx:"32",cy:"36",rx:"14",ry:"20",fill:c.primary}),l.jsx("ellipse",{cx:"32",cy:"30",rx:"12",ry:"6",fill:"#1a1a1a"}),l.jsx("ellipse",{cx:"32",cy:"44",rx:"12",ry:"6",fill:"#1a1a1a"}),l.jsx("circle",{cx:"32",cy:"16",r:"12",fill:c.primary}),l.jsx("line",{x1:"26",y1:"8",x2:"22",y2:"2",stroke:"#1a1a1a",strokeWidth:"2"}),l.jsx("line",{x1:"38",y1:"8",x2:"42",y2:"2",stroke:"#1a1a1a",strokeWidth:"2"}),l.jsx("circle",{cx:"22",cy:"2",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"42",cy:"2",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"28",cy:"14",r:"4",fill:"white"}),l.jsx("circle",{cx:"36",cy:"14",r:"4",fill:"white"}),l.jsx("circle",{cx:"29",cy:"15",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"37",cy:"15",r:"2",fill:"#1a1a1a"}),l.jsx("path",{d:"M28,20 Q32,24 36,20",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function B0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("rect",{x:"20",y:"28",width:"24",height:"28",fill:c.primary}),l.jsx("rect",{x:"16",y:"32",width:"8",height:"20",fill:c.secondary}),l.jsx("rect",{x:"40",y:"32",width:"8",height:"20",fill:c.secondary}),l.jsx("rect",{x:"16",y:"8",width:"32",height:"24",fill:c.primary}),l.jsx("rect",{x:"20",y:"14",width:"8",height:"8",fill:"white"}),l.jsx("rect",{x:"36",y:"14",width:"8",height:"8",fill:"white"}),l.jsx("rect",{x:"24",y:"16",width:"4",height:"4",fill:"#1a1a1a"}),l.jsx("rect",{x:"38",y:"16",width:"4",height:"4",fill:"#1a1a1a"}),l.jsx("rect",{x:"26",y:"26",width:"12",height:"4",fill:c.accent})]})}function H0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("polygon",{points:"32,8 56,20 56,44 32,56 8,44 8,20",fill:c.primary}),l.jsx("polygon",{points:"32,8 56,20 32,32 8,20",fill:c.secondary}),l.jsx("polygon",{points:"32,32 56,20 56,44 32,56",fill:c.accent,opacity:"0.6"}),l.jsx("circle",{cx:"24",cy:"28",r:"4",fill:"white"}),l.jsx("circle",{cx:"40",cy:"28",r:"4",fill:"white"}),l.jsx("circle",{cx:"25",cy:"29",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"41",cy:"29",r:"2",fill:"#1a1a1a"}),l.jsx("path",{d:"M26,38 Q32,42 38,38",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function q0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("polygon",{points:"32,2 38,22 58,22 42,36 48,56 32,44 16,56 22,36 6,22 26,22",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"32",r:"14",fill:c.secondary}),l.jsx("circle",{cx:"27",cy:"30",r:"3",fill:"white"}),l.jsx("circle",{cx:"37",cy:"30",r:"3",fill:"white"}),l.jsx("circle",{cx:"28",cy:"31",r:"1.5",fill:"#1a1a1a"}),l.jsx("circle",{cx:"38",cy:"31",r:"1.5",fill:"#1a1a1a"}),l.jsx("path",{d:"M28,37 Q32,40 36,37",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function L0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("rect",{x:"16",y:"16",width:"32",height:"32",rx:"4",fill:c.primary}),l.jsx("rect",{x:"20",y:"10",width:"4",height:"8",fill:c.secondary}),l.jsx("rect",{x:"30",y:"10",width:"4",height:"8",fill:c.secondary}),l.jsx("rect",{x:"40",y:"10",width:"4",height:"8",fill:c.secondary}),l.jsx("rect",{x:"20",y:"46",width:"4",height:"8",fill:c.secondary}),l.jsx("rect",{x:"30",y:"46",width:"4",height:"8",fill:c.secondary}),l.jsx("rect",{x:"40",y:"46",width:"4",height:"8",fill:c.secondary}),l.jsx("circle",{cx:"26",cy:"28",r:"4",fill:c.accent}),l.jsx("circle",{cx:"38",cy:"28",r:"4",fill:c.accent}),l.jsx("circle",{cx:"26",cy:"28",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"38",cy:"28",r:"2",fill:"#1a1a1a"}),l.jsx("rect",{x:"26",y:"38",width:"12",height:"3",rx:"1",fill:c.accent})]})}function G0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("polygon",{points:"36,4 20,28 30,28 24,60 48,32 36,32 44,4",fill:c.primary}),l.jsx("polygon",{points:"34,8 24,26 32,26 28,52 42,34 34,34 40,8",fill:c.secondary}),l.jsx("circle",{cx:"30",cy:"30",r:"3",fill:"white"}),l.jsx("circle",{cx:"38",cy:"26",r:"3",fill:"white"}),l.jsx("circle",{cx:"31",cy:"31",r:"1.5",fill:"#1a1a1a"}),l.jsx("circle",{cx:"39",cy:"27",r:"1.5",fill:"#1a1a1a"})]})}function Q0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("rect",{x:"4",y:"28",width:"12",height:"3",rx:"1",fill:c.accent,opacity:"0.6"}),l.jsx("rect",{x:"8",y:"34",width:"10",height:"3",rx:"1",fill:c.accent,opacity:"0.4"}),l.jsx("ellipse",{cx:"36",cy:"32",rx:"20",ry:"16",fill:c.primary}),l.jsx("ellipse",{cx:"40",cy:"32",rx:"14",ry:"12",fill:c.secondary}),l.jsx("circle",{cx:"38",cy:"28",r:"4",fill:"white"}),l.jsx("circle",{cx:"48",cy:"28",r:"4",fill:"white"}),l.jsx("circle",{cx:"39",cy:"29",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"49",cy:"29",r:"2",fill:"#1a1a1a"}),l.jsx("path",{d:"M40,36 Q44,39 48,36",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function Y0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("path",{d:"M12,32 L20,28 L16,32 L22,30",stroke:c.secondary,strokeWidth:"2",className:"animate-pulse"}),l.jsx("path",{d:"M52,32 L44,28 L48,32 L42,30",stroke:c.secondary,strokeWidth:"2",className:"animate-pulse"}),l.jsx("circle",{cx:"32",cy:"32",r:"18",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"32",r:"14",fill:c.secondary}),l.jsx("circle",{cx:"26",cy:"30",r:"4",fill:"white"}),l.jsx("circle",{cx:"38",cy:"30",r:"4",fill:"white"}),l.jsx("circle",{cx:"27",cy:"31",r:"2",fill:c.primary}),l.jsx("circle",{cx:"39",cy:"31",r:"2",fill:c.primary}),l.jsx("path",{d:"M28,40 Q32,44 36,40",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function V0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("rect",{x:"28",y:"4",width:"8",height:"8",fill:c.primary}),l.jsx("rect",{x:"28",y:"52",width:"8",height:"8",fill:c.primary}),l.jsx("rect",{x:"4",y:"28",width:"8",height:"8",fill:c.primary}),l.jsx("rect",{x:"52",y:"28",width:"8",height:"8",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"32",r:"20",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"32",r:"14",fill:c.secondary}),l.jsx("circle",{cx:"26",cy:"30",r:"4",fill:"white"}),l.jsx("circle",{cx:"38",cy:"30",r:"4",fill:"white"}),l.jsx("circle",{cx:"27",cy:"31",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"39",cy:"31",r:"2",fill:"#1a1a1a"}),l.jsx("path",{d:"M28,40 Q32,43 36,40",stroke:"#1a1a1a",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function X0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("ellipse",{cx:"32",cy:"58",rx:"8",ry:"6",fill:"#FBBF24",className:"animate-pulse"}),l.jsx("ellipse",{cx:"32",cy:"56",rx:"5",ry:"4",fill:"#FCD34D"}),l.jsx("ellipse",{cx:"32",cy:"32",rx:"14",ry:"24",fill:c.primary}),l.jsx("ellipse",{cx:"32",cy:"12",rx:"8",ry:"10",fill:c.secondary}),l.jsx("polygon",{points:"18,44 10,56 18,52",fill:c.secondary}),l.jsx("polygon",{points:"46,44 54,56 46,52",fill:c.secondary}),l.jsx("circle",{cx:"32",cy:"28",r:"8",fill:c.accent}),l.jsx("circle",{cx:"29",cy:"27",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"35",cy:"27",r:"2",fill:"#1a1a1a"}),l.jsx("path",{d:"M29,32 Q32,34 35,32",stroke:"#1a1a1a",strokeWidth:"1",fill:"none"})]})}function Z0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("circle",{cx:"32",cy:"32",r:"28",stroke:c.accent,strokeWidth:"2",fill:"none",opacity:"0.3"}),l.jsx("circle",{cx:"32",cy:"32",r:"22",stroke:c.accent,strokeWidth:"2",fill:"none",opacity:"0.5"}),l.jsx("circle",{cx:"32",cy:"32",r:"14",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"32",r:"10",fill:c.secondary}),l.jsx("circle",{cx:"28",cy:"30",r:"3",fill:"white"}),l.jsx("circle",{cx:"36",cy:"30",r:"3",fill:"white"}),l.jsx("circle",{cx:"29",cy:"31",r:"1.5",fill:"#1a1a1a"}),l.jsx("circle",{cx:"37",cy:"31",r:"1.5",fill:"#1a1a1a"}),l.jsx("path",{d:"M29,37 Q32,40 35,37",stroke:"white",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function K0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("circle",{cx:"32",cy:"32",r:"26",fill:c.accent,opacity:"0.3"}),l.jsx("circle",{cx:"32",cy:"32",r:"22",fill:c.accent,opacity:"0.5"}),l.jsx("circle",{cx:"32",cy:"32",r:"18",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"32",r:"12",fill:c.secondary}),l.jsx("circle",{cx:"27",cy:"30",r:"4",fill:"white"}),l.jsx("circle",{cx:"37",cy:"30",r:"4",fill:"white"}),l.jsx("circle",{cx:"28",cy:"31",r:"2",fill:c.primary}),l.jsx("circle",{cx:"38",cy:"31",r:"2",fill:c.primary}),l.jsx("path",{d:"M28,38 Q32,42 36,38",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function F0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("rect",{x:"8",y:"12",width:"48",height:"40",rx:"4",fill:c.primary}),l.jsx("rect",{x:"8",y:"12",width:"48",height:"10",rx:"4",fill:c.secondary}),l.jsx("circle",{cx:"16",cy:"17",r:"2",fill:"#EF4444"}),l.jsx("circle",{cx:"24",cy:"17",r:"2",fill:"#FBBF24"}),l.jsx("circle",{cx:"32",cy:"17",r:"2",fill:"#22C55E"}),l.jsx("rect",{x:"12",y:"26",width:"40",height:"22",rx:"2",fill:c.accent}),l.jsx("circle",{cx:"24",cy:"34",r:"4",fill:"white"}),l.jsx("circle",{cx:"40",cy:"34",r:"4",fill:"white"}),l.jsx("circle",{cx:"25",cy:"35",r:"2",fill:c.primary}),l.jsx("circle",{cx:"41",cy:"35",r:"2",fill:c.primary}),l.jsx("rect",{x:"28",y:"42",width:"8",height:"3",rx:"1",fill:c.primary})]})}function J0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("ellipse",{cx:"22",cy:"14",rx:"6",ry:"14",fill:c.primary}),l.jsx("ellipse",{cx:"42",cy:"14",rx:"6",ry:"14",fill:c.primary}),l.jsx("ellipse",{cx:"22",cy:"14",rx:"3",ry:"10",fill:c.accent}),l.jsx("ellipse",{cx:"42",cy:"14",rx:"3",ry:"10",fill:c.accent}),l.jsx("circle",{cx:"32",cy:"38",r:"20",fill:c.primary}),l.jsx("circle",{cx:"24",cy:"34",r:"5",fill:"white"}),l.jsx("circle",{cx:"40",cy:"34",r:"5",fill:"white"}),l.jsx("circle",{cx:"25",cy:"35",r:"2.5",fill:"#1a1a1a"}),l.jsx("circle",{cx:"41",cy:"35",r:"2.5",fill:"#1a1a1a"}),l.jsx("ellipse",{cx:"32",cy:"44",rx:"3",ry:"2",fill:c.secondary}),l.jsx("path",{d:"M32,46 L32,50 M28,52 Q32,56 36,52",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none"})]})}function $0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("path",{d:"M24,20 Q24,8 32,8 Q44,8 44,20 Q44,28 32,32 L32,40",stroke:c.primary,strokeWidth:"8",fill:"none",strokeLinecap:"round"}),l.jsx("circle",{cx:"32",cy:"52",r:"6",fill:c.primary}),l.jsx("circle",{cx:"29",cy:"51",r:"1.5",fill:"white"}),l.jsx("circle",{cx:"35",cy:"51",r:"1.5",fill:"white"}),l.jsx("circle",{cx:"29",cy:"51",r:"0.75",fill:"#1a1a1a"}),l.jsx("circle",{cx:"35",cy:"51",r:"0.75",fill:"#1a1a1a"}),l.jsx("circle",{cx:"32",cy:"20",r:"4",fill:c.secondary})]})}function W0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("path",{d:"M8,32 Q16,16 32,32 Q48,48 56,32",stroke:c.primary,strokeWidth:"16",fill:"none",strokeLinecap:"round"}),l.jsx("path",{d:"M8,32 Q16,16 32,32 Q48,48 56,32",stroke:c.secondary,strokeWidth:"10",fill:"none",strokeLinecap:"round"}),l.jsx("circle",{cx:"28",cy:"28",r:"4",fill:"white"}),l.jsx("circle",{cx:"40",cy:"36",r:"4",fill:"white"}),l.jsx("circle",{cx:"29",cy:"29",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"41",cy:"37",r:"2",fill:"#1a1a1a"}),l.jsx("circle",{cx:"16",cy:"24",r:"2",fill:c.accent,className:"animate-pulse"}),l.jsx("circle",{cx:"48",cy:"40",r:"2",fill:c.accent,className:"animate-pulse"})]})}function I0({colors:c,size:r}){return l.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[l.jsx("circle",{cx:"32",cy:"32",r:"28",fill:c.primary}),l.jsx("circle",{cx:"32",cy:"32",r:"24",fill:c.secondary}),l.jsx("text",{x:"32",y:"44",textAnchor:"middle",fontSize:"32",fontWeight:"bold",fill:"white",children:"?"})]})}const P0={Spark:_0,Fizz:k0,Octo:O0,Hoot:R0,Buzz:U0,Pixel:B0,Byte:H0,Nova:q0,Chip:L0,Bolt:G0,Dash:Q0,Zap:Y0,Gizmo:V0,Turbo:X0,Blip:Z0,Neon:K0,Widget:F0,Zippy:J0,Quirk:$0,Flux:W0},ev=I0,tv={sm:{svg:32,font:"text-xs"},md:{svg:48,font:"text-sm"},lg:{svg:64,font:"text-base"}};function av(c){switch(c){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 lv(c){switch(c){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 nv(c){switch(c){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 c}}function hn({name:c,state:r,size:d="md",showName:o=!1}){const h=c==="Unknown",p=h?D0:M0[c],{svg:b,font:g}=tv[d],A=h?ev:P0[c],w=nv(r),E=`Agent ${c} is ${w}`;return l.jsxs("div",{className:"flex flex-col items-center gap-1",role:"status","aria-label":E,"aria-live":"polite",children:[l.jsx("div",{className:`
|
|
50
|
-
rounded-full p-1 transition-all duration-300
|
|
51
|
-
${av(r)}
|
|
52
|
-
${lv(r)}
|
|
53
|
-
`,style:{backgroundColor:p.accent},title:E,role:"img","aria-hidden":"true",children:l.jsx(A,{colors:p,size:b})}),o&&l.jsx("span",{className:`${g} font-bold text-foreground`,style:{color:p.primary},children:c})]})}function sv(c){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<c.length;o++)d=c.charCodeAt(o)+((d<<5)-d);return r[Math.abs(d)%r.length]}function iv({feature:c,onClick:r,isInProgress:d,allFeatures:o=[],activeAgent:h}){const p=sv(c.category),b=c.blocked||c.blocking_dependencies&&c.blocking_dependencies.length>0,g=!!h;return l.jsx(_e,{onClick:r,className:`
|
|
54
|
-
cursor-pointer transition-all hover:border-primary py-3
|
|
55
|
-
${d?"animate-pulse":""}
|
|
56
|
-
${c.passes?"border-primary/50":""}
|
|
57
|
-
${b&&!c.passes?"border-destructive/50 opacity-80":""}
|
|
58
|
-
${g?"ring-2 ring-primary ring-offset-2":""}
|
|
59
|
-
`,children:l.jsxs(Ge,{className:"p-4 space-y-3",children:[l.jsxs("div",{className:"flex items-start justify-between gap-2",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(ke,{className:`${p} text-white`,children:c.category}),l.jsx(A0,{feature:c,allFeatures:o,compact:!0})]}),l.jsxs("span",{className:"font-mono text-sm text-muted-foreground",children:["#",c.priority]})]}),l.jsx("h3",{className:"font-semibold line-clamp-2",children:c.name}),l.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:c.description}),h&&l.jsxs("div",{className:"flex items-center gap-2 py-2 px-2 rounded-md bg-primary/10 border border-primary/30",children:[l.jsx(hn,{name:h.agentName,state:h.state,size:"sm"}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsxs("div",{className:"text-xs font-semibold text-primary",children:[h.agentName," is working on this!"]}),h.thought&&l.jsxs("div",{className:"flex items-center gap-1 mt-0.5",children:[l.jsx(mu,{size:10,className:"text-muted-foreground shrink-0"}),l.jsx("p",{className:"text-[10px] text-muted-foreground truncate italic",children:h.thought})]})]})]}),l.jsx("div",{className:"flex items-center gap-2 text-sm",children:d?l.jsxs(l.Fragment,{children:[l.jsx(Me,{size:16,className:"animate-spin text-primary"}),l.jsx("span",{className:"text-primary font-medium",children:"Processing..."})]}):c.passes?l.jsxs(l.Fragment,{children:[l.jsx(ta,{size:16,className:"text-primary"}),l.jsx("span",{className:"text-primary font-medium",children:"Complete"})]}):b?l.jsxs(l.Fragment,{children:[l.jsx(rn,{size:16,className:"text-destructive"}),l.jsx("span",{className:"text-destructive",children:"Blocked"})]}):l.jsxs(l.Fragment,{children:[l.jsx(rn,{size:16,className:"text-muted-foreground"}),l.jsx("span",{className:"text-muted-foreground",children:"Pending"})]})})]})})}const cv={pending:"border-t-4 border-t-muted",progress:"border-t-4 border-t-primary",done:"border-t-4 border-t-primary"};function su({title:c,count:r,features:d,allFeatures:o=[],activeAgents:h=[],color:p,onFeatureClick:b,onAddFeature:g,onExpandProject:A,showExpandButton:w,onCreateSpec:E,showCreateSpec:_}){const L=new Map;for(const z of h){const H=z.featureIds||[z.featureId];for(const B of H)L.set(B,z)}return l.jsxs(_e,{className:`overflow-hidden ${cv[p]} py-0`,children:[l.jsxs(qi,{className:"px-4 py-3 border-b flex-row items-center justify-between space-y-0",children:[l.jsxs(gu,{className:"text-lg font-semibold flex items-center gap-2",children:[c,l.jsx(ke,{variant:"secondary",children:r})]}),(g||A)&&l.jsxs("div",{className:"flex items-center gap-2",children:[g&&l.jsx(J,{onClick:g,size:"icon-sm",title:"Add new feature (N)",children:l.jsx(Pa,{size:16})}),A&&w&&l.jsx(J,{onClick:A,size:"icon-sm",variant:"secondary",title:"Expand project with AI (E)",children:l.jsx(jl,{size:16})})]})]}),l.jsx(Ge,{className:"p-0",children:l.jsx("div",{className:"h-[600px] overflow-y-auto",children:l.jsx("div",{className:"p-4 space-y-3",children:d.length===0?l.jsx("div",{className:"text-center py-8 text-muted-foreground",children:_&&E?l.jsxs("div",{className:"space-y-4",children:[l.jsx("p",{children:"No spec created yet"}),l.jsxs(J,{onClick:E,children:[l.jsx(Wg,{size:18}),"Create Spec with AI"]})]}):"No features"}):d.map((z,H)=>l.jsx("div",{className:"animate-slide-in",style:{animationDelay:`${H*50}ms`},children:l.jsx(iv,{feature:z,onClick:()=>b(z),isInProgress:p==="progress",allFeatures:o,activeAgent:L.get(z.id)})},z.id))})})})]})}function rv({features:c,onFeatureClick:r,onAddFeature:d,onExpandProject:o,activeAgents:h=[],onCreateSpec:p,hasSpec:b=!0}){const g=c&&c.pending.length+c.in_progress.length+c.done.length>0,A=c?[...c.pending,...c.in_progress,...c.done]:[];return c?l.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[l.jsx(su,{title:"Pending",count:c.pending.length,features:c.pending,allFeatures:A,activeAgents:h,color:"pending",onFeatureClick:r,onAddFeature:d,onExpandProject:o,showExpandButton:g,onCreateSpec:p,showCreateSpec:!b&&!g}),l.jsx(su,{title:"In Progress",count:c.in_progress.length,features:c.in_progress,allFeatures:A,activeAgents:h,color:"progress",onFeatureClick:r}),l.jsx(su,{title:"Done",count:c.done.length,features:c.done,allFeatures:A,activeAgents:h,color:"done",onFeatureClick:r})]}):l.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:["Pending","In Progress","Done"].map(w=>l.jsx(_e,{className:"py-4",children:l.jsxs(Ge,{className:"p-4",children:[l.jsx("div",{className:"h-8 bg-muted animate-pulse rounded mb-4"}),l.jsx("div",{className:"space-y-3",children:[1,2,3].map(E=>l.jsx("div",{className:"h-24 bg-muted animate-pulse rounded"},E))})]})},w))})}function uv(c){return Rt({queryKey:["schedules",c],queryFn:()=>_y(c),enabled:!!c})}function ov(c){const r=at();return rt({mutationFn:d=>ky(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["schedules",c]}),r.invalidateQueries({queryKey:["nextRun",c]})}})}function dv(c){const r=at();return rt({mutationFn:d=>Ry(c,d),onSuccess:()=>{r.invalidateQueries({queryKey:["schedules",c]}),r.invalidateQueries({queryKey:["nextRun",c]})}})}function fv(c){const r=at();return rt({mutationFn:({scheduleId:d,enabled:o})=>Oy(c,d,{enabled:o}),onSuccess:()=>{r.invalidateQueries({queryKey:["schedules",c]}),r.invalidateQueries({queryKey:["nextRun",c]})}})}function mv(c){return Rt({queryKey:["nextRun",c],queryFn:()=>Uy(c),enabled:!!c,refetchInterval:3e4})}function hv(c){const[r,d]=c.split(":").map(Number),o=new Date(Date.UTC(2e3,0,15,r,d,0,0)),h=o.getDate();let p=0;h===14&&(p=-1),h===16&&(p=1);const b=o.getHours(),g=o.getMinutes();return{time:`${String(b).padStart(2,"0")}:${String(g).padStart(2,"0")}`,dayShift:p}}function xv(c){const[r,d]=c.split(":").map(Number),o=new Date(2e3,0,15,r,d,0,0),h=o.getUTCDate();let p=0;h===14&&(p=-1),h===16&&(p=1);const b=o.getUTCHours(),g=o.getUTCMinutes();return{time:`${String(b).padStart(2,"0")}:${String(g).padStart(2,"0")}`,dayShift:p}}function gv(c){let r=0;return c&1&&(r|=2),c&2&&(r|=4),c&4&&(r|=8),c&8&&(r|=16),c&16&&(r|=32),c&32&&(r|=64),c&64&&(r|=1),r}function pv(c){let r=0;return c&1&&(r|=64),c&2&&(r|=1),c&4&&(r|=2),c&8&&(r|=4),c&16&&(r|=8),c&32&&(r|=16),c&64&&(r|=32),r}function Rm(c,r){return r===1?gv(c):r===-1?pv(c):c}function Um(c){const r=Math.floor(c/60),d=c%60;return r===0?`${d}m`:d===0?`${r}h`:`${r}h ${d}m`}function yv(c){const r=new Date(c),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 vv(c){return new Date(c).toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}const Bm=[{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 Hm(c,r){return(c&r)!==0}function bv(c,r){return c^r}function jv({className:c,...r}){return l.jsx(Yp,{"data-slot":"checkbox",className:Oe("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",c),...r,children:l.jsx(Vp,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:l.jsx(ea,{className:"size-3.5"})})})}function ru({className:c,orientation:r="horizontal",decorative:d=!0,...o}){return l.jsx(Xp,{"data-slot":"separator",decorative:d,orientation:r,className:Oe("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",c),...o})}function Sv({projectName:c,isOpen:r,onClose:d}){const o=m.useRef(null),h=m.useRef(null),{data:p,isLoading:b}=uv(c),g=ov(c),A=dv(c),w=fv(c),[E,_]=m.useState({start_time:"22:00",duration_minutes:240,days_of_week:31,enabled:!0,yolo_mode:!1,model:null,max_concurrency:3}),[L,z]=m.useState(null);m.useEffect(()=>{r&&h.current&&h.current.focus()},[r]);const H=p?.schedules||[],B=async()=>{try{if(z(null),E.days_of_week===0){z("Please select at least one day");return}if(E.duration_minutes<1||E.duration_minutes>1440){z("Duration must be between 1 and 1440 minutes");return}const{time:S,dayShift:Z}=xv(E.start_time),F=Rm(E.days_of_week,Z),$={...E,start_time:S,days_of_week:F};await g.mutateAsync($),_({start_time:"22:00",duration_minutes:240,days_of_week:31,enabled:!0,yolo_mode:!1,model:null,max_concurrency:3})}catch(S){z(S instanceof Error?S.message:"Failed to create schedule")}},R=async(S,Z)=>{try{z(null),await w.mutateAsync({scheduleId:S,enabled:!Z})}catch(F){z(F instanceof Error?F.message:"Failed to toggle schedule")}},C=async S=>{if(confirm("Are you sure you want to delete this schedule?"))try{z(null),await A.mutateAsync(S)}catch(Z){z(Z instanceof Error?Z.message:"Failed to delete schedule")}},v=S=>{_(Z=>({...Z,days_of_week:bv(Z.days_of_week,S)}))};return l.jsx(aa,{open:r,onOpenChange:S=>!S&&d(),children:l.jsxs(la,{ref:o,className:"sm:max-w-[650px] max-h-[80vh] flex flex-col p-0",children:[l.jsx(na,{className:"p-6 pb-4",children:l.jsxs(sa,{className:"flex items-center gap-2",children:[l.jsx(un,{size:24,className:"text-primary"}),"Agent Schedules"]})}),l.jsxs("div",{className:"flex-1 min-h-0 overflow-y-auto px-6",children:[L&&l.jsx(jt,{variant:"destructive",className:"mb-4",children:l.jsx(St,{children:L})}),b&&l.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"Loading schedules..."}),!b&&H.length>0&&l.jsx("div",{className:"space-y-3 mb-6",children:H.map(S=>{const{time:Z,dayShift:F}=hv(S.start_time),$=Um(S.duration_minutes),X=Rm(S.days_of_week,F);return l.jsx(_e,{children:l.jsx(Ge,{className:"p-4",children:l.jsxs("div",{className:"flex items-start justify-between gap-4",children:[l.jsxs("div",{className:"flex-1",children:[l.jsxs("div",{className:"flex items-baseline gap-2 mb-2",children:[l.jsx("span",{className:"text-lg font-semibold",children:Z}),l.jsxs("span",{className:"text-sm text-muted-foreground",children:["for ",$]})]}),l.jsx("div",{className:"flex gap-1 mb-2",children:Bm.map(ee=>{const Y=Hm(X,ee.bit);return l.jsx("span",{className:`text-xs px-2 py-1 rounded border ${Y?"border-primary bg-primary text-primary-foreground font-medium":"border-border text-muted-foreground"}`,children:ee.label},ee.label)})}),l.jsxs("div",{className:"flex gap-3 text-xs text-muted-foreground",children:[S.yolo_mode&&l.jsx("span",{className:"font-semibold text-yellow-600",children:"YOLO mode"}),l.jsxs("span",{className:"flex items-center gap-1",children:[l.jsx(mn,{size:12}),S.max_concurrency,"x"]}),S.model&&l.jsxs("span",{children:["Model: ",S.model]}),S.crash_count>0&&l.jsxs("span",{className:"text-destructive",children:["Crashes: ",S.crash_count]})]})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(J,{variant:"ghost",size:"sm",onClick:()=>R(S.id,S.enabled),disabled:w.isPending,className:S.enabled?"text-primary":"text-muted-foreground",children:S.enabled?"Enabled":"Disabled"}),l.jsx(J,{variant:"ghost",size:"icon-sm",onClick:()=>C(S.id),disabled:A.isPending,className:"text-destructive hover:text-destructive",children:l.jsx(tl,{size:16})})]})]})})},S.id)})}),!b&&H.length===0&&l.jsxs("div",{className:"text-center py-6 text-muted-foreground mb-6",children:[l.jsx(un,{size:48,className:"mx-auto mb-2 opacity-50"}),l.jsx("p",{children:"No schedules configured yet"})]}),l.jsx(ru,{className:"my-6"}),l.jsxs("div",{className:"pb-6",children:[l.jsx("h3",{className:"text-lg font-semibold mb-4",children:"Add New Schedule"}),l.jsxs("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[l.jsxs("div",{className:"space-y-2",children:[l.jsx(Le,{children:"Start Time (Local)"}),l.jsx(dt,{type:"time",value:E.start_time,onChange:S=>_(Z=>({...Z,start_time:S.target.value}))})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Le,{children:"Duration (minutes)"}),l.jsx(dt,{type:"number",min:"1",max:"1440",value:E.duration_minutes,onChange:S=>{const Z=parseInt(S.target.value,10),F=isNaN(Z)?1:Math.max(1,Math.min(1440,Z));_($=>({...$,duration_minutes:F}))}}),l.jsx("p",{className:"text-xs text-muted-foreground",children:Um(E.duration_minutes)})]})]}),l.jsxs("div",{className:"mb-4 space-y-2",children:[l.jsx(Le,{children:"Days"}),l.jsx("div",{className:"flex gap-2",children:Bm.map(S=>{const Z=Hm(E.days_of_week,S.bit);return l.jsx(J,{variant:Z?"default":"outline",size:"sm",onClick:()=>v(S.bit),children:S.label},S.label)})})]}),l.jsxs("div",{className:"mb-4 flex items-center space-x-2",children:[l.jsx(jv,{id:"yolo-mode",checked:E.yolo_mode,onCheckedChange:S=>_(Z=>({...Z,yolo_mode:S===!0}))}),l.jsx(Le,{htmlFor:"yolo-mode",className:"font-normal",children:"YOLO Mode (skip testing)"})]}),l.jsxs("div",{className:"mb-4 space-y-2",children:[l.jsx(Le,{children:"Concurrent Agents (1-5)"}),l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx(mn,{size:16,className:E.max_concurrency>1?"text-primary":"text-muted-foreground"}),l.jsx("input",{type:"range",min:1,max:5,value:E.max_concurrency,onChange:S=>_(Z=>({...Z,max_concurrency:Number(S.target.value)})),className:"flex-1 h-2 accent-primary cursor-pointer"}),l.jsxs("span",{className:"text-sm font-medium min-w-[2rem] text-center",children:[E.max_concurrency,"x"]})]}),l.jsxs("p",{className:"text-xs text-muted-foreground",children:["Run ",E.max_concurrency," agent",E.max_concurrency>1?"s":""," in parallel for faster feature completion"]})]}),l.jsxs("div",{className:"mb-4 space-y-2",children:[l.jsx(Le,{children:"Model (optional, defaults to global setting)"}),l.jsx(dt,{placeholder:"e.g., claude-3-5-sonnet-20241022",value:E.model||"",onChange:S=>_(Z=>({...Z,model:S.target.value||null}))})]})]})]}),l.jsxs(el,{className:"p-6 pt-4 border-t",children:[l.jsx(J,{variant:"outline",onClick:d,children:"Close"}),l.jsx(J,{onClick:B,disabled:g.isPending||E.days_of_week===0,children:g.isPending?"Creating...":"Create Schedule"})]})]})})}function Nv({projectName:c,status:r,defaultConcurrency:d=3}){const{data:o}=xu(),h=o?.yolo_mode??!1,[p,b]=m.useState(d);m.useEffect(()=>{b(d)},[d]);const g=Gy(c),A=m.useRef(null),w=m.useCallback($=>{b($),A.current&&clearTimeout(A.current),A.current=setTimeout(()=>{g.mutate({default_concurrency:$})},500)},[g]);m.useEffect(()=>()=>{A.current&&clearTimeout(A.current)},[]);const E=Ky(c),_=Fy(c),{data:L}=mv(c),[z,H]=m.useState(!1),B=E.isPending||_.isPending,R=r==="running"||r==="paused",C=r==="loading",v=p>1,S=()=>E.mutate({yoloMode:h,parallelMode:v,maxConcurrency:p,testingAgentRatio:o?.testing_agent_ratio}),Z=()=>_.mutate(),F=r==="stopped"||r==="crashed";return l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"flex items-center gap-4",children:[F&&l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(mn,{size:16,className:v?"text-primary":"text-muted-foreground"}),l.jsx("input",{type:"range",min:1,max:5,value:p,onChange:$=>w(Number($.target.value)),disabled:B,className:"w-16 h-2 accent-primary cursor-pointer",title:`${p} concurrent agent${p>1?"s":""}`,"aria-label":"Set number of concurrent agents"}),l.jsxs("span",{className:"text-xs font-semibold min-w-[1.5rem] text-center",children:[p,"x"]})]}),R&&v&&l.jsxs(ke,{variant:"secondary",className:"gap-1",children:[l.jsx(mn,{size:14}),p,"x"]}),L?.is_currently_running&&L.next_end&&l.jsxs(ke,{variant:"default",className:"gap-1",children:[l.jsx(un,{size:14}),"Running until ",vv(L.next_end)]}),!L?.is_currently_running&&L?.next_start&&l.jsxs(ke,{variant:"secondary",className:"gap-1",children:[l.jsx(un,{size:14}),"Next: ",yv(L.next_start)]}),C?l.jsx(J,{disabled:!0,variant:"outline",size:"sm",children:l.jsx(Me,{size:18,className:"animate-spin"})}):F?l.jsx(J,{onClick:S,disabled:B,variant:h?"secondary":"default",size:"sm",title:h?"Start Agent (YOLO Mode)":"Start Agent",children:B?l.jsx(Me,{size:18,className:"animate-spin"}):l.jsx(Ig,{size:18})}):l.jsx(J,{onClick:Z,disabled:B,variant:"destructive",size:"sm",title:h?"Stop Agent (YOLO Mode)":"Stop Agent",children:B?l.jsx(Me,{size:18,className:"animate-spin"}):l.jsx(eh,{size:18})}),l.jsx(J,{variant:"outline",size:"sm",onClick:()=>H(!0),title:"Manage schedules",children:l.jsx(un,{size:18})})]}),l.jsx(Sv,{projectName:c,isOpen:z,onClose:()=>H(!1)})]})}const Cv=3e4;function zv(c){const r=c.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 wv(c){for(let r=c.length-1;r>=0;r--)if(zv(c[r].line))return c[r].line.trim();return null}function Ev({passing:c,total:r,percentage:d,isConnected:o,logs:h=[],agentStatus:p}){const b=m.useMemo(()=>wv(h),[h]),[g,A]=m.useState(null),[w,E]=m.useState(!0),_=h.length>0?new Date(h[h.length-1].timestamp).getTime():0,L=m.useMemo(()=>b?p==="running"?!0:p==="paused"?Date.now()-_<Cv:!1:!1,[b,p,_]);m.useEffect(()=>{if(b!==g&&b){E(!1);const H=setTimeout(()=>{A(b),E(!0)},150);return()=>clearTimeout(H)}},[b,g]);const z=p==="running";return l.jsxs(_e,{children:[l.jsxs(qi,{className:"flex-row items-center justify-between space-y-0 pb-0",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx(gu,{className:"text-xl uppercase tracking-wide",children:"Progress"}),l.jsx(ke,{variant:o?"default":"destructive",className:"gap-1",children:o?l.jsxs(l.Fragment,{children:[l.jsx(fn,{size:14}),"Live"]}):l.jsxs(l.Fragment,{children:[l.jsx(dn,{size:14}),"Offline"]})})]}),l.jsxs("div",{className:"flex items-baseline gap-1",children:[l.jsx("span",{className:"font-mono text-lg font-bold text-primary",children:c}),l.jsx("span",{className:"text-sm text-muted-foreground",children:"/"}),l.jsx("span",{className:"font-mono text-lg font-bold",children:r})]})]}),l.jsxs(Ge,{className:"pt-3 pb-3",children:[l.jsxs("div",{className:"flex items-center gap-4",children:[l.jsx("div",{className:"h-2.5 bg-muted rounded-full overflow-hidden flex-1",children:l.jsx("div",{className:"h-full bg-primary rounded-full transition-all duration-500 ease-out",style:{width:`${d}%`}})}),l.jsxs("span",{className:"text-sm font-bold tabular-nums text-muted-foreground w-12 text-right",children:[d.toFixed(1),"%"]})]}),l.jsx("div",{className:`
|
|
60
|
-
transition-all duration-300 ease-out overflow-hidden
|
|
61
|
-
${L&&g?"opacity-100 max-h-10 mt-3":"opacity-0 max-h-0 mt-0"}
|
|
62
|
-
`,children:l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsxs("div",{className:"relative shrink-0",children:[l.jsx(Pg,{size:16,className:"text-primary",strokeWidth:2.5}),z&&l.jsx(jl,{size:8,className:"absolute -top-1 -right-1 text-yellow-500 animate-pulse"})]}),l.jsx("p",{className:"font-mono text-sm truncate text-muted-foreground transition-all duration-150 ease-out",style:{opacity:w?1:0,transform:w?"translateY(0)":"translateY(-4px)"},children:g?.replace(/:$/,"")})]})})]})]})}function Tv({onComplete:c}){const{data:r,isLoading:d,error:o}=Jy(),{data:h,error:p}=$y(),b=h?.status==="healthy"&&!p,g=b&&r?.claude_cli&&r?.credentials,A=m.useCallback(()=>{g&&c()},[g,c]);return m.useEffect(()=>{A()},[A]),l.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center p-4",children:l.jsx(_e,{className:"w-full max-w-lg",children:l.jsxs(Ge,{className:"p-8",children:[l.jsx("h1",{className:"font-display text-3xl font-bold text-center mb-2",children:"Setup Wizard"}),l.jsx("p",{className:"text-center text-muted-foreground mb-8",children:"Let's make sure everything is ready to go"}),l.jsxs("div",{className:"space-y-4",children:[l.jsx(Ai,{label:"Backend Server",description:"FastAPI server is running",status:p?"error":b?"success":"loading"}),l.jsx(Ai,{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"}),l.jsx(Ai,{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"}),l.jsx(Ai,{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})]}),g&&l.jsx(J,{onClick:c,className:"w-full mt-8 bg-green-500 hover:bg-green-600 text-white",children:"Continue to Dashboard"}),(p||o)&&l.jsxs(jt,{variant:"destructive",className:"mt-6",children:[l.jsx(g0,{children:"Setup Error"}),l.jsx(St,{children:p?"Cannot connect to the backend server. Make sure to run start_ui.py first.":"Failed to check setup status."})]})]})})})}function Ai({label:c,description:r,status:d,helpLink:o,helpText:h,optional:p}){return l.jsxs("div",{className:"flex items-start gap-4 p-4 bg-background border-2 border-border rounded-lg",children:[l.jsx("div",{className:"flex-shrink-0 mt-1",children:d==="success"?l.jsx(ta,{size:24,className:"text-green-500"}):d==="error"?l.jsx(jm,{size:24,className:"text-destructive"}):d==="warning"?l.jsx(jm,{size:24,className:"text-yellow-500"}):l.jsx(Me,{size:24,className:"animate-spin text-primary"})}),l.jsxs("div",{className:"flex-1",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"font-display font-bold text-foreground",children:c}),p&&l.jsx("span",{className:"text-xs text-muted-foreground",children:"(optional)"})]}),l.jsx("p",{className:"text-sm text-muted-foreground",children:r}),(d==="error"||d==="warning")&&o&&l.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," ",l.jsx(du,{size:12})]})]})]})}function Av({projectName:c,onClose:r}){const d=m.useId(),[o,h]=m.useState(""),[p,b]=m.useState(""),[g,A]=m.useState(""),[w,E]=m.useState(""),[_,L]=m.useState([{id:`${d}-step-0`,value:""}]),[z,H]=m.useState(null),[B,R]=m.useState(1),C=Qy(c),v=()=>{L([..._,{id:`${d}-step-${B}`,value:""}]),R(B+1)},S=X=>{L(_.filter(ee=>ee.id!==X))},Z=(X,ee)=>{L(_.map(Y=>Y.id===X?{...Y,value:ee}:Y))},F=async X=>{X.preventDefault(),H(null);const ee=_.map(Y=>Y.value.trim()).filter(Y=>Y.length>0);try{await C.mutateAsync({category:o.trim(),name:p.trim(),description:g.trim(),steps:ee,priority:w?parseInt(w,10):void 0}),r()}catch(Y){H(Y instanceof Error?Y.message:"Failed to create feature")}},$=o.trim()&&p.trim()&&g.trim();return l.jsx(aa,{open:!0,onOpenChange:X=>!X&&r(),children:l.jsxs(la,{className:"sm:max-w-2xl",children:[l.jsx(na,{children:l.jsx(sa,{children:"Add Feature"})}),l.jsxs("form",{onSubmit:F,className:"space-y-4",children:[z&&l.jsxs(jt,{variant:"destructive",children:[l.jsx(wa,{className:"h-4 w-4"}),l.jsxs(St,{className:"flex items-center justify-between",children:[l.jsx("span",{children:z}),l.jsx(J,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>H(null),children:l.jsx(tt,{size:14})})]})]}),l.jsxs("div",{className:"flex gap-4",children:[l.jsxs("div",{className:"flex-1 space-y-2",children:[l.jsx(Le,{htmlFor:"category",children:"Category"}),l.jsx(dt,{id:"category",type:"text",value:o,onChange:X=>h(X.target.value),placeholder:"e.g., Authentication, UI, API",required:!0})]}),l.jsxs("div",{className:"w-32 space-y-2",children:[l.jsx(Le,{htmlFor:"priority",children:"Priority"}),l.jsx(dt,{id:"priority",type:"number",value:w,onChange:X=>E(X.target.value),placeholder:"Auto",min:"1"})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Le,{htmlFor:"name",children:"Feature Name"}),l.jsx(dt,{id:"name",type:"text",value:p,onChange:X=>b(X.target.value),placeholder:"e.g., User login form",required:!0})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Le,{htmlFor:"description",children:"Description"}),l.jsx(Li,{id:"description",value:g,onChange:X=>A(X.target.value),placeholder:"Describe what this feature should do...",className:"min-h-[100px] resize-y",required:!0})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Le,{children:"Test Steps (Optional)"}),l.jsx("div",{className:"space-y-2",children:_.map((X,ee)=>l.jsxs("div",{className:"flex gap-2 items-center",children:[l.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:ee+1}),l.jsx(dt,{type:"text",value:X.value,onChange:Y=>Z(X.id,Y.target.value),placeholder:"Describe this step...",className:"flex-1"}),_.length>1&&l.jsx(J,{type:"button",variant:"ghost",size:"icon",onClick:()=>S(X.id),children:l.jsx(tl,{size:18})})]},X.id))}),l.jsxs(J,{type:"button",variant:"ghost",size:"sm",onClick:v,children:[l.jsx(Pa,{size:16}),"Add Step"]})]}),l.jsxs(el,{className:"pt-4 border-t",children:[l.jsx(J,{type:"button",variant:"outline",onClick:r,children:"Cancel"}),l.jsx(J,{type:"submit",disabled:!$||C.isPending,children:C.isPending?l.jsx(Me,{size:18,className:"animate-spin"}):l.jsxs(l.Fragment,{children:[l.jsx(Pa,{size:18}),"Create Feature"]})})]})]})]})})}function Dv({feature:c,projectName:r,onClose:d,onSaved:o}){const h=m.useId(),[p,b]=m.useState(c.category),[g,A]=m.useState(c.name),[w,E]=m.useState(c.description),[_,L]=m.useState(String(c.priority)),[z,H]=m.useState(()=>c.steps.length>0?c.steps.map((K,O)=>({id:`${h}-step-${O}`,value:K})):[{id:`${h}-step-0`,value:""}]),[B,R]=m.useState(null),[C,v]=m.useState(c.steps.length||1),S=Xy(r),Z=()=>{H([...z,{id:`${h}-step-${C}`,value:""}]),v(C+1)},F=K=>{H(z.filter(O=>O.id!==K))},$=(K,O)=>{H(z.map(q=>q.id===K?{...q,value:O}:q))},X=async K=>{K.preventDefault(),R(null);const O=z.map(q=>q.value.trim()).filter(q=>q.length>0);try{await S.mutateAsync({featureId:c.id,update:{category:p.trim(),name:g.trim(),description:w.trim(),steps:O,priority:parseInt(_,10)}}),o()}catch(q){R(q instanceof Error?q.message:"Failed to update feature")}},ee=p.trim()&&g.trim()&&w.trim(),Y=z.map(K=>K.value.trim()).filter(K=>K),ne=p.trim()!==c.category||g.trim()!==c.name||w.trim()!==c.description||parseInt(_,10)!==c.priority||JSON.stringify(Y)!==JSON.stringify(c.steps);return l.jsx(aa,{open:!0,onOpenChange:K=>!K&&d(),children:l.jsxs(la,{className:"sm:max-w-2xl",children:[l.jsx(na,{children:l.jsx(sa,{children:"Edit Feature"})}),l.jsxs("form",{onSubmit:X,className:"space-y-4",children:[B&&l.jsxs(jt,{variant:"destructive",children:[l.jsx(wa,{className:"h-4 w-4"}),l.jsxs(St,{className:"flex items-center justify-between",children:[l.jsx("span",{children:B}),l.jsx(J,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>R(null),children:l.jsx(tt,{size:14})})]})]}),l.jsxs("div",{className:"flex gap-4",children:[l.jsxs("div",{className:"flex-1 space-y-2",children:[l.jsx(Le,{htmlFor:"category",children:"Category"}),l.jsx(dt,{id:"category",type:"text",value:p,onChange:K=>b(K.target.value),placeholder:"e.g., Authentication, UI, API",required:!0})]}),l.jsxs("div",{className:"w-32 space-y-2",children:[l.jsx(Le,{htmlFor:"priority",children:"Priority"}),l.jsx(dt,{id:"priority",type:"number",value:_,onChange:K=>L(K.target.value),min:"1",required:!0})]})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Le,{htmlFor:"name",children:"Feature Name"}),l.jsx(dt,{id:"name",type:"text",value:g,onChange:K=>A(K.target.value),placeholder:"e.g., User login form",required:!0})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Le,{htmlFor:"description",children:"Description"}),l.jsx(Li,{id:"description",value:w,onChange:K=>E(K.target.value),placeholder:"Describe what this feature should do...",className:"min-h-[100px] resize-y",required:!0})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Le,{children:"Test Steps"}),l.jsx("div",{className:"space-y-2",children:z.map((K,O)=>l.jsxs("div",{className:"flex gap-2 items-center",children:[l.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:O+1}),l.jsx(dt,{type:"text",value:K.value,onChange:q=>$(K.id,q.target.value),placeholder:"Describe this step...",className:"flex-1"}),z.length>1&&l.jsx(J,{type:"button",variant:"ghost",size:"icon",onClick:()=>F(K.id),children:l.jsx(tl,{size:18})})]},K.id))}),l.jsxs(J,{type:"button",variant:"ghost",size:"sm",onClick:Z,children:[l.jsx(Pa,{size:16}),"Add Step"]})]}),l.jsxs(el,{className:"pt-4 border-t",children:[l.jsx(J,{type:"button",variant:"outline",onClick:d,children:"Cancel"}),l.jsx(J,{type:"submit",disabled:!ee||!ne||S.isPending,children:S.isPending?l.jsx(Me,{size:18,className:"animate-spin"}):l.jsxs(l.Fragment,{children:[l.jsx(ep,{size:18}),"Save Changes"]})})]})]})]})})}function Mv(c){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<c.length;o++)d=c.charCodeAt(o)+((d<<5)-d);return r[Math.abs(d)%r.length]}function _v({feature:c,projectName:r,onClose:d}){const[o,h]=m.useState(null),[p,b]=m.useState(!1),[g,A]=m.useState(!1),w=Vy(r),E=Yy(r),{data:_}=uh(r),L=new Map;_&&[..._.pending,..._.in_progress,..._.done].forEach(C=>{L.set(C.id,C)});const z=(c.dependencies||[]).map(C=>L.get(C)).filter(C=>C!==void 0),H=(c.blocking_dependencies||[]).map(C=>L.get(C)).filter(C=>C!==void 0),B=async()=>{h(null);try{await w.mutateAsync(c.id),d()}catch(C){h(C instanceof Error?C.message:"Failed to skip feature")}},R=async()=>{h(null);try{await E.mutateAsync(c.id),d()}catch(C){h(C instanceof Error?C.message:"Failed to delete feature")}};return g?l.jsx(Dv,{feature:c,projectName:r,onClose:()=>A(!1),onSaved:d}):l.jsx(aa,{open:!0,onOpenChange:C=>!C&&d(),children:l.jsxs(la,{className:"sm:max-w-2xl p-0 gap-0",children:[l.jsxs(na,{className:"p-6 pb-4",children:[l.jsx("div",{className:"flex items-start gap-3",children:l.jsx(ke,{className:`${Mv(c.category)} text-white`,children:c.category})}),l.jsx(sa,{className:"text-xl mt-2",children:c.name})]}),l.jsx(ru,{}),l.jsxs("div",{className:"p-6 space-y-6 max-h-[60vh] overflow-y-auto",children:[o&&l.jsxs(jt,{variant:"destructive",children:[l.jsx(wa,{className:"h-4 w-4"}),l.jsxs(St,{className:"flex items-center justify-between",children:[l.jsx("span",{children:o}),l.jsx(J,{variant:"ghost",size:"icon-xs",onClick:()=>h(null),children:l.jsx(tt,{size:14})})]})]}),l.jsxs("div",{className:"flex items-center gap-3 p-4 bg-muted rounded-lg",children:[c.passes?l.jsxs(l.Fragment,{children:[l.jsx(ta,{size:24,className:"text-primary"}),l.jsx("span",{className:"font-semibold text-primary",children:"COMPLETE"})]}):l.jsxs(l.Fragment,{children:[l.jsx(rn,{size:24,className:"text-muted-foreground"}),l.jsx("span",{className:"font-semibold text-muted-foreground",children:"PENDING"})]}),l.jsxs("span",{className:"ml-auto font-mono text-sm text-muted-foreground",children:["Priority: #",c.priority]})]}),l.jsxs("div",{children:[l.jsx("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground",children:"Description"}),l.jsx("p",{className:"text-foreground",children:c.description})]}),H.length>0&&l.jsxs(jt,{variant:"destructive",className:"border-orange-500 bg-orange-50 dark:bg-orange-950/20",children:[l.jsx(Ea,{className:"h-4 w-4 text-orange-600"}),l.jsxs(St,{children:[l.jsx("h4",{className:"font-semibold mb-1 text-orange-700 dark:text-orange-400",children:"Blocked By"}),l.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:"}),l.jsx("ul",{className:"space-y-1",children:H.map(C=>l.jsxs("li",{className:"flex items-center gap-2 text-sm text-orange-600 dark:text-orange-300",children:[l.jsx(rn,{size:14}),l.jsxs("span",{className:"font-mono text-xs",children:["#",C.id]}),l.jsx("span",{children:C.name})]},C.id))})]})]}),z.length>0&&l.jsxs("div",{children:[l.jsxs("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground flex items-center gap-2",children:[l.jsx(tp,{size:16}),"Depends On"]}),l.jsx("ul",{className:"space-y-1",children:z.map(C=>l.jsxs("li",{className:"flex items-center gap-2 p-2 bg-muted rounded-md text-sm",children:[C.passes?l.jsx(ta,{size:16,className:"text-primary"}):l.jsx(rn,{size:16,className:"text-muted-foreground"}),l.jsxs("span",{className:"font-mono text-xs text-muted-foreground",children:["#",C.id]}),l.jsx("span",{className:C.passes?"text-primary":"",children:C.name})]},C.id))})]}),c.steps.length>0&&l.jsxs("div",{children:[l.jsx("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground",children:"Test Steps"}),l.jsx("ol",{className:"list-decimal list-inside space-y-2",children:c.steps.map((C,v)=>l.jsx("li",{className:"p-3 bg-muted rounded-md text-sm",children:C},v))})]})]}),!c.passes&&l.jsxs(l.Fragment,{children:[l.jsx(ru,{}),l.jsx(el,{className:"p-4 bg-muted/50",children:p?l.jsxs("div",{className:"w-full space-y-4",children:[l.jsx("p",{className:"font-medium text-center",children:"Are you sure you want to delete this feature?"}),l.jsxs("div",{className:"flex gap-3",children:[l.jsx(J,{variant:"destructive",onClick:R,disabled:E.isPending,className:"flex-1",children:E.isPending?l.jsx(Me,{size:18,className:"animate-spin"}):"Yes, Delete"}),l.jsx(J,{variant:"outline",onClick:()=>b(!1),disabled:E.isPending,className:"flex-1",children:"Cancel"})]})]}):l.jsxs("div",{className:"flex gap-3 w-full",children:[l.jsxs(J,{onClick:()=>A(!0),disabled:w.isPending,className:"flex-1",children:[l.jsx(ap,{size:18}),"Edit"]}),l.jsx(J,{variant:"secondary",onClick:B,disabled:w.isPending,className:"flex-1",children:w.isPending?l.jsx(Me,{size:18,className:"animate-spin"}):l.jsxs(l.Fragment,{children:[l.jsx(lp,{size:18}),"Skip"]})}),l.jsx(J,{variant:"destructive",size:"icon",onClick:()=>b(!0),disabled:w.isPending,children:l.jsx(tl,{size:18})})]})})]})]})})}const kv={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"},qm=1e3,Lm=3e4;function Ov({projectName:c,terminalId:r,isActive:d}){const o=m.useRef(null),h=m.useRef(null),p=m.useRef(null),b=m.useRef(null),g=m.useRef(null),A=m.useRef(0),w=m.useRef(!1),E=m.useRef(!1),_=m.useRef(!1),L=m.useRef(!1),z=m.useRef(null),H=m.useRef(null),B=m.useRef(null),R=m.useRef(d),[C,v]=m.useState(!1),[S,Z]=m.useState(!1),[F,$]=m.useState(null);m.useEffect(()=>{_.current=S},[S]),m.useEffect(()=>{R.current=d},[d]);const X=m.useCallback(W=>{const y=new TextEncoder().encode(W);let D="";for(let I=0;I<y.length;I++)D+=String.fromCharCode(y[I]);return btoa(D)},[]),ee=m.useCallback(W=>{try{const se=atob(W),y=new Uint8Array(se.length);for(let I=0;I<se.length;I++)y[I]=se.charCodeAt(I);return new TextDecoder().decode(y)}catch{return console.error("Failed to decode base64 data"),""}},[]),Y=m.useCallback(W=>{b.current?.readyState===WebSocket.OPEN&&b.current.send(JSON.stringify(W))},[]),ne=m.useCallback((W,se)=>{Y({type:"resize",cols:W,rows:se})},[Y]),K=m.useCallback(()=>{if(p.current&&h.current)try{const W=p.current.proposeDimensions();W&&W.cols&&W.rows&&!isNaN(W.cols)&&!isNaN(W.rows)&&W.cols>=1&&W.rows>=1&&p.current.fit();const{cols:y,rows:D}=h.current;y>0&&D>0&&ne(y,D)}catch{}},[ne]),O=m.useCallback(()=>{if(!c||!r||!R.current||E.current||b.current?.readyState===WebSocket.CONNECTING||b.current?.readyState===WebSocket.OPEN)return;E.current=!0,g.current&&(clearTimeout(g.current),g.current=null);const W=window.location.protocol==="https:"?"wss:":"ws:",se=window.location.host,y=`${W}//${se}/api/terminal/ws/${encodeURIComponent(c)}/${encodeURIComponent(r)}`;try{const D=new WebSocket(y);b.current=D,D.onopen=()=>{if(E.current=!1,v(!0),Z(!1),$(null),A.current=0,h.current){const{cols:I,rows:P}=h.current;ne(I,P)}},D.onmessage=I=>{try{const P=JSON.parse(I.data);switch(P.type){case"output":{const de=ee(P.data);de&&h.current&&h.current.write(de);break}case"exit":{Z(!0),$(P.code),h.current&&(h.current.writeln(""),h.current.writeln(`\x1B[33m[Shell exited with code ${P.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=()=>{E.current=!1,v(!1),b.current=null;const I=R.current&&!_.current&&!L.current;if(L.current=!1,I){const P=Math.min(qm*Math.pow(2,A.current),Lm);A.current++,g.current=window.setTimeout(()=>{O()},P)}},D.onerror=()=>{D.close()}}catch{E.current=!1;const D=Math.min(qm*Math.pow(2,A.current),Lm);A.current++,g.current=window.setTimeout(()=>{O()},D)}},[c,r,ne,ee]);m.useEffect(()=>{z.current=O},[O]);const q=m.useCallback(()=>{if(!o.current||w.current)return;const W=new Fp({theme:kv,fontFamily:"JetBrains Mono, Consolas, Monaco, monospace",fontSize:14,cursorBlink:!0,cursorStyle:"block",allowProposedApi:!0,scrollback:1e4}),se=new Jp;W.loadAddon(se),W.open(o.current),h.current=W,p.current=se,w.current=!0,W.onData(y=>{if(_.current){Z(!1),$(null),z.current?.();return}const D={type:"input",data:X(y)};Y(D)}),W.onResize(({cols:y,rows:D})=>{ne(y,D)})},[X,Y,ne]);return m.useEffect(()=>{if(!d)return;const W=()=>{K()};return window.addEventListener("resize",W),()=>{window.removeEventListener("resize",W)}},[d,K]),m.useEffect(()=>{if(!d){g.current&&(clearTimeout(g.current),g.current=null);return}w.current||q();let W,se;const y=()=>{W=requestAnimationFrame(()=>{se=requestAnimationFrame(()=>{(!b.current||b.current.readyState!==WebSocket.OPEN)&&z.current?.()})})},D=window.setTimeout(y,50);return()=>{clearTimeout(D),cancelAnimationFrame(W),cancelAnimationFrame(se)}},[d,q]),m.useEffect(()=>{if(d&&h.current){let W,se;const y=()=>{W=requestAnimationFrame(()=>{se=requestAnimationFrame(()=>{h.current&&p.current&&(K(),h.current.refresh(0,h.current.rows-1),h.current.focus())})})},D=window.setTimeout(y,16);return()=>{clearTimeout(D),cancelAnimationFrame(W),cancelAnimationFrame(se)}}},[d,K]),m.useEffect(()=>()=>{g.current&&clearTimeout(g.current),b.current&&b.current.close(),h.current&&h.current.dispose(),w.current=!1},[]),m.useEffect(()=>{if(d&&w.current){if(H.current===null&&B.current===null){H.current=c,B.current=r;return}if(H.current===c&&B.current===r)return;H.current=c,B.current=r,h.current&&(h.current.clear(),h.current.write("\x1B[H")),L.current=!0,b.current&&(b.current.close(),b.current=null),E.current=!1,Z(!1),$(null),A.current=0,z.current?.()}},[c,r,d]),l.jsxs("div",{className:"relative h-full w-full bg-zinc-950",children:[l.jsxs("div",{className:"absolute top-2 right-2 z-10 flex items-center gap-2",children:[l.jsx("div",{className:`w-2 h-2 rounded-full ${C?"bg-green-500":"bg-destructive"}`,title:C?"Connected":"Disconnected"}),!C&&!S&&l.jsx("span",{className:"text-xs font-mono text-muted-foreground",children:"Connecting..."}),S&&F!==null&&l.jsxs("span",{className:"text-xs font-mono text-yellow-500",children:["Exit: ",F]})]}),l.jsx("div",{ref:o,className:"h-full w-full p-2",style:{minHeight:"100px"},onClick:()=>{h.current?.focus()}})]})}function Rv({terminals:c,activeTerminalId:r,onSelect:d,onCreate:o,onRename:h,onClose:p}){const[b,g]=m.useState(null),[A,w]=m.useState(""),[E,_]=m.useState({visible:!1,x:0,y:0,terminalId:null}),L=m.useRef(null),z=m.useRef(null);m.useEffect(()=>{b&&L.current&&(L.current.focus(),L.current.select())},[b]),m.useEffect(()=>{const X=ee=>{z.current&&!z.current.contains(ee.target)&&_(Y=>({...Y,visible:!1}))};if(E.visible)return document.addEventListener("mousedown",X),()=>document.removeEventListener("mousedown",X)},[E.visible]);const H=m.useCallback(X=>{g(X.id),w(X.name),_(ee=>({...ee,visible:!1}))},[]),B=m.useCallback(()=>{b&&A.trim()&&h(b,A.trim()),g(null),w("")},[b,A,h]),R=m.useCallback(()=>{g(null),w("")},[]),C=m.useCallback(X=>{us(X,!1)?(X.preventDefault(),B()):X.key==="Escape"&&(X.preventDefault(),R())},[B,R]),v=m.useCallback(X=>{H(X)},[H]),S=m.useCallback((X,ee)=>{X.preventDefault(),_({visible:!0,x:X.clientX,y:X.clientY,terminalId:ee})},[]),Z=m.useCallback(()=>{if(E.terminalId){const X=c.find(ee=>ee.id===E.terminalId);X&&H(X)}},[E.terminalId,c,H]),F=m.useCallback(()=>{E.terminalId&&p(E.terminalId),_(X=>({...X,visible:!1}))},[E.terminalId,p]),$=m.useCallback((X,ee)=>{X.stopPropagation(),p(ee)},[p]);return l.jsxs("div",{className:"flex items-center gap-1 px-2 py-1 bg-zinc-900 border-b border-border overflow-x-auto",children:[c.map(X=>l.jsxs("div",{className:`
|
|
63
|
-
group flex items-center gap-1 px-3 py-1 rounded cursor-pointer
|
|
64
|
-
transition-colors duration-100 select-none min-w-0
|
|
65
|
-
${r===X.id?"bg-primary text-primary-foreground":"bg-zinc-800 text-zinc-300 hover:bg-zinc-700"}
|
|
66
|
-
`,onClick:()=>d(X.id),onDoubleClick:()=>v(X),onContextMenu:ee=>S(ee,X.id),children:[b===X.id?l.jsx(dt,{ref:L,type:"text",value:A,onChange:ee=>w(ee.target.value),onBlur:B,onKeyDown:C,className:"h-6 px-1 py-0 text-sm font-mono w-24",onClick:ee=>ee.stopPropagation()}):l.jsx("span",{className:"text-sm font-mono truncate max-w-[120px]",children:X.name}),c.length>1&&l.jsx("button",{onClick:ee=>$(ee,X.id),className:`
|
|
67
|
-
p-0.5 rounded opacity-0 group-hover:opacity-100 transition-opacity
|
|
68
|
-
${r===X.id?"hover:bg-black/20":"hover:bg-white/20"}
|
|
69
|
-
`,title:"Close terminal",children:l.jsx(tt,{className:"w-3 h-3"})})]},X.id)),l.jsx(J,{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:l.jsx(Pa,{className:"w-4 h-4"})}),E.visible&&l.jsxs("div",{ref:z,className:"fixed z-50 bg-popover border border-border rounded-md py-1 min-w-[120px] shadow-md",style:{left:E.x,top:E.y},children:[l.jsx("button",{onClick:Z,className:"w-full px-3 py-1.5 text-left text-sm font-mono hover:bg-accent transition-colors",children:"Rename"}),c.length>1&&l.jsx("button",{onClick:F,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 Gm=150,Qm=600,Uv=288,Ym="debug-panel-height",Vm="debug-panel-tab";function Bv({logs:c,devLogs:r,isOpen:d,onToggle:o,onClear:h,onClearDevLogs:p,onHeightChange:b,projectName:g,activeTab:A,onTabChange:w}){const E=m.useRef(null),_=m.useRef(null),[L,z]=m.useState(!0),[H,B]=m.useState(!0),[R,C]=m.useState(!1),[v,S]=m.useState(()=>{const te=localStorage.getItem(Ym);return te?Math.min(Math.max(parseInt(te,10),Gm),Qm):Uv}),[Z,F]=m.useState(()=>localStorage.getItem(Vm)||"agent"),[$,X]=m.useState([]),[ee,Y]=m.useState(null),[ne,K]=m.useState(!1),O=A??Z,q=te=>{F(te),localStorage.setItem(Vm,te),w?.(te)},W=m.useCallback(async()=>{if(g){K(!0);try{const te=await Ty(g);X(te),te.length>0&&(!ee||!te.find(oe=>oe.id===ee))&&Y(te[0].id)}catch(te){console.error("Failed to fetch terminals:",te)}finally{K(!1)}}},[g,ee]),se=m.useCallback(async()=>{if(g)try{const te=await Ay(g);X(oe=>[...oe,te]),Y(te.id)}catch(te){console.error("Failed to create terminal:",te)}},[g]),y=m.useCallback(async(te,oe)=>{if(g)try{const Ue=await Dy(g,te,oe);X(Nt=>Nt.map(Zt=>Zt.id===te?Ue:Zt))}catch(Ue){console.error("Failed to rename terminal:",Ue)}},[g]),D=m.useCallback(async te=>{if(!(!g||$.length<=1))try{if(await My(g,te),X(oe=>oe.filter(Ue=>Ue.id!==te)),ee===te){const oe=$.filter(Ue=>Ue.id!==te);oe.length>0&&Y(oe[0].id)}}catch(oe){console.error("Failed to close terminal:",oe)}},[g,$,ee]);m.useEffect(()=>{g?W():(X([]),Y(null))},[g]),m.useEffect(()=>{L&&E.current&&d&&O==="agent"&&(E.current.scrollTop=E.current.scrollHeight)},[c,L,d,O]),m.useEffect(()=>{H&&_.current&&d&&O==="devserver"&&(_.current.scrollTop=_.current.scrollHeight)},[r,H,d,O]),m.useEffect(()=>{b&&d&&b(v)},[v,d,b]);const I=m.useCallback(te=>{const oe=window.innerHeight-te.clientY,Ue=Math.min(Math.max(oe,Gm),Qm);S(Ue)},[]),P=m.useCallback(()=>{C(!1),localStorage.setItem(Ym,v.toString())},[v]);m.useEffect(()=>(R&&(document.addEventListener("mousemove",I),document.addEventListener("mouseup",P),document.body.style.cursor="ns-resize",document.body.style.userSelect="none"),()=>{document.removeEventListener("mousemove",I),document.removeEventListener("mouseup",P),document.body.style.cursor="",document.body.style.userSelect=""}),[R,I,P]);const de=te=>{te.preventDefault(),te.stopPropagation(),C(!0)},ue=te=>{const oe=te.currentTarget,Ue=oe.scrollHeight-oe.scrollTop<=oe.clientHeight+50;z(Ue)},Ce=te=>{const oe=te.currentTarget,Ue=oe.scrollHeight-oe.scrollTop<=oe.clientHeight+50;B(Ue)},le=()=>{O==="agent"?h():O==="devserver"&&p()},Re=()=>O==="agent"?c.length:O==="devserver"?r.length:0,ut=()=>O==="agent"?!L:O==="devserver"?!H:!1,ft=te=>{const oe=te.toLowerCase();return oe.includes("error")||oe.includes("exception")||oe.includes("traceback")?"error":oe.includes("warn")||oe.includes("warning")?"warn":oe.includes("debug")?"debug":"info"},ia=te=>{switch(te){case"error":return"text-red-500";case"warn":return"text-yellow-500";case"debug":return"text-blue-400";default:return"text-foreground"}},ca=te=>{try{return new Date(te).toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return""}};return l.jsxs("div",{className:`fixed bottom-0 left-0 right-0 z-40 ${R?"":"transition-all duration-200"}`,style:{height:d?v:40},children:[d&&l.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:de,children:l.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:l.jsx(np,{size:12,className:"text-muted-foreground group-hover:text-foreground"})})}),l.jsxs("div",{className:"flex items-center justify-between h-10 px-4 bg-muted border-t border-border",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsxs("button",{onClick:o,className:"flex items-center gap-2 hover:bg-accent px-2 py-1 rounded transition-colors cursor-pointer",children:[l.jsx(Sm,{size:16,className:"text-green-500"}),l.jsx("span",{className:"font-mono text-sm text-foreground font-bold",children:"Debug"}),l.jsx(ke,{variant:"secondary",className:"text-xs font-mono",title:"Toggle debug panel",children:"D"})]}),d&&l.jsxs("div",{className:"flex items-center gap-1 ml-4",children:[l.jsxs(J,{variant:O==="agent"?"secondary":"ghost",size:"sm",onClick:te=>{te.stopPropagation(),q("agent")},className:"h-7 text-xs font-mono gap-1.5",children:[l.jsx(sp,{size:12}),"Agent",c.length>0&&l.jsx(ke,{variant:"default",className:"h-4 px-1.5 text-[10px]",children:c.length})]}),l.jsxs(J,{variant:O==="devserver"?"secondary":"ghost",size:"sm",onClick:te=>{te.stopPropagation(),q("devserver")},className:"h-7 text-xs font-mono gap-1.5",children:[l.jsx(ip,{size:12}),"Dev Server",r.length>0&&l.jsx(ke,{variant:"default",className:"h-4 px-1.5 text-[10px]",children:r.length})]}),l.jsxs(J,{variant:O==="terminal"?"secondary":"ghost",size:"sm",onClick:te=>{te.stopPropagation(),q("terminal")},className:"h-7 text-xs font-mono gap-1.5",children:[l.jsx(Sm,{size:12}),"Terminal",l.jsx(ke,{variant:"outline",className:"h-4 px-1.5 text-[10px]",title:"Toggle terminal",children:"T"})]})]}),d&&O!=="terminal"&&l.jsxs(l.Fragment,{children:[Re()>0&&l.jsx(ke,{variant:"secondary",className:"ml-2 font-mono",children:Re()}),ut()&&l.jsx(ke,{variant:"default",className:"bg-yellow-500 text-yellow-950",children:"Paused"})]})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[d&&O!=="terminal"&&l.jsx(J,{variant:"ghost",size:"icon",onClick:te=>{te.stopPropagation(),le()},className:"h-7 w-7",title:"Clear logs",children:l.jsx(tl,{size:14,className:"text-muted-foreground"})}),l.jsx("div",{className:"p-1",children:d?l.jsx(rs,{size:16,className:"text-muted-foreground"}):l.jsx(Ui,{size:16,className:"text-muted-foreground"})})]})]}),d&&l.jsxs("div",{className:"h-[calc(100%-2.5rem)] bg-card",children:[O==="agent"&&l.jsx("div",{ref:E,onScroll:ue,className:"h-full overflow-y-auto p-2 font-mono text-sm",children:c.length===0?l.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:"No logs yet. Start the agent to see output."}):l.jsx("div",{className:"space-y-0.5",children:c.map((te,oe)=>{const Ue=ft(te.line),Nt=ia(Ue),Zt=ca(te.timestamp);return l.jsxs("div",{className:"flex gap-2 hover:bg-muted px-1 py-0.5 rounded",children:[l.jsx("span",{className:"text-muted-foreground select-none shrink-0",children:Zt}),l.jsx("span",{className:`${Nt} whitespace-pre-wrap break-all`,children:te.line})]},`${te.timestamp}-${oe}`)})})}),O==="devserver"&&l.jsx("div",{ref:_,onScroll:Ce,className:"h-full overflow-y-auto p-2 font-mono text-sm",children:r.length===0?l.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:"No dev server logs yet."}):l.jsx("div",{className:"space-y-0.5",children:r.map((te,oe)=>{const Ue=ft(te.line),Nt=ia(Ue),Zt=ca(te.timestamp);return l.jsxs("div",{className:"flex gap-2 hover:bg-muted px-1 py-0.5 rounded",children:[l.jsx("span",{className:"text-muted-foreground select-none shrink-0",children:Zt}),l.jsx("span",{className:`${Nt} whitespace-pre-wrap break-all`,children:te.line})]},`${te.timestamp}-${oe}`)})})}),O==="terminal"&&l.jsxs("div",{className:"h-full flex flex-col",children:[$.length>0&&l.jsx(Rv,{terminals:$,activeTerminalId:ee,onSelect:Y,onCreate:se,onRename:y,onClose:D}),l.jsx("div",{className:"flex-1 min-h-0 relative",children:ne?l.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground font-mono text-sm",children:"Loading terminals..."}):$.length===0?l.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground font-mono text-sm",children:"No terminal available"}):$.map(te=>{const oe=te.id===ee;return l.jsx("div",{className:"absolute inset-0",style:{zIndex:oe?10:1,transform:oe?"none":"translateX(-200%)",pointerEvents:oe?"auto":"none"},children:l.jsx(Ov,{projectName:g,terminalId:te.id,isActive:O==="terminal"&&oe})},te.id)})})]})]})]})}function Hv(c){switch(c){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 qv(c){switch(c){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 xh(c){return c==="testing"?{label:"TEST",className:"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-300",icon:th}:{label:"CODE",className:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300",icon:ah}}function Lv({agent:c,onShowLogs:r}){const d=["thinking","working","testing"].includes(c.state),o=c.logs&&c.logs.length>0,h=xh(c.agentType||"coding"),p=h.icon;return l.jsx(_e,{className:`min-w-[180px] max-w-[220px] py-3 ${d?"animate-pulse":""}`,children:l.jsxs(Ge,{className:"p-3 space-y-2",children:[l.jsx("div",{className:"flex justify-end",children:l.jsxs(ke,{variant:"outline",className:`text-[10px] ${h.className}`,children:[l.jsx(p,{size:10}),h.label]})}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(hn,{name:c.agentName,state:c.state,size:"sm"}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:"font-semibold text-sm truncate",children:c.agentName}),l.jsx("div",{className:`text-xs ${qv(c.state)}`,children:Hv(c.state)})]}),o&&r&&l.jsx(J,{variant:"ghost",size:"icon-xs",onClick:()=>r(c.agentIndex),title:`View logs (${c.logs?.length||0} entries)`,children:l.jsx(cp,{size:14,className:"text-muted-foreground"})})]}),l.jsx("div",{children:c.featureIds&&c.featureIds.length>1?l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"text-xs text-muted-foreground mb-0.5",children:["Batch: ",c.featureIds.map(b=>`#${b}`).join(", ")]}),l.jsxs("div",{className:"text-sm font-bold truncate",children:["Active: Feature #",c.featureId]})]}):l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"text-xs text-muted-foreground mb-0.5",children:["Feature #",c.featureId]}),l.jsx("div",{className:"text-sm font-medium truncate",title:c.featureName,children:c.featureName})]})}),c.thought&&l.jsx("div",{className:"pt-2 border-t border-border/50",children:l.jsxs("div",{className:"flex items-start gap-1.5",children:[l.jsx(mu,{size:14,className:"text-primary shrink-0 mt-0.5"}),l.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2 italic",title:c.thought,children:c.thought})]})})]})})}function Gv({agent:c,logs:r,onClose:d}){const[o,h]=m.useState(!1),p=xh(c.agentType||"coding"),b=p.icon,g=async()=>{const w=r.map(E=>`[${E.timestamp}] ${E.line}`).join(`
|
|
70
|
-
`);await navigator.clipboard.writeText(w),h(!0),setTimeout(()=>h(!1),2e3)},A=w=>{switch(w){case"error":return"text-destructive";case"state_change":return"text-primary";default:return"text-foreground"}};return ih.createPortal(l.jsx("div",{className:"fixed inset-0 flex items-center justify-center p-4 bg-black/50",style:{zIndex:9999},onClick:w=>{w.target===w.currentTarget&&d()},children:l.jsxs(_e,{className:"w-full max-w-4xl max-h-[80vh] flex flex-col py-0",children:[l.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx(hn,{name:c.agentName,state:c.state,size:"sm"}),l.jsxs("div",{children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsxs("h2",{className:"font-semibold text-lg",children:[c.agentName," Logs"]}),l.jsxs(ke,{variant:"outline",className:`text-[10px] ${p.className}`,children:[l.jsx(b,{size:10}),p.label]})]}),l.jsx("p",{className:"text-sm text-muted-foreground",children:c.featureIds&&c.featureIds.length>1?`Batch: ${c.featureIds.map(w=>`#${w}`).join(", ")}`:`Feature #${c.featureId}: ${c.featureName}`})]})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsxs(J,{variant:"outline",size:"sm",onClick:g,children:[o?l.jsx(ea,{size:14}):l.jsx(rp,{size:14}),o?"Copied!":"Copy"]}),l.jsx(J,{variant:"ghost",size:"icon-sm",onClick:d,children:l.jsx(tt,{size:20})})]})]}),l.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 bg-muted/50",children:l.jsx("div",{className:"font-mono text-xs space-y-1",children:r.length===0?l.jsx("p",{className:"text-muted-foreground italic",children:"No logs available"}):r.map((w,E)=>l.jsxs("div",{className:`${A(w.type)} whitespace-pre-wrap break-all`,children:[l.jsxs("span",{className:"text-muted-foreground",children:["[",new Date(w.timestamp).toLocaleTimeString(),"]"]})," ",w.line]},E))})}),l.jsxs("div",{className:"p-3 border-t text-xs text-muted-foreground",children:[r.length," log entries"]})]})}),document.body)}function Qv(c){const r=new Date(c),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 Yv({activities:c,maxItems:r=5,showHeader:d=!0}){const o=c.slice(0,r);return o.length===0?null:l.jsxs("div",{children:[d&&l.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[l.jsx(lh,{size:14,className:"text-muted-foreground"}),l.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Recent Activity"})]}),l.jsx("div",{className:"space-y-2",children:o.map(h=>l.jsx(_e,{className:"py-1.5",children:l.jsxs(Ge,{className:"p-2 flex items-start gap-2",children:[l.jsx(hn,{name:h.agentName,state:"working",size:"sm"}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("span",{className:"text-xs font-semibold",style:{color:Vv(h.agentName)},children:h.agentName}),l.jsxs("span",{className:"text-[10px] text-muted-foreground",children:["#",h.featureId]}),l.jsx("span",{className:"text-[10px] text-muted-foreground ml-auto",children:Qv(h.timestamp)})]}),l.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 Vv(c){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"}[c]||"#6B7280"}const Xv={sm:{svg:32,font:"text-xs"},md:{svg:48,font:"text-sm"},lg:{svg:64,font:"text-base"}},Ie={primary:"#7C3AED",secondary:"#A78BFA",accent:"#EDE9FE",baton:"#FBBF24",gold:"#F59E0B"};function Zv({size:c,state:r}){const d=r==="spawning"?"animate-conducting":r==="scheduling"?"animate-baton-tap":"";return l.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[l.jsx("rect",{x:"22",y:"54",width:"20",height:"6",rx:"2",fill:Ie.primary,opacity:"0.3"}),l.jsx("rect",{x:"18",y:"28",width:"28",height:"26",rx:"4",fill:Ie.primary}),l.jsx("rect",{x:"26",y:"32",width:"12",height:"18",fill:Ie.accent}),l.jsx("rect",{x:"30",y:"32",width:"4",height:"18",fill:Ie.secondary}),l.jsx("path",{d:"M27,30 L32,33 L37,30 L32,32 Z",fill:Ie.gold}),l.jsx("rect",{x:"16",y:"6",width:"32",height:"24",rx:"4",fill:Ie.secondary}),l.jsx("rect",{x:"14",y:"2",width:"36",height:"8",rx:"2",fill:Ie.primary}),l.jsx("rect",{x:"20",y:"0",width:"24",height:"4",rx:"2",fill:Ie.primary}),l.jsx("circle",{cx:"32",cy:"2",r:"3",fill:Ie.gold}),l.jsx("circle",{cx:"24",cy:"16",r:"4",fill:"white"}),l.jsx("circle",{cx:"40",cy:"16",r:"4",fill:"white"}),l.jsx("circle",{cx:"25",cy:"16",r:"2",fill:Ie.primary}),l.jsx("circle",{cx:"41",cy:"16",r:"2",fill:Ie.primary}),l.jsx("path",{d:"M26,24 Q32,28 38,24",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"}),l.jsx("rect",{x:"8",y:"32",width:"10",height:"4",rx:"2",fill:Ie.primary}),l.jsx("rect",{x:"46",y:"28",width:"10",height:"4",rx:"2",fill:Ie.primary,className:d,style:{transformOrigin:"46px 30px"}}),l.jsx("circle",{cx:"56",cy:"30",r:"4",fill:Ie.secondary,className:d,style:{transformOrigin:"46px 30px"}}),l.jsxs("g",{className:d,style:{transformOrigin:"56px 30px"},children:[l.jsx("line",{x1:"56",y1:"26",x2:"62",y2:"10",stroke:Ie.baton,strokeWidth:"2",strokeLinecap:"round"}),l.jsx("circle",{cx:"62",cy:"10",r:"2",fill:Ie.gold})]}),(r==="spawning"||r==="monitoring")&&l.jsxs(l.Fragment,{children:[l.jsx("text",{x:"4",y:"20",fontSize:"8",fill:Ie.secondary,className:"animate-pulse",children:"♪"}),l.jsx("text",{x:"58",y:"48",fontSize:"8",fill:Ie.secondary,className:"animate-pulse",style:{animationDelay:"0.3s"},children:"♫"})]})]})}function Kv(c){switch(c){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"complete":return"animate-celebrate";default:return""}}function Fv(c){switch(c){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"complete":return"shadow-[0_0_20px_rgba(112,224,0,0.6)]";default:return""}}function Jv(c){switch(c){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"complete":return"all features complete";default:return c}}function $v({state:c,size:r="md"}){const{svg:d}=Xv[r],h=`Orchestrator Maestro is ${Jv(c)}`;return l.jsx("div",{className:"flex flex-col items-center gap-1",role:"status","aria-label":h,"aria-live":"polite",children:l.jsx("div",{className:`
|
|
71
|
-
rounded-full p-1 transition-all duration-300
|
|
72
|
-
${Kv(c)}
|
|
73
|
-
${Fv(c)}
|
|
74
|
-
`,style:{backgroundColor:Ie.accent},title:h,role:"img","aria-hidden":"true",children:l.jsx(Zv,{size:d,state:c})})})}function Wv(c){switch(c){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!";default:return"Orchestrating..."}}function Iv(c){switch(c){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";default:return"text-muted-foreground"}}function Pv(c){const r=new Date,d=new Date(c),o=r.getTime()-d.getTime(),h=Math.floor(o/1e3);if(h<5)return"just now";if(h<60)return`${h}s ago`;const p=Math.floor(h/60);return p<60?`${p}m ago`:`${Math.floor(p/60)}h ago`}function eb({status:c}){const[r,d]=m.useState(!1);return l.jsx(_e,{className:"mb-4 bg-primary/10 border-primary/30 py-4",children:l.jsxs(Ge,{className:"p-4",children:[l.jsxs("div",{className:"flex items-start gap-4",children:[l.jsx($v,{state:c.state,size:"md"}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[l.jsx("span",{className:"font-semibold text-lg text-primary",children:"Maestro"}),l.jsx("span",{className:`text-sm font-medium ${Iv(c.state)}`,children:Wv(c.state)})]}),l.jsx("p",{className:"text-sm text-foreground mb-3 line-clamp-2",children:c.message}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsxs(ke,{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:[l.jsx(ah,{size:12}),"Coding: ",c.codingAgents]}),l.jsxs(ke,{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:[l.jsx(th,{size:12}),"Testing: ",c.testingAgents]}),l.jsxs(ke,{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:[l.jsx(un,{size:12}),"Ready: ",c.readyCount]}),c.blockedCount>0&&l.jsxs(ke,{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:[l.jsx(up,{size:12}),"Blocked: ",c.blockedCount]})]})]}),c.recentEvents.length>0&&l.jsxs(J,{variant:"ghost",size:"sm",onClick:()=>d(!r),className:"text-primary hover:bg-primary/10",children:[l.jsx(jl,{size:12}),"Activity",r?l.jsx(Ui,{size:14}):l.jsx(rs,{size:14})]})]}),r&&c.recentEvents.length>0&&l.jsx("div",{className:"mt-3 pt-3 border-t border-primary/20",children:l.jsx("div",{className:"space-y-1.5",children:c.recentEvents.map((o,h)=>l.jsxs("div",{className:"flex items-start gap-2 text-xs",children:[l.jsx("span",{className:"text-primary shrink-0 font-mono",children:Pv(o.timestamp)}),l.jsx("span",{className:"text-foreground",children:o.message})]},`${o.timestamp}-${h}`))})})]})})}const Xm="autoforge-activity-collapsed";function tb({agents:c,orchestratorStatus:r,recentActivity:d,isExpanded:o=!0,getAgentLogs:h}){const[p,b]=m.useState(o),[g,A]=m.useState(()=>{try{return localStorage.getItem(Xm)==="true"}catch{return!1}}),[w,E]=m.useState(null),_=()=>{const L=!g;A(L);try{localStorage.setItem(Xm,String(L))}catch{}};return!r&&c.length===0?null:l.jsxs(_e,{className:"mb-6 overflow-hidden py-0",children:[l.jsxs("button",{onClick:()=>b(!p),className:"w-full flex items-center justify-between px-4 py-3 bg-primary hover:bg-primary/90 transition-colors",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(op,{size:20,className:"text-primary-foreground"}),l.jsx("span",{className:"font-semibold text-primary-foreground uppercase tracking-wide",children:"Mission Control"}),l.jsx(ke,{variant:"secondary",className:"ml-2",children:c.length>0?`${c.length} ${c.length===1?"agent":"agents"} active`:r?.state==="initializing"?"Initializing":r?.state==="complete"?"Complete":"Orchestrating"})]}),p?l.jsx(Ui,{size:20,className:"text-primary-foreground"}):l.jsx(rs,{size:20,className:"text-primary-foreground"})]}),l.jsx("div",{className:`
|
|
75
|
-
transition-all duration-300 ease-out
|
|
76
|
-
${p?"max-h-[600px] opacity-100 overflow-y-auto":"max-h-0 opacity-0 overflow-hidden"}
|
|
77
|
-
`,children:l.jsxs(Ge,{className:"p-4",children:[r&&l.jsx(eb,{status:r}),c.length>0&&l.jsx("div",{className:"flex gap-4 overflow-x-auto pb-4",children:c.map(L=>l.jsx(Lv,{agent:L,onShowLogs:z=>{const H=c.find(B=>B.agentIndex===z);H&&E(H)}},`agent-${L.agentIndex}`))}),d.length>0&&l.jsxs("div",{className:"mt-4 pt-4 border-t",children:[l.jsxs(J,{variant:"ghost",size:"sm",onClick:_,className:"gap-2 mb-2 h-auto p-1",children:[l.jsx(lh,{size:14,className:"text-muted-foreground"}),l.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Recent Activity"}),l.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",d.length,")"]}),g?l.jsx(rs,{size:14,className:"text-muted-foreground"}):l.jsx(Ui,{size:14,className:"text-muted-foreground"})]}),l.jsx("div",{className:`
|
|
78
|
-
transition-all duration-200 ease-out overflow-hidden
|
|
79
|
-
${g?"max-h-0 opacity-0":"max-h-[300px] opacity-100"}
|
|
80
|
-
`,children:l.jsx(Yv,{activities:d,maxItems:5,showHeader:!1})})]})]})}),w&&h&&l.jsx(Gv,{agent:w,logs:h(w.agentIndex),onClose:()=>E(null)})]})}function ab(c){return Array.from({length:c},(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 lb({agentName:c,featureName:r,onComplete:d}){const[o,h]=m.useState(!0),[p]=m.useState(()=>ab(30)),b=m.useCallback(()=>{h(!1),setTimeout(()=>d?.(),300)},[d]);return m.useEffect(()=>{const g=setTimeout(b,3e3),A=w=>{w.key==="Escape"&&b()};return window.addEventListener("keydown",A),()=>{clearTimeout(g),window.removeEventListener("keydown",A)}},[b]),o?l.jsxs("div",{className:`
|
|
81
|
-
fixed inset-0 z-50 flex items-center justify-center
|
|
82
|
-
pointer-events-none
|
|
83
|
-
transition-opacity duration-300
|
|
84
|
-
${o?"opacity-100":"opacity-0"}
|
|
85
|
-
`,children:[l.jsx("div",{className:"absolute inset-0 overflow-hidden",children:p.map(g=>l.jsx("div",{className:"absolute w-3 h-3 animate-confetti",style:{left:`${g.x}%`,top:"-20px",backgroundColor:g.color,animationDelay:`${g.delay}s`,animationDuration:`${g.duration}s`,transform:`rotate(${g.rotation}deg)`}},g.id))}),l.jsx(_e,{onClick:b,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:l.jsxs(Ge,{className:"p-0 flex flex-col items-center gap-4",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(jl,{size:24,className:"text-yellow-300 animate-pulse"}),l.jsx(dp,{size:28,className:"text-white"}),l.jsx(jl,{size:24,className:"text-yellow-300 animate-pulse"})]}),l.jsx(hn,{name:c,state:"success",size:"lg"}),l.jsxs("div",{className:"text-center",children:[l.jsx("h3",{className:"font-display text-lg font-bold text-white mb-1",children:"Feature Complete!"}),l.jsx("p",{className:"text-sm text-white/80 max-w-[200px] truncate",children:r}),l.jsxs("p",{className:"text-xs text-white/60 mt-2",children:["Great job, ",c,"!"]})]}),l.jsx("p",{className:"text-xs text-white/40 mt-1",children:"Click or press Esc to dismiss"})]})})]}):null}function nb({onClick:c,isOpen:r}){return l.jsx(J,{onClick:c,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?l.jsx(tt,{size:24}):l.jsx(mu,{size:24})})}function Di(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function sb({projectName:c,onError:r}){const[d,o]=m.useState([]),[h,p]=m.useState(!1),[b,g]=m.useState("disconnected"),[A,w]=m.useState(null),E=m.useRef(null),_=m.useRef(null),L=m.useRef(0),z=3,H=m.useRef(null),B=m.useRef(null),R=m.useRef(null);m.useEffect(()=>()=>{H.current&&clearInterval(H.current),B.current&&clearTimeout(B.current),R.current&&clearTimeout(R.current),E.current&&E.current.close(),_.current=null},[]);const C=m.useCallback(()=>{if(E.current?.readyState===WebSocket.OPEN||E.current?.readyState===WebSocket.CONNECTING)return;g("connecting");const $=window.location.protocol==="https:"?"wss:":"ws:",X=window.location.host,ee=`${$}//${X}/api/assistant/ws/${encodeURIComponent(c)}`,Y=new WebSocket(ee);E.current=Y,Y.onopen=()=>{g("connected"),L.current=0,H.current=window.setInterval(()=>{Y.readyState===WebSocket.OPEN&&Y.send(JSON.stringify({type:"ping"}))},3e4)},Y.onclose=()=>{if(g("disconnected"),H.current&&(clearInterval(H.current),H.current=null),L.current<z){L.current++;const ne=Math.min(1e3*Math.pow(2,L.current),1e4);B.current=window.setTimeout(C,ne)}},Y.onerror=()=>{g("error"),r?.("WebSocket connection error")},Y.onmessage=ne=>{try{const K=JSON.parse(ne.data);switch(K.type){case"text":{o(O=>{const q=O[O.length-1];return q?.role==="assistant"&&q.isStreaming?[...O.slice(0,-1),{...q,content:q.content+K.content}]:(_.current=Di(),[...O,{id:_.current,role:"assistant",content:K.content,timestamp:new Date,isStreaming:!0}])});break}case"tool_call":{let O=`Using tool: ${K.tool}`;if(K.tool==="mcp__features__feature_create"){const q=K.input;O=`Creating feature: "${q.name||"New Feature"}" in ${q.category||"General"}`}else if(K.tool==="mcp__features__feature_create_bulk"){const W=K.input.features?.length||0;O=`Creating ${W} feature${W!==1?"s":""}`}else if(K.tool==="mcp__features__feature_skip")O="Skipping feature (moving to end of queue)";else if(K.tool==="mcp__features__feature_get_stats")O="Checking project progress";else if(K.tool==="mcp__features__feature_get_next")O="Getting next pending feature";else if(K.tool==="Read"){const W=K.input.file_path||"";O=`Reading file: ${W.split("/").pop()||W}`}else K.tool==="Glob"?O=`Searching for files: ${K.input.pattern||"..."}`:K.tool==="Grep"&&(O=`Searching for: ${K.input.pattern||"..."}`);o(q=>[...q,{id:Di(),role:"system",content:O,timestamp:new Date}]);break}case"conversation_created":{w(K.conversation_id);break}case"response_done":{p(!1),_.current=null,o(O=>{const q=O[O.length-1];return q?.role==="assistant"&&q.isStreaming?[...O.slice(0,-1),{...q,isStreaming:!1}]:O});break}case"error":{p(!1),r?.(K.content),o(O=>[...O,{id:Di(),role:"system",content:`Error: ${K.content}`,timestamp:new Date}]);break}case"pong":break}}catch(K){console.error("Failed to parse WebSocket message:",K)}}},[c,r]),v=m.useCallback($=>{R.current&&(clearTimeout(R.current),R.current=null),C();const X=()=>{if(E.current?.readyState===WebSocket.OPEN){R.current=null,p(!0);const ee={type:"start"};$&&(ee.conversation_id=$,w($)),E.current.send(JSON.stringify(ee))}else E.current?.readyState===WebSocket.CONNECTING?R.current=window.setTimeout(X,100):R.current=null};R.current=window.setTimeout(X,100)},[C]),S=m.useCallback($=>{if(!E.current||E.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}o(X=>[...X,{id:Di(),role:"user",content:$,timestamp:new Date}]),p(!0),E.current.send(JSON.stringify({type:"message",content:$}))},[r]),Z=m.useCallback(()=>{L.current=z,H.current&&(clearInterval(H.current),H.current=null),E.current&&(E.current.close(),E.current=null),g("disconnected")},[]),F=m.useCallback(()=>{o([])},[]);return{messages:d,isLoading:h,connectionStatus:b,conversationId:A,start:v,sendMessage:S,disconnect:Z,clearMessages:F}}function ib(c){return Rt({queryKey:["conversations",c],queryFn:()=>by(c),enabled:!!c,staleTime:3e4})}function cb(c,r){return Rt({queryKey:["conversation",c,r],queryFn:()=>jy(c,r),enabled:!!c&&!!r,staleTime:3e4,retry:(d,o)=>o instanceof Error&&(o.message.toLowerCase().includes("not found")||o.message==="HTTP 404")?!1:d<3})}function rb(c){const r=at();return rt({mutationFn:d=>Sy(c,d),onSuccess:(d,o)=>{r.invalidateQueries({queryKey:["conversations",c]}),r.removeQueries({queryKey:["conversation",c,o]})}})}function ub(c){if(!c)return"";const r=new Date(c),o=new Date().getTime()-r.getTime(),h=Math.floor(o/1e3),p=Math.floor(h/60),b=Math.floor(p/60),g=Math.floor(b/24);return h<60?"just now":p<60?`${p}m ago`:b<24?`${b}h ago`:g===1?"yesterday":g<7?`${g}d ago`:r.toLocaleDateString()}function ob({projectName:c,currentConversationId:r,isOpen:d,onClose:o,onSelectConversation:h}){const[p,b]=m.useState(null),[g,A]=m.useState(null),{data:w,isLoading:E}=ib(c),_=rb(c);m.useEffect(()=>{d||A(null)},[d]);const L=(R,C)=>{R.stopPropagation(),b(C)},z=async()=>{if(p)try{A(null),await _.mutateAsync(p.id),b(null)}catch{A("Failed to delete conversation. Please try again.")}},H=()=>{b(null),A(null)},B=R=>{h(R),o()};return m.useEffect(()=>{if(!d)return;const R=C=>{C.key==="Escape"&&(C.preventDefault(),o())};return document.addEventListener("keydown",R),()=>document.removeEventListener("keydown",R)},[d,o]),d?l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"fixed inset-0 z-40",onClick:o}),l.jsxs(_e,{className:"absolute top-full left-0 mt-2 z-50 w-[320px] max-w-[calc(100vw-2rem)] shadow-lg",children:[l.jsx(qi,{className:"p-3 border-b border-border",children:l.jsx("h3",{className:"font-bold text-sm",children:"Conversation History"})}),l.jsx(Ge,{className:"p-0",children:E?l.jsx("div",{className:"p-4 flex items-center justify-center",children:l.jsx(Me,{size:20,className:"animate-spin text-muted-foreground"})}):!w||w.length===0?l.jsx("div",{className:"p-4 text-center text-muted-foreground text-sm",children:"No conversations yet"}):l.jsx("div",{className:"max-h-[300px] overflow-y-auto",children:w.map(R=>{const C=R.id===r;return l.jsxs("div",{className:`flex items-center group ${C?"bg-primary/10":"hover:bg-muted"}`,children:[l.jsx("button",{onClick:()=>B(R.id),className:"flex-1 px-3 py-2 text-left",disabled:C,children:l.jsxs("div",{className:"flex items-start gap-2",children:[l.jsx(fp,{size:16,className:"mt-0.5 flex-shrink-0 text-muted-foreground"}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:"font-medium truncate text-foreground",children:R.title||"Untitled conversation"}),l.jsxs("div",{className:"text-xs flex items-center gap-2 text-muted-foreground",children:[l.jsxs("span",{children:[R.message_count," messages"]}),l.jsx("span",{children:"|"}),l.jsx("span",{children:ub(R.updated_at)})]})]})]})}),l.jsx(J,{variant:"ghost",size:"icon",onClick:v=>L(v,R),className:`h-8 w-8 mr-2 ${C?"opacity-60 hover:opacity-100":"opacity-0 group-hover:opacity-100"} hover:text-destructive hover:bg-destructive/10`,title:"Delete conversation",children:l.jsx(tl,{size:14})})]},R.id)})})})]}),l.jsx(hh,{isOpen:p!==null,title:"Delete Conversation",message:g?l.jsxs("div",{className:"space-y-3",children:[l.jsx("p",{children:`Are you sure you want to delete "${p?.title||"this conversation"}"? This action cannot be undone.`}),l.jsxs("div",{className:"flex items-center gap-2 p-2 bg-destructive/10 border border-destructive rounded text-sm text-destructive",children:[l.jsx(wa,{size:16,className:"flex-shrink-0"}),l.jsx("span",{children:g})]})]}):`Are you sure you want to delete "${p?.title||"this conversation"}"? This action cannot be undone.`,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",isLoading:_.isPending,onConfirm:z,onCancel:H})]}):null}function db({projectName:c,conversationId:r,initialMessages:d,isLoadingConversation:o,onNewChat:h,onSelectConversation:p,onConversationCreated:b}){const[g,A]=m.useState(""),[w,E]=m.useState(!1),_=m.useRef(null),L=m.useRef(null),z=m.useRef(!1),H=m.useRef(void 0),B=m.useCallback(q=>{console.error("Assistant error:",q)},[]),{messages:R,isLoading:C,connectionStatus:v,conversationId:S,start:Z,sendMessage:F,clearMessages:$}=sb({projectName:c,onError:B}),X=m.useRef(S);m.useEffect(()=>{X.current===null&&S!==null&&b&&b(S),X.current=S},[S,b]),m.useEffect(()=>{_.current?.scrollIntoView({behavior:"smooth"})},[R]),m.useEffect(()=>{if(o||H.current===r&&z.current)return;const q=H.current!==void 0&&H.current!==r;H.current=r,z.current=!0,q&&$(),Z(r)},[r,o,Z,$]);const ee=m.useCallback(()=>{$(),h?.()},[$,h]),Y=m.useCallback(q=>{E(!1),p?.(q)},[p]);m.useEffect(()=>{C||L.current?.focus()},[C]);const ne=()=>{const q=g.trim();!q||C||o||(F(q),A(""))},K=q=>{us(q)&&(q.preventDefault(),ne())},O=m.useMemo(()=>{if(!(H.current===r&&!o))return d??[];if(!d||d.length===0)return R;const W=new Map;for(const se of d)W.set(se.id,se);for(const se of R)W.set(se.id,se);return Array.from(W.values())},[d,R,r,o]);return l.jsxs("div",{className:"flex flex-col h-full",children:[l.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border bg-background",children:[l.jsxs("div",{className:"flex items-center gap-1 relative",children:[l.jsx(J,{variant:"ghost",size:"icon",onClick:ee,className:"h-8 w-8",title:"New conversation",disabled:C,children:l.jsx(Pa,{size:16})}),l.jsx(J,{variant:w?"secondary":"ghost",size:"icon",onClick:()=>E(!w),className:"h-8 w-8",title:"Conversation history",children:l.jsx(mp,{size:16})}),l.jsx(ob,{projectName:c,currentConversationId:r??S,isOpen:w,onClose:()=>E(!1),onSelectConversation:Y})]}),l.jsx("div",{className:"flex items-center gap-2",children:v==="connected"?l.jsxs(l.Fragment,{children:[l.jsx(fn,{size:14,className:"text-green-500"}),l.jsx("span",{className:"text-xs text-muted-foreground",children:"Connected"})]}):v==="connecting"?l.jsxs(l.Fragment,{children:[l.jsx(Me,{size:14,className:"text-primary animate-spin"}),l.jsx("span",{className:"text-xs text-muted-foreground",children:"Connecting..."})]}):l.jsxs(l.Fragment,{children:[l.jsx(dn,{size:14,className:"text-destructive"}),l.jsx("span",{className:"text-xs text-muted-foreground",children:"Disconnected"})]})})]}),l.jsx("div",{className:"flex-1 overflow-y-auto bg-background",children:o?l.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Me,{size:16,className:"animate-spin"}),l.jsx("span",{children:"Loading conversation..."})]})}):O.length===0?l.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:C?l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Me,{size:16,className:"animate-spin"}),l.jsx("span",{children:"Connecting to assistant..."})]}):l.jsx("span",{children:"Ask me anything about the codebase"})}):l.jsxs("div",{className:"py-4",children:[O.map(q=>l.jsx(pu,{message:q},q.id)),l.jsx("div",{ref:_})]})}),C&&O.length>0&&l.jsx("div",{className:"px-4 py-2 border-t border-border bg-background",children:l.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground text-sm",children:[l.jsxs("div",{className:"flex gap-1",children:[l.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"0ms"}}),l.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"150ms"}}),l.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"300ms"}})]}),l.jsx("span",{children:"Thinking..."})]})}),l.jsxs("div",{className:"border-t border-border p-4 bg-card",children:[l.jsxs("div",{className:"flex gap-2",children:[l.jsx(Li,{ref:L,value:g,onChange:q=>A(q.target.value),onKeyDown:K,placeholder:"Ask about the codebase...",disabled:C||o||v!=="connected",className:"flex-1 resize-none min-h-[44px] max-h-[120px]",rows:1}),l.jsx(J,{onClick:ne,disabled:!g.trim()||C||o||v!=="connected",title:"Send message",children:C?l.jsx(Me,{size:18,className:"animate-spin"}):l.jsx(fu,{size:18})})]}),l.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"Press Enter to send, Shift+Enter for new line"})]})]})}const gh="assistant-conversation-";function Zm(c){try{const r=localStorage.getItem(`${gh}${c}`);if(r)return JSON.parse(r).conversationId||null}catch{}return null}function fb(c,r){const d=`${gh}${c}`;r?localStorage.setItem(d,JSON.stringify({conversationId:r})):localStorage.removeItem(d)}function mb({projectName:c,isOpen:r,onClose:d}){const[o,h]=m.useState(()=>Zm(c)),{data:p,isLoading:b,error:g}=cb(c,o);m.useEffect(()=>{if(g&&o){const L=g.message.toLowerCase();(L.includes("not found")||L.includes("404"))&&(console.warn(`Conversation ${o} not found, clearing stored ID`),h(null))}},[g,o]);const A=p?.messages.map(L=>({id:`db-${L.id}`,role:L.role,content:L.content,timestamp:L.timestamp?new Date(L.timestamp):new Date}));m.useEffect(()=>{fb(c,o)},[c,o]),m.useEffect(()=>{h(Zm(c))},[c]);const w=m.useCallback(()=>{h(null)},[]),E=m.useCallback(L=>{h(L)},[]),_=m.useCallback(L=>{h(L)},[]);return l.jsxs(l.Fragment,{children:[r&&l.jsx("div",{className:"fixed inset-0 bg-black/20 z-40 transition-opacity duration-300",onClick:d,"aria-hidden":"true"}),l.jsxs("div",{className:`
|
|
86
|
-
fixed right-0 top-0 bottom-0 z-50
|
|
87
|
-
w-[400px] max-w-[90vw]
|
|
88
|
-
bg-card
|
|
89
|
-
border-l border-border
|
|
90
|
-
transform transition-transform duration-300 ease-out
|
|
91
|
-
flex flex-col shadow-xl
|
|
92
|
-
${r?"translate-x-0":"translate-x-full"}
|
|
93
|
-
`,role:"dialog","aria-label":"Project Assistant","aria-hidden":!r,children:[l.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border bg-primary text-primary-foreground",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("div",{className:"bg-card text-foreground border border-border p-1.5 rounded",children:l.jsx(uu,{size:18})}),l.jsxs("div",{children:[l.jsx("h2",{className:"font-semibold",children:"Project Assistant"}),l.jsx("p",{className:"text-xs opacity-80 font-mono",children:c})]})]}),l.jsx(J,{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:l.jsx(tt,{size:18})})]}),l.jsx("div",{className:"flex-1 overflow-hidden",children:r&&l.jsx(db,{projectName:c,conversationId:o,initialMessages:A,isLoadingConversation:b,onNewChat:w,onSelectConversation:E,onConversationCreated:_})})]})]})}function Mi(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function hb({projectName:c,onComplete:r,onError:d}){const[o,h]=m.useState([]),[p,b]=m.useState(!1),[g,A]=m.useState(!1),[w,E]=m.useState("disconnected"),[_,L]=m.useState(0),[z,H]=m.useState([]),B=m.useRef(null),R=m.useRef(null),C=m.useRef(0),v=3,S=m.useRef(null),Z=m.useRef(null),F=m.useRef(!1),$=m.useRef(!1);m.useEffect(()=>{F.current=g},[g]),m.useEffect(()=>()=>{S.current&&clearInterval(S.current),Z.current&&clearTimeout(Z.current),B.current&&B.current.close()},[]);const X=m.useCallback(()=>{if($.current||B.current?.readyState===WebSocket.OPEN)return;E("connecting");const K=window.location.protocol==="https:"?"wss:":"ws:",O=window.location.host,q=`${K}//${O}/api/expand/ws/${encodeURIComponent(c)}`,W=new WebSocket(q);B.current=W,W.onopen=()=>{E("connected"),C.current=0,$.current=!1,S.current=window.setInterval(()=>{W.readyState===WebSocket.OPEN&&W.send(JSON.stringify({type:"ping"}))},3e4)},W.onclose=()=>{if(E("disconnected"),S.current&&(clearInterval(S.current),S.current=null),!$.current&&C.current<v&&!F.current){C.current++;const se=Math.min(1e3*Math.pow(2,C.current),1e4);Z.current=window.setTimeout(X,se)}},W.onerror=()=>{E("error"),d?.("WebSocket connection error")},W.onmessage=se=>{try{const y=JSON.parse(se.data);switch(y.type){case"text":{h(D=>{const I=D[D.length-1];return I?.role==="assistant"&&I.isStreaming?[...D.slice(0,-1),{...I,content:I.content+y.content}]:(R.current=Mi(),[...D,{id:R.current,role:"assistant",content:y.content,timestamp:new Date,isStreaming:!0}])});break}case"features_created":{L(D=>D+y.count),H(y.features),h(D=>[...D,{id:Mi(),role:"system",content:`Created ${y.count} new feature${y.count!==1?"s":""}!`,timestamp:new Date}]);break}case"expansion_complete":{A(!0),b(!1),h(D=>{const I=D[D.length-1];return I?.role==="assistant"&&I.isStreaming?[...D.slice(0,-1),{...I,isStreaming:!1}]:D}),r?.(y.total_added);break}case"error":{b(!1),d?.(y.content),h(D=>[...D,{id:Mi(),role:"system",content:`Error: ${y.content}`,timestamp:new Date}]);break}case"pong":break;case"response_done":{b(!1),h(D=>{const I=D[D.length-1];return I?.role==="assistant"&&I.isStreaming?[...D.slice(0,-1),{...I,isStreaming:!1}]:D});break}}}catch(y){console.error("Failed to parse WebSocket message:",y)}}},[c,r,d]),ee=m.useCallback(()=>{X();let K=0;const O=50,q=()=>{B.current?.readyState===WebSocket.OPEN?(b(!0),B.current.send(JSON.stringify({type:"start"}))):B.current?.readyState===WebSocket.CONNECTING&&(K++<O?setTimeout(q,100):(d?.("Connection timeout"),b(!1)))};setTimeout(q,100)},[X,d]),Y=m.useCallback((K,O)=>{if(!B.current||B.current.readyState!==WebSocket.OPEN){d?.("Not connected");return}h(W=>[...W,{id:Mi(),role:"user",content:K,attachments:O,timestamp:new Date}]),b(!0);const q={type:"message",content:K};O&&O.length>0&&(q.attachments=O.map(W=>({filename:W.filename,mimeType:W.mimeType,base64Data:W.base64Data}))),B.current.send(JSON.stringify(q))},[d]),ne=m.useCallback(()=>{$.current=!0,C.current=v,S.current&&(clearInterval(S.current),S.current=null),Z.current&&(clearTimeout(Z.current),Z.current=null),B.current&&(B.current.close(),B.current=null),E("disconnected")},[]);return{messages:o,isLoading:p,isComplete:g,connectionStatus:w,featuresCreated:_,recentFeatures:z,start:ee,sendMessage:Y,disconnect:ne}}const xb=5*1024*1024,gb=["image/jpeg","image/png"];function pb({projectName:c,onComplete:r,onCancel:d}){const[o,h]=m.useState(""),[p,b]=m.useState(null),[g,A]=m.useState([]),w=m.useRef(null),E=m.useRef(null),_=m.useRef(null),L=m.useCallback(O=>b(O),[]),{messages:z,isLoading:H,isComplete:B,connectionStatus:R,featuresCreated:C,start:v,sendMessage:S,disconnect:Z}=hb({projectName:c,onComplete:r,onError:L});m.useEffect(()=>(v(),()=>{Z()}),[]),m.useEffect(()=>{w.current?.scrollIntoView({behavior:"smooth"})},[z,H]),m.useEffect(()=>{!H&&E.current&&E.current.focus()},[H]);const F=()=>{const O=o.trim();!O&&g.length===0||H||(S(O,g.length>0?g:void 0),h(""),A([]))},$=O=>{us(O)&&(O.preventDefault(),F())},X=m.useCallback(O=>{O&&Array.from(O).forEach(q=>{if(!gb.includes(q.type)){b(`Invalid file type: ${q.name}. Only JPEG and PNG are supported.`);return}if(q.size>xb){b(`File too large: ${q.name}. Maximum size is 5 MB.`);return}const W=new FileReader;W.onload=se=>{const y=se.target?.result,D=y.split(",")[1],I={id:`${Date.now()}-${Math.random().toString(36).substring(2,9)}`,filename:q.name,mimeType:q.type,base64Data:D,previewUrl:y,size:q.size};A(P=>[...P,I])},W.onerror=()=>{b(`Failed to read file: ${q.name}`)},W.readAsDataURL(q)})},[]),ee=m.useCallback(O=>{A(q=>q.filter(W=>W.id!==O))},[]),Y=m.useCallback(O=>{O.preventDefault(),X(O.dataTransfer.files)},[X]),ne=m.useCallback(O=>{O.preventDefault()},[]),K=()=>{switch(R){case"connected":return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-green-500",children:[l.jsx(fn,{size:12}),"Connected"]});case"connecting":return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-yellow-500",children:[l.jsx(fn,{size:12,className:"animate-pulse"}),"Connecting..."]});case"error":return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-destructive",children:[l.jsx(dn,{size:12}),"Error"]});default:return l.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[l.jsx(dn,{size:12}),"Disconnected"]})}};return l.jsxs("div",{className:"flex flex-col h-full bg-background",children:[l.jsxs("div",{className:"flex items-center justify-between p-4 border-b-2 border-border bg-card",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsxs("h2",{className:"font-display font-bold text-lg text-foreground",children:["Expand Project: ",c]}),l.jsx(K,{}),C>0&&l.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[l.jsx(Pa,{size:14}),C," added"]})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[B&&l.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[l.jsx(ta,{size:16}),"Complete"]}),l.jsx(J,{onClick:d,variant:"ghost",size:"icon",title:"Close",children:l.jsx(tt,{size:20})})]})]}),p&&l.jsxs(jt,{variant:"destructive",className:"rounded-none border-x-0 border-t-0",children:[l.jsx(wa,{size:16}),l.jsx(St,{className:"flex-1",children:p}),l.jsx(J,{onClick:()=>b(null),variant:"ghost",size:"icon",className:"h-6 w-6",children:l.jsx(tt,{size:14})})]}),l.jsxs("div",{className:"flex-1 overflow-y-auto py-4",children:[z.length===0&&!H&&l.jsx("div",{className:"flex flex-col items-center justify-center h-full text-center p-8",children:l.jsx(_e,{className:"p-6 max-w-md",children:l.jsxs(Ge,{className:"p-0",children:[l.jsx("h3",{className:"font-display font-bold text-lg mb-2",children:"Starting Project Expansion"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Connecting to Claude to help you add new features to your project..."}),R==="error"&&l.jsxs(J,{onClick:v,className:"mt-4",size:"sm",children:[l.jsx(on,{size:14}),"Retry Connection"]})]})})}),z.map(O=>l.jsx(pu,{message:O},O.id)),H&&l.jsx(fh,{}),l.jsx("div",{ref:w})]}),!B&&l.jsxs("div",{className:"p-4 border-t-2 border-border bg-card",onDrop:Y,onDragOver:ne,children:[g.length>0&&l.jsx("div",{className:"flex flex-wrap gap-2 mb-3",children:g.map(O=>l.jsxs("div",{className:"relative group border-2 border-border p-1 bg-card rounded shadow-sm",children:[l.jsx("img",{src:O.previewUrl,alt:O.filename,className:"w-16 h-16 object-cover rounded"}),l.jsx("button",{onClick:()=>ee(O.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:l.jsx(tt,{size:12})}),l.jsx("span",{className:"text-xs truncate block max-w-16 mt-1 text-center text-muted-foreground",children:O.filename.length>10?`${O.filename.substring(0,7)}...`:O.filename})]},O.id))}),l.jsxs("div",{className:"flex gap-3",children:[l.jsx("input",{ref:_,type:"file",accept:"image/jpeg,image/png",multiple:!0,onChange:O=>X(O.target.files),className:"hidden"}),l.jsx(J,{onClick:()=>_.current?.click(),disabled:R!=="connected",variant:"ghost",size:"icon",title:"Attach image (JPEG, PNG - max 5MB)",children:l.jsx(Oi,{size:18})}),l.jsx(dt,{ref:E,type:"text",value:o,onChange:O=>h(O.target.value),onKeyDown:$,placeholder:g.length>0?"Add a message with your image(s)...":"Describe the features you want to add...",className:"flex-1",disabled:H||R!=="connected"}),l.jsx(J,{onClick:F,disabled:!o.trim()&&g.length===0||H||R!=="connected",className:"px-6",children:l.jsx(fu,{size:18})})]}),l.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:["Press Enter to send. Drag & drop or click ",l.jsx(Oi,{size:12,className:"inline"})," to attach images."]})]}),B&&l.jsx("div",{className:"p-4 border-t-2 border-border bg-green-500 text-white",children:l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(ta,{size:20}),l.jsxs("span",{className:"font-bold",children:["Added ",C," new feature",C!==1?"s":"","!"]})]}),l.jsx(J,{onClick:()=>r(C),variant:"secondary",children:"Close"})]})})]})}function yb({isOpen:c,projectName:r,onClose:d,onFeaturesAdded:o}){if(!c)return null;const h=p=>{p>0&&o(),d()};return l.jsx("div",{className:"fixed inset-0 z-50 bg-background",children:l.jsx(pb,{projectName:r,onComplete:h,onCancel:d})})}function Km({className:c,size:r="default",...d}){return l.jsx(Zp,{"data-slot":"switch","data-size":r,className:Oe("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",c),...d,children:l.jsx(Kp,{"data-slot":"switch-thumb",className:Oe("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 vb({isOpen:c,onClose:r}){const{data:d,isLoading:o,isError:h,refetch:p}=xu(),{data:b}=Iy(),g=Py(),{theme:A,setTheme:w,darkMode:E,toggleDarkMode:_}=dh(),L=()=>{d&&!g.isPending&&g.mutate({yolo_mode:!d.yolo_mode})},z=v=>{g.isPending||g.mutate({model:v})},H=v=>{g.isPending||g.mutate({testing_agent_ratio:v})},B=v=>{g.isPending||g.mutate({batch_size:v})},R=b?.models??[],C=g.isPending;return l.jsx(aa,{open:c,onOpenChange:v=>!v&&r(),children:l.jsxs(la,{className:"sm:max-w-sm",children:[l.jsx(na,{children:l.jsxs(sa,{className:"flex items-center gap-2",children:["Settings",C&&l.jsx(Me,{className:"animate-spin",size:16})]})}),o&&l.jsxs("div",{className:"flex items-center justify-center py-8",children:[l.jsx(Me,{className:"animate-spin",size:24}),l.jsx("span",{className:"ml-2",children:"Loading settings..."})]}),h&&l.jsxs(jt,{variant:"destructive",children:[l.jsx(wa,{className:"h-4 w-4"}),l.jsxs(St,{children:["Failed to load settings",l.jsx(J,{variant:"link",onClick:()=>p(),className:"ml-2 p-0 h-auto",children:"Retry"})]})]}),d&&!o&&l.jsxs("div",{className:"space-y-6",children:[l.jsxs("div",{className:"space-y-3",children:[l.jsx(Le,{className:"font-medium",children:"Theme"}),l.jsx("div",{className:"grid gap-2",children:ki.map(v=>l.jsxs("button",{onClick:()=>w(v.id),className:`flex items-center gap-3 p-3 rounded-lg border-2 transition-colors text-left ${A===v.id?"border-primary bg-primary/5":"border-border hover:border-primary/50 hover:bg-muted/50"}`,children:[l.jsxs("div",{className:"flex gap-0.5 shrink-0",children:[l.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:v.previewColors.background}}),l.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:v.previewColors.primary}}),l.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:v.previewColors.accent}})]}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:"font-medium text-sm",children:v.name}),l.jsx("div",{className:"text-xs text-muted-foreground",children:v.description})]}),A===v.id&&l.jsx(ea,{size:18,className:"text-primary shrink-0"})]},v.id))})]}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-0.5",children:[l.jsx(Le,{htmlFor:"dark-mode",className:"font-medium",children:"Dark Mode"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Switch between light and dark appearance"})]}),l.jsxs(J,{id:"dark-mode",variant:"outline",size:"sm",onClick:_,className:"gap-2",children:[E?l.jsx(nh,{size:16}):l.jsx(sh,{size:16}),E?"Light":"Dark"]})]}),l.jsx("hr",{className:"border-border"}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-0.5",children:[l.jsx(Le,{htmlFor:"yolo-mode",className:"font-medium",children:"YOLO Mode"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Skip testing for rapid prototyping"})]}),l.jsx(Km,{id:"yolo-mode",checked:d.yolo_mode,onCheckedChange:L,disabled:C})]}),l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"space-y-0.5",children:[l.jsx(Le,{htmlFor:"playwright-headless",className:"font-medium",children:"Headless Browser"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Run browser without visible window (saves CPU)"})]}),l.jsx(Km,{id:"playwright-headless",checked:d.playwright_headless,onCheckedChange:()=>g.mutate({playwright_headless:!d.playwright_headless}),disabled:C})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Le,{className:"font-medium",children:"Model"}),l.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:R.map(v=>l.jsx("button",{onClick:()=>z(v.id),disabled:C,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${d.model===v.id?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${C?"opacity-50 cursor-not-allowed":""}`,children:v.name},v.id))})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Le,{className:"font-medium",children:"Regression Agents"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Number of regression testing agents (0 = disabled)"}),l.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:[0,1,2,3].map(v=>l.jsx("button",{onClick:()=>H(v),disabled:C,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${d.testing_agent_ratio===v?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${C?"opacity-50 cursor-not-allowed":""}`,children:v},v))})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsx(Le,{className:"font-medium",children:"Features per Agent"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Number of features assigned to each coding agent"}),l.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:[1,2,3].map(v=>l.jsx("button",{onClick:()=>B(v),disabled:C,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${(d.batch_size??1)===v?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${C?"opacity-50 cursor-not-allowed":""}`,children:v},v))})]}),g.isError&&l.jsx(jt,{variant:"destructive",children:l.jsx(St,{children:"Failed to save settings. Please try again."})})]})]})})}function bb(c){const r=at();return rt({mutationFn:()=>wy(c),onSuccess:()=>{r.invalidateQueries({queryKey:["dev-server-status",c]})}})}function jb(c){const r=at();return rt({mutationFn:()=>Ey(c),onSuccess:()=>{r.invalidateQueries({queryKey:["dev-server-status",c]})}})}function Sb({projectName:c,status:r,url:d}){const o=bb(c),h=jb(c),p=o.isPending||h.isPending,b=()=>{h.reset(),o.mutate()},g=()=>{o.reset(),h.mutate()},A=r==="stopped"||r==="crashed",w=r==="running",E=r==="crashed";return l.jsxs("div",{className:"flex items-center gap-2",children:[A?l.jsx(J,{onClick:b,disabled:p,variant:E?"destructive":"outline",size:"sm",title:E?"Dev Server Crashed - Click to Restart":"Start Dev Server","aria-label":E?"Restart Dev Server (crashed)":"Start Dev Server",children:p?l.jsx(Me,{size:18,className:"animate-spin"}):E?l.jsx(Ea,{size:18}):l.jsx(hp,{size:18})}):l.jsx(J,{onClick:g,disabled:p,size:"sm",className:"bg-primary text-primary-foreground hover:bg-primary/90",title:"Stop Dev Server","aria-label":"Stop Dev Server",children:p?l.jsx(Me,{size:18,className:"animate-spin"}):l.jsx(eh,{size:18})}),w&&d&&l.jsx(J,{asChild:!0,size:"sm",className:"bg-primary text-primary-foreground hover:bg-primary/90 gap-1",children:l.jsxs("a",{href:d,target:"_blank",rel:"noopener noreferrer",title:`Open ${d} in new tab`,children:[l.jsx("span",{className:"font-mono text-xs",children:d}),l.jsx(du,{size:14})]})}),(o.error||h.error)&&l.jsx("span",{className:"text-xs font-mono text-destructive ml-2",children:String((o.error||h.error)?.message||"Operation failed")})]})}function Nb({viewMode:c,onViewModeChange:r}){return l.jsxs("div",{className:"inline-flex rounded-lg border p-1 bg-background",children:[l.jsxs(J,{variant:c==="kanban"?"default":"ghost",size:"sm",onClick:()=>r("kanban"),title:"Kanban View",children:[l.jsx(xp,{size:16}),"Kanban"]}),l.jsxs(J,{variant:c==="graph"?"default":"ghost",size:"sm",onClick:()=>r("graph"),title:"Dependency Graph View",children:[l.jsx(mn,{size:16}),"Graph"]})]})}var Cb=jp();const Fm=Yg(Cb),Hi=220,Jm=80;class zb extends m.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?l.jsx("div",{className:"h-full w-full flex items-center justify-center bg-muted",children:l.jsxs("div",{className:"text-center p-6",children:[l.jsx(Ea,{size:48,className:"mx-auto mb-4 text-yellow-500"}),l.jsx("div",{className:"text-foreground font-bold mb-2",children:"Graph rendering error"}),l.jsx("div",{className:"text-sm text-muted-foreground mb-4",children:"The dependency graph encountered an issue."}),l.jsxs(J,{onClick:this.handleReset,className:"gap-2",children:[l.jsx(gp,{size:16}),"Reload Graph"]})]})}):this.props.children}}function wb({data:c}){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"},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"},o=()=>{switch(c.status){case"done":return l.jsx(ta,{size:16,className:d[c.status]});case"in_progress":return l.jsx(Me,{size:16,className:`${d[c.status]} animate-spin`});case"blocked":return l.jsx(Ea,{size:16,className:"text-destructive"});default:return l.jsx(rn,{size:16,className:d[c.status]})}};return l.jsxs(l.Fragment,{children:[l.jsx(Nm,{type:"target",position:cn.Left,className:"!bg-border !w-2 !h-2"}),l.jsxs("div",{className:`
|
|
94
|
-
px-4 py-3 rounded-lg border-2 cursor-pointer
|
|
95
|
-
transition-all hover:shadow-md relative
|
|
96
|
-
${r[c.status]}
|
|
97
|
-
`,onClick:c.onClick,style:{minWidth:Hi-20,maxWidth:Hi},children:[c.agent&&l.jsx("div",{className:"absolute -top-3 -right-3 z-10",children:l.jsx("div",{className:"rounded-full border-2 border-border bg-background shadow-sm",children:l.jsx(hn,{name:c.agent.name,state:c.agent.state,size:"sm"})})}),l.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[l.jsx(o,{}),l.jsxs("span",{className:`text-xs font-mono ${d[c.status]} opacity-70`,children:["#",c.priority]}),c.agent&&l.jsx("span",{className:`text-xs font-bold ${d[c.status]} ml-auto`,children:c.agent.name})]}),l.jsx("div",{className:`font-bold text-sm ${d[c.status]} truncate`,title:c.name,children:c.name}),l.jsx("div",{className:`text-xs ${d[c.status]} opacity-70 truncate`,title:c.category,children:c.category})]}),l.jsx(Nm,{type:"source",position:cn.Right,className:"!bg-border !w-2 !h-2"})]})}const Eb={feature:wb};function $m(c,r,d="LR"){const o=new Fm.graphlib.Graph;o.setDefaultEdgeLabel(()=>({}));const h=d==="LR";return o.setGraph({rankdir:d,nodesep:50,ranksep:100,marginx:50,marginy:50}),c.forEach(b=>{o.setNode(b.id,{width:Hi,height:Jm})}),r.forEach(b=>{o.setEdge(b.source,b.target)}),Fm.layout(o),{nodes:c.map(b=>{const g=o.node(b.id);return{...b,position:{x:g.x-Hi/2,y:g.y-Jm/2},sourcePosition:h?cn.Right:cn.Bottom,targetPosition:h?cn.Left:cn.Top}}),edges:r}}function Tb({graphData:c,onNodeClick:r,activeAgents:d=[]}){const[o,h]=m.useState("LR"),p=m.useRef(r);m.useEffect(()=>{p.current=r},[r]);const b=m.useCallback(S=>{p.current?.(S)},[]),g=m.useMemo(()=>{const S=new Map;for(const Z of d){const F=Z.featureIds||[Z.featureId];for(const $ of F)S.set($,{name:Z.agentName,state:Z.state})}return S},[d]),A=m.useMemo(()=>{const S=c.nodes.map(F=>({id:String(F.id),type:"feature",position:{x:0,y:0},data:{...F,onClick:()=>b(F.id),agent:g.get(F.id)}})),Z=c.edges.map((F,$)=>({id:`e${F.source}-${F.target}-${$}`,source:String(F.source),target:String(F.target),type:"smoothstep",animated:!1,style:{stroke:"#a1a1aa",strokeWidth:2},markerEnd:{type:Sp.ArrowClosed,color:"#a1a1aa"}}));return $m(S,Z,o)},[c,o,b,g]),[w,E,_]=Np(A.nodes),[L,z,H]=Cp(A.edges),B=m.useRef(""),R=m.useRef(o);m.useEffect(()=>{const S=Array.from(g.entries()).map(([F,$])=>({featureId:F,agentName:$.name,agentState:$.state})),Z=JSON.stringify({nodes:c.nodes.map(F=>({id:F.id,status:F.status})),edges:c.edges,agents:S});if(Z!==B.current||o!==R.current){B.current=Z,R.current=o;const{nodes:F,edges:$}=$m(A.nodes,A.edges,o);E(F),z($)}},[c,o,E,z,A,g]);const C=m.useCallback(S=>{h(S)},[]),v=m.useCallback(S=>{switch(S.data.status){case"done":return"#22c55e";case"in_progress":return"#06b6d4";case"blocked":return"#ef4444";default:return"#eab308"}},[]);return c.nodes.length===0?l.jsx("div",{className:"h-full w-full flex items-center justify-center bg-muted",children:l.jsxs("div",{className:"text-center",children:[l.jsx("div",{className:"text-muted-foreground mb-2",children:"No features to display"}),l.jsx("div",{className:"text-sm text-muted-foreground/70",children:"Create features to see the dependency graph"})]})}):l.jsxs("div",{className:"h-full w-full relative bg-background",children:[l.jsxs("div",{className:"absolute top-4 left-4 z-10 flex gap-2",children:[l.jsx(J,{variant:o==="LR"?"default":"outline",size:"sm",onClick:()=>C("LR"),children:"Horizontal"}),l.jsx(J,{variant:o==="TB"?"default":"outline",size:"sm",onClick:()=>C("TB"),children:"Vertical"})]}),l.jsx(_e,{className:"absolute top-4 right-4 z-10",children:l.jsxs(Ge,{className:"p-3",children:[l.jsx("div",{className:"text-xs font-bold mb-2",children:"Status"}),l.jsxs("div",{className:"space-y-1.5",children:[l.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[l.jsx("div",{className:"w-3 h-3 rounded bg-yellow-400 border border-yellow-500"}),l.jsx("span",{children:"Pending"})]}),l.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[l.jsx("div",{className:"w-3 h-3 rounded bg-cyan-400 border border-cyan-500"}),l.jsx("span",{children:"In Progress"})]}),l.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[l.jsx("div",{className:"w-3 h-3 rounded bg-green-400 border border-green-500"}),l.jsx("span",{children:"Done"})]}),l.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[l.jsx("div",{className:"w-3 h-3 rounded bg-red-100 border border-red-400"}),l.jsx("span",{children:"Blocked"})]})]})]})}),l.jsxs(zp,{nodes:w,edges:L,onNodesChange:_,onEdgesChange:H,nodeTypes:Eb,connectionMode:wp.Loose,fitView:!0,fitViewOptions:{padding:.2},attributionPosition:"bottom-left",minZoom:.1,maxZoom:2,children:[l.jsx(Ep,{color:"#d4d4d8",gap:20,size:1}),l.jsx(Tp,{className:"!bg-card !border !border-border !rounded-lg !shadow-sm",showInteractive:!1}),l.jsx(Ap,{nodeColor:v,className:"!bg-card !border !border-border !rounded-lg !shadow-sm",maskColor:"rgba(0, 0, 0, 0.1)"})]})]})}function Ab({graphData:c,onNodeClick:r,activeAgents:d}){const[o,h]=m.useState(0),p=m.useCallback(()=>{h(b=>b+1)},[]);return l.jsx(zb,{onReset:p,children:l.jsx(Tb,{graphData:c,onNodeClick:r,activeAgents:d})},o)}const Db=[{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 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 Mb({isOpen:c,onClose:r}){const d=m.useCallback(o=>{(o.key==="Escape"||o.key==="?")&&(o.preventDefault(),r())},[r]);return m.useEffect(()=>{if(c)return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[c,d]),l.jsx(aa,{open:c,onOpenChange:o=>!o&&r(),children:l.jsxs(la,{className:"sm:max-w-md",children:[l.jsx(na,{children:l.jsxs(sa,{className:"flex items-center gap-2",children:[l.jsx(pp,{size:20,className:"text-primary"}),"Keyboard Shortcuts"]})}),l.jsx("ul",{className:"space-y-1",children:Db.map(o=>l.jsxs("li",{className:"flex items-center justify-between py-2 border-b border-border/50 last:border-0",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.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}),l.jsx("span",{className:"text-sm",children:o.description})]}),o.context&&l.jsx(ke,{variant:"secondary",className:"text-xs",children:o.context})]},o.key))}),l.jsx("p",{className:"text-xs text-muted-foreground text-center pt-2",children:"Press ? or Esc to close"})]})})}function _b({themes:c,currentTheme:r,onThemeChange:d}){const[o,h]=m.useState(!1),[p,b]=m.useState(null),g=m.useRef(null),A=m.useRef(null);m.useEffect(()=>{const z=H=>{g.current&&!g.current.contains(H.target)&&(h(!1),b(null))};return document.addEventListener("mousedown",z),()=>document.removeEventListener("mousedown",z)},[]),m.useEffect(()=>{if(p){const z=document.documentElement;z.classList.remove("theme-claude","theme-neo-brutalism","theme-retro-arcade","theme-aurora","theme-business"),p==="claude"?z.classList.add("theme-claude"):p==="neo-brutalism"?z.classList.add("theme-neo-brutalism"):p==="retro-arcade"?z.classList.add("theme-retro-arcade"):p==="aurora"?z.classList.add("theme-aurora"):p==="business"&&z.classList.add("theme-business")}return()=>{if(p){const z=document.documentElement;z.classList.remove("theme-claude","theme-neo-brutalism","theme-retro-arcade","theme-aurora","theme-business"),r==="claude"?z.classList.add("theme-claude"):r==="neo-brutalism"?z.classList.add("theme-neo-brutalism"):r==="retro-arcade"?z.classList.add("theme-retro-arcade"):r==="aurora"?z.classList.add("theme-aurora"):r==="business"&&z.classList.add("theme-business")}}},[p,r]);const w=()=>{A.current&&clearTimeout(A.current),h(!0)},E=()=>{A.current=setTimeout(()=>{h(!1),b(null)},150)},_=z=>{b(z)},L=z=>{d(z),b(null),h(!1)};return l.jsxs("div",{ref:g,className:"relative",onMouseEnter:w,onMouseLeave:E,children:[l.jsx(J,{variant:"outline",size:"sm",title:"Theme","aria-label":"Select theme","aria-expanded":o,"aria-haspopup":"true",children:l.jsx(yp,{size:18})}),o&&l.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:l.jsx("div",{className:"p-2 space-y-1",children:c.map(z=>l.jsxs("button",{onClick:()=>L(z.id),onMouseEnter:()=>_(z.id),onMouseLeave:()=>b(null),className:`w-full flex items-center gap-3 px-3 py-2 rounded-md text-left transition-colors ${r===z.id?"bg-primary/10 text-foreground":"hover:bg-muted text-foreground"}`,role:"menuitem",children:[l.jsxs("div",{className:"flex gap-0.5 shrink-0",children:[l.jsx("div",{className:"w-4 h-4 rounded-sm border border-border/50",style:{backgroundColor:z.previewColors.background}}),l.jsx("div",{className:"w-4 h-4 rounded-sm border border-border/50",style:{backgroundColor:z.previewColors.primary}}),l.jsx("div",{className:"w-4 h-4 rounded-sm border border-border/50",style:{backgroundColor:z.previewColors.accent}})]}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:"font-medium text-sm",children:z.name}),l.jsx("div",{className:"text-xs text-muted-foreground truncate",children:z.description})]}),r===z.id&&l.jsx(ea,{size:16,className:"text-primary shrink-0"})]},z.id))})})]})}function kb({isOpen:c,projectName:r,onClose:d,onResetComplete:o}){const[h,p]=m.useState("quick"),b=Ly(r),g=async()=>{const w=h==="full";try{await b.mutateAsync(w),o?.(w),d()}catch{}},A=()=>{b.isPending||(b.reset(),p("quick"),d())};return l.jsx(aa,{open:c,onOpenChange:w=>!w&&A(),children:l.jsxs(la,{className:"sm:max-w-md",children:[l.jsxs(na,{children:[l.jsxs(sa,{className:"flex items-center gap-2",children:[l.jsx(on,{size:20}),"Reset Project"]}),l.jsxs(Bi,{children:["Reset ",l.jsx("span",{className:"font-semibold",children:r})," to start fresh"]})]}),l.jsxs("div",{className:"space-y-4 py-4",children:[l.jsxs("div",{className:"flex rounded-lg border-2 border-border overflow-hidden",children:[l.jsxs("button",{onClick:()=>p("quick"),disabled:b.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"} ${b.isPending?"opacity-50 cursor-not-allowed":""}`,children:[l.jsx(on,{size:16}),"Quick Reset"]}),l.jsxs("button",{onClick:()=>p("full"),disabled:b.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"} ${b.isPending?"opacity-50 cursor-not-allowed":""}`,children:[l.jsx(tl,{size:16}),"Full Reset"]})]}),l.jsxs(jt,{variant:h==="full"?"destructive":"default",className:"border-2",children:[l.jsx(Ea,{className:"h-4 w-4"}),l.jsxs(St,{children:[l.jsx("div",{className:"font-semibold mb-2",children:"What will be deleted:"}),l.jsxs("ul",{className:"list-none space-y-1 text-sm",children:[l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx(tt,{size:14,className:"text-destructive"}),"All features and progress"]}),l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx(tt,{size:14,className:"text-destructive"}),"Assistant chat history"]}),l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx(tt,{size:14,className:"text-destructive"}),"Agent settings"]}),h==="full"&&l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx(tt,{size:14,className:"text-destructive"}),"App spec and prompts"]})]})]})]}),l.jsxs("div",{className:"bg-muted/50 rounded-lg border-2 border-border p-3",children:[l.jsx("div",{className:"font-semibold mb-2 text-sm",children:"What will be preserved:"}),l.jsx("ul",{className:"list-none space-y-1 text-sm text-muted-foreground",children:h==="quick"?l.jsxs(l.Fragment,{children:[l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx(ea,{size:14,className:"text-green-600"}),"App spec and prompts"]}),l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx(ea,{size:14,className:"text-green-600"}),"Project code and files"]})]}):l.jsxs(l.Fragment,{children:[l.jsxs("li",{className:"flex items-center gap-2",children:[l.jsx(ea,{size:14,className:"text-green-600"}),"Project code and files"]}),l.jsxs("li",{className:"flex items-center gap-2 text-muted-foreground/70",children:[l.jsx(Ea,{size:14}),"Setup wizard will appear"]})]})})]}),b.isError&&l.jsx(jt,{variant:"destructive",children:l.jsx(St,{children:b.error instanceof Error?b.error.message:"Failed to reset project. Please try again."})})]}),l.jsxs(el,{className:"gap-2",children:[l.jsx(J,{variant:"outline",onClick:A,disabled:b.isPending,children:"Cancel"}),l.jsx(J,{variant:h==="full"?"destructive":"default",onClick:g,disabled:b.isPending,children:b.isPending?l.jsxs(l.Fragment,{children:[l.jsx(Me,{className:"animate-spin mr-2",size:16}),"Resetting..."]}):l.jsx(l.Fragment,{children:h==="quick"?"Quick Reset":"Full Reset"})})]})]})})}function Ob({projectName:c,projectPath:r,onCreateWithClaude:d,onEditManually:o}){return l.jsx("div",{className:"max-w-2xl mx-auto mt-8",children:l.jsxs(_e,{className:"border-2",children:[l.jsxs(qi,{className:"text-center",children:[l.jsx(gu,{className:"text-2xl font-display",children:"Project Setup Required"}),l.jsxs(d0,{className:"text-base",children:[l.jsx("span",{className:"font-semibold",children:c})," needs an app spec to get started"]}),r&&l.jsxs("div",{className:"flex items-center justify-center gap-2 text-sm text-muted-foreground mt-2",children:[l.jsx(Ri,{size:14}),l.jsx("code",{className:"bg-muted px-2 py-0.5 rounded text-xs",children:r})]})]}),l.jsxs(Ge,{className:"space-y-4",children:[l.jsx("p",{className:"text-center text-muted-foreground",children:"Choose how you want to create your app specification:"}),l.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[l.jsx(_e,{className:"cursor-pointer border-2 transition-all hover:border-primary hover:shadow-md",onClick:d,children:l.jsxs(Ge,{className:"pt-6 text-center space-y-3",children:[l.jsx("div",{className:"w-12 h-12 mx-auto bg-primary/10 rounded-full flex items-center justify-center",children:l.jsx(jl,{className:"text-primary",size:24})}),l.jsx("h3",{className:"font-semibold text-lg",children:"Create with Claude"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Describe your app idea and Claude will help create a detailed specification"}),l.jsxs(J,{className:"w-full",children:[l.jsx(jl,{size:16,className:"mr-2"}),"Start Chat"]})]})}),l.jsx(_e,{className:"cursor-pointer border-2 transition-all hover:border-primary hover:shadow-md",onClick:o,children:l.jsxs(Ge,{className:"pt-6 text-center space-y-3",children:[l.jsx("div",{className:"w-12 h-12 mx-auto bg-muted rounded-full flex items-center justify-center",children:l.jsx(cu,{className:"text-muted-foreground",size:24})}),l.jsx("h3",{className:"font-semibold text-lg",children:"Edit Templates Manually"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"Create the prompts directory and edit template files yourself"}),l.jsxs(J,{variant:"outline",className:"w-full",children:[l.jsx(cu,{size:16,className:"mr-2"}),"View Templates"]})]})})]}),l.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 iu="autoforge-selected-project",Wm="autoforge-view-mode",Rb=48;function Ub(){const[c,r]=m.useState(()=>{try{return localStorage.getItem(iu)}catch{return null}}),[d,o]=m.useState(!1),[h,p]=m.useState(!1),[b,g]=m.useState(null),[A,w]=m.useState(!0),[E,_]=m.useState(!1),[L,z]=m.useState(288),[H,B]=m.useState("agent"),[R,C]=m.useState(!1),[v,S]=m.useState(!1),[Z,F]=m.useState(!1),[$,X]=m.useState(!1),[ee,Y]=m.useState(!1),[ne,K]=m.useState(!1),[O,q]=m.useState("idle"),[W,se]=m.useState(null),[y,D]=m.useState(()=>{try{return localStorage.getItem(Wm)==="graph"?"graph":"kanban"}catch{return"kanban"}}),I=at(),{data:P,isLoading:de}=By(),{data:ue}=uh(c),{data:Ce}=xu();Zy(c);const le=t0(c),{theme:Re,setTheme:ut,darkMode:ft,toggleDarkMode:ia,themes:ca}=dh(),te=P?.find(Ze=>Ze.name===c),oe=te?.has_spec??!0,{data:Ue}=Rt({queryKey:["dependencyGraph",c],queryFn:()=>fy(c),enabled:!!c&&y==="graph",refetchInterval:5e3});m.useEffect(()=>{try{localStorage.setItem(Wm,y)}catch{}},[y]),n0(ue),r0(ue,c);const Nt=m.useCallback(Ze=>{r(Ze);try{Ze?localStorage.setItem(iu,Ze):localStorage.removeItem(iu)}catch{}},[]),Zt=m.useCallback(Ze=>{const Ct=[...ue?.pending??[],...ue?.in_progress??[],...ue?.done??[]].find(os=>os.id===Ze);Ct&&g(Ct)},[ue]);m.useEffect(()=>{c&&P&&!P.some(Ze=>Ze.name===c)&&Nt(null)},[c,P,Nt]),m.useEffect(()=>{const Ze=ve=>{ve.target instanceof HTMLInputElement||ve.target instanceof HTMLTextAreaElement||((ve.key==="d"||ve.key==="D")&&(ve.preventDefault(),_(Ct=>!Ct)),(ve.key==="t"||ve.key==="T")&&(ve.preventDefault(),E?H==="terminal"?_(!1):B("terminal"):(_(!0),B("terminal"))),(ve.key==="n"||ve.key==="N")&&c&&(ve.preventDefault(),o(!0)),(ve.key==="e"||ve.key==="E")&&c&&ue&&ue.pending.length+ue.in_progress.length+ue.done.length>0&&(ve.preventDefault(),p(!0)),(ve.key==="a"||ve.key==="A")&&c&&!$&&(ve.preventDefault(),C(Ct=>!Ct)),ve.key===","&&(ve.preventDefault(),S(!0)),(ve.key==="g"||ve.key==="G")&&c&&(ve.preventDefault(),D(Ct=>Ct==="kanban"?"graph":"kanban")),ve.key==="?"&&(ve.preventDefault(),F(!0)),(ve.key==="r"||ve.key==="R")&&c&&le.agentStatus!=="running"&&(ve.preventDefault(),Y(!0)),ve.key==="Escape"&&(Z?F(!1):ee?Y(!1):h?p(!1):v?S(!1):R?C(!1):d?o(!1):b?g(null):E&&_(!1)))};return window.addEventListener("keydown",Ze),()=>window.removeEventListener("keydown",Ze)},[c,d,h,b,E,H,R,ue,v,Z,$,y,ee,le.agentStatus]);const ot=le.progress.total>0?le.progress:{passing:ue?.done.length??0,total:(ue?.pending.length??0)+(ue?.in_progress.length??0)+(ue?.done.length??0),percentage:0};return ot.total>0&&ot.percentage===0&&(ot.percentage=Math.round(ot.passing/ot.total*100*10)/10),A?l.jsxs("div",{className:"min-h-screen bg-background",children:[l.jsx("header",{className:"sticky top-0 z-50 bg-card/80 backdrop-blur-md text-foreground border-b-2 border-border",children:l.jsx("div",{className:"max-w-7xl mx-auto px-4 py-4",children:l.jsxs("div",{className:"flex items-center justify-between",children:[l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("img",{src:"/logo.png",alt:"AutoForge",className:"h-9 w-9 rounded-full"}),l.jsx("h1",{className:"font-display text-2xl font-bold tracking-tight uppercase",children:"AutoForge"})]}),l.jsxs("div",{className:"flex items-center gap-4",children:[l.jsx(T0,{projects:P??[],selectedProject:c,onSelectProject:Nt,isLoading:de,onSpecCreatingChange:X}),c&&l.jsxs(l.Fragment,{children:[l.jsx(Nv,{projectName:c,status:le.agentStatus,defaultConcurrency:te?.default_concurrency}),l.jsx(Sb,{projectName:c,status:le.devServerStatus,url:le.devServerUrl}),l.jsx(J,{onClick:()=>S(!0),variant:"outline",size:"sm",title:"Settings (,)","aria-label":"Open Settings",children:l.jsx(vp,{size:18})}),l.jsx(J,{onClick:()=>Y(!0),variant:"outline",size:"sm",title:"Reset Project (R)","aria-label":"Reset Project",disabled:le.agentStatus==="running",children:l.jsx(on,{size:18})}),Ce?.ollama_mode&&l.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1 bg-card rounded border-2 border-border shadow-sm",title:"Using Ollama local models (configured via .env)",children:[l.jsx("img",{src:"/ollama.png",alt:"Ollama",className:"w-5 h-5"}),l.jsx("span",{className:"text-xs font-bold text-foreground",children:"Ollama"})]}),Ce?.glm_mode&&l.jsx(ke,{className:"bg-purple-500 text-white hover:bg-purple-600",title:"Using GLM API (configured via .env)",children:"GLM"})]}),l.jsx(J,{onClick:()=>window.open("https://autoforge.cc","_blank"),variant:"outline",size:"sm",title:"Documentation","aria-label":"Open Documentation",children:l.jsx(bp,{size:18})}),l.jsx(_b,{themes:ca,currentTheme:Re,onThemeChange:ut}),l.jsx(J,{onClick:ia,variant:"outline",size:"sm",title:"Toggle dark mode","aria-label":"Toggle dark mode",children:ft?l.jsx(nh,{size:18}):l.jsx(sh,{size:18})})]})]})})}),l.jsx("main",{className:"max-w-7xl mx-auto px-4 py-8",style:{paddingBottom:E?L+32:Rb},children:c?oe?l.jsxs("div",{className:"space-y-8",children:[l.jsx(Ev,{passing:ot.passing,total:ot.total,percentage:ot.percentage,isConnected:le.isConnected,logs:le.activeAgents.length===0?le.logs:void 0,agentStatus:le.activeAgents.length===0?le.agentStatus:void 0}),l.jsx(tb,{agents:le.activeAgents,orchestratorStatus:le.orchestratorStatus,recentActivity:le.recentActivity,getAgentLogs:le.getAgentLogs}),ue&&ue.pending.length===0&&ue.in_progress.length===0&&ue.done.length===0&&le.agentStatus==="running"&&l.jsx(_e,{className:"p-8 text-center",children:l.jsxs(Ge,{className:"p-0",children:[l.jsx(Me,{size:32,className:"animate-spin mx-auto mb-4 text-primary"}),l.jsx("h3",{className:"font-display font-bold text-xl mb-2",children:"Initializing Features..."}),l.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>0&&l.jsx("div",{className:"flex justify-center",children:l.jsx(Nb,{viewMode:y,onViewModeChange:D})}),y==="kanban"?l.jsx(rv,{features:ue,onFeatureClick:g,onAddFeature:()=>o(!0),onExpandProject:()=>p(!0),activeAgents:le.activeAgents,onCreateSpec:()=>K(!0),hasSpec:oe}):l.jsx(_e,{className:"overflow-hidden",style:{height:"600px"},children:Ue?l.jsx(Ab,{graphData:Ue,onNodeClick:Zt,activeAgents:le.activeAgents}):l.jsx("div",{className:"h-full flex items-center justify-center",children:l.jsx(Me,{size:32,className:"animate-spin text-primary"})})})]}):l.jsx(Ob,{projectName:c,projectPath:te?.path,onCreateWithClaude:()=>K(!0),onEditManually:()=>{_(!0)}}):l.jsxs("div",{className:"text-center mt-12",children:[l.jsx("h2",{className:"font-display text-2xl font-bold mb-2",children:"Welcome to AutoForge"}),l.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&&c&&l.jsx(Av,{projectName:c,onClose:()=>o(!1)}),b&&c&&l.jsx(_v,{feature:b,projectName:c,onClose:()=>g(null)}),h&&c&&l.jsx(yb,{isOpen:h,projectName:c,onClose:()=>p(!1),onFeaturesAdded:()=>{I.invalidateQueries({queryKey:["features",c]})}}),ne&&c&&l.jsx("div",{className:"fixed inset-0 z-50 bg-background",children:l.jsx(mh,{projectName:c,onComplete:async(Ze,ve)=>{q("starting");try{await hu(c,{yoloMode:ve??!1,maxConcurrency:3}),K(!1),q("idle"),I.invalidateQueries({queryKey:["projects"]}),I.invalidateQueries({queryKey:["features",c]})}catch(Ct){q("error"),se(Ct instanceof Error?Ct.message:"Failed to start agent")}},onCancel:()=>{K(!1),q("idle")},onExitToProject:()=>{K(!1),q("idle")},initializerStatus:O,initializerError:W,onRetryInitializer:()=>{se(null),q("idle")}})}),c&&l.jsx(Bv,{logs:le.logs,devLogs:le.devLogs,isOpen:E,onToggle:()=>_(!E),onClear:le.clearLogs,onClearDevLogs:le.clearDevLogs,onHeightChange:z,projectName:c,activeTab:H,onTabChange:B}),c&&!h&&!$&&!ne&&l.jsxs(l.Fragment,{children:[l.jsx(nb,{onClick:()=>C(!R),isOpen:R}),l.jsx(mb,{projectName:c,isOpen:R,onClose:()=>C(!1)})]}),l.jsx(vb,{isOpen:v,onClose:()=>S(!1)}),l.jsx(Mb,{isOpen:Z,onClose:()=>F(!1)}),ee&&c&&l.jsx(kb,{isOpen:ee,projectName:c,onClose:()=>Y(!1),onResetComplete:Ze=>{Ze&&K(!0)}}),le.celebration&&l.jsx(lb,{agentName:le.celebration.agentName,featureName:le.celebration.featureName,onComplete:le.clearCelebration})]}):l.jsx(Tv,{onComplete:()=>w(!0)})}const Bb=new qg({defaultOptions:{queries:{staleTime:5e3,refetchOnWindowFocus:!1}}});ey.createRoot(document.getElementById("root")).render(l.jsx(m.StrictMode,{children:l.jsx(Lg,{client:Bb,children:l.jsx(Ub,{})})}));
|