const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/StatsWindow-B4I9IXZJ.js","assets/react-yfL0ty4i.js","assets/CharacterWindow-BJvvztQF.js","assets/InventoryWindow-CSGTd9Dm.js","assets/RadarWindow-BK3xRVEL.js","assets/CombatStatsWindow-CIq0nIh-.js","assets/CombatPickerWindow-CE2D2FMD.js","assets/IssuesWindow-ea-1SCjj.js","assets/VitalSharingWindow-CzWCiooO.js","assets/QuestStatusWindow-BHiNdvFL.js","assets/PlayerDashboardWindow-b_Omrj1R.js","assets/AgentWindow-BR2MB63y.js"])))=>i.map(i=>d[i]); import{r as M0,g as nh,a as ch}from"./react-yfL0ty4i.js";(function(){const x=document.createElement("link").relList;if(x&&x.supports&&x.supports("modulepreload"))return;for(const N of document.querySelectorAll('link[rel="modulepreload"]'))d(N);new MutationObserver(N=>{for(const j of N)if(j.type==="childList")for(const D of j.addedNodes)D.tagName==="LINK"&&D.rel==="modulepreload"&&d(D)}).observe(document,{childList:!0,subtree:!0});function M(N){const j={};return N.integrity&&(j.integrity=N.integrity),N.referrerPolicy&&(j.referrerPolicy=N.referrerPolicy),N.crossOrigin==="use-credentials"?j.credentials="include":N.crossOrigin==="anonymous"?j.credentials="omit":j.credentials="same-origin",j}function d(N){if(N.ep)return;N.ep=!0;const j=M(N);fetch(N.href,j)}})();var sf={exports:{}},gu={};/** * @license React * react-jsx-runtime.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var v0;function ih(){if(v0)return gu;v0=1;var s=Symbol.for("react.transitional.element"),x=Symbol.for("react.fragment");function M(d,N,j){var D=null;if(j!==void 0&&(D=""+j),N.key!==void 0&&(D=""+N.key),"key"in N){j={};for(var O in N)O!=="key"&&(j[O]=N[O])}else j=N;return N=j.ref,{$$typeof:s,type:d,key:D,ref:N!==void 0?N:null,props:j}}return gu.Fragment=x,gu.jsx=M,gu.jsxs=M,gu}var g0;function fh(){return g0||(g0=1,sf.exports=ih()),sf.exports}var y=fh(),p=M0();const bu=nh(p);var of={exports:{}},Su={},df={exports:{}},mf={};/** * @license React * scheduler.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var S0;function sh(){return S0||(S0=1,(function(s){function x(v,C){var G=v.length;v.push(C);l:for(;0>>1,B=v[R];if(0>>1;RN(F,G))RlN(Et,F)?(v[R]=Et,v[Rl]=G,R=Rl):(v[R]=F,v[sl]=G,R=sl);else if(RlN(Et,G))v[R]=Et,v[Rl]=G,R=Rl;else break l}}return C}function N(v,C){var G=v.sortIndex-C.sortIndex;return G!==0?G:v.id-C.id}if(s.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var j=performance;s.unstable_now=function(){return j.now()}}else{var D=Date,O=D.now();s.unstable_now=function(){return D.now()-O}}var g=[],E=[],Y=1,z=null,U=3,q=!1,I=!1,ul=!1,rl=!1,Sl=typeof setTimeout=="function"?setTimeout:null,K=typeof clearTimeout=="function"?clearTimeout:null,J=typeof setImmediate<"u"?setImmediate:null;function xl(v){for(var C=M(E);C!==null;){if(C.callback===null)d(E);else if(C.startTime<=v)d(E),C.sortIndex=C.expirationTime,x(g,C);else break;C=M(E)}}function Zl(v){if(ul=!1,xl(v),!I)if(M(g)!==null)I=!0,$||($=!0,Tl());else{var C=M(E);C!==null&&St(Zl,C.startTime-v)}}var $=!1,P=-1,Q=5,L=-1;function k(){return rl?!0:!(s.unstable_now()-Lv&&k());){var R=z.callback;if(typeof R=="function"){z.callback=null,U=z.priorityLevel;var B=R(z.expirationTime<=v);if(v=s.unstable_now(),typeof B=="function"){z.callback=B,xl(v),C=!0;break t}z===M(g)&&d(g),xl(v)}else d(g);z=M(g)}if(z!==null)C=!0;else{var fl=M(E);fl!==null&&St(Zl,fl.startTime-v),C=!1}}break l}finally{z=null,U=G,q=!1}C=void 0}}finally{C?Tl():$=!1}}}var Tl;if(typeof J=="function")Tl=function(){J(Ul)};else if(typeof MessageChannel<"u"){var Ot=new MessageChannel,At=Ot.port2;Ot.port1.onmessage=Ul,Tl=function(){At.postMessage(null)}}else Tl=function(){Sl(Ul,0)};function St(v,C){P=Sl(function(){v(s.unstable_now())},C)}s.unstable_IdlePriority=5,s.unstable_ImmediatePriority=1,s.unstable_LowPriority=4,s.unstable_NormalPriority=3,s.unstable_Profiling=null,s.unstable_UserBlockingPriority=2,s.unstable_cancelCallback=function(v){v.callback=null},s.unstable_forceFrameRate=function(v){0>v||125R?(v.sortIndex=G,x(E,v),M(g)===null&&v===M(E)&&(ul?(K(P),P=-1):ul=!0,St(Zl,G-R))):(v.sortIndex=B,x(g,v),I||q||(I=!0,$||($=!0,Tl()))),v},s.unstable_shouldYield=k,s.unstable_wrapCallback=function(v){var C=U;return function(){var G=U;U=C;try{return v.apply(this,arguments)}finally{U=G}}}})(mf)),mf}var b0;function oh(){return b0||(b0=1,df.exports=sh()),df.exports}/** * @license React * react-dom-client.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var z0;function dh(){if(z0)return Su;z0=1;var s=oh(),x=M0(),M=ch();function d(l){var t="https://react.dev/errors/"+l;if(1B||(l.current=R[B],R[B]=null,B--)}function F(l,t){B++,R[B]=l.current,l.current=t}var Rl=fl(null),Et=fl(null),Wt=fl(null),Tu=fl(null);function Au(l,t){switch(F(Wt,t),F(Et,l),F(Rl,null),t.nodeType){case 9:case 11:l=(l=t.documentElement)&&(l=l.namespaceURI)?Xd(l):0;break;default:if(l=t.tagName,t=t.namespaceURI)t=Xd(t),l=Gd(t,l);else switch(l){case"svg":l=1;break;case"math":l=2;break;default:l=0}}sl(Rl),F(Rl,l)}function Ga(){sl(Rl),sl(Et),sl(Wt)}function Vn(l){l.memoizedState!==null&&F(Tu,l);var t=Rl.current,a=Gd(t,l.type);t!==a&&(F(Et,l),F(Rl,a))}function Eu(l){Et.current===l&&(sl(Rl),sl(Et)),Tu.current===l&&(sl(Tu),ru._currentValue=G)}var Ln,hf;function pa(l){if(Ln===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);Ln=t&&t[1]||"",hf=-1)":-1u||f[e]!==h[u]){var T=` `+f[e].replace(" at new "," at ");return l.displayName&&T.includes("")&&(T=T.replace("",l.displayName)),T}while(1<=e&&0<=u);break}}}finally{Kn=!1,Error.prepareStackTrace=a}return(a=l?l.displayName||l.name:"")?pa(a):""}function q0(l,t){switch(l.tag){case 26:case 27:case 5:return pa(l.type);case 16:return pa("Lazy");case 13:return l.child!==t&&t!==null?pa("Suspense Fallback"):pa("Suspense");case 19:return pa("SuspenseList");case 0:case 15:return Jn(l.type,!1);case 11:return Jn(l.type.render,!1);case 1:return Jn(l.type,!0);case 31:return pa("Activity");default:return""}}function yf(l){try{var t="",a=null;do t+=q0(l,a),a=l,l=l.return;while(l);return t}catch(e){return` Error generating stack: `+e.message+` `+e.stack}}var wn=Object.prototype.hasOwnProperty,kn=s.unstable_scheduleCallback,Wn=s.unstable_cancelCallback,B0=s.unstable_shouldYield,Y0=s.unstable_requestPaint,Fl=s.unstable_now,X0=s.unstable_getCurrentPriorityLevel,vf=s.unstable_ImmediatePriority,gf=s.unstable_UserBlockingPriority,_u=s.unstable_NormalPriority,G0=s.unstable_LowPriority,Sf=s.unstable_IdlePriority,Q0=s.log,Z0=s.unstable_setDisableYieldValue,_e=null,Il=null;function $t(l){if(typeof Q0=="function"&&Z0(l),Il&&typeof Il.setStrictMode=="function")try{Il.setStrictMode(_e,l)}catch{}}var Pl=Math.clz32?Math.clz32:K0,V0=Math.log,L0=Math.LN2;function K0(l){return l>>>=0,l===0?32:31-(V0(l)/L0|0)|0}var Mu=256,xu=262144,Du=4194304;function Ta(l){var t=l&42;if(t!==0)return t;switch(l&-l){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return l&261888;case 262144:case 524288:case 1048576:case 2097152:return l&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return l&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return l}}function Ou(l,t,a){var e=l.pendingLanes;if(e===0)return 0;var u=0,n=l.suspendedLanes,c=l.pingedLanes;l=l.warmLanes;var i=e&134217727;return i!==0?(e=i&~n,e!==0?u=Ta(e):(c&=i,c!==0?u=Ta(c):a||(a=i&~l,a!==0&&(u=Ta(a))))):(i=e&~n,i!==0?u=Ta(i):c!==0?u=Ta(c):a||(a=e&~l,a!==0&&(u=Ta(a)))),u===0?0:t!==0&&t!==u&&(t&n)===0&&(n=u&-u,a=t&-t,n>=a||n===32&&(a&4194048)!==0)?t:u}function Me(l,t){return(l.pendingLanes&~(l.suspendedLanes&~l.pingedLanes)&t)===0}function J0(l,t){switch(l){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function bf(){var l=Du;return Du<<=1,(Du&62914560)===0&&(Du=4194304),l}function $n(l){for(var t=[],a=0;31>a;a++)t.push(l);return t}function xe(l,t){l.pendingLanes|=t,t!==268435456&&(l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0)}function w0(l,t,a,e,u,n){var c=l.pendingLanes;l.pendingLanes=a,l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0,l.expiredLanes&=a,l.entangledLanes&=a,l.errorRecoveryDisabledLanes&=a,l.shellSuspendCounter=0;var i=l.entanglements,f=l.expirationTimes,h=l.hiddenUpdates;for(a=c&~a;0"u")return null;try{return l.activeElement||l.body}catch{return l.body}}var P0=/[\n"\\]/g;function ft(l){return l.replace(P0,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function ac(l,t,a,e,u,n,c,i){l.name="",c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?l.type=c:l.removeAttribute("type"),t!=null?c==="number"?(t===0&&l.value===""||l.value!=t)&&(l.value=""+it(t)):l.value!==""+it(t)&&(l.value=""+it(t)):c!=="submit"&&c!=="reset"||l.removeAttribute("value"),t!=null?ec(l,c,it(t)):a!=null?ec(l,c,it(a)):e!=null&&l.removeAttribute("value"),u==null&&n!=null&&(l.defaultChecked=!!n),u!=null&&(l.checked=u&&typeof u!="function"&&typeof u!="symbol"),i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?l.name=""+it(i):l.removeAttribute("name")}function Uf(l,t,a,e,u,n,c,i){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(l.type=n),t!=null||a!=null){if(!(n!=="submit"&&n!=="reset"||t!=null)){tc(l);return}a=a!=null?""+it(a):"",t=t!=null?""+it(t):a,i||t===l.value||(l.value=t),l.defaultValue=t}e=e??u,e=typeof e!="function"&&typeof e!="symbol"&&!!e,l.checked=i?l.checked:!!e,l.defaultChecked=!!e,c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"&&(l.name=c),tc(l)}function ec(l,t,a){t==="number"&&Uu(l.ownerDocument)===l||l.defaultValue===""+a||(l.defaultValue=""+a)}function Ja(l,t,a,e){if(l=l.options,t){t={};for(var u=0;u"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),fc=!1;if(Ut)try{var je={};Object.defineProperty(je,"passive",{get:function(){fc=!0}}),window.addEventListener("test",je,je),window.removeEventListener("test",je,je)}catch{fc=!1}var It=null,sc=null,Ru=null;function Xf(){if(Ru)return Ru;var l,t=sc,a=t.length,e,u="value"in It?It.value:It.textContent,n=u.length;for(l=0;l=Re),Kf=" ",Jf=!1;function wf(l,t){switch(l){case"keyup":return xm.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function kf(l){return l=l.detail,typeof l=="object"&&"data"in l?l.data:null}var $a=!1;function Om(l,t){switch(l){case"compositionend":return kf(t);case"keypress":return t.which!==32?null:(Jf=!0,Kf);case"textInput":return l=t.data,l===Kf&&Jf?null:l;default:return null}}function Nm(l,t){if($a)return l==="compositionend"||!hc&&wf(l,t)?(l=Xf(),Ru=sc=It=null,$a=!1,l):null;switch(l){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:a,offset:t-l};l=e}l:{for(;a;){if(a.nextSibling){a=a.nextSibling;break l}a=a.parentNode}a=void 0}a=as(a)}}function us(l,t){return l&&t?l===t?!0:l&&l.nodeType===3?!1:t&&t.nodeType===3?us(l,t.parentNode):"contains"in l?l.contains(t):l.compareDocumentPosition?!!(l.compareDocumentPosition(t)&16):!1:!1}function ns(l){l=l!=null&&l.ownerDocument!=null&&l.ownerDocument.defaultView!=null?l.ownerDocument.defaultView:window;for(var t=Uu(l.document);t instanceof l.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)l=t.contentWindow;else break;t=Uu(l.document)}return t}function gc(l){var t=l&&l.nodeName&&l.nodeName.toLowerCase();return t&&(t==="input"&&(l.type==="text"||l.type==="search"||l.type==="tel"||l.type==="url"||l.type==="password")||t==="textarea"||l.contentEditable==="true")}var Ym=Ut&&"documentMode"in document&&11>=document.documentMode,Fa=null,Sc=null,Ye=null,bc=!1;function cs(l,t,a){var e=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;bc||Fa==null||Fa!==Uu(e)||(e=Fa,"selectionStart"in e&&gc(e)?e={start:e.selectionStart,end:e.selectionEnd}:(e=(e.ownerDocument&&e.ownerDocument.defaultView||window).getSelection(),e={anchorNode:e.anchorNode,anchorOffset:e.anchorOffset,focusNode:e.focusNode,focusOffset:e.focusOffset}),Ye&&Be(Ye,e)||(Ye=e,e=Dn(Sc,"onSelect"),0>=c,u-=c,_t=1<<32-Pl(t)+u|a<W?(el=X,X=null):el=X.sibling;var il=S(m,X,r[W],A);if(il===null){X===null&&(X=el);break}l&&X&&il.alternate===null&&t(m,X),o=n(il,o,W),cl===null?Z=il:cl.sibling=il,cl=il,X=el}if(W===r.length)return a(m,X),nl&&Rt(m,W),Z;if(X===null){for(;WW?(el=X,X=null):el=X.sibling;var za=S(m,X,il.value,A);if(za===null){X===null&&(X=el);break}l&&X&&za.alternate===null&&t(m,X),o=n(za,o,W),cl===null?Z=za:cl.sibling=za,cl=za,X=el}if(il.done)return a(m,X),nl&&Rt(m,W),Z;if(X===null){for(;!il.done;W++,il=r.next())il=_(m,il.value,A),il!==null&&(o=n(il,o,W),cl===null?Z=il:cl.sibling=il,cl=il);return nl&&Rt(m,W),Z}for(X=e(X);!il.done;W++,il=r.next())il=b(X,m,W,il.value,A),il!==null&&(l&&il.alternate!==null&&X.delete(il.key===null?W:il.key),o=n(il,o,W),cl===null?Z=il:cl.sibling=il,cl=il);return l&&X.forEach(function(uh){return t(m,uh)}),nl&&Rt(m,W),Z}function vl(m,o,r,A){if(typeof r=="object"&&r!==null&&r.type===ul&&r.key===null&&(r=r.props.children),typeof r=="object"&&r!==null){switch(r.$$typeof){case q:l:{for(var Z=r.key;o!==null;){if(o.key===Z){if(Z=r.type,Z===ul){if(o.tag===7){a(m,o.sibling),A=u(o,r.props.children),A.return=m,m=A;break l}}else if(o.elementType===Z||typeof Z=="object"&&Z!==null&&Z.$$typeof===Q&&Ca(Z)===o.type){a(m,o.sibling),A=u(o,r.props),Le(A,r),A.return=m,m=A;break l}a(m,o);break}else t(m,o);o=o.sibling}r.type===ul?(A=Da(r.props.children,m.mode,A,r.key),A.return=m,m=A):(A=Lu(r.type,r.key,r.props,null,m.mode,A),Le(A,r),A.return=m,m=A)}return c(m);case I:l:{for(Z=r.key;o!==null;){if(o.key===Z)if(o.tag===4&&o.stateNode.containerInfo===r.containerInfo&&o.stateNode.implementation===r.implementation){a(m,o.sibling),A=u(o,r.children||[]),A.return=m,m=A;break l}else{a(m,o);break}else t(m,o);o=o.sibling}A=Mc(r,m.mode,A),A.return=m,m=A}return c(m);case Q:return r=Ca(r),vl(m,o,r,A)}if(St(r))return H(m,o,r,A);if(Tl(r)){if(Z=Tl(r),typeof Z!="function")throw Error(d(150));return r=Z.call(r),V(m,o,r,A)}if(typeof r.then=="function")return vl(m,o,Fu(r),A);if(r.$$typeof===J)return vl(m,o,wu(m,r),A);Iu(m,r)}return typeof r=="string"&&r!==""||typeof r=="number"||typeof r=="bigint"?(r=""+r,o!==null&&o.tag===6?(a(m,o.sibling),A=u(o,r),A.return=m,m=A):(a(m,o),A=_c(r,m.mode,A),A.return=m,m=A),c(m)):a(m,o)}return function(m,o,r,A){try{Ve=0;var Z=vl(m,o,r,A);return fe=null,Z}catch(X){if(X===ie||X===Wu)throw X;var cl=tt(29,X,null,m.mode);return cl.lanes=A,cl.return=m,cl}finally{}}}var Ha=Os(!0),Ns=Os(!1),ea=!1;function Yc(l){l.updateQueue={baseState:l.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Xc(l,t){l=l.updateQueue,t.updateQueue===l&&(t.updateQueue={baseState:l.baseState,firstBaseUpdate:l.firstBaseUpdate,lastBaseUpdate:l.lastBaseUpdate,shared:l.shared,callbacks:null})}function ua(l){return{lane:l,tag:0,payload:null,callback:null,next:null}}function na(l,t,a){var e=l.updateQueue;if(e===null)return null;if(e=e.shared,(ol&2)!==0){var u=e.pending;return u===null?t.next=t:(t.next=u.next,u.next=t),e.pending=t,t=Vu(l),rs(l,null,a),t}return Zu(l,e,t,a),Vu(l)}function Ke(l,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var e=t.lanes;e&=l.pendingLanes,a|=e,t.lanes=a,pf(l,a)}}function Gc(l,t){var a=l.updateQueue,e=l.alternate;if(e!==null&&(e=e.updateQueue,a===e)){var u=null,n=null;if(a=a.firstBaseUpdate,a!==null){do{var c={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};n===null?u=n=c:n=n.next=c,a=a.next}while(a!==null);n===null?u=n=t:n=n.next=t}else u=n=t;a={baseState:e.baseState,firstBaseUpdate:u,lastBaseUpdate:n,shared:e.shared,callbacks:e.callbacks},l.updateQueue=a;return}l=a.lastBaseUpdate,l===null?a.firstBaseUpdate=t:l.next=t,a.lastBaseUpdate=t}var Qc=!1;function Je(){if(Qc){var l=ce;if(l!==null)throw l}}function we(l,t,a,e){Qc=!1;var u=l.updateQueue;ea=!1;var n=u.firstBaseUpdate,c=u.lastBaseUpdate,i=u.shared.pending;if(i!==null){u.shared.pending=null;var f=i,h=f.next;f.next=null,c===null?n=h:c.next=h,c=f;var T=l.alternate;T!==null&&(T=T.updateQueue,i=T.lastBaseUpdate,i!==c&&(i===null?T.firstBaseUpdate=h:i.next=h,T.lastBaseUpdate=f))}if(n!==null){var _=u.baseState;c=0,T=h=f=null,i=n;do{var S=i.lane&-536870913,b=S!==i.lane;if(b?(al&S)===S:(e&S)===S){S!==0&&S===ne&&(Qc=!0),T!==null&&(T=T.next={lane:0,tag:i.tag,payload:i.payload,callback:null,next:null});l:{var H=l,V=i;S=t;var vl=a;switch(V.tag){case 1:if(H=V.payload,typeof H=="function"){_=H.call(vl,_,S);break l}_=H;break l;case 3:H.flags=H.flags&-65537|128;case 0:if(H=V.payload,S=typeof H=="function"?H.call(vl,_,S):H,S==null)break l;_=z({},_,S);break l;case 2:ea=!0}}S=i.callback,S!==null&&(l.flags|=64,b&&(l.flags|=8192),b=u.callbacks,b===null?u.callbacks=[S]:b.push(S))}else b={lane:S,tag:i.tag,payload:i.payload,callback:i.callback,next:null},T===null?(h=T=b,f=_):T=T.next=b,c|=S;if(i=i.next,i===null){if(i=u.shared.pending,i===null)break;b=i,i=b.next,b.next=null,u.lastBaseUpdate=b,u.shared.pending=null}}while(!0);T===null&&(f=_),u.baseState=f,u.firstBaseUpdate=h,u.lastBaseUpdate=T,n===null&&(u.shared.lanes=0),oa|=c,l.lanes=c,l.memoizedState=_}}function js(l,t){if(typeof l!="function")throw Error(d(191,l));l.call(t)}function Us(l,t){var a=l.callbacks;if(a!==null)for(l.callbacks=null,l=0;ln?n:8;var c=v.T,i={};v.T=i,ci(l,!1,t,a);try{var f=u(),h=v.S;if(h!==null&&h(i,f),f!==null&&typeof f=="object"&&typeof f.then=="function"){var T=wm(f,e);$e(l,t,T,ct(l))}else $e(l,t,e,ct(l))}catch(_){$e(l,t,{then:function(){},status:"rejected",reason:_},ct())}finally{C.p=n,c!==null&&i.types!==null&&(c.types=i.types),v.T=c}}function Pm(){}function ui(l,t,a,e){if(l.tag!==5)throw Error(d(476));var u=oo(l).queue;so(l,u,t,G,a===null?Pm:function(){return mo(l),a(e)})}function oo(l){var t=l.memoizedState;if(t!==null)return t;t={memoizedState:G,baseState:G,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Yt,lastRenderedState:G},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Yt,lastRenderedState:a},next:null},l.memoizedState=t,l=l.alternate,l!==null&&(l.memoizedState=t),t}function mo(l){var t=oo(l);t.next===null&&(t=l.alternate.memoizedState),$e(l,t.next.queue,{},ct())}function ni(){return Xl(ru)}function ro(){return Ml().memoizedState}function ho(){return Ml().memoizedState}function lr(l){for(var t=l.return;t!==null;){switch(t.tag){case 24:case 3:var a=ct();l=ua(a);var e=na(t,l,a);e!==null&&($l(e,t,a),Ke(e,t,a)),t={cache:Rc()},l.payload=t;return}t=t.return}}function tr(l,t,a){var e=ct();a={lane:e,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},sn(l)?vo(t,a):(a=Ac(l,t,a,e),a!==null&&($l(a,l,e),go(a,t,e)))}function yo(l,t,a){var e=ct();$e(l,t,a,e)}function $e(l,t,a,e){var u={lane:e,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(sn(l))vo(t,u);else{var n=l.alternate;if(l.lanes===0&&(n===null||n.lanes===0)&&(n=t.lastRenderedReducer,n!==null))try{var c=t.lastRenderedState,i=n(c,a);if(u.hasEagerState=!0,u.eagerState=i,lt(i,c))return Zu(l,t,u,0),gl===null&&Qu(),!1}catch{}finally{}if(a=Ac(l,t,u,e),a!==null)return $l(a,l,e),go(a,t,e),!0}return!1}function ci(l,t,a,e){if(e={lane:2,revertLane:Yi(),gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},sn(l)){if(t)throw Error(d(479))}else t=Ac(l,a,e,2),t!==null&&$l(t,l,2)}function sn(l){var t=l.alternate;return l===w||t!==null&&t===w}function vo(l,t){oe=tn=!0;var a=l.pending;a===null?t.next=t:(t.next=a.next,a.next=t),l.pending=t}function go(l,t,a){if((a&4194048)!==0){var e=t.lanes;e&=l.pendingLanes,a|=e,t.lanes=a,pf(l,a)}}var Fe={readContext:Xl,use:un,useCallback:Al,useContext:Al,useEffect:Al,useImperativeHandle:Al,useLayoutEffect:Al,useInsertionEffect:Al,useMemo:Al,useReducer:Al,useRef:Al,useState:Al,useDebugValue:Al,useDeferredValue:Al,useTransition:Al,useSyncExternalStore:Al,useId:Al,useHostTransitionStatus:Al,useFormState:Al,useActionState:Al,useOptimistic:Al,useMemoCache:Al,useCacheRefresh:Al};Fe.useEffectEvent=Al;var So={readContext:Xl,use:un,useCallback:function(l,t){return Vl().memoizedState=[l,t===void 0?null:t],l},useContext:Xl,useEffect:lo,useImperativeHandle:function(l,t,a){a=a!=null?a.concat([l]):null,cn(4194308,4,uo.bind(null,t,l),a)},useLayoutEffect:function(l,t){return cn(4194308,4,l,t)},useInsertionEffect:function(l,t){cn(4,2,l,t)},useMemo:function(l,t){var a=Vl();t=t===void 0?null:t;var e=l();if(qa){$t(!0);try{l()}finally{$t(!1)}}return a.memoizedState=[e,t],e},useReducer:function(l,t,a){var e=Vl();if(a!==void 0){var u=a(t);if(qa){$t(!0);try{a(t)}finally{$t(!1)}}}else u=t;return e.memoizedState=e.baseState=u,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:u},e.queue=l,l=l.dispatch=tr.bind(null,w,l),[e.memoizedState,l]},useRef:function(l){var t=Vl();return l={current:l},t.memoizedState=l},useState:function(l){l=Pc(l);var t=l.queue,a=yo.bind(null,w,t);return t.dispatch=a,[l.memoizedState,a]},useDebugValue:ai,useDeferredValue:function(l,t){var a=Vl();return ei(a,l,t)},useTransition:function(){var l=Pc(!1);return l=so.bind(null,w,l.queue,!0,!1),Vl().memoizedState=l,[!1,l]},useSyncExternalStore:function(l,t,a){var e=w,u=Vl();if(nl){if(a===void 0)throw Error(d(407));a=a()}else{if(a=t(),gl===null)throw Error(d(349));(al&127)!==0||Ys(e,t,a)}u.memoizedState=a;var n={value:a,getSnapshot:t};return u.queue=n,lo(Gs.bind(null,e,n,l),[l]),e.flags|=2048,me(9,{destroy:void 0},Xs.bind(null,e,n,a,t),null),a},useId:function(){var l=Vl(),t=gl.identifierPrefix;if(nl){var a=Mt,e=_t;a=(e&~(1<<32-Pl(e)-1)).toString(32)+a,t="_"+t+"R_"+a,a=an++,0<\/script>",n=n.removeChild(n.firstChild);break;case"select":n=typeof e.is=="string"?c.createElement("select",{is:e.is}):c.createElement("select"),e.multiple?n.multiple=!0:e.size&&(n.size=e.size);break;default:n=typeof e.is=="string"?c.createElement(u,{is:e.is}):c.createElement(u)}}n[Bl]=t,n[Ll]=e;l:for(c=t.child;c!==null;){if(c.tag===5||c.tag===6)n.appendChild(c.stateNode);else if(c.tag!==4&&c.tag!==27&&c.child!==null){c.child.return=c,c=c.child;continue}if(c===t)break l;for(;c.sibling===null;){if(c.return===null||c.return===t)break l;c=c.return}c.sibling.return=c.return,c=c.sibling}t.stateNode=n;l:switch(Ql(n,u,e),u){case"button":case"input":case"select":case"textarea":e=!!e.autoFocus;break l;case"img":e=!0;break l;default:e=!1}e&&Gt(t)}}return zl(t),zi(t,t.type,l===null?null:l.memoizedProps,t.pendingProps,a),null;case 6:if(l&&t.stateNode!=null)l.memoizedProps!==e&&Gt(t);else{if(typeof e!="string"&&t.stateNode===null)throw Error(d(166));if(l=Wt.current,ee(t)){if(l=t.stateNode,a=t.memoizedProps,e=null,u=Yl,u!==null)switch(u.tag){case 27:case 5:e=u.memoizedProps}l[Bl]=t,l=!!(l.nodeValue===a||e!==null&&e.suppressHydrationWarning===!0||Bd(l.nodeValue,a)),l||ta(t,!0)}else l=On(l).createTextNode(e),l[Bl]=t,t.stateNode=l}return zl(t),null;case 31:if(a=t.memoizedState,l===null||l.memoizedState!==null){if(e=ee(t),a!==null){if(l===null){if(!e)throw Error(d(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(d(557));l[Bl]=t}else Oa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;zl(t),l=!1}else a=Nc(),l!==null&&l.memoizedState!==null&&(l.memoizedState.hydrationErrors=a),l=!0;if(!l)return t.flags&256?(et(t),t):(et(t),null);if((t.flags&128)!==0)throw Error(d(558))}return zl(t),null;case 13:if(e=t.memoizedState,l===null||l.memoizedState!==null&&l.memoizedState.dehydrated!==null){if(u=ee(t),e!==null&&e.dehydrated!==null){if(l===null){if(!u)throw Error(d(318));if(u=t.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(d(317));u[Bl]=t}else Oa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;zl(t),u=!1}else u=Nc(),l!==null&&l.memoizedState!==null&&(l.memoizedState.hydrationErrors=u),u=!0;if(!u)return t.flags&256?(et(t),t):(et(t),null)}return et(t),(t.flags&128)!==0?(t.lanes=a,t):(a=e!==null,l=l!==null&&l.memoizedState!==null,a&&(e=t.child,u=null,e.alternate!==null&&e.alternate.memoizedState!==null&&e.alternate.memoizedState.cachePool!==null&&(u=e.alternate.memoizedState.cachePool.pool),n=null,e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),n!==u&&(e.flags|=2048)),a!==l&&a&&(t.child.flags|=8192),hn(t,t.updateQueue),zl(t),null);case 4:return Ga(),l===null&&Zi(t.stateNode.containerInfo),zl(t),null;case 10:return qt(t.type),zl(t),null;case 19:if(sl(_l),e=t.memoizedState,e===null)return zl(t),null;if(u=(t.flags&128)!==0,n=e.rendering,n===null)if(u)Pe(e,!1);else{if(El!==0||l!==null&&(l.flags&128)!==0)for(l=t.child;l!==null;){if(n=ln(l),n!==null){for(t.flags|=128,Pe(e,!1),l=n.updateQueue,t.updateQueue=l,hn(t,l),t.subtreeFlags=0,l=a,a=t.child;a!==null;)hs(a,l),a=a.sibling;return F(_l,_l.current&1|2),nl&&Rt(t,e.treeForkCount),t.child}l=l.sibling}e.tail!==null&&Fl()>bn&&(t.flags|=128,u=!0,Pe(e,!1),t.lanes=4194304)}else{if(!u)if(l=ln(n),l!==null){if(t.flags|=128,u=!0,l=l.updateQueue,t.updateQueue=l,hn(t,l),Pe(e,!0),e.tail===null&&e.tailMode==="hidden"&&!n.alternate&&!nl)return zl(t),null}else 2*Fl()-e.renderingStartTime>bn&&a!==536870912&&(t.flags|=128,u=!0,Pe(e,!1),t.lanes=4194304);e.isBackwards?(n.sibling=t.child,t.child=n):(l=e.last,l!==null?l.sibling=n:t.child=n,e.last=n)}return e.tail!==null?(l=e.tail,e.rendering=l,e.tail=l.sibling,e.renderingStartTime=Fl(),l.sibling=null,a=_l.current,F(_l,u?a&1|2:a&1),nl&&Rt(t,e.treeForkCount),l):(zl(t),null);case 22:case 23:return et(t),Vc(),e=t.memoizedState!==null,l!==null?l.memoizedState!==null!==e&&(t.flags|=8192):e&&(t.flags|=8192),e?(a&536870912)!==0&&(t.flags&128)===0&&(zl(t),t.subtreeFlags&6&&(t.flags|=8192)):zl(t),a=t.updateQueue,a!==null&&hn(t,a.retryQueue),a=null,l!==null&&l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(a=l.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==a&&(t.flags|=2048),l!==null&&sl(Ua),null;case 24:return a=null,l!==null&&(a=l.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),qt(Dl),zl(t),null;case 25:return null;case 30:return null}throw Error(d(156,t.tag))}function cr(l,t){switch(Dc(t),t.tag){case 1:return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 3:return qt(Dl),Ga(),l=t.flags,(l&65536)!==0&&(l&128)===0?(t.flags=l&-65537|128,t):null;case 26:case 27:case 5:return Eu(t),null;case 31:if(t.memoizedState!==null){if(et(t),t.alternate===null)throw Error(d(340));Oa()}return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 13:if(et(t),l=t.memoizedState,l!==null&&l.dehydrated!==null){if(t.alternate===null)throw Error(d(340));Oa()}return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 19:return sl(_l),null;case 4:return Ga(),null;case 10:return qt(t.type),null;case 22:case 23:return et(t),Vc(),l!==null&&sl(Ua),l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 24:return qt(Dl),null;case 25:return null;default:return null}}function Zo(l,t){switch(Dc(t),t.tag){case 3:qt(Dl),Ga();break;case 26:case 27:case 5:Eu(t);break;case 4:Ga();break;case 31:t.memoizedState!==null&&et(t);break;case 13:et(t);break;case 19:sl(_l);break;case 10:qt(t.type);break;case 22:case 23:et(t),Vc(),l!==null&&sl(Ua);break;case 24:qt(Dl)}}function lu(l,t){try{var a=t.updateQueue,e=a!==null?a.lastEffect:null;if(e!==null){var u=e.next;a=u;do{if((a.tag&l)===l){e=void 0;var n=a.create,c=a.inst;e=n(),c.destroy=e}a=a.next}while(a!==u)}}catch(i){ml(t,t.return,i)}}function fa(l,t,a){try{var e=t.updateQueue,u=e!==null?e.lastEffect:null;if(u!==null){var n=u.next;e=n;do{if((e.tag&l)===l){var c=e.inst,i=c.destroy;if(i!==void 0){c.destroy=void 0,u=t;var f=a,h=i;try{h()}catch(T){ml(u,f,T)}}}e=e.next}while(e!==n)}}catch(T){ml(t,t.return,T)}}function Vo(l){var t=l.updateQueue;if(t!==null){var a=l.stateNode;try{Us(t,a)}catch(e){ml(l,l.return,e)}}}function Lo(l,t,a){a.props=Ba(l.type,l.memoizedProps),a.state=l.memoizedState;try{a.componentWillUnmount()}catch(e){ml(l,t,e)}}function tu(l,t){try{var a=l.ref;if(a!==null){switch(l.tag){case 26:case 27:case 5:var e=l.stateNode;break;case 30:e=l.stateNode;break;default:e=l.stateNode}typeof a=="function"?l.refCleanup=a(e):a.current=e}}catch(u){ml(l,t,u)}}function xt(l,t){var a=l.ref,e=l.refCleanup;if(a!==null)if(typeof e=="function")try{e()}catch(u){ml(l,t,u)}finally{l.refCleanup=null,l=l.alternate,l!=null&&(l.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(u){ml(l,t,u)}else a.current=null}function Ko(l){var t=l.type,a=l.memoizedProps,e=l.stateNode;try{l:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&e.focus();break l;case"img":a.src?e.src=a.src:a.srcSet&&(e.srcset=a.srcSet)}}catch(u){ml(l,l.return,u)}}function pi(l,t,a){try{var e=l.stateNode;Dr(e,l.type,a,t),e[Ll]=t}catch(u){ml(l,l.return,u)}}function Jo(l){return l.tag===5||l.tag===3||l.tag===26||l.tag===27&&ya(l.type)||l.tag===4}function Ti(l){l:for(;;){for(;l.sibling===null;){if(l.return===null||Jo(l.return))return null;l=l.return}for(l.sibling.return=l.return,l=l.sibling;l.tag!==5&&l.tag!==6&&l.tag!==18;){if(l.tag===27&&ya(l.type)||l.flags&2||l.child===null||l.tag===4)continue l;l.child.return=l,l=l.child}if(!(l.flags&2))return l.stateNode}}function Ai(l,t,a){var e=l.tag;if(e===5||e===6)l=l.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(l,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(l),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=jt));else if(e!==4&&(e===27&&ya(l.type)&&(a=l.stateNode,t=null),l=l.child,l!==null))for(Ai(l,t,a),l=l.sibling;l!==null;)Ai(l,t,a),l=l.sibling}function yn(l,t,a){var e=l.tag;if(e===5||e===6)l=l.stateNode,t?a.insertBefore(l,t):a.appendChild(l);else if(e!==4&&(e===27&&ya(l.type)&&(a=l.stateNode),l=l.child,l!==null))for(yn(l,t,a),l=l.sibling;l!==null;)yn(l,t,a),l=l.sibling}function wo(l){var t=l.stateNode,a=l.memoizedProps;try{for(var e=l.type,u=t.attributes;u.length;)t.removeAttributeNode(u[0]);Ql(t,e,a),t[Bl]=l,t[Ll]=a}catch(n){ml(l,l.return,n)}}var Qt=!1,jl=!1,Ei=!1,ko=typeof WeakSet=="function"?WeakSet:Set,ql=null;function ir(l,t){if(l=l.containerInfo,Ki=qn,l=ns(l),gc(l)){if("selectionStart"in l)var a={start:l.selectionStart,end:l.selectionEnd};else l:{a=(a=l.ownerDocument)&&a.defaultView||window;var e=a.getSelection&&a.getSelection();if(e&&e.rangeCount!==0){a=e.anchorNode;var u=e.anchorOffset,n=e.focusNode;e=e.focusOffset;try{a.nodeType,n.nodeType}catch{a=null;break l}var c=0,i=-1,f=-1,h=0,T=0,_=l,S=null;t:for(;;){for(var b;_!==a||u!==0&&_.nodeType!==3||(i=c+u),_!==n||e!==0&&_.nodeType!==3||(f=c+e),_.nodeType===3&&(c+=_.nodeValue.length),(b=_.firstChild)!==null;)S=_,_=b;for(;;){if(_===l)break t;if(S===a&&++h===u&&(i=c),S===n&&++T===e&&(f=c),(b=_.nextSibling)!==null)break;_=S,S=_.parentNode}_=b}a=i===-1||f===-1?null:{start:i,end:f}}else a=null}a=a||{start:0,end:0}}else a=null;for(Ji={focusedElem:l,selectionRange:a},qn=!1,ql=t;ql!==null;)if(t=ql,l=t.child,(t.subtreeFlags&1028)!==0&&l!==null)l.return=t,ql=l;else for(;ql!==null;){switch(t=ql,n=t.alternate,l=t.flags,t.tag){case 0:if((l&4)!==0&&(l=t.updateQueue,l=l!==null?l.events:null,l!==null))for(a=0;a title"))),Ql(n,e,a),n[Bl]=l,Hl(n),e=n;break l;case"link":var c=l0("link","href",u).get(e+(a.href||""));if(c){for(var i=0;ivl&&(c=vl,vl=V,V=c);var m=es(i,V),o=es(i,vl);if(m&&o&&(b.rangeCount!==1||b.anchorNode!==m.node||b.anchorOffset!==m.offset||b.focusNode!==o.node||b.focusOffset!==o.offset)){var r=_.createRange();r.setStart(m.node,m.offset),b.removeAllRanges(),V>vl?(b.addRange(r),b.extend(o.node,o.offset)):(r.setEnd(o.node,o.offset),b.addRange(r))}}}}for(_=[],b=i;b=b.parentNode;)b.nodeType===1&&_.push({element:b,left:b.scrollLeft,top:b.scrollTop});for(typeof i.focus=="function"&&i.focus(),i=0;i<_.length;i++){var A=_[i];A.element.scrollLeft=A.left,A.element.scrollTop=A.top}}qn=!!Ki,Ji=Ki=null}finally{ol=u,C.p=e,v.T=a}}l.current=t,Cl=2}}function pd(){if(Cl===2){Cl=0;var l=ma,t=ge,a=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||a){a=v.T,v.T=null;var e=C.p;C.p=2;var u=ol;ol|=4;try{Wo(l,t.alternate,t)}finally{ol=u,C.p=e,v.T=a}}Cl=3}}function Td(){if(Cl===4||Cl===3){Cl=0,Y0();var l=ma,t=ge,a=Jt,e=fd;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Cl=5:(Cl=0,ge=ma=null,Ad(l,l.pendingLanes));var u=l.pendingLanes;if(u===0&&(da=null),In(a),t=t.stateNode,Il&&typeof Il.onCommitFiberRoot=="function")try{Il.onCommitFiberRoot(_e,t,void 0,(t.current.flags&128)===128)}catch{}if(e!==null){t=v.T,u=C.p,C.p=2,v.T=null;try{for(var n=l.onRecoverableError,c=0;ca?32:a,v.T=null,a=ji,ji=null;var n=ma,c=Jt;if(Cl=0,ge=ma=null,Jt=0,(ol&6)!==0)throw Error(d(331));var i=ol;if(ol|=4,nd(n.current),ad(n,n.current,c,a),ol=i,iu(0,!1),Il&&typeof Il.onPostCommitFiberRoot=="function")try{Il.onPostCommitFiberRoot(_e,n)}catch{}return!0}finally{C.p=u,v.T=e,Ad(l,t)}}function _d(l,t,a){t=ot(a,t),t=oi(l.stateNode,t,2),l=na(l,t,2),l!==null&&(xe(l,2),Dt(l))}function ml(l,t,a){if(l.tag===3)_d(l,l,a);else for(;t!==null;){if(t.tag===3){_d(t,l,a);break}else if(t.tag===1){var e=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof e.componentDidCatch=="function"&&(da===null||!da.has(e))){l=ot(a,l),a=Mo(2),e=na(t,a,2),e!==null&&(xo(a,e,t,l),xe(e,2),Dt(e));break}}t=t.return}}function Hi(l,t,a){var e=l.pingCache;if(e===null){e=l.pingCache=new or;var u=new Set;e.set(t,u)}else u=e.get(t),u===void 0&&(u=new Set,e.set(t,u));u.has(a)||(xi=!0,u.add(a),l=yr.bind(null,l,t,a),t.then(l,l))}function yr(l,t,a){var e=l.pingCache;e!==null&&e.delete(t),l.pingedLanes|=l.suspendedLanes&a,l.warmLanes&=~a,gl===l&&(al&a)===a&&(El===4||El===3&&(al&62914560)===al&&300>Fl()-Sn?(ol&2)===0&&Se(l,0):Di|=a,ve===al&&(ve=0)),Dt(l)}function Md(l,t){t===0&&(t=bf()),l=xa(l,t),l!==null&&(xe(l,t),Dt(l))}function vr(l){var t=l.memoizedState,a=0;t!==null&&(a=t.retryLane),Md(l,a)}function gr(l,t){var a=0;switch(l.tag){case 31:case 13:var e=l.stateNode,u=l.memoizedState;u!==null&&(a=u.retryLane);break;case 19:e=l.stateNode;break;case 22:e=l.stateNode._retryCache;break;default:throw Error(d(314))}e!==null&&e.delete(t),Md(l,a)}function Sr(l,t){return kn(l,t)}var _n=null,ze=null,qi=!1,Mn=!1,Bi=!1,ha=0;function Dt(l){l!==ze&&l.next===null&&(ze===null?_n=ze=l:ze=ze.next=l),Mn=!0,qi||(qi=!0,zr())}function iu(l,t){if(!Bi&&Mn){Bi=!0;do for(var a=!1,e=_n;e!==null;){if(l!==0){var u=e.pendingLanes;if(u===0)var n=0;else{var c=e.suspendedLanes,i=e.pingedLanes;n=(1<<31-Pl(42|l)+1)-1,n&=u&~(c&~i),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(a=!0,Nd(e,n))}else n=al,n=Ou(e,e===gl?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),(n&3)===0||Me(e,n)||(a=!0,Nd(e,n));e=e.next}while(a);Bi=!1}}function br(){xd()}function xd(){Mn=qi=!1;var l=0;ha!==0&&Nr()&&(l=ha);for(var t=Fl(),a=null,e=_n;e!==null;){var u=e.next,n=Dd(e,t);n===0?(e.next=null,a===null?_n=u:a.next=u,u===null&&(ze=a)):(a=e,(l!==0||(n&3)!==0)&&(Mn=!0)),e=u}Cl!==0&&Cl!==5||iu(l),ha!==0&&(ha=0)}function Dd(l,t){for(var a=l.suspendedLanes,e=l.pingedLanes,u=l.expirationTimes,n=l.pendingLanes&-62914561;0i)break;var T=f.transferSize,_=f.initiatorType;T&&Yd(_)&&(f=f.responseEnd,c+=T*(f"u"?null:document;function $d(l,t,a){var e=pe;if(e&&typeof t=="string"&&t){var u=ft(t);u='link[rel="'+l+'"][href="'+u+'"]',typeof a=="string"&&(u+='[crossorigin="'+a+'"]'),Wd.has(u)||(Wd.add(u),l={rel:l,crossOrigin:a,href:t},e.querySelector(u)===null&&(t=e.createElement("link"),Ql(t,"link",l),Hl(t),e.head.appendChild(t)))}}function Xr(l){wt.D(l),$d("dns-prefetch",l,null)}function Gr(l,t){wt.C(l,t),$d("preconnect",l,t)}function Qr(l,t,a){wt.L(l,t,a);var e=pe;if(e&&l&&t){var u='link[rel="preload"][as="'+ft(t)+'"]';t==="image"&&a&&a.imageSrcSet?(u+='[imagesrcset="'+ft(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(u+='[imagesizes="'+ft(a.imageSizes)+'"]')):u+='[href="'+ft(l)+'"]';var n=u;switch(t){case"style":n=Te(l);break;case"script":n=Ae(l)}vt.has(n)||(l=z({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:l,as:t},a),vt.set(n,l),e.querySelector(u)!==null||t==="style"&&e.querySelector(du(n))||t==="script"&&e.querySelector(mu(n))||(t=e.createElement("link"),Ql(t,"link",l),Hl(t),e.head.appendChild(t)))}}function Zr(l,t){wt.m(l,t);var a=pe;if(a&&l){var e=t&&typeof t.as=="string"?t.as:"script",u='link[rel="modulepreload"][as="'+ft(e)+'"][href="'+ft(l)+'"]',n=u;switch(e){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=Ae(l)}if(!vt.has(n)&&(l=z({rel:"modulepreload",href:l},t),vt.set(n,l),a.querySelector(u)===null)){switch(e){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(mu(n)))return}e=a.createElement("link"),Ql(e,"link",l),Hl(e),a.head.appendChild(e)}}}function Vr(l,t,a){wt.S(l,t,a);var e=pe;if(e&&l){var u=La(e).hoistableStyles,n=Te(l);t=t||"default";var c=u.get(n);if(!c){var i={loading:0,preload:null};if(c=e.querySelector(du(n)))i.loading=5;else{l=z({rel:"stylesheet",href:l,"data-precedence":t},a),(a=vt.get(n))&&Pi(l,a);var f=c=e.createElement("link");Hl(f),Ql(f,"link",l),f._p=new Promise(function(h,T){f.onload=h,f.onerror=T}),f.addEventListener("load",function(){i.loading|=1}),f.addEventListener("error",function(){i.loading|=2}),i.loading|=4,jn(c,t,e)}c={type:"stylesheet",instance:c,count:1,state:i},u.set(n,c)}}}function Lr(l,t){wt.X(l,t);var a=pe;if(a&&l){var e=La(a).hoistableScripts,u=Ae(l),n=e.get(u);n||(n=a.querySelector(mu(u)),n||(l=z({src:l,async:!0},t),(t=vt.get(u))&&lf(l,t),n=a.createElement("script"),Hl(n),Ql(n,"link",l),a.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},e.set(u,n))}}function Kr(l,t){wt.M(l,t);var a=pe;if(a&&l){var e=La(a).hoistableScripts,u=Ae(l),n=e.get(u);n||(n=a.querySelector(mu(u)),n||(l=z({src:l,async:!0,type:"module"},t),(t=vt.get(u))&&lf(l,t),n=a.createElement("script"),Hl(n),Ql(n,"link",l),a.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},e.set(u,n))}}function Fd(l,t,a,e){var u=(u=Wt.current)?Nn(u):null;if(!u)throw Error(d(446));switch(l){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=Te(a.href),a=La(u).hoistableStyles,e=a.get(t),e||(e={type:"style",instance:null,count:0,state:null},a.set(t,e)),e):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){l=Te(a.href);var n=La(u).hoistableStyles,c=n.get(l);if(c||(u=u.ownerDocument||u,c={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(l,c),(n=u.querySelector(du(l)))&&!n._p&&(c.instance=n,c.state.loading=5),vt.has(l)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},vt.set(l,a),n||Jr(u,l,a,c.state))),t&&e===null)throw Error(d(528,""));return c}if(t&&e!==null)throw Error(d(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Ae(a),a=La(u).hoistableScripts,e=a.get(t),e||(e={type:"script",instance:null,count:0,state:null},a.set(t,e)),e):{type:"void",instance:null,count:0,state:null};default:throw Error(d(444,l))}}function Te(l){return'href="'+ft(l)+'"'}function du(l){return'link[rel="stylesheet"]['+l+"]"}function Id(l){return z({},l,{"data-precedence":l.precedence,precedence:null})}function Jr(l,t,a,e){l.querySelector('link[rel="preload"][as="style"]['+t+"]")?e.loading=1:(t=l.createElement("link"),e.preload=t,t.addEventListener("load",function(){return e.loading|=1}),t.addEventListener("error",function(){return e.loading|=2}),Ql(t,"link",a),Hl(t),l.head.appendChild(t))}function Ae(l){return'[src="'+ft(l)+'"]'}function mu(l){return"script[async]"+l}function Pd(l,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var e=l.querySelector('style[data-href~="'+ft(a.href)+'"]');if(e)return t.instance=e,Hl(e),e;var u=z({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return e=(l.ownerDocument||l).createElement("style"),Hl(e),Ql(e,"style",u),jn(e,a.precedence,l),t.instance=e;case"stylesheet":u=Te(a.href);var n=l.querySelector(du(u));if(n)return t.state.loading|=4,t.instance=n,Hl(n),n;e=Id(a),(u=vt.get(u))&&Pi(e,u),n=(l.ownerDocument||l).createElement("link"),Hl(n);var c=n;return c._p=new Promise(function(i,f){c.onload=i,c.onerror=f}),Ql(n,"link",e),t.state.loading|=4,jn(n,a.precedence,l),t.instance=n;case"script":return n=Ae(a.src),(u=l.querySelector(mu(n)))?(t.instance=u,Hl(u),u):(e=a,(u=vt.get(n))&&(e=z({},a),lf(e,u)),l=l.ownerDocument||l,u=l.createElement("script"),Hl(u),Ql(u,"link",e),l.head.appendChild(u),t.instance=u);case"void":return null;default:throw Error(d(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(e=t.instance,t.state.loading|=4,jn(e,a.precedence,l));return t.instance}function jn(l,t,a){for(var e=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),u=e.length?e[e.length-1]:null,n=u,c=0;c title"):null)}function wr(l,t,a){if(a===1||t.itemProp!=null)return!1;switch(l){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return l=t.disabled,typeof t.precedence=="string"&&l==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function a0(l){return!(l.type==="stylesheet"&&(l.state.loading&3)===0)}function kr(l,t,a,e){if(a.type==="stylesheet"&&(typeof e.media!="string"||matchMedia(e.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var u=Te(e.href),n=t.querySelector(du(u));if(n){t=n._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(l.count++,l=Cn.bind(l),t.then(l,l)),a.state.loading|=4,a.instance=n,Hl(n);return}n=t.ownerDocument||t,e=Id(e),(u=vt.get(u))&&Pi(e,u),n=n.createElement("link"),Hl(n);var c=n;c._p=new Promise(function(i,f){c.onload=i,c.onerror=f}),Ql(n,"link",e),a.instance=n}l.stylesheets===null&&(l.stylesheets=new Map),l.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(l.count++,a=Cn.bind(l),t.addEventListener("load",a),t.addEventListener("error",a))}}var tf=0;function Wr(l,t){return l.stylesheets&&l.count===0&&Hn(l,l.stylesheets),0tf?50:800)+t);return l.unsuspend=a,function(){l.unsuspend=null,clearTimeout(e),clearTimeout(u)}}:null}function Cn(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Hn(this,this.stylesheets);else if(this.unsuspend){var l=this.unsuspend;this.unsuspend=null,l()}}}var Rn=null;function Hn(l,t){l.stylesheets=null,l.unsuspend!==null&&(l.count++,Rn=new Map,t.forEach($r,l),Rn=null,Cn.call(l))}function $r(l,t){if(!(t.state.loading&4)){var a=Rn.get(l);if(a)var e=a.get(null);else{a=new Map,Rn.set(l,a);for(var u=l.querySelectorAll("link[data-precedence],style[data-precedence]"),n=0;n"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(s)}catch(x){console.error(x)}}return s(),of.exports=dh(),of.exports}var rh=mh();const x0=p.createContext({windows:[],openWindow:()=>{},closeWindow:()=>{},bringToFront:()=>{}}),hh=({children:s})=>{const[x,M]=p.useState([]),d=p.useRef(1e4),N=p.useCallback((O,g,E)=>{M(Y=>Y.find(U=>U.id===O)?Y.map(U=>U.id===O?{...U,zIndex:++d.current}:U):[...Y,{id:O,title:g,charName:E,zIndex:++d.current}])},[]),j=p.useCallback(O=>{M(g=>g.filter(E=>E.id!==O))},[]),D=p.useCallback(O=>{M(g=>g.map(E=>E.id===O?{...E,zIndex:++d.current}:E))},[]);return y.jsx(x0.Provider,{value:{windows:x,openWindow:N,closeWindow:j,bringToFront:D},children:s})},zu=()=>p.useContext(x0),gt={west:-102.1,east:102.1,north:102.1,south:-102.1};function pu(s,x,M,d){const N=(s-gt.west)/(gt.east-gt.west)*M,j=(gt.north-x)/(gt.north-gt.south)*d;return{x:N,y:j}}function yh(s,x,M,d,N,j,D){const O=(s-d)/M,g=(x-N)/M,E=gt.west+O/j*(gt.east-gt.west),Y=gt.north-g/D*(gt.north-gt.south);return{ew:E,ns:Y}}function rf(s,x){const M=s>=0?"N":"S",d=x>=0?"E":"W";return`${Math.abs(s).toFixed(1)}${M}, ${Math.abs(x).toFixed(1)}${d}`}const D0=bu.memo(({players:s,imgW:x,imgH:M,getColor:d,onHover:N,onSelect:j,selectedPlayer:D})=>{const{openWindow:O}=zu(),[g,E]=p.useState(null);p.useEffect(()=>{const z=()=>E(null);return g&&window.addEventListener("click",z),()=>window.removeEventListener("click",z)},[g]);const Y=p.useMemo(()=>s.filter(z=>z.ew!==void 0&&z.ns!==void 0).map(z=>({...z,pos:pu(z.ew,z.ns,x,M),color:d(z.character_name)})),[s,x,M,d]);return y.jsxs("div",{className:"ml-dots-layer",children:[Y.map(z=>y.jsx("div",{className:`ml-dot ${D===z.character_name?"ml-dot-selected":""}`,style:{left:z.pos.x,top:z.pos.y,backgroundColor:z.color},onMouseEnter:U=>{var I;const q=(I=U.currentTarget.closest(".ml-map-container"))==null?void 0:I.getBoundingClientRect();q&&N(z,U.clientX-q.left,U.clientY-q.top)},onMouseLeave:()=>N(null,0,0),onClick:()=>j(z.character_name),onDoubleClick:()=>O(`chat-${z.character_name}`,`Chat: ${z.character_name}`,z.character_name),onContextMenu:U=>{var Sl;U.preventDefault();const q=z.character_name,I=(Sl=U.currentTarget.closest(".ml-map-container"))==null?void 0:Sl.getBoundingClientRect(),ul=I?U.clientX-I.left:U.clientX,rl=I?U.clientY-I.top:U.clientY;E({name:q,x:ul,y:rl})}},z.character_name)),g&&y.jsx("div",{style:{position:"fixed",left:g.x+410,top:g.y,background:"#1a1a1a",border:"1px solid #444",borderRadius:4,zIndex:9999,padding:"2px 0",fontSize:"0.75rem",boxShadow:"0 4px 12px rgba(0,0,0,0.5)",minWidth:120},children:[{label:"Chat",id:"chat"},{label:"Stats",id:"stats"},{label:"Inventory",id:"inv"},{label:"Character",id:"char"},{label:"Combat",id:"combat"},{label:"Radar",id:"radar"}].map(z=>y.jsx("div",{onClick:()=>{O(`${z.id}-${g.name}`,`${z.label}: ${g.name}`,g.name),E(null)},style:{padding:"4px 12px",cursor:"pointer",color:"#ccc"},onMouseEnter:U=>U.currentTarget.style.background="#333",onMouseLeave:U=>U.currentTarget.style.background="",children:z.label},z.id))})]})});D0.displayName="PlayerDots";const O0="/api";async function kt(s){const x=await fetch(`${O0}${s}`,{credentials:"include"});if(!x.ok)throw new Error(`API ${s}: ${x.status}`);return x.json()}async function N0(s,x){var d;const M=await fetch(`${O0}${s}`,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(x??{})});if(!M.ok){let N="";try{N=((d=await M.json())==null?void 0:d.detail)??""}catch{}throw new Error(`API ${s}: ${M.status}${N?` (${N})`:""}`)}return M.json()}function vh(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/api/ws/live`}const j0=bu.memo(({imgW:s,imgH:x,getColor:M})=>{const[d,N]=p.useState([]);p.useEffect(()=>{const D=async()=>{try{const g=await kt("/trails/?seconds=600");N(g.trails??[])}catch{}};D();const O=setInterval(D,2e3);return()=>clearInterval(O)},[]);const j=p.useMemo(()=>{const D={};for(const O of d){const{x:g,y:E}=pu(O.ew,O.ns,s,x);D[O.character_name]||(D[O.character_name]=[]),D[O.character_name].push(`${g},${E}`)}return Object.entries(D).filter(([,O])=>O.length>=2).map(([O,g])=>({name:O,points:g.join(" ")}))},[d,s,x]);return y.jsx("svg",{className:"ml-trails-svg",viewBox:`0 0 ${s} ${x}`,preserveAspectRatio:"none",children:j.map(D=>y.jsx("polyline",{points:D.points,stroke:M(D.name),fill:"none",strokeWidth:2,strokeOpacity:.7,strokeLinecap:"round",strokeLinejoin:"round"},D.name))})});j0.displayName="TrailsSVG";const gh=({imgW:s,imgH:x,enabled:M})=>{const d=p.useRef(null),[N,j]=p.useState([]);return p.useEffect(()=>{if(!M)return;(async()=>{try{const O=await kt("/spawns/heatmap?hours=24&limit=50000");j(O.spawn_points??[])}catch{}})()},[M]),p.useEffect(()=>{const D=d.current;if(!D||!M||N.length===0||s===0)return;D.width=s,D.height=x;const O=D.getContext("2d");if(O){O.clearRect(0,0,s,x);for(const g of N){const{x:E,y:Y}=pu(g.ew,g.ns,s,x),z=Math.max(5,Math.min(12,5+Math.sqrt(g.intensity*.5))),U=O.createRadialGradient(E,Y,0,E,Y,z);U.addColorStop(0,`rgba(255, 0, 0, ${Math.min(.9,g.intensity/40)})`),U.addColorStop(.6,`rgba(255, 100, 0, ${Math.min(.4,g.intensity/120)})`),U.addColorStop(1,"rgba(255, 150, 0, 0)"),O.fillStyle=U,O.fillRect(E-z,Y-z,z*2,z*2)}}},[N,s,x,M]),M?y.jsx("canvas",{ref:d,className:"ml-heatmap-canvas"}):null},Sh=({imgW:s,imgH:x,enabled:M})=>{const[d,N]=p.useState([]);p.useEffect(()=>{if(!M)return;const D=async()=>{try{const g=await kt("/portals");N(g.portals??[])}catch{}};D();const O=setInterval(D,6e4);return()=>clearInterval(O)},[M]);const j=p.useMemo(()=>d.map(D=>({...D,pos:pu(D.coordinates.ew,D.coordinates.ns,s,x)})),[d,s,x]);return!M||j.length===0?null:y.jsx("div",{className:"ml-portals-layer",children:j.map((D,O)=>y.jsx("div",{className:"ml-portal-icon",style:{left:D.pos.x,top:D.pos.y},title:`${D.portal_name} (by ${D.discovered_by})`},O))})},T0=20,A0=.3,bh=({players:s,getColor:x,onSelectPlayer:M,showHeatmap:d,showPortals:N,selectedPlayer:j})=>{var Zl;const D=p.useRef(null),O=p.useRef(null),[g,E]=p.useState({w:0,h:0}),[Y,z]=p.useState(null),U=p.useRef(null),q=p.useRef({scale:1,offX:0,offY:0}),I=p.useRef({dragging:!1,sx:0,sy:0,startOffX:0,startOffY:0}),ul=p.useCallback(()=>{if(O.current){const{scale:$,offX:P,offY:Q}=q.current;O.current.style.transform=`translate(${P}px, ${Q}px) scale(${$})`}},[]),rl=p.useCallback($=>{const P=$.currentTarget;if(E({w:P.naturalWidth,h:P.naturalHeight}),D.current){const Q=D.current.clientWidth,L=D.current.clientHeight,k=Math.min(Q/P.naturalWidth,L/P.naturalHeight);q.current={scale:k,offX:(Q-P.naturalWidth*k)/2,offY:(L-P.naturalHeight*k)/2},ul()}},[ul]),Sl=p.useCallback($=>{var At;$.preventDefault();const P=(At=D.current)==null?void 0:At.getBoundingClientRect();if(!P)return;const Q=q.current,L=$.deltaY<0?1.1:.9,k=Math.min(T0,Math.max(A0,Q.scale*L)),Ul=k/Q.scale,Tl=$.clientX-P.left,Ot=$.clientY-P.top;q.current={scale:k,offX:Tl-(Tl-Q.offX)*Ul,offY:Ot-(Ot-Q.offY)*Ul},ul()},[ul]),K=p.useCallback($=>{if($.button!==0)return;const P=q.current;I.current={dragging:!0,sx:$.clientX,sy:$.clientY,startOffX:P.offX,startOffY:P.offY}},[]);p.useEffect(()=>{const $=Q=>{const L=I.current;if(L.dragging&&(q.current.offX=L.startOffX+(Q.clientX-L.sx),q.current.offY=L.startOffY+(Q.clientY-L.sy),ul()),D.current&&g.w>0&&U.current){const k=D.current.getBoundingClientRect(),Ul=q.current,Tl=yh(Q.clientX-k.left,Q.clientY-k.top,Ul.scale,Ul.offX,Ul.offY,g.w,g.h);U.current.textContent=rf(Tl.ns,Tl.ew)}},P=()=>{I.current.dragging=!1};return window.addEventListener("mousemove",$),window.addEventListener("mouseup",P),()=>{window.removeEventListener("mousemove",$),window.removeEventListener("mouseup",P)}},[ul,g.w,g.h]);const J=p.useRef(null);p.useEffect(()=>{if(!j||g.w===0||!D.current||J.current===j)return;const $=s.find(Ul=>Ul.character_name===j);if(!$)return;J.current=j;const{x:P,y:Q}=pu($.ew,$.ns,g.w,g.h),L=D.current.getBoundingClientRect(),k=3;q.current={scale:Math.min(T0,Math.max(A0,k)),offX:L.width/2-P*k,offY:L.height/2-Q*k},ul()},[j,s,g.w,g.h,ul]),p.useEffect(()=>{j||(J.current=null)},[j]);const xl=p.useCallback(($,P,Q)=>{z($?{x:P,y:Q,player:$}:null)},[]);return y.jsxs("div",{className:"ml-map-container",ref:D,onWheel:Sl,onMouseDown:K,children:[y.jsxs("div",{ref:O,className:"ml-map-group",children:[y.jsx("img",{src:"/dereth.png",alt:"Dereth",className:"ml-map-img",onLoad:rl,draggable:!1}),g.w>0&&y.jsxs(y.Fragment,{children:[y.jsx(gh,{imgW:g.w,imgH:g.h,enabled:d}),y.jsx(j0,{imgW:g.w,imgH:g.h,getColor:x}),y.jsx(D0,{players:s,imgW:g.w,imgH:g.h,getColor:x,onHover:xl,onSelect:M,selectedPlayer:j}),y.jsx(Sh,{imgW:g.w,imgH:g.h,enabled:N})]})]}),Y&&y.jsxs("div",{className:"ml-tooltip",style:{left:Y.x+12,top:Y.y-10},children:[y.jsx("strong",{children:Y.player.character_name}),y.jsx("br",{}),rf(Y.player.ns,Y.player.ew),y.jsx("br",{}),Y.player.kills_per_hour," kph ยท ",(Zl=Y.player.kills)==null?void 0:Zl.toLocaleString()," kills"]}),y.jsx("div",{className:"ml-coords",ref:U})]})},U0=bu.memo(({player:s,vitals:x,color:M,onSelect:d,isSelected:N})=>{var Y,z;const{openWindow:j}=zu(),D=(s.vt_state||"idle").toLowerCase(),O=D==="combat"||D==="hunt",g=(s.total_rares??0)>0?Math.round((s.total_kills??0)/(s.total_rares??1)).toLocaleString():null,E=s.character_name;return y.jsxs("li",{className:`ml-player-row ${N?"ml-player-selected":""}`,style:{borderLeftColor:M},children:[y.jsxs("div",{className:"ml-pr-header",onClick:d,children:[y.jsx("span",{className:"ml-pr-name",children:E}),y.jsx("span",{className:"ml-pr-coords",children:rf(s.ns,s.ew)})]}),y.jsxs("div",{className:"ml-pr-vitals",children:[y.jsx("div",{className:"ml-vital-bar hp",children:y.jsx("div",{className:"ml-vital-fill",style:{width:`${(x==null?void 0:x.health_percentage)??0}%`}})}),y.jsx("div",{className:"ml-vital-bar sta",children:y.jsx("div",{className:"ml-vital-fill",style:{width:`${(x==null?void 0:x.stamina_percentage)??0}%`}})}),y.jsx("div",{className:"ml-vital-bar mana",children:y.jsx("div",{className:"ml-vital-fill",style:{width:`${(x==null?void 0:x.mana_percentage)??0}%`}})})]}),y.jsxs("div",{className:"ml-pr-grid",children:[y.jsxs("span",{className:"ml-gs",title:"Session kills",children:["โš”๏ธ ",((Y=s.kills)==null?void 0:Y.toLocaleString())??0]}),y.jsxs("span",{className:"ml-gs",title:"Total kills",children:["๐Ÿ† ",(s.total_kills??0).toLocaleString()]}),y.jsxs("span",{className:"ml-gs",title:"Kills per hour",children:[s.kills_per_hour??"0"," ",y.jsx("span",{className:"ml-suffix",children:"KPH"})]}),y.jsxs("span",{className:"ml-gs",title:"Rares (session / total)",children:["๐Ÿ’Ž ",s.session_rares??0," / ",s.total_rares??0]}),y.jsx("span",{className:"ml-gs",title:"Kills per rare",children:g?y.jsxs(y.Fragment,{children:["๐Ÿ“Š ",g," ",y.jsx("span",{className:"ml-suffix",children:"KPR"})]}):""}),y.jsx("span",{className:`ml-meta-pill ${O?"active":D!=="idle"&&D!=="default"&&D!==""?"other":""}`,children:s.vt_state||"idle"}),y.jsxs("span",{className:"ml-gs",title:"Online time",children:["๐Ÿ• ",((z=s.onlinetime)==null?void 0:z.replace(/^00\./,""))??"--"]}),y.jsxs("span",{className:"ml-gs",title:"Deaths",children:["โ˜ ๏ธ ",s.deaths??"0"]}),y.jsxs("span",{className:"ml-gs",title:"Prismatic tapers",children:[y.jsx("img",{src:"/prismatic-taper-icon.png",className:"ml-taper-icon",alt:""}),s.prismatic_taper_count??"0"]})]}),y.jsxs("div",{className:"ml-pr-buttons",children:[y.jsx("button",{className:"ml-btn accent",onClick:()=>j(`chat-${E}`,`Chat: ${E}`,E),children:"Chat"}),y.jsx("button",{className:"ml-btn accent",onClick:()=>j(`stats-${E}`,`Stats: ${E}`,E),children:"Stats"}),y.jsx("button",{className:"ml-btn accent",onClick:()=>j(`inv-${E}`,`Inventory: ${E}`,E),children:"Inv"}),y.jsx("button",{className:"ml-btn",onClick:()=>j(`char-${E}`,`Character: ${E}`,E),children:"Char"}),y.jsx("button",{className:"ml-btn",onClick:()=>j(`combat-${E}`,`Combat: ${E}`,E),children:"Combat"}),y.jsx("button",{className:"ml-btn",onClick:()=>j(`radar-${E}`,`Radar: ${E}`,E),children:"Radar"})]})]})});U0.displayName="PlayerRow";const zh=({players:s,vitals:x,getColor:M,onSelect:d,selectedPlayer:N})=>{const j=p.useRef(null),[D,O]=p.useState(!1),g=p.useCallback(()=>{j.current&&O(j.current.scrollTop>200)},[]);return y.jsxs("div",{style:{position:"relative",flex:1,minHeight:0},children:[y.jsx("ul",{className:"ml-player-list",ref:j,onScroll:g,children:s.map(E=>y.jsx(U0,{player:E,vitals:x.get(E.character_name)??null,color:M(E.character_name),onSelect:()=>d(E.character_name),isSelected:N===E.character_name},E.character_name))}),D&&y.jsx("button",{onClick:()=>{var E;(E=j.current)==null||E.scrollTo({top:0,behavior:"smooth"})},style:{position:"absolute",bottom:8,right:8,width:28,height:28,borderRadius:"50%",background:"rgba(68,136,255,0.2)",border:"1px solid rgba(68,136,255,0.4)",color:"#6af",cursor:"pointer",fontSize:"0.8rem",display:"flex",alignItems:"center",justifyContent:"center"},children:"โ–ฒ"})]})},ph=[{key:"name",label:"Name"},{key:"kph",label:"KPH"},{key:"skills",label:"S.Kills"},{key:"srares",label:"S.Rares"},{key:"tkills",label:"T.Kills"},{key:"kpr",label:"KPR"}],Th=({value:s,onChange:x})=>y.jsx("div",{className:"ml-sort-buttons",children:ph.map(M=>y.jsx("button",{className:`ml-sort-btn ${s===M.key?"active":""}`,onClick:()=>x(M.key),children:M.label},M.key))}),Ah=()=>{const{openWindow:s}=zu();return y.jsxs("div",{className:"ml-tool-links",children:[y.jsx("span",{className:"ml-tool-link",style:{cursor:"pointer"},onClick:()=>s("agent","Overlord Assistant"),children:"๐Ÿค– Assistant"}),y.jsx("span",{className:"ml-tool-link",style:{cursor:"pointer"},onClick:()=>s("playerdash","Player Dashboard"),children:"๐Ÿ‘ฅ Dashboard"}),y.jsx("span",{className:"ml-tool-link",style:{cursor:"pointer"},onClick:()=>s("queststatus","Quest Status"),children:"๐Ÿ“œ Quests"}),y.jsx("span",{className:"ml-tool-link",style:{cursor:"pointer"},onClick:()=>s("issues","Issues Board"),children:"๐Ÿ“‹ Issues"}),y.jsx("span",{className:"ml-tool-link",style:{cursor:"pointer"},onClick:()=>s("vitalsharing","Vital Sharing"),children:"๐Ÿค Vitals"}),y.jsx("span",{className:"ml-tool-link",style:{cursor:"pointer"},onClick:()=>s("combatpicker","Combat Stats"),children:"โš”๏ธ Combat"})]})},Eh=({players:s,vitals:x,serverHealth:M,totalRares:d,totalKills:N,getColor:j,onSelectPlayer:D,showHeatmap:O,showPortals:g,onToggleHeatmap:E,onTogglePortals:Y,version:z,selectedPlayer:U})=>{var $,P;const[q,I]=p.useState("name"),[ul,rl]=p.useState(""),Sl=p.useMemo(()=>s.reduce((Q,L)=>Q+(parseInt(L.kills_per_hour)||0),0),[s]),K=(($=M==null?void 0:M.status)==null?void 0:$.toLowerCase())==="online"||((P=M==null?void 0:M.status)==null?void 0:P.toLowerCase())==="up",J=p.useDeferredValue(s),xl=p.useDeferredValue(x),Zl=p.useMemo(()=>{let Q=[...J];switch(ul&&(Q=Q.filter(L=>L.character_name.toLowerCase().startsWith(ul.toLowerCase()))),q){case"kph":Q.sort((L,k)=>(parseInt(k.kills_per_hour)||0)-(parseInt(L.kills_per_hour)||0));break;case"skills":Q.sort((L,k)=>(k.kills||0)-(L.kills||0));break;case"srares":Q.sort((L,k)=>(k.session_rares??0)-(L.session_rares??0));break;case"tkills":Q.sort((L,k)=>(k.total_kills??0)-(L.total_kills??0));break;case"kpr":Q.sort((L,k)=>{const Ul=(L.total_kills??0)/Math.max(1,L.total_rares??1),Tl=(k.total_kills??0)/Math.max(1,k.total_rares??1);return Ul-Tl});break;default:Q.sort((L,k)=>L.character_name.localeCompare(k.character_name))}return Q},[J,q,ul]);return y.jsxs("div",{className:"ml-sidebar",children:[z&&y.jsxs("div",{className:"ml-version",children:["v",z]}),y.jsx("div",{className:"ml-sidebar-header",children:y.jsxs("span",{className:"ml-sidebar-title",style:{cursor:"pointer"},onClick:()=>{const Q=document.createElement("div");Q.style.cssText="position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000;z-index:999999;display:flex;align-items:center;justify-content:center;";const L=document.createElement("video");L.src="/rick.mp4",L.autoplay=!0,L.loop=!0,L.style.cssText="width:100vw;height:100vh;object-fit:cover;",Q.appendChild(L),document.body.appendChild(Q),document.body.style.animation="ml-shake 0.05s 30";const k=document.createElement("style");k.textContent="@keyframes ml-shake{0%,100%{transform:translate(0) rotate(0)}25%{transform:translate(-15px,10px) rotate(-2deg)}50%{transform:translate(15px,-10px) rotate(2deg)}75%{transform:translate(-10px,-15px) rotate(-1deg)}} @keyframes ml-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}",document.head.appendChild(k),setTimeout(()=>{Q.style.animation="ml-spin 3s linear infinite"},1500),L.play().catch(()=>{})},children:["Active Mosswart Enjoyers (",s.length,")"]})}),y.jsxs("div",{className:"ml-server-status",children:[y.jsx("span",{className:`ml-status-dot ${K?"online":"offline"}`}),y.jsxs("span",{className:"ml-status-text",children:["Coldeve ",K?"Online":"Offline"]}),(M==null?void 0:M.player_count)!=null&&y.jsxs("span",{className:"ml-status-detail",children:["๐Ÿ‘ฅ ",M.player_count]}),(M==null?void 0:M.latency_ms)!=null&&y.jsxs("span",{className:"ml-status-detail",children:[Math.round(M.latency_ms),"ms"]}),(M==null?void 0:M.uptime_seconds)!=null&&y.jsxs("span",{className:"ml-status-detail",children:["Up: ",Math.floor(M.uptime_seconds/3600),"h"]})]}),y.jsxs("div",{className:"ml-counters",children:[y.jsxs("div",{className:"ml-counter rares",children:[y.jsx("span",{className:"ml-counter-val",children:d}),y.jsx("span",{className:"ml-counter-lbl",children:"Rares"})]}),y.jsxs("div",{className:`ml-counter kph ${Sl>5e3?"ultra":""}`,children:[y.jsx("span",{className:"ml-counter-val",children:Sl.toLocaleString()}),y.jsx("span",{className:"ml-counter-lbl",children:"Server KPH"})]}),y.jsxs("div",{className:"ml-counter kills",children:[y.jsx("span",{className:"ml-counter-val",children:N.toLocaleString()}),y.jsx("span",{className:"ml-counter-lbl",children:"Kills"})]})]}),y.jsxs("div",{className:"ml-tool-links",children:[y.jsx("a",{href:"/inventory.html",target:"_blank",className:"ml-tool-link",children:"๐Ÿ” Inv Search"}),y.jsx("a",{href:"/suitbuilder.html",target:"_blank",className:"ml-tool-link",children:"๐Ÿ›ก๏ธ Suitbuilder"}),y.jsx("a",{href:"/debug.html",target:"_blank",className:"ml-tool-link",children:"๐Ÿ› Debug"})]}),y.jsx(Ah,{}),y.jsxs("div",{className:"ml-toggles",children:[y.jsxs("label",{className:"ml-toggle-label",children:[y.jsx("input",{type:"checkbox",checked:O,onChange:Q=>E(Q.target.checked)}),y.jsx("span",{children:"Spawn Heatmap"})]}),y.jsxs("label",{className:"ml-toggle-label",children:[y.jsx("input",{type:"checkbox",checked:g,onChange:Q=>Y(Q.target.checked)}),y.jsx("span",{children:"Portals"})]})]}),y.jsx("div",{style:{borderTop:"1px solid #333",marginTop:4,paddingTop:4}}),y.jsx(Th,{value:q,onChange:I}),y.jsx("input",{className:"ml-filter",type:"text",placeholder:"Filter players...",value:ul,onChange:Q=>rl(Q.target.value)}),y.jsx(zh,{players:Zl,vitals:xl,getColor:j,onSelect:D,selectedPlayer:U})]})},_h="modulepreload",Mh=function(s){return"/"+s},E0={},Tt=function(x,M,d){let N=Promise.resolve();if(M&&M.length>0){let D=function(E){return Promise.all(E.map(Y=>Promise.resolve(Y).then(z=>({status:"fulfilled",value:z}),z=>({status:"rejected",reason:z}))))};document.getElementsByTagName("link");const O=document.querySelector("meta[property=csp-nonce]"),g=(O==null?void 0:O.nonce)||(O==null?void 0:O.getAttribute("nonce"));N=D(M.map(E=>{if(E=Mh(E),E in E0)return;E0[E]=!0;const Y=E.endsWith(".css"),z=Y?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${E}"]${z}`))return;const U=document.createElement("link");if(U.rel=Y?"stylesheet":_h,Y||(U.as="script"),U.crossOrigin="",U.href=E,g&&U.setAttribute("nonce",g),document.head.appendChild(U),Y)return new Promise((q,I)=>{U.addEventListener("load",q),U.addEventListener("error",()=>I(new Error(`Unable to preload CSS for ${E}`)))})}))}function j(D){const O=new Event("vite:preloadError",{cancelable:!0});if(O.payload=D,window.dispatchEvent(O),!O.defaultPrevented)throw D}return N.then(D=>{for(const O of D||[])O.status==="rejected"&&j(O.reason);return x().catch(j)})},xh=({id:s,title:x,zIndex:M,width:d=700,height:N=340,children:j})=>{const{closeWindow:D,bringToFront:O}=zu(),g=p.useRef(null),E=p.useRef({dragging:!1,sx:0,sy:0,ox:0,oy:0}),Y=p.useRef({resizing:!1,sx:0,sy:0,sw:0,sh:0}),z=p.useRef({x:420,y:10+Math.random()*40}),[U,q]=p.useState({w:d,h:N}),I=p.useCallback(rl=>{var K;rl.preventDefault(),O(s);const Sl=(K=g.current)==null?void 0:K.getBoundingClientRect();Sl&&(E.current={dragging:!0,sx:rl.clientX,sy:rl.clientY,ox:Sl.left,oy:Sl.top})},[s,O]),ul=p.useCallback(rl=>{rl.preventDefault(),rl.stopPropagation(),Y.current={resizing:!0,sx:rl.clientX,sy:rl.clientY,sw:U.w,sh:U.h}},[U.w,U.h]);return p.useEffect(()=>{const rl=K=>{const J=E.current;J.dragging&&g.current&&(z.current.x=J.ox+(K.clientX-J.sx),z.current.y=J.oy+(K.clientY-J.sy),g.current.style.left=`${z.current.x}px`,g.current.style.top=`${z.current.y}px`);const xl=Y.current;if(xl.resizing){const Zl=Math.max(300,xl.sw+(K.clientX-xl.sx)),$=Math.max(200,xl.sh+(K.clientY-xl.sy));q({w:Zl,h:$})}},Sl=()=>{E.current.dragging=!1,Y.current.resizing=!1};return window.addEventListener("mousemove",rl),window.addEventListener("mouseup",Sl),()=>{window.removeEventListener("mousemove",rl),window.removeEventListener("mouseup",Sl)}},[]),y.jsxs("div",{ref:g,className:"ml-window",style:{zIndex:M,width:U.w,height:U.h,left:z.current.x,top:z.current.y},onMouseDown:()=>O(s),children:[y.jsxs("div",{className:"ml-window-header",onMouseDown:I,children:[y.jsx("span",{className:"ml-window-title",children:x}),y.jsx("button",{className:"ml-window-close",onClick:()=>D(s),children:"ร—"})]}),y.jsx("div",{className:"ml-window-content",children:j}),y.jsx("div",{className:"ml-window-resize",onMouseDown:ul})]})},Dh={0:"#00FF00",2:"#FFFFFF",3:"#FF0000",4:"#FFFFFF",5:"#33CCFF",6:"#CCFF99",7:"#00FFFF",14:"#FFD700",15:"#FF69B4",17:"#AAAAFF",18:"#88FF88",21:"#FF8888",22:"#FFAA66"},C0=50,R0=s=>`mo-chat-history-${s}`;function Oh(s){try{const x=localStorage.getItem(R0(s));return x?JSON.parse(x):[]}catch{return[]}}function Nh(s,x){try{localStorage.setItem(R0(s),JSON.stringify(x.slice(-C0)))}catch{}}const jh=({id:s,charName:x,zIndex:M,messages:d,socket:N})=>{const j=p.useRef(null),[D,O]=p.useState(""),[g,E]=p.useState(!1),Y=p.useRef(Oh(x)),z=p.useRef(-1),U=p.useRef(""),q=p.useRef(!1);p.useEffect(()=>{const K=j.current;K&&(q.current?E(!0):(K.scrollTop=K.scrollHeight,E(!1)))},[d.length]);const I=p.useCallback(()=>{const K=j.current;if(!K)return;const J=K.scrollHeight-K.scrollTop-K.clientHeight<30;q.current=!J,J&&E(!1)},[]),ul=p.useCallback(()=>{const K=j.current;K&&(K.scrollTop=K.scrollHeight,q.current=!1,E(!1))},[]),rl=p.useCallback(K=>{K.preventDefault();const J=D.trim();!J||!N||N.readyState!==WebSocket.OPEN||(N.send(JSON.stringify({player_name:x,command:J})),Y.current.push(J),Y.current.length>C0&&Y.current.shift(),Nh(x,Y.current),z.current=-1,U.current="",O(""),q.current=!1)},[D,N,x]),Sl=p.useCallback(K=>{const J=Y.current;if(J.length!==0){if(K.key==="ArrowUp")K.preventDefault(),z.current===-1?(U.current=D,z.current=J.length-1):z.current>0&&z.current--,O(J[z.current]);else if(K.key==="ArrowDown"){if(K.preventDefault(),z.current===-1)return;z.currenty.jsx("div",{className:"ml-chat-line",style:{color:Dh[K.color??2]??"#ddd"},children:K.text},J))}),g&&y.jsx("div",{onClick:ul,style:{padding:"3px 0",textAlign:"center",fontSize:"0.65rem",color:"#6af",background:"#1a2a3a",cursor:"pointer",borderTop:"1px solid #334"},children:"โ–ผ New messages below"}),y.jsx("form",{className:"ml-chat-form",onSubmit:rl,children:y.jsx("input",{className:"ml-chat-input",value:D,onChange:K=>O(K.target.value),onKeyDown:Sl,placeholder:"Enter chat..."})})]})},Uh=p.lazy(()=>Tt(()=>import("./StatsWindow-B4I9IXZJ.js"),__vite__mapDeps([0,1])).then(s=>({default:s.StatsWindow}))),Ch=p.lazy(()=>Tt(()=>import("./CharacterWindow-BJvvztQF.js"),__vite__mapDeps([2,1])).then(s=>({default:s.CharacterWindow}))),Rh=p.lazy(()=>Tt(()=>import("./InventoryWindow-CSGTd9Dm.js"),__vite__mapDeps([3,1])).then(s=>({default:s.InventoryWindow}))),Hh=p.lazy(()=>Tt(()=>import("./RadarWindow-BK3xRVEL.js"),__vite__mapDeps([4,1])).then(s=>({default:s.RadarWindow}))),qh=p.lazy(()=>Tt(()=>import("./CombatStatsWindow-CIq0nIh-.js"),__vite__mapDeps([5,1])).then(s=>({default:s.CombatStatsWindow}))),Bh=p.lazy(()=>Tt(()=>import("./CombatPickerWindow-CE2D2FMD.js"),__vite__mapDeps([6,1])).then(s=>({default:s.CombatPickerWindow}))),Yh=p.lazy(()=>Tt(()=>import("./IssuesWindow-ea-1SCjj.js"),__vite__mapDeps([7,1])).then(s=>({default:s.IssuesWindow}))),Xh=p.lazy(()=>Tt(()=>import("./VitalSharingWindow-CzWCiooO.js"),__vite__mapDeps([8,1])).then(s=>({default:s.VitalSharingWindow}))),Gh=p.lazy(()=>Tt(()=>import("./QuestStatusWindow-BHiNdvFL.js"),__vite__mapDeps([9,1])).then(s=>({default:s.QuestStatusWindow}))),Qh=p.lazy(()=>Tt(()=>import("./PlayerDashboardWindow-b_Omrj1R.js"),__vite__mapDeps([10,1])).then(s=>({default:s.PlayerDashboardWindow}))),Zh=p.lazy(()=>Tt(()=>import("./AgentWindow-BR2MB63y.js"),__vite__mapDeps([11,1])).then(s=>({default:s.AgentWindow}))),H0=bu.memo(({characters:s,chatMessages:x,nearbyObjects:M,inventoryVersions:d,equipmentCantrips:N,characterStats:j,socket:D})=>{const{windows:O}=zu();return y.jsx(p.Suspense,{fallback:null,children:O.map(g=>{var z;const E=g.charName??"";switch(g.id.split("-")[0]){case"chat":return y.jsx(jh,{id:g.id,charName:E,zIndex:g.zIndex,messages:x.get(E)??[],socket:D},g.id);case"stats":return y.jsx(Uh,{id:g.id,charName:E,zIndex:g.zIndex},g.id);case"char":return y.jsx(Ch,{id:g.id,charName:E,zIndex:g.zIndex,vitals:((z=s.get(E))==null?void 0:z.vitals)??void 0,liveStats:j.get(E)},g.id);case"inv":return y.jsx(Rh,{id:g.id,charName:E,zIndex:g.zIndex,inventoryVersion:d.get(E)??0,equipmentCantrips:N.get(E)},g.id);case"radar":return y.jsx(Hh,{id:g.id,charName:E,zIndex:g.zIndex,socket:D,radarData:M.get(E)??null},g.id);case"combat":return y.jsx(qh,{id:g.id,charName:E,zIndex:g.zIndex},g.id);case"combatpicker":return y.jsx(Bh,{id:g.id,zIndex:g.zIndex,characters:s},g.id);case"issues":return y.jsx(Yh,{id:g.id,zIndex:g.zIndex},g.id);case"vitalsharing":return y.jsx(Xh,{id:g.id,zIndex:g.zIndex},g.id);case"queststatus":return y.jsx(Gh,{id:g.id,zIndex:g.zIndex},g.id);case"playerdash":return y.jsx(Qh,{id:g.id,zIndex:g.zIndex,characters:s},g.id);case"agent":return y.jsx(Zh,{id:g.id,zIndex:g.zIndex},g.id);default:return null}})})});H0.displayName="WindowRenderer";let Vh=0;const Lh=({recentRares:s})=>{const[x,M]=p.useState([]),[d,N]=p.useState(0),[j,D]=p.useState([]);p.useEffect(()=>{if(s.length>d&&d>0){const g=s.slice(0,s.length-d);for(const E of g){const Y=++Vh;M(z=>[...z,{key:Y,charName:E.character_name,rareName:E.name,exiting:!1}]),O();try{const z=new AudioContext,U=z.createOscillator(),q=z.createGain();U.connect(q),q.connect(z.destination),U.frequency.value=880,U.type="sine",q.gain.value=.3,U.start(),q.gain.exponentialRampToValueAtTime(.001,z.currentTime+.5),U.stop(z.currentTime+.5)}catch{}setTimeout(()=>{M(z=>z.map(U=>U.key===Y?{...U,exiting:!0}:U)),setTimeout(()=>{M(z=>z.filter(U=>U.key!==Y))},500)},6e3)}}N(s.length)},[s.length]);const O=p.useCallback(()=>{const g=Date.now(),E=["#FFD700","#FF4444","#FF8800","#AA44FF","#4488FF"],Y=Array.from({length:30},(z,U)=>{const q=Math.PI*2*U/30+(Math.random()-.5)*.5,I=100+Math.random()*200;return{dx:Math.cos(q)*I,dy:Math.sin(q)*I-50,color:E[Math.floor(Math.random()*E.length)]}});D(z=>[...z,{id:g,particles:Y}]),setTimeout(()=>D(z=>z.filter(U=>U.id!==g)),2200)},[]);return y.jsxs(y.Fragment,{children:[y.jsx("div",{className:"ml-rare-notifications",children:x.map(g=>y.jsxs("div",{className:`ml-rare-notif ${g.exiting?"exiting":""}`,children:[y.jsx("div",{className:"ml-rare-notif-title",children:"๐ŸŽ† LEGENDARY RARE! ๐ŸŽ†"}),y.jsx("div",{className:"ml-rare-notif-name",children:g.rareName}),y.jsx("div",{className:"ml-rare-notif-by",children:"found by"}),y.jsx("div",{className:"ml-rare-notif-char",children:g.charName})]},g.key))}),y.jsx("div",{className:"ml-fireworks",children:j.map(g=>y.jsx(bu.Fragment,{children:g.particles.map((E,Y)=>y.jsx("div",{className:"ml-firework-particle",style:{left:"50%",top:"30%",backgroundColor:E.color,"--dx":`${E.dx}px`,"--dy":`${E.dy+200}px`}},Y))},g.id))})]})};let Kh=0;const Jh=({deathAlerts:s})=>{const[x,M]=p.useState([]),d=p.useRef(0);return p.useEffect(()=>{if(s.length>d.current&&d.current>0){const N=s.slice(d.current);for(const j of N){const D=++Kh;M(O=>[...O,{key:D,alert:j,exiting:!1}]);try{const O=new AudioContext,g=O.createOscillator(),E=O.createGain();g.connect(E),E.connect(O.destination),g.frequency.value=440,g.type="sawtooth",E.gain.value=.2,g.start(),E.gain.exponentialRampToValueAtTime(.001,O.currentTime+.8),g.stop(O.currentTime+.8)}catch{}setTimeout(()=>{M(O=>O.map(g=>g.key===D?{...g,exiting:!0}:g)),setTimeout(()=>M(O=>O.filter(g=>g.key!==D)),500)},8e3)}}d.current=s.length},[s.length]),x.length===0?null:y.jsx("div",{style:{position:"fixed",top:70,left:"50%",transform:"translateX(-50%)",zIndex:99999,display:"flex",flexDirection:"column",gap:6,pointerEvents:"none"},children:x.map(N=>y.jsxs("div",{style:{background:"linear-gradient(135deg, #2a0a0a, #1a0000)",border:"2px solid #cc4444",borderRadius:8,padding:"12px 24px",textAlign:"center",boxShadow:"0 0 30px rgba(204, 68, 68, 0.3)",animation:N.exiting?"ml-notif-out 0.5s ease-in forwards":"ml-notif-in 0.5s ease-out"},children:[y.jsx("div",{style:{fontSize:"1.2rem",fontWeight:800,color:"#ff4444"},children:"โ˜ ๏ธ CHARACTER DIED โ˜ ๏ธ"}),y.jsx("div",{style:{fontSize:"1rem",fontWeight:600,color:"#fff",marginTop:2},children:N.alert.character_name}),y.jsxs("div",{style:{fontSize:"0.8rem",color:"#c88",marginTop:2},children:["Vitae: ",N.alert.vitae,"%"]})]},N.key))})},_0=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf","#ff4444","#44ff44","#4444ff","#ffff44","#ff44ff","#44ffff","#ff8844","#88ff44","#4488ff","#ff4488","#cc3333","#33cc33","#3333cc","#cccc33","#cc33cc","#33cccc","#cc6633","#66cc33","#3366cc","#cc3366","#ff6666","#66ff66","#6666ff","#ffff66","#ff66ff","#66ffff","#ffaa66","#aaff66","#66aaff","#ff66aa","#990099","#009900","#000099","#990000","#009999","#999900","#aa5500","#55aa00","#0055aa","#aa0055","#ffaaaa","#aaffaa","#aaaaff","#ffffaa","#ffaaff","#aaffff","#ffccaa","#ccffaa","#aaccff","#ffaacc"];function wh(s){let x=0;for(let M=0;M{let N=s.current.get(d);return N||(N=x.current<_0.length?_0[x.current++]:wh(d),s.current.set(d,N)),N},[])}const Wh=({data:s})=>{const x=kh(),[M,d]=p.useState(!1),[N,j]=p.useState(!1),[D,O]=p.useState(null),g=p.useMemo(()=>Array.from(s.characters.values()).filter(q=>q.telemetry).map(q=>q.telemetry),[s.characters]),E=p.useMemo(()=>new Map(Array.from(s.characters.values()).filter(q=>q.vitals).map(q=>[q.name,q.vitals])),[s.characters]),[Y,z]=p.useState("");p.useEffect(()=>{fetch("/api/api-version",{credentials:"include"}).then(q=>q.json()).then(q=>z(q.version??"")).catch(()=>{})},[]);const U=p.useCallback(q=>{O(I=>I===q?null:q)},[]);return y.jsx(hh,{children:y.jsxs("div",{className:"ml-layout",children:[y.jsx(Eh,{players:g,vitals:E,serverHealth:s.serverHealth,totalRares:s.totalRares,totalKills:s.totalKills,getColor:x,onSelectPlayer:U,showHeatmap:M,showPortals:N,onToggleHeatmap:d,onTogglePortals:j,version:Y,selectedPlayer:D}),y.jsx(bh,{players:g,getColor:x,onSelectPlayer:U,showHeatmap:M,showPortals:N,selectedPlayer:D}),y.jsx(H0,{characters:s.characters,chatMessages:s.chatMessages,nearbyObjects:s.nearbyObjects,inventoryVersions:s.inventoryVersions,equipmentCantrips:s.equipmentCantrips,characterStats:s.characterStats,socket:s.socketRef.current}),y.jsx(Lh,{recentRares:s.recentRares}),y.jsx(Jh,{deathAlerts:s.deathAlerts})]})})};function $h(s){const x=p.useRef(null),M=p.useRef(0),d=p.useRef(s);d.current=s;const N=p.useCallback(()=>{var D;if(((D=x.current)==null?void 0:D.readyState)===WebSocket.OPEN)return;const j=new WebSocket(vh());x.current=j,j.addEventListener("message",O=>{try{const g=JSON.parse(O.data);d.current(g)}catch{}}),j.addEventListener("close",()=>{x.current=null,M.current=window.setTimeout(N,2e3)}),j.addEventListener("error",()=>{j.close()})},[]);return p.useEffect(()=>(N(),()=>{var j;clearTimeout(M.current),(j=x.current)==null||j.close(),x.current=null}),[N]),x}const Fh=()=>kt("/live"),Ih=()=>kt("/combat-stats"),Ph=()=>kt("/server-health"),ly=()=>kt("/total-rares"),ty=()=>kt("/total-kills"),ny=(s,x)=>N0("/agent/ask",{message:s,session_id:x}),cy=()=>N0("/agent/sessions/new",{}),iy=s=>kt(`/agent/sessions/${encodeURIComponent(s)}/history`);function ay(){const[s,x]=p.useState(new Map),[M,d]=p.useState(null),[N,j]=p.useState(0),[D,O]=p.useState(0),[g,E]=p.useState([]),Y=p.useRef(new Map),[z,U]=p.useState(0),[q,I]=p.useState(new Map),ul=p.useRef(new Map),[rl,Sl]=p.useState(0),K=p.useRef(new Map),[J,xl]=p.useState(0),[Zl,$]=p.useState([]),[P,Q]=p.useState(new Map),L=p.useRef(s);L.current=s;const k=p.useCallback((v,C)=>{x(G=>{const R=new Map(G),B=R.get(v)??{name:v,telemetry:null,vitals:null,combat:null,lastUpdate:0};return R.set(v,C(B)),R})},[]),Ul=p.useCallback(v=>{var C,G;if(v.type){if(v.type==="telemetry"){const R=v;k(R.character_name,B=>({...B,telemetry:R,lastUpdate:Date.now()}))}else if(v.type==="vitals"){const R=v,B=(C=L.current.get(R.character_name))==null?void 0:C.vitals;B&&(B.vitae??0)===0&&(R.vitae??0)>0&&$(fl=>[...fl,{character_name:R.character_name,vitae:R.vitae,timestamp:new Date().toISOString()}].slice(-50)),k(R.character_name,fl=>({...fl,vitals:R,lastUpdate:Date.now()}))}else if(v.type==="combat_stats"){const R=v;k(R.character_name,B=>({...B,combat:R,lastUpdate:Date.now()}))}else if(v.type==="rare"){const R=v;E(B=>[R,...B].slice(0,50))}else if(v.type==="inventory_delta"){const R=v;R.character_name&&I(B=>{const fl=new Map(B);return fl.set(R.character_name,(fl.get(R.character_name)??0)+1),fl})}else if(v.type==="character_stats"){const R=v;K.current.set(R.character_name,v),xl(B=>B+1)}else if(v.type==="equipment_cantrip_state"){const R=v;ul.current.set(R.character_name,R),Sl(B=>B+1)}else if(v.type==="dungeon_map"){const R=v;R.landblock&&(window.__dungeonMapCache||(window.__dungeonMapCache={}),window.__dungeonMapCache[R.landblock]=R)}else if(v.type==="nearby_objects"){const R=v;if(Q(B=>{const fl=new Map(B);return fl.set(R.character_name,R),fl}),R.is_dungeon&&R.landblock&&!((G=window.__dungeonMapCache)!=null&&G[R.landblock])){const B=Tl.current;(B==null?void 0:B.readyState)===WebSocket.OPEN&&B.send(JSON.stringify({type:"request_dungeon_map",landblock:R.landblock}))}}else if(v.type==="chat"){const R=v,B=Y.current.get(R.character_name)??[];B.push({text:R.text,color:R.color,timestamp:R.timestamp}),B.length>1e3&&B.splice(0,B.length-1e3),Y.current.set(R.character_name,B),U(fl=>fl+1)}}},[k]),Tl=$h(Ul);p.useEffect(()=>{const v=async()=>{try{const G=await Fh();x(R=>{var fl;const B=new Map(R);for(const sl of G.players??[]){const F=B.get(sl.character_name);B.set(sl.character_name,{name:sl.character_name,telemetry:sl,vitals:(F==null?void 0:F.vitals)??null,combat:(F==null?void 0:F.combat)??null,lastUpdate:Date.now()})}for(const sl of B.keys())(fl=G.players)!=null&&fl.some(F=>F.character_name===sl)||B.delete(sl);return B})}catch{}};v();const C=setInterval(v,5e3);return()=>clearInterval(C)},[]),p.useEffect(()=>{const v=async()=>{try{const G=await Ih();for(const R of G.stats??[])k(R.character_name,B=>({...B,combat:{...R,type:"combat_stats"}}))}catch{}};v();const C=setInterval(v,3e4);return()=>clearInterval(C)},[k]),p.useEffect(()=>{const v=async()=>{try{d(await Ph())}catch{}};v();const C=setInterval(v,3e4);return()=>clearInterval(C)},[]),p.useEffect(()=>{const v=async()=>{try{const[G,R]=await Promise.all([ly(),ty()]);j(G.all_time??0),O(R.total??0)}catch{}};v();const C=setInterval(v,3e5);return()=>clearInterval(C)},[]);const Ot=p.useMemo(()=>Y.current,[z]),At=p.useMemo(()=>ul.current,[rl]),St=p.useMemo(()=>K.current,[J]);return{characters:s,serverHealth:M,totalRares:N,totalKills:D,recentRares:g,chatMessages:Ot,nearbyObjects:P,inventoryVersions:q,equipmentCantrips:At,characterStats:St,deathAlerts:Zl,socketRef:Tl}}function ey(){const s=ay();return y.jsx(Wh,{data:s})}rh.createRoot(document.getElementById("root")).render(y.jsx(p.StrictMode,{children:y.jsx(ey,{})}));"serviceWorker"in navigator&&navigator.serviceWorker.register("/sw.js").catch(()=>{});export{xh as D,kt as a,iy as b,ny as c,cy as d,y as j,p as r,zu as u};