expxagents 0.11.0 → 0.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/browserAll-BfSje24U.js","assets/webworkerAll-CvtRB1R4.js","assets/WebGPURenderer-CgKhK8bV.js","assets/BufferResource-N46DD-LK.js","assets/RenderTargetSystem-BoF6PIIb.js","assets/WebGLRenderer-HajVT3nK.js","assets/CanvasRenderer-BWTKGaqL.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/browserAll-BC0ycs7y.js","assets/webworkerAll-D7SccyuO.js","assets/WebGPURenderer-C1UxCrJq.js","assets/BufferResource-CR4DczHL.js","assets/RenderTargetSystem-DdTH8Un8.js","assets/WebGLRenderer-C6BYo_WV.js","assets/CanvasRenderer-DdWLm2t4.js"])))=>i.map(i=>d[i]);
2
2
  (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))l(o);new MutationObserver(o=>{for(const c of o)if(c.type==="childList")for(const d of c.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&l(d)}).observe(document,{childList:!0,subtree:!0});function a(o){const c={};return o.integrity&&(c.integrity=o.integrity),o.referrerPolicy&&(c.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?c.credentials="include":o.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function l(o){if(o.ep)return;o.ep=!0;const c=a(o);fetch(o.href,c)}})();const US="modulepreload",HS=function(n){return"/"+n},xv={},Pc=function(t,a,l){let o=Promise.resolve();if(a&&a.length>0){let d=function(g){return Promise.all(g.map(x=>Promise.resolve(x).then(b=>({status:"fulfilled",value:b}),b=>({status:"rejected",reason:b}))))};document.getElementsByTagName("link");const m=document.querySelector("meta[property=csp-nonce]"),p=(m==null?void 0:m.nonce)||(m==null?void 0:m.getAttribute("nonce"));o=d(a.map(g=>{if(g=HS(g),g in xv)return;xv[g]=!0;const x=g.endsWith(".css"),b=x?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${g}"]${b}`))return;const E=document.createElement("link");if(E.rel=x?"stylesheet":US,x||(E.as="script"),E.crossOrigin="",E.href=g,p&&E.setAttribute("nonce",p),document.head.appendChild(E),x)return new Promise((C,M)=>{E.addEventListener("load",C),E.addEventListener("error",()=>M(new Error(`Unable to preload CSS for ${g}`)))})}))}function c(d){const m=new Event("vite:preloadError",{cancelable:!0});if(m.payload=d,window.dispatchEvent(m),!m.defaultPrevented)throw d}return o.then(d=>{for(const m of d||[])m.status==="rejected"&&c(m.reason);return t().catch(c)})};function Hp(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var O0={exports:{}},Vh={};/**
3
3
  * @license React
4
4
  * react-jsx-runtime.production.js
@@ -58,7 +58,7 @@ Error generating stack: `+f.message+`
58
58
  * @license MIT
59
59
  */var wv="popstate";function Dv(n){return typeof n=="object"&&n!=null&&"pathname"in n&&"search"in n&&"hash"in n&&"state"in n&&"key"in n}function ZS(n={}){function t(l,o){var g;let c=(g=o.state)==null?void 0:g.masked,{pathname:d,search:m,hash:p}=c||l.location;return Cy("",{pathname:d,search:m,hash:p},o.state&&o.state.usr||null,o.state&&o.state.key||"default",c?{pathname:l.location.pathname,search:l.location.search,hash:l.location.hash}:void 0)}function a(l,o){return typeof o=="string"?o:cd(o)}return FS(t,a,null,n)}function ke(n,t){if(n===!1||n===null||typeof n>"u")throw new Error(t)}function wl(n,t){if(!n){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function JS(){return Math.random().toString(36).substring(2,10)}function Ov(n,t){return{usr:n.state,key:n.key,idx:t,masked:n.unstable_mask?{pathname:n.pathname,search:n.search,hash:n.hash}:void 0}}function Cy(n,t,a=null,l,o){return{pathname:typeof n=="string"?n:n.pathname,search:"",hash:"",...typeof t=="string"?rf(t):t,state:a,key:t&&t.key||l||JS(),unstable_mask:o}}function cd({pathname:n="/",search:t="",hash:a=""}){return t&&t!=="?"&&(n+=t.charAt(0)==="?"?t:"?"+t),a&&a!=="#"&&(n+=a.charAt(0)==="#"?a:"#"+a),n}function rf(n){let t={};if(n){let a=n.indexOf("#");a>=0&&(t.hash=n.substring(a),n=n.substring(0,a));let l=n.indexOf("?");l>=0&&(t.search=n.substring(l),n=n.substring(0,l)),n&&(t.pathname=n)}return t}function FS(n,t,a,l={}){let{window:o=document.defaultView,v5Compat:c=!1}=l,d=o.history,m="POP",p=null,g=x();g==null&&(g=0,d.replaceState({...d.state,idx:g},""));function x(){return(d.state||{idx:null}).idx}function b(){m="POP";let R=x(),w=R==null?null:R-g;g=R,p&&p({action:m,location:z.location,delta:w})}function E(R,w){m="PUSH";let O=Dv(R)?R:Cy(z.location,R,w);g=x()+1;let U=Ov(O,g),Y=z.createHref(O.unstable_mask||O);try{d.pushState(U,"",Y)}catch(k){if(k instanceof DOMException&&k.name==="DataCloneError")throw k;o.location.assign(Y)}c&&p&&p({action:m,location:z.location,delta:1})}function C(R,w){m="REPLACE";let O=Dv(R)?R:Cy(z.location,R,w);g=x();let U=Ov(O,g),Y=z.createHref(O.unstable_mask||O);d.replaceState(U,"",Y),c&&p&&p({action:m,location:z.location,delta:0})}function M(R){return WS(R)}let z={get action(){return m},get location(){return n(o,d)},listen(R){if(p)throw new Error("A history only accepts one active listener");return o.addEventListener(wv,b),p=R,()=>{o.removeEventListener(wv,b),p=null}},createHref(R){return t(o,R)},createURL:M,encodeLocation(R){let w=M(R);return{pathname:w.pathname,search:w.search,hash:w.hash}},push:E,replace:C,go(R){return d.go(R)}};return z}function WS(n,t=!1){let a="http://localhost";typeof window<"u"&&(a=window.location.origin!=="null"?window.location.origin:window.location.href),ke(a,"No window.location.(origin|href) available to create URL");let l=typeof n=="string"?n:cd(n);return l=l.replace(/ $/,"%20"),!t&&l.startsWith("//")&&(l=a+l),new URL(l,a)}function Hx(n,t,a="/"){return PS(n,t,a,!1)}function PS(n,t,a,l){let o=typeof t=="string"?rf(t):t,c=or(o.pathname||"/",a);if(c==null)return null;let d=jx(n);IS(d);let m=null;for(let p=0;m==null&&p<d.length;++p){let g=ob(c);m=rb(d[p],g,l)}return m}function jx(n,t=[],a=[],l="",o=!1){let c=(d,m,p=o,g)=>{let x={relativePath:g===void 0?d.path||"":g,caseSensitive:d.caseSensitive===!0,childrenIndex:m,route:d};if(x.relativePath.startsWith("/")){if(!x.relativePath.startsWith(l)&&p)return;ke(x.relativePath.startsWith(l),`Absolute route path "${x.relativePath}" nested under path "${l}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),x.relativePath=x.relativePath.slice(l.length)}let b=xs([l,x.relativePath]),E=a.concat(x);d.children&&d.children.length>0&&(ke(d.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${b}".`),jx(d.children,t,E,b,p)),!(d.path==null&&!d.index)&&t.push({path:b,score:lb(b,d.index),routesMeta:E})};return n.forEach((d,m)=>{var p;if(d.path===""||!((p=d.path)!=null&&p.includes("?")))c(d,m);else for(let g of Gx(d.path))c(d,m,!0,g)}),t}function Gx(n){let t=n.split("/");if(t.length===0)return[];let[a,...l]=t,o=a.endsWith("?"),c=a.replace(/\?$/,"");if(l.length===0)return o?[c,""]:[c];let d=Gx(l.join("/")),m=[];return m.push(...d.map(p=>p===""?c:[c,p].join("/"))),o&&m.push(...d),m.map(p=>n.startsWith("/")&&p===""?"/":p)}function IS(n){n.sort((t,a)=>t.score!==a.score?a.score-t.score:sb(t.routesMeta.map(l=>l.childrenIndex),a.routesMeta.map(l=>l.childrenIndex)))}var $S=/^:[\w-]+$/,tb=3,eb=2,nb=1,ab=10,ib=-2,Nv=n=>n==="*";function lb(n,t){let a=n.split("/"),l=a.length;return a.some(Nv)&&(l+=ib),t&&(l+=eb),a.filter(o=>!Nv(o)).reduce((o,c)=>o+($S.test(c)?tb:c===""?nb:ab),l)}function sb(n,t){return n.length===t.length&&n.slice(0,-1).every((l,o)=>l===t[o])?n[n.length-1]-t[t.length-1]:0}function rb(n,t,a=!1){let{routesMeta:l}=n,o={},c="/",d=[];for(let m=0;m<l.length;++m){let p=l[m],g=m===l.length-1,x=c==="/"?t:t.slice(c.length)||"/",b=Mp({path:p.relativePath,caseSensitive:p.caseSensitive,end:g},x),E=p.route;if(!b&&g&&a&&!l[l.length-1].route.index&&(b=Mp({path:p.relativePath,caseSensitive:p.caseSensitive,end:!1},x)),!b)return null;Object.assign(o,b.params),d.push({params:o,pathname:xs([c,b.pathname]),pathnameBase:db(xs([c,b.pathnameBase])),route:E}),b.pathnameBase!=="/"&&(c=xs([c,b.pathnameBase]))}return d}function Mp(n,t){typeof n=="string"&&(n={path:n,caseSensitive:!1,end:!0});let[a,l]=ub(n.path,n.caseSensitive,n.end),o=t.match(a);if(!o)return null;let c=o[0],d=c.replace(/(.)\/+$/,"$1"),m=o.slice(1);return{params:l.reduce((g,{paramName:x,isOptional:b},E)=>{if(x==="*"){let M=m[E]||"";d=c.slice(0,c.length-M.length).replace(/(.)\/+$/,"$1")}const C=m[E];return b&&!C?g[x]=void 0:g[x]=(C||"").replace(/%2F/g,"/"),g},{}),pathname:c,pathnameBase:d,pattern:n}}function ub(n,t=!1,a=!0){wl(n==="*"||!n.endsWith("*")||n.endsWith("/*"),`Route path "${n}" will be treated as if it were "${n.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${n.replace(/\*$/,"/*")}".`);let l=[],o="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(d,m,p,g,x)=>{if(l.push({paramName:m,isOptional:p!=null}),p){let b=x.charAt(g+d.length);return b&&b!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return n.endsWith("*")?(l.push({paramName:"*"}),o+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):a?o+="\\/*$":n!==""&&n!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,t?void 0:"i"),l]}function ob(n){try{return n.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return wl(!1,`The URL path "${n}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),n}}function or(n,t){if(t==="/")return n;if(!n.toLowerCase().startsWith(t.toLowerCase()))return null;let a=t.endsWith("/")?t.length-1:t.length,l=n.charAt(a);return l&&l!=="/"?null:n.slice(a)||"/"}var cb=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function fb(n,t="/"){let{pathname:a,search:l="",hash:o=""}=typeof n=="string"?rf(n):n,c;return a?(a=a.replace(/\/\/+/g,"/"),a.startsWith("/")?c=Bv(a.substring(1),"/"):c=Bv(a,t)):c=t,{pathname:c,search:mb(l),hash:pb(o)}}function Bv(n,t){let a=t.replace(/\/+$/,"").split("/");return n.split("/").forEach(o=>{o===".."?a.length>1&&a.pop():o!=="."&&a.push(o)}),a.length>1?a.join("/"):"/"}function G0(n,t,a,l){return`Cannot include a '${n}' character in a manually specified \`to.${t}\` field [${JSON.stringify(l)}]. Please separate it out to the \`to.${a}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function hb(n){return n.filter((t,a)=>a===0||t.route.path&&t.route.path.length>0)}function tg(n){let t=hb(n);return t.map((a,l)=>l===t.length-1?a.pathname:a.pathnameBase)}function Gp(n,t,a,l=!1){let o;typeof n=="string"?o=rf(n):(o={...n},ke(!o.pathname||!o.pathname.includes("?"),G0("?","pathname","search",o)),ke(!o.pathname||!o.pathname.includes("#"),G0("#","pathname","hash",o)),ke(!o.search||!o.search.includes("#"),G0("#","search","hash",o)));let c=n===""||o.pathname==="",d=c?"/":o.pathname,m;if(d==null)m=a;else{let b=t.length-1;if(!l&&d.startsWith("..")){let E=d.split("/");for(;E[0]==="..";)E.shift(),b-=1;o.pathname=E.join("/")}m=b>=0?t[b]:"/"}let p=fb(o,m),g=d&&d!=="/"&&d.endsWith("/"),x=(c||d===".")&&a.endsWith("/");return!p.pathname.endsWith("/")&&(g||x)&&(p.pathname+="/"),p}var xs=n=>n.join("/").replace(/\/\/+/g,"/"),db=n=>n.replace(/\/+$/,"").replace(/^\/*/,"/"),mb=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,pb=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n,yb=class{constructor(n,t,a,l=!1){this.status=n,this.statusText=t||"",this.internal=l,a instanceof Error?(this.data=a.toString(),this.error=a):this.data=a}};function gb(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}function vb(n){return n.map(t=>t.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var Yx=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function qx(n,t){let a=n;if(typeof a!="string"||!cb.test(a))return{absoluteURL:void 0,isExternal:!1,to:a};let l=a,o=!1;if(Yx)try{let c=new URL(window.location.href),d=a.startsWith("//")?new URL(c.protocol+a):new URL(a),m=or(d.pathname,t);d.origin===c.origin&&m!=null?a=m+d.search+d.hash:o=!0}catch{wl(!1,`<Link to="${a}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:l,isExternal:o,to:a}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Lx=["POST","PUT","PATCH","DELETE"];new Set(Lx);var xb=["GET",...Lx];new Set(xb);var uf=G.createContext(null);uf.displayName="DataRouter";var Yp=G.createContext(null);Yp.displayName="DataRouterState";var _b=G.createContext(!1),Xx=G.createContext({isTransitioning:!1});Xx.displayName="ViewTransition";var Sb=G.createContext(new Map);Sb.displayName="Fetchers";var bb=G.createContext(null);bb.displayName="Await";var Ti=G.createContext(null);Ti.displayName="Navigation";var gd=G.createContext(null);gd.displayName="Location";var Dl=G.createContext({outlet:null,matches:[],isDataRoute:!1});Dl.displayName="Route";var eg=G.createContext(null);eg.displayName="RouteError";var Vx="REACT_ROUTER_ERROR",Tb="REDIRECT",Eb="ROUTE_ERROR_RESPONSE";function Cb(n){if(n.startsWith(`${Vx}:${Tb}:{`))try{let t=JSON.parse(n.slice(28));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.location=="string"&&typeof t.reloadDocument=="boolean"&&typeof t.replace=="boolean")return t}catch{}}function Ab(n){if(n.startsWith(`${Vx}:${Eb}:{`))try{let t=JSON.parse(n.slice(40));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string")return new yb(t.status,t.statusText,t.data)}catch{}}function Mb(n,{relative:t}={}){ke(of(),"useHref() may be used only in the context of a <Router> component.");let{basename:a,navigator:l}=G.useContext(Ti),{hash:o,pathname:c,search:d}=vd(n,{relative:t}),m=c;return a!=="/"&&(m=c==="/"?a:xs([a,c])),l.createHref({pathname:m,search:d,hash:o})}function of(){return G.useContext(gd)!=null}function Ol(){return ke(of(),"useLocation() may be used only in the context of a <Router> component."),G.useContext(gd).location}var kx="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Qx(n){G.useContext(Ti).static||G.useLayoutEffect(n)}function qp(){let{isDataRoute:n}=G.useContext(Dl);return n?Xb():Rb()}function Rb(){ke(of(),"useNavigate() may be used only in the context of a <Router> component.");let n=G.useContext(uf),{basename:t,navigator:a}=G.useContext(Ti),{matches:l}=G.useContext(Dl),{pathname:o}=Ol(),c=JSON.stringify(tg(l)),d=G.useRef(!1);return Qx(()=>{d.current=!0}),G.useCallback((p,g={})=>{if(wl(d.current,kx),!d.current)return;if(typeof p=="number"){a.go(p);return}let x=Gp(p,JSON.parse(c),o,g.relative==="path");n==null&&t!=="/"&&(x.pathname=x.pathname==="/"?t:xs([t,x.pathname])),(g.replace?a.replace:a.push)(x,g.state,g)},[t,a,c,o,n])}var zb=G.createContext(null);function wb(n){let t=G.useContext(Dl).outlet;return G.useMemo(()=>t&&G.createElement(zb.Provider,{value:n},t),[t,n])}function vd(n,{relative:t}={}){let{matches:a}=G.useContext(Dl),{pathname:l}=Ol(),o=JSON.stringify(tg(a));return G.useMemo(()=>Gp(n,JSON.parse(o),l,t==="path"),[n,o,l,t])}function Db(n,t){return Kx(n,t)}function Kx(n,t,a){var R;ke(of(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:l}=G.useContext(Ti),{matches:o}=G.useContext(Dl),c=o[o.length-1],d=c?c.params:{},m=c?c.pathname:"/",p=c?c.pathnameBase:"/",g=c&&c.route;{let w=g&&g.path||"";Jx(m,!g||w.endsWith("*")||w.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${m}" (under <Route path="${w}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
60
60
 
61
- Please change the parent <Route path="${w}"> to <Route path="${w==="/"?"*":`${w}/*`}">.`)}let x=Ol(),b;if(t){let w=typeof t=="string"?rf(t):t;ke(p==="/"||((R=w.pathname)==null?void 0:R.startsWith(p)),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${p}" but pathname "${w.pathname}" was given in the \`location\` prop.`),b=w}else b=x;let E=b.pathname||"/",C=E;if(p!=="/"){let w=p.replace(/^\//,"").split("/");C="/"+E.replace(/^\//,"").split("/").slice(w.length).join("/")}let M=Hx(n,{pathname:C});wl(g||M!=null,`No routes matched location "${b.pathname}${b.search}${b.hash}" `),wl(M==null||M[M.length-1].route.element!==void 0||M[M.length-1].route.Component!==void 0||M[M.length-1].route.lazy!==void 0,`Matched leaf route at location "${b.pathname}${b.search}${b.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let z=Hb(M&&M.map(w=>Object.assign({},w,{params:Object.assign({},d,w.params),pathname:xs([p,l.encodeLocation?l.encodeLocation(w.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathname]),pathnameBase:w.pathnameBase==="/"?p:xs([p,l.encodeLocation?l.encodeLocation(w.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathnameBase])})),o,a);return t&&z?G.createElement(gd.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",unstable_mask:void 0,...b},navigationType:"POP"}},z):z}function Ob(){let n=Lb(),t=gb(n)?`${n.status} ${n.statusText}`:n instanceof Error?n.message:JSON.stringify(n),a=n instanceof Error?n.stack:null,l="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:l},c={padding:"2px 4px",backgroundColor:l},d=null;return console.error("Error handled by React Router default ErrorBoundary:",n),d=G.createElement(G.Fragment,null,G.createElement("p",null,"💿 Hey developer 👋"),G.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",G.createElement("code",{style:c},"ErrorBoundary")," or"," ",G.createElement("code",{style:c},"errorElement")," prop on your route.")),G.createElement(G.Fragment,null,G.createElement("h2",null,"Unexpected Application Error!"),G.createElement("h3",{style:{fontStyle:"italic"}},t),a?G.createElement("pre",{style:o},a):null,d)}var Nb=G.createElement(Ob,null),Zx=class extends G.Component{constructor(n){super(n),this.state={location:n.location,revalidation:n.revalidation,error:n.error}}static getDerivedStateFromError(n){return{error:n}}static getDerivedStateFromProps(n,t){return t.location!==n.location||t.revalidation!=="idle"&&n.revalidation==="idle"?{error:n.error,location:n.location,revalidation:n.revalidation}:{error:n.error!==void 0?n.error:t.error,location:t.location,revalidation:n.revalidation||t.revalidation}}componentDidCatch(n,t){this.props.onError?this.props.onError(n,t):console.error("React Router caught the following error during render",n)}render(){let n=this.state.error;if(this.context&&typeof n=="object"&&n&&"digest"in n&&typeof n.digest=="string"){const a=Ab(n.digest);a&&(n=a)}let t=n!==void 0?G.createElement(Dl.Provider,{value:this.props.routeContext},G.createElement(eg.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?G.createElement(Bb,{error:n},t):t}};Zx.contextType=_b;var Y0=new WeakMap;function Bb({children:n,error:t}){let{basename:a}=G.useContext(Ti);if(typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){let l=Cb(t.digest);if(l){let o=Y0.get(t);if(o)throw o;let c=qx(l.location,a);if(Yx&&!Y0.get(t))if(c.isExternal||l.reloadDocument)window.location.href=c.absoluteURL||c.to;else{const d=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(c.to,{replace:l.replace}));throw Y0.set(t,d),d}return G.createElement("meta",{httpEquiv:"refresh",content:`0;url=${c.absoluteURL||c.to}`})}}return n}function Ub({routeContext:n,match:t,children:a}){let l=G.useContext(uf);return l&&l.static&&l.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(l.staticContext._deepestRenderedBoundaryId=t.route.id),G.createElement(Dl.Provider,{value:n},a)}function Hb(n,t=[],a){let l=a==null?void 0:a.state;if(n==null){if(!l)return null;if(l.errors)n=l.matches;else if(t.length===0&&!l.initialized&&l.matches.length>0)n=l.matches;else return null}let o=n,c=l==null?void 0:l.errors;if(c!=null){let x=o.findIndex(b=>b.route.id&&(c==null?void 0:c[b.route.id])!==void 0);ke(x>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(c).join(",")}`),o=o.slice(0,Math.min(o.length,x+1))}let d=!1,m=-1;if(a&&l){d=l.renderFallback;for(let x=0;x<o.length;x++){let b=o[x];if((b.route.HydrateFallback||b.route.hydrateFallbackElement)&&(m=x),b.route.id){let{loaderData:E,errors:C}=l,M=b.route.loader&&!E.hasOwnProperty(b.route.id)&&(!C||C[b.route.id]===void 0);if(b.route.lazy||M){a.isStatic&&(d=!0),m>=0?o=o.slice(0,m+1):o=[o[0]];break}}}}let p=a==null?void 0:a.onError,g=l&&p?(x,b)=>{var E,C;p(x,{location:l.location,params:((C=(E=l.matches)==null?void 0:E[0])==null?void 0:C.params)??{},unstable_pattern:vb(l.matches),errorInfo:b})}:void 0;return o.reduceRight((x,b,E)=>{let C,M=!1,z=null,R=null;l&&(C=c&&b.route.id?c[b.route.id]:void 0,z=b.route.errorElement||Nb,d&&(m<0&&E===0?(Jx("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),M=!0,R=null):m===E&&(M=!0,R=b.route.hydrateFallbackElement||null)));let w=t.concat(o.slice(0,E+1)),O=()=>{let U;return C?U=z:M?U=R:b.route.Component?U=G.createElement(b.route.Component,null):b.route.element?U=b.route.element:U=x,G.createElement(Ub,{match:b,routeContext:{outlet:x,matches:w,isDataRoute:l!=null},children:U})};return l&&(b.route.ErrorBoundary||b.route.errorElement||E===0)?G.createElement(Zx,{location:l.location,revalidation:l.revalidation,component:z,error:C,children:O(),routeContext:{outlet:null,matches:w,isDataRoute:!0},onError:g}):O()},null)}function ng(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function jb(n){let t=G.useContext(uf);return ke(t,ng(n)),t}function Gb(n){let t=G.useContext(Yp);return ke(t,ng(n)),t}function Yb(n){let t=G.useContext(Dl);return ke(t,ng(n)),t}function ag(n){let t=Yb(n),a=t.matches[t.matches.length-1];return ke(a.route.id,`${n} can only be used on routes that contain a unique "id"`),a.route.id}function qb(){return ag("useRouteId")}function Lb(){var l;let n=G.useContext(eg),t=Gb("useRouteError"),a=ag("useRouteError");return n!==void 0?n:(l=t.errors)==null?void 0:l[a]}function Xb(){let{router:n}=jb("useNavigate"),t=ag("useNavigate"),a=G.useRef(!1);return Qx(()=>{a.current=!0}),G.useCallback(async(o,c={})=>{wl(a.current,kx),a.current&&(typeof o=="number"?await n.navigate(o):await n.navigate(o,{fromRouteId:t,...c}))},[n,t])}var Uv={};function Jx(n,t,a){!t&&!Uv[n]&&(Uv[n]=!0,wl(!1,a))}G.memo(Vb);function Vb({routes:n,future:t,state:a,isStatic:l,onError:o}){return Kx(n,void 0,{state:a,isStatic:l,onError:o})}function kb({to:n,replace:t,state:a,relative:l}){ke(of(),"<Navigate> may be used only in the context of a <Router> component.");let{static:o}=G.useContext(Ti);wl(!o,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:c}=G.useContext(Dl),{pathname:d}=Ol(),m=qp(),p=Gp(n,tg(c),d,l==="path"),g=JSON.stringify(p);return G.useEffect(()=>{m(JSON.parse(g),{replace:t,state:a,relative:l})},[m,g,l,t,a]),null}function Hv(n){return wb(n.context)}function ps(n){ke(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function Qb({basename:n="/",children:t=null,location:a,navigationType:l="POP",navigator:o,static:c=!1,unstable_useTransitions:d}){ke(!of(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let m=n.replace(/^\/*/,"/"),p=G.useMemo(()=>({basename:m,navigator:o,static:c,unstable_useTransitions:d,future:{}}),[m,o,c,d]);typeof a=="string"&&(a=rf(a));let{pathname:g="/",search:x="",hash:b="",state:E=null,key:C="default",unstable_mask:M}=a,z=G.useMemo(()=>{let R=or(g,m);return R==null?null:{location:{pathname:R,search:x,hash:b,state:E,key:C,unstable_mask:M},navigationType:l}},[m,g,x,b,E,C,l,M]);return wl(z!=null,`<Router basename="${m}"> is not able to match the URL "${g}${x}${b}" because it does not start with the basename, so the <Router> won't render anything.`),z==null?null:G.createElement(Ti.Provider,{value:p},G.createElement(gd.Provider,{children:t,value:z}))}function Kb({children:n,location:t}){return Db(Ay(n),t)}function Ay(n,t=[]){let a=[];return G.Children.forEach(n,(l,o)=>{if(!G.isValidElement(l))return;let c=[...t,o];if(l.type===G.Fragment){a.push.apply(a,Ay(l.props.children,c));return}ke(l.type===ps,`[${typeof l.type=="string"?l.type:l.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),ke(!l.props.index||!l.props.children,"An index route cannot have child routes.");let d={id:l.props.id||c.join("-"),caseSensitive:l.props.caseSensitive,element:l.props.element,Component:l.props.Component,index:l.props.index,path:l.props.path,middleware:l.props.middleware,loader:l.props.loader,action:l.props.action,hydrateFallbackElement:l.props.hydrateFallbackElement,HydrateFallback:l.props.HydrateFallback,errorElement:l.props.errorElement,ErrorBoundary:l.props.ErrorBoundary,hasErrorBoundary:l.props.hasErrorBoundary===!0||l.props.ErrorBoundary!=null||l.props.errorElement!=null,shouldRevalidate:l.props.shouldRevalidate,handle:l.props.handle,lazy:l.props.lazy};l.props.children&&(d.children=Ay(l.props.children,c)),a.push(d)}),a}var bp="get",Tp="application/x-www-form-urlencoded";function Lp(n){return typeof HTMLElement<"u"&&n instanceof HTMLElement}function Zb(n){return Lp(n)&&n.tagName.toLowerCase()==="button"}function Jb(n){return Lp(n)&&n.tagName.toLowerCase()==="form"}function Fb(n){return Lp(n)&&n.tagName.toLowerCase()==="input"}function Wb(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function Pb(n,t){return n.button===0&&(!t||t==="_self")&&!Wb(n)}var ep=null;function Ib(){if(ep===null)try{new FormData(document.createElement("form"),0),ep=!1}catch{ep=!0}return ep}var $b=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function q0(n){return n!=null&&!$b.has(n)?(wl(!1,`"${n}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Tp}"`),null):n}function tT(n,t){let a,l,o,c,d;if(Jb(n)){let m=n.getAttribute("action");l=m?or(m,t):null,a=n.getAttribute("method")||bp,o=q0(n.getAttribute("enctype"))||Tp,c=new FormData(n)}else if(Zb(n)||Fb(n)&&(n.type==="submit"||n.type==="image")){let m=n.form;if(m==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let p=n.getAttribute("formaction")||m.getAttribute("action");if(l=p?or(p,t):null,a=n.getAttribute("formmethod")||m.getAttribute("method")||bp,o=q0(n.getAttribute("formenctype"))||q0(m.getAttribute("enctype"))||Tp,c=new FormData(m,n),!Ib()){let{name:g,type:x,value:b}=n;if(x==="image"){let E=g?`${g}.`:"";c.append(`${E}x`,"0"),c.append(`${E}y`,"0")}else g&&c.append(g,b)}}else{if(Lp(n))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');a=bp,l=null,o=Tp,d=n}return c&&o==="text/plain"&&(d=c,c=void 0),{action:l,method:a.toLowerCase(),encType:o,formData:c,body:d}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function ig(n,t){if(n===!1||n===null||typeof n>"u")throw new Error(t)}function eT(n,t,a,l){let o=typeof n=="string"?new URL(n,typeof window>"u"?"server://singlefetch/":window.location.origin):n;return a?o.pathname.endsWith("/")?o.pathname=`${o.pathname}_.${l}`:o.pathname=`${o.pathname}.${l}`:o.pathname==="/"?o.pathname=`_root.${l}`:t&&or(o.pathname,t)==="/"?o.pathname=`${t.replace(/\/$/,"")}/_root.${l}`:o.pathname=`${o.pathname.replace(/\/$/,"")}.${l}`,o}async function nT(n,t){if(n.id in t)return t[n.id];try{let a=await import(n.module);return t[n.id]=a,a}catch(a){return console.error(`Error loading route module \`${n.module}\`, reloading page...`),console.error(a),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function aT(n){return n==null?!1:n.href==null?n.rel==="preload"&&typeof n.imageSrcSet=="string"&&typeof n.imageSizes=="string":typeof n.rel=="string"&&typeof n.href=="string"}async function iT(n,t,a){let l=await Promise.all(n.map(async o=>{let c=t.routes[o.route.id];if(c){let d=await nT(c,a);return d.links?d.links():[]}return[]}));return uT(l.flat(1).filter(aT).filter(o=>o.rel==="stylesheet"||o.rel==="preload").map(o=>o.rel==="stylesheet"?{...o,rel:"prefetch",as:"style"}:{...o,rel:"prefetch"}))}function jv(n,t,a,l,o,c){let d=(p,g)=>a[g]?p.route.id!==a[g].route.id:!0,m=(p,g)=>{var x;return a[g].pathname!==p.pathname||((x=a[g].route.path)==null?void 0:x.endsWith("*"))&&a[g].params["*"]!==p.params["*"]};return c==="assets"?t.filter((p,g)=>d(p,g)||m(p,g)):c==="data"?t.filter((p,g)=>{var b;let x=l.routes[p.route.id];if(!x||!x.hasLoader)return!1;if(d(p,g)||m(p,g))return!0;if(p.route.shouldRevalidate){let E=p.route.shouldRevalidate({currentUrl:new URL(o.pathname+o.search+o.hash,window.origin),currentParams:((b=a[0])==null?void 0:b.params)||{},nextUrl:new URL(n,window.origin),nextParams:p.params,defaultShouldRevalidate:!0});if(typeof E=="boolean")return E}return!0}):[]}function lT(n,t,{includeHydrateFallback:a}={}){return sT(n.map(l=>{let o=t.routes[l.route.id];if(!o)return[];let c=[o.module];return o.clientActionModule&&(c=c.concat(o.clientActionModule)),o.clientLoaderModule&&(c=c.concat(o.clientLoaderModule)),a&&o.hydrateFallbackModule&&(c=c.concat(o.hydrateFallbackModule)),o.imports&&(c=c.concat(o.imports)),c}).flat(1))}function sT(n){return[...new Set(n)]}function rT(n){let t={},a=Object.keys(n).sort();for(let l of a)t[l]=n[l];return t}function uT(n,t){let a=new Set;return new Set(t),n.reduce((l,o)=>{let c=JSON.stringify(rT(o));return a.has(c)||(a.add(c),l.push({key:c,link:o})),l},[])}function Fx(){let n=G.useContext(uf);return ig(n,"You must render this element inside a <DataRouterContext.Provider> element"),n}function oT(){let n=G.useContext(Yp);return ig(n,"You must render this element inside a <DataRouterStateContext.Provider> element"),n}var lg=G.createContext(void 0);lg.displayName="FrameworkContext";function Wx(){let n=G.useContext(lg);return ig(n,"You must render this element inside a <HydratedRouter> element"),n}function cT(n,t){let a=G.useContext(lg),[l,o]=G.useState(!1),[c,d]=G.useState(!1),{onFocus:m,onBlur:p,onMouseEnter:g,onMouseLeave:x,onTouchStart:b}=t,E=G.useRef(null);G.useEffect(()=>{if(n==="render"&&d(!0),n==="viewport"){let z=w=>{w.forEach(O=>{d(O.isIntersecting)})},R=new IntersectionObserver(z,{threshold:.5});return E.current&&R.observe(E.current),()=>{R.disconnect()}}},[n]),G.useEffect(()=>{if(l){let z=setTimeout(()=>{d(!0)},100);return()=>{clearTimeout(z)}}},[l]);let C=()=>{o(!0)},M=()=>{o(!1),d(!1)};return a?n!=="intent"?[c,E,{}]:[c,E,{onFocus:Qh(m,C),onBlur:Qh(p,M),onMouseEnter:Qh(g,C),onMouseLeave:Qh(x,M),onTouchStart:Qh(b,C)}]:[!1,E,{}]}function Qh(n,t){return a=>{n&&n(a),a.defaultPrevented||t(a)}}function fT({page:n,...t}){let{router:a}=Fx(),l=G.useMemo(()=>Hx(a.routes,n,a.basename),[a.routes,n,a.basename]);return l?G.createElement(dT,{page:n,matches:l,...t}):null}function hT(n){let{manifest:t,routeModules:a}=Wx(),[l,o]=G.useState([]);return G.useEffect(()=>{let c=!1;return iT(n,t,a).then(d=>{c||o(d)}),()=>{c=!0}},[n,t,a]),l}function dT({page:n,matches:t,...a}){let l=Ol(),{future:o,manifest:c,routeModules:d}=Wx(),{basename:m}=Fx(),{loaderData:p,matches:g}=oT(),x=G.useMemo(()=>jv(n,t,g,c,l,"data"),[n,t,g,c,l]),b=G.useMemo(()=>jv(n,t,g,c,l,"assets"),[n,t,g,c,l]),E=G.useMemo(()=>{if(n===l.pathname+l.search+l.hash)return[];let z=new Set,R=!1;if(t.forEach(O=>{var Y;let U=c.routes[O.route.id];!U||!U.hasLoader||(!x.some(k=>k.route.id===O.route.id)&&O.route.id in p&&((Y=d[O.route.id])!=null&&Y.shouldRevalidate)||U.hasClientLoader?R=!0:z.add(O.route.id))}),z.size===0)return[];let w=eT(n,m,o.unstable_trailingSlashAwareDataRequests,"data");return R&&z.size>0&&w.searchParams.set("_routes",t.filter(O=>z.has(O.route.id)).map(O=>O.route.id).join(",")),[w.pathname+w.search]},[m,o.unstable_trailingSlashAwareDataRequests,p,l,c,x,t,n,d]),C=G.useMemo(()=>lT(b,c),[b,c]),M=hT(b);return G.createElement(G.Fragment,null,E.map(z=>G.createElement("link",{key:z,rel:"prefetch",as:"fetch",href:z,...a})),C.map(z=>G.createElement("link",{key:z,rel:"modulepreload",href:z,...a})),M.map(({key:z,link:R})=>G.createElement("link",{key:z,nonce:a.nonce,...R,crossOrigin:R.crossOrigin??a.crossOrigin})))}function mT(...n){return t=>{n.forEach(a=>{typeof a=="function"?a(t):a!=null&&(a.current=t)})}}var pT=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{pT&&(window.__reactRouterVersion="7.13.1")}catch{}function yT({basename:n,children:t,unstable_useTransitions:a,window:l}){let o=G.useRef();o.current==null&&(o.current=ZS({window:l,v5Compat:!0}));let c=o.current,[d,m]=G.useState({action:c.action,location:c.location}),p=G.useCallback(g=>{a===!1?m(g):G.startTransition(()=>m(g))},[a]);return G.useLayoutEffect(()=>c.listen(p),[c,p]),G.createElement(Qb,{basename:n,children:t,location:d.location,navigationType:d.action,navigator:c,unstable_useTransitions:a})}var Px=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ix=G.forwardRef(function({onClick:t,discover:a="render",prefetch:l="none",relative:o,reloadDocument:c,replace:d,unstable_mask:m,state:p,target:g,to:x,preventScrollReset:b,viewTransition:E,unstable_defaultShouldRevalidate:C,...M},z){let{basename:R,navigator:w,unstable_useTransitions:O}=G.useContext(Ti),U=typeof x=="string"&&Px.test(x),Y=qx(x,R);x=Y.to;let k=Mb(x,{relative:o}),V=Ol(),Z=null;if(m){let St=Gp(m,[],V.unstable_mask?V.unstable_mask.pathname:"/",!0);R!=="/"&&(St.pathname=St.pathname==="/"?R:xs([R,St.pathname])),Z=w.createHref(St)}let[F,q,$]=cT(l,M),et=xT(x,{replace:d,unstable_mask:m,state:p,target:g,preventScrollReset:b,relative:o,viewTransition:E,unstable_defaultShouldRevalidate:C,unstable_useTransitions:O});function ct(St){t&&t(St),St.defaultPrevented||et(St)}let vt=!(Y.isExternal||c),dt=G.createElement("a",{...M,...$,href:(vt?Z:void 0)||Y.absoluteURL||k,onClick:vt?ct:t,ref:mT(z,q),target:g,"data-discover":!U&&a==="render"?"true":void 0});return F&&!U?G.createElement(G.Fragment,null,dt,G.createElement(fT,{page:k})):dt});Ix.displayName="Link";var $x=G.forwardRef(function({"aria-current":t="page",caseSensitive:a=!1,className:l="",end:o=!1,style:c,to:d,viewTransition:m,children:p,...g},x){let b=vd(d,{relative:g.relative}),E=Ol(),C=G.useContext(Yp),{navigator:M,basename:z}=G.useContext(Ti),R=C!=null&&ET(b)&&m===!0,w=M.encodeLocation?M.encodeLocation(b).pathname:b.pathname,O=E.pathname,U=C&&C.navigation&&C.navigation.location?C.navigation.location.pathname:null;a||(O=O.toLowerCase(),U=U?U.toLowerCase():null,w=w.toLowerCase()),U&&z&&(U=or(U,z)||U);const Y=w!=="/"&&w.endsWith("/")?w.length-1:w.length;let k=O===w||!o&&O.startsWith(w)&&O.charAt(Y)==="/",V=U!=null&&(U===w||!o&&U.startsWith(w)&&U.charAt(w.length)==="/"),Z={isActive:k,isPending:V,isTransitioning:R},F=k?t:void 0,q;typeof l=="function"?q=l(Z):q=[l,k?"active":null,V?"pending":null,R?"transitioning":null].filter(Boolean).join(" ");let $=typeof c=="function"?c(Z):c;return G.createElement(Ix,{...g,"aria-current":F,className:q,ref:x,style:$,to:d,viewTransition:m},typeof p=="function"?p(Z):p)});$x.displayName="NavLink";var gT=G.forwardRef(({discover:n="render",fetcherKey:t,navigate:a,reloadDocument:l,replace:o,state:c,method:d=bp,action:m,onSubmit:p,relative:g,preventScrollReset:x,viewTransition:b,unstable_defaultShouldRevalidate:E,...C},M)=>{let{unstable_useTransitions:z}=G.useContext(Ti),R=bT(),w=TT(m,{relative:g}),O=d.toLowerCase()==="get"?"get":"post",U=typeof m=="string"&&Px.test(m),Y=k=>{if(p&&p(k),k.defaultPrevented)return;k.preventDefault();let V=k.nativeEvent.submitter,Z=(V==null?void 0:V.getAttribute("formmethod"))||d,F=()=>R(V||k.currentTarget,{fetcherKey:t,method:Z,navigate:a,replace:o,state:c,relative:g,preventScrollReset:x,viewTransition:b,unstable_defaultShouldRevalidate:E});z&&a!==!1?G.startTransition(()=>F()):F()};return G.createElement("form",{ref:M,method:O,action:w,onSubmit:l?p:Y,...C,"data-discover":!U&&n==="render"?"true":void 0})});gT.displayName="Form";function vT(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function t_(n){let t=G.useContext(uf);return ke(t,vT(n)),t}function xT(n,{target:t,replace:a,unstable_mask:l,state:o,preventScrollReset:c,relative:d,viewTransition:m,unstable_defaultShouldRevalidate:p,unstable_useTransitions:g}={}){let x=qp(),b=Ol(),E=vd(n,{relative:d});return G.useCallback(C=>{if(Pb(C,t)){C.preventDefault();let M=a!==void 0?a:cd(b)===cd(E),z=()=>x(n,{replace:M,unstable_mask:l,state:o,preventScrollReset:c,relative:d,viewTransition:m,unstable_defaultShouldRevalidate:p});g?G.startTransition(()=>z()):z()}},[b,x,E,a,l,o,t,n,c,d,m,p,g])}var _T=0,ST=()=>`__${String(++_T)}__`;function bT(){let{router:n}=t_("useSubmit"),{basename:t}=G.useContext(Ti),a=qb(),l=n.fetch,o=n.navigate;return G.useCallback(async(c,d={})=>{let{action:m,method:p,encType:g,formData:x,body:b}=tT(c,t);if(d.navigate===!1){let E=d.fetcherKey||ST();await l(E,a,d.action||m,{unstable_defaultShouldRevalidate:d.unstable_defaultShouldRevalidate,preventScrollReset:d.preventScrollReset,formData:x,body:b,formMethod:d.method||p,formEncType:d.encType||g,flushSync:d.flushSync})}else await o(d.action||m,{unstable_defaultShouldRevalidate:d.unstable_defaultShouldRevalidate,preventScrollReset:d.preventScrollReset,formData:x,body:b,formMethod:d.method||p,formEncType:d.encType||g,replace:d.replace,state:d.state,fromRouteId:a,flushSync:d.flushSync,viewTransition:d.viewTransition})},[l,o,t,a])}function TT(n,{relative:t}={}){let{basename:a}=G.useContext(Ti),l=G.useContext(Dl);ke(l,"useFormAction must be used inside a RouteContext");let[o]=l.matches.slice(-1),c={...vd(n||".",{relative:t})},d=Ol();if(n==null){c.search=d.search;let m=new URLSearchParams(c.search),p=m.getAll("index");if(p.some(x=>x==="")){m.delete("index"),p.filter(b=>b).forEach(b=>m.append("index",b));let x=m.toString();c.search=x?`?${x}`:""}}return(!n||n===".")&&o.route.index&&(c.search=c.search?c.search.replace(/^\?/,"?index&"):"?index"),a!=="/"&&(c.pathname=c.pathname==="/"?a:xs([a,c.pathname])),cd(c)}function ET(n,{relative:t}={}){let a=G.useContext(Xx);ke(a!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:l}=t_("useViewTransitionState"),o=vd(n,{relative:t});if(!a.isTransitioning)return!1;let c=or(a.currentLocation.pathname,l)||a.currentLocation.pathname,d=or(a.nextLocation.pathname,l)||a.nextLocation.pathname;return Mp(o.pathname,d)!=null||Mp(o.pathname,c)!=null}const Gv=n=>{let t;const a=new Set,l=(g,x)=>{const b=typeof g=="function"?g(t):g;if(!Object.is(b,t)){const E=t;t=x??(typeof b!="object"||b===null)?b:Object.assign({},t,b),a.forEach(C=>C(t,E))}},o=()=>t,m={setState:l,getState:o,getInitialState:()=>p,subscribe:g=>(a.add(g),()=>a.delete(g))},p=t=n(l,o,m);return m},CT=(n=>n?Gv(n):Gv),AT=n=>n;function MT(n,t=AT){const a=tp.useSyncExternalStore(n.subscribe,tp.useCallback(()=>t(n.getState()),[n,t]),tp.useCallback(()=>t(n.getInitialState()),[n,t]));return tp.useDebugValue(a),a}const Yv=n=>{const t=CT(n),a=l=>MT(t,l);return Object.assign(a,t),a},cf=(n=>n?Yv(n):Yv),zl=cf(n=>({user:null,isAuthenticated:!1,loading:!1,error:null,login:async(t,a)=>{n({loading:!0,error:null});try{const l=await fetch("/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:t,password:a}),credentials:"include"}),o=await l.json();if(!l.ok){n({loading:!1,error:o.error||"Login failed"});return}n({user:o.user,isAuthenticated:!0,loading:!1,error:null})}catch{n({loading:!1,error:"Network error"})}},logout:async()=>{try{await fetch("/api/auth/logout",{method:"POST",credentials:"include"})}catch{}n({user:null,isAuthenticated:!1,error:null})},checkAuth:async()=>{n({loading:!0});try{const t=await fetch("/api/auth/me",{credentials:"include"});if(t.ok){const a=await t.json();n({user:a.user,isAuthenticated:!0,loading:!1})}else n({user:null,isAuthenticated:!1,loading:!1})}catch{n({user:null,isAuthenticated:!1,loading:!1})}},reset:()=>n({user:null,isAuthenticated:!1,loading:!1,error:null})})),ti=cf((n,t)=>({squads:[],selectedSquad:null,activeStates:{},fetchSquads:async()=>{try{const a=await fetch("/api/squads",{credentials:"include"});if(a.ok){const l=await a.json();n({squads:l.squads})}}catch{}},selectSquad:a=>n({selectedSquad:a}),setSquadState:(a,l)=>n(o=>({activeStates:{...o.activeStates,[a]:l}})),clearSquadState:a=>n(l=>{const{[a]:o,...c}=l.activeStates;return{activeStates:c}}),reset:()=>n({squads:[],selectedSquad:null,activeStates:{}})}));let RT=0;function qv(){return`local-${Date.now()}-${++RT}`}const Fi=cf((n,t)=>({messages:[],conversationId:null,streaming:!1,streamingText:"",error:null,addUserMessage:a=>{const l={id:qv(),role:"user",content:a,createdAt:new Date().toISOString()};n(o=>({messages:[...o.messages,l],error:null}))},setConversationId:a=>{n({conversationId:a})},startStreaming:()=>{n({streaming:!0,streamingText:"",error:null})},appendChunk:a=>{n(l=>({streamingText:l.streamingText+a}))},finishStreaming:a=>{const{streamingText:l}=t(),o={id:a,role:"assistant",content:l,createdAt:new Date().toISOString()};n(c=>({messages:[...c.messages,o],streaming:!1,streamingText:""}))},addAgentDm:a=>{const l={id:qv(),role:"agent_dm",content:a.content,agentId:a.agentId,agentName:a.agentName,createdAt:new Date().toISOString()};n(o=>({messages:[...o.messages,l]}))},setError:a=>{n({error:a,streaming:!1,streamingText:""})},loadHistory:async a=>{try{const l=await fetch(`/api/squads/${a}/conversations`,{credentials:"include"});if(!l.ok)return;const o=await l.json();if(!o.data||o.data.length===0){n({conversationId:null,messages:[]});return}const c=o.data[0];n({conversationId:c.id});const d=await fetch(`/api/conversations/${c.id}/messages`,{credentials:"include"});if(!d.ok)return;const p=((await d.json()).data||[]).map(g=>({id:g.id,role:g.role,content:g.content,agentId:g.agent_id??void 0,agentName:g.agent_name??void 0,createdAt:g.created_at}));n({messages:p})}catch{}},reset:()=>n({messages:[],conversationId:null,streaming:!1,streamingText:"",error:null})}));function zT(n){const a=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`,l=new WebSocket(a),o=[];let c=!0;function d(m){l.readyState===WebSocket.OPEN?l.send(JSON.stringify(m)):l.readyState===WebSocket.CONNECTING&&o.push(m)}return l.onopen=()=>{var m,p;c||(p=(m=n.current).onReconnect)==null||p.call(m),c=!1;for(const g of o)l.send(JSON.stringify(g));o.length=0},l.onmessage=m=>{var p,g,x,b,E,C,M,z,R,w,O,U,Y,k,V,Z;try{const F=JSON.parse(m.data),q=n.current;switch(F.type){case"squad:state":(p=q.onSquadState)==null||p.call(q,F.squadName,F.state);break;case"squad:inactive":(g=q.onSquadInactive)==null||g.call(q,F.squadName,F.reason);break;case"chat:chunk":(x=q.onChatChunk)==null||x.call(q,F.squadName,F.conversationId,F.delta);break;case"chat:done":(b=q.onChatDone)==null||b.call(q,F.squadName,F.conversationId,F.messageId);break;case"chat:error":(E=q.onChatError)==null||E.call(q,F.squadName,F.error);break;case"chat:agent_dm":(C=q.onChatAgentDm)==null||C.call(q,F.squadName,F.conversationId,F.agentId,F.agentName,F.message);break;case"chat:conversation_created":(M=q.onChatConversationCreated)==null||M.call(q,F.squadName,F.conversationId);break;case"agent:output_chunk":(z=q.onAgentOutputChunk)==null||z.call(q,F.squadName,F.agentId,F.agentName,F.delta);break;case"agent:step_start":(R=q.onAgentStepStart)==null||R.call(q,F.squadName,F.agentId,F.agentName,F.stepIndex,F.stepLabel);break;case"agent:step_complete":(w=q.onAgentStepComplete)==null||w.call(q,F.squadName,F.agentId,F.agentName,F.stepIndex,F.stepLabel);break;case"squad:checkpoint":(O=q.onSquadCheckpoint)==null||O.call(q,F.squadName,F.agentId,F.agentName,F.question);break;case"schedule:started":(U=q.onScheduleStarted)==null||U.call(q,F.squadName,F.jobId,F.attempt);break;case"schedule:chunk":(Y=q.onScheduleChunk)==null||Y.call(q,F.squadName,F.jobId,F.delta);break;case"schedule:done":(k=q.onScheduleDone)==null||k.call(q,F.squadName,F.jobId,F.summary,F.attempt);break;case"schedule:error":(V=q.onScheduleError)==null||V.call(q,F.squadName,F.jobId,F.error,F.attempt,F.willRetry);break;case"schedule:status_changed":(Z=q.onScheduleStatusChanged)==null||Z.call(q,F.squadName,F.status);break}}catch{}},{subscribe:m=>{d({type:"squad:subscribe",squadName:m})},unsubscribe:m=>{d({type:"squad:unsubscribe",squadName:m})},sendChat:(m,p)=>{d({type:"chat:send",squadName:m,message:p})},newConversation:m=>{d({type:"chat:new_conversation",squadName:m})},sendCheckpointResponse:(m,p)=>{d({type:"squad:checkpoint_response",squadName:m,answer:p})},disconnect:()=>{l.close()}}}function wT(n={}){const t=G.useRef(null),a=G.useRef(n),l=G.useRef(new Set);a.current=n,G.useEffect(()=>{const p=zT(a);t.current=p;for(const g of l.current)p.subscribe(g);return()=>{p.disconnect()}},[]);const o=G.useCallback(p=>{var g;l.current.add(p),(g=t.current)==null||g.subscribe(p)},[]),c=G.useCallback(p=>{var g;l.current.delete(p),(g=t.current)==null||g.unsubscribe(p)},[]),d=G.useCallback((p,g)=>{var x;(x=t.current)==null||x.sendChat(p,g)},[]),m=G.useCallback((p,g)=>{var x;(x=t.current)==null||x.sendCheckpointResponse(p,g)},[]);return{subscribe:o,unsubscribe:c,sendChat:d,sendCheckpointResponse:m}}const DT={idle:{color:"var(--status-idle)",glow:"none",icon:"○"},working:{color:"var(--status-active)",glow:"0 0 6px var(--status-active-glow)",icon:"●"},delivering:{color:"var(--accent)",glow:"0 0 6px var(--accent-glow)",icon:"→"},done:{color:"var(--status-active)",glow:"none",icon:"✓"},checkpoint:{color:"var(--status-warning)",glow:"0 0 6px var(--status-warning-glow)",icon:"◆"},running:{color:"var(--status-active)",glow:"0 0 6px var(--status-active-glow)",icon:"●"},completed:{color:"var(--status-active)",glow:"none",icon:"✓"}},OT={color:"var(--status-idle)",glow:"none"};function NT({status:n}){if(!n)return null;const t=DT[n]||OT;return H.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:4,fontFamily:"var(--font-mono)",fontSize:"0.68rem",color:t.color,letterSpacing:"0.02em"},children:[H.jsx("span",{style:{display:"inline-block",width:6,height:6,borderRadius:"50%",background:t.color,boxShadow:t.glow,animation:n==="working"||n==="running"?"statusPulse 2s ease-in-out infinite":"none"}}),n]})}function BT({squad:n,selected:t,onClick:a}){return H.jsxs("div",{onClick:a,style:{padding:"8px 10px",cursor:"pointer",borderRadius:"var(--radius-sm)",background:t?"var(--accent-glow)":"transparent",borderLeft:t?"2px solid var(--accent)":"2px solid transparent",marginBottom:2,transition:"all var(--duration-fast) var(--ease-out)"},children:[H.jsx("div",{style:{fontSize:"0.82rem",fontWeight:t?600:400,color:t?"var(--text-primary)":"var(--text-secondary)",marginBottom:2},children:n.name}),H.jsx(NT,{status:n.status})]})}function UT({squads:n,selectedSquad:t,onSelect:a}){return H.jsxs("div",{style:{padding:"var(--sp-3)"},children:[H.jsx("div",{style:{fontFamily:"var(--font-mono)",fontSize:"0.6rem",color:"var(--text-muted)",textTransform:"uppercase",letterSpacing:"0.1em",padding:"0 var(--sp-2)",marginBottom:"var(--sp-2)"},children:"Squads"}),n.length===0&&H.jsx("div",{style:{padding:"8px 10px",color:"var(--text-muted)",fontSize:"0.75rem",fontStyle:"italic"},children:"No squads found"}),n.map(l=>H.jsx(BT,{squad:l,selected:l.code===t,onClick:()=>a(l.code)},l.code))]})}function HT(n){const t=Math.floor(n/3600),a=Math.floor(n%3600/60),l=n%60,o=c=>c.toString().padStart(2,"0");return t>0?`${t}h ${o(a)}m ${o(l)}s`:`${a}m ${o(l)}s`}function jT({state:n}){const[t,a]=G.useState(0);return G.useEffect(()=>{if(!(n!=null&&n.startedAt)||n.status!=="running"){a(0);return}const l=new Date(n.startedAt).getTime(),o=()=>a(Math.floor((Date.now()-l)/1e3));o();const c=setInterval(o,1e3);return()=>clearInterval(c)},[n==null?void 0:n.startedAt,n==null?void 0:n.status]),H.jsx("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",height:"var(--statusbar-height)",padding:"0 var(--sp-4)",background:"var(--surface-1)",borderTop:"1px solid var(--border-subtle)",fontFamily:"var(--font-mono)",fontSize:"0.7rem",color:"var(--text-muted)"},children:n?H.jsxs(H.Fragment,{children:[H.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--sp-3)"},children:[H.jsx("span",{style:{display:"inline-block",width:6,height:6,borderRadius:"50%",background:n.status==="running"?"var(--status-active)":n.status==="checkpoint"?"var(--status-warning)":"var(--status-idle)",boxShadow:n.status==="running"?"0 0 8px var(--status-active-glow)":"none",animation:n.status==="running"?"statusPulse 2s ease-in-out infinite":"none"}}),H.jsxs("span",{style:{color:"var(--text-secondary)"},children:["Step ",n.step.current,"/",n.step.total]}),H.jsx("span",{style:{color:"var(--border-strong)"},children:"│"}),H.jsx("span",{children:n.step.label})]}),H.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--sp-3)"},children:[n.handoff&&H.jsxs("span",{style:{color:"var(--accent)"},children:[n.handoff.from," → ",n.handoff.to]}),n.status==="running"&&H.jsx("span",{style:{color:"var(--text-secondary)"},children:HT(t)})]})]}):H.jsxs(H.Fragment,{children:[H.jsx("span",{children:"Ready"}),H.jsx("span",{children:"ExpxAgents Mission Control"})]})})}let My=null;function GT(n){My=n}function YT(n,t){My&&My(n,t)}let Ry=null;function qT(n){Ry=n}function LT(n,t){Ry&&Ry(n,t)}const Ep=32,Ml=96,nu=64,Yt={floor:13158600,floorHighlight:14211288,floorGrout:12105912,wall:15261904,wallTrim:11577496,baseboard:7035464,desk:15263976,deskTop:16119285,deskShadow:13684944,deskLeg:1710618,deskEdge:14737632,monitor:2236976,monitorScreen:1981020,monitorScreenGlow:2773120,monitorStand:3355456,keyboard:3355456,keyboardKey:4473941,chairSeat:2899536,chairBack:3426654,chairBase:4473924,chairWheel:3355443,plant:5025616,plantDark:3706428,plantLight:6732650,pot:9133628,potRim:10515018,soil:4863264,bookshelf:8020808,bookshelfEdge:9139029,bookColors:[15022389,2001125,4431943,16750592,9315498,35195,16635957],rug:6044974,rugPattern:8016448,rugBorder:4861472},zy=[5227511,5025616,16750592,15022389,9315498,16771899],XT={idle:8947848,working:5025616,delivering:5227511,done:5025616,checkpoint:16750592},pa={counter:4073251,counterTop:6111287,machine:3622735,machineTop:4545124,machineLight:5025616,cup:14142664,cupShadow:12364452,saucer:14735052,sink:7901340,faucet:11583173,menu:5125166},vi={table:6111287,tableTop:7162945,tableEdge:5125166,tableLeg:4073251,chair:3622735,chairSeat:4545124,chairBack:5533306,carpet:2503224,carpetPattern:3030340,whiteboard:15527921,whiteboardFrame:7901340},vo={background:1713022,backgroundGlow:2635155,statusRunning:5025616,statusIdle:8947848,statusCheckpoint:16750592,statusCompleted:5025616},iu={floor:11579568,tile:11053224,grout:10066329,stripe:12632256},ja={floor:14477552,tile:12966120,tileGrout:11453652,wall:14740208,stall:11583173,stallDoor:9479342,sink:15527921,sinkBowl:16777215,mirror:11789820,mirrorFrame:7901340,toilet:16448250,toiletSeat:15658734,pipe:9479342},Ia={floor:6111287,carpet:5125166,carpetBorder:4073251,desk:4073251,deskTop:6111287,deskEdge:2890510,chair:1713022,chairSeat:2635155,window:8508666,windowFrame:5533306,windowSill:7901340,bookshelf:7162945,globe:4367861,nameplate:16766720},$c={wall:7901340,wallHighlight:10795204,doorFrame:6111287},qn={floor:16115411,tile:15259072,tileGrout:13942952,counter:6111287,counterTop:7951688,fridge:15527921,fridgeDoor:14737632,fridgeHandle:10395294,table:9268835,tableTop:10586239,chair:7162945,coffeeMaker:3622735,coffeeMakerLight:5025616,lamp:16766287},$a={floor:14142664,carpet:6323595,carpetBorder:4545124,sofa:5533306,sofaCushion:6323595,sofaArm:4545124,tv:2171169,tvScreen:2503224,tvStand:4342338,sideTable:7951688,magazine:15684432,magazineAlt:4367861},ir=480,_i=360,uo=400,Rn=60,xi=120,L0=120,Lv=160,Xv=120,Vv=160,VT=64,kT=80,QT=Ml+32,KT=nu+48,kv=2,e_=10,er=80;function np(n,t,a){const l=Math.max(0,Math.min(1,a));return n+(t-n)*l}function ZT(n){return n<.5?2*n*n:1-Math.pow(-2*n+2,2)/2}const JT=["nw","ne","sw","se"],FT={nw:"right",ne:"left",sw:"top",se:"top"};function Rp(n){const t=e_,a=Math.max(1,n),l={nw:0,ne:0,sw:0,se:0},o=[];for(let rt=0;rt<a;rt++){const gt=JT[rt%4];o.push({quadrant:gt,slot:l[gt]}),l[gt]++}const c=Math.max(1,l.nw),d=Math.max(1,l.ne),m=Math.max(1,l.sw),p=Math.max(1,l.se),g=Math.max(uo,xi),x=c*(_i+t),b=d*(_i+t),E=Math.max(x+g,b+xi),C=m*(_i+t),M=p*(_i+t),z=Math.max(Lv,Vv),R=Math.max(C+z+t,M+z+t),w=Math.max(ir,xi+t+uo),O=Math.max(ir,xi),U=Math.max(ir,L0),Y=Math.max(ir,Xv),k=Math.max(w,U),V=Math.max(O,Y),Z=t+k+t+Rn+t+V+t,F=t+E+t+Rn+t+R+t,q={x:t+k+t,y:t,width:Rn,height:F-2*t},$={x:t,y:t+E+t,width:Z-2*t,height:Rn},et={x:q.x+q.width/2,y:$.y+$.height/2},ct={x:q.x-t-uo,y:$.y-t-uo,width:uo,height:uo},vt={x:ct.x-t-xi,y:$.y-t-xi,width:xi,height:xi},dt={x:q.x+Rn+t,y:$.y-t-xi,width:xi,height:xi},St={x:q.x-t-L0,y:$.y+Rn+t+m*(_i+t),width:L0,height:Lv},j={x:q.x+Rn+t,y:$.y+Rn+t+p*(_i+t),width:Xv,height:Vv},Q=[],ot={};for(let rt=0;rt<a;rt++){const{quadrant:gt,slot:B}=o[rt],J=FT[gt];let tt;gt==="nw"?tt={x:q.x-t-ir,y:ct.y-t-(B+1)*_i-B*t}:gt==="ne"?tt={x:q.x+Rn+t,y:dt.y-t-(B+1)*_i-B*t}:gt==="sw"?tt={x:q.x-t-ir,y:$.y+Rn+t+B*(_i+t)}:tt={x:q.x+Rn+t,y:$.y+Rn+t+B*(_i+t)},Q.push({origin:tt,width:ir,height:_i,quadrant:gt,doorSide:J}),J==="right"||J==="left"?ot[`squad-${rt}`]={x:q.x+Rn/2,y:tt.y+_i/2}:ot[`squad-${rt}`]={x:tt.x+ir/2,y:$.y+Rn/2}}return ot.ceo={x:q.x+Rn/2,y:ct.y+uo/2},ot["bathroom-male"]={x:vt.x+xi/2,y:$.y+Rn/2},ot["bathroom-female"]={x:dt.x+xi/2,y:$.y+Rn/2},ot.kitchen={x:q.x+Rn/2,y:St.y+St.height/2},ot["rest-area"]={x:q.x+Rn/2,y:j.y+j.height/2},{totalWidth:Z,totalHeight:F,squadOrigins:Q,ceoOffice:ct,corridorH:$,corridorV:q,bathroomMale:vt,bathroomFemale:dt,kitchen:St,restArea:j,doorPoints:ot,corridorHub:et}}function Ic(n,t,a,l){const o=n%kv,c=Math.floor(n/kv);return{x:t.x+VT+o*QT,y:t.y+kT+c*KT}}function id(n,t,a){return{x:n.x+t-80,y:n.y+a-80}}function n_(n,t,a){return{x:n.x+t-160,y:n.y+Math.floor(a/2)}}function WT(n,t){const a=t==="male"?n.bathroomMale:n.bathroomFemale;return{x:a.x+a.width/2,y:a.y+a.height/2}}function PT(n){return{x:n.kitchen.x+n.kitchen.width/2,y:n.kitchen.y+n.kitchen.height/2}}function IT(n){return{x:n.restArea.x+n.restArea.width/2,y:n.restArea.y+n.restArea.height/2}}function $T(n){const t=n.corridorV;if(t.height>0&&Math.random()<.5)return{x:t.x+10+Math.random()*Math.max(0,t.width-20),y:t.y+10+Math.random()*Math.max(0,t.height-20)};const a=n.corridorH;return{x:a.x+20+Math.random()*Math.max(0,a.width-40),y:a.y+10+Math.random()*Math.max(0,a.height-20)}}function Qv(n,t){const a=t.corridorH;return n.x>=a.x&&n.x<=a.x+a.width&&n.y>=a.y&&n.y<=a.y+a.height}function Kv(n,t){const a=t.corridorV;return n.x>=a.x&&n.x<=a.x+a.width&&n.y>=a.y&&n.y<=a.y+a.height}function t3(n,t){if(n==="ceo"){const l=t.ceoOffice;return{x:l.x+l.width/2,y:l.y+l.height/2}}if(n==="bathroom-male"){const l=t.bathroomMale;return{x:l.x+l.width/2,y:l.y+l.height/2}}if(n==="bathroom-female"){const l=t.bathroomFemale;return{x:l.x+l.width/2,y:l.y+l.height/2}}if(n==="kitchen"){const l=t.kitchen;return{x:l.x+l.width/2,y:l.y+l.height/2}}if(n==="rest-area"){const l=t.restArea;return{x:l.x+l.width/2,y:l.y+l.height/2}}const a=n.match(/^squad-(\d+)$/);if(a){const l=parseInt(a[1],10),o=t.squadOrigins[l];if(o)return{x:o.origin.x+o.width/2,y:o.origin.y+o.height/2}}return t.corridorHub}function ld(n,t,a,l){const o=l.doorPoints[t],c=l.doorPoints[a];if(!o||!c)return[n];const d=l.corridorHub,m=t3(a,l),p=Qv(o,l)&&Qv(c,l),g=Kv(o,l)&&Kv(c,l);return p||g?[n,o,c,m]:[n,o,d,c,m]}function ap(n,t){const a=n.x-t.x,l=n.y-t.y;return Math.sqrt(a*a+l*l)}const Zv=500,Jv=50;let Fv=0;function Wv(n){return{idle:"idle",working:"working",delivering:"walking",done:"idle",checkpoint:"checkpoint"}[n]??"idle"}const We=cf(n=>({rooms:[],activeRoom:null,bubbles:{},activityLog:{},checkpoints:{},agentVisuals:{},appendBubble:(t,a,l)=>{const o=`${t}:${a}`;n(c=>{var p;let m=(((p=c.bubbles[o])==null?void 0:p.text)??"")+l;return m.length>Zv&&(m=m.slice(m.length-Zv)),{bubbles:{...c.bubbles,[o]:{text:m,updatedAt:Date.now()}}}})},clearBubble:(t,a)=>{const l=`${t}:${a}`;n(o=>{const{[l]:c,...d}=o.bubbles;return{bubbles:d}})},clearAllBubbles:()=>n({bubbles:{}}),addActivity:(t,a,l)=>{const c={id:++Fv,agentName:a,action:l,timestamp:Date.now()};n(d=>{var x;const p=[...((x=d.activityLog[t])==null?void 0:x.entries)??[],c],g=p.length>Jv?p.slice(p.length-Jv):p;return{activityLog:{...d.activityLog,[t]:{entries:g}}}})},setCheckpoint:(t,a,l,o)=>n(c=>({checkpoints:{...c.checkpoints,[t]:{agentId:a,agentName:l,question:o}}})),clearCheckpoint:t=>n(a=>{const{[t]:l,...o}=a.checkpoints;return{checkpoints:o}}),setActiveRoom:t=>n({activeRoom:t}),syncRooms:t=>n(a=>{const l=t;let o;return l.length===0?o=null:a.activeRoom===null||!l.includes(a.activeRoom)?o=l[0]:o=a.activeRoom,{rooms:l,activeRoom:o}}),setAgents:(t,a)=>n(l=>{const o=l.agentVisuals[t]??[],c=new Map(o.map(C=>[C.id,C])),d={x:0,y:0},m=Rp(l.rooms.length),p=l.rooms.indexOf(t),g=m.squadOrigins[p],x=(g==null?void 0:g.width)??480,b=(g==null?void 0:g.height)??360,E=a.map((C,M)=>{const z=c.get(C.id);if(z){const O=C.status?Wv(C.status):z.status,U=O!==z.status;let Y=z.targetPosition;return U&&(O==="working"||O==="checkpoint"?Y=Ic(M,d):Y=id(d,x,b)),{...z,name:C.name,deskIndex:M,status:O,targetPosition:Y}}const R=C.status?Wv(C.status):"idle",w=R==="working"||R==="checkpoint"?Ic(M,d):id(d,x,b);return{id:C.id,name:C.name,colorIndex:M%6,status:R,deskIndex:M,position:w,targetPosition:null}});return{agentVisuals:{...l.agentVisuals,[t]:E}}}),setAgentStatus:(t,a,l)=>n(o=>{const c=o.agentVisuals[t];if(!c)return o;const d={x:0,y:0},m=Rp(o.rooms.length),p=o.rooms.indexOf(t),g=m.squadOrigins[p],x=(g==null?void 0:g.width)??480,b=(g==null?void 0:g.height)??360,E=c.map(C=>{if(C.id!==a)return C;let M;return l==="working"||l==="checkpoint"?M=Ic(C.deskIndex,d):M=id(d,x,b),{...C,status:l,targetPosition:M}});return{agentVisuals:{...o.agentVisuals,[t]:E}}}),reset:()=>{Fv=0,n({rooms:[],activeRoom:null,bubbles:{},activityLog:{},checkpoints:{},agentVisuals:{}})}})),kM={background:"#0a0a0f",grid:"rgba(0, 200, 255, 0.06)",orbStandby:"#1a3a5c",orbListening:"#00c8ff",orbProcessing:"#ff8c00",orbSpeaking:"#00ff88",panelBg:"rgba(0, 200, 255, 0.08)",panelBorder:"rgba(0, 200, 255, 0.25)",textPrimary:"#e0e8f0",textAccent:"#00c8ff",textJarvis:"#00ff88",particleStart:"#00c8ff"},e3={orbRadius:60,orbRingWidth:3,gridSpacing:40,particleCount:65,particleMinRadius:1,particleMaxRadius:3,waveformBars:32,waveformMaxHeight:40,panelWidth:180,panelPadding:12,transcriptLineHeight:20,standbyTimeoutMs:15e3,ttsSplitLength:300};let a_=0;function n3(){return`jarvis-${Date.now()}-${++a_}`}let ms=null;const X0=cf((n,t)=>({mode:"STANDBY",messages:[],streamingText:"",selectedSquad:null,userName:"",setMode:a=>n({mode:a}),addMessage:(a,l)=>{const o={id:n3(),role:a,content:l,createdAt:new Date().toISOString()};n(c=>({messages:[...c.messages,o]}))},appendChunk:a=>{n(l=>({streamingText:l.streamingText+a}))},finalizeMessage:a=>{const{streamingText:l}=t(),o={id:a,role:"assistant",content:l,createdAt:new Date().toISOString()};n(c=>({messages:[...c.messages,o],streamingText:""}))},selectSquad:a=>n({selectedSquad:a}),setUserName:a=>n({userName:a}),startStandbyTimer:()=>{ms&&clearTimeout(ms),ms=setTimeout(()=>{n({mode:"STANDBY"}),ms=null},e3.standbyTimeoutMs)},resetStandbyTimer:()=>{t().startStandbyTimer()},clearStandbyTimer:()=>{ms&&(clearTimeout(ms),ms=null)},reset:()=>{ms&&(clearTimeout(ms),ms=null),a_=0,n({mode:"STANDBY",messages:[],streamingText:"",selectedSquad:null,userName:""})}})),vs=cf((n,t)=>({jobs:[],loading:!1,fetchJobs:async()=>{n({loading:!0});try{const a=await fetch("/api/scheduler",{credentials:"include"});if(a.ok){const l=await a.json();n({jobs:l.data,loading:!1})}else n({loading:!1})}catch{n({loading:!1})}},pauseJob:async a=>{await fetch(`/api/scheduler/${a}/pause`,{method:"POST",credentials:"include"}),t().fetchJobs()},resumeJob:async a=>{await fetch(`/api/scheduler/${a}/resume`,{method:"POST",credentials:"include"}),t().fetchJobs()},triggerJob:async a=>{await fetch(`/api/scheduler/${a}/trigger`,{method:"POST",credentials:"include"})},updateJobStatus:(a,l)=>{n(o=>({jobs:o.jobs.map(c=>c.squad_name===a?{...c,status:l}:c)}))}})),a3=[{to:"/office",label:"Office",icon:"⬡"},{to:"/chat",label:"Chat",icon:"◈"},{to:"/kanban",label:"Kanban",icon:"▦"},{to:"/scheduler",label:"Scheduler",icon:"⏣"},{to:"/settings",label:"Settings",icon:"⚙"}];function i3(){const n=zl(B=>B.user),t=zl(B=>B.isAuthenticated),a=zl(B=>B.loading),l=zl(B=>B.logout),o=zl(B=>B.checkAuth),c=qp(),d=Ol(),m=d.pathname==="/office"||d.pathname==="/",p=d.pathname==="/jarvis",g=ti(B=>B.squads),x=ti(B=>B.selectedSquad),b=ti(B=>x?B.activeStates[x]:null),E=ti(B=>B.fetchSquads),C=ti(B=>B.selectSquad),M=ti(B=>B.setSquadState),z=ti(B=>B.clearSquadState),R=G.useCallback((B,J)=>{M(B,J);const tt=We.getState();tt.rooms.includes(B)||tt.syncRooms([...tt.rooms,B]),J.status!=="checkpoint"&&tt.clearCheckpoint(B),J.agents&&tt.setAgents(B,J.agents.map(pt=>({id:pt.id,name:pt.name,status:pt.status})))},[M]),w=G.useCallback(B=>{z(B);const J=We.getState(),tt=J.agentVisuals[B];if(tt)for(const pt of tt)J.setAgentStatus(B,pt.id,"idle")},[z]),O=G.useCallback((B,J)=>{Fi.getState().setConversationId(J)},[]),U=G.useCallback((B,J,tt)=>{if(B==="_jarvis"){X0.getState().appendChunk(tt);return}const pt=Fi.getState();pt.streaming||pt.startStreaming(),pt.appendChunk(tt)},[]),Y=G.useCallback((B,J,tt)=>{if(B==="_jarvis"){X0.getState().finalizeMessage(tt);return}Fi.getState().finishStreaming(tt)},[]),k=G.useCallback((B,J)=>{if(B==="_jarvis"){X0.getState().setMode("LISTENING");return}Fi.getState().setError(J)},[]),V=G.useCallback((B,J,tt,pt,bt)=>{Fi.getState().addAgentDm({agentId:tt,agentName:pt,content:bt})},[]),Z=G.useCallback((B,J,tt,pt)=>{We.getState().appendBubble(B,J,pt)},[]),F=G.useCallback((B,J,tt,pt,bt)=>{We.getState().addActivity(B,tt,`started "${bt}"`),We.getState().setAgentStatus(B,J,"working")},[]),q=G.useCallback((B,J,tt,pt,bt)=>{We.getState().addActivity(B,tt,`completed "${bt}"`),We.getState().setAgentStatus(B,J,"idle")},[]),$=G.useCallback((B,J,tt,pt)=>{We.getState().setCheckpoint(B,J,tt,pt),We.getState().setAgentStatus(B,J,"checkpoint")},[]),et=G.useCallback(()=>{We.getState().clearAllBubbles()},[]),ct=G.useCallback((B,J,tt)=>{vs.getState().fetchJobs()},[]),vt=G.useCallback((B,J,tt,pt)=>{vs.getState().fetchJobs()},[]),dt=G.useCallback((B,J,tt,pt,bt)=>{vs.getState().fetchJobs()},[]),St=G.useCallback((B,J)=>{vs.getState().updateJobStatus(B,J)},[]),{subscribe:j,unsubscribe:Q,sendChat:ot,sendCheckpointResponse:rt}=wT({onSquadState:R,onSquadInactive:w,onChatConversationCreated:O,onChatChunk:U,onChatDone:Y,onChatError:k,onChatAgentDm:V,onAgentOutputChunk:Z,onAgentStepStart:F,onAgentStepComplete:q,onSquadCheckpoint:$,onReconnect:et,onScheduleStarted:ct,onScheduleDone:vt,onScheduleError:dt,onScheduleStatusChanged:St});G.useEffect(()=>{GT(ot)},[ot]),G.useEffect(()=>{qT(rt)},[rt]),G.useEffect(()=>{E().then(()=>{const{squads:B}=ti.getState();if(B.length>0){const J=We.getState(),tt=B.map(At=>At.code),pt=J.rooms,bt=[...new Set([...pt,...tt])];J.syncRooms(bt);for(const At of B)!J.agentVisuals[At.code]&&At.agents&&At.agents.length>0&&J.setAgents(At.code,At.agents.map(Ot=>({id:Ot.id,name:Ot.name,status:"idle"})))}})},[E]);const gt=We(B=>B.rooms);return G.useEffect(()=>{for(const B of gt)j(B);return()=>{for(const B of gt)Q(B)}},[gt,j,Q]),G.useEffect(()=>{if(p)return j("_jarvis"),()=>Q("_jarvis")},[p,j,Q]),G.useEffect(()=>{t||o()},[]),G.useEffect(()=>{!a&&!t&&c("/login",{state:{from:d.pathname}})},[a,t,c,d.pathname]),p?H.jsx(Hv,{}):H.jsxs("div",{className:"noise-bg",style:{display:"flex",flexDirection:"column",height:"100vh",background:"var(--surface-0)",color:"var(--text-primary)"},children:[H.jsxs("header",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",height:"var(--header-height)",padding:"0 var(--sp-4)",background:"var(--surface-1)",borderBottom:"1px solid var(--border-subtle)",position:"relative",zIndex:10},children:[H.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--sp-3)"},children:[H.jsx("div",{style:{width:28,height:28,borderRadius:"var(--radius-sm)",background:"linear-gradient(135deg, var(--accent), var(--accent-dim))",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"0.8rem",fontWeight:700,color:"var(--text-inverse)",boxShadow:"0 0 12px var(--accent-glow-strong)"},children:"EX"}),H.jsx("span",{style:{fontFamily:"var(--font-display)",fontWeight:700,fontSize:"0.95rem",color:"var(--text-primary)",letterSpacing:"-0.02em"},children:"ExpxAgents"}),H.jsx("span",{style:{fontFamily:"var(--font-mono)",fontSize:"0.6rem",color:"var(--text-muted)",background:"var(--surface-3)",padding:"2px 6px",borderRadius:"var(--radius-xs)",letterSpacing:"0.05em"},children:"MISSION CONTROL"})]}),H.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--sp-4)"},children:[H.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--sp-2)",fontFamily:"var(--font-mono)",fontSize:"0.75rem",color:"var(--text-secondary)"},children:[H.jsx("span",{style:{display:"inline-block",width:6,height:6,borderRadius:"50%",background:"var(--status-active)",boxShadow:"0 0 8px var(--status-active-glow)",animation:"statusPulse 2s ease-in-out infinite"}}),H.jsx("span",{children:n==null?void 0:n.username})]}),H.jsx("button",{onClick:l,className:"btn-ghost",style:{background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontFamily:"var(--font-display)",fontSize:"0.75rem",padding:"4px 8px",borderRadius:"var(--radius-xs)",transition:"color var(--duration-fast) var(--ease-out)"},onMouseEnter:B=>B.currentTarget.style.color="var(--status-error)",onMouseLeave:B=>B.currentTarget.style.color="var(--text-muted)",children:"Logout"})]})]}),H.jsxs("div",{style:{display:"flex",flex:1,overflow:"hidden"},children:[H.jsxs("aside",{style:{width:"var(--sidebar-width)",background:"var(--surface-1)",borderRight:"1px solid var(--border-subtle)",display:"flex",flexDirection:"column",overflowY:"auto"},children:[!m&&H.jsxs(H.Fragment,{children:[H.jsx(UT,{squads:g,selectedSquad:x,onSelect:C}),H.jsx("div",{style:{height:1,margin:"0 var(--sp-3)",background:"var(--border-subtle)"}})]}),H.jsxs("nav",{style:{padding:"var(--sp-3)",display:"flex",flexDirection:"column",gap:"var(--sp-1)",flex:1},children:[H.jsx("div",{style:{fontFamily:"var(--font-mono)",fontSize:"0.6rem",color:"var(--text-muted)",textTransform:"uppercase",letterSpacing:"0.1em",padding:"0 var(--sp-2)",marginBottom:"var(--sp-1)"},children:"Navigation"}),a3.map(B=>H.jsxs($x,{to:B.to,style:({isActive:J})=>({display:"flex",alignItems:"center",gap:"var(--sp-2)",padding:"8px 10px",borderRadius:"var(--radius-sm)",textDecoration:"none",fontSize:"0.82rem",fontWeight:J?600:400,color:J?"var(--accent)":"var(--text-secondary)",background:J?"var(--accent-glow)":"transparent",border:J?"1px solid rgba(0, 200, 255, 0.12)":"1px solid transparent",transition:"all var(--duration-fast) var(--ease-out)"}),children:[H.jsx("span",{style:{fontFamily:"var(--font-mono)",fontSize:"0.85rem",width:20,textAlign:"center",opacity:.7},children:B.icon}),B.label]},B.to))]}),H.jsxs("div",{style:{padding:"var(--sp-3)",borderTop:"1px solid var(--border-subtle)",fontFamily:"var(--font-mono)",fontSize:"0.65rem",color:"var(--text-muted)",display:"flex",justifyContent:"space-between"},children:[H.jsxs("span",{children:[g.length," squad",g.length!==1?"s":""]}),H.jsx("span",{children:"v0.1.0"})]})]}),H.jsx("main",{className:"grid-bg",style:{flex:1,overflow:"auto",position:"relative"},children:H.jsx(Hv,{})})]}),H.jsx(jT,{state:b})]})}function l3(){var E;const[n,t]=G.useState(""),[a,l]=G.useState(""),o=zl(C=>C.login),c=zl(C=>C.loading),d=zl(C=>C.error),m=zl(C=>C.isAuthenticated),p=qp(),x=((E=Ol().state)==null?void 0:E.from)||"/";G.useEffect(()=>{m&&p(x,{replace:!0})},[m,p,x]);const b=C=>{C.preventDefault(),o(n,a)};return H.jsx("div",{className:"noise-bg grid-bg",style:{display:"flex",alignItems:"center",justifyContent:"center",minHeight:"100vh",background:"var(--surface-0)"},children:H.jsxs("div",{style:{animation:"fadeInUp 0.6s var(--ease-out) both",width:360},children:[H.jsxs("div",{style:{textAlign:"center",marginBottom:"var(--sp-8)"},children:[H.jsx("div",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:48,height:48,borderRadius:"var(--radius-md)",background:"linear-gradient(135deg, var(--accent), var(--accent-dim))",fontSize:"1.1rem",fontWeight:800,color:"var(--text-inverse)",boxShadow:"var(--shadow-glow-strong)",marginBottom:"var(--sp-4)"},children:"EX"}),H.jsx("h1",{style:{fontFamily:"var(--font-display)",fontWeight:700,fontSize:"1.4rem",color:"var(--text-primary)",letterSpacing:"-0.02em",marginBottom:"var(--sp-1)"},children:"ExpxAgents"}),H.jsx("p",{style:{fontFamily:"var(--font-mono)",fontSize:"0.65rem",color:"var(--text-muted)",textTransform:"uppercase",letterSpacing:"0.15em"},children:"Mission Control"})]}),H.jsxs("form",{onSubmit:b,className:"glass",style:{padding:"var(--sp-6)",borderRadius:"var(--radius-lg)",boxShadow:"var(--shadow-lg)"},children:[d&&H.jsx("div",{style:{padding:"var(--sp-2) var(--sp-3)",marginBottom:"var(--sp-4)",borderRadius:"var(--radius-sm)",background:"var(--status-error-glow)",border:"1px solid rgba(255, 64, 112, 0.2)",color:"var(--status-error)",fontSize:"0.8rem",fontFamily:"var(--font-mono)"},children:d}),H.jsxs("div",{style:{marginBottom:"var(--sp-3)"},children:[H.jsx("label",{style:{display:"block",fontFamily:"var(--font-mono)",fontSize:"0.65rem",color:"var(--text-muted)",textTransform:"uppercase",letterSpacing:"0.08em",marginBottom:"var(--sp-1)"},children:"Username"}),H.jsx("input",{type:"text",className:"input",placeholder:"Enter username",value:n,onChange:C=>t(C.target.value),autoFocus:!0})]}),H.jsxs("div",{style:{marginBottom:"var(--sp-5)"},children:[H.jsx("label",{style:{display:"block",fontFamily:"var(--font-mono)",fontSize:"0.65rem",color:"var(--text-muted)",textTransform:"uppercase",letterSpacing:"0.08em",marginBottom:"var(--sp-1)"},children:"Password"}),H.jsx("input",{type:"password",className:"input",placeholder:"Enter password",value:a,onChange:C=>l(C.target.value)})]}),H.jsx("button",{type:"submit",disabled:c,className:"btn btn-accent",style:{width:"100%",padding:"var(--sp-3)",fontSize:"0.85rem",cursor:c?"wait":"pointer",opacity:c?.7:1},children:c?"Authenticating...":"Access Mission Control"})]}),H.jsx("p",{style:{textAlign:"center",marginTop:"var(--sp-4)",fontFamily:"var(--font-mono)",fontSize:"0.6rem",color:"var(--text-muted)"},children:"AI Squad Orchestration Platform"})]})})}function i_(n,t,a){if(!n)return;if(a(n)===!0)return n;let l=n.child;for(;l;){const o=i_(l,t,a);if(o)return o;l=l.sibling}}function l_(n){try{return Object.defineProperties(n,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return n}}const sg=l_(G.createContext(null));let s_=class extends G.Component{render(){return G.createElement(sg.Provider,{value:this._reactInternals},this.props.children)}};function s3(){const n=G.useContext(sg);if(n===null)throw new Error("its-fine: useFiber must be called within a <FiberProvider />!");const t=G.useId();return G.useMemo(()=>{for(const a of[n,n==null?void 0:n.alternate]){if(!a)continue;const l=i_(a,!1,o=>{let c=o.memoizedState;for(;c;){if(c.memoizedState===t)return!0;c=c.next}});if(l)return l}},[n,t])}const r3=Symbol.for("react.context"),u3=n=>n!==null&&typeof n=="object"&&"$$typeof"in n&&n.$$typeof===r3;function o3(){const n=s3(),[t]=G.useState(()=>new Map);t.clear();let a=n;for(;a;){const l=a.type;u3(l)&&l!==sg&&!t.has(l)&&t.set(l,G.use(l_(l))),a=a.return}return t}function c3(){const n=o3();return G.useMemo(()=>Array.from(n.keys()).reduce((t,a)=>l=>G.createElement(t,null,G.createElement(a.Provider,{...l,value:n.get(a)})),t=>G.createElement(s_,{...t})),[n])}var Wt=(n=>(n.Application="application",n.WebGLPipes="webgl-pipes",n.WebGLPipesAdaptor="webgl-pipes-adaptor",n.WebGLSystem="webgl-system",n.WebGPUPipes="webgpu-pipes",n.WebGPUPipesAdaptor="webgpu-pipes-adaptor",n.WebGPUSystem="webgpu-system",n.CanvasSystem="canvas-system",n.CanvasPipesAdaptor="canvas-pipes-adaptor",n.CanvasPipes="canvas-pipes",n.Asset="asset",n.LoadParser="load-parser",n.ResolveParser="resolve-parser",n.CacheParser="cache-parser",n.DetectionParser="detection-parser",n.MaskEffect="mask-effect",n.BlendMode="blend-mode",n.TextureSource="texture-source",n.Environment="environment",n.ShapeBuilder="shape-builder",n.Batcher="batcher",n))(Wt||{});const wy=n=>{if(typeof n=="function"||typeof n=="object"&&n.extension){if(!n.extension)throw new Error("Extension class must have an extension object");n={...typeof n.extension!="object"?{type:n.extension}:n.extension,ref:n}}if(typeof n=="object")n={...n};else throw new Error("Invalid extension type");return typeof n.type=="string"&&(n.type=[n.type]),n},ip=(n,t)=>wy(n).priority??t,Ie={_addHandlers:{},_removeHandlers:{},_queue:{},remove(...n){return n.map(wy).forEach(t=>{t.type.forEach(a=>{var l,o;return(o=(l=this._removeHandlers)[a])==null?void 0:o.call(l,t)})}),this},add(...n){return n.map(wy).forEach(t=>{t.type.forEach(a=>{var c,d;const l=this._addHandlers,o=this._queue;l[a]?(d=l[a])==null||d.call(l,t):(o[a]=o[a]||[],(c=o[a])==null||c.push(t))})}),this},handle(n,t,a){var d;const l=this._addHandlers,o=this._removeHandlers;if(l[n]||o[n])throw new Error(`Extension type ${n} already has a handler`);l[n]=t,o[n]=a;const c=this._queue;return c[n]&&((d=c[n])==null||d.forEach(m=>t(m)),delete c[n]),this},handleByMap(n,t){return this.handle(n,a=>{a.name&&(t[a.name]=a.ref)},a=>{a.name&&delete t[a.name]})},handleByNamedList(n,t,a=-1){return this.handle(n,l=>{t.findIndex(c=>c.name===l.name)>=0||(t.push({name:l.name,value:l.ref}),t.sort((c,d)=>ip(d.value,a)-ip(c.value,a)))},l=>{const o=t.findIndex(c=>c.name===l.name);o!==-1&&t.splice(o,1)})},handleByList(n,t,a=-1){return this.handle(n,l=>{t.includes(l.ref)||(t.push(l.ref),t.sort((o,c)=>ip(c,a)-ip(o,a)))},l=>{const o=t.indexOf(l.ref);o!==-1&&t.splice(o,1)})},mixin(n,...t){for(const a of t)Object.defineProperties(n.prototype,Object.getOwnPropertyDescriptors(a))}},f3={extension:{type:Wt.Environment,name:"browser",priority:-1},test:()=>!0,load:async()=>{await Pc(()=>import("./browserAll-BfSje24U.js"),__vite__mapDeps([0,1]))}},h3={extension:{type:Wt.Environment,name:"webworker",priority:0},test:()=>typeof self<"u"&&self.WorkerGlobalScope!==void 0,load:async()=>{await Pc(()=>import("./webworkerAll-CvtRB1R4.js"),[])}};class In{constructor(t,a,l){this._x=a||0,this._y=l||0,this._observer=t}clone(t){return new In(t??this._observer,this._x,this._y)}set(t=0,a=t){return(this._x!==t||this._y!==a)&&(this._x=t,this._y=a,this._observer._onUpdate(this)),this}copyFrom(t){return(this._x!==t.x||this._y!==t.y)&&(this._x=t.x,this._y=t.y,this._observer._onUpdate(this)),this}copyTo(t){return t.set(this._x,this._y),t}equals(t){return t.x===this._x&&t.y===this._y}toString(){return`[pixi.js/math:ObservablePoint x=${this._x} y=${this._y} scope=${this._observer}]`}get x(){return this._x}set x(t){this._x!==t&&(this._x=t,this._observer._onUpdate(this))}get y(){return this._y}set y(t){this._y!==t&&(this._y=t,this._observer._onUpdate(this))}}var V0={exports:{}},Pv;function d3(){return Pv||(Pv=1,(function(n){var t=Object.prototype.hasOwnProperty,a="~";function l(){}Object.create&&(l.prototype=Object.create(null),new l().__proto__||(a=!1));function o(p,g,x){this.fn=p,this.context=g,this.once=x||!1}function c(p,g,x,b,E){if(typeof x!="function")throw new TypeError("The listener must be a function");var C=new o(x,b||p,E),M=a?a+g:g;return p._events[M]?p._events[M].fn?p._events[M]=[p._events[M],C]:p._events[M].push(C):(p._events[M]=C,p._eventsCount++),p}function d(p,g){--p._eventsCount===0?p._events=new l:delete p._events[g]}function m(){this._events=new l,this._eventsCount=0}m.prototype.eventNames=function(){var g=[],x,b;if(this._eventsCount===0)return g;for(b in x=this._events)t.call(x,b)&&g.push(a?b.slice(1):b);return Object.getOwnPropertySymbols?g.concat(Object.getOwnPropertySymbols(x)):g},m.prototype.listeners=function(g){var x=a?a+g:g,b=this._events[x];if(!b)return[];if(b.fn)return[b.fn];for(var E=0,C=b.length,M=new Array(C);E<C;E++)M[E]=b[E].fn;return M},m.prototype.listenerCount=function(g){var x=a?a+g:g,b=this._events[x];return b?b.fn?1:b.length:0},m.prototype.emit=function(g,x,b,E,C,M){var z=a?a+g:g;if(!this._events[z])return!1;var R=this._events[z],w=arguments.length,O,U;if(R.fn){switch(R.once&&this.removeListener(g,R.fn,void 0,!0),w){case 1:return R.fn.call(R.context),!0;case 2:return R.fn.call(R.context,x),!0;case 3:return R.fn.call(R.context,x,b),!0;case 4:return R.fn.call(R.context,x,b,E),!0;case 5:return R.fn.call(R.context,x,b,E,C),!0;case 6:return R.fn.call(R.context,x,b,E,C,M),!0}for(U=1,O=new Array(w-1);U<w;U++)O[U-1]=arguments[U];R.fn.apply(R.context,O)}else{var Y=R.length,k;for(U=0;U<Y;U++)switch(R[U].once&&this.removeListener(g,R[U].fn,void 0,!0),w){case 1:R[U].fn.call(R[U].context);break;case 2:R[U].fn.call(R[U].context,x);break;case 3:R[U].fn.call(R[U].context,x,b);break;case 4:R[U].fn.call(R[U].context,x,b,E);break;default:if(!O)for(k=1,O=new Array(w-1);k<w;k++)O[k-1]=arguments[k];R[U].fn.apply(R[U].context,O)}}return!0},m.prototype.on=function(g,x,b){return c(this,g,x,b,!1)},m.prototype.once=function(g,x,b){return c(this,g,x,b,!0)},m.prototype.removeListener=function(g,x,b,E){var C=a?a+g:g;if(!this._events[C])return this;if(!x)return d(this,C),this;var M=this._events[C];if(M.fn)M.fn===x&&(!E||M.once)&&(!b||M.context===b)&&d(this,C);else{for(var z=0,R=[],w=M.length;z<w;z++)(M[z].fn!==x||E&&!M[z].once||b&&M[z].context!==b)&&R.push(M[z]);R.length?this._events[C]=R.length===1?R[0]:R:d(this,C)}return this},m.prototype.removeAllListeners=function(g){var x;return g?(x=a?a+g:g,this._events[x]&&d(this,x)):(this._events=new l,this._eventsCount=0),this},m.prototype.off=m.prototype.removeListener,m.prototype.addListener=m.prototype.on,m.prefixed=a,m.EventEmitter=m,n.exports=m})(V0)),V0.exports}var m3=d3();const _s=Hp(m3),p3=Math.PI*2,y3=180/Math.PI,g3=Math.PI/180;class ya{constructor(t=0,a=0){this.x=0,this.y=0,this.x=t,this.y=a}clone(){return new ya(this.x,this.y)}copyFrom(t){return this.set(t.x,t.y),this}copyTo(t){return t.set(this.x,this.y),t}equals(t){return t.x===this.x&&t.y===this.y}set(t=0,a=t){return this.x=t,this.y=a,this}toString(){return`[pixi.js/math:Point x=${this.x} y=${this.y}]`}static get shared(){return k0.x=0,k0.y=0,k0}}const k0=new ya;class le{constructor(t=1,a=0,l=0,o=1,c=0,d=0){this.array=null,this.a=t,this.b=a,this.c=l,this.d=o,this.tx=c,this.ty=d}fromArray(t){this.a=t[0],this.b=t[1],this.c=t[3],this.d=t[4],this.tx=t[2],this.ty=t[5]}set(t,a,l,o,c,d){return this.a=t,this.b=a,this.c=l,this.d=o,this.tx=c,this.ty=d,this}toArray(t,a){this.array||(this.array=new Float32Array(9));const l=a||this.array;return t?(l[0]=this.a,l[1]=this.b,l[2]=0,l[3]=this.c,l[4]=this.d,l[5]=0,l[6]=this.tx,l[7]=this.ty,l[8]=1):(l[0]=this.a,l[1]=this.c,l[2]=this.tx,l[3]=this.b,l[4]=this.d,l[5]=this.ty,l[6]=0,l[7]=0,l[8]=1),l}apply(t,a){a=a||new ya;const l=t.x,o=t.y;return a.x=this.a*l+this.c*o+this.tx,a.y=this.b*l+this.d*o+this.ty,a}applyInverse(t,a){a=a||new ya;const l=this.a,o=this.b,c=this.c,d=this.d,m=this.tx,p=this.ty,g=1/(l*d+c*-o),x=t.x,b=t.y;return a.x=d*g*x+-c*g*b+(p*c-m*d)*g,a.y=l*g*b+-o*g*x+(-p*l+m*o)*g,a}translate(t,a){return this.tx+=t,this.ty+=a,this}scale(t,a){return this.a*=t,this.d*=a,this.c*=t,this.b*=a,this.tx*=t,this.ty*=a,this}rotate(t){const a=Math.cos(t),l=Math.sin(t),o=this.a,c=this.c,d=this.tx;return this.a=o*a-this.b*l,this.b=o*l+this.b*a,this.c=c*a-this.d*l,this.d=c*l+this.d*a,this.tx=d*a-this.ty*l,this.ty=d*l+this.ty*a,this}append(t){const a=this.a,l=this.b,o=this.c,c=this.d;return this.a=t.a*a+t.b*o,this.b=t.a*l+t.b*c,this.c=t.c*a+t.d*o,this.d=t.c*l+t.d*c,this.tx=t.tx*a+t.ty*o+this.tx,this.ty=t.tx*l+t.ty*c+this.ty,this}appendFrom(t,a){const l=t.a,o=t.b,c=t.c,d=t.d,m=t.tx,p=t.ty,g=a.a,x=a.b,b=a.c,E=a.d;return this.a=l*g+o*b,this.b=l*x+o*E,this.c=c*g+d*b,this.d=c*x+d*E,this.tx=m*g+p*b+a.tx,this.ty=m*x+p*E+a.ty,this}setTransform(t,a,l,o,c,d,m,p,g){return this.a=Math.cos(m+g)*c,this.b=Math.sin(m+g)*c,this.c=-Math.sin(m-p)*d,this.d=Math.cos(m-p)*d,this.tx=t-(l*this.a+o*this.c),this.ty=a-(l*this.b+o*this.d),this}prepend(t){const a=this.tx;if(t.a!==1||t.b!==0||t.c!==0||t.d!==1){const l=this.a,o=this.c;this.a=l*t.a+this.b*t.c,this.b=l*t.b+this.b*t.d,this.c=o*t.a+this.d*t.c,this.d=o*t.b+this.d*t.d}return this.tx=a*t.a+this.ty*t.c+t.tx,this.ty=a*t.b+this.ty*t.d+t.ty,this}decompose(t){const a=this.a,l=this.b,o=this.c,c=this.d,d=t.pivot,m=-Math.atan2(-o,c),p=Math.atan2(l,a),g=Math.abs(m+p);return g<1e-5||Math.abs(p3-g)<1e-5?(t.rotation=p,t.skew.x=t.skew.y=0):(t.rotation=0,t.skew.x=m,t.skew.y=p),t.scale.x=Math.sqrt(a*a+l*l),t.scale.y=Math.sqrt(o*o+c*c),t.position.x=this.tx+(d.x*a+d.y*o),t.position.y=this.ty+(d.x*l+d.y*c),t}invert(){const t=this.a,a=this.b,l=this.c,o=this.d,c=this.tx,d=t*o-a*l;return this.a=o/d,this.b=-a/d,this.c=-l/d,this.d=t/d,this.tx=(l*this.ty-o*c)/d,this.ty=-(t*this.ty-a*c)/d,this}isIdentity(){return this.a===1&&this.b===0&&this.c===0&&this.d===1&&this.tx===0&&this.ty===0}identity(){return this.a=1,this.b=0,this.c=0,this.d=1,this.tx=0,this.ty=0,this}clone(){const t=new le;return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t}copyTo(t){return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t}copyFrom(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this}equals(t){return t.a===this.a&&t.b===this.b&&t.c===this.c&&t.d===this.d&&t.tx===this.tx&&t.ty===this.ty}toString(){return`[pixi.js:Matrix a=${this.a} b=${this.b} c=${this.c} d=${this.d} tx=${this.tx} ty=${this.ty}]`}static get IDENTITY(){return x3.identity()}static get shared(){return v3.identity()}}const v3=new le,x3=new le,fo=[1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1,0,1],ho=[0,1,1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1],mo=[0,-1,-1,-1,0,1,1,1,0,1,1,1,0,-1,-1,-1],po=[1,1,0,-1,-1,-1,0,1,-1,-1,0,1,1,1,0,-1],Dy=[],r_=[],lp=Math.sign;function _3(){for(let n=0;n<16;n++){const t=[];Dy.push(t);for(let a=0;a<16;a++){const l=lp(fo[n]*fo[a]+mo[n]*ho[a]),o=lp(ho[n]*fo[a]+po[n]*ho[a]),c=lp(fo[n]*mo[a]+mo[n]*po[a]),d=lp(ho[n]*mo[a]+po[n]*po[a]);for(let m=0;m<16;m++)if(fo[m]===l&&ho[m]===o&&mo[m]===c&&po[m]===d){t.push(m);break}}}for(let n=0;n<16;n++){const t=new le;t.set(fo[n],ho[n],mo[n],po[n],0,0),r_.push(t)}}_3();const Ue={E:0,SE:1,S:2,SW:3,W:4,NW:5,N:6,NE:7,MIRROR_VERTICAL:8,MAIN_DIAGONAL:10,MIRROR_HORIZONTAL:12,REVERSE_DIAGONAL:14,uX:n=>fo[n],uY:n=>ho[n],vX:n=>mo[n],vY:n=>po[n],inv:n=>n&8?n&15:-n&7,add:(n,t)=>Dy[n][t],sub:(n,t)=>Dy[n][Ue.inv(t)],rotate180:n=>n^4,isVertical:n=>(n&3)===2,byDirection:(n,t)=>Math.abs(n)*2<=Math.abs(t)?t>=0?Ue.S:Ue.N:Math.abs(t)*2<=Math.abs(n)?n>0?Ue.E:Ue.W:t>0?n>0?Ue.SE:Ue.SW:n>0?Ue.NE:Ue.NW,matrixAppendRotationInv:(n,t,a=0,l=0,o=0,c=0)=>{const d=r_[Ue.inv(t)],m=d.a,p=d.b,g=d.c,x=d.d,b=a-Math.min(0,m*o,g*c,m*o+g*c),E=l-Math.min(0,p*o,x*c,p*o+x*c),C=n.a,M=n.b,z=n.c,R=n.d;n.a=m*C+p*z,n.b=m*M+p*R,n.c=g*C+x*z,n.d=g*M+x*R,n.tx=b*C+E*z+n.tx,n.ty=b*M+E*R+n.ty},transformRectCoords:(n,t,a,l)=>{const{x:o,y:c,width:d,height:m}=n,{x:p,y:g,width:x,height:b}=t;return a===Ue.E?(l.set(o+p,c+g,d,m),l):a===Ue.S?l.set(x-c-m+p,o+g,m,d):a===Ue.W?l.set(x-o-d+p,b-c-m+g,d,m):a===Ue.N?l.set(c+p,b-o-d+g,m,d):l.set(o+p,c+g,d,m)}},sp=[new ya,new ya,new ya,new ya];class mn{constructor(t=0,a=0,l=0,o=0){this.type="rectangle",this.x=Number(t),this.y=Number(a),this.width=Number(l),this.height=Number(o)}get left(){return this.x}get right(){return this.x+this.width}get top(){return this.y}get bottom(){return this.y+this.height}isEmpty(){return this.left===this.right||this.top===this.bottom}static get EMPTY(){return new mn(0,0,0,0)}clone(){return new mn(this.x,this.y,this.width,this.height)}copyFromBounds(t){return this.x=t.minX,this.y=t.minY,this.width=t.maxX-t.minX,this.height=t.maxY-t.minY,this}copyFrom(t){return this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this}copyTo(t){return t.copyFrom(this),t}contains(t,a){return this.width<=0||this.height<=0?!1:t>=this.x&&t<this.x+this.width&&a>=this.y&&a<this.y+this.height}strokeContains(t,a,l,o=.5){const{width:c,height:d}=this;if(c<=0||d<=0)return!1;const m=this.x,p=this.y,g=l*(1-o),x=l-g,b=m-g,E=m+c+g,C=p-g,M=p+d+g,z=m+x,R=m+c-x,w=p+x,O=p+d-x;return t>=b&&t<=E&&a>=C&&a<=M&&!(t>z&&t<R&&a>w&&a<O)}intersects(t,a){if(!a){const F=this.x<t.x?t.x:this.x;if((this.right>t.right?t.right:this.right)<=F)return!1;const $=this.y<t.y?t.y:this.y;return(this.bottom>t.bottom?t.bottom:this.bottom)>$}const l=this.left,o=this.right,c=this.top,d=this.bottom;if(o<=l||d<=c)return!1;const m=sp[0].set(t.left,t.top),p=sp[1].set(t.left,t.bottom),g=sp[2].set(t.right,t.top),x=sp[3].set(t.right,t.bottom);if(g.x<=m.x||p.y<=m.y)return!1;const b=Math.sign(a.a*a.d-a.b*a.c);if(b===0||(a.apply(m,m),a.apply(p,p),a.apply(g,g),a.apply(x,x),Math.max(m.x,p.x,g.x,x.x)<=l||Math.min(m.x,p.x,g.x,x.x)>=o||Math.max(m.y,p.y,g.y,x.y)<=c||Math.min(m.y,p.y,g.y,x.y)>=d))return!1;const E=b*(p.y-m.y),C=b*(m.x-p.x),M=E*l+C*c,z=E*o+C*c,R=E*l+C*d,w=E*o+C*d;if(Math.max(M,z,R,w)<=E*m.x+C*m.y||Math.min(M,z,R,w)>=E*x.x+C*x.y)return!1;const O=b*(m.y-g.y),U=b*(g.x-m.x),Y=O*l+U*c,k=O*o+U*c,V=O*l+U*d,Z=O*o+U*d;return!(Math.max(Y,k,V,Z)<=O*m.x+U*m.y||Math.min(Y,k,V,Z)>=O*x.x+U*x.y)}pad(t=0,a=t){return this.x-=t,this.y-=a,this.width+=t*2,this.height+=a*2,this}fit(t){const a=Math.max(this.x,t.x),l=Math.min(this.x+this.width,t.x+t.width),o=Math.max(this.y,t.y),c=Math.min(this.y+this.height,t.y+t.height);return this.x=a,this.width=Math.max(l-a,0),this.y=o,this.height=Math.max(c-o,0),this}ceil(t=1,a=.001){const l=Math.ceil((this.x+this.width-a)*t)/t,o=Math.ceil((this.y+this.height-a)*t)/t;return this.x=Math.floor((this.x+a)*t)/t,this.y=Math.floor((this.y+a)*t)/t,this.width=l-this.x,this.height=o-this.y,this}scale(t,a=t){return this.x*=t,this.y*=a,this.width*=t,this.height*=a,this}enlarge(t){const a=Math.min(this.x,t.x),l=Math.max(this.x+this.width,t.x+t.width),o=Math.min(this.y,t.y),c=Math.max(this.y+this.height,t.y+t.height);return this.x=a,this.width=l-a,this.y=o,this.height=c-o,this}getBounds(t){return t||(t=new mn),t.copyFrom(this),t}containsRect(t){if(this.width<=0||this.height<=0)return!1;const a=t.x,l=t.y,o=t.x+t.width,c=t.y+t.height;return a>=this.x&&a<this.x+this.width&&l>=this.y&&l<this.y+this.height&&o>=this.x&&o<this.x+this.width&&c>=this.y&&c<this.y+this.height}set(t,a,l,o){return this.x=t,this.y=a,this.width=l,this.height=o,this}toString(){return`[pixi.js/math:Rectangle x=${this.x} y=${this.y} width=${this.width} height=${this.height}]`}}const Q0={default:-1};function on(n="default"){return Q0[n]===void 0&&(Q0[n]=-1),++Q0[n]}const Iv=new Set,un="8.0.0",S3="8.3.4",Zc={quiet:!1,noColor:!1},de=((n,t,a=3)=>{if(Zc.quiet||Iv.has(t))return;let l=new Error().stack;const o=`${t}
61
+ Please change the parent <Route path="${w}"> to <Route path="${w==="/"?"*":`${w}/*`}">.`)}let x=Ol(),b;if(t){let w=typeof t=="string"?rf(t):t;ke(p==="/"||((R=w.pathname)==null?void 0:R.startsWith(p)),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${p}" but pathname "${w.pathname}" was given in the \`location\` prop.`),b=w}else b=x;let E=b.pathname||"/",C=E;if(p!=="/"){let w=p.replace(/^\//,"").split("/");C="/"+E.replace(/^\//,"").split("/").slice(w.length).join("/")}let M=Hx(n,{pathname:C});wl(g||M!=null,`No routes matched location "${b.pathname}${b.search}${b.hash}" `),wl(M==null||M[M.length-1].route.element!==void 0||M[M.length-1].route.Component!==void 0||M[M.length-1].route.lazy!==void 0,`Matched leaf route at location "${b.pathname}${b.search}${b.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let z=Hb(M&&M.map(w=>Object.assign({},w,{params:Object.assign({},d,w.params),pathname:xs([p,l.encodeLocation?l.encodeLocation(w.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathname]),pathnameBase:w.pathnameBase==="/"?p:xs([p,l.encodeLocation?l.encodeLocation(w.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathnameBase])})),o,a);return t&&z?G.createElement(gd.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",unstable_mask:void 0,...b},navigationType:"POP"}},z):z}function Ob(){let n=Lb(),t=gb(n)?`${n.status} ${n.statusText}`:n instanceof Error?n.message:JSON.stringify(n),a=n instanceof Error?n.stack:null,l="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:l},c={padding:"2px 4px",backgroundColor:l},d=null;return console.error("Error handled by React Router default ErrorBoundary:",n),d=G.createElement(G.Fragment,null,G.createElement("p",null,"💿 Hey developer 👋"),G.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",G.createElement("code",{style:c},"ErrorBoundary")," or"," ",G.createElement("code",{style:c},"errorElement")," prop on your route.")),G.createElement(G.Fragment,null,G.createElement("h2",null,"Unexpected Application Error!"),G.createElement("h3",{style:{fontStyle:"italic"}},t),a?G.createElement("pre",{style:o},a):null,d)}var Nb=G.createElement(Ob,null),Zx=class extends G.Component{constructor(n){super(n),this.state={location:n.location,revalidation:n.revalidation,error:n.error}}static getDerivedStateFromError(n){return{error:n}}static getDerivedStateFromProps(n,t){return t.location!==n.location||t.revalidation!=="idle"&&n.revalidation==="idle"?{error:n.error,location:n.location,revalidation:n.revalidation}:{error:n.error!==void 0?n.error:t.error,location:t.location,revalidation:n.revalidation||t.revalidation}}componentDidCatch(n,t){this.props.onError?this.props.onError(n,t):console.error("React Router caught the following error during render",n)}render(){let n=this.state.error;if(this.context&&typeof n=="object"&&n&&"digest"in n&&typeof n.digest=="string"){const a=Ab(n.digest);a&&(n=a)}let t=n!==void 0?G.createElement(Dl.Provider,{value:this.props.routeContext},G.createElement(eg.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?G.createElement(Bb,{error:n},t):t}};Zx.contextType=_b;var Y0=new WeakMap;function Bb({children:n,error:t}){let{basename:a}=G.useContext(Ti);if(typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){let l=Cb(t.digest);if(l){let o=Y0.get(t);if(o)throw o;let c=qx(l.location,a);if(Yx&&!Y0.get(t))if(c.isExternal||l.reloadDocument)window.location.href=c.absoluteURL||c.to;else{const d=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(c.to,{replace:l.replace}));throw Y0.set(t,d),d}return G.createElement("meta",{httpEquiv:"refresh",content:`0;url=${c.absoluteURL||c.to}`})}}return n}function Ub({routeContext:n,match:t,children:a}){let l=G.useContext(uf);return l&&l.static&&l.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(l.staticContext._deepestRenderedBoundaryId=t.route.id),G.createElement(Dl.Provider,{value:n},a)}function Hb(n,t=[],a){let l=a==null?void 0:a.state;if(n==null){if(!l)return null;if(l.errors)n=l.matches;else if(t.length===0&&!l.initialized&&l.matches.length>0)n=l.matches;else return null}let o=n,c=l==null?void 0:l.errors;if(c!=null){let x=o.findIndex(b=>b.route.id&&(c==null?void 0:c[b.route.id])!==void 0);ke(x>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(c).join(",")}`),o=o.slice(0,Math.min(o.length,x+1))}let d=!1,m=-1;if(a&&l){d=l.renderFallback;for(let x=0;x<o.length;x++){let b=o[x];if((b.route.HydrateFallback||b.route.hydrateFallbackElement)&&(m=x),b.route.id){let{loaderData:E,errors:C}=l,M=b.route.loader&&!E.hasOwnProperty(b.route.id)&&(!C||C[b.route.id]===void 0);if(b.route.lazy||M){a.isStatic&&(d=!0),m>=0?o=o.slice(0,m+1):o=[o[0]];break}}}}let p=a==null?void 0:a.onError,g=l&&p?(x,b)=>{var E,C;p(x,{location:l.location,params:((C=(E=l.matches)==null?void 0:E[0])==null?void 0:C.params)??{},unstable_pattern:vb(l.matches),errorInfo:b})}:void 0;return o.reduceRight((x,b,E)=>{let C,M=!1,z=null,R=null;l&&(C=c&&b.route.id?c[b.route.id]:void 0,z=b.route.errorElement||Nb,d&&(m<0&&E===0?(Jx("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),M=!0,R=null):m===E&&(M=!0,R=b.route.hydrateFallbackElement||null)));let w=t.concat(o.slice(0,E+1)),O=()=>{let U;return C?U=z:M?U=R:b.route.Component?U=G.createElement(b.route.Component,null):b.route.element?U=b.route.element:U=x,G.createElement(Ub,{match:b,routeContext:{outlet:x,matches:w,isDataRoute:l!=null},children:U})};return l&&(b.route.ErrorBoundary||b.route.errorElement||E===0)?G.createElement(Zx,{location:l.location,revalidation:l.revalidation,component:z,error:C,children:O(),routeContext:{outlet:null,matches:w,isDataRoute:!0},onError:g}):O()},null)}function ng(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function jb(n){let t=G.useContext(uf);return ke(t,ng(n)),t}function Gb(n){let t=G.useContext(Yp);return ke(t,ng(n)),t}function Yb(n){let t=G.useContext(Dl);return ke(t,ng(n)),t}function ag(n){let t=Yb(n),a=t.matches[t.matches.length-1];return ke(a.route.id,`${n} can only be used on routes that contain a unique "id"`),a.route.id}function qb(){return ag("useRouteId")}function Lb(){var l;let n=G.useContext(eg),t=Gb("useRouteError"),a=ag("useRouteError");return n!==void 0?n:(l=t.errors)==null?void 0:l[a]}function Xb(){let{router:n}=jb("useNavigate"),t=ag("useNavigate"),a=G.useRef(!1);return Qx(()=>{a.current=!0}),G.useCallback(async(o,c={})=>{wl(a.current,kx),a.current&&(typeof o=="number"?await n.navigate(o):await n.navigate(o,{fromRouteId:t,...c}))},[n,t])}var Uv={};function Jx(n,t,a){!t&&!Uv[n]&&(Uv[n]=!0,wl(!1,a))}G.memo(Vb);function Vb({routes:n,future:t,state:a,isStatic:l,onError:o}){return Kx(n,void 0,{state:a,isStatic:l,onError:o})}function kb({to:n,replace:t,state:a,relative:l}){ke(of(),"<Navigate> may be used only in the context of a <Router> component.");let{static:o}=G.useContext(Ti);wl(!o,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:c}=G.useContext(Dl),{pathname:d}=Ol(),m=qp(),p=Gp(n,tg(c),d,l==="path"),g=JSON.stringify(p);return G.useEffect(()=>{m(JSON.parse(g),{replace:t,state:a,relative:l})},[m,g,l,t,a]),null}function Hv(n){return wb(n.context)}function ps(n){ke(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function Qb({basename:n="/",children:t=null,location:a,navigationType:l="POP",navigator:o,static:c=!1,unstable_useTransitions:d}){ke(!of(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let m=n.replace(/^\/*/,"/"),p=G.useMemo(()=>({basename:m,navigator:o,static:c,unstable_useTransitions:d,future:{}}),[m,o,c,d]);typeof a=="string"&&(a=rf(a));let{pathname:g="/",search:x="",hash:b="",state:E=null,key:C="default",unstable_mask:M}=a,z=G.useMemo(()=>{let R=or(g,m);return R==null?null:{location:{pathname:R,search:x,hash:b,state:E,key:C,unstable_mask:M},navigationType:l}},[m,g,x,b,E,C,l,M]);return wl(z!=null,`<Router basename="${m}"> is not able to match the URL "${g}${x}${b}" because it does not start with the basename, so the <Router> won't render anything.`),z==null?null:G.createElement(Ti.Provider,{value:p},G.createElement(gd.Provider,{children:t,value:z}))}function Kb({children:n,location:t}){return Db(Ay(n),t)}function Ay(n,t=[]){let a=[];return G.Children.forEach(n,(l,o)=>{if(!G.isValidElement(l))return;let c=[...t,o];if(l.type===G.Fragment){a.push.apply(a,Ay(l.props.children,c));return}ke(l.type===ps,`[${typeof l.type=="string"?l.type:l.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),ke(!l.props.index||!l.props.children,"An index route cannot have child routes.");let d={id:l.props.id||c.join("-"),caseSensitive:l.props.caseSensitive,element:l.props.element,Component:l.props.Component,index:l.props.index,path:l.props.path,middleware:l.props.middleware,loader:l.props.loader,action:l.props.action,hydrateFallbackElement:l.props.hydrateFallbackElement,HydrateFallback:l.props.HydrateFallback,errorElement:l.props.errorElement,ErrorBoundary:l.props.ErrorBoundary,hasErrorBoundary:l.props.hasErrorBoundary===!0||l.props.ErrorBoundary!=null||l.props.errorElement!=null,shouldRevalidate:l.props.shouldRevalidate,handle:l.props.handle,lazy:l.props.lazy};l.props.children&&(d.children=Ay(l.props.children,c)),a.push(d)}),a}var bp="get",Tp="application/x-www-form-urlencoded";function Lp(n){return typeof HTMLElement<"u"&&n instanceof HTMLElement}function Zb(n){return Lp(n)&&n.tagName.toLowerCase()==="button"}function Jb(n){return Lp(n)&&n.tagName.toLowerCase()==="form"}function Fb(n){return Lp(n)&&n.tagName.toLowerCase()==="input"}function Wb(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function Pb(n,t){return n.button===0&&(!t||t==="_self")&&!Wb(n)}var ep=null;function Ib(){if(ep===null)try{new FormData(document.createElement("form"),0),ep=!1}catch{ep=!0}return ep}var $b=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function q0(n){return n!=null&&!$b.has(n)?(wl(!1,`"${n}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Tp}"`),null):n}function tT(n,t){let a,l,o,c,d;if(Jb(n)){let m=n.getAttribute("action");l=m?or(m,t):null,a=n.getAttribute("method")||bp,o=q0(n.getAttribute("enctype"))||Tp,c=new FormData(n)}else if(Zb(n)||Fb(n)&&(n.type==="submit"||n.type==="image")){let m=n.form;if(m==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let p=n.getAttribute("formaction")||m.getAttribute("action");if(l=p?or(p,t):null,a=n.getAttribute("formmethod")||m.getAttribute("method")||bp,o=q0(n.getAttribute("formenctype"))||q0(m.getAttribute("enctype"))||Tp,c=new FormData(m,n),!Ib()){let{name:g,type:x,value:b}=n;if(x==="image"){let E=g?`${g}.`:"";c.append(`${E}x`,"0"),c.append(`${E}y`,"0")}else g&&c.append(g,b)}}else{if(Lp(n))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');a=bp,l=null,o=Tp,d=n}return c&&o==="text/plain"&&(d=c,c=void 0),{action:l,method:a.toLowerCase(),encType:o,formData:c,body:d}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function ig(n,t){if(n===!1||n===null||typeof n>"u")throw new Error(t)}function eT(n,t,a,l){let o=typeof n=="string"?new URL(n,typeof window>"u"?"server://singlefetch/":window.location.origin):n;return a?o.pathname.endsWith("/")?o.pathname=`${o.pathname}_.${l}`:o.pathname=`${o.pathname}.${l}`:o.pathname==="/"?o.pathname=`_root.${l}`:t&&or(o.pathname,t)==="/"?o.pathname=`${t.replace(/\/$/,"")}/_root.${l}`:o.pathname=`${o.pathname.replace(/\/$/,"")}.${l}`,o}async function nT(n,t){if(n.id in t)return t[n.id];try{let a=await import(n.module);return t[n.id]=a,a}catch(a){return console.error(`Error loading route module \`${n.module}\`, reloading page...`),console.error(a),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function aT(n){return n==null?!1:n.href==null?n.rel==="preload"&&typeof n.imageSrcSet=="string"&&typeof n.imageSizes=="string":typeof n.rel=="string"&&typeof n.href=="string"}async function iT(n,t,a){let l=await Promise.all(n.map(async o=>{let c=t.routes[o.route.id];if(c){let d=await nT(c,a);return d.links?d.links():[]}return[]}));return uT(l.flat(1).filter(aT).filter(o=>o.rel==="stylesheet"||o.rel==="preload").map(o=>o.rel==="stylesheet"?{...o,rel:"prefetch",as:"style"}:{...o,rel:"prefetch"}))}function jv(n,t,a,l,o,c){let d=(p,g)=>a[g]?p.route.id!==a[g].route.id:!0,m=(p,g)=>{var x;return a[g].pathname!==p.pathname||((x=a[g].route.path)==null?void 0:x.endsWith("*"))&&a[g].params["*"]!==p.params["*"]};return c==="assets"?t.filter((p,g)=>d(p,g)||m(p,g)):c==="data"?t.filter((p,g)=>{var b;let x=l.routes[p.route.id];if(!x||!x.hasLoader)return!1;if(d(p,g)||m(p,g))return!0;if(p.route.shouldRevalidate){let E=p.route.shouldRevalidate({currentUrl:new URL(o.pathname+o.search+o.hash,window.origin),currentParams:((b=a[0])==null?void 0:b.params)||{},nextUrl:new URL(n,window.origin),nextParams:p.params,defaultShouldRevalidate:!0});if(typeof E=="boolean")return E}return!0}):[]}function lT(n,t,{includeHydrateFallback:a}={}){return sT(n.map(l=>{let o=t.routes[l.route.id];if(!o)return[];let c=[o.module];return o.clientActionModule&&(c=c.concat(o.clientActionModule)),o.clientLoaderModule&&(c=c.concat(o.clientLoaderModule)),a&&o.hydrateFallbackModule&&(c=c.concat(o.hydrateFallbackModule)),o.imports&&(c=c.concat(o.imports)),c}).flat(1))}function sT(n){return[...new Set(n)]}function rT(n){let t={},a=Object.keys(n).sort();for(let l of a)t[l]=n[l];return t}function uT(n,t){let a=new Set;return new Set(t),n.reduce((l,o)=>{let c=JSON.stringify(rT(o));return a.has(c)||(a.add(c),l.push({key:c,link:o})),l},[])}function Fx(){let n=G.useContext(uf);return ig(n,"You must render this element inside a <DataRouterContext.Provider> element"),n}function oT(){let n=G.useContext(Yp);return ig(n,"You must render this element inside a <DataRouterStateContext.Provider> element"),n}var lg=G.createContext(void 0);lg.displayName="FrameworkContext";function Wx(){let n=G.useContext(lg);return ig(n,"You must render this element inside a <HydratedRouter> element"),n}function cT(n,t){let a=G.useContext(lg),[l,o]=G.useState(!1),[c,d]=G.useState(!1),{onFocus:m,onBlur:p,onMouseEnter:g,onMouseLeave:x,onTouchStart:b}=t,E=G.useRef(null);G.useEffect(()=>{if(n==="render"&&d(!0),n==="viewport"){let z=w=>{w.forEach(O=>{d(O.isIntersecting)})},R=new IntersectionObserver(z,{threshold:.5});return E.current&&R.observe(E.current),()=>{R.disconnect()}}},[n]),G.useEffect(()=>{if(l){let z=setTimeout(()=>{d(!0)},100);return()=>{clearTimeout(z)}}},[l]);let C=()=>{o(!0)},M=()=>{o(!1),d(!1)};return a?n!=="intent"?[c,E,{}]:[c,E,{onFocus:Qh(m,C),onBlur:Qh(p,M),onMouseEnter:Qh(g,C),onMouseLeave:Qh(x,M),onTouchStart:Qh(b,C)}]:[!1,E,{}]}function Qh(n,t){return a=>{n&&n(a),a.defaultPrevented||t(a)}}function fT({page:n,...t}){let{router:a}=Fx(),l=G.useMemo(()=>Hx(a.routes,n,a.basename),[a.routes,n,a.basename]);return l?G.createElement(dT,{page:n,matches:l,...t}):null}function hT(n){let{manifest:t,routeModules:a}=Wx(),[l,o]=G.useState([]);return G.useEffect(()=>{let c=!1;return iT(n,t,a).then(d=>{c||o(d)}),()=>{c=!0}},[n,t,a]),l}function dT({page:n,matches:t,...a}){let l=Ol(),{future:o,manifest:c,routeModules:d}=Wx(),{basename:m}=Fx(),{loaderData:p,matches:g}=oT(),x=G.useMemo(()=>jv(n,t,g,c,l,"data"),[n,t,g,c,l]),b=G.useMemo(()=>jv(n,t,g,c,l,"assets"),[n,t,g,c,l]),E=G.useMemo(()=>{if(n===l.pathname+l.search+l.hash)return[];let z=new Set,R=!1;if(t.forEach(O=>{var Y;let U=c.routes[O.route.id];!U||!U.hasLoader||(!x.some(k=>k.route.id===O.route.id)&&O.route.id in p&&((Y=d[O.route.id])!=null&&Y.shouldRevalidate)||U.hasClientLoader?R=!0:z.add(O.route.id))}),z.size===0)return[];let w=eT(n,m,o.unstable_trailingSlashAwareDataRequests,"data");return R&&z.size>0&&w.searchParams.set("_routes",t.filter(O=>z.has(O.route.id)).map(O=>O.route.id).join(",")),[w.pathname+w.search]},[m,o.unstable_trailingSlashAwareDataRequests,p,l,c,x,t,n,d]),C=G.useMemo(()=>lT(b,c),[b,c]),M=hT(b);return G.createElement(G.Fragment,null,E.map(z=>G.createElement("link",{key:z,rel:"prefetch",as:"fetch",href:z,...a})),C.map(z=>G.createElement("link",{key:z,rel:"modulepreload",href:z,...a})),M.map(({key:z,link:R})=>G.createElement("link",{key:z,nonce:a.nonce,...R,crossOrigin:R.crossOrigin??a.crossOrigin})))}function mT(...n){return t=>{n.forEach(a=>{typeof a=="function"?a(t):a!=null&&(a.current=t)})}}var pT=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{pT&&(window.__reactRouterVersion="7.13.1")}catch{}function yT({basename:n,children:t,unstable_useTransitions:a,window:l}){let o=G.useRef();o.current==null&&(o.current=ZS({window:l,v5Compat:!0}));let c=o.current,[d,m]=G.useState({action:c.action,location:c.location}),p=G.useCallback(g=>{a===!1?m(g):G.startTransition(()=>m(g))},[a]);return G.useLayoutEffect(()=>c.listen(p),[c,p]),G.createElement(Qb,{basename:n,children:t,location:d.location,navigationType:d.action,navigator:c,unstable_useTransitions:a})}var Px=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ix=G.forwardRef(function({onClick:t,discover:a="render",prefetch:l="none",relative:o,reloadDocument:c,replace:d,unstable_mask:m,state:p,target:g,to:x,preventScrollReset:b,viewTransition:E,unstable_defaultShouldRevalidate:C,...M},z){let{basename:R,navigator:w,unstable_useTransitions:O}=G.useContext(Ti),U=typeof x=="string"&&Px.test(x),Y=qx(x,R);x=Y.to;let k=Mb(x,{relative:o}),V=Ol(),Z=null;if(m){let St=Gp(m,[],V.unstable_mask?V.unstable_mask.pathname:"/",!0);R!=="/"&&(St.pathname=St.pathname==="/"?R:xs([R,St.pathname])),Z=w.createHref(St)}let[F,q,$]=cT(l,M),et=xT(x,{replace:d,unstable_mask:m,state:p,target:g,preventScrollReset:b,relative:o,viewTransition:E,unstable_defaultShouldRevalidate:C,unstable_useTransitions:O});function ct(St){t&&t(St),St.defaultPrevented||et(St)}let vt=!(Y.isExternal||c),dt=G.createElement("a",{...M,...$,href:(vt?Z:void 0)||Y.absoluteURL||k,onClick:vt?ct:t,ref:mT(z,q),target:g,"data-discover":!U&&a==="render"?"true":void 0});return F&&!U?G.createElement(G.Fragment,null,dt,G.createElement(fT,{page:k})):dt});Ix.displayName="Link";var $x=G.forwardRef(function({"aria-current":t="page",caseSensitive:a=!1,className:l="",end:o=!1,style:c,to:d,viewTransition:m,children:p,...g},x){let b=vd(d,{relative:g.relative}),E=Ol(),C=G.useContext(Yp),{navigator:M,basename:z}=G.useContext(Ti),R=C!=null&&ET(b)&&m===!0,w=M.encodeLocation?M.encodeLocation(b).pathname:b.pathname,O=E.pathname,U=C&&C.navigation&&C.navigation.location?C.navigation.location.pathname:null;a||(O=O.toLowerCase(),U=U?U.toLowerCase():null,w=w.toLowerCase()),U&&z&&(U=or(U,z)||U);const Y=w!=="/"&&w.endsWith("/")?w.length-1:w.length;let k=O===w||!o&&O.startsWith(w)&&O.charAt(Y)==="/",V=U!=null&&(U===w||!o&&U.startsWith(w)&&U.charAt(w.length)==="/"),Z={isActive:k,isPending:V,isTransitioning:R},F=k?t:void 0,q;typeof l=="function"?q=l(Z):q=[l,k?"active":null,V?"pending":null,R?"transitioning":null].filter(Boolean).join(" ");let $=typeof c=="function"?c(Z):c;return G.createElement(Ix,{...g,"aria-current":F,className:q,ref:x,style:$,to:d,viewTransition:m},typeof p=="function"?p(Z):p)});$x.displayName="NavLink";var gT=G.forwardRef(({discover:n="render",fetcherKey:t,navigate:a,reloadDocument:l,replace:o,state:c,method:d=bp,action:m,onSubmit:p,relative:g,preventScrollReset:x,viewTransition:b,unstable_defaultShouldRevalidate:E,...C},M)=>{let{unstable_useTransitions:z}=G.useContext(Ti),R=bT(),w=TT(m,{relative:g}),O=d.toLowerCase()==="get"?"get":"post",U=typeof m=="string"&&Px.test(m),Y=k=>{if(p&&p(k),k.defaultPrevented)return;k.preventDefault();let V=k.nativeEvent.submitter,Z=(V==null?void 0:V.getAttribute("formmethod"))||d,F=()=>R(V||k.currentTarget,{fetcherKey:t,method:Z,navigate:a,replace:o,state:c,relative:g,preventScrollReset:x,viewTransition:b,unstable_defaultShouldRevalidate:E});z&&a!==!1?G.startTransition(()=>F()):F()};return G.createElement("form",{ref:M,method:O,action:w,onSubmit:l?p:Y,...C,"data-discover":!U&&n==="render"?"true":void 0})});gT.displayName="Form";function vT(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function t_(n){let t=G.useContext(uf);return ke(t,vT(n)),t}function xT(n,{target:t,replace:a,unstable_mask:l,state:o,preventScrollReset:c,relative:d,viewTransition:m,unstable_defaultShouldRevalidate:p,unstable_useTransitions:g}={}){let x=qp(),b=Ol(),E=vd(n,{relative:d});return G.useCallback(C=>{if(Pb(C,t)){C.preventDefault();let M=a!==void 0?a:cd(b)===cd(E),z=()=>x(n,{replace:M,unstable_mask:l,state:o,preventScrollReset:c,relative:d,viewTransition:m,unstable_defaultShouldRevalidate:p});g?G.startTransition(()=>z()):z()}},[b,x,E,a,l,o,t,n,c,d,m,p,g])}var _T=0,ST=()=>`__${String(++_T)}__`;function bT(){let{router:n}=t_("useSubmit"),{basename:t}=G.useContext(Ti),a=qb(),l=n.fetch,o=n.navigate;return G.useCallback(async(c,d={})=>{let{action:m,method:p,encType:g,formData:x,body:b}=tT(c,t);if(d.navigate===!1){let E=d.fetcherKey||ST();await l(E,a,d.action||m,{unstable_defaultShouldRevalidate:d.unstable_defaultShouldRevalidate,preventScrollReset:d.preventScrollReset,formData:x,body:b,formMethod:d.method||p,formEncType:d.encType||g,flushSync:d.flushSync})}else await o(d.action||m,{unstable_defaultShouldRevalidate:d.unstable_defaultShouldRevalidate,preventScrollReset:d.preventScrollReset,formData:x,body:b,formMethod:d.method||p,formEncType:d.encType||g,replace:d.replace,state:d.state,fromRouteId:a,flushSync:d.flushSync,viewTransition:d.viewTransition})},[l,o,t,a])}function TT(n,{relative:t}={}){let{basename:a}=G.useContext(Ti),l=G.useContext(Dl);ke(l,"useFormAction must be used inside a RouteContext");let[o]=l.matches.slice(-1),c={...vd(n||".",{relative:t})},d=Ol();if(n==null){c.search=d.search;let m=new URLSearchParams(c.search),p=m.getAll("index");if(p.some(x=>x==="")){m.delete("index"),p.filter(b=>b).forEach(b=>m.append("index",b));let x=m.toString();c.search=x?`?${x}`:""}}return(!n||n===".")&&o.route.index&&(c.search=c.search?c.search.replace(/^\?/,"?index&"):"?index"),a!=="/"&&(c.pathname=c.pathname==="/"?a:xs([a,c.pathname])),cd(c)}function ET(n,{relative:t}={}){let a=G.useContext(Xx);ke(a!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:l}=t_("useViewTransitionState"),o=vd(n,{relative:t});if(!a.isTransitioning)return!1;let c=or(a.currentLocation.pathname,l)||a.currentLocation.pathname,d=or(a.nextLocation.pathname,l)||a.nextLocation.pathname;return Mp(o.pathname,d)!=null||Mp(o.pathname,c)!=null}const Gv=n=>{let t;const a=new Set,l=(g,x)=>{const b=typeof g=="function"?g(t):g;if(!Object.is(b,t)){const E=t;t=x??(typeof b!="object"||b===null)?b:Object.assign({},t,b),a.forEach(C=>C(t,E))}},o=()=>t,m={setState:l,getState:o,getInitialState:()=>p,subscribe:g=>(a.add(g),()=>a.delete(g))},p=t=n(l,o,m);return m},CT=(n=>n?Gv(n):Gv),AT=n=>n;function MT(n,t=AT){const a=tp.useSyncExternalStore(n.subscribe,tp.useCallback(()=>t(n.getState()),[n,t]),tp.useCallback(()=>t(n.getInitialState()),[n,t]));return tp.useDebugValue(a),a}const Yv=n=>{const t=CT(n),a=l=>MT(t,l);return Object.assign(a,t),a},cf=(n=>n?Yv(n):Yv),zl=cf(n=>({user:null,isAuthenticated:!1,loading:!1,error:null,login:async(t,a)=>{n({loading:!0,error:null});try{const l=await fetch("/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:t,password:a}),credentials:"include"}),o=await l.json();if(!l.ok){n({loading:!1,error:o.error||"Login failed"});return}n({user:o.user,isAuthenticated:!0,loading:!1,error:null})}catch{n({loading:!1,error:"Network error"})}},logout:async()=>{try{await fetch("/api/auth/logout",{method:"POST",credentials:"include"})}catch{}n({user:null,isAuthenticated:!1,error:null})},checkAuth:async()=>{n({loading:!0});try{const t=await fetch("/api/auth/me",{credentials:"include"});if(t.ok){const a=await t.json();n({user:a.user,isAuthenticated:!0,loading:!1})}else n({user:null,isAuthenticated:!1,loading:!1})}catch{n({user:null,isAuthenticated:!1,loading:!1})}},reset:()=>n({user:null,isAuthenticated:!1,loading:!1,error:null})})),ti=cf((n,t)=>({squads:[],selectedSquad:null,activeStates:{},fetchSquads:async()=>{try{const a=await fetch("/api/squads",{credentials:"include"});if(a.ok){const l=await a.json();n({squads:l.squads})}}catch{}},selectSquad:a=>n({selectedSquad:a}),setSquadState:(a,l)=>n(o=>({activeStates:{...o.activeStates,[a]:l}})),clearSquadState:a=>n(l=>{const{[a]:o,...c}=l.activeStates;return{activeStates:c}}),reset:()=>n({squads:[],selectedSquad:null,activeStates:{}})}));let RT=0;function qv(){return`local-${Date.now()}-${++RT}`}const Fi=cf((n,t)=>({messages:[],conversationId:null,streaming:!1,streamingText:"",error:null,addUserMessage:a=>{const l={id:qv(),role:"user",content:a,createdAt:new Date().toISOString()};n(o=>({messages:[...o.messages,l],error:null}))},setConversationId:a=>{n({conversationId:a})},startStreaming:()=>{n({streaming:!0,streamingText:"",error:null})},appendChunk:a=>{n(l=>({streamingText:l.streamingText+a}))},finishStreaming:a=>{const{streamingText:l}=t(),o={id:a,role:"assistant",content:l,createdAt:new Date().toISOString()};n(c=>({messages:[...c.messages,o],streaming:!1,streamingText:""}))},addAgentDm:a=>{const l={id:qv(),role:"agent_dm",content:a.content,agentId:a.agentId,agentName:a.agentName,createdAt:new Date().toISOString()};n(o=>({messages:[...o.messages,l]}))},setError:a=>{n({error:a,streaming:!1,streamingText:""})},loadHistory:async a=>{try{const l=await fetch(`/api/squads/${a}/conversations`,{credentials:"include"});if(!l.ok)return;const o=await l.json();if(!o.data||o.data.length===0){n({conversationId:null,messages:[]});return}const c=o.data[0];n({conversationId:c.id});const d=await fetch(`/api/conversations/${c.id}/messages`,{credentials:"include"});if(!d.ok)return;const p=((await d.json()).data||[]).map(g=>({id:g.id,role:g.role,content:g.content,agentId:g.agent_id??void 0,agentName:g.agent_name??void 0,createdAt:g.created_at}));n({messages:p})}catch{}},reset:()=>n({messages:[],conversationId:null,streaming:!1,streamingText:"",error:null})}));function zT(n){const a=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`,l=new WebSocket(a),o=[];let c=!0;function d(m){l.readyState===WebSocket.OPEN?l.send(JSON.stringify(m)):l.readyState===WebSocket.CONNECTING&&o.push(m)}return l.onopen=()=>{var m,p;c||(p=(m=n.current).onReconnect)==null||p.call(m),c=!1;for(const g of o)l.send(JSON.stringify(g));o.length=0},l.onmessage=m=>{var p,g,x,b,E,C,M,z,R,w,O,U,Y,k,V,Z;try{const F=JSON.parse(m.data),q=n.current;switch(F.type){case"squad:state":(p=q.onSquadState)==null||p.call(q,F.squadName,F.state);break;case"squad:inactive":(g=q.onSquadInactive)==null||g.call(q,F.squadName,F.reason);break;case"chat:chunk":(x=q.onChatChunk)==null||x.call(q,F.squadName,F.conversationId,F.delta);break;case"chat:done":(b=q.onChatDone)==null||b.call(q,F.squadName,F.conversationId,F.messageId);break;case"chat:error":(E=q.onChatError)==null||E.call(q,F.squadName,F.error);break;case"chat:agent_dm":(C=q.onChatAgentDm)==null||C.call(q,F.squadName,F.conversationId,F.agentId,F.agentName,F.message);break;case"chat:conversation_created":(M=q.onChatConversationCreated)==null||M.call(q,F.squadName,F.conversationId);break;case"agent:output_chunk":(z=q.onAgentOutputChunk)==null||z.call(q,F.squadName,F.agentId,F.agentName,F.delta);break;case"agent:step_start":(R=q.onAgentStepStart)==null||R.call(q,F.squadName,F.agentId,F.agentName,F.stepIndex,F.stepLabel);break;case"agent:step_complete":(w=q.onAgentStepComplete)==null||w.call(q,F.squadName,F.agentId,F.agentName,F.stepIndex,F.stepLabel);break;case"squad:checkpoint":(O=q.onSquadCheckpoint)==null||O.call(q,F.squadName,F.agentId,F.agentName,F.question);break;case"schedule:started":(U=q.onScheduleStarted)==null||U.call(q,F.squadName,F.jobId,F.attempt);break;case"schedule:chunk":(Y=q.onScheduleChunk)==null||Y.call(q,F.squadName,F.jobId,F.delta);break;case"schedule:done":(k=q.onScheduleDone)==null||k.call(q,F.squadName,F.jobId,F.summary,F.attempt);break;case"schedule:error":(V=q.onScheduleError)==null||V.call(q,F.squadName,F.jobId,F.error,F.attempt,F.willRetry);break;case"schedule:status_changed":(Z=q.onScheduleStatusChanged)==null||Z.call(q,F.squadName,F.status);break}}catch{}},{subscribe:m=>{d({type:"squad:subscribe",squadName:m})},unsubscribe:m=>{d({type:"squad:unsubscribe",squadName:m})},sendChat:(m,p)=>{d({type:"chat:send",squadName:m,message:p})},newConversation:m=>{d({type:"chat:new_conversation",squadName:m})},sendCheckpointResponse:(m,p)=>{d({type:"squad:checkpoint_response",squadName:m,answer:p})},disconnect:()=>{l.close()}}}function wT(n={}){const t=G.useRef(null),a=G.useRef(n),l=G.useRef(new Set);a.current=n,G.useEffect(()=>{const p=zT(a);t.current=p;for(const g of l.current)p.subscribe(g);return()=>{p.disconnect()}},[]);const o=G.useCallback(p=>{var g;l.current.add(p),(g=t.current)==null||g.subscribe(p)},[]),c=G.useCallback(p=>{var g;l.current.delete(p),(g=t.current)==null||g.unsubscribe(p)},[]),d=G.useCallback((p,g)=>{var x;(x=t.current)==null||x.sendChat(p,g)},[]),m=G.useCallback((p,g)=>{var x;(x=t.current)==null||x.sendCheckpointResponse(p,g)},[]);return{subscribe:o,unsubscribe:c,sendChat:d,sendCheckpointResponse:m}}const DT={idle:{color:"var(--status-idle)",glow:"none",icon:"○"},working:{color:"var(--status-active)",glow:"0 0 6px var(--status-active-glow)",icon:"●"},delivering:{color:"var(--accent)",glow:"0 0 6px var(--accent-glow)",icon:"→"},done:{color:"var(--status-active)",glow:"none",icon:"✓"},checkpoint:{color:"var(--status-warning)",glow:"0 0 6px var(--status-warning-glow)",icon:"◆"},running:{color:"var(--status-active)",glow:"0 0 6px var(--status-active-glow)",icon:"●"},completed:{color:"var(--status-active)",glow:"none",icon:"✓"}},OT={color:"var(--status-idle)",glow:"none"};function NT({status:n}){if(!n)return null;const t=DT[n]||OT;return H.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:4,fontFamily:"var(--font-mono)",fontSize:"0.68rem",color:t.color,letterSpacing:"0.02em"},children:[H.jsx("span",{style:{display:"inline-block",width:6,height:6,borderRadius:"50%",background:t.color,boxShadow:t.glow,animation:n==="working"||n==="running"?"statusPulse 2s ease-in-out infinite":"none"}}),n]})}function BT({squad:n,selected:t,onClick:a}){return H.jsxs("div",{onClick:a,style:{padding:"8px 10px",cursor:"pointer",borderRadius:"var(--radius-sm)",background:t?"var(--accent-glow)":"transparent",borderLeft:t?"2px solid var(--accent)":"2px solid transparent",marginBottom:2,transition:"all var(--duration-fast) var(--ease-out)"},children:[H.jsx("div",{style:{fontSize:"0.82rem",fontWeight:t?600:400,color:t?"var(--text-primary)":"var(--text-secondary)",marginBottom:2},children:n.name}),H.jsx(NT,{status:n.status})]})}function UT({squads:n,selectedSquad:t,onSelect:a}){return H.jsxs("div",{style:{padding:"var(--sp-3)"},children:[H.jsx("div",{style:{fontFamily:"var(--font-mono)",fontSize:"0.6rem",color:"var(--text-muted)",textTransform:"uppercase",letterSpacing:"0.1em",padding:"0 var(--sp-2)",marginBottom:"var(--sp-2)"},children:"Squads"}),n.length===0&&H.jsx("div",{style:{padding:"8px 10px",color:"var(--text-muted)",fontSize:"0.75rem",fontStyle:"italic"},children:"No squads found"}),n.map(l=>H.jsx(BT,{squad:l,selected:l.code===t,onClick:()=>a(l.code)},l.code))]})}function HT(n){const t=Math.floor(n/3600),a=Math.floor(n%3600/60),l=n%60,o=c=>c.toString().padStart(2,"0");return t>0?`${t}h ${o(a)}m ${o(l)}s`:`${a}m ${o(l)}s`}function jT({state:n}){const[t,a]=G.useState(0);return G.useEffect(()=>{if(!(n!=null&&n.startedAt)||n.status!=="running"){a(0);return}const l=new Date(n.startedAt).getTime(),o=()=>a(Math.floor((Date.now()-l)/1e3));o();const c=setInterval(o,1e3);return()=>clearInterval(c)},[n==null?void 0:n.startedAt,n==null?void 0:n.status]),H.jsx("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",height:"var(--statusbar-height)",padding:"0 var(--sp-4)",background:"var(--surface-1)",borderTop:"1px solid var(--border-subtle)",fontFamily:"var(--font-mono)",fontSize:"0.7rem",color:"var(--text-muted)"},children:n?H.jsxs(H.Fragment,{children:[H.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--sp-3)"},children:[H.jsx("span",{style:{display:"inline-block",width:6,height:6,borderRadius:"50%",background:n.status==="running"?"var(--status-active)":n.status==="checkpoint"?"var(--status-warning)":"var(--status-idle)",boxShadow:n.status==="running"?"0 0 8px var(--status-active-glow)":"none",animation:n.status==="running"?"statusPulse 2s ease-in-out infinite":"none"}}),H.jsxs("span",{style:{color:"var(--text-secondary)"},children:["Step ",n.step.current,"/",n.step.total]}),H.jsx("span",{style:{color:"var(--border-strong)"},children:"│"}),H.jsx("span",{children:n.step.label})]}),H.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--sp-3)"},children:[n.handoff&&H.jsxs("span",{style:{color:"var(--accent)"},children:[n.handoff.from," → ",n.handoff.to]}),n.status==="running"&&H.jsx("span",{style:{color:"var(--text-secondary)"},children:HT(t)})]})]}):H.jsxs(H.Fragment,{children:[H.jsx("span",{children:"Ready"}),H.jsx("span",{children:"ExpxAgents Mission Control"})]})})}let My=null;function GT(n){My=n}function YT(n,t){My&&My(n,t)}let Ry=null;function qT(n){Ry=n}function LT(n,t){Ry&&Ry(n,t)}const Ep=32,Ml=96,nu=64,Yt={floor:13158600,floorHighlight:14211288,floorGrout:12105912,wall:15261904,wallTrim:11577496,baseboard:7035464,desk:15263976,deskTop:16119285,deskShadow:13684944,deskLeg:1710618,deskEdge:14737632,monitor:2236976,monitorScreen:1981020,monitorScreenGlow:2773120,monitorStand:3355456,keyboard:3355456,keyboardKey:4473941,chairSeat:2899536,chairBack:3426654,chairBase:4473924,chairWheel:3355443,plant:5025616,plantDark:3706428,plantLight:6732650,pot:9133628,potRim:10515018,soil:4863264,bookshelf:8020808,bookshelfEdge:9139029,bookColors:[15022389,2001125,4431943,16750592,9315498,35195,16635957],rug:6044974,rugPattern:8016448,rugBorder:4861472},zy=[5227511,5025616,16750592,15022389,9315498,16771899],XT={idle:8947848,working:5025616,delivering:5227511,done:5025616,checkpoint:16750592},pa={counter:4073251,counterTop:6111287,machine:3622735,machineTop:4545124,machineLight:5025616,cup:14142664,cupShadow:12364452,saucer:14735052,sink:7901340,faucet:11583173,menu:5125166},vi={table:6111287,tableTop:7162945,tableEdge:5125166,tableLeg:4073251,chair:3622735,chairSeat:4545124,chairBack:5533306,carpet:2503224,carpetPattern:3030340,whiteboard:15527921,whiteboardFrame:7901340},vo={background:1713022,backgroundGlow:2635155,statusRunning:5025616,statusIdle:8947848,statusCheckpoint:16750592,statusCompleted:5025616},iu={floor:11579568,tile:11053224,grout:10066329,stripe:12632256},ja={floor:14477552,tile:12966120,tileGrout:11453652,wall:14740208,stall:11583173,stallDoor:9479342,sink:15527921,sinkBowl:16777215,mirror:11789820,mirrorFrame:7901340,toilet:16448250,toiletSeat:15658734,pipe:9479342},Ia={floor:6111287,carpet:5125166,carpetBorder:4073251,desk:4073251,deskTop:6111287,deskEdge:2890510,chair:1713022,chairSeat:2635155,window:8508666,windowFrame:5533306,windowSill:7901340,bookshelf:7162945,globe:4367861,nameplate:16766720},$c={wall:7901340,wallHighlight:10795204,doorFrame:6111287},qn={floor:16115411,tile:15259072,tileGrout:13942952,counter:6111287,counterTop:7951688,fridge:15527921,fridgeDoor:14737632,fridgeHandle:10395294,table:9268835,tableTop:10586239,chair:7162945,coffeeMaker:3622735,coffeeMakerLight:5025616,lamp:16766287},$a={floor:14142664,carpet:6323595,carpetBorder:4545124,sofa:5533306,sofaCushion:6323595,sofaArm:4545124,tv:2171169,tvScreen:2503224,tvStand:4342338,sideTable:7951688,magazine:15684432,magazineAlt:4367861},ir=480,_i=360,uo=400,Rn=60,xi=120,L0=120,Lv=160,Xv=120,Vv=160,VT=64,kT=80,QT=Ml+32,KT=nu+48,kv=2,e_=10,er=80;function np(n,t,a){const l=Math.max(0,Math.min(1,a));return n+(t-n)*l}function ZT(n){return n<.5?2*n*n:1-Math.pow(-2*n+2,2)/2}const JT=["nw","ne","sw","se"],FT={nw:"right",ne:"left",sw:"top",se:"top"};function Rp(n){const t=e_,a=Math.max(1,n),l={nw:0,ne:0,sw:0,se:0},o=[];for(let rt=0;rt<a;rt++){const gt=JT[rt%4];o.push({quadrant:gt,slot:l[gt]}),l[gt]++}const c=Math.max(1,l.nw),d=Math.max(1,l.ne),m=Math.max(1,l.sw),p=Math.max(1,l.se),g=Math.max(uo,xi),x=c*(_i+t),b=d*(_i+t),E=Math.max(x+g,b+xi),C=m*(_i+t),M=p*(_i+t),z=Math.max(Lv,Vv),R=Math.max(C+z+t,M+z+t),w=Math.max(ir,xi+t+uo),O=Math.max(ir,xi),U=Math.max(ir,L0),Y=Math.max(ir,Xv),k=Math.max(w,U),V=Math.max(O,Y),Z=t+k+t+Rn+t+V+t,F=t+E+t+Rn+t+R+t,q={x:t+k+t,y:t,width:Rn,height:F-2*t},$={x:t,y:t+E+t,width:Z-2*t,height:Rn},et={x:q.x+q.width/2,y:$.y+$.height/2},ct={x:q.x-t-uo,y:$.y-t-uo,width:uo,height:uo},vt={x:ct.x-t-xi,y:$.y-t-xi,width:xi,height:xi},dt={x:q.x+Rn+t,y:$.y-t-xi,width:xi,height:xi},St={x:q.x-t-L0,y:$.y+Rn+t+m*(_i+t),width:L0,height:Lv},j={x:q.x+Rn+t,y:$.y+Rn+t+p*(_i+t),width:Xv,height:Vv},Q=[],ot={};for(let rt=0;rt<a;rt++){const{quadrant:gt,slot:B}=o[rt],J=FT[gt];let tt;gt==="nw"?tt={x:q.x-t-ir,y:ct.y-t-(B+1)*_i-B*t}:gt==="ne"?tt={x:q.x+Rn+t,y:dt.y-t-(B+1)*_i-B*t}:gt==="sw"?tt={x:q.x-t-ir,y:$.y+Rn+t+B*(_i+t)}:tt={x:q.x+Rn+t,y:$.y+Rn+t+B*(_i+t)},Q.push({origin:tt,width:ir,height:_i,quadrant:gt,doorSide:J}),J==="right"||J==="left"?ot[`squad-${rt}`]={x:q.x+Rn/2,y:tt.y+_i/2}:ot[`squad-${rt}`]={x:tt.x+ir/2,y:$.y+Rn/2}}return ot.ceo={x:q.x+Rn/2,y:ct.y+uo/2},ot["bathroom-male"]={x:vt.x+xi/2,y:$.y+Rn/2},ot["bathroom-female"]={x:dt.x+xi/2,y:$.y+Rn/2},ot.kitchen={x:q.x+Rn/2,y:St.y+St.height/2},ot["rest-area"]={x:q.x+Rn/2,y:j.y+j.height/2},{totalWidth:Z,totalHeight:F,squadOrigins:Q,ceoOffice:ct,corridorH:$,corridorV:q,bathroomMale:vt,bathroomFemale:dt,kitchen:St,restArea:j,doorPoints:ot,corridorHub:et}}function Ic(n,t,a,l){const o=n%kv,c=Math.floor(n/kv);return{x:t.x+VT+o*QT,y:t.y+kT+c*KT}}function id(n,t,a){return{x:n.x+t-80,y:n.y+a-80}}function n_(n,t,a){return{x:n.x+t-160,y:n.y+Math.floor(a/2)}}function WT(n,t){const a=t==="male"?n.bathroomMale:n.bathroomFemale;return{x:a.x+a.width/2,y:a.y+a.height/2}}function PT(n){return{x:n.kitchen.x+n.kitchen.width/2,y:n.kitchen.y+n.kitchen.height/2}}function IT(n){return{x:n.restArea.x+n.restArea.width/2,y:n.restArea.y+n.restArea.height/2}}function $T(n){const t=n.corridorV;if(t.height>0&&Math.random()<.5)return{x:t.x+10+Math.random()*Math.max(0,t.width-20),y:t.y+10+Math.random()*Math.max(0,t.height-20)};const a=n.corridorH;return{x:a.x+20+Math.random()*Math.max(0,a.width-40),y:a.y+10+Math.random()*Math.max(0,a.height-20)}}function Qv(n,t){const a=t.corridorH;return n.x>=a.x&&n.x<=a.x+a.width&&n.y>=a.y&&n.y<=a.y+a.height}function Kv(n,t){const a=t.corridorV;return n.x>=a.x&&n.x<=a.x+a.width&&n.y>=a.y&&n.y<=a.y+a.height}function t3(n,t){if(n==="ceo"){const l=t.ceoOffice;return{x:l.x+l.width/2,y:l.y+l.height/2}}if(n==="bathroom-male"){const l=t.bathroomMale;return{x:l.x+l.width/2,y:l.y+l.height/2}}if(n==="bathroom-female"){const l=t.bathroomFemale;return{x:l.x+l.width/2,y:l.y+l.height/2}}if(n==="kitchen"){const l=t.kitchen;return{x:l.x+l.width/2,y:l.y+l.height/2}}if(n==="rest-area"){const l=t.restArea;return{x:l.x+l.width/2,y:l.y+l.height/2}}const a=n.match(/^squad-(\d+)$/);if(a){const l=parseInt(a[1],10),o=t.squadOrigins[l];if(o)return{x:o.origin.x+o.width/2,y:o.origin.y+o.height/2}}return t.corridorHub}function ld(n,t,a,l){const o=l.doorPoints[t],c=l.doorPoints[a];if(!o||!c)return[n];const d=l.corridorHub,m=t3(a,l),p=Qv(o,l)&&Qv(c,l),g=Kv(o,l)&&Kv(c,l);return p||g?[n,o,c,m]:[n,o,d,c,m]}function ap(n,t){const a=n.x-t.x,l=n.y-t.y;return Math.sqrt(a*a+l*l)}const Zv=500,Jv=50;let Fv=0;function Wv(n){return{idle:"idle",working:"working",delivering:"walking",done:"idle",checkpoint:"checkpoint"}[n]??"idle"}const We=cf(n=>({rooms:[],activeRoom:null,bubbles:{},activityLog:{},checkpoints:{},agentVisuals:{},appendBubble:(t,a,l)=>{const o=`${t}:${a}`;n(c=>{var p;let m=(((p=c.bubbles[o])==null?void 0:p.text)??"")+l;return m.length>Zv&&(m=m.slice(m.length-Zv)),{bubbles:{...c.bubbles,[o]:{text:m,updatedAt:Date.now()}}}})},clearBubble:(t,a)=>{const l=`${t}:${a}`;n(o=>{const{[l]:c,...d}=o.bubbles;return{bubbles:d}})},clearAllBubbles:()=>n({bubbles:{}}),addActivity:(t,a,l)=>{const c={id:++Fv,agentName:a,action:l,timestamp:Date.now()};n(d=>{var x;const p=[...((x=d.activityLog[t])==null?void 0:x.entries)??[],c],g=p.length>Jv?p.slice(p.length-Jv):p;return{activityLog:{...d.activityLog,[t]:{entries:g}}}})},setCheckpoint:(t,a,l,o)=>n(c=>({checkpoints:{...c.checkpoints,[t]:{agentId:a,agentName:l,question:o}}})),clearCheckpoint:t=>n(a=>{const{[t]:l,...o}=a.checkpoints;return{checkpoints:o}}),setActiveRoom:t=>n({activeRoom:t}),syncRooms:t=>n(a=>{const l=t;let o;return l.length===0?o=null:a.activeRoom===null||!l.includes(a.activeRoom)?o=l[0]:o=a.activeRoom,{rooms:l,activeRoom:o}}),setAgents:(t,a)=>n(l=>{const o=l.agentVisuals[t]??[],c=new Map(o.map(C=>[C.id,C])),d={x:0,y:0},m=Rp(l.rooms.length),p=l.rooms.indexOf(t),g=m.squadOrigins[p],x=(g==null?void 0:g.width)??480,b=(g==null?void 0:g.height)??360,E=a.map((C,M)=>{const z=c.get(C.id);if(z){const O=C.status?Wv(C.status):z.status,U=O!==z.status;let Y=z.targetPosition;return U&&(O==="working"||O==="checkpoint"?Y=Ic(M,d):Y=id(d,x,b)),{...z,name:C.name,deskIndex:M,status:O,targetPosition:Y}}const R=C.status?Wv(C.status):"idle",w=R==="working"||R==="checkpoint"?Ic(M,d):id(d,x,b);return{id:C.id,name:C.name,colorIndex:M%6,status:R,deskIndex:M,position:w,targetPosition:null}});return{agentVisuals:{...l.agentVisuals,[t]:E}}}),setAgentStatus:(t,a,l)=>n(o=>{const c=o.agentVisuals[t];if(!c)return o;const d={x:0,y:0},m=Rp(o.rooms.length),p=o.rooms.indexOf(t),g=m.squadOrigins[p],x=(g==null?void 0:g.width)??480,b=(g==null?void 0:g.height)??360,E=c.map(C=>{if(C.id!==a)return C;let M;return l==="working"||l==="checkpoint"?M=Ic(C.deskIndex,d):M=id(d,x,b),{...C,status:l,targetPosition:M}});return{agentVisuals:{...o.agentVisuals,[t]:E}}}),reset:()=>{Fv=0,n({rooms:[],activeRoom:null,bubbles:{},activityLog:{},checkpoints:{},agentVisuals:{}})}})),kM={background:"#0a0a0f",grid:"rgba(0, 200, 255, 0.06)",orbStandby:"#1a3a5c",orbListening:"#00c8ff",orbProcessing:"#ff8c00",orbSpeaking:"#00ff88",panelBg:"rgba(0, 200, 255, 0.08)",panelBorder:"rgba(0, 200, 255, 0.25)",textPrimary:"#e0e8f0",textAccent:"#00c8ff",textJarvis:"#00ff88",particleStart:"#00c8ff"},e3={orbRadius:60,orbRingWidth:3,gridSpacing:40,particleCount:65,particleMinRadius:1,particleMaxRadius:3,waveformBars:32,waveformMaxHeight:40,panelWidth:180,panelPadding:12,transcriptLineHeight:20,standbyTimeoutMs:15e3,ttsSplitLength:300};let a_=0;function n3(){return`jarvis-${Date.now()}-${++a_}`}let ms=null;const X0=cf((n,t)=>({mode:"STANDBY",messages:[],streamingText:"",selectedSquad:null,userName:"",setMode:a=>n({mode:a}),addMessage:(a,l)=>{const o={id:n3(),role:a,content:l,createdAt:new Date().toISOString()};n(c=>({messages:[...c.messages,o]}))},appendChunk:a=>{n(l=>({streamingText:l.streamingText+a}))},finalizeMessage:a=>{const{streamingText:l}=t(),o={id:a,role:"assistant",content:l,createdAt:new Date().toISOString()};n(c=>({messages:[...c.messages,o],streamingText:""}))},selectSquad:a=>n({selectedSquad:a}),setUserName:a=>n({userName:a}),startStandbyTimer:()=>{ms&&clearTimeout(ms),ms=setTimeout(()=>{n({mode:"STANDBY"}),ms=null},e3.standbyTimeoutMs)},resetStandbyTimer:()=>{t().startStandbyTimer()},clearStandbyTimer:()=>{ms&&(clearTimeout(ms),ms=null)},reset:()=>{ms&&(clearTimeout(ms),ms=null),a_=0,n({mode:"STANDBY",messages:[],streamingText:"",selectedSquad:null,userName:""})}})),vs=cf((n,t)=>({jobs:[],loading:!1,fetchJobs:async()=>{n({loading:!0});try{const a=await fetch("/api/scheduler",{credentials:"include"});if(a.ok){const l=await a.json();n({jobs:l.data,loading:!1})}else n({loading:!1})}catch{n({loading:!1})}},pauseJob:async a=>{await fetch(`/api/scheduler/${a}/pause`,{method:"POST",credentials:"include"}),t().fetchJobs()},resumeJob:async a=>{await fetch(`/api/scheduler/${a}/resume`,{method:"POST",credentials:"include"}),t().fetchJobs()},triggerJob:async a=>{await fetch(`/api/scheduler/${a}/trigger`,{method:"POST",credentials:"include"})},updateJobStatus:(a,l)=>{n(o=>({jobs:o.jobs.map(c=>c.squad_name===a?{...c,status:l}:c)}))}})),a3=[{to:"/office",label:"Office",icon:"⬡"},{to:"/chat",label:"Chat",icon:"◈"},{to:"/kanban",label:"Kanban",icon:"▦"},{to:"/scheduler",label:"Scheduler",icon:"⏣"},{to:"/settings",label:"Settings",icon:"⚙"}];function i3(){const n=zl(B=>B.user),t=zl(B=>B.isAuthenticated),a=zl(B=>B.loading),l=zl(B=>B.logout),o=zl(B=>B.checkAuth),c=qp(),d=Ol(),m=d.pathname==="/office"||d.pathname==="/",p=d.pathname==="/jarvis",g=ti(B=>B.squads),x=ti(B=>B.selectedSquad),b=ti(B=>x?B.activeStates[x]:null),E=ti(B=>B.fetchSquads),C=ti(B=>B.selectSquad),M=ti(B=>B.setSquadState),z=ti(B=>B.clearSquadState),R=G.useCallback((B,J)=>{M(B,J);const tt=We.getState();tt.rooms.includes(B)||tt.syncRooms([...tt.rooms,B]),J.status!=="checkpoint"&&tt.clearCheckpoint(B),J.agents&&tt.setAgents(B,J.agents.map(pt=>({id:pt.id,name:pt.name,status:pt.status})))},[M]),w=G.useCallback(B=>{z(B);const J=We.getState(),tt=J.agentVisuals[B];if(tt)for(const pt of tt)J.setAgentStatus(B,pt.id,"idle")},[z]),O=G.useCallback((B,J)=>{Fi.getState().setConversationId(J)},[]),U=G.useCallback((B,J,tt)=>{if(B==="_jarvis"){X0.getState().appendChunk(tt);return}const pt=Fi.getState();pt.streaming||pt.startStreaming(),pt.appendChunk(tt)},[]),Y=G.useCallback((B,J,tt)=>{if(B==="_jarvis"){X0.getState().finalizeMessage(tt);return}Fi.getState().finishStreaming(tt)},[]),k=G.useCallback((B,J)=>{if(B==="_jarvis"){X0.getState().setMode("LISTENING");return}Fi.getState().setError(J)},[]),V=G.useCallback((B,J,tt,pt,bt)=>{Fi.getState().addAgentDm({agentId:tt,agentName:pt,content:bt})},[]),Z=G.useCallback((B,J,tt,pt)=>{We.getState().appendBubble(B,J,pt)},[]),F=G.useCallback((B,J,tt,pt,bt)=>{We.getState().addActivity(B,tt,`started "${bt}"`),We.getState().setAgentStatus(B,J,"working")},[]),q=G.useCallback((B,J,tt,pt,bt)=>{We.getState().addActivity(B,tt,`completed "${bt}"`),We.getState().setAgentStatus(B,J,"idle")},[]),$=G.useCallback((B,J,tt,pt)=>{We.getState().setCheckpoint(B,J,tt,pt),We.getState().setAgentStatus(B,J,"checkpoint")},[]),et=G.useCallback(()=>{We.getState().clearAllBubbles()},[]),ct=G.useCallback((B,J,tt)=>{vs.getState().fetchJobs()},[]),vt=G.useCallback((B,J,tt,pt)=>{vs.getState().fetchJobs()},[]),dt=G.useCallback((B,J,tt,pt,bt)=>{vs.getState().fetchJobs()},[]),St=G.useCallback((B,J)=>{vs.getState().updateJobStatus(B,J)},[]),{subscribe:j,unsubscribe:Q,sendChat:ot,sendCheckpointResponse:rt}=wT({onSquadState:R,onSquadInactive:w,onChatConversationCreated:O,onChatChunk:U,onChatDone:Y,onChatError:k,onChatAgentDm:V,onAgentOutputChunk:Z,onAgentStepStart:F,onAgentStepComplete:q,onSquadCheckpoint:$,onReconnect:et,onScheduleStarted:ct,onScheduleDone:vt,onScheduleError:dt,onScheduleStatusChanged:St});G.useEffect(()=>{GT(ot)},[ot]),G.useEffect(()=>{qT(rt)},[rt]),G.useEffect(()=>{E().then(()=>{const{squads:B}=ti.getState();if(B.length>0){const J=We.getState(),tt=B.map(At=>At.code),pt=J.rooms,bt=[...new Set([...pt,...tt])];J.syncRooms(bt);for(const At of B)!J.agentVisuals[At.code]&&At.agents&&At.agents.length>0&&J.setAgents(At.code,At.agents.map(Ot=>({id:Ot.id,name:Ot.name,status:"idle"})))}})},[E]);const gt=We(B=>B.rooms);return G.useEffect(()=>{for(const B of gt)j(B);return()=>{for(const B of gt)Q(B)}},[gt,j,Q]),G.useEffect(()=>{if(p)return j("_jarvis"),()=>Q("_jarvis")},[p,j,Q]),G.useEffect(()=>{t||o()},[]),G.useEffect(()=>{!a&&!t&&c("/login",{state:{from:d.pathname}})},[a,t,c,d.pathname]),p?H.jsx(Hv,{}):H.jsxs("div",{className:"noise-bg",style:{display:"flex",flexDirection:"column",height:"100vh",background:"var(--surface-0)",color:"var(--text-primary)"},children:[H.jsxs("header",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",height:"var(--header-height)",padding:"0 var(--sp-4)",background:"var(--surface-1)",borderBottom:"1px solid var(--border-subtle)",position:"relative",zIndex:10},children:[H.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--sp-3)"},children:[H.jsx("div",{style:{width:28,height:28,borderRadius:"var(--radius-sm)",background:"linear-gradient(135deg, var(--accent), var(--accent-dim))",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"0.8rem",fontWeight:700,color:"var(--text-inverse)",boxShadow:"0 0 12px var(--accent-glow-strong)"},children:"EX"}),H.jsx("span",{style:{fontFamily:"var(--font-display)",fontWeight:700,fontSize:"0.95rem",color:"var(--text-primary)",letterSpacing:"-0.02em"},children:"ExpxAgents"}),H.jsx("span",{style:{fontFamily:"var(--font-mono)",fontSize:"0.6rem",color:"var(--text-muted)",background:"var(--surface-3)",padding:"2px 6px",borderRadius:"var(--radius-xs)",letterSpacing:"0.05em"},children:"MISSION CONTROL"})]}),H.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--sp-4)"},children:[H.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--sp-2)",fontFamily:"var(--font-mono)",fontSize:"0.75rem",color:"var(--text-secondary)"},children:[H.jsx("span",{style:{display:"inline-block",width:6,height:6,borderRadius:"50%",background:"var(--status-active)",boxShadow:"0 0 8px var(--status-active-glow)",animation:"statusPulse 2s ease-in-out infinite"}}),H.jsx("span",{children:n==null?void 0:n.username})]}),H.jsx("button",{onClick:l,className:"btn-ghost",style:{background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontFamily:"var(--font-display)",fontSize:"0.75rem",padding:"4px 8px",borderRadius:"var(--radius-xs)",transition:"color var(--duration-fast) var(--ease-out)"},onMouseEnter:B=>B.currentTarget.style.color="var(--status-error)",onMouseLeave:B=>B.currentTarget.style.color="var(--text-muted)",children:"Logout"})]})]}),H.jsxs("div",{style:{display:"flex",flex:1,overflow:"hidden"},children:[H.jsxs("aside",{style:{width:"var(--sidebar-width)",background:"var(--surface-1)",borderRight:"1px solid var(--border-subtle)",display:"flex",flexDirection:"column",overflowY:"auto"},children:[!m&&H.jsxs(H.Fragment,{children:[H.jsx(UT,{squads:g,selectedSquad:x,onSelect:C}),H.jsx("div",{style:{height:1,margin:"0 var(--sp-3)",background:"var(--border-subtle)"}})]}),H.jsxs("nav",{style:{padding:"var(--sp-3)",display:"flex",flexDirection:"column",gap:"var(--sp-1)",flex:1},children:[H.jsx("div",{style:{fontFamily:"var(--font-mono)",fontSize:"0.6rem",color:"var(--text-muted)",textTransform:"uppercase",letterSpacing:"0.1em",padding:"0 var(--sp-2)",marginBottom:"var(--sp-1)"},children:"Navigation"}),a3.map(B=>H.jsxs($x,{to:B.to,style:({isActive:J})=>({display:"flex",alignItems:"center",gap:"var(--sp-2)",padding:"8px 10px",borderRadius:"var(--radius-sm)",textDecoration:"none",fontSize:"0.82rem",fontWeight:J?600:400,color:J?"var(--accent)":"var(--text-secondary)",background:J?"var(--accent-glow)":"transparent",border:J?"1px solid rgba(0, 200, 255, 0.12)":"1px solid transparent",transition:"all var(--duration-fast) var(--ease-out)"}),children:[H.jsx("span",{style:{fontFamily:"var(--font-mono)",fontSize:"0.85rem",width:20,textAlign:"center",opacity:.7},children:B.icon}),B.label]},B.to)),H.jsx("div",{style:{height:1,margin:"var(--sp-2) var(--sp-2)",background:"var(--border-subtle)"}}),H.jsxs("a",{href:"/jarvis",target:"_blank",rel:"noopener noreferrer",style:{display:"flex",alignItems:"center",gap:"var(--sp-2)",padding:"8px 10px",borderRadius:"var(--radius-sm)",textDecoration:"none",fontSize:"0.82rem",fontWeight:500,color:"var(--status-active)",background:"var(--status-active-glow)",border:"1px solid rgba(0, 230, 138, 0.12)",transition:"all var(--duration-fast) var(--ease-out)"},children:[H.jsx("span",{style:{fontFamily:"var(--font-mono)",fontSize:"0.85rem",width:20,textAlign:"center",opacity:.7},children:"◉"}),"Jarvis",H.jsx("span",{style:{marginLeft:"auto",fontFamily:"var(--font-mono)",fontSize:"0.55rem",opacity:.6},children:"↗"})]})]}),H.jsxs("div",{style:{padding:"var(--sp-3)",borderTop:"1px solid var(--border-subtle)",fontFamily:"var(--font-mono)",fontSize:"0.65rem",color:"var(--text-muted)",display:"flex",justifyContent:"space-between"},children:[H.jsxs("span",{children:[g.length," squad",g.length!==1?"s":""]}),H.jsx("span",{children:"v0.1.0"})]})]}),H.jsx("main",{className:"grid-bg",style:{flex:1,overflow:"auto",position:"relative"},children:H.jsx(Hv,{})})]}),H.jsx(jT,{state:b})]})}function l3(){var E;const[n,t]=G.useState(""),[a,l]=G.useState(""),o=zl(C=>C.login),c=zl(C=>C.loading),d=zl(C=>C.error),m=zl(C=>C.isAuthenticated),p=qp(),x=((E=Ol().state)==null?void 0:E.from)||"/";G.useEffect(()=>{m&&p(x,{replace:!0})},[m,p,x]);const b=C=>{C.preventDefault(),o(n,a)};return H.jsx("div",{className:"noise-bg grid-bg",style:{display:"flex",alignItems:"center",justifyContent:"center",minHeight:"100vh",background:"var(--surface-0)"},children:H.jsxs("div",{style:{animation:"fadeInUp 0.6s var(--ease-out) both",width:360},children:[H.jsxs("div",{style:{textAlign:"center",marginBottom:"var(--sp-8)"},children:[H.jsx("div",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:48,height:48,borderRadius:"var(--radius-md)",background:"linear-gradient(135deg, var(--accent), var(--accent-dim))",fontSize:"1.1rem",fontWeight:800,color:"var(--text-inverse)",boxShadow:"var(--shadow-glow-strong)",marginBottom:"var(--sp-4)"},children:"EX"}),H.jsx("h1",{style:{fontFamily:"var(--font-display)",fontWeight:700,fontSize:"1.4rem",color:"var(--text-primary)",letterSpacing:"-0.02em",marginBottom:"var(--sp-1)"},children:"ExpxAgents"}),H.jsx("p",{style:{fontFamily:"var(--font-mono)",fontSize:"0.65rem",color:"var(--text-muted)",textTransform:"uppercase",letterSpacing:"0.15em"},children:"Mission Control"})]}),H.jsxs("form",{onSubmit:b,className:"glass",style:{padding:"var(--sp-6)",borderRadius:"var(--radius-lg)",boxShadow:"var(--shadow-lg)"},children:[d&&H.jsx("div",{style:{padding:"var(--sp-2) var(--sp-3)",marginBottom:"var(--sp-4)",borderRadius:"var(--radius-sm)",background:"var(--status-error-glow)",border:"1px solid rgba(255, 64, 112, 0.2)",color:"var(--status-error)",fontSize:"0.8rem",fontFamily:"var(--font-mono)"},children:d}),H.jsxs("div",{style:{marginBottom:"var(--sp-3)"},children:[H.jsx("label",{style:{display:"block",fontFamily:"var(--font-mono)",fontSize:"0.65rem",color:"var(--text-muted)",textTransform:"uppercase",letterSpacing:"0.08em",marginBottom:"var(--sp-1)"},children:"Username"}),H.jsx("input",{type:"text",className:"input",placeholder:"Enter username",value:n,onChange:C=>t(C.target.value),autoFocus:!0})]}),H.jsxs("div",{style:{marginBottom:"var(--sp-5)"},children:[H.jsx("label",{style:{display:"block",fontFamily:"var(--font-mono)",fontSize:"0.65rem",color:"var(--text-muted)",textTransform:"uppercase",letterSpacing:"0.08em",marginBottom:"var(--sp-1)"},children:"Password"}),H.jsx("input",{type:"password",className:"input",placeholder:"Enter password",value:a,onChange:C=>l(C.target.value)})]}),H.jsx("button",{type:"submit",disabled:c,className:"btn btn-accent",style:{width:"100%",padding:"var(--sp-3)",fontSize:"0.85rem",cursor:c?"wait":"pointer",opacity:c?.7:1},children:c?"Authenticating...":"Access Mission Control"})]}),H.jsx("p",{style:{textAlign:"center",marginTop:"var(--sp-4)",fontFamily:"var(--font-mono)",fontSize:"0.6rem",color:"var(--text-muted)"},children:"AI Squad Orchestration Platform"})]})})}function i_(n,t,a){if(!n)return;if(a(n)===!0)return n;let l=n.child;for(;l;){const o=i_(l,t,a);if(o)return o;l=l.sibling}}function l_(n){try{return Object.defineProperties(n,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return n}}const sg=l_(G.createContext(null));let s_=class extends G.Component{render(){return G.createElement(sg.Provider,{value:this._reactInternals},this.props.children)}};function s3(){const n=G.useContext(sg);if(n===null)throw new Error("its-fine: useFiber must be called within a <FiberProvider />!");const t=G.useId();return G.useMemo(()=>{for(const a of[n,n==null?void 0:n.alternate]){if(!a)continue;const l=i_(a,!1,o=>{let c=o.memoizedState;for(;c;){if(c.memoizedState===t)return!0;c=c.next}});if(l)return l}},[n,t])}const r3=Symbol.for("react.context"),u3=n=>n!==null&&typeof n=="object"&&"$$typeof"in n&&n.$$typeof===r3;function o3(){const n=s3(),[t]=G.useState(()=>new Map);t.clear();let a=n;for(;a;){const l=a.type;u3(l)&&l!==sg&&!t.has(l)&&t.set(l,G.use(l_(l))),a=a.return}return t}function c3(){const n=o3();return G.useMemo(()=>Array.from(n.keys()).reduce((t,a)=>l=>G.createElement(t,null,G.createElement(a.Provider,{...l,value:n.get(a)})),t=>G.createElement(s_,{...t})),[n])}var Wt=(n=>(n.Application="application",n.WebGLPipes="webgl-pipes",n.WebGLPipesAdaptor="webgl-pipes-adaptor",n.WebGLSystem="webgl-system",n.WebGPUPipes="webgpu-pipes",n.WebGPUPipesAdaptor="webgpu-pipes-adaptor",n.WebGPUSystem="webgpu-system",n.CanvasSystem="canvas-system",n.CanvasPipesAdaptor="canvas-pipes-adaptor",n.CanvasPipes="canvas-pipes",n.Asset="asset",n.LoadParser="load-parser",n.ResolveParser="resolve-parser",n.CacheParser="cache-parser",n.DetectionParser="detection-parser",n.MaskEffect="mask-effect",n.BlendMode="blend-mode",n.TextureSource="texture-source",n.Environment="environment",n.ShapeBuilder="shape-builder",n.Batcher="batcher",n))(Wt||{});const wy=n=>{if(typeof n=="function"||typeof n=="object"&&n.extension){if(!n.extension)throw new Error("Extension class must have an extension object");n={...typeof n.extension!="object"?{type:n.extension}:n.extension,ref:n}}if(typeof n=="object")n={...n};else throw new Error("Invalid extension type");return typeof n.type=="string"&&(n.type=[n.type]),n},ip=(n,t)=>wy(n).priority??t,Ie={_addHandlers:{},_removeHandlers:{},_queue:{},remove(...n){return n.map(wy).forEach(t=>{t.type.forEach(a=>{var l,o;return(o=(l=this._removeHandlers)[a])==null?void 0:o.call(l,t)})}),this},add(...n){return n.map(wy).forEach(t=>{t.type.forEach(a=>{var c,d;const l=this._addHandlers,o=this._queue;l[a]?(d=l[a])==null||d.call(l,t):(o[a]=o[a]||[],(c=o[a])==null||c.push(t))})}),this},handle(n,t,a){var d;const l=this._addHandlers,o=this._removeHandlers;if(l[n]||o[n])throw new Error(`Extension type ${n} already has a handler`);l[n]=t,o[n]=a;const c=this._queue;return c[n]&&((d=c[n])==null||d.forEach(m=>t(m)),delete c[n]),this},handleByMap(n,t){return this.handle(n,a=>{a.name&&(t[a.name]=a.ref)},a=>{a.name&&delete t[a.name]})},handleByNamedList(n,t,a=-1){return this.handle(n,l=>{t.findIndex(c=>c.name===l.name)>=0||(t.push({name:l.name,value:l.ref}),t.sort((c,d)=>ip(d.value,a)-ip(c.value,a)))},l=>{const o=t.findIndex(c=>c.name===l.name);o!==-1&&t.splice(o,1)})},handleByList(n,t,a=-1){return this.handle(n,l=>{t.includes(l.ref)||(t.push(l.ref),t.sort((o,c)=>ip(c,a)-ip(o,a)))},l=>{const o=t.indexOf(l.ref);o!==-1&&t.splice(o,1)})},mixin(n,...t){for(const a of t)Object.defineProperties(n.prototype,Object.getOwnPropertyDescriptors(a))}},f3={extension:{type:Wt.Environment,name:"browser",priority:-1},test:()=>!0,load:async()=>{await Pc(()=>import("./browserAll-BC0ycs7y.js"),__vite__mapDeps([0,1]))}},h3={extension:{type:Wt.Environment,name:"webworker",priority:0},test:()=>typeof self<"u"&&self.WorkerGlobalScope!==void 0,load:async()=>{await Pc(()=>import("./webworkerAll-D7SccyuO.js"),[])}};class In{constructor(t,a,l){this._x=a||0,this._y=l||0,this._observer=t}clone(t){return new In(t??this._observer,this._x,this._y)}set(t=0,a=t){return(this._x!==t||this._y!==a)&&(this._x=t,this._y=a,this._observer._onUpdate(this)),this}copyFrom(t){return(this._x!==t.x||this._y!==t.y)&&(this._x=t.x,this._y=t.y,this._observer._onUpdate(this)),this}copyTo(t){return t.set(this._x,this._y),t}equals(t){return t.x===this._x&&t.y===this._y}toString(){return`[pixi.js/math:ObservablePoint x=${this._x} y=${this._y} scope=${this._observer}]`}get x(){return this._x}set x(t){this._x!==t&&(this._x=t,this._observer._onUpdate(this))}get y(){return this._y}set y(t){this._y!==t&&(this._y=t,this._observer._onUpdate(this))}}var V0={exports:{}},Pv;function d3(){return Pv||(Pv=1,(function(n){var t=Object.prototype.hasOwnProperty,a="~";function l(){}Object.create&&(l.prototype=Object.create(null),new l().__proto__||(a=!1));function o(p,g,x){this.fn=p,this.context=g,this.once=x||!1}function c(p,g,x,b,E){if(typeof x!="function")throw new TypeError("The listener must be a function");var C=new o(x,b||p,E),M=a?a+g:g;return p._events[M]?p._events[M].fn?p._events[M]=[p._events[M],C]:p._events[M].push(C):(p._events[M]=C,p._eventsCount++),p}function d(p,g){--p._eventsCount===0?p._events=new l:delete p._events[g]}function m(){this._events=new l,this._eventsCount=0}m.prototype.eventNames=function(){var g=[],x,b;if(this._eventsCount===0)return g;for(b in x=this._events)t.call(x,b)&&g.push(a?b.slice(1):b);return Object.getOwnPropertySymbols?g.concat(Object.getOwnPropertySymbols(x)):g},m.prototype.listeners=function(g){var x=a?a+g:g,b=this._events[x];if(!b)return[];if(b.fn)return[b.fn];for(var E=0,C=b.length,M=new Array(C);E<C;E++)M[E]=b[E].fn;return M},m.prototype.listenerCount=function(g){var x=a?a+g:g,b=this._events[x];return b?b.fn?1:b.length:0},m.prototype.emit=function(g,x,b,E,C,M){var z=a?a+g:g;if(!this._events[z])return!1;var R=this._events[z],w=arguments.length,O,U;if(R.fn){switch(R.once&&this.removeListener(g,R.fn,void 0,!0),w){case 1:return R.fn.call(R.context),!0;case 2:return R.fn.call(R.context,x),!0;case 3:return R.fn.call(R.context,x,b),!0;case 4:return R.fn.call(R.context,x,b,E),!0;case 5:return R.fn.call(R.context,x,b,E,C),!0;case 6:return R.fn.call(R.context,x,b,E,C,M),!0}for(U=1,O=new Array(w-1);U<w;U++)O[U-1]=arguments[U];R.fn.apply(R.context,O)}else{var Y=R.length,k;for(U=0;U<Y;U++)switch(R[U].once&&this.removeListener(g,R[U].fn,void 0,!0),w){case 1:R[U].fn.call(R[U].context);break;case 2:R[U].fn.call(R[U].context,x);break;case 3:R[U].fn.call(R[U].context,x,b);break;case 4:R[U].fn.call(R[U].context,x,b,E);break;default:if(!O)for(k=1,O=new Array(w-1);k<w;k++)O[k-1]=arguments[k];R[U].fn.apply(R[U].context,O)}}return!0},m.prototype.on=function(g,x,b){return c(this,g,x,b,!1)},m.prototype.once=function(g,x,b){return c(this,g,x,b,!0)},m.prototype.removeListener=function(g,x,b,E){var C=a?a+g:g;if(!this._events[C])return this;if(!x)return d(this,C),this;var M=this._events[C];if(M.fn)M.fn===x&&(!E||M.once)&&(!b||M.context===b)&&d(this,C);else{for(var z=0,R=[],w=M.length;z<w;z++)(M[z].fn!==x||E&&!M[z].once||b&&M[z].context!==b)&&R.push(M[z]);R.length?this._events[C]=R.length===1?R[0]:R:d(this,C)}return this},m.prototype.removeAllListeners=function(g){var x;return g?(x=a?a+g:g,this._events[x]&&d(this,x)):(this._events=new l,this._eventsCount=0),this},m.prototype.off=m.prototype.removeListener,m.prototype.addListener=m.prototype.on,m.prefixed=a,m.EventEmitter=m,n.exports=m})(V0)),V0.exports}var m3=d3();const _s=Hp(m3),p3=Math.PI*2,y3=180/Math.PI,g3=Math.PI/180;class ya{constructor(t=0,a=0){this.x=0,this.y=0,this.x=t,this.y=a}clone(){return new ya(this.x,this.y)}copyFrom(t){return this.set(t.x,t.y),this}copyTo(t){return t.set(this.x,this.y),t}equals(t){return t.x===this.x&&t.y===this.y}set(t=0,a=t){return this.x=t,this.y=a,this}toString(){return`[pixi.js/math:Point x=${this.x} y=${this.y}]`}static get shared(){return k0.x=0,k0.y=0,k0}}const k0=new ya;class le{constructor(t=1,a=0,l=0,o=1,c=0,d=0){this.array=null,this.a=t,this.b=a,this.c=l,this.d=o,this.tx=c,this.ty=d}fromArray(t){this.a=t[0],this.b=t[1],this.c=t[3],this.d=t[4],this.tx=t[2],this.ty=t[5]}set(t,a,l,o,c,d){return this.a=t,this.b=a,this.c=l,this.d=o,this.tx=c,this.ty=d,this}toArray(t,a){this.array||(this.array=new Float32Array(9));const l=a||this.array;return t?(l[0]=this.a,l[1]=this.b,l[2]=0,l[3]=this.c,l[4]=this.d,l[5]=0,l[6]=this.tx,l[7]=this.ty,l[8]=1):(l[0]=this.a,l[1]=this.c,l[2]=this.tx,l[3]=this.b,l[4]=this.d,l[5]=this.ty,l[6]=0,l[7]=0,l[8]=1),l}apply(t,a){a=a||new ya;const l=t.x,o=t.y;return a.x=this.a*l+this.c*o+this.tx,a.y=this.b*l+this.d*o+this.ty,a}applyInverse(t,a){a=a||new ya;const l=this.a,o=this.b,c=this.c,d=this.d,m=this.tx,p=this.ty,g=1/(l*d+c*-o),x=t.x,b=t.y;return a.x=d*g*x+-c*g*b+(p*c-m*d)*g,a.y=l*g*b+-o*g*x+(-p*l+m*o)*g,a}translate(t,a){return this.tx+=t,this.ty+=a,this}scale(t,a){return this.a*=t,this.d*=a,this.c*=t,this.b*=a,this.tx*=t,this.ty*=a,this}rotate(t){const a=Math.cos(t),l=Math.sin(t),o=this.a,c=this.c,d=this.tx;return this.a=o*a-this.b*l,this.b=o*l+this.b*a,this.c=c*a-this.d*l,this.d=c*l+this.d*a,this.tx=d*a-this.ty*l,this.ty=d*l+this.ty*a,this}append(t){const a=this.a,l=this.b,o=this.c,c=this.d;return this.a=t.a*a+t.b*o,this.b=t.a*l+t.b*c,this.c=t.c*a+t.d*o,this.d=t.c*l+t.d*c,this.tx=t.tx*a+t.ty*o+this.tx,this.ty=t.tx*l+t.ty*c+this.ty,this}appendFrom(t,a){const l=t.a,o=t.b,c=t.c,d=t.d,m=t.tx,p=t.ty,g=a.a,x=a.b,b=a.c,E=a.d;return this.a=l*g+o*b,this.b=l*x+o*E,this.c=c*g+d*b,this.d=c*x+d*E,this.tx=m*g+p*b+a.tx,this.ty=m*x+p*E+a.ty,this}setTransform(t,a,l,o,c,d,m,p,g){return this.a=Math.cos(m+g)*c,this.b=Math.sin(m+g)*c,this.c=-Math.sin(m-p)*d,this.d=Math.cos(m-p)*d,this.tx=t-(l*this.a+o*this.c),this.ty=a-(l*this.b+o*this.d),this}prepend(t){const a=this.tx;if(t.a!==1||t.b!==0||t.c!==0||t.d!==1){const l=this.a,o=this.c;this.a=l*t.a+this.b*t.c,this.b=l*t.b+this.b*t.d,this.c=o*t.a+this.d*t.c,this.d=o*t.b+this.d*t.d}return this.tx=a*t.a+this.ty*t.c+t.tx,this.ty=a*t.b+this.ty*t.d+t.ty,this}decompose(t){const a=this.a,l=this.b,o=this.c,c=this.d,d=t.pivot,m=-Math.atan2(-o,c),p=Math.atan2(l,a),g=Math.abs(m+p);return g<1e-5||Math.abs(p3-g)<1e-5?(t.rotation=p,t.skew.x=t.skew.y=0):(t.rotation=0,t.skew.x=m,t.skew.y=p),t.scale.x=Math.sqrt(a*a+l*l),t.scale.y=Math.sqrt(o*o+c*c),t.position.x=this.tx+(d.x*a+d.y*o),t.position.y=this.ty+(d.x*l+d.y*c),t}invert(){const t=this.a,a=this.b,l=this.c,o=this.d,c=this.tx,d=t*o-a*l;return this.a=o/d,this.b=-a/d,this.c=-l/d,this.d=t/d,this.tx=(l*this.ty-o*c)/d,this.ty=-(t*this.ty-a*c)/d,this}isIdentity(){return this.a===1&&this.b===0&&this.c===0&&this.d===1&&this.tx===0&&this.ty===0}identity(){return this.a=1,this.b=0,this.c=0,this.d=1,this.tx=0,this.ty=0,this}clone(){const t=new le;return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t}copyTo(t){return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t}copyFrom(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this}equals(t){return t.a===this.a&&t.b===this.b&&t.c===this.c&&t.d===this.d&&t.tx===this.tx&&t.ty===this.ty}toString(){return`[pixi.js:Matrix a=${this.a} b=${this.b} c=${this.c} d=${this.d} tx=${this.tx} ty=${this.ty}]`}static get IDENTITY(){return x3.identity()}static get shared(){return v3.identity()}}const v3=new le,x3=new le,fo=[1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1,0,1],ho=[0,1,1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1],mo=[0,-1,-1,-1,0,1,1,1,0,1,1,1,0,-1,-1,-1],po=[1,1,0,-1,-1,-1,0,1,-1,-1,0,1,1,1,0,-1],Dy=[],r_=[],lp=Math.sign;function _3(){for(let n=0;n<16;n++){const t=[];Dy.push(t);for(let a=0;a<16;a++){const l=lp(fo[n]*fo[a]+mo[n]*ho[a]),o=lp(ho[n]*fo[a]+po[n]*ho[a]),c=lp(fo[n]*mo[a]+mo[n]*po[a]),d=lp(ho[n]*mo[a]+po[n]*po[a]);for(let m=0;m<16;m++)if(fo[m]===l&&ho[m]===o&&mo[m]===c&&po[m]===d){t.push(m);break}}}for(let n=0;n<16;n++){const t=new le;t.set(fo[n],ho[n],mo[n],po[n],0,0),r_.push(t)}}_3();const Ue={E:0,SE:1,S:2,SW:3,W:4,NW:5,N:6,NE:7,MIRROR_VERTICAL:8,MAIN_DIAGONAL:10,MIRROR_HORIZONTAL:12,REVERSE_DIAGONAL:14,uX:n=>fo[n],uY:n=>ho[n],vX:n=>mo[n],vY:n=>po[n],inv:n=>n&8?n&15:-n&7,add:(n,t)=>Dy[n][t],sub:(n,t)=>Dy[n][Ue.inv(t)],rotate180:n=>n^4,isVertical:n=>(n&3)===2,byDirection:(n,t)=>Math.abs(n)*2<=Math.abs(t)?t>=0?Ue.S:Ue.N:Math.abs(t)*2<=Math.abs(n)?n>0?Ue.E:Ue.W:t>0?n>0?Ue.SE:Ue.SW:n>0?Ue.NE:Ue.NW,matrixAppendRotationInv:(n,t,a=0,l=0,o=0,c=0)=>{const d=r_[Ue.inv(t)],m=d.a,p=d.b,g=d.c,x=d.d,b=a-Math.min(0,m*o,g*c,m*o+g*c),E=l-Math.min(0,p*o,x*c,p*o+x*c),C=n.a,M=n.b,z=n.c,R=n.d;n.a=m*C+p*z,n.b=m*M+p*R,n.c=g*C+x*z,n.d=g*M+x*R,n.tx=b*C+E*z+n.tx,n.ty=b*M+E*R+n.ty},transformRectCoords:(n,t,a,l)=>{const{x:o,y:c,width:d,height:m}=n,{x:p,y:g,width:x,height:b}=t;return a===Ue.E?(l.set(o+p,c+g,d,m),l):a===Ue.S?l.set(x-c-m+p,o+g,m,d):a===Ue.W?l.set(x-o-d+p,b-c-m+g,d,m):a===Ue.N?l.set(c+p,b-o-d+g,m,d):l.set(o+p,c+g,d,m)}},sp=[new ya,new ya,new ya,new ya];class mn{constructor(t=0,a=0,l=0,o=0){this.type="rectangle",this.x=Number(t),this.y=Number(a),this.width=Number(l),this.height=Number(o)}get left(){return this.x}get right(){return this.x+this.width}get top(){return this.y}get bottom(){return this.y+this.height}isEmpty(){return this.left===this.right||this.top===this.bottom}static get EMPTY(){return new mn(0,0,0,0)}clone(){return new mn(this.x,this.y,this.width,this.height)}copyFromBounds(t){return this.x=t.minX,this.y=t.minY,this.width=t.maxX-t.minX,this.height=t.maxY-t.minY,this}copyFrom(t){return this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this}copyTo(t){return t.copyFrom(this),t}contains(t,a){return this.width<=0||this.height<=0?!1:t>=this.x&&t<this.x+this.width&&a>=this.y&&a<this.y+this.height}strokeContains(t,a,l,o=.5){const{width:c,height:d}=this;if(c<=0||d<=0)return!1;const m=this.x,p=this.y,g=l*(1-o),x=l-g,b=m-g,E=m+c+g,C=p-g,M=p+d+g,z=m+x,R=m+c-x,w=p+x,O=p+d-x;return t>=b&&t<=E&&a>=C&&a<=M&&!(t>z&&t<R&&a>w&&a<O)}intersects(t,a){if(!a){const F=this.x<t.x?t.x:this.x;if((this.right>t.right?t.right:this.right)<=F)return!1;const $=this.y<t.y?t.y:this.y;return(this.bottom>t.bottom?t.bottom:this.bottom)>$}const l=this.left,o=this.right,c=this.top,d=this.bottom;if(o<=l||d<=c)return!1;const m=sp[0].set(t.left,t.top),p=sp[1].set(t.left,t.bottom),g=sp[2].set(t.right,t.top),x=sp[3].set(t.right,t.bottom);if(g.x<=m.x||p.y<=m.y)return!1;const b=Math.sign(a.a*a.d-a.b*a.c);if(b===0||(a.apply(m,m),a.apply(p,p),a.apply(g,g),a.apply(x,x),Math.max(m.x,p.x,g.x,x.x)<=l||Math.min(m.x,p.x,g.x,x.x)>=o||Math.max(m.y,p.y,g.y,x.y)<=c||Math.min(m.y,p.y,g.y,x.y)>=d))return!1;const E=b*(p.y-m.y),C=b*(m.x-p.x),M=E*l+C*c,z=E*o+C*c,R=E*l+C*d,w=E*o+C*d;if(Math.max(M,z,R,w)<=E*m.x+C*m.y||Math.min(M,z,R,w)>=E*x.x+C*x.y)return!1;const O=b*(m.y-g.y),U=b*(g.x-m.x),Y=O*l+U*c,k=O*o+U*c,V=O*l+U*d,Z=O*o+U*d;return!(Math.max(Y,k,V,Z)<=O*m.x+U*m.y||Math.min(Y,k,V,Z)>=O*x.x+U*x.y)}pad(t=0,a=t){return this.x-=t,this.y-=a,this.width+=t*2,this.height+=a*2,this}fit(t){const a=Math.max(this.x,t.x),l=Math.min(this.x+this.width,t.x+t.width),o=Math.max(this.y,t.y),c=Math.min(this.y+this.height,t.y+t.height);return this.x=a,this.width=Math.max(l-a,0),this.y=o,this.height=Math.max(c-o,0),this}ceil(t=1,a=.001){const l=Math.ceil((this.x+this.width-a)*t)/t,o=Math.ceil((this.y+this.height-a)*t)/t;return this.x=Math.floor((this.x+a)*t)/t,this.y=Math.floor((this.y+a)*t)/t,this.width=l-this.x,this.height=o-this.y,this}scale(t,a=t){return this.x*=t,this.y*=a,this.width*=t,this.height*=a,this}enlarge(t){const a=Math.min(this.x,t.x),l=Math.max(this.x+this.width,t.x+t.width),o=Math.min(this.y,t.y),c=Math.max(this.y+this.height,t.y+t.height);return this.x=a,this.width=l-a,this.y=o,this.height=c-o,this}getBounds(t){return t||(t=new mn),t.copyFrom(this),t}containsRect(t){if(this.width<=0||this.height<=0)return!1;const a=t.x,l=t.y,o=t.x+t.width,c=t.y+t.height;return a>=this.x&&a<this.x+this.width&&l>=this.y&&l<this.y+this.height&&o>=this.x&&o<this.x+this.width&&c>=this.y&&c<this.y+this.height}set(t,a,l,o){return this.x=t,this.y=a,this.width=l,this.height=o,this}toString(){return`[pixi.js/math:Rectangle x=${this.x} y=${this.y} width=${this.width} height=${this.height}]`}}const Q0={default:-1};function on(n="default"){return Q0[n]===void 0&&(Q0[n]=-1),++Q0[n]}const Iv=new Set,un="8.0.0",S3="8.3.4",Zc={quiet:!1,noColor:!1},de=((n,t,a=3)=>{if(Zc.quiet||Iv.has(t))return;let l=new Error().stack;const o=`${t}
62
62
  Deprecated since v${n}`,c=typeof console.groupCollapsed=="function"&&!Zc.noColor;typeof l>"u"?console.warn("PixiJS Deprecation Warning: ",o):(l=l.split(`
63
63
  `).splice(a).join(`
64
64
  `),c?(console.groupCollapsed("%cPixiJS Deprecation Warning: %c%s","color:#614108;background:#fffbe6","font-weight:normal;color:#614108;background:#fffbe6",o),console.warn(l),console.groupEnd()):(console.warn("PixiJS Deprecation Warning: ",o),console.warn(l))),Iv.add(t)});Object.defineProperties(de,{quiet:{get:()=>Zc.quiet,set:n=>{Zc.quiet=n},enumerable:!0,configurable:!1},noColor:{get:()=>Zc.noColor,set:n=>{Zc.noColor=n},enumerable:!0,configurable:!1}});const u_=()=>{};function tf(n){return n+=n===0?1:0,--n,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n+1}function $v(n){return!(n&n-1)&&!!n}function o_(n){const t={};for(const a in n)n[a]!==void 0&&(t[a]=n[a]);return t}const t1=Object.create(null);function b3(n){const t=t1[n];return t===void 0&&(t1[n]=on("resource")),t}const c_=class f_ extends _s{constructor(t={}){super(),this._resourceType="textureSampler",this._touched=0,this._maxAnisotropy=1,this.destroyed=!1,t={...f_.defaultOptions,...t},this.addressMode=t.addressMode,this.addressModeU=t.addressModeU??this.addressModeU,this.addressModeV=t.addressModeV??this.addressModeV,this.addressModeW=t.addressModeW??this.addressModeW,this.scaleMode=t.scaleMode,this.magFilter=t.magFilter??this.magFilter,this.minFilter=t.minFilter??this.minFilter,this.mipmapFilter=t.mipmapFilter??this.mipmapFilter,this.lodMinClamp=t.lodMinClamp,this.lodMaxClamp=t.lodMaxClamp,this.compare=t.compare,this.maxAnisotropy=t.maxAnisotropy??1}set addressMode(t){this.addressModeU=t,this.addressModeV=t,this.addressModeW=t}get addressMode(){return this.addressModeU}set wrapMode(t){de(un,"TextureStyle.wrapMode is now TextureStyle.addressMode"),this.addressMode=t}get wrapMode(){return this.addressMode}set scaleMode(t){this.magFilter=t,this.minFilter=t,this.mipmapFilter=t}get scaleMode(){return this.magFilter}set maxAnisotropy(t){this._maxAnisotropy=Math.min(t,16),this._maxAnisotropy>1&&(this.scaleMode="linear")}get maxAnisotropy(){return this._maxAnisotropy}get _resourceId(){return this._sharedResourceId||this._generateResourceId()}update(){this._sharedResourceId=null,this.emit("change",this)}_generateResourceId(){const t=`${this.addressModeU}-${this.addressModeV}-${this.addressModeW}-${this.magFilter}-${this.minFilter}-${this.mipmapFilter}-${this.lodMinClamp}-${this.lodMaxClamp}-${this.compare}-${this._maxAnisotropy}`;return this._sharedResourceId=b3(t),this._resourceId}destroy(){this.destroyed=!0,this.emit("destroy",this),this.emit("change",this),this.removeAllListeners()}};c_.defaultOptions={addressMode:"clamp-to-edge",scaleMode:"linear"};let ef=c_;const h_=class d_ extends _s{constructor(t={}){super(),this.options=t,this._gpuData=Object.create(null),this._gcLastUsed=-1,this.uid=on("textureSource"),this._resourceType="textureSource",this._resourceId=on("resource"),this.uploadMethodId="unknown",this._resolution=1,this.pixelWidth=1,this.pixelHeight=1,this.width=1,this.height=1,this.sampleCount=1,this.mipLevelCount=1,this.autoGenerateMipmaps=!1,this.format="rgba8unorm",this.dimension="2d",this.viewDimension="2d",this.arrayLayerCount=1,this.antialias=!1,this._touched=0,this._batchTick=-1,this._textureBindLocation=-1,t={...d_.defaultOptions,...t},this.label=t.label??"",this.resource=t.resource,this.autoGarbageCollect=t.autoGarbageCollect,this._resolution=t.resolution,t.width?this.pixelWidth=t.width*this._resolution:this.pixelWidth=this.resource?this.resourceWidth??1:1,t.height?this.pixelHeight=t.height*this._resolution:this.pixelHeight=this.resource?this.resourceHeight??1:1,this.width=this.pixelWidth/this._resolution,this.height=this.pixelHeight/this._resolution,this.format=t.format,this.dimension=t.dimensions,this.viewDimension=t.viewDimension??t.dimensions,this.arrayLayerCount=t.arrayLayerCount,this.mipLevelCount=t.mipLevelCount,this.autoGenerateMipmaps=t.autoGenerateMipmaps,this.sampleCount=t.sampleCount,this.antialias=t.antialias,this.alphaMode=t.alphaMode,this.style=new ef(o_(t)),this.destroyed=!1,this._refreshPOT()}get source(){return this}get style(){return this._style}set style(t){var a,l;this.style!==t&&((a=this._style)==null||a.off("change",this._onStyleChange,this),this._style=t,(l=this._style)==null||l.on("change",this._onStyleChange,this),this._onStyleChange())}set maxAnisotropy(t){this._style.maxAnisotropy=t}get maxAnisotropy(){return this._style.maxAnisotropy}get addressMode(){return this._style.addressMode}set addressMode(t){this._style.addressMode=t}get repeatMode(){return this._style.addressMode}set repeatMode(t){this._style.addressMode=t}get magFilter(){return this._style.magFilter}set magFilter(t){this._style.magFilter=t}get minFilter(){return this._style.minFilter}set minFilter(t){this._style.minFilter=t}get mipmapFilter(){return this._style.mipmapFilter}set mipmapFilter(t){this._style.mipmapFilter=t}get lodMinClamp(){return this._style.lodMinClamp}set lodMinClamp(t){this._style.lodMinClamp=t}get lodMaxClamp(){return this._style.lodMaxClamp}set lodMaxClamp(t){this._style.lodMaxClamp=t}_onStyleChange(){this.emit("styleChange",this)}update(){if(this.resource){const t=this._resolution;if(this.resize(this.resourceWidth/t,this.resourceHeight/t))return}this.emit("update",this)}destroy(){this.destroyed=!0,this.unload(),this.emit("destroy",this),this._style&&(this._style.destroy(),this._style=null),this.uploadMethodId=null,this.resource=null,this.removeAllListeners()}unload(){var t,a;this._resourceId=on("resource"),this.emit("change",this),this.emit("unload",this);for(const l in this._gpuData)(a=(t=this._gpuData[l])==null?void 0:t.destroy)==null||a.call(t);this._gpuData=Object.create(null)}get resourceWidth(){const{resource:t}=this;return t.naturalWidth||t.videoWidth||t.displayWidth||t.width}get resourceHeight(){const{resource:t}=this;return t.naturalHeight||t.videoHeight||t.displayHeight||t.height}get resolution(){return this._resolution}set resolution(t){this._resolution!==t&&(this._resolution=t,this.width=this.pixelWidth/t,this.height=this.pixelHeight/t)}resize(t,a,l){l||(l=this._resolution),t||(t=this.width),a||(a=this.height);const o=Math.round(t*l),c=Math.round(a*l);return this.width=o/l,this.height=c/l,this._resolution=l,this.pixelWidth===o&&this.pixelHeight===c?!1:(this._refreshPOT(),this.pixelWidth=o,this.pixelHeight=c,this.emit("resize",this),this._resourceId=on("resource"),this.emit("change",this),!0)}updateMipmaps(){this.autoGenerateMipmaps&&this.mipLevelCount>1&&this.emit("updateMipmaps",this)}set wrapMode(t){this._style.wrapMode=t}get wrapMode(){return this._style.wrapMode}set scaleMode(t){this._style.scaleMode=t}get scaleMode(){return this._style.scaleMode}_refreshPOT(){this.isPowerOfTwo=$v(this.pixelWidth)&&$v(this.pixelHeight)}static test(t){throw new Error("Unimplemented")}};h_.defaultOptions={resolution:1,format:"bgra8unorm",alphaMode:"premultiply-alpha-on-upload",dimensions:"2d",viewDimension:"2d",arrayLayerCount:1,mipLevelCount:1,autoGenerateMipmaps:!1,sampleCount:1,antialias:!1,autoGarbageCollect:!1};let $i=h_;class rg extends $i{constructor(t){const a=t.resource||new Float32Array(t.width*t.height*4);let l=t.format;l||(a instanceof Float32Array?l="rgba32float":a instanceof Int32Array||a instanceof Uint32Array?l="rgba32uint":a instanceof Int16Array||a instanceof Uint16Array?l="rgba16uint":(a instanceof Int8Array,l="bgra8unorm")),super({...t,resource:a,format:l}),this.uploadMethodId="buffer"}static test(t){return t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array}}rg.extension=Wt.TextureSource;const e1=new le;class T3{constructor(t,a){this.mapCoord=new le,this.uClampFrame=new Float32Array(4),this.uClampOffset=new Float32Array(2),this._textureID=-1,this._updateID=0,this.clampOffset=0,typeof a>"u"?this.clampMargin=t.width<10?0:.5:this.clampMargin=a,this.isSimple=!1,this.texture=t}get texture(){return this._texture}set texture(t){var a;this.texture!==t&&((a=this._texture)==null||a.removeListener("update",this.update,this),this._texture=t,this._texture.addListener("update",this.update,this),this.update())}multiplyUvs(t,a){a===void 0&&(a=t);const l=this.mapCoord;for(let o=0;o<t.length;o+=2){const c=t[o],d=t[o+1];a[o]=c*l.a+d*l.c+l.tx,a[o+1]=c*l.b+d*l.d+l.ty}return a}update(){const t=this._texture;this._updateID++;const a=t.uvs;this.mapCoord.set(a.x1-a.x0,a.y1-a.y0,a.x3-a.x0,a.y3-a.y0,a.x0,a.y0);const l=t.orig,o=t.trim;o&&(e1.set(l.width/o.width,0,0,l.height/o.height,-o.x/o.width,-o.y/o.height),this.mapCoord.append(e1));const c=t.source,d=this.uClampFrame,m=this.clampMargin/c._resolution,p=this.clampOffset/c._resolution;return d[0]=(t.frame.x+m+p)/c.width,d[1]=(t.frame.y+m+p)/c.height,d[2]=(t.frame.x+t.frame.width-m+p)/c.width,d[3]=(t.frame.y+t.frame.height-m+p)/c.height,this.uClampOffset[0]=this.clampOffset/c.pixelWidth,this.uClampOffset[1]=this.clampOffset/c.pixelHeight,this.isSimple=t.frame.width===c.width&&t.frame.height===c.height&&t.rotate===0,!0}}class ze extends _s{constructor({source:t,label:a,frame:l,orig:o,trim:c,defaultAnchor:d,defaultBorders:m,rotate:p,dynamic:g}={}){if(super(),this.uid=on("texture"),this.uvs={x0:0,y0:0,x1:0,y1:0,x2:0,y2:0,x3:0,y3:0},this.frame=new mn,this.noFrame=!1,this.dynamic=!1,this.isTexture=!0,this.label=a,this.source=(t==null?void 0:t.source)??new $i,this.noFrame=!l,l)this.frame.copyFrom(l);else{const{width:x,height:b}=this._source;this.frame.width=x,this.frame.height=b}this.orig=o||this.frame,this.trim=c,this.rotate=p??0,this.defaultAnchor=d,this.defaultBorders=m,this.destroyed=!1,this.dynamic=g||!1,this.updateUvs()}set source(t){this._source&&this._source.off("resize",this.update,this),this._source=t,t.on("resize",this.update,this),this.emit("update",this)}get source(){return this._source}get textureMatrix(){return this._textureMatrix||(this._textureMatrix=new T3(this)),this._textureMatrix}get width(){return this.orig.width}get height(){return this.orig.height}updateUvs(){const{uvs:t,frame:a}=this,{width:l,height:o}=this._source,c=a.x/l,d=a.y/o,m=a.width/l,p=a.height/o;let g=this.rotate;if(g){const x=m/2,b=p/2,E=c+x,C=d+b;g=Ue.add(g,Ue.NW),t.x0=E+x*Ue.uX(g),t.y0=C+b*Ue.uY(g),g=Ue.add(g,2),t.x1=E+x*Ue.uX(g),t.y1=C+b*Ue.uY(g),g=Ue.add(g,2),t.x2=E+x*Ue.uX(g),t.y2=C+b*Ue.uY(g),g=Ue.add(g,2),t.x3=E+x*Ue.uX(g),t.y3=C+b*Ue.uY(g)}else t.x0=c,t.y0=d,t.x1=c+m,t.y1=d,t.x2=c+m,t.y2=d+p,t.x3=c,t.y3=d+p}destroy(t=!1){this._source&&(this._source.off("resize",this.update,this),t&&(this._source.destroy(),this._source=null)),this._textureMatrix=null,this.destroyed=!0,this.emit("destroy",this),this.removeAllListeners()}update(){this.noFrame&&(this.frame.width=this._source.width,this.frame.height=this._source.height),this.updateUvs(),this.emit("update",this)}get baseTexture(){return de(un,"Texture.baseTexture is now Texture.source"),this._source}}ze.EMPTY=new ze({label:"EMPTY",source:new $i({label:"EMPTY"})});ze.EMPTY.destroy=u_;ze.WHITE=new ze({source:new rg({resource:new Uint8Array([255,255,255,255]),width:1,height:1,alphaMode:"premultiply-alpha-on-upload",label:"WHITE"}),label:"WHITE"});ze.WHITE.destroy=u_;function m_(n,t,a){const{width:l,height:o}=a.orig,c=a.trim;if(c){const d=c.width,m=c.height;n.minX=c.x-t._x*l,n.maxX=n.minX+d,n.minY=c.y-t._y*o,n.maxY=n.minY+m}else n.minX=-t._x*l,n.maxX=n.minX+l,n.minY=-t._y*o,n.maxY=n.minY+o}const n1=new le;class Ii{constructor(t=1/0,a=1/0,l=-1/0,o=-1/0){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.matrix=n1,this.minX=t,this.minY=a,this.maxX=l,this.maxY=o}isEmpty(){return this.minX>this.maxX||this.minY>this.maxY}get rectangle(){this._rectangle||(this._rectangle=new mn);const t=this._rectangle;return this.minX>this.maxX||this.minY>this.maxY?(t.x=0,t.y=0,t.width=0,t.height=0):t.copyFromBounds(this),t}clear(){return this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.matrix=n1,this}set(t,a,l,o){this.minX=t,this.minY=a,this.maxX=l,this.maxY=o}addFrame(t,a,l,o,c){c||(c=this.matrix);const d=c.a,m=c.b,p=c.c,g=c.d,x=c.tx,b=c.ty;let E=this.minX,C=this.minY,M=this.maxX,z=this.maxY,R=d*t+p*a+x,w=m*t+g*a+b;R<E&&(E=R),w<C&&(C=w),R>M&&(M=R),w>z&&(z=w),R=d*l+p*a+x,w=m*l+g*a+b,R<E&&(E=R),w<C&&(C=w),R>M&&(M=R),w>z&&(z=w),R=d*t+p*o+x,w=m*t+g*o+b,R<E&&(E=R),w<C&&(C=w),R>M&&(M=R),w>z&&(z=w),R=d*l+p*o+x,w=m*l+g*o+b,R<E&&(E=R),w<C&&(C=w),R>M&&(M=R),w>z&&(z=w),this.minX=E,this.minY=C,this.maxX=M,this.maxY=z}addRect(t,a){this.addFrame(t.x,t.y,t.x+t.width,t.y+t.height,a)}addBounds(t,a){this.addFrame(t.minX,t.minY,t.maxX,t.maxY,a)}addBoundsMask(t){this.minX=this.minX>t.minX?this.minX:t.minX,this.minY=this.minY>t.minY?this.minY:t.minY,this.maxX=this.maxX<t.maxX?this.maxX:t.maxX,this.maxY=this.maxY<t.maxY?this.maxY:t.maxY}applyMatrix(t){const a=this.minX,l=this.minY,o=this.maxX,c=this.maxY,{a:d,b:m,c:p,d:g,tx:x,ty:b}=t;let E=d*a+p*l+x,C=m*a+g*l+b;this.minX=E,this.minY=C,this.maxX=E,this.maxY=C,E=d*o+p*l+x,C=m*o+g*l+b,this.minX=E<this.minX?E:this.minX,this.minY=C<this.minY?C:this.minY,this.maxX=E>this.maxX?E:this.maxX,this.maxY=C>this.maxY?C:this.maxY,E=d*a+p*c+x,C=m*a+g*c+b,this.minX=E<this.minX?E:this.minX,this.minY=C<this.minY?C:this.minY,this.maxX=E>this.maxX?E:this.maxX,this.maxY=C>this.maxY?C:this.maxY,E=d*o+p*c+x,C=m*o+g*c+b,this.minX=E<this.minX?E:this.minX,this.minY=C<this.minY?C:this.minY,this.maxX=E>this.maxX?E:this.maxX,this.maxY=C>this.maxY?C:this.maxY}fit(t){return this.minX<t.left&&(this.minX=t.left),this.maxX>t.right&&(this.maxX=t.right),this.minY<t.top&&(this.minY=t.top),this.maxY>t.bottom&&(this.maxY=t.bottom),this}fitBounds(t,a,l,o){return this.minX<t&&(this.minX=t),this.maxX>a&&(this.maxX=a),this.minY<l&&(this.minY=l),this.maxY>o&&(this.maxY=o),this}pad(t,a=t){return this.minX-=t,this.maxX+=t,this.minY-=a,this.maxY+=a,this}ceil(){return this.minX=Math.floor(this.minX),this.minY=Math.floor(this.minY),this.maxX=Math.ceil(this.maxX),this.maxY=Math.ceil(this.maxY),this}clone(){return new Ii(this.minX,this.minY,this.maxX,this.maxY)}scale(t,a=t){return this.minX*=t,this.minY*=a,this.maxX*=t,this.maxY*=a,this}get x(){return this.minX}set x(t){const a=this.maxX-this.minX;this.minX=t,this.maxX=t+a}get y(){return this.minY}set y(t){const a=this.maxY-this.minY;this.minY=t,this.maxY=t+a}get width(){return this.maxX-this.minX}set width(t){this.maxX=this.minX+t}get height(){return this.maxY-this.minY}set height(t){this.maxY=this.minY+t}get left(){return this.minX}get right(){return this.maxX}get top(){return this.minY}get bottom(){return this.maxY}get isPositive(){return this.maxX-this.minX>0&&this.maxY-this.minY>0}get isValid(){return this.minX+this.minY!==1/0}addVertexData(t,a,l,o){let c=this.minX,d=this.minY,m=this.maxX,p=this.maxY;o||(o=this.matrix);const g=o.a,x=o.b,b=o.c,E=o.d,C=o.tx,M=o.ty;for(let z=a;z<l;z+=2){const R=t[z],w=t[z+1],O=g*R+b*w+C,U=x*R+E*w+M;c=O<c?O:c,d=U<d?U:d,m=O>m?O:m,p=U>p?U:p}this.minX=c,this.minY=d,this.maxX=m,this.maxY=p}containsPoint(t,a){return this.minX<=t&&this.minY<=a&&this.maxX>=t&&this.maxY>=a}toString(){return`[pixi.js:Bounds minX=${this.minX} minY=${this.minY} maxX=${this.maxX} maxY=${this.maxY} width=${this.width} height=${this.height}]`}copyFrom(t){return this.minX=t.minX,this.minY=t.minY,this.maxX=t.maxX,this.maxY=t.maxY,this}}var E3={grad:.9,turn:360,rad:360/(2*Math.PI)},nr=function(n){return typeof n=="string"?n.length>0:typeof n=="number"},Ln=function(n,t,a){return t===void 0&&(t=0),a===void 0&&(a=Math.pow(10,t)),Math.round(a*n)/a+0},Wi=function(n,t,a){return t===void 0&&(t=0),a===void 0&&(a=1),n>a?a:n>t?n:t},p_=function(n){return(n=isFinite(n)?n%360:0)>0?n:n+360},a1=function(n){return{r:Wi(n.r,0,255),g:Wi(n.g,0,255),b:Wi(n.b,0,255),a:Wi(n.a)}},K0=function(n){return{r:Ln(n.r),g:Ln(n.g),b:Ln(n.b),a:Ln(n.a,3)}},C3=/^#([0-9a-f]{3,8})$/i,rp=function(n){var t=n.toString(16);return t.length<2?"0"+t:t},y_=function(n){var t=n.r,a=n.g,l=n.b,o=n.a,c=Math.max(t,a,l),d=c-Math.min(t,a,l),m=d?c===t?(a-l)/d:c===a?2+(l-t)/d:4+(t-a)/d:0;return{h:60*(m<0?m+6:m),s:c?d/c*100:0,v:c/255*100,a:o}},g_=function(n){var t=n.h,a=n.s,l=n.v,o=n.a;t=t/360*6,a/=100,l/=100;var c=Math.floor(t),d=l*(1-a),m=l*(1-(t-c)*a),p=l*(1-(1-t+c)*a),g=c%6;return{r:255*[l,m,d,d,p,l][g],g:255*[p,l,l,m,d,d][g],b:255*[d,d,p,l,l,m][g],a:o}},i1=function(n){return{h:p_(n.h),s:Wi(n.s,0,100),l:Wi(n.l,0,100),a:Wi(n.a)}},l1=function(n){return{h:Ln(n.h),s:Ln(n.s),l:Ln(n.l),a:Ln(n.a,3)}},s1=function(n){return g_((a=(t=n).s,{h:t.h,s:(a*=((l=t.l)<50?l:100-l)/100)>0?2*a/(l+a)*100:0,v:l+a,a:t.a}));var t,a,l},sd=function(n){return{h:(t=y_(n)).h,s:(o=(200-(a=t.s))*(l=t.v)/100)>0&&o<200?a*l/100/(o<=100?o:200-o)*100:0,l:o/2,a:t.a};var t,a,l,o},A3=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,M3=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,R3=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,z3=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Oy={string:[[function(n){var t=C3.exec(n);return t?(n=t[1]).length<=4?{r:parseInt(n[0]+n[0],16),g:parseInt(n[1]+n[1],16),b:parseInt(n[2]+n[2],16),a:n.length===4?Ln(parseInt(n[3]+n[3],16)/255,2):1}:n.length===6||n.length===8?{r:parseInt(n.substr(0,2),16),g:parseInt(n.substr(2,2),16),b:parseInt(n.substr(4,2),16),a:n.length===8?Ln(parseInt(n.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(n){var t=R3.exec(n)||z3.exec(n);return t?t[2]!==t[4]||t[4]!==t[6]?null:a1({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:t[7]===void 0?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(n){var t=A3.exec(n)||M3.exec(n);if(!t)return null;var a,l,o=i1({h:(a=t[1],l=t[2],l===void 0&&(l="deg"),Number(a)*(E3[l]||1)),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)});return s1(o)},"hsl"]],object:[[function(n){var t=n.r,a=n.g,l=n.b,o=n.a,c=o===void 0?1:o;return nr(t)&&nr(a)&&nr(l)?a1({r:Number(t),g:Number(a),b:Number(l),a:Number(c)}):null},"rgb"],[function(n){var t=n.h,a=n.s,l=n.l,o=n.a,c=o===void 0?1:o;if(!nr(t)||!nr(a)||!nr(l))return null;var d=i1({h:Number(t),s:Number(a),l:Number(l),a:Number(c)});return s1(d)},"hsl"],[function(n){var t=n.h,a=n.s,l=n.v,o=n.a,c=o===void 0?1:o;if(!nr(t)||!nr(a)||!nr(l))return null;var d=(function(m){return{h:p_(m.h),s:Wi(m.s,0,100),v:Wi(m.v,0,100),a:Wi(m.a)}})({h:Number(t),s:Number(a),v:Number(l),a:Number(c)});return g_(d)},"hsv"]]},r1=function(n,t){for(var a=0;a<t.length;a++){var l=t[a][0](n);if(l)return[l,t[a][1]]}return[null,void 0]},w3=function(n){return typeof n=="string"?r1(n.trim(),Oy.string):typeof n=="object"&&n!==null?r1(n,Oy.object):[null,void 0]},Z0=function(n,t){var a=sd(n);return{h:a.h,s:Wi(a.s+100*t,0,100),l:a.l,a:a.a}},J0=function(n){return(299*n.r+587*n.g+114*n.b)/1e3/255},u1=function(n,t){var a=sd(n);return{h:a.h,s:a.s,l:Wi(a.l+100*t,0,100),a:a.a}},Ny=(function(){function n(t){this.parsed=w3(t)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return n.prototype.isValid=function(){return this.parsed!==null},n.prototype.brightness=function(){return Ln(J0(this.rgba),2)},n.prototype.isDark=function(){return J0(this.rgba)<.5},n.prototype.isLight=function(){return J0(this.rgba)>=.5},n.prototype.toHex=function(){return t=K0(this.rgba),a=t.r,l=t.g,o=t.b,d=(c=t.a)<1?rp(Ln(255*c)):"","#"+rp(a)+rp(l)+rp(o)+d;var t,a,l,o,c,d},n.prototype.toRgb=function(){return K0(this.rgba)},n.prototype.toRgbString=function(){return t=K0(this.rgba),a=t.r,l=t.g,o=t.b,(c=t.a)<1?"rgba("+a+", "+l+", "+o+", "+c+")":"rgb("+a+", "+l+", "+o+")";var t,a,l,o,c},n.prototype.toHsl=function(){return l1(sd(this.rgba))},n.prototype.toHslString=function(){return t=l1(sd(this.rgba)),a=t.h,l=t.s,o=t.l,(c=t.a)<1?"hsla("+a+", "+l+"%, "+o+"%, "+c+")":"hsl("+a+", "+l+"%, "+o+"%)";var t,a,l,o,c},n.prototype.toHsv=function(){return t=y_(this.rgba),{h:Ln(t.h),s:Ln(t.s),v:Ln(t.v),a:Ln(t.a,3)};var t},n.prototype.invert=function(){return ys({r:255-(t=this.rgba).r,g:255-t.g,b:255-t.b,a:t.a});var t},n.prototype.saturate=function(t){return t===void 0&&(t=.1),ys(Z0(this.rgba,t))},n.prototype.desaturate=function(t){return t===void 0&&(t=.1),ys(Z0(this.rgba,-t))},n.prototype.grayscale=function(){return ys(Z0(this.rgba,-1))},n.prototype.lighten=function(t){return t===void 0&&(t=.1),ys(u1(this.rgba,t))},n.prototype.darken=function(t){return t===void 0&&(t=.1),ys(u1(this.rgba,-t))},n.prototype.rotate=function(t){return t===void 0&&(t=15),this.hue(this.hue()+t)},n.prototype.alpha=function(t){return typeof t=="number"?ys({r:(a=this.rgba).r,g:a.g,b:a.b,a:t}):Ln(this.rgba.a,3);var a},n.prototype.hue=function(t){var a=sd(this.rgba);return typeof t=="number"?ys({h:t,s:a.s,l:a.l,a:a.a}):Ln(a.h)},n.prototype.isEqual=function(t){return this.toHex()===ys(t).toHex()},n})(),ys=function(n){return n instanceof Ny?n:new Ny(n)},o1=[],D3=function(n){n.forEach(function(t){o1.indexOf(t)<0&&(t(Ny,Oy),o1.push(t))})};function O3(n,t){var a={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},l={};for(var o in a)l[a[o]]=o;var c={};n.prototype.toName=function(d){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var m,p,g=l[this.toHex()];if(g)return g;if(d!=null&&d.closest){var x=this.toRgb(),b=1/0,E="black";if(!c.length)for(var C in a)c[C]=new n(a[C]).toRgb();for(var M in a){var z=(m=x,p=c[M],Math.pow(m.r-p.r,2)+Math.pow(m.g-p.g,2)+Math.pow(m.b-p.b,2));z<b&&(b=z,E=M)}return E}},t.string.push([function(d){var m=d.toLowerCase(),p=m==="transparent"?"#0000":a[m];return p?new n(p).toRgb():null},"name"])}D3([O3]);const nf=class ed{constructor(t=16777215){this._value=null,this._components=new Float32Array(4),this._components.fill(1),this._int=16777215,this.value=t}get red(){return this._components[0]}get green(){return this._components[1]}get blue(){return this._components[2]}get alpha(){return this._components[3]}setValue(t){return this.value=t,this}set value(t){if(t instanceof ed)this._value=this._cloneSource(t._value),this._int=t._int,this._components.set(t._components);else{if(t===null)throw new Error("Cannot set Color#value to null");(this._value===null||!this._isSourceEqual(this._value,t))&&(this._value=this._cloneSource(t),this._normalize(this._value))}}get value(){return this._value}_cloneSource(t){return typeof t=="string"||typeof t=="number"||t instanceof Number||t===null?t:Array.isArray(t)||ArrayBuffer.isView(t)?t.slice(0):typeof t=="object"&&t!==null?{...t}:t}_isSourceEqual(t,a){const l=typeof t;if(l!==typeof a)return!1;if(l==="number"||l==="string"||t instanceof Number)return t===a;if(Array.isArray(t)&&Array.isArray(a)||ArrayBuffer.isView(t)&&ArrayBuffer.isView(a))return t.length!==a.length?!1:t.every((c,d)=>c===a[d]);if(t!==null&&a!==null){const c=Object.keys(t),d=Object.keys(a);return c.length!==d.length?!1:c.every(m=>t[m]===a[m])}return t===a}toRgba(){const[t,a,l,o]=this._components;return{r:t,g:a,b:l,a:o}}toRgb(){const[t,a,l]=this._components;return{r:t,g:a,b:l}}toRgbaString(){const[t,a,l]=this.toUint8RgbArray();return`rgba(${t},${a},${l},${this.alpha})`}toUint8RgbArray(t){const[a,l,o]=this._components;return this._arrayRgb||(this._arrayRgb=[]),t||(t=this._arrayRgb),t[0]=Math.round(a*255),t[1]=Math.round(l*255),t[2]=Math.round(o*255),t}toArray(t){this._arrayRgba||(this._arrayRgba=[]),t||(t=this._arrayRgba);const[a,l,o,c]=this._components;return t[0]=a,t[1]=l,t[2]=o,t[3]=c,t}toRgbArray(t){this._arrayRgb||(this._arrayRgb=[]),t||(t=this._arrayRgb);const[a,l,o]=this._components;return t[0]=a,t[1]=l,t[2]=o,t}toNumber(){return this._int}toBgrNumber(){const[t,a,l]=this.toUint8RgbArray();return(l<<16)+(a<<8)+t}toLittleEndianNumber(){const t=this._int;return(t>>16)+(t&65280)+((t&255)<<16)}multiply(t){const[a,l,o,c]=ed._temp.setValue(t)._components;return this._components[0]*=a,this._components[1]*=l,this._components[2]*=o,this._components[3]*=c,this._refreshInt(),this._value=null,this}premultiply(t,a=!0){return a&&(this._components[0]*=t,this._components[1]*=t,this._components[2]*=t),this._components[3]=t,this._refreshInt(),this._value=null,this}toPremultiplied(t,a=!0){if(t===1)return(255<<24)+this._int;if(t===0)return a?0:this._int;let l=this._int>>16&255,o=this._int>>8&255,c=this._int&255;return a&&(l=l*t+.5|0,o=o*t+.5|0,c=c*t+.5|0),(t*255<<24)+(l<<16)+(o<<8)+c}toHex(){const t=this._int.toString(16);return`#${"000000".substring(0,6-t.length)+t}`}toHexa(){const a=Math.round(this._components[3]*255).toString(16);return this.toHex()+"00".substring(0,2-a.length)+a}setAlpha(t){return this._components[3]=this._clamp(t),this._value=null,this}_normalize(t){let a,l,o,c;if((typeof t=="number"||t instanceof Number)&&t>=0&&t<=16777215){const d=t;a=(d>>16&255)/255,l=(d>>8&255)/255,o=(d&255)/255,c=1}else if((Array.isArray(t)||t instanceof Float32Array)&&t.length>=3&&t.length<=4)t=this._clamp(t),[a,l,o,c=1]=t;else if((t instanceof Uint8Array||t instanceof Uint8ClampedArray)&&t.length>=3&&t.length<=4)t=this._clamp(t,0,255),[a,l,o,c=255]=t,a/=255,l/=255,o/=255,c/=255;else if(typeof t=="string"||typeof t=="object"){if(typeof t=="string"){const m=ed.HEX_PATTERN.exec(t);m&&(t=`#${m[2]}`)}const d=ys(t);d.isValid()&&({r:a,g:l,b:o,a:c}=d.rgba,a/=255,l/=255,o/=255)}if(a!==void 0)this._components[0]=a,this._components[1]=l,this._components[2]=o,this._components[3]=c,this._refreshInt();else throw new Error(`Unable to convert color ${t}`)}_refreshInt(){this._clamp(this._components);const[t,a,l]=this._components;this._int=(t*255<<16)+(a*255<<8)+(l*255|0)}_clamp(t,a=0,l=1){return typeof t=="number"?Math.min(Math.max(t,a),l):(t.forEach((o,c)=>{t[c]=Math.min(Math.max(o,a),l)}),t)}static isColorLike(t){return typeof t=="number"||typeof t=="string"||t instanceof Number||t instanceof ed||Array.isArray(t)||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Float32Array||t.r!==void 0&&t.g!==void 0&&t.b!==void 0||t.r!==void 0&&t.g!==void 0&&t.b!==void 0&&t.a!==void 0||t.h!==void 0&&t.s!==void 0&&t.l!==void 0||t.h!==void 0&&t.s!==void 0&&t.l!==void 0&&t.a!==void 0||t.h!==void 0&&t.s!==void 0&&t.v!==void 0||t.h!==void 0&&t.s!==void 0&&t.v!==void 0&&t.a!==void 0}};nf.shared=new nf;nf._temp=new nf;nf.HEX_PATTERN=/^(#|0x)?(([a-f0-9]{3}){1,2}([a-f0-9]{2})?)$/i;let zn=nf;const N3={cullArea:null,cullable:!1,cullableChildren:!0};let F0=0;const c1=500;function Ya(...n){F0!==c1&&(F0++,F0===c1?console.warn("PixiJS Warning: too many warnings, no more warnings will be reported to the console by PixiJS."):console.warn("PixiJS Warning: ",...n))}const xd={_registeredResources:new Set,register(n){this._registeredResources.add(n)},unregister(n){this._registeredResources.delete(n)},release(){this._registeredResources.forEach(n=>n.clear())},get registeredCount(){return this._registeredResources.size},isRegistered(n){return this._registeredResources.has(n)},reset(){this._registeredResources.clear()}};class B3{constructor(t,a){this._pool=[],this._count=0,this._index=0,this._classType=t,a&&this.prepopulate(a)}prepopulate(t){for(let a=0;a<t;a++)this._pool[this._index++]=new this._classType;this._count+=t}get(t){var l;let a;return this._index>0?a=this._pool[--this._index]:(a=new this._classType,this._count++),(l=a.init)==null||l.call(a,t),a}return(t){var a;(a=t.reset)==null||a.call(t),this._pool[this._index++]=t}get totalSize(){return this._count}get totalFree(){return this._index}get totalUsed(){return this._count-this._index}clear(){if(this._pool.length>0&&this._pool[0].destroy)for(let t=0;t<this._index;t++)this._pool[t].destroy();this._pool.length=0,this._count=0,this._index=0}}class U3{constructor(){this._poolsByClass=new Map}prepopulate(t,a){this.getPool(t).prepopulate(a)}get(t,a){return this.getPool(t).get(a)}return(t){this.getPool(t.constructor).return(t)}getPool(t){return this._poolsByClass.has(t)||this._poolsByClass.set(t,new B3(t)),this._poolsByClass.get(t)}stats(){const t={};return this._poolsByClass.forEach(a=>{const l=t[a._classType.name]?a._classType.name+a._classType.ID:a._classType.name;t[l]={free:a.totalFree,used:a.totalUsed,size:a.totalSize}}),t}clear(){this._poolsByClass.forEach(t=>t.clear()),this._poolsByClass.clear()}}const ai=new U3;xd.register(ai);const H3={get isCachedAsTexture(){var n;return!!((n=this.renderGroup)!=null&&n.isCachedAsTexture)},cacheAsTexture(n){typeof n=="boolean"&&n===!1?this.disableRenderGroup():(this.enableRenderGroup(),this.renderGroup.enableCacheAsTexture(n===!0?{}:n))},updateCacheTexture(){var n;(n=this.renderGroup)==null||n.updateCacheTexture()},get cacheAsBitmap(){return this.isCachedAsTexture},set cacheAsBitmap(n){de("v8.6.0","cacheAsBitmap is deprecated, use cacheAsTexture instead."),this.cacheAsTexture(n)}};function j3(n,t,a){const l=n.length;let o;if(t>=l||a===0)return;a=t+a>l?l-t:a;const c=l-a;for(o=t;o<c;++o)n[o]=n[o+a];n.length=c}const G3={allowChildren:!0,removeChildren(n=0,t){var c;const a=t??this.children.length,l=a-n,o=[];if(l>0&&l<=a){for(let m=a-1;m>=n;m--){const p=this.children[m];p&&(o.push(p),p.parent=null)}j3(this.children,n,a);const d=this.renderGroup||this.parentRenderGroup;d&&d.removeChildren(o);for(let m=0;m<o.length;++m){const p=o[m];(c=p.parentRenderLayer)==null||c.detach(p),this.emit("childRemoved",p,this,m),o[m].emit("removed",this)}return o.length>0&&this._didViewChangeTick++,o}else if(l===0&&this.children.length===0)return o;throw new RangeError("removeChildren: numeric values are outside the acceptable range.")},removeChildAt(n){const t=this.getChildAt(n);return this.removeChild(t)},getChildAt(n){if(n<0||n>=this.children.length)throw new Error(`getChildAt: Index (${n}) does not exist.`);return this.children[n]},setChildIndex(n,t){if(t<0||t>=this.children.length)throw new Error(`The index ${t} supplied is out of bounds ${this.children.length}`);this.getChildIndex(n),this.addChildAt(n,t)},getChildIndex(n){const t=this.children.indexOf(n);if(t===-1)throw new Error("The supplied Container must be a child of the caller");return t},addChildAt(n,t){this.allowChildren||de(un,"addChildAt: Only Containers will be allowed to add children in v8.0.0");const{children:a}=this;if(t<0||t>a.length)throw new Error(`${n}addChildAt: The index ${t} supplied is out of bounds ${a.length}`);const l=n.parent===this;if(n.parent){const c=n.parent.children.indexOf(n);if(l){if(c===t)return n;n.parent.children.splice(c,1)}else n.removeFromParent()}t===a.length?a.push(n):a.splice(t,0,n),n.parent=this,n.didChange=!0,n._updateFlags=15;const o=this.renderGroup||this.parentRenderGroup;return o&&o.addChild(n),this.sortableChildren&&(this.sortDirty=!0),l||(this.emit("childAdded",n,this,t),n.emit("added",this)),n},swapChildren(n,t){if(n===t)return;const a=this.getChildIndex(n),l=this.getChildIndex(t);this.children[a]=t,this.children[l]=n;const o=this.renderGroup||this.parentRenderGroup;o&&(o.structureDidChange=!0),this._didContainerChangeTick++},removeFromParent(){var n;(n=this.parent)==null||n.removeChild(this)},reparentChild(...n){return n.length===1?this.reparentChildAt(n[0],this.children.length):(n.forEach(t=>this.reparentChildAt(t,this.children.length)),n[0])},reparentChildAt(n,t){if(n.parent===this)return this.setChildIndex(n,t),n;const a=n.worldTransform.clone();n.removeFromParent(),this.addChildAt(n,t);const l=this.worldTransform.clone();return l.invert(),a.prepend(l),n.setFromMatrix(a),n},replaceChild(n,t){n.updateLocalTransform(),this.addChildAt(t,this.getChildIndex(n)),t.setFromMatrix(n.localTransform),t.updateLocalTransform(),this.removeChild(n)}},Y3={collectRenderables(n,t,a){this.parentRenderLayer&&this.parentRenderLayer!==a||this.globalDisplayStatus<7||!this.includeInBuild||(this.sortableChildren&&this.sortChildren(),this.isSimple?this.collectRenderablesSimple(n,t,a):this.renderGroup?t.renderPipes.renderGroup.addRenderGroup(this.renderGroup,n):this.collectRenderablesWithEffects(n,t,a))},collectRenderablesSimple(n,t,a){const l=this.children,o=l.length;for(let c=0;c<o;c++)l[c].collectRenderables(n,t,a)},collectRenderablesWithEffects(n,t,a){const{renderPipes:l}=t;for(let o=0;o<this.effects.length;o++){const c=this.effects[o];l[c.pipe].push(c,this,n)}this.collectRenderablesSimple(n,t,a);for(let o=this.effects.length-1;o>=0;o--){const c=this.effects[o];l[c.pipe].pop(c,this,n)}}};class f1{constructor(){this.pipe="filter",this.priority=1}destroy(){for(let t=0;t<this.filters.length;t++)this.filters[t].destroy();this.filters=null,this.filterArea=null}}class q3{constructor(){this._effectClasses=[],this._tests=[],this._initialized=!1}init(){this._initialized||(this._initialized=!0,this._effectClasses.forEach(t=>{this.add({test:t.test,maskClass:t})}))}add(t){this._tests.push(t)}getMaskEffect(t){this._initialized||this.init();for(let a=0;a<this._tests.length;a++){const l=this._tests[a];if(l.test(t))return ai.get(l.maskClass,t)}return t}returnMaskEffect(t){ai.return(t)}}const By=new q3;Ie.handleByList(Wt.MaskEffect,By._effectClasses);const L3={_maskEffect:null,_maskOptions:{inverse:!1},_filterEffect:null,effects:[],_markStructureAsChanged(){const n=this.renderGroup||this.parentRenderGroup;n&&(n.structureDidChange=!0)},addEffect(n){this.effects.indexOf(n)===-1&&(this.effects.push(n),this.effects.sort((a,l)=>a.priority-l.priority),this._markStructureAsChanged(),this._updateIsSimple())},removeEffect(n){const t=this.effects.indexOf(n);t!==-1&&(this.effects.splice(t,1),this._markStructureAsChanged(),this._updateIsSimple())},set mask(n){const t=this._maskEffect;(t==null?void 0:t.mask)!==n&&(t&&(this.removeEffect(t),By.returnMaskEffect(t),this._maskEffect=null),n!=null&&(this._maskEffect=By.getMaskEffect(n),this.addEffect(this._maskEffect)))},get mask(){var n;return(n=this._maskEffect)==null?void 0:n.mask},setMask(n){this._maskOptions={...this._maskOptions,...n},n.mask&&(this.mask=n.mask),this._markStructureAsChanged()},set filters(n){var c;!Array.isArray(n)&&n&&(n=[n]);const t=this._filterEffect||(this._filterEffect=new f1);n=n;const a=(n==null?void 0:n.length)>0,l=((c=t.filters)==null?void 0:c.length)>0,o=a!==l;n=Array.isArray(n)?n.slice(0):n,t.filters=Object.freeze(n),o&&(a?this.addEffect(t):(this.removeEffect(t),t.filters=n??null))},get filters(){var n;return(n=this._filterEffect)==null?void 0:n.filters},set filterArea(n){this._filterEffect||(this._filterEffect=new f1),this._filterEffect.filterArea=n},get filterArea(){var n;return(n=this._filterEffect)==null?void 0:n.filterArea}},X3={label:null,get name(){return de(un,"Container.name property has been removed, use Container.label instead"),this.label},set name(n){de(un,"Container.name property has been removed, use Container.label instead"),this.label=n},getChildByName(n,t=!1){return this.getChildByLabel(n,t)},getChildByLabel(n,t=!1){const a=this.children;for(let l=0;l<a.length;l++){const o=a[l];if(o.label===n||n instanceof RegExp&&n.test(o.label))return o}if(t)for(let l=0;l<a.length;l++){const c=a[l].getChildByLabel(n,!0);if(c)return c}return null},getChildrenByLabel(n,t=!1,a=[]){const l=this.children;for(let o=0;o<l.length;o++){const c=l[o];(c.label===n||n instanceof RegExp&&n.test(c.label))&&a.push(c)}if(t)for(let o=0;o<l.length;o++)l[o].getChildrenByLabel(n,!0,a);return a}},Ga=ai.getPool(le),rr=ai.getPool(Ii),V3=new le,k3={getFastGlobalBounds(n,t){t||(t=new Ii),t.clear(),this._getGlobalBoundsRecursive(!!n,t,this.parentRenderLayer),t.isValid||t.set(0,0,0,0);const a=this.renderGroup||this.parentRenderGroup;return t.applyMatrix(a.worldTransform),t},_getGlobalBoundsRecursive(n,t,a){let l=t;if(n&&this.parentRenderLayer&&this.parentRenderLayer!==a||this.localDisplayStatus!==7||!this.measurable)return;const o=!!this.effects.length;if((this.renderGroup||o)&&(l=rr.get().clear()),this.boundsArea)t.addRect(this.boundsArea,this.worldTransform);else{if(this.renderPipeId){const d=this.bounds;l.addFrame(d.minX,d.minY,d.maxX,d.maxY,this.groupTransform)}const c=this.children;for(let d=0;d<c.length;d++)c[d]._getGlobalBoundsRecursive(n,l,a)}if(o){let c=!1;const d=this.renderGroup||this.parentRenderGroup;for(let m=0;m<this.effects.length;m++)this.effects[m].addBounds&&(c||(c=!0,l.applyMatrix(d.worldTransform)),this.effects[m].addBounds(l,!0));c&&l.applyMatrix(d.worldTransform.copyTo(V3).invert()),t.addBounds(l),rr.return(l)}else this.renderGroup&&(t.addBounds(l,this.relativeGroupTransform),rr.return(l))}};function v_(n,t,a){a.clear();let l,o;return n.parent?t?l=n.parent.worldTransform:(o=Ga.get().identity(),l=ug(n,o)):l=le.IDENTITY,x_(n,a,l,t),o&&Ga.return(o),a.isValid||a.set(0,0,0,0),a}function x_(n,t,a,l){var m,p;if(!n.visible||!n.measurable)return;let o;l?o=n.worldTransform:(n.updateLocalTransform(),o=Ga.get(),o.appendFrom(n.localTransform,a));const c=t,d=!!n.effects.length;if(d&&(t=rr.get().clear()),n.boundsArea)t.addRect(n.boundsArea,o);else{const g=n.bounds;g&&!g.isEmpty()&&(t.matrix=o,t.addBounds(g));for(let x=0;x<n.children.length;x++)x_(n.children[x],t,o,l)}if(d){for(let g=0;g<n.effects.length;g++)(p=(m=n.effects[g]).addBounds)==null||p.call(m,t);c.addBounds(t,le.IDENTITY),rr.return(t)}l||Ga.return(o)}function ug(n,t){const a=n.parent;return a&&(ug(a,t),a.updateLocalTransform(),t.append(a.localTransform)),t}function __(n,t){if(n===16777215||!t)return t;if(t===16777215||!n)return n;const a=n>>16&255,l=n>>8&255,o=n&255,c=t>>16&255,d=t>>8&255,m=t&255,p=a*c/255|0,g=l*d/255|0,x=o*m/255|0;return(p<<16)+(g<<8)+x}const h1=16777215;function d1(n,t){return n===h1?t:t===h1?n:__(n,t)}function Cp(n){return((n&255)<<16)+(n&65280)+(n>>16&255)}const Q3={getGlobalAlpha(n){if(n)return this.renderGroup?this.renderGroup.worldAlpha:this.parentRenderGroup?this.parentRenderGroup.worldAlpha*this.alpha:this.alpha;let t=this.alpha,a=this.parent;for(;a;)t*=a.alpha,a=a.parent;return t},getGlobalTransform(n=new le,t){if(t)return n.copyFrom(this.worldTransform);this.updateLocalTransform();const a=ug(this,Ga.get().identity());return n.appendFrom(this.localTransform,a),Ga.return(a),n},getGlobalTint(n){if(n)return this.renderGroup?Cp(this.renderGroup.worldColor):this.parentRenderGroup?Cp(d1(this.localColor,this.parentRenderGroup.worldColor)):this.tint;let t=this.localColor,a=this.parent;for(;a;)t=d1(t,a.localColor),a=a.parent;return Cp(t)}};function S_(n,t,a){return t.clear(),a||(a=le.IDENTITY),b_(n,t,a,n,!0),t.isValid||t.set(0,0,0,0),t}function b_(n,t,a,l,o){var p,g;let c;if(o)c=Ga.get(),c=a.copyTo(c);else{if(!n.visible||!n.measurable)return;n.updateLocalTransform();const x=n.localTransform;c=Ga.get(),c.appendFrom(x,a)}const d=t,m=!!n.effects.length;if(m&&(t=rr.get().clear()),n.boundsArea)t.addRect(n.boundsArea,c);else{n.renderPipeId&&(t.matrix=c,t.addBounds(n.bounds));const x=n.children;for(let b=0;b<x.length;b++)b_(x[b],t,c,l,!1)}if(m){for(let x=0;x<n.effects.length;x++)(g=(p=n.effects[x]).addLocalBounds)==null||g.call(p,t,l);d.addBounds(t,le.IDENTITY),rr.return(t)}Ga.return(c)}function T_(n,t){const a=n.children;for(let l=0;l<a.length;l++){const o=a[l],c=o.uid,d=(o._didViewChangeTick&65535)<<16|o._didContainerChangeTick&65535,m=t.index;(t.data[m]!==c||t.data[m+1]!==d)&&(t.data[t.index]=c,t.data[t.index+1]=d,t.didChange=!0),t.index=m+2,o.children.length&&T_(o,t)}return t.didChange}const K3=new le,Z3={_localBoundsCacheId:-1,_localBoundsCacheData:null,_setWidth(n,t){const a=Math.sign(this.scale.x)||1;t!==0?this.scale.x=n/t*a:this.scale.x=a},_setHeight(n,t){const a=Math.sign(this.scale.y)||1;t!==0?this.scale.y=n/t*a:this.scale.y=a},getLocalBounds(){this._localBoundsCacheData||(this._localBoundsCacheData={data:[],index:1,didChange:!1,localBounds:new Ii});const n=this._localBoundsCacheData;return n.index=1,n.didChange=!1,n.data[0]!==this._didViewChangeTick&&(n.didChange=!0,n.data[0]=this._didViewChangeTick),T_(this,n),n.didChange&&S_(this,n.localBounds,K3),n.localBounds},getBounds(n,t){return v_(this,n,t||new Ii)}},J3={_onRender:null,set onRender(n){const t=this.renderGroup||this.parentRenderGroup;if(!n){this._onRender&&(t==null||t.removeOnRender(this)),this._onRender=null;return}this._onRender||t==null||t.addOnRender(this),this._onRender=n},get onRender(){return this._onRender}},F3={_zIndex:0,sortDirty:!1,sortableChildren:!1,get zIndex(){return this._zIndex},set zIndex(n){this._zIndex!==n&&(this._zIndex=n,this.depthOfChildModified())},depthOfChildModified(){this.parent&&(this.parent.sortableChildren=!0,this.parent.sortDirty=!0),this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0)},sortChildren(){this.sortDirty&&(this.sortDirty=!1,this.children.sort(W3))}};function W3(n,t){return n._zIndex-t._zIndex}const P3={getGlobalPosition(n=new ya,t=!1){return this.parent?this.parent.toGlobal(this._position,n,t):(n.x=this._position.x,n.y=this._position.y),n},toGlobal(n,t,a=!1){const l=this.getGlobalTransform(Ga.get(),a);return t=l.apply(n,t),Ga.return(l),t},toLocal(n,t,a,l){t&&(n=t.toGlobal(n,a,l));const o=this.getGlobalTransform(Ga.get(),l);return a=o.applyInverse(n,a),Ga.return(o),a}};class og{constructor(){this.uid=on("instructionSet"),this.instructions=[],this.instructionSize=0,this.renderables=[],this.gcTick=0}reset(){this.instructionSize=0}destroy(){this.instructions.length=0,this.renderables.length=0,this.renderPipes=null,this.gcTick=0}add(t){this.instructions[this.instructionSize++]=t}log(){this.instructions.length=this.instructionSize,console.table(this.instructions,["type","action"])}}let I3=0;class $3{constructor(t){this._poolKeyHash=Object.create(null),this._texturePool={},this.textureOptions=t||{},this.enableFullScreen=!1,this.textureStyle=new ef(this.textureOptions)}createTexture(t,a,l,o){const c=new $i({...this.textureOptions,width:t,height:a,resolution:1,antialias:l,autoGarbageCollect:!1,autoGenerateMipmaps:o});return new ze({source:c,label:`texturePool_${I3++}`})}getOptimalTexture(t,a,l=1,o,c=!1){let d=Math.ceil(t*l-1e-6),m=Math.ceil(a*l-1e-6);d=tf(d),m=tf(m);const p=o?1:0,g=c?1:0,x=(d<<17)+(m<<2)+(g<<1)+p;this._texturePool[x]||(this._texturePool[x]=[]);let b=this._texturePool[x].pop();return b||(b=this.createTexture(d,m,o,c)),b.source._resolution=l,b.source.width=d/l,b.source.height=m/l,b.source.pixelWidth=d,b.source.pixelHeight=m,b.frame.x=0,b.frame.y=0,b.frame.width=t,b.frame.height=a,b.updateUvs(),this._poolKeyHash[b.uid]=x,b}getSameSizeTexture(t,a=!1){const l=t.source;return this.getOptimalTexture(t.width,t.height,l._resolution,a)}returnTexture(t,a=!1){const l=this._poolKeyHash[t.uid];a&&(t.source.style=this.textureStyle),this._texturePool[l].push(t)}clear(t){if(t=t!==!1,t)for(const a in this._texturePool){const l=this._texturePool[a];if(l)for(let o=0;o<l.length;o++)l[o].destroy(!0)}this._texturePool={}}}const Xp=new $3;xd.register(Xp);class tE{constructor(){this.renderPipeId="renderGroup",this.root=null,this.canBundle=!1,this.renderGroupParent=null,this.renderGroupChildren=[],this.worldTransform=new le,this.worldColorAlpha=4294967295,this.worldColor=16777215,this.worldAlpha=1,this.childrenToUpdate=Object.create(null),this.updateTick=0,this.gcTick=0,this.childrenRenderablesToUpdate={list:[],index:0},this.structureDidChange=!0,this.instructionSet=new og,this._onRenderContainers=[],this.textureNeedsUpdate=!0,this.isCachedAsTexture=!1,this._matrixDirty=7}init(t){this.root=t,t._onRender&&this.addOnRender(t),t.didChange=!0;const a=t.children;for(let l=0;l<a.length;l++){const o=a[l];o._updateFlags=15,this.addChild(o)}}enableCacheAsTexture(t={}){this.textureOptions=t,this.isCachedAsTexture=!0,this.textureNeedsUpdate=!0}disableCacheAsTexture(){this.isCachedAsTexture=!1,this.texture&&(Xp.returnTexture(this.texture,!0),this.texture=null)}updateCacheTexture(){this.textureNeedsUpdate=!0;const t=this._parentCacheAsTextureRenderGroup;t&&!t.textureNeedsUpdate&&t.updateCacheTexture()}reset(){this.renderGroupChildren.length=0;for(const t in this.childrenToUpdate){const a=this.childrenToUpdate[t];a.list.fill(null),a.index=0}this.childrenRenderablesToUpdate.index=0,this.childrenRenderablesToUpdate.list.fill(null),this.root=null,this.updateTick=0,this.structureDidChange=!0,this._onRenderContainers.length=0,this.renderGroupParent=null,this.disableCacheAsTexture()}get localTransform(){return this.root.localTransform}addRenderGroupChild(t){t.renderGroupParent&&t.renderGroupParent._removeRenderGroupChild(t),t.renderGroupParent=this,this.renderGroupChildren.push(t)}_removeRenderGroupChild(t){const a=this.renderGroupChildren.indexOf(t);a>-1&&this.renderGroupChildren.splice(a,1),t.renderGroupParent=null}addChild(t){if(this.structureDidChange=!0,t.parentRenderGroup=this,t.updateTick=-1,t.parent===this.root?t.relativeRenderGroupDepth=1:t.relativeRenderGroupDepth=t.parent.relativeRenderGroupDepth+1,t.didChange=!0,this.onChildUpdate(t),t.renderGroup){this.addRenderGroupChild(t.renderGroup);return}t._onRender&&this.addOnRender(t);const a=t.children;for(let l=0;l<a.length;l++)this.addChild(a[l])}removeChild(t){if(this.structureDidChange=!0,t._onRender&&(t.renderGroup||this.removeOnRender(t)),t.parentRenderGroup=null,t.renderGroup){this._removeRenderGroupChild(t.renderGroup);return}const a=t.children;for(let l=0;l<a.length;l++)this.removeChild(a[l])}removeChildren(t){for(let a=0;a<t.length;a++)this.removeChild(t[a])}onChildUpdate(t){let a=this.childrenToUpdate[t.relativeRenderGroupDepth];a||(a=this.childrenToUpdate[t.relativeRenderGroupDepth]={index:0,list:[]}),a.list[a.index++]=t}updateRenderable(t){t.globalDisplayStatus<7||(this.instructionSet.renderPipes[t.renderPipeId].updateRenderable(t),t.didViewUpdate=!1)}onChildViewUpdate(t){this.childrenRenderablesToUpdate.list[this.childrenRenderablesToUpdate.index++]=t}get isRenderable(){return this.root.localDisplayStatus===7&&this.worldAlpha>0}addOnRender(t){this._onRenderContainers.push(t)}removeOnRender(t){this._onRenderContainers.splice(this._onRenderContainers.indexOf(t),1)}runOnRender(t){for(let a=0;a<this._onRenderContainers.length;a++)this._onRenderContainers[a]._onRender(t)}destroy(){this.disableCacheAsTexture(),this.renderGroupParent=null,this.root=null,this.childrenRenderablesToUpdate=null,this.childrenToUpdate=null,this.renderGroupChildren=null,this._onRenderContainers=null,this.instructionSet=null}getChildren(t=[]){const a=this.root.children;for(let l=0;l<a.length;l++)this._getChildren(a[l],t);return t}_getChildren(t,a=[]){if(a.push(t),t.renderGroup)return a;const l=t.children;for(let o=0;o<l.length;o++)this._getChildren(l[o],a);return a}invalidateMatrices(){this._matrixDirty=7}get inverseWorldTransform(){return(this._matrixDirty&1)===0?this._inverseWorldTransform:(this._matrixDirty&=-2,this._inverseWorldTransform||(this._inverseWorldTransform=new le),this._inverseWorldTransform.copyFrom(this.worldTransform).invert())}get textureOffsetInverseTransform(){return(this._matrixDirty&2)===0?this._textureOffsetInverseTransform:(this._matrixDirty&=-3,this._textureOffsetInverseTransform||(this._textureOffsetInverseTransform=new le),this._textureOffsetInverseTransform.copyFrom(this.inverseWorldTransform).translate(-this._textureBounds.x,-this._textureBounds.y))}get inverseParentTextureTransform(){if((this._matrixDirty&4)===0)return this._inverseParentTextureTransform;this._matrixDirty&=-5;const t=this._parentCacheAsTextureRenderGroup;return t?(this._inverseParentTextureTransform||(this._inverseParentTextureTransform=new le),this._inverseParentTextureTransform.copyFrom(this.worldTransform).prepend(t.inverseWorldTransform).translate(-t._textureBounds.x,-t._textureBounds.y)):this.worldTransform}get cacheToLocalTransform(){return this.isCachedAsTexture?this.textureOffsetInverseTransform:this._parentCacheAsTextureRenderGroup?this._parentCacheAsTextureRenderGroup.textureOffsetInverseTransform:null}}function eE(n,t,a={}){for(const l in t)!a[l]&&t[l]!==void 0&&(n[l]=t[l])}const W0=new In(null),up=new In(null),P0=new In(null,1,1),op=new In(null),m1=1,nE=2,I0=4;class $n extends _s{constructor(t={}){var a,l;super(),this.uid=on("renderable"),this._updateFlags=15,this.renderGroup=null,this.parentRenderGroup=null,this.parentRenderGroupIndex=0,this.didChange=!1,this.didViewUpdate=!1,this.relativeRenderGroupDepth=0,this.children=[],this.parent=null,this.includeInBuild=!0,this.measurable=!0,this.isSimple=!0,this.parentRenderLayer=null,this.updateTick=-1,this.localTransform=new le,this.relativeGroupTransform=new le,this.groupTransform=this.relativeGroupTransform,this.destroyed=!1,this._position=new In(this,0,0),this._scale=P0,this._pivot=up,this._origin=op,this._skew=W0,this._cx=1,this._sx=0,this._cy=0,this._sy=1,this._rotation=0,this.localColor=16777215,this.localAlpha=1,this.groupAlpha=1,this.groupColor=16777215,this.groupColorAlpha=4294967295,this.localBlendMode="inherit",this.groupBlendMode="normal",this.localDisplayStatus=7,this.globalDisplayStatus=7,this._didContainerChangeTick=0,this._didViewChangeTick=0,this._didLocalTransformChangeId=-1,this.effects=[],eE(this,t,{children:!0,parent:!0,effects:!0}),(a=t.children)==null||a.forEach(o=>this.addChild(o)),(l=t.parent)==null||l.addChild(this)}static mixin(t){de("8.8.0","Container.mixin is deprecated, please use extensions.mixin instead."),Ie.mixin($n,t)}set _didChangeId(t){this._didViewChangeTick=t>>12&4095,this._didContainerChangeTick=t&4095}get _didChangeId(){return this._didContainerChangeTick&4095|(this._didViewChangeTick&4095)<<12}addChild(...t){if(this.allowChildren||de(un,"addChild: Only Containers will be allowed to add children in v8.0.0"),t.length>1){for(let o=0;o<t.length;o++)this.addChild(t[o]);return t[0]}const a=t[0],l=this.renderGroup||this.parentRenderGroup;return a.parent===this?(this.children.splice(this.children.indexOf(a),1),this.children.push(a),l&&(l.structureDidChange=!0),a):(a.parent&&a.parent.removeChild(a),this.children.push(a),this.sortableChildren&&(this.sortDirty=!0),a.parent=this,a.didChange=!0,a._updateFlags=15,l&&l.addChild(a),this.emit("childAdded",a,this,this.children.length-1),a.emit("added",this),this._didViewChangeTick++,a._zIndex!==0&&a.depthOfChildModified(),a)}removeChild(...t){if(t.length>1){for(let o=0;o<t.length;o++)this.removeChild(t[o]);return t[0]}const a=t[0],l=this.children.indexOf(a);return l>-1&&(this._didViewChangeTick++,this.children.splice(l,1),this.renderGroup?this.renderGroup.removeChild(a):this.parentRenderGroup&&this.parentRenderGroup.removeChild(a),a.parentRenderLayer&&a.parentRenderLayer.detach(a),a.parent=null,this.emit("childRemoved",a,this,l),a.emit("removed",this)),a}_onUpdate(t){t&&t===this._skew&&this._updateSkew(),this._didContainerChangeTick++,!this.didChange&&(this.didChange=!0,this.parentRenderGroup&&this.parentRenderGroup.onChildUpdate(this))}set isRenderGroup(t){!!this.renderGroup!==t&&(t?this.enableRenderGroup():this.disableRenderGroup())}get isRenderGroup(){return!!this.renderGroup}enableRenderGroup(){if(this.renderGroup)return;const t=this.parentRenderGroup;t==null||t.removeChild(this),this.renderGroup=ai.get(tE,this),this.groupTransform=le.IDENTITY,t==null||t.addChild(this),this._updateIsSimple()}disableRenderGroup(){if(!this.renderGroup)return;const t=this.parentRenderGroup;t==null||t.removeChild(this),ai.return(this.renderGroup),this.renderGroup=null,this.groupTransform=this.relativeGroupTransform,t==null||t.addChild(this),this._updateIsSimple()}_updateIsSimple(){this.isSimple=!this.renderGroup&&this.effects.length===0}get worldTransform(){return this._worldTransform||(this._worldTransform=new le),this.renderGroup?this._worldTransform.copyFrom(this.renderGroup.worldTransform):this.parentRenderGroup&&this._worldTransform.appendFrom(this.relativeGroupTransform,this.parentRenderGroup.worldTransform),this._worldTransform}get x(){return this._position.x}set x(t){this._position.x=t}get y(){return this._position.y}set y(t){this._position.y=t}get position(){return this._position}set position(t){this._position.copyFrom(t)}get rotation(){return this._rotation}set rotation(t){this._rotation!==t&&(this._rotation=t,this._onUpdate(this._skew))}get angle(){return this.rotation*y3}set angle(t){this.rotation=t*g3}get pivot(){return this._pivot===up&&(this._pivot=new In(this,0,0)),this._pivot}set pivot(t){this._pivot===up&&(this._pivot=new In(this,0,0),this._origin!==op&&Ya("Setting both a pivot and origin on a Container is not recommended. This can lead to unexpected behavior if not handled carefully.")),typeof t=="number"?this._pivot.set(t):this._pivot.copyFrom(t)}get skew(){return this._skew===W0&&(this._skew=new In(this,0,0)),this._skew}set skew(t){this._skew===W0&&(this._skew=new In(this,0,0)),this._skew.copyFrom(t)}get scale(){return this._scale===P0&&(this._scale=new In(this,1,1)),this._scale}set scale(t){this._scale===P0&&(this._scale=new In(this,0,0)),typeof t=="string"&&(t=parseFloat(t)),typeof t=="number"?this._scale.set(t):this._scale.copyFrom(t)}get origin(){return this._origin===op&&(this._origin=new In(this,0,0)),this._origin}set origin(t){this._origin===op&&(this._origin=new In(this,0,0),this._pivot!==up&&Ya("Setting both a pivot and origin on a Container is not recommended. This can lead to unexpected behavior if not handled carefully.")),typeof t=="number"?this._origin.set(t):this._origin.copyFrom(t)}get width(){return Math.abs(this.scale.x*this.getLocalBounds().width)}set width(t){const a=this.getLocalBounds().width;this._setWidth(t,a)}get height(){return Math.abs(this.scale.y*this.getLocalBounds().height)}set height(t){const a=this.getLocalBounds().height;this._setHeight(t,a)}getSize(t){t||(t={});const a=this.getLocalBounds();return t.width=Math.abs(this.scale.x*a.width),t.height=Math.abs(this.scale.y*a.height),t}setSize(t,a){const l=this.getLocalBounds();typeof t=="object"?(a=t.height??t.width,t=t.width):a??(a=t),t!==void 0&&this._setWidth(t,l.width),a!==void 0&&this._setHeight(a,l.height)}_updateSkew(){const t=this._rotation,a=this._skew;this._cx=Math.cos(t+a._y),this._sx=Math.sin(t+a._y),this._cy=-Math.sin(t-a._x),this._sy=Math.cos(t-a._x)}updateTransform(t){return this.position.set(typeof t.x=="number"?t.x:this.position.x,typeof t.y=="number"?t.y:this.position.y),this.scale.set(typeof t.scaleX=="number"?t.scaleX||1:this.scale.x,typeof t.scaleY=="number"?t.scaleY||1:this.scale.y),this.rotation=typeof t.rotation=="number"?t.rotation:this.rotation,this.skew.set(typeof t.skewX=="number"?t.skewX:this.skew.x,typeof t.skewY=="number"?t.skewY:this.skew.y),this.pivot.set(typeof t.pivotX=="number"?t.pivotX:this.pivot.x,typeof t.pivotY=="number"?t.pivotY:this.pivot.y),this.origin.set(typeof t.originX=="number"?t.originX:this.origin.x,typeof t.originY=="number"?t.originY:this.origin.y),this}setFromMatrix(t){t.decompose(this)}updateLocalTransform(){const t=this._didContainerChangeTick;if(this._didLocalTransformChangeId===t)return;this._didLocalTransformChangeId=t;const a=this.localTransform,l=this._scale,o=this._pivot,c=this._origin,d=this._position,m=l._x,p=l._y,g=o._x,x=o._y,b=-c._x,E=-c._y;a.a=this._cx*m,a.b=this._sx*m,a.c=this._cy*p,a.d=this._sy*p,a.tx=d._x-(g*a.a+x*a.c)+(b*a.a+E*a.c)-b,a.ty=d._y-(g*a.b+x*a.d)+(b*a.b+E*a.d)-E}set alpha(t){t!==this.localAlpha&&(this.localAlpha=t,this._updateFlags|=m1,this._onUpdate())}get alpha(){return this.localAlpha}set tint(t){const l=zn.shared.setValue(t??16777215).toBgrNumber();l!==this.localColor&&(this.localColor=l,this._updateFlags|=m1,this._onUpdate())}get tint(){return Cp(this.localColor)}set blendMode(t){this.localBlendMode!==t&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0),this._updateFlags|=nE,this.localBlendMode=t,this._onUpdate())}get blendMode(){return this.localBlendMode}get visible(){return!!(this.localDisplayStatus&2)}set visible(t){const a=t?2:0;(this.localDisplayStatus&2)!==a&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0),this._updateFlags|=I0,this.localDisplayStatus^=2,this._onUpdate(),this.emit("visibleChanged",t))}get culled(){return!(this.localDisplayStatus&4)}set culled(t){const a=t?0:4;(this.localDisplayStatus&4)!==a&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0),this._updateFlags|=I0,this.localDisplayStatus^=4,this._onUpdate())}get renderable(){return!!(this.localDisplayStatus&1)}set renderable(t){const a=t?1:0;(this.localDisplayStatus&1)!==a&&(this._updateFlags|=I0,this.localDisplayStatus^=1,this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0),this._onUpdate())}get isRenderable(){return this.localDisplayStatus===7&&this.groupAlpha>0}destroy(t=!1){var o;if(this.destroyed)return;this.destroyed=!0;let a;if(this.children.length&&(a=this.removeChildren(0,this.children.length)),this.removeFromParent(),this.parent=null,this._maskEffect=null,this._filterEffect=null,this.effects=null,this._position=null,this._scale=null,this._pivot=null,this._origin=null,this._skew=null,this.emit("destroyed",this),this.removeAllListeners(),(typeof t=="boolean"?t:t==null?void 0:t.children)&&a)for(let c=0;c<a.length;++c)a[c].destroy(t);(o=this.renderGroup)==null||o.destroy(),this.renderGroup=null}}Ie.mixin($n,G3,k3,P3,J3,Z3,L3,X3,F3,N3,H3,Q3,Y3);class cg extends $n{constructor(t){super(t),this.canBundle=!0,this.allowChildren=!1,this._roundPixels=0,this._lastUsed=-1,this._gpuData=Object.create(null),this.autoGarbageCollect=!0,this._gcLastUsed=-1,this._bounds=new Ii(0,1,0,0),this._boundsDirty=!0,this.autoGarbageCollect=t.autoGarbageCollect??!0}get bounds(){return this._boundsDirty?(this.updateBounds(),this._boundsDirty=!1,this._bounds):this._bounds}get roundPixels(){return!!this._roundPixels}set roundPixels(t){this._roundPixels=t?1:0}containsPoint(t){const a=this.bounds,{x:l,y:o}=t;return l>=a.minX&&l<=a.maxX&&o>=a.minY&&o<=a.maxY}onViewUpdate(){if(this._didViewChangeTick++,this._boundsDirty=!0,this.didViewUpdate)return;this.didViewUpdate=!0;const t=this.renderGroup||this.parentRenderGroup;t&&t.onChildViewUpdate(this)}unload(){var t;this.emit("unload",this);for(const a in this._gpuData)(t=this._gpuData[a])==null||t.destroy();this._gpuData=Object.create(null),this.onViewUpdate()}destroy(t){this.unload(),super.destroy(t),this._bounds=null}collectRenderablesSimple(t,a,l){const{renderPipes:o}=a;o.blendMode.pushBlendMode(this,this.groupBlendMode,t);const d=o[this.renderPipeId];d!=null&&d.addRenderable&&d.addRenderable(this,t),this.didViewUpdate=!1;const m=this.children,p=m.length;for(let g=0;g<p;g++)m[g].collectRenderables(t,a,l);o.blendMode.popBlendMode(t)}}class af extends cg{constructor(t=ze.EMPTY){t instanceof ze&&(t={texture:t});const{texture:a=ze.EMPTY,anchor:l,roundPixels:o,width:c,height:d,...m}=t;super({label:"Sprite",...m}),this.renderPipeId="sprite",this.batched=!0,this._visualBounds={minX:0,maxX:1,minY:0,maxY:0},this._anchor=new In({_onUpdate:()=>{this.onViewUpdate()}}),l?this.anchor=l:a.defaultAnchor&&(this.anchor=a.defaultAnchor),this.texture=a,this.allowChildren=!1,this.roundPixels=o??!1,c!==void 0&&(this.width=c),d!==void 0&&(this.height=d)}static from(t,a=!1){return t instanceof ze?new af(t):new af(ze.from(t,a))}set texture(t){t||(t=ze.EMPTY);const a=this._texture;a!==t&&(a&&a.dynamic&&a.off("update",this.onViewUpdate,this),t.dynamic&&t.on("update",this.onViewUpdate,this),this._texture=t,this._width&&this._setWidth(this._width,this._texture.orig.width),this._height&&this._setHeight(this._height,this._texture.orig.height),this.onViewUpdate())}get texture(){return this._texture}get visualBounds(){return m_(this._visualBounds,this._anchor,this._texture),this._visualBounds}get sourceBounds(){return de("8.6.1","Sprite.sourceBounds is deprecated, use visualBounds instead."),this.visualBounds}updateBounds(){const t=this._anchor,a=this._texture,l=this._bounds,{width:o,height:c}=a.orig;l.minX=-t._x*o,l.maxX=l.minX+o,l.minY=-t._y*c,l.maxY=l.minY+c}destroy(t=!1){if(super.destroy(t),typeof t=="boolean"?t:t==null?void 0:t.texture){const l=typeof t=="boolean"?t:t==null?void 0:t.textureSource;this._texture.destroy(l)}this._texture=null,this._visualBounds=null,this._bounds=null,this._anchor=null}get anchor(){return this._anchor}set anchor(t){typeof t=="number"?this._anchor.set(t):this._anchor.copyFrom(t)}get width(){return Math.abs(this.scale.x)*this._texture.orig.width}set width(t){this._setWidth(t,this._texture.orig.width),this._width=t}get height(){return Math.abs(this.scale.y)*this._texture.orig.height}set height(t){this._setHeight(t,this._texture.orig.height),this._height=t}getSize(t){return t||(t={}),t.width=Math.abs(this.scale.x)*this._texture.orig.width,t.height=Math.abs(this.scale.y)*this._texture.orig.height,t}setSize(t,a){typeof t=="object"?(a=t.height??t.width,t=t.width):a??(a=t),t!==void 0&&this._setWidth(t,this._texture.orig.width),a!==void 0&&this._setHeight(a,this._texture.orig.height)}}const aE=new Ii;function E_(n,t,a){const l=aE;n.measurable=!0,v_(n,a,l),t.addBoundsMask(l),n.measurable=!1}function C_(n,t,a){const l=rr.get();n.measurable=!0;const o=Ga.get().identity(),c=A_(n,a,o);S_(n,l,c),n.measurable=!1,t.addBoundsMask(l),Ga.return(o),rr.return(l)}function A_(n,t,a){return n?(n!==t&&(A_(n.parent,t,a),n.updateLocalTransform(),a.append(n.localTransform)),a):(Ya("Mask bounds, renderable is not inside the root container"),a)}class M_{constructor(t){this.priority=0,this.inverse=!1,this.pipe="alphaMask",t!=null&&t.mask&&this.init(t.mask)}init(t){this.mask=t,this.renderMaskToTexture=!(t instanceof af),this.mask.renderable=this.renderMaskToTexture,this.mask.includeInBuild=!this.renderMaskToTexture,this.mask.measurable=!1}reset(){this.mask!==null&&(this.mask.measurable=!0,this.mask=null)}addBounds(t,a){this.inverse||E_(this.mask,t,a)}addLocalBounds(t,a){C_(this.mask,t,a)}containsPoint(t,a){const l=this.mask;return a(l,t)}destroy(){this.reset()}static test(t){return t instanceof af}}M_.extension=Wt.MaskEffect;class R_{constructor(t){this.priority=0,this.pipe="colorMask",t!=null&&t.mask&&this.init(t.mask)}init(t){this.mask=t}destroy(){}static test(t){return typeof t=="number"}}R_.extension=Wt.MaskEffect;class z_{constructor(t){this.priority=0,this.pipe="stencilMask",t!=null&&t.mask&&this.init(t.mask)}init(t){this.mask=t,this.mask.includeInBuild=!1,this.mask.measurable=!1}reset(){this.mask!==null&&(this.mask.measurable=!0,this.mask.includeInBuild=!0,this.mask=null)}addBounds(t,a){E_(this.mask,t,a)}addLocalBounds(t,a){C_(this.mask,t,a)}containsPoint(t,a){const l=this.mask;return a(l,t)}destroy(){this.reset()}static test(t){return t instanceof $n}}z_.extension=Wt.MaskEffect;const iE={createCanvas:(n,t)=>{const a=document.createElement("canvas");return a.width=n,a.height=t,a},createImage:()=>new Image,getCanvasRenderingContext2D:()=>CanvasRenderingContext2D,getWebGLRenderingContext:()=>WebGLRenderingContext,getNavigator:()=>navigator,getBaseUrl:()=>document.baseURI??window.location.href,getFontFaceSet:()=>document.fonts,fetch:(n,t)=>fetch(n,t),parseXML:n=>new DOMParser().parseFromString(n,"text/xml")};let p1=iE;const bi={get(){return p1},set(n){p1=n}};class w_ extends $i{constructor(t){t.resource||(t.resource=bi.get().createCanvas()),t.width||(t.width=t.resource.width,t.autoDensity||(t.width/=t.resolution)),t.height||(t.height=t.resource.height,t.autoDensity||(t.height/=t.resolution)),super(t),this.uploadMethodId="image",this.autoDensity=t.autoDensity,this.resizeCanvas(),this.transparent=!!t.transparent}resizeCanvas(){this.autoDensity&&"style"in this.resource&&(this.resource.style.width=`${this.width}px`,this.resource.style.height=`${this.height}px`),(this.resource.width!==this.pixelWidth||this.resource.height!==this.pixelHeight)&&(this.resource.width=this.pixelWidth,this.resource.height=this.pixelHeight)}resize(t=this.width,a=this.height,l=this._resolution){const o=super.resize(t,a,l);return o&&this.resizeCanvas(),o}static test(t){return globalThis.HTMLCanvasElement&&t instanceof HTMLCanvasElement||globalThis.OffscreenCanvas&&t instanceof OffscreenCanvas}get context2D(){return this._context2D||(this._context2D=this.resource.getContext("2d"))}}w_.extension=Wt.TextureSource;class zp extends $i{constructor(t){super(t),this.uploadMethodId="image",this.autoGarbageCollect=!0}static test(t){return globalThis.HTMLImageElement&&t instanceof HTMLImageElement||typeof ImageBitmap<"u"&&t instanceof ImageBitmap||globalThis.VideoFrame&&t instanceof VideoFrame}}zp.extension=Wt.TextureSource;var wp=(n=>(n[n.INTERACTION=50]="INTERACTION",n[n.HIGH=25]="HIGH",n[n.NORMAL=0]="NORMAL",n[n.LOW=-25]="LOW",n[n.UTILITY=-50]="UTILITY",n))(wp||{});class $0{constructor(t,a=null,l=0,o=!1){this.next=null,this.previous=null,this._destroyed=!1,this._fn=t,this._context=a,this.priority=l,this._once=o}match(t,a=null){return this._fn===t&&this._context===a}emit(t){this._fn&&(this._context?this._fn.call(this._context,t):this._fn(t));const a=this.next;return this._once&&this.destroy(!0),this._destroyed&&(this.next=null),a}connect(t){this.previous=t,t.next&&(t.next.previous=this),this.next=t.next,t.next=this}destroy(t=!1){this._destroyed=!0,this._fn=null,this._context=null,this.previous&&(this.previous.next=this.next),this.next&&(this.next.previous=this.previous);const a=this.next;return this.next=t?null:a,this.previous=null,a}}const D_=class Si{constructor(){this.autoStart=!1,this.deltaTime=1,this.lastTime=-1,this.speed=1,this.started=!1,this._requestId=null,this._maxElapsedMS=100,this._minElapsedMS=0,this._protected=!1,this._lastFrame=-1,this._head=new $0(null,null,1/0),this.deltaMS=1/Si.targetFPMS,this.elapsedMS=1/Si.targetFPMS,this._tick=t=>{this._requestId=null,this.started&&(this.update(t),this.started&&this._requestId===null&&this._head.next&&(this._requestId=requestAnimationFrame(this._tick)))}}_requestIfNeeded(){this._requestId===null&&this._head.next&&(this.lastTime=performance.now(),this._lastFrame=this.lastTime,this._requestId=requestAnimationFrame(this._tick))}_cancelIfNeeded(){this._requestId!==null&&(cancelAnimationFrame(this._requestId),this._requestId=null)}_startIfPossible(){this.started?this._requestIfNeeded():this.autoStart&&this.start()}add(t,a,l=wp.NORMAL){return this._addListener(new $0(t,a,l))}addOnce(t,a,l=wp.NORMAL){return this._addListener(new $0(t,a,l,!0))}_addListener(t){let a=this._head.next,l=this._head;if(!a)t.connect(l);else{for(;a;){if(t.priority>a.priority){t.connect(l);break}l=a,a=a.next}t.previous||t.connect(l)}return this._startIfPossible(),this}remove(t,a){let l=this._head.next;for(;l;)l.match(t,a)?l=l.destroy():l=l.next;return this._head.next||this._cancelIfNeeded(),this}get count(){if(!this._head)return 0;let t=0,a=this._head;for(;a=a.next;)t++;return t}start(){this.started||(this.started=!0,this._requestIfNeeded())}stop(){this.started&&(this.started=!1,this._cancelIfNeeded())}destroy(){if(!this._protected){this.stop();let t=this._head.next;for(;t;)t=t.destroy(!0);this._head.destroy(),this._head=null}}update(t=performance.now()){let a;if(t>this.lastTime){if(a=this.elapsedMS=t-this.lastTime,a>this._maxElapsedMS&&(a=this._maxElapsedMS),a*=this.speed,this._minElapsedMS){const c=t-this._lastFrame|0;if(c<this._minElapsedMS)return;this._lastFrame=t-c%this._minElapsedMS}this.deltaMS=a,this.deltaTime=this.deltaMS*Si.targetFPMS;const l=this._head;let o=l.next;for(;o;)o=o.emit(this);l.next||this._cancelIfNeeded()}else this.deltaTime=this.deltaMS=this.elapsedMS=0;this.lastTime=t}get FPS(){return 1e3/this.elapsedMS}get minFPS(){return 1e3/this._maxElapsedMS}set minFPS(t){const a=Math.min(Math.max(0,t)/1e3,Si.targetFPMS);this._maxElapsedMS=1/a,this._minElapsedMS&&t>this.maxFPS&&(this.maxFPS=t)}get maxFPS(){return this._minElapsedMS?Math.round(1e3/this._minElapsedMS):0}set maxFPS(t){t===0?this._minElapsedMS=0:(t<this.minFPS&&(this.minFPS=t),this._minElapsedMS=1/(t/1e3))}static get shared(){if(!Si._shared){const t=Si._shared=new Si;t.autoStart=!0,t._protected=!0}return Si._shared}static get system(){if(!Si._system){const t=Si._system=new Si;t.autoStart=!0,t._protected=!0}return Si._system}};D_.targetFPMS=.06;let Jc=D_,ty;async function lE(){return ty??(ty=(async()=>{var d;const t=bi.get().createCanvas(1,1).getContext("webgl");if(!t)return"premultiply-alpha-on-upload";const a=await new Promise(m=>{const p=document.createElement("video");p.onloadeddata=()=>m(p),p.onerror=()=>m(null),p.autoplay=!1,p.crossOrigin="anonymous",p.preload="auto",p.src="data:video/webm;base64,GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQJChYECGFOAZwEAAAAAAAHTEU2bdLpNu4tTq4QVSalmU6yBoU27i1OrhBZUrmtTrIHGTbuMU6uEElTDZ1OsggEXTbuMU6uEHFO7a1OsggG97AEAAAAAAABZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmoCrXsYMPQkBNgIRMYXZmV0GETGF2ZkSJiEBEAAAAAAAAFlSua8yuAQAAAAAAAEPXgQFzxYgAAAAAAAAAAZyBACK1nIN1bmSIgQCGhVZfVlA5g4EBI+ODhAJiWgDglLCBArqBApqBAlPAgQFVsIRVuYEBElTDZ9Vzc9JjwItjxYgAAAAAAAAAAWfInEWjh0VOQ09ERVJEh49MYXZjIGxpYnZweC12cDlnyKJFo4hEVVJBVElPTkSHlDAwOjAwOjAwLjA0MDAwMDAwMAAAH0O2dcfngQCgwqGggQAAAIJJg0IAABAAFgA4JBwYSgAAICAAEb///4r+AAB1oZ2mm+6BAaWWgkmDQgAAEAAWADgkHBhKAAAgIABIQBxTu2uRu4+zgQC3iveBAfGCAXHwgQM=",p.load()});if(!a)return"premultiply-alpha-on-upload";const l=t.createTexture();t.bindTexture(t.TEXTURE_2D,l);const o=t.createFramebuffer();t.bindFramebuffer(t.FRAMEBUFFER,o),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,l,0),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,t.NONE),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,a);const c=new Uint8Array(4);return t.readPixels(0,0,1,1,t.RGBA,t.UNSIGNED_BYTE,c),t.deleteFramebuffer(o),t.deleteTexture(l),(d=t.getExtension("WEBGL_lose_context"))==null||d.loseContext(),c[0]<=c[3]?"premultiplied-alpha":"premultiply-alpha-on-upload"})()),ty}const Vp=class O_ extends $i{constructor(t){super(t),this.isReady=!1,this.uploadMethodId="video",t={...O_.defaultOptions,...t},this._autoUpdate=!0,this._isConnectedToTicker=!1,this._updateFPS=t.updateFPS||0,this._msToNextUpdate=0,this.autoPlay=t.autoPlay!==!1,this.alphaMode=t.alphaMode??"premultiply-alpha-on-upload",this._videoFrameRequestCallback=this._videoFrameRequestCallback.bind(this),this._videoFrameRequestCallbackHandle=null,this._load=null,this._resolve=null,this._reject=null,this._onCanPlay=this._onCanPlay.bind(this),this._onCanPlayThrough=this._onCanPlayThrough.bind(this),this._onError=this._onError.bind(this),this._onPlayStart=this._onPlayStart.bind(this),this._onPlayStop=this._onPlayStop.bind(this),this._onSeeked=this._onSeeked.bind(this),t.autoLoad!==!1&&this.load()}updateFrame(){if(!this.destroyed){if(this._updateFPS){const t=Jc.shared.elapsedMS*this.resource.playbackRate;this._msToNextUpdate=Math.floor(this._msToNextUpdate-t)}(!this._updateFPS||this._msToNextUpdate<=0)&&(this._msToNextUpdate=this._updateFPS?Math.floor(1e3/this._updateFPS):0),this.isValid&&this.update()}}_videoFrameRequestCallback(){this.updateFrame(),this.destroyed?this._videoFrameRequestCallbackHandle=null:this._videoFrameRequestCallbackHandle=this.resource.requestVideoFrameCallback(this._videoFrameRequestCallback)}get isValid(){return!!this.resource.videoWidth&&!!this.resource.videoHeight}async load(){if(this._load)return this._load;const t=this.resource,a=this.options;return(t.readyState===t.HAVE_ENOUGH_DATA||t.readyState===t.HAVE_FUTURE_DATA)&&t.width&&t.height&&(t.complete=!0),t.addEventListener("play",this._onPlayStart),t.addEventListener("pause",this._onPlayStop),t.addEventListener("seeked",this._onSeeked),this._isSourceReady()?this._mediaReady():(a.preload||t.addEventListener("canplay",this._onCanPlay),t.addEventListener("canplaythrough",this._onCanPlayThrough),t.addEventListener("error",this._onError,!0)),this.alphaMode=await lE(),this._load=new Promise((l,o)=>{this.isValid?l(this):(this._resolve=l,this._reject=o,a.preloadTimeoutMs!==void 0&&(this._preloadTimeout=setTimeout(()=>{this._onError(new ErrorEvent(`Preload exceeded timeout of ${a.preloadTimeoutMs}ms`))})),t.load())}),this._load}_onError(t){this.resource.removeEventListener("error",this._onError,!0),this.emit("error",t),this._reject&&(this._reject(t),this._reject=null,this._resolve=null)}_isSourcePlaying(){const t=this.resource;return!t.paused&&!t.ended}_isSourceReady(){return this.resource.readyState>2}_onPlayStart(){this.isValid||this._mediaReady(),this._configureAutoUpdate()}_onPlayStop(){this._configureAutoUpdate()}_onSeeked(){this._autoUpdate&&!this._isSourcePlaying()&&(this._msToNextUpdate=0,this.updateFrame(),this._msToNextUpdate=0)}_onCanPlay(){this.resource.removeEventListener("canplay",this._onCanPlay),this._mediaReady()}_onCanPlayThrough(){this.resource.removeEventListener("canplaythrough",this._onCanPlay),this._preloadTimeout&&(clearTimeout(this._preloadTimeout),this._preloadTimeout=void 0),this._mediaReady()}_mediaReady(){const t=this.resource;this.isValid&&(this.isReady=!0,this.resize(t.videoWidth,t.videoHeight)),this._msToNextUpdate=0,this.updateFrame(),this._msToNextUpdate=0,this._resolve&&(this._resolve(this),this._resolve=null,this._reject=null),this._isSourcePlaying()?this._onPlayStart():this.autoPlay&&this.resource.play()}destroy(){this._configureAutoUpdate();const t=this.resource;t&&(t.removeEventListener("play",this._onPlayStart),t.removeEventListener("pause",this._onPlayStop),t.removeEventListener("seeked",this._onSeeked),t.removeEventListener("canplay",this._onCanPlay),t.removeEventListener("canplaythrough",this._onCanPlayThrough),t.removeEventListener("error",this._onError,!0),t.pause(),t.src="",t.load()),super.destroy()}get autoUpdate(){return this._autoUpdate}set autoUpdate(t){t!==this._autoUpdate&&(this._autoUpdate=t,this._configureAutoUpdate())}get updateFPS(){return this._updateFPS}set updateFPS(t){t!==this._updateFPS&&(this._updateFPS=t,this._configureAutoUpdate())}_configureAutoUpdate(){this._autoUpdate&&this._isSourcePlaying()?!this._updateFPS&&this.resource.requestVideoFrameCallback?(this._isConnectedToTicker&&(Jc.shared.remove(this.updateFrame,this),this._isConnectedToTicker=!1,this._msToNextUpdate=0),this._videoFrameRequestCallbackHandle===null&&(this._videoFrameRequestCallbackHandle=this.resource.requestVideoFrameCallback(this._videoFrameRequestCallback))):(this._videoFrameRequestCallbackHandle!==null&&(this.resource.cancelVideoFrameCallback(this._videoFrameRequestCallbackHandle),this._videoFrameRequestCallbackHandle=null),this._isConnectedToTicker||(Jc.shared.add(this.updateFrame,this),this._isConnectedToTicker=!0,this._msToNextUpdate=0)):(this._videoFrameRequestCallbackHandle!==null&&(this.resource.cancelVideoFrameCallback(this._videoFrameRequestCallbackHandle),this._videoFrameRequestCallbackHandle=null),this._isConnectedToTicker&&(Jc.shared.remove(this.updateFrame,this),this._isConnectedToTicker=!1,this._msToNextUpdate=0))}static test(t){return globalThis.HTMLVideoElement&&t instanceof HTMLVideoElement}};Vp.extension=Wt.TextureSource;Vp.defaultOptions={...$i.defaultOptions,autoLoad:!0,autoPlay:!0,updateFPS:0,crossorigin:!0,loop:!1,muted:!0,playsinline:!0,preload:!1};Vp.MIME_TYPES={ogv:"video/ogg",mov:"video/quicktime",m4v:"video/mp4"};let sE=Vp;const Qc=(n,t,a=!1)=>(Array.isArray(n)||(n=[n]),t?n.map(l=>typeof l=="string"||a?t(l):l):n);class rE{constructor(){this._parsers=[],this._cache=new Map,this._cacheMap=new Map}reset(){this._cacheMap.clear(),this._cache.clear()}has(t){return this._cache.has(t)}get(t){const a=this._cache.get(t);return a||Ya(`[Assets] Asset id ${t} was not found in the Cache`),a}set(t,a){const l=Qc(t);let o;for(let p=0;p<this.parsers.length;p++){const g=this.parsers[p];if(g.test(a)){o=g.getCacheableAssets(l,a);break}}const c=new Map(Object.entries(o||{}));o||l.forEach(p=>{c.set(p,a)});const d=[...c.keys()],m={cacheKeys:d,keys:l};l.forEach(p=>{this._cacheMap.set(p,m)}),d.forEach(p=>{const g=o?o[p]:a;this._cache.has(p)&&this._cache.get(p)!==g&&Ya("[Cache] already has key:",p),this._cache.set(p,c.get(p))})}remove(t){if(!this._cacheMap.has(t)){Ya(`[Assets] Asset id ${t} was not found in the Cache`);return}const a=this._cacheMap.get(t);a.cacheKeys.forEach(o=>{this._cache.delete(o)}),a.keys.forEach(o=>{this._cacheMap.delete(o)})}get parsers(){return this._parsers}}const Kc=new rE,Uy=[];Ie.handleByList(Wt.TextureSource,Uy);function N_(n={}){const t=n&&n.resource,a=t?n.resource:n,l=t?n:{resource:n};for(let o=0;o<Uy.length;o++){const c=Uy[o];if(c.test(a))return new c(l)}throw new Error(`Could not find a source type for resource: ${l.resource}`)}function uE(n={},t=!1){const a=n&&n.resource,l=a?n.resource:n,o=a?n:{resource:n};if(!t&&Kc.has(l))return Kc.get(l);const c=new ze({source:N_(o)});return c.on("destroy",()=>{Kc.has(l)&&Kc.remove(l)}),t||Kc.set(l,c),c}function oE(n,t=!1){return typeof n=="string"?Kc.get(n):n instanceof $i?new ze({source:n}):uE(n,t)}ze.from=oE;$i.from=N_;Ie.add(M_,R_,z_,sE,zp,w_,rg);var B_=(n=>(n[n.Low=0]="Low",n[n.Normal=1]="Normal",n[n.High=2]="High",n))(B_||{});function Al(n){if(typeof n!="string")throw new TypeError(`Path must be a string. Received ${JSON.stringify(n)}`)}function Kh(n){return n.split("?")[0].split("#")[0]}function cE(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function fE(n,t,a){return n.replace(new RegExp(cE(t),"g"),a)}function hE(n,t){let a="",l=0,o=-1,c=0,d=-1;for(let m=0;m<=n.length;++m){if(m<n.length)d=n.charCodeAt(m);else{if(d===47)break;d=47}if(d===47){if(!(o===m-1||c===1))if(o!==m-1&&c===2){if(a.length<2||l!==2||a.charCodeAt(a.length-1)!==46||a.charCodeAt(a.length-2)!==46){if(a.length>2){const p=a.lastIndexOf("/");if(p!==a.length-1){p===-1?(a="",l=0):(a=a.slice(0,p),l=a.length-1-a.lastIndexOf("/")),o=m,c=0;continue}}else if(a.length===2||a.length===1){a="",l=0,o=m,c=0;continue}}}else a.length>0?a+=`/${n.slice(o+1,m)}`:a=n.slice(o+1,m),l=m-o-1;o=m,c=0}else d===46&&c!==-1?++c:c=-1}return a}const fd={toPosix(n){return fE(n,"\\","/")},isUrl(n){return/^https?:/.test(this.toPosix(n))},isDataUrl(n){return/^data:([a-z]+\/[a-z0-9-+.]+(;[a-z0-9-.!#$%*+.{}|~`]+=[a-z0-9-.!#$%*+.{}()_|~`]+)*)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s<>]*?)$/i.test(n)},isBlobUrl(n){return n.startsWith("blob:")},hasProtocol(n){return/^[^/:]+:/.test(this.toPosix(n))},getProtocol(n){Al(n),n=this.toPosix(n);const t=/^file:\/\/\//.exec(n);if(t)return t[0];const a=/^[^/:]+:\/{0,2}/.exec(n);return a?a[0]:""},toAbsolute(n,t,a){if(Al(n),this.isDataUrl(n)||this.isBlobUrl(n))return n;const l=Kh(this.toPosix(t??bi.get().getBaseUrl())),o=Kh(this.toPosix(a??this.rootname(l)));return n=this.toPosix(n),n.startsWith("/")?fd.join(o,n.slice(1)):this.isAbsolute(n)?n:this.join(l,n)},normalize(n){if(Al(n),n.length===0)return".";if(this.isDataUrl(n)||this.isBlobUrl(n))return n;n=this.toPosix(n);let t="";const a=n.startsWith("/");this.hasProtocol(n)&&(t=this.rootname(n),n=n.slice(t.length));const l=n.endsWith("/");return n=hE(n),n.length>0&&l&&(n+="/"),a?`/${n}`:t+n},isAbsolute(n){return Al(n),n=this.toPosix(n),this.hasProtocol(n)?!0:n.startsWith("/")},join(...n){if(n.length===0)return".";let t;for(let a=0;a<n.length;++a){const l=n[a];if(Al(l),l.length>0)if(t===void 0)t=l;else{const o=n[a-1]??"";this.joinExtensions.includes(this.extname(o).toLowerCase())?t+=`/../${l}`:t+=`/${l}`}}return t===void 0?".":this.normalize(t)},dirname(n){if(Al(n),n.length===0)return".";n=this.toPosix(n);let t=n.charCodeAt(0);const a=t===47;let l=-1,o=!0;const c=this.getProtocol(n),d=n;n=n.slice(c.length);for(let m=n.length-1;m>=1;--m)if(t=n.charCodeAt(m),t===47){if(!o){l=m;break}}else o=!1;return l===-1?a?"/":this.isUrl(d)?c+n:c:a&&l===1?"//":c+n.slice(0,l)},rootname(n){Al(n),n=this.toPosix(n);let t="";if(n.startsWith("/")?t="/":t=this.getProtocol(n),this.isUrl(n)){const a=n.indexOf("/",t.length);a!==-1?t=n.slice(0,a):t=n,t.endsWith("/")||(t+="/")}return t},basename(n,t){Al(n),t&&Al(t),n=Kh(this.toPosix(n));let a=0,l=-1,o=!0,c;if(t!==void 0&&t.length>0&&t.length<=n.length){if(t.length===n.length&&t===n)return"";let d=t.length-1,m=-1;for(c=n.length-1;c>=0;--c){const p=n.charCodeAt(c);if(p===47){if(!o){a=c+1;break}}else m===-1&&(o=!1,m=c+1),d>=0&&(p===t.charCodeAt(d)?--d===-1&&(l=c):(d=-1,l=m))}return a===l?l=m:l===-1&&(l=n.length),n.slice(a,l)}for(c=n.length-1;c>=0;--c)if(n.charCodeAt(c)===47){if(!o){a=c+1;break}}else l===-1&&(o=!1,l=c+1);return l===-1?"":n.slice(a,l)},extname(n){Al(n),n=Kh(this.toPosix(n));let t=-1,a=0,l=-1,o=!0,c=0;for(let d=n.length-1;d>=0;--d){const m=n.charCodeAt(d);if(m===47){if(!o){a=d+1;break}continue}l===-1&&(o=!1,l=d+1),m===46?t===-1?t=d:c!==1&&(c=1):t!==-1&&(c=-1)}return t===-1||l===-1||c===0||c===1&&t===l-1&&t===a+1?"":n.slice(t,l)},parse(n){Al(n);const t={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return t;n=Kh(this.toPosix(n));let a=n.charCodeAt(0);const l=this.isAbsolute(n);let o;t.root=this.rootname(n),l||this.hasProtocol(n)?o=1:o=0;let c=-1,d=0,m=-1,p=!0,g=n.length-1,x=0;for(;g>=o;--g){if(a=n.charCodeAt(g),a===47){if(!p){d=g+1;break}continue}m===-1&&(p=!1,m=g+1),a===46?c===-1?c=g:x!==1&&(x=1):c!==-1&&(x=-1)}return c===-1||m===-1||x===0||x===1&&c===m-1&&c===d+1?m!==-1&&(d===0&&l?t.base=t.name=n.slice(1,m):t.base=t.name=n.slice(d,m)):(d===0&&l?(t.name=n.slice(1,c),t.base=n.slice(1,m)):(t.name=n.slice(d,c),t.base=n.slice(d,m)),t.ext=n.slice(c,m)),t.dir=this.dirname(n),t},sep:"/",delimiter:":",joinExtensions:[".html"]};function U_(n,t,a,l,o){const c=t[a];for(let d=0;d<c.length;d++){const m=c[d];a<t.length-1?U_(n.replace(l[a],m),t,a+1,l,o):o.push(n.replace(l[a],m))}}function dE(n){const t=/\{(.*?)\}/g,a=n.match(t),l=[];if(a){const o=[];a.forEach(c=>{const d=c.substring(1,c.length-1).split(",");o.push(d)}),U_(n,o,0,a,l)}else l.push(n);return l}const y1=n=>!Array.isArray(n);class H_{constructor(){this._defaultBundleIdentifierOptions={connector:"-",createBundleAssetId:(t,a)=>`${t}${this._bundleIdConnector}${a}`,extractAssetIdFromBundle:(t,a)=>a.replace(`${t}${this._bundleIdConnector}`,"")},this._bundleIdConnector=this._defaultBundleIdentifierOptions.connector,this._createBundleAssetId=this._defaultBundleIdentifierOptions.createBundleAssetId,this._extractAssetIdFromBundle=this._defaultBundleIdentifierOptions.extractAssetIdFromBundle,this._assetMap={},this._preferredOrder=[],this._parsers=[],this._resolverHash={},this._bundles={}}setBundleIdentifier(t){if(this._bundleIdConnector=t.connector??this._bundleIdConnector,this._createBundleAssetId=t.createBundleAssetId??this._createBundleAssetId,this._extractAssetIdFromBundle=t.extractAssetIdFromBundle??this._extractAssetIdFromBundle,this._extractAssetIdFromBundle("foo",this._createBundleAssetId("foo","bar"))!=="bar")throw new Error("[Resolver] GenerateBundleAssetId are not working correctly")}prefer(...t){t.forEach(a=>{this._preferredOrder.push(a),a.priority||(a.priority=Object.keys(a.params))}),this._resolverHash={}}set basePath(t){this._basePath=t}get basePath(){return this._basePath}set rootPath(t){this._rootPath=t}get rootPath(){return this._rootPath}get parsers(){return this._parsers}reset(){this.setBundleIdentifier(this._defaultBundleIdentifierOptions),this._assetMap={},this._preferredOrder=[],this._resolverHash={},this._rootPath=null,this._basePath=null,this._manifest=null,this._bundles={},this._defaultSearchParams=null}setDefaultSearchParams(t){if(typeof t=="string")this._defaultSearchParams=t;else{const a=t;this._defaultSearchParams=Object.keys(a).map(l=>`${encodeURIComponent(l)}=${encodeURIComponent(a[l])}`).join("&")}}getAlias(t){const{alias:a,src:l}=t;return Qc(a||l,c=>typeof c=="string"?c:Array.isArray(c)?c.map(d=>(d==null?void 0:d.src)??d):c!=null&&c.src?c.src:c,!0)}removeAlias(t,a){this._assetMap[t]&&(a&&a!==this._resolverHash[t]||(delete this._resolverHash[t],delete this._assetMap[t]))}addManifest(t){this._manifest&&Ya("[Resolver] Manifest already exists, this will be overwritten"),this._manifest=t,t.bundles.forEach(a=>{this.addBundle(a.name,a.assets)})}addBundle(t,a){const l=[];let o=a;Array.isArray(a)||(o=Object.entries(a).map(([c,d])=>typeof d=="string"||Array.isArray(d)?{alias:c,src:d}:{alias:c,...d})),o.forEach(c=>{const d=c.src,m=c.alias;let p;if(typeof m=="string"){const g=this._createBundleAssetId(t,m);l.push(g),p=[m,g]}else{const g=m.map(x=>this._createBundleAssetId(t,x));l.push(...g),p=[...m,...g]}this.add({...c,alias:p,src:d})}),this._bundles[t]=l}add(t){const a=[];Array.isArray(t)?a.push(...t):a.push(t);let l;l=c=>{this.hasKey(c)&&Ya(`[Resolver] already has key: ${c} overwriting`)},Qc(a).forEach(c=>{const{src:d}=c;let{data:m,format:p,loadParser:g,parser:x}=c;const b=Qc(d).map(z=>typeof z=="string"?dE(z):Array.isArray(z)?z:[z]),E=this.getAlias(c);Array.isArray(E)?E.forEach(l):l(E);const C=[],M=z=>{const R=this._parsers.find(w=>w.test(z));return{src:z,...R==null?void 0:R.parse(z)}};b.forEach(z=>{z.forEach(R=>{let w={};if(typeof R!="object"?w=M(R):(m=R.data??m,p=R.format??p,(R.loadParser||R.parser)&&(g=R.loadParser??g,x=R.parser??x),w={...M(R.src),...R}),!E)throw new Error(`[Resolver] alias is undefined for this asset: ${w.src}`);w=this._buildResolvedAsset(w,{aliases:E,data:m,format:p,loadParser:g,parser:x,progressSize:c.progressSize}),C.push(w)})}),E.forEach(z=>{this._assetMap[z]=C})})}resolveBundle(t){const a=y1(t);t=Qc(t);const l={};return t.forEach(o=>{const c=this._bundles[o];if(c){const d=this.resolve(c),m={};for(const p in d){const g=d[p];m[this._extractAssetIdFromBundle(o,p)]=g}l[o]=m}}),a?l[t[0]]:l}resolveUrl(t){const a=this.resolve(t);if(typeof t!="string"){const l={};for(const o in a)l[o]=a[o].src;return l}return a.src}resolve(t){const a=y1(t);t=Qc(t);const l={};return t.forEach(o=>{if(!this._resolverHash[o])if(this._assetMap[o]){let c=this._assetMap[o];const d=this._getPreferredOrder(c);d==null||d.priority.forEach(m=>{d.params[m].forEach(p=>{const g=c.filter(x=>x[m]?x[m]===p:!1);g.length&&(c=g)})}),this._resolverHash[o]=c[0]}else this._resolverHash[o]=this._buildResolvedAsset({alias:[o],src:o},{});l[o]=this._resolverHash[o]}),a?l[t[0]]:l}hasKey(t){return!!this._assetMap[t]}hasBundle(t){return!!this._bundles[t]}_getPreferredOrder(t){for(let a=0;a<t.length;a++){const l=t[a],o=this._preferredOrder.find(c=>c.params.format.includes(l.format));if(o)return o}return this._preferredOrder[0]}_appendDefaultSearchParams(t){if(!this._defaultSearchParams)return t;const a=/\?/.test(t)?"&":"?";return`${t}${a}${this._defaultSearchParams}`}_buildResolvedAsset(t,a){const{aliases:l,data:o,loadParser:c,parser:d,format:m,progressSize:p}=a;return(this._basePath||this._rootPath)&&(t.src=fd.toAbsolute(t.src,this._basePath,this._rootPath)),t.alias=l??t.alias??[t.src],t.src=this._appendDefaultSearchParams(t.src),t.data={...o||{},...t.data},t.loadParser=c??t.loadParser,t.parser=d??t.parser,t.format=m??t.format??mE(t.src),p!==void 0&&(t.progressSize=p),t}}H_.RETINA_PREFIX=/@([0-9\.]+)x/;function mE(n){return n.split(".").pop().split("?").shift().split("#").shift()}const g1=(n,t)=>{const a=t.split("?")[1];return a&&(n+=`?${a}`),n},j_=class nd{constructor(t,a){this.linkedSheets=[];let l=t;(t==null?void 0:t.source)instanceof $i&&(l={texture:t,data:a});const{texture:o,data:c,cachePrefix:d=""}=l;this.cachePrefix=d,this._texture=o instanceof ze?o:null,this.textureSource=o.source,this.textures={},this.animations={},this.data=c;const m=parseFloat(c.meta.scale);m?(this.resolution=m,o.source.resolution=this.resolution):this.resolution=o.source._resolution,this._frames=this.data.frames,this._frameKeys=Object.keys(this._frames),this._batchIndex=0,this._callback=null}parse(){return new Promise(t=>{this._callback=t,this._batchIndex=0,this._frameKeys.length<=nd.BATCH_SIZE?(this._processFrames(0),this._processAnimations(),this._parseComplete()):this._nextBatch()})}parseSync(){return this._processFrames(0,!0),this._processAnimations(),this.textures}_processFrames(t,a=!1){let l=t;const o=a?1/0:nd.BATCH_SIZE;for(;l-t<o&&l<this._frameKeys.length;){const c=this._frameKeys[l],d=this._frames[c],m=d.frame;if(m){let p=null,g=null;const x=d.trimmed!==!1&&d.sourceSize?d.sourceSize:d.frame,b=new mn(0,0,Math.floor(x.w)/this.resolution,Math.floor(x.h)/this.resolution);d.rotated?p=new mn(Math.floor(m.x)/this.resolution,Math.floor(m.y)/this.resolution,Math.floor(m.h)/this.resolution,Math.floor(m.w)/this.resolution):p=new mn(Math.floor(m.x)/this.resolution,Math.floor(m.y)/this.resolution,Math.floor(m.w)/this.resolution,Math.floor(m.h)/this.resolution),d.trimmed!==!1&&d.spriteSourceSize&&(g=new mn(Math.floor(d.spriteSourceSize.x)/this.resolution,Math.floor(d.spriteSourceSize.y)/this.resolution,Math.floor(m.w)/this.resolution,Math.floor(m.h)/this.resolution)),this.textures[c]=new ze({source:this.textureSource,frame:p,orig:b,trim:g,rotate:d.rotated?2:0,defaultAnchor:d.anchor,defaultBorders:d.borders,label:c.toString()})}l++}}_processAnimations(){const t=this.data.animations||{};for(const a in t){this.animations[a]=[];for(let l=0;l<t[a].length;l++){const o=t[a][l];this.animations[a].push(this.textures[o])}}}_parseComplete(){const t=this._callback;this._callback=null,this._batchIndex=0,t.call(this,this.textures)}_nextBatch(){this._processFrames(this._batchIndex*nd.BATCH_SIZE),this._batchIndex++,setTimeout(()=>{this._batchIndex*nd.BATCH_SIZE<this._frameKeys.length?this._nextBatch():(this._processAnimations(),this._parseComplete())},0)}destroy(t=!1){var a;for(const l in this.textures)this.textures[l].destroy();this._frames=null,this._frameKeys=null,this.data=null,this.textures=null,t&&((a=this._texture)==null||a.destroy(),this.textureSource.destroy()),this._texture=null,this.textureSource=null,this.linkedSheets=[]}};j_.BATCH_SIZE=1e3;let v1=j_;const pE=["jpg","png","jpeg","avif","webp","basis","etc2","bc7","bc6h","bc5","bc4","bc3","bc2","bc1","eac","astc"];function G_(n,t,a){const l={};if(n.forEach(o=>{l[o]=t}),Object.keys(t.textures).forEach(o=>{l[`${t.cachePrefix}${o}`]=t.textures[o]}),!a){const o=fd.dirname(n[0]);t.linkedSheets.forEach((c,d)=>{const m=G_([`${o}/${t.data.meta.related_multi_packs[d]}`],c,!0);Object.assign(l,m)})}return l}const yE={extension:Wt.Asset,cache:{test:n=>n instanceof v1,getCacheableAssets:(n,t)=>G_(n,t,!1)},resolver:{extension:{type:Wt.ResolveParser,name:"resolveSpritesheet"},test:n=>{const a=n.split("?")[0].split("."),l=a.pop(),o=a.pop();return l==="json"&&pE.includes(o)},parse:n=>{var a;const t=n.split(".");return{resolution:parseFloat(((a=H_.RETINA_PREFIX.exec(n))==null?void 0:a[1])??"1"),format:t[t.length-2],src:n}}},loader:{name:"spritesheetLoader",id:"spritesheet",extension:{type:Wt.LoadParser,priority:B_.Normal,name:"spritesheetLoader"},async testParse(n,t){return fd.extname(t.src).toLowerCase()===".json"&&!!n.frames},async parse(n,t,a){var b,E;const{texture:l,imageFilename:o,textureOptions:c,cachePrefix:d}=(t==null?void 0:t.data)??{};let m=fd.dirname(t.src);m&&m.lastIndexOf("/")!==m.length-1&&(m+="/");let p;if(l instanceof ze)p=l;else{const C=g1(m+(o??n.meta.image),t.src);p=(await a.load([{src:C,data:c}]))[C]}const g=new v1({texture:p.source,data:n,cachePrefix:d});await g.parse();const x=(b=n==null?void 0:n.meta)==null?void 0:b.related_multi_packs;if(Array.isArray(x)){const C=[];for(const z of x){if(typeof z!="string")continue;let R=m+z;(E=t.data)!=null&&E.ignoreMultiPack||(R=g1(R,t.src),C.push(a.load({src:R,data:{textureOptions:c,ignoreMultiPack:!0}})))}const M=await Promise.all(C);g.linkedSheets=M,M.forEach(z=>{z.linkedSheets=[g].concat(g.linkedSheets.filter(R=>R!==z))})}return g},async unload(n,t,a){await a.unload(n.textureSource._sourceOrigin),n.destroy(!1)}}};Ie.add(yE);const ey=Object.create(null),x1=Object.create(null);function fg(n,t){let a=x1[n];return a===void 0&&(ey[t]===void 0&&(ey[t]=1),x1[n]=a=ey[t]++),a}let qc;function Y_(){return(!qc||qc!=null&&qc.isContextLost())&&(qc=bi.get().createCanvas().getContext("webgl",{})),qc}let cp;function gE(){if(!cp){cp="mediump";const n=Y_();n&&n.getShaderPrecisionFormat&&(cp=n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.HIGH_FLOAT).precision?"highp":"mediump")}return cp}function vE(n,t,a){return t?n:a?(n=n.replace("out vec4 finalColor;",""),`
@@ -79,7 +79,7 @@ Deprecated since v${n}`,c=typeof console.groupCollapsed=="function"&&!Zc.noColor
79
79
  `}function xE(n,t,a){const l=a?t.maxSupportedFragmentPrecision:t.maxSupportedVertexPrecision;if(n.substring(0,9)!=="precision"){let o=a?t.requestedFragmentPrecision:t.requestedVertexPrecision;return o==="highp"&&l!=="highp"&&(o="mediump"),`precision ${o} float;
80
80
  ${n}`}else if(l!=="highp"&&n.substring(0,15)==="precision highp")return n.replace("precision highp","precision mediump");return n}function _E(n,t){return t?`#version 300 es
81
81
  ${n}`:n}const SE={},bE={};function TE(n,{name:t="pixi-program"},a=!0){t=t.replace(/\s+/g,"-"),t+=a?"-fragment":"-vertex";const l=a?SE:bE;return l[t]?(l[t]++,t+=`-${l[t]}`):l[t]=1,n.indexOf("#define SHADER_NAME")!==-1?n:`${`#define SHADER_NAME ${t}`}
82
- ${n}`}function EE(n,t){return t?n.replace("#version 300 es",""):n}const ny={stripVersion:EE,ensurePrecision:xE,addProgramDefines:vE,setProgramName:TE,insertVersion:_E},Zh=Object.create(null),q_=class Hy{constructor(t){t={...Hy.defaultOptions,...t};const a=t.fragment.indexOf("#version 300 es")!==-1,l={stripVersion:a,ensurePrecision:{requestedFragmentPrecision:t.preferredFragmentPrecision,requestedVertexPrecision:t.preferredVertexPrecision,maxSupportedVertexPrecision:"highp",maxSupportedFragmentPrecision:gE()},setProgramName:{name:t.name},addProgramDefines:a,insertVersion:a};let o=t.fragment,c=t.vertex;Object.keys(ny).forEach(d=>{const m=l[d];o=ny[d](o,m,!0),c=ny[d](c,m,!1)}),this.fragment=o,this.vertex=c,this.transformFeedbackVaryings=t.transformFeedbackVaryings,this._key=fg(`${this.vertex}:${this.fragment}`,"gl-program")}destroy(){this.fragment=null,this.vertex=null,this._attributeData=null,this._uniformData=null,this._uniformBlockData=null,this.transformFeedbackVaryings=null,Zh[this._cacheKey]=null}static from(t){const a=`${t.vertex}:${t.fragment}`;return Zh[a]||(Zh[a]=new Hy(t),Zh[a]._cacheKey=a),Zh[a]}};q_.defaultOptions={preferredVertexPrecision:"highp",preferredFragmentPrecision:"mediump"};let hg=q_;const _1={uint8x2:{size:2,stride:2,normalised:!1},uint8x4:{size:4,stride:4,normalised:!1},sint8x2:{size:2,stride:2,normalised:!1},sint8x4:{size:4,stride:4,normalised:!1},unorm8x2:{size:2,stride:2,normalised:!0},unorm8x4:{size:4,stride:4,normalised:!0},snorm8x2:{size:2,stride:2,normalised:!0},snorm8x4:{size:4,stride:4,normalised:!0},uint16x2:{size:2,stride:4,normalised:!1},uint16x4:{size:4,stride:8,normalised:!1},sint16x2:{size:2,stride:4,normalised:!1},sint16x4:{size:4,stride:8,normalised:!1},unorm16x2:{size:2,stride:4,normalised:!0},unorm16x4:{size:4,stride:8,normalised:!0},snorm16x2:{size:2,stride:4,normalised:!0},snorm16x4:{size:4,stride:8,normalised:!0},float16x2:{size:2,stride:4,normalised:!1},float16x4:{size:4,stride:8,normalised:!1},float32:{size:1,stride:4,normalised:!1},float32x2:{size:2,stride:8,normalised:!1},float32x3:{size:3,stride:12,normalised:!1},float32x4:{size:4,stride:16,normalised:!1},uint32:{size:1,stride:4,normalised:!1},uint32x2:{size:2,stride:8,normalised:!1},uint32x3:{size:3,stride:12,normalised:!1},uint32x4:{size:4,stride:16,normalised:!1},sint32:{size:1,stride:4,normalised:!1},sint32x2:{size:2,stride:8,normalised:!1},sint32x3:{size:3,stride:12,normalised:!1},sint32x4:{size:4,stride:16,normalised:!1}};function CE(n){return _1[n]??_1.float32}const AE={f32:"float32","vec2<f32>":"float32x2","vec3<f32>":"float32x3","vec4<f32>":"float32x4",vec2f:"float32x2",vec3f:"float32x3",vec4f:"float32x4",i32:"sint32","vec2<i32>":"sint32x2","vec3<i32>":"sint32x3","vec4<i32>":"sint32x4",vec2i:"sint32x2",vec3i:"sint32x3",vec4i:"sint32x4",u32:"uint32","vec2<u32>":"uint32x2","vec3<u32>":"uint32x3","vec4<u32>":"uint32x4",vec2u:"uint32x2",vec3u:"uint32x3",vec4u:"uint32x4",bool:"uint32","vec2<bool>":"uint32x2","vec3<bool>":"uint32x3","vec4<bool>":"uint32x4"},S1=/@location\((\d+)\)\s+([a-zA-Z0-9_]+)\s*:\s*([a-zA-Z0-9_<>]+)(?:,|\s|\)|$)/g;function b1(n,t){let a;for(;(a=S1.exec(n))!==null;){const l=AE[a[3]]??"float32";t[a[2]]={location:parseInt(a[1],10),format:l,stride:CE(l).stride,offset:0,instance:!1,start:0}}S1.lastIndex=0}function ME(n){return n.replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"")}function RE({source:n,entryPoint:t}){const a={},l=ME(n),o=l.indexOf(`fn ${t}(`);if(o===-1)return a;const c=l.indexOf("->",o);if(c===-1)return a;const d=l.substring(o,c);if(b1(d,a),Object.keys(a).length===0){const m=d.match(/\(\s*\w+\s*:\s*(\w+)/);if(m){const p=m[1],g=new RegExp(`struct\\s+${p}\\s*\\{([^}]+)\\}`,"s"),x=l.match(g);x&&b1(x[1],a)}}return a}function ay(n){var b,E;const t=/(^|[^/])@(group|binding)\(\d+\)[^;]+;/g,a=/@group\((\d+)\)/,l=/@binding\((\d+)\)/,o=/var(<[^>]+>)? (\w+)/,c=/:\s*([\w<>]+)/,d=/struct\s+(\w+)\s*{([^}]+)}/g,m=/(\w+)\s*:\s*([\w\<\>]+)/g,p=/struct\s+(\w+)/,g=(b=n.match(t))==null?void 0:b.map(C=>({group:parseInt(C.match(a)[1],10),binding:parseInt(C.match(l)[1],10),name:C.match(o)[2],isUniform:C.match(o)[1]==="<uniform>",type:C.match(c)[1]}));if(!g)return{groups:[],structs:[]};const x=((E=n.match(d))==null?void 0:E.map(C=>{const M=C.match(p)[1],z=C.match(m).reduce((R,w)=>{const[O,U]=w.split(":");return R[O.trim()]=U.trim(),R},{});return z?{name:M,members:z}:null}).filter(({name:C})=>g.some(M=>M.type===C||M.type.includes(`<${C}>`))))??[];return{groups:g,structs:x}}var yo=(n=>(n[n.VERTEX=1]="VERTEX",n[n.FRAGMENT=2]="FRAGMENT",n[n.COMPUTE=4]="COMPUTE",n))(yo||{});function zE({groups:n}){const t=[];for(let a=0;a<n.length;a++){const l=n[a];t[l.group]||(t[l.group]=[]),l.isUniform?t[l.group].push({binding:l.binding,visibility:yo.VERTEX|yo.FRAGMENT,buffer:{type:"uniform"}}):l.type==="sampler"?t[l.group].push({binding:l.binding,visibility:yo.FRAGMENT,sampler:{type:"filtering"}}):l.type==="texture_2d"||l.type.startsWith("texture_2d<")?t[l.group].push({binding:l.binding,visibility:yo.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d",multisampled:!1}}):l.type==="texture_2d_array"||l.type.startsWith("texture_2d_array<")?t[l.group].push({binding:l.binding,visibility:yo.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d-array",multisampled:!1}}):(l.type==="texture_cube"||l.type.startsWith("texture_cube<"))&&t[l.group].push({binding:l.binding,visibility:yo.FRAGMENT,texture:{sampleType:"float",viewDimension:"cube",multisampled:!1}})}for(let a=0;a<t.length;a++)t[a]||(t[a]=[]);return t}function wE({groups:n}){const t=[];for(let a=0;a<n.length;a++){const l=n[a];t[l.group]||(t[l.group]={}),t[l.group][l.name]=l.binding}return t}function DE(n,t){const a=new Set,l=new Set,o=[...n.structs,...t.structs].filter(d=>a.has(d.name)?!1:(a.add(d.name),!0)),c=[...n.groups,...t.groups].filter(d=>{const m=`${d.name}-${d.binding}`;return l.has(m)?!1:(l.add(m),!0)});return{structs:o,groups:c}}const Jh=Object.create(null);class _d{constructor(t){var m,p;this._layoutKey=0,this._attributeLocationsKey=0;const{fragment:a,vertex:l,layout:o,gpuLayout:c,name:d}=t;if(this.name=d,this.fragment=a,this.vertex=l,a.source===l.source){const g=ay(a.source);this.structsAndGroups=g}else{const g=ay(l.source),x=ay(a.source);this.structsAndGroups=DE(g,x)}this.layout=o??wE(this.structsAndGroups),this.gpuLayout=c??zE(this.structsAndGroups),this.autoAssignGlobalUniforms=((m=this.layout[0])==null?void 0:m.globalUniforms)!==void 0,this.autoAssignLocalUniforms=((p=this.layout[1])==null?void 0:p.localUniforms)!==void 0,this._generateProgramKey()}_generateProgramKey(){const{vertex:t,fragment:a}=this,l=t.source+a.source+t.entryPoint+a.entryPoint;this._layoutKey=fg(l,"program")}get attributeData(){return this._attributeData??(this._attributeData=RE(this.vertex)),this._attributeData}destroy(){this.gpuLayout=null,this.layout=null,this.structsAndGroups=null,this.fragment=null,this.vertex=null,Jh[this._cacheKey]=null}static from(t){const a=`${t.vertex.source}:${t.fragment.source}:${t.fragment.entryPoint}:${t.vertex.entryPoint}`;return Jh[a]||(Jh[a]=new _d(t),Jh[a]._cacheKey=a),Jh[a]}}const L_=["f32","i32","vec2<f32>","vec3<f32>","vec4<f32>","mat2x2<f32>","mat3x3<f32>","mat4x4<f32>","mat3x2<f32>","mat4x2<f32>","mat2x3<f32>","mat4x3<f32>","mat2x4<f32>","mat3x4<f32>","vec2<i32>","vec3<i32>","vec4<i32>"],OE=L_.reduce((n,t)=>(n[t]=!0,n),{});function NE(n,t){switch(n){case"f32":return 0;case"vec2<f32>":return new Float32Array(2*t);case"vec3<f32>":return new Float32Array(3*t);case"vec4<f32>":return new Float32Array(4*t);case"mat2x2<f32>":return new Float32Array([1,0,0,1]);case"mat3x3<f32>":return new Float32Array([1,0,0,0,1,0,0,0,1]);case"mat4x4<f32>":return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}return null}const X_=class V_{constructor(t,a){this._touched=0,this.uid=on("uniform"),this._resourceType="uniformGroup",this._resourceId=on("resource"),this.isUniformGroup=!0,this._dirtyId=0,this.destroyed=!1,a={...V_.defaultOptions,...a},this.uniformStructures=t;const l={};for(const o in t){const c=t[o];if(c.name=o,c.size=c.size??1,!OE[c.type]){const d=c.type.match(/^array<(\w+(?:<\w+>)?),\s*(\d+)>$/);if(d){const[,m,p]=d;throw new Error(`Uniform type ${c.type} is not supported. Use type: '${m}', size: ${p} instead.`)}throw new Error(`Uniform type ${c.type} is not supported. Supported uniform types are: ${L_.join(", ")}`)}c.value??(c.value=NE(c.type,c.size)),l[o]=c.value}this.uniforms=l,this._dirtyId=1,this.ubo=a.ubo,this.isStatic=a.isStatic,this._signature=fg(Object.keys(l).map(o=>`${o}-${t[o].type}`).join("-"),"uniform-group")}update(){this._dirtyId++}};X_.defaultOptions={ubo:!1,isStatic:!1};let k_=X_;class Ap{constructor(t){this.resources=Object.create(null),this._dirty=!0;let a=0;for(const l in t){const o=t[l];this.setResource(o,a++)}this._updateKey()}_updateKey(){if(!this._dirty)return;this._dirty=!1;const t=[];let a=0;for(const l in this.resources)t[a++]=this.resources[l]._resourceId;this._key=t.join("|")}setResource(t,a){var o,c;const l=this.resources[a];t!==l&&((o=l==null?void 0:l.off)==null||o.call(l,"change",this.onResourceChange,this),(c=t.on)==null||c.call(t,"change",this.onResourceChange,this),this.resources[a]=t,this._dirty=!0)}getResource(t){return this.resources[t]}_touch(t,a){const l=this.resources;for(const o in l)l[o]._gcLastUsed=t,l[o]._touched=a}destroy(){var a;const t=this.resources;for(const l in t){const o=t[l];(a=o==null?void 0:o.off)==null||a.call(o,"change",this.onResourceChange,this)}this.resources=null}onResourceChange(t){this._dirty=!0,t.destroyed?this.destroy():this._updateKey()}}var jy=(n=>(n[n.WEBGL=1]="WEBGL",n[n.WEBGPU=2]="WEBGPU",n[n.CANVAS=4]="CANVAS",n[n.BOTH=3]="BOTH",n))(jy||{});class kp extends _s{constructor(t){super(),this.uid=on("shader"),this._uniformBindMap=Object.create(null),this._ownedBindGroups=[],this._destroyed=!1;let{gpuProgram:a,glProgram:l,groups:o,resources:c,compatibleRenderers:d,groupMap:m}=t;this.gpuProgram=a,this.glProgram=l,d===void 0&&(d=0,a&&(d|=jy.WEBGPU),l&&(d|=jy.WEBGL)),this.compatibleRenderers=d;const p={};if(!c&&!o&&(c={}),c&&o)throw new Error("[Shader] Cannot have both resources and groups");if(!a&&o&&!m)throw new Error("[Shader] No group map or WebGPU shader provided - consider using resources instead.");if(!a&&o&&m)for(const g in m)for(const x in m[g]){const b=m[g][x];p[b]={group:g,binding:x,name:b}}else if(a&&o&&!m){const g=a.structsAndGroups.groups;m={},g.forEach(x=>{m[x.group]=m[x.group]||{},m[x.group][x.binding]=x.name,p[x.name]=x})}else if(c){o={},m={},a&&a.structsAndGroups.groups.forEach(b=>{m[b.group]=m[b.group]||{},m[b.group][b.binding]=b.name,p[b.name]=b});let g=0;for(const x in c)p[x]||(o[99]||(o[99]=new Ap,this._ownedBindGroups.push(o[99])),p[x]={group:99,binding:g,name:x},m[99]=m[99]||{},m[99][g]=x,g++);for(const x in c){const b=x;let E=c[x];!E.source&&!E._resourceType&&(E=new k_(E));const C=p[b];C&&(o[C.group]||(o[C.group]=new Ap,this._ownedBindGroups.push(o[C.group])),o[C.group].setResource(E,C.binding))}}this.groups=o,this._uniformBindMap=m,this.resources=this._buildResourceAccessor(o,p)}addResource(t,a,l){var o,c;(o=this._uniformBindMap)[a]||(o[a]={}),(c=this._uniformBindMap[a])[l]||(c[l]=t),this.groups[a]||(this.groups[a]=new Ap,this._ownedBindGroups.push(this.groups[a]))}_buildResourceAccessor(t,a){const l={};for(const o in a){const c=a[o];Object.defineProperty(l,c.name,{get(){return t[c.group].getResource(c.binding)},set(d){t[c.group].setResource(d,c.binding)}})}return l}destroy(t=!1){var a,l;this._destroyed||(this._destroyed=!0,this.emit("destroy",this),t&&((a=this.gpuProgram)==null||a.destroy(),(l=this.glProgram)==null||l.destroy()),this.gpuProgram=null,this.glProgram=null,this.removeAllListeners(),this._uniformBindMap=null,this._ownedBindGroups.forEach(o=>{o.destroy()}),this._ownedBindGroups=null,this.resources=null,this.groups=null)}static from(t){const{gpu:a,gl:l,...o}=t;let c,d;return a&&(c=_d.from(a)),l&&(d=hg.from(l)),new kp({gpuProgram:c,glProgram:d,...o})}}const BE={normal:0,add:1,multiply:2,screen:3,overlay:4,erase:5,"normal-npm":6,"add-npm":7,"screen-npm":8,min:9,max:10},iy=0,ly=1,sy=2,ry=3,uy=4,oy=5,Gy=class Q_{constructor(){this.data=0,this.blendMode="normal",this.polygonOffset=0,this.blend=!0,this.depthMask=!0}get blend(){return!!(this.data&1<<iy)}set blend(t){!!(this.data&1<<iy)!==t&&(this.data^=1<<iy)}get offsets(){return!!(this.data&1<<ly)}set offsets(t){!!(this.data&1<<ly)!==t&&(this.data^=1<<ly)}set cullMode(t){if(t==="none"){this.culling=!1;return}this.culling=!0,this.clockwiseFrontFace=t==="front"}get cullMode(){return this.culling?this.clockwiseFrontFace?"front":"back":"none"}get culling(){return!!(this.data&1<<sy)}set culling(t){!!(this.data&1<<sy)!==t&&(this.data^=1<<sy)}get depthTest(){return!!(this.data&1<<ry)}set depthTest(t){!!(this.data&1<<ry)!==t&&(this.data^=1<<ry)}get depthMask(){return!!(this.data&1<<oy)}set depthMask(t){!!(this.data&1<<oy)!==t&&(this.data^=1<<oy)}get clockwiseFrontFace(){return!!(this.data&1<<uy)}set clockwiseFrontFace(t){!!(this.data&1<<uy)!==t&&(this.data^=1<<uy)}get blendMode(){return this._blendMode}set blendMode(t){this.blend=t!=="none",this._blendMode=t,this._blendModeId=BE[t]||0}get polygonOffset(){return this._polygonOffset}set polygonOffset(t){this.offsets=!!t,this._polygonOffset=t}toString(){return`[pixi.js/core:State blendMode=${this.blendMode} clockwiseFrontFace=${this.clockwiseFrontFace} culling=${this.culling} depthMask=${this.depthMask} polygonOffset=${this.polygonOffset}]`}static for2d(){const t=new Q_;return t.depthTest=!1,t.blend=!0,t}};Gy.default2d=Gy.for2d();let dg=Gy;const K_=class Yy extends kp{constructor(t){t={...Yy.defaultOptions,...t},super(t),this.enabled=!0,this._state=dg.for2d(),this.blendMode=t.blendMode,this.padding=t.padding,typeof t.antialias=="boolean"?this.antialias=t.antialias?"on":"off":this.antialias=t.antialias,this.resolution=t.resolution,this.blendRequired=t.blendRequired,this.clipToViewport=t.clipToViewport,this.addResource("uTexture",0,1),t.blendRequired&&this.addResource("uBackTexture",0,3)}apply(t,a,l,o){t.applyFilter(this,a,l,o)}get blendMode(){return this._state.blendMode}set blendMode(t){this._state.blendMode=t}static from(t){const{gpu:a,gl:l,...o}=t;let c,d;return a&&(c=_d.from(a)),l&&(d=hg.from(l)),new Yy({gpuProgram:c,glProgram:d,...o})}};K_.defaultOptions={blendMode:"normal",resolution:1,padding:0,antialias:"off",blendRequired:!1,clipToViewport:!0};let bo=K_;const qy=[];Ie.handleByNamedList(Wt.Environment,qy);async function UE(n){if(!n)for(let t=0;t<qy.length;t++){const a=qy[t];if(a.value.test()){await a.value.load();return}}}let Fh;function HE(){if(typeof Fh=="boolean")return Fh;try{Fh=new Function("param1","param2","param3","return param1[param2] === param3;")({a:"b"},"a","b")===!0}catch{Fh=!1}return Fh}function T1(n,t,a=2){const l=t&&t.length,o=l?t[0]*a:n.length;let c=Z_(n,0,o,a,!0);const d=[];if(!c||c.next===c.prev)return d;let m,p,g;if(l&&(c=LE(n,t,c,a)),n.length>80*a){m=n[0],p=n[1];let x=m,b=p;for(let E=a;E<o;E+=a){const C=n[E],M=n[E+1];C<m&&(m=C),M<p&&(p=M),C>x&&(x=C),M>b&&(b=M)}g=Math.max(x-m,b-p),g=g!==0?32767/g:0}return hd(c,d,a,m,p,g,0),d}function Z_(n,t,a,l,o){let c;if(o===IE(n,t,a,l)>0)for(let d=t;d<a;d+=l)c=E1(d/l|0,n[d],n[d+1],c);else for(let d=a-l;d>=t;d-=l)c=E1(d/l|0,n[d],n[d+1],c);return c&&lf(c,c.next)&&(md(c),c=c.next),c}function _o(n,t){if(!n)return n;t||(t=n);let a=n,l;do if(l=!1,!a.steiner&&(lf(a,a.next)||Pe(a.prev,a,a.next)===0)){if(md(a),a=t=a.prev,a===a.next)break;l=!0}else a=a.next;while(l||a!==t);return t}function hd(n,t,a,l,o,c,d){if(!n)return;!d&&c&&KE(n,l,o,c);let m=n;for(;n.prev!==n.next;){const p=n.prev,g=n.next;if(c?GE(n,l,o,c):jE(n)){t.push(p.i,n.i,g.i),md(n),n=g.next,m=g.next;continue}if(n=g,n===m){d?d===1?(n=YE(_o(n),t),hd(n,t,a,l,o,c,2)):d===2&&qE(n,t,a,l,o,c):hd(_o(n),t,a,l,o,c,1);break}}}function jE(n){const t=n.prev,a=n,l=n.next;if(Pe(t,a,l)>=0)return!1;const o=t.x,c=a.x,d=l.x,m=t.y,p=a.y,g=l.y,x=Math.min(o,c,d),b=Math.min(m,p,g),E=Math.max(o,c,d),C=Math.max(m,p,g);let M=l.next;for(;M!==t;){if(M.x>=x&&M.x<=E&&M.y>=b&&M.y<=C&&ad(o,m,c,p,d,g,M.x,M.y)&&Pe(M.prev,M,M.next)>=0)return!1;M=M.next}return!0}function GE(n,t,a,l){const o=n.prev,c=n,d=n.next;if(Pe(o,c,d)>=0)return!1;const m=o.x,p=c.x,g=d.x,x=o.y,b=c.y,E=d.y,C=Math.min(m,p,g),M=Math.min(x,b,E),z=Math.max(m,p,g),R=Math.max(x,b,E),w=Ly(C,M,t,a,l),O=Ly(z,R,t,a,l);let U=n.prevZ,Y=n.nextZ;for(;U&&U.z>=w&&Y&&Y.z<=O;){if(U.x>=C&&U.x<=z&&U.y>=M&&U.y<=R&&U!==o&&U!==d&&ad(m,x,p,b,g,E,U.x,U.y)&&Pe(U.prev,U,U.next)>=0||(U=U.prevZ,Y.x>=C&&Y.x<=z&&Y.y>=M&&Y.y<=R&&Y!==o&&Y!==d&&ad(m,x,p,b,g,E,Y.x,Y.y)&&Pe(Y.prev,Y,Y.next)>=0))return!1;Y=Y.nextZ}for(;U&&U.z>=w;){if(U.x>=C&&U.x<=z&&U.y>=M&&U.y<=R&&U!==o&&U!==d&&ad(m,x,p,b,g,E,U.x,U.y)&&Pe(U.prev,U,U.next)>=0)return!1;U=U.prevZ}for(;Y&&Y.z<=O;){if(Y.x>=C&&Y.x<=z&&Y.y>=M&&Y.y<=R&&Y!==o&&Y!==d&&ad(m,x,p,b,g,E,Y.x,Y.y)&&Pe(Y.prev,Y,Y.next)>=0)return!1;Y=Y.nextZ}return!0}function YE(n,t){let a=n;do{const l=a.prev,o=a.next.next;!lf(l,o)&&F_(l,a,a.next,o)&&dd(l,o)&&dd(o,l)&&(t.push(l.i,a.i,o.i),md(a),md(a.next),a=n=o),a=a.next}while(a!==n);return _o(a)}function qE(n,t,a,l,o,c){let d=n;do{let m=d.next.next;for(;m!==d.prev;){if(d.i!==m.i&&FE(d,m)){let p=W_(d,m);d=_o(d,d.next),p=_o(p,p.next),hd(d,t,a,l,o,c,0),hd(p,t,a,l,o,c,0);return}m=m.next}d=d.next}while(d!==n)}function LE(n,t,a,l){const o=[];for(let c=0,d=t.length;c<d;c++){const m=t[c]*l,p=c<d-1?t[c+1]*l:n.length,g=Z_(n,m,p,l,!1);g===g.next&&(g.steiner=!0),o.push(JE(g))}o.sort(XE);for(let c=0;c<o.length;c++)a=VE(o[c],a);return a}function XE(n,t){let a=n.x-t.x;if(a===0&&(a=n.y-t.y,a===0)){const l=(n.next.y-n.y)/(n.next.x-n.x),o=(t.next.y-t.y)/(t.next.x-t.x);a=l-o}return a}function VE(n,t){const a=kE(n,t);if(!a)return t;const l=W_(a,n);return _o(l,l.next),_o(a,a.next)}function kE(n,t){let a=t;const l=n.x,o=n.y;let c=-1/0,d;if(lf(n,a))return a;do{if(lf(n,a.next))return a.next;if(o<=a.y&&o>=a.next.y&&a.next.y!==a.y){const b=a.x+(o-a.y)*(a.next.x-a.x)/(a.next.y-a.y);if(b<=l&&b>c&&(c=b,d=a.x<a.next.x?a:a.next,b===l))return d}a=a.next}while(a!==t);if(!d)return null;const m=d,p=d.x,g=d.y;let x=1/0;a=d;do{if(l>=a.x&&a.x>=p&&l!==a.x&&J_(o<g?l:c,o,p,g,o<g?c:l,o,a.x,a.y)){const b=Math.abs(o-a.y)/(l-a.x);dd(a,n)&&(b<x||b===x&&(a.x>d.x||a.x===d.x&&QE(d,a)))&&(d=a,x=b)}a=a.next}while(a!==m);return d}function QE(n,t){return Pe(n.prev,n,t.prev)<0&&Pe(t.next,n,n.next)<0}function KE(n,t,a,l){let o=n;do o.z===0&&(o.z=Ly(o.x,o.y,t,a,l)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next;while(o!==n);o.prevZ.nextZ=null,o.prevZ=null,ZE(o)}function ZE(n){let t,a=1;do{let l=n,o;n=null;let c=null;for(t=0;l;){t++;let d=l,m=0;for(let g=0;g<a&&(m++,d=d.nextZ,!!d);g++);let p=a;for(;m>0||p>0&&d;)m!==0&&(p===0||!d||l.z<=d.z)?(o=l,l=l.nextZ,m--):(o=d,d=d.nextZ,p--),c?c.nextZ=o:n=o,o.prevZ=c,c=o;l=d}c.nextZ=null,a*=2}while(t>1);return n}function Ly(n,t,a,l,o){return n=(n-a)*o|0,t=(t-l)*o|0,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,n|t<<1}function JE(n){let t=n,a=n;do(t.x<a.x||t.x===a.x&&t.y<a.y)&&(a=t),t=t.next;while(t!==n);return a}function J_(n,t,a,l,o,c,d,m){return(o-d)*(t-m)>=(n-d)*(c-m)&&(n-d)*(l-m)>=(a-d)*(t-m)&&(a-d)*(c-m)>=(o-d)*(l-m)}function ad(n,t,a,l,o,c,d,m){return!(n===d&&t===m)&&J_(n,t,a,l,o,c,d,m)}function FE(n,t){return n.next.i!==t.i&&n.prev.i!==t.i&&!WE(n,t)&&(dd(n,t)&&dd(t,n)&&PE(n,t)&&(Pe(n.prev,n,t.prev)||Pe(n,t.prev,t))||lf(n,t)&&Pe(n.prev,n,n.next)>0&&Pe(t.prev,t,t.next)>0)}function Pe(n,t,a){return(t.y-n.y)*(a.x-t.x)-(t.x-n.x)*(a.y-t.y)}function lf(n,t){return n.x===t.x&&n.y===t.y}function F_(n,t,a,l){const o=hp(Pe(n,t,a)),c=hp(Pe(n,t,l)),d=hp(Pe(a,l,n)),m=hp(Pe(a,l,t));return!!(o!==c&&d!==m||o===0&&fp(n,a,t)||c===0&&fp(n,l,t)||d===0&&fp(a,n,l)||m===0&&fp(a,t,l))}function fp(n,t,a){return t.x<=Math.max(n.x,a.x)&&t.x>=Math.min(n.x,a.x)&&t.y<=Math.max(n.y,a.y)&&t.y>=Math.min(n.y,a.y)}function hp(n){return n>0?1:n<0?-1:0}function WE(n,t){let a=n;do{if(a.i!==n.i&&a.next.i!==n.i&&a.i!==t.i&&a.next.i!==t.i&&F_(a,a.next,n,t))return!0;a=a.next}while(a!==n);return!1}function dd(n,t){return Pe(n.prev,n,n.next)<0?Pe(n,t,n.next)>=0&&Pe(n,n.prev,t)>=0:Pe(n,t,n.prev)<0||Pe(n,n.next,t)<0}function PE(n,t){let a=n,l=!1;const o=(n.x+t.x)/2,c=(n.y+t.y)/2;do a.y>c!=a.next.y>c&&a.next.y!==a.y&&o<(a.next.x-a.x)*(c-a.y)/(a.next.y-a.y)+a.x&&(l=!l),a=a.next;while(a!==n);return l}function W_(n,t){const a=Xy(n.i,n.x,n.y),l=Xy(t.i,t.x,t.y),o=n.next,c=t.prev;return n.next=t,t.prev=n,a.next=o,o.prev=a,l.next=a,a.prev=l,c.next=l,l.prev=c,l}function E1(n,t,a,l){const o=Xy(n,t,a);return l?(o.next=l.next,o.prev=l,l.next.prev=o,l.next=o):(o.prev=o,o.next=o),o}function md(n){n.next.prev=n.prev,n.prev.next=n.next,n.prevZ&&(n.prevZ.nextZ=n.nextZ),n.nextZ&&(n.nextZ.prevZ=n.prevZ)}function Xy(n,t,a){return{i:n,x:t,y:a,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function IE(n,t,a,l){let o=0;for(let c=t,d=a-l;c<a;c+=l)o+=(n[d]-n[c])*(n[c+1]+n[d+1]),d=c;return o}const $E=T1.default||T1;var P_=(n=>(n[n.NONE=0]="NONE",n[n.COLOR=16384]="COLOR",n[n.STENCIL=1024]="STENCIL",n[n.DEPTH=256]="DEPTH",n[n.COLOR_DEPTH=16640]="COLOR_DEPTH",n[n.COLOR_STENCIL=17408]="COLOR_STENCIL",n[n.DEPTH_STENCIL=1280]="DEPTH_STENCIL",n[n.ALL=17664]="ALL",n))(P_||{});class t4{constructor(t){this.items=[],this._name=t}emit(t,a,l,o,c,d,m,p){const{name:g,items:x}=this;for(let b=0,E=x.length;b<E;b++)x[b][g](t,a,l,o,c,d,m,p);return this}add(t){return t[this._name]&&(this.remove(t),this.items.push(t)),this}remove(t){const a=this.items.indexOf(t);return a!==-1&&this.items.splice(a,1),this}contains(t){return this.items.indexOf(t)!==-1}removeAll(){return this.items.length=0,this}destroy(){this.removeAll(),this.items=null,this._name=null}get empty(){return this.items.length===0}get name(){return this._name}}const e4=["init","destroy","contextChange","resolutionChange","resetState","renderEnd","renderStart","render","update","postrender","prerender"],I_=class $_ extends _s{constructor(t){super(),this.tick=0,this.uid=on("renderer"),this.runners=Object.create(null),this.renderPipes=Object.create(null),this._initOptions={},this._systemsHash=Object.create(null),this.type=t.type,this.name=t.name,this.config=t;const a=[...e4,...this.config.runners??[]];this._addRunners(...a),this._unsafeEvalCheck()}async init(t={}){const a=t.skipExtensionImports===!0?!0:t.manageImports===!1;await UE(a),this._addSystems(this.config.systems),this._addPipes(this.config.renderPipes,this.config.renderPipeAdaptors);for(const l in this._systemsHash)t={...this._systemsHash[l].constructor.defaultOptions,...t};t={...$_.defaultOptions,...t},this._roundPixels=t.roundPixels?1:0;for(let l=0;l<this.runners.init.items.length;l++)await this.runners.init.items[l].init(t);this._initOptions=t}render(t,a){this.tick++;let l=t;if(l instanceof $n&&(l={container:l},a&&(de(un,"passing a second argument is deprecated, please use render options instead"),l.target=a.renderTexture)),l.target||(l.target=this.view.renderTarget),l.target===this.view.renderTarget&&(this._lastObjectRendered=l.container,l.clearColor??(l.clearColor=this.background.colorRgba),l.clear??(l.clear=this.background.clearBeforeRender)),l.clearColor){const o=Array.isArray(l.clearColor)&&l.clearColor.length===4;l.clearColor=o?l.clearColor:zn.shared.setValue(l.clearColor).toArray()}l.transform||(l.container.updateLocalTransform(),l.transform=l.container.localTransform),l.container.visible&&(l.container.enableRenderGroup(),this.runners.prerender.emit(l),this.runners.renderStart.emit(l),this.runners.render.emit(l),this.runners.renderEnd.emit(l),this.runners.postrender.emit(l))}resize(t,a,l){const o=this.view.resolution;this.view.resize(t,a,l),this.emit("resize",this.view.screen.width,this.view.screen.height,this.view.resolution),l!==void 0&&l!==o&&this.runners.resolutionChange.emit(l)}clear(t={}){const a=this;t.target||(t.target=a.renderTarget.renderTarget),t.clearColor||(t.clearColor=this.background.colorRgba),t.clear??(t.clear=P_.ALL);const{clear:l,clearColor:o,target:c,mipLevel:d,layer:m}=t;zn.shared.setValue(o??this.background.colorRgba),a.renderTarget.clear(c,l,zn.shared.toArray(),d??0,m??0)}get resolution(){return this.view.resolution}set resolution(t){this.view.resolution=t,this.runners.resolutionChange.emit(t)}get width(){return this.view.texture.frame.width}get height(){return this.view.texture.frame.height}get canvas(){return this.view.canvas}get lastObjectRendered(){return this._lastObjectRendered}get renderingToScreen(){return this.renderTarget.renderingToScreen}get screen(){return this.view.screen}_addRunners(...t){t.forEach(a=>{this.runners[a]=new t4(a)})}_addSystems(t){let a;for(a in t){const l=t[a];this._addSystem(l.value,l.name)}}_addSystem(t,a){const l=new t(this);if(this[a])throw new Error(`Whoops! The name "${a}" is already in use`);this[a]=l,this._systemsHash[a]=l;for(const o in this.runners)this.runners[o].add(l);return this}_addPipes(t,a){const l=a.reduce((o,c)=>(o[c.name]=c.value,o),{});t.forEach(o=>{const c=o.value,d=o.name,m=l[d];this.renderPipes[d]=new c(this,m?new m:null),this.runners.destroy.add(this.renderPipes[d])})}destroy(t=!1){this.runners.destroy.items.reverse(),this.runners.destroy.emit(t),(t===!0||typeof t=="object"&&t.releaseGlobalResources)&&xd.release(),Object.values(this.runners).forEach(a=>{a.destroy()}),this._systemsHash=null,this.renderPipes=null,this.removeAllListeners()}generateTexture(t){return this.textureGenerator.generateTexture(t)}get roundPixels(){return!!this._roundPixels}_unsafeEvalCheck(){if(!HE())throw new Error("Current environment does not allow unsafe-eval, please use pixi.js/unsafe-eval module to enable support.")}resetState(){this.runners.resetState.emit()}};I_.defaultOptions={resolution:1,failIfMajorPerformanceCaveat:!1,roundPixels:!1};let t2=I_,dp;function n4(n){return dp!==void 0||(dp=(()=>{var a;const t={stencil:!0,failIfMajorPerformanceCaveat:n??t2.defaultOptions.failIfMajorPerformanceCaveat};try{if(!bi.get().getWebGLRenderingContext())return!1;let o=bi.get().createCanvas().getContext("webgl",t);const c=!!((a=o==null?void 0:o.getContextAttributes())!=null&&a.stencil);if(o){const d=o.getExtension("WEBGL_lose_context");d&&d.loseContext()}return o=null,c}catch{return!1}})()),dp}let mp;async function a4(n={}){return mp!==void 0||(mp=await(async()=>{const t=bi.get().getNavigator().gpu;if(!t)return!1;try{return await(await t.requestAdapter(n)).requestDevice(),!0}catch{return!1}})()),mp}const C1=["webgl","webgpu","canvas"];async function i4(n){let t=[];n.preference?(t.push(n.preference),C1.forEach(c=>{c!==n.preference&&t.push(c)})):t=C1.slice();let a,l={};for(let c=0;c<t.length;c++){const d=t[c];if(d==="webgpu"&&await a4()){const{WebGPURenderer:m}=await Pc(async()=>{const{WebGPURenderer:p}=await import("./WebGPURenderer-CgKhK8bV.js");return{WebGPURenderer:p}},__vite__mapDeps([2,3,4]));a=m,l={...n,...n.webgpu};break}else if(d==="webgl"&&n4(n.failIfMajorPerformanceCaveat??t2.defaultOptions.failIfMajorPerformanceCaveat)){const{WebGLRenderer:m}=await Pc(async()=>{const{WebGLRenderer:p}=await import("./WebGLRenderer-HajVT3nK.js");return{WebGLRenderer:p}},__vite__mapDeps([5,3,4]));a=m,l={...n,...n.webgl};break}else if(d==="canvas"){const{CanvasRenderer:m}=await Pc(async()=>{const{CanvasRenderer:p}=await import("./CanvasRenderer-BWTKGaqL.js");return{CanvasRenderer:p}},__vite__mapDeps([6,4]));a=m,l={...n,...n.canvasOptions};break}}if(delete l.webgpu,delete l.webgl,delete l.canvasOptions,!a)throw new Error("No available renderer for the current environment");const o=new a;return await o.init(l),o}const e2="8.17.0";class n2{static init(){var t;(t=globalThis.__PIXI_APP_INIT__)==null||t.call(globalThis,this,e2)}static destroy(){}}n2.extension=Wt.Application;class l4{constructor(t){this._renderer=t}init(){var t;(t=globalThis.__PIXI_RENDERER_INIT__)==null||t.call(globalThis,this._renderer,e2)}destroy(){this._renderer=null}}l4.extension={type:[Wt.WebGLSystem,Wt.WebGPUSystem],name:"initHook",priority:-10};class a2{static init(t){Object.defineProperty(this,"resizeTo",{configurable:!0,set(a){globalThis.removeEventListener("resize",this.queueResize),this._resizeTo=a,a&&(globalThis.addEventListener("resize",this.queueResize),this.resize())},get(){return this._resizeTo}}),this.queueResize=()=>{this._resizeTo&&(this._cancelResize(),this._resizeId=requestAnimationFrame(()=>this.resize()))},this._cancelResize=()=>{this._resizeId&&(cancelAnimationFrame(this._resizeId),this._resizeId=null)},this.resize=()=>{if(!this._resizeTo)return;this._cancelResize();let a,l;if(this._resizeTo===globalThis.window)a=globalThis.innerWidth,l=globalThis.innerHeight;else{const{clientWidth:o,clientHeight:c}=this._resizeTo;a=o,l=c}this.renderer.resize(a,l),this.render()},this._resizeId=null,this._resizeTo=null,this.resizeTo=t.resizeTo||null}static destroy(){globalThis.removeEventListener("resize",this.queueResize),this._cancelResize(),this._cancelResize=null,this.queueResize=null,this.resizeTo=null,this.resize=null}}a2.extension=Wt.Application;class i2{static init(t){t=Object.assign({autoStart:!0,sharedTicker:!1},t),Object.defineProperty(this,"ticker",{configurable:!0,set(a){this._ticker&&this._ticker.remove(this.render,this),this._ticker=a,a&&a.add(this.render,this,wp.LOW)},get(){return this._ticker}}),this.stop=()=>{this._ticker.stop()},this.start=()=>{this._ticker.start()},this._ticker=null,this.ticker=t.sharedTicker?Jc.shared:new Jc,t.autoStart&&this.start()}static destroy(){if(this._ticker){const t=this._ticker;this.ticker=null,t.destroy()}}}i2.extension=Wt.Application;Ie.add(a2);Ie.add(i2);const l2=class Vy{constructor(...t){this.stage=new $n,t[0]!==void 0&&de(un,"Application constructor options are deprecated, please use Application.init() instead.")}async init(t){t={...t},this.stage||(this.stage=new $n),this.renderer=await i4(t),Vy._plugins.forEach(a=>{a.init.call(this,t)})}render(){this.renderer.render({container:this.stage})}get canvas(){return this.renderer.canvas}get view(){return de(un,"Application.view is deprecated, please use Application.canvas instead."),this.renderer.canvas}get screen(){return this.renderer.screen}destroy(t=!1,a=!1){const l=Vy._plugins.slice(0);l.reverse(),l.forEach(o=>{o.destroy.call(this)}),this.stage.destroy(a),this.stage=null,this.renderer.destroy(t),this.renderer=null}};l2._plugins=[];let mg=l2;Ie.handleByList(Wt.Application,mg._plugins);Ie.add(n2);var cy,A1;function s4(){if(A1)return cy;A1=1,cy=a;var n={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},t=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function a(c){var d=[];return c.replace(t,function(m,p,g){var x=p.toLowerCase();for(g=o(g),x=="m"&&g.length>2&&(d.push([p].concat(g.splice(0,2))),x="l",p=p=="m"?"l":"L");;){if(g.length==n[x])return g.unshift(p),d.push(g);if(g.length<n[x])throw new Error("malformed path data");d.push([p].concat(g.splice(0,n[x])))}}),d}var l=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/ig;function o(c){var d=c.match(l);return d?d.map(Number):[]}return cy}var r4=s4();const u4=Hp(r4);function o4(n,t){const a=u4(n),l=[];let o=null,c=0,d=0;for(let m=0;m<a.length;m++){const p=a[m],g=p[0],x=p;switch(g){case"M":c=x[1],d=x[2],t.moveTo(c,d);break;case"m":c+=x[1],d+=x[2],t.moveTo(c,d);break;case"H":c=x[1],t.lineTo(c,d);break;case"h":c+=x[1],t.lineTo(c,d);break;case"V":d=x[1],t.lineTo(c,d);break;case"v":d+=x[1],t.lineTo(c,d);break;case"L":c=x[1],d=x[2],t.lineTo(c,d);break;case"l":c+=x[1],d+=x[2],t.lineTo(c,d);break;case"C":c=x[5],d=x[6],t.bezierCurveTo(x[1],x[2],x[3],x[4],c,d);break;case"c":t.bezierCurveTo(c+x[1],d+x[2],c+x[3],d+x[4],c+x[5],d+x[6]),c+=x[5],d+=x[6];break;case"S":c=x[3],d=x[4],t.bezierCurveToShort(x[1],x[2],c,d);break;case"s":t.bezierCurveToShort(c+x[1],d+x[2],c+x[3],d+x[4]),c+=x[3],d+=x[4];break;case"Q":c=x[3],d=x[4],t.quadraticCurveTo(x[1],x[2],c,d);break;case"q":t.quadraticCurveTo(c+x[1],d+x[2],c+x[3],d+x[4]),c+=x[3],d+=x[4];break;case"T":c=x[1],d=x[2],t.quadraticCurveToShort(c,d);break;case"t":c+=x[1],d+=x[2],t.quadraticCurveToShort(c,d);break;case"A":c=x[6],d=x[7],t.arcToSvg(x[1],x[2],x[3],x[4],x[5],c,d);break;case"a":c+=x[6],d+=x[7],t.arcToSvg(x[1],x[2],x[3],x[4],x[5],c,d);break;case"Z":case"z":t.closePath(),l.length>0&&(o=l.pop(),o?(c=o.startX,d=o.startY):(c=0,d=0)),o=null;break;default:Ya(`Unknown SVG path command: ${g}`)}g!=="Z"&&g!=="z"&&o===null&&(o={startX:c,startY:d},l.push(o))}return t}class pg{constructor(t=0,a=0,l=0){this.type="circle",this.x=t,this.y=a,this.radius=l}clone(){return new pg(this.x,this.y,this.radius)}contains(t,a){if(this.radius<=0)return!1;const l=this.radius*this.radius;let o=this.x-t,c=this.y-a;return o*=o,c*=c,o+c<=l}strokeContains(t,a,l,o=.5){if(this.radius===0)return!1;const c=this.x-t,d=this.y-a,m=this.radius,p=(1-o)*l,g=Math.sqrt(c*c+d*d);return g<=m+p&&g>m-(l-p)}getBounds(t){return t||(t=new mn),t.x=this.x-this.radius,t.y=this.y-this.radius,t.width=this.radius*2,t.height=this.radius*2,t}copyFrom(t){return this.x=t.x,this.y=t.y,this.radius=t.radius,this}copyTo(t){return t.copyFrom(this),t}toString(){return`[pixi.js/math:Circle x=${this.x} y=${this.y} radius=${this.radius}]`}}class yg{constructor(t=0,a=0,l=0,o=0){this.type="ellipse",this.x=t,this.y=a,this.halfWidth=l,this.halfHeight=o}clone(){return new yg(this.x,this.y,this.halfWidth,this.halfHeight)}contains(t,a){if(this.halfWidth<=0||this.halfHeight<=0)return!1;let l=(t-this.x)/this.halfWidth,o=(a-this.y)/this.halfHeight;return l*=l,o*=o,l+o<=1}strokeContains(t,a,l,o=.5){const{halfWidth:c,halfHeight:d}=this;if(c<=0||d<=0)return!1;const m=l*(1-o),p=l-m,g=c-p,x=d-p,b=c+m,E=d+m,C=t-this.x,M=a-this.y,z=C*C/(g*g)+M*M/(x*x),R=C*C/(b*b)+M*M/(E*E);return z>1&&R<=1}getBounds(t){return t||(t=new mn),t.x=this.x-this.halfWidth,t.y=this.y-this.halfHeight,t.width=this.halfWidth*2,t.height=this.halfHeight*2,t}copyFrom(t){return this.x=t.x,this.y=t.y,this.halfWidth=t.halfWidth,this.halfHeight=t.halfHeight,this}copyTo(t){return t.copyFrom(this),t}toString(){return`[pixi.js/math:Ellipse x=${this.x} y=${this.y} halfWidth=${this.halfWidth} halfHeight=${this.halfHeight}]`}}function c4(n,t,a,l,o,c){const d=n-a,m=t-l,p=o-a,g=c-l,x=d*p+m*g,b=p*p+g*g;let E=-1;b!==0&&(E=x/b);let C,M;E<0?(C=a,M=l):E>1?(C=o,M=c):(C=a+E*p,M=l+E*g);const z=n-C,R=t-M;return z*z+R*R}let f4,h4;class rd{constructor(...t){this.type="polygon";let a=Array.isArray(t[0])?t[0]:t;if(typeof a[0]!="number"){const l=[];for(let o=0,c=a.length;o<c;o++)l.push(a[o].x,a[o].y);a=l}this.points=a,this.closePath=!0}isClockwise(){let t=0;const a=this.points,l=a.length;for(let o=0;o<l;o+=2){const c=a[o],d=a[o+1],m=a[(o+2)%l],p=a[(o+3)%l];t+=(m-c)*(p+d)}return t<0}containsPolygon(t){const a=this.getBounds(f4),l=t.getBounds(h4);if(!a.containsRect(l))return!1;const o=t.points;for(let c=0;c<o.length;c+=2){const d=o[c],m=o[c+1];if(!this.contains(d,m))return!1}return!0}clone(){const t=this.points.slice(),a=new rd(t);return a.closePath=this.closePath,a}contains(t,a){let l=!1;const o=this.points.length/2;for(let c=0,d=o-1;c<o;d=c++){const m=this.points[c*2],p=this.points[c*2+1],g=this.points[d*2],x=this.points[d*2+1];p>a!=x>a&&t<(g-m)*((a-p)/(x-p))+m&&(l=!l)}return l}strokeContains(t,a,l,o=.5){const c=l*l,d=c*(1-o),m=c-d,{points:p}=this,g=p.length-(this.closePath?0:2);for(let x=0;x<g;x+=2){const b=p[x],E=p[x+1],C=p[(x+2)%p.length],M=p[(x+3)%p.length],z=c4(t,a,b,E,C,M),R=Math.sign((C-b)*(a-E)-(M-E)*(t-b));if(z<=(R<0?m:d))return!0}return!1}getBounds(t){t||(t=new mn);const a=this.points;let l=1/0,o=-1/0,c=1/0,d=-1/0;for(let m=0,p=a.length;m<p;m+=2){const g=a[m],x=a[m+1];l=g<l?g:l,o=g>o?g:o,c=x<c?x:c,d=x>d?x:d}return t.x=l,t.width=o-l,t.y=c,t.height=d-c,t}copyFrom(t){return this.points=t.points.slice(),this.closePath=t.closePath,this}copyTo(t){return t.copyFrom(this),t}toString(){return`[pixi.js/math:PolygoncloseStroke=${this.closePath}points=${this.points.reduce((t,a)=>`${t}, ${a}`,"")}]`}get lastX(){return this.points[this.points.length-2]}get lastY(){return this.points[this.points.length-1]}get x(){return de("8.11.0","Polygon.lastX is deprecated, please use Polygon.lastX instead."),this.points[this.points.length-2]}get y(){return de("8.11.0","Polygon.y is deprecated, please use Polygon.lastY instead."),this.points[this.points.length-1]}get startX(){return this.points[0]}get startY(){return this.points[1]}}const pp=(n,t,a,l,o,c,d)=>{const m=n-a,p=t-l,g=Math.sqrt(m*m+p*p);return g>=o-c&&g<=o+d};class gg{constructor(t=0,a=0,l=0,o=0,c=20){this.type="roundedRectangle",this.x=t,this.y=a,this.width=l,this.height=o,this.radius=c}getBounds(t){return t||(t=new mn),t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t}clone(){return new gg(this.x,this.y,this.width,this.height,this.radius)}copyFrom(t){return this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this}copyTo(t){return t.copyFrom(this),t}contains(t,a){if(this.width<=0||this.height<=0)return!1;if(t>=this.x&&t<=this.x+this.width&&a>=this.y&&a<=this.y+this.height){const l=Math.max(0,Math.min(this.radius,Math.min(this.width,this.height)/2));if(a>=this.y+l&&a<=this.y+this.height-l||t>=this.x+l&&t<=this.x+this.width-l)return!0;let o=t-(this.x+l),c=a-(this.y+l);const d=l*l;if(o*o+c*c<=d||(o=t-(this.x+this.width-l),o*o+c*c<=d)||(c=a-(this.y+this.height-l),o*o+c*c<=d)||(o=t-(this.x+l),o*o+c*c<=d))return!0}return!1}strokeContains(t,a,l,o=.5){const{x:c,y:d,width:m,height:p,radius:g}=this,x=l*(1-o),b=l-x,E=c+g,C=d+g,M=m-g*2,z=p-g*2,R=c+m,w=d+p;return(t>=c-x&&t<=c+b||t>=R-b&&t<=R+x)&&a>=C&&a<=C+z||(a>=d-x&&a<=d+b||a>=w-b&&a<=w+x)&&t>=E&&t<=E+M?!0:t<E&&a<C&&pp(t,a,E,C,g,b,x)||t>R-g&&a<C&&pp(t,a,R-g,C,g,b,x)||t>R-g&&a>w-g&&pp(t,a,R-g,w-g,g,b,x)||t<E&&a>w-g&&pp(t,a,E,w-g,g,b,x)}toString(){return`[pixi.js/math:RoundedRectangle x=${this.x} y=${this.y}width=${this.width} height=${this.height} radius=${this.radius}]`}}const s2={};function d4(n,t,a){let l=2166136261;for(let o=0;o<t;o++)l^=n[o].uid,l=Math.imul(l,16777619),l>>>=0;return s2[l]||m4(n,t,l,a)}function m4(n,t,a,l){const o={};let c=0;for(let m=0;m<l;m++){const p=m<t?n[m]:ze.EMPTY.source;o[c++]=p.source,o[c++]=p.style}const d=new Ap(o);return s2[a]=d,d}class M1{constructor(t){typeof t=="number"?this.rawBinaryData=new ArrayBuffer(t):t instanceof Uint8Array?this.rawBinaryData=t.buffer:this.rawBinaryData=t,this.uint32View=new Uint32Array(this.rawBinaryData),this.float32View=new Float32Array(this.rawBinaryData),this.size=this.rawBinaryData.byteLength}get int8View(){return this._int8View||(this._int8View=new Int8Array(this.rawBinaryData)),this._int8View}get uint8View(){return this._uint8View||(this._uint8View=new Uint8Array(this.rawBinaryData)),this._uint8View}get int16View(){return this._int16View||(this._int16View=new Int16Array(this.rawBinaryData)),this._int16View}get int32View(){return this._int32View||(this._int32View=new Int32Array(this.rawBinaryData)),this._int32View}get float64View(){return this._float64Array||(this._float64Array=new Float64Array(this.rawBinaryData)),this._float64Array}get bigUint64View(){return this._bigUint64Array||(this._bigUint64Array=new BigUint64Array(this.rawBinaryData)),this._bigUint64Array}view(t){return this[`${t}View`]}destroy(){this.rawBinaryData=null,this.uint32View=null,this.float32View=null,this.uint16View=null,this._int8View=null,this._uint8View=null,this._int16View=null,this._int32View=null,this._float64Array=null,this._bigUint64Array=null}static sizeOf(t){switch(t){case"int8":case"uint8":return 1;case"int16":case"uint16":return 2;case"int32":case"uint32":case"float32":return 4;default:throw new Error(`${t} isn't a valid view type`)}}}function R1(n,t,a,l){if(a??(a=0),l??(l=Math.min(n.byteLength-a,t.byteLength)),!(a&7)&&!(l&7)){const o=l/8;new Float64Array(t,0,o).set(new Float64Array(n,a,o))}else if(!(a&3)&&!(l&3)){const o=l/4;new Float32Array(t,0,o).set(new Float32Array(n,a,o))}else new Uint8Array(t).set(new Uint8Array(n,a,l))}const p4={normal:"normal-npm",add:"add-npm",screen:"screen-npm"};var y4=(n=>(n[n.DISABLED=0]="DISABLED",n[n.RENDERING_MASK_ADD=1]="RENDERING_MASK_ADD",n[n.MASK_ACTIVE=2]="MASK_ACTIVE",n[n.INVERSE_MASK_ACTIVE=3]="INVERSE_MASK_ACTIVE",n[n.RENDERING_MASK_REMOVE=4]="RENDERING_MASK_REMOVE",n[n.NONE=5]="NONE",n))(y4||{});function z1(n,t){return t.alphaMode==="no-premultiply-alpha"&&p4[n]||n}const g4=["precision mediump float;","void main(void){","float test = 0.1;","%forloop%","gl_FragColor = vec4(0.0);","}"].join(`
82
+ ${n}`}function EE(n,t){return t?n.replace("#version 300 es",""):n}const ny={stripVersion:EE,ensurePrecision:xE,addProgramDefines:vE,setProgramName:TE,insertVersion:_E},Zh=Object.create(null),q_=class Hy{constructor(t){t={...Hy.defaultOptions,...t};const a=t.fragment.indexOf("#version 300 es")!==-1,l={stripVersion:a,ensurePrecision:{requestedFragmentPrecision:t.preferredFragmentPrecision,requestedVertexPrecision:t.preferredVertexPrecision,maxSupportedVertexPrecision:"highp",maxSupportedFragmentPrecision:gE()},setProgramName:{name:t.name},addProgramDefines:a,insertVersion:a};let o=t.fragment,c=t.vertex;Object.keys(ny).forEach(d=>{const m=l[d];o=ny[d](o,m,!0),c=ny[d](c,m,!1)}),this.fragment=o,this.vertex=c,this.transformFeedbackVaryings=t.transformFeedbackVaryings,this._key=fg(`${this.vertex}:${this.fragment}`,"gl-program")}destroy(){this.fragment=null,this.vertex=null,this._attributeData=null,this._uniformData=null,this._uniformBlockData=null,this.transformFeedbackVaryings=null,Zh[this._cacheKey]=null}static from(t){const a=`${t.vertex}:${t.fragment}`;return Zh[a]||(Zh[a]=new Hy(t),Zh[a]._cacheKey=a),Zh[a]}};q_.defaultOptions={preferredVertexPrecision:"highp",preferredFragmentPrecision:"mediump"};let hg=q_;const _1={uint8x2:{size:2,stride:2,normalised:!1},uint8x4:{size:4,stride:4,normalised:!1},sint8x2:{size:2,stride:2,normalised:!1},sint8x4:{size:4,stride:4,normalised:!1},unorm8x2:{size:2,stride:2,normalised:!0},unorm8x4:{size:4,stride:4,normalised:!0},snorm8x2:{size:2,stride:2,normalised:!0},snorm8x4:{size:4,stride:4,normalised:!0},uint16x2:{size:2,stride:4,normalised:!1},uint16x4:{size:4,stride:8,normalised:!1},sint16x2:{size:2,stride:4,normalised:!1},sint16x4:{size:4,stride:8,normalised:!1},unorm16x2:{size:2,stride:4,normalised:!0},unorm16x4:{size:4,stride:8,normalised:!0},snorm16x2:{size:2,stride:4,normalised:!0},snorm16x4:{size:4,stride:8,normalised:!0},float16x2:{size:2,stride:4,normalised:!1},float16x4:{size:4,stride:8,normalised:!1},float32:{size:1,stride:4,normalised:!1},float32x2:{size:2,stride:8,normalised:!1},float32x3:{size:3,stride:12,normalised:!1},float32x4:{size:4,stride:16,normalised:!1},uint32:{size:1,stride:4,normalised:!1},uint32x2:{size:2,stride:8,normalised:!1},uint32x3:{size:3,stride:12,normalised:!1},uint32x4:{size:4,stride:16,normalised:!1},sint32:{size:1,stride:4,normalised:!1},sint32x2:{size:2,stride:8,normalised:!1},sint32x3:{size:3,stride:12,normalised:!1},sint32x4:{size:4,stride:16,normalised:!1}};function CE(n){return _1[n]??_1.float32}const AE={f32:"float32","vec2<f32>":"float32x2","vec3<f32>":"float32x3","vec4<f32>":"float32x4",vec2f:"float32x2",vec3f:"float32x3",vec4f:"float32x4",i32:"sint32","vec2<i32>":"sint32x2","vec3<i32>":"sint32x3","vec4<i32>":"sint32x4",vec2i:"sint32x2",vec3i:"sint32x3",vec4i:"sint32x4",u32:"uint32","vec2<u32>":"uint32x2","vec3<u32>":"uint32x3","vec4<u32>":"uint32x4",vec2u:"uint32x2",vec3u:"uint32x3",vec4u:"uint32x4",bool:"uint32","vec2<bool>":"uint32x2","vec3<bool>":"uint32x3","vec4<bool>":"uint32x4"},S1=/@location\((\d+)\)\s+([a-zA-Z0-9_]+)\s*:\s*([a-zA-Z0-9_<>]+)(?:,|\s|\)|$)/g;function b1(n,t){let a;for(;(a=S1.exec(n))!==null;){const l=AE[a[3]]??"float32";t[a[2]]={location:parseInt(a[1],10),format:l,stride:CE(l).stride,offset:0,instance:!1,start:0}}S1.lastIndex=0}function ME(n){return n.replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"")}function RE({source:n,entryPoint:t}){const a={},l=ME(n),o=l.indexOf(`fn ${t}(`);if(o===-1)return a;const c=l.indexOf("->",o);if(c===-1)return a;const d=l.substring(o,c);if(b1(d,a),Object.keys(a).length===0){const m=d.match(/\(\s*\w+\s*:\s*(\w+)/);if(m){const p=m[1],g=new RegExp(`struct\\s+${p}\\s*\\{([^}]+)\\}`,"s"),x=l.match(g);x&&b1(x[1],a)}}return a}function ay(n){var b,E;const t=/(^|[^/])@(group|binding)\(\d+\)[^;]+;/g,a=/@group\((\d+)\)/,l=/@binding\((\d+)\)/,o=/var(<[^>]+>)? (\w+)/,c=/:\s*([\w<>]+)/,d=/struct\s+(\w+)\s*{([^}]+)}/g,m=/(\w+)\s*:\s*([\w\<\>]+)/g,p=/struct\s+(\w+)/,g=(b=n.match(t))==null?void 0:b.map(C=>({group:parseInt(C.match(a)[1],10),binding:parseInt(C.match(l)[1],10),name:C.match(o)[2],isUniform:C.match(o)[1]==="<uniform>",type:C.match(c)[1]}));if(!g)return{groups:[],structs:[]};const x=((E=n.match(d))==null?void 0:E.map(C=>{const M=C.match(p)[1],z=C.match(m).reduce((R,w)=>{const[O,U]=w.split(":");return R[O.trim()]=U.trim(),R},{});return z?{name:M,members:z}:null}).filter(({name:C})=>g.some(M=>M.type===C||M.type.includes(`<${C}>`))))??[];return{groups:g,structs:x}}var yo=(n=>(n[n.VERTEX=1]="VERTEX",n[n.FRAGMENT=2]="FRAGMENT",n[n.COMPUTE=4]="COMPUTE",n))(yo||{});function zE({groups:n}){const t=[];for(let a=0;a<n.length;a++){const l=n[a];t[l.group]||(t[l.group]=[]),l.isUniform?t[l.group].push({binding:l.binding,visibility:yo.VERTEX|yo.FRAGMENT,buffer:{type:"uniform"}}):l.type==="sampler"?t[l.group].push({binding:l.binding,visibility:yo.FRAGMENT,sampler:{type:"filtering"}}):l.type==="texture_2d"||l.type.startsWith("texture_2d<")?t[l.group].push({binding:l.binding,visibility:yo.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d",multisampled:!1}}):l.type==="texture_2d_array"||l.type.startsWith("texture_2d_array<")?t[l.group].push({binding:l.binding,visibility:yo.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d-array",multisampled:!1}}):(l.type==="texture_cube"||l.type.startsWith("texture_cube<"))&&t[l.group].push({binding:l.binding,visibility:yo.FRAGMENT,texture:{sampleType:"float",viewDimension:"cube",multisampled:!1}})}for(let a=0;a<t.length;a++)t[a]||(t[a]=[]);return t}function wE({groups:n}){const t=[];for(let a=0;a<n.length;a++){const l=n[a];t[l.group]||(t[l.group]={}),t[l.group][l.name]=l.binding}return t}function DE(n,t){const a=new Set,l=new Set,o=[...n.structs,...t.structs].filter(d=>a.has(d.name)?!1:(a.add(d.name),!0)),c=[...n.groups,...t.groups].filter(d=>{const m=`${d.name}-${d.binding}`;return l.has(m)?!1:(l.add(m),!0)});return{structs:o,groups:c}}const Jh=Object.create(null);class _d{constructor(t){var m,p;this._layoutKey=0,this._attributeLocationsKey=0;const{fragment:a,vertex:l,layout:o,gpuLayout:c,name:d}=t;if(this.name=d,this.fragment=a,this.vertex=l,a.source===l.source){const g=ay(a.source);this.structsAndGroups=g}else{const g=ay(l.source),x=ay(a.source);this.structsAndGroups=DE(g,x)}this.layout=o??wE(this.structsAndGroups),this.gpuLayout=c??zE(this.structsAndGroups),this.autoAssignGlobalUniforms=((m=this.layout[0])==null?void 0:m.globalUniforms)!==void 0,this.autoAssignLocalUniforms=((p=this.layout[1])==null?void 0:p.localUniforms)!==void 0,this._generateProgramKey()}_generateProgramKey(){const{vertex:t,fragment:a}=this,l=t.source+a.source+t.entryPoint+a.entryPoint;this._layoutKey=fg(l,"program")}get attributeData(){return this._attributeData??(this._attributeData=RE(this.vertex)),this._attributeData}destroy(){this.gpuLayout=null,this.layout=null,this.structsAndGroups=null,this.fragment=null,this.vertex=null,Jh[this._cacheKey]=null}static from(t){const a=`${t.vertex.source}:${t.fragment.source}:${t.fragment.entryPoint}:${t.vertex.entryPoint}`;return Jh[a]||(Jh[a]=new _d(t),Jh[a]._cacheKey=a),Jh[a]}}const L_=["f32","i32","vec2<f32>","vec3<f32>","vec4<f32>","mat2x2<f32>","mat3x3<f32>","mat4x4<f32>","mat3x2<f32>","mat4x2<f32>","mat2x3<f32>","mat4x3<f32>","mat2x4<f32>","mat3x4<f32>","vec2<i32>","vec3<i32>","vec4<i32>"],OE=L_.reduce((n,t)=>(n[t]=!0,n),{});function NE(n,t){switch(n){case"f32":return 0;case"vec2<f32>":return new Float32Array(2*t);case"vec3<f32>":return new Float32Array(3*t);case"vec4<f32>":return new Float32Array(4*t);case"mat2x2<f32>":return new Float32Array([1,0,0,1]);case"mat3x3<f32>":return new Float32Array([1,0,0,0,1,0,0,0,1]);case"mat4x4<f32>":return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}return null}const X_=class V_{constructor(t,a){this._touched=0,this.uid=on("uniform"),this._resourceType="uniformGroup",this._resourceId=on("resource"),this.isUniformGroup=!0,this._dirtyId=0,this.destroyed=!1,a={...V_.defaultOptions,...a},this.uniformStructures=t;const l={};for(const o in t){const c=t[o];if(c.name=o,c.size=c.size??1,!OE[c.type]){const d=c.type.match(/^array<(\w+(?:<\w+>)?),\s*(\d+)>$/);if(d){const[,m,p]=d;throw new Error(`Uniform type ${c.type} is not supported. Use type: '${m}', size: ${p} instead.`)}throw new Error(`Uniform type ${c.type} is not supported. Supported uniform types are: ${L_.join(", ")}`)}c.value??(c.value=NE(c.type,c.size)),l[o]=c.value}this.uniforms=l,this._dirtyId=1,this.ubo=a.ubo,this.isStatic=a.isStatic,this._signature=fg(Object.keys(l).map(o=>`${o}-${t[o].type}`).join("-"),"uniform-group")}update(){this._dirtyId++}};X_.defaultOptions={ubo:!1,isStatic:!1};let k_=X_;class Ap{constructor(t){this.resources=Object.create(null),this._dirty=!0;let a=0;for(const l in t){const o=t[l];this.setResource(o,a++)}this._updateKey()}_updateKey(){if(!this._dirty)return;this._dirty=!1;const t=[];let a=0;for(const l in this.resources)t[a++]=this.resources[l]._resourceId;this._key=t.join("|")}setResource(t,a){var o,c;const l=this.resources[a];t!==l&&((o=l==null?void 0:l.off)==null||o.call(l,"change",this.onResourceChange,this),(c=t.on)==null||c.call(t,"change",this.onResourceChange,this),this.resources[a]=t,this._dirty=!0)}getResource(t){return this.resources[t]}_touch(t,a){const l=this.resources;for(const o in l)l[o]._gcLastUsed=t,l[o]._touched=a}destroy(){var a;const t=this.resources;for(const l in t){const o=t[l];(a=o==null?void 0:o.off)==null||a.call(o,"change",this.onResourceChange,this)}this.resources=null}onResourceChange(t){this._dirty=!0,t.destroyed?this.destroy():this._updateKey()}}var jy=(n=>(n[n.WEBGL=1]="WEBGL",n[n.WEBGPU=2]="WEBGPU",n[n.CANVAS=4]="CANVAS",n[n.BOTH=3]="BOTH",n))(jy||{});class kp extends _s{constructor(t){super(),this.uid=on("shader"),this._uniformBindMap=Object.create(null),this._ownedBindGroups=[],this._destroyed=!1;let{gpuProgram:a,glProgram:l,groups:o,resources:c,compatibleRenderers:d,groupMap:m}=t;this.gpuProgram=a,this.glProgram=l,d===void 0&&(d=0,a&&(d|=jy.WEBGPU),l&&(d|=jy.WEBGL)),this.compatibleRenderers=d;const p={};if(!c&&!o&&(c={}),c&&o)throw new Error("[Shader] Cannot have both resources and groups");if(!a&&o&&!m)throw new Error("[Shader] No group map or WebGPU shader provided - consider using resources instead.");if(!a&&o&&m)for(const g in m)for(const x in m[g]){const b=m[g][x];p[b]={group:g,binding:x,name:b}}else if(a&&o&&!m){const g=a.structsAndGroups.groups;m={},g.forEach(x=>{m[x.group]=m[x.group]||{},m[x.group][x.binding]=x.name,p[x.name]=x})}else if(c){o={},m={},a&&a.structsAndGroups.groups.forEach(b=>{m[b.group]=m[b.group]||{},m[b.group][b.binding]=b.name,p[b.name]=b});let g=0;for(const x in c)p[x]||(o[99]||(o[99]=new Ap,this._ownedBindGroups.push(o[99])),p[x]={group:99,binding:g,name:x},m[99]=m[99]||{},m[99][g]=x,g++);for(const x in c){const b=x;let E=c[x];!E.source&&!E._resourceType&&(E=new k_(E));const C=p[b];C&&(o[C.group]||(o[C.group]=new Ap,this._ownedBindGroups.push(o[C.group])),o[C.group].setResource(E,C.binding))}}this.groups=o,this._uniformBindMap=m,this.resources=this._buildResourceAccessor(o,p)}addResource(t,a,l){var o,c;(o=this._uniformBindMap)[a]||(o[a]={}),(c=this._uniformBindMap[a])[l]||(c[l]=t),this.groups[a]||(this.groups[a]=new Ap,this._ownedBindGroups.push(this.groups[a]))}_buildResourceAccessor(t,a){const l={};for(const o in a){const c=a[o];Object.defineProperty(l,c.name,{get(){return t[c.group].getResource(c.binding)},set(d){t[c.group].setResource(d,c.binding)}})}return l}destroy(t=!1){var a,l;this._destroyed||(this._destroyed=!0,this.emit("destroy",this),t&&((a=this.gpuProgram)==null||a.destroy(),(l=this.glProgram)==null||l.destroy()),this.gpuProgram=null,this.glProgram=null,this.removeAllListeners(),this._uniformBindMap=null,this._ownedBindGroups.forEach(o=>{o.destroy()}),this._ownedBindGroups=null,this.resources=null,this.groups=null)}static from(t){const{gpu:a,gl:l,...o}=t;let c,d;return a&&(c=_d.from(a)),l&&(d=hg.from(l)),new kp({gpuProgram:c,glProgram:d,...o})}}const BE={normal:0,add:1,multiply:2,screen:3,overlay:4,erase:5,"normal-npm":6,"add-npm":7,"screen-npm":8,min:9,max:10},iy=0,ly=1,sy=2,ry=3,uy=4,oy=5,Gy=class Q_{constructor(){this.data=0,this.blendMode="normal",this.polygonOffset=0,this.blend=!0,this.depthMask=!0}get blend(){return!!(this.data&1<<iy)}set blend(t){!!(this.data&1<<iy)!==t&&(this.data^=1<<iy)}get offsets(){return!!(this.data&1<<ly)}set offsets(t){!!(this.data&1<<ly)!==t&&(this.data^=1<<ly)}set cullMode(t){if(t==="none"){this.culling=!1;return}this.culling=!0,this.clockwiseFrontFace=t==="front"}get cullMode(){return this.culling?this.clockwiseFrontFace?"front":"back":"none"}get culling(){return!!(this.data&1<<sy)}set culling(t){!!(this.data&1<<sy)!==t&&(this.data^=1<<sy)}get depthTest(){return!!(this.data&1<<ry)}set depthTest(t){!!(this.data&1<<ry)!==t&&(this.data^=1<<ry)}get depthMask(){return!!(this.data&1<<oy)}set depthMask(t){!!(this.data&1<<oy)!==t&&(this.data^=1<<oy)}get clockwiseFrontFace(){return!!(this.data&1<<uy)}set clockwiseFrontFace(t){!!(this.data&1<<uy)!==t&&(this.data^=1<<uy)}get blendMode(){return this._blendMode}set blendMode(t){this.blend=t!=="none",this._blendMode=t,this._blendModeId=BE[t]||0}get polygonOffset(){return this._polygonOffset}set polygonOffset(t){this.offsets=!!t,this._polygonOffset=t}toString(){return`[pixi.js/core:State blendMode=${this.blendMode} clockwiseFrontFace=${this.clockwiseFrontFace} culling=${this.culling} depthMask=${this.depthMask} polygonOffset=${this.polygonOffset}]`}static for2d(){const t=new Q_;return t.depthTest=!1,t.blend=!0,t}};Gy.default2d=Gy.for2d();let dg=Gy;const K_=class Yy extends kp{constructor(t){t={...Yy.defaultOptions,...t},super(t),this.enabled=!0,this._state=dg.for2d(),this.blendMode=t.blendMode,this.padding=t.padding,typeof t.antialias=="boolean"?this.antialias=t.antialias?"on":"off":this.antialias=t.antialias,this.resolution=t.resolution,this.blendRequired=t.blendRequired,this.clipToViewport=t.clipToViewport,this.addResource("uTexture",0,1),t.blendRequired&&this.addResource("uBackTexture",0,3)}apply(t,a,l,o){t.applyFilter(this,a,l,o)}get blendMode(){return this._state.blendMode}set blendMode(t){this._state.blendMode=t}static from(t){const{gpu:a,gl:l,...o}=t;let c,d;return a&&(c=_d.from(a)),l&&(d=hg.from(l)),new Yy({gpuProgram:c,glProgram:d,...o})}};K_.defaultOptions={blendMode:"normal",resolution:1,padding:0,antialias:"off",blendRequired:!1,clipToViewport:!0};let bo=K_;const qy=[];Ie.handleByNamedList(Wt.Environment,qy);async function UE(n){if(!n)for(let t=0;t<qy.length;t++){const a=qy[t];if(a.value.test()){await a.value.load();return}}}let Fh;function HE(){if(typeof Fh=="boolean")return Fh;try{Fh=new Function("param1","param2","param3","return param1[param2] === param3;")({a:"b"},"a","b")===!0}catch{Fh=!1}return Fh}function T1(n,t,a=2){const l=t&&t.length,o=l?t[0]*a:n.length;let c=Z_(n,0,o,a,!0);const d=[];if(!c||c.next===c.prev)return d;let m,p,g;if(l&&(c=LE(n,t,c,a)),n.length>80*a){m=n[0],p=n[1];let x=m,b=p;for(let E=a;E<o;E+=a){const C=n[E],M=n[E+1];C<m&&(m=C),M<p&&(p=M),C>x&&(x=C),M>b&&(b=M)}g=Math.max(x-m,b-p),g=g!==0?32767/g:0}return hd(c,d,a,m,p,g,0),d}function Z_(n,t,a,l,o){let c;if(o===IE(n,t,a,l)>0)for(let d=t;d<a;d+=l)c=E1(d/l|0,n[d],n[d+1],c);else for(let d=a-l;d>=t;d-=l)c=E1(d/l|0,n[d],n[d+1],c);return c&&lf(c,c.next)&&(md(c),c=c.next),c}function _o(n,t){if(!n)return n;t||(t=n);let a=n,l;do if(l=!1,!a.steiner&&(lf(a,a.next)||Pe(a.prev,a,a.next)===0)){if(md(a),a=t=a.prev,a===a.next)break;l=!0}else a=a.next;while(l||a!==t);return t}function hd(n,t,a,l,o,c,d){if(!n)return;!d&&c&&KE(n,l,o,c);let m=n;for(;n.prev!==n.next;){const p=n.prev,g=n.next;if(c?GE(n,l,o,c):jE(n)){t.push(p.i,n.i,g.i),md(n),n=g.next,m=g.next;continue}if(n=g,n===m){d?d===1?(n=YE(_o(n),t),hd(n,t,a,l,o,c,2)):d===2&&qE(n,t,a,l,o,c):hd(_o(n),t,a,l,o,c,1);break}}}function jE(n){const t=n.prev,a=n,l=n.next;if(Pe(t,a,l)>=0)return!1;const o=t.x,c=a.x,d=l.x,m=t.y,p=a.y,g=l.y,x=Math.min(o,c,d),b=Math.min(m,p,g),E=Math.max(o,c,d),C=Math.max(m,p,g);let M=l.next;for(;M!==t;){if(M.x>=x&&M.x<=E&&M.y>=b&&M.y<=C&&ad(o,m,c,p,d,g,M.x,M.y)&&Pe(M.prev,M,M.next)>=0)return!1;M=M.next}return!0}function GE(n,t,a,l){const o=n.prev,c=n,d=n.next;if(Pe(o,c,d)>=0)return!1;const m=o.x,p=c.x,g=d.x,x=o.y,b=c.y,E=d.y,C=Math.min(m,p,g),M=Math.min(x,b,E),z=Math.max(m,p,g),R=Math.max(x,b,E),w=Ly(C,M,t,a,l),O=Ly(z,R,t,a,l);let U=n.prevZ,Y=n.nextZ;for(;U&&U.z>=w&&Y&&Y.z<=O;){if(U.x>=C&&U.x<=z&&U.y>=M&&U.y<=R&&U!==o&&U!==d&&ad(m,x,p,b,g,E,U.x,U.y)&&Pe(U.prev,U,U.next)>=0||(U=U.prevZ,Y.x>=C&&Y.x<=z&&Y.y>=M&&Y.y<=R&&Y!==o&&Y!==d&&ad(m,x,p,b,g,E,Y.x,Y.y)&&Pe(Y.prev,Y,Y.next)>=0))return!1;Y=Y.nextZ}for(;U&&U.z>=w;){if(U.x>=C&&U.x<=z&&U.y>=M&&U.y<=R&&U!==o&&U!==d&&ad(m,x,p,b,g,E,U.x,U.y)&&Pe(U.prev,U,U.next)>=0)return!1;U=U.prevZ}for(;Y&&Y.z<=O;){if(Y.x>=C&&Y.x<=z&&Y.y>=M&&Y.y<=R&&Y!==o&&Y!==d&&ad(m,x,p,b,g,E,Y.x,Y.y)&&Pe(Y.prev,Y,Y.next)>=0)return!1;Y=Y.nextZ}return!0}function YE(n,t){let a=n;do{const l=a.prev,o=a.next.next;!lf(l,o)&&F_(l,a,a.next,o)&&dd(l,o)&&dd(o,l)&&(t.push(l.i,a.i,o.i),md(a),md(a.next),a=n=o),a=a.next}while(a!==n);return _o(a)}function qE(n,t,a,l,o,c){let d=n;do{let m=d.next.next;for(;m!==d.prev;){if(d.i!==m.i&&FE(d,m)){let p=W_(d,m);d=_o(d,d.next),p=_o(p,p.next),hd(d,t,a,l,o,c,0),hd(p,t,a,l,o,c,0);return}m=m.next}d=d.next}while(d!==n)}function LE(n,t,a,l){const o=[];for(let c=0,d=t.length;c<d;c++){const m=t[c]*l,p=c<d-1?t[c+1]*l:n.length,g=Z_(n,m,p,l,!1);g===g.next&&(g.steiner=!0),o.push(JE(g))}o.sort(XE);for(let c=0;c<o.length;c++)a=VE(o[c],a);return a}function XE(n,t){let a=n.x-t.x;if(a===0&&(a=n.y-t.y,a===0)){const l=(n.next.y-n.y)/(n.next.x-n.x),o=(t.next.y-t.y)/(t.next.x-t.x);a=l-o}return a}function VE(n,t){const a=kE(n,t);if(!a)return t;const l=W_(a,n);return _o(l,l.next),_o(a,a.next)}function kE(n,t){let a=t;const l=n.x,o=n.y;let c=-1/0,d;if(lf(n,a))return a;do{if(lf(n,a.next))return a.next;if(o<=a.y&&o>=a.next.y&&a.next.y!==a.y){const b=a.x+(o-a.y)*(a.next.x-a.x)/(a.next.y-a.y);if(b<=l&&b>c&&(c=b,d=a.x<a.next.x?a:a.next,b===l))return d}a=a.next}while(a!==t);if(!d)return null;const m=d,p=d.x,g=d.y;let x=1/0;a=d;do{if(l>=a.x&&a.x>=p&&l!==a.x&&J_(o<g?l:c,o,p,g,o<g?c:l,o,a.x,a.y)){const b=Math.abs(o-a.y)/(l-a.x);dd(a,n)&&(b<x||b===x&&(a.x>d.x||a.x===d.x&&QE(d,a)))&&(d=a,x=b)}a=a.next}while(a!==m);return d}function QE(n,t){return Pe(n.prev,n,t.prev)<0&&Pe(t.next,n,n.next)<0}function KE(n,t,a,l){let o=n;do o.z===0&&(o.z=Ly(o.x,o.y,t,a,l)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next;while(o!==n);o.prevZ.nextZ=null,o.prevZ=null,ZE(o)}function ZE(n){let t,a=1;do{let l=n,o;n=null;let c=null;for(t=0;l;){t++;let d=l,m=0;for(let g=0;g<a&&(m++,d=d.nextZ,!!d);g++);let p=a;for(;m>0||p>0&&d;)m!==0&&(p===0||!d||l.z<=d.z)?(o=l,l=l.nextZ,m--):(o=d,d=d.nextZ,p--),c?c.nextZ=o:n=o,o.prevZ=c,c=o;l=d}c.nextZ=null,a*=2}while(t>1);return n}function Ly(n,t,a,l,o){return n=(n-a)*o|0,t=(t-l)*o|0,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,n|t<<1}function JE(n){let t=n,a=n;do(t.x<a.x||t.x===a.x&&t.y<a.y)&&(a=t),t=t.next;while(t!==n);return a}function J_(n,t,a,l,o,c,d,m){return(o-d)*(t-m)>=(n-d)*(c-m)&&(n-d)*(l-m)>=(a-d)*(t-m)&&(a-d)*(c-m)>=(o-d)*(l-m)}function ad(n,t,a,l,o,c,d,m){return!(n===d&&t===m)&&J_(n,t,a,l,o,c,d,m)}function FE(n,t){return n.next.i!==t.i&&n.prev.i!==t.i&&!WE(n,t)&&(dd(n,t)&&dd(t,n)&&PE(n,t)&&(Pe(n.prev,n,t.prev)||Pe(n,t.prev,t))||lf(n,t)&&Pe(n.prev,n,n.next)>0&&Pe(t.prev,t,t.next)>0)}function Pe(n,t,a){return(t.y-n.y)*(a.x-t.x)-(t.x-n.x)*(a.y-t.y)}function lf(n,t){return n.x===t.x&&n.y===t.y}function F_(n,t,a,l){const o=hp(Pe(n,t,a)),c=hp(Pe(n,t,l)),d=hp(Pe(a,l,n)),m=hp(Pe(a,l,t));return!!(o!==c&&d!==m||o===0&&fp(n,a,t)||c===0&&fp(n,l,t)||d===0&&fp(a,n,l)||m===0&&fp(a,t,l))}function fp(n,t,a){return t.x<=Math.max(n.x,a.x)&&t.x>=Math.min(n.x,a.x)&&t.y<=Math.max(n.y,a.y)&&t.y>=Math.min(n.y,a.y)}function hp(n){return n>0?1:n<0?-1:0}function WE(n,t){let a=n;do{if(a.i!==n.i&&a.next.i!==n.i&&a.i!==t.i&&a.next.i!==t.i&&F_(a,a.next,n,t))return!0;a=a.next}while(a!==n);return!1}function dd(n,t){return Pe(n.prev,n,n.next)<0?Pe(n,t,n.next)>=0&&Pe(n,n.prev,t)>=0:Pe(n,t,n.prev)<0||Pe(n,n.next,t)<0}function PE(n,t){let a=n,l=!1;const o=(n.x+t.x)/2,c=(n.y+t.y)/2;do a.y>c!=a.next.y>c&&a.next.y!==a.y&&o<(a.next.x-a.x)*(c-a.y)/(a.next.y-a.y)+a.x&&(l=!l),a=a.next;while(a!==n);return l}function W_(n,t){const a=Xy(n.i,n.x,n.y),l=Xy(t.i,t.x,t.y),o=n.next,c=t.prev;return n.next=t,t.prev=n,a.next=o,o.prev=a,l.next=a,a.prev=l,c.next=l,l.prev=c,l}function E1(n,t,a,l){const o=Xy(n,t,a);return l?(o.next=l.next,o.prev=l,l.next.prev=o,l.next=o):(o.prev=o,o.next=o),o}function md(n){n.next.prev=n.prev,n.prev.next=n.next,n.prevZ&&(n.prevZ.nextZ=n.nextZ),n.nextZ&&(n.nextZ.prevZ=n.prevZ)}function Xy(n,t,a){return{i:n,x:t,y:a,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function IE(n,t,a,l){let o=0;for(let c=t,d=a-l;c<a;c+=l)o+=(n[d]-n[c])*(n[c+1]+n[d+1]),d=c;return o}const $E=T1.default||T1;var P_=(n=>(n[n.NONE=0]="NONE",n[n.COLOR=16384]="COLOR",n[n.STENCIL=1024]="STENCIL",n[n.DEPTH=256]="DEPTH",n[n.COLOR_DEPTH=16640]="COLOR_DEPTH",n[n.COLOR_STENCIL=17408]="COLOR_STENCIL",n[n.DEPTH_STENCIL=1280]="DEPTH_STENCIL",n[n.ALL=17664]="ALL",n))(P_||{});class t4{constructor(t){this.items=[],this._name=t}emit(t,a,l,o,c,d,m,p){const{name:g,items:x}=this;for(let b=0,E=x.length;b<E;b++)x[b][g](t,a,l,o,c,d,m,p);return this}add(t){return t[this._name]&&(this.remove(t),this.items.push(t)),this}remove(t){const a=this.items.indexOf(t);return a!==-1&&this.items.splice(a,1),this}contains(t){return this.items.indexOf(t)!==-1}removeAll(){return this.items.length=0,this}destroy(){this.removeAll(),this.items=null,this._name=null}get empty(){return this.items.length===0}get name(){return this._name}}const e4=["init","destroy","contextChange","resolutionChange","resetState","renderEnd","renderStart","render","update","postrender","prerender"],I_=class $_ extends _s{constructor(t){super(),this.tick=0,this.uid=on("renderer"),this.runners=Object.create(null),this.renderPipes=Object.create(null),this._initOptions={},this._systemsHash=Object.create(null),this.type=t.type,this.name=t.name,this.config=t;const a=[...e4,...this.config.runners??[]];this._addRunners(...a),this._unsafeEvalCheck()}async init(t={}){const a=t.skipExtensionImports===!0?!0:t.manageImports===!1;await UE(a),this._addSystems(this.config.systems),this._addPipes(this.config.renderPipes,this.config.renderPipeAdaptors);for(const l in this._systemsHash)t={...this._systemsHash[l].constructor.defaultOptions,...t};t={...$_.defaultOptions,...t},this._roundPixels=t.roundPixels?1:0;for(let l=0;l<this.runners.init.items.length;l++)await this.runners.init.items[l].init(t);this._initOptions=t}render(t,a){this.tick++;let l=t;if(l instanceof $n&&(l={container:l},a&&(de(un,"passing a second argument is deprecated, please use render options instead"),l.target=a.renderTexture)),l.target||(l.target=this.view.renderTarget),l.target===this.view.renderTarget&&(this._lastObjectRendered=l.container,l.clearColor??(l.clearColor=this.background.colorRgba),l.clear??(l.clear=this.background.clearBeforeRender)),l.clearColor){const o=Array.isArray(l.clearColor)&&l.clearColor.length===4;l.clearColor=o?l.clearColor:zn.shared.setValue(l.clearColor).toArray()}l.transform||(l.container.updateLocalTransform(),l.transform=l.container.localTransform),l.container.visible&&(l.container.enableRenderGroup(),this.runners.prerender.emit(l),this.runners.renderStart.emit(l),this.runners.render.emit(l),this.runners.renderEnd.emit(l),this.runners.postrender.emit(l))}resize(t,a,l){const o=this.view.resolution;this.view.resize(t,a,l),this.emit("resize",this.view.screen.width,this.view.screen.height,this.view.resolution),l!==void 0&&l!==o&&this.runners.resolutionChange.emit(l)}clear(t={}){const a=this;t.target||(t.target=a.renderTarget.renderTarget),t.clearColor||(t.clearColor=this.background.colorRgba),t.clear??(t.clear=P_.ALL);const{clear:l,clearColor:o,target:c,mipLevel:d,layer:m}=t;zn.shared.setValue(o??this.background.colorRgba),a.renderTarget.clear(c,l,zn.shared.toArray(),d??0,m??0)}get resolution(){return this.view.resolution}set resolution(t){this.view.resolution=t,this.runners.resolutionChange.emit(t)}get width(){return this.view.texture.frame.width}get height(){return this.view.texture.frame.height}get canvas(){return this.view.canvas}get lastObjectRendered(){return this._lastObjectRendered}get renderingToScreen(){return this.renderTarget.renderingToScreen}get screen(){return this.view.screen}_addRunners(...t){t.forEach(a=>{this.runners[a]=new t4(a)})}_addSystems(t){let a;for(a in t){const l=t[a];this._addSystem(l.value,l.name)}}_addSystem(t,a){const l=new t(this);if(this[a])throw new Error(`Whoops! The name "${a}" is already in use`);this[a]=l,this._systemsHash[a]=l;for(const o in this.runners)this.runners[o].add(l);return this}_addPipes(t,a){const l=a.reduce((o,c)=>(o[c.name]=c.value,o),{});t.forEach(o=>{const c=o.value,d=o.name,m=l[d];this.renderPipes[d]=new c(this,m?new m:null),this.runners.destroy.add(this.renderPipes[d])})}destroy(t=!1){this.runners.destroy.items.reverse(),this.runners.destroy.emit(t),(t===!0||typeof t=="object"&&t.releaseGlobalResources)&&xd.release(),Object.values(this.runners).forEach(a=>{a.destroy()}),this._systemsHash=null,this.renderPipes=null,this.removeAllListeners()}generateTexture(t){return this.textureGenerator.generateTexture(t)}get roundPixels(){return!!this._roundPixels}_unsafeEvalCheck(){if(!HE())throw new Error("Current environment does not allow unsafe-eval, please use pixi.js/unsafe-eval module to enable support.")}resetState(){this.runners.resetState.emit()}};I_.defaultOptions={resolution:1,failIfMajorPerformanceCaveat:!1,roundPixels:!1};let t2=I_,dp;function n4(n){return dp!==void 0||(dp=(()=>{var a;const t={stencil:!0,failIfMajorPerformanceCaveat:n??t2.defaultOptions.failIfMajorPerformanceCaveat};try{if(!bi.get().getWebGLRenderingContext())return!1;let o=bi.get().createCanvas().getContext("webgl",t);const c=!!((a=o==null?void 0:o.getContextAttributes())!=null&&a.stencil);if(o){const d=o.getExtension("WEBGL_lose_context");d&&d.loseContext()}return o=null,c}catch{return!1}})()),dp}let mp;async function a4(n={}){return mp!==void 0||(mp=await(async()=>{const t=bi.get().getNavigator().gpu;if(!t)return!1;try{return await(await t.requestAdapter(n)).requestDevice(),!0}catch{return!1}})()),mp}const C1=["webgl","webgpu","canvas"];async function i4(n){let t=[];n.preference?(t.push(n.preference),C1.forEach(c=>{c!==n.preference&&t.push(c)})):t=C1.slice();let a,l={};for(let c=0;c<t.length;c++){const d=t[c];if(d==="webgpu"&&await a4()){const{WebGPURenderer:m}=await Pc(async()=>{const{WebGPURenderer:p}=await import("./WebGPURenderer-C1UxCrJq.js");return{WebGPURenderer:p}},__vite__mapDeps([2,3,4]));a=m,l={...n,...n.webgpu};break}else if(d==="webgl"&&n4(n.failIfMajorPerformanceCaveat??t2.defaultOptions.failIfMajorPerformanceCaveat)){const{WebGLRenderer:m}=await Pc(async()=>{const{WebGLRenderer:p}=await import("./WebGLRenderer-C6BYo_WV.js");return{WebGLRenderer:p}},__vite__mapDeps([5,3,4]));a=m,l={...n,...n.webgl};break}else if(d==="canvas"){const{CanvasRenderer:m}=await Pc(async()=>{const{CanvasRenderer:p}=await import("./CanvasRenderer-DdWLm2t4.js");return{CanvasRenderer:p}},__vite__mapDeps([6,4]));a=m,l={...n,...n.canvasOptions};break}}if(delete l.webgpu,delete l.webgl,delete l.canvasOptions,!a)throw new Error("No available renderer for the current environment");const o=new a;return await o.init(l),o}const e2="8.17.0";class n2{static init(){var t;(t=globalThis.__PIXI_APP_INIT__)==null||t.call(globalThis,this,e2)}static destroy(){}}n2.extension=Wt.Application;class l4{constructor(t){this._renderer=t}init(){var t;(t=globalThis.__PIXI_RENDERER_INIT__)==null||t.call(globalThis,this._renderer,e2)}destroy(){this._renderer=null}}l4.extension={type:[Wt.WebGLSystem,Wt.WebGPUSystem],name:"initHook",priority:-10};class a2{static init(t){Object.defineProperty(this,"resizeTo",{configurable:!0,set(a){globalThis.removeEventListener("resize",this.queueResize),this._resizeTo=a,a&&(globalThis.addEventListener("resize",this.queueResize),this.resize())},get(){return this._resizeTo}}),this.queueResize=()=>{this._resizeTo&&(this._cancelResize(),this._resizeId=requestAnimationFrame(()=>this.resize()))},this._cancelResize=()=>{this._resizeId&&(cancelAnimationFrame(this._resizeId),this._resizeId=null)},this.resize=()=>{if(!this._resizeTo)return;this._cancelResize();let a,l;if(this._resizeTo===globalThis.window)a=globalThis.innerWidth,l=globalThis.innerHeight;else{const{clientWidth:o,clientHeight:c}=this._resizeTo;a=o,l=c}this.renderer.resize(a,l),this.render()},this._resizeId=null,this._resizeTo=null,this.resizeTo=t.resizeTo||null}static destroy(){globalThis.removeEventListener("resize",this.queueResize),this._cancelResize(),this._cancelResize=null,this.queueResize=null,this.resizeTo=null,this.resize=null}}a2.extension=Wt.Application;class i2{static init(t){t=Object.assign({autoStart:!0,sharedTicker:!1},t),Object.defineProperty(this,"ticker",{configurable:!0,set(a){this._ticker&&this._ticker.remove(this.render,this),this._ticker=a,a&&a.add(this.render,this,wp.LOW)},get(){return this._ticker}}),this.stop=()=>{this._ticker.stop()},this.start=()=>{this._ticker.start()},this._ticker=null,this.ticker=t.sharedTicker?Jc.shared:new Jc,t.autoStart&&this.start()}static destroy(){if(this._ticker){const t=this._ticker;this.ticker=null,t.destroy()}}}i2.extension=Wt.Application;Ie.add(a2);Ie.add(i2);const l2=class Vy{constructor(...t){this.stage=new $n,t[0]!==void 0&&de(un,"Application constructor options are deprecated, please use Application.init() instead.")}async init(t){t={...t},this.stage||(this.stage=new $n),this.renderer=await i4(t),Vy._plugins.forEach(a=>{a.init.call(this,t)})}render(){this.renderer.render({container:this.stage})}get canvas(){return this.renderer.canvas}get view(){return de(un,"Application.view is deprecated, please use Application.canvas instead."),this.renderer.canvas}get screen(){return this.renderer.screen}destroy(t=!1,a=!1){const l=Vy._plugins.slice(0);l.reverse(),l.forEach(o=>{o.destroy.call(this)}),this.stage.destroy(a),this.stage=null,this.renderer.destroy(t),this.renderer=null}};l2._plugins=[];let mg=l2;Ie.handleByList(Wt.Application,mg._plugins);Ie.add(n2);var cy,A1;function s4(){if(A1)return cy;A1=1,cy=a;var n={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},t=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function a(c){var d=[];return c.replace(t,function(m,p,g){var x=p.toLowerCase();for(g=o(g),x=="m"&&g.length>2&&(d.push([p].concat(g.splice(0,2))),x="l",p=p=="m"?"l":"L");;){if(g.length==n[x])return g.unshift(p),d.push(g);if(g.length<n[x])throw new Error("malformed path data");d.push([p].concat(g.splice(0,n[x])))}}),d}var l=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/ig;function o(c){var d=c.match(l);return d?d.map(Number):[]}return cy}var r4=s4();const u4=Hp(r4);function o4(n,t){const a=u4(n),l=[];let o=null,c=0,d=0;for(let m=0;m<a.length;m++){const p=a[m],g=p[0],x=p;switch(g){case"M":c=x[1],d=x[2],t.moveTo(c,d);break;case"m":c+=x[1],d+=x[2],t.moveTo(c,d);break;case"H":c=x[1],t.lineTo(c,d);break;case"h":c+=x[1],t.lineTo(c,d);break;case"V":d=x[1],t.lineTo(c,d);break;case"v":d+=x[1],t.lineTo(c,d);break;case"L":c=x[1],d=x[2],t.lineTo(c,d);break;case"l":c+=x[1],d+=x[2],t.lineTo(c,d);break;case"C":c=x[5],d=x[6],t.bezierCurveTo(x[1],x[2],x[3],x[4],c,d);break;case"c":t.bezierCurveTo(c+x[1],d+x[2],c+x[3],d+x[4],c+x[5],d+x[6]),c+=x[5],d+=x[6];break;case"S":c=x[3],d=x[4],t.bezierCurveToShort(x[1],x[2],c,d);break;case"s":t.bezierCurveToShort(c+x[1],d+x[2],c+x[3],d+x[4]),c+=x[3],d+=x[4];break;case"Q":c=x[3],d=x[4],t.quadraticCurveTo(x[1],x[2],c,d);break;case"q":t.quadraticCurveTo(c+x[1],d+x[2],c+x[3],d+x[4]),c+=x[3],d+=x[4];break;case"T":c=x[1],d=x[2],t.quadraticCurveToShort(c,d);break;case"t":c+=x[1],d+=x[2],t.quadraticCurveToShort(c,d);break;case"A":c=x[6],d=x[7],t.arcToSvg(x[1],x[2],x[3],x[4],x[5],c,d);break;case"a":c+=x[6],d+=x[7],t.arcToSvg(x[1],x[2],x[3],x[4],x[5],c,d);break;case"Z":case"z":t.closePath(),l.length>0&&(o=l.pop(),o?(c=o.startX,d=o.startY):(c=0,d=0)),o=null;break;default:Ya(`Unknown SVG path command: ${g}`)}g!=="Z"&&g!=="z"&&o===null&&(o={startX:c,startY:d},l.push(o))}return t}class pg{constructor(t=0,a=0,l=0){this.type="circle",this.x=t,this.y=a,this.radius=l}clone(){return new pg(this.x,this.y,this.radius)}contains(t,a){if(this.radius<=0)return!1;const l=this.radius*this.radius;let o=this.x-t,c=this.y-a;return o*=o,c*=c,o+c<=l}strokeContains(t,a,l,o=.5){if(this.radius===0)return!1;const c=this.x-t,d=this.y-a,m=this.radius,p=(1-o)*l,g=Math.sqrt(c*c+d*d);return g<=m+p&&g>m-(l-p)}getBounds(t){return t||(t=new mn),t.x=this.x-this.radius,t.y=this.y-this.radius,t.width=this.radius*2,t.height=this.radius*2,t}copyFrom(t){return this.x=t.x,this.y=t.y,this.radius=t.radius,this}copyTo(t){return t.copyFrom(this),t}toString(){return`[pixi.js/math:Circle x=${this.x} y=${this.y} radius=${this.radius}]`}}class yg{constructor(t=0,a=0,l=0,o=0){this.type="ellipse",this.x=t,this.y=a,this.halfWidth=l,this.halfHeight=o}clone(){return new yg(this.x,this.y,this.halfWidth,this.halfHeight)}contains(t,a){if(this.halfWidth<=0||this.halfHeight<=0)return!1;let l=(t-this.x)/this.halfWidth,o=(a-this.y)/this.halfHeight;return l*=l,o*=o,l+o<=1}strokeContains(t,a,l,o=.5){const{halfWidth:c,halfHeight:d}=this;if(c<=0||d<=0)return!1;const m=l*(1-o),p=l-m,g=c-p,x=d-p,b=c+m,E=d+m,C=t-this.x,M=a-this.y,z=C*C/(g*g)+M*M/(x*x),R=C*C/(b*b)+M*M/(E*E);return z>1&&R<=1}getBounds(t){return t||(t=new mn),t.x=this.x-this.halfWidth,t.y=this.y-this.halfHeight,t.width=this.halfWidth*2,t.height=this.halfHeight*2,t}copyFrom(t){return this.x=t.x,this.y=t.y,this.halfWidth=t.halfWidth,this.halfHeight=t.halfHeight,this}copyTo(t){return t.copyFrom(this),t}toString(){return`[pixi.js/math:Ellipse x=${this.x} y=${this.y} halfWidth=${this.halfWidth} halfHeight=${this.halfHeight}]`}}function c4(n,t,a,l,o,c){const d=n-a,m=t-l,p=o-a,g=c-l,x=d*p+m*g,b=p*p+g*g;let E=-1;b!==0&&(E=x/b);let C,M;E<0?(C=a,M=l):E>1?(C=o,M=c):(C=a+E*p,M=l+E*g);const z=n-C,R=t-M;return z*z+R*R}let f4,h4;class rd{constructor(...t){this.type="polygon";let a=Array.isArray(t[0])?t[0]:t;if(typeof a[0]!="number"){const l=[];for(let o=0,c=a.length;o<c;o++)l.push(a[o].x,a[o].y);a=l}this.points=a,this.closePath=!0}isClockwise(){let t=0;const a=this.points,l=a.length;for(let o=0;o<l;o+=2){const c=a[o],d=a[o+1],m=a[(o+2)%l],p=a[(o+3)%l];t+=(m-c)*(p+d)}return t<0}containsPolygon(t){const a=this.getBounds(f4),l=t.getBounds(h4);if(!a.containsRect(l))return!1;const o=t.points;for(let c=0;c<o.length;c+=2){const d=o[c],m=o[c+1];if(!this.contains(d,m))return!1}return!0}clone(){const t=this.points.slice(),a=new rd(t);return a.closePath=this.closePath,a}contains(t,a){let l=!1;const o=this.points.length/2;for(let c=0,d=o-1;c<o;d=c++){const m=this.points[c*2],p=this.points[c*2+1],g=this.points[d*2],x=this.points[d*2+1];p>a!=x>a&&t<(g-m)*((a-p)/(x-p))+m&&(l=!l)}return l}strokeContains(t,a,l,o=.5){const c=l*l,d=c*(1-o),m=c-d,{points:p}=this,g=p.length-(this.closePath?0:2);for(let x=0;x<g;x+=2){const b=p[x],E=p[x+1],C=p[(x+2)%p.length],M=p[(x+3)%p.length],z=c4(t,a,b,E,C,M),R=Math.sign((C-b)*(a-E)-(M-E)*(t-b));if(z<=(R<0?m:d))return!0}return!1}getBounds(t){t||(t=new mn);const a=this.points;let l=1/0,o=-1/0,c=1/0,d=-1/0;for(let m=0,p=a.length;m<p;m+=2){const g=a[m],x=a[m+1];l=g<l?g:l,o=g>o?g:o,c=x<c?x:c,d=x>d?x:d}return t.x=l,t.width=o-l,t.y=c,t.height=d-c,t}copyFrom(t){return this.points=t.points.slice(),this.closePath=t.closePath,this}copyTo(t){return t.copyFrom(this),t}toString(){return`[pixi.js/math:PolygoncloseStroke=${this.closePath}points=${this.points.reduce((t,a)=>`${t}, ${a}`,"")}]`}get lastX(){return this.points[this.points.length-2]}get lastY(){return this.points[this.points.length-1]}get x(){return de("8.11.0","Polygon.lastX is deprecated, please use Polygon.lastX instead."),this.points[this.points.length-2]}get y(){return de("8.11.0","Polygon.y is deprecated, please use Polygon.lastY instead."),this.points[this.points.length-1]}get startX(){return this.points[0]}get startY(){return this.points[1]}}const pp=(n,t,a,l,o,c,d)=>{const m=n-a,p=t-l,g=Math.sqrt(m*m+p*p);return g>=o-c&&g<=o+d};class gg{constructor(t=0,a=0,l=0,o=0,c=20){this.type="roundedRectangle",this.x=t,this.y=a,this.width=l,this.height=o,this.radius=c}getBounds(t){return t||(t=new mn),t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t}clone(){return new gg(this.x,this.y,this.width,this.height,this.radius)}copyFrom(t){return this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this}copyTo(t){return t.copyFrom(this),t}contains(t,a){if(this.width<=0||this.height<=0)return!1;if(t>=this.x&&t<=this.x+this.width&&a>=this.y&&a<=this.y+this.height){const l=Math.max(0,Math.min(this.radius,Math.min(this.width,this.height)/2));if(a>=this.y+l&&a<=this.y+this.height-l||t>=this.x+l&&t<=this.x+this.width-l)return!0;let o=t-(this.x+l),c=a-(this.y+l);const d=l*l;if(o*o+c*c<=d||(o=t-(this.x+this.width-l),o*o+c*c<=d)||(c=a-(this.y+this.height-l),o*o+c*c<=d)||(o=t-(this.x+l),o*o+c*c<=d))return!0}return!1}strokeContains(t,a,l,o=.5){const{x:c,y:d,width:m,height:p,radius:g}=this,x=l*(1-o),b=l-x,E=c+g,C=d+g,M=m-g*2,z=p-g*2,R=c+m,w=d+p;return(t>=c-x&&t<=c+b||t>=R-b&&t<=R+x)&&a>=C&&a<=C+z||(a>=d-x&&a<=d+b||a>=w-b&&a<=w+x)&&t>=E&&t<=E+M?!0:t<E&&a<C&&pp(t,a,E,C,g,b,x)||t>R-g&&a<C&&pp(t,a,R-g,C,g,b,x)||t>R-g&&a>w-g&&pp(t,a,R-g,w-g,g,b,x)||t<E&&a>w-g&&pp(t,a,E,w-g,g,b,x)}toString(){return`[pixi.js/math:RoundedRectangle x=${this.x} y=${this.y}width=${this.width} height=${this.height} radius=${this.radius}]`}}const s2={};function d4(n,t,a){let l=2166136261;for(let o=0;o<t;o++)l^=n[o].uid,l=Math.imul(l,16777619),l>>>=0;return s2[l]||m4(n,t,l,a)}function m4(n,t,a,l){const o={};let c=0;for(let m=0;m<l;m++){const p=m<t?n[m]:ze.EMPTY.source;o[c++]=p.source,o[c++]=p.style}const d=new Ap(o);return s2[a]=d,d}class M1{constructor(t){typeof t=="number"?this.rawBinaryData=new ArrayBuffer(t):t instanceof Uint8Array?this.rawBinaryData=t.buffer:this.rawBinaryData=t,this.uint32View=new Uint32Array(this.rawBinaryData),this.float32View=new Float32Array(this.rawBinaryData),this.size=this.rawBinaryData.byteLength}get int8View(){return this._int8View||(this._int8View=new Int8Array(this.rawBinaryData)),this._int8View}get uint8View(){return this._uint8View||(this._uint8View=new Uint8Array(this.rawBinaryData)),this._uint8View}get int16View(){return this._int16View||(this._int16View=new Int16Array(this.rawBinaryData)),this._int16View}get int32View(){return this._int32View||(this._int32View=new Int32Array(this.rawBinaryData)),this._int32View}get float64View(){return this._float64Array||(this._float64Array=new Float64Array(this.rawBinaryData)),this._float64Array}get bigUint64View(){return this._bigUint64Array||(this._bigUint64Array=new BigUint64Array(this.rawBinaryData)),this._bigUint64Array}view(t){return this[`${t}View`]}destroy(){this.rawBinaryData=null,this.uint32View=null,this.float32View=null,this.uint16View=null,this._int8View=null,this._uint8View=null,this._int16View=null,this._int32View=null,this._float64Array=null,this._bigUint64Array=null}static sizeOf(t){switch(t){case"int8":case"uint8":return 1;case"int16":case"uint16":return 2;case"int32":case"uint32":case"float32":return 4;default:throw new Error(`${t} isn't a valid view type`)}}}function R1(n,t,a,l){if(a??(a=0),l??(l=Math.min(n.byteLength-a,t.byteLength)),!(a&7)&&!(l&7)){const o=l/8;new Float64Array(t,0,o).set(new Float64Array(n,a,o))}else if(!(a&3)&&!(l&3)){const o=l/4;new Float32Array(t,0,o).set(new Float32Array(n,a,o))}else new Uint8Array(t).set(new Uint8Array(n,a,l))}const p4={normal:"normal-npm",add:"add-npm",screen:"screen-npm"};var y4=(n=>(n[n.DISABLED=0]="DISABLED",n[n.RENDERING_MASK_ADD=1]="RENDERING_MASK_ADD",n[n.MASK_ACTIVE=2]="MASK_ACTIVE",n[n.INVERSE_MASK_ACTIVE=3]="INVERSE_MASK_ACTIVE",n[n.RENDERING_MASK_REMOVE=4]="RENDERING_MASK_REMOVE",n[n.NONE=5]="NONE",n))(y4||{});function z1(n,t){return t.alphaMode==="no-premultiply-alpha"&&p4[n]||n}const g4=["precision mediump float;","void main(void){","float test = 0.1;","%forloop%","gl_FragColor = vec4(0.0);","}"].join(`
83
83
  `);function v4(n){let t="";for(let a=0;a<n;++a)a>0&&(t+=`
84
84
  else `),a<n-1&&(t+=`if(test == ${a}.0){}`);return t}function x4(n,t){if(n===0)throw new Error("Invalid value of `0` passed to `checkMaxIfStatementsInShader`");const a=t.createShader(t.FRAGMENT_SHADER);try{for(;;){const l=g4.replace(/%forloop%/gi,v4(n));if(t.shaderSource(a,l),t.compileShader(a),!t.getShaderParameter(a,t.COMPILE_STATUS))n=n/2|0;else break}}finally{t.deleteShader(a)}return n}let Lc=null;function _4(){var t;if(Lc)return Lc;const n=Y_();return Lc=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),Lc=x4(Lc,n),(t=n.getExtension("WEBGL_lose_context"))==null||t.loseContext(),Lc}class S4{constructor(){this.ids=Object.create(null),this.textures=[],this.count=0}clear(){for(let t=0;t<this.count;t++){const a=this.textures[t];this.textures[t]=null,this.ids[a.uid]=null}this.count=0}}class b4{constructor(){this.renderPipeId="batch",this.action="startBatch",this.start=0,this.size=0,this.textures=new S4,this.blendMode="normal",this.topology="triangle-strip",this.canBundle=!0}destroy(){this.textures=null,this.gpuBindGroup=null,this.bindGroup=null,this.batcher=null,this.elements=null}}const ud=[];let Dp=0;xd.register({clear:()=>{if(ud.length>0)for(const n of ud)n&&n.destroy();ud.length=0,Dp=0}});function w1(){return Dp>0?ud[--Dp]:new b4}function D1(n){n.elements=null,ud[Dp++]=n}let Wh=0;const r2=class u2{constructor(t){this.uid=on("batcher"),this.dirty=!0,this.batchIndex=0,this.batches=[],this._elements=[],t={...u2.defaultOptions,...t},t.maxTextures||(de("v8.8.0","maxTextures is a required option for Batcher now, please pass it in the options"),t.maxTextures=_4());const{maxTextures:a,attributesInitialSize:l,indicesInitialSize:o}=t;this.attributeBuffer=new M1(l*4),this.indexBuffer=new Uint16Array(o),this.maxTextures=a}begin(){this.elementSize=0,this.elementStart=0,this.indexSize=0,this.attributeSize=0;for(let t=0;t<this.batchIndex;t++)D1(this.batches[t]);this.batchIndex=0,this._batchIndexStart=0,this._batchIndexSize=0,this.dirty=!0}add(t){this._elements[this.elementSize++]=t,t._indexStart=this.indexSize,t._attributeStart=this.attributeSize,t._batcher=this,this.indexSize+=t.indexSize,this.attributeSize+=t.attributeSize*this.vertexSize}checkAndUpdateTexture(t,a){const l=t._batch.textures.ids[a._source.uid];return!l&&l!==0?!1:(t._textureId=l,t.texture=a,!0)}updateElement(t){this.dirty=!0;const a=this.attributeBuffer;t.packAsQuad?this.packQuadAttributes(t,a.float32View,a.uint32View,t._attributeStart,t._textureId):this.packAttributes(t,a.float32View,a.uint32View,t._attributeStart,t._textureId)}break(t){const a=this._elements;if(!a[this.elementStart])return;let l=w1(),o=l.textures;o.clear();const c=a[this.elementStart];let d=z1(c.blendMode,c.texture._source),m=c.topology;this.attributeSize*4>this.attributeBuffer.size&&this._resizeAttributeBuffer(this.attributeSize*4),this.indexSize>this.indexBuffer.length&&this._resizeIndexBuffer(this.indexSize);const p=this.attributeBuffer.float32View,g=this.attributeBuffer.uint32View,x=this.indexBuffer;let b=this._batchIndexSize,E=this._batchIndexStart,C="startBatch",M=[];const z=this.maxTextures;for(let R=this.elementStart;R<this.elementSize;++R){const w=a[R];a[R]=null;const U=w.texture._source,Y=z1(w.blendMode,U),k=d!==Y||m!==w.topology;if(U._batchTick===Wh&&!k){w._textureId=U._textureBindLocation,b+=w.indexSize,w.packAsQuad?(this.packQuadAttributes(w,p,g,w._attributeStart,w._textureId),this.packQuadIndex(x,w._indexStart,w._attributeStart/this.vertexSize)):(this.packAttributes(w,p,g,w._attributeStart,w._textureId),this.packIndex(w,x,w._indexStart,w._attributeStart/this.vertexSize)),w._batch=l,M.push(w);continue}U._batchTick=Wh,(o.count>=z||k)&&(this._finishBatch(l,E,b-E,o,d,m,t,C,M),C="renderBatch",E=b,d=Y,m=w.topology,l=w1(),o=l.textures,o.clear(),M=[],++Wh),w._textureId=U._textureBindLocation=o.count,o.ids[U.uid]=o.count,o.textures[o.count++]=U,w._batch=l,M.push(w),b+=w.indexSize,w.packAsQuad?(this.packQuadAttributes(w,p,g,w._attributeStart,w._textureId),this.packQuadIndex(x,w._indexStart,w._attributeStart/this.vertexSize)):(this.packAttributes(w,p,g,w._attributeStart,w._textureId),this.packIndex(w,x,w._indexStart,w._attributeStart/this.vertexSize))}o.count>0&&(this._finishBatch(l,E,b-E,o,d,m,t,C,M),E=b,++Wh),this.elementStart=this.elementSize,this._batchIndexStart=E,this._batchIndexSize=b}_finishBatch(t,a,l,o,c,d,m,p,g){t.gpuBindGroup=null,t.bindGroup=null,t.action=p,t.batcher=this,t.textures=o,t.blendMode=c,t.topology=d,t.start=a,t.size=l,t.elements=g,++Wh,this.batches[this.batchIndex++]=t,m.add(t)}finish(t){this.break(t)}ensureAttributeBuffer(t){t*4<=this.attributeBuffer.size||this._resizeAttributeBuffer(t*4)}ensureIndexBuffer(t){t<=this.indexBuffer.length||this._resizeIndexBuffer(t)}_resizeAttributeBuffer(t){const a=Math.max(t,this.attributeBuffer.size*2),l=new M1(a);R1(this.attributeBuffer.rawBinaryData,l.rawBinaryData),this.attributeBuffer=l}_resizeIndexBuffer(t){const a=this.indexBuffer;let l=Math.max(t,a.length*1.5);l+=l%2;const o=l>65535?new Uint32Array(l):new Uint16Array(l);if(o.BYTES_PER_ELEMENT!==a.BYTES_PER_ELEMENT)for(let c=0;c<a.length;c++)o[c]=a[c];else R1(a.buffer,o.buffer);this.indexBuffer=o}packQuadIndex(t,a,l){t[a]=l+0,t[a+1]=l+1,t[a+2]=l+2,t[a+3]=l+0,t[a+4]=l+2,t[a+5]=l+3}packIndex(t,a,l,o){const c=t.indices,d=t.indexSize,m=t.indexOffset,p=t.attributeOffset;for(let g=0;g<d;g++)a[l++]=o+c[g+m]-p}destroy(t={}){var a;if(this.batches!==null){for(let l=0;l<this.batchIndex;l++)D1(this.batches[l]);this.batches=null,this.geometry.destroy(!0),this.geometry=null,t.shader&&((a=this.shader)==null||a.destroy(),this.shader=null);for(let l=0;l<this._elements.length;l++)this._elements[l]&&(this._elements[l]._batch=null);this._elements=null,this.indexBuffer=null,this.attributeBuffer.destroy(),this.attributeBuffer=null}}};r2.defaultOptions={maxTextures:null,attributesInitialSize:4,indicesInitialSize:6};let T4=r2;var ei=(n=>(n[n.MAP_READ=1]="MAP_READ",n[n.MAP_WRITE=2]="MAP_WRITE",n[n.COPY_SRC=4]="COPY_SRC",n[n.COPY_DST=8]="COPY_DST",n[n.INDEX=16]="INDEX",n[n.VERTEX=32]="VERTEX",n[n.UNIFORM=64]="UNIFORM",n[n.STORAGE=128]="STORAGE",n[n.INDIRECT=256]="INDIRECT",n[n.QUERY_RESOLVE=512]="QUERY_RESOLVE",n[n.STATIC=1024]="STATIC",n))(ei||{});class pd extends _s{constructor(t){let{data:a,size:l}=t;const{usage:o,label:c,shrinkToFit:d}=t;super(),this._gpuData=Object.create(null),this._gcLastUsed=-1,this.autoGarbageCollect=!0,this.uid=on("buffer"),this._resourceType="buffer",this._resourceId=on("resource"),this._touched=0,this._updateID=1,this._dataInt32=null,this.shrinkToFit=!0,this.destroyed=!1,a instanceof Array&&(a=new Float32Array(a)),this._data=a,l??(l=a==null?void 0:a.byteLength);const m=!!a;this.descriptor={size:l,usage:o,mappedAtCreation:m,label:c},this.shrinkToFit=d??!0}get data(){return this._data}set data(t){this.setDataWithSize(t,t.length,!0)}get dataInt32(){return this._dataInt32||(this._dataInt32=new Int32Array(this.data.buffer)),this._dataInt32}get static(){return!!(this.descriptor.usage&ei.STATIC)}set static(t){t?this.descriptor.usage|=ei.STATIC:this.descriptor.usage&=~ei.STATIC}setDataWithSize(t,a,l){if(this._updateID++,this._updateSize=a*t.BYTES_PER_ELEMENT,this._data===t){l&&this.emit("update",this);return}const o=this._data;if(this._data=t,this._dataInt32=null,!o||o.length!==t.length){!this.shrinkToFit&&o&&t.byteLength<o.byteLength?l&&this.emit("update",this):(this.descriptor.size=t.byteLength,this._resourceId=on("resource"),this.emit("change",this));return}l&&this.emit("update",this)}update(t){this._updateSize=t??this._updateSize,this._updateID++,this.emit("update",this)}unload(){var t;this.emit("unload",this);for(const a in this._gpuData)(t=this._gpuData[a])==null||t.destroy();this._gpuData=Object.create(null)}destroy(){this.destroyed=!0,this.unload(),this.emit("destroy",this),this.emit("change",this),this._data=null,this.descriptor=null,this.removeAllListeners()}}function o2(n,t){if(!(n instanceof pd)){let a=t?ei.INDEX:ei.VERTEX;n instanceof Array&&(t?(n=new Uint32Array(n),a=ei.INDEX|ei.COPY_DST):(n=new Float32Array(n),a=ei.VERTEX|ei.COPY_DST)),n=new pd({data:n,label:t?"index-mesh-buffer":"vertex-mesh-buffer",usage:a})}return n}function E4(n,t,a){const l=n.getAttribute(t);if(!l)return a.minX=0,a.minY=0,a.maxX=0,a.maxY=0,a;const o=l.buffer.data;let c=1/0,d=1/0,m=-1/0,p=-1/0;const g=o.BYTES_PER_ELEMENT,x=(l.offset||0)/g,b=(l.stride||8)/g;for(let E=x;E<o.length;E+=b){const C=o[E],M=o[E+1];C>m&&(m=C),M>p&&(p=M),C<c&&(c=C),M<d&&(d=M)}return a.minX=c,a.minY=d,a.maxX=m,a.maxY=p,a}function C4(n){return(n instanceof pd||Array.isArray(n)||n.BYTES_PER_ELEMENT)&&(n={buffer:n}),n.buffer=o2(n.buffer,!1),n}class A4 extends _s{constructor(t={}){super(),this._gpuData=Object.create(null),this.autoGarbageCollect=!0,this._gcLastUsed=-1,this.uid=on("geometry"),this._layoutKey=0,this.instanceCount=1,this._bounds=new Ii,this._boundsDirty=!0;const{attributes:a,indexBuffer:l,topology:o}=t;if(this.buffers=[],this.attributes={},a)for(const c in a)this.addAttribute(c,a[c]);this.instanceCount=t.instanceCount??1,l&&this.addIndex(l),this.topology=o||"triangle-list"}onBufferUpdate(){this._boundsDirty=!0,this.emit("update",this)}getAttribute(t){return this.attributes[t]}getIndex(){return this.indexBuffer}getBuffer(t){return this.getAttribute(t).buffer}getSize(){for(const t in this.attributes){const a=this.attributes[t];return a.buffer.data.length/(a.stride/4||a.size)}return 0}addAttribute(t,a){const l=C4(a);this.buffers.indexOf(l.buffer)===-1&&(this.buffers.push(l.buffer),l.buffer.on("update",this.onBufferUpdate,this),l.buffer.on("change",this.onBufferUpdate,this)),this.attributes[t]=l}addIndex(t){this.indexBuffer=o2(t,!0),this.buffers.push(this.indexBuffer)}get bounds(){return this._boundsDirty?(this._boundsDirty=!1,E4(this,"aPosition",this._bounds)):this._bounds}unload(){var t;this.emit("unload",this);for(const a in this._gpuData)(t=this._gpuData[a])==null||t.destroy();this._gpuData=Object.create(null)}destroy(t=!1){var a;this.emit("destroy",this),this.removeAllListeners(),t&&this.buffers.forEach(l=>l.destroy()),this.unload(),(a=this.indexBuffer)==null||a.destroy(),this.attributes=null,this.buffers=null,this.indexBuffer=null,this._bounds=null}}const M4=new Float32Array(1),R4=new Uint32Array(1);class z4 extends A4{constructor(){const a=new pd({data:M4,label:"attribute-batch-buffer",usage:ei.VERTEX|ei.COPY_DST,shrinkToFit:!1}),l=new pd({data:R4,label:"index-batch-buffer",usage:ei.INDEX|ei.COPY_DST,shrinkToFit:!1}),o=24;super({attributes:{aPosition:{buffer:a,format:"float32x2",stride:o,offset:0},aUV:{buffer:a,format:"float32x2",stride:o,offset:8},aColor:{buffer:a,format:"unorm8x4",stride:o,offset:16},aTextureIdAndRound:{buffer:a,format:"uint16x2",stride:o,offset:20}},indexBuffer:l})}}function O1(n,t,a){if(n)for(const l in n){const o=l.toLocaleLowerCase(),c=t[o];if(c){let d=n[l];l==="header"&&(d=d.replace(/@in\s+[^;]+;\s*/g,"").replace(/@out\s+[^;]+;\s*/g,"")),a&&c.push(`//----${a}----//`),c.push(d)}else Ya(`${l} placement hook does not exist in shader`)}}const w4=/\{\{(.*?)\}\}/g;function N1(n){var l;const t={};return(((l=n.match(w4))==null?void 0:l.map(o=>o.replace(/[{()}]/g,"")))??[]).forEach(o=>{t[o]=[]}),t}function B1(n,t){let a;const l=/@in\s+([^;]+);/g;for(;(a=l.exec(n))!==null;)t.push(a[1])}function U1(n,t,a=!1){const l=[];B1(t,l),n.forEach(m=>{m.header&&B1(m.header,l)});const o=l;a&&o.sort();const c=o.map((m,p)=>` @location(${p}) ${m},`).join(`
85
85
  `);let d=t.replace(/@in\s+[^;]+;\s*/g,"");return d=d.replace("{{in}}",`
@@ -341,4 +341,4 @@ Error generating stack: `+h.message+`
341
341
  `+(v.join(" > ")+`
342
342
 
343
343
  No matching component was found for:
344
- `)+s.join(" > ")}return null},zt.getPublicRootInstance=function(s){if(s=s.current,!s.child)return null;switch(s.child.tag){case 27:case 5:return Ur(s.child.stateNode);default:return s.child.stateNode}},zt.injectIntoDevTools=function(){var s={bundleType:0,version:uc,rendererPackageName:qu,currentDispatcherRef:Nt,findFiberByHostInstance:nh,reconcilerVersion:"19.0.0"};if(Lu!==null&&(s.rendererConfig=Lu),typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")s=!1;else{var r=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(r.isDisabled||!r.supportsFiber)s=!0;else{try{qr=r.inject(s),ua=r}catch{}s=!!r.checkDCE}}return s},zt.isAlreadyRendering=function(){return!1},zt.observeVisibleRects=function(s,r,h,v){if(!Gi)throw Error(o(363));s=Qn(s,r);var S=lh(s,h,v).disconnect;return{disconnect:function(){S()}}},zt.shouldError=function(){return null},zt.shouldSuspend=function(){return!1},zt.startHostTransition=function(s,r,h,v){if(s.tag!==5)throw Error(o(476));var S=Sf(s).queue;Ho(s,S,r,sa,h===null?l:function(){var T=Sf(s).next.queue;return Gl(s,T,{},Kn()),h(v)})},zt.updateContainer=function(s,r,h,v){var S=r.current,T=Kn();return am(S,T,s,r,h,v),T},zt.updateContainerSync=function(s,r,h,v){return r.tag===0&&vn(),am(r.current,2,s,r,h,v),2},zt},n.exports.default=n.exports,Object.defineProperty(n.exports,"__esModule",{value:!0})})(xy)),xy.exports}var vx;function d5(){return vx||(vx=1,vy.exports=h5()),vy.exports}var m5=d5();const p5=Hp(m5),y5=p5;function g5(n,t,a,l){throw new Error("Text instances are not yet supported. Please use a `<text>` component.")}function v5(){}function x5(){return!1}const L2={};function _5(n){return n??L2}function S5(){return su.currentUpdatePriority}function b5(){return null}function T5(n){throw new Error("Not yet implemented.")}function E5(n){return n}function C5(){return L2}function A5(n){n instanceof $n?n.visible=!1:n instanceof bo&&(n.enabled=!1)}function M5(n){throw new Error("Text instances are not yet supported. Please use a `<text>` component.")}function X2(n){if(n instanceof bo){const t=n.__pixireact.parent;if(t){const a=t.__pixireact.filters.indexOf(n);t.__pixireact.filters.splice(a,1),t.filters=t.__pixireact.filters}n.__pixireact.parent=null}}function V2(n,t,...a){}function xx(n,t,a){if(V2(),t instanceof $n){const l=t,o=t,c=a;l.parent===n&&n.removeChild(o);const d=n.getChildIndex(c);n.addChildAt(o,d)}else if(t instanceof bo){const c=t.__pixireact.filters.indexOf(a);X2(t),U2(n,t,c)}}function R5(){return!1}function z5(){return!0}function w5(){return null}function D5(){}function O5(){}function _x(n,t){t instanceof bo&&X2(t),t.destroy()}function N5(n){}function B5(){}function U5(){}function H5(){return-1.1}function j5(){return null}function G5(){var a;if(su.currentUpdatePriority)return su.currentUpdatePriority;const n=typeof self<"u"&&self||typeof window<"u"&&window;if(!n)return Wc.DefaultEventPriority;switch((a=n.event)==null?void 0:a.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return Wc.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return Wc.ContinuousEventPriority;default:return Wc.DefaultEventPriority}}function Y5(n){su.currentUpdatePriority=n}function q5(){return!1}function L5(){return!1}function X5(){}function V5(){}function k5(){}function Q5(n){n instanceof $n?n.visible=!0:n instanceof bo&&(n.enabled=!0)}function K5(n){throw new Error("Text instances are not yet supported. Please use a `<text>` component.")}function Z5(){return null}const J5={isPrimaryRenderer:!1,noTimeout:-1,NotPendingTransition:null,supportsHydration:!1,supportsMutation:!0,supportsPersistence:!1,warnsIfNotActing:!1,afterActiveInstanceBlur:QA,appendChild:gy,appendChildToContainer:gy,appendInitialChild:gy,beforeActiveInstanceBlur:KA,cancelTimeout:clearTimeout,clearContainer:ZA,commitUpdate:i5,createInstance:o5,createTextInstance:g5,hideTextInstance:M5,unhideTextInstance:K5,detachDeletedInstance:v5,finalizeInitialChildren:x5,getChildHostContext:_5,getCurrentUpdatePriority:S5,getInstanceFromNode:b5,getInstanceFromScope:T5,getPublicInstance:E5,getRootHostContext:C5,hideInstance:A5,insertBefore:xx,insertInContainerBefore:xx,maySuspendCommit:R5,preloadInstance:z5,prepareForCommit:w5,preparePortalMount:D5,prepareScopeUpdate:O5,removeChild:_x,removeChildFromContainer:_x,requestPostPaintCallback:N5,resetAfterCommit:B5,resetFormInstance:U5,resolveEventTimeStamp:H5,resolveEventType:j5,resolveUpdatePriority:G5,scheduleTimeout:setTimeout,shouldAttemptEagerTransition:q5,setCurrentUpdatePriority:Y5,shouldSetTextContent:L5,startSuspendingCommit:X5,suspendInstance:V5,trackSchedulerEvent:k5,unhideInstance:Q5,waitForCommitToBeReady:Z5,rendererPackageName:"@pixi/react",rendererVersion:kA.version},Up=y5(J5);Up.injectIntoDevTools();const sf=new Map;function F5(n,t={}){let a=sf.get(n),l=(a==null?void 0:a.applicationState)??{isInitialised:!1,isInitialising:!1};const o=(a==null?void 0:a.internalState)??{};a||(l.app=new mg,o.rootContainer=B2(l.app.stage));const c=(a==null?void 0:a.fiber)??Up.createContainer(o.rootContainer,Wc.ConcurrentRoot,null,!1,null,"",console.error,console.error,console.error,null);if(!a){let d;n instanceof HTMLCanvasElement&&(d=n),d||(d=document.createElement("canvas"),n.innerHTML="",n.appendChild(d)),o.canvas=d,a={applicationState:l,fiber:c,internalState:o,render:async(p,g)=>{var x;return!l.app.renderer&&!l.isInitialised&&!l.isInitialising&&(l.isInitialising=!0,await l.app.init({...g,canvas:d}),l.isInitialising=!1,l.isInitialised=!0,l={...l},(x=t.onInit)==null||x.call(t,l.app)),Object.entries(g).forEach(([b,E])=>{const C=b;N2(g,C)||(l.app[C]=E)}),Up.updateContainer(H.jsx(XA,{value:l,children:p}),c,null,()=>{}),l.app}},sf.set(d,a)}return a}function k2(n){su.unmountQueue.delete(n);const t=n.fiber;t&&Up.updateContainer(null,t,null,()=>{n.applicationState.app&&n.applicationState.app.destroy(),sf.delete(n.internalState.canvas)})}function W5(){for(const n of su.unmountQueue)k2(n)}function P5(n){const t=sf.get(n);t&&(t.applicationState.isInitialised?k2(t):su.unmountQueue.add(t))}function I5(n){const t=sf.get(n);t&&su.unmountQueue.delete(t)}var Bx,Ux;const vp=typeof window<"u"&&((Bx=window.document)!=null&&Bx.createElement||((Ux=window.navigator)==null?void 0:Ux.product)==="ReactNative")?G.useLayoutEffect:G.useEffect,$5={...So.defaultTextStyle},tM=G.forwardRef(function(t,a){const{children:l,className:o,defaultTextStyle:c,extensions:d,onInit:m,resizeTo:p,...g}=t,x=c3(),b=G.useRef(null),E=G.useRef(null),C=G.useRef(new Set);G.useImperativeHandle(a,()=>({getApplication(){return b.current},getCanvas(){return E.current}}));const M=G.useCallback(()=>{const R=b.current;R&&(p?"current"in p?p.current instanceof HTMLElement&&(R.resizeTo=p.current):R.resizeTo=p:R.resizeTo=void 0)},[p]),z=G.useCallback(R=>{W5(),b.current=R,M(),m==null||m(R)},[m]);return vp(()=>{if(d){const R=[...d],w=C.current;for(const O of w.values()){const U=R.indexOf(O);U===-1&&(Ie.remove(O),w.delete(O)),R.splice(U,1)}for(const O of R)Ie.add(O),w.add(O)}},[d]),vp(()=>{const R=E.current;if(R){let w=sf.get(R);w||(w=F5(R,{onInit:z})),w.render(H.jsx(x,{children:l}),g)}},[g,l,z,p]),vp(()=>{M()},[p]),vp(()=>{c?Object.assign(So.defaultTextStyle,c):Object.assign(So.defaultTextStyle,$5)},[c]),G.useEffect(()=>{const R=E.current;if(R)return I5(R),()=>{P5(R)}},[]),H.jsx("canvas",{ref:E,className:o})}),eM=G.forwardRef(function(t,a){return H.jsx(s_,{children:H.jsx(tM,{ref:a,...t})})});function Jp(n){Object.assign($y,n)}function nM(){const n=G.useContext(Cg);return V2(n.app instanceof mg,"No Context found with `%s`. Make sure to wrap component with `%s`","Application","AppProvider"),n}function aM({agentName:n,question:t,onRespond:a}){const[l,o]=G.useState(""),c=()=>{const m=l.trim();m&&(a(m),o(""))},d=m=>{m.key==="Enter"&&c()};return H.jsx("div",{style:{position:"fixed",inset:0,background:"rgba(7, 8, 14, 0.8)",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:50,animation:"fadeIn 0.2s var(--ease-out) both"},children:H.jsxs("div",{style:{background:"var(--surface-2)",border:"1px solid var(--status-warning)",borderRadius:"var(--radius-lg)",boxShadow:"0 0 40px var(--status-warning-glow), var(--shadow-lg)",padding:"var(--sp-6)",maxWidth:440,width:"100%",margin:"0 var(--sp-4)",animation:"scaleIn 0.3s var(--ease-spring) both"},children:[H.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--sp-2)",marginBottom:"var(--sp-4)"},children:[H.jsx("span",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:24,height:24,borderRadius:"var(--radius-full)",background:"var(--status-warning-glow)",border:"1px solid var(--status-warning)",color:"var(--status-warning)",fontSize:"0.7rem",fontWeight:700},children:"◆"}),H.jsxs("h2",{style:{fontFamily:"var(--font-mono)",fontSize:"0.78rem",fontWeight:700,color:"var(--status-warning)",textTransform:"uppercase",letterSpacing:"0.08em"},children:["Checkpoint — ",n]})]}),H.jsx("p",{style:{color:"var(--text-primary)",fontSize:"0.85rem",lineHeight:1.6,marginBottom:"var(--sp-5)"},children:t}),H.jsxs("div",{style:{display:"flex",gap:"var(--sp-2)"},children:[H.jsx("input",{type:"text",className:"input",placeholder:"Type your response...",value:l,onChange:m=>o(m.target.value),onKeyPress:d,autoFocus:!0,style:{flex:1}}),H.jsx("button",{onClick:c,className:"btn",style:{background:"var(--status-warning)",color:"var(--text-inverse)",border:"1px solid var(--status-warning)",fontWeight:600,padding:"0 var(--sp-4)"},children:"Send"})]})]})})}const Sx=[16109737,15251594,13935988,13012574,10515018,9133628],bx=[2890510,4861722,9136404,12886874,1710618,9118976],iM=Ep,Bt=iM/2,Gt=7,_e=14,ln=12,sn=5,Zi=10,Te=4,Ji=9,Jt=8;function Vc(n,t,a,l,o){n.circle(t,a-1,Gt+1),n.fill(o),n.circle(t,a,Gt),n.fill(l),n.circle(t-3,a-1,1.5),n.fill(1710618),n.circle(t+3,a-1,1.5),n.fill(1710618),n.circle(t-2.5,a-1.5,.6),n.fill(16777215),n.circle(t+3.5,a-1.5,.6),n.fill(16777215)}function kc(n,t,a,l,o,c){n.roundRect(t-l/2,a,l,o,3),n.fill(c),n.moveTo(t-3,a),n.lineTo(t,a+4),n.lineTo(t+3,a),n.stroke({width:1,color:lM(c,.15)})}function Tx(n,t,a,l,o){n.roundRect(t-l-1,a,l,o,2),n.fill(2899536),n.roundRect(t+1,a,l,o,2),n.fill(2899536)}function Ex(n,t,a,l){n.roundRect(t-l-2,a,l+2,3,1),n.fill(1710618),n.roundRect(t,a,l+2,3,1),n.fill(1710618)}function lM(n,t){const a=Math.max(0,(n>>16&255)*(1-t)),l=Math.max(0,(n>>8&255)*(1-t)),o=Math.max(0,(n&255)*(1-t));return Math.floor(a)<<16|Math.floor(l)<<8|Math.floor(o)}function sM(n){const t=new Map;for(let a=0;a<zy.length;a++){const l=zy[a],o=Sx[a%Sx.length],c=bx[a%bx.length],d=new ni;Vc(d,Bt,Jt,o,c),kc(d,Bt,Jt+Gt,_e,ln,l),d.roundRect(Bt-_e/2-Te,Jt+Gt+1,Te,Ji,2),d.fill(l),d.roundRect(Bt+_e/2,Jt+Gt+1,Te,Ji,2),d.fill(l),d.circle(Bt-_e/2-Te/2,Jt+Gt+Ji+1,2),d.fill(o),d.circle(Bt+_e/2+Te/2,Jt+Gt+Ji+1,2),d.fill(o),Tx(d,Bt,Jt+Gt+ln,sn,Zi),Ex(d,Bt,Jt+Gt+ln+Zi,sn),t.set(`agent-${a}-standing`,n.renderer.generateTexture(d));const m=new ni,p=Jt+4;Vc(m,Bt,p,o,c),kc(m,Bt,p+Gt,_e,ln-2,l),m.roundRect(Bt-_e/2-Te+1,p+Gt+2,Te,Ji-3,2),m.fill(l),m.roundRect(Bt+_e/2-1,p+Gt+2,Te,Ji-3,2),m.fill(l);const g=6;m.roundRect(Bt-sn-1,p+Gt+ln-2,sn+1,g,2),m.fill(2899536),m.roundRect(Bt,p+Gt+ln-2,sn+1,g,2),m.fill(2899536),t.set(`agent-${a}-seated`,n.renderer.generateTexture(m));const x=new ni,b=Jt+4;Vc(x,Bt+2,b,o,c),kc(x,Bt+1,b+Gt,_e,ln-2,l),x.roundRect(Bt+_e/2,b+Gt+2,Te+4,4,2),x.fill(l),x.roundRect(Bt+_e/2-2,b+Gt+2,Te+4,4,2),x.fill(l),x.circle(Bt+_e/2+Te+3,b+Gt+4,2),x.fill(o),x.circle(Bt+_e/2+Te+1,b+Gt+4,2),x.fill(o),m.roundRect(Bt-sn-1,b+Gt+ln-2,sn+1,g,2),m.fill(2899536),x.roundRect(Bt,b+Gt+ln-2,sn+1,g,2),x.fill(2899536),t.set(`agent-${a}-typing`,n.renderer.generateTexture(x));const E=new ni;Vc(E,Bt,Jt,o,c),kc(E,Bt,Jt+Gt,_e,ln,l),E.roundRect(Bt-_e/2-Te,Jt+Gt-1,Te,Ji+2,2),E.fill(l),E.roundRect(Bt+_e/2,Jt+Gt+3,Te,Ji-2,2),E.fill(l),E.roundRect(Bt+1,Jt+Gt+ln,sn,Zi+2,2),E.fill(2899536),E.roundRect(Bt-sn-1,Jt+Gt+ln-2,sn,Zi,2),E.fill(2899536),E.roundRect(Bt,Jt+Gt+ln+Zi+1,sn+2,3,1),E.fill(1710618),E.roundRect(Bt-sn-2,Jt+Gt+ln+Zi-3,sn+1,3,1),E.fill(1710618),t.set(`agent-${a}-walk-right`,n.renderer.generateTexture(E));const C=new ni;Vc(C,Bt,Jt,o,c),kc(C,Bt,Jt+Gt,_e,ln,l),C.roundRect(Bt+_e/2,Jt+Gt-1,Te,Ji+2,2),C.fill(l),C.roundRect(Bt-_e/2-Te,Jt+Gt+3,Te,Ji-2,2),C.fill(l),C.roundRect(Bt-sn-1,Jt+Gt+ln,sn,Zi+2,2),C.fill(2899536),C.roundRect(Bt+1,Jt+Gt+ln-2,sn,Zi,2),C.fill(2899536),C.roundRect(Bt-sn-2,Jt+Gt+ln+Zi+1,sn+2,3,1),C.fill(1710618),C.roundRect(Bt,Jt+Gt+ln+Zi-3,sn+1,3,1),C.fill(1710618),t.set(`agent-${a}-walk-left`,n.renderer.generateTexture(C));const M=new ni;Vc(M,Bt,Jt,o,c),kc(M,Bt,Jt+Gt,_e,ln,l),M.roundRect(Bt-_e/2-Te,Jt+Gt+1,Te,Ji,2),M.fill(l),M.circle(Bt-_e/2-Te/2,Jt+Gt+Ji+1,2),M.fill(o),M.roundRect(Bt+_e/2,Jt+Gt,Te,6,2),M.fill(l),M.circle(Bt+_e/2+Te/2+1,Jt+Gt,2),M.fill(o),M.roundRect(Bt+_e/2+Te/2-1,Jt+Gt-6,6,7,1),M.fill(14142664),M.moveTo(Bt+_e/2+Te/2,Jt+Gt-7),M.quadraticCurveTo(Bt+_e/2+Te/2+2,Jt+Gt-11,Bt+_e/2+Te/2,Jt+Gt-14),M.stroke({width:1,color:16777215,alpha:.4}),M.moveTo(Bt+_e/2+Te/2+3,Jt+Gt-7),M.quadraticCurveTo(Bt+_e/2+Te/2+5,Jt+Gt-10,Bt+_e/2+Te/2+3,Jt+Gt-13),M.stroke({width:1,color:16777215,alpha:.3}),Tx(M,Bt,Jt+Gt+ln,sn,Zi),Ex(M,Bt,Jt+Gt+ln+Zi,sn),t.set(`agent-${a}-coffee`,n.renderer.generateTexture(M))}return t}function rM(n,t){const a=n%zy.length;let l;switch(t){case"working":l="typing";break;case"typing":l="typing";break;case"standing":l="standing";break;case"coffee":l="coffee";break;case"walk-right":l="walk-right";break;case"walk-left":l="walk-left";break;case"delivering":l="walk-right";break;case"idle":l="standing";break;case"seated":l="seated";break;case"checkpoint":case"done":default:l="seated";break}return`agent-${a}-${l}`}function uM(n,t){const a=e_;n.roundRect(0,0,t.totalWidth,t.totalHeight,4),n.fill($c.wall),n.rect(0,0,t.totalWidth,3),n.fill({color:$c.wallHighlight,alpha:.5}),Ax(n,t.corridorH.x,t.corridorH.y,t.corridorH.width,t.corridorH.height,"horizontal"),Ax(n,t.corridorV.x,t.corridorV.y,t.corridorV.width,t.corridorV.height,"vertical");for(const E of t.squadOrigins){const{origin:C,width:M,height:z,doorSide:R}=E;R==="right"?td(n,C.x+M,C.y+z/2-er/2,a,er):R==="left"?td(n,C.x-a,C.y+z/2-er/2,a,er):R==="top"?$h(n,C.x+M/2-er/2,C.y-a,er,a):$h(n,C.x+M/2-er/2,C.y+z,er,a)}const l=t.ceoOffice,o=Math.min(er,60);td(n,l.x+l.width,l.y+l.height/2-o/2,a,o),$h(n,l.x+l.width/2-o/2,l.y+l.height,o,a);const c=t.bathroomMale;$h(n,c.x+c.width/2-30,c.y+c.height,60,a);const d=t.bathroomFemale;$h(n,d.x+d.width/2-30,d.y+d.height,60,a);const m=t.kitchen;td(n,m.x+m.width,m.y+m.height/2-30,a,60);const p=t.restArea;td(n,p.x-a,p.y+p.height/2-30,a,60);const g=t.corridorV;if(g.height>100){const E=g.x+g.width/2;for(let C=g.y+60;C<g.y+g.height-40;C+=200)Cx(n,E,C)}const x=t.corridorH,b=x.y+x.height/2;for(let E=x.x+80;E<x.x+x.width-80;E+=220)Cx(n,E,b);n.roundRect(0,0,t.totalWidth,t.totalHeight,4),n.stroke({width:2,color:5533306,alpha:.6})}function $h(n,t,a,l,o){n.rect(t,a,l,o),n.fill(iu.floor),n.rect(t-2,a,2,o),n.fill($c.doorFrame),n.rect(t+l,a,2,o),n.fill($c.doorFrame)}function td(n,t,a,l,o){n.rect(t,a,l,o),n.fill(iu.floor),n.rect(t,a-2,l,2),n.fill($c.doorFrame),n.rect(t,a+o,l,2),n.fill($c.doorFrame)}function Cx(n,t,a){n.roundRect(t-8,a-12,16,12,2),n.fill(9133628),n.circle(t,a-16,8),n.fill(5025616),n.circle(t-4,a-20,5),n.fill(3706428),n.circle(t+4,a-18,6),n.fill(6732650)}function Ax(n,t,a,l,o,c){n.rect(t,a,l,o),n.fill(iu.floor);const d=40;for(let m=0;m<Math.ceil(o/d);m++){for(let p=0;p<Math.ceil(l/d);p++){const g=t+p*d,x=a+m*d;(m+p)%2===0&&(n.rect(g,x,d,d),n.fill({color:iu.tile,alpha:.5})),n.moveTo(g,a),n.lineTo(g,a+o),n.stroke({width:.5,color:iu.grout,alpha:.3})}n.moveTo(t,a+m*d),n.lineTo(t+l,a+m*d),n.stroke({width:.5,color:iu.grout,alpha:.3})}c==="horizontal"?(n.rect(t+10,a+o/2-2,l-20,4),n.fill({color:iu.stripe,alpha:.3})):(n.rect(t+l/2-2,a+10,4,o-20),n.fill({color:iu.stripe,alpha:.3}))}function Mx(n,t,a,l,o,c){n.rect(t,a,l,o),n.fill(ja.floor);const d=20;for(let R=0;R<Math.ceil(o/d);R++)for(let w=0;w<Math.ceil(l/d);w++)if((R+w)%2===0){const O=t+w*d,U=a+R*d;n.rect(O,U,d,d),n.fill({color:ja.tile,alpha:.4})}for(let R=0;R<=Math.ceil(o/d);R++)n.moveTo(t,a+R*d),n.lineTo(t+l,a+R*d),n.stroke({width:.5,color:ja.tileGrout,alpha:.3});for(let R=0;R<=Math.ceil(l/d);R++)n.moveTo(t+R*d,a),n.lineTo(t+R*d,a+o),n.stroke({width:.5,color:ja.tileGrout,alpha:.3});const m=Math.min(6,Math.max(2,Math.floor((l-20)/70))),p=(l-20)/m,g=80,x=a+o-g-10;for(let R=0;R<m;R++){const w=t+10+R*p;n.rect(w,x,3,g),n.fill(ja.stall),n.rect(w+p-3,x,3,g),n.fill(ja.stall),n.roundRect(w+6,x,p-12,g-4,2),n.fill({color:ja.stallDoor,alpha:.6}),n.circle(w+p-16,x+g/2,2),n.fill({color:7901340,alpha:.8});const O=w+p/2,U=x+g-24;n.roundRect(O-8,U,16,20,4),n.fill(ja.toilet),n.roundRect(O-6,U+2,12,14,3),n.fill(ja.toiletSeat),n.roundRect(O-6,U+2,12,14,3),n.stroke({width:.5,color:12434877,alpha:.5})}const b=Math.min(4,Math.max(2,Math.floor(l/100))),E=l/(b+1),C=a+30;n.rect(t+4,a+4,l-8,60),n.fill({color:ja.wall,alpha:.3});for(let R=0;R<b;R++){const w=t+E*(R+1);n.roundRect(w-12,a+8,24,20,3),n.fill(ja.mirrorFrame),n.roundRect(w-10,a+10,20,16,2),n.fill(ja.mirror),n.roundRect(w-6,a+12,6,10,1),n.fill({color:16777215,alpha:.15}),n.roundRect(w-14,C,28,16,3),n.fill(ja.sink),n.ellipse(w,C+8,8,5),n.fill(ja.sinkBowl),n.ellipse(w,C+8,8,5),n.stroke({width:.5,color:12434877,alpha:.4}),n.roundRect(w-2,C+1,4,6,1),n.fill(ja.pipe)}const M=t+l/2,z=a+o-20;n.roundRect(M-12,z-6,24,14,3),n.fill({color:3622735,alpha:.7}),c==="male"?(n.circle(M,z-2,3),n.fill({color:16777215,alpha:.8}),n.rect(M-3,z+1,6,4),n.fill({color:4367861,alpha:.8})):(n.circle(M,z-2,3),n.fill({color:16777215,alpha:.8}),n.moveTo(M-5,z+5),n.lineTo(M+5,z+5),n.lineTo(M,z+1),n.closePath(),n.fill({color:15684432,alpha:.8})),n.rect(t,a,l,o),n.stroke({width:1,color:0,alpha:.08})}function oM(n,t,a,l,o){n.rect(t,a,l,o),n.fill(qn.floor);const c=24;for(let g=0;g<Math.ceil(o/c);g++)for(let x=0;x<Math.ceil(l/c);x++)(g+x)%2===0&&(n.rect(t+x*c,a+g*c,c,c),n.fill({color:qn.tile,alpha:.4}));for(let g=0;g<=Math.ceil(o/c);g++)n.moveTo(t,a+g*c),n.lineTo(t+l,a+g*c),n.stroke({width:.5,color:qn.tileGrout,alpha:.3});for(let g=0;g<=Math.ceil(l/c);g++)n.moveTo(t+g*c,a),n.lineTo(t+g*c,a+o),n.stroke({width:.5,color:qn.tileGrout,alpha:.3});n.roundRect(t+6,a+10,24,o-20,3),n.fill(qn.counter),n.roundRect(t+7,a+11,22,o-22,2),n.fill(qn.counterTop),n.roundRect(t+6,a+10,24,40,3),n.fill(qn.fridge),n.roundRect(t+8,a+12,20,18,2),n.fill(qn.fridgeDoor),n.roundRect(t+8,a+32,20,16,2),n.fill(qn.fridgeDoor),n.roundRect(t+26,a+20,2,8,1),n.fill(qn.fridgeHandle),n.roundRect(t+26,a+36,2,8,1),n.fill(qn.fridgeHandle),n.roundRect(t+10,a+60,16,20,2),n.fill(qn.coffeeMaker),n.circle(t+18,a+64,2),n.fill({color:qn.coffeeMakerLight,alpha:.9});const d=t+l/2-16,m=a+o/2-12;n.roundRect(d,m,32,24,4),n.fill(qn.table),n.roundRect(d+2,m+2,28,20,3),n.fill(qn.tableTop);const p=[{cx:d-6,cy:m+12},{cx:d+38,cy:m+12},{cx:d+16,cy:m+30}];for(const g of p)n.roundRect(g.cx-5,g.cy-5,10,10,3),n.fill(qn.chair);n.circle(t+l/2,a+8,4),n.fill({color:qn.lamp,alpha:.6}),n.circle(t+l/2,a+8,8),n.fill({color:qn.lamp,alpha:.1}),n.rect(t,a,l,o),n.stroke({width:1,color:0,alpha:.08})}function cM(n,t,a,l,o){n.rect(t,a,l,o),n.fill($a.floor),n.roundRect(t+8,a+8,l-16,o-16,6),n.fill({color:$a.carpet,alpha:.2}),n.roundRect(t+12,a+12,l-24,o-24,4),n.stroke({width:1,color:$a.carpetBorder,alpha:.15});const c=t+10,d=a+10,m=l-20,p=28;n.roundRect(c,d,m,10,3),n.fill($a.sofaArm),n.roundRect(c,d+8,m,p-8,4),n.fill($a.sofa);const g=(m-12)/3;for(let M=0;M<3;M++)n.roundRect(c+4+M*(g+2),d+10,g,p-14,3),n.fill($a.sofaCushion);n.roundRect(c-2,d+6,6,p-4,2),n.fill($a.sofaArm),n.roundRect(c+m-4,d+6,6,p-4,2),n.fill($a.sofaArm);const x=t+l/2,b=a+o-20;n.roundRect(x-12,b+8,24,10,2),n.fill($a.tvStand),n.roundRect(x-20,b-12,40,22,2),n.fill($a.tv),n.roundRect(x-18,b-10,36,18,1),n.fill($a.tvScreen),n.roundRect(x-14,b-8,10,6,1),n.fill({color:16777215,alpha:.05});const E=t+l-30,C=a+o/2-8;n.roundRect(E,C,20,16,3),n.fill($a.sideTable),n.rect(E+3,C+2,8,11),n.fill({color:$a.magazine,alpha:.7}),n.rect(E+8,C+4,8,10),n.fill({color:$a.magazineAlt,alpha:.6}),n.roundRect(t+8,a+o-40,12,10,2),n.fill(9133628),n.circle(t+14,a+o-34,7),n.fill(5025616),n.circle(t+11,a+o-38,4),n.fill(3706428),n.rect(t,a,l,o),n.stroke({width:1,color:0,alpha:.08})}function fM(n,t,a){n.rect(0,0,t,a),n.fill(Yt.floor);const l=20,o=80;for(let b=0;b<Math.ceil(a/l);b++){const E=b%2*(o/2),C=b*l;n.moveTo(0,C),n.lineTo(t,C),n.stroke({width:1,color:Yt.floorGrout,alpha:.4});for(let M=0;M<Math.ceil(t/o)+1;M++){const z=M*o-E;z>0&&z<t&&(n.moveTo(z,C),n.lineTo(z,C+l),n.stroke({width:1,color:Yt.floorGrout,alpha:.25}))}b%3===0&&(n.rect(0,C+2,t,l-4),n.fill({color:Yt.floorHighlight,alpha:.08}))}const c=42;n.rect(0,c,t,4),n.fill({color:0,alpha:.1}),n.rect(0,0,t,c),n.fill({color:Yt.wall,alpha:.2}),n.rect(0,0,t,3),n.fill({color:Yt.wallTrim,alpha:.15}),n.rect(0,c-4,t,4),n.fill({color:Yt.baseboard,alpha:.2});const d=120,m=t-d*2,p=a-200,g=d,x=100;m>100&&p>60&&(n.roundRect(g+3,x+3,m,p,6),n.fill({color:0,alpha:.08}),n.roundRect(g,x,m,p,6),n.fill({color:Yt.rug,alpha:.15}),n.roundRect(g+4,x+4,m-8,p-8,4),n.stroke({width:1.5,color:Yt.rugBorder,alpha:.12}),n.roundRect(g+12,x+12,m-24,p-24,3),n.stroke({width:1,color:Yt.rugPattern,alpha:.1}))}function hM(n,t,a){const l=t+Ml/2,o=a+nu+8;for(let z=0;z<5;z++){const R=z/5*Math.PI*2-Math.PI/2,w=l+Math.cos(R)*10,O=o+14+Math.sin(R)*5;n.circle(w,O,2),n.fill(Yt.chairWheel)}n.rect(l-1.5,o+4,3,12),n.fill(Yt.chairBase),n.roundRect(l-14,o,28,10,4),n.fill(Yt.chairSeat),n.roundRect(l-12,o+1,24,4,3),n.fill({color:Yt.chairBack,alpha:.5}),n.roundRect(l-12,o-16,24,18,5),n.fill(Yt.chairBack),n.roundRect(l-10,o-14,20,8,3),n.fill({color:16777215,alpha:.05}),n.roundRect(t+3,a+3,Ml,nu,4),n.fill({color:0,alpha:.12}),n.roundRect(t,a,Ml,nu,4),n.fill(Yt.desk),n.roundRect(t+2,a+2,Ml-4,nu-4,3),n.fill(Yt.deskTop);for(let z=0;z<3;z++){const R=a+10+z*16;n.moveTo(t+6,R),n.lineTo(t+Ml-6,R),n.stroke({width:.5,color:Yt.deskShadow,alpha:.2})}n.rect(t+2,a+nu-6,Ml-4,4),n.fill(Yt.deskEdge);const c=4,d=8;n.rect(t+4,a+nu,c,d),n.fill(Yt.deskLeg),n.rect(t+Ml-4-c,a+nu,c,d),n.fill(Yt.deskLeg);const m=32,p=22,g=t+(Ml-m)/2,x=a+8;n.roundRect(g+m/2-10,x+p+4,20,4,2),n.fill(Yt.monitorStand),n.rect(g+m/2-2,x+p,4,6),n.fill(Yt.monitorStand),n.roundRect(g,x,m,p,2),n.fill(Yt.monitor),n.roundRect(g+2,x+2,m-4,p-5,1),n.fill(Yt.monitorScreen),n.roundRect(g+3,x+3,m-6,6,1),n.fill({color:Yt.monitorScreenGlow,alpha:.3});const b=24,E=8,C=g+(m-b)/2,M=x+p+10;n.roundRect(C,M,b,E,2),n.fill(Yt.keyboard);for(let z=0;z<3;z++)for(let R=0;R<6;R++)n.rect(C+2+R*3.5,M+1.5+z*2.5,2.5,1.5),n.fill(Yt.keyboardKey);n.roundRect(t+Ml-18,a+14,7,8,2),n.fill(14142664),n.roundRect(t+Ml-11,a+16,3,4,1),n.fill(14142664),n.rect(t+8,a+20,14,18),n.fill(16775620),n.rect(t+8,a+20,14,2),n.fill(16635957),n.rect(t+10,a+24,10,1.5),n.fill(1402304)}function dM(n,t,a){n.roundRect(t+2,a+2,44,64,3),n.fill({color:0,alpha:.1}),n.roundRect(t,a,44,64,3),n.fill(Yt.bookshelf),n.roundRect(t+1,a+1,42,62,2),n.stroke({width:1,color:Yt.bookshelfEdge,alpha:.3}),n.rect(t+3,a+3,38,58),n.fill({color:6048310,alpha:.5});for(let l=0;l<3;l++){const o=a+8+l*20;n.rect(t+3,o+14,38,3),n.fill(Yt.bookshelfEdge),n.rect(t+3,o+17,38,1),n.fill({color:0,alpha:.1});const c=4+l%2;for(let d=0;d<c;d++){const m=t+5+d*(34/c),p=Math.max(4,34/c-2),g=10+(d*3+l*2)%5,x=(d+l*3)%Yt.bookColors.length;n.rect(m,o+14-g,p,g),n.fill(Yt.bookColors[x]),n.rect(m+1,o+14-g+2,.8,g-4),n.fill({color:16777215,alpha:.15})}l===1&&(n.circle(t+38,o+8,4),n.fill({color:4367861,alpha:.6}),n.circle(t+38,o+8,4),n.stroke({width:.5,color:2001125,alpha:.4}))}n.roundRect(t+14,a-4,8,6,1),n.fill(Yt.pot),n.circle(t+18,a-6,5),n.fill(Yt.plantLight),n.circle(t+15,a-8,3),n.fill(Yt.plant)}function Rx(n,t,a){n.ellipse(t+12,a+34,12,3),n.fill({color:0,alpha:.1}),n.moveTo(t+2,a+16),n.lineTo(t+4,a+32),n.lineTo(t+20,a+32),n.lineTo(t+22,a+16),n.closePath(),n.fill(Yt.pot),n.roundRect(t,a+14,24,5,2),n.fill(Yt.potRim),n.roundRect(t+2,a+14,20,2,1),n.fill({color:16777215,alpha:.08}),n.ellipse(t+12,a+16,10,3),n.fill(Yt.soil),n.rect(t+11,a+2,2,14),n.fill(Yt.plantDark),n.ellipse(t+6,a+4,7,5),n.fill(Yt.plantDark),n.ellipse(t+18,a+2,6,5),n.fill(Yt.plantDark),n.ellipse(t+12,a+1,8,6),n.fill(Yt.plant),n.ellipse(t+4,a+8,6,4),n.fill(Yt.plant),n.ellipse(t+20,a+8,6,4),n.fill(Yt.plant),n.ellipse(t+9,a+5,5,4),n.fill(Yt.plantLight),n.ellipse(t+15,a+3,5,4),n.fill(Yt.plantLight),n.moveTo(t+12,a-2),n.lineTo(t+12,a+6),n.stroke({width:.5,color:Yt.plantDark,alpha:.3})}function mM(n,t,a){n.roundRect(t+2,a+2,80,40,4),n.fill({color:0,alpha:.1}),n.roundRect(t,a,80,40,4),n.fill(pa.counter),n.roundRect(t+1,a+1,78,8,3),n.fill(pa.counterTop),n.roundRect(t+2,a+2,76,3,2),n.fill({color:16777215,alpha:.06}),n.roundRect(t+4,a-14,28,38,3),n.fill(pa.machine),n.roundRect(t+5,a-14,26,6,2),n.fill(pa.machineTop),n.roundRect(t+8,a+16,20,4,1),n.fill({color:2503224,alpha:.8}),n.rect(t+13,a+8,3,8),n.fill(pa.machineTop),n.rect(t+20,a+8,3,8),n.fill(pa.machineTop),n.circle(t+18,a-8,2.5),n.fill({color:pa.machineLight,alpha:.9}),n.circle(t+18,a-8,5),n.fill({color:pa.machineLight,alpha:.15}),n.roundRect(t+38,a+8,8,10,2),n.fill(pa.cup),n.roundRect(t+46,a+10,3,5,1),n.fill(pa.cup),n.roundRect(t+48,a+6,8,10,2),n.fill(pa.cupShadow),n.ellipse(t+42,a+20,10,3),n.fill(pa.saucer),n.roundRect(t+60,a+6,16,14,3),n.fill(pa.sink),n.roundRect(t+62,a+8,12,10,2),n.fill({color:5533306,alpha:.8}),n.rect(t+66,a-2,3,10),n.fill(pa.faucet),n.roundRect(t+65,a-4,8,3,1),n.fill(pa.faucet),n.roundRect(t+10,a-30,30,14,2),n.fill(pa.menu),n.rect(t+14,a-27,22,2),n.fill({color:16777215,alpha:.5}),n.rect(t+14,a-23,16,1.5),n.fill({color:16777215,alpha:.3}),n.rect(t+14,a-20,18,1.5),n.fill({color:16777215,alpha:.3})}function pM(n,t,a){n.roundRect(t-16,a-24,128,96,6),n.fill({color:vi.carpet,alpha:.25}),n.roundRect(t-12,a-20,120,88,4),n.stroke({width:1,color:vi.carpetPattern,alpha:.2});const l=t+10,o=a-20;n.roundRect(l+2,o+2,76,16,2),n.fill({color:0,alpha:.1}),n.roundRect(l,o,76,16,2),n.fill(vi.whiteboardFrame),n.roundRect(l+2,o+2,72,12,1),n.fill(vi.whiteboard),n.rect(l+6,o+4,18,8),n.fill({color:16775620,alpha:.6}),n.rect(l+28,o+4,18,8),n.fill({color:12312315,alpha:.6}),n.rect(l+50,o+4,18,8),n.fill({color:13166281,alpha:.6}),n.roundRect(l+20,o+14,36,3,1),n.fill(vi.whiteboardFrame),n.roundRect(t+3,a+3,96,48,6),n.fill({color:0,alpha:.1}),n.roundRect(t,a,96,48,6),n.fill(vi.table),n.roundRect(t+2,a+2,92,44,5),n.fill(vi.tableTop),n.roundRect(t+6,a+4,40,10,3),n.fill({color:16777215,alpha:.04}),n.roundRect(t+1,a+1,94,46,5),n.stroke({width:1,color:vi.tableEdge,alpha:.4});const c=4,d=6;n.rect(t+8,a+48,c,d),n.fill(vi.tableLeg),n.rect(t+84,a+48,c,d),n.fill(vi.tableLeg);const m=[{cx:t+16,cy:a-10},{cx:t+48,cy:a-10},{cx:t+80,cy:a-10},{cx:t+16,cy:a+56},{cx:t+48,cy:a+56},{cx:t+80,cy:a+56}];for(const p of m){const x=p.cy<a?p.cy-6:p.cy+6;n.roundRect(p.cx-8,x-4,16,10,3),n.fill(vi.chairBack),n.roundRect(p.cx-7,p.cy-4,14,8,3),n.fill(vi.chairSeat),n.roundRect(p.cx-5,p.cy-3,10,3,2),n.fill({color:16777215,alpha:.06}),n.circle(p.cx,p.cy+5,2),n.fill(vi.chair)}n.roundRect(t+10,a+8,18,12,2),n.fill(3622735),n.roundRect(t+11,a+9,16,8,1),n.fill(4545124),n.rect(t+60,a+12,12,16),n.fill({color:16777215,alpha:.7}),n.rect(t+62,a+14,8,1),n.fill({color:3355443,alpha:.3}),n.rect(t+62,a+17,6,1),n.fill({color:3355443,alpha:.3}),n.roundRect(t+40,a+10,6,14,2),n.fill({color:4367861,alpha:.6}),n.roundRect(t+41,a+7,4,4,1),n.fill({color:9489145,alpha:.5})}const yM={running:vo.statusRunning,idle:vo.statusIdle,completed:vo.statusCompleted,checkpoint:vo.statusCheckpoint};function gM(n,t,a,l){const o=a*.85,c=t+(a-o)/2,d=6,m=30;n.roundRect(c+2,d+2,o,m,8),n.fill({color:0,alpha:.15}),n.roundRect(c,d,o,m,8),n.fill({color:vo.background,alpha:.85}),n.roundRect(c+2,d+1,o-4,8,6),n.fill({color:vo.backgroundGlow,alpha:.4}),n.roundRect(c,d,o,m,8),n.stroke({width:1,color:16777215,alpha:.08});const p=yM[l]??vo.statusIdle,g=c+o-18,x=d+m/2;n.circle(g,x,7),n.fill({color:p,alpha:.2}),n.circle(g,x,4),n.fill(p),n.circle(g-1,x-1,1.5),n.fill({color:16777215,alpha:.3}),n.circle(c+14,x,2),n.fill({color:16777215,alpha:.1})}Jp({Container:$n,Graphics:ni,Sprite:af,Text:Zp});function Ag({agent:n,textures:t,bubbleText:a,animX:l,animY:o,animPose:c}){const d=rM(n.colorIndex,c),m=t.get(d),p=XT[n.status==="walking"?"idle":n.status]??8947848,g=n.status==="checkpoint",x=G.useCallback(E=>{E.clear(),E.circle(0,0,Ep/2+6),E.fill({color:p,alpha:g?.4:.15})},[p,g]),b=G.useCallback(E=>{if(E.clear(),!a)return;const C=Math.min(a.length*5+16,160);E.roundRect(-C/2,-42,C,22,6),E.fill({color:1710638,alpha:.9}),E.moveTo(-4,-20),E.lineTo(4,-20),E.lineTo(0,-15),E.closePath(),E.fill({color:1710638,alpha:.9})},[a]);return H.jsxs("container",{x:l,y:o,children:[H.jsx("graphics",{draw:x}),m&&H.jsx("sprite",{texture:m,anchor:.5}),H.jsx("text",{text:n.name,y:Ep/2+4,anchor:{x:.5,y:0},style:{fontSize:9,fill:"#cccccc",fontFamily:"sans-serif"}}),g&&H.jsx("text",{text:"⚠",y:-Ep/2-12,anchor:.5,style:{fontSize:14,fill:"#ff9800",fontFamily:"sans-serif"}}),a&&H.jsxs(H.Fragment,{children:[H.jsx("graphics",{draw:b}),H.jsx("text",{text:a.length>80?a.slice(-80)+"…":a,y:-31,anchor:{x:.5,y:.5},style:{fontSize:8,fill:"#ffffff",fontFamily:"sans-serif",wordWrap:!0,wordWrapWidth:140}})]})]})}Jp({Container:$n,Graphics:ni,Text:Zp});function vM({squadName:n,status:t,agents:a,textures:l,bubbles:o,animStates:c,originX:d,originY:m,roomWidth:p,roomHeight:g}){const x={x:0,y:0},b=id(x,p,g),E=n_(x,p,g),C=G.useCallback(M=>{M.clear(),fM(M,p,g),gM(M,0,p,t);for(let z=0;z<a.length;z++){const R=Ic(z,x);hM(M,R.x-48,R.y-32)}mM(M,b.x,b.y),pM(M,E.x,E.y),dM(M,p-60,44),Rx(M,10,g-50),Rx(M,p-40,50)},[a.length,t,p,g]);return H.jsxs("container",{x:d,y:m,children:[H.jsx("graphics",{draw:C}),H.jsx("text",{text:n,x:p/2,y:22,anchor:.5,style:{fontSize:14,fill:"#ffffff",fontFamily:"sans-serif",fontWeight:"bold"}}),a.map(M=>{const z=`${n}:${M.id}`,R=o[z],w=c[M.id];return w!=null&&w.isExternalTransit?null:H.jsx(Ag,{agent:M,textures:l,bubbleText:(R==null?void 0:R.text)??null,animX:(w==null?void 0:w.x)??M.position.x,animY:(w==null?void 0:w.y)??M.position.y,animPose:(w==null?void 0:w.pose)??(M.status==="working"?"typing":"seated")},M.id)})]})}function xM(n,t,a,l,o){n.rect(t,a,l,o),n.fill(Ia.floor);const c=16,d=60;for(let et=0;et<Math.ceil(o/c);et++){const ct=et%2*(d/2),vt=a+et*c;n.moveTo(t,vt),n.lineTo(t+l,vt),n.stroke({width:.5,color:4861984,alpha:.3});for(let dt=0;dt<Math.ceil(l/d)+1;dt++){const St=t+dt*d-ct;St>t&&St<t+l&&(n.moveTo(St,vt),n.lineTo(St,vt+c),n.stroke({width:.5,color:4861984,alpha:.2}))}}const m=30,p=l-m*2,g=o-m*2,x=t+m,b=a+m;n.roundRect(x+2,b+2,p,g,6),n.fill({color:0,alpha:.1}),n.roundRect(x,b,p,g,6),n.fill({color:Ia.carpet,alpha:.6}),n.roundRect(x+6,b+6,p-12,g-12,4),n.stroke({width:1.5,color:Ia.carpetBorder,alpha:.4}),n.roundRect(x+14,b+14,p-28,g-28,3),n.stroke({width:1,color:16766287,alpha:.15});const E=t+8,C=a+40,M=6,z=80;n.roundRect(E-2,C-2,M+4,z+4,2),n.fill(Ia.windowFrame),n.roundRect(E,C,M,z,1),n.fill(Ia.window),n.rect(E+1,C+4,2,z/3),n.fill({color:16777215,alpha:.2}),n.roundRect(E-4,C+z+2,M+8,3,1),n.fill(Ia.windowSill);const R=120,w=60,O=t+l/2-R/2,U=a+o/2-w/2-10;n.roundRect(O+3,U+3,R,w,4),n.fill({color:0,alpha:.12}),n.roundRect(O,U,R,w,4),n.fill(Ia.desk),n.roundRect(O+3,U+3,R-6,w-6,3),n.fill(Ia.deskTop),n.roundRect(O+1,U+1,R-2,w-2,4),n.stroke({width:1,color:Ia.deskEdge,alpha:.3}),n.roundRect(O+20,U+8,32,22,2),n.fill(2236976),n.roundRect(O+22,U+10,28,16,1),n.fill(1981020),n.roundRect(O+18,U+34,36,10,2),n.fill(3355456),n.rect(O+70,U+10,16,22),n.fill({color:16777215,alpha:.7}),n.rect(O+72,U+14,10,1),n.fill({color:3355443,alpha:.3}),n.rect(O+72,U+17,8,1),n.fill({color:3355443,alpha:.3}),n.roundRect(O+90,U+12,10,14,2),n.fill(3622735),n.circle(O+100,U+42,5),n.fill(14142664),n.circle(O+100,U+42,3),n.fill(7951688);const Y=O+R/2,k=U+w+16;n.roundRect(Y-14,k-4,28,16,6),n.fill(Ia.chair),n.roundRect(Y-12,k-8,24,12,4),n.fill(Ia.chairSeat),n.roundRect(Y-8,k-6,16,4,2),n.fill({color:16777215,alpha:.06}),n.circle(Y,k+14,3),n.fill(4473924);for(const et of[-8,0,8])n.circle(Y+et,k+18,1.5),n.fill(3355443);const V=t+l-54,Z=a+20;n.roundRect(V,Z,44,80,3),n.fill(Ia.bookshelf);const F=[15022389,2001125,4431943,16750592,9315498,35195];for(let et=0;et<3;et++){const ct=Z+8+et*26;n.rect(V+3,ct+18,38,3),n.fill(9139029);for(let vt=0;vt<5;vt++){const dt=V+5+vt*7,St=12+(vt*3+et*2)%6;n.rect(dt,ct+18-St,5,St),n.fill(F[(vt+et*2)%F.length])}}const q=t+l-54,$=a+o-60;n.roundRect(q,$+10,24,16,2),n.fill(6111287),n.rect(q+10,$+4,4,8),n.fill(7901340),n.circle(q+12,$,10),n.fill(Ia.globe),n.circle(q+12,$,10),n.stroke({width:.5,color:2001125,alpha:.4}),n.circle(q+9,$-3,3),n.fill({color:16777215,alpha:.15}),n.roundRect(O+44,U+38,36,10,2),n.fill(Ia.nameplate),n.roundRect(O+44,U+38,36,10,2),n.stroke({width:.5,color:13215744,alpha:.5}),n.rect(t,a,l,o),n.stroke({width:1,color:0,alpha:.08})}Jp({Container:$n,Graphics:ni,Text:Zp});const zx=["Precisamos escalar o time de vendas...","O Q4 vai ser decisivo.","Investir mais em marketing digital.","Meta trimestral no caminho certo.","Revisar budget de R&D...","Nova parceria pode mudar tudo.","Churn rate precisa cair 20%.","Hora de expandir para LATAM.","Reunião com investidores amanhã.","NPS subiu 15 pontos!","Cultura da empresa vem primeiro.","Mais dados antes de decidir.","Vamos automatizar esse processo.","Roadmap do próximo quarter...","Reter talentos é prioridade.","Revenue cresceu 30% no trimestre.","Precisamos de mais diversidade no time.","O mercado está mudando rápido.","Foco no cliente sempre.","Inovação é nosso diferencial."],xp=900,wx=2400,_M=6e3,SM={id:"ceo",name:"CEO",colorIndex:3,status:"working",deskIndex:0,position:{x:0,y:0},targetPosition:null};function bM({x:n,y:t,width:a,height:l,textures:o,ticker:c}){const[d,m]=G.useState(null),[p,g]=G.useState("seated"),x=G.useRef(0),b=G.useRef(xp+Math.floor(Math.random()*(wx-xp))),E=G.useRef(null),C=a/2,M=l/2+10,z=G.useCallback(R=>{R.clear(),xM(R,0,0,a,l)},[a,l]);return G.useEffect(()=>{if(!c)return;const R=()=>{x.current++;const w=x.current,O=Math.floor(w/48)%2===0?"typing":"seated";if(g(O),b.current--,b.current<=0){const U=zx[Math.floor(Math.random()*zx.length)];m(U),g("standing"),E.current&&clearTimeout(E.current),E.current=setTimeout(()=>{m(null)},_M),b.current=xp+Math.floor(Math.random()*(wx-xp))}};return c.add(R),()=>{c.remove(R),E.current&&clearTimeout(E.current)}},[c]),H.jsxs("container",{x:n,y:t,children:[H.jsx("graphics",{draw:z}),H.jsx("text",{text:"CEO",x:a/2,y:12,anchor:.5,style:{fontSize:13,fill:"#ffd700",fontFamily:"sans-serif",fontWeight:"bold"}}),H.jsx(Ag,{agent:SM,textures:o,bubbleText:d,animX:C,animY:M,animPose:p})]})}const by=150,TM=48,Ty=30,_p=3,EM=4e3,Sp=600,Ey=1800,CM=60,Dx=900,Ox=5e3,Nx=[["Cafe novo?","Sim, colombiano!"],["Viu o deploy?","Passou nos testes!"],["Reuniao as 3?","Vou confirmar."],["Bug no login?","Ja corrigi."],["Almoco onde?","Sushi hoje?"],["PR aprovado?","Mergeei agora."],["Ta ocupado?","Pode falar."],["Deadline?","Sexta-feira."],["Novo feature?","Ficou muito bom!"],["Ajuda aqui?","Claro, mostra."],["Sprint review?","Amanha cedo."],["Stand-up?","Ja comecou!"],["Refatorei aquele modulo.","Ficou mais limpo."],["Testes passando?","Todos verdes!"],["Viu o Figma?","Design top!"],["Pipeline rodou?","Em 2 min."],["Code review?","Ja olhei, aprovo."],["Qual branch?","feature/office."],["Bom dia!","Bom dia! Tudo bem?"],["Feriado proximo?","Semana que vem!"]];function AM(n,t,a,l,o,c){const d={x:0,y:0},m=Math.random();if(m<.2){const p={x:o+n.x,y:c+n.y},g=ld(p,`squad-${l}`,"kitchen",a),x=PT(a);return{x:x.x,y:x.y,destination:"kitchen",waypoints:g,isExternal:!0}}else if(m<.35){const p={x:o+n.x,y:c+n.y},g=ld(p,`squad-${l}`,"rest-area",a),x=IT(a);return{x:x.x,y:x.y,destination:"restArea",waypoints:g,isExternal:!0}}else if(m<.45){const p=Math.random()<.5?"male":"female",g={x:o+n.x,y:c+n.y},x=p==="male"?"bathroom-male":"bathroom-female",b=ld(g,`squad-${l}`,x,a),E=WT(a,p);return{x:E.x,y:E.y,destination:x,waypoints:b,isExternal:!0}}else if(m<.6){const p=n_(d,t.width,t.height);return{x:p.x+(Math.random()-.5)*40,y:p.y+(Math.random()-.5)*30,destination:"meeting"}}else if(m<.75){const p=id(d,t.width,t.height);return{x:p.x+(Math.random()-.5)*30,y:p.y+(Math.random()-.5)*20,destination:"coffee"}}else if(m<.9){const p={x:o+n.x,y:c+n.y},g=$T(a),x=[p,a.doorPoints[`squad-${l}`],g];return{x:g.x,y:g.y,destination:"corridor",waypoints:x,isExternal:!0}}else{const p=Math.floor(Math.random()*4),g=Ic(p,d,t.width,t.height);return{x:g.x+(Math.random()-.5)*40,y:g.y+(Math.random()-.5)*20,destination:"neighbor"}}}function MM(n){const[t,a]=G.useState({}),l=G.useRef({}),o=G.useRef({}),c=G.useRef({}),d=G.useRef({}),m=G.useRef(0),p=G.useRef({}),g=G.useRef({});G.useEffect(()=>{const b=We.subscribe((E,C)=>{var R,w;const M=E.bubbles,z=C.bubbles;for(const O of Object.keys(M))if(((R=M[O])==null?void 0:R.updatedAt)!==((w=z[O])==null?void 0:w.updatedAt)){p.current[O]&&clearTimeout(p.current[O]);const[U,Y]=O.split(":");p.current[O]=setTimeout(()=>{We.getState().clearBubble(U,Y),delete p.current[O]},EM)}});return()=>{b();for(const E of Object.values(p.current))clearTimeout(E);p.current={}}},[]);const x=G.useCallback(()=>{m.current++;const b=m.current,E=We.getState(),C={},M=Rp(E.rooms.length);for(const[z,R]of Object.entries(E.agentVisuals)){l.current[z]||(l.current[z]={}),o.current[z]||(o.current[z]={}),C[z]={};const w=E.rooms.indexOf(z),O=M.squadOrigins[w],U=(O==null?void 0:O.origin)??{x:0,y:0},Y=[];for(const k of R){const V=l.current[z],Z=o.current[z],F=`${z}:${k.id}`;Z[k.id]||(Z[k.id]={x:k.position.x,y:k.position.y,baseY:k.position.y},c.current[F]=Math.floor(Math.random()*Ey));const q=Z[k.id];if(k.targetPosition&&(!V[k.id]||V[k.id].progress>=1)){const et=V[k.id];if(et!=null&&et.isExternalTransit){const ct=et.globalX??q.x+U.x,vt=et.globalY??q.y+U.y,dt={x:ct,y:vt},St={x:k.targetPosition.x+U.x,y:k.targetPosition.y+U.y},j=d.current[F],Q=j==="kitchen"?"kitchen":j==="restArea"?"rest-area":j==="bathroom-male"?"bathroom-male":j==="bathroom-female"?"bathroom-female":`squad-${w}`,ot=ld(dt,Q,`squad-${w}`,M);ot[ot.length-1]=St;const rt=ot.shift(),gt=ot.length>0?ot.shift():rt,B=ap(rt,gt);V[k.id]={startX:rt.x,startY:rt.y,targetX:gt.x,targetY:gt.y,progress:0,duration:Math.max(30,Math.ceil(B/_p)),baseY:k.targetPosition.y,waypointQueue:ot,isExternalTransit:!0,globalX:ct,globalY:vt}}else V[k.id]={startX:q.x,startY:q.baseY,targetX:k.targetPosition.x,targetY:k.targetPosition.y,progress:0,duration:by,baseY:k.targetPosition.y,waypointQueue:[],isExternalTransit:!1}}if(k.status==="idle"&&(!V[k.id]||V[k.id].progress>=1)){const et=V[k.id];if(et!=null&&et.isExternalTransit&&et.waypointQueue.length===0&&et.progress>=1&&(et.globalX!==void 0&&et.globalY!==void 0&&(q.x=et.globalX-U.x,q.y=et.globalY-U.y,q.baseY=q.y),et.isExternalTransit=!1,et.globalX=void 0,et.globalY=void 0),c.current[F]===void 0&&(c.current[F]=Sp+Math.floor(Math.random()*(Ey-Sp))),c.current[F]--,c.current[F]<=0){const ct=V[k.id];if(ct!=null&&ct.isExternalTransit){const vt=ct.globalX??q.x+U.x,dt=ct.globalY??q.y+U.y,St={x:vt,y:dt},j=Ic(k.deskIndex,{x:0,y:0}),Q={x:j.x+U.x,y:j.y+U.y},ot=d.current[F],rt=ot==="kitchen"?"kitchen":ot==="restArea"?"rest-area":ot==="bathroom-male"?"bathroom-male":ot==="bathroom-female"?"bathroom-female":`squad-${w}`,gt=ld(St,rt,`squad-${w}`,M);gt[gt.length-1]=Q;const B=gt.shift(),J=gt.length>0?gt.shift():B,tt=ap(B,J);d.current[F]="neighbor",V[k.id]={startX:B.x,startY:B.y,targetX:J.x,targetY:J.y,progress:0,duration:Math.max(30,Math.ceil(tt/_p)),baseY:j.y,waypointQueue:gt,isExternalTransit:!0,globalX:vt,globalY:dt}}else{const dt=AM(U,O??{width:ir,height:_i},M,w,q.x,q.baseY);if(d.current[F]=dt.destination,dt.isExternal&&dt.waypoints&&dt.waypoints.length>1){const St=[...dt.waypoints],j=St.shift(),Q=St.length>0?St.shift():j,ot=ap(j,Q);V[k.id]={startX:j.x,startY:j.y,targetX:Q.x,targetY:Q.y,progress:0,duration:Math.max(30,Math.ceil(ot/_p)),baseY:dt.y-U.y,waypointQueue:St,isExternalTransit:!0,globalX:j.x,globalY:j.y}}else V[k.id]={startX:q.x,startY:q.baseY,targetX:dt.x,targetY:dt.y,progress:0,duration:by+Math.floor(Math.random()*30),baseY:dt.y,waypointQueue:[],isExternalTransit:!1}}c.current[F]=Sp+Math.floor(Math.random()*(Ey-Sp))}}const $=V[k.id];if($&&$.progress<1){$.progress=Math.min(1,$.progress+1/$.duration);const et=ZT($.progress);if($.isExternalTransit){const ct=np($.startX,$.targetX,et),vt=np($.startY,$.targetY,et);$.globalX=ct,$.globalY=vt,q.x=ct-U.x,q.y=vt-U.y;const dt=Math.floor(b/Ty)%2===0?"walk-right":"walk-left";C[z][k.id]={x:q.x,y:q.y,pose:dt,isExternalTransit:!0,globalX:ct,globalY:vt}}else{q.x=np($.startX,$.targetX,et),q.y=np($.startY,$.targetY,et),q.baseY=$.baseY;const ct=Math.floor(b/Ty)%2===0?"walk-right":"walk-left";C[z][k.id]={x:q.x,y:q.y,pose:ct}}}else if($&&$.progress>=1&&$.waypointQueue.length>0){const et=$.waypointQueue.shift(),ct={x:$.targetX,y:$.targetY},vt=ap(ct,et);$.startX=$.targetX,$.startY=$.targetY,$.targetX=et.x,$.targetY=et.y,$.progress=0,$.duration=$.isExternalTransit?Math.max(30,Math.ceil(vt/_p)):by,$.isExternalTransit&&($.globalX=$.startX,$.globalY=$.startY);const dt=Math.floor(b/Ty)%2===0?"walk-right":"walk-left";$.isExternalTransit?C[z][k.id]={x:q.x,y:q.y,pose:dt,isExternalTransit:!0,globalX:$.startX,globalY:$.startY}:C[z][k.id]={x:q.x,y:q.y,pose:dt}}else if(k.status==="working"){const et=Math.floor(b/TM)%2===0?"typing":"seated";C[z][k.id]={x:q.x,y:q.baseY,pose:et}}else if(k.status==="idle"){const et=d.current[F]??"coffee",ct=V[k.id];if((ct==null?void 0:ct.isExternalTransit)??!1)C[z][k.id]={x:q.x,y:q.y,pose:"standing",isExternalTransit:!0,globalX:(ct==null?void 0:ct.globalX)??q.x+U.x,globalY:(ct==null?void 0:ct.globalY)??q.y+U.y};else{const dt=Math.sin(b*.07+k.deskIndex*1.5)*2;let St;et==="coffee"||et==="kitchen"?St="coffee":et==="meeting"||et==="neighbor"?St=Math.floor(b/90)%2===0?"standing":"coffee":et==="restArea"?St="seated":(et.startsWith("bathroom"),St="standing"),C[z][k.id]={x:q.x,y:q.baseY+dt,pose:St},Y.push({agentKey:F,agentId:k.id,agentName:k.name,x:q.x,y:q.baseY})}}else k.status==="checkpoint"?C[z][k.id]={x:q.x,y:q.baseY,pose:"seated"}:C[z][k.id]={x:q.x,y:q.baseY,pose:"seated"}}if(b%60===0&&Y.length>=2)for(let k=0;k<Y.length;k++){const V=Y[k];if(!(g.current[V.agentKey]&&b-g.current[V.agentKey]<Dx)&&!E.bubbles[V.agentKey])for(let Z=k+1;Z<Y.length;Z++){const F=Y[Z];if(g.current[F.agentKey]&&b-g.current[F.agentKey]<Dx||E.bubbles[F.agentKey])continue;const q=V.x-F.x,$=V.y-F.y;if(Math.sqrt(q*q+$*$)<CM){const[ct,vt]=Nx[Math.floor(Math.random()*Nx.length)];E.appendBubble(z,V.agentId,ct),setTimeout(()=>{We.getState().appendBubble(z,F.agentId,vt)},1500),g.current[V.agentKey]=b,g.current[F.agentKey]=b;const dt=`${z}:${V.agentId}`,St=`${z}:${F.agentId}`;p.current[dt]&&clearTimeout(p.current[dt]),p.current[St]&&clearTimeout(p.current[St]),p.current[dt]=setTimeout(()=>{We.getState().clearBubble(z,V.agentId),delete p.current[dt]},Ox),p.current[St]=setTimeout(()=>{We.getState().clearBubble(z,F.agentId),delete p.current[St]},Ox+1500);break}}}}a(C)},[]);return G.useEffect(()=>{if(n)return n.add(x),()=>{n.remove(x)}},[n,x]),t}Jp({Container:$n,Graphics:ni,Text:Zp});const RM=.3,zM=2;function wM(){const{app:n}=nM(),t=G.useRef(null),[a,l]=G.useState(new Map),o=G.useRef(null),c=We(E=>E.rooms),d=We(E=>E.agentVisuals),m=We(E=>E.bubbles),p=ti(E=>E.activeStates),g=MM((n==null?void 0:n.ticker)??null),x=G.useMemo(()=>Rp(c.length),[c.length]);G.useEffect(()=>{n!=null&&n.renderer&&l(sM(n))},[n]);const b=G.useCallback(E=>{E.clear(),uM(E,x),Mx(E,x.bathroomMale.x,x.bathroomMale.y,x.bathroomMale.width,x.bathroomMale.height,"male"),Mx(E,x.bathroomFemale.x,x.bathroomFemale.y,x.bathroomFemale.width,x.bathroomFemale.height,"female"),oM(E,x.kitchen.x,x.kitchen.y,x.kitchen.width,x.kitchen.height),cM(E,x.restArea.x,x.restArea.y,x.restArea.width,x.restArea.height)},[x]);return G.useEffect(()=>{const E=n==null?void 0:n.canvas;if(!E)return;const C=w=>{const O=t.current;O&&(o.current={startX:w.clientX,startY:w.clientY,pivotX:O.position.x,pivotY:O.position.y},E.setPointerCapture(w.pointerId))},M=w=>{const O=t.current,U=o.current;!O||!U||(O.position.x=U.pivotX+(w.clientX-U.startX),O.position.y=U.pivotY+(w.clientY-U.startY))},z=w=>{o.current=null,E.releasePointerCapture(w.pointerId)},R=w=>{w.preventDefault();const O=t.current;if(!O)return;const U=O.scale.x,Y=w.deltaY>0?.9:1.1,k=Math.max(RM,Math.min(zM,U*Y)),V=E.getBoundingClientRect(),Z=w.clientX-V.left,F=w.clientY-V.top,q=k/U;O.position.x=Z-(Z-O.position.x)*q,O.position.y=F-(F-O.position.y)*q,O.scale.set(k)};return E.addEventListener("pointerdown",C),E.addEventListener("pointermove",M),E.addEventListener("pointerup",z),E.addEventListener("pointerleave",z),E.addEventListener("wheel",R,{passive:!1}),()=>{E.removeEventListener("pointerdown",C),E.removeEventListener("pointermove",M),E.removeEventListener("pointerup",z),E.removeEventListener("pointerleave",z),E.removeEventListener("wheel",R)}},[n]),H.jsxs("container",{ref:t,children:[H.jsx("graphics",{draw:b}),x.corridorV.height>0&&H.jsx("text",{text:"Corredor",x:x.corridorV.x+x.corridorV.width/2,y:x.corridorV.y+8,anchor:{x:.5,y:0},style:{fontSize:11,fill:"#666666",fontFamily:"sans-serif",fontWeight:"bold"}}),H.jsx("text",{text:"Corredor",x:x.corridorH.x+x.corridorH.width/2,y:x.corridorH.y+8,anchor:{x:.5,y:0},style:{fontSize:11,fill:"#666666",fontFamily:"sans-serif",fontWeight:"bold"}}),H.jsx("text",{text:"WC ♂",x:x.bathroomMale.x+x.bathroomMale.width/2,y:x.bathroomMale.y+x.bathroomMale.height-8,anchor:{x:.5,y:1},style:{fontSize:10,fill:"#546e7a",fontFamily:"sans-serif",fontWeight:"bold"}}),H.jsx("text",{text:"WC ♀",x:x.bathroomFemale.x+x.bathroomFemale.width/2,y:x.bathroomFemale.y+x.bathroomFemale.height-8,anchor:{x:.5,y:1},style:{fontSize:10,fill:"#546e7a",fontFamily:"sans-serif",fontWeight:"bold"}}),H.jsx("text",{text:"Cozinha",x:x.kitchen.x+x.kitchen.width/2,y:x.kitchen.y+12,anchor:{x:.5,y:0},style:{fontSize:10,fill:"#795548",fontFamily:"sans-serif",fontWeight:"bold"}}),H.jsx("text",{text:"Descanso",x:x.restArea.x+x.restArea.width/2,y:x.restArea.y+12,anchor:{x:.5,y:0},style:{fontSize:10,fill:"#546e7a",fontFamily:"sans-serif",fontWeight:"bold"}}),c.map((E,C)=>{var O;const M=x.squadOrigins[C];if(!M)return null;const z=d[E]??[],R=((O=p[E])==null?void 0:O.status)??"idle",w=g[E]??{};return H.jsx(vM,{squadName:E,status:R,agents:z,textures:a,bubbles:m,animStates:w,originX:M.origin.x,originY:M.origin.y,roomWidth:M.width,roomHeight:M.height},E)}),c.map((E,C)=>{const M=d[E]??[],z=g[E]??{};return M.filter(R=>{const w=z[R.id];return(w==null?void 0:w.isExternalTransit)&&w.globalX!==void 0&&w.globalY!==void 0}).map(R=>{const w=z[R.id],O=`${E}:${R.id}`,U=m[O];return H.jsx(Ag,{agent:R,textures:a,bubbleText:(U==null?void 0:U.text)??null,animX:w.globalX,animY:w.globalY,animPose:w.pose},`transit-${R.id}`)})}),H.jsx(bM,{x:x.ceoOffice.x,y:x.ceoOffice.y,width:x.ceoOffice.width,height:x.ceoOffice.height,textures:a,ticker:(n==null?void 0:n.ticker)??null})]})}function DM(){const n=We(l=>l.activeRoom),t=We(l=>l.checkpoints),a=n?t[n]:void 0;return H.jsx("div",{style:{display:"flex",height:"100%"},children:H.jsxs("div",{style:{flex:1,position:"relative",overflow:"hidden"},children:[H.jsx(eM,{background:13158600,antialias:!0,resizeTo:window,style:{width:"100%",height:"100%"},children:H.jsx(wM,{})}),a&&H.jsx(aM,{agentName:a.agentName,question:a.question,onRespond:l=>LT(n,l)})]})})}function OM({message:n}){if(n.role==="agent_dm")return H.jsxs("div",{"data-role":"agent_dm",style:{alignSelf:"flex-start",background:"var(--surface-3)",border:"1px solid var(--border-default)",borderRadius:"var(--radius-md)",padding:"10px 14px",maxWidth:"75%",marginBottom:"var(--sp-2)",animation:"fadeInUp 0.3s var(--ease-out) both"},children:[H.jsx("div",{style:{fontFamily:"var(--font-mono)",fontSize:"0.65rem",color:"var(--accent)",fontWeight:600,marginBottom:4,letterSpacing:"0.02em"},children:n.agentName}),H.jsx("div",{style:{color:"var(--text-primary)",fontSize:"0.85rem",lineHeight:1.55},children:n.content})]});const t=n.role==="user";return H.jsx("div",{"data-role":n.role,style:{alignSelf:t?"flex-end":"flex-start",background:t?"var(--user-bubble)":"var(--agent-bubble)",border:t?"1px solid rgba(100, 160, 255, 0.15)":"1px solid var(--border-subtle)",borderRadius:"var(--radius-md)",padding:"10px 14px",maxWidth:"75%",marginBottom:"var(--sp-2)",animation:"fadeInUp 0.3s var(--ease-out) both"},children:H.jsx("div",{style:{color:"var(--text-primary)",fontSize:"0.85rem",lineHeight:1.55,whiteSpace:"pre-wrap"},children:n.content})})}function NM(){const[n,t]=G.useState(""),a=G.useRef(null),l=ti(M=>M.selectedSquad),o=Fi(M=>M.messages),c=Fi(M=>M.streaming),d=Fi(M=>M.streamingText),m=Fi(M=>M.error),p=Fi(M=>M.addUserMessage),g=Fi(M=>M.startStreaming),x=Fi(M=>M.loadHistory);if(G.useEffect(()=>{l&&x(l)},[l,x]),G.useEffect(()=>{var M,z;(z=(M=a.current)==null?void 0:M.scrollIntoView)==null||z.call(M,{behavior:"smooth"})},[o,d]),!l)return H.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",gap:"var(--sp-3)",animation:"fadeIn 0.5s var(--ease-out) both"},children:[H.jsx("div",{style:{width:48,height:48,borderRadius:"var(--radius-md)",background:"var(--surface-3)",border:"1px solid var(--border-subtle)",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"1.2rem",color:"var(--text-muted)"},children:"◈"}),H.jsx("span",{style:{color:"var(--text-muted)",fontSize:"0.85rem"},children:"Select a squad to start chatting"})]});const b=()=>{const M=n.trim();!M||c||(p(M),g(),YT(l,M),t(""))},E=M=>{M.key==="Enter"&&!M.shiftKey&&(M.preventDefault(),b())},C=n.trim()&&!c;return H.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[H.jsxs("div",{style:{flex:1,overflowY:"auto",padding:"var(--sp-4)",display:"flex",flexDirection:"column"},children:[o.map(M=>H.jsx(OM,{message:M},M.id)),c&&d&&H.jsx("div",{"data-role":"assistant",style:{alignSelf:"flex-start",background:"var(--agent-bubble)",border:"1px solid var(--border-subtle)",borderRadius:"var(--radius-md)",padding:"10px 14px",maxWidth:"75%",marginBottom:"var(--sp-2)"},children:H.jsxs("div",{style:{color:"var(--text-primary)",fontSize:"0.85rem",lineHeight:1.55,whiteSpace:"pre-wrap"},children:[d,H.jsx("span",{style:{display:"inline-block",width:6,height:14,background:"var(--accent)",marginLeft:2,animation:"pulse 1s ease-in-out infinite",borderRadius:1,verticalAlign:"text-bottom"}})]})}),m&&H.jsx("div",{style:{alignSelf:"center",background:"var(--status-error-glow)",border:"1px solid rgba(255, 64, 112, 0.25)",borderRadius:"var(--radius-sm)",padding:"8px 14px",color:"var(--status-error)",fontFamily:"var(--font-mono)",fontSize:"0.78rem",marginBottom:"var(--sp-2)"},children:m}),H.jsx("div",{ref:a})]}),H.jsxs("div",{style:{display:"flex",padding:"var(--sp-3) var(--sp-4)",borderTop:"1px solid var(--border-subtle)",gap:"var(--sp-2)",background:"var(--surface-1)"},children:[H.jsx("input",{type:"text",className:"input",value:n,onChange:M=>t(M.target.value),onKeyDown:E,placeholder:"Type a message...",disabled:c,style:{flex:1}}),H.jsx("button",{onClick:b,disabled:!C,"aria-label":"Send",className:C?"btn btn-accent":"btn",style:{padding:"0 var(--sp-5)",cursor:C?"pointer":"not-allowed",opacity:C?1:.4},children:"Send"})]})]})}const BM={idle:"var(--status-idle)",working:"var(--accent)",delivering:"var(--accent-dim)",done:"var(--status-active)",checkpoint:"var(--status-warning)"};function UM({agent:n}){const t=BM[n.status];return H.jsxs("div",{style:{background:"var(--surface-3)",borderRadius:"var(--radius-sm)",padding:"10px 12px",marginBottom:"var(--sp-2)",border:"1px solid var(--border-subtle)",transition:"border-color var(--duration-fast) var(--ease-out)"},children:[H.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:4},children:[H.jsx("span",{style:{fontWeight:600,fontSize:"0.82rem",color:"var(--text-primary)"},children:n.name}),H.jsx("span",{style:{fontFamily:"var(--font-mono)",fontSize:"0.62rem",fontWeight:600,color:t,padding:"2px 6px",borderRadius:"var(--radius-full)",border:`1px solid ${t}`,textTransform:"lowercase",letterSpacing:"0.02em"},children:n.status})]}),n.stepLabel&&H.jsx("div",{style:{fontFamily:"var(--font-mono)",fontSize:"0.7rem",color:"var(--text-muted)",lineHeight:1.4},children:n.stepLabel})]})}const HM=[{key:"pending",label:"Pending",color:"var(--status-idle)",glow:"none",filter:n=>n.status==="idle"},{key:"running",label:"Running",color:"var(--accent)",glow:"var(--accent-glow)",filter:n=>n.status==="working"||n.status==="checkpoint"||n.status==="delivering"},{key:"done",label:"Done",color:"var(--status-active)",glow:"var(--status-active-glow)",filter:n=>n.status==="done"}];function jM(){const n=ti(o=>o.selectedSquad),t=ti(o=>o.activeStates),a=n?t[n]:null,l=G.useMemo(()=>a?HM.map(o=>({...o,agents:a.agents.filter(o.filter)})):null,[a]);return n?a?H.jsx("div",{style:{display:"flex",gap:"var(--sp-4)",padding:"var(--sp-5)",height:"100%",overflow:"auto"},children:l.map((o,c)=>H.jsxs("div",{"data-testid":`column-${o.key}`,style:{flex:1,background:"var(--surface-2)",border:"1px solid var(--border-subtle)",borderRadius:"var(--radius-md)",padding:"var(--sp-4)",display:"flex",flexDirection:"column",minWidth:220,animation:`fadeInUp 0.4s var(--ease-out) ${c*80}ms both`},children:[H.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"var(--sp-4)",paddingBottom:"var(--sp-3)",borderBottom:`2px solid ${o.color}`},children:[H.jsx("span",{style:{fontWeight:600,fontSize:"0.82rem",color:"var(--text-primary)"},children:o.label}),H.jsx("span",{"data-testid":`count-${o.key}`,style:{fontFamily:"var(--font-mono)",fontSize:"0.65rem",fontWeight:700,color:o.color,background:o.glow,width:22,height:22,borderRadius:"var(--radius-full)",display:"flex",alignItems:"center",justifyContent:"center",border:`1px solid ${o.color}`},children:o.agents.length})]}),H.jsx("div",{style:{flex:1,overflowY:"auto"},children:o.agents.map(d=>H.jsx(UM,{agent:d},d.id))})]},o.key))}):H.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",gap:"var(--sp-3)",animation:"fadeIn 0.5s var(--ease-out) both"},children:[H.jsx("span",{style:{fontSize:"1.2rem",color:"var(--text-muted)"},children:"▦"}),H.jsx("span",{style:{color:"var(--text-muted)",fontSize:"0.85rem"},children:"No active state for this squad"})]}):H.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",gap:"var(--sp-3)",animation:"fadeIn 0.5s var(--ease-out) both"},children:[H.jsx("span",{style:{fontSize:"1.2rem",color:"var(--text-muted)"},children:"▦"}),H.jsx("span",{style:{color:"var(--text-muted)",fontSize:"0.85rem"},children:"Select a squad to view the kanban board"})]})}function GM(){const n=zl(U=>U.user),[t,a]=G.useState([]),[l,o]=G.useState(!0),[c,d]=G.useState(""),[m,p]=G.useState(""),[g,x]=G.useState("viewer"),[b,E]=G.useState(null),[C,M]=G.useState(null),z=G.useCallback(async()=>{try{const U=await fetch("/api/users",{credentials:"include"});if(U.ok){const Y=await U.json();a(Y.users)}}catch{E("Failed to load users")}finally{o(!1)}},[]);G.useEffect(()=>{z()},[z]);const R=async()=>{if(!(!c.trim()||!m.trim())){E(null);try{const U=await fetch("/api/auth/register",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:c,password:m,role:g}),credentials:"include"});if(!U.ok){const Y=await U.json();E(Y.error||"Failed to create user");return}d(""),p(""),x("viewer"),await z()}catch{E("Network error")}}},w=async(U,Y)=>{try{(await fetch(`/api/users/${U}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({role:Y}),credentials:"include"})).ok&&await z()}catch{E("Failed to update role")}},O=async U=>{try{(await fetch(`/api/users/${U}`,{method:"DELETE",credentials:"include"})).ok&&(M(null),await z())}catch{E("Failed to delete user")}};return l?H.jsx("div",{style:{color:"var(--text-muted)",padding:"var(--sp-5)",fontFamily:"var(--font-mono)",fontSize:"0.8rem",animation:"pulse 1.5s ease-in-out infinite"},children:"Loading users..."}):H.jsxs("div",{children:[H.jsx("h3",{style:{fontFamily:"var(--font-display)",fontWeight:700,fontSize:"0.95rem",color:"var(--text-primary)",marginBottom:"var(--sp-4)"},children:"User Management"}),b&&H.jsx("div",{style:{background:"var(--status-error-glow)",border:"1px solid rgba(255, 64, 112, 0.2)",color:"var(--status-error)",padding:"var(--sp-2) var(--sp-3)",borderRadius:"var(--radius-sm)",marginBottom:"var(--sp-3)",fontFamily:"var(--font-mono)",fontSize:"0.78rem"},children:b}),H.jsxs("div",{style:{display:"flex",gap:"var(--sp-2)",marginBottom:"var(--sp-5)",flexWrap:"wrap",alignItems:"center"},children:[H.jsx("input",{className:"input",placeholder:"Username",value:c,onChange:U=>d(U.target.value),style:{flex:1,minWidth:120}}),H.jsx("input",{className:"input",placeholder:"Password",type:"password",value:m,onChange:U=>p(U.target.value),style:{flex:1,minWidth:120}}),H.jsxs("select",{className:"input",value:g,onChange:U=>x(U.target.value),style:{minWidth:100},children:[H.jsx("option",{value:"viewer",children:"viewer"}),H.jsx("option",{value:"operator",children:"operator"}),H.jsx("option",{value:"admin",children:"admin"})]}),H.jsx("button",{onClick:R,className:"btn btn-accent",children:"Create User"})]}),H.jsxs("table",{style:{width:"100%",borderCollapse:"collapse"},children:[H.jsx("thead",{children:H.jsx("tr",{style:{borderBottom:"1px solid var(--border-default)"},children:["Username","Email","Role","Last Login","Actions"].map((U,Y)=>H.jsx("th",{style:{textAlign:Y===4?"right":"left",padding:"8px 12px",fontFamily:"var(--font-mono)",fontSize:"0.65rem",color:"var(--text-muted)",fontWeight:600,textTransform:"uppercase",letterSpacing:"0.08em"},children:U},U))})}),H.jsx("tbody",{children:t.map(U=>H.jsxs("tr",{style:{borderBottom:"1px solid var(--border-subtle)"},children:[H.jsx("td",{style:{padding:"10px 12px",color:"var(--text-primary)",fontSize:"0.82rem"},children:U.username}),H.jsx("td",{style:{padding:"10px 12px",color:"var(--text-secondary)",fontSize:"0.82rem"},children:U.email||"—"}),H.jsx("td",{style:{padding:"10px 12px"},children:U.id===(n==null?void 0:n.id)?H.jsx("span",{style:{fontFamily:"var(--font-mono)",fontSize:"0.72rem",color:"var(--text-secondary)"},children:U.role}):H.jsxs("select",{className:"input",value:U.role,onChange:Y=>w(U.id,Y.target.value),style:{padding:"4px 8px",fontSize:"0.75rem"},children:[H.jsx("option",{value:"viewer",children:"viewer"}),H.jsx("option",{value:"operator",children:"operator"}),H.jsx("option",{value:"admin",children:"admin"})]})}),H.jsx("td",{style:{padding:"10px 12px",fontFamily:"var(--font-mono)",fontSize:"0.7rem",color:"var(--text-muted)"},children:U.last_login?new Date(U.last_login).toLocaleDateString():"—"}),H.jsx("td",{style:{padding:"10px 12px",textAlign:"right"},children:U.id!==(n==null?void 0:n.id)&&(C===U.id?H.jsxs("span",{style:{display:"inline-flex",gap:"var(--sp-2)",alignItems:"center"},children:[H.jsx("span",{style:{color:"var(--status-error)",fontFamily:"var(--font-mono)",fontSize:"0.7rem"},children:"Confirm?"}),H.jsx("button",{onClick:()=>O(U.id),className:"btn btn-sm btn-danger",children:"Yes"}),H.jsx("button",{onClick:()=>M(null),className:"btn btn-sm",children:"No"})]}):H.jsx("button",{onClick:()=>M(U.id),className:"btn btn-sm btn-danger",children:"Delete"}))})]},U.id))})]})]})}function YM(){const n=ti(p=>p.selectedSquad),t=ti(p=>p.activeStates),[a,l]=G.useState(null),[o,c]=G.useState(!1),d=n?t[n]:null;if(G.useEffect(()=>{if(!n){l(null);return}c(!0),fetch(`/api/squads/${n}`,{credentials:"include"}).then(p=>p.ok?p.json():null).then(p=>{p&&l(p.data)}).finally(()=>c(!1))},[n]),!n)return H.jsx("div",{style:{color:"var(--text-muted)",padding:"var(--sp-5)",fontSize:"0.85rem"},children:"Select a squad to view details"});if(o)return H.jsx("div",{style:{color:"var(--text-muted)",padding:"var(--sp-5)",fontFamily:"var(--font-mono)",fontSize:"0.8rem",animation:"pulse 1.5s ease-in-out infinite"},children:"Loading squad details..."});const m={fontFamily:"var(--font-mono)",fontSize:"0.65rem",color:"var(--text-muted)",fontWeight:600,marginBottom:"var(--sp-2)",textTransform:"uppercase",letterSpacing:"0.08em"};return H.jsxs("div",{children:[H.jsx("h3",{style:{fontFamily:"var(--font-display)",fontWeight:700,fontSize:"0.95rem",color:"var(--text-primary)",marginBottom:"var(--sp-4)"},children:"Squad Info"}),a&&H.jsxs(H.Fragment,{children:[H.jsxs("div",{style:{marginBottom:"var(--sp-5)"},children:[H.jsx("div",{style:m,children:"Name"}),H.jsx("div",{style:{color:"var(--text-primary)",fontSize:"0.9rem",fontWeight:600},children:a.name})]}),H.jsxs("div",{style:{marginBottom:"var(--sp-5)"},children:[H.jsx("div",{style:m,children:"Description"}),H.jsx("div",{style:{color:"var(--text-primary)",fontSize:"0.85rem",lineHeight:1.5},children:a.description})]}),H.jsxs("div",{style:{marginBottom:"var(--sp-5)"},children:[H.jsx("div",{style:m,children:"Agents"}),H.jsx("div",{style:{display:"flex",gap:"var(--sp-2)",flexWrap:"wrap"},children:a.agents.map(p=>H.jsx("span",{style:{background:"var(--surface-3)",border:"1px solid var(--border-subtle)",borderRadius:"var(--radius-sm)",padding:"4px 10px",fontFamily:"var(--font-mono)",fontSize:"0.72rem",color:"var(--text-primary)"},children:p.name},p.id))})]}),H.jsxs("div",{style:{marginBottom:"var(--sp-5)"},children:[H.jsx("div",{style:m,children:"Pipeline Steps"}),H.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"var(--sp-2)"},children:a.pipeline.steps.map((p,g)=>H.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--sp-3)",background:"var(--surface-3)",border:"1px solid var(--border-subtle)",borderRadius:"var(--radius-sm)",padding:"8px 12px",fontSize:"0.82rem"},children:[H.jsx("span",{style:{background:"var(--accent)",color:"var(--text-inverse)",width:22,height:22,borderRadius:"var(--radius-full)",display:"flex",alignItems:"center",justifyContent:"center",fontFamily:"var(--font-mono)",fontSize:"0.65rem",fontWeight:700,flexShrink:0},children:g+1}),H.jsx("span",{style:{color:"var(--text-primary)"},children:p.label}),H.jsx("span",{style:{fontFamily:"var(--font-mono)",color:"var(--text-muted)",fontSize:"0.68rem",marginLeft:"auto"},children:p.agent})]},p.id))})]})]}),d&&H.jsxs("div",{style:{marginBottom:"var(--sp-5)"},children:[H.jsx("div",{style:m,children:"Current State"}),H.jsx("pre",{"data-testid":"state-json",style:{background:"var(--surface-3)",border:"1px solid var(--border-subtle)",borderRadius:"var(--radius-sm)",padding:"var(--sp-4)",fontFamily:"var(--font-mono)",fontSize:"0.72rem",color:"var(--accent)",overflow:"auto",maxHeight:400,lineHeight:1.5},children:JSON.stringify(d,null,2)})]})]})}function qM(){const[n,t]=G.useState(null),[a,l]=G.useState(null),[o,c]=G.useState(!0),[d,m]=G.useState(null),p=G.useCallback(async()=>{c(!0);try{const b=await fetch("/api/health",{credentials:"include"});if(b.ok){const E=await b.json();t(E),l(E.status==="ok")}else l(!1)}catch{l(!1)}finally{c(!1),m(new Date().toLocaleTimeString())}},[]);G.useEffect(()=>{p()},[p]);const g={fontFamily:"var(--font-mono)",fontSize:"0.65rem",color:"var(--text-muted)",fontWeight:600,marginBottom:"var(--sp-2)",textTransform:"uppercase",letterSpacing:"0.08em"},x={display:"flex",justifyContent:"space-between",alignItems:"center",padding:"10px 12px",background:"var(--surface-3)",border:"1px solid var(--border-subtle)",borderRadius:"var(--radius-sm)",marginBottom:"var(--sp-2)",fontSize:"0.82rem"};return H.jsxs("div",{children:[H.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"var(--sp-4)"},children:[H.jsx("h3",{style:{fontFamily:"var(--font-display)",fontWeight:700,fontSize:"0.95rem",color:"var(--text-primary)"},children:"Server Info"}),H.jsx("button",{onClick:p,className:"btn btn-sm",children:"Refresh"})]}),H.jsxs("div",{style:{marginBottom:"var(--sp-5)"},children:[H.jsx("div",{style:g,children:"Health Status"}),H.jsxs("div",{style:x,children:[H.jsx("span",{style:{color:"var(--text-primary)"},children:"API Server"}),o?H.jsx("span",{style:{fontFamily:"var(--font-mono)",fontSize:"0.75rem",color:"var(--text-muted)",animation:"pulse 1.5s ease-in-out infinite"},children:"Checking..."}):H.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:"var(--sp-1)",fontFamily:"var(--font-mono)",fontSize:"0.75rem",fontWeight:600,color:a?"var(--status-active)":"var(--status-error)"},children:[H.jsx("span",{style:{width:6,height:6,borderRadius:"50%",background:a?"var(--status-active)":"var(--status-error)",display:"inline-block",boxShadow:a?"0 0 8px var(--status-active-glow)":"0 0 8px var(--status-error-glow)"}}),a?"Healthy":"Unhealthy"]})]})]}),H.jsxs("div",{style:{marginBottom:"var(--sp-5)"},children:[H.jsx("div",{style:g,children:"Environment"}),H.jsxs("div",{style:x,children:[H.jsx("span",{style:{color:"var(--text-primary)"},children:"API Port"}),H.jsx("span",{style:{fontFamily:"var(--font-mono)",fontSize:"0.75rem",color:"var(--text-secondary)"},children:"3001"})]}),H.jsxs("div",{style:x,children:[H.jsx("span",{style:{color:"var(--text-primary)"},children:"Dashboard Port (dev)"}),H.jsx("span",{style:{fontFamily:"var(--font-mono)",fontSize:"0.75rem",color:"var(--text-secondary)"},children:"5173"})]})]}),d&&H.jsxs("div",{style:{fontFamily:"var(--font-mono)",fontSize:"0.65rem",color:"var(--text-muted)",textAlign:"right"},children:["Last checked: ",d]})]})}function LM(){const n=zl(d=>d.user),t=(n==null?void 0:n.role)==="admin",[a,l]=G.useState(t?"users":"squad"),c=[{key:"users",label:"Users",icon:"◉",adminOnly:!0},{key:"squad",label:"Squad",icon:"⬡"},{key:"server",label:"Server",icon:"⚙"}].filter(d=>!d.adminOnly||t);return H.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",padding:"var(--sp-5)",animation:"fadeIn 0.4s var(--ease-out) both"},children:[H.jsxs("div",{style:{marginBottom:"var(--sp-4)"},children:[H.jsx("h2",{style:{fontFamily:"var(--font-display)",fontWeight:700,fontSize:"1.1rem",color:"var(--text-primary)",marginBottom:"var(--sp-1)"},children:"Settings"}),H.jsx("p",{style:{fontFamily:"var(--font-mono)",fontSize:"0.7rem",color:"var(--text-muted)"},children:"Configuration and management"})]}),H.jsx("div",{style:{display:"flex",gap:"var(--sp-1)",marginBottom:"var(--sp-5)",borderBottom:"1px solid var(--border-subtle)"},children:c.map(d=>H.jsxs("button",{onClick:()=>l(d.key),style:{display:"flex",alignItems:"center",gap:"var(--sp-2)",padding:"10px 16px",border:"none",borderBottom:a===d.key?"2px solid var(--accent)":"2px solid transparent",background:"transparent",color:a===d.key?"var(--text-primary)":"var(--text-muted)",fontFamily:"var(--font-display)",fontWeight:a===d.key?600:400,fontSize:"0.82rem",cursor:"pointer",transition:"all var(--duration-fast) var(--ease-out)"},children:[H.jsx("span",{style:{fontSize:"0.75rem",opacity:.7},children:d.icon}),d.label]},d.key))}),H.jsxs("div",{style:{flex:1,overflow:"auto"},children:[a==="users"&&t&&H.jsx(GM,{}),a==="squad"&&H.jsx(YM,{}),a==="server"&&H.jsx(qM,{})]})]})}function XM(){const n=vs(p=>p.jobs),t=vs(p=>p.loading),a=vs(p=>p.fetchJobs),l=vs(p=>p.pauseJob),o=vs(p=>p.resumeJob),c=vs(p=>p.triggerJob);G.useEffect(()=>{a()},[a]);const d=p=>p==="active"?"var(--status-active)":p==="paused"?"var(--status-warning)":"var(--status-error)",m=p=>p==="active"?"var(--status-active-glow)":p==="paused"?"var(--status-warning-glow)":"var(--status-error-glow)";return H.jsxs("div",{style:{padding:"var(--sp-6)",animation:"fadeIn 0.4s var(--ease-out) both"},children:[H.jsxs("div",{style:{marginBottom:"var(--sp-5)"},children:[H.jsx("h2",{style:{fontFamily:"var(--font-display)",fontWeight:700,fontSize:"1.1rem",color:"var(--text-primary)",marginBottom:"var(--sp-1)"},children:"Scheduler"}),H.jsx("p",{style:{fontFamily:"var(--font-mono)",fontSize:"0.7rem",color:"var(--text-muted)"},children:"Autonomous job execution and monitoring"})]}),t&&H.jsx("p",{style:{color:"var(--text-muted)",fontFamily:"var(--font-mono)",fontSize:"0.8rem",animation:"pulse 1.5s ease-in-out infinite"},children:"Loading jobs..."}),!t&&n.length===0&&H.jsxs("div",{style:{padding:"var(--sp-8)",textAlign:"center",color:"var(--text-muted)"},children:[H.jsx("div",{style:{fontSize:"1.5rem",marginBottom:"var(--sp-3)"},children:"⏣"}),H.jsx("p",{style:{fontSize:"0.85rem",marginBottom:"var(--sp-2)"},children:"No scheduled jobs"}),H.jsxs("p",{style:{fontFamily:"var(--font-mono)",fontSize:"0.7rem"},children:["Add ",H.jsx("code",{style:{background:"var(--surface-3)",padding:"2px 6px",borderRadius:"var(--radius-xs)"},children:"schedule.enabled: true"})," to a squad.yaml to get started."]})]}),H.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"var(--sp-3)"},children:n.map((p,g)=>H.jsxs("div",{style:{background:"var(--surface-2)",border:"1px solid var(--border-subtle)",borderRadius:"var(--radius-md)",padding:"var(--sp-4)",display:"flex",justifyContent:"space-between",alignItems:"center",transition:"border-color var(--duration-fast) var(--ease-out)",animation:`fadeInUp 0.4s var(--ease-out) ${g*60}ms both`},children:[H.jsxs("div",{style:{flex:1,minWidth:0},children:[H.jsx("div",{style:{fontWeight:600,fontSize:"0.9rem",color:"var(--text-primary)",marginBottom:"var(--sp-1)"},children:p.squad_name}),H.jsxs("div",{style:{fontFamily:"var(--font-mono)",fontSize:"0.7rem",color:"var(--text-secondary)",display:"flex",alignItems:"center",gap:"var(--sp-3)",flexWrap:"wrap"},children:[H.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:4,color:d(p.status)},children:[H.jsx("span",{style:{width:6,height:6,borderRadius:"50%",background:d(p.status),boxShadow:`0 0 8px ${m(p.status)}`,display:"inline-block",animation:p.status==="active"?"statusPulse 2s ease-in-out infinite":"none"}}),p.status]}),H.jsx("span",{style:{color:"var(--border-strong)"},children:"│"}),H.jsx("code",{style:{background:"var(--surface-3)",padding:"1px 5px",borderRadius:"var(--radius-xs)",fontSize:"0.65rem"},children:p.cron_expression}),p.last_run_at&&H.jsxs(H.Fragment,{children:[H.jsx("span",{style:{color:"var(--border-strong)"},children:"│"}),H.jsxs("span",{children:["Last: ",new Date(p.last_run_at).toLocaleString()]})]}),p.last_result&&H.jsxs(H.Fragment,{children:[H.jsx("span",{style:{color:"var(--border-strong)"},children:"│"}),H.jsx("span",{children:p.last_result})]})]})]}),H.jsxs("div",{style:{display:"flex",gap:"var(--sp-2)",marginLeft:"var(--sp-3)"},children:[p.status==="active"?H.jsx("button",{onClick:()=>l(p.squad_name),className:"btn btn-sm",children:"Pause"}):H.jsx("button",{onClick:()=>o(p.squad_name),className:"btn btn-sm",children:"Resume"}),H.jsx("button",{onClick:()=>c(p.squad_name),className:"btn btn-sm btn-accent",children:"Trigger"})]})]},p.squad_name))})]})}const VM=G.lazy(()=>Pc(()=>import("./JarvisView-0mFELc1J.js"),[]).then(n=>({default:n.JarvisView})));KS.createRoot(document.getElementById("root")).render(H.jsx(G.StrictMode,{children:H.jsx(yT,{children:H.jsxs(Kb,{children:[H.jsx(ps,{path:"/login",element:H.jsx(l3,{})}),H.jsxs(ps,{path:"/",element:H.jsx(i3,{}),children:[H.jsx(ps,{index:!0,element:H.jsx(kb,{to:"/office",replace:!0})}),H.jsx(ps,{path:"office",element:H.jsx(DM,{})}),H.jsx(ps,{path:"chat",element:H.jsx(NM,{})}),H.jsx(ps,{path:"kanban",element:H.jsx(jM,{})}),H.jsx(ps,{path:"settings",element:H.jsx(LM,{})}),H.jsx(ps,{path:"scheduler",element:H.jsx(XM,{})}),H.jsx(ps,{path:"jarvis",element:H.jsx(G.Suspense,{fallback:null,children:H.jsx(VM,{})})})]})]})})}));export{kp as $,t2 as A,pd as B,zn as C,bi as D,_s as E,cr as F,ni as G,dg as H,Sd as I,e3 as J,R1 as K,Ap as L,le as M,fg as N,P_ as O,ya as P,$i as Q,jy as R,y4 as S,ze as T,wp as U,k_ as V,Fy as W,k4 as X,K4 as Y,$4 as Z,W4 as _,kM as a,bo as a0,T3 as a1,_d as a2,hg as a3,nC as a4,ai as a5,v_ as a6,Ii as a7,Xp as a8,f1 as a9,af as aa,HA as ab,tE as ac,d1 as ad,I0 as ae,m1 as af,nE as ag,ef as ah,mn as ai,S_ as aj,lA as ak,e2 as al,de as am,xd as an,un as ao,l4 as ap,t4 as aq,A4 as ar,x4 as as,Q4 as at,Z4 as au,tC as av,I4 as aw,eC as ax,zl as b,ti as c,HE as d,ei as e,on as f,CE as g,Ue as h,Cp as i,H as j,Wt as k,vC as l,__ as m,Qp as n,oC as o,Kp as p,w_ as q,G as r,YT as s,Ie as t,X0 as u,Jc as v,Ya as w,j3 as x,$n as y,d4 as z};
344
+ `)+s.join(" > ")}return null},zt.getPublicRootInstance=function(s){if(s=s.current,!s.child)return null;switch(s.child.tag){case 27:case 5:return Ur(s.child.stateNode);default:return s.child.stateNode}},zt.injectIntoDevTools=function(){var s={bundleType:0,version:uc,rendererPackageName:qu,currentDispatcherRef:Nt,findFiberByHostInstance:nh,reconcilerVersion:"19.0.0"};if(Lu!==null&&(s.rendererConfig=Lu),typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")s=!1;else{var r=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(r.isDisabled||!r.supportsFiber)s=!0;else{try{qr=r.inject(s),ua=r}catch{}s=!!r.checkDCE}}return s},zt.isAlreadyRendering=function(){return!1},zt.observeVisibleRects=function(s,r,h,v){if(!Gi)throw Error(o(363));s=Qn(s,r);var S=lh(s,h,v).disconnect;return{disconnect:function(){S()}}},zt.shouldError=function(){return null},zt.shouldSuspend=function(){return!1},zt.startHostTransition=function(s,r,h,v){if(s.tag!==5)throw Error(o(476));var S=Sf(s).queue;Ho(s,S,r,sa,h===null?l:function(){var T=Sf(s).next.queue;return Gl(s,T,{},Kn()),h(v)})},zt.updateContainer=function(s,r,h,v){var S=r.current,T=Kn();return am(S,T,s,r,h,v),T},zt.updateContainerSync=function(s,r,h,v){return r.tag===0&&vn(),am(r.current,2,s,r,h,v),2},zt},n.exports.default=n.exports,Object.defineProperty(n.exports,"__esModule",{value:!0})})(xy)),xy.exports}var vx;function d5(){return vx||(vx=1,vy.exports=h5()),vy.exports}var m5=d5();const p5=Hp(m5),y5=p5;function g5(n,t,a,l){throw new Error("Text instances are not yet supported. Please use a `<text>` component.")}function v5(){}function x5(){return!1}const L2={};function _5(n){return n??L2}function S5(){return su.currentUpdatePriority}function b5(){return null}function T5(n){throw new Error("Not yet implemented.")}function E5(n){return n}function C5(){return L2}function A5(n){n instanceof $n?n.visible=!1:n instanceof bo&&(n.enabled=!1)}function M5(n){throw new Error("Text instances are not yet supported. Please use a `<text>` component.")}function X2(n){if(n instanceof bo){const t=n.__pixireact.parent;if(t){const a=t.__pixireact.filters.indexOf(n);t.__pixireact.filters.splice(a,1),t.filters=t.__pixireact.filters}n.__pixireact.parent=null}}function V2(n,t,...a){}function xx(n,t,a){if(V2(),t instanceof $n){const l=t,o=t,c=a;l.parent===n&&n.removeChild(o);const d=n.getChildIndex(c);n.addChildAt(o,d)}else if(t instanceof bo){const c=t.__pixireact.filters.indexOf(a);X2(t),U2(n,t,c)}}function R5(){return!1}function z5(){return!0}function w5(){return null}function D5(){}function O5(){}function _x(n,t){t instanceof bo&&X2(t),t.destroy()}function N5(n){}function B5(){}function U5(){}function H5(){return-1.1}function j5(){return null}function G5(){var a;if(su.currentUpdatePriority)return su.currentUpdatePriority;const n=typeof self<"u"&&self||typeof window<"u"&&window;if(!n)return Wc.DefaultEventPriority;switch((a=n.event)==null?void 0:a.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return Wc.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return Wc.ContinuousEventPriority;default:return Wc.DefaultEventPriority}}function Y5(n){su.currentUpdatePriority=n}function q5(){return!1}function L5(){return!1}function X5(){}function V5(){}function k5(){}function Q5(n){n instanceof $n?n.visible=!0:n instanceof bo&&(n.enabled=!0)}function K5(n){throw new Error("Text instances are not yet supported. Please use a `<text>` component.")}function Z5(){return null}const J5={isPrimaryRenderer:!1,noTimeout:-1,NotPendingTransition:null,supportsHydration:!1,supportsMutation:!0,supportsPersistence:!1,warnsIfNotActing:!1,afterActiveInstanceBlur:QA,appendChild:gy,appendChildToContainer:gy,appendInitialChild:gy,beforeActiveInstanceBlur:KA,cancelTimeout:clearTimeout,clearContainer:ZA,commitUpdate:i5,createInstance:o5,createTextInstance:g5,hideTextInstance:M5,unhideTextInstance:K5,detachDeletedInstance:v5,finalizeInitialChildren:x5,getChildHostContext:_5,getCurrentUpdatePriority:S5,getInstanceFromNode:b5,getInstanceFromScope:T5,getPublicInstance:E5,getRootHostContext:C5,hideInstance:A5,insertBefore:xx,insertInContainerBefore:xx,maySuspendCommit:R5,preloadInstance:z5,prepareForCommit:w5,preparePortalMount:D5,prepareScopeUpdate:O5,removeChild:_x,removeChildFromContainer:_x,requestPostPaintCallback:N5,resetAfterCommit:B5,resetFormInstance:U5,resolveEventTimeStamp:H5,resolveEventType:j5,resolveUpdatePriority:G5,scheduleTimeout:setTimeout,shouldAttemptEagerTransition:q5,setCurrentUpdatePriority:Y5,shouldSetTextContent:L5,startSuspendingCommit:X5,suspendInstance:V5,trackSchedulerEvent:k5,unhideInstance:Q5,waitForCommitToBeReady:Z5,rendererPackageName:"@pixi/react",rendererVersion:kA.version},Up=y5(J5);Up.injectIntoDevTools();const sf=new Map;function F5(n,t={}){let a=sf.get(n),l=(a==null?void 0:a.applicationState)??{isInitialised:!1,isInitialising:!1};const o=(a==null?void 0:a.internalState)??{};a||(l.app=new mg,o.rootContainer=B2(l.app.stage));const c=(a==null?void 0:a.fiber)??Up.createContainer(o.rootContainer,Wc.ConcurrentRoot,null,!1,null,"",console.error,console.error,console.error,null);if(!a){let d;n instanceof HTMLCanvasElement&&(d=n),d||(d=document.createElement("canvas"),n.innerHTML="",n.appendChild(d)),o.canvas=d,a={applicationState:l,fiber:c,internalState:o,render:async(p,g)=>{var x;return!l.app.renderer&&!l.isInitialised&&!l.isInitialising&&(l.isInitialising=!0,await l.app.init({...g,canvas:d}),l.isInitialising=!1,l.isInitialised=!0,l={...l},(x=t.onInit)==null||x.call(t,l.app)),Object.entries(g).forEach(([b,E])=>{const C=b;N2(g,C)||(l.app[C]=E)}),Up.updateContainer(H.jsx(XA,{value:l,children:p}),c,null,()=>{}),l.app}},sf.set(d,a)}return a}function k2(n){su.unmountQueue.delete(n);const t=n.fiber;t&&Up.updateContainer(null,t,null,()=>{n.applicationState.app&&n.applicationState.app.destroy(),sf.delete(n.internalState.canvas)})}function W5(){for(const n of su.unmountQueue)k2(n)}function P5(n){const t=sf.get(n);t&&(t.applicationState.isInitialised?k2(t):su.unmountQueue.add(t))}function I5(n){const t=sf.get(n);t&&su.unmountQueue.delete(t)}var Bx,Ux;const vp=typeof window<"u"&&((Bx=window.document)!=null&&Bx.createElement||((Ux=window.navigator)==null?void 0:Ux.product)==="ReactNative")?G.useLayoutEffect:G.useEffect,$5={...So.defaultTextStyle},tM=G.forwardRef(function(t,a){const{children:l,className:o,defaultTextStyle:c,extensions:d,onInit:m,resizeTo:p,...g}=t,x=c3(),b=G.useRef(null),E=G.useRef(null),C=G.useRef(new Set);G.useImperativeHandle(a,()=>({getApplication(){return b.current},getCanvas(){return E.current}}));const M=G.useCallback(()=>{const R=b.current;R&&(p?"current"in p?p.current instanceof HTMLElement&&(R.resizeTo=p.current):R.resizeTo=p:R.resizeTo=void 0)},[p]),z=G.useCallback(R=>{W5(),b.current=R,M(),m==null||m(R)},[m]);return vp(()=>{if(d){const R=[...d],w=C.current;for(const O of w.values()){const U=R.indexOf(O);U===-1&&(Ie.remove(O),w.delete(O)),R.splice(U,1)}for(const O of R)Ie.add(O),w.add(O)}},[d]),vp(()=>{const R=E.current;if(R){let w=sf.get(R);w||(w=F5(R,{onInit:z})),w.render(H.jsx(x,{children:l}),g)}},[g,l,z,p]),vp(()=>{M()},[p]),vp(()=>{c?Object.assign(So.defaultTextStyle,c):Object.assign(So.defaultTextStyle,$5)},[c]),G.useEffect(()=>{const R=E.current;if(R)return I5(R),()=>{P5(R)}},[]),H.jsx("canvas",{ref:E,className:o})}),eM=G.forwardRef(function(t,a){return H.jsx(s_,{children:H.jsx(tM,{ref:a,...t})})});function Jp(n){Object.assign($y,n)}function nM(){const n=G.useContext(Cg);return V2(n.app instanceof mg,"No Context found with `%s`. Make sure to wrap component with `%s`","Application","AppProvider"),n}function aM({agentName:n,question:t,onRespond:a}){const[l,o]=G.useState(""),c=()=>{const m=l.trim();m&&(a(m),o(""))},d=m=>{m.key==="Enter"&&c()};return H.jsx("div",{style:{position:"fixed",inset:0,background:"rgba(7, 8, 14, 0.8)",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:50,animation:"fadeIn 0.2s var(--ease-out) both"},children:H.jsxs("div",{style:{background:"var(--surface-2)",border:"1px solid var(--status-warning)",borderRadius:"var(--radius-lg)",boxShadow:"0 0 40px var(--status-warning-glow), var(--shadow-lg)",padding:"var(--sp-6)",maxWidth:440,width:"100%",margin:"0 var(--sp-4)",animation:"scaleIn 0.3s var(--ease-spring) both"},children:[H.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--sp-2)",marginBottom:"var(--sp-4)"},children:[H.jsx("span",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:24,height:24,borderRadius:"var(--radius-full)",background:"var(--status-warning-glow)",border:"1px solid var(--status-warning)",color:"var(--status-warning)",fontSize:"0.7rem",fontWeight:700},children:"◆"}),H.jsxs("h2",{style:{fontFamily:"var(--font-mono)",fontSize:"0.78rem",fontWeight:700,color:"var(--status-warning)",textTransform:"uppercase",letterSpacing:"0.08em"},children:["Checkpoint — ",n]})]}),H.jsx("p",{style:{color:"var(--text-primary)",fontSize:"0.85rem",lineHeight:1.6,marginBottom:"var(--sp-5)"},children:t}),H.jsxs("div",{style:{display:"flex",gap:"var(--sp-2)"},children:[H.jsx("input",{type:"text",className:"input",placeholder:"Type your response...",value:l,onChange:m=>o(m.target.value),onKeyPress:d,autoFocus:!0,style:{flex:1}}),H.jsx("button",{onClick:c,className:"btn",style:{background:"var(--status-warning)",color:"var(--text-inverse)",border:"1px solid var(--status-warning)",fontWeight:600,padding:"0 var(--sp-4)"},children:"Send"})]})]})})}const Sx=[16109737,15251594,13935988,13012574,10515018,9133628],bx=[2890510,4861722,9136404,12886874,1710618,9118976],iM=Ep,Bt=iM/2,Gt=7,_e=14,ln=12,sn=5,Zi=10,Te=4,Ji=9,Jt=8;function Vc(n,t,a,l,o){n.circle(t,a-1,Gt+1),n.fill(o),n.circle(t,a,Gt),n.fill(l),n.circle(t-3,a-1,1.5),n.fill(1710618),n.circle(t+3,a-1,1.5),n.fill(1710618),n.circle(t-2.5,a-1.5,.6),n.fill(16777215),n.circle(t+3.5,a-1.5,.6),n.fill(16777215)}function kc(n,t,a,l,o,c){n.roundRect(t-l/2,a,l,o,3),n.fill(c),n.moveTo(t-3,a),n.lineTo(t,a+4),n.lineTo(t+3,a),n.stroke({width:1,color:lM(c,.15)})}function Tx(n,t,a,l,o){n.roundRect(t-l-1,a,l,o,2),n.fill(2899536),n.roundRect(t+1,a,l,o,2),n.fill(2899536)}function Ex(n,t,a,l){n.roundRect(t-l-2,a,l+2,3,1),n.fill(1710618),n.roundRect(t,a,l+2,3,1),n.fill(1710618)}function lM(n,t){const a=Math.max(0,(n>>16&255)*(1-t)),l=Math.max(0,(n>>8&255)*(1-t)),o=Math.max(0,(n&255)*(1-t));return Math.floor(a)<<16|Math.floor(l)<<8|Math.floor(o)}function sM(n){const t=new Map;for(let a=0;a<zy.length;a++){const l=zy[a],o=Sx[a%Sx.length],c=bx[a%bx.length],d=new ni;Vc(d,Bt,Jt,o,c),kc(d,Bt,Jt+Gt,_e,ln,l),d.roundRect(Bt-_e/2-Te,Jt+Gt+1,Te,Ji,2),d.fill(l),d.roundRect(Bt+_e/2,Jt+Gt+1,Te,Ji,2),d.fill(l),d.circle(Bt-_e/2-Te/2,Jt+Gt+Ji+1,2),d.fill(o),d.circle(Bt+_e/2+Te/2,Jt+Gt+Ji+1,2),d.fill(o),Tx(d,Bt,Jt+Gt+ln,sn,Zi),Ex(d,Bt,Jt+Gt+ln+Zi,sn),t.set(`agent-${a}-standing`,n.renderer.generateTexture(d));const m=new ni,p=Jt+4;Vc(m,Bt,p,o,c),kc(m,Bt,p+Gt,_e,ln-2,l),m.roundRect(Bt-_e/2-Te+1,p+Gt+2,Te,Ji-3,2),m.fill(l),m.roundRect(Bt+_e/2-1,p+Gt+2,Te,Ji-3,2),m.fill(l);const g=6;m.roundRect(Bt-sn-1,p+Gt+ln-2,sn+1,g,2),m.fill(2899536),m.roundRect(Bt,p+Gt+ln-2,sn+1,g,2),m.fill(2899536),t.set(`agent-${a}-seated`,n.renderer.generateTexture(m));const x=new ni,b=Jt+4;Vc(x,Bt+2,b,o,c),kc(x,Bt+1,b+Gt,_e,ln-2,l),x.roundRect(Bt+_e/2,b+Gt+2,Te+4,4,2),x.fill(l),x.roundRect(Bt+_e/2-2,b+Gt+2,Te+4,4,2),x.fill(l),x.circle(Bt+_e/2+Te+3,b+Gt+4,2),x.fill(o),x.circle(Bt+_e/2+Te+1,b+Gt+4,2),x.fill(o),m.roundRect(Bt-sn-1,b+Gt+ln-2,sn+1,g,2),m.fill(2899536),x.roundRect(Bt,b+Gt+ln-2,sn+1,g,2),x.fill(2899536),t.set(`agent-${a}-typing`,n.renderer.generateTexture(x));const E=new ni;Vc(E,Bt,Jt,o,c),kc(E,Bt,Jt+Gt,_e,ln,l),E.roundRect(Bt-_e/2-Te,Jt+Gt-1,Te,Ji+2,2),E.fill(l),E.roundRect(Bt+_e/2,Jt+Gt+3,Te,Ji-2,2),E.fill(l),E.roundRect(Bt+1,Jt+Gt+ln,sn,Zi+2,2),E.fill(2899536),E.roundRect(Bt-sn-1,Jt+Gt+ln-2,sn,Zi,2),E.fill(2899536),E.roundRect(Bt,Jt+Gt+ln+Zi+1,sn+2,3,1),E.fill(1710618),E.roundRect(Bt-sn-2,Jt+Gt+ln+Zi-3,sn+1,3,1),E.fill(1710618),t.set(`agent-${a}-walk-right`,n.renderer.generateTexture(E));const C=new ni;Vc(C,Bt,Jt,o,c),kc(C,Bt,Jt+Gt,_e,ln,l),C.roundRect(Bt+_e/2,Jt+Gt-1,Te,Ji+2,2),C.fill(l),C.roundRect(Bt-_e/2-Te,Jt+Gt+3,Te,Ji-2,2),C.fill(l),C.roundRect(Bt-sn-1,Jt+Gt+ln,sn,Zi+2,2),C.fill(2899536),C.roundRect(Bt+1,Jt+Gt+ln-2,sn,Zi,2),C.fill(2899536),C.roundRect(Bt-sn-2,Jt+Gt+ln+Zi+1,sn+2,3,1),C.fill(1710618),C.roundRect(Bt,Jt+Gt+ln+Zi-3,sn+1,3,1),C.fill(1710618),t.set(`agent-${a}-walk-left`,n.renderer.generateTexture(C));const M=new ni;Vc(M,Bt,Jt,o,c),kc(M,Bt,Jt+Gt,_e,ln,l),M.roundRect(Bt-_e/2-Te,Jt+Gt+1,Te,Ji,2),M.fill(l),M.circle(Bt-_e/2-Te/2,Jt+Gt+Ji+1,2),M.fill(o),M.roundRect(Bt+_e/2,Jt+Gt,Te,6,2),M.fill(l),M.circle(Bt+_e/2+Te/2+1,Jt+Gt,2),M.fill(o),M.roundRect(Bt+_e/2+Te/2-1,Jt+Gt-6,6,7,1),M.fill(14142664),M.moveTo(Bt+_e/2+Te/2,Jt+Gt-7),M.quadraticCurveTo(Bt+_e/2+Te/2+2,Jt+Gt-11,Bt+_e/2+Te/2,Jt+Gt-14),M.stroke({width:1,color:16777215,alpha:.4}),M.moveTo(Bt+_e/2+Te/2+3,Jt+Gt-7),M.quadraticCurveTo(Bt+_e/2+Te/2+5,Jt+Gt-10,Bt+_e/2+Te/2+3,Jt+Gt-13),M.stroke({width:1,color:16777215,alpha:.3}),Tx(M,Bt,Jt+Gt+ln,sn,Zi),Ex(M,Bt,Jt+Gt+ln+Zi,sn),t.set(`agent-${a}-coffee`,n.renderer.generateTexture(M))}return t}function rM(n,t){const a=n%zy.length;let l;switch(t){case"working":l="typing";break;case"typing":l="typing";break;case"standing":l="standing";break;case"coffee":l="coffee";break;case"walk-right":l="walk-right";break;case"walk-left":l="walk-left";break;case"delivering":l="walk-right";break;case"idle":l="standing";break;case"seated":l="seated";break;case"checkpoint":case"done":default:l="seated";break}return`agent-${a}-${l}`}function uM(n,t){const a=e_;n.roundRect(0,0,t.totalWidth,t.totalHeight,4),n.fill($c.wall),n.rect(0,0,t.totalWidth,3),n.fill({color:$c.wallHighlight,alpha:.5}),Ax(n,t.corridorH.x,t.corridorH.y,t.corridorH.width,t.corridorH.height,"horizontal"),Ax(n,t.corridorV.x,t.corridorV.y,t.corridorV.width,t.corridorV.height,"vertical");for(const E of t.squadOrigins){const{origin:C,width:M,height:z,doorSide:R}=E;R==="right"?td(n,C.x+M,C.y+z/2-er/2,a,er):R==="left"?td(n,C.x-a,C.y+z/2-er/2,a,er):R==="top"?$h(n,C.x+M/2-er/2,C.y-a,er,a):$h(n,C.x+M/2-er/2,C.y+z,er,a)}const l=t.ceoOffice,o=Math.min(er,60);td(n,l.x+l.width,l.y+l.height/2-o/2,a,o),$h(n,l.x+l.width/2-o/2,l.y+l.height,o,a);const c=t.bathroomMale;$h(n,c.x+c.width/2-30,c.y+c.height,60,a);const d=t.bathroomFemale;$h(n,d.x+d.width/2-30,d.y+d.height,60,a);const m=t.kitchen;td(n,m.x+m.width,m.y+m.height/2-30,a,60);const p=t.restArea;td(n,p.x-a,p.y+p.height/2-30,a,60);const g=t.corridorV;if(g.height>100){const E=g.x+g.width/2;for(let C=g.y+60;C<g.y+g.height-40;C+=200)Cx(n,E,C)}const x=t.corridorH,b=x.y+x.height/2;for(let E=x.x+80;E<x.x+x.width-80;E+=220)Cx(n,E,b);n.roundRect(0,0,t.totalWidth,t.totalHeight,4),n.stroke({width:2,color:5533306,alpha:.6})}function $h(n,t,a,l,o){n.rect(t,a,l,o),n.fill(iu.floor),n.rect(t-2,a,2,o),n.fill($c.doorFrame),n.rect(t+l,a,2,o),n.fill($c.doorFrame)}function td(n,t,a,l,o){n.rect(t,a,l,o),n.fill(iu.floor),n.rect(t,a-2,l,2),n.fill($c.doorFrame),n.rect(t,a+o,l,2),n.fill($c.doorFrame)}function Cx(n,t,a){n.roundRect(t-8,a-12,16,12,2),n.fill(9133628),n.circle(t,a-16,8),n.fill(5025616),n.circle(t-4,a-20,5),n.fill(3706428),n.circle(t+4,a-18,6),n.fill(6732650)}function Ax(n,t,a,l,o,c){n.rect(t,a,l,o),n.fill(iu.floor);const d=40;for(let m=0;m<Math.ceil(o/d);m++){for(let p=0;p<Math.ceil(l/d);p++){const g=t+p*d,x=a+m*d;(m+p)%2===0&&(n.rect(g,x,d,d),n.fill({color:iu.tile,alpha:.5})),n.moveTo(g,a),n.lineTo(g,a+o),n.stroke({width:.5,color:iu.grout,alpha:.3})}n.moveTo(t,a+m*d),n.lineTo(t+l,a+m*d),n.stroke({width:.5,color:iu.grout,alpha:.3})}c==="horizontal"?(n.rect(t+10,a+o/2-2,l-20,4),n.fill({color:iu.stripe,alpha:.3})):(n.rect(t+l/2-2,a+10,4,o-20),n.fill({color:iu.stripe,alpha:.3}))}function Mx(n,t,a,l,o,c){n.rect(t,a,l,o),n.fill(ja.floor);const d=20;for(let R=0;R<Math.ceil(o/d);R++)for(let w=0;w<Math.ceil(l/d);w++)if((R+w)%2===0){const O=t+w*d,U=a+R*d;n.rect(O,U,d,d),n.fill({color:ja.tile,alpha:.4})}for(let R=0;R<=Math.ceil(o/d);R++)n.moveTo(t,a+R*d),n.lineTo(t+l,a+R*d),n.stroke({width:.5,color:ja.tileGrout,alpha:.3});for(let R=0;R<=Math.ceil(l/d);R++)n.moveTo(t+R*d,a),n.lineTo(t+R*d,a+o),n.stroke({width:.5,color:ja.tileGrout,alpha:.3});const m=Math.min(6,Math.max(2,Math.floor((l-20)/70))),p=(l-20)/m,g=80,x=a+o-g-10;for(let R=0;R<m;R++){const w=t+10+R*p;n.rect(w,x,3,g),n.fill(ja.stall),n.rect(w+p-3,x,3,g),n.fill(ja.stall),n.roundRect(w+6,x,p-12,g-4,2),n.fill({color:ja.stallDoor,alpha:.6}),n.circle(w+p-16,x+g/2,2),n.fill({color:7901340,alpha:.8});const O=w+p/2,U=x+g-24;n.roundRect(O-8,U,16,20,4),n.fill(ja.toilet),n.roundRect(O-6,U+2,12,14,3),n.fill(ja.toiletSeat),n.roundRect(O-6,U+2,12,14,3),n.stroke({width:.5,color:12434877,alpha:.5})}const b=Math.min(4,Math.max(2,Math.floor(l/100))),E=l/(b+1),C=a+30;n.rect(t+4,a+4,l-8,60),n.fill({color:ja.wall,alpha:.3});for(let R=0;R<b;R++){const w=t+E*(R+1);n.roundRect(w-12,a+8,24,20,3),n.fill(ja.mirrorFrame),n.roundRect(w-10,a+10,20,16,2),n.fill(ja.mirror),n.roundRect(w-6,a+12,6,10,1),n.fill({color:16777215,alpha:.15}),n.roundRect(w-14,C,28,16,3),n.fill(ja.sink),n.ellipse(w,C+8,8,5),n.fill(ja.sinkBowl),n.ellipse(w,C+8,8,5),n.stroke({width:.5,color:12434877,alpha:.4}),n.roundRect(w-2,C+1,4,6,1),n.fill(ja.pipe)}const M=t+l/2,z=a+o-20;n.roundRect(M-12,z-6,24,14,3),n.fill({color:3622735,alpha:.7}),c==="male"?(n.circle(M,z-2,3),n.fill({color:16777215,alpha:.8}),n.rect(M-3,z+1,6,4),n.fill({color:4367861,alpha:.8})):(n.circle(M,z-2,3),n.fill({color:16777215,alpha:.8}),n.moveTo(M-5,z+5),n.lineTo(M+5,z+5),n.lineTo(M,z+1),n.closePath(),n.fill({color:15684432,alpha:.8})),n.rect(t,a,l,o),n.stroke({width:1,color:0,alpha:.08})}function oM(n,t,a,l,o){n.rect(t,a,l,o),n.fill(qn.floor);const c=24;for(let g=0;g<Math.ceil(o/c);g++)for(let x=0;x<Math.ceil(l/c);x++)(g+x)%2===0&&(n.rect(t+x*c,a+g*c,c,c),n.fill({color:qn.tile,alpha:.4}));for(let g=0;g<=Math.ceil(o/c);g++)n.moveTo(t,a+g*c),n.lineTo(t+l,a+g*c),n.stroke({width:.5,color:qn.tileGrout,alpha:.3});for(let g=0;g<=Math.ceil(l/c);g++)n.moveTo(t+g*c,a),n.lineTo(t+g*c,a+o),n.stroke({width:.5,color:qn.tileGrout,alpha:.3});n.roundRect(t+6,a+10,24,o-20,3),n.fill(qn.counter),n.roundRect(t+7,a+11,22,o-22,2),n.fill(qn.counterTop),n.roundRect(t+6,a+10,24,40,3),n.fill(qn.fridge),n.roundRect(t+8,a+12,20,18,2),n.fill(qn.fridgeDoor),n.roundRect(t+8,a+32,20,16,2),n.fill(qn.fridgeDoor),n.roundRect(t+26,a+20,2,8,1),n.fill(qn.fridgeHandle),n.roundRect(t+26,a+36,2,8,1),n.fill(qn.fridgeHandle),n.roundRect(t+10,a+60,16,20,2),n.fill(qn.coffeeMaker),n.circle(t+18,a+64,2),n.fill({color:qn.coffeeMakerLight,alpha:.9});const d=t+l/2-16,m=a+o/2-12;n.roundRect(d,m,32,24,4),n.fill(qn.table),n.roundRect(d+2,m+2,28,20,3),n.fill(qn.tableTop);const p=[{cx:d-6,cy:m+12},{cx:d+38,cy:m+12},{cx:d+16,cy:m+30}];for(const g of p)n.roundRect(g.cx-5,g.cy-5,10,10,3),n.fill(qn.chair);n.circle(t+l/2,a+8,4),n.fill({color:qn.lamp,alpha:.6}),n.circle(t+l/2,a+8,8),n.fill({color:qn.lamp,alpha:.1}),n.rect(t,a,l,o),n.stroke({width:1,color:0,alpha:.08})}function cM(n,t,a,l,o){n.rect(t,a,l,o),n.fill($a.floor),n.roundRect(t+8,a+8,l-16,o-16,6),n.fill({color:$a.carpet,alpha:.2}),n.roundRect(t+12,a+12,l-24,o-24,4),n.stroke({width:1,color:$a.carpetBorder,alpha:.15});const c=t+10,d=a+10,m=l-20,p=28;n.roundRect(c,d,m,10,3),n.fill($a.sofaArm),n.roundRect(c,d+8,m,p-8,4),n.fill($a.sofa);const g=(m-12)/3;for(let M=0;M<3;M++)n.roundRect(c+4+M*(g+2),d+10,g,p-14,3),n.fill($a.sofaCushion);n.roundRect(c-2,d+6,6,p-4,2),n.fill($a.sofaArm),n.roundRect(c+m-4,d+6,6,p-4,2),n.fill($a.sofaArm);const x=t+l/2,b=a+o-20;n.roundRect(x-12,b+8,24,10,2),n.fill($a.tvStand),n.roundRect(x-20,b-12,40,22,2),n.fill($a.tv),n.roundRect(x-18,b-10,36,18,1),n.fill($a.tvScreen),n.roundRect(x-14,b-8,10,6,1),n.fill({color:16777215,alpha:.05});const E=t+l-30,C=a+o/2-8;n.roundRect(E,C,20,16,3),n.fill($a.sideTable),n.rect(E+3,C+2,8,11),n.fill({color:$a.magazine,alpha:.7}),n.rect(E+8,C+4,8,10),n.fill({color:$a.magazineAlt,alpha:.6}),n.roundRect(t+8,a+o-40,12,10,2),n.fill(9133628),n.circle(t+14,a+o-34,7),n.fill(5025616),n.circle(t+11,a+o-38,4),n.fill(3706428),n.rect(t,a,l,o),n.stroke({width:1,color:0,alpha:.08})}function fM(n,t,a){n.rect(0,0,t,a),n.fill(Yt.floor);const l=20,o=80;for(let b=0;b<Math.ceil(a/l);b++){const E=b%2*(o/2),C=b*l;n.moveTo(0,C),n.lineTo(t,C),n.stroke({width:1,color:Yt.floorGrout,alpha:.4});for(let M=0;M<Math.ceil(t/o)+1;M++){const z=M*o-E;z>0&&z<t&&(n.moveTo(z,C),n.lineTo(z,C+l),n.stroke({width:1,color:Yt.floorGrout,alpha:.25}))}b%3===0&&(n.rect(0,C+2,t,l-4),n.fill({color:Yt.floorHighlight,alpha:.08}))}const c=42;n.rect(0,c,t,4),n.fill({color:0,alpha:.1}),n.rect(0,0,t,c),n.fill({color:Yt.wall,alpha:.2}),n.rect(0,0,t,3),n.fill({color:Yt.wallTrim,alpha:.15}),n.rect(0,c-4,t,4),n.fill({color:Yt.baseboard,alpha:.2});const d=120,m=t-d*2,p=a-200,g=d,x=100;m>100&&p>60&&(n.roundRect(g+3,x+3,m,p,6),n.fill({color:0,alpha:.08}),n.roundRect(g,x,m,p,6),n.fill({color:Yt.rug,alpha:.15}),n.roundRect(g+4,x+4,m-8,p-8,4),n.stroke({width:1.5,color:Yt.rugBorder,alpha:.12}),n.roundRect(g+12,x+12,m-24,p-24,3),n.stroke({width:1,color:Yt.rugPattern,alpha:.1}))}function hM(n,t,a){const l=t+Ml/2,o=a+nu+8;for(let z=0;z<5;z++){const R=z/5*Math.PI*2-Math.PI/2,w=l+Math.cos(R)*10,O=o+14+Math.sin(R)*5;n.circle(w,O,2),n.fill(Yt.chairWheel)}n.rect(l-1.5,o+4,3,12),n.fill(Yt.chairBase),n.roundRect(l-14,o,28,10,4),n.fill(Yt.chairSeat),n.roundRect(l-12,o+1,24,4,3),n.fill({color:Yt.chairBack,alpha:.5}),n.roundRect(l-12,o-16,24,18,5),n.fill(Yt.chairBack),n.roundRect(l-10,o-14,20,8,3),n.fill({color:16777215,alpha:.05}),n.roundRect(t+3,a+3,Ml,nu,4),n.fill({color:0,alpha:.12}),n.roundRect(t,a,Ml,nu,4),n.fill(Yt.desk),n.roundRect(t+2,a+2,Ml-4,nu-4,3),n.fill(Yt.deskTop);for(let z=0;z<3;z++){const R=a+10+z*16;n.moveTo(t+6,R),n.lineTo(t+Ml-6,R),n.stroke({width:.5,color:Yt.deskShadow,alpha:.2})}n.rect(t+2,a+nu-6,Ml-4,4),n.fill(Yt.deskEdge);const c=4,d=8;n.rect(t+4,a+nu,c,d),n.fill(Yt.deskLeg),n.rect(t+Ml-4-c,a+nu,c,d),n.fill(Yt.deskLeg);const m=32,p=22,g=t+(Ml-m)/2,x=a+8;n.roundRect(g+m/2-10,x+p+4,20,4,2),n.fill(Yt.monitorStand),n.rect(g+m/2-2,x+p,4,6),n.fill(Yt.monitorStand),n.roundRect(g,x,m,p,2),n.fill(Yt.monitor),n.roundRect(g+2,x+2,m-4,p-5,1),n.fill(Yt.monitorScreen),n.roundRect(g+3,x+3,m-6,6,1),n.fill({color:Yt.monitorScreenGlow,alpha:.3});const b=24,E=8,C=g+(m-b)/2,M=x+p+10;n.roundRect(C,M,b,E,2),n.fill(Yt.keyboard);for(let z=0;z<3;z++)for(let R=0;R<6;R++)n.rect(C+2+R*3.5,M+1.5+z*2.5,2.5,1.5),n.fill(Yt.keyboardKey);n.roundRect(t+Ml-18,a+14,7,8,2),n.fill(14142664),n.roundRect(t+Ml-11,a+16,3,4,1),n.fill(14142664),n.rect(t+8,a+20,14,18),n.fill(16775620),n.rect(t+8,a+20,14,2),n.fill(16635957),n.rect(t+10,a+24,10,1.5),n.fill(1402304)}function dM(n,t,a){n.roundRect(t+2,a+2,44,64,3),n.fill({color:0,alpha:.1}),n.roundRect(t,a,44,64,3),n.fill(Yt.bookshelf),n.roundRect(t+1,a+1,42,62,2),n.stroke({width:1,color:Yt.bookshelfEdge,alpha:.3}),n.rect(t+3,a+3,38,58),n.fill({color:6048310,alpha:.5});for(let l=0;l<3;l++){const o=a+8+l*20;n.rect(t+3,o+14,38,3),n.fill(Yt.bookshelfEdge),n.rect(t+3,o+17,38,1),n.fill({color:0,alpha:.1});const c=4+l%2;for(let d=0;d<c;d++){const m=t+5+d*(34/c),p=Math.max(4,34/c-2),g=10+(d*3+l*2)%5,x=(d+l*3)%Yt.bookColors.length;n.rect(m,o+14-g,p,g),n.fill(Yt.bookColors[x]),n.rect(m+1,o+14-g+2,.8,g-4),n.fill({color:16777215,alpha:.15})}l===1&&(n.circle(t+38,o+8,4),n.fill({color:4367861,alpha:.6}),n.circle(t+38,o+8,4),n.stroke({width:.5,color:2001125,alpha:.4}))}n.roundRect(t+14,a-4,8,6,1),n.fill(Yt.pot),n.circle(t+18,a-6,5),n.fill(Yt.plantLight),n.circle(t+15,a-8,3),n.fill(Yt.plant)}function Rx(n,t,a){n.ellipse(t+12,a+34,12,3),n.fill({color:0,alpha:.1}),n.moveTo(t+2,a+16),n.lineTo(t+4,a+32),n.lineTo(t+20,a+32),n.lineTo(t+22,a+16),n.closePath(),n.fill(Yt.pot),n.roundRect(t,a+14,24,5,2),n.fill(Yt.potRim),n.roundRect(t+2,a+14,20,2,1),n.fill({color:16777215,alpha:.08}),n.ellipse(t+12,a+16,10,3),n.fill(Yt.soil),n.rect(t+11,a+2,2,14),n.fill(Yt.plantDark),n.ellipse(t+6,a+4,7,5),n.fill(Yt.plantDark),n.ellipse(t+18,a+2,6,5),n.fill(Yt.plantDark),n.ellipse(t+12,a+1,8,6),n.fill(Yt.plant),n.ellipse(t+4,a+8,6,4),n.fill(Yt.plant),n.ellipse(t+20,a+8,6,4),n.fill(Yt.plant),n.ellipse(t+9,a+5,5,4),n.fill(Yt.plantLight),n.ellipse(t+15,a+3,5,4),n.fill(Yt.plantLight),n.moveTo(t+12,a-2),n.lineTo(t+12,a+6),n.stroke({width:.5,color:Yt.plantDark,alpha:.3})}function mM(n,t,a){n.roundRect(t+2,a+2,80,40,4),n.fill({color:0,alpha:.1}),n.roundRect(t,a,80,40,4),n.fill(pa.counter),n.roundRect(t+1,a+1,78,8,3),n.fill(pa.counterTop),n.roundRect(t+2,a+2,76,3,2),n.fill({color:16777215,alpha:.06}),n.roundRect(t+4,a-14,28,38,3),n.fill(pa.machine),n.roundRect(t+5,a-14,26,6,2),n.fill(pa.machineTop),n.roundRect(t+8,a+16,20,4,1),n.fill({color:2503224,alpha:.8}),n.rect(t+13,a+8,3,8),n.fill(pa.machineTop),n.rect(t+20,a+8,3,8),n.fill(pa.machineTop),n.circle(t+18,a-8,2.5),n.fill({color:pa.machineLight,alpha:.9}),n.circle(t+18,a-8,5),n.fill({color:pa.machineLight,alpha:.15}),n.roundRect(t+38,a+8,8,10,2),n.fill(pa.cup),n.roundRect(t+46,a+10,3,5,1),n.fill(pa.cup),n.roundRect(t+48,a+6,8,10,2),n.fill(pa.cupShadow),n.ellipse(t+42,a+20,10,3),n.fill(pa.saucer),n.roundRect(t+60,a+6,16,14,3),n.fill(pa.sink),n.roundRect(t+62,a+8,12,10,2),n.fill({color:5533306,alpha:.8}),n.rect(t+66,a-2,3,10),n.fill(pa.faucet),n.roundRect(t+65,a-4,8,3,1),n.fill(pa.faucet),n.roundRect(t+10,a-30,30,14,2),n.fill(pa.menu),n.rect(t+14,a-27,22,2),n.fill({color:16777215,alpha:.5}),n.rect(t+14,a-23,16,1.5),n.fill({color:16777215,alpha:.3}),n.rect(t+14,a-20,18,1.5),n.fill({color:16777215,alpha:.3})}function pM(n,t,a){n.roundRect(t-16,a-24,128,96,6),n.fill({color:vi.carpet,alpha:.25}),n.roundRect(t-12,a-20,120,88,4),n.stroke({width:1,color:vi.carpetPattern,alpha:.2});const l=t+10,o=a-20;n.roundRect(l+2,o+2,76,16,2),n.fill({color:0,alpha:.1}),n.roundRect(l,o,76,16,2),n.fill(vi.whiteboardFrame),n.roundRect(l+2,o+2,72,12,1),n.fill(vi.whiteboard),n.rect(l+6,o+4,18,8),n.fill({color:16775620,alpha:.6}),n.rect(l+28,o+4,18,8),n.fill({color:12312315,alpha:.6}),n.rect(l+50,o+4,18,8),n.fill({color:13166281,alpha:.6}),n.roundRect(l+20,o+14,36,3,1),n.fill(vi.whiteboardFrame),n.roundRect(t+3,a+3,96,48,6),n.fill({color:0,alpha:.1}),n.roundRect(t,a,96,48,6),n.fill(vi.table),n.roundRect(t+2,a+2,92,44,5),n.fill(vi.tableTop),n.roundRect(t+6,a+4,40,10,3),n.fill({color:16777215,alpha:.04}),n.roundRect(t+1,a+1,94,46,5),n.stroke({width:1,color:vi.tableEdge,alpha:.4});const c=4,d=6;n.rect(t+8,a+48,c,d),n.fill(vi.tableLeg),n.rect(t+84,a+48,c,d),n.fill(vi.tableLeg);const m=[{cx:t+16,cy:a-10},{cx:t+48,cy:a-10},{cx:t+80,cy:a-10},{cx:t+16,cy:a+56},{cx:t+48,cy:a+56},{cx:t+80,cy:a+56}];for(const p of m){const x=p.cy<a?p.cy-6:p.cy+6;n.roundRect(p.cx-8,x-4,16,10,3),n.fill(vi.chairBack),n.roundRect(p.cx-7,p.cy-4,14,8,3),n.fill(vi.chairSeat),n.roundRect(p.cx-5,p.cy-3,10,3,2),n.fill({color:16777215,alpha:.06}),n.circle(p.cx,p.cy+5,2),n.fill(vi.chair)}n.roundRect(t+10,a+8,18,12,2),n.fill(3622735),n.roundRect(t+11,a+9,16,8,1),n.fill(4545124),n.rect(t+60,a+12,12,16),n.fill({color:16777215,alpha:.7}),n.rect(t+62,a+14,8,1),n.fill({color:3355443,alpha:.3}),n.rect(t+62,a+17,6,1),n.fill({color:3355443,alpha:.3}),n.roundRect(t+40,a+10,6,14,2),n.fill({color:4367861,alpha:.6}),n.roundRect(t+41,a+7,4,4,1),n.fill({color:9489145,alpha:.5})}const yM={running:vo.statusRunning,idle:vo.statusIdle,completed:vo.statusCompleted,checkpoint:vo.statusCheckpoint};function gM(n,t,a,l){const o=a*.85,c=t+(a-o)/2,d=6,m=30;n.roundRect(c+2,d+2,o,m,8),n.fill({color:0,alpha:.15}),n.roundRect(c,d,o,m,8),n.fill({color:vo.background,alpha:.85}),n.roundRect(c+2,d+1,o-4,8,6),n.fill({color:vo.backgroundGlow,alpha:.4}),n.roundRect(c,d,o,m,8),n.stroke({width:1,color:16777215,alpha:.08});const p=yM[l]??vo.statusIdle,g=c+o-18,x=d+m/2;n.circle(g,x,7),n.fill({color:p,alpha:.2}),n.circle(g,x,4),n.fill(p),n.circle(g-1,x-1,1.5),n.fill({color:16777215,alpha:.3}),n.circle(c+14,x,2),n.fill({color:16777215,alpha:.1})}Jp({Container:$n,Graphics:ni,Sprite:af,Text:Zp});function Ag({agent:n,textures:t,bubbleText:a,animX:l,animY:o,animPose:c}){const d=rM(n.colorIndex,c),m=t.get(d),p=XT[n.status==="walking"?"idle":n.status]??8947848,g=n.status==="checkpoint",x=G.useCallback(E=>{E.clear(),E.circle(0,0,Ep/2+6),E.fill({color:p,alpha:g?.4:.15})},[p,g]),b=G.useCallback(E=>{if(E.clear(),!a)return;const C=Math.min(a.length*5+16,160);E.roundRect(-C/2,-42,C,22,6),E.fill({color:1710638,alpha:.9}),E.moveTo(-4,-20),E.lineTo(4,-20),E.lineTo(0,-15),E.closePath(),E.fill({color:1710638,alpha:.9})},[a]);return H.jsxs("container",{x:l,y:o,children:[H.jsx("graphics",{draw:x}),m&&H.jsx("sprite",{texture:m,anchor:.5}),H.jsx("text",{text:n.name,y:Ep/2+4,anchor:{x:.5,y:0},style:{fontSize:9,fill:"#cccccc",fontFamily:"sans-serif"}}),g&&H.jsx("text",{text:"⚠",y:-Ep/2-12,anchor:.5,style:{fontSize:14,fill:"#ff9800",fontFamily:"sans-serif"}}),a&&H.jsxs(H.Fragment,{children:[H.jsx("graphics",{draw:b}),H.jsx("text",{text:a.length>80?a.slice(-80)+"…":a,y:-31,anchor:{x:.5,y:.5},style:{fontSize:8,fill:"#ffffff",fontFamily:"sans-serif",wordWrap:!0,wordWrapWidth:140}})]})]})}Jp({Container:$n,Graphics:ni,Text:Zp});function vM({squadName:n,status:t,agents:a,textures:l,bubbles:o,animStates:c,originX:d,originY:m,roomWidth:p,roomHeight:g}){const x={x:0,y:0},b=id(x,p,g),E=n_(x,p,g),C=G.useCallback(M=>{M.clear(),fM(M,p,g),gM(M,0,p,t);for(let z=0;z<a.length;z++){const R=Ic(z,x);hM(M,R.x-48,R.y-32)}mM(M,b.x,b.y),pM(M,E.x,E.y),dM(M,p-60,44),Rx(M,10,g-50),Rx(M,p-40,50)},[a.length,t,p,g]);return H.jsxs("container",{x:d,y:m,children:[H.jsx("graphics",{draw:C}),H.jsx("text",{text:n,x:p/2,y:22,anchor:.5,style:{fontSize:14,fill:"#ffffff",fontFamily:"sans-serif",fontWeight:"bold"}}),a.map(M=>{const z=`${n}:${M.id}`,R=o[z],w=c[M.id];return w!=null&&w.isExternalTransit?null:H.jsx(Ag,{agent:M,textures:l,bubbleText:(R==null?void 0:R.text)??null,animX:(w==null?void 0:w.x)??M.position.x,animY:(w==null?void 0:w.y)??M.position.y,animPose:(w==null?void 0:w.pose)??(M.status==="working"?"typing":"seated")},M.id)})]})}function xM(n,t,a,l,o){n.rect(t,a,l,o),n.fill(Ia.floor);const c=16,d=60;for(let et=0;et<Math.ceil(o/c);et++){const ct=et%2*(d/2),vt=a+et*c;n.moveTo(t,vt),n.lineTo(t+l,vt),n.stroke({width:.5,color:4861984,alpha:.3});for(let dt=0;dt<Math.ceil(l/d)+1;dt++){const St=t+dt*d-ct;St>t&&St<t+l&&(n.moveTo(St,vt),n.lineTo(St,vt+c),n.stroke({width:.5,color:4861984,alpha:.2}))}}const m=30,p=l-m*2,g=o-m*2,x=t+m,b=a+m;n.roundRect(x+2,b+2,p,g,6),n.fill({color:0,alpha:.1}),n.roundRect(x,b,p,g,6),n.fill({color:Ia.carpet,alpha:.6}),n.roundRect(x+6,b+6,p-12,g-12,4),n.stroke({width:1.5,color:Ia.carpetBorder,alpha:.4}),n.roundRect(x+14,b+14,p-28,g-28,3),n.stroke({width:1,color:16766287,alpha:.15});const E=t+8,C=a+40,M=6,z=80;n.roundRect(E-2,C-2,M+4,z+4,2),n.fill(Ia.windowFrame),n.roundRect(E,C,M,z,1),n.fill(Ia.window),n.rect(E+1,C+4,2,z/3),n.fill({color:16777215,alpha:.2}),n.roundRect(E-4,C+z+2,M+8,3,1),n.fill(Ia.windowSill);const R=120,w=60,O=t+l/2-R/2,U=a+o/2-w/2-10;n.roundRect(O+3,U+3,R,w,4),n.fill({color:0,alpha:.12}),n.roundRect(O,U,R,w,4),n.fill(Ia.desk),n.roundRect(O+3,U+3,R-6,w-6,3),n.fill(Ia.deskTop),n.roundRect(O+1,U+1,R-2,w-2,4),n.stroke({width:1,color:Ia.deskEdge,alpha:.3}),n.roundRect(O+20,U+8,32,22,2),n.fill(2236976),n.roundRect(O+22,U+10,28,16,1),n.fill(1981020),n.roundRect(O+18,U+34,36,10,2),n.fill(3355456),n.rect(O+70,U+10,16,22),n.fill({color:16777215,alpha:.7}),n.rect(O+72,U+14,10,1),n.fill({color:3355443,alpha:.3}),n.rect(O+72,U+17,8,1),n.fill({color:3355443,alpha:.3}),n.roundRect(O+90,U+12,10,14,2),n.fill(3622735),n.circle(O+100,U+42,5),n.fill(14142664),n.circle(O+100,U+42,3),n.fill(7951688);const Y=O+R/2,k=U+w+16;n.roundRect(Y-14,k-4,28,16,6),n.fill(Ia.chair),n.roundRect(Y-12,k-8,24,12,4),n.fill(Ia.chairSeat),n.roundRect(Y-8,k-6,16,4,2),n.fill({color:16777215,alpha:.06}),n.circle(Y,k+14,3),n.fill(4473924);for(const et of[-8,0,8])n.circle(Y+et,k+18,1.5),n.fill(3355443);const V=t+l-54,Z=a+20;n.roundRect(V,Z,44,80,3),n.fill(Ia.bookshelf);const F=[15022389,2001125,4431943,16750592,9315498,35195];for(let et=0;et<3;et++){const ct=Z+8+et*26;n.rect(V+3,ct+18,38,3),n.fill(9139029);for(let vt=0;vt<5;vt++){const dt=V+5+vt*7,St=12+(vt*3+et*2)%6;n.rect(dt,ct+18-St,5,St),n.fill(F[(vt+et*2)%F.length])}}const q=t+l-54,$=a+o-60;n.roundRect(q,$+10,24,16,2),n.fill(6111287),n.rect(q+10,$+4,4,8),n.fill(7901340),n.circle(q+12,$,10),n.fill(Ia.globe),n.circle(q+12,$,10),n.stroke({width:.5,color:2001125,alpha:.4}),n.circle(q+9,$-3,3),n.fill({color:16777215,alpha:.15}),n.roundRect(O+44,U+38,36,10,2),n.fill(Ia.nameplate),n.roundRect(O+44,U+38,36,10,2),n.stroke({width:.5,color:13215744,alpha:.5}),n.rect(t,a,l,o),n.stroke({width:1,color:0,alpha:.08})}Jp({Container:$n,Graphics:ni,Text:Zp});const zx=["Precisamos escalar o time de vendas...","O Q4 vai ser decisivo.","Investir mais em marketing digital.","Meta trimestral no caminho certo.","Revisar budget de R&D...","Nova parceria pode mudar tudo.","Churn rate precisa cair 20%.","Hora de expandir para LATAM.","Reunião com investidores amanhã.","NPS subiu 15 pontos!","Cultura da empresa vem primeiro.","Mais dados antes de decidir.","Vamos automatizar esse processo.","Roadmap do próximo quarter...","Reter talentos é prioridade.","Revenue cresceu 30% no trimestre.","Precisamos de mais diversidade no time.","O mercado está mudando rápido.","Foco no cliente sempre.","Inovação é nosso diferencial."],xp=900,wx=2400,_M=6e3,SM={id:"ceo",name:"CEO",colorIndex:3,status:"working",deskIndex:0,position:{x:0,y:0},targetPosition:null};function bM({x:n,y:t,width:a,height:l,textures:o,ticker:c}){const[d,m]=G.useState(null),[p,g]=G.useState("seated"),x=G.useRef(0),b=G.useRef(xp+Math.floor(Math.random()*(wx-xp))),E=G.useRef(null),C=a/2,M=l/2+10,z=G.useCallback(R=>{R.clear(),xM(R,0,0,a,l)},[a,l]);return G.useEffect(()=>{if(!c)return;const R=()=>{x.current++;const w=x.current,O=Math.floor(w/48)%2===0?"typing":"seated";if(g(O),b.current--,b.current<=0){const U=zx[Math.floor(Math.random()*zx.length)];m(U),g("standing"),E.current&&clearTimeout(E.current),E.current=setTimeout(()=>{m(null)},_M),b.current=xp+Math.floor(Math.random()*(wx-xp))}};return c.add(R),()=>{c.remove(R),E.current&&clearTimeout(E.current)}},[c]),H.jsxs("container",{x:n,y:t,children:[H.jsx("graphics",{draw:z}),H.jsx("text",{text:"CEO",x:a/2,y:12,anchor:.5,style:{fontSize:13,fill:"#ffd700",fontFamily:"sans-serif",fontWeight:"bold"}}),H.jsx(Ag,{agent:SM,textures:o,bubbleText:d,animX:C,animY:M,animPose:p})]})}const by=150,TM=48,Ty=30,_p=3,EM=4e3,Sp=600,Ey=1800,CM=60,Dx=900,Ox=5e3,Nx=[["Cafe novo?","Sim, colombiano!"],["Viu o deploy?","Passou nos testes!"],["Reuniao as 3?","Vou confirmar."],["Bug no login?","Ja corrigi."],["Almoco onde?","Sushi hoje?"],["PR aprovado?","Mergeei agora."],["Ta ocupado?","Pode falar."],["Deadline?","Sexta-feira."],["Novo feature?","Ficou muito bom!"],["Ajuda aqui?","Claro, mostra."],["Sprint review?","Amanha cedo."],["Stand-up?","Ja comecou!"],["Refatorei aquele modulo.","Ficou mais limpo."],["Testes passando?","Todos verdes!"],["Viu o Figma?","Design top!"],["Pipeline rodou?","Em 2 min."],["Code review?","Ja olhei, aprovo."],["Qual branch?","feature/office."],["Bom dia!","Bom dia! Tudo bem?"],["Feriado proximo?","Semana que vem!"]];function AM(n,t,a,l,o,c){const d={x:0,y:0},m=Math.random();if(m<.2){const p={x:o+n.x,y:c+n.y},g=ld(p,`squad-${l}`,"kitchen",a),x=PT(a);return{x:x.x,y:x.y,destination:"kitchen",waypoints:g,isExternal:!0}}else if(m<.35){const p={x:o+n.x,y:c+n.y},g=ld(p,`squad-${l}`,"rest-area",a),x=IT(a);return{x:x.x,y:x.y,destination:"restArea",waypoints:g,isExternal:!0}}else if(m<.45){const p=Math.random()<.5?"male":"female",g={x:o+n.x,y:c+n.y},x=p==="male"?"bathroom-male":"bathroom-female",b=ld(g,`squad-${l}`,x,a),E=WT(a,p);return{x:E.x,y:E.y,destination:x,waypoints:b,isExternal:!0}}else if(m<.6){const p=n_(d,t.width,t.height);return{x:p.x+(Math.random()-.5)*40,y:p.y+(Math.random()-.5)*30,destination:"meeting"}}else if(m<.75){const p=id(d,t.width,t.height);return{x:p.x+(Math.random()-.5)*30,y:p.y+(Math.random()-.5)*20,destination:"coffee"}}else if(m<.9){const p={x:o+n.x,y:c+n.y},g=$T(a),x=[p,a.doorPoints[`squad-${l}`],g];return{x:g.x,y:g.y,destination:"corridor",waypoints:x,isExternal:!0}}else{const p=Math.floor(Math.random()*4),g=Ic(p,d,t.width,t.height);return{x:g.x+(Math.random()-.5)*40,y:g.y+(Math.random()-.5)*20,destination:"neighbor"}}}function MM(n){const[t,a]=G.useState({}),l=G.useRef({}),o=G.useRef({}),c=G.useRef({}),d=G.useRef({}),m=G.useRef(0),p=G.useRef({}),g=G.useRef({});G.useEffect(()=>{const b=We.subscribe((E,C)=>{var R,w;const M=E.bubbles,z=C.bubbles;for(const O of Object.keys(M))if(((R=M[O])==null?void 0:R.updatedAt)!==((w=z[O])==null?void 0:w.updatedAt)){p.current[O]&&clearTimeout(p.current[O]);const[U,Y]=O.split(":");p.current[O]=setTimeout(()=>{We.getState().clearBubble(U,Y),delete p.current[O]},EM)}});return()=>{b();for(const E of Object.values(p.current))clearTimeout(E);p.current={}}},[]);const x=G.useCallback(()=>{m.current++;const b=m.current,E=We.getState(),C={},M=Rp(E.rooms.length);for(const[z,R]of Object.entries(E.agentVisuals)){l.current[z]||(l.current[z]={}),o.current[z]||(o.current[z]={}),C[z]={};const w=E.rooms.indexOf(z),O=M.squadOrigins[w],U=(O==null?void 0:O.origin)??{x:0,y:0},Y=[];for(const k of R){const V=l.current[z],Z=o.current[z],F=`${z}:${k.id}`;Z[k.id]||(Z[k.id]={x:k.position.x,y:k.position.y,baseY:k.position.y},c.current[F]=Math.floor(Math.random()*Ey));const q=Z[k.id];if(k.targetPosition&&(!V[k.id]||V[k.id].progress>=1)){const et=V[k.id];if(et!=null&&et.isExternalTransit){const ct=et.globalX??q.x+U.x,vt=et.globalY??q.y+U.y,dt={x:ct,y:vt},St={x:k.targetPosition.x+U.x,y:k.targetPosition.y+U.y},j=d.current[F],Q=j==="kitchen"?"kitchen":j==="restArea"?"rest-area":j==="bathroom-male"?"bathroom-male":j==="bathroom-female"?"bathroom-female":`squad-${w}`,ot=ld(dt,Q,`squad-${w}`,M);ot[ot.length-1]=St;const rt=ot.shift(),gt=ot.length>0?ot.shift():rt,B=ap(rt,gt);V[k.id]={startX:rt.x,startY:rt.y,targetX:gt.x,targetY:gt.y,progress:0,duration:Math.max(30,Math.ceil(B/_p)),baseY:k.targetPosition.y,waypointQueue:ot,isExternalTransit:!0,globalX:ct,globalY:vt}}else V[k.id]={startX:q.x,startY:q.baseY,targetX:k.targetPosition.x,targetY:k.targetPosition.y,progress:0,duration:by,baseY:k.targetPosition.y,waypointQueue:[],isExternalTransit:!1}}if(k.status==="idle"&&(!V[k.id]||V[k.id].progress>=1)){const et=V[k.id];if(et!=null&&et.isExternalTransit&&et.waypointQueue.length===0&&et.progress>=1&&(et.globalX!==void 0&&et.globalY!==void 0&&(q.x=et.globalX-U.x,q.y=et.globalY-U.y,q.baseY=q.y),et.isExternalTransit=!1,et.globalX=void 0,et.globalY=void 0),c.current[F]===void 0&&(c.current[F]=Sp+Math.floor(Math.random()*(Ey-Sp))),c.current[F]--,c.current[F]<=0){const ct=V[k.id];if(ct!=null&&ct.isExternalTransit){const vt=ct.globalX??q.x+U.x,dt=ct.globalY??q.y+U.y,St={x:vt,y:dt},j=Ic(k.deskIndex,{x:0,y:0}),Q={x:j.x+U.x,y:j.y+U.y},ot=d.current[F],rt=ot==="kitchen"?"kitchen":ot==="restArea"?"rest-area":ot==="bathroom-male"?"bathroom-male":ot==="bathroom-female"?"bathroom-female":`squad-${w}`,gt=ld(St,rt,`squad-${w}`,M);gt[gt.length-1]=Q;const B=gt.shift(),J=gt.length>0?gt.shift():B,tt=ap(B,J);d.current[F]="neighbor",V[k.id]={startX:B.x,startY:B.y,targetX:J.x,targetY:J.y,progress:0,duration:Math.max(30,Math.ceil(tt/_p)),baseY:j.y,waypointQueue:gt,isExternalTransit:!0,globalX:vt,globalY:dt}}else{const dt=AM(U,O??{width:ir,height:_i},M,w,q.x,q.baseY);if(d.current[F]=dt.destination,dt.isExternal&&dt.waypoints&&dt.waypoints.length>1){const St=[...dt.waypoints],j=St.shift(),Q=St.length>0?St.shift():j,ot=ap(j,Q);V[k.id]={startX:j.x,startY:j.y,targetX:Q.x,targetY:Q.y,progress:0,duration:Math.max(30,Math.ceil(ot/_p)),baseY:dt.y-U.y,waypointQueue:St,isExternalTransit:!0,globalX:j.x,globalY:j.y}}else V[k.id]={startX:q.x,startY:q.baseY,targetX:dt.x,targetY:dt.y,progress:0,duration:by+Math.floor(Math.random()*30),baseY:dt.y,waypointQueue:[],isExternalTransit:!1}}c.current[F]=Sp+Math.floor(Math.random()*(Ey-Sp))}}const $=V[k.id];if($&&$.progress<1){$.progress=Math.min(1,$.progress+1/$.duration);const et=ZT($.progress);if($.isExternalTransit){const ct=np($.startX,$.targetX,et),vt=np($.startY,$.targetY,et);$.globalX=ct,$.globalY=vt,q.x=ct-U.x,q.y=vt-U.y;const dt=Math.floor(b/Ty)%2===0?"walk-right":"walk-left";C[z][k.id]={x:q.x,y:q.y,pose:dt,isExternalTransit:!0,globalX:ct,globalY:vt}}else{q.x=np($.startX,$.targetX,et),q.y=np($.startY,$.targetY,et),q.baseY=$.baseY;const ct=Math.floor(b/Ty)%2===0?"walk-right":"walk-left";C[z][k.id]={x:q.x,y:q.y,pose:ct}}}else if($&&$.progress>=1&&$.waypointQueue.length>0){const et=$.waypointQueue.shift(),ct={x:$.targetX,y:$.targetY},vt=ap(ct,et);$.startX=$.targetX,$.startY=$.targetY,$.targetX=et.x,$.targetY=et.y,$.progress=0,$.duration=$.isExternalTransit?Math.max(30,Math.ceil(vt/_p)):by,$.isExternalTransit&&($.globalX=$.startX,$.globalY=$.startY);const dt=Math.floor(b/Ty)%2===0?"walk-right":"walk-left";$.isExternalTransit?C[z][k.id]={x:q.x,y:q.y,pose:dt,isExternalTransit:!0,globalX:$.startX,globalY:$.startY}:C[z][k.id]={x:q.x,y:q.y,pose:dt}}else if(k.status==="working"){const et=Math.floor(b/TM)%2===0?"typing":"seated";C[z][k.id]={x:q.x,y:q.baseY,pose:et}}else if(k.status==="idle"){const et=d.current[F]??"coffee",ct=V[k.id];if((ct==null?void 0:ct.isExternalTransit)??!1)C[z][k.id]={x:q.x,y:q.y,pose:"standing",isExternalTransit:!0,globalX:(ct==null?void 0:ct.globalX)??q.x+U.x,globalY:(ct==null?void 0:ct.globalY)??q.y+U.y};else{const dt=Math.sin(b*.07+k.deskIndex*1.5)*2;let St;et==="coffee"||et==="kitchen"?St="coffee":et==="meeting"||et==="neighbor"?St=Math.floor(b/90)%2===0?"standing":"coffee":et==="restArea"?St="seated":(et.startsWith("bathroom"),St="standing"),C[z][k.id]={x:q.x,y:q.baseY+dt,pose:St},Y.push({agentKey:F,agentId:k.id,agentName:k.name,x:q.x,y:q.baseY})}}else k.status==="checkpoint"?C[z][k.id]={x:q.x,y:q.baseY,pose:"seated"}:C[z][k.id]={x:q.x,y:q.baseY,pose:"seated"}}if(b%60===0&&Y.length>=2)for(let k=0;k<Y.length;k++){const V=Y[k];if(!(g.current[V.agentKey]&&b-g.current[V.agentKey]<Dx)&&!E.bubbles[V.agentKey])for(let Z=k+1;Z<Y.length;Z++){const F=Y[Z];if(g.current[F.agentKey]&&b-g.current[F.agentKey]<Dx||E.bubbles[F.agentKey])continue;const q=V.x-F.x,$=V.y-F.y;if(Math.sqrt(q*q+$*$)<CM){const[ct,vt]=Nx[Math.floor(Math.random()*Nx.length)];E.appendBubble(z,V.agentId,ct),setTimeout(()=>{We.getState().appendBubble(z,F.agentId,vt)},1500),g.current[V.agentKey]=b,g.current[F.agentKey]=b;const dt=`${z}:${V.agentId}`,St=`${z}:${F.agentId}`;p.current[dt]&&clearTimeout(p.current[dt]),p.current[St]&&clearTimeout(p.current[St]),p.current[dt]=setTimeout(()=>{We.getState().clearBubble(z,V.agentId),delete p.current[dt]},Ox),p.current[St]=setTimeout(()=>{We.getState().clearBubble(z,F.agentId),delete p.current[St]},Ox+1500);break}}}}a(C)},[]);return G.useEffect(()=>{if(n)return n.add(x),()=>{n.remove(x)}},[n,x]),t}Jp({Container:$n,Graphics:ni,Text:Zp});const RM=.3,zM=2;function wM(){const{app:n}=nM(),t=G.useRef(null),[a,l]=G.useState(new Map),o=G.useRef(null),c=We(E=>E.rooms),d=We(E=>E.agentVisuals),m=We(E=>E.bubbles),p=ti(E=>E.activeStates),g=MM((n==null?void 0:n.ticker)??null),x=G.useMemo(()=>Rp(c.length),[c.length]);G.useEffect(()=>{n!=null&&n.renderer&&l(sM(n))},[n]);const b=G.useCallback(E=>{E.clear(),uM(E,x),Mx(E,x.bathroomMale.x,x.bathroomMale.y,x.bathroomMale.width,x.bathroomMale.height,"male"),Mx(E,x.bathroomFemale.x,x.bathroomFemale.y,x.bathroomFemale.width,x.bathroomFemale.height,"female"),oM(E,x.kitchen.x,x.kitchen.y,x.kitchen.width,x.kitchen.height),cM(E,x.restArea.x,x.restArea.y,x.restArea.width,x.restArea.height)},[x]);return G.useEffect(()=>{const E=n==null?void 0:n.canvas;if(!E)return;const C=w=>{const O=t.current;O&&(o.current={startX:w.clientX,startY:w.clientY,pivotX:O.position.x,pivotY:O.position.y},E.setPointerCapture(w.pointerId))},M=w=>{const O=t.current,U=o.current;!O||!U||(O.position.x=U.pivotX+(w.clientX-U.startX),O.position.y=U.pivotY+(w.clientY-U.startY))},z=w=>{o.current=null,E.releasePointerCapture(w.pointerId)},R=w=>{w.preventDefault();const O=t.current;if(!O)return;const U=O.scale.x,Y=w.deltaY>0?.9:1.1,k=Math.max(RM,Math.min(zM,U*Y)),V=E.getBoundingClientRect(),Z=w.clientX-V.left,F=w.clientY-V.top,q=k/U;O.position.x=Z-(Z-O.position.x)*q,O.position.y=F-(F-O.position.y)*q,O.scale.set(k)};return E.addEventListener("pointerdown",C),E.addEventListener("pointermove",M),E.addEventListener("pointerup",z),E.addEventListener("pointerleave",z),E.addEventListener("wheel",R,{passive:!1}),()=>{E.removeEventListener("pointerdown",C),E.removeEventListener("pointermove",M),E.removeEventListener("pointerup",z),E.removeEventListener("pointerleave",z),E.removeEventListener("wheel",R)}},[n]),H.jsxs("container",{ref:t,children:[H.jsx("graphics",{draw:b}),x.corridorV.height>0&&H.jsx("text",{text:"Corredor",x:x.corridorV.x+x.corridorV.width/2,y:x.corridorV.y+8,anchor:{x:.5,y:0},style:{fontSize:11,fill:"#666666",fontFamily:"sans-serif",fontWeight:"bold"}}),H.jsx("text",{text:"Corredor",x:x.corridorH.x+x.corridorH.width/2,y:x.corridorH.y+8,anchor:{x:.5,y:0},style:{fontSize:11,fill:"#666666",fontFamily:"sans-serif",fontWeight:"bold"}}),H.jsx("text",{text:"WC ♂",x:x.bathroomMale.x+x.bathroomMale.width/2,y:x.bathroomMale.y+x.bathroomMale.height-8,anchor:{x:.5,y:1},style:{fontSize:10,fill:"#546e7a",fontFamily:"sans-serif",fontWeight:"bold"}}),H.jsx("text",{text:"WC ♀",x:x.bathroomFemale.x+x.bathroomFemale.width/2,y:x.bathroomFemale.y+x.bathroomFemale.height-8,anchor:{x:.5,y:1},style:{fontSize:10,fill:"#546e7a",fontFamily:"sans-serif",fontWeight:"bold"}}),H.jsx("text",{text:"Cozinha",x:x.kitchen.x+x.kitchen.width/2,y:x.kitchen.y+12,anchor:{x:.5,y:0},style:{fontSize:10,fill:"#795548",fontFamily:"sans-serif",fontWeight:"bold"}}),H.jsx("text",{text:"Descanso",x:x.restArea.x+x.restArea.width/2,y:x.restArea.y+12,anchor:{x:.5,y:0},style:{fontSize:10,fill:"#546e7a",fontFamily:"sans-serif",fontWeight:"bold"}}),c.map((E,C)=>{var O;const M=x.squadOrigins[C];if(!M)return null;const z=d[E]??[],R=((O=p[E])==null?void 0:O.status)??"idle",w=g[E]??{};return H.jsx(vM,{squadName:E,status:R,agents:z,textures:a,bubbles:m,animStates:w,originX:M.origin.x,originY:M.origin.y,roomWidth:M.width,roomHeight:M.height},E)}),c.map((E,C)=>{const M=d[E]??[],z=g[E]??{};return M.filter(R=>{const w=z[R.id];return(w==null?void 0:w.isExternalTransit)&&w.globalX!==void 0&&w.globalY!==void 0}).map(R=>{const w=z[R.id],O=`${E}:${R.id}`,U=m[O];return H.jsx(Ag,{agent:R,textures:a,bubbleText:(U==null?void 0:U.text)??null,animX:w.globalX,animY:w.globalY,animPose:w.pose},`transit-${R.id}`)})}),H.jsx(bM,{x:x.ceoOffice.x,y:x.ceoOffice.y,width:x.ceoOffice.width,height:x.ceoOffice.height,textures:a,ticker:(n==null?void 0:n.ticker)??null})]})}function DM(){const n=We(l=>l.activeRoom),t=We(l=>l.checkpoints),a=n?t[n]:void 0;return H.jsx("div",{style:{display:"flex",height:"100%"},children:H.jsxs("div",{style:{flex:1,position:"relative",overflow:"hidden"},children:[H.jsx(eM,{background:13158600,antialias:!0,resizeTo:window,style:{width:"100%",height:"100%"},children:H.jsx(wM,{})}),a&&H.jsx(aM,{agentName:a.agentName,question:a.question,onRespond:l=>LT(n,l)})]})})}function OM({message:n}){if(n.role==="agent_dm")return H.jsxs("div",{"data-role":"agent_dm",style:{alignSelf:"flex-start",background:"var(--surface-3)",border:"1px solid var(--border-default)",borderRadius:"var(--radius-md)",padding:"10px 14px",maxWidth:"75%",marginBottom:"var(--sp-2)",animation:"fadeInUp 0.3s var(--ease-out) both"},children:[H.jsx("div",{style:{fontFamily:"var(--font-mono)",fontSize:"0.65rem",color:"var(--accent)",fontWeight:600,marginBottom:4,letterSpacing:"0.02em"},children:n.agentName}),H.jsx("div",{style:{color:"var(--text-primary)",fontSize:"0.85rem",lineHeight:1.55},children:n.content})]});const t=n.role==="user";return H.jsx("div",{"data-role":n.role,style:{alignSelf:t?"flex-end":"flex-start",background:t?"var(--user-bubble)":"var(--agent-bubble)",border:t?"1px solid rgba(100, 160, 255, 0.15)":"1px solid var(--border-subtle)",borderRadius:"var(--radius-md)",padding:"10px 14px",maxWidth:"75%",marginBottom:"var(--sp-2)",animation:"fadeInUp 0.3s var(--ease-out) both"},children:H.jsx("div",{style:{color:"var(--text-primary)",fontSize:"0.85rem",lineHeight:1.55,whiteSpace:"pre-wrap"},children:n.content})})}function NM(){const[n,t]=G.useState(""),a=G.useRef(null),l=ti(M=>M.selectedSquad),o=Fi(M=>M.messages),c=Fi(M=>M.streaming),d=Fi(M=>M.streamingText),m=Fi(M=>M.error),p=Fi(M=>M.addUserMessage),g=Fi(M=>M.startStreaming),x=Fi(M=>M.loadHistory);if(G.useEffect(()=>{l&&x(l)},[l,x]),G.useEffect(()=>{var M,z;(z=(M=a.current)==null?void 0:M.scrollIntoView)==null||z.call(M,{behavior:"smooth"})},[o,d]),!l)return H.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",gap:"var(--sp-3)",animation:"fadeIn 0.5s var(--ease-out) both"},children:[H.jsx("div",{style:{width:48,height:48,borderRadius:"var(--radius-md)",background:"var(--surface-3)",border:"1px solid var(--border-subtle)",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"1.2rem",color:"var(--text-muted)"},children:"◈"}),H.jsx("span",{style:{color:"var(--text-muted)",fontSize:"0.85rem"},children:"Select a squad to start chatting"})]});const b=()=>{const M=n.trim();!M||c||(p(M),g(),YT(l,M),t(""))},E=M=>{M.key==="Enter"&&!M.shiftKey&&(M.preventDefault(),b())},C=n.trim()&&!c;return H.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[H.jsxs("div",{style:{flex:1,overflowY:"auto",padding:"var(--sp-4)",display:"flex",flexDirection:"column"},children:[o.map(M=>H.jsx(OM,{message:M},M.id)),c&&d&&H.jsx("div",{"data-role":"assistant",style:{alignSelf:"flex-start",background:"var(--agent-bubble)",border:"1px solid var(--border-subtle)",borderRadius:"var(--radius-md)",padding:"10px 14px",maxWidth:"75%",marginBottom:"var(--sp-2)"},children:H.jsxs("div",{style:{color:"var(--text-primary)",fontSize:"0.85rem",lineHeight:1.55,whiteSpace:"pre-wrap"},children:[d,H.jsx("span",{style:{display:"inline-block",width:6,height:14,background:"var(--accent)",marginLeft:2,animation:"pulse 1s ease-in-out infinite",borderRadius:1,verticalAlign:"text-bottom"}})]})}),m&&H.jsx("div",{style:{alignSelf:"center",background:"var(--status-error-glow)",border:"1px solid rgba(255, 64, 112, 0.25)",borderRadius:"var(--radius-sm)",padding:"8px 14px",color:"var(--status-error)",fontFamily:"var(--font-mono)",fontSize:"0.78rem",marginBottom:"var(--sp-2)"},children:m}),H.jsx("div",{ref:a})]}),H.jsxs("div",{style:{display:"flex",padding:"var(--sp-3) var(--sp-4)",borderTop:"1px solid var(--border-subtle)",gap:"var(--sp-2)",background:"var(--surface-1)"},children:[H.jsx("input",{type:"text",className:"input",value:n,onChange:M=>t(M.target.value),onKeyDown:E,placeholder:"Type a message...",disabled:c,style:{flex:1}}),H.jsx("button",{onClick:b,disabled:!C,"aria-label":"Send",className:C?"btn btn-accent":"btn",style:{padding:"0 var(--sp-5)",cursor:C?"pointer":"not-allowed",opacity:C?1:.4},children:"Send"})]})]})}const BM={idle:"var(--status-idle)",working:"var(--accent)",delivering:"var(--accent-dim)",done:"var(--status-active)",checkpoint:"var(--status-warning)"};function UM({agent:n}){const t=BM[n.status];return H.jsxs("div",{style:{background:"var(--surface-3)",borderRadius:"var(--radius-sm)",padding:"10px 12px",marginBottom:"var(--sp-2)",border:"1px solid var(--border-subtle)",transition:"border-color var(--duration-fast) var(--ease-out)"},children:[H.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:4},children:[H.jsx("span",{style:{fontWeight:600,fontSize:"0.82rem",color:"var(--text-primary)"},children:n.name}),H.jsx("span",{style:{fontFamily:"var(--font-mono)",fontSize:"0.62rem",fontWeight:600,color:t,padding:"2px 6px",borderRadius:"var(--radius-full)",border:`1px solid ${t}`,textTransform:"lowercase",letterSpacing:"0.02em"},children:n.status})]}),n.stepLabel&&H.jsx("div",{style:{fontFamily:"var(--font-mono)",fontSize:"0.7rem",color:"var(--text-muted)",lineHeight:1.4},children:n.stepLabel})]})}const HM=[{key:"pending",label:"Pending",color:"var(--status-idle)",glow:"none",filter:n=>n.status==="idle"},{key:"running",label:"Running",color:"var(--accent)",glow:"var(--accent-glow)",filter:n=>n.status==="working"||n.status==="checkpoint"||n.status==="delivering"},{key:"done",label:"Done",color:"var(--status-active)",glow:"var(--status-active-glow)",filter:n=>n.status==="done"}];function jM(){const n=ti(o=>o.selectedSquad),t=ti(o=>o.activeStates),a=n?t[n]:null,l=G.useMemo(()=>a?HM.map(o=>({...o,agents:a.agents.filter(o.filter)})):null,[a]);return n?a?H.jsx("div",{style:{display:"flex",gap:"var(--sp-4)",padding:"var(--sp-5)",height:"100%",overflow:"auto"},children:l.map((o,c)=>H.jsxs("div",{"data-testid":`column-${o.key}`,style:{flex:1,background:"var(--surface-2)",border:"1px solid var(--border-subtle)",borderRadius:"var(--radius-md)",padding:"var(--sp-4)",display:"flex",flexDirection:"column",minWidth:220,animation:`fadeInUp 0.4s var(--ease-out) ${c*80}ms both`},children:[H.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"var(--sp-4)",paddingBottom:"var(--sp-3)",borderBottom:`2px solid ${o.color}`},children:[H.jsx("span",{style:{fontWeight:600,fontSize:"0.82rem",color:"var(--text-primary)"},children:o.label}),H.jsx("span",{"data-testid":`count-${o.key}`,style:{fontFamily:"var(--font-mono)",fontSize:"0.65rem",fontWeight:700,color:o.color,background:o.glow,width:22,height:22,borderRadius:"var(--radius-full)",display:"flex",alignItems:"center",justifyContent:"center",border:`1px solid ${o.color}`},children:o.agents.length})]}),H.jsx("div",{style:{flex:1,overflowY:"auto"},children:o.agents.map(d=>H.jsx(UM,{agent:d},d.id))})]},o.key))}):H.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",gap:"var(--sp-3)",animation:"fadeIn 0.5s var(--ease-out) both"},children:[H.jsx("span",{style:{fontSize:"1.2rem",color:"var(--text-muted)"},children:"▦"}),H.jsx("span",{style:{color:"var(--text-muted)",fontSize:"0.85rem"},children:"No active state for this squad"})]}):H.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",gap:"var(--sp-3)",animation:"fadeIn 0.5s var(--ease-out) both"},children:[H.jsx("span",{style:{fontSize:"1.2rem",color:"var(--text-muted)"},children:"▦"}),H.jsx("span",{style:{color:"var(--text-muted)",fontSize:"0.85rem"},children:"Select a squad to view the kanban board"})]})}function GM(){const n=zl(U=>U.user),[t,a]=G.useState([]),[l,o]=G.useState(!0),[c,d]=G.useState(""),[m,p]=G.useState(""),[g,x]=G.useState("viewer"),[b,E]=G.useState(null),[C,M]=G.useState(null),z=G.useCallback(async()=>{try{const U=await fetch("/api/users",{credentials:"include"});if(U.ok){const Y=await U.json();a(Y.users)}}catch{E("Failed to load users")}finally{o(!1)}},[]);G.useEffect(()=>{z()},[z]);const R=async()=>{if(!(!c.trim()||!m.trim())){E(null);try{const U=await fetch("/api/auth/register",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:c,password:m,role:g}),credentials:"include"});if(!U.ok){const Y=await U.json();E(Y.error||"Failed to create user");return}d(""),p(""),x("viewer"),await z()}catch{E("Network error")}}},w=async(U,Y)=>{try{(await fetch(`/api/users/${U}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({role:Y}),credentials:"include"})).ok&&await z()}catch{E("Failed to update role")}},O=async U=>{try{(await fetch(`/api/users/${U}`,{method:"DELETE",credentials:"include"})).ok&&(M(null),await z())}catch{E("Failed to delete user")}};return l?H.jsx("div",{style:{color:"var(--text-muted)",padding:"var(--sp-5)",fontFamily:"var(--font-mono)",fontSize:"0.8rem",animation:"pulse 1.5s ease-in-out infinite"},children:"Loading users..."}):H.jsxs("div",{children:[H.jsx("h3",{style:{fontFamily:"var(--font-display)",fontWeight:700,fontSize:"0.95rem",color:"var(--text-primary)",marginBottom:"var(--sp-4)"},children:"User Management"}),b&&H.jsx("div",{style:{background:"var(--status-error-glow)",border:"1px solid rgba(255, 64, 112, 0.2)",color:"var(--status-error)",padding:"var(--sp-2) var(--sp-3)",borderRadius:"var(--radius-sm)",marginBottom:"var(--sp-3)",fontFamily:"var(--font-mono)",fontSize:"0.78rem"},children:b}),H.jsxs("div",{style:{display:"flex",gap:"var(--sp-2)",marginBottom:"var(--sp-5)",flexWrap:"wrap",alignItems:"center"},children:[H.jsx("input",{className:"input",placeholder:"Username",value:c,onChange:U=>d(U.target.value),style:{flex:1,minWidth:120}}),H.jsx("input",{className:"input",placeholder:"Password",type:"password",value:m,onChange:U=>p(U.target.value),style:{flex:1,minWidth:120}}),H.jsxs("select",{className:"input",value:g,onChange:U=>x(U.target.value),style:{minWidth:100},children:[H.jsx("option",{value:"viewer",children:"viewer"}),H.jsx("option",{value:"operator",children:"operator"}),H.jsx("option",{value:"admin",children:"admin"})]}),H.jsx("button",{onClick:R,className:"btn btn-accent",children:"Create User"})]}),H.jsxs("table",{style:{width:"100%",borderCollapse:"collapse"},children:[H.jsx("thead",{children:H.jsx("tr",{style:{borderBottom:"1px solid var(--border-default)"},children:["Username","Email","Role","Last Login","Actions"].map((U,Y)=>H.jsx("th",{style:{textAlign:Y===4?"right":"left",padding:"8px 12px",fontFamily:"var(--font-mono)",fontSize:"0.65rem",color:"var(--text-muted)",fontWeight:600,textTransform:"uppercase",letterSpacing:"0.08em"},children:U},U))})}),H.jsx("tbody",{children:t.map(U=>H.jsxs("tr",{style:{borderBottom:"1px solid var(--border-subtle)"},children:[H.jsx("td",{style:{padding:"10px 12px",color:"var(--text-primary)",fontSize:"0.82rem"},children:U.username}),H.jsx("td",{style:{padding:"10px 12px",color:"var(--text-secondary)",fontSize:"0.82rem"},children:U.email||"—"}),H.jsx("td",{style:{padding:"10px 12px"},children:U.id===(n==null?void 0:n.id)?H.jsx("span",{style:{fontFamily:"var(--font-mono)",fontSize:"0.72rem",color:"var(--text-secondary)"},children:U.role}):H.jsxs("select",{className:"input",value:U.role,onChange:Y=>w(U.id,Y.target.value),style:{padding:"4px 8px",fontSize:"0.75rem"},children:[H.jsx("option",{value:"viewer",children:"viewer"}),H.jsx("option",{value:"operator",children:"operator"}),H.jsx("option",{value:"admin",children:"admin"})]})}),H.jsx("td",{style:{padding:"10px 12px",fontFamily:"var(--font-mono)",fontSize:"0.7rem",color:"var(--text-muted)"},children:U.last_login?new Date(U.last_login).toLocaleDateString():"—"}),H.jsx("td",{style:{padding:"10px 12px",textAlign:"right"},children:U.id!==(n==null?void 0:n.id)&&(C===U.id?H.jsxs("span",{style:{display:"inline-flex",gap:"var(--sp-2)",alignItems:"center"},children:[H.jsx("span",{style:{color:"var(--status-error)",fontFamily:"var(--font-mono)",fontSize:"0.7rem"},children:"Confirm?"}),H.jsx("button",{onClick:()=>O(U.id),className:"btn btn-sm btn-danger",children:"Yes"}),H.jsx("button",{onClick:()=>M(null),className:"btn btn-sm",children:"No"})]}):H.jsx("button",{onClick:()=>M(U.id),className:"btn btn-sm btn-danger",children:"Delete"}))})]},U.id))})]})]})}function YM(){const n=ti(p=>p.selectedSquad),t=ti(p=>p.activeStates),[a,l]=G.useState(null),[o,c]=G.useState(!1),d=n?t[n]:null;if(G.useEffect(()=>{if(!n){l(null);return}c(!0),fetch(`/api/squads/${n}`,{credentials:"include"}).then(p=>p.ok?p.json():null).then(p=>{p&&l(p.data)}).finally(()=>c(!1))},[n]),!n)return H.jsx("div",{style:{color:"var(--text-muted)",padding:"var(--sp-5)",fontSize:"0.85rem"},children:"Select a squad to view details"});if(o)return H.jsx("div",{style:{color:"var(--text-muted)",padding:"var(--sp-5)",fontFamily:"var(--font-mono)",fontSize:"0.8rem",animation:"pulse 1.5s ease-in-out infinite"},children:"Loading squad details..."});const m={fontFamily:"var(--font-mono)",fontSize:"0.65rem",color:"var(--text-muted)",fontWeight:600,marginBottom:"var(--sp-2)",textTransform:"uppercase",letterSpacing:"0.08em"};return H.jsxs("div",{children:[H.jsx("h3",{style:{fontFamily:"var(--font-display)",fontWeight:700,fontSize:"0.95rem",color:"var(--text-primary)",marginBottom:"var(--sp-4)"},children:"Squad Info"}),a&&H.jsxs(H.Fragment,{children:[H.jsxs("div",{style:{marginBottom:"var(--sp-5)"},children:[H.jsx("div",{style:m,children:"Name"}),H.jsx("div",{style:{color:"var(--text-primary)",fontSize:"0.9rem",fontWeight:600},children:a.name})]}),H.jsxs("div",{style:{marginBottom:"var(--sp-5)"},children:[H.jsx("div",{style:m,children:"Description"}),H.jsx("div",{style:{color:"var(--text-primary)",fontSize:"0.85rem",lineHeight:1.5},children:a.description})]}),H.jsxs("div",{style:{marginBottom:"var(--sp-5)"},children:[H.jsx("div",{style:m,children:"Agents"}),H.jsx("div",{style:{display:"flex",gap:"var(--sp-2)",flexWrap:"wrap"},children:a.agents.map(p=>H.jsx("span",{style:{background:"var(--surface-3)",border:"1px solid var(--border-subtle)",borderRadius:"var(--radius-sm)",padding:"4px 10px",fontFamily:"var(--font-mono)",fontSize:"0.72rem",color:"var(--text-primary)"},children:p.name},p.id))})]}),H.jsxs("div",{style:{marginBottom:"var(--sp-5)"},children:[H.jsx("div",{style:m,children:"Pipeline Steps"}),H.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"var(--sp-2)"},children:a.pipeline.steps.map((p,g)=>H.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--sp-3)",background:"var(--surface-3)",border:"1px solid var(--border-subtle)",borderRadius:"var(--radius-sm)",padding:"8px 12px",fontSize:"0.82rem"},children:[H.jsx("span",{style:{background:"var(--accent)",color:"var(--text-inverse)",width:22,height:22,borderRadius:"var(--radius-full)",display:"flex",alignItems:"center",justifyContent:"center",fontFamily:"var(--font-mono)",fontSize:"0.65rem",fontWeight:700,flexShrink:0},children:g+1}),H.jsx("span",{style:{color:"var(--text-primary)"},children:p.label}),H.jsx("span",{style:{fontFamily:"var(--font-mono)",color:"var(--text-muted)",fontSize:"0.68rem",marginLeft:"auto"},children:p.agent})]},p.id))})]})]}),d&&H.jsxs("div",{style:{marginBottom:"var(--sp-5)"},children:[H.jsx("div",{style:m,children:"Current State"}),H.jsx("pre",{"data-testid":"state-json",style:{background:"var(--surface-3)",border:"1px solid var(--border-subtle)",borderRadius:"var(--radius-sm)",padding:"var(--sp-4)",fontFamily:"var(--font-mono)",fontSize:"0.72rem",color:"var(--accent)",overflow:"auto",maxHeight:400,lineHeight:1.5},children:JSON.stringify(d,null,2)})]})]})}function qM(){const[n,t]=G.useState(null),[a,l]=G.useState(null),[o,c]=G.useState(!0),[d,m]=G.useState(null),p=G.useCallback(async()=>{c(!0);try{const b=await fetch("/api/health",{credentials:"include"});if(b.ok){const E=await b.json();t(E),l(E.status==="ok")}else l(!1)}catch{l(!1)}finally{c(!1),m(new Date().toLocaleTimeString())}},[]);G.useEffect(()=>{p()},[p]);const g={fontFamily:"var(--font-mono)",fontSize:"0.65rem",color:"var(--text-muted)",fontWeight:600,marginBottom:"var(--sp-2)",textTransform:"uppercase",letterSpacing:"0.08em"},x={display:"flex",justifyContent:"space-between",alignItems:"center",padding:"10px 12px",background:"var(--surface-3)",border:"1px solid var(--border-subtle)",borderRadius:"var(--radius-sm)",marginBottom:"var(--sp-2)",fontSize:"0.82rem"};return H.jsxs("div",{children:[H.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"var(--sp-4)"},children:[H.jsx("h3",{style:{fontFamily:"var(--font-display)",fontWeight:700,fontSize:"0.95rem",color:"var(--text-primary)"},children:"Server Info"}),H.jsx("button",{onClick:p,className:"btn btn-sm",children:"Refresh"})]}),H.jsxs("div",{style:{marginBottom:"var(--sp-5)"},children:[H.jsx("div",{style:g,children:"Health Status"}),H.jsxs("div",{style:x,children:[H.jsx("span",{style:{color:"var(--text-primary)"},children:"API Server"}),o?H.jsx("span",{style:{fontFamily:"var(--font-mono)",fontSize:"0.75rem",color:"var(--text-muted)",animation:"pulse 1.5s ease-in-out infinite"},children:"Checking..."}):H.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:"var(--sp-1)",fontFamily:"var(--font-mono)",fontSize:"0.75rem",fontWeight:600,color:a?"var(--status-active)":"var(--status-error)"},children:[H.jsx("span",{style:{width:6,height:6,borderRadius:"50%",background:a?"var(--status-active)":"var(--status-error)",display:"inline-block",boxShadow:a?"0 0 8px var(--status-active-glow)":"0 0 8px var(--status-error-glow)"}}),a?"Healthy":"Unhealthy"]})]})]}),H.jsxs("div",{style:{marginBottom:"var(--sp-5)"},children:[H.jsx("div",{style:g,children:"Environment"}),H.jsxs("div",{style:x,children:[H.jsx("span",{style:{color:"var(--text-primary)"},children:"API Port"}),H.jsx("span",{style:{fontFamily:"var(--font-mono)",fontSize:"0.75rem",color:"var(--text-secondary)"},children:"3001"})]}),H.jsxs("div",{style:x,children:[H.jsx("span",{style:{color:"var(--text-primary)"},children:"Dashboard Port (dev)"}),H.jsx("span",{style:{fontFamily:"var(--font-mono)",fontSize:"0.75rem",color:"var(--text-secondary)"},children:"5173"})]})]}),d&&H.jsxs("div",{style:{fontFamily:"var(--font-mono)",fontSize:"0.65rem",color:"var(--text-muted)",textAlign:"right"},children:["Last checked: ",d]})]})}function LM(){const n=zl(d=>d.user),t=(n==null?void 0:n.role)==="admin",[a,l]=G.useState(t?"users":"squad"),c=[{key:"users",label:"Users",icon:"◉",adminOnly:!0},{key:"squad",label:"Squad",icon:"⬡"},{key:"server",label:"Server",icon:"⚙"}].filter(d=>!d.adminOnly||t);return H.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",padding:"var(--sp-5)",animation:"fadeIn 0.4s var(--ease-out) both"},children:[H.jsxs("div",{style:{marginBottom:"var(--sp-4)"},children:[H.jsx("h2",{style:{fontFamily:"var(--font-display)",fontWeight:700,fontSize:"1.1rem",color:"var(--text-primary)",marginBottom:"var(--sp-1)"},children:"Settings"}),H.jsx("p",{style:{fontFamily:"var(--font-mono)",fontSize:"0.7rem",color:"var(--text-muted)"},children:"Configuration and management"})]}),H.jsx("div",{style:{display:"flex",gap:"var(--sp-1)",marginBottom:"var(--sp-5)",borderBottom:"1px solid var(--border-subtle)"},children:c.map(d=>H.jsxs("button",{onClick:()=>l(d.key),style:{display:"flex",alignItems:"center",gap:"var(--sp-2)",padding:"10px 16px",border:"none",borderBottom:a===d.key?"2px solid var(--accent)":"2px solid transparent",background:"transparent",color:a===d.key?"var(--text-primary)":"var(--text-muted)",fontFamily:"var(--font-display)",fontWeight:a===d.key?600:400,fontSize:"0.82rem",cursor:"pointer",transition:"all var(--duration-fast) var(--ease-out)"},children:[H.jsx("span",{style:{fontSize:"0.75rem",opacity:.7},children:d.icon}),d.label]},d.key))}),H.jsxs("div",{style:{flex:1,overflow:"auto"},children:[a==="users"&&t&&H.jsx(GM,{}),a==="squad"&&H.jsx(YM,{}),a==="server"&&H.jsx(qM,{})]})]})}function XM(){const n=vs(p=>p.jobs),t=vs(p=>p.loading),a=vs(p=>p.fetchJobs),l=vs(p=>p.pauseJob),o=vs(p=>p.resumeJob),c=vs(p=>p.triggerJob);G.useEffect(()=>{a()},[a]);const d=p=>p==="active"?"var(--status-active)":p==="paused"?"var(--status-warning)":"var(--status-error)",m=p=>p==="active"?"var(--status-active-glow)":p==="paused"?"var(--status-warning-glow)":"var(--status-error-glow)";return H.jsxs("div",{style:{padding:"var(--sp-6)",animation:"fadeIn 0.4s var(--ease-out) both"},children:[H.jsxs("div",{style:{marginBottom:"var(--sp-5)"},children:[H.jsx("h2",{style:{fontFamily:"var(--font-display)",fontWeight:700,fontSize:"1.1rem",color:"var(--text-primary)",marginBottom:"var(--sp-1)"},children:"Scheduler"}),H.jsx("p",{style:{fontFamily:"var(--font-mono)",fontSize:"0.7rem",color:"var(--text-muted)"},children:"Autonomous job execution and monitoring"})]}),t&&H.jsx("p",{style:{color:"var(--text-muted)",fontFamily:"var(--font-mono)",fontSize:"0.8rem",animation:"pulse 1.5s ease-in-out infinite"},children:"Loading jobs..."}),!t&&n.length===0&&H.jsxs("div",{style:{padding:"var(--sp-8)",textAlign:"center",color:"var(--text-muted)"},children:[H.jsx("div",{style:{fontSize:"1.5rem",marginBottom:"var(--sp-3)"},children:"⏣"}),H.jsx("p",{style:{fontSize:"0.85rem",marginBottom:"var(--sp-2)"},children:"No scheduled jobs"}),H.jsxs("p",{style:{fontFamily:"var(--font-mono)",fontSize:"0.7rem"},children:["Add ",H.jsx("code",{style:{background:"var(--surface-3)",padding:"2px 6px",borderRadius:"var(--radius-xs)"},children:"schedule.enabled: true"})," to a squad.yaml to get started."]})]}),H.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"var(--sp-3)"},children:n.map((p,g)=>H.jsxs("div",{style:{background:"var(--surface-2)",border:"1px solid var(--border-subtle)",borderRadius:"var(--radius-md)",padding:"var(--sp-4)",display:"flex",justifyContent:"space-between",alignItems:"center",transition:"border-color var(--duration-fast) var(--ease-out)",animation:`fadeInUp 0.4s var(--ease-out) ${g*60}ms both`},children:[H.jsxs("div",{style:{flex:1,minWidth:0},children:[H.jsx("div",{style:{fontWeight:600,fontSize:"0.9rem",color:"var(--text-primary)",marginBottom:"var(--sp-1)"},children:p.squad_name}),H.jsxs("div",{style:{fontFamily:"var(--font-mono)",fontSize:"0.7rem",color:"var(--text-secondary)",display:"flex",alignItems:"center",gap:"var(--sp-3)",flexWrap:"wrap"},children:[H.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:4,color:d(p.status)},children:[H.jsx("span",{style:{width:6,height:6,borderRadius:"50%",background:d(p.status),boxShadow:`0 0 8px ${m(p.status)}`,display:"inline-block",animation:p.status==="active"?"statusPulse 2s ease-in-out infinite":"none"}}),p.status]}),H.jsx("span",{style:{color:"var(--border-strong)"},children:"│"}),H.jsx("code",{style:{background:"var(--surface-3)",padding:"1px 5px",borderRadius:"var(--radius-xs)",fontSize:"0.65rem"},children:p.cron_expression}),p.last_run_at&&H.jsxs(H.Fragment,{children:[H.jsx("span",{style:{color:"var(--border-strong)"},children:"│"}),H.jsxs("span",{children:["Last: ",new Date(p.last_run_at).toLocaleString()]})]}),p.last_result&&H.jsxs(H.Fragment,{children:[H.jsx("span",{style:{color:"var(--border-strong)"},children:"│"}),H.jsx("span",{children:p.last_result})]})]})]}),H.jsxs("div",{style:{display:"flex",gap:"var(--sp-2)",marginLeft:"var(--sp-3)"},children:[p.status==="active"?H.jsx("button",{onClick:()=>l(p.squad_name),className:"btn btn-sm",children:"Pause"}):H.jsx("button",{onClick:()=>o(p.squad_name),className:"btn btn-sm",children:"Resume"}),H.jsx("button",{onClick:()=>c(p.squad_name),className:"btn btn-sm btn-accent",children:"Trigger"})]})]},p.squad_name))})]})}const VM=G.lazy(()=>Pc(()=>import("./JarvisView-yQv964kf.js"),[]).then(n=>({default:n.JarvisView})));KS.createRoot(document.getElementById("root")).render(H.jsx(G.StrictMode,{children:H.jsx(yT,{children:H.jsxs(Kb,{children:[H.jsx(ps,{path:"/login",element:H.jsx(l3,{})}),H.jsxs(ps,{path:"/",element:H.jsx(i3,{}),children:[H.jsx(ps,{index:!0,element:H.jsx(kb,{to:"/office",replace:!0})}),H.jsx(ps,{path:"office",element:H.jsx(DM,{})}),H.jsx(ps,{path:"chat",element:H.jsx(NM,{})}),H.jsx(ps,{path:"kanban",element:H.jsx(jM,{})}),H.jsx(ps,{path:"settings",element:H.jsx(LM,{})}),H.jsx(ps,{path:"scheduler",element:H.jsx(XM,{})}),H.jsx(ps,{path:"jarvis",element:H.jsx(G.Suspense,{fallback:null,children:H.jsx(VM,{})})})]})]})})}));export{kp as $,t2 as A,pd as B,zn as C,bi as D,_s as E,cr as F,ni as G,dg as H,Sd as I,e3 as J,R1 as K,Ap as L,le as M,fg as N,P_ as O,ya as P,$i as Q,jy as R,y4 as S,ze as T,wp as U,k_ as V,Fy as W,k4 as X,K4 as Y,$4 as Z,W4 as _,kM as a,bo as a0,T3 as a1,_d as a2,hg as a3,nC as a4,ai as a5,v_ as a6,Ii as a7,Xp as a8,f1 as a9,af as aa,HA as ab,tE as ac,d1 as ad,I0 as ae,m1 as af,nE as ag,ef as ah,mn as ai,S_ as aj,lA as ak,e2 as al,de as am,xd as an,un as ao,l4 as ap,t4 as aq,A4 as ar,x4 as as,Q4 as at,Z4 as au,tC as av,I4 as aw,eC as ax,zl as b,ti as c,HE as d,ei as e,on as f,CE as g,Ue as h,Cp as i,H as j,Wt as k,vC as l,__ as m,Qp as n,oC as o,Kp as p,w_ as q,G as r,YT as s,Ie as t,X0 as u,Jc as v,Ya as w,j3 as x,$n as y,d4 as z};