autoforge-ai 0.1.21 → 0.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,96 +0,0 @@
1
- import{a as Gp,u as ft,d as Ge,e as Fe,r as f,j as n,g as Qp,Q as Yp,f as Vp}from"./vendor-query-CcgjkJlA.js";import{r as Xp,P as Dh,u as Kp,a as Fp,R as Zp,b as _h,A as $p,c as ml,d as kh,e as Jp,f as Wp,g as Ip,h as Mh,D as Pp,C as ey,S as Oh,i as ty,j as ay,k as Rh,T as ny,l as ly,m as sy,O as iy,n as ry,o as Mu,p as cy,q as uy,s as oy,t as dy,I as fy,v as my,w as hy,x as xy,y as gy,z as py,B as yy}from"./vendor-radix-CXoPacKb.js";import{c as Yi,t as vy,a as by,b as Ou,I as jy,B as Ns,U as Ny,F as Ii,C as Da,d as Xt,E as Ru,X as Ie,e as ia,R as an,P as Pi,S as rr,L as Se,Z as Uh,A as Bh,W as bl,f as jl,g as $i,h as Ji,i as Fm,H as Sy,j as er,k as Zm,l as Cy,m as Eu,T as ra,n as tr,o as ln,p as nn,q as wy,r as zy,G as Nl,M as qh,s as Lh,u as Hh,v as Gh,w as Qh,x as Yh,y as Ty,z as Ey,D as Ay,J as gl,K as Dy,N as _y,O as ky,Q as Vh,V as My,Y as Oy,_ as $m,$ as En,a0 as Ry,a1 as Xh,a2 as Uu,a3 as Uy,a4 as ar,a5 as nr,a6 as Kh,a7 as By,a8 as Au,a9 as qy,aa as cr,ab as pl,ac as Ly,ad as Hy,ae as Gy,af as Qy,ag as Yy,ah as Vy,ai as Jm,aj as Xy,ak as Ky,al as Fy,am as Zy,an as $y,ao as Jy,ap as Wy,aq as Iy}from"./vendor-utils-_RSkPk2f.js";import{M as Py,r as e0}from"./vendor-markdown-BxiGvyag.js";import{r as t0,M as a0,u as n0,a as l0,i as s0,C as i0,B as r0,b as c0,c as u0,P as hl,H as Wm}from"./vendor-flow-4rkFkfFX.js";import{D as o0,o as d0}from"./vendor-xterm-DP_gxef0.js";(function(){const c=document.createElement("link").relList;if(c&&c.supports&&c.supports("modulepreload"))return;for(const m of document.querySelectorAll('link[rel="modulepreload"]'))u(m);new MutationObserver(m=>{for(const g of m)if(g.type==="childList")for(const x of g.addedNodes)x.tagName==="LINK"&&x.rel==="modulepreload"&&u(x)}).observe(document,{childList:!0,subtree:!0});function o(m){const g={};return m.integrity&&(g.integrity=m.integrity),m.referrerPolicy&&(g.referrerPolicy=m.referrerPolicy),m.crossOrigin==="use-credentials"?g.credentials="include":m.crossOrigin==="anonymous"?g.credentials="omit":g.credentials="same-origin",g}function u(m){if(m.ep)return;m.ep=!0;const g=o(m);fetch(m.href,g)}})();var wu={exports:{}},vs={},zu={exports:{}},Tu={};var Im;function f0(){return Im||(Im=1,(function(s){function c(j,R){var P=j.length;j.push(R);e:for(;0<P;){var ee=P-1>>>1,re=j[ee];if(0<m(re,R))j[ee]=R,j[P]=re,P=ee;else break e}}function o(j){return j.length===0?null:j[0]}function u(j){if(j.length===0)return null;var R=j[0],P=j.pop();if(P!==R){j[0]=P;e:for(var ee=0,re=j.length,ae=re>>>1;ee<ae;){var ie=2*(ee+1)-1,xe=j[ie],ue=ie+1,fe=j[ue];if(0>m(xe,P))ue<re&&0>m(fe,xe)?(j[ee]=fe,j[ue]=P,ee=ue):(j[ee]=xe,j[ie]=P,ee=ie);else if(ue<re&&0>m(fe,P))j[ee]=fe,j[ue]=P,ee=ue;else break e}}return R}function m(j,R){var P=j.sortIndex-R.sortIndex;return P!==0?P:j.id-R.id}if(s.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var g=performance;s.unstable_now=function(){return g.now()}}else{var x=Date,y=x.now();s.unstable_now=function(){return x.now()-y}}var p=[],b=[],z=1,w=null,M=3,T=!1,D=!1,_=!1,N=!1,k=typeof setTimeout=="function"?setTimeout:null,O=typeof clearTimeout=="function"?clearTimeout:null,A=typeof setImmediate<"u"?setImmediate:null;function S(j){for(var R=o(b);R!==null;){if(R.callback===null)u(b);else if(R.startTime<=j)u(b),R.sortIndex=R.expirationTime,c(p,R);else break;R=o(b)}}function L(j){if(_=!1,S(j),!D)if(o(p)!==null)D=!0,J||(J=!0,G());else{var R=o(b);R!==null&&X(L,R.startTime-j)}}var J=!1,F=-1,te=5,Y=-1;function ne(){return N?!0:!(s.unstable_now()-Y<te)}function W(){if(N=!1,J){var j=s.unstable_now();Y=j;var R=!0;try{e:{D=!1,_&&(_=!1,O(F),F=-1),T=!0;var P=M;try{t:{for(S(j),w=o(p);w!==null&&!(w.expirationTime>j&&ne());){var ee=w.callback;if(typeof ee=="function"){w.callback=null,M=w.priorityLevel;var re=ee(w.expirationTime<=j);if(j=s.unstable_now(),typeof re=="function"){w.callback=re,S(j),R=!0;break t}w===o(p)&&u(p),S(j)}else u(p);w=o(p)}if(w!==null)R=!0;else{var ae=o(b);ae!==null&&X(L,ae.startTime-j),R=!1}}break e}finally{w=null,M=P,T=!1}R=void 0}}finally{R?G():J=!1}}}var G;if(typeof A=="function")G=function(){A(W)};else if(typeof MessageChannel<"u"){var I=new MessageChannel,V=I.port2;I.port1.onmessage=W,G=function(){V.postMessage(null)}}else G=function(){k(W,0)};function X(j,R){F=k(function(){j(s.unstable_now())},R)}s.unstable_IdlePriority=5,s.unstable_ImmediatePriority=1,s.unstable_LowPriority=4,s.unstable_NormalPriority=3,s.unstable_Profiling=null,s.unstable_UserBlockingPriority=2,s.unstable_cancelCallback=function(j){j.callback=null},s.unstable_forceFrameRate=function(j){0>j||125<j?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):te=0<j?Math.floor(1e3/j):5},s.unstable_getCurrentPriorityLevel=function(){return M},s.unstable_next=function(j){switch(M){case 1:case 2:case 3:var R=3;break;default:R=M}var P=M;M=R;try{return j()}finally{M=P}},s.unstable_requestPaint=function(){N=!0},s.unstable_runWithPriority=function(j,R){switch(j){case 1:case 2:case 3:case 4:case 5:break;default:j=3}var P=M;M=j;try{return R()}finally{M=P}},s.unstable_scheduleCallback=function(j,R,P){var ee=s.unstable_now();switch(typeof P=="object"&&P!==null?(P=P.delay,P=typeof P=="number"&&0<P?ee+P:ee):P=ee,j){case 1:var re=-1;break;case 2:re=250;break;case 5:re=1073741823;break;case 4:re=1e4;break;default:re=5e3}return re=P+re,j={id:z++,callback:R,priorityLevel:j,startTime:P,expirationTime:re,sortIndex:-1},P>ee?(j.sortIndex=P,c(b,j),o(p)===null&&j===o(b)&&(_?(O(F),F=-1):_=!0,X(L,P-ee))):(j.sortIndex=re,c(p,j),D||T||(D=!0,J||(J=!0,G()))),j},s.unstable_shouldYield=ne,s.unstable_wrapCallback=function(j){var R=M;return function(){var P=M;M=R;try{return j.apply(this,arguments)}finally{M=P}}}})(Tu)),Tu}var Pm;function m0(){return Pm||(Pm=1,zu.exports=f0()),zu.exports}var eh;function h0(){if(eh)return vs;eh=1;var s=m0(),c=Gp(),o=Xp();function u(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 m(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function g(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 x(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function y(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function p(e){if(g(e)!==e)throw Error(u(188))}function b(e){var t=e.alternate;if(!t){if(t=g(e),t===null)throw Error(u(188));return t!==e?null:e}for(var a=e,l=t;;){var i=a.return;if(i===null)break;var r=i.alternate;if(r===null){if(l=i.return,l!==null){a=l;continue}break}if(i.child===r.child){for(r=i.child;r;){if(r===a)return p(i),e;if(r===l)return p(i),t;r=r.sibling}throw Error(u(188))}if(a.return!==l.return)a=i,l=r;else{for(var d=!1,h=i.child;h;){if(h===a){d=!0,a=i,l=r;break}if(h===l){d=!0,l=i,a=r;break}h=h.sibling}if(!d){for(h=r.child;h;){if(h===a){d=!0,a=r,l=i;break}if(h===l){d=!0,l=r,a=i;break}h=h.sibling}if(!d)throw Error(u(189))}}if(a.alternate!==l)throw Error(u(190))}if(a.tag!==3)throw Error(u(188));return a.stateNode.current===a?e:t}function z(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=z(e),t!==null)return t;e=e.sibling}return null}var w=Object.assign,M=Symbol.for("react.element"),T=Symbol.for("react.transitional.element"),D=Symbol.for("react.portal"),_=Symbol.for("react.fragment"),N=Symbol.for("react.strict_mode"),k=Symbol.for("react.profiler"),O=Symbol.for("react.consumer"),A=Symbol.for("react.context"),S=Symbol.for("react.forward_ref"),L=Symbol.for("react.suspense"),J=Symbol.for("react.suspense_list"),F=Symbol.for("react.memo"),te=Symbol.for("react.lazy"),Y=Symbol.for("react.activity"),ne=Symbol.for("react.memo_cache_sentinel"),W=Symbol.iterator;function G(e){return e===null||typeof e!="object"?null:(e=W&&e[W]||e["@@iterator"],typeof e=="function"?e:null)}var I=Symbol.for("react.client.reference");function V(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===I?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case _:return"Fragment";case k:return"Profiler";case N:return"StrictMode";case L:return"Suspense";case J:return"SuspenseList";case Y:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case D:return"Portal";case A:return e.displayName||"Context";case O:return(e._context.displayName||"Context")+".Consumer";case S:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case F:return t=e.displayName||null,t!==null?t:V(e.type)||"Memo";case te:t=e._payload,e=e._init;try{return V(e(t))}catch{}}return null}var X=Array.isArray,j=c.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,R=o.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,P={pending:!1,data:null,method:null,action:null},ee=[],re=-1;function ae(e){return{current:e}}function ie(e){0>re||(e.current=ee[re],ee[re]=null,re--)}function xe(e,t){re++,ee[re]=e.current,e.current=t}var ue=ae(null),fe=ae(null),Ve=ae(null),Mt=ae(null);function bt(e,t){switch(xe(Ve,t),xe(fe,e),xe(ue,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?gm(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=gm(t),e=pm(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}ie(ue),xe(ue,e)}function jt(){ie(ue),ie(fe),ie(Ve)}function Pt(e){e.memoizedState!==null&&xe(Mt,e);var t=ue.current,a=pm(t,e.type);t!==a&&(xe(fe,e),xe(ue,a))}function Ft(e){fe.current===e&&(ie(ue),ie(fe)),Mt.current===e&&(ie(Mt),xs._currentValue=P)}var Zt,Nt;function Ot(e){if(Zt===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);Zt=t&&t[1]||"",Nt=-1<a.stack.indexOf(`
2
- at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`
3
- `+Zt+e+Nt}var ea=!1;function wl(e,t){if(!e||ea)return"";ea=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var l={DetermineComponentFrameRoot:function(){try{if(t){var Z=function(){throw Error()};if(Object.defineProperty(Z.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Z,[])}catch(H){var q=H}Reflect.construct(e,[],Z)}else{try{Z.call()}catch(H){q=H}e.call(Z.prototype)}}else{try{throw Error()}catch(H){q=H}(Z=e())&&typeof Z.catch=="function"&&Z.catch(function(){})}}catch(H){if(H&&q&&typeof H.stack=="string")return[H.stack,q.stack]}return[null,null]}};l.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var i=Object.getOwnPropertyDescriptor(l.DetermineComponentFrameRoot,"name");i&&i.configurable&&Object.defineProperty(l.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var r=l.DetermineComponentFrameRoot(),d=r[0],h=r[1];if(d&&h){var v=d.split(`
4
- `),B=h.split(`
5
- `);for(i=l=0;l<v.length&&!v[l].includes("DetermineComponentFrameRoot");)l++;for(;i<B.length&&!B[i].includes("DetermineComponentFrameRoot");)i++;if(l===v.length||i===B.length)for(l=v.length-1,i=B.length-1;1<=l&&0<=i&&v[l]!==B[i];)i--;for(;1<=l&&0<=i;l--,i--)if(v[l]!==B[i]){if(l!==1||i!==1)do if(l--,i--,0>i||v[l]!==B[i]){var Q=`
6
- `+v[l].replace(" at new "," at ");return e.displayName&&Q.includes("<anonymous>")&&(Q=Q.replace("<anonymous>",e.displayName)),Q}while(1<=l&&0<=i);break}}}finally{ea=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?Ot(a):""}function Me(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 wl(e.type,!1);case 11:return wl(e.type.render,!1);case 1:return wl(e.type,!0);case 31:return Ot("Activity");default:return""}}function de(e){try{var t="",a=null;do t+=Me(e,a),a=e,e=e.return;while(e);return t}catch(l){return`
7
- Error generating stack: `+l.message+`
8
- `+l.stack}}var ta=Object.prototype.hasOwnProperty,zl=s.unstable_scheduleCallback,fr=s.unstable_cancelCallback,vx=s.unstable_shouldYield,bx=s.unstable_requestPaint,St=s.unstable_now,jx=s.unstable_getCurrentPriorityLevel,Ku=s.unstable_ImmediatePriority,Fu=s.unstable_UserBlockingPriority,zs=s.unstable_NormalPriority,Nx=s.unstable_LowPriority,Zu=s.unstable_IdlePriority,Sx=s.log,Cx=s.unstable_setDisableYieldValue,Tl=null,Ct=null;function _a(e){if(typeof Sx=="function"&&Cx(e),Ct&&typeof Ct.setStrictMode=="function")try{Ct.setStrictMode(Tl,e)}catch{}}var wt=Math.clz32?Math.clz32:Tx,wx=Math.log,zx=Math.LN2;function Tx(e){return e>>>=0,e===0?32:31-(wx(e)/zx|0)|0}var Ts=256,Es=262144,As=4194304;function sn(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 Ds(e,t,a){var l=e.pendingLanes;if(l===0)return 0;var i=0,r=e.suspendedLanes,d=e.pingedLanes;e=e.warmLanes;var h=l&134217727;return h!==0?(l=h&~r,l!==0?i=sn(l):(d&=h,d!==0?i=sn(d):a||(a=h&~e,a!==0&&(i=sn(a))))):(h=l&~r,h!==0?i=sn(h):d!==0?i=sn(d):a||(a=l&~e,a!==0&&(i=sn(a)))),i===0?0:t!==0&&t!==i&&(t&r)===0&&(r=i&-i,a=t&-t,r>=a||r===32&&(a&4194048)!==0)?t:i}function El(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Ex(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 $u(){var e=As;return As<<=1,(As&62914560)===0&&(As=4194304),e}function mr(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function Al(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Ax(e,t,a,l,i,r){var d=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 h=e.entanglements,v=e.expirationTimes,B=e.hiddenUpdates;for(a=d&~a;0<a;){var Q=31-wt(a),Z=1<<Q;h[Q]=0,v[Q]=-1;var q=B[Q];if(q!==null)for(B[Q]=null,Q=0;Q<q.length;Q++){var H=q[Q];H!==null&&(H.lane&=-536870913)}a&=~Z}l!==0&&Ju(e,l,0),r!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=r&~(d&~t))}function Ju(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var l=31-wt(t);e.entangledLanes|=t,e.entanglements[l]=e.entanglements[l]|1073741824|a&261930}function Wu(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var l=31-wt(a),i=1<<l;i&t|e[l]&t&&(e[l]|=t),a&=~i}}function Iu(e,t){var a=t&-t;return a=(a&42)!==0?1:hr(a),(a&(e.suspendedLanes|t))!==0?0:a}function hr(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 xr(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Pu(){var e=R.p;return e!==0?e:(e=window.event,e===void 0?32:Hm(e.type))}function eo(e,t){var a=R.p;try{return R.p=e,t()}finally{R.p=a}}var ka=Math.random().toString(36).slice(2),it="__reactFiber$"+ka,mt="__reactProps$"+ka,An="__reactContainer$"+ka,gr="__reactEvents$"+ka,Dx="__reactListeners$"+ka,_x="__reactHandles$"+ka,to="__reactResources$"+ka,Dl="__reactMarker$"+ka;function pr(e){delete e[it],delete e[mt],delete e[gr],delete e[Dx],delete e[_x]}function Dn(e){var t=e[it];if(t)return t;for(var a=e.parentNode;a;){if(t=a[An]||a[it]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=Cm(e);e!==null;){if(a=e[it])return a;e=Cm(e)}return t}e=a,a=e.parentNode}return null}function _n(e){if(e=e[it]||e[An]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function _l(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(u(33))}function kn(e){var t=e[to];return t||(t=e[to]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function tt(e){e[Dl]=!0}var ao=new Set,no={};function rn(e,t){Mn(e,t),Mn(e+"Capture",t)}function Mn(e,t){for(no[e]=t,e=0;e<t.length;e++)ao.add(t[e])}var kx=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]*$"),lo={},so={};function Mx(e){return ta.call(so,e)?!0:ta.call(lo,e)?!1:kx.test(e)?so[e]=!0:(lo[e]=!0,!1)}function _s(e,t,a){if(Mx(t))if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var l=t.toLowerCase().slice(0,5);if(l!=="data-"&&l!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+a)}}function ks(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 fa(e,t,a,l){if(l===null)e.removeAttribute(a);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(a);return}e.setAttributeNS(t,a,""+l)}}function Rt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function io(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Ox(e,t,a){var l=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var i=l.get,r=l.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(d){a=""+d,r.call(this,d)}}),Object.defineProperty(e,t,{enumerable:l.enumerable}),{getValue:function(){return a},setValue:function(d){a=""+d},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function yr(e){if(!e._valueTracker){var t=io(e)?"checked":"value";e._valueTracker=Ox(e,t,""+e[t])}}function ro(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),l="";return e&&(l=io(e)?e.checked?"true":"false":e.value),e=l,e!==a?(t.setValue(e),!0):!1}function Ms(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 Rx=/[\n"\\]/g;function Ut(e){return e.replace(Rx,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function vr(e,t,a,l,i,r,d,h){e.name="",d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"?e.type=d:e.removeAttribute("type"),t!=null?d==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Rt(t)):e.value!==""+Rt(t)&&(e.value=""+Rt(t)):d!=="submit"&&d!=="reset"||e.removeAttribute("value"),t!=null?br(e,d,Rt(t)):a!=null?br(e,d,Rt(a)):l!=null&&e.removeAttribute("value"),i==null&&r!=null&&(e.defaultChecked=!!r),i!=null&&(e.checked=i&&typeof i!="function"&&typeof i!="symbol"),h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"?e.name=""+Rt(h):e.removeAttribute("name")}function co(e,t,a,l,i,r,d,h){if(r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"&&(e.type=r),t!=null||a!=null){if(!(r!=="submit"&&r!=="reset"||t!=null)){yr(e);return}a=a!=null?""+Rt(a):"",t=t!=null?""+Rt(t):a,h||t===e.value||(e.value=t),e.defaultValue=t}l=l??i,l=typeof l!="function"&&typeof l!="symbol"&&!!l,e.checked=h?e.checked:!!l,e.defaultChecked=!!l,d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"&&(e.name=d),yr(e)}function br(e,t,a){t==="number"&&Ms(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function On(e,t,a,l){if(e=e.options,t){t={};for(var i=0;i<a.length;i++)t["$"+a[i]]=!0;for(a=0;a<e.length;a++)i=t.hasOwnProperty("$"+e[a].value),e[a].selected!==i&&(e[a].selected=i),i&&l&&(e[a].defaultSelected=!0)}else{for(a=""+Rt(a),t=null,i=0;i<e.length;i++){if(e[i].value===a){e[i].selected=!0,l&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function uo(e,t,a){if(t!=null&&(t=""+Rt(t),t!==e.value&&(e.value=t),a==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=a!=null?""+Rt(a):""}function oo(e,t,a,l){if(t==null){if(l!=null){if(a!=null)throw Error(u(92));if(X(l)){if(1<l.length)throw Error(u(93));l=l[0]}a=l}a==null&&(a=""),t=a}a=Rt(t),e.defaultValue=a,l=e.textContent,l===a&&l!==""&&l!==null&&(e.value=l),yr(e)}function Rn(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var Ux=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 fo(e,t,a){var l=t.indexOf("--")===0;a==null||typeof a=="boolean"||a===""?l?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":l?e.setProperty(t,a):typeof a!="number"||a===0||Ux.has(t)?t==="float"?e.cssFloat=a:e[t]=(""+a).trim():e[t]=a+"px"}function mo(e,t,a){if(t!=null&&typeof t!="object")throw Error(u(62));if(e=e.style,a!=null){for(var l in a)!a.hasOwnProperty(l)||t!=null&&t.hasOwnProperty(l)||(l.indexOf("--")===0?e.setProperty(l,""):l==="float"?e.cssFloat="":e[l]="");for(var i in t)l=t[i],t.hasOwnProperty(i)&&a[i]!==l&&fo(e,i,l)}else for(var r in t)t.hasOwnProperty(r)&&fo(e,r,t[r])}function jr(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 Bx=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"]]),qx=/^[\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 Os(e){return qx.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function ma(){}var Nr=null;function Sr(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Un=null,Bn=null;function ho(e){var t=_n(e);if(t&&(e=t.stateNode)){var a=e[mt]||null;e:switch(e=t.stateNode,t.type){case"input":if(vr(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="'+Ut(""+t)+'"][type="radio"]'),t=0;t<a.length;t++){var l=a[t];if(l!==e&&l.form===e.form){var i=l[mt]||null;if(!i)throw Error(u(90));vr(l,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name)}}for(t=0;t<a.length;t++)l=a[t],l.form===e.form&&ro(l)}break e;case"textarea":uo(e,a.value,a.defaultValue);break e;case"select":t=a.value,t!=null&&On(e,!!a.multiple,t,!1)}}}var Cr=!1;function xo(e,t,a){if(Cr)return e(t,a);Cr=!0;try{var l=e(t);return l}finally{if(Cr=!1,(Un!==null||Bn!==null)&&(ji(),Un&&(t=Un,e=Bn,Bn=Un=null,ho(t),e)))for(t=0;t<e.length;t++)ho(e[t])}}function kl(e,t){var a=e.stateNode;if(a===null)return null;var l=a[mt]||null;if(l===null)return null;a=l[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(l=!l.disabled)||(e=e.type,l=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!l;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(u(231,t,typeof a));return a}var ha=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),wr=!1;if(ha)try{var Ml={};Object.defineProperty(Ml,"passive",{get:function(){wr=!0}}),window.addEventListener("test",Ml,Ml),window.removeEventListener("test",Ml,Ml)}catch{wr=!1}var Ma=null,zr=null,Rs=null;function go(){if(Rs)return Rs;var e,t=zr,a=t.length,l,i="value"in Ma?Ma.value:Ma.textContent,r=i.length;for(e=0;e<a&&t[e]===i[e];e++);var d=a-e;for(l=1;l<=d&&t[a-l]===i[r-l];l++);return Rs=i.slice(e,1<l?1-l:void 0)}function Us(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 Bs(){return!0}function po(){return!1}function ht(e){function t(a,l,i,r,d){this._reactName=a,this._targetInst=i,this.type=l,this.nativeEvent=r,this.target=d,this.currentTarget=null;for(var h in e)e.hasOwnProperty(h)&&(a=e[h],this[h]=a?a(r):r[h]);return this.isDefaultPrevented=(r.defaultPrevented!=null?r.defaultPrevented:r.returnValue===!1)?Bs:po,this.isPropagationStopped=po,this}return w(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=Bs)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=Bs)},persist:function(){},isPersistent:Bs}),t}var cn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},qs=ht(cn),Ol=w({},cn,{view:0,detail:0}),Lx=ht(Ol),Tr,Er,Rl,Ls=w({},Ol,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Dr,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!==Rl&&(Rl&&e.type==="mousemove"?(Tr=e.screenX-Rl.screenX,Er=e.screenY-Rl.screenY):Er=Tr=0,Rl=e),Tr)},movementY:function(e){return"movementY"in e?e.movementY:Er}}),yo=ht(Ls),Hx=w({},Ls,{dataTransfer:0}),Gx=ht(Hx),Qx=w({},Ol,{relatedTarget:0}),Ar=ht(Qx),Yx=w({},cn,{animationName:0,elapsedTime:0,pseudoElement:0}),Vx=ht(Yx),Xx=w({},cn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Kx=ht(Xx),Fx=w({},cn,{data:0}),vo=ht(Fx),Zx={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},$x={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"},Jx={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Wx(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Jx[e])?!!t[e]:!1}function Dr(){return Wx}var Ix=w({},Ol,{key:function(e){if(e.key){var t=Zx[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Us(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?$x[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Dr,charCode:function(e){return e.type==="keypress"?Us(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Us(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Px=ht(Ix),eg=w({},Ls,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),bo=ht(eg),tg=w({},Ol,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Dr}),ag=ht(tg),ng=w({},cn,{propertyName:0,elapsedTime:0,pseudoElement:0}),lg=ht(ng),sg=w({},Ls,{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}),ig=ht(sg),rg=w({},cn,{newState:0,oldState:0}),cg=ht(rg),ug=[9,13,27,32],_r=ha&&"CompositionEvent"in window,Ul=null;ha&&"documentMode"in document&&(Ul=document.documentMode);var og=ha&&"TextEvent"in window&&!Ul,jo=ha&&(!_r||Ul&&8<Ul&&11>=Ul),No=" ",So=!1;function Co(e,t){switch(e){case"keyup":return ug.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function wo(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var qn=!1;function dg(e,t){switch(e){case"compositionend":return wo(t);case"keypress":return t.which!==32?null:(So=!0,No);case"textInput":return e=t.data,e===No&&So?null:e;default:return null}}function fg(e,t){if(qn)return e==="compositionend"||!_r&&Co(e,t)?(e=go(),Rs=zr=Ma=null,qn=!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 jo&&t.locale!=="ko"?null:t.data;default:return null}}var mg={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 zo(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!mg[e.type]:t==="textarea"}function To(e,t,a,l){Un?Bn?Bn.push(l):Bn=[l]:Un=l,t=Ei(t,"onChange"),0<t.length&&(a=new qs("onChange","change",null,a,l),e.push({event:a,listeners:t}))}var Bl=null,ql=null;function hg(e){om(e,0)}function Hs(e){var t=_l(e);if(ro(t))return e}function Eo(e,t){if(e==="change")return t}var Ao=!1;if(ha){var kr;if(ha){var Mr="oninput"in document;if(!Mr){var Do=document.createElement("div");Do.setAttribute("oninput","return;"),Mr=typeof Do.oninput=="function"}kr=Mr}else kr=!1;Ao=kr&&(!document.documentMode||9<document.documentMode)}function _o(){Bl&&(Bl.detachEvent("onpropertychange",ko),ql=Bl=null)}function ko(e){if(e.propertyName==="value"&&Hs(ql)){var t=[];To(t,ql,e,Sr(e)),xo(hg,t)}}function xg(e,t,a){e==="focusin"?(_o(),Bl=t,ql=a,Bl.attachEvent("onpropertychange",ko)):e==="focusout"&&_o()}function gg(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Hs(ql)}function pg(e,t){if(e==="click")return Hs(t)}function yg(e,t){if(e==="input"||e==="change")return Hs(t)}function vg(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var zt=typeof Object.is=="function"?Object.is:vg;function Ll(e,t){if(zt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),l=Object.keys(t);if(a.length!==l.length)return!1;for(l=0;l<a.length;l++){var i=a[l];if(!ta.call(t,i)||!zt(e[i],t[i]))return!1}return!0}function Mo(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Oo(e,t){var a=Mo(e);e=0;for(var l;a;){if(a.nodeType===3){if(l=e+a.textContent.length,e<=t&&l>=t)return{node:a,offset:t-e};e=l}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Mo(a)}}function Ro(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ro(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Uo(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ms(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=Ms(e.document)}return t}function Or(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 bg=ha&&"documentMode"in document&&11>=document.documentMode,Ln=null,Rr=null,Hl=null,Ur=!1;function Bo(e,t,a){var l=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Ur||Ln==null||Ln!==Ms(l)||(l=Ln,"selectionStart"in l&&Or(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),Hl&&Ll(Hl,l)||(Hl=l,l=Ei(Rr,"onSelect"),0<l.length&&(t=new qs("onSelect","select",null,t,a),e.push({event:t,listeners:l}),t.target=Ln)))}function un(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var Hn={animationend:un("Animation","AnimationEnd"),animationiteration:un("Animation","AnimationIteration"),animationstart:un("Animation","AnimationStart"),transitionrun:un("Transition","TransitionRun"),transitionstart:un("Transition","TransitionStart"),transitioncancel:un("Transition","TransitionCancel"),transitionend:un("Transition","TransitionEnd")},Br={},qo={};ha&&(qo=document.createElement("div").style,"AnimationEvent"in window||(delete Hn.animationend.animation,delete Hn.animationiteration.animation,delete Hn.animationstart.animation),"TransitionEvent"in window||delete Hn.transitionend.transition);function on(e){if(Br[e])return Br[e];if(!Hn[e])return e;var t=Hn[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in qo)return Br[e]=t[a];return e}var Lo=on("animationend"),Ho=on("animationiteration"),Go=on("animationstart"),jg=on("transitionrun"),Ng=on("transitionstart"),Sg=on("transitioncancel"),Qo=on("transitionend"),Yo=new Map,qr="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(" ");qr.push("scrollEnd");function $t(e,t){Yo.set(e,t),rn(t,[e])}var Gs=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)},Bt=[],Gn=0,Lr=0;function Qs(){for(var e=Gn,t=Lr=Gn=0;t<e;){var a=Bt[t];Bt[t++]=null;var l=Bt[t];Bt[t++]=null;var i=Bt[t];Bt[t++]=null;var r=Bt[t];if(Bt[t++]=null,l!==null&&i!==null){var d=l.pending;d===null?i.next=i:(i.next=d.next,d.next=i),l.pending=i}r!==0&&Vo(a,i,r)}}function Ys(e,t,a,l){Bt[Gn++]=e,Bt[Gn++]=t,Bt[Gn++]=a,Bt[Gn++]=l,Lr|=l,e.lanes|=l,e=e.alternate,e!==null&&(e.lanes|=l)}function Hr(e,t,a,l){return Ys(e,t,a,l),Vs(e)}function dn(e,t){return Ys(e,null,null,t),Vs(e)}function Vo(e,t,a){e.lanes|=a;var l=e.alternate;l!==null&&(l.lanes|=a);for(var i=!1,r=e.return;r!==null;)r.childLanes|=a,l=r.alternate,l!==null&&(l.childLanes|=a),r.tag===22&&(e=r.stateNode,e===null||e._visibility&1||(i=!0)),e=r,r=r.return;return e.tag===3?(r=e.stateNode,i&&t!==null&&(i=31-wt(a),e=r.hiddenUpdates,l=e[i],l===null?e[i]=[t]:l.push(t),t.lane=a|536870912),r):null}function Vs(e){if(50<cs)throw cs=0,$c=null,Error(u(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Qn={};function Cg(e,t,a,l){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Tt(e,t,a,l){return new Cg(e,t,a,l)}function Gr(e){return e=e.prototype,!(!e||!e.isReactComponent)}function xa(e,t){var a=e.alternate;return a===null?(a=Tt(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 Xo(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 Xs(e,t,a,l,i,r){var d=0;if(l=e,typeof e=="function")Gr(e)&&(d=1);else if(typeof e=="string")d=Ap(e,a,ue.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case Y:return e=Tt(31,a,t,i),e.elementType=Y,e.lanes=r,e;case _:return fn(a.children,i,r,t);case N:d=8,i|=24;break;case k:return e=Tt(12,a,t,i|2),e.elementType=k,e.lanes=r,e;case L:return e=Tt(13,a,t,i),e.elementType=L,e.lanes=r,e;case J:return e=Tt(19,a,t,i),e.elementType=J,e.lanes=r,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case A:d=10;break e;case O:d=9;break e;case S:d=11;break e;case F:d=14;break e;case te:d=16,l=null;break e}d=29,a=Error(u(130,e===null?"null":typeof e,"")),l=null}return t=Tt(d,a,t,i),t.elementType=e,t.type=l,t.lanes=r,t}function fn(e,t,a,l){return e=Tt(7,e,l,t),e.lanes=a,e}function Qr(e,t,a){return e=Tt(6,e,null,t),e.lanes=a,e}function Ko(e){var t=Tt(18,null,null,0);return t.stateNode=e,t}function Yr(e,t,a){return t=Tt(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Fo=new WeakMap;function qt(e,t){if(typeof e=="object"&&e!==null){var a=Fo.get(e);return a!==void 0?a:(t={value:e,source:t,stack:de(t)},Fo.set(e,t),t)}return{value:e,source:t,stack:de(t)}}var Yn=[],Vn=0,Ks=null,Gl=0,Lt=[],Ht=0,Oa=null,aa=1,na="";function ga(e,t){Yn[Vn++]=Gl,Yn[Vn++]=Ks,Ks=e,Gl=t}function Zo(e,t,a){Lt[Ht++]=aa,Lt[Ht++]=na,Lt[Ht++]=Oa,Oa=e;var l=aa;e=na;var i=32-wt(l)-1;l&=~(1<<i),a+=1;var r=32-wt(t)+i;if(30<r){var d=i-i%5;r=(l&(1<<d)-1).toString(32),l>>=d,i-=d,aa=1<<32-wt(t)+i|a<<i|l,na=r+e}else aa=1<<r|a<<i|l,na=e}function Vr(e){e.return!==null&&(ga(e,1),Zo(e,1,0))}function Xr(e){for(;e===Ks;)Ks=Yn[--Vn],Yn[Vn]=null,Gl=Yn[--Vn],Yn[Vn]=null;for(;e===Oa;)Oa=Lt[--Ht],Lt[Ht]=null,na=Lt[--Ht],Lt[Ht]=null,aa=Lt[--Ht],Lt[Ht]=null}function $o(e,t){Lt[Ht++]=aa,Lt[Ht++]=na,Lt[Ht++]=Oa,aa=t.id,na=t.overflow,Oa=e}var rt=null,qe=null,Ne=!1,Ra=null,Gt=!1,Kr=Error(u(519));function Ua(e){var t=Error(u(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Ql(qt(t,e)),Kr}function Jo(e){var t=e.stateNode,a=e.type,l=e.memoizedProps;switch(t[it]=e,t[mt]=l,a){case"dialog":ve("cancel",t),ve("close",t);break;case"iframe":case"object":case"embed":ve("load",t);break;case"video":case"audio":for(a=0;a<os.length;a++)ve(os[a],t);break;case"source":ve("error",t);break;case"img":case"image":case"link":ve("error",t),ve("load",t);break;case"details":ve("toggle",t);break;case"input":ve("invalid",t),co(t,l.value,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name,!0);break;case"select":ve("invalid",t);break;case"textarea":ve("invalid",t),oo(t,l.value,l.defaultValue,l.children)}a=l.children,typeof a!="string"&&typeof a!="number"&&typeof a!="bigint"||t.textContent===""+a||l.suppressHydrationWarning===!0||hm(t.textContent,a)?(l.popover!=null&&(ve("beforetoggle",t),ve("toggle",t)),l.onScroll!=null&&ve("scroll",t),l.onScrollEnd!=null&&ve("scrollend",t),l.onClick!=null&&(t.onclick=ma),t=!0):t=!1,t||Ua(e,!0)}function Wo(e){for(rt=e.return;rt;)switch(rt.tag){case 5:case 31:case 13:Gt=!1;return;case 27:case 3:Gt=!0;return;default:rt=rt.return}}function Xn(e){if(e!==rt)return!1;if(!Ne)return Wo(e),Ne=!0,!1;var t=e.tag,a;if((a=t!==3&&t!==27)&&((a=t===5)&&(a=e.type,a=!(a!=="form"&&a!=="button")||ou(e.type,e.memoizedProps)),a=!a),a&&qe&&Ua(e),Wo(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(u(317));qe=Sm(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(u(317));qe=Sm(e)}else t===27?(t=qe,Ja(e.type)?(e=xu,xu=null,qe=e):qe=t):qe=rt?Yt(e.stateNode.nextSibling):null;return!0}function mn(){qe=rt=null,Ne=!1}function Fr(){var e=Ra;return e!==null&&(yt===null?yt=e:yt.push.apply(yt,e),Ra=null),e}function Ql(e){Ra===null?Ra=[e]:Ra.push(e)}var Zr=ae(null),hn=null,pa=null;function Ba(e,t,a){xe(Zr,t._currentValue),t._currentValue=a}function ya(e){e._currentValue=Zr.current,ie(Zr)}function $r(e,t,a){for(;e!==null;){var l=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,l!==null&&(l.childLanes|=t)):l!==null&&(l.childLanes&t)!==t&&(l.childLanes|=t),e===a)break;e=e.return}}function Jr(e,t,a,l){var i=e.child;for(i!==null&&(i.return=e);i!==null;){var r=i.dependencies;if(r!==null){var d=i.child;r=r.firstContext;e:for(;r!==null;){var h=r;r=i;for(var v=0;v<t.length;v++)if(h.context===t[v]){r.lanes|=a,h=r.alternate,h!==null&&(h.lanes|=a),$r(r.return,a,e),l||(d=null);break e}r=h.next}}else if(i.tag===18){if(d=i.return,d===null)throw Error(u(341));d.lanes|=a,r=d.alternate,r!==null&&(r.lanes|=a),$r(d,a,e),d=null}else d=i.child;if(d!==null)d.return=i;else for(d=i;d!==null;){if(d===e){d=null;break}if(i=d.sibling,i!==null){i.return=d.return,d=i;break}d=d.return}i=d}}function Kn(e,t,a,l){e=null;for(var i=t,r=!1;i!==null;){if(!r){if((i.flags&524288)!==0)r=!0;else if((i.flags&262144)!==0)break}if(i.tag===10){var d=i.alternate;if(d===null)throw Error(u(387));if(d=d.memoizedProps,d!==null){var h=i.type;zt(i.pendingProps.value,d.value)||(e!==null?e.push(h):e=[h])}}else if(i===Mt.current){if(d=i.alternate,d===null)throw Error(u(387));d.memoizedState.memoizedState!==i.memoizedState.memoizedState&&(e!==null?e.push(xs):e=[xs])}i=i.return}e!==null&&Jr(t,e,a,l),t.flags|=262144}function Fs(e){for(e=e.firstContext;e!==null;){if(!zt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function xn(e){hn=e,pa=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function ct(e){return Io(hn,e)}function Zs(e,t){return hn===null&&xn(e),Io(e,t)}function Io(e,t){var a=t._currentValue;if(t={context:t,memoizedValue:a,next:null},pa===null){if(e===null)throw Error(u(308));pa=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else pa=pa.next=t;return a}var wg=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(a,l){e.push(l)}};this.abort=function(){t.aborted=!0,e.forEach(function(a){return a()})}},zg=s.unstable_scheduleCallback,Tg=s.unstable_NormalPriority,Ze={$$typeof:A,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Wr(){return{controller:new wg,data:new Map,refCount:0}}function Yl(e){e.refCount--,e.refCount===0&&zg(Tg,function(){e.controller.abort()})}var Vl=null,Ir=0,Fn=0,Zn=null;function Eg(e,t){if(Vl===null){var a=Vl=[];Ir=0,Fn=tu(),Zn={status:"pending",value:void 0,then:function(l){a.push(l)}}}return Ir++,t.then(Po,Po),t}function Po(){if(--Ir===0&&Vl!==null){Zn!==null&&(Zn.status="fulfilled");var e=Vl;Vl=null,Fn=0,Zn=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Ag(e,t){var a=[],l={status:"pending",value:null,reason:null,then:function(i){a.push(i)}};return e.then(function(){l.status="fulfilled",l.value=t;for(var i=0;i<a.length;i++)(0,a[i])(t)},function(i){for(l.status="rejected",l.reason=i,i=0;i<a.length;i++)(0,a[i])(void 0)}),l}var ed=j.S;j.S=function(e,t){qf=St(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&Eg(e,t),ed!==null&&ed(e,t)};var gn=ae(null);function Pr(){var e=gn.current;return e!==null?e:Be.pooledCache}function $s(e,t){t===null?xe(gn,gn.current):xe(gn,t.pool)}function td(){var e=Pr();return e===null?null:{parent:Ze._currentValue,pool:e}}var $n=Error(u(460)),ec=Error(u(474)),Js=Error(u(542)),Ws={then:function(){}};function ad(e){return e=e.status,e==="fulfilled"||e==="rejected"}function nd(e,t,a){switch(a=e[a],a===void 0?e.push(t):a!==t&&(t.then(ma,ma),t=a),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,sd(e),e;default:if(typeof t.status=="string")t.then(ma,ma);else{if(e=Be,e!==null&&100<e.shellSuspendCounter)throw Error(u(482));e=t,e.status="pending",e.then(function(l){if(t.status==="pending"){var i=t;i.status="fulfilled",i.value=l}},function(l){if(t.status==="pending"){var i=t;i.status="rejected",i.reason=l}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,sd(e),e}throw yn=t,$n}}function pn(e){try{var t=e._init;return t(e._payload)}catch(a){throw a!==null&&typeof a=="object"&&typeof a.then=="function"?(yn=a,$n):a}}var yn=null;function ld(){if(yn===null)throw Error(u(459));var e=yn;return yn=null,e}function sd(e){if(e===$n||e===Js)throw Error(u(483))}var Jn=null,Xl=0;function Is(e){var t=Xl;return Xl+=1,Jn===null&&(Jn=[]),nd(Jn,e,t)}function Kl(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function Ps(e,t){throw t.$$typeof===M?Error(u(525)):(e=Object.prototype.toString.call(t),Error(u(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function id(e){function t(E,C){if(e){var U=E.deletions;U===null?(E.deletions=[C],E.flags|=16):U.push(C)}}function a(E,C){if(!e)return null;for(;C!==null;)t(E,C),C=C.sibling;return null}function l(E){for(var C=new Map;E!==null;)E.key!==null?C.set(E.key,E):C.set(E.index,E),E=E.sibling;return C}function i(E,C){return E=xa(E,C),E.index=0,E.sibling=null,E}function r(E,C,U){return E.index=U,e?(U=E.alternate,U!==null?(U=U.index,U<C?(E.flags|=67108866,C):U):(E.flags|=67108866,C)):(E.flags|=1048576,C)}function d(E){return e&&E.alternate===null&&(E.flags|=67108866),E}function h(E,C,U,K){return C===null||C.tag!==6?(C=Qr(U,E.mode,K),C.return=E,C):(C=i(C,U),C.return=E,C)}function v(E,C,U,K){var ce=U.type;return ce===_?Q(E,C,U.props.children,K,U.key):C!==null&&(C.elementType===ce||typeof ce=="object"&&ce!==null&&ce.$$typeof===te&&pn(ce)===C.type)?(C=i(C,U.props),Kl(C,U),C.return=E,C):(C=Xs(U.type,U.key,U.props,null,E.mode,K),Kl(C,U),C.return=E,C)}function B(E,C,U,K){return C===null||C.tag!==4||C.stateNode.containerInfo!==U.containerInfo||C.stateNode.implementation!==U.implementation?(C=Yr(U,E.mode,K),C.return=E,C):(C=i(C,U.children||[]),C.return=E,C)}function Q(E,C,U,K,ce){return C===null||C.tag!==7?(C=fn(U,E.mode,K,ce),C.return=E,C):(C=i(C,U),C.return=E,C)}function Z(E,C,U){if(typeof C=="string"&&C!==""||typeof C=="number"||typeof C=="bigint")return C=Qr(""+C,E.mode,U),C.return=E,C;if(typeof C=="object"&&C!==null){switch(C.$$typeof){case T:return U=Xs(C.type,C.key,C.props,null,E.mode,U),Kl(U,C),U.return=E,U;case D:return C=Yr(C,E.mode,U),C.return=E,C;case te:return C=pn(C),Z(E,C,U)}if(X(C)||G(C))return C=fn(C,E.mode,U,null),C.return=E,C;if(typeof C.then=="function")return Z(E,Is(C),U);if(C.$$typeof===A)return Z(E,Zs(E,C),U);Ps(E,C)}return null}function q(E,C,U,K){var ce=C!==null?C.key:null;if(typeof U=="string"&&U!==""||typeof U=="number"||typeof U=="bigint")return ce!==null?null:h(E,C,""+U,K);if(typeof U=="object"&&U!==null){switch(U.$$typeof){case T:return U.key===ce?v(E,C,U,K):null;case D:return U.key===ce?B(E,C,U,K):null;case te:return U=pn(U),q(E,C,U,K)}if(X(U)||G(U))return ce!==null?null:Q(E,C,U,K,null);if(typeof U.then=="function")return q(E,C,Is(U),K);if(U.$$typeof===A)return q(E,C,Zs(E,U),K);Ps(E,U)}return null}function H(E,C,U,K,ce){if(typeof K=="string"&&K!==""||typeof K=="number"||typeof K=="bigint")return E=E.get(U)||null,h(C,E,""+K,ce);if(typeof K=="object"&&K!==null){switch(K.$$typeof){case T:return E=E.get(K.key===null?U:K.key)||null,v(C,E,K,ce);case D:return E=E.get(K.key===null?U:K.key)||null,B(C,E,K,ce);case te:return K=pn(K),H(E,C,U,K,ce)}if(X(K)||G(K))return E=E.get(U)||null,Q(C,E,K,ce,null);if(typeof K.then=="function")return H(E,C,U,Is(K),ce);if(K.$$typeof===A)return H(E,C,U,Zs(C,K),ce);Ps(C,K)}return null}function le(E,C,U,K){for(var ce=null,Ce=null,se=C,ge=C=0,je=null;se!==null&&ge<U.length;ge++){se.index>ge?(je=se,se=null):je=se.sibling;var we=q(E,se,U[ge],K);if(we===null){se===null&&(se=je);break}e&&se&&we.alternate===null&&t(E,se),C=r(we,C,ge),Ce===null?ce=we:Ce.sibling=we,Ce=we,se=je}if(ge===U.length)return a(E,se),Ne&&ga(E,ge),ce;if(se===null){for(;ge<U.length;ge++)se=Z(E,U[ge],K),se!==null&&(C=r(se,C,ge),Ce===null?ce=se:Ce.sibling=se,Ce=se);return Ne&&ga(E,ge),ce}for(se=l(se);ge<U.length;ge++)je=H(se,E,ge,U[ge],K),je!==null&&(e&&je.alternate!==null&&se.delete(je.key===null?ge:je.key),C=r(je,C,ge),Ce===null?ce=je:Ce.sibling=je,Ce=je);return e&&se.forEach(function(tn){return t(E,tn)}),Ne&&ga(E,ge),ce}function oe(E,C,U,K){if(U==null)throw Error(u(151));for(var ce=null,Ce=null,se=C,ge=C=0,je=null,we=U.next();se!==null&&!we.done;ge++,we=U.next()){se.index>ge?(je=se,se=null):je=se.sibling;var tn=q(E,se,we.value,K);if(tn===null){se===null&&(se=je);break}e&&se&&tn.alternate===null&&t(E,se),C=r(tn,C,ge),Ce===null?ce=tn:Ce.sibling=tn,Ce=tn,se=je}if(we.done)return a(E,se),Ne&&ga(E,ge),ce;if(se===null){for(;!we.done;ge++,we=U.next())we=Z(E,we.value,K),we!==null&&(C=r(we,C,ge),Ce===null?ce=we:Ce.sibling=we,Ce=we);return Ne&&ga(E,ge),ce}for(se=l(se);!we.done;ge++,we=U.next())we=H(se,E,ge,we.value,K),we!==null&&(e&&we.alternate!==null&&se.delete(we.key===null?ge:we.key),C=r(we,C,ge),Ce===null?ce=we:Ce.sibling=we,Ce=we);return e&&se.forEach(function(Hp){return t(E,Hp)}),Ne&&ga(E,ge),ce}function Ue(E,C,U,K){if(typeof U=="object"&&U!==null&&U.type===_&&U.key===null&&(U=U.props.children),typeof U=="object"&&U!==null){switch(U.$$typeof){case T:e:{for(var ce=U.key;C!==null;){if(C.key===ce){if(ce=U.type,ce===_){if(C.tag===7){a(E,C.sibling),K=i(C,U.props.children),K.return=E,E=K;break e}}else if(C.elementType===ce||typeof ce=="object"&&ce!==null&&ce.$$typeof===te&&pn(ce)===C.type){a(E,C.sibling),K=i(C,U.props),Kl(K,U),K.return=E,E=K;break e}a(E,C);break}else t(E,C);C=C.sibling}U.type===_?(K=fn(U.props.children,E.mode,K,U.key),K.return=E,E=K):(K=Xs(U.type,U.key,U.props,null,E.mode,K),Kl(K,U),K.return=E,E=K)}return d(E);case D:e:{for(ce=U.key;C!==null;){if(C.key===ce)if(C.tag===4&&C.stateNode.containerInfo===U.containerInfo&&C.stateNode.implementation===U.implementation){a(E,C.sibling),K=i(C,U.children||[]),K.return=E,E=K;break e}else{a(E,C);break}else t(E,C);C=C.sibling}K=Yr(U,E.mode,K),K.return=E,E=K}return d(E);case te:return U=pn(U),Ue(E,C,U,K)}if(X(U))return le(E,C,U,K);if(G(U)){if(ce=G(U),typeof ce!="function")throw Error(u(150));return U=ce.call(U),oe(E,C,U,K)}if(typeof U.then=="function")return Ue(E,C,Is(U),K);if(U.$$typeof===A)return Ue(E,C,Zs(E,U),K);Ps(E,U)}return typeof U=="string"&&U!==""||typeof U=="number"||typeof U=="bigint"?(U=""+U,C!==null&&C.tag===6?(a(E,C.sibling),K=i(C,U),K.return=E,E=K):(a(E,C),K=Qr(U,E.mode,K),K.return=E,E=K),d(E)):a(E,C)}return function(E,C,U,K){try{Xl=0;var ce=Ue(E,C,U,K);return Jn=null,ce}catch(se){if(se===$n||se===Js)throw se;var Ce=Tt(29,se,null,E.mode);return Ce.lanes=K,Ce.return=E,Ce}}}var vn=id(!0),rd=id(!1),qa=!1;function tc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ac(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 La(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ha(e,t,a){var l=e.updateQueue;if(l===null)return null;if(l=l.shared,(ze&2)!==0){var i=l.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),l.pending=t,t=Vs(e),Vo(e,null,a),t}return Ys(e,l,t,a),Vs(e)}function Fl(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,Wu(e,a)}}function nc(e,t){var a=e.updateQueue,l=e.alternate;if(l!==null&&(l=l.updateQueue,a===l)){var i=null,r=null;if(a=a.firstBaseUpdate,a!==null){do{var d={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};r===null?i=r=d:r=r.next=d,a=a.next}while(a!==null);r===null?i=r=t:r=r.next=t}else i=r=t;a={baseState:l.baseState,firstBaseUpdate:i,lastBaseUpdate:r,shared:l.shared,callbacks:l.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var lc=!1;function Zl(){if(lc){var e=Zn;if(e!==null)throw e}}function $l(e,t,a,l){lc=!1;var i=e.updateQueue;qa=!1;var r=i.firstBaseUpdate,d=i.lastBaseUpdate,h=i.shared.pending;if(h!==null){i.shared.pending=null;var v=h,B=v.next;v.next=null,d===null?r=B:d.next=B,d=v;var Q=e.alternate;Q!==null&&(Q=Q.updateQueue,h=Q.lastBaseUpdate,h!==d&&(h===null?Q.firstBaseUpdate=B:h.next=B,Q.lastBaseUpdate=v))}if(r!==null){var Z=i.baseState;d=0,Q=B=v=null,h=r;do{var q=h.lane&-536870913,H=q!==h.lane;if(H?(be&q)===q:(l&q)===q){q!==0&&q===Fn&&(lc=!0),Q!==null&&(Q=Q.next={lane:0,tag:h.tag,payload:h.payload,callback:null,next:null});e:{var le=e,oe=h;q=t;var Ue=a;switch(oe.tag){case 1:if(le=oe.payload,typeof le=="function"){Z=le.call(Ue,Z,q);break e}Z=le;break e;case 3:le.flags=le.flags&-65537|128;case 0:if(le=oe.payload,q=typeof le=="function"?le.call(Ue,Z,q):le,q==null)break e;Z=w({},Z,q);break e;case 2:qa=!0}}q=h.callback,q!==null&&(e.flags|=64,H&&(e.flags|=8192),H=i.callbacks,H===null?i.callbacks=[q]:H.push(q))}else H={lane:q,tag:h.tag,payload:h.payload,callback:h.callback,next:null},Q===null?(B=Q=H,v=Z):Q=Q.next=H,d|=q;if(h=h.next,h===null){if(h=i.shared.pending,h===null)break;H=h,h=H.next,H.next=null,i.lastBaseUpdate=H,i.shared.pending=null}}while(!0);Q===null&&(v=Z),i.baseState=v,i.firstBaseUpdate=B,i.lastBaseUpdate=Q,r===null&&(i.shared.lanes=0),Xa|=d,e.lanes=d,e.memoizedState=Z}}function cd(e,t){if(typeof e!="function")throw Error(u(191,e));e.call(t)}function ud(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;e<a.length;e++)cd(a[e],t)}var Wn=ae(null),ei=ae(0);function od(e,t){e=Ta,xe(ei,e),xe(Wn,t),Ta=e|t.baseLanes}function sc(){xe(ei,Ta),xe(Wn,Wn.current)}function ic(){Ta=ei.current,ie(Wn),ie(ei)}var Et=ae(null),Qt=null;function Ga(e){var t=e.alternate;xe(Xe,Xe.current&1),xe(Et,e),Qt===null&&(t===null||Wn.current!==null||t.memoizedState!==null)&&(Qt=e)}function rc(e){xe(Xe,Xe.current),xe(Et,e),Qt===null&&(Qt=e)}function dd(e){e.tag===22?(xe(Xe,Xe.current),xe(Et,e),Qt===null&&(Qt=e)):Qa()}function Qa(){xe(Xe,Xe.current),xe(Et,Et.current)}function At(e){ie(Et),Qt===e&&(Qt=null),ie(Xe)}var Xe=ae(0);function ti(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||mu(a)||hu(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 va=0,me=null,Oe=null,$e=null,ai=!1,In=!1,bn=!1,ni=0,Jl=0,Pn=null,Dg=0;function Qe(){throw Error(u(321))}function cc(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!zt(e[a],t[a]))return!1;return!0}function uc(e,t,a,l,i,r){return va=r,me=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,j.H=e===null||e.memoizedState===null?Zd:Cc,bn=!1,r=a(l,i),bn=!1,In&&(r=md(t,a,l,i)),fd(e),r}function fd(e){j.H=Pl;var t=Oe!==null&&Oe.next!==null;if(va=0,$e=Oe=me=null,ai=!1,Jl=0,Pn=null,t)throw Error(u(300));e===null||Je||(e=e.dependencies,e!==null&&Fs(e)&&(Je=!0))}function md(e,t,a,l){me=e;var i=0;do{if(In&&(Pn=null),Jl=0,In=!1,25<=i)throw Error(u(301));if(i+=1,$e=Oe=null,e.updateQueue!=null){var r=e.updateQueue;r.lastEffect=null,r.events=null,r.stores=null,r.memoCache!=null&&(r.memoCache.index=0)}j.H=$d,r=t(a,l)}while(In);return r}function _g(){var e=j.H,t=e.useState()[0];return t=typeof t.then=="function"?Wl(t):t,e=e.useState()[0],(Oe!==null?Oe.memoizedState:null)!==e&&(me.flags|=1024),t}function oc(){var e=ni!==0;return ni=0,e}function dc(e,t,a){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a}function fc(e){if(ai){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}ai=!1}va=0,$e=Oe=me=null,In=!1,Jl=ni=0,Pn=null}function dt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return $e===null?me.memoizedState=$e=e:$e=$e.next=e,$e}function Ke(){if(Oe===null){var e=me.alternate;e=e!==null?e.memoizedState:null}else e=Oe.next;var t=$e===null?me.memoizedState:$e.next;if(t!==null)$e=t,Oe=e;else{if(e===null)throw me.alternate===null?Error(u(467)):Error(u(310));Oe=e,e={memoizedState:Oe.memoizedState,baseState:Oe.baseState,baseQueue:Oe.baseQueue,queue:Oe.queue,next:null},$e===null?me.memoizedState=$e=e:$e=$e.next=e}return $e}function li(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Wl(e){var t=Jl;return Jl+=1,Pn===null&&(Pn=[]),e=nd(Pn,e,t),t=me,($e===null?t.memoizedState:$e.next)===null&&(t=t.alternate,j.H=t===null||t.memoizedState===null?Zd:Cc),e}function si(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Wl(e);if(e.$$typeof===A)return ct(e)}throw Error(u(438,String(e)))}function mc(e){var t=null,a=me.updateQueue;if(a!==null&&(t=a.memoCache),t==null){var l=me.alternate;l!==null&&(l=l.updateQueue,l!==null&&(l=l.memoCache,l!=null&&(t={data:l.data.map(function(i){return i.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),a===null&&(a=li(),me.updateQueue=a),a.memoCache=t,a=t.data[t.index],a===void 0)for(a=t.data[t.index]=Array(e),l=0;l<e;l++)a[l]=ne;return t.index++,a}function ba(e,t){return typeof t=="function"?t(e):t}function ii(e){var t=Ke();return hc(t,Oe,e)}function hc(e,t,a){var l=e.queue;if(l===null)throw Error(u(311));l.lastRenderedReducer=a;var i=e.baseQueue,r=l.pending;if(r!==null){if(i!==null){var d=i.next;i.next=r.next,r.next=d}t.baseQueue=i=r,l.pending=null}if(r=e.baseState,i===null)e.memoizedState=r;else{t=i.next;var h=d=null,v=null,B=t,Q=!1;do{var Z=B.lane&-536870913;if(Z!==B.lane?(be&Z)===Z:(va&Z)===Z){var q=B.revertLane;if(q===0)v!==null&&(v=v.next={lane:0,revertLane:0,gesture:null,action:B.action,hasEagerState:B.hasEagerState,eagerState:B.eagerState,next:null}),Z===Fn&&(Q=!0);else if((va&q)===q){B=B.next,q===Fn&&(Q=!0);continue}else Z={lane:0,revertLane:B.revertLane,gesture:null,action:B.action,hasEagerState:B.hasEagerState,eagerState:B.eagerState,next:null},v===null?(h=v=Z,d=r):v=v.next=Z,me.lanes|=q,Xa|=q;Z=B.action,bn&&a(r,Z),r=B.hasEagerState?B.eagerState:a(r,Z)}else q={lane:Z,revertLane:B.revertLane,gesture:B.gesture,action:B.action,hasEagerState:B.hasEagerState,eagerState:B.eagerState,next:null},v===null?(h=v=q,d=r):v=v.next=q,me.lanes|=Z,Xa|=Z;B=B.next}while(B!==null&&B!==t);if(v===null?d=r:v.next=h,!zt(r,e.memoizedState)&&(Je=!0,Q&&(a=Zn,a!==null)))throw a;e.memoizedState=r,e.baseState=d,e.baseQueue=v,l.lastRenderedState=r}return i===null&&(l.lanes=0),[e.memoizedState,l.dispatch]}function xc(e){var t=Ke(),a=t.queue;if(a===null)throw Error(u(311));a.lastRenderedReducer=e;var l=a.dispatch,i=a.pending,r=t.memoizedState;if(i!==null){a.pending=null;var d=i=i.next;do r=e(r,d.action),d=d.next;while(d!==i);zt(r,t.memoizedState)||(Je=!0),t.memoizedState=r,t.baseQueue===null&&(t.baseState=r),a.lastRenderedState=r}return[r,l]}function hd(e,t,a){var l=me,i=Ke(),r=Ne;if(r){if(a===void 0)throw Error(u(407));a=a()}else a=t();var d=!zt((Oe||i).memoizedState,a);if(d&&(i.memoizedState=a,Je=!0),i=i.queue,yc(pd.bind(null,l,i,e),[e]),i.getSnapshot!==t||d||$e!==null&&$e.memoizedState.tag&1){if(l.flags|=2048,el(9,{destroy:void 0},gd.bind(null,l,i,a,t),null),Be===null)throw Error(u(349));r||(va&127)!==0||xd(l,t,a)}return a}function xd(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=me.updateQueue,t===null?(t=li(),me.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function gd(e,t,a,l){t.value=a,t.getSnapshot=l,yd(t)&&vd(e)}function pd(e,t,a){return a(function(){yd(t)&&vd(e)})}function yd(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!zt(e,a)}catch{return!0}}function vd(e){var t=dn(e,2);t!==null&&vt(t,e,2)}function gc(e){var t=dt();if(typeof e=="function"){var a=e;if(e=a(),bn){_a(!0);try{a()}finally{_a(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ba,lastRenderedState:e},t}function bd(e,t,a,l){return e.baseState=a,hc(e,Oe,typeof l=="function"?l:ba)}function kg(e,t,a,l,i){if(ui(e))throw Error(u(485));if(e=t.action,e!==null){var r={payload:i,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(d){r.listeners.push(d)}};j.T!==null?a(!0):r.isTransition=!1,l(r),a=t.pending,a===null?(r.next=t.pending=r,jd(t,r)):(r.next=a.next,t.pending=a.next=r)}}function jd(e,t){var a=t.action,l=t.payload,i=e.state;if(t.isTransition){var r=j.T,d={};j.T=d;try{var h=a(i,l),v=j.S;v!==null&&v(d,h),Nd(e,t,h)}catch(B){pc(e,t,B)}finally{r!==null&&d.types!==null&&(r.types=d.types),j.T=r}}else try{r=a(i,l),Nd(e,t,r)}catch(B){pc(e,t,B)}}function Nd(e,t,a){a!==null&&typeof a=="object"&&typeof a.then=="function"?a.then(function(l){Sd(e,t,l)},function(l){return pc(e,t,l)}):Sd(e,t,a)}function Sd(e,t,a){t.status="fulfilled",t.value=a,Cd(t),e.state=a,t=e.pending,t!==null&&(a=t.next,a===t?e.pending=null:(a=a.next,t.next=a,jd(e,a)))}function pc(e,t,a){var l=e.pending;if(e.pending=null,l!==null){l=l.next;do t.status="rejected",t.reason=a,Cd(t),t=t.next;while(t!==l)}e.action=null}function Cd(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function wd(e,t){return t}function zd(e,t){if(Ne){var a=Be.formState;if(a!==null){e:{var l=me;if(Ne){if(qe){t:{for(var i=qe,r=Gt;i.nodeType!==8;){if(!r){i=null;break t}if(i=Yt(i.nextSibling),i===null){i=null;break t}}r=i.data,i=r==="F!"||r==="F"?i:null}if(i){qe=Yt(i.nextSibling),l=i.data==="F!";break e}}Ua(l)}l=!1}l&&(t=a[0])}}return a=dt(),a.memoizedState=a.baseState=t,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:wd,lastRenderedState:t},a.queue=l,a=Xd.bind(null,me,l),l.dispatch=a,l=gc(!1),r=Sc.bind(null,me,!1,l.queue),l=dt(),i={state:t,dispatch:null,action:e,pending:null},l.queue=i,a=kg.bind(null,me,i,r,a),i.dispatch=a,l.memoizedState=e,[t,a,!1]}function Td(e){var t=Ke();return Ed(t,Oe,e)}function Ed(e,t,a){if(t=hc(e,t,wd)[0],e=ii(ba)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var l=Wl(t)}catch(d){throw d===$n?Js:d}else l=t;t=Ke();var i=t.queue,r=i.dispatch;return a!==t.memoizedState&&(me.flags|=2048,el(9,{destroy:void 0},Mg.bind(null,i,a),null)),[l,r,e]}function Mg(e,t){e.action=t}function Ad(e){var t=Ke(),a=Oe;if(a!==null)return Ed(t,a,e);Ke(),t=t.memoizedState,a=Ke();var l=a.queue.dispatch;return a.memoizedState=e,[t,l,!1]}function el(e,t,a,l){return e={tag:e,create:a,deps:l,inst:t,next:null},t=me.updateQueue,t===null&&(t=li(),me.updateQueue=t),a=t.lastEffect,a===null?t.lastEffect=e.next=e:(l=a.next,a.next=e,e.next=l,t.lastEffect=e),e}function Dd(){return Ke().memoizedState}function ri(e,t,a,l){var i=dt();me.flags|=e,i.memoizedState=el(1|t,{destroy:void 0},a,l===void 0?null:l)}function ci(e,t,a,l){var i=Ke();l=l===void 0?null:l;var r=i.memoizedState.inst;Oe!==null&&l!==null&&cc(l,Oe.memoizedState.deps)?i.memoizedState=el(t,r,a,l):(me.flags|=e,i.memoizedState=el(1|t,r,a,l))}function _d(e,t){ri(8390656,8,e,t)}function yc(e,t){ci(2048,8,e,t)}function Og(e){me.flags|=4;var t=me.updateQueue;if(t===null)t=li(),me.updateQueue=t,t.events=[e];else{var a=t.events;a===null?t.events=[e]:a.push(e)}}function kd(e){var t=Ke().memoizedState;return Og({ref:t,nextImpl:e}),function(){if((ze&2)!==0)throw Error(u(440));return t.impl.apply(void 0,arguments)}}function Md(e,t){return ci(4,2,e,t)}function Od(e,t){return ci(4,4,e,t)}function Rd(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 Ud(e,t,a){a=a!=null?a.concat([e]):null,ci(4,4,Rd.bind(null,t,e),a)}function vc(){}function Bd(e,t){var a=Ke();t=t===void 0?null:t;var l=a.memoizedState;return t!==null&&cc(t,l[1])?l[0]:(a.memoizedState=[e,t],e)}function qd(e,t){var a=Ke();t=t===void 0?null:t;var l=a.memoizedState;if(t!==null&&cc(t,l[1]))return l[0];if(l=e(),bn){_a(!0);try{e()}finally{_a(!1)}}return a.memoizedState=[l,t],l}function bc(e,t,a){return a===void 0||(va&1073741824)!==0&&(be&261930)===0?e.memoizedState=t:(e.memoizedState=a,e=Hf(),me.lanes|=e,Xa|=e,a)}function Ld(e,t,a,l){return zt(a,t)?a:Wn.current!==null?(e=bc(e,a,l),zt(e,t)||(Je=!0),e):(va&42)===0||(va&1073741824)!==0&&(be&261930)===0?(Je=!0,e.memoizedState=a):(e=Hf(),me.lanes|=e,Xa|=e,t)}function Hd(e,t,a,l,i){var r=R.p;R.p=r!==0&&8>r?r:8;var d=j.T,h={};j.T=h,Sc(e,!1,t,a);try{var v=i(),B=j.S;if(B!==null&&B(h,v),v!==null&&typeof v=="object"&&typeof v.then=="function"){var Q=Ag(v,l);Il(e,t,Q,kt(e))}else Il(e,t,l,kt(e))}catch(Z){Il(e,t,{then:function(){},status:"rejected",reason:Z},kt())}finally{R.p=r,d!==null&&h.types!==null&&(d.types=h.types),j.T=d}}function Rg(){}function jc(e,t,a,l){if(e.tag!==5)throw Error(u(476));var i=Gd(e).queue;Hd(e,i,t,P,a===null?Rg:function(){return Qd(e),a(l)})}function Gd(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:P,baseState:P,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ba,lastRenderedState:P},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ba,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Qd(e){var t=Gd(e);t.next===null&&(t=e.alternate.memoizedState),Il(e,t.next.queue,{},kt())}function Nc(){return ct(xs)}function Yd(){return Ke().memoizedState}function Vd(){return Ke().memoizedState}function Ug(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=kt();e=La(a);var l=Ha(t,e,a);l!==null&&(vt(l,t,a),Fl(l,t,a)),t={cache:Wr()},e.payload=t;return}t=t.return}}function Bg(e,t,a){var l=kt();a={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},ui(e)?Kd(t,a):(a=Hr(e,t,a,l),a!==null&&(vt(a,e,l),Fd(a,t,l)))}function Xd(e,t,a){var l=kt();Il(e,t,a,l)}function Il(e,t,a,l){var i={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(ui(e))Kd(t,i);else{var r=e.alternate;if(e.lanes===0&&(r===null||r.lanes===0)&&(r=t.lastRenderedReducer,r!==null))try{var d=t.lastRenderedState,h=r(d,a);if(i.hasEagerState=!0,i.eagerState=h,zt(h,d))return Ys(e,t,i,0),Be===null&&Qs(),!1}catch{}if(a=Hr(e,t,i,l),a!==null)return vt(a,e,l),Fd(a,t,l),!0}return!1}function Sc(e,t,a,l){if(l={lane:2,revertLane:tu(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},ui(e)){if(t)throw Error(u(479))}else t=Hr(e,a,l,2),t!==null&&vt(t,e,2)}function ui(e){var t=e.alternate;return e===me||t!==null&&t===me}function Kd(e,t){In=ai=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function Fd(e,t,a){if((a&4194048)!==0){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,Wu(e,a)}}var Pl={readContext:ct,use:si,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};Pl.useEffectEvent=Qe;var Zd={readContext:ct,use:si,useCallback:function(e,t){return dt().memoizedState=[e,t===void 0?null:t],e},useContext:ct,useEffect:_d,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,ri(4194308,4,Rd.bind(null,t,e),a)},useLayoutEffect:function(e,t){return ri(4194308,4,e,t)},useInsertionEffect:function(e,t){ri(4,2,e,t)},useMemo:function(e,t){var a=dt();t=t===void 0?null:t;var l=e();if(bn){_a(!0);try{e()}finally{_a(!1)}}return a.memoizedState=[l,t],l},useReducer:function(e,t,a){var l=dt();if(a!==void 0){var i=a(t);if(bn){_a(!0);try{a(t)}finally{_a(!1)}}}else i=t;return l.memoizedState=l.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},l.queue=e,e=e.dispatch=Bg.bind(null,me,e),[l.memoizedState,e]},useRef:function(e){var t=dt();return e={current:e},t.memoizedState=e},useState:function(e){e=gc(e);var t=e.queue,a=Xd.bind(null,me,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:vc,useDeferredValue:function(e,t){var a=dt();return bc(a,e,t)},useTransition:function(){var e=gc(!1);return e=Hd.bind(null,me,e.queue,!0,!1),dt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var l=me,i=dt();if(Ne){if(a===void 0)throw Error(u(407));a=a()}else{if(a=t(),Be===null)throw Error(u(349));(be&127)!==0||xd(l,t,a)}i.memoizedState=a;var r={value:a,getSnapshot:t};return i.queue=r,_d(pd.bind(null,l,r,e),[e]),l.flags|=2048,el(9,{destroy:void 0},gd.bind(null,l,r,a,t),null),a},useId:function(){var e=dt(),t=Be.identifierPrefix;if(Ne){var a=na,l=aa;a=(l&~(1<<32-wt(l)-1)).toString(32)+a,t="_"+t+"R_"+a,a=ni++,0<a&&(t+="H"+a.toString(32)),t+="_"}else a=Dg++,t="_"+t+"r_"+a.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Nc,useFormState:zd,useActionState:zd,useOptimistic:function(e){var t=dt();t.memoizedState=t.baseState=e;var a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=a,t=Sc.bind(null,me,!0,a),a.dispatch=t,[e,t]},useMemoCache:mc,useCacheRefresh:function(){return dt().memoizedState=Ug.bind(null,me)},useEffectEvent:function(e){var t=dt(),a={impl:e};return t.memoizedState=a,function(){if((ze&2)!==0)throw Error(u(440));return a.impl.apply(void 0,arguments)}}},Cc={readContext:ct,use:si,useCallback:Bd,useContext:ct,useEffect:yc,useImperativeHandle:Ud,useInsertionEffect:Md,useLayoutEffect:Od,useMemo:qd,useReducer:ii,useRef:Dd,useState:function(){return ii(ba)},useDebugValue:vc,useDeferredValue:function(e,t){var a=Ke();return Ld(a,Oe.memoizedState,e,t)},useTransition:function(){var e=ii(ba)[0],t=Ke().memoizedState;return[typeof e=="boolean"?e:Wl(e),t]},useSyncExternalStore:hd,useId:Yd,useHostTransitionStatus:Nc,useFormState:Td,useActionState:Td,useOptimistic:function(e,t){var a=Ke();return bd(a,Oe,e,t)},useMemoCache:mc,useCacheRefresh:Vd};Cc.useEffectEvent=kd;var $d={readContext:ct,use:si,useCallback:Bd,useContext:ct,useEffect:yc,useImperativeHandle:Ud,useInsertionEffect:Md,useLayoutEffect:Od,useMemo:qd,useReducer:xc,useRef:Dd,useState:function(){return xc(ba)},useDebugValue:vc,useDeferredValue:function(e,t){var a=Ke();return Oe===null?bc(a,e,t):Ld(a,Oe.memoizedState,e,t)},useTransition:function(){var e=xc(ba)[0],t=Ke().memoizedState;return[typeof e=="boolean"?e:Wl(e),t]},useSyncExternalStore:hd,useId:Yd,useHostTransitionStatus:Nc,useFormState:Ad,useActionState:Ad,useOptimistic:function(e,t){var a=Ke();return Oe!==null?bd(a,Oe,e,t):(a.baseState=e,[e,a.queue.dispatch])},useMemoCache:mc,useCacheRefresh:Vd};$d.useEffectEvent=kd;function wc(e,t,a,l){t=e.memoizedState,a=a(l,t),a=a==null?t:w({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var zc={enqueueSetState:function(e,t,a){e=e._reactInternals;var l=kt(),i=La(l);i.payload=t,a!=null&&(i.callback=a),t=Ha(e,i,l),t!==null&&(vt(t,e,l),Fl(t,e,l))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var l=kt(),i=La(l);i.tag=1,i.payload=t,a!=null&&(i.callback=a),t=Ha(e,i,l),t!==null&&(vt(t,e,l),Fl(t,e,l))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=kt(),l=La(a);l.tag=2,t!=null&&(l.callback=t),t=Ha(e,l,a),t!==null&&(vt(t,e,a),Fl(t,e,a))}};function Jd(e,t,a,l,i,r,d){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(l,r,d):t.prototype&&t.prototype.isPureReactComponent?!Ll(a,l)||!Ll(i,r):!0}function Wd(e,t,a,l){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,l),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,l),t.state!==e&&zc.enqueueReplaceState(t,t.state,null)}function jn(e,t){var a=t;if("ref"in t){a={};for(var l in t)l!=="ref"&&(a[l]=t[l])}if(e=e.defaultProps){a===t&&(a=w({},a));for(var i in e)a[i]===void 0&&(a[i]=e[i])}return a}function Id(e){Gs(e)}function Pd(e){console.error(e)}function ef(e){Gs(e)}function oi(e,t){try{var a=e.onUncaughtError;a(t.value,{componentStack:t.stack})}catch(l){setTimeout(function(){throw l})}}function tf(e,t,a){try{var l=e.onCaughtError;l(a.value,{componentStack:a.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(i){setTimeout(function(){throw i})}}function Tc(e,t,a){return a=La(a),a.tag=3,a.payload={element:null},a.callback=function(){oi(e,t)},a}function af(e){return e=La(e),e.tag=3,e}function nf(e,t,a,l){var i=a.type.getDerivedStateFromError;if(typeof i=="function"){var r=l.value;e.payload=function(){return i(r)},e.callback=function(){tf(t,a,l)}}var d=a.stateNode;d!==null&&typeof d.componentDidCatch=="function"&&(e.callback=function(){tf(t,a,l),typeof i!="function"&&(Ka===null?Ka=new Set([this]):Ka.add(this));var h=l.stack;this.componentDidCatch(l.value,{componentStack:h!==null?h:""})})}function qg(e,t,a,l,i){if(a.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){if(t=a.alternate,t!==null&&Kn(t,a,i,!0),a=Et.current,a!==null){switch(a.tag){case 31:case 13:return Qt===null?Ni():a.alternate===null&&Ye===0&&(Ye=3),a.flags&=-257,a.flags|=65536,a.lanes=i,l===Ws?a.flags|=16384:(t=a.updateQueue,t===null?a.updateQueue=new Set([l]):t.add(l),Ic(e,l,i)),!1;case 22:return a.flags|=65536,l===Ws?a.flags|=16384:(t=a.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([l])},a.updateQueue=t):(a=t.retryQueue,a===null?t.retryQueue=new Set([l]):a.add(l)),Ic(e,l,i)),!1}throw Error(u(435,a.tag))}return Ic(e,l,i),Ni(),!1}if(Ne)return t=Et.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=i,l!==Kr&&(e=Error(u(422),{cause:l}),Ql(qt(e,a)))):(l!==Kr&&(t=Error(u(423),{cause:l}),Ql(qt(t,a))),e=e.current.alternate,e.flags|=65536,i&=-i,e.lanes|=i,l=qt(l,a),i=Tc(e.stateNode,l,i),nc(e,i),Ye!==4&&(Ye=2)),!1;var r=Error(u(520),{cause:l});if(r=qt(r,a),rs===null?rs=[r]:rs.push(r),Ye!==4&&(Ye=2),t===null)return!0;l=qt(l,a),a=t;do{switch(a.tag){case 3:return a.flags|=65536,e=i&-i,a.lanes|=e,e=Tc(a.stateNode,l,e),nc(a,e),!1;case 1:if(t=a.type,r=a.stateNode,(a.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||r!==null&&typeof r.componentDidCatch=="function"&&(Ka===null||!Ka.has(r))))return a.flags|=65536,i&=-i,a.lanes|=i,i=af(i),nf(i,e,a,l),nc(a,i),!1}a=a.return}while(a!==null);return!1}var Ec=Error(u(461)),Je=!1;function ut(e,t,a,l){t.child=e===null?rd(t,null,a,l):vn(t,e.child,a,l)}function lf(e,t,a,l,i){a=a.render;var r=t.ref;if("ref"in l){var d={};for(var h in l)h!=="ref"&&(d[h]=l[h])}else d=l;return xn(t),l=uc(e,t,a,d,r,i),h=oc(),e!==null&&!Je?(dc(e,t,i),ja(e,t,i)):(Ne&&h&&Vr(t),t.flags|=1,ut(e,t,l,i),t.child)}function sf(e,t,a,l,i){if(e===null){var r=a.type;return typeof r=="function"&&!Gr(r)&&r.defaultProps===void 0&&a.compare===null?(t.tag=15,t.type=r,rf(e,t,r,l,i)):(e=Xs(a.type,null,l,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(r=e.child,!Uc(e,i)){var d=r.memoizedProps;if(a=a.compare,a=a!==null?a:Ll,a(d,l)&&e.ref===t.ref)return ja(e,t,i)}return t.flags|=1,e=xa(r,l),e.ref=t.ref,e.return=t,t.child=e}function rf(e,t,a,l,i){if(e!==null){var r=e.memoizedProps;if(Ll(r,l)&&e.ref===t.ref)if(Je=!1,t.pendingProps=l=r,Uc(e,i))(e.flags&131072)!==0&&(Je=!0);else return t.lanes=e.lanes,ja(e,t,i)}return Ac(e,t,a,l,i)}function cf(e,t,a,l){var i=l.children,r=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),l.mode==="hidden"){if((t.flags&128)!==0){if(r=r!==null?r.baseLanes|a:a,e!==null){for(l=t.child=e.child,i=0;l!==null;)i=i|l.lanes|l.childLanes,l=l.sibling;l=i&~r}else l=0,t.child=null;return uf(e,t,r,a,l)}if((a&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&$s(t,r!==null?r.cachePool:null),r!==null?od(t,r):sc(),dd(t);else return l=t.lanes=536870912,uf(e,t,r!==null?r.baseLanes|a:a,a,l)}else r!==null?($s(t,r.cachePool),od(t,r),Qa(),t.memoizedState=null):(e!==null&&$s(t,null),sc(),Qa());return ut(e,t,i,a),t.child}function es(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function uf(e,t,a,l,i){var r=Pr();return r=r===null?null:{parent:Ze._currentValue,pool:r},t.memoizedState={baseLanes:a,cachePool:r},e!==null&&$s(t,null),sc(),dd(t),e!==null&&Kn(e,t,l,!0),t.childLanes=i,null}function di(e,t){return t=mi({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function of(e,t,a){return vn(t,e.child,null,a),e=di(t,t.pendingProps),e.flags|=2,At(t),t.memoizedState=null,e}function Lg(e,t,a){var l=t.pendingProps,i=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(Ne){if(l.mode==="hidden")return e=di(t,l),t.lanes=536870912,es(null,e);if(rc(t),(e=qe)?(e=Nm(e,Gt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Oa!==null?{id:aa,overflow:na}:null,retryLane:536870912,hydrationErrors:null},a=Ko(e),a.return=t,t.child=a,rt=t,qe=null)):e=null,e===null)throw Ua(t);return t.lanes=536870912,null}return di(t,l)}var r=e.memoizedState;if(r!==null){var d=r.dehydrated;if(rc(t),i)if(t.flags&256)t.flags&=-257,t=of(e,t,a);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(u(558));else if(Je||Kn(e,t,a,!1),i=(a&e.childLanes)!==0,Je||i){if(l=Be,l!==null&&(d=Iu(l,a),d!==0&&d!==r.retryLane))throw r.retryLane=d,dn(e,d),vt(l,e,d),Ec;Ni(),t=of(e,t,a)}else e=r.treeContext,qe=Yt(d.nextSibling),rt=t,Ne=!0,Ra=null,Gt=!1,e!==null&&$o(t,e),t=di(t,l),t.flags|=4096;return t}return e=xa(e.child,{mode:l.mode,children:l.children}),e.ref=t.ref,t.child=e,e.return=t,e}function fi(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(u(284));(e===null||e.ref!==a)&&(t.flags|=4194816)}}function Ac(e,t,a,l,i){return xn(t),a=uc(e,t,a,l,void 0,i),l=oc(),e!==null&&!Je?(dc(e,t,i),ja(e,t,i)):(Ne&&l&&Vr(t),t.flags|=1,ut(e,t,a,i),t.child)}function df(e,t,a,l,i,r){return xn(t),t.updateQueue=null,a=md(t,l,a,i),fd(e),l=oc(),e!==null&&!Je?(dc(e,t,r),ja(e,t,r)):(Ne&&l&&Vr(t),t.flags|=1,ut(e,t,a,r),t.child)}function ff(e,t,a,l,i){if(xn(t),t.stateNode===null){var r=Qn,d=a.contextType;typeof d=="object"&&d!==null&&(r=ct(d)),r=new a(l,r),t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,r.updater=zc,t.stateNode=r,r._reactInternals=t,r=t.stateNode,r.props=l,r.state=t.memoizedState,r.refs={},tc(t),d=a.contextType,r.context=typeof d=="object"&&d!==null?ct(d):Qn,r.state=t.memoizedState,d=a.getDerivedStateFromProps,typeof d=="function"&&(wc(t,a,d,l),r.state=t.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof r.getSnapshotBeforeUpdate=="function"||typeof r.UNSAFE_componentWillMount!="function"&&typeof r.componentWillMount!="function"||(d=r.state,typeof r.componentWillMount=="function"&&r.componentWillMount(),typeof r.UNSAFE_componentWillMount=="function"&&r.UNSAFE_componentWillMount(),d!==r.state&&zc.enqueueReplaceState(r,r.state,null),$l(t,l,r,i),Zl(),r.state=t.memoizedState),typeof r.componentDidMount=="function"&&(t.flags|=4194308),l=!0}else if(e===null){r=t.stateNode;var h=t.memoizedProps,v=jn(a,h);r.props=v;var B=r.context,Q=a.contextType;d=Qn,typeof Q=="object"&&Q!==null&&(d=ct(Q));var Z=a.getDerivedStateFromProps;Q=typeof Z=="function"||typeof r.getSnapshotBeforeUpdate=="function",h=t.pendingProps!==h,Q||typeof r.UNSAFE_componentWillReceiveProps!="function"&&typeof r.componentWillReceiveProps!="function"||(h||B!==d)&&Wd(t,r,l,d),qa=!1;var q=t.memoizedState;r.state=q,$l(t,l,r,i),Zl(),B=t.memoizedState,h||q!==B||qa?(typeof Z=="function"&&(wc(t,a,Z,l),B=t.memoizedState),(v=qa||Jd(t,a,v,l,q,B,d))?(Q||typeof r.UNSAFE_componentWillMount!="function"&&typeof r.componentWillMount!="function"||(typeof r.componentWillMount=="function"&&r.componentWillMount(),typeof r.UNSAFE_componentWillMount=="function"&&r.UNSAFE_componentWillMount()),typeof r.componentDidMount=="function"&&(t.flags|=4194308)):(typeof r.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=l,t.memoizedState=B),r.props=l,r.state=B,r.context=d,l=v):(typeof r.componentDidMount=="function"&&(t.flags|=4194308),l=!1)}else{r=t.stateNode,ac(e,t),d=t.memoizedProps,Q=jn(a,d),r.props=Q,Z=t.pendingProps,q=r.context,B=a.contextType,v=Qn,typeof B=="object"&&B!==null&&(v=ct(B)),h=a.getDerivedStateFromProps,(B=typeof h=="function"||typeof r.getSnapshotBeforeUpdate=="function")||typeof r.UNSAFE_componentWillReceiveProps!="function"&&typeof r.componentWillReceiveProps!="function"||(d!==Z||q!==v)&&Wd(t,r,l,v),qa=!1,q=t.memoizedState,r.state=q,$l(t,l,r,i),Zl();var H=t.memoizedState;d!==Z||q!==H||qa||e!==null&&e.dependencies!==null&&Fs(e.dependencies)?(typeof h=="function"&&(wc(t,a,h,l),H=t.memoizedState),(Q=qa||Jd(t,a,Q,l,q,H,v)||e!==null&&e.dependencies!==null&&Fs(e.dependencies))?(B||typeof r.UNSAFE_componentWillUpdate!="function"&&typeof r.componentWillUpdate!="function"||(typeof r.componentWillUpdate=="function"&&r.componentWillUpdate(l,H,v),typeof r.UNSAFE_componentWillUpdate=="function"&&r.UNSAFE_componentWillUpdate(l,H,v)),typeof r.componentDidUpdate=="function"&&(t.flags|=4),typeof r.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof r.componentDidUpdate!="function"||d===e.memoizedProps&&q===e.memoizedState||(t.flags|=4),typeof r.getSnapshotBeforeUpdate!="function"||d===e.memoizedProps&&q===e.memoizedState||(t.flags|=1024),t.memoizedProps=l,t.memoizedState=H),r.props=l,r.state=H,r.context=v,l=Q):(typeof r.componentDidUpdate!="function"||d===e.memoizedProps&&q===e.memoizedState||(t.flags|=4),typeof r.getSnapshotBeforeUpdate!="function"||d===e.memoizedProps&&q===e.memoizedState||(t.flags|=1024),l=!1)}return r=l,fi(e,t),l=(t.flags&128)!==0,r||l?(r=t.stateNode,a=l&&typeof a.getDerivedStateFromError!="function"?null:r.render(),t.flags|=1,e!==null&&l?(t.child=vn(t,e.child,null,i),t.child=vn(t,null,a,i)):ut(e,t,a,i),t.memoizedState=r.state,e=t.child):e=ja(e,t,i),e}function mf(e,t,a,l){return mn(),t.flags|=256,ut(e,t,a,l),t.child}var Dc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function _c(e){return{baseLanes:e,cachePool:td()}}function kc(e,t,a){return e=e!==null?e.childLanes&~a:0,t&&(e|=_t),e}function hf(e,t,a){var l=t.pendingProps,i=!1,r=(t.flags&128)!==0,d;if((d=r)||(d=e!==null&&e.memoizedState===null?!1:(Xe.current&2)!==0),d&&(i=!0,t.flags&=-129),d=(t.flags&32)!==0,t.flags&=-33,e===null){if(Ne){if(i?Ga(t):Qa(),(e=qe)?(e=Nm(e,Gt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Oa!==null?{id:aa,overflow:na}:null,retryLane:536870912,hydrationErrors:null},a=Ko(e),a.return=t,t.child=a,rt=t,qe=null)):e=null,e===null)throw Ua(t);return hu(e)?t.lanes=32:t.lanes=536870912,null}var h=l.children;return l=l.fallback,i?(Qa(),i=t.mode,h=mi({mode:"hidden",children:h},i),l=fn(l,i,a,null),h.return=t,l.return=t,h.sibling=l,t.child=h,l=t.child,l.memoizedState=_c(a),l.childLanes=kc(e,d,a),t.memoizedState=Dc,es(null,l)):(Ga(t),Mc(t,h))}var v=e.memoizedState;if(v!==null&&(h=v.dehydrated,h!==null)){if(r)t.flags&256?(Ga(t),t.flags&=-257,t=Oc(e,t,a)):t.memoizedState!==null?(Qa(),t.child=e.child,t.flags|=128,t=null):(Qa(),h=l.fallback,i=t.mode,l=mi({mode:"visible",children:l.children},i),h=fn(h,i,a,null),h.flags|=2,l.return=t,h.return=t,l.sibling=h,t.child=l,vn(t,e.child,null,a),l=t.child,l.memoizedState=_c(a),l.childLanes=kc(e,d,a),t.memoizedState=Dc,t=es(null,l));else if(Ga(t),hu(h)){if(d=h.nextSibling&&h.nextSibling.dataset,d)var B=d.dgst;d=B,l=Error(u(419)),l.stack="",l.digest=d,Ql({value:l,source:null,stack:null}),t=Oc(e,t,a)}else if(Je||Kn(e,t,a,!1),d=(a&e.childLanes)!==0,Je||d){if(d=Be,d!==null&&(l=Iu(d,a),l!==0&&l!==v.retryLane))throw v.retryLane=l,dn(e,l),vt(d,e,l),Ec;mu(h)||Ni(),t=Oc(e,t,a)}else mu(h)?(t.flags|=192,t.child=e.child,t=null):(e=v.treeContext,qe=Yt(h.nextSibling),rt=t,Ne=!0,Ra=null,Gt=!1,e!==null&&$o(t,e),t=Mc(t,l.children),t.flags|=4096);return t}return i?(Qa(),h=l.fallback,i=t.mode,v=e.child,B=v.sibling,l=xa(v,{mode:"hidden",children:l.children}),l.subtreeFlags=v.subtreeFlags&65011712,B!==null?h=xa(B,h):(h=fn(h,i,a,null),h.flags|=2),h.return=t,l.return=t,l.sibling=h,t.child=l,es(null,l),l=t.child,h=e.child.memoizedState,h===null?h=_c(a):(i=h.cachePool,i!==null?(v=Ze._currentValue,i=i.parent!==v?{parent:v,pool:v}:i):i=td(),h={baseLanes:h.baseLanes|a,cachePool:i}),l.memoizedState=h,l.childLanes=kc(e,d,a),t.memoizedState=Dc,es(e.child,l)):(Ga(t),a=e.child,e=a.sibling,a=xa(a,{mode:"visible",children:l.children}),a.return=t,a.sibling=null,e!==null&&(d=t.deletions,d===null?(t.deletions=[e],t.flags|=16):d.push(e)),t.child=a,t.memoizedState=null,a)}function Mc(e,t){return t=mi({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function mi(e,t){return e=Tt(22,e,null,t),e.lanes=0,e}function Oc(e,t,a){return vn(t,e.child,null,a),e=Mc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function xf(e,t,a){e.lanes|=t;var l=e.alternate;l!==null&&(l.lanes|=t),$r(e.return,t,a)}function Rc(e,t,a,l,i,r){var d=e.memoizedState;d===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:l,tail:a,tailMode:i,treeForkCount:r}:(d.isBackwards=t,d.rendering=null,d.renderingStartTime=0,d.last=l,d.tail=a,d.tailMode=i,d.treeForkCount=r)}function gf(e,t,a){var l=t.pendingProps,i=l.revealOrder,r=l.tail;l=l.children;var d=Xe.current,h=(d&2)!==0;if(h?(d=d&1|2,t.flags|=128):d&=1,xe(Xe,d),ut(e,t,l,a),l=Ne?Gl:0,!h&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&xf(e,a,t);else if(e.tag===19)xf(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(i){case"forwards":for(a=t.child,i=null;a!==null;)e=a.alternate,e!==null&&ti(e)===null&&(i=a),a=a.sibling;a=i,a===null?(i=t.child,t.child=null):(i=a.sibling,a.sibling=null),Rc(t,!1,i,a,r,l);break;case"backwards":case"unstable_legacy-backwards":for(a=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&ti(e)===null){t.child=i;break}e=i.sibling,i.sibling=a,a=i,i=e}Rc(t,!0,a,null,r,l);break;case"together":Rc(t,!1,null,null,void 0,l);break;default:t.memoizedState=null}return t.child}function ja(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),Xa|=t.lanes,(a&t.childLanes)===0)if(e!==null){if(Kn(e,t,a,!1),(a&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(u(153));if(t.child!==null){for(e=t.child,a=xa(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=xa(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function Uc(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&Fs(e)))}function Hg(e,t,a){switch(t.tag){case 3:bt(t,t.stateNode.containerInfo),Ba(t,Ze,e.memoizedState.cache),mn();break;case 27:case 5:Pt(t);break;case 4:bt(t,t.stateNode.containerInfo);break;case 10:Ba(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,rc(t),null;break;case 13:var l=t.memoizedState;if(l!==null)return l.dehydrated!==null?(Ga(t),t.flags|=128,null):(a&t.child.childLanes)!==0?hf(e,t,a):(Ga(t),e=ja(e,t,a),e!==null?e.sibling:null);Ga(t);break;case 19:var i=(e.flags&128)!==0;if(l=(a&t.childLanes)!==0,l||(Kn(e,t,a,!1),l=(a&t.childLanes)!==0),i){if(l)return gf(e,t,a);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),xe(Xe,Xe.current),l)break;return null;case 22:return t.lanes=0,cf(e,t,a,t.pendingProps);case 24:Ba(t,Ze,e.memoizedState.cache)}return ja(e,t,a)}function pf(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps)Je=!0;else{if(!Uc(e,a)&&(t.flags&128)===0)return Je=!1,Hg(e,t,a);Je=(e.flags&131072)!==0}else Je=!1,Ne&&(t.flags&1048576)!==0&&Zo(t,Gl,t.index);switch(t.lanes=0,t.tag){case 16:e:{var l=t.pendingProps;if(e=pn(t.elementType),t.type=e,typeof e=="function")Gr(e)?(l=jn(e,l),t.tag=1,t=ff(null,t,e,l,a)):(t.tag=0,t=Ac(null,t,e,l,a));else{if(e!=null){var i=e.$$typeof;if(i===S){t.tag=11,t=lf(null,t,e,l,a);break e}else if(i===F){t.tag=14,t=sf(null,t,e,l,a);break e}}throw t=V(e)||e,Error(u(306,t,""))}}return t;case 0:return Ac(e,t,t.type,t.pendingProps,a);case 1:return l=t.type,i=jn(l,t.pendingProps),ff(e,t,l,i,a);case 3:e:{if(bt(t,t.stateNode.containerInfo),e===null)throw Error(u(387));l=t.pendingProps;var r=t.memoizedState;i=r.element,ac(e,t),$l(t,l,null,a);var d=t.memoizedState;if(l=d.cache,Ba(t,Ze,l),l!==r.cache&&Jr(t,[Ze],a,!0),Zl(),l=d.element,r.isDehydrated)if(r={element:l,isDehydrated:!1,cache:d.cache},t.updateQueue.baseState=r,t.memoizedState=r,t.flags&256){t=mf(e,t,l,a);break e}else if(l!==i){i=qt(Error(u(424)),t),Ql(i),t=mf(e,t,l,a);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,qe=Yt(e.firstChild),rt=t,Ne=!0,Ra=null,Gt=!0,a=rd(t,null,l,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(mn(),l===i){t=ja(e,t,a);break e}ut(e,t,l,a)}t=t.child}return t;case 26:return fi(e,t),e===null?(a=Em(t.type,null,t.pendingProps,null))?t.memoizedState=a:Ne||(a=t.type,e=t.pendingProps,l=Ai(Ve.current).createElement(a),l[it]=t,l[mt]=e,ot(l,a,e),tt(l),t.stateNode=l):t.memoizedState=Em(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Pt(t),e===null&&Ne&&(l=t.stateNode=wm(t.type,t.pendingProps,Ve.current),rt=t,Gt=!0,i=qe,Ja(t.type)?(xu=i,qe=Yt(l.firstChild)):qe=i),ut(e,t,t.pendingProps.children,a),fi(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&Ne&&((i=l=qe)&&(l=gp(l,t.type,t.pendingProps,Gt),l!==null?(t.stateNode=l,rt=t,qe=Yt(l.firstChild),Gt=!1,i=!0):i=!1),i||Ua(t)),Pt(t),i=t.type,r=t.pendingProps,d=e!==null?e.memoizedProps:null,l=r.children,ou(i,r)?l=null:d!==null&&ou(i,d)&&(t.flags|=32),t.memoizedState!==null&&(i=uc(e,t,_g,null,null,a),xs._currentValue=i),fi(e,t),ut(e,t,l,a),t.child;case 6:return e===null&&Ne&&((e=a=qe)&&(a=pp(a,t.pendingProps,Gt),a!==null?(t.stateNode=a,rt=t,qe=null,e=!0):e=!1),e||Ua(t)),null;case 13:return hf(e,t,a);case 4:return bt(t,t.stateNode.containerInfo),l=t.pendingProps,e===null?t.child=vn(t,null,l,a):ut(e,t,l,a),t.child;case 11:return lf(e,t,t.type,t.pendingProps,a);case 7:return ut(e,t,t.pendingProps,a),t.child;case 8:return ut(e,t,t.pendingProps.children,a),t.child;case 12:return ut(e,t,t.pendingProps.children,a),t.child;case 10:return l=t.pendingProps,Ba(t,t.type,l.value),ut(e,t,l.children,a),t.child;case 9:return i=t.type._context,l=t.pendingProps.children,xn(t),i=ct(i),l=l(i),t.flags|=1,ut(e,t,l,a),t.child;case 14:return sf(e,t,t.type,t.pendingProps,a);case 15:return rf(e,t,t.type,t.pendingProps,a);case 19:return gf(e,t,a);case 31:return Lg(e,t,a);case 22:return cf(e,t,a,t.pendingProps);case 24:return xn(t),l=ct(Ze),e===null?(i=Pr(),i===null&&(i=Be,r=Wr(),i.pooledCache=r,r.refCount++,r!==null&&(i.pooledCacheLanes|=a),i=r),t.memoizedState={parent:l,cache:i},tc(t),Ba(t,Ze,i)):((e.lanes&a)!==0&&(ac(e,t),$l(t,null,null,a),Zl()),i=e.memoizedState,r=t.memoizedState,i.parent!==l?(i={parent:l,cache:l},t.memoizedState=i,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=i),Ba(t,Ze,l)):(l=r.cache,Ba(t,Ze,l),l!==i.cache&&Jr(t,[Ze],a,!0))),ut(e,t,t.pendingProps.children,a),t.child;case 29:throw t.pendingProps}throw Error(u(156,t.tag))}function Na(e){e.flags|=4}function Bc(e,t,a,l,i){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(i&335544128)===i)if(e.stateNode.complete)e.flags|=8192;else if(Vf())e.flags|=8192;else throw yn=Ws,ec}else e.flags&=-16777217}function yf(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Mm(t))if(Vf())e.flags|=8192;else throw yn=Ws,ec}function hi(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?$u():536870912,e.lanes|=t,ll|=t)}function ts(e,t){if(!Ne)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var l=null;a!==null;)a.alternate!==null&&(l=a),a=a.sibling;l===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:l.sibling=null}}function Le(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,l=0;if(t)for(var i=e.child;i!==null;)a|=i.lanes|i.childLanes,l|=i.subtreeFlags&65011712,l|=i.flags&65011712,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)a|=i.lanes|i.childLanes,l|=i.subtreeFlags,l|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=l,e.childLanes=a,t}function Gg(e,t,a){var l=t.pendingProps;switch(Xr(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Le(t),null;case 1:return Le(t),null;case 3:return a=t.stateNode,l=null,e!==null&&(l=e.memoizedState.cache),t.memoizedState.cache!==l&&(t.flags|=2048),ya(Ze),jt(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(Xn(t)?Na(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Fr())),Le(t),null;case 26:var i=t.type,r=t.memoizedState;return e===null?(Na(t),r!==null?(Le(t),yf(t,r)):(Le(t),Bc(t,i,null,l,a))):r?r!==e.memoizedState?(Na(t),Le(t),yf(t,r)):(Le(t),t.flags&=-16777217):(e=e.memoizedProps,e!==l&&Na(t),Le(t),Bc(t,i,e,l,a)),null;case 27:if(Ft(t),a=Ve.current,i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==l&&Na(t);else{if(!l){if(t.stateNode===null)throw Error(u(166));return Le(t),null}e=ue.current,Xn(t)?Jo(t):(e=wm(i,l,a),t.stateNode=e,Na(t))}return Le(t),null;case 5:if(Ft(t),i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==l&&Na(t);else{if(!l){if(t.stateNode===null)throw Error(u(166));return Le(t),null}if(r=ue.current,Xn(t))Jo(t);else{var d=Ai(Ve.current);switch(r){case 1:r=d.createElementNS("http://www.w3.org/2000/svg",i);break;case 2:r=d.createElementNS("http://www.w3.org/1998/Math/MathML",i);break;default:switch(i){case"svg":r=d.createElementNS("http://www.w3.org/2000/svg",i);break;case"math":r=d.createElementNS("http://www.w3.org/1998/Math/MathML",i);break;case"script":r=d.createElement("div"),r.innerHTML="<script><\/script>",r=r.removeChild(r.firstChild);break;case"select":r=typeof l.is=="string"?d.createElement("select",{is:l.is}):d.createElement("select"),l.multiple?r.multiple=!0:l.size&&(r.size=l.size);break;default:r=typeof l.is=="string"?d.createElement(i,{is:l.is}):d.createElement(i)}}r[it]=t,r[mt]=l;e:for(d=t.child;d!==null;){if(d.tag===5||d.tag===6)r.appendChild(d.stateNode);else if(d.tag!==4&&d.tag!==27&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===t)break e;for(;d.sibling===null;){if(d.return===null||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}t.stateNode=r;e:switch(ot(r,i,l),i){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&Na(t)}}return Le(t),Bc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==l&&Na(t);else{if(typeof l!="string"&&t.stateNode===null)throw Error(u(166));if(e=Ve.current,Xn(t)){if(e=t.stateNode,a=t.memoizedProps,l=null,i=rt,i!==null)switch(i.tag){case 27:case 5:l=i.memoizedProps}e[it]=t,e=!!(e.nodeValue===a||l!==null&&l.suppressHydrationWarning===!0||hm(e.nodeValue,a)),e||Ua(t,!0)}else e=Ai(e).createTextNode(l),e[it]=t,t.stateNode=e}return Le(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(l=Xn(t),a!==null){if(e===null){if(!l)throw Error(u(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(u(557));e[it]=t}else mn(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Le(t),e=!1}else a=Fr(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(At(t),t):(At(t),null);if((t.flags&128)!==0)throw Error(u(558))}return Le(t),null;case 13:if(l=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Xn(t),l!==null&&l.dehydrated!==null){if(e===null){if(!i)throw Error(u(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(u(317));i[it]=t}else mn(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Le(t),i=!1}else i=Fr(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(At(t),t):(At(t),null)}return At(t),(t.flags&128)!==0?(t.lanes=a,t):(a=l!==null,e=e!==null&&e.memoizedState!==null,a&&(l=t.child,i=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(i=l.alternate.memoizedState.cachePool.pool),r=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(r=l.memoizedState.cachePool.pool),r!==i&&(l.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),hi(t,t.updateQueue),Le(t),null);case 4:return jt(),e===null&&su(t.stateNode.containerInfo),Le(t),null;case 10:return ya(t.type),Le(t),null;case 19:if(ie(Xe),l=t.memoizedState,l===null)return Le(t),null;if(i=(t.flags&128)!==0,r=l.rendering,r===null)if(i)ts(l,!1);else{if(Ye!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(r=ti(e),r!==null){for(t.flags|=128,ts(l,!1),e=r.updateQueue,t.updateQueue=e,hi(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)Xo(a,e),a=a.sibling;return xe(Xe,Xe.current&1|2),Ne&&ga(t,l.treeForkCount),t.child}e=e.sibling}l.tail!==null&&St()>vi&&(t.flags|=128,i=!0,ts(l,!1),t.lanes=4194304)}else{if(!i)if(e=ti(r),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,hi(t,e),ts(l,!0),l.tail===null&&l.tailMode==="hidden"&&!r.alternate&&!Ne)return Le(t),null}else 2*St()-l.renderingStartTime>vi&&a!==536870912&&(t.flags|=128,i=!0,ts(l,!1),t.lanes=4194304);l.isBackwards?(r.sibling=t.child,t.child=r):(e=l.last,e!==null?e.sibling=r:t.child=r,l.last=r)}return l.tail!==null?(e=l.tail,l.rendering=e,l.tail=e.sibling,l.renderingStartTime=St(),e.sibling=null,a=Xe.current,xe(Xe,i?a&1|2:a&1),Ne&&ga(t,l.treeForkCount),e):(Le(t),null);case 22:case 23:return At(t),ic(),l=t.memoizedState!==null,e!==null?e.memoizedState!==null!==l&&(t.flags|=8192):l&&(t.flags|=8192),l?(a&536870912)!==0&&(t.flags&128)===0&&(Le(t),t.subtreeFlags&6&&(t.flags|=8192)):Le(t),a=t.updateQueue,a!==null&&hi(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),l=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(l=t.memoizedState.cachePool.pool),l!==a&&(t.flags|=2048),e!==null&&ie(gn),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),ya(Ze),Le(t),null;case 25:return null;case 30:return null}throw Error(u(156,t.tag))}function Qg(e,t){switch(Xr(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ya(Ze),jt(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Ft(t),null;case 31:if(t.memoizedState!==null){if(At(t),t.alternate===null)throw Error(u(340));mn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(At(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(u(340));mn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ie(Xe),null;case 4:return jt(),null;case 10:return ya(t.type),null;case 22:case 23:return At(t),ic(),e!==null&&ie(gn),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ya(Ze),null;case 25:return null;default:return null}}function vf(e,t){switch(Xr(t),t.tag){case 3:ya(Ze),jt();break;case 26:case 27:case 5:Ft(t);break;case 4:jt();break;case 31:t.memoizedState!==null&&At(t);break;case 13:At(t);break;case 19:ie(Xe);break;case 10:ya(t.type);break;case 22:case 23:At(t),ic(),e!==null&&ie(gn);break;case 24:ya(Ze)}}function as(e,t){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var i=l.next;a=i;do{if((a.tag&e)===e){l=void 0;var r=a.create,d=a.inst;l=r(),d.destroy=l}a=a.next}while(a!==i)}}catch(h){_e(t,t.return,h)}}function Ya(e,t,a){try{var l=t.updateQueue,i=l!==null?l.lastEffect:null;if(i!==null){var r=i.next;l=r;do{if((l.tag&e)===e){var d=l.inst,h=d.destroy;if(h!==void 0){d.destroy=void 0,i=t;var v=a,B=h;try{B()}catch(Q){_e(i,v,Q)}}}l=l.next}while(l!==r)}}catch(Q){_e(t,t.return,Q)}}function bf(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{ud(t,a)}catch(l){_e(e,e.return,l)}}}function jf(e,t,a){a.props=jn(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(l){_e(e,t,l)}}function ns(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var l=e.stateNode;break;case 30:l=e.stateNode;break;default:l=e.stateNode}typeof a=="function"?e.refCleanup=a(l):a.current=l}}catch(i){_e(e,t,i)}}function la(e,t){var a=e.ref,l=e.refCleanup;if(a!==null)if(typeof l=="function")try{l()}catch(i){_e(e,t,i)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(i){_e(e,t,i)}else a.current=null}function Nf(e){var t=e.type,a=e.memoizedProps,l=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&l.focus();break e;case"img":a.src?l.src=a.src:a.srcSet&&(l.srcset=a.srcSet)}}catch(i){_e(e,e.return,i)}}function qc(e,t,a){try{var l=e.stateNode;op(l,e.type,a,t),l[mt]=t}catch(i){_e(e,e.return,i)}}function Sf(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Ja(e.type)||e.tag===4}function Lc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Sf(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&&Ja(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 Hc(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=ma));else if(l!==4&&(l===27&&Ja(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(Hc(e,t,a),e=e.sibling;e!==null;)Hc(e,t,a),e=e.sibling}function xi(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(l!==4&&(l===27&&Ja(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(xi(e,t,a),e=e.sibling;e!==null;)xi(e,t,a),e=e.sibling}function Cf(e){var t=e.stateNode,a=e.memoizedProps;try{for(var l=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);ot(t,l,a),t[it]=e,t[mt]=a}catch(r){_e(e,e.return,r)}}var Sa=!1,We=!1,Gc=!1,wf=typeof WeakSet=="function"?WeakSet:Set,at=null;function Yg(e,t){if(e=e.containerInfo,cu=Ui,e=Uo(e),Or(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var l=a.getSelection&&a.getSelection();if(l&&l.rangeCount!==0){a=l.anchorNode;var i=l.anchorOffset,r=l.focusNode;l=l.focusOffset;try{a.nodeType,r.nodeType}catch{a=null;break e}var d=0,h=-1,v=-1,B=0,Q=0,Z=e,q=null;t:for(;;){for(var H;Z!==a||i!==0&&Z.nodeType!==3||(h=d+i),Z!==r||l!==0&&Z.nodeType!==3||(v=d+l),Z.nodeType===3&&(d+=Z.nodeValue.length),(H=Z.firstChild)!==null;)q=Z,Z=H;for(;;){if(Z===e)break t;if(q===a&&++B===i&&(h=d),q===r&&++Q===l&&(v=d),(H=Z.nextSibling)!==null)break;Z=q,q=Z.parentNode}Z=H}a=h===-1||v===-1?null:{start:h,end:v}}else a=null}a=a||{start:0,end:0}}else a=null;for(uu={focusedElem:e,selectionRange:a},Ui=!1,at=t;at!==null;)if(t=at,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,at=e;else for(;at!==null;){switch(t=at,r=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++)i=e[a],i.ref.impl=i.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&r!==null){e=void 0,a=t,i=r.memoizedProps,r=r.memoizedState,l=a.stateNode;try{var le=jn(a.type,i);e=l.getSnapshotBeforeUpdate(le,r),l.__reactInternalSnapshotBeforeUpdate=e}catch(oe){_e(a,a.return,oe)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,a=e.nodeType,a===9)fu(e);else if(a===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":fu(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(u(163))}if(e=t.sibling,e!==null){e.return=t.return,at=e;break}at=t.return}}function zf(e,t,a){var l=a.flags;switch(a.tag){case 0:case 11:case 15:wa(e,a),l&4&&as(5,a);break;case 1:if(wa(e,a),l&4)if(e=a.stateNode,t===null)try{e.componentDidMount()}catch(d){_e(a,a.return,d)}else{var i=jn(a.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(d){_e(a,a.return,d)}}l&64&&bf(a),l&512&&ns(a,a.return);break;case 3:if(wa(e,a),l&64&&(e=a.updateQueue,e!==null)){if(t=null,a.child!==null)switch(a.child.tag){case 27:case 5:t=a.child.stateNode;break;case 1:t=a.child.stateNode}try{ud(e,t)}catch(d){_e(a,a.return,d)}}break;case 27:t===null&&l&4&&Cf(a);case 26:case 5:wa(e,a),t===null&&l&4&&Nf(a),l&512&&ns(a,a.return);break;case 12:wa(e,a);break;case 31:wa(e,a),l&4&&Af(e,a);break;case 13:wa(e,a),l&4&&Df(e,a),l&64&&(e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(a=Ig.bind(null,a),yp(e,a))));break;case 22:if(l=a.memoizedState!==null||Sa,!l){t=t!==null&&t.memoizedState!==null||We,i=Sa;var r=We;Sa=l,(We=t)&&!r?za(e,a,(a.subtreeFlags&8772)!==0):wa(e,a),Sa=i,We=r}break;case 30:break;default:wa(e,a)}}function Tf(e){var t=e.alternate;t!==null&&(e.alternate=null,Tf(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&pr(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 He=null,xt=!1;function Ca(e,t,a){for(a=a.child;a!==null;)Ef(e,t,a),a=a.sibling}function Ef(e,t,a){if(Ct&&typeof Ct.onCommitFiberUnmount=="function")try{Ct.onCommitFiberUnmount(Tl,a)}catch{}switch(a.tag){case 26:We||la(a,t),Ca(e,t,a),a.memoizedState?a.memoizedState.count--:a.stateNode&&(a=a.stateNode,a.parentNode.removeChild(a));break;case 27:We||la(a,t);var l=He,i=xt;Ja(a.type)&&(He=a.stateNode,xt=!1),Ca(e,t,a),fs(a.stateNode),He=l,xt=i;break;case 5:We||la(a,t);case 6:if(l=He,i=xt,He=null,Ca(e,t,a),He=l,xt=i,He!==null)if(xt)try{(He.nodeType===9?He.body:He.nodeName==="HTML"?He.ownerDocument.body:He).removeChild(a.stateNode)}catch(r){_e(a,t,r)}else try{He.removeChild(a.stateNode)}catch(r){_e(a,t,r)}break;case 18:He!==null&&(xt?(e=He,bm(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,a.stateNode),fl(e)):bm(He,a.stateNode));break;case 4:l=He,i=xt,He=a.stateNode.containerInfo,xt=!0,Ca(e,t,a),He=l,xt=i;break;case 0:case 11:case 14:case 15:Ya(2,a,t),We||Ya(4,a,t),Ca(e,t,a);break;case 1:We||(la(a,t),l=a.stateNode,typeof l.componentWillUnmount=="function"&&jf(a,t,l)),Ca(e,t,a);break;case 21:Ca(e,t,a);break;case 22:We=(l=We)||a.memoizedState!==null,Ca(e,t,a),We=l;break;default:Ca(e,t,a)}}function Af(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{fl(e)}catch(a){_e(t,t.return,a)}}}function Df(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{fl(e)}catch(a){_e(t,t.return,a)}}function Vg(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new wf),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new wf),t;default:throw Error(u(435,e.tag))}}function gi(e,t){var a=Vg(e);t.forEach(function(l){if(!a.has(l)){a.add(l);var i=Pg.bind(null,e,l);l.then(i,i)}})}function gt(e,t){var a=t.deletions;if(a!==null)for(var l=0;l<a.length;l++){var i=a[l],r=e,d=t,h=d;e:for(;h!==null;){switch(h.tag){case 27:if(Ja(h.type)){He=h.stateNode,xt=!1;break e}break;case 5:He=h.stateNode,xt=!1;break e;case 3:case 4:He=h.stateNode.containerInfo,xt=!0;break e}h=h.return}if(He===null)throw Error(u(160));Ef(r,d,i),He=null,xt=!1,r=i.alternate,r!==null&&(r.return=null),i.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)_f(t,e),t=t.sibling}var Jt=null;function _f(e,t){var a=e.alternate,l=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:gt(t,e),pt(e),l&4&&(Ya(3,e,e.return),as(3,e),Ya(5,e,e.return));break;case 1:gt(t,e),pt(e),l&512&&(We||a===null||la(a,a.return)),l&64&&Sa&&(e=e.updateQueue,e!==null&&(l=e.callbacks,l!==null&&(a=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=a===null?l:a.concat(l))));break;case 26:var i=Jt;if(gt(t,e),pt(e),l&512&&(We||a===null||la(a,a.return)),l&4){var r=a!==null?a.memoizedState:null;if(l=e.memoizedState,a===null)if(l===null)if(e.stateNode===null){e:{l=e.type,a=e.memoizedProps,i=i.ownerDocument||i;t:switch(l){case"title":r=i.getElementsByTagName("title")[0],(!r||r[Dl]||r[it]||r.namespaceURI==="http://www.w3.org/2000/svg"||r.hasAttribute("itemprop"))&&(r=i.createElement(l),i.head.insertBefore(r,i.querySelector("head > title"))),ot(r,l,a),r[it]=e,tt(r),l=r;break e;case"link":var d=_m("link","href",i).get(l+(a.href||""));if(d){for(var h=0;h<d.length;h++)if(r=d[h],r.getAttribute("href")===(a.href==null||a.href===""?null:a.href)&&r.getAttribute("rel")===(a.rel==null?null:a.rel)&&r.getAttribute("title")===(a.title==null?null:a.title)&&r.getAttribute("crossorigin")===(a.crossOrigin==null?null:a.crossOrigin)){d.splice(h,1);break t}}r=i.createElement(l),ot(r,l,a),i.head.appendChild(r);break;case"meta":if(d=_m("meta","content",i).get(l+(a.content||""))){for(h=0;h<d.length;h++)if(r=d[h],r.getAttribute("content")===(a.content==null?null:""+a.content)&&r.getAttribute("name")===(a.name==null?null:a.name)&&r.getAttribute("property")===(a.property==null?null:a.property)&&r.getAttribute("http-equiv")===(a.httpEquiv==null?null:a.httpEquiv)&&r.getAttribute("charset")===(a.charSet==null?null:a.charSet)){d.splice(h,1);break t}}r=i.createElement(l),ot(r,l,a),i.head.appendChild(r);break;default:throw Error(u(468,l))}r[it]=e,tt(r),l=r}e.stateNode=l}else km(i,e.type,e.stateNode);else e.stateNode=Dm(i,l,e.memoizedProps);else r!==l?(r===null?a.stateNode!==null&&(a=a.stateNode,a.parentNode.removeChild(a)):r.count--,l===null?km(i,e.type,e.stateNode):Dm(i,l,e.memoizedProps)):l===null&&e.stateNode!==null&&qc(e,e.memoizedProps,a.memoizedProps)}break;case 27:gt(t,e),pt(e),l&512&&(We||a===null||la(a,a.return)),a!==null&&l&4&&qc(e,e.memoizedProps,a.memoizedProps);break;case 5:if(gt(t,e),pt(e),l&512&&(We||a===null||la(a,a.return)),e.flags&32){i=e.stateNode;try{Rn(i,"")}catch(le){_e(e,e.return,le)}}l&4&&e.stateNode!=null&&(i=e.memoizedProps,qc(e,i,a!==null?a.memoizedProps:i)),l&1024&&(Gc=!0);break;case 6:if(gt(t,e),pt(e),l&4){if(e.stateNode===null)throw Error(u(162));l=e.memoizedProps,a=e.stateNode;try{a.nodeValue=l}catch(le){_e(e,e.return,le)}}break;case 3:if(ki=null,i=Jt,Jt=Di(t.containerInfo),gt(t,e),Jt=i,pt(e),l&4&&a!==null&&a.memoizedState.isDehydrated)try{fl(t.containerInfo)}catch(le){_e(e,e.return,le)}Gc&&(Gc=!1,kf(e));break;case 4:l=Jt,Jt=Di(e.stateNode.containerInfo),gt(t,e),pt(e),Jt=l;break;case 12:gt(t,e),pt(e);break;case 31:gt(t,e),pt(e),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,gi(e,l)));break;case 13:gt(t,e),pt(e),e.child.flags&8192&&e.memoizedState!==null!=(a!==null&&a.memoizedState!==null)&&(yi=St()),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,gi(e,l)));break;case 22:i=e.memoizedState!==null;var v=a!==null&&a.memoizedState!==null,B=Sa,Q=We;if(Sa=B||i,We=Q||v,gt(t,e),We=Q,Sa=B,pt(e),l&8192)e:for(t=e.stateNode,t._visibility=i?t._visibility&-2:t._visibility|1,i&&(a===null||v||Sa||We||Nn(e)),a=null,t=e;;){if(t.tag===5||t.tag===26){if(a===null){v=a=t;try{if(r=v.stateNode,i)d=r.style,typeof d.setProperty=="function"?d.setProperty("display","none","important"):d.display="none";else{h=v.stateNode;var Z=v.memoizedProps.style,q=Z!=null&&Z.hasOwnProperty("display")?Z.display:null;h.style.display=q==null||typeof q=="boolean"?"":(""+q).trim()}}catch(le){_e(v,v.return,le)}}}else if(t.tag===6){if(a===null){v=t;try{v.stateNode.nodeValue=i?"":v.memoizedProps}catch(le){_e(v,v.return,le)}}}else if(t.tag===18){if(a===null){v=t;try{var H=v.stateNode;i?jm(H,!0):jm(v.stateNode,!1)}catch(le){_e(v,v.return,le)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;a===t&&(a=null),t=t.return}a===t&&(a=null),t.sibling.return=t.return,t=t.sibling}l&4&&(l=e.updateQueue,l!==null&&(a=l.retryQueue,a!==null&&(l.retryQueue=null,gi(e,a))));break;case 19:gt(t,e),pt(e),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,gi(e,l)));break;case 30:break;case 21:break;default:gt(t,e),pt(e)}}function pt(e){var t=e.flags;if(t&2){try{for(var a,l=e.return;l!==null;){if(Sf(l)){a=l;break}l=l.return}if(a==null)throw Error(u(160));switch(a.tag){case 27:var i=a.stateNode,r=Lc(e);xi(e,r,i);break;case 5:var d=a.stateNode;a.flags&32&&(Rn(d,""),a.flags&=-33);var h=Lc(e);xi(e,h,d);break;case 3:case 4:var v=a.stateNode.containerInfo,B=Lc(e);Hc(e,B,v);break;default:throw Error(u(161))}}catch(Q){_e(e,e.return,Q)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function kf(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;kf(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function wa(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)zf(e,t.alternate,t),t=t.sibling}function Nn(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Ya(4,t,t.return),Nn(t);break;case 1:la(t,t.return);var a=t.stateNode;typeof a.componentWillUnmount=="function"&&jf(t,t.return,a),Nn(t);break;case 27:fs(t.stateNode);case 26:case 5:la(t,t.return),Nn(t);break;case 22:t.memoizedState===null&&Nn(t);break;case 30:Nn(t);break;default:Nn(t)}e=e.sibling}}function za(e,t,a){for(a=a&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var l=t.alternate,i=e,r=t,d=r.flags;switch(r.tag){case 0:case 11:case 15:za(i,r,a),as(4,r);break;case 1:if(za(i,r,a),l=r,i=l.stateNode,typeof i.componentDidMount=="function")try{i.componentDidMount()}catch(B){_e(l,l.return,B)}if(l=r,i=l.updateQueue,i!==null){var h=l.stateNode;try{var v=i.shared.hiddenCallbacks;if(v!==null)for(i.shared.hiddenCallbacks=null,i=0;i<v.length;i++)cd(v[i],h)}catch(B){_e(l,l.return,B)}}a&&d&64&&bf(r),ns(r,r.return);break;case 27:Cf(r);case 26:case 5:za(i,r,a),a&&l===null&&d&4&&Nf(r),ns(r,r.return);break;case 12:za(i,r,a);break;case 31:za(i,r,a),a&&d&4&&Af(i,r);break;case 13:za(i,r,a),a&&d&4&&Df(i,r);break;case 22:r.memoizedState===null&&za(i,r,a),ns(r,r.return);break;case 30:break;default:za(i,r,a)}t=t.sibling}}function Qc(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&&Yl(a))}function Yc(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Yl(e))}function Wt(e,t,a,l){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Mf(e,t,a,l),t=t.sibling}function Mf(e,t,a,l){var i=t.flags;switch(t.tag){case 0:case 11:case 15:Wt(e,t,a,l),i&2048&&as(9,t);break;case 1:Wt(e,t,a,l);break;case 3:Wt(e,t,a,l),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Yl(e)));break;case 12:if(i&2048){Wt(e,t,a,l),e=t.stateNode;try{var r=t.memoizedProps,d=r.id,h=r.onPostCommit;typeof h=="function"&&h(d,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(v){_e(t,t.return,v)}}else Wt(e,t,a,l);break;case 31:Wt(e,t,a,l);break;case 13:Wt(e,t,a,l);break;case 23:break;case 22:r=t.stateNode,d=t.alternate,t.memoizedState!==null?r._visibility&2?Wt(e,t,a,l):ls(e,t):r._visibility&2?Wt(e,t,a,l):(r._visibility|=2,tl(e,t,a,l,(t.subtreeFlags&10256)!==0||!1)),i&2048&&Qc(d,t);break;case 24:Wt(e,t,a,l),i&2048&&Yc(t.alternate,t);break;default:Wt(e,t,a,l)}}function tl(e,t,a,l,i){for(i=i&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var r=e,d=t,h=a,v=l,B=d.flags;switch(d.tag){case 0:case 11:case 15:tl(r,d,h,v,i),as(8,d);break;case 23:break;case 22:var Q=d.stateNode;d.memoizedState!==null?Q._visibility&2?tl(r,d,h,v,i):ls(r,d):(Q._visibility|=2,tl(r,d,h,v,i)),i&&B&2048&&Qc(d.alternate,d);break;case 24:tl(r,d,h,v,i),i&&B&2048&&Yc(d.alternate,d);break;default:tl(r,d,h,v,i)}t=t.sibling}}function ls(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var a=e,l=t,i=l.flags;switch(l.tag){case 22:ls(a,l),i&2048&&Qc(l.alternate,l);break;case 24:ls(a,l),i&2048&&Yc(l.alternate,l);break;default:ls(a,l)}t=t.sibling}}var ss=8192;function al(e,t,a){if(e.subtreeFlags&ss)for(e=e.child;e!==null;)Of(e,t,a),e=e.sibling}function Of(e,t,a){switch(e.tag){case 26:al(e,t,a),e.flags&ss&&e.memoizedState!==null&&Dp(a,Jt,e.memoizedState,e.memoizedProps);break;case 5:al(e,t,a);break;case 3:case 4:var l=Jt;Jt=Di(e.stateNode.containerInfo),al(e,t,a),Jt=l;break;case 22:e.memoizedState===null&&(l=e.alternate,l!==null&&l.memoizedState!==null?(l=ss,ss=16777216,al(e,t,a),ss=l):al(e,t,a));break;default:al(e,t,a)}}function Rf(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 is(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var l=t[a];at=l,Bf(l,e)}Rf(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Uf(e),e=e.sibling}function Uf(e){switch(e.tag){case 0:case 11:case 15:is(e),e.flags&2048&&Ya(9,e,e.return);break;case 3:is(e);break;case 12:is(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,pi(e)):is(e);break;default:is(e)}}function pi(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var l=t[a];at=l,Bf(l,e)}Rf(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Ya(8,t,t.return),pi(t);break;case 22:a=t.stateNode,a._visibility&2&&(a._visibility&=-3,pi(t));break;default:pi(t)}e=e.sibling}}function Bf(e,t){for(;at!==null;){var a=at;switch(a.tag){case 0:case 11:case 15:Ya(8,a,t);break;case 23:case 22:if(a.memoizedState!==null&&a.memoizedState.cachePool!==null){var l=a.memoizedState.cachePool.pool;l!=null&&l.refCount++}break;case 24:Yl(a.memoizedState.cache)}if(l=a.child,l!==null)l.return=a,at=l;else e:for(a=e;at!==null;){l=at;var i=l.sibling,r=l.return;if(Tf(l),l===a){at=null;break e}if(i!==null){i.return=r,at=i;break e}at=r}}}var Xg={getCacheForType:function(e){var t=ct(Ze),a=t.data.get(e);return a===void 0&&(a=e(),t.data.set(e,a)),a},cacheSignal:function(){return ct(Ze).controller.signal}},Kg=typeof WeakMap=="function"?WeakMap:Map,ze=0,Be=null,ye=null,be=0,De=0,Dt=null,Va=!1,nl=!1,Vc=!1,Ta=0,Ye=0,Xa=0,Sn=0,Xc=0,_t=0,ll=0,rs=null,yt=null,Kc=!1,yi=0,qf=0,vi=1/0,bi=null,Ka=null,Pe=0,Fa=null,sl=null,Ea=0,Fc=0,Zc=null,Lf=null,cs=0,$c=null;function kt(){return(ze&2)!==0&&be!==0?be&-be:j.T!==null?tu():Pu()}function Hf(){if(_t===0)if((be&536870912)===0||Ne){var e=Es;Es<<=1,(Es&3932160)===0&&(Es=262144),_t=e}else _t=536870912;return e=Et.current,e!==null&&(e.flags|=32),_t}function vt(e,t,a){(e===Be&&(De===2||De===9)||e.cancelPendingCommit!==null)&&(il(e,0),Za(e,be,_t,!1)),Al(e,a),((ze&2)===0||e!==Be)&&(e===Be&&((ze&2)===0&&(Sn|=a),Ye===4&&Za(e,be,_t,!1)),sa(e))}function Gf(e,t,a){if((ze&6)!==0)throw Error(u(327));var l=!a&&(t&127)===0&&(t&e.expiredLanes)===0||El(e,t),i=l?$g(e,t):Wc(e,t,!0),r=l;do{if(i===0){nl&&!l&&Za(e,t,0,!1);break}else{if(a=e.current.alternate,r&&!Fg(a)){i=Wc(e,t,!1),r=!1;continue}if(i===2){if(r=t,e.errorRecoveryDisabledLanes&r)var d=0;else d=e.pendingLanes&-536870913,d=d!==0?d:d&536870912?536870912:0;if(d!==0){t=d;e:{var h=e;i=rs;var v=h.current.memoizedState.isDehydrated;if(v&&(il(h,d).flags|=256),d=Wc(h,d,!1),d!==2){if(Vc&&!v){h.errorRecoveryDisabledLanes|=r,Sn|=r,i=4;break e}r=yt,yt=i,r!==null&&(yt===null?yt=r:yt.push.apply(yt,r))}i=d}if(r=!1,i!==2)continue}}if(i===1){il(e,0),Za(e,t,0,!0);break}e:{switch(l=e,r=i,r){case 0:case 1:throw Error(u(345));case 4:if((t&4194048)!==t)break;case 6:Za(l,t,_t,!Va);break e;case 2:yt=null;break;case 3:case 5:break;default:throw Error(u(329))}if((t&62914560)===t&&(i=yi+300-St(),10<i)){if(Za(l,t,_t,!Va),Ds(l,0,!0)!==0)break e;Ea=t,l.timeoutHandle=ym(Qf.bind(null,l,a,yt,bi,Kc,t,_t,Sn,ll,Va,r,"Throttled",-0,0),i);break e}Qf(l,a,yt,bi,Kc,t,_t,Sn,ll,Va,r,null,-0,0)}}break}while(!0);sa(e)}function Qf(e,t,a,l,i,r,d,h,v,B,Q,Z,q,H){if(e.timeoutHandle=-1,Z=t.subtreeFlags,Z&8192||(Z&16785408)===16785408){Z={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:ma},Of(t,r,Z);var le=(r&62914560)===r?yi-St():(r&4194048)===r?qf-St():0;if(le=_p(Z,le),le!==null){Ea=r,e.cancelPendingCommit=le(Jf.bind(null,e,t,r,a,l,i,d,h,v,Q,Z,null,q,H)),Za(e,r,d,!B);return}}Jf(e,t,r,a,l,i,d,h,v)}function Fg(e){for(var t=e;;){var a=t.tag;if((a===0||a===11||a===15)&&t.flags&16384&&(a=t.updateQueue,a!==null&&(a=a.stores,a!==null)))for(var l=0;l<a.length;l++){var i=a[l],r=i.getSnapshot;i=i.value;try{if(!zt(r(),i))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 Za(e,t,a,l){t&=~Xc,t&=~Sn,e.suspendedLanes|=t,e.pingedLanes&=~t,l&&(e.warmLanes|=t),l=e.expirationTimes;for(var i=t;0<i;){var r=31-wt(i),d=1<<r;l[r]=-1,i&=~d}a!==0&&Ju(e,a,t)}function ji(){return(ze&6)===0?(us(0),!1):!0}function Jc(){if(ye!==null){if(De===0)var e=ye.return;else e=ye,pa=hn=null,fc(e),Jn=null,Xl=0,e=ye;for(;e!==null;)vf(e.alternate,e),e=e.return;ye=null}}function il(e,t){var a=e.timeoutHandle;a!==-1&&(e.timeoutHandle=-1,mp(a)),a=e.cancelPendingCommit,a!==null&&(e.cancelPendingCommit=null,a()),Ea=0,Jc(),Be=e,ye=a=xa(e.current,null),be=t,De=0,Dt=null,Va=!1,nl=El(e,t),Vc=!1,ll=_t=Xc=Sn=Xa=Ye=0,yt=rs=null,Kc=!1,(t&8)!==0&&(t|=t&32);var l=e.entangledLanes;if(l!==0)for(e=e.entanglements,l&=t;0<l;){var i=31-wt(l),r=1<<i;t|=e[i],l&=~r}return Ta=t,Qs(),a}function Yf(e,t){me=null,j.H=Pl,t===$n||t===Js?(t=ld(),De=3):t===ec?(t=ld(),De=4):De=t===Ec?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Dt=t,ye===null&&(Ye=1,oi(e,qt(t,e.current)))}function Vf(){var e=Et.current;return e===null?!0:(be&4194048)===be?Qt===null:(be&62914560)===be||(be&536870912)!==0?e===Qt:!1}function Xf(){var e=j.H;return j.H=Pl,e===null?Pl:e}function Kf(){var e=j.A;return j.A=Xg,e}function Ni(){Ye=4,Va||(be&4194048)!==be&&Et.current!==null||(nl=!0),(Xa&134217727)===0&&(Sn&134217727)===0||Be===null||Za(Be,be,_t,!1)}function Wc(e,t,a){var l=ze;ze|=2;var i=Xf(),r=Kf();(Be!==e||be!==t)&&(bi=null,il(e,t)),t=!1;var d=Ye;e:do try{if(De!==0&&ye!==null){var h=ye,v=Dt;switch(De){case 8:Jc(),d=6;break e;case 3:case 2:case 9:case 6:Et.current===null&&(t=!0);var B=De;if(De=0,Dt=null,rl(e,h,v,B),a&&nl){d=0;break e}break;default:B=De,De=0,Dt=null,rl(e,h,v,B)}}Zg(),d=Ye;break}catch(Q){Yf(e,Q)}while(!0);return t&&e.shellSuspendCounter++,pa=hn=null,ze=l,j.H=i,j.A=r,ye===null&&(Be=null,be=0,Qs()),d}function Zg(){for(;ye!==null;)Ff(ye)}function $g(e,t){var a=ze;ze|=2;var l=Xf(),i=Kf();Be!==e||be!==t?(bi=null,vi=St()+500,il(e,t)):nl=El(e,t);e:do try{if(De!==0&&ye!==null){t=ye;var r=Dt;t:switch(De){case 1:De=0,Dt=null,rl(e,t,r,1);break;case 2:case 9:if(ad(r)){De=0,Dt=null,Zf(t);break}t=function(){De!==2&&De!==9||Be!==e||(De=7),sa(e)},r.then(t,t);break e;case 3:De=7;break e;case 4:De=5;break e;case 7:ad(r)?(De=0,Dt=null,Zf(t)):(De=0,Dt=null,rl(e,t,r,7));break;case 5:var d=null;switch(ye.tag){case 26:d=ye.memoizedState;case 5:case 27:var h=ye;if(d?Mm(d):h.stateNode.complete){De=0,Dt=null;var v=h.sibling;if(v!==null)ye=v;else{var B=h.return;B!==null?(ye=B,Si(B)):ye=null}break t}}De=0,Dt=null,rl(e,t,r,5);break;case 6:De=0,Dt=null,rl(e,t,r,6);break;case 8:Jc(),Ye=6;break e;default:throw Error(u(462))}}Jg();break}catch(Q){Yf(e,Q)}while(!0);return pa=hn=null,j.H=l,j.A=i,ze=a,ye!==null?0:(Be=null,be=0,Qs(),Ye)}function Jg(){for(;ye!==null&&!vx();)Ff(ye)}function Ff(e){var t=pf(e.alternate,e,Ta);e.memoizedProps=e.pendingProps,t===null?Si(e):ye=t}function Zf(e){var t=e,a=t.alternate;switch(t.tag){case 15:case 0:t=df(a,t,t.pendingProps,t.type,void 0,be);break;case 11:t=df(a,t,t.pendingProps,t.type.render,t.ref,be);break;case 5:fc(t);default:vf(a,t),t=ye=Xo(t,Ta),t=pf(a,t,Ta)}e.memoizedProps=e.pendingProps,t===null?Si(e):ye=t}function rl(e,t,a,l){pa=hn=null,fc(t),Jn=null,Xl=0;var i=t.return;try{if(qg(e,i,t,a,be)){Ye=1,oi(e,qt(a,e.current)),ye=null;return}}catch(r){if(i!==null)throw ye=i,r;Ye=1,oi(e,qt(a,e.current)),ye=null;return}t.flags&32768?(Ne||l===1?e=!0:nl||(be&536870912)!==0?e=!1:(Va=e=!0,(l===2||l===9||l===3||l===6)&&(l=Et.current,l!==null&&l.tag===13&&(l.flags|=16384))),$f(t,e)):Si(t)}function Si(e){var t=e;do{if((t.flags&32768)!==0){$f(t,Va);return}e=t.return;var a=Gg(t.alternate,t,Ta);if(a!==null){ye=a;return}if(t=t.sibling,t!==null){ye=t;return}ye=t=e}while(t!==null);Ye===0&&(Ye=5)}function $f(e,t){do{var a=Qg(e.alternate,e);if(a!==null){a.flags&=32767,ye=a;return}if(a=e.return,a!==null&&(a.flags|=32768,a.subtreeFlags=0,a.deletions=null),!t&&(e=e.sibling,e!==null)){ye=e;return}ye=e=a}while(e!==null);Ye=6,ye=null}function Jf(e,t,a,l,i,r,d,h,v){e.cancelPendingCommit=null;do Ci();while(Pe!==0);if((ze&6)!==0)throw Error(u(327));if(t!==null){if(t===e.current)throw Error(u(177));if(r=t.lanes|t.childLanes,r|=Lr,Ax(e,a,r,d,h,v),e===Be&&(ye=Be=null,be=0),sl=t,Fa=e,Ea=a,Fc=r,Zc=i,Lf=l,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,ep(zs,function(){return tm(),null})):(e.callbackNode=null,e.callbackPriority=0),l=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||l){l=j.T,j.T=null,i=R.p,R.p=2,d=ze,ze|=4;try{Yg(e,t,a)}finally{ze=d,R.p=i,j.T=l}}Pe=1,Wf(),If(),Pf()}}function Wf(){if(Pe===1){Pe=0;var e=Fa,t=sl,a=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||a){a=j.T,j.T=null;var l=R.p;R.p=2;var i=ze;ze|=4;try{_f(t,e);var r=uu,d=Uo(e.containerInfo),h=r.focusedElem,v=r.selectionRange;if(d!==h&&h&&h.ownerDocument&&Ro(h.ownerDocument.documentElement,h)){if(v!==null&&Or(h)){var B=v.start,Q=v.end;if(Q===void 0&&(Q=B),"selectionStart"in h)h.selectionStart=B,h.selectionEnd=Math.min(Q,h.value.length);else{var Z=h.ownerDocument||document,q=Z&&Z.defaultView||window;if(q.getSelection){var H=q.getSelection(),le=h.textContent.length,oe=Math.min(v.start,le),Ue=v.end===void 0?oe:Math.min(v.end,le);!H.extend&&oe>Ue&&(d=Ue,Ue=oe,oe=d);var E=Oo(h,oe),C=Oo(h,Ue);if(E&&C&&(H.rangeCount!==1||H.anchorNode!==E.node||H.anchorOffset!==E.offset||H.focusNode!==C.node||H.focusOffset!==C.offset)){var U=Z.createRange();U.setStart(E.node,E.offset),H.removeAllRanges(),oe>Ue?(H.addRange(U),H.extend(C.node,C.offset)):(U.setEnd(C.node,C.offset),H.addRange(U))}}}}for(Z=[],H=h;H=H.parentNode;)H.nodeType===1&&Z.push({element:H,left:H.scrollLeft,top:H.scrollTop});for(typeof h.focus=="function"&&h.focus(),h=0;h<Z.length;h++){var K=Z[h];K.element.scrollLeft=K.left,K.element.scrollTop=K.top}}Ui=!!cu,uu=cu=null}finally{ze=i,R.p=l,j.T=a}}e.current=t,Pe=2}}function If(){if(Pe===2){Pe=0;var e=Fa,t=sl,a=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||a){a=j.T,j.T=null;var l=R.p;R.p=2;var i=ze;ze|=4;try{zf(e,t.alternate,t)}finally{ze=i,R.p=l,j.T=a}}Pe=3}}function Pf(){if(Pe===4||Pe===3){Pe=0,bx();var e=Fa,t=sl,a=Ea,l=Lf;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Pe=5:(Pe=0,sl=Fa=null,em(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(Ka=null),xr(a),t=t.stateNode,Ct&&typeof Ct.onCommitFiberRoot=="function")try{Ct.onCommitFiberRoot(Tl,t,void 0,(t.current.flags&128)===128)}catch{}if(l!==null){t=j.T,i=R.p,R.p=2,j.T=null;try{for(var r=e.onRecoverableError,d=0;d<l.length;d++){var h=l[d];r(h.value,{componentStack:h.stack})}}finally{j.T=t,R.p=i}}(Ea&3)!==0&&Ci(),sa(e),i=e.pendingLanes,(a&261930)!==0&&(i&42)!==0?e===$c?cs++:(cs=0,$c=e):cs=0,us(0)}}function em(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Yl(t)))}function Ci(){return Wf(),If(),Pf(),tm()}function tm(){if(Pe!==5)return!1;var e=Fa,t=Fc;Fc=0;var a=xr(Ea),l=j.T,i=R.p;try{R.p=32>a?32:a,j.T=null,a=Zc,Zc=null;var r=Fa,d=Ea;if(Pe=0,sl=Fa=null,Ea=0,(ze&6)!==0)throw Error(u(331));var h=ze;if(ze|=4,Uf(r.current),Mf(r,r.current,d,a),ze=h,us(0,!1),Ct&&typeof Ct.onPostCommitFiberRoot=="function")try{Ct.onPostCommitFiberRoot(Tl,r)}catch{}return!0}finally{R.p=i,j.T=l,em(e,t)}}function am(e,t,a){t=qt(a,t),t=Tc(e.stateNode,t,2),e=Ha(e,t,2),e!==null&&(Al(e,2),sa(e))}function _e(e,t,a){if(e.tag===3)am(e,e,a);else for(;t!==null;){if(t.tag===3){am(t,e,a);break}else if(t.tag===1){var l=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(Ka===null||!Ka.has(l))){e=qt(a,e),a=af(2),l=Ha(t,a,2),l!==null&&(nf(a,l,t,e),Al(l,2),sa(l));break}}t=t.return}}function Ic(e,t,a){var l=e.pingCache;if(l===null){l=e.pingCache=new Kg;var i=new Set;l.set(t,i)}else i=l.get(t),i===void 0&&(i=new Set,l.set(t,i));i.has(a)||(Vc=!0,i.add(a),e=Wg.bind(null,e,t,a),t.then(e,e))}function Wg(e,t,a){var l=e.pingCache;l!==null&&l.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Be===e&&(be&a)===a&&(Ye===4||Ye===3&&(be&62914560)===be&&300>St()-yi?(ze&2)===0&&il(e,0):Xc|=a,ll===be&&(ll=0)),sa(e)}function nm(e,t){t===0&&(t=$u()),e=dn(e,t),e!==null&&(Al(e,t),sa(e))}function Ig(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),nm(e,a)}function Pg(e,t){var a=0;switch(e.tag){case 31:case 13:var l=e.stateNode,i=e.memoizedState;i!==null&&(a=i.retryLane);break;case 19:l=e.stateNode;break;case 22:l=e.stateNode._retryCache;break;default:throw Error(u(314))}l!==null&&l.delete(t),nm(e,a)}function ep(e,t){return zl(e,t)}var wi=null,cl=null,Pc=!1,zi=!1,eu=!1,$a=0;function sa(e){e!==cl&&e.next===null&&(cl===null?wi=cl=e:cl=cl.next=e),zi=!0,Pc||(Pc=!0,ap())}function us(e,t){if(!eu&&zi){eu=!0;do for(var a=!1,l=wi;l!==null;){if(e!==0){var i=l.pendingLanes;if(i===0)var r=0;else{var d=l.suspendedLanes,h=l.pingedLanes;r=(1<<31-wt(42|e)+1)-1,r&=i&~(d&~h),r=r&201326741?r&201326741|1:r?r|2:0}r!==0&&(a=!0,rm(l,r))}else r=be,r=Ds(l,l===Be?r:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(r&3)===0||El(l,r)||(a=!0,rm(l,r));l=l.next}while(a);eu=!1}}function tp(){lm()}function lm(){zi=Pc=!1;var e=0;$a!==0&&fp()&&(e=$a);for(var t=St(),a=null,l=wi;l!==null;){var i=l.next,r=sm(l,t);r===0?(l.next=null,a===null?wi=i:a.next=i,i===null&&(cl=a)):(a=l,(e!==0||(r&3)!==0)&&(zi=!0)),l=i}Pe!==0&&Pe!==5||us(e),$a!==0&&($a=0)}function sm(e,t){for(var a=e.suspendedLanes,l=e.pingedLanes,i=e.expirationTimes,r=e.pendingLanes&-62914561;0<r;){var d=31-wt(r),h=1<<d,v=i[d];v===-1?((h&a)===0||(h&l)!==0)&&(i[d]=Ex(h,t)):v<=t&&(e.expiredLanes|=h),r&=~h}if(t=Be,a=be,a=Ds(e,e===t?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),l=e.callbackNode,a===0||e===t&&(De===2||De===9)||e.cancelPendingCommit!==null)return l!==null&&l!==null&&fr(l),e.callbackNode=null,e.callbackPriority=0;if((a&3)===0||El(e,a)){if(t=a&-a,t===e.callbackPriority)return t;switch(l!==null&&fr(l),xr(a)){case 2:case 8:a=Fu;break;case 32:a=zs;break;case 268435456:a=Zu;break;default:a=zs}return l=im.bind(null,e),a=zl(a,l),e.callbackPriority=t,e.callbackNode=a,t}return l!==null&&l!==null&&fr(l),e.callbackPriority=2,e.callbackNode=null,2}function im(e,t){if(Pe!==0&&Pe!==5)return e.callbackNode=null,e.callbackPriority=0,null;var a=e.callbackNode;if(Ci()&&e.callbackNode!==a)return null;var l=be;return l=Ds(e,e===Be?l:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),l===0?null:(Gf(e,l,t),sm(e,St()),e.callbackNode!=null&&e.callbackNode===a?im.bind(null,e):null)}function rm(e,t){if(Ci())return null;Gf(e,t,!0)}function ap(){hp(function(){(ze&6)!==0?zl(Ku,tp):lm()})}function tu(){if($a===0){var e=Fn;e===0&&(e=Ts,Ts<<=1,(Ts&261888)===0&&(Ts=256)),$a=e}return $a}function cm(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Os(""+e)}function um(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 np(e,t,a,l,i){if(t==="submit"&&a&&a.stateNode===i){var r=cm((i[mt]||null).action),d=l.submitter;d&&(t=(t=d[mt]||null)?cm(t.formAction):d.getAttribute("formAction"),t!==null&&(r=t,d=null));var h=new qs("action","action",null,l,i);e.push({event:h,listeners:[{instance:null,listener:function(){if(l.defaultPrevented){if($a!==0){var v=d?um(i,d):new FormData(i);jc(a,{pending:!0,data:v,method:i.method,action:r},null,v)}}else typeof r=="function"&&(h.preventDefault(),v=d?um(i,d):new FormData(i),jc(a,{pending:!0,data:v,method:i.method,action:r},r,v))},currentTarget:i}]})}}for(var au=0;au<qr.length;au++){var nu=qr[au],lp=nu.toLowerCase(),sp=nu[0].toUpperCase()+nu.slice(1);$t(lp,"on"+sp)}$t(Lo,"onAnimationEnd"),$t(Ho,"onAnimationIteration"),$t(Go,"onAnimationStart"),$t("dblclick","onDoubleClick"),$t("focusin","onFocus"),$t("focusout","onBlur"),$t(jg,"onTransitionRun"),$t(Ng,"onTransitionStart"),$t(Sg,"onTransitionCancel"),$t(Qo,"onTransitionEnd"),Mn("onMouseEnter",["mouseout","mouseover"]),Mn("onMouseLeave",["mouseout","mouseover"]),Mn("onPointerEnter",["pointerout","pointerover"]),Mn("onPointerLeave",["pointerout","pointerover"]),rn("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),rn("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),rn("onBeforeInput",["compositionend","keypress","textInput","paste"]),rn("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),rn("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),rn("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var os="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(" "),ip=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(os));function om(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var l=e[a],i=l.event;l=l.listeners;e:{var r=void 0;if(t)for(var d=l.length-1;0<=d;d--){var h=l[d],v=h.instance,B=h.currentTarget;if(h=h.listener,v!==r&&i.isPropagationStopped())break e;r=h,i.currentTarget=B;try{r(i)}catch(Q){Gs(Q)}i.currentTarget=null,r=v}else for(d=0;d<l.length;d++){if(h=l[d],v=h.instance,B=h.currentTarget,h=h.listener,v!==r&&i.isPropagationStopped())break e;r=h,i.currentTarget=B;try{r(i)}catch(Q){Gs(Q)}i.currentTarget=null,r=v}}}}function ve(e,t){var a=t[gr];a===void 0&&(a=t[gr]=new Set);var l=e+"__bubble";a.has(l)||(dm(t,e,2,!1),a.add(l))}function lu(e,t,a){var l=0;t&&(l|=4),dm(a,e,l,t)}var Ti="_reactListening"+Math.random().toString(36).slice(2);function su(e){if(!e[Ti]){e[Ti]=!0,ao.forEach(function(a){a!=="selectionchange"&&(ip.has(a)||lu(a,!1,e),lu(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Ti]||(t[Ti]=!0,lu("selectionchange",!1,t))}}function dm(e,t,a,l){switch(Hm(t)){case 2:var i=Op;break;case 8:i=Rp;break;default:i=bu}a=i.bind(null,t,a,e),i=void 0,!wr||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(i=!0),l?i!==void 0?e.addEventListener(t,a,{capture:!0,passive:i}):e.addEventListener(t,a,!0):i!==void 0?e.addEventListener(t,a,{passive:i}):e.addEventListener(t,a,!1)}function iu(e,t,a,l,i){var r=l;if((t&1)===0&&(t&2)===0&&l!==null)e:for(;;){if(l===null)return;var d=l.tag;if(d===3||d===4){var h=l.stateNode.containerInfo;if(h===i)break;if(d===4)for(d=l.return;d!==null;){var v=d.tag;if((v===3||v===4)&&d.stateNode.containerInfo===i)return;d=d.return}for(;h!==null;){if(d=Dn(h),d===null)return;if(v=d.tag,v===5||v===6||v===26||v===27){l=r=d;continue e}h=h.parentNode}}l=l.return}xo(function(){var B=r,Q=Sr(a),Z=[];e:{var q=Yo.get(e);if(q!==void 0){var H=qs,le=e;switch(e){case"keypress":if(Us(a)===0)break e;case"keydown":case"keyup":H=Px;break;case"focusin":le="focus",H=Ar;break;case"focusout":le="blur",H=Ar;break;case"beforeblur":case"afterblur":H=Ar;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":H=yo;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":H=Gx;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":H=ag;break;case Lo:case Ho:case Go:H=Vx;break;case Qo:H=lg;break;case"scroll":case"scrollend":H=Lx;break;case"wheel":H=ig;break;case"copy":case"cut":case"paste":H=Kx;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":H=bo;break;case"toggle":case"beforetoggle":H=cg}var oe=(t&4)!==0,Ue=!oe&&(e==="scroll"||e==="scrollend"),E=oe?q!==null?q+"Capture":null:q;oe=[];for(var C=B,U;C!==null;){var K=C;if(U=K.stateNode,K=K.tag,K!==5&&K!==26&&K!==27||U===null||E===null||(K=kl(C,E),K!=null&&oe.push(ds(C,K,U))),Ue)break;C=C.return}0<oe.length&&(q=new H(q,le,null,a,Q),Z.push({event:q,listeners:oe}))}}if((t&7)===0){e:{if(q=e==="mouseover"||e==="pointerover",H=e==="mouseout"||e==="pointerout",q&&a!==Nr&&(le=a.relatedTarget||a.fromElement)&&(Dn(le)||le[An]))break e;if((H||q)&&(q=Q.window===Q?Q:(q=Q.ownerDocument)?q.defaultView||q.parentWindow:window,H?(le=a.relatedTarget||a.toElement,H=B,le=le?Dn(le):null,le!==null&&(Ue=g(le),oe=le.tag,le!==Ue||oe!==5&&oe!==27&&oe!==6)&&(le=null)):(H=null,le=B),H!==le)){if(oe=yo,K="onMouseLeave",E="onMouseEnter",C="mouse",(e==="pointerout"||e==="pointerover")&&(oe=bo,K="onPointerLeave",E="onPointerEnter",C="pointer"),Ue=H==null?q:_l(H),U=le==null?q:_l(le),q=new oe(K,C+"leave",H,a,Q),q.target=Ue,q.relatedTarget=U,K=null,Dn(Q)===B&&(oe=new oe(E,C+"enter",le,a,Q),oe.target=U,oe.relatedTarget=Ue,K=oe),Ue=K,H&&le)t:{for(oe=rp,E=H,C=le,U=0,K=E;K;K=oe(K))U++;K=0;for(var ce=C;ce;ce=oe(ce))K++;for(;0<U-K;)E=oe(E),U--;for(;0<K-U;)C=oe(C),K--;for(;U--;){if(E===C||C!==null&&E===C.alternate){oe=E;break t}E=oe(E),C=oe(C)}oe=null}else oe=null;H!==null&&fm(Z,q,H,oe,!1),le!==null&&Ue!==null&&fm(Z,Ue,le,oe,!0)}}e:{if(q=B?_l(B):window,H=q.nodeName&&q.nodeName.toLowerCase(),H==="select"||H==="input"&&q.type==="file")var Ce=Eo;else if(zo(q))if(Ao)Ce=yg;else{Ce=gg;var se=xg}else H=q.nodeName,!H||H.toLowerCase()!=="input"||q.type!=="checkbox"&&q.type!=="radio"?B&&jr(B.elementType)&&(Ce=Eo):Ce=pg;if(Ce&&(Ce=Ce(e,B))){To(Z,Ce,a,Q);break e}se&&se(e,q,B),e==="focusout"&&B&&q.type==="number"&&B.memoizedProps.value!=null&&br(q,"number",q.value)}switch(se=B?_l(B):window,e){case"focusin":(zo(se)||se.contentEditable==="true")&&(Ln=se,Rr=B,Hl=null);break;case"focusout":Hl=Rr=Ln=null;break;case"mousedown":Ur=!0;break;case"contextmenu":case"mouseup":case"dragend":Ur=!1,Bo(Z,a,Q);break;case"selectionchange":if(bg)break;case"keydown":case"keyup":Bo(Z,a,Q)}var ge;if(_r)e:{switch(e){case"compositionstart":var je="onCompositionStart";break e;case"compositionend":je="onCompositionEnd";break e;case"compositionupdate":je="onCompositionUpdate";break e}je=void 0}else qn?Co(e,a)&&(je="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(je="onCompositionStart");je&&(jo&&a.locale!=="ko"&&(qn||je!=="onCompositionStart"?je==="onCompositionEnd"&&qn&&(ge=go()):(Ma=Q,zr="value"in Ma?Ma.value:Ma.textContent,qn=!0)),se=Ei(B,je),0<se.length&&(je=new vo(je,e,null,a,Q),Z.push({event:je,listeners:se}),ge?je.data=ge:(ge=wo(a),ge!==null&&(je.data=ge)))),(ge=og?dg(e,a):fg(e,a))&&(je=Ei(B,"onBeforeInput"),0<je.length&&(se=new vo("onBeforeInput","beforeinput",null,a,Q),Z.push({event:se,listeners:je}),se.data=ge)),np(Z,e,B,a,Q)}om(Z,t)})}function ds(e,t,a){return{instance:e,listener:t,currentTarget:a}}function Ei(e,t){for(var a=t+"Capture",l=[];e!==null;){var i=e,r=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||r===null||(i=kl(e,a),i!=null&&l.unshift(ds(e,i,r)),i=kl(e,t),i!=null&&l.push(ds(e,i,r))),e.tag===3)return l;e=e.return}return[]}function rp(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function fm(e,t,a,l,i){for(var r=t._reactName,d=[];a!==null&&a!==l;){var h=a,v=h.alternate,B=h.stateNode;if(h=h.tag,v!==null&&v===l)break;h!==5&&h!==26&&h!==27||B===null||(v=B,i?(B=kl(a,r),B!=null&&d.unshift(ds(a,B,v))):i||(B=kl(a,r),B!=null&&d.push(ds(a,B,v)))),a=a.return}d.length!==0&&e.push({event:t,listeners:d})}var cp=/\r\n?/g,up=/\u0000|\uFFFD/g;function mm(e){return(typeof e=="string"?e:""+e).replace(cp,`
9
- `).replace(up,"")}function hm(e,t){return t=mm(t),mm(e)===t}function Re(e,t,a,l,i,r){switch(a){case"children":typeof l=="string"?t==="body"||t==="textarea"&&l===""||Rn(e,l):(typeof l=="number"||typeof l=="bigint")&&t!=="body"&&Rn(e,""+l);break;case"className":ks(e,"class",l);break;case"tabIndex":ks(e,"tabindex",l);break;case"dir":case"role":case"viewBox":case"width":case"height":ks(e,a,l);break;case"style":mo(e,l,r);break;case"data":if(t!=="object"){ks(e,"data",l);break}case"src":case"href":if(l===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(l==null||typeof l=="function"||typeof l=="symbol"||typeof l=="boolean"){e.removeAttribute(a);break}l=Os(""+l),e.setAttribute(a,l);break;case"action":case"formAction":if(typeof l=="function"){e.setAttribute(a,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof r=="function"&&(a==="formAction"?(t!=="input"&&Re(e,t,"name",i.name,i,null),Re(e,t,"formEncType",i.formEncType,i,null),Re(e,t,"formMethod",i.formMethod,i,null),Re(e,t,"formTarget",i.formTarget,i,null)):(Re(e,t,"encType",i.encType,i,null),Re(e,t,"method",i.method,i,null),Re(e,t,"target",i.target,i,null)));if(l==null||typeof l=="symbol"||typeof l=="boolean"){e.removeAttribute(a);break}l=Os(""+l),e.setAttribute(a,l);break;case"onClick":l!=null&&(e.onclick=ma);break;case"onScroll":l!=null&&ve("scroll",e);break;case"onScrollEnd":l!=null&&ve("scrollend",e);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(u(61));if(a=l.__html,a!=null){if(i.children!=null)throw Error(u(60));e.innerHTML=a}}break;case"multiple":e.multiple=l&&typeof l!="function"&&typeof l!="symbol";break;case"muted":e.muted=l&&typeof l!="function"&&typeof l!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(l==null||typeof l=="function"||typeof l=="boolean"||typeof l=="symbol"){e.removeAttribute("xlink:href");break}a=Os(""+l),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":l!=null&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(a,""+l):e.removeAttribute(a);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":l&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(a,""):e.removeAttribute(a);break;case"capture":case"download":l===!0?e.setAttribute(a,""):l!==!1&&l!=null&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(a,l):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":l!=null&&typeof l!="function"&&typeof l!="symbol"&&!isNaN(l)&&1<=l?e.setAttribute(a,l):e.removeAttribute(a);break;case"rowSpan":case"start":l==null||typeof l=="function"||typeof l=="symbol"||isNaN(l)?e.removeAttribute(a):e.setAttribute(a,l);break;case"popover":ve("beforetoggle",e),ve("toggle",e),_s(e,"popover",l);break;case"xlinkActuate":fa(e,"http://www.w3.org/1999/xlink","xlink:actuate",l);break;case"xlinkArcrole":fa(e,"http://www.w3.org/1999/xlink","xlink:arcrole",l);break;case"xlinkRole":fa(e,"http://www.w3.org/1999/xlink","xlink:role",l);break;case"xlinkShow":fa(e,"http://www.w3.org/1999/xlink","xlink:show",l);break;case"xlinkTitle":fa(e,"http://www.w3.org/1999/xlink","xlink:title",l);break;case"xlinkType":fa(e,"http://www.w3.org/1999/xlink","xlink:type",l);break;case"xmlBase":fa(e,"http://www.w3.org/XML/1998/namespace","xml:base",l);break;case"xmlLang":fa(e,"http://www.w3.org/XML/1998/namespace","xml:lang",l);break;case"xmlSpace":fa(e,"http://www.w3.org/XML/1998/namespace","xml:space",l);break;case"is":_s(e,"is",l);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=Bx.get(a)||a,_s(e,a,l))}}function ru(e,t,a,l,i,r){switch(a){case"style":mo(e,l,r);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(u(61));if(a=l.__html,a!=null){if(i.children!=null)throw Error(u(60));e.innerHTML=a}}break;case"children":typeof l=="string"?Rn(e,l):(typeof l=="number"||typeof l=="bigint")&&Rn(e,""+l);break;case"onScroll":l!=null&&ve("scroll",e);break;case"onScrollEnd":l!=null&&ve("scrollend",e);break;case"onClick":l!=null&&(e.onclick=ma);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!no.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(i=a.endsWith("Capture"),t=a.slice(2,i?a.length-7:void 0),r=e[mt]||null,r=r!=null?r[a]:null,typeof r=="function"&&e.removeEventListener(t,r,i),typeof l=="function")){typeof r!="function"&&r!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(t,l,i);break e}a in e?e[a]=l:l===!0?e.setAttribute(a,""):_s(e,a,l)}}}function ot(e,t,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":ve("error",e),ve("load",e);var l=!1,i=!1,r;for(r in a)if(a.hasOwnProperty(r)){var d=a[r];if(d!=null)switch(r){case"src":l=!0;break;case"srcSet":i=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(u(137,t));default:Re(e,t,r,d,a,null)}}i&&Re(e,t,"srcSet",a.srcSet,a,null),l&&Re(e,t,"src",a.src,a,null);return;case"input":ve("invalid",e);var h=r=d=i=null,v=null,B=null;for(l in a)if(a.hasOwnProperty(l)){var Q=a[l];if(Q!=null)switch(l){case"name":i=Q;break;case"type":d=Q;break;case"checked":v=Q;break;case"defaultChecked":B=Q;break;case"value":r=Q;break;case"defaultValue":h=Q;break;case"children":case"dangerouslySetInnerHTML":if(Q!=null)throw Error(u(137,t));break;default:Re(e,t,l,Q,a,null)}}co(e,r,h,v,B,d,i,!1);return;case"select":ve("invalid",e),l=d=r=null;for(i in a)if(a.hasOwnProperty(i)&&(h=a[i],h!=null))switch(i){case"value":r=h;break;case"defaultValue":d=h;break;case"multiple":l=h;default:Re(e,t,i,h,a,null)}t=r,a=d,e.multiple=!!l,t!=null?On(e,!!l,t,!1):a!=null&&On(e,!!l,a,!0);return;case"textarea":ve("invalid",e),r=i=l=null;for(d in a)if(a.hasOwnProperty(d)&&(h=a[d],h!=null))switch(d){case"value":l=h;break;case"defaultValue":i=h;break;case"children":r=h;break;case"dangerouslySetInnerHTML":if(h!=null)throw Error(u(91));break;default:Re(e,t,d,h,a,null)}oo(e,l,i,r);return;case"option":for(v in a)a.hasOwnProperty(v)&&(l=a[v],l!=null)&&(v==="selected"?e.selected=l&&typeof l!="function"&&typeof l!="symbol":Re(e,t,v,l,a,null));return;case"dialog":ve("beforetoggle",e),ve("toggle",e),ve("cancel",e),ve("close",e);break;case"iframe":case"object":ve("load",e);break;case"video":case"audio":for(l=0;l<os.length;l++)ve(os[l],e);break;case"image":ve("error",e),ve("load",e);break;case"details":ve("toggle",e);break;case"embed":case"source":case"link":ve("error",e),ve("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(B in a)if(a.hasOwnProperty(B)&&(l=a[B],l!=null))switch(B){case"children":case"dangerouslySetInnerHTML":throw Error(u(137,t));default:Re(e,t,B,l,a,null)}return;default:if(jr(t)){for(Q in a)a.hasOwnProperty(Q)&&(l=a[Q],l!==void 0&&ru(e,t,Q,l,a,void 0));return}}for(h in a)a.hasOwnProperty(h)&&(l=a[h],l!=null&&Re(e,t,h,l,a,null))}function op(e,t,a,l){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var i=null,r=null,d=null,h=null,v=null,B=null,Q=null;for(H in a){var Z=a[H];if(a.hasOwnProperty(H)&&Z!=null)switch(H){case"checked":break;case"value":break;case"defaultValue":v=Z;default:l.hasOwnProperty(H)||Re(e,t,H,null,l,Z)}}for(var q in l){var H=l[q];if(Z=a[q],l.hasOwnProperty(q)&&(H!=null||Z!=null))switch(q){case"type":r=H;break;case"name":i=H;break;case"checked":B=H;break;case"defaultChecked":Q=H;break;case"value":d=H;break;case"defaultValue":h=H;break;case"children":case"dangerouslySetInnerHTML":if(H!=null)throw Error(u(137,t));break;default:H!==Z&&Re(e,t,q,H,l,Z)}}vr(e,d,h,v,B,Q,r,i);return;case"select":H=d=h=q=null;for(r in a)if(v=a[r],a.hasOwnProperty(r)&&v!=null)switch(r){case"value":break;case"multiple":H=v;default:l.hasOwnProperty(r)||Re(e,t,r,null,l,v)}for(i in l)if(r=l[i],v=a[i],l.hasOwnProperty(i)&&(r!=null||v!=null))switch(i){case"value":q=r;break;case"defaultValue":h=r;break;case"multiple":d=r;default:r!==v&&Re(e,t,i,r,l,v)}t=h,a=d,l=H,q!=null?On(e,!!a,q,!1):!!l!=!!a&&(t!=null?On(e,!!a,t,!0):On(e,!!a,a?[]:"",!1));return;case"textarea":H=q=null;for(h in a)if(i=a[h],a.hasOwnProperty(h)&&i!=null&&!l.hasOwnProperty(h))switch(h){case"value":break;case"children":break;default:Re(e,t,h,null,l,i)}for(d in l)if(i=l[d],r=a[d],l.hasOwnProperty(d)&&(i!=null||r!=null))switch(d){case"value":q=i;break;case"defaultValue":H=i;break;case"children":break;case"dangerouslySetInnerHTML":if(i!=null)throw Error(u(91));break;default:i!==r&&Re(e,t,d,i,l,r)}uo(e,q,H);return;case"option":for(var le in a)q=a[le],a.hasOwnProperty(le)&&q!=null&&!l.hasOwnProperty(le)&&(le==="selected"?e.selected=!1:Re(e,t,le,null,l,q));for(v in l)q=l[v],H=a[v],l.hasOwnProperty(v)&&q!==H&&(q!=null||H!=null)&&(v==="selected"?e.selected=q&&typeof q!="function"&&typeof q!="symbol":Re(e,t,v,q,l,H));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var oe in a)q=a[oe],a.hasOwnProperty(oe)&&q!=null&&!l.hasOwnProperty(oe)&&Re(e,t,oe,null,l,q);for(B in l)if(q=l[B],H=a[B],l.hasOwnProperty(B)&&q!==H&&(q!=null||H!=null))switch(B){case"children":case"dangerouslySetInnerHTML":if(q!=null)throw Error(u(137,t));break;default:Re(e,t,B,q,l,H)}return;default:if(jr(t)){for(var Ue in a)q=a[Ue],a.hasOwnProperty(Ue)&&q!==void 0&&!l.hasOwnProperty(Ue)&&ru(e,t,Ue,void 0,l,q);for(Q in l)q=l[Q],H=a[Q],!l.hasOwnProperty(Q)||q===H||q===void 0&&H===void 0||ru(e,t,Q,q,l,H);return}}for(var E in a)q=a[E],a.hasOwnProperty(E)&&q!=null&&!l.hasOwnProperty(E)&&Re(e,t,E,null,l,q);for(Z in l)q=l[Z],H=a[Z],!l.hasOwnProperty(Z)||q===H||q==null&&H==null||Re(e,t,Z,q,l,H)}function xm(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function dp(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,a=performance.getEntriesByType("resource"),l=0;l<a.length;l++){var i=a[l],r=i.transferSize,d=i.initiatorType,h=i.duration;if(r&&h&&xm(d)){for(d=0,h=i.responseEnd,l+=1;l<a.length;l++){var v=a[l],B=v.startTime;if(B>h)break;var Q=v.transferSize,Z=v.initiatorType;Q&&xm(Z)&&(v=v.responseEnd,d+=Q*(v<h?1:(h-B)/(v-B)))}if(--l,t+=8*(r+d)/(i.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 cu=null,uu=null;function Ai(e){return e.nodeType===9?e:e.ownerDocument}function gm(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 pm(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 ou(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 du=null;function fp(){var e=window.event;return e&&e.type==="popstate"?e===du?!1:(du=e,!0):(du=null,!1)}var ym=typeof setTimeout=="function"?setTimeout:void 0,mp=typeof clearTimeout=="function"?clearTimeout:void 0,vm=typeof Promise=="function"?Promise:void 0,hp=typeof queueMicrotask=="function"?queueMicrotask:typeof vm<"u"?function(e){return vm.resolve(null).then(e).catch(xp)}:ym;function xp(e){setTimeout(function(){throw e})}function Ja(e){return e==="head"}function bm(e,t){var a=t,l=0;do{var i=a.nextSibling;if(e.removeChild(a),i&&i.nodeType===8)if(a=i.data,a==="/$"||a==="/&"){if(l===0){e.removeChild(i),fl(t);return}l--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")l++;else if(a==="html")fs(e.ownerDocument.documentElement);else if(a==="head"){a=e.ownerDocument.head,fs(a);for(var r=a.firstChild;r;){var d=r.nextSibling,h=r.nodeName;r[Dl]||h==="SCRIPT"||h==="STYLE"||h==="LINK"&&r.rel.toLowerCase()==="stylesheet"||a.removeChild(r),r=d}}else a==="body"&&fs(e.ownerDocument.body);a=i}while(a);fl(t)}function jm(e,t){var a=e;e=0;do{var l=a.nextSibling;if(a.nodeType===1?t?(a._stashedDisplay=a.style.display,a.style.display="none"):(a.style.display=a._stashedDisplay||"",a.getAttribute("style")===""&&a.removeAttribute("style")):a.nodeType===3&&(t?(a._stashedText=a.nodeValue,a.nodeValue=""):a.nodeValue=a._stashedText||""),l&&l.nodeType===8)if(a=l.data,a==="/$"){if(e===0)break;e--}else a!=="$"&&a!=="$?"&&a!=="$~"&&a!=="$!"||e++;a=l}while(a)}function fu(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":fu(a),pr(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function gp(e,t,a,l){for(;e.nodeType===1;){var i=a;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!l&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(l){if(!e[Dl])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(r=e.getAttribute("rel"),r==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(r!==i.rel||e.getAttribute("href")!==(i.href==null||i.href===""?null:i.href)||e.getAttribute("crossorigin")!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute("title")!==(i.title==null?null:i.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(r=e.getAttribute("src"),(r!==(i.src==null?null:i.src)||e.getAttribute("type")!==(i.type==null?null:i.type)||e.getAttribute("crossorigin")!==(i.crossOrigin==null?null:i.crossOrigin))&&r&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var r=i.name==null?null:""+i.name;if(i.type==="hidden"&&e.getAttribute("name")===r)return e}else return e;if(e=Yt(e.nextSibling),e===null)break}return null}function pp(e,t,a){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=Yt(e.nextSibling),e===null))return null;return e}function Nm(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Yt(e.nextSibling),e===null))return null;return e}function mu(e){return e.data==="$?"||e.data==="$~"}function hu(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function yp(e,t){var a=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||a.readyState!=="loading")t();else{var l=function(){t(),a.removeEventListener("DOMContentLoaded",l)};a.addEventListener("DOMContentLoaded",l),e._reactRetry=l}}function Yt(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 xu=null;function Sm(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"||a==="/&"){if(t===0)return Yt(e.nextSibling);t--}else a!=="$"&&a!=="$!"&&a!=="$?"&&a!=="$~"&&a!=="&"||t++}e=e.nextSibling}return null}function Cm(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 wm(e,t,a){switch(t=Ai(a),e){case"html":if(e=t.documentElement,!e)throw Error(u(452));return e;case"head":if(e=t.head,!e)throw Error(u(453));return e;case"body":if(e=t.body,!e)throw Error(u(454));return e;default:throw Error(u(451))}}function fs(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);pr(e)}var Vt=new Map,zm=new Set;function Di(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Aa=R.d;R.d={f:vp,r:bp,D:jp,C:Np,L:Sp,m:Cp,X:zp,S:wp,M:Tp};function vp(){var e=Aa.f(),t=ji();return e||t}function bp(e){var t=_n(e);t!==null&&t.tag===5&&t.type==="form"?Qd(t):Aa.r(e)}var ul=typeof document>"u"?null:document;function Tm(e,t,a){var l=ul;if(l&&typeof t=="string"&&t){var i=Ut(t);i='link[rel="'+e+'"][href="'+i+'"]',typeof a=="string"&&(i+='[crossorigin="'+a+'"]'),zm.has(i)||(zm.add(i),e={rel:e,crossOrigin:a,href:t},l.querySelector(i)===null&&(t=l.createElement("link"),ot(t,"link",e),tt(t),l.head.appendChild(t)))}}function jp(e){Aa.D(e),Tm("dns-prefetch",e,null)}function Np(e,t){Aa.C(e,t),Tm("preconnect",e,t)}function Sp(e,t,a){Aa.L(e,t,a);var l=ul;if(l&&e&&t){var i='link[rel="preload"][as="'+Ut(t)+'"]';t==="image"&&a&&a.imageSrcSet?(i+='[imagesrcset="'+Ut(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(i+='[imagesizes="'+Ut(a.imageSizes)+'"]')):i+='[href="'+Ut(e)+'"]';var r=i;switch(t){case"style":r=ol(e);break;case"script":r=dl(e)}Vt.has(r)||(e=w({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),Vt.set(r,e),l.querySelector(i)!==null||t==="style"&&l.querySelector(ms(r))||t==="script"&&l.querySelector(hs(r))||(t=l.createElement("link"),ot(t,"link",e),tt(t),l.head.appendChild(t)))}}function Cp(e,t){Aa.m(e,t);var a=ul;if(a&&e){var l=t&&typeof t.as=="string"?t.as:"script",i='link[rel="modulepreload"][as="'+Ut(l)+'"][href="'+Ut(e)+'"]',r=i;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":r=dl(e)}if(!Vt.has(r)&&(e=w({rel:"modulepreload",href:e},t),Vt.set(r,e),a.querySelector(i)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(hs(r)))return}l=a.createElement("link"),ot(l,"link",e),tt(l),a.head.appendChild(l)}}}function wp(e,t,a){Aa.S(e,t,a);var l=ul;if(l&&e){var i=kn(l).hoistableStyles,r=ol(e);t=t||"default";var d=i.get(r);if(!d){var h={loading:0,preload:null};if(d=l.querySelector(ms(r)))h.loading=5;else{e=w({rel:"stylesheet",href:e,"data-precedence":t},a),(a=Vt.get(r))&&gu(e,a);var v=d=l.createElement("link");tt(v),ot(v,"link",e),v._p=new Promise(function(B,Q){v.onload=B,v.onerror=Q}),v.addEventListener("load",function(){h.loading|=1}),v.addEventListener("error",function(){h.loading|=2}),h.loading|=4,_i(d,t,l)}d={type:"stylesheet",instance:d,count:1,state:h},i.set(r,d)}}}function zp(e,t){Aa.X(e,t);var a=ul;if(a&&e){var l=kn(a).hoistableScripts,i=dl(e),r=l.get(i);r||(r=a.querySelector(hs(i)),r||(e=w({src:e,async:!0},t),(t=Vt.get(i))&&pu(e,t),r=a.createElement("script"),tt(r),ot(r,"link",e),a.head.appendChild(r)),r={type:"script",instance:r,count:1,state:null},l.set(i,r))}}function Tp(e,t){Aa.M(e,t);var a=ul;if(a&&e){var l=kn(a).hoistableScripts,i=dl(e),r=l.get(i);r||(r=a.querySelector(hs(i)),r||(e=w({src:e,async:!0,type:"module"},t),(t=Vt.get(i))&&pu(e,t),r=a.createElement("script"),tt(r),ot(r,"link",e),a.head.appendChild(r)),r={type:"script",instance:r,count:1,state:null},l.set(i,r))}}function Em(e,t,a,l){var i=(i=Ve.current)?Di(i):null;if(!i)throw Error(u(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=ol(a.href),a=kn(i).hoistableStyles,l=a.get(t),l||(l={type:"style",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=ol(a.href);var r=kn(i).hoistableStyles,d=r.get(e);if(d||(i=i.ownerDocument||i,d={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},r.set(e,d),(r=i.querySelector(ms(e)))&&!r._p&&(d.instance=r,d.state.loading=5),Vt.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},Vt.set(e,a),r||Ep(i,e,a,d.state))),t&&l===null)throw Error(u(528,""));return d}if(t&&l!==null)throw Error(u(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=dl(a),a=kn(i).hoistableScripts,l=a.get(t),l||(l={type:"script",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(u(444,e))}}function ol(e){return'href="'+Ut(e)+'"'}function ms(e){return'link[rel="stylesheet"]['+e+"]"}function Am(e){return w({},e,{"data-precedence":e.precedence,precedence:null})}function Ep(e,t,a,l){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?l.loading=1:(t=e.createElement("link"),l.preload=t,t.addEventListener("load",function(){return l.loading|=1}),t.addEventListener("error",function(){return l.loading|=2}),ot(t,"link",a),tt(t),e.head.appendChild(t))}function dl(e){return'[src="'+Ut(e)+'"]'}function hs(e){return"script[async]"+e}function Dm(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var l=e.querySelector('style[data-href~="'+Ut(a.href)+'"]');if(l)return t.instance=l,tt(l),l;var i=w({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return l=(e.ownerDocument||e).createElement("style"),tt(l),ot(l,"style",i),_i(l,a.precedence,e),t.instance=l;case"stylesheet":i=ol(a.href);var r=e.querySelector(ms(i));if(r)return t.state.loading|=4,t.instance=r,tt(r),r;l=Am(a),(i=Vt.get(i))&&gu(l,i),r=(e.ownerDocument||e).createElement("link"),tt(r);var d=r;return d._p=new Promise(function(h,v){d.onload=h,d.onerror=v}),ot(r,"link",l),t.state.loading|=4,_i(r,a.precedence,e),t.instance=r;case"script":return r=dl(a.src),(i=e.querySelector(hs(r)))?(t.instance=i,tt(i),i):(l=a,(i=Vt.get(r))&&(l=w({},a),pu(l,i)),e=e.ownerDocument||e,i=e.createElement("script"),tt(i),ot(i,"link",l),e.head.appendChild(i),t.instance=i);case"void":return null;default:throw Error(u(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(l=t.instance,t.state.loading|=4,_i(l,a.precedence,e));return t.instance}function _i(e,t,a){for(var l=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),i=l.length?l[l.length-1]:null,r=i,d=0;d<l.length;d++){var h=l[d];if(h.dataset.precedence===t)r=h;else if(r!==i)break}r?r.parentNode.insertBefore(e,r.nextSibling):(t=a.nodeType===9?a.head:a,t.insertBefore(e,t.firstChild))}function gu(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function pu(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var ki=null;function _m(e,t,a){if(ki===null){var l=new Map,i=ki=new Map;i.set(a,l)}else i=ki,l=i.get(a),l||(l=new Map,i.set(a,l));if(l.has(e))return l;for(l.set(e,null),a=a.getElementsByTagName(e),i=0;i<a.length;i++){var r=a[i];if(!(r[Dl]||r[it]||e==="link"&&r.getAttribute("rel")==="stylesheet")&&r.namespaceURI!=="http://www.w3.org/2000/svg"){var d=r.getAttribute(t)||"";d=e+d;var h=l.get(d);h?h.push(r):l.set(d,[r])}}return l}function km(e,t,a){e=e.ownerDocument||e,e.head.insertBefore(a,t==="title"?e.querySelector("head > title"):null)}function Ap(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 Mm(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Dp(e,t,a,l){if(a.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var i=ol(l.href),r=t.querySelector(ms(i));if(r){t=r._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Mi.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=r,tt(r);return}r=t.ownerDocument||t,l=Am(l),(i=Vt.get(i))&&gu(l,i),r=r.createElement("link"),tt(r);var d=r;d._p=new Promise(function(h,v){d.onload=h,d.onerror=v}),ot(r,"link",l),a.instance=r}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=Mi.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var yu=0;function _p(e,t){return e.stylesheets&&e.count===0&&Ri(e,e.stylesheets),0<e.count||0<e.imgCount?function(a){var l=setTimeout(function(){if(e.stylesheets&&Ri(e,e.stylesheets),e.unsuspend){var r=e.unsuspend;e.unsuspend=null,r()}},6e4+t);0<e.imgBytes&&yu===0&&(yu=62500*dp());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Ri(e,e.stylesheets),e.unsuspend)){var r=e.unsuspend;e.unsuspend=null,r()}},(e.imgBytes>yu?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(l),clearTimeout(i)}}:null}function Mi(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Ri(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Oi=null;function Ri(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Oi=new Map,t.forEach(kp,e),Oi=null,Mi.call(e))}function kp(e,t){if(!(t.state.loading&4)){var a=Oi.get(e);if(a)var l=a.get(null);else{a=new Map,Oi.set(e,a);for(var i=e.querySelectorAll("link[data-precedence],style[data-precedence]"),r=0;r<i.length;r++){var d=i[r];(d.nodeName==="LINK"||d.getAttribute("media")!=="not all")&&(a.set(d.dataset.precedence,d),l=d)}l&&a.set(null,l)}i=t.instance,d=i.getAttribute("data-precedence"),r=a.get(d)||l,r===l&&a.set(null,i),a.set(d,i),this.count++,l=Mi.bind(this),i.addEventListener("load",l),i.addEventListener("error",l),r?r.parentNode.insertBefore(i,r.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var xs={$$typeof:A,Provider:null,Consumer:null,_currentValue:P,_currentValue2:P,_threadCount:0};function Mp(e,t,a,l,i,r,d,h,v){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=mr(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=mr(0),this.hiddenUpdates=mr(null),this.identifierPrefix=l,this.onUncaughtError=i,this.onCaughtError=r,this.onRecoverableError=d,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=v,this.incompleteTransitions=new Map}function Om(e,t,a,l,i,r,d,h,v,B,Q,Z){return e=new Mp(e,t,a,d,v,B,Q,Z,h),t=1,r===!0&&(t|=24),r=Tt(3,null,null,t),e.current=r,r.stateNode=e,t=Wr(),t.refCount++,e.pooledCache=t,t.refCount++,r.memoizedState={element:l,isDehydrated:a,cache:t},tc(r),e}function Rm(e){return e?(e=Qn,e):Qn}function Um(e,t,a,l,i,r){i=Rm(i),l.context===null?l.context=i:l.pendingContext=i,l=La(t),l.payload={element:a},r=r===void 0?null:r,r!==null&&(l.callback=r),a=Ha(e,l,t),a!==null&&(vt(a,e,t),Fl(a,e,t))}function Bm(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function vu(e,t){Bm(e,t),(e=e.alternate)&&Bm(e,t)}function qm(e){if(e.tag===13||e.tag===31){var t=dn(e,67108864);t!==null&&vt(t,e,67108864),vu(e,67108864)}}function Lm(e){if(e.tag===13||e.tag===31){var t=kt();t=hr(t);var a=dn(e,t);a!==null&&vt(a,e,t),vu(e,t)}}var Ui=!0;function Op(e,t,a,l){var i=j.T;j.T=null;var r=R.p;try{R.p=2,bu(e,t,a,l)}finally{R.p=r,j.T=i}}function Rp(e,t,a,l){var i=j.T;j.T=null;var r=R.p;try{R.p=8,bu(e,t,a,l)}finally{R.p=r,j.T=i}}function bu(e,t,a,l){if(Ui){var i=ju(l);if(i===null)iu(e,t,l,Bi,a),Gm(e,l);else if(Bp(i,e,t,a,l))l.stopPropagation();else if(Gm(e,l),t&4&&-1<Up.indexOf(e)){for(;i!==null;){var r=_n(i);if(r!==null)switch(r.tag){case 3:if(r=r.stateNode,r.current.memoizedState.isDehydrated){var d=sn(r.pendingLanes);if(d!==0){var h=r;for(h.pendingLanes|=2,h.entangledLanes|=2;d;){var v=1<<31-wt(d);h.entanglements[1]|=v,d&=~v}sa(r),(ze&6)===0&&(vi=St()+500,us(0))}}break;case 31:case 13:h=dn(r,2),h!==null&&vt(h,r,2),ji(),vu(r,2)}if(r=ju(l),r===null&&iu(e,t,l,Bi,a),r===i)break;i=r}i!==null&&l.stopPropagation()}else iu(e,t,l,null,a)}}function ju(e){return e=Sr(e),Nu(e)}var Bi=null;function Nu(e){if(Bi=null,e=Dn(e),e!==null){var t=g(e);if(t===null)e=null;else{var a=t.tag;if(a===13){if(e=x(t),e!==null)return e;e=null}else if(a===31){if(e=y(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 Bi=e,null}function Hm(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(jx()){case Ku:return 2;case Fu:return 8;case zs:case Nx:return 32;case Zu:return 268435456;default:return 32}default:return 32}}var Su=!1,Wa=null,Ia=null,Pa=null,gs=new Map,ps=new Map,en=[],Up="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 Gm(e,t){switch(e){case"focusin":case"focusout":Wa=null;break;case"dragenter":case"dragleave":Ia=null;break;case"mouseover":case"mouseout":Pa=null;break;case"pointerover":case"pointerout":gs.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ps.delete(t.pointerId)}}function ys(e,t,a,l,i,r){return e===null||e.nativeEvent!==r?(e={blockedOn:t,domEventName:a,eventSystemFlags:l,nativeEvent:r,targetContainers:[i]},t!==null&&(t=_n(t),t!==null&&qm(t)),e):(e.eventSystemFlags|=l,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Bp(e,t,a,l,i){switch(t){case"focusin":return Wa=ys(Wa,e,t,a,l,i),!0;case"dragenter":return Ia=ys(Ia,e,t,a,l,i),!0;case"mouseover":return Pa=ys(Pa,e,t,a,l,i),!0;case"pointerover":var r=i.pointerId;return gs.set(r,ys(gs.get(r)||null,e,t,a,l,i)),!0;case"gotpointercapture":return r=i.pointerId,ps.set(r,ys(ps.get(r)||null,e,t,a,l,i)),!0}return!1}function Qm(e){var t=Dn(e.target);if(t!==null){var a=g(t);if(a!==null){if(t=a.tag,t===13){if(t=x(a),t!==null){e.blockedOn=t,eo(e.priority,function(){Lm(a)});return}}else if(t===31){if(t=y(a),t!==null){e.blockedOn=t,eo(e.priority,function(){Lm(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 qi(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=ju(e.nativeEvent);if(a===null){a=e.nativeEvent;var l=new a.constructor(a.type,a);Nr=l,a.target.dispatchEvent(l),Nr=null}else return t=_n(a),t!==null&&qm(t),e.blockedOn=a,!1;t.shift()}return!0}function Ym(e,t,a){qi(e)&&a.delete(t)}function qp(){Su=!1,Wa!==null&&qi(Wa)&&(Wa=null),Ia!==null&&qi(Ia)&&(Ia=null),Pa!==null&&qi(Pa)&&(Pa=null),gs.forEach(Ym),ps.forEach(Ym)}function Li(e,t){e.blockedOn===t&&(e.blockedOn=null,Su||(Su=!0,s.unstable_scheduleCallback(s.unstable_NormalPriority,qp)))}var Hi=null;function Vm(e){Hi!==e&&(Hi=e,s.unstable_scheduleCallback(s.unstable_NormalPriority,function(){Hi===e&&(Hi=null);for(var t=0;t<e.length;t+=3){var a=e[t],l=e[t+1],i=e[t+2];if(typeof l!="function"){if(Nu(l||a)===null)continue;break}var r=_n(a);r!==null&&(e.splice(t,3),t-=3,jc(r,{pending:!0,data:i,method:a.method,action:l},l,i))}}))}function fl(e){function t(v){return Li(v,e)}Wa!==null&&Li(Wa,e),Ia!==null&&Li(Ia,e),Pa!==null&&Li(Pa,e),gs.forEach(t),ps.forEach(t);for(var a=0;a<en.length;a++){var l=en[a];l.blockedOn===e&&(l.blockedOn=null)}for(;0<en.length&&(a=en[0],a.blockedOn===null);)Qm(a),a.blockedOn===null&&en.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(l=0;l<a.length;l+=3){var i=a[l],r=a[l+1],d=i[mt]||null;if(typeof r=="function")d||Vm(a);else if(d){var h=null;if(r&&r.hasAttribute("formAction")){if(i=r,d=r[mt]||null)h=d.formAction;else if(Nu(i)!==null)continue}else h=d.action;typeof h=="function"?a[l+1]=h:(a.splice(l,3),l-=3),Vm(a)}}}function Xm(){function e(r){r.canIntercept&&r.info==="react-transition"&&r.intercept({handler:function(){return new Promise(function(d){return i=d})},focusReset:"manual",scroll:"manual"})}function t(){i!==null&&(i(),i=null),l||setTimeout(a,20)}function a(){if(!l&&!navigation.transition){var r=navigation.currentEntry;r&&r.url!=null&&navigation.navigate(r.url,{state:r.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var l=!1,i=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(a,100),function(){l=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),i!==null&&(i(),i=null)}}}function Cu(e){this._internalRoot=e}Gi.prototype.render=Cu.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(u(409));var a=t.current,l=kt();Um(a,l,e,t,null,null)},Gi.prototype.unmount=Cu.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Um(e.current,2,null,e,null,null),ji(),t[An]=null}};function Gi(e){this._internalRoot=e}Gi.prototype.unstable_scheduleHydration=function(e){if(e){var t=Pu();e={blockedOn:null,target:e,priority:t};for(var a=0;a<en.length&&t!==0&&t<en[a].priority;a++);en.splice(a,0,e),a===0&&Qm(e)}};var Km=c.version;if(Km!=="19.2.3")throw Error(u(527,Km,"19.2.3"));R.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(u(188)):(e=Object.keys(e).join(","),Error(u(268,e)));return e=b(t),e=e!==null?z(e):null,e=e===null?null:e.stateNode,e};var Lp={bundleType:0,version:"19.2.3",rendererPackageName:"react-dom",currentDispatcherRef:j,reconcilerVersion:"19.2.3"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Qi=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Qi.isDisabled&&Qi.supportsFiber)try{Tl=Qi.inject(Lp),Ct=Qi}catch{}}return vs.createRoot=function(e,t){if(!m(e))throw Error(u(299));var a=!1,l="",i=Id,r=Pd,d=ef;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(l=t.identifierPrefix),t.onUncaughtError!==void 0&&(i=t.onUncaughtError),t.onCaughtError!==void 0&&(r=t.onCaughtError),t.onRecoverableError!==void 0&&(d=t.onRecoverableError)),t=Om(e,1,!1,null,null,a,l,null,i,r,d,Xm),e[An]=t.current,su(e),new Cu(t)},vs.hydrateRoot=function(e,t,a){if(!m(e))throw Error(u(299));var l=!1,i="",r=Id,d=Pd,h=ef,v=null;return a!=null&&(a.unstable_strictMode===!0&&(l=!0),a.identifierPrefix!==void 0&&(i=a.identifierPrefix),a.onUncaughtError!==void 0&&(r=a.onUncaughtError),a.onCaughtError!==void 0&&(d=a.onCaughtError),a.onRecoverableError!==void 0&&(h=a.onRecoverableError),a.formState!==void 0&&(v=a.formState)),t=Om(e,1,!0,t,a??null,l,i,v,r,d,h,Xm),t.context=Rm(null),a=t.current,l=kt(),l=hr(l),i=La(l),i.callback=null,Ha(a,i,l),a=l,t.current.lanes=a,Al(t,a),sa(t),e[An]=t.current,su(e),new Gi(t)},vs.version="19.2.3",vs}var th;function x0(){if(th)return wu.exports;th=1;function s(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(s)}catch(c){console.error(c)}}return s(),wu.exports=h0(),wu.exports}var g0=x0();const p0="/api";async function he(s,c){const o=await fetch(`${p0}${s}`,{...c,headers:{"Content-Type":"application/json",...c?.headers}});if(!o.ok){const u=await o.json().catch(()=>({detail:"Unknown error"}));throw new Error(u.detail||`HTTP ${o.status}`)}if(o.status!==204)return o.json()}async function y0(){return he("/projects")}async function v0(s,c,o="manual"){return he("/projects",{method:"POST",body:JSON.stringify({name:s,path:c,spec_method:o})})}async function b0(s){await he(`/projects/${encodeURIComponent(s)}`,{method:"DELETE"})}async function j0(s,c){return he(`/projects/${encodeURIComponent(s)}/settings`,{method:"PATCH",body:JSON.stringify(c)})}async function N0(s,c=!1){const o=c?"?full_reset=true":"";return he(`/projects/${encodeURIComponent(s)}/reset${o}`,{method:"POST"})}async function S0(s){return he(`/projects/${encodeURIComponent(s)}/features`)}async function C0(s,c){return he(`/projects/${encodeURIComponent(s)}/features`,{method:"POST",body:JSON.stringify(c)})}async function w0(s,c){await he(`/projects/${encodeURIComponent(s)}/features/${c}`,{method:"DELETE"})}async function z0(s,c){await he(`/projects/${encodeURIComponent(s)}/features/${c}/skip`,{method:"PATCH"})}async function T0(s,c,o){return he(`/projects/${encodeURIComponent(s)}/features/${c}`,{method:"PATCH",body:JSON.stringify(o)})}async function E0(s,c,o){return he(`/projects/${encodeURIComponent(s)}/features/${c}/resolve-human-input`,{method:"POST",body:JSON.stringify(o)})}async function A0(s){return he(`/projects/${encodeURIComponent(s)}/features/graph`)}async function D0(s){return he(`/projects/${encodeURIComponent(s)}/agent/status`)}async function Bu(s,c={}){return he(`/projects/${encodeURIComponent(s)}/agent/start`,{method:"POST",body:JSON.stringify({yolo_mode:c.yoloMode??!1,parallel_mode:c.parallelMode??!1,max_concurrency:c.maxConcurrency,testing_agent_ratio:c.testingAgentRatio})})}async function _0(s){return he(`/projects/${encodeURIComponent(s)}/agent/stop`,{method:"POST"})}async function k0(s){return he(`/projects/${encodeURIComponent(s)}/agent/graceful-pause`,{method:"POST"})}async function M0(s){return he(`/projects/${encodeURIComponent(s)}/agent/graceful-resume`,{method:"POST"})}async function O0(s){return he(`/spec/status/${encodeURIComponent(s)}`)}async function R0(){return he("/setup/status")}async function U0(){return he("/health")}async function B0(s){const c=s?`?path=${encodeURIComponent(s)}`:"";return he(`/filesystem/list${c}`)}async function q0(s){const c=s.endsWith("/")?s.slice(0,-1):s,o=c.lastIndexOf("/");let u,m;if(o===2&&/^[A-Za-z]:/.test(c))u=c.substring(0,3),m=c.substring(3);else if(o>0)u=c.substring(0,o),m=c.substring(o+1);else if(o===0)u="/",m=c.substring(1);else throw new Error("Invalid path: must be an absolute path");if(!m)throw new Error("Invalid path: directory name is empty");return he("/filesystem/create-directory",{method:"POST",body:JSON.stringify({parent_path:u,name:m})})}async function L0(s){return he(`/assistant/conversations/${encodeURIComponent(s)}`)}async function H0(s,c){return he(`/assistant/conversations/${encodeURIComponent(s)}/${c}`)}async function G0(s,c){await he(`/assistant/conversations/${encodeURIComponent(s)}/${c}`,{method:"DELETE"})}async function Q0(){return he("/settings/models")}async function Y0(){return he("/settings/providers")}async function V0(){return he("/settings")}async function X0(s){return he("/settings",{method:"PATCH",body:JSON.stringify(s)})}async function Fh(s,c){return he(`/projects/${encodeURIComponent(s)}/devserver/start`,{method:"POST",body:JSON.stringify({command:c})})}async function K0(s){return he(`/projects/${encodeURIComponent(s)}/devserver/stop`,{method:"POST"})}async function F0(s){return he(`/projects/${encodeURIComponent(s)}/devserver/config`)}async function Z0(s,c){return he(`/projects/${encodeURIComponent(s)}/devserver/config`,{method:"PATCH",body:JSON.stringify({custom_command:c})})}async function $0(s){return he(`/terminal/${encodeURIComponent(s)}`)}async function J0(s,c){return he(`/terminal/${encodeURIComponent(s)}`,{method:"POST",body:JSON.stringify({name:null})})}async function W0(s,c,o){return he(`/terminal/${encodeURIComponent(s)}/${c}`,{method:"PATCH",body:JSON.stringify({name:o})})}async function I0(s,c){await he(`/terminal/${encodeURIComponent(s)}/${c}`,{method:"DELETE"})}async function P0(s){return he(`/projects/${encodeURIComponent(s)}/schedules`)}async function ev(s,c){return he(`/projects/${encodeURIComponent(s)}/schedules`,{method:"POST",body:JSON.stringify(c)})}async function tv(s,c,o){return he(`/projects/${encodeURIComponent(s)}/schedules/${c}`,{method:"PATCH",body:JSON.stringify(o)})}async function av(s,c){await he(`/projects/${encodeURIComponent(s)}/schedules/${c}`,{method:"DELETE"})}async function nv(s){return he(`/projects/${encodeURIComponent(s)}/schedules/next`)}function lv(){return ft({queryKey:["projects"],queryFn:y0})}function sv(){const s=Ge();return Fe({mutationFn:({name:c,path:o,specMethod:u})=>v0(c,o,u),onSuccess:()=>{s.invalidateQueries({queryKey:["projects"]})}})}function iv(){const s=Ge();return Fe({mutationFn:c=>b0(c),onSuccess:()=>{s.invalidateQueries({queryKey:["projects"]})}})}function rv(s){const c=Ge();return Fe({mutationFn:o=>N0(s,o),onSuccess:()=>{c.invalidateQueries({queryKey:["projects"]}),c.invalidateQueries({queryKey:["project",s]}),c.invalidateQueries({queryKey:["features",s]}),c.invalidateQueries({queryKey:["agent-status",s]})}})}function cv(s){const c=Ge();return Fe({mutationFn:o=>j0(s,o),onSuccess:()=>{c.invalidateQueries({queryKey:["projects"]}),c.invalidateQueries({queryKey:["project",s]})}})}function Zh(s){return ft({queryKey:["features",s],queryFn:()=>S0(s),enabled:!!s,refetchInterval:5e3})}function uv(s){const c=Ge();return Fe({mutationFn:o=>C0(s,o),onSuccess:()=>{c.invalidateQueries({queryKey:["features",s]})}})}function ov(s){const c=Ge();return Fe({mutationFn:o=>w0(s,o),onSuccess:()=>{c.invalidateQueries({queryKey:["features",s]})}})}function dv(s){const c=Ge();return Fe({mutationFn:o=>z0(s,o),onSuccess:()=>{c.invalidateQueries({queryKey:["features",s]})}})}function fv(s){const c=Ge();return Fe({mutationFn:({featureId:o,update:u})=>T0(s,o,u),onSuccess:()=>{c.invalidateQueries({queryKey:["features",s]})}})}function mv(s){const c=Ge();return Fe({mutationFn:({featureId:o,fields:u})=>E0(s,o,{fields:u}),onSuccess:()=>{c.invalidateQueries({queryKey:["features",s]})}})}function hv(s){return ft({queryKey:["agent-status",s],queryFn:()=>D0(s),enabled:!!s,refetchInterval:3e3})}function xv(s){const c=Ge();return Fe({mutationFn:(o={})=>Bu(s,o),onSuccess:()=>{c.invalidateQueries({queryKey:["agent-status",s]})}})}function gv(s){const c=Ge();return Fe({mutationFn:()=>_0(s),onSuccess:()=>{c.invalidateQueries({queryKey:["agent-status",s]}),c.invalidateQueries({queryKey:["nextRun",s]})}})}function pv(s){const c=Ge();return Fe({mutationFn:()=>k0(s),onSuccess:()=>{c.invalidateQueries({queryKey:["agent-status",s]})}})}function yv(s){const c=Ge();return Fe({mutationFn:()=>M0(s),onSuccess:()=>{c.invalidateQueries({queryKey:["agent-status",s]})}})}function vv(){return ft({queryKey:["setup-status"],queryFn:R0,staleTime:6e4})}function bv(){return ft({queryKey:["health"],queryFn:U0,retry:!1})}const $h={models:[{id:"claude-opus-4-6",name:"Claude Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet"}],default:"claude-opus-4-6"},Jh={yolo_mode:!1,model:"claude-opus-4-6",glm_mode:!1,ollama_mode:!1,testing_agent_ratio:1,playwright_headless:!0,batch_size:3,testing_batch_size:3,api_provider:"claude",api_base_url:null,api_has_auth_token:!1,api_model:null},jv={providers:[{id:"claude",name:"Claude (Anthropic)",base_url:null,models:$h.models,default_model:"claude-opus-4-6",requires_auth:!1}],current:"claude"};function Nv(){return ft({queryKey:["available-providers"],queryFn:Y0,staleTime:3e5,retry:1,placeholderData:jv})}function Sv(){return ft({queryKey:["available-models"],queryFn:Q0,staleTime:3e5,retry:1,placeholderData:$h})}function qu(){return ft({queryKey:["settings"],queryFn:V0,staleTime:6e4,retry:1,placeholderData:Jh})}function Cv(){const s=Ge();return Fe({mutationFn:c=>X0(c),onMutate:async c=>{await s.cancelQueries({queryKey:["settings"]});const o=s.getQueryData(["settings"]);return s.setQueryData(["settings"],u=>({...Jh,...u,...c})),{previous:o}},onError:(c,o,u)=>{u?.previous&&s.setQueryData(["settings"],u.previous)},onSettled:()=>{s.invalidateQueries({queryKey:["settings"]}),s.invalidateQueries({queryKey:["available-models"]}),s.invalidateQueries({queryKey:["available-providers"]})}})}const wv={detected_type:null,detected_command:null,custom_command:null,effective_command:null};function zv(s){return ft({queryKey:["dev-server-config",s],queryFn:()=>F0(s),enabled:!!s,staleTime:3e4,placeholderData:wv})}function Tv(s){const c=Ge();return Fe({mutationFn:o=>Z0(s,o),onSuccess:()=>{c.invalidateQueries({queryKey:["dev-server-config",s]})}})}const ah=100,Ev=20,nh=500;function Av(s){const[c,o]=f.useState({progress:{passing:0,in_progress:0,needs_human_input:0,total:0,percentage:0},agentStatus:"loading",logs:[],isConnected:!1,devServerStatus:"stopped",devServerUrl:null,devLogs:[],activeAgents:[],recentActivity:[],agentLogs:new Map,celebrationQueue:[],celebration:null,orchestratorStatus:null,browserScreenshots:new Map,browserViewSubscribed:!1}),u=f.useRef(null),m=f.useRef(null),g=f.useRef(0),x=f.useCallback(()=>{if(!s)return;const _=window.location.protocol==="https:"?"wss:":"ws:",N=window.location.host,k=`${_}//${N}/ws/projects/${encodeURIComponent(s)}`;try{const O=new WebSocket(k);u.current=O,O.onopen=()=>{o(A=>({...A,isConnected:!0})),g.current=0},O.onmessage=A=>{try{const S=JSON.parse(A.data);switch(S.type){case"progress":o(L=>({...L,progress:{passing:S.passing,in_progress:S.in_progress,needs_human_input:S.needs_human_input??0,total:S.total,percentage:S.percentage}}));break;case"agent_status":o(L=>({...L,agentStatus:S.status,...(S.status==="stopped"||S.status==="crashed")&&{activeAgents:[],recentActivity:[],orchestratorStatus:null,browserScreenshots:new Map}}));break;case"log":o(L=>{const J=[...L.logs.slice(-ah+1),{line:S.line,timestamp:S.timestamp,featureId:S.featureId,agentIndex:S.agentIndex}];let F=L.agentLogs;if(S.agentIndex!==void 0){F=new Map(L.agentLogs);const te=F.get(S.agentIndex)||[],Y={line:S.line,timestamp:S.timestamp,type:"output"};F.set(S.agentIndex,[...te.slice(-nh+1),Y])}return{...L,logs:J,agentLogs:F}});break;case"feature_update":break;case"agent_update":o(L=>{const J=new Map(L.agentLogs),F=J.get(S.agentIndex)||[],te={line:`[STATE] ${S.state}${S.thought?`: ${S.thought}`:""}`,timestamp:S.timestamp,type:S.state==="error"?"error":"state_change"};J.set(S.agentIndex,[...F.slice(-nh+1),te]);const Y=J.get(S.agentIndex)||[],ne=L.activeAgents.findIndex(X=>X.agentIndex===S.agentIndex);let W;S.state==="success"||S.state==="error"?S.agentIndex===-1?W=L.activeAgents.filter(X=>X.featureId!==S.featureId):W=L.activeAgents.filter(X=>X.agentIndex!==S.agentIndex):ne>=0?(W=[...L.activeAgents],W[ne]={agentIndex:S.agentIndex,agentName:S.agentName,agentType:S.agentType||"coding",featureId:S.featureId,featureIds:S.featureIds||[S.featureId],featureName:S.featureName,state:S.state,thought:S.thought,timestamp:S.timestamp,logs:Y}):W=[...L.activeAgents,{agentIndex:S.agentIndex,agentName:S.agentName,agentType:S.agentType||"coding",featureId:S.featureId,featureIds:S.featureIds||[S.featureId],featureName:S.featureName,state:S.state,thought:S.thought,timestamp:S.timestamp,logs:Y}];let G=L.recentActivity;S.thought&&(G=[{agentName:S.agentName,thought:S.thought,timestamp:S.timestamp,featureId:S.featureId},...L.recentActivity.slice(0,Ev-1)]);let I=L.celebrationQueue,V=L.celebration;if(S.state==="success"){const X={agentName:S.agentName,featureName:S.featureName,featureId:S.featureId};L.celebration?I=[...L.celebrationQueue,X]:V=X}return{...L,activeAgents:W,agentLogs:J,recentActivity:G,celebrationQueue:I,celebration:V}});break;case"orchestrator_update":o(L=>{const J={eventType:S.eventType,message:S.message,timestamp:S.timestamp,featureId:S.featureId,featureName:S.featureName};return{...L,orchestratorStatus:{state:S.state,message:S.message,codingAgents:S.codingAgents??L.orchestratorStatus?.codingAgents??0,testingAgents:S.testingAgents??L.orchestratorStatus?.testingAgents??0,maxConcurrency:S.maxConcurrency??L.orchestratorStatus?.maxConcurrency??3,readyCount:S.readyCount??L.orchestratorStatus?.readyCount??0,blockedCount:S.blockedCount??L.orchestratorStatus?.blockedCount??0,timestamp:S.timestamp,recentEvents:[J,...(L.orchestratorStatus?.recentEvents??[]).slice(0,4)]}}});break;case"dev_log":o(L=>({...L,devLogs:[...L.devLogs.slice(-ah+1),{line:S.line,timestamp:S.timestamp}]}));break;case"dev_server_status":o(L=>({...L,devServerStatus:S.status,devServerUrl:S.url}));break;case"browser_screenshot":o(L=>{const J=new Map(L.browserScreenshots);return J.set(S.sessionName,{sessionName:S.sessionName,agentIndex:S.agentIndex,agentType:S.agentType,featureId:S.featureId,featureName:S.featureName,imageDataUrl:`data:image/png;base64,${S.imageData}`,timestamp:S.timestamp}),{...L,browserScreenshots:J}});break;case"pong":break}}catch{console.error("Failed to parse WebSocket message")}},O.onclose=A=>{if(o(J=>({...J,isConnected:!1})),u.current=null,A.code>=4e3&&A.code<=4999)return;const L=Math.min(1e3*Math.pow(2,g.current),3e4);g.current++,m.current=window.setTimeout(()=>{x()},L)},O.onerror=()=>{O.close()}}catch{}},[s]),y=f.useCallback(()=>{u.current?.readyState===WebSocket.OPEN&&u.current.send(JSON.stringify({type:"ping"}))},[]),p=f.useCallback(()=>{o(_=>{const[N,...k]=_.celebrationQueue;return{..._,celebration:N||null,celebrationQueue:k}})},[]);f.useEffect(()=>{if(o({progress:{passing:0,in_progress:0,needs_human_input:0,total:0,percentage:0},agentStatus:"loading",logs:[],isConnected:!1,devServerStatus:"stopped",devServerUrl:null,devLogs:[],activeAgents:[],recentActivity:[],agentLogs:new Map,celebrationQueue:[],celebration:null,orchestratorStatus:null,browserScreenshots:new Map,browserViewSubscribed:!1}),!s){u.current&&(u.current.close(),u.current=null);return}x();const _=setInterval(y,3e4);return()=>{clearInterval(_),m.current&&clearTimeout(m.current),u.current&&(u.current.close(),u.current=null)}},[s,x,y]),f.useEffect(()=>{const N=setInterval(()=>{o(k=>{const O=Date.now(),A=k.activeAgents.filter(S=>O-new Date(S.timestamp).getTime()<18e5);return A.length!==k.activeAgents.length?{...k,activeAgents:A}:k})},6e4);return()=>clearInterval(N)},[]);const b=f.useCallback(()=>{o(_=>({..._,logs:[]}))},[]),z=f.useCallback(()=>{o(_=>({..._,devLogs:[]}))},[]),w=f.useCallback(_=>c.agentLogs.get(_)||[],[c.agentLogs]),M=f.useCallback(_=>{o(N=>{const k=new Map(N.agentLogs);return k.delete(_),{...N,agentLogs:k}})},[]),T=f.useCallback(()=>{u.current?.readyState===WebSocket.OPEN&&(u.current.send(JSON.stringify({type:"browser_view_subscribe"})),o(_=>({..._,browserViewSubscribed:!0})))},[]),D=f.useCallback(()=>{u.current?.readyState===WebSocket.OPEN&&(u.current.send(JSON.stringify({type:"browser_view_unsubscribe"})),o(_=>({..._,browserViewSubscribed:!1})))},[]);return{...c,clearLogs:b,clearDevLogs:z,clearCelebration:p,getAgentLogs:w,clearAgentLogs:M,subscribeBrowserView:T,unsubscribeBrowserView:D}}const Dv={started:[523.25,659.25],completed:[523.25,659.25,783.99]};function lh(s){try{const c=new(window.AudioContext||window.webkitAudioContext),o=Dv[s],u=s==="completed"?.15:.12,m=o.length*u;o.forEach((g,x)=>{const y=c.createOscillator(),p=c.createGain();y.connect(p),p.connect(c.destination),y.type="sine",y.frequency.setValueAtTime(g,c.currentTime);const b=c.currentTime+x*u;p.gain.setValueAtTime(0,b),p.gain.linearRampToValueAtTime(.3,b+.02),p.gain.exponentialRampToValueAtTime(.01,b+u),y.start(b),y.stop(b+u)}),setTimeout(()=>{c.close()},m*1e3+100)}catch{}}function _v(s){return{pendingIds:new Set(s?.pending.map(c=>c.id)??[]),inProgressIds:new Set(s?.in_progress.map(c=>c.id)??[]),doneIds:new Set(s?.done.map(c=>c.id)??[])}}function kv(s){const c=f.useRef(null),o=f.useRef(!1);f.useEffect(()=>{if(!s)return;const u=_v(s);if(!o.current){c.current=u,o.current=!0;return}const m=c.current;if(!m){c.current=u;return}for(const g of u.inProgressIds)if(m.pendingIds.has(g)&&!m.inProgressIds.has(g)){lh("started");break}for(const g of u.doneIds)if(!m.doneIds.has(g)&&(m.inProgressIds.has(g)||m.pendingIds.has(g))){lh("completed");break}c.current=u},[s])}function Mv(){try{const s=new(window.AudioContext||window.webkitAudioContext),c=[{freq:523.25,start:0},{freq:659.25,start:.15},{freq:783.99,start:.3},{freq:1046.5,start:.45}],o=.25;c.forEach(({freq:x,start:y})=>{const p=s.createOscillator(),b=s.createGain();p.connect(b),b.connect(s.destination),p.type="sine",p.frequency.setValueAtTime(x,s.currentTime+y);const z=s.currentTime+y;b.gain.setValueAtTime(0,z),b.gain.linearRampToValueAtTime(.4,z+.03),b.gain.setValueAtTime(.4,z+o*.6),b.gain.exponentialRampToValueAtTime(.01,z+o),p.start(z),p.stop(z+o)});const u=[523.25,659.25,783.99,1046.5],m=.65,g=.5;u.forEach(x=>{const y=s.createOscillator(),p=s.createGain();y.connect(p),p.connect(s.destination),y.type="sine",y.frequency.setValueAtTime(x,s.currentTime+m);const b=s.currentTime+m;p.gain.setValueAtTime(0,b),p.gain.linearRampToValueAtTime(.2,b+.05),p.gain.setValueAtTime(.2,b+g*.5),p.gain.exponentialRampToValueAtTime(.01,b+g),y.start(b),y.stop(b+g)}),setTimeout(()=>{s.close()},1500)}catch{}}function Ov(){const c=Date.now()+2e3;Yi({particleCount:100,spread:70,origin:{x:0,y:.6},angle:60,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]}),Yi({particleCount:100,spread:70,origin:{x:1,y:.6},angle:120,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]});const o=setInterval(()=>{if(Date.now()>c){clearInterval(o);return}Yi({particleCount:30,spread:60,origin:{x:0,y:.6},angle:60,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]}),Yi({particleCount:30,spread:60,origin:{x:1,y:.6},angle:120,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]})},250)}function Rv(s){return s?s.pending.length===0&&s.in_progress.length===0&&(s.needs_human_input?.length||0)===0&&s.done.length>0:!1}function Uv(s,c){const o=f.useRef(new Set),u=f.useRef(null);f.useEffect(()=>{if(!s||!c)return;const m=Rv(s);if(u.current!==c){u.current=c,m&&o.current.add(c);return}m&&!o.current.has(c)&&(o.current.add(c),Ov(),Mv())},[s,c])}const Wi=[{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"}}],sh="autoforge-theme",ih="autoforge-dark-mode";function Bv(s){switch(s){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 Wh(){const[s,c]=f.useState(()=>{try{const y=localStorage.getItem(sh);if(y==="twitter"||y==="claude"||y==="neo-brutalism"||y==="retro-arcade"||y==="aurora"||y==="business")return y}catch{}return"twitter"}),[o,u]=f.useState(()=>{try{return localStorage.getItem(ih)==="true"}catch{return!1}});f.useEffect(()=>{const y=document.documentElement;y.classList.remove("theme-claude","theme-neo-brutalism","theme-retro-arcade","theme-aurora","theme-business");const p=Bv(s);p&&y.classList.add(p),o?y.classList.add("dark"):y.classList.remove("dark");try{localStorage.setItem(sh,s),localStorage.setItem(ih,String(o))}catch{}},[s,o]);const m=f.useCallback(y=>{c(y)},[]),g=f.useCallback(y=>{u(y)},[]),x=f.useCallback(()=>{u(y=>!y)},[]);return{theme:s,setTheme:m,darkMode:o,setDarkMode:g,toggleDarkMode:x,themes:Wi,currentTheme:Wi.find(y=>y.id===s)??Wi[0]}}var qv=Symbol("radix.slottable");function Lv(s){const c=({children:o})=>n.jsx(n.Fragment,{children:o});return c.displayName=`${s}.Slottable`,c.__radixId=qv,c}var Hv=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Gv="VisuallyHidden",Ih=f.forwardRef((s,c)=>n.jsx(Dh.span,{...s,ref:c,style:{...Hv,...s.style}}));Ih.displayName=Gv;var Qv=Ih,[ur]=Ip("Tooltip",[Mh]),or=Mh(),Ph="TooltipProvider",Yv=700,Du="tooltip.open",[Vv,Lu]=ur(Ph),ex=s=>{const{__scopeTooltip:c,delayDuration:o=Yv,skipDelayDuration:u=300,disableHoverableContent:m=!1,children:g}=s,x=f.useRef(!0),y=f.useRef(!1),p=f.useRef(0);return f.useEffect(()=>{const b=p.current;return()=>window.clearTimeout(b)},[]),n.jsx(Vv,{scope:c,isOpenDelayedRef:x,delayDuration:o,onOpen:f.useCallback(()=>{window.clearTimeout(p.current),x.current=!1},[]),onClose:f.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>x.current=!0,u)},[u]),isPointerInTransitRef:y,onPointerInTransitChange:f.useCallback(b=>{y.current=b},[]),disableHoverableContent:m,children:g})};ex.displayName=Ph;var js="Tooltip",[Xv,Ss]=ur(js),tx=s=>{const{__scopeTooltip:c,children:o,open:u,defaultOpen:m,onOpenChange:g,disableHoverableContent:x,delayDuration:y}=s,p=Lu(js,s.__scopeTooltip),b=or(c),[z,w]=f.useState(null),M=Kp(),T=f.useRef(0),D=x??p.disableHoverableContent,_=y??p.delayDuration,N=f.useRef(!1),[k,O]=Fp({prop:u,defaultProp:m??!1,onChange:F=>{F?(p.onOpen(),document.dispatchEvent(new CustomEvent(Du))):p.onClose(),g?.(F)},caller:js}),A=f.useMemo(()=>k?N.current?"delayed-open":"instant-open":"closed",[k]),S=f.useCallback(()=>{window.clearTimeout(T.current),T.current=0,N.current=!1,O(!0)},[O]),L=f.useCallback(()=>{window.clearTimeout(T.current),T.current=0,O(!1)},[O]),J=f.useCallback(()=>{window.clearTimeout(T.current),T.current=window.setTimeout(()=>{N.current=!0,O(!0),T.current=0},_)},[_,O]);return f.useEffect(()=>()=>{T.current&&(window.clearTimeout(T.current),T.current=0)},[]),n.jsx(Zp,{...b,children:n.jsx(Xv,{scope:c,contentId:M,open:k,stateAttribute:A,trigger:z,onTriggerChange:w,onTriggerEnter:f.useCallback(()=>{p.isOpenDelayedRef.current?J():S()},[p.isOpenDelayedRef,J,S]),onTriggerLeave:f.useCallback(()=>{D?L():(window.clearTimeout(T.current),T.current=0)},[L,D]),onOpen:S,onClose:L,disableHoverableContent:D,children:o})})};tx.displayName=js;var _u="TooltipTrigger",ax=f.forwardRef((s,c)=>{const{__scopeTooltip:o,...u}=s,m=Ss(_u,o),g=Lu(_u,o),x=or(o),y=f.useRef(null),p=_h(c,y,m.onTriggerChange),b=f.useRef(!1),z=f.useRef(!1),w=f.useCallback(()=>b.current=!1,[]);return f.useEffect(()=>()=>document.removeEventListener("pointerup",w),[w]),n.jsx($p,{asChild:!0,...x,children:n.jsx(Dh.button,{"aria-describedby":m.open?m.contentId:void 0,"data-state":m.stateAttribute,...u,ref:p,onPointerMove:ml(s.onPointerMove,M=>{M.pointerType!=="touch"&&!z.current&&!g.isPointerInTransitRef.current&&(m.onTriggerEnter(),z.current=!0)}),onPointerLeave:ml(s.onPointerLeave,()=>{m.onTriggerLeave(),z.current=!1}),onPointerDown:ml(s.onPointerDown,()=>{m.open&&m.onClose(),b.current=!0,document.addEventListener("pointerup",w,{once:!0})}),onFocus:ml(s.onFocus,()=>{b.current||m.onOpen()}),onBlur:ml(s.onBlur,m.onClose),onClick:ml(s.onClick,m.onClose)})})});ax.displayName=_u;var Hu="TooltipPortal",[Kv,Fv]=ur(Hu,{forceMount:void 0}),nx=s=>{const{__scopeTooltip:c,forceMount:o,children:u,container:m}=s,g=Ss(Hu,c);return n.jsx(Kv,{scope:c,forceMount:o,children:n.jsx(kh,{present:o||g.open,children:n.jsx(Jp,{asChild:!0,container:m,children:u})})})};nx.displayName=Hu;var Sl="TooltipContent",lx=f.forwardRef((s,c)=>{const o=Fv(Sl,s.__scopeTooltip),{forceMount:u=o.forceMount,side:m="top",...g}=s,x=Ss(Sl,s.__scopeTooltip);return n.jsx(kh,{present:u||x.open,children:x.disableHoverableContent?n.jsx(sx,{side:m,...g,ref:c}):n.jsx(Zv,{side:m,...g,ref:c})})}),Zv=f.forwardRef((s,c)=>{const o=Ss(Sl,s.__scopeTooltip),u=Lu(Sl,s.__scopeTooltip),m=f.useRef(null),g=_h(c,m),[x,y]=f.useState(null),{trigger:p,onClose:b}=o,z=m.current,{onPointerInTransitChange:w}=u,M=f.useCallback(()=>{y(null),w(!1)},[w]),T=f.useCallback((D,_)=>{const N=D.currentTarget,k={x:D.clientX,y:D.clientY},O=Iv(k,N.getBoundingClientRect()),A=Pv(k,O),S=eb(_.getBoundingClientRect()),L=ab([...A,...S]);y(L),w(!0)},[w]);return f.useEffect(()=>()=>M(),[M]),f.useEffect(()=>{if(p&&z){const D=N=>T(N,z),_=N=>T(N,p);return p.addEventListener("pointerleave",D),z.addEventListener("pointerleave",_),()=>{p.removeEventListener("pointerleave",D),z.removeEventListener("pointerleave",_)}}},[p,z,T,M]),f.useEffect(()=>{if(x){const D=_=>{const N=_.target,k={x:_.clientX,y:_.clientY},O=p?.contains(N)||z?.contains(N),A=!tb(k,x);O?M():A&&(M(),b())};return document.addEventListener("pointermove",D),()=>document.removeEventListener("pointermove",D)}},[p,z,x,b,M]),n.jsx(sx,{...s,ref:g})}),[$v,Jv]=ur(js,{isInside:!1}),Wv=Lv("TooltipContent"),sx=f.forwardRef((s,c)=>{const{__scopeTooltip:o,children:u,"aria-label":m,onEscapeKeyDown:g,onPointerDownOutside:x,...y}=s,p=Ss(Sl,o),b=or(o),{onClose:z}=p;return f.useEffect(()=>(document.addEventListener(Du,z),()=>document.removeEventListener(Du,z)),[z]),f.useEffect(()=>{if(p.trigger){const w=M=>{M.target?.contains(p.trigger)&&z()};return window.addEventListener("scroll",w,{capture:!0}),()=>window.removeEventListener("scroll",w,{capture:!0})}},[p.trigger,z]),n.jsx(Pp,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:g,onPointerDownOutside:x,onFocusOutside:w=>w.preventDefault(),onDismiss:z,children:n.jsxs(ey,{"data-state":p.stateAttribute,...b,...y,ref:c,style:{...y.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[n.jsx(Wv,{children:u}),n.jsx($v,{scope:o,isInside:!0,children:n.jsx(Qv,{id:p.contentId,role:"tooltip",children:m||u})})]})})});lx.displayName=Sl;var ix="TooltipArrow",rx=f.forwardRef((s,c)=>{const{__scopeTooltip:o,...u}=s,m=or(o);return Jv(ix,o).isInside?null:n.jsx(Wp,{...m,...u,ref:c})});rx.displayName=ix;function Iv(s,c){const o=Math.abs(c.top-s.y),u=Math.abs(c.bottom-s.y),m=Math.abs(c.right-s.x),g=Math.abs(c.left-s.x);switch(Math.min(o,u,m,g)){case g:return"left";case m:return"right";case o:return"top";case u:return"bottom";default:throw new Error("unreachable")}}function Pv(s,c,o=5){const u=[];switch(c){case"top":u.push({x:s.x-o,y:s.y+o},{x:s.x+o,y:s.y+o});break;case"bottom":u.push({x:s.x-o,y:s.y-o},{x:s.x+o,y:s.y-o});break;case"left":u.push({x:s.x+o,y:s.y-o},{x:s.x+o,y:s.y+o});break;case"right":u.push({x:s.x-o,y:s.y-o},{x:s.x-o,y:s.y+o});break}return u}function eb(s){const{top:c,right:o,bottom:u,left:m}=s;return[{x:m,y:c},{x:o,y:c},{x:o,y:u},{x:m,y:u}]}function tb(s,c){const{x:o,y:u}=s;let m=!1;for(let g=0,x=c.length-1;g<c.length;x=g++){const y=c[g],p=c[x],b=y.x,z=y.y,w=p.x,M=p.y;z>u!=M>u&&o<(w-b)*(u-z)/(M-z)+b&&(m=!m)}return m}function ab(s){const c=s.slice();return c.sort((o,u)=>o.x<u.x?-1:o.x>u.x?1:o.y<u.y?-1:o.y>u.y?1:0),nb(c)}function nb(s){if(s.length<=1)return s.slice();const c=[];for(let u=0;u<s.length;u++){const m=s[u];for(;c.length>=2;){const g=c[c.length-1],x=c[c.length-2];if((g.x-x.x)*(m.y-x.y)>=(g.y-x.y)*(m.x-x.x))c.pop();else break}c.push(m)}c.pop();const o=[];for(let u=s.length-1;u>=0;u--){const m=s[u];for(;o.length>=2;){const g=o[o.length-1],x=o[o.length-2];if((g.x-x.x)*(m.y-x.y)>=(g.y-x.y)*(m.x-x.x))o.pop();else break}o.push(m)}return o.pop(),c.length===1&&o.length===1&&c[0].x===o[0].x&&c[0].y===o[0].y?c:c.concat(o)}var lb=ex,sb=tx,ib=ax,rb=nx,cb=lx,ub=rx;function pe(...s){return vy(by(s))}function ob({delayDuration:s=250,...c}){return n.jsx(lb,{"data-slot":"tooltip-provider",delayDuration:s,...c})}function Gu({...s}){return n.jsx(sb,{"data-slot":"tooltip",...s})}function Qu({...s}){return n.jsx(ib,{"data-slot":"tooltip-trigger",...s})}function Yu({className:s,side:c="bottom",align:o="center",sideOffset:u=8,children:m,...g}){return n.jsx(rb,{children:n.jsxs(cb,{"data-slot":"tooltip-content",side:c,align:o,sideOffset:u,className:pe("z-50 overflow-hidden rounded-md border bg-neutral-900 px-3 py-2 text-sm text-white shadow-md leading-tight min-h-7","data-[state=delayed-open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=delayed-open]:fade-in-0 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",s),...g,children:[m,n.jsx(ub,{"data-slot":"tooltip-arrow",className:"fill-neutral-900"})]})})}const Cn={selectedProject:"autoforge-selected-project",activeView:"autoforge-active-view",sidebarCollapsed:"autoforge-sidebar-collapsed"};function rh(s,c){try{return localStorage.getItem(s)??c}catch{return c}}function Vi(s,c){try{c===null?localStorage.removeItem(s):localStorage.setItem(s,c)}catch{}}const cx=f.createContext(null);function db({children:s}){const[c,o]=f.useState(()=>rh(Cn.selectedProject,"")||null),u=f.useCallback(Me=>{o(Me),Vi(Cn.selectedProject,Me)},[]),[m,g]=f.useState(()=>{const Me=rh(Cn.activeView,"dashboard");return["dashboard","kanban","graph","browsers","terminal","logs","assistant","settings"].includes(Me)?Me:"dashboard"}),x=f.useCallback(Me=>{g(Me),Vi(Cn.activeView,Me)},[]),[y,p]=f.useState(()=>{try{return localStorage.getItem(Cn.sidebarCollapsed)==="true"}catch{return!1}}),b=f.useCallback(Me=>{p(Me),Vi(Cn.sidebarCollapsed,String(Me))},[]),z=f.useCallback(()=>{p(Me=>{const de=!Me;return Vi(Cn.sidebarCollapsed,String(de)),de})},[]),[w,M]=f.useState(!1),[T,D]=f.useState(!1),[_,N]=f.useState(null),[k,O]=f.useState(!1),[A,S]=f.useState(!1),[L,J]=f.useState(!1),[F,te]=f.useState(!1),[Y,ne]=f.useState(!1),[W,G]=f.useState(!1),[I,V]=f.useState(!0),[X,j]=f.useState("idle"),[R,P]=f.useState(null),ee=Ge(),{data:re,isLoading:ae}=lv(),{data:ie}=Zh(c),{data:xe}=qu();hv(c);const ue=Av(c),{theme:fe,setTheme:Ve,darkMode:Mt,toggleDarkMode:bt,themes:jt,currentTheme:Pt}=Wh(),Ft=re?.find(Me=>Me.name===c),Zt=Ft?.has_spec??!0,Nt=f.useMemo(()=>{if(ue.progress.total>0)return{passing:ue.progress.passing,total:ue.progress.total,percentage:ue.progress.percentage};const Me=(ie?.pending.length??0)+(ie?.in_progress.length??0)+(ie?.done.length??0)+(ie?.needs_human_input?.length??0),de=ie?.done.length??0,ta=Me>0?Math.round(de/Me*100*10)/10:0;return{passing:de,total:Me,percentage:ta}},[ue.progress,ie]),{data:Ot}=ft({queryKey:["dependencyGraph",c],queryFn:()=>A0(c),enabled:!!c&&m==="graph",refetchInterval:5e3}),ea=f.useCallback(Me=>{const ta=[...ie?.pending??[],...ie?.in_progress??[],...ie?.done??[],...ie?.needs_human_input??[]].find(zl=>zl.id===Me);ta&&N(ta)},[ie]);kv(ie),Uv(ie,c),f.useEffect(()=>{c&&re&&!re.some(Me=>Me.name===c)&&u(null)},[c,re,u]),f.useEffect(()=>{const Me=de=>{if(!(de.target instanceof HTMLInputElement||de.target instanceof HTMLTextAreaElement)){if(de.key==="h"||de.key==="H"){de.preventDefault(),x("dashboard");return}if(de.key==="k"||de.key==="K"){de.preventDefault(),x("kanban");return}if(de.key==="g"||de.key==="G"){de.preventDefault(),x("graph");return}if(de.key==="b"||de.key==="B"){de.preventDefault(),x("browsers");return}if(de.key==="t"||de.key==="T"){de.preventDefault(),x("terminal");return}if(de.key==="d"||de.key==="D"){de.preventDefault(),x("logs");return}if((de.key==="a"||de.key==="A")&&c&&!Y){de.preventDefault(),G(ta=>!ta);return}if(de.key==="["){de.preventDefault(),z();return}if((de.key==="n"||de.key==="N")&&c){de.preventDefault(),M(!0);return}if((de.key==="e"||de.key==="E")&&c&&Zt&&ie&&ie.pending.length+ie.in_progress.length+ie.done.length+(ie.needs_human_input?.length||0)>0){de.preventDefault(),D(!0);return}if(de.key===","){de.preventDefault(),x("settings");return}if(de.key==="?"){de.preventDefault(),S(!0);return}if((de.key==="r"||de.key==="R")&&c&&!["running","pausing","paused_graceful"].includes(ue.agentStatus)){de.preventDefault(),J(!0);return}de.key==="Escape"&&(A?S(!1):L?J(!1):T?D(!1):k?O(!1):W?G(!1):w?M(!1):_&&N(null))}};return window.addEventListener("keydown",Me),()=>window.removeEventListener("keydown",Me)},[c,w,T,_,W,ie,k,A,Y,L,ue.agentStatus,Zt,x,z]);const wl=f.useMemo(()=>({selectedProject:c,setSelectedProject:u,activeView:m,setActiveView:x,sidebarCollapsed:y,setSidebarCollapsed:b,toggleSidebar:z,showAddFeature:w,setShowAddFeature:M,showExpandProject:T,setShowExpandProject:D,selectedFeature:_,setSelectedFeature:N,showSettings:k,setShowSettings:O,showKeyboardHelp:A,setShowKeyboardHelp:S,showResetModal:L,setShowResetModal:J,showSpecChat:F,setShowSpecChat:te,isSpecCreating:Y,setIsSpecCreating:ne,assistantOpen:W,setAssistantOpen:G,setupComplete:I,setSetupComplete:V,specInitializerStatus:X,setSpecInitializerStatus:j,specInitializerError:R,setSpecInitializerError:P,projects:re,projectsLoading:ae,features:ie,settings:xe,wsState:ue,theme:fe,setTheme:Ve,darkMode:Mt,toggleDarkMode:bt,themes:jt,currentTheme:Pt,queryClient:ee,selectedProjectData:Ft,hasSpec:Zt,progress:Nt,graphData:Ot,handleGraphNodeClick:ea}),[c,u,m,x,y,b,z,w,T,_,k,A,L,F,Y,W,I,X,R,re,ae,ie,xe,ue,fe,Ve,Mt,bt,jt,Pt,ee,Ft,Zt,Nt,Ot,ea]);return n.jsx(cx.Provider,{value:wl,children:n.jsx(ob,{children:s})})}function Kt(){const s=f.useContext(cx);if(!s)throw new Error("useAppContext must be used within an <AppProvider>");return s}const fb=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 Ae({className:s,variant:c="default",asChild:o=!1,...u}){const m=o?Oh:"span";return n.jsx(m,{"data-slot":"badge","data-variant":c,className:pe(fb({variant:c}),s),...u})}function wn({icon:s,label:c,isActive:o,isCollapsed:u,onClick:m,badge:g,shortcutKey:x}){const y=n.jsxs("button",{onClick:m,"aria-label":c,className:pe("group relative flex items-center rounded-lg w-full","transition-all duration-200 ease-[cubic-bezier(0.4,0,0.2,1)]","outline-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",o&&["bg-sidebar-primary text-sidebar-primary-foreground","shadow-sm"],!o&&["text-sidebar-foreground/70","hover:bg-sidebar-accent hover:text-sidebar-accent-foreground","hover:shadow-sm","active:scale-[0.98]"],u?"h-11 w-11 justify-center mx-auto":"h-9 px-3 gap-3"),children:[o&&!u&&n.jsx("span",{className:"absolute left-0 top-1.5 bottom-1.5 w-[3px] rounded-r-full bg-sidebar-primary-foreground/40"}),n.jsx(s,{size:u?20:18,className:pe("shrink-0 transition-transform duration-200",o&&"scale-110",!o&&"group-hover:translate-x-0.5")}),!u&&n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"truncate text-sm font-medium flex-1 text-left",children:c}),g!==void 0&&n.jsx(Ae,{variant:"secondary",className:pe("text-[10px] px-1.5 py-0 h-5 min-w-5 tabular-nums","transition-opacity duration-200",o&&"bg-sidebar-primary-foreground/20 text-sidebar-primary-foreground"),children:g}),x&&g===void 0&&n.jsx("kbd",{className:pe("text-[10px] font-mono leading-none px-1 py-0.5 rounded","opacity-0 group-hover:opacity-100 transition-opacity duration-200",o?"text-sidebar-primary-foreground/50":"text-muted-foreground/60 bg-sidebar-accent/50"),children:x})]})]});return u?n.jsxs(Gu,{children:[n.jsx(Qu,{asChild:!0,children:y}),n.jsxs(Yu,{side:"right",sideOffset:8,className:"font-medium",children:[c,x&&n.jsx("kbd",{className:"ml-2 text-[10px] font-mono opacity-60",children:x})]})]}):y}function zn(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function mb({projectName:s,onError:c}){const[o,u]=f.useState([]),[m,g]=f.useState(!1),[x,y]=f.useState(!1),[p,b]=f.useState("disconnected"),[z,w]=f.useState(null),[M,T]=f.useState(null),D=f.useRef(null),_=f.useRef(null),N=f.useRef(0),k=3,O=f.useRef(null),A=f.useRef(null),S=f.useRef(!1);f.useEffect(()=>{S.current=x},[x]),f.useEffect(()=>()=>{O.current&&clearInterval(O.current),A.current&&clearTimeout(A.current),D.current&&D.current.close()},[]),f.useEffect(()=>{if(x)return;const ne=setTimeout(()=>{const W=setInterval(async()=>{if(S.current){clearInterval(W);return}try{const G=await O0(s);G.exists&&G.status==="complete"&&(y(!0),g(!1),u(I=>{const V=I[I.length-1];return V?.role==="assistant"&&V.isStreaming?[...I.slice(0,-1),{...V,isStreaming:!1}]:I}),u(I=>[...I,{id:zn(),role:"system",content:`Spec creation complete! Files written: ${G.files_written.join(", ")}${G.feature_count?` (${G.feature_count} features)`:""}`,timestamp:new Date}]),clearInterval(W))}catch{}},3e3);return()=>clearInterval(W)},3e3);return()=>clearTimeout(ne)},[s,x]);const L=f.useCallback(()=>{if(D.current?.readyState===WebSocket.OPEN)return;b("connecting");const ne=window.location.protocol==="https:"?"wss:":"ws:",W=window.location.host,G=`${ne}//${W}/api/spec/ws/${encodeURIComponent(s)}`,I=new WebSocket(G);D.current=I,I.onopen=()=>{b("connected"),N.current=0,O.current=window.setInterval(()=>{I.readyState===WebSocket.OPEN&&I.send(JSON.stringify({type:"ping"}))},3e4)},I.onclose=V=>{if(b("disconnected"),O.current&&(clearInterval(O.current),O.current=null),!(V.code>=4e3&&V.code<=4999)&&N.current<k&&!S.current){N.current++;const j=Math.min(1e3*Math.pow(2,N.current),1e4);A.current=window.setTimeout(L,j)}},I.onerror=()=>{b("error"),c?.("WebSocket connection error")},I.onmessage=V=>{try{const X=JSON.parse(V.data);switch(X.type){case"text":{u(j=>{const R=j[j.length-1];return R?.role==="assistant"&&R.isStreaming?[...j.slice(0,-1),{...R,content:R.content+X.content}]:(_.current=zn(),[...j,{id:_.current,role:"assistant",content:X.content,timestamp:new Date,isStreaming:!0}])});break}case"question":{w(X.questions),T(X.tool_id||null),g(!1),u(j=>{const R=j[j.length-1];return R?.role==="assistant"&&R.isStreaming?[...j.slice(0,-1),{...R,isStreaming:!1,questions:X.questions}]:j});break}case"spec_complete":{y(!0),g(!1),u(j=>{const R=j[j.length-1];return R?.role==="assistant"&&R.isStreaming?[...j.slice(0,-1),{...R,isStreaming:!1}]:j}),u(j=>[...j,{id:zn(),role:"system",content:`Specification file created: ${X.path}`,timestamp:new Date}]);break}case"file_written":{u(j=>[...j,{id:zn(),role:"system",content:`File created: ${X.path}`,timestamp:new Date}]);break}case"complete":{y(!0),g(!1),u(j=>{const R=j[j.length-1];return R?.role==="assistant"&&R.isStreaming?[...j.slice(0,-1),{...R,isStreaming:!1}]:j});break}case"error":{g(!1),c?.(X.content),u(j=>[...j,{id:zn(),role:"system",content:`Error: ${X.content}`,timestamp:new Date}]);break}case"pong":break;case"response_done":{g(!1),u(j=>{const R=j[j.length-1];return R?.role==="assistant"&&R.isStreaming?[...j.slice(0,-1),{...R,isStreaming:!1}]:j});break}}}catch(X){console.error("Failed to parse WebSocket message:",X)}}},[s,c]),J=f.useCallback(()=>{L();const ne=()=>{D.current?.readyState===WebSocket.OPEN?(g(!0),D.current.send(JSON.stringify({type:"start"}))):D.current?.readyState===WebSocket.CONNECTING&&setTimeout(ne,100)};setTimeout(ne,100)},[L]),F=f.useCallback((ne,W)=>{if(!D.current||D.current.readyState!==WebSocket.OPEN){c?.("Not connected");return}u(I=>[...I,{id:zn(),role:"user",content:ne,attachments:W,timestamp:new Date}]),w(null),T(null),g(!0);const G={type:"message",content:ne};W&&W.length>0&&(G.attachments=W.map(I=>({filename:I.filename,mimeType:I.mimeType,base64Data:I.base64Data}))),D.current.send(JSON.stringify(G))},[c]),te=f.useCallback(ne=>{if(!D.current||D.current.readyState!==WebSocket.OPEN){c?.("Not connected");return}const W=Object.values(ne).map(G=>Array.isArray(G)?G.join(", "):G).join("; ");u(G=>[...G,{id:zn(),role:"user",content:W,timestamp:new Date}]),w(null),T(null),g(!0),D.current.send(JSON.stringify({type:"answer",answers:ne,tool_id:M}))},[M,c]),Y=f.useCallback(()=>{N.current=k,O.current&&(clearInterval(O.current),O.current=null),D.current&&(D.current.close(),D.current=null),b("disconnected")},[]);return{messages:o,isLoading:m,isComplete:x,connectionStatus:p,currentQuestions:z,currentToolId:M,start:J,sendMessage:F,sendAnswer:te,disconnect:Y}}const xl=["Spark","Fizz","Octo","Hoot","Buzz","Pixel","Byte","Nova","Chip","Bolt","Dash","Zap","Gizmo","Turbo","Blip","Neon","Widget","Zippy","Quirk","Flux"],dr=["image/jpeg","image/png"],hb=["text/plain","text/markdown","text/csv","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/pdf","application/vnd.openxmlformats-officedocument.presentationml.presentation"],lr=[...dr,...hb];function Vu(s){return dr.includes(s.mimeType)}function sr(s){const c=s.split(".").pop()?.toLowerCase();return{md:"text/markdown",txt:"text/plain",csv:"text/csv",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",pdf:"application/pdf",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png"}[c||""]||"application/octet-stream"}function Te({className:s,...c}){return n.jsx("div",{"data-slot":"card",className:pe("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",s),...c})}function Tn({className:s,...c}){return n.jsx("div",{"data-slot":"card-header",className:pe("@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",s),...c})}function yl({className:s,...c}){return n.jsx("div",{"data-slot":"card-title",className:pe("leading-none font-semibold",s),...c})}function xb({className:s,...c}){return n.jsx("div",{"data-slot":"card-description",className:pe("text-muted-foreground text-sm",s),...c})}function ke({className:s,...c}){return n.jsx("div",{"data-slot":"card-content",className:pe("px-6",s),...c})}const gb=[e0],pb={a:({children:s,href:c,...o})=>n.jsx("a",{href:c,target:"_blank",rel:"noopener noreferrer",...o,children:s})},Xu=f.memo(function({message:c}){const{role:o,content:u,attachments:m,timestamp:g,isStreaming:x}=c,y=g.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),b={user:{icon:Ny,bgColor:"bg-primary",textColor:"text-primary-foreground",align:"justify-end",bubbleAlign:"items-end",iconBg:"bg-primary",iconColor:"text-primary-foreground"},assistant:{icon:Ns,bgColor:"bg-muted",textColor:"text-foreground",align:"justify-start",bubbleAlign:"items-start",iconBg:"bg-secondary",iconColor:"text-secondary-foreground"},system:{icon:jy,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"}}[o],z=b.icon;return o==="system"?n.jsx("div",{className:`flex ${b.align} px-4 py-2`,children:n.jsx("div",{className:`${b.bgColor} border border-border rounded-lg px-4 py-2 text-sm font-mono ${b.textColor}`,children:n.jsxs("span",{className:"flex items-center gap-2",children:[n.jsx(z,{size:14}),u]})})}):n.jsx("div",{className:`flex ${b.align} px-4 py-2`,children:n.jsxs("div",{className:`flex flex-col ${b.bubbleAlign} max-w-[80%] gap-1`,children:[n.jsxs("div",{className:"flex items-start gap-2",children:[o==="assistant"&&n.jsx("div",{className:`${b.iconBg} p-1.5 rounded flex-shrink-0`,children:n.jsx(z,{size:16,className:b.iconColor})}),n.jsxs(Te,{className:`${b.bgColor} px-4 py-3 border ${x?"animate-pulse":""}`,children:[u&&n.jsx("div",{className:`text-sm leading-relaxed ${b.textColor} chat-prose${o==="user"?" chat-prose-user":""}`,children:n.jsx(Py,{remarkPlugins:gb,components:pb,children:u})}),m&&m.length>0&&n.jsx("div",{className:`flex flex-wrap gap-2 ${u?"mt-3":""}`,children:m.map(w=>n.jsx("div",{className:"border border-border rounded p-1 bg-card",children:Vu(w)?n.jsxs(n.Fragment,{children:[n.jsx("img",{src:w.previewUrl,alt:w.filename,className:"max-w-48 max-h-48 object-contain cursor-pointer hover:opacity-90 transition-opacity rounded",onClick:()=>window.open(w.previewUrl,"_blank"),title:`${w.filename} (click to enlarge)`}),n.jsx("span",{className:"text-xs text-muted-foreground block mt-1 text-center",children:w.filename})]}):n.jsxs("div",{className:"flex items-center gap-2 px-2 py-1",children:[n.jsx(Ii,{size:16,className:"text-muted-foreground flex-shrink-0"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:w.filename}),n.jsxs("span",{className:"text-xs text-muted-foreground/60",children:["(",(w.size/1024).toFixed(0)," KB)"]})]})},w.id))}),x&&n.jsx("span",{className:"inline-block w-2 h-4 bg-primary ml-1 animate-pulse rounded"})]}),o==="user"&&n.jsx("div",{className:`${b.iconBg} p-1.5 rounded flex-shrink-0`,children:n.jsx(z,{size:16,className:b.iconColor})})]}),n.jsx("span",{className:"text-xs text-muted-foreground font-mono px-2",children:y})]})})}),yb=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 $({className:s,variant:c="default",size:o="default",asChild:u=!1,...m}){const g=u?Oh:"button";return n.jsx(g,{"data-slot":"button","data-variant":c,"data-size":o,className:pe(yb({variant:c,size:o,className:s})),...m})}function nt({className:s,type:c,...o}){return n.jsx("input",{type:c,"data-slot":"input",className:pe("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",s),...o})}function ux({questions:s,onSubmit:c,disabled:o=!1}){const[u,m]=f.useState({}),[g,x]=f.useState({}),[y,p]=f.useState({}),b=(_,N,k)=>{const O=String(_);if(N==="Other"){p(A=>({...A,[O]:!0}));return}p(A=>({...A,[O]:!1})),m(A=>{if(k){const S=A[O]||[];return S.includes(N)?{...A,[O]:S.filter(L=>L!==N)}:{...A,[O]:[...S,N]}}else return{...A,[O]:N}})},z=(_,N)=>{const k=String(_);x(O=>({...O,[k]:N})),m(O=>({...O,[k]:N}))},w=()=>{const _={};s.forEach((N,k)=>{const O=String(k);y[O]&&g[O]?_[O]=g[O]:u[O]&&(_[O]=u[O])}),c(_)},M=(_,N,k)=>{const O=String(_),A=u[O];return k?Array.isArray(A)&&A.includes(N):A===N},T=_=>{const N=String(_);return!!(u[N]||y[N]&&g[N])},D=s.every((_,N)=>T(N));return n.jsxs("div",{className:"space-y-6 p-4",children:[s.map((_,N)=>n.jsx(Te,{children:n.jsxs(ke,{className:"p-4",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[n.jsx(Ae,{children:_.header}),n.jsx("span",{className:"font-bold text-foreground",children:_.question}),_.multiSelect&&n.jsx("span",{className:"text-xs text-muted-foreground font-mono",children:"(select multiple)"})]}),n.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[_.options.map((k,O)=>{const A=M(N,k.label,_.multiSelect);return n.jsx("button",{onClick:()=>b(N,k.label,_.multiSelect),disabled:o,className:`
10
- text-left p-4 rounded-lg border-2 transition-all duration-150
11
- ${A?"bg-primary/10 border-primary":"bg-card border-border hover:border-primary/50 hover:bg-muted"}
12
- disabled:opacity-50 disabled:cursor-not-allowed
13
- `,children:n.jsxs("div",{className:"flex items-start gap-2",children:[n.jsx("div",{className:`
14
- w-5 h-5 flex-shrink-0 mt-0.5 border-2 flex items-center justify-center
15
- ${_.multiSelect?"rounded":"rounded-full"}
16
- ${A?"bg-primary border-primary text-primary-foreground":"border-border bg-background"}
17
- `,children:A&&n.jsx(Da,{size:12,strokeWidth:3})}),n.jsxs("div",{className:"flex-1",children:[n.jsx("div",{className:"font-bold text-foreground",children:k.label}),n.jsx("div",{className:"text-sm text-muted-foreground mt-1",children:k.description})]})]})},O)}),n.jsx("button",{onClick:()=>b(N,"Other",_.multiSelect),disabled:o,className:`
18
- text-left p-4 rounded-lg border-2 transition-all duration-150
19
- ${y[String(N)]?"bg-primary/10 border-primary":"bg-card border-border hover:border-primary/50 hover:bg-muted"}
20
- disabled:opacity-50 disabled:cursor-not-allowed
21
- `,children:n.jsxs("div",{className:"flex items-start gap-2",children:[n.jsx("div",{className:`
22
- w-5 h-5 flex-shrink-0 mt-0.5 border-2 flex items-center justify-center
23
- ${_.multiSelect?"rounded":"rounded-full"}
24
- ${y[String(N)]?"bg-primary border-primary text-primary-foreground":"border-border bg-background"}
25
- `,children:y[String(N)]&&n.jsx(Da,{size:12,strokeWidth:3})}),n.jsxs("div",{className:"flex-1",children:[n.jsx("div",{className:"font-bold text-foreground",children:"Other"}),n.jsx("div",{className:"text-sm text-muted-foreground mt-1",children:"Provide a custom answer"})]})]})})]}),y[String(N)]&&n.jsx("div",{className:"mt-4",children:n.jsx(nt,{type:"text",value:g[String(N)]||"",onChange:k=>z(N,k.target.value),placeholder:"Type your answer...",autoFocus:!0,disabled:o})})]})},N)),n.jsx("div",{className:"flex justify-end",children:n.jsx($,{onClick:w,disabled:o||!D,children:"Continue"})})]})}function ox(){return n.jsxs("div",{className:"flex items-center gap-2 p-4",children:[n.jsxs("div",{className:"flex items-center gap-1",children:[n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"0ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"150ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"300ms"}})]}),n.jsx("span",{className:"text-sm font-mono text-muted-foreground",children:"Claude is thinking..."})]})}function Cs(s,c=!0){return!(s.key!=="Enter"||c&&s.shiftKey||s.nativeEvent.isComposing)}function ws({className:s,...c}){return n.jsx("textarea",{"data-slot":"textarea",className:pe("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",s),...c})}const vb=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 lt({className:s,variant:c,...o}){return n.jsx("div",{"data-slot":"alert",role:"alert",className:pe(vb({variant:c}),s),...o})}function bb({className:s,...c}){return n.jsx("div",{"data-slot":"alert-title",className:pe("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",s),...c})}function st({className:s,...c}){return n.jsx("div",{"data-slot":"alert-description",className:pe("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",s),...c})}const jb=5*1024*1024,Nb=20*1024*1024,Sb=["md","txt","csv","docx","xlsx","pdf","pptx","jpg","jpeg","png"],Cb=`Let's call it Simple Todo. This is a really simple web app that I can use to track my to-do items using a Kanban board. I should be able to add to-dos and then drag and drop them through the Kanban board. The different columns in the Kanban board are:
26
-
27
- - To Do
28
- - In Progress
29
- - Done
30
-
31
- The app should use a neobrutalism design.
32
-
33
- 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:
34
-
35
- - The name or the title at the very least
36
- - Optionally, we can also set tags, due dates, and priorities which should be represented as beautiful little badges on the to-do card
37
-
38
- Users should have the ability to easily clear out all the completed To-Dos. They should also be able to filter and search for To-Dos as well.
39
-
40
- You choose the rest. Keep it simple. Should be 25 features.`;function dx({projectName:s,onComplete:c,onCancel:o,onExitToProject:u,initializerStatus:m="idle",initializerError:g=null,onRetryInitializer:x}){const[y,p]=f.useState(""),[b,z]=f.useState(null),[w,M]=f.useState(!1),[T,D]=f.useState([]),_=f.useRef(null),N=f.useRef(null),k=f.useRef(null),{messages:O,isLoading:A,isComplete:S,connectionStatus:L,currentQuestions:J,start:F,sendMessage:te,sendAnswer:Y,disconnect:ne}=mb({projectName:s,onComplete:c,onError:ee=>z(ee)});f.useEffect(()=>(F(),()=>{ne()}),[]),f.useEffect(()=>{_.current?.scrollIntoView({behavior:"smooth"})},[O,J,A]),f.useEffect(()=>{!A&&!J&&N.current&&N.current.focus()},[A,J]);const W=()=>{const ee=y.trim();if(!(!ee&&T.length===0||A)){if(/^\s*\/exit\s*$/i.test(ee)){p(""),u();return}te(ee,T.length>0?T:void 0),p(""),D([]),N.current&&(N.current.style.height="auto")}},G=ee=>{Cs(ee)&&(ee.preventDefault(),W())},I=ee=>{Y(ee)},V=f.useCallback(ee=>{ee&&Array.from(ee).forEach(re=>{let ae=re.type;if((!ae||!lr.includes(ae))&&(ae=sr(re.name)),!lr.includes(ae)){const Ve=re.name.split(".").pop()?.toLowerCase();if(!Ve||!Sb.includes(Ve)){z(`Unsupported file type: ${re.name}. Supported: images (JPEG, PNG) and documents (MD, TXT, CSV, DOCX, XLSX, PDF, PPTX).`);return}ae=sr(re.name)}const ie=dr.includes(ae),xe=ie?jb:Nb,ue=ie?"5 MB":"20 MB";if(re.size>xe){z(`File too large: ${re.name}. Maximum size is ${ue}.`);return}const fe=new FileReader;fe.onload=Ve=>{const Mt=Ve.target?.result,bt=Mt.split(",")[1],jt={id:`${Date.now()}-${Math.random().toString(36).substring(2,9)}`,filename:re.name,mimeType:ae,base64Data:bt,previewUrl:ie?Mt:"",size:re.size};D(Pt=>[...Pt,jt])},fe.readAsDataURL(re)})},[]),X=f.useCallback(ee=>{D(re=>re.filter(ae=>ae.id!==ee))},[]),j=f.useCallback(ee=>{ee.preventDefault(),V(ee.dataTransfer.files)},[V]),R=f.useCallback(ee=>{ee.preventDefault()},[]),P=()=>{switch(L){case"connected":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-green-500",children:[n.jsx(jl,{size:12}),"Connected"]});case"connecting":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-yellow-500",children:[n.jsx(jl,{size:12,className:"animate-pulse"}),"Connecting..."]});case"error":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-destructive",children:[n.jsx(bl,{size:12}),"Error"]});default:return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[n.jsx(bl,{size:12}),"Disconnected"]})}};return n.jsxs("div",{className:"flex flex-col h-screen bg-background",children:[n.jsxs("div",{className:"flex items-center justify-between p-4 border-b-2 border-border bg-card",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs("h2",{className:"font-display font-bold text-lg text-foreground",children:["Create Spec: ",s]}),n.jsx(P,{})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[S&&n.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[n.jsx(Xt,{size:16}),"Complete"]}),n.jsxs($,{onClick:()=>{p(Cb),N.current&&(N.current.style.height="auto",N.current.style.height=`${Math.min(N.current.scrollHeight,200)}px`)},variant:"ghost",size:"sm",title:"Load sample prompt (Simple Todo app)",children:[n.jsx(Ii,{size:16}),"Load Sample"]}),n.jsxs($,{onClick:u,variant:"ghost",size:"sm",title:"Exit chat and go to project (you can start the agent manually)",children:[n.jsx(Ru,{size:16}),"Exit to Project"]}),n.jsx($,{onClick:o,variant:"ghost",size:"icon",title:"Cancel",children:n.jsx(Ie,{size:20})})]})]}),b&&n.jsxs(lt,{variant:"destructive",className:"rounded-none border-x-0 border-t-0",children:[n.jsx(ia,{size:16}),n.jsx(st,{className:"flex-1",children:b}),n.jsx($,{onClick:()=>z(null),variant:"ghost",size:"icon",className:"h-6 w-6",children:n.jsx(Ie,{size:14})})]}),n.jsxs("div",{className:"flex-1 overflow-y-auto py-4 min-h-0",children:[O.length===0&&!A&&n.jsx("div",{className:"flex flex-col items-center justify-center h-full text-center p-8",children:n.jsx(Te,{className:"p-6 max-w-md",children:n.jsxs(ke,{className:"p-0",children:[n.jsx("h3",{className:"font-display font-bold text-lg mb-2",children:"Starting Spec Creation"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Connecting to Claude to help you create your app specification..."}),L==="error"&&n.jsxs($,{onClick:F,className:"mt-4",size:"sm",children:[n.jsx(an,{size:14}),"Retry Connection"]})]})})}),O.map(ee=>n.jsx(Xu,{message:ee},ee.id)),J&&J.length>0&&n.jsx(ux,{questions:J,onSubmit:I,disabled:A}),A&&!J&&n.jsx(ox,{}),n.jsx("div",{ref:_})]}),!S&&n.jsxs("div",{className:"p-4 border-t-2 border-border bg-card",onDrop:j,onDragOver:R,children:[T.length>0&&n.jsx("div",{className:"flex flex-wrap gap-2 mb-3",children:T.map(ee=>n.jsxs("div",{className:"relative group border-2 border-border p-1 bg-card rounded shadow-sm",children:[Vu(ee)?n.jsx("img",{src:ee.previewUrl,alt:ee.filename,className:"w-16 h-16 object-cover rounded"}):n.jsx("div",{className:"w-16 h-16 flex items-center justify-center bg-muted rounded",children:n.jsx(Ii,{size:24,className:"text-muted-foreground"})}),n.jsx("button",{onClick:()=>X(ee.id),className:"absolute -top-2 -right-2 bg-destructive text-destructive-foreground rounded-full p-0.5 border-2 border-border hover:scale-110 transition-transform",title:"Remove attachment",children:n.jsx(Ie,{size:12})}),n.jsx("span",{className:"text-xs truncate block max-w-16 mt-1 text-center text-muted-foreground",children:ee.filename.length>10?`${ee.filename.substring(0,7)}...`:ee.filename})]},ee.id))}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx("input",{ref:k,type:"file",accept:"image/jpeg,image/png,.md,.txt,.csv,.docx,.xlsx,.pdf,.pptx",multiple:!0,onChange:ee=>V(ee.target.files),className:"hidden"}),n.jsx($,{onClick:()=>k.current?.click(),disabled:L!=="connected",variant:"ghost",size:"icon",title:"Attach files (images: JPEG/PNG up to 5MB, documents: MD, TXT, CSV, DOCX, XLSX, PDF, PPTX up to 20MB)",children:n.jsx(Pi,{size:18})}),n.jsx(ws,{ref:N,value:y,onChange:ee=>{p(ee.target.value),ee.target.style.height="auto",ee.target.style.height=`${Math.min(ee.target.scrollHeight,200)}px`},onKeyDown:G,placeholder:J?"Or type a custom response...":T.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:A&&!J||L!=="connected",rows:1}),n.jsx($,{onClick:W,disabled:!y.trim()&&T.length===0||A&&!J||L!=="connected",className:"px-6",children:n.jsx(rr,{size:18})})]}),n.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:["Press Enter to send, Shift+Enter for new line. Drag & drop or click ",n.jsx(Pi,{size:12,className:"inline"})," to attach files."]})]}),S&&n.jsx("div",{className:`p-4 border-t-2 border-border ${m==="error"?"bg-destructive":"bg-green-500"}`,children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsx("div",{className:"flex items-center gap-2",children:m==="starting"?n.jsxs(n.Fragment,{children:[n.jsx(Se,{size:20,className:"animate-spin text-white"}),n.jsxs("span",{className:"font-bold text-white",children:["Starting agent",w?" (YOLO mode)":"","..."]})]}):m==="error"?n.jsxs(n.Fragment,{children:[n.jsx(ia,{size:20,className:"text-white"}),n.jsx("span",{className:"font-bold text-white",children:g||"Failed to start agent"})]}):n.jsxs(n.Fragment,{children:[n.jsx(Xt,{size:20,className:"text-white"}),n.jsx("span",{className:"font-bold text-white",children:"Specification created successfully!"})]})}),n.jsxs("div",{className:"flex items-center gap-2",children:[m==="error"&&x&&n.jsxs($,{onClick:x,variant:"secondary",children:[n.jsx(an,{size:14}),"Retry"]}),m==="idle"&&n.jsxs(n.Fragment,{children:[n.jsxs($,{onClick:()=>M(!w),variant:w?"default":"secondary",size:"sm",className:w?"bg-yellow-500 hover:bg-yellow-600 text-yellow-900":"",title:"YOLO Mode: Skip testing for rapid prototyping",children:[n.jsx(Uh,{size:16}),n.jsx("span",{className:w?"font-bold":"",children:"YOLO"})]}),n.jsxs($,{onClick:()=>c("",w),children:["Continue to Project",n.jsx(Bh,{size:16})]})]})]})]})})]})}function wb({onSelect:s,onCancel:c,initialPath:o}){const[u,m]=f.useState(o),[g,x]=f.useState(null),[y,p]=f.useState(!1),[b,z]=f.useState(""),[w,M]=f.useState(null),{data:T,isLoading:D,error:_,refetch:N}=ft({queryKey:["filesystem","list",u],queryFn:()=>B0(u)});f.useEffect(()=>{T?.current_path&&x(T.current_path)},[T?.current_path]);const k=Y=>{m(Y),x(Y),p(!1),z(""),M(null)},O=()=>{T?.parent_path&&k(T.parent_path)},A=Y=>{k(`${Y.letter}:/`)},S=Y=>{Y.is_directory&&k(Y.path)},L=async()=>{if(!b.trim()){M("Folder name is required");return}if(!/^[a-zA-Z0-9_\-. ]+$/.test(b)){M("Invalid folder name");return}const Y=`${T?.current_path}/${b.trim()}`;try{await q0(Y),await N(),k(Y)}catch(ne){M(ne instanceof Error?ne.message:"Failed to create folder")}},J=()=>{g&&s(g)},F=Y=>{if(!Y)return[];const ne=[];if(/^[A-Za-z]:/.test(Y)){const I=Y.slice(0,2);ne.push({name:I,path:`${I}/`}),Y=Y.slice(3)}else Y.startsWith("/")&&(ne.push({name:"/",path:"/"}),Y=Y.slice(1));const W=Y.split("/").filter(Boolean);let G=ne.length>0?ne[0].path:"";for(const I of W)G=G.endsWith("/")?G+I:G+"/"+I,ne.push({name:I,path:G});return ne},te=T?.current_path?F(T.current_path):[];return n.jsxs("div",{className:"flex flex-col h-full max-h-[70vh]",children:[n.jsxs("div",{className:"flex-shrink-0 p-4 border-b bg-card",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[n.jsx($i,{size:20,className:"text-primary"}),n.jsx("span",{className:"font-semibold",children:"Select Project Folder"})]}),n.jsxs("div",{className:"flex items-center gap-1 flex-wrap text-sm",children:[T?.parent_path&&n.jsx($,{variant:"ghost",size:"icon-sm",onClick:O,title:"Go up",children:n.jsx(Ji,{size:16})}),te.map((Y,ne)=>n.jsxs("div",{className:"flex items-center",children:[ne>0&&n.jsx(Fm,{size:14,className:"text-muted-foreground mx-1"}),n.jsx($,{variant:"ghost",size:"sm",onClick:()=>k(Y.path),className:ne===te.length-1?"font-semibold":"",children:Y.name})]},Y.path))]})]}),T?.drives&&T.drives.length>0&&n.jsx("div",{className:"flex-shrink-0 p-3 border-b bg-muted/50",children:n.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[n.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"Drives:"}),T.drives.map(Y=>n.jsxs($,{variant:u?.startsWith(Y.letter)?"default":"outline",size:"sm",onClick:()=>A(Y),children:[n.jsx(Sy,{size:14}),Y.letter,": ",Y.label&&`(${Y.label})`]},Y.letter))]})}),n.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto bg-card",children:n.jsxs("div",{className:"p-2",children:[D?n.jsx("div",{className:"flex items-center justify-center p-8",children:n.jsx(Se,{size:24,className:"animate-spin text-primary"})}):_?n.jsxs("div",{className:"p-4 text-center",children:[n.jsx(ia,{size:32,className:"mx-auto mb-2 text-destructive"}),n.jsx("p",{className:"text-destructive",children:_ instanceof Error?_.message:"Failed to load directory"}),n.jsx($,{variant:"outline",size:"sm",onClick:()=>N(),className:"mt-2",children:"Retry"})]}):n.jsxs("div",{className:"grid grid-cols-1 gap-1",children:[T?.entries.filter(Y=>Y.is_directory).map(Y=>n.jsxs("button",{onClick:()=>S(Y),onDoubleClick:()=>k(Y.path),className:`
41
- w-full text-left p-2 rounded-md
42
- flex items-center gap-2
43
- hover:bg-muted
44
- border-2 border-transparent transition-colors
45
- ${g===Y.path?"bg-primary/10 border-primary":""}
46
- `,children:[g===Y.path?n.jsx(er,{size:18,className:"text-primary flex-shrink-0"}):n.jsx($i,{size:18,className:"text-muted-foreground flex-shrink-0"}),n.jsx("span",{className:"truncate flex-1",children:Y.name}),Y.has_children&&n.jsx(Fm,{size:14,className:"ml-auto text-muted-foreground flex-shrink-0"})]},Y.path)),T?.entries.filter(Y=>Y.is_directory).length===0&&n.jsxs("div",{className:"p-4 text-center text-muted-foreground",children:[n.jsx($i,{size:32,className:"mx-auto mb-2 opacity-50"}),n.jsx("p",{children:"No subfolders"}),n.jsx("p",{className:"text-sm",children:"You can create a new folder or select this directory."})]})]}),y&&n.jsx(Te,{className:"mt-2",children:n.jsxs(ke,{className:"p-3",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Zm,{size:18,className:"text-primary"}),n.jsx(nt,{type:"text",value:b,onChange:Y=>z(Y.target.value),placeholder:"New folder name",className:"flex-1",autoFocus:!0,onKeyDown:Y=>{Cs(Y,!1)&&L(),Y.key==="Escape"&&(p(!1),z(""),M(null))}}),n.jsx($,{onClick:L,size:"sm",children:"Create"}),n.jsx($,{variant:"ghost",size:"sm",onClick:()=>{p(!1),z(""),M(null)},children:"Cancel"})]}),w&&n.jsx("p",{className:"text-sm text-destructive mt-1",children:w})]})})]})}),n.jsxs("div",{className:"flex-shrink-0 p-4 border-t bg-card",children:[n.jsx(Te,{className:"mb-3",children:n.jsxs(ke,{className:"p-2",children:[n.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Selected path:"}),n.jsx("div",{className:"font-mono text-sm truncate",children:g||"No folder selected"}),g&&n.jsx("div",{className:"text-xs text-muted-foreground mt-2 italic",children:"This folder will contain all project files"})]})}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs($,{variant:"outline",onClick:()=>p(!0),disabled:y,children:[n.jsx(Zm,{size:16}),"New Folder"]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx($,{variant:"outline",onClick:c,children:"Cancel"}),n.jsx($,{onClick:J,disabled:!g,children:"Select This Folder"})]})]})]})]})}function ca({...s}){return n.jsx(ty,{"data-slot":"dialog",...s})}function zb({...s}){return n.jsx(sy,{"data-slot":"dialog-portal",...s})}function Tb({className:s,...c}){return n.jsx(iy,{"data-slot":"dialog-overlay",className:pe("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",s),...c})}function ua({className:s,children:c,showCloseButton:o=!0,...u}){return n.jsxs(zb,{"data-slot":"dialog-portal",children:[n.jsx(Tb,{}),n.jsxs(ay,{"data-slot":"dialog-content",className:pe("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",s),...u,children:[c,o&&n.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:[n.jsx(Ie,{}),n.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function oa({className:s,...c}){return n.jsx("div",{"data-slot":"dialog-header",className:pe("flex flex-col gap-2 text-center sm:text-left",s),...c})}function It({className:s,showCloseButton:c=!1,children:o,...u}){return n.jsxs("div",{"data-slot":"dialog-footer",className:pe("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",s),...u,children:[o,c&&n.jsx(Rh,{asChild:!0,children:n.jsx($,{variant:"outline",children:"Close"})})]})}function da({className:s,...c}){return n.jsx(ny,{"data-slot":"dialog-title",className:pe("text-lg leading-none font-semibold",s),...c})}function vl({className:s,...c}){return n.jsx(ly,{"data-slot":"dialog-description",className:pe("text-muted-foreground text-sm",s),...c})}function Ee({className:s,...c}){return n.jsx(ry,{"data-slot":"label",className:pe("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",s),...c})}function Eb({isOpen:s,onClose:c,onProjectCreated:o,onStepChange:u}){const[m,g]=f.useState("name"),[x,y]=f.useState(""),[p,b]=f.useState(null),[z,w]=f.useState(null),[M,T]=f.useState(null),[D,_]=f.useState("idle"),[N,k]=f.useState(null),[O,A]=f.useState(!1),[S,L]=f.useState("idle"),[J,F]=f.useState([]),[te,Y]=f.useState(null),ne=f.useRef(null),W=sv(),G=ue=>{g(ue),u?.(ue)};if(!s)return null;const I=ue=>{ue.preventDefault();const fe=x.trim();if(!fe){T("Please enter a project name");return}if(!/^[a-zA-Z0-9_-]+$/.test(fe)){T("Project name can only contain letters, numbers, hyphens, and underscores");return}T(null),G("folder")},V=ue=>{b(ue),G("template")},X=()=>{G("name")},j=async ue=>{if(ue==="blank"){G("method");return}if(p){L("running"),F([]),Y(null);try{const fe=await fetch("/api/scaffold/run",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({template:"agentic-starter",target_path:p})});if(!fe.ok||!fe.body){L("error"),Y(`Server error: ${fe.status}`);return}const Ve=fe.body.getReader(),Mt=new TextDecoder;let bt="";for(;;){const{done:jt,value:Pt}=await Ve.read();if(jt)break;bt+=Mt.decode(Pt,{stream:!0});const Ft=bt.split(`
47
- `);bt=Ft.pop()||"";for(const Zt of Ft)if(Zt.startsWith("data: "))try{const Nt=JSON.parse(Zt.slice(6));Nt.type==="output"?(F(Ot=>{const ea=[...Ot,Nt.line];return ea.length>100?ea.slice(-100):ea}),setTimeout(()=>ne.current?.scrollTo(0,ne.current.scrollHeight),0)):Nt.type==="complete"?Nt.success?(L("success"),setTimeout(()=>G("method"),1200)):(L("error"),Y(`Scaffold exited with code ${Nt.exit_code}`)):Nt.type==="error"&&(L("error"),Y(Nt.message))}catch{}}}catch(fe){L("error"),Y(fe instanceof Error?fe.message:"Failed to run scaffold")}}},R=async ue=>{if(w(ue),!p){T("Please select a project folder first"),G("folder");return}if(ue==="manual")try{const fe=await W.mutateAsync({name:x.trim(),path:p,specMethod:"manual"});G("complete"),setTimeout(()=>{o(fe.name),ie()},1500)}catch(fe){T(fe instanceof Error?fe.message:"Failed to create project")}else try{await W.mutateAsync({name:x.trim(),path:p,specMethod:"claude"}),G("chat")}catch(fe){T(fe instanceof Error?fe.message:"Failed to create project")}},P=async(ue,fe=!1)=>{A(fe),_("starting");try{await Bu(x.trim(),{yoloMode:fe,maxConcurrency:3}),G("complete"),setTimeout(()=>{o(x.trim()),ie()},1500)}catch(Ve){_("error"),k(Ve instanceof Error?Ve.message:"Failed to start agent")}},ee=()=>{k(null),_("idle"),P("",O)},re=()=>{G("method"),w(null)},ae=()=>{o(x.trim()),ie()},ie=()=>{G("name"),y(""),b(null),w(null),T(null),_("idle"),k(null),A(!1),L("idle"),F([]),Y(null),c()},xe=()=>{m==="method"?(G("template"),w(null)):m==="template"?(G("folder"),L("idle"),F([]),Y(null)):m==="folder"&&(G("name"),b(null))};return m==="chat"?Mu.createPortal(n.jsx("div",{className:"fixed inset-0 z-50 bg-background flex flex-col",children:n.jsx(dx,{projectName:x.trim(),onComplete:P,onCancel:re,onExitToProject:ae,initializerStatus:D,initializerError:N,onRetryInitializer:ee})}),document.body):m==="folder"?n.jsx(ca,{open:!0,onOpenChange:ue=>!ue&&ie(),children:n.jsxs(ua,{className:"sm:max-w-3xl max-h-[85vh] flex flex-col p-0",children:[n.jsx(oa,{className:"p-6 pb-4 border-b",children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx($i,{size:24,className:"text-primary"}),n.jsxs("div",{children:[n.jsx(da,{children:"Select Project Location"}),n.jsxs(vl,{children:["Select the folder to use for project ",n.jsx("span",{className:"font-semibold font-mono",children:x}),". Create a new folder or choose an existing one."]})]})]})}),n.jsx("div",{className:"flex-1 overflow-hidden",children:n.jsx(wb,{onSelect:V,onCancel:X})})]})}):n.jsx(ca,{open:!0,onOpenChange:ue=>!ue&&ie(),children:n.jsxs(ua,{className:"sm:max-w-lg",children:[n.jsx(oa,{children:n.jsxs(da,{children:[m==="name"&&"Create New Project",m==="template"&&"Choose Project Template",m==="method"&&"Choose Setup Method",m==="complete"&&"Project Created!"]})}),m==="name"&&n.jsxs("form",{onSubmit:I,className:"space-y-4",children:[n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{htmlFor:"project-name",children:"Project Name"}),n.jsx(nt,{id:"project-name",type:"text",value:x,onChange:ue=>y(ue.target.value),placeholder:"my-awesome-app",pattern:"^[a-zA-Z0-9_-]+$",autoFocus:!0}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Use letters, numbers, hyphens, and underscores only."})]}),M&&n.jsx(lt,{variant:"destructive",children:n.jsx(st,{children:M})}),n.jsx(It,{children:n.jsxs($,{type:"submit",disabled:!x.trim(),children:["Next",n.jsx(Bh,{size:16})]})})]}),m==="template"&&n.jsxs("div",{className:"space-y-4",children:[S==="idle"&&n.jsxs(n.Fragment,{children:[n.jsx(vl,{children:"Start with a blank project or use a pre-configured template."}),n.jsxs("div",{className:"space-y-3",children:[n.jsx(Te,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>j("blank"),children:n.jsx(ke,{className:"p-4",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"p-2 bg-secondary rounded-lg",children:n.jsx(Cy,{size:24,className:"text-secondary-foreground"})}),n.jsxs("div",{className:"flex-1",children:[n.jsx("span",{className:"font-semibold",children:"Blank Project"}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Start from scratch. AutoForge will scaffold your app based on the spec you define."})]})]})})}),n.jsx(Te,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>j("agentic-starter"),children:n.jsx(ke,{className:"p-4",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"p-2 bg-primary/10 rounded-lg",children:n.jsx(Uh,{size:24,className:"text-primary"})}),n.jsxs("div",{className:"flex-1",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"font-semibold",children:"Agentic Starter"}),n.jsx(Ae,{variant:"secondary",children:"Next.js"})]}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Pre-configured Next.js app with BetterAuth, Drizzle ORM, Postgres, and AI capabilities."})]})]})})})]}),n.jsx(It,{className:"sm:justify-start",children:n.jsxs($,{variant:"ghost",onClick:xe,children:[n.jsx(Ji,{size:16}),"Back"]})})]}),S==="running"&&n.jsxs("div",{className:"space-y-3",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Se,{size:16,className:"animate-spin text-primary"}),n.jsx("span",{className:"font-medium",children:"Setting up Agentic Starter..."})]}),n.jsx("div",{ref:ne,className:"bg-muted rounded-lg p-3 max-h-60 overflow-y-auto font-mono text-xs leading-relaxed",children:J.map((ue,fe)=>n.jsx("div",{className:"whitespace-pre-wrap break-all",children:ue},fe))})]}),S==="success"&&n.jsxs("div",{className:"text-center py-6",children:[n.jsx("div",{className:"inline-flex items-center justify-center w-12 h-12 bg-primary/10 rounded-full mb-3",children:n.jsx(Xt,{size:24,className:"text-primary"})}),n.jsx("p",{className:"font-medium",children:"Template ready!"}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Proceeding to setup method..."})]}),S==="error"&&n.jsxs("div",{className:"space-y-3",children:[n.jsxs(lt,{variant:"destructive",children:[n.jsx(ia,{size:16}),n.jsx(st,{children:te||"An unknown error occurred"})]}),J.length>0&&n.jsx("div",{className:"bg-muted rounded-lg p-3 max-h-40 overflow-y-auto font-mono text-xs leading-relaxed",children:J.slice(-10).map((ue,fe)=>n.jsx("div",{className:"whitespace-pre-wrap break-all",children:ue},fe))}),n.jsxs(It,{className:"sm:justify-start gap-2",children:[n.jsxs($,{variant:"ghost",onClick:xe,children:[n.jsx(Ji,{size:16}),"Back"]}),n.jsxs($,{variant:"outline",onClick:()=>j("agentic-starter"),children:[n.jsx(an,{size:16}),"Retry"]})]})]})]}),m==="method"&&n.jsxs("div",{className:"space-y-4",children:[n.jsx(vl,{children:"How would you like to define your project?"}),n.jsxs("div",{className:"space-y-3",children:[n.jsx(Te,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>!W.isPending&&R("claude"),children:n.jsx(ke,{className:"p-4",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"p-2 bg-primary/10 rounded-lg",children:n.jsx(Ns,{size:24,className:"text-primary"})}),n.jsxs("div",{className:"flex-1",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"font-semibold",children:"Create with Claude"}),n.jsx(Ae,{children:"Recommended"})]}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Interactive conversation to define features and generate your app specification automatically."})]})]})})}),n.jsx(Te,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>!W.isPending&&R("manual"),children:n.jsx(ke,{className:"p-4",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"p-2 bg-secondary rounded-lg",children:n.jsx(Eu,{size:24,className:"text-secondary-foreground"})}),n.jsxs("div",{className:"flex-1",children:[n.jsx("span",{className:"font-semibold",children:"Edit Templates Manually"}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Edit the template files directly. Best for developers who want full control."})]})]})})})]}),M&&n.jsx(lt,{variant:"destructive",children:n.jsx(st,{children:M})}),W.isPending&&n.jsxs("div",{className:"flex items-center justify-center gap-2 text-muted-foreground",children:[n.jsx(Se,{size:16,className:"animate-spin"}),n.jsx("span",{children:"Creating project..."})]}),n.jsx(It,{className:"sm:justify-start",children:n.jsxs($,{variant:"ghost",onClick:xe,disabled:W.isPending,children:[n.jsx(Ji,{size:16}),"Back"]})})]}),m==="complete"&&n.jsxs("div",{className:"text-center py-8",children:[n.jsx("div",{className:"inline-flex items-center justify-center w-16 h-16 bg-primary/10 rounded-full mb-4",children:n.jsx(Xt,{size:32,className:"text-primary"})}),n.jsx("h3",{className:"font-semibold text-xl mb-2",children:x}),n.jsx("p",{className:"text-muted-foreground",children:"Your project has been created successfully!"}),n.jsxs("div",{className:"mt-4 flex items-center justify-center gap-2",children:[n.jsx(Se,{size:16,className:"animate-spin"}),n.jsx("span",{className:"text-sm text-muted-foreground",children:"Redirecting..."})]})]})]})})}function fx({isOpen:s,title:c,message:o,confirmLabel:u="Confirm",cancelLabel:m="Cancel",variant:g="danger",isLoading:x=!1,onConfirm:y,onCancel:p}){return n.jsx(ca,{open:s,onOpenChange:b=>!b&&p(),children:n.jsxs(ua,{className:"sm:max-w-md",children:[n.jsx(oa,{children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:`p-2 rounded-lg ${g==="danger"?"bg-destructive/10 text-destructive":"bg-primary/10 text-primary"}`,children:n.jsx(ra,{size:20})}),n.jsx(da,{children:c})]})}),n.jsx(vl,{asChild:!0,children:n.jsx("div",{className:"text-muted-foreground",children:o})}),n.jsxs(It,{className:"gap-2 sm:gap-0",children:[n.jsx($,{variant:"outline",onClick:p,disabled:x,children:m}),n.jsx($,{variant:g==="danger"?"destructive":"default",onClick:y,disabled:x,children:x?"Deleting...":u})]})]})})}function Ab({...s}){return n.jsx(cy,{"data-slot":"dropdown-menu",...s})}function Db({...s}){return n.jsx(uy,{"data-slot":"dropdown-menu-trigger",...s})}function _b({className:s,sideOffset:c=4,...o}){return n.jsx(oy,{children:n.jsx(dy,{"data-slot":"dropdown-menu-content",sideOffset:c,className:pe("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",s),...o})})}function ch({className:s,inset:c,variant:o="default",...u}){return n.jsx(fy,{"data-slot":"dropdown-menu-item","data-inset":c,"data-variant":o,className:pe("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",s),...u})}function kb({className:s,...c}){return n.jsx(my,{"data-slot":"dropdown-menu-separator",className:pe("bg-border -mx-1 my-1 h-px",s),...c})}function Mb({projects:s,selectedProject:c,onSelectProject:o,isLoading:u,onSpecCreatingChange:m}){const[g,x]=f.useState(!1),[y,p]=f.useState(!1),[b,z]=f.useState(null),w=iv(),M=k=>{o(k),x(!1)},T=(k,O)=>{k.stopPropagation(),k.preventDefault(),z(O)},D=async()=>{if(b)try{await w.mutateAsync(b),c===b&&o(null),z(null)}catch(k){console.error("Failed to delete project:",k),z(null)}},_=()=>{z(null)},N=s.find(k=>k.name===c);return n.jsxs("div",{className:"relative",children:[n.jsxs(Ab,{open:g,onOpenChange:x,children:[n.jsx(Db,{asChild:!0,children:n.jsxs($,{variant:"outline",className:"min-w-[140px] sm:min-w-[200px] justify-between",disabled:u,title:N?.path,children:[u?n.jsx(Se,{size:18,className:"animate-spin"}):c?n.jsxs(n.Fragment,{children:[n.jsxs("span",{className:"flex items-center gap-2 truncate",children:[n.jsx(er,{size:18,className:"shrink-0"}),n.jsx("span",{className:"truncate",children:c})]}),N&&N.stats.total>0&&n.jsxs(Ae,{className:"ml-2",children:[N.stats.percentage,"%"]})]}):n.jsx("span",{className:"text-muted-foreground",children:"Select Project"}),n.jsx(tr,{size:18,className:`transition-transform ${g?"rotate-180":""}`})]})}),n.jsxs(_b,{align:"start",className:"w-[280px] p-0 flex flex-col",children:[s.length>0?n.jsx("div",{className:"max-h-[300px] overflow-y-auto p-1",children:s.map(k=>n.jsxs(ch,{title:k.path,className:`flex items-center justify-between cursor-pointer ${k.name===c?"bg-primary/10":""}`,onSelect:()=>{o(k.name)},children:[n.jsxs("span",{className:"flex items-center gap-2 flex-1",children:[n.jsx(er,{size:16}),k.name,k.stats.total>0&&n.jsxs("span",{className:"text-sm font-mono text-muted-foreground ml-auto",children:[k.stats.passing,"/",k.stats.total]})]}),n.jsx($,{variant:"ghost",size:"icon-xs",onClick:O=>T(O,k.name),className:"text-muted-foreground hover:text-destructive",children:n.jsx(ln,{size:14})})]},k.name))}):n.jsx("div",{className:"p-4 text-center text-muted-foreground",children:"No projects yet"}),n.jsx(kb,{className:"my-0"}),n.jsx("div",{className:"p-1",children:n.jsxs(ch,{onSelect:()=>{p(!0)},className:"cursor-pointer font-semibold",children:[n.jsx(nn,{size:16}),"New Project"]})})]})]}),n.jsx(Eb,{isOpen:y,onClose:()=>p(!1),onProjectCreated:M,onStepChange:k=>m?.(k==="chat")}),n.jsx(fx,{isOpen:b!==null,title:"Delete Project",message:`Are you sure you want to remove "${b}" from the registry? This will unregister the project but preserve its files on disk.`,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",isLoading:w.isPending,onConfirm:D,onCancel:_})]})}function Ob(){const{activeView:s,setActiveView:c,sidebarCollapsed:o,toggleSidebar:u,selectedProject:m,projects:g,projectsLoading:x,setSelectedProject:y,darkMode:p,toggleDarkMode:b,wsState:z,setIsSpecCreating:w}=Kt(),M=z.browserScreenshots.size,T=z.logs.length;return n.jsxs("aside",{className:pe("h-screen flex flex-col shrink-0 z-30 overflow-hidden","bg-sidebar text-sidebar-foreground","border-r border-sidebar-border","transition-[width] duration-200 ease-[cubic-bezier(0.4,0,0.2,1)]",o?"w-[64px]":"w-[240px]"),children:[n.jsxs("div",{className:"flex-shrink-0 px-3 pt-4 pb-3",children:[n.jsxs("div",{className:pe("flex items-center",o?"justify-center":"gap-2.5"),children:[n.jsx("img",{src:"/logo.png",alt:"AutoForge",className:pe("rounded-full shrink-0 transition-all duration-200",o?"h-8 w-8":"h-7 w-7")}),n.jsx("div",{className:pe("overflow-hidden transition-all duration-200",o?"w-0 opacity-0":"w-auto opacity-100"),children:n.jsx("span",{className:"font-bold text-base tracking-tight uppercase whitespace-nowrap block",children:"AutoForge"})})]}),n.jsx("div",{className:pe("overflow-hidden transition-all duration-200",o?"max-h-0 opacity-0 mt-0":"max-h-20 opacity-100 mt-3"),children:n.jsx(Mb,{projects:g??[],selectedProject:m,onSelectProject:y,isLoading:x,onSpecCreatingChange:w})})]}),n.jsx("div",{className:"mx-3 h-px bg-sidebar-border"}),n.jsx("nav",{className:"flex-1 overflow-y-auto py-3 px-2 space-y-0.5",children:m?n.jsxs(n.Fragment,{children:[!o&&n.jsx("p",{className:"px-3 pb-1 text-[10px] font-semibold uppercase tracking-widest text-sidebar-foreground/40",children:"Views"}),n.jsx(wn,{icon:wy,label:"Dashboard",isActive:s==="dashboard",isCollapsed:o,onClick:()=>c("dashboard"),shortcutKey:"H"}),n.jsx(wn,{icon:zy,label:"Kanban",isActive:s==="kanban",isCollapsed:o,onClick:()=>c("kanban"),shortcutKey:"K"}),n.jsx(wn,{icon:Nl,label:"Graph",isActive:s==="graph",isCollapsed:o,onClick:()=>c("graph"),shortcutKey:"G"}),n.jsx(wn,{icon:qh,label:"Browsers",isActive:s==="browsers",isCollapsed:o,onClick:()=>c("browsers"),shortcutKey:"B",badge:M>0?M:void 0}),n.jsx("div",{className:"my-2 mx-2 h-px bg-sidebar-border/60"}),!o&&n.jsx("p",{className:"px-3 pb-1 text-[10px] font-semibold uppercase tracking-widest text-sidebar-foreground/40",children:"Tools"}),n.jsx(wn,{icon:Lh,label:"Terminal",isActive:s==="terminal",isCollapsed:o,onClick:()=>c("terminal"),shortcutKey:"T"}),n.jsx(wn,{icon:Hh,label:"Logs",isActive:s==="logs",isCollapsed:o,onClick:()=>c("logs"),shortcutKey:"D",badge:T>0?T:void 0}),n.jsx(wn,{icon:Ns,label:"Assistant",isActive:s==="assistant",isCollapsed:o,onClick:()=>c("assistant"),shortcutKey:"A"})]}):!o&&n.jsx("div",{className:"px-3 py-8 text-center",children:n.jsx("p",{className:"text-sm text-sidebar-foreground/40 leading-relaxed",children:"Select a project to get started"})})}),n.jsx("div",{className:"flex-shrink-0 mt-auto px-2 py-2.5 border-t border-sidebar-border/60",children:n.jsxs("div",{className:pe("flex flex-col",o?"items-center gap-1":"gap-0.5"),children:[n.jsx(Xi,{icon:Gh,label:"Settings",shortcut:",",collapsed:o,onClick:()=>c("settings")}),n.jsx(Xi,{icon:p?Qh:Yh,label:p?"Light mode":"Dark mode",collapsed:o,onClick:b}),n.jsx(Xi,{icon:Ty,label:"Docs",collapsed:o,onClick:()=>window.open("https://autoforge.cc","_blank")}),n.jsx("div",{className:pe("mt-1 pt-1",!o&&"border-t border-sidebar-border/40"),children:n.jsx(Xi,{icon:o?Ey:Ay,label:o?"Expand sidebar":"Collapse",shortcut:"[",collapsed:o,onClick:u})})]})})]})}function Xi({icon:s,label:c,shortcut:o,collapsed:u,onClick:m}){return u?n.jsxs(Gu,{children:[n.jsx(Qu,{asChild:!0,children:n.jsx($,{variant:"ghost",size:"icon",onClick:m,"aria-label":c,className:"h-8 w-8 text-sidebar-foreground/60 hover:text-sidebar-foreground hover:bg-sidebar-accent transition-colors duration-150",children:n.jsx(s,{size:16})})}),n.jsxs(Yu,{side:"right",sideOffset:8,children:[c,o&&n.jsx("kbd",{className:"ml-2 text-[10px] font-mono opacity-60",children:o})]})]}):n.jsxs("button",{onClick:m,className:pe("group flex items-center gap-3 w-full h-8 px-3 rounded-lg text-sm","text-sidebar-foreground/60 hover:text-sidebar-foreground","hover:bg-sidebar-accent transition-all duration-150","active:scale-[0.98]"),children:[n.jsx(s,{size:16,className:"shrink-0"}),n.jsx("span",{className:"flex-1 text-left truncate text-[13px]",children:c}),o&&n.jsx("kbd",{className:"text-[10px] font-mono opacity-0 group-hover:opacity-60 transition-opacity duration-200",children:o})]})}function Rb(s){return ft({queryKey:["schedules",s],queryFn:()=>P0(s),enabled:!!s})}function Ub(s){const c=Ge();return Fe({mutationFn:o=>ev(s,o),onSuccess:()=>{c.invalidateQueries({queryKey:["schedules",s]}),c.invalidateQueries({queryKey:["nextRun",s]})}})}function Bb(s){const c=Ge();return Fe({mutationFn:o=>av(s,o),onSuccess:()=>{c.invalidateQueries({queryKey:["schedules",s]}),c.invalidateQueries({queryKey:["nextRun",s]})}})}function qb(s){const c=Ge();return Fe({mutationFn:({scheduleId:o,enabled:u})=>tv(s,o,{enabled:u}),onSuccess:()=>{c.invalidateQueries({queryKey:["schedules",s]}),c.invalidateQueries({queryKey:["nextRun",s]})}})}function Lb(s){return ft({queryKey:["nextRun",s],queryFn:()=>nv(s),enabled:!!s,refetchInterval:3e4})}function Hb(s){const[c,o]=s.split(":").map(Number),u=new Date(Date.UTC(2e3,0,15,c,o,0,0)),m=u.getDate();let g=0;m===14&&(g=-1),m===16&&(g=1);const x=u.getHours(),y=u.getMinutes();return{time:`${String(x).padStart(2,"0")}:${String(y).padStart(2,"0")}`,dayShift:g}}function Gb(s){const[c,o]=s.split(":").map(Number),u=new Date(2e3,0,15,c,o,0,0),m=u.getUTCDate();let g=0;m===14&&(g=-1),m===16&&(g=1);const x=u.getUTCHours(),y=u.getUTCMinutes();return{time:`${String(x).padStart(2,"0")}:${String(y).padStart(2,"0")}`,dayShift:g}}function Qb(s){let c=0;return s&1&&(c|=2),s&2&&(c|=4),s&4&&(c|=8),s&8&&(c|=16),s&16&&(c|=32),s&32&&(c|=64),s&64&&(c|=1),c}function Yb(s){let c=0;return s&1&&(c|=64),s&2&&(c|=1),s&4&&(c|=2),s&8&&(c|=4),s&16&&(c|=8),s&32&&(c|=16),s&64&&(c|=32),c}function uh(s,c){return c===1?Qb(s):c===-1?Yb(s):s}function oh(s){const c=Math.floor(s/60),o=s%60;return c===0?`${o}m`:o===0?`${c}h`:`${c}h ${o}m`}function Vb(s){const c=new Date(s),o=new Date,u=c.getTime()-o.getTime();return Math.floor(u/(1e3*60*60))<24?c.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"}):c.toLocaleString([],{weekday:"short",hour:"numeric",minute:"2-digit"})}function Xb(s){return new Date(s).toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}const dh=[{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 fh(s,c){return(s&c)!==0}function Kb(s,c){return s^c}function Fb({className:s,...c}){return n.jsx(hy,{"data-slot":"checkbox",className:pe("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",s),...c,children:n.jsx(xy,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:n.jsx(Da,{className:"size-3.5"})})})}function ku({className:s,orientation:c="horizontal",decorative:o=!0,...u}){return n.jsx(gy,{"data-slot":"separator",decorative:o,orientation:c,className:pe("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",s),...u})}function Zb({projectName:s,isOpen:c,onClose:o}){const u=f.useRef(null),m=f.useRef(null),{data:g,isLoading:x}=Rb(s),y=Ub(s),p=Bb(s),b=qb(s),[z,w]=f.useState({start_time:"22:00",duration_minutes:240,days_of_week:31,enabled:!0,yolo_mode:!1,model:null,max_concurrency:3}),[M,T]=f.useState(null);f.useEffect(()=>{c&&m.current&&m.current.focus()},[c]);const D=g?.schedules||[],_=async()=>{try{if(T(null),z.days_of_week===0){T("Please select at least one day");return}if(z.duration_minutes<1||z.duration_minutes>1440){T("Duration must be between 1 and 1440 minutes");return}const{time:A,dayShift:S}=Gb(z.start_time),L=uh(z.days_of_week,S),J={...z,start_time:A,days_of_week:L};await y.mutateAsync(J),w({start_time:"22:00",duration_minutes:240,days_of_week:31,enabled:!0,yolo_mode:!1,model:null,max_concurrency:3})}catch(A){T(A instanceof Error?A.message:"Failed to create schedule")}},N=async(A,S)=>{try{T(null),await b.mutateAsync({scheduleId:A,enabled:!S})}catch(L){T(L instanceof Error?L.message:"Failed to toggle schedule")}},k=async A=>{if(confirm("Are you sure you want to delete this schedule?"))try{T(null),await p.mutateAsync(A)}catch(S){T(S instanceof Error?S.message:"Failed to delete schedule")}},O=A=>{w(S=>({...S,days_of_week:Kb(S.days_of_week,A)}))};return n.jsx(ca,{open:c,onOpenChange:A=>!A&&o(),children:n.jsxs(ua,{ref:u,className:"sm:max-w-[650px] max-h-[80vh] flex flex-col p-0",children:[n.jsx(oa,{className:"p-6 pb-4",children:n.jsxs(da,{className:"flex items-center gap-2",children:[n.jsx(gl,{size:24,className:"text-primary"}),"Agent Schedules"]})}),n.jsxs("div",{className:"flex-1 min-h-0 overflow-y-auto px-6",children:[M&&n.jsx(lt,{variant:"destructive",className:"mb-4",children:n.jsx(st,{children:M})}),x&&n.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"Loading schedules..."}),!x&&D.length>0&&n.jsx("div",{className:"space-y-3 mb-6",children:D.map(A=>{const{time:S,dayShift:L}=Hb(A.start_time),J=oh(A.duration_minutes),F=uh(A.days_of_week,L);return n.jsx(Te,{children:n.jsx(ke,{className:"p-4",children:n.jsxs("div",{className:"flex items-start justify-between gap-4",children:[n.jsxs("div",{className:"flex-1",children:[n.jsxs("div",{className:"flex items-baseline gap-2 mb-2",children:[n.jsx("span",{className:"text-lg font-semibold",children:S}),n.jsxs("span",{className:"text-sm text-muted-foreground",children:["for ",J]})]}),n.jsx("div",{className:"flex gap-1 mb-2",children:dh.map(te=>{const Y=fh(F,te.bit);return n.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:te.label},te.label)})}),n.jsxs("div",{className:"flex gap-3 text-xs text-muted-foreground",children:[A.yolo_mode&&n.jsx("span",{className:"font-semibold text-yellow-600",children:"YOLO mode"}),n.jsxs("span",{className:"flex items-center gap-1",children:[n.jsx(Nl,{size:12}),A.max_concurrency,"x"]}),A.model&&n.jsxs("span",{children:["Model: ",A.model]}),A.crash_count>0&&n.jsxs("span",{className:"text-destructive",children:["Crashes: ",A.crash_count]})]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx($,{variant:"ghost",size:"sm",onClick:()=>N(A.id,A.enabled),disabled:b.isPending,className:A.enabled?"text-primary":"text-muted-foreground",children:A.enabled?"Enabled":"Disabled"}),n.jsx($,{variant:"ghost",size:"icon-sm",onClick:()=>k(A.id),disabled:p.isPending,className:"text-destructive hover:text-destructive",children:n.jsx(ln,{size:16})})]})]})})},A.id)})}),!x&&D.length===0&&n.jsxs("div",{className:"text-center py-6 text-muted-foreground mb-6",children:[n.jsx(gl,{size:48,className:"mx-auto mb-2 opacity-50"}),n.jsx("p",{children:"No schedules configured yet"})]}),n.jsx(ku,{className:"my-6"}),n.jsxs("div",{className:"pb-6",children:[n.jsx("h3",{className:"text-lg font-semibold mb-4",children:"Add New Schedule"}),n.jsxs("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{children:"Start Time (Local)"}),n.jsx(nt,{type:"time",value:z.start_time,onChange:A=>w(S=>({...S,start_time:A.target.value}))})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{children:"Duration (minutes)"}),n.jsx(nt,{type:"number",min:"1",max:"1440",value:z.duration_minutes,onChange:A=>{const S=parseInt(A.target.value,10),L=isNaN(S)?1:Math.max(1,Math.min(1440,S));w(J=>({...J,duration_minutes:L}))}}),n.jsx("p",{className:"text-xs text-muted-foreground",children:oh(z.duration_minutes)})]})]}),n.jsxs("div",{className:"mb-4 space-y-2",children:[n.jsx(Ee,{children:"Days"}),n.jsx("div",{className:"flex gap-2",children:dh.map(A=>{const S=fh(z.days_of_week,A.bit);return n.jsx($,{variant:S?"default":"outline",size:"sm",onClick:()=>O(A.bit),children:A.label},A.label)})})]}),n.jsxs("div",{className:"mb-4 flex items-center space-x-2",children:[n.jsx(Fb,{id:"yolo-mode",checked:z.yolo_mode,onCheckedChange:A=>w(S=>({...S,yolo_mode:A===!0}))}),n.jsx(Ee,{htmlFor:"yolo-mode",className:"font-normal",children:"YOLO Mode (skip testing)"})]}),n.jsxs("div",{className:"mb-4 space-y-2",children:[n.jsx(Ee,{children:"Concurrent Agents (1-5)"}),n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(Nl,{size:16,className:z.max_concurrency>1?"text-primary":"text-muted-foreground"}),n.jsx("input",{type:"range",min:1,max:5,value:z.max_concurrency,onChange:A=>w(S=>({...S,max_concurrency:Number(A.target.value)})),className:"flex-1 h-2 accent-primary cursor-pointer"}),n.jsxs("span",{className:"text-sm font-medium min-w-[2rem] text-center",children:[z.max_concurrency,"x"]})]}),n.jsxs("p",{className:"text-xs text-muted-foreground",children:["Run ",z.max_concurrency," agent",z.max_concurrency>1?"s":""," in parallel for faster feature completion"]})]}),n.jsxs("div",{className:"mb-4 space-y-2",children:[n.jsx(Ee,{children:"Model (optional, defaults to global setting)"}),n.jsx(nt,{placeholder:"e.g., claude-3-5-sonnet-20241022",value:z.model||"",onChange:A=>w(S=>({...S,model:A.target.value||null}))})]})]})]}),n.jsxs(It,{className:"p-6 pt-4 border-t",children:[n.jsx($,{variant:"outline",onClick:o,children:"Close"}),n.jsx($,{onClick:_,disabled:y.isPending||z.days_of_week===0,children:y.isPending?"Creating...":"Create Schedule"})]})]})})}function $b({projectName:s,status:c,defaultConcurrency:o=3}){const{data:u}=qu(),m=u?.yolo_mode??!1,[g,x]=f.useState(o);f.useEffect(()=>{x(o)},[o]);const y=cv(s),p=f.useRef(null),b=f.useCallback(te=>{x(te),p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{y.mutate({default_concurrency:te})},500)},[y]);f.useEffect(()=>()=>{p.current&&clearTimeout(p.current)},[]);const z=xv(s),w=gv(s),M=pv(s),T=yv(s),{data:D}=Lb(s),[_,N]=f.useState(!1),k=z.isPending||w.isPending||M.isPending||T.isPending,O=c==="running"||c==="paused"||c==="pausing"||c==="paused_graceful",A=c==="loading",S=g>1,L=()=>z.mutate({yoloMode:m,parallelMode:S,maxConcurrency:g,testingAgentRatio:u?.testing_agent_ratio}),J=()=>w.mutate(),F=c==="stopped"||c==="crashed";return n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"flex items-center gap-2 sm:gap-4",children:[F&&n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Nl,{size:16,className:S?"text-primary":"text-muted-foreground"}),n.jsx("input",{type:"range",min:1,max:5,value:g,onChange:te=>b(Number(te.target.value)),disabled:k,className:"w-16 h-2 accent-primary cursor-pointer",title:`${g} concurrent agent${g>1?"s":""}`,"aria-label":"Set number of concurrent agents"}),n.jsxs("span",{className:"text-xs font-semibold min-w-[1.5rem] text-center",children:[g,"x"]})]}),O&&S&&n.jsxs(Ae,{variant:"secondary",className:"gap-1",children:[n.jsx(Nl,{size:14}),g,"x"]}),D?.is_currently_running&&D.next_end&&n.jsxs(Ae,{variant:"default",className:"gap-1",children:[n.jsx(gl,{size:14}),"Running until ",Xb(D.next_end)]}),!D?.is_currently_running&&D?.next_start&&n.jsxs(Ae,{variant:"secondary",className:"gap-1",children:[n.jsx(gl,{size:14}),"Next: ",Vb(D.next_start)]}),A?n.jsx($,{disabled:!0,variant:"outline",size:"sm",children:n.jsx(Se,{size:18,className:"animate-spin"})}):F?n.jsx($,{onClick:L,disabled:k,variant:m?"secondary":"default",size:"sm",title:m?"Start Agent (YOLO Mode)":"Start Agent",children:k?n.jsx(Se,{size:18,className:"animate-spin"}):n.jsx(Dy,{size:18})}):n.jsxs("div",{className:"flex items-center gap-1.5",children:[c==="pausing"&&n.jsxs(Ae,{variant:"secondary",className:"gap-1 animate-pulse",children:[n.jsx(Se,{size:12,className:"animate-spin"}),"Pausing..."]}),c==="paused_graceful"&&n.jsxs(n.Fragment,{children:[n.jsx(Ae,{variant:"outline",className:"gap-1",children:"Paused"}),n.jsx($,{onClick:()=>T.mutate(),disabled:k,variant:"default",size:"sm",title:"Resume agent",children:T.isPending?n.jsx(Se,{size:18,className:"animate-spin"}):n.jsx(_y,{size:18})})]}),c==="running"&&n.jsx($,{onClick:()=>M.mutate(),disabled:k,variant:"outline",size:"sm",title:"Pause agent (finish current work first)",children:M.isPending?n.jsx(Se,{size:18,className:"animate-spin"}):n.jsx(ky,{size:18})}),n.jsx($,{onClick:J,disabled:k,variant:"destructive",size:"sm",title:"Stop Agent (immediate)",children:w.isPending?n.jsx(Se,{size:18,className:"animate-spin"}):n.jsx(Vh,{size:18})})]}),n.jsx($,{variant:"outline",size:"sm",onClick:()=>N(!0),title:"Manage schedules",children:n.jsx(gl,{size:18})})]}),n.jsx(Zb,{projectName:s,isOpen:_,onClose:()=>N(!1)})]})}function Jb({projectName:s,isOpen:c,onClose:o,autoStartOnSave:u=!1}){const{data:m}=zv(c?s:null),g=Tv(s),x=Ge(),[y,p]=f.useState(""),[b,z]=f.useState(null),[w,M]=f.useState(!1);f.useEffect(()=>{c&&m&&(p(m.custom_command??m.effective_command??""),z(null))},[c,m]);const T=!!m?.custom_command,D=async()=>{const N=y.trim();if(!N){z("Please enter a dev server command.");return}M(!0),z(null);try{await g.mutateAsync(N),u&&(await Fh(s),x.invalidateQueries({queryKey:["dev-server-status",s]})),o()}catch(k){z(k instanceof Error?k.message:"Failed to save configuration")}finally{M(!1)}},_=async()=>{M(!0),z(null);try{await g.mutateAsync(null),p(m?.detected_command??"")}catch(N){z(N instanceof Error?N.message:"Failed to clear configuration")}finally{M(!1)}};return n.jsx(ca,{open:c,onOpenChange:N=>!N&&o(),children:n.jsxs(ua,{className:"sm:max-w-lg",children:[n.jsx(oa,{children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"p-2 rounded-lg bg-primary/10 text-primary",children:n.jsx(Lh,{size:20})}),n.jsx(da,{children:"Dev Server Configuration"})]})}),n.jsx(vl,{asChild:!0,children:n.jsxs("div",{className:"space-y-4",children:[n.jsx("div",{className:"rounded-lg border-2 border-border bg-muted/50 p-3 text-sm",children:m?.detected_type?n.jsxs("p",{children:["Detected project type: ",n.jsx("strong",{className:"text-foreground",children:m.detected_type}),m.detected_command&&n.jsxs("span",{className:"text-muted-foreground",children:[" — ",m.detected_command]})]}):n.jsx("p",{className:"text-muted-foreground",children:"No project type detected. Enter a custom command below."})}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{htmlFor:"dev-command",className:"text-foreground",children:"Dev server command"}),n.jsx(nt,{id:"dev-command",value:y,onChange:N=>{p(N.target.value),z(null)},placeholder:"npm run dev",onKeyDown:N=>{N.key==="Enter"&&!w&&D()}}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"Allowed runners: npm, npx, pnpm, yarn, python, uvicorn, flask, poetry, cargo, go"})]}),T&&n.jsxs($,{variant:"outline",size:"sm",onClick:_,disabled:w,className:"gap-1.5",children:[n.jsx(an,{size:14}),"Clear custom command (use auto-detection)"]}),b&&n.jsx("p",{className:"text-sm font-mono text-destructive",children:b})]})}),n.jsxs(It,{className:"gap-2 sm:gap-0",children:[n.jsx($,{variant:"outline",onClick:o,disabled:w,children:"Cancel"}),n.jsx($,{onClick:D,disabled:w,children:w?n.jsxs(n.Fragment,{children:[n.jsx(Se,{size:16,className:"animate-spin mr-1.5"}),"Saving..."]}):u?"Save & Start":"Save"})]})]})})}function Wb(s){const c=Ge();return Fe({mutationFn:()=>Fh(s),onSuccess:()=>{c.invalidateQueries({queryKey:["dev-server-status",s]})}})}function Ib(s){const c=Ge();return Fe({mutationFn:()=>K0(s),onSuccess:()=>{c.invalidateQueries({queryKey:["dev-server-status",s]})}})}function Pb({projectName:s,status:c,url:o}){const u=Wb(s),m=Ib(s),[g,x]=f.useState(!1),[y,p]=f.useState(!1),b=u.isPending||m.isPending,z=()=>{m.reset(),u.mutate(void 0,{onError:A=>{A.message?.includes("No dev command available")&&(p(!0),x(!0))}})},w=()=>{u.reset(),m.mutate()},M=()=>{p(!1),x(!0)},T=()=>{x(!1),u.error?.message?.includes("No dev command available")&&u.reset()},D=c==="stopped"||c==="crashed",_=c==="running",N=c==="crashed",k=u.error,O=k&&!k.message?.includes("No dev command available");return n.jsxs("div",{className:"flex items-center gap-2",children:[D?n.jsxs(n.Fragment,{children:[n.jsx($,{onClick:z,disabled:b,variant:N?"destructive":"outline",size:"sm",title:N?"Dev Server Crashed - Click to Restart":"Start Dev Server","aria-label":N?"Restart Dev Server (crashed)":"Start Dev Server",children:b?n.jsx(Se,{size:18,className:"animate-spin"}):N?n.jsx(ra,{size:18}):n.jsx(My,{size:18})}),n.jsx($,{onClick:M,variant:"ghost",size:"sm",title:"Configure Dev Server","aria-label":"Configure Dev Server",children:n.jsx(Oy,{size:16})})]}):n.jsx($,{onClick:w,disabled:b,size:"sm",className:"bg-primary text-primary-foreground hover:bg-primary/90",title:"Stop Dev Server","aria-label":"Stop Dev Server",children:b?n.jsx(Se,{size:18,className:"animate-spin"}):n.jsx(Vh,{size:18})}),_&&o&&n.jsx($,{asChild:!0,size:"sm",className:"bg-primary text-primary-foreground hover:bg-primary/90 gap-1",children:n.jsxs("a",{href:o,target:"_blank",rel:"noopener noreferrer",title:`Open ${o} in new tab`,children:[n.jsx("span",{className:"font-mono text-xs",children:o}),n.jsx(Ru,{size:14})]})}),(O||m.error)&&n.jsx("span",{className:"text-xs font-mono text-destructive ml-2",children:String((O?k:m.error)?.message||"Operation failed")}),n.jsx(Jb,{projectName:s,isOpen:g,onClose:T,autoStartOnSave:y})]})}function ej(){const{selectedProject:s,selectedProjectData:c,wsState:o,settings:u,setShowResetModal:m}=Kt();return n.jsxs("div",{className:"sticky top-0 z-20 w-full flex items-center gap-3 bg-card/80 backdrop-blur-md border-b border-border px-4 py-2 shrink-0",children:[n.jsx($b,{projectName:s,status:o.agentStatus,defaultConcurrency:c?.default_concurrency}),n.jsx(Pb,{projectName:s,status:o.devServerStatus,url:o.devServerUrl}),n.jsx("div",{className:"flex-1"}),u?.ollama_mode&&n.jsxs("div",{className:"hidden sm:flex items-center gap-1.5 px-2 py-1 bg-card rounded-lg border border-border shadow-sm",children:[n.jsx("img",{src:"/ollama.png",alt:"Ollama",className:"w-4 h-4"}),n.jsx("span",{className:"text-[11px] font-bold text-foreground",children:"Ollama"})]}),u?.glm_mode&&n.jsx(Ae,{className:"hidden sm:inline-flex bg-purple-500 text-white hover:bg-purple-600 text-[11px]",children:"GLM"}),n.jsxs(Gu,{children:[n.jsx(Qu,{asChild:!0,children:n.jsx($,{onClick:()=>m(!0),variant:"outline",size:"sm",disabled:["running","pausing","paused_graceful"].includes(o.agentStatus),className:"h-8",children:n.jsx(an,{size:16})})}),n.jsx(Yu,{children:"Reset (R)"})]})]})}function tj({onComplete:s}){const{data:c,isLoading:o,error:u}=vv(),{data:m,error:g}=bv(),x=m?.status==="healthy"&&!g,y=x&&c?.claude_cli&&c?.credentials,p=f.useCallback(()=>{y&&s()},[y,s]);return f.useEffect(()=>{p()},[p]),n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center p-4",children:n.jsx(Te,{className:"w-full max-w-lg",children:n.jsxs(ke,{className:"p-8",children:[n.jsx("h1",{className:"font-display text-3xl font-bold text-center mb-2",children:"Setup Wizard"}),n.jsx("p",{className:"text-center text-muted-foreground mb-8",children:"Let's make sure everything is ready to go"}),n.jsxs("div",{className:"space-y-4",children:[n.jsx(Ki,{label:"Backend Server",description:"FastAPI server is running",status:g?"error":x?"success":"loading"}),n.jsx(Ki,{label:"Claude CLI",description:"Claude Code CLI is installed",status:o?"loading":u?"error":c?.claude_cli?"success":"error",helpLink:"https://docs.anthropic.com/claude/claude-code",helpText:"Install Claude Code"}),n.jsx(Ki,{label:"Anthropic Credentials",description:"API credentials are configured",status:o?"loading":u?"error":c?.credentials?"success":"error",helpLink:"https://console.anthropic.com/account/keys",helpText:"Get API Key"}),n.jsx(Ki,{label:"Node.js",description:"Node.js is installed (for UI dev)",status:o?"loading":u?"error":c?.node?"success":"warning",helpLink:"https://nodejs.org",helpText:"Install Node.js",optional:!0})]}),y&&n.jsx($,{onClick:s,className:"w-full mt-8 bg-green-500 hover:bg-green-600 text-white",children:"Continue to Dashboard"}),(g||u)&&n.jsxs(lt,{variant:"destructive",className:"mt-6",children:[n.jsx(bb,{children:"Setup Error"}),n.jsx(st,{children:g?"Cannot connect to the backend server. Make sure to run start_ui.py first.":"Failed to check setup status."})]})]})})})}function Ki({label:s,description:c,status:o,helpLink:u,helpText:m,optional:g}){return n.jsxs("div",{className:"flex items-start gap-4 p-4 bg-background border-2 border-border rounded-lg",children:[n.jsx("div",{className:"flex-shrink-0 mt-1",children:o==="success"?n.jsx(Xt,{size:24,className:"text-green-500"}):o==="error"?n.jsx($m,{size:24,className:"text-destructive"}):o==="warning"?n.jsx($m,{size:24,className:"text-yellow-500"}):n.jsx(Se,{size:24,className:"animate-spin text-primary"})}),n.jsxs("div",{className:"flex-1",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"font-display font-bold text-foreground",children:s}),g&&n.jsx("span",{className:"text-xs text-muted-foreground",children:"(optional)"})]}),n.jsx("p",{className:"text-sm text-muted-foreground",children:c}),(o==="error"||o==="warning")&&u&&n.jsxs("a",{href:u,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 mt-2 text-sm text-primary hover:underline",children:[m," ",n.jsx(Ru,{size:12})]})]})]})}function aj({projectName:s,projectPath:c,onCreateWithClaude:o,onEditManually:u}){return n.jsx("div",{className:"max-w-2xl mx-auto mt-8",children:n.jsxs(Te,{className:"border-2",children:[n.jsxs(Tn,{className:"text-center",children:[n.jsx(yl,{className:"text-2xl font-display",children:"Project Setup Required"}),n.jsxs(xb,{className:"text-base",children:[n.jsx("span",{className:"font-semibold",children:s})," needs an app spec to get started"]}),c&&n.jsxs("div",{className:"flex items-center justify-center gap-2 text-sm text-muted-foreground mt-2",children:[n.jsx(er,{size:14}),n.jsx("code",{className:"bg-muted px-2 py-0.5 rounded text-xs",children:c})]})]}),n.jsxs(ke,{className:"space-y-4",children:[n.jsx("p",{className:"text-center text-muted-foreground",children:"Choose how you want to create your app specification:"}),n.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[n.jsx(Te,{className:"cursor-pointer border-2 transition-all hover:border-primary hover:shadow-md",onClick:o,children:n.jsxs(ke,{className:"pt-6 text-center space-y-3",children:[n.jsx("div",{className:"w-12 h-12 mx-auto bg-primary/10 rounded-full flex items-center justify-center",children:n.jsx(En,{className:"text-primary",size:24})}),n.jsx("h3",{className:"font-semibold text-lg",children:"Create with Claude"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Describe your app idea and Claude will help create a detailed specification"}),n.jsxs($,{className:"w-full",children:[n.jsx(En,{size:16,className:"mr-2"}),"Start Chat"]})]})}),n.jsx(Te,{className:"cursor-pointer border-2 transition-all hover:border-primary hover:shadow-md",onClick:u,children:n.jsxs(ke,{className:"pt-6 text-center space-y-3",children:[n.jsx("div",{className:"w-12 h-12 mx-auto bg-muted rounded-full flex items-center justify-center",children:n.jsx(Eu,{className:"text-muted-foreground",size:24})}),n.jsx("h3",{className:"font-semibold text-lg",children:"Edit Templates Manually"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Create the prompts directory and edit template files yourself"}),n.jsxs($,{variant:"outline",className:"w-full",children:[n.jsx(Eu,{size:16,className:"mr-2"}),"View Templates"]})]})})]}),n.jsx("p",{className:"text-center text-xs text-muted-foreground pt-4",children:"The app spec tells the agent what to build. It includes the application name, description, tech stack, and feature requirements."})]})]})})}const nj=3e4;function lj(s){const c=s.trim();return!(/^\[Tool:/.test(c)||/^\s*Input:\s*\{/.test(c)||/^\[(Done|Error)\]/.test(c)||/^Output:/.test(c)||/^[[{]/.test(c)||c.length<10||/^[A-Za-z]:\\/.test(c)||/^\/[a-z]/.test(c))}function sj(s){for(let c=s.length-1;c>=0;c--)if(lj(s[c].line))return s[c].line.trim();return null}function ij({passing:s,total:c,percentage:o,isConnected:u,logs:m=[],agentStatus:g}){const x=f.useMemo(()=>sj(m),[m]),[y,p]=f.useState(null),[b,z]=f.useState(!0),w=m.length>0?new Date(m[m.length-1].timestamp).getTime():0,M=f.useMemo(()=>x?g==="running"||g==="pausing"?!0:g==="paused"?Date.now()-w<nj:!1:!1,[x,g,w]);f.useEffect(()=>{if(x!==y&&x){z(!1);const D=setTimeout(()=>{p(x),z(!0)},150);return()=>clearTimeout(D)}},[x,y]);const T=g==="running";return n.jsxs(Te,{children:[n.jsxs(Tn,{className:"flex-row items-center justify-between space-y-0 pb-0",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(yl,{className:"text-xl uppercase tracking-wide",children:"Progress"}),n.jsx(Ae,{variant:u?"default":"destructive",className:"gap-1",children:u?n.jsxs(n.Fragment,{children:[n.jsx(jl,{size:14}),"Live"]}):n.jsxs(n.Fragment,{children:[n.jsx(bl,{size:14}),"Offline"]})})]}),n.jsxs("div",{className:"flex items-baseline gap-1",children:[n.jsx("span",{className:"font-mono text-lg font-bold text-primary",children:s}),n.jsx("span",{className:"text-sm text-muted-foreground",children:"/"}),n.jsx("span",{className:"font-mono text-lg font-bold",children:c})]})]}),n.jsxs(ke,{className:"pt-3 pb-3",children:[n.jsxs("div",{className:"flex items-center gap-4",children:[n.jsx("div",{className:"h-2.5 bg-muted rounded-full overflow-hidden flex-1",children:n.jsx("div",{className:"h-full bg-primary rounded-full transition-all duration-500 ease-out",style:{width:`${o}%`}})}),n.jsxs("span",{className:"text-sm font-bold tabular-nums text-muted-foreground w-12 text-right",children:[o.toFixed(1),"%"]})]}),n.jsx("div",{className:`
48
- transition-all duration-300 ease-out overflow-hidden
49
- ${M&&y?"opacity-100 max-h-10 mt-3":"opacity-0 max-h-0 mt-0"}
50
- `,children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs("div",{className:"relative shrink-0",children:[n.jsx(Ry,{size:16,className:"text-primary",strokeWidth:2.5}),T&&n.jsx(En,{size:8,className:"absolute -top-1 -right-1 text-yellow-500 animate-pulse"})]}),n.jsx("p",{className:"font-mono text-sm truncate text-muted-foreground transition-all duration-150 ease-out",style:{opacity:b?1:0,transform:b?"translateY(0)":"translateY(-4px)"},children:y?.replace(/:$/,"")})]})})]})]})}const rj={primary:"#6B7280",secondary:"#9CA3AF",accent:"#F3F4F6"},cj={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 uj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"16",y:"20",width:"32",height:"28",rx:"4",fill:s.primary}),n.jsx("rect",{x:"12",y:"8",width:"40",height:"24",rx:"4",fill:s.secondary}),n.jsx("circle",{cx:"32",cy:"4",r:"4",fill:s.primary,className:"animate-pulse"}),n.jsx("rect",{x:"30",y:"4",width:"4",height:"8",fill:s.primary}),n.jsx("circle",{cx:"24",cy:"18",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"18",r:"4",fill:"white"}),n.jsx("circle",{cx:"25",cy:"18",r:"2",fill:s.primary}),n.jsx("circle",{cx:"41",cy:"18",r:"2",fill:s.primary}),n.jsx("rect",{x:"26",y:"24",width:"12",height:"2",rx:"1",fill:"white"}),n.jsx("rect",{x:"6",y:"24",width:"8",height:"4",rx:"2",fill:s.primary}),n.jsx("rect",{x:"50",y:"24",width:"8",height:"4",rx:"2",fill:s.primary})]})}function oj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"12,12 20,28 4,28",fill:s.primary}),n.jsx("polygon",{points:"52,12 60,28 44,28",fill:s.primary}),n.jsx("polygon",{points:"14,14 18,26 8,26",fill:s.accent}),n.jsx("polygon",{points:"50,14 56,26 44,26",fill:s.accent}),n.jsx("ellipse",{cx:"32",cy:"36",rx:"24",ry:"22",fill:s.primary}),n.jsx("ellipse",{cx:"32",cy:"40",rx:"18",ry:"14",fill:s.accent}),n.jsx("ellipse",{cx:"24",cy:"32",rx:"4",ry:"5",fill:"white"}),n.jsx("ellipse",{cx:"40",cy:"32",rx:"4",ry:"5",fill:"white"}),n.jsx("circle",{cx:"25",cy:"33",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"33",r:"2",fill:"#1a1a1a"}),n.jsx("ellipse",{cx:"32",cy:"42",rx:"4",ry:"3",fill:s.primary}),n.jsx("line",{x1:"8",y1:"38",x2:"18",y2:"40",stroke:s.primary,strokeWidth:"2"}),n.jsx("line",{x1:"8",y1:"44",x2:"18",y2:"44",stroke:s.primary,strokeWidth:"2"}),n.jsx("line",{x1:"46",y1:"40",x2:"56",y2:"38",stroke:s.primary,strokeWidth:"2"}),n.jsx("line",{x1:"46",y1:"44",x2:"56",y2:"44",stroke:s.primary,strokeWidth:"2"})]})}function dj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M12,48 Q8,56 12,60 Q16,64 20,58",fill:s.secondary}),n.jsx("path",{d:"M22,50 Q20,58 24,62",fill:s.secondary}),n.jsx("path",{d:"M32,52 Q32,60 36,62",fill:s.secondary}),n.jsx("path",{d:"M42,50 Q44,58 40,62",fill:s.secondary}),n.jsx("path",{d:"M52,48 Q56,56 52,60 Q48,64 44,58",fill:s.secondary}),n.jsx("ellipse",{cx:"32",cy:"32",rx:"22",ry:"24",fill:s.primary}),n.jsx("ellipse",{cx:"24",cy:"28",rx:"6",ry:"8",fill:"white"}),n.jsx("ellipse",{cx:"40",cy:"28",rx:"6",ry:"8",fill:"white"}),n.jsx("ellipse",{cx:"25",cy:"30",rx:"3",ry:"4",fill:s.primary}),n.jsx("ellipse",{cx:"41",cy:"30",rx:"3",ry:"4",fill:s.primary}),n.jsx("path",{d:"M24,42 Q32,48 40,42",stroke:s.accent,strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function fj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"14,8 22,24 6,20",fill:s.primary}),n.jsx("polygon",{points:"50,8 58,20 42,24",fill:s.primary}),n.jsx("ellipse",{cx:"32",cy:"40",rx:"20",ry:"18",fill:s.primary}),n.jsx("circle",{cx:"32",cy:"28",r:"20",fill:s.secondary}),n.jsx("circle",{cx:"24",cy:"26",r:"10",fill:s.accent}),n.jsx("circle",{cx:"40",cy:"26",r:"10",fill:s.accent}),n.jsx("circle",{cx:"24",cy:"26",r:"6",fill:"white"}),n.jsx("circle",{cx:"40",cy:"26",r:"6",fill:"white"}),n.jsx("circle",{cx:"25",cy:"27",r:"3",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"27",r:"3",fill:"#1a1a1a"}),n.jsx("polygon",{points:"32,32 28,40 36,40",fill:"#F97316"}),n.jsx("ellipse",{cx:"32",cy:"46",rx:"10",ry:"8",fill:s.accent})]})}function mj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("ellipse",{cx:"14",cy:"32",rx:"10",ry:"14",fill:s.accent,opacity:"0.8",className:"animate-pulse"}),n.jsx("ellipse",{cx:"50",cy:"32",rx:"10",ry:"14",fill:s.accent,opacity:"0.8",className:"animate-pulse"}),n.jsx("ellipse",{cx:"32",cy:"36",rx:"14",ry:"20",fill:s.primary}),n.jsx("ellipse",{cx:"32",cy:"30",rx:"12",ry:"6",fill:"#1a1a1a"}),n.jsx("ellipse",{cx:"32",cy:"44",rx:"12",ry:"6",fill:"#1a1a1a"}),n.jsx("circle",{cx:"32",cy:"16",r:"12",fill:s.primary}),n.jsx("line",{x1:"26",y1:"8",x2:"22",y2:"2",stroke:"#1a1a1a",strokeWidth:"2"}),n.jsx("line",{x1:"38",y1:"8",x2:"42",y2:"2",stroke:"#1a1a1a",strokeWidth:"2"}),n.jsx("circle",{cx:"22",cy:"2",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"42",cy:"2",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"28",cy:"14",r:"4",fill:"white"}),n.jsx("circle",{cx:"36",cy:"14",r:"4",fill:"white"}),n.jsx("circle",{cx:"29",cy:"15",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"37",cy:"15",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M28,20 Q32,24 36,20",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function hj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"20",y:"28",width:"24",height:"28",fill:s.primary}),n.jsx("rect",{x:"16",y:"32",width:"8",height:"20",fill:s.secondary}),n.jsx("rect",{x:"40",y:"32",width:"8",height:"20",fill:s.secondary}),n.jsx("rect",{x:"16",y:"8",width:"32",height:"24",fill:s.primary}),n.jsx("rect",{x:"20",y:"14",width:"8",height:"8",fill:"white"}),n.jsx("rect",{x:"36",y:"14",width:"8",height:"8",fill:"white"}),n.jsx("rect",{x:"24",y:"16",width:"4",height:"4",fill:"#1a1a1a"}),n.jsx("rect",{x:"38",y:"16",width:"4",height:"4",fill:"#1a1a1a"}),n.jsx("rect",{x:"26",y:"26",width:"12",height:"4",fill:s.accent})]})}function xj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"32,8 56,20 56,44 32,56 8,44 8,20",fill:s.primary}),n.jsx("polygon",{points:"32,8 56,20 32,32 8,20",fill:s.secondary}),n.jsx("polygon",{points:"32,32 56,20 56,44 32,56",fill:s.accent,opacity:"0.6"}),n.jsx("circle",{cx:"24",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"25",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M26,38 Q32,42 38,38",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function gj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"32,2 38,22 58,22 42,36 48,56 32,44 16,56 22,36 6,22 26,22",fill:s.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:s.secondary}),n.jsx("circle",{cx:"27",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"37",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"28",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"38",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("path",{d:"M28,37 Q32,40 36,37",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function pj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"16",y:"16",width:"32",height:"32",rx:"4",fill:s.primary}),n.jsx("rect",{x:"20",y:"10",width:"4",height:"8",fill:s.secondary}),n.jsx("rect",{x:"30",y:"10",width:"4",height:"8",fill:s.secondary}),n.jsx("rect",{x:"40",y:"10",width:"4",height:"8",fill:s.secondary}),n.jsx("rect",{x:"20",y:"46",width:"4",height:"8",fill:s.secondary}),n.jsx("rect",{x:"30",y:"46",width:"4",height:"8",fill:s.secondary}),n.jsx("rect",{x:"40",y:"46",width:"4",height:"8",fill:s.secondary}),n.jsx("circle",{cx:"26",cy:"28",r:"4",fill:s.accent}),n.jsx("circle",{cx:"38",cy:"28",r:"4",fill:s.accent}),n.jsx("circle",{cx:"26",cy:"28",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"38",cy:"28",r:"2",fill:"#1a1a1a"}),n.jsx("rect",{x:"26",y:"38",width:"12",height:"3",rx:"1",fill:s.accent})]})}function yj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"36,4 20,28 30,28 24,60 48,32 36,32 44,4",fill:s.primary}),n.jsx("polygon",{points:"34,8 24,26 32,26 28,52 42,34 34,34 40,8",fill:s.secondary}),n.jsx("circle",{cx:"30",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"38",cy:"26",r:"3",fill:"white"}),n.jsx("circle",{cx:"31",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"39",cy:"27",r:"1.5",fill:"#1a1a1a"})]})}function vj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"4",y:"28",width:"12",height:"3",rx:"1",fill:s.accent,opacity:"0.6"}),n.jsx("rect",{x:"8",y:"34",width:"10",height:"3",rx:"1",fill:s.accent,opacity:"0.4"}),n.jsx("ellipse",{cx:"36",cy:"32",rx:"20",ry:"16",fill:s.primary}),n.jsx("ellipse",{cx:"40",cy:"32",rx:"14",ry:"12",fill:s.secondary}),n.jsx("circle",{cx:"38",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"48",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"39",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"49",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M40,36 Q44,39 48,36",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function bj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M12,32 L20,28 L16,32 L22,30",stroke:s.secondary,strokeWidth:"2",className:"animate-pulse"}),n.jsx("path",{d:"M52,32 L44,28 L48,32 L42,30",stroke:s.secondary,strokeWidth:"2",className:"animate-pulse"}),n.jsx("circle",{cx:"32",cy:"32",r:"18",fill:s.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:s.secondary}),n.jsx("circle",{cx:"26",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"38",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"27",cy:"31",r:"2",fill:s.primary}),n.jsx("circle",{cx:"39",cy:"31",r:"2",fill:s.primary}),n.jsx("path",{d:"M28,40 Q32,44 36,40",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function jj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"28",y:"4",width:"8",height:"8",fill:s.primary}),n.jsx("rect",{x:"28",y:"52",width:"8",height:"8",fill:s.primary}),n.jsx("rect",{x:"4",y:"28",width:"8",height:"8",fill:s.primary}),n.jsx("rect",{x:"52",y:"28",width:"8",height:"8",fill:s.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"20",fill:s.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:s.secondary}),n.jsx("circle",{cx:"26",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"38",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"27",cy:"31",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"39",cy:"31",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M28,40 Q32,43 36,40",stroke:"#1a1a1a",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function Nj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("ellipse",{cx:"32",cy:"58",rx:"8",ry:"6",fill:"#FBBF24",className:"animate-pulse"}),n.jsx("ellipse",{cx:"32",cy:"56",rx:"5",ry:"4",fill:"#FCD34D"}),n.jsx("ellipse",{cx:"32",cy:"32",rx:"14",ry:"24",fill:s.primary}),n.jsx("ellipse",{cx:"32",cy:"12",rx:"8",ry:"10",fill:s.secondary}),n.jsx("polygon",{points:"18,44 10,56 18,52",fill:s.secondary}),n.jsx("polygon",{points:"46,44 54,56 46,52",fill:s.secondary}),n.jsx("circle",{cx:"32",cy:"28",r:"8",fill:s.accent}),n.jsx("circle",{cx:"29",cy:"27",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"35",cy:"27",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M29,32 Q32,34 35,32",stroke:"#1a1a1a",strokeWidth:"1",fill:"none"})]})}function Sj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("circle",{cx:"32",cy:"32",r:"28",stroke:s.accent,strokeWidth:"2",fill:"none",opacity:"0.3"}),n.jsx("circle",{cx:"32",cy:"32",r:"22",stroke:s.accent,strokeWidth:"2",fill:"none",opacity:"0.5"}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:s.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"10",fill:s.secondary}),n.jsx("circle",{cx:"28",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"36",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"29",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"37",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("path",{d:"M29,37 Q32,40 35,37",stroke:"white",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function Cj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("circle",{cx:"32",cy:"32",r:"26",fill:s.accent,opacity:"0.3"}),n.jsx("circle",{cx:"32",cy:"32",r:"22",fill:s.accent,opacity:"0.5"}),n.jsx("circle",{cx:"32",cy:"32",r:"18",fill:s.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"12",fill:s.secondary}),n.jsx("circle",{cx:"27",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"37",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"28",cy:"31",r:"2",fill:s.primary}),n.jsx("circle",{cx:"38",cy:"31",r:"2",fill:s.primary}),n.jsx("path",{d:"M28,38 Q32,42 36,38",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function wj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"8",y:"12",width:"48",height:"40",rx:"4",fill:s.primary}),n.jsx("rect",{x:"8",y:"12",width:"48",height:"10",rx:"4",fill:s.secondary}),n.jsx("circle",{cx:"16",cy:"17",r:"2",fill:"#EF4444"}),n.jsx("circle",{cx:"24",cy:"17",r:"2",fill:"#FBBF24"}),n.jsx("circle",{cx:"32",cy:"17",r:"2",fill:"#22C55E"}),n.jsx("rect",{x:"12",y:"26",width:"40",height:"22",rx:"2",fill:s.accent}),n.jsx("circle",{cx:"24",cy:"34",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"34",r:"4",fill:"white"}),n.jsx("circle",{cx:"25",cy:"35",r:"2",fill:s.primary}),n.jsx("circle",{cx:"41",cy:"35",r:"2",fill:s.primary}),n.jsx("rect",{x:"28",y:"42",width:"8",height:"3",rx:"1",fill:s.primary})]})}function zj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("ellipse",{cx:"22",cy:"14",rx:"6",ry:"14",fill:s.primary}),n.jsx("ellipse",{cx:"42",cy:"14",rx:"6",ry:"14",fill:s.primary}),n.jsx("ellipse",{cx:"22",cy:"14",rx:"3",ry:"10",fill:s.accent}),n.jsx("ellipse",{cx:"42",cy:"14",rx:"3",ry:"10",fill:s.accent}),n.jsx("circle",{cx:"32",cy:"38",r:"20",fill:s.primary}),n.jsx("circle",{cx:"24",cy:"34",r:"5",fill:"white"}),n.jsx("circle",{cx:"40",cy:"34",r:"5",fill:"white"}),n.jsx("circle",{cx:"25",cy:"35",r:"2.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"35",r:"2.5",fill:"#1a1a1a"}),n.jsx("ellipse",{cx:"32",cy:"44",rx:"3",ry:"2",fill:s.secondary}),n.jsx("path",{d:"M32,46 L32,50 M28,52 Q32,56 36,52",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none"})]})}function Tj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M24,20 Q24,8 32,8 Q44,8 44,20 Q44,28 32,32 L32,40",stroke:s.primary,strokeWidth:"8",fill:"none",strokeLinecap:"round"}),n.jsx("circle",{cx:"32",cy:"52",r:"6",fill:s.primary}),n.jsx("circle",{cx:"29",cy:"51",r:"1.5",fill:"white"}),n.jsx("circle",{cx:"35",cy:"51",r:"1.5",fill:"white"}),n.jsx("circle",{cx:"29",cy:"51",r:"0.75",fill:"#1a1a1a"}),n.jsx("circle",{cx:"35",cy:"51",r:"0.75",fill:"#1a1a1a"}),n.jsx("circle",{cx:"32",cy:"20",r:"4",fill:s.secondary})]})}function Ej({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M8,32 Q16,16 32,32 Q48,48 56,32",stroke:s.primary,strokeWidth:"16",fill:"none",strokeLinecap:"round"}),n.jsx("path",{d:"M8,32 Q16,16 32,32 Q48,48 56,32",stroke:s.secondary,strokeWidth:"10",fill:"none",strokeLinecap:"round"}),n.jsx("circle",{cx:"28",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"36",r:"4",fill:"white"}),n.jsx("circle",{cx:"29",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"37",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"16",cy:"24",r:"2",fill:s.accent,className:"animate-pulse"}),n.jsx("circle",{cx:"48",cy:"40",r:"2",fill:s.accent,className:"animate-pulse"})]})}function Aj({colors:s,size:c}){return n.jsxs("svg",{width:c,height:c,viewBox:"0 0 64 64",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[n.jsx("circle",{cx:"32",cy:"32",r:"28",fill:s.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"24",fill:s.secondary}),n.jsx("text",{x:"32",y:"44",textAnchor:"middle",fontSize:"32",fontWeight:"bold",fill:"white",children:"?"})]})}const Dj={Spark:uj,Fizz:oj,Octo:dj,Hoot:fj,Buzz:mj,Pixel:hj,Byte:xj,Nova:gj,Chip:pj,Bolt:yj,Dash:vj,Zap:bj,Gizmo:jj,Turbo:Nj,Blip:Sj,Neon:Cj,Widget:wj,Zippy:zj,Quirk:Tj,Flux:Ej},_j=Aj,kj={sm:{svg:32,font:"text-xs"},md:{svg:48,font:"text-sm"},lg:{svg:64,font:"text-base"}};function Mj(s){switch(s){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 Oj(s){switch(s){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 Rj(s){switch(s){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 s}}function Cl({name:s,state:c,size:o="md",showName:u=!1}){const m=s==="Unknown",g=m?rj:cj[s],{svg:x,font:y}=kj[o],p=m?_j:Dj[s],b=Rj(c),z=`Agent ${s} is ${b}`;return n.jsxs("div",{className:"flex flex-col items-center gap-1",role:"status","aria-label":z,"aria-live":"polite",children:[n.jsx("div",{className:`
51
- rounded-full p-1 transition-all duration-300
52
- ${Mj(c)}
53
- ${Oj(c)}
54
- `,style:{backgroundColor:g.accent},title:z,role:"img","aria-hidden":"true",children:n.jsx(p,{colors:g,size:x})}),u&&n.jsx("span",{className:`${y} font-bold text-foreground`,style:{color:g.primary},children:s})]})}function Uj(s){switch(s){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 Bj(s){switch(s){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 mx(s){return s==="testing"?{label:"TEST",className:"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-300",icon:ar}:{label:"CODE",className:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300",icon:nr}}function qj({agent:s,onShowLogs:c,browserScreenshot:o}){const u=["thinking","working","testing"].includes(s.state),m=s.logs&&s.logs.length>0,g=mx(s.agentType||"coding"),x=g.icon,[y,p]=f.useState(!1);return n.jsxs(n.Fragment,{children:[y&&o&&Mu.createPortal(n.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/70",onClick:()=>p(!1),children:n.jsxs("div",{className:"relative max-w-[90vw] max-h-[90vh] bg-card border-2 border-border rounded-lg overflow-hidden",onClick:b=>b.stopPropagation(),children:[n.jsxs("div",{className:"flex items-center justify-between px-3 py-2 bg-muted border-b border-border",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(x,{size:14,className:s.agentType==="testing"?"text-purple-500":"text-blue-500"}),n.jsx("span",{className:"font-mono text-sm font-bold",children:xl[s.agentIndex%xl.length]}),n.jsx(Ae,{variant:"outline",className:"text-[10px] h-4",children:s.agentType||"coding"}),n.jsx("span",{className:"text-xs text-muted-foreground truncate",children:s.featureName})]}),n.jsx("button",{onClick:()=>p(!1),className:"p-1 hover:bg-accent rounded transition-colors cursor-pointer",children:n.jsx(Ie,{size:16})})]}),n.jsx("img",{src:o.imageDataUrl,alt:`Browser view - ${s.featureName}`,className:"max-w-full max-h-[calc(90vh-3rem)] object-contain"})]})}),document.body),n.jsx(Te,{className:`min-w-[180px] ${o?"max-w-[280px]":"max-w-[220px]"} py-3 ${u?"animate-pulse":""}`,children:n.jsxs(ke,{className:"p-3 space-y-2",children:[n.jsx("div",{className:"flex justify-end",children:n.jsxs(Ae,{variant:"outline",className:`text-[10px] ${g.className}`,children:[n.jsx(x,{size:10}),g.label]})}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Cl,{name:s.agentName,state:s.state,size:"sm"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-semibold text-sm truncate",children:s.agentName}),n.jsx("div",{className:`text-xs ${Bj(s.state)}`,children:Uj(s.state)})]}),m&&c&&n.jsx($,{variant:"ghost",size:"icon-xs",onClick:()=>c(s.agentIndex),title:`View logs (${s.logs?.length||0} entries)`,children:n.jsx(Hh,{size:14,className:"text-muted-foreground"})})]}),n.jsx("div",{children:s.featureIds&&s.featureIds.length>1?n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"text-xs text-muted-foreground mb-0.5",children:["Batch: ",s.featureIds.map(b=>`#${b}`).join(", ")]}),n.jsxs("div",{className:"text-sm font-bold truncate",children:["Active: Feature #",s.featureId]})]}):n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"text-xs text-muted-foreground mb-0.5",children:["Feature #",s.featureId]}),n.jsx("div",{className:"text-sm font-medium truncate",title:s.featureName,children:s.featureName})]})}),o&&n.jsxs("div",{className:"pt-1 relative group",children:[n.jsx("div",{className:"cursor-pointer overflow-hidden rounded border border-border/50",onClick:()=>p(!0),children:n.jsx("img",{src:o.imageDataUrl,alt:"Browser view",className:"w-full h-auto max-h-[120px] object-cover object-top"})}),n.jsx("button",{onClick:()=>p(!0),className:"absolute top-2.5 right-1.5 p-0.5 bg-black/50 hover:bg-black/70 rounded transition-opacity opacity-0 group-hover:opacity-100 cursor-pointer",title:"Expand screenshot",children:n.jsx(Xh,{size:12,className:"text-white"})})]}),s.thought&&n.jsx("div",{className:"pt-2 border-t border-border/50",children:n.jsxs("div",{className:"flex items-start gap-1.5",children:[n.jsx(Uu,{size:14,className:"text-primary shrink-0 mt-0.5"}),n.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2 italic",title:s.thought,children:s.thought})]})})]})})]})}function Lj({agent:s,logs:c,onClose:o}){const[u,m]=f.useState(!1),g=mx(s.agentType||"coding"),x=g.icon,y=async()=>{const b=c.map(z=>`[${z.timestamp}] ${z.line}`).join(`
55
- `);await navigator.clipboard.writeText(b),m(!0),setTimeout(()=>m(!1),2e3)},p=b=>{switch(b){case"error":return"text-destructive";case"state_change":return"text-primary";default:return"text-foreground"}};return Mu.createPortal(n.jsx("div",{className:"fixed inset-0 flex items-center justify-center p-4 bg-black/50",style:{zIndex:9999},onClick:b=>{b.target===b.currentTarget&&o()},children:n.jsxs(Te,{className:"w-full max-w-4xl max-h-[80vh] flex flex-col py-0",children:[n.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(Cl,{name:s.agentName,state:s.state,size:"sm"}),n.jsxs("div",{children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs("h2",{className:"font-semibold text-lg",children:[s.agentName," Logs"]}),n.jsxs(Ae,{variant:"outline",className:`text-[10px] ${g.className}`,children:[n.jsx(x,{size:10}),g.label]})]}),n.jsx("p",{className:"text-sm text-muted-foreground",children:s.featureIds&&s.featureIds.length>1?`Batch: ${s.featureIds.map(b=>`#${b}`).join(", ")}`:`Feature #${s.featureId}: ${s.featureName}`})]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs($,{variant:"outline",size:"sm",onClick:y,children:[u?n.jsx(Da,{size:14}):n.jsx(Uy,{size:14}),u?"Copied!":"Copy"]}),n.jsx($,{variant:"ghost",size:"icon-sm",onClick:o,children:n.jsx(Ie,{size:20})})]})]}),n.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 bg-muted/50",children:n.jsx("div",{className:"font-mono text-xs space-y-1",children:c.length===0?n.jsx("p",{className:"text-muted-foreground italic",children:"No logs available"}):c.map((b,z)=>n.jsxs("div",{className:`${p(b.type)} whitespace-pre-wrap break-all`,children:[n.jsxs("span",{className:"text-muted-foreground",children:["[",new Date(b.timestamp).toLocaleTimeString(),"]"]})," ",b.line]},z))})}),n.jsxs("div",{className:"p-3 border-t text-xs text-muted-foreground",children:[c.length," log entries"]})]})}),document.body)}function Hj(s){const c=new Date(s),u=new Date().getTime()-c.getTime(),m=Math.floor(u/1e3);return m<5?"just now":m<60?`${m}s ago`:m<3600?`${Math.floor(m/60)}m ago`:c.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function Gj({activities:s,maxItems:c=5,showHeader:o=!0}){const u=s.slice(0,c);return u.length===0?null:n.jsxs("div",{children:[o&&n.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[n.jsx(Kh,{size:14,className:"text-muted-foreground"}),n.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Recent Activity"})]}),n.jsx("div",{className:"space-y-2",children:u.map(m=>n.jsx(Te,{className:"py-1.5",children:n.jsxs(ke,{className:"p-2 flex items-start gap-2",children:[n.jsx(Cl,{name:m.agentName,state:"working",size:"sm"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"text-xs font-semibold",style:{color:Qj(m.agentName)},children:m.agentName}),n.jsxs("span",{className:"text-[10px] text-muted-foreground",children:["#",m.featureId]}),n.jsx("span",{className:"text-[10px] text-muted-foreground ml-auto",children:Hj(m.timestamp)})]}),n.jsx("p",{className:"text-xs text-muted-foreground truncate",title:m.thought,children:m.thought})]})]})},`${m.featureId}-${m.timestamp}-${m.thought.slice(0,20)}`))})]})}function Qj(s){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"}[s]||"#6B7280"}const Yj={sm:{svg:32,font:"text-xs"},md:{svg:48,font:"text-sm"},lg:{svg:64,font:"text-base"}},et={primary:"#7C3AED",secondary:"#A78BFA",accent:"#EDE9FE",baton:"#FBBF24",gold:"#F59E0B"};function Vj({size:s,state:c}){const o=c==="spawning"?"animate-conducting":c==="scheduling"?"animate-baton-tap":"";return n.jsxs("svg",{width:s,height:s,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"22",y:"54",width:"20",height:"6",rx:"2",fill:et.primary,opacity:"0.3"}),n.jsx("rect",{x:"18",y:"28",width:"28",height:"26",rx:"4",fill:et.primary}),n.jsx("rect",{x:"26",y:"32",width:"12",height:"18",fill:et.accent}),n.jsx("rect",{x:"30",y:"32",width:"4",height:"18",fill:et.secondary}),n.jsx("path",{d:"M27,30 L32,33 L37,30 L32,32 Z",fill:et.gold}),n.jsx("rect",{x:"16",y:"6",width:"32",height:"24",rx:"4",fill:et.secondary}),n.jsx("rect",{x:"14",y:"2",width:"36",height:"8",rx:"2",fill:et.primary}),n.jsx("rect",{x:"20",y:"0",width:"24",height:"4",rx:"2",fill:et.primary}),n.jsx("circle",{cx:"32",cy:"2",r:"3",fill:et.gold}),n.jsx("circle",{cx:"24",cy:"16",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"16",r:"4",fill:"white"}),n.jsx("circle",{cx:"25",cy:"16",r:"2",fill:et.primary}),n.jsx("circle",{cx:"41",cy:"16",r:"2",fill:et.primary}),n.jsx("path",{d:"M26,24 Q32,28 38,24",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"}),n.jsx("rect",{x:"8",y:"32",width:"10",height:"4",rx:"2",fill:et.primary}),n.jsx("rect",{x:"46",y:"28",width:"10",height:"4",rx:"2",fill:et.primary,className:o,style:{transformOrigin:"46px 30px"}}),n.jsx("circle",{cx:"56",cy:"30",r:"4",fill:et.secondary,className:o,style:{transformOrigin:"46px 30px"}}),n.jsxs("g",{className:o,style:{transformOrigin:"56px 30px"},children:[n.jsx("line",{x1:"56",y1:"26",x2:"62",y2:"10",stroke:et.baton,strokeWidth:"2",strokeLinecap:"round"}),n.jsx("circle",{cx:"62",cy:"10",r:"2",fill:et.gold})]}),(c==="spawning"||c==="monitoring")&&n.jsxs(n.Fragment,{children:[n.jsx("text",{x:"4",y:"20",fontSize:"8",fill:et.secondary,className:"animate-pulse",children:"♪"}),n.jsx("text",{x:"58",y:"48",fontSize:"8",fill:et.secondary,className:"animate-pulse",style:{animationDelay:"0.3s"},children:"♫"})]})]})}function Xj(s){switch(s){case"idle":return"animate-bounce-gentle";case"initializing":return"animate-thinking";case"scheduling":return"animate-thinking";case"spawning":return"animate-working";case"monitoring":return"animate-bounce-gentle";case"draining":return"animate-thinking";case"paused":return"";case"complete":return"animate-celebrate";default:return""}}function Kj(s){switch(s){case"initializing":return"shadow-[0_0_12px_rgba(124,58,237,0.4)]";case"scheduling":return"shadow-[0_0_10px_rgba(167,139,250,0.5)]";case"spawning":return"shadow-[0_0_16px_rgba(124,58,237,0.6)]";case"monitoring":return"shadow-[0_0_8px_rgba(167,139,250,0.4)]";case"draining":return"shadow-[0_0_10px_rgba(251,191,36,0.5)]";case"paused":return"";case"complete":return"shadow-[0_0_20px_rgba(112,224,0,0.6)]";default:return""}}function Fj(s){switch(s){case"idle":return"waiting";case"initializing":return"initializing features";case"scheduling":return"selecting next features";case"spawning":return"spawning agents";case"monitoring":return"monitoring progress";case"draining":return"draining active agents";case"paused":return"paused";case"complete":return"all features complete";default:return s}}function Zj({state:s,size:c="md"}){const{svg:o}=Yj[c],m=`Orchestrator Maestro is ${Fj(s)}`;return n.jsx("div",{className:"flex flex-col items-center gap-1",role:"status","aria-label":m,"aria-live":"polite",children:n.jsx("div",{className:`
56
- rounded-full p-1 transition-all duration-300
57
- ${Xj(s)}
58
- ${Kj(s)}
59
- `,style:{backgroundColor:et.accent},title:m,role:"img","aria-hidden":"true",children:n.jsx(Vj,{size:o,state:s})})})}function $j(s){switch(s){case"idle":return"Standing by...";case"initializing":return"Setting up features...";case"scheduling":return"Planning next moves...";case"spawning":return"Deploying agents...";case"monitoring":return"Watching progress...";case"complete":return"Mission accomplished!";case"draining":return"Draining agents...";case"paused":return"Paused";default:return"Orchestrating..."}}function Jj(s){switch(s){case"complete":return"text-primary";case"spawning":return"text-primary";case"scheduling":case"monitoring":return"text-primary";case"initializing":return"text-yellow-600 dark:text-yellow-400";case"draining":return"text-amber-600 dark:text-amber-400";case"paused":return"text-muted-foreground";default:return"text-muted-foreground"}}function Wj(s){const c=new Date,o=new Date(s),u=c.getTime()-o.getTime(),m=Math.floor(u/1e3);if(m<5)return"just now";if(m<60)return`${m}s ago`;const g=Math.floor(m/60);return g<60?`${g}m ago`:`${Math.floor(g/60)}h ago`}function Ij({status:s}){const[c,o]=f.useState(!1);return n.jsx(Te,{className:"mb-4 bg-primary/10 border-primary/30 py-4",children:n.jsxs(ke,{className:"p-4",children:[n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx(Zj,{state:s.state,size:"md"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[n.jsx("span",{className:"font-semibold text-lg text-primary",children:"Maestro"}),n.jsx("span",{className:`text-sm font-medium ${Jj(s.state)}`,children:$j(s.state)})]}),n.jsx("p",{className:"text-sm text-foreground mb-3 line-clamp-2",children:s.message}),n.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[n.jsxs(Ae,{variant:"outline",className:"bg-blue-100 text-blue-700 border-blue-300 dark:bg-blue-900/30 dark:text-blue-300 dark:border-blue-700",children:[n.jsx(nr,{size:12}),"Coding: ",s.codingAgents]}),n.jsxs(Ae,{variant:"outline",className:"bg-purple-100 text-purple-700 border-purple-300 dark:bg-purple-900/30 dark:text-purple-300 dark:border-purple-700",children:[n.jsx(ar,{size:12}),"Testing: ",s.testingAgents]}),n.jsxs(Ae,{variant:"outline",className:"bg-green-100 text-green-700 border-green-300 dark:bg-green-900/30 dark:text-green-300 dark:border-green-700",children:[n.jsx(gl,{size:12}),"Ready: ",s.readyCount]}),s.blockedCount>0&&n.jsxs(Ae,{variant:"outline",className:"bg-amber-100 text-amber-700 border-amber-300 dark:bg-amber-900/30 dark:text-amber-300 dark:border-amber-700",children:[n.jsx(By,{size:12}),"Blocked: ",s.blockedCount]})]})]}),s.recentEvents.length>0&&n.jsxs($,{variant:"ghost",size:"sm",onClick:()=>o(!c),className:"text-primary hover:bg-primary/10",children:[n.jsx(En,{size:12}),"Activity",c?n.jsx(Au,{size:14}):n.jsx(tr,{size:14})]})]}),c&&s.recentEvents.length>0&&n.jsx("div",{className:"mt-3 pt-3 border-t border-primary/20",children:n.jsx("div",{className:"space-y-1.5",children:s.recentEvents.map((u,m)=>n.jsxs("div",{className:"flex items-start gap-2 text-xs",children:[n.jsx("span",{className:"text-primary shrink-0 font-mono",children:Wj(u.timestamp)}),n.jsx("span",{className:"text-foreground",children:u.message})]},`${u.timestamp}-${m}`))})})]})})}const mh="autoforge-activity-collapsed";function Pj({agents:s,orchestratorStatus:c,recentActivity:o,isExpanded:u=!0,getAgentLogs:m,browserScreenshots:g}){const[x,y]=f.useState(u),[p,b]=f.useState(()=>{try{return localStorage.getItem(mh)==="true"}catch{return!1}}),[z,w]=f.useState(null),M=()=>{const T=!p;b(T);try{localStorage.setItem(mh,String(T))}catch{}};return!c&&s.length===0?null:n.jsxs(Te,{className:"mb-6 overflow-hidden py-0",children:[n.jsxs("button",{onClick:()=>y(!x),className:"w-full flex items-center justify-between px-4 py-3 bg-primary hover:bg-primary/90 transition-colors",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(qy,{size:20,className:"text-primary-foreground"}),n.jsx("span",{className:"font-semibold text-primary-foreground uppercase tracking-wide",children:"Mission Control"}),n.jsx(Ae,{variant:"secondary",className:"ml-2",children:s.length>0?`${s.length} ${s.length===1?"agent":"agents"} active`:c?.state==="initializing"?"Initializing":c?.state==="draining"?"Draining":c?.state==="paused"?"Paused":c?.state==="complete"?"Complete":"Orchestrating"})]}),x?n.jsx(Au,{size:20,className:"text-primary-foreground"}):n.jsx(tr,{size:20,className:"text-primary-foreground"})]}),n.jsx("div",{className:`
60
- transition-all duration-300 ease-out
61
- ${x?"max-h-[600px] opacity-100 overflow-y-auto":"max-h-0 opacity-0 overflow-hidden"}
62
- `,children:n.jsxs(ke,{className:"p-4",children:[c&&n.jsx(Ij,{status:c}),s.length>0&&n.jsx("div",{className:"flex gap-4 overflow-x-auto pb-4",children:s.map(T=>{const D=g?Array.from(g.values()).find(_=>_.agentIndex===T.agentIndex):void 0;return n.jsx(qj,{agent:T,onShowLogs:_=>{const N=s.find(k=>k.agentIndex===_);N&&w(N)},browserScreenshot:D},`agent-${T.agentIndex}`)})}),o.length>0&&n.jsxs("div",{className:"mt-4 pt-4 border-t",children:[n.jsxs($,{variant:"ghost",size:"sm",onClick:M,className:"gap-2 mb-2 h-auto p-1",children:[n.jsx(Kh,{size:14,className:"text-muted-foreground"}),n.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Recent Activity"}),n.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",o.length,")"]}),p?n.jsx(tr,{size:14,className:"text-muted-foreground"}):n.jsx(Au,{size:14,className:"text-muted-foreground"})]}),n.jsx("div",{className:`
63
- transition-all duration-200 ease-out overflow-hidden
64
- ${p?"max-h-0 opacity-0":"max-h-[300px] opacity-100"}
65
- `,children:n.jsx(Gj,{activities:o,maxItems:5,showHeader:!1})})]})]})}),z&&m&&n.jsx(Lj,{agent:z,logs:m(z.agentIndex),onClose:()=>w(null)})]})}function hh(){const{progress:s,wsState:c,features:o}=Kt(),u=o&&o.pending.length===0&&o.in_progress.length===0&&o.done.length===0&&(o.needs_human_input?.length||0)===0&&c.agentStatus==="running";return n.jsxs("div",{className:"overflow-y-auto flex-1 p-6 space-y-6",children:[n.jsx(ij,{passing:s.passing,total:s.total,percentage:s.percentage,isConnected:c.isConnected,logs:c.activeAgents.length===0?c.logs:void 0,agentStatus:c.activeAgents.length===0?c.agentStatus:void 0}),n.jsx(Pj,{agents:c.activeAgents,orchestratorStatus:c.orchestratorStatus,recentActivity:c.recentActivity,getAgentLogs:c.getAgentLogs,browserScreenshots:c.browserScreenshots}),u&&n.jsx(Te,{className:"p-8 text-center",children:n.jsxs(ke,{className:"p-0",children:[n.jsx(Se,{size:32,className:"animate-spin mx-auto mb-4 text-primary"}),n.jsx("h3",{className:"font-display font-bold text-xl mb-2",children:"Initializing Features..."}),n.jsx("p",{className:"text-muted-foreground",children:"The agent is reading your spec and creating features. This may take a moment."})]})})]})}function e1({feature:s,allFeatures:c=[],compact:o=!1}){const u=s.dependencies||[];if(u.length===0)return null;const m=s.blocked??(s.blocking_dependencies&&s.blocking_dependencies.length>0)??!1,g=s.blocking_dependencies?.length??0;let x=u.length-g;if(c.length>0&&!s.blocking_dependencies){const y=new Set(c.filter(p=>p.passes).map(p=>p.id));x=u.filter(p=>y.has(p)).length}return o?n.jsx(Ae,{variant:"outline",className:`gap-1 font-mono text-xs ${m?"bg-destructive/10 text-destructive border-destructive/30":"bg-muted text-muted-foreground"}`,title:m?`Blocked by ${g} ${g===1?"dependency":"dependencies"}`:`${x}/${u.length} dependencies satisfied`,children:m?n.jsxs(n.Fragment,{children:[n.jsx(ra,{size:12}),n.jsx("span",{children:g})]}):n.jsxs(n.Fragment,{children:[n.jsx(Nl,{size:12}),n.jsxs("span",{children:[x,"/",u.length]})]})}):n.jsx("div",{className:"flex items-center gap-2",children:m?n.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-destructive",children:[n.jsx(ra,{size:14}),n.jsxs("span",{className:"font-medium",children:["Blocked by ",g," ",g===1?"dependency":"dependencies"]})]}):n.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[n.jsx(Da,{size:14,className:"text-primary"}),n.jsxs("span",{children:["All ",u.length," ",u.length===1?"dependency":"dependencies"," satisfied"]})]})})}function t1(s){const c=["bg-pink-500","bg-cyan-500","bg-green-500","bg-yellow-500","bg-orange-500","bg-purple-500","bg-blue-500"];let o=0;for(let u=0;u<s.length;u++)o=s.charCodeAt(u)+((o<<5)-o);return c[Math.abs(o)%c.length]}function a1({feature:s,onClick:c,isInProgress:o,allFeatures:u=[],activeAgent:m}){const g=t1(s.category),x=s.blocked||s.blocking_dependencies&&s.blocking_dependencies.length>0,y=!!m;return n.jsx(Te,{onClick:c,className:`
66
- cursor-pointer transition-all hover:border-primary py-3
67
- ${o?"animate-pulse":""}
68
- ${s.passes?"border-primary/50":""}
69
- ${s.needs_human_input?"border-amber-500/50":""}
70
- ${x&&!s.passes&&!s.needs_human_input?"border-destructive/50 opacity-80":""}
71
- ${y?"ring-2 ring-primary ring-offset-2":""}
72
- `,children:n.jsxs(ke,{className:"p-4 space-y-3",children:[n.jsxs("div",{className:"flex items-start justify-between gap-2",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ae,{className:`${g} text-white`,children:s.category}),n.jsx(e1,{feature:s,allFeatures:u,compact:!0})]}),n.jsxs("span",{className:"font-mono text-sm text-muted-foreground",children:["#",s.priority]})]}),n.jsx("h3",{className:"font-semibold line-clamp-2",children:s.name}),n.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:s.description}),m&&n.jsxs("div",{className:"flex items-center gap-2 py-2 px-2 rounded-md bg-primary/10 border border-primary/30",children:[n.jsx(Cl,{name:m.agentName,state:m.state,size:"sm"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"text-xs font-semibold text-primary",children:[m.agentName," is working on this!"]}),m.thought&&n.jsxs("div",{className:"flex items-center gap-1 mt-0.5",children:[n.jsx(Uu,{size:10,className:"text-muted-foreground shrink-0"}),n.jsx("p",{className:"text-[10px] text-muted-foreground truncate italic",children:m.thought})]})]})]}),n.jsx("div",{className:"flex items-center gap-2 text-sm",children:o?n.jsxs(n.Fragment,{children:[n.jsx(Se,{size:16,className:"animate-spin text-primary"}),n.jsx("span",{className:"text-primary font-medium",children:"Processing..."})]}):s.passes?n.jsxs(n.Fragment,{children:[n.jsx(Xt,{size:16,className:"text-primary"}),n.jsx("span",{className:"text-primary font-medium",children:"Complete"})]}):s.needs_human_input?n.jsxs(n.Fragment,{children:[n.jsx(cr,{size:16,className:"text-amber-500"}),n.jsx("span",{className:"text-amber-500 font-medium",children:"Needs Your Input"})]}):x?n.jsxs(n.Fragment,{children:[n.jsx(pl,{size:16,className:"text-destructive"}),n.jsx("span",{className:"text-destructive",children:"Blocked"})]}):n.jsxs(n.Fragment,{children:[n.jsx(pl,{size:16,className:"text-muted-foreground"}),n.jsx("span",{className:"text-muted-foreground",children:"Pending"})]})})]})})}const n1={pending:"border-t-4 border-t-muted",progress:"border-t-4 border-t-primary",done:"border-t-4 border-t-primary",human_input:"border-t-4 border-t-amber-500"};function Fi({title:s,count:c,features:o,allFeatures:u=[],activeAgents:m=[],color:g,onFeatureClick:x,onAddFeature:y,onExpandProject:p,showExpandButton:b,onCreateSpec:z,showCreateSpec:w}){const M=new Map;for(const T of m){const D=T.featureIds||[T.featureId];for(const _ of D)M.set(_,T)}return n.jsxs(Te,{className:`overflow-hidden ${n1[g]} py-0`,children:[n.jsxs(Tn,{className:"px-4 py-3 border-b flex-row items-center justify-between space-y-0",children:[n.jsxs(yl,{className:"text-lg font-semibold flex items-center gap-2",children:[s,n.jsx(Ae,{variant:"secondary",children:c})]}),(y||p)&&n.jsxs("div",{className:"flex items-center gap-2",children:[y&&n.jsx($,{onClick:y,size:"icon-sm",title:"Add new feature (N)",children:n.jsx(nn,{size:16})}),p&&b&&n.jsx($,{onClick:p,size:"icon-sm",variant:"secondary",title:"Expand project with AI (E)",children:n.jsx(En,{size:16})})]})]}),n.jsx(ke,{className:"p-0",children:n.jsx("div",{className:"h-[600px] overflow-y-auto",children:n.jsx("div",{className:"p-4 space-y-3",children:o.length===0?n.jsx("div",{className:"text-center py-8 text-muted-foreground",children:w&&z?n.jsxs("div",{className:"space-y-4",children:[n.jsx("p",{children:"No spec created yet"}),n.jsxs($,{onClick:z,children:[n.jsx(Ly,{size:18}),"Create Spec with AI"]})]}):"No features"}):o.map((T,D)=>n.jsx("div",{className:"animate-slide-in",style:{animationDelay:`${D*50}ms`},children:n.jsx(a1,{feature:T,onClick:()=>x(T),isInProgress:g==="progress",allFeatures:u,activeAgent:M.get(T.id)})},T.id))})})})]})}function l1({features:s,onFeatureClick:c,onAddFeature:o,onExpandProject:u,activeAgents:m=[],onCreateSpec:g,hasSpec:x=!0}){const y=s&&s.pending.length+s.in_progress.length+s.done.length+(s.needs_human_input?.length||0)>0,p=s?[...s.pending,...s.in_progress,...s.done,...s.needs_human_input||[]]:[],b=s?.needs_human_input?.length||0,z=b>0;return s?n.jsxs("div",{className:`grid grid-cols-1 ${z?"md:grid-cols-4":"md:grid-cols-3"} gap-6`,children:[n.jsx(Fi,{title:"Pending",count:s.pending.length,features:s.pending,allFeatures:p,activeAgents:m,color:"pending",onFeatureClick:c,onAddFeature:o,onExpandProject:u,showExpandButton:y&&x,onCreateSpec:g,showCreateSpec:!x&&!y}),n.jsx(Fi,{title:"In Progress",count:s.in_progress.length,features:s.in_progress,allFeatures:p,activeAgents:m,color:"progress",onFeatureClick:c}),z&&n.jsx(Fi,{title:"Needs Input",count:b,features:s.needs_human_input,allFeatures:p,activeAgents:m,color:"human_input",onFeatureClick:c}),n.jsx(Fi,{title:"Done",count:s.done.length,features:s.done,allFeatures:p,activeAgents:m,color:"done",onFeatureClick:c})]}):n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:["Pending","In Progress","Done"].map(w=>n.jsx(Te,{className:"py-4",children:n.jsxs(ke,{className:"p-4",children:[n.jsx("div",{className:"h-8 bg-muted animate-pulse rounded mb-4"}),n.jsx("div",{className:"space-y-3",children:[1,2,3].map(M=>n.jsx("div",{className:"h-24 bg-muted animate-pulse rounded"},M))})]})},w))})}function s1(){const{features:s,hasSpec:c,wsState:o,setSelectedFeature:u,setShowAddFeature:m,setShowExpandProject:g,setShowSpecChat:x}=Kt();return n.jsx("div",{className:"overflow-y-auto flex-1 p-6",children:n.jsx(l1,{features:s,onFeatureClick:u,onAddFeature:()=>m(!0),onExpandProject:()=>g(!0),activeAgents:o.activeAgents,onCreateSpec:()=>x(!0),hasSpec:c})})}var i1=t0();const xh=Qp(i1),ir=220,gh=80;class r1 extends f.Component{constructor(c){super(c),this.state={hasError:!1,error:null}}static getDerivedStateFromError(c){return{hasError:!0,error:c}}componentDidCatch(c,o){console.error("DependencyGraph error:",c,o)}handleReset=()=>{this.setState({hasError:!1,error:null}),this.props.onReset?.()};render(){return this.state.hasError?n.jsx("div",{className:"h-full w-full flex items-center justify-center bg-muted",children:n.jsxs("div",{className:"text-center p-6",children:[n.jsx(ra,{size:48,className:"mx-auto mb-4 text-yellow-500"}),n.jsx("div",{className:"text-foreground font-bold mb-2",children:"Graph rendering error"}),n.jsx("div",{className:"text-sm text-muted-foreground mb-4",children:"The dependency graph encountered an issue."}),n.jsxs($,{onClick:this.handleReset,className:"gap-2",children:[n.jsx(Hy,{size:16}),"Reload Graph"]})]})}):this.props.children}}function c1({data:s}){const c={pending:"bg-yellow-100 border-yellow-300 dark:bg-yellow-900/30 dark:border-yellow-700",in_progress:"bg-cyan-100 border-cyan-300 dark:bg-cyan-900/30 dark:border-cyan-700",done:"bg-green-100 border-green-300 dark:bg-green-900/30 dark:border-green-700",blocked:"bg-red-50 border-red-300 dark:bg-red-900/20 dark:border-red-700",needs_human_input:"bg-amber-100 border-amber-300 dark:bg-amber-900/30 dark:border-amber-700"},o={pending:"text-yellow-900 dark:text-yellow-100",in_progress:"text-cyan-900 dark:text-cyan-100",done:"text-green-900 dark:text-green-100",blocked:"text-red-900 dark:text-red-100",needs_human_input:"text-amber-900 dark:text-amber-100"},u=()=>{switch(s.status){case"done":return n.jsx(Xt,{size:16,className:o[s.status]});case"in_progress":return n.jsx(Se,{size:16,className:`${o[s.status]} animate-spin`});case"blocked":return n.jsx(ra,{size:16,className:"text-destructive"});case"needs_human_input":return n.jsx(cr,{size:16,className:o[s.status]});default:return n.jsx(pl,{size:16,className:o[s.status]})}};return n.jsxs(n.Fragment,{children:[n.jsx(Wm,{type:"target",position:hl.Left,className:"!bg-border !w-2 !h-2"}),n.jsxs("div",{className:`
73
- px-4 py-3 rounded-lg border-2 cursor-pointer
74
- transition-all hover:shadow-md relative
75
- ${c[s.status]}
76
- `,onClick:s.onClick,style:{minWidth:ir-20,maxWidth:ir},children:[s.agent&&n.jsx("div",{className:"absolute -top-3 -right-3 z-10",children:n.jsx("div",{className:"rounded-full border-2 border-border bg-background shadow-sm",children:n.jsx(Cl,{name:s.agent.name,state:s.agent.state,size:"sm"})})}),n.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[n.jsx(u,{}),n.jsxs("span",{className:`text-xs font-mono ${o[s.status]} opacity-70`,children:["#",s.priority]}),s.agent&&n.jsx("span",{className:`text-xs font-bold ${o[s.status]} ml-auto`,children:s.agent.name})]}),n.jsx("div",{className:`font-bold text-sm ${o[s.status]} truncate`,title:s.name,children:s.name}),n.jsx("div",{className:`text-xs ${o[s.status]} opacity-70 truncate`,title:s.category,children:s.category})]}),n.jsx(Wm,{type:"source",position:hl.Right,className:"!bg-border !w-2 !h-2"})]})}const u1={feature:c1};function ph(s,c,o="LR"){const u=new xh.graphlib.Graph;u.setDefaultEdgeLabel(()=>({}));const m=o==="LR";return u.setGraph({rankdir:o,nodesep:50,ranksep:100,marginx:50,marginy:50}),s.forEach(x=>{u.setNode(x.id,{width:ir,height:gh})}),c.forEach(x=>{u.setEdge(x.source,x.target)}),xh.layout(u),{nodes:s.map(x=>{const y=u.node(x.id);return{...x,position:{x:y.x-ir/2,y:y.y-gh/2},sourcePosition:m?hl.Right:hl.Bottom,targetPosition:m?hl.Left:hl.Top}}),edges:c}}function o1({graphData:s,onNodeClick:c,activeAgents:o=[]}){const[u,m]=f.useState("LR"),g=f.useRef(c);f.useEffect(()=>{g.current=c},[c]);const x=f.useCallback(A=>{g.current?.(A)},[]),y=f.useMemo(()=>{const A=new Map;for(const S of o){const L=S.featureIds||[S.featureId];for(const J of L)A.set(J,{name:S.agentName,state:S.state})}return A},[o]),p=f.useMemo(()=>{const A=s.nodes.map(L=>({id:String(L.id),type:"feature",position:{x:0,y:0},data:{...L,onClick:()=>x(L.id),agent:y.get(L.id)}})),S=s.edges.map((L,J)=>({id:`e${L.source}-${L.target}-${J}`,source:String(L.source),target:String(L.target),type:"smoothstep",animated:!1,style:{stroke:"#a1a1aa",strokeWidth:2},markerEnd:{type:a0.ArrowClosed,color:"#a1a1aa"}}));return ph(A,S,u)},[s,u,x,y]),[b,z,w]=n0(p.nodes),[M,T,D]=l0(p.edges),_=f.useRef(""),N=f.useRef(u);f.useEffect(()=>{const A=Array.from(y.entries()).map(([L,J])=>({featureId:L,agentName:J.name,agentState:J.state})),S=JSON.stringify({nodes:s.nodes.map(L=>({id:L.id,status:L.status})),edges:s.edges,agents:A});if(S!==_.current||u!==N.current){_.current=S,N.current=u;const{nodes:L,edges:J}=ph(p.nodes,p.edges,u);z(L),T(J)}},[s,u,z,T,p,y]);const k=f.useCallback(A=>{m(A)},[]),O=f.useCallback(A=>{switch(A.data.status){case"done":return"#22c55e";case"in_progress":return"#06b6d4";case"blocked":return"#ef4444";case"needs_human_input":return"#f59e0b";default:return"#eab308"}},[]);return s.nodes.length===0?n.jsx("div",{className:"h-full w-full flex items-center justify-center bg-muted",children:n.jsxs("div",{className:"text-center",children:[n.jsx("div",{className:"text-muted-foreground mb-2",children:"No features to display"}),n.jsx("div",{className:"text-sm text-muted-foreground/70",children:"Create features to see the dependency graph"})]})}):n.jsxs("div",{className:"h-full w-full relative bg-background",children:[n.jsxs("div",{className:"absolute top-4 left-4 z-10 flex gap-2",children:[n.jsx($,{variant:u==="LR"?"default":"outline",size:"sm",onClick:()=>k("LR"),children:"Horizontal"}),n.jsx($,{variant:u==="TB"?"default":"outline",size:"sm",onClick:()=>k("TB"),children:"Vertical"})]}),n.jsx(Te,{className:"absolute top-4 right-4 z-10",children:n.jsxs(ke,{className:"p-3",children:[n.jsx("div",{className:"text-xs font-bold mb-2",children:"Status"}),n.jsxs("div",{className:"space-y-1.5",children:[n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-yellow-400 border border-yellow-500"}),n.jsx("span",{children:"Pending"})]}),n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-cyan-400 border border-cyan-500"}),n.jsx("span",{children:"In Progress"})]}),n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-green-400 border border-green-500"}),n.jsx("span",{children:"Done"})]}),n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-red-100 border border-red-400"}),n.jsx("span",{children:"Blocked"})]})]})]})}),n.jsxs(s0,{nodes:b,edges:M,onNodesChange:w,onEdgesChange:D,nodeTypes:u1,connectionMode:i0.Loose,fitView:!0,fitViewOptions:{padding:.2},attributionPosition:"bottom-left",minZoom:.1,maxZoom:2,children:[n.jsx(r0,{color:"#d4d4d8",gap:20,size:1}),n.jsx(c0,{className:"!bg-card !border !border-border !rounded-lg !shadow-sm",showInteractive:!1}),n.jsx(u0,{nodeColor:O,className:"!bg-card !border !border-border !rounded-lg !shadow-sm",maskColor:"rgba(0, 0, 0, 0.1)"})]})]})}function d1({graphData:s,onNodeClick:c,activeAgents:o}){const[u,m]=f.useState(0),g=f.useCallback(()=>{m(x=>x+1)},[]);return n.jsx(r1,{onReset:g,children:n.jsx(o1,{graphData:s,onNodeClick:c,activeAgents:o})},u)}function f1(){const{graphData:s,handleGraphNodeClick:c,wsState:o}=Kt();return n.jsx("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden p-6",children:s?n.jsx("div",{className:"flex-1 min-h-0",children:n.jsx(d1,{graphData:s,onNodeClick:c,activeAgents:o.activeAgents})}):n.jsx("div",{className:"flex-1 flex items-center justify-center",children:n.jsx(Se,{size:32,className:"animate-spin text-primary"})})})}function m1({screenshots:s,onSubscribe:c,onUnsubscribe:o}){const[u,m]=f.useState(null);f.useEffect(()=>(c(),()=>o()),[c,o]);const g=Array.from(s.values());if(g.length===0)return n.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground gap-2",children:[n.jsx(qh,{size:24}),n.jsx("span",{className:"text-sm",children:"No active browser sessions"}),n.jsx("span",{className:"text-xs",children:"Screenshots will appear when agents open browsers"})]});const x=u?s.get(u):null;return n.jsxs("div",{className:"h-full overflow-auto p-3",children:[x&&n.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/70",onClick:()=>m(null),children:n.jsxs("div",{className:"relative max-w-[90vw] max-h-[90vh] bg-card border-2 border-border rounded-lg overflow-hidden",onClick:y=>y.stopPropagation(),children:[n.jsxs("div",{className:"flex items-center justify-between px-3 py-2 bg-muted border-b border-border",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[x.agentType==="coding"?n.jsx(nr,{size:14,className:"text-blue-500"}):n.jsx(ar,{size:14,className:"text-purple-500"}),n.jsx("span",{className:"font-mono text-sm font-bold",children:xl[x.agentIndex%xl.length]}),n.jsx(Ae,{variant:"outline",className:"text-[10px] h-4",children:x.agentType}),n.jsx("span",{className:"text-xs text-muted-foreground truncate",children:x.featureName})]}),n.jsx("button",{onClick:()=>m(null),className:"p-1 hover:bg-accent rounded transition-colors cursor-pointer",children:n.jsx(Ie,{size:16})})]}),n.jsx("img",{src:x.imageDataUrl,alt:`Browser view - ${x.featureName}`,className:"max-w-full max-h-[calc(90vh-3rem)] object-contain"})]})}),n.jsx("div",{className:"grid gap-3 grid-cols-1 md:grid-cols-2 xl:grid-cols-3",children:g.map(y=>n.jsxs("div",{className:"border-2 border-border rounded-lg overflow-hidden bg-card hover:border-foreground/30 transition-colors",children:[n.jsxs("div",{className:"flex items-center justify-between px-2.5 py-1.5 bg-muted border-b border-border",children:[n.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[y.agentType==="coding"?n.jsx(nr,{size:12,className:"text-blue-500 shrink-0"}):n.jsx(ar,{size:12,className:"text-purple-500 shrink-0"}),n.jsx("span",{className:"font-mono text-xs font-bold",children:xl[y.agentIndex%xl.length]}),n.jsx(Ae,{variant:"outline",className:"text-[9px] h-3.5 px-1",children:y.agentType}),n.jsx("span",{className:"text-[11px] text-muted-foreground truncate",children:y.featureName})]}),n.jsx("button",{onClick:()=>m(y.sessionName),className:"p-0.5 hover:bg-accent rounded transition-colors cursor-pointer shrink-0",title:"Expand",children:n.jsx(Xh,{size:12,className:"text-muted-foreground"})})]}),n.jsx("div",{className:"cursor-pointer overflow-hidden",onClick:()=>m(y.sessionName),children:n.jsx("img",{src:y.imageDataUrl,alt:`Browser - ${y.featureName}`,className:"w-full h-auto max-h-[280px] object-cover object-top"})}),n.jsx("div",{className:"px-2.5 py-1 bg-muted border-t border-border",children:n.jsx("span",{className:"text-[10px] text-muted-foreground font-mono",children:new Date(y.timestamp).toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})})})]},y.sessionName))})]})}function h1(){const{wsState:s}=Kt();return n.jsx("div",{className:"flex-1 overflow-hidden",children:n.jsx(m1,{screenshots:s.browserScreenshots,onSubscribe:s.subscribeBrowserView,onUnsubscribe:s.unsubscribeBrowserView})})}const x1={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"},yh=1e3,vh=3e4;function g1({projectName:s,terminalId:c,isActive:o}){const u=f.useRef(null),m=f.useRef(null),g=f.useRef(null),x=f.useRef(null),y=f.useRef(null),p=f.useRef(0),b=f.useRef(!1),z=f.useRef(!1),w=f.useRef(!1),M=f.useRef(!1),T=f.useRef(null),D=f.useRef(null),_=f.useRef(null),N=f.useRef(o),[k,O]=f.useState(!1),[A,S]=f.useState(!1),[L,J]=f.useState(null);f.useEffect(()=>{w.current=A},[A]),f.useEffect(()=>{N.current=o},[o]);const F=f.useCallback(V=>{const j=new TextEncoder().encode(V);let R="";for(let P=0;P<j.length;P++)R+=String.fromCharCode(j[P]);return btoa(R)},[]),te=f.useCallback(V=>{try{const X=atob(V),j=new Uint8Array(X.length);for(let P=0;P<X.length;P++)j[P]=X.charCodeAt(P);return new TextDecoder().decode(j)}catch{return console.error("Failed to decode base64 data"),""}},[]),Y=f.useCallback(V=>{x.current?.readyState===WebSocket.OPEN&&x.current.send(JSON.stringify(V))},[]),ne=f.useCallback((V,X)=>{Y({type:"resize",cols:V,rows:X})},[Y]),W=f.useCallback(()=>{if(g.current&&m.current)try{const V=g.current.proposeDimensions();V&&V.cols&&V.rows&&!isNaN(V.cols)&&!isNaN(V.rows)&&V.cols>=1&&V.rows>=1&&g.current.fit();const{cols:j,rows:R}=m.current;j>0&&R>0&&ne(j,R)}catch{}},[ne]),G=f.useCallback(()=>{if(!s||!c||!N.current||z.current||x.current?.readyState===WebSocket.CONNECTING||x.current?.readyState===WebSocket.OPEN)return;z.current=!0,y.current&&(clearTimeout(y.current),y.current=null);const V=window.location.protocol==="https:"?"wss:":"ws:",X=window.location.host,j=`${V}//${X}/api/terminal/ws/${encodeURIComponent(s)}/${encodeURIComponent(c)}`;try{const R=new WebSocket(j);x.current=R,R.onopen=()=>{if(z.current=!1,O(!0),S(!1),J(null),p.current=0,m.current){const{cols:P,rows:ee}=m.current;ne(P,ee)}},R.onmessage=P=>{try{const ee=JSON.parse(P.data);switch(ee.type){case"output":{const re=te(ee.data);re&&m.current&&m.current.write(re);break}case"exit":{S(!0),J(ee.code),m.current&&(m.current.writeln(""),m.current.writeln(`\x1B[33m[Shell exited with code ${ee.code}]\x1B[0m`),m.current.writeln("\x1B[90mPress any key to reconnect...\x1B[0m"));break}}}catch{console.error("Failed to parse terminal WebSocket message")}},R.onclose=()=>{z.current=!1,O(!1),x.current=null;const P=N.current&&!w.current&&!M.current;if(M.current=!1,P){const ee=Math.min(yh*Math.pow(2,p.current),vh);p.current++,y.current=window.setTimeout(()=>{G()},ee)}},R.onerror=()=>{R.close()}}catch{z.current=!1;const R=Math.min(yh*Math.pow(2,p.current),vh);p.current++,y.current=window.setTimeout(()=>{G()},R)}},[s,c,ne,te]);f.useEffect(()=>{T.current=G},[G]);const I=f.useCallback(()=>{if(!u.current||b.current)return;const V=new o0({theme:x1,fontFamily:"JetBrains Mono, Consolas, Monaco, monospace",fontSize:14,cursorBlink:!0,cursorStyle:"block",allowProposedApi:!0,scrollback:1e4}),X=new d0;V.loadAddon(X),V.open(u.current),m.current=V,g.current=X,b.current=!0,V.onData(j=>{if(w.current){S(!1),J(null),T.current?.();return}const R={type:"input",data:F(j)};Y(R)}),V.onResize(({cols:j,rows:R})=>{ne(j,R)})},[F,Y,ne]);return f.useEffect(()=>{if(!o)return;const V=()=>{W()};return window.addEventListener("resize",V),()=>{window.removeEventListener("resize",V)}},[o,W]),f.useEffect(()=>{if(!o){y.current&&(clearTimeout(y.current),y.current=null);return}b.current||I();let V,X;const j=()=>{V=requestAnimationFrame(()=>{X=requestAnimationFrame(()=>{(!x.current||x.current.readyState!==WebSocket.OPEN)&&T.current?.()})})},R=window.setTimeout(j,50);return()=>{clearTimeout(R),cancelAnimationFrame(V),cancelAnimationFrame(X)}},[o,I]),f.useEffect(()=>{if(o&&m.current){let V,X;const j=()=>{V=requestAnimationFrame(()=>{X=requestAnimationFrame(()=>{m.current&&g.current&&(W(),m.current.refresh(0,m.current.rows-1),m.current.focus())})})},R=window.setTimeout(j,16);return()=>{clearTimeout(R),cancelAnimationFrame(V),cancelAnimationFrame(X)}}},[o,W]),f.useEffect(()=>()=>{y.current&&clearTimeout(y.current),x.current&&x.current.close(),m.current&&m.current.dispose(),b.current=!1},[]),f.useEffect(()=>{if(o&&b.current){if(D.current===null&&_.current===null){D.current=s,_.current=c;return}if(D.current===s&&_.current===c)return;D.current=s,_.current=c,m.current&&(m.current.clear(),m.current.write("\x1B[H")),M.current=!0,x.current&&(x.current.close(),x.current=null),z.current=!1,S(!1),J(null),p.current=0,T.current?.()}},[s,c,o]),n.jsxs("div",{className:"relative h-full w-full bg-zinc-950",children:[n.jsxs("div",{className:"absolute top-2 right-2 z-10 flex items-center gap-2",children:[n.jsx("div",{className:`w-2 h-2 rounded-full ${k?"bg-green-500":"bg-destructive"}`,title:k?"Connected":"Disconnected"}),!k&&!A&&n.jsx("span",{className:"text-xs font-mono text-muted-foreground",children:"Connecting..."}),A&&L!==null&&n.jsxs("span",{className:"text-xs font-mono text-yellow-500",children:["Exit: ",L]})]}),n.jsx("div",{ref:u,className:"h-full w-full p-2",style:{minHeight:"100px"},onClick:()=>{m.current?.focus()}})]})}function p1({terminals:s,activeTerminalId:c,onSelect:o,onCreate:u,onRename:m,onClose:g}){const[x,y]=f.useState(null),[p,b]=f.useState(""),[z,w]=f.useState({visible:!1,x:0,y:0,terminalId:null}),M=f.useRef(null),T=f.useRef(null);f.useEffect(()=>{x&&M.current&&(M.current.focus(),M.current.select())},[x]),f.useEffect(()=>{const F=te=>{T.current&&!T.current.contains(te.target)&&w(Y=>({...Y,visible:!1}))};if(z.visible)return document.addEventListener("mousedown",F),()=>document.removeEventListener("mousedown",F)},[z.visible]);const D=f.useCallback(F=>{y(F.id),b(F.name),w(te=>({...te,visible:!1}))},[]),_=f.useCallback(()=>{x&&p.trim()&&m(x,p.trim()),y(null),b("")},[x,p,m]),N=f.useCallback(()=>{y(null),b("")},[]),k=f.useCallback(F=>{Cs(F,!1)?(F.preventDefault(),_()):F.key==="Escape"&&(F.preventDefault(),N())},[_,N]),O=f.useCallback(F=>{D(F)},[D]),A=f.useCallback((F,te)=>{F.preventDefault(),w({visible:!0,x:F.clientX,y:F.clientY,terminalId:te})},[]),S=f.useCallback(()=>{if(z.terminalId){const F=s.find(te=>te.id===z.terminalId);F&&D(F)}},[z.terminalId,s,D]),L=f.useCallback(()=>{z.terminalId&&g(z.terminalId),w(F=>({...F,visible:!1}))},[z.terminalId,g]),J=f.useCallback((F,te)=>{F.stopPropagation(),g(te)},[g]);return n.jsxs("div",{className:"flex items-center gap-1 px-2 py-1 bg-zinc-900 border-b border-border overflow-x-auto",children:[s.map(F=>n.jsxs("div",{className:`
77
- group flex items-center gap-1 px-3 py-1 rounded cursor-pointer
78
- transition-colors duration-100 select-none min-w-0
79
- ${c===F.id?"bg-primary text-primary-foreground":"bg-zinc-800 text-zinc-300 hover:bg-zinc-700"}
80
- `,onClick:()=>o(F.id),onDoubleClick:()=>O(F),onContextMenu:te=>A(te,F.id),children:[x===F.id?n.jsx(nt,{ref:M,type:"text",value:p,onChange:te=>b(te.target.value),onBlur:_,onKeyDown:k,className:"h-6 px-1 py-0 text-sm font-mono w-24",onClick:te=>te.stopPropagation()}):n.jsx("span",{className:"text-sm font-mono truncate max-w-[120px]",children:F.name}),s.length>1&&n.jsx("button",{onClick:te=>J(te,F.id),className:`
81
- p-0.5 rounded opacity-0 group-hover:opacity-100 transition-opacity
82
- ${c===F.id?"hover:bg-black/20":"hover:bg-white/20"}
83
- `,title:"Close terminal",children:n.jsx(Ie,{className:"w-3 h-3"})})]},F.id)),n.jsx($,{variant:"ghost",size:"icon",onClick:u,className:"h-8 w-8 bg-zinc-800 text-zinc-300 hover:bg-zinc-700",title:"New terminal",children:n.jsx(nn,{className:"w-4 h-4"})}),z.visible&&n.jsxs("div",{ref:T,className:"fixed z-50 bg-popover border border-border rounded-md py-1 min-w-[120px] shadow-md",style:{left:z.x,top:z.y},children:[n.jsx("button",{onClick:S,className:"w-full px-3 py-1.5 text-left text-sm font-mono hover:bg-accent transition-colors",children:"Rename"}),s.length>1&&n.jsx("button",{onClick:L,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"})]})]})}function y1(){const{selectedProject:s}=Kt(),c=s??"",[o,u]=f.useState([]),[m,g]=f.useState(null),[x,y]=f.useState(!1),p=f.useCallback(async()=>{if(c){y(!0);try{const M=await $0(c);u(M),M.length>0&&g(T=>!T||!M.find(D=>D.id===T)?M[0].id:T)}catch(M){console.error("Failed to fetch terminals:",M)}finally{y(!1)}}},[c]),b=f.useCallback(async()=>{if(c)try{const M=await J0(c);u(T=>[...T,M]),g(M.id)}catch(M){console.error("Failed to create terminal:",M)}},[c]),z=f.useCallback(async(M,T)=>{if(c)try{const D=await W0(c,M,T);u(_=>_.map(N=>N.id===M?D:N))}catch(D){console.error("Failed to rename terminal:",D)}},[c]),w=f.useCallback(async M=>{if(!(!c||o.length<=1))try{if(await I0(c,M),u(T=>T.filter(D=>D.id!==M)),m===M){const T=o.filter(D=>D.id!==M);T.length>0&&g(T[0].id)}}catch(T){console.error("Failed to close terminal:",T)}},[c,o,m]);return f.useEffect(()=>{c?p():(u([]),g(null))},[c]),n.jsxs("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[o.length>0&&n.jsx(p1,{terminals:o,activeTerminalId:m,onSelect:g,onCreate:b,onRename:z,onClose:w}),n.jsx("div",{className:"flex-1 min-h-0 relative",children:x?n.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground font-mono text-sm",children:"Loading terminals..."}):o.length===0?n.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground font-mono text-sm",children:"No terminal available"}):o.map(M=>{const T=M.id===m;return n.jsx("div",{className:"absolute inset-0",style:{zIndex:T?10:1,transform:T?"none":"translateX(-200%)",pointerEvents:T?"auto":"none"},children:n.jsx(g1,{projectName:c,terminalId:M.id,isActive:T})},M.id)})})]})}const bh="autoforge-logs-tab";function jh(s){const c=s.toLowerCase();return c.includes("error")||c.includes("exception")||c.includes("traceback")?"error":c.includes("warn")||c.includes("warning")?"warn":c.includes("debug")?"debug":"info"}function Nh(s){switch(s){case"error":return"text-red-500";case"warn":return"text-yellow-500";case"debug":return"text-blue-400";default:return"text-foreground"}}function Sh(s){try{return new Date(s).toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return""}}function v1(){const{wsState:s}=Kt(),[c,o]=f.useState(()=>{try{return localStorage.getItem(bh)==="devserver"?"devserver":"agent"}catch{return"agent"}}),[u,m]=f.useState(!0),[g,x]=f.useState(!0),y=f.useRef(null),p=f.useRef(null),b=f.useCallback(D=>{o(D);try{localStorage.setItem(bh,D)}catch{}},[]);f.useEffect(()=>{u&&y.current&&c==="agent"&&(y.current.scrollTop=y.current.scrollHeight)},[s.logs,u,c]),f.useEffect(()=>{g&&p.current&&c==="devserver"&&(p.current.scrollTop=p.current.scrollHeight)},[s.devLogs,g,c]);const z=D=>{const _=D.currentTarget,N=_.scrollHeight-_.scrollTop<=_.clientHeight+50;m(N)},w=D=>{const _=D.currentTarget,N=_.scrollHeight-_.scrollTop<=_.clientHeight+50;x(N)},M=()=>{c==="agent"?s.clearLogs():s.clearDevLogs()},T=c==="agent"?!u:!g;return n.jsxs("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[n.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 border-b border-border bg-card/50",children:[n.jsxs($,{variant:c==="agent"?"secondary":"ghost",size:"sm",onClick:()=>b("agent"),className:"h-7 text-xs font-mono gap-1.5",children:[n.jsx(Gy,{size:12}),"Agent",s.logs.length>0&&n.jsx(Ae,{variant:"default",className:"h-4 px-1.5 text-[10px]",children:s.logs.length})]}),n.jsxs($,{variant:c==="devserver"?"secondary":"ghost",size:"sm",onClick:()=>b("devserver"),className:"h-7 text-xs font-mono gap-1.5",children:[n.jsx(Qy,{size:12}),"Dev Server",s.devLogs.length>0&&n.jsx(Ae,{variant:"default",className:"h-4 px-1.5 text-[10px]",children:s.devLogs.length})]}),n.jsx("div",{className:"flex-1"}),T&&n.jsx(Ae,{variant:"default",className:"bg-yellow-500 text-yellow-950",children:"Paused"}),n.jsx($,{variant:"ghost",size:"icon",onClick:M,className:"h-7 w-7",title:"Clear logs",children:n.jsx(ln,{size:14,className:"text-muted-foreground"})})]}),c==="agent"?n.jsx("div",{ref:y,onScroll:z,className:"flex-1 overflow-y-auto p-3 font-mono text-sm",children:s.logs.length===0?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:"No logs yet. Start the agent to see output."}):n.jsx("div",{className:"space-y-0.5",children:s.logs.map((D,_)=>{const N=jh(D.line),k=Nh(N),O=Sh(D.timestamp);return n.jsxs("div",{className:"flex gap-2 hover:bg-muted px-1 py-0.5 rounded",children:[n.jsx("span",{className:"text-muted-foreground select-none shrink-0",children:O}),n.jsx("span",{className:`${k} whitespace-pre-wrap break-all`,children:D.line})]},`${D.timestamp}-${_}`)})})}):n.jsx("div",{ref:p,onScroll:w,className:"flex-1 overflow-y-auto p-3 font-mono text-sm",children:s.devLogs.length===0?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:"No dev server logs yet."}):n.jsx("div",{className:"space-y-0.5",children:s.devLogs.map((D,_)=>{const N=jh(D.line),k=Nh(N),O=Sh(D.timestamp);return n.jsxs("div",{className:"flex gap-2 hover:bg-muted px-1 py-0.5 rounded",children:[n.jsx("span",{className:"text-muted-foreground select-none shrink-0",children:O}),n.jsx("span",{className:`${k} whitespace-pre-wrap break-all`,children:D.line})]},`${D.timestamp}-${_}`)})})})]})}function bs(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function b1({projectName:s,onError:c}){const[o,u]=f.useState([]),[m,g]=f.useState(!1),[x,y]=f.useState("disconnected"),[p,b]=f.useState(null),[z,w]=f.useState(null),M=f.useRef(null),T=f.useRef(null),D=f.useRef(0),_=3,N=f.useRef(null),k=f.useRef(null),O=f.useRef(null);f.useEffect(()=>()=>{N.current&&clearInterval(N.current),k.current&&clearTimeout(k.current),O.current&&clearTimeout(O.current),M.current&&M.current.close(),T.current=null},[]);const A=f.useCallback(()=>{if(M.current?.readyState===WebSocket.OPEN||M.current?.readyState===WebSocket.CONNECTING)return;y("connecting");const Y=window.location.protocol==="https:"?"wss:":"ws:",ne=window.location.host,W=`${Y}//${ne}/api/assistant/ws/${encodeURIComponent(s)}`,G=new WebSocket(W);M.current=G,G.onopen=()=>{y("connected"),D.current=0,N.current=window.setInterval(()=>{G.readyState===WebSocket.OPEN&&G.send(JSON.stringify({type:"ping"}))},3e4)},G.onclose=()=>{if(y("disconnected"),N.current&&(clearInterval(N.current),N.current=null),D.current<_){D.current++;const I=Math.min(1e3*Math.pow(2,D.current),1e4);k.current=window.setTimeout(A,I)}},G.onerror=()=>{y("error"),c?.("WebSocket connection error")},G.onmessage=I=>{try{const V=JSON.parse(I.data);switch(V.type){case"text":{u(X=>{const j=X[X.length-1];return j?.role==="assistant"&&j.isStreaming?[...X.slice(0,-1),{...j,content:j.content+V.content}]:(T.current=bs(),[...X,{id:T.current,role:"assistant",content:V.content,timestamp:new Date,isStreaming:!0}])});break}case"tool_call":{let X=`Using tool: ${V.tool}`;if(V.tool==="mcp__features__feature_create"){const j=V.input;X=`Creating feature: "${j.name||"New Feature"}" in ${j.category||"General"}`}else if(V.tool==="mcp__features__feature_create_bulk"){const R=V.input.features?.length||0;X=`Creating ${R} feature${R!==1?"s":""}`}else if(V.tool==="mcp__features__feature_skip")X="Skipping feature (moving to end of queue)";else if(V.tool==="mcp__features__feature_get_stats")X="Checking project progress";else if(V.tool==="mcp__features__feature_get_next")X="Getting next pending feature";else if(V.tool==="Read"){const R=V.input.file_path||"";X=`Reading file: ${R.split("/").pop()||R}`}else V.tool==="Glob"?X=`Searching for files: ${V.input.pattern||"..."}`:V.tool==="Grep"&&(X=`Searching for: ${V.input.pattern||"..."}`);u(j=>[...j,{id:bs(),role:"system",content:X,timestamp:new Date}]);break}case"question":{w(V.questions),g(!1),u(X=>{const j=X[X.length-1];return j?.role==="assistant"&&j.isStreaming?[...X.slice(0,-1),{...j,isStreaming:!1,questions:V.questions}]:X});break}case"conversation_created":{b(V.conversation_id);break}case"response_done":{g(!1),T.current=null,u(X=>{const j=X[X.length-1];return j?.role==="assistant"&&j.isStreaming?[...X.slice(0,-1),{...j,isStreaming:!1}]:X});break}case"error":{g(!1),c?.(V.content),u(X=>[...X,{id:bs(),role:"system",content:`Error: ${V.content}`,timestamp:new Date}]);break}case"pong":break}}catch(V){console.error("Failed to parse WebSocket message:",V)}}},[s,c]),S=f.useCallback(Y=>{O.current&&(clearTimeout(O.current),O.current=null),A();const ne=()=>{if(M.current?.readyState===WebSocket.OPEN){O.current=null,g(!0);const W={type:"start"};Y&&(W.conversation_id=Y,b(Y)),M.current.send(JSON.stringify(W))}else M.current?.readyState===WebSocket.CONNECTING?O.current=window.setTimeout(ne,100):O.current=null};O.current=window.setTimeout(ne,100)},[A]),L=f.useCallback(Y=>{if(!M.current||M.current.readyState!==WebSocket.OPEN){c?.("Not connected");return}u(ne=>[...ne,{id:bs(),role:"user",content:Y,timestamp:new Date}]),g(!0),M.current.send(JSON.stringify({type:"message",content:Y}))},[c]),J=f.useCallback(Y=>{if(!M.current||M.current.readyState!==WebSocket.OPEN){c?.("Not connected");return}const ne=[];for(const[,G]of Object.entries(Y))Array.isArray(G)?ne.push(G.join(", ")):ne.push(G);const W=ne.join("; ");u(G=>[...G,{id:bs(),role:"user",content:W,timestamp:new Date}]),w(null),g(!0),M.current.send(JSON.stringify({type:"answer",answers:Y}))},[c]),F=f.useCallback(()=>{D.current=_,N.current&&(clearInterval(N.current),N.current=null),M.current&&(M.current.close(),M.current=null),y("disconnected")},[]),te=f.useCallback(()=>{u([])},[]);return{messages:o,isLoading:m,connectionStatus:x,conversationId:p,currentQuestions:z,start:S,sendMessage:L,sendAnswer:J,disconnect:F,clearMessages:te}}function j1(s){return ft({queryKey:["conversations",s],queryFn:()=>L0(s),enabled:!!s,staleTime:3e4})}function hx(s,c){return ft({queryKey:["conversation",s,c],queryFn:()=>H0(s,c),enabled:!!s&&!!c,staleTime:3e4,retry:(o,u)=>u instanceof Error&&(u.message.toLowerCase().includes("not found")||u.message==="HTTP 404")?!1:o<3})}function N1(s){const c=Ge();return Fe({mutationFn:o=>G0(s,o),onSuccess:(o,u)=>{c.invalidateQueries({queryKey:["conversations",s]}),c.removeQueries({queryKey:["conversation",s,u]})}})}function S1(s){if(!s)return"";const c=new Date(s),u=new Date().getTime()-c.getTime(),m=Math.floor(u/1e3),g=Math.floor(m/60),x=Math.floor(g/60),y=Math.floor(x/24);return m<60?"just now":g<60?`${g}m ago`:x<24?`${x}h ago`:y===1?"yesterday":y<7?`${y}d ago`:c.toLocaleDateString()}function C1({projectName:s,currentConversationId:c,isOpen:o,onClose:u,onSelectConversation:m}){const[g,x]=f.useState(null),[y,p]=f.useState(null),{data:b,isLoading:z}=j1(s),w=N1(s);f.useEffect(()=>{o||p(null)},[o]);const M=(N,k)=>{N.stopPropagation(),x(k)},T=async()=>{if(g)try{p(null),await w.mutateAsync(g.id),x(null)}catch{p("Failed to delete conversation. Please try again.")}},D=()=>{x(null),p(null)},_=N=>{m(N),u()};return f.useEffect(()=>{if(!o)return;const N=k=>{k.key==="Escape"&&(k.preventDefault(),u())};return document.addEventListener("keydown",N),()=>document.removeEventListener("keydown",N)},[o,u]),o?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"fixed inset-0 z-40",onClick:u}),n.jsxs(Te,{className:"absolute top-full left-0 mt-2 z-50 w-[320px] max-w-[calc(100vw-2rem)] shadow-lg",children:[n.jsx(Tn,{className:"p-3 border-b border-border",children:n.jsx("h3",{className:"font-bold text-sm",children:"Conversation History"})}),n.jsx(ke,{className:"p-0",children:z?n.jsx("div",{className:"p-4 flex items-center justify-center",children:n.jsx(Se,{size:20,className:"animate-spin text-muted-foreground"})}):!b||b.length===0?n.jsx("div",{className:"p-4 text-center text-muted-foreground text-sm",children:"No conversations yet"}):n.jsx("div",{className:"max-h-[300px] overflow-y-auto",children:b.map(N=>{const k=N.id===c;return n.jsxs("div",{className:`flex items-center group ${k?"bg-primary/10":"hover:bg-muted"}`,children:[n.jsx("button",{onClick:()=>_(N.id),className:"flex-1 px-3 py-2 text-left",disabled:k,children:n.jsxs("div",{className:"flex items-start gap-2",children:[n.jsx(Yy,{size:16,className:"mt-0.5 flex-shrink-0 text-muted-foreground"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-medium truncate text-foreground",children:N.title||"Untitled conversation"}),n.jsxs("div",{className:"text-xs flex items-center gap-2 text-muted-foreground",children:[n.jsxs("span",{children:[N.message_count," messages"]}),n.jsx("span",{children:"|"}),n.jsx("span",{children:S1(N.updated_at)})]})]})]})}),n.jsx($,{variant:"ghost",size:"icon",onClick:O=>M(O,N),className:`h-8 w-8 mr-2 ${k?"opacity-60 hover:opacity-100":"opacity-0 group-hover:opacity-100"} hover:text-destructive hover:bg-destructive/10`,title:"Delete conversation",children:n.jsx(ln,{size:14})})]},N.id)})})})]}),n.jsx(fx,{isOpen:g!==null,title:"Delete Conversation",message:y?n.jsxs("div",{className:"space-y-3",children:[n.jsx("p",{children:`Are you sure you want to delete "${g?.title||"this conversation"}"? This action cannot be undone.`}),n.jsxs("div",{className:"flex items-center gap-2 p-2 bg-destructive/10 border border-destructive rounded text-sm text-destructive",children:[n.jsx(ia,{size:16,className:"flex-shrink-0"}),n.jsx("span",{children:y})]})]}):`Are you sure you want to delete "${g?.title||"this conversation"}"? This action cannot be undone.`,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",isLoading:w.isPending,onConfirm:T,onCancel:D})]}):null}function xx({projectName:s,conversationId:c,initialMessages:o,isLoadingConversation:u,onNewChat:m,onSelectConversation:g,onConversationCreated:x}){const[y,p]=f.useState(""),[b,z]=f.useState(!1),w=f.useRef(null),M=f.useRef(null),T=f.useRef(!1),D=f.useRef(void 0),_=f.useCallback(X=>{console.error("Assistant error:",X)},[]),{messages:N,isLoading:k,connectionStatus:O,conversationId:A,currentQuestions:S,start:L,sendMessage:J,sendAnswer:F,clearMessages:te}=b1({projectName:s,onError:_}),Y=f.useRef(A);f.useEffect(()=>{Y.current===null&&A!==null&&x&&x(A),Y.current=A},[A,x]),f.useEffect(()=>{w.current?.scrollIntoView({behavior:"smooth"})},[N]),f.useEffect(()=>{if(u||D.current===c&&T.current)return;const X=D.current!==void 0&&D.current!==c;D.current=c,T.current=!0,X&&te(),L(c)},[c,u,L,te]);const ne=f.useCallback(()=>{te(),m?.()},[te,m]),W=f.useCallback(X=>{z(!1),g?.(X)},[g]);f.useEffect(()=>{k||M.current?.focus()},[k]);const G=()=>{const X=y.trim();!X||k||u||(J(X),p(""))},I=X=>{Cs(X)&&(X.preventDefault(),G())},V=f.useMemo(()=>{if(!(D.current===c&&!u))return o??[];if(!o||o.length===0)return N;const j=new Map;for(const R of o)j.set(R.id,R);for(const R of N)j.set(R.id,R);return Array.from(j.values())},[o,N,c,u]);return n.jsxs("div",{className:"flex flex-col h-full",children:[n.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border bg-background",children:[n.jsxs("div",{className:"flex items-center gap-1 relative",children:[n.jsx($,{variant:"ghost",size:"icon",onClick:ne,className:"h-8 w-8",title:"New conversation",disabled:k,children:n.jsx(nn,{size:16})}),n.jsx($,{variant:b?"secondary":"ghost",size:"icon",onClick:()=>z(!b),className:"h-8 w-8",title:"Conversation history",children:n.jsx(Vy,{size:16})}),n.jsx(C1,{projectName:s,currentConversationId:c??A,isOpen:b,onClose:()=>z(!1),onSelectConversation:W})]}),n.jsx("div",{className:"flex items-center gap-2",children:O==="connected"?n.jsxs(n.Fragment,{children:[n.jsx(jl,{size:14,className:"text-green-500"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"Connected"})]}):O==="connecting"?n.jsxs(n.Fragment,{children:[n.jsx(Se,{size:14,className:"text-primary animate-spin"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"Connecting..."})]}):n.jsxs(n.Fragment,{children:[n.jsx(bl,{size:14,className:"text-destructive"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"Disconnected"})]})})]}),n.jsx("div",{className:"flex-1 overflow-y-auto bg-background",children:u?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Se,{size:16,className:"animate-spin"}),n.jsx("span",{children:"Loading conversation..."})]})}):V.length===0?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:k?n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Se,{size:16,className:"animate-spin"}),n.jsx("span",{children:"Connecting to assistant..."})]}):n.jsx("span",{children:"Ask me anything about the codebase"})}):n.jsxs("div",{className:"py-4",children:[V.map(X=>n.jsx(Xu,{message:X},X.id)),n.jsx("div",{ref:w})]})}),k&&V.length>0&&n.jsx("div",{className:"px-4 py-2 border-t border-border bg-background",children:n.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground text-sm",children:[n.jsxs("div",{className:"flex gap-1",children:[n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"0ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"150ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"300ms"}})]}),n.jsx("span",{children:"Thinking..."})]})}),S&&n.jsx("div",{className:"border-t border-border bg-background",children:n.jsx(ux,{questions:S,onSubmit:F})}),n.jsxs("div",{className:"border-t border-border p-4 bg-card",children:[n.jsxs("div",{className:"flex gap-2",children:[n.jsx(ws,{ref:M,value:y,onChange:X=>p(X.target.value),onKeyDown:I,placeholder:"Ask about the codebase...",disabled:k||u||O!=="connected"||!!S,className:"flex-1 resize-none min-h-[44px] max-h-[120px]",rows:1}),n.jsx($,{onClick:G,disabled:!y.trim()||k||u||O!=="connected"||!!S,title:"Send message",children:k?n.jsx(Se,{size:18,className:"animate-spin"}):n.jsx(rr,{size:18})})]}),n.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:S?"Select an option above to continue":"Press Enter to send, Shift+Enter for new line"})]})]})}const gx="assistant-conversation-";function Ch(s){try{const c=localStorage.getItem(`${gx}${s}`);if(c)return JSON.parse(c).conversationId||null}catch{}return null}function w1(s,c){const o=`${gx}${s}`;c?localStorage.setItem(o,JSON.stringify({conversationId:c})):localStorage.removeItem(o)}function z1(){const{selectedProject:s}=Kt(),c=s??"",[o,u]=f.useState(()=>Ch(c)),{data:m,isLoading:g,error:x}=hx(c||null,o);f.useEffect(()=>{if(x&&o){const w=x.message.toLowerCase();(w.includes("not found")||w.includes("404"))&&(console.warn(`Conversation ${o} not found, clearing stored ID`),u(null))}},[x,o]);const y=m?.messages.map(w=>({id:`db-${w.id}`,role:w.role,content:w.content,timestamp:w.timestamp?new Date(w.timestamp):new Date}));f.useEffect(()=>{c&&w1(c,o)},[c,o]),f.useEffect(()=>{u(Ch(c))},[c]);const p=f.useCallback(()=>{u(null)},[]),b=f.useCallback(w=>{u(w)},[]),z=f.useCallback(w=>{u(w)},[]);return n.jsxs("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[n.jsxs("div",{className:"flex items-center gap-2 px-4 py-3 border-b border-border bg-primary text-primary-foreground",children:[n.jsx("div",{className:"bg-card text-foreground border border-border p-1.5 rounded",children:n.jsx(Ns,{size:18})}),n.jsxs("div",{children:[n.jsx("h2",{className:"font-semibold",children:"Project Assistant"}),c&&n.jsx("p",{className:"text-xs opacity-80 font-mono",children:c})]})]}),n.jsx("div",{className:"flex-1 overflow-hidden",children:c&&n.jsx(xx,{projectName:c,conversationId:o,initialMessages:y,isLoadingConversation:g,onNewChat:p,onSelectConversation:b,onConversationCreated:z})})]})}function px({className:s,size:c="default",...o}){return n.jsx(py,{"data-slot":"switch","data-size":c,className:pe("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",s),...o,children:n.jsx(yy,{"data-slot":"switch-thumb",className:pe("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 wh({className:s,min:c,max:o,value:u,onChange:m,disabled:g,...x}){return n.jsxs("div",{className:pe("flex items-center gap-3",s),children:[n.jsx("input",{type:"range",min:c,max:o,value:u,onChange:y=>m(Number(y.target.value)),disabled:g,className:pe("slider-input h-2 w-full cursor-pointer appearance-none rounded-full bg-input transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",g&&"cursor-not-allowed opacity-50"),...x}),n.jsx("span",{className:"min-w-[2ch] text-center text-sm font-semibold tabular-nums",children:u})]})}const T1={claude:"Default provider. Uses Claude CLI credentials. API key auth is recommended.",kimi:"Get an API key at kimi.com",glm:"Get an API key at open.bigmodel.cn",ollama:"Run models locally. Install from ollama.com",custom:"Connect to any OpenAI-compatible API endpoint."};function E1(){const{data:s,isLoading:c,isError:o,refetch:u}=qu(),{data:m}=Sv(),{data:g}=Nv(),x=Cv(),{theme:y,setTheme:p,darkMode:b,toggleDarkMode:z}=Wh(),[w,M]=f.useState(!1),[T,D]=f.useState(""),[_,N]=f.useState(""),[k,O]=f.useState(""),A=()=>{s&&!x.isPending&&x.mutate({yolo_mode:!s.yolo_mode})},S=ae=>{x.isPending||x.mutate({api_model:ae})},L=ae=>{x.isPending||x.mutate({testing_agent_ratio:ae})},J=ae=>{x.isPending||x.mutate({batch_size:ae})},F=ae=>{x.isPending||x.mutate({testing_batch_size:ae})},te=ae=>{x.isPending||(x.mutate({api_provider:ae}),D(""),M(!1),N(""),O(""))},Y=()=>{T.trim()&&!x.isPending&&(x.mutate({api_auth_token:T.trim()}),D(""),M(!1))},ne=()=>{k.trim()&&!x.isPending&&(x.mutate({api_base_url:k.trim()}),O(""))},W=()=>{_.trim()&&!x.isPending&&(x.mutate({api_model:_.trim()}),N(""))},G=g?.providers??[],I=m?.models??[],V=x.isPending,X=s?.api_provider??"claude",j=G.find(ae=>ae.id===X),P=X!=="claude"&&j?.requires_auth,ee=X==="custom"||X==="azure",re=X==="custom"||X==="ollama";return n.jsx("div",{className:"flex-1 overflow-y-auto",children:n.jsxs("div",{className:"max-w-2xl mx-auto p-6 space-y-6",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(Gh,{size:24,className:"text-primary"}),n.jsx("h1",{className:"text-2xl font-bold",children:"Settings"}),V&&n.jsx(Se,{className:"animate-spin",size:16})]}),c&&n.jsxs("div",{className:"flex items-center justify-center py-8",children:[n.jsx(Se,{className:"animate-spin",size:24}),n.jsx("span",{className:"ml-2",children:"Loading settings..."})]}),o&&n.jsxs(lt,{variant:"destructive",children:[n.jsx(ia,{className:"h-4 w-4"}),n.jsxs(st,{children:["Failed to load settings",n.jsx($,{variant:"link",onClick:()=>u(),className:"ml-2 p-0 h-auto",children:"Retry"})]})]}),s&&!c&&n.jsxs(n.Fragment,{children:[n.jsxs(Te,{children:[n.jsx(Tn,{children:n.jsx(yl,{children:"Appearance"})}),n.jsxs(ke,{className:"space-y-6",children:[n.jsxs("div",{className:"space-y-3",children:[n.jsx(Ee,{className:"font-medium",children:"Theme"}),n.jsx("div",{className:"grid gap-2",children:Wi.map(ae=>n.jsxs("button",{onClick:()=>p(ae.id),className:`flex items-center gap-3 p-3 rounded-lg border-2 transition-colors text-left ${y===ae.id?"border-primary bg-primary/5":"border-border hover:border-primary/50 hover:bg-muted/50"}`,children:[n.jsxs("div",{className:"flex gap-0.5 shrink-0",children:[n.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:ae.previewColors.background}}),n.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:ae.previewColors.primary}}),n.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:ae.previewColors.accent}})]}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-medium text-sm",children:ae.name}),n.jsx("div",{className:"text-xs text-muted-foreground",children:ae.description})]}),y===ae.id&&n.jsx(Da,{size:18,className:"text-primary shrink-0"})]},ae.id))})]}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"space-y-0.5",children:[n.jsx(Ee,{htmlFor:"dark-mode",className:"font-medium",children:"Dark Mode"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Switch between light and dark appearance"})]}),n.jsxs($,{id:"dark-mode",variant:"outline",size:"sm",onClick:z,className:"gap-2",children:[b?n.jsx(Qh,{size:16}):n.jsx(Yh,{size:16}),b?"Light":"Dark"]})]})]})]}),n.jsxs(Te,{children:[n.jsx(Tn,{children:n.jsx(yl,{children:"API Configuration"})}),n.jsxs(ke,{className:"space-y-6",children:[n.jsxs("div",{className:"space-y-3",children:[n.jsx(Ee,{className:"font-medium",children:"API Provider"}),n.jsx("div",{className:"flex flex-wrap gap-1.5",children:G.map(ae=>n.jsx("button",{onClick:()=>te(ae.id),disabled:V,className:`py-1.5 px-3 text-sm font-medium rounded-md border transition-colors ${X===ae.id?"bg-primary text-primary-foreground border-primary":"bg-background text-foreground border-border hover:bg-muted"} ${V?"opacity-50 cursor-not-allowed":""}`,children:ae.name.split(" (")[0]},ae.id))}),n.jsx("p",{className:"text-xs text-muted-foreground",children:T1[X]??""}),X==="claude"&&n.jsxs(lt,{className:"border-amber-500/50 bg-amber-50 dark:bg-amber-950/20 mt-2",children:[n.jsx(ra,{className:"h-4 w-4 text-amber-600"}),n.jsxs(st,{className:"text-xs text-amber-700 dark:text-amber-300",children:["Anthropic's policy may not permit using subscription-based auth (",n.jsx("code",{className:"text-xs",children:"claude login"}),") with third-party agents. Consider using an API key provider or setting the ",n.jsx("code",{className:"text-xs",children:"ANTHROPIC_API_KEY"})," environment variable to avoid potential account issues."]})]}),P&&n.jsxs("div",{className:"space-y-2 pt-1",children:[n.jsx(Ee,{className:"text-sm",children:"API Key"}),s.api_has_auth_token&&!T&&n.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[n.jsx(Jm,{size:14,className:"text-green-500"}),n.jsx("span",{children:"Configured"}),n.jsx($,{variant:"ghost",size:"sm",className:"h-auto py-0.5 px-2 text-xs",onClick:()=>D(" "),children:"Change"})]}),(!s.api_has_auth_token||T)&&n.jsxs("div",{className:"flex gap-2",children:[n.jsxs("div",{className:"relative flex-1",children:[n.jsx("input",{type:w?"text":"password",value:T.trim(),onChange:ae=>D(ae.target.value),placeholder:"Enter API key...",className:"w-full py-1.5 px-3 pe-9 text-sm border rounded-md bg-background"}),n.jsx("button",{type:"button",onClick:()=>M(!w),className:"absolute end-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:w?n.jsx(Xy,{size:14}):n.jsx(Ky,{size:14})})]}),n.jsx($,{size:"sm",onClick:Y,disabled:!T.trim()||V,children:"Save"})]})]}),ee&&n.jsxs("div",{className:"space-y-2 pt-1",children:[n.jsx(Ee,{className:"text-sm",children:"Base URL"}),s.api_base_url&&!k&&n.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[n.jsx(Jm,{size:14,className:"text-green-500"}),n.jsx("span",{className:"truncate",children:s.api_base_url}),n.jsx($,{variant:"ghost",size:"sm",className:"h-auto py-0.5 px-2 text-xs shrink-0",onClick:()=>O(s.api_base_url||""),children:"Change"})]}),(!s.api_base_url||k)&&n.jsxs("div",{className:"flex gap-2",children:[n.jsx("input",{type:"text",value:k,onChange:ae=>O(ae.target.value),placeholder:X==="azure"?"https://your-resource.services.ai.azure.com/anthropic":"https://api.example.com/v1",className:"flex-1 py-1.5 px-3 text-sm border rounded-md bg-background"}),n.jsx($,{size:"sm",onClick:ne,disabled:!k.trim()||V,children:"Save"})]})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{className:"font-medium",children:"Model"}),I.length>0&&n.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:I.map(ae=>n.jsxs("button",{onClick:()=>S(ae.id),disabled:V,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${(s.api_model??s.model)===ae.id?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${V?"opacity-50 cursor-not-allowed":""}`,children:[n.jsx("span",{className:"block",children:ae.name}),n.jsx("span",{className:"block text-xs opacity-60",children:ae.id})]},ae.id))}),re&&n.jsxs("div",{className:"flex gap-2 pt-1",children:[n.jsx("input",{type:"text",value:_,onChange:ae=>N(ae.target.value),placeholder:"Custom model name...",className:"flex-1 py-1.5 px-3 text-sm border rounded-md bg-background",onKeyDown:ae=>ae.key==="Enter"&&W()}),n.jsx($,{size:"sm",onClick:W,disabled:!_.trim()||V,children:"Set"})]})]})]})]}),n.jsxs(Te,{children:[n.jsx(Tn,{children:n.jsx(yl,{children:"Agent Configuration"})}),n.jsxs(ke,{className:"space-y-6",children:[n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"space-y-0.5",children:[n.jsx(Ee,{htmlFor:"yolo-mode",className:"font-medium",children:"YOLO Mode"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Skip testing for rapid prototyping"})]}),n.jsx(px,{id:"yolo-mode",checked:s.yolo_mode,onCheckedChange:A,disabled:V})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{className:"font-medium",children:"Regression Agents"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Number of regression testing agents (0 = disabled)"}),n.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:[0,1,2,3].map(ae=>n.jsx("button",{onClick:()=>L(ae),disabled:V,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${s.testing_agent_ratio===ae?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${V?"opacity-50 cursor-not-allowed":""}`,children:ae},ae))})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{className:"font-medium",children:"Features per Coding Agent"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Number of features assigned to each coding agent session"}),n.jsx(wh,{min:1,max:15,value:s.batch_size??3,onChange:J,disabled:V})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{className:"font-medium",children:"Features per Testing Agent"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Number of features assigned to each testing agent session"}),n.jsx(wh,{min:1,max:15,value:s.testing_batch_size??3,onChange:F,disabled:V})]})]})]}),x.isError&&n.jsx(lt,{variant:"destructive",children:n.jsx(st,{children:"Failed to save settings. Please try again."})})]})]})})}function A1(){const{selectedProject:s,hasSpec:c,setupComplete:o,setSetupComplete:u,setShowSpecChat:m,activeView:g,selectedProjectData:x}=Kt();if(!o)return n.jsx(tj,{onComplete:()=>u(!0)});if(g==="settings")return n.jsx(E1,{});if(!s)return n.jsx("div",{className:"flex-1 flex items-center justify-center",children:n.jsxs("div",{className:"text-center",children:[n.jsx("h2",{className:"font-display text-2xl font-bold mb-2",children:"Welcome to AutoForge"}),n.jsx("p",{className:"text-muted-foreground",children:"Select a project from the sidebar to get started."})]})});if(!c)return n.jsx("div",{className:"flex-1 overflow-y-auto p-6",children:n.jsx(aj,{projectName:s,projectPath:x?.path,onCreateWithClaude:()=>m(!0),onEditManually:()=>{}})});switch(g){case"dashboard":return n.jsx(hh,{});case"kanban":return n.jsx(s1,{});case"graph":return n.jsx(f1,{});case"browsers":return n.jsx(h1,{});case"terminal":return n.jsx(y1,{});case"logs":return n.jsx(v1,{});case"assistant":return n.jsx(z1,{});default:return n.jsx(hh,{})}}function D1(){const{selectedProject:s}=Kt();return n.jsxs("div",{className:"flex h-screen overflow-hidden bg-background",children:[n.jsx(Ob,{}),n.jsxs("div",{className:"flex-1 flex flex-col min-w-0 overflow-hidden",children:[s&&n.jsx(ej,{}),n.jsx(A1,{})]})]})}function _1({projectName:s,onClose:c}){const o=f.useId(),[u,m]=f.useState(""),[g,x]=f.useState(""),[y,p]=f.useState(""),[b,z]=f.useState(""),[w,M]=f.useState([{id:`${o}-step-0`,value:""}]),[T,D]=f.useState(null),[_,N]=f.useState(1),k=uv(s),O=()=>{M([...w,{id:`${o}-step-${_}`,value:""}]),N(_+1)},A=F=>{M(w.filter(te=>te.id!==F))},S=(F,te)=>{M(w.map(Y=>Y.id===F?{...Y,value:te}:Y))},L=async F=>{F.preventDefault(),D(null);const te=w.map(Y=>Y.value.trim()).filter(Y=>Y.length>0);try{await k.mutateAsync({category:u.trim(),name:g.trim(),description:y.trim(),steps:te,priority:b?parseInt(b,10):void 0}),c()}catch(Y){D(Y instanceof Error?Y.message:"Failed to create feature")}},J=u.trim()&&g.trim()&&y.trim();return n.jsx(ca,{open:!0,onOpenChange:F=>!F&&c(),children:n.jsxs(ua,{className:"sm:max-w-2xl",children:[n.jsx(oa,{children:n.jsx(da,{children:"Add Feature"})}),n.jsxs("form",{onSubmit:L,className:"space-y-4",children:[T&&n.jsxs(lt,{variant:"destructive",children:[n.jsx(ia,{className:"h-4 w-4"}),n.jsxs(st,{className:"flex items-center justify-between",children:[n.jsx("span",{children:T}),n.jsx($,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>D(null),children:n.jsx(Ie,{size:14})})]})]}),n.jsxs("div",{className:"flex gap-4",children:[n.jsxs("div",{className:"flex-1 space-y-2",children:[n.jsx(Ee,{htmlFor:"category",children:"Category"}),n.jsx(nt,{id:"category",type:"text",value:u,onChange:F=>m(F.target.value),placeholder:"e.g., Authentication, UI, API",required:!0})]}),n.jsxs("div",{className:"w-32 space-y-2",children:[n.jsx(Ee,{htmlFor:"priority",children:"Priority"}),n.jsx(nt,{id:"priority",type:"number",value:b,onChange:F=>z(F.target.value),placeholder:"Auto",min:"1"})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{htmlFor:"name",children:"Feature Name"}),n.jsx(nt,{id:"name",type:"text",value:g,onChange:F=>x(F.target.value),placeholder:"e.g., User login form",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{htmlFor:"description",children:"Description"}),n.jsx(ws,{id:"description",value:y,onChange:F=>p(F.target.value),placeholder:"Describe what this feature should do...",className:"min-h-[100px] resize-y",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{children:"Test Steps (Optional)"}),n.jsx("div",{className:"space-y-2",children:w.map((F,te)=>n.jsxs("div",{className:"flex gap-2 items-center",children:[n.jsx("span",{className:"w-10 h-10 flex-shrink-0 flex items-center justify-center font-mono font-semibold text-sm border rounded-md bg-muted text-muted-foreground",children:te+1}),n.jsx(nt,{type:"text",value:F.value,onChange:Y=>S(F.id,Y.target.value),placeholder:"Describe this step...",className:"flex-1"}),w.length>1&&n.jsx($,{type:"button",variant:"ghost",size:"icon",onClick:()=>A(F.id),children:n.jsx(ln,{size:18})})]},F.id))}),n.jsxs($,{type:"button",variant:"ghost",size:"sm",onClick:O,children:[n.jsx(nn,{size:16}),"Add Step"]})]}),n.jsxs(It,{className:"pt-4 border-t",children:[n.jsx($,{type:"button",variant:"outline",onClick:c,children:"Cancel"}),n.jsx($,{type:"submit",disabled:!J||k.isPending,children:k.isPending?n.jsx(Se,{size:18,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(nn,{size:18}),"Create Feature"]})})]})]})]})})}function k1({feature:s,projectName:c,onClose:o,onSaved:u}){const m=f.useId(),[g,x]=f.useState(s.category),[y,p]=f.useState(s.name),[b,z]=f.useState(s.description),[w,M]=f.useState(String(s.priority)),[T,D]=f.useState(()=>s.steps.length>0?s.steps.map((W,G)=>({id:`${m}-step-${G}`,value:W})):[{id:`${m}-step-0`,value:""}]),[_,N]=f.useState(null),[k,O]=f.useState(s.steps.length||1),A=fv(c),S=()=>{D([...T,{id:`${m}-step-${k}`,value:""}]),O(k+1)},L=W=>{D(T.filter(G=>G.id!==W))},J=(W,G)=>{D(T.map(I=>I.id===W?{...I,value:G}:I))},F=async W=>{W.preventDefault(),N(null);const G=T.map(I=>I.value.trim()).filter(I=>I.length>0);try{await A.mutateAsync({featureId:s.id,update:{category:g.trim(),name:y.trim(),description:b.trim(),steps:G,priority:parseInt(w,10)}}),u()}catch(I){N(I instanceof Error?I.message:"Failed to update feature")}},te=g.trim()&&y.trim()&&b.trim(),Y=T.map(W=>W.value.trim()).filter(W=>W),ne=g.trim()!==s.category||y.trim()!==s.name||b.trim()!==s.description||parseInt(w,10)!==s.priority||JSON.stringify(Y)!==JSON.stringify(s.steps);return n.jsx(ca,{open:!0,onOpenChange:W=>!W&&o(),children:n.jsxs(ua,{className:"sm:max-w-2xl",children:[n.jsx(oa,{children:n.jsx(da,{children:"Edit Feature"})}),n.jsxs("form",{onSubmit:F,className:"space-y-4",children:[_&&n.jsxs(lt,{variant:"destructive",children:[n.jsx(ia,{className:"h-4 w-4"}),n.jsxs(st,{className:"flex items-center justify-between",children:[n.jsx("span",{children:_}),n.jsx($,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>N(null),children:n.jsx(Ie,{size:14})})]})]}),n.jsxs("div",{className:"flex gap-4",children:[n.jsxs("div",{className:"flex-1 space-y-2",children:[n.jsx(Ee,{htmlFor:"category",children:"Category"}),n.jsx(nt,{id:"category",type:"text",value:g,onChange:W=>x(W.target.value),placeholder:"e.g., Authentication, UI, API",required:!0})]}),n.jsxs("div",{className:"w-32 space-y-2",children:[n.jsx(Ee,{htmlFor:"priority",children:"Priority"}),n.jsx(nt,{id:"priority",type:"number",value:w,onChange:W=>M(W.target.value),min:"1",required:!0})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{htmlFor:"name",children:"Feature Name"}),n.jsx(nt,{id:"name",type:"text",value:y,onChange:W=>p(W.target.value),placeholder:"e.g., User login form",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{htmlFor:"description",children:"Description"}),n.jsx(ws,{id:"description",value:b,onChange:W=>z(W.target.value),placeholder:"Describe what this feature should do...",className:"min-h-[100px] resize-y",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{children:"Test Steps"}),n.jsx("div",{className:"space-y-2",children:T.map((W,G)=>n.jsxs("div",{className:"flex gap-2 items-center",children:[n.jsx("span",{className:"w-10 h-10 flex-shrink-0 flex items-center justify-center font-mono font-semibold text-sm border rounded-md bg-muted text-muted-foreground",children:G+1}),n.jsx(nt,{type:"text",value:W.value,onChange:I=>J(W.id,I.target.value),placeholder:"Describe this step...",className:"flex-1"}),T.length>1&&n.jsx($,{type:"button",variant:"ghost",size:"icon",onClick:()=>L(W.id),children:n.jsx(ln,{size:18})})]},W.id))}),n.jsxs($,{type:"button",variant:"ghost",size:"sm",onClick:S,children:[n.jsx(nn,{size:16}),"Add Step"]})]}),n.jsxs(It,{className:"pt-4 border-t",children:[n.jsx($,{type:"button",variant:"outline",onClick:o,children:"Cancel"}),n.jsx($,{type:"submit",disabled:!te||!ne||A.isPending,children:A.isPending?n.jsx(Se,{size:18,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(Fy,{size:18}),"Save Changes"]})})]})]})]})})}function M1({request:s,onSubmit:c,isLoading:o}){const[u,m]=f.useState(()=>{const p={};for(const b of s.fields)b.type==="boolean"?p[b.id]=!1:p[b.id]="";return p}),[g,x]=f.useState(null),y=async()=>{for(const p of s.fields)if(p.required){const b=u[p.id];if(b==null||b===""){x(`"${p.label}" is required`);return}}x(null),await c(u)};return n.jsxs(lt,{className:"border-amber-500 bg-amber-50 dark:bg-amber-950/20",children:[n.jsx(cr,{className:"h-5 w-5 text-amber-600"}),n.jsxs(st,{className:"space-y-4",children:[n.jsxs("div",{children:[n.jsx("h4",{className:"font-semibold text-amber-700 dark:text-amber-400",children:"Agent needs your help"}),n.jsx("p",{className:"text-sm text-amber-600 dark:text-amber-300 mt-1",children:s.prompt})]}),n.jsx("div",{className:"space-y-3",children:s.fields.map(p=>n.jsxs("div",{className:"space-y-1.5",children:[n.jsxs(Ee,{htmlFor:`human-input-${p.id}`,className:"text-sm font-medium text-foreground",children:[p.label,p.required&&n.jsx("span",{className:"text-destructive ml-1",children:"*"})]}),p.type==="text"&&n.jsx(nt,{id:`human-input-${p.id}`,value:u[p.id],onChange:b=>m(z=>({...z,[p.id]:b.target.value})),placeholder:p.placeholder||"",disabled:o}),p.type==="textarea"&&n.jsx(ws,{id:`human-input-${p.id}`,value:u[p.id],onChange:b=>m(z=>({...z,[p.id]:b.target.value})),placeholder:p.placeholder||"",disabled:o,rows:3}),p.type==="select"&&p.options&&n.jsx("div",{className:"space-y-1.5",children:p.options.map(b=>n.jsxs("label",{className:`flex items-center gap-2 p-2 rounded-md border cursor-pointer transition-colors
84
- ${u[p.id]===b.value?"border-primary bg-primary/10":"border-border hover:border-primary/50"}`,children:[n.jsx("input",{type:"radio",name:`human-input-${p.id}`,value:b.value,checked:u[p.id]===b.value,onChange:z=>m(w=>({...w,[p.id]:z.target.value})),disabled:o,className:"accent-primary"}),n.jsx("span",{className:"text-sm",children:b.label})]},b.value))}),p.type==="boolean"&&n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(px,{id:`human-input-${p.id}`,checked:u[p.id],onCheckedChange:b=>m(z=>({...z,[p.id]:b})),disabled:o}),n.jsx(Ee,{htmlFor:`human-input-${p.id}`,className:"text-sm",children:u[p.id]?"Yes":"No"})]})]},p.id))}),g&&n.jsx("p",{className:"text-sm text-destructive",children:g}),n.jsx($,{onClick:y,disabled:o,className:"w-full",children:o?n.jsx(Se,{size:16,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(rr,{size:16}),"Submit Response"]})})]})]})}function O1(s){const c=["bg-pink-500","bg-cyan-500","bg-green-500","bg-yellow-500","bg-orange-500","bg-purple-500","bg-blue-500"];let o=0;for(let u=0;u<s.length;u++)o=s.charCodeAt(u)+((o<<5)-o);return c[Math.abs(o)%c.length]}function R1({feature:s,projectName:c,onClose:o}){const[u,m]=f.useState(null),[g,x]=f.useState(!1),[y,p]=f.useState(!1),b=dv(c),z=ov(c),{data:w}=Zh(c),M=mv(c),T=new Map;w&&[...w.pending,...w.in_progress,...w.done,...w.needs_human_input||[]].forEach(O=>{T.set(O.id,O)});const D=(s.dependencies||[]).map(O=>T.get(O)).filter(O=>O!==void 0),_=(s.blocking_dependencies||[]).map(O=>T.get(O)).filter(O=>O!==void 0),N=async()=>{m(null);try{await b.mutateAsync(s.id),o()}catch(O){m(O instanceof Error?O.message:"Failed to skip feature")}},k=async()=>{m(null);try{await z.mutateAsync(s.id),o()}catch(O){m(O instanceof Error?O.message:"Failed to delete feature")}};return y?n.jsx(k1,{feature:s,projectName:c,onClose:()=>p(!1),onSaved:o}):n.jsx(ca,{open:!0,onOpenChange:O=>!O&&o(),children:n.jsxs(ua,{className:"sm:max-w-2xl p-0 gap-0",children:[n.jsxs(oa,{className:"p-6 pb-4",children:[n.jsx("div",{className:"flex items-start gap-3",children:n.jsx(Ae,{className:`${O1(s.category)} text-white`,children:s.category})}),n.jsx(da,{className:"text-xl mt-2",children:s.name})]}),n.jsx(ku,{}),n.jsxs("div",{className:"p-6 space-y-6 max-h-[60vh] overflow-y-auto",children:[u&&n.jsxs(lt,{variant:"destructive",children:[n.jsx(ia,{className:"h-4 w-4"}),n.jsxs(st,{className:"flex items-center justify-between",children:[n.jsx("span",{children:u}),n.jsx($,{variant:"ghost",size:"icon-xs",onClick:()=>m(null),children:n.jsx(Ie,{size:14})})]})]}),n.jsxs("div",{className:"flex items-center gap-3 p-4 bg-muted rounded-lg",children:[s.passes?n.jsxs(n.Fragment,{children:[n.jsx(Xt,{size:24,className:"text-primary"}),n.jsx("span",{className:"font-semibold text-primary",children:"COMPLETE"})]}):s.needs_human_input?n.jsxs(n.Fragment,{children:[n.jsx(cr,{size:24,className:"text-amber-500"}),n.jsx("span",{className:"font-semibold text-amber-500",children:"NEEDS YOUR INPUT"})]}):n.jsxs(n.Fragment,{children:[n.jsx(pl,{size:24,className:"text-muted-foreground"}),n.jsx("span",{className:"font-semibold text-muted-foreground",children:"PENDING"})]}),n.jsxs("span",{className:"ml-auto font-mono text-sm text-muted-foreground",children:["Priority: #",s.priority]})]}),s.needs_human_input&&s.human_input_request&&n.jsx(M1,{request:s.human_input_request,onSubmit:async O=>{m(null);try{await M.mutateAsync({featureId:s.id,fields:O}),o()}catch(A){m(A instanceof Error?A.message:"Failed to submit response")}},isLoading:M.isPending}),s.human_input_response&&!s.needs_human_input&&n.jsxs(lt,{className:"border-green-500 bg-green-50 dark:bg-green-950/20",children:[n.jsx(Xt,{className:"h-4 w-4 text-green-600"}),n.jsxs(st,{children:[n.jsx("h4",{className:"font-semibold mb-1 text-green-700 dark:text-green-400",children:"Human Input Provided"}),n.jsxs("p",{className:"text-sm text-green-600 dark:text-green-300",children:["Response submitted",s.human_input_response.responded_at?` at ${new Date(s.human_input_response.responded_at).toLocaleString()}`:"","."]})]})]}),n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground",children:"Description"}),n.jsx("p",{className:"text-foreground",children:s.description})]}),_.length>0&&n.jsxs(lt,{variant:"destructive",className:"border-orange-500 bg-orange-50 dark:bg-orange-950/20",children:[n.jsx(ra,{className:"h-4 w-4 text-orange-600"}),n.jsxs(st,{children:[n.jsx("h4",{className:"font-semibold mb-1 text-orange-700 dark:text-orange-400",children:"Blocked By"}),n.jsx("p",{className:"text-sm text-orange-600 dark:text-orange-300 mb-2",children:"This feature cannot start until the following dependencies are complete:"}),n.jsx("ul",{className:"space-y-1",children:_.map(O=>n.jsxs("li",{className:"flex items-center gap-2 text-sm text-orange-600 dark:text-orange-300",children:[n.jsx(pl,{size:14}),n.jsxs("span",{className:"font-mono text-xs",children:["#",O.id]}),n.jsx("span",{children:O.name})]},O.id))})]})]}),D.length>0&&n.jsxs("div",{children:[n.jsxs("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground flex items-center gap-2",children:[n.jsx(Zy,{size:16}),"Depends On"]}),n.jsx("ul",{className:"space-y-1",children:D.map(O=>n.jsxs("li",{className:"flex items-center gap-2 p-2 bg-muted rounded-md text-sm",children:[O.passes?n.jsx(Xt,{size:16,className:"text-primary"}):n.jsx(pl,{size:16,className:"text-muted-foreground"}),n.jsxs("span",{className:"font-mono text-xs text-muted-foreground",children:["#",O.id]}),n.jsx("span",{className:O.passes?"text-primary":"",children:O.name})]},O.id))})]}),s.steps.length>0&&n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground",children:"Test Steps"}),n.jsx("ol",{className:"list-decimal list-inside space-y-2",children:s.steps.map((O,A)=>n.jsx("li",{className:"p-3 bg-muted rounded-md text-sm",children:O},A))})]})]}),!s.passes&&n.jsxs(n.Fragment,{children:[n.jsx(ku,{}),n.jsx(It,{className:"p-4 bg-muted/50",children:g?n.jsxs("div",{className:"w-full space-y-4",children:[n.jsx("p",{className:"font-medium text-center",children:"Are you sure you want to delete this feature?"}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx($,{variant:"destructive",onClick:k,disabled:z.isPending,className:"flex-1",children:z.isPending?n.jsx(Se,{size:18,className:"animate-spin"}):"Yes, Delete"}),n.jsx($,{variant:"outline",onClick:()=>x(!1),disabled:z.isPending,className:"flex-1",children:"Cancel"})]})]}):n.jsxs("div",{className:"flex gap-3 w-full",children:[n.jsxs($,{onClick:()=>p(!0),disabled:b.isPending,className:"flex-1",children:[n.jsx($y,{size:18}),"Edit"]}),n.jsx($,{variant:"secondary",onClick:N,disabled:b.isPending,className:"flex-1",children:b.isPending?n.jsx(Se,{size:18,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(Jy,{size:18}),"Skip"]})}),n.jsx($,{variant:"destructive",size:"icon",onClick:()=>x(!0),disabled:b.isPending,children:n.jsx(ln,{size:18})})]})})]})]})})}function Zi(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function U1({projectName:s,onComplete:c,onError:o}){const[u,m]=f.useState([]),[g,x]=f.useState(!1),[y,p]=f.useState(!1),[b,z]=f.useState("disconnected"),[w,M]=f.useState(0),[T,D]=f.useState([]),_=f.useRef(null),N=f.useRef(null),k=f.useRef(0),O=3,A=f.useRef(null),S=f.useRef(null),L=f.useRef(!1),J=f.useRef(!1);f.useEffect(()=>{L.current=y},[y]),f.useEffect(()=>()=>{A.current&&clearInterval(A.current),S.current&&clearTimeout(S.current),_.current&&_.current.close()},[]);const F=f.useCallback(()=>{if(J.current||_.current?.readyState===WebSocket.OPEN)return;z("connecting");const W=window.location.protocol==="https:"?"wss:":"ws:",G=window.location.host,I=`${W}//${G}/api/expand/ws/${encodeURIComponent(s)}`,V=new WebSocket(I);_.current=V,V.onopen=()=>{z("connected"),k.current=0,J.current=!1,A.current=window.setInterval(()=>{V.readyState===WebSocket.OPEN&&V.send(JSON.stringify({type:"ping"}))},3e4)},V.onclose=X=>{z("disconnected"),A.current&&(clearInterval(A.current),A.current=null);const j=X.code>=4e3&&X.code<=4999;if(!J.current&&!j&&k.current<O&&!L.current){k.current++;const R=Math.min(1e3*Math.pow(2,k.current),1e4);S.current=window.setTimeout(F,R)}},V.onerror=()=>{z("error"),o?.("WebSocket connection error")},V.onmessage=X=>{try{const j=JSON.parse(X.data);switch(j.type){case"text":{m(R=>{const P=R[R.length-1];return P?.role==="assistant"&&P.isStreaming?[...R.slice(0,-1),{...P,content:P.content+j.content}]:(N.current=Zi(),[...R,{id:N.current,role:"assistant",content:j.content,timestamp:new Date,isStreaming:!0}])});break}case"features_created":{M(R=>R+j.count),D(j.features),m(R=>[...R,{id:Zi(),role:"system",content:`Created ${j.count} new feature${j.count!==1?"s":""}!`,timestamp:new Date}]);break}case"expansion_complete":{p(!0),x(!1),m(R=>{const P=R[R.length-1];return P?.role==="assistant"&&P.isStreaming?[...R.slice(0,-1),{...P,isStreaming:!1}]:R}),c?.(j.total_added);break}case"error":{x(!1),o?.(j.content),m(R=>[...R,{id:Zi(),role:"system",content:`Error: ${j.content}`,timestamp:new Date}]);break}case"pong":break;case"response_done":{x(!1),m(R=>{const P=R[R.length-1];return P?.role==="assistant"&&P.isStreaming?[...R.slice(0,-1),{...P,isStreaming:!1}]:R});break}}}catch(j){console.error("Failed to parse WebSocket message:",j)}}},[s,c,o]),te=f.useCallback(()=>{F();let W=0;const G=50,I=()=>{_.current?.readyState===WebSocket.OPEN?(x(!0),_.current.send(JSON.stringify({type:"start"}))):_.current?.readyState===WebSocket.CONNECTING&&(W++<G?setTimeout(I,100):(o?.("Connection timeout"),x(!1)))};setTimeout(I,100)},[F,o]),Y=f.useCallback((W,G)=>{if(!_.current||_.current.readyState!==WebSocket.OPEN){o?.("Not connected");return}m(V=>[...V,{id:Zi(),role:"user",content:W,attachments:G,timestamp:new Date}]),x(!0);const I={type:"message",content:W};G&&G.length>0&&(I.attachments=G.map(V=>({filename:V.filename,mimeType:V.mimeType,base64Data:V.base64Data}))),_.current.send(JSON.stringify(I))},[o]),ne=f.useCallback(()=>{J.current=!0,k.current=O,A.current&&(clearInterval(A.current),A.current=null),S.current&&(clearTimeout(S.current),S.current=null),_.current&&(_.current.close(),_.current=null),z("disconnected")},[]);return{messages:u,isLoading:g,isComplete:y,connectionStatus:b,featuresCreated:w,recentFeatures:T,start:te,sendMessage:Y,disconnect:ne}}const B1=5*1024*1024,q1=20*1024*1024,L1=["md","txt","csv","docx","xlsx","pdf","pptx","jpg","jpeg","png"];function H1({projectName:s,onComplete:c,onCancel:o}){const[u,m]=f.useState(""),[g,x]=f.useState(null),[y,p]=f.useState([]),b=f.useRef(null),z=f.useRef(null),w=f.useRef(null),M=f.useCallback(G=>x(G),[]),{messages:T,isLoading:D,isComplete:_,connectionStatus:N,featuresCreated:k,start:O,sendMessage:A,disconnect:S}=U1({projectName:s,onComplete:c,onError:M});f.useEffect(()=>(O(),()=>{S()}),[]),f.useEffect(()=>{b.current?.scrollIntoView({behavior:"smooth"})},[T,D]),f.useEffect(()=>{!D&&z.current&&z.current.focus()},[D]);const L=()=>{const G=u.trim();!G&&y.length===0||D||(A(G,y.length>0?y:void 0),m(""),p([]))},J=G=>{Cs(G)&&(G.preventDefault(),L())},F=f.useCallback(G=>{G&&Array.from(G).forEach(I=>{let V=I.type;if((!V||!lr.includes(V))&&(V=sr(I.name)),!lr.includes(V)){const ee=I.name.split(".").pop()?.toLowerCase();if(!ee||!L1.includes(ee)){x(`Unsupported file type: ${I.name}. Supported: images (JPEG, PNG) and documents (MD, TXT, CSV, DOCX, XLSX, PDF, PPTX).`);return}V=sr(I.name)}const X=dr.includes(V),j=X?B1:q1,R=X?"5 MB":"20 MB";if(I.size>j){x(`File too large: ${I.name}. Maximum size is ${R}.`);return}const P=new FileReader;P.onload=ee=>{const re=ee.target?.result,ae=re.split(",")[1],ie={id:`${Date.now()}-${Math.random().toString(36).substring(2,9)}`,filename:I.name,mimeType:V,base64Data:ae,previewUrl:X?re:"",size:I.size};p(xe=>[...xe,ie])},P.onerror=()=>{x(`Failed to read file: ${I.name}`)},P.readAsDataURL(I)})},[]),te=f.useCallback(G=>{p(I=>I.filter(V=>V.id!==G))},[]),Y=f.useCallback(G=>{G.preventDefault(),F(G.dataTransfer.files)},[F]),ne=f.useCallback(G=>{G.preventDefault()},[]),W=()=>{switch(N){case"connected":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-green-500",children:[n.jsx(jl,{size:12}),"Connected"]});case"connecting":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-yellow-500",children:[n.jsx(jl,{size:12,className:"animate-pulse"}),"Connecting..."]});case"error":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-destructive",children:[n.jsx(bl,{size:12}),"Error"]});default:return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[n.jsx(bl,{size:12}),"Disconnected"]})}};return n.jsxs("div",{className:"flex flex-col h-full bg-background",children:[n.jsxs("div",{className:"flex items-center justify-between p-4 border-b-2 border-border bg-card",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs("h2",{className:"font-display font-bold text-lg text-foreground",children:["Expand Project: ",s]}),n.jsx(W,{}),k>0&&n.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[n.jsx(nn,{size:14}),k," added"]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[_&&n.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[n.jsx(Xt,{size:16}),"Complete"]}),n.jsx($,{onClick:o,variant:"ghost",size:"icon",title:"Close",children:n.jsx(Ie,{size:20})})]})]}),g&&n.jsxs(lt,{variant:"destructive",className:"rounded-none border-x-0 border-t-0",children:[n.jsx(ia,{size:16}),n.jsx(st,{className:"flex-1",children:g}),n.jsx($,{onClick:()=>x(null),variant:"ghost",size:"icon",className:"h-6 w-6",children:n.jsx(Ie,{size:14})})]}),n.jsxs("div",{className:"flex-1 overflow-y-auto py-4",children:[T.length===0&&!D&&n.jsx("div",{className:"flex flex-col items-center justify-center h-full text-center p-8",children:n.jsx(Te,{className:"p-6 max-w-md",children:n.jsxs(ke,{className:"p-0",children:[n.jsx("h3",{className:"font-display font-bold text-lg mb-2",children:"Starting Project Expansion"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Connecting to Claude to help you add new features to your project..."}),N==="error"&&n.jsxs($,{onClick:O,className:"mt-4",size:"sm",children:[n.jsx(an,{size:14}),"Retry Connection"]})]})})}),T.map(G=>n.jsx(Xu,{message:G},G.id)),D&&n.jsx(ox,{}),n.jsx("div",{ref:b})]}),!_&&n.jsxs("div",{className:"p-4 border-t-2 border-border bg-card",onDrop:Y,onDragOver:ne,children:[y.length>0&&n.jsx("div",{className:"flex flex-wrap gap-2 mb-3",children:y.map(G=>n.jsxs("div",{className:"relative group border-2 border-border p-1 bg-card rounded shadow-sm",children:[Vu(G)?n.jsx("img",{src:G.previewUrl,alt:G.filename,className:"w-16 h-16 object-cover rounded"}):n.jsx("div",{className:"w-16 h-16 flex items-center justify-center bg-muted rounded",children:n.jsx(Ii,{size:24,className:"text-muted-foreground"})}),n.jsx("button",{onClick:()=>te(G.id),className:"absolute -top-2 -right-2 bg-destructive text-destructive-foreground rounded-full p-0.5 border-2 border-border hover:scale-110 transition-transform",title:"Remove attachment",children:n.jsx(Ie,{size:12})}),n.jsx("span",{className:"text-xs truncate block max-w-16 mt-1 text-center text-muted-foreground",children:G.filename.length>10?`${G.filename.substring(0,7)}...`:G.filename})]},G.id))}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx("input",{ref:w,type:"file",accept:"image/jpeg,image/png,.md,.txt,.csv,.docx,.xlsx,.pdf,.pptx",multiple:!0,onChange:G=>F(G.target.files),className:"hidden"}),n.jsx($,{onClick:()=>w.current?.click(),disabled:N!=="connected",variant:"ghost",size:"icon",title:"Attach files (images: JPEG/PNG up to 5MB, documents: MD, TXT, CSV, DOCX, XLSX, PDF, PPTX up to 20MB)",children:n.jsx(Pi,{size:18})}),n.jsx(nt,{ref:z,type:"text",value:u,onChange:G=>m(G.target.value),onKeyDown:J,placeholder:y.length>0?"Add a message with your image(s)...":"Describe the features you want to add...",className:"flex-1",disabled:D||N!=="connected"}),n.jsx($,{onClick:L,disabled:!u.trim()&&y.length===0||D||N!=="connected",className:"px-6",children:n.jsx(rr,{size:18})})]}),n.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:["Press Enter to send. Drag & drop or click ",n.jsx(Pi,{size:12,className:"inline"})," to attach files."]})]}),_&&n.jsx("div",{className:"p-4 border-t-2 border-border bg-green-500 text-white",children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Xt,{size:20}),n.jsxs("span",{className:"font-bold",children:["Added ",k," new feature",k!==1?"s":"","!"]})]}),n.jsx($,{onClick:()=>c(k),variant:"secondary",children:"Close"})]})})]})}function G1({isOpen:s,projectName:c,onClose:o,onFeaturesAdded:u}){if(!s)return null;const m=g=>{g>0&&u(),o()};return n.jsx("div",{className:"fixed inset-0 z-50 bg-background",children:n.jsx(H1,{projectName:c,onComplete:m,onCancel:o})})}const Q1=[{key:"?",description:"Show keyboard shortcuts"},{key:"H",description:"Dashboard view"},{key:"K",description:"Kanban board"},{key:"G",description:"Dependency graph"},{key:"B",description:"Browser screenshots"},{key:"T",description:"Terminal"},{key:"D",description:"Logs"},{key:"A",description:"Toggle AI assistant",context:"with project"},{key:"[",description:"Toggle sidebar"},{key:"N",description:"Add new feature",context:"with project"},{key:"E",description:"Expand project with AI",context:"with spec & features"},{key:",",description:"Settings"},{key:"R",description:"Reset project",context:"with project"},{key:"Esc",description:"Close modal/panel"}];function Y1({isOpen:s,onClose:c}){const o=f.useCallback(u=>{(u.key==="Escape"||u.key==="?")&&(u.preventDefault(),c())},[c]);return f.useEffect(()=>{if(s)return window.addEventListener("keydown",o),()=>window.removeEventListener("keydown",o)},[s,o]),n.jsx(ca,{open:s,onOpenChange:u=>!u&&c(),children:n.jsxs(ua,{className:"sm:max-w-md",children:[n.jsx(oa,{children:n.jsxs(da,{className:"flex items-center gap-2",children:[n.jsx(Wy,{size:20,className:"text-primary"}),"Keyboard Shortcuts"]})}),n.jsx("ul",{className:"space-y-1",children:Q1.map(u=>n.jsxs("li",{className:"flex items-center justify-between py-2 border-b border-border/50 last:border-0",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("kbd",{className:"px-2 py-1 text-xs font-mono bg-muted rounded border border-border min-w-[2rem] text-center",children:u.key}),n.jsx("span",{className:"text-sm",children:u.description})]}),u.context&&n.jsx(Ae,{variant:"secondary",className:"text-xs",children:u.context})]},u.key))}),n.jsx("p",{className:"text-xs text-muted-foreground text-center pt-2",children:"Press ? or Esc to close"})]})})}function V1({isOpen:s,projectName:c,onClose:o,onResetComplete:u}){const[m,g]=f.useState("quick"),x=rv(c),y=async()=>{const b=m==="full";try{await x.mutateAsync(b),u?.(b),o()}catch{}},p=()=>{x.isPending||(x.reset(),g("quick"),o())};return n.jsx(ca,{open:s,onOpenChange:b=>!b&&p(),children:n.jsxs(ua,{className:"sm:max-w-md",children:[n.jsxs(oa,{children:[n.jsxs(da,{className:"flex items-center gap-2",children:[n.jsx(an,{size:20}),"Reset Project"]}),n.jsxs(vl,{children:["Reset ",n.jsx("span",{className:"font-semibold",children:c})," to start fresh"]})]}),n.jsxs("div",{className:"space-y-4 py-4",children:[n.jsxs("div",{className:"flex rounded-lg border-2 border-border overflow-hidden",children:[n.jsxs("button",{onClick:()=>g("quick"),disabled:x.isPending,className:`flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2 ${m==="quick"?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${x.isPending?"opacity-50 cursor-not-allowed":""}`,children:[n.jsx(an,{size:16}),"Quick Reset"]}),n.jsxs("button",{onClick:()=>g("full"),disabled:x.isPending,className:`flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2 ${m==="full"?"bg-destructive text-destructive-foreground":"bg-background text-foreground hover:bg-muted"} ${x.isPending?"opacity-50 cursor-not-allowed":""}`,children:[n.jsx(ln,{size:16}),"Full Reset"]})]}),n.jsxs(lt,{variant:m==="full"?"destructive":"default",className:"border-2",children:[n.jsx(ra,{className:"h-4 w-4"}),n.jsxs(st,{children:[n.jsx("div",{className:"font-semibold mb-2",children:"What will be deleted:"}),n.jsxs("ul",{className:"list-none space-y-1 text-sm",children:[n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(Ie,{size:14,className:"text-destructive"}),"All features and progress"]}),n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(Ie,{size:14,className:"text-destructive"}),"Assistant chat history"]}),n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(Ie,{size:14,className:"text-destructive"}),"Agent settings"]}),m==="full"&&n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(Ie,{size:14,className:"text-destructive"}),"App spec and prompts"]})]})]})]}),n.jsxs("div",{className:"bg-muted/50 rounded-lg border-2 border-border p-3",children:[n.jsx("div",{className:"font-semibold mb-2 text-sm",children:"What will be preserved:"}),n.jsx("ul",{className:"list-none space-y-1 text-sm text-muted-foreground",children:m==="quick"?n.jsxs(n.Fragment,{children:[n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(Da,{size:14,className:"text-green-600"}),"App spec and prompts"]}),n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(Da,{size:14,className:"text-green-600"}),"Project code and files"]})]}):n.jsxs(n.Fragment,{children:[n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(Da,{size:14,className:"text-green-600"}),"Project code and files"]}),n.jsxs("li",{className:"flex items-center gap-2 text-muted-foreground/70",children:[n.jsx(ra,{size:14}),"Setup wizard will appear"]})]})})]}),x.isError&&n.jsx(lt,{variant:"destructive",children:n.jsx(st,{children:x.error instanceof Error?x.error.message:"Failed to reset project. Please try again."})})]}),n.jsxs(It,{className:"gap-2",children:[n.jsx($,{variant:"outline",onClick:p,disabled:x.isPending,children:"Cancel"}),n.jsx($,{variant:m==="full"?"destructive":"default",onClick:y,disabled:x.isPending,children:x.isPending?n.jsxs(n.Fragment,{children:[n.jsx(Se,{className:"animate-spin mr-2",size:16}),"Resetting..."]}):n.jsx(n.Fragment,{children:m==="quick"?"Quick Reset":"Full Reset"})})]})]})})}function X1({onClick:s,isOpen:c}){return n.jsx($,{onClick:s,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:c?"Close Assistant (Press A)":"Open Assistant (Press A)","aria-label":c?"Close Assistant":"Open Assistant",children:c?n.jsx(Ie,{size:24}):n.jsx(Uu,{size:24})})}const yx="assistant-conversation-",zh="assistant-panel-width",K1=400,Th=300,Eh=90;function Ah(s){try{const c=localStorage.getItem(`${yx}${s}`);if(c)return JSON.parse(c).conversationId||null}catch{}return null}function F1(s,c){const o=`${yx}${s}`;c?localStorage.setItem(o,JSON.stringify({conversationId:c})):localStorage.removeItem(o)}function Z1({projectName:s,isOpen:c,onClose:o}){const[u,m]=f.useState(()=>Ah(s)),{data:g,isLoading:x,error:y}=hx(s,u);f.useEffect(()=>{if(y&&u){const N=y.message.toLowerCase();(N.includes("not found")||N.includes("404"))&&(console.warn(`Conversation ${u} not found, clearing stored ID`),m(null))}},[y,u]);const p=g?.messages.map(N=>({id:`db-${N.id}`,role:N.role,content:N.content,timestamp:N.timestamp?new Date(N.timestamp):new Date}));f.useEffect(()=>{F1(s,u)},[s,u]),f.useEffect(()=>{m(Ah(s))},[s]);const b=f.useCallback(()=>{m(null)},[]),z=f.useCallback(N=>{m(N)},[]),w=f.useCallback(N=>{m(N)},[]),[M,T]=f.useState(()=>{try{const N=localStorage.getItem(zh);if(N)return Math.max(Th,parseInt(N,10))}catch{}return K1}),D=f.useRef(!1),_=f.useCallback(N=>{N.preventDefault(),D.current=!0;const k=N.clientX,O=M,A=window.innerWidth*(Eh/100),S=J=>{if(!D.current)return;const F=k-J.clientX,te=Math.min(A,Math.max(Th,O+F));T(te)},L=()=>{D.current=!1,document.removeEventListener("mousemove",S),document.removeEventListener("mouseup",L),document.body.style.cursor="",document.body.style.userSelect="",T(J=>(localStorage.setItem(zh,String(J)),J))};document.body.style.cursor="col-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",S),document.addEventListener("mouseup",L)},[M]);return n.jsxs(n.Fragment,{children:[c&&n.jsx("div",{className:"fixed inset-0 bg-black/20 z-40 transition-opacity duration-300",onClick:o,"aria-hidden":"true"}),n.jsxs("div",{className:`
85
- fixed right-0 top-0 bottom-0 z-50
86
- bg-card
87
- border-l border-border
88
- transform transition-transform duration-300 ease-out
89
- flex flex-col shadow-xl
90
- ${c?"translate-x-0":"translate-x-full"}
91
- `,style:{width:`${M}px`,maxWidth:`${Eh}vw`},role:"dialog","aria-label":"Project Assistant","aria-hidden":!c,children:[n.jsx("div",{className:"absolute left-0 top-0 bottom-0 w-1.5 cursor-col-resize z-10 group",onMouseDown:_,children:n.jsx("div",{className:"absolute inset-y-0 left-0 w-0.5 bg-border group-hover:bg-primary transition-colors"})}),n.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border bg-primary text-primary-foreground",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("div",{className:"bg-card text-foreground border border-border p-1.5 rounded",children:n.jsx(Ns,{size:18})}),n.jsxs("div",{children:[n.jsx("h2",{className:"font-semibold",children:"Project Assistant"}),n.jsx("p",{className:"text-xs opacity-80 font-mono",children:s})]})]}),n.jsx($,{variant:"ghost",size:"icon",onClick:o,className:"text-primary-foreground hover:bg-primary-foreground/20",title:"Close Assistant (Press A)","aria-label":"Close Assistant",children:n.jsx(Ie,{size:18})})]}),n.jsx("div",{className:"flex-1 overflow-hidden",children:c&&n.jsx(xx,{projectName:s,conversationId:u,initialMessages:p,isLoadingConversation:x,onNewChat:b,onSelectConversation:z,onConversationCreated:w})})]})]})}function $1(s){return Array.from({length:s},(c,o)=>({id:o,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 J1({agentName:s,featureName:c,onComplete:o}){const[u,m]=f.useState(!0),[g]=f.useState(()=>$1(30)),x=f.useCallback(()=>{m(!1),setTimeout(()=>o?.(),300)},[o]);return f.useEffect(()=>{const y=setTimeout(x,3e3),p=b=>{b.key==="Escape"&&x()};return window.addEventListener("keydown",p),()=>{clearTimeout(y),window.removeEventListener("keydown",p)}},[x]),u?n.jsxs("div",{className:`
92
- fixed inset-0 z-50 flex items-center justify-center
93
- pointer-events-none
94
- transition-opacity duration-300
95
- ${u?"opacity-100":"opacity-0"}
96
- `,children:[n.jsx("div",{className:"absolute inset-0 overflow-hidden",children:g.map(y=>n.jsx("div",{className:"absolute w-3 h-3 animate-confetti",style:{left:`${y.x}%`,top:"-20px",backgroundColor:y.color,animationDelay:`${y.delay}s`,animationDuration:`${y.duration}s`,transform:`rotate(${y.rotation}deg)`}},y.id))}),n.jsx(Te,{onClick:x,className:"p-6 bg-green-500 border-green-600 animate-bounce-in pointer-events-auto cursor-pointer hover:scale-105 transition-transform focus:outline-none focus:ring-2 focus:ring-primary",role:"button",tabIndex:0,children:n.jsxs(ke,{className:"p-0 flex flex-col items-center gap-4",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(En,{size:24,className:"text-yellow-300 animate-pulse"}),n.jsx(Iy,{size:28,className:"text-white"}),n.jsx(En,{size:24,className:"text-yellow-300 animate-pulse"})]}),n.jsx(Cl,{name:s,state:"success",size:"lg"}),n.jsxs("div",{className:"text-center",children:[n.jsx("h3",{className:"font-display text-lg font-bold text-white mb-1",children:"Feature Complete!"}),n.jsx("p",{className:"text-sm text-white/80 max-w-[200px] truncate",children:c}),n.jsxs("p",{className:"text-xs text-white/60 mt-2",children:["Great job, ",s,"!"]})]}),n.jsx("p",{className:"text-xs text-white/40 mt-1",children:"Click or press Esc to dismiss"})]})})]}):null}function W1(){const{selectedProject:s,selectedFeature:c,setSelectedFeature:o,showAddFeature:u,setShowAddFeature:m,showExpandProject:g,setShowExpandProject:x,showSpecChat:y,setShowSpecChat:p,showKeyboardHelp:b,setShowKeyboardHelp:z,showResetModal:w,setShowResetModal:M,assistantOpen:T,setAssistantOpen:D,isSpecCreating:_,hasSpec:N,specInitializerStatus:k,setSpecInitializerStatus:O,specInitializerError:A,setSpecInitializerError:S,wsState:L,queryClient:J}=Kt();return n.jsxs(n.Fragment,{children:[u&&s&&n.jsx(_1,{projectName:s,onClose:()=>m(!1)}),c&&s&&n.jsx(R1,{feature:c,projectName:s,onClose:()=>o(null)}),g&&s&&N&&n.jsx(G1,{isOpen:g,projectName:s,onClose:()=>x(!1),onFeaturesAdded:()=>{J.invalidateQueries({queryKey:["features",s]})}}),y&&s&&n.jsx("div",{className:"fixed inset-0 z-50 bg-background",children:n.jsx(dx,{projectName:s,onComplete:async(F,te)=>{O("starting");try{await Bu(s,{yoloMode:te??!1,maxConcurrency:3}),p(!1),O("idle"),J.invalidateQueries({queryKey:["projects"]}),J.invalidateQueries({queryKey:["features",s]})}catch(Y){O("error"),S(Y instanceof Error?Y.message:"Failed to start agent")}},onCancel:()=>{p(!1),O("idle")},onExitToProject:()=>{p(!1),O("idle")},initializerStatus:k,initializerError:A,onRetryInitializer:()=>{S(null),O("idle")}})}),s&&!g&&!_&&!y&&n.jsxs(n.Fragment,{children:[n.jsx(X1,{onClick:()=>D(!T),isOpen:T}),n.jsx(Z1,{projectName:s,isOpen:T,onClose:()=>D(!1)})]}),n.jsx(Y1,{isOpen:b,onClose:()=>z(!1)}),w&&s&&n.jsx(V1,{isOpen:w,projectName:s,onClose:()=>M(!1),onResetComplete:F=>{F&&p(!0)}}),L.celebration&&n.jsx(J1,{agentName:L.celebration.agentName,featureName:L.celebration.featureName,onComplete:L.clearCelebration})]})}function I1(){return n.jsxs(db,{children:[n.jsx(D1,{}),n.jsx(W1,{})]})}const P1=new Yp({defaultOptions:{queries:{staleTime:5e3,refetchOnWindowFocus:!1}}});g0.createRoot(document.getElementById("root")).render(n.jsx(f.StrictMode,{children:n.jsx(Vp,{client:P1,children:n.jsx(I1,{})})}));