diff --git a/web/dist/assets/index-ypgJpUy0.js b/web/dist/assets/index-UqZEdiQO.js similarity index 99% rename from web/dist/assets/index-ypgJpUy0.js rename to web/dist/assets/index-UqZEdiQO.js index bc64c20..eeaacc6 100644 --- a/web/dist/assets/index-ypgJpUy0.js +++ b/web/dist/assets/index-UqZEdiQO.js @@ -45,7 +45,7 @@ `);for(D=b=0;bD||we[b]!==Je[D]){var ut=` `+we[b].replace(" at new "," at ");return o.displayName&&ut.includes("")&&(ut=ut.replace("",o.displayName)),ut}while(1<=b&&0<=D);break}}}finally{Ft=!1,Error.prepareStackTrace=m}return(m=o?o.displayName||o.name:"")?he(m):""}function Dt(o,c){switch(o.tag){case 26:case 27:case 5:return he(o.type);case 16:return he("Lazy");case 13:return o.child!==c&&c!==null?he("Suspense Fallback"):he("Suspense");case 19:return he("SuspenseList");case 0:case 15:return ct(o.type,!1);case 11:return ct(o.type.render,!1);case 1:return ct(o.type,!0);case 31:return he("Activity");default:return""}}function gt(o){try{var c="",m=null;do c+=Dt(o,m),m=o,o=o.return;while(o);return c}catch(b){return` Error generating stack: `+b.message+` -`+b.stack}}var tn=Object.prototype.hasOwnProperty,yt=i.unstable_scheduleCallback,fe=i.unstable_cancelCallback,X=i.unstable_shouldYield,oe=i.unstable_requestPaint,Me=i.unstable_now,Fe=i.unstable_getCurrentPriorityLevel,ze=i.unstable_ImmediatePriority,Et=i.unstable_UserBlockingPriority,Rt=i.unstable_NormalPriority,Ht=i.unstable_LowPriority,Xt=i.unstable_IdlePriority,_t=i.log,Zt=i.unstable_setDisableYieldValue,sn=null,jt=null;function kt(o){if(typeof _t=="function"&&Zt(o),jt&&typeof jt.setStrictMode=="function")try{jt.setStrictMode(sn,o)}catch{}}var qt=Math.clz32?Math.clz32:ge,In=Math.log,Mi=Math.LN2;function ge(o){return o>>>=0,o===0?32:31-(In(o)/Mi|0)|0}var Wt=256,nt=262144,xt=4194304;function $t(o){var c=o&42;if(c!==0)return c;switch(o&-o){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 o&261888;case 262144:case 524288:case 1048576:case 2097152:return o&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return o&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return o}}function zt(o,c,m){var b=o.pendingLanes;if(b===0)return 0;var D=0,P=o.suspendedLanes,$=o.pingedLanes;o=o.warmLanes;var re=b&134217727;return re!==0?(b=re&~P,b!==0?D=$t(b):($&=re,$!==0?D=$t($):m||(m=re&~o,m!==0&&(D=$t(m))))):(re=b&~P,re!==0?D=$t(re):$!==0?D=$t($):m||(m=b&~o,m!==0&&(D=$t(m)))),D===0?0:c!==0&&c!==D&&(c&P)===0&&(P=D&-D,m=c&-c,P>=m||P===32&&(m&4194048)!==0)?c:D}function xn(o,c){return(o.pendingLanes&~(o.suspendedLanes&~o.pingedLanes)&c)===0}function qi(o,c){switch(o){case 1:case 2:case 4:case 8:case 64:return c+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 c+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 rr(){var o=xt;return xt<<=1,(xt&62914560)===0&&(xt=4194304),o}function pn(o){for(var c=[],m=0;31>m;m++)c.push(o);return c}function $i(o,c){o.pendingLanes|=c,c!==268435456&&(o.suspendedLanes=0,o.pingedLanes=0,o.warmLanes=0)}function Jr(o,c,m,b,D,P){var $=o.pendingLanes;o.pendingLanes=m,o.suspendedLanes=0,o.pingedLanes=0,o.warmLanes=0,o.expiredLanes&=m,o.entangledLanes&=m,o.errorRecoveryDisabledLanes&=m,o.shellSuspendCounter=0;var re=o.entanglements,we=o.expirationTimes,Je=o.hiddenUpdates;for(m=$&~m;0"u")return null;try{return o.activeElement||o.body}catch{return o.body}}var _e=/[\n"\\]/g;function at(o){return o.replace(_e,function(c){return"\\"+c.charCodeAt(0).toString(16)+" "})}function Ct(o,c,m,b,D,P,$,re){o.name="",$!=null&&typeof $!="function"&&typeof $!="symbol"&&typeof $!="boolean"?o.type=$:o.removeAttribute("type"),c!=null?$==="number"?(c===0&&o.value===""||o.value!=c)&&(o.value=""+Ln(c)):o.value!==""+Ln(c)&&(o.value=""+Ln(c)):$!=="submit"&&$!=="reset"||o.removeAttribute("value"),c!=null?cn(o,$,Ln(c)):m!=null?cn(o,$,Ln(m)):b!=null&&o.removeAttribute("value"),D==null&&P!=null&&(o.defaultChecked=!!P),D!=null&&(o.checked=D&&typeof D!="function"&&typeof D!="symbol"),re!=null&&typeof re!="function"&&typeof re!="symbol"&&typeof re!="boolean"?o.name=""+Ln(re):o.removeAttribute("name")}function Jt(o,c,m,b,D,P,$,re){if(P!=null&&typeof P!="function"&&typeof P!="symbol"&&typeof P!="boolean"&&(o.type=P),c!=null||m!=null){if(!(P!=="submit"&&P!=="reset"||c!=null)){hi(o);return}m=m!=null?""+Ln(m):"",c=c!=null?""+Ln(c):m,re||c===o.value||(o.value=c),o.defaultValue=c}b=b??D,b=typeof b!="function"&&typeof b!="symbol"&&!!b,o.checked=re?o.checked:!!b,o.defaultChecked=!!b,$!=null&&typeof $!="function"&&typeof $!="symbol"&&typeof $!="boolean"&&(o.name=$),hi(o)}function cn(o,c,m){c==="number"&&fa(o.ownerDocument)===o||o.defaultValue===""+m||(o.defaultValue=""+m)}function Yn(o,c,m,b){if(o=o.options,c){c={};for(var D=0;D"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),TA=!1;if(il)try{var tf={};Object.defineProperty(tf,"passive",{get:function(){TA=!0}}),window.addEventListener("test",tf,tf),window.removeEventListener("test",tf,tf)}catch{TA=!1}var Lo=null,nf=null,wA=null;function np(){if(wA)return wA;var o,c=nf,m=c.length,b,D="value"in Lo?Lo.value:Lo.textContent,P=D.length;for(o=0;o=of),Ou=" ",m1=!1;function RA(o,c){switch(o){case"keyup":return xx.indexOf(c.keyCode)!==-1;case"keydown":return c.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function op(o){return o=o.detail,typeof o=="object"&&"data"in o?o.data:null}var Qc=!1;function g1(o,c){switch(o){case"compositionend":return op(c);case"keypress":return c.which!==32?null:(m1=!0,Ou);case"textInput":return o=c.data,o===Ou&&m1?null:o;default:return null}}function bx(o,c){if(Qc)return o==="compositionend"||!Bu&&RA(o,c)?(o=np(),wA=nf=Lo=null,Qc=!1,o):null;switch(o){case"paste":return null;case"keypress":if(!(c.ctrlKey||c.altKey||c.metaKey)||c.ctrlKey&&c.altKey){if(c.char&&1=c)return{node:m,offset:c-o};o=b}e:{for(;m;){if(m.nextSibling){m=m.nextSibling;break e}m=m.parentNode}m=void 0}m=PA(m)}}function zu(o,c){return o&&c?o===c?!0:o&&o.nodeType===3?!1:c&&c.nodeType===3?zu(o,c.parentNode):"contains"in o?o.contains(c):o.compareDocumentPosition?!!(o.compareDocumentPosition(c)&16):!1:!1}function Ol(o){o=o!=null&&o.ownerDocument!=null&&o.ownerDocument.defaultView!=null?o.ownerDocument.defaultView:window;for(var c=fa(o.document);c instanceof o.HTMLIFrameElement;){try{var m=typeof c.contentWindow.location.href=="string"}catch{m=!1}if(m)o=c.contentWindow;else break;c=fa(o.document)}return c}function Il(o){var c=o&&o.nodeName&&o.nodeName.toLowerCase();return c&&(c==="input"&&(o.type==="text"||o.type==="search"||o.type==="tel"||o.type==="url"||o.type==="password")||c==="textarea"||o.contentEditable==="true")}var wx=il&&"documentMode"in document&&11>=document.documentMode,Gu=null,fp=null,qu=null,Ap=!1;function S1(o,c,m){var b=m.window===m?m.document:m.nodeType===9?m:m.ownerDocument;Ap||Gu==null||Gu!==fa(b)||(b=Gu,"selectionStart"in b&&Il(b)?b={start:b.selectionStart,end:b.selectionEnd}:(b=(b.ownerDocument&&b.ownerDocument.defaultView||window).getSelection(),b={anchorNode:b.anchorNode,anchorOffset:b.anchorOffset,focusNode:b.focusNode,focusOffset:b.focusOffset}),qu&&Ss(qu,b)||(qu=b,b=r2(fp,"onSelect"),0>=$,D-=$,Na=1<<32-qt(c)+D|m<oi?(bi=hn,hn=null):bi=hn.sibling;var Pi=et(Ve,hn,Ke[oi],mt);if(Pi===null){hn===null&&(hn=bi);break}o&&hn&&Pi.alternate===null&&c(Ve,hn),Ue=P(Pi,Ue,oi),Di===null?Sn=Pi:Di.sibling=Pi,Di=Pi,hn=bi}if(oi===Ke.length)return m(Ve,hn),mi&&Oo(Ve,oi),Sn;if(hn===null){for(;oioi?(bi=hn,hn=null):bi=hn.sibling;var dh=et(Ve,hn,Pi.value,mt);if(dh===null){hn===null&&(hn=bi);break}o&&hn&&dh.alternate===null&&c(Ve,hn),Ue=P(dh,Ue,oi),Di===null?Sn=dh:Di.sibling=dh,Di=dh,hn=bi}if(Pi.done)return m(Ve,hn),mi&&Oo(Ve,oi),Sn;if(hn===null){for(;!Pi.done;oi++,Pi=Ke.next())Pi=St(Ve,Pi.value,mt),Pi!==null&&(Ue=P(Pi,Ue,oi),Di===null?Sn=Pi:Di.sibling=Pi,Di=Pi);return mi&&Oo(Ve,oi),Sn}for(hn=b(hn);!Pi.done;oi++,Pi=Ke.next())Pi=tt(hn,Ve,oi,Pi.value,mt),Pi!==null&&(o&&Pi.alternate!==null&&hn.delete(Pi.key===null?oi:Pi.key),Ue=P(Pi,Ue,oi),Di===null?Sn=Pi:Di.sibling=Pi,Di=Pi);return o&&hn.forEach(function(bF){return c(Ve,bF)}),mi&&Oo(Ve,oi),Sn}function er(Ve,Ue,Ke,mt){if(typeof Ke=="object"&&Ke!==null&&Ke.type===R&&Ke.key===null&&(Ke=Ke.props.children),typeof Ke=="object"&&Ke!==null){switch(Ke.$$typeof){case S:e:{for(var Sn=Ke.key;Ue!==null;){if(Ue.key===Sn){if(Sn=Ke.type,Sn===R){if(Ue.tag===7){m(Ve,Ue.sibling),mt=D(Ue,Ke.props.children),mt.return=Ve,Ve=mt;break e}}else if(Ue.elementType===Sn||typeof Sn=="object"&&Sn!==null&&Sn.$$typeof===H&&f(Sn)===Ue.type){m(Ve,Ue.sibling),mt=D(Ue,Ke.props),U(mt,Ke),mt.return=Ve,Ve=mt;break e}m(Ve,Ue);break}else c(Ve,Ue);Ue=Ue.sibling}Ke.type===R?(mt=$u(Ke.props.children,Ve.mode,mt,Ke.key),mt.return=Ve,Ve=mt):(mt=IA(Ke.type,Ke.key,Ke.props,null,Ve.mode,mt),U(mt,Ke),mt.return=Ve,Ve=mt)}return $(Ve);case w:e:{for(Sn=Ke.key;Ue!==null;){if(Ue.key===Sn)if(Ue.tag===4&&Ue.stateNode.containerInfo===Ke.containerInfo&&Ue.stateNode.implementation===Ke.implementation){m(Ve,Ue.sibling),mt=D(Ue,Ke.children||[]),mt.return=Ve,Ve=mt;break e}else{m(Ve,Ue);break}else c(Ve,Ue);Ue=Ue.sibling}mt=Bo(Ke,Ve.mode,mt),mt.return=Ve,Ve=mt}return $(Ve);case H:return Ke=f(Ke),er(Ve,Ue,Ke,mt)}if(te(Ke))return ln(Ve,Ue,Ke,mt);if(ee(Ke)){if(Sn=ee(Ke),typeof Sn!="function")throw Error(n(150));return Ke=Sn.call(Ke),Dn(Ve,Ue,Ke,mt)}if(typeof Ke.then=="function")return er(Ve,Ue,N(Ke),mt);if(Ke.$$typeof===L)return er(Ve,Ue,HA(Ve,Ke),mt);I(Ve,Ke)}return typeof Ke=="string"&&Ke!==""||typeof Ke=="number"||typeof Ke=="bigint"?(Ke=""+Ke,Ue!==null&&Ue.tag===6?(m(Ve,Ue.sibling),mt=D(Ue,Ke),mt.return=Ve,Ve=mt):(m(Ve,Ue),mt=vp(Ke,Ve.mode,mt),mt.return=Ve,Ve=mt),$(Ve)):m(Ve,Ue)}return function(Ve,Ue,Ke,mt){try{M=0;var Sn=er(Ve,Ue,Ke,mt);return T=null,Sn}catch(hn){if(hn===hl||hn===uo)throw hn;var Di=Ys(29,hn,null,Ve.mode);return Di.lanes=mt,Di.return=Ve,Di}finally{}}}var ie=q(!0),pe=q(!1),Ae=!1;function me(o){o.updateQueue={baseState:o.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ce(o,c){o=o.updateQueue,c.updateQueue===o&&(c.updateQueue={baseState:o.baseState,firstBaseUpdate:o.firstBaseUpdate,lastBaseUpdate:o.lastBaseUpdate,shared:o.shared,callbacks:null})}function Be(o){return{lane:o,tag:0,payload:null,callback:null,next:null}}function Xe(o,c,m){var b=o.updateQueue;if(b===null)return null;if(b=b.shared,(Oi&2)!==0){var D=b.pending;return D===null?c.next=c:(c.next=D.next,D.next=c),b.pending=c,c=OA(o),M1(o,null,m),c}return BA(o,b,c,m),OA(o)}function qe(o,c,m){if(c=c.updateQueue,c!==null&&(c=c.shared,(m&4194048)!==0)){var b=c.lanes;b&=o.pendingLanes,m|=b,c.lanes=m,At(o,m)}}function ke(o,c){var m=o.updateQueue,b=o.alternate;if(b!==null&&(b=b.updateQueue,m===b)){var D=null,P=null;if(m=m.firstBaseUpdate,m!==null){do{var $={lane:m.lane,tag:m.tag,payload:m.payload,callback:null,next:null};P===null?D=P=$:P=P.next=$,m=m.next}while(m!==null);P===null?D=P=c:P=P.next=c}else D=P=c;m={baseState:b.baseState,firstBaseUpdate:D,lastBaseUpdate:P,shared:b.shared,callbacks:b.callbacks},o.updateQueue=m;return}o=m.lastBaseUpdate,o===null?m.firstBaseUpdate=c:o.next=c,m.lastBaseUpdate=c}var Re=!1;function Pt(){if(Re){var o=fr;if(o!==null)throw o}}function rn(o,c,m,b){Re=!1;var D=o.updateQueue;Ae=!1;var P=D.firstBaseUpdate,$=D.lastBaseUpdate,re=D.shared.pending;if(re!==null){D.shared.pending=null;var we=re,Je=we.next;we.next=null,$===null?P=Je:$.next=Je,$=we;var ut=o.alternate;ut!==null&&(ut=ut.updateQueue,re=ut.lastBaseUpdate,re!==$&&(re===null?ut.firstBaseUpdate=Je:re.next=Je,ut.lastBaseUpdate=we))}if(P!==null){var St=D.baseState;$=0,ut=Je=we=null,re=P;do{var et=re.lane&-536870913,tt=et!==re.lane;if(tt?(xi&et)===et:(b&et)===et){et!==0&&et===eh&&(Re=!0),ut!==null&&(ut=ut.next={lane:0,tag:re.tag,payload:re.payload,callback:null,next:null});e:{var ln=o,Dn=re;et=c;var er=m;switch(Dn.tag){case 1:if(ln=Dn.payload,typeof ln=="function"){St=ln.call(er,St,et);break e}St=ln;break e;case 3:ln.flags=ln.flags&-65537|128;case 0:if(ln=Dn.payload,et=typeof ln=="function"?ln.call(er,St,et):ln,et==null)break e;St=v({},St,et);break e;case 2:Ae=!0}}et=re.callback,et!==null&&(o.flags|=64,tt&&(o.flags|=8192),tt=D.callbacks,tt===null?D.callbacks=[et]:tt.push(et))}else tt={lane:et,tag:re.tag,payload:re.payload,callback:re.callback,next:null},ut===null?(Je=ut=tt,we=St):ut=ut.next=tt,$|=et;if(re=re.next,re===null){if(re=D.shared.pending,re===null)break;tt=re,re=tt.next,tt.next=null,D.lastBaseUpdate=tt,D.shared.pending=null}}while(!0);ut===null&&(we=St),D.baseState=we,D.firstBaseUpdate=Je,D.lastBaseUpdate=ut,P===null&&(D.shared.lanes=0),rh|=$,o.lanes=$,o.memoizedState=St}}function en(o,c){if(typeof o!="function")throw Error(n(191,o));o.call(c)}function Un(o,c){var m=o.callbacks;if(m!==null)for(o.callbacks=null,o=0;oP?P:8;var $=Q.T,re={};Q.T=re,jx(o,!1,c,m);try{var we=D(),Je=Q.S;if(Je!==null&&Je(re,we),we!==null&&typeof we=="object"&&typeof we.then=="function"){var ut=N1(we,b);Mp(o,c,ut,Ao(o))}else Mp(o,c,b,Ao(o))}catch(St){Mp(o,c,{then:function(){},status:"rejected",reason:St},Ao())}finally{le.p=P,$!==null&&re.types!==null&&($.types=re.types),Q.T=$}}function gI(){}function Vx(o,c,m,b){if(o.tag!==5)throw Error(n(476));var D=N4(o).queue;R4(o,D,c,de,m===null?gI:function(){return D4(o),m(b)})}function N4(o){var c=o.memoizedState;if(c!==null)return c;c={memoizedState:de,baseState:de,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:nc,lastRenderedState:de},next:null};var m={};return c.next={memoizedState:m,baseState:m,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:nc,lastRenderedState:m},next:null},o.memoizedState=c,o=o.alternate,o!==null&&(o.memoizedState=c),c}function D4(o){var c=N4(o);c.next===null&&(c=o.alternate.memoizedState),Mp(o,c.next.queue,{},Ao())}function Hx(){return As(Vp)}function P4(){return jr().memoizedState}function L4(){return jr().memoizedState}function vI(o){for(var c=o.return;c!==null;){switch(c.tag){case 24:case 3:var m=Ao();o=Be(m);var b=Xe(c,o,m);b!==null&&(Ia(b,c,m),qe(b,c,m)),c={cache:Ur()},o.payload=c;return}c=c.return}}function _I(o,c,m){var b=Ao();m={lane:b,revertLane:0,gesture:null,action:m,hasEagerState:!1,eagerState:null,next:null},k1(o)?B4(c,m):(m=gp(o,c,m,b),m!==null&&(Ia(m,o,b),O4(m,c,b)))}function U4(o,c,m){var b=Ao();Mp(o,c,m,b)}function Mp(o,c,m,b){var D={lane:b,revertLane:0,gesture:null,action:m,hasEagerState:!1,eagerState:null,next:null};if(k1(o))B4(c,D);else{var P=o.alternate;if(o.lanes===0&&(P===null||P.lanes===0)&&(P=c.lastRenderedReducer,P!==null))try{var $=c.lastRenderedState,re=P($,m);if(D.hasEagerState=!0,D.eagerState=re,Aa(re,$))return BA(o,c,D,0),or===null&&UA(),!1}catch{}finally{}if(m=gp(o,c,D,b),m!==null)return Ia(m,o,b),O4(m,c,b),!0}return!1}function jx(o,c,m,b){if(b={lane:2,revertLane:Sb(),gesture:null,action:b,hasEagerState:!1,eagerState:null,next:null},k1(o)){if(c)throw Error(n(479))}else c=gp(o,m,b,2),c!==null&&Ia(c,o,2)}function k1(o){var c=o.alternate;return o===ri||c!==null&&c===ri}function B4(o,c){jA=P1=!0;var m=o.pending;m===null?c.next=c:(c.next=m.next,m.next=c),o.pending=c}function O4(o,c,m){if((m&4194048)!==0){var b=c.lanes;b&=o.pendingLanes,m|=b,c.lanes=m,At(o,m)}}var Ep={readContext:As,use:B1,useCallback:Br,useContext:Br,useEffect:Br,useImperativeHandle:Br,useLayoutEffect:Br,useInsertionEffect:Br,useMemo:Br,useReducer:Br,useRef:Br,useState:Br,useDebugValue:Br,useDeferredValue:Br,useTransition:Br,useSyncExternalStore:Br,useId:Br,useHostTransitionStatus:Br,useFormState:Br,useActionState:Br,useOptimistic:Br,useMemoCache:Br,useCacheRefresh:Br};Ep.useEffectEvent=Br;var I4={readContext:As,use:B1,useCallback:function(o,c){return ma().memoizedState=[o,c===void 0?null:c],o},useContext:As,useEffect:y4,useImperativeHandle:function(o,c,m){m=m!=null?m.concat([o]):null,I1(4194308,4,T4.bind(null,c,o),m)},useLayoutEffect:function(o,c){return I1(4194308,4,o,c)},useInsertionEffect:function(o,c){I1(4,2,o,c)},useMemo:function(o,c){var m=ma();c=c===void 0?null:c;var b=o();if(mf){kt(!0);try{o()}finally{kt(!1)}}return m.memoizedState=[b,c],b},useReducer:function(o,c,m){var b=ma();if(m!==void 0){var D=m(c);if(mf){kt(!0);try{m(c)}finally{kt(!1)}}}else D=c;return b.memoizedState=b.baseState=D,o={pending:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:D},b.queue=o,o=o.dispatch=_I.bind(null,ri,o),[b.memoizedState,o]},useRef:function(o){var c=ma();return o={current:o},c.memoizedState=o},useState:function(o){o=Fx(o);var c=o.queue,m=U4.bind(null,ri,c);return c.dispatch=m,[o.memoizedState,m]},useDebugValue:Gx,useDeferredValue:function(o,c){var m=ma();return qx(m,o,c)},useTransition:function(){var o=Fx(!1);return o=R4.bind(null,ri,o.queue,!0,!1),ma().memoizedState=o,[!1,o]},useSyncExternalStore:function(o,c,m){var b=ri,D=ma();if(mi){if(m===void 0)throw Error(n(407));m=m()}else{if(m=c(),or===null)throw Error(n(349));(xi&127)!==0||r4(b,c,m)}D.memoizedState=m;var P={value:m,getSnapshot:c};return D.queue=P,y4(a4.bind(null,b,P,o),[o]),b.flags|=2048,$A(9,{destroy:void 0},s4.bind(null,b,P,m,c),null),m},useId:function(){var o=ma(),c=or.identifierPrefix;if(mi){var m=Da,b=Na;m=(b&~(1<<32-qt(b)-1)).toString(32)+m,c="_"+c+"R_"+m,m=L1++,0<\/script>",P=P.removeChild(P.firstChild);break;case"select":P=typeof b.is=="string"?$.createElement("select",{is:b.is}):$.createElement("select"),b.multiple?P.multiple=!0:b.size&&(P.size=b.size);break;default:P=typeof b.is=="string"?$.createElement(D,{is:b.is}):$.createElement(D)}}P[Xn]=c,P[un]=b;e:for($=c.child;$!==null;){if($.tag===5||$.tag===6)P.appendChild($.stateNode);else if($.tag!==4&&$.tag!==27&&$.child!==null){$.child.return=$,$=$.child;continue}if($===c)break e;for(;$.sibling===null;){if($.return===null||$.return===c)break e;$=$.return}$.sibling.return=$.return,$=$.sibling}c.stateNode=P;e:switch(Us(P,D,b),D){case"button":case"input":case"select":case"textarea":b=!!b.autoFocus;break e;case"img":b=!0;break e;default:b=!1}b&&rc(c)}}return Ar(c),sb(c,c.type,o===null?null:o.memoizedProps,c.pendingProps,m),null;case 6:if(o&&c.stateNode!=null)o.memoizedProps!==b&&rc(c);else{if(typeof b!="string"&&c.stateNode===null)throw Error(n(166));if(o=ye.current,ar(c)){if(o=c.stateNode,m=c.memoizedProps,b=null,D=fs,D!==null)switch(D.tag){case 27:case 5:b=D.memoizedProps}o[Xn]=c,o=!!(o.nodeValue===m||b!==null&&b.suppressHydrationWarning===!0||nC(o.nodeValue,m)),o||zl(c,!0)}else o=s2(o).createTextNode(b),o[Xn]=c,c.stateNode=o}return Ar(c),null;case 31:if(m=c.memoizedState,o===null||o.memoizedState!==null){if(b=ar(c),m!==null){if(o===null){if(!b)throw Error(n(318));if(o=c.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(n(557));o[Xn]=c}else Yu(),(c.flags&128)===0&&(c.memoizedState=null),c.flags|=4;Ar(c),o=!1}else m=Sp(),o!==null&&o.memoizedState!==null&&(o.memoizedState.hydrationErrors=m),o=!0;if(!o)return c.flags&256?(co(c),c):(co(c),null);if((c.flags&128)!==0)throw Error(n(558))}return Ar(c),null;case 13:if(b=c.memoizedState,o===null||o.memoizedState!==null&&o.memoizedState.dehydrated!==null){if(D=ar(c),b!==null&&b.dehydrated!==null){if(o===null){if(!D)throw Error(n(318));if(D=c.memoizedState,D=D!==null?D.dehydrated:null,!D)throw Error(n(317));D[Xn]=c}else Yu(),(c.flags&128)===0&&(c.memoizedState=null),c.flags|=4;Ar(c),D=!1}else D=Sp(),o!==null&&o.memoizedState!==null&&(o.memoizedState.hydrationErrors=D),D=!0;if(!D)return c.flags&256?(co(c),c):(co(c),null)}return co(c),(c.flags&128)!==0?(c.lanes=m,c):(m=b!==null,o=o!==null&&o.memoizedState!==null,m&&(b=c.child,D=null,b.alternate!==null&&b.alternate.memoizedState!==null&&b.alternate.memoizedState.cachePool!==null&&(D=b.alternate.memoizedState.cachePool.pool),P=null,b.memoizedState!==null&&b.memoizedState.cachePool!==null&&(P=b.memoizedState.cachePool.pool),P!==D&&(b.flags|=2048)),m!==o&&m&&(c.child.flags|=8192),H1(c,c.updateQueue),Ar(c),null);case 4:return vt(),o===null&&Eb(c.stateNode.containerInfo),Ar(c),null;case 10:return Io(c.type),Ar(c),null;case 19:if(be(Hr),b=c.memoizedState,b===null)return Ar(c),null;if(D=(c.flags&128)!==0,P=b.rendering,P===null)if(D)Rp(b,!1);else{if(Or!==0||o!==null&&(o.flags&128)!==0)for(o=c.child;o!==null;){if(P=D1(o),P!==null){for(c.flags|=128,Rp(b,!1),o=P.updateQueue,c.updateQueue=o,H1(c,o),c.subtreeFlags=0,o=m,m=c.child;m!==null;)E1(m,o),m=m.sibling;return We(Hr,Hr.current&1|2),mi&&Oo(c,b.treeForkCount),c.child}o=o.sibling}b.tail!==null&&Me()>Y1&&(c.flags|=128,D=!0,Rp(b,!1),c.lanes=4194304)}else{if(!D)if(o=D1(P),o!==null){if(c.flags|=128,D=!0,o=o.updateQueue,c.updateQueue=o,H1(c,o),Rp(b,!0),b.tail===null&&b.tailMode==="hidden"&&!P.alternate&&!mi)return Ar(c),null}else 2*Me()-b.renderingStartTime>Y1&&m!==536870912&&(c.flags|=128,D=!0,Rp(b,!1),c.lanes=4194304);b.isBackwards?(P.sibling=c.child,c.child=P):(o=b.last,o!==null?o.sibling=P:c.child=P,b.last=P)}return b.tail!==null?(o=b.tail,b.rendering=o,b.tail=o.sibling,b.renderingStartTime=Me(),o.sibling=null,m=Hr.current,We(Hr,D?m&1|2:m&1),mi&&Oo(c,b.treeForkCount),o):(Ar(c),null);case 22:case 23:return co(c),Lt(),b=c.memoizedState!==null,o!==null?o.memoizedState!==null!==b&&(c.flags|=8192):b&&(c.flags|=8192),b?(m&536870912)!==0&&(c.flags&128)===0&&(Ar(c),c.subtreeFlags&6&&(c.flags|=8192)):Ar(c),m=c.updateQueue,m!==null&&H1(c,m.retryQueue),m=null,o!==null&&o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(m=o.memoizedState.cachePool.pool),b=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(b=c.memoizedState.cachePool.pool),b!==m&&(c.flags|=2048),o!==null&&be(Nt),null;case 24:return m=null,o!==null&&(m=o.memoizedState.cache),c.memoizedState.cache!==m&&(c.flags|=2048),Io(Yt),Ar(c),null;case 25:return null;case 30:return null}throw Error(n(156,c.tag))}function TI(o,c){switch(_p(c),c.tag){case 1:return o=c.flags,o&65536?(c.flags=o&-65537|128,c):null;case 3:return Io(Yt),vt(),o=c.flags,(o&65536)!==0&&(o&128)===0?(c.flags=o&-65537|128,c):null;case 26:case 27:case 5:return It(c),null;case 31:if(c.memoizedState!==null){if(co(c),c.alternate===null)throw Error(n(340));Yu()}return o=c.flags,o&65536?(c.flags=o&-65537|128,c):null;case 13:if(co(c),o=c.memoizedState,o!==null&&o.dehydrated!==null){if(c.alternate===null)throw Error(n(340));Yu()}return o=c.flags,o&65536?(c.flags=o&-65537|128,c):null;case 19:return be(Hr),null;case 4:return vt(),null;case 10:return Io(c.type),null;case 22:case 23:return co(c),Lt(),o!==null&&be(Nt),o=c.flags,o&65536?(c.flags=o&-65537|128,c):null;case 24:return Io(Yt),null;case 25:return null;default:return null}}function o8(o,c){switch(_p(c),c.tag){case 3:Io(Yt),vt();break;case 26:case 27:case 5:It(c);break;case 4:vt();break;case 31:c.memoizedState!==null&&co(c);break;case 13:co(c);break;case 19:be(Hr);break;case 10:Io(c.type);break;case 22:case 23:co(c),Lt(),o!==null&&be(Nt);break;case 24:Io(Yt)}}function Np(o,c){try{var m=c.updateQueue,b=m!==null?m.lastEffect:null;if(b!==null){var D=b.next;m=D;do{if((m.tag&o)===o){b=void 0;var P=m.create,$=m.inst;b=P(),$.destroy=b}m=m.next}while(m!==D)}}catch(re){Yi(c,c.return,re)}}function nh(o,c,m){try{var b=c.updateQueue,D=b!==null?b.lastEffect:null;if(D!==null){var P=D.next;b=P;do{if((b.tag&o)===o){var $=b.inst,re=$.destroy;if(re!==void 0){$.destroy=void 0,D=c;var we=m,Je=re;try{Je()}catch(ut){Yi(D,we,ut)}}}b=b.next}while(b!==P)}}catch(ut){Yi(c,c.return,ut)}}function l8(o){var c=o.updateQueue;if(c!==null){var m=o.stateNode;try{Un(c,m)}catch(b){Yi(o,o.return,b)}}}function u8(o,c,m){m.props=gf(o.type,o.memoizedProps),m.state=o.memoizedState;try{m.componentWillUnmount()}catch(b){Yi(o,c,b)}}function Dp(o,c){try{var m=o.ref;if(m!==null){switch(o.tag){case 26:case 27:case 5:var b=o.stateNode;break;case 30:b=o.stateNode;break;default:b=o.stateNode}typeof m=="function"?o.refCleanup=m(b):m.current=b}}catch(D){Yi(o,c,D)}}function ql(o,c){var m=o.ref,b=o.refCleanup;if(m!==null)if(typeof b=="function")try{b()}catch(D){Yi(o,c,D)}finally{o.refCleanup=null,o=o.alternate,o!=null&&(o.refCleanup=null)}else if(typeof m=="function")try{m(null)}catch(D){Yi(o,c,D)}else m.current=null}function c8(o){var c=o.type,m=o.memoizedProps,b=o.stateNode;try{e:switch(c){case"button":case"input":case"select":case"textarea":m.autoFocus&&b.focus();break e;case"img":m.src?b.src=m.src:m.srcSet&&(b.srcset=m.srcSet)}}catch(D){Yi(o,o.return,D)}}function ab(o,c,m){try{var b=o.stateNode;WI(b,o.type,m,c),b[un]=c}catch(D){Yi(o,o.return,D)}}function h8(o){return o.tag===5||o.tag===3||o.tag===26||o.tag===27&&uh(o.type)||o.tag===4}function ob(o){e:for(;;){for(;o.sibling===null;){if(o.return===null||h8(o.return))return null;o=o.return}for(o.sibling.return=o.return,o=o.sibling;o.tag!==5&&o.tag!==6&&o.tag!==18;){if(o.tag===27&&uh(o.type)||o.flags&2||o.child===null||o.tag===4)continue e;o.child.return=o,o=o.child}if(!(o.flags&2))return o.stateNode}}function lb(o,c,m){var b=o.tag;if(b===5||b===6)o=o.stateNode,c?(m.nodeType===9?m.body:m.nodeName==="HTML"?m.ownerDocument.body:m).insertBefore(o,c):(c=m.nodeType===9?m.body:m.nodeName==="HTML"?m.ownerDocument.body:m,c.appendChild(o),m=m._reactRootContainer,m!=null||c.onclick!==null||(c.onclick=Po));else if(b!==4&&(b===27&&uh(o.type)&&(m=o.stateNode,c=null),o=o.child,o!==null))for(lb(o,c,m),o=o.sibling;o!==null;)lb(o,c,m),o=o.sibling}function j1(o,c,m){var b=o.tag;if(b===5||b===6)o=o.stateNode,c?m.insertBefore(o,c):m.appendChild(o);else if(b!==4&&(b===27&&uh(o.type)&&(m=o.stateNode),o=o.child,o!==null))for(j1(o,c,m),o=o.sibling;o!==null;)j1(o,c,m),o=o.sibling}function f8(o){var c=o.stateNode,m=o.memoizedProps;try{for(var b=o.type,D=c.attributes;D.length;)c.removeAttributeNode(D[0]);Us(c,b,m),c[Xn]=o,c[un]=m}catch(P){Yi(o,o.return,P)}}var sc=!1,ns=!1,ub=!1,A8=typeof WeakSet=="function"?WeakSet:Set,Ms=null;function wI(o,c){if(o=o.containerInfo,Nb=f2,o=Ol(o),Il(o)){if("selectionStart"in o)var m={start:o.selectionStart,end:o.selectionEnd};else e:{m=(m=o.ownerDocument)&&m.defaultView||window;var b=m.getSelection&&m.getSelection();if(b&&b.rangeCount!==0){m=b.anchorNode;var D=b.anchorOffset,P=b.focusNode;b=b.focusOffset;try{m.nodeType,P.nodeType}catch{m=null;break e}var $=0,re=-1,we=-1,Je=0,ut=0,St=o,et=null;t:for(;;){for(var tt;St!==m||D!==0&&St.nodeType!==3||(re=$+D),St!==P||b!==0&&St.nodeType!==3||(we=$+b),St.nodeType===3&&($+=St.nodeValue.length),(tt=St.firstChild)!==null;)et=St,St=tt;for(;;){if(St===o)break t;if(et===m&&++Je===D&&(re=$),et===P&&++ut===b&&(we=$),(tt=St.nextSibling)!==null)break;St=et,et=St.parentNode}St=tt}m=re===-1||we===-1?null:{start:re,end:we}}else m=null}m=m||{start:0,end:0}}else m=null;for(Db={focusedElem:o,selectionRange:m},f2=!1,Ms=c;Ms!==null;)if(c=Ms,o=c.child,(c.subtreeFlags&1028)!==0&&o!==null)o.return=c,Ms=o;else for(;Ms!==null;){switch(c=Ms,P=c.alternate,o=c.flags,c.tag){case 0:if((o&4)!==0&&(o=c.updateQueue,o=o!==null?o.events:null,o!==null))for(m=0;m title"))),Us(P,b,m),P[Xn]=o,Ie(P),b=P;break e;case"link":var $=_C("link","href",D).get(b+(m.href||""));if($){for(var re=0;re<$.length;re++)if(P=$[re],P.getAttribute("href")===(m.href==null||m.href===""?null:m.href)&&P.getAttribute("rel")===(m.rel==null?null:m.rel)&&P.getAttribute("title")===(m.title==null?null:m.title)&&P.getAttribute("crossorigin")===(m.crossOrigin==null?null:m.crossOrigin)){$.splice(re,1);break t}}P=D.createElement(b),Us(P,b,m),D.head.appendChild(P);break;case"meta":if($=_C("meta","content",D).get(b+(m.content||""))){for(re=0;re<$.length;re++)if(P=$[re],P.getAttribute("content")===(m.content==null?null:""+m.content)&&P.getAttribute("name")===(m.name==null?null:m.name)&&P.getAttribute("property")===(m.property==null?null:m.property)&&P.getAttribute("http-equiv")===(m.httpEquiv==null?null:m.httpEquiv)&&P.getAttribute("charset")===(m.charSet==null?null:m.charSet)){$.splice(re,1);break t}}P=D.createElement(b),Us(P,b,m),D.head.appendChild(P);break;default:throw Error(n(468,b))}P[Xn]=o,Ie(P),b=P}o.stateNode=b}else yC(D,o.type,o.stateNode);else o.stateNode=vC(D,b,o.memoizedProps);else P!==b?(P===null?m.stateNode!==null&&(m=m.stateNode,m.parentNode.removeChild(m)):P.count--,b===null?yC(D,o.type,o.stateNode):vC(D,b,o.memoizedProps)):b===null&&o.stateNode!==null&&ab(o,o.memoizedProps,m.memoizedProps)}break;case 27:Ua(c,o),Ba(o),b&512&&(ns||m===null||ql(m,m.return)),m!==null&&b&4&&ab(o,o.memoizedProps,m.memoizedProps);break;case 5:if(Ua(c,o),Ba(o),b&512&&(ns||m===null||ql(m,m.return)),o.flags&32){D=o.stateNode;try{pi(D,"")}catch(ln){Yi(o,o.return,ln)}}b&4&&o.stateNode!=null&&(D=o.memoizedProps,ab(o,D,m!==null?m.memoizedProps:D)),b&1024&&(ub=!0);break;case 6:if(Ua(c,o),Ba(o),b&4){if(o.stateNode===null)throw Error(n(162));b=o.memoizedProps,m=o.stateNode;try{m.nodeValue=b}catch(ln){Yi(o,o.return,ln)}}break;case 3:if(l2=null,D=dl,dl=a2(c.containerInfo),Ua(c,o),dl=D,Ba(o),b&4&&m!==null&&m.memoizedState.isDehydrated)try{sd(c.containerInfo)}catch(ln){Yi(o,o.return,ln)}ub&&(ub=!1,y8(o));break;case 4:b=dl,dl=a2(o.stateNode.containerInfo),Ua(c,o),Ba(o),dl=b;break;case 12:Ua(c,o),Ba(o);break;case 31:Ua(c,o),Ba(o),b&4&&(b=o.updateQueue,b!==null&&(o.updateQueue=null,W1(o,b)));break;case 13:Ua(c,o),Ba(o),o.child.flags&8192&&o.memoizedState!==null!=(m!==null&&m.memoizedState!==null)&&(X1=Me()),b&4&&(b=o.updateQueue,b!==null&&(o.updateQueue=null,W1(o,b)));break;case 22:D=o.memoizedState!==null;var we=m!==null&&m.memoizedState!==null,Je=sc,ut=ns;if(sc=Je||D,ns=ut||we,Ua(c,o),ns=ut,sc=Je,Ba(o),b&8192)e:for(c=o.stateNode,c._visibility=D?c._visibility&-2:c._visibility|1,D&&(m===null||we||sc||ns||vf(o)),m=null,c=o;;){if(c.tag===5||c.tag===26){if(m===null){we=m=c;try{if(P=we.stateNode,D)$=P.style,typeof $.setProperty=="function"?$.setProperty("display","none","important"):$.display="none";else{re=we.stateNode;var St=we.memoizedProps.style,et=St!=null&&St.hasOwnProperty("display")?St.display:null;re.style.display=et==null||typeof et=="boolean"?"":(""+et).trim()}}catch(ln){Yi(we,we.return,ln)}}}else if(c.tag===6){if(m===null){we=c;try{we.stateNode.nodeValue=D?"":we.memoizedProps}catch(ln){Yi(we,we.return,ln)}}}else if(c.tag===18){if(m===null){we=c;try{var tt=we.stateNode;D?uC(tt,!0):uC(we.stateNode,!1)}catch(ln){Yi(we,we.return,ln)}}}else if((c.tag!==22&&c.tag!==23||c.memoizedState===null||c===o)&&c.child!==null){c.child.return=c,c=c.child;continue}if(c===o)break e;for(;c.sibling===null;){if(c.return===null||c.return===o)break e;m===c&&(m=null),c=c.return}m===c&&(m=null),c.sibling.return=c.return,c=c.sibling}b&4&&(b=o.updateQueue,b!==null&&(m=b.retryQueue,m!==null&&(b.retryQueue=null,W1(o,m))));break;case 19:Ua(c,o),Ba(o),b&4&&(b=o.updateQueue,b!==null&&(o.updateQueue=null,W1(o,b)));break;case 30:break;case 21:break;default:Ua(c,o),Ba(o)}}function Ba(o){var c=o.flags;if(c&2){try{for(var m,b=o.return;b!==null;){if(h8(b)){m=b;break}b=b.return}if(m==null)throw Error(n(160));switch(m.tag){case 27:var D=m.stateNode,P=ob(o);j1(o,P,D);break;case 5:var $=m.stateNode;m.flags&32&&(pi($,""),m.flags&=-33);var re=ob(o);j1(o,re,$);break;case 3:case 4:var we=m.stateNode.containerInfo,Je=ob(o);lb(o,Je,we);break;default:throw Error(n(161))}}catch(ut){Yi(o,o.return,ut)}o.flags&=-3}c&4096&&(o.flags&=-4097)}function y8(o){if(o.subtreeFlags&1024)for(o=o.child;o!==null;){var c=o;y8(c),c.tag===5&&c.flags&1024&&c.stateNode.reset(),o=o.sibling}}function oc(o,c){if(c.subtreeFlags&8772)for(c=c.child;c!==null;)d8(o,c.alternate,c),c=c.sibling}function vf(o){for(o=o.child;o!==null;){var c=o;switch(c.tag){case 0:case 11:case 14:case 15:nh(4,c,c.return),vf(c);break;case 1:ql(c,c.return);var m=c.stateNode;typeof m.componentWillUnmount=="function"&&u8(c,c.return,m),vf(c);break;case 27:zp(c.stateNode);case 26:case 5:ql(c,c.return),vf(c);break;case 22:c.memoizedState===null&&vf(c);break;case 30:vf(c);break;default:vf(c)}o=o.sibling}}function lc(o,c,m){for(m=m&&(c.subtreeFlags&8772)!==0,c=c.child;c!==null;){var b=c.alternate,D=o,P=c,$=P.flags;switch(P.tag){case 0:case 11:case 15:lc(D,P,m),Np(4,P);break;case 1:if(lc(D,P,m),b=P,D=b.stateNode,typeof D.componentDidMount=="function")try{D.componentDidMount()}catch(Je){Yi(b,b.return,Je)}if(b=P,D=b.updateQueue,D!==null){var re=b.stateNode;try{var we=D.shared.hiddenCallbacks;if(we!==null)for(D.shared.hiddenCallbacks=null,D=0;Der&&($=er,er=Dn,Dn=$);var Ve=LA(re,Dn),Ue=LA(re,er);if(Ve&&Ue&&(tt.rangeCount!==1||tt.anchorNode!==Ve.node||tt.anchorOffset!==Ve.offset||tt.focusNode!==Ue.node||tt.focusOffset!==Ue.offset)){var Ke=St.createRange();Ke.setStart(Ve.node,Ve.offset),tt.removeAllRanges(),Dn>er?(tt.addRange(Ke),tt.extend(Ue.node,Ue.offset)):(Ke.setEnd(Ue.node,Ue.offset),tt.addRange(Ke))}}}}for(St=[],tt=re;tt=tt.parentNode;)tt.nodeType===1&&St.push({element:tt,left:tt.scrollLeft,top:tt.scrollTop});for(typeof re.focus=="function"&&re.focus(),re=0;rem?32:m,Q.T=null,m=mb,mb=null;var P=ah,$=cc;if(ds=0,ZA=ah=null,cc=0,(Oi&6)!==0)throw Error(n(331));var re=Oi;if(Oi|=4,T8(P.current),x8(P,P.current,$,m),Oi=re,Ip(0,!1),jt&&typeof jt.onPostCommitFiberRoot=="function")try{jt.onPostCommitFiberRoot(sn,P)}catch{}return!0}finally{le.p=D,Q.T=b,q8(o,c)}}function H8(o,c,m){c=Ca(m,c),c=Yx(o.stateNode,c,2),o=Xe(o,c,2),o!==null&&($i(o,2),Vl(o))}function Yi(o,c,m){if(o.tag===3)H8(o,o,m);else for(;c!==null;){if(c.tag===3){H8(c,o,m);break}else if(c.tag===1){var b=c.stateNode;if(typeof c.type.getDerivedStateFromError=="function"||typeof b.componentDidCatch=="function"&&(sh===null||!sh.has(b))){o=Ca(m,o),m=j4(2),b=Xe(c,m,2),b!==null&&(W4(m,b,c,o),$i(b,2),Vl(b));break}}c=c.return}}function yb(o,c,m){var b=o.pingCache;if(b===null){b=o.pingCache=new CI;var D=new Set;b.set(c,D)}else D=b.get(c),D===void 0&&(D=new Set,b.set(c,D));D.has(m)||(fb=!0,D.add(m),o=LI.bind(null,o,c,m),c.then(o,o))}function LI(o,c,m){var b=o.pingCache;b!==null&&b.delete(c),o.pingedLanes|=o.suspendedLanes&m,o.warmLanes&=~m,or===o&&(xi&m)===m&&(Or===4||Or===3&&(xi&62914560)===xi&&300>Me()-X1?(Oi&2)===0&&JA(o,0):Ab|=m,KA===xi&&(KA=0)),Vl(o)}function j8(o,c){c===0&&(c=rr()),o=ju(o,c),o!==null&&($i(o,c),Vl(o))}function UI(o){var c=o.memoizedState,m=0;c!==null&&(m=c.retryLane),j8(o,m)}function BI(o,c){var m=0;switch(o.tag){case 31:case 13:var b=o.stateNode,D=o.memoizedState;D!==null&&(m=D.retryLane);break;case 19:b=o.stateNode;break;case 22:b=o.stateNode._retryCache;break;default:throw Error(n(314))}b!==null&&b.delete(c),j8(o,m)}function OI(o,c){return yt(o,c)}var t2=null,td=null,xb=!1,n2=!1,bb=!1,lh=0;function Vl(o){o!==td&&o.next===null&&(td===null?t2=td=o:td=td.next=o),n2=!0,xb||(xb=!0,FI())}function Ip(o,c){if(!bb&&n2){bb=!0;do for(var m=!1,b=t2;b!==null;){if(o!==0){var D=b.pendingLanes;if(D===0)var P=0;else{var $=b.suspendedLanes,re=b.pingedLanes;P=(1<<31-qt(42|o)+1)-1,P&=D&~($&~re),P=P&201326741?P&201326741|1:P?P|2:0}P!==0&&(m=!0,Y8(b,P))}else P=xi,P=zt(b,b===or?P:0,b.cancelPendingCommit!==null||b.timeoutHandle!==-1),(P&3)===0||xn(b,P)||(m=!0,Y8(b,P));b=b.next}while(m);bb=!1}}function II(){W8()}function W8(){n2=xb=!1;var o=0;lh!==0&&XI()&&(o=lh);for(var c=Me(),m=null,b=t2;b!==null;){var D=b.next,P=$8(b,c);P===0?(b.next=null,m===null?t2=D:m.next=D,D===null&&(td=m)):(m=b,(o!==0||(P&3)!==0)&&(n2=!0)),b=D}ds!==0&&ds!==5||Ip(o),lh!==0&&(lh=0)}function $8(o,c){for(var m=o.suspendedLanes,b=o.pingedLanes,D=o.expirationTimes,P=o.pendingLanes&-62914561;0>>=0,o===0?32:31-(In(o)/Mi|0)|0}var Wt=256,nt=262144,xt=4194304;function $t(o){var c=o&42;if(c!==0)return c;switch(o&-o){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 o&261888;case 262144:case 524288:case 1048576:case 2097152:return o&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return o&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return o}}function zt(o,c,m){var b=o.pendingLanes;if(b===0)return 0;var D=0,P=o.suspendedLanes,$=o.pingedLanes;o=o.warmLanes;var re=b&134217727;return re!==0?(b=re&~P,b!==0?D=$t(b):($&=re,$!==0?D=$t($):m||(m=re&~o,m!==0&&(D=$t(m))))):(re=b&~P,re!==0?D=$t(re):$!==0?D=$t($):m||(m=b&~o,m!==0&&(D=$t(m)))),D===0?0:c!==0&&c!==D&&(c&P)===0&&(P=D&-D,m=c&-c,P>=m||P===32&&(m&4194048)!==0)?c:D}function xn(o,c){return(o.pendingLanes&~(o.suspendedLanes&~o.pingedLanes)&c)===0}function qi(o,c){switch(o){case 1:case 2:case 4:case 8:case 64:return c+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 c+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 rr(){var o=xt;return xt<<=1,(xt&62914560)===0&&(xt=4194304),o}function pn(o){for(var c=[],m=0;31>m;m++)c.push(o);return c}function $i(o,c){o.pendingLanes|=c,c!==268435456&&(o.suspendedLanes=0,o.pingedLanes=0,o.warmLanes=0)}function Jr(o,c,m,b,D,P){var $=o.pendingLanes;o.pendingLanes=m,o.suspendedLanes=0,o.pingedLanes=0,o.warmLanes=0,o.expiredLanes&=m,o.entangledLanes&=m,o.errorRecoveryDisabledLanes&=m,o.shellSuspendCounter=0;var re=o.entanglements,we=o.expirationTimes,Je=o.hiddenUpdates;for(m=$&~m;0"u")return null;try{return o.activeElement||o.body}catch{return o.body}}var _e=/[\n"\\]/g;function at(o){return o.replace(_e,function(c){return"\\"+c.charCodeAt(0).toString(16)+" "})}function Ct(o,c,m,b,D,P,$,re){o.name="",$!=null&&typeof $!="function"&&typeof $!="symbol"&&typeof $!="boolean"?o.type=$:o.removeAttribute("type"),c!=null?$==="number"?(c===0&&o.value===""||o.value!=c)&&(o.value=""+Ln(c)):o.value!==""+Ln(c)&&(o.value=""+Ln(c)):$!=="submit"&&$!=="reset"||o.removeAttribute("value"),c!=null?cn(o,$,Ln(c)):m!=null?cn(o,$,Ln(m)):b!=null&&o.removeAttribute("value"),D==null&&P!=null&&(o.defaultChecked=!!P),D!=null&&(o.checked=D&&typeof D!="function"&&typeof D!="symbol"),re!=null&&typeof re!="function"&&typeof re!="symbol"&&typeof re!="boolean"?o.name=""+Ln(re):o.removeAttribute("name")}function Jt(o,c,m,b,D,P,$,re){if(P!=null&&typeof P!="function"&&typeof P!="symbol"&&typeof P!="boolean"&&(o.type=P),c!=null||m!=null){if(!(P!=="submit"&&P!=="reset"||c!=null)){hi(o);return}m=m!=null?""+Ln(m):"",c=c!=null?""+Ln(c):m,re||c===o.value||(o.value=c),o.defaultValue=c}b=b??D,b=typeof b!="function"&&typeof b!="symbol"&&!!b,o.checked=re?o.checked:!!b,o.defaultChecked=!!b,$!=null&&typeof $!="function"&&typeof $!="symbol"&&typeof $!="boolean"&&(o.name=$),hi(o)}function cn(o,c,m){c==="number"&&fa(o.ownerDocument)===o||o.defaultValue===""+m||(o.defaultValue=""+m)}function Yn(o,c,m,b){if(o=o.options,c){c={};for(var D=0;D"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),TA=!1;if(il)try{var tf={};Object.defineProperty(tf,"passive",{get:function(){TA=!0}}),window.addEventListener("test",tf,tf),window.removeEventListener("test",tf,tf)}catch{TA=!1}var Lo=null,nf=null,wA=null;function np(){if(wA)return wA;var o,c=nf,m=c.length,b,D="value"in Lo?Lo.value:Lo.textContent,P=D.length;for(o=0;o=of),Ou=" ",m1=!1;function RA(o,c){switch(o){case"keyup":return xx.indexOf(c.keyCode)!==-1;case"keydown":return c.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function op(o){return o=o.detail,typeof o=="object"&&"data"in o?o.data:null}var Qc=!1;function g1(o,c){switch(o){case"compositionend":return op(c);case"keypress":return c.which!==32?null:(m1=!0,Ou);case"textInput":return o=c.data,o===Ou&&m1?null:o;default:return null}}function bx(o,c){if(Qc)return o==="compositionend"||!Bu&&RA(o,c)?(o=np(),wA=nf=Lo=null,Qc=!1,o):null;switch(o){case"paste":return null;case"keypress":if(!(c.ctrlKey||c.altKey||c.metaKey)||c.ctrlKey&&c.altKey){if(c.char&&1=c)return{node:m,offset:c-o};o=b}e:{for(;m;){if(m.nextSibling){m=m.nextSibling;break e}m=m.parentNode}m=void 0}m=PA(m)}}function zu(o,c){return o&&c?o===c?!0:o&&o.nodeType===3?!1:c&&c.nodeType===3?zu(o,c.parentNode):"contains"in o?o.contains(c):o.compareDocumentPosition?!!(o.compareDocumentPosition(c)&16):!1:!1}function Ol(o){o=o!=null&&o.ownerDocument!=null&&o.ownerDocument.defaultView!=null?o.ownerDocument.defaultView:window;for(var c=fa(o.document);c instanceof o.HTMLIFrameElement;){try{var m=typeof c.contentWindow.location.href=="string"}catch{m=!1}if(m)o=c.contentWindow;else break;c=fa(o.document)}return c}function Il(o){var c=o&&o.nodeName&&o.nodeName.toLowerCase();return c&&(c==="input"&&(o.type==="text"||o.type==="search"||o.type==="tel"||o.type==="url"||o.type==="password")||c==="textarea"||o.contentEditable==="true")}var wx=il&&"documentMode"in document&&11>=document.documentMode,Gu=null,fp=null,qu=null,Ap=!1;function S1(o,c,m){var b=m.window===m?m.document:m.nodeType===9?m:m.ownerDocument;Ap||Gu==null||Gu!==fa(b)||(b=Gu,"selectionStart"in b&&Il(b)?b={start:b.selectionStart,end:b.selectionEnd}:(b=(b.ownerDocument&&b.ownerDocument.defaultView||window).getSelection(),b={anchorNode:b.anchorNode,anchorOffset:b.anchorOffset,focusNode:b.focusNode,focusOffset:b.focusOffset}),qu&&Ss(qu,b)||(qu=b,b=r2(fp,"onSelect"),0>=$,D-=$,Na=1<<32-qt(c)+D|m<oi?(bi=hn,hn=null):bi=hn.sibling;var Pi=et(Ve,hn,Ke[oi],mt);if(Pi===null){hn===null&&(hn=bi);break}o&&hn&&Pi.alternate===null&&c(Ve,hn),Ue=P(Pi,Ue,oi),Di===null?Sn=Pi:Di.sibling=Pi,Di=Pi,hn=bi}if(oi===Ke.length)return m(Ve,hn),mi&&Oo(Ve,oi),Sn;if(hn===null){for(;oioi?(bi=hn,hn=null):bi=hn.sibling;var dh=et(Ve,hn,Pi.value,mt);if(dh===null){hn===null&&(hn=bi);break}o&&hn&&dh.alternate===null&&c(Ve,hn),Ue=P(dh,Ue,oi),Di===null?Sn=dh:Di.sibling=dh,Di=dh,hn=bi}if(Pi.done)return m(Ve,hn),mi&&Oo(Ve,oi),Sn;if(hn===null){for(;!Pi.done;oi++,Pi=Ke.next())Pi=St(Ve,Pi.value,mt),Pi!==null&&(Ue=P(Pi,Ue,oi),Di===null?Sn=Pi:Di.sibling=Pi,Di=Pi);return mi&&Oo(Ve,oi),Sn}for(hn=b(hn);!Pi.done;oi++,Pi=Ke.next())Pi=tt(hn,Ve,oi,Pi.value,mt),Pi!==null&&(o&&Pi.alternate!==null&&hn.delete(Pi.key===null?oi:Pi.key),Ue=P(Pi,Ue,oi),Di===null?Sn=Pi:Di.sibling=Pi,Di=Pi);return o&&hn.forEach(function(bF){return c(Ve,bF)}),mi&&Oo(Ve,oi),Sn}function er(Ve,Ue,Ke,mt){if(typeof Ke=="object"&&Ke!==null&&Ke.type===R&&Ke.key===null&&(Ke=Ke.props.children),typeof Ke=="object"&&Ke!==null){switch(Ke.$$typeof){case S:e:{for(var Sn=Ke.key;Ue!==null;){if(Ue.key===Sn){if(Sn=Ke.type,Sn===R){if(Ue.tag===7){m(Ve,Ue.sibling),mt=D(Ue,Ke.props.children),mt.return=Ve,Ve=mt;break e}}else if(Ue.elementType===Sn||typeof Sn=="object"&&Sn!==null&&Sn.$$typeof===H&&f(Sn)===Ue.type){m(Ve,Ue.sibling),mt=D(Ue,Ke.props),U(mt,Ke),mt.return=Ve,Ve=mt;break e}m(Ve,Ue);break}else c(Ve,Ue);Ue=Ue.sibling}Ke.type===R?(mt=$u(Ke.props.children,Ve.mode,mt,Ke.key),mt.return=Ve,Ve=mt):(mt=IA(Ke.type,Ke.key,Ke.props,null,Ve.mode,mt),U(mt,Ke),mt.return=Ve,Ve=mt)}return $(Ve);case w:e:{for(Sn=Ke.key;Ue!==null;){if(Ue.key===Sn)if(Ue.tag===4&&Ue.stateNode.containerInfo===Ke.containerInfo&&Ue.stateNode.implementation===Ke.implementation){m(Ve,Ue.sibling),mt=D(Ue,Ke.children||[]),mt.return=Ve,Ve=mt;break e}else{m(Ve,Ue);break}else c(Ve,Ue);Ue=Ue.sibling}mt=Bo(Ke,Ve.mode,mt),mt.return=Ve,Ve=mt}return $(Ve);case H:return Ke=f(Ke),er(Ve,Ue,Ke,mt)}if(te(Ke))return ln(Ve,Ue,Ke,mt);if(ee(Ke)){if(Sn=ee(Ke),typeof Sn!="function")throw Error(n(150));return Ke=Sn.call(Ke),Dn(Ve,Ue,Ke,mt)}if(typeof Ke.then=="function")return er(Ve,Ue,N(Ke),mt);if(Ke.$$typeof===L)return er(Ve,Ue,HA(Ve,Ke),mt);I(Ve,Ke)}return typeof Ke=="string"&&Ke!==""||typeof Ke=="number"||typeof Ke=="bigint"?(Ke=""+Ke,Ue!==null&&Ue.tag===6?(m(Ve,Ue.sibling),mt=D(Ue,Ke),mt.return=Ve,Ve=mt):(m(Ve,Ue),mt=vp(Ke,Ve.mode,mt),mt.return=Ve,Ve=mt),$(Ve)):m(Ve,Ue)}return function(Ve,Ue,Ke,mt){try{M=0;var Sn=er(Ve,Ue,Ke,mt);return T=null,Sn}catch(hn){if(hn===hl||hn===uo)throw hn;var Di=Ys(29,hn,null,Ve.mode);return Di.lanes=mt,Di.return=Ve,Di}finally{}}}var ie=q(!0),pe=q(!1),Ae=!1;function me(o){o.updateQueue={baseState:o.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ce(o,c){o=o.updateQueue,c.updateQueue===o&&(c.updateQueue={baseState:o.baseState,firstBaseUpdate:o.firstBaseUpdate,lastBaseUpdate:o.lastBaseUpdate,shared:o.shared,callbacks:null})}function Be(o){return{lane:o,tag:0,payload:null,callback:null,next:null}}function Xe(o,c,m){var b=o.updateQueue;if(b===null)return null;if(b=b.shared,(Oi&2)!==0){var D=b.pending;return D===null?c.next=c:(c.next=D.next,D.next=c),b.pending=c,c=OA(o),M1(o,null,m),c}return BA(o,b,c,m),OA(o)}function qe(o,c,m){if(c=c.updateQueue,c!==null&&(c=c.shared,(m&4194048)!==0)){var b=c.lanes;b&=o.pendingLanes,m|=b,c.lanes=m,At(o,m)}}function ke(o,c){var m=o.updateQueue,b=o.alternate;if(b!==null&&(b=b.updateQueue,m===b)){var D=null,P=null;if(m=m.firstBaseUpdate,m!==null){do{var $={lane:m.lane,tag:m.tag,payload:m.payload,callback:null,next:null};P===null?D=P=$:P=P.next=$,m=m.next}while(m!==null);P===null?D=P=c:P=P.next=c}else D=P=c;m={baseState:b.baseState,firstBaseUpdate:D,lastBaseUpdate:P,shared:b.shared,callbacks:b.callbacks},o.updateQueue=m;return}o=m.lastBaseUpdate,o===null?m.firstBaseUpdate=c:o.next=c,m.lastBaseUpdate=c}var Re=!1;function Pt(){if(Re){var o=fr;if(o!==null)throw o}}function rn(o,c,m,b){Re=!1;var D=o.updateQueue;Ae=!1;var P=D.firstBaseUpdate,$=D.lastBaseUpdate,re=D.shared.pending;if(re!==null){D.shared.pending=null;var we=re,Je=we.next;we.next=null,$===null?P=Je:$.next=Je,$=we;var ut=o.alternate;ut!==null&&(ut=ut.updateQueue,re=ut.lastBaseUpdate,re!==$&&(re===null?ut.firstBaseUpdate=Je:re.next=Je,ut.lastBaseUpdate=we))}if(P!==null){var St=D.baseState;$=0,ut=Je=we=null,re=P;do{var et=re.lane&-536870913,tt=et!==re.lane;if(tt?(xi&et)===et:(b&et)===et){et!==0&&et===eh&&(Re=!0),ut!==null&&(ut=ut.next={lane:0,tag:re.tag,payload:re.payload,callback:null,next:null});e:{var ln=o,Dn=re;et=c;var er=m;switch(Dn.tag){case 1:if(ln=Dn.payload,typeof ln=="function"){St=ln.call(er,St,et);break e}St=ln;break e;case 3:ln.flags=ln.flags&-65537|128;case 0:if(ln=Dn.payload,et=typeof ln=="function"?ln.call(er,St,et):ln,et==null)break e;St=v({},St,et);break e;case 2:Ae=!0}}et=re.callback,et!==null&&(o.flags|=64,tt&&(o.flags|=8192),tt=D.callbacks,tt===null?D.callbacks=[et]:tt.push(et))}else tt={lane:et,tag:re.tag,payload:re.payload,callback:re.callback,next:null},ut===null?(Je=ut=tt,we=St):ut=ut.next=tt,$|=et;if(re=re.next,re===null){if(re=D.shared.pending,re===null)break;tt=re,re=tt.next,tt.next=null,D.lastBaseUpdate=tt,D.shared.pending=null}}while(!0);ut===null&&(we=St),D.baseState=we,D.firstBaseUpdate=Je,D.lastBaseUpdate=ut,P===null&&(D.shared.lanes=0),rh|=$,o.lanes=$,o.memoizedState=St}}function en(o,c){if(typeof o!="function")throw Error(n(191,o));o.call(c)}function Un(o,c){var m=o.callbacks;if(m!==null)for(o.callbacks=null,o=0;oP?P:8;var $=Q.T,re={};Q.T=re,jx(o,!1,c,m);try{var we=D(),Je=Q.S;if(Je!==null&&Je(re,we),we!==null&&typeof we=="object"&&typeof we.then=="function"){var ut=N1(we,b);Mp(o,c,ut,Ao(o))}else Mp(o,c,b,Ao(o))}catch(St){Mp(o,c,{then:function(){},status:"rejected",reason:St},Ao())}finally{le.p=P,$!==null&&re.types!==null&&($.types=re.types),Q.T=$}}function gI(){}function Vx(o,c,m,b){if(o.tag!==5)throw Error(n(476));var D=N4(o).queue;R4(o,D,c,de,m===null?gI:function(){return D4(o),m(b)})}function N4(o){var c=o.memoizedState;if(c!==null)return c;c={memoizedState:de,baseState:de,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:nc,lastRenderedState:de},next:null};var m={};return c.next={memoizedState:m,baseState:m,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:nc,lastRenderedState:m},next:null},o.memoizedState=c,o=o.alternate,o!==null&&(o.memoizedState=c),c}function D4(o){var c=N4(o);c.next===null&&(c=o.alternate.memoizedState),Mp(o,c.next.queue,{},Ao())}function Hx(){return As(Vp)}function P4(){return jr().memoizedState}function L4(){return jr().memoizedState}function vI(o){for(var c=o.return;c!==null;){switch(c.tag){case 24:case 3:var m=Ao();o=Be(m);var b=Xe(c,o,m);b!==null&&(Ia(b,c,m),qe(b,c,m)),c={cache:Ur()},o.payload=c;return}c=c.return}}function _I(o,c,m){var b=Ao();m={lane:b,revertLane:0,gesture:null,action:m,hasEagerState:!1,eagerState:null,next:null},k1(o)?B4(c,m):(m=gp(o,c,m,b),m!==null&&(Ia(m,o,b),O4(m,c,b)))}function U4(o,c,m){var b=Ao();Mp(o,c,m,b)}function Mp(o,c,m,b){var D={lane:b,revertLane:0,gesture:null,action:m,hasEagerState:!1,eagerState:null,next:null};if(k1(o))B4(c,D);else{var P=o.alternate;if(o.lanes===0&&(P===null||P.lanes===0)&&(P=c.lastRenderedReducer,P!==null))try{var $=c.lastRenderedState,re=P($,m);if(D.hasEagerState=!0,D.eagerState=re,Aa(re,$))return BA(o,c,D,0),or===null&&UA(),!1}catch{}finally{}if(m=gp(o,c,D,b),m!==null)return Ia(m,o,b),O4(m,c,b),!0}return!1}function jx(o,c,m,b){if(b={lane:2,revertLane:Sb(),gesture:null,action:b,hasEagerState:!1,eagerState:null,next:null},k1(o)){if(c)throw Error(n(479))}else c=gp(o,m,b,2),c!==null&&Ia(c,o,2)}function k1(o){var c=o.alternate;return o===ri||c!==null&&c===ri}function B4(o,c){jA=P1=!0;var m=o.pending;m===null?c.next=c:(c.next=m.next,m.next=c),o.pending=c}function O4(o,c,m){if((m&4194048)!==0){var b=c.lanes;b&=o.pendingLanes,m|=b,c.lanes=m,At(o,m)}}var Ep={readContext:As,use:B1,useCallback:Br,useContext:Br,useEffect:Br,useImperativeHandle:Br,useLayoutEffect:Br,useInsertionEffect:Br,useMemo:Br,useReducer:Br,useRef:Br,useState:Br,useDebugValue:Br,useDeferredValue:Br,useTransition:Br,useSyncExternalStore:Br,useId:Br,useHostTransitionStatus:Br,useFormState:Br,useActionState:Br,useOptimistic:Br,useMemoCache:Br,useCacheRefresh:Br};Ep.useEffectEvent=Br;var I4={readContext:As,use:B1,useCallback:function(o,c){return ma().memoizedState=[o,c===void 0?null:c],o},useContext:As,useEffect:y4,useImperativeHandle:function(o,c,m){m=m!=null?m.concat([o]):null,I1(4194308,4,T4.bind(null,c,o),m)},useLayoutEffect:function(o,c){return I1(4194308,4,o,c)},useInsertionEffect:function(o,c){I1(4,2,o,c)},useMemo:function(o,c){var m=ma();c=c===void 0?null:c;var b=o();if(mf){kt(!0);try{o()}finally{kt(!1)}}return m.memoizedState=[b,c],b},useReducer:function(o,c,m){var b=ma();if(m!==void 0){var D=m(c);if(mf){kt(!0);try{m(c)}finally{kt(!1)}}}else D=c;return b.memoizedState=b.baseState=D,o={pending:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:D},b.queue=o,o=o.dispatch=_I.bind(null,ri,o),[b.memoizedState,o]},useRef:function(o){var c=ma();return o={current:o},c.memoizedState=o},useState:function(o){o=Fx(o);var c=o.queue,m=U4.bind(null,ri,c);return c.dispatch=m,[o.memoizedState,m]},useDebugValue:Gx,useDeferredValue:function(o,c){var m=ma();return qx(m,o,c)},useTransition:function(){var o=Fx(!1);return o=R4.bind(null,ri,o.queue,!0,!1),ma().memoizedState=o,[!1,o]},useSyncExternalStore:function(o,c,m){var b=ri,D=ma();if(mi){if(m===void 0)throw Error(n(407));m=m()}else{if(m=c(),or===null)throw Error(n(349));(xi&127)!==0||r4(b,c,m)}D.memoizedState=m;var P={value:m,getSnapshot:c};return D.queue=P,y4(a4.bind(null,b,P,o),[o]),b.flags|=2048,$A(9,{destroy:void 0},s4.bind(null,b,P,m,c),null),m},useId:function(){var o=ma(),c=or.identifierPrefix;if(mi){var m=Da,b=Na;m=(b&~(1<<32-qt(b)-1)).toString(32)+m,c="_"+c+"R_"+m,m=L1++,0<\/script>",P=P.removeChild(P.firstChild);break;case"select":P=typeof b.is=="string"?$.createElement("select",{is:b.is}):$.createElement("select"),b.multiple?P.multiple=!0:b.size&&(P.size=b.size);break;default:P=typeof b.is=="string"?$.createElement(D,{is:b.is}):$.createElement(D)}}P[Xn]=c,P[un]=b;e:for($=c.child;$!==null;){if($.tag===5||$.tag===6)P.appendChild($.stateNode);else if($.tag!==4&&$.tag!==27&&$.child!==null){$.child.return=$,$=$.child;continue}if($===c)break e;for(;$.sibling===null;){if($.return===null||$.return===c)break e;$=$.return}$.sibling.return=$.return,$=$.sibling}c.stateNode=P;e:switch(Us(P,D,b),D){case"button":case"input":case"select":case"textarea":b=!!b.autoFocus;break e;case"img":b=!0;break e;default:b=!1}b&&rc(c)}}return Ar(c),sb(c,c.type,o===null?null:o.memoizedProps,c.pendingProps,m),null;case 6:if(o&&c.stateNode!=null)o.memoizedProps!==b&&rc(c);else{if(typeof b!="string"&&c.stateNode===null)throw Error(n(166));if(o=ye.current,ar(c)){if(o=c.stateNode,m=c.memoizedProps,b=null,D=fs,D!==null)switch(D.tag){case 27:case 5:b=D.memoizedProps}o[Xn]=c,o=!!(o.nodeValue===m||b!==null&&b.suppressHydrationWarning===!0||nC(o.nodeValue,m)),o||zl(c,!0)}else o=s2(o).createTextNode(b),o[Xn]=c,c.stateNode=o}return Ar(c),null;case 31:if(m=c.memoizedState,o===null||o.memoizedState!==null){if(b=ar(c),m!==null){if(o===null){if(!b)throw Error(n(318));if(o=c.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(n(557));o[Xn]=c}else Yu(),(c.flags&128)===0&&(c.memoizedState=null),c.flags|=4;Ar(c),o=!1}else m=Sp(),o!==null&&o.memoizedState!==null&&(o.memoizedState.hydrationErrors=m),o=!0;if(!o)return c.flags&256?(co(c),c):(co(c),null);if((c.flags&128)!==0)throw Error(n(558))}return Ar(c),null;case 13:if(b=c.memoizedState,o===null||o.memoizedState!==null&&o.memoizedState.dehydrated!==null){if(D=ar(c),b!==null&&b.dehydrated!==null){if(o===null){if(!D)throw Error(n(318));if(D=c.memoizedState,D=D!==null?D.dehydrated:null,!D)throw Error(n(317));D[Xn]=c}else Yu(),(c.flags&128)===0&&(c.memoizedState=null),c.flags|=4;Ar(c),D=!1}else D=Sp(),o!==null&&o.memoizedState!==null&&(o.memoizedState.hydrationErrors=D),D=!0;if(!D)return c.flags&256?(co(c),c):(co(c),null)}return co(c),(c.flags&128)!==0?(c.lanes=m,c):(m=b!==null,o=o!==null&&o.memoizedState!==null,m&&(b=c.child,D=null,b.alternate!==null&&b.alternate.memoizedState!==null&&b.alternate.memoizedState.cachePool!==null&&(D=b.alternate.memoizedState.cachePool.pool),P=null,b.memoizedState!==null&&b.memoizedState.cachePool!==null&&(P=b.memoizedState.cachePool.pool),P!==D&&(b.flags|=2048)),m!==o&&m&&(c.child.flags|=8192),H1(c,c.updateQueue),Ar(c),null);case 4:return vt(),o===null&&Eb(c.stateNode.containerInfo),Ar(c),null;case 10:return Io(c.type),Ar(c),null;case 19:if(be(Hr),b=c.memoizedState,b===null)return Ar(c),null;if(D=(c.flags&128)!==0,P=b.rendering,P===null)if(D)Rp(b,!1);else{if(Or!==0||o!==null&&(o.flags&128)!==0)for(o=c.child;o!==null;){if(P=D1(o),P!==null){for(c.flags|=128,Rp(b,!1),o=P.updateQueue,c.updateQueue=o,H1(c,o),c.subtreeFlags=0,o=m,m=c.child;m!==null;)E1(m,o),m=m.sibling;return We(Hr,Hr.current&1|2),mi&&Oo(c,b.treeForkCount),c.child}o=o.sibling}b.tail!==null&&Me()>Y1&&(c.flags|=128,D=!0,Rp(b,!1),c.lanes=4194304)}else{if(!D)if(o=D1(P),o!==null){if(c.flags|=128,D=!0,o=o.updateQueue,c.updateQueue=o,H1(c,o),Rp(b,!0),b.tail===null&&b.tailMode==="hidden"&&!P.alternate&&!mi)return Ar(c),null}else 2*Me()-b.renderingStartTime>Y1&&m!==536870912&&(c.flags|=128,D=!0,Rp(b,!1),c.lanes=4194304);b.isBackwards?(P.sibling=c.child,c.child=P):(o=b.last,o!==null?o.sibling=P:c.child=P,b.last=P)}return b.tail!==null?(o=b.tail,b.rendering=o,b.tail=o.sibling,b.renderingStartTime=Me(),o.sibling=null,m=Hr.current,We(Hr,D?m&1|2:m&1),mi&&Oo(c,b.treeForkCount),o):(Ar(c),null);case 22:case 23:return co(c),Lt(),b=c.memoizedState!==null,o!==null?o.memoizedState!==null!==b&&(c.flags|=8192):b&&(c.flags|=8192),b?(m&536870912)!==0&&(c.flags&128)===0&&(Ar(c),c.subtreeFlags&6&&(c.flags|=8192)):Ar(c),m=c.updateQueue,m!==null&&H1(c,m.retryQueue),m=null,o!==null&&o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(m=o.memoizedState.cachePool.pool),b=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(b=c.memoizedState.cachePool.pool),b!==m&&(c.flags|=2048),o!==null&&be(Nt),null;case 24:return m=null,o!==null&&(m=o.memoizedState.cache),c.memoizedState.cache!==m&&(c.flags|=2048),Io(Yt),Ar(c),null;case 25:return null;case 30:return null}throw Error(n(156,c.tag))}function TI(o,c){switch(_p(c),c.tag){case 1:return o=c.flags,o&65536?(c.flags=o&-65537|128,c):null;case 3:return Io(Yt),vt(),o=c.flags,(o&65536)!==0&&(o&128)===0?(c.flags=o&-65537|128,c):null;case 26:case 27:case 5:return It(c),null;case 31:if(c.memoizedState!==null){if(co(c),c.alternate===null)throw Error(n(340));Yu()}return o=c.flags,o&65536?(c.flags=o&-65537|128,c):null;case 13:if(co(c),o=c.memoizedState,o!==null&&o.dehydrated!==null){if(c.alternate===null)throw Error(n(340));Yu()}return o=c.flags,o&65536?(c.flags=o&-65537|128,c):null;case 19:return be(Hr),null;case 4:return vt(),null;case 10:return Io(c.type),null;case 22:case 23:return co(c),Lt(),o!==null&&be(Nt),o=c.flags,o&65536?(c.flags=o&-65537|128,c):null;case 24:return Io(Yt),null;case 25:return null;default:return null}}function o8(o,c){switch(_p(c),c.tag){case 3:Io(Yt),vt();break;case 26:case 27:case 5:It(c);break;case 4:vt();break;case 31:c.memoizedState!==null&&co(c);break;case 13:co(c);break;case 19:be(Hr);break;case 10:Io(c.type);break;case 22:case 23:co(c),Lt(),o!==null&&be(Nt);break;case 24:Io(Yt)}}function Np(o,c){try{var m=c.updateQueue,b=m!==null?m.lastEffect:null;if(b!==null){var D=b.next;m=D;do{if((m.tag&o)===o){b=void 0;var P=m.create,$=m.inst;b=P(),$.destroy=b}m=m.next}while(m!==D)}}catch(re){Yi(c,c.return,re)}}function nh(o,c,m){try{var b=c.updateQueue,D=b!==null?b.lastEffect:null;if(D!==null){var P=D.next;b=P;do{if((b.tag&o)===o){var $=b.inst,re=$.destroy;if(re!==void 0){$.destroy=void 0,D=c;var we=m,Je=re;try{Je()}catch(ut){Yi(D,we,ut)}}}b=b.next}while(b!==P)}}catch(ut){Yi(c,c.return,ut)}}function l8(o){var c=o.updateQueue;if(c!==null){var m=o.stateNode;try{Un(c,m)}catch(b){Yi(o,o.return,b)}}}function u8(o,c,m){m.props=gf(o.type,o.memoizedProps),m.state=o.memoizedState;try{m.componentWillUnmount()}catch(b){Yi(o,c,b)}}function Dp(o,c){try{var m=o.ref;if(m!==null){switch(o.tag){case 26:case 27:case 5:var b=o.stateNode;break;case 30:b=o.stateNode;break;default:b=o.stateNode}typeof m=="function"?o.refCleanup=m(b):m.current=b}}catch(D){Yi(o,c,D)}}function ql(o,c){var m=o.ref,b=o.refCleanup;if(m!==null)if(typeof b=="function")try{b()}catch(D){Yi(o,c,D)}finally{o.refCleanup=null,o=o.alternate,o!=null&&(o.refCleanup=null)}else if(typeof m=="function")try{m(null)}catch(D){Yi(o,c,D)}else m.current=null}function c8(o){var c=o.type,m=o.memoizedProps,b=o.stateNode;try{e:switch(c){case"button":case"input":case"select":case"textarea":m.autoFocus&&b.focus();break e;case"img":m.src?b.src=m.src:m.srcSet&&(b.srcset=m.srcSet)}}catch(D){Yi(o,o.return,D)}}function ab(o,c,m){try{var b=o.stateNode;WI(b,o.type,m,c),b[un]=c}catch(D){Yi(o,o.return,D)}}function h8(o){return o.tag===5||o.tag===3||o.tag===26||o.tag===27&&uh(o.type)||o.tag===4}function ob(o){e:for(;;){for(;o.sibling===null;){if(o.return===null||h8(o.return))return null;o=o.return}for(o.sibling.return=o.return,o=o.sibling;o.tag!==5&&o.tag!==6&&o.tag!==18;){if(o.tag===27&&uh(o.type)||o.flags&2||o.child===null||o.tag===4)continue e;o.child.return=o,o=o.child}if(!(o.flags&2))return o.stateNode}}function lb(o,c,m){var b=o.tag;if(b===5||b===6)o=o.stateNode,c?(m.nodeType===9?m.body:m.nodeName==="HTML"?m.ownerDocument.body:m).insertBefore(o,c):(c=m.nodeType===9?m.body:m.nodeName==="HTML"?m.ownerDocument.body:m,c.appendChild(o),m=m._reactRootContainer,m!=null||c.onclick!==null||(c.onclick=Po));else if(b!==4&&(b===27&&uh(o.type)&&(m=o.stateNode,c=null),o=o.child,o!==null))for(lb(o,c,m),o=o.sibling;o!==null;)lb(o,c,m),o=o.sibling}function j1(o,c,m){var b=o.tag;if(b===5||b===6)o=o.stateNode,c?m.insertBefore(o,c):m.appendChild(o);else if(b!==4&&(b===27&&uh(o.type)&&(m=o.stateNode),o=o.child,o!==null))for(j1(o,c,m),o=o.sibling;o!==null;)j1(o,c,m),o=o.sibling}function f8(o){var c=o.stateNode,m=o.memoizedProps;try{for(var b=o.type,D=c.attributes;D.length;)c.removeAttributeNode(D[0]);Us(c,b,m),c[Xn]=o,c[un]=m}catch(P){Yi(o,o.return,P)}}var sc=!1,ns=!1,ub=!1,A8=typeof WeakSet=="function"?WeakSet:Set,Ms=null;function wI(o,c){if(o=o.containerInfo,Nb=f2,o=Ol(o),Il(o)){if("selectionStart"in o)var m={start:o.selectionStart,end:o.selectionEnd};else e:{m=(m=o.ownerDocument)&&m.defaultView||window;var b=m.getSelection&&m.getSelection();if(b&&b.rangeCount!==0){m=b.anchorNode;var D=b.anchorOffset,P=b.focusNode;b=b.focusOffset;try{m.nodeType,P.nodeType}catch{m=null;break e}var $=0,re=-1,we=-1,Je=0,ut=0,St=o,et=null;t:for(;;){for(var tt;St!==m||D!==0&&St.nodeType!==3||(re=$+D),St!==P||b!==0&&St.nodeType!==3||(we=$+b),St.nodeType===3&&($+=St.nodeValue.length),(tt=St.firstChild)!==null;)et=St,St=tt;for(;;){if(St===o)break t;if(et===m&&++Je===D&&(re=$),et===P&&++ut===b&&(we=$),(tt=St.nextSibling)!==null)break;St=et,et=St.parentNode}St=tt}m=re===-1||we===-1?null:{start:re,end:we}}else m=null}m=m||{start:0,end:0}}else m=null;for(Db={focusedElem:o,selectionRange:m},f2=!1,Ms=c;Ms!==null;)if(c=Ms,o=c.child,(c.subtreeFlags&1028)!==0&&o!==null)o.return=c,Ms=o;else for(;Ms!==null;){switch(c=Ms,P=c.alternate,o=c.flags,c.tag){case 0:if((o&4)!==0&&(o=c.updateQueue,o=o!==null?o.events:null,o!==null))for(m=0;m title"))),Us(P,b,m),P[Xn]=o,Ie(P),b=P;break e;case"link":var $=_C("link","href",D).get(b+(m.href||""));if($){for(var re=0;re<$.length;re++)if(P=$[re],P.getAttribute("href")===(m.href==null||m.href===""?null:m.href)&&P.getAttribute("rel")===(m.rel==null?null:m.rel)&&P.getAttribute("title")===(m.title==null?null:m.title)&&P.getAttribute("crossorigin")===(m.crossOrigin==null?null:m.crossOrigin)){$.splice(re,1);break t}}P=D.createElement(b),Us(P,b,m),D.head.appendChild(P);break;case"meta":if($=_C("meta","content",D).get(b+(m.content||""))){for(re=0;re<$.length;re++)if(P=$[re],P.getAttribute("content")===(m.content==null?null:""+m.content)&&P.getAttribute("name")===(m.name==null?null:m.name)&&P.getAttribute("property")===(m.property==null?null:m.property)&&P.getAttribute("http-equiv")===(m.httpEquiv==null?null:m.httpEquiv)&&P.getAttribute("charset")===(m.charSet==null?null:m.charSet)){$.splice(re,1);break t}}P=D.createElement(b),Us(P,b,m),D.head.appendChild(P);break;default:throw Error(n(468,b))}P[Xn]=o,Ie(P),b=P}o.stateNode=b}else yC(D,o.type,o.stateNode);else o.stateNode=vC(D,b,o.memoizedProps);else P!==b?(P===null?m.stateNode!==null&&(m=m.stateNode,m.parentNode.removeChild(m)):P.count--,b===null?yC(D,o.type,o.stateNode):vC(D,b,o.memoizedProps)):b===null&&o.stateNode!==null&&ab(o,o.memoizedProps,m.memoizedProps)}break;case 27:Ua(c,o),Ba(o),b&512&&(ns||m===null||ql(m,m.return)),m!==null&&b&4&&ab(o,o.memoizedProps,m.memoizedProps);break;case 5:if(Ua(c,o),Ba(o),b&512&&(ns||m===null||ql(m,m.return)),o.flags&32){D=o.stateNode;try{pi(D,"")}catch(ln){Yi(o,o.return,ln)}}b&4&&o.stateNode!=null&&(D=o.memoizedProps,ab(o,D,m!==null?m.memoizedProps:D)),b&1024&&(ub=!0);break;case 6:if(Ua(c,o),Ba(o),b&4){if(o.stateNode===null)throw Error(n(162));b=o.memoizedProps,m=o.stateNode;try{m.nodeValue=b}catch(ln){Yi(o,o.return,ln)}}break;case 3:if(l2=null,D=dl,dl=a2(c.containerInfo),Ua(c,o),dl=D,Ba(o),b&4&&m!==null&&m.memoizedState.isDehydrated)try{sd(c.containerInfo)}catch(ln){Yi(o,o.return,ln)}ub&&(ub=!1,y8(o));break;case 4:b=dl,dl=a2(o.stateNode.containerInfo),Ua(c,o),Ba(o),dl=b;break;case 12:Ua(c,o),Ba(o);break;case 31:Ua(c,o),Ba(o),b&4&&(b=o.updateQueue,b!==null&&(o.updateQueue=null,W1(o,b)));break;case 13:Ua(c,o),Ba(o),o.child.flags&8192&&o.memoizedState!==null!=(m!==null&&m.memoizedState!==null)&&(X1=Me()),b&4&&(b=o.updateQueue,b!==null&&(o.updateQueue=null,W1(o,b)));break;case 22:D=o.memoizedState!==null;var we=m!==null&&m.memoizedState!==null,Je=sc,ut=ns;if(sc=Je||D,ns=ut||we,Ua(c,o),ns=ut,sc=Je,Ba(o),b&8192)e:for(c=o.stateNode,c._visibility=D?c._visibility&-2:c._visibility|1,D&&(m===null||we||sc||ns||vf(o)),m=null,c=o;;){if(c.tag===5||c.tag===26){if(m===null){we=m=c;try{if(P=we.stateNode,D)$=P.style,typeof $.setProperty=="function"?$.setProperty("display","none","important"):$.display="none";else{re=we.stateNode;var St=we.memoizedProps.style,et=St!=null&&St.hasOwnProperty("display")?St.display:null;re.style.display=et==null||typeof et=="boolean"?"":(""+et).trim()}}catch(ln){Yi(we,we.return,ln)}}}else if(c.tag===6){if(m===null){we=c;try{we.stateNode.nodeValue=D?"":we.memoizedProps}catch(ln){Yi(we,we.return,ln)}}}else if(c.tag===18){if(m===null){we=c;try{var tt=we.stateNode;D?uC(tt,!0):uC(we.stateNode,!1)}catch(ln){Yi(we,we.return,ln)}}}else if((c.tag!==22&&c.tag!==23||c.memoizedState===null||c===o)&&c.child!==null){c.child.return=c,c=c.child;continue}if(c===o)break e;for(;c.sibling===null;){if(c.return===null||c.return===o)break e;m===c&&(m=null),c=c.return}m===c&&(m=null),c.sibling.return=c.return,c=c.sibling}b&4&&(b=o.updateQueue,b!==null&&(m=b.retryQueue,m!==null&&(b.retryQueue=null,W1(o,m))));break;case 19:Ua(c,o),Ba(o),b&4&&(b=o.updateQueue,b!==null&&(o.updateQueue=null,W1(o,b)));break;case 30:break;case 21:break;default:Ua(c,o),Ba(o)}}function Ba(o){var c=o.flags;if(c&2){try{for(var m,b=o.return;b!==null;){if(h8(b)){m=b;break}b=b.return}if(m==null)throw Error(n(160));switch(m.tag){case 27:var D=m.stateNode,P=ob(o);j1(o,P,D);break;case 5:var $=m.stateNode;m.flags&32&&(pi($,""),m.flags&=-33);var re=ob(o);j1(o,re,$);break;case 3:case 4:var we=m.stateNode.containerInfo,Je=ob(o);lb(o,Je,we);break;default:throw Error(n(161))}}catch(ut){Yi(o,o.return,ut)}o.flags&=-3}c&4096&&(o.flags&=-4097)}function y8(o){if(o.subtreeFlags&1024)for(o=o.child;o!==null;){var c=o;y8(c),c.tag===5&&c.flags&1024&&c.stateNode.reset(),o=o.sibling}}function oc(o,c){if(c.subtreeFlags&8772)for(c=c.child;c!==null;)d8(o,c.alternate,c),c=c.sibling}function vf(o){for(o=o.child;o!==null;){var c=o;switch(c.tag){case 0:case 11:case 14:case 15:nh(4,c,c.return),vf(c);break;case 1:ql(c,c.return);var m=c.stateNode;typeof m.componentWillUnmount=="function"&&u8(c,c.return,m),vf(c);break;case 27:zp(c.stateNode);case 26:case 5:ql(c,c.return),vf(c);break;case 22:c.memoizedState===null&&vf(c);break;case 30:vf(c);break;default:vf(c)}o=o.sibling}}function lc(o,c,m){for(m=m&&(c.subtreeFlags&8772)!==0,c=c.child;c!==null;){var b=c.alternate,D=o,P=c,$=P.flags;switch(P.tag){case 0:case 11:case 15:lc(D,P,m),Np(4,P);break;case 1:if(lc(D,P,m),b=P,D=b.stateNode,typeof D.componentDidMount=="function")try{D.componentDidMount()}catch(Je){Yi(b,b.return,Je)}if(b=P,D=b.updateQueue,D!==null){var re=b.stateNode;try{var we=D.shared.hiddenCallbacks;if(we!==null)for(D.shared.hiddenCallbacks=null,D=0;Der&&($=er,er=Dn,Dn=$);var Ve=LA(re,Dn),Ue=LA(re,er);if(Ve&&Ue&&(tt.rangeCount!==1||tt.anchorNode!==Ve.node||tt.anchorOffset!==Ve.offset||tt.focusNode!==Ue.node||tt.focusOffset!==Ue.offset)){var Ke=St.createRange();Ke.setStart(Ve.node,Ve.offset),tt.removeAllRanges(),Dn>er?(tt.addRange(Ke),tt.extend(Ue.node,Ue.offset)):(Ke.setEnd(Ue.node,Ue.offset),tt.addRange(Ke))}}}}for(St=[],tt=re;tt=tt.parentNode;)tt.nodeType===1&&St.push({element:tt,left:tt.scrollLeft,top:tt.scrollTop});for(typeof re.focus=="function"&&re.focus(),re=0;rem?32:m,Q.T=null,m=mb,mb=null;var P=ah,$=cc;if(ds=0,ZA=ah=null,cc=0,(Oi&6)!==0)throw Error(n(331));var re=Oi;if(Oi|=4,T8(P.current),x8(P,P.current,$,m),Oi=re,Ip(0,!1),jt&&typeof jt.onPostCommitFiberRoot=="function")try{jt.onPostCommitFiberRoot(sn,P)}catch{}return!0}finally{le.p=D,Q.T=b,q8(o,c)}}function H8(o,c,m){c=Ca(m,c),c=Yx(o.stateNode,c,2),o=Xe(o,c,2),o!==null&&($i(o,2),Vl(o))}function Yi(o,c,m){if(o.tag===3)H8(o,o,m);else for(;c!==null;){if(c.tag===3){H8(c,o,m);break}else if(c.tag===1){var b=c.stateNode;if(typeof c.type.getDerivedStateFromError=="function"||typeof b.componentDidCatch=="function"&&(sh===null||!sh.has(b))){o=Ca(m,o),m=j4(2),b=Xe(c,m,2),b!==null&&(W4(m,b,c,o),$i(b,2),Vl(b));break}}c=c.return}}function yb(o,c,m){var b=o.pingCache;if(b===null){b=o.pingCache=new CI;var D=new Set;b.set(c,D)}else D=b.get(c),D===void 0&&(D=new Set,b.set(c,D));D.has(m)||(fb=!0,D.add(m),o=LI.bind(null,o,c,m),c.then(o,o))}function LI(o,c,m){var b=o.pingCache;b!==null&&b.delete(c),o.pingedLanes|=o.suspendedLanes&m,o.warmLanes&=~m,or===o&&(xi&m)===m&&(Or===4||Or===3&&(xi&62914560)===xi&&300>Me()-X1?(Oi&2)===0&&JA(o,0):Ab|=m,KA===xi&&(KA=0)),Vl(o)}function j8(o,c){c===0&&(c=rr()),o=ju(o,c),o!==null&&($i(o,c),Vl(o))}function UI(o){var c=o.memoizedState,m=0;c!==null&&(m=c.retryLane),j8(o,m)}function BI(o,c){var m=0;switch(o.tag){case 31:case 13:var b=o.stateNode,D=o.memoizedState;D!==null&&(m=D.retryLane);break;case 19:b=o.stateNode;break;case 22:b=o.stateNode._retryCache;break;default:throw Error(n(314))}b!==null&&b.delete(c),j8(o,m)}function OI(o,c){return _t(o,c)}var t2=null,td=null,xb=!1,n2=!1,bb=!1,lh=0;function Vl(o){o!==td&&o.next===null&&(td===null?t2=td=o:td=td.next=o),n2=!0,xb||(xb=!0,FI())}function Ip(o,c){if(!bb&&n2){bb=!0;do for(var m=!1,b=t2;b!==null;){if(o!==0){var D=b.pendingLanes;if(D===0)var P=0;else{var $=b.suspendedLanes,re=b.pingedLanes;P=(1<<31-qt(42|o)+1)-1,P&=D&~($&~re),P=P&201326741?P&201326741|1:P?P|2:0}P!==0&&(m=!0,Y8(b,P))}else P=xi,P=zt(b,b===or?P:0,b.cancelPendingCommit!==null||b.timeoutHandle!==-1),(P&3)===0||xn(b,P)||(m=!0,Y8(b,P));b=b.next}while(m);bb=!1}}function II(){W8()}function W8(){n2=xb=!1;var o=0;lh!==0&&XI()&&(o=lh);for(var c=Me(),m=null,b=t2;b!==null;){var D=b.next,P=$8(b,c);P===0?(b.next=null,m===null?t2=D:m.next=D,D===null&&(td=m)):(m=b,(o!==0||(P&3)!==0)&&(n2=!0)),b=D}ds!==0&&ds!==5||Ip(o),lh!==0&&(lh=0)}function $8(o,c){for(var m=o.suspendedLanes,b=o.pingedLanes,D=o.expirationTimes,P=o.pendingLanes&-62914561;0re)break;var ut=we.transferSize,St=we.initiatorType;ut&&iC(St)&&(we=we.responseEnd,$+=ut*(we"u"?null:document;function pC(o,c,m){var b=nd;if(b&&typeof c=="string"&&c){var D=at(c);D='link[rel="'+o+'"][href="'+D+'"]',typeof m=="string"&&(D+='[crossorigin="'+m+'"]'),dC.has(D)||(dC.add(D),o={rel:o,crossOrigin:m,href:c},b.querySelector(D)===null&&(c=b.createElement("link"),Us(c,"link",o),Ie(c),b.head.appendChild(c)))}}function iF(o){hc.D(o),pC("dns-prefetch",o,null)}function rF(o,c){hc.C(o,c),pC("preconnect",o,c)}function sF(o,c,m){hc.L(o,c,m);var b=nd;if(b&&o&&c){var D='link[rel="preload"][as="'+at(c)+'"]';c==="image"&&m&&m.imageSrcSet?(D+='[imagesrcset="'+at(m.imageSrcSet)+'"]',typeof m.imageSizes=="string"&&(D+='[imagesizes="'+at(m.imageSizes)+'"]')):D+='[href="'+at(o)+'"]';var P=D;switch(c){case"style":P=id(o);break;case"script":P=rd(o)}Go.has(P)||(o=v({rel:"preload",href:c==="image"&&m&&m.imageSrcSet?void 0:o,as:c},m),Go.set(P,o),b.querySelector(D)!==null||c==="style"&&b.querySelector(Gp(P))||c==="script"&&b.querySelector(qp(P))||(c=b.createElement("link"),Us(c,"link",o),Ie(c),b.head.appendChild(c)))}}function aF(o,c){hc.m(o,c);var m=nd;if(m&&o){var b=c&&typeof c.as=="string"?c.as:"script",D='link[rel="modulepreload"][as="'+at(b)+'"][href="'+at(o)+'"]',P=D;switch(b){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":P=rd(o)}if(!Go.has(P)&&(o=v({rel:"modulepreload",href:o},c),Go.set(P,o),m.querySelector(D)===null)){switch(b){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(m.querySelector(qp(P)))return}b=m.createElement("link"),Us(b,"link",o),Ie(b),m.head.appendChild(b)}}}function oF(o,c,m){hc.S(o,c,m);var b=nd;if(b&&o){var D=$e(b).hoistableStyles,P=id(o);c=c||"default";var $=D.get(P);if(!$){var re={loading:0,preload:null};if($=b.querySelector(Gp(P)))re.loading=5;else{o=v({rel:"stylesheet",href:o,"data-precedence":c},m),(m=Go.get(P))&&Fb(o,m);var we=$=b.createElement("link");Ie(we),Us(we,"link",o),we._p=new Promise(function(Je,ut){we.onload=Je,we.onerror=ut}),we.addEventListener("load",function(){re.loading|=1}),we.addEventListener("error",function(){re.loading|=2}),re.loading|=4,o2($,c,b)}$={type:"stylesheet",instance:$,count:1,state:re},D.set(P,$)}}}function lF(o,c){hc.X(o,c);var m=nd;if(m&&o){var b=$e(m).hoistableScripts,D=rd(o),P=b.get(D);P||(P=m.querySelector(qp(D)),P||(o=v({src:o,async:!0},c),(c=Go.get(D))&&kb(o,c),P=m.createElement("script"),Ie(P),Us(P,"link",o),m.head.appendChild(P)),P={type:"script",instance:P,count:1,state:null},b.set(D,P))}}function uF(o,c){hc.M(o,c);var m=nd;if(m&&o){var b=$e(m).hoistableScripts,D=rd(o),P=b.get(D);P||(P=m.querySelector(qp(D)),P||(o=v({src:o,async:!0,type:"module"},c),(c=Go.get(D))&&kb(o,c),P=m.createElement("script"),Ie(P),Us(P,"link",o),m.head.appendChild(P)),P={type:"script",instance:P,count:1,state:null},b.set(D,P))}}function mC(o,c,m,b){var D=(D=ye.current)?a2(D):null;if(!D)throw Error(n(446));switch(o){case"meta":case"title":return null;case"style":return typeof m.precedence=="string"&&typeof m.href=="string"?(c=id(m.href),m=$e(D).hoistableStyles,b=m.get(c),b||(b={type:"style",instance:null,count:0,state:null},m.set(c,b)),b):{type:"void",instance:null,count:0,state:null};case"link":if(m.rel==="stylesheet"&&typeof m.href=="string"&&typeof m.precedence=="string"){o=id(m.href);var P=$e(D).hoistableStyles,$=P.get(o);if($||(D=D.ownerDocument||D,$={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},P.set(o,$),(P=D.querySelector(Gp(o)))&&!P._p&&($.instance=P,$.state.loading=5),Go.has(o)||(m={rel:"preload",as:"style",href:m.href,crossOrigin:m.crossOrigin,integrity:m.integrity,media:m.media,hrefLang:m.hrefLang,referrerPolicy:m.referrerPolicy},Go.set(o,m),P||cF(D,o,m,$.state))),c&&b===null)throw Error(n(528,""));return $}if(c&&b!==null)throw Error(n(529,""));return null;case"script":return c=m.async,m=m.src,typeof m=="string"&&c&&typeof c!="function"&&typeof c!="symbol"?(c=rd(m),m=$e(D).hoistableScripts,b=m.get(c),b||(b={type:"script",instance:null,count:0,state:null},m.set(c,b)),b):{type:"void",instance:null,count:0,state:null};default:throw Error(n(444,o))}}function id(o){return'href="'+at(o)+'"'}function Gp(o){return'link[rel="stylesheet"]['+o+"]"}function gC(o){return v({},o,{"data-precedence":o.precedence,precedence:null})}function cF(o,c,m,b){o.querySelector('link[rel="preload"][as="style"]['+c+"]")?b.loading=1:(c=o.createElement("link"),b.preload=c,c.addEventListener("load",function(){return b.loading|=1}),c.addEventListener("error",function(){return b.loading|=2}),Us(c,"link",m),Ie(c),o.head.appendChild(c))}function rd(o){return'[src="'+at(o)+'"]'}function qp(o){return"script[async]"+o}function vC(o,c,m){if(c.count++,c.instance===null)switch(c.type){case"style":var b=o.querySelector('style[data-href~="'+at(m.href)+'"]');if(b)return c.instance=b,Ie(b),b;var D=v({},m,{"data-href":m.href,"data-precedence":m.precedence,href:null,precedence:null});return b=(o.ownerDocument||o).createElement("style"),Ie(b),Us(b,"style",D),o2(b,m.precedence,o),c.instance=b;case"stylesheet":D=id(m.href);var P=o.querySelector(Gp(D));if(P)return c.state.loading|=4,c.instance=P,Ie(P),P;b=gC(m),(D=Go.get(D))&&Fb(b,D),P=(o.ownerDocument||o).createElement("link"),Ie(P);var $=P;return $._p=new Promise(function(re,we){$.onload=re,$.onerror=we}),Us(P,"link",b),c.state.loading|=4,o2(P,m.precedence,o),c.instance=P;case"script":return P=rd(m.src),(D=o.querySelector(qp(P)))?(c.instance=D,Ie(D),D):(b=m,(D=Go.get(P))&&(b=v({},m),kb(b,D)),o=o.ownerDocument||o,D=o.createElement("script"),Ie(D),Us(D,"link",b),o.head.appendChild(D),c.instance=D);case"void":return null;default:throw Error(n(443,c.type))}else c.type==="stylesheet"&&(c.state.loading&4)===0&&(b=c.instance,c.state.loading|=4,o2(b,m.precedence,o));return c.instance}function o2(o,c,m){for(var b=m.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),D=b.length?b[b.length-1]:null,P=D,$=0;$ title"):null)}function hF(o,c,m){if(m===1||c.itemProp!=null)return!1;switch(o){case"meta":case"title":return!0;case"style":if(typeof c.precedence!="string"||typeof c.href!="string"||c.href==="")break;return!0;case"link":if(typeof c.rel!="string"||typeof c.href!="string"||c.href===""||c.onLoad||c.onError)break;switch(c.rel){case"stylesheet":return o=c.disabled,typeof c.precedence=="string"&&o==null;default:return!0}case"script":if(c.async&&typeof c.async!="function"&&typeof c.async!="symbol"&&!c.onLoad&&!c.onError&&c.src&&typeof c.src=="string")return!0}return!1}function xC(o){return!(o.type==="stylesheet"&&(o.state.loading&3)===0)}function fF(o,c,m,b){if(m.type==="stylesheet"&&(typeof b.media!="string"||matchMedia(b.media).matches!==!1)&&(m.state.loading&4)===0){if(m.instance===null){var D=id(b.href),P=c.querySelector(Gp(D));if(P){c=P._p,c!==null&&typeof c=="object"&&typeof c.then=="function"&&(o.count++,o=u2.bind(o),c.then(o,o)),m.state.loading|=4,m.instance=P,Ie(P);return}P=c.ownerDocument||c,b=gC(b),(D=Go.get(D))&&Fb(b,D),P=P.createElement("link"),Ie(P);var $=P;$._p=new Promise(function(re,we){$.onload=re,$.onerror=we}),Us(P,"link",b),m.instance=P}o.stylesheets===null&&(o.stylesheets=new Map),o.stylesheets.set(m,c),(c=m.state.preload)&&(m.state.loading&3)===0&&(o.count++,m=u2.bind(o),c.addEventListener("load",m),c.addEventListener("error",m))}}var zb=0;function AF(o,c){return o.stylesheets&&o.count===0&&h2(o,o.stylesheets),0zb?50:800)+c);return o.unsuspend=m,function(){o.unsuspend=null,clearTimeout(b),clearTimeout(D)}}:null}function u2(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)h2(this,this.stylesheets);else if(this.unsuspend){var o=this.unsuspend;this.unsuspend=null,o()}}}var c2=null;function h2(o,c){o.stylesheets=null,o.unsuspend!==null&&(o.count++,c2=new Map,c.forEach(dF,o),c2=null,u2.call(o))}function dF(o,c){if(!(c.state.loading&4)){var m=c2.get(o);if(m)var b=m.get(null);else{m=new Map,c2.set(o,m);for(var D=o.querySelectorAll("link[data-precedence],style[data-precedence]"),P=0;P"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(e){console.error(e)}}return i(),Xb.exports=NF(),Xb.exports}var PF=DF(),Le=_w();const LF=b7(Le);/** * @license * Copyright 2010-2024 Three.js Authors @@ -89,7 +89,7 @@ Error generating stack: `+b.message+` gl_FragColor = texture2D( tEquirect, sampleUV ); } - `},r=new $h(5,5,5),s=new Ja({name:"CubemapFromEquirect",uniforms:E0(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:hr,blending:Qa});s.uniforms.tEquirect.value=t;const a=new zi(r,s),l=t.minFilter;return t.minFilter===Va&&(t.minFilter=gs),new q7(1,10,this).update(e,a),t.minFilter=l,a.geometry.dispose(),a.material.dispose(),this}clear(e,t,n,r){const s=e.getRenderTarget();for(let a=0;a<6;a++)e.setRenderTarget(this,a),e.clear(t,n,r);e.setRenderTarget(s)}}class Yw extends vr{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new la,this.environmentIntensity=1,this.environmentRotation=new la,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,this.backgroundRotation.copy(e.backgroundRotation),this.environmentIntensity=e.environmentIntensity,this.environmentRotation.copy(e.environmentRotation),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(t.object.environmentIntensity=this.environmentIntensity),t.object.environmentRotation=this.environmentRotation.toArray(),t}}class Qw{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=o_,this.updateRanges=[],this.version=0,this.uuid=ou()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,n){e*=this.stride,n*=t.stride;for(let r=0,s=this.stride;r1?null:t.copy(e.start).addScaledVector(n,s)}intersectsLine(e){const t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){const n=t||Xk.getNormalMatrix(e),r=this.coplanarPoint(v3).applyMatrix4(e),s=this.normal.applyMatrix3(n).normalize();return this.constant=-r.dot(s),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}}const Sf=new dA,O2=new ce;class Fg{constructor(e=new Yl,t=new Yl,n=new Yl,r=new Yl,s=new Yl,a=new Yl){this.planes=[e,t,n,r,s,a]}set(e,t,n,r,s,a){const l=this.planes;return l[0].copy(e),l[1].copy(t),l[2].copy(n),l[3].copy(r),l[4].copy(s),l[5].copy(a),this}copy(e){const t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e,t=Ha){const n=this.planes,r=e.elements,s=r[0],a=r[1],l=r[2],u=r[3],h=r[4],g=r[5],v=r[6],x=r[7],S=r[8],w=r[9],R=r[10],C=r[11],E=r[12],B=r[13],L=r[14],O=r[15];if(n[0].setComponents(u-s,x-h,C-S,O-E).normalize(),n[1].setComponents(u+s,x+h,C+S,O+E).normalize(),n[2].setComponents(u+a,x+g,C+w,O+B).normalize(),n[3].setComponents(u-a,x-g,C-w,O-B).normalize(),n[4].setComponents(u-l,x-v,C-R,O-L).normalize(),t===Ha)n[5].setComponents(u+l,x+v,C+R,O+L).normalize();else if(t===pu)n[5].setComponents(l,v,R,L).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),Sf.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),Sf.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Sf)}intersectsSprite(e){return Sf.center.set(0,0,0),Sf.radius=.7071067811865476,Sf.applyMatrix4(e.matrixWorld),this.intersectsSphere(Sf)}intersectsSphere(e){const t=this.planes,n=e.center,r=-e.radius;for(let s=0;s<6;s++)if(t[s].distanceToPoint(n)0?e.max.x:e.min.x,O2.y=r.normal.y>0?e.max.y:e.min.y,O2.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(O2)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}class $0 extends ua{constructor(e){super(),this.isLineBasicMaterial=!0,this.type="LineBasicMaterial",this.color=new an(16777215),this.map=null,this.linewidth=1,this.linecap="round",this.linejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.linewidth=e.linewidth,this.linecap=e.linecap,this.linejoin=e.linejoin,this.fog=e.fog,this}}const l_=new ce,u_=new ce,h5=new kn,Jp=new Og,I2=new dA,_3=new ce,f5=new ce;class xy extends vr{constructor(e=new Ki,t=new $0){super(),this.isLine=!0,this.type="Line",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,n=[0];for(let r=1,s=t.count;r0){const r=t[n[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,a=r.length;sn)return;_3.applyMatrix4(i.matrixWorld);const u=e.ray.origin.distanceTo(_3);if(!(ue.far))return{distance:u,point:f5.clone().applyMatrix4(i.matrixWorld),index:r,face:null,faceIndex:null,barycoord:null,object:i}}const A5=new ce,d5=new ce;class H7 extends xy{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,n=[];for(let r=0,s=t.count;r0){const r=t[n[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,a=r.length;sr.far)return;s.push({distance:h,distanceToRay:Math.sqrt(l),point:u,index:e,face:null,faceIndex:null,barycoord:null,object:a})}}let ja=class extends vr{constructor(){super(),this.isGroup=!0,this.type="Group"}};class j7 extends vs{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=mr,this.minFilter=mr,this.generateMipmaps=!1,this.needsUpdate=!0}}class qc extends vs{constructor(e,t,n,r,s,a,l,u,h,g=au){if(g!==au&&g!==du)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");n===void 0&&g===au&&(n=Rr),n===void 0&&g===du&&(n=Au),super(null,r,s,a,l,u,g,n,h),this.isDepthTexture=!0,this.image={width:e,height:t},this.magFilter=l!==void 0?l:mr,this.minFilter=u!==void 0?u:mr,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.compareFunction=e.compareFunction,this}toJSON(e){const t=super.toJSON(e);return this.compareFunction!==null&&(t.compareFunction=this.compareFunction),t}}class Pl{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,t){const n=this.getUtoTmapping(e);return this.getPoint(n,t)}getPoints(e=5){const t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));return t}getSpacedPoints(e=5){const t=[];for(let n=0;n<=e;n++)t.push(this.getPointAt(n/e));return t}getLength(){const e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const t=[];let n,r=this.getPoint(0),s=0;t.push(0);for(let a=1;a<=e;a++)n=this.getPoint(a/e),s+=n.distanceTo(r),t.push(s),r=n;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,t){const n=this.getLengths();let r=0;const s=n.length;let a;t?a=t:a=e*n[s-1];let l=0,u=s-1,h;for(;l<=u;)if(r=Math.floor(l+(u-l)/2),h=n[r]-a,h<0)l=r+1;else if(h>0)u=r-1;else{u=r;break}if(r=u,n[r]===a)return r/(s-1);const g=n[r],x=n[r+1]-g,S=(a-g)/x;return(r+S)/(s-1)}getTangent(e,t){let r=e-1e-4,s=e+1e-4;r<0&&(r=0),s>1&&(s=1);const a=this.getPoint(r),l=this.getPoint(s),u=t||(a.isVector2?new ft:new ce);return u.copy(l).sub(a).normalize(),u}getTangentAt(e,t){const n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t){const n=new ce,r=[],s=[],a=[],l=new ce,u=new kn;for(let S=0;S<=e;S++){const w=S/e;r[S]=this.getTangentAt(w,new ce)}s[0]=new ce,a[0]=new ce;let h=Number.MAX_VALUE;const g=Math.abs(r[0].x),v=Math.abs(r[0].y),x=Math.abs(r[0].z);g<=h&&(h=g,n.set(1,0,0)),v<=h&&(h=v,n.set(0,1,0)),x<=h&&n.set(0,0,1),l.crossVectors(r[0],n).normalize(),s[0].crossVectors(r[0],l),a[0].crossVectors(r[0],s[0]);for(let S=1;S<=e;S++){if(s[S]=s[S-1].clone(),a[S]=a[S-1].clone(),l.crossVectors(r[S-1],r[S]),l.length()>Number.EPSILON){l.normalize();const w=Math.acos(ni(r[S-1].dot(r[S]),-1,1));s[S].applyMatrix4(u.makeRotationAxis(l,w))}a[S].crossVectors(r[S],s[S])}if(t===!0){let S=Math.acos(ni(s[0].dot(s[e]),-1,1));S/=e,r[0].dot(l.crossVectors(s[0],s[e]))>0&&(S=-S);for(let w=1;w<=e;w++)s[w].applyMatrix4(u.makeRotationAxis(r[w],S*w)),a[w].crossVectors(r[w],s[w])}return{tangents:r,normals:s,binormals:a}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}class Zw extends Pl{constructor(e=0,t=0,n=1,r=1,s=0,a=Math.PI*2,l=!1,u=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=r,this.aStartAngle=s,this.aEndAngle=a,this.aClockwise=l,this.aRotation=u}getPoint(e,t=new ft){const n=t,r=Math.PI*2;let s=this.aEndAngle-this.aStartAngle;const a=Math.abs(s)r;)s-=r;s0?0:(Math.floor(Math.abs(l)/s)+1)*s:u===0&&l===s-1&&(l=s-2,u=1);let h,g;this.closed||l>0?h=r[(l-1)%s]:(G2.subVectors(r[0],r[1]).add(r[0]),h=G2);const v=r[l%s],x=r[(l+1)%s];if(this.closed||l+2r.length-2?r.length-1:a+1],v=r[a>r.length-3?r.length-1:a+2];return n.set(g5(l,u.x,h.x,g.x,v.x),g5(l,u.y,h.y,g.y,v.y)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t=n){const a=r[s]-n,l=this.curves[s],u=l.getLength(),h=u===0?0:1-a/u;return l.getPointAt(h,t)}s++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let n=0,r=this.curves.length;n1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,n=e.curves.length;t0){const v=h.getPoint(0);v.equals(this.currentPoint)||this.lineTo(v.x,v.y)}this.curves.push(h);const g=h.getPoint(1);return this.currentPoint.copy(g),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}};class by extends Ki{constructor(e=1,t=32,n=0,r=Math.PI*2){super(),this.type="CircleGeometry",this.parameters={radius:e,segments:t,thetaStart:n,thetaLength:r},t=Math.max(3,t);const s=[],a=[],l=[],u=[],h=new ce,g=new ft;a.push(0,0,0),l.push(0,0,1),u.push(.5,.5);for(let v=0,x=3;v<=t;v++,x+=3){const S=n+v/t*r;h.x=e*Math.cos(S),h.y=e*Math.sin(S),a.push(h.x,h.y,h.z),l.push(0,0,1),g.x=(a[x]/e+1)/2,g.y=(a[x+1]/e+1)/2,u.push(g.x,g.y)}for(let v=1;v<=t;v++)s.push(v,v+1,0);this.setIndex(s),this.setAttribute("position",new wi(a,3)),this.setAttribute("normal",new wi(l,3)),this.setAttribute("uv",new wi(u,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new by(e.radius,e.segments,e.thetaStart,e.thetaLength)}}class eM extends Ki{constructor(e=1,t=1,n=1,r=32,s=1,a=!1,l=0,u=Math.PI*2){super(),this.type="CylinderGeometry",this.parameters={radiusTop:e,radiusBottom:t,height:n,radialSegments:r,heightSegments:s,openEnded:a,thetaStart:l,thetaLength:u};const h=this;r=Math.floor(r),s=Math.floor(s);const g=[],v=[],x=[],S=[];let w=0;const R=[],C=n/2;let E=0;B(),a===!1&&(e>0&&L(!0),t>0&&L(!1)),this.setIndex(g),this.setAttribute("position",new wi(v,3)),this.setAttribute("normal",new wi(x,3)),this.setAttribute("uv",new wi(S,2));function B(){const O=new ce,z=new ce;let G=0;const k=(t-e)/n;for(let H=0;H<=s;H++){const F=[],V=H/s,Y=V*(t-e)+e;for(let ee=0;ee<=r;ee++){const ne=ee/r,se=ne*u+l,te=Math.sin(se),Q=Math.cos(se);z.x=Y*te,z.y=-V*n+C,z.z=Y*Q,v.push(z.x,z.y,z.z),O.set(te,k,Q).normalize(),x.push(O.x,O.y,O.z),S.push(ne,1-V),F.push(w++)}R.push(F)}for(let H=0;H0||F!==0)&&(g.push(V,Y,ne),G+=3),(t>0||F!==s-1)&&(g.push(Y,ee,ne),G+=3)}h.addGroup(E,G,0),E+=G}function L(O){const z=w,G=new ft,k=new ce;let H=0;const F=O===!0?e:t,V=O===!0?1:-1;for(let ee=1;ee<=r;ee++)v.push(0,C*V,0),x.push(0,V,0),S.push(.5,.5),w++;const Y=w;for(let ee=0;ee<=r;ee++){const se=ee/r*u+l,te=Math.cos(se),Q=Math.sin(se);k.x=F*Q,k.y=C*V,k.z=F*te,v.push(k.x,k.y,k.z),x.push(0,V,0),G.x=te*.5+.5,G.y=Q*.5*V+.5,S.push(G.x,G.y),w++}for(let ee=0;ee80*t){l=h=i[0],u=g=i[1];for(let w=t;wh&&(h=v),x>g&&(g=x);S=Math.max(h-l,g-u),S=S!==0?32767/S:0}return ag(s,a,t,l,u,S,0),a}};function Z7(i,e,t,n,r){let s,a;if(r===Sz(i,e,t,n)>0)for(s=e;s=e;s-=n)a=v5(s,i[s],i[s+1],a);return a&&Sy(a,a.next)&&(lg(a),a=a.next),a}function uA(i,e){if(!i)return i;e||(e=i);let t=i,n;do if(n=!1,!t.steiner&&(Sy(t,t.next)||Nr(t.prev,t,t.next)===0)){if(lg(t),t=e=t.prev,t===t.next)break;n=!0}else t=t.next;while(n||t!==e);return e}function ag(i,e,t,n,r,s,a){if(!i)return;!a&&s&&gz(i,n,r,s);let l=i,u,h;for(;i.prev!==i.next;){if(u=i.prev,h=i.next,s?uz(i,n,r,s):lz(i)){e.push(u.i/t|0),e.push(i.i/t|0),e.push(h.i/t|0),lg(i),i=h.next,l=h.next;continue}if(i=h,i===l){a?a===1?(i=cz(uA(i),e,t),ag(i,e,t,n,r,s,2)):a===2&&hz(i,e,t,n,r,s):ag(uA(i),e,t,n,r,s,1);break}}}function lz(i){const e=i.prev,t=i,n=i.next;if(Nr(e,t,n)>=0)return!1;const r=e.x,s=t.x,a=n.x,l=e.y,u=t.y,h=n.y,g=rs?r>a?r:a:s>a?s:a,S=l>u?l>h?l:h:u>h?u:h;let w=n.next;for(;w!==e;){if(w.x>=g&&w.x<=x&&w.y>=v&&w.y<=S&&Vd(r,l,s,u,a,h,w.x,w.y)&&Nr(w.prev,w,w.next)>=0)return!1;w=w.next}return!0}function uz(i,e,t,n){const r=i.prev,s=i,a=i.next;if(Nr(r,s,a)>=0)return!1;const l=r.x,u=s.x,h=a.x,g=r.y,v=s.y,x=a.y,S=lu?l>h?l:h:u>h?u:h,C=g>v?g>x?g:x:v>x?v:x,E=YS(S,w,e,t,n),B=YS(R,C,e,t,n);let L=i.prevZ,O=i.nextZ;for(;L&&L.z>=E&&O&&O.z<=B;){if(L.x>=S&&L.x<=R&&L.y>=w&&L.y<=C&&L!==r&&L!==a&&Vd(l,g,u,v,h,x,L.x,L.y)&&Nr(L.prev,L,L.next)>=0||(L=L.prevZ,O.x>=S&&O.x<=R&&O.y>=w&&O.y<=C&&O!==r&&O!==a&&Vd(l,g,u,v,h,x,O.x,O.y)&&Nr(O.prev,O,O.next)>=0))return!1;O=O.nextZ}for(;L&&L.z>=E;){if(L.x>=S&&L.x<=R&&L.y>=w&&L.y<=C&&L!==r&&L!==a&&Vd(l,g,u,v,h,x,L.x,L.y)&&Nr(L.prev,L,L.next)>=0)return!1;L=L.prevZ}for(;O&&O.z<=B;){if(O.x>=S&&O.x<=R&&O.y>=w&&O.y<=C&&O!==r&&O!==a&&Vd(l,g,u,v,h,x,O.x,O.y)&&Nr(O.prev,O,O.next)>=0)return!1;O=O.nextZ}return!0}function cz(i,e,t){let n=i;do{const r=n.prev,s=n.next.next;!Sy(r,s)&&J7(r,n,n.next,s)&&og(r,s)&&og(s,r)&&(e.push(r.i/t|0),e.push(n.i/t|0),e.push(s.i/t|0),lg(n),lg(n.next),n=i=s),n=n.next}while(n!==i);return uA(n)}function hz(i,e,t,n,r,s){let a=i;do{let l=a.next.next;for(;l!==a.prev;){if(a.i!==l.i&&yz(a,l)){let u=eD(a,l);a=uA(a,a.next),u=uA(u,u.next),ag(a,e,t,n,r,s,0),ag(u,e,t,n,r,s,0);return}l=l.next}a=a.next}while(a!==i)}function fz(i,e,t,n){const r=[];let s,a,l,u,h;for(s=0,a=e.length;s=t.next.y&&t.next.y!==t.y){const x=t.x+(a-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(x<=s&&x>n&&(n=x,r=t.x=t.x&&t.x>=u&&s!==t.x&&Vd(ar.x||t.x===r.x&&mz(r,t)))&&(r=t,g=v)),t=t.next;while(t!==l);return r}function mz(i,e){return Nr(i.prev,i,e.prev)<0&&Nr(e.next,i,i.next)<0}function gz(i,e,t,n){let r=i;do r.z===0&&(r.z=YS(r.x,r.y,e,t,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==i);r.prevZ.nextZ=null,r.prevZ=null,vz(r)}function vz(i){let e,t,n,r,s,a,l,u,h=1;do{for(t=i,i=null,s=null,a=0;t;){for(a++,n=t,l=0,e=0;e0||u>0&&n;)l!==0&&(u===0||!n||t.z<=n.z)?(r=t,t=t.nextZ,l--):(r=n,n=n.nextZ,u--),s?s.nextZ=r:i=r,r.prevZ=s,s=r;t=n}s.nextZ=null,h*=2}while(a>1);return i}function YS(i,e,t,n,r){return i=(i-t)*r|0,e=(e-n)*r|0,i=(i|i<<8)&16711935,i=(i|i<<4)&252645135,i=(i|i<<2)&858993459,i=(i|i<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,i|e<<1}function _z(i){let e=i,t=i;do(e.x=(i-a)*(s-l)&&(i-a)*(n-l)>=(t-a)*(e-l)&&(t-a)*(s-l)>=(r-a)*(n-l)}function yz(i,e){return i.next.i!==e.i&&i.prev.i!==e.i&&!xz(i,e)&&(og(i,e)&&og(e,i)&&bz(i,e)&&(Nr(i.prev,i,e.prev)||Nr(i,e.prev,e))||Sy(i,e)&&Nr(i.prev,i,i.next)>0&&Nr(e.prev,e,e.next)>0)}function Nr(i,e,t){return(e.y-i.y)*(t.x-e.x)-(e.x-i.x)*(t.y-e.y)}function Sy(i,e){return i.x===e.x&&i.y===e.y}function J7(i,e,t,n){const r=V2(Nr(i,e,t)),s=V2(Nr(i,e,n)),a=V2(Nr(t,n,i)),l=V2(Nr(t,n,e));return!!(r!==s&&a!==l||r===0&&q2(i,t,e)||s===0&&q2(i,n,e)||a===0&&q2(t,i,n)||l===0&&q2(t,e,n))}function q2(i,e,t){return e.x<=Math.max(i.x,t.x)&&e.x>=Math.min(i.x,t.x)&&e.y<=Math.max(i.y,t.y)&&e.y>=Math.min(i.y,t.y)}function V2(i){return i>0?1:i<0?-1:0}function xz(i,e){let t=i;do{if(t.i!==i.i&&t.next.i!==i.i&&t.i!==e.i&&t.next.i!==e.i&&J7(t,t.next,i,e))return!0;t=t.next}while(t!==i);return!1}function og(i,e){return Nr(i.prev,i,i.next)<0?Nr(i,e,i.next)>=0&&Nr(i,i.prev,e)>=0:Nr(i,e,i.prev)<0||Nr(i,i.next,e)<0}function bz(i,e){let t=i,n=!1;const r=(i.x+e.x)/2,s=(i.y+e.y)/2;do t.y>s!=t.next.y>s&&t.next.y!==t.y&&r<(t.next.x-t.x)*(s-t.y)/(t.next.y-t.y)+t.x&&(n=!n),t=t.next;while(t!==i);return n}function eD(i,e){const t=new QS(i.i,i.x,i.y),n=new QS(e.i,e.x,e.y),r=i.next,s=e.prev;return i.next=e,e.prev=i,t.next=r,r.prev=t,n.next=t,t.prev=n,s.next=n,n.prev=s,n}function v5(i,e,t,n){const r=new QS(i,e,t);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function lg(i){i.next.prev=i.prev,i.prev.next=i.next,i.prevZ&&(i.prevZ.nextZ=i.nextZ),i.nextZ&&(i.nextZ.prevZ=i.prevZ)}function QS(i,e,t){this.i=i,this.x=e,this.y=t,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Sz(i,e,t,n){let r=0;for(let s=e,a=t-n;s2&&i[e-1].equals(i[0])&&i.pop()}function y5(i,e){for(let t=0;tNumber.EPSILON){const Me=Math.sqrt(X),Fe=Math.sqrt(yt*yt+fe*fe),ze=it.x-tn/Me,Et=it.y+gt/Me,Rt=he.x-fe/Fe,Ht=he.y+yt/Fe,Xt=((Rt-ze)*fe-(Ht-Et)*yt)/(gt*fe-tn*yt);Ft=ze+gt*Xt-Qe.x,ct=Et+tn*Xt-Qe.y;const _t=Ft*Ft+ct*ct;if(_t<=2)return new ft(Ft,ct);Dt=Math.sqrt(_t/2)}else{let Me=!1;gt>Number.EPSILON?yt>Number.EPSILON&&(Me=!0):gt<-Number.EPSILON?yt<-Number.EPSILON&&(Me=!0):Math.sign(tn)===Math.sign(fe)&&(Me=!0),Me?(Ft=-tn,ct=gt,Dt=Math.sqrt(X)):(Ft=gt,ct=tn,Dt=Math.sqrt(X/2))}return new ft(Ft/Dt,ct/Dt)}const Te=[];for(let Qe=0,it=se.length,he=it-1,Ft=Qe+1;Qe=0;Qe--){const it=Qe/C,he=S*Math.cos(it*Math.PI/2),Ft=w*Math.sin(it*Math.PI/2)+R;for(let ct=0,Dt=se.length;ct=0;){const Ft=he;let ct=he-1;ct<0&&(ct=Qe.length-1);for(let Dt=0,gt=g+C*2;Dt0)&&S.push(L,O,G),(E!==n-1||u0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get dispersion(){return this._dispersion}set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._dispersion=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class nD extends ua{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new an(16777215),this.specular=new an(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new an(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Dc,this.normalScale=new ft(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new la,this.combine=Lg,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class Rz extends ua{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new an(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new an(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Dc,this.normalScale=new ft(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class Nz extends ua{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Dc,this.normalScale=new ft(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class Vc extends ua{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new an(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new an(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Dc,this.normalScale=new ft(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new la,this.combine=Lg,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class Dz extends ua{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=jF,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class Pz extends ua{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}class Lz extends ua{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new an(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Dc,this.normalScale=new ft(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}}class Uz extends $0{constructor(e){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}}const b5={enabled:!1,files:{},add:function(i,e){this.enabled!==!1&&(this.files[i]=e)},get:function(i){if(this.enabled!==!1)return this.files[i]},remove:function(i){delete this.files[i]},clear:function(){this.files={}}};class Bz{constructor(e,t,n){const r=this;let s=!1,a=0,l=0,u;const h=[];this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=n,this.itemStart=function(g){l++,s===!1&&r.onStart!==void 0&&r.onStart(g,a,l),s=!0},this.itemEnd=function(g){a++,r.onProgress!==void 0&&r.onProgress(g,a,l),a===l&&(s=!1,r.onLoad!==void 0&&r.onLoad())},this.itemError=function(g){r.onError!==void 0&&r.onError(g)},this.resolveURL=function(g){return u?u(g):g},this.setURLModifier=function(g){return u=g,this},this.addHandler=function(g,v){return h.push(g,v),this},this.removeHandler=function(g){const v=h.indexOf(g);return v!==-1&&h.splice(v,2),this},this.getHandler=function(g){for(let v=0,x=h.length;vNumber.EPSILON){if(V<0&&(k=B[G],F=-F,H=B[z],V=-V),E.yH.y)continue;if(E.y===k.y){if(E.x===k.x)return!0}else{const Y=V*(E.x-k.x)-F*(E.y-k.y);if(Y===0)return!0;if(Y<0)continue;O=!O}}else{if(E.y!==k.y)continue;if(H.x<=E.x&&E.x<=k.x||k.x<=E.x&&E.x<=H.x)return!0}}return O}const r=t0.isClockWise,s=this.subPaths;if(s.length===0)return[];let a,l,u;const h=[];if(s.length===1)return l=s[0],u=new Gv,u.curves=l.curves,h.push(u),h;let g=!r(s[0].getPoints());g=e?!g:g;const v=[],x=[];let S=[],w=0,R;x[w]=void 0,S[w]=[];for(let E=0,B=s.length;E1){let E=!1,B=0;for(let L=0,O=x.length;L0&&E===!1&&(S=v)}let C;for(let E=0,B=x.length;E0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(t.object.environmentIntensity=this.environmentIntensity),t.object.environmentRotation=this.environmentRotation.toArray(),t}}class Qw{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=o_,this.updateRanges=[],this.version=0,this.uuid=ou()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,n){e*=this.stride,n*=t.stride;for(let r=0,s=this.stride;r1?null:t.copy(e.start).addScaledVector(n,s)}intersectsLine(e){const t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){const n=t||Xk.getNormalMatrix(e),r=this.coplanarPoint(v3).applyMatrix4(e),s=this.normal.applyMatrix3(n).normalize();return this.constant=-r.dot(s),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}}const Sf=new dA,O2=new ce;class Fg{constructor(e=new Yl,t=new Yl,n=new Yl,r=new Yl,s=new Yl,a=new Yl){this.planes=[e,t,n,r,s,a]}set(e,t,n,r,s,a){const l=this.planes;return l[0].copy(e),l[1].copy(t),l[2].copy(n),l[3].copy(r),l[4].copy(s),l[5].copy(a),this}copy(e){const t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e,t=Ha){const n=this.planes,r=e.elements,s=r[0],a=r[1],l=r[2],u=r[3],h=r[4],g=r[5],v=r[6],x=r[7],S=r[8],w=r[9],R=r[10],C=r[11],E=r[12],B=r[13],L=r[14],O=r[15];if(n[0].setComponents(u-s,x-h,C-S,O-E).normalize(),n[1].setComponents(u+s,x+h,C+S,O+E).normalize(),n[2].setComponents(u+a,x+g,C+w,O+B).normalize(),n[3].setComponents(u-a,x-g,C-w,O-B).normalize(),n[4].setComponents(u-l,x-v,C-R,O-L).normalize(),t===Ha)n[5].setComponents(u+l,x+v,C+R,O+L).normalize();else if(t===pu)n[5].setComponents(l,v,R,L).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),Sf.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),Sf.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Sf)}intersectsSprite(e){return Sf.center.set(0,0,0),Sf.radius=.7071067811865476,Sf.applyMatrix4(e.matrixWorld),this.intersectsSphere(Sf)}intersectsSphere(e){const t=this.planes,n=e.center,r=-e.radius;for(let s=0;s<6;s++)if(t[s].distanceToPoint(n)0?e.max.x:e.min.x,O2.y=r.normal.y>0?e.max.y:e.min.y,O2.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(O2)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}class $0 extends ua{constructor(e){super(),this.isLineBasicMaterial=!0,this.type="LineBasicMaterial",this.color=new an(16777215),this.map=null,this.linewidth=1,this.linecap="round",this.linejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.linewidth=e.linewidth,this.linecap=e.linecap,this.linejoin=e.linejoin,this.fog=e.fog,this}}const l_=new ce,u_=new ce,h5=new kn,Jp=new Og,I2=new dA,_3=new ce,f5=new ce;class xy extends vr{constructor(e=new Ki,t=new $0){super(),this.isLine=!0,this.type="Line",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,n=[0];for(let r=1,s=t.count;r0){const r=t[n[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,a=r.length;sn)return;_3.applyMatrix4(i.matrixWorld);const u=e.ray.origin.distanceTo(_3);if(!(ue.far))return{distance:u,point:f5.clone().applyMatrix4(i.matrixWorld),index:r,face:null,faceIndex:null,barycoord:null,object:i}}const A5=new ce,d5=new ce;class H7 extends xy{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,n=[];for(let r=0,s=t.count;r0){const r=t[n[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,a=r.length;sr.far)return;s.push({distance:h,distanceToRay:Math.sqrt(l),point:u,index:e,face:null,faceIndex:null,barycoord:null,object:a})}}let ja=class extends vr{constructor(){super(),this.isGroup=!0,this.type="Group"}};class j7 extends vs{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=mr,this.minFilter=mr,this.generateMipmaps=!1,this.needsUpdate=!0}}class qc extends vs{constructor(e,t,n,r,s,a,l,u,h,g=au){if(g!==au&&g!==du)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");n===void 0&&g===au&&(n=Rr),n===void 0&&g===du&&(n=Au),super(null,r,s,a,l,u,g,n,h),this.isDepthTexture=!0,this.image={width:e,height:t},this.magFilter=l!==void 0?l:mr,this.minFilter=u!==void 0?u:mr,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.compareFunction=e.compareFunction,this}toJSON(e){const t=super.toJSON(e);return this.compareFunction!==null&&(t.compareFunction=this.compareFunction),t}}class Pl{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,t){const n=this.getUtoTmapping(e);return this.getPoint(n,t)}getPoints(e=5){const t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));return t}getSpacedPoints(e=5){const t=[];for(let n=0;n<=e;n++)t.push(this.getPointAt(n/e));return t}getLength(){const e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const t=[];let n,r=this.getPoint(0),s=0;t.push(0);for(let a=1;a<=e;a++)n=this.getPoint(a/e),s+=n.distanceTo(r),t.push(s),r=n;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,t){const n=this.getLengths();let r=0;const s=n.length;let a;t?a=t:a=e*n[s-1];let l=0,u=s-1,h;for(;l<=u;)if(r=Math.floor(l+(u-l)/2),h=n[r]-a,h<0)l=r+1;else if(h>0)u=r-1;else{u=r;break}if(r=u,n[r]===a)return r/(s-1);const g=n[r],x=n[r+1]-g,S=(a-g)/x;return(r+S)/(s-1)}getTangent(e,t){let r=e-1e-4,s=e+1e-4;r<0&&(r=0),s>1&&(s=1);const a=this.getPoint(r),l=this.getPoint(s),u=t||(a.isVector2?new ft:new ce);return u.copy(l).sub(a).normalize(),u}getTangentAt(e,t){const n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t){const n=new ce,r=[],s=[],a=[],l=new ce,u=new kn;for(let S=0;S<=e;S++){const w=S/e;r[S]=this.getTangentAt(w,new ce)}s[0]=new ce,a[0]=new ce;let h=Number.MAX_VALUE;const g=Math.abs(r[0].x),v=Math.abs(r[0].y),x=Math.abs(r[0].z);g<=h&&(h=g,n.set(1,0,0)),v<=h&&(h=v,n.set(0,1,0)),x<=h&&n.set(0,0,1),l.crossVectors(r[0],n).normalize(),s[0].crossVectors(r[0],l),a[0].crossVectors(r[0],s[0]);for(let S=1;S<=e;S++){if(s[S]=s[S-1].clone(),a[S]=a[S-1].clone(),l.crossVectors(r[S-1],r[S]),l.length()>Number.EPSILON){l.normalize();const w=Math.acos(ni(r[S-1].dot(r[S]),-1,1));s[S].applyMatrix4(u.makeRotationAxis(l,w))}a[S].crossVectors(r[S],s[S])}if(t===!0){let S=Math.acos(ni(s[0].dot(s[e]),-1,1));S/=e,r[0].dot(l.crossVectors(s[0],s[e]))>0&&(S=-S);for(let w=1;w<=e;w++)s[w].applyMatrix4(u.makeRotationAxis(r[w],S*w)),a[w].crossVectors(r[w],s[w])}return{tangents:r,normals:s,binormals:a}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}class Zw extends Pl{constructor(e=0,t=0,n=1,r=1,s=0,a=Math.PI*2,l=!1,u=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=r,this.aStartAngle=s,this.aEndAngle=a,this.aClockwise=l,this.aRotation=u}getPoint(e,t=new ft){const n=t,r=Math.PI*2;let s=this.aEndAngle-this.aStartAngle;const a=Math.abs(s)r;)s-=r;s0?0:(Math.floor(Math.abs(l)/s)+1)*s:u===0&&l===s-1&&(l=s-2,u=1);let h,g;this.closed||l>0?h=r[(l-1)%s]:(G2.subVectors(r[0],r[1]).add(r[0]),h=G2);const v=r[l%s],x=r[(l+1)%s];if(this.closed||l+2r.length-2?r.length-1:a+1],v=r[a>r.length-3?r.length-1:a+2];return n.set(g5(l,u.x,h.x,g.x,v.x),g5(l,u.y,h.y,g.y,v.y)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t=n){const a=r[s]-n,l=this.curves[s],u=l.getLength(),h=u===0?0:1-a/u;return l.getPointAt(h,t)}s++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let n=0,r=this.curves.length;n1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,n=e.curves.length;t0){const v=h.getPoint(0);v.equals(this.currentPoint)||this.lineTo(v.x,v.y)}this.curves.push(h);const g=h.getPoint(1);return this.currentPoint.copy(g),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}};class by extends Ki{constructor(e=1,t=32,n=0,r=Math.PI*2){super(),this.type="CircleGeometry",this.parameters={radius:e,segments:t,thetaStart:n,thetaLength:r},t=Math.max(3,t);const s=[],a=[],l=[],u=[],h=new ce,g=new ft;a.push(0,0,0),l.push(0,0,1),u.push(.5,.5);for(let v=0,x=3;v<=t;v++,x+=3){const S=n+v/t*r;h.x=e*Math.cos(S),h.y=e*Math.sin(S),a.push(h.x,h.y,h.z),l.push(0,0,1),g.x=(a[x]/e+1)/2,g.y=(a[x+1]/e+1)/2,u.push(g.x,g.y)}for(let v=1;v<=t;v++)s.push(v,v+1,0);this.setIndex(s),this.setAttribute("position",new wi(a,3)),this.setAttribute("normal",new wi(l,3)),this.setAttribute("uv",new wi(u,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new by(e.radius,e.segments,e.thetaStart,e.thetaLength)}}class eM extends Ki{constructor(e=1,t=1,n=1,r=32,s=1,a=!1,l=0,u=Math.PI*2){super(),this.type="CylinderGeometry",this.parameters={radiusTop:e,radiusBottom:t,height:n,radialSegments:r,heightSegments:s,openEnded:a,thetaStart:l,thetaLength:u};const h=this;r=Math.floor(r),s=Math.floor(s);const g=[],v=[],x=[],S=[];let w=0;const R=[],C=n/2;let E=0;B(),a===!1&&(e>0&&L(!0),t>0&&L(!1)),this.setIndex(g),this.setAttribute("position",new wi(v,3)),this.setAttribute("normal",new wi(x,3)),this.setAttribute("uv",new wi(S,2));function B(){const O=new ce,z=new ce;let G=0;const k=(t-e)/n;for(let H=0;H<=s;H++){const F=[],V=H/s,Y=V*(t-e)+e;for(let ee=0;ee<=r;ee++){const ne=ee/r,se=ne*u+l,te=Math.sin(se),Q=Math.cos(se);z.x=Y*te,z.y=-V*n+C,z.z=Y*Q,v.push(z.x,z.y,z.z),O.set(te,k,Q).normalize(),x.push(O.x,O.y,O.z),S.push(ne,1-V),F.push(w++)}R.push(F)}for(let H=0;H0||F!==0)&&(g.push(V,Y,ne),G+=3),(t>0||F!==s-1)&&(g.push(Y,ee,ne),G+=3)}h.addGroup(E,G,0),E+=G}function L(O){const z=w,G=new ft,k=new ce;let H=0;const F=O===!0?e:t,V=O===!0?1:-1;for(let ee=1;ee<=r;ee++)v.push(0,C*V,0),x.push(0,V,0),S.push(.5,.5),w++;const Y=w;for(let ee=0;ee<=r;ee++){const se=ee/r*u+l,te=Math.cos(se),Q=Math.sin(se);k.x=F*Q,k.y=C*V,k.z=F*te,v.push(k.x,k.y,k.z),x.push(0,V,0),G.x=te*.5+.5,G.y=Q*.5*V+.5,S.push(G.x,G.y),w++}for(let ee=0;ee80*t){l=h=i[0],u=g=i[1];for(let w=t;wh&&(h=v),x>g&&(g=x);S=Math.max(h-l,g-u),S=S!==0?32767/S:0}return ag(s,a,t,l,u,S,0),a}};function Z7(i,e,t,n,r){let s,a;if(r===Sz(i,e,t,n)>0)for(s=e;s=e;s-=n)a=v5(s,i[s],i[s+1],a);return a&&Sy(a,a.next)&&(lg(a),a=a.next),a}function uA(i,e){if(!i)return i;e||(e=i);let t=i,n;do if(n=!1,!t.steiner&&(Sy(t,t.next)||Nr(t.prev,t,t.next)===0)){if(lg(t),t=e=t.prev,t===t.next)break;n=!0}else t=t.next;while(n||t!==e);return e}function ag(i,e,t,n,r,s,a){if(!i)return;!a&&s&&gz(i,n,r,s);let l=i,u,h;for(;i.prev!==i.next;){if(u=i.prev,h=i.next,s?uz(i,n,r,s):lz(i)){e.push(u.i/t|0),e.push(i.i/t|0),e.push(h.i/t|0),lg(i),i=h.next,l=h.next;continue}if(i=h,i===l){a?a===1?(i=cz(uA(i),e,t),ag(i,e,t,n,r,s,2)):a===2&&hz(i,e,t,n,r,s):ag(uA(i),e,t,n,r,s,1);break}}}function lz(i){const e=i.prev,t=i,n=i.next;if(Nr(e,t,n)>=0)return!1;const r=e.x,s=t.x,a=n.x,l=e.y,u=t.y,h=n.y,g=rs?r>a?r:a:s>a?s:a,S=l>u?l>h?l:h:u>h?u:h;let w=n.next;for(;w!==e;){if(w.x>=g&&w.x<=x&&w.y>=v&&w.y<=S&&Vd(r,l,s,u,a,h,w.x,w.y)&&Nr(w.prev,w,w.next)>=0)return!1;w=w.next}return!0}function uz(i,e,t,n){const r=i.prev,s=i,a=i.next;if(Nr(r,s,a)>=0)return!1;const l=r.x,u=s.x,h=a.x,g=r.y,v=s.y,x=a.y,S=lu?l>h?l:h:u>h?u:h,C=g>v?g>x?g:x:v>x?v:x,E=YS(S,w,e,t,n),B=YS(R,C,e,t,n);let L=i.prevZ,O=i.nextZ;for(;L&&L.z>=E&&O&&O.z<=B;){if(L.x>=S&&L.x<=R&&L.y>=w&&L.y<=C&&L!==r&&L!==a&&Vd(l,g,u,v,h,x,L.x,L.y)&&Nr(L.prev,L,L.next)>=0||(L=L.prevZ,O.x>=S&&O.x<=R&&O.y>=w&&O.y<=C&&O!==r&&O!==a&&Vd(l,g,u,v,h,x,O.x,O.y)&&Nr(O.prev,O,O.next)>=0))return!1;O=O.nextZ}for(;L&&L.z>=E;){if(L.x>=S&&L.x<=R&&L.y>=w&&L.y<=C&&L!==r&&L!==a&&Vd(l,g,u,v,h,x,L.x,L.y)&&Nr(L.prev,L,L.next)>=0)return!1;L=L.prevZ}for(;O&&O.z<=B;){if(O.x>=S&&O.x<=R&&O.y>=w&&O.y<=C&&O!==r&&O!==a&&Vd(l,g,u,v,h,x,O.x,O.y)&&Nr(O.prev,O,O.next)>=0)return!1;O=O.nextZ}return!0}function cz(i,e,t){let n=i;do{const r=n.prev,s=n.next.next;!Sy(r,s)&&J7(r,n,n.next,s)&&og(r,s)&&og(s,r)&&(e.push(r.i/t|0),e.push(n.i/t|0),e.push(s.i/t|0),lg(n),lg(n.next),n=i=s),n=n.next}while(n!==i);return uA(n)}function hz(i,e,t,n,r,s){let a=i;do{let l=a.next.next;for(;l!==a.prev;){if(a.i!==l.i&&yz(a,l)){let u=eD(a,l);a=uA(a,a.next),u=uA(u,u.next),ag(a,e,t,n,r,s,0),ag(u,e,t,n,r,s,0);return}l=l.next}a=a.next}while(a!==i)}function fz(i,e,t,n){const r=[];let s,a,l,u,h;for(s=0,a=e.length;s=t.next.y&&t.next.y!==t.y){const x=t.x+(a-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(x<=s&&x>n&&(n=x,r=t.x=t.x&&t.x>=u&&s!==t.x&&Vd(ar.x||t.x===r.x&&mz(r,t)))&&(r=t,g=v)),t=t.next;while(t!==l);return r}function mz(i,e){return Nr(i.prev,i,e.prev)<0&&Nr(e.next,i,i.next)<0}function gz(i,e,t,n){let r=i;do r.z===0&&(r.z=YS(r.x,r.y,e,t,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==i);r.prevZ.nextZ=null,r.prevZ=null,vz(r)}function vz(i){let e,t,n,r,s,a,l,u,h=1;do{for(t=i,i=null,s=null,a=0;t;){for(a++,n=t,l=0,e=0;e0||u>0&&n;)l!==0&&(u===0||!n||t.z<=n.z)?(r=t,t=t.nextZ,l--):(r=n,n=n.nextZ,u--),s?s.nextZ=r:i=r,r.prevZ=s,s=r;t=n}s.nextZ=null,h*=2}while(a>1);return i}function YS(i,e,t,n,r){return i=(i-t)*r|0,e=(e-n)*r|0,i=(i|i<<8)&16711935,i=(i|i<<4)&252645135,i=(i|i<<2)&858993459,i=(i|i<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,i|e<<1}function _z(i){let e=i,t=i;do(e.x=(i-a)*(s-l)&&(i-a)*(n-l)>=(t-a)*(e-l)&&(t-a)*(s-l)>=(r-a)*(n-l)}function yz(i,e){return i.next.i!==e.i&&i.prev.i!==e.i&&!xz(i,e)&&(og(i,e)&&og(e,i)&&bz(i,e)&&(Nr(i.prev,i,e.prev)||Nr(i,e.prev,e))||Sy(i,e)&&Nr(i.prev,i,i.next)>0&&Nr(e.prev,e,e.next)>0)}function Nr(i,e,t){return(e.y-i.y)*(t.x-e.x)-(e.x-i.x)*(t.y-e.y)}function Sy(i,e){return i.x===e.x&&i.y===e.y}function J7(i,e,t,n){const r=V2(Nr(i,e,t)),s=V2(Nr(i,e,n)),a=V2(Nr(t,n,i)),l=V2(Nr(t,n,e));return!!(r!==s&&a!==l||r===0&&q2(i,t,e)||s===0&&q2(i,n,e)||a===0&&q2(t,i,n)||l===0&&q2(t,e,n))}function q2(i,e,t){return e.x<=Math.max(i.x,t.x)&&e.x>=Math.min(i.x,t.x)&&e.y<=Math.max(i.y,t.y)&&e.y>=Math.min(i.y,t.y)}function V2(i){return i>0?1:i<0?-1:0}function xz(i,e){let t=i;do{if(t.i!==i.i&&t.next.i!==i.i&&t.i!==e.i&&t.next.i!==e.i&&J7(t,t.next,i,e))return!0;t=t.next}while(t!==i);return!1}function og(i,e){return Nr(i.prev,i,i.next)<0?Nr(i,e,i.next)>=0&&Nr(i,i.prev,e)>=0:Nr(i,e,i.prev)<0||Nr(i,i.next,e)<0}function bz(i,e){let t=i,n=!1;const r=(i.x+e.x)/2,s=(i.y+e.y)/2;do t.y>s!=t.next.y>s&&t.next.y!==t.y&&r<(t.next.x-t.x)*(s-t.y)/(t.next.y-t.y)+t.x&&(n=!n),t=t.next;while(t!==i);return n}function eD(i,e){const t=new QS(i.i,i.x,i.y),n=new QS(e.i,e.x,e.y),r=i.next,s=e.prev;return i.next=e,e.prev=i,t.next=r,r.prev=t,n.next=t,t.prev=n,s.next=n,n.prev=s,n}function v5(i,e,t,n){const r=new QS(i,e,t);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function lg(i){i.next.prev=i.prev,i.prev.next=i.next,i.prevZ&&(i.prevZ.nextZ=i.nextZ),i.nextZ&&(i.nextZ.prevZ=i.prevZ)}function QS(i,e,t){this.i=i,this.x=e,this.y=t,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Sz(i,e,t,n){let r=0;for(let s=e,a=t-n;s2&&i[e-1].equals(i[0])&&i.pop()}function y5(i,e){for(let t=0;tNumber.EPSILON){const Me=Math.sqrt(X),Fe=Math.sqrt(_t*_t+fe*fe),ze=it.x-tn/Me,Et=it.y+gt/Me,Rt=he.x-fe/Fe,Ht=he.y+_t/Fe,Xt=((Rt-ze)*fe-(Ht-Et)*_t)/(gt*fe-tn*_t);Ft=ze+gt*Xt-Qe.x,ct=Et+tn*Xt-Qe.y;const yt=Ft*Ft+ct*ct;if(yt<=2)return new ft(Ft,ct);Dt=Math.sqrt(yt/2)}else{let Me=!1;gt>Number.EPSILON?_t>Number.EPSILON&&(Me=!0):gt<-Number.EPSILON?_t<-Number.EPSILON&&(Me=!0):Math.sign(tn)===Math.sign(fe)&&(Me=!0),Me?(Ft=-tn,ct=gt,Dt=Math.sqrt(X)):(Ft=gt,ct=tn,Dt=Math.sqrt(X/2))}return new ft(Ft/Dt,ct/Dt)}const Te=[];for(let Qe=0,it=se.length,he=it-1,Ft=Qe+1;Qe=0;Qe--){const it=Qe/C,he=S*Math.cos(it*Math.PI/2),Ft=w*Math.sin(it*Math.PI/2)+R;for(let ct=0,Dt=se.length;ct=0;){const Ft=he;let ct=he-1;ct<0&&(ct=Qe.length-1);for(let Dt=0,gt=g+C*2;Dt0)&&S.push(L,O,G),(E!==n-1||u0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get dispersion(){return this._dispersion}set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._dispersion=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class nD extends ua{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new an(16777215),this.specular=new an(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new an(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Dc,this.normalScale=new ft(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new la,this.combine=Lg,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class Rz extends ua{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new an(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new an(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Dc,this.normalScale=new ft(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class Nz extends ua{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Dc,this.normalScale=new ft(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class Vc extends ua{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new an(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new an(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Dc,this.normalScale=new ft(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new la,this.combine=Lg,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class Dz extends ua{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=jF,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class Pz extends ua{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}class Lz extends ua{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new an(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Dc,this.normalScale=new ft(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}}class Uz extends $0{constructor(e){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}}const b5={enabled:!1,files:{},add:function(i,e){this.enabled!==!1&&(this.files[i]=e)},get:function(i){if(this.enabled!==!1)return this.files[i]},remove:function(i){delete this.files[i]},clear:function(){this.files={}}};class Bz{constructor(e,t,n){const r=this;let s=!1,a=0,l=0,u;const h=[];this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=n,this.itemStart=function(g){l++,s===!1&&r.onStart!==void 0&&r.onStart(g,a,l),s=!0},this.itemEnd=function(g){a++,r.onProgress!==void 0&&r.onProgress(g,a,l),a===l&&(s=!1,r.onLoad!==void 0&&r.onLoad())},this.itemError=function(g){r.onError!==void 0&&r.onError(g)},this.resolveURL=function(g){return u?u(g):g},this.setURLModifier=function(g){return u=g,this},this.addHandler=function(g,v){return h.push(g,v),this},this.removeHandler=function(g){const v=h.indexOf(g);return v!==-1&&h.splice(v,2),this},this.getHandler=function(g){for(let v=0,x=h.length;vNumber.EPSILON){if(V<0&&(k=B[G],F=-F,H=B[z],V=-V),E.yH.y)continue;if(E.y===k.y){if(E.x===k.x)return!0}else{const Y=V*(E.x-k.x)-F*(E.y-k.y);if(Y===0)return!0;if(Y<0)continue;O=!O}}else{if(E.y!==k.y)continue;if(H.x<=E.x&&E.x<=k.x||k.x<=E.x&&E.x<=H.x)return!0}}return O}const r=t0.isClockWise,s=this.subPaths;if(s.length===0)return[];let a,l,u;const h=[];if(s.length===1)return l=s[0],u=new Gv,u.curves=l.curves,h.push(u),h;let g=!r(s[0].getPoints());g=e?!g:g;const v=[],x=[];let S=[],w=0,R;x[w]=void 0,S[w]=[];for(let E=0,B=s.length;E1){let E=!1,B=0;for(let L=0,O=x.length;L0&&E===!1&&(S=v)}let C;for(let E=0,B=x.length;E0,oe=F.clearcoat>0,Me=F.dispersion>0,Fe=F.iridescence>0,ze=F.sheen>0,Et=F.transmission>0,Rt=X&&!!F.anisotropyMap,Ht=oe&&!!F.clearcoatMap,Xt=oe&&!!F.clearcoatNormalMap,_t=oe&&!!F.clearcoatRoughnessMap,Zt=Fe&&!!F.iridescenceMap,sn=Fe&&!!F.iridescenceThicknessMap,jt=ze&&!!F.sheenColorMap,kt=ze&&!!F.sheenRoughnessMap,qt=!!F.specularMap,In=!!F.specularColorMap,Mi=!!F.specularIntensityMap,ge=Et&&!!F.transmissionMap,Wt=Et&&!!F.thicknessMap,nt=!!F.gradientMap,xt=!!F.alphaMap,$t=F.alphaTest>0,zt=!!F.alphaHash,xn=!!F.extensions;let qi=Za;F.toneMapped&&(Pe===null||Pe.isXRRenderTarget===!0)&&(qi=i.toneMapping);const rr={shaderID:Te,shaderType:F.type,shaderName:F.name,vertexShader:We,fragmentShader:Ee,defines:F.defines,customVertexShaderID:Ge,customFragmentShaderID:ye,isRawShaderMaterial:F.isRawShaderMaterial===!0,glslVersion:F.glslVersion,precision:S,batching:Tt,batchingColor:Tt&&ne._colorsTexture!==null,instancing:vt,instancingColor:vt&&ne.instanceColor!==null,instancingMorph:vt&&ne.morphTexture!==null,supportsVertexTextures:x,outputColorSpace:Pe===null?i.outputColorSpace:Pe.isXRRenderTarget===!0?Pe.texture.colorSpace:Ro,alphaToCoverage:!!F.alphaToCoverage,map:It,matcap:Qe,envMap:it,envMapMode:it&&le.mapping,envMapCubeUVHeight:de,aoMap:he,lightMap:Ft,bumpMap:ct,normalMap:Dt,displacementMap:x&>,emissiveMap:tn,normalMapObjectSpace:Dt&&F.normalMapType===B7,normalMapTangentSpace:Dt&&F.normalMapType===Dc,metalnessMap:yt,roughnessMap:fe,anisotropy:X,anisotropyMap:Rt,clearcoat:oe,clearcoatMap:Ht,clearcoatNormalMap:Xt,clearcoatRoughnessMap:_t,dispersion:Me,iridescence:Fe,iridescenceMap:Zt,iridescenceThicknessMap:sn,sheen:ze,sheenColorMap:jt,sheenRoughnessMap:kt,specularMap:qt,specularColorMap:In,specularIntensityMap:Mi,transmission:Et,transmissionMap:ge,thicknessMap:Wt,gradientMap:nt,opaque:F.transparent===!1&&F.blending===Ka&&F.alphaToCoverage===!1,alphaMap:xt,alphaTest:$t,alphaHash:zt,combine:F.combine,mapUv:It&&R(F.map.channel),aoMapUv:he&&R(F.aoMap.channel),lightMapUv:Ft&&R(F.lightMap.channel),bumpMapUv:ct&&R(F.bumpMap.channel),normalMapUv:Dt&&R(F.normalMap.channel),displacementMapUv:gt&&R(F.displacementMap.channel),emissiveMapUv:tn&&R(F.emissiveMap.channel),metalnessMapUv:yt&&R(F.metalnessMap.channel),roughnessMapUv:fe&&R(F.roughnessMap.channel),anisotropyMapUv:Rt&&R(F.anisotropyMap.channel),clearcoatMapUv:Ht&&R(F.clearcoatMap.channel),clearcoatNormalMapUv:Xt&&R(F.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:_t&&R(F.clearcoatRoughnessMap.channel),iridescenceMapUv:Zt&&R(F.iridescenceMap.channel),iridescenceThicknessMapUv:sn&&R(F.iridescenceThicknessMap.channel),sheenColorMapUv:jt&&R(F.sheenColorMap.channel),sheenRoughnessMapUv:kt&&R(F.sheenRoughnessMap.channel),specularMapUv:qt&&R(F.specularMap.channel),specularColorMapUv:In&&R(F.specularColorMap.channel),specularIntensityMapUv:Mi&&R(F.specularIntensityMap.channel),transmissionMapUv:ge&&R(F.transmissionMap.channel),thicknessMapUv:Wt&&R(F.thicknessMap.channel),alphaMapUv:xt&&R(F.alphaMap.channel),vertexTangents:!!te.attributes.tangent&&(Dt||X),vertexColors:F.vertexColors,vertexAlphas:F.vertexColors===!0&&!!te.attributes.color&&te.attributes.color.itemSize===4,pointsUvs:ne.isPoints===!0&&!!te.attributes.uv&&(It||xt),fog:!!se,useFog:F.fog===!0,fogExp2:!!se&&se.isFogExp2,flatShading:F.flatShading===!0,sizeAttenuation:F.sizeAttenuation===!0,logarithmicDepthBuffer:v,reverseDepthBuffer:pt,skinning:ne.isSkinnedMesh===!0,morphTargets:te.morphAttributes.position!==void 0,morphNormals:te.morphAttributes.normal!==void 0,morphColors:te.morphAttributes.color!==void 0,morphTargetsCount:ue,morphTextureStride:be,numDirLights:V.directional.length,numPointLights:V.point.length,numSpotLights:V.spot.length,numSpotLightMaps:V.spotLightMap.length,numRectAreaLights:V.rectArea.length,numHemiLights:V.hemi.length,numDirLightShadows:V.directionalShadowMap.length,numPointLightShadows:V.pointShadowMap.length,numSpotLightShadows:V.spotShadowMap.length,numSpotLightShadowsWithMaps:V.numSpotLightShadowsWithMaps,numLightProbes:V.numLightProbes,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,dithering:F.dithering,shadowMapEnabled:i.shadowMap.enabled&&Y.length>0,shadowMapType:i.shadowMap.type,toneMapping:qi,decodeVideoTexture:It&&F.map.isVideoTexture===!0&&ai.getTransfer(F.map.colorSpace)===Vi,decodeVideoTextureEmissive:tn&&F.emissiveMap.isVideoTexture===!0&&ai.getTransfer(F.emissiveMap.colorSpace)===Vi,premultipliedAlpha:F.premultipliedAlpha,doubleSided:F.side===as,flipSided:F.side===hr,useDepthPacking:F.depthPacking>=0,depthPacking:F.depthPacking||0,index0AttributeName:F.index0AttributeName,extensionClipCullDistance:xn&&F.extensions.clipCullDistance===!0&&n.has("WEBGL_clip_cull_distance"),extensionMultiDraw:(xn&&F.extensions.multiDraw===!0||Tt)&&n.has("WEBGL_multi_draw"),rendererExtensionParallelShaderCompile:n.has("KHR_parallel_shader_compile"),customProgramCacheKey:F.customProgramCacheKey()};return rr.vertexUv1s=h.has(1),rr.vertexUv2s=h.has(2),rr.vertexUv3s=h.has(3),h.clear(),rr}function E(F){const V=[];if(F.shaderID?V.push(F.shaderID):(V.push(F.customVertexShaderID),V.push(F.customFragmentShaderID)),F.defines!==void 0)for(const Y in F.defines)V.push(Y),V.push(F.defines[Y]);return F.isRawShaderMaterial===!1&&(B(V,F),L(V,F),V.push(i.outputColorSpace)),V.push(F.customProgramCacheKey),V.join()}function B(F,V){F.push(V.precision),F.push(V.outputColorSpace),F.push(V.envMapMode),F.push(V.envMapCubeUVHeight),F.push(V.mapUv),F.push(V.alphaMapUv),F.push(V.lightMapUv),F.push(V.aoMapUv),F.push(V.bumpMapUv),F.push(V.normalMapUv),F.push(V.displacementMapUv),F.push(V.emissiveMapUv),F.push(V.metalnessMapUv),F.push(V.roughnessMapUv),F.push(V.anisotropyMapUv),F.push(V.clearcoatMapUv),F.push(V.clearcoatNormalMapUv),F.push(V.clearcoatRoughnessMapUv),F.push(V.iridescenceMapUv),F.push(V.iridescenceThicknessMapUv),F.push(V.sheenColorMapUv),F.push(V.sheenRoughnessMapUv),F.push(V.specularMapUv),F.push(V.specularColorMapUv),F.push(V.specularIntensityMapUv),F.push(V.transmissionMapUv),F.push(V.thicknessMapUv),F.push(V.combine),F.push(V.fogExp2),F.push(V.sizeAttenuation),F.push(V.morphTargetsCount),F.push(V.morphAttributeCount),F.push(V.numDirLights),F.push(V.numPointLights),F.push(V.numSpotLights),F.push(V.numSpotLightMaps),F.push(V.numHemiLights),F.push(V.numRectAreaLights),F.push(V.numDirLightShadows),F.push(V.numPointLightShadows),F.push(V.numSpotLightShadows),F.push(V.numSpotLightShadowsWithMaps),F.push(V.numLightProbes),F.push(V.shadowMapType),F.push(V.toneMapping),F.push(V.numClippingPlanes),F.push(V.numClipIntersection),F.push(V.depthPacking)}function L(F,V){l.disableAll(),V.supportsVertexTextures&&l.enable(0),V.instancing&&l.enable(1),V.instancingColor&&l.enable(2),V.instancingMorph&&l.enable(3),V.matcap&&l.enable(4),V.envMap&&l.enable(5),V.normalMapObjectSpace&&l.enable(6),V.normalMapTangentSpace&&l.enable(7),V.clearcoat&&l.enable(8),V.iridescence&&l.enable(9),V.alphaTest&&l.enable(10),V.vertexColors&&l.enable(11),V.vertexAlphas&&l.enable(12),V.vertexUv1s&&l.enable(13),V.vertexUv2s&&l.enable(14),V.vertexUv3s&&l.enable(15),V.vertexTangents&&l.enable(16),V.anisotropy&&l.enable(17),V.alphaHash&&l.enable(18),V.batching&&l.enable(19),V.dispersion&&l.enable(20),V.batchingColor&&l.enable(21),F.push(l.mask),l.disableAll(),V.fog&&l.enable(0),V.useFog&&l.enable(1),V.flatShading&&l.enable(2),V.logarithmicDepthBuffer&&l.enable(3),V.reverseDepthBuffer&&l.enable(4),V.skinning&&l.enable(5),V.morphTargets&&l.enable(6),V.morphNormals&&l.enable(7),V.morphColors&&l.enable(8),V.premultipliedAlpha&&l.enable(9),V.shadowMapEnabled&&l.enable(10),V.doubleSided&&l.enable(11),V.flipSided&&l.enable(12),V.useDepthPacking&&l.enable(13),V.dithering&&l.enable(14),V.transmission&&l.enable(15),V.sheen&&l.enable(16),V.opaque&&l.enable(17),V.pointsUvs&&l.enable(18),V.decodeVideoTexture&&l.enable(19),V.decodeVideoTextureEmissive&&l.enable(20),V.alphaToCoverage&&l.enable(21),F.push(l.mask)}function O(F){const V=w[F.type];let Y;if(V){const ee=Ga[V];Y=vy.clone(ee.uniforms)}else Y=F.uniforms;return Y}function z(F,V){let Y;for(let ee=0,ne=g.length;ee0?n.push(E):S.transparent===!0?r.push(E):t.push(E)}function u(v,x,S,w,R,C){const E=a(v,x,S,w,R,C);S.transmission>0?n.unshift(E):S.transparent===!0?r.unshift(E):t.unshift(E)}function h(v,x){t.length>1&&t.sort(v||cj),n.length>1&&n.sort(x||J5),r.length>1&&r.sort(x||J5)}function g(){for(let v=e,x=i.length;v=s.length?(a=new e6,s.push(a)):a=s[r],a}function t(){i=new WeakMap}return{get:e,dispose:t}}function fj(){const i={};return{get:function(e){if(i[e.id]!==void 0)return i[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new ce,color:new an};break;case"SpotLight":t={position:new ce,direction:new ce,color:new an,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new ce,color:new an,distance:0,decay:0};break;case"HemisphereLight":t={direction:new ce,skyColor:new an,groundColor:new an};break;case"RectAreaLight":t={color:new an,position:new ce,halfWidth:new ce,halfHeight:new ce};break}return i[e.id]=t,t}}}function Aj(){const i={};return{get:function(e){if(i[e.id]!==void 0)return i[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ft};break;case"SpotLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ft};break;case"PointLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ft,shadowCameraNear:1,shadowCameraFar:1e3};break}return i[e.id]=t,t}}}let dj=0;function pj(i,e){return(e.castShadow?2:0)-(i.castShadow?2:0)+(e.map?1:0)-(i.map?1:0)}function mj(i){const e=new fj,t=Aj(),n={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let h=0;h<9;h++)n.probe.push(new ce);const r=new ce,s=new kn,a=new kn;function l(h){let g=0,v=0,x=0;for(let F=0;F<9;F++)n.probe[F].set(0,0,0);let S=0,w=0,R=0,C=0,E=0,B=0,L=0,O=0,z=0,G=0,k=0;h.sort(pj);for(let F=0,V=h.length;F0&&(i.has("OES_texture_float_linear")===!0?(n.rectAreaLTC1=Qt.LTC_FLOAT_1,n.rectAreaLTC2=Qt.LTC_FLOAT_2):(n.rectAreaLTC1=Qt.LTC_HALF_1,n.rectAreaLTC2=Qt.LTC_HALF_2)),n.ambient[0]=g,n.ambient[1]=v,n.ambient[2]=x;const H=n.hash;(H.directionalLength!==S||H.pointLength!==w||H.spotLength!==R||H.rectAreaLength!==C||H.hemiLength!==E||H.numDirectionalShadows!==B||H.numPointShadows!==L||H.numSpotShadows!==O||H.numSpotMaps!==z||H.numLightProbes!==k)&&(n.directional.length=S,n.spot.length=R,n.rectArea.length=C,n.point.length=w,n.hemi.length=E,n.directionalShadow.length=B,n.directionalShadowMap.length=B,n.pointShadow.length=L,n.pointShadowMap.length=L,n.spotShadow.length=O,n.spotShadowMap.length=O,n.directionalShadowMatrix.length=B,n.pointShadowMatrix.length=L,n.spotLightMatrix.length=O+z-G,n.spotLightMap.length=z,n.numSpotLightShadowsWithMaps=G,n.numLightProbes=k,H.directionalLength=S,H.pointLength=w,H.spotLength=R,H.rectAreaLength=C,H.hemiLength=E,H.numDirectionalShadows=B,H.numPointShadows=L,H.numSpotShadows=O,H.numSpotMaps=z,H.numLightProbes=k,n.version=dj++)}function u(h,g){let v=0,x=0,S=0,w=0,R=0;const C=g.matrixWorldInverse;for(let E=0,B=h.length;E=a.length?(l=new t6(i),a.push(l)):l=a[s],l}function n(){e=new WeakMap}return{get:t,dispose:n}}const vj=`void main() { +`+de)}else ee!==""?console.warn("THREE.WebGLProgram: Program Info Log:",ee):(ne===""||se==="")&&(Q=!1);Q&&(Y.diagnostics={runnable:te,programLog:ee,vertexShader:{log:ne,prefix:C},fragmentShader:{log:se,prefix:E}})}r.deleteShader(z),r.deleteShader(G),H=new qv(r,R),F=$H(r,R)}let H;this.getUniforms=function(){return H===void 0&&k(this),H};let F;this.getAttributes=function(){return F===void 0&&k(this),F};let V=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return V===!1&&(V=r.getProgramParameter(R,FH)),V},this.destroy=function(){n.releaseStatesOfProgram(this),r.deleteProgram(R),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=kH++,this.cacheKey=e,this.usedTimes=1,this.program=R,this.vertexShader=z,this.fragmentShader=G,this}let sj=0;class aj{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const t=e.vertexShader,n=e.fragmentShader,r=this._getShaderStage(t),s=this._getShaderStage(n),a=this._getShaderCacheForMaterial(e);return a.has(r)===!1&&(a.add(r),r.usedTimes++),a.has(s)===!1&&(a.add(s),s.usedTimes++),this}remove(e){const t=this.materialCache.get(e);for(const n of t)n.usedTimes--,n.usedTimes===0&&this.shaderCache.delete(n.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){const t=this.materialCache;let n=t.get(e);return n===void 0&&(n=new Set,t.set(e,n)),n}_getShaderStage(e){const t=this.shaderCache;let n=t.get(e);return n===void 0&&(n=new oj(e),t.set(e,n)),n}}class oj{constructor(e){this.id=sj++,this.code=e,this.usedTimes=0}}function lj(i,e,t,n,r,s,a){const l=new Ww,u=new aj,h=new Set,g=[],v=r.logarithmicDepthBuffer,x=r.vertexTextures;let S=r.precision;const w={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function R(F){return h.add(F),F===0?"uv":`uv${F}`}function C(F,V,Y,ee,ne){const se=ee.fog,te=ne.geometry,Q=F.isMeshStandardMaterial?ee.environment:null,le=(F.isMeshStandardMaterial?t:e).get(F.envMap||Q),de=le&&le.mapping===sA?le.image.height:null,Te=w[F.type];F.precision!==null&&(S=r.getMaxPrecision(F.precision),S!==F.precision&&console.warn("THREE.WebGLProgram.getParameters:",F.precision,"not supported, using",S,"instead."));const Se=te.morphAttributes.position||te.morphAttributes.normal||te.morphAttributes.color,ue=Se!==void 0?Se.length:0;let be=0;te.morphAttributes.position!==void 0&&(be=1),te.morphAttributes.normal!==void 0&&(be=2),te.morphAttributes.color!==void 0&&(be=3);let We,Ee,Ge,ye;if(Te){const pn=Ga[Te];We=pn.vertexShader,Ee=pn.fragmentShader}else We=F.vertexShader,Ee=F.fragmentShader,u.update(F),Ge=u.getVertexShaderID(F),ye=u.getFragmentShaderID(F);const Pe=i.getRenderTarget(),pt=i.state.buffers.depth.getReversed(),vt=ne.isInstancedMesh===!0,Tt=ne.isBatchedMesh===!0,It=!!F.map,Qe=!!F.matcap,it=!!le,he=!!F.aoMap,Ft=!!F.lightMap,ct=!!F.bumpMap,Dt=!!F.normalMap,gt=!!F.displacementMap,tn=!!F.emissiveMap,_t=!!F.metalnessMap,fe=!!F.roughnessMap,X=F.anisotropy>0,oe=F.clearcoat>0,Me=F.dispersion>0,Fe=F.iridescence>0,ze=F.sheen>0,Et=F.transmission>0,Rt=X&&!!F.anisotropyMap,Ht=oe&&!!F.clearcoatMap,Xt=oe&&!!F.clearcoatNormalMap,yt=oe&&!!F.clearcoatRoughnessMap,Zt=Fe&&!!F.iridescenceMap,sn=Fe&&!!F.iridescenceThicknessMap,jt=ze&&!!F.sheenColorMap,kt=ze&&!!F.sheenRoughnessMap,qt=!!F.specularMap,In=!!F.specularColorMap,Mi=!!F.specularIntensityMap,ge=Et&&!!F.transmissionMap,Wt=Et&&!!F.thicknessMap,nt=!!F.gradientMap,xt=!!F.alphaMap,$t=F.alphaTest>0,zt=!!F.alphaHash,xn=!!F.extensions;let qi=Za;F.toneMapped&&(Pe===null||Pe.isXRRenderTarget===!0)&&(qi=i.toneMapping);const rr={shaderID:Te,shaderType:F.type,shaderName:F.name,vertexShader:We,fragmentShader:Ee,defines:F.defines,customVertexShaderID:Ge,customFragmentShaderID:ye,isRawShaderMaterial:F.isRawShaderMaterial===!0,glslVersion:F.glslVersion,precision:S,batching:Tt,batchingColor:Tt&&ne._colorsTexture!==null,instancing:vt,instancingColor:vt&&ne.instanceColor!==null,instancingMorph:vt&&ne.morphTexture!==null,supportsVertexTextures:x,outputColorSpace:Pe===null?i.outputColorSpace:Pe.isXRRenderTarget===!0?Pe.texture.colorSpace:Ro,alphaToCoverage:!!F.alphaToCoverage,map:It,matcap:Qe,envMap:it,envMapMode:it&&le.mapping,envMapCubeUVHeight:de,aoMap:he,lightMap:Ft,bumpMap:ct,normalMap:Dt,displacementMap:x&>,emissiveMap:tn,normalMapObjectSpace:Dt&&F.normalMapType===B7,normalMapTangentSpace:Dt&&F.normalMapType===Dc,metalnessMap:_t,roughnessMap:fe,anisotropy:X,anisotropyMap:Rt,clearcoat:oe,clearcoatMap:Ht,clearcoatNormalMap:Xt,clearcoatRoughnessMap:yt,dispersion:Me,iridescence:Fe,iridescenceMap:Zt,iridescenceThicknessMap:sn,sheen:ze,sheenColorMap:jt,sheenRoughnessMap:kt,specularMap:qt,specularColorMap:In,specularIntensityMap:Mi,transmission:Et,transmissionMap:ge,thicknessMap:Wt,gradientMap:nt,opaque:F.transparent===!1&&F.blending===Ka&&F.alphaToCoverage===!1,alphaMap:xt,alphaTest:$t,alphaHash:zt,combine:F.combine,mapUv:It&&R(F.map.channel),aoMapUv:he&&R(F.aoMap.channel),lightMapUv:Ft&&R(F.lightMap.channel),bumpMapUv:ct&&R(F.bumpMap.channel),normalMapUv:Dt&&R(F.normalMap.channel),displacementMapUv:gt&&R(F.displacementMap.channel),emissiveMapUv:tn&&R(F.emissiveMap.channel),metalnessMapUv:_t&&R(F.metalnessMap.channel),roughnessMapUv:fe&&R(F.roughnessMap.channel),anisotropyMapUv:Rt&&R(F.anisotropyMap.channel),clearcoatMapUv:Ht&&R(F.clearcoatMap.channel),clearcoatNormalMapUv:Xt&&R(F.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:yt&&R(F.clearcoatRoughnessMap.channel),iridescenceMapUv:Zt&&R(F.iridescenceMap.channel),iridescenceThicknessMapUv:sn&&R(F.iridescenceThicknessMap.channel),sheenColorMapUv:jt&&R(F.sheenColorMap.channel),sheenRoughnessMapUv:kt&&R(F.sheenRoughnessMap.channel),specularMapUv:qt&&R(F.specularMap.channel),specularColorMapUv:In&&R(F.specularColorMap.channel),specularIntensityMapUv:Mi&&R(F.specularIntensityMap.channel),transmissionMapUv:ge&&R(F.transmissionMap.channel),thicknessMapUv:Wt&&R(F.thicknessMap.channel),alphaMapUv:xt&&R(F.alphaMap.channel),vertexTangents:!!te.attributes.tangent&&(Dt||X),vertexColors:F.vertexColors,vertexAlphas:F.vertexColors===!0&&!!te.attributes.color&&te.attributes.color.itemSize===4,pointsUvs:ne.isPoints===!0&&!!te.attributes.uv&&(It||xt),fog:!!se,useFog:F.fog===!0,fogExp2:!!se&&se.isFogExp2,flatShading:F.flatShading===!0,sizeAttenuation:F.sizeAttenuation===!0,logarithmicDepthBuffer:v,reverseDepthBuffer:pt,skinning:ne.isSkinnedMesh===!0,morphTargets:te.morphAttributes.position!==void 0,morphNormals:te.morphAttributes.normal!==void 0,morphColors:te.morphAttributes.color!==void 0,morphTargetsCount:ue,morphTextureStride:be,numDirLights:V.directional.length,numPointLights:V.point.length,numSpotLights:V.spot.length,numSpotLightMaps:V.spotLightMap.length,numRectAreaLights:V.rectArea.length,numHemiLights:V.hemi.length,numDirLightShadows:V.directionalShadowMap.length,numPointLightShadows:V.pointShadowMap.length,numSpotLightShadows:V.spotShadowMap.length,numSpotLightShadowsWithMaps:V.numSpotLightShadowsWithMaps,numLightProbes:V.numLightProbes,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,dithering:F.dithering,shadowMapEnabled:i.shadowMap.enabled&&Y.length>0,shadowMapType:i.shadowMap.type,toneMapping:qi,decodeVideoTexture:It&&F.map.isVideoTexture===!0&&ai.getTransfer(F.map.colorSpace)===Vi,decodeVideoTextureEmissive:tn&&F.emissiveMap.isVideoTexture===!0&&ai.getTransfer(F.emissiveMap.colorSpace)===Vi,premultipliedAlpha:F.premultipliedAlpha,doubleSided:F.side===as,flipSided:F.side===hr,useDepthPacking:F.depthPacking>=0,depthPacking:F.depthPacking||0,index0AttributeName:F.index0AttributeName,extensionClipCullDistance:xn&&F.extensions.clipCullDistance===!0&&n.has("WEBGL_clip_cull_distance"),extensionMultiDraw:(xn&&F.extensions.multiDraw===!0||Tt)&&n.has("WEBGL_multi_draw"),rendererExtensionParallelShaderCompile:n.has("KHR_parallel_shader_compile"),customProgramCacheKey:F.customProgramCacheKey()};return rr.vertexUv1s=h.has(1),rr.vertexUv2s=h.has(2),rr.vertexUv3s=h.has(3),h.clear(),rr}function E(F){const V=[];if(F.shaderID?V.push(F.shaderID):(V.push(F.customVertexShaderID),V.push(F.customFragmentShaderID)),F.defines!==void 0)for(const Y in F.defines)V.push(Y),V.push(F.defines[Y]);return F.isRawShaderMaterial===!1&&(B(V,F),L(V,F),V.push(i.outputColorSpace)),V.push(F.customProgramCacheKey),V.join()}function B(F,V){F.push(V.precision),F.push(V.outputColorSpace),F.push(V.envMapMode),F.push(V.envMapCubeUVHeight),F.push(V.mapUv),F.push(V.alphaMapUv),F.push(V.lightMapUv),F.push(V.aoMapUv),F.push(V.bumpMapUv),F.push(V.normalMapUv),F.push(V.displacementMapUv),F.push(V.emissiveMapUv),F.push(V.metalnessMapUv),F.push(V.roughnessMapUv),F.push(V.anisotropyMapUv),F.push(V.clearcoatMapUv),F.push(V.clearcoatNormalMapUv),F.push(V.clearcoatRoughnessMapUv),F.push(V.iridescenceMapUv),F.push(V.iridescenceThicknessMapUv),F.push(V.sheenColorMapUv),F.push(V.sheenRoughnessMapUv),F.push(V.specularMapUv),F.push(V.specularColorMapUv),F.push(V.specularIntensityMapUv),F.push(V.transmissionMapUv),F.push(V.thicknessMapUv),F.push(V.combine),F.push(V.fogExp2),F.push(V.sizeAttenuation),F.push(V.morphTargetsCount),F.push(V.morphAttributeCount),F.push(V.numDirLights),F.push(V.numPointLights),F.push(V.numSpotLights),F.push(V.numSpotLightMaps),F.push(V.numHemiLights),F.push(V.numRectAreaLights),F.push(V.numDirLightShadows),F.push(V.numPointLightShadows),F.push(V.numSpotLightShadows),F.push(V.numSpotLightShadowsWithMaps),F.push(V.numLightProbes),F.push(V.shadowMapType),F.push(V.toneMapping),F.push(V.numClippingPlanes),F.push(V.numClipIntersection),F.push(V.depthPacking)}function L(F,V){l.disableAll(),V.supportsVertexTextures&&l.enable(0),V.instancing&&l.enable(1),V.instancingColor&&l.enable(2),V.instancingMorph&&l.enable(3),V.matcap&&l.enable(4),V.envMap&&l.enable(5),V.normalMapObjectSpace&&l.enable(6),V.normalMapTangentSpace&&l.enable(7),V.clearcoat&&l.enable(8),V.iridescence&&l.enable(9),V.alphaTest&&l.enable(10),V.vertexColors&&l.enable(11),V.vertexAlphas&&l.enable(12),V.vertexUv1s&&l.enable(13),V.vertexUv2s&&l.enable(14),V.vertexUv3s&&l.enable(15),V.vertexTangents&&l.enable(16),V.anisotropy&&l.enable(17),V.alphaHash&&l.enable(18),V.batching&&l.enable(19),V.dispersion&&l.enable(20),V.batchingColor&&l.enable(21),F.push(l.mask),l.disableAll(),V.fog&&l.enable(0),V.useFog&&l.enable(1),V.flatShading&&l.enable(2),V.logarithmicDepthBuffer&&l.enable(3),V.reverseDepthBuffer&&l.enable(4),V.skinning&&l.enable(5),V.morphTargets&&l.enable(6),V.morphNormals&&l.enable(7),V.morphColors&&l.enable(8),V.premultipliedAlpha&&l.enable(9),V.shadowMapEnabled&&l.enable(10),V.doubleSided&&l.enable(11),V.flipSided&&l.enable(12),V.useDepthPacking&&l.enable(13),V.dithering&&l.enable(14),V.transmission&&l.enable(15),V.sheen&&l.enable(16),V.opaque&&l.enable(17),V.pointsUvs&&l.enable(18),V.decodeVideoTexture&&l.enable(19),V.decodeVideoTextureEmissive&&l.enable(20),V.alphaToCoverage&&l.enable(21),F.push(l.mask)}function O(F){const V=w[F.type];let Y;if(V){const ee=Ga[V];Y=vy.clone(ee.uniforms)}else Y=F.uniforms;return Y}function z(F,V){let Y;for(let ee=0,ne=g.length;ee0?n.push(E):S.transparent===!0?r.push(E):t.push(E)}function u(v,x,S,w,R,C){const E=a(v,x,S,w,R,C);S.transmission>0?n.unshift(E):S.transparent===!0?r.unshift(E):t.unshift(E)}function h(v,x){t.length>1&&t.sort(v||cj),n.length>1&&n.sort(x||J5),r.length>1&&r.sort(x||J5)}function g(){for(let v=e,x=i.length;v=s.length?(a=new e6,s.push(a)):a=s[r],a}function t(){i=new WeakMap}return{get:e,dispose:t}}function fj(){const i={};return{get:function(e){if(i[e.id]!==void 0)return i[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new ce,color:new an};break;case"SpotLight":t={position:new ce,direction:new ce,color:new an,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new ce,color:new an,distance:0,decay:0};break;case"HemisphereLight":t={direction:new ce,skyColor:new an,groundColor:new an};break;case"RectAreaLight":t={color:new an,position:new ce,halfWidth:new ce,halfHeight:new ce};break}return i[e.id]=t,t}}}function Aj(){const i={};return{get:function(e){if(i[e.id]!==void 0)return i[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ft};break;case"SpotLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ft};break;case"PointLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ft,shadowCameraNear:1,shadowCameraFar:1e3};break}return i[e.id]=t,t}}}let dj=0;function pj(i,e){return(e.castShadow?2:0)-(i.castShadow?2:0)+(e.map?1:0)-(i.map?1:0)}function mj(i){const e=new fj,t=Aj(),n={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let h=0;h<9;h++)n.probe.push(new ce);const r=new ce,s=new kn,a=new kn;function l(h){let g=0,v=0,x=0;for(let F=0;F<9;F++)n.probe[F].set(0,0,0);let S=0,w=0,R=0,C=0,E=0,B=0,L=0,O=0,z=0,G=0,k=0;h.sort(pj);for(let F=0,V=h.length;F0&&(i.has("OES_texture_float_linear")===!0?(n.rectAreaLTC1=Qt.LTC_FLOAT_1,n.rectAreaLTC2=Qt.LTC_FLOAT_2):(n.rectAreaLTC1=Qt.LTC_HALF_1,n.rectAreaLTC2=Qt.LTC_HALF_2)),n.ambient[0]=g,n.ambient[1]=v,n.ambient[2]=x;const H=n.hash;(H.directionalLength!==S||H.pointLength!==w||H.spotLength!==R||H.rectAreaLength!==C||H.hemiLength!==E||H.numDirectionalShadows!==B||H.numPointShadows!==L||H.numSpotShadows!==O||H.numSpotMaps!==z||H.numLightProbes!==k)&&(n.directional.length=S,n.spot.length=R,n.rectArea.length=C,n.point.length=w,n.hemi.length=E,n.directionalShadow.length=B,n.directionalShadowMap.length=B,n.pointShadow.length=L,n.pointShadowMap.length=L,n.spotShadow.length=O,n.spotShadowMap.length=O,n.directionalShadowMatrix.length=B,n.pointShadowMatrix.length=L,n.spotLightMatrix.length=O+z-G,n.spotLightMap.length=z,n.numSpotLightShadowsWithMaps=G,n.numLightProbes=k,H.directionalLength=S,H.pointLength=w,H.spotLength=R,H.rectAreaLength=C,H.hemiLength=E,H.numDirectionalShadows=B,H.numPointShadows=L,H.numSpotShadows=O,H.numSpotMaps=z,H.numLightProbes=k,n.version=dj++)}function u(h,g){let v=0,x=0,S=0,w=0,R=0;const C=g.matrixWorldInverse;for(let E=0,B=h.length;E=a.length?(l=new t6(i),a.push(l)):l=a[s],l}function n(){e=new WeakMap}return{get:t,dispose:n}}const vj=`void main() { gl_Position = vec4( position, 1.0 ); }`,_j=`uniform sampler2D shadow_pass; uniform vec2 resolution; @@ -3848,7 +3848,7 @@ void main() { squared_mean = squared_mean / samples; float std_dev = sqrt( squared_mean - mean * mean ); gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); -}`;function yj(i,e,t){let n=new Fg;const r=new ft,s=new ft,a=new Pn,l=new Dz({depthPacking:WF}),u=new Pz,h={},g=t.maxTextureSize,v={[Nl]:hr,[hr]:Nl,[as]:as},x=new Ja({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new ft},radius:{value:4}},vertexShader:vj,fragmentShader:_j}),S=x.clone();S.defines.HORIZONTAL_PASS=1;const w=new Ki;w.setAttribute("position",new wr(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const R=new zi(w,x),C=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=yw;let E=this.type;this.render=function(G,k,H){if(C.enabled===!1||C.autoUpdate===!1&&C.needsUpdate===!1||G.length===0)return;const F=i.getRenderTarget(),V=i.getActiveCubeFace(),Y=i.getActiveMipmapLevel(),ee=i.state;ee.setBlending(Qa),ee.buffers.color.setClear(1,1,1,1),ee.buffers.depth.setTest(!0),ee.setScissorTest(!1);const ne=E!==xo&&this.type===xo,se=E===xo&&this.type!==xo;for(let te=0,Q=G.length;teg||r.y>g)&&(r.x>g&&(s.x=Math.floor(g/Te.x),r.x=s.x*Te.x,de.mapSize.x=s.x),r.y>g&&(s.y=Math.floor(g/Te.y),r.y=s.y*Te.y,de.mapSize.y=s.y)),de.map===null||ne===!0||se===!0){const ue=this.type!==xo?{minFilter:mr,magFilter:mr}:{};de.map!==null&&de.map.dispose(),de.map=new qh(r.x,r.y,ue),de.map.texture.name=le.name+".shadowMap",de.camera.updateProjectionMatrix()}i.setRenderTarget(de.map),i.clear();const Se=de.getViewportCount();for(let ue=0;ue0||k.map&&k.alphaTest>0){const ee=V.uuid,ne=k.uuid;let se=h[ee];se===void 0&&(se={},h[ee]=se);let te=se[ne];te===void 0&&(te=V.clone(),se[ne]=te,k.addEventListener("dispose",z)),V=te}if(V.visible=k.visible,V.wireframe=k.wireframe,F===xo?V.side=k.shadowSide!==null?k.shadowSide:k.side:V.side=k.shadowSide!==null?k.shadowSide:v[k.side],V.alphaMap=k.alphaMap,V.alphaTest=k.alphaTest,V.map=k.map,V.clipShadows=k.clipShadows,V.clippingPlanes=k.clippingPlanes,V.clipIntersection=k.clipIntersection,V.displacementMap=k.displacementMap,V.displacementScale=k.displacementScale,V.displacementBias=k.displacementBias,V.wireframeLinewidth=k.wireframeLinewidth,V.linewidth=k.linewidth,H.isPointLight===!0&&V.isMeshDistanceMaterial===!0){const ee=i.properties.get(V);ee.light=H}return V}function O(G,k,H,F,V){if(G.visible===!1)return;if(G.layers.test(k.layers)&&(G.isMesh||G.isLine||G.isPoints)&&(G.castShadow||G.receiveShadow&&V===xo)&&(!G.frustumCulled||n.intersectsObject(G))){G.modelViewMatrix.multiplyMatrices(H.matrixWorldInverse,G.matrixWorld);const ne=e.update(G),se=G.material;if(Array.isArray(se)){const te=ne.groups;for(let Q=0,le=te.length;Q=1):de.indexOf("OpenGL ES")!==-1&&(le=parseFloat(/^OpenGL ES (\d)/.exec(de)[1]),Q=le>=2);let Te=null,Se={};const ue=i.getParameter(i.SCISSOR_BOX),be=i.getParameter(i.VIEWPORT),We=new Pn().fromArray(ue),Ee=new Pn().fromArray(be);function Ge(ge,Wt,nt,xt){const $t=new Uint8Array(4),zt=i.createTexture();i.bindTexture(ge,zt),i.texParameteri(ge,i.TEXTURE_MIN_FILTER,i.NEAREST),i.texParameteri(ge,i.TEXTURE_MAG_FILTER,i.NEAREST);for(let xn=0;xn"u"?!1:/OculusBrowser/g.test(navigator.userAgent),h=new ft,g=new WeakMap;let v;const x=new WeakMap;let S=!1;try{S=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function w(fe,X){return S?new OffscreenCanvas(fe,X):sg("canvas")}function R(fe,X,oe){let Me=1;const Fe=yt(fe);if((Fe.width>oe||Fe.height>oe)&&(Me=oe/Math.max(Fe.width,Fe.height)),Me<1)if(typeof HTMLImageElement<"u"&&fe instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&fe instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&fe instanceof ImageBitmap||typeof VideoFrame<"u"&&fe instanceof VideoFrame){const ze=Math.floor(Me*Fe.width),Et=Math.floor(Me*Fe.height);v===void 0&&(v=w(ze,Et));const Rt=X?w(ze,Et):v;return Rt.width=ze,Rt.height=Et,Rt.getContext("2d").drawImage(fe,0,0,ze,Et),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+Fe.width+"x"+Fe.height+") to ("+ze+"x"+Et+")."),Rt}else return"data"in fe&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+Fe.width+"x"+Fe.height+")."),fe;return fe}function C(fe){return fe.generateMipmaps}function E(fe){i.generateMipmap(fe)}function B(fe){return fe.isWebGLCubeRenderTarget?i.TEXTURE_CUBE_MAP:fe.isWebGL3DRenderTarget?i.TEXTURE_3D:fe.isWebGLArrayRenderTarget||fe.isCompressedArrayTexture?i.TEXTURE_2D_ARRAY:i.TEXTURE_2D}function L(fe,X,oe,Me,Fe=!1){if(fe!==null){if(i[fe]!==void 0)return i[fe];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+fe+"'")}let ze=X;if(X===i.RED&&(oe===i.FLOAT&&(ze=i.R32F),oe===i.HALF_FLOAT&&(ze=i.R16F),oe===i.UNSIGNED_BYTE&&(ze=i.R8)),X===i.RED_INTEGER&&(oe===i.UNSIGNED_BYTE&&(ze=i.R8UI),oe===i.UNSIGNED_SHORT&&(ze=i.R16UI),oe===i.UNSIGNED_INT&&(ze=i.R32UI),oe===i.BYTE&&(ze=i.R8I),oe===i.SHORT&&(ze=i.R16I),oe===i.INT&&(ze=i.R32I)),X===i.RG&&(oe===i.FLOAT&&(ze=i.RG32F),oe===i.HALF_FLOAT&&(ze=i.RG16F),oe===i.UNSIGNED_BYTE&&(ze=i.RG8)),X===i.RG_INTEGER&&(oe===i.UNSIGNED_BYTE&&(ze=i.RG8UI),oe===i.UNSIGNED_SHORT&&(ze=i.RG16UI),oe===i.UNSIGNED_INT&&(ze=i.RG32UI),oe===i.BYTE&&(ze=i.RG8I),oe===i.SHORT&&(ze=i.RG16I),oe===i.INT&&(ze=i.RG32I)),X===i.RGB_INTEGER&&(oe===i.UNSIGNED_BYTE&&(ze=i.RGB8UI),oe===i.UNSIGNED_SHORT&&(ze=i.RGB16UI),oe===i.UNSIGNED_INT&&(ze=i.RGB32UI),oe===i.BYTE&&(ze=i.RGB8I),oe===i.SHORT&&(ze=i.RGB16I),oe===i.INT&&(ze=i.RGB32I)),X===i.RGBA_INTEGER&&(oe===i.UNSIGNED_BYTE&&(ze=i.RGBA8UI),oe===i.UNSIGNED_SHORT&&(ze=i.RGBA16UI),oe===i.UNSIGNED_INT&&(ze=i.RGBA32UI),oe===i.BYTE&&(ze=i.RGBA8I),oe===i.SHORT&&(ze=i.RGBA16I),oe===i.INT&&(ze=i.RGBA32I)),X===i.RGB&&oe===i.UNSIGNED_INT_5_9_9_9_REV&&(ze=i.RGB9_E5),X===i.RGBA){const Et=Fe?a_:ai.getTransfer(Me);oe===i.FLOAT&&(ze=i.RGBA32F),oe===i.HALF_FLOAT&&(ze=i.RGBA16F),oe===i.UNSIGNED_BYTE&&(ze=Et===Vi?i.SRGB8_ALPHA8:i.RGBA8),oe===i.UNSIGNED_SHORT_4_4_4_4&&(ze=i.RGBA4),oe===i.UNSIGNED_SHORT_5_5_5_1&&(ze=i.RGB5_A1)}return(ze===i.R16F||ze===i.R32F||ze===i.RG16F||ze===i.RG32F||ze===i.RGBA16F||ze===i.RGBA32F)&&e.get("EXT_color_buffer_float"),ze}function O(fe,X){let oe;return fe?X===null||X===Rr||X===Au?oe=i.DEPTH24_STENCIL8:X===$r?oe=i.DEPTH32F_STENCIL8:X===wl&&(oe=i.DEPTH24_STENCIL8,console.warn("DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.")):X===null||X===Rr||X===Au?oe=i.DEPTH_COMPONENT24:X===$r?oe=i.DEPTH_COMPONENT32F:X===wl&&(oe=i.DEPTH_COMPONENT16),oe}function z(fe,X){return C(fe)===!0||fe.isFramebufferTexture&&fe.minFilter!==mr&&fe.minFilter!==gs?Math.log2(Math.max(X.width,X.height))+1:fe.mipmaps!==void 0&&fe.mipmaps.length>0?fe.mipmaps.length:fe.isCompressedTexture&&Array.isArray(fe.image)?X.mipmaps.length:1}function G(fe){const X=fe.target;X.removeEventListener("dispose",G),H(X),X.isVideoTexture&&g.delete(X)}function k(fe){const X=fe.target;X.removeEventListener("dispose",k),V(X)}function H(fe){const X=n.get(fe);if(X.__webglInit===void 0)return;const oe=fe.source,Me=x.get(oe);if(Me){const Fe=Me[X.__cacheKey];Fe.usedTimes--,Fe.usedTimes===0&&F(fe),Object.keys(Me).length===0&&x.delete(oe)}n.remove(fe)}function F(fe){const X=n.get(fe);i.deleteTexture(X.__webglTexture);const oe=fe.source,Me=x.get(oe);delete Me[X.__cacheKey],a.memory.textures--}function V(fe){const X=n.get(fe);if(fe.depthTexture&&(fe.depthTexture.dispose(),n.remove(fe.depthTexture)),fe.isWebGLCubeRenderTarget)for(let Me=0;Me<6;Me++){if(Array.isArray(X.__webglFramebuffer[Me]))for(let Fe=0;Fe=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+fe+" texture units while this GPU supports only "+r.maxTextures),Y+=1,fe}function se(fe){const X=[];return X.push(fe.wrapS),X.push(fe.wrapT),X.push(fe.wrapR||0),X.push(fe.magFilter),X.push(fe.minFilter),X.push(fe.anisotropy),X.push(fe.internalFormat),X.push(fe.format),X.push(fe.type),X.push(fe.generateMipmaps),X.push(fe.premultiplyAlpha),X.push(fe.flipY),X.push(fe.unpackAlignment),X.push(fe.colorSpace),X.join()}function te(fe,X){const oe=n.get(fe);if(fe.isVideoTexture&>(fe),fe.isRenderTargetTexture===!1&&fe.version>0&&oe.__version!==fe.version){const Me=fe.image;if(Me===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(Me.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{Ee(oe,fe,X);return}}t.bindTexture(i.TEXTURE_2D,oe.__webglTexture,i.TEXTURE0+X)}function Q(fe,X){const oe=n.get(fe);if(fe.version>0&&oe.__version!==fe.version){Ee(oe,fe,X);return}t.bindTexture(i.TEXTURE_2D_ARRAY,oe.__webglTexture,i.TEXTURE0+X)}function le(fe,X){const oe=n.get(fe);if(fe.version>0&&oe.__version!==fe.version){Ee(oe,fe,X);return}t.bindTexture(i.TEXTURE_3D,oe.__webglTexture,i.TEXTURE0+X)}function de(fe,X){const oe=n.get(fe);if(fe.version>0&&oe.__version!==fe.version){Ge(oe,fe,X);return}t.bindTexture(i.TEXTURE_CUBE_MAP,oe.__webglTexture,i.TEXTURE0+X)}const Te={[aA]:i.REPEAT,[eu]:i.CLAMP_TO_EDGE,[oA]:i.MIRRORED_REPEAT},Se={[mr]:i.NEAREST,[s_]:i.NEAREST_MIPMAP_NEAREST,[tu]:i.NEAREST_MIPMAP_LINEAR,[gs]:i.LINEAR,[Jd]:i.LINEAR_MIPMAP_NEAREST,[Va]:i.LINEAR_MIPMAP_LINEAR},ue={[Fw]:i.NEVER,[Vw]:i.ALWAYS,[my]:i.LESS,[gy]:i.LEQUAL,[kw]:i.EQUAL,[qw]:i.GEQUAL,[zw]:i.GREATER,[Gw]:i.NOTEQUAL};function be(fe,X){if(X.type===$r&&e.has("OES_texture_float_linear")===!1&&(X.magFilter===gs||X.magFilter===Jd||X.magFilter===tu||X.magFilter===Va||X.minFilter===gs||X.minFilter===Jd||X.minFilter===tu||X.minFilter===Va)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),i.texParameteri(fe,i.TEXTURE_WRAP_S,Te[X.wrapS]),i.texParameteri(fe,i.TEXTURE_WRAP_T,Te[X.wrapT]),(fe===i.TEXTURE_3D||fe===i.TEXTURE_2D_ARRAY)&&i.texParameteri(fe,i.TEXTURE_WRAP_R,Te[X.wrapR]),i.texParameteri(fe,i.TEXTURE_MAG_FILTER,Se[X.magFilter]),i.texParameteri(fe,i.TEXTURE_MIN_FILTER,Se[X.minFilter]),X.compareFunction&&(i.texParameteri(fe,i.TEXTURE_COMPARE_MODE,i.COMPARE_REF_TO_TEXTURE),i.texParameteri(fe,i.TEXTURE_COMPARE_FUNC,ue[X.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){if(X.magFilter===mr||X.minFilter!==tu&&X.minFilter!==Va||X.type===$r&&e.has("OES_texture_float_linear")===!1)return;if(X.anisotropy>1||n.get(X).__currentAnisotropy){const oe=e.get("EXT_texture_filter_anisotropic");i.texParameterf(fe,oe.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(X.anisotropy,r.getMaxAnisotropy())),n.get(X).__currentAnisotropy=X.anisotropy}}}function We(fe,X){let oe=!1;fe.__webglInit===void 0&&(fe.__webglInit=!0,X.addEventListener("dispose",G));const Me=X.source;let Fe=x.get(Me);Fe===void 0&&(Fe={},x.set(Me,Fe));const ze=se(X);if(ze!==fe.__cacheKey){Fe[ze]===void 0&&(Fe[ze]={texture:i.createTexture(),usedTimes:0},a.memory.textures++,oe=!0),Fe[ze].usedTimes++;const Et=Fe[fe.__cacheKey];Et!==void 0&&(Fe[fe.__cacheKey].usedTimes--,Et.usedTimes===0&&F(X)),fe.__cacheKey=ze,fe.__webglTexture=Fe[ze].texture}return oe}function Ee(fe,X,oe){let Me=i.TEXTURE_2D;(X.isDataArrayTexture||X.isCompressedArrayTexture)&&(Me=i.TEXTURE_2D_ARRAY),X.isData3DTexture&&(Me=i.TEXTURE_3D);const Fe=We(fe,X),ze=X.source;t.bindTexture(Me,fe.__webglTexture,i.TEXTURE0+oe);const Et=n.get(ze);if(ze.version!==Et.__version||Fe===!0){t.activeTexture(i.TEXTURE0+oe);const Rt=ai.getPrimaries(ai.workingColorSpace),Ht=X.colorSpace===Co?null:ai.getPrimaries(X.colorSpace),Xt=X.colorSpace===Co||Rt===Ht?i.NONE:i.BROWSER_DEFAULT_WEBGL;i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,X.flipY),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,X.premultiplyAlpha),i.pixelStorei(i.UNPACK_ALIGNMENT,X.unpackAlignment),i.pixelStorei(i.UNPACK_COLORSPACE_CONVERSION_WEBGL,Xt);let _t=R(X.image,!1,r.maxTextureSize);_t=tn(X,_t);const Zt=s.convert(X.format,X.colorSpace),sn=s.convert(X.type);let jt=L(X.internalFormat,Zt,sn,X.colorSpace,X.isVideoTexture);be(Me,X);let kt;const qt=X.mipmaps,In=X.isVideoTexture!==!0,Mi=Et.__version===void 0||Fe===!0,ge=ze.dataReady,Wt=z(X,_t);if(X.isDepthTexture)jt=O(X.format===du,X.type),Mi&&(In?t.texStorage2D(i.TEXTURE_2D,1,jt,_t.width,_t.height):t.texImage2D(i.TEXTURE_2D,0,jt,_t.width,_t.height,0,Zt,sn,null));else if(X.isDataTexture)if(qt.length>0){In&&Mi&&t.texStorage2D(i.TEXTURE_2D,Wt,jt,qt[0].width,qt[0].height);for(let nt=0,xt=qt.length;nt0){const $t=D5(kt.width,kt.height,X.format,X.type);for(const zt of X.layerUpdates){const xn=kt.data.subarray(zt*$t/kt.data.BYTES_PER_ELEMENT,(zt+1)*$t/kt.data.BYTES_PER_ELEMENT);t.compressedTexSubImage3D(i.TEXTURE_2D_ARRAY,nt,0,0,zt,kt.width,kt.height,1,Zt,xn)}X.clearLayerUpdates()}else t.compressedTexSubImage3D(i.TEXTURE_2D_ARRAY,nt,0,0,0,kt.width,kt.height,_t.depth,Zt,kt.data)}else t.compressedTexImage3D(i.TEXTURE_2D_ARRAY,nt,jt,kt.width,kt.height,_t.depth,0,kt.data,0,0);else console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()");else In?ge&&t.texSubImage3D(i.TEXTURE_2D_ARRAY,nt,0,0,0,kt.width,kt.height,_t.depth,Zt,sn,kt.data):t.texImage3D(i.TEXTURE_2D_ARRAY,nt,jt,kt.width,kt.height,_t.depth,0,Zt,sn,kt.data)}else{In&&Mi&&t.texStorage2D(i.TEXTURE_2D,Wt,jt,qt[0].width,qt[0].height);for(let nt=0,xt=qt.length;nt0){const nt=D5(_t.width,_t.height,X.format,X.type);for(const xt of X.layerUpdates){const $t=_t.data.subarray(xt*nt/_t.data.BYTES_PER_ELEMENT,(xt+1)*nt/_t.data.BYTES_PER_ELEMENT);t.texSubImage3D(i.TEXTURE_2D_ARRAY,0,0,0,xt,_t.width,_t.height,1,Zt,sn,$t)}X.clearLayerUpdates()}else t.texSubImage3D(i.TEXTURE_2D_ARRAY,0,0,0,0,_t.width,_t.height,_t.depth,Zt,sn,_t.data)}else t.texImage3D(i.TEXTURE_2D_ARRAY,0,jt,_t.width,_t.height,_t.depth,0,Zt,sn,_t.data);else if(X.isData3DTexture)In?(Mi&&t.texStorage3D(i.TEXTURE_3D,Wt,jt,_t.width,_t.height,_t.depth),ge&&t.texSubImage3D(i.TEXTURE_3D,0,0,0,0,_t.width,_t.height,_t.depth,Zt,sn,_t.data)):t.texImage3D(i.TEXTURE_3D,0,jt,_t.width,_t.height,_t.depth,0,Zt,sn,_t.data);else if(X.isFramebufferTexture){if(Mi)if(In)t.texStorage2D(i.TEXTURE_2D,Wt,jt,_t.width,_t.height);else{let nt=_t.width,xt=_t.height;for(let $t=0;$t>=1,xt>>=1}}else if(qt.length>0){if(In&&Mi){const nt=yt(qt[0]);t.texStorage2D(i.TEXTURE_2D,Wt,jt,nt.width,nt.height)}for(let nt=0,xt=qt.length;nt0&&Wt++;const xt=yt(Zt[0]);t.texStorage2D(i.TEXTURE_CUBE_MAP,Wt,qt,xt.width,xt.height)}for(let xt=0;xt<6;xt++)if(_t){In?ge&&t.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+xt,0,0,0,Zt[xt].width,Zt[xt].height,jt,kt,Zt[xt].data):t.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+xt,0,qt,Zt[xt].width,Zt[xt].height,0,jt,kt,Zt[xt].data);for(let $t=0;$t>ze),sn=Math.max(1,X.height>>ze);Fe===i.TEXTURE_3D||Fe===i.TEXTURE_2D_ARRAY?t.texImage3D(Fe,ze,Ht,Zt,sn,X.depth,0,Et,Rt,null):t.texImage2D(Fe,ze,Ht,Zt,sn,0,Et,Rt,null)}t.bindFramebuffer(i.FRAMEBUFFER,fe),Dt(X)?l.framebufferTexture2DMultisampleEXT(i.FRAMEBUFFER,Me,Fe,_t.__webglTexture,0,ct(X)):(Fe===i.TEXTURE_2D||Fe>=i.TEXTURE_CUBE_MAP_POSITIVE_X&&Fe<=i.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&i.framebufferTexture2D(i.FRAMEBUFFER,Me,Fe,_t.__webglTexture,ze),t.bindFramebuffer(i.FRAMEBUFFER,null)}function Pe(fe,X,oe){if(i.bindRenderbuffer(i.RENDERBUFFER,fe),X.depthBuffer){const Me=X.depthTexture,Fe=Me&&Me.isDepthTexture?Me.type:null,ze=O(X.stencilBuffer,Fe),Et=X.stencilBuffer?i.DEPTH_STENCIL_ATTACHMENT:i.DEPTH_ATTACHMENT,Rt=ct(X);Dt(X)?l.renderbufferStorageMultisampleEXT(i.RENDERBUFFER,Rt,ze,X.width,X.height):oe?i.renderbufferStorageMultisample(i.RENDERBUFFER,Rt,ze,X.width,X.height):i.renderbufferStorage(i.RENDERBUFFER,ze,X.width,X.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,Et,i.RENDERBUFFER,fe)}else{const Me=X.textures;for(let Fe=0;Fe{delete X.__boundDepthTexture,delete X.__depthDisposeCallback,Me.removeEventListener("dispose",Fe)};Me.addEventListener("dispose",Fe),X.__depthDisposeCallback=Fe}X.__boundDepthTexture=Me}if(fe.depthTexture&&!X.__autoAllocateDepthBuffer){if(oe)throw new Error("target.depthTexture not supported in Cube render targets");pt(X.__webglFramebuffer,fe)}else if(oe){X.__webglDepthbuffer=[];for(let Me=0;Me<6;Me++)if(t.bindFramebuffer(i.FRAMEBUFFER,X.__webglFramebuffer[Me]),X.__webglDepthbuffer[Me]===void 0)X.__webglDepthbuffer[Me]=i.createRenderbuffer(),Pe(X.__webglDepthbuffer[Me],fe,!1);else{const Fe=fe.stencilBuffer?i.DEPTH_STENCIL_ATTACHMENT:i.DEPTH_ATTACHMENT,ze=X.__webglDepthbuffer[Me];i.bindRenderbuffer(i.RENDERBUFFER,ze),i.framebufferRenderbuffer(i.FRAMEBUFFER,Fe,i.RENDERBUFFER,ze)}}else if(t.bindFramebuffer(i.FRAMEBUFFER,X.__webglFramebuffer),X.__webglDepthbuffer===void 0)X.__webglDepthbuffer=i.createRenderbuffer(),Pe(X.__webglDepthbuffer,fe,!1);else{const Me=fe.stencilBuffer?i.DEPTH_STENCIL_ATTACHMENT:i.DEPTH_ATTACHMENT,Fe=X.__webglDepthbuffer;i.bindRenderbuffer(i.RENDERBUFFER,Fe),i.framebufferRenderbuffer(i.FRAMEBUFFER,Me,i.RENDERBUFFER,Fe)}t.bindFramebuffer(i.FRAMEBUFFER,null)}function Tt(fe,X,oe){const Me=n.get(fe);X!==void 0&&ye(Me.__webglFramebuffer,fe,fe.texture,i.COLOR_ATTACHMENT0,i.TEXTURE_2D,0),oe!==void 0&&vt(fe)}function It(fe){const X=fe.texture,oe=n.get(fe),Me=n.get(X);fe.addEventListener("dispose",k);const Fe=fe.textures,ze=fe.isWebGLCubeRenderTarget===!0,Et=Fe.length>1;if(Et||(Me.__webglTexture===void 0&&(Me.__webglTexture=i.createTexture()),Me.__version=X.version,a.memory.textures++),ze){oe.__webglFramebuffer=[];for(let Rt=0;Rt<6;Rt++)if(X.mipmaps&&X.mipmaps.length>0){oe.__webglFramebuffer[Rt]=[];for(let Ht=0;Ht0){oe.__webglFramebuffer=[];for(let Rt=0;Rt0&&Dt(fe)===!1){oe.__webglMultisampledFramebuffer=i.createFramebuffer(),oe.__webglColorRenderbuffer=[],t.bindFramebuffer(i.FRAMEBUFFER,oe.__webglMultisampledFramebuffer);for(let Rt=0;Rt0)for(let Ht=0;Ht0)for(let Ht=0;Ht0){if(Dt(fe)===!1){const X=fe.textures,oe=fe.width,Me=fe.height;let Fe=i.COLOR_BUFFER_BIT;const ze=fe.stencilBuffer?i.DEPTH_STENCIL_ATTACHMENT:i.DEPTH_ATTACHMENT,Et=n.get(fe),Rt=X.length>1;if(Rt)for(let Ht=0;Ht0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&X.__useRenderToTexture!==!1}function gt(fe){const X=a.render.frame;g.get(fe)!==X&&(g.set(fe,X),fe.update())}function tn(fe,X){const oe=fe.colorSpace,Me=fe.format,Fe=fe.type;return fe.isCompressedTexture===!0||fe.isVideoTexture===!0||oe!==Ro&&oe!==Co&&(ai.getTransfer(oe)===Vi?(Me!==ks||Fe!==aa)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",oe)),X}function yt(fe){return typeof HTMLImageElement<"u"&&fe instanceof HTMLImageElement?(h.width=fe.naturalWidth||fe.width,h.height=fe.naturalHeight||fe.height):typeof VideoFrame<"u"&&fe instanceof VideoFrame?(h.width=fe.displayWidth,h.height=fe.displayHeight):(h.width=fe.width,h.height=fe.height),h}this.allocateTextureUnit=ne,this.resetTextureUnits=ee,this.setTexture2D=te,this.setTexture2DArray=Q,this.setTexture3D=le,this.setTextureCube=de,this.rebindTextures=Tt,this.setupRenderTarget=It,this.updateRenderTargetMipmap=Qe,this.updateMultisampleRenderTarget=Ft,this.setupDepthRenderbuffer=vt,this.setupFrameBufferTexture=ye,this.useMultisampledRTT=Dt}function Tj(i,e){function t(n,r=Co){let s;const a=ai.getTransfer(r);if(n===aa)return i.UNSIGNED_BYTE;if(n===Ay)return i.UNSIGNED_SHORT_4_4_4_4;if(n===dy)return i.UNSIGNED_SHORT_5_5_5_1;if(n===py)return i.UNSIGNED_INT_5_9_9_9_REV;if(n===Qf)return i.BYTE;if(n===Kf)return i.SHORT;if(n===wl)return i.UNSIGNED_SHORT;if(n===Ns)return i.INT;if(n===Rr)return i.UNSIGNED_INT;if(n===$r)return i.FLOAT;if(n===Gs)return i.HALF_FLOAT;if(n===Uw)return i.ALPHA;if(n===Ug)return i.RGB;if(n===ks)return i.RGBA;if(n===Bw)return i.LUMINANCE;if(n===Ow)return i.LUMINANCE_ALPHA;if(n===au)return i.DEPTH_COMPONENT;if(n===du)return i.DEPTH_STENCIL;if(n===Bg)return i.RED;if(n===H0)return i.RED_INTEGER;if(n===lA)return i.RG;if(n===j0)return i.RG_INTEGER;if(n===W0)return i.RGBA_INTEGER;if(n===Zf||n===Bh||n===Oh||n===Ih)if(a===Vi)if(s=e.get("WEBGL_compressed_texture_s3tc_srgb"),s!==null){if(n===Zf)return s.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(n===Bh)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(n===Oh)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(n===Ih)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(s=e.get("WEBGL_compressed_texture_s3tc"),s!==null){if(n===Zf)return s.COMPRESSED_RGB_S3TC_DXT1_EXT;if(n===Bh)return s.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(n===Oh)return s.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(n===Ih)return s.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(n===Km||n===Zm||n===Jm||n===eg)if(s=e.get("WEBGL_compressed_texture_pvrtc"),s!==null){if(n===Km)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(n===Zm)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(n===Jm)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(n===eg)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(n===tg||n===u0||n===c0)if(s=e.get("WEBGL_compressed_texture_etc"),s!==null){if(n===tg||n===u0)return a===Vi?s.COMPRESSED_SRGB8_ETC2:s.COMPRESSED_RGB8_ETC2;if(n===c0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:s.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(n===h0||n===f0||n===A0||n===d0||n===p0||n===m0||n===g0||n===v0||n===_0||n===y0||n===x0||n===b0||n===S0||n===T0)if(s=e.get("WEBGL_compressed_texture_astc"),s!==null){if(n===h0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:s.COMPRESSED_RGBA_ASTC_4x4_KHR;if(n===f0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:s.COMPRESSED_RGBA_ASTC_5x4_KHR;if(n===A0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:s.COMPRESSED_RGBA_ASTC_5x5_KHR;if(n===d0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:s.COMPRESSED_RGBA_ASTC_6x5_KHR;if(n===p0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:s.COMPRESSED_RGBA_ASTC_6x6_KHR;if(n===m0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:s.COMPRESSED_RGBA_ASTC_8x5_KHR;if(n===g0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:s.COMPRESSED_RGBA_ASTC_8x6_KHR;if(n===v0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:s.COMPRESSED_RGBA_ASTC_8x8_KHR;if(n===_0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:s.COMPRESSED_RGBA_ASTC_10x5_KHR;if(n===y0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:s.COMPRESSED_RGBA_ASTC_10x6_KHR;if(n===x0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:s.COMPRESSED_RGBA_ASTC_10x8_KHR;if(n===b0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:s.COMPRESSED_RGBA_ASTC_10x10_KHR;if(n===S0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:s.COMPRESSED_RGBA_ASTC_12x10_KHR;if(n===T0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:s.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(n===Jf||n===HS||n===jS)if(s=e.get("EXT_texture_compression_bptc"),s!==null){if(n===Jf)return a===Vi?s.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:s.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(n===HS)return s.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(n===jS)return s.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(n===Iw||n===ng||n===ig||n===rg)if(s=e.get("EXT_texture_compression_rgtc"),s!==null){if(n===Jf)return s.COMPRESSED_RED_RGTC1_EXT;if(n===ng)return s.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(n===ig)return s.COMPRESSED_RED_GREEN_RGTC2_EXT;if(n===rg)return s.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return n===Au?i.UNSIGNED_INT_24_8:i[n]!==void 0?i[n]:null}return{convert:t}}const wj={type:"move"};class D3{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new ja,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new ja,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new ce,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new ce),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new ja,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new ce,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new ce),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const t=this._hand;if(t)for(const n of e.hand.values())this._getHandJoint(t,n)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,n){let r=null,s=null,a=null;const l=this._targetRay,u=this._grip,h=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(h&&e.hand){a=!0;for(const R of e.hand.values()){const C=t.getJointPose(R,n),E=this._getHandJoint(h,R);C!==null&&(E.matrix.fromArray(C.transform.matrix),E.matrix.decompose(E.position,E.rotation,E.scale),E.matrixWorldNeedsUpdate=!0,E.jointRadius=C.radius),E.visible=C!==null}const g=h.joints["index-finger-tip"],v=h.joints["thumb-tip"],x=g.position.distanceTo(v.position),S=.02,w=.005;h.inputState.pinching&&x>S+w?(h.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!h.inputState.pinching&&x<=S-w&&(h.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else u!==null&&e.gripSpace&&(s=t.getPose(e.gripSpace,n),s!==null&&(u.matrix.fromArray(s.transform.matrix),u.matrix.decompose(u.position,u.rotation,u.scale),u.matrixWorldNeedsUpdate=!0,s.linearVelocity?(u.hasLinearVelocity=!0,u.linearVelocity.copy(s.linearVelocity)):u.hasLinearVelocity=!1,s.angularVelocity?(u.hasAngularVelocity=!0,u.angularVelocity.copy(s.angularVelocity)):u.hasAngularVelocity=!1));l!==null&&(r=t.getPose(e.targetRaySpace,n),r===null&&s!==null&&(r=s),r!==null&&(l.matrix.fromArray(r.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,r.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(r.linearVelocity)):l.hasLinearVelocity=!1,r.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(r.angularVelocity)):l.hasAngularVelocity=!1,this.dispatchEvent(wj)))}return l!==null&&(l.visible=r!==null),u!==null&&(u.visible=s!==null),h!==null&&(h.visible=a!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const n=new ja;n.matrixAutoUpdate=!1,n.visible=!1,e.joints[t.jointName]=n,e.add(n)}return e.joints[t.jointName]}}const Mj=` +}`;function yj(i,e,t){let n=new Fg;const r=new ft,s=new ft,a=new Pn,l=new Dz({depthPacking:WF}),u=new Pz,h={},g=t.maxTextureSize,v={[Nl]:hr,[hr]:Nl,[as]:as},x=new Ja({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new ft},radius:{value:4}},vertexShader:vj,fragmentShader:_j}),S=x.clone();S.defines.HORIZONTAL_PASS=1;const w=new Ki;w.setAttribute("position",new wr(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const R=new zi(w,x),C=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=yw;let E=this.type;this.render=function(G,k,H){if(C.enabled===!1||C.autoUpdate===!1&&C.needsUpdate===!1||G.length===0)return;const F=i.getRenderTarget(),V=i.getActiveCubeFace(),Y=i.getActiveMipmapLevel(),ee=i.state;ee.setBlending(Qa),ee.buffers.color.setClear(1,1,1,1),ee.buffers.depth.setTest(!0),ee.setScissorTest(!1);const ne=E!==xo&&this.type===xo,se=E===xo&&this.type!==xo;for(let te=0,Q=G.length;teg||r.y>g)&&(r.x>g&&(s.x=Math.floor(g/Te.x),r.x=s.x*Te.x,de.mapSize.x=s.x),r.y>g&&(s.y=Math.floor(g/Te.y),r.y=s.y*Te.y,de.mapSize.y=s.y)),de.map===null||ne===!0||se===!0){const ue=this.type!==xo?{minFilter:mr,magFilter:mr}:{};de.map!==null&&de.map.dispose(),de.map=new qh(r.x,r.y,ue),de.map.texture.name=le.name+".shadowMap",de.camera.updateProjectionMatrix()}i.setRenderTarget(de.map),i.clear();const Se=de.getViewportCount();for(let ue=0;ue0||k.map&&k.alphaTest>0){const ee=V.uuid,ne=k.uuid;let se=h[ee];se===void 0&&(se={},h[ee]=se);let te=se[ne];te===void 0&&(te=V.clone(),se[ne]=te,k.addEventListener("dispose",z)),V=te}if(V.visible=k.visible,V.wireframe=k.wireframe,F===xo?V.side=k.shadowSide!==null?k.shadowSide:k.side:V.side=k.shadowSide!==null?k.shadowSide:v[k.side],V.alphaMap=k.alphaMap,V.alphaTest=k.alphaTest,V.map=k.map,V.clipShadows=k.clipShadows,V.clippingPlanes=k.clippingPlanes,V.clipIntersection=k.clipIntersection,V.displacementMap=k.displacementMap,V.displacementScale=k.displacementScale,V.displacementBias=k.displacementBias,V.wireframeLinewidth=k.wireframeLinewidth,V.linewidth=k.linewidth,H.isPointLight===!0&&V.isMeshDistanceMaterial===!0){const ee=i.properties.get(V);ee.light=H}return V}function O(G,k,H,F,V){if(G.visible===!1)return;if(G.layers.test(k.layers)&&(G.isMesh||G.isLine||G.isPoints)&&(G.castShadow||G.receiveShadow&&V===xo)&&(!G.frustumCulled||n.intersectsObject(G))){G.modelViewMatrix.multiplyMatrices(H.matrixWorldInverse,G.matrixWorld);const ne=e.update(G),se=G.material;if(Array.isArray(se)){const te=ne.groups;for(let Q=0,le=te.length;Q=1):de.indexOf("OpenGL ES")!==-1&&(le=parseFloat(/^OpenGL ES (\d)/.exec(de)[1]),Q=le>=2);let Te=null,Se={};const ue=i.getParameter(i.SCISSOR_BOX),be=i.getParameter(i.VIEWPORT),We=new Pn().fromArray(ue),Ee=new Pn().fromArray(be);function Ge(ge,Wt,nt,xt){const $t=new Uint8Array(4),zt=i.createTexture();i.bindTexture(ge,zt),i.texParameteri(ge,i.TEXTURE_MIN_FILTER,i.NEAREST),i.texParameteri(ge,i.TEXTURE_MAG_FILTER,i.NEAREST);for(let xn=0;xn"u"?!1:/OculusBrowser/g.test(navigator.userAgent),h=new ft,g=new WeakMap;let v;const x=new WeakMap;let S=!1;try{S=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function w(fe,X){return S?new OffscreenCanvas(fe,X):sg("canvas")}function R(fe,X,oe){let Me=1;const Fe=_t(fe);if((Fe.width>oe||Fe.height>oe)&&(Me=oe/Math.max(Fe.width,Fe.height)),Me<1)if(typeof HTMLImageElement<"u"&&fe instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&fe instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&fe instanceof ImageBitmap||typeof VideoFrame<"u"&&fe instanceof VideoFrame){const ze=Math.floor(Me*Fe.width),Et=Math.floor(Me*Fe.height);v===void 0&&(v=w(ze,Et));const Rt=X?w(ze,Et):v;return Rt.width=ze,Rt.height=Et,Rt.getContext("2d").drawImage(fe,0,0,ze,Et),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+Fe.width+"x"+Fe.height+") to ("+ze+"x"+Et+")."),Rt}else return"data"in fe&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+Fe.width+"x"+Fe.height+")."),fe;return fe}function C(fe){return fe.generateMipmaps}function E(fe){i.generateMipmap(fe)}function B(fe){return fe.isWebGLCubeRenderTarget?i.TEXTURE_CUBE_MAP:fe.isWebGL3DRenderTarget?i.TEXTURE_3D:fe.isWebGLArrayRenderTarget||fe.isCompressedArrayTexture?i.TEXTURE_2D_ARRAY:i.TEXTURE_2D}function L(fe,X,oe,Me,Fe=!1){if(fe!==null){if(i[fe]!==void 0)return i[fe];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+fe+"'")}let ze=X;if(X===i.RED&&(oe===i.FLOAT&&(ze=i.R32F),oe===i.HALF_FLOAT&&(ze=i.R16F),oe===i.UNSIGNED_BYTE&&(ze=i.R8)),X===i.RED_INTEGER&&(oe===i.UNSIGNED_BYTE&&(ze=i.R8UI),oe===i.UNSIGNED_SHORT&&(ze=i.R16UI),oe===i.UNSIGNED_INT&&(ze=i.R32UI),oe===i.BYTE&&(ze=i.R8I),oe===i.SHORT&&(ze=i.R16I),oe===i.INT&&(ze=i.R32I)),X===i.RG&&(oe===i.FLOAT&&(ze=i.RG32F),oe===i.HALF_FLOAT&&(ze=i.RG16F),oe===i.UNSIGNED_BYTE&&(ze=i.RG8)),X===i.RG_INTEGER&&(oe===i.UNSIGNED_BYTE&&(ze=i.RG8UI),oe===i.UNSIGNED_SHORT&&(ze=i.RG16UI),oe===i.UNSIGNED_INT&&(ze=i.RG32UI),oe===i.BYTE&&(ze=i.RG8I),oe===i.SHORT&&(ze=i.RG16I),oe===i.INT&&(ze=i.RG32I)),X===i.RGB_INTEGER&&(oe===i.UNSIGNED_BYTE&&(ze=i.RGB8UI),oe===i.UNSIGNED_SHORT&&(ze=i.RGB16UI),oe===i.UNSIGNED_INT&&(ze=i.RGB32UI),oe===i.BYTE&&(ze=i.RGB8I),oe===i.SHORT&&(ze=i.RGB16I),oe===i.INT&&(ze=i.RGB32I)),X===i.RGBA_INTEGER&&(oe===i.UNSIGNED_BYTE&&(ze=i.RGBA8UI),oe===i.UNSIGNED_SHORT&&(ze=i.RGBA16UI),oe===i.UNSIGNED_INT&&(ze=i.RGBA32UI),oe===i.BYTE&&(ze=i.RGBA8I),oe===i.SHORT&&(ze=i.RGBA16I),oe===i.INT&&(ze=i.RGBA32I)),X===i.RGB&&oe===i.UNSIGNED_INT_5_9_9_9_REV&&(ze=i.RGB9_E5),X===i.RGBA){const Et=Fe?a_:ai.getTransfer(Me);oe===i.FLOAT&&(ze=i.RGBA32F),oe===i.HALF_FLOAT&&(ze=i.RGBA16F),oe===i.UNSIGNED_BYTE&&(ze=Et===Vi?i.SRGB8_ALPHA8:i.RGBA8),oe===i.UNSIGNED_SHORT_4_4_4_4&&(ze=i.RGBA4),oe===i.UNSIGNED_SHORT_5_5_5_1&&(ze=i.RGB5_A1)}return(ze===i.R16F||ze===i.R32F||ze===i.RG16F||ze===i.RG32F||ze===i.RGBA16F||ze===i.RGBA32F)&&e.get("EXT_color_buffer_float"),ze}function O(fe,X){let oe;return fe?X===null||X===Rr||X===Au?oe=i.DEPTH24_STENCIL8:X===$r?oe=i.DEPTH32F_STENCIL8:X===wl&&(oe=i.DEPTH24_STENCIL8,console.warn("DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.")):X===null||X===Rr||X===Au?oe=i.DEPTH_COMPONENT24:X===$r?oe=i.DEPTH_COMPONENT32F:X===wl&&(oe=i.DEPTH_COMPONENT16),oe}function z(fe,X){return C(fe)===!0||fe.isFramebufferTexture&&fe.minFilter!==mr&&fe.minFilter!==gs?Math.log2(Math.max(X.width,X.height))+1:fe.mipmaps!==void 0&&fe.mipmaps.length>0?fe.mipmaps.length:fe.isCompressedTexture&&Array.isArray(fe.image)?X.mipmaps.length:1}function G(fe){const X=fe.target;X.removeEventListener("dispose",G),H(X),X.isVideoTexture&&g.delete(X)}function k(fe){const X=fe.target;X.removeEventListener("dispose",k),V(X)}function H(fe){const X=n.get(fe);if(X.__webglInit===void 0)return;const oe=fe.source,Me=x.get(oe);if(Me){const Fe=Me[X.__cacheKey];Fe.usedTimes--,Fe.usedTimes===0&&F(fe),Object.keys(Me).length===0&&x.delete(oe)}n.remove(fe)}function F(fe){const X=n.get(fe);i.deleteTexture(X.__webglTexture);const oe=fe.source,Me=x.get(oe);delete Me[X.__cacheKey],a.memory.textures--}function V(fe){const X=n.get(fe);if(fe.depthTexture&&(fe.depthTexture.dispose(),n.remove(fe.depthTexture)),fe.isWebGLCubeRenderTarget)for(let Me=0;Me<6;Me++){if(Array.isArray(X.__webglFramebuffer[Me]))for(let Fe=0;Fe=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+fe+" texture units while this GPU supports only "+r.maxTextures),Y+=1,fe}function se(fe){const X=[];return X.push(fe.wrapS),X.push(fe.wrapT),X.push(fe.wrapR||0),X.push(fe.magFilter),X.push(fe.minFilter),X.push(fe.anisotropy),X.push(fe.internalFormat),X.push(fe.format),X.push(fe.type),X.push(fe.generateMipmaps),X.push(fe.premultiplyAlpha),X.push(fe.flipY),X.push(fe.unpackAlignment),X.push(fe.colorSpace),X.join()}function te(fe,X){const oe=n.get(fe);if(fe.isVideoTexture&>(fe),fe.isRenderTargetTexture===!1&&fe.version>0&&oe.__version!==fe.version){const Me=fe.image;if(Me===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(Me.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{Ee(oe,fe,X);return}}t.bindTexture(i.TEXTURE_2D,oe.__webglTexture,i.TEXTURE0+X)}function Q(fe,X){const oe=n.get(fe);if(fe.version>0&&oe.__version!==fe.version){Ee(oe,fe,X);return}t.bindTexture(i.TEXTURE_2D_ARRAY,oe.__webglTexture,i.TEXTURE0+X)}function le(fe,X){const oe=n.get(fe);if(fe.version>0&&oe.__version!==fe.version){Ee(oe,fe,X);return}t.bindTexture(i.TEXTURE_3D,oe.__webglTexture,i.TEXTURE0+X)}function de(fe,X){const oe=n.get(fe);if(fe.version>0&&oe.__version!==fe.version){Ge(oe,fe,X);return}t.bindTexture(i.TEXTURE_CUBE_MAP,oe.__webglTexture,i.TEXTURE0+X)}const Te={[aA]:i.REPEAT,[eu]:i.CLAMP_TO_EDGE,[oA]:i.MIRRORED_REPEAT},Se={[mr]:i.NEAREST,[s_]:i.NEAREST_MIPMAP_NEAREST,[tu]:i.NEAREST_MIPMAP_LINEAR,[gs]:i.LINEAR,[Jd]:i.LINEAR_MIPMAP_NEAREST,[Va]:i.LINEAR_MIPMAP_LINEAR},ue={[Fw]:i.NEVER,[Vw]:i.ALWAYS,[my]:i.LESS,[gy]:i.LEQUAL,[kw]:i.EQUAL,[qw]:i.GEQUAL,[zw]:i.GREATER,[Gw]:i.NOTEQUAL};function be(fe,X){if(X.type===$r&&e.has("OES_texture_float_linear")===!1&&(X.magFilter===gs||X.magFilter===Jd||X.magFilter===tu||X.magFilter===Va||X.minFilter===gs||X.minFilter===Jd||X.minFilter===tu||X.minFilter===Va)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),i.texParameteri(fe,i.TEXTURE_WRAP_S,Te[X.wrapS]),i.texParameteri(fe,i.TEXTURE_WRAP_T,Te[X.wrapT]),(fe===i.TEXTURE_3D||fe===i.TEXTURE_2D_ARRAY)&&i.texParameteri(fe,i.TEXTURE_WRAP_R,Te[X.wrapR]),i.texParameteri(fe,i.TEXTURE_MAG_FILTER,Se[X.magFilter]),i.texParameteri(fe,i.TEXTURE_MIN_FILTER,Se[X.minFilter]),X.compareFunction&&(i.texParameteri(fe,i.TEXTURE_COMPARE_MODE,i.COMPARE_REF_TO_TEXTURE),i.texParameteri(fe,i.TEXTURE_COMPARE_FUNC,ue[X.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){if(X.magFilter===mr||X.minFilter!==tu&&X.minFilter!==Va||X.type===$r&&e.has("OES_texture_float_linear")===!1)return;if(X.anisotropy>1||n.get(X).__currentAnisotropy){const oe=e.get("EXT_texture_filter_anisotropic");i.texParameterf(fe,oe.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(X.anisotropy,r.getMaxAnisotropy())),n.get(X).__currentAnisotropy=X.anisotropy}}}function We(fe,X){let oe=!1;fe.__webglInit===void 0&&(fe.__webglInit=!0,X.addEventListener("dispose",G));const Me=X.source;let Fe=x.get(Me);Fe===void 0&&(Fe={},x.set(Me,Fe));const ze=se(X);if(ze!==fe.__cacheKey){Fe[ze]===void 0&&(Fe[ze]={texture:i.createTexture(),usedTimes:0},a.memory.textures++,oe=!0),Fe[ze].usedTimes++;const Et=Fe[fe.__cacheKey];Et!==void 0&&(Fe[fe.__cacheKey].usedTimes--,Et.usedTimes===0&&F(X)),fe.__cacheKey=ze,fe.__webglTexture=Fe[ze].texture}return oe}function Ee(fe,X,oe){let Me=i.TEXTURE_2D;(X.isDataArrayTexture||X.isCompressedArrayTexture)&&(Me=i.TEXTURE_2D_ARRAY),X.isData3DTexture&&(Me=i.TEXTURE_3D);const Fe=We(fe,X),ze=X.source;t.bindTexture(Me,fe.__webglTexture,i.TEXTURE0+oe);const Et=n.get(ze);if(ze.version!==Et.__version||Fe===!0){t.activeTexture(i.TEXTURE0+oe);const Rt=ai.getPrimaries(ai.workingColorSpace),Ht=X.colorSpace===Co?null:ai.getPrimaries(X.colorSpace),Xt=X.colorSpace===Co||Rt===Ht?i.NONE:i.BROWSER_DEFAULT_WEBGL;i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,X.flipY),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,X.premultiplyAlpha),i.pixelStorei(i.UNPACK_ALIGNMENT,X.unpackAlignment),i.pixelStorei(i.UNPACK_COLORSPACE_CONVERSION_WEBGL,Xt);let yt=R(X.image,!1,r.maxTextureSize);yt=tn(X,yt);const Zt=s.convert(X.format,X.colorSpace),sn=s.convert(X.type);let jt=L(X.internalFormat,Zt,sn,X.colorSpace,X.isVideoTexture);be(Me,X);let kt;const qt=X.mipmaps,In=X.isVideoTexture!==!0,Mi=Et.__version===void 0||Fe===!0,ge=ze.dataReady,Wt=z(X,yt);if(X.isDepthTexture)jt=O(X.format===du,X.type),Mi&&(In?t.texStorage2D(i.TEXTURE_2D,1,jt,yt.width,yt.height):t.texImage2D(i.TEXTURE_2D,0,jt,yt.width,yt.height,0,Zt,sn,null));else if(X.isDataTexture)if(qt.length>0){In&&Mi&&t.texStorage2D(i.TEXTURE_2D,Wt,jt,qt[0].width,qt[0].height);for(let nt=0,xt=qt.length;nt0){const $t=D5(kt.width,kt.height,X.format,X.type);for(const zt of X.layerUpdates){const xn=kt.data.subarray(zt*$t/kt.data.BYTES_PER_ELEMENT,(zt+1)*$t/kt.data.BYTES_PER_ELEMENT);t.compressedTexSubImage3D(i.TEXTURE_2D_ARRAY,nt,0,0,zt,kt.width,kt.height,1,Zt,xn)}X.clearLayerUpdates()}else t.compressedTexSubImage3D(i.TEXTURE_2D_ARRAY,nt,0,0,0,kt.width,kt.height,yt.depth,Zt,kt.data)}else t.compressedTexImage3D(i.TEXTURE_2D_ARRAY,nt,jt,kt.width,kt.height,yt.depth,0,kt.data,0,0);else console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()");else In?ge&&t.texSubImage3D(i.TEXTURE_2D_ARRAY,nt,0,0,0,kt.width,kt.height,yt.depth,Zt,sn,kt.data):t.texImage3D(i.TEXTURE_2D_ARRAY,nt,jt,kt.width,kt.height,yt.depth,0,Zt,sn,kt.data)}else{In&&Mi&&t.texStorage2D(i.TEXTURE_2D,Wt,jt,qt[0].width,qt[0].height);for(let nt=0,xt=qt.length;nt0){const nt=D5(yt.width,yt.height,X.format,X.type);for(const xt of X.layerUpdates){const $t=yt.data.subarray(xt*nt/yt.data.BYTES_PER_ELEMENT,(xt+1)*nt/yt.data.BYTES_PER_ELEMENT);t.texSubImage3D(i.TEXTURE_2D_ARRAY,0,0,0,xt,yt.width,yt.height,1,Zt,sn,$t)}X.clearLayerUpdates()}else t.texSubImage3D(i.TEXTURE_2D_ARRAY,0,0,0,0,yt.width,yt.height,yt.depth,Zt,sn,yt.data)}else t.texImage3D(i.TEXTURE_2D_ARRAY,0,jt,yt.width,yt.height,yt.depth,0,Zt,sn,yt.data);else if(X.isData3DTexture)In?(Mi&&t.texStorage3D(i.TEXTURE_3D,Wt,jt,yt.width,yt.height,yt.depth),ge&&t.texSubImage3D(i.TEXTURE_3D,0,0,0,0,yt.width,yt.height,yt.depth,Zt,sn,yt.data)):t.texImage3D(i.TEXTURE_3D,0,jt,yt.width,yt.height,yt.depth,0,Zt,sn,yt.data);else if(X.isFramebufferTexture){if(Mi)if(In)t.texStorage2D(i.TEXTURE_2D,Wt,jt,yt.width,yt.height);else{let nt=yt.width,xt=yt.height;for(let $t=0;$t>=1,xt>>=1}}else if(qt.length>0){if(In&&Mi){const nt=_t(qt[0]);t.texStorage2D(i.TEXTURE_2D,Wt,jt,nt.width,nt.height)}for(let nt=0,xt=qt.length;nt0&&Wt++;const xt=_t(Zt[0]);t.texStorage2D(i.TEXTURE_CUBE_MAP,Wt,qt,xt.width,xt.height)}for(let xt=0;xt<6;xt++)if(yt){In?ge&&t.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+xt,0,0,0,Zt[xt].width,Zt[xt].height,jt,kt,Zt[xt].data):t.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+xt,0,qt,Zt[xt].width,Zt[xt].height,0,jt,kt,Zt[xt].data);for(let $t=0;$t>ze),sn=Math.max(1,X.height>>ze);Fe===i.TEXTURE_3D||Fe===i.TEXTURE_2D_ARRAY?t.texImage3D(Fe,ze,Ht,Zt,sn,X.depth,0,Et,Rt,null):t.texImage2D(Fe,ze,Ht,Zt,sn,0,Et,Rt,null)}t.bindFramebuffer(i.FRAMEBUFFER,fe),Dt(X)?l.framebufferTexture2DMultisampleEXT(i.FRAMEBUFFER,Me,Fe,yt.__webglTexture,0,ct(X)):(Fe===i.TEXTURE_2D||Fe>=i.TEXTURE_CUBE_MAP_POSITIVE_X&&Fe<=i.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&i.framebufferTexture2D(i.FRAMEBUFFER,Me,Fe,yt.__webglTexture,ze),t.bindFramebuffer(i.FRAMEBUFFER,null)}function Pe(fe,X,oe){if(i.bindRenderbuffer(i.RENDERBUFFER,fe),X.depthBuffer){const Me=X.depthTexture,Fe=Me&&Me.isDepthTexture?Me.type:null,ze=O(X.stencilBuffer,Fe),Et=X.stencilBuffer?i.DEPTH_STENCIL_ATTACHMENT:i.DEPTH_ATTACHMENT,Rt=ct(X);Dt(X)?l.renderbufferStorageMultisampleEXT(i.RENDERBUFFER,Rt,ze,X.width,X.height):oe?i.renderbufferStorageMultisample(i.RENDERBUFFER,Rt,ze,X.width,X.height):i.renderbufferStorage(i.RENDERBUFFER,ze,X.width,X.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,Et,i.RENDERBUFFER,fe)}else{const Me=X.textures;for(let Fe=0;Fe{delete X.__boundDepthTexture,delete X.__depthDisposeCallback,Me.removeEventListener("dispose",Fe)};Me.addEventListener("dispose",Fe),X.__depthDisposeCallback=Fe}X.__boundDepthTexture=Me}if(fe.depthTexture&&!X.__autoAllocateDepthBuffer){if(oe)throw new Error("target.depthTexture not supported in Cube render targets");pt(X.__webglFramebuffer,fe)}else if(oe){X.__webglDepthbuffer=[];for(let Me=0;Me<6;Me++)if(t.bindFramebuffer(i.FRAMEBUFFER,X.__webglFramebuffer[Me]),X.__webglDepthbuffer[Me]===void 0)X.__webglDepthbuffer[Me]=i.createRenderbuffer(),Pe(X.__webglDepthbuffer[Me],fe,!1);else{const Fe=fe.stencilBuffer?i.DEPTH_STENCIL_ATTACHMENT:i.DEPTH_ATTACHMENT,ze=X.__webglDepthbuffer[Me];i.bindRenderbuffer(i.RENDERBUFFER,ze),i.framebufferRenderbuffer(i.FRAMEBUFFER,Fe,i.RENDERBUFFER,ze)}}else if(t.bindFramebuffer(i.FRAMEBUFFER,X.__webglFramebuffer),X.__webglDepthbuffer===void 0)X.__webglDepthbuffer=i.createRenderbuffer(),Pe(X.__webglDepthbuffer,fe,!1);else{const Me=fe.stencilBuffer?i.DEPTH_STENCIL_ATTACHMENT:i.DEPTH_ATTACHMENT,Fe=X.__webglDepthbuffer;i.bindRenderbuffer(i.RENDERBUFFER,Fe),i.framebufferRenderbuffer(i.FRAMEBUFFER,Me,i.RENDERBUFFER,Fe)}t.bindFramebuffer(i.FRAMEBUFFER,null)}function Tt(fe,X,oe){const Me=n.get(fe);X!==void 0&&ye(Me.__webglFramebuffer,fe,fe.texture,i.COLOR_ATTACHMENT0,i.TEXTURE_2D,0),oe!==void 0&&vt(fe)}function It(fe){const X=fe.texture,oe=n.get(fe),Me=n.get(X);fe.addEventListener("dispose",k);const Fe=fe.textures,ze=fe.isWebGLCubeRenderTarget===!0,Et=Fe.length>1;if(Et||(Me.__webglTexture===void 0&&(Me.__webglTexture=i.createTexture()),Me.__version=X.version,a.memory.textures++),ze){oe.__webglFramebuffer=[];for(let Rt=0;Rt<6;Rt++)if(X.mipmaps&&X.mipmaps.length>0){oe.__webglFramebuffer[Rt]=[];for(let Ht=0;Ht0){oe.__webglFramebuffer=[];for(let Rt=0;Rt0&&Dt(fe)===!1){oe.__webglMultisampledFramebuffer=i.createFramebuffer(),oe.__webglColorRenderbuffer=[],t.bindFramebuffer(i.FRAMEBUFFER,oe.__webglMultisampledFramebuffer);for(let Rt=0;Rt0)for(let Ht=0;Ht0)for(let Ht=0;Ht0){if(Dt(fe)===!1){const X=fe.textures,oe=fe.width,Me=fe.height;let Fe=i.COLOR_BUFFER_BIT;const ze=fe.stencilBuffer?i.DEPTH_STENCIL_ATTACHMENT:i.DEPTH_ATTACHMENT,Et=n.get(fe),Rt=X.length>1;if(Rt)for(let Ht=0;Ht0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&X.__useRenderToTexture!==!1}function gt(fe){const X=a.render.frame;g.get(fe)!==X&&(g.set(fe,X),fe.update())}function tn(fe,X){const oe=fe.colorSpace,Me=fe.format,Fe=fe.type;return fe.isCompressedTexture===!0||fe.isVideoTexture===!0||oe!==Ro&&oe!==Co&&(ai.getTransfer(oe)===Vi?(Me!==ks||Fe!==aa)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",oe)),X}function _t(fe){return typeof HTMLImageElement<"u"&&fe instanceof HTMLImageElement?(h.width=fe.naturalWidth||fe.width,h.height=fe.naturalHeight||fe.height):typeof VideoFrame<"u"&&fe instanceof VideoFrame?(h.width=fe.displayWidth,h.height=fe.displayHeight):(h.width=fe.width,h.height=fe.height),h}this.allocateTextureUnit=ne,this.resetTextureUnits=ee,this.setTexture2D=te,this.setTexture2DArray=Q,this.setTexture3D=le,this.setTextureCube=de,this.rebindTextures=Tt,this.setupRenderTarget=It,this.updateRenderTargetMipmap=Qe,this.updateMultisampleRenderTarget=Ft,this.setupDepthRenderbuffer=vt,this.setupFrameBufferTexture=ye,this.useMultisampledRTT=Dt}function Tj(i,e){function t(n,r=Co){let s;const a=ai.getTransfer(r);if(n===aa)return i.UNSIGNED_BYTE;if(n===Ay)return i.UNSIGNED_SHORT_4_4_4_4;if(n===dy)return i.UNSIGNED_SHORT_5_5_5_1;if(n===py)return i.UNSIGNED_INT_5_9_9_9_REV;if(n===Qf)return i.BYTE;if(n===Kf)return i.SHORT;if(n===wl)return i.UNSIGNED_SHORT;if(n===Ns)return i.INT;if(n===Rr)return i.UNSIGNED_INT;if(n===$r)return i.FLOAT;if(n===Gs)return i.HALF_FLOAT;if(n===Uw)return i.ALPHA;if(n===Ug)return i.RGB;if(n===ks)return i.RGBA;if(n===Bw)return i.LUMINANCE;if(n===Ow)return i.LUMINANCE_ALPHA;if(n===au)return i.DEPTH_COMPONENT;if(n===du)return i.DEPTH_STENCIL;if(n===Bg)return i.RED;if(n===H0)return i.RED_INTEGER;if(n===lA)return i.RG;if(n===j0)return i.RG_INTEGER;if(n===W0)return i.RGBA_INTEGER;if(n===Zf||n===Bh||n===Oh||n===Ih)if(a===Vi)if(s=e.get("WEBGL_compressed_texture_s3tc_srgb"),s!==null){if(n===Zf)return s.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(n===Bh)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(n===Oh)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(n===Ih)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(s=e.get("WEBGL_compressed_texture_s3tc"),s!==null){if(n===Zf)return s.COMPRESSED_RGB_S3TC_DXT1_EXT;if(n===Bh)return s.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(n===Oh)return s.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(n===Ih)return s.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(n===Km||n===Zm||n===Jm||n===eg)if(s=e.get("WEBGL_compressed_texture_pvrtc"),s!==null){if(n===Km)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(n===Zm)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(n===Jm)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(n===eg)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(n===tg||n===u0||n===c0)if(s=e.get("WEBGL_compressed_texture_etc"),s!==null){if(n===tg||n===u0)return a===Vi?s.COMPRESSED_SRGB8_ETC2:s.COMPRESSED_RGB8_ETC2;if(n===c0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:s.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(n===h0||n===f0||n===A0||n===d0||n===p0||n===m0||n===g0||n===v0||n===_0||n===y0||n===x0||n===b0||n===S0||n===T0)if(s=e.get("WEBGL_compressed_texture_astc"),s!==null){if(n===h0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:s.COMPRESSED_RGBA_ASTC_4x4_KHR;if(n===f0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:s.COMPRESSED_RGBA_ASTC_5x4_KHR;if(n===A0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:s.COMPRESSED_RGBA_ASTC_5x5_KHR;if(n===d0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:s.COMPRESSED_RGBA_ASTC_6x5_KHR;if(n===p0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:s.COMPRESSED_RGBA_ASTC_6x6_KHR;if(n===m0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:s.COMPRESSED_RGBA_ASTC_8x5_KHR;if(n===g0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:s.COMPRESSED_RGBA_ASTC_8x6_KHR;if(n===v0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:s.COMPRESSED_RGBA_ASTC_8x8_KHR;if(n===_0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:s.COMPRESSED_RGBA_ASTC_10x5_KHR;if(n===y0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:s.COMPRESSED_RGBA_ASTC_10x6_KHR;if(n===x0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:s.COMPRESSED_RGBA_ASTC_10x8_KHR;if(n===b0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:s.COMPRESSED_RGBA_ASTC_10x10_KHR;if(n===S0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:s.COMPRESSED_RGBA_ASTC_12x10_KHR;if(n===T0)return a===Vi?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:s.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(n===Jf||n===HS||n===jS)if(s=e.get("EXT_texture_compression_bptc"),s!==null){if(n===Jf)return a===Vi?s.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:s.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(n===HS)return s.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(n===jS)return s.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(n===Iw||n===ng||n===ig||n===rg)if(s=e.get("EXT_texture_compression_rgtc"),s!==null){if(n===Jf)return s.COMPRESSED_RED_RGTC1_EXT;if(n===ng)return s.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(n===ig)return s.COMPRESSED_RED_GREEN_RGTC2_EXT;if(n===rg)return s.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return n===Au?i.UNSIGNED_INT_24_8:i[n]!==void 0?i[n]:null}return{convert:t}}const wj={type:"move"};class D3{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new ja,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new ja,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new ce,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new ce),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new ja,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new ce,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new ce),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const t=this._hand;if(t)for(const n of e.hand.values())this._getHandJoint(t,n)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,n){let r=null,s=null,a=null;const l=this._targetRay,u=this._grip,h=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(h&&e.hand){a=!0;for(const R of e.hand.values()){const C=t.getJointPose(R,n),E=this._getHandJoint(h,R);C!==null&&(E.matrix.fromArray(C.transform.matrix),E.matrix.decompose(E.position,E.rotation,E.scale),E.matrixWorldNeedsUpdate=!0,E.jointRadius=C.radius),E.visible=C!==null}const g=h.joints["index-finger-tip"],v=h.joints["thumb-tip"],x=g.position.distanceTo(v.position),S=.02,w=.005;h.inputState.pinching&&x>S+w?(h.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!h.inputState.pinching&&x<=S-w&&(h.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else u!==null&&e.gripSpace&&(s=t.getPose(e.gripSpace,n),s!==null&&(u.matrix.fromArray(s.transform.matrix),u.matrix.decompose(u.position,u.rotation,u.scale),u.matrixWorldNeedsUpdate=!0,s.linearVelocity?(u.hasLinearVelocity=!0,u.linearVelocity.copy(s.linearVelocity)):u.hasLinearVelocity=!1,s.angularVelocity?(u.hasAngularVelocity=!0,u.angularVelocity.copy(s.angularVelocity)):u.hasAngularVelocity=!1));l!==null&&(r=t.getPose(e.targetRaySpace,n),r===null&&s!==null&&(r=s),r!==null&&(l.matrix.fromArray(r.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,r.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(r.linearVelocity)):l.hasLinearVelocity=!1,r.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(r.angularVelocity)):l.hasAngularVelocity=!1,this.dispatchEvent(wj)))}return l!==null&&(l.visible=r!==null),u!==null&&(u.visible=s!==null),h!==null&&(h.visible=a!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const n=new ja;n.matrixAutoUpdate=!1,n.visible=!1,e.joints[t.jointName]=n,e.add(n)}return e.joints[t.jointName]}}const Mj=` void main() { gl_Position = vec4( position, 1.0 ); @@ -3872,7 +3872,7 @@ void main() { } -}`;class Cj{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,n){if(this.texture===null){const r=new vs,s=e.properties.get(r);s.__webglTexture=t.texture,(t.depthNear!==n.depthNear||t.depthFar!==n.depthFar)&&(this.depthNear=t.depthNear,this.depthFar=t.depthFar),this.texture=r}}getMesh(e){if(this.texture!==null&&this.mesh===null){const t=e.cameras[0].viewport,n=new Ja({vertexShader:Mj,fragmentShader:Ej,uniforms:{depthColor:{value:this.texture},depthWidth:{value:t.z},depthHeight:{value:t.w}}});this.mesh=new zi(new Ty(20,20),n)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}}class Rj extends zc{constructor(e,t){super();const n=this;let r=null,s=1,a=null,l="local-floor",u=1,h=null,g=null,v=null,x=null,S=null,w=null;const R=new Cj,C=t.getContextAttributes();let E=null,B=null;const L=[],O=[],z=new ft;let G=null;const k=new ya;k.viewport=new Pn;const H=new ya;H.viewport=new Pn;const F=[k,H],V=new $z;let Y=null,ee=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(Ee){let Ge=L[Ee];return Ge===void 0&&(Ge=new D3,L[Ee]=Ge),Ge.getTargetRaySpace()},this.getControllerGrip=function(Ee){let Ge=L[Ee];return Ge===void 0&&(Ge=new D3,L[Ee]=Ge),Ge.getGripSpace()},this.getHand=function(Ee){let Ge=L[Ee];return Ge===void 0&&(Ge=new D3,L[Ee]=Ge),Ge.getHandSpace()};function ne(Ee){const Ge=O.indexOf(Ee.inputSource);if(Ge===-1)return;const ye=L[Ge];ye!==void 0&&(ye.update(Ee.inputSource,Ee.frame,h||a),ye.dispatchEvent({type:Ee.type,data:Ee.inputSource}))}function se(){r.removeEventListener("select",ne),r.removeEventListener("selectstart",ne),r.removeEventListener("selectend",ne),r.removeEventListener("squeeze",ne),r.removeEventListener("squeezestart",ne),r.removeEventListener("squeezeend",ne),r.removeEventListener("end",se),r.removeEventListener("inputsourceschange",te);for(let Ee=0;Ee=0&&(O[Pe]=null,L[Pe].disconnect(ye))}for(let Ge=0;Ge=O.length){O.push(ye),Pe=vt;break}else if(O[vt]===null){O[vt]=ye,Pe=vt;break}if(Pe===-1)break}const pt=L[Pe];pt&&pt.connect(ye)}}const Q=new ce,le=new ce;function de(Ee,Ge,ye){Q.setFromMatrixPosition(Ge.matrixWorld),le.setFromMatrixPosition(ye.matrixWorld);const Pe=Q.distanceTo(le),pt=Ge.projectionMatrix.elements,vt=ye.projectionMatrix.elements,Tt=pt[14]/(pt[10]-1),It=pt[14]/(pt[10]+1),Qe=(pt[9]+1)/pt[5],it=(pt[9]-1)/pt[5],he=(pt[8]-1)/pt[0],Ft=(vt[8]+1)/vt[0],ct=Tt*he,Dt=Tt*Ft,gt=Pe/(-he+Ft),tn=gt*-he;if(Ge.matrixWorld.decompose(Ee.position,Ee.quaternion,Ee.scale),Ee.translateX(tn),Ee.translateZ(gt),Ee.matrixWorld.compose(Ee.position,Ee.quaternion,Ee.scale),Ee.matrixWorldInverse.copy(Ee.matrixWorld).invert(),pt[10]===-1)Ee.projectionMatrix.copy(Ge.projectionMatrix),Ee.projectionMatrixInverse.copy(Ge.projectionMatrixInverse);else{const yt=Tt+gt,fe=It+gt,X=ct-tn,oe=Dt+(Pe-tn),Me=Qe*It/fe*yt,Fe=it*It/fe*yt;Ee.projectionMatrix.makePerspective(X,oe,Me,Fe,yt,fe),Ee.projectionMatrixInverse.copy(Ee.projectionMatrix).invert()}}function Te(Ee,Ge){Ge===null?Ee.matrixWorld.copy(Ee.matrix):Ee.matrixWorld.multiplyMatrices(Ge.matrixWorld,Ee.matrix),Ee.matrixWorldInverse.copy(Ee.matrixWorld).invert()}this.updateCamera=function(Ee){if(r===null)return;let Ge=Ee.near,ye=Ee.far;R.texture!==null&&(R.depthNear>0&&(Ge=R.depthNear),R.depthFar>0&&(ye=R.depthFar)),V.near=H.near=k.near=Ge,V.far=H.far=k.far=ye,(Y!==V.near||ee!==V.far)&&(r.updateRenderState({depthNear:V.near,depthFar:V.far}),Y=V.near,ee=V.far),k.layers.mask=Ee.layers.mask|2,H.layers.mask=Ee.layers.mask|4,V.layers.mask=k.layers.mask|H.layers.mask;const Pe=Ee.parent,pt=V.cameras;Te(V,Pe);for(let vt=0;vt0&&(C.alphaTest.value=E.alphaTest);const B=e.get(E),L=B.envMap,O=B.envMapRotation;L&&(C.envMap.value=L,wf.copy(O),wf.x*=-1,wf.y*=-1,wf.z*=-1,L.isCubeTexture&&L.isRenderTargetTexture===!1&&(wf.y*=-1,wf.z*=-1),C.envMapRotation.value.setFromMatrix4(Nj.makeRotationFromEuler(wf)),C.flipEnvMap.value=L.isCubeTexture&&L.isRenderTargetTexture===!1?-1:1,C.reflectivity.value=E.reflectivity,C.ior.value=E.ior,C.refractionRatio.value=E.refractionRatio),E.lightMap&&(C.lightMap.value=E.lightMap,C.lightMapIntensity.value=E.lightMapIntensity,t(E.lightMap,C.lightMapTransform)),E.aoMap&&(C.aoMap.value=E.aoMap,C.aoMapIntensity.value=E.aoMapIntensity,t(E.aoMap,C.aoMapTransform))}function a(C,E){C.diffuse.value.copy(E.color),C.opacity.value=E.opacity,E.map&&(C.map.value=E.map,t(E.map,C.mapTransform))}function l(C,E){C.dashSize.value=E.dashSize,C.totalSize.value=E.dashSize+E.gapSize,C.scale.value=E.scale}function u(C,E,B,L){C.diffuse.value.copy(E.color),C.opacity.value=E.opacity,C.size.value=E.size*B,C.scale.value=L*.5,E.map&&(C.map.value=E.map,t(E.map,C.uvTransform)),E.alphaMap&&(C.alphaMap.value=E.alphaMap,t(E.alphaMap,C.alphaMapTransform)),E.alphaTest>0&&(C.alphaTest.value=E.alphaTest)}function h(C,E){C.diffuse.value.copy(E.color),C.opacity.value=E.opacity,C.rotation.value=E.rotation,E.map&&(C.map.value=E.map,t(E.map,C.mapTransform)),E.alphaMap&&(C.alphaMap.value=E.alphaMap,t(E.alphaMap,C.alphaMapTransform)),E.alphaTest>0&&(C.alphaTest.value=E.alphaTest)}function g(C,E){C.specular.value.copy(E.specular),C.shininess.value=Math.max(E.shininess,1e-4)}function v(C,E){E.gradientMap&&(C.gradientMap.value=E.gradientMap)}function x(C,E){C.metalness.value=E.metalness,E.metalnessMap&&(C.metalnessMap.value=E.metalnessMap,t(E.metalnessMap,C.metalnessMapTransform)),C.roughness.value=E.roughness,E.roughnessMap&&(C.roughnessMap.value=E.roughnessMap,t(E.roughnessMap,C.roughnessMapTransform)),E.envMap&&(C.envMapIntensity.value=E.envMapIntensity)}function S(C,E,B){C.ior.value=E.ior,E.sheen>0&&(C.sheenColor.value.copy(E.sheenColor).multiplyScalar(E.sheen),C.sheenRoughness.value=E.sheenRoughness,E.sheenColorMap&&(C.sheenColorMap.value=E.sheenColorMap,t(E.sheenColorMap,C.sheenColorMapTransform)),E.sheenRoughnessMap&&(C.sheenRoughnessMap.value=E.sheenRoughnessMap,t(E.sheenRoughnessMap,C.sheenRoughnessMapTransform))),E.clearcoat>0&&(C.clearcoat.value=E.clearcoat,C.clearcoatRoughness.value=E.clearcoatRoughness,E.clearcoatMap&&(C.clearcoatMap.value=E.clearcoatMap,t(E.clearcoatMap,C.clearcoatMapTransform)),E.clearcoatRoughnessMap&&(C.clearcoatRoughnessMap.value=E.clearcoatRoughnessMap,t(E.clearcoatRoughnessMap,C.clearcoatRoughnessMapTransform)),E.clearcoatNormalMap&&(C.clearcoatNormalMap.value=E.clearcoatNormalMap,t(E.clearcoatNormalMap,C.clearcoatNormalMapTransform),C.clearcoatNormalScale.value.copy(E.clearcoatNormalScale),E.side===hr&&C.clearcoatNormalScale.value.negate())),E.dispersion>0&&(C.dispersion.value=E.dispersion),E.iridescence>0&&(C.iridescence.value=E.iridescence,C.iridescenceIOR.value=E.iridescenceIOR,C.iridescenceThicknessMinimum.value=E.iridescenceThicknessRange[0],C.iridescenceThicknessMaximum.value=E.iridescenceThicknessRange[1],E.iridescenceMap&&(C.iridescenceMap.value=E.iridescenceMap,t(E.iridescenceMap,C.iridescenceMapTransform)),E.iridescenceThicknessMap&&(C.iridescenceThicknessMap.value=E.iridescenceThicknessMap,t(E.iridescenceThicknessMap,C.iridescenceThicknessMapTransform))),E.transmission>0&&(C.transmission.value=E.transmission,C.transmissionSamplerMap.value=B.texture,C.transmissionSamplerSize.value.set(B.width,B.height),E.transmissionMap&&(C.transmissionMap.value=E.transmissionMap,t(E.transmissionMap,C.transmissionMapTransform)),C.thickness.value=E.thickness,E.thicknessMap&&(C.thicknessMap.value=E.thicknessMap,t(E.thicknessMap,C.thicknessMapTransform)),C.attenuationDistance.value=E.attenuationDistance,C.attenuationColor.value.copy(E.attenuationColor)),E.anisotropy>0&&(C.anisotropyVector.value.set(E.anisotropy*Math.cos(E.anisotropyRotation),E.anisotropy*Math.sin(E.anisotropyRotation)),E.anisotropyMap&&(C.anisotropyMap.value=E.anisotropyMap,t(E.anisotropyMap,C.anisotropyMapTransform))),C.specularIntensity.value=E.specularIntensity,C.specularColor.value.copy(E.specularColor),E.specularColorMap&&(C.specularColorMap.value=E.specularColorMap,t(E.specularColorMap,C.specularColorMapTransform)),E.specularIntensityMap&&(C.specularIntensityMap.value=E.specularIntensityMap,t(E.specularIntensityMap,C.specularIntensityMapTransform))}function w(C,E){E.matcap&&(C.matcap.value=E.matcap)}function R(C,E){const B=e.get(E).light;C.referencePosition.value.setFromMatrixPosition(B.matrixWorld),C.nearDistance.value=B.shadow.camera.near,C.farDistance.value=B.shadow.camera.far}return{refreshFogUniforms:n,refreshMaterialUniforms:r}}function Pj(i,e,t,n){let r={},s={},a=[];const l=i.getParameter(i.MAX_UNIFORM_BUFFER_BINDINGS);function u(B,L){const O=L.program;n.uniformBlockBinding(B,O)}function h(B,L){let O=r[B.id];O===void 0&&(w(B),O=g(B),r[B.id]=O,B.addEventListener("dispose",C));const z=L.program;n.updateUBOMapping(B,z);const G=e.render.frame;s[B.id]!==G&&(x(B),s[B.id]=G)}function g(B){const L=v();B.__bindingPointIndex=L;const O=i.createBuffer(),z=B.__size,G=B.usage;return i.bindBuffer(i.UNIFORM_BUFFER,O),i.bufferData(i.UNIFORM_BUFFER,z,G),i.bindBuffer(i.UNIFORM_BUFFER,null),i.bindBufferBase(i.UNIFORM_BUFFER,L,O),O}function v(){for(let B=0;B0&&(O+=z-G),B.__size=O,B.__cache={},this}function R(B){const L={boundary:0,storage:0};return typeof B=="number"||typeof B=="boolean"?(L.boundary=4,L.storage=4):B.isVector2?(L.boundary=8,L.storage=8):B.isVector3||B.isColor?(L.boundary=16,L.storage=12):B.isVector4?(L.boundary=16,L.storage=16):B.isMatrix3?(L.boundary=48,L.storage=48):B.isMatrix4?(L.boundary=64,L.storage=64):B.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",B),L}function C(B){const L=B.target;L.removeEventListener("dispose",C);const O=a.indexOf(L.__bindingPointIndex);a.splice(O,1),i.deleteBuffer(r[L.id]),delete r[L.id],delete s[L.id]}function E(){for(const B in r)i.deleteBuffer(r[B]);a=[],r={},s={}}return{bind:u,update:h,dispose:E}}class Lj{constructor(e={}){const{canvas:t=I7(),context:n=null,depth:r=!0,stencil:s=!1,alpha:a=!1,antialias:l=!1,premultipliedAlpha:u=!0,preserveDrawingBuffer:h=!1,powerPreference:g="default",failIfMajorPerformanceCaveat:v=!1,reverseDepthBuffer:x=!1}=e;this.isWebGLRenderer=!0;let S;if(n!==null){if(typeof WebGLRenderingContext<"u"&&n instanceof WebGLRenderingContext)throw new Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163.");S=n.getContextAttributes().alpha}else S=a;const w=new Uint32Array(4),R=new Int32Array(4);let C=null,E=null;const B=[],L=[];this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=_n,this.toneMapping=Za,this.toneMappingExposure=1;const O=this;let z=!1,G=0,k=0,H=null,F=-1,V=null;const Y=new Pn,ee=new Pn;let ne=null;const se=new an(0);let te=0,Q=t.width,le=t.height,de=1,Te=null,Se=null;const ue=new Pn(0,0,Q,le),be=new Pn(0,0,Q,le);let We=!1;const Ee=new Fg;let Ge=!1,ye=!1;this.transmissionResolutionScale=1;const Pe=new kn,pt=new kn,vt=new ce,Tt=new Pn,It={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};let Qe=!1;function it(){return H===null?de:1}let he=n;function Ft(ae,Oe){return t.getContext(ae,Oe)}try{const ae={alpha:!0,depth:r,stencil:s,antialias:l,premultipliedAlpha:u,preserveDrawingBuffer:h,powerPreference:g,failIfMajorPerformanceCaveat:v};if("setAttribute"in t&&t.setAttribute("data-engine",`three.js r${V0}`),t.addEventListener("webglcontextlost",xt,!1),t.addEventListener("webglcontextrestored",$t,!1),t.addEventListener("webglcontextcreationerror",zt,!1),he===null){const Oe="webgl2";if(he=Ft(Oe,ae),he===null)throw Ft(Oe)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}}catch(ae){throw console.error("THREE.WebGLRenderer: "+ae.message),ae}let ct,Dt,gt,tn,yt,fe,X,oe,Me,Fe,ze,Et,Rt,Ht,Xt,_t,Zt,sn,jt,kt,qt,In,Mi,ge;function Wt(){ct=new qV(he),ct.init(),In=new Tj(he,ct),Dt=new OV(he,ct,e,In),gt=new bj(he,ct),Dt.reverseDepthBuffer&&x&>.buffers.depth.setReversed(!0),tn=new jV(he),yt=new uj,fe=new Sj(he,ct,gt,yt,Dt,In,tn),X=new FV(O),oe=new GV(O),Me=new Zz(he),Mi=new UV(he,Me),Fe=new VV(he,Me,tn,Mi),ze=new $V(he,Fe,Me,tn),jt=new WV(he,Dt,fe),_t=new IV(yt),Et=new lj(O,X,oe,ct,Dt,Mi,_t),Rt=new Dj(O,yt),Ht=new hj,Xt=new gj(ct),sn=new LV(O,X,oe,gt,ze,S,u),Zt=new yj(O,ze,Dt),ge=new Pj(he,tn,Dt,gt),kt=new BV(he,ct,tn),qt=new HV(he,ct,tn),tn.programs=Et.programs,O.capabilities=Dt,O.extensions=ct,O.properties=yt,O.renderLists=Ht,O.shadowMap=Zt,O.state=gt,O.info=tn}Wt();const nt=new Rj(O,he);this.xr=nt,this.getContext=function(){return he},this.getContextAttributes=function(){return he.getContextAttributes()},this.forceContextLoss=function(){const ae=ct.get("WEBGL_lose_context");ae&&ae.loseContext()},this.forceContextRestore=function(){const ae=ct.get("WEBGL_lose_context");ae&&ae.restoreContext()},this.getPixelRatio=function(){return de},this.setPixelRatio=function(ae){ae!==void 0&&(de=ae,this.setSize(Q,le,!1))},this.getSize=function(ae){return ae.set(Q,le)},this.setSize=function(ae,Oe,Ye=!0){if(nt.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}Q=ae,le=Oe,t.width=Math.floor(ae*de),t.height=Math.floor(Oe*de),Ye===!0&&(t.style.width=ae+"px",t.style.height=Oe+"px"),this.setViewport(0,0,ae,Oe)},this.getDrawingBufferSize=function(ae){return ae.set(Q*de,le*de).floor()},this.setDrawingBufferSize=function(ae,Oe,Ye){Q=ae,le=Oe,de=Ye,t.width=Math.floor(ae*Ye),t.height=Math.floor(Oe*Ye),this.setViewport(0,0,ae,Oe)},this.getCurrentViewport=function(ae){return ae.copy(Y)},this.getViewport=function(ae){return ae.copy(ue)},this.setViewport=function(ae,Oe,Ye,$e){ae.isVector4?ue.set(ae.x,ae.y,ae.z,ae.w):ue.set(ae,Oe,Ye,$e),gt.viewport(Y.copy(ue).multiplyScalar(de).round())},this.getScissor=function(ae){return ae.copy(be)},this.setScissor=function(ae,Oe,Ye,$e){ae.isVector4?be.set(ae.x,ae.y,ae.z,ae.w):be.set(ae,Oe,Ye,$e),gt.scissor(ee.copy(be).multiplyScalar(de).round())},this.getScissorTest=function(){return We},this.setScissorTest=function(ae){gt.setScissorTest(We=ae)},this.setOpaqueSort=function(ae){Te=ae},this.setTransparentSort=function(ae){Se=ae},this.getClearColor=function(ae){return ae.copy(sn.getClearColor())},this.setClearColor=function(){sn.setClearColor.apply(sn,arguments)},this.getClearAlpha=function(){return sn.getClearAlpha()},this.setClearAlpha=function(){sn.setClearAlpha.apply(sn,arguments)},this.clear=function(ae=!0,Oe=!0,Ye=!0){let $e=0;if(ae){let Ie=!1;if(H!==null){const Bt=H.texture.format;Ie=Bt===W0||Bt===j0||Bt===H0}if(Ie){const Bt=H.texture.type,Vt=Bt===aa||Bt===Rr||Bt===wl||Bt===Au||Bt===Ay||Bt===dy,ht=sn.getClearColor(),Z=sn.getClearAlpha(),Ut=ht.r,bn=ht.g,fn=ht.b;Vt?(w[0]=Ut,w[1]=bn,w[2]=fn,w[3]=Z,he.clearBufferuiv(he.COLOR,0,w)):(R[0]=Ut,R[1]=bn,R[2]=fn,R[3]=Z,he.clearBufferiv(he.COLOR,0,R))}else $e|=he.COLOR_BUFFER_BIT}Oe&&($e|=he.DEPTH_BUFFER_BIT),Ye&&($e|=he.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),he.clear($e)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){t.removeEventListener("webglcontextlost",xt,!1),t.removeEventListener("webglcontextrestored",$t,!1),t.removeEventListener("webglcontextcreationerror",zt,!1),sn.dispose(),Ht.dispose(),Xt.dispose(),yt.dispose(),X.dispose(),oe.dispose(),ze.dispose(),Mi.dispose(),ge.dispose(),Et.dispose(),nt.dispose(),nt.removeEventListener("sessionstart",Ze),nt.removeEventListener("sessionend",At),Ot.stop()};function xt(ae){ae.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),z=!0}function $t(){console.log("THREE.WebGLRenderer: Context Restored."),z=!1;const ae=tn.autoReset,Oe=Zt.enabled,Ye=Zt.autoUpdate,$e=Zt.needsUpdate,Ie=Zt.type;Wt(),tn.autoReset=ae,Zt.enabled=Oe,Zt.autoUpdate=Ye,Zt.needsUpdate=$e,Zt.type=Ie}function zt(ae){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",ae.statusMessage)}function xn(ae){const Oe=ae.target;Oe.removeEventListener("dispose",xn),qi(Oe)}function qi(ae){rr(ae),yt.remove(ae)}function rr(ae){const Oe=yt.get(ae).programs;Oe!==void 0&&(Oe.forEach(function(Ye){Et.releaseProgram(Ye)}),ae.isShaderMaterial&&Et.releaseShaderCache(ae))}this.renderBufferDirect=function(ae,Oe,Ye,$e,Ie,Bt){Oe===null&&(Oe=It);const Vt=Ie.isMesh&&Ie.matrixWorld.determinant()<0,ht=Hs(ae,Oe,Ye,$e,Ie);gt.setMaterial($e,Vt);let Z=Ye.index,Ut=1;if($e.wireframe===!0){if(Z=Fe.getWireframeAttribute(Ye),Z===void 0)return;Ut=2}const bn=Ye.drawRange,fn=Ye.attributes.position;let ui=bn.start*Ut,ci=(bn.start+bn.count)*Ut;Bt!==null&&(ui=Math.max(ui,Bt.start*Ut),ci=Math.min(ci,(Bt.start+Bt.count)*Ut)),Z!==null?(ui=Math.max(ui,0),ci=Math.min(ci,Z.count)):fn!=null&&(ui=Math.max(ui,0),ci=Math.min(ci,fn.count));const _i=ci-ui;if(_i<0||_i===1/0)return;Mi.setup(Ie,$e,ht,Ye,Z);let K,Ln=kt;if(Z!==null&&(K=Me.get(Z),Ln=qt,Ln.setIndex(K)),Ie.isMesh)$e.wireframe===!0?(gt.setLineWidth($e.wireframeLinewidth*it()),Ln.setMode(he.LINES)):Ln.setMode(he.TRIANGLES);else if(Ie.isLine){let mn=$e.linewidth;mn===void 0&&(mn=1),gt.setLineWidth(mn*it()),Ie.isLineSegments?Ln.setMode(he.LINES):Ie.isLineLoop?Ln.setMode(he.LINE_LOOP):Ln.setMode(he.LINE_STRIP)}else Ie.isPoints?Ln.setMode(he.POINTS):Ie.isSprite&&Ln.setMode(he.TRIANGLES);if(Ie.isBatchedMesh)if(Ie._multiDrawInstances!==null)Ln.renderMultiDrawInstances(Ie._multiDrawStarts,Ie._multiDrawCounts,Ie._multiDrawCount,Ie._multiDrawInstances);else if(ct.get("WEBGL_multi_draw"))Ln.renderMultiDraw(Ie._multiDrawStarts,Ie._multiDrawCounts,Ie._multiDrawCount);else{const mn=Ie._multiDrawStarts,yr=Ie._multiDrawCounts,hi=Ie._multiDrawCount,bs=Z?Me.get(Z).bytesPerElement:1,fa=yt.get($e).currentProgram.getUniforms();for(let _e=0;_e{function Bt(){if($e.forEach(function(Vt){yt.get(Vt).currentProgram.isReady()&&$e.delete(Vt)}),$e.size===0){Ie(ae);return}setTimeout(Bt,10)}ct.get("KHR_parallel_shader_compile")!==null?Bt():setTimeout(Bt,10)})};let $i=null;function Jr(ae){$i&&$i(ae)}function Ze(){Ot.stop()}function At(){Ot.start()}const Ot=new oD;Ot.setAnimationLoop(Jr),typeof self<"u"&&Ot.setContext(self),this.setAnimationLoop=function(ae){$i=ae,nt.setAnimationLoop(ae),ae===null?Ot.stop():Ot.start()},nt.addEventListener("sessionstart",Ze),nt.addEventListener("sessionend",At),this.render=function(ae,Oe){if(Oe!==void 0&&Oe.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(z===!0)return;if(ae.matrixWorldAutoUpdate===!0&&ae.updateMatrixWorld(),Oe.parent===null&&Oe.matrixWorldAutoUpdate===!0&&Oe.updateMatrixWorld(),nt.enabled===!0&&nt.isPresenting===!0&&(nt.cameraAutoUpdate===!0&&nt.updateCamera(Oe),Oe=nt.getCamera()),ae.isScene===!0&&ae.onBeforeRender(O,ae,Oe,H),E=Xt.get(ae,L.length),E.init(Oe),L.push(E),pt.multiplyMatrices(Oe.projectionMatrix,Oe.matrixWorldInverse),Ee.setFromProjectionMatrix(pt),ye=this.localClippingEnabled,Ge=_t.init(this.clippingPlanes,ye),C=Ht.get(ae,B.length),C.init(),B.push(C),nt.enabled===!0&&nt.isPresenting===!0){const Bt=O.xr.getDepthSensingMesh();Bt!==null&&st(Bt,Oe,-1/0,O.sortObjects)}st(ae,Oe,0,O.sortObjects),C.finish(),O.sortObjects===!0&&C.sort(Te,Se),Qe=nt.enabled===!1||nt.isPresenting===!1||nt.hasDepthSensing()===!1,Qe&&sn.addToRenderList(C,ae),this.info.render.frame++,Ge===!0&&_t.beginShadows();const Ye=E.state.shadowsArray;Zt.render(Ye,ae,Oe),Ge===!0&&_t.endShadows(),this.info.autoReset===!0&&this.info.reset();const $e=C.opaque,Ie=C.transmissive;if(E.setupLights(),Oe.isArrayCamera){const Bt=Oe.cameras;if(Ie.length>0)for(let Vt=0,ht=Bt.length;Vt0&&J($e,Ie,ae,Oe),Qe&&sn.render(ae),d(C,ae,Oe);H!==null&&k===0&&(fe.updateMultisampleRenderTarget(H),fe.updateRenderTargetMipmap(H)),ae.isScene===!0&&ae.onAfterRender(O,ae,Oe),Mi.resetDefaultState(),F=-1,V=null,L.pop(),L.length>0?(E=L[L.length-1],Ge===!0&&_t.setGlobalState(O.clippingPlanes,E.state.camera)):E=null,B.pop(),B.length>0?C=B[B.length-1]:C=null};function st(ae,Oe,Ye,$e){if(ae.visible===!1)return;if(ae.layers.test(Oe.layers)){if(ae.isGroup)Ye=ae.renderOrder;else if(ae.isLOD)ae.autoUpdate===!0&&ae.update(Oe);else if(ae.isLight)E.pushLight(ae),ae.castShadow&&E.pushShadow(ae);else if(ae.isSprite){if(!ae.frustumCulled||Ee.intersectsSprite(ae)){$e&&Tt.setFromMatrixPosition(ae.matrixWorld).applyMatrix4(pt);const Vt=ze.update(ae),ht=ae.material;ht.visible&&C.push(ae,Vt,ht,Ye,Tt.z,null)}}else if((ae.isMesh||ae.isLine||ae.isPoints)&&(!ae.frustumCulled||Ee.intersectsObject(ae))){const Vt=ze.update(ae),ht=ae.material;if($e&&(ae.boundingSphere!==void 0?(ae.boundingSphere===null&&ae.computeBoundingSphere(),Tt.copy(ae.boundingSphere.center)):(Vt.boundingSphere===null&&Vt.computeBoundingSphere(),Tt.copy(Vt.boundingSphere.center)),Tt.applyMatrix4(ae.matrixWorld).applyMatrix4(pt)),Array.isArray(ht)){const Z=Vt.groups;for(let Ut=0,bn=Z.length;Ut0&&$n(Ie,Oe,Ye),Bt.length>0&&$n(Bt,Oe,Ye),Vt.length>0&&$n(Vt,Oe,Ye),gt.buffers.depth.setTest(!0),gt.buffers.depth.setMask(!0),gt.buffers.color.setMask(!0),gt.setPolygonOffset(!1)}function J(ae,Oe,Ye,$e){if((Ye.isScene===!0?Ye.overrideMaterial:null)!==null)return;E.state.transmissionRenderTarget[$e.id]===void 0&&(E.state.transmissionRenderTarget[$e.id]=new qh(1,1,{generateMipmaps:!0,type:ct.has("EXT_color_buffer_half_float")||ct.has("EXT_color_buffer_float")?Gs:aa,minFilter:Va,samples:4,stencilBuffer:s,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:ai.workingColorSpace}));const Bt=E.state.transmissionRenderTarget[$e.id],Vt=$e.viewport||Y;Bt.setSize(Vt.z*O.transmissionResolutionScale,Vt.w*O.transmissionResolutionScale);const ht=O.getRenderTarget();O.setRenderTarget(Bt),O.getClearColor(se),te=O.getClearAlpha(),te<1&&O.setClearColor(16777215,.5),O.clear(),Qe&&sn.render(Ye);const Z=O.toneMapping;O.toneMapping=Za;const Ut=$e.viewport;if($e.viewport!==void 0&&($e.viewport=void 0),E.setupLightsView($e),Ge===!0&&_t.setGlobalState(O.clippingPlanes,$e),$n(ae,Ye,$e),fe.updateMultisampleRenderTarget(Bt),fe.updateRenderTargetMipmap(Bt),ct.has("WEBGL_multisampled_render_to_texture")===!1){let bn=!1;for(let fn=0,ui=Oe.length;fn0),fn=!!Ye.morphAttributes.position,ui=!!Ye.morphAttributes.normal,ci=!!Ye.morphAttributes.color;let _i=Za;$e.toneMapped&&(H===null||H.isXRRenderTarget===!0)&&(_i=O.toneMapping);const K=Ye.morphAttributes.position||Ye.morphAttributes.normal||Ye.morphAttributes.color,Ln=K!==void 0?K.length:0,mn=yt.get($e),yr=E.state.lights;if(Ge===!0&&(ye===!0||ae!==V)){const Yn=ae===V&&$e.id===F;_t.setState($e,ae,Yn)}let hi=!1;$e.version===mn.__version?(mn.needsLights&&mn.lightsStateVersion!==yr.state.version||mn.outputColorSpace!==ht||Ie.isBatchedMesh&&mn.batching===!1||!Ie.isBatchedMesh&&mn.batching===!0||Ie.isBatchedMesh&&mn.batchingColor===!0&&Ie.colorTexture===null||Ie.isBatchedMesh&&mn.batchingColor===!1&&Ie.colorTexture!==null||Ie.isInstancedMesh&&mn.instancing===!1||!Ie.isInstancedMesh&&mn.instancing===!0||Ie.isSkinnedMesh&&mn.skinning===!1||!Ie.isSkinnedMesh&&mn.skinning===!0||Ie.isInstancedMesh&&mn.instancingColor===!0&&Ie.instanceColor===null||Ie.isInstancedMesh&&mn.instancingColor===!1&&Ie.instanceColor!==null||Ie.isInstancedMesh&&mn.instancingMorph===!0&&Ie.morphTexture===null||Ie.isInstancedMesh&&mn.instancingMorph===!1&&Ie.morphTexture!==null||mn.envMap!==Z||$e.fog===!0&&mn.fog!==Bt||mn.numClippingPlanes!==void 0&&(mn.numClippingPlanes!==_t.numPlanes||mn.numIntersection!==_t.numIntersection)||mn.vertexAlphas!==Ut||mn.vertexTangents!==bn||mn.morphTargets!==fn||mn.morphNormals!==ui||mn.morphColors!==ci||mn.toneMapping!==_i||mn.morphTargetsCount!==Ln)&&(hi=!0):(hi=!0,mn.__version=$e.version);let bs=mn.currentProgram;hi===!0&&(bs=Xn($e,Oe,Ie));let fa=!1,_e=!1,at=!1;const Ct=bs.getUniforms(),Jt=mn.uniforms;if(gt.useProgram(bs.program)&&(fa=!0,_e=!0,at=!0),$e.id!==F&&(F=$e.id,_e=!0),fa||V!==ae){gt.buffers.depth.getReversed()?(Pe.copy(ae.projectionMatrix),Tk(Pe),wk(Pe),Ct.setValue(he,"projectionMatrix",Pe)):Ct.setValue(he,"projectionMatrix",ae.projectionMatrix),Ct.setValue(he,"viewMatrix",ae.matrixWorldInverse);const yi=Ct.map.cameraPosition;yi!==void 0&&yi.setValue(he,vt.setFromMatrixPosition(ae.matrixWorld)),Dt.logarithmicDepthBuffer&&Ct.setValue(he,"logDepthBufFC",2/(Math.log(ae.far+1)/Math.LN2)),($e.isMeshPhongMaterial||$e.isMeshToonMaterial||$e.isMeshLambertMaterial||$e.isMeshBasicMaterial||$e.isMeshStandardMaterial||$e.isShaderMaterial)&&Ct.setValue(he,"isOrthographic",ae.isOrthographicCamera===!0),V!==ae&&(V=ae,_e=!0,at=!0)}if(Ie.isSkinnedMesh){Ct.setOptional(he,Ie,"bindMatrix"),Ct.setOptional(he,Ie,"bindMatrixInverse");const Yn=Ie.skeleton;Yn&&(Yn.boneTexture===null&&Yn.computeBoneTexture(),Ct.setValue(he,"boneTexture",Yn.boneTexture,fe))}Ie.isBatchedMesh&&(Ct.setOptional(he,Ie,"batchingTexture"),Ct.setValue(he,"batchingTexture",Ie._matricesTexture,fe),Ct.setOptional(he,Ie,"batchingIdTexture"),Ct.setValue(he,"batchingIdTexture",Ie._indirectTexture,fe),Ct.setOptional(he,Ie,"batchingColorTexture"),Ie._colorsTexture!==null&&Ct.setValue(he,"batchingColorTexture",Ie._colorsTexture,fe));const cn=Ye.morphAttributes;if((cn.position!==void 0||cn.normal!==void 0||cn.color!==void 0)&&jt.update(Ie,Ye,bs),(_e||mn.receiveShadow!==Ie.receiveShadow)&&(mn.receiveShadow=Ie.receiveShadow,Ct.setValue(he,"receiveShadow",Ie.receiveShadow)),$e.isMeshGouraudMaterial&&$e.envMap!==null&&(Jt.envMap.value=Z,Jt.flipEnvMap.value=Z.isCubeTexture&&Z.isRenderTargetTexture===!1?-1:1),$e.isMeshStandardMaterial&&$e.envMap===null&&Oe.environment!==null&&(Jt.envMapIntensity.value=Oe.environmentIntensity),_e&&(Ct.setValue(he,"toneMappingExposure",O.toneMappingExposure),mn.needsLights&&li(Jt,at),Bt&&$e.fog===!0&&Rt.refreshFogUniforms(Jt,Bt),Rt.refreshMaterialUniforms(Jt,$e,de,le,E.state.transmissionRenderTarget[ae.id]),qv.upload(he,un(mn),Jt,fe)),$e.isShaderMaterial&&$e.uniformsNeedUpdate===!0&&(qv.upload(he,un(mn),Jt,fe),$e.uniformsNeedUpdate=!1),$e.isSpriteMaterial&&Ct.setValue(he,"center",Ie.center),Ct.setValue(he,"modelViewMatrix",Ie.modelViewMatrix),Ct.setValue(he,"normalMatrix",Ie.normalMatrix),Ct.setValue(he,"modelMatrix",Ie.matrixWorld),$e.isShaderMaterial||$e.isRawShaderMaterial){const Yn=$e.uniformsGroups;for(let yi=0,js=Yn.length;yi0&&fe.useMultisampledRTT(ae)===!1?Ie=yt.get(ae).__webglMultisampledFramebuffer:Array.isArray(bn)?Ie=bn[Ye]:Ie=bn,Y.copy(ae.viewport),ee.copy(ae.scissor),ne=ae.scissorTest}else Y.copy(ue).multiplyScalar(de).floor(),ee.copy(be).multiplyScalar(de).floor(),ne=We;if(Ye!==0&&(Ie=cs),gt.bindFramebuffer(he.FRAMEBUFFER,Ie)&&$e&>.drawBuffers(ae,Ie),gt.viewport(Y),gt.scissor(ee),gt.setScissorTest(ne),Bt){const Z=yt.get(ae.texture);he.framebufferTexture2D(he.FRAMEBUFFER,he.COLOR_ATTACHMENT0,he.TEXTURE_CUBE_MAP_POSITIVE_X+Oe,Z.__webglTexture,Ye)}else if(Vt){const Z=yt.get(ae.texture),Ut=Oe;he.framebufferTextureLayer(he.FRAMEBUFFER,he.COLOR_ATTACHMENT0,Z.__webglTexture,Ye,Ut)}else if(ae!==null&&Ye!==0){const Z=yt.get(ae.texture);he.framebufferTexture2D(he.FRAMEBUFFER,he.COLOR_ATTACHMENT0,he.TEXTURE_2D,Z.__webglTexture,Ye)}F=-1},this.readRenderTargetPixels=function(ae,Oe,Ye,$e,Ie,Bt,Vt){if(!(ae&&ae.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let ht=yt.get(ae).__webglFramebuffer;if(ae.isWebGLCubeRenderTarget&&Vt!==void 0&&(ht=ht[Vt]),ht){gt.bindFramebuffer(he.FRAMEBUFFER,ht);try{const Z=ae.texture,Ut=Z.format,bn=Z.type;if(!Dt.textureFormatReadable(Ut)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}if(!Dt.textureTypeReadable(bn)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}Oe>=0&&Oe<=ae.width-$e&&Ye>=0&&Ye<=ae.height-Ie&&he.readPixels(Oe,Ye,$e,Ie,In.convert(Ut),In.convert(bn),Bt)}finally{const Z=H!==null?yt.get(H).__webglFramebuffer:null;gt.bindFramebuffer(he.FRAMEBUFFER,Z)}}},this.readRenderTargetPixelsAsync=async function(ae,Oe,Ye,$e,Ie,Bt,Vt){if(!(ae&&ae.isWebGLRenderTarget))throw new Error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let ht=yt.get(ae).__webglFramebuffer;if(ae.isWebGLCubeRenderTarget&&Vt!==void 0&&(ht=ht[Vt]),ht){const Z=ae.texture,Ut=Z.format,bn=Z.type;if(!Dt.textureFormatReadable(Ut))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.");if(!Dt.textureTypeReadable(bn))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.");if(Oe>=0&&Oe<=ae.width-$e&&Ye>=0&&Ye<=ae.height-Ie){gt.bindFramebuffer(he.FRAMEBUFFER,ht);const fn=he.createBuffer();he.bindBuffer(he.PIXEL_PACK_BUFFER,fn),he.bufferData(he.PIXEL_PACK_BUFFER,Bt.byteLength,he.STREAM_READ),he.readPixels(Oe,Ye,$e,Ie,In.convert(Ut),In.convert(bn),0);const ui=H!==null?yt.get(H).__webglFramebuffer:null;gt.bindFramebuffer(he.FRAMEBUFFER,ui);const ci=he.fenceSync(he.SYNC_GPU_COMMANDS_COMPLETE,0);return he.flush(),await Sk(he,ci,4),he.bindBuffer(he.PIXEL_PACK_BUFFER,fn),he.getBufferSubData(he.PIXEL_PACK_BUFFER,0,Bt),he.deleteBuffer(fn),he.deleteSync(ci),Bt}else throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.")}},this.copyFramebufferToTexture=function(ae,Oe=null,Ye=0){ae.isTexture!==!0&&(kf("WebGLRenderer: copyFramebufferToTexture function signature has changed."),Oe=arguments[0]||null,ae=arguments[1]);const $e=Math.pow(2,-Ye),Ie=Math.floor(ae.image.width*$e),Bt=Math.floor(ae.image.height*$e),Vt=Oe!==null?Oe.x:0,ht=Oe!==null?Oe.y:0;fe.setTexture2D(ae,0),he.copyTexSubImage2D(he.TEXTURE_2D,Ye,0,0,Vt,ht,Ie,Bt),gt.unbindTexture()};const Ma=he.createFramebuffer(),Ul=he.createFramebuffer();this.copyTextureToTexture=function(ae,Oe,Ye=null,$e=null,Ie=0,Bt=null){ae.isTexture!==!0&&(kf("WebGLRenderer: copyTextureToTexture function signature has changed."),$e=arguments[0]||null,ae=arguments[1],Oe=arguments[2],Bt=arguments[3]||0,Ye=null),Bt===null&&(Ie!==0?(kf("WebGLRenderer: copyTextureToTexture function signature has changed to support src and dst mipmap levels."),Bt=Ie,Ie=0):Bt=0);let Vt,ht,Z,Ut,bn,fn,ui,ci,_i;const K=ae.isCompressedTexture?ae.mipmaps[Bt]:ae.image;if(Ye!==null)Vt=Ye.max.x-Ye.min.x,ht=Ye.max.y-Ye.min.y,Z=Ye.isBox3?Ye.max.z-Ye.min.z:1,Ut=Ye.min.x,bn=Ye.min.y,fn=Ye.isBox3?Ye.min.z:0;else{const cn=Math.pow(2,-Ie);Vt=Math.floor(K.width*cn),ht=Math.floor(K.height*cn),ae.isDataArrayTexture?Z=K.depth:ae.isData3DTexture?Z=Math.floor(K.depth*cn):Z=1,Ut=0,bn=0,fn=0}$e!==null?(ui=$e.x,ci=$e.y,_i=$e.z):(ui=0,ci=0,_i=0);const Ln=In.convert(Oe.format),mn=In.convert(Oe.type);let yr;Oe.isData3DTexture?(fe.setTexture3D(Oe,0),yr=he.TEXTURE_3D):Oe.isDataArrayTexture||Oe.isCompressedArrayTexture?(fe.setTexture2DArray(Oe,0),yr=he.TEXTURE_2D_ARRAY):(fe.setTexture2D(Oe,0),yr=he.TEXTURE_2D),he.pixelStorei(he.UNPACK_FLIP_Y_WEBGL,Oe.flipY),he.pixelStorei(he.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Oe.premultiplyAlpha),he.pixelStorei(he.UNPACK_ALIGNMENT,Oe.unpackAlignment);const hi=he.getParameter(he.UNPACK_ROW_LENGTH),bs=he.getParameter(he.UNPACK_IMAGE_HEIGHT),fa=he.getParameter(he.UNPACK_SKIP_PIXELS),_e=he.getParameter(he.UNPACK_SKIP_ROWS),at=he.getParameter(he.UNPACK_SKIP_IMAGES);he.pixelStorei(he.UNPACK_ROW_LENGTH,K.width),he.pixelStorei(he.UNPACK_IMAGE_HEIGHT,K.height),he.pixelStorei(he.UNPACK_SKIP_PIXELS,Ut),he.pixelStorei(he.UNPACK_SKIP_ROWS,bn),he.pixelStorei(he.UNPACK_SKIP_IMAGES,fn);const Ct=ae.isDataArrayTexture||ae.isData3DTexture,Jt=Oe.isDataArrayTexture||Oe.isData3DTexture;if(ae.isDepthTexture){const cn=yt.get(ae),Yn=yt.get(Oe),yi=yt.get(cn.__renderTarget),js=yt.get(Yn.__renderTarget);gt.bindFramebuffer(he.READ_FRAMEBUFFER,yi.__webglFramebuffer),gt.bindFramebuffer(he.DRAW_FRAMEBUFFER,js.__webglFramebuffer);for(let pi=0;pi=-1&&_d.z<=1&&w.layers.test(C.layers)===!0,B=w.element;B.style.display=E===!0?"":"none",E===!0&&(w.onBeforeRender(t,R,C),B.style.transform="translate("+-100*w.center.x+"%,"+-100*w.center.y+"%)translate("+(_d.x*s+s)+"px,"+(-_d.y*a+a)+"px)",B.parentNode!==u&&u.appendChild(B),w.onAfterRender(t,R,C));const L={distanceToCameraSquared:v(C,w)};l.objects.set(w,L)}for(let E=0,B=w.children.length;E=e||k<0||v&&H>=s}function E(){var G=P3();if(C(G))return B(G);l=setTimeout(E,R(G))}function B(G){return l=void 0,x&&n?S(G):(n=r=void 0,a)}function L(){l!==void 0&&clearTimeout(l),h=0,n=u=r=l=void 0}function O(){return l===void 0?a:B(P3())}function z(){var G=P3(),k=C(G);if(n=arguments,r=this,u=G,k){if(l===void 0)return w(u);if(v)return clearTimeout(l),l=setTimeout(E,e),S(u)}return l===void 0&&(l=setTimeout(E,e)),a}return z.cancel=L,z.flush=O,z}function u6(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,n=Array(e);t=0&&(O[Pe]=null,L[Pe].disconnect(ye))}for(let Ge=0;Ge=O.length){O.push(ye),Pe=vt;break}else if(O[vt]===null){O[vt]=ye,Pe=vt;break}if(Pe===-1)break}const pt=L[Pe];pt&&pt.connect(ye)}}const Q=new ce,le=new ce;function de(Ee,Ge,ye){Q.setFromMatrixPosition(Ge.matrixWorld),le.setFromMatrixPosition(ye.matrixWorld);const Pe=Q.distanceTo(le),pt=Ge.projectionMatrix.elements,vt=ye.projectionMatrix.elements,Tt=pt[14]/(pt[10]-1),It=pt[14]/(pt[10]+1),Qe=(pt[9]+1)/pt[5],it=(pt[9]-1)/pt[5],he=(pt[8]-1)/pt[0],Ft=(vt[8]+1)/vt[0],ct=Tt*he,Dt=Tt*Ft,gt=Pe/(-he+Ft),tn=gt*-he;if(Ge.matrixWorld.decompose(Ee.position,Ee.quaternion,Ee.scale),Ee.translateX(tn),Ee.translateZ(gt),Ee.matrixWorld.compose(Ee.position,Ee.quaternion,Ee.scale),Ee.matrixWorldInverse.copy(Ee.matrixWorld).invert(),pt[10]===-1)Ee.projectionMatrix.copy(Ge.projectionMatrix),Ee.projectionMatrixInverse.copy(Ge.projectionMatrixInverse);else{const _t=Tt+gt,fe=It+gt,X=ct-tn,oe=Dt+(Pe-tn),Me=Qe*It/fe*_t,Fe=it*It/fe*_t;Ee.projectionMatrix.makePerspective(X,oe,Me,Fe,_t,fe),Ee.projectionMatrixInverse.copy(Ee.projectionMatrix).invert()}}function Te(Ee,Ge){Ge===null?Ee.matrixWorld.copy(Ee.matrix):Ee.matrixWorld.multiplyMatrices(Ge.matrixWorld,Ee.matrix),Ee.matrixWorldInverse.copy(Ee.matrixWorld).invert()}this.updateCamera=function(Ee){if(r===null)return;let Ge=Ee.near,ye=Ee.far;R.texture!==null&&(R.depthNear>0&&(Ge=R.depthNear),R.depthFar>0&&(ye=R.depthFar)),V.near=H.near=k.near=Ge,V.far=H.far=k.far=ye,(Y!==V.near||ee!==V.far)&&(r.updateRenderState({depthNear:V.near,depthFar:V.far}),Y=V.near,ee=V.far),k.layers.mask=Ee.layers.mask|2,H.layers.mask=Ee.layers.mask|4,V.layers.mask=k.layers.mask|H.layers.mask;const Pe=Ee.parent,pt=V.cameras;Te(V,Pe);for(let vt=0;vt0&&(C.alphaTest.value=E.alphaTest);const B=e.get(E),L=B.envMap,O=B.envMapRotation;L&&(C.envMap.value=L,wf.copy(O),wf.x*=-1,wf.y*=-1,wf.z*=-1,L.isCubeTexture&&L.isRenderTargetTexture===!1&&(wf.y*=-1,wf.z*=-1),C.envMapRotation.value.setFromMatrix4(Nj.makeRotationFromEuler(wf)),C.flipEnvMap.value=L.isCubeTexture&&L.isRenderTargetTexture===!1?-1:1,C.reflectivity.value=E.reflectivity,C.ior.value=E.ior,C.refractionRatio.value=E.refractionRatio),E.lightMap&&(C.lightMap.value=E.lightMap,C.lightMapIntensity.value=E.lightMapIntensity,t(E.lightMap,C.lightMapTransform)),E.aoMap&&(C.aoMap.value=E.aoMap,C.aoMapIntensity.value=E.aoMapIntensity,t(E.aoMap,C.aoMapTransform))}function a(C,E){C.diffuse.value.copy(E.color),C.opacity.value=E.opacity,E.map&&(C.map.value=E.map,t(E.map,C.mapTransform))}function l(C,E){C.dashSize.value=E.dashSize,C.totalSize.value=E.dashSize+E.gapSize,C.scale.value=E.scale}function u(C,E,B,L){C.diffuse.value.copy(E.color),C.opacity.value=E.opacity,C.size.value=E.size*B,C.scale.value=L*.5,E.map&&(C.map.value=E.map,t(E.map,C.uvTransform)),E.alphaMap&&(C.alphaMap.value=E.alphaMap,t(E.alphaMap,C.alphaMapTransform)),E.alphaTest>0&&(C.alphaTest.value=E.alphaTest)}function h(C,E){C.diffuse.value.copy(E.color),C.opacity.value=E.opacity,C.rotation.value=E.rotation,E.map&&(C.map.value=E.map,t(E.map,C.mapTransform)),E.alphaMap&&(C.alphaMap.value=E.alphaMap,t(E.alphaMap,C.alphaMapTransform)),E.alphaTest>0&&(C.alphaTest.value=E.alphaTest)}function g(C,E){C.specular.value.copy(E.specular),C.shininess.value=Math.max(E.shininess,1e-4)}function v(C,E){E.gradientMap&&(C.gradientMap.value=E.gradientMap)}function x(C,E){C.metalness.value=E.metalness,E.metalnessMap&&(C.metalnessMap.value=E.metalnessMap,t(E.metalnessMap,C.metalnessMapTransform)),C.roughness.value=E.roughness,E.roughnessMap&&(C.roughnessMap.value=E.roughnessMap,t(E.roughnessMap,C.roughnessMapTransform)),E.envMap&&(C.envMapIntensity.value=E.envMapIntensity)}function S(C,E,B){C.ior.value=E.ior,E.sheen>0&&(C.sheenColor.value.copy(E.sheenColor).multiplyScalar(E.sheen),C.sheenRoughness.value=E.sheenRoughness,E.sheenColorMap&&(C.sheenColorMap.value=E.sheenColorMap,t(E.sheenColorMap,C.sheenColorMapTransform)),E.sheenRoughnessMap&&(C.sheenRoughnessMap.value=E.sheenRoughnessMap,t(E.sheenRoughnessMap,C.sheenRoughnessMapTransform))),E.clearcoat>0&&(C.clearcoat.value=E.clearcoat,C.clearcoatRoughness.value=E.clearcoatRoughness,E.clearcoatMap&&(C.clearcoatMap.value=E.clearcoatMap,t(E.clearcoatMap,C.clearcoatMapTransform)),E.clearcoatRoughnessMap&&(C.clearcoatRoughnessMap.value=E.clearcoatRoughnessMap,t(E.clearcoatRoughnessMap,C.clearcoatRoughnessMapTransform)),E.clearcoatNormalMap&&(C.clearcoatNormalMap.value=E.clearcoatNormalMap,t(E.clearcoatNormalMap,C.clearcoatNormalMapTransform),C.clearcoatNormalScale.value.copy(E.clearcoatNormalScale),E.side===hr&&C.clearcoatNormalScale.value.negate())),E.dispersion>0&&(C.dispersion.value=E.dispersion),E.iridescence>0&&(C.iridescence.value=E.iridescence,C.iridescenceIOR.value=E.iridescenceIOR,C.iridescenceThicknessMinimum.value=E.iridescenceThicknessRange[0],C.iridescenceThicknessMaximum.value=E.iridescenceThicknessRange[1],E.iridescenceMap&&(C.iridescenceMap.value=E.iridescenceMap,t(E.iridescenceMap,C.iridescenceMapTransform)),E.iridescenceThicknessMap&&(C.iridescenceThicknessMap.value=E.iridescenceThicknessMap,t(E.iridescenceThicknessMap,C.iridescenceThicknessMapTransform))),E.transmission>0&&(C.transmission.value=E.transmission,C.transmissionSamplerMap.value=B.texture,C.transmissionSamplerSize.value.set(B.width,B.height),E.transmissionMap&&(C.transmissionMap.value=E.transmissionMap,t(E.transmissionMap,C.transmissionMapTransform)),C.thickness.value=E.thickness,E.thicknessMap&&(C.thicknessMap.value=E.thicknessMap,t(E.thicknessMap,C.thicknessMapTransform)),C.attenuationDistance.value=E.attenuationDistance,C.attenuationColor.value.copy(E.attenuationColor)),E.anisotropy>0&&(C.anisotropyVector.value.set(E.anisotropy*Math.cos(E.anisotropyRotation),E.anisotropy*Math.sin(E.anisotropyRotation)),E.anisotropyMap&&(C.anisotropyMap.value=E.anisotropyMap,t(E.anisotropyMap,C.anisotropyMapTransform))),C.specularIntensity.value=E.specularIntensity,C.specularColor.value.copy(E.specularColor),E.specularColorMap&&(C.specularColorMap.value=E.specularColorMap,t(E.specularColorMap,C.specularColorMapTransform)),E.specularIntensityMap&&(C.specularIntensityMap.value=E.specularIntensityMap,t(E.specularIntensityMap,C.specularIntensityMapTransform))}function w(C,E){E.matcap&&(C.matcap.value=E.matcap)}function R(C,E){const B=e.get(E).light;C.referencePosition.value.setFromMatrixPosition(B.matrixWorld),C.nearDistance.value=B.shadow.camera.near,C.farDistance.value=B.shadow.camera.far}return{refreshFogUniforms:n,refreshMaterialUniforms:r}}function Pj(i,e,t,n){let r={},s={},a=[];const l=i.getParameter(i.MAX_UNIFORM_BUFFER_BINDINGS);function u(B,L){const O=L.program;n.uniformBlockBinding(B,O)}function h(B,L){let O=r[B.id];O===void 0&&(w(B),O=g(B),r[B.id]=O,B.addEventListener("dispose",C));const z=L.program;n.updateUBOMapping(B,z);const G=e.render.frame;s[B.id]!==G&&(x(B),s[B.id]=G)}function g(B){const L=v();B.__bindingPointIndex=L;const O=i.createBuffer(),z=B.__size,G=B.usage;return i.bindBuffer(i.UNIFORM_BUFFER,O),i.bufferData(i.UNIFORM_BUFFER,z,G),i.bindBuffer(i.UNIFORM_BUFFER,null),i.bindBufferBase(i.UNIFORM_BUFFER,L,O),O}function v(){for(let B=0;B0&&(O+=z-G),B.__size=O,B.__cache={},this}function R(B){const L={boundary:0,storage:0};return typeof B=="number"||typeof B=="boolean"?(L.boundary=4,L.storage=4):B.isVector2?(L.boundary=8,L.storage=8):B.isVector3||B.isColor?(L.boundary=16,L.storage=12):B.isVector4?(L.boundary=16,L.storage=16):B.isMatrix3?(L.boundary=48,L.storage=48):B.isMatrix4?(L.boundary=64,L.storage=64):B.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",B),L}function C(B){const L=B.target;L.removeEventListener("dispose",C);const O=a.indexOf(L.__bindingPointIndex);a.splice(O,1),i.deleteBuffer(r[L.id]),delete r[L.id],delete s[L.id]}function E(){for(const B in r)i.deleteBuffer(r[B]);a=[],r={},s={}}return{bind:u,update:h,dispose:E}}class Lj{constructor(e={}){const{canvas:t=I7(),context:n=null,depth:r=!0,stencil:s=!1,alpha:a=!1,antialias:l=!1,premultipliedAlpha:u=!0,preserveDrawingBuffer:h=!1,powerPreference:g="default",failIfMajorPerformanceCaveat:v=!1,reverseDepthBuffer:x=!1}=e;this.isWebGLRenderer=!0;let S;if(n!==null){if(typeof WebGLRenderingContext<"u"&&n instanceof WebGLRenderingContext)throw new Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163.");S=n.getContextAttributes().alpha}else S=a;const w=new Uint32Array(4),R=new Int32Array(4);let C=null,E=null;const B=[],L=[];this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=_n,this.toneMapping=Za,this.toneMappingExposure=1;const O=this;let z=!1,G=0,k=0,H=null,F=-1,V=null;const Y=new Pn,ee=new Pn;let ne=null;const se=new an(0);let te=0,Q=t.width,le=t.height,de=1,Te=null,Se=null;const ue=new Pn(0,0,Q,le),be=new Pn(0,0,Q,le);let We=!1;const Ee=new Fg;let Ge=!1,ye=!1;this.transmissionResolutionScale=1;const Pe=new kn,pt=new kn,vt=new ce,Tt=new Pn,It={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};let Qe=!1;function it(){return H===null?de:1}let he=n;function Ft(ae,Oe){return t.getContext(ae,Oe)}try{const ae={alpha:!0,depth:r,stencil:s,antialias:l,premultipliedAlpha:u,preserveDrawingBuffer:h,powerPreference:g,failIfMajorPerformanceCaveat:v};if("setAttribute"in t&&t.setAttribute("data-engine",`three.js r${V0}`),t.addEventListener("webglcontextlost",xt,!1),t.addEventListener("webglcontextrestored",$t,!1),t.addEventListener("webglcontextcreationerror",zt,!1),he===null){const Oe="webgl2";if(he=Ft(Oe,ae),he===null)throw Ft(Oe)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}}catch(ae){throw console.error("THREE.WebGLRenderer: "+ae.message),ae}let ct,Dt,gt,tn,_t,fe,X,oe,Me,Fe,ze,Et,Rt,Ht,Xt,yt,Zt,sn,jt,kt,qt,In,Mi,ge;function Wt(){ct=new qV(he),ct.init(),In=new Tj(he,ct),Dt=new OV(he,ct,e,In),gt=new bj(he,ct),Dt.reverseDepthBuffer&&x&>.buffers.depth.setReversed(!0),tn=new jV(he),_t=new uj,fe=new Sj(he,ct,gt,_t,Dt,In,tn),X=new FV(O),oe=new GV(O),Me=new Zz(he),Mi=new UV(he,Me),Fe=new VV(he,Me,tn,Mi),ze=new $V(he,Fe,Me,tn),jt=new WV(he,Dt,fe),yt=new IV(_t),Et=new lj(O,X,oe,ct,Dt,Mi,yt),Rt=new Dj(O,_t),Ht=new hj,Xt=new gj(ct),sn=new LV(O,X,oe,gt,ze,S,u),Zt=new yj(O,ze,Dt),ge=new Pj(he,tn,Dt,gt),kt=new BV(he,ct,tn),qt=new HV(he,ct,tn),tn.programs=Et.programs,O.capabilities=Dt,O.extensions=ct,O.properties=_t,O.renderLists=Ht,O.shadowMap=Zt,O.state=gt,O.info=tn}Wt();const nt=new Rj(O,he);this.xr=nt,this.getContext=function(){return he},this.getContextAttributes=function(){return he.getContextAttributes()},this.forceContextLoss=function(){const ae=ct.get("WEBGL_lose_context");ae&&ae.loseContext()},this.forceContextRestore=function(){const ae=ct.get("WEBGL_lose_context");ae&&ae.restoreContext()},this.getPixelRatio=function(){return de},this.setPixelRatio=function(ae){ae!==void 0&&(de=ae,this.setSize(Q,le,!1))},this.getSize=function(ae){return ae.set(Q,le)},this.setSize=function(ae,Oe,Ye=!0){if(nt.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}Q=ae,le=Oe,t.width=Math.floor(ae*de),t.height=Math.floor(Oe*de),Ye===!0&&(t.style.width=ae+"px",t.style.height=Oe+"px"),this.setViewport(0,0,ae,Oe)},this.getDrawingBufferSize=function(ae){return ae.set(Q*de,le*de).floor()},this.setDrawingBufferSize=function(ae,Oe,Ye){Q=ae,le=Oe,de=Ye,t.width=Math.floor(ae*Ye),t.height=Math.floor(Oe*Ye),this.setViewport(0,0,ae,Oe)},this.getCurrentViewport=function(ae){return ae.copy(Y)},this.getViewport=function(ae){return ae.copy(ue)},this.setViewport=function(ae,Oe,Ye,$e){ae.isVector4?ue.set(ae.x,ae.y,ae.z,ae.w):ue.set(ae,Oe,Ye,$e),gt.viewport(Y.copy(ue).multiplyScalar(de).round())},this.getScissor=function(ae){return ae.copy(be)},this.setScissor=function(ae,Oe,Ye,$e){ae.isVector4?be.set(ae.x,ae.y,ae.z,ae.w):be.set(ae,Oe,Ye,$e),gt.scissor(ee.copy(be).multiplyScalar(de).round())},this.getScissorTest=function(){return We},this.setScissorTest=function(ae){gt.setScissorTest(We=ae)},this.setOpaqueSort=function(ae){Te=ae},this.setTransparentSort=function(ae){Se=ae},this.getClearColor=function(ae){return ae.copy(sn.getClearColor())},this.setClearColor=function(){sn.setClearColor.apply(sn,arguments)},this.getClearAlpha=function(){return sn.getClearAlpha()},this.setClearAlpha=function(){sn.setClearAlpha.apply(sn,arguments)},this.clear=function(ae=!0,Oe=!0,Ye=!0){let $e=0;if(ae){let Ie=!1;if(H!==null){const Bt=H.texture.format;Ie=Bt===W0||Bt===j0||Bt===H0}if(Ie){const Bt=H.texture.type,Vt=Bt===aa||Bt===Rr||Bt===wl||Bt===Au||Bt===Ay||Bt===dy,ht=sn.getClearColor(),Z=sn.getClearAlpha(),Ut=ht.r,bn=ht.g,fn=ht.b;Vt?(w[0]=Ut,w[1]=bn,w[2]=fn,w[3]=Z,he.clearBufferuiv(he.COLOR,0,w)):(R[0]=Ut,R[1]=bn,R[2]=fn,R[3]=Z,he.clearBufferiv(he.COLOR,0,R))}else $e|=he.COLOR_BUFFER_BIT}Oe&&($e|=he.DEPTH_BUFFER_BIT),Ye&&($e|=he.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),he.clear($e)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){t.removeEventListener("webglcontextlost",xt,!1),t.removeEventListener("webglcontextrestored",$t,!1),t.removeEventListener("webglcontextcreationerror",zt,!1),sn.dispose(),Ht.dispose(),Xt.dispose(),_t.dispose(),X.dispose(),oe.dispose(),ze.dispose(),Mi.dispose(),ge.dispose(),Et.dispose(),nt.dispose(),nt.removeEventListener("sessionstart",Ze),nt.removeEventListener("sessionend",At),Ot.stop()};function xt(ae){ae.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),z=!0}function $t(){console.log("THREE.WebGLRenderer: Context Restored."),z=!1;const ae=tn.autoReset,Oe=Zt.enabled,Ye=Zt.autoUpdate,$e=Zt.needsUpdate,Ie=Zt.type;Wt(),tn.autoReset=ae,Zt.enabled=Oe,Zt.autoUpdate=Ye,Zt.needsUpdate=$e,Zt.type=Ie}function zt(ae){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",ae.statusMessage)}function xn(ae){const Oe=ae.target;Oe.removeEventListener("dispose",xn),qi(Oe)}function qi(ae){rr(ae),_t.remove(ae)}function rr(ae){const Oe=_t.get(ae).programs;Oe!==void 0&&(Oe.forEach(function(Ye){Et.releaseProgram(Ye)}),ae.isShaderMaterial&&Et.releaseShaderCache(ae))}this.renderBufferDirect=function(ae,Oe,Ye,$e,Ie,Bt){Oe===null&&(Oe=It);const Vt=Ie.isMesh&&Ie.matrixWorld.determinant()<0,ht=Hs(ae,Oe,Ye,$e,Ie);gt.setMaterial($e,Vt);let Z=Ye.index,Ut=1;if($e.wireframe===!0){if(Z=Fe.getWireframeAttribute(Ye),Z===void 0)return;Ut=2}const bn=Ye.drawRange,fn=Ye.attributes.position;let ui=bn.start*Ut,ci=(bn.start+bn.count)*Ut;Bt!==null&&(ui=Math.max(ui,Bt.start*Ut),ci=Math.min(ci,(Bt.start+Bt.count)*Ut)),Z!==null?(ui=Math.max(ui,0),ci=Math.min(ci,Z.count)):fn!=null&&(ui=Math.max(ui,0),ci=Math.min(ci,fn.count));const _i=ci-ui;if(_i<0||_i===1/0)return;Mi.setup(Ie,$e,ht,Ye,Z);let K,Ln=kt;if(Z!==null&&(K=Me.get(Z),Ln=qt,Ln.setIndex(K)),Ie.isMesh)$e.wireframe===!0?(gt.setLineWidth($e.wireframeLinewidth*it()),Ln.setMode(he.LINES)):Ln.setMode(he.TRIANGLES);else if(Ie.isLine){let mn=$e.linewidth;mn===void 0&&(mn=1),gt.setLineWidth(mn*it()),Ie.isLineSegments?Ln.setMode(he.LINES):Ie.isLineLoop?Ln.setMode(he.LINE_LOOP):Ln.setMode(he.LINE_STRIP)}else Ie.isPoints?Ln.setMode(he.POINTS):Ie.isSprite&&Ln.setMode(he.TRIANGLES);if(Ie.isBatchedMesh)if(Ie._multiDrawInstances!==null)Ln.renderMultiDrawInstances(Ie._multiDrawStarts,Ie._multiDrawCounts,Ie._multiDrawCount,Ie._multiDrawInstances);else if(ct.get("WEBGL_multi_draw"))Ln.renderMultiDraw(Ie._multiDrawStarts,Ie._multiDrawCounts,Ie._multiDrawCount);else{const mn=Ie._multiDrawStarts,yr=Ie._multiDrawCounts,hi=Ie._multiDrawCount,bs=Z?Me.get(Z).bytesPerElement:1,fa=_t.get($e).currentProgram.getUniforms();for(let _e=0;_e{function Bt(){if($e.forEach(function(Vt){_t.get(Vt).currentProgram.isReady()&&$e.delete(Vt)}),$e.size===0){Ie(ae);return}setTimeout(Bt,10)}ct.get("KHR_parallel_shader_compile")!==null?Bt():setTimeout(Bt,10)})};let $i=null;function Jr(ae){$i&&$i(ae)}function Ze(){Ot.stop()}function At(){Ot.start()}const Ot=new oD;Ot.setAnimationLoop(Jr),typeof self<"u"&&Ot.setContext(self),this.setAnimationLoop=function(ae){$i=ae,nt.setAnimationLoop(ae),ae===null?Ot.stop():Ot.start()},nt.addEventListener("sessionstart",Ze),nt.addEventListener("sessionend",At),this.render=function(ae,Oe){if(Oe!==void 0&&Oe.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(z===!0)return;if(ae.matrixWorldAutoUpdate===!0&&ae.updateMatrixWorld(),Oe.parent===null&&Oe.matrixWorldAutoUpdate===!0&&Oe.updateMatrixWorld(),nt.enabled===!0&&nt.isPresenting===!0&&(nt.cameraAutoUpdate===!0&&nt.updateCamera(Oe),Oe=nt.getCamera()),ae.isScene===!0&&ae.onBeforeRender(O,ae,Oe,H),E=Xt.get(ae,L.length),E.init(Oe),L.push(E),pt.multiplyMatrices(Oe.projectionMatrix,Oe.matrixWorldInverse),Ee.setFromProjectionMatrix(pt),ye=this.localClippingEnabled,Ge=yt.init(this.clippingPlanes,ye),C=Ht.get(ae,B.length),C.init(),B.push(C),nt.enabled===!0&&nt.isPresenting===!0){const Bt=O.xr.getDepthSensingMesh();Bt!==null&&st(Bt,Oe,-1/0,O.sortObjects)}st(ae,Oe,0,O.sortObjects),C.finish(),O.sortObjects===!0&&C.sort(Te,Se),Qe=nt.enabled===!1||nt.isPresenting===!1||nt.hasDepthSensing()===!1,Qe&&sn.addToRenderList(C,ae),this.info.render.frame++,Ge===!0&&yt.beginShadows();const Ye=E.state.shadowsArray;Zt.render(Ye,ae,Oe),Ge===!0&&yt.endShadows(),this.info.autoReset===!0&&this.info.reset();const $e=C.opaque,Ie=C.transmissive;if(E.setupLights(),Oe.isArrayCamera){const Bt=Oe.cameras;if(Ie.length>0)for(let Vt=0,ht=Bt.length;Vt0&&J($e,Ie,ae,Oe),Qe&&sn.render(ae),d(C,ae,Oe);H!==null&&k===0&&(fe.updateMultisampleRenderTarget(H),fe.updateRenderTargetMipmap(H)),ae.isScene===!0&&ae.onAfterRender(O,ae,Oe),Mi.resetDefaultState(),F=-1,V=null,L.pop(),L.length>0?(E=L[L.length-1],Ge===!0&&yt.setGlobalState(O.clippingPlanes,E.state.camera)):E=null,B.pop(),B.length>0?C=B[B.length-1]:C=null};function st(ae,Oe,Ye,$e){if(ae.visible===!1)return;if(ae.layers.test(Oe.layers)){if(ae.isGroup)Ye=ae.renderOrder;else if(ae.isLOD)ae.autoUpdate===!0&&ae.update(Oe);else if(ae.isLight)E.pushLight(ae),ae.castShadow&&E.pushShadow(ae);else if(ae.isSprite){if(!ae.frustumCulled||Ee.intersectsSprite(ae)){$e&&Tt.setFromMatrixPosition(ae.matrixWorld).applyMatrix4(pt);const Vt=ze.update(ae),ht=ae.material;ht.visible&&C.push(ae,Vt,ht,Ye,Tt.z,null)}}else if((ae.isMesh||ae.isLine||ae.isPoints)&&(!ae.frustumCulled||Ee.intersectsObject(ae))){const Vt=ze.update(ae),ht=ae.material;if($e&&(ae.boundingSphere!==void 0?(ae.boundingSphere===null&&ae.computeBoundingSphere(),Tt.copy(ae.boundingSphere.center)):(Vt.boundingSphere===null&&Vt.computeBoundingSphere(),Tt.copy(Vt.boundingSphere.center)),Tt.applyMatrix4(ae.matrixWorld).applyMatrix4(pt)),Array.isArray(ht)){const Z=Vt.groups;for(let Ut=0,bn=Z.length;Ut0&&$n(Ie,Oe,Ye),Bt.length>0&&$n(Bt,Oe,Ye),Vt.length>0&&$n(Vt,Oe,Ye),gt.buffers.depth.setTest(!0),gt.buffers.depth.setMask(!0),gt.buffers.color.setMask(!0),gt.setPolygonOffset(!1)}function J(ae,Oe,Ye,$e){if((Ye.isScene===!0?Ye.overrideMaterial:null)!==null)return;E.state.transmissionRenderTarget[$e.id]===void 0&&(E.state.transmissionRenderTarget[$e.id]=new qh(1,1,{generateMipmaps:!0,type:ct.has("EXT_color_buffer_half_float")||ct.has("EXT_color_buffer_float")?Gs:aa,minFilter:Va,samples:4,stencilBuffer:s,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:ai.workingColorSpace}));const Bt=E.state.transmissionRenderTarget[$e.id],Vt=$e.viewport||Y;Bt.setSize(Vt.z*O.transmissionResolutionScale,Vt.w*O.transmissionResolutionScale);const ht=O.getRenderTarget();O.setRenderTarget(Bt),O.getClearColor(se),te=O.getClearAlpha(),te<1&&O.setClearColor(16777215,.5),O.clear(),Qe&&sn.render(Ye);const Z=O.toneMapping;O.toneMapping=Za;const Ut=$e.viewport;if($e.viewport!==void 0&&($e.viewport=void 0),E.setupLightsView($e),Ge===!0&&yt.setGlobalState(O.clippingPlanes,$e),$n(ae,Ye,$e),fe.updateMultisampleRenderTarget(Bt),fe.updateRenderTargetMipmap(Bt),ct.has("WEBGL_multisampled_render_to_texture")===!1){let bn=!1;for(let fn=0,ui=Oe.length;fn0),fn=!!Ye.morphAttributes.position,ui=!!Ye.morphAttributes.normal,ci=!!Ye.morphAttributes.color;let _i=Za;$e.toneMapped&&(H===null||H.isXRRenderTarget===!0)&&(_i=O.toneMapping);const K=Ye.morphAttributes.position||Ye.morphAttributes.normal||Ye.morphAttributes.color,Ln=K!==void 0?K.length:0,mn=_t.get($e),yr=E.state.lights;if(Ge===!0&&(ye===!0||ae!==V)){const Yn=ae===V&&$e.id===F;yt.setState($e,ae,Yn)}let hi=!1;$e.version===mn.__version?(mn.needsLights&&mn.lightsStateVersion!==yr.state.version||mn.outputColorSpace!==ht||Ie.isBatchedMesh&&mn.batching===!1||!Ie.isBatchedMesh&&mn.batching===!0||Ie.isBatchedMesh&&mn.batchingColor===!0&&Ie.colorTexture===null||Ie.isBatchedMesh&&mn.batchingColor===!1&&Ie.colorTexture!==null||Ie.isInstancedMesh&&mn.instancing===!1||!Ie.isInstancedMesh&&mn.instancing===!0||Ie.isSkinnedMesh&&mn.skinning===!1||!Ie.isSkinnedMesh&&mn.skinning===!0||Ie.isInstancedMesh&&mn.instancingColor===!0&&Ie.instanceColor===null||Ie.isInstancedMesh&&mn.instancingColor===!1&&Ie.instanceColor!==null||Ie.isInstancedMesh&&mn.instancingMorph===!0&&Ie.morphTexture===null||Ie.isInstancedMesh&&mn.instancingMorph===!1&&Ie.morphTexture!==null||mn.envMap!==Z||$e.fog===!0&&mn.fog!==Bt||mn.numClippingPlanes!==void 0&&(mn.numClippingPlanes!==yt.numPlanes||mn.numIntersection!==yt.numIntersection)||mn.vertexAlphas!==Ut||mn.vertexTangents!==bn||mn.morphTargets!==fn||mn.morphNormals!==ui||mn.morphColors!==ci||mn.toneMapping!==_i||mn.morphTargetsCount!==Ln)&&(hi=!0):(hi=!0,mn.__version=$e.version);let bs=mn.currentProgram;hi===!0&&(bs=Xn($e,Oe,Ie));let fa=!1,_e=!1,at=!1;const Ct=bs.getUniforms(),Jt=mn.uniforms;if(gt.useProgram(bs.program)&&(fa=!0,_e=!0,at=!0),$e.id!==F&&(F=$e.id,_e=!0),fa||V!==ae){gt.buffers.depth.getReversed()?(Pe.copy(ae.projectionMatrix),Tk(Pe),wk(Pe),Ct.setValue(he,"projectionMatrix",Pe)):Ct.setValue(he,"projectionMatrix",ae.projectionMatrix),Ct.setValue(he,"viewMatrix",ae.matrixWorldInverse);const yi=Ct.map.cameraPosition;yi!==void 0&&yi.setValue(he,vt.setFromMatrixPosition(ae.matrixWorld)),Dt.logarithmicDepthBuffer&&Ct.setValue(he,"logDepthBufFC",2/(Math.log(ae.far+1)/Math.LN2)),($e.isMeshPhongMaterial||$e.isMeshToonMaterial||$e.isMeshLambertMaterial||$e.isMeshBasicMaterial||$e.isMeshStandardMaterial||$e.isShaderMaterial)&&Ct.setValue(he,"isOrthographic",ae.isOrthographicCamera===!0),V!==ae&&(V=ae,_e=!0,at=!0)}if(Ie.isSkinnedMesh){Ct.setOptional(he,Ie,"bindMatrix"),Ct.setOptional(he,Ie,"bindMatrixInverse");const Yn=Ie.skeleton;Yn&&(Yn.boneTexture===null&&Yn.computeBoneTexture(),Ct.setValue(he,"boneTexture",Yn.boneTexture,fe))}Ie.isBatchedMesh&&(Ct.setOptional(he,Ie,"batchingTexture"),Ct.setValue(he,"batchingTexture",Ie._matricesTexture,fe),Ct.setOptional(he,Ie,"batchingIdTexture"),Ct.setValue(he,"batchingIdTexture",Ie._indirectTexture,fe),Ct.setOptional(he,Ie,"batchingColorTexture"),Ie._colorsTexture!==null&&Ct.setValue(he,"batchingColorTexture",Ie._colorsTexture,fe));const cn=Ye.morphAttributes;if((cn.position!==void 0||cn.normal!==void 0||cn.color!==void 0)&&jt.update(Ie,Ye,bs),(_e||mn.receiveShadow!==Ie.receiveShadow)&&(mn.receiveShadow=Ie.receiveShadow,Ct.setValue(he,"receiveShadow",Ie.receiveShadow)),$e.isMeshGouraudMaterial&&$e.envMap!==null&&(Jt.envMap.value=Z,Jt.flipEnvMap.value=Z.isCubeTexture&&Z.isRenderTargetTexture===!1?-1:1),$e.isMeshStandardMaterial&&$e.envMap===null&&Oe.environment!==null&&(Jt.envMapIntensity.value=Oe.environmentIntensity),_e&&(Ct.setValue(he,"toneMappingExposure",O.toneMappingExposure),mn.needsLights&&li(Jt,at),Bt&&$e.fog===!0&&Rt.refreshFogUniforms(Jt,Bt),Rt.refreshMaterialUniforms(Jt,$e,de,le,E.state.transmissionRenderTarget[ae.id]),qv.upload(he,un(mn),Jt,fe)),$e.isShaderMaterial&&$e.uniformsNeedUpdate===!0&&(qv.upload(he,un(mn),Jt,fe),$e.uniformsNeedUpdate=!1),$e.isSpriteMaterial&&Ct.setValue(he,"center",Ie.center),Ct.setValue(he,"modelViewMatrix",Ie.modelViewMatrix),Ct.setValue(he,"normalMatrix",Ie.normalMatrix),Ct.setValue(he,"modelMatrix",Ie.matrixWorld),$e.isShaderMaterial||$e.isRawShaderMaterial){const Yn=$e.uniformsGroups;for(let yi=0,js=Yn.length;yi0&&fe.useMultisampledRTT(ae)===!1?Ie=_t.get(ae).__webglMultisampledFramebuffer:Array.isArray(bn)?Ie=bn[Ye]:Ie=bn,Y.copy(ae.viewport),ee.copy(ae.scissor),ne=ae.scissorTest}else Y.copy(ue).multiplyScalar(de).floor(),ee.copy(be).multiplyScalar(de).floor(),ne=We;if(Ye!==0&&(Ie=cs),gt.bindFramebuffer(he.FRAMEBUFFER,Ie)&&$e&>.drawBuffers(ae,Ie),gt.viewport(Y),gt.scissor(ee),gt.setScissorTest(ne),Bt){const Z=_t.get(ae.texture);he.framebufferTexture2D(he.FRAMEBUFFER,he.COLOR_ATTACHMENT0,he.TEXTURE_CUBE_MAP_POSITIVE_X+Oe,Z.__webglTexture,Ye)}else if(Vt){const Z=_t.get(ae.texture),Ut=Oe;he.framebufferTextureLayer(he.FRAMEBUFFER,he.COLOR_ATTACHMENT0,Z.__webglTexture,Ye,Ut)}else if(ae!==null&&Ye!==0){const Z=_t.get(ae.texture);he.framebufferTexture2D(he.FRAMEBUFFER,he.COLOR_ATTACHMENT0,he.TEXTURE_2D,Z.__webglTexture,Ye)}F=-1},this.readRenderTargetPixels=function(ae,Oe,Ye,$e,Ie,Bt,Vt){if(!(ae&&ae.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let ht=_t.get(ae).__webglFramebuffer;if(ae.isWebGLCubeRenderTarget&&Vt!==void 0&&(ht=ht[Vt]),ht){gt.bindFramebuffer(he.FRAMEBUFFER,ht);try{const Z=ae.texture,Ut=Z.format,bn=Z.type;if(!Dt.textureFormatReadable(Ut)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}if(!Dt.textureTypeReadable(bn)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}Oe>=0&&Oe<=ae.width-$e&&Ye>=0&&Ye<=ae.height-Ie&&he.readPixels(Oe,Ye,$e,Ie,In.convert(Ut),In.convert(bn),Bt)}finally{const Z=H!==null?_t.get(H).__webglFramebuffer:null;gt.bindFramebuffer(he.FRAMEBUFFER,Z)}}},this.readRenderTargetPixelsAsync=async function(ae,Oe,Ye,$e,Ie,Bt,Vt){if(!(ae&&ae.isWebGLRenderTarget))throw new Error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let ht=_t.get(ae).__webglFramebuffer;if(ae.isWebGLCubeRenderTarget&&Vt!==void 0&&(ht=ht[Vt]),ht){const Z=ae.texture,Ut=Z.format,bn=Z.type;if(!Dt.textureFormatReadable(Ut))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.");if(!Dt.textureTypeReadable(bn))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.");if(Oe>=0&&Oe<=ae.width-$e&&Ye>=0&&Ye<=ae.height-Ie){gt.bindFramebuffer(he.FRAMEBUFFER,ht);const fn=he.createBuffer();he.bindBuffer(he.PIXEL_PACK_BUFFER,fn),he.bufferData(he.PIXEL_PACK_BUFFER,Bt.byteLength,he.STREAM_READ),he.readPixels(Oe,Ye,$e,Ie,In.convert(Ut),In.convert(bn),0);const ui=H!==null?_t.get(H).__webglFramebuffer:null;gt.bindFramebuffer(he.FRAMEBUFFER,ui);const ci=he.fenceSync(he.SYNC_GPU_COMMANDS_COMPLETE,0);return he.flush(),await Sk(he,ci,4),he.bindBuffer(he.PIXEL_PACK_BUFFER,fn),he.getBufferSubData(he.PIXEL_PACK_BUFFER,0,Bt),he.deleteBuffer(fn),he.deleteSync(ci),Bt}else throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.")}},this.copyFramebufferToTexture=function(ae,Oe=null,Ye=0){ae.isTexture!==!0&&(kf("WebGLRenderer: copyFramebufferToTexture function signature has changed."),Oe=arguments[0]||null,ae=arguments[1]);const $e=Math.pow(2,-Ye),Ie=Math.floor(ae.image.width*$e),Bt=Math.floor(ae.image.height*$e),Vt=Oe!==null?Oe.x:0,ht=Oe!==null?Oe.y:0;fe.setTexture2D(ae,0),he.copyTexSubImage2D(he.TEXTURE_2D,Ye,0,0,Vt,ht,Ie,Bt),gt.unbindTexture()};const Ma=he.createFramebuffer(),Ul=he.createFramebuffer();this.copyTextureToTexture=function(ae,Oe,Ye=null,$e=null,Ie=0,Bt=null){ae.isTexture!==!0&&(kf("WebGLRenderer: copyTextureToTexture function signature has changed."),$e=arguments[0]||null,ae=arguments[1],Oe=arguments[2],Bt=arguments[3]||0,Ye=null),Bt===null&&(Ie!==0?(kf("WebGLRenderer: copyTextureToTexture function signature has changed to support src and dst mipmap levels."),Bt=Ie,Ie=0):Bt=0);let Vt,ht,Z,Ut,bn,fn,ui,ci,_i;const K=ae.isCompressedTexture?ae.mipmaps[Bt]:ae.image;if(Ye!==null)Vt=Ye.max.x-Ye.min.x,ht=Ye.max.y-Ye.min.y,Z=Ye.isBox3?Ye.max.z-Ye.min.z:1,Ut=Ye.min.x,bn=Ye.min.y,fn=Ye.isBox3?Ye.min.z:0;else{const cn=Math.pow(2,-Ie);Vt=Math.floor(K.width*cn),ht=Math.floor(K.height*cn),ae.isDataArrayTexture?Z=K.depth:ae.isData3DTexture?Z=Math.floor(K.depth*cn):Z=1,Ut=0,bn=0,fn=0}$e!==null?(ui=$e.x,ci=$e.y,_i=$e.z):(ui=0,ci=0,_i=0);const Ln=In.convert(Oe.format),mn=In.convert(Oe.type);let yr;Oe.isData3DTexture?(fe.setTexture3D(Oe,0),yr=he.TEXTURE_3D):Oe.isDataArrayTexture||Oe.isCompressedArrayTexture?(fe.setTexture2DArray(Oe,0),yr=he.TEXTURE_2D_ARRAY):(fe.setTexture2D(Oe,0),yr=he.TEXTURE_2D),he.pixelStorei(he.UNPACK_FLIP_Y_WEBGL,Oe.flipY),he.pixelStorei(he.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Oe.premultiplyAlpha),he.pixelStorei(he.UNPACK_ALIGNMENT,Oe.unpackAlignment);const hi=he.getParameter(he.UNPACK_ROW_LENGTH),bs=he.getParameter(he.UNPACK_IMAGE_HEIGHT),fa=he.getParameter(he.UNPACK_SKIP_PIXELS),_e=he.getParameter(he.UNPACK_SKIP_ROWS),at=he.getParameter(he.UNPACK_SKIP_IMAGES);he.pixelStorei(he.UNPACK_ROW_LENGTH,K.width),he.pixelStorei(he.UNPACK_IMAGE_HEIGHT,K.height),he.pixelStorei(he.UNPACK_SKIP_PIXELS,Ut),he.pixelStorei(he.UNPACK_SKIP_ROWS,bn),he.pixelStorei(he.UNPACK_SKIP_IMAGES,fn);const Ct=ae.isDataArrayTexture||ae.isData3DTexture,Jt=Oe.isDataArrayTexture||Oe.isData3DTexture;if(ae.isDepthTexture){const cn=_t.get(ae),Yn=_t.get(Oe),yi=_t.get(cn.__renderTarget),js=_t.get(Yn.__renderTarget);gt.bindFramebuffer(he.READ_FRAMEBUFFER,yi.__webglFramebuffer),gt.bindFramebuffer(he.DRAW_FRAMEBUFFER,js.__webglFramebuffer);for(let pi=0;pi=-1&&_d.z<=1&&w.layers.test(C.layers)===!0,B=w.element;B.style.display=E===!0?"":"none",E===!0&&(w.onBeforeRender(t,R,C),B.style.transform="translate("+-100*w.center.x+"%,"+-100*w.center.y+"%)translate("+(_d.x*s+s)+"px,"+(-_d.y*a+a)+"px)",B.parentNode!==u&&u.appendChild(B),w.onAfterRender(t,R,C));const L={distanceToCameraSquared:v(C,w)};l.objects.set(w,L)}for(let E=0,B=w.children.length;E=e||k<0||v&&H>=s}function E(){var G=P3();if(C(G))return B(G);l=setTimeout(E,R(G))}function B(G){return l=void 0,x&&n?S(G):(n=r=void 0,a)}function L(){l!==void 0&&clearTimeout(l),h=0,n=u=r=l=void 0}function O(){return l===void 0?a:B(P3())}function z(){var G=P3(),k=C(G);if(n=arguments,r=this,u=G,k){if(l===void 0)return w(u);if(v)return clearTimeout(l),l=setTimeout(E,e),S(u)}return l===void 0&&(l=setTimeout(E,e)),a}return z.cancel=L,z.flush=O,z}function u6(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,n=Array(e);t1e4?1e4:i,{In:function(e){return Math.pow(e,i)},Out:function(e){return 1-Math.pow(1-e,i)},InOut:function(e){return e<.5?Math.pow(e*2,i)/2:(1-Math.pow(2-e*2,i))/2+.5}}}}),ym=function(){return performance.now()},My=(function(){function i(){this._tweens={},this._tweensAddedDuringUpdate={}}return i.prototype.getAll=function(){var e=this;return Object.keys(this._tweens).map(function(t){return e._tweens[t]})},i.prototype.removeAll=function(){this._tweens={}},i.prototype.add=function(e){this._tweens[e.getId()]=e,this._tweensAddedDuringUpdate[e.getId()]=e},i.prototype.remove=function(e){delete this._tweens[e.getId()],delete this._tweensAddedDuringUpdate[e.getId()]},i.prototype.update=function(e,t){e===void 0&&(e=ym()),t===void 0&&(t=!1);var n=Object.keys(this._tweens);if(n.length===0)return!1;for(;n.length>0;){this._tweensAddedDuringUpdate={};for(var r=0;r1?s(i[t],i[t-1],t-n):s(i[r],i[r+1>t?t:r+1],n-r)},Utils:{Linear:function(i,e,t){return(e-i)*t+i}}},dD=(function(){function i(){}return i.nextId=function(){return i._nextId++},i._nextId=0,i})(),tT=new My,ca=(function(){function i(e,t){t===void 0&&(t=tT),this._object=e,this._group=t,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._isDynamic=!1,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=os.Linear.None,this._interpolationFunction=eT.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._id=dD.nextId(),this._isChainStopped=!1,this._propertiesAreSetUp=!1,this._goToEnd=!1}return i.prototype.getId=function(){return this._id},i.prototype.isPlaying=function(){return this._isPlaying},i.prototype.isPaused=function(){return this._isPaused},i.prototype.getDuration=function(){return this._duration},i.prototype.to=function(e,t){if(t===void 0&&(t=1e3),this._isPlaying)throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");return this._valuesEnd=e,this._propertiesAreSetUp=!1,this._duration=t<0?0:t,this},i.prototype.duration=function(e){return e===void 0&&(e=1e3),this._duration=e<0?0:e,this},i.prototype.dynamic=function(e){return e===void 0&&(e=!1),this._isDynamic=e,this},i.prototype.start=function(e,t){if(e===void 0&&(e=ym()),t===void 0&&(t=!1),this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var n in this._valuesStartRepeat)this._swapEndStartRepeatValues(n),this._valuesStart[n]=this._valuesStartRepeat[n]}if(this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=e,this._startTime+=this._delayTime,!this._propertiesAreSetUp||t){if(this._propertiesAreSetUp=!0,!this._isDynamic){var r={};for(var s in this._valuesEnd)r[s]=this._valuesEnd[s];this._valuesEnd=r}this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat,t)}return this},i.prototype.startFromCurrentValues=function(e){return this.start(e,!0)},i.prototype._setupProperties=function(e,t,n,r,s){for(var a in n){var l=e[a],u=Array.isArray(l),h=u?"array":typeof l,g=!u&&Array.isArray(n[a]);if(!(h==="undefined"||h==="function")){if(g){var v=n[a];if(v.length===0)continue;for(var x=[l],S=0,w=v.length;S"u"||s)&&(t[a]=l),u||(t[a]*=1),g?r[a]=n[a].slice().reverse():r[a]=t[a]||0}}},i.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},i.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},i.prototype.pause=function(e){return e===void 0&&(e=ym()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=e,this._group&&this._group.remove(this),this)},i.prototype.resume=function(e){return e===void 0&&(e=ym()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=e-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this)},i.prototype.stopChainedTweens=function(){for(var e=0,t=this._chainedTweens.length;ea)return!1;t&&this.start(e,!0)}if(this._goToEnd=!1,eh)return 1;var C=Math.trunc(l/u),E=l-C*u,B=Math.min(E/n._duration,1);return B===0&&l===n._duration?1:B},v=g(),x=this._easingFunction(v);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,x),this._onUpdateCallback&&this._onUpdateCallback(this._object,v),this._duration===0||l>=this._duration)if(this._repeat>0){var S=Math.min(Math.trunc((l-this._duration)/u)+1,this._repeat);isFinite(this._repeat)&&(this._repeat-=S);for(s in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[s]=="string"&&(this._valuesStartRepeat[s]=this._valuesStartRepeat[s]+parseFloat(this._valuesEnd[s])),this._yoyo&&this._swapEndStartRepeatValues(s),this._valuesStart[s]=this._valuesStartRepeat[s];return this._yoyo&&(this._reversed=!this._reversed),this._startTime+=u*S,this._onRepeatCallback&&this._onRepeatCallback(this._object),this._onEveryStartCallbackFired=!1,!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var w=0,R=this._chainedTweens.length;w=(w=(u+v)/2))?u=w:v=w,(z=t>=(R=(h+x)/2))?h=R:x=R,(G=n>=(C=(g+S)/2))?g=C:S=C,s=a,!(a=a[k=G<<2|z<<1|O]))return s[k]=l,i;if(E=+i._x.call(null,a.data),B=+i._y.call(null,a.data),L=+i._z.call(null,a.data),e===E&&t===B&&n===L)return l.next=a,s?s[k]=l:i._root=l,i;do s=s?s[k]=new Array(8):i._root=new Array(8),(O=e>=(w=(u+v)/2))?u=w:v=w,(z=t>=(R=(h+x)/2))?h=R:x=R,(G=n>=(C=(g+S)/2))?g=C:S=C;while((k=G<<2|z<<1|O)===(H=(L>=C)<<2|(B>=R)<<1|E>=w));return s[H]=a,s[k]=l,i}function gW(i){Array.isArray(i)||(i=Array.from(i));const e=i.length,t=new Float64Array(e),n=new Float64Array(e),r=new Float64Array(e);let s=1/0,a=1/0,l=1/0,u=-1/0,h=-1/0,g=-1/0;for(let v=0,x,S,w,R;vu&&(u=S),wh&&(h=w),Rg&&(g=R));if(s>u||a>h||l>g)return this;this.cover(s,a,l).cover(u,h,g);for(let v=0;vi||i>=a||r>e||e>=l||s>t||t>=u;)switch(x=(tw||(h=L.y0)>R||(g=L.z0)>C||(v=L.x1)=k)<<2|(e>=G)<<1|i>=z)&&(L=E[E.length-1],E[E.length-1]=E[E.length-1-O],E[E.length-1-O]=L)}else{var H=i-+this._x.call(null,B.data),F=e-+this._y.call(null,B.data),V=t-+this._z.call(null,B.data),Y=H*H+F*F+V*V;if(YMath.sqrt((i-n)**2+(e-r)**2+(t-s)**2);function SW(i,e,t,n){const r=[],s=i-n,a=e-n,l=t-n,u=i+n,h=e+n,g=t+n;return this.visit((v,x,S,w,R,C,E)=>{if(!v.length)do{const B=v.data;bW(i,e,t,this._x(B),this._y(B),this._z(B))<=n&&r.push(B)}while(v=v.next);return x>u||S>h||w>g||R=(R=(a+h)/2))?a=R:h=R,(L=S>=(C=(l+g)/2))?l=C:g=C,(O=w>=(E=(u+v)/2))?u=E:v=E,e=t,!(t=t[z=O<<2|L<<1|B]))return this;if(!t.length)break;(e[z+1&7]||e[z+2&7]||e[z+3&7]||e[z+4&7]||e[z+5&7]||e[z+6&7]||e[z+7&7])&&(n=e,G=z)}for(;t.data!==i;)if(r=t,!(t=t.next))return this;return(s=t.next)&&delete t.next,r?(s?r.next=s:delete r.next,this):e?(s?e[z]=s:delete e[z],(t=e[0]||e[1]||e[2]||e[3]||e[4]||e[5]||e[6]||e[7])&&t===(e[7]||e[6]||e[5]||e[4]||e[3]||e[2]||e[1]||e[0])&&!t.length&&(n?n[G]=t:this._root=t),this):(this._root=s,this)}function wW(i){for(var e=0,t=i.length;ee?1:i>=e?0:NaN}function OW(i,e){return i==null||e==null?NaN:ei?1:e>=i?0:NaN}function gD(i){let e,t,n;i.length!==2?(e=Vv,t=(l,u)=>Vv(i(l),u),n=(l,u)=>i(l)-u):(e=i===Vv||i===OW?i:IW,t=i,n=i);function r(l,u,h=0,g=l.length){if(h>>1;t(l[v],u)<0?h=v+1:g=v}while(h>>1;t(l[v],u)<=0?h=v+1:g=v}while(hh&&n(l[v-1],u)>-n(l[v],u)?v-1:v}return{left:r,center:a,right:s}}function IW(){return 0}function FW(i){return i===null?NaN:+i}const kW=gD(Vv),vD=kW.right;gD(FW).center;function A_(i,e){let t,n;if(e===void 0)for(const r of i)r!=null&&(t===void 0?r>=r&&(t=n=r):(t>r&&(t=r),n=s&&(t=n=s):(t>s&&(t=s),n0){for(a=e[--t];t>0&&(n=a,r=e[--t],a=n+r,s=r-(a-n),!s););t>0&&(s<0&&e[t-1]<0||s>0&&e[t-1]>0)&&(r=s*2,n=a+r,r==n-a&&(a=n))}return a}}const zW=Math.sqrt(50),GW=Math.sqrt(10),qW=Math.sqrt(2);function d_(i,e,t){const n=(e-i)/Math.max(0,t),r=Math.floor(Math.log10(n)),s=n/Math.pow(10,r),a=s>=zW?10:s>=GW?5:s>=qW?2:1;let l,u,h;return r<0?(h=Math.pow(10,-r)/a,l=Math.round(i*h),u=Math.round(e*h),l/he&&--u,h=-h):(h=Math.pow(10,r)*a,l=Math.round(i/h),u=Math.round(e/h),l*he&&--u),u0))return[];if(i===e)return[i];const n=e=r))return[];const l=s-r+1,u=new Array(l);if(n)if(a<0)for(let h=0;h=n)&&(t=n);return t}function WW(i,e){let t=0,n=0;if(e===void 0)for(let r of i)r!=null&&(r=+r)>=r&&(++t,n+=r);else{let r=-1;for(let s of i)(s=e(s,++r,i))!=null&&(s=+s)>=s&&(++t,n+=s)}if(t)return n/t}function*$W(i){for(const e of i)yield*e}function ug(i){return Array.from($W(i))}function jd(i,e,t){i=+i,e=+e,t=(r=arguments.length)<2?(e=i,i=0,1):r<3?1:+t;for(var n=-1,r=Math.max(0,Math.ceil((e-i)/t))|0,s=new Array(r);++n>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):t===8?X2(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):t===4?X2(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=QW.exec(i))?new Wa(e[1],e[2],e[3],1):(e=KW.exec(i))?new Wa(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=ZW.exec(i))?X2(e[1],e[2],e[3],e[4]):(e=JW.exec(i))?X2(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=e$.exec(i))?g6(e[1],e[2]/100,e[3]/100,1):(e=t$.exec(i))?g6(e[1],e[2]/100,e[3]/100,e[4]):h6.hasOwnProperty(i)?d6(h6[i]):i==="transparent"?new Wa(NaN,NaN,NaN,0):null}function d6(i){return new Wa(i>>16&255,i>>8&255,i&255,1)}function X2(i,e,t,n){return n<=0&&(i=e=t=NaN),new Wa(i,e,t,n)}function r$(i){return i instanceof zg||(i=cA(i)),i?(i=i.rgb(),new Wa(i.r,i.g,i.b,i.opacity)):new Wa}function iT(i,e,t,n){return arguments.length===1?r$(i):new Wa(i,e,t,n??1)}function Wa(i,e,t,n){this.r=+i,this.g=+e,this.b=+t,this.opacity=+n}uM(Wa,iT,yD(zg,{brighter(i){return i=i==null?p_:Math.pow(p_,i),new Wa(this.r*i,this.g*i,this.b*i,this.opacity)},darker(i){return i=i==null?cg:Math.pow(cg,i),new Wa(this.r*i,this.g*i,this.b*i,this.opacity)},rgb(){return this},clamp(){return new Wa(eA(this.r),eA(this.g),eA(this.b),m_(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:p6,formatHex:p6,formatHex8:s$,formatRgb:m6,toString:m6}));function p6(){return`#${Wf(this.r)}${Wf(this.g)}${Wf(this.b)}`}function s$(){return`#${Wf(this.r)}${Wf(this.g)}${Wf(this.b)}${Wf((isNaN(this.opacity)?1:this.opacity)*255)}`}function m6(){const i=m_(this.opacity);return`${i===1?"rgb(":"rgba("}${eA(this.r)}, ${eA(this.g)}, ${eA(this.b)}${i===1?")":`, ${i})`}`}function m_(i){return isNaN(i)?1:Math.max(0,Math.min(1,i))}function eA(i){return Math.max(0,Math.min(255,Math.round(i)||0))}function Wf(i){return i=eA(i),(i<16?"0":"")+i.toString(16)}function g6(i,e,t,n){return n<=0?i=e=t=NaN:t<=0||t>=1?i=e=NaN:e<=0&&(i=NaN),new Tl(i,e,t,n)}function xD(i){if(i instanceof Tl)return new Tl(i.h,i.s,i.l,i.opacity);if(i instanceof zg||(i=cA(i)),!i)return new Tl;if(i instanceof Tl)return i;i=i.rgb();var e=i.r/255,t=i.g/255,n=i.b/255,r=Math.min(e,t,n),s=Math.max(e,t,n),a=NaN,l=s-r,u=(s+r)/2;return l?(e===s?a=(t-n)/l+(t0&&u<1?0:a,new Tl(a,l,u,i.opacity)}function a$(i,e,t,n){return arguments.length===1?xD(i):new Tl(i,e,t,n??1)}function Tl(i,e,t,n){this.h=+i,this.s=+e,this.l=+t,this.opacity=+n}uM(Tl,a$,yD(zg,{brighter(i){return i=i==null?p_:Math.pow(p_,i),new Tl(this.h,this.s,this.l*i,this.opacity)},darker(i){return i=i==null?cg:Math.pow(cg,i),new Tl(this.h,this.s,this.l*i,this.opacity)},rgb(){var i=this.h%360+(this.h<0)*360,e=isNaN(i)||isNaN(this.s)?0:this.s,t=this.l,n=t+(t<.5?t:1-t)*e,r=2*t-n;return new Wa(L3(i>=240?i-240:i+120,r,n),L3(i,r,n),L3(i<120?i+240:i-120,r,n),this.opacity)},clamp(){return new Tl(v6(this.h),Y2(this.s),Y2(this.l),m_(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const i=m_(this.opacity);return`${i===1?"hsl(":"hsla("}${v6(this.h)}, ${Y2(this.s)*100}%, ${Y2(this.l)*100}%${i===1?")":`, ${i})`}`}}));function v6(i){return i=(i||0)%360,i<0?i+360:i}function Y2(i){return Math.max(0,Math.min(1,i||0))}function L3(i,e,t){return(i<60?e+(t-e)*i/60:i<180?t:i<240?e+(t-e)*(240-i)/60:e)*255}const cM=i=>()=>i;function o$(i,e){return function(t){return i+t*e}}function l$(i,e,t){return i=Math.pow(i,t),e=Math.pow(e,t)-i,t=1/t,function(n){return Math.pow(i+n*e,t)}}function u$(i){return(i=+i)==1?bD:function(e,t){return t-e?l$(e,t,i):cM(isNaN(e)?t:e)}}function bD(i,e){var t=e-i;return t?o$(i,t):cM(isNaN(i)?e:i)}const _6=(function i(e){var t=u$(e);function n(r,s){var a=t((r=iT(r)).r,(s=iT(s)).r),l=t(r.g,s.g),u=t(r.b,s.b),h=bD(r.opacity,s.opacity);return function(g){return r.r=a(g),r.g=l(g),r.b=u(g),r.opacity=h(g),r+""}}return n.gamma=i,n})(1);function SD(i,e){e||(e=[]);var t=i?Math.min(e.length,i.length):0,n=e.slice(),r;return function(s){for(r=0;rt&&(s=e.slice(t,s),l[a]?l[a]+=s:l[++a]=s),(n=n[0])===(r=r[0])?l[a]?l[a]+=r:l[++a]=r:(l[++a]=null,u.push({i:a,x:fg(n,r)})),t=U3.lastIndex;return te&&(t=i,i=e,e=t),function(n){return Math.max(i,Math.min(e,n))}}function y$(i,e,t){var n=i[0],r=i[1],s=e[0],a=e[1];return r2?x$:y$,u=h=null,v}function v(x){return x==null||isNaN(x=+x)?s:(u||(u=l(i.map(n),e,t)))(n(a(x)))}return v.invert=function(x){return a(r((h||(h=l(e,i.map(n),fg)))(x)))},v.domain=function(x){return arguments.length?(i=Array.from(x,v$),g()):i.slice()},v.range=function(x){return arguments.length?(e=Array.from(x),g()):e.slice()},v.rangeRound=function(x){return e=Array.from(x),t=m$,g()},v.clamp=function(x){return arguments.length?(a=x?!0:Wd,g()):a!==Wd},v.interpolate=function(x){return arguments.length?(t=x,g()):t},v.unknown=function(x){return arguments.length?(s=x,v):s},function(x,S){return n=x,r=S,g()}}function T$(){return S$()(Wd,Wd)}function w$(i){return Math.abs(i=Math.round(i))>=1e21?i.toLocaleString("en").replace(/,/g,""):i.toString(10)}function g_(i,e){if(!isFinite(i)||i===0)return null;var t=(i=e?i.toExponential(e-1):i.toExponential()).indexOf("e"),n=i.slice(0,t);return[n.length>1?n[0]+n.slice(2):n,+i.slice(t+1)]}function C0(i){return i=g_(Math.abs(i)),i?i[1]:NaN}function M$(i,e){return function(t,n){for(var r=t.length,s=[],a=0,l=i[0],u=0;r>0&&l>0&&(u+l+1>n&&(l=Math.max(1,n-u)),s.push(t.substring(r-=l,r+l)),!((u+=l+1)>n));)l=i[a=(a+1)%i.length];return s.reverse().join(e)}}function E$(i){return function(e){return e.replace(/[0-9]/g,function(t){return i[+t]})}}var C$=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function v_(i){if(!(e=C$.exec(i)))throw new Error("invalid format: "+i);var e;return new fM({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}v_.prototype=fM.prototype;function fM(i){this.fill=i.fill===void 0?" ":i.fill+"",this.align=i.align===void 0?">":i.align+"",this.sign=i.sign===void 0?"-":i.sign+"",this.symbol=i.symbol===void 0?"":i.symbol+"",this.zero=!!i.zero,this.width=i.width===void 0?void 0:+i.width,this.comma=!!i.comma,this.precision=i.precision===void 0?void 0:+i.precision,this.trim=!!i.trim,this.type=i.type===void 0?"":i.type+""}fM.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function R$(i){e:for(var e=i.length,t=1,n=-1,r;t0&&(n=0);break}return n>0?i.slice(0,n)+i.slice(r+1):i}var __;function N$(i,e){var t=g_(i,e);if(!t)return __=void 0,i.toPrecision(e);var n=t[0],r=t[1],s=r-(__=Math.max(-8,Math.min(8,Math.floor(r/3)))*3)+1,a=n.length;return s===a?n:s>a?n+new Array(s-a+1).join("0"):s>0?n.slice(0,s)+"."+n.slice(s):"0."+new Array(1-s).join("0")+g_(i,Math.max(0,e+s-1))[0]}function x6(i,e){var t=g_(i,e);if(!t)return i+"";var n=t[0],r=t[1];return r<0?"0."+new Array(-r).join("0")+n:n.length>r+1?n.slice(0,r+1)+"."+n.slice(r+1):n+new Array(r-n.length+2).join("0")}const b6={"%":(i,e)=>(i*100).toFixed(e),b:i=>Math.round(i).toString(2),c:i=>i+"",d:w$,e:(i,e)=>i.toExponential(e),f:(i,e)=>i.toFixed(e),g:(i,e)=>i.toPrecision(e),o:i=>Math.round(i).toString(8),p:(i,e)=>x6(i*100,e),r:x6,s:N$,X:i=>Math.round(i).toString(16).toUpperCase(),x:i=>Math.round(i).toString(16)};function S6(i){return i}var T6=Array.prototype.map,w6=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function D$(i){var e=i.grouping===void 0||i.thousands===void 0?S6:M$(T6.call(i.grouping,Number),i.thousands+""),t=i.currency===void 0?"":i.currency[0]+"",n=i.currency===void 0?"":i.currency[1]+"",r=i.decimal===void 0?".":i.decimal+"",s=i.numerals===void 0?S6:E$(T6.call(i.numerals,String)),a=i.percent===void 0?"%":i.percent+"",l=i.minus===void 0?"−":i.minus+"",u=i.nan===void 0?"NaN":i.nan+"";function h(v,x){v=v_(v);var S=v.fill,w=v.align,R=v.sign,C=v.symbol,E=v.zero,B=v.width,L=v.comma,O=v.precision,z=v.trim,G=v.type;G==="n"?(L=!0,G="g"):b6[G]||(O===void 0&&(O=12),z=!0,G="g"),(E||S==="0"&&w==="=")&&(E=!0,S="0",w="=");var k=(x&&x.prefix!==void 0?x.prefix:"")+(C==="$"?t:C==="#"&&/[boxX]/.test(G)?"0"+G.toLowerCase():""),H=(C==="$"?n:/[%p]/.test(G)?a:"")+(x&&x.suffix!==void 0?x.suffix:""),F=b6[G],V=/[defgprs%]/.test(G);O=O===void 0?6:/[gprs]/.test(G)?Math.max(1,Math.min(21,O)):Math.max(0,Math.min(20,O));function Y(ee){var ne=k,se=H,te,Q,le;if(G==="c")se=F(ee)+se,ee="";else{ee=+ee;var de=ee<0||1/ee<0;if(ee=isNaN(ee)?u:F(Math.abs(ee),O),z&&(ee=R$(ee)),de&&+ee==0&&R!=="+"&&(de=!1),ne=(de?R==="("?R:l:R==="-"||R==="("?"":R)+ne,se=(G==="s"&&!isNaN(ee)&&__!==void 0?w6[8+__/3]:"")+se+(de&&R==="("?")":""),V){for(te=-1,Q=ee.length;++tele||le>57){se=(le===46?r+ee.slice(te+1):ee.slice(te))+se,ee=ee.slice(0,te);break}}}L&&!E&&(ee=e(ee,1/0));var Te=ne.length+ee.length+se.length,Se=Te>1)+ne+ee+se+Se.slice(Te);break;default:ee=Se+ne+ee+se;break}return s(ee)}return Y.toString=function(){return v+""},Y}function g(v,x){var S=Math.max(-8,Math.min(8,Math.floor(C0(x)/3)))*3,w=Math.pow(10,-S),R=h((v=v_(v),v.type="f",v),{suffix:w6[8+S/3]});return function(C){return R(w*C)}}return{format:h,formatPrefix:g}}var Q2,MD,ED;P$({thousands:",",grouping:[3],currency:["$",""]});function P$(i){return Q2=D$(i),MD=Q2.format,ED=Q2.formatPrefix,Q2}function L$(i){return Math.max(0,-C0(Math.abs(i)))}function U$(i,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(C0(e)/3)))*3-C0(Math.abs(i)))}function B$(i,e){return i=Math.abs(i),e=Math.abs(e)-i,Math.max(0,C0(e)-C0(i))+1}function O$(i,e,t,n){var r=HW(i,e,t),s;switch(n=v_(n??",f"),n.type){case"s":{var a=Math.max(Math.abs(i),Math.abs(e));return n.precision==null&&!isNaN(s=U$(r,a))&&(n.precision=s),ED(n,a)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(s=B$(r,Math.max(Math.abs(i),Math.abs(e))))&&(n.precision=s-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(s=L$(r))&&(n.precision=s-(n.type==="%")*2);break}}return MD(n)}function CD(i){var e=i.domain;return i.ticks=function(t){var n=e();return VW(n[0],n[n.length-1],t??10)},i.tickFormat=function(t,n){var r=e();return O$(r[0],r[r.length-1],t??10,n)},i.nice=function(t){t==null&&(t=10);var n=e(),r=0,s=n.length-1,a=n[r],l=n[s],u,h,g=10;for(l0;){if(h=nT(a,l,t),h===u)return n[r]=a,n[s]=l,e(n);if(h>0)a=Math.floor(a/h)*h,l=Math.ceil(l/h)*h;else if(h<0)a=Math.ceil(a*h)/h,l=Math.floor(l*h)/h;else break;u=h}return i},i}function Pc(){var i=T$();return i.copy=function(){return b$(i,Pc())},_D.apply(i,arguments),CD(i)}function RD(){var i=0,e=1,t=1,n=[.5],r=[0,1],s;function a(u){return u!=null&&u<=u?r[vD(n,u,0,t)]:s}function l(){var u=-1;for(n=new Array(t);++u=t?[n[t-1],e]:[n[h-1],n[h]]},a.unknown=function(u){return arguments.length&&(s=u),a},a.thresholds=function(){return n.slice()},a.copy=function(){return RD().domain([i,e]).range(r).unknown(s)},_D.apply(CD(a),arguments)}var di=1e-6,y_=1e-12,Ni=Math.PI,$a=Ni/2,x_=Ni/4,No=Ni*2,kr=180/Ni,Hn=Ni/180,ir=Math.abs,AM=Math.atan,Zo=Math.atan2,ei=Math.cos,K2=Math.ceil,I$=Math.exp,aT=Math.hypot,F$=Math.log,zn=Math.sin,k$=Math.sign||function(i){return i>0?1:i<0?-1:0},Lc=Math.sqrt,z$=Math.tan;function G$(i){return i>1?0:i<-1?Ni:Math.acos(i)}function Uc(i){return i>1?$a:i<-1?-$a:Math.asin(i)}function M6(i){return(i=zn(i/2))*i}function ra(){}function b_(i,e){i&&C6.hasOwnProperty(i.type)&&C6[i.type](i,e)}var E6={Feature:function(i,e){b_(i.geometry,e)},FeatureCollection:function(i,e){for(var t=i.features,n=-1,r=t.length;++n=0?1:-1,r=n*t,s=ei(e),a=zn(e),l=cT*a,u=uT*s+l*ei(r),h=l*n*zn(r);S_.add(Zo(h,u)),lT=i,uT=s,cT=a}function T_(i){return[Zo(i[1],i[0]),Uc(i[2])]}function hA(i){var e=i[0],t=i[1],n=ei(t);return[n*ei(e),n*zn(e),zn(t)]}function Z2(i,e){return i[0]*e[0]+i[1]*e[1]+i[2]*e[2]}function R0(i,e){return[i[1]*e[2]-i[2]*e[1],i[2]*e[0]-i[0]*e[2],i[0]*e[1]-i[1]*e[0]]}function B3(i,e){i[0]+=e[0],i[1]+=e[1],i[2]+=e[2]}function J2(i,e){return[i[0]*e,i[1]*e,i[2]*e]}function w_(i){var e=Lc(i[0]*i[0]+i[1]*i[1]+i[2]*i[2]);i[0]/=e,i[1]/=e,i[2]/=e}var Cr,qa,Ir,wo,Of,LD,UD,i0,Dm,Ch,Oc,_c={point:hT,lineStart:D6,lineEnd:P6,polygonStart:function(){_c.point=OD,_c.lineStart=j$,_c.lineEnd=W$,Dm=new Ec,Bc.polygonStart()},polygonEnd:function(){Bc.polygonEnd(),_c.point=hT,_c.lineStart=D6,_c.lineEnd=P6,S_<0?(Cr=-(Ir=180),qa=-(wo=90)):Dm>di?wo=90:Dm<-di&&(qa=-90),Oc[0]=Cr,Oc[1]=Ir},sphere:function(){Cr=-(Ir=180),qa=-(wo=90)}};function hT(i,e){Ch.push(Oc=[Cr=i,Ir=i]),ewo&&(wo=e)}function BD(i,e){var t=hA([i*Hn,e*Hn]);if(i0){var n=R0(i0,t),r=[n[1],-n[0],0],s=R0(r,n);w_(s),s=T_(s);var a=i-Of,l=a>0?1:-1,u=s[0]*kr*l,h,g=ir(a)>180;g^(l*Ofwo&&(wo=h)):(u=(u+360)%360-180,g^(l*Ofwo&&(wo=e))),g?ibo(Cr,Ir)&&(Ir=i):bo(i,Ir)>bo(Cr,Ir)&&(Cr=i):Ir>=Cr?(iIr&&(Ir=i)):i>Of?bo(Cr,i)>bo(Cr,Ir)&&(Ir=i):bo(i,Ir)>bo(Cr,Ir)&&(Cr=i)}else Ch.push(Oc=[Cr=i,Ir=i]);ewo&&(wo=e),i0=t,Of=i}function D6(){_c.point=BD}function P6(){Oc[0]=Cr,Oc[1]=Ir,_c.point=hT,i0=null}function OD(i,e){if(i0){var t=i-Of;Dm.add(ir(t)>180?t+(t>0?360:-360):t)}else LD=i,UD=e;Bc.point(i,e),BD(i,e)}function j$(){Bc.lineStart()}function W$(){OD(LD,UD),Bc.lineEnd(),ir(Dm)>di&&(Cr=-(Ir=180)),Oc[0]=Cr,Oc[1]=Ir,i0=null}function bo(i,e){return(e-=i)<0?e+360:e}function $$(i,e){return i[0]-e[0]}function L6(i,e){return i[0]<=i[1]?i[0]<=e&&e<=i[1]:ebo(n[0],n[1])&&(n[1]=r[1]),bo(r[0],n[1])>bo(n[0],n[1])&&(n[0]=r[0])):s.push(n=r);for(a=-1/0,t=s.length-1,e=0,n=s[t];e<=t;n=r,++e)r=s[e],(l=bo(n[1],r[0]))>a&&(a=l,Cr=r[0],Ir=n[1])}return Ch=Oc=null,Cr===1/0||qa===1/0?[[NaN,NaN],[NaN,NaN]]:[[Cr,qa],[Ir,wo]]}var xm,M_,E_,C_,R_,N_,D_,P_,fT,AT,dT,FD,kD,xa,ba,Sa,Ml={sphere:ra,point:dM,lineStart:U6,lineEnd:B6,polygonStart:function(){Ml.lineStart=Q$,Ml.lineEnd=K$},polygonEnd:function(){Ml.lineStart=U6,Ml.lineEnd=B6}};function dM(i,e){i*=Hn,e*=Hn;var t=ei(e);Gg(t*ei(i),t*zn(i),zn(e))}function Gg(i,e,t){++xm,E_+=(i-E_)/xm,C_+=(e-C_)/xm,R_+=(t-R_)/xm}function U6(){Ml.point=X$}function X$(i,e){i*=Hn,e*=Hn;var t=ei(e);xa=t*ei(i),ba=t*zn(i),Sa=zn(e),Ml.point=Y$,Gg(xa,ba,Sa)}function Y$(i,e){i*=Hn,e*=Hn;var t=ei(e),n=t*ei(i),r=t*zn(i),s=zn(e),a=Zo(Lc((a=ba*s-Sa*r)*a+(a=Sa*n-xa*s)*a+(a=xa*r-ba*n)*a),xa*n+ba*r+Sa*s);M_+=a,N_+=a*(xa+(xa=n)),D_+=a*(ba+(ba=r)),P_+=a*(Sa+(Sa=s)),Gg(xa,ba,Sa)}function B6(){Ml.point=dM}function Q$(){Ml.point=Z$}function K$(){zD(FD,kD),Ml.point=dM}function Z$(i,e){FD=i,kD=e,i*=Hn,e*=Hn,Ml.point=zD;var t=ei(e);xa=t*ei(i),ba=t*zn(i),Sa=zn(e),Gg(xa,ba,Sa)}function zD(i,e){i*=Hn,e*=Hn;var t=ei(e),n=t*ei(i),r=t*zn(i),s=zn(e),a=ba*s-Sa*r,l=Sa*n-xa*s,u=xa*r-ba*n,h=aT(a,l,u),g=Uc(h),v=h&&-g/h;fT.add(v*a),AT.add(v*l),dT.add(v*u),M_+=g,N_+=g*(xa+(xa=n)),D_+=g*(ba+(ba=r)),P_+=g*(Sa+(Sa=s)),Gg(xa,ba,Sa)}function O6(i){xm=M_=E_=C_=R_=N_=D_=P_=0,fT=new Ec,AT=new Ec,dT=new Ec,Ey(i,Ml);var e=+fT,t=+AT,n=+dT,r=aT(e,t,n);return rNi&&(i-=Math.round(i/No)*No),[i,e]}mT.invert=mT;function GD(i,e,t){return(i%=No)?e||t?pT(F6(i),k6(e,t)):F6(i):e||t?k6(e,t):mT}function I6(i){return function(e,t){return e+=i,ir(e)>Ni&&(e-=Math.round(e/No)*No),[e,t]}}function F6(i){var e=I6(i);return e.invert=I6(-i),e}function k6(i,e){var t=ei(i),n=zn(i),r=ei(e),s=zn(e);function a(l,u){var h=ei(u),g=ei(l)*h,v=zn(l)*h,x=zn(u),S=x*t+g*n;return[Zo(v*r-S*s,g*t-x*n),Uc(S*r+v*s)]}return a.invert=function(l,u){var h=ei(u),g=ei(l)*h,v=zn(l)*h,x=zn(u),S=x*r-v*s;return[Zo(v*r+x*s,g*t+S*n),Uc(S*t-g*n)]},a}function J$(i){i=GD(i[0]*Hn,i[1]*Hn,i.length>2?i[2]*Hn:0);function e(t){return t=i(t[0]*Hn,t[1]*Hn),t[0]*=kr,t[1]*=kr,t}return e.invert=function(t){return t=i.invert(t[0]*Hn,t[1]*Hn),t[0]*=kr,t[1]*=kr,t},e}function eX(i,e,t,n,r,s){if(t){var a=ei(e),l=zn(e),u=n*t;r==null?(r=e+n*No,s=e-u/2):(r=z6(a,r),s=z6(a,s),(n>0?rs)&&(r+=n*No));for(var h,g=r;n>0?g>s:g1&&i.push(i.pop().concat(i.shift()))},result:function(){var t=i;return i=[],e=null,t}}}function Hv(i,e){return ir(i[0]-e[0])=0;--l)r.point((v=g[l])[0],v[1]);else n(x.x,x.p.x,-1,r);x=x.p}x=x.o,g=x.z,S=!S}while(!x.v);r.lineEnd()}}}function G6(i){if(e=i.length){for(var e,t=0,n=i[0],r;++t=0?1:-1,V=F*H,Y=V>Ni,ee=C*G;if(u.add(Zo(ee*F*zn(V),E*k+ee*ei(V))),a+=Y?H+F*No:H,Y^w>=t^O>=t){var ne=R0(hA(S),hA(L));w_(ne);var se=R0(s,ne);w_(se);var te=(Y^H>=0?-1:1)*Uc(se[2]);(n>te||n===te&&(ne[0]||ne[1]))&&(l+=Y^H>=0?1:-1)}}return(a<-di||a0){for(u||(r.polygonStart(),u=!0),r.lineStart(),G=0;G1&&O&2&&z.push(z.pop().concat(z.shift())),g.push(z.filter(tX))}}return x}}function tX(i){return i.length>1}function nX(i,e){return((i=i.x)[0]<0?i[1]-$a-di:$a-i[1])-((e=e.x)[0]<0?e[1]-$a-di:$a-e[1])}const q6=jD(function(){return!0},iX,sX,[-Ni,-$a]);function iX(i){var e=NaN,t=NaN,n=NaN,r;return{lineStart:function(){i.lineStart(),r=1},point:function(s,a){var l=s>0?Ni:-Ni,u=ir(s-e);ir(u-Ni)0?$a:-$a),i.point(n,t),i.lineEnd(),i.lineStart(),i.point(l,t),i.point(s,t),r=0):n!==l&&u>=Ni&&(ir(e-n)di?AM((zn(e)*(s=ei(n))*zn(t)-zn(n)*(r=ei(e))*zn(i))/(r*s*a)):(e+n)/2}function sX(i,e,t,n){var r;if(i==null)r=t*$a,n.point(-Ni,r),n.point(0,r),n.point(Ni,r),n.point(Ni,0),n.point(Ni,-r),n.point(0,-r),n.point(-Ni,-r),n.point(-Ni,0),n.point(-Ni,r);else if(ir(i[0]-e[0])>di){var s=i[0]0,r=ir(e)>di;function s(g,v,x,S){eX(S,i,t,x,g,v)}function a(g,v){return ei(g)*ei(v)>e}function l(g){var v,x,S,w,R;return{lineStart:function(){w=S=!1,R=1},point:function(C,E){var B=[C,E],L,O=a(C,E),z=n?O?0:h(C,E):O?h(C+(C<0?Ni:-Ni),E):0;if(!v&&(w=S=O)&&g.lineStart(),O!==S&&(L=u(v,B),(!L||Hv(v,L)||Hv(B,L))&&(B[2]=1)),O!==S)R=0,O?(g.lineStart(),L=u(B,v),g.point(L[0],L[1])):(L=u(v,B),g.point(L[0],L[1],2),g.lineEnd()),v=L;else if(r&&v&&n^O){var G;!(z&x)&&(G=u(B,v,!0))&&(R=0,n?(g.lineStart(),g.point(G[0][0],G[0][1]),g.point(G[1][0],G[1][1]),g.lineEnd()):(g.point(G[1][0],G[1][1]),g.lineEnd(),g.lineStart(),g.point(G[0][0],G[0][1],3)))}O&&(!v||!Hv(v,B))&&g.point(B[0],B[1]),v=B,S=O,x=z},lineEnd:function(){S&&g.lineEnd(),v=null},clean:function(){return R|(w&&S)<<1}}}function u(g,v,x){var S=hA(g),w=hA(v),R=[1,0,0],C=R0(S,w),E=Z2(C,C),B=C[0],L=E-B*B;if(!L)return!x&&g;var O=e*E/L,z=-e*B/L,G=R0(R,C),k=J2(R,O),H=J2(C,z);B3(k,H);var F=G,V=Z2(k,F),Y=Z2(F,F),ee=V*V-Y*(Z2(k,k)-1);if(!(ee<0)){var ne=Lc(ee),se=J2(F,(-V-ne)/Y);if(B3(se,k),se=T_(se),!x)return se;var te=g[0],Q=v[0],le=g[1],de=v[1],Te;Q0^se[1]<(ir(se[0]-te)Ni^(te<=se[0]&&se[0]<=Q)){var We=J2(F,(-V+ne)/Y);return B3(We,k),[se,T_(We)]}}}function h(g,v){var x=n?i:Ni-i,S=0;return g<-x?S|=1:g>x&&(S|=2),v<-x?S|=4:v>x&&(S|=8),S}return jD(a,l,s,n?[0,-i]:[-Ni,i-Ni])}function oX(i,e,t,n,r,s){var a=i[0],l=i[1],u=e[0],h=e[1],g=0,v=1,x=u-a,S=h-l,w;if(w=t-a,!(!x&&w>0)){if(w/=x,x<0){if(w0){if(w>v)return;w>g&&(g=w)}if(w=r-a,!(!x&&w<0)){if(w/=x,x<0){if(w>v)return;w>g&&(g=w)}else if(x>0){if(w0)){if(w/=S,S<0){if(w0){if(w>v)return;w>g&&(g=w)}if(w=s-l,!(!S&&w<0)){if(w/=S,S<0){if(w>v)return;w>g&&(g=w)}else if(S>0){if(w0&&(i[0]=a+g*x,i[1]=l+g*S),v<1&&(e[0]=a+v*x,e[1]=l+v*S),!0}}}}}var bm=1e9,tv=-bm;function lX(i,e,t,n){function r(h,g){return i<=h&&h<=t&&e<=g&&g<=n}function s(h,g,v,x){var S=0,w=0;if(h==null||(S=a(h,v))!==(w=a(g,v))||u(h,g)<0^v>0)do x.point(S===0||S===3?i:t,S>1?n:e);while((S=(S+v+4)%4)!==w);else x.point(g[0],g[1])}function a(h,g){return ir(h[0]-i)0?0:3:ir(h[0]-t)0?2:1:ir(h[1]-e)0?1:0:g>0?3:2}function l(h,g){return u(h.x,g.x)}function u(h,g){var v=a(h,1),x=a(g,1);return v!==x?v-x:v===0?g[1]-h[1]:v===1?h[0]-g[0]:v===2?h[1]-g[1]:g[0]-h[0]}return function(h){var g=h,v=qD(),x,S,w,R,C,E,B,L,O,z,G,k={point:H,lineStart:ee,lineEnd:ne,polygonStart:V,polygonEnd:Y};function H(te,Q){r(te,Q)&&g.point(te,Q)}function F(){for(var te=0,Q=0,le=S.length;Qn&&(Ee-be)*(n-We)>(Ge-We)*(i-be)&&++te:Ge<=n&&(Ee-be)*(n-We)<(Ge-We)*(i-be)&&--te;return te}function V(){g=v,x=[],S=[],G=!0}function Y(){var te=F(),Q=G&&te,le=(x=ug(x)).length;(Q||le)&&(h.polygonStart(),Q&&(h.lineStart(),s(null,null,1,h),h.lineEnd()),le&&VD(x,l,te,s,h),h.polygonEnd()),g=h,x=S=w=null}function ee(){k.point=se,S&&S.push(w=[]),z=!0,O=!1,B=L=NaN}function ne(){x&&(se(R,C),E&&O&&v.rejoin(),x.push(v.result())),k.point=H,O&&g.lineEnd()}function se(te,Q){var le=r(te,Q);if(S&&w.push([te,Q]),z)R=te,C=Q,E=le,z=!1,le&&(g.lineStart(),g.point(te,Q));else if(le&&O)g.point(te,Q);else{var de=[B=Math.max(tv,Math.min(bm,B)),L=Math.max(tv,Math.min(bm,L))],Te=[te=Math.max(tv,Math.min(bm,te)),Q=Math.max(tv,Math.min(bm,Q))];oX(de,Te,i,e,t,n)?(O||(g.lineStart(),g.point(de[0],de[1])),g.point(Te[0],Te[1]),le||g.lineEnd(),G=!1):le&&(g.lineStart(),g.point(te,Q),G=!1)}B=te,L=Q,O=le}return k}}var gT,vT,jv,Wv,N0={sphere:ra,point:ra,lineStart:uX,lineEnd:ra,polygonStart:ra,polygonEnd:ra};function uX(){N0.point=hX,N0.lineEnd=cX}function cX(){N0.point=N0.lineEnd=ra}function hX(i,e){i*=Hn,e*=Hn,vT=i,jv=zn(e),Wv=ei(e),N0.point=fX}function fX(i,e){i*=Hn,e*=Hn;var t=zn(e),n=ei(e),r=ir(i-vT),s=ei(r),a=zn(r),l=n*a,u=Wv*t-jv*n*s,h=jv*t+Wv*n*s;gT.add(Zo(Lc(l*l+u*u),h)),vT=i,jv=t,Wv=n}function AX(i){return gT=new Ec,Ey(i,N0),+gT}var _T=[null,null],dX={type:"LineString",coordinates:_T};function Vh(i,e){return _T[0]=i,_T[1]=e,AX(dX)}var V6={Feature:function(i,e){return L_(i.geometry,e)},FeatureCollection:function(i,e){for(var t=i.features,n=-1,r=t.length;++n0&&(r=Vh(i[s],i[s-1]),r>0&&t<=r&&n<=r&&(t+n-r)*(1-Math.pow((t-n)/r,2))di}).map(x)).concat(jd(K2(s/h)*h,r,h).filter(function(L){return ir(L%v)>di}).map(S))}return E.lines=function(){return B().map(function(L){return{type:"LineString",coordinates:L}})},E.outline=function(){return{type:"Polygon",coordinates:[w(n).concat(R(a).slice(1),w(t).reverse().slice(1),R(l).reverse().slice(1))]}},E.extent=function(L){return arguments.length?E.extentMajor(L).extentMinor(L):E.extentMinor()},E.extentMajor=function(L){return arguments.length?(n=+L[0][0],t=+L[1][0],l=+L[0][1],a=+L[1][1],n>t&&(L=n,n=t,t=L),l>a&&(L=l,l=a,a=L),E.precision(C)):[[n,l],[t,a]]},E.extentMinor=function(L){return arguments.length?(e=+L[0][0],i=+L[1][0],s=+L[0][1],r=+L[1][1],e>i&&(L=e,e=i,i=L),s>r&&(L=s,s=r,r=L),E.precision(C)):[[e,s],[i,r]]},E.step=function(L){return arguments.length?E.stepMajor(L).stepMinor(L):E.stepMinor()},E.stepMajor=function(L){return arguments.length?(g=+L[0],v=+L[1],E):[g,v]},E.stepMinor=function(L){return arguments.length?(u=+L[0],h=+L[1],E):[u,h]},E.precision=function(L){return arguments.length?(C=+L,x=X6(s,r,90),S=Y6(e,i,C),w=X6(l,a,90),R=Y6(n,t,C),E):C},E.extentMajor([[-180,-90+di],[180,90-di]]).extentMinor([[-180,-80-di],[180,80+di]])}function vX(){return gX()()}function pM(i,e){var t=i[0]*Hn,n=i[1]*Hn,r=e[0]*Hn,s=e[1]*Hn,a=ei(n),l=zn(n),u=ei(s),h=zn(s),g=a*ei(t),v=a*zn(t),x=u*ei(r),S=u*zn(r),w=2*Uc(Lc(M6(s-n)+a*u*M6(r-t))),R=zn(w),C=w?function(E){var B=zn(E*=w)/R,L=zn(w-E)/R,O=L*g+B*x,z=L*v+B*S,G=L*l+B*h;return[Zo(z,O)*kr,Zo(G,Lc(O*O+z*z))*kr]}:function(){return[t*kr,n*kr]};return C.distance=w,C}const Q6=i=>i;var D0=1/0,U_=D0,Ag=-D0,B_=Ag,K6={point:_X,lineStart:ra,lineEnd:ra,polygonStart:ra,polygonEnd:ra,result:function(){var i=[[D0,U_],[Ag,B_]];return Ag=B_=-(U_=D0=1/0),i}};function _X(i,e){iAg&&(Ag=i),eB_&&(B_=e)}function mM(i){return function(e){var t=new yT;for(var n in i)t[n]=i[n];return t.stream=e,t}}function yT(){}yT.prototype={constructor:yT,point:function(i,e){this.stream.point(i,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function gM(i,e,t){var n=i.clipExtent&&i.clipExtent();return i.scale(150).translate([0,0]),n!=null&&i.clipExtent(null),Ey(t,i.stream(K6)),e(K6.result()),n!=null&&i.clipExtent(n),i}function $D(i,e,t){return gM(i,function(n){var r=e[1][0]-e[0][0],s=e[1][1]-e[0][1],a=Math.min(r/(n[1][0]-n[0][0]),s/(n[1][1]-n[0][1])),l=+e[0][0]+(r-a*(n[1][0]+n[0][0]))/2,u=+e[0][1]+(s-a*(n[1][1]+n[0][1]))/2;i.scale(150*a).translate([l,u])},t)}function yX(i,e,t){return $D(i,[[0,0],e],t)}function xX(i,e,t){return gM(i,function(n){var r=+e,s=r/(n[1][0]-n[0][0]),a=(r-s*(n[1][0]+n[0][0]))/2,l=-s*n[0][1];i.scale(150*s).translate([a,l])},t)}function bX(i,e,t){return gM(i,function(n){var r=+e,s=r/(n[1][1]-n[0][1]),a=-s*n[0][0],l=(r-s*(n[1][1]+n[0][1]))/2;i.scale(150*s).translate([a,l])},t)}var Z6=16,SX=ei(30*Hn);function J6(i,e){return+e?wX(i,e):TX(i)}function TX(i){return mM({point:function(e,t){e=i(e,t),this.stream.point(e[0],e[1])}})}function wX(i,e){function t(n,r,s,a,l,u,h,g,v,x,S,w,R,C){var E=h-n,B=g-r,L=E*E+B*B;if(L>4*e&&R--){var O=a+x,z=l+S,G=u+w,k=Lc(O*O+z*z+G*G),H=Uc(G/=k),F=ir(ir(G)-1)e||ir((E*ne+B*se)/L-.5)>.3||a*x+l*S+u*w2?te[2]%360*Hn:0,ne()):[l*kr,u*kr,h*kr]},Y.angle=function(te){return arguments.length?(v=te%360*Hn,ne()):v*kr},Y.reflectX=function(te){return arguments.length?(x=te?-1:1,ne()):x<0},Y.reflectY=function(te){return arguments.length?(S=te?-1:1,ne()):S<0},Y.precision=function(te){return arguments.length?(G=J6(k,z=te*te),se()):Lc(z)},Y.fitExtent=function(te,Q){return $D(Y,te,Q)},Y.fitSize=function(te,Q){return yX(Y,te,Q)},Y.fitWidth=function(te,Q){return xX(Y,te,Q)},Y.fitHeight=function(te,Q){return bX(Y,te,Q)};function ne(){var te=eR(t,0,0,x,S,v).apply(null,e(s,a)),Q=eR(t,n-te[0],r-te[1],x,S,v);return g=GD(l,u,h),k=pT(e,Q),H=pT(g,k),G=J6(k,z),se()}function se(){return F=V=null,Y}return function(){return e=i.apply(this,arguments),Y.invert=e.invert&&ee,ne()}}function DX(i){return function(e,t){var n=Lc(e*e+t*t),r=i(n),s=zn(r),a=ei(r);return[Zo(e*s,n*a),Uc(n&&t*s/n)]}}function vM(i,e){return[i,F$(z$(($a+e)/2))]}vM.invert=function(i,e){return[i,2*AM(I$(e))-$a]};function XD(i,e){var t=ei(e),n=1+ei(i)*t;return[t*zn(i)/n,zn(e)/n]}XD.invert=DX(function(i){return 2*AM(i)});function PX(){return RX(XD).scale(250).clipAngle(142)}function xT(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,n=Array(e);t1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,r=Pc().domain([1,0]).range([t,n]).clamp(!0),s=Pc().domain([I3(t),I3(n)]).range([1,0]).clamp(!0),a=function(v){return s(I3(r(v)))},l=e.array,u=0,h=l.length;u2&&arguments[2]!==void 0?arguments[2]:0,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4?arguments[4]:void 0,a=arguments.length>5?arguments[5]:void 0,l=[],u=Math.pow(2,e),h=360/u,g=180/u,v=s===void 0?u-1:s,x=a===void 0?u-1:a,S=n,w=Math.min(u-1,v);S<=w;S++)for(var R=r,C=Math.min(u-1,x);R<=C;R++){var E=R,B=g;if(t){E=R===0?R:nR(R/u)*u;var L=R+1===u?R+1:nR((R+1)/u)*u;B=(L-E)*180/u}var O=-180+(S+.5)*h,z=90-(E*180/u+B/2),G=B;l.push({x:S,y:R,lng:O,lat:z,latLen:G})}return l},QX=6,KX=7,ZX=3,JX=90,Ql=new WeakMap,Nh=new WeakMap,F3=new WeakMap,nv=new WeakMap,Vo=new WeakMap,I_=new WeakMap,r0=new WeakMap,Ef=new WeakMap,iv=new WeakSet,eY=(function(i){function e(t){var n,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=r.tileUrl,a=r.minLevel,l=a===void 0?0:a,u=r.maxLevel,h=u===void 0?17:u,g=r.mercatorProjection,v=g===void 0?!0:g;return IX(this,e),n=OX(this,e),FX(n,iv),xh(n,Ql,void 0),xh(n,Nh,void 0),xh(n,F3,void 0),xh(n,nv,void 0),xh(n,Vo,{}),xh(n,I_,void 0),xh(n,r0,void 0),xh(n,Ef,void 0),yd(n,"minLevel",void 0),yd(n,"maxLevel",void 0),yd(n,"thresholds",KD(new Array(30)).map(function(x,S){return 8/Math.pow(2,S)})),yd(n,"curvatureResolution",5),yd(n,"tileMargin",0),yd(n,"clearTiles",function(){Object.values(fi(Vo,n)).forEach(function(x){x.forEach(function(S){S.obj&&(n.remove(S.obj),tR(S.obj),delete S.obj)})}),bh(Vo,n,{})}),bh(Ql,n,t),n.tileUrl=s,bh(Nh,n,v),n.minLevel=l,n.maxLevel=h,n.level=0,n.add(bh(Ef,n,new zi(new Eu(fi(Ql,n)*.99,180,90),new pA({color:0})))),fi(Ef,n).visible=!1,fi(Ef,n).material.polygonOffset=!0,fi(Ef,n).material.polygonOffsetUnits=3,fi(Ef,n).material.polygonOffsetFactor=1,n}return GX(e,i),zX(e,[{key:"tileUrl",get:function(){return fi(F3,this)},set:function(n){bh(F3,this,n),this.updatePov(fi(r0,this))}},{key:"level",get:function(){return fi(nv,this)},set:function(n){var r,s=this;fi(Vo,this)[n]||Pm(iv,this,tY).call(this,n);var a=fi(nv,this);if(bh(nv,this,n),!(n===a||a===void 0)){if(fi(Ef,this).visible=n>0,fi(Vo,this)[n].forEach(function(u){return u.obj&&(u.obj.material.depthWrite=!0)}),an)for(var l=n+1;l<=a;l++)fi(Vo,this)[l]&&fi(Vo,this)[l].forEach(function(u){u.obj&&(s.remove(u.obj),tR(u.obj),delete u.obj)});Pm(iv,this,rR).call(this)}}},{key:"updatePov",value:function(n){var r=this;if(!(!n||!(n instanceof _y))){bh(r0,this,n);var s;if(bh(I_,this,function(g){if(!g.hullPnts){var v=360/Math.pow(2,r.level),x=g.lng,S=g.lat,w=g.latLen,R=x-v/2,C=x+v/2,E=S-w/2,B=S+w/2;g.hullPnts=[[S,x],[E,R],[B,R],[E,C],[B,C]].map(function(L){var O=$v(L,2),z=O[0],G=O[1];return nP(z,G,fi(Ql,r))}).map(function(L){var O=L.x,z=L.y,G=L.z;return new ce(O,z,G)})}return s||(s=new Fg,n.updateMatrix(),n.updateMatrixWorld(),s.setFromProjectionMatrix(new kn().multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse))),g.hullPnts.some(function(L){return s.containsPoint(L.clone().applyMatrix4(r.matrixWorld))})}),this.tileUrl){var a=n.position.clone(),l=a.distanceTo(this.getWorldPosition(new ce)),u=(l-fi(Ql,this))/fi(Ql,this),h=this.thresholds.findIndex(function(g){return g&&g<=u});this.level=Math.min(this.maxLevel,Math.max(this.minLevel,h<0?this.thresholds.length:h)),Pm(iv,this,rR).call(this)}}}}])})(ja);function tY(i){var e=this;if(i>KX){fi(Vo,this)[i]=[];return}var t=fi(Vo,this)[i]=ST(i,fi(Nh,this));t.forEach(function(n){return n.centroid=nP(n.lat,n.lng,fi(Ql,e))}),t.octree=mD().x(function(n){return n.centroid.x}).y(function(n){return n.centroid.y}).z(function(n){return n.centroid.z}).addAll(t)}function rR(){var i=this;if(!(!this.tileUrl||this.level===void 0||!fi(Vo,this).hasOwnProperty(this.level))&&!(!fi(I_,this)&&this.level>QX)){var e=fi(Vo,this)[this.level];if(fi(r0,this)){var t=this.worldToLocal(fi(r0,this).position.clone());if(e.octree){var n,r=this.worldToLocal(fi(r0,this).position.clone()),s=(r.length()-fi(Ql,this))*ZX;e=(n=e.octree).findAllWithinRadius.apply(n,KD(r).concat([s]))}else{var a=XX(t),l=(a.r/fi(Ql,this)-1)*JX,u=l/Math.cos(Mf(a.lat)),h=[a.lng-u,a.lng+u],g=[a.lat+l,a.lat-l],v=iR(this.level,fi(Nh,this),h[0],g[0]),x=$v(v,2),S=x[0],w=x[1],R=iR(this.level,fi(Nh,this),h[1],g[1]),C=$v(R,2),E=C[0],B=C[1];!e.record&&(e.record={});var L=e.record;if(!L.hasOwnProperty("".concat(Math.round((S+E)/2),"_").concat(Math.round((w+B)/2))))e=ST(this.level,fi(Nh,this),S,w,E,B).map(function(H){var F="".concat(H.x,"_").concat(H.y);return L.hasOwnProperty(F)?L[F]:(L[F]=H,e.push(H),H)});else{for(var O=[],z=S;z<=E;z++)for(var G=w;G<=B;G++){var k="".concat(z,"_").concat(G);L.hasOwnProperty(k)||(L[k]=ST(this.level,fi(Nh,this),z,G,z,G)[0],e.push(L[k])),O.push(L[k])}e=O}}}e.filter(function(H){return!H.obj}).filter(fi(I_,this)||function(){return!0}).forEach(function(H){var F=H.x,V=H.y,Y=H.lng,ee=H.lat,ne=H.latLen,se=360/Math.pow(2,i.level);if(!H.obj){var te=se*(1-i.tileMargin),Q=ne*(1-i.tileMargin),le=Mf(Y),de=Mf(-ee),Te=new zi(new Eu(fi(Ql,i),Math.ceil(te/i.curvatureResolution),Math.ceil(Q/i.curvatureResolution),Mf(90-te/2)+le,Mf(te),Mf(90-Q/2)+de,Mf(Q)),new Vc);if(fi(Nh,i)){var Se=[ee+ne/2,ee-ne/2].map(function(Ee){return .5-Ee/180}),ue=$v(Se,2),be=ue[0],We=ue[1];YX(Te.geometry.attributes.uv,be,We)}H.obj=Te}H.loading||(H.loading=!0,new rM().load(i.tileUrl(F,V,i.level),function(Ee){var Ge=H.obj;Ge&&(Ee.colorSpace=_n,Ge.material.map=Ee,Ge.material.color=null,Ge.material.needsUpdate=!0,i.add(Ge)),H.loading=!1}))})}}function nY(i,e,t=2){const n=e&&e.length,r=n?e[0]*t:i.length;let s=rP(i,0,r,t,!0);const a=[];if(!s||s.next===s.prev)return a;let l,u,h;if(n&&(s=oY(i,e,s,t)),i.length>80*t){l=i[0],u=i[1];let g=l,v=u;for(let x=t;xg&&(g=S),w>v&&(v=w)}h=Math.max(g-l,v-u),h=h!==0?32767/h:0}return dg(s,a,t,l,u,h,0),a}function rP(i,e,t,n,r){let s;if(r===vY(i,e,t,n)>0)for(let a=e;a=e;a-=n)s=sR(a/n|0,i[a],i[a+1],s);return s&&P0(s,s.next)&&(mg(s),s=s.next),s}function fA(i,e){if(!i)return i;e||(e=i);let t=i,n;do if(n=!1,!t.steiner&&(P0(t,t.next)||Dr(t.prev,t,t.next)===0)){if(mg(t),t=e=t.prev,t===t.next)break;n=!0}else t=t.next;while(n||t!==e);return e}function dg(i,e,t,n,r,s,a){if(!i)return;!a&&s&&fY(i,n,r,s);let l=i;for(;i.prev!==i.next;){const u=i.prev,h=i.next;if(s?rY(i,n,r,s):iY(i)){e.push(u.i,i.i,h.i),mg(i),i=h.next,l=h.next;continue}if(i=h,i===l){a?a===1?(i=sY(fA(i),e),dg(i,e,t,n,r,s,2)):a===2&&aY(i,e,t,n,r,s):dg(fA(i),e,t,n,r,s,1);break}}}function iY(i){const e=i.prev,t=i,n=i.next;if(Dr(e,t,n)>=0)return!1;const r=e.x,s=t.x,a=n.x,l=e.y,u=t.y,h=n.y,g=Math.min(r,s,a),v=Math.min(l,u,h),x=Math.max(r,s,a),S=Math.max(l,u,h);let w=n.next;for(;w!==e;){if(w.x>=g&&w.x<=x&&w.y>=v&&w.y<=S&&Sm(r,l,s,u,a,h,w.x,w.y)&&Dr(w.prev,w,w.next)>=0)return!1;w=w.next}return!0}function rY(i,e,t,n){const r=i.prev,s=i,a=i.next;if(Dr(r,s,a)>=0)return!1;const l=r.x,u=s.x,h=a.x,g=r.y,v=s.y,x=a.y,S=Math.min(l,u,h),w=Math.min(g,v,x),R=Math.max(l,u,h),C=Math.max(g,v,x),E=TT(S,w,e,t,n),B=TT(R,C,e,t,n);let L=i.prevZ,O=i.nextZ;for(;L&&L.z>=E&&O&&O.z<=B;){if(L.x>=S&&L.x<=R&&L.y>=w&&L.y<=C&&L!==r&&L!==a&&Sm(l,g,u,v,h,x,L.x,L.y)&&Dr(L.prev,L,L.next)>=0||(L=L.prevZ,O.x>=S&&O.x<=R&&O.y>=w&&O.y<=C&&O!==r&&O!==a&&Sm(l,g,u,v,h,x,O.x,O.y)&&Dr(O.prev,O,O.next)>=0))return!1;O=O.nextZ}for(;L&&L.z>=E;){if(L.x>=S&&L.x<=R&&L.y>=w&&L.y<=C&&L!==r&&L!==a&&Sm(l,g,u,v,h,x,L.x,L.y)&&Dr(L.prev,L,L.next)>=0)return!1;L=L.prevZ}for(;O&&O.z<=B;){if(O.x>=S&&O.x<=R&&O.y>=w&&O.y<=C&&O!==r&&O!==a&&Sm(l,g,u,v,h,x,O.x,O.y)&&Dr(O.prev,O,O.next)>=0)return!1;O=O.nextZ}return!0}function sY(i,e){let t=i;do{const n=t.prev,r=t.next.next;!P0(n,r)&&aP(n,t,t.next,r)&&pg(n,r)&&pg(r,n)&&(e.push(n.i,t.i,r.i),mg(t),mg(t.next),t=i=r),t=t.next}while(t!==i);return fA(t)}function aY(i,e,t,n,r,s){let a=i;do{let l=a.next.next;for(;l!==a.prev;){if(a.i!==l.i&&pY(a,l)){let u=oP(a,l);a=fA(a,a.next),u=fA(u,u.next),dg(a,e,t,n,r,s,0),dg(u,e,t,n,r,s,0);return}l=l.next}a=a.next}while(a!==i)}function oY(i,e,t,n){const r=[];for(let s=0,a=e.length;s=t.next.y&&t.next.y!==t.y){const v=t.x+(r-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(v<=n&&v>s&&(s=v,a=t.x=t.x&&t.x>=u&&n!==t.x&&sP(ra.x||t.x===a.x&&hY(a,t)))&&(a=t,g=v)}t=t.next}while(t!==l);return a}function hY(i,e){return Dr(i.prev,i,e.prev)<0&&Dr(e.next,i,i.next)<0}function fY(i,e,t,n){let r=i;do r.z===0&&(r.z=TT(r.x,r.y,e,t,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==i);r.prevZ.nextZ=null,r.prevZ=null,AY(r)}function AY(i){let e,t=1;do{let n=i,r;i=null;let s=null;for(e=0;n;){e++;let a=n,l=0;for(let h=0;h0||u>0&&a;)l!==0&&(u===0||!a||n.z<=a.z)?(r=n,n=n.nextZ,l--):(r=a,a=a.nextZ,u--),s?s.nextZ=r:i=r,r.prevZ=s,s=r;n=a}s.nextZ=null,t*=2}while(e>1);return i}function TT(i,e,t,n,r){return i=(i-t)*r|0,e=(e-n)*r|0,i=(i|i<<8)&16711935,i=(i|i<<4)&252645135,i=(i|i<<2)&858993459,i=(i|i<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,i|e<<1}function dY(i){let e=i,t=i;do(e.x=(i-a)*(s-l)&&(i-a)*(n-l)>=(t-a)*(e-l)&&(t-a)*(s-l)>=(r-a)*(n-l)}function Sm(i,e,t,n,r,s,a,l){return!(i===a&&e===l)&&sP(i,e,t,n,r,s,a,l)}function pY(i,e){return i.next.i!==e.i&&i.prev.i!==e.i&&!mY(i,e)&&(pg(i,e)&&pg(e,i)&&gY(i,e)&&(Dr(i.prev,i,e.prev)||Dr(i,e.prev,e))||P0(i,e)&&Dr(i.prev,i,i.next)>0&&Dr(e.prev,e,e.next)>0)}function Dr(i,e,t){return(e.y-i.y)*(t.x-e.x)-(e.x-i.x)*(t.y-e.y)}function P0(i,e){return i.x===e.x&&i.y===e.y}function aP(i,e,t,n){const r=sv(Dr(i,e,t)),s=sv(Dr(i,e,n)),a=sv(Dr(t,n,i)),l=sv(Dr(t,n,e));return!!(r!==s&&a!==l||r===0&&rv(i,t,e)||s===0&&rv(i,n,e)||a===0&&rv(t,i,n)||l===0&&rv(t,e,n))}function rv(i,e,t){return e.x<=Math.max(i.x,t.x)&&e.x>=Math.min(i.x,t.x)&&e.y<=Math.max(i.y,t.y)&&e.y>=Math.min(i.y,t.y)}function sv(i){return i>0?1:i<0?-1:0}function mY(i,e){let t=i;do{if(t.i!==i.i&&t.next.i!==i.i&&t.i!==e.i&&t.next.i!==e.i&&aP(t,t.next,i,e))return!0;t=t.next}while(t!==i);return!1}function pg(i,e){return Dr(i.prev,i,i.next)<0?Dr(i,e,i.next)>=0&&Dr(i,i.prev,e)>=0:Dr(i,e,i.prev)<0||Dr(i,i.next,e)<0}function gY(i,e){let t=i,n=!1;const r=(i.x+e.x)/2,s=(i.y+e.y)/2;do t.y>s!=t.next.y>s&&t.next.y!==t.y&&r<(t.next.x-t.x)*(s-t.y)/(t.next.y-t.y)+t.x&&(n=!n),t=t.next;while(t!==i);return n}function oP(i,e){const t=wT(i.i,i.x,i.y),n=wT(e.i,e.x,e.y),r=i.next,s=e.prev;return i.next=e,e.prev=i,t.next=r,r.prev=t,n.next=t,t.prev=n,s.next=n,n.prev=s,n}function sR(i,e,t,n){const r=wT(i,e,t);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function mg(i){i.next.prev=i.prev,i.prev.next=i.next,i.prevZ&&(i.prevZ.nextZ=i.nextZ),i.nextZ&&(i.nextZ.prevZ=i.prevZ)}function wT(i,e,t){return{i,x:e,y:t,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function vY(i,e,t,n){let r=0;for(let s=e,a=t-n;si.length)&&(e=i.length);for(var t=0,n=Array(e);t=i.length?{done:!0}:{done:!1,value:i[n++]}},e:function(u){throw u},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. @@ -3884,7 +3884,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function PK(){throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function LK(i,e){if(e&&(typeof e=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return TK(i)}function UT(i,e){return UT=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,n){return t.__proto__=n,t},UT(i,e)}function Kl(i,e){return bK(i)||NK(i,e)||gP(i,e)||DK()}function j3(i){return SK(i)||RK(i)||gP(i)||PK()}function gP(i,e){if(i){if(typeof i=="string")return LT(i,e);var t={}.toString.call(i).slice(8,-1);return t==="Object"&&i.constructor&&(t=i.constructor.name),t==="Map"||t==="Set"?Array.from(i):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?LT(i,e):void 0}}function UK(i){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=e.resolution,n=t===void 0?1/0:t,r=BK(i,n),s=ug(r),a=OK(i,n),l=[].concat(j3(s),j3(a)),u={type:"Polygon",coordinates:i},h=ID(u),g=Kl(h,2),v=Kl(g[0],2),x=v[0],S=v[1],w=Kl(g[1],2),R=w[0],C=w[1],E=x>R||C>=89||S<=-89,B=[];if(E){var L=xK(l).triangles(),O=new Map(l.map(function(le,de){var Te=Kl(le,2),Se=Te[0],ue=Te[1];return["".concat(Se,"-").concat(ue),de]}));L.features.forEach(function(le){var de,Te=le.geometry.coordinates[0].slice(0,3).reverse(),Se=[];if(Te.forEach(function(be){var We=Kl(be,2),Ee=We[0],Ge=We[1],ye="".concat(Ee,"-").concat(Ge);O.has(ye)&&Se.push(O.get(ye))}),Se.length===3){if(Se.some(function(be){return bee)for(var l=pM(r,s),u=1/Math.ceil(a/e),h=u;h<1;)n.push(l(h)),h+=u}n.push(r=s)}),n})}function OK(i,e){var t={type:"Polygon",coordinates:i},n=ID(t),r=Kl(n,2),s=Kl(r[0],2),a=s[0],l=s[1],u=Kl(r[1],2),h=u[0],g=u[1];if(Math.min(Math.abs(h-a),Math.abs(g-l))h||g>=89||l<=-89;return IK(e,{minLng:a,maxLng:h,minLat:l,maxLat:g}).filter(function(x){return BT(x,t,v)})}function IK(i){for(var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=e.minLng,n=e.maxLng,r=e.minLat,s=e.maxLat,a=Math.round(Math.pow(360/i,2)/Math.PI),l=(1+Math.sqrt(5))/2,u=function(E){return E/l*360%360-180},h=function(E){return Math.acos(2*E/a-1)/Math.PI*180-90},g=function(E){return a*(Math.cos((E+90)*Math.PI/180)+1)/2},v=[s!==void 0?Math.ceil(g(s)):0,r!==void 0?Math.floor(g(r)):a-1],x=t===void 0&&n===void 0?function(){return!0}:t===void 0?function(C){return C<=n}:n===void 0?function(C){return C>=t}:n>=t?function(C){return C>=t&&C<=n}:function(C){return C>=t||C<=n},S=[],w=v[0];w<=v[1];w++){var R=u(w);x(R)&&S.push([R,h(w)])}return S}function BT(i,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return t?mX(e,i):QQ(i,e)}var Yv=window.THREE?window.THREE:{BufferGeometry:Ki,Float32BufferAttribute:wi},MR=new Yv.BufferGeometry().setAttribute?"setAttribute":"addAttribute",wM=(function(i){function e(t,n,r,s,a,l,u){var h;MK(this,e),h=wK(this,e),h.type="ConicPolygonGeometry",h.parameters={polygonGeoJson:t,bottomHeight:n,topHeight:r,closedBottom:s,closedTop:a,includeSides:l,curvatureResolution:u},n=n||0,r=r||1,s=s!==void 0?s:!0,a=a!==void 0?a:!0,l=l!==void 0?l:!0,u=u||5;var g=UK(t,{resolution:u}),v=g.contour,x=g.triangles,S=ug(x.uvs),w=[],R=[],C=[],E=0,B=function(k){var H=Math.round(w.length/3),F=C.length;w=w.concat(k.vertices),R=R.concat(k.uvs),C=C.concat(H?k.indices.map(function(V){return V+H}):k.indices),h.addGroup(F,C.length-F,E++)};l&&B(O()),s&&B(z(n,!1)),a&&B(z(r,!0)),h.setIndex(C),h[MR]("position",new Yv.Float32BufferAttribute(w,3)),h[MR]("uv",new Yv.Float32BufferAttribute(R,2)),h.computeVertexNormals();function L(G,k){var H=typeof k=="function"?k:function(){return k},F=G.map(function(V){return V.map(function(Y){var ee=Kl(Y,2),ne=ee[0],se=ee[1];return FK(se,ne,H(ne,se))})});return F_(F)}function O(){for(var G=L(v,n),k=G.vertices,H=G.holes,F=L(v,r),V=F.vertices,Y=ug([V,k]),ee=Math.round(V.length/3),ne=new Set(H),se=0,te=[],Q=0;Q=0;Se--)for(var ue=0;ue1&&arguments[1]!==void 0?arguments[1]:!0;return{indices:k?x.indices:x.indices.slice().reverse(),vertices:L([x.points],G).vertices,uvs:S}}return h}return CK(e,i),EK(e)})(Yv.BufferGeometry);function FK(i,e){var t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=(90-i)*Math.PI/180,r=(90-e)*Math.PI/180;return[t*Math.sin(n)*Math.cos(r),t*Math.cos(n),t*Math.sin(n)*Math.sin(r)]}function OT(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,n=Array(e);t0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,r=(e instanceof Array?e.length?e:[void 0]:[e]).map(function(l){return{keyAccessor:l,isProp:!(l instanceof Function)}}),s=i.reduce(function(l,u){var h=l,g=u;return r.forEach(function(v,x){var S=v.keyAccessor,w=v.isProp,R;if(w){var C=g,E=C[S],B=jK(C,[S].map(QK));R=E,g=B}else R=S(g,x);x+11&&arguments[1]!==void 0?arguments[1]:1;h===r.length?Object.keys(u).forEach(function(g){return u[g]=t(u[g])}):Object.values(u).forEach(function(g){return l(g,h+1)})})(s);var a=s;return n&&(a=[],(function l(u){var h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];h.length===r.length?a.push({keys:h,vals:u}):Object.entries(u).forEach(function(g){var v=$K(g,2),x=v[0],S=v[1];return l(S,[].concat(XK(h),[x]))})})(s),e instanceof Array&&e.length===0&&a.length===1&&(a[0].keys=[])),a}),Si=(function(i){i=i||{};var e=typeof i<"u"?i:{},t={},n;for(n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);var r="";function s(Ze){return e.locateFile?e.locateFile(Ze,r):r+Ze}var a;typeof document<"u"&&document.currentScript&&(r=document.currentScript.src),r.indexOf("blob:")!==0?r=r.substr(0,r.lastIndexOf("/")+1):r="",a=function(At,Ot,st){var d=new XMLHttpRequest;d.open("GET",At,!0),d.responseType="arraybuffer",d.onload=function(){if(d.status==200||d.status==0&&d.response){Ot(d.response);return}var $n=qt(At);if($n){Ot($n.buffer);return}st()},d.onerror=st,d.send(null)};var l=e.print||console.log.bind(console),u=e.printErr||console.warn.bind(console);for(n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);t=null,e.arguments&&e.arguments;var h=0,g=function(Ze){h=Ze},v=function(){return h},x=8;function S(Ze,At,Ot,st){switch(Ot=Ot||"i8",Ot.charAt(Ot.length-1)==="*"&&(Ot="i32"),Ot){case"i1":ee[Ze>>0]=At;break;case"i8":ee[Ze>>0]=At;break;case"i16":se[Ze>>1]=At;break;case"i32":te[Ze>>2]=At;break;case"i64":Fe=[At>>>0,(Me=At,+it(Me)>=1?Me>0?(ct(+Ft(Me/4294967296),4294967295)|0)>>>0:~~+he((Me-+(~~Me>>>0))/4294967296)>>>0:0)],te[Ze>>2]=Fe[0],te[Ze+4>>2]=Fe[1];break;case"float":Q[Ze>>2]=At;break;case"double":le[Ze>>3]=At;break;default:Jr("invalid type for setValue: "+Ot)}}function w(Ze,At,Ot){switch(At=At||"i8",At.charAt(At.length-1)==="*"&&(At="i32"),At){case"i1":return ee[Ze>>0];case"i8":return ee[Ze>>0];case"i16":return se[Ze>>1];case"i32":return te[Ze>>2];case"i64":return te[Ze>>2];case"float":return Q[Ze>>2];case"double":return le[Ze>>3];default:Jr("invalid type for getValue: "+At)}return null}var R=!1;function C(Ze,At){Ze||Jr("Assertion failed: "+At)}function E(Ze){var At=e["_"+Ze];return C(At,"Cannot call unknown function "+Ze+", make sure it is exported"),At}function B(Ze,At,Ot,st,d){var J={string:function(Fn){var cs=0;if(Fn!=null&&Fn!==0){var Ma=(Fn.length<<2)+1;cs=nt(Ma),H(Fn,cs,Ma)}return cs},array:function(Fn){var cs=nt(Fn.length);return F(Fn,cs),cs}};function $n(Fn){return At==="string"?G(Fn):At==="boolean"?!!Fn:Fn}var Gn=E(Ze),Xn=[],un=0;if(st)for(var qn=0;qn=st);)++d;if(d-At>16&&Ze.subarray&&O)return O.decode(Ze.subarray(At,d));for(var J="";At>10,56320|un&1023)}}return J}function G(Ze,At){return Ze?z(ne,Ze,At):""}function k(Ze,At,Ot,st){if(!(st>0))return 0;for(var d=Ot,J=Ot+st-1,$n=0;$n=55296&&Gn<=57343){var Xn=Ze.charCodeAt(++$n);Gn=65536+((Gn&1023)<<10)|Xn&1023}if(Gn<=127){if(Ot>=J)break;At[Ot++]=Gn}else if(Gn<=2047){if(Ot+1>=J)break;At[Ot++]=192|Gn>>6,At[Ot++]=128|Gn&63}else if(Gn<=65535){if(Ot+2>=J)break;At[Ot++]=224|Gn>>12,At[Ot++]=128|Gn>>6&63,At[Ot++]=128|Gn&63}else{if(Ot+3>=J)break;At[Ot++]=240|Gn>>18,At[Ot++]=128|Gn>>12&63,At[Ot++]=128|Gn>>6&63,At[Ot++]=128|Gn&63}}return At[Ot]=0,Ot-d}function H(Ze,At,Ot){return k(Ze,ne,At,Ot)}typeof TextDecoder<"u"&&new TextDecoder("utf-16le");function F(Ze,At){ee.set(Ze,At)}function V(Ze,At){return Ze%At>0&&(Ze+=At-Ze%At),Ze}var Y,ee,ne,se,te,Q,le;function de(Ze){Y=Ze,e.HEAP8=ee=new Int8Array(Ze),e.HEAP16=se=new Int16Array(Ze),e.HEAP32=te=new Int32Array(Ze),e.HEAPU8=ne=new Uint8Array(Ze),e.HEAPU16=new Uint16Array(Ze),e.HEAPU32=new Uint32Array(Ze),e.HEAPF32=Q=new Float32Array(Ze),e.HEAPF64=le=new Float64Array(Ze)}var Te=5271536,Se=28624,ue=e.TOTAL_MEMORY||33554432;e.buffer?Y=e.buffer:Y=new ArrayBuffer(ue),ue=Y.byteLength,de(Y),te[Se>>2]=Te;function be(Ze){for(;Ze.length>0;){var At=Ze.shift();if(typeof At=="function"){At();continue}var Ot=At.func;typeof Ot=="number"?At.arg===void 0?e.dynCall_v(Ot):e.dynCall_vi(Ot,At.arg):Ot(At.arg===void 0?null:At.arg)}}var We=[],Ee=[],Ge=[],ye=[];function Pe(){if(e.preRun)for(typeof e.preRun=="function"&&(e.preRun=[e.preRun]);e.preRun.length;)It(e.preRun.shift());be(We)}function pt(){be(Ee)}function vt(){be(Ge)}function Tt(){if(e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;)Qe(e.postRun.shift());be(ye)}function It(Ze){We.unshift(Ze)}function Qe(Ze){ye.unshift(Ze)}var it=Math.abs,he=Math.ceil,Ft=Math.floor,ct=Math.min,Dt=0,gt=null;function tn(Ze){Dt++,e.monitorRunDependencies&&e.monitorRunDependencies(Dt)}function yt(Ze){if(Dt--,e.monitorRunDependencies&&e.monitorRunDependencies(Dt),Dt==0&>){var At=gt;gt=null,At()}}e.preloadedImages={},e.preloadedAudios={};var fe=null,X="data:application/octet-stream;base64,";function oe(Ze){return String.prototype.startsWith?Ze.startsWith(X):Ze.indexOf(X)===0}var Me,Fe;fe="data:application/octet-stream;base64,AAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAAAQAAAAQAAAADAAAABgAAAAUAAAACAAAAAAAAAAIAAAADAAAAAQAAAAQAAAAGAAAAAAAAAAUAAAADAAAABgAAAAQAAAAFAAAAAAAAAAEAAAACAAAABAAAAAUAAAAGAAAAAAAAAAIAAAADAAAAAQAAAAUAAAACAAAAAAAAAAEAAAADAAAABgAAAAQAAAAGAAAAAAAAAAUAAAACAAAAAQAAAAQAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAAAAAAEAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAYAAAAAAAAABQAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAYAAAAAAAAAAwAAAAIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAFAAAABAAAAAAAAAABAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAYAAAAAAAAABAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAgAAAAQAAAADAAAACAAAAAEAAAAHAAAABgAAAAkAAAAAAAAAAwAAAAIAAAACAAAA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AAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAABQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAUAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABAAAAAUAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAD/////AQAAAAAAAAADAAAABAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAUAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAD//////////wEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAAAAAAAAAAABAAAAAgAAAAYAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAAAAAAAAAAAAQAAAAEAAAAFAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAAAAAAAAAAABAAAAAwAAAAcAAAAGAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADgAAAAIAAAAAAAAAAAAAAAEAAAAAAAAACQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAAAAAAAAAAAAAEAAAAEAAAACAAAAAoAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAAAAAAAAAAAAQAAAAsAAAAPAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAIAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAAAAAAAAAAAAQAAAAwAAAAQAAAADAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAAAAAAAAAAABAAAACgAAABMAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAAAAAAAAAAEAAAANAAAAEQAAAA0AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAACAAAAAAAAAAAAAAABAAAADgAAABIAAAAPAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAgAAAAAAAAAAAAAAAQAAAP//////////EwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAASAAAAAAAAABgAAAAAAAAAIQAAAAAAAAAeAAAAAAAAACAAAAADAAAAMQAAAAEAAAAwAAAAAwAAADIAAAADAAAACAAAAAAAAAAFAAAABQAAAAoAAAAFAAAAFgAAAAAAAAAQAAAAAAAAABIAAAAAAAAAKQAAAAEAAAAhAAAAAAAAAB4AAAAAAAAABAAAAAAAAAAAAAAABQAAAAIAAAAFAAAADwAAAAEAAAAIAAAAAAAAAAUAAAAFAAAAHwAAAAEAAAAWAAAAAAAAABAAAAAAAAAAAgAAAAAAAAAGAAAAAAAAAA4AAAAAAAAACgAAAAAAAAALAAAAAAAAABEAAAADAAAAGAAAAAEAAAAXAAAAAwAAABkAAAADAAAAAAAAAAAAAAABAAAABQAAAAkAAAAFAAAABQAAAAAAAAACAAAAAAAAAAYAAAAAAAAAEgAAAAEAAAAKAAAAAAAAAAsAAAAAAAAABAAAAAEAAAADAAAABQAAAAcAAAAFAAAACAAAAAEAAAAAAAAAAAAAAAEAAAAFAAAAEAAAAAEAAAAFAAAAAAAAAAIAAAAAAAAABwAAAAAAAAAVAAAAAAAAACYAAAAAAAAACQAAAAAAAAATAAAAAAAAACIAAAADAAAADgAAAAEAAAAUAAAAAwAAACQAAAADAAAAAwAAAAAAAAANAAAABQAAAB0AAAAFAAAAAQAAAAAAAAAHAAAAAAAAABUAAAAAAAAABgAAAAEAAAAJAAAAAAAAABMAAAAAAAAABAAAAAIAAAAMAAAA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Zhu25b633D8c1YgmzowSQNM25BRKWARArGS08/lNxD+LFssHwmMRQLC5aNcxBgJABL9HT0WRF0CjCmJmOGEOQHsuaVzMP/s/TWJCaGGwBUCeu1PAPLzjP9nqN9DZOBNAKE4JcydbCkCGtbd1qjPzP8dgm9U8jhVAtPeKTkVwDkCeCLss5l37P401XMPLmBdAFd29VMVQDUBg0yA55h75Pz6odcYLCRdApBM4rBrkAkDyAVWgQxbRP4XDMnK20hFAymLlF7EmzD8GUgo9XBHlP3lbK7T9COc/k+OhPthhy7+YGEpnrOvCPzBFhLs15u4/epbqB6H4uz9IuuLF5svev6lzLKY31es/CaQ0envF5z8ZY0xlUADXv7zaz7HYEuI/CfbK1sn16T8uAQfWwxLWPzKn/YuFN94/5KdbC1AFu793fyCSnlfvPzK2y4doAMY/NRg5t1/X6b/shq4QJaHDP5yNIAKPOeI/vpn7BSE30r/X4YQrO6nrv78Ziv/Thto/DqJ1Y6+y5z9l51NaxFrlv8QlA65HOLS/86dxiEc96z+Hj0+LFjneP6LzBZ8LTc2/DaJ1Y6+y579l51NaxFrlP8QlA65HOLQ/8qdxiEc967+Jj0+LFjnev6LzBZ8LTc0/1qdbC1AFuz93fyCSnlfvvzK2y4doAMa/NRg5t1/X6T/vhq4QJaHDv5yNIAKPOeK/wJn7BSE30j/W4YQrO6nrP78Ziv/Thtq/CaQ0envF578XY0xlUADXP7zaz7HYEuK/CvbK1sn16b8rAQfWwxLWvzKn/YuFN96/zWLlF7EmzL8GUgo9XBHlv3lbK7T9COe/kOOhPthhyz+cGEpnrOvCvzBFhLs15u6/c5bqB6H4u79IuuLF5sveP6lzLKY31eu/AQAAAP////8HAAAA/////zEAAAD/////VwEAAP////9hCQAA/////6dBAAD/////kcsBAP/////3kAwA/////8H2VwAAAAAAAAAAAAAAAAACAAAA/////w4AAAD/////YgAAAP////+uAgAA/////8ISAAD/////ToMAAP////8ilwMA/////+4hGQD/////gu2vAAAAAAAAAAAAAAAAAAAAAAACAAAA//////////8BAAAAAwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////AgAAAP//////////AQAAAAAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD/////////////////////AQAAAP///////////////wIAAAD///////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP///////////////////////////////wIAAAD///////////////8BAAAA/////////////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAABAAAA//////////8CAAAA//////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAAAQAAAP//////////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAIAAAABAAAAAQAAAAIAAAACAAAAAAAAAAUAAAAFAAAAAAAAAAIAAAACAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAEAAAACAAAAAgAAAAIAAAAAAAAABQAAAAYAAAAAAAAAAgAAAAIAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAACAAAAAQAAAAMAAAACAAAAAgAAAAAAAAAFAAAABwAAAAAAAAACAAAAAgAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAIAAAABAAAABAAAAAIAAAACAAAAAAAAAAUAAAAIAAAAAAAAAAIAAAACAAAAAwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAIAAAAAAAAAAgAAAAEAAAAAAAAAAgAAAAIAAAAAAAAABQAAAAkAAAAAAAAAAgAAAAIAAAADAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAIAAAAAAAAAAwAAAA4AAAACAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAgAAAAMAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAgAAAAAAAAADAAAACgAAAAIAAAAAAAAAAgAAAAMAAAABAAAAAAAAAAIAAAACAAAAAwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAACAAAAAAAAAAMAAAALAAAAAgAAAAAAAAACAAAAAwAAAAIAAAAAAAAAAgAAAAIAAAADAAAACAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAIAAAAAAAAAAwAAAAwAAAACAAAAAAAAAAIAAAADAAAAAwAAAAAAAAACAAAAAgAAAAMAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAACAAAAAgAAAAAAAAADAAAADQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAAAAAAAAIAAAACAAAAAwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAACAAAAAAAAAAMAAAAGAAAAAgAAAAAAAAACAAAAAwAAAA8AAAAAAAAAAgAAAAIAAAADAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAIAAAAAAAAAAwAAAAcAAAACAAAAAAAAAAIAAAADAAAAEAAAAAAAAAACAAAAAgAAAAMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAgAAAAAAAAADAAAACAAAAAIAAAAAAAAAAgAAAAMAAAARAAAAAAAAAAIAAAACAAAAAwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAACAAAAAAAAAAMAAAAJAAAAAgAAAAAAAAACAAAAAwAAABIAAAAAAAAAAgAAAAIAAAADAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAgAAAAIAAAAAAAAAAwAAAAUAAAACAAAA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ZV0gPT0gS0kAZmFjZWlqay5jAF9mYWNlSWprUGVudFRvQ2VsbEJvdW5kYXJ5AGFkamFjZW50RmFjZURpcltjZW50ZXJJSksuZmFjZV1bZmFjZTJdID09IEtJAF9mYWNlSWprVG9DZWxsQm91bmRhcnkAaDNJbmRleC5jAGNvbXBhY3RDZWxscwBsYXRMbmdUb0NlbGwAY2VsbFRvQ2hpbGRQb3MAdmFsaWRhdGVDaGlsZFBvcwBsYXRMbmcuYwBjZWxsQXJlYVJhZHMyAHBvbHlnb24tPm5leHQgPT0gTlVMTABsaW5rZWRHZW8uYwBhZGROZXdMaW5rZWRQb2x5Z29uAG5leHQgIT0gTlVMTABsb29wICE9IE5VTEwAYWRkTmV3TGlua2VkTG9vcABwb2x5Z29uLT5maXJzdCA9PSBOVUxMAGFkZExpbmtlZExvb3AAY29vcmQgIT0gTlVMTABhZGRMaW5rZWRDb29yZABsb29wLT5maXJzdCA9PSBOVUxMAGlubmVyTG9vcHMgIT0gTlVMTABub3JtYWxpemVNdWx0aVBvbHlnb24AYmJveGVzICE9IE5VTEwAY2FuZGlkYXRlcyAhPSBOVUxMAGZpbmRQb2x5Z29uRm9ySG9sZQBjYW5kaWRhdGVCQm94ZXMgIT0gTlVMTAByZXZEaXIgIT0gSU5WQUxJRF9ESUdJVABsb2NhbGlqLmMAY2VsbFRvTG9jYWxJamsAYmFzZUNlbGwgIT0gb3JpZ2luQmFzZUNlbGwAIShvcmlnaW5PblBlbnQgJiYgaW5kZXhPblBlbnQpAGJhc2VDZWxsID09IG9yaWdpbkJhc2VDZWxsAGJhc2VDZWxsICE9IElOVkFMSURfQkFTRV9DRUxMAGxvY2FsSWprVG9DZWxsACFfaXNCYXNlQ2VsbFBlbnRhZ29uKGJhc2VDZWxsKQBiYXNlQ2VsbFJvdGF0aW9ucyA+PSAwAGdyaWRQYXRoQ2VsbHMAcG9seWZpbGwuYwBpdGVyU3RlcFBvbHlnb25Db21wYWN0ADAAdmVydGV4LmMAdmVydGV4Um90YXRpb25zAGNlbGxUb1ZlcnRleABncmFwaC0+YnVja2V0cyAhPSBOVUxMAHZlcnRleEdyYXBoLmMAaW5pdFZlcnRleEdyYXBoAG5vZGUgIT0gTlVMTABhZGRWZXJ0ZXhOb2Rl";var ze=28640;function Et(Ze,At,Ot,st){Jr("Assertion failed: "+G(Ze)+", at: "+[At?G(At):"unknown filename",Ot,st?G(st):"unknown function"])}function Rt(){return ee.length}function Ht(Ze,At,Ot){ne.set(ne.subarray(At,At+Ot),Ze)}function Xt(Ze){return e.___errno_location&&(te[e.___errno_location()>>2]=Ze),Ze}function _t(Ze){Jr("OOM")}function Zt(Ze){try{var At=new ArrayBuffer(Ze);return At.byteLength!=Ze?void 0:(new Int8Array(At).set(ee),Wt(At),de(At),1)}catch{}}function sn(Ze){var At=Rt(),Ot=16777216,st=2147483648-Ot;if(Ze>st)return!1;for(var d=16777216,J=Math.max(At,d);J>4,d=(Gn&15)<<4|Xn>>2,J=(Xn&3)<<6|un,Ot=Ot+String.fromCharCode(st),Xn!==64&&(Ot=Ot+String.fromCharCode(d)),un!==64&&(Ot=Ot+String.fromCharCode(J));while(qn13780509?(f=Hu(15,f)|0,f|0):(p=((A|0)<0)<<31>>31,y=fr(A|0,p|0,3,0)|0,_=Z()|0,p=Yt(A|0,p|0,1,0)|0,p=fr(y|0,_|0,p|0,Z()|0)|0,p=Yt(p|0,Z()|0,1,0)|0,A=Z()|0,d[f>>2]=p,d[f+4>>2]=A,f=0,f|0)}function _e(A,f,p,_){return A=A|0,f=f|0,p=p|0,_=_|0,at(A,f,p,_,0)|0}function at(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0,I=0;if(U=K,K=K+16|0,M=U,!(Ct(A,f,p,_,y)|0))return _=0,K=U,_|0;do if((p|0)>=0){if((p|0)>13780509){if(T=Hu(15,M)|0,T|0)break;N=M,M=d[N>>2]|0,N=d[N+4>>2]|0}else T=((p|0)<0)<<31>>31,I=fr(p|0,T|0,3,0)|0,N=Z()|0,T=Yt(p|0,T|0,1,0)|0,T=fr(I|0,N|0,T|0,Z()|0)|0,T=Yt(T|0,Z()|0,1,0)|0,N=Z()|0,d[M>>2]=T,d[M+4>>2]=N,M=T;if(uo(_|0,0,M<<3|0)|0,y|0){uo(y|0,0,M<<2|0)|0,T=Jt(A,f,p,_,y,M,N,0)|0;break}T=Ks(M,4)|0,T?(I=Jt(A,f,p,_,T,M,N,0)|0,An(T),T=I):T=13}else T=2;while(!1);return I=T,K=U,I|0}function Ct(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0;if(Ce=K,K=K+16|0,Ae=Ce,me=Ce+8|0,pe=Ae,d[pe>>2]=A,d[pe+4>>2]=f,(p|0)<0)return me=2,K=Ce,me|0;if(T=_,d[T>>2]=A,d[T+4>>2]=f,T=(y|0)!=0,T&&(d[y>>2]=0),Ci(A,f)|0)return me=9,K=Ce,me|0;d[me>>2]=0;e:do if((p|0)>=1)if(T)for(q=1,I=0,ie=0,pe=1,T=A;;){if(!(I|ie)){if(T=cn(T,f,4,me,Ae)|0,T|0)break e;if(f=Ae,T=d[f>>2]|0,f=d[f+4>>2]|0,Ci(T,f)|0){T=9;break e}}if(T=cn(T,f,d[26800+(ie<<2)>>2]|0,me,Ae)|0,T|0)break e;if(f=Ae,T=d[f>>2]|0,f=d[f+4>>2]|0,A=_+(q<<3)|0,d[A>>2]=T,d[A+4>>2]=f,d[y+(q<<2)>>2]=pe,A=I+1|0,M=(A|0)==(pe|0),N=ie+1|0,U=(N|0)==6,Ci(T,f)|0){T=9;break e}if(pe=pe+(U&M&1)|0,(pe|0)>(p|0)){T=0;break}else q=q+1|0,I=M?0:A,ie=M?U?0:N:ie}else for(q=1,I=0,ie=0,pe=1,T=A;;){if(!(I|ie)){if(T=cn(T,f,4,me,Ae)|0,T|0)break e;if(f=Ae,T=d[f>>2]|0,f=d[f+4>>2]|0,Ci(T,f)|0){T=9;break e}}if(T=cn(T,f,d[26800+(ie<<2)>>2]|0,me,Ae)|0,T|0)break e;if(f=Ae,T=d[f>>2]|0,f=d[f+4>>2]|0,A=_+(q<<3)|0,d[A>>2]=T,d[A+4>>2]=f,A=I+1|0,M=(A|0)==(pe|0),N=ie+1|0,U=(N|0)==6,Ci(T,f)|0){T=9;break e}if(pe=pe+(U&M&1)|0,(pe|0)>(p|0)){T=0;break}else q=q+1|0,I=M?0:A,ie=M?U?0:N:ie}else T=0;while(!1);return me=T,K=Ce,me|0}function Jt(A,f,p,_,y,T,M,N){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0,T=T|0,M=M|0,N=N|0;var U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0;if(Ce=K,K=K+16|0,Ae=Ce+8|0,me=Ce,U=ec(A|0,f|0,T|0,M|0)|0,q=Z()|0,ie=_+(U<<3)|0,Be=ie,Xe=d[Be>>2]|0,Be=d[Be+4>>2]|0,I=(Xe|0)==(A|0)&(Be|0)==(f|0),!((Xe|0)==0&(Be|0)==0|I))do U=Yt(U|0,q|0,1,0)|0,U=th(U|0,Z()|0,T|0,M|0)|0,q=Z()|0,ie=_+(U<<3)|0,Xe=ie,Be=d[Xe>>2]|0,Xe=d[Xe+4>>2]|0,I=(Be|0)==(A|0)&(Xe|0)==(f|0);while(!((Be|0)==0&(Xe|0)==0|I));if(U=y+(U<<2)|0,I&&(d[U>>2]|0)<=(N|0)||(Xe=ie,d[Xe>>2]=A,d[Xe+4>>2]=f,d[U>>2]=N,(N|0)>=(p|0)))return Xe=0,K=Ce,Xe|0;switch(I=N+1|0,d[Ae>>2]=0,U=cn(A,f,2,Ae,me)|0,U|0){case 9:{pe=9;break}case 0:{U=me,U=Jt(d[U>>2]|0,d[U+4>>2]|0,p,_,y,T,M,I)|0,U||(pe=9);break}}e:do if((pe|0)==9){switch(d[Ae>>2]=0,U=cn(A,f,3,Ae,me)|0,U|0){case 9:break;case 0:{if(U=me,U=Jt(d[U>>2]|0,d[U+4>>2]|0,p,_,y,T,M,I)|0,U|0)break e;break}default:break e}switch(d[Ae>>2]=0,U=cn(A,f,1,Ae,me)|0,U|0){case 9:break;case 0:{if(U=me,U=Jt(d[U>>2]|0,d[U+4>>2]|0,p,_,y,T,M,I)|0,U|0)break e;break}default:break e}switch(d[Ae>>2]=0,U=cn(A,f,5,Ae,me)|0,U|0){case 9:break;case 0:{if(U=me,U=Jt(d[U>>2]|0,d[U+4>>2]|0,p,_,y,T,M,I)|0,U|0)break e;break}default:break e}switch(d[Ae>>2]=0,U=cn(A,f,4,Ae,me)|0,U|0){case 9:break;case 0:{if(U=me,U=Jt(d[U>>2]|0,d[U+4>>2]|0,p,_,y,T,M,I)|0,U|0)break e;break}default:break e}switch(d[Ae>>2]=0,U=cn(A,f,6,Ae,me)|0,U|0){case 9:break;case 0:{if(U=me,U=Jt(d[U>>2]|0,d[U+4>>2]|0,p,_,y,T,M,I)|0,U|0)break e;break}default:break e}return Xe=0,K=Ce,Xe|0}while(!1);return Xe=U,K=Ce,Xe|0}function cn(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0;if(p>>>0>6)return y=1,y|0;if(ie=(d[_>>2]|0)%6|0,d[_>>2]=ie,(ie|0)>0){T=0;do p=Uu(p)|0,T=T+1|0;while((T|0)<(d[_>>2]|0))}if(ie=bt(A|0,f|0,45)|0,Z()|0,q=ie&127,q>>>0>121)return y=5,y|0;U=$s(A,f)|0,T=bt(A|0,f|0,52)|0,Z()|0,T=T&15;e:do if(!T)I=8;else{for(;;){if(M=(15-T|0)*3|0,N=bt(A|0,f|0,M|0)|0,Z()|0,N=N&7,(N|0)==7){f=5;break}if(me=(Ss(T)|0)==0,T=T+-1|0,pe=Nt(7,0,M|0)|0,f=f&~(Z()|0),Ae=Nt(d[(me?432:16)+(N*28|0)+(p<<2)>>2]|0,0,M|0)|0,M=Z()|0,p=d[(me?640:224)+(N*28|0)+(p<<2)>>2]|0,A=Ae|A&~pe,f=M|f,!p){p=0;break e}if(!T){I=8;break e}}return f|0}while(!1);(I|0)==8&&(me=d[848+(q*28|0)+(p<<2)>>2]|0,Ae=Nt(me|0,0,45)|0,A=Ae|A,f=Z()|0|f&-1040385,p=d[4272+(q*28|0)+(p<<2)>>2]|0,(me&127|0)==127&&(me=Nt(d[848+(q*28|0)+20>>2]|0,0,45)|0,f=Z()|0|f&-1040385,p=d[4272+(q*28|0)+20>>2]|0,A=ku(me|A,f)|0,f=Z()|0,d[_>>2]=(d[_>>2]|0)+1)),N=bt(A|0,f|0,45)|0,Z()|0,N=N&127;e:do if(Bi(N)|0){t:do if(($s(A,f)|0)==1){if((q|0)!=(N|0))if(Ru(N,d[7696+(q*28|0)>>2]|0)|0){A=hp(A,f)|0,M=1,f=Z()|0;break}else Ut(27795,26864,533,26872);switch(U|0){case 3:{A=ku(A,f)|0,f=Z()|0,d[_>>2]=(d[_>>2]|0)+1,M=0;break t}case 5:{A=hp(A,f)|0,f=Z()|0,d[_>>2]=(d[_>>2]|0)+5,M=0;break t}case 0:return me=9,me|0;default:return me=1,me|0}}else M=0;while(!1);if((p|0)>0){T=0;do A=cp(A,f)|0,f=Z()|0,T=T+1|0;while((T|0)!=(p|0))}if((q|0)!=(N|0)){if(!(Wc(N)|0)){if((M|0)!=0|($s(A,f)|0)!=5)break;d[_>>2]=(d[_>>2]|0)+1;break}switch(ie&127){case 8:case 118:break e}($s(A,f)|0)!=3&&(d[_>>2]=(d[_>>2]|0)+1)}}else if((p|0)>0){T=0;do A=ku(A,f)|0,f=Z()|0,T=T+1|0;while((T|0)!=(p|0))}while(!1);return d[_>>2]=((d[_>>2]|0)+p|0)%6|0,me=y,d[me>>2]=A,d[me+4>>2]=f,me=0,me|0}function Yn(A,f,p,_){return A=A|0,f=f|0,p=p|0,_=_|0,yi(A,f,p,_)|0?(uo(_|0,0,p*48|0)|0,_=js(A,f,p,_)|0,_|0):(_=0,_|0)}function yi(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0;if(me=K,K=K+16|0,pe=me,Ae=me+8|0,ie=pe,d[ie>>2]=A,d[ie+4>>2]=f,(p|0)<0)return Ae=2,K=me,Ae|0;if(!p)return Ae=_,d[Ae>>2]=A,d[Ae+4>>2]=f,Ae=0,K=me,Ae|0;d[Ae>>2]=0;e:do if(Ci(A,f)|0)A=9;else{y=0,ie=A;do{if(A=cn(ie,f,4,Ae,pe)|0,A|0)break e;if(f=pe,ie=d[f>>2]|0,f=d[f+4>>2]|0,y=y+1|0,Ci(ie,f)|0){A=9;break e}}while((y|0)<(p|0));q=_,d[q>>2]=ie,d[q+4>>2]=f,q=p+-1|0,I=0,A=1;do{if(y=26800+(I<<2)|0,(I|0)==5)for(M=d[y>>2]|0,T=0,y=A;;){if(A=pe,A=cn(d[A>>2]|0,d[A+4>>2]|0,M,Ae,pe)|0,A|0)break e;if((T|0)!=(q|0))if(U=pe,N=d[U>>2]|0,U=d[U+4>>2]|0,A=_+(y<<3)|0,d[A>>2]=N,d[A+4>>2]=U,!(Ci(N,U)|0))A=y+1|0;else{A=9;break e}else A=y;if(T=T+1|0,(T|0)>=(p|0))break;y=A}else for(M=pe,U=d[y>>2]|0,N=0,y=A,T=d[M>>2]|0,M=d[M+4>>2]|0;;){if(A=cn(T,M,U,Ae,pe)|0,A|0)break e;if(M=pe,T=d[M>>2]|0,M=d[M+4>>2]|0,A=_+(y<<3)|0,d[A>>2]=T,d[A+4>>2]=M,A=y+1|0,Ci(T,M)|0){A=9;break e}if(N=N+1|0,(N|0)>=(p|0))break;y=A}I=I+1|0}while(I>>>0<6);A=pe,A=(ie|0)==(d[A>>2]|0)&&(f|0)==(d[A+4>>2]|0)?0:9}while(!1);return Ae=A,K=me,Ae|0}function js(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0;if(ie=K,K=K+16|0,M=ie,!p)return d[_>>2]=A,d[_+4>>2]=f,_=0,K=ie,_|0;do if((p|0)>=0){if((p|0)>13780509){if(y=Hu(15,M)|0,y|0)break;T=M,y=d[T>>2]|0,T=d[T+4>>2]|0}else y=((p|0)<0)<<31>>31,q=fr(p|0,y|0,3,0)|0,T=Z()|0,y=Yt(p|0,y|0,1,0)|0,y=fr(q|0,T|0,y|0,Z()|0)|0,y=Yt(y|0,Z()|0,1,0)|0,T=Z()|0,q=M,d[q>>2]=y,d[q+4>>2]=T;if(I=Ks(y,8)|0,!I)y=13;else{if(q=Ks(y,4)|0,!q){An(I),y=13;break}if(y=Jt(A,f,p,I,q,y,T,0)|0,y|0){An(I),An(q);break}if(f=d[M>>2]|0,M=d[M+4>>2]|0,(M|0)>0|(M|0)==0&f>>>0>0){y=0,N=0,U=0;do A=I+(N<<3)|0,T=d[A>>2]|0,A=d[A+4>>2]|0,!((T|0)==0&(A|0)==0)&&(d[q+(N<<2)>>2]|0)==(p|0)&&(pe=_+(y<<3)|0,d[pe>>2]=T,d[pe+4>>2]=A,y=y+1|0),N=Yt(N|0,U|0,1,0)|0,U=Z()|0;while((U|0)<(M|0)|(U|0)==(M|0)&N>>>0>>0)}An(I),An(q),y=0}}else y=2;while(!1);return pe=y,K=ie,pe|0}function pi(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0;for(N=K,K=K+16|0,T=N,M=N+8|0,y=(Ci(A,f)|0)==0,y=y?1:2;;){if(d[M>>2]=0,I=(cn(A,f,y,M,T)|0)==0,U=T,I&((d[U>>2]|0)==(p|0)?(d[U+4>>2]|0)==(_|0):0)){A=4;break}if(y=y+1|0,y>>>0>=7){y=7,A=4;break}}return(A|0)==4?(K=N,y|0):0}function Pr(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0;if(N=K,K=K+48|0,y=N+16|0,T=N+8|0,M=N,p=Ra(p)|0,p|0)return M=p,K=N,M|0;if(I=A,U=d[I+4>>2]|0,p=T,d[p>>2]=d[I>>2],d[p+4>>2]=U,pa(T,y),p=sf(y,f,M)|0,!p){if(f=d[T>>2]|0,T=d[A+8>>2]|0,(T|0)>0){y=d[A+12>>2]|0,p=0;do f=(d[y+(p<<3)>>2]|0)+f|0,p=p+1|0;while((p|0)<(T|0))}p=M,y=d[p>>2]|0,p=d[p+4>>2]|0,T=((f|0)<0)<<31>>31,(p|0)<(T|0)|(p|0)==(T|0)&y>>>0>>0?(p=M,d[p>>2]=f,d[p+4>>2]=T,p=T):f=y,U=Yt(f|0,p|0,12,0)|0,I=Z()|0,p=M,d[p>>2]=U,d[p+4>>2]=I,p=_,d[p>>2]=U,d[p+4>>2]=I,p=0}return I=p,K=N,I|0}function Ei(A,f,p,_,y,T,M){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0,T=T|0,M=M|0;var N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0,Re=0,Pt=0,rn=0,en=0,Un=0,En=0,Qn=0,Tn=0,on=0,Lt=0,vn=0,ii=0,wn=0,Ri=0,ws=0,Al=0;if(ii=K,K=K+64|0,Tn=ii+48|0,on=ii+32|0,Lt=ii+24|0,Pt=ii+8|0,rn=ii,U=d[A>>2]|0,(U|0)<=0)return vn=0,K=ii,vn|0;for(en=A+4|0,Un=Tn+8|0,En=on+8|0,Qn=Pt+8|0,N=0,ke=0;;){I=d[en>>2]|0,qe=I+(ke<<4)|0,d[Tn>>2]=d[qe>>2],d[Tn+4>>2]=d[qe+4>>2],d[Tn+8>>2]=d[qe+8>>2],d[Tn+12>>2]=d[qe+12>>2],(ke|0)==(U+-1|0)?(d[on>>2]=d[I>>2],d[on+4>>2]=d[I+4>>2],d[on+8>>2]=d[I+8>>2],d[on+12>>2]=d[I+12>>2]):(qe=I+(ke+1<<4)|0,d[on>>2]=d[qe>>2],d[on+4>>2]=d[qe+4>>2],d[on+8>>2]=d[qe+8>>2],d[on+12>>2]=d[qe+12>>2]),U=a1(Tn,on,_,Lt)|0;e:do if(U)I=0,N=U;else if(U=Lt,I=d[U>>2]|0,U=d[U+4>>2]|0,(U|0)>0|(U|0)==0&I>>>0>0){Xe=0,qe=0;t:for(;;){if(Ri=1/(+(I>>>0)+4294967296*+(U|0)),Al=+J[Tn>>3],U=Ur(I|0,U|0,Xe|0,qe|0)|0,ws=+(U>>>0)+4294967296*+(Z()|0),wn=+(Xe>>>0)+4294967296*+(qe|0),J[Pt>>3]=Ri*(Al*ws)+Ri*(+J[on>>3]*wn),J[Qn>>3]=Ri*(+J[Un>>3]*ws)+Ri*(+J[En>>3]*wn),U=PA(Pt,_,rn)|0,U|0){N=U;break}Be=rn,Ce=d[Be>>2]|0,Be=d[Be+4>>2]|0,pe=ec(Ce|0,Be|0,f|0,p|0)|0,q=Z()|0,U=M+(pe<<3)|0,ie=U,I=d[ie>>2]|0,ie=d[ie+4>>2]|0;n:do if((I|0)==0&(ie|0)==0)Re=U,vn=16;else for(Ae=0,me=0;;){if((Ae|0)>(p|0)|(Ae|0)==(p|0)&me>>>0>f>>>0){N=1;break t}if((I|0)==(Ce|0)&(ie|0)==(Be|0))break n;if(U=Yt(pe|0,q|0,1,0)|0,pe=th(U|0,Z()|0,f|0,p|0)|0,q=Z()|0,me=Yt(me|0,Ae|0,1,0)|0,Ae=Z()|0,U=M+(pe<<3)|0,ie=U,I=d[ie>>2]|0,ie=d[ie+4>>2]|0,(I|0)==0&(ie|0)==0){Re=U,vn=16;break}}while(!1);if((vn|0)==16&&(vn=0,!((Ce|0)==0&(Be|0)==0))&&(me=Re,d[me>>2]=Ce,d[me+4>>2]=Be,me=T+(d[y>>2]<<3)|0,d[me>>2]=Ce,d[me+4>>2]=Be,me=y,me=Yt(d[me>>2]|0,d[me+4>>2]|0,1,0)|0,Ce=Z()|0,Be=y,d[Be>>2]=me,d[Be+4>>2]=Ce),Xe=Yt(Xe|0,qe|0,1,0)|0,qe=Z()|0,U=Lt,I=d[U>>2]|0,U=d[U+4>>2]|0,!((U|0)>(qe|0)|(U|0)==(qe|0)&I>>>0>Xe>>>0)){I=1;break e}}I=0}else I=1;while(!1);if(ke=ke+1|0,!I){vn=21;break}if(U=d[A>>2]|0,(ke|0)>=(U|0)){N=0,vn=21;break}}return(vn|0)==21?(K=ii,N|0):0}function Zh(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0,Re=0,Pt=0,rn=0,en=0,Un=0,En=0,Qn=0,Tn=0,on=0,Lt=0,vn=0,ii=0,wn=0,Ri=0,ws=0;if(ws=K,K=K+112|0,vn=ws+80|0,U=ws+72|0,ii=ws,wn=ws+56|0,y=Ra(p)|0,y|0)return Ri=y,K=ws,Ri|0;if(I=A+8|0,Ri=Fo((d[I>>2]<<5)+32|0)|0,!Ri)return Ri=13,K=ws,Ri|0;if(Na(A,Ri),y=Ra(p)|0,!y){if(on=A,Lt=d[on+4>>2]|0,y=U,d[y>>2]=d[on>>2],d[y+4>>2]=Lt,pa(U,vn),y=sf(vn,f,ii)|0,y)on=0,Lt=0;else{if(y=d[U>>2]|0,T=d[I>>2]|0,(T|0)>0){M=d[A+12>>2]|0,p=0;do y=(d[M+(p<<3)>>2]|0)+y|0,p=p+1|0;while((p|0)!=(T|0));p=y}else p=y;y=ii,T=d[y>>2]|0,y=d[y+4>>2]|0,M=((p|0)<0)<<31>>31,(y|0)<(M|0)|(y|0)==(M|0)&T>>>0

>>0?(y=ii,d[y>>2]=p,d[y+4>>2]=M,y=M):p=T,on=Yt(p|0,y|0,12,0)|0,Lt=Z()|0,y=ii,d[y>>2]=on,d[y+4>>2]=Lt,y=0}if(!y){if(p=Ks(on,8)|0,!p)return An(Ri),Ri=13,K=ws,Ri|0;if(N=Ks(on,8)|0,!N)return An(Ri),An(p),Ri=13,K=ws,Ri|0;Qn=vn,d[Qn>>2]=0,d[Qn+4>>2]=0,Qn=A,Tn=d[Qn+4>>2]|0,y=U,d[y>>2]=d[Qn>>2],d[y+4>>2]=Tn,y=Ei(U,on,Lt,f,vn,p,N)|0;e:do if(y)An(p),An(N),An(Ri);else{t:do if((d[I>>2]|0)>0){for(M=A+12|0,T=0;y=Ei((d[M>>2]|0)+(T<<3)|0,on,Lt,f,vn,p,N)|0,T=T+1|0,!(y|0);)if((T|0)>=(d[I>>2]|0))break t;An(p),An(N),An(Ri);break e}while(!1);(Lt|0)>0|(Lt|0)==0&on>>>0>0&&uo(N|0,0,on<<3|0)|0,Tn=vn,Qn=d[Tn+4>>2]|0;t:do if((Qn|0)>0|(Qn|0)==0&(d[Tn>>2]|0)>>>0>0){en=p,Un=N,En=p,Qn=N,Tn=p,y=p,Re=p,Pt=N,rn=N,p=N;n:for(;;){for(Be=0,Xe=0,qe=0,ke=0,T=0,M=0;;){N=ii,U=N+56|0;do d[N>>2]=0,N=N+4|0;while((N|0)<(U|0));if(f=en+(Be<<3)|0,I=d[f>>2]|0,f=d[f+4>>2]|0,Ct(I,f,1,ii,0)|0){N=ii,U=N+56|0;do d[N>>2]=0,N=N+4|0;while((N|0)<(U|0));N=Ks(7,4)|0,N|0&&(Jt(I,f,1,ii,N,7,0,0)|0,An(N))}for(Ce=0;;){me=ii+(Ce<<3)|0,Ae=d[me>>2]|0,me=d[me+4>>2]|0;i:do if((Ae|0)==0&(me|0)==0)N=T,U=M;else{if(q=ec(Ae|0,me|0,on|0,Lt|0)|0,I=Z()|0,N=_+(q<<3)|0,f=N,U=d[f>>2]|0,f=d[f+4>>2]|0,!((U|0)==0&(f|0)==0)){ie=0,pe=0;do{if((ie|0)>(Lt|0)|(ie|0)==(Lt|0)&pe>>>0>on>>>0)break n;if((U|0)==(Ae|0)&(f|0)==(me|0)){N=T,U=M;break i}N=Yt(q|0,I|0,1,0)|0,q=th(N|0,Z()|0,on|0,Lt|0)|0,I=Z()|0,pe=Yt(pe|0,ie|0,1,0)|0,ie=Z()|0,N=_+(q<<3)|0,f=N,U=d[f>>2]|0,f=d[f+4>>2]|0}while(!((U|0)==0&(f|0)==0))}if((Ae|0)==0&(me|0)==0){N=T,U=M;break}Ol(Ae,me,wn)|0,Da(A,Ri,wn)|0&&(pe=Yt(T|0,M|0,1,0)|0,M=Z()|0,ie=N,d[ie>>2]=Ae,d[ie+4>>2]=me,T=Un+(T<<3)|0,d[T>>2]=Ae,d[T+4>>2]=me,T=pe),N=T,U=M}while(!1);if(Ce=Ce+1|0,Ce>>>0>=7)break;T=N,M=U}if(Be=Yt(Be|0,Xe|0,1,0)|0,Xe=Z()|0,qe=Yt(qe|0,ke|0,1,0)|0,ke=Z()|0,M=vn,T=d[M>>2]|0,M=d[M+4>>2]|0,(ke|0)<(M|0)|(ke|0)==(M|0)&qe>>>0>>0)T=N,M=U;else break}if((M|0)>0|(M|0)==0&T>>>0>0){T=0,M=0;do ke=en+(T<<3)|0,d[ke>>2]=0,d[ke+4>>2]=0,T=Yt(T|0,M|0,1,0)|0,M=Z()|0,ke=vn,qe=d[ke+4>>2]|0;while((M|0)<(qe|0)|((M|0)==(qe|0)?T>>>0<(d[ke>>2]|0)>>>0:0))}if(ke=vn,d[ke>>2]=N,d[ke+4>>2]=U,(U|0)>0|(U|0)==0&N>>>0>0)Ce=p,Be=rn,Xe=Tn,qe=Pt,ke=Un,p=Re,rn=y,Pt=En,Re=Ce,y=Be,Tn=Qn,Qn=Xe,En=qe,Un=en,en=ke;else break t}An(En),An(Qn),An(Ri),y=1;break e}else y=N;while(!1);An(Ri),An(p),An(y),y=0}while(!1);return Ri=y,K=ws,Ri|0}}return An(Ri),Ri=y,K=ws,Ri|0}function Bl(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0;if(q=K,K=K+176|0,U=q,(f|0)<1)return Io(p,0,0),I=0,K=q,I|0;for(N=A,N=bt(d[N>>2]|0,d[N+4>>2]|0,52)|0,Z()|0,Io(p,(f|0)>6?f:6,N&15),N=0;_=A+(N<<3)|0,_=Il(d[_>>2]|0,d[_+4>>2]|0,U)|0,!(_|0);){if(_=d[U>>2]|0,(_|0)>0){M=0;do T=U+8+(M<<4)|0,M=M+1|0,_=U+8+(((M|0)%(_|0)|0)<<4)|0,y=Zu(p,_,T)|0,y?Ku(p,y)|0:VA(p,T,_)|0,_=d[U>>2]|0;while((M|0)<(_|0))}if(N=N+1|0,(N|0)>=(f|0)){_=0,I=13;break}}return(I|0)==13?(K=q,_|0):(GA(p),I=_,K=q,I|0)}function nl(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0;if(T=K,K=K+32|0,_=T,y=T+16|0,A=Bl(A,f,y)|0,A|0)return p=A,K=T,p|0;if(d[p>>2]=0,d[p+4>>2]=0,d[p+8>>2]=0,A=qA(y)|0,A|0)do{f=M1(p)|0;do OA(f,A)|0,M=A+16|0,d[_>>2]=d[M>>2],d[_+4>>2]=d[M+4>>2],d[_+8>>2]=d[M+8>>2],d[_+12>>2]=d[M+12>>2],Ku(y,A)|0,A=As(y,_)|0;while((A|0)!=0);A=qA(y)|0}while((A|0)!=0);return GA(y),A=Rx(p)|0,A?(Wu(p),M=A,K=T,M|0):(M=0,K=T,M|0)}function Bi(A){return A=A|0,A>>>0>121?(A=0,A|0):(A=d[7696+(A*28|0)+16>>2]|0,A|0)}function Wc(A){return A=A|0,(A|0)==4|(A|0)==117|0}function Po(A){return A=A|0,d[11120+((d[A>>2]|0)*216|0)+((d[A+4>>2]|0)*72|0)+((d[A+8>>2]|0)*24|0)+(d[A+12>>2]<<3)>>2]|0}function ep(A){return A=A|0,d[11120+((d[A>>2]|0)*216|0)+((d[A+4>>2]|0)*72|0)+((d[A+8>>2]|0)*24|0)+(d[A+12>>2]<<3)+4>>2]|0}function tp(A,f){A=A|0,f=f|0,A=7696+(A*28|0)|0,d[f>>2]=d[A>>2],d[f+4>>2]=d[A+4>>2],d[f+8>>2]=d[A+8>>2],d[f+12>>2]=d[A+12>>2]}function $c(A,f){A=A|0,f=f|0;var p=0,_=0;if(f>>>0>20)return f=-1,f|0;do if((d[11120+(f*216|0)>>2]|0)!=(A|0))if((d[11120+(f*216|0)+8>>2]|0)!=(A|0))if((d[11120+(f*216|0)+16>>2]|0)!=(A|0))if((d[11120+(f*216|0)+24>>2]|0)!=(A|0))if((d[11120+(f*216|0)+32>>2]|0)!=(A|0))if((d[11120+(f*216|0)+40>>2]|0)!=(A|0))if((d[11120+(f*216|0)+48>>2]|0)!=(A|0))if((d[11120+(f*216|0)+56>>2]|0)!=(A|0))if((d[11120+(f*216|0)+64>>2]|0)!=(A|0))if((d[11120+(f*216|0)+72>>2]|0)!=(A|0))if((d[11120+(f*216|0)+80>>2]|0)!=(A|0))if((d[11120+(f*216|0)+88>>2]|0)!=(A|0))if((d[11120+(f*216|0)+96>>2]|0)!=(A|0))if((d[11120+(f*216|0)+104>>2]|0)!=(A|0))if((d[11120+(f*216|0)+112>>2]|0)!=(A|0))if((d[11120+(f*216|0)+120>>2]|0)!=(A|0))if((d[11120+(f*216|0)+128>>2]|0)!=(A|0))if((d[11120+(f*216|0)+136>>2]|0)==(A|0))A=2,p=1,_=2;else{if((d[11120+(f*216|0)+144>>2]|0)==(A|0)){A=0,p=2,_=0;break}if((d[11120+(f*216|0)+152>>2]|0)==(A|0)){A=0,p=2,_=1;break}if((d[11120+(f*216|0)+160>>2]|0)==(A|0)){A=0,p=2,_=2;break}if((d[11120+(f*216|0)+168>>2]|0)==(A|0)){A=1,p=2,_=0;break}if((d[11120+(f*216|0)+176>>2]|0)==(A|0)){A=1,p=2,_=1;break}if((d[11120+(f*216|0)+184>>2]|0)==(A|0)){A=1,p=2,_=2;break}if((d[11120+(f*216|0)+192>>2]|0)==(A|0)){A=2,p=2,_=0;break}if((d[11120+(f*216|0)+200>>2]|0)==(A|0)){A=2,p=2,_=1;break}if((d[11120+(f*216|0)+208>>2]|0)==(A|0)){A=2,p=2,_=2;break}else A=-1;return A|0}else A=2,p=1,_=1;else A=2,p=1,_=0;else A=1,p=1,_=2;else A=1,p=1,_=1;else A=1,p=1,_=0;else A=0,p=1,_=2;else A=0,p=1,_=1;else A=0,p=1,_=0;else A=2,p=0,_=2;else A=2,p=0,_=1;else A=2,p=0,_=0;else A=1,p=0,_=2;else A=1,p=0,_=1;else A=1,p=0,_=0;else A=0,p=0,_=2;else A=0,p=0,_=1;else A=0,p=0,_=0;while(!1);return f=d[11120+(f*216|0)+(p*72|0)+(A*24|0)+(_<<3)+4>>2]|0,f|0}function Ru(A,f){return A=A|0,f=f|0,(d[7696+(A*28|0)+20>>2]|0)==(f|0)?(f=1,f|0):(f=(d[7696+(A*28|0)+24>>2]|0)==(f|0),f|0)}function SA(A,f){return A=A|0,f=f|0,d[848+(A*28|0)+(f<<2)>>2]|0}function Jh(A,f){return A=A|0,f=f|0,(d[848+(A*28|0)>>2]|0)==(f|0)?(f=0,f|0):(d[848+(A*28|0)+4>>2]|0)==(f|0)?(f=1,f|0):(d[848+(A*28|0)+8>>2]|0)==(f|0)?(f=2,f|0):(d[848+(A*28|0)+12>>2]|0)==(f|0)?(f=3,f|0):(d[848+(A*28|0)+16>>2]|0)==(f|0)?(f=4,f|0):(d[848+(A*28|0)+20>>2]|0)==(f|0)?(f=5,f|0):((d[848+(A*28|0)+24>>2]|0)==(f|0)?6:7)|0}function s1(){return 122}function ef(A){A=A|0;var f=0,p=0,_=0;f=0;do Nt(f|0,0,45)|0,_=Z()|0|134225919,p=A+(f<<3)|0,d[p>>2]=-1,d[p+4>>2]=_,f=f+1|0;while((f|0)!=122);return 0}function il(A){A=A|0;var f=0,p=0,_=0;return _=+J[A+16>>3],p=+J[A+24>>3],f=_-p,+(_>3]<+J[A+24>>3]|0}function tf(A){return A=A|0,+(+J[A>>3]-+J[A+8>>3])}function Lo(A,f){A=A|0,f=f|0;var p=0,_=0,y=0;return p=+J[f>>3],!(p>=+J[A+8>>3])||!(p<=+J[A>>3])?(f=0,f|0):(_=+J[A+16>>3],p=+J[A+24>>3],y=+J[f+8>>3],f=y>=p,A=y<=_&1,_>3]<+J[f+8>>3]||+J[A+8>>3]>+J[f>>3]?(_=0,_|0):(T=+J[A+16>>3],p=A+24|0,q=+J[p>>3],M=T>3],y=f+24|0,U=+J[y>>3],N=I>3],f)||(q=+Xs(+J[p>>3],A),q>+Xs(+J[_>>3],f))?(N=0,N|0):(N=1,N|0))}function wA(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0;T=+J[A+16>>3],U=+J[A+24>>3],A=T>3],M=+J[f+24>>3],y=N>2]=A?y|f?1:2:0,d[_>>2]=y?A?1:f?2:1:0}function np(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0;return+J[A>>3]<+J[f>>3]||+J[A+8>>3]>+J[f+8>>3]?(_=0,_|0):(_=A+16|0,U=+J[_>>3],T=+J[A+24>>3],M=U>3],y=f+24|0,I=+J[y>>3],N=q>3],f)?(q=+Xs(+J[_>>3],A),N=q>=+Xs(+J[p>>3],f),N|0):(N=0,N|0))}function rf(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0;y=K,K=K+176|0,_=y,d[_>>2]=4,N=+J[f>>3],J[_+8>>3]=N,T=+J[f+16>>3],J[_+16>>3]=T,J[_+24>>3]=N,N=+J[f+24>>3],J[_+32>>3]=N,M=+J[f+8>>3],J[_+40>>3]=M,J[_+48>>3]=N,J[_+56>>3]=M,J[_+64>>3]=T,f=_+72|0,p=f+96|0;do d[f>>2]=0,f=f+4|0;while((f|0)<(p|0));Gl(A|0,_|0,168)|0,K=y}function sf(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0;me=K,K=K+288|0,q=me+264|0,ie=me+96|0,I=me,N=I,U=N+96|0;do d[N>>2]=0,N=N+4|0;while((N|0)<(U|0));return f=qu(f,I)|0,f|0?(Ae=f,K=me,Ae|0):(U=I,I=d[U>>2]|0,U=d[U+4>>2]|0,Ol(I,U,q)|0,Il(I,U,ie)|0,M=+Zc(q,ie+8|0),J[q>>3]=+J[A>>3],U=q+8|0,J[U>>3]=+J[A+16>>3],J[ie>>3]=+J[A+8>>3],I=ie+8|0,J[I>>3]=+J[A+24>>3],y=+Zc(q,ie),Be=+J[U>>3]-+J[I>>3],T=+un(+Be),Ce=+J[q>>3]-+J[ie>>3],_=+un(+Ce),!(Be==0|Ce==0)&&(Be=+Af(+T,+_),Be=+Ye(+(y*y/+df(+(Be/+df(+T,+_)),3)/(M*(M*2.59807621135)*.8))),J[$n>>3]=Be,pe=~~Be>>>0,Ae=+un(Be)>=1?Be>0?~~+Ie(+Xn(Be/4294967296),4294967295)>>>0:~~+Ye((Be-+(~~Be>>>0))/4294967296)>>>0:0,(d[$n+4>>2]&2146435072|0)!=2146435072)?(ie=(pe|0)==0&(Ae|0)==0,f=p,d[f>>2]=ie?1:pe,d[f+4>>2]=ie?0:Ae,f=0):f=1,Ae=f,K=me,Ae|0)}function a1(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0;I=K,K=K+288|0,M=I+264|0,N=I+96|0,U=I,y=U,T=y+96|0;do d[y>>2]=0,y=y+4|0;while((y|0)<(T|0));return p=qu(p,U)|0,p|0?(_=p,K=I,_|0):(p=U,y=d[p>>2]|0,p=d[p+4>>2]|0,Ol(y,p,M)|0,Il(y,p,N)|0,q=+Zc(M,N+8|0),q=+Ye(+(+Zc(A,f)/(q*2))),J[$n>>3]=q,p=~~q>>>0,y=+un(q)>=1?q>0?~~+Ie(+Xn(q/4294967296),4294967295)>>>0:~~+Ye((q-+(~~q>>>0))/4294967296)>>>0:0,(d[$n+4>>2]&2146435072|0)==2146435072?(_=1,K=I,_|0):(U=(p|0)==0&(y|0)==0,d[_>>2]=U?1:p,d[_+4>>2]=U?0:y,_=0,K=I,_|0))}function Ws(A,f){A=A|0,f=+f;var p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0;T=A+16|0,M=+J[T>>3],p=A+24|0,y=+J[p>>3],_=M-y,_=M>3],N=A+8|0,U=+J[N>>3],q=I-U,_=(_*f-_)*.5,f=(q*f-q)*.5,I=I+f,J[A>>3]=I>1.5707963267948966?1.5707963267948966:I,f=U-f,J[N>>3]=f<-1.5707963267948966?-1.5707963267948966:f,f=M+_,f=f>3.141592653589793?f+-6.283185307179586:f,J[T>>3]=f<-3.141592653589793?f+6.283185307179586:f,f=y-_,f=f>3.141592653589793?f+-6.283185307179586:f,J[p>>3]=f<-3.141592653589793?f+6.283185307179586:f}function Nu(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0,d[A>>2]=f,d[A+4>>2]=p,d[A+8>>2]=_}function MA(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0;ie=f+8|0,d[ie>>2]=0,U=+J[A>>3],M=+un(+U),I=+J[A+8>>3],N=+un(+I)*1.1547005383792515,M=M+N*.5,p=~~M,A=~~N,M=M-+(p|0),N=N-+(A|0);do if(M<.5)if(M<.3333333333333333)if(d[f>>2]=p,N<(M+1)*.5){d[f+4>>2]=A;break}else{A=A+1|0,d[f+4>>2]=A;break}else if(pe=1-M,A=(!(N>2]=A,pe<=N&N>2]=p;break}else{d[f>>2]=p;break}else{if(!(M<.6666666666666666))if(p=p+1|0,d[f>>2]=p,N>2]=A;break}else{A=A+1|0,d[f+4>>2]=A;break}if(N<1-M){if(d[f+4>>2]=A,M*2+-1>2]=p;break}}else A=A+1|0,d[f+4>>2]=A;p=p+1|0,d[f>>2]=p}while(!1);do if(U<0)if(A&1){q=(A+1|0)/2|0,q=Ur(p|0,((p|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0,p=~~(+(p|0)-((+(q>>>0)+4294967296*+(Z()|0))*2+1)),d[f>>2]=p;break}else{q=(A|0)/2|0,q=Ur(p|0,((p|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0,p=~~(+(p|0)-(+(q>>>0)+4294967296*+(Z()|0))*2),d[f>>2]=p;break}while(!1);q=f+4|0,I<0&&(p=p-((A<<1|1|0)/2|0)|0,d[f>>2]=p,A=0-A|0,d[q>>2]=A),_=A-p|0,(p|0)<0?(y=0-p|0,d[q>>2]=_,d[ie>>2]=y,d[f>>2]=0,A=_,p=0):y=0,(A|0)<0&&(p=p-A|0,d[f>>2]=p,y=y-A|0,d[ie>>2]=y,d[q>>2]=0,A=0),T=p-y|0,_=A-y|0,(y|0)<0&&(d[f>>2]=T,d[q>>2]=_,d[ie>>2]=0,A=_,p=T,y=0),_=(A|0)<(p|0)?A:p,_=(y|0)<(_|0)?y:_,!((_|0)<=0)&&(d[f>>2]=p-_,d[q>>2]=A-_,d[ie>>2]=y-_)}function Lr(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0;f=d[A>>2]|0,M=A+4|0,p=d[M>>2]|0,(f|0)<0&&(p=p-f|0,d[M>>2]=p,T=A+8|0,d[T>>2]=(d[T>>2]|0)-f,d[A>>2]=0,f=0),(p|0)<0?(f=f-p|0,d[A>>2]=f,T=A+8|0,y=(d[T>>2]|0)-p|0,d[T>>2]=y,d[M>>2]=0,p=0):(y=A+8|0,T=y,y=d[y>>2]|0),(y|0)<0&&(f=f-y|0,d[A>>2]=f,p=p-y|0,d[M>>2]=p,d[T>>2]=0,y=0),_=(p|0)<(f|0)?p:f,_=(y|0)<(_|0)?y:_,!((_|0)<=0)&&(d[A>>2]=f-_,d[M>>2]=p-_,d[T>>2]=y-_)}function Du(A,f){A=A|0,f=f|0;var p=0,_=0;_=d[A+8>>2]|0,p=+((d[A+4>>2]|0)-_|0),J[f>>3]=+((d[A>>2]|0)-_|0)-p*.5,J[f+8>>3]=p*.8660254037844386}function hs(A,f,p){A=A|0,f=f|0,p=p|0,d[p>>2]=(d[f>>2]|0)+(d[A>>2]|0),d[p+4>>2]=(d[f+4>>2]|0)+(d[A+4>>2]|0),d[p+8>>2]=(d[f+8>>2]|0)+(d[A+8>>2]|0)}function af(A,f,p){A=A|0,f=f|0,p=p|0,d[p>>2]=(d[A>>2]|0)-(d[f>>2]|0),d[p+4>>2]=(d[A+4>>2]|0)-(d[f+4>>2]|0),d[p+8>>2]=(d[A+8>>2]|0)-(d[f+8>>2]|0)}function Xc(A,f){A=A|0,f=f|0;var p=0,_=0;p=$e(d[A>>2]|0,f)|0,d[A>>2]=p,p=A+4|0,_=$e(d[p>>2]|0,f)|0,d[p>>2]=_,A=A+8|0,f=$e(d[A>>2]|0,f)|0,d[A>>2]=f}function Pu(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0;M=d[A>>2]|0,N=(M|0)<0,_=(d[A+4>>2]|0)-(N?M:0)|0,T=(_|0)<0,y=(T?0-_|0:0)+((d[A+8>>2]|0)-(N?M:0))|0,p=(y|0)<0,A=p?0:y,f=(T?0:_)-(p?y:0)|0,y=(N?0:M)-(T?_:0)-(p?y:0)|0,p=(f|0)<(y|0)?f:y,p=(A|0)<(p|0)?A:p,_=(p|0)>0,A=A-(_?p:0)|0,f=f-(_?p:0)|0;e:do switch(y-(_?p:0)|0){case 0:switch(f|0){case 0:return N=(A|0)==0?0:(A|0)==1?1:7,N|0;case 1:return N=(A|0)==0?2:(A|0)==1?3:7,N|0;default:break e}case 1:switch(f|0){case 0:return N=(A|0)==0?4:(A|0)==1?5:7,N|0;case 1:{if(!A)A=6;else break e;return A|0}default:break e}}while(!1);return N=7,N|0}function o1(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0;if(U=A+8|0,M=d[U>>2]|0,N=(d[A>>2]|0)-M|0,I=A+4|0,M=(d[I>>2]|0)-M|0,N>>>0>715827881|M>>>0>715827881){if(_=(N|0)>0,y=2147483647-N|0,T=-2147483648-N|0,(_?(y|0)<(N|0):(T|0)>(N|0))||(p=N<<1,_?(2147483647-p|0)<(N|0):(-2147483648-p|0)>(N|0))||((M|0)>0?(2147483647-M|0)<(M|0):(-2147483648-M|0)>(M|0))||(f=N*3|0,p=M<<1,(_?(y|0)<(p|0):(T|0)>(p|0))||((N|0)>-1?(f|-2147483648|0)>=(M|0):(f^-2147483648|0)<(M|0))))return I=1,I|0}else p=M<<1,f=N*3|0;return _=cl(+(f-M|0)*.14285714285714285)|0,d[A>>2]=_,y=cl(+(p+N|0)*.14285714285714285)|0,d[I>>2]=y,d[U>>2]=0,p=(y|0)<(_|0),f=p?_:y,p=p?y:_,(p|0)<0&&(((p|0)==-2147483648||((f|0)>0?(2147483647-f|0)<(p|0):(-2147483648-f|0)>(p|0)))&&Ut(27795,26892,354,26903),((f|0)>-1?(f|-2147483648|0)>=(p|0):(f^-2147483648|0)<(p|0))&&Ut(27795,26892,354,26903)),f=y-_|0,(_|0)<0?(p=0-_|0,d[I>>2]=f,d[U>>2]=p,d[A>>2]=0,_=0):(f=y,p=0),(f|0)<0&&(_=_-f|0,d[A>>2]=_,p=p-f|0,d[U>>2]=p,d[I>>2]=0,f=0),T=_-p|0,y=f-p|0,(p|0)<0?(d[A>>2]=T,d[I>>2]=y,d[U>>2]=0,f=y,y=T,p=0):y=_,_=(f|0)<(y|0)?f:y,_=(p|0)<(_|0)?p:_,(_|0)<=0?(I=0,I|0):(d[A>>2]=y-_,d[I>>2]=f-_,d[U>>2]=p-_,I=0,I|0)}function cx(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0,U=0;if(M=A+8|0,y=d[M>>2]|0,T=(d[A>>2]|0)-y|0,N=A+4|0,y=(d[N>>2]|0)-y|0,T>>>0>715827881|y>>>0>715827881){if(p=(T|0)>0,(p?(2147483647-T|0)<(T|0):(-2147483648-T|0)>(T|0))||(f=T<<1,_=(y|0)>0,_?(2147483647-y|0)<(y|0):(-2147483648-y|0)>(y|0)))return N=1,N|0;if(U=y<<1,(_?(2147483647-U|0)<(y|0):(-2147483648-U|0)>(y|0))||(p?(2147483647-f|0)<(y|0):(-2147483648-f|0)>(y|0))||(p=y*3|0,(y|0)>-1?(p|-2147483648|0)>=(T|0):(p^-2147483648|0)<(T|0)))return U=1,U|0}else p=y*3|0,f=T<<1;return _=cl(+(f+y|0)*.14285714285714285)|0,d[A>>2]=_,y=cl(+(p-T|0)*.14285714285714285)|0,d[N>>2]=y,d[M>>2]=0,p=(y|0)<(_|0),f=p?_:y,p=p?y:_,(p|0)<0&&(((p|0)==-2147483648||((f|0)>0?(2147483647-f|0)<(p|0):(-2147483648-f|0)>(p|0)))&&Ut(27795,26892,402,26917),((f|0)>-1?(f|-2147483648|0)>=(p|0):(f^-2147483648|0)<(p|0))&&Ut(27795,26892,402,26917)),f=y-_|0,(_|0)<0?(p=0-_|0,d[N>>2]=f,d[M>>2]=p,d[A>>2]=0,_=0):(f=y,p=0),(f|0)<0&&(_=_-f|0,d[A>>2]=_,p=p-f|0,d[M>>2]=p,d[N>>2]=0,f=0),T=_-p|0,y=f-p|0,(p|0)<0?(d[A>>2]=T,d[N>>2]=y,d[M>>2]=0,f=y,y=T,p=0):y=_,_=(f|0)<(y|0)?f:y,_=(p|0)<(_|0)?p:_,(_|0)<=0?(U=0,U|0):(d[A>>2]=y-_,d[N>>2]=f-_,d[M>>2]=p-_,U=0,U|0)}function hx(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0;M=A+8|0,p=d[M>>2]|0,f=(d[A>>2]|0)-p|0,N=A+4|0,p=(d[N>>2]|0)-p|0,_=cl(+((f*3|0)-p|0)*.14285714285714285)|0,d[A>>2]=_,f=cl(+((p<<1)+f|0)*.14285714285714285)|0,d[N>>2]=f,d[M>>2]=0,p=f-_|0,(_|0)<0?(T=0-_|0,d[N>>2]=p,d[M>>2]=T,d[A>>2]=0,f=p,_=0,p=T):p=0,(f|0)<0&&(_=_-f|0,d[A>>2]=_,p=p-f|0,d[M>>2]=p,d[N>>2]=0,f=0),T=_-p|0,y=f-p|0,(p|0)<0?(d[A>>2]=T,d[N>>2]=y,d[M>>2]=0,f=y,y=T,p=0):y=_,_=(f|0)<(y|0)?f:y,_=(p|0)<(_|0)?p:_,!((_|0)<=0)&&(d[A>>2]=y-_,d[N>>2]=f-_,d[M>>2]=p-_)}function l1(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0;M=A+8|0,p=d[M>>2]|0,f=(d[A>>2]|0)-p|0,N=A+4|0,p=(d[N>>2]|0)-p|0,_=cl(+((f<<1)+p|0)*.14285714285714285)|0,d[A>>2]=_,f=cl(+((p*3|0)-f|0)*.14285714285714285)|0,d[N>>2]=f,d[M>>2]=0,p=f-_|0,(_|0)<0?(T=0-_|0,d[N>>2]=p,d[M>>2]=T,d[A>>2]=0,f=p,_=0,p=T):p=0,(f|0)<0&&(_=_-f|0,d[A>>2]=_,p=p-f|0,d[M>>2]=p,d[N>>2]=0,f=0),T=_-p|0,y=f-p|0,(p|0)<0?(d[A>>2]=T,d[N>>2]=y,d[M>>2]=0,f=y,y=T,p=0):y=_,_=(f|0)<(y|0)?f:y,_=(p|0)<(_|0)?p:_,!((_|0)<=0)&&(d[A>>2]=y-_,d[N>>2]=f-_,d[M>>2]=p-_)}function Yc(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0;f=d[A>>2]|0,M=A+4|0,p=d[M>>2]|0,N=A+8|0,_=d[N>>2]|0,y=p+(f*3|0)|0,d[A>>2]=y,p=_+(p*3|0)|0,d[M>>2]=p,f=(_*3|0)+f|0,d[N>>2]=f,_=p-y|0,(y|0)<0?(f=f-y|0,d[M>>2]=_,d[N>>2]=f,d[A>>2]=0,p=_,_=0):_=y,(p|0)<0&&(_=_-p|0,d[A>>2]=_,f=f-p|0,d[N>>2]=f,d[M>>2]=0,p=0),T=_-f|0,y=p-f|0,(f|0)<0?(d[A>>2]=T,d[M>>2]=y,d[N>>2]=0,_=T,f=0):y=p,p=(y|0)<(_|0)?y:_,p=(f|0)<(p|0)?f:p,!((p|0)<=0)&&(d[A>>2]=_-p,d[M>>2]=y-p,d[N>>2]=f-p)}function Lu(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0;y=d[A>>2]|0,M=A+4|0,f=d[M>>2]|0,N=A+8|0,p=d[N>>2]|0,_=(f*3|0)+y|0,y=p+(y*3|0)|0,d[A>>2]=y,d[M>>2]=_,f=(p*3|0)+f|0,d[N>>2]=f,p=_-y|0,(y|0)<0?(f=f-y|0,d[M>>2]=p,d[N>>2]=f,d[A>>2]=0,y=0):p=_,(p|0)<0&&(y=y-p|0,d[A>>2]=y,f=f-p|0,d[N>>2]=f,d[M>>2]=0,p=0),T=y-f|0,_=p-f|0,(f|0)<0?(d[A>>2]=T,d[M>>2]=_,d[N>>2]=0,y=T,f=0):_=p,p=(_|0)<(y|0)?_:y,p=(f|0)<(p|0)?f:p,!((p|0)<=0)&&(d[A>>2]=y-p,d[M>>2]=_-p,d[N>>2]=f-p)}function u1(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0;(f+-1|0)>>>0>=6||(y=(d[15440+(f*12|0)>>2]|0)+(d[A>>2]|0)|0,d[A>>2]=y,N=A+4|0,_=(d[15440+(f*12|0)+4>>2]|0)+(d[N>>2]|0)|0,d[N>>2]=_,M=A+8|0,f=(d[15440+(f*12|0)+8>>2]|0)+(d[M>>2]|0)|0,d[M>>2]=f,p=_-y|0,(y|0)<0?(f=f-y|0,d[N>>2]=p,d[M>>2]=f,d[A>>2]=0,_=0):(p=_,_=y),(p|0)<0&&(_=_-p|0,d[A>>2]=_,f=f-p|0,d[M>>2]=f,d[N>>2]=0,p=0),T=_-f|0,y=p-f|0,(f|0)<0?(d[A>>2]=T,d[N>>2]=y,d[M>>2]=0,_=T,f=0):y=p,p=(y|0)<(_|0)?y:_,p=(f|0)<(p|0)?f:p,!((p|0)<=0)&&(d[A>>2]=_-p,d[N>>2]=y-p,d[M>>2]=f-p))}function c1(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0;y=d[A>>2]|0,M=A+4|0,f=d[M>>2]|0,N=A+8|0,p=d[N>>2]|0,_=f+y|0,y=p+y|0,d[A>>2]=y,d[M>>2]=_,f=p+f|0,d[N>>2]=f,p=_-y|0,(y|0)<0?(f=f-y|0,d[M>>2]=p,d[N>>2]=f,d[A>>2]=0,_=0):(p=_,_=y),(p|0)<0&&(_=_-p|0,d[A>>2]=_,f=f-p|0,d[N>>2]=f,d[M>>2]=0,p=0),T=_-f|0,y=p-f|0,(f|0)<0?(d[A>>2]=T,d[M>>2]=y,d[N>>2]=0,_=T,f=0):y=p,p=(y|0)<(_|0)?y:_,p=(f|0)<(p|0)?f:p,!((p|0)<=0)&&(d[A>>2]=_-p,d[M>>2]=y-p,d[N>>2]=f-p)}function EA(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0;f=d[A>>2]|0,M=A+4|0,_=d[M>>2]|0,N=A+8|0,p=d[N>>2]|0,y=_+f|0,d[A>>2]=y,_=p+_|0,d[M>>2]=_,f=p+f|0,d[N>>2]=f,p=_-y|0,(y|0)<0?(f=f-y|0,d[M>>2]=p,d[N>>2]=f,d[A>>2]=0,_=0):(p=_,_=y),(p|0)<0&&(_=_-p|0,d[A>>2]=_,f=f-p|0,d[N>>2]=f,d[M>>2]=0,p=0),T=_-f|0,y=p-f|0,(f|0)<0?(d[A>>2]=T,d[M>>2]=y,d[N>>2]=0,_=T,f=0):y=p,p=(y|0)<(_|0)?y:_,p=(f|0)<(p|0)?f:p,!((p|0)<=0)&&(d[A>>2]=_-p,d[M>>2]=y-p,d[N>>2]=f-p)}function Uu(A){switch(A=A|0,A|0){case 1:{A=5;break}case 5:{A=4;break}case 4:{A=6;break}case 6:{A=2;break}case 2:{A=3;break}case 3:{A=1;break}}return A|0}function rl(A){switch(A=A|0,A|0){case 1:{A=3;break}case 3:{A=2;break}case 2:{A=6;break}case 6:{A=4;break}case 4:{A=5;break}case 5:{A=1;break}}return A|0}function h1(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0;f=d[A>>2]|0,M=A+4|0,p=d[M>>2]|0,N=A+8|0,_=d[N>>2]|0,y=p+(f<<1)|0,d[A>>2]=y,p=_+(p<<1)|0,d[M>>2]=p,f=(_<<1)+f|0,d[N>>2]=f,_=p-y|0,(y|0)<0?(f=f-y|0,d[M>>2]=_,d[N>>2]=f,d[A>>2]=0,p=_,_=0):_=y,(p|0)<0&&(_=_-p|0,d[A>>2]=_,f=f-p|0,d[N>>2]=f,d[M>>2]=0,p=0),T=_-f|0,y=p-f|0,(f|0)<0?(d[A>>2]=T,d[M>>2]=y,d[N>>2]=0,_=T,f=0):y=p,p=(y|0)<(_|0)?y:_,p=(f|0)<(p|0)?f:p,!((p|0)<=0)&&(d[A>>2]=_-p,d[M>>2]=y-p,d[N>>2]=f-p)}function f1(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0;y=d[A>>2]|0,M=A+4|0,f=d[M>>2]|0,N=A+8|0,p=d[N>>2]|0,_=(f<<1)+y|0,y=p+(y<<1)|0,d[A>>2]=y,d[M>>2]=_,f=(p<<1)+f|0,d[N>>2]=f,p=_-y|0,(y|0)<0?(f=f-y|0,d[M>>2]=p,d[N>>2]=f,d[A>>2]=0,y=0):p=_,(p|0)<0&&(y=y-p|0,d[A>>2]=y,f=f-p|0,d[N>>2]=f,d[M>>2]=0,p=0),T=y-f|0,_=p-f|0,(f|0)<0?(d[A>>2]=T,d[M>>2]=_,d[N>>2]=0,y=T,f=0):_=p,p=(_|0)<(y|0)?_:y,p=(f|0)<(p|0)?f:p,!((p|0)<=0)&&(d[A>>2]=y-p,d[M>>2]=_-p,d[N>>2]=f-p)}function ip(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0;return M=(d[A>>2]|0)-(d[f>>2]|0)|0,N=(M|0)<0,_=(d[A+4>>2]|0)-(d[f+4>>2]|0)-(N?M:0)|0,T=(_|0)<0,y=(N?0-M|0:0)+(d[A+8>>2]|0)-(d[f+8>>2]|0)+(T?0-_|0:0)|0,A=(y|0)<0,f=A?0:y,p=(T?0:_)-(A?y:0)|0,y=(N?0:M)-(T?_:0)-(A?y:0)|0,A=(p|0)<(y|0)?p:y,A=(f|0)<(A|0)?f:A,_=(A|0)>0,f=f-(_?A:0)|0,p=p-(_?A:0)|0,A=y-(_?A:0)|0,A=(A|0)>-1?A:0-A|0,p=(p|0)>-1?p:0-p|0,f=(f|0)>-1?f:0-f|0,f=(p|0)>(f|0)?p:f,((A|0)>(f|0)?A:f)|0}function fx(A,f){A=A|0,f=f|0;var p=0;p=d[A+8>>2]|0,d[f>>2]=(d[A>>2]|0)-p,d[f+4>>2]=(d[A+4>>2]|0)-p}function rp(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0;return _=d[A>>2]|0,d[f>>2]=_,y=d[A+4>>2]|0,M=f+4|0,d[M>>2]=y,N=f+8|0,d[N>>2]=0,p=(y|0)<(_|0),A=p?_:y,p=p?y:_,(p|0)<0&&((p|0)==-2147483648||((A|0)>0?(2147483647-A|0)<(p|0):(-2147483648-A|0)>(p|0))||((A|0)>-1?(A|-2147483648|0)>=(p|0):(A^-2147483648|0)<(p|0)))?(f=1,f|0):(A=y-_|0,(_|0)<0?(p=0-_|0,d[M>>2]=A,d[N>>2]=p,d[f>>2]=0,_=0):(A=y,p=0),(A|0)<0&&(_=_-A|0,d[f>>2]=_,p=p-A|0,d[N>>2]=p,d[M>>2]=0,A=0),T=_-p|0,y=A-p|0,(p|0)<0?(d[f>>2]=T,d[M>>2]=y,d[N>>2]=0,A=y,y=T,p=0):y=_,_=(A|0)<(y|0)?A:y,_=(p|0)<(_|0)?p:_,(_|0)<=0?(f=0,f|0):(d[f>>2]=y-_,d[M>>2]=A-_,d[N>>2]=p-_,f=0,f|0))}function A1(A){A=A|0;var f=0,p=0,_=0,y=0;f=A+8|0,y=d[f>>2]|0,p=y-(d[A>>2]|0)|0,d[A>>2]=p,_=A+4|0,A=(d[_>>2]|0)-y|0,d[_>>2]=A,d[f>>2]=0-(A+p)}function Ax(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0;p=d[A>>2]|0,f=0-p|0,d[A>>2]=f,M=A+8|0,d[M>>2]=0,N=A+4|0,_=d[N>>2]|0,y=_+p|0,(p|0)>0?(d[N>>2]=y,d[M>>2]=p,d[A>>2]=0,f=0,_=y):p=0,(_|0)<0?(T=f-_|0,d[A>>2]=T,p=p-_|0,d[M>>2]=p,d[N>>2]=0,y=T-p|0,f=0-p|0,(p|0)<0?(d[A>>2]=y,d[N>>2]=f,d[M>>2]=0,_=f,p=0):(_=0,y=T)):y=f,f=(_|0)<(y|0)?_:y,f=(p|0)<(f|0)?p:f,!((f|0)<=0)&&(d[A>>2]=y-f,d[N>>2]=_-f,d[M>>2]=p-f)}function dx(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0,I=0,q=0,ie=0;if(ie=K,K=K+64|0,q=ie,N=ie+56|0,!(!0&(f&2013265920|0)==134217728&(!0&(_&2013265920|0)==134217728)))return y=5,K=ie,y|0;if((A|0)==(p|0)&(f|0)==(_|0))return d[y>>2]=0,y=0,K=ie,y|0;if(M=bt(A|0,f|0,52)|0,Z()|0,M=M&15,I=bt(p|0,_|0,52)|0,Z()|0,(M|0)!=(I&15|0))return y=12,K=ie,y|0;if(T=M+-1|0,M>>>0>1){Fu(A,f,T,q)|0,Fu(p,_,T,N)|0,I=q,U=d[I>>2]|0,I=d[I+4>>2]|0;e:do if((U|0)==(d[N>>2]|0)&&(I|0)==(d[N+4>>2]|0)){M=(M^15)*3|0,T=bt(A|0,f|0,M|0)|0,Z()|0,T=T&7,M=bt(p|0,_|0,M|0)|0,Z()|0,M=M&7;do if((T|0)==0|(M|0)==0)d[y>>2]=1,T=0;else if((T|0)==7)T=5;else{if((T|0)==1|(M|0)==1&&Ci(U,I)|0){T=5;break}if((d[15536+(T<<2)>>2]|0)!=(M|0)&&(d[15568+(T<<2)>>2]|0)!=(M|0))break e;d[y>>2]=1,T=0}while(!1);return y=T,K=ie,y|0}while(!1)}T=q,M=T+56|0;do d[T>>2]=0,T=T+4|0;while((T|0)<(M|0));return _e(A,f,1,q)|0,f=q,!((d[f>>2]|0)==(p|0)&&(d[f+4>>2]|0)==(_|0))&&(f=q+8|0,!((d[f>>2]|0)==(p|0)&&(d[f+4>>2]|0)==(_|0)))&&(f=q+16|0,!((d[f>>2]|0)==(p|0)&&(d[f+4>>2]|0)==(_|0)))&&(f=q+24|0,!((d[f>>2]|0)==(p|0)&&(d[f+4>>2]|0)==(_|0)))&&(f=q+32|0,!((d[f>>2]|0)==(p|0)&&(d[f+4>>2]|0)==(_|0)))&&(f=q+40|0,!((d[f>>2]|0)==(p|0)&&(d[f+4>>2]|0)==(_|0)))?(T=q+48|0,T=((d[T>>2]|0)==(p|0)?(d[T+4>>2]|0)==(_|0):0)&1):T=1,d[y>>2]=T,y=0,K=ie,y|0}function d1(A,f,p,_,y){return A=A|0,f=f|0,p=p|0,_=_|0,y=y|0,p=pi(A,f,p,_)|0,(p|0)==7?(y=11,y|0):(_=Nt(p|0,0,56)|0,f=f&-2130706433|(Z()|0)|268435456,d[y>>2]=A|_,d[y+4>>2]=f,y=0,y|0)}function px(A,f,p){return A=A|0,f=f|0,p=p|0,!0&(f&2013265920|0)==268435456?(d[p>>2]=A,d[p+4>>2]=f&-2130706433|134217728,p=0,p|0):(p=6,p|0)}function mx(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0;return y=K,K=K+16|0,_=y,d[_>>2]=0,!0&(f&2013265920|0)==268435456?(T=bt(A|0,f|0,56)|0,Z()|0,_=cn(A,f&-2130706433|134217728,T&7,_,p)|0,K=y,_|0):(_=6,K=y,_|0)}function p1(A,f){A=A|0,f=f|0;var p=0;switch(p=bt(A|0,f|0,56)|0,Z()|0,p&7){case 0:case 7:return p=0,p|0}return p=f&-2130706433|134217728,!(!0&(f&2013265920|0)==268435456)||!0&(f&117440512|0)==16777216&(Ci(A,p)|0)!=0?(p=0,p|0):(p=NA(A,p)|0,p|0)}function gx(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0;return y=K,K=K+16|0,_=y,!0&(f&2013265920|0)==268435456?(T=f&-2130706433|134217728,M=p,d[M>>2]=A,d[M+4>>2]=T,d[_>>2]=0,f=bt(A|0,f|0,56)|0,Z()|0,_=cn(A,T,f&7,_,p+8|0)|0,K=y,_|0):(_=6,K=y,_|0)}function vx(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0;return y=(Ci(A,f)|0)==0,f=f&-2130706433,_=p,d[_>>2]=y?A:0,d[_+4>>2]=y?f|285212672:0,_=p+8|0,d[_>>2]=A,d[_+4>>2]=f|301989888,_=p+16|0,d[_>>2]=A,d[_+4>>2]=f|318767104,_=p+24|0,d[_>>2]=A,d[_+4>>2]=f|335544320,_=p+32|0,d[_>>2]=A,d[_+4>>2]=f|352321536,p=p+40|0,d[p>>2]=A,d[p+4>>2]=f|369098752,0}function CA(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0;return M=K,K=K+16|0,y=M,T=f&-2130706433|134217728,!0&(f&2013265920|0)==268435456?(_=bt(A|0,f|0,56)|0,Z()|0,_=Sp(A,T,_&7)|0,(_|0)==-1?(d[p>>2]=0,T=6,K=M,T|0):(zu(A,T,y)|0&&Ut(27795,26932,282,26947),f=bt(A|0,f|0,52)|0,Z()|0,f=f&15,Ci(A,T)|0?sp(y,f,_,2,p):RA(y,f,_,2,p),T=0,K=M,T|0)):(T=6,K=M,T|0)}function _x(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0;_=K,K=K+16|0,y=_,yx(A,f,p,y),MA(y,p+4|0),K=_}function yx(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0;if(N=K,K=K+16|0,U=N,xx(A,p,U),T=+Ma(+(1-+J[U>>3]*.5)),T<1e-16){d[_>>2]=0,d[_+4>>2]=0,d[_+8>>2]=0,d[_+12>>2]=0,K=N;return}if(U=d[p>>2]|0,y=+J[15920+(U*24|0)>>3],y=+Kc(y-+Kc(+Ex(15600+(U<<4)|0,A))),Ss(f)|0?M=+Kc(y+-.3334731722518321):M=y,y=+cs(+T)*2.618033988749896,(f|0)>0){A=0;do y=y*2.6457513110645907,A=A+1|0;while((A|0)!=(f|0))}T=+li(+M)*y,J[_>>3]=T,M=+Fn(+M)*y,J[_+8>>3]=M,K=N}function xx(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0;if(T=K,K=K+32|0,y=T,Yu(A,y),d[f>>2]=0,J[p>>3]=5,_=+ar(16400,y),_<+J[p>>3]&&(d[f>>2]=0,J[p>>3]=_),_=+ar(16424,y),_<+J[p>>3]&&(d[f>>2]=1,J[p>>3]=_),_=+ar(16448,y),_<+J[p>>3]&&(d[f>>2]=2,J[p>>3]=_),_=+ar(16472,y),_<+J[p>>3]&&(d[f>>2]=3,J[p>>3]=_),_=+ar(16496,y),_<+J[p>>3]&&(d[f>>2]=4,J[p>>3]=_),_=+ar(16520,y),_<+J[p>>3]&&(d[f>>2]=5,J[p>>3]=_),_=+ar(16544,y),_<+J[p>>3]&&(d[f>>2]=6,J[p>>3]=_),_=+ar(16568,y),_<+J[p>>3]&&(d[f>>2]=7,J[p>>3]=_),_=+ar(16592,y),_<+J[p>>3]&&(d[f>>2]=8,J[p>>3]=_),_=+ar(16616,y),_<+J[p>>3]&&(d[f>>2]=9,J[p>>3]=_),_=+ar(16640,y),_<+J[p>>3]&&(d[f>>2]=10,J[p>>3]=_),_=+ar(16664,y),_<+J[p>>3]&&(d[f>>2]=11,J[p>>3]=_),_=+ar(16688,y),_<+J[p>>3]&&(d[f>>2]=12,J[p>>3]=_),_=+ar(16712,y),_<+J[p>>3]&&(d[f>>2]=13,J[p>>3]=_),_=+ar(16736,y),_<+J[p>>3]&&(d[f>>2]=14,J[p>>3]=_),_=+ar(16760,y),_<+J[p>>3]&&(d[f>>2]=15,J[p>>3]=_),_=+ar(16784,y),_<+J[p>>3]&&(d[f>>2]=16,J[p>>3]=_),_=+ar(16808,y),_<+J[p>>3]&&(d[f>>2]=17,J[p>>3]=_),_=+ar(16832,y),_<+J[p>>3]&&(d[f>>2]=18,J[p>>3]=_),_=+ar(16856,y),!(_<+J[p>>3])){K=T;return}d[f>>2]=19,J[p>>3]=_,K=T}function Bu(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0;if(T=+zl(A),T<1e-16){f=15600+(f<<4)|0,d[y>>2]=d[f>>2],d[y+4>>2]=d[f+4>>2],d[y+8>>2]=d[f+8>>2],d[y+12>>2]=d[f+12>>2];return}if(M=+Oe(+ +J[A+8>>3],+ +J[A>>3]),(p|0)>0){A=0;do T=T*.37796447300922725,A=A+1|0;while((A|0)!=(p|0))}N=T*.3333333333333333,_?(p=(Ss(p)|0)==0,T=+ae(+((p?N:N*.37796447300922725)*.381966011250105))):(T=+ae(+(T*.381966011250105)),Ss(p)|0&&(M=+Kc(M+.3334731722518321))),Cx(15600+(f<<4)|0,+Kc(+J[15920+(f*24|0)>>3]-M),T,y)}function of(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0;_=K,K=K+16|0,y=_,Du(A+4|0,y),Bu(y,d[A>>2]|0,f,0,p),K=_}function sp(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0,Re=0,Pt=0,rn=0,en=0,Un=0,En=0,Qn=0,Tn=0,on=0,Lt=0,vn=0,ii=0,wn=0;if(vn=K,K=K+272|0,T=vn+256|0,qe=vn+240|0,Tn=vn,on=vn+224|0,Lt=vn+208|0,ke=vn+176|0,Re=vn+160|0,Pt=vn+192|0,rn=vn+144|0,en=vn+128|0,Un=vn+112|0,En=vn+96|0,Qn=vn+80|0,d[T>>2]=f,d[qe>>2]=d[A>>2],d[qe+4>>2]=d[A+4>>2],d[qe+8>>2]=d[A+8>>2],d[qe+12>>2]=d[A+12>>2],ap(qe,T,Tn),d[y>>2]=0,qe=_+p+((_|0)==5&1)|0,(qe|0)<=(p|0)){K=vn;return}U=d[T>>2]|0,I=on+4|0,q=ke+4|0,ie=p+5|0,pe=16880+(U<<2)|0,Ae=16960+(U<<2)|0,me=en+8|0,Ce=Un+8|0,Be=En+8|0,Xe=Lt+4|0,N=p;e:for(;;){M=Tn+(((N|0)%5|0)<<4)|0,d[Lt>>2]=d[M>>2],d[Lt+4>>2]=d[M+4>>2],d[Lt+8>>2]=d[M+8>>2],d[Lt+12>>2]=d[M+12>>2];do;while((Ou(Lt,U,0,1)|0)==2);if((N|0)>(p|0)&(Ss(f)|0)!=0){if(d[ke>>2]=d[Lt>>2],d[ke+4>>2]=d[Lt+4>>2],d[ke+8>>2]=d[Lt+8>>2],d[ke+12>>2]=d[Lt+12>>2],Du(I,Re),_=d[ke>>2]|0,T=d[17040+(_*80|0)+(d[on>>2]<<2)>>2]|0,d[ke>>2]=d[18640+(_*80|0)+(T*20|0)>>2],M=d[18640+(_*80|0)+(T*20|0)+16>>2]|0,(M|0)>0){A=0;do c1(q),A=A+1|0;while((A|0)<(M|0))}switch(M=18640+(_*80|0)+(T*20|0)+4|0,d[Pt>>2]=d[M>>2],d[Pt+4>>2]=d[M+4>>2],d[Pt+8>>2]=d[M+8>>2],Xc(Pt,(d[pe>>2]|0)*3|0),hs(q,Pt,q),Lr(q),Du(q,rn),ii=+(d[Ae>>2]|0),J[en>>3]=ii*3,J[me>>3]=0,wn=ii*-1.5,J[Un>>3]=wn,J[Ce>>3]=ii*2.598076211353316,J[En>>3]=wn,J[Be>>3]=ii*-2.598076211353316,d[17040+((d[ke>>2]|0)*80|0)+(d[Lt>>2]<<2)>>2]|0){case 1:{A=Un,_=en;break}case 3:{A=En,_=Un;break}case 2:{A=en,_=En;break}default:{A=12;break e}}xp(Re,rn,_,A,Qn),Bu(Qn,d[ke>>2]|0,U,1,y+8+(d[y>>2]<<4)|0),d[y>>2]=(d[y>>2]|0)+1}if((N|0)<(ie|0)&&(Du(Xe,ke),Bu(ke,d[Lt>>2]|0,U,1,y+8+(d[y>>2]<<4)|0),d[y>>2]=(d[y>>2]|0)+1),d[on>>2]=d[Lt>>2],d[on+4>>2]=d[Lt+4>>2],d[on+8>>2]=d[Lt+8>>2],d[on+12>>2]=d[Lt+12>>2],N=N+1|0,(N|0)>=(qe|0)){A=3;break}}if((A|0)==3){K=vn;return}else(A|0)==12&&Ut(26970,27017,572,27027)}function ap(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0;U=K,K=K+128|0,_=U+64|0,y=U,T=_,M=20240,N=T+60|0;do d[T>>2]=d[M>>2],T=T+4|0,M=M+4|0;while((T|0)<(N|0));T=y,M=20304,N=T+60|0;do d[T>>2]=d[M>>2],T=T+4|0,M=M+4|0;while((T|0)<(N|0));N=(Ss(d[f>>2]|0)|0)==0,_=N?_:y,y=A+4|0,h1(y),f1(y),Ss(d[f>>2]|0)|0&&(Lu(y),d[f>>2]=(d[f>>2]|0)+1),d[p>>2]=d[A>>2],f=p+4|0,hs(y,_,f),Lr(f),d[p+16>>2]=d[A>>2],f=p+20|0,hs(y,_+12|0,f),Lr(f),d[p+32>>2]=d[A>>2],f=p+36|0,hs(y,_+24|0,f),Lr(f),d[p+48>>2]=d[A>>2],f=p+52|0,hs(y,_+36|0,f),Lr(f),d[p+64>>2]=d[A>>2],p=p+68|0,hs(y,_+48|0,p),Lr(p),K=U}function Ou(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0;if(me=K,K=K+32|0,pe=me+12|0,N=me,Ae=A+4|0,ie=d[16960+(f<<2)>>2]|0,q=(_|0)!=0,ie=q?ie*3|0:ie,y=d[Ae>>2]|0,I=A+8|0,M=d[I>>2]|0,q){if(T=A+12|0,_=d[T>>2]|0,y=M+y+_|0,(y|0)==(ie|0))return Ae=1,K=me,Ae|0;U=T}else U=A+12|0,_=d[U>>2]|0,y=M+y+_|0;if((y|0)<=(ie|0))return Ae=0,K=me,Ae|0;do if((_|0)>0){if(_=d[A>>2]|0,(M|0)>0){T=18640+(_*80|0)+60|0,_=A;break}_=18640+(_*80|0)+40|0,p?(Nu(pe,ie,0,0),af(Ae,pe,N),EA(N),hs(N,pe,Ae),T=_,_=A):(T=_,_=A)}else T=18640+((d[A>>2]|0)*80|0)+20|0,_=A;while(!1);if(d[_>>2]=d[T>>2],y=T+16|0,(d[y>>2]|0)>0){_=0;do c1(Ae),_=_+1|0;while((_|0)<(d[y>>2]|0))}return A=T+4|0,d[pe>>2]=d[A>>2],d[pe+4>>2]=d[A+4>>2],d[pe+8>>2]=d[A+8>>2],f=d[16880+(f<<2)>>2]|0,Xc(pe,q?f*3|0:f),hs(Ae,pe,Ae),Lr(Ae),q?_=((d[I>>2]|0)+(d[Ae>>2]|0)+(d[U>>2]|0)|0)==(ie|0)?1:2:_=2,Ae=_,K=me,Ae|0}function m1(A,f){A=A|0,f=f|0;var p=0;do p=Ou(A,f,0,1)|0;while((p|0)==2);return p|0}function RA(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0,Re=0,Pt=0,rn=0,en=0,Un=0,En=0,Qn=0,Tn=0;if(En=K,K=K+240|0,T=En+224|0,Pt=En+208|0,rn=En,en=En+192|0,Un=En+176|0,Be=En+160|0,Xe=En+144|0,qe=En+128|0,ke=En+112|0,Re=En+96|0,d[T>>2]=f,d[Pt>>2]=d[A>>2],d[Pt+4>>2]=d[A+4>>2],d[Pt+8>>2]=d[A+8>>2],d[Pt+12>>2]=d[A+12>>2],op(Pt,T,rn),d[y>>2]=0,Ce=_+p+((_|0)==6&1)|0,(Ce|0)<=(p|0)){K=En;return}U=d[T>>2]|0,I=p+6|0,q=16960+(U<<2)|0,ie=Xe+8|0,pe=qe+8|0,Ae=ke+8|0,me=en+4|0,M=0,N=p,_=-1;e:for(;;){if(T=(N|0)%6|0,A=rn+(T<<4)|0,d[en>>2]=d[A>>2],d[en+4>>2]=d[A+4>>2],d[en+8>>2]=d[A+8>>2],d[en+12>>2]=d[A+12>>2],A=M,M=Ou(en,U,0,1)|0,(N|0)>(p|0)&(Ss(f)|0)!=0&&(A|0)!=1&&(d[en>>2]|0)!=(_|0)){switch(Du(rn+(((T+5|0)%6|0)<<4)+4|0,Un),Du(rn+(T<<4)+4|0,Be),Qn=+(d[q>>2]|0),J[Xe>>3]=Qn*3,J[ie>>3]=0,Tn=Qn*-1.5,J[qe>>3]=Tn,J[pe>>3]=Qn*2.598076211353316,J[ke>>3]=Tn,J[Ae>>3]=Qn*-2.598076211353316,T=d[Pt>>2]|0,d[17040+(T*80|0)+(((_|0)==(T|0)?d[en>>2]|0:_)<<2)>>2]|0){case 1:{A=qe,_=Xe;break}case 3:{A=ke,_=qe;break}case 2:{A=Xe,_=ke;break}default:{A=8;break e}}xp(Un,Be,_,A,Re),!(bp(Un,Re)|0)&&!(bp(Be,Re)|0)&&(Bu(Re,d[Pt>>2]|0,U,1,y+8+(d[y>>2]<<4)|0),d[y>>2]=(d[y>>2]|0)+1)}if((N|0)<(I|0)&&(Du(me,Un),Bu(Un,d[en>>2]|0,U,1,y+8+(d[y>>2]<<4)|0),d[y>>2]=(d[y>>2]|0)+1),N=N+1|0,(N|0)>=(Ce|0)){A=3;break}else _=d[en>>2]|0}if((A|0)==3){K=En;return}else(A|0)==8&&Ut(27054,27017,737,27099)}function op(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0;U=K,K=K+160|0,_=U+80|0,y=U,T=_,M=20368,N=T+72|0;do d[T>>2]=d[M>>2],T=T+4|0,M=M+4|0;while((T|0)<(N|0));T=y,M=20448,N=T+72|0;do d[T>>2]=d[M>>2],T=T+4|0,M=M+4|0;while((T|0)<(N|0));N=(Ss(d[f>>2]|0)|0)==0,_=N?_:y,y=A+4|0,h1(y),f1(y),Ss(d[f>>2]|0)|0&&(Lu(y),d[f>>2]=(d[f>>2]|0)+1),d[p>>2]=d[A>>2],f=p+4|0,hs(y,_,f),Lr(f),d[p+16>>2]=d[A>>2],f=p+20|0,hs(y,_+12|0,f),Lr(f),d[p+32>>2]=d[A>>2],f=p+36|0,hs(y,_+24|0,f),Lr(f),d[p+48>>2]=d[A>>2],f=p+52|0,hs(y,_+36|0,f),Lr(f),d[p+64>>2]=d[A>>2],f=p+68|0,hs(y,_+48|0,f),Lr(f),d[p+80>>2]=d[A>>2],p=p+84|0,hs(y,_+60|0,p),Lr(p),K=U}function Qc(A,f){return A=A|0,f=f|0,f=bt(A|0,f|0,52)|0,Z()|0,f&15|0}function g1(A,f){return A=A|0,f=f|0,f=bt(A|0,f|0,45)|0,Z()|0,f&127|0}function bx(A,f,p,_){return A=A|0,f=f|0,p=p|0,_=_|0,(p+-1|0)>>>0>14?(_=4,_|0):(p=bt(A|0,f|0,(15-p|0)*3|0)|0,Z()|0,d[_>>2]=p&7,_=0,_|0)}function Sx(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0;if(A>>>0>15)return _=4,_|0;if(f>>>0>121)return _=17,_|0;M=Nt(A|0,0,52)|0,y=Z()|0,N=Nt(f|0,0,45)|0,y=y|(Z()|0)|134225919;e:do if((A|0)>=1){for(N=1,M=(st[20528+f>>0]|0)!=0,T=-1;;){if(f=d[p+(N+-1<<2)>>2]|0,f>>>0>6){y=18,f=10;break}if(!((f|0)==0|M^1))if((f|0)==1){y=19,f=10;break}else M=0;if(I=(15-N|0)*3|0,U=Nt(7,0,I|0)|0,y=y&~(Z()|0),f=Nt(f|0,((f|0)<0)<<31>>31|0,I|0)|0,T=f|T&~U,y=Z()|0|y,(N|0)<(A|0))N=N+1|0;else break e}if((f|0)==10)return y|0}else T=-1;while(!1);return I=_,d[I>>2]=T,d[I+4>>2]=y,I=0,I|0}function NA(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0;return!(!0&(f&-16777216|0)==134217728)||(_=bt(A|0,f|0,52)|0,Z()|0,_=_&15,p=bt(A|0,f|0,45)|0,Z()|0,p=p&127,p>>>0>121)?(A=0,A|0):(M=(_^15)*3|0,y=bt(A|0,f|0,M|0)|0,M=Nt(y|0,Z()|0,M|0)|0,y=Z()|0,T=Ur(-1227133514,-1171,M|0,y|0)|0,!((M&613566756&T|0)==0&(y&4681&(Z()|0)|0)==0)||(M=(_*3|0)+19|0,T=Nt(~A|0,~f|0,M|0)|0,M=bt(T|0,Z()|0,M|0)|0,!((_|0)==15|(M|0)==0&(Z()|0)==0))?(M=0,M|0):!(st[20528+p>>0]|0)||(f=f&8191,(A|0)==0&(f|0)==0)?(M=1,M|0):(M=ff(A|0,f|0)|0,Z()|0,((63-M|0)%3|0|0)!=0|0))}function v1(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0;return!0&(f&-16777216|0)==134217728&&(_=bt(A|0,f|0,52)|0,Z()|0,_=_&15,p=bt(A|0,f|0,45)|0,Z()|0,p=p&127,p>>>0<=121)&&(M=(_^15)*3|0,y=bt(A|0,f|0,M|0)|0,M=Nt(y|0,Z()|0,M|0)|0,y=Z()|0,T=Ur(-1227133514,-1171,M|0,y|0)|0,(M&613566756&T|0)==0&(y&4681&(Z()|0)|0)==0)&&(M=(_*3|0)+19|0,T=Nt(~A|0,~f|0,M|0)|0,M=bt(T|0,Z()|0,M|0)|0,(_|0)==15|(M|0)==0&(Z()|0)==0)&&(!(st[20528+p>>0]|0)||(p=f&8191,(A|0)==0&(p|0)==0)||(M=ff(A|0,p|0)|0,Z()|0,(63-M|0)%3|0|0))||p1(A,f)|0?(M=1,M|0):(M=(ul(A,f)|0)!=0&1,M|0)}function Iu(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0;if(y=Nt(f|0,0,52)|0,T=Z()|0,p=Nt(p|0,0,45)|0,p=T|(Z()|0)|134225919,(f|0)<1){T=-1,_=p,f=A,d[f>>2]=T,A=A+4|0,d[A>>2]=_;return}for(T=1,y=-1;M=(15-T|0)*3|0,N=Nt(7,0,M|0)|0,p=p&~(Z()|0),M=Nt(_|0,0,M|0)|0,y=y&~N|M,p=p|(Z()|0),(T|0)!=(f|0);)T=T+1|0;N=A,M=N,d[M>>2]=y,N=N+4|0,d[N>>2]=p}function Fu(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0;if(T=bt(A|0,f|0,52)|0,Z()|0,T=T&15,p>>>0>15)return _=4,_|0;if((T|0)<(p|0))return _=12,_|0;if((T|0)==(p|0))return d[_>>2]=A,d[_+4>>2]=f,_=0,_|0;if(y=Nt(p|0,0,52)|0,y=y|A,A=Z()|0|f&-15728641,(T|0)>(p|0))do f=Nt(7,0,(14-p|0)*3|0)|0,p=p+1|0,y=f|y,A=Z()|0|A;while((p|0)<(T|0));return d[_>>2]=y,d[_+4>>2]=A,_=0,_|0}function lf(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0;if(T=bt(A|0,f|0,52)|0,Z()|0,T=T&15,!((p|0)<16&(T|0)<=(p|0)))return _=4,_|0;y=p-T|0,p=bt(A|0,f|0,45)|0,Z()|0;e:do if(!(Bi(p&127)|0))p=Bo(7,0,y,((y|0)<0)<<31>>31)|0,y=Z()|0;else{t:do if(T|0){for(p=1;M=Nt(7,0,(15-p|0)*3|0)|0,!!((M&A|0)==0&((Z()|0)&f|0)==0);)if(p>>>0>>0)p=p+1|0;else break t;p=Bo(7,0,y,((y|0)<0)<<31>>31)|0,y=Z()|0;break e}while(!1);p=Bo(7,0,y,((y|0)<0)<<31>>31)|0,p=fr(p|0,Z()|0,5,0)|0,p=Yt(p|0,Z()|0,-5,-1)|0,p=ko(p|0,Z()|0,6,0)|0,p=Yt(p|0,Z()|0,1,0)|0,y=Z()|0}while(!1);return M=_,d[M>>2]=p,d[M+4>>2]=y,M=0,M|0}function Ci(A,f){A=A|0,f=f|0;var p=0,_=0,y=0;if(y=bt(A|0,f|0,45)|0,Z()|0,!(Bi(y&127)|0))return y=0,y|0;y=bt(A|0,f|0,52)|0,Z()|0,y=y&15;e:do if(!y)p=0;else for(_=1;;){if(p=bt(A|0,f|0,(15-_|0)*3|0)|0,Z()|0,p=p&7,p|0)break e;if(_>>>0>>0)_=_+1|0;else{p=0;break}}while(!1);return y=(p|0)==0&1,y|0}function _1(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0;if(M=K,K=K+16|0,T=M,sl(T,A,f,p),f=T,A=d[f>>2]|0,f=d[f+4>>2]|0,(A|0)==0&(f|0)==0)return K=M,0;y=0,p=0;do N=_+(y<<3)|0,d[N>>2]=A,d[N+4>>2]=f,y=Yt(y|0,p|0,1,0)|0,p=Z()|0,uf(T),N=T,A=d[N>>2]|0,f=d[N+4>>2]|0;while(!((A|0)==0&(f|0)==0));return K=M,0}function lp(A,f,p,_){return A=A|0,f=f|0,p=p|0,_=_|0,(_|0)<(p|0)?(p=f,_=A,ht(p|0),_|0):(p=Nt(-1,-1,((_-p|0)*3|0)+3|0)|0,_=Nt(~p|0,~(Z()|0)|0,(15-_|0)*3|0)|0,p=~(Z()|0)&f,_=~_&A,ht(p|0),_|0)}function DA(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0;return y=bt(A|0,f|0,52)|0,Z()|0,y=y&15,(p|0)<16&(y|0)<=(p|0)?((y|0)<(p|0)&&(y=Nt(-1,-1,((p+-1-y|0)*3|0)+3|0)|0,y=Nt(~y|0,~(Z()|0)|0,(15-p|0)*3|0)|0,f=~(Z()|0)&f,A=~y&A),y=Nt(p|0,0,52)|0,p=f&-15728641|(Z()|0),d[_>>2]=A|y,d[_+4>>2]=p,_=0,_|0):(_=4,_|0)}function up(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0,Re=0,Pt=0,rn=0,en=0,Un=0,En=0,Qn=0,Tn=0,on=0,Lt=0;if((p|0)==0&(_|0)==0)return Lt=0,Lt|0;if(y=A,T=d[y>>2]|0,y=d[y+4>>2]|0,!0&(y&15728640|0)==0){if(!((_|0)>0|(_|0)==0&p>>>0>0)||(Lt=f,d[Lt>>2]=T,d[Lt+4>>2]=y,(p|0)==1&(_|0)==0))return Lt=0,Lt|0;y=1,T=0;do Tn=A+(y<<3)|0,on=d[Tn+4>>2]|0,Lt=f+(y<<3)|0,d[Lt>>2]=d[Tn>>2],d[Lt+4>>2]=on,y=Yt(y|0,T|0,1,0)|0,T=Z()|0;while((T|0)<(_|0)|(T|0)==(_|0)&y>>>0

>>0);return y=0,y|0}if(Qn=p<<3,on=Fo(Qn)|0,!on)return Lt=13,Lt|0;if(Gl(on|0,A|0,Qn|0)|0,Tn=Ks(p,8)|0,!Tn)return An(on),Lt=13,Lt|0;e:for(;;){y=on,I=d[y>>2]|0,y=d[y+4>>2]|0,Un=bt(I|0,y|0,52)|0,Z()|0,Un=Un&15,En=Un+-1|0,en=(Un|0)!=0,rn=(_|0)>0|(_|0)==0&p>>>0>0;t:do if(en&rn){if(qe=Nt(En|0,0,52)|0,ke=Z()|0,En>>>0>15){if(!((I|0)==0&(y|0)==0)){Lt=16;break e}for(T=0,A=0;;){if(T=Yt(T|0,A|0,1,0)|0,A=Z()|0,!((A|0)<(_|0)|(A|0)==(_|0)&T>>>0

>>0))break t;if(M=on+(T<<3)|0,Pt=d[M>>2]|0,M=d[M+4>>2]|0,!((Pt|0)==0&(M|0)==0)){y=M,Lt=16;break e}}}for(N=I,A=y,T=0,M=0;;){if(!((N|0)==0&(A|0)==0)){if(!(!0&(A&117440512|0)==0)){Lt=21;break e}if(q=bt(N|0,A|0,52)|0,Z()|0,q=q&15,(q|0)<(En|0)){y=12,Lt=27;break e}if((q|0)!=(En|0)&&(N=N|qe,A=A&-15728641|ke,q>>>0>=Un>>>0)){U=En;do Pt=Nt(7,0,(14-U|0)*3|0)|0,U=U+1|0,N=Pt|N,A=Z()|0|A;while(U>>>0>>0)}if(pe=ec(N|0,A|0,p|0,_|0)|0,Ae=Z()|0,U=Tn+(pe<<3)|0,q=U,ie=d[q>>2]|0,q=d[q+4>>2]|0,!((ie|0)==0&(q|0)==0)){Be=0,Xe=0;do{if((Be|0)>(_|0)|(Be|0)==(_|0)&Xe>>>0>p>>>0){Lt=31;break e}if((ie|0)==(N|0)&(q&-117440513|0)==(A|0)){me=bt(ie|0,q|0,56)|0,Z()|0,me=me&7,Ce=me+1|0,Pt=bt(ie|0,q|0,45)|0,Z()|0;n:do if(!(Bi(Pt&127)|0))q=7;else{if(ie=bt(ie|0,q|0,52)|0,Z()|0,ie=ie&15,!ie){q=6;break}for(q=1;;){if(Pt=Nt(7,0,(15-q|0)*3|0)|0,!((Pt&N|0)==0&((Z()|0)&A|0)==0)){q=7;break n}if(q>>>0>>0)q=q+1|0;else{q=6;break}}}while(!1);if((me+2|0)>>>0>q>>>0){Lt=41;break e}Pt=Nt(Ce|0,0,56)|0,A=Z()|0|A&-117440513,Re=U,d[Re>>2]=0,d[Re+4>>2]=0,N=Pt|N}else pe=Yt(pe|0,Ae|0,1,0)|0,pe=th(pe|0,Z()|0,p|0,_|0)|0,Ae=Z()|0;Xe=Yt(Xe|0,Be|0,1,0)|0,Be=Z()|0,U=Tn+(pe<<3)|0,q=U,ie=d[q>>2]|0,q=d[q+4>>2]|0}while(!((ie|0)==0&(q|0)==0))}Pt=U,d[Pt>>2]=N,d[Pt+4>>2]=A}if(T=Yt(T|0,M|0,1,0)|0,M=Z()|0,!((M|0)<(_|0)|(M|0)==(_|0)&T>>>0

>>0))break t;A=on+(T<<3)|0,N=d[A>>2]|0,A=d[A+4>>2]|0}}while(!1);if(Pt=Yt(p|0,_|0,5,0)|0,Re=Z()|0,Re>>>0<0|(Re|0)==0&Pt>>>0<11){Lt=85;break}if(Pt=ko(p|0,_|0,6,0)|0,Z()|0,Pt=Ks(Pt,8)|0,!Pt){Lt=48;break}do if(rn){for(Ce=0,A=0,me=0,Be=0;;){if(q=Tn+(Ce<<3)|0,M=q,T=d[M>>2]|0,M=d[M+4>>2]|0,(T|0)==0&(M|0)==0)Re=me;else{ie=bt(T|0,M|0,56)|0,Z()|0,ie=ie&7,N=ie+1|0,pe=M&-117440513,Re=bt(T|0,M|0,45)|0,Z()|0;t:do if(Bi(Re&127)|0){if(Ae=bt(T|0,M|0,52)|0,Z()|0,Ae=Ae&15,Ae|0)for(U=1;;){if(Re=Nt(7,0,(15-U|0)*3|0)|0,!((T&Re|0)==0&(pe&(Z()|0)|0)==0))break t;if(U>>>0>>0)U=U+1|0;else break}M=Nt(N|0,0,56)|0,T=M|T,M=Z()|0|pe,N=q,d[N>>2]=T,d[N+4>>2]=M,N=ie+2|0}while(!1);(N|0)==7?(Re=Pt+(A<<3)|0,d[Re>>2]=T,d[Re+4>>2]=M&-117440513,A=Yt(A|0,me|0,1,0)|0,Re=Z()|0):Re=me}if(Ce=Yt(Ce|0,Be|0,1,0)|0,Be=Z()|0,(Be|0)<(_|0)|(Be|0)==(_|0)&Ce>>>0

>>0)me=Re;else break}if(rn){if(Xe=En>>>0>15,qe=Nt(En|0,0,52)|0,ke=Z()|0,!en){for(T=0,U=0,N=0,M=0;(I|0)==0&(y|0)==0||(En=f+(T<<3)|0,d[En>>2]=I,d[En+4>>2]=y,T=Yt(T|0,U|0,1,0)|0,U=Z()|0),N=Yt(N|0,M|0,1,0)|0,M=Z()|0,!!((M|0)<(_|0)|(M|0)==(_|0)&N>>>0

>>0);)y=on+(N<<3)|0,I=d[y>>2]|0,y=d[y+4>>2]|0;y=Re;break}for(T=0,U=0,M=0,N=0;;){do if(!((I|0)==0&(y|0)==0)){if(Ae=bt(I|0,y|0,52)|0,Z()|0,Ae=Ae&15,Xe|(Ae|0)<(En|0)){Lt=80;break e}if((Ae|0)!=(En|0)){if(q=I|qe,ie=y&-15728641|ke,Ae>>>0>=Un>>>0){pe=En;do en=Nt(7,0,(14-pe|0)*3|0)|0,pe=pe+1|0,q=en|q,ie=Z()|0|ie;while(pe>>>0>>0)}}else q=I,ie=y;me=ec(q|0,ie|0,p|0,_|0)|0,pe=0,Ae=0,Be=Z()|0;do{if((pe|0)>(_|0)|(pe|0)==(_|0)&Ae>>>0>p>>>0){Lt=81;break e}if(en=Tn+(me<<3)|0,Ce=d[en+4>>2]|0,(Ce&-117440513|0)==(ie|0)&&(d[en>>2]|0)==(q|0)){Lt=65;break}en=Yt(me|0,Be|0,1,0)|0,me=th(en|0,Z()|0,p|0,_|0)|0,Be=Z()|0,Ae=Yt(Ae|0,pe|0,1,0)|0,pe=Z()|0,en=Tn+(me<<3)|0}while(!((d[en>>2]|0)==(q|0)&&(d[en+4>>2]|0)==(ie|0)));if((Lt|0)==65&&(Lt=0,!0&(Ce&117440512|0)==100663296))break;en=f+(T<<3)|0,d[en>>2]=I,d[en+4>>2]=y,T=Yt(T|0,U|0,1,0)|0,U=Z()|0}while(!1);if(M=Yt(M|0,N|0,1,0)|0,N=Z()|0,!((N|0)<(_|0)|(N|0)==(_|0)&M>>>0

>>0))break;y=on+(M<<3)|0,I=d[y>>2]|0,y=d[y+4>>2]|0}y=Re}else T=0,y=Re}else T=0,A=0,y=0;while(!1);if(uo(Tn|0,0,Qn|0)|0,Gl(on|0,Pt|0,A<<3|0)|0,An(Pt),(A|0)==0&(y|0)==0){Lt=89;break}else f=f+(T<<3)|0,_=y,p=A}if((Lt|0)==16)!0&(y&117440512|0)==0?(y=4,Lt=27):Lt=21;else if((Lt|0)==31)Ut(27795,27122,620,27132);else{if((Lt|0)==41)return An(on),An(Tn),Lt=10,Lt|0;if((Lt|0)==48)return An(on),An(Tn),Lt=13,Lt|0;(Lt|0)==80?Ut(27795,27122,711,27132):(Lt|0)==81?Ut(27795,27122,723,27132):(Lt|0)==85&&(Gl(f|0,on|0,p<<3|0)|0,Lt=89)}return(Lt|0)==21?(An(on),An(Tn),Lt=5,Lt|0):(Lt|0)==27?(An(on),An(Tn),Lt=y,Lt|0):(Lt|0)==89?(An(on),An(Tn),Lt=0,Lt|0):0}function y1(A,f,p,_,y,T,M){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0,T=T|0,M=M|0;var N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0;if(Ce=K,K=K+16|0,me=Ce,!((p|0)>0|(p|0)==0&f>>>0>0))return me=0,K=Ce,me|0;if((M|0)>=16)return me=12,K=Ce,me|0;pe=0,Ae=0,ie=0,N=0;e:for(;;){if(I=A+(pe<<3)|0,U=d[I>>2]|0,I=d[I+4>>2]|0,q=bt(U|0,I|0,52)|0,Z()|0,(q&15|0)>(M|0)){N=12,U=11;break}if(sl(me,U,I,M),q=me,I=d[q>>2]|0,q=d[q+4>>2]|0,(I|0)==0&(q|0)==0)U=ie;else{U=ie;do{if(!((N|0)<(T|0)|(N|0)==(T|0)&U>>>0>>0)){U=10;break e}ie=_+(U<<3)|0,d[ie>>2]=I,d[ie+4>>2]=q,U=Yt(U|0,N|0,1,0)|0,N=Z()|0,uf(me),ie=me,I=d[ie>>2]|0,q=d[ie+4>>2]|0}while(!((I|0)==0&(q|0)==0))}if(pe=Yt(pe|0,Ae|0,1,0)|0,Ae=Z()|0,(Ae|0)<(p|0)|(Ae|0)==(p|0)&pe>>>0>>0)ie=U;else{N=0,U=11;break}}return(U|0)==10?(me=14,K=Ce,me|0):(U|0)==11?(K=Ce,N|0):0}function x1(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0;pe=K,K=K+16|0,ie=pe;e:do if((p|0)>0|(p|0)==0&f>>>0>0){for(I=0,M=0,T=0,q=0;;){if(U=A+(I<<3)|0,N=d[U>>2]|0,U=d[U+4>>2]|0,!((N|0)==0&(U|0)==0)&&(U=(lf(N,U,_,ie)|0)==0,N=ie,M=Yt(d[N>>2]|0,d[N+4>>2]|0,M|0,T|0)|0,T=Z()|0,!U)){T=12;break}if(I=Yt(I|0,q|0,1,0)|0,q=Z()|0,!((q|0)<(p|0)|(q|0)==(p|0)&I>>>0>>0))break e}return K=pe,T|0}else M=0,T=0;while(!1);return d[y>>2]=M,d[y+4>>2]=T,y=0,K=pe,y|0}function b1(A,f){return A=A|0,f=f|0,f=bt(A|0,f|0,52)|0,Z()|0,f&1|0}function $s(A,f){A=A|0,f=f|0;var p=0,_=0,y=0;if(y=bt(A|0,f|0,52)|0,Z()|0,y=y&15,!y)return y=0,y|0;for(_=1;;){if(p=bt(A|0,f|0,(15-_|0)*3|0)|0,Z()|0,p=p&7,p|0){_=5;break}if(_>>>0>>0)_=_+1|0;else{p=0,_=5;break}}return(_|0)==5?p|0:0}function cp(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0,U=0;if(U=bt(A|0,f|0,52)|0,Z()|0,U=U&15,!U)return N=f,U=A,ht(N|0),U|0;for(N=1,p=0;;){T=(15-N|0)*3|0,_=Nt(7,0,T|0)|0,y=Z()|0,M=bt(A|0,f|0,T|0)|0,Z()|0,T=Nt(Uu(M&7)|0,0,T|0)|0,M=Z()|0,A=T|A&~_,f=M|f&~y;e:do if(!p)if((T&_|0)==0&(M&y|0)==0)p=0;else if(_=bt(A|0,f|0,52)|0,Z()|0,_=_&15,!_)p=1;else{p=1;t:for(;;){switch(M=bt(A|0,f|0,(15-p|0)*3|0)|0,Z()|0,M&7){case 1:break t;case 0:break;default:{p=1;break e}}if(p>>>0<_>>>0)p=p+1|0;else{p=1;break e}}for(p=1;;)if(M=(15-p|0)*3|0,y=bt(A|0,f|0,M|0)|0,Z()|0,T=Nt(7,0,M|0)|0,f=f&~(Z()|0),M=Nt(Uu(y&7)|0,0,M|0)|0,A=A&~T|M,f=f|(Z()|0),p>>>0<_>>>0)p=p+1|0;else{p=1;break}}while(!1);if(N>>>0>>0)N=N+1|0;else break}return ht(f|0),A|0}function ku(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0;if(_=bt(A|0,f|0,52)|0,Z()|0,_=_&15,!_)return p=f,_=A,ht(p|0),_|0;for(p=1;T=(15-p|0)*3|0,M=bt(A|0,f|0,T|0)|0,Z()|0,y=Nt(7,0,T|0)|0,f=f&~(Z()|0),T=Nt(Uu(M&7)|0,0,T|0)|0,A=T|A&~y,f=Z()|0|f,p>>>0<_>>>0;)p=p+1|0;return ht(f|0),A|0}function Tx(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0,U=0;if(U=bt(A|0,f|0,52)|0,Z()|0,U=U&15,!U)return N=f,U=A,ht(N|0),U|0;for(N=1,p=0;;){T=(15-N|0)*3|0,_=Nt(7,0,T|0)|0,y=Z()|0,M=bt(A|0,f|0,T|0)|0,Z()|0,T=Nt(rl(M&7)|0,0,T|0)|0,M=Z()|0,A=T|A&~_,f=M|f&~y;e:do if(!p)if((T&_|0)==0&(M&y|0)==0)p=0;else if(_=bt(A|0,f|0,52)|0,Z()|0,_=_&15,!_)p=1;else{p=1;t:for(;;){switch(M=bt(A|0,f|0,(15-p|0)*3|0)|0,Z()|0,M&7){case 1:break t;case 0:break;default:{p=1;break e}}if(p>>>0<_>>>0)p=p+1|0;else{p=1;break e}}for(p=1;;)if(y=(15-p|0)*3|0,T=Nt(7,0,y|0)|0,M=f&~(Z()|0),f=bt(A|0,f|0,y|0)|0,Z()|0,f=Nt(rl(f&7)|0,0,y|0)|0,A=A&~T|f,f=M|(Z()|0),p>>>0<_>>>0)p=p+1|0;else{p=1;break}}while(!1);if(N>>>0>>0)N=N+1|0;else break}return ht(f|0),A|0}function hp(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0;if(_=bt(A|0,f|0,52)|0,Z()|0,_=_&15,!_)return p=f,_=A,ht(p|0),_|0;for(p=1;M=(15-p|0)*3|0,T=Nt(7,0,M|0)|0,y=f&~(Z()|0),f=bt(A|0,f|0,M|0)|0,Z()|0,f=Nt(rl(f&7)|0,0,M|0)|0,A=f|A&~T,f=Z()|0|y,p>>>0<_>>>0;)p=p+1|0;return ht(f|0),A|0}function Aa(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0;if(U=K,K=K+64|0,N=U+40|0,_=U+24|0,y=U+12|0,T=U,Nt(f|0,0,52)|0,p=Z()|0|134225919,!f)return(d[A+4>>2]|0)>2||(d[A+8>>2]|0)>2||(d[A+12>>2]|0)>2?(M=0,N=0,ht(M|0),K=U,N|0):(Nt(Po(A)|0,0,45)|0,M=Z()|0|p,N=-1,ht(M|0),K=U,N|0);if(d[N>>2]=d[A>>2],d[N+4>>2]=d[A+4>>2],d[N+8>>2]=d[A+8>>2],d[N+12>>2]=d[A+12>>2],M=N+4|0,(f|0)>0)for(A=-1;d[_>>2]=d[M>>2],d[_+4>>2]=d[M+4>>2],d[_+8>>2]=d[M+8>>2],f&1?(hx(M),d[y>>2]=d[M>>2],d[y+4>>2]=d[M+4>>2],d[y+8>>2]=d[M+8>>2],Yc(y)):(l1(M),d[y>>2]=d[M>>2],d[y+4>>2]=d[M+4>>2],d[y+8>>2]=d[M+8>>2],Lu(y)),af(_,y,T),Lr(T),q=(15-f|0)*3|0,I=Nt(7,0,q|0)|0,p=p&~(Z()|0),q=Nt(Pu(T)|0,0,q|0)|0,A=q|A&~I,p=Z()|0|p,(f|0)>1;)f=f+-1|0;else A=-1;e:do if((d[M>>2]|0)<=2&&(d[N+8>>2]|0)<=2&&(d[N+12>>2]|0)<=2){if(_=Po(N)|0,f=Nt(_|0,0,45)|0,f=f|A,A=Z()|0|p&-1040385,T=ep(N)|0,!(Bi(_)|0)){if((T|0)<=0)break;for(y=0;;){if(_=bt(f|0,A|0,52)|0,Z()|0,_=_&15,_)for(p=1;q=(15-p|0)*3|0,N=bt(f|0,A|0,q|0)|0,Z()|0,I=Nt(7,0,q|0)|0,A=A&~(Z()|0),q=Nt(Uu(N&7)|0,0,q|0)|0,f=f&~I|q,A=A|(Z()|0),p>>>0<_>>>0;)p=p+1|0;if(y=y+1|0,(y|0)==(T|0))break e}}y=bt(f|0,A|0,52)|0,Z()|0,y=y&15;t:do if(y){p=1;n:for(;;){switch(q=bt(f|0,A|0,(15-p|0)*3|0)|0,Z()|0,q&7){case 1:break n;case 0:break;default:break t}if(p>>>0>>0)p=p+1|0;else break t}if(Ru(_,d[N>>2]|0)|0)for(p=1;N=(15-p|0)*3|0,I=Nt(7,0,N|0)|0,q=A&~(Z()|0),A=bt(f|0,A|0,N|0)|0,Z()|0,A=Nt(rl(A&7)|0,0,N|0)|0,f=f&~I|A,A=q|(Z()|0),p>>>0>>0;)p=p+1|0;else for(p=1;q=(15-p|0)*3|0,N=bt(f|0,A|0,q|0)|0,Z()|0,I=Nt(7,0,q|0)|0,A=A&~(Z()|0),q=Nt(Uu(N&7)|0,0,q|0)|0,f=f&~I|q,A=A|(Z()|0),p>>>0>>0;)p=p+1|0}while(!1);if((T|0)>0){p=0;do f=cp(f,A)|0,A=Z()|0,p=p+1|0;while((p|0)!=(T|0))}}else f=0,A=0;while(!1);return I=A,q=f,ht(I|0),K=U,q|0}function Ss(A){return A=A|0,(A|0)%2|0|0}function PA(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0;return y=K,K=K+16|0,_=y,f>>>0>15?(_=4,K=y,_|0):(d[A+4>>2]&2146435072|0)==2146435072||(d[A+8+4>>2]&2146435072|0)==2146435072?(_=3,K=y,_|0):(_x(A,f,_),f=Aa(_,f)|0,_=Z()|0,d[p>>2]=f,d[p+4>>2]=_,(f|0)==0&(_|0)==0&&Ut(27795,27122,1050,27145),_=0,K=y,_|0)}function LA(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0;if(y=p+4|0,T=bt(A|0,f|0,52)|0,Z()|0,T=T&15,M=bt(A|0,f|0,45)|0,Z()|0,_=(T|0)==0,Bi(M&127)|0){if(_)return M=1,M|0;_=1}else{if(_)return M=0,M|0;(d[y>>2]|0)==0&&(d[p+8>>2]|0)==0?_=(d[p+12>>2]|0)!=0&1:_=1}for(p=1;p&1?Yc(y):Lu(y),M=bt(A|0,f|0,(15-p|0)*3|0)|0,Z()|0,u1(y,M&7),p>>>0>>0;)p=p+1|0;return _|0}function zu(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0;if(q=K,K=K+16|0,U=q,I=bt(A|0,f|0,45)|0,Z()|0,I=I&127,I>>>0>121)return d[p>>2]=0,d[p+4>>2]=0,d[p+8>>2]=0,d[p+12>>2]=0,I=5,K=q,I|0;e:do if((Bi(I)|0)!=0&&(T=bt(A|0,f|0,52)|0,Z()|0,T=T&15,(T|0)!=0)){_=1;t:for(;;){switch(N=bt(A|0,f|0,(15-_|0)*3|0)|0,Z()|0,N&7){case 5:break t;case 0:break;default:{_=f;break e}}if(_>>>0>>0)_=_+1|0;else{_=f;break e}}for(y=1,_=f;f=(15-y|0)*3|0,M=Nt(7,0,f|0)|0,N=_&~(Z()|0),_=bt(A|0,_|0,f|0)|0,Z()|0,_=Nt(rl(_&7)|0,0,f|0)|0,A=A&~M|_,_=N|(Z()|0),y>>>0>>0;)y=y+1|0}else _=f;while(!1);if(N=7696+(I*28|0)|0,d[p>>2]=d[N>>2],d[p+4>>2]=d[N+4>>2],d[p+8>>2]=d[N+8>>2],d[p+12>>2]=d[N+12>>2],!(LA(A,_,p)|0))return I=0,K=q,I|0;if(M=p+4|0,d[U>>2]=d[M>>2],d[U+4>>2]=d[M+4>>2],d[U+8>>2]=d[M+8>>2],T=bt(A|0,_|0,52)|0,Z()|0,N=T&15,T&1?(Lu(M),T=N+1|0):T=N,!(Bi(I)|0))_=0;else{e:do if(!N)_=0;else for(f=1;;){if(y=bt(A|0,_|0,(15-f|0)*3|0)|0,Z()|0,y=y&7,y|0){_=y;break e}if(f>>>0>>0)f=f+1|0;else{_=0;break}}while(!1);_=(_|0)==4&1}if(!(Ou(p,T,_,0)|0))(T|0)!=(N|0)&&(d[M>>2]=d[U>>2],d[M+4>>2]=d[U+4>>2],d[M+8>>2]=d[U+8>>2]);else{if(Bi(I)|0)do;while((Ou(p,T,0,0)|0)!=0);(T|0)!=(N|0)&&l1(M)}return I=0,K=q,I|0}function Ol(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0;return T=K,K=K+16|0,_=T,y=zu(A,f,_)|0,y|0?(K=T,y|0):(y=bt(A|0,f|0,52)|0,Z()|0,of(_,y&15,p),y=0,K=T,y|0)}function Il(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0;if(M=K,K=K+16|0,T=M,_=zu(A,f,T)|0,_|0)return T=_,K=M,T|0;_=bt(A|0,f|0,45)|0,Z()|0,_=(Bi(_&127)|0)==0,y=bt(A|0,f|0,52)|0,Z()|0,y=y&15;e:do if(!_){if(y|0)for(_=1;;){if(N=Nt(7,0,(15-_|0)*3|0)|0,!((N&A|0)==0&((Z()|0)&f|0)==0))break e;if(_>>>0>>0)_=_+1|0;else break}return sp(T,y,0,5,p),N=0,K=M,N|0}while(!1);return RA(T,y,0,6,p),N=0,K=M,N|0}function wx(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0;if(y=bt(A|0,f|0,45)|0,Z()|0,!(Bi(y&127)|0))return y=2,d[p>>2]=y,0;if(y=bt(A|0,f|0,52)|0,Z()|0,y=y&15,!y)return y=5,d[p>>2]=y,0;for(_=1;;){if(T=Nt(7,0,(15-_|0)*3|0)|0,!((T&A|0)==0&((Z()|0)&f|0)==0)){_=2,A=6;break}if(_>>>0>>0)_=_+1|0;else{_=5,A=6;break}}return(A|0)==6&&(d[p>>2]=_),0}function Gu(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0;ie=K,K=K+128|0,I=ie+112|0,T=ie+96|0,q=ie,y=bt(A|0,f|0,52)|0,Z()|0,N=y&15,d[I>>2]=N,M=bt(A|0,f|0,45)|0,Z()|0,M=M&127;e:do if(Bi(M)|0){if(N|0)for(_=1;;){if(U=Nt(7,0,(15-_|0)*3|0)|0,!((U&A|0)==0&((Z()|0)&f|0)==0)){y=0;break e}if(_>>>0>>0)_=_+1|0;else break}if(y&1)y=1;else return U=Nt(N+1|0,0,52)|0,q=Z()|0|f&-15728641,I=Nt(7,0,(14-N|0)*3|0)|0,q=Gu((U|A)&~I,q&~(Z()|0),p)|0,K=ie,q|0}else y=0;while(!1);if(_=zu(A,f,T)|0,!_){y?(ap(T,I,q),U=5):(op(T,I,q),U=6);e:do if(Bi(M)|0)if(!N)A=5;else for(_=1;;){if(M=Nt(7,0,(15-_|0)*3|0)|0,!((M&A|0)==0&((Z()|0)&f|0)==0)){A=2;break e}if(_>>>0>>0)_=_+1|0;else{A=5;break}}else A=2;while(!1);uo(p|0,-1,A<<2|0)|0;e:do if(y)for(T=0;;){if(M=q+(T<<4)|0,m1(M,d[I>>2]|0)|0,M=d[M>>2]|0,N=d[p>>2]|0,(N|0)==-1|(N|0)==(M|0))_=p;else{y=0;do{if(y=y+1|0,y>>>0>=A>>>0){_=1;break e}_=p+(y<<2)|0,N=d[_>>2]|0}while(!((N|0)==-1|(N|0)==(M|0)))}if(d[_>>2]=M,T=T+1|0,T>>>0>=U>>>0){_=0;break}}else for(T=0;;){if(M=q+(T<<4)|0,Ou(M,d[I>>2]|0,0,1)|0,M=d[M>>2]|0,N=d[p>>2]|0,(N|0)==-1|(N|0)==(M|0))_=p;else{y=0;do{if(y=y+1|0,y>>>0>=A>>>0){_=1;break e}_=p+(y<<2)|0,N=d[_>>2]|0}while(!((N|0)==-1|(N|0)==(M|0)))}if(d[_>>2]=M,T=T+1|0,T>>>0>=U>>>0){_=0;break}}while(!1)}return q=_,K=ie,q|0}function fp(){return 12}function qu(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0,U=0;if(A>>>0>15)return N=4,N|0;if(Nt(A|0,0,52)|0,N=Z()|0|134225919,!A){p=0,_=0;do Bi(_)|0&&(Nt(_|0,0,45)|0,M=N|(Z()|0),A=f+(p<<3)|0,d[A>>2]=-1,d[A+4>>2]=M,p=p+1|0),_=_+1|0;while((_|0)!=122);return p=0,p|0}p=0,M=0;do{if(Bi(M)|0){for(Nt(M|0,0,45)|0,_=1,y=-1,T=N|(Z()|0);U=Nt(7,0,(15-_|0)*3|0)|0,y=y&~U,T=T&~(Z()|0),(_|0)!=(A|0);)_=_+1|0;U=f+(p<<3)|0,d[U>>2]=y,d[U+4>>2]=T,p=p+1|0}M=M+1|0}while((M|0)!=122);return p=0,p|0}function Ap(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0;if(qe=K,K=K+16|0,Be=qe,Xe=bt(A|0,f|0,52)|0,Z()|0,Xe=Xe&15,p>>>0>15)return Xe=4,K=qe,Xe|0;if((Xe|0)<(p|0))return Xe=12,K=qe,Xe|0;if((Xe|0)!=(p|0))if(T=Nt(p|0,0,52)|0,T=T|A,N=Z()|0|f&-15728641,(Xe|0)>(p|0)){U=p;do Ce=Nt(7,0,(14-U|0)*3|0)|0,U=U+1|0,T=Ce|T,N=Z()|0|N;while((U|0)<(Xe|0));Ce=T}else Ce=T;else Ce=A,N=f;me=bt(Ce|0,N|0,45)|0,Z()|0;e:do if(Bi(me&127)|0){if(U=bt(Ce|0,N|0,52)|0,Z()|0,U=U&15,U|0)for(T=1;;){if(me=Nt(7,0,(15-T|0)*3|0)|0,!((me&Ce|0)==0&((Z()|0)&N|0)==0)){I=33;break e}if(T>>>0>>0)T=T+1|0;else break}if(me=_,d[me>>2]=0,d[me+4>>2]=0,(Xe|0)>(p|0)){for(me=f&-15728641,Ae=Xe;;){if(pe=Ae,Ae=Ae+-1|0,Ae>>>0>15|(Xe|0)<(Ae|0)){I=19;break}if((Xe|0)!=(Ae|0))if(T=Nt(Ae|0,0,52)|0,T=T|A,U=Z()|0|me,(Xe|0)<(pe|0))ie=T;else{I=Ae;do ie=Nt(7,0,(14-I|0)*3|0)|0,I=I+1|0,T=ie|T,U=Z()|0|U;while((I|0)<(Xe|0));ie=T}else ie=A,U=f;if(q=bt(ie|0,U|0,45)|0,Z()|0,!(Bi(q&127)|0))T=0;else{q=bt(ie|0,U|0,52)|0,Z()|0,q=q&15;t:do if(!q)T=0;else for(I=1;;){if(T=bt(ie|0,U|0,(15-I|0)*3|0)|0,Z()|0,T=T&7,T|0)break t;if(I>>>0>>0)I=I+1|0;else{T=0;break}}while(!1);T=(T|0)==0&1}if(U=bt(A|0,f|0,(15-pe|0)*3|0)|0,Z()|0,U=U&7,(U|0)==7){y=5,I=42;break}if(T=(T|0)!=0,(U|0)==1&T){y=5,I=42;break}if(ie=U+(((U|0)!=0&T)<<31>>31)|0,ie|0&&(I=Xe-pe|0,I=Bo(7,0,I,((I|0)<0)<<31>>31)|0,q=Z()|0,T?(T=fr(I|0,q|0,5,0)|0,T=Yt(T|0,Z()|0,-5,-1)|0,T=ko(T|0,Z()|0,6,0)|0,T=Yt(T|0,Z()|0,1,0)|0,U=Z()|0):(T=I,U=q),pe=ie+-1|0,pe=fr(I|0,q|0,pe|0,((pe|0)<0)<<31>>31|0)|0,pe=Yt(T|0,U|0,pe|0,Z()|0)|0,ie=Z()|0,q=_,q=Yt(pe|0,ie|0,d[q>>2]|0,d[q+4>>2]|0)|0,ie=Z()|0,pe=_,d[pe>>2]=q,d[pe+4>>2]=ie),(Ae|0)<=(p|0)){I=37;break}}if((I|0)==19)Ut(27795,27122,1367,27158);else if((I|0)==37){M=_,y=d[M+4>>2]|0,M=d[M>>2]|0;break}else if((I|0)==42)return K=qe,y|0}else y=0,M=0}else I=33;while(!1);e:do if((I|0)==33)if(me=_,d[me>>2]=0,d[me+4>>2]=0,(Xe|0)>(p|0)){for(T=Xe;;){if(y=bt(A|0,f|0,(15-T|0)*3|0)|0,Z()|0,y=y&7,(y|0)==7){y=5;break}if(M=Xe-T|0,M=Bo(7,0,M,((M|0)<0)<<31>>31)|0,y=fr(M|0,Z()|0,y|0,0)|0,M=Z()|0,me=_,M=Yt(d[me>>2]|0,d[me+4>>2]|0,y|0,M|0)|0,y=Z()|0,me=_,d[me>>2]=M,d[me+4>>2]=y,T=T+-1|0,(T|0)<=(p|0))break e}return K=qe,y|0}else y=0,M=0;while(!1);return lf(Ce,N,Xe,Be)|0&&Ut(27795,27122,1327,27173),Xe=Be,Be=d[Xe+4>>2]|0,((y|0)>-1|(y|0)==-1&M>>>0>4294967295)&((Be|0)>(y|0)|((Be|0)==(y|0)?(d[Xe>>2]|0)>>>0>M>>>0:0))?(Xe=0,K=qe,Xe|0):(Ut(27795,27122,1407,27158),0)}function S1(A,f,p,_,y,T){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0,T=T|0;var M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0;if(ie=K,K=K+16|0,M=ie,y>>>0>15)return T=4,K=ie,T|0;if(N=bt(p|0,_|0,52)|0,Z()|0,N=N&15,(N|0)>(y|0))return T=12,K=ie,T|0;if(lf(p,_,y,M)|0&&Ut(27795,27122,1327,27173),q=M,I=d[q+4>>2]|0,!(((f|0)>-1|(f|0)==-1&A>>>0>4294967295)&((I|0)>(f|0)|((I|0)==(f|0)?(d[q>>2]|0)>>>0>A>>>0:0))))return T=2,K=ie,T|0;q=y-N|0,y=Nt(y|0,0,52)|0,U=Z()|0|_&-15728641,I=T,d[I>>2]=y|p,d[I+4>>2]=U,I=bt(p|0,_|0,45)|0,Z()|0;e:do if(Bi(I&127)|0){if(N|0)for(M=1;;){if(I=Nt(7,0,(15-M|0)*3|0)|0,!((I&p|0)==0&((Z()|0)&_|0)==0))break e;if(M>>>0>>0)M=M+1|0;else break}if((q|0)<1)return T=0,K=ie,T|0;for(I=N^15,_=-1,U=1,M=1;;){N=q-U|0,N=Bo(7,0,N,((N|0)<0)<<31>>31)|0,p=Z()|0;do if(M)if(M=fr(N|0,p|0,5,0)|0,M=Yt(M|0,Z()|0,-5,-1)|0,M=ko(M|0,Z()|0,6,0)|0,y=Z()|0,(f|0)>(y|0)|(f|0)==(y|0)&A>>>0>M>>>0){f=Yt(A|0,f|0,-1,-1)|0,f=Ur(f|0,Z()|0,M|0,y|0)|0,M=Z()|0,pe=T,me=d[pe>>2]|0,pe=d[pe+4>>2]|0,Ce=(I+_|0)*3|0,Ae=Nt(7,0,Ce|0)|0,pe=pe&~(Z()|0),_=ko(f|0,M|0,N|0,p|0)|0,A=Z()|0,y=Yt(_|0,A|0,2,0)|0,Ce=Nt(y|0,Z()|0,Ce|0)|0,pe=Z()|0|pe,y=T,d[y>>2]=Ce|me&~Ae,d[y+4>>2]=pe,A=fr(_|0,A|0,N|0,p|0)|0,A=Ur(f|0,M|0,A|0,Z()|0)|0,M=0,f=Z()|0;break}else{Ce=T,Ae=d[Ce>>2]|0,Ce=d[Ce+4>>2]|0,me=Nt(7,0,(I+_|0)*3|0)|0,Ce=Ce&~(Z()|0),M=T,d[M>>2]=Ae&~me,d[M+4>>2]=Ce,M=1;break}else Ae=T,y=d[Ae>>2]|0,Ae=d[Ae+4>>2]|0,_=(I+_|0)*3|0,pe=Nt(7,0,_|0)|0,Ae=Ae&~(Z()|0),Ce=ko(A|0,f|0,N|0,p|0)|0,M=Z()|0,_=Nt(Ce|0,M|0,_|0)|0,Ae=Z()|0|Ae,me=T,d[me>>2]=_|y&~pe,d[me+4>>2]=Ae,M=fr(Ce|0,M|0,N|0,p|0)|0,A=Ur(A|0,f|0,M|0,Z()|0)|0,M=0,f=Z()|0;while(!1);if((q|0)>(U|0))_=~U,U=U+1|0;else{f=0;break}}return K=ie,f|0}while(!1);if((q|0)<1)return Ce=0,K=ie,Ce|0;for(y=N^15,M=1;;)if(me=q-M|0,me=Bo(7,0,me,((me|0)<0)<<31>>31)|0,Ce=Z()|0,U=T,p=d[U>>2]|0,U=d[U+4>>2]|0,N=(y-M|0)*3|0,_=Nt(7,0,N|0)|0,U=U&~(Z()|0),pe=ko(A|0,f|0,me|0,Ce|0)|0,Ae=Z()|0,N=Nt(pe|0,Ae|0,N|0)|0,U=Z()|0|U,I=T,d[I>>2]=N|p&~_,d[I+4>>2]=U,Ce=fr(pe|0,Ae|0,me|0,Ce|0)|0,A=Ur(A|0,f|0,Ce|0,Z()|0)|0,f=Z()|0,(q|0)<=(M|0)){f=0;break}else M=M+1|0;return K=ie,f|0}function sl(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0;y=bt(f|0,p|0,52)|0,Z()|0,y=y&15,(f|0)==0&(p|0)==0|((_|0)>15|(y|0)>(_|0))?(T=-1,f=-1,p=0,y=0):(f=lp(f,p,y+1|0,_)|0,M=(Z()|0)&-15728641,p=Nt(_|0,0,52)|0,p=f|p,M=M|(Z()|0),f=(Ci(p,M)|0)==0,T=y,f=f?-1:_,y=M),M=A,d[M>>2]=p,d[M+4>>2]=y,d[A+8>>2]=T,d[A+12>>2]=f}function Vu(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0;if(y=bt(A|0,f|0,52)|0,Z()|0,y=y&15,T=_+8|0,d[T>>2]=y,(A|0)==0&(f|0)==0|((p|0)>15|(y|0)>(p|0))){p=_,d[p>>2]=0,d[p+4>>2]=0,d[T>>2]=-1,d[_+12>>2]=-1;return}if(A=lp(A,f,y+1|0,p)|0,T=(Z()|0)&-15728641,y=Nt(p|0,0,52)|0,y=A|y,T=T|(Z()|0),A=_,d[A>>2]=y,d[A+4>>2]=T,A=_+12|0,Ci(y,T)|0){d[A>>2]=p;return}else{d[A>>2]=-1;return}}function uf(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0;if(p=A,f=d[p>>2]|0,p=d[p+4>>2]|0,!((f|0)==0&(p|0)==0)&&(_=bt(f|0,p|0,52)|0,Z()|0,_=_&15,N=Nt(1,0,(_^15)*3|0)|0,f=Yt(N|0,Z()|0,f|0,p|0)|0,p=Z()|0,N=A,d[N>>2]=f,d[N+4>>2]=p,N=A+8|0,M=d[N>>2]|0,!((_|0)<(M|0)))){for(U=A+12|0,T=_;;){if((T|0)==(M|0)){_=5;break}if(I=(T|0)==(d[U>>2]|0),y=(15-T|0)*3|0,_=bt(f|0,p|0,y|0)|0,Z()|0,_=_&7,I&((_|0)==1&!0)){_=7;break}if(!((_|0)==7&!0)){_=10;break}if(I=Nt(1,0,y|0)|0,f=Yt(f|0,p|0,I|0,Z()|0)|0,p=Z()|0,I=A,d[I>>2]=f,d[I+4>>2]=p,(T|0)>(M|0))T=T+-1|0;else{_=10;break}}if((_|0)==5){I=A,d[I>>2]=0,d[I+4>>2]=0,d[N>>2]=-1,d[U>>2]=-1;return}else if((_|0)==7){M=Nt(1,0,y|0)|0,M=Yt(f|0,p|0,M|0,Z()|0)|0,N=Z()|0,I=A,d[I>>2]=M,d[I+4>>2]=N,d[U>>2]=T+-1;return}else if((_|0)==10)return}}function Kc(A){A=+A;var f=0;return f=A<0?A+6.283185307179586:A,+(A>=6.283185307179586?f+-6.283185307179586:f)}function Ea(A,f){return A=A|0,f=f|0,+un(+(+J[A>>3]-+J[f>>3]))<17453292519943298e-27?(f=+un(+(+J[A+8>>3]-+J[f+8>>3]))<17453292519943298e-27,f|0):(f=0,f|0)}function Xs(A,f){switch(A=+A,f=f|0,f|0){case 1:{A=A<0?A+6.283185307179586:A;break}case 2:{A=A>0?A+-6.283185307179586:A;break}}return+A}function T1(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0;return y=+J[f>>3],_=+J[A>>3],T=+Fn(+((y-_)*.5)),p=+Fn(+((+J[f+8>>3]-+J[A+8>>3])*.5)),p=T*T+p*(+li(+y)*+li(+_)*p),+(+Oe(+ +qn(+p),+ +qn(+(1-p)))*2)}function Zc(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0;return y=+J[f>>3],_=+J[A>>3],T=+Fn(+((y-_)*.5)),p=+Fn(+((+J[f+8>>3]-+J[A+8>>3])*.5)),p=T*T+p*(+li(+y)*+li(+_)*p),+(+Oe(+ +qn(+p),+ +qn(+(1-p)))*2*6371.007180918475)}function Mx(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0;return y=+J[f>>3],_=+J[A>>3],T=+Fn(+((y-_)*.5)),p=+Fn(+((+J[f+8>>3]-+J[A+8>>3])*.5)),p=T*T+p*(+li(+y)*+li(+_)*p),+(+Oe(+ +qn(+p),+ +qn(+(1-p)))*2*6371.007180918475*1e3)}function Ex(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0;return T=+J[f>>3],_=+li(+T),y=+J[f+8>>3]-+J[A+8>>3],M=_*+Fn(+y),p=+J[A>>3],+ +Oe(+M,+(+Fn(+T)*+li(+p)-+li(+y)*(_*+Fn(+p))))}function Cx(A,f,p,_){A=A|0,f=+f,p=+p,_=_|0;var y=0,T=0,M=0,N=0;if(p<1e-16){d[_>>2]=d[A>>2],d[_+4>>2]=d[A+4>>2],d[_+8>>2]=d[A+8>>2],d[_+12>>2]=d[A+12>>2];return}T=f<0?f+6.283185307179586:f,T=f>=6.283185307179586?T+-6.283185307179586:T;do if(T<1e-16)f=+J[A>>3]+p,J[_>>3]=f,y=_;else{if(y=+un(+(T+-3.141592653589793))<1e-16,f=+J[A>>3],y){f=f-p,J[_>>3]=f,y=_;break}if(M=+li(+p),p=+Fn(+p),f=M*+Fn(+f)+ +li(+T)*(p*+li(+f)),f=f>1?1:f,f=+Ul(+(f<-1?-1:f)),J[_>>3]=f,+un(+(f+-1.5707963267948966))<1e-16){J[_>>3]=1.5707963267948966,J[_+8>>3]=0;return}if(+un(+(f+1.5707963267948966))<1e-16){J[_>>3]=-1.5707963267948966,J[_+8>>3]=0;return}if(N=1/+li(+f),T=p*+Fn(+T)*N,p=+J[A>>3],f=N*((M-+Fn(+f)*+Fn(+p))/+li(+p)),M=T>1?1:T,f=f>1?1:f,f=+J[A+8>>3]+ +Oe(+(M<-1?-1:M),+(f<-1?-1:f)),f>3.141592653589793)do f=f+-6.283185307179586;while(f>3.141592653589793);if(f<-3.141592653589793)do f=f+6.283185307179586;while(f<-3.141592653589793);J[_+8>>3]=f;return}while(!1);if(+un(+(f+-1.5707963267948966))<1e-16){J[y>>3]=1.5707963267948966,J[_+8>>3]=0;return}if(+un(+(f+1.5707963267948966))<1e-16){J[y>>3]=-1.5707963267948966,J[_+8>>3]=0;return}if(f=+J[A+8>>3],f>3.141592653589793)do f=f+-6.283185307179586;while(f>3.141592653589793);if(f<-3.141592653589793)do f=f+6.283185307179586;while(f<-3.141592653589793);J[_+8>>3]=f}function dp(A,f){return A=A|0,f=f|0,A>>>0>15?(f=4,f|0):(J[f>>3]=+J[20656+(A<<3)>>3],f=0,f|0)}function w1(A,f){return A=A|0,f=f|0,A>>>0>15?(f=4,f|0):(J[f>>3]=+J[20784+(A<<3)>>3],f=0,f|0)}function pp(A,f){return A=A|0,f=f|0,A>>>0>15?(f=4,f|0):(J[f>>3]=+J[20912+(A<<3)>>3],f=0,f|0)}function oo(A,f){return A=A|0,f=f|0,A>>>0>15?(f=4,f|0):(J[f>>3]=+J[21040+(A<<3)>>3],f=0,f|0)}function Hu(A,f){A=A|0,f=f|0;var p=0;return A>>>0>15?(f=4,f|0):(p=Bo(7,0,A,((A|0)<0)<<31>>31)|0,p=fr(p|0,Z()|0,120,0)|0,A=Z()|0,d[f>>2]=p|2,d[f+4>>2]=A,f=0,f|0)}function da(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0;return pe=+J[f>>3],q=+J[A>>3],U=+Fn(+((pe-q)*.5)),T=+J[f+8>>3],I=+J[A+8>>3],M=+Fn(+((T-I)*.5)),N=+li(+q),ie=+li(+pe),M=U*U+M*(ie*N*M),M=+Oe(+ +qn(+M),+ +qn(+(1-M)))*2,U=+J[p>>3],pe=+Fn(+((U-pe)*.5)),_=+J[p+8>>3],T=+Fn(+((_-T)*.5)),y=+li(+U),T=pe*pe+T*(ie*y*T),T=+Oe(+ +qn(+T),+ +qn(+(1-T)))*2,U=+Fn(+((q-U)*.5)),_=+Fn(+((I-_)*.5)),_=U*U+_*(N*y*_),_=+Oe(+ +qn(+_),+ +qn(+(1-_)))*2,y=(M+T+_)*.5,+(+ae(+ +qn(+(+cs(+(y*.5))*+cs(+((y-M)*.5))*+cs(+((y-T)*.5))*+cs(+((y-_)*.5)))))*4)}function Fl(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0;if(N=K,K=K+192|0,T=N+168|0,M=N,y=Ol(A,f,T)|0,y|0)return p=y,K=N,p|0;if(Il(A,f,M)|0&&Ut(27795,27190,415,27199),f=d[M>>2]|0,(f|0)>0){if(_=+da(M+8|0,M+8+(((f|0)!=1&1)<<4)|0,T)+0,(f|0)!=1){A=1;do y=A,A=A+1|0,_=_+ +da(M+8+(y<<4)|0,M+8+(((A|0)%(f|0)|0)<<4)|0,T);while((A|0)<(f|0))}}else _=0;return J[p>>3]=_,p=0,K=N,p|0}function mp(A,f,p){return A=A|0,f=f|0,p=p|0,A=Fl(A,f,p)|0,A|0||(J[p>>3]=+J[p>>3]*6371.007180918475*6371.007180918475),A|0}function UA(A,f,p){return A=A|0,f=f|0,p=p|0,A=Fl(A,f,p)|0,A|0||(J[p>>3]=+J[p>>3]*6371.007180918475*6371.007180918475*1e3*1e3),A|0}function BA(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0;if(N=K,K=K+176|0,M=N,A=CA(A,f,M)|0,A|0)return M=A,K=N,M|0;if(J[p>>3]=0,A=d[M>>2]|0,(A|0)<=1)return M=0,K=N,M|0;f=A+-1|0,A=0,_=+J[M+8>>3],y=+J[M+16>>3],T=0;do A=A+1|0,I=_,_=+J[M+8+(A<<4)>>3],q=+Fn(+((_-I)*.5)),U=y,y=+J[M+8+(A<<4)+8>>3],U=+Fn(+((y-U)*.5)),U=q*q+U*(+li(+_)*+li(+I)*U),T=T+ +Oe(+ +qn(+U),+ +qn(+(1-U)))*2;while((A|0)<(f|0));return J[p>>3]=T,M=0,K=N,M|0}function gp(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0;if(N=K,K=K+176|0,M=N,A=CA(A,f,M)|0,A|0)return M=A,T=+J[p>>3],T=T*6371.007180918475,J[p>>3]=T,K=N,M|0;if(J[p>>3]=0,A=d[M>>2]|0,(A|0)<=1)return M=0,T=0,T=T*6371.007180918475,J[p>>3]=T,K=N,M|0;f=A+-1|0,A=0,_=+J[M+8>>3],y=+J[M+16>>3],T=0;do A=A+1|0,I=_,_=+J[M+8+(A<<4)>>3],q=+Fn(+((_-I)*.5)),U=y,y=+J[M+8+(A<<4)+8>>3],U=+Fn(+((y-U)*.5)),U=q*q+U*(+li(+I)*+li(+_)*U),T=T+ +Oe(+ +qn(+U),+ +qn(+(1-U)))*2;while((A|0)!=(f|0));return J[p>>3]=T,M=0,q=T,q=q*6371.007180918475,J[p>>3]=q,K=N,M|0}function ju(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0;if(N=K,K=K+176|0,M=N,A=CA(A,f,M)|0,A|0)return M=A,T=+J[p>>3],T=T*6371.007180918475,T=T*1e3,J[p>>3]=T,K=N,M|0;if(J[p>>3]=0,A=d[M>>2]|0,(A|0)<=1)return M=0,T=0,T=T*6371.007180918475,T=T*1e3,J[p>>3]=T,K=N,M|0;f=A+-1|0,A=0,_=+J[M+8>>3],y=+J[M+16>>3],T=0;do A=A+1|0,I=_,_=+J[M+8+(A<<4)>>3],q=+Fn(+((_-I)*.5)),U=y,y=+J[M+8+(A<<4)+8>>3],U=+Fn(+((y-U)*.5)),U=q*q+U*(+li(+I)*+li(+_)*U),T=T+ +Oe(+ +qn(+U),+ +qn(+(1-U)))*2;while((A|0)!=(f|0));return J[p>>3]=T,M=0,q=T,q=q*6371.007180918475,q=q*1e3,J[p>>3]=q,K=N,M|0}function M1(A){A=A|0;var f=0,p=0,_=0;return f=Ks(1,12)|0,f||Ut(27280,27235,49,27293),p=A+4|0,_=d[p>>2]|0,_|0?(_=_+8|0,d[_>>2]=f,d[p>>2]=f,f|0):(d[A>>2]|0&&Ut(27310,27235,61,27333),_=A,d[_>>2]=f,d[p>>2]=f,f|0)}function OA(A,f){A=A|0,f=f|0;var p=0,_=0;return _=Fo(24)|0,_||Ut(27347,27235,78,27361),d[_>>2]=d[f>>2],d[_+4>>2]=d[f+4>>2],d[_+8>>2]=d[f+8>>2],d[_+12>>2]=d[f+12>>2],d[_+16>>2]=0,f=A+4|0,p=d[f>>2]|0,p|0?(d[p+16>>2]=_,d[f>>2]=_,_|0):(d[A>>2]|0&&Ut(27376,27235,82,27361),d[A>>2]=_,d[f>>2]=_,_|0)}function Wu(A){A=A|0;var f=0,p=0,_=0,y=0;if(A)for(_=1;;){if(f=d[A>>2]|0,f|0)do{if(p=d[f>>2]|0,p|0)do y=p,p=d[p+16>>2]|0,An(y);while((p|0)!=0);y=f,f=d[f+8>>2]|0,An(y)}while((f|0)!=0);if(f=A,A=d[A+8>>2]|0,_||An(f),A)_=0;else break}}function Rx(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0,Re=0,Pt=0,rn=0,en=0,Un=0,En=0,Qn=0,Tn=0,on=0,Lt=0,vn=0,ii=0,wn=0;if(y=A+8|0,d[y>>2]|0)return wn=1,wn|0;if(_=d[A>>2]|0,!_)return wn=0,wn|0;f=_,p=0;do p=p+1|0,f=d[f+8>>2]|0;while((f|0)!=0);if(p>>>0<2)return wn=0,wn|0;vn=Fo(p<<2)|0,vn||Ut(27396,27235,317,27415),Lt=Fo(p<<5)|0,Lt||Ut(27437,27235,321,27415),d[A>>2]=0,rn=A+4|0,d[rn>>2]=0,d[y>>2]=0,p=0,on=0,Pt=0,ie=0;e:for(;;){if(q=d[_>>2]|0,q){T=0,M=q;do{if(U=+J[M+8>>3],f=M,M=d[M+16>>2]|0,I=(M|0)==0,y=I?q:M,N=+J[y+8>>3],+un(+(U-N))>3.141592653589793){wn=14;break}T=T+(N-U)*(+J[f>>3]+ +J[y>>3])}while(!I);if((wn|0)==14){wn=0,T=0,f=q;do Re=+J[f+8>>3],Tn=f+16|0,Qn=d[Tn>>2]|0,Qn=(Qn|0)==0?q:Qn,ke=+J[Qn+8>>3],T=T+(+J[f>>3]+ +J[Qn>>3])*((ke<0?ke+6.283185307179586:ke)-(Re<0?Re+6.283185307179586:Re)),f=d[((f|0)==0?_:Tn)>>2]|0;while((f|0)!=0)}T>0?(d[vn+(on<<2)>>2]=_,on=on+1|0,y=Pt,f=ie):wn=19}else wn=19;if((wn|0)==19){wn=0;do if(p){if(f=p+8|0,d[f>>2]|0){wn=21;break e}if(p=Ks(1,12)|0,!p){wn=23;break e}d[f>>2]=p,y=p+4|0,M=p,f=ie}else if(ie){y=rn,M=ie+8|0,f=_,p=A;break}else if(d[A>>2]|0){wn=27;break e}else{y=rn,M=A,f=_,p=A;break}while(!1);if(d[M>>2]=_,d[y>>2]=_,M=Lt+(Pt<<5)|0,I=d[_>>2]|0,I){for(q=Lt+(Pt<<5)+8|0,J[q>>3]=17976931348623157e292,ie=Lt+(Pt<<5)+24|0,J[ie>>3]=17976931348623157e292,J[M>>3]=-17976931348623157e292,pe=Lt+(Pt<<5)+16|0,J[pe>>3]=-17976931348623157e292,Xe=17976931348623157e292,qe=-17976931348623157e292,y=0,Ae=I,U=17976931348623157e292,Ce=17976931348623157e292,Be=-17976931348623157e292,N=-17976931348623157e292;T=+J[Ae>>3],Re=+J[Ae+8>>3],Ae=d[Ae+16>>2]|0,me=(Ae|0)==0,ke=+J[(me?I:Ae)+8>>3],T>3]=T,U=T),Re>3]=Re,Ce=Re),T>Be?J[M>>3]=T:T=Be,Re>N&&(J[pe>>3]=Re,N=Re),Xe=Re>0&Reqe?Re:qe,y=y|+un(+(Re-ke))>3.141592653589793,!me;)Be=T;y&&(J[pe>>3]=qe,J[ie>>3]=Xe)}else d[M>>2]=0,d[M+4>>2]=0,d[M+8>>2]=0,d[M+12>>2]=0,d[M+16>>2]=0,d[M+20>>2]=0,d[M+24>>2]=0,d[M+28>>2]=0;y=Pt+1|0}if(Tn=_+8|0,_=d[Tn>>2]|0,d[Tn>>2]=0,_)Pt=y,ie=f;else{wn=45;break}}if((wn|0)==21)Ut(27213,27235,35,27247);else if((wn|0)==23)Ut(27267,27235,37,27247);else if((wn|0)==27)Ut(27310,27235,61,27333);else if((wn|0)==45){e:do if((on|0)>0){for(Tn=(y|0)==0,En=y<<2,Qn=(A|0)==0,Un=0,f=0;;){if(en=d[vn+(Un<<2)>>2]|0,Tn)wn=73;else{if(Pt=Fo(En)|0,!Pt){wn=50;break}if(rn=Fo(En)|0,!rn){wn=52;break}t:do if(Qn)p=0;else{for(y=0,p=0,M=A;_=Lt+(y<<5)|0,Ys(d[M>>2]|0,_,d[en>>2]|0)|0?(d[Pt+(p<<2)>>2]=M,d[rn+(p<<2)>>2]=_,me=p+1|0):me=p,M=d[M+8>>2]|0,M;)y=y+1|0,p=me;if((me|0)>0)if(_=d[Pt>>2]|0,(me|0)==1)p=_;else for(pe=0,Ae=-1,p=_,ie=_;;){for(I=d[ie>>2]|0,_=0,M=0;y=d[d[Pt+(M<<2)>>2]>>2]|0,(y|0)==(I|0)?q=_:q=_+((Ys(y,d[rn+(M<<2)>>2]|0,d[I>>2]|0)|0)&1)|0,M=M+1|0,(M|0)!=(me|0);)_=q;if(y=(q|0)>(Ae|0),p=y?ie:p,_=pe+1|0,(_|0)==(me|0))break t;pe=_,Ae=y?q:Ae,ie=d[Pt+(_<<2)>>2]|0}else p=0}while(!1);if(An(Pt),An(rn),p){if(y=p+4|0,_=d[y>>2]|0,_)p=_+8|0;else if(d[p>>2]|0){wn=70;break}d[p>>2]=en,d[y>>2]=en}else wn=73}if((wn|0)==73){if(wn=0,f=d[en>>2]|0,f|0)do rn=f,f=d[f+16>>2]|0,An(rn);while((f|0)!=0);An(en),f=1}if(Un=Un+1|0,(Un|0)>=(on|0)){ii=f;break e}}(wn|0)==50?Ut(27452,27235,249,27471):(wn|0)==52?Ut(27490,27235,252,27471):(wn|0)==70&&Ut(27310,27235,61,27333)}else ii=0;while(!1);return An(vn),An(Lt),wn=ii,wn|0}return 0}function Ys(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0;if(!(Lo(f,p)|0)||(f=TA(f)|0,_=+J[p>>3],y=+J[p+8>>3],y=f&y<0?y+6.283185307179586:y,A=d[A>>2]|0,!A))return A=0,A|0;if(f){f=0,I=y,p=A;e:for(;;){for(;M=+J[p>>3],y=+J[p+8>>3],p=p+16|0,q=d[p>>2]|0,q=(q|0)==0?A:q,T=+J[q>>3],N=+J[q+8>>3],M>T?(U=M,M=N):(U=T,T=M,M=y,y=N),_=_==T|_==U?_+2220446049250313e-31:_,!!(_U);)if(p=d[p>>2]|0,!p){p=22;break e}if(N=M<0?M+6.283185307179586:M,M=y<0?y+6.283185307179586:y,I=N==I|M==I?I+-2220446049250313e-31:I,U=N+(M-N)*((_-T)/(U-T)),(U<0?U+6.283185307179586:U)>I&&(f=f^1),p=d[p>>2]|0,!p){p=22;break}}if((p|0)==22)return f|0}else{f=0,I=y,p=A;e:for(;;){for(;M=+J[p>>3],y=+J[p+8>>3],p=p+16|0,q=d[p>>2]|0,q=(q|0)==0?A:q,T=+J[q>>3],N=+J[q+8>>3],M>T?(U=M,M=N):(U=T,T=M,M=y,y=N),_=_==T|_==U?_+2220446049250313e-31:_,!!(_U);)if(p=d[p>>2]|0,!p){p=22;break e}if(I=M==I|y==I?I+-2220446049250313e-31:I,M+(y-M)*((_-T)/(U-T))>I&&(f=f^1),p=d[p>>2]|0,!p){p=22;break}}if((p|0)==22)return f|0}return 0}function lo(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0;if(qe=K,K=K+32|0,Xe=qe+16|0,Be=qe,T=bt(A|0,f|0,52)|0,Z()|0,T=T&15,Ae=bt(p|0,_|0,52)|0,Z()|0,(T|0)!=(Ae&15|0))return Xe=12,K=qe,Xe|0;if(I=bt(A|0,f|0,45)|0,Z()|0,I=I&127,q=bt(p|0,_|0,45)|0,Z()|0,q=q&127,I>>>0>121|q>>>0>121)return Xe=5,K=qe,Xe|0;if(Ae=(I|0)!=(q|0),Ae){if(N=Jh(I,q)|0,(N|0)==7)return Xe=1,K=qe,Xe|0;U=Jh(q,I)|0,(U|0)==7?Ut(27514,27538,161,27548):(me=N,M=U)}else me=0,M=0;ie=Bi(I)|0,pe=Bi(q)|0,d[Xe>>2]=0,d[Xe+4>>2]=0,d[Xe+8>>2]=0,d[Xe+12>>2]=0;do if(me){if(q=d[4272+(I*28|0)+(me<<2)>>2]|0,N=(q|0)>0,pe)if(N){I=0,U=p,N=_;do U=Tx(U,N)|0,N=Z()|0,M=rl(M)|0,(M|0)==1&&(M=rl(1)|0),I=I+1|0;while((I|0)!=(q|0));q=M,I=U,U=N}else q=M,I=p,U=_;else if(N){I=0,U=p,N=_;do U=hp(U,N)|0,N=Z()|0,M=rl(M)|0,I=I+1|0;while((I|0)!=(q|0));q=M,I=U,U=N}else q=M,I=p,U=_;if(LA(I,U,Xe)|0,Ae||Ut(27563,27538,191,27548),N=(ie|0)!=0,M=(pe|0)!=0,N&M&&Ut(27590,27538,192,27548),N){if(M=$s(A,f)|0,(M|0)==7){T=5;break}if(st[22e3+(M*7|0)+me>>0]|0){T=1;break}U=d[21168+(M*28|0)+(me<<2)>>2]|0,I=U}else if(M){if(M=$s(I,U)|0,(M|0)==7){T=5;break}if(st[22e3+(M*7|0)+q>>0]|0){T=1;break}I=0,U=d[21168+(q*28|0)+(M<<2)>>2]|0}else I=0,U=0;if((I|U|0)<0)T=5;else{if((U|0)>0){N=Xe+4|0,M=0;do EA(N),M=M+1|0;while((M|0)!=(U|0))}if(d[Be>>2]=0,d[Be+4>>2]=0,d[Be+8>>2]=0,u1(Be,me),T|0)for(;Ss(T)|0?Yc(Be):Lu(Be),(T|0)>1;)T=T+-1|0;if((I|0)>0){T=0;do EA(Be),T=T+1|0;while((T|0)!=(I|0))}Ce=Xe+4|0,hs(Ce,Be,Ce),Lr(Ce),Ce=51}}else if(LA(p,_,Xe)|0,(ie|0)!=0&(pe|0)!=0)if((q|0)!=(I|0)&&Ut(27621,27538,261,27548),M=$s(A,f)|0,T=$s(p,_)|0,(M|0)==7|(T|0)==7)T=5;else if(st[22e3+(M*7|0)+T>>0]|0)T=1;else if(M=d[21168+(M*28|0)+(T<<2)>>2]|0,(M|0)>0){N=Xe+4|0,T=0;do EA(N),T=T+1|0;while((T|0)!=(M|0));Ce=51}else Ce=51;else Ce=51;while(!1);return(Ce|0)==51&&(T=Xe+4|0,d[y>>2]=d[T>>2],d[y+4>>2]=d[T+4>>2],d[y+8>>2]=d[T+8>>2],T=0),Xe=T,K=qe,Xe|0}function Uo(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0;if(Ce=K,K=K+48|0,I=Ce+36|0,M=Ce+24|0,N=Ce+12|0,U=Ce,y=bt(A|0,f|0,52)|0,Z()|0,y=y&15,pe=bt(A|0,f|0,45)|0,Z()|0,pe=pe&127,pe>>>0>121)return _=5,K=Ce,_|0;if(q=Bi(pe)|0,Nt(y|0,0,52)|0,Be=Z()|0|134225919,T=_,d[T>>2]=-1,d[T+4>>2]=Be,!y)return y=Pu(p)|0,(y|0)==7||(y=SA(pe,y)|0,(y|0)==127)?(Be=1,K=Ce,Be|0):(Ae=Nt(y|0,0,45)|0,me=Z()|0,pe=_,me=d[pe+4>>2]&-1040385|me,Be=_,d[Be>>2]=d[pe>>2]|Ae,d[Be+4>>2]=me,Be=0,K=Ce,Be|0);for(d[I>>2]=d[p>>2],d[I+4>>2]=d[p+4>>2],d[I+8>>2]=d[p+8>>2],p=y;;){if(T=p,p=p+-1|0,d[M>>2]=d[I>>2],d[M+4>>2]=d[I+4>>2],d[M+8>>2]=d[I+8>>2],Ss(T)|0){if(y=o1(I)|0,y|0){p=13;break}d[N>>2]=d[I>>2],d[N+4>>2]=d[I+4>>2],d[N+8>>2]=d[I+8>>2],Yc(N)}else{if(y=cx(I)|0,y|0){p=13;break}d[N>>2]=d[I>>2],d[N+4>>2]=d[I+4>>2],d[N+8>>2]=d[I+8>>2],Lu(N)}if(af(M,N,U),Lr(U),y=_,qe=d[y>>2]|0,y=d[y+4>>2]|0,ke=(15-T|0)*3|0,Xe=Nt(7,0,ke|0)|0,y=y&~(Z()|0),ke=Nt(Pu(U)|0,0,ke|0)|0,y=Z()|0|y,Be=_,d[Be>>2]=ke|qe&~Xe,d[Be+4>>2]=y,(T|0)<=1){p=14;break}}e:do if((p|0)!=13&&(p|0)==14)if((d[I>>2]|0)<=1&&(d[I+4>>2]|0)<=1&&(d[I+8>>2]|0)<=1){p=Pu(I)|0,y=SA(pe,p)|0,(y|0)==127?U=0:U=Bi(y)|0;t:do if(p){if(q){if(y=$s(A,f)|0,(y|0)==7){y=5;break e}if(T=d[21376+(y*28|0)+(p<<2)>>2]|0,(T|0)>0){y=p,p=0;do y=Uu(y)|0,p=p+1|0;while((p|0)!=(T|0))}else y=p;if((y|0)==1){y=9;break e}p=SA(pe,y)|0,(p|0)==127&&Ut(27648,27538,411,27678),Bi(p)|0?Ut(27693,27538,412,27678):(me=p,Ae=T,ie=y)}else me=y,Ae=0,ie=p;if(N=d[4272+(pe*28|0)+(ie<<2)>>2]|0,(N|0)<=-1&&Ut(27724,27538,419,27678),!U){if((Ae|0)<0){y=5;break e}if(Ae|0){T=_,y=0,p=d[T>>2]|0,T=d[T+4>>2]|0;do p=ku(p,T)|0,T=Z()|0,ke=_,d[ke>>2]=p,d[ke+4>>2]=T,y=y+1|0;while((y|0)<(Ae|0))}if((N|0)<=0){y=me,p=58;break}for(T=_,y=0,p=d[T>>2]|0,T=d[T+4>>2]|0;;)if(p=ku(p,T)|0,T=Z()|0,ke=_,d[ke>>2]=p,d[ke+4>>2]=T,y=y+1|0,(y|0)==(N|0)){y=me,p=58;break t}}if(M=Jh(me,pe)|0,(M|0)==7&&Ut(27514,27538,428,27678),y=_,p=d[y>>2]|0,y=d[y+4>>2]|0,(N|0)>0){T=0;do p=ku(p,y)|0,y=Z()|0,ke=_,d[ke>>2]=p,d[ke+4>>2]=y,T=T+1|0;while((T|0)!=(N|0))}if(y=$s(p,y)|0,(y|0)==7&&Ut(27795,27538,440,27678),p=Wc(me)|0,p=d[(p?21792:21584)+(M*28|0)+(y<<2)>>2]|0,(p|0)<0&&Ut(27795,27538,454,27678),!p)y=me,p=58;else{M=_,y=0,T=d[M>>2]|0,M=d[M+4>>2]|0;do T=cp(T,M)|0,M=Z()|0,ke=_,d[ke>>2]=T,d[ke+4>>2]=M,y=y+1|0;while((y|0)<(p|0));y=me,p=58}}else if((q|0)!=0&(U|0)!=0){if(p=$s(A,f)|0,T=_,T=$s(d[T>>2]|0,d[T+4>>2]|0)|0,(p|0)==7|(T|0)==7){y=5;break e}if(T=d[21376+(p*28|0)+(T<<2)>>2]|0,(T|0)<0){y=5;break e}if(!T)p=59;else{N=_,p=0,M=d[N>>2]|0,N=d[N+4>>2]|0;do M=ku(M,N)|0,N=Z()|0,ke=_,d[ke>>2]=M,d[ke+4>>2]=N,p=p+1|0;while((p|0)<(T|0));p=58}}else p=58;while(!1);if((p|0)==58&&U&&(p=59),(p|0)==59&&(ke=_,($s(d[ke>>2]|0,d[ke+4>>2]|0)|0)==1)){y=9;break}ke=_,Xe=d[ke>>2]|0,ke=d[ke+4>>2]&-1040385,qe=Nt(y|0,0,45)|0,ke=ke|(Z()|0),y=_,d[y>>2]=Xe|qe,d[y+4>>2]=ke,y=0}else y=1;while(!1);return ke=y,K=Ce,ke|0}function E1(A,f,p,_,y,T){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0,T=T|0;var M=0,N=0;return N=K,K=K+16|0,M=N,y?A=15:(A=lo(A,f,p,_,M)|0,A||(fx(M,T),A=0)),K=N,A|0}function IA(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0;return M=K,K=K+16|0,T=M,_?p=15:(p=rp(p,T)|0,p||(p=Uo(A,f,T,y)|0)),K=M,p|0}function $u(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0;return U=K,K=K+32|0,M=U+12|0,N=U,T=lo(A,f,A,f,M)|0,T|0?(N=T,K=U,N|0):(A=lo(A,f,p,_,N)|0,A|0?(N=A,K=U,N|0):(M=ip(M,N)|0,N=y,d[N>>2]=M,d[N+4>>2]=((M|0)<0)<<31>>31,N=0,K=U,N|0))}function vp(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0;return U=K,K=K+32|0,M=U+12|0,N=U,T=lo(A,f,A,f,M)|0,!T&&(T=lo(A,f,p,_,N)|0,!T)?(_=ip(M,N)|0,_=Yt(_|0,((_|0)<0)<<31>>31|0,1,0)|0,M=Z()|0,N=y,d[N>>2]=_,d[N+4>>2]=M,N=0,K=U,N|0):(N=T,K=U,N|0)}function C1(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0,Re=0,Pt=0,rn=0,en=0,Un=0;if(en=K,K=K+48|0,Pt=en+24|0,M=en+12|0,rn=en,T=lo(A,f,A,f,Pt)|0,!T&&(T=lo(A,f,p,_,M)|0,!T)){ke=ip(Pt,M)|0,Re=((ke|0)<0)<<31>>31,d[Pt>>2]=0,d[Pt+4>>2]=0,d[Pt+8>>2]=0,d[M>>2]=0,d[M+4>>2]=0,d[M+8>>2]=0,lo(A,f,A,f,Pt)|0&&Ut(27795,27538,692,27747),lo(A,f,p,_,M)|0&&Ut(27795,27538,697,27747),A1(Pt),A1(M),q=(ke|0)==0?0:1/+(ke|0),p=d[Pt>>2]|0,Ce=q*+((d[M>>2]|0)-p|0),Be=Pt+4|0,_=d[Be>>2]|0,Xe=q*+((d[M+4>>2]|0)-_|0),qe=Pt+8|0,T=d[qe>>2]|0,q=q*+((d[M+8>>2]|0)-T|0),d[rn>>2]=p,ie=rn+4|0,d[ie>>2]=_,pe=rn+8|0,d[pe>>2]=T;e:do if((ke|0)<0)T=0;else for(Ae=0,me=0;;){U=+(me>>>0)+4294967296*+(Ae|0),Un=Ce*U+ +(p|0),N=Xe*U+ +(_|0),U=q*U+ +(T|0),p=~~+hl(+Un),M=~~+hl(+N),T=~~+hl(+U),Un=+un(+(+(p|0)-Un)),N=+un(+(+(M|0)-N)),U=+un(+(+(T|0)-U));do if(Un>N&Un>U)p=0-(M+T)|0,_=M;else if(I=0-p|0,N>U){_=I-T|0;break}else{_=M,T=I-M|0;break}while(!1);if(d[rn>>2]=p,d[ie>>2]=_,d[pe>>2]=T,Ax(rn),T=Uo(A,f,rn,y+(me<<3)|0)|0,T|0)break e;if(!((Ae|0)<(Re|0)|(Ae|0)==(Re|0)&me>>>0>>0)){T=0;break e}p=Yt(me|0,Ae|0,1,0)|0,_=Z()|0,Ae=_,me=p,p=d[Pt>>2]|0,_=d[Be>>2]|0,T=d[qe>>2]|0}while(!1);return rn=T,K=en,rn|0}return rn=T,K=en,rn|0}function Bo(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0;if((p|0)==0&(_|0)==0)return y=0,T=1,ht(y|0),T|0;T=A,y=f,A=1,f=0;do M=(p&1|0)==0&!0,A=fr((M?1:T)|0,(M?0:y)|0,A|0,f|0)|0,f=Z()|0,p=N1(p|0,_|0,1)|0,_=Z()|0,T=fr(T|0,y|0,T|0,y|0)|0,y=Z()|0;while(!((p|0)==0&(_|0)==0));return ht(f|0),A|0}function FA(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0;N=K,K=K+16|0,T=N,M=bt(A|0,f|0,52)|0,Z()|0,M=M&15;do if(M){if(y=Ol(A,f,T)|0,!y){I=+J[T>>3],U=1/+li(+I),q=+J[25968+(M<<3)>>3],J[p>>3]=I+q,J[p+8>>3]=I-q,I=+J[T+8>>3],U=q*U,J[p+16>>3]=U+I,J[p+24>>3]=I-U;break}return M=y,K=N,M|0}else{if(y=bt(A|0,f|0,45)|0,Z()|0,y=y&127,y>>>0>121)return M=5,K=N,M|0;T=22064+(y<<5)|0,d[p>>2]=d[T>>2],d[p+4>>2]=d[T+4>>2],d[p+8>>2]=d[T+8>>2],d[p+12>>2]=d[T+12>>2],d[p+16>>2]=d[T+16>>2],d[p+20>>2]=d[T+20>>2],d[p+24>>2]=d[T+24>>2],d[p+28>>2]=d[T+28>>2];break}while(!1);return Ws(p,_?1.4:1.1),_=26096+(M<<3)|0,(d[_>>2]|0)==(A|0)&&(d[_+4>>2]|0)==(f|0)&&(J[p>>3]=1.5707963267948966),M=26224+(M<<3)|0,(d[M>>2]|0)==(A|0)&&(d[M+4>>2]|0)==(f|0)&&(J[p+8>>3]=-1.5707963267948966),+J[p>>3]!=1.5707963267948966&&+J[p+8>>3]!=-1.5707963267948966?(M=0,K=N,M|0):(J[p+16>>3]=3.141592653589793,J[p+24>>3]=-3.141592653589793,M=0,K=N,M|0)}function Ca(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0;I=K,K=K+48|0,M=I+32|0,T=I+40|0,N=I,Iu(M,0,0,0),U=d[M>>2]|0,M=d[M+4>>2]|0;do if(p>>>0<=15){if(y=Ra(_)|0,y|0){_=N,d[_>>2]=0,d[_+4>>2]=0,d[N+8>>2]=y,d[N+12>>2]=-1,_=N+16|0,U=N+29|0,d[_>>2]=0,d[_+4>>2]=0,d[_+8>>2]=0,st[_+12>>0]=0,st[U>>0]=st[T>>0]|0,st[U+1>>0]=st[T+1>>0]|0,st[U+2>>0]=st[T+2>>0]|0;break}if(y=Ks((d[f+8>>2]|0)+1|0,32)|0,y){Na(f,y),q=N,d[q>>2]=U,d[q+4>>2]=M,d[N+8>>2]=0,d[N+12>>2]=p,d[N+16>>2]=_,d[N+20>>2]=f,d[N+24>>2]=y,st[N+28>>0]=0,U=N+29|0,st[U>>0]=st[T>>0]|0,st[U+1>>0]=st[T+1>>0]|0,st[U+2>>0]=st[T+2>>0]|0;break}else{_=N,d[_>>2]=0,d[_+4>>2]=0,d[N+8>>2]=13,d[N+12>>2]=-1,_=N+16|0,U=N+29|0,d[_>>2]=0,d[_+4>>2]=0,d[_+8>>2]=0,st[_+12>>0]=0,st[U>>0]=st[T>>0]|0,st[U+1>>0]=st[T+1>>0]|0,st[U+2>>0]=st[T+2>>0]|0;break}}else U=N,d[U>>2]=0,d[U+4>>2]=0,d[N+8>>2]=4,d[N+12>>2]=-1,U=N+16|0,q=N+29|0,d[U>>2]=0,d[U+4>>2]=0,d[U+8>>2]=0,st[U+12>>0]=0,st[q>>0]=st[T>>0]|0,st[q+1>>0]=st[T+1>>0]|0,st[q+2>>0]=st[T+2>>0]|0;while(!1);al(N),d[A>>2]=d[N>>2],d[A+4>>2]=d[N+4>>2],d[A+8>>2]=d[N+8>>2],d[A+12>>2]=d[N+12>>2],d[A+16>>2]=d[N+16>>2],d[A+20>>2]=d[N+20>>2],d[A+24>>2]=d[N+24>>2],d[A+28>>2]=d[N+28>>2],K=I}function al(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0,Re=0;if(Re=K,K=K+336|0,Ae=Re+168|0,me=Re,_=A,p=d[_>>2]|0,_=d[_+4>>2]|0,(p|0)==0&(_|0)==0){K=Re;return}if(f=A+28|0,st[f>>0]|0?(p=Xu(p,_)|0,_=Z()|0):st[f>>0]=1,ke=A+20|0,!(d[d[ke>>2]>>2]|0)){f=A+24|0,p=d[f>>2]|0,p|0&&An(p),qe=A,d[qe>>2]=0,d[qe+4>>2]=0,d[A+8>>2]=0,d[ke>>2]=0,d[A+12>>2]=-1,d[A+16>>2]=0,d[f>>2]=0,K=Re;return}qe=A+16|0,f=d[qe>>2]|0,y=f&15;e:do if((p|0)==0&(_|0)==0)Xe=A+24|0;else{Ce=A+12|0,ie=(y|0)==3,q=f&255,U=(y|1|0)==3,pe=A+24|0,I=(y+-1|0)>>>0<3,M=(y|2|0)==3,N=me+8|0;t:for(;;){if(T=bt(p|0,_|0,52)|0,Z()|0,T=T&15,(T|0)==(d[Ce>>2]|0)){switch(q&15){case 0:case 2:case 3:{if(y=Ol(p,_,Ae)|0,y|0){Be=15;break t}if(Da(d[ke>>2]|0,d[pe>>2]|0,Ae)|0){Be=19;break t}break}}if(U&&(y=d[(d[ke>>2]|0)+4>>2]|0,d[Ae>>2]=d[y>>2],d[Ae+4>>2]=d[y+4>>2],d[Ae+8>>2]=d[y+8>>2],d[Ae+12>>2]=d[y+12>>2],Lo(26832,Ae)|0)){if(PA(d[(d[ke>>2]|0)+4>>2]|0,T,me)|0){Be=25;break}if(y=me,(d[y>>2]|0)==(p|0)&&(d[y+4>>2]|0)==(_|0)){Be=29;break}}if(I){if(y=Il(p,_,Ae)|0,y|0){Be=32;break}if(FA(p,_,me,0)|0){Be=36;break}if(M&&Oo(d[ke>>2]|0,d[pe>>2]|0,Ae,me)|0){Be=42;break}if(U&&zA(d[ke>>2]|0,d[pe>>2]|0,Ae,me)|0){Be=42;break}}if(ie){if(f=FA(p,_,Ae,1)|0,y=d[pe>>2]|0,f|0){Be=45;break}if(nf(y,Ae)|0){if(rf(me,Ae),np(Ae,d[pe>>2]|0)|0){Be=53;break}if(Da(d[ke>>2]|0,d[pe>>2]|0,N)|0){Be=53;break}if(zA(d[ke>>2]|0,d[pe>>2]|0,me,Ae)|0){Be=53;break}}}}do if((T|0)<(d[Ce>>2]|0)){if(f=FA(p,_,Ae,1)|0,y=d[pe>>2]|0,f|0){Be=58;break t}if(!(nf(y,Ae)|0)){Be=73;break}if(np(d[pe>>2]|0,Ae)|0&&(rf(me,Ae),Oo(d[ke>>2]|0,d[pe>>2]|0,me,Ae)|0)){Be=65;break t}if(p=DA(p,_,T+1|0,me)|0,p|0){Be=67;break t}_=me,p=d[_>>2]|0,_=d[_+4>>2]|0}else Be=73;while(!1);if((Be|0)==73&&(Be=0,p=Xu(p,_)|0,_=Z()|0),(p|0)==0&(_|0)==0){Xe=pe;break e}}switch(Be|0){case 15:{f=d[pe>>2]|0,f|0&&An(f),Be=A,d[Be>>2]=0,d[Be+4>>2]=0,d[ke>>2]=0,d[Ce>>2]=-1,d[qe>>2]=0,d[pe>>2]=0,d[A+8>>2]=y,Be=20;break}case 19:{d[A>>2]=p,d[A+4>>2]=_,Be=20;break}case 25:{Ut(27795,27761,470,27772);break}case 29:{d[A>>2]=p,d[A+4>>2]=_,K=Re;return}case 32:{f=d[pe>>2]|0,f|0&&An(f),Xe=A,d[Xe>>2]=0,d[Xe+4>>2]=0,d[ke>>2]=0,d[Ce>>2]=-1,d[qe>>2]=0,d[pe>>2]=0,d[A+8>>2]=y,K=Re;return}case 36:{Ut(27795,27761,493,27772);break}case 42:{d[A>>2]=p,d[A+4>>2]=_,K=Re;return}case 45:{y|0&&An(y),Be=A,d[Be>>2]=0,d[Be+4>>2]=0,d[ke>>2]=0,d[Ce>>2]=-1,d[qe>>2]=0,d[pe>>2]=0,d[A+8>>2]=f,Be=55;break}case 53:{d[A>>2]=p,d[A+4>>2]=_,Be=55;break}case 58:{y|0&&An(y),Be=A,d[Be>>2]=0,d[Be+4>>2]=0,d[ke>>2]=0,d[Ce>>2]=-1,d[qe>>2]=0,d[pe>>2]=0,d[A+8>>2]=f,Be=71;break}case 65:{d[A>>2]=p,d[A+4>>2]=_,Be=71;break}case 67:{f=d[pe>>2]|0,f|0&&An(f),Xe=A,d[Xe>>2]=0,d[Xe+4>>2]=0,d[ke>>2]=0,d[Ce>>2]=-1,d[qe>>2]=0,d[pe>>2]=0,d[A+8>>2]=p,K=Re;return}}if((Be|0)==20){K=Re;return}else if((Be|0)==55){K=Re;return}else if((Be|0)==71){K=Re;return}}while(!1);f=d[Xe>>2]|0,f|0&&An(f),Be=A,d[Be>>2]=0,d[Be+4>>2]=0,d[A+8>>2]=0,d[ke>>2]=0,d[A+12>>2]=-1,d[qe>>2]=0,d[Xe>>2]=0,K=Re}function Xu(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0;ie=K,K=K+16|0,q=ie,_=bt(A|0,f|0,52)|0,Z()|0,_=_&15,p=bt(A|0,f|0,45)|0,Z()|0;do if(_){for(;p=Nt(_+4095|0,0,52)|0,y=Z()|0|f&-15728641,T=(15-_|0)*3|0,M=Nt(7,0,T|0)|0,N=Z()|0,p=p|A|M,y=y|N,U=bt(A|0,f|0,T|0)|0,Z()|0,U=U&7,_=_+-1|0,!(U>>>0<6);)if(_)f=y,A=p;else{I=4;break}if((I|0)==4){p=bt(p|0,y|0,45)|0,Z()|0;break}return q=(U|0)==0&(Ci(p,y)|0)!=0,q=Nt((q?2:1)+U|0,0,T|0)|0,I=Z()|0|f&~N,q=q|A&~M,ht(I|0),K=ie,q|0}while(!1);return p=p&127,p>>>0>120?(I=0,q=0,ht(I|0),K=ie,q|0):(Iu(q,0,p+1|0,0),I=d[q+4>>2]|0,q=d[q>>2]|0,ht(I|0),K=ie,q|0)}function kA(A,f,p,_,y,T){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0,T=T|0;var M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0;Be=K,K=K+160|0,ie=Be+80|0,N=Be+64|0,pe=Be+112|0,Ce=Be,Ca(ie,A,f,p),I=ie,sl(N,d[I>>2]|0,d[I+4>>2]|0,f),I=N,U=d[I>>2]|0,I=d[I+4>>2]|0,M=d[ie+8>>2]|0,Ae=pe+4|0,d[Ae>>2]=d[ie>>2],d[Ae+4>>2]=d[ie+4>>2],d[Ae+8>>2]=d[ie+8>>2],d[Ae+12>>2]=d[ie+12>>2],d[Ae+16>>2]=d[ie+16>>2],d[Ae+20>>2]=d[ie+20>>2],d[Ae+24>>2]=d[ie+24>>2],d[Ae+28>>2]=d[ie+28>>2],Ae=Ce,d[Ae>>2]=U,d[Ae+4>>2]=I,Ae=Ce+8|0,d[Ae>>2]=M,A=Ce+12|0,f=pe,p=A+36|0;do d[A>>2]=d[f>>2],A=A+4|0,f=f+4|0;while((A|0)<(p|0));if(pe=Ce+48|0,d[pe>>2]=d[N>>2],d[pe+4>>2]=d[N+4>>2],d[pe+8>>2]=d[N+8>>2],d[pe+12>>2]=d[N+12>>2],(U|0)==0&(I|0)==0)return Ce=M,K=Be,Ce|0;p=Ce+16|0,q=Ce+24|0,ie=Ce+28|0,M=0,N=0,f=U,A=I;do{if(!((M|0)<(y|0)|(M|0)==(y|0)&N>>>0<_>>>0)){me=4;break}if(I=N,N=Yt(N|0,M|0,1,0)|0,M=Z()|0,I=T+(I<<3)|0,d[I>>2]=f,d[I+4>>2]=A,uf(pe),A=pe,f=d[A>>2]|0,A=d[A+4>>2]|0,(f|0)==0&(A|0)==0){if(al(p),f=p,A=d[f>>2]|0,f=d[f+4>>2]|0,(A|0)==0&(f|0)==0){me=10;break}Vu(A,f,d[ie>>2]|0,pe),A=pe,f=d[A>>2]|0,A=d[A+4>>2]|0}I=Ce,d[I>>2]=f,d[I+4>>2]=A}while(!((f|0)==0&(A|0)==0));return(me|0)==4?(A=Ce+40|0,f=d[A>>2]|0,f|0&&An(f),me=Ce+16|0,d[me>>2]=0,d[me+4>>2]=0,d[q>>2]=0,d[Ce+36>>2]=0,d[ie>>2]=-1,d[Ce+32>>2]=0,d[A>>2]=0,Vu(0,0,0,pe),d[Ce>>2]=0,d[Ce+4>>2]=0,d[Ae>>2]=0,Ce=14,K=Be,Ce|0):((me|0)==10&&(d[Ce>>2]=0,d[Ce+4>>2]=0,d[Ae>>2]=d[q>>2]),Ce=d[Ae>>2]|0,K=Be,Ce|0)}function cf(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0;if(ie=K,K=K+48|0,U=ie+32|0,N=ie+40|0,I=ie,!(d[A>>2]|0))return q=_,d[q>>2]=0,d[q+4>>2]=0,q=0,K=ie,q|0;Iu(U,0,0,0),M=U,y=d[M>>2]|0,M=d[M+4>>2]|0;do if(f>>>0>15)q=I,d[q>>2]=0,d[q+4>>2]=0,d[I+8>>2]=4,d[I+12>>2]=-1,q=I+16|0,p=I+29|0,d[q>>2]=0,d[q+4>>2]=0,d[q+8>>2]=0,st[q+12>>0]=0,st[p>>0]=st[N>>0]|0,st[p+1>>0]=st[N+1>>0]|0,st[p+2>>0]=st[N+2>>0]|0,p=4,q=9;else{if(p=Ra(p)|0,p|0){U=I,d[U>>2]=0,d[U+4>>2]=0,d[I+8>>2]=p,d[I+12>>2]=-1,U=I+16|0,q=I+29|0,d[U>>2]=0,d[U+4>>2]=0,d[U+8>>2]=0,st[U+12>>0]=0,st[q>>0]=st[N>>0]|0,st[q+1>>0]=st[N+1>>0]|0,st[q+2>>0]=st[N+2>>0]|0,q=9;break}if(p=Ks((d[A+8>>2]|0)+1|0,32)|0,!p){q=I,d[q>>2]=0,d[q+4>>2]=0,d[I+8>>2]=13,d[I+12>>2]=-1,q=I+16|0,p=I+29|0,d[q>>2]=0,d[q+4>>2]=0,d[q+8>>2]=0,st[q+12>>0]=0,st[p>>0]=st[N>>0]|0,st[p+1>>0]=st[N+1>>0]|0,st[p+2>>0]=st[N+2>>0]|0,p=13,q=9;break}Na(A,p),Ae=I,d[Ae>>2]=y,d[Ae+4>>2]=M,M=I+8|0,d[M>>2]=0,d[I+12>>2]=f,d[I+20>>2]=A,d[I+24>>2]=p,st[I+28>>0]=0,y=I+29|0,st[y>>0]=st[N>>0]|0,st[y+1>>0]=st[N+1>>0]|0,st[y+2>>0]=st[N+2>>0]|0,d[I+16>>2]=3,pe=+tf(p),pe=pe*+il(p),T=+un(+ +J[p>>3]),T=pe/+li(+ +df(+T,+ +un(+ +J[p+8>>3])))*6371.007180918475*6371.007180918475,y=I+12|0,p=d[y>>2]|0;e:do if((p|0)>0)do{if(dp(p+-1|0,U)|0,!(T/+J[U>>3]>10))break e;Ae=d[y>>2]|0,p=Ae+-1|0,d[y>>2]=p}while((Ae|0)>1);while(!1);if(al(I),y=_,d[y>>2]=0,d[y+4>>2]=0,y=I,p=d[y>>2]|0,y=d[y+4>>2]|0,!((p|0)==0&(y|0)==0))do lf(p,y,f,U)|0,N=U,A=_,N=Yt(d[A>>2]|0,d[A+4>>2]|0,d[N>>2]|0,d[N+4>>2]|0)|0,A=Z()|0,Ae=_,d[Ae>>2]=N,d[Ae+4>>2]=A,al(I),Ae=I,p=d[Ae>>2]|0,y=d[Ae+4>>2]|0;while(!((p|0)==0&(y|0)==0));p=d[M>>2]|0}while(!1);return Ae=p,K=ie,Ae|0}function Ts(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0;if(!(Lo(f,p)|0)||(f=TA(f)|0,_=+J[p>>3],y=+J[p+8>>3],y=f&y<0?y+6.283185307179586:y,pe=d[A>>2]|0,(pe|0)<=0))return pe=0,pe|0;if(ie=d[A+4>>2]|0,f){f=0,q=y,p=-1,A=0;e:for(;;){for(I=A;M=+J[ie+(I<<4)>>3],y=+J[ie+(I<<4)+8>>3],A=(p+2|0)%(pe|0)|0,T=+J[ie+(A<<4)>>3],N=+J[ie+(A<<4)+8>>3],M>T?(U=M,M=N):(U=T,T=M,M=y,y=N),_=_==T|_==U?_+2220446049250313e-31:_,!!(_U);)if(p=I+1|0,(p|0)>=(pe|0)){p=22;break e}else A=I,I=p,p=A;if(N=M<0?M+6.283185307179586:M,M=y<0?y+6.283185307179586:y,q=N==q|M==q?q+-2220446049250313e-31:q,U=N+(M-N)*((_-T)/(U-T)),(U<0?U+6.283185307179586:U)>q&&(f=f^1),A=I+1|0,(A|0)>=(pe|0)){p=22;break}else p=I}if((p|0)==22)return f|0}else{f=0,q=y,p=-1,A=0;e:for(;;){for(I=A;M=+J[ie+(I<<4)>>3],y=+J[ie+(I<<4)+8>>3],A=(p+2|0)%(pe|0)|0,T=+J[ie+(A<<4)>>3],N=+J[ie+(A<<4)+8>>3],M>T?(U=M,M=N):(U=T,T=M,M=y,y=N),_=_==T|_==U?_+2220446049250313e-31:_,!!(_U);)if(p=I+1|0,(p|0)>=(pe|0)){p=22;break e}else A=I,I=p,p=A;if(q=M==q|y==q?q+-2220446049250313e-31:q,M+(y-M)*((_-T)/(U-T))>q&&(f=f^1),A=I+1|0,(A|0)>=(pe|0)){p=22;break}else p=I}if((p|0)==22)return f|0}return 0}function pa(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0;if(me=d[A>>2]|0,!me){d[f>>2]=0,d[f+4>>2]=0,d[f+8>>2]=0,d[f+12>>2]=0,d[f+16>>2]=0,d[f+20>>2]=0,d[f+24>>2]=0,d[f+28>>2]=0;return}if(Ce=f+8|0,J[Ce>>3]=17976931348623157e292,Be=f+24|0,J[Be>>3]=17976931348623157e292,J[f>>3]=-17976931348623157e292,Xe=f+16|0,J[Xe>>3]=-17976931348623157e292,!((me|0)<=0)){for(pe=d[A+4>>2]|0,I=17976931348623157e292,q=-17976931348623157e292,ie=0,A=-1,T=17976931348623157e292,M=17976931348623157e292,U=-17976931348623157e292,_=-17976931348623157e292,Ae=0;p=+J[pe+(Ae<<4)>>3],N=+J[pe+(Ae<<4)+8>>3],A=A+2|0,y=+J[pe+(((A|0)==(me|0)?0:A)<<4)+8>>3],p>3]=p,T=p),N>3]=N,M=N),p>U?J[f>>3]=p:p=U,N>_&&(J[Xe>>3]=N,_=N),I=N>0&Nq?N:q,ie=ie|+un(+(N-y))>3.141592653589793,A=Ae+1|0,(A|0)!=(me|0);)qe=Ae,U=p,Ae=A,A=qe;ie&&(J[Xe>>3]=q,J[Be>>3]=I)}}function Ra(A){return A=A|0,(A>>>0<4?0:15)|0}function Na(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0,Re=0,Pt=0,rn=0,en=0;if(me=d[A>>2]|0,me){if(Ce=f+8|0,J[Ce>>3]=17976931348623157e292,Be=f+24|0,J[Be>>3]=17976931348623157e292,J[f>>3]=-17976931348623157e292,Xe=f+16|0,J[Xe>>3]=-17976931348623157e292,(me|0)>0){for(y=d[A+4>>2]|0,pe=17976931348623157e292,Ae=-17976931348623157e292,_=0,p=-1,U=17976931348623157e292,I=17976931348623157e292,ie=-17976931348623157e292,M=-17976931348623157e292,qe=0;T=+J[y+(qe<<4)>>3],q=+J[y+(qe<<4)+8>>3],rn=p+2|0,N=+J[y+(((rn|0)==(me|0)?0:rn)<<4)+8>>3],T>3]=T,U=T),q>3]=q,I=q),T>ie?J[f>>3]=T:T=ie,q>M&&(J[Xe>>3]=q,M=q),pe=q>0&qAe?q:Ae,_=_|+un(+(q-N))>3.141592653589793,p=qe+1|0,(p|0)!=(me|0);)rn=qe,ie=T,qe=p,p=rn;_&&(J[Xe>>3]=Ae,J[Be>>3]=pe)}}else d[f>>2]=0,d[f+4>>2]=0,d[f+8>>2]=0,d[f+12>>2]=0,d[f+16>>2]=0,d[f+20>>2]=0,d[f+24>>2]=0,d[f+28>>2]=0;if(rn=A+8|0,p=d[rn>>2]|0,!((p|0)<=0)){Pt=A+12|0,Re=0;do if(y=d[Pt>>2]|0,_=Re,Re=Re+1|0,Be=f+(Re<<5)|0,Xe=d[y+(_<<3)>>2]|0,Xe){if(qe=f+(Re<<5)+8|0,J[qe>>3]=17976931348623157e292,A=f+(Re<<5)+24|0,J[A>>3]=17976931348623157e292,J[Be>>3]=-17976931348623157e292,ke=f+(Re<<5)+16|0,J[ke>>3]=-17976931348623157e292,(Xe|0)>0){for(me=d[y+(_<<3)+4>>2]|0,pe=17976931348623157e292,Ae=-17976931348623157e292,y=0,_=-1,Ce=0,U=17976931348623157e292,I=17976931348623157e292,q=-17976931348623157e292,M=-17976931348623157e292;T=+J[me+(Ce<<4)>>3],ie=+J[me+(Ce<<4)+8>>3],_=_+2|0,N=+J[me+(((_|0)==(Xe|0)?0:_)<<4)+8>>3],T>3]=T,U=T),ie>3]=ie,I=ie),T>q?J[Be>>3]=T:T=q,ie>M&&(J[ke>>3]=ie,M=ie),pe=ie>0&ieAe?ie:Ae,y=y|+un(+(ie-N))>3.141592653589793,_=Ce+1|0,(_|0)!=(Xe|0);)en=Ce,Ce=_,q=T,_=en;y&&(J[ke>>3]=Ae,J[A>>3]=pe)}}else d[Be>>2]=0,d[Be+4>>2]=0,d[Be+8>>2]=0,d[Be+12>>2]=0,d[Be+16>>2]=0,d[Be+20>>2]=0,d[Be+24>>2]=0,d[Be+28>>2]=0,p=d[rn>>2]|0;while((Re|0)<(p|0))}}function Da(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0;if(!(Ts(A,f,p)|0))return y=0,y|0;if(y=A+8|0,(d[y>>2]|0)<=0)return y=1,y|0;for(_=A+12|0,A=0;;){if(T=A,A=A+1|0,Ts((d[_>>2]|0)+(T<<3)|0,f+(A<<5)|0,p)|0){A=0,_=6;break}if((A|0)>=(d[y>>2]|0)){A=1,_=6;break}}return(_|0)==6?A|0:0}function Oo(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0;if(I=K,K=K+16|0,N=I,M=p+8|0,!(Ts(A,f,M)|0))return U=0,K=I,U|0;U=A+8|0;e:do if((d[U>>2]|0)>0){for(T=A+12|0,y=0;;){if(q=y,y=y+1|0,Ts((d[T>>2]|0)+(q<<3)|0,f+(y<<5)|0,M)|0){y=0;break}if((y|0)>=(d[U>>2]|0))break e}return K=I,y|0}while(!1);if(hf(A,f,p,_)|0)return q=0,K=I,q|0;d[N>>2]=d[p>>2],d[N+4>>2]=M,y=d[U>>2]|0;e:do if((y|0)>0)for(A=A+12|0,M=0,T=y;;){if(y=d[A>>2]|0,(d[y+(M<<3)>>2]|0)>0){if(Ts(N,_,d[y+(M<<3)+4>>2]|0)|0){y=0;break e}if(y=M+1|0,hf((d[A>>2]|0)+(M<<3)|0,f+(y<<5)|0,p,_)|0){y=0;break e}T=d[U>>2]|0}else y=M+1|0;if((y|0)<(T|0))M=y;else{y=1;break}}else y=1;while(!1);return q=y,K=I,q|0}function hf(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0,Re=0,Pt=0,rn=0,en=0,Un=0;if(rn=K,K=K+176|0,qe=rn+172|0,y=rn+168|0,ke=rn,!(nf(f,_)|0))return A=0,K=rn,A|0;if(wA(f,_,qe,y),Gl(ke|0,p|0,168)|0,(d[p>>2]|0)>0){f=0;do en=ke+8+(f<<4)+8|0,Xe=+Xs(+J[en>>3],d[y>>2]|0),J[en>>3]=Xe,f=f+1|0;while((f|0)<(d[p>>2]|0))}Ce=+J[_>>3],Be=+J[_+8>>3],Xe=+Xs(+J[_+16>>3],d[y>>2]|0),Ae=+Xs(+J[_+24>>3],d[y>>2]|0);e:do if((d[A>>2]|0)>0){if(_=A+4|0,y=d[ke>>2]|0,(y|0)<=0){for(f=0;;)if(f=f+1|0,(f|0)>=(d[A>>2]|0)){f=0;break e}}for(p=0;;){if(f=d[_>>2]|0,pe=+J[f+(p<<4)>>3],me=+Xs(+J[f+(p<<4)+8>>3],d[qe>>2]|0),f=d[_>>2]|0,p=p+1|0,en=(p|0)%(d[A>>2]|0)|0,T=+J[f+(en<<4)>>3],M=+Xs(+J[f+(en<<4)+8>>3],d[qe>>2]|0),!(pe>=Ce)|!(T>=Ce)&&!(pe<=Be)|!(T<=Be)&&!(me<=Ae)|!(M<=Ae)&&!(me>=Xe)|!(M>=Xe)){ie=T-pe,I=M-me,f=0;do if(Un=f,f=f+1|0,en=(f|0)==(y|0)?0:f,T=+J[ke+8+(Un<<4)+8>>3],M=+J[ke+8+(en<<4)+8>>3]-T,N=+J[ke+8+(Un<<4)>>3],U=+J[ke+8+(en<<4)>>3]-N,q=ie*M-I*U,q!=0&&(Re=me-T,Pt=pe-N,U=(Re*U-M*Pt)/q,!(U<0|U>1))&&(q=(ie*Re-I*Pt)/q,q>=0&q<=1)){f=1;break e}while((f|0)<(y|0))}if((p|0)>=(d[A>>2]|0)){f=0;break}}}else f=0;while(!1);return Un=f,K=rn,Un|0}function zA(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0;if(hf(A,f,p,_)|0)return T=1,T|0;if(T=A+8|0,(d[T>>2]|0)<=0)return T=0,T|0;for(y=A+12|0,A=0;;){if(M=A,A=A+1|0,hf((d[y>>2]|0)+(M<<3)|0,f+(A<<5)|0,p,_)|0){A=1,y=6;break}if((A|0)>=(d[T>>2]|0)){A=0,y=6;break}}return(y|0)==6?A|0:0}function _p(){return 8}function R1(){return 16}function fs(){return 168}function sr(){return 8}function mi(){return 16}function kl(){return 12}function Pa(){return 8}function yp(A){return A=A|0,+(+((d[A>>2]|0)>>>0)+4294967296*+(d[A+4>>2]|0))}function zl(A){A=A|0;var f=0,p=0;return p=+J[A>>3],f=+J[A+8>>3],+ +qn(+(p*p+f*f))}function xp(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0;I=+J[A>>3],U=+J[f>>3]-I,N=+J[A+8>>3],M=+J[f+8>>3]-N,ie=+J[p>>3],T=+J[_>>3]-ie,pe=+J[p+8>>3],q=+J[_+8>>3]-pe,T=(T*(N-pe)-(I-ie)*q)/(U*q-M*T),J[y>>3]=I+U*T,J[y+8>>3]=N+M*T}function bp(A,f){return A=A|0,f=f|0,+un(+(+J[A>>3]-+J[f>>3]))<11920928955078125e-23?(f=+un(+(+J[A+8>>3]-+J[f+8>>3]))<11920928955078125e-23,f|0):(f=0,f|0)}function ar(A,f){A=A|0,f=f|0;var p=0,_=0,y=0;return y=+J[A>>3]-+J[f>>3],_=+J[A+8>>3]-+J[f+8>>3],p=+J[A+16>>3]-+J[f+16>>3],+(y*y+_*_+p*p)}function Yu(A,f){A=A|0,f=f|0;var p=0,_=0,y=0;p=+J[A>>3],_=+li(+p),p=+Fn(+p),J[f+16>>3]=p,p=+J[A+8>>3],y=_*+li(+p),J[f>>3]=y,p=_*+Fn(+p),J[f+8>>3]=p}function Sp(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0;if(T=K,K=K+16|0,y=T,_=Ci(A,f)|0,(p+-1|0)>>>0>5||(_=(_|0)!=0,(p|0)==1&_))return y=-1,K=T,y|0;do if(ol(A,f,y)|0)_=-1;else if(_){_=((d[26352+(p<<2)>>2]|0)+5-(d[y>>2]|0)|0)%5|0;break}else{_=((d[26384+(p<<2)>>2]|0)+6-(d[y>>2]|0)|0)%6|0;break}while(!1);return y=_,K=T,y|0}function ol(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0;if(q=K,K=K+32|0,N=q+16|0,U=q,_=zu(A,f,N)|0,_|0)return p=_,K=q,p|0;T=g1(A,f)|0,I=$s(A,f)|0,tp(T,U),_=$c(T,d[N>>2]|0)|0;do if(Bi(T)|0){do switch(T|0){case 4:{y=0;break}case 14:{y=1;break}case 24:{y=2;break}case 38:{y=3;break}case 49:{y=4;break}case 58:{y=5;break}case 63:{y=6;break}case 72:{y=7;break}case 83:{y=8;break}case 97:{y=9;break}case 107:{y=10;break}case 117:{y=11;break}default:Ut(27795,27797,75,27806)}while(!1);if(M=d[26416+(y*24|0)+8>>2]|0,f=d[26416+(y*24|0)+16>>2]|0,A=d[N>>2]|0,(A|0)!=(d[U>>2]|0)&&(U=Wc(T)|0,A=d[N>>2]|0,U|(A|0)==(f|0)&&(_=(_+1|0)%6|0)),(I|0)==3&(A|0)==(f|0)){_=(_+5|0)%6|0;break}(I|0)==5&(A|0)==(M|0)&&(_=(_+1|0)%6|0)}while(!1);return d[p>>2]=_,p=0,K=q,p|0}function Qs(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0;if(ke=K,K=K+32|0,qe=ke+24|0,Be=ke+20|0,me=ke+8|0,Ae=ke+16|0,pe=ke,U=(Ci(A,f)|0)==0,U=U?6:5,q=bt(A|0,f|0,52)|0,Z()|0,q=q&15,U>>>0<=p>>>0)return _=2,K=ke,_|0;ie=(q|0)==0,!ie&&(Ce=Nt(7,0,(q^15)*3|0)|0,(Ce&A|0)==0&((Z()|0)&f|0)==0)?y=p:T=4;e:do if((T|0)==4){if(y=(Ci(A,f)|0)!=0,((y?4:5)|0)<(p|0)||ol(A,f,qe)|0||(T=(d[qe>>2]|0)+p|0,y?y=26704+(((T|0)%5|0)<<2)|0:y=26736+(((T|0)%6|0)<<2)|0,Ce=d[y>>2]|0,(Ce|0)==7))return _=1,K=ke,_|0;d[Be>>2]=0,y=cn(A,f,Ce,Be,me)|0;do if(!y){if(N=me,I=d[N>>2]|0,N=d[N+4>>2]|0,M=N>>>0>>0|(N|0)==(f|0)&I>>>0>>0,T=M?I:A,M=M?N:f,!ie&&(ie=Nt(7,0,(q^15)*3|0)|0,(I&ie|0)==0&(N&(Z()|0)|0)==0))y=p;else{if(N=(p+-1+U|0)%(U|0)|0,y=Ci(A,f)|0,(N|0)<0&&Ut(27795,27797,248,27822),U=(y|0)!=0,((U?4:5)|0)<(N|0)&&Ut(27795,27797,248,27822),ol(A,f,qe)|0&&Ut(27795,27797,248,27822),y=(d[qe>>2]|0)+N|0,U?y=26704+(((y|0)%5|0)<<2)|0:y=26736+(((y|0)%6|0)<<2)|0,N=d[y>>2]|0,(N|0)==7&&Ut(27795,27797,248,27822),d[Ae>>2]=0,y=cn(A,f,N,Ae,pe)|0,y|0)break;I=pe,U=d[I>>2]|0,I=d[I+4>>2]|0;do if(I>>>0>>0|(I|0)==(M|0)&U>>>0>>0){if(Ci(U,I)|0?T=pi(U,I,A,f)|0:T=d[26800+((((d[Ae>>2]|0)+(d[26768+(N<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,y=Ci(U,I)|0,(T+-1|0)>>>0>5){y=-1,T=U,M=I;break}if(y=(y|0)!=0,(T|0)==1&y){y=-1,T=U,M=I;break}do if(ol(U,I,qe)|0)y=-1;else if(y){y=((d[26352+(T<<2)>>2]|0)+5-(d[qe>>2]|0)|0)%5|0;break}else{y=((d[26384+(T<<2)>>2]|0)+6-(d[qe>>2]|0)|0)%6|0;break}while(!1);T=U,M=I}else y=p;while(!1);N=me,I=d[N>>2]|0,N=d[N+4>>2]|0}if((T|0)==(I|0)&(M|0)==(N|0)){if(U=(Ci(I,N)|0)!=0,U?A=pi(I,N,A,f)|0:A=d[26800+((((d[Be>>2]|0)+(d[26768+(Ce<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,y=Ci(I,N)|0,(A+-1|0)>>>0<=5&&(Xe=(y|0)!=0,!((A|0)==1&Xe)))do if(ol(I,N,qe)|0)y=-1;else if(Xe){y=((d[26352+(A<<2)>>2]|0)+5-(d[qe>>2]|0)|0)%5|0;break}else{y=((d[26384+(A<<2)>>2]|0)+6-(d[qe>>2]|0)|0)%6|0;break}while(!1);else y=-1;y=y+1|0,y=(y|0)==6|U&(y|0)==5?0:y}f=M,A=T;break e}while(!1);return _=y,K=ke,_|0}while(!1);return Xe=Nt(y|0,0,56)|0,qe=Z()|0|f&-2130706433|536870912,d[_>>2]=Xe|A,d[_+4>>2]=qe,_=0,K=ke,_|0}function Qu(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0;return T=(Ci(A,f)|0)==0,_=Qs(A,f,0,p)|0,y=(_|0)==0,T?!y||(_=Qs(A,f,1,p+8|0)|0,_|0)||(_=Qs(A,f,2,p+16|0)|0,_|0)||(_=Qs(A,f,3,p+24|0)|0,_|0)||(_=Qs(A,f,4,p+32|0)|0,_)?(T=_,T|0):Qs(A,f,5,p+40|0)|0:!y||(_=Qs(A,f,1,p+8|0)|0,_|0)||(_=Qs(A,f,2,p+16|0)|0,_|0)||(_=Qs(A,f,3,p+24|0)|0,_|0)||(_=Qs(A,f,4,p+32|0)|0,_|0)?(T=_,T|0):(T=p+40|0,d[T>>2]=0,d[T+4>>2]=0,T=0,T|0)}function ll(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0;return U=K,K=K+192|0,y=U,T=U+168|0,M=bt(A|0,f|0,56)|0,Z()|0,M=M&7,N=f&-2130706433|134217728,_=zu(A,N,T)|0,_|0?(N=_,K=U,N|0):(f=bt(A|0,f|0,52)|0,Z()|0,f=f&15,Ci(A,N)|0?sp(T,f,M,1,y):RA(T,f,M,1,y),N=y+8|0,d[p>>2]=d[N>>2],d[p+4>>2]=d[N+4>>2],d[p+8>>2]=d[N+8>>2],d[p+12>>2]=d[N+12>>2],N=0,K=U,N|0)}function ul(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0;return y=K,K=K+16|0,p=y,!(!0&(f&2013265920|0)==536870912)||(_=f&-2130706433|134217728,!(NA(A,_)|0))?(_=0,K=y,_|0):(T=bt(A|0,f|0,56)|0,Z()|0,T=(Qs(A,_,T&7,p)|0)==0,_=p,_=T&((d[_>>2]|0)==(A|0)?(d[_+4>>2]|0)==(f|0):0)&1,K=y,_|0)}function Io(A,f,p){A=A|0,f=f|0,p=p|0;var _=0;(f|0)>0?(_=Ks(f,4)|0,d[A>>2]=_,_||Ut(27835,27858,40,27872)):d[A>>2]=0,d[A+4>>2]=f,d[A+8>>2]=0,d[A+12>>2]=p}function GA(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0;y=A+4|0,T=A+12|0,M=A+8|0;e:for(;;){for(p=d[y>>2]|0,f=0;;){if((f|0)>=(p|0))break e;if(_=d[A>>2]|0,N=d[_+(f<<2)>>2]|0,!N)f=f+1|0;else break}f=_+(~~(+un(+(+Hs(10,+ +(15-(d[T>>2]|0)|0))*(+J[N>>3]+ +J[N+8>>3])))%+(p|0))>>>0<<2)|0,p=d[f>>2]|0;t:do if(p|0){if(_=N+32|0,(p|0)==(N|0))d[f>>2]=d[_>>2];else{if(p=p+32|0,f=d[p>>2]|0,!f)break;for(;(f|0)!=(N|0);)if(p=f+32|0,f=d[p>>2]|0,!f)break t;d[p>>2]=d[_>>2]}An(N),d[M>>2]=(d[M>>2]|0)+-1}while(!1)}An(d[A>>2]|0)}function qA(A){A=A|0;var f=0,p=0,_=0;for(_=d[A+4>>2]|0,p=0;;){if((p|0)>=(_|0)){f=0,p=4;break}if(f=d[(d[A>>2]|0)+(p<<2)>>2]|0,!f)p=p+1|0;else{p=4;break}}return(p|0)==4?f|0:0}function Ku(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0;if(p=~~(+un(+(+Hs(10,+ +(15-(d[A+12>>2]|0)|0))*(+J[f>>3]+ +J[f+8>>3])))%+(d[A+4>>2]|0))>>>0,p=(d[A>>2]|0)+(p<<2)|0,_=d[p>>2]|0,!_)return T=1,T|0;T=f+32|0;do if((_|0)!=(f|0)){if(p=d[_+32>>2]|0,!p)return T=1,T|0;for(y=p;;){if((y|0)==(f|0)){y=8;break}if(p=d[y+32>>2]|0,p)_=y,y=p;else{p=1,y=10;break}}if((y|0)==8){d[_+32>>2]=d[T>>2];break}else if((y|0)==10)return p|0}else d[p>>2]=d[T>>2];while(!1);return An(f),T=A+8|0,d[T>>2]=(d[T>>2]|0)+-1,T=0,T|0}function VA(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0;T=Fo(40)|0,T||Ut(27888,27858,98,27901),d[T>>2]=d[f>>2],d[T+4>>2]=d[f+4>>2],d[T+8>>2]=d[f+8>>2],d[T+12>>2]=d[f+12>>2],y=T+16|0,d[y>>2]=d[p>>2],d[y+4>>2]=d[p+4>>2],d[y+8>>2]=d[p+8>>2],d[y+12>>2]=d[p+12>>2],d[T+32>>2]=0,y=~~(+un(+(+Hs(10,+ +(15-(d[A+12>>2]|0)|0))*(+J[f>>3]+ +J[f+8>>3])))%+(d[A+4>>2]|0))>>>0,y=(d[A>>2]|0)+(y<<2)|0,_=d[y>>2]|0;do if(!_)d[y>>2]=T;else{for(;!(Ea(_,f)|0&&Ea(_+16|0,p)|0);)if(y=d[_+32>>2]|0,_=(y|0)==0?_:y,!(d[_+32>>2]|0)){M=10;break}if((M|0)==10){d[_+32>>2]=T;break}return An(T),M=_,M|0}while(!1);return M=A+8|0,d[M>>2]=(d[M>>2]|0)+1,M=T,M|0}function Zu(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0;if(y=~~(+un(+(+Hs(10,+ +(15-(d[A+12>>2]|0)|0))*(+J[f>>3]+ +J[f+8>>3])))%+(d[A+4>>2]|0))>>>0,y=d[(d[A>>2]|0)+(y<<2)>>2]|0,!y)return p=0,p|0;if(!p){for(A=y;;){if(Ea(A,f)|0){_=10;break}if(A=d[A+32>>2]|0,!A){A=0,_=10;break}}if((_|0)==10)return A|0}for(A=y;;){if(Ea(A,f)|0&&Ea(A+16|0,p)|0){_=10;break}if(A=d[A+32>>2]|0,!A){A=0,_=10;break}}return(_|0)==10?A|0:0}function As(A,f){A=A|0,f=f|0;var p=0;if(p=~~(+un(+(+Hs(10,+ +(15-(d[A+12>>2]|0)|0))*(+J[f>>3]+ +J[f+8>>3])))%+(d[A+4>>2]|0))>>>0,A=d[(d[A>>2]|0)+(p<<2)>>2]|0,!A)return p=0,p|0;for(;;){if(Ea(A,f)|0){f=5;break}if(A=d[A+32>>2]|0,!A){A=0,f=5;break}}return(f|0)==5?A|0:0}function HA(){return 27920}function cl(A){return A=+A,~~+pf(+A)|0}function Fo(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0,Re=0,Pt=0;Pt=K,K=K+16|0,pe=Pt;do if(A>>>0<245){if(I=A>>>0<11?16:A+11&-8,A=I>>>3,ie=d[6981]|0,p=ie>>>A,p&3|0)return f=(p&1^1)+A|0,A=27964+(f<<1<<2)|0,p=A+8|0,_=d[p>>2]|0,y=_+8|0,T=d[y>>2]|0,(T|0)==(A|0)?d[6981]=ie&~(1<>2]=A,d[p>>2]=T),Re=f<<3,d[_+4>>2]=Re|3,Re=_+Re+4|0,d[Re>>2]=d[Re>>2]|1,Re=y,K=Pt,Re|0;if(q=d[6983]|0,I>>>0>q>>>0){if(p|0)return f=2<>>12&16,f=f>>>N,p=f>>>5&8,f=f>>>p,T=f>>>2&4,f=f>>>T,A=f>>>1&2,f=f>>>A,_=f>>>1&1,_=(p|N|T|A|_)+(f>>>_)|0,f=27964+(_<<1<<2)|0,A=f+8|0,T=d[A>>2]|0,N=T+8|0,p=d[N>>2]|0,(p|0)==(f|0)?(A=ie&~(1<<_),d[6981]=A):(d[p+12>>2]=f,d[A>>2]=p,A=ie),Re=_<<3,M=Re-I|0,d[T+4>>2]=I|3,y=T+I|0,d[y+4>>2]=M|1,d[T+Re>>2]=M,q|0&&(_=d[6986]|0,f=q>>>3,p=27964+(f<<1<<2)|0,f=1<>2]|0):(d[6981]=A|f,f=p,A=p+8|0),d[A>>2]=_,d[f+12>>2]=_,d[_+8>>2]=f,d[_+12>>2]=p),d[6983]=M,d[6986]=y,Re=N,K=Pt,Re|0;if(T=d[6982]|0,T){for(p=(T&0-T)+-1|0,y=p>>>12&16,p=p>>>y,_=p>>>5&8,p=p>>>_,M=p>>>2&4,p=p>>>M,N=p>>>1&2,p=p>>>N,U=p>>>1&1,U=d[28228+((_|y|M|N|U)+(p>>>U)<<2)>>2]|0,p=U,N=U,U=(d[U+4>>2]&-8)-I|0;A=d[p+16>>2]|0,!(!A&&(A=d[p+20>>2]|0,!A));)M=(d[A+4>>2]&-8)-I|0,y=M>>>0>>0,p=A,N=y?A:N,U=y?M:U;if(M=N+I|0,M>>>0>N>>>0){y=d[N+24>>2]|0,f=d[N+12>>2]|0;do if((f|0)==(N|0)){if(A=N+20|0,f=d[A>>2]|0,!f&&(A=N+16|0,f=d[A>>2]|0,!f)){p=0;break}for(;;)if(_=f+20|0,p=d[_>>2]|0,p)f=p,A=_;else if(_=f+16|0,p=d[_>>2]|0,p)f=p,A=_;else break;d[A>>2]=0,p=f}else p=d[N+8>>2]|0,d[p+12>>2]=f,d[f+8>>2]=p,p=f;while(!1);do if(y|0){if(f=d[N+28>>2]|0,A=28228+(f<<2)|0,(N|0)==(d[A>>2]|0)){if(d[A>>2]=p,!p){d[6982]=T&~(1<>2]|0)==(N|0)?Re:y+20|0)>>2]=p,!p)break;d[p+24>>2]=y,f=d[N+16>>2]|0,f|0&&(d[p+16>>2]=f,d[f+24>>2]=p),f=d[N+20>>2]|0,f|0&&(d[p+20>>2]=f,d[f+24>>2]=p)}while(!1);return U>>>0<16?(Re=U+I|0,d[N+4>>2]=Re|3,Re=N+Re+4|0,d[Re>>2]=d[Re>>2]|1):(d[N+4>>2]=I|3,d[M+4>>2]=U|1,d[M+U>>2]=U,q|0&&(_=d[6986]|0,f=q>>>3,p=27964+(f<<1<<2)|0,f=1<>2]|0):(d[6981]=f|ie,f=p,A=p+8|0),d[A>>2]=_,d[f+12>>2]=_,d[_+8>>2]=f,d[_+12>>2]=p),d[6983]=U,d[6986]=M),Re=N+8|0,K=Pt,Re|0}else ie=I}else ie=I}else ie=I}else if(A>>>0<=4294967231)if(A=A+11|0,I=A&-8,_=d[6982]|0,_){y=0-I|0,A=A>>>8,A?I>>>0>16777215?U=31:(ie=(A+1048320|0)>>>16&8,Ce=A<>>16&4,Ce=Ce<>>16&2,U=14-(N|ie|U)+(Ce<>>15)|0,U=I>>>(U+7|0)&1|U<<1):U=0,p=d[28228+(U<<2)>>2]|0;e:do if(!p)p=0,A=0,Ce=61;else for(A=0,N=I<<((U|0)==31?0:25-(U>>>1)|0),T=0;;){if(M=(d[p+4>>2]&-8)-I|0,M>>>0>>0)if(M)A=p,y=M;else{A=p,y=0,Ce=65;break e}if(Ce=d[p+20>>2]|0,p=d[p+16+(N>>>31<<2)>>2]|0,T=(Ce|0)==0|(Ce|0)==(p|0)?T:Ce,p)N=N<<1;else{p=T,Ce=61;break}}while(!1);if((Ce|0)==61){if((p|0)==0&(A|0)==0){if(A=2<>>12&16,ie=ie>>>M,T=ie>>>5&8,ie=ie>>>T,N=ie>>>2&4,ie=ie>>>N,U=ie>>>1&2,ie=ie>>>U,p=ie>>>1&1,A=0,p=d[28228+((T|M|N|U|p)+(ie>>>p)<<2)>>2]|0}p?Ce=65:(N=A,M=y)}if((Ce|0)==65)for(T=p;;)if(ie=(d[T+4>>2]&-8)-I|0,p=ie>>>0>>0,y=p?ie:y,A=p?T:A,p=d[T+16>>2]|0,p||(p=d[T+20>>2]|0),p)T=p;else{N=A,M=y;break}if((N|0)!=0&&M>>>0<((d[6983]|0)-I|0)>>>0&&(q=N+I|0,q>>>0>N>>>0)){T=d[N+24>>2]|0,f=d[N+12>>2]|0;do if((f|0)==(N|0)){if(A=N+20|0,f=d[A>>2]|0,!f&&(A=N+16|0,f=d[A>>2]|0,!f)){f=0;break}for(;;)if(y=f+20|0,p=d[y>>2]|0,p)f=p,A=y;else if(y=f+16|0,p=d[y>>2]|0,p)f=p,A=y;else break;d[A>>2]=0}else Re=d[N+8>>2]|0,d[Re+12>>2]=f,d[f+8>>2]=Re;while(!1);do if(T){if(A=d[N+28>>2]|0,p=28228+(A<<2)|0,(N|0)==(d[p>>2]|0)){if(d[p>>2]=f,!f){_=_&~(1<>2]|0)==(N|0)?Re:T+20|0)>>2]=f,!f)break;d[f+24>>2]=T,A=d[N+16>>2]|0,A|0&&(d[f+16>>2]=A,d[A+24>>2]=f),A=d[N+20>>2]|0,A&&(d[f+20>>2]=A,d[A+24>>2]=f)}while(!1);e:do if(M>>>0<16)Re=M+I|0,d[N+4>>2]=Re|3,Re=N+Re+4|0,d[Re>>2]=d[Re>>2]|1;else{if(d[N+4>>2]=I|3,d[q+4>>2]=M|1,d[q+M>>2]=M,f=M>>>3,M>>>0<256){p=27964+(f<<1<<2)|0,A=d[6981]|0,f=1<>2]|0):(d[6981]=A|f,f=p,A=p+8|0),d[A>>2]=q,d[f+12>>2]=q,d[q+8>>2]=f,d[q+12>>2]=p;break}if(f=M>>>8,f?M>>>0>16777215?p=31:(ke=(f+1048320|0)>>>16&8,Re=f<>>16&4,Re=Re<>>16&2,p=14-(qe|ke|p)+(Re<

>>15)|0,p=M>>>(p+7|0)&1|p<<1):p=0,f=28228+(p<<2)|0,d[q+28>>2]=p,A=q+16|0,d[A+4>>2]=0,d[A>>2]=0,A=1<>2]=q,d[q+24>>2]=f,d[q+12>>2]=q,d[q+8>>2]=q;break}f=d[f>>2]|0;t:do if((d[f+4>>2]&-8|0)!=(M|0)){for(_=M<<((p|0)==31?0:25-(p>>>1)|0);p=f+16+(_>>>31<<2)|0,A=d[p>>2]|0,!!A;)if((d[A+4>>2]&-8|0)==(M|0)){f=A;break t}else _=_<<1,f=A;d[p>>2]=q,d[q+24>>2]=f,d[q+12>>2]=q,d[q+8>>2]=q;break e}while(!1);ke=f+8|0,Re=d[ke>>2]|0,d[Re+12>>2]=q,d[ke>>2]=q,d[q+8>>2]=Re,d[q+12>>2]=f,d[q+24>>2]=0}while(!1);return Re=N+8|0,K=Pt,Re|0}else ie=I}else ie=I;else ie=-1;while(!1);if(p=d[6983]|0,p>>>0>=ie>>>0)return f=p-ie|0,A=d[6986]|0,f>>>0>15?(Re=A+ie|0,d[6986]=Re,d[6983]=f,d[Re+4>>2]=f|1,d[A+p>>2]=f,d[A+4>>2]=ie|3):(d[6983]=0,d[6986]=0,d[A+4>>2]=p|3,Re=A+p+4|0,d[Re>>2]=d[Re>>2]|1),Re=A+8|0,K=Pt,Re|0;if(M=d[6984]|0,M>>>0>ie>>>0)return qe=M-ie|0,d[6984]=qe,Re=d[6987]|0,ke=Re+ie|0,d[6987]=ke,d[ke+4>>2]=qe|1,d[Re+4>>2]=ie|3,Re=Re+8|0,K=Pt,Re|0;if(d[7099]|0?A=d[7101]|0:(d[7101]=4096,d[7100]=4096,d[7102]=-1,d[7103]=-1,d[7104]=0,d[7092]=0,d[7099]=pe&-16^1431655768,A=4096),N=ie+48|0,U=ie+47|0,T=A+U|0,y=0-A|0,I=T&y,I>>>0<=ie>>>0||(A=d[7091]|0,A|0&&(q=d[7089]|0,pe=q+I|0,pe>>>0<=q>>>0|pe>>>0>A>>>0)))return Re=0,K=Pt,Re|0;e:do if(d[7092]&4)f=0,Ce=143;else{p=d[6987]|0;t:do if(p){for(_=28372;pe=d[_>>2]|0,!(pe>>>0<=p>>>0&&(pe+(d[_+4>>2]|0)|0)>>>0>p>>>0);)if(A=d[_+8>>2]|0,A)_=A;else{Ce=128;break t}if(f=T-M&y,f>>>0<2147483647)if(A=fl(f|0)|0,(A|0)==((d[_>>2]|0)+(d[_+4>>2]|0)|0)){if((A|0)!=-1){M=f,T=A,Ce=145;break e}}else _=A,Ce=136;else f=0}else Ce=128;while(!1);do if((Ce|0)==128)if(p=fl(0)|0,(p|0)!=-1&&(f=p,Ae=d[7100]|0,me=Ae+-1|0,f=((me&f|0)==0?0:(me+f&0-Ae)-f|0)+I|0,Ae=d[7089]|0,me=f+Ae|0,f>>>0>ie>>>0&f>>>0<2147483647)){if(pe=d[7091]|0,pe|0&&me>>>0<=Ae>>>0|me>>>0>pe>>>0){f=0;break}if(A=fl(f|0)|0,(A|0)==(p|0)){M=f,T=p,Ce=145;break e}else _=A,Ce=136}else f=0;while(!1);do if((Ce|0)==136){if(p=0-f|0,!(N>>>0>f>>>0&(f>>>0<2147483647&(_|0)!=-1)))if((_|0)==-1){f=0;break}else{M=f,T=_,Ce=145;break e}if(A=d[7101]|0,A=U-f+A&0-A,A>>>0>=2147483647){M=f,T=_,Ce=145;break e}if((fl(A|0)|0)==-1){fl(p|0)|0,f=0;break}else{M=A+f|0,T=_,Ce=145;break e}}while(!1);d[7092]=d[7092]|4,Ce=143}while(!1);if((Ce|0)==143&&I>>>0<2147483647&&(qe=fl(I|0)|0,me=fl(0)|0,Be=me-qe|0,Xe=Be>>>0>(ie+40|0)>>>0,!((qe|0)==-1|Xe^1|qe>>>0>>0&((qe|0)!=-1&(me|0)!=-1)^1))&&(M=Xe?Be:f,T=qe,Ce=145),(Ce|0)==145){f=(d[7089]|0)+M|0,d[7089]=f,f>>>0>(d[7090]|0)>>>0&&(d[7090]=f),U=d[6987]|0;e:do if(U){for(f=28372;;){if(A=d[f>>2]|0,p=d[f+4>>2]|0,(T|0)==(A+p|0)){Ce=154;break}if(_=d[f+8>>2]|0,_)f=_;else break}if((Ce|0)==154&&(ke=f+4|0,(d[f+12>>2]&8|0)==0)&&T>>>0>U>>>0&A>>>0<=U>>>0){d[ke>>2]=p+M,Re=(d[6984]|0)+M|0,qe=U+8|0,qe=(qe&7|0)==0?0:0-qe&7,ke=U+qe|0,qe=Re-qe|0,d[6987]=ke,d[6984]=qe,d[ke+4>>2]=qe|1,d[U+Re+4>>2]=40,d[6988]=d[7103];break}for(T>>>0<(d[6985]|0)>>>0&&(d[6985]=T),p=T+M|0,f=28372;;){if((d[f>>2]|0)==(p|0)){Ce=162;break}if(A=d[f+8>>2]|0,A)f=A;else break}if((Ce|0)==162&&(d[f+12>>2]&8|0)==0){d[f>>2]=T,q=f+4|0,d[q>>2]=(d[q>>2]|0)+M,q=T+8|0,q=T+((q&7|0)==0?0:0-q&7)|0,f=p+8|0,f=p+((f&7|0)==0?0:0-f&7)|0,I=q+ie|0,N=f-q-ie|0,d[q+4>>2]=ie|3;t:do if((U|0)==(f|0))Re=(d[6984]|0)+N|0,d[6984]=Re,d[6987]=I,d[I+4>>2]=Re|1;else{if((d[6986]|0)==(f|0)){Re=(d[6983]|0)+N|0,d[6983]=Re,d[6986]=I,d[I+4>>2]=Re|1,d[I+Re>>2]=Re;break}if(A=d[f+4>>2]|0,(A&3|0)==1){M=A&-8,_=A>>>3;n:do if(A>>>0<256)if(A=d[f+8>>2]|0,p=d[f+12>>2]|0,(p|0)==(A|0)){d[6981]=d[6981]&~(1<<_);break}else{d[A+12>>2]=p,d[p+8>>2]=A;break}else{T=d[f+24>>2]|0,A=d[f+12>>2]|0;do if((A|0)==(f|0)){if(p=f+16|0,_=p+4|0,A=d[_>>2]|0,A)p=_;else if(A=d[p>>2]|0,!A){A=0;break}for(;;)if(y=A+20|0,_=d[y>>2]|0,_)A=_,p=y;else if(y=A+16|0,_=d[y>>2]|0,_)A=_,p=y;else break;d[p>>2]=0}else Re=d[f+8>>2]|0,d[Re+12>>2]=A,d[A+8>>2]=Re;while(!1);if(!T)break;p=d[f+28>>2]|0,_=28228+(p<<2)|0;do if((d[_>>2]|0)!=(f|0)){if(Re=T+16|0,d[((d[Re>>2]|0)==(f|0)?Re:T+20|0)>>2]=A,!A)break n}else{if(d[_>>2]=A,A|0)break;d[6982]=d[6982]&~(1<>2]=T,p=f+16|0,_=d[p>>2]|0,_|0&&(d[A+16>>2]=_,d[_+24>>2]=A),p=d[p+4>>2]|0,!p)break;d[A+20>>2]=p,d[p+24>>2]=A}while(!1);f=f+M|0,y=M+N|0}else y=N;if(f=f+4|0,d[f>>2]=d[f>>2]&-2,d[I+4>>2]=y|1,d[I+y>>2]=y,f=y>>>3,y>>>0<256){p=27964+(f<<1<<2)|0,A=d[6981]|0,f=1<>2]|0):(d[6981]=A|f,f=p,A=p+8|0),d[A>>2]=I,d[f+12>>2]=I,d[I+8>>2]=f,d[I+12>>2]=p;break}f=y>>>8;do if(!f)_=0;else{if(y>>>0>16777215){_=31;break}ke=(f+1048320|0)>>>16&8,Re=f<>>16&4,Re=Re<>>16&2,_=14-(qe|ke|_)+(Re<<_>>>15)|0,_=y>>>(_+7|0)&1|_<<1}while(!1);if(f=28228+(_<<2)|0,d[I+28>>2]=_,A=I+16|0,d[A+4>>2]=0,d[A>>2]=0,A=d[6982]|0,p=1<<_,!(A&p)){d[6982]=A|p,d[f>>2]=I,d[I+24>>2]=f,d[I+12>>2]=I,d[I+8>>2]=I;break}f=d[f>>2]|0;n:do if((d[f+4>>2]&-8|0)!=(y|0)){for(_=y<<((_|0)==31?0:25-(_>>>1)|0);p=f+16+(_>>>31<<2)|0,A=d[p>>2]|0,!!A;)if((d[A+4>>2]&-8|0)==(y|0)){f=A;break n}else _=_<<1,f=A;d[p>>2]=I,d[I+24>>2]=f,d[I+12>>2]=I,d[I+8>>2]=I;break t}while(!1);ke=f+8|0,Re=d[ke>>2]|0,d[Re+12>>2]=I,d[ke>>2]=I,d[I+8>>2]=Re,d[I+12>>2]=f,d[I+24>>2]=0}while(!1);return Re=q+8|0,K=Pt,Re|0}for(f=28372;A=d[f>>2]|0,!(A>>>0<=U>>>0&&(Re=A+(d[f+4>>2]|0)|0,Re>>>0>U>>>0));)f=d[f+8>>2]|0;y=Re+-47|0,A=y+8|0,A=y+((A&7|0)==0?0:0-A&7)|0,y=U+16|0,A=A>>>0>>0?U:A,f=A+8|0,p=M+-40|0,qe=T+8|0,qe=(qe&7|0)==0?0:0-qe&7,ke=T+qe|0,qe=p-qe|0,d[6987]=ke,d[6984]=qe,d[ke+4>>2]=qe|1,d[T+p+4>>2]=40,d[6988]=d[7103],p=A+4|0,d[p>>2]=27,d[f>>2]=d[7093],d[f+4>>2]=d[7094],d[f+8>>2]=d[7095],d[f+12>>2]=d[7096],d[7093]=T,d[7094]=M,d[7096]=0,d[7095]=f,f=A+24|0;do ke=f,f=f+4|0,d[f>>2]=7;while((ke+8|0)>>>0>>0);if((A|0)!=(U|0)){if(T=A-U|0,d[p>>2]=d[p>>2]&-2,d[U+4>>2]=T|1,d[A>>2]=T,f=T>>>3,T>>>0<256){p=27964+(f<<1<<2)|0,A=d[6981]|0,f=1<>2]|0):(d[6981]=A|f,f=p,A=p+8|0),d[A>>2]=U,d[f+12>>2]=U,d[U+8>>2]=f,d[U+12>>2]=p;break}if(f=T>>>8,f?T>>>0>16777215?_=31:(ke=(f+1048320|0)>>>16&8,Re=f<>>16&4,Re=Re<>>16&2,_=14-(qe|ke|_)+(Re<<_>>>15)|0,_=T>>>(_+7|0)&1|_<<1):_=0,p=28228+(_<<2)|0,d[U+28>>2]=_,d[U+20>>2]=0,d[y>>2]=0,f=d[6982]|0,A=1<<_,!(f&A)){d[6982]=f|A,d[p>>2]=U,d[U+24>>2]=p,d[U+12>>2]=U,d[U+8>>2]=U;break}f=d[p>>2]|0;t:do if((d[f+4>>2]&-8|0)!=(T|0)){for(_=T<<((_|0)==31?0:25-(_>>>1)|0);p=f+16+(_>>>31<<2)|0,A=d[p>>2]|0,!!A;)if((d[A+4>>2]&-8|0)==(T|0)){f=A;break t}else _=_<<1,f=A;d[p>>2]=U,d[U+24>>2]=f,d[U+12>>2]=U,d[U+8>>2]=U;break e}while(!1);ke=f+8|0,Re=d[ke>>2]|0,d[Re+12>>2]=U,d[ke>>2]=U,d[U+8>>2]=Re,d[U+12>>2]=f,d[U+24>>2]=0}}else Re=d[6985]|0,(Re|0)==0|T>>>0>>0&&(d[6985]=T),d[7093]=T,d[7094]=M,d[7096]=0,d[6990]=d[7099],d[6989]=-1,d[6994]=27964,d[6993]=27964,d[6996]=27972,d[6995]=27972,d[6998]=27980,d[6997]=27980,d[7e3]=27988,d[6999]=27988,d[7002]=27996,d[7001]=27996,d[7004]=28004,d[7003]=28004,d[7006]=28012,d[7005]=28012,d[7008]=28020,d[7007]=28020,d[7010]=28028,d[7009]=28028,d[7012]=28036,d[7011]=28036,d[7014]=28044,d[7013]=28044,d[7016]=28052,d[7015]=28052,d[7018]=28060,d[7017]=28060,d[7020]=28068,d[7019]=28068,d[7022]=28076,d[7021]=28076,d[7024]=28084,d[7023]=28084,d[7026]=28092,d[7025]=28092,d[7028]=28100,d[7027]=28100,d[7030]=28108,d[7029]=28108,d[7032]=28116,d[7031]=28116,d[7034]=28124,d[7033]=28124,d[7036]=28132,d[7035]=28132,d[7038]=28140,d[7037]=28140,d[7040]=28148,d[7039]=28148,d[7042]=28156,d[7041]=28156,d[7044]=28164,d[7043]=28164,d[7046]=28172,d[7045]=28172,d[7048]=28180,d[7047]=28180,d[7050]=28188,d[7049]=28188,d[7052]=28196,d[7051]=28196,d[7054]=28204,d[7053]=28204,d[7056]=28212,d[7055]=28212,Re=M+-40|0,qe=T+8|0,qe=(qe&7|0)==0?0:0-qe&7,ke=T+qe|0,qe=Re-qe|0,d[6987]=ke,d[6984]=qe,d[ke+4>>2]=qe|1,d[T+Re+4>>2]=40,d[6988]=d[7103];while(!1);if(f=d[6984]|0,f>>>0>ie>>>0)return qe=f-ie|0,d[6984]=qe,Re=d[6987]|0,ke=Re+ie|0,d[6987]=ke,d[ke+4>>2]=qe|1,d[Re+4>>2]=ie|3,Re=Re+8|0,K=Pt,Re|0}return Re=HA()|0,d[Re>>2]=12,Re=0,K=Pt,Re|0}function An(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0,U=0;if(A){p=A+-8|0,y=d[6985]|0,A=d[A+-4>>2]|0,f=A&-8,U=p+f|0;do if(A&1)N=p,M=p;else{if(_=d[p>>2]|0,!(A&3)||(M=p+(0-_)|0,T=_+f|0,M>>>0>>0))return;if((d[6986]|0)==(M|0)){if(A=U+4|0,f=d[A>>2]|0,(f&3|0)!=3){N=M,f=T;break}d[6983]=T,d[A>>2]=f&-2,d[M+4>>2]=T|1,d[M+T>>2]=T;return}if(p=_>>>3,_>>>0<256)if(A=d[M+8>>2]|0,f=d[M+12>>2]|0,(f|0)==(A|0)){d[6981]=d[6981]&~(1<>2]=f,d[f+8>>2]=A,N=M,f=T;break}y=d[M+24>>2]|0,A=d[M+12>>2]|0;do if((A|0)==(M|0)){if(f=M+16|0,p=f+4|0,A=d[p>>2]|0,A)f=p;else if(A=d[f>>2]|0,!A){A=0;break}for(;;)if(_=A+20|0,p=d[_>>2]|0,p)A=p,f=_;else if(_=A+16|0,p=d[_>>2]|0,p)A=p,f=_;else break;d[f>>2]=0}else N=d[M+8>>2]|0,d[N+12>>2]=A,d[A+8>>2]=N;while(!1);if(y){if(f=d[M+28>>2]|0,p=28228+(f<<2)|0,(d[p>>2]|0)==(M|0)){if(d[p>>2]=A,!A){d[6982]=d[6982]&~(1<>2]|0)==(M|0)?N:y+20|0)>>2]=A,!A){N=M,f=T;break}d[A+24>>2]=y,f=M+16|0,p=d[f>>2]|0,p|0&&(d[A+16>>2]=p,d[p+24>>2]=A),f=d[f+4>>2]|0,f?(d[A+20>>2]=f,d[f+24>>2]=A,N=M,f=T):(N=M,f=T)}else N=M,f=T}while(!1);if(!(M>>>0>=U>>>0)&&(A=U+4|0,_=d[A>>2]|0,!!(_&1))){if(_&2)d[A>>2]=_&-2,d[N+4>>2]=f|1,d[M+f>>2]=f,y=f;else{if((d[6987]|0)==(U|0)){if(U=(d[6984]|0)+f|0,d[6984]=U,d[6987]=N,d[N+4>>2]=U|1,(N|0)!=(d[6986]|0))return;d[6986]=0,d[6983]=0;return}if((d[6986]|0)==(U|0)){U=(d[6983]|0)+f|0,d[6983]=U,d[6986]=M,d[N+4>>2]=U|1,d[M+U>>2]=U;return}y=(_&-8)+f|0,p=_>>>3;do if(_>>>0<256)if(f=d[U+8>>2]|0,A=d[U+12>>2]|0,(A|0)==(f|0)){d[6981]=d[6981]&~(1<>2]=A,d[A+8>>2]=f;break}else{T=d[U+24>>2]|0,A=d[U+12>>2]|0;do if((A|0)==(U|0)){if(f=U+16|0,p=f+4|0,A=d[p>>2]|0,A)f=p;else if(A=d[f>>2]|0,!A){p=0;break}for(;;)if(_=A+20|0,p=d[_>>2]|0,p)A=p,f=_;else if(_=A+16|0,p=d[_>>2]|0,p)A=p,f=_;else break;d[f>>2]=0,p=A}else p=d[U+8>>2]|0,d[p+12>>2]=A,d[A+8>>2]=p,p=A;while(!1);if(T|0){if(A=d[U+28>>2]|0,f=28228+(A<<2)|0,(d[f>>2]|0)==(U|0)){if(d[f>>2]=p,!p){d[6982]=d[6982]&~(1<>2]|0)==(U|0)?_:T+20|0)>>2]=p,!p)break;d[p+24>>2]=T,A=U+16|0,f=d[A>>2]|0,f|0&&(d[p+16>>2]=f,d[f+24>>2]=p),A=d[A+4>>2]|0,A|0&&(d[p+20>>2]=A,d[A+24>>2]=p)}}while(!1);if(d[N+4>>2]=y|1,d[M+y>>2]=y,(N|0)==(d[6986]|0)){d[6983]=y;return}}if(A=y>>>3,y>>>0<256){p=27964+(A<<1<<2)|0,f=d[6981]|0,A=1<>2]|0):(d[6981]=f|A,A=p,f=p+8|0),d[f>>2]=N,d[A+12>>2]=N,d[N+8>>2]=A,d[N+12>>2]=p;return}A=y>>>8,A?y>>>0>16777215?_=31:(M=(A+1048320|0)>>>16&8,U=A<>>16&4,U=U<>>16&2,_=14-(T|M|_)+(U<<_>>>15)|0,_=y>>>(_+7|0)&1|_<<1):_=0,A=28228+(_<<2)|0,d[N+28>>2]=_,d[N+20>>2]=0,d[N+16>>2]=0,f=d[6982]|0,p=1<<_;e:do if(!(f&p))d[6982]=f|p,d[A>>2]=N,d[N+24>>2]=A,d[N+12>>2]=N,d[N+8>>2]=N;else{A=d[A>>2]|0;t:do if((d[A+4>>2]&-8|0)!=(y|0)){for(_=y<<((_|0)==31?0:25-(_>>>1)|0);p=A+16+(_>>>31<<2)|0,f=d[p>>2]|0,!!f;)if((d[f+4>>2]&-8|0)==(y|0)){A=f;break t}else _=_<<1,A=f;d[p>>2]=N,d[N+24>>2]=A,d[N+12>>2]=N,d[N+8>>2]=N;break e}while(!1);M=A+8|0,U=d[M>>2]|0,d[U+12>>2]=N,d[M>>2]=N,d[N+8>>2]=U,d[N+12>>2]=A,d[N+24>>2]=0}while(!1);if(U=(d[6989]|0)+-1|0,d[6989]=U,!(U|0)){for(A=28380;A=d[A>>2]|0,A;)A=A+8|0;d[6989]=-1}}}}function Ks(A,f){A=A|0,f=f|0;var p=0;return A?(p=$e(f,A)|0,(f|A)>>>0>65535&&(p=((p>>>0)/(A>>>0)|0|0)==(f|0)?p:-1)):p=0,A=Fo(p)|0,!A||!(d[A+-4>>2]&3)||uo(A|0,0,p|0)|0,A|0}function Yt(A,f,p,_){return A=A|0,f=f|0,p=p|0,_=_|0,p=A+p>>>0,ht(f+_+(p>>>0>>0|0)>>>0|0),p|0|0}function Ur(A,f,p,_){return A=A|0,f=f|0,p=p|0,_=_|0,_=f-_-(p>>>0>A>>>0|0)>>>0,ht(_|0),A-p>>>0|0|0}function Jc(A){return A=A|0,(A?31-(Vt(A^A-1)|0)|0:32)|0}function Ju(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0;if(q=A,U=f,I=U,M=p,pe=_,N=pe,!I)return T=(y|0)!=0,N?T?(d[y>>2]=A|0,d[y+4>>2]=f&0,pe=0,y=0,ht(pe|0),y|0):(pe=0,y=0,ht(pe|0),y|0):(T&&(d[y>>2]=(q>>>0)%(M>>>0),d[y+4>>2]=0),pe=0,y=(q>>>0)/(M>>>0)>>>0,ht(pe|0),y|0);T=(N|0)==0;do if(M){if(!T){if(T=(Vt(N|0)|0)-(Vt(I|0)|0)|0,T>>>0<=31){ie=T+1|0,N=31-T|0,f=T-31>>31,M=ie,A=q>>>(ie>>>0)&f|I<>>(ie>>>0)&f,T=0,N=q<>2]=A|0,d[y+4>>2]=U|f&0,pe=0,y=0,ht(pe|0),y|0):(pe=0,y=0,ht(pe|0),y|0)}if(T=M-1|0,T&M|0){N=(Vt(M|0)|0)+33-(Vt(I|0)|0)|0,me=64-N|0,ie=32-N|0,U=ie>>31,Ae=N-32|0,f=Ae>>31,M=N,A=ie-1>>31&I>>>(Ae>>>0)|(I<>>(N>>>0))&f,f=f&I>>>(N>>>0),T=q<>>(Ae>>>0))&U|q<>31;break}return y|0&&(d[y>>2]=T&q,d[y+4>>2]=0),(M|0)==1?(Ae=U|f&0,me=A|0|0,ht(Ae|0),me|0):(me=Jc(M|0)|0,Ae=I>>>(me>>>0)|0,me=I<<32-me|q>>>(me>>>0)|0,ht(Ae|0),me|0)}else{if(T)return y|0&&(d[y>>2]=(I>>>0)%(M>>>0),d[y+4>>2]=0),Ae=0,me=(I>>>0)/(M>>>0)>>>0,ht(Ae|0),me|0;if(!q)return y|0&&(d[y>>2]=0,d[y+4>>2]=(I>>>0)%(N>>>0)),Ae=0,me=(I>>>0)/(N>>>0)>>>0,ht(Ae|0),me|0;if(T=N-1|0,!(T&N))return y|0&&(d[y>>2]=A|0,d[y+4>>2]=T&I|f&0),Ae=0,me=I>>>((Jc(N|0)|0)>>>0),ht(Ae|0),me|0;if(T=(Vt(N|0)|0)-(Vt(I|0)|0)|0,T>>>0<=30){f=T+1|0,N=31-T|0,M=f,A=I<>>(f>>>0),f=I>>>(f>>>0),T=0,N=q<>2]=A|0,d[y+4>>2]=U|f&0,Ae=0,me=0,ht(Ae|0),me|0):(Ae=0,me=0,ht(Ae|0),me|0)}while(!1);if(!M)I=N,U=0,N=0;else{ie=p|0|0,q=pe|_&0,I=Yt(ie|0,q|0,-1,-1)|0,p=Z()|0,U=N,N=0;do _=U,U=T>>>31|U<<1,T=N|T<<1,_=A<<1|_>>>31|0,pe=A>>>31|f<<1|0,Ur(I|0,p|0,_|0,pe|0)|0,me=Z()|0,Ae=me>>31|((me|0)<0?-1:0)<<1,N=Ae&1,A=Ur(_|0,pe|0,Ae&ie|0,(((me|0)<0?-1:0)>>31|((me|0)<0?-1:0)<<1)&q|0)|0,f=Z()|0,M=M-1|0;while((M|0)!=0);I=U,U=0}return M=0,y|0&&(d[y>>2]=A,d[y+4>>2]=f),Ae=(T|0)>>>31|(I|M)<<1|(M<<1|T>>>31)&0|U,me=(T<<1|0)&-2|N,ht(Ae|0),me|0}function ko(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0;return I=f>>31|((f|0)<0?-1:0)<<1,U=((f|0)<0?-1:0)>>31|((f|0)<0?-1:0)<<1,T=_>>31|((_|0)<0?-1:0)<<1,y=((_|0)<0?-1:0)>>31|((_|0)<0?-1:0)<<1,N=Ur(I^A|0,U^f|0,I|0,U|0)|0,M=Z()|0,A=T^I,f=y^U,Ur((Ju(N,M,Ur(T^p|0,y^_|0,T|0,y|0)|0,Z()|0,0)|0)^A|0,(Z()|0)^f|0,A|0,f|0)|0}function eh(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0;return T=A&65535,y=f&65535,p=$e(y,T)|0,_=A>>>16,A=(p>>>16)+($e(y,_)|0)|0,y=f>>>16,f=$e(y,T)|0,ht((A>>>16)+($e(y,_)|0)+(((A&65535)+f|0)>>>16)|0),A+f<<16|p&65535|0|0}function fr(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0;return y=A,T=p,p=eh(y,T)|0,A=Z()|0,ht(($e(f,T)|0)+($e(_,y)|0)+A|A&0|0),p|0|0|0}function th(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0;return y=K,K=K+16|0,N=y|0,M=f>>31|((f|0)<0?-1:0)<<1,T=((f|0)<0?-1:0)>>31|((f|0)<0?-1:0)<<1,I=_>>31|((_|0)<0?-1:0)<<1,U=((_|0)<0?-1:0)>>31|((_|0)<0?-1:0)<<1,A=Ur(M^A|0,T^f|0,M|0,T|0)|0,f=Z()|0,Ju(A,f,Ur(I^p|0,U^_|0,I|0,U|0)|0,Z()|0,N)|0,_=Ur(d[N>>2]^M|0,d[N+4>>2]^T|0,M|0,T|0)|0,p=Z()|0,K=y,ht(p|0),_|0}function ec(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0;return T=K,K=K+16|0,y=T|0,Ju(A,f,p,_,y)|0,K=T,ht(d[y+4>>2]|0),d[y>>2]|0|0}function N1(A,f,p){return A=A|0,f=f|0,p=p|0,(p|0)<32?(ht(f>>p|0),A>>>p|(f&(1<>p-32|0)}function bt(A,f,p){return A=A|0,f=f|0,p=p|0,(p|0)<32?(ht(f>>>p|0),A>>>p|(f&(1<>>p-32|0)}function Nt(A,f,p){return A=A|0,f=f|0,p=p|0,(p|0)<32?(ht(f<>>32-p|0),A<=0?+Xn(A+.5):+Ye(A-.5)}function Gl(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0;if((p|0)>=8192)return ui(A|0,f|0,p|0)|0,A|0;if(T=A|0,y=A+p|0,(A&3)==(f&3)){for(;A&3;){if(!p)return T|0;st[A>>0]=st[f>>0]|0,A=A+1|0,f=f+1|0,p=p-1|0}for(p=y&-4|0,_=p-64|0;(A|0)<=(_|0);)d[A>>2]=d[f>>2],d[A+4>>2]=d[f+4>>2],d[A+8>>2]=d[f+8>>2],d[A+12>>2]=d[f+12>>2],d[A+16>>2]=d[f+16>>2],d[A+20>>2]=d[f+20>>2],d[A+24>>2]=d[f+24>>2],d[A+28>>2]=d[f+28>>2],d[A+32>>2]=d[f+32>>2],d[A+36>>2]=d[f+36>>2],d[A+40>>2]=d[f+40>>2],d[A+44>>2]=d[f+44>>2],d[A+48>>2]=d[f+48>>2],d[A+52>>2]=d[f+52>>2],d[A+56>>2]=d[f+56>>2],d[A+60>>2]=d[f+60>>2],A=A+64|0,f=f+64|0;for(;(A|0)<(p|0);)d[A>>2]=d[f>>2],A=A+4|0,f=f+4|0}else for(p=y-4|0;(A|0)<(p|0);)st[A>>0]=st[f>>0]|0,st[A+1>>0]=st[f+1>>0]|0,st[A+2>>0]=st[f+2>>0]|0,st[A+3>>0]=st[f+3>>0]|0,A=A+4|0,f=f+4|0;for(;(A|0)<(y|0);)st[A>>0]=st[f>>0]|0,A=A+1|0,f=f+1|0;return T|0}function uo(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0;if(T=A+p|0,f=f&255,(p|0)>=67){for(;A&3;)st[A>>0]=f,A=A+1|0;for(_=T&-4|0,M=f|f<<8|f<<16|f<<24,y=_-64|0;(A|0)<=(y|0);)d[A>>2]=M,d[A+4>>2]=M,d[A+8>>2]=M,d[A+12>>2]=M,d[A+16>>2]=M,d[A+20>>2]=M,d[A+24>>2]=M,d[A+28>>2]=M,d[A+32>>2]=M,d[A+36>>2]=M,d[A+40>>2]=M,d[A+44>>2]=M,d[A+48>>2]=M,d[A+52>>2]=M,d[A+56>>2]=M,d[A+60>>2]=M,A=A+64|0;for(;(A|0)<(_|0);)d[A>>2]=M,A=A+4|0}for(;(A|0)<(T|0);)st[A>>0]=f,A=A+1|0;return T-p|0}function pf(A){return A=+A,A>=0?+Xn(A+.5):+Ye(A-.5)}function fl(A){A=A|0;var f=0,p=0,_=0;return _=fn()|0,p=d[Gn>>2]|0,f=p+A|0,(A|0)>0&(f|0)<(p|0)|(f|0)<0?(_i(f|0)|0,bn(12),-1):(f|0)>(_|0)&&!(ci(f|0)|0)?(bn(12),-1):(d[Gn>>2]=f,p|0)}return{___divdi3:ko,___muldi3:fr,___remdi3:th,___uremdi3:ec,_areNeighborCells:dx,_bitshift64Ashr:N1,_bitshift64Lshr:bt,_bitshift64Shl:Nt,_calloc:Ks,_cellAreaKm2:mp,_cellAreaM2:UA,_cellAreaRads2:Fl,_cellToBoundary:Il,_cellToCenterChild:DA,_cellToChildPos:Ap,_cellToChildren:_1,_cellToChildrenSize:lf,_cellToLatLng:Ol,_cellToLocalIj:E1,_cellToParent:Fu,_cellToVertex:Qs,_cellToVertexes:Qu,_cellsToDirectedEdge:d1,_cellsToLinkedMultiPolygon:nl,_childPosToCell:S1,_compactCells:up,_constructCell:Sx,_destroyLinkedMultiPolygon:Wu,_directedEdgeToBoundary:CA,_directedEdgeToCells:gx,_edgeLengthKm:gp,_edgeLengthM:ju,_edgeLengthRads:BA,_emscripten_replace_memory:Ln,_free:An,_getBaseCellNumber:g1,_getDirectedEdgeDestination:mx,_getDirectedEdgeOrigin:px,_getHexagonAreaAvgKm2:dp,_getHexagonAreaAvgM2:w1,_getHexagonEdgeLengthAvgKm:pp,_getHexagonEdgeLengthAvgM:oo,_getIcosahedronFaces:Gu,_getIndexDigit:bx,_getNumCells:Hu,_getPentagons:qu,_getRes0Cells:ef,_getResolution:Qc,_greatCircleDistanceKm:Zc,_greatCircleDistanceM:Mx,_greatCircleDistanceRads:T1,_gridDisk:_e,_gridDiskDistances:at,_gridDistance:$u,_gridPathCells:C1,_gridPathCellsSize:vp,_gridRing:Yn,_gridRingUnsafe:yi,_i64Add:Yt,_i64Subtract:Ur,_isPentagon:Ci,_isResClassIII:b1,_isValidCell:NA,_isValidDirectedEdge:p1,_isValidIndex:v1,_isValidVertex:ul,_latLngToCell:PA,_llvm_ctlz_i64:ff,_llvm_maxnum_f64:Af,_llvm_minnum_f64:df,_llvm_round_f64:hl,_localIjToCell:IA,_malloc:Fo,_maxFaceCount:wx,_maxGridDiskSize:fa,_maxPolygonToCellsSize:Pr,_maxPolygonToCellsSizeExperimental:cf,_memcpy:Gl,_memset:uo,_originToDirectedEdges:vx,_pentagonCount:fp,_polygonToCells:Zh,_polygonToCellsExperimental:kA,_readInt64AsDoubleFromPointer:yp,_res0CellCount:s1,_round:pf,_sbrk:fl,_sizeOfCellBoundary:fs,_sizeOfCoordIJ:Pa,_sizeOfGeoLoop:sr,_sizeOfGeoPolygon:mi,_sizeOfH3Index:_p,_sizeOfLatLng:R1,_sizeOfLinkedGeoPolygon:kl,_uncompactCells:y1,_uncompactCellsSize:x1,_vertexToLatLng:ll,establishStackSpace:bs,stackAlloc:mn,stackRestore:hi,stackSave:yr}})(In,Mi,Y);e.___divdi3=ge.___divdi3,e.___muldi3=ge.___muldi3,e.___remdi3=ge.___remdi3,e.___uremdi3=ge.___uremdi3,e._areNeighborCells=ge._areNeighborCells,e._bitshift64Ashr=ge._bitshift64Ashr,e._bitshift64Lshr=ge._bitshift64Lshr,e._bitshift64Shl=ge._bitshift64Shl,e._calloc=ge._calloc,e._cellAreaKm2=ge._cellAreaKm2,e._cellAreaM2=ge._cellAreaM2,e._cellAreaRads2=ge._cellAreaRads2,e._cellToBoundary=ge._cellToBoundary,e._cellToCenterChild=ge._cellToCenterChild,e._cellToChildPos=ge._cellToChildPos,e._cellToChildren=ge._cellToChildren,e._cellToChildrenSize=ge._cellToChildrenSize,e._cellToLatLng=ge._cellToLatLng,e._cellToLocalIj=ge._cellToLocalIj,e._cellToParent=ge._cellToParent,e._cellToVertex=ge._cellToVertex,e._cellToVertexes=ge._cellToVertexes,e._cellsToDirectedEdge=ge._cellsToDirectedEdge,e._cellsToLinkedMultiPolygon=ge._cellsToLinkedMultiPolygon,e._childPosToCell=ge._childPosToCell,e._compactCells=ge._compactCells,e._constructCell=ge._constructCell,e._destroyLinkedMultiPolygon=ge._destroyLinkedMultiPolygon,e._directedEdgeToBoundary=ge._directedEdgeToBoundary,e._directedEdgeToCells=ge._directedEdgeToCells,e._edgeLengthKm=ge._edgeLengthKm,e._edgeLengthM=ge._edgeLengthM,e._edgeLengthRads=ge._edgeLengthRads;var Wt=e._emscripten_replace_memory=ge._emscripten_replace_memory;e._free=ge._free,e._getBaseCellNumber=ge._getBaseCellNumber,e._getDirectedEdgeDestination=ge._getDirectedEdgeDestination,e._getDirectedEdgeOrigin=ge._getDirectedEdgeOrigin,e._getHexagonAreaAvgKm2=ge._getHexagonAreaAvgKm2,e._getHexagonAreaAvgM2=ge._getHexagonAreaAvgM2,e._getHexagonEdgeLengthAvgKm=ge._getHexagonEdgeLengthAvgKm,e._getHexagonEdgeLengthAvgM=ge._getHexagonEdgeLengthAvgM,e._getIcosahedronFaces=ge._getIcosahedronFaces,e._getIndexDigit=ge._getIndexDigit,e._getNumCells=ge._getNumCells,e._getPentagons=ge._getPentagons,e._getRes0Cells=ge._getRes0Cells,e._getResolution=ge._getResolution,e._greatCircleDistanceKm=ge._greatCircleDistanceKm,e._greatCircleDistanceM=ge._greatCircleDistanceM,e._greatCircleDistanceRads=ge._greatCircleDistanceRads,e._gridDisk=ge._gridDisk,e._gridDiskDistances=ge._gridDiskDistances,e._gridDistance=ge._gridDistance,e._gridPathCells=ge._gridPathCells,e._gridPathCellsSize=ge._gridPathCellsSize,e._gridRing=ge._gridRing,e._gridRingUnsafe=ge._gridRingUnsafe,e._i64Add=ge._i64Add,e._i64Subtract=ge._i64Subtract,e._isPentagon=ge._isPentagon,e._isResClassIII=ge._isResClassIII,e._isValidCell=ge._isValidCell,e._isValidDirectedEdge=ge._isValidDirectedEdge,e._isValidIndex=ge._isValidIndex,e._isValidVertex=ge._isValidVertex,e._latLngToCell=ge._latLngToCell,e._llvm_ctlz_i64=ge._llvm_ctlz_i64,e._llvm_maxnum_f64=ge._llvm_maxnum_f64,e._llvm_minnum_f64=ge._llvm_minnum_f64,e._llvm_round_f64=ge._llvm_round_f64,e._localIjToCell=ge._localIjToCell,e._malloc=ge._malloc,e._maxFaceCount=ge._maxFaceCount,e._maxGridDiskSize=ge._maxGridDiskSize,e._maxPolygonToCellsSize=ge._maxPolygonToCellsSize,e._maxPolygonToCellsSizeExperimental=ge._maxPolygonToCellsSizeExperimental,e._memcpy=ge._memcpy,e._memset=ge._memset,e._originToDirectedEdges=ge._originToDirectedEdges,e._pentagonCount=ge._pentagonCount,e._polygonToCells=ge._polygonToCells,e._polygonToCellsExperimental=ge._polygonToCellsExperimental,e._readInt64AsDoubleFromPointer=ge._readInt64AsDoubleFromPointer,e._res0CellCount=ge._res0CellCount,e._round=ge._round,e._sbrk=ge._sbrk,e._sizeOfCellBoundary=ge._sizeOfCellBoundary,e._sizeOfCoordIJ=ge._sizeOfCoordIJ,e._sizeOfGeoLoop=ge._sizeOfGeoLoop,e._sizeOfGeoPolygon=ge._sizeOfGeoPolygon,e._sizeOfH3Index=ge._sizeOfH3Index,e._sizeOfLatLng=ge._sizeOfLatLng,e._sizeOfLinkedGeoPolygon=ge._sizeOfLinkedGeoPolygon,e._uncompactCells=ge._uncompactCells,e._uncompactCellsSize=ge._uncompactCellsSize,e._vertexToLatLng=ge._vertexToLatLng,e.establishStackSpace=ge.establishStackSpace;var nt=e.stackAlloc=ge.stackAlloc,xt=e.stackRestore=ge.stackRestore,$t=e.stackSave=ge.stackSave;if(e.asm=ge,e.cwrap=L,e.setValue=S,e.getValue=w,fe){oe(fe)||(fe=s(fe));{tn();var zt=function(Ze){Ze.byteLength&&(Ze=new Uint8Array(Ze)),ne.set(Ze,x),e.memoryInitializerRequest&&delete e.memoryInitializerRequest.response,yt()},xn=function(){a(fe,zt,function(){throw"could not load memory initializer "+fe})},qi=qt(fe);if(qi)zt(qi.buffer);else if(e.memoryInitializerRequest){var rr=function(){var Ze=e.memoryInitializerRequest,At=Ze.response;if(Ze.status!==200&&Ze.status!==0){var Ot=qt(e.memoryInitializerRequestURL);if(Ot)At=Ot.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+Ze.status+", retrying "+fe),xn();return}}zt(At)};e.memoryInitializerRequest.response?setTimeout(rr,0):e.memoryInitializerRequest.addEventListener("load",rr)}else xn()}}var pn;gt=function Ze(){pn||$i(),pn||(gt=Ze)};function $i(Ze){if(Dt>0||(Pe(),Dt>0))return;function At(){pn||(pn=!0,!R&&(pt(),vt(),e.onRuntimeInitialized&&e.onRuntimeInitialized(),Tt()))}e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),At()},1)):At()}e.run=$i;function Jr(Ze){throw e.onAbort&&e.onAbort(Ze),Ze+="",l(Ze),u(Ze),R=!0,"abort("+Ze+"). Build with -s ASSERTIONS=1 for more info."}if(e.abort=Jr,e.preInit)for(typeof e.preInit=="function"&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();return $i(),i})(typeof Si=="object"?Si:{}),Nn="number",Cn=Nn,Md=Nn,Bn=Nn,On=Nn,Cs=Nn,nn=Nn,ZK=[["sizeOfH3Index",Nn],["sizeOfLatLng",Nn],["sizeOfCellBoundary",Nn],["sizeOfGeoLoop",Nn],["sizeOfGeoPolygon",Nn],["sizeOfLinkedGeoPolygon",Nn],["sizeOfCoordIJ",Nn],["readInt64AsDoubleFromPointer",Nn],["isValidCell",Md,[Bn,On]],["isValidIndex",Md,[Bn,On]],["latLngToCell",Cn,[Nn,Nn,Cs,nn]],["cellToLatLng",Cn,[Bn,On,nn]],["cellToBoundary",Cn,[Bn,On,nn]],["maxGridDiskSize",Cn,[Nn,nn]],["gridDisk",Cn,[Bn,On,Nn,nn]],["gridDiskDistances",Cn,[Bn,On,Nn,nn,nn]],["gridRing",Cn,[Bn,On,Nn,nn]],["gridRingUnsafe",Cn,[Bn,On,Nn,nn]],["maxPolygonToCellsSize",Cn,[nn,Cs,Nn,nn]],["polygonToCells",Cn,[nn,Cs,Nn,nn]],["maxPolygonToCellsSizeExperimental",Cn,[nn,Cs,Nn,nn]],["polygonToCellsExperimental",Cn,[nn,Cs,Nn,Nn,Nn,nn]],["cellsToLinkedMultiPolygon",Cn,[nn,Nn,nn]],["destroyLinkedMultiPolygon",null,[nn]],["compactCells",Cn,[nn,nn,Nn,Nn]],["uncompactCells",Cn,[nn,Nn,Nn,nn,Nn,Cs]],["uncompactCellsSize",Cn,[nn,Nn,Nn,Cs,nn]],["isPentagon",Md,[Bn,On]],["isResClassIII",Md,[Bn,On]],["getBaseCellNumber",Nn,[Bn,On]],["getResolution",Nn,[Bn,On]],["getIndexDigit",Nn,[Bn,On,Nn]],["constructCell",Cn,[Nn,Nn,nn,nn]],["maxFaceCount",Cn,[Bn,On,nn]],["getIcosahedronFaces",Cn,[Bn,On,nn]],["cellToParent",Cn,[Bn,On,Cs,nn]],["cellToChildren",Cn,[Bn,On,Cs,nn]],["cellToCenterChild",Cn,[Bn,On,Cs,nn]],["cellToChildrenSize",Cn,[Bn,On,Cs,nn]],["cellToChildPos",Cn,[Bn,On,Cs,nn]],["childPosToCell",Cn,[Nn,Nn,Bn,On,Cs,nn]],["areNeighborCells",Cn,[Bn,On,Bn,On,nn]],["cellsToDirectedEdge",Cn,[Bn,On,Bn,On,nn]],["getDirectedEdgeOrigin",Cn,[Bn,On,nn]],["getDirectedEdgeDestination",Cn,[Bn,On,nn]],["isValidDirectedEdge",Md,[Bn,On]],["directedEdgeToCells",Cn,[Bn,On,nn]],["originToDirectedEdges",Cn,[Bn,On,nn]],["directedEdgeToBoundary",Cn,[Bn,On,nn]],["gridDistance",Cn,[Bn,On,Bn,On,nn]],["gridPathCells",Cn,[Bn,On,Bn,On,nn]],["gridPathCellsSize",Cn,[Bn,On,Bn,On,nn]],["cellToLocalIj",Cn,[Bn,On,Bn,On,Nn,nn]],["localIjToCell",Cn,[Bn,On,nn,Nn,nn]],["getHexagonAreaAvgM2",Cn,[Cs,nn]],["getHexagonAreaAvgKm2",Cn,[Cs,nn]],["getHexagonEdgeLengthAvgM",Cn,[Cs,nn]],["getHexagonEdgeLengthAvgKm",Cn,[Cs,nn]],["greatCircleDistanceM",Nn,[nn,nn]],["greatCircleDistanceKm",Nn,[nn,nn]],["greatCircleDistanceRads",Nn,[nn,nn]],["cellAreaM2",Cn,[Bn,On,nn]],["cellAreaKm2",Cn,[Bn,On,nn]],["cellAreaRads2",Cn,[Bn,On,nn]],["edgeLengthM",Cn,[Bn,On,nn]],["edgeLengthKm",Cn,[Bn,On,nn]],["edgeLengthRads",Cn,[Bn,On,nn]],["getNumCells",Cn,[Cs,nn]],["getRes0Cells",Cn,[nn]],["res0CellCount",Nn],["getPentagons",Cn,[Nn,nn]],["pentagonCount",Nn],["cellToVertex",Cn,[Bn,On,Nn,nn]],["cellToVertexes",Cn,[Bn,On,nn]],["vertexToLatLng",Cn,[Bn,On,nn]],["isValidVertex",Md,[Bn,On]]],JK=0,eZ=1,tZ=2,nZ=3,_P=4,iZ=5,rZ=6,sZ=7,aZ=8,oZ=9,lZ=10,uZ=11,cZ=12,hZ=13,fZ=14,AZ=15,dZ=16,pZ=17,mZ=18,gZ=19,Kr={};Kr[JK]="Success";Kr[eZ]="The operation failed but a more specific error is not available";Kr[tZ]="Argument was outside of acceptable range";Kr[nZ]="Latitude or longitude arguments were outside of acceptable range";Kr[_P]="Resolution argument was outside of acceptable range";Kr[iZ]="Cell argument was not valid";Kr[rZ]="Directed edge argument was not valid";Kr[sZ]="Undirected edge argument was not valid";Kr[aZ]="Vertex argument was not valid";Kr[oZ]="Pentagon distortion was encountered";Kr[lZ]="Duplicate input";Kr[uZ]="Cell arguments were not neighbors";Kr[cZ]="Cell arguments had incompatible resolutions";Kr[hZ]="Memory allocation failed";Kr[fZ]="Bounds of provided memory were insufficient";Kr[AZ]="Mode or flags argument was not valid";Kr[dZ]="Index argument was not valid";Kr[pZ]="Base cell number was outside of acceptable range";Kr[mZ]="Child indexing digits invalid";Kr[gZ]="Child indexing digits refer to a deleted subsequence";var vZ=1e3,yP=1001,xP=1002,Ry={};Ry[vZ]="Unknown unit";Ry[yP]="Array length out of bounds";Ry[xP]="Got unexpected null value for H3 index";var _Z="Unknown error";function bP(i,e,t){var n=t&&"value"in t,r=new Error((i[e]||_Z)+" (code: "+e+(n?", value: "+t.value:"")+")");return r.code=e,r}function SP(i,e){var t=arguments.length===2?{value:e}:{};return bP(Kr,i,t)}function TP(i,e){var t=arguments.length===2?{value:e}:{};return bP(Ry,i,t)}function vg(i){if(i!==0)throw SP(i)}var eo={};ZK.forEach(function(e){eo[e[0]]=Si.cwrap.apply(Si,e)});var Xd=16,_g=4,U0=8,yZ=8,j_=eo.sizeOfH3Index(),MM=eo.sizeOfLatLng(),xZ=eo.sizeOfCellBoundary(),bZ=eo.sizeOfGeoPolygon(),Lm=eo.sizeOfGeoLoop();eo.sizeOfLinkedGeoPolygon();eo.sizeOfCoordIJ();function SZ(i){if(typeof i!="number"||i<0||i>15||Math.floor(i)!==i)throw SP(_P,i);return i}function TZ(i){if(!i)throw TP(xP);return i}var wZ=Math.pow(2,32)-1;function MZ(i){if(i>wZ)throw TP(yP,i);return i}var EZ=/[^0-9a-fA-F]/;function wP(i){if(Array.isArray(i)&&i.length===2&&Number.isInteger(i[0])&&Number.isInteger(i[1]))return i;if(typeof i!="string"||EZ.test(i))return[0,0];var e=parseInt(i.substring(0,i.length-8),Xd),t=parseInt(i.substring(i.length-8),Xd);return[t,e]}function ER(i){if(i>=0)return i.toString(Xd);i=i&2147483647;var e=MP(8,i.toString(Xd)),t=(parseInt(e[0],Xd)+8).toString(Xd);return e=t+e.substring(1),e}function CZ(i,e){return ER(e)+MP(8,ER(i))}function MP(i,e){for(var t=i-e.length,n="",r=0;r0){l=Si._calloc(t,Lm);for(var u=0;u0){for(var a=Si.getValue(i+n,"i32"),l=0;l0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,r=(e instanceof Array?e.length?e:[void 0]:[e]).map(function(l){return{keyAccessor:l,isProp:!(l instanceof Function)}}),s=i.reduce(function(l,u){var h=l,g=u;return r.forEach(function(v,x){var S=v.keyAccessor,w=v.isProp,R;if(w){var C=g,E=C[S],B=jK(C,[S].map(QK));R=E,g=B}else R=S(g,x);x+11&&arguments[1]!==void 0?arguments[1]:1;h===r.length?Object.keys(u).forEach(function(g){return u[g]=t(u[g])}):Object.values(u).forEach(function(g){return l(g,h+1)})})(s);var a=s;return n&&(a=[],(function l(u){var h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];h.length===r.length?a.push({keys:h,vals:u}):Object.entries(u).forEach(function(g){var v=$K(g,2),x=v[0],S=v[1];return l(S,[].concat(XK(h),[x]))})})(s),e instanceof Array&&e.length===0&&a.length===1&&(a[0].keys=[])),a}),Si=(function(i){i=i||{};var e=typeof i<"u"?i:{},t={},n;for(n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);var r="";function s(Ze){return e.locateFile?e.locateFile(Ze,r):r+Ze}var a;typeof document<"u"&&document.currentScript&&(r=document.currentScript.src),r.indexOf("blob:")!==0?r=r.substr(0,r.lastIndexOf("/")+1):r="",a=function(At,Ot,st){var d=new XMLHttpRequest;d.open("GET",At,!0),d.responseType="arraybuffer",d.onload=function(){if(d.status==200||d.status==0&&d.response){Ot(d.response);return}var $n=qt(At);if($n){Ot($n.buffer);return}st()},d.onerror=st,d.send(null)};var l=e.print||console.log.bind(console),u=e.printErr||console.warn.bind(console);for(n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);t=null,e.arguments&&e.arguments;var h=0,g=function(Ze){h=Ze},v=function(){return h},x=8;function S(Ze,At,Ot,st){switch(Ot=Ot||"i8",Ot.charAt(Ot.length-1)==="*"&&(Ot="i32"),Ot){case"i1":ee[Ze>>0]=At;break;case"i8":ee[Ze>>0]=At;break;case"i16":se[Ze>>1]=At;break;case"i32":te[Ze>>2]=At;break;case"i64":Fe=[At>>>0,(Me=At,+it(Me)>=1?Me>0?(ct(+Ft(Me/4294967296),4294967295)|0)>>>0:~~+he((Me-+(~~Me>>>0))/4294967296)>>>0:0)],te[Ze>>2]=Fe[0],te[Ze+4>>2]=Fe[1];break;case"float":Q[Ze>>2]=At;break;case"double":le[Ze>>3]=At;break;default:Jr("invalid type for setValue: "+Ot)}}function w(Ze,At,Ot){switch(At=At||"i8",At.charAt(At.length-1)==="*"&&(At="i32"),At){case"i1":return ee[Ze>>0];case"i8":return ee[Ze>>0];case"i16":return se[Ze>>1];case"i32":return te[Ze>>2];case"i64":return te[Ze>>2];case"float":return Q[Ze>>2];case"double":return le[Ze>>3];default:Jr("invalid type for getValue: "+At)}return null}var R=!1;function C(Ze,At){Ze||Jr("Assertion failed: "+At)}function E(Ze){var At=e["_"+Ze];return C(At,"Cannot call unknown function "+Ze+", make sure it is exported"),At}function B(Ze,At,Ot,st,d){var J={string:function(Fn){var cs=0;if(Fn!=null&&Fn!==0){var Ma=(Fn.length<<2)+1;cs=nt(Ma),H(Fn,cs,Ma)}return cs},array:function(Fn){var cs=nt(Fn.length);return F(Fn,cs),cs}};function $n(Fn){return At==="string"?G(Fn):At==="boolean"?!!Fn:Fn}var Gn=E(Ze),Xn=[],un=0;if(st)for(var qn=0;qn=st);)++d;if(d-At>16&&Ze.subarray&&O)return O.decode(Ze.subarray(At,d));for(var J="";At>10,56320|un&1023)}}return J}function G(Ze,At){return Ze?z(ne,Ze,At):""}function k(Ze,At,Ot,st){if(!(st>0))return 0;for(var d=Ot,J=Ot+st-1,$n=0;$n=55296&&Gn<=57343){var Xn=Ze.charCodeAt(++$n);Gn=65536+((Gn&1023)<<10)|Xn&1023}if(Gn<=127){if(Ot>=J)break;At[Ot++]=Gn}else if(Gn<=2047){if(Ot+1>=J)break;At[Ot++]=192|Gn>>6,At[Ot++]=128|Gn&63}else if(Gn<=65535){if(Ot+2>=J)break;At[Ot++]=224|Gn>>12,At[Ot++]=128|Gn>>6&63,At[Ot++]=128|Gn&63}else{if(Ot+3>=J)break;At[Ot++]=240|Gn>>18,At[Ot++]=128|Gn>>12&63,At[Ot++]=128|Gn>>6&63,At[Ot++]=128|Gn&63}}return At[Ot]=0,Ot-d}function H(Ze,At,Ot){return k(Ze,ne,At,Ot)}typeof TextDecoder<"u"&&new TextDecoder("utf-16le");function F(Ze,At){ee.set(Ze,At)}function V(Ze,At){return Ze%At>0&&(Ze+=At-Ze%At),Ze}var Y,ee,ne,se,te,Q,le;function de(Ze){Y=Ze,e.HEAP8=ee=new Int8Array(Ze),e.HEAP16=se=new Int16Array(Ze),e.HEAP32=te=new Int32Array(Ze),e.HEAPU8=ne=new Uint8Array(Ze),e.HEAPU16=new Uint16Array(Ze),e.HEAPU32=new Uint32Array(Ze),e.HEAPF32=Q=new Float32Array(Ze),e.HEAPF64=le=new Float64Array(Ze)}var Te=5271536,Se=28624,ue=e.TOTAL_MEMORY||33554432;e.buffer?Y=e.buffer:Y=new ArrayBuffer(ue),ue=Y.byteLength,de(Y),te[Se>>2]=Te;function be(Ze){for(;Ze.length>0;){var At=Ze.shift();if(typeof At=="function"){At();continue}var Ot=At.func;typeof Ot=="number"?At.arg===void 0?e.dynCall_v(Ot):e.dynCall_vi(Ot,At.arg):Ot(At.arg===void 0?null:At.arg)}}var We=[],Ee=[],Ge=[],ye=[];function Pe(){if(e.preRun)for(typeof e.preRun=="function"&&(e.preRun=[e.preRun]);e.preRun.length;)It(e.preRun.shift());be(We)}function pt(){be(Ee)}function vt(){be(Ge)}function Tt(){if(e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;)Qe(e.postRun.shift());be(ye)}function It(Ze){We.unshift(Ze)}function Qe(Ze){ye.unshift(Ze)}var it=Math.abs,he=Math.ceil,Ft=Math.floor,ct=Math.min,Dt=0,gt=null;function tn(Ze){Dt++,e.monitorRunDependencies&&e.monitorRunDependencies(Dt)}function _t(Ze){if(Dt--,e.monitorRunDependencies&&e.monitorRunDependencies(Dt),Dt==0&>){var At=gt;gt=null,At()}}e.preloadedImages={},e.preloadedAudios={};var fe=null,X="data:application/octet-stream;base64,";function oe(Ze){return String.prototype.startsWith?Ze.startsWith(X):Ze.indexOf(X)===0}var Me,Fe;fe="data:application/octet-stream;base64,AAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAAAQAAAAQAAAADAAAABgAAAAUAAAACAAAAAAAAAAIAAAADAAAAAQAAAAQAAAAGAAAAAAAAAAUAAAADAAAABgAAAAQAAAAFAAAAAAAAAAEAAAACAAAABAAAAAUAAAAGAAAAAAAAAAIAAAADAAAAAQAAAAUAAAACAAAAAAAAAAEAAAADAAAABgAAAAQAAAAGAAAAAAAAAAUAAAACAAAAAQAAAAQAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAAAAAAEAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAYAAAAAAAAABQAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAMAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABQAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAYAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAYAAAAAAAAAAwAAAAIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAFAAAABAAAAAAAAAABAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAYAAAAAAAAABAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAgAAAAQAAAADAAAACAAAAAEAAAAHAAAABgAAAAkAAAAAAAAAAwAAAAIAAAACAAAA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AAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAABQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAFAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAUAAAABAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABAAAAAUAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAD/////AQAAAAAAAAADAAAABAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAUAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAD//////////wEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAAAAAAAAAAABAAAAAgAAAAYAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAAAAAAAAAAAAQAAAAEAAAAFAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAAAAAAAAAAABAAAAAwAAAAcAAAAGAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADgAAAAIAAAAAAAAAAAAAAAEAAAAAAAAACQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAMAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAAAAAAAAAAAAAEAAAAEAAAACAAAAAoAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAAAAAAAAAAAAQAAAAsAAAAPAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAIAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAAAAAAAAAAAAQAAAAwAAAAQAAAADAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAAAAAAAAAAABAAAACgAAABMAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAAAAAAAAAAEAAAANAAAAEQAAAA0AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAACAAAAAAAAAAAAAAABAAAADgAAABIAAAAPAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAgAAAAAAAAAAAAAAAQAAAP//////////EwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAASAAAAAAAAABgAAAAAAAAAIQAAAAAAAAAeAAAAAAAAACAAAAADAAAAMQAAAAEAAAAwAAAAAwAAADIAAAADAAAACAAAAAAAAAAFAAAABQAAAAoAAAAFAAAAFgAAAAAAAAAQAAAAAAAAABIAAAAAAAAAKQAAAAEAAAAhAAAAAAAAAB4AAAAAAAAABAAAAAAAAAAAAAAABQAAAAIAAAAFAAAADwAAAAEAAAAIAAAAAAAAAAUAAAAFAAAAHwAAAAEAAAAWAAAAAAAAABAAAAAAAAAAAgAAAAAAAAAGAAAAAAAAAA4AAAAAAAAACgAAAAAAAAALAAAAAAAAABEAAAADAAAAGAAAAAEAAAAXAAAAAwAAABkAAAADAAAAAAAAAAAAAAABAAAABQAAAAkAAAAFAAAABQAAAAAAAAACAAAAAAAAAAYAAAAAAAAAEgAAAAEAAAAKAAAAAAAAAAsAAAAAAAAABAAAAAEAAAADAAAABQAAAAcAAAAFAAAACAAAAAEAAAAAAAAAAAAAAAEAAAAFAAAAEAAAAAEAAAAFAAAAAAAAAAIAAAAAAAAABwAAAAAAAAAVAAAAAAAAACYAAAAAAAAACQAAAAAAAAATAAAAAAAAACIAAAADAAAADgAAAAEAAAAUAAAAAwAAACQAAAADAAAAAwAAAAAAAAANAAAABQAAAB0AAAAFAAAAAQAAAAAAAAAHAAAAAAAAABUAAAAAAAAABgAAAAEAAAAJAAAAAAAAABMAAAAAAAAABAAAAAIAAAAMAAAA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Zhu25b633D8c1YgmzowSQNM25BRKWARArGS08/lNxD+LFssHwmMRQLC5aNcxBgJABL9HT0WRF0CjCmJmOGEOQHsuaVzMP/s/TWJCaGGwBUCeu1PAPLzjP9nqN9DZOBNAKE4JcydbCkCGtbd1qjPzP8dgm9U8jhVAtPeKTkVwDkCeCLss5l37P401XMPLmBdAFd29VMVQDUBg0yA55h75Pz6odcYLCRdApBM4rBrkAkDyAVWgQxbRP4XDMnK20hFAymLlF7EmzD8GUgo9XBHlP3lbK7T9COc/k+OhPthhy7+YGEpnrOvCPzBFhLs15u4/epbqB6H4uz9IuuLF5svev6lzLKY31es/CaQ0envF5z8ZY0xlUADXv7zaz7HYEuI/CfbK1sn16T8uAQfWwxLWPzKn/YuFN94/5KdbC1AFu793fyCSnlfvPzK2y4doAMY/NRg5t1/X6b/shq4QJaHDP5yNIAKPOeI/vpn7BSE30r/X4YQrO6nrv78Ziv/Thto/DqJ1Y6+y5z9l51NaxFrlv8QlA65HOLS/86dxiEc96z+Hj0+LFjneP6LzBZ8LTc2/DaJ1Y6+y579l51NaxFrlP8QlA65HOLQ/8qdxiEc967+Jj0+LFjnev6LzBZ8LTc0/1qdbC1AFuz93fyCSnlfvvzK2y4doAMa/NRg5t1/X6T/vhq4QJaHDv5yNIAKPOeK/wJn7BSE30j/W4YQrO6nrP78Ziv/Thtq/CaQ0envF578XY0xlUADXP7zaz7HYEuK/CvbK1sn16b8rAQfWwxLWvzKn/YuFN96/zWLlF7EmzL8GUgo9XBHlv3lbK7T9COe/kOOhPthhyz+cGEpnrOvCvzBFhLs15u6/c5bqB6H4u79IuuLF5sveP6lzLKY31eu/AQAAAP////8HAAAA/////zEAAAD/////VwEAAP////9hCQAA/////6dBAAD/////kcsBAP/////3kAwA/////8H2VwAAAAAAAAAAAAAAAAACAAAA/////w4AAAD/////YgAAAP////+uAgAA/////8ISAAD/////ToMAAP////8ilwMA/////+4hGQD/////gu2vAAAAAAAAAAAAAAAAAAAAAAACAAAA//////////8BAAAAAwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////////////////////AQAAAAAAAAACAAAA////////////////AwAAAP//////////////////////////////////////////////////////////AgAAAP//////////AQAAAAAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD/////////////////////AQAAAP///////////////wIAAAD///////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAD///////////////8CAAAAAQAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8BAAAAAgAAAP///////////////wAAAAD/////////////////////AwAAAP///////////////////////////////wIAAAD///////////////8BAAAA/////////////////////wAAAAD/////////////////////AwAAAP////////////////////////////////////////////////////8DAAAA/////////////////////wAAAAABAAAA//////////8CAAAA//////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAA////////////////AgAAAAAAAAABAAAA//////////////////////////////////////////////////////////////////////////8DAAAAAQAAAP//////////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAIAAAABAAAAAQAAAAIAAAACAAAAAAAAAAUAAAAFAAAAAAAAAAIAAAACAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAEAAAACAAAAAgAAAAIAAAAAAAAABQAAAAYAAAAAAAAAAgAAAAIAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAACAAAAAQAAAAMAAAACAAAAAgAAAAAAAAAFAAAABwAAAAAAAAACAAAAAgAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAIAAAABAAAABAAAAAIAAAACAAAAAAAAAAUAAAAIAAAAAAAAAAIAAAACAAAAAwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAIAAAAAAAAAAgAAAAEAAAAAAAAAAgAAAAIAAAAAAAAABQAAAAkAAAAAAAAAAgAAAAIAAAADAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAIAAAAAAAAAAwAAAA4AAAACAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAgAAAAMAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAgAAAAAAAAADAAAACgAAAAIAAAAAAAAAAgAAAAMAAAABAAAAAAAAAAIAAAACAAAAAwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAACAAAAAAAAAAMAAAALAAAAAgAAAAAAAAACAAAAAwAAAAIAAAAAAAAAAgAAAAIAAAADAAAACAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAIAAAAAAAAAAwAAAAwAAAACAAAAAAAAAAIAAAADAAAAAwAAAAAAAAACAAAAAgAAAAMAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAACAAAAAgAAAAAAAAADAAAADQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAAAAAAAAIAAAACAAAAAwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAACAAAAAAAAAAMAAAAGAAAAAgAAAAAAAAACAAAAAwAAAA8AAAAAAAAAAgAAAAIAAAADAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAIAAAAAAAAAAwAAAAcAAAACAAAAAAAAAAIAAAADAAAAEAAAAAAAAAACAAAAAgAAAAMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAgAAAAAAAAADAAAACAAAAAIAAAAAAAAAAgAAAAMAAAARAAAAAAAAAAIAAAACAAAAAwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAACAAAAAAAAAAMAAAAJAAAAAgAAAAAAAAACAAAAAwAAABIAAAAAAAAAAgAAAAIAAAADAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAgAAAAIAAAAAAAAAAwAAAAUAAAACAAAA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ZV0gPT0gS0kAZmFjZWlqay5jAF9mYWNlSWprUGVudFRvQ2VsbEJvdW5kYXJ5AGFkamFjZW50RmFjZURpcltjZW50ZXJJSksuZmFjZV1bZmFjZTJdID09IEtJAF9mYWNlSWprVG9DZWxsQm91bmRhcnkAaDNJbmRleC5jAGNvbXBhY3RDZWxscwBsYXRMbmdUb0NlbGwAY2VsbFRvQ2hpbGRQb3MAdmFsaWRhdGVDaGlsZFBvcwBsYXRMbmcuYwBjZWxsQXJlYVJhZHMyAHBvbHlnb24tPm5leHQgPT0gTlVMTABsaW5rZWRHZW8uYwBhZGROZXdMaW5rZWRQb2x5Z29uAG5leHQgIT0gTlVMTABsb29wICE9IE5VTEwAYWRkTmV3TGlua2VkTG9vcABwb2x5Z29uLT5maXJzdCA9PSBOVUxMAGFkZExpbmtlZExvb3AAY29vcmQgIT0gTlVMTABhZGRMaW5rZWRDb29yZABsb29wLT5maXJzdCA9PSBOVUxMAGlubmVyTG9vcHMgIT0gTlVMTABub3JtYWxpemVNdWx0aVBvbHlnb24AYmJveGVzICE9IE5VTEwAY2FuZGlkYXRlcyAhPSBOVUxMAGZpbmRQb2x5Z29uRm9ySG9sZQBjYW5kaWRhdGVCQm94ZXMgIT0gTlVMTAByZXZEaXIgIT0gSU5WQUxJRF9ESUdJVABsb2NhbGlqLmMAY2VsbFRvTG9jYWxJamsAYmFzZUNlbGwgIT0gb3JpZ2luQmFzZUNlbGwAIShvcmlnaW5PblBlbnQgJiYgaW5kZXhPblBlbnQpAGJhc2VDZWxsID09IG9yaWdpbkJhc2VDZWxsAGJhc2VDZWxsICE9IElOVkFMSURfQkFTRV9DRUxMAGxvY2FsSWprVG9DZWxsACFfaXNCYXNlQ2VsbFBlbnRhZ29uKGJhc2VDZWxsKQBiYXNlQ2VsbFJvdGF0aW9ucyA+PSAwAGdyaWRQYXRoQ2VsbHMAcG9seWZpbGwuYwBpdGVyU3RlcFBvbHlnb25Db21wYWN0ADAAdmVydGV4LmMAdmVydGV4Um90YXRpb25zAGNlbGxUb1ZlcnRleABncmFwaC0+YnVja2V0cyAhPSBOVUxMAHZlcnRleEdyYXBoLmMAaW5pdFZlcnRleEdyYXBoAG5vZGUgIT0gTlVMTABhZGRWZXJ0ZXhOb2Rl";var ze=28640;function Et(Ze,At,Ot,st){Jr("Assertion failed: "+G(Ze)+", at: "+[At?G(At):"unknown filename",Ot,st?G(st):"unknown function"])}function Rt(){return ee.length}function Ht(Ze,At,Ot){ne.set(ne.subarray(At,At+Ot),Ze)}function Xt(Ze){return e.___errno_location&&(te[e.___errno_location()>>2]=Ze),Ze}function yt(Ze){Jr("OOM")}function Zt(Ze){try{var At=new ArrayBuffer(Ze);return At.byteLength!=Ze?void 0:(new Int8Array(At).set(ee),Wt(At),de(At),1)}catch{}}function sn(Ze){var At=Rt(),Ot=16777216,st=2147483648-Ot;if(Ze>st)return!1;for(var d=16777216,J=Math.max(At,d);J>4,d=(Gn&15)<<4|Xn>>2,J=(Xn&3)<<6|un,Ot=Ot+String.fromCharCode(st),Xn!==64&&(Ot=Ot+String.fromCharCode(d)),un!==64&&(Ot=Ot+String.fromCharCode(J));while(qn13780509?(f=Hu(15,f)|0,f|0):(p=((A|0)<0)<<31>>31,y=fr(A|0,p|0,3,0)|0,_=Z()|0,p=Yt(A|0,p|0,1,0)|0,p=fr(y|0,_|0,p|0,Z()|0)|0,p=Yt(p|0,Z()|0,1,0)|0,A=Z()|0,d[f>>2]=p,d[f+4>>2]=A,f=0,f|0)}function _e(A,f,p,_){return A=A|0,f=f|0,p=p|0,_=_|0,at(A,f,p,_,0)|0}function at(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0,I=0;if(U=K,K=K+16|0,M=U,!(Ct(A,f,p,_,y)|0))return _=0,K=U,_|0;do if((p|0)>=0){if((p|0)>13780509){if(T=Hu(15,M)|0,T|0)break;N=M,M=d[N>>2]|0,N=d[N+4>>2]|0}else T=((p|0)<0)<<31>>31,I=fr(p|0,T|0,3,0)|0,N=Z()|0,T=Yt(p|0,T|0,1,0)|0,T=fr(I|0,N|0,T|0,Z()|0)|0,T=Yt(T|0,Z()|0,1,0)|0,N=Z()|0,d[M>>2]=T,d[M+4>>2]=N,M=T;if(uo(_|0,0,M<<3|0)|0,y|0){uo(y|0,0,M<<2|0)|0,T=Jt(A,f,p,_,y,M,N,0)|0;break}T=Ks(M,4)|0,T?(I=Jt(A,f,p,_,T,M,N,0)|0,An(T),T=I):T=13}else T=2;while(!1);return I=T,K=U,I|0}function Ct(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0;if(Ce=K,K=K+16|0,Ae=Ce,me=Ce+8|0,pe=Ae,d[pe>>2]=A,d[pe+4>>2]=f,(p|0)<0)return me=2,K=Ce,me|0;if(T=_,d[T>>2]=A,d[T+4>>2]=f,T=(y|0)!=0,T&&(d[y>>2]=0),Ci(A,f)|0)return me=9,K=Ce,me|0;d[me>>2]=0;e:do if((p|0)>=1)if(T)for(q=1,I=0,ie=0,pe=1,T=A;;){if(!(I|ie)){if(T=cn(T,f,4,me,Ae)|0,T|0)break e;if(f=Ae,T=d[f>>2]|0,f=d[f+4>>2]|0,Ci(T,f)|0){T=9;break e}}if(T=cn(T,f,d[26800+(ie<<2)>>2]|0,me,Ae)|0,T|0)break e;if(f=Ae,T=d[f>>2]|0,f=d[f+4>>2]|0,A=_+(q<<3)|0,d[A>>2]=T,d[A+4>>2]=f,d[y+(q<<2)>>2]=pe,A=I+1|0,M=(A|0)==(pe|0),N=ie+1|0,U=(N|0)==6,Ci(T,f)|0){T=9;break e}if(pe=pe+(U&M&1)|0,(pe|0)>(p|0)){T=0;break}else q=q+1|0,I=M?0:A,ie=M?U?0:N:ie}else for(q=1,I=0,ie=0,pe=1,T=A;;){if(!(I|ie)){if(T=cn(T,f,4,me,Ae)|0,T|0)break e;if(f=Ae,T=d[f>>2]|0,f=d[f+4>>2]|0,Ci(T,f)|0){T=9;break e}}if(T=cn(T,f,d[26800+(ie<<2)>>2]|0,me,Ae)|0,T|0)break e;if(f=Ae,T=d[f>>2]|0,f=d[f+4>>2]|0,A=_+(q<<3)|0,d[A>>2]=T,d[A+4>>2]=f,A=I+1|0,M=(A|0)==(pe|0),N=ie+1|0,U=(N|0)==6,Ci(T,f)|0){T=9;break e}if(pe=pe+(U&M&1)|0,(pe|0)>(p|0)){T=0;break}else q=q+1|0,I=M?0:A,ie=M?U?0:N:ie}else T=0;while(!1);return me=T,K=Ce,me|0}function Jt(A,f,p,_,y,T,M,N){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0,T=T|0,M=M|0,N=N|0;var U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0;if(Ce=K,K=K+16|0,Ae=Ce+8|0,me=Ce,U=ec(A|0,f|0,T|0,M|0)|0,q=Z()|0,ie=_+(U<<3)|0,Be=ie,Xe=d[Be>>2]|0,Be=d[Be+4>>2]|0,I=(Xe|0)==(A|0)&(Be|0)==(f|0),!((Xe|0)==0&(Be|0)==0|I))do U=Yt(U|0,q|0,1,0)|0,U=th(U|0,Z()|0,T|0,M|0)|0,q=Z()|0,ie=_+(U<<3)|0,Xe=ie,Be=d[Xe>>2]|0,Xe=d[Xe+4>>2]|0,I=(Be|0)==(A|0)&(Xe|0)==(f|0);while(!((Be|0)==0&(Xe|0)==0|I));if(U=y+(U<<2)|0,I&&(d[U>>2]|0)<=(N|0)||(Xe=ie,d[Xe>>2]=A,d[Xe+4>>2]=f,d[U>>2]=N,(N|0)>=(p|0)))return Xe=0,K=Ce,Xe|0;switch(I=N+1|0,d[Ae>>2]=0,U=cn(A,f,2,Ae,me)|0,U|0){case 9:{pe=9;break}case 0:{U=me,U=Jt(d[U>>2]|0,d[U+4>>2]|0,p,_,y,T,M,I)|0,U||(pe=9);break}}e:do if((pe|0)==9){switch(d[Ae>>2]=0,U=cn(A,f,3,Ae,me)|0,U|0){case 9:break;case 0:{if(U=me,U=Jt(d[U>>2]|0,d[U+4>>2]|0,p,_,y,T,M,I)|0,U|0)break e;break}default:break e}switch(d[Ae>>2]=0,U=cn(A,f,1,Ae,me)|0,U|0){case 9:break;case 0:{if(U=me,U=Jt(d[U>>2]|0,d[U+4>>2]|0,p,_,y,T,M,I)|0,U|0)break e;break}default:break e}switch(d[Ae>>2]=0,U=cn(A,f,5,Ae,me)|0,U|0){case 9:break;case 0:{if(U=me,U=Jt(d[U>>2]|0,d[U+4>>2]|0,p,_,y,T,M,I)|0,U|0)break e;break}default:break e}switch(d[Ae>>2]=0,U=cn(A,f,4,Ae,me)|0,U|0){case 9:break;case 0:{if(U=me,U=Jt(d[U>>2]|0,d[U+4>>2]|0,p,_,y,T,M,I)|0,U|0)break e;break}default:break e}switch(d[Ae>>2]=0,U=cn(A,f,6,Ae,me)|0,U|0){case 9:break;case 0:{if(U=me,U=Jt(d[U>>2]|0,d[U+4>>2]|0,p,_,y,T,M,I)|0,U|0)break e;break}default:break e}return Xe=0,K=Ce,Xe|0}while(!1);return Xe=U,K=Ce,Xe|0}function cn(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0;if(p>>>0>6)return y=1,y|0;if(ie=(d[_>>2]|0)%6|0,d[_>>2]=ie,(ie|0)>0){T=0;do p=Uu(p)|0,T=T+1|0;while((T|0)<(d[_>>2]|0))}if(ie=bt(A|0,f|0,45)|0,Z()|0,q=ie&127,q>>>0>121)return y=5,y|0;U=$s(A,f)|0,T=bt(A|0,f|0,52)|0,Z()|0,T=T&15;e:do if(!T)I=8;else{for(;;){if(M=(15-T|0)*3|0,N=bt(A|0,f|0,M|0)|0,Z()|0,N=N&7,(N|0)==7){f=5;break}if(me=(Ss(T)|0)==0,T=T+-1|0,pe=Nt(7,0,M|0)|0,f=f&~(Z()|0),Ae=Nt(d[(me?432:16)+(N*28|0)+(p<<2)>>2]|0,0,M|0)|0,M=Z()|0,p=d[(me?640:224)+(N*28|0)+(p<<2)>>2]|0,A=Ae|A&~pe,f=M|f,!p){p=0;break e}if(!T){I=8;break e}}return f|0}while(!1);(I|0)==8&&(me=d[848+(q*28|0)+(p<<2)>>2]|0,Ae=Nt(me|0,0,45)|0,A=Ae|A,f=Z()|0|f&-1040385,p=d[4272+(q*28|0)+(p<<2)>>2]|0,(me&127|0)==127&&(me=Nt(d[848+(q*28|0)+20>>2]|0,0,45)|0,f=Z()|0|f&-1040385,p=d[4272+(q*28|0)+20>>2]|0,A=ku(me|A,f)|0,f=Z()|0,d[_>>2]=(d[_>>2]|0)+1)),N=bt(A|0,f|0,45)|0,Z()|0,N=N&127;e:do if(Bi(N)|0){t:do if(($s(A,f)|0)==1){if((q|0)!=(N|0))if(Ru(N,d[7696+(q*28|0)>>2]|0)|0){A=hp(A,f)|0,M=1,f=Z()|0;break}else Ut(27795,26864,533,26872);switch(U|0){case 3:{A=ku(A,f)|0,f=Z()|0,d[_>>2]=(d[_>>2]|0)+1,M=0;break t}case 5:{A=hp(A,f)|0,f=Z()|0,d[_>>2]=(d[_>>2]|0)+5,M=0;break t}case 0:return me=9,me|0;default:return me=1,me|0}}else M=0;while(!1);if((p|0)>0){T=0;do A=cp(A,f)|0,f=Z()|0,T=T+1|0;while((T|0)!=(p|0))}if((q|0)!=(N|0)){if(!(Wc(N)|0)){if((M|0)!=0|($s(A,f)|0)!=5)break;d[_>>2]=(d[_>>2]|0)+1;break}switch(ie&127){case 8:case 118:break e}($s(A,f)|0)!=3&&(d[_>>2]=(d[_>>2]|0)+1)}}else if((p|0)>0){T=0;do A=ku(A,f)|0,f=Z()|0,T=T+1|0;while((T|0)!=(p|0))}while(!1);return d[_>>2]=((d[_>>2]|0)+p|0)%6|0,me=y,d[me>>2]=A,d[me+4>>2]=f,me=0,me|0}function Yn(A,f,p,_){return A=A|0,f=f|0,p=p|0,_=_|0,yi(A,f,p,_)|0?(uo(_|0,0,p*48|0)|0,_=js(A,f,p,_)|0,_|0):(_=0,_|0)}function yi(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0;if(me=K,K=K+16|0,pe=me,Ae=me+8|0,ie=pe,d[ie>>2]=A,d[ie+4>>2]=f,(p|0)<0)return Ae=2,K=me,Ae|0;if(!p)return Ae=_,d[Ae>>2]=A,d[Ae+4>>2]=f,Ae=0,K=me,Ae|0;d[Ae>>2]=0;e:do if(Ci(A,f)|0)A=9;else{y=0,ie=A;do{if(A=cn(ie,f,4,Ae,pe)|0,A|0)break e;if(f=pe,ie=d[f>>2]|0,f=d[f+4>>2]|0,y=y+1|0,Ci(ie,f)|0){A=9;break e}}while((y|0)<(p|0));q=_,d[q>>2]=ie,d[q+4>>2]=f,q=p+-1|0,I=0,A=1;do{if(y=26800+(I<<2)|0,(I|0)==5)for(M=d[y>>2]|0,T=0,y=A;;){if(A=pe,A=cn(d[A>>2]|0,d[A+4>>2]|0,M,Ae,pe)|0,A|0)break e;if((T|0)!=(q|0))if(U=pe,N=d[U>>2]|0,U=d[U+4>>2]|0,A=_+(y<<3)|0,d[A>>2]=N,d[A+4>>2]=U,!(Ci(N,U)|0))A=y+1|0;else{A=9;break e}else A=y;if(T=T+1|0,(T|0)>=(p|0))break;y=A}else for(M=pe,U=d[y>>2]|0,N=0,y=A,T=d[M>>2]|0,M=d[M+4>>2]|0;;){if(A=cn(T,M,U,Ae,pe)|0,A|0)break e;if(M=pe,T=d[M>>2]|0,M=d[M+4>>2]|0,A=_+(y<<3)|0,d[A>>2]=T,d[A+4>>2]=M,A=y+1|0,Ci(T,M)|0){A=9;break e}if(N=N+1|0,(N|0)>=(p|0))break;y=A}I=I+1|0}while(I>>>0<6);A=pe,A=(ie|0)==(d[A>>2]|0)&&(f|0)==(d[A+4>>2]|0)?0:9}while(!1);return Ae=A,K=me,Ae|0}function js(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0;if(ie=K,K=K+16|0,M=ie,!p)return d[_>>2]=A,d[_+4>>2]=f,_=0,K=ie,_|0;do if((p|0)>=0){if((p|0)>13780509){if(y=Hu(15,M)|0,y|0)break;T=M,y=d[T>>2]|0,T=d[T+4>>2]|0}else y=((p|0)<0)<<31>>31,q=fr(p|0,y|0,3,0)|0,T=Z()|0,y=Yt(p|0,y|0,1,0)|0,y=fr(q|0,T|0,y|0,Z()|0)|0,y=Yt(y|0,Z()|0,1,0)|0,T=Z()|0,q=M,d[q>>2]=y,d[q+4>>2]=T;if(I=Ks(y,8)|0,!I)y=13;else{if(q=Ks(y,4)|0,!q){An(I),y=13;break}if(y=Jt(A,f,p,I,q,y,T,0)|0,y|0){An(I),An(q);break}if(f=d[M>>2]|0,M=d[M+4>>2]|0,(M|0)>0|(M|0)==0&f>>>0>0){y=0,N=0,U=0;do A=I+(N<<3)|0,T=d[A>>2]|0,A=d[A+4>>2]|0,!((T|0)==0&(A|0)==0)&&(d[q+(N<<2)>>2]|0)==(p|0)&&(pe=_+(y<<3)|0,d[pe>>2]=T,d[pe+4>>2]=A,y=y+1|0),N=Yt(N|0,U|0,1,0)|0,U=Z()|0;while((U|0)<(M|0)|(U|0)==(M|0)&N>>>0>>0)}An(I),An(q),y=0}}else y=2;while(!1);return pe=y,K=ie,pe|0}function pi(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0;for(N=K,K=K+16|0,T=N,M=N+8|0,y=(Ci(A,f)|0)==0,y=y?1:2;;){if(d[M>>2]=0,I=(cn(A,f,y,M,T)|0)==0,U=T,I&((d[U>>2]|0)==(p|0)?(d[U+4>>2]|0)==(_|0):0)){A=4;break}if(y=y+1|0,y>>>0>=7){y=7,A=4;break}}return(A|0)==4?(K=N,y|0):0}function Pr(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0;if(N=K,K=K+48|0,y=N+16|0,T=N+8|0,M=N,p=Ra(p)|0,p|0)return M=p,K=N,M|0;if(I=A,U=d[I+4>>2]|0,p=T,d[p>>2]=d[I>>2],d[p+4>>2]=U,pa(T,y),p=sf(y,f,M)|0,!p){if(f=d[T>>2]|0,T=d[A+8>>2]|0,(T|0)>0){y=d[A+12>>2]|0,p=0;do f=(d[y+(p<<3)>>2]|0)+f|0,p=p+1|0;while((p|0)<(T|0))}p=M,y=d[p>>2]|0,p=d[p+4>>2]|0,T=((f|0)<0)<<31>>31,(p|0)<(T|0)|(p|0)==(T|0)&y>>>0>>0?(p=M,d[p>>2]=f,d[p+4>>2]=T,p=T):f=y,U=Yt(f|0,p|0,12,0)|0,I=Z()|0,p=M,d[p>>2]=U,d[p+4>>2]=I,p=_,d[p>>2]=U,d[p+4>>2]=I,p=0}return I=p,K=N,I|0}function Ei(A,f,p,_,y,T,M){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0,T=T|0,M=M|0;var N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0,Re=0,Pt=0,rn=0,en=0,Un=0,En=0,Qn=0,Tn=0,on=0,Lt=0,vn=0,ii=0,wn=0,Ri=0,ws=0,Al=0;if(ii=K,K=K+64|0,Tn=ii+48|0,on=ii+32|0,Lt=ii+24|0,Pt=ii+8|0,rn=ii,U=d[A>>2]|0,(U|0)<=0)return vn=0,K=ii,vn|0;for(en=A+4|0,Un=Tn+8|0,En=on+8|0,Qn=Pt+8|0,N=0,ke=0;;){I=d[en>>2]|0,qe=I+(ke<<4)|0,d[Tn>>2]=d[qe>>2],d[Tn+4>>2]=d[qe+4>>2],d[Tn+8>>2]=d[qe+8>>2],d[Tn+12>>2]=d[qe+12>>2],(ke|0)==(U+-1|0)?(d[on>>2]=d[I>>2],d[on+4>>2]=d[I+4>>2],d[on+8>>2]=d[I+8>>2],d[on+12>>2]=d[I+12>>2]):(qe=I+(ke+1<<4)|0,d[on>>2]=d[qe>>2],d[on+4>>2]=d[qe+4>>2],d[on+8>>2]=d[qe+8>>2],d[on+12>>2]=d[qe+12>>2]),U=a1(Tn,on,_,Lt)|0;e:do if(U)I=0,N=U;else if(U=Lt,I=d[U>>2]|0,U=d[U+4>>2]|0,(U|0)>0|(U|0)==0&I>>>0>0){Xe=0,qe=0;t:for(;;){if(Ri=1/(+(I>>>0)+4294967296*+(U|0)),Al=+J[Tn>>3],U=Ur(I|0,U|0,Xe|0,qe|0)|0,ws=+(U>>>0)+4294967296*+(Z()|0),wn=+(Xe>>>0)+4294967296*+(qe|0),J[Pt>>3]=Ri*(Al*ws)+Ri*(+J[on>>3]*wn),J[Qn>>3]=Ri*(+J[Un>>3]*ws)+Ri*(+J[En>>3]*wn),U=PA(Pt,_,rn)|0,U|0){N=U;break}Be=rn,Ce=d[Be>>2]|0,Be=d[Be+4>>2]|0,pe=ec(Ce|0,Be|0,f|0,p|0)|0,q=Z()|0,U=M+(pe<<3)|0,ie=U,I=d[ie>>2]|0,ie=d[ie+4>>2]|0;n:do if((I|0)==0&(ie|0)==0)Re=U,vn=16;else for(Ae=0,me=0;;){if((Ae|0)>(p|0)|(Ae|0)==(p|0)&me>>>0>f>>>0){N=1;break t}if((I|0)==(Ce|0)&(ie|0)==(Be|0))break n;if(U=Yt(pe|0,q|0,1,0)|0,pe=th(U|0,Z()|0,f|0,p|0)|0,q=Z()|0,me=Yt(me|0,Ae|0,1,0)|0,Ae=Z()|0,U=M+(pe<<3)|0,ie=U,I=d[ie>>2]|0,ie=d[ie+4>>2]|0,(I|0)==0&(ie|0)==0){Re=U,vn=16;break}}while(!1);if((vn|0)==16&&(vn=0,!((Ce|0)==0&(Be|0)==0))&&(me=Re,d[me>>2]=Ce,d[me+4>>2]=Be,me=T+(d[y>>2]<<3)|0,d[me>>2]=Ce,d[me+4>>2]=Be,me=y,me=Yt(d[me>>2]|0,d[me+4>>2]|0,1,0)|0,Ce=Z()|0,Be=y,d[Be>>2]=me,d[Be+4>>2]=Ce),Xe=Yt(Xe|0,qe|0,1,0)|0,qe=Z()|0,U=Lt,I=d[U>>2]|0,U=d[U+4>>2]|0,!((U|0)>(qe|0)|(U|0)==(qe|0)&I>>>0>Xe>>>0)){I=1;break e}}I=0}else I=1;while(!1);if(ke=ke+1|0,!I){vn=21;break}if(U=d[A>>2]|0,(ke|0)>=(U|0)){N=0,vn=21;break}}return(vn|0)==21?(K=ii,N|0):0}function Zh(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0,Re=0,Pt=0,rn=0,en=0,Un=0,En=0,Qn=0,Tn=0,on=0,Lt=0,vn=0,ii=0,wn=0,Ri=0,ws=0;if(ws=K,K=K+112|0,vn=ws+80|0,U=ws+72|0,ii=ws,wn=ws+56|0,y=Ra(p)|0,y|0)return Ri=y,K=ws,Ri|0;if(I=A+8|0,Ri=Fo((d[I>>2]<<5)+32|0)|0,!Ri)return Ri=13,K=ws,Ri|0;if(Na(A,Ri),y=Ra(p)|0,!y){if(on=A,Lt=d[on+4>>2]|0,y=U,d[y>>2]=d[on>>2],d[y+4>>2]=Lt,pa(U,vn),y=sf(vn,f,ii)|0,y)on=0,Lt=0;else{if(y=d[U>>2]|0,T=d[I>>2]|0,(T|0)>0){M=d[A+12>>2]|0,p=0;do y=(d[M+(p<<3)>>2]|0)+y|0,p=p+1|0;while((p|0)!=(T|0));p=y}else p=y;y=ii,T=d[y>>2]|0,y=d[y+4>>2]|0,M=((p|0)<0)<<31>>31,(y|0)<(M|0)|(y|0)==(M|0)&T>>>0

>>0?(y=ii,d[y>>2]=p,d[y+4>>2]=M,y=M):p=T,on=Yt(p|0,y|0,12,0)|0,Lt=Z()|0,y=ii,d[y>>2]=on,d[y+4>>2]=Lt,y=0}if(!y){if(p=Ks(on,8)|0,!p)return An(Ri),Ri=13,K=ws,Ri|0;if(N=Ks(on,8)|0,!N)return An(Ri),An(p),Ri=13,K=ws,Ri|0;Qn=vn,d[Qn>>2]=0,d[Qn+4>>2]=0,Qn=A,Tn=d[Qn+4>>2]|0,y=U,d[y>>2]=d[Qn>>2],d[y+4>>2]=Tn,y=Ei(U,on,Lt,f,vn,p,N)|0;e:do if(y)An(p),An(N),An(Ri);else{t:do if((d[I>>2]|0)>0){for(M=A+12|0,T=0;y=Ei((d[M>>2]|0)+(T<<3)|0,on,Lt,f,vn,p,N)|0,T=T+1|0,!(y|0);)if((T|0)>=(d[I>>2]|0))break t;An(p),An(N),An(Ri);break e}while(!1);(Lt|0)>0|(Lt|0)==0&on>>>0>0&&uo(N|0,0,on<<3|0)|0,Tn=vn,Qn=d[Tn+4>>2]|0;t:do if((Qn|0)>0|(Qn|0)==0&(d[Tn>>2]|0)>>>0>0){en=p,Un=N,En=p,Qn=N,Tn=p,y=p,Re=p,Pt=N,rn=N,p=N;n:for(;;){for(Be=0,Xe=0,qe=0,ke=0,T=0,M=0;;){N=ii,U=N+56|0;do d[N>>2]=0,N=N+4|0;while((N|0)<(U|0));if(f=en+(Be<<3)|0,I=d[f>>2]|0,f=d[f+4>>2]|0,Ct(I,f,1,ii,0)|0){N=ii,U=N+56|0;do d[N>>2]=0,N=N+4|0;while((N|0)<(U|0));N=Ks(7,4)|0,N|0&&(Jt(I,f,1,ii,N,7,0,0)|0,An(N))}for(Ce=0;;){me=ii+(Ce<<3)|0,Ae=d[me>>2]|0,me=d[me+4>>2]|0;i:do if((Ae|0)==0&(me|0)==0)N=T,U=M;else{if(q=ec(Ae|0,me|0,on|0,Lt|0)|0,I=Z()|0,N=_+(q<<3)|0,f=N,U=d[f>>2]|0,f=d[f+4>>2]|0,!((U|0)==0&(f|0)==0)){ie=0,pe=0;do{if((ie|0)>(Lt|0)|(ie|0)==(Lt|0)&pe>>>0>on>>>0)break n;if((U|0)==(Ae|0)&(f|0)==(me|0)){N=T,U=M;break i}N=Yt(q|0,I|0,1,0)|0,q=th(N|0,Z()|0,on|0,Lt|0)|0,I=Z()|0,pe=Yt(pe|0,ie|0,1,0)|0,ie=Z()|0,N=_+(q<<3)|0,f=N,U=d[f>>2]|0,f=d[f+4>>2]|0}while(!((U|0)==0&(f|0)==0))}if((Ae|0)==0&(me|0)==0){N=T,U=M;break}Ol(Ae,me,wn)|0,Da(A,Ri,wn)|0&&(pe=Yt(T|0,M|0,1,0)|0,M=Z()|0,ie=N,d[ie>>2]=Ae,d[ie+4>>2]=me,T=Un+(T<<3)|0,d[T>>2]=Ae,d[T+4>>2]=me,T=pe),N=T,U=M}while(!1);if(Ce=Ce+1|0,Ce>>>0>=7)break;T=N,M=U}if(Be=Yt(Be|0,Xe|0,1,0)|0,Xe=Z()|0,qe=Yt(qe|0,ke|0,1,0)|0,ke=Z()|0,M=vn,T=d[M>>2]|0,M=d[M+4>>2]|0,(ke|0)<(M|0)|(ke|0)==(M|0)&qe>>>0>>0)T=N,M=U;else break}if((M|0)>0|(M|0)==0&T>>>0>0){T=0,M=0;do ke=en+(T<<3)|0,d[ke>>2]=0,d[ke+4>>2]=0,T=Yt(T|0,M|0,1,0)|0,M=Z()|0,ke=vn,qe=d[ke+4>>2]|0;while((M|0)<(qe|0)|((M|0)==(qe|0)?T>>>0<(d[ke>>2]|0)>>>0:0))}if(ke=vn,d[ke>>2]=N,d[ke+4>>2]=U,(U|0)>0|(U|0)==0&N>>>0>0)Ce=p,Be=rn,Xe=Tn,qe=Pt,ke=Un,p=Re,rn=y,Pt=En,Re=Ce,y=Be,Tn=Qn,Qn=Xe,En=qe,Un=en,en=ke;else break t}An(En),An(Qn),An(Ri),y=1;break e}else y=N;while(!1);An(Ri),An(p),An(y),y=0}while(!1);return Ri=y,K=ws,Ri|0}}return An(Ri),Ri=y,K=ws,Ri|0}function Bl(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0;if(q=K,K=K+176|0,U=q,(f|0)<1)return Io(p,0,0),I=0,K=q,I|0;for(N=A,N=bt(d[N>>2]|0,d[N+4>>2]|0,52)|0,Z()|0,Io(p,(f|0)>6?f:6,N&15),N=0;_=A+(N<<3)|0,_=Il(d[_>>2]|0,d[_+4>>2]|0,U)|0,!(_|0);){if(_=d[U>>2]|0,(_|0)>0){M=0;do T=U+8+(M<<4)|0,M=M+1|0,_=U+8+(((M|0)%(_|0)|0)<<4)|0,y=Zu(p,_,T)|0,y?Ku(p,y)|0:VA(p,T,_)|0,_=d[U>>2]|0;while((M|0)<(_|0))}if(N=N+1|0,(N|0)>=(f|0)){_=0,I=13;break}}return(I|0)==13?(K=q,_|0):(GA(p),I=_,K=q,I|0)}function nl(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0;if(T=K,K=K+32|0,_=T,y=T+16|0,A=Bl(A,f,y)|0,A|0)return p=A,K=T,p|0;if(d[p>>2]=0,d[p+4>>2]=0,d[p+8>>2]=0,A=qA(y)|0,A|0)do{f=M1(p)|0;do OA(f,A)|0,M=A+16|0,d[_>>2]=d[M>>2],d[_+4>>2]=d[M+4>>2],d[_+8>>2]=d[M+8>>2],d[_+12>>2]=d[M+12>>2],Ku(y,A)|0,A=As(y,_)|0;while((A|0)!=0);A=qA(y)|0}while((A|0)!=0);return GA(y),A=Rx(p)|0,A?(Wu(p),M=A,K=T,M|0):(M=0,K=T,M|0)}function Bi(A){return A=A|0,A>>>0>121?(A=0,A|0):(A=d[7696+(A*28|0)+16>>2]|0,A|0)}function Wc(A){return A=A|0,(A|0)==4|(A|0)==117|0}function Po(A){return A=A|0,d[11120+((d[A>>2]|0)*216|0)+((d[A+4>>2]|0)*72|0)+((d[A+8>>2]|0)*24|0)+(d[A+12>>2]<<3)>>2]|0}function ep(A){return A=A|0,d[11120+((d[A>>2]|0)*216|0)+((d[A+4>>2]|0)*72|0)+((d[A+8>>2]|0)*24|0)+(d[A+12>>2]<<3)+4>>2]|0}function tp(A,f){A=A|0,f=f|0,A=7696+(A*28|0)|0,d[f>>2]=d[A>>2],d[f+4>>2]=d[A+4>>2],d[f+8>>2]=d[A+8>>2],d[f+12>>2]=d[A+12>>2]}function $c(A,f){A=A|0,f=f|0;var p=0,_=0;if(f>>>0>20)return f=-1,f|0;do if((d[11120+(f*216|0)>>2]|0)!=(A|0))if((d[11120+(f*216|0)+8>>2]|0)!=(A|0))if((d[11120+(f*216|0)+16>>2]|0)!=(A|0))if((d[11120+(f*216|0)+24>>2]|0)!=(A|0))if((d[11120+(f*216|0)+32>>2]|0)!=(A|0))if((d[11120+(f*216|0)+40>>2]|0)!=(A|0))if((d[11120+(f*216|0)+48>>2]|0)!=(A|0))if((d[11120+(f*216|0)+56>>2]|0)!=(A|0))if((d[11120+(f*216|0)+64>>2]|0)!=(A|0))if((d[11120+(f*216|0)+72>>2]|0)!=(A|0))if((d[11120+(f*216|0)+80>>2]|0)!=(A|0))if((d[11120+(f*216|0)+88>>2]|0)!=(A|0))if((d[11120+(f*216|0)+96>>2]|0)!=(A|0))if((d[11120+(f*216|0)+104>>2]|0)!=(A|0))if((d[11120+(f*216|0)+112>>2]|0)!=(A|0))if((d[11120+(f*216|0)+120>>2]|0)!=(A|0))if((d[11120+(f*216|0)+128>>2]|0)!=(A|0))if((d[11120+(f*216|0)+136>>2]|0)==(A|0))A=2,p=1,_=2;else{if((d[11120+(f*216|0)+144>>2]|0)==(A|0)){A=0,p=2,_=0;break}if((d[11120+(f*216|0)+152>>2]|0)==(A|0)){A=0,p=2,_=1;break}if((d[11120+(f*216|0)+160>>2]|0)==(A|0)){A=0,p=2,_=2;break}if((d[11120+(f*216|0)+168>>2]|0)==(A|0)){A=1,p=2,_=0;break}if((d[11120+(f*216|0)+176>>2]|0)==(A|0)){A=1,p=2,_=1;break}if((d[11120+(f*216|0)+184>>2]|0)==(A|0)){A=1,p=2,_=2;break}if((d[11120+(f*216|0)+192>>2]|0)==(A|0)){A=2,p=2,_=0;break}if((d[11120+(f*216|0)+200>>2]|0)==(A|0)){A=2,p=2,_=1;break}if((d[11120+(f*216|0)+208>>2]|0)==(A|0)){A=2,p=2,_=2;break}else A=-1;return A|0}else A=2,p=1,_=1;else A=2,p=1,_=0;else A=1,p=1,_=2;else A=1,p=1,_=1;else A=1,p=1,_=0;else A=0,p=1,_=2;else A=0,p=1,_=1;else A=0,p=1,_=0;else A=2,p=0,_=2;else A=2,p=0,_=1;else A=2,p=0,_=0;else A=1,p=0,_=2;else A=1,p=0,_=1;else A=1,p=0,_=0;else A=0,p=0,_=2;else A=0,p=0,_=1;else A=0,p=0,_=0;while(!1);return f=d[11120+(f*216|0)+(p*72|0)+(A*24|0)+(_<<3)+4>>2]|0,f|0}function Ru(A,f){return A=A|0,f=f|0,(d[7696+(A*28|0)+20>>2]|0)==(f|0)?(f=1,f|0):(f=(d[7696+(A*28|0)+24>>2]|0)==(f|0),f|0)}function SA(A,f){return A=A|0,f=f|0,d[848+(A*28|0)+(f<<2)>>2]|0}function Jh(A,f){return A=A|0,f=f|0,(d[848+(A*28|0)>>2]|0)==(f|0)?(f=0,f|0):(d[848+(A*28|0)+4>>2]|0)==(f|0)?(f=1,f|0):(d[848+(A*28|0)+8>>2]|0)==(f|0)?(f=2,f|0):(d[848+(A*28|0)+12>>2]|0)==(f|0)?(f=3,f|0):(d[848+(A*28|0)+16>>2]|0)==(f|0)?(f=4,f|0):(d[848+(A*28|0)+20>>2]|0)==(f|0)?(f=5,f|0):((d[848+(A*28|0)+24>>2]|0)==(f|0)?6:7)|0}function s1(){return 122}function ef(A){A=A|0;var f=0,p=0,_=0;f=0;do Nt(f|0,0,45)|0,_=Z()|0|134225919,p=A+(f<<3)|0,d[p>>2]=-1,d[p+4>>2]=_,f=f+1|0;while((f|0)!=122);return 0}function il(A){A=A|0;var f=0,p=0,_=0;return _=+J[A+16>>3],p=+J[A+24>>3],f=_-p,+(_>3]<+J[A+24>>3]|0}function tf(A){return A=A|0,+(+J[A>>3]-+J[A+8>>3])}function Lo(A,f){A=A|0,f=f|0;var p=0,_=0,y=0;return p=+J[f>>3],!(p>=+J[A+8>>3])||!(p<=+J[A>>3])?(f=0,f|0):(_=+J[A+16>>3],p=+J[A+24>>3],y=+J[f+8>>3],f=y>=p,A=y<=_&1,_>3]<+J[f+8>>3]||+J[A+8>>3]>+J[f>>3]?(_=0,_|0):(T=+J[A+16>>3],p=A+24|0,q=+J[p>>3],M=T>3],y=f+24|0,U=+J[y>>3],N=I>3],f)||(q=+Xs(+J[p>>3],A),q>+Xs(+J[_>>3],f))?(N=0,N|0):(N=1,N|0))}function wA(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0;T=+J[A+16>>3],U=+J[A+24>>3],A=T>3],M=+J[f+24>>3],y=N>2]=A?y|f?1:2:0,d[_>>2]=y?A?1:f?2:1:0}function np(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0;return+J[A>>3]<+J[f>>3]||+J[A+8>>3]>+J[f+8>>3]?(_=0,_|0):(_=A+16|0,U=+J[_>>3],T=+J[A+24>>3],M=U>3],y=f+24|0,I=+J[y>>3],N=q>3],f)?(q=+Xs(+J[_>>3],A),N=q>=+Xs(+J[p>>3],f),N|0):(N=0,N|0))}function rf(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0;y=K,K=K+176|0,_=y,d[_>>2]=4,N=+J[f>>3],J[_+8>>3]=N,T=+J[f+16>>3],J[_+16>>3]=T,J[_+24>>3]=N,N=+J[f+24>>3],J[_+32>>3]=N,M=+J[f+8>>3],J[_+40>>3]=M,J[_+48>>3]=N,J[_+56>>3]=M,J[_+64>>3]=T,f=_+72|0,p=f+96|0;do d[f>>2]=0,f=f+4|0;while((f|0)<(p|0));Gl(A|0,_|0,168)|0,K=y}function sf(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0;me=K,K=K+288|0,q=me+264|0,ie=me+96|0,I=me,N=I,U=N+96|0;do d[N>>2]=0,N=N+4|0;while((N|0)<(U|0));return f=qu(f,I)|0,f|0?(Ae=f,K=me,Ae|0):(U=I,I=d[U>>2]|0,U=d[U+4>>2]|0,Ol(I,U,q)|0,Il(I,U,ie)|0,M=+Zc(q,ie+8|0),J[q>>3]=+J[A>>3],U=q+8|0,J[U>>3]=+J[A+16>>3],J[ie>>3]=+J[A+8>>3],I=ie+8|0,J[I>>3]=+J[A+24>>3],y=+Zc(q,ie),Be=+J[U>>3]-+J[I>>3],T=+un(+Be),Ce=+J[q>>3]-+J[ie>>3],_=+un(+Ce),!(Be==0|Ce==0)&&(Be=+Af(+T,+_),Be=+Ye(+(y*y/+df(+(Be/+df(+T,+_)),3)/(M*(M*2.59807621135)*.8))),J[$n>>3]=Be,pe=~~Be>>>0,Ae=+un(Be)>=1?Be>0?~~+Ie(+Xn(Be/4294967296),4294967295)>>>0:~~+Ye((Be-+(~~Be>>>0))/4294967296)>>>0:0,(d[$n+4>>2]&2146435072|0)!=2146435072)?(ie=(pe|0)==0&(Ae|0)==0,f=p,d[f>>2]=ie?1:pe,d[f+4>>2]=ie?0:Ae,f=0):f=1,Ae=f,K=me,Ae|0)}function a1(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0;I=K,K=K+288|0,M=I+264|0,N=I+96|0,U=I,y=U,T=y+96|0;do d[y>>2]=0,y=y+4|0;while((y|0)<(T|0));return p=qu(p,U)|0,p|0?(_=p,K=I,_|0):(p=U,y=d[p>>2]|0,p=d[p+4>>2]|0,Ol(y,p,M)|0,Il(y,p,N)|0,q=+Zc(M,N+8|0),q=+Ye(+(+Zc(A,f)/(q*2))),J[$n>>3]=q,p=~~q>>>0,y=+un(q)>=1?q>0?~~+Ie(+Xn(q/4294967296),4294967295)>>>0:~~+Ye((q-+(~~q>>>0))/4294967296)>>>0:0,(d[$n+4>>2]&2146435072|0)==2146435072?(_=1,K=I,_|0):(U=(p|0)==0&(y|0)==0,d[_>>2]=U?1:p,d[_+4>>2]=U?0:y,_=0,K=I,_|0))}function Ws(A,f){A=A|0,f=+f;var p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0;T=A+16|0,M=+J[T>>3],p=A+24|0,y=+J[p>>3],_=M-y,_=M>3],N=A+8|0,U=+J[N>>3],q=I-U,_=(_*f-_)*.5,f=(q*f-q)*.5,I=I+f,J[A>>3]=I>1.5707963267948966?1.5707963267948966:I,f=U-f,J[N>>3]=f<-1.5707963267948966?-1.5707963267948966:f,f=M+_,f=f>3.141592653589793?f+-6.283185307179586:f,J[T>>3]=f<-3.141592653589793?f+6.283185307179586:f,f=y-_,f=f>3.141592653589793?f+-6.283185307179586:f,J[p>>3]=f<-3.141592653589793?f+6.283185307179586:f}function Nu(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0,d[A>>2]=f,d[A+4>>2]=p,d[A+8>>2]=_}function MA(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0;ie=f+8|0,d[ie>>2]=0,U=+J[A>>3],M=+un(+U),I=+J[A+8>>3],N=+un(+I)*1.1547005383792515,M=M+N*.5,p=~~M,A=~~N,M=M-+(p|0),N=N-+(A|0);do if(M<.5)if(M<.3333333333333333)if(d[f>>2]=p,N<(M+1)*.5){d[f+4>>2]=A;break}else{A=A+1|0,d[f+4>>2]=A;break}else if(pe=1-M,A=(!(N>2]=A,pe<=N&N>2]=p;break}else{d[f>>2]=p;break}else{if(!(M<.6666666666666666))if(p=p+1|0,d[f>>2]=p,N>2]=A;break}else{A=A+1|0,d[f+4>>2]=A;break}if(N<1-M){if(d[f+4>>2]=A,M*2+-1>2]=p;break}}else A=A+1|0,d[f+4>>2]=A;p=p+1|0,d[f>>2]=p}while(!1);do if(U<0)if(A&1){q=(A+1|0)/2|0,q=Ur(p|0,((p|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0,p=~~(+(p|0)-((+(q>>>0)+4294967296*+(Z()|0))*2+1)),d[f>>2]=p;break}else{q=(A|0)/2|0,q=Ur(p|0,((p|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0,p=~~(+(p|0)-(+(q>>>0)+4294967296*+(Z()|0))*2),d[f>>2]=p;break}while(!1);q=f+4|0,I<0&&(p=p-((A<<1|1|0)/2|0)|0,d[f>>2]=p,A=0-A|0,d[q>>2]=A),_=A-p|0,(p|0)<0?(y=0-p|0,d[q>>2]=_,d[ie>>2]=y,d[f>>2]=0,A=_,p=0):y=0,(A|0)<0&&(p=p-A|0,d[f>>2]=p,y=y-A|0,d[ie>>2]=y,d[q>>2]=0,A=0),T=p-y|0,_=A-y|0,(y|0)<0&&(d[f>>2]=T,d[q>>2]=_,d[ie>>2]=0,A=_,p=T,y=0),_=(A|0)<(p|0)?A:p,_=(y|0)<(_|0)?y:_,!((_|0)<=0)&&(d[f>>2]=p-_,d[q>>2]=A-_,d[ie>>2]=y-_)}function Lr(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0;f=d[A>>2]|0,M=A+4|0,p=d[M>>2]|0,(f|0)<0&&(p=p-f|0,d[M>>2]=p,T=A+8|0,d[T>>2]=(d[T>>2]|0)-f,d[A>>2]=0,f=0),(p|0)<0?(f=f-p|0,d[A>>2]=f,T=A+8|0,y=(d[T>>2]|0)-p|0,d[T>>2]=y,d[M>>2]=0,p=0):(y=A+8|0,T=y,y=d[y>>2]|0),(y|0)<0&&(f=f-y|0,d[A>>2]=f,p=p-y|0,d[M>>2]=p,d[T>>2]=0,y=0),_=(p|0)<(f|0)?p:f,_=(y|0)<(_|0)?y:_,!((_|0)<=0)&&(d[A>>2]=f-_,d[M>>2]=p-_,d[T>>2]=y-_)}function Du(A,f){A=A|0,f=f|0;var p=0,_=0;_=d[A+8>>2]|0,p=+((d[A+4>>2]|0)-_|0),J[f>>3]=+((d[A>>2]|0)-_|0)-p*.5,J[f+8>>3]=p*.8660254037844386}function hs(A,f,p){A=A|0,f=f|0,p=p|0,d[p>>2]=(d[f>>2]|0)+(d[A>>2]|0),d[p+4>>2]=(d[f+4>>2]|0)+(d[A+4>>2]|0),d[p+8>>2]=(d[f+8>>2]|0)+(d[A+8>>2]|0)}function af(A,f,p){A=A|0,f=f|0,p=p|0,d[p>>2]=(d[A>>2]|0)-(d[f>>2]|0),d[p+4>>2]=(d[A+4>>2]|0)-(d[f+4>>2]|0),d[p+8>>2]=(d[A+8>>2]|0)-(d[f+8>>2]|0)}function Xc(A,f){A=A|0,f=f|0;var p=0,_=0;p=$e(d[A>>2]|0,f)|0,d[A>>2]=p,p=A+4|0,_=$e(d[p>>2]|0,f)|0,d[p>>2]=_,A=A+8|0,f=$e(d[A>>2]|0,f)|0,d[A>>2]=f}function Pu(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0;M=d[A>>2]|0,N=(M|0)<0,_=(d[A+4>>2]|0)-(N?M:0)|0,T=(_|0)<0,y=(T?0-_|0:0)+((d[A+8>>2]|0)-(N?M:0))|0,p=(y|0)<0,A=p?0:y,f=(T?0:_)-(p?y:0)|0,y=(N?0:M)-(T?_:0)-(p?y:0)|0,p=(f|0)<(y|0)?f:y,p=(A|0)<(p|0)?A:p,_=(p|0)>0,A=A-(_?p:0)|0,f=f-(_?p:0)|0;e:do switch(y-(_?p:0)|0){case 0:switch(f|0){case 0:return N=(A|0)==0?0:(A|0)==1?1:7,N|0;case 1:return N=(A|0)==0?2:(A|0)==1?3:7,N|0;default:break e}case 1:switch(f|0){case 0:return N=(A|0)==0?4:(A|0)==1?5:7,N|0;case 1:{if(!A)A=6;else break e;return A|0}default:break e}}while(!1);return N=7,N|0}function o1(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0;if(U=A+8|0,M=d[U>>2]|0,N=(d[A>>2]|0)-M|0,I=A+4|0,M=(d[I>>2]|0)-M|0,N>>>0>715827881|M>>>0>715827881){if(_=(N|0)>0,y=2147483647-N|0,T=-2147483648-N|0,(_?(y|0)<(N|0):(T|0)>(N|0))||(p=N<<1,_?(2147483647-p|0)<(N|0):(-2147483648-p|0)>(N|0))||((M|0)>0?(2147483647-M|0)<(M|0):(-2147483648-M|0)>(M|0))||(f=N*3|0,p=M<<1,(_?(y|0)<(p|0):(T|0)>(p|0))||((N|0)>-1?(f|-2147483648|0)>=(M|0):(f^-2147483648|0)<(M|0))))return I=1,I|0}else p=M<<1,f=N*3|0;return _=cl(+(f-M|0)*.14285714285714285)|0,d[A>>2]=_,y=cl(+(p+N|0)*.14285714285714285)|0,d[I>>2]=y,d[U>>2]=0,p=(y|0)<(_|0),f=p?_:y,p=p?y:_,(p|0)<0&&(((p|0)==-2147483648||((f|0)>0?(2147483647-f|0)<(p|0):(-2147483648-f|0)>(p|0)))&&Ut(27795,26892,354,26903),((f|0)>-1?(f|-2147483648|0)>=(p|0):(f^-2147483648|0)<(p|0))&&Ut(27795,26892,354,26903)),f=y-_|0,(_|0)<0?(p=0-_|0,d[I>>2]=f,d[U>>2]=p,d[A>>2]=0,_=0):(f=y,p=0),(f|0)<0&&(_=_-f|0,d[A>>2]=_,p=p-f|0,d[U>>2]=p,d[I>>2]=0,f=0),T=_-p|0,y=f-p|0,(p|0)<0?(d[A>>2]=T,d[I>>2]=y,d[U>>2]=0,f=y,y=T,p=0):y=_,_=(f|0)<(y|0)?f:y,_=(p|0)<(_|0)?p:_,(_|0)<=0?(I=0,I|0):(d[A>>2]=y-_,d[I>>2]=f-_,d[U>>2]=p-_,I=0,I|0)}function cx(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0,U=0;if(M=A+8|0,y=d[M>>2]|0,T=(d[A>>2]|0)-y|0,N=A+4|0,y=(d[N>>2]|0)-y|0,T>>>0>715827881|y>>>0>715827881){if(p=(T|0)>0,(p?(2147483647-T|0)<(T|0):(-2147483648-T|0)>(T|0))||(f=T<<1,_=(y|0)>0,_?(2147483647-y|0)<(y|0):(-2147483648-y|0)>(y|0)))return N=1,N|0;if(U=y<<1,(_?(2147483647-U|0)<(y|0):(-2147483648-U|0)>(y|0))||(p?(2147483647-f|0)<(y|0):(-2147483648-f|0)>(y|0))||(p=y*3|0,(y|0)>-1?(p|-2147483648|0)>=(T|0):(p^-2147483648|0)<(T|0)))return U=1,U|0}else p=y*3|0,f=T<<1;return _=cl(+(f+y|0)*.14285714285714285)|0,d[A>>2]=_,y=cl(+(p-T|0)*.14285714285714285)|0,d[N>>2]=y,d[M>>2]=0,p=(y|0)<(_|0),f=p?_:y,p=p?y:_,(p|0)<0&&(((p|0)==-2147483648||((f|0)>0?(2147483647-f|0)<(p|0):(-2147483648-f|0)>(p|0)))&&Ut(27795,26892,402,26917),((f|0)>-1?(f|-2147483648|0)>=(p|0):(f^-2147483648|0)<(p|0))&&Ut(27795,26892,402,26917)),f=y-_|0,(_|0)<0?(p=0-_|0,d[N>>2]=f,d[M>>2]=p,d[A>>2]=0,_=0):(f=y,p=0),(f|0)<0&&(_=_-f|0,d[A>>2]=_,p=p-f|0,d[M>>2]=p,d[N>>2]=0,f=0),T=_-p|0,y=f-p|0,(p|0)<0?(d[A>>2]=T,d[N>>2]=y,d[M>>2]=0,f=y,y=T,p=0):y=_,_=(f|0)<(y|0)?f:y,_=(p|0)<(_|0)?p:_,(_|0)<=0?(U=0,U|0):(d[A>>2]=y-_,d[N>>2]=f-_,d[M>>2]=p-_,U=0,U|0)}function hx(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0;M=A+8|0,p=d[M>>2]|0,f=(d[A>>2]|0)-p|0,N=A+4|0,p=(d[N>>2]|0)-p|0,_=cl(+((f*3|0)-p|0)*.14285714285714285)|0,d[A>>2]=_,f=cl(+((p<<1)+f|0)*.14285714285714285)|0,d[N>>2]=f,d[M>>2]=0,p=f-_|0,(_|0)<0?(T=0-_|0,d[N>>2]=p,d[M>>2]=T,d[A>>2]=0,f=p,_=0,p=T):p=0,(f|0)<0&&(_=_-f|0,d[A>>2]=_,p=p-f|0,d[M>>2]=p,d[N>>2]=0,f=0),T=_-p|0,y=f-p|0,(p|0)<0?(d[A>>2]=T,d[N>>2]=y,d[M>>2]=0,f=y,y=T,p=0):y=_,_=(f|0)<(y|0)?f:y,_=(p|0)<(_|0)?p:_,!((_|0)<=0)&&(d[A>>2]=y-_,d[N>>2]=f-_,d[M>>2]=p-_)}function l1(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0;M=A+8|0,p=d[M>>2]|0,f=(d[A>>2]|0)-p|0,N=A+4|0,p=(d[N>>2]|0)-p|0,_=cl(+((f<<1)+p|0)*.14285714285714285)|0,d[A>>2]=_,f=cl(+((p*3|0)-f|0)*.14285714285714285)|0,d[N>>2]=f,d[M>>2]=0,p=f-_|0,(_|0)<0?(T=0-_|0,d[N>>2]=p,d[M>>2]=T,d[A>>2]=0,f=p,_=0,p=T):p=0,(f|0)<0&&(_=_-f|0,d[A>>2]=_,p=p-f|0,d[M>>2]=p,d[N>>2]=0,f=0),T=_-p|0,y=f-p|0,(p|0)<0?(d[A>>2]=T,d[N>>2]=y,d[M>>2]=0,f=y,y=T,p=0):y=_,_=(f|0)<(y|0)?f:y,_=(p|0)<(_|0)?p:_,!((_|0)<=0)&&(d[A>>2]=y-_,d[N>>2]=f-_,d[M>>2]=p-_)}function Yc(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0;f=d[A>>2]|0,M=A+4|0,p=d[M>>2]|0,N=A+8|0,_=d[N>>2]|0,y=p+(f*3|0)|0,d[A>>2]=y,p=_+(p*3|0)|0,d[M>>2]=p,f=(_*3|0)+f|0,d[N>>2]=f,_=p-y|0,(y|0)<0?(f=f-y|0,d[M>>2]=_,d[N>>2]=f,d[A>>2]=0,p=_,_=0):_=y,(p|0)<0&&(_=_-p|0,d[A>>2]=_,f=f-p|0,d[N>>2]=f,d[M>>2]=0,p=0),T=_-f|0,y=p-f|0,(f|0)<0?(d[A>>2]=T,d[M>>2]=y,d[N>>2]=0,_=T,f=0):y=p,p=(y|0)<(_|0)?y:_,p=(f|0)<(p|0)?f:p,!((p|0)<=0)&&(d[A>>2]=_-p,d[M>>2]=y-p,d[N>>2]=f-p)}function Lu(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0;y=d[A>>2]|0,M=A+4|0,f=d[M>>2]|0,N=A+8|0,p=d[N>>2]|0,_=(f*3|0)+y|0,y=p+(y*3|0)|0,d[A>>2]=y,d[M>>2]=_,f=(p*3|0)+f|0,d[N>>2]=f,p=_-y|0,(y|0)<0?(f=f-y|0,d[M>>2]=p,d[N>>2]=f,d[A>>2]=0,y=0):p=_,(p|0)<0&&(y=y-p|0,d[A>>2]=y,f=f-p|0,d[N>>2]=f,d[M>>2]=0,p=0),T=y-f|0,_=p-f|0,(f|0)<0?(d[A>>2]=T,d[M>>2]=_,d[N>>2]=0,y=T,f=0):_=p,p=(_|0)<(y|0)?_:y,p=(f|0)<(p|0)?f:p,!((p|0)<=0)&&(d[A>>2]=y-p,d[M>>2]=_-p,d[N>>2]=f-p)}function u1(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0;(f+-1|0)>>>0>=6||(y=(d[15440+(f*12|0)>>2]|0)+(d[A>>2]|0)|0,d[A>>2]=y,N=A+4|0,_=(d[15440+(f*12|0)+4>>2]|0)+(d[N>>2]|0)|0,d[N>>2]=_,M=A+8|0,f=(d[15440+(f*12|0)+8>>2]|0)+(d[M>>2]|0)|0,d[M>>2]=f,p=_-y|0,(y|0)<0?(f=f-y|0,d[N>>2]=p,d[M>>2]=f,d[A>>2]=0,_=0):(p=_,_=y),(p|0)<0&&(_=_-p|0,d[A>>2]=_,f=f-p|0,d[M>>2]=f,d[N>>2]=0,p=0),T=_-f|0,y=p-f|0,(f|0)<0?(d[A>>2]=T,d[N>>2]=y,d[M>>2]=0,_=T,f=0):y=p,p=(y|0)<(_|0)?y:_,p=(f|0)<(p|0)?f:p,!((p|0)<=0)&&(d[A>>2]=_-p,d[N>>2]=y-p,d[M>>2]=f-p))}function c1(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0;y=d[A>>2]|0,M=A+4|0,f=d[M>>2]|0,N=A+8|0,p=d[N>>2]|0,_=f+y|0,y=p+y|0,d[A>>2]=y,d[M>>2]=_,f=p+f|0,d[N>>2]=f,p=_-y|0,(y|0)<0?(f=f-y|0,d[M>>2]=p,d[N>>2]=f,d[A>>2]=0,_=0):(p=_,_=y),(p|0)<0&&(_=_-p|0,d[A>>2]=_,f=f-p|0,d[N>>2]=f,d[M>>2]=0,p=0),T=_-f|0,y=p-f|0,(f|0)<0?(d[A>>2]=T,d[M>>2]=y,d[N>>2]=0,_=T,f=0):y=p,p=(y|0)<(_|0)?y:_,p=(f|0)<(p|0)?f:p,!((p|0)<=0)&&(d[A>>2]=_-p,d[M>>2]=y-p,d[N>>2]=f-p)}function EA(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0;f=d[A>>2]|0,M=A+4|0,_=d[M>>2]|0,N=A+8|0,p=d[N>>2]|0,y=_+f|0,d[A>>2]=y,_=p+_|0,d[M>>2]=_,f=p+f|0,d[N>>2]=f,p=_-y|0,(y|0)<0?(f=f-y|0,d[M>>2]=p,d[N>>2]=f,d[A>>2]=0,_=0):(p=_,_=y),(p|0)<0&&(_=_-p|0,d[A>>2]=_,f=f-p|0,d[N>>2]=f,d[M>>2]=0,p=0),T=_-f|0,y=p-f|0,(f|0)<0?(d[A>>2]=T,d[M>>2]=y,d[N>>2]=0,_=T,f=0):y=p,p=(y|0)<(_|0)?y:_,p=(f|0)<(p|0)?f:p,!((p|0)<=0)&&(d[A>>2]=_-p,d[M>>2]=y-p,d[N>>2]=f-p)}function Uu(A){switch(A=A|0,A|0){case 1:{A=5;break}case 5:{A=4;break}case 4:{A=6;break}case 6:{A=2;break}case 2:{A=3;break}case 3:{A=1;break}}return A|0}function rl(A){switch(A=A|0,A|0){case 1:{A=3;break}case 3:{A=2;break}case 2:{A=6;break}case 6:{A=4;break}case 4:{A=5;break}case 5:{A=1;break}}return A|0}function h1(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0;f=d[A>>2]|0,M=A+4|0,p=d[M>>2]|0,N=A+8|0,_=d[N>>2]|0,y=p+(f<<1)|0,d[A>>2]=y,p=_+(p<<1)|0,d[M>>2]=p,f=(_<<1)+f|0,d[N>>2]=f,_=p-y|0,(y|0)<0?(f=f-y|0,d[M>>2]=_,d[N>>2]=f,d[A>>2]=0,p=_,_=0):_=y,(p|0)<0&&(_=_-p|0,d[A>>2]=_,f=f-p|0,d[N>>2]=f,d[M>>2]=0,p=0),T=_-f|0,y=p-f|0,(f|0)<0?(d[A>>2]=T,d[M>>2]=y,d[N>>2]=0,_=T,f=0):y=p,p=(y|0)<(_|0)?y:_,p=(f|0)<(p|0)?f:p,!((p|0)<=0)&&(d[A>>2]=_-p,d[M>>2]=y-p,d[N>>2]=f-p)}function f1(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0;y=d[A>>2]|0,M=A+4|0,f=d[M>>2]|0,N=A+8|0,p=d[N>>2]|0,_=(f<<1)+y|0,y=p+(y<<1)|0,d[A>>2]=y,d[M>>2]=_,f=(p<<1)+f|0,d[N>>2]=f,p=_-y|0,(y|0)<0?(f=f-y|0,d[M>>2]=p,d[N>>2]=f,d[A>>2]=0,y=0):p=_,(p|0)<0&&(y=y-p|0,d[A>>2]=y,f=f-p|0,d[N>>2]=f,d[M>>2]=0,p=0),T=y-f|0,_=p-f|0,(f|0)<0?(d[A>>2]=T,d[M>>2]=_,d[N>>2]=0,y=T,f=0):_=p,p=(_|0)<(y|0)?_:y,p=(f|0)<(p|0)?f:p,!((p|0)<=0)&&(d[A>>2]=y-p,d[M>>2]=_-p,d[N>>2]=f-p)}function ip(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0;return M=(d[A>>2]|0)-(d[f>>2]|0)|0,N=(M|0)<0,_=(d[A+4>>2]|0)-(d[f+4>>2]|0)-(N?M:0)|0,T=(_|0)<0,y=(N?0-M|0:0)+(d[A+8>>2]|0)-(d[f+8>>2]|0)+(T?0-_|0:0)|0,A=(y|0)<0,f=A?0:y,p=(T?0:_)-(A?y:0)|0,y=(N?0:M)-(T?_:0)-(A?y:0)|0,A=(p|0)<(y|0)?p:y,A=(f|0)<(A|0)?f:A,_=(A|0)>0,f=f-(_?A:0)|0,p=p-(_?A:0)|0,A=y-(_?A:0)|0,A=(A|0)>-1?A:0-A|0,p=(p|0)>-1?p:0-p|0,f=(f|0)>-1?f:0-f|0,f=(p|0)>(f|0)?p:f,((A|0)>(f|0)?A:f)|0}function fx(A,f){A=A|0,f=f|0;var p=0;p=d[A+8>>2]|0,d[f>>2]=(d[A>>2]|0)-p,d[f+4>>2]=(d[A+4>>2]|0)-p}function rp(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0;return _=d[A>>2]|0,d[f>>2]=_,y=d[A+4>>2]|0,M=f+4|0,d[M>>2]=y,N=f+8|0,d[N>>2]=0,p=(y|0)<(_|0),A=p?_:y,p=p?y:_,(p|0)<0&&((p|0)==-2147483648||((A|0)>0?(2147483647-A|0)<(p|0):(-2147483648-A|0)>(p|0))||((A|0)>-1?(A|-2147483648|0)>=(p|0):(A^-2147483648|0)<(p|0)))?(f=1,f|0):(A=y-_|0,(_|0)<0?(p=0-_|0,d[M>>2]=A,d[N>>2]=p,d[f>>2]=0,_=0):(A=y,p=0),(A|0)<0&&(_=_-A|0,d[f>>2]=_,p=p-A|0,d[N>>2]=p,d[M>>2]=0,A=0),T=_-p|0,y=A-p|0,(p|0)<0?(d[f>>2]=T,d[M>>2]=y,d[N>>2]=0,A=y,y=T,p=0):y=_,_=(A|0)<(y|0)?A:y,_=(p|0)<(_|0)?p:_,(_|0)<=0?(f=0,f|0):(d[f>>2]=y-_,d[M>>2]=A-_,d[N>>2]=p-_,f=0,f|0))}function A1(A){A=A|0;var f=0,p=0,_=0,y=0;f=A+8|0,y=d[f>>2]|0,p=y-(d[A>>2]|0)|0,d[A>>2]=p,_=A+4|0,A=(d[_>>2]|0)-y|0,d[_>>2]=A,d[f>>2]=0-(A+p)}function Ax(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0;p=d[A>>2]|0,f=0-p|0,d[A>>2]=f,M=A+8|0,d[M>>2]=0,N=A+4|0,_=d[N>>2]|0,y=_+p|0,(p|0)>0?(d[N>>2]=y,d[M>>2]=p,d[A>>2]=0,f=0,_=y):p=0,(_|0)<0?(T=f-_|0,d[A>>2]=T,p=p-_|0,d[M>>2]=p,d[N>>2]=0,y=T-p|0,f=0-p|0,(p|0)<0?(d[A>>2]=y,d[N>>2]=f,d[M>>2]=0,_=f,p=0):(_=0,y=T)):y=f,f=(_|0)<(y|0)?_:y,f=(p|0)<(f|0)?p:f,!((f|0)<=0)&&(d[A>>2]=y-f,d[N>>2]=_-f,d[M>>2]=p-f)}function dx(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0,I=0,q=0,ie=0;if(ie=K,K=K+64|0,q=ie,N=ie+56|0,!(!0&(f&2013265920|0)==134217728&(!0&(_&2013265920|0)==134217728)))return y=5,K=ie,y|0;if((A|0)==(p|0)&(f|0)==(_|0))return d[y>>2]=0,y=0,K=ie,y|0;if(M=bt(A|0,f|0,52)|0,Z()|0,M=M&15,I=bt(p|0,_|0,52)|0,Z()|0,(M|0)!=(I&15|0))return y=12,K=ie,y|0;if(T=M+-1|0,M>>>0>1){Fu(A,f,T,q)|0,Fu(p,_,T,N)|0,I=q,U=d[I>>2]|0,I=d[I+4>>2]|0;e:do if((U|0)==(d[N>>2]|0)&&(I|0)==(d[N+4>>2]|0)){M=(M^15)*3|0,T=bt(A|0,f|0,M|0)|0,Z()|0,T=T&7,M=bt(p|0,_|0,M|0)|0,Z()|0,M=M&7;do if((T|0)==0|(M|0)==0)d[y>>2]=1,T=0;else if((T|0)==7)T=5;else{if((T|0)==1|(M|0)==1&&Ci(U,I)|0){T=5;break}if((d[15536+(T<<2)>>2]|0)!=(M|0)&&(d[15568+(T<<2)>>2]|0)!=(M|0))break e;d[y>>2]=1,T=0}while(!1);return y=T,K=ie,y|0}while(!1)}T=q,M=T+56|0;do d[T>>2]=0,T=T+4|0;while((T|0)<(M|0));return _e(A,f,1,q)|0,f=q,!((d[f>>2]|0)==(p|0)&&(d[f+4>>2]|0)==(_|0))&&(f=q+8|0,!((d[f>>2]|0)==(p|0)&&(d[f+4>>2]|0)==(_|0)))&&(f=q+16|0,!((d[f>>2]|0)==(p|0)&&(d[f+4>>2]|0)==(_|0)))&&(f=q+24|0,!((d[f>>2]|0)==(p|0)&&(d[f+4>>2]|0)==(_|0)))&&(f=q+32|0,!((d[f>>2]|0)==(p|0)&&(d[f+4>>2]|0)==(_|0)))&&(f=q+40|0,!((d[f>>2]|0)==(p|0)&&(d[f+4>>2]|0)==(_|0)))?(T=q+48|0,T=((d[T>>2]|0)==(p|0)?(d[T+4>>2]|0)==(_|0):0)&1):T=1,d[y>>2]=T,y=0,K=ie,y|0}function d1(A,f,p,_,y){return A=A|0,f=f|0,p=p|0,_=_|0,y=y|0,p=pi(A,f,p,_)|0,(p|0)==7?(y=11,y|0):(_=Nt(p|0,0,56)|0,f=f&-2130706433|(Z()|0)|268435456,d[y>>2]=A|_,d[y+4>>2]=f,y=0,y|0)}function px(A,f,p){return A=A|0,f=f|0,p=p|0,!0&(f&2013265920|0)==268435456?(d[p>>2]=A,d[p+4>>2]=f&-2130706433|134217728,p=0,p|0):(p=6,p|0)}function mx(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0;return y=K,K=K+16|0,_=y,d[_>>2]=0,!0&(f&2013265920|0)==268435456?(T=bt(A|0,f|0,56)|0,Z()|0,_=cn(A,f&-2130706433|134217728,T&7,_,p)|0,K=y,_|0):(_=6,K=y,_|0)}function p1(A,f){A=A|0,f=f|0;var p=0;switch(p=bt(A|0,f|0,56)|0,Z()|0,p&7){case 0:case 7:return p=0,p|0}return p=f&-2130706433|134217728,!(!0&(f&2013265920|0)==268435456)||!0&(f&117440512|0)==16777216&(Ci(A,p)|0)!=0?(p=0,p|0):(p=NA(A,p)|0,p|0)}function gx(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0;return y=K,K=K+16|0,_=y,!0&(f&2013265920|0)==268435456?(T=f&-2130706433|134217728,M=p,d[M>>2]=A,d[M+4>>2]=T,d[_>>2]=0,f=bt(A|0,f|0,56)|0,Z()|0,_=cn(A,T,f&7,_,p+8|0)|0,K=y,_|0):(_=6,K=y,_|0)}function vx(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0;return y=(Ci(A,f)|0)==0,f=f&-2130706433,_=p,d[_>>2]=y?A:0,d[_+4>>2]=y?f|285212672:0,_=p+8|0,d[_>>2]=A,d[_+4>>2]=f|301989888,_=p+16|0,d[_>>2]=A,d[_+4>>2]=f|318767104,_=p+24|0,d[_>>2]=A,d[_+4>>2]=f|335544320,_=p+32|0,d[_>>2]=A,d[_+4>>2]=f|352321536,p=p+40|0,d[p>>2]=A,d[p+4>>2]=f|369098752,0}function CA(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0;return M=K,K=K+16|0,y=M,T=f&-2130706433|134217728,!0&(f&2013265920|0)==268435456?(_=bt(A|0,f|0,56)|0,Z()|0,_=Sp(A,T,_&7)|0,(_|0)==-1?(d[p>>2]=0,T=6,K=M,T|0):(zu(A,T,y)|0&&Ut(27795,26932,282,26947),f=bt(A|0,f|0,52)|0,Z()|0,f=f&15,Ci(A,T)|0?sp(y,f,_,2,p):RA(y,f,_,2,p),T=0,K=M,T|0)):(T=6,K=M,T|0)}function _x(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0;_=K,K=K+16|0,y=_,yx(A,f,p,y),MA(y,p+4|0),K=_}function yx(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0;if(N=K,K=K+16|0,U=N,xx(A,p,U),T=+Ma(+(1-+J[U>>3]*.5)),T<1e-16){d[_>>2]=0,d[_+4>>2]=0,d[_+8>>2]=0,d[_+12>>2]=0,K=N;return}if(U=d[p>>2]|0,y=+J[15920+(U*24|0)>>3],y=+Kc(y-+Kc(+Ex(15600+(U<<4)|0,A))),Ss(f)|0?M=+Kc(y+-.3334731722518321):M=y,y=+cs(+T)*2.618033988749896,(f|0)>0){A=0;do y=y*2.6457513110645907,A=A+1|0;while((A|0)!=(f|0))}T=+li(+M)*y,J[_>>3]=T,M=+Fn(+M)*y,J[_+8>>3]=M,K=N}function xx(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0;if(T=K,K=K+32|0,y=T,Yu(A,y),d[f>>2]=0,J[p>>3]=5,_=+ar(16400,y),_<+J[p>>3]&&(d[f>>2]=0,J[p>>3]=_),_=+ar(16424,y),_<+J[p>>3]&&(d[f>>2]=1,J[p>>3]=_),_=+ar(16448,y),_<+J[p>>3]&&(d[f>>2]=2,J[p>>3]=_),_=+ar(16472,y),_<+J[p>>3]&&(d[f>>2]=3,J[p>>3]=_),_=+ar(16496,y),_<+J[p>>3]&&(d[f>>2]=4,J[p>>3]=_),_=+ar(16520,y),_<+J[p>>3]&&(d[f>>2]=5,J[p>>3]=_),_=+ar(16544,y),_<+J[p>>3]&&(d[f>>2]=6,J[p>>3]=_),_=+ar(16568,y),_<+J[p>>3]&&(d[f>>2]=7,J[p>>3]=_),_=+ar(16592,y),_<+J[p>>3]&&(d[f>>2]=8,J[p>>3]=_),_=+ar(16616,y),_<+J[p>>3]&&(d[f>>2]=9,J[p>>3]=_),_=+ar(16640,y),_<+J[p>>3]&&(d[f>>2]=10,J[p>>3]=_),_=+ar(16664,y),_<+J[p>>3]&&(d[f>>2]=11,J[p>>3]=_),_=+ar(16688,y),_<+J[p>>3]&&(d[f>>2]=12,J[p>>3]=_),_=+ar(16712,y),_<+J[p>>3]&&(d[f>>2]=13,J[p>>3]=_),_=+ar(16736,y),_<+J[p>>3]&&(d[f>>2]=14,J[p>>3]=_),_=+ar(16760,y),_<+J[p>>3]&&(d[f>>2]=15,J[p>>3]=_),_=+ar(16784,y),_<+J[p>>3]&&(d[f>>2]=16,J[p>>3]=_),_=+ar(16808,y),_<+J[p>>3]&&(d[f>>2]=17,J[p>>3]=_),_=+ar(16832,y),_<+J[p>>3]&&(d[f>>2]=18,J[p>>3]=_),_=+ar(16856,y),!(_<+J[p>>3])){K=T;return}d[f>>2]=19,J[p>>3]=_,K=T}function Bu(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0;if(T=+zl(A),T<1e-16){f=15600+(f<<4)|0,d[y>>2]=d[f>>2],d[y+4>>2]=d[f+4>>2],d[y+8>>2]=d[f+8>>2],d[y+12>>2]=d[f+12>>2];return}if(M=+Oe(+ +J[A+8>>3],+ +J[A>>3]),(p|0)>0){A=0;do T=T*.37796447300922725,A=A+1|0;while((A|0)!=(p|0))}N=T*.3333333333333333,_?(p=(Ss(p)|0)==0,T=+ae(+((p?N:N*.37796447300922725)*.381966011250105))):(T=+ae(+(T*.381966011250105)),Ss(p)|0&&(M=+Kc(M+.3334731722518321))),Cx(15600+(f<<4)|0,+Kc(+J[15920+(f*24|0)>>3]-M),T,y)}function of(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0;_=K,K=K+16|0,y=_,Du(A+4|0,y),Bu(y,d[A>>2]|0,f,0,p),K=_}function sp(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0,Re=0,Pt=0,rn=0,en=0,Un=0,En=0,Qn=0,Tn=0,on=0,Lt=0,vn=0,ii=0,wn=0;if(vn=K,K=K+272|0,T=vn+256|0,qe=vn+240|0,Tn=vn,on=vn+224|0,Lt=vn+208|0,ke=vn+176|0,Re=vn+160|0,Pt=vn+192|0,rn=vn+144|0,en=vn+128|0,Un=vn+112|0,En=vn+96|0,Qn=vn+80|0,d[T>>2]=f,d[qe>>2]=d[A>>2],d[qe+4>>2]=d[A+4>>2],d[qe+8>>2]=d[A+8>>2],d[qe+12>>2]=d[A+12>>2],ap(qe,T,Tn),d[y>>2]=0,qe=_+p+((_|0)==5&1)|0,(qe|0)<=(p|0)){K=vn;return}U=d[T>>2]|0,I=on+4|0,q=ke+4|0,ie=p+5|0,pe=16880+(U<<2)|0,Ae=16960+(U<<2)|0,me=en+8|0,Ce=Un+8|0,Be=En+8|0,Xe=Lt+4|0,N=p;e:for(;;){M=Tn+(((N|0)%5|0)<<4)|0,d[Lt>>2]=d[M>>2],d[Lt+4>>2]=d[M+4>>2],d[Lt+8>>2]=d[M+8>>2],d[Lt+12>>2]=d[M+12>>2];do;while((Ou(Lt,U,0,1)|0)==2);if((N|0)>(p|0)&(Ss(f)|0)!=0){if(d[ke>>2]=d[Lt>>2],d[ke+4>>2]=d[Lt+4>>2],d[ke+8>>2]=d[Lt+8>>2],d[ke+12>>2]=d[Lt+12>>2],Du(I,Re),_=d[ke>>2]|0,T=d[17040+(_*80|0)+(d[on>>2]<<2)>>2]|0,d[ke>>2]=d[18640+(_*80|0)+(T*20|0)>>2],M=d[18640+(_*80|0)+(T*20|0)+16>>2]|0,(M|0)>0){A=0;do c1(q),A=A+1|0;while((A|0)<(M|0))}switch(M=18640+(_*80|0)+(T*20|0)+4|0,d[Pt>>2]=d[M>>2],d[Pt+4>>2]=d[M+4>>2],d[Pt+8>>2]=d[M+8>>2],Xc(Pt,(d[pe>>2]|0)*3|0),hs(q,Pt,q),Lr(q),Du(q,rn),ii=+(d[Ae>>2]|0),J[en>>3]=ii*3,J[me>>3]=0,wn=ii*-1.5,J[Un>>3]=wn,J[Ce>>3]=ii*2.598076211353316,J[En>>3]=wn,J[Be>>3]=ii*-2.598076211353316,d[17040+((d[ke>>2]|0)*80|0)+(d[Lt>>2]<<2)>>2]|0){case 1:{A=Un,_=en;break}case 3:{A=En,_=Un;break}case 2:{A=en,_=En;break}default:{A=12;break e}}xp(Re,rn,_,A,Qn),Bu(Qn,d[ke>>2]|0,U,1,y+8+(d[y>>2]<<4)|0),d[y>>2]=(d[y>>2]|0)+1}if((N|0)<(ie|0)&&(Du(Xe,ke),Bu(ke,d[Lt>>2]|0,U,1,y+8+(d[y>>2]<<4)|0),d[y>>2]=(d[y>>2]|0)+1),d[on>>2]=d[Lt>>2],d[on+4>>2]=d[Lt+4>>2],d[on+8>>2]=d[Lt+8>>2],d[on+12>>2]=d[Lt+12>>2],N=N+1|0,(N|0)>=(qe|0)){A=3;break}}if((A|0)==3){K=vn;return}else(A|0)==12&&Ut(26970,27017,572,27027)}function ap(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0;U=K,K=K+128|0,_=U+64|0,y=U,T=_,M=20240,N=T+60|0;do d[T>>2]=d[M>>2],T=T+4|0,M=M+4|0;while((T|0)<(N|0));T=y,M=20304,N=T+60|0;do d[T>>2]=d[M>>2],T=T+4|0,M=M+4|0;while((T|0)<(N|0));N=(Ss(d[f>>2]|0)|0)==0,_=N?_:y,y=A+4|0,h1(y),f1(y),Ss(d[f>>2]|0)|0&&(Lu(y),d[f>>2]=(d[f>>2]|0)+1),d[p>>2]=d[A>>2],f=p+4|0,hs(y,_,f),Lr(f),d[p+16>>2]=d[A>>2],f=p+20|0,hs(y,_+12|0,f),Lr(f),d[p+32>>2]=d[A>>2],f=p+36|0,hs(y,_+24|0,f),Lr(f),d[p+48>>2]=d[A>>2],f=p+52|0,hs(y,_+36|0,f),Lr(f),d[p+64>>2]=d[A>>2],p=p+68|0,hs(y,_+48|0,p),Lr(p),K=U}function Ou(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0;if(me=K,K=K+32|0,pe=me+12|0,N=me,Ae=A+4|0,ie=d[16960+(f<<2)>>2]|0,q=(_|0)!=0,ie=q?ie*3|0:ie,y=d[Ae>>2]|0,I=A+8|0,M=d[I>>2]|0,q){if(T=A+12|0,_=d[T>>2]|0,y=M+y+_|0,(y|0)==(ie|0))return Ae=1,K=me,Ae|0;U=T}else U=A+12|0,_=d[U>>2]|0,y=M+y+_|0;if((y|0)<=(ie|0))return Ae=0,K=me,Ae|0;do if((_|0)>0){if(_=d[A>>2]|0,(M|0)>0){T=18640+(_*80|0)+60|0,_=A;break}_=18640+(_*80|0)+40|0,p?(Nu(pe,ie,0,0),af(Ae,pe,N),EA(N),hs(N,pe,Ae),T=_,_=A):(T=_,_=A)}else T=18640+((d[A>>2]|0)*80|0)+20|0,_=A;while(!1);if(d[_>>2]=d[T>>2],y=T+16|0,(d[y>>2]|0)>0){_=0;do c1(Ae),_=_+1|0;while((_|0)<(d[y>>2]|0))}return A=T+4|0,d[pe>>2]=d[A>>2],d[pe+4>>2]=d[A+4>>2],d[pe+8>>2]=d[A+8>>2],f=d[16880+(f<<2)>>2]|0,Xc(pe,q?f*3|0:f),hs(Ae,pe,Ae),Lr(Ae),q?_=((d[I>>2]|0)+(d[Ae>>2]|0)+(d[U>>2]|0)|0)==(ie|0)?1:2:_=2,Ae=_,K=me,Ae|0}function m1(A,f){A=A|0,f=f|0;var p=0;do p=Ou(A,f,0,1)|0;while((p|0)==2);return p|0}function RA(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0,Re=0,Pt=0,rn=0,en=0,Un=0,En=0,Qn=0,Tn=0;if(En=K,K=K+240|0,T=En+224|0,Pt=En+208|0,rn=En,en=En+192|0,Un=En+176|0,Be=En+160|0,Xe=En+144|0,qe=En+128|0,ke=En+112|0,Re=En+96|0,d[T>>2]=f,d[Pt>>2]=d[A>>2],d[Pt+4>>2]=d[A+4>>2],d[Pt+8>>2]=d[A+8>>2],d[Pt+12>>2]=d[A+12>>2],op(Pt,T,rn),d[y>>2]=0,Ce=_+p+((_|0)==6&1)|0,(Ce|0)<=(p|0)){K=En;return}U=d[T>>2]|0,I=p+6|0,q=16960+(U<<2)|0,ie=Xe+8|0,pe=qe+8|0,Ae=ke+8|0,me=en+4|0,M=0,N=p,_=-1;e:for(;;){if(T=(N|0)%6|0,A=rn+(T<<4)|0,d[en>>2]=d[A>>2],d[en+4>>2]=d[A+4>>2],d[en+8>>2]=d[A+8>>2],d[en+12>>2]=d[A+12>>2],A=M,M=Ou(en,U,0,1)|0,(N|0)>(p|0)&(Ss(f)|0)!=0&&(A|0)!=1&&(d[en>>2]|0)!=(_|0)){switch(Du(rn+(((T+5|0)%6|0)<<4)+4|0,Un),Du(rn+(T<<4)+4|0,Be),Qn=+(d[q>>2]|0),J[Xe>>3]=Qn*3,J[ie>>3]=0,Tn=Qn*-1.5,J[qe>>3]=Tn,J[pe>>3]=Qn*2.598076211353316,J[ke>>3]=Tn,J[Ae>>3]=Qn*-2.598076211353316,T=d[Pt>>2]|0,d[17040+(T*80|0)+(((_|0)==(T|0)?d[en>>2]|0:_)<<2)>>2]|0){case 1:{A=qe,_=Xe;break}case 3:{A=ke,_=qe;break}case 2:{A=Xe,_=ke;break}default:{A=8;break e}}xp(Un,Be,_,A,Re),!(bp(Un,Re)|0)&&!(bp(Be,Re)|0)&&(Bu(Re,d[Pt>>2]|0,U,1,y+8+(d[y>>2]<<4)|0),d[y>>2]=(d[y>>2]|0)+1)}if((N|0)<(I|0)&&(Du(me,Un),Bu(Un,d[en>>2]|0,U,1,y+8+(d[y>>2]<<4)|0),d[y>>2]=(d[y>>2]|0)+1),N=N+1|0,(N|0)>=(Ce|0)){A=3;break}else _=d[en>>2]|0}if((A|0)==3){K=En;return}else(A|0)==8&&Ut(27054,27017,737,27099)}function op(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0;U=K,K=K+160|0,_=U+80|0,y=U,T=_,M=20368,N=T+72|0;do d[T>>2]=d[M>>2],T=T+4|0,M=M+4|0;while((T|0)<(N|0));T=y,M=20448,N=T+72|0;do d[T>>2]=d[M>>2],T=T+4|0,M=M+4|0;while((T|0)<(N|0));N=(Ss(d[f>>2]|0)|0)==0,_=N?_:y,y=A+4|0,h1(y),f1(y),Ss(d[f>>2]|0)|0&&(Lu(y),d[f>>2]=(d[f>>2]|0)+1),d[p>>2]=d[A>>2],f=p+4|0,hs(y,_,f),Lr(f),d[p+16>>2]=d[A>>2],f=p+20|0,hs(y,_+12|0,f),Lr(f),d[p+32>>2]=d[A>>2],f=p+36|0,hs(y,_+24|0,f),Lr(f),d[p+48>>2]=d[A>>2],f=p+52|0,hs(y,_+36|0,f),Lr(f),d[p+64>>2]=d[A>>2],f=p+68|0,hs(y,_+48|0,f),Lr(f),d[p+80>>2]=d[A>>2],p=p+84|0,hs(y,_+60|0,p),Lr(p),K=U}function Qc(A,f){return A=A|0,f=f|0,f=bt(A|0,f|0,52)|0,Z()|0,f&15|0}function g1(A,f){return A=A|0,f=f|0,f=bt(A|0,f|0,45)|0,Z()|0,f&127|0}function bx(A,f,p,_){return A=A|0,f=f|0,p=p|0,_=_|0,(p+-1|0)>>>0>14?(_=4,_|0):(p=bt(A|0,f|0,(15-p|0)*3|0)|0,Z()|0,d[_>>2]=p&7,_=0,_|0)}function Sx(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0;if(A>>>0>15)return _=4,_|0;if(f>>>0>121)return _=17,_|0;M=Nt(A|0,0,52)|0,y=Z()|0,N=Nt(f|0,0,45)|0,y=y|(Z()|0)|134225919;e:do if((A|0)>=1){for(N=1,M=(st[20528+f>>0]|0)!=0,T=-1;;){if(f=d[p+(N+-1<<2)>>2]|0,f>>>0>6){y=18,f=10;break}if(!((f|0)==0|M^1))if((f|0)==1){y=19,f=10;break}else M=0;if(I=(15-N|0)*3|0,U=Nt(7,0,I|0)|0,y=y&~(Z()|0),f=Nt(f|0,((f|0)<0)<<31>>31|0,I|0)|0,T=f|T&~U,y=Z()|0|y,(N|0)<(A|0))N=N+1|0;else break e}if((f|0)==10)return y|0}else T=-1;while(!1);return I=_,d[I>>2]=T,d[I+4>>2]=y,I=0,I|0}function NA(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0;return!(!0&(f&-16777216|0)==134217728)||(_=bt(A|0,f|0,52)|0,Z()|0,_=_&15,p=bt(A|0,f|0,45)|0,Z()|0,p=p&127,p>>>0>121)?(A=0,A|0):(M=(_^15)*3|0,y=bt(A|0,f|0,M|0)|0,M=Nt(y|0,Z()|0,M|0)|0,y=Z()|0,T=Ur(-1227133514,-1171,M|0,y|0)|0,!((M&613566756&T|0)==0&(y&4681&(Z()|0)|0)==0)||(M=(_*3|0)+19|0,T=Nt(~A|0,~f|0,M|0)|0,M=bt(T|0,Z()|0,M|0)|0,!((_|0)==15|(M|0)==0&(Z()|0)==0))?(M=0,M|0):!(st[20528+p>>0]|0)||(f=f&8191,(A|0)==0&(f|0)==0)?(M=1,M|0):(M=ff(A|0,f|0)|0,Z()|0,((63-M|0)%3|0|0)!=0|0))}function v1(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0;return!0&(f&-16777216|0)==134217728&&(_=bt(A|0,f|0,52)|0,Z()|0,_=_&15,p=bt(A|0,f|0,45)|0,Z()|0,p=p&127,p>>>0<=121)&&(M=(_^15)*3|0,y=bt(A|0,f|0,M|0)|0,M=Nt(y|0,Z()|0,M|0)|0,y=Z()|0,T=Ur(-1227133514,-1171,M|0,y|0)|0,(M&613566756&T|0)==0&(y&4681&(Z()|0)|0)==0)&&(M=(_*3|0)+19|0,T=Nt(~A|0,~f|0,M|0)|0,M=bt(T|0,Z()|0,M|0)|0,(_|0)==15|(M|0)==0&(Z()|0)==0)&&(!(st[20528+p>>0]|0)||(p=f&8191,(A|0)==0&(p|0)==0)||(M=ff(A|0,p|0)|0,Z()|0,(63-M|0)%3|0|0))||p1(A,f)|0?(M=1,M|0):(M=(ul(A,f)|0)!=0&1,M|0)}function Iu(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0;if(y=Nt(f|0,0,52)|0,T=Z()|0,p=Nt(p|0,0,45)|0,p=T|(Z()|0)|134225919,(f|0)<1){T=-1,_=p,f=A,d[f>>2]=T,A=A+4|0,d[A>>2]=_;return}for(T=1,y=-1;M=(15-T|0)*3|0,N=Nt(7,0,M|0)|0,p=p&~(Z()|0),M=Nt(_|0,0,M|0)|0,y=y&~N|M,p=p|(Z()|0),(T|0)!=(f|0);)T=T+1|0;N=A,M=N,d[M>>2]=y,N=N+4|0,d[N>>2]=p}function Fu(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0;if(T=bt(A|0,f|0,52)|0,Z()|0,T=T&15,p>>>0>15)return _=4,_|0;if((T|0)<(p|0))return _=12,_|0;if((T|0)==(p|0))return d[_>>2]=A,d[_+4>>2]=f,_=0,_|0;if(y=Nt(p|0,0,52)|0,y=y|A,A=Z()|0|f&-15728641,(T|0)>(p|0))do f=Nt(7,0,(14-p|0)*3|0)|0,p=p+1|0,y=f|y,A=Z()|0|A;while((p|0)<(T|0));return d[_>>2]=y,d[_+4>>2]=A,_=0,_|0}function lf(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0;if(T=bt(A|0,f|0,52)|0,Z()|0,T=T&15,!((p|0)<16&(T|0)<=(p|0)))return _=4,_|0;y=p-T|0,p=bt(A|0,f|0,45)|0,Z()|0;e:do if(!(Bi(p&127)|0))p=Bo(7,0,y,((y|0)<0)<<31>>31)|0,y=Z()|0;else{t:do if(T|0){for(p=1;M=Nt(7,0,(15-p|0)*3|0)|0,!!((M&A|0)==0&((Z()|0)&f|0)==0);)if(p>>>0>>0)p=p+1|0;else break t;p=Bo(7,0,y,((y|0)<0)<<31>>31)|0,y=Z()|0;break e}while(!1);p=Bo(7,0,y,((y|0)<0)<<31>>31)|0,p=fr(p|0,Z()|0,5,0)|0,p=Yt(p|0,Z()|0,-5,-1)|0,p=ko(p|0,Z()|0,6,0)|0,p=Yt(p|0,Z()|0,1,0)|0,y=Z()|0}while(!1);return M=_,d[M>>2]=p,d[M+4>>2]=y,M=0,M|0}function Ci(A,f){A=A|0,f=f|0;var p=0,_=0,y=0;if(y=bt(A|0,f|0,45)|0,Z()|0,!(Bi(y&127)|0))return y=0,y|0;y=bt(A|0,f|0,52)|0,Z()|0,y=y&15;e:do if(!y)p=0;else for(_=1;;){if(p=bt(A|0,f|0,(15-_|0)*3|0)|0,Z()|0,p=p&7,p|0)break e;if(_>>>0>>0)_=_+1|0;else{p=0;break}}while(!1);return y=(p|0)==0&1,y|0}function _1(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0;if(M=K,K=K+16|0,T=M,sl(T,A,f,p),f=T,A=d[f>>2]|0,f=d[f+4>>2]|0,(A|0)==0&(f|0)==0)return K=M,0;y=0,p=0;do N=_+(y<<3)|0,d[N>>2]=A,d[N+4>>2]=f,y=Yt(y|0,p|0,1,0)|0,p=Z()|0,uf(T),N=T,A=d[N>>2]|0,f=d[N+4>>2]|0;while(!((A|0)==0&(f|0)==0));return K=M,0}function lp(A,f,p,_){return A=A|0,f=f|0,p=p|0,_=_|0,(_|0)<(p|0)?(p=f,_=A,ht(p|0),_|0):(p=Nt(-1,-1,((_-p|0)*3|0)+3|0)|0,_=Nt(~p|0,~(Z()|0)|0,(15-_|0)*3|0)|0,p=~(Z()|0)&f,_=~_&A,ht(p|0),_|0)}function DA(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0;return y=bt(A|0,f|0,52)|0,Z()|0,y=y&15,(p|0)<16&(y|0)<=(p|0)?((y|0)<(p|0)&&(y=Nt(-1,-1,((p+-1-y|0)*3|0)+3|0)|0,y=Nt(~y|0,~(Z()|0)|0,(15-p|0)*3|0)|0,f=~(Z()|0)&f,A=~y&A),y=Nt(p|0,0,52)|0,p=f&-15728641|(Z()|0),d[_>>2]=A|y,d[_+4>>2]=p,_=0,_|0):(_=4,_|0)}function up(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0,Re=0,Pt=0,rn=0,en=0,Un=0,En=0,Qn=0,Tn=0,on=0,Lt=0;if((p|0)==0&(_|0)==0)return Lt=0,Lt|0;if(y=A,T=d[y>>2]|0,y=d[y+4>>2]|0,!0&(y&15728640|0)==0){if(!((_|0)>0|(_|0)==0&p>>>0>0)||(Lt=f,d[Lt>>2]=T,d[Lt+4>>2]=y,(p|0)==1&(_|0)==0))return Lt=0,Lt|0;y=1,T=0;do Tn=A+(y<<3)|0,on=d[Tn+4>>2]|0,Lt=f+(y<<3)|0,d[Lt>>2]=d[Tn>>2],d[Lt+4>>2]=on,y=Yt(y|0,T|0,1,0)|0,T=Z()|0;while((T|0)<(_|0)|(T|0)==(_|0)&y>>>0

>>0);return y=0,y|0}if(Qn=p<<3,on=Fo(Qn)|0,!on)return Lt=13,Lt|0;if(Gl(on|0,A|0,Qn|0)|0,Tn=Ks(p,8)|0,!Tn)return An(on),Lt=13,Lt|0;e:for(;;){y=on,I=d[y>>2]|0,y=d[y+4>>2]|0,Un=bt(I|0,y|0,52)|0,Z()|0,Un=Un&15,En=Un+-1|0,en=(Un|0)!=0,rn=(_|0)>0|(_|0)==0&p>>>0>0;t:do if(en&rn){if(qe=Nt(En|0,0,52)|0,ke=Z()|0,En>>>0>15){if(!((I|0)==0&(y|0)==0)){Lt=16;break e}for(T=0,A=0;;){if(T=Yt(T|0,A|0,1,0)|0,A=Z()|0,!((A|0)<(_|0)|(A|0)==(_|0)&T>>>0

>>0))break t;if(M=on+(T<<3)|0,Pt=d[M>>2]|0,M=d[M+4>>2]|0,!((Pt|0)==0&(M|0)==0)){y=M,Lt=16;break e}}}for(N=I,A=y,T=0,M=0;;){if(!((N|0)==0&(A|0)==0)){if(!(!0&(A&117440512|0)==0)){Lt=21;break e}if(q=bt(N|0,A|0,52)|0,Z()|0,q=q&15,(q|0)<(En|0)){y=12,Lt=27;break e}if((q|0)!=(En|0)&&(N=N|qe,A=A&-15728641|ke,q>>>0>=Un>>>0)){U=En;do Pt=Nt(7,0,(14-U|0)*3|0)|0,U=U+1|0,N=Pt|N,A=Z()|0|A;while(U>>>0>>0)}if(pe=ec(N|0,A|0,p|0,_|0)|0,Ae=Z()|0,U=Tn+(pe<<3)|0,q=U,ie=d[q>>2]|0,q=d[q+4>>2]|0,!((ie|0)==0&(q|0)==0)){Be=0,Xe=0;do{if((Be|0)>(_|0)|(Be|0)==(_|0)&Xe>>>0>p>>>0){Lt=31;break e}if((ie|0)==(N|0)&(q&-117440513|0)==(A|0)){me=bt(ie|0,q|0,56)|0,Z()|0,me=me&7,Ce=me+1|0,Pt=bt(ie|0,q|0,45)|0,Z()|0;n:do if(!(Bi(Pt&127)|0))q=7;else{if(ie=bt(ie|0,q|0,52)|0,Z()|0,ie=ie&15,!ie){q=6;break}for(q=1;;){if(Pt=Nt(7,0,(15-q|0)*3|0)|0,!((Pt&N|0)==0&((Z()|0)&A|0)==0)){q=7;break n}if(q>>>0>>0)q=q+1|0;else{q=6;break}}}while(!1);if((me+2|0)>>>0>q>>>0){Lt=41;break e}Pt=Nt(Ce|0,0,56)|0,A=Z()|0|A&-117440513,Re=U,d[Re>>2]=0,d[Re+4>>2]=0,N=Pt|N}else pe=Yt(pe|0,Ae|0,1,0)|0,pe=th(pe|0,Z()|0,p|0,_|0)|0,Ae=Z()|0;Xe=Yt(Xe|0,Be|0,1,0)|0,Be=Z()|0,U=Tn+(pe<<3)|0,q=U,ie=d[q>>2]|0,q=d[q+4>>2]|0}while(!((ie|0)==0&(q|0)==0))}Pt=U,d[Pt>>2]=N,d[Pt+4>>2]=A}if(T=Yt(T|0,M|0,1,0)|0,M=Z()|0,!((M|0)<(_|0)|(M|0)==(_|0)&T>>>0

>>0))break t;A=on+(T<<3)|0,N=d[A>>2]|0,A=d[A+4>>2]|0}}while(!1);if(Pt=Yt(p|0,_|0,5,0)|0,Re=Z()|0,Re>>>0<0|(Re|0)==0&Pt>>>0<11){Lt=85;break}if(Pt=ko(p|0,_|0,6,0)|0,Z()|0,Pt=Ks(Pt,8)|0,!Pt){Lt=48;break}do if(rn){for(Ce=0,A=0,me=0,Be=0;;){if(q=Tn+(Ce<<3)|0,M=q,T=d[M>>2]|0,M=d[M+4>>2]|0,(T|0)==0&(M|0)==0)Re=me;else{ie=bt(T|0,M|0,56)|0,Z()|0,ie=ie&7,N=ie+1|0,pe=M&-117440513,Re=bt(T|0,M|0,45)|0,Z()|0;t:do if(Bi(Re&127)|0){if(Ae=bt(T|0,M|0,52)|0,Z()|0,Ae=Ae&15,Ae|0)for(U=1;;){if(Re=Nt(7,0,(15-U|0)*3|0)|0,!((T&Re|0)==0&(pe&(Z()|0)|0)==0))break t;if(U>>>0>>0)U=U+1|0;else break}M=Nt(N|0,0,56)|0,T=M|T,M=Z()|0|pe,N=q,d[N>>2]=T,d[N+4>>2]=M,N=ie+2|0}while(!1);(N|0)==7?(Re=Pt+(A<<3)|0,d[Re>>2]=T,d[Re+4>>2]=M&-117440513,A=Yt(A|0,me|0,1,0)|0,Re=Z()|0):Re=me}if(Ce=Yt(Ce|0,Be|0,1,0)|0,Be=Z()|0,(Be|0)<(_|0)|(Be|0)==(_|0)&Ce>>>0

>>0)me=Re;else break}if(rn){if(Xe=En>>>0>15,qe=Nt(En|0,0,52)|0,ke=Z()|0,!en){for(T=0,U=0,N=0,M=0;(I|0)==0&(y|0)==0||(En=f+(T<<3)|0,d[En>>2]=I,d[En+4>>2]=y,T=Yt(T|0,U|0,1,0)|0,U=Z()|0),N=Yt(N|0,M|0,1,0)|0,M=Z()|0,!!((M|0)<(_|0)|(M|0)==(_|0)&N>>>0

>>0);)y=on+(N<<3)|0,I=d[y>>2]|0,y=d[y+4>>2]|0;y=Re;break}for(T=0,U=0,M=0,N=0;;){do if(!((I|0)==0&(y|0)==0)){if(Ae=bt(I|0,y|0,52)|0,Z()|0,Ae=Ae&15,Xe|(Ae|0)<(En|0)){Lt=80;break e}if((Ae|0)!=(En|0)){if(q=I|qe,ie=y&-15728641|ke,Ae>>>0>=Un>>>0){pe=En;do en=Nt(7,0,(14-pe|0)*3|0)|0,pe=pe+1|0,q=en|q,ie=Z()|0|ie;while(pe>>>0>>0)}}else q=I,ie=y;me=ec(q|0,ie|0,p|0,_|0)|0,pe=0,Ae=0,Be=Z()|0;do{if((pe|0)>(_|0)|(pe|0)==(_|0)&Ae>>>0>p>>>0){Lt=81;break e}if(en=Tn+(me<<3)|0,Ce=d[en+4>>2]|0,(Ce&-117440513|0)==(ie|0)&&(d[en>>2]|0)==(q|0)){Lt=65;break}en=Yt(me|0,Be|0,1,0)|0,me=th(en|0,Z()|0,p|0,_|0)|0,Be=Z()|0,Ae=Yt(Ae|0,pe|0,1,0)|0,pe=Z()|0,en=Tn+(me<<3)|0}while(!((d[en>>2]|0)==(q|0)&&(d[en+4>>2]|0)==(ie|0)));if((Lt|0)==65&&(Lt=0,!0&(Ce&117440512|0)==100663296))break;en=f+(T<<3)|0,d[en>>2]=I,d[en+4>>2]=y,T=Yt(T|0,U|0,1,0)|0,U=Z()|0}while(!1);if(M=Yt(M|0,N|0,1,0)|0,N=Z()|0,!((N|0)<(_|0)|(N|0)==(_|0)&M>>>0

>>0))break;y=on+(M<<3)|0,I=d[y>>2]|0,y=d[y+4>>2]|0}y=Re}else T=0,y=Re}else T=0,A=0,y=0;while(!1);if(uo(Tn|0,0,Qn|0)|0,Gl(on|0,Pt|0,A<<3|0)|0,An(Pt),(A|0)==0&(y|0)==0){Lt=89;break}else f=f+(T<<3)|0,_=y,p=A}if((Lt|0)==16)!0&(y&117440512|0)==0?(y=4,Lt=27):Lt=21;else if((Lt|0)==31)Ut(27795,27122,620,27132);else{if((Lt|0)==41)return An(on),An(Tn),Lt=10,Lt|0;if((Lt|0)==48)return An(on),An(Tn),Lt=13,Lt|0;(Lt|0)==80?Ut(27795,27122,711,27132):(Lt|0)==81?Ut(27795,27122,723,27132):(Lt|0)==85&&(Gl(f|0,on|0,p<<3|0)|0,Lt=89)}return(Lt|0)==21?(An(on),An(Tn),Lt=5,Lt|0):(Lt|0)==27?(An(on),An(Tn),Lt=y,Lt|0):(Lt|0)==89?(An(on),An(Tn),Lt=0,Lt|0):0}function y1(A,f,p,_,y,T,M){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0,T=T|0,M=M|0;var N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0;if(Ce=K,K=K+16|0,me=Ce,!((p|0)>0|(p|0)==0&f>>>0>0))return me=0,K=Ce,me|0;if((M|0)>=16)return me=12,K=Ce,me|0;pe=0,Ae=0,ie=0,N=0;e:for(;;){if(I=A+(pe<<3)|0,U=d[I>>2]|0,I=d[I+4>>2]|0,q=bt(U|0,I|0,52)|0,Z()|0,(q&15|0)>(M|0)){N=12,U=11;break}if(sl(me,U,I,M),q=me,I=d[q>>2]|0,q=d[q+4>>2]|0,(I|0)==0&(q|0)==0)U=ie;else{U=ie;do{if(!((N|0)<(T|0)|(N|0)==(T|0)&U>>>0>>0)){U=10;break e}ie=_+(U<<3)|0,d[ie>>2]=I,d[ie+4>>2]=q,U=Yt(U|0,N|0,1,0)|0,N=Z()|0,uf(me),ie=me,I=d[ie>>2]|0,q=d[ie+4>>2]|0}while(!((I|0)==0&(q|0)==0))}if(pe=Yt(pe|0,Ae|0,1,0)|0,Ae=Z()|0,(Ae|0)<(p|0)|(Ae|0)==(p|0)&pe>>>0>>0)ie=U;else{N=0,U=11;break}}return(U|0)==10?(me=14,K=Ce,me|0):(U|0)==11?(K=Ce,N|0):0}function x1(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0;pe=K,K=K+16|0,ie=pe;e:do if((p|0)>0|(p|0)==0&f>>>0>0){for(I=0,M=0,T=0,q=0;;){if(U=A+(I<<3)|0,N=d[U>>2]|0,U=d[U+4>>2]|0,!((N|0)==0&(U|0)==0)&&(U=(lf(N,U,_,ie)|0)==0,N=ie,M=Yt(d[N>>2]|0,d[N+4>>2]|0,M|0,T|0)|0,T=Z()|0,!U)){T=12;break}if(I=Yt(I|0,q|0,1,0)|0,q=Z()|0,!((q|0)<(p|0)|(q|0)==(p|0)&I>>>0>>0))break e}return K=pe,T|0}else M=0,T=0;while(!1);return d[y>>2]=M,d[y+4>>2]=T,y=0,K=pe,y|0}function b1(A,f){return A=A|0,f=f|0,f=bt(A|0,f|0,52)|0,Z()|0,f&1|0}function $s(A,f){A=A|0,f=f|0;var p=0,_=0,y=0;if(y=bt(A|0,f|0,52)|0,Z()|0,y=y&15,!y)return y=0,y|0;for(_=1;;){if(p=bt(A|0,f|0,(15-_|0)*3|0)|0,Z()|0,p=p&7,p|0){_=5;break}if(_>>>0>>0)_=_+1|0;else{p=0,_=5;break}}return(_|0)==5?p|0:0}function cp(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0,U=0;if(U=bt(A|0,f|0,52)|0,Z()|0,U=U&15,!U)return N=f,U=A,ht(N|0),U|0;for(N=1,p=0;;){T=(15-N|0)*3|0,_=Nt(7,0,T|0)|0,y=Z()|0,M=bt(A|0,f|0,T|0)|0,Z()|0,T=Nt(Uu(M&7)|0,0,T|0)|0,M=Z()|0,A=T|A&~_,f=M|f&~y;e:do if(!p)if((T&_|0)==0&(M&y|0)==0)p=0;else if(_=bt(A|0,f|0,52)|0,Z()|0,_=_&15,!_)p=1;else{p=1;t:for(;;){switch(M=bt(A|0,f|0,(15-p|0)*3|0)|0,Z()|0,M&7){case 1:break t;case 0:break;default:{p=1;break e}}if(p>>>0<_>>>0)p=p+1|0;else{p=1;break e}}for(p=1;;)if(M=(15-p|0)*3|0,y=bt(A|0,f|0,M|0)|0,Z()|0,T=Nt(7,0,M|0)|0,f=f&~(Z()|0),M=Nt(Uu(y&7)|0,0,M|0)|0,A=A&~T|M,f=f|(Z()|0),p>>>0<_>>>0)p=p+1|0;else{p=1;break}}while(!1);if(N>>>0>>0)N=N+1|0;else break}return ht(f|0),A|0}function ku(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0;if(_=bt(A|0,f|0,52)|0,Z()|0,_=_&15,!_)return p=f,_=A,ht(p|0),_|0;for(p=1;T=(15-p|0)*3|0,M=bt(A|0,f|0,T|0)|0,Z()|0,y=Nt(7,0,T|0)|0,f=f&~(Z()|0),T=Nt(Uu(M&7)|0,0,T|0)|0,A=T|A&~y,f=Z()|0|f,p>>>0<_>>>0;)p=p+1|0;return ht(f|0),A|0}function Tx(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0,U=0;if(U=bt(A|0,f|0,52)|0,Z()|0,U=U&15,!U)return N=f,U=A,ht(N|0),U|0;for(N=1,p=0;;){T=(15-N|0)*3|0,_=Nt(7,0,T|0)|0,y=Z()|0,M=bt(A|0,f|0,T|0)|0,Z()|0,T=Nt(rl(M&7)|0,0,T|0)|0,M=Z()|0,A=T|A&~_,f=M|f&~y;e:do if(!p)if((T&_|0)==0&(M&y|0)==0)p=0;else if(_=bt(A|0,f|0,52)|0,Z()|0,_=_&15,!_)p=1;else{p=1;t:for(;;){switch(M=bt(A|0,f|0,(15-p|0)*3|0)|0,Z()|0,M&7){case 1:break t;case 0:break;default:{p=1;break e}}if(p>>>0<_>>>0)p=p+1|0;else{p=1;break e}}for(p=1;;)if(y=(15-p|0)*3|0,T=Nt(7,0,y|0)|0,M=f&~(Z()|0),f=bt(A|0,f|0,y|0)|0,Z()|0,f=Nt(rl(f&7)|0,0,y|0)|0,A=A&~T|f,f=M|(Z()|0),p>>>0<_>>>0)p=p+1|0;else{p=1;break}}while(!1);if(N>>>0>>0)N=N+1|0;else break}return ht(f|0),A|0}function hp(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0;if(_=bt(A|0,f|0,52)|0,Z()|0,_=_&15,!_)return p=f,_=A,ht(p|0),_|0;for(p=1;M=(15-p|0)*3|0,T=Nt(7,0,M|0)|0,y=f&~(Z()|0),f=bt(A|0,f|0,M|0)|0,Z()|0,f=Nt(rl(f&7)|0,0,M|0)|0,A=f|A&~T,f=Z()|0|y,p>>>0<_>>>0;)p=p+1|0;return ht(f|0),A|0}function Aa(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0;if(U=K,K=K+64|0,N=U+40|0,_=U+24|0,y=U+12|0,T=U,Nt(f|0,0,52)|0,p=Z()|0|134225919,!f)return(d[A+4>>2]|0)>2||(d[A+8>>2]|0)>2||(d[A+12>>2]|0)>2?(M=0,N=0,ht(M|0),K=U,N|0):(Nt(Po(A)|0,0,45)|0,M=Z()|0|p,N=-1,ht(M|0),K=U,N|0);if(d[N>>2]=d[A>>2],d[N+4>>2]=d[A+4>>2],d[N+8>>2]=d[A+8>>2],d[N+12>>2]=d[A+12>>2],M=N+4|0,(f|0)>0)for(A=-1;d[_>>2]=d[M>>2],d[_+4>>2]=d[M+4>>2],d[_+8>>2]=d[M+8>>2],f&1?(hx(M),d[y>>2]=d[M>>2],d[y+4>>2]=d[M+4>>2],d[y+8>>2]=d[M+8>>2],Yc(y)):(l1(M),d[y>>2]=d[M>>2],d[y+4>>2]=d[M+4>>2],d[y+8>>2]=d[M+8>>2],Lu(y)),af(_,y,T),Lr(T),q=(15-f|0)*3|0,I=Nt(7,0,q|0)|0,p=p&~(Z()|0),q=Nt(Pu(T)|0,0,q|0)|0,A=q|A&~I,p=Z()|0|p,(f|0)>1;)f=f+-1|0;else A=-1;e:do if((d[M>>2]|0)<=2&&(d[N+8>>2]|0)<=2&&(d[N+12>>2]|0)<=2){if(_=Po(N)|0,f=Nt(_|0,0,45)|0,f=f|A,A=Z()|0|p&-1040385,T=ep(N)|0,!(Bi(_)|0)){if((T|0)<=0)break;for(y=0;;){if(_=bt(f|0,A|0,52)|0,Z()|0,_=_&15,_)for(p=1;q=(15-p|0)*3|0,N=bt(f|0,A|0,q|0)|0,Z()|0,I=Nt(7,0,q|0)|0,A=A&~(Z()|0),q=Nt(Uu(N&7)|0,0,q|0)|0,f=f&~I|q,A=A|(Z()|0),p>>>0<_>>>0;)p=p+1|0;if(y=y+1|0,(y|0)==(T|0))break e}}y=bt(f|0,A|0,52)|0,Z()|0,y=y&15;t:do if(y){p=1;n:for(;;){switch(q=bt(f|0,A|0,(15-p|0)*3|0)|0,Z()|0,q&7){case 1:break n;case 0:break;default:break t}if(p>>>0>>0)p=p+1|0;else break t}if(Ru(_,d[N>>2]|0)|0)for(p=1;N=(15-p|0)*3|0,I=Nt(7,0,N|0)|0,q=A&~(Z()|0),A=bt(f|0,A|0,N|0)|0,Z()|0,A=Nt(rl(A&7)|0,0,N|0)|0,f=f&~I|A,A=q|(Z()|0),p>>>0>>0;)p=p+1|0;else for(p=1;q=(15-p|0)*3|0,N=bt(f|0,A|0,q|0)|0,Z()|0,I=Nt(7,0,q|0)|0,A=A&~(Z()|0),q=Nt(Uu(N&7)|0,0,q|0)|0,f=f&~I|q,A=A|(Z()|0),p>>>0>>0;)p=p+1|0}while(!1);if((T|0)>0){p=0;do f=cp(f,A)|0,A=Z()|0,p=p+1|0;while((p|0)!=(T|0))}}else f=0,A=0;while(!1);return I=A,q=f,ht(I|0),K=U,q|0}function Ss(A){return A=A|0,(A|0)%2|0|0}function PA(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0;return y=K,K=K+16|0,_=y,f>>>0>15?(_=4,K=y,_|0):(d[A+4>>2]&2146435072|0)==2146435072||(d[A+8+4>>2]&2146435072|0)==2146435072?(_=3,K=y,_|0):(_x(A,f,_),f=Aa(_,f)|0,_=Z()|0,d[p>>2]=f,d[p+4>>2]=_,(f|0)==0&(_|0)==0&&Ut(27795,27122,1050,27145),_=0,K=y,_|0)}function LA(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0;if(y=p+4|0,T=bt(A|0,f|0,52)|0,Z()|0,T=T&15,M=bt(A|0,f|0,45)|0,Z()|0,_=(T|0)==0,Bi(M&127)|0){if(_)return M=1,M|0;_=1}else{if(_)return M=0,M|0;(d[y>>2]|0)==0&&(d[p+8>>2]|0)==0?_=(d[p+12>>2]|0)!=0&1:_=1}for(p=1;p&1?Yc(y):Lu(y),M=bt(A|0,f|0,(15-p|0)*3|0)|0,Z()|0,u1(y,M&7),p>>>0>>0;)p=p+1|0;return _|0}function zu(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0;if(q=K,K=K+16|0,U=q,I=bt(A|0,f|0,45)|0,Z()|0,I=I&127,I>>>0>121)return d[p>>2]=0,d[p+4>>2]=0,d[p+8>>2]=0,d[p+12>>2]=0,I=5,K=q,I|0;e:do if((Bi(I)|0)!=0&&(T=bt(A|0,f|0,52)|0,Z()|0,T=T&15,(T|0)!=0)){_=1;t:for(;;){switch(N=bt(A|0,f|0,(15-_|0)*3|0)|0,Z()|0,N&7){case 5:break t;case 0:break;default:{_=f;break e}}if(_>>>0>>0)_=_+1|0;else{_=f;break e}}for(y=1,_=f;f=(15-y|0)*3|0,M=Nt(7,0,f|0)|0,N=_&~(Z()|0),_=bt(A|0,_|0,f|0)|0,Z()|0,_=Nt(rl(_&7)|0,0,f|0)|0,A=A&~M|_,_=N|(Z()|0),y>>>0>>0;)y=y+1|0}else _=f;while(!1);if(N=7696+(I*28|0)|0,d[p>>2]=d[N>>2],d[p+4>>2]=d[N+4>>2],d[p+8>>2]=d[N+8>>2],d[p+12>>2]=d[N+12>>2],!(LA(A,_,p)|0))return I=0,K=q,I|0;if(M=p+4|0,d[U>>2]=d[M>>2],d[U+4>>2]=d[M+4>>2],d[U+8>>2]=d[M+8>>2],T=bt(A|0,_|0,52)|0,Z()|0,N=T&15,T&1?(Lu(M),T=N+1|0):T=N,!(Bi(I)|0))_=0;else{e:do if(!N)_=0;else for(f=1;;){if(y=bt(A|0,_|0,(15-f|0)*3|0)|0,Z()|0,y=y&7,y|0){_=y;break e}if(f>>>0>>0)f=f+1|0;else{_=0;break}}while(!1);_=(_|0)==4&1}if(!(Ou(p,T,_,0)|0))(T|0)!=(N|0)&&(d[M>>2]=d[U>>2],d[M+4>>2]=d[U+4>>2],d[M+8>>2]=d[U+8>>2]);else{if(Bi(I)|0)do;while((Ou(p,T,0,0)|0)!=0);(T|0)!=(N|0)&&l1(M)}return I=0,K=q,I|0}function Ol(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0;return T=K,K=K+16|0,_=T,y=zu(A,f,_)|0,y|0?(K=T,y|0):(y=bt(A|0,f|0,52)|0,Z()|0,of(_,y&15,p),y=0,K=T,y|0)}function Il(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0;if(M=K,K=K+16|0,T=M,_=zu(A,f,T)|0,_|0)return T=_,K=M,T|0;_=bt(A|0,f|0,45)|0,Z()|0,_=(Bi(_&127)|0)==0,y=bt(A|0,f|0,52)|0,Z()|0,y=y&15;e:do if(!_){if(y|0)for(_=1;;){if(N=Nt(7,0,(15-_|0)*3|0)|0,!((N&A|0)==0&((Z()|0)&f|0)==0))break e;if(_>>>0>>0)_=_+1|0;else break}return sp(T,y,0,5,p),N=0,K=M,N|0}while(!1);return RA(T,y,0,6,p),N=0,K=M,N|0}function wx(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0;if(y=bt(A|0,f|0,45)|0,Z()|0,!(Bi(y&127)|0))return y=2,d[p>>2]=y,0;if(y=bt(A|0,f|0,52)|0,Z()|0,y=y&15,!y)return y=5,d[p>>2]=y,0;for(_=1;;){if(T=Nt(7,0,(15-_|0)*3|0)|0,!((T&A|0)==0&((Z()|0)&f|0)==0)){_=2,A=6;break}if(_>>>0>>0)_=_+1|0;else{_=5,A=6;break}}return(A|0)==6&&(d[p>>2]=_),0}function Gu(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0;ie=K,K=K+128|0,I=ie+112|0,T=ie+96|0,q=ie,y=bt(A|0,f|0,52)|0,Z()|0,N=y&15,d[I>>2]=N,M=bt(A|0,f|0,45)|0,Z()|0,M=M&127;e:do if(Bi(M)|0){if(N|0)for(_=1;;){if(U=Nt(7,0,(15-_|0)*3|0)|0,!((U&A|0)==0&((Z()|0)&f|0)==0)){y=0;break e}if(_>>>0>>0)_=_+1|0;else break}if(y&1)y=1;else return U=Nt(N+1|0,0,52)|0,q=Z()|0|f&-15728641,I=Nt(7,0,(14-N|0)*3|0)|0,q=Gu((U|A)&~I,q&~(Z()|0),p)|0,K=ie,q|0}else y=0;while(!1);if(_=zu(A,f,T)|0,!_){y?(ap(T,I,q),U=5):(op(T,I,q),U=6);e:do if(Bi(M)|0)if(!N)A=5;else for(_=1;;){if(M=Nt(7,0,(15-_|0)*3|0)|0,!((M&A|0)==0&((Z()|0)&f|0)==0)){A=2;break e}if(_>>>0>>0)_=_+1|0;else{A=5;break}}else A=2;while(!1);uo(p|0,-1,A<<2|0)|0;e:do if(y)for(T=0;;){if(M=q+(T<<4)|0,m1(M,d[I>>2]|0)|0,M=d[M>>2]|0,N=d[p>>2]|0,(N|0)==-1|(N|0)==(M|0))_=p;else{y=0;do{if(y=y+1|0,y>>>0>=A>>>0){_=1;break e}_=p+(y<<2)|0,N=d[_>>2]|0}while(!((N|0)==-1|(N|0)==(M|0)))}if(d[_>>2]=M,T=T+1|0,T>>>0>=U>>>0){_=0;break}}else for(T=0;;){if(M=q+(T<<4)|0,Ou(M,d[I>>2]|0,0,1)|0,M=d[M>>2]|0,N=d[p>>2]|0,(N|0)==-1|(N|0)==(M|0))_=p;else{y=0;do{if(y=y+1|0,y>>>0>=A>>>0){_=1;break e}_=p+(y<<2)|0,N=d[_>>2]|0}while(!((N|0)==-1|(N|0)==(M|0)))}if(d[_>>2]=M,T=T+1|0,T>>>0>=U>>>0){_=0;break}}while(!1)}return q=_,K=ie,q|0}function fp(){return 12}function qu(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0,U=0;if(A>>>0>15)return N=4,N|0;if(Nt(A|0,0,52)|0,N=Z()|0|134225919,!A){p=0,_=0;do Bi(_)|0&&(Nt(_|0,0,45)|0,M=N|(Z()|0),A=f+(p<<3)|0,d[A>>2]=-1,d[A+4>>2]=M,p=p+1|0),_=_+1|0;while((_|0)!=122);return p=0,p|0}p=0,M=0;do{if(Bi(M)|0){for(Nt(M|0,0,45)|0,_=1,y=-1,T=N|(Z()|0);U=Nt(7,0,(15-_|0)*3|0)|0,y=y&~U,T=T&~(Z()|0),(_|0)!=(A|0);)_=_+1|0;U=f+(p<<3)|0,d[U>>2]=y,d[U+4>>2]=T,p=p+1|0}M=M+1|0}while((M|0)!=122);return p=0,p|0}function Ap(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0;if(qe=K,K=K+16|0,Be=qe,Xe=bt(A|0,f|0,52)|0,Z()|0,Xe=Xe&15,p>>>0>15)return Xe=4,K=qe,Xe|0;if((Xe|0)<(p|0))return Xe=12,K=qe,Xe|0;if((Xe|0)!=(p|0))if(T=Nt(p|0,0,52)|0,T=T|A,N=Z()|0|f&-15728641,(Xe|0)>(p|0)){U=p;do Ce=Nt(7,0,(14-U|0)*3|0)|0,U=U+1|0,T=Ce|T,N=Z()|0|N;while((U|0)<(Xe|0));Ce=T}else Ce=T;else Ce=A,N=f;me=bt(Ce|0,N|0,45)|0,Z()|0;e:do if(Bi(me&127)|0){if(U=bt(Ce|0,N|0,52)|0,Z()|0,U=U&15,U|0)for(T=1;;){if(me=Nt(7,0,(15-T|0)*3|0)|0,!((me&Ce|0)==0&((Z()|0)&N|0)==0)){I=33;break e}if(T>>>0>>0)T=T+1|0;else break}if(me=_,d[me>>2]=0,d[me+4>>2]=0,(Xe|0)>(p|0)){for(me=f&-15728641,Ae=Xe;;){if(pe=Ae,Ae=Ae+-1|0,Ae>>>0>15|(Xe|0)<(Ae|0)){I=19;break}if((Xe|0)!=(Ae|0))if(T=Nt(Ae|0,0,52)|0,T=T|A,U=Z()|0|me,(Xe|0)<(pe|0))ie=T;else{I=Ae;do ie=Nt(7,0,(14-I|0)*3|0)|0,I=I+1|0,T=ie|T,U=Z()|0|U;while((I|0)<(Xe|0));ie=T}else ie=A,U=f;if(q=bt(ie|0,U|0,45)|0,Z()|0,!(Bi(q&127)|0))T=0;else{q=bt(ie|0,U|0,52)|0,Z()|0,q=q&15;t:do if(!q)T=0;else for(I=1;;){if(T=bt(ie|0,U|0,(15-I|0)*3|0)|0,Z()|0,T=T&7,T|0)break t;if(I>>>0>>0)I=I+1|0;else{T=0;break}}while(!1);T=(T|0)==0&1}if(U=bt(A|0,f|0,(15-pe|0)*3|0)|0,Z()|0,U=U&7,(U|0)==7){y=5,I=42;break}if(T=(T|0)!=0,(U|0)==1&T){y=5,I=42;break}if(ie=U+(((U|0)!=0&T)<<31>>31)|0,ie|0&&(I=Xe-pe|0,I=Bo(7,0,I,((I|0)<0)<<31>>31)|0,q=Z()|0,T?(T=fr(I|0,q|0,5,0)|0,T=Yt(T|0,Z()|0,-5,-1)|0,T=ko(T|0,Z()|0,6,0)|0,T=Yt(T|0,Z()|0,1,0)|0,U=Z()|0):(T=I,U=q),pe=ie+-1|0,pe=fr(I|0,q|0,pe|0,((pe|0)<0)<<31>>31|0)|0,pe=Yt(T|0,U|0,pe|0,Z()|0)|0,ie=Z()|0,q=_,q=Yt(pe|0,ie|0,d[q>>2]|0,d[q+4>>2]|0)|0,ie=Z()|0,pe=_,d[pe>>2]=q,d[pe+4>>2]=ie),(Ae|0)<=(p|0)){I=37;break}}if((I|0)==19)Ut(27795,27122,1367,27158);else if((I|0)==37){M=_,y=d[M+4>>2]|0,M=d[M>>2]|0;break}else if((I|0)==42)return K=qe,y|0}else y=0,M=0}else I=33;while(!1);e:do if((I|0)==33)if(me=_,d[me>>2]=0,d[me+4>>2]=0,(Xe|0)>(p|0)){for(T=Xe;;){if(y=bt(A|0,f|0,(15-T|0)*3|0)|0,Z()|0,y=y&7,(y|0)==7){y=5;break}if(M=Xe-T|0,M=Bo(7,0,M,((M|0)<0)<<31>>31)|0,y=fr(M|0,Z()|0,y|0,0)|0,M=Z()|0,me=_,M=Yt(d[me>>2]|0,d[me+4>>2]|0,y|0,M|0)|0,y=Z()|0,me=_,d[me>>2]=M,d[me+4>>2]=y,T=T+-1|0,(T|0)<=(p|0))break e}return K=qe,y|0}else y=0,M=0;while(!1);return lf(Ce,N,Xe,Be)|0&&Ut(27795,27122,1327,27173),Xe=Be,Be=d[Xe+4>>2]|0,((y|0)>-1|(y|0)==-1&M>>>0>4294967295)&((Be|0)>(y|0)|((Be|0)==(y|0)?(d[Xe>>2]|0)>>>0>M>>>0:0))?(Xe=0,K=qe,Xe|0):(Ut(27795,27122,1407,27158),0)}function S1(A,f,p,_,y,T){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0,T=T|0;var M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0;if(ie=K,K=K+16|0,M=ie,y>>>0>15)return T=4,K=ie,T|0;if(N=bt(p|0,_|0,52)|0,Z()|0,N=N&15,(N|0)>(y|0))return T=12,K=ie,T|0;if(lf(p,_,y,M)|0&&Ut(27795,27122,1327,27173),q=M,I=d[q+4>>2]|0,!(((f|0)>-1|(f|0)==-1&A>>>0>4294967295)&((I|0)>(f|0)|((I|0)==(f|0)?(d[q>>2]|0)>>>0>A>>>0:0))))return T=2,K=ie,T|0;q=y-N|0,y=Nt(y|0,0,52)|0,U=Z()|0|_&-15728641,I=T,d[I>>2]=y|p,d[I+4>>2]=U,I=bt(p|0,_|0,45)|0,Z()|0;e:do if(Bi(I&127)|0){if(N|0)for(M=1;;){if(I=Nt(7,0,(15-M|0)*3|0)|0,!((I&p|0)==0&((Z()|0)&_|0)==0))break e;if(M>>>0>>0)M=M+1|0;else break}if((q|0)<1)return T=0,K=ie,T|0;for(I=N^15,_=-1,U=1,M=1;;){N=q-U|0,N=Bo(7,0,N,((N|0)<0)<<31>>31)|0,p=Z()|0;do if(M)if(M=fr(N|0,p|0,5,0)|0,M=Yt(M|0,Z()|0,-5,-1)|0,M=ko(M|0,Z()|0,6,0)|0,y=Z()|0,(f|0)>(y|0)|(f|0)==(y|0)&A>>>0>M>>>0){f=Yt(A|0,f|0,-1,-1)|0,f=Ur(f|0,Z()|0,M|0,y|0)|0,M=Z()|0,pe=T,me=d[pe>>2]|0,pe=d[pe+4>>2]|0,Ce=(I+_|0)*3|0,Ae=Nt(7,0,Ce|0)|0,pe=pe&~(Z()|0),_=ko(f|0,M|0,N|0,p|0)|0,A=Z()|0,y=Yt(_|0,A|0,2,0)|0,Ce=Nt(y|0,Z()|0,Ce|0)|0,pe=Z()|0|pe,y=T,d[y>>2]=Ce|me&~Ae,d[y+4>>2]=pe,A=fr(_|0,A|0,N|0,p|0)|0,A=Ur(f|0,M|0,A|0,Z()|0)|0,M=0,f=Z()|0;break}else{Ce=T,Ae=d[Ce>>2]|0,Ce=d[Ce+4>>2]|0,me=Nt(7,0,(I+_|0)*3|0)|0,Ce=Ce&~(Z()|0),M=T,d[M>>2]=Ae&~me,d[M+4>>2]=Ce,M=1;break}else Ae=T,y=d[Ae>>2]|0,Ae=d[Ae+4>>2]|0,_=(I+_|0)*3|0,pe=Nt(7,0,_|0)|0,Ae=Ae&~(Z()|0),Ce=ko(A|0,f|0,N|0,p|0)|0,M=Z()|0,_=Nt(Ce|0,M|0,_|0)|0,Ae=Z()|0|Ae,me=T,d[me>>2]=_|y&~pe,d[me+4>>2]=Ae,M=fr(Ce|0,M|0,N|0,p|0)|0,A=Ur(A|0,f|0,M|0,Z()|0)|0,M=0,f=Z()|0;while(!1);if((q|0)>(U|0))_=~U,U=U+1|0;else{f=0;break}}return K=ie,f|0}while(!1);if((q|0)<1)return Ce=0,K=ie,Ce|0;for(y=N^15,M=1;;)if(me=q-M|0,me=Bo(7,0,me,((me|0)<0)<<31>>31)|0,Ce=Z()|0,U=T,p=d[U>>2]|0,U=d[U+4>>2]|0,N=(y-M|0)*3|0,_=Nt(7,0,N|0)|0,U=U&~(Z()|0),pe=ko(A|0,f|0,me|0,Ce|0)|0,Ae=Z()|0,N=Nt(pe|0,Ae|0,N|0)|0,U=Z()|0|U,I=T,d[I>>2]=N|p&~_,d[I+4>>2]=U,Ce=fr(pe|0,Ae|0,me|0,Ce|0)|0,A=Ur(A|0,f|0,Ce|0,Z()|0)|0,f=Z()|0,(q|0)<=(M|0)){f=0;break}else M=M+1|0;return K=ie,f|0}function sl(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0;y=bt(f|0,p|0,52)|0,Z()|0,y=y&15,(f|0)==0&(p|0)==0|((_|0)>15|(y|0)>(_|0))?(T=-1,f=-1,p=0,y=0):(f=lp(f,p,y+1|0,_)|0,M=(Z()|0)&-15728641,p=Nt(_|0,0,52)|0,p=f|p,M=M|(Z()|0),f=(Ci(p,M)|0)==0,T=y,f=f?-1:_,y=M),M=A,d[M>>2]=p,d[M+4>>2]=y,d[A+8>>2]=T,d[A+12>>2]=f}function Vu(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0;if(y=bt(A|0,f|0,52)|0,Z()|0,y=y&15,T=_+8|0,d[T>>2]=y,(A|0)==0&(f|0)==0|((p|0)>15|(y|0)>(p|0))){p=_,d[p>>2]=0,d[p+4>>2]=0,d[T>>2]=-1,d[_+12>>2]=-1;return}if(A=lp(A,f,y+1|0,p)|0,T=(Z()|0)&-15728641,y=Nt(p|0,0,52)|0,y=A|y,T=T|(Z()|0),A=_,d[A>>2]=y,d[A+4>>2]=T,A=_+12|0,Ci(y,T)|0){d[A>>2]=p;return}else{d[A>>2]=-1;return}}function uf(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0;if(p=A,f=d[p>>2]|0,p=d[p+4>>2]|0,!((f|0)==0&(p|0)==0)&&(_=bt(f|0,p|0,52)|0,Z()|0,_=_&15,N=Nt(1,0,(_^15)*3|0)|0,f=Yt(N|0,Z()|0,f|0,p|0)|0,p=Z()|0,N=A,d[N>>2]=f,d[N+4>>2]=p,N=A+8|0,M=d[N>>2]|0,!((_|0)<(M|0)))){for(U=A+12|0,T=_;;){if((T|0)==(M|0)){_=5;break}if(I=(T|0)==(d[U>>2]|0),y=(15-T|0)*3|0,_=bt(f|0,p|0,y|0)|0,Z()|0,_=_&7,I&((_|0)==1&!0)){_=7;break}if(!((_|0)==7&!0)){_=10;break}if(I=Nt(1,0,y|0)|0,f=Yt(f|0,p|0,I|0,Z()|0)|0,p=Z()|0,I=A,d[I>>2]=f,d[I+4>>2]=p,(T|0)>(M|0))T=T+-1|0;else{_=10;break}}if((_|0)==5){I=A,d[I>>2]=0,d[I+4>>2]=0,d[N>>2]=-1,d[U>>2]=-1;return}else if((_|0)==7){M=Nt(1,0,y|0)|0,M=Yt(f|0,p|0,M|0,Z()|0)|0,N=Z()|0,I=A,d[I>>2]=M,d[I+4>>2]=N,d[U>>2]=T+-1;return}else if((_|0)==10)return}}function Kc(A){A=+A;var f=0;return f=A<0?A+6.283185307179586:A,+(A>=6.283185307179586?f+-6.283185307179586:f)}function Ea(A,f){return A=A|0,f=f|0,+un(+(+J[A>>3]-+J[f>>3]))<17453292519943298e-27?(f=+un(+(+J[A+8>>3]-+J[f+8>>3]))<17453292519943298e-27,f|0):(f=0,f|0)}function Xs(A,f){switch(A=+A,f=f|0,f|0){case 1:{A=A<0?A+6.283185307179586:A;break}case 2:{A=A>0?A+-6.283185307179586:A;break}}return+A}function T1(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0;return y=+J[f>>3],_=+J[A>>3],T=+Fn(+((y-_)*.5)),p=+Fn(+((+J[f+8>>3]-+J[A+8>>3])*.5)),p=T*T+p*(+li(+y)*+li(+_)*p),+(+Oe(+ +qn(+p),+ +qn(+(1-p)))*2)}function Zc(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0;return y=+J[f>>3],_=+J[A>>3],T=+Fn(+((y-_)*.5)),p=+Fn(+((+J[f+8>>3]-+J[A+8>>3])*.5)),p=T*T+p*(+li(+y)*+li(+_)*p),+(+Oe(+ +qn(+p),+ +qn(+(1-p)))*2*6371.007180918475)}function Mx(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0;return y=+J[f>>3],_=+J[A>>3],T=+Fn(+((y-_)*.5)),p=+Fn(+((+J[f+8>>3]-+J[A+8>>3])*.5)),p=T*T+p*(+li(+y)*+li(+_)*p),+(+Oe(+ +qn(+p),+ +qn(+(1-p)))*2*6371.007180918475*1e3)}function Ex(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0;return T=+J[f>>3],_=+li(+T),y=+J[f+8>>3]-+J[A+8>>3],M=_*+Fn(+y),p=+J[A>>3],+ +Oe(+M,+(+Fn(+T)*+li(+p)-+li(+y)*(_*+Fn(+p))))}function Cx(A,f,p,_){A=A|0,f=+f,p=+p,_=_|0;var y=0,T=0,M=0,N=0;if(p<1e-16){d[_>>2]=d[A>>2],d[_+4>>2]=d[A+4>>2],d[_+8>>2]=d[A+8>>2],d[_+12>>2]=d[A+12>>2];return}T=f<0?f+6.283185307179586:f,T=f>=6.283185307179586?T+-6.283185307179586:T;do if(T<1e-16)f=+J[A>>3]+p,J[_>>3]=f,y=_;else{if(y=+un(+(T+-3.141592653589793))<1e-16,f=+J[A>>3],y){f=f-p,J[_>>3]=f,y=_;break}if(M=+li(+p),p=+Fn(+p),f=M*+Fn(+f)+ +li(+T)*(p*+li(+f)),f=f>1?1:f,f=+Ul(+(f<-1?-1:f)),J[_>>3]=f,+un(+(f+-1.5707963267948966))<1e-16){J[_>>3]=1.5707963267948966,J[_+8>>3]=0;return}if(+un(+(f+1.5707963267948966))<1e-16){J[_>>3]=-1.5707963267948966,J[_+8>>3]=0;return}if(N=1/+li(+f),T=p*+Fn(+T)*N,p=+J[A>>3],f=N*((M-+Fn(+f)*+Fn(+p))/+li(+p)),M=T>1?1:T,f=f>1?1:f,f=+J[A+8>>3]+ +Oe(+(M<-1?-1:M),+(f<-1?-1:f)),f>3.141592653589793)do f=f+-6.283185307179586;while(f>3.141592653589793);if(f<-3.141592653589793)do f=f+6.283185307179586;while(f<-3.141592653589793);J[_+8>>3]=f;return}while(!1);if(+un(+(f+-1.5707963267948966))<1e-16){J[y>>3]=1.5707963267948966,J[_+8>>3]=0;return}if(+un(+(f+1.5707963267948966))<1e-16){J[y>>3]=-1.5707963267948966,J[_+8>>3]=0;return}if(f=+J[A+8>>3],f>3.141592653589793)do f=f+-6.283185307179586;while(f>3.141592653589793);if(f<-3.141592653589793)do f=f+6.283185307179586;while(f<-3.141592653589793);J[_+8>>3]=f}function dp(A,f){return A=A|0,f=f|0,A>>>0>15?(f=4,f|0):(J[f>>3]=+J[20656+(A<<3)>>3],f=0,f|0)}function w1(A,f){return A=A|0,f=f|0,A>>>0>15?(f=4,f|0):(J[f>>3]=+J[20784+(A<<3)>>3],f=0,f|0)}function pp(A,f){return A=A|0,f=f|0,A>>>0>15?(f=4,f|0):(J[f>>3]=+J[20912+(A<<3)>>3],f=0,f|0)}function oo(A,f){return A=A|0,f=f|0,A>>>0>15?(f=4,f|0):(J[f>>3]=+J[21040+(A<<3)>>3],f=0,f|0)}function Hu(A,f){A=A|0,f=f|0;var p=0;return A>>>0>15?(f=4,f|0):(p=Bo(7,0,A,((A|0)<0)<<31>>31)|0,p=fr(p|0,Z()|0,120,0)|0,A=Z()|0,d[f>>2]=p|2,d[f+4>>2]=A,f=0,f|0)}function da(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0;return pe=+J[f>>3],q=+J[A>>3],U=+Fn(+((pe-q)*.5)),T=+J[f+8>>3],I=+J[A+8>>3],M=+Fn(+((T-I)*.5)),N=+li(+q),ie=+li(+pe),M=U*U+M*(ie*N*M),M=+Oe(+ +qn(+M),+ +qn(+(1-M)))*2,U=+J[p>>3],pe=+Fn(+((U-pe)*.5)),_=+J[p+8>>3],T=+Fn(+((_-T)*.5)),y=+li(+U),T=pe*pe+T*(ie*y*T),T=+Oe(+ +qn(+T),+ +qn(+(1-T)))*2,U=+Fn(+((q-U)*.5)),_=+Fn(+((I-_)*.5)),_=U*U+_*(N*y*_),_=+Oe(+ +qn(+_),+ +qn(+(1-_)))*2,y=(M+T+_)*.5,+(+ae(+ +qn(+(+cs(+(y*.5))*+cs(+((y-M)*.5))*+cs(+((y-T)*.5))*+cs(+((y-_)*.5)))))*4)}function Fl(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0;if(N=K,K=K+192|0,T=N+168|0,M=N,y=Ol(A,f,T)|0,y|0)return p=y,K=N,p|0;if(Il(A,f,M)|0&&Ut(27795,27190,415,27199),f=d[M>>2]|0,(f|0)>0){if(_=+da(M+8|0,M+8+(((f|0)!=1&1)<<4)|0,T)+0,(f|0)!=1){A=1;do y=A,A=A+1|0,_=_+ +da(M+8+(y<<4)|0,M+8+(((A|0)%(f|0)|0)<<4)|0,T);while((A|0)<(f|0))}}else _=0;return J[p>>3]=_,p=0,K=N,p|0}function mp(A,f,p){return A=A|0,f=f|0,p=p|0,A=Fl(A,f,p)|0,A|0||(J[p>>3]=+J[p>>3]*6371.007180918475*6371.007180918475),A|0}function UA(A,f,p){return A=A|0,f=f|0,p=p|0,A=Fl(A,f,p)|0,A|0||(J[p>>3]=+J[p>>3]*6371.007180918475*6371.007180918475*1e3*1e3),A|0}function BA(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0;if(N=K,K=K+176|0,M=N,A=CA(A,f,M)|0,A|0)return M=A,K=N,M|0;if(J[p>>3]=0,A=d[M>>2]|0,(A|0)<=1)return M=0,K=N,M|0;f=A+-1|0,A=0,_=+J[M+8>>3],y=+J[M+16>>3],T=0;do A=A+1|0,I=_,_=+J[M+8+(A<<4)>>3],q=+Fn(+((_-I)*.5)),U=y,y=+J[M+8+(A<<4)+8>>3],U=+Fn(+((y-U)*.5)),U=q*q+U*(+li(+_)*+li(+I)*U),T=T+ +Oe(+ +qn(+U),+ +qn(+(1-U)))*2;while((A|0)<(f|0));return J[p>>3]=T,M=0,K=N,M|0}function gp(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0;if(N=K,K=K+176|0,M=N,A=CA(A,f,M)|0,A|0)return M=A,T=+J[p>>3],T=T*6371.007180918475,J[p>>3]=T,K=N,M|0;if(J[p>>3]=0,A=d[M>>2]|0,(A|0)<=1)return M=0,T=0,T=T*6371.007180918475,J[p>>3]=T,K=N,M|0;f=A+-1|0,A=0,_=+J[M+8>>3],y=+J[M+16>>3],T=0;do A=A+1|0,I=_,_=+J[M+8+(A<<4)>>3],q=+Fn(+((_-I)*.5)),U=y,y=+J[M+8+(A<<4)+8>>3],U=+Fn(+((y-U)*.5)),U=q*q+U*(+li(+I)*+li(+_)*U),T=T+ +Oe(+ +qn(+U),+ +qn(+(1-U)))*2;while((A|0)!=(f|0));return J[p>>3]=T,M=0,q=T,q=q*6371.007180918475,J[p>>3]=q,K=N,M|0}function ju(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0;if(N=K,K=K+176|0,M=N,A=CA(A,f,M)|0,A|0)return M=A,T=+J[p>>3],T=T*6371.007180918475,T=T*1e3,J[p>>3]=T,K=N,M|0;if(J[p>>3]=0,A=d[M>>2]|0,(A|0)<=1)return M=0,T=0,T=T*6371.007180918475,T=T*1e3,J[p>>3]=T,K=N,M|0;f=A+-1|0,A=0,_=+J[M+8>>3],y=+J[M+16>>3],T=0;do A=A+1|0,I=_,_=+J[M+8+(A<<4)>>3],q=+Fn(+((_-I)*.5)),U=y,y=+J[M+8+(A<<4)+8>>3],U=+Fn(+((y-U)*.5)),U=q*q+U*(+li(+I)*+li(+_)*U),T=T+ +Oe(+ +qn(+U),+ +qn(+(1-U)))*2;while((A|0)!=(f|0));return J[p>>3]=T,M=0,q=T,q=q*6371.007180918475,q=q*1e3,J[p>>3]=q,K=N,M|0}function M1(A){A=A|0;var f=0,p=0,_=0;return f=Ks(1,12)|0,f||Ut(27280,27235,49,27293),p=A+4|0,_=d[p>>2]|0,_|0?(_=_+8|0,d[_>>2]=f,d[p>>2]=f,f|0):(d[A>>2]|0&&Ut(27310,27235,61,27333),_=A,d[_>>2]=f,d[p>>2]=f,f|0)}function OA(A,f){A=A|0,f=f|0;var p=0,_=0;return _=Fo(24)|0,_||Ut(27347,27235,78,27361),d[_>>2]=d[f>>2],d[_+4>>2]=d[f+4>>2],d[_+8>>2]=d[f+8>>2],d[_+12>>2]=d[f+12>>2],d[_+16>>2]=0,f=A+4|0,p=d[f>>2]|0,p|0?(d[p+16>>2]=_,d[f>>2]=_,_|0):(d[A>>2]|0&&Ut(27376,27235,82,27361),d[A>>2]=_,d[f>>2]=_,_|0)}function Wu(A){A=A|0;var f=0,p=0,_=0,y=0;if(A)for(_=1;;){if(f=d[A>>2]|0,f|0)do{if(p=d[f>>2]|0,p|0)do y=p,p=d[p+16>>2]|0,An(y);while((p|0)!=0);y=f,f=d[f+8>>2]|0,An(y)}while((f|0)!=0);if(f=A,A=d[A+8>>2]|0,_||An(f),A)_=0;else break}}function Rx(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0,Re=0,Pt=0,rn=0,en=0,Un=0,En=0,Qn=0,Tn=0,on=0,Lt=0,vn=0,ii=0,wn=0;if(y=A+8|0,d[y>>2]|0)return wn=1,wn|0;if(_=d[A>>2]|0,!_)return wn=0,wn|0;f=_,p=0;do p=p+1|0,f=d[f+8>>2]|0;while((f|0)!=0);if(p>>>0<2)return wn=0,wn|0;vn=Fo(p<<2)|0,vn||Ut(27396,27235,317,27415),Lt=Fo(p<<5)|0,Lt||Ut(27437,27235,321,27415),d[A>>2]=0,rn=A+4|0,d[rn>>2]=0,d[y>>2]=0,p=0,on=0,Pt=0,ie=0;e:for(;;){if(q=d[_>>2]|0,q){T=0,M=q;do{if(U=+J[M+8>>3],f=M,M=d[M+16>>2]|0,I=(M|0)==0,y=I?q:M,N=+J[y+8>>3],+un(+(U-N))>3.141592653589793){wn=14;break}T=T+(N-U)*(+J[f>>3]+ +J[y>>3])}while(!I);if((wn|0)==14){wn=0,T=0,f=q;do Re=+J[f+8>>3],Tn=f+16|0,Qn=d[Tn>>2]|0,Qn=(Qn|0)==0?q:Qn,ke=+J[Qn+8>>3],T=T+(+J[f>>3]+ +J[Qn>>3])*((ke<0?ke+6.283185307179586:ke)-(Re<0?Re+6.283185307179586:Re)),f=d[((f|0)==0?_:Tn)>>2]|0;while((f|0)!=0)}T>0?(d[vn+(on<<2)>>2]=_,on=on+1|0,y=Pt,f=ie):wn=19}else wn=19;if((wn|0)==19){wn=0;do if(p){if(f=p+8|0,d[f>>2]|0){wn=21;break e}if(p=Ks(1,12)|0,!p){wn=23;break e}d[f>>2]=p,y=p+4|0,M=p,f=ie}else if(ie){y=rn,M=ie+8|0,f=_,p=A;break}else if(d[A>>2]|0){wn=27;break e}else{y=rn,M=A,f=_,p=A;break}while(!1);if(d[M>>2]=_,d[y>>2]=_,M=Lt+(Pt<<5)|0,I=d[_>>2]|0,I){for(q=Lt+(Pt<<5)+8|0,J[q>>3]=17976931348623157e292,ie=Lt+(Pt<<5)+24|0,J[ie>>3]=17976931348623157e292,J[M>>3]=-17976931348623157e292,pe=Lt+(Pt<<5)+16|0,J[pe>>3]=-17976931348623157e292,Xe=17976931348623157e292,qe=-17976931348623157e292,y=0,Ae=I,U=17976931348623157e292,Ce=17976931348623157e292,Be=-17976931348623157e292,N=-17976931348623157e292;T=+J[Ae>>3],Re=+J[Ae+8>>3],Ae=d[Ae+16>>2]|0,me=(Ae|0)==0,ke=+J[(me?I:Ae)+8>>3],T>3]=T,U=T),Re>3]=Re,Ce=Re),T>Be?J[M>>3]=T:T=Be,Re>N&&(J[pe>>3]=Re,N=Re),Xe=Re>0&Reqe?Re:qe,y=y|+un(+(Re-ke))>3.141592653589793,!me;)Be=T;y&&(J[pe>>3]=qe,J[ie>>3]=Xe)}else d[M>>2]=0,d[M+4>>2]=0,d[M+8>>2]=0,d[M+12>>2]=0,d[M+16>>2]=0,d[M+20>>2]=0,d[M+24>>2]=0,d[M+28>>2]=0;y=Pt+1|0}if(Tn=_+8|0,_=d[Tn>>2]|0,d[Tn>>2]=0,_)Pt=y,ie=f;else{wn=45;break}}if((wn|0)==21)Ut(27213,27235,35,27247);else if((wn|0)==23)Ut(27267,27235,37,27247);else if((wn|0)==27)Ut(27310,27235,61,27333);else if((wn|0)==45){e:do if((on|0)>0){for(Tn=(y|0)==0,En=y<<2,Qn=(A|0)==0,Un=0,f=0;;){if(en=d[vn+(Un<<2)>>2]|0,Tn)wn=73;else{if(Pt=Fo(En)|0,!Pt){wn=50;break}if(rn=Fo(En)|0,!rn){wn=52;break}t:do if(Qn)p=0;else{for(y=0,p=0,M=A;_=Lt+(y<<5)|0,Ys(d[M>>2]|0,_,d[en>>2]|0)|0?(d[Pt+(p<<2)>>2]=M,d[rn+(p<<2)>>2]=_,me=p+1|0):me=p,M=d[M+8>>2]|0,M;)y=y+1|0,p=me;if((me|0)>0)if(_=d[Pt>>2]|0,(me|0)==1)p=_;else for(pe=0,Ae=-1,p=_,ie=_;;){for(I=d[ie>>2]|0,_=0,M=0;y=d[d[Pt+(M<<2)>>2]>>2]|0,(y|0)==(I|0)?q=_:q=_+((Ys(y,d[rn+(M<<2)>>2]|0,d[I>>2]|0)|0)&1)|0,M=M+1|0,(M|0)!=(me|0);)_=q;if(y=(q|0)>(Ae|0),p=y?ie:p,_=pe+1|0,(_|0)==(me|0))break t;pe=_,Ae=y?q:Ae,ie=d[Pt+(_<<2)>>2]|0}else p=0}while(!1);if(An(Pt),An(rn),p){if(y=p+4|0,_=d[y>>2]|0,_)p=_+8|0;else if(d[p>>2]|0){wn=70;break}d[p>>2]=en,d[y>>2]=en}else wn=73}if((wn|0)==73){if(wn=0,f=d[en>>2]|0,f|0)do rn=f,f=d[f+16>>2]|0,An(rn);while((f|0)!=0);An(en),f=1}if(Un=Un+1|0,(Un|0)>=(on|0)){ii=f;break e}}(wn|0)==50?Ut(27452,27235,249,27471):(wn|0)==52?Ut(27490,27235,252,27471):(wn|0)==70&&Ut(27310,27235,61,27333)}else ii=0;while(!1);return An(vn),An(Lt),wn=ii,wn|0}return 0}function Ys(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0;if(!(Lo(f,p)|0)||(f=TA(f)|0,_=+J[p>>3],y=+J[p+8>>3],y=f&y<0?y+6.283185307179586:y,A=d[A>>2]|0,!A))return A=0,A|0;if(f){f=0,I=y,p=A;e:for(;;){for(;M=+J[p>>3],y=+J[p+8>>3],p=p+16|0,q=d[p>>2]|0,q=(q|0)==0?A:q,T=+J[q>>3],N=+J[q+8>>3],M>T?(U=M,M=N):(U=T,T=M,M=y,y=N),_=_==T|_==U?_+2220446049250313e-31:_,!!(_U);)if(p=d[p>>2]|0,!p){p=22;break e}if(N=M<0?M+6.283185307179586:M,M=y<0?y+6.283185307179586:y,I=N==I|M==I?I+-2220446049250313e-31:I,U=N+(M-N)*((_-T)/(U-T)),(U<0?U+6.283185307179586:U)>I&&(f=f^1),p=d[p>>2]|0,!p){p=22;break}}if((p|0)==22)return f|0}else{f=0,I=y,p=A;e:for(;;){for(;M=+J[p>>3],y=+J[p+8>>3],p=p+16|0,q=d[p>>2]|0,q=(q|0)==0?A:q,T=+J[q>>3],N=+J[q+8>>3],M>T?(U=M,M=N):(U=T,T=M,M=y,y=N),_=_==T|_==U?_+2220446049250313e-31:_,!!(_U);)if(p=d[p>>2]|0,!p){p=22;break e}if(I=M==I|y==I?I+-2220446049250313e-31:I,M+(y-M)*((_-T)/(U-T))>I&&(f=f^1),p=d[p>>2]|0,!p){p=22;break}}if((p|0)==22)return f|0}return 0}function lo(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0;if(qe=K,K=K+32|0,Xe=qe+16|0,Be=qe,T=bt(A|0,f|0,52)|0,Z()|0,T=T&15,Ae=bt(p|0,_|0,52)|0,Z()|0,(T|0)!=(Ae&15|0))return Xe=12,K=qe,Xe|0;if(I=bt(A|0,f|0,45)|0,Z()|0,I=I&127,q=bt(p|0,_|0,45)|0,Z()|0,q=q&127,I>>>0>121|q>>>0>121)return Xe=5,K=qe,Xe|0;if(Ae=(I|0)!=(q|0),Ae){if(N=Jh(I,q)|0,(N|0)==7)return Xe=1,K=qe,Xe|0;U=Jh(q,I)|0,(U|0)==7?Ut(27514,27538,161,27548):(me=N,M=U)}else me=0,M=0;ie=Bi(I)|0,pe=Bi(q)|0,d[Xe>>2]=0,d[Xe+4>>2]=0,d[Xe+8>>2]=0,d[Xe+12>>2]=0;do if(me){if(q=d[4272+(I*28|0)+(me<<2)>>2]|0,N=(q|0)>0,pe)if(N){I=0,U=p,N=_;do U=Tx(U,N)|0,N=Z()|0,M=rl(M)|0,(M|0)==1&&(M=rl(1)|0),I=I+1|0;while((I|0)!=(q|0));q=M,I=U,U=N}else q=M,I=p,U=_;else if(N){I=0,U=p,N=_;do U=hp(U,N)|0,N=Z()|0,M=rl(M)|0,I=I+1|0;while((I|0)!=(q|0));q=M,I=U,U=N}else q=M,I=p,U=_;if(LA(I,U,Xe)|0,Ae||Ut(27563,27538,191,27548),N=(ie|0)!=0,M=(pe|0)!=0,N&M&&Ut(27590,27538,192,27548),N){if(M=$s(A,f)|0,(M|0)==7){T=5;break}if(st[22e3+(M*7|0)+me>>0]|0){T=1;break}U=d[21168+(M*28|0)+(me<<2)>>2]|0,I=U}else if(M){if(M=$s(I,U)|0,(M|0)==7){T=5;break}if(st[22e3+(M*7|0)+q>>0]|0){T=1;break}I=0,U=d[21168+(q*28|0)+(M<<2)>>2]|0}else I=0,U=0;if((I|U|0)<0)T=5;else{if((U|0)>0){N=Xe+4|0,M=0;do EA(N),M=M+1|0;while((M|0)!=(U|0))}if(d[Be>>2]=0,d[Be+4>>2]=0,d[Be+8>>2]=0,u1(Be,me),T|0)for(;Ss(T)|0?Yc(Be):Lu(Be),(T|0)>1;)T=T+-1|0;if((I|0)>0){T=0;do EA(Be),T=T+1|0;while((T|0)!=(I|0))}Ce=Xe+4|0,hs(Ce,Be,Ce),Lr(Ce),Ce=51}}else if(LA(p,_,Xe)|0,(ie|0)!=0&(pe|0)!=0)if((q|0)!=(I|0)&&Ut(27621,27538,261,27548),M=$s(A,f)|0,T=$s(p,_)|0,(M|0)==7|(T|0)==7)T=5;else if(st[22e3+(M*7|0)+T>>0]|0)T=1;else if(M=d[21168+(M*28|0)+(T<<2)>>2]|0,(M|0)>0){N=Xe+4|0,T=0;do EA(N),T=T+1|0;while((T|0)!=(M|0));Ce=51}else Ce=51;else Ce=51;while(!1);return(Ce|0)==51&&(T=Xe+4|0,d[y>>2]=d[T>>2],d[y+4>>2]=d[T+4>>2],d[y+8>>2]=d[T+8>>2],T=0),Xe=T,K=qe,Xe|0}function Uo(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0;if(Ce=K,K=K+48|0,I=Ce+36|0,M=Ce+24|0,N=Ce+12|0,U=Ce,y=bt(A|0,f|0,52)|0,Z()|0,y=y&15,pe=bt(A|0,f|0,45)|0,Z()|0,pe=pe&127,pe>>>0>121)return _=5,K=Ce,_|0;if(q=Bi(pe)|0,Nt(y|0,0,52)|0,Be=Z()|0|134225919,T=_,d[T>>2]=-1,d[T+4>>2]=Be,!y)return y=Pu(p)|0,(y|0)==7||(y=SA(pe,y)|0,(y|0)==127)?(Be=1,K=Ce,Be|0):(Ae=Nt(y|0,0,45)|0,me=Z()|0,pe=_,me=d[pe+4>>2]&-1040385|me,Be=_,d[Be>>2]=d[pe>>2]|Ae,d[Be+4>>2]=me,Be=0,K=Ce,Be|0);for(d[I>>2]=d[p>>2],d[I+4>>2]=d[p+4>>2],d[I+8>>2]=d[p+8>>2],p=y;;){if(T=p,p=p+-1|0,d[M>>2]=d[I>>2],d[M+4>>2]=d[I+4>>2],d[M+8>>2]=d[I+8>>2],Ss(T)|0){if(y=o1(I)|0,y|0){p=13;break}d[N>>2]=d[I>>2],d[N+4>>2]=d[I+4>>2],d[N+8>>2]=d[I+8>>2],Yc(N)}else{if(y=cx(I)|0,y|0){p=13;break}d[N>>2]=d[I>>2],d[N+4>>2]=d[I+4>>2],d[N+8>>2]=d[I+8>>2],Lu(N)}if(af(M,N,U),Lr(U),y=_,qe=d[y>>2]|0,y=d[y+4>>2]|0,ke=(15-T|0)*3|0,Xe=Nt(7,0,ke|0)|0,y=y&~(Z()|0),ke=Nt(Pu(U)|0,0,ke|0)|0,y=Z()|0|y,Be=_,d[Be>>2]=ke|qe&~Xe,d[Be+4>>2]=y,(T|0)<=1){p=14;break}}e:do if((p|0)!=13&&(p|0)==14)if((d[I>>2]|0)<=1&&(d[I+4>>2]|0)<=1&&(d[I+8>>2]|0)<=1){p=Pu(I)|0,y=SA(pe,p)|0,(y|0)==127?U=0:U=Bi(y)|0;t:do if(p){if(q){if(y=$s(A,f)|0,(y|0)==7){y=5;break e}if(T=d[21376+(y*28|0)+(p<<2)>>2]|0,(T|0)>0){y=p,p=0;do y=Uu(y)|0,p=p+1|0;while((p|0)!=(T|0))}else y=p;if((y|0)==1){y=9;break e}p=SA(pe,y)|0,(p|0)==127&&Ut(27648,27538,411,27678),Bi(p)|0?Ut(27693,27538,412,27678):(me=p,Ae=T,ie=y)}else me=y,Ae=0,ie=p;if(N=d[4272+(pe*28|0)+(ie<<2)>>2]|0,(N|0)<=-1&&Ut(27724,27538,419,27678),!U){if((Ae|0)<0){y=5;break e}if(Ae|0){T=_,y=0,p=d[T>>2]|0,T=d[T+4>>2]|0;do p=ku(p,T)|0,T=Z()|0,ke=_,d[ke>>2]=p,d[ke+4>>2]=T,y=y+1|0;while((y|0)<(Ae|0))}if((N|0)<=0){y=me,p=58;break}for(T=_,y=0,p=d[T>>2]|0,T=d[T+4>>2]|0;;)if(p=ku(p,T)|0,T=Z()|0,ke=_,d[ke>>2]=p,d[ke+4>>2]=T,y=y+1|0,(y|0)==(N|0)){y=me,p=58;break t}}if(M=Jh(me,pe)|0,(M|0)==7&&Ut(27514,27538,428,27678),y=_,p=d[y>>2]|0,y=d[y+4>>2]|0,(N|0)>0){T=0;do p=ku(p,y)|0,y=Z()|0,ke=_,d[ke>>2]=p,d[ke+4>>2]=y,T=T+1|0;while((T|0)!=(N|0))}if(y=$s(p,y)|0,(y|0)==7&&Ut(27795,27538,440,27678),p=Wc(me)|0,p=d[(p?21792:21584)+(M*28|0)+(y<<2)>>2]|0,(p|0)<0&&Ut(27795,27538,454,27678),!p)y=me,p=58;else{M=_,y=0,T=d[M>>2]|0,M=d[M+4>>2]|0;do T=cp(T,M)|0,M=Z()|0,ke=_,d[ke>>2]=T,d[ke+4>>2]=M,y=y+1|0;while((y|0)<(p|0));y=me,p=58}}else if((q|0)!=0&(U|0)!=0){if(p=$s(A,f)|0,T=_,T=$s(d[T>>2]|0,d[T+4>>2]|0)|0,(p|0)==7|(T|0)==7){y=5;break e}if(T=d[21376+(p*28|0)+(T<<2)>>2]|0,(T|0)<0){y=5;break e}if(!T)p=59;else{N=_,p=0,M=d[N>>2]|0,N=d[N+4>>2]|0;do M=ku(M,N)|0,N=Z()|0,ke=_,d[ke>>2]=M,d[ke+4>>2]=N,p=p+1|0;while((p|0)<(T|0));p=58}}else p=58;while(!1);if((p|0)==58&&U&&(p=59),(p|0)==59&&(ke=_,($s(d[ke>>2]|0,d[ke+4>>2]|0)|0)==1)){y=9;break}ke=_,Xe=d[ke>>2]|0,ke=d[ke+4>>2]&-1040385,qe=Nt(y|0,0,45)|0,ke=ke|(Z()|0),y=_,d[y>>2]=Xe|qe,d[y+4>>2]=ke,y=0}else y=1;while(!1);return ke=y,K=Ce,ke|0}function E1(A,f,p,_,y,T){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0,T=T|0;var M=0,N=0;return N=K,K=K+16|0,M=N,y?A=15:(A=lo(A,f,p,_,M)|0,A||(fx(M,T),A=0)),K=N,A|0}function IA(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0;return M=K,K=K+16|0,T=M,_?p=15:(p=rp(p,T)|0,p||(p=Uo(A,f,T,y)|0)),K=M,p|0}function $u(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0;return U=K,K=K+32|0,M=U+12|0,N=U,T=lo(A,f,A,f,M)|0,T|0?(N=T,K=U,N|0):(A=lo(A,f,p,_,N)|0,A|0?(N=A,K=U,N|0):(M=ip(M,N)|0,N=y,d[N>>2]=M,d[N+4>>2]=((M|0)<0)<<31>>31,N=0,K=U,N|0))}function vp(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0;return U=K,K=K+32|0,M=U+12|0,N=U,T=lo(A,f,A,f,M)|0,!T&&(T=lo(A,f,p,_,N)|0,!T)?(_=ip(M,N)|0,_=Yt(_|0,((_|0)<0)<<31>>31|0,1,0)|0,M=Z()|0,N=y,d[N>>2]=_,d[N+4>>2]=M,N=0,K=U,N|0):(N=T,K=U,N|0)}function C1(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0,Re=0,Pt=0,rn=0,en=0,Un=0;if(en=K,K=K+48|0,Pt=en+24|0,M=en+12|0,rn=en,T=lo(A,f,A,f,Pt)|0,!T&&(T=lo(A,f,p,_,M)|0,!T)){ke=ip(Pt,M)|0,Re=((ke|0)<0)<<31>>31,d[Pt>>2]=0,d[Pt+4>>2]=0,d[Pt+8>>2]=0,d[M>>2]=0,d[M+4>>2]=0,d[M+8>>2]=0,lo(A,f,A,f,Pt)|0&&Ut(27795,27538,692,27747),lo(A,f,p,_,M)|0&&Ut(27795,27538,697,27747),A1(Pt),A1(M),q=(ke|0)==0?0:1/+(ke|0),p=d[Pt>>2]|0,Ce=q*+((d[M>>2]|0)-p|0),Be=Pt+4|0,_=d[Be>>2]|0,Xe=q*+((d[M+4>>2]|0)-_|0),qe=Pt+8|0,T=d[qe>>2]|0,q=q*+((d[M+8>>2]|0)-T|0),d[rn>>2]=p,ie=rn+4|0,d[ie>>2]=_,pe=rn+8|0,d[pe>>2]=T;e:do if((ke|0)<0)T=0;else for(Ae=0,me=0;;){U=+(me>>>0)+4294967296*+(Ae|0),Un=Ce*U+ +(p|0),N=Xe*U+ +(_|0),U=q*U+ +(T|0),p=~~+hl(+Un),M=~~+hl(+N),T=~~+hl(+U),Un=+un(+(+(p|0)-Un)),N=+un(+(+(M|0)-N)),U=+un(+(+(T|0)-U));do if(Un>N&Un>U)p=0-(M+T)|0,_=M;else if(I=0-p|0,N>U){_=I-T|0;break}else{_=M,T=I-M|0;break}while(!1);if(d[rn>>2]=p,d[ie>>2]=_,d[pe>>2]=T,Ax(rn),T=Uo(A,f,rn,y+(me<<3)|0)|0,T|0)break e;if(!((Ae|0)<(Re|0)|(Ae|0)==(Re|0)&me>>>0>>0)){T=0;break e}p=Yt(me|0,Ae|0,1,0)|0,_=Z()|0,Ae=_,me=p,p=d[Pt>>2]|0,_=d[Be>>2]|0,T=d[qe>>2]|0}while(!1);return rn=T,K=en,rn|0}return rn=T,K=en,rn|0}function Bo(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0;if((p|0)==0&(_|0)==0)return y=0,T=1,ht(y|0),T|0;T=A,y=f,A=1,f=0;do M=(p&1|0)==0&!0,A=fr((M?1:T)|0,(M?0:y)|0,A|0,f|0)|0,f=Z()|0,p=N1(p|0,_|0,1)|0,_=Z()|0,T=fr(T|0,y|0,T|0,y|0)|0,y=Z()|0;while(!((p|0)==0&(_|0)==0));return ht(f|0),A|0}function FA(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0;N=K,K=K+16|0,T=N,M=bt(A|0,f|0,52)|0,Z()|0,M=M&15;do if(M){if(y=Ol(A,f,T)|0,!y){I=+J[T>>3],U=1/+li(+I),q=+J[25968+(M<<3)>>3],J[p>>3]=I+q,J[p+8>>3]=I-q,I=+J[T+8>>3],U=q*U,J[p+16>>3]=U+I,J[p+24>>3]=I-U;break}return M=y,K=N,M|0}else{if(y=bt(A|0,f|0,45)|0,Z()|0,y=y&127,y>>>0>121)return M=5,K=N,M|0;T=22064+(y<<5)|0,d[p>>2]=d[T>>2],d[p+4>>2]=d[T+4>>2],d[p+8>>2]=d[T+8>>2],d[p+12>>2]=d[T+12>>2],d[p+16>>2]=d[T+16>>2],d[p+20>>2]=d[T+20>>2],d[p+24>>2]=d[T+24>>2],d[p+28>>2]=d[T+28>>2];break}while(!1);return Ws(p,_?1.4:1.1),_=26096+(M<<3)|0,(d[_>>2]|0)==(A|0)&&(d[_+4>>2]|0)==(f|0)&&(J[p>>3]=1.5707963267948966),M=26224+(M<<3)|0,(d[M>>2]|0)==(A|0)&&(d[M+4>>2]|0)==(f|0)&&(J[p+8>>3]=-1.5707963267948966),+J[p>>3]!=1.5707963267948966&&+J[p+8>>3]!=-1.5707963267948966?(M=0,K=N,M|0):(J[p+16>>3]=3.141592653589793,J[p+24>>3]=-3.141592653589793,M=0,K=N,M|0)}function Ca(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0;I=K,K=K+48|0,M=I+32|0,T=I+40|0,N=I,Iu(M,0,0,0),U=d[M>>2]|0,M=d[M+4>>2]|0;do if(p>>>0<=15){if(y=Ra(_)|0,y|0){_=N,d[_>>2]=0,d[_+4>>2]=0,d[N+8>>2]=y,d[N+12>>2]=-1,_=N+16|0,U=N+29|0,d[_>>2]=0,d[_+4>>2]=0,d[_+8>>2]=0,st[_+12>>0]=0,st[U>>0]=st[T>>0]|0,st[U+1>>0]=st[T+1>>0]|0,st[U+2>>0]=st[T+2>>0]|0;break}if(y=Ks((d[f+8>>2]|0)+1|0,32)|0,y){Na(f,y),q=N,d[q>>2]=U,d[q+4>>2]=M,d[N+8>>2]=0,d[N+12>>2]=p,d[N+16>>2]=_,d[N+20>>2]=f,d[N+24>>2]=y,st[N+28>>0]=0,U=N+29|0,st[U>>0]=st[T>>0]|0,st[U+1>>0]=st[T+1>>0]|0,st[U+2>>0]=st[T+2>>0]|0;break}else{_=N,d[_>>2]=0,d[_+4>>2]=0,d[N+8>>2]=13,d[N+12>>2]=-1,_=N+16|0,U=N+29|0,d[_>>2]=0,d[_+4>>2]=0,d[_+8>>2]=0,st[_+12>>0]=0,st[U>>0]=st[T>>0]|0,st[U+1>>0]=st[T+1>>0]|0,st[U+2>>0]=st[T+2>>0]|0;break}}else U=N,d[U>>2]=0,d[U+4>>2]=0,d[N+8>>2]=4,d[N+12>>2]=-1,U=N+16|0,q=N+29|0,d[U>>2]=0,d[U+4>>2]=0,d[U+8>>2]=0,st[U+12>>0]=0,st[q>>0]=st[T>>0]|0,st[q+1>>0]=st[T+1>>0]|0,st[q+2>>0]=st[T+2>>0]|0;while(!1);al(N),d[A>>2]=d[N>>2],d[A+4>>2]=d[N+4>>2],d[A+8>>2]=d[N+8>>2],d[A+12>>2]=d[N+12>>2],d[A+16>>2]=d[N+16>>2],d[A+20>>2]=d[N+20>>2],d[A+24>>2]=d[N+24>>2],d[A+28>>2]=d[N+28>>2],K=I}function al(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0,Re=0;if(Re=K,K=K+336|0,Ae=Re+168|0,me=Re,_=A,p=d[_>>2]|0,_=d[_+4>>2]|0,(p|0)==0&(_|0)==0){K=Re;return}if(f=A+28|0,st[f>>0]|0?(p=Xu(p,_)|0,_=Z()|0):st[f>>0]=1,ke=A+20|0,!(d[d[ke>>2]>>2]|0)){f=A+24|0,p=d[f>>2]|0,p|0&&An(p),qe=A,d[qe>>2]=0,d[qe+4>>2]=0,d[A+8>>2]=0,d[ke>>2]=0,d[A+12>>2]=-1,d[A+16>>2]=0,d[f>>2]=0,K=Re;return}qe=A+16|0,f=d[qe>>2]|0,y=f&15;e:do if((p|0)==0&(_|0)==0)Xe=A+24|0;else{Ce=A+12|0,ie=(y|0)==3,q=f&255,U=(y|1|0)==3,pe=A+24|0,I=(y+-1|0)>>>0<3,M=(y|2|0)==3,N=me+8|0;t:for(;;){if(T=bt(p|0,_|0,52)|0,Z()|0,T=T&15,(T|0)==(d[Ce>>2]|0)){switch(q&15){case 0:case 2:case 3:{if(y=Ol(p,_,Ae)|0,y|0){Be=15;break t}if(Da(d[ke>>2]|0,d[pe>>2]|0,Ae)|0){Be=19;break t}break}}if(U&&(y=d[(d[ke>>2]|0)+4>>2]|0,d[Ae>>2]=d[y>>2],d[Ae+4>>2]=d[y+4>>2],d[Ae+8>>2]=d[y+8>>2],d[Ae+12>>2]=d[y+12>>2],Lo(26832,Ae)|0)){if(PA(d[(d[ke>>2]|0)+4>>2]|0,T,me)|0){Be=25;break}if(y=me,(d[y>>2]|0)==(p|0)&&(d[y+4>>2]|0)==(_|0)){Be=29;break}}if(I){if(y=Il(p,_,Ae)|0,y|0){Be=32;break}if(FA(p,_,me,0)|0){Be=36;break}if(M&&Oo(d[ke>>2]|0,d[pe>>2]|0,Ae,me)|0){Be=42;break}if(U&&zA(d[ke>>2]|0,d[pe>>2]|0,Ae,me)|0){Be=42;break}}if(ie){if(f=FA(p,_,Ae,1)|0,y=d[pe>>2]|0,f|0){Be=45;break}if(nf(y,Ae)|0){if(rf(me,Ae),np(Ae,d[pe>>2]|0)|0){Be=53;break}if(Da(d[ke>>2]|0,d[pe>>2]|0,N)|0){Be=53;break}if(zA(d[ke>>2]|0,d[pe>>2]|0,me,Ae)|0){Be=53;break}}}}do if((T|0)<(d[Ce>>2]|0)){if(f=FA(p,_,Ae,1)|0,y=d[pe>>2]|0,f|0){Be=58;break t}if(!(nf(y,Ae)|0)){Be=73;break}if(np(d[pe>>2]|0,Ae)|0&&(rf(me,Ae),Oo(d[ke>>2]|0,d[pe>>2]|0,me,Ae)|0)){Be=65;break t}if(p=DA(p,_,T+1|0,me)|0,p|0){Be=67;break t}_=me,p=d[_>>2]|0,_=d[_+4>>2]|0}else Be=73;while(!1);if((Be|0)==73&&(Be=0,p=Xu(p,_)|0,_=Z()|0),(p|0)==0&(_|0)==0){Xe=pe;break e}}switch(Be|0){case 15:{f=d[pe>>2]|0,f|0&&An(f),Be=A,d[Be>>2]=0,d[Be+4>>2]=0,d[ke>>2]=0,d[Ce>>2]=-1,d[qe>>2]=0,d[pe>>2]=0,d[A+8>>2]=y,Be=20;break}case 19:{d[A>>2]=p,d[A+4>>2]=_,Be=20;break}case 25:{Ut(27795,27761,470,27772);break}case 29:{d[A>>2]=p,d[A+4>>2]=_,K=Re;return}case 32:{f=d[pe>>2]|0,f|0&&An(f),Xe=A,d[Xe>>2]=0,d[Xe+4>>2]=0,d[ke>>2]=0,d[Ce>>2]=-1,d[qe>>2]=0,d[pe>>2]=0,d[A+8>>2]=y,K=Re;return}case 36:{Ut(27795,27761,493,27772);break}case 42:{d[A>>2]=p,d[A+4>>2]=_,K=Re;return}case 45:{y|0&&An(y),Be=A,d[Be>>2]=0,d[Be+4>>2]=0,d[ke>>2]=0,d[Ce>>2]=-1,d[qe>>2]=0,d[pe>>2]=0,d[A+8>>2]=f,Be=55;break}case 53:{d[A>>2]=p,d[A+4>>2]=_,Be=55;break}case 58:{y|0&&An(y),Be=A,d[Be>>2]=0,d[Be+4>>2]=0,d[ke>>2]=0,d[Ce>>2]=-1,d[qe>>2]=0,d[pe>>2]=0,d[A+8>>2]=f,Be=71;break}case 65:{d[A>>2]=p,d[A+4>>2]=_,Be=71;break}case 67:{f=d[pe>>2]|0,f|0&&An(f),Xe=A,d[Xe>>2]=0,d[Xe+4>>2]=0,d[ke>>2]=0,d[Ce>>2]=-1,d[qe>>2]=0,d[pe>>2]=0,d[A+8>>2]=p,K=Re;return}}if((Be|0)==20){K=Re;return}else if((Be|0)==55){K=Re;return}else if((Be|0)==71){K=Re;return}}while(!1);f=d[Xe>>2]|0,f|0&&An(f),Be=A,d[Be>>2]=0,d[Be+4>>2]=0,d[A+8>>2]=0,d[ke>>2]=0,d[A+12>>2]=-1,d[qe>>2]=0,d[Xe>>2]=0,K=Re}function Xu(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0;ie=K,K=K+16|0,q=ie,_=bt(A|0,f|0,52)|0,Z()|0,_=_&15,p=bt(A|0,f|0,45)|0,Z()|0;do if(_){for(;p=Nt(_+4095|0,0,52)|0,y=Z()|0|f&-15728641,T=(15-_|0)*3|0,M=Nt(7,0,T|0)|0,N=Z()|0,p=p|A|M,y=y|N,U=bt(A|0,f|0,T|0)|0,Z()|0,U=U&7,_=_+-1|0,!(U>>>0<6);)if(_)f=y,A=p;else{I=4;break}if((I|0)==4){p=bt(p|0,y|0,45)|0,Z()|0;break}return q=(U|0)==0&(Ci(p,y)|0)!=0,q=Nt((q?2:1)+U|0,0,T|0)|0,I=Z()|0|f&~N,q=q|A&~M,ht(I|0),K=ie,q|0}while(!1);return p=p&127,p>>>0>120?(I=0,q=0,ht(I|0),K=ie,q|0):(Iu(q,0,p+1|0,0),I=d[q+4>>2]|0,q=d[q>>2]|0,ht(I|0),K=ie,q|0)}function kA(A,f,p,_,y,T){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0,T=T|0;var M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0;Be=K,K=K+160|0,ie=Be+80|0,N=Be+64|0,pe=Be+112|0,Ce=Be,Ca(ie,A,f,p),I=ie,sl(N,d[I>>2]|0,d[I+4>>2]|0,f),I=N,U=d[I>>2]|0,I=d[I+4>>2]|0,M=d[ie+8>>2]|0,Ae=pe+4|0,d[Ae>>2]=d[ie>>2],d[Ae+4>>2]=d[ie+4>>2],d[Ae+8>>2]=d[ie+8>>2],d[Ae+12>>2]=d[ie+12>>2],d[Ae+16>>2]=d[ie+16>>2],d[Ae+20>>2]=d[ie+20>>2],d[Ae+24>>2]=d[ie+24>>2],d[Ae+28>>2]=d[ie+28>>2],Ae=Ce,d[Ae>>2]=U,d[Ae+4>>2]=I,Ae=Ce+8|0,d[Ae>>2]=M,A=Ce+12|0,f=pe,p=A+36|0;do d[A>>2]=d[f>>2],A=A+4|0,f=f+4|0;while((A|0)<(p|0));if(pe=Ce+48|0,d[pe>>2]=d[N>>2],d[pe+4>>2]=d[N+4>>2],d[pe+8>>2]=d[N+8>>2],d[pe+12>>2]=d[N+12>>2],(U|0)==0&(I|0)==0)return Ce=M,K=Be,Ce|0;p=Ce+16|0,q=Ce+24|0,ie=Ce+28|0,M=0,N=0,f=U,A=I;do{if(!((M|0)<(y|0)|(M|0)==(y|0)&N>>>0<_>>>0)){me=4;break}if(I=N,N=Yt(N|0,M|0,1,0)|0,M=Z()|0,I=T+(I<<3)|0,d[I>>2]=f,d[I+4>>2]=A,uf(pe),A=pe,f=d[A>>2]|0,A=d[A+4>>2]|0,(f|0)==0&(A|0)==0){if(al(p),f=p,A=d[f>>2]|0,f=d[f+4>>2]|0,(A|0)==0&(f|0)==0){me=10;break}Vu(A,f,d[ie>>2]|0,pe),A=pe,f=d[A>>2]|0,A=d[A+4>>2]|0}I=Ce,d[I>>2]=f,d[I+4>>2]=A}while(!((f|0)==0&(A|0)==0));return(me|0)==4?(A=Ce+40|0,f=d[A>>2]|0,f|0&&An(f),me=Ce+16|0,d[me>>2]=0,d[me+4>>2]=0,d[q>>2]=0,d[Ce+36>>2]=0,d[ie>>2]=-1,d[Ce+32>>2]=0,d[A>>2]=0,Vu(0,0,0,pe),d[Ce>>2]=0,d[Ce+4>>2]=0,d[Ae>>2]=0,Ce=14,K=Be,Ce|0):((me|0)==10&&(d[Ce>>2]=0,d[Ce+4>>2]=0,d[Ae>>2]=d[q>>2]),Ce=d[Ae>>2]|0,K=Be,Ce|0)}function cf(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0;if(ie=K,K=K+48|0,U=ie+32|0,N=ie+40|0,I=ie,!(d[A>>2]|0))return q=_,d[q>>2]=0,d[q+4>>2]=0,q=0,K=ie,q|0;Iu(U,0,0,0),M=U,y=d[M>>2]|0,M=d[M+4>>2]|0;do if(f>>>0>15)q=I,d[q>>2]=0,d[q+4>>2]=0,d[I+8>>2]=4,d[I+12>>2]=-1,q=I+16|0,p=I+29|0,d[q>>2]=0,d[q+4>>2]=0,d[q+8>>2]=0,st[q+12>>0]=0,st[p>>0]=st[N>>0]|0,st[p+1>>0]=st[N+1>>0]|0,st[p+2>>0]=st[N+2>>0]|0,p=4,q=9;else{if(p=Ra(p)|0,p|0){U=I,d[U>>2]=0,d[U+4>>2]=0,d[I+8>>2]=p,d[I+12>>2]=-1,U=I+16|0,q=I+29|0,d[U>>2]=0,d[U+4>>2]=0,d[U+8>>2]=0,st[U+12>>0]=0,st[q>>0]=st[N>>0]|0,st[q+1>>0]=st[N+1>>0]|0,st[q+2>>0]=st[N+2>>0]|0,q=9;break}if(p=Ks((d[A+8>>2]|0)+1|0,32)|0,!p){q=I,d[q>>2]=0,d[q+4>>2]=0,d[I+8>>2]=13,d[I+12>>2]=-1,q=I+16|0,p=I+29|0,d[q>>2]=0,d[q+4>>2]=0,d[q+8>>2]=0,st[q+12>>0]=0,st[p>>0]=st[N>>0]|0,st[p+1>>0]=st[N+1>>0]|0,st[p+2>>0]=st[N+2>>0]|0,p=13,q=9;break}Na(A,p),Ae=I,d[Ae>>2]=y,d[Ae+4>>2]=M,M=I+8|0,d[M>>2]=0,d[I+12>>2]=f,d[I+20>>2]=A,d[I+24>>2]=p,st[I+28>>0]=0,y=I+29|0,st[y>>0]=st[N>>0]|0,st[y+1>>0]=st[N+1>>0]|0,st[y+2>>0]=st[N+2>>0]|0,d[I+16>>2]=3,pe=+tf(p),pe=pe*+il(p),T=+un(+ +J[p>>3]),T=pe/+li(+ +df(+T,+ +un(+ +J[p+8>>3])))*6371.007180918475*6371.007180918475,y=I+12|0,p=d[y>>2]|0;e:do if((p|0)>0)do{if(dp(p+-1|0,U)|0,!(T/+J[U>>3]>10))break e;Ae=d[y>>2]|0,p=Ae+-1|0,d[y>>2]=p}while((Ae|0)>1);while(!1);if(al(I),y=_,d[y>>2]=0,d[y+4>>2]=0,y=I,p=d[y>>2]|0,y=d[y+4>>2]|0,!((p|0)==0&(y|0)==0))do lf(p,y,f,U)|0,N=U,A=_,N=Yt(d[A>>2]|0,d[A+4>>2]|0,d[N>>2]|0,d[N+4>>2]|0)|0,A=Z()|0,Ae=_,d[Ae>>2]=N,d[Ae+4>>2]=A,al(I),Ae=I,p=d[Ae>>2]|0,y=d[Ae+4>>2]|0;while(!((p|0)==0&(y|0)==0));p=d[M>>2]|0}while(!1);return Ae=p,K=ie,Ae|0}function Ts(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0;if(!(Lo(f,p)|0)||(f=TA(f)|0,_=+J[p>>3],y=+J[p+8>>3],y=f&y<0?y+6.283185307179586:y,pe=d[A>>2]|0,(pe|0)<=0))return pe=0,pe|0;if(ie=d[A+4>>2]|0,f){f=0,q=y,p=-1,A=0;e:for(;;){for(I=A;M=+J[ie+(I<<4)>>3],y=+J[ie+(I<<4)+8>>3],A=(p+2|0)%(pe|0)|0,T=+J[ie+(A<<4)>>3],N=+J[ie+(A<<4)+8>>3],M>T?(U=M,M=N):(U=T,T=M,M=y,y=N),_=_==T|_==U?_+2220446049250313e-31:_,!!(_U);)if(p=I+1|0,(p|0)>=(pe|0)){p=22;break e}else A=I,I=p,p=A;if(N=M<0?M+6.283185307179586:M,M=y<0?y+6.283185307179586:y,q=N==q|M==q?q+-2220446049250313e-31:q,U=N+(M-N)*((_-T)/(U-T)),(U<0?U+6.283185307179586:U)>q&&(f=f^1),A=I+1|0,(A|0)>=(pe|0)){p=22;break}else p=I}if((p|0)==22)return f|0}else{f=0,q=y,p=-1,A=0;e:for(;;){for(I=A;M=+J[ie+(I<<4)>>3],y=+J[ie+(I<<4)+8>>3],A=(p+2|0)%(pe|0)|0,T=+J[ie+(A<<4)>>3],N=+J[ie+(A<<4)+8>>3],M>T?(U=M,M=N):(U=T,T=M,M=y,y=N),_=_==T|_==U?_+2220446049250313e-31:_,!!(_U);)if(p=I+1|0,(p|0)>=(pe|0)){p=22;break e}else A=I,I=p,p=A;if(q=M==q|y==q?q+-2220446049250313e-31:q,M+(y-M)*((_-T)/(U-T))>q&&(f=f^1),A=I+1|0,(A|0)>=(pe|0)){p=22;break}else p=I}if((p|0)==22)return f|0}return 0}function pa(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0;if(me=d[A>>2]|0,!me){d[f>>2]=0,d[f+4>>2]=0,d[f+8>>2]=0,d[f+12>>2]=0,d[f+16>>2]=0,d[f+20>>2]=0,d[f+24>>2]=0,d[f+28>>2]=0;return}if(Ce=f+8|0,J[Ce>>3]=17976931348623157e292,Be=f+24|0,J[Be>>3]=17976931348623157e292,J[f>>3]=-17976931348623157e292,Xe=f+16|0,J[Xe>>3]=-17976931348623157e292,!((me|0)<=0)){for(pe=d[A+4>>2]|0,I=17976931348623157e292,q=-17976931348623157e292,ie=0,A=-1,T=17976931348623157e292,M=17976931348623157e292,U=-17976931348623157e292,_=-17976931348623157e292,Ae=0;p=+J[pe+(Ae<<4)>>3],N=+J[pe+(Ae<<4)+8>>3],A=A+2|0,y=+J[pe+(((A|0)==(me|0)?0:A)<<4)+8>>3],p>3]=p,T=p),N>3]=N,M=N),p>U?J[f>>3]=p:p=U,N>_&&(J[Xe>>3]=N,_=N),I=N>0&Nq?N:q,ie=ie|+un(+(N-y))>3.141592653589793,A=Ae+1|0,(A|0)!=(me|0);)qe=Ae,U=p,Ae=A,A=qe;ie&&(J[Xe>>3]=q,J[Be>>3]=I)}}function Ra(A){return A=A|0,(A>>>0<4?0:15)|0}function Na(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0,Re=0,Pt=0,rn=0,en=0;if(me=d[A>>2]|0,me){if(Ce=f+8|0,J[Ce>>3]=17976931348623157e292,Be=f+24|0,J[Be>>3]=17976931348623157e292,J[f>>3]=-17976931348623157e292,Xe=f+16|0,J[Xe>>3]=-17976931348623157e292,(me|0)>0){for(y=d[A+4>>2]|0,pe=17976931348623157e292,Ae=-17976931348623157e292,_=0,p=-1,U=17976931348623157e292,I=17976931348623157e292,ie=-17976931348623157e292,M=-17976931348623157e292,qe=0;T=+J[y+(qe<<4)>>3],q=+J[y+(qe<<4)+8>>3],rn=p+2|0,N=+J[y+(((rn|0)==(me|0)?0:rn)<<4)+8>>3],T>3]=T,U=T),q>3]=q,I=q),T>ie?J[f>>3]=T:T=ie,q>M&&(J[Xe>>3]=q,M=q),pe=q>0&qAe?q:Ae,_=_|+un(+(q-N))>3.141592653589793,p=qe+1|0,(p|0)!=(me|0);)rn=qe,ie=T,qe=p,p=rn;_&&(J[Xe>>3]=Ae,J[Be>>3]=pe)}}else d[f>>2]=0,d[f+4>>2]=0,d[f+8>>2]=0,d[f+12>>2]=0,d[f+16>>2]=0,d[f+20>>2]=0,d[f+24>>2]=0,d[f+28>>2]=0;if(rn=A+8|0,p=d[rn>>2]|0,!((p|0)<=0)){Pt=A+12|0,Re=0;do if(y=d[Pt>>2]|0,_=Re,Re=Re+1|0,Be=f+(Re<<5)|0,Xe=d[y+(_<<3)>>2]|0,Xe){if(qe=f+(Re<<5)+8|0,J[qe>>3]=17976931348623157e292,A=f+(Re<<5)+24|0,J[A>>3]=17976931348623157e292,J[Be>>3]=-17976931348623157e292,ke=f+(Re<<5)+16|0,J[ke>>3]=-17976931348623157e292,(Xe|0)>0){for(me=d[y+(_<<3)+4>>2]|0,pe=17976931348623157e292,Ae=-17976931348623157e292,y=0,_=-1,Ce=0,U=17976931348623157e292,I=17976931348623157e292,q=-17976931348623157e292,M=-17976931348623157e292;T=+J[me+(Ce<<4)>>3],ie=+J[me+(Ce<<4)+8>>3],_=_+2|0,N=+J[me+(((_|0)==(Xe|0)?0:_)<<4)+8>>3],T>3]=T,U=T),ie>3]=ie,I=ie),T>q?J[Be>>3]=T:T=q,ie>M&&(J[ke>>3]=ie,M=ie),pe=ie>0&ieAe?ie:Ae,y=y|+un(+(ie-N))>3.141592653589793,_=Ce+1|0,(_|0)!=(Xe|0);)en=Ce,Ce=_,q=T,_=en;y&&(J[ke>>3]=Ae,J[A>>3]=pe)}}else d[Be>>2]=0,d[Be+4>>2]=0,d[Be+8>>2]=0,d[Be+12>>2]=0,d[Be+16>>2]=0,d[Be+20>>2]=0,d[Be+24>>2]=0,d[Be+28>>2]=0,p=d[rn>>2]|0;while((Re|0)<(p|0))}}function Da(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0;if(!(Ts(A,f,p)|0))return y=0,y|0;if(y=A+8|0,(d[y>>2]|0)<=0)return y=1,y|0;for(_=A+12|0,A=0;;){if(T=A,A=A+1|0,Ts((d[_>>2]|0)+(T<<3)|0,f+(A<<5)|0,p)|0){A=0,_=6;break}if((A|0)>=(d[y>>2]|0)){A=1,_=6;break}}return(_|0)==6?A|0:0}function Oo(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0;if(I=K,K=K+16|0,N=I,M=p+8|0,!(Ts(A,f,M)|0))return U=0,K=I,U|0;U=A+8|0;e:do if((d[U>>2]|0)>0){for(T=A+12|0,y=0;;){if(q=y,y=y+1|0,Ts((d[T>>2]|0)+(q<<3)|0,f+(y<<5)|0,M)|0){y=0;break}if((y|0)>=(d[U>>2]|0))break e}return K=I,y|0}while(!1);if(hf(A,f,p,_)|0)return q=0,K=I,q|0;d[N>>2]=d[p>>2],d[N+4>>2]=M,y=d[U>>2]|0;e:do if((y|0)>0)for(A=A+12|0,M=0,T=y;;){if(y=d[A>>2]|0,(d[y+(M<<3)>>2]|0)>0){if(Ts(N,_,d[y+(M<<3)+4>>2]|0)|0){y=0;break e}if(y=M+1|0,hf((d[A>>2]|0)+(M<<3)|0,f+(y<<5)|0,p,_)|0){y=0;break e}T=d[U>>2]|0}else y=M+1|0;if((y|0)<(T|0))M=y;else{y=1;break}}else y=1;while(!1);return q=y,K=I,q|0}function hf(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0,Re=0,Pt=0,rn=0,en=0,Un=0;if(rn=K,K=K+176|0,qe=rn+172|0,y=rn+168|0,ke=rn,!(nf(f,_)|0))return A=0,K=rn,A|0;if(wA(f,_,qe,y),Gl(ke|0,p|0,168)|0,(d[p>>2]|0)>0){f=0;do en=ke+8+(f<<4)+8|0,Xe=+Xs(+J[en>>3],d[y>>2]|0),J[en>>3]=Xe,f=f+1|0;while((f|0)<(d[p>>2]|0))}Ce=+J[_>>3],Be=+J[_+8>>3],Xe=+Xs(+J[_+16>>3],d[y>>2]|0),Ae=+Xs(+J[_+24>>3],d[y>>2]|0);e:do if((d[A>>2]|0)>0){if(_=A+4|0,y=d[ke>>2]|0,(y|0)<=0){for(f=0;;)if(f=f+1|0,(f|0)>=(d[A>>2]|0)){f=0;break e}}for(p=0;;){if(f=d[_>>2]|0,pe=+J[f+(p<<4)>>3],me=+Xs(+J[f+(p<<4)+8>>3],d[qe>>2]|0),f=d[_>>2]|0,p=p+1|0,en=(p|0)%(d[A>>2]|0)|0,T=+J[f+(en<<4)>>3],M=+Xs(+J[f+(en<<4)+8>>3],d[qe>>2]|0),!(pe>=Ce)|!(T>=Ce)&&!(pe<=Be)|!(T<=Be)&&!(me<=Ae)|!(M<=Ae)&&!(me>=Xe)|!(M>=Xe)){ie=T-pe,I=M-me,f=0;do if(Un=f,f=f+1|0,en=(f|0)==(y|0)?0:f,T=+J[ke+8+(Un<<4)+8>>3],M=+J[ke+8+(en<<4)+8>>3]-T,N=+J[ke+8+(Un<<4)>>3],U=+J[ke+8+(en<<4)>>3]-N,q=ie*M-I*U,q!=0&&(Re=me-T,Pt=pe-N,U=(Re*U-M*Pt)/q,!(U<0|U>1))&&(q=(ie*Re-I*Pt)/q,q>=0&q<=1)){f=1;break e}while((f|0)<(y|0))}if((p|0)>=(d[A>>2]|0)){f=0;break}}}else f=0;while(!1);return Un=f,K=rn,Un|0}function zA(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0;if(hf(A,f,p,_)|0)return T=1,T|0;if(T=A+8|0,(d[T>>2]|0)<=0)return T=0,T|0;for(y=A+12|0,A=0;;){if(M=A,A=A+1|0,hf((d[y>>2]|0)+(M<<3)|0,f+(A<<5)|0,p,_)|0){A=1,y=6;break}if((A|0)>=(d[T>>2]|0)){A=0,y=6;break}}return(y|0)==6?A|0:0}function _p(){return 8}function R1(){return 16}function fs(){return 168}function sr(){return 8}function mi(){return 16}function kl(){return 12}function Pa(){return 8}function yp(A){return A=A|0,+(+((d[A>>2]|0)>>>0)+4294967296*+(d[A+4>>2]|0))}function zl(A){A=A|0;var f=0,p=0;return p=+J[A>>3],f=+J[A+8>>3],+ +qn(+(p*p+f*f))}function xp(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0;I=+J[A>>3],U=+J[f>>3]-I,N=+J[A+8>>3],M=+J[f+8>>3]-N,ie=+J[p>>3],T=+J[_>>3]-ie,pe=+J[p+8>>3],q=+J[_+8>>3]-pe,T=(T*(N-pe)-(I-ie)*q)/(U*q-M*T),J[y>>3]=I+U*T,J[y+8>>3]=N+M*T}function bp(A,f){return A=A|0,f=f|0,+un(+(+J[A>>3]-+J[f>>3]))<11920928955078125e-23?(f=+un(+(+J[A+8>>3]-+J[f+8>>3]))<11920928955078125e-23,f|0):(f=0,f|0)}function ar(A,f){A=A|0,f=f|0;var p=0,_=0,y=0;return y=+J[A>>3]-+J[f>>3],_=+J[A+8>>3]-+J[f+8>>3],p=+J[A+16>>3]-+J[f+16>>3],+(y*y+_*_+p*p)}function Yu(A,f){A=A|0,f=f|0;var p=0,_=0,y=0;p=+J[A>>3],_=+li(+p),p=+Fn(+p),J[f+16>>3]=p,p=+J[A+8>>3],y=_*+li(+p),J[f>>3]=y,p=_*+Fn(+p),J[f+8>>3]=p}function Sp(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0;if(T=K,K=K+16|0,y=T,_=Ci(A,f)|0,(p+-1|0)>>>0>5||(_=(_|0)!=0,(p|0)==1&_))return y=-1,K=T,y|0;do if(ol(A,f,y)|0)_=-1;else if(_){_=((d[26352+(p<<2)>>2]|0)+5-(d[y>>2]|0)|0)%5|0;break}else{_=((d[26384+(p<<2)>>2]|0)+6-(d[y>>2]|0)|0)%6|0;break}while(!1);return y=_,K=T,y|0}function ol(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0;if(q=K,K=K+32|0,N=q+16|0,U=q,_=zu(A,f,N)|0,_|0)return p=_,K=q,p|0;T=g1(A,f)|0,I=$s(A,f)|0,tp(T,U),_=$c(T,d[N>>2]|0)|0;do if(Bi(T)|0){do switch(T|0){case 4:{y=0;break}case 14:{y=1;break}case 24:{y=2;break}case 38:{y=3;break}case 49:{y=4;break}case 58:{y=5;break}case 63:{y=6;break}case 72:{y=7;break}case 83:{y=8;break}case 97:{y=9;break}case 107:{y=10;break}case 117:{y=11;break}default:Ut(27795,27797,75,27806)}while(!1);if(M=d[26416+(y*24|0)+8>>2]|0,f=d[26416+(y*24|0)+16>>2]|0,A=d[N>>2]|0,(A|0)!=(d[U>>2]|0)&&(U=Wc(T)|0,A=d[N>>2]|0,U|(A|0)==(f|0)&&(_=(_+1|0)%6|0)),(I|0)==3&(A|0)==(f|0)){_=(_+5|0)%6|0;break}(I|0)==5&(A|0)==(M|0)&&(_=(_+1|0)%6|0)}while(!1);return d[p>>2]=_,p=0,K=q,p|0}function Qs(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0;if(ke=K,K=K+32|0,qe=ke+24|0,Be=ke+20|0,me=ke+8|0,Ae=ke+16|0,pe=ke,U=(Ci(A,f)|0)==0,U=U?6:5,q=bt(A|0,f|0,52)|0,Z()|0,q=q&15,U>>>0<=p>>>0)return _=2,K=ke,_|0;ie=(q|0)==0,!ie&&(Ce=Nt(7,0,(q^15)*3|0)|0,(Ce&A|0)==0&((Z()|0)&f|0)==0)?y=p:T=4;e:do if((T|0)==4){if(y=(Ci(A,f)|0)!=0,((y?4:5)|0)<(p|0)||ol(A,f,qe)|0||(T=(d[qe>>2]|0)+p|0,y?y=26704+(((T|0)%5|0)<<2)|0:y=26736+(((T|0)%6|0)<<2)|0,Ce=d[y>>2]|0,(Ce|0)==7))return _=1,K=ke,_|0;d[Be>>2]=0,y=cn(A,f,Ce,Be,me)|0;do if(!y){if(N=me,I=d[N>>2]|0,N=d[N+4>>2]|0,M=N>>>0>>0|(N|0)==(f|0)&I>>>0>>0,T=M?I:A,M=M?N:f,!ie&&(ie=Nt(7,0,(q^15)*3|0)|0,(I&ie|0)==0&(N&(Z()|0)|0)==0))y=p;else{if(N=(p+-1+U|0)%(U|0)|0,y=Ci(A,f)|0,(N|0)<0&&Ut(27795,27797,248,27822),U=(y|0)!=0,((U?4:5)|0)<(N|0)&&Ut(27795,27797,248,27822),ol(A,f,qe)|0&&Ut(27795,27797,248,27822),y=(d[qe>>2]|0)+N|0,U?y=26704+(((y|0)%5|0)<<2)|0:y=26736+(((y|0)%6|0)<<2)|0,N=d[y>>2]|0,(N|0)==7&&Ut(27795,27797,248,27822),d[Ae>>2]=0,y=cn(A,f,N,Ae,pe)|0,y|0)break;I=pe,U=d[I>>2]|0,I=d[I+4>>2]|0;do if(I>>>0>>0|(I|0)==(M|0)&U>>>0>>0){if(Ci(U,I)|0?T=pi(U,I,A,f)|0:T=d[26800+((((d[Ae>>2]|0)+(d[26768+(N<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,y=Ci(U,I)|0,(T+-1|0)>>>0>5){y=-1,T=U,M=I;break}if(y=(y|0)!=0,(T|0)==1&y){y=-1,T=U,M=I;break}do if(ol(U,I,qe)|0)y=-1;else if(y){y=((d[26352+(T<<2)>>2]|0)+5-(d[qe>>2]|0)|0)%5|0;break}else{y=((d[26384+(T<<2)>>2]|0)+6-(d[qe>>2]|0)|0)%6|0;break}while(!1);T=U,M=I}else y=p;while(!1);N=me,I=d[N>>2]|0,N=d[N+4>>2]|0}if((T|0)==(I|0)&(M|0)==(N|0)){if(U=(Ci(I,N)|0)!=0,U?A=pi(I,N,A,f)|0:A=d[26800+((((d[Be>>2]|0)+(d[26768+(Ce<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,y=Ci(I,N)|0,(A+-1|0)>>>0<=5&&(Xe=(y|0)!=0,!((A|0)==1&Xe)))do if(ol(I,N,qe)|0)y=-1;else if(Xe){y=((d[26352+(A<<2)>>2]|0)+5-(d[qe>>2]|0)|0)%5|0;break}else{y=((d[26384+(A<<2)>>2]|0)+6-(d[qe>>2]|0)|0)%6|0;break}while(!1);else y=-1;y=y+1|0,y=(y|0)==6|U&(y|0)==5?0:y}f=M,A=T;break e}while(!1);return _=y,K=ke,_|0}while(!1);return Xe=Nt(y|0,0,56)|0,qe=Z()|0|f&-2130706433|536870912,d[_>>2]=Xe|A,d[_+4>>2]=qe,_=0,K=ke,_|0}function Qu(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0;return T=(Ci(A,f)|0)==0,_=Qs(A,f,0,p)|0,y=(_|0)==0,T?!y||(_=Qs(A,f,1,p+8|0)|0,_|0)||(_=Qs(A,f,2,p+16|0)|0,_|0)||(_=Qs(A,f,3,p+24|0)|0,_|0)||(_=Qs(A,f,4,p+32|0)|0,_)?(T=_,T|0):Qs(A,f,5,p+40|0)|0:!y||(_=Qs(A,f,1,p+8|0)|0,_|0)||(_=Qs(A,f,2,p+16|0)|0,_|0)||(_=Qs(A,f,3,p+24|0)|0,_|0)||(_=Qs(A,f,4,p+32|0)|0,_|0)?(T=_,T|0):(T=p+40|0,d[T>>2]=0,d[T+4>>2]=0,T=0,T|0)}function ll(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0,N=0,U=0;return U=K,K=K+192|0,y=U,T=U+168|0,M=bt(A|0,f|0,56)|0,Z()|0,M=M&7,N=f&-2130706433|134217728,_=zu(A,N,T)|0,_|0?(N=_,K=U,N|0):(f=bt(A|0,f|0,52)|0,Z()|0,f=f&15,Ci(A,N)|0?sp(T,f,M,1,y):RA(T,f,M,1,y),N=y+8|0,d[p>>2]=d[N>>2],d[p+4>>2]=d[N+4>>2],d[p+8>>2]=d[N+8>>2],d[p+12>>2]=d[N+12>>2],N=0,K=U,N|0)}function ul(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0;return y=K,K=K+16|0,p=y,!(!0&(f&2013265920|0)==536870912)||(_=f&-2130706433|134217728,!(NA(A,_)|0))?(_=0,K=y,_|0):(T=bt(A|0,f|0,56)|0,Z()|0,T=(Qs(A,_,T&7,p)|0)==0,_=p,_=T&((d[_>>2]|0)==(A|0)?(d[_+4>>2]|0)==(f|0):0)&1,K=y,_|0)}function Io(A,f,p){A=A|0,f=f|0,p=p|0;var _=0;(f|0)>0?(_=Ks(f,4)|0,d[A>>2]=_,_||Ut(27835,27858,40,27872)):d[A>>2]=0,d[A+4>>2]=f,d[A+8>>2]=0,d[A+12>>2]=p}function GA(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0;y=A+4|0,T=A+12|0,M=A+8|0;e:for(;;){for(p=d[y>>2]|0,f=0;;){if((f|0)>=(p|0))break e;if(_=d[A>>2]|0,N=d[_+(f<<2)>>2]|0,!N)f=f+1|0;else break}f=_+(~~(+un(+(+Hs(10,+ +(15-(d[T>>2]|0)|0))*(+J[N>>3]+ +J[N+8>>3])))%+(p|0))>>>0<<2)|0,p=d[f>>2]|0;t:do if(p|0){if(_=N+32|0,(p|0)==(N|0))d[f>>2]=d[_>>2];else{if(p=p+32|0,f=d[p>>2]|0,!f)break;for(;(f|0)!=(N|0);)if(p=f+32|0,f=d[p>>2]|0,!f)break t;d[p>>2]=d[_>>2]}An(N),d[M>>2]=(d[M>>2]|0)+-1}while(!1)}An(d[A>>2]|0)}function qA(A){A=A|0;var f=0,p=0,_=0;for(_=d[A+4>>2]|0,p=0;;){if((p|0)>=(_|0)){f=0,p=4;break}if(f=d[(d[A>>2]|0)+(p<<2)>>2]|0,!f)p=p+1|0;else{p=4;break}}return(p|0)==4?f|0:0}function Ku(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0;if(p=~~(+un(+(+Hs(10,+ +(15-(d[A+12>>2]|0)|0))*(+J[f>>3]+ +J[f+8>>3])))%+(d[A+4>>2]|0))>>>0,p=(d[A>>2]|0)+(p<<2)|0,_=d[p>>2]|0,!_)return T=1,T|0;T=f+32|0;do if((_|0)!=(f|0)){if(p=d[_+32>>2]|0,!p)return T=1,T|0;for(y=p;;){if((y|0)==(f|0)){y=8;break}if(p=d[y+32>>2]|0,p)_=y,y=p;else{p=1,y=10;break}}if((y|0)==8){d[_+32>>2]=d[T>>2];break}else if((y|0)==10)return p|0}else d[p>>2]=d[T>>2];while(!1);return An(f),T=A+8|0,d[T>>2]=(d[T>>2]|0)+-1,T=0,T|0}function VA(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0;T=Fo(40)|0,T||Ut(27888,27858,98,27901),d[T>>2]=d[f>>2],d[T+4>>2]=d[f+4>>2],d[T+8>>2]=d[f+8>>2],d[T+12>>2]=d[f+12>>2],y=T+16|0,d[y>>2]=d[p>>2],d[y+4>>2]=d[p+4>>2],d[y+8>>2]=d[p+8>>2],d[y+12>>2]=d[p+12>>2],d[T+32>>2]=0,y=~~(+un(+(+Hs(10,+ +(15-(d[A+12>>2]|0)|0))*(+J[f>>3]+ +J[f+8>>3])))%+(d[A+4>>2]|0))>>>0,y=(d[A>>2]|0)+(y<<2)|0,_=d[y>>2]|0;do if(!_)d[y>>2]=T;else{for(;!(Ea(_,f)|0&&Ea(_+16|0,p)|0);)if(y=d[_+32>>2]|0,_=(y|0)==0?_:y,!(d[_+32>>2]|0)){M=10;break}if((M|0)==10){d[_+32>>2]=T;break}return An(T),M=_,M|0}while(!1);return M=A+8|0,d[M>>2]=(d[M>>2]|0)+1,M=T,M|0}function Zu(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0;if(y=~~(+un(+(+Hs(10,+ +(15-(d[A+12>>2]|0)|0))*(+J[f>>3]+ +J[f+8>>3])))%+(d[A+4>>2]|0))>>>0,y=d[(d[A>>2]|0)+(y<<2)>>2]|0,!y)return p=0,p|0;if(!p){for(A=y;;){if(Ea(A,f)|0){_=10;break}if(A=d[A+32>>2]|0,!A){A=0,_=10;break}}if((_|0)==10)return A|0}for(A=y;;){if(Ea(A,f)|0&&Ea(A+16|0,p)|0){_=10;break}if(A=d[A+32>>2]|0,!A){A=0,_=10;break}}return(_|0)==10?A|0:0}function As(A,f){A=A|0,f=f|0;var p=0;if(p=~~(+un(+(+Hs(10,+ +(15-(d[A+12>>2]|0)|0))*(+J[f>>3]+ +J[f+8>>3])))%+(d[A+4>>2]|0))>>>0,A=d[(d[A>>2]|0)+(p<<2)>>2]|0,!A)return p=0,p|0;for(;;){if(Ea(A,f)|0){f=5;break}if(A=d[A+32>>2]|0,!A){A=0,f=5;break}}return(f|0)==5?A|0:0}function HA(){return 27920}function cl(A){return A=+A,~~+pf(+A)|0}function Fo(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0,Ce=0,Be=0,Xe=0,qe=0,ke=0,Re=0,Pt=0;Pt=K,K=K+16|0,pe=Pt;do if(A>>>0<245){if(I=A>>>0<11?16:A+11&-8,A=I>>>3,ie=d[6981]|0,p=ie>>>A,p&3|0)return f=(p&1^1)+A|0,A=27964+(f<<1<<2)|0,p=A+8|0,_=d[p>>2]|0,y=_+8|0,T=d[y>>2]|0,(T|0)==(A|0)?d[6981]=ie&~(1<>2]=A,d[p>>2]=T),Re=f<<3,d[_+4>>2]=Re|3,Re=_+Re+4|0,d[Re>>2]=d[Re>>2]|1,Re=y,K=Pt,Re|0;if(q=d[6983]|0,I>>>0>q>>>0){if(p|0)return f=2<>>12&16,f=f>>>N,p=f>>>5&8,f=f>>>p,T=f>>>2&4,f=f>>>T,A=f>>>1&2,f=f>>>A,_=f>>>1&1,_=(p|N|T|A|_)+(f>>>_)|0,f=27964+(_<<1<<2)|0,A=f+8|0,T=d[A>>2]|0,N=T+8|0,p=d[N>>2]|0,(p|0)==(f|0)?(A=ie&~(1<<_),d[6981]=A):(d[p+12>>2]=f,d[A>>2]=p,A=ie),Re=_<<3,M=Re-I|0,d[T+4>>2]=I|3,y=T+I|0,d[y+4>>2]=M|1,d[T+Re>>2]=M,q|0&&(_=d[6986]|0,f=q>>>3,p=27964+(f<<1<<2)|0,f=1<>2]|0):(d[6981]=A|f,f=p,A=p+8|0),d[A>>2]=_,d[f+12>>2]=_,d[_+8>>2]=f,d[_+12>>2]=p),d[6983]=M,d[6986]=y,Re=N,K=Pt,Re|0;if(T=d[6982]|0,T){for(p=(T&0-T)+-1|0,y=p>>>12&16,p=p>>>y,_=p>>>5&8,p=p>>>_,M=p>>>2&4,p=p>>>M,N=p>>>1&2,p=p>>>N,U=p>>>1&1,U=d[28228+((_|y|M|N|U)+(p>>>U)<<2)>>2]|0,p=U,N=U,U=(d[U+4>>2]&-8)-I|0;A=d[p+16>>2]|0,!(!A&&(A=d[p+20>>2]|0,!A));)M=(d[A+4>>2]&-8)-I|0,y=M>>>0>>0,p=A,N=y?A:N,U=y?M:U;if(M=N+I|0,M>>>0>N>>>0){y=d[N+24>>2]|0,f=d[N+12>>2]|0;do if((f|0)==(N|0)){if(A=N+20|0,f=d[A>>2]|0,!f&&(A=N+16|0,f=d[A>>2]|0,!f)){p=0;break}for(;;)if(_=f+20|0,p=d[_>>2]|0,p)f=p,A=_;else if(_=f+16|0,p=d[_>>2]|0,p)f=p,A=_;else break;d[A>>2]=0,p=f}else p=d[N+8>>2]|0,d[p+12>>2]=f,d[f+8>>2]=p,p=f;while(!1);do if(y|0){if(f=d[N+28>>2]|0,A=28228+(f<<2)|0,(N|0)==(d[A>>2]|0)){if(d[A>>2]=p,!p){d[6982]=T&~(1<>2]|0)==(N|0)?Re:y+20|0)>>2]=p,!p)break;d[p+24>>2]=y,f=d[N+16>>2]|0,f|0&&(d[p+16>>2]=f,d[f+24>>2]=p),f=d[N+20>>2]|0,f|0&&(d[p+20>>2]=f,d[f+24>>2]=p)}while(!1);return U>>>0<16?(Re=U+I|0,d[N+4>>2]=Re|3,Re=N+Re+4|0,d[Re>>2]=d[Re>>2]|1):(d[N+4>>2]=I|3,d[M+4>>2]=U|1,d[M+U>>2]=U,q|0&&(_=d[6986]|0,f=q>>>3,p=27964+(f<<1<<2)|0,f=1<>2]|0):(d[6981]=f|ie,f=p,A=p+8|0),d[A>>2]=_,d[f+12>>2]=_,d[_+8>>2]=f,d[_+12>>2]=p),d[6983]=U,d[6986]=M),Re=N+8|0,K=Pt,Re|0}else ie=I}else ie=I}else ie=I}else if(A>>>0<=4294967231)if(A=A+11|0,I=A&-8,_=d[6982]|0,_){y=0-I|0,A=A>>>8,A?I>>>0>16777215?U=31:(ie=(A+1048320|0)>>>16&8,Ce=A<>>16&4,Ce=Ce<>>16&2,U=14-(N|ie|U)+(Ce<>>15)|0,U=I>>>(U+7|0)&1|U<<1):U=0,p=d[28228+(U<<2)>>2]|0;e:do if(!p)p=0,A=0,Ce=61;else for(A=0,N=I<<((U|0)==31?0:25-(U>>>1)|0),T=0;;){if(M=(d[p+4>>2]&-8)-I|0,M>>>0>>0)if(M)A=p,y=M;else{A=p,y=0,Ce=65;break e}if(Ce=d[p+20>>2]|0,p=d[p+16+(N>>>31<<2)>>2]|0,T=(Ce|0)==0|(Ce|0)==(p|0)?T:Ce,p)N=N<<1;else{p=T,Ce=61;break}}while(!1);if((Ce|0)==61){if((p|0)==0&(A|0)==0){if(A=2<>>12&16,ie=ie>>>M,T=ie>>>5&8,ie=ie>>>T,N=ie>>>2&4,ie=ie>>>N,U=ie>>>1&2,ie=ie>>>U,p=ie>>>1&1,A=0,p=d[28228+((T|M|N|U|p)+(ie>>>p)<<2)>>2]|0}p?Ce=65:(N=A,M=y)}if((Ce|0)==65)for(T=p;;)if(ie=(d[T+4>>2]&-8)-I|0,p=ie>>>0>>0,y=p?ie:y,A=p?T:A,p=d[T+16>>2]|0,p||(p=d[T+20>>2]|0),p)T=p;else{N=A,M=y;break}if((N|0)!=0&&M>>>0<((d[6983]|0)-I|0)>>>0&&(q=N+I|0,q>>>0>N>>>0)){T=d[N+24>>2]|0,f=d[N+12>>2]|0;do if((f|0)==(N|0)){if(A=N+20|0,f=d[A>>2]|0,!f&&(A=N+16|0,f=d[A>>2]|0,!f)){f=0;break}for(;;)if(y=f+20|0,p=d[y>>2]|0,p)f=p,A=y;else if(y=f+16|0,p=d[y>>2]|0,p)f=p,A=y;else break;d[A>>2]=0}else Re=d[N+8>>2]|0,d[Re+12>>2]=f,d[f+8>>2]=Re;while(!1);do if(T){if(A=d[N+28>>2]|0,p=28228+(A<<2)|0,(N|0)==(d[p>>2]|0)){if(d[p>>2]=f,!f){_=_&~(1<>2]|0)==(N|0)?Re:T+20|0)>>2]=f,!f)break;d[f+24>>2]=T,A=d[N+16>>2]|0,A|0&&(d[f+16>>2]=A,d[A+24>>2]=f),A=d[N+20>>2]|0,A&&(d[f+20>>2]=A,d[A+24>>2]=f)}while(!1);e:do if(M>>>0<16)Re=M+I|0,d[N+4>>2]=Re|3,Re=N+Re+4|0,d[Re>>2]=d[Re>>2]|1;else{if(d[N+4>>2]=I|3,d[q+4>>2]=M|1,d[q+M>>2]=M,f=M>>>3,M>>>0<256){p=27964+(f<<1<<2)|0,A=d[6981]|0,f=1<>2]|0):(d[6981]=A|f,f=p,A=p+8|0),d[A>>2]=q,d[f+12>>2]=q,d[q+8>>2]=f,d[q+12>>2]=p;break}if(f=M>>>8,f?M>>>0>16777215?p=31:(ke=(f+1048320|0)>>>16&8,Re=f<>>16&4,Re=Re<>>16&2,p=14-(qe|ke|p)+(Re<

>>15)|0,p=M>>>(p+7|0)&1|p<<1):p=0,f=28228+(p<<2)|0,d[q+28>>2]=p,A=q+16|0,d[A+4>>2]=0,d[A>>2]=0,A=1<>2]=q,d[q+24>>2]=f,d[q+12>>2]=q,d[q+8>>2]=q;break}f=d[f>>2]|0;t:do if((d[f+4>>2]&-8|0)!=(M|0)){for(_=M<<((p|0)==31?0:25-(p>>>1)|0);p=f+16+(_>>>31<<2)|0,A=d[p>>2]|0,!!A;)if((d[A+4>>2]&-8|0)==(M|0)){f=A;break t}else _=_<<1,f=A;d[p>>2]=q,d[q+24>>2]=f,d[q+12>>2]=q,d[q+8>>2]=q;break e}while(!1);ke=f+8|0,Re=d[ke>>2]|0,d[Re+12>>2]=q,d[ke>>2]=q,d[q+8>>2]=Re,d[q+12>>2]=f,d[q+24>>2]=0}while(!1);return Re=N+8|0,K=Pt,Re|0}else ie=I}else ie=I;else ie=-1;while(!1);if(p=d[6983]|0,p>>>0>=ie>>>0)return f=p-ie|0,A=d[6986]|0,f>>>0>15?(Re=A+ie|0,d[6986]=Re,d[6983]=f,d[Re+4>>2]=f|1,d[A+p>>2]=f,d[A+4>>2]=ie|3):(d[6983]=0,d[6986]=0,d[A+4>>2]=p|3,Re=A+p+4|0,d[Re>>2]=d[Re>>2]|1),Re=A+8|0,K=Pt,Re|0;if(M=d[6984]|0,M>>>0>ie>>>0)return qe=M-ie|0,d[6984]=qe,Re=d[6987]|0,ke=Re+ie|0,d[6987]=ke,d[ke+4>>2]=qe|1,d[Re+4>>2]=ie|3,Re=Re+8|0,K=Pt,Re|0;if(d[7099]|0?A=d[7101]|0:(d[7101]=4096,d[7100]=4096,d[7102]=-1,d[7103]=-1,d[7104]=0,d[7092]=0,d[7099]=pe&-16^1431655768,A=4096),N=ie+48|0,U=ie+47|0,T=A+U|0,y=0-A|0,I=T&y,I>>>0<=ie>>>0||(A=d[7091]|0,A|0&&(q=d[7089]|0,pe=q+I|0,pe>>>0<=q>>>0|pe>>>0>A>>>0)))return Re=0,K=Pt,Re|0;e:do if(d[7092]&4)f=0,Ce=143;else{p=d[6987]|0;t:do if(p){for(_=28372;pe=d[_>>2]|0,!(pe>>>0<=p>>>0&&(pe+(d[_+4>>2]|0)|0)>>>0>p>>>0);)if(A=d[_+8>>2]|0,A)_=A;else{Ce=128;break t}if(f=T-M&y,f>>>0<2147483647)if(A=fl(f|0)|0,(A|0)==((d[_>>2]|0)+(d[_+4>>2]|0)|0)){if((A|0)!=-1){M=f,T=A,Ce=145;break e}}else _=A,Ce=136;else f=0}else Ce=128;while(!1);do if((Ce|0)==128)if(p=fl(0)|0,(p|0)!=-1&&(f=p,Ae=d[7100]|0,me=Ae+-1|0,f=((me&f|0)==0?0:(me+f&0-Ae)-f|0)+I|0,Ae=d[7089]|0,me=f+Ae|0,f>>>0>ie>>>0&f>>>0<2147483647)){if(pe=d[7091]|0,pe|0&&me>>>0<=Ae>>>0|me>>>0>pe>>>0){f=0;break}if(A=fl(f|0)|0,(A|0)==(p|0)){M=f,T=p,Ce=145;break e}else _=A,Ce=136}else f=0;while(!1);do if((Ce|0)==136){if(p=0-f|0,!(N>>>0>f>>>0&(f>>>0<2147483647&(_|0)!=-1)))if((_|0)==-1){f=0;break}else{M=f,T=_,Ce=145;break e}if(A=d[7101]|0,A=U-f+A&0-A,A>>>0>=2147483647){M=f,T=_,Ce=145;break e}if((fl(A|0)|0)==-1){fl(p|0)|0,f=0;break}else{M=A+f|0,T=_,Ce=145;break e}}while(!1);d[7092]=d[7092]|4,Ce=143}while(!1);if((Ce|0)==143&&I>>>0<2147483647&&(qe=fl(I|0)|0,me=fl(0)|0,Be=me-qe|0,Xe=Be>>>0>(ie+40|0)>>>0,!((qe|0)==-1|Xe^1|qe>>>0>>0&((qe|0)!=-1&(me|0)!=-1)^1))&&(M=Xe?Be:f,T=qe,Ce=145),(Ce|0)==145){f=(d[7089]|0)+M|0,d[7089]=f,f>>>0>(d[7090]|0)>>>0&&(d[7090]=f),U=d[6987]|0;e:do if(U){for(f=28372;;){if(A=d[f>>2]|0,p=d[f+4>>2]|0,(T|0)==(A+p|0)){Ce=154;break}if(_=d[f+8>>2]|0,_)f=_;else break}if((Ce|0)==154&&(ke=f+4|0,(d[f+12>>2]&8|0)==0)&&T>>>0>U>>>0&A>>>0<=U>>>0){d[ke>>2]=p+M,Re=(d[6984]|0)+M|0,qe=U+8|0,qe=(qe&7|0)==0?0:0-qe&7,ke=U+qe|0,qe=Re-qe|0,d[6987]=ke,d[6984]=qe,d[ke+4>>2]=qe|1,d[U+Re+4>>2]=40,d[6988]=d[7103];break}for(T>>>0<(d[6985]|0)>>>0&&(d[6985]=T),p=T+M|0,f=28372;;){if((d[f>>2]|0)==(p|0)){Ce=162;break}if(A=d[f+8>>2]|0,A)f=A;else break}if((Ce|0)==162&&(d[f+12>>2]&8|0)==0){d[f>>2]=T,q=f+4|0,d[q>>2]=(d[q>>2]|0)+M,q=T+8|0,q=T+((q&7|0)==0?0:0-q&7)|0,f=p+8|0,f=p+((f&7|0)==0?0:0-f&7)|0,I=q+ie|0,N=f-q-ie|0,d[q+4>>2]=ie|3;t:do if((U|0)==(f|0))Re=(d[6984]|0)+N|0,d[6984]=Re,d[6987]=I,d[I+4>>2]=Re|1;else{if((d[6986]|0)==(f|0)){Re=(d[6983]|0)+N|0,d[6983]=Re,d[6986]=I,d[I+4>>2]=Re|1,d[I+Re>>2]=Re;break}if(A=d[f+4>>2]|0,(A&3|0)==1){M=A&-8,_=A>>>3;n:do if(A>>>0<256)if(A=d[f+8>>2]|0,p=d[f+12>>2]|0,(p|0)==(A|0)){d[6981]=d[6981]&~(1<<_);break}else{d[A+12>>2]=p,d[p+8>>2]=A;break}else{T=d[f+24>>2]|0,A=d[f+12>>2]|0;do if((A|0)==(f|0)){if(p=f+16|0,_=p+4|0,A=d[_>>2]|0,A)p=_;else if(A=d[p>>2]|0,!A){A=0;break}for(;;)if(y=A+20|0,_=d[y>>2]|0,_)A=_,p=y;else if(y=A+16|0,_=d[y>>2]|0,_)A=_,p=y;else break;d[p>>2]=0}else Re=d[f+8>>2]|0,d[Re+12>>2]=A,d[A+8>>2]=Re;while(!1);if(!T)break;p=d[f+28>>2]|0,_=28228+(p<<2)|0;do if((d[_>>2]|0)!=(f|0)){if(Re=T+16|0,d[((d[Re>>2]|0)==(f|0)?Re:T+20|0)>>2]=A,!A)break n}else{if(d[_>>2]=A,A|0)break;d[6982]=d[6982]&~(1<>2]=T,p=f+16|0,_=d[p>>2]|0,_|0&&(d[A+16>>2]=_,d[_+24>>2]=A),p=d[p+4>>2]|0,!p)break;d[A+20>>2]=p,d[p+24>>2]=A}while(!1);f=f+M|0,y=M+N|0}else y=N;if(f=f+4|0,d[f>>2]=d[f>>2]&-2,d[I+4>>2]=y|1,d[I+y>>2]=y,f=y>>>3,y>>>0<256){p=27964+(f<<1<<2)|0,A=d[6981]|0,f=1<>2]|0):(d[6981]=A|f,f=p,A=p+8|0),d[A>>2]=I,d[f+12>>2]=I,d[I+8>>2]=f,d[I+12>>2]=p;break}f=y>>>8;do if(!f)_=0;else{if(y>>>0>16777215){_=31;break}ke=(f+1048320|0)>>>16&8,Re=f<>>16&4,Re=Re<>>16&2,_=14-(qe|ke|_)+(Re<<_>>>15)|0,_=y>>>(_+7|0)&1|_<<1}while(!1);if(f=28228+(_<<2)|0,d[I+28>>2]=_,A=I+16|0,d[A+4>>2]=0,d[A>>2]=0,A=d[6982]|0,p=1<<_,!(A&p)){d[6982]=A|p,d[f>>2]=I,d[I+24>>2]=f,d[I+12>>2]=I,d[I+8>>2]=I;break}f=d[f>>2]|0;n:do if((d[f+4>>2]&-8|0)!=(y|0)){for(_=y<<((_|0)==31?0:25-(_>>>1)|0);p=f+16+(_>>>31<<2)|0,A=d[p>>2]|0,!!A;)if((d[A+4>>2]&-8|0)==(y|0)){f=A;break n}else _=_<<1,f=A;d[p>>2]=I,d[I+24>>2]=f,d[I+12>>2]=I,d[I+8>>2]=I;break t}while(!1);ke=f+8|0,Re=d[ke>>2]|0,d[Re+12>>2]=I,d[ke>>2]=I,d[I+8>>2]=Re,d[I+12>>2]=f,d[I+24>>2]=0}while(!1);return Re=q+8|0,K=Pt,Re|0}for(f=28372;A=d[f>>2]|0,!(A>>>0<=U>>>0&&(Re=A+(d[f+4>>2]|0)|0,Re>>>0>U>>>0));)f=d[f+8>>2]|0;y=Re+-47|0,A=y+8|0,A=y+((A&7|0)==0?0:0-A&7)|0,y=U+16|0,A=A>>>0>>0?U:A,f=A+8|0,p=M+-40|0,qe=T+8|0,qe=(qe&7|0)==0?0:0-qe&7,ke=T+qe|0,qe=p-qe|0,d[6987]=ke,d[6984]=qe,d[ke+4>>2]=qe|1,d[T+p+4>>2]=40,d[6988]=d[7103],p=A+4|0,d[p>>2]=27,d[f>>2]=d[7093],d[f+4>>2]=d[7094],d[f+8>>2]=d[7095],d[f+12>>2]=d[7096],d[7093]=T,d[7094]=M,d[7096]=0,d[7095]=f,f=A+24|0;do ke=f,f=f+4|0,d[f>>2]=7;while((ke+8|0)>>>0>>0);if((A|0)!=(U|0)){if(T=A-U|0,d[p>>2]=d[p>>2]&-2,d[U+4>>2]=T|1,d[A>>2]=T,f=T>>>3,T>>>0<256){p=27964+(f<<1<<2)|0,A=d[6981]|0,f=1<>2]|0):(d[6981]=A|f,f=p,A=p+8|0),d[A>>2]=U,d[f+12>>2]=U,d[U+8>>2]=f,d[U+12>>2]=p;break}if(f=T>>>8,f?T>>>0>16777215?_=31:(ke=(f+1048320|0)>>>16&8,Re=f<>>16&4,Re=Re<>>16&2,_=14-(qe|ke|_)+(Re<<_>>>15)|0,_=T>>>(_+7|0)&1|_<<1):_=0,p=28228+(_<<2)|0,d[U+28>>2]=_,d[U+20>>2]=0,d[y>>2]=0,f=d[6982]|0,A=1<<_,!(f&A)){d[6982]=f|A,d[p>>2]=U,d[U+24>>2]=p,d[U+12>>2]=U,d[U+8>>2]=U;break}f=d[p>>2]|0;t:do if((d[f+4>>2]&-8|0)!=(T|0)){for(_=T<<((_|0)==31?0:25-(_>>>1)|0);p=f+16+(_>>>31<<2)|0,A=d[p>>2]|0,!!A;)if((d[A+4>>2]&-8|0)==(T|0)){f=A;break t}else _=_<<1,f=A;d[p>>2]=U,d[U+24>>2]=f,d[U+12>>2]=U,d[U+8>>2]=U;break e}while(!1);ke=f+8|0,Re=d[ke>>2]|0,d[Re+12>>2]=U,d[ke>>2]=U,d[U+8>>2]=Re,d[U+12>>2]=f,d[U+24>>2]=0}}else Re=d[6985]|0,(Re|0)==0|T>>>0>>0&&(d[6985]=T),d[7093]=T,d[7094]=M,d[7096]=0,d[6990]=d[7099],d[6989]=-1,d[6994]=27964,d[6993]=27964,d[6996]=27972,d[6995]=27972,d[6998]=27980,d[6997]=27980,d[7e3]=27988,d[6999]=27988,d[7002]=27996,d[7001]=27996,d[7004]=28004,d[7003]=28004,d[7006]=28012,d[7005]=28012,d[7008]=28020,d[7007]=28020,d[7010]=28028,d[7009]=28028,d[7012]=28036,d[7011]=28036,d[7014]=28044,d[7013]=28044,d[7016]=28052,d[7015]=28052,d[7018]=28060,d[7017]=28060,d[7020]=28068,d[7019]=28068,d[7022]=28076,d[7021]=28076,d[7024]=28084,d[7023]=28084,d[7026]=28092,d[7025]=28092,d[7028]=28100,d[7027]=28100,d[7030]=28108,d[7029]=28108,d[7032]=28116,d[7031]=28116,d[7034]=28124,d[7033]=28124,d[7036]=28132,d[7035]=28132,d[7038]=28140,d[7037]=28140,d[7040]=28148,d[7039]=28148,d[7042]=28156,d[7041]=28156,d[7044]=28164,d[7043]=28164,d[7046]=28172,d[7045]=28172,d[7048]=28180,d[7047]=28180,d[7050]=28188,d[7049]=28188,d[7052]=28196,d[7051]=28196,d[7054]=28204,d[7053]=28204,d[7056]=28212,d[7055]=28212,Re=M+-40|0,qe=T+8|0,qe=(qe&7|0)==0?0:0-qe&7,ke=T+qe|0,qe=Re-qe|0,d[6987]=ke,d[6984]=qe,d[ke+4>>2]=qe|1,d[T+Re+4>>2]=40,d[6988]=d[7103];while(!1);if(f=d[6984]|0,f>>>0>ie>>>0)return qe=f-ie|0,d[6984]=qe,Re=d[6987]|0,ke=Re+ie|0,d[6987]=ke,d[ke+4>>2]=qe|1,d[Re+4>>2]=ie|3,Re=Re+8|0,K=Pt,Re|0}return Re=HA()|0,d[Re>>2]=12,Re=0,K=Pt,Re|0}function An(A){A=A|0;var f=0,p=0,_=0,y=0,T=0,M=0,N=0,U=0;if(A){p=A+-8|0,y=d[6985]|0,A=d[A+-4>>2]|0,f=A&-8,U=p+f|0;do if(A&1)N=p,M=p;else{if(_=d[p>>2]|0,!(A&3)||(M=p+(0-_)|0,T=_+f|0,M>>>0>>0))return;if((d[6986]|0)==(M|0)){if(A=U+4|0,f=d[A>>2]|0,(f&3|0)!=3){N=M,f=T;break}d[6983]=T,d[A>>2]=f&-2,d[M+4>>2]=T|1,d[M+T>>2]=T;return}if(p=_>>>3,_>>>0<256)if(A=d[M+8>>2]|0,f=d[M+12>>2]|0,(f|0)==(A|0)){d[6981]=d[6981]&~(1<>2]=f,d[f+8>>2]=A,N=M,f=T;break}y=d[M+24>>2]|0,A=d[M+12>>2]|0;do if((A|0)==(M|0)){if(f=M+16|0,p=f+4|0,A=d[p>>2]|0,A)f=p;else if(A=d[f>>2]|0,!A){A=0;break}for(;;)if(_=A+20|0,p=d[_>>2]|0,p)A=p,f=_;else if(_=A+16|0,p=d[_>>2]|0,p)A=p,f=_;else break;d[f>>2]=0}else N=d[M+8>>2]|0,d[N+12>>2]=A,d[A+8>>2]=N;while(!1);if(y){if(f=d[M+28>>2]|0,p=28228+(f<<2)|0,(d[p>>2]|0)==(M|0)){if(d[p>>2]=A,!A){d[6982]=d[6982]&~(1<>2]|0)==(M|0)?N:y+20|0)>>2]=A,!A){N=M,f=T;break}d[A+24>>2]=y,f=M+16|0,p=d[f>>2]|0,p|0&&(d[A+16>>2]=p,d[p+24>>2]=A),f=d[f+4>>2]|0,f?(d[A+20>>2]=f,d[f+24>>2]=A,N=M,f=T):(N=M,f=T)}else N=M,f=T}while(!1);if(!(M>>>0>=U>>>0)&&(A=U+4|0,_=d[A>>2]|0,!!(_&1))){if(_&2)d[A>>2]=_&-2,d[N+4>>2]=f|1,d[M+f>>2]=f,y=f;else{if((d[6987]|0)==(U|0)){if(U=(d[6984]|0)+f|0,d[6984]=U,d[6987]=N,d[N+4>>2]=U|1,(N|0)!=(d[6986]|0))return;d[6986]=0,d[6983]=0;return}if((d[6986]|0)==(U|0)){U=(d[6983]|0)+f|0,d[6983]=U,d[6986]=M,d[N+4>>2]=U|1,d[M+U>>2]=U;return}y=(_&-8)+f|0,p=_>>>3;do if(_>>>0<256)if(f=d[U+8>>2]|0,A=d[U+12>>2]|0,(A|0)==(f|0)){d[6981]=d[6981]&~(1<>2]=A,d[A+8>>2]=f;break}else{T=d[U+24>>2]|0,A=d[U+12>>2]|0;do if((A|0)==(U|0)){if(f=U+16|0,p=f+4|0,A=d[p>>2]|0,A)f=p;else if(A=d[f>>2]|0,!A){p=0;break}for(;;)if(_=A+20|0,p=d[_>>2]|0,p)A=p,f=_;else if(_=A+16|0,p=d[_>>2]|0,p)A=p,f=_;else break;d[f>>2]=0,p=A}else p=d[U+8>>2]|0,d[p+12>>2]=A,d[A+8>>2]=p,p=A;while(!1);if(T|0){if(A=d[U+28>>2]|0,f=28228+(A<<2)|0,(d[f>>2]|0)==(U|0)){if(d[f>>2]=p,!p){d[6982]=d[6982]&~(1<>2]|0)==(U|0)?_:T+20|0)>>2]=p,!p)break;d[p+24>>2]=T,A=U+16|0,f=d[A>>2]|0,f|0&&(d[p+16>>2]=f,d[f+24>>2]=p),A=d[A+4>>2]|0,A|0&&(d[p+20>>2]=A,d[A+24>>2]=p)}}while(!1);if(d[N+4>>2]=y|1,d[M+y>>2]=y,(N|0)==(d[6986]|0)){d[6983]=y;return}}if(A=y>>>3,y>>>0<256){p=27964+(A<<1<<2)|0,f=d[6981]|0,A=1<>2]|0):(d[6981]=f|A,A=p,f=p+8|0),d[f>>2]=N,d[A+12>>2]=N,d[N+8>>2]=A,d[N+12>>2]=p;return}A=y>>>8,A?y>>>0>16777215?_=31:(M=(A+1048320|0)>>>16&8,U=A<>>16&4,U=U<>>16&2,_=14-(T|M|_)+(U<<_>>>15)|0,_=y>>>(_+7|0)&1|_<<1):_=0,A=28228+(_<<2)|0,d[N+28>>2]=_,d[N+20>>2]=0,d[N+16>>2]=0,f=d[6982]|0,p=1<<_;e:do if(!(f&p))d[6982]=f|p,d[A>>2]=N,d[N+24>>2]=A,d[N+12>>2]=N,d[N+8>>2]=N;else{A=d[A>>2]|0;t:do if((d[A+4>>2]&-8|0)!=(y|0)){for(_=y<<((_|0)==31?0:25-(_>>>1)|0);p=A+16+(_>>>31<<2)|0,f=d[p>>2]|0,!!f;)if((d[f+4>>2]&-8|0)==(y|0)){A=f;break t}else _=_<<1,A=f;d[p>>2]=N,d[N+24>>2]=A,d[N+12>>2]=N,d[N+8>>2]=N;break e}while(!1);M=A+8|0,U=d[M>>2]|0,d[U+12>>2]=N,d[M>>2]=N,d[N+8>>2]=U,d[N+12>>2]=A,d[N+24>>2]=0}while(!1);if(U=(d[6989]|0)+-1|0,d[6989]=U,!(U|0)){for(A=28380;A=d[A>>2]|0,A;)A=A+8|0;d[6989]=-1}}}}function Ks(A,f){A=A|0,f=f|0;var p=0;return A?(p=$e(f,A)|0,(f|A)>>>0>65535&&(p=((p>>>0)/(A>>>0)|0|0)==(f|0)?p:-1)):p=0,A=Fo(p)|0,!A||!(d[A+-4>>2]&3)||uo(A|0,0,p|0)|0,A|0}function Yt(A,f,p,_){return A=A|0,f=f|0,p=p|0,_=_|0,p=A+p>>>0,ht(f+_+(p>>>0>>0|0)>>>0|0),p|0|0}function Ur(A,f,p,_){return A=A|0,f=f|0,p=p|0,_=_|0,_=f-_-(p>>>0>A>>>0|0)>>>0,ht(_|0),A-p>>>0|0|0}function Jc(A){return A=A|0,(A?31-(Vt(A^A-1)|0)|0:32)|0}function Ju(A,f,p,_,y){A=A|0,f=f|0,p=p|0,_=_|0,y=y|0;var T=0,M=0,N=0,U=0,I=0,q=0,ie=0,pe=0,Ae=0,me=0;if(q=A,U=f,I=U,M=p,pe=_,N=pe,!I)return T=(y|0)!=0,N?T?(d[y>>2]=A|0,d[y+4>>2]=f&0,pe=0,y=0,ht(pe|0),y|0):(pe=0,y=0,ht(pe|0),y|0):(T&&(d[y>>2]=(q>>>0)%(M>>>0),d[y+4>>2]=0),pe=0,y=(q>>>0)/(M>>>0)>>>0,ht(pe|0),y|0);T=(N|0)==0;do if(M){if(!T){if(T=(Vt(N|0)|0)-(Vt(I|0)|0)|0,T>>>0<=31){ie=T+1|0,N=31-T|0,f=T-31>>31,M=ie,A=q>>>(ie>>>0)&f|I<>>(ie>>>0)&f,T=0,N=q<>2]=A|0,d[y+4>>2]=U|f&0,pe=0,y=0,ht(pe|0),y|0):(pe=0,y=0,ht(pe|0),y|0)}if(T=M-1|0,T&M|0){N=(Vt(M|0)|0)+33-(Vt(I|0)|0)|0,me=64-N|0,ie=32-N|0,U=ie>>31,Ae=N-32|0,f=Ae>>31,M=N,A=ie-1>>31&I>>>(Ae>>>0)|(I<>>(N>>>0))&f,f=f&I>>>(N>>>0),T=q<>>(Ae>>>0))&U|q<>31;break}return y|0&&(d[y>>2]=T&q,d[y+4>>2]=0),(M|0)==1?(Ae=U|f&0,me=A|0|0,ht(Ae|0),me|0):(me=Jc(M|0)|0,Ae=I>>>(me>>>0)|0,me=I<<32-me|q>>>(me>>>0)|0,ht(Ae|0),me|0)}else{if(T)return y|0&&(d[y>>2]=(I>>>0)%(M>>>0),d[y+4>>2]=0),Ae=0,me=(I>>>0)/(M>>>0)>>>0,ht(Ae|0),me|0;if(!q)return y|0&&(d[y>>2]=0,d[y+4>>2]=(I>>>0)%(N>>>0)),Ae=0,me=(I>>>0)/(N>>>0)>>>0,ht(Ae|0),me|0;if(T=N-1|0,!(T&N))return y|0&&(d[y>>2]=A|0,d[y+4>>2]=T&I|f&0),Ae=0,me=I>>>((Jc(N|0)|0)>>>0),ht(Ae|0),me|0;if(T=(Vt(N|0)|0)-(Vt(I|0)|0)|0,T>>>0<=30){f=T+1|0,N=31-T|0,M=f,A=I<>>(f>>>0),f=I>>>(f>>>0),T=0,N=q<>2]=A|0,d[y+4>>2]=U|f&0,Ae=0,me=0,ht(Ae|0),me|0):(Ae=0,me=0,ht(Ae|0),me|0)}while(!1);if(!M)I=N,U=0,N=0;else{ie=p|0|0,q=pe|_&0,I=Yt(ie|0,q|0,-1,-1)|0,p=Z()|0,U=N,N=0;do _=U,U=T>>>31|U<<1,T=N|T<<1,_=A<<1|_>>>31|0,pe=A>>>31|f<<1|0,Ur(I|0,p|0,_|0,pe|0)|0,me=Z()|0,Ae=me>>31|((me|0)<0?-1:0)<<1,N=Ae&1,A=Ur(_|0,pe|0,Ae&ie|0,(((me|0)<0?-1:0)>>31|((me|0)<0?-1:0)<<1)&q|0)|0,f=Z()|0,M=M-1|0;while((M|0)!=0);I=U,U=0}return M=0,y|0&&(d[y>>2]=A,d[y+4>>2]=f),Ae=(T|0)>>>31|(I|M)<<1|(M<<1|T>>>31)&0|U,me=(T<<1|0)&-2|N,ht(Ae|0),me|0}function ko(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0;return I=f>>31|((f|0)<0?-1:0)<<1,U=((f|0)<0?-1:0)>>31|((f|0)<0?-1:0)<<1,T=_>>31|((_|0)<0?-1:0)<<1,y=((_|0)<0?-1:0)>>31|((_|0)<0?-1:0)<<1,N=Ur(I^A|0,U^f|0,I|0,U|0)|0,M=Z()|0,A=T^I,f=y^U,Ur((Ju(N,M,Ur(T^p|0,y^_|0,T|0,y|0)|0,Z()|0,0)|0)^A|0,(Z()|0)^f|0,A|0,f|0)|0}function eh(A,f){A=A|0,f=f|0;var p=0,_=0,y=0,T=0;return T=A&65535,y=f&65535,p=$e(y,T)|0,_=A>>>16,A=(p>>>16)+($e(y,_)|0)|0,y=f>>>16,f=$e(y,T)|0,ht((A>>>16)+($e(y,_)|0)+(((A&65535)+f|0)>>>16)|0),A+f<<16|p&65535|0|0}function fr(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0;return y=A,T=p,p=eh(y,T)|0,A=Z()|0,ht(($e(f,T)|0)+($e(_,y)|0)+A|A&0|0),p|0|0|0}function th(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0,M=0,N=0,U=0,I=0;return y=K,K=K+16|0,N=y|0,M=f>>31|((f|0)<0?-1:0)<<1,T=((f|0)<0?-1:0)>>31|((f|0)<0?-1:0)<<1,I=_>>31|((_|0)<0?-1:0)<<1,U=((_|0)<0?-1:0)>>31|((_|0)<0?-1:0)<<1,A=Ur(M^A|0,T^f|0,M|0,T|0)|0,f=Z()|0,Ju(A,f,Ur(I^p|0,U^_|0,I|0,U|0)|0,Z()|0,N)|0,_=Ur(d[N>>2]^M|0,d[N+4>>2]^T|0,M|0,T|0)|0,p=Z()|0,K=y,ht(p|0),_|0}function ec(A,f,p,_){A=A|0,f=f|0,p=p|0,_=_|0;var y=0,T=0;return T=K,K=K+16|0,y=T|0,Ju(A,f,p,_,y)|0,K=T,ht(d[y+4>>2]|0),d[y>>2]|0|0}function N1(A,f,p){return A=A|0,f=f|0,p=p|0,(p|0)<32?(ht(f>>p|0),A>>>p|(f&(1<>p-32|0)}function bt(A,f,p){return A=A|0,f=f|0,p=p|0,(p|0)<32?(ht(f>>>p|0),A>>>p|(f&(1<>>p-32|0)}function Nt(A,f,p){return A=A|0,f=f|0,p=p|0,(p|0)<32?(ht(f<>>32-p|0),A<=0?+Xn(A+.5):+Ye(A-.5)}function Gl(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0;if((p|0)>=8192)return ui(A|0,f|0,p|0)|0,A|0;if(T=A|0,y=A+p|0,(A&3)==(f&3)){for(;A&3;){if(!p)return T|0;st[A>>0]=st[f>>0]|0,A=A+1|0,f=f+1|0,p=p-1|0}for(p=y&-4|0,_=p-64|0;(A|0)<=(_|0);)d[A>>2]=d[f>>2],d[A+4>>2]=d[f+4>>2],d[A+8>>2]=d[f+8>>2],d[A+12>>2]=d[f+12>>2],d[A+16>>2]=d[f+16>>2],d[A+20>>2]=d[f+20>>2],d[A+24>>2]=d[f+24>>2],d[A+28>>2]=d[f+28>>2],d[A+32>>2]=d[f+32>>2],d[A+36>>2]=d[f+36>>2],d[A+40>>2]=d[f+40>>2],d[A+44>>2]=d[f+44>>2],d[A+48>>2]=d[f+48>>2],d[A+52>>2]=d[f+52>>2],d[A+56>>2]=d[f+56>>2],d[A+60>>2]=d[f+60>>2],A=A+64|0,f=f+64|0;for(;(A|0)<(p|0);)d[A>>2]=d[f>>2],A=A+4|0,f=f+4|0}else for(p=y-4|0;(A|0)<(p|0);)st[A>>0]=st[f>>0]|0,st[A+1>>0]=st[f+1>>0]|0,st[A+2>>0]=st[f+2>>0]|0,st[A+3>>0]=st[f+3>>0]|0,A=A+4|0,f=f+4|0;for(;(A|0)<(y|0);)st[A>>0]=st[f>>0]|0,A=A+1|0,f=f+1|0;return T|0}function uo(A,f,p){A=A|0,f=f|0,p=p|0;var _=0,y=0,T=0,M=0;if(T=A+p|0,f=f&255,(p|0)>=67){for(;A&3;)st[A>>0]=f,A=A+1|0;for(_=T&-4|0,M=f|f<<8|f<<16|f<<24,y=_-64|0;(A|0)<=(y|0);)d[A>>2]=M,d[A+4>>2]=M,d[A+8>>2]=M,d[A+12>>2]=M,d[A+16>>2]=M,d[A+20>>2]=M,d[A+24>>2]=M,d[A+28>>2]=M,d[A+32>>2]=M,d[A+36>>2]=M,d[A+40>>2]=M,d[A+44>>2]=M,d[A+48>>2]=M,d[A+52>>2]=M,d[A+56>>2]=M,d[A+60>>2]=M,A=A+64|0;for(;(A|0)<(_|0);)d[A>>2]=M,A=A+4|0}for(;(A|0)<(T|0);)st[A>>0]=f,A=A+1|0;return T-p|0}function pf(A){return A=+A,A>=0?+Xn(A+.5):+Ye(A-.5)}function fl(A){A=A|0;var f=0,p=0,_=0;return _=fn()|0,p=d[Gn>>2]|0,f=p+A|0,(A|0)>0&(f|0)<(p|0)|(f|0)<0?(_i(f|0)|0,bn(12),-1):(f|0)>(_|0)&&!(ci(f|0)|0)?(bn(12),-1):(d[Gn>>2]=f,p|0)}return{___divdi3:ko,___muldi3:fr,___remdi3:th,___uremdi3:ec,_areNeighborCells:dx,_bitshift64Ashr:N1,_bitshift64Lshr:bt,_bitshift64Shl:Nt,_calloc:Ks,_cellAreaKm2:mp,_cellAreaM2:UA,_cellAreaRads2:Fl,_cellToBoundary:Il,_cellToCenterChild:DA,_cellToChildPos:Ap,_cellToChildren:_1,_cellToChildrenSize:lf,_cellToLatLng:Ol,_cellToLocalIj:E1,_cellToParent:Fu,_cellToVertex:Qs,_cellToVertexes:Qu,_cellsToDirectedEdge:d1,_cellsToLinkedMultiPolygon:nl,_childPosToCell:S1,_compactCells:up,_constructCell:Sx,_destroyLinkedMultiPolygon:Wu,_directedEdgeToBoundary:CA,_directedEdgeToCells:gx,_edgeLengthKm:gp,_edgeLengthM:ju,_edgeLengthRads:BA,_emscripten_replace_memory:Ln,_free:An,_getBaseCellNumber:g1,_getDirectedEdgeDestination:mx,_getDirectedEdgeOrigin:px,_getHexagonAreaAvgKm2:dp,_getHexagonAreaAvgM2:w1,_getHexagonEdgeLengthAvgKm:pp,_getHexagonEdgeLengthAvgM:oo,_getIcosahedronFaces:Gu,_getIndexDigit:bx,_getNumCells:Hu,_getPentagons:qu,_getRes0Cells:ef,_getResolution:Qc,_greatCircleDistanceKm:Zc,_greatCircleDistanceM:Mx,_greatCircleDistanceRads:T1,_gridDisk:_e,_gridDiskDistances:at,_gridDistance:$u,_gridPathCells:C1,_gridPathCellsSize:vp,_gridRing:Yn,_gridRingUnsafe:yi,_i64Add:Yt,_i64Subtract:Ur,_isPentagon:Ci,_isResClassIII:b1,_isValidCell:NA,_isValidDirectedEdge:p1,_isValidIndex:v1,_isValidVertex:ul,_latLngToCell:PA,_llvm_ctlz_i64:ff,_llvm_maxnum_f64:Af,_llvm_minnum_f64:df,_llvm_round_f64:hl,_localIjToCell:IA,_malloc:Fo,_maxFaceCount:wx,_maxGridDiskSize:fa,_maxPolygonToCellsSize:Pr,_maxPolygonToCellsSizeExperimental:cf,_memcpy:Gl,_memset:uo,_originToDirectedEdges:vx,_pentagonCount:fp,_polygonToCells:Zh,_polygonToCellsExperimental:kA,_readInt64AsDoubleFromPointer:yp,_res0CellCount:s1,_round:pf,_sbrk:fl,_sizeOfCellBoundary:fs,_sizeOfCoordIJ:Pa,_sizeOfGeoLoop:sr,_sizeOfGeoPolygon:mi,_sizeOfH3Index:_p,_sizeOfLatLng:R1,_sizeOfLinkedGeoPolygon:kl,_uncompactCells:y1,_uncompactCellsSize:x1,_vertexToLatLng:ll,establishStackSpace:bs,stackAlloc:mn,stackRestore:hi,stackSave:yr}})(In,Mi,Y);e.___divdi3=ge.___divdi3,e.___muldi3=ge.___muldi3,e.___remdi3=ge.___remdi3,e.___uremdi3=ge.___uremdi3,e._areNeighborCells=ge._areNeighborCells,e._bitshift64Ashr=ge._bitshift64Ashr,e._bitshift64Lshr=ge._bitshift64Lshr,e._bitshift64Shl=ge._bitshift64Shl,e._calloc=ge._calloc,e._cellAreaKm2=ge._cellAreaKm2,e._cellAreaM2=ge._cellAreaM2,e._cellAreaRads2=ge._cellAreaRads2,e._cellToBoundary=ge._cellToBoundary,e._cellToCenterChild=ge._cellToCenterChild,e._cellToChildPos=ge._cellToChildPos,e._cellToChildren=ge._cellToChildren,e._cellToChildrenSize=ge._cellToChildrenSize,e._cellToLatLng=ge._cellToLatLng,e._cellToLocalIj=ge._cellToLocalIj,e._cellToParent=ge._cellToParent,e._cellToVertex=ge._cellToVertex,e._cellToVertexes=ge._cellToVertexes,e._cellsToDirectedEdge=ge._cellsToDirectedEdge,e._cellsToLinkedMultiPolygon=ge._cellsToLinkedMultiPolygon,e._childPosToCell=ge._childPosToCell,e._compactCells=ge._compactCells,e._constructCell=ge._constructCell,e._destroyLinkedMultiPolygon=ge._destroyLinkedMultiPolygon,e._directedEdgeToBoundary=ge._directedEdgeToBoundary,e._directedEdgeToCells=ge._directedEdgeToCells,e._edgeLengthKm=ge._edgeLengthKm,e._edgeLengthM=ge._edgeLengthM,e._edgeLengthRads=ge._edgeLengthRads;var Wt=e._emscripten_replace_memory=ge._emscripten_replace_memory;e._free=ge._free,e._getBaseCellNumber=ge._getBaseCellNumber,e._getDirectedEdgeDestination=ge._getDirectedEdgeDestination,e._getDirectedEdgeOrigin=ge._getDirectedEdgeOrigin,e._getHexagonAreaAvgKm2=ge._getHexagonAreaAvgKm2,e._getHexagonAreaAvgM2=ge._getHexagonAreaAvgM2,e._getHexagonEdgeLengthAvgKm=ge._getHexagonEdgeLengthAvgKm,e._getHexagonEdgeLengthAvgM=ge._getHexagonEdgeLengthAvgM,e._getIcosahedronFaces=ge._getIcosahedronFaces,e._getIndexDigit=ge._getIndexDigit,e._getNumCells=ge._getNumCells,e._getPentagons=ge._getPentagons,e._getRes0Cells=ge._getRes0Cells,e._getResolution=ge._getResolution,e._greatCircleDistanceKm=ge._greatCircleDistanceKm,e._greatCircleDistanceM=ge._greatCircleDistanceM,e._greatCircleDistanceRads=ge._greatCircleDistanceRads,e._gridDisk=ge._gridDisk,e._gridDiskDistances=ge._gridDiskDistances,e._gridDistance=ge._gridDistance,e._gridPathCells=ge._gridPathCells,e._gridPathCellsSize=ge._gridPathCellsSize,e._gridRing=ge._gridRing,e._gridRingUnsafe=ge._gridRingUnsafe,e._i64Add=ge._i64Add,e._i64Subtract=ge._i64Subtract,e._isPentagon=ge._isPentagon,e._isResClassIII=ge._isResClassIII,e._isValidCell=ge._isValidCell,e._isValidDirectedEdge=ge._isValidDirectedEdge,e._isValidIndex=ge._isValidIndex,e._isValidVertex=ge._isValidVertex,e._latLngToCell=ge._latLngToCell,e._llvm_ctlz_i64=ge._llvm_ctlz_i64,e._llvm_maxnum_f64=ge._llvm_maxnum_f64,e._llvm_minnum_f64=ge._llvm_minnum_f64,e._llvm_round_f64=ge._llvm_round_f64,e._localIjToCell=ge._localIjToCell,e._malloc=ge._malloc,e._maxFaceCount=ge._maxFaceCount,e._maxGridDiskSize=ge._maxGridDiskSize,e._maxPolygonToCellsSize=ge._maxPolygonToCellsSize,e._maxPolygonToCellsSizeExperimental=ge._maxPolygonToCellsSizeExperimental,e._memcpy=ge._memcpy,e._memset=ge._memset,e._originToDirectedEdges=ge._originToDirectedEdges,e._pentagonCount=ge._pentagonCount,e._polygonToCells=ge._polygonToCells,e._polygonToCellsExperimental=ge._polygonToCellsExperimental,e._readInt64AsDoubleFromPointer=ge._readInt64AsDoubleFromPointer,e._res0CellCount=ge._res0CellCount,e._round=ge._round,e._sbrk=ge._sbrk,e._sizeOfCellBoundary=ge._sizeOfCellBoundary,e._sizeOfCoordIJ=ge._sizeOfCoordIJ,e._sizeOfGeoLoop=ge._sizeOfGeoLoop,e._sizeOfGeoPolygon=ge._sizeOfGeoPolygon,e._sizeOfH3Index=ge._sizeOfH3Index,e._sizeOfLatLng=ge._sizeOfLatLng,e._sizeOfLinkedGeoPolygon=ge._sizeOfLinkedGeoPolygon,e._uncompactCells=ge._uncompactCells,e._uncompactCellsSize=ge._uncompactCellsSize,e._vertexToLatLng=ge._vertexToLatLng,e.establishStackSpace=ge.establishStackSpace;var nt=e.stackAlloc=ge.stackAlloc,xt=e.stackRestore=ge.stackRestore,$t=e.stackSave=ge.stackSave;if(e.asm=ge,e.cwrap=L,e.setValue=S,e.getValue=w,fe){oe(fe)||(fe=s(fe));{tn();var zt=function(Ze){Ze.byteLength&&(Ze=new Uint8Array(Ze)),ne.set(Ze,x),e.memoryInitializerRequest&&delete e.memoryInitializerRequest.response,_t()},xn=function(){a(fe,zt,function(){throw"could not load memory initializer "+fe})},qi=qt(fe);if(qi)zt(qi.buffer);else if(e.memoryInitializerRequest){var rr=function(){var Ze=e.memoryInitializerRequest,At=Ze.response;if(Ze.status!==200&&Ze.status!==0){var Ot=qt(e.memoryInitializerRequestURL);if(Ot)At=Ot.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+Ze.status+", retrying "+fe),xn();return}}zt(At)};e.memoryInitializerRequest.response?setTimeout(rr,0):e.memoryInitializerRequest.addEventListener("load",rr)}else xn()}}var pn;gt=function Ze(){pn||$i(),pn||(gt=Ze)};function $i(Ze){if(Dt>0||(Pe(),Dt>0))return;function At(){pn||(pn=!0,!R&&(pt(),vt(),e.onRuntimeInitialized&&e.onRuntimeInitialized(),Tt()))}e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),At()},1)):At()}e.run=$i;function Jr(Ze){throw e.onAbort&&e.onAbort(Ze),Ze+="",l(Ze),u(Ze),R=!0,"abort("+Ze+"). Build with -s ASSERTIONS=1 for more info."}if(e.abort=Jr,e.preInit)for(typeof e.preInit=="function"&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();return $i(),i})(typeof Si=="object"?Si:{}),Nn="number",Cn=Nn,Md=Nn,Bn=Nn,On=Nn,Cs=Nn,nn=Nn,ZK=[["sizeOfH3Index",Nn],["sizeOfLatLng",Nn],["sizeOfCellBoundary",Nn],["sizeOfGeoLoop",Nn],["sizeOfGeoPolygon",Nn],["sizeOfLinkedGeoPolygon",Nn],["sizeOfCoordIJ",Nn],["readInt64AsDoubleFromPointer",Nn],["isValidCell",Md,[Bn,On]],["isValidIndex",Md,[Bn,On]],["latLngToCell",Cn,[Nn,Nn,Cs,nn]],["cellToLatLng",Cn,[Bn,On,nn]],["cellToBoundary",Cn,[Bn,On,nn]],["maxGridDiskSize",Cn,[Nn,nn]],["gridDisk",Cn,[Bn,On,Nn,nn]],["gridDiskDistances",Cn,[Bn,On,Nn,nn,nn]],["gridRing",Cn,[Bn,On,Nn,nn]],["gridRingUnsafe",Cn,[Bn,On,Nn,nn]],["maxPolygonToCellsSize",Cn,[nn,Cs,Nn,nn]],["polygonToCells",Cn,[nn,Cs,Nn,nn]],["maxPolygonToCellsSizeExperimental",Cn,[nn,Cs,Nn,nn]],["polygonToCellsExperimental",Cn,[nn,Cs,Nn,Nn,Nn,nn]],["cellsToLinkedMultiPolygon",Cn,[nn,Nn,nn]],["destroyLinkedMultiPolygon",null,[nn]],["compactCells",Cn,[nn,nn,Nn,Nn]],["uncompactCells",Cn,[nn,Nn,Nn,nn,Nn,Cs]],["uncompactCellsSize",Cn,[nn,Nn,Nn,Cs,nn]],["isPentagon",Md,[Bn,On]],["isResClassIII",Md,[Bn,On]],["getBaseCellNumber",Nn,[Bn,On]],["getResolution",Nn,[Bn,On]],["getIndexDigit",Nn,[Bn,On,Nn]],["constructCell",Cn,[Nn,Nn,nn,nn]],["maxFaceCount",Cn,[Bn,On,nn]],["getIcosahedronFaces",Cn,[Bn,On,nn]],["cellToParent",Cn,[Bn,On,Cs,nn]],["cellToChildren",Cn,[Bn,On,Cs,nn]],["cellToCenterChild",Cn,[Bn,On,Cs,nn]],["cellToChildrenSize",Cn,[Bn,On,Cs,nn]],["cellToChildPos",Cn,[Bn,On,Cs,nn]],["childPosToCell",Cn,[Nn,Nn,Bn,On,Cs,nn]],["areNeighborCells",Cn,[Bn,On,Bn,On,nn]],["cellsToDirectedEdge",Cn,[Bn,On,Bn,On,nn]],["getDirectedEdgeOrigin",Cn,[Bn,On,nn]],["getDirectedEdgeDestination",Cn,[Bn,On,nn]],["isValidDirectedEdge",Md,[Bn,On]],["directedEdgeToCells",Cn,[Bn,On,nn]],["originToDirectedEdges",Cn,[Bn,On,nn]],["directedEdgeToBoundary",Cn,[Bn,On,nn]],["gridDistance",Cn,[Bn,On,Bn,On,nn]],["gridPathCells",Cn,[Bn,On,Bn,On,nn]],["gridPathCellsSize",Cn,[Bn,On,Bn,On,nn]],["cellToLocalIj",Cn,[Bn,On,Bn,On,Nn,nn]],["localIjToCell",Cn,[Bn,On,nn,Nn,nn]],["getHexagonAreaAvgM2",Cn,[Cs,nn]],["getHexagonAreaAvgKm2",Cn,[Cs,nn]],["getHexagonEdgeLengthAvgM",Cn,[Cs,nn]],["getHexagonEdgeLengthAvgKm",Cn,[Cs,nn]],["greatCircleDistanceM",Nn,[nn,nn]],["greatCircleDistanceKm",Nn,[nn,nn]],["greatCircleDistanceRads",Nn,[nn,nn]],["cellAreaM2",Cn,[Bn,On,nn]],["cellAreaKm2",Cn,[Bn,On,nn]],["cellAreaRads2",Cn,[Bn,On,nn]],["edgeLengthM",Cn,[Bn,On,nn]],["edgeLengthKm",Cn,[Bn,On,nn]],["edgeLengthRads",Cn,[Bn,On,nn]],["getNumCells",Cn,[Cs,nn]],["getRes0Cells",Cn,[nn]],["res0CellCount",Nn],["getPentagons",Cn,[Nn,nn]],["pentagonCount",Nn],["cellToVertex",Cn,[Bn,On,Nn,nn]],["cellToVertexes",Cn,[Bn,On,nn]],["vertexToLatLng",Cn,[Bn,On,nn]],["isValidVertex",Md,[Bn,On]]],JK=0,eZ=1,tZ=2,nZ=3,_P=4,iZ=5,rZ=6,sZ=7,aZ=8,oZ=9,lZ=10,uZ=11,cZ=12,hZ=13,fZ=14,AZ=15,dZ=16,pZ=17,mZ=18,gZ=19,Kr={};Kr[JK]="Success";Kr[eZ]="The operation failed but a more specific error is not available";Kr[tZ]="Argument was outside of acceptable range";Kr[nZ]="Latitude or longitude arguments were outside of acceptable range";Kr[_P]="Resolution argument was outside of acceptable range";Kr[iZ]="Cell argument was not valid";Kr[rZ]="Directed edge argument was not valid";Kr[sZ]="Undirected edge argument was not valid";Kr[aZ]="Vertex argument was not valid";Kr[oZ]="Pentagon distortion was encountered";Kr[lZ]="Duplicate input";Kr[uZ]="Cell arguments were not neighbors";Kr[cZ]="Cell arguments had incompatible resolutions";Kr[hZ]="Memory allocation failed";Kr[fZ]="Bounds of provided memory were insufficient";Kr[AZ]="Mode or flags argument was not valid";Kr[dZ]="Index argument was not valid";Kr[pZ]="Base cell number was outside of acceptable range";Kr[mZ]="Child indexing digits invalid";Kr[gZ]="Child indexing digits refer to a deleted subsequence";var vZ=1e3,yP=1001,xP=1002,Ry={};Ry[vZ]="Unknown unit";Ry[yP]="Array length out of bounds";Ry[xP]="Got unexpected null value for H3 index";var _Z="Unknown error";function bP(i,e,t){var n=t&&"value"in t,r=new Error((i[e]||_Z)+" (code: "+e+(n?", value: "+t.value:"")+")");return r.code=e,r}function SP(i,e){var t=arguments.length===2?{value:e}:{};return bP(Kr,i,t)}function TP(i,e){var t=arguments.length===2?{value:e}:{};return bP(Ry,i,t)}function vg(i){if(i!==0)throw SP(i)}var eo={};ZK.forEach(function(e){eo[e[0]]=Si.cwrap.apply(Si,e)});var Xd=16,_g=4,U0=8,yZ=8,j_=eo.sizeOfH3Index(),MM=eo.sizeOfLatLng(),xZ=eo.sizeOfCellBoundary(),bZ=eo.sizeOfGeoPolygon(),Lm=eo.sizeOfGeoLoop();eo.sizeOfLinkedGeoPolygon();eo.sizeOfCoordIJ();function SZ(i){if(typeof i!="number"||i<0||i>15||Math.floor(i)!==i)throw SP(_P,i);return i}function TZ(i){if(!i)throw TP(xP);return i}var wZ=Math.pow(2,32)-1;function MZ(i){if(i>wZ)throw TP(yP,i);return i}var EZ=/[^0-9a-fA-F]/;function wP(i){if(Array.isArray(i)&&i.length===2&&Number.isInteger(i[0])&&Number.isInteger(i[1]))return i;if(typeof i!="string"||EZ.test(i))return[0,0];var e=parseInt(i.substring(0,i.length-8),Xd),t=parseInt(i.substring(i.length-8),Xd);return[t,e]}function ER(i){if(i>=0)return i.toString(Xd);i=i&2147483647;var e=MP(8,i.toString(Xd)),t=(parseInt(e[0],Xd)+8).toString(Xd);return e=t+e.substring(1),e}function CZ(i,e){return ER(e)+MP(8,ER(i))}function MP(i,e){for(var t=i-e.length,n="",r=0;r0){l=Si._calloc(t,Lm);for(var u=0;u0){for(var a=Si.getValue(i+n,"i32"),l=0;l=e.pointerRaycasterThrottleMs){e.lastRaycasterCheck=t;var n=null;if(e.hoverDuringDrag||!e.isPointerDragging){var r=this.intersectingObjects(e.pointerPos.x,e.pointerPos.y);e.hoverOrderComparator&&r.sort(function(a,l){return e.hoverOrderComparator(a.object,l.object)});var s=r.find(function(a){return e.hoverFilter(a.object)})||null;n=s?s.object:null,e.intersection=s||null}n!==e.hoverObj&&(e.onHover(n,e.hoverObj,e.intersection),e.tooltip.content(n&&Mt(e.tooltipContent)(n,e.intersection)||null),e.hoverObj=n)}e.tweenGroup.update()}return this},getPointerPos:function(e){var t=e.pointerPos,n=t.x,r=t.y;return{x:n,y:r}},cameraPosition:function(e,t,n,r){var s=e.camera;if(t&&e.initialised){var a=t,l=n||{x:0,y:0,z:0};if(!r)g(a),v(l);else{var u=Object.assign({},s.position),h=x();e.tweenGroup.add(new ca(u).to(a,r).easing(os.Quadratic.Out).onUpdate(g).start()),e.tweenGroup.add(new ca(h).to(l,r/3).easing(os.Quadratic.Out).onUpdate(v).start())}return this}return Object.assign({},s.position,{lookAt:x()});function g(S){var w=S.x,R=S.y,C=S.z;w!==void 0&&(s.position.x=w),R!==void 0&&(s.position.y=R),C!==void 0&&(s.position.z=C)}function v(S){var w=new br.Vector3(S.x,S.y,S.z);e.controls.enabled&&e.controls.target?e.controls.target=w:s.lookAt(w)}function x(){return Object.assign(new br.Vector3(0,0,-1e3).applyQuaternion(s.quaternion).add(s.position))}},zoomToFit:function(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,r=arguments.length,s=new Array(r>3?r-3:0),a=3;a2&&arguments[2]!==void 0?arguments[2]:0,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:10,s=e.camera;if(t){var a=new br.Vector3(0,0,0),l=Math.max.apply(Math,Lf(Object.entries(t).map(function(S){var w=tde(S,2),R=w[0],C=w[1];return Math.max.apply(Math,Lf(C.map(function(E){return Math.abs(a[R]-E)})))})))*2,u=(1-r*2/e.height)*s.fov,h=l/Math.atan(u*Math.PI/180),g=h/s.aspect,v=Math.max(h,g);if(v>0){var x=a.clone().sub(s.position).normalize().multiplyScalar(-v);this.cameraPosition(x,a,n)}}return this},getBbox:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:function(){return!0},n=new br.Box3(new br.Vector3(0,0,0),new br.Vector3(0,0,0)),r=e.objects.filter(t);return r.length?(r.forEach(function(s){return n.expandByObject(s)}),Object.assign.apply(Object,Lf(["x","y","z"].map(function(s){return QAe({},s,[n.min[s],n.max[s]])})))):null},getScreenCoords:function(e,t,n,r){var s=new br.Vector3(t,n,r);return s.project(this.camera()),{x:(s.x+1)*e.width/2,y:-(s.y-1)*e.height/2}},getSceneCoords:function(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=new br.Vector2(t/e.width*2-1,-(n/e.height)*2+1),a=new br.Raycaster;return a.setFromCamera(s,e.camera),Object.assign({},a.ray.at(r,new br.Vector3))},intersectingObjects:function(e,t,n){var r=new br.Vector2(t/e.width*2-1,-(n/e.height)*2+1),s=new br.Raycaster;return s.params.Line.threshold=e.lineHoverPrecision,s.params.Points.threshold=e.pointsHoverPrecision,s.setFromCamera(r,e.camera),s.intersectObjects(e.objects,!0)},renderer:function(e){return e.renderer},scene:function(e){return e.scene},camera:function(e){return e.camera},postProcessingComposer:function(e){return e.postProcessingComposer},controls:function(e){return e.controls},tbControls:function(e){return e.controls}},stateInit:function(){return{scene:new br.Scene,camera:new br.PerspectiveCamera,clock:new br.Clock,tweenGroup:new My,lastRaycasterCheck:0}},init:function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=n.controlType,s=r===void 0?"trackball":r,a=n.useWebGPU,l=a===void 0?!1:a,u=n.rendererConfig,h=u===void 0?{}:u,g=n.extraRenderers,v=g===void 0?[]:g,x=n.waitForLoadComplete,S=x===void 0?!0:x;e.innerHTML="",e.appendChild(t.container=document.createElement("div")),t.container.className="scene-container",t.container.style.position="relative",t.container.appendChild(t.navInfo=document.createElement("div")),t.navInfo.className="scene-nav-info",t.navInfo.textContent={orbit:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",trackball:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",fly:"WASD: move, R|F: up | down, Q|E: roll, up|down: pitch, left|right: yaw"}[s]||"",t.navInfo.style.display=t.showNavInfo?null:"none",t.tooltip=new jAe(t.container),t.pointerPos=new br.Vector2,t.pointerPos.x=-2,t.pointerPos.y=-2,["pointermove","pointerdown"].forEach(function(w){return t.container.addEventListener(w,function(R){if(w==="pointerdown"&&(t.isPointerPressed=!0),!t.isPointerDragging&&R.type==="pointermove"&&(R.pressure>0||t.isPointerPressed)&&(R.pointerType==="mouse"||R.movementX===void 0||[R.movementX,R.movementY].some(function(B){return Math.abs(B)>1}))&&(t.isPointerDragging=!0),t.enablePointerInteraction){var C=E(t.container);t.pointerPos.x=R.pageX-C.left,t.pointerPos.y=R.pageY-C.top}function E(B){var L=B.getBoundingClientRect(),O=window.pageXOffset||document.documentElement.scrollLeft,z=window.pageYOffset||document.documentElement.scrollTop;return{top:L.top+z,left:L.left+O}}},{passive:!0})}),t.container.addEventListener("pointerup",function(w){t.isPointerPressed&&(t.isPointerPressed=!1,!(t.isPointerDragging&&(t.isPointerDragging=!1,!t.clickAfterDrag))&&requestAnimationFrame(function(){w.button===0&&t.onClick(t.hoverObj||null,w,t.intersection),w.button===2&&t.onRightClick&&t.onRightClick(t.hoverObj||null,w,t.intersection)}))},{passive:!0,capture:!0}),t.container.addEventListener("contextmenu",function(w){t.onRightClick&&w.preventDefault()}),t.renderer=new(l?sO:br.WebGLRenderer)(Object.assign({antialias:!0,alpha:!0},h)),t.renderer.setPixelRatio(Math.min(2,window.devicePixelRatio)),t.container.appendChild(t.renderer.domElement),t.extraRenderers=v,t.extraRenderers.forEach(function(w){w.domElement.style.position="absolute",w.domElement.style.top="0px",w.domElement.style.pointerEvents="none",t.container.appendChild(w.domElement)}),t.postProcessingComposer=new Jce(t.renderer),t.postProcessingComposer.addPass(new ehe(t.scene,t.camera)),t.controls=new{trackball:lce,orbit:Tce,fly:Fce}[s](t.camera,t.renderer.domElement),s==="fly"&&(t.controls.movementSpeed=300,t.controls.rollSpeed=Math.PI/6,t.controls.dragToLook=!0),(s==="trackball"||s==="orbit")&&(t.controls.minDistance=.1,t.controls.maxDistance=t.skyRadius,t.controls.addEventListener("start",function(){t.controlsEngaged=!0}),t.controls.addEventListener("change",function(){t.controlsEngaged&&(t.controlsDragging=!0)}),t.controls.addEventListener("end",function(){t.controlsEngaged=!1,t.controlsDragging=!1})),[t.renderer,t.postProcessingComposer].concat(Lf(t.extraRenderers)).forEach(function(w){return w.setSize(t.width,t.height)}),t.camera.aspect=t.width/t.height,t.camera.updateProjectionMatrix(),t.camera.position.z=1e3,t.scene.add(t.skysphere=new br.Mesh),t.skysphere.visible=!1,t.loadComplete=t.scene.visible=!S,window.scene=t.scene},update:function(e,t){if(e.width&&e.height&&(t.hasOwnProperty("width")||t.hasOwnProperty("height"))){var n,r=e.width,s=e.height;e.container.style.width="".concat(r,"px"),e.container.style.height="".concat(s,"px"),[e.renderer,e.postProcessingComposer].concat(Lf(e.extraRenderers)).forEach(function(S){return S.setSize(r,s)}),e.camera.aspect=r/s;var a=e.viewOffset.slice(0,2);a.some(function(S){return S})&&(n=e.camera).setViewOffset.apply(n,[r,s].concat(Lf(a),[r,s])),e.camera.updateProjectionMatrix()}if(t.hasOwnProperty("viewOffset")){var l,u=e.width,h=e.height,g=e.viewOffset.slice(0,2);g.some(function(S){return S})?(l=e.camera).setViewOffset.apply(l,[u,h].concat(Lf(g),[u,h])):e.camera.clearViewOffset()}if(t.hasOwnProperty("skyRadius")&&e.skyRadius&&(e.controls.hasOwnProperty("maxDistance")&&t.skyRadius&&(e.controls.maxDistance=Math.min(e.controls.maxDistance,e.skyRadius)),e.camera.far=e.skyRadius*2.5,e.camera.updateProjectionMatrix(),e.skysphere.geometry=new br.SphereGeometry(e.skyRadius)),t.hasOwnProperty("backgroundColor")){var v=G0(e.backgroundColor).alpha;v===void 0&&(v=1),e.renderer.setClearColor(new br.Color(Dhe(1,e.backgroundColor)),v)}t.hasOwnProperty("backgroundImageUrl")&&(e.backgroundImageUrl?new br.TextureLoader().load(e.backgroundImageUrl,function(S){S.colorSpace=br.SRGBColorSpace,e.skysphere.material=new br.MeshBasicMaterial({map:S,side:br.BackSide}),e.skysphere.visible=!0,e.onBackgroundImageLoaded&&setTimeout(e.onBackgroundImageLoaded),!e.loadComplete&&x()}):(e.skysphere.visible=!1,e.skysphere.material.map=null,!e.loadComplete&&x())),t.hasOwnProperty("showNavInfo")&&(e.navInfo.style.display=e.showNavInfo?null:"none"),t.hasOwnProperty("lights")&&((t.lights||[]).forEach(function(S){return e.scene.remove(S)}),e.lights.forEach(function(S){return e.scene.add(S)})),t.hasOwnProperty("objects")&&((t.objects||[]).forEach(function(S){return e.scene.remove(S)}),e.objects.forEach(function(S){return e.scene.add(S)}));function x(){e.loadComplete=e.scene.visible=!0}}});function rde(i,e){e===void 0&&(e={});var t=e.insertAt;if(!(typeof document>"u")){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=i:r.appendChild(document.createTextNode(i))}}var sde=`.scene-container .clickable { cursor: pointer; }`;rde(sde);function vw(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,n=Array(e);t1?l-1:0),h=1;h1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=a();if(t.lat===void 0&&t.lng===void 0&&t.altitude===void 0)return r;var s=Object.assign({},r,t);if(["lat","lng","altitude"].forEach(function(u){return s[u]=+s[u]}),!n)l(s);else{for(;r.lng-s.lng>180;)r.lng-=360;for(;r.lng-s.lng<-180;)r.lng+=360;e.tweenGroup.add(new ca(r).to(s,n).easing(os.Cubic.InOut).onUpdate(l).start())}return this;function a(){return e.globe.toGeoCoords(e.renderObjs.cameraPosition())}function l(u){var h=u.lat,g=u.lng,v=u.altitude;e.renderObjs.cameraPosition(e.globe.getCoords(h,g,v)),e.globe.setPointOfView(e.renderObjs.camera())}},getScreenCoords:function(e){for(var t,n=arguments.length,r=new Array(n>1?n-1:0),s=1;slocalStorage.getItem("radio-theme")||"default"),[a,l]=Le.useState([]),[u,h]=Le.useState(null),[g,v]=Le.useState([]),[x,S]=Le.useState(!1),[w,R]=Le.useState({}),[C,E]=Le.useState([]),[B,L]=Le.useState(""),[O,z]=Le.useState(""),[G,k]=Le.useState(""),[H,F]=Le.useState([]),[V,Y]=Le.useState(!1),[ee,ne]=Le.useState([]),[se,te]=Le.useState(!1),[Q,le]=Le.useState(!1),[de,Te]=Le.useState(.5),[Se,ue]=Le.useState(null),[be,We]=Le.useState(!1),[Ee,Ge]=Le.useState(!1),ye=Le.useRef(void 0),Pe=Le.useRef(void 0),pt=Le.useRef(B);Le.useEffect(()=>{fetch("/api/radio/places").then(X=>X.json()).then(l).catch(console.error),fetch("/api/radio/guilds").then(X=>X.json()).then(X=>{if(E(X),X.length>0){L(X[0].id);const oe=X[0].voiceChannels.find(Me=>Me.members>0)??X[0].voiceChannels[0];oe&&z(oe.id)}}).catch(console.error),fetch("/api/radio/favorites").then(X=>X.json()).then(ne).catch(console.error)},[]),Le.useEffect(()=>{pt.current=B},[B]),Le.useEffect(()=>{i!=null&&i.guildId&&"playing"in i&&i.type!=="radio_voicestats"?R(X=>{if(i.playing)return{...X,[i.guildId]:i.playing};const oe={...X};return delete oe[i.guildId],oe}):i!=null&&i.playing&&!(i!=null&&i.guildId)&&R(i.playing),i!=null&&i.favorites&&ne(i.favorites),i!=null&&i.volumes&&B&&i.volumes[B]!=null&&Te(i.volumes[B]),(i==null?void 0:i.volume)!=null&&(i==null?void 0:i.guildId)===B&&Te(i.volume),(i==null?void 0:i.type)==="radio_voicestats"&&i.guildId===pt.current&&ue({voicePing:i.voicePing,gatewayPing:i.gatewayPing,status:i.status,channelName:i.channelName,connectedSince:i.connectedSince})},[i,B]),Le.useEffect(()=>{if(localStorage.setItem("radio-theme",r),t.current&&e.current){const oe=getComputedStyle(e.current.parentElement).getPropertyValue("--accent-rgb").trim();t.current.pointColor(()=>`rgba(${oe}, 0.85)`).atmosphereColor(`rgba(${oe}, 0.25)`)}},[r]);const vt=Le.useRef(u);vt.current=u;const Tt=Le.useRef(se);Tt.current=se;const It=Le.useCallback(()=>{var oe;const X=(oe=t.current)==null?void 0:oe.controls();X&&(X.autoRotate=!1),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{var Fe;if(vt.current||Tt.current)return;const Me=(Fe=t.current)==null?void 0:Fe.controls();Me&&(Me.autoRotate=!0)},5e3)},[]);Le.useEffect(()=>{var oe;const X=(oe=t.current)==null?void 0:oe.controls();X&&(u||se?(X.autoRotate=!1,n.current&&clearTimeout(n.current)):X.autoRotate=!0)},[u,se]);const Qe=Le.useRef(void 0);Qe.current=X=>{h(X),te(!1),S(!0),v([]),It(),t.current&&t.current.pointOfView({lat:X.geo[1],lng:X.geo[0],altitude:.4},800),fetch(`/api/radio/place/${X.id}/channels`).then(oe=>oe.json()).then(oe=>{v(oe),S(!1)}).catch(()=>S(!1))},Le.useEffect(()=>{const X=e.current;if(!X)return;X.clientWidth>0&&X.clientHeight>0&&Ge(!0);const oe=new ResizeObserver(Me=>{for(const Fe of Me){const{width:ze,height:Et}=Fe.contentRect;ze>0&&Et>0&&Ge(!0)}});return oe.observe(X),()=>oe.disconnect()},[]),Le.useEffect(()=>{if(!e.current||a.length===0)return;const X=e.current.clientWidth,oe=e.current.clientHeight;if(t.current){t.current.pointsData(a),X>0&&oe>0&&t.current.width(X).height(oe);return}if(X===0||oe===0)return;const Fe=getComputedStyle(e.current.parentElement).getPropertyValue("--accent-rgb").trim()||"230, 126, 34",ze=new _de(e.current).backgroundColor("rgba(0,0,0,0)").atmosphereColor(`rgba(${Fe}, 0.25)`).atmosphereAltitude(.12).globeImageUrl("/nasa-blue-marble.jpg").pointsData(a).pointLat(jt=>jt.geo[1]).pointLng(jt=>jt.geo[0]).pointColor(()=>`rgba(${Fe}, 0.85)`).pointRadius(jt=>Math.max(.12,Math.min(.45,.06+(jt.size??1)*.005))).pointAltitude(.001).pointResolution(24).pointLabel(jt=>`

`).onPointClick(jt=>{var kt;return(kt=Qe.current)==null?void 0:kt.call(Qe,jt)}).width(e.current.clientWidth).height(e.current.clientHeight);ze.renderer().setPixelRatio(window.devicePixelRatio),ze.pointOfView({lat:48,lng:10,altitude:GS});const Et=ze.controls();Et&&(Et.autoRotate=!0,Et.autoRotateSpeed=.3);let Rt=GS;const Ht=()=>{const kt=ze.pointOfView().altitude;if(Math.abs(kt-Rt)/Rt<.05)return;Rt=kt;const qt=Math.sqrt(kt/GS);ze.pointRadius(In=>Math.max(.12,Math.min(.45,.06+(In.size??1)*.005))*Math.max(.15,Math.min(2.5,qt)))};Et.addEventListener("change",Ht),t.current=ze;const Xt=e.current,_t=()=>It();Xt.addEventListener("mousedown",_t),Xt.addEventListener("touchstart",_t),Xt.addEventListener("wheel",_t);const Zt=()=>{if(e.current&&t.current){const jt=e.current.clientWidth,kt=e.current.clientHeight;jt>0&&kt>0&&t.current.width(jt).height(kt)}};window.addEventListener("resize",Zt);const sn=new ResizeObserver(()=>Zt());return sn.observe(Xt),()=>{Et.removeEventListener("change",Ht),Xt.removeEventListener("mousedown",_t),Xt.removeEventListener("touchstart",_t),Xt.removeEventListener("wheel",_t),window.removeEventListener("resize",Zt),sn.disconnect()}},[a,It,Ee]);const it=Le.useCallback(async(X,oe,Me,Fe)=>{if(!(!B||!O)){le(!0);try{(await(await fetch("/api/radio/play",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({guildId:B,voiceChannelId:O,stationId:X,stationName:oe,placeName:Me??(u==null?void 0:u.title)??"",country:Fe??(u==null?void 0:u.country)??""})})).json()).ok&&(R(Rt=>{var Ht,Xt;return{...Rt,[B]:{stationId:X,stationName:oe,placeName:Me??(u==null?void 0:u.title)??"",country:Fe??(u==null?void 0:u.country)??"",startedAt:new Date().toISOString(),channelName:((Xt=(Ht=C.find(_t=>_t.id===B))==null?void 0:Ht.voiceChannels.find(_t=>_t.id===O))==null?void 0:Xt.name)??""}}}),It())}catch(ze){console.error(ze)}le(!1)}},[B,O,u,C]),he=Le.useCallback(async()=>{B&&(await fetch("/api/radio/stop",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({guildId:B})}),R(X=>{const oe={...X};return delete oe[B],oe}))},[B]),Ft=Le.useCallback(X=>{if(k(X),ye.current&&clearTimeout(ye.current),!X.trim()){F([]),Y(!1);return}ye.current=setTimeout(async()=>{try{const Me=await(await fetch(`/api/radio/search?q=${encodeURIComponent(X)}`)).json();F(Me),Y(!0)}catch{F([])}},350)},[]),ct=Le.useCallback(X=>{var oe,Me,Fe;if(Y(!1),k(""),F([]),X.type==="channel"){const ze=(oe=X.url.match(/\/listen\/[^/]+\/([^/]+)/))==null?void 0:oe[1];ze&&it(ze,X.title,X.subtitle,"")}else if(X.type==="place"){const ze=(Me=X.url.match(/\/visit\/[^/]+\/([^/]+)/))==null?void 0:Me[1],Et=a.find(Rt=>Rt.id===ze);Et&&((Fe=Qe.current)==null||Fe.call(Qe,Et))}},[a,it]),Dt=Le.useCallback(async(X,oe)=>{try{const Fe=await(await fetch("/api/radio/favorites",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({stationId:X,stationName:oe,placeName:(u==null?void 0:u.title)??"",country:(u==null?void 0:u.country)??"",placeId:(u==null?void 0:u.id)??""})})).json();Fe.favorites&&ne(Fe.favorites)}catch{}},[u]),gt=Le.useCallback(X=>{Te(X),B&&(Pe.current&&clearTimeout(Pe.current),Pe.current=setTimeout(()=>{fetch("/api/radio/volume",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({guildId:B,volume:X})}).catch(console.error)},100))},[B]),tn=X=>ee.some(oe=>oe.stationId===X),yt=B?w[B]:null,fe=C.find(X=>X.id===B);return W.jsxs("div",{className:"radio-container","data-theme":r,children:[W.jsxs("header",{className:"radio-topbar",children:[W.jsxs("div",{className:"radio-topbar-left",children:[W.jsx("span",{className:"radio-topbar-logo",children:"🌍"}),W.jsx("span",{className:"radio-topbar-title",children:"World Radio"}),C.length>1&&W.jsx("select",{className:"radio-sel",value:B,onChange:X=>{L(X.target.value);const oe=C.find(Fe=>Fe.id===X.target.value),Me=(oe==null?void 0:oe.voiceChannels.find(Fe=>Fe.members>0))??(oe==null?void 0:oe.voiceChannels[0]);z((Me==null?void 0:Me.id)??"")},children:C.map(X=>W.jsx("option",{value:X.id,children:X.name},X.id))}),W.jsxs("select",{className:"radio-sel",value:O,onChange:X=>z(X.target.value),children:[W.jsx("option",{value:"",children:"Voice Channel..."}),fe==null?void 0:fe.voiceChannels.map(X=>W.jsxs("option",{value:X.id,children:["🔊"," ",X.name,X.members>0?` (${X.members})`:""]},X.id))]})]}),yt&&W.jsxs("div",{className:"radio-topbar-np",children:[W.jsxs("div",{className:"radio-eq radio-eq-np",children:[W.jsx("span",{}),W.jsx("span",{}),W.jsx("span",{})]}),W.jsxs("div",{className:"radio-np-info",children:[W.jsx("span",{className:"radio-np-name",children:yt.stationName}),W.jsxs("span",{className:"radio-np-loc",children:[yt.placeName,yt.country?`, ${yt.country}`:""]})]})]}),W.jsxs("div",{className:"radio-topbar-right",children:[yt&&W.jsxs(W.Fragment,{children:[W.jsxs("div",{className:"radio-volume",children:[W.jsx("span",{className:"radio-volume-icon",children:de===0?"🔇":de<.4?"🔉":"🔊"}),W.jsx("input",{type:"range",className:"radio-volume-slider",min:0,max:1,step:.01,value:de,onChange:X=>gt(Number(X.target.value))}),W.jsxs("span",{className:"radio-volume-val",children:[Math.round(de*100),"%"]})]}),W.jsxs("div",{className:"radio-conn",onClick:()=>We(!0),title:"Verbindungsdetails",children:[W.jsx("span",{className:"radio-conn-dot"}),"Verbunden",(Se==null?void 0:Se.voicePing)!=null&&W.jsxs("span",{className:"radio-conn-ping",children:[Se.voicePing,"ms"]})]}),W.jsxs("button",{className:"radio-topbar-stop",onClick:he,children:["⏹"," Stop"]})]}),W.jsx("div",{className:"radio-theme-inline",children:yde.map(X=>W.jsx("div",{className:`radio-theme-dot ${r===X.id?"active":""}`,style:{background:X.color},title:X.label,onClick:()=>s(X.id)},X.id))})]})]}),W.jsxs("div",{className:"radio-globe-wrap",children:[W.jsx("div",{className:"radio-globe",ref:e}),W.jsxs("div",{className:"radio-search",children:[W.jsxs("div",{className:"radio-search-wrap",children:[W.jsx("span",{className:"radio-search-icon",children:"🔍"}),W.jsx("input",{className:"radio-search-input",type:"text",placeholder:"Sender oder Stadt suchen...",value:G,onChange:X=>Ft(X.target.value),onFocus:()=>{H.length&&Y(!0)}}),G&&W.jsx("button",{className:"radio-search-clear",onClick:()=>{k(""),F([]),Y(!1)},children:"✕"})]}),V&&H.length>0&&W.jsx("div",{className:"radio-search-results",children:H.slice(0,12).map(X=>W.jsxs("button",{className:"radio-search-result",onClick:()=>ct(X),children:[W.jsx("span",{className:"radio-search-result-icon",children:X.type==="channel"?"📻":X.type==="place"?"📍":"🌍"}),W.jsxs("div",{className:"radio-search-result-text",children:[W.jsx("span",{className:"radio-search-result-title",children:X.title}),W.jsx("span",{className:"radio-search-result-sub",children:X.subtitle})]})]},X.id+X.url))})]}),!u&&!se&&W.jsxs("button",{className:"radio-fab",onClick:()=>{te(!0),h(null)},title:"Favoriten",children:["⭐",ee.length>0&&W.jsx("span",{className:"radio-fab-badge",children:ee.length})]}),se&&W.jsxs("div",{className:"radio-panel open",children:[W.jsxs("div",{className:"radio-panel-header",children:[W.jsxs("h3",{children:["⭐"," Favoriten"]}),W.jsx("button",{className:"radio-panel-close",onClick:()=>te(!1),children:"✕"})]}),W.jsx("div",{className:"radio-panel-body",children:ee.length===0?W.jsx("div",{className:"radio-panel-empty",children:"Noch keine Favoriten"}):ee.map(X=>W.jsxs("div",{className:`radio-station ${(yt==null?void 0:yt.stationId)===X.stationId?"playing":""}`,children:[W.jsxs("div",{className:"radio-station-info",children:[W.jsx("span",{className:"radio-station-name",children:X.stationName}),W.jsxs("span",{className:"radio-station-loc",children:[X.placeName,", ",X.country]})]}),W.jsxs("div",{className:"radio-station-btns",children:[W.jsx("button",{className:"radio-btn-play",onClick:()=>it(X.stationId,X.stationName,X.placeName,X.country),disabled:!O||Q,children:"▶"}),W.jsx("button",{className:"radio-btn-fav active",onClick:()=>Dt(X.stationId,X.stationName),children:"★"})]})]},X.stationId))})]}),u&&!se&&W.jsxs("div",{className:"radio-panel open",children:[W.jsxs("div",{className:"radio-panel-header",children:[W.jsxs("div",{children:[W.jsx("h3",{children:u.title}),W.jsx("span",{className:"radio-panel-sub",children:u.country})]}),W.jsx("button",{className:"radio-panel-close",onClick:()=>h(null),children:"✕"})]}),W.jsx("div",{className:"radio-panel-body",children:x?W.jsxs("div",{className:"radio-panel-loading",children:[W.jsx("div",{className:"radio-spinner"}),"Sender werden geladen..."]}):g.length===0?W.jsx("div",{className:"radio-panel-empty",children:"Keine Sender gefunden"}):g.map(X=>W.jsxs("div",{className:`radio-station ${(yt==null?void 0:yt.stationId)===X.id?"playing":""}`,children:[W.jsxs("div",{className:"radio-station-info",children:[W.jsx("span",{className:"radio-station-name",children:X.title}),(yt==null?void 0:yt.stationId)===X.id&&W.jsxs("span",{className:"radio-station-live",children:[W.jsxs("span",{className:"radio-eq",children:[W.jsx("span",{}),W.jsx("span",{}),W.jsx("span",{})]}),"Live"]})]}),W.jsxs("div",{className:"radio-station-btns",children:[(yt==null?void 0:yt.stationId)===X.id?W.jsx("button",{className:"radio-btn-stop",onClick:he,children:"⏹"}):W.jsx("button",{className:"radio-btn-play",onClick:()=>it(X.id,X.title),disabled:!O||Q,children:"▶"}),W.jsx("button",{className:`radio-btn-fav ${tn(X.id)?"active":""}`,onClick:()=>Dt(X.id,X.title),children:tn(X.id)?"★":"☆"})]})]},X.id))})]}),W.jsxs("div",{className:"radio-counter",children:["📻"," ",a.length.toLocaleString("de-DE")," Sender weltweit"]}),W.jsx("a",{className:"radio-attribution",href:"https://science.nasa.gov/earth/earth-observatory/blue-marble-next-generation/",target:"_blank",rel:"noreferrer",children:"Imagery © NASA Blue Marble"})]}),be&&(()=>{const X=Se!=null&&Se.connectedSince?Math.floor((Date.now()-new Date(Se.connectedSince).getTime())/1e3):0,oe=Math.floor(X/3600),Me=Math.floor(X%3600/60),Fe=X%60,ze=oe>0?`${oe}h ${String(Me).padStart(2,"0")}m ${String(Fe).padStart(2,"0")}s`:Me>0?`${Me}m ${String(Fe).padStart(2,"0")}s`:`${Fe}s`,Et=Rt=>Rt==null?"var(--text-faint)":Rt<80?"var(--success)":Rt<150?"#f0a830":"#e04040";return W.jsx("div",{className:"radio-modal-overlay",onClick:()=>We(!1),children:W.jsxs("div",{className:"radio-modal",onClick:Rt=>Rt.stopPropagation(),children:[W.jsxs("div",{className:"radio-modal-header",children:[W.jsx("span",{children:"📡"}),W.jsx("span",{children:"Verbindungsdetails"}),W.jsx("button",{className:"radio-modal-close",onClick:()=>We(!1),children:"✕"})]}),W.jsxs("div",{className:"radio-modal-body",children:[W.jsxs("div",{className:"radio-modal-stat",children:[W.jsx("span",{className:"radio-modal-label",children:"Voice Ping"}),W.jsxs("span",{className:"radio-modal-value",children:[W.jsx("span",{className:"radio-modal-dot",style:{background:Et((Se==null?void 0:Se.voicePing)??null)}}),(Se==null?void 0:Se.voicePing)!=null?`${Se.voicePing} ms`:"---"]})]}),W.jsxs("div",{className:"radio-modal-stat",children:[W.jsx("span",{className:"radio-modal-label",children:"Gateway Ping"}),W.jsxs("span",{className:"radio-modal-value",children:[W.jsx("span",{className:"radio-modal-dot",style:{background:Et((Se==null?void 0:Se.gatewayPing)??null)}}),Se&&Se.gatewayPing>=0?`${Se.gatewayPing} ms`:"---"]})]}),W.jsxs("div",{className:"radio-modal-stat",children:[W.jsx("span",{className:"radio-modal-label",children:"Status"}),W.jsx("span",{className:"radio-modal-value",style:{color:(Se==null?void 0:Se.status)==="ready"?"var(--success)":"#f0a830"},children:(Se==null?void 0:Se.status)==="ready"?"Verbunden":(Se==null?void 0:Se.status)??"Warte auf Verbindung"})]}),W.jsxs("div",{className:"radio-modal-stat",children:[W.jsx("span",{className:"radio-modal-label",children:"Kanal"}),W.jsx("span",{className:"radio-modal-value",children:(Se==null?void 0:Se.channelName)||"---"})]}),W.jsxs("div",{className:"radio-modal-stat",children:[W.jsx("span",{className:"radio-modal-label",children:"Verbunden seit"}),W.jsx("span",{className:"radio-modal-value",children:ze||"---"})]})]})]})})})()]})}function bde(i,e,t=365){const n=new Date(Date.now()+t*24*60*60*1e3).toUTCString();document.cookie=`${encodeURIComponent(i)}=${encodeURIComponent(e)}; expires=${n}; path=/; SameSite=Lax`}function Sde(i){const e=`${encodeURIComponent(i)}=`,t=document.cookie.split(";");for(const n of t){const r=n.trim();if(r.startsWith(e))return decodeURIComponent(r.slice(e.length))}return null}const us="/api/soundboard";async function d7(i,e,t,n){const r=new URL(`${us}/sounds`,window.location.origin);i&&r.searchParams.set("q",i),e!==void 0&&r.searchParams.set("folder",e),r.searchParams.set("fuzzy","0");const s=await fetch(r.toString());if(!s.ok)throw new Error("Fehler beim Laden der Sounds");return s.json()}async function Tde(){const i=await fetch(`${us}/analytics`);if(!i.ok)throw new Error("Fehler beim Laden der Analytics");return i.json()}async function wde(){const i=await fetch(`${us}/categories`,{credentials:"include"});if(!i.ok)throw new Error("Fehler beim Laden der Kategorien");return i.json()}async function Mde(){const i=await fetch(`${us}/channels`);if(!i.ok)throw new Error("Fehler beim Laden der Channels");return i.json()}async function Ede(){const i=await fetch(`${us}/selected-channels`);if(!i.ok)throw new Error("Fehler beim Laden der Channel-Auswahl");const e=await i.json();return(e==null?void 0:e.selected)||{}}async function Cde(i,e){if(!(await fetch(`${us}/selected-channel`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({guildId:i,channelId:e})})).ok)throw new Error("Channel-Auswahl setzen fehlgeschlagen")}async function Rde(i,e,t,n,r){const s=await fetch(`${us}/play`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({soundName:i,guildId:e,channelId:t,volume:n,relativePath:r})});if(!s.ok){const a=await s.json().catch(()=>({}));throw new Error((a==null?void 0:a.error)||"Play fehlgeschlagen")}}async function Nde(i,e,t,n,r){const s=await fetch(`${us}/play-url`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:i,guildId:e,channelId:t,volume:n,filename:r})}),a=await s.json().catch(()=>({}));if(!s.ok)throw new Error((a==null?void 0:a.error)||"Play-URL fehlgeschlagen");return a}async function Dde(i,e){const t=await fetch(`${us}/download-url`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:i,filename:e})}),n=await t.json().catch(()=>({}));if(!t.ok)throw new Error((n==null?void 0:n.error)||"Download fehlgeschlagen");return n}async function Pde(i,e){if(!(await fetch(`${us}/party/start`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({guildId:i,channelId:e})})).ok)throw new Error("Partymode Start fehlgeschlagen")}async function Lde(i){if(!(await fetch(`${us}/party/stop`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({guildId:i})})).ok)throw new Error("Partymode Stop fehlgeschlagen")}async function p7(i,e){const t=await fetch(`${us}/volume`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({guildId:i,volume:e})});if(!t.ok){const n=await t.json().catch(()=>({}));throw new Error((n==null?void 0:n.error)||"Volume aendern fehlgeschlagen")}}async function Ude(i){const e=new URL(`${us}/volume`,window.location.origin);e.searchParams.set("guildId",i);const t=await fetch(e.toString());if(!t.ok)throw new Error("Fehler beim Laden der Lautstaerke");const n=await t.json();return typeof(n==null?void 0:n.volume)=="number"?n.volume:1}async function Bde(){const i=await fetch(`${us}/admin/status`,{credentials:"include"});if(!i.ok)return!1;const e=await i.json();return!!(e!=null&&e.authenticated)}async function Ode(i){return(await fetch(`${us}/admin/login`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({password:i})})).ok}async function Ide(){await fetch(`${us}/admin/logout`,{method:"POST",credentials:"include"})}async function Fde(i){if(!(await fetch(`${us}/admin/sounds/delete`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({paths:i})})).ok)throw new Error("Loeschen fehlgeschlagen")}async function kde(i,e){const t=await fetch(`${us}/admin/sounds/rename`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({from:i,to:e})});if(!t.ok)throw new Error("Umbenennen fehlgeschlagen");const n=await t.json();return n==null?void 0:n.to}function zde(i,e){return new Promise((t,n)=>{const r=new FormData;r.append("files",i);const s=new XMLHttpRequest;s.open("POST",`${us}/upload`),s.upload.onprogress=a=>{a.lengthComputable&&e(Math.round(a.loaded/a.total*100))},s.onload=()=>{var a,l;if(s.status===200)try{const u=JSON.parse(s.responseText);t(((l=(a=u.files)==null?void 0:a[0])==null?void 0:l.name)??i.name)}catch{t(i.name)}else try{n(new Error(JSON.parse(s.responseText).error))}catch{n(new Error(`HTTP ${s.status}`))}},s.onerror=()=>n(new Error("Netzwerkfehler")),s.send(r)})}const Gde=[{id:"default",color:"#5865f2",label:"Discord"},{id:"purple",color:"#9b59b6",label:"Midnight"},{id:"forest",color:"#2ecc71",label:"Forest"},{id:"sunset",color:"#e67e22",label:"Sunset"},{id:"ocean",color:"#3498db",label:"Ocean"}],m7=["#3b82f6","#f59e0b","#8b5cf6","#ec4899","#14b8a6","#f97316","#06b6d4","#ef4444","#a855f7","#84cc16","#d946ef","#0ea5e9","#f43f5e","#10b981"];function qde({data:i}){const[e,t]=Le.useState([]),[n,r]=Le.useState(0),[s,a]=Le.useState([]),[l,u]=Le.useState([]),[h,g]=Le.useState({totalSounds:0,totalPlays:0,mostPlayed:[]}),[v,x]=Le.useState("all"),[S,w]=Le.useState(""),[R,C]=Le.useState(""),[E,B]=Le.useState(""),[L,O]=Le.useState(!1),[z,G]=Le.useState(null),[k,H]=Le.useState([]),[F,V]=Le.useState(""),Y=Le.useRef(""),[ee,ne]=Le.useState(!1),[se,te]=Le.useState(1),[Q,le]=Le.useState(""),[de,Te]=Le.useState({}),[Se,ue]=Le.useState(()=>localStorage.getItem("jb-theme")||"default"),[be,We]=Le.useState(()=>parseInt(localStorage.getItem("jb-card-size")||"110")),[Ee,Ge]=Le.useState(!1),[ye,Pe]=Le.useState([]),pt=Le.useRef(!1),vt=Le.useRef(void 0),[Tt,It]=Le.useState(!1),[Qe,it]=Le.useState(!1),[he,Ft]=Le.useState(""),[ct,Dt]=Le.useState([]),[gt,tn]=Le.useState(!1),[yt,fe]=Le.useState(""),[X,oe]=Le.useState({}),[Me,Fe]=Le.useState(""),[ze,Et]=Le.useState(""),[Rt,Ht]=Le.useState(!1),[Xt,_t]=Le.useState([]),[Zt,sn]=Le.useState(!1),jt=Le.useRef(0),kt=Le.useRef(void 0),[qt,In]=Le.useState(null),[Mi,ge]=Le.useState(!1),[Wt,nt]=Le.useState(null),[xt,$t]=Le.useState(""),[zt,xn]=Le.useState(null),[qi,rr]=Le.useState(0);Le.useEffect(()=>{pt.current=Ee},[Ee]),Le.useEffect(()=>{Y.current=F},[F]),Le.useEffect(()=>{const _e=cn=>{var Yn;Array.from(((Yn=cn.dataTransfer)==null?void 0:Yn.items)??[]).some(yi=>yi.kind==="file")&&(jt.current++,Ht(!0))},at=()=>{jt.current=Math.max(0,jt.current-1),jt.current===0&&Ht(!1)},Ct=cn=>cn.preventDefault(),Jt=cn=>{var yi;cn.preventDefault(),jt.current=0,Ht(!1);const Yn=Array.from(((yi=cn.dataTransfer)==null?void 0:yi.files)??[]).filter(js=>/\.(mp3|wav)$/i.test(js.name));Yn.length&&Hs(Yn)};return window.addEventListener("dragenter",_e),window.addEventListener("dragleave",at),window.addEventListener("dragover",Ct),window.addEventListener("drop",Jt),()=>{window.removeEventListener("dragenter",_e),window.removeEventListener("dragleave",at),window.removeEventListener("dragover",Ct),window.removeEventListener("drop",Jt)}},[Tt]);const pn=Le.useCallback((_e,at="info")=>{nt({msg:_e,type:at}),setTimeout(()=>nt(null),3e3)},[]),$i=Le.useCallback(_e=>_e.relativePath??_e.fileName,[]),Jr=["youtube.com","www.youtube.com","m.youtube.com","youtu.be","music.youtube.com","instagram.com","www.instagram.com"],Ze=Le.useCallback(_e=>{const at=_e.trim();return!at||/^https?:\/\//i.test(at)?at:"https://"+at},[]),At=Le.useCallback(_e=>{try{const at=new URL(Ze(_e)),Ct=at.hostname.toLowerCase();return!!(at.pathname.toLowerCase().endsWith(".mp3")||Jr.some(Jt=>Ct===Jt||Ct.endsWith("."+Jt)))}catch{return!1}},[Ze]),Ot=Le.useCallback(_e=>{try{const at=new URL(Ze(_e)),Ct=at.hostname.toLowerCase();return Ct.includes("youtube")||Ct==="youtu.be"?"youtube":Ct.includes("instagram")?"instagram":at.pathname.toLowerCase().endsWith(".mp3")?"mp3":null}catch{return null}},[Ze]),st=F?F.split(":")[0]:"",d=F?F.split(":")[1]:"",J=Le.useMemo(()=>k.find(_e=>`${_e.guildId}:${_e.channelId}`===F),[k,F]);Le.useEffect(()=>{const _e=()=>{const Ct=new Date,Jt=String(Ct.getHours()).padStart(2,"0"),cn=String(Ct.getMinutes()).padStart(2,"0"),Yn=String(Ct.getSeconds()).padStart(2,"0");$t(`${Jt}:${cn}:${Yn}`)};_e();const at=setInterval(_e,1e3);return()=>clearInterval(at)},[]),Le.useEffect(()=>{(async()=>{try{const[_e,at]=await Promise.all([Mde(),Ede()]);if(H(_e),_e.length){const Ct=_e[0].guildId,Jt=at[Ct],cn=Jt&&_e.find(Yn=>Yn.guildId===Ct&&Yn.channelId===Jt);V(cn?`${Ct}:${Jt}`:`${_e[0].guildId}:${_e[0].channelId}`)}}catch(_e){pn((_e==null?void 0:_e.message)||"Channel-Fehler","error")}try{It(await Bde())}catch{}try{const _e=await wde();u(_e.categories||[])}catch{}})()},[]),Le.useEffect(()=>{localStorage.setItem("jb-theme",Se)},[Se]);const $n=Le.useRef(null);Le.useEffect(()=>{const _e=$n.current;if(!_e)return;_e.style.setProperty("--card-size",be+"px");const at=be/110;_e.style.setProperty("--card-emoji",Math.round(28*at)+"px"),_e.style.setProperty("--card-font",Math.max(9,Math.round(11*at))+"px"),localStorage.setItem("jb-card-size",String(be))},[be]),Le.useEffect(()=>{var _e,at,Ct,Jt,cn,Yn,yi,js;if(i){if(i.soundboard){const pi=i.soundboard;Array.isArray(pi.party)&&Pe(pi.party);try{const Pr=pi.selected||{},Ei=(_e=Y.current)==null?void 0:_e.split(":")[0];Ei&&Pr[Ei]&&V(`${Ei}:${Pr[Ei]}`)}catch{}try{const Pr=pi.volumes||{},Ei=(at=Y.current)==null?void 0:at.split(":")[0];Ei&&typeof Pr[Ei]=="number"&&te(Pr[Ei])}catch{}try{const Pr=pi.nowplaying||{},Ei=(Ct=Y.current)==null?void 0:Ct.split(":")[0];Ei&&typeof Pr[Ei]=="string"&&le(Pr[Ei])}catch{}try{const Pr=pi.voicestats||{},Ei=(Jt=Y.current)==null?void 0:Jt.split(":")[0];Ei&&Pr[Ei]&&In(Pr[Ei])}catch{}}if(i.type==="soundboard_party")Pe(pi=>{const Pr=new Set(pi);return i.active?Pr.add(i.guildId):Pr.delete(i.guildId),Array.from(Pr)});else if(i.type==="soundboard_channel"){const pi=(cn=Y.current)==null?void 0:cn.split(":")[0];i.guildId===pi&&V(`${i.guildId}:${i.channelId}`)}else if(i.type==="soundboard_volume"){const pi=(Yn=Y.current)==null?void 0:Yn.split(":")[0];i.guildId===pi&&typeof i.volume=="number"&&te(i.volume)}else if(i.type==="soundboard_nowplaying"){const pi=(yi=Y.current)==null?void 0:yi.split(":")[0];i.guildId===pi&&le(i.name||"")}else if(i.type==="soundboard_voicestats"){const pi=(js=Y.current)==null?void 0:js.split(":")[0];i.guildId===pi&&In({voicePing:i.voicePing,gatewayPing:i.gatewayPing,status:i.status,channelName:i.channelName,connectedSince:i.connectedSince})}}},[i]),Le.useEffect(()=>{Ge(st?ye.includes(st):!1)},[F,ye,st]),Le.useEffect(()=>{(async()=>{try{let _e="__all__";v==="recent"?_e="__recent__":S&&(_e=S);const at=await d7(R,_e,void 0,!1);t(at.items),r(at.total),a(at.folders)}catch(_e){pn((_e==null?void 0:_e.message)||"Sounds-Fehler","error")}})()},[v,S,R,qi,pn]),Le.useEffect(()=>{Gn()},[qi]),Le.useEffect(()=>{const _e=Sde("favs");if(_e)try{Te(JSON.parse(_e))}catch{}},[]),Le.useEffect(()=>{try{bde("favs",JSON.stringify(de))}catch{}},[de]),Le.useEffect(()=>{F&&(async()=>{try{const _e=await Ude(st);te(_e)}catch{}})()},[F]),Le.useEffect(()=>{const _e=()=>{ne(!1),xn(null)};return document.addEventListener("click",_e),()=>document.removeEventListener("click",_e)},[]),Le.useEffect(()=>{Qe&&Tt&&ae()},[Qe,Tt]);async function Gn(){try{const _e=await Tde();g(_e)}catch{}}async function Xn(_e){if(!F)return pn("Bitte einen Voice-Channel auswaehlen","error");try{await Rde(_e.name,st,d,se,_e.relativePath),le(_e.name),Gn()}catch(at){pn((at==null?void 0:at.message)||"Play fehlgeschlagen","error")}}function un(){var Jt;const _e=Ze(E);if(!_e)return pn("Bitte einen Link eingeben","error");if(!At(_e))return pn("Nur YouTube, Instagram oder direkte MP3-Links","error");const at=Ot(_e);let Ct="";if(at==="mp3")try{Ct=((Jt=new URL(_e).pathname.split("/").pop())==null?void 0:Jt.replace(/\.mp3$/i,""))??""}catch{}G({url:_e,type:at,filename:Ct,phase:"input"})}async function qn(){if(z){G(_e=>_e?{..._e,phase:"downloading"}:null);try{let _e;const at=z.filename.trim()||void 0;F&&st&&d?_e=(await Nde(z.url,st,d,se,at)).saved:_e=(await Dde(z.url,at)).saved,G(Ct=>Ct?{...Ct,phase:"done",savedName:_e}:null),B(""),rr(Ct=>Ct+1),Gn(),setTimeout(()=>G(null),2500)}catch(_e){G(at=>at?{...at,phase:"error",error:(_e==null?void 0:_e.message)||"Fehler"}:null)}}}async function Hs(_e){if(!Tt){pn("Admin-Login erforderlich zum Hochladen","error");return}kt.current&&clearTimeout(kt.current);const at=_e.map(Jt=>({id:Math.random().toString(36).slice(2),file:Jt,status:"waiting",progress:0}));_t(at),sn(!0);const Ct=[...at];for(let Jt=0;Jt{Ct[Jt]={...Ct[Jt],progress:Yn},_t([...Ct])});Ct[Jt]={...Ct[Jt],status:"done",progress:100,savedName:cn}}catch(cn){Ct[Jt]={...Ct[Jt],status:"error",error:(cn==null?void 0:cn.message)??"Fehler"}}_t([...Ct])}rr(Jt=>Jt+1),Gn(),kt.current=setTimeout(()=>{sn(!1),_t([])},3500)}async function li(){if(F){le("");try{await fetch(`${us}/stop?guildId=${encodeURIComponent(st)}`,{method:"POST"})}catch{}}}async function Fn(){if(!Z.length||!F)return;const _e=Z[Math.floor(Math.random()*Z.length)];Xn(_e)}async function cs(){if(Ee){await li();try{await Lde(st)}catch{}}else{if(!F)return pn("Bitte einen Channel auswaehlen","error");try{await Pde(st,d)}catch{}}}async function Ma(_e){const at=`${_e.guildId}:${_e.channelId}`;V(at),ne(!1);try{await Cde(_e.guildId,_e.channelId)}catch{}}function Ul(_e){Te(at=>({...at,[_e]:!at[_e]}))}async function ae(){tn(!0);try{const _e=await d7("","__all__",void 0,!1);Dt(_e.items||[])}catch(_e){pn((_e==null?void 0:_e.message)||"Admin-Sounds konnten nicht geladen werden","error")}finally{tn(!1)}}function Oe(_e){oe(at=>({...at,[_e]:!at[_e]}))}function Ye(_e){Fe($i(_e)),Et(_e.name)}function $e(){Fe(""),Et("")}async function Ie(){if(!Me)return;const _e=ze.trim().replace(/\.(mp3|wav)$/i,"");if(!_e){pn("Bitte einen gueltigen Namen eingeben","error");return}try{await kde(Me,_e),pn("Sound umbenannt"),$e(),rr(at=>at+1),Qe&&await ae()}catch(at){pn((at==null?void 0:at.message)||"Umbenennen fehlgeschlagen","error")}}async function Bt(_e){if(_e.length!==0)try{await Fde(_e),pn(_e.length===1?"Sound geloescht":`${_e.length} Sounds geloescht`),oe({}),$e(),rr(at=>at+1),Qe&&await ae()}catch(at){pn((at==null?void 0:at.message)||"Loeschen fehlgeschlagen","error")}}async function Vt(){try{await Ode(he)?(It(!0),Ft(""),pn("Admin eingeloggt")):pn("Falsches Passwort","error")}catch{pn("Login fehlgeschlagen","error")}}async function ht(){try{await Ide(),It(!1),oe({}),$e(),pn("Ausgeloggt")}catch{}}const Z=Le.useMemo(()=>v==="favorites"?e.filter(_e=>de[_e.relativePath??_e.fileName]):e,[e,v,de]),Ut=Le.useMemo(()=>Object.values(de).filter(Boolean).length,[de]),bn=Le.useMemo(()=>s.filter(_e=>!["__all__","__recent__","__top3__"].includes(_e.key)),[s]),fn=Le.useMemo(()=>{const _e={};return bn.forEach((at,Ct)=>{_e[at.key]=m7[Ct%m7.length]}),_e},[bn]),ui=Le.useMemo(()=>{const _e=new Set,at=new Set;return Z.forEach((Ct,Jt)=>{const cn=Ct.name.charAt(0).toUpperCase();_e.has(cn)||(_e.add(cn),at.add(Jt))}),at},[Z]),ci=Le.useMemo(()=>{const _e={};return k.forEach(at=>{_e[at.guildName]||(_e[at.guildName]=[]),_e[at.guildName].push(at)}),_e},[k]),_i=Le.useMemo(()=>{const _e=yt.trim().toLowerCase();return _e?ct.filter(at=>{const Ct=$i(at).toLowerCase();return at.name.toLowerCase().includes(_e)||(at.folder||"").toLowerCase().includes(_e)||Ct.includes(_e)}):ct},[yt,ct,$i]),K=Le.useMemo(()=>Object.keys(X).filter(_e=>X[_e]),[X]),Ln=Le.useMemo(()=>_i.filter(_e=>!!X[$i(_e)]).length,[_i,X,$i]),mn=_i.length>0&&Ln===_i.length,yr=h.mostPlayed.slice(0,10),hi=h.totalSounds||n,bs=xt.slice(0,5),fa=xt.slice(5);return W.jsxs("div",{className:"sb-app","data-theme":Se,ref:$n,children:[Ee&&W.jsx("div",{className:"party-overlay active"}),W.jsxs("header",{className:"topbar",children:[W.jsxs("div",{className:"topbar-left",children:[W.jsx("div",{className:"sb-app-logo",children:W.jsx("span",{className:"material-icons",style:{fontSize:16,color:"white"},children:"music_note"})}),W.jsx("span",{className:"sb-app-title",children:"Soundboard"}),W.jsxs("div",{className:"channel-dropdown",onClick:_e=>_e.stopPropagation(),children:[W.jsxs("button",{className:`channel-btn ${ee?"open":""}`,onClick:()=>ne(!ee),children:[W.jsx("span",{className:"material-icons cb-icon",children:"headset"}),F&&W.jsx("span",{className:"channel-status"}),W.jsx("span",{className:"channel-label",children:J?`${J.channelName}${J.members?` (${J.members})`:""}`:"Channel..."}),W.jsx("span",{className:"material-icons chevron",children:"expand_more"})]}),ee&&W.jsxs("div",{className:"channel-menu visible",children:[Object.entries(ci).map(([_e,at])=>W.jsxs(LF.Fragment,{children:[W.jsx("div",{className:"channel-menu-header",children:_e}),at.map(Ct=>W.jsxs("div",{className:`channel-option ${`${Ct.guildId}:${Ct.channelId}`===F?"active":""}`,onClick:()=>Ma(Ct),children:[W.jsx("span",{className:"material-icons co-icon",children:"volume_up"}),Ct.channelName,Ct.members?` (${Ct.members})`:""]},`${Ct.guildId}:${Ct.channelId}`))]},_e)),k.length===0&&W.jsx("div",{className:"channel-option",style:{color:"var(--text-faint)",cursor:"default"},children:"Keine Channels verfuegbar"})]})]})]}),W.jsx("div",{className:"clock-wrap",children:W.jsxs("div",{className:"clock",children:[bs,W.jsx("span",{className:"clock-seconds",children:fa})]})}),W.jsxs("div",{className:"topbar-right",children:[Q&&W.jsxs("div",{className:"now-playing",children:[W.jsxs("div",{className:"np-waves active",children:[W.jsx("div",{className:"np-wave-bar"}),W.jsx("div",{className:"np-wave-bar"}),W.jsx("div",{className:"np-wave-bar"}),W.jsx("div",{className:"np-wave-bar"})]}),W.jsx("span",{className:"np-label",children:"Last Played:"})," ",W.jsx("span",{className:"np-name",children:Q})]}),F&&W.jsxs("div",{className:"connection",onClick:()=>ge(!0),style:{cursor:"pointer"},title:"Verbindungsdetails",children:[W.jsx("span",{className:"conn-dot"}),"Verbunden",(qt==null?void 0:qt.voicePing)!=null&&W.jsxs("span",{className:"conn-ping",children:[qt.voicePing,"ms"]})]}),W.jsx("button",{className:`admin-btn-icon ${Tt?"active":""}`,onClick:()=>it(!0),title:"Admin",children:W.jsx("span",{className:"material-icons",children:"settings"})})]})]}),W.jsxs("div",{className:"toolbar",children:[W.jsxs("div",{className:"cat-tabs",children:[W.jsxs("button",{className:`cat-tab ${v==="all"?"active":""}`,onClick:()=>{x("all"),w("")},children:["Alle",W.jsx("span",{className:"tab-count",children:n})]}),W.jsx("button",{className:`cat-tab ${v==="recent"?"active":""}`,onClick:()=>{x("recent"),w("")},children:"Neu hinzugefuegt"}),W.jsxs("button",{className:`cat-tab ${v==="favorites"?"active":""}`,onClick:()=>{x("favorites"),w("")},children:["Favoriten",Ut>0&&W.jsx("span",{className:"tab-count",children:Ut})]})]}),W.jsxs("div",{className:"search-wrap",children:[W.jsx("span",{className:"material-icons search-icon",children:"search"}),W.jsx("input",{className:"search-input",type:"text",placeholder:"Suchen...",value:R,onChange:_e=>C(_e.target.value)}),R&&W.jsx("button",{className:"search-clear",onClick:()=>C(""),children:W.jsx("span",{className:"material-icons",style:{fontSize:14},children:"close"})})]}),W.jsxs("div",{className:"url-import-wrap",children:[W.jsx("span",{className:"material-icons url-import-icon",children:Ot(E)==="youtube"?"smart_display":Ot(E)==="instagram"?"photo_camera":"link"}),W.jsx("input",{className:"url-import-input",type:"text",placeholder:"YouTube / Instagram / MP3-Link...",value:E,onChange:_e=>B(_e.target.value),onKeyDown:_e=>{_e.key==="Enter"&&un()}}),E&&W.jsx("span",{className:`url-import-tag ${At(E)?"valid":"invalid"}`,children:Ot(E)==="youtube"?"YT":Ot(E)==="instagram"?"IG":Ot(E)==="mp3"?"MP3":"?"}),W.jsx("button",{className:"url-import-btn",onClick:()=>{un()},disabled:L||!!E&&!At(E),title:"Sound herunterladen",children:L?"Laedt...":"Download"})]}),W.jsx("div",{className:"toolbar-spacer"}),W.jsxs("div",{className:"volume-control",children:[W.jsx("span",{className:"material-icons vol-icon",onClick:()=>{const _e=se>0?0:.5;te(_e),st&&p7(st,_e).catch(()=>{})},children:se===0?"volume_off":se<.5?"volume_down":"volume_up"}),W.jsx("input",{type:"range",className:"vol-slider",min:0,max:1,step:.01,value:se,onChange:_e=>{const at=parseFloat(_e.target.value);te(at),st&&(vt.current&&clearTimeout(vt.current),vt.current=setTimeout(()=>{p7(st,at).catch(()=>{})},120))},style:{"--vol":`${Math.round(se*100)}%`}}),W.jsxs("span",{className:"vol-pct",children:[Math.round(se*100),"%"]})]}),W.jsxs("button",{className:"tb-btn random",onClick:Fn,title:"Zufaelliger Sound",children:[W.jsx("span",{className:"material-icons tb-icon",children:"shuffle"}),"Random"]}),W.jsxs("button",{className:`tb-btn party ${Ee?"active":""}`,onClick:cs,title:"Party Mode",children:[W.jsx("span",{className:"material-icons tb-icon",children:Ee?"celebration":"auto_awesome"}),Ee?"Party!":"Party"]}),W.jsxs("button",{className:"tb-btn stop",onClick:li,title:"Alle stoppen",children:[W.jsx("span",{className:"material-icons tb-icon",children:"stop"}),"Stop"]}),W.jsxs("div",{className:"size-control",title:"Button-Groesse",children:[W.jsx("span",{className:"material-icons sc-icon",children:"grid_view"}),W.jsx("input",{type:"range",className:"size-slider",min:80,max:160,value:be,onChange:_e=>We(parseInt(_e.target.value))})]}),W.jsx("div",{className:"theme-selector",children:Gde.map(_e=>W.jsx("div",{className:`theme-dot ${Se===_e.id?"active":""}`,style:{background:_e.color},title:_e.label,onClick:()=>ue(_e.id)},_e.id))})]}),W.jsxs("div",{className:"analytics-strip",children:[W.jsxs("div",{className:"analytics-card",children:[W.jsx("span",{className:"material-icons analytics-icon",children:"library_music"}),W.jsxs("div",{className:"analytics-copy",children:[W.jsx("span",{className:"analytics-label",children:"Sounds gesamt"}),W.jsx("strong",{className:"analytics-value",children:hi})]})]}),W.jsxs("div",{className:"analytics-card analytics-wide",children:[W.jsx("span",{className:"material-icons analytics-icon",children:"leaderboard"}),W.jsxs("div",{className:"analytics-copy",children:[W.jsx("span",{className:"analytics-label",children:"Most Played"}),W.jsx("div",{className:"analytics-top-list",children:yr.length===0?W.jsx("span",{className:"analytics-muted",children:"Noch keine Plays"}):yr.map((_e,at)=>W.jsxs("span",{className:"analytics-chip",children:[at+1,". ",_e.name," (",_e.count,")"]},_e.relativePath))})]})]})]}),v==="all"&&bn.length>0&&W.jsx("div",{className:"category-strip",children:bn.map(_e=>{const at=fn[_e.key]||"#888",Ct=S===_e.key;return W.jsxs("button",{className:`cat-chip ${Ct?"active":""}`,onClick:()=>w(Ct?"":_e.key),style:Ct?{borderColor:at,color:at}:void 0,children:[W.jsx("span",{className:"cat-dot",style:{background:at}}),_e.name.replace(/\s*\(\d+\)\s*$/,""),W.jsx("span",{className:"cat-count",children:_e.count})]},_e.key)})}),W.jsx("main",{className:"main",children:Z.length===0?W.jsxs("div",{className:"empty-state visible",children:[W.jsx("div",{className:"empty-emoji",children:v==="favorites"?"⭐":"🔇"}),W.jsx("div",{className:"empty-title",children:v==="favorites"?"Noch keine Favoriten":R?`Kein Sound fuer "${R}" gefunden`:"Keine Sounds vorhanden"}),W.jsx("div",{className:"empty-desc",children:v==="favorites"?"Klick den Stern auf einem Sound!":"Hier gibt's noch nichts zu hoeren."})]}):W.jsx("div",{className:"sound-grid",children:Z.map((_e,at)=>{var Pr;const Ct=_e.relativePath??_e.fileName,Jt=!!de[Ct],cn=Q===_e.name,Yn=_e.isRecent||((Pr=_e.badges)==null?void 0:Pr.includes("new")),yi=_e.name.charAt(0).toUpperCase(),js=ui.has(at),pi=_e.folder&&fn[_e.folder]||"var(--accent)";return W.jsxs("div",{className:`sound-card ${cn?"playing":""} ${js?"has-initial":""}`,style:{animationDelay:`${Math.min(at*20,400)}ms`},onClick:Ei=>{const Zh=Ei.currentTarget,Bl=Zh.getBoundingClientRect(),nl=document.createElement("div");nl.className="ripple";const Bi=Math.max(Bl.width,Bl.height);nl.style.width=nl.style.height=Bi+"px",nl.style.left=Ei.clientX-Bl.left-Bi/2+"px",nl.style.top=Ei.clientY-Bl.top-Bi/2+"px",Zh.appendChild(nl),setTimeout(()=>nl.remove(),500),Xn(_e)},onContextMenu:Ei=>{Ei.preventDefault(),Ei.stopPropagation(),xn({x:Math.min(Ei.clientX,window.innerWidth-170),y:Math.min(Ei.clientY,window.innerHeight-140),sound:_e})},title:`${_e.name}${_e.folder?` (${_e.folder})`:""}`,children:[Yn&&W.jsx("span",{className:"new-badge",children:"NEU"}),W.jsx("span",{className:`fav-star ${Jt?"active":""}`,onClick:Ei=>{Ei.stopPropagation(),Ul(Ct)},children:W.jsx("span",{className:"material-icons fav-icon",children:Jt?"star":"star_border"})}),js&&W.jsx("span",{className:"sound-emoji",style:{color:pi},children:yi}),W.jsx("span",{className:"sound-name",children:_e.name}),_e.folder&&W.jsx("span",{className:"sound-duration",children:_e.folder}),W.jsxs("div",{className:"playing-indicator",children:[W.jsx("div",{className:"wave-bar"}),W.jsx("div",{className:"wave-bar"}),W.jsx("div",{className:"wave-bar"}),W.jsx("div",{className:"wave-bar"})]})]},Ct)})})}),zt&&W.jsxs("div",{className:"ctx-menu visible",style:{left:zt.x,top:zt.y},onClick:_e=>_e.stopPropagation(),children:[W.jsxs("div",{className:"ctx-item",onClick:()=>{Xn(zt.sound),xn(null)},children:[W.jsx("span",{className:"material-icons ctx-icon",children:"play_arrow"}),"Abspielen"]}),W.jsxs("div",{className:"ctx-item",onClick:()=>{Ul(zt.sound.relativePath??zt.sound.fileName),xn(null)},children:[W.jsx("span",{className:"material-icons ctx-icon",children:de[zt.sound.relativePath??zt.sound.fileName]?"star":"star_border"}),"Favorit"]}),Tt&&W.jsxs(W.Fragment,{children:[W.jsx("div",{className:"ctx-sep"}),W.jsxs("div",{className:"ctx-item danger",onClick:async()=>{const _e=zt.sound.relativePath??zt.sound.fileName;await Bt([_e]),xn(null)},children:[W.jsx("span",{className:"material-icons ctx-icon",children:"delete"}),"Loeschen"]})]})]}),Mi&&(()=>{const _e=qt!=null&&qt.connectedSince?Math.floor((Date.now()-new Date(qt.connectedSince).getTime())/1e3):0,at=Math.floor(_e/3600),Ct=Math.floor(_e%3600/60),Jt=_e%60,cn=at>0?`${at}h ${String(Ct).padStart(2,"0")}m ${String(Jt).padStart(2,"0")}s`:Ct>0?`${Ct}m ${String(Jt).padStart(2,"0")}s`:`${Jt}s`,Yn=yi=>yi==null?"var(--muted)":yi<80?"var(--green)":yi<150?"#f0a830":"#e04040";return W.jsx("div",{className:"conn-modal-overlay",onClick:()=>ge(!1),children:W.jsxs("div",{className:"conn-modal",onClick:yi=>yi.stopPropagation(),children:[W.jsxs("div",{className:"conn-modal-header",children:[W.jsx("span",{className:"material-icons",style:{fontSize:20,color:"var(--green)"},children:"cell_tower"}),W.jsx("span",{children:"Verbindungsdetails"}),W.jsx("button",{className:"conn-modal-close",onClick:()=>ge(!1),children:W.jsx("span",{className:"material-icons",children:"close"})})]}),W.jsxs("div",{className:"conn-modal-body",children:[W.jsxs("div",{className:"conn-stat",children:[W.jsx("span",{className:"conn-stat-label",children:"Voice Ping"}),W.jsxs("span",{className:"conn-stat-value",children:[W.jsx("span",{className:"conn-ping-dot",style:{background:Yn((qt==null?void 0:qt.voicePing)??null)}}),(qt==null?void 0:qt.voicePing)!=null?`${qt.voicePing} ms`:"---"]})]}),W.jsxs("div",{className:"conn-stat",children:[W.jsx("span",{className:"conn-stat-label",children:"Gateway Ping"}),W.jsxs("span",{className:"conn-stat-value",children:[W.jsx("span",{className:"conn-ping-dot",style:{background:Yn((qt==null?void 0:qt.gatewayPing)??null)}}),qt&&qt.gatewayPing>=0?`${qt.gatewayPing} ms`:"---"]})]}),W.jsxs("div",{className:"conn-stat",children:[W.jsx("span",{className:"conn-stat-label",children:"Status"}),W.jsx("span",{className:"conn-stat-value",style:{color:(qt==null?void 0:qt.status)==="ready"?"var(--green)":"#f0a830"},children:(qt==null?void 0:qt.status)==="ready"?"Verbunden":(qt==null?void 0:qt.status)??"Warte auf Verbindung"})]}),W.jsxs("div",{className:"conn-stat",children:[W.jsx("span",{className:"conn-stat-label",children:"Kanal"}),W.jsx("span",{className:"conn-stat-value",children:(qt==null?void 0:qt.channelName)||"---"})]}),W.jsxs("div",{className:"conn-stat",children:[W.jsx("span",{className:"conn-stat-label",children:"Verbunden seit"}),W.jsx("span",{className:"conn-stat-value",children:cn||"---"})]})]})]})})})(),Wt&&W.jsxs("div",{className:`toast ${Wt.type}`,children:[W.jsx("span",{className:"material-icons toast-icon",children:Wt.type==="error"?"error_outline":"check_circle"}),Wt.msg]}),Qe&&W.jsx("div",{className:"admin-overlay",onClick:_e=>{_e.target===_e.currentTarget&&it(!1)},children:W.jsxs("div",{className:"admin-panel",children:[W.jsxs("h3",{children:["Admin",W.jsx("button",{className:"admin-close",onClick:()=>it(!1),children:W.jsx("span",{className:"material-icons",style:{fontSize:18},children:"close"})})]}),Tt?W.jsxs("div",{className:"admin-shell",children:[W.jsxs("div",{className:"admin-header-row",children:[W.jsx("p",{className:"admin-status",children:"Eingeloggt als Admin"}),W.jsxs("div",{className:"admin-actions-inline",children:[W.jsx("button",{className:"admin-btn-action outline",onClick:()=>{ae()},disabled:gt,children:"Aktualisieren"}),W.jsx("button",{className:"admin-btn-action outline",onClick:ht,children:"Logout"})]})]}),W.jsxs("div",{className:"admin-field admin-search-field",children:[W.jsx("label",{children:"Sounds verwalten"}),W.jsx("input",{type:"text",value:yt,onChange:_e=>fe(_e.target.value),placeholder:"Nach Name, Ordner oder Pfad filtern..."})]}),W.jsxs("div",{className:"admin-bulk-row",children:[W.jsxs("label",{className:"admin-select-all",children:[W.jsx("input",{type:"checkbox",checked:mn,onChange:_e=>{const at=_e.target.checked,Ct={...X};_i.forEach(Jt=>{Ct[$i(Jt)]=at}),oe(Ct)}}),W.jsxs("span",{children:["Alle sichtbaren auswaehlen (",Ln,"/",_i.length,")"]})]}),W.jsx("button",{className:"admin-btn-action danger",disabled:K.length===0,onClick:async()=>{window.confirm(`Wirklich ${K.length} Sound(s) loeschen?`)&&await Bt(K)},children:"Ausgewaehlte loeschen"})]}),W.jsx("div",{className:"admin-list-wrap",children:gt?W.jsx("div",{className:"admin-empty",children:"Lade Sounds..."}):_i.length===0?W.jsx("div",{className:"admin-empty",children:"Keine Sounds gefunden."}):W.jsx("div",{className:"admin-list",children:_i.map(_e=>{const at=$i(_e),Ct=Me===at;return W.jsxs("div",{className:"admin-item",children:[W.jsx("label",{className:"admin-item-check",children:W.jsx("input",{type:"checkbox",checked:!!X[at],onChange:()=>Oe(at)})}),W.jsxs("div",{className:"admin-item-main",children:[W.jsx("div",{className:"admin-item-name",children:_e.name}),W.jsxs("div",{className:"admin-item-meta",children:[_e.folder?`Ordner: ${_e.folder}`:"Root"," · ",at]}),Ct&&W.jsxs("div",{className:"admin-rename-row",children:[W.jsx("input",{value:ze,onChange:Jt=>Et(Jt.target.value),onKeyDown:Jt=>{Jt.key==="Enter"&&Ie(),Jt.key==="Escape"&&$e()},placeholder:"Neuer Name..."}),W.jsx("button",{className:"admin-btn-action primary",onClick:()=>{Ie()},children:"Speichern"}),W.jsx("button",{className:"admin-btn-action outline",onClick:$e,children:"Abbrechen"})]})]}),!Ct&&W.jsxs("div",{className:"admin-item-actions",children:[W.jsx("button",{className:"admin-btn-action outline",onClick:()=>Ye(_e),children:"Umbenennen"}),W.jsx("button",{className:"admin-btn-action danger ghost",onClick:async()=>{window.confirm(`Sound "${_e.name}" loeschen?`)&&await Bt([at])},children:"Loeschen"})]})]},at)})})})]}):W.jsxs("div",{children:[W.jsxs("div",{className:"admin-field",children:[W.jsx("label",{children:"Passwort"}),W.jsx("input",{type:"password",value:he,onChange:_e=>Ft(_e.target.value),onKeyDown:_e=>_e.key==="Enter"&&Vt(),placeholder:"Admin-Passwort..."})]}),W.jsx("button",{className:"admin-btn-action primary",onClick:Vt,children:"Login"})]})]})}),Rt&&W.jsx("div",{className:"drop-overlay",children:W.jsxs("div",{className:"drop-zone",children:[W.jsx("span",{className:"material-icons drop-icon",children:"cloud_upload"}),W.jsx("div",{className:"drop-title",children:"MP3 & WAV hier ablegen"}),W.jsx("div",{className:"drop-sub",children:"Mehrere Dateien gleichzeitig moeglich"})]})}),Zt&&Xt.length>0&&W.jsxs("div",{className:"upload-queue",children:[W.jsxs("div",{className:"uq-header",children:[W.jsx("span",{className:"material-icons",style:{fontSize:16},children:"upload"}),W.jsx("span",{children:Xt.every(_e=>_e.status==="done"||_e.status==="error")?`${Xt.filter(_e=>_e.status==="done").length} von ${Xt.length} hochgeladen`:`Lade hoch… (${Xt.filter(_e=>_e.status==="done").length}/${Xt.length})`}),W.jsx("button",{className:"uq-close",onClick:()=>{sn(!1),_t([])},children:W.jsx("span",{className:"material-icons",style:{fontSize:14},children:"close"})})]}),W.jsx("div",{className:"uq-list",children:Xt.map(_e=>W.jsxs("div",{className:`uq-item uq-${_e.status}`,children:[W.jsx("span",{className:"material-icons uq-file-icon",children:"audio_file"}),W.jsxs("div",{className:"uq-info",children:[W.jsx("div",{className:"uq-name",title:_e.savedName??_e.file.name,children:_e.savedName??_e.file.name}),W.jsxs("div",{className:"uq-size",children:[(_e.file.size/1024).toFixed(0)," KB"]})]}),(_e.status==="waiting"||_e.status==="uploading")&&W.jsx("div",{className:"uq-progress-wrap",children:W.jsx("div",{className:"uq-progress-bar",style:{width:`${_e.progress}%`}})}),W.jsx("span",{className:`material-icons uq-status-icon uq-status-${_e.status}`,children:_e.status==="done"?"check_circle":_e.status==="error"?"error":_e.status==="uploading"?"sync":"schedule"}),_e.status==="error"&&W.jsx("div",{className:"uq-error",children:_e.error})]},_e.id))})]}),z&&W.jsx("div",{className:"dl-modal-overlay",onClick:()=>z.phase!=="downloading"&&G(null),children:W.jsxs("div",{className:"dl-modal",onClick:_e=>_e.stopPropagation(),children:[W.jsxs("div",{className:"dl-modal-header",children:[W.jsx("span",{className:"material-icons",style:{fontSize:20},children:z.type==="youtube"?"smart_display":z.type==="instagram"?"photo_camera":"audio_file"}),W.jsx("span",{children:z.phase==="input"?"Sound herunterladen":z.phase==="downloading"?"Wird heruntergeladen...":z.phase==="done"?"Fertig!":"Fehler"}),z.phase!=="downloading"&&W.jsx("button",{className:"dl-modal-close",onClick:()=>G(null),children:W.jsx("span",{className:"material-icons",style:{fontSize:16},children:"close"})})]}),W.jsxs("div",{className:"dl-modal-body",children:[W.jsxs("div",{className:"dl-modal-url",children:[W.jsx("span",{className:`dl-modal-tag ${z.type??""}`,children:z.type==="youtube"?"YouTube":z.type==="instagram"?"Instagram":"MP3"}),W.jsx("span",{className:"dl-modal-url-text",title:z.url,children:z.url.length>60?z.url.slice(0,57)+"...":z.url})]}),z.phase==="input"&&W.jsxs("div",{className:"dl-modal-field",children:[W.jsx("label",{className:"dl-modal-label",children:"Dateiname"}),W.jsxs("div",{className:"dl-modal-input-wrap",children:[W.jsx("input",{className:"dl-modal-input",type:"text",placeholder:z.type==="mp3"?"Dateiname...":"Wird automatisch erkannt...",value:z.filename,onChange:_e=>G(at=>at?{...at,filename:_e.target.value}:null),onKeyDown:_e=>{_e.key==="Enter"&&qn()},autoFocus:!0}),W.jsx("span",{className:"dl-modal-ext",children:".mp3"})]}),W.jsx("span",{className:"dl-modal-hint",children:"Leer lassen = automatischer Name"})]}),z.phase==="downloading"&&W.jsxs("div",{className:"dl-modal-progress",children:[W.jsx("div",{className:"dl-modal-spinner"}),W.jsx("span",{children:z.type==="youtube"||z.type==="instagram"?"Audio wird extrahiert...":"MP3 wird heruntergeladen..."})]}),z.phase==="done"&&W.jsxs("div",{className:"dl-modal-success",children:[W.jsx("span",{className:"material-icons dl-modal-check",children:"check_circle"}),W.jsxs("span",{children:["Gespeichert als ",W.jsx("b",{children:z.savedName})]})]}),z.phase==="error"&&W.jsxs("div",{className:"dl-modal-error",children:[W.jsx("span",{className:"material-icons",style:{color:"#e74c3c"},children:"error"}),W.jsx("span",{children:z.error})]})]}),z.phase==="input"&&W.jsxs("div",{className:"dl-modal-actions",children:[W.jsx("button",{className:"dl-modal-cancel",onClick:()=>G(null),children:"Abbrechen"}),W.jsxs("button",{className:"dl-modal-submit",onClick:()=>void qn(),children:[W.jsx("span",{className:"material-icons",style:{fontSize:16},children:"download"}),"Herunterladen"]})]}),z.phase==="error"&&W.jsxs("div",{className:"dl-modal-actions",children:[W.jsx("button",{className:"dl-modal-cancel",onClick:()=>G(null),children:"Schliessen"}),W.jsxs("button",{className:"dl-modal-submit",onClick:()=>G(_e=>_e?{..._e,phase:"input",error:void 0}:null),children:[W.jsx("span",{className:"material-icons",style:{fontSize:16},children:"refresh"}),"Nochmal"]})]})]})})]})}const g7={IRON:"#6b6b6b",BRONZE:"#8c6239",SILVER:"#8c8c8c",GOLD:"#d4a017",PLATINUM:"#28b29e",EMERALD:"#1e9e5e",DIAMOND:"#576cce",MASTER:"#9d48e0",GRANDMASTER:"#e44c3e",CHALLENGER:"#f4c874"},Vde={SOLORANKED:"Ranked Solo",FLEXRANKED:"Ranked Flex",NORMAL:"Normal",ARAM:"ARAM",ARENA:"Arena",URF:"URF",BOT:"Co-op vs AI"},Hde="https://ddragon.leagueoflegends.com/cdn/15.5.1/img";function zv(i){return`${Hde}/champion/${i}.png`}function v7(i){const e=Math.floor((Date.now()-new Date(i).getTime())/1e3);return e<60?`${e}s`:e<3600?`${Math.floor(e/60)}m`:e<86400?`${Math.floor(e/3600)}h`:`${Math.floor(e/86400)}d`}function jde(i){const e=Math.floor(i/60),t=i%60;return`${e}:${String(t).padStart(2,"0")}`}function _7(i,e,t){return e===0?"Perfect":((i+t)/e).toFixed(2)}function y7(i,e){const t=i+e;return t>0?Math.round(i/t*100):0}function Wde(i,e){if(!i)return"Unranked";const t=["","I","II","III","IV"];return`${i.charAt(0)}${i.slice(1).toLowerCase()}${e?" "+(t[e]??e):""}`}function $de({data:i}){var be,We,Ee,Ge;const[e,t]=Le.useState(""),[n,r]=Le.useState("EUW"),[s,a]=Le.useState([]),[l,u]=Le.useState(null),[h,g]=Le.useState([]),[v,x]=Le.useState(!1),[S,w]=Le.useState(null),[R,C]=Le.useState([]),[E,B]=Le.useState(null),[L,O]=Le.useState({}),[z,G]=Le.useState(!1),[k,H]=Le.useState(!1),[F,V]=Le.useState(null),Y=Le.useRef(null),ee=Le.useRef(null);Le.useEffect(()=>{fetch("/api/lolstats/regions").then(ye=>ye.json()).then(a).catch(()=>{}),fetch("/api/lolstats/recent").then(ye=>ye.json()).then(C).catch(()=>{})},[]),Le.useEffect(()=>{i&&(i.recentSearches&&C(i.recentSearches),i.regions&&!s.length&&a(i.regions))},[i]);const ne=Le.useCallback(async(ye,Pe,pt)=>{H(!0);try{const vt=`gameName=${encodeURIComponent(ye)}&tagLine=${encodeURIComponent(Pe)}®ion=${pt}`,Tt=await fetch(`/api/lolstats/renew?${vt}`,{method:"POST"});if(Tt.ok){const It=await Tt.json();return It.last_updated_at&&V(It.last_updated_at),It.renewed??!1}}catch{}return H(!1),!1},[]),se=Le.useCallback(async(ye,Pe,pt,vt=!1)=>{var it,he;let Tt=ye??"",It=Pe??"";const Qe=pt??n;if(!Tt){const Ft=e.split("#");Tt=((it=Ft[0])==null?void 0:it.trim())??"",It=((he=Ft[1])==null?void 0:he.trim())??""}if(!Tt||!It){w("Bitte im Format Name#Tag eingeben");return}x(!0),w(null),u(null),g([]),B(null),O({}),ee.current={gameName:Tt,tagLine:It,region:Qe},vt||ne(Tt,It,Qe).finally(()=>H(!1));try{const Ft=`gameName=${encodeURIComponent(Tt)}&tagLine=${encodeURIComponent(It)}®ion=${Qe}`,[ct,Dt]=await Promise.all([fetch(`/api/lolstats/profile?${Ft}`),fetch(`/api/lolstats/matches?${Ft}&limit=10`)]);if(!ct.ok){const tn=await ct.json();throw new Error(tn.error??`Fehler ${ct.status}`)}const gt=await ct.json();if(u(gt),gt.updated_at&&V(gt.updated_at),Dt.ok){const tn=await Dt.json();g(Array.isArray(tn)?tn:[])}}catch(Ft){w(Ft.message)}x(!1)},[e,n,ne]),te=Le.useCallback(async()=>{const ye=ee.current;if(!(!ye||k)){H(!0);try{await ne(ye.gameName,ye.tagLine,ye.region),await new Promise(Pe=>setTimeout(Pe,1500)),await se(ye.gameName,ye.tagLine,ye.region,!0)}finally{H(!1)}}},[ne,se,k]),Q=Le.useCallback(async()=>{if(!(!l||z)){G(!0);try{const ye=`gameName=${encodeURIComponent(l.game_name)}&tagLine=${encodeURIComponent(l.tagline)}®ion=${n}&limit=20`,Pe=await fetch(`/api/lolstats/matches?${ye}`);if(Pe.ok){const pt=await Pe.json();g(Array.isArray(pt)?pt:[])}}catch{}G(!1)}},[l,n,z]),le=Le.useCallback(async ye=>{var Pe;if(E===ye.id){B(null);return}if(B(ye.id),!(((Pe=ye.participants)==null?void 0:Pe.length)>=10||L[ye.id]))try{const pt=`region=${n}&createdAt=${encodeURIComponent(ye.created_at)}`,vt=await fetch(`/api/lolstats/match/${encodeURIComponent(ye.id)}?${pt}`);if(vt.ok){const Tt=await vt.json();O(It=>({...It,[ye.id]:Tt}))}}catch{}},[E,L,n]),de=Le.useCallback(ye=>{t(`${ye.game_name}#${ye.tag_line}`),r(ye.region),se(ye.game_name,ye.tag_line,ye.region)},[se]),Te=Le.useCallback(ye=>{var pt,vt,Tt;if(!l)return((pt=ye.participants)==null?void 0:pt[0])??null;const Pe=l.game_name.toLowerCase();return((vt=ye.participants)==null?void 0:vt.find(It=>{var Qe,it;return((it=(Qe=It.summoner)==null?void 0:Qe.game_name)==null?void 0:it.toLowerCase())===Pe}))??((Tt=ye.participants)==null?void 0:Tt[0])??null},[l]),Se=ye=>{var he,Ft,ct;const Pe=Te(ye);if(!Pe)return null;const pt=((he=Pe.stats)==null?void 0:he.result)==="WIN",vt=_7(Pe.stats.kill,Pe.stats.death,Pe.stats.assist),Tt=(Pe.stats.minion_kill??0)+(Pe.stats.neutral_minion_kill??0),It=ye.game_length_second>0?(Tt/(ye.game_length_second/60)).toFixed(1):"0",Qe=E===ye.id,it=L[ye.id]??(((Ft=ye.participants)==null?void 0:Ft.length)>=10?ye:null);return W.jsxs("div",{children:[W.jsxs("div",{className:`lol-match ${pt?"win":"loss"}`,onClick:()=>le(ye),children:[W.jsx("div",{className:"lol-match-result",children:pt?"W":"L"}),W.jsxs("div",{className:"lol-match-champ",children:[W.jsx("img",{src:zv(Pe.champion_name),alt:Pe.champion_name,title:Pe.champion_name}),W.jsx("span",{className:"lol-match-champ-level",children:Pe.stats.champion_level})]}),W.jsxs("div",{className:"lol-match-kda",children:[W.jsxs("div",{className:"lol-match-kda-nums",children:[Pe.stats.kill,"/",Pe.stats.death,"/",Pe.stats.assist]}),W.jsxs("div",{className:`lol-match-kda-ratio ${vt==="Perfect"?"perfect":Number(vt)>=4?"great":""}`,children:[vt," KDA"]})]}),W.jsxs("div",{className:"lol-match-stats",children:[W.jsxs("span",{children:[Tt," CS (",It,"/m)"]}),W.jsxs("span",{children:[Pe.stats.ward_place," wards"]})]}),W.jsx("div",{className:"lol-match-items",children:(Pe.items_names??[]).slice(0,7).map((Dt,gt)=>Dt?W.jsx("img",{src:zv("Aatrox"),alt:Dt,title:Dt,style:{background:"var(--bg-deep)"},onError:tn=>{tn.target.style.display="none"}},gt):W.jsx("div",{className:"lol-match-item-empty"},gt))}),W.jsxs("div",{className:"lol-match-meta",children:[W.jsx("div",{className:"lol-match-duration",children:jde(ye.game_length_second)}),W.jsx("div",{className:"lol-match-queue",children:Vde[ye.game_type]??ye.game_type}),W.jsxs("div",{className:"lol-match-ago",children:[v7(ye.created_at)," ago"]})]})]}),Qe&&it&&W.jsx("div",{className:"lol-match-detail",children:ue(it,(ct=Pe.summoner)==null?void 0:ct.game_name)})]},ye.id)},ue=(ye,Pe)=>{var Qe,it,he,Ft,ct;const pt=((Qe=ye.participants)==null?void 0:Qe.filter(Dt=>Dt.team_key==="BLUE"))??[],vt=((it=ye.participants)==null?void 0:it.filter(Dt=>Dt.team_key==="RED"))??[],Tt=(ct=(Ft=(he=ye.teams)==null?void 0:he.find(Dt=>Dt.key==="BLUE"))==null?void 0:Ft.game_stat)==null?void 0:ct.is_win,It=(Dt,gt,tn)=>W.jsxs("div",{className:"lol-match-detail-team",children:[W.jsxs("div",{className:`lol-match-detail-team-header ${gt?"win":"loss"}`,children:[tn," — ",gt?"Victory":"Defeat"]}),Dt.map((yt,fe)=>{var Me,Fe,ze,Et,Rt,Ht,Xt,_t,Zt,sn,jt,kt;const X=((Fe=(Me=yt.summoner)==null?void 0:Me.game_name)==null?void 0:Fe.toLowerCase())===(Pe==null?void 0:Pe.toLowerCase()),oe=(((ze=yt.stats)==null?void 0:ze.minion_kill)??0)+(((Et=yt.stats)==null?void 0:Et.neutral_minion_kill)??0);return W.jsxs("div",{className:`lol-detail-row ${X?"me":""}`,children:[W.jsx("img",{className:"lol-detail-champ",src:zv(yt.champion_name),alt:yt.champion_name}),W.jsx("span",{className:"lol-detail-name",title:`${(Rt=yt.summoner)==null?void 0:Rt.game_name}#${(Ht=yt.summoner)==null?void 0:Ht.tagline}`,children:((Xt=yt.summoner)==null?void 0:Xt.game_name)??yt.champion_name}),W.jsxs("span",{className:"lol-detail-kda",children:[(_t=yt.stats)==null?void 0:_t.kill,"/",(Zt=yt.stats)==null?void 0:Zt.death,"/",(sn=yt.stats)==null?void 0:sn.assist]}),W.jsxs("span",{className:"lol-detail-cs",children:[oe," CS"]}),W.jsxs("span",{className:"lol-detail-dmg",children:[((((jt=yt.stats)==null?void 0:jt.total_damage_dealt_to_champions)??0)/1e3).toFixed(1),"k"]}),W.jsxs("span",{className:"lol-detail-gold",children:[((((kt=yt.stats)==null?void 0:kt.gold_earned)??0)/1e3).toFixed(1),"k"]})]},fe)})]});return W.jsxs(W.Fragment,{children:[It(pt,Tt,"Blue Team"),It(vt,Tt===void 0?void 0:!Tt,"Red Team")]})};return W.jsxs("div",{className:"lol-container",children:[W.jsxs("div",{className:"lol-search",children:[W.jsx("input",{ref:Y,className:"lol-search-input",placeholder:"Summoner Name#Tag",value:e,onChange:ye=>t(ye.target.value),onKeyDown:ye=>ye.key==="Enter"&&se()}),W.jsx("select",{className:"lol-search-region",value:n,onChange:ye=>r(ye.target.value),children:s.map(ye=>W.jsx("option",{value:ye.code,children:ye.code},ye.code))}),W.jsx("button",{className:"lol-search-btn",onClick:()=>se(),disabled:v,children:v?"...":"Search"})]}),R.length>0&&W.jsx("div",{className:"lol-recent",children:R.map((ye,Pe)=>W.jsxs("button",{className:"lol-recent-chip",onClick:()=>de(ye),children:[ye.profile_image_url&&W.jsx("img",{src:ye.profile_image_url,alt:""}),ye.game_name,"#",ye.tag_line,ye.tier&&W.jsx("span",{className:"lol-recent-tier",style:{color:g7[ye.tier]},children:ye.tier})]},Pe))}),S&&W.jsx("div",{className:"lol-error",children:S}),v&&W.jsxs("div",{className:"lol-loading",children:[W.jsx("div",{className:"lol-spinner"}),"Lade Profil..."]}),l&&!v&&W.jsxs(W.Fragment,{children:[W.jsxs("div",{className:"lol-profile",children:[W.jsx("img",{className:"lol-profile-icon",src:l.profile_image_url,alt:""}),W.jsxs("div",{className:"lol-profile-info",children:[W.jsxs("h2",{children:[l.game_name,W.jsxs("span",{children:["#",l.tagline]})]}),W.jsxs("div",{className:"lol-profile-level",children:["Level ",l.level]}),((be=l.ladder_rank)==null?void 0:be.rank)&&W.jsxs("div",{className:"lol-profile-ladder",children:["Ladder Rank #",l.ladder_rank.rank.toLocaleString()," / ",(We=l.ladder_rank.total)==null?void 0:We.toLocaleString()]}),F&&W.jsxs("div",{className:"lol-profile-updated",children:["Updated ",v7(F)," ago"]})]}),W.jsxs("button",{className:`lol-update-btn ${k?"renewing":""}`,onClick:te,disabled:k,title:"Refresh data from Riot servers",children:[W.jsx("span",{className:"lol-update-icon",children:k?"⟳":"↻"}),k?"Updating...":"Update"]})]}),W.jsx("div",{className:"lol-ranked-row",children:(l.league_stats??[]).filter(ye=>ye.game_type==="SOLORANKED"||ye.game_type==="FLEXRANKED").map(ye=>{const Pe=ye.tier_info,pt=!!(Pe!=null&&Pe.tier),vt=g7[(Pe==null?void 0:Pe.tier)??""]??"var(--text-normal)";return W.jsxs("div",{className:`lol-ranked-card ${pt?"has-rank":""}`,style:{"--tier-color":vt},children:[W.jsx("div",{className:"lol-ranked-type",children:ye.game_type==="SOLORANKED"?"Ranked Solo/Duo":"Ranked Flex"}),pt?W.jsxs(W.Fragment,{children:[W.jsxs("div",{className:"lol-ranked-tier",style:{color:vt},children:[Wde(Pe.tier,Pe.division),W.jsxs("span",{className:"lol-ranked-lp",children:[Pe.lp," LP"]})]}),W.jsxs("div",{className:"lol-ranked-record",children:[ye.win,"W ",ye.lose,"L",W.jsxs("span",{className:"lol-ranked-wr",children:["(",y7(ye.win??0,ye.lose??0),"%)"]}),ye.is_hot_streak&&W.jsx("span",{className:"lol-ranked-streak",children:"🔥"})]})]}):W.jsx("div",{className:"lol-ranked-tier",children:"Unranked"})]},ye.game_type)})}),((Ge=(Ee=l.most_champions)==null?void 0:Ee.champion_stats)==null?void 0:Ge.length)>0&&W.jsxs(W.Fragment,{children:[W.jsx("div",{className:"lol-section-title",children:"Top Champions"}),W.jsx("div",{className:"lol-champs",children:l.most_champions.champion_stats.slice(0,7).map(ye=>{const Pe=y7(ye.win,ye.lose),pt=ye.play>0?_7(ye.kill/ye.play,ye.death/ye.play,ye.assist/ye.play):"0";return W.jsxs("div",{className:"lol-champ-card",children:[W.jsx("img",{className:"lol-champ-icon",src:zv(ye.champion_name),alt:ye.champion_name}),W.jsxs("div",{children:[W.jsx("div",{className:"lol-champ-name",children:ye.champion_name}),W.jsxs("div",{className:"lol-champ-stats",children:[ye.play," games · ",Pe,"% WR"]}),W.jsxs("div",{className:"lol-champ-kda",children:[pt," KDA"]})]})]},ye.champion_name)})})]}),h.length>0&&W.jsxs(W.Fragment,{children:[W.jsx("div",{className:"lol-section-title",children:"Match History"}),W.jsx("div",{className:"lol-matches",children:h.map(ye=>Se(ye))}),h.length<20&&W.jsx("button",{className:"lol-load-more",onClick:Q,disabled:z,children:z?"Laden...":"Mehr laden"})]})]}),!l&&!v&&!S&&W.jsxs("div",{className:"lol-empty",children:[W.jsx("div",{className:"lol-empty-icon",children:"⚔️"}),W.jsx("h3",{children:"League of Legends Stats"}),W.jsx("p",{children:"Gib einen Summoner Name#Tag ein und wähle die Region"})]})]})}const x7={iceServers:[{urls:"stun:stun.l.google.com:19302"},{urls:"stun:stun1.l.google.com:19302"}]};function qS(i){const e=Math.max(0,Math.floor((Date.now()-new Date(i).getTime())/1e3)),t=Math.floor(e/3600),n=Math.floor(e%3600/60),r=e%60;return t>0?`${t}:${String(n).padStart(2,"0")}:${String(r).padStart(2,"0")}`:`${n}:${String(r).padStart(2,"0")}`}function Xde({data:i}){var fe,X;const[e,t]=Le.useState([]),[n,r]=Le.useState(()=>localStorage.getItem("streaming_name")||""),[s,a]=Le.useState("Screen Share"),[l,u]=Le.useState(""),[h,g]=Le.useState(null),[v,x]=Le.useState(null),[S,w]=Le.useState(null),[R,C]=Le.useState(!1),[E,B]=Le.useState(!1),[L,O]=Le.useState(null),[,z]=Le.useState(0),[G,k]=Le.useState(null),[H,F]=Le.useState(null),V=Le.useRef(null),Y=Le.useRef(""),ee=Le.useRef(null),ne=Le.useRef(null),se=Le.useRef(null),te=Le.useRef(new Map),Q=Le.useRef(null),le=Le.useRef(new Map),de=Le.useRef(null),Te=Le.useRef(1e3),Se=Le.useRef(!1),ue=Le.useRef(null);Le.useEffect(()=>{Se.current=R},[R]),Le.useEffect(()=>{ue.current=L},[L]),Le.useEffect(()=>{if(!(e.length>0||R))return;const Me=setInterval(()=>z(Fe=>Fe+1),1e3);return()=>clearInterval(Me)},[e.length,R]),Le.useEffect(()=>{i!=null&&i.streams&&t(i.streams)},[i]),Le.useEffect(()=>{n&&localStorage.setItem("streaming_name",n)},[n]),Le.useEffect(()=>{if(!G)return;const oe=()=>k(null);return document.addEventListener("click",oe),()=>document.removeEventListener("click",oe)},[G]);const be=Le.useCallback(oe=>{var Me;((Me=V.current)==null?void 0:Me.readyState)===WebSocket.OPEN&&V.current.send(JSON.stringify(oe))},[]),We=Le.useCallback((oe,Me,Fe)=>{if(oe.remoteDescription)oe.addIceCandidate(new RTCIceCandidate(Fe)).catch(()=>{});else{let ze=le.current.get(Me);ze||(ze=[],le.current.set(Me,ze)),ze.push(Fe)}},[]),Ee=Le.useCallback((oe,Me)=>{const Fe=le.current.get(Me);if(Fe){for(const ze of Fe)oe.addIceCandidate(new RTCIceCandidate(ze)).catch(()=>{});le.current.delete(Me)}},[]),Ge=Le.useCallback(()=>{Q.current&&(Q.current.close(),Q.current=null),se.current&&(se.current.srcObject=null)},[]),ye=Le.useRef(()=>{});ye.current=oe=>{var Me;switch(oe.type){case"welcome":Y.current=oe.clientId,oe.streams&&t(oe.streams);break;case"broadcast_started":w(oe.streamId),C(!0),Se.current=!0,B(!1);break;case"stream_available":break;case"stream_ended":((Me=ue.current)==null?void 0:Me.streamId)===oe.streamId&&(Ge(),O(null));break;case"viewer_joined":{const Fe=oe.viewerId,ze=te.current.get(Fe);ze&&(ze.close(),te.current.delete(Fe)),le.current.delete(Fe);const Et=new RTCPeerConnection(x7);te.current.set(Fe,Et);const Rt=ee.current;if(Rt)for(const Xt of Rt.getTracks())Et.addTrack(Xt,Rt);Et.onicecandidate=Xt=>{Xt.candidate&&be({type:"ice_candidate",targetId:Fe,candidate:Xt.candidate.toJSON()})};const Ht=Et.getSenders().find(Xt=>{var _t;return((_t=Xt.track)==null?void 0:_t.kind)==="video"});if(Ht){const Xt=Ht.getParameters();(!Xt.encodings||Xt.encodings.length===0)&&(Xt.encodings=[{}]),Xt.encodings[0].maxFramerate=60,Xt.encodings[0].maxBitrate=8e6,Ht.setParameters(Xt).catch(()=>{})}Et.createOffer().then(Xt=>Et.setLocalDescription(Xt)).then(()=>be({type:"offer",targetId:Fe,sdp:Et.localDescription})).catch(console.error);break}case"viewer_left":{const Fe=te.current.get(oe.viewerId);Fe&&(Fe.close(),te.current.delete(oe.viewerId)),le.current.delete(oe.viewerId);break}case"offer":{const Fe=oe.fromId;Q.current&&(Q.current.close(),Q.current=null),le.current.delete(Fe);const ze=new RTCPeerConnection(x7);Q.current=ze,ze.ontrack=Et=>{se.current&&Et.streams[0]&&(se.current.srcObject=Et.streams[0]),O(Rt=>Rt&&{...Rt,phase:"connected"})},ze.onicecandidate=Et=>{Et.candidate&&be({type:"ice_candidate",targetId:Fe,candidate:Et.candidate.toJSON()})},ze.oniceconnectionstatechange=()=>{(ze.iceConnectionState==="failed"||ze.iceConnectionState==="disconnected")&&O(Et=>Et&&{...Et,phase:"error",error:"Verbindung verloren"})},ze.setRemoteDescription(new RTCSessionDescription(oe.sdp)).then(()=>(Ee(ze,Fe),ze.createAnswer())).then(Et=>ze.setLocalDescription(Et)).then(()=>be({type:"answer",targetId:Fe,sdp:ze.localDescription})).catch(console.error);break}case"answer":{const Fe=te.current.get(oe.fromId);Fe&&Fe.setRemoteDescription(new RTCSessionDescription(oe.sdp)).then(()=>Ee(Fe,oe.fromId)).catch(console.error);break}case"ice_candidate":{if(!oe.candidate)break;const Fe=te.current.get(oe.fromId);Fe?We(Fe,oe.fromId,oe.candidate):Q.current&&We(Q.current,oe.fromId,oe.candidate);break}case"error":oe.code==="WRONG_PASSWORD"?x(Fe=>Fe&&{...Fe,error:oe.message}):g(oe.message),B(!1);break}};const Pe=Le.useCallback(()=>{if(V.current&&V.current.readyState===WebSocket.OPEN)return;const oe=location.protocol==="https:"?"wss":"ws",Me=new WebSocket(`${oe}://${location.host}/ws/streaming`);V.current=Me,Me.onopen=()=>{Te.current=1e3},Me.onmessage=Fe=>{let ze;try{ze=JSON.parse(Fe.data)}catch{return}ye.current(ze)},Me.onclose=()=>{V.current=null,(Se.current||ue.current)&&(de.current=setTimeout(()=>{Te.current=Math.min(Te.current*2,1e4),Pe()},Te.current))},Me.onerror=()=>{Me.close()}},[]),pt=Le.useCallback(async()=>{var oe,Me;if(!n.trim()){g("Bitte gib einen Namen ein.");return}if(!l.trim()){g("Passwort ist Pflicht.");return}if(!((oe=navigator.mediaDevices)!=null&&oe.getDisplayMedia)){g("Dein Browser unterstützt keine Bildschirmfreigabe.");return}g(null),B(!0);try{const Fe=await navigator.mediaDevices.getDisplayMedia({video:{frameRate:{ideal:60},width:{ideal:1920},height:{ideal:1080}},audio:!0});ee.current=Fe,ne.current&&(ne.current.srcObject=Fe),(Me=Fe.getVideoTracks()[0])==null||Me.addEventListener("ended",()=>{vt()}),Pe();const ze=()=>{var Et;((Et=V.current)==null?void 0:Et.readyState)===WebSocket.OPEN?be({type:"start_broadcast",name:n.trim(),title:s.trim()||"Screen Share",password:l.trim()}):setTimeout(ze,100)};ze()}catch(Fe){B(!1),Fe.name==="NotAllowedError"?g("Bildschirmfreigabe wurde abgelehnt."):g(`Fehler: ${Fe.message}`)}},[n,s,l,Pe,be]),vt=Le.useCallback(()=>{var oe;be({type:"stop_broadcast"}),(oe=ee.current)==null||oe.getTracks().forEach(Me=>Me.stop()),ee.current=null,ne.current&&(ne.current.srcObject=null);for(const Me of te.current.values())Me.close();te.current.clear(),C(!1),Se.current=!1,w(null),u("")},[be]),Tt=Le.useCallback(oe=>{x({streamId:oe.id,streamTitle:oe.title,broadcasterName:oe.broadcasterName,password:"",error:null})},[]),It=Le.useCallback(()=>{if(!v)return;if(!v.password.trim()){x(ze=>ze&&{...ze,error:"Passwort eingeben."});return}const{streamId:oe,password:Me}=v;x(null),g(null),O({streamId:oe,phase:"connecting"}),Pe();const Fe=()=>{var ze;((ze=V.current)==null?void 0:ze.readyState)===WebSocket.OPEN?be({type:"join_viewer",name:n.trim()||"Viewer",streamId:oe,password:Me.trim()}):setTimeout(Fe,100)};Fe()},[v,n,Pe,be]),Qe=Le.useCallback(()=>{be({type:"leave_viewer"}),Ge(),O(null)},[Ge,be]);Le.useEffect(()=>{const oe=Fe=>{(Se.current||ue.current)&&Fe.preventDefault()},Me=()=>{Y.current&&navigator.sendBeacon("/api/streaming/disconnect",JSON.stringify({clientId:Y.current}))};return window.addEventListener("beforeunload",oe),window.addEventListener("pagehide",Me),()=>{window.removeEventListener("beforeunload",oe),window.removeEventListener("pagehide",Me)}},[]);const it=Le.useRef(null),[he,Ft]=Le.useState(!1),ct=Le.useCallback(()=>{const oe=it.current;oe&&(document.fullscreenElement?document.exitFullscreen().catch(()=>{}):oe.requestFullscreen().catch(()=>{}))},[]);Le.useEffect(()=>{const oe=()=>Ft(!!document.fullscreenElement);return document.addEventListener("fullscreenchange",oe),()=>document.removeEventListener("fullscreenchange",oe)},[]),Le.useEffect(()=>()=>{var oe;(oe=ee.current)==null||oe.getTracks().forEach(Me=>Me.stop());for(const Me of te.current.values())Me.close();Q.current&&Q.current.close(),V.current&&V.current.close(),de.current&&clearTimeout(de.current)},[]);const Dt=Le.useRef(null);Le.useEffect(()=>{const Me=new URLSearchParams(location.search).get("viewStream");if(Me){Dt.current=Me;const Fe=new URL(location.href);Fe.searchParams.delete("viewStream"),window.history.replaceState({},"",Fe.toString())}},[]),Le.useEffect(()=>{const oe=Dt.current;if(!oe||e.length===0)return;const Me=e.find(Fe=>Fe.id===oe);Me&&(Dt.current=null,Tt(Me))},[e,Tt]);const gt=Le.useCallback(oe=>{const Me=new URL(location.href);return Me.searchParams.set("viewStream",oe),Me.hash="",Me.toString()},[]),tn=Le.useCallback(oe=>{navigator.clipboard.writeText(gt(oe)).then(()=>{F(oe),setTimeout(()=>F(null),2e3)}).catch(()=>{})},[gt]),yt=Le.useCallback(oe=>{window.open(gt(oe),"_blank","noopener"),k(null)},[gt]);if(L){const oe=e.find(Me=>Me.id===L.streamId);return W.jsxs("div",{className:"stream-viewer-overlay",ref:it,children:[W.jsxs("div",{className:"stream-viewer-header",children:[W.jsxs("div",{className:"stream-viewer-header-left",children:[W.jsxs("span",{className:"stream-live-badge",children:[W.jsx("span",{className:"stream-live-dot"})," LIVE"]}),W.jsxs("div",{children:[W.jsx("div",{className:"stream-viewer-title",children:(oe==null?void 0:oe.title)||"Stream"}),W.jsxs("div",{className:"stream-viewer-subtitle",children:[(oe==null?void 0:oe.broadcasterName)||"..."," ",oe?` · ${oe.viewerCount} Zuschauer`:""]})]})]}),W.jsxs("div",{className:"stream-viewer-header-right",children:[W.jsx("button",{className:"stream-viewer-fullscreen",onClick:ct,title:he?"Vollbild verlassen":"Vollbild",children:he?"✖":"⛶"}),W.jsx("button",{className:"stream-viewer-close",onClick:Qe,children:"Verlassen"})]})]}),W.jsxs("div",{className:"stream-viewer-video",children:[L.phase==="connecting"?W.jsxs("div",{className:"stream-viewer-connecting",children:[W.jsx("div",{className:"stream-viewer-spinner"}),"Verbindung wird hergestellt..."]}):L.phase==="error"?W.jsxs("div",{className:"stream-viewer-connecting",children:[L.error||"Verbindungsfehler",W.jsx("button",{className:"stream-btn",onClick:Qe,children:"Zurück"})]}):null,W.jsx("video",{ref:se,autoPlay:!0,playsInline:!0,style:L.phase==="connected"?{}:{display:"none"}})]})]})}return W.jsxs("div",{className:"stream-container",children:[h&&W.jsxs("div",{className:"stream-error",children:[h,W.jsx("button",{className:"stream-error-dismiss",onClick:()=>g(null),children:"×"})]}),W.jsxs("div",{className:"stream-topbar",children:[W.jsx("input",{className:"stream-input stream-input-name",placeholder:"Dein Name",value:n,onChange:oe=>r(oe.target.value),disabled:R}),W.jsx("input",{className:"stream-input stream-input-title",placeholder:"Stream-Titel",value:s,onChange:oe=>a(oe.target.value),disabled:R}),W.jsx("input",{className:"stream-input stream-input-password",type:"password",placeholder:"Passwort",value:l,onChange:oe=>u(oe.target.value),disabled:R}),R?W.jsxs("button",{className:"stream-btn stream-btn-stop",onClick:vt,children:["⏹"," Stream beenden"]}):W.jsx("button",{className:"stream-btn",onClick:pt,disabled:E,children:E?"Starte...":"🖥️ Stream starten"})]}),e.length===0&&!R?W.jsxs("div",{className:"stream-empty",children:[W.jsx("div",{className:"stream-empty-icon",children:"📺"}),W.jsx("h3",{children:"Keine aktiven Streams"}),W.jsx("p",{children:"Starte einen Stream, um deinen Bildschirm zu teilen."})]}):W.jsxs("div",{className:"stream-grid",children:[R&&W.jsxs("div",{className:"stream-tile own broadcasting",children:[W.jsxs("div",{className:"stream-tile-preview",children:[W.jsx("video",{ref:ne,autoPlay:!0,playsInline:!0,muted:!0}),W.jsxs("span",{className:"stream-live-badge",children:[W.jsx("span",{className:"stream-live-dot"})," LIVE"]}),W.jsxs("span",{className:"stream-tile-viewers",children:["👥"," ",((fe=e.find(oe=>oe.id===S))==null?void 0:fe.viewerCount)??0]})]}),W.jsxs("div",{className:"stream-tile-info",children:[W.jsxs("div",{className:"stream-tile-meta",children:[W.jsxs("div",{className:"stream-tile-name",children:[n," (Du)"]}),W.jsx("div",{className:"stream-tile-title",children:s})]}),W.jsx("span",{className:"stream-tile-time",children:S&&((X=e.find(oe=>oe.id===S))!=null&&X.startedAt)?qS(e.find(oe=>oe.id===S).startedAt):"0:00"})]})]}),e.filter(oe=>oe.id!==S).map(oe=>W.jsxs("div",{className:"stream-tile",onClick:()=>Tt(oe),children:[W.jsxs("div",{className:"stream-tile-preview",children:[W.jsx("span",{className:"stream-tile-icon",children:"🖥️"}),W.jsxs("span",{className:"stream-live-badge",children:[W.jsx("span",{className:"stream-live-dot"})," LIVE"]}),W.jsxs("span",{className:"stream-tile-viewers",children:["👥"," ",oe.viewerCount]}),oe.hasPassword&&W.jsx("span",{className:"stream-tile-lock",children:"🔒"})]}),W.jsxs("div",{className:"stream-tile-info",children:[W.jsxs("div",{className:"stream-tile-meta",children:[W.jsx("div",{className:"stream-tile-name",children:oe.broadcasterName}),W.jsx("div",{className:"stream-tile-title",children:oe.title})]}),W.jsx("span",{className:"stream-tile-time",children:qS(oe.startedAt)}),W.jsxs("div",{className:"stream-tile-menu-wrap",children:[W.jsx("button",{className:"stream-tile-menu",onClick:Me=>{Me.stopPropagation(),k(G===oe.id?null:oe.id)},children:"⋮"}),G===oe.id&&W.jsxs("div",{className:"stream-tile-dropdown",onClick:Me=>Me.stopPropagation(),children:[W.jsxs("div",{className:"stream-tile-dropdown-header",children:[W.jsx("div",{className:"stream-tile-dropdown-name",children:oe.broadcasterName}),W.jsx("div",{className:"stream-tile-dropdown-title",children:oe.title}),W.jsxs("div",{className:"stream-tile-dropdown-detail",children:["👥"," ",oe.viewerCount," Zuschauer · ",qS(oe.startedAt)]})]}),W.jsx("div",{className:"stream-tile-dropdown-divider"}),W.jsxs("button",{className:"stream-tile-dropdown-item",onClick:()=>yt(oe.id),children:["🗗"," In neuem Fenster öffnen"]}),W.jsx("button",{className:"stream-tile-dropdown-item",onClick:()=>{tn(oe.id),k(null)},children:H===oe.id?"✅ Kopiert!":"🔗 Link teilen"})]})]})]})]},oe.id))]}),v&&W.jsx("div",{className:"stream-pw-overlay",onClick:()=>x(null),children:W.jsxs("div",{className:"stream-pw-modal",onClick:oe=>oe.stopPropagation(),children:[W.jsx("h3",{children:v.broadcasterName}),W.jsx("p",{children:v.streamTitle}),v.error&&W.jsx("div",{className:"stream-pw-modal-error",children:v.error}),W.jsx("input",{className:"stream-input",type:"password",placeholder:"Stream-Passwort",value:v.password,onChange:oe=>x(Me=>Me&&{...Me,password:oe.target.value,error:null}),onKeyDown:oe=>{oe.key==="Enter"&&It()},autoFocus:!0}),W.jsxs("div",{className:"stream-pw-actions",children:[W.jsx("button",{className:"stream-pw-cancel",onClick:()=>x(null),children:"Abbrechen"}),W.jsx("button",{className:"stream-btn",onClick:It,children:"Beitreten"})]})]})})]})}const Yde={radio:xde,soundboard:qde,lolstats:$de,streaming:Xde};function Qde(){const[i,e]=Le.useState(!1),[t,n]=Le.useState([]),[r,s]=Le.useState(()=>localStorage.getItem("hub_activeTab")??""),a=x=>{s(x),localStorage.setItem("hub_activeTab",x)},[l,u]=Le.useState({}),h=Le.useRef(null);Le.useEffect(()=>{fetch("/api/plugins").then(x=>x.json()).then(x=>{if(n(x),new URLSearchParams(location.search).has("viewStream")&&x.some(C=>C.name==="streaming")){a("streaming");return}const w=localStorage.getItem("hub_activeTab"),R=x.some(C=>C.name===w);x.length>0&&!R&&a(x[0].name)}).catch(()=>{})},[]),Le.useEffect(()=>{let x=null,S;function w(){x=new EventSource("/api/events"),h.current=x,x.onopen=()=>e(!0),x.onmessage=R=>{try{const C=JSON.parse(R.data);C.type==="snapshot"?u(E=>({...E,...C})):C.plugin&&u(E=>({...E,[C.plugin]:{...E[C.plugin]||{},...C}}))}catch{}},x.onerror=()=>{e(!1),x==null||x.close(),S=setTimeout(w,3e3)}}return w(),()=>{x==null||x.close(),clearTimeout(S)}},[]);const g="1.0.0-dev",v={radio:"🌍",soundboard:"🎵",lolstats:"⚔️",stats:"📊",events:"📅",games:"🎲",gamevote:"🎮",streaming:"📺"};return W.jsxs("div",{className:"hub-app",children:[W.jsxs("header",{className:"hub-header",children:[W.jsxs("div",{className:"hub-header-left",children:[W.jsx("span",{className:"hub-logo",children:"🎮"}),W.jsx("span",{className:"hub-title",children:"Gaming Hub"}),W.jsx("span",{className:`hub-conn-dot ${i?"online":""}`})]}),W.jsx("nav",{className:"hub-tabs",children:t.map(x=>W.jsxs("button",{className:`hub-tab ${r===x.name?"active":""}`,onClick:()=>a(x.name),title:x.description,children:[W.jsx("span",{className:"hub-tab-icon",children:v[x.name]??"📦"}),W.jsx("span",{className:"hub-tab-label",children:x.name})]},x.name))}),W.jsx("div",{className:"hub-header-right",children:W.jsxs("span",{className:"hub-version",children:["v",g]})})]}),W.jsx("main",{className:"hub-content",children:t.length===0?W.jsxs("div",{className:"hub-empty",children:[W.jsx("span",{className:"hub-empty-icon",children:"📦"}),W.jsx("h2",{children:"Keine Plugins geladen"}),W.jsx("p",{children:"Plugins werden im Server konfiguriert."})]}):t.map(x=>{const S=Yde[x.name];if(!S)return null;const w=r===x.name;return W.jsx("div",{className:`hub-tab-panel ${w?"active":""}`,style:w?{display:"flex",flexDirection:"column",width:"100%",height:"100%"}:{display:"none"},children:W.jsx(S,{data:l[x.name]||{}})},x.name)})})]})}PF.createRoot(document.getElementById("root")).render(W.jsx(Qde,{})); +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function A7(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(i);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,n)}return t}function jf(i){for(var e=1;e1?l-1:0),h=1;h1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=a();if(t.lat===void 0&&t.lng===void 0&&t.altitude===void 0)return r;var s=Object.assign({},r,t);if(["lat","lng","altitude"].forEach(function(u){return s[u]=+s[u]}),!n)l(s);else{for(;r.lng-s.lng>180;)r.lng-=360;for(;r.lng-s.lng<-180;)r.lng+=360;e.tweenGroup.add(new ca(r).to(s,n).easing(os.Cubic.InOut).onUpdate(l).start())}return this;function a(){return e.globe.toGeoCoords(e.renderObjs.cameraPosition())}function l(u){var h=u.lat,g=u.lng,v=u.altitude;e.renderObjs.cameraPosition(e.globe.getCoords(h,g,v)),e.globe.setPointOfView(e.renderObjs.camera())}},getScreenCoords:function(e){for(var t,n=arguments.length,r=new Array(n>1?n-1:0),s=1;slocalStorage.getItem("radio-theme")||"default"),[a,l]=Le.useState([]),[u,h]=Le.useState(null),[g,v]=Le.useState([]),[x,S]=Le.useState(!1),[w,R]=Le.useState({}),[C,E]=Le.useState([]),[B,L]=Le.useState(""),[O,z]=Le.useState(""),[G,k]=Le.useState(""),[H,F]=Le.useState([]),[V,Y]=Le.useState(!1),[ee,ne]=Le.useState([]),[se,te]=Le.useState(!1),[Q,le]=Le.useState(!1),[de,Te]=Le.useState(.5),[Se,ue]=Le.useState(null),[be,We]=Le.useState(!1),[Ee,Ge]=Le.useState(!1),ye=Le.useRef(void 0),Pe=Le.useRef(void 0),pt=Le.useRef(B);Le.useEffect(()=>{fetch("/api/radio/places").then(X=>X.json()).then(l).catch(console.error),fetch("/api/radio/guilds").then(X=>X.json()).then(X=>{if(E(X),X.length>0){L(X[0].id);const oe=X[0].voiceChannels.find(Me=>Me.members>0)??X[0].voiceChannels[0];oe&&z(oe.id)}}).catch(console.error),fetch("/api/radio/favorites").then(X=>X.json()).then(ne).catch(console.error)},[]),Le.useEffect(()=>{pt.current=B},[B]),Le.useEffect(()=>{i!=null&&i.guildId&&"playing"in i&&i.type!=="radio_voicestats"?R(X=>{if(i.playing)return{...X,[i.guildId]:i.playing};const oe={...X};return delete oe[i.guildId],oe}):i!=null&&i.playing&&!(i!=null&&i.guildId)&&R(i.playing),i!=null&&i.favorites&&ne(i.favorites),i!=null&&i.volumes&&B&&i.volumes[B]!=null&&Te(i.volumes[B]),(i==null?void 0:i.volume)!=null&&(i==null?void 0:i.guildId)===B&&Te(i.volume),(i==null?void 0:i.type)==="radio_voicestats"&&i.guildId===pt.current&&ue({voicePing:i.voicePing,gatewayPing:i.gatewayPing,status:i.status,channelName:i.channelName,connectedSince:i.connectedSince})},[i,B]),Le.useEffect(()=>{if(localStorage.setItem("radio-theme",r),t.current&&e.current){const oe=getComputedStyle(e.current.parentElement).getPropertyValue("--accent-rgb").trim();t.current.pointColor(()=>`rgba(${oe}, 0.85)`).atmosphereColor(`rgba(${oe}, 0.25)`)}},[r]);const vt=Le.useRef(u);vt.current=u;const Tt=Le.useRef(se);Tt.current=se;const It=Le.useCallback(()=>{var oe;const X=(oe=t.current)==null?void 0:oe.controls();X&&(X.autoRotate=!1),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{var Fe;if(vt.current||Tt.current)return;const Me=(Fe=t.current)==null?void 0:Fe.controls();Me&&(Me.autoRotate=!0)},5e3)},[]);Le.useEffect(()=>{var oe;const X=(oe=t.current)==null?void 0:oe.controls();X&&(u||se?(X.autoRotate=!1,n.current&&clearTimeout(n.current)):X.autoRotate=!0)},[u,se]);const Qe=Le.useRef(void 0);Qe.current=X=>{h(X),te(!1),S(!0),v([]),It(),t.current&&t.current.pointOfView({lat:X.geo[1],lng:X.geo[0],altitude:.4},800),fetch(`/api/radio/place/${X.id}/channels`).then(oe=>oe.json()).then(oe=>{v(oe),S(!1)}).catch(()=>S(!1))},Le.useEffect(()=>{const X=e.current;if(!X)return;X.clientWidth>0&&X.clientHeight>0&&Ge(!0);const oe=new ResizeObserver(Me=>{for(const Fe of Me){const{width:ze,height:Et}=Fe.contentRect;ze>0&&Et>0&&Ge(!0)}});return oe.observe(X),()=>oe.disconnect()},[]),Le.useEffect(()=>{if(!e.current||a.length===0)return;const X=e.current.clientWidth,oe=e.current.clientHeight;if(t.current){t.current.pointsData(a),X>0&&oe>0&&t.current.width(X).height(oe);return}if(X===0||oe===0)return;const Fe=getComputedStyle(e.current.parentElement).getPropertyValue("--accent-rgb").trim()||"230, 126, 34",ze=new _de(e.current).backgroundColor("rgba(0,0,0,0)").atmosphereColor(`rgba(${Fe}, 0.25)`).atmosphereAltitude(.12).globeImageUrl("/nasa-blue-marble.jpg").pointsData(a).pointLat(jt=>jt.geo[1]).pointLng(jt=>jt.geo[0]).pointColor(()=>`rgba(${Fe}, 0.85)`).pointRadius(jt=>Math.max(.12,Math.min(.45,.06+(jt.size??1)*.005))).pointAltitude(.001).pointResolution(24).pointLabel(jt=>`
${jt.title}
${jt.country}
`).onPointClick(jt=>{var kt;return(kt=Qe.current)==null?void 0:kt.call(Qe,jt)}).width(e.current.clientWidth).height(e.current.clientHeight);ze.renderer().setPixelRatio(window.devicePixelRatio),ze.pointOfView({lat:48,lng:10,altitude:GS});const Et=ze.controls();Et&&(Et.autoRotate=!0,Et.autoRotateSpeed=.3);let Rt=GS;const Ht=()=>{const kt=ze.pointOfView().altitude;if(Math.abs(kt-Rt)/Rt<.05)return;Rt=kt;const qt=Math.sqrt(kt/GS);ze.pointRadius(In=>Math.max(.12,Math.min(.45,.06+(In.size??1)*.005))*Math.max(.15,Math.min(2.5,qt)))};Et.addEventListener("change",Ht),t.current=ze;const Xt=e.current,yt=()=>It();Xt.addEventListener("mousedown",yt),Xt.addEventListener("touchstart",yt),Xt.addEventListener("wheel",yt);const Zt=()=>{if(e.current&&t.current){const jt=e.current.clientWidth,kt=e.current.clientHeight;jt>0&&kt>0&&t.current.width(jt).height(kt)}};window.addEventListener("resize",Zt);const sn=new ResizeObserver(()=>Zt());return sn.observe(Xt),()=>{Et.removeEventListener("change",Ht),Xt.removeEventListener("mousedown",yt),Xt.removeEventListener("touchstart",yt),Xt.removeEventListener("wheel",yt),window.removeEventListener("resize",Zt),sn.disconnect()}},[a,It,Ee]);const it=Le.useCallback(async(X,oe,Me,Fe)=>{if(!(!B||!O)){le(!0);try{(await(await fetch("/api/radio/play",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({guildId:B,voiceChannelId:O,stationId:X,stationName:oe,placeName:Me??(u==null?void 0:u.title)??"",country:Fe??(u==null?void 0:u.country)??""})})).json()).ok&&(R(Rt=>{var Ht,Xt;return{...Rt,[B]:{stationId:X,stationName:oe,placeName:Me??(u==null?void 0:u.title)??"",country:Fe??(u==null?void 0:u.country)??"",startedAt:new Date().toISOString(),channelName:((Xt=(Ht=C.find(yt=>yt.id===B))==null?void 0:Ht.voiceChannels.find(yt=>yt.id===O))==null?void 0:Xt.name)??""}}}),It())}catch(ze){console.error(ze)}le(!1)}},[B,O,u,C]),he=Le.useCallback(async()=>{B&&(await fetch("/api/radio/stop",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({guildId:B})}),R(X=>{const oe={...X};return delete oe[B],oe}))},[B]),Ft=Le.useCallback(X=>{if(k(X),ye.current&&clearTimeout(ye.current),!X.trim()){F([]),Y(!1);return}ye.current=setTimeout(async()=>{try{const Me=await(await fetch(`/api/radio/search?q=${encodeURIComponent(X)}`)).json();F(Me),Y(!0)}catch{F([])}},350)},[]),ct=Le.useCallback(X=>{var oe,Me,Fe;if(Y(!1),k(""),F([]),X.type==="channel"){const ze=(oe=X.url.match(/\/listen\/[^/]+\/([^/]+)/))==null?void 0:oe[1];ze&&it(ze,X.title,X.subtitle,"")}else if(X.type==="place"){const ze=(Me=X.url.match(/\/visit\/[^/]+\/([^/]+)/))==null?void 0:Me[1],Et=a.find(Rt=>Rt.id===ze);Et&&((Fe=Qe.current)==null||Fe.call(Qe,Et))}},[a,it]),Dt=Le.useCallback(async(X,oe)=>{try{const Fe=await(await fetch("/api/radio/favorites",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({stationId:X,stationName:oe,placeName:(u==null?void 0:u.title)??"",country:(u==null?void 0:u.country)??"",placeId:(u==null?void 0:u.id)??""})})).json();Fe.favorites&&ne(Fe.favorites)}catch{}},[u]),gt=Le.useCallback(X=>{Te(X),B&&(Pe.current&&clearTimeout(Pe.current),Pe.current=setTimeout(()=>{fetch("/api/radio/volume",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({guildId:B,volume:X})}).catch(console.error)},100))},[B]),tn=X=>ee.some(oe=>oe.stationId===X),_t=B?w[B]:null,fe=C.find(X=>X.id===B);return W.jsxs("div",{className:"radio-container","data-theme":r,children:[W.jsxs("header",{className:"radio-topbar",children:[W.jsxs("div",{className:"radio-topbar-left",children:[W.jsx("span",{className:"radio-topbar-logo",children:"🌍"}),W.jsx("span",{className:"radio-topbar-title",children:"World Radio"}),C.length>1&&W.jsx("select",{className:"radio-sel",value:B,onChange:X=>{L(X.target.value);const oe=C.find(Fe=>Fe.id===X.target.value),Me=(oe==null?void 0:oe.voiceChannels.find(Fe=>Fe.members>0))??(oe==null?void 0:oe.voiceChannels[0]);z((Me==null?void 0:Me.id)??"")},children:C.map(X=>W.jsx("option",{value:X.id,children:X.name},X.id))}),W.jsxs("select",{className:"radio-sel",value:O,onChange:X=>z(X.target.value),children:[W.jsx("option",{value:"",children:"Voice Channel..."}),fe==null?void 0:fe.voiceChannels.map(X=>W.jsxs("option",{value:X.id,children:["🔊"," ",X.name,X.members>0?` (${X.members})`:""]},X.id))]})]}),_t&&W.jsxs("div",{className:"radio-topbar-np",children:[W.jsxs("div",{className:"radio-eq radio-eq-np",children:[W.jsx("span",{}),W.jsx("span",{}),W.jsx("span",{})]}),W.jsxs("div",{className:"radio-np-info",children:[W.jsx("span",{className:"radio-np-name",children:_t.stationName}),W.jsxs("span",{className:"radio-np-loc",children:[_t.placeName,_t.country?`, ${_t.country}`:""]})]})]}),W.jsxs("div",{className:"radio-topbar-right",children:[_t&&W.jsxs(W.Fragment,{children:[W.jsxs("div",{className:"radio-volume",children:[W.jsx("span",{className:"radio-volume-icon",children:de===0?"🔇":de<.4?"🔉":"🔊"}),W.jsx("input",{type:"range",className:"radio-volume-slider",min:0,max:1,step:.01,value:de,onChange:X=>gt(Number(X.target.value))}),W.jsxs("span",{className:"radio-volume-val",children:[Math.round(de*100),"%"]})]}),W.jsxs("div",{className:"radio-conn",onClick:()=>We(!0),title:"Verbindungsdetails",children:[W.jsx("span",{className:"radio-conn-dot"}),"Verbunden",(Se==null?void 0:Se.voicePing)!=null&&W.jsxs("span",{className:"radio-conn-ping",children:[Se.voicePing,"ms"]})]}),W.jsxs("button",{className:"radio-topbar-stop",onClick:he,children:["⏹"," Stop"]})]}),W.jsx("div",{className:"radio-theme-inline",children:yde.map(X=>W.jsx("div",{className:`radio-theme-dot ${r===X.id?"active":""}`,style:{background:X.color},title:X.label,onClick:()=>s(X.id)},X.id))})]})]}),W.jsxs("div",{className:"radio-globe-wrap",children:[W.jsx("div",{className:"radio-globe",ref:e}),W.jsxs("div",{className:"radio-search",children:[W.jsxs("div",{className:"radio-search-wrap",children:[W.jsx("span",{className:"radio-search-icon",children:"🔍"}),W.jsx("input",{className:"radio-search-input",type:"text",placeholder:"Sender oder Stadt suchen...",value:G,onChange:X=>Ft(X.target.value),onFocus:()=>{H.length&&Y(!0)}}),G&&W.jsx("button",{className:"radio-search-clear",onClick:()=>{k(""),F([]),Y(!1)},children:"✕"})]}),V&&H.length>0&&W.jsx("div",{className:"radio-search-results",children:H.slice(0,12).map(X=>W.jsxs("button",{className:"radio-search-result",onClick:()=>ct(X),children:[W.jsx("span",{className:"radio-search-result-icon",children:X.type==="channel"?"📻":X.type==="place"?"📍":"🌍"}),W.jsxs("div",{className:"radio-search-result-text",children:[W.jsx("span",{className:"radio-search-result-title",children:X.title}),W.jsx("span",{className:"radio-search-result-sub",children:X.subtitle})]})]},X.id+X.url))})]}),!u&&!se&&W.jsxs("button",{className:"radio-fab",onClick:()=>{te(!0),h(null)},title:"Favoriten",children:["⭐",ee.length>0&&W.jsx("span",{className:"radio-fab-badge",children:ee.length})]}),se&&W.jsxs("div",{className:"radio-panel open",children:[W.jsxs("div",{className:"radio-panel-header",children:[W.jsxs("h3",{children:["⭐"," Favoriten"]}),W.jsx("button",{className:"radio-panel-close",onClick:()=>te(!1),children:"✕"})]}),W.jsx("div",{className:"radio-panel-body",children:ee.length===0?W.jsx("div",{className:"radio-panel-empty",children:"Noch keine Favoriten"}):ee.map(X=>W.jsxs("div",{className:`radio-station ${(_t==null?void 0:_t.stationId)===X.stationId?"playing":""}`,children:[W.jsxs("div",{className:"radio-station-info",children:[W.jsx("span",{className:"radio-station-name",children:X.stationName}),W.jsxs("span",{className:"radio-station-loc",children:[X.placeName,", ",X.country]})]}),W.jsxs("div",{className:"radio-station-btns",children:[W.jsx("button",{className:"radio-btn-play",onClick:()=>it(X.stationId,X.stationName,X.placeName,X.country),disabled:!O||Q,children:"▶"}),W.jsx("button",{className:"radio-btn-fav active",onClick:()=>Dt(X.stationId,X.stationName),children:"★"})]})]},X.stationId))})]}),u&&!se&&W.jsxs("div",{className:"radio-panel open",children:[W.jsxs("div",{className:"radio-panel-header",children:[W.jsxs("div",{children:[W.jsx("h3",{children:u.title}),W.jsx("span",{className:"radio-panel-sub",children:u.country})]}),W.jsx("button",{className:"radio-panel-close",onClick:()=>h(null),children:"✕"})]}),W.jsx("div",{className:"radio-panel-body",children:x?W.jsxs("div",{className:"radio-panel-loading",children:[W.jsx("div",{className:"radio-spinner"}),"Sender werden geladen..."]}):g.length===0?W.jsx("div",{className:"radio-panel-empty",children:"Keine Sender gefunden"}):g.map(X=>W.jsxs("div",{className:`radio-station ${(_t==null?void 0:_t.stationId)===X.id?"playing":""}`,children:[W.jsxs("div",{className:"radio-station-info",children:[W.jsx("span",{className:"radio-station-name",children:X.title}),(_t==null?void 0:_t.stationId)===X.id&&W.jsxs("span",{className:"radio-station-live",children:[W.jsxs("span",{className:"radio-eq",children:[W.jsx("span",{}),W.jsx("span",{}),W.jsx("span",{})]}),"Live"]})]}),W.jsxs("div",{className:"radio-station-btns",children:[(_t==null?void 0:_t.stationId)===X.id?W.jsx("button",{className:"radio-btn-stop",onClick:he,children:"⏹"}):W.jsx("button",{className:"radio-btn-play",onClick:()=>it(X.id,X.title),disabled:!O||Q,children:"▶"}),W.jsx("button",{className:`radio-btn-fav ${tn(X.id)?"active":""}`,onClick:()=>Dt(X.id,X.title),children:tn(X.id)?"★":"☆"})]})]},X.id))})]}),W.jsxs("div",{className:"radio-counter",children:["📻"," ",a.length.toLocaleString("de-DE")," Sender weltweit"]}),W.jsx("a",{className:"radio-attribution",href:"https://science.nasa.gov/earth/earth-observatory/blue-marble-next-generation/",target:"_blank",rel:"noreferrer",children:"Imagery © NASA Blue Marble"})]}),be&&(()=>{const X=Se!=null&&Se.connectedSince?Math.floor((Date.now()-new Date(Se.connectedSince).getTime())/1e3):0,oe=Math.floor(X/3600),Me=Math.floor(X%3600/60),Fe=X%60,ze=oe>0?`${oe}h ${String(Me).padStart(2,"0")}m ${String(Fe).padStart(2,"0")}s`:Me>0?`${Me}m ${String(Fe).padStart(2,"0")}s`:`${Fe}s`,Et=Rt=>Rt==null?"var(--text-faint)":Rt<80?"var(--success)":Rt<150?"#f0a830":"#e04040";return W.jsx("div",{className:"radio-modal-overlay",onClick:()=>We(!1),children:W.jsxs("div",{className:"radio-modal",onClick:Rt=>Rt.stopPropagation(),children:[W.jsxs("div",{className:"radio-modal-header",children:[W.jsx("span",{children:"📡"}),W.jsx("span",{children:"Verbindungsdetails"}),W.jsx("button",{className:"radio-modal-close",onClick:()=>We(!1),children:"✕"})]}),W.jsxs("div",{className:"radio-modal-body",children:[W.jsxs("div",{className:"radio-modal-stat",children:[W.jsx("span",{className:"radio-modal-label",children:"Voice Ping"}),W.jsxs("span",{className:"radio-modal-value",children:[W.jsx("span",{className:"radio-modal-dot",style:{background:Et((Se==null?void 0:Se.voicePing)??null)}}),(Se==null?void 0:Se.voicePing)!=null?`${Se.voicePing} ms`:"---"]})]}),W.jsxs("div",{className:"radio-modal-stat",children:[W.jsx("span",{className:"radio-modal-label",children:"Gateway Ping"}),W.jsxs("span",{className:"radio-modal-value",children:[W.jsx("span",{className:"radio-modal-dot",style:{background:Et((Se==null?void 0:Se.gatewayPing)??null)}}),Se&&Se.gatewayPing>=0?`${Se.gatewayPing} ms`:"---"]})]}),W.jsxs("div",{className:"radio-modal-stat",children:[W.jsx("span",{className:"radio-modal-label",children:"Status"}),W.jsx("span",{className:"radio-modal-value",style:{color:(Se==null?void 0:Se.status)==="ready"?"var(--success)":"#f0a830"},children:(Se==null?void 0:Se.status)==="ready"?"Verbunden":(Se==null?void 0:Se.status)??"Warte auf Verbindung"})]}),W.jsxs("div",{className:"radio-modal-stat",children:[W.jsx("span",{className:"radio-modal-label",children:"Kanal"}),W.jsx("span",{className:"radio-modal-value",children:(Se==null?void 0:Se.channelName)||"---"})]}),W.jsxs("div",{className:"radio-modal-stat",children:[W.jsx("span",{className:"radio-modal-label",children:"Verbunden seit"}),W.jsx("span",{className:"radio-modal-value",children:ze||"---"})]})]})]})})})()]})}function bde(i,e,t=365){const n=new Date(Date.now()+t*24*60*60*1e3).toUTCString();document.cookie=`${encodeURIComponent(i)}=${encodeURIComponent(e)}; expires=${n}; path=/; SameSite=Lax`}function Sde(i){const e=`${encodeURIComponent(i)}=`,t=document.cookie.split(";");for(const n of t){const r=n.trim();if(r.startsWith(e))return decodeURIComponent(r.slice(e.length))}return null}const us="/api/soundboard";async function d7(i,e,t,n){const r=new URL(`${us}/sounds`,window.location.origin);i&&r.searchParams.set("q",i),e!==void 0&&r.searchParams.set("folder",e),r.searchParams.set("fuzzy","0");const s=await fetch(r.toString());if(!s.ok)throw new Error("Fehler beim Laden der Sounds");return s.json()}async function Tde(){const i=await fetch(`${us}/analytics`);if(!i.ok)throw new Error("Fehler beim Laden der Analytics");return i.json()}async function wde(){const i=await fetch(`${us}/categories`,{credentials:"include"});if(!i.ok)throw new Error("Fehler beim Laden der Kategorien");return i.json()}async function Mde(){const i=await fetch(`${us}/channels`);if(!i.ok)throw new Error("Fehler beim Laden der Channels");return i.json()}async function Ede(){const i=await fetch(`${us}/selected-channels`);if(!i.ok)throw new Error("Fehler beim Laden der Channel-Auswahl");const e=await i.json();return(e==null?void 0:e.selected)||{}}async function Cde(i,e){if(!(await fetch(`${us}/selected-channel`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({guildId:i,channelId:e})})).ok)throw new Error("Channel-Auswahl setzen fehlgeschlagen")}async function Rde(i,e,t,n,r){const s=await fetch(`${us}/play`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({soundName:i,guildId:e,channelId:t,volume:n,relativePath:r})});if(!s.ok){const a=await s.json().catch(()=>({}));throw new Error((a==null?void 0:a.error)||"Play fehlgeschlagen")}}async function Nde(i,e,t,n,r){const s=await fetch(`${us}/play-url`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:i,guildId:e,channelId:t,volume:n,filename:r})}),a=await s.json().catch(()=>({}));if(!s.ok)throw new Error((a==null?void 0:a.error)||"Play-URL fehlgeschlagen");return a}async function Dde(i,e){const t=await fetch(`${us}/download-url`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:i,filename:e})}),n=await t.json().catch(()=>({}));if(!t.ok)throw new Error((n==null?void 0:n.error)||"Download fehlgeschlagen");return n}async function Pde(i,e){if(!(await fetch(`${us}/party/start`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({guildId:i,channelId:e})})).ok)throw new Error("Partymode Start fehlgeschlagen")}async function Lde(i){if(!(await fetch(`${us}/party/stop`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({guildId:i})})).ok)throw new Error("Partymode Stop fehlgeschlagen")}async function p7(i,e){const t=await fetch(`${us}/volume`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({guildId:i,volume:e})});if(!t.ok){const n=await t.json().catch(()=>({}));throw new Error((n==null?void 0:n.error)||"Volume aendern fehlgeschlagen")}}async function Ude(i){const e=new URL(`${us}/volume`,window.location.origin);e.searchParams.set("guildId",i);const t=await fetch(e.toString());if(!t.ok)throw new Error("Fehler beim Laden der Lautstaerke");const n=await t.json();return typeof(n==null?void 0:n.volume)=="number"?n.volume:1}async function Bde(){const i=await fetch(`${us}/admin/status`,{credentials:"include"});if(!i.ok)return!1;const e=await i.json();return!!(e!=null&&e.authenticated)}async function Ode(i){return(await fetch(`${us}/admin/login`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({password:i})})).ok}async function Ide(){await fetch(`${us}/admin/logout`,{method:"POST",credentials:"include"})}async function Fde(i){if(!(await fetch(`${us}/admin/sounds/delete`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({paths:i})})).ok)throw new Error("Loeschen fehlgeschlagen")}async function kde(i,e){const t=await fetch(`${us}/admin/sounds/rename`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({from:i,to:e})});if(!t.ok)throw new Error("Umbenennen fehlgeschlagen");const n=await t.json();return n==null?void 0:n.to}function zde(i,e){return new Promise((t,n)=>{const r=new FormData;r.append("files",i);const s=new XMLHttpRequest;s.open("POST",`${us}/upload`),s.upload.onprogress=a=>{a.lengthComputable&&e(Math.round(a.loaded/a.total*100))},s.onload=()=>{var a,l;if(s.status===200)try{const u=JSON.parse(s.responseText);t(((l=(a=u.files)==null?void 0:a[0])==null?void 0:l.name)??i.name)}catch{t(i.name)}else try{n(new Error(JSON.parse(s.responseText).error))}catch{n(new Error(`HTTP ${s.status}`))}},s.onerror=()=>n(new Error("Netzwerkfehler")),s.send(r)})}const Gde=[{id:"default",color:"#5865f2",label:"Discord"},{id:"purple",color:"#9b59b6",label:"Midnight"},{id:"forest",color:"#2ecc71",label:"Forest"},{id:"sunset",color:"#e67e22",label:"Sunset"},{id:"ocean",color:"#3498db",label:"Ocean"}],m7=["#3b82f6","#f59e0b","#8b5cf6","#ec4899","#14b8a6","#f97316","#06b6d4","#ef4444","#a855f7","#84cc16","#d946ef","#0ea5e9","#f43f5e","#10b981"];function qde({data:i}){const[e,t]=Le.useState([]),[n,r]=Le.useState(0),[s,a]=Le.useState([]),[l,u]=Le.useState([]),[h,g]=Le.useState({totalSounds:0,totalPlays:0,mostPlayed:[]}),[v,x]=Le.useState("all"),[S,w]=Le.useState(""),[R,C]=Le.useState(""),[E,B]=Le.useState(""),[L,O]=Le.useState(!1),[z,G]=Le.useState(null),[k,H]=Le.useState([]),[F,V]=Le.useState(""),Y=Le.useRef(""),[ee,ne]=Le.useState(!1),[se,te]=Le.useState(1),[Q,le]=Le.useState(""),[de,Te]=Le.useState({}),[Se,ue]=Le.useState(()=>localStorage.getItem("jb-theme")||"default"),[be,We]=Le.useState(()=>parseInt(localStorage.getItem("jb-card-size")||"110")),[Ee,Ge]=Le.useState(!1),[ye,Pe]=Le.useState([]),pt=Le.useRef(!1),vt=Le.useRef(void 0),[Tt,It]=Le.useState(!1),[Qe,it]=Le.useState(!1),[he,Ft]=Le.useState(""),[ct,Dt]=Le.useState([]),[gt,tn]=Le.useState(!1),[_t,fe]=Le.useState(""),[X,oe]=Le.useState({}),[Me,Fe]=Le.useState(""),[ze,Et]=Le.useState(""),[Rt,Ht]=Le.useState(!1),[Xt,yt]=Le.useState([]),[Zt,sn]=Le.useState(!1),jt=Le.useRef(0),kt=Le.useRef(void 0),[qt,In]=Le.useState(null),[Mi,ge]=Le.useState(!1),[Wt,nt]=Le.useState(null),[xt,$t]=Le.useState(""),[zt,xn]=Le.useState(null),[qi,rr]=Le.useState(0);Le.useEffect(()=>{pt.current=Ee},[Ee]),Le.useEffect(()=>{Y.current=F},[F]),Le.useEffect(()=>{const _e=cn=>{var Yn;Array.from(((Yn=cn.dataTransfer)==null?void 0:Yn.items)??[]).some(yi=>yi.kind==="file")&&(jt.current++,Ht(!0))},at=()=>{jt.current=Math.max(0,jt.current-1),jt.current===0&&Ht(!1)},Ct=cn=>cn.preventDefault(),Jt=cn=>{var yi;cn.preventDefault(),jt.current=0,Ht(!1);const Yn=Array.from(((yi=cn.dataTransfer)==null?void 0:yi.files)??[]).filter(js=>/\.(mp3|wav)$/i.test(js.name));Yn.length&&Hs(Yn)};return window.addEventListener("dragenter",_e),window.addEventListener("dragleave",at),window.addEventListener("dragover",Ct),window.addEventListener("drop",Jt),()=>{window.removeEventListener("dragenter",_e),window.removeEventListener("dragleave",at),window.removeEventListener("dragover",Ct),window.removeEventListener("drop",Jt)}},[Tt]);const pn=Le.useCallback((_e,at="info")=>{nt({msg:_e,type:at}),setTimeout(()=>nt(null),3e3)},[]),$i=Le.useCallback(_e=>_e.relativePath??_e.fileName,[]),Jr=["youtube.com","www.youtube.com","m.youtube.com","youtu.be","music.youtube.com","instagram.com","www.instagram.com"],Ze=Le.useCallback(_e=>{const at=_e.trim();return!at||/^https?:\/\//i.test(at)?at:"https://"+at},[]),At=Le.useCallback(_e=>{try{const at=new URL(Ze(_e)),Ct=at.hostname.toLowerCase();return!!(at.pathname.toLowerCase().endsWith(".mp3")||Jr.some(Jt=>Ct===Jt||Ct.endsWith("."+Jt)))}catch{return!1}},[Ze]),Ot=Le.useCallback(_e=>{try{const at=new URL(Ze(_e)),Ct=at.hostname.toLowerCase();return Ct.includes("youtube")||Ct==="youtu.be"?"youtube":Ct.includes("instagram")?"instagram":at.pathname.toLowerCase().endsWith(".mp3")?"mp3":null}catch{return null}},[Ze]),st=F?F.split(":")[0]:"",d=F?F.split(":")[1]:"",J=Le.useMemo(()=>k.find(_e=>`${_e.guildId}:${_e.channelId}`===F),[k,F]);Le.useEffect(()=>{const _e=()=>{const Ct=new Date,Jt=String(Ct.getHours()).padStart(2,"0"),cn=String(Ct.getMinutes()).padStart(2,"0"),Yn=String(Ct.getSeconds()).padStart(2,"0");$t(`${Jt}:${cn}:${Yn}`)};_e();const at=setInterval(_e,1e3);return()=>clearInterval(at)},[]),Le.useEffect(()=>{(async()=>{try{const[_e,at]=await Promise.all([Mde(),Ede()]);if(H(_e),_e.length){const Ct=_e[0].guildId,Jt=at[Ct],cn=Jt&&_e.find(Yn=>Yn.guildId===Ct&&Yn.channelId===Jt);V(cn?`${Ct}:${Jt}`:`${_e[0].guildId}:${_e[0].channelId}`)}}catch(_e){pn((_e==null?void 0:_e.message)||"Channel-Fehler","error")}try{It(await Bde())}catch{}try{const _e=await wde();u(_e.categories||[])}catch{}})()},[]),Le.useEffect(()=>{localStorage.setItem("jb-theme",Se)},[Se]);const $n=Le.useRef(null);Le.useEffect(()=>{const _e=$n.current;if(!_e)return;_e.style.setProperty("--card-size",be+"px");const at=be/110;_e.style.setProperty("--card-emoji",Math.round(28*at)+"px"),_e.style.setProperty("--card-font",Math.max(9,Math.round(11*at))+"px"),localStorage.setItem("jb-card-size",String(be))},[be]),Le.useEffect(()=>{var _e,at,Ct,Jt,cn,Yn,yi,js;if(i){if(i.soundboard){const pi=i.soundboard;Array.isArray(pi.party)&&Pe(pi.party);try{const Pr=pi.selected||{},Ei=(_e=Y.current)==null?void 0:_e.split(":")[0];Ei&&Pr[Ei]&&V(`${Ei}:${Pr[Ei]}`)}catch{}try{const Pr=pi.volumes||{},Ei=(at=Y.current)==null?void 0:at.split(":")[0];Ei&&typeof Pr[Ei]=="number"&&te(Pr[Ei])}catch{}try{const Pr=pi.nowplaying||{},Ei=(Ct=Y.current)==null?void 0:Ct.split(":")[0];Ei&&typeof Pr[Ei]=="string"&&le(Pr[Ei])}catch{}try{const Pr=pi.voicestats||{},Ei=(Jt=Y.current)==null?void 0:Jt.split(":")[0];Ei&&Pr[Ei]&&In(Pr[Ei])}catch{}}if(i.type==="soundboard_party")Pe(pi=>{const Pr=new Set(pi);return i.active?Pr.add(i.guildId):Pr.delete(i.guildId),Array.from(Pr)});else if(i.type==="soundboard_channel"){const pi=(cn=Y.current)==null?void 0:cn.split(":")[0];i.guildId===pi&&V(`${i.guildId}:${i.channelId}`)}else if(i.type==="soundboard_volume"){const pi=(Yn=Y.current)==null?void 0:Yn.split(":")[0];i.guildId===pi&&typeof i.volume=="number"&&te(i.volume)}else if(i.type==="soundboard_nowplaying"){const pi=(yi=Y.current)==null?void 0:yi.split(":")[0];i.guildId===pi&&le(i.name||"")}else if(i.type==="soundboard_voicestats"){const pi=(js=Y.current)==null?void 0:js.split(":")[0];i.guildId===pi&&In({voicePing:i.voicePing,gatewayPing:i.gatewayPing,status:i.status,channelName:i.channelName,connectedSince:i.connectedSince})}}},[i]),Le.useEffect(()=>{Ge(st?ye.includes(st):!1)},[F,ye,st]),Le.useEffect(()=>{(async()=>{try{let _e="__all__";v==="recent"?_e="__recent__":S&&(_e=S);const at=await d7(R,_e,void 0,!1);t(at.items),r(at.total),a(at.folders)}catch(_e){pn((_e==null?void 0:_e.message)||"Sounds-Fehler","error")}})()},[v,S,R,qi,pn]),Le.useEffect(()=>{Gn()},[qi]),Le.useEffect(()=>{const _e=Sde("favs");if(_e)try{Te(JSON.parse(_e))}catch{}},[]),Le.useEffect(()=>{try{bde("favs",JSON.stringify(de))}catch{}},[de]),Le.useEffect(()=>{F&&(async()=>{try{const _e=await Ude(st);te(_e)}catch{}})()},[F]),Le.useEffect(()=>{const _e=()=>{ne(!1),xn(null)};return document.addEventListener("click",_e),()=>document.removeEventListener("click",_e)},[]),Le.useEffect(()=>{Qe&&Tt&&ae()},[Qe,Tt]);async function Gn(){try{const _e=await Tde();g(_e)}catch{}}async function Xn(_e){if(!F)return pn("Bitte einen Voice-Channel auswaehlen","error");try{await Rde(_e.name,st,d,se,_e.relativePath),le(_e.name),Gn()}catch(at){pn((at==null?void 0:at.message)||"Play fehlgeschlagen","error")}}function un(){var Jt;const _e=Ze(E);if(!_e)return pn("Bitte einen Link eingeben","error");if(!At(_e))return pn("Nur YouTube, Instagram oder direkte MP3-Links","error");const at=Ot(_e);let Ct="";if(at==="mp3")try{Ct=((Jt=new URL(_e).pathname.split("/").pop())==null?void 0:Jt.replace(/\.mp3$/i,""))??""}catch{}G({url:_e,type:at,filename:Ct,phase:"input"})}async function qn(){if(z){G(_e=>_e?{..._e,phase:"downloading"}:null);try{let _e;const at=z.filename.trim()||void 0;F&&st&&d?_e=(await Nde(z.url,st,d,se,at)).saved:_e=(await Dde(z.url,at)).saved,G(Ct=>Ct?{...Ct,phase:"done",savedName:_e}:null),B(""),rr(Ct=>Ct+1),Gn(),setTimeout(()=>G(null),2500)}catch(_e){G(at=>at?{...at,phase:"error",error:(_e==null?void 0:_e.message)||"Fehler"}:null)}}}async function Hs(_e){if(!Tt){pn("Admin-Login erforderlich zum Hochladen","error");return}kt.current&&clearTimeout(kt.current);const at=_e.map(Jt=>({id:Math.random().toString(36).slice(2),file:Jt,status:"waiting",progress:0}));yt(at),sn(!0);const Ct=[...at];for(let Jt=0;Jt{Ct[Jt]={...Ct[Jt],progress:Yn},yt([...Ct])});Ct[Jt]={...Ct[Jt],status:"done",progress:100,savedName:cn}}catch(cn){Ct[Jt]={...Ct[Jt],status:"error",error:(cn==null?void 0:cn.message)??"Fehler"}}yt([...Ct])}rr(Jt=>Jt+1),Gn(),kt.current=setTimeout(()=>{sn(!1),yt([])},3500)}async function li(){if(F){le("");try{await fetch(`${us}/stop?guildId=${encodeURIComponent(st)}`,{method:"POST"})}catch{}}}async function Fn(){if(!Z.length||!F)return;const _e=Z[Math.floor(Math.random()*Z.length)];Xn(_e)}async function cs(){if(Ee){await li();try{await Lde(st)}catch{}}else{if(!F)return pn("Bitte einen Channel auswaehlen","error");try{await Pde(st,d)}catch{}}}async function Ma(_e){const at=`${_e.guildId}:${_e.channelId}`;V(at),ne(!1);try{await Cde(_e.guildId,_e.channelId)}catch{}}function Ul(_e){Te(at=>({...at,[_e]:!at[_e]}))}async function ae(){tn(!0);try{const _e=await d7("","__all__",void 0,!1);Dt(_e.items||[])}catch(_e){pn((_e==null?void 0:_e.message)||"Admin-Sounds konnten nicht geladen werden","error")}finally{tn(!1)}}function Oe(_e){oe(at=>({...at,[_e]:!at[_e]}))}function Ye(_e){Fe($i(_e)),Et(_e.name)}function $e(){Fe(""),Et("")}async function Ie(){if(!Me)return;const _e=ze.trim().replace(/\.(mp3|wav)$/i,"");if(!_e){pn("Bitte einen gueltigen Namen eingeben","error");return}try{await kde(Me,_e),pn("Sound umbenannt"),$e(),rr(at=>at+1),Qe&&await ae()}catch(at){pn((at==null?void 0:at.message)||"Umbenennen fehlgeschlagen","error")}}async function Bt(_e){if(_e.length!==0)try{await Fde(_e),pn(_e.length===1?"Sound geloescht":`${_e.length} Sounds geloescht`),oe({}),$e(),rr(at=>at+1),Qe&&await ae()}catch(at){pn((at==null?void 0:at.message)||"Loeschen fehlgeschlagen","error")}}async function Vt(){try{await Ode(he)?(It(!0),Ft(""),pn("Admin eingeloggt")):pn("Falsches Passwort","error")}catch{pn("Login fehlgeschlagen","error")}}async function ht(){try{await Ide(),It(!1),oe({}),$e(),pn("Ausgeloggt")}catch{}}const Z=Le.useMemo(()=>v==="favorites"?e.filter(_e=>de[_e.relativePath??_e.fileName]):e,[e,v,de]),Ut=Le.useMemo(()=>Object.values(de).filter(Boolean).length,[de]),bn=Le.useMemo(()=>s.filter(_e=>!["__all__","__recent__","__top3__"].includes(_e.key)),[s]),fn=Le.useMemo(()=>{const _e={};return bn.forEach((at,Ct)=>{_e[at.key]=m7[Ct%m7.length]}),_e},[bn]),ui=Le.useMemo(()=>{const _e=new Set,at=new Set;return Z.forEach((Ct,Jt)=>{const cn=Ct.name.charAt(0).toUpperCase();_e.has(cn)||(_e.add(cn),at.add(Jt))}),at},[Z]),ci=Le.useMemo(()=>{const _e={};return k.forEach(at=>{_e[at.guildName]||(_e[at.guildName]=[]),_e[at.guildName].push(at)}),_e},[k]),_i=Le.useMemo(()=>{const _e=_t.trim().toLowerCase();return _e?ct.filter(at=>{const Ct=$i(at).toLowerCase();return at.name.toLowerCase().includes(_e)||(at.folder||"").toLowerCase().includes(_e)||Ct.includes(_e)}):ct},[_t,ct,$i]),K=Le.useMemo(()=>Object.keys(X).filter(_e=>X[_e]),[X]),Ln=Le.useMemo(()=>_i.filter(_e=>!!X[$i(_e)]).length,[_i,X,$i]),mn=_i.length>0&&Ln===_i.length,yr=h.mostPlayed.slice(0,10),hi=h.totalSounds||n,bs=xt.slice(0,5),fa=xt.slice(5);return W.jsxs("div",{className:"sb-app","data-theme":Se,ref:$n,children:[Ee&&W.jsx("div",{className:"party-overlay active"}),W.jsxs("header",{className:"topbar",children:[W.jsxs("div",{className:"topbar-left",children:[W.jsx("div",{className:"sb-app-logo",children:W.jsx("span",{className:"material-icons",style:{fontSize:16,color:"white"},children:"music_note"})}),W.jsx("span",{className:"sb-app-title",children:"Soundboard"}),W.jsxs("div",{className:"channel-dropdown",onClick:_e=>_e.stopPropagation(),children:[W.jsxs("button",{className:`channel-btn ${ee?"open":""}`,onClick:()=>ne(!ee),children:[W.jsx("span",{className:"material-icons cb-icon",children:"headset"}),F&&W.jsx("span",{className:"channel-status"}),W.jsx("span",{className:"channel-label",children:J?`${J.channelName}${J.members?` (${J.members})`:""}`:"Channel..."}),W.jsx("span",{className:"material-icons chevron",children:"expand_more"})]}),ee&&W.jsxs("div",{className:"channel-menu visible",children:[Object.entries(ci).map(([_e,at])=>W.jsxs(LF.Fragment,{children:[W.jsx("div",{className:"channel-menu-header",children:_e}),at.map(Ct=>W.jsxs("div",{className:`channel-option ${`${Ct.guildId}:${Ct.channelId}`===F?"active":""}`,onClick:()=>Ma(Ct),children:[W.jsx("span",{className:"material-icons co-icon",children:"volume_up"}),Ct.channelName,Ct.members?` (${Ct.members})`:""]},`${Ct.guildId}:${Ct.channelId}`))]},_e)),k.length===0&&W.jsx("div",{className:"channel-option",style:{color:"var(--text-faint)",cursor:"default"},children:"Keine Channels verfuegbar"})]})]})]}),W.jsx("div",{className:"clock-wrap",children:W.jsxs("div",{className:"clock",children:[bs,W.jsx("span",{className:"clock-seconds",children:fa})]})}),W.jsxs("div",{className:"topbar-right",children:[Q&&W.jsxs("div",{className:"now-playing",children:[W.jsxs("div",{className:"np-waves active",children:[W.jsx("div",{className:"np-wave-bar"}),W.jsx("div",{className:"np-wave-bar"}),W.jsx("div",{className:"np-wave-bar"}),W.jsx("div",{className:"np-wave-bar"})]}),W.jsx("span",{className:"np-label",children:"Last Played:"})," ",W.jsx("span",{className:"np-name",children:Q})]}),F&&W.jsxs("div",{className:"connection",onClick:()=>ge(!0),style:{cursor:"pointer"},title:"Verbindungsdetails",children:[W.jsx("span",{className:"conn-dot"}),"Verbunden",(qt==null?void 0:qt.voicePing)!=null&&W.jsxs("span",{className:"conn-ping",children:[qt.voicePing,"ms"]})]}),W.jsx("button",{className:`admin-btn-icon ${Tt?"active":""}`,onClick:()=>it(!0),title:"Admin",children:W.jsx("span",{className:"material-icons",children:"settings"})})]})]}),W.jsxs("div",{className:"toolbar",children:[W.jsxs("div",{className:"cat-tabs",children:[W.jsxs("button",{className:`cat-tab ${v==="all"?"active":""}`,onClick:()=>{x("all"),w("")},children:["Alle",W.jsx("span",{className:"tab-count",children:n})]}),W.jsx("button",{className:`cat-tab ${v==="recent"?"active":""}`,onClick:()=>{x("recent"),w("")},children:"Neu hinzugefuegt"}),W.jsxs("button",{className:`cat-tab ${v==="favorites"?"active":""}`,onClick:()=>{x("favorites"),w("")},children:["Favoriten",Ut>0&&W.jsx("span",{className:"tab-count",children:Ut})]})]}),W.jsxs("div",{className:"search-wrap",children:[W.jsx("span",{className:"material-icons search-icon",children:"search"}),W.jsx("input",{className:"search-input",type:"text",placeholder:"Suchen...",value:R,onChange:_e=>C(_e.target.value)}),R&&W.jsx("button",{className:"search-clear",onClick:()=>C(""),children:W.jsx("span",{className:"material-icons",style:{fontSize:14},children:"close"})})]}),W.jsxs("div",{className:"url-import-wrap",children:[W.jsx("span",{className:"material-icons url-import-icon",children:Ot(E)==="youtube"?"smart_display":Ot(E)==="instagram"?"photo_camera":"link"}),W.jsx("input",{className:"url-import-input",type:"text",placeholder:"YouTube / Instagram / MP3-Link...",value:E,onChange:_e=>B(_e.target.value),onKeyDown:_e=>{_e.key==="Enter"&&un()}}),E&&W.jsx("span",{className:`url-import-tag ${At(E)?"valid":"invalid"}`,children:Ot(E)==="youtube"?"YT":Ot(E)==="instagram"?"IG":Ot(E)==="mp3"?"MP3":"?"}),W.jsx("button",{className:"url-import-btn",onClick:()=>{un()},disabled:L||!!E&&!At(E),title:"Sound herunterladen",children:L?"Laedt...":"Download"})]}),W.jsx("div",{className:"toolbar-spacer"}),W.jsxs("div",{className:"volume-control",children:[W.jsx("span",{className:"material-icons vol-icon",onClick:()=>{const _e=se>0?0:.5;te(_e),st&&p7(st,_e).catch(()=>{})},children:se===0?"volume_off":se<.5?"volume_down":"volume_up"}),W.jsx("input",{type:"range",className:"vol-slider",min:0,max:1,step:.01,value:se,onChange:_e=>{const at=parseFloat(_e.target.value);te(at),st&&(vt.current&&clearTimeout(vt.current),vt.current=setTimeout(()=>{p7(st,at).catch(()=>{})},120))},style:{"--vol":`${Math.round(se*100)}%`}}),W.jsxs("span",{className:"vol-pct",children:[Math.round(se*100),"%"]})]}),W.jsxs("button",{className:"tb-btn random",onClick:Fn,title:"Zufaelliger Sound",children:[W.jsx("span",{className:"material-icons tb-icon",children:"shuffle"}),"Random"]}),W.jsxs("button",{className:`tb-btn party ${Ee?"active":""}`,onClick:cs,title:"Party Mode",children:[W.jsx("span",{className:"material-icons tb-icon",children:Ee?"celebration":"auto_awesome"}),Ee?"Party!":"Party"]}),W.jsxs("button",{className:"tb-btn stop",onClick:li,title:"Alle stoppen",children:[W.jsx("span",{className:"material-icons tb-icon",children:"stop"}),"Stop"]}),W.jsxs("div",{className:"size-control",title:"Button-Groesse",children:[W.jsx("span",{className:"material-icons sc-icon",children:"grid_view"}),W.jsx("input",{type:"range",className:"size-slider",min:80,max:160,value:be,onChange:_e=>We(parseInt(_e.target.value))})]}),W.jsx("div",{className:"theme-selector",children:Gde.map(_e=>W.jsx("div",{className:`theme-dot ${Se===_e.id?"active":""}`,style:{background:_e.color},title:_e.label,onClick:()=>ue(_e.id)},_e.id))})]}),W.jsxs("div",{className:"analytics-strip",children:[W.jsxs("div",{className:"analytics-card",children:[W.jsx("span",{className:"material-icons analytics-icon",children:"library_music"}),W.jsxs("div",{className:"analytics-copy",children:[W.jsx("span",{className:"analytics-label",children:"Sounds gesamt"}),W.jsx("strong",{className:"analytics-value",children:hi})]})]}),W.jsxs("div",{className:"analytics-card analytics-wide",children:[W.jsx("span",{className:"material-icons analytics-icon",children:"leaderboard"}),W.jsxs("div",{className:"analytics-copy",children:[W.jsx("span",{className:"analytics-label",children:"Most Played"}),W.jsx("div",{className:"analytics-top-list",children:yr.length===0?W.jsx("span",{className:"analytics-muted",children:"Noch keine Plays"}):yr.map((_e,at)=>W.jsxs("span",{className:"analytics-chip",children:[at+1,". ",_e.name," (",_e.count,")"]},_e.relativePath))})]})]})]}),v==="all"&&bn.length>0&&W.jsx("div",{className:"category-strip",children:bn.map(_e=>{const at=fn[_e.key]||"#888",Ct=S===_e.key;return W.jsxs("button",{className:`cat-chip ${Ct?"active":""}`,onClick:()=>w(Ct?"":_e.key),style:Ct?{borderColor:at,color:at}:void 0,children:[W.jsx("span",{className:"cat-dot",style:{background:at}}),_e.name.replace(/\s*\(\d+\)\s*$/,""),W.jsx("span",{className:"cat-count",children:_e.count})]},_e.key)})}),W.jsx("main",{className:"main",children:Z.length===0?W.jsxs("div",{className:"empty-state visible",children:[W.jsx("div",{className:"empty-emoji",children:v==="favorites"?"⭐":"🔇"}),W.jsx("div",{className:"empty-title",children:v==="favorites"?"Noch keine Favoriten":R?`Kein Sound fuer "${R}" gefunden`:"Keine Sounds vorhanden"}),W.jsx("div",{className:"empty-desc",children:v==="favorites"?"Klick den Stern auf einem Sound!":"Hier gibt's noch nichts zu hoeren."})]}):W.jsx("div",{className:"sound-grid",children:Z.map((_e,at)=>{var Pr;const Ct=_e.relativePath??_e.fileName,Jt=!!de[Ct],cn=Q===_e.name,Yn=_e.isRecent||((Pr=_e.badges)==null?void 0:Pr.includes("new")),yi=_e.name.charAt(0).toUpperCase(),js=ui.has(at),pi=_e.folder&&fn[_e.folder]||"var(--accent)";return W.jsxs("div",{className:`sound-card ${cn?"playing":""} ${js?"has-initial":""}`,style:{animationDelay:`${Math.min(at*20,400)}ms`},onClick:Ei=>{const Zh=Ei.currentTarget,Bl=Zh.getBoundingClientRect(),nl=document.createElement("div");nl.className="ripple";const Bi=Math.max(Bl.width,Bl.height);nl.style.width=nl.style.height=Bi+"px",nl.style.left=Ei.clientX-Bl.left-Bi/2+"px",nl.style.top=Ei.clientY-Bl.top-Bi/2+"px",Zh.appendChild(nl),setTimeout(()=>nl.remove(),500),Xn(_e)},onContextMenu:Ei=>{Ei.preventDefault(),Ei.stopPropagation(),xn({x:Math.min(Ei.clientX,window.innerWidth-170),y:Math.min(Ei.clientY,window.innerHeight-140),sound:_e})},title:`${_e.name}${_e.folder?` (${_e.folder})`:""}`,children:[Yn&&W.jsx("span",{className:"new-badge",children:"NEU"}),W.jsx("span",{className:`fav-star ${Jt?"active":""}`,onClick:Ei=>{Ei.stopPropagation(),Ul(Ct)},children:W.jsx("span",{className:"material-icons fav-icon",children:Jt?"star":"star_border"})}),js&&W.jsx("span",{className:"sound-emoji",style:{color:pi},children:yi}),W.jsx("span",{className:"sound-name",children:_e.name}),_e.folder&&W.jsx("span",{className:"sound-duration",children:_e.folder}),W.jsxs("div",{className:"playing-indicator",children:[W.jsx("div",{className:"wave-bar"}),W.jsx("div",{className:"wave-bar"}),W.jsx("div",{className:"wave-bar"}),W.jsx("div",{className:"wave-bar"})]})]},Ct)})})}),zt&&W.jsxs("div",{className:"ctx-menu visible",style:{left:zt.x,top:zt.y},onClick:_e=>_e.stopPropagation(),children:[W.jsxs("div",{className:"ctx-item",onClick:()=>{Xn(zt.sound),xn(null)},children:[W.jsx("span",{className:"material-icons ctx-icon",children:"play_arrow"}),"Abspielen"]}),W.jsxs("div",{className:"ctx-item",onClick:()=>{Ul(zt.sound.relativePath??zt.sound.fileName),xn(null)},children:[W.jsx("span",{className:"material-icons ctx-icon",children:de[zt.sound.relativePath??zt.sound.fileName]?"star":"star_border"}),"Favorit"]}),Tt&&W.jsxs(W.Fragment,{children:[W.jsx("div",{className:"ctx-sep"}),W.jsxs("div",{className:"ctx-item danger",onClick:async()=>{const _e=zt.sound.relativePath??zt.sound.fileName;await Bt([_e]),xn(null)},children:[W.jsx("span",{className:"material-icons ctx-icon",children:"delete"}),"Loeschen"]})]})]}),Mi&&(()=>{const _e=qt!=null&&qt.connectedSince?Math.floor((Date.now()-new Date(qt.connectedSince).getTime())/1e3):0,at=Math.floor(_e/3600),Ct=Math.floor(_e%3600/60),Jt=_e%60,cn=at>0?`${at}h ${String(Ct).padStart(2,"0")}m ${String(Jt).padStart(2,"0")}s`:Ct>0?`${Ct}m ${String(Jt).padStart(2,"0")}s`:`${Jt}s`,Yn=yi=>yi==null?"var(--muted)":yi<80?"var(--green)":yi<150?"#f0a830":"#e04040";return W.jsx("div",{className:"conn-modal-overlay",onClick:()=>ge(!1),children:W.jsxs("div",{className:"conn-modal",onClick:yi=>yi.stopPropagation(),children:[W.jsxs("div",{className:"conn-modal-header",children:[W.jsx("span",{className:"material-icons",style:{fontSize:20,color:"var(--green)"},children:"cell_tower"}),W.jsx("span",{children:"Verbindungsdetails"}),W.jsx("button",{className:"conn-modal-close",onClick:()=>ge(!1),children:W.jsx("span",{className:"material-icons",children:"close"})})]}),W.jsxs("div",{className:"conn-modal-body",children:[W.jsxs("div",{className:"conn-stat",children:[W.jsx("span",{className:"conn-stat-label",children:"Voice Ping"}),W.jsxs("span",{className:"conn-stat-value",children:[W.jsx("span",{className:"conn-ping-dot",style:{background:Yn((qt==null?void 0:qt.voicePing)??null)}}),(qt==null?void 0:qt.voicePing)!=null?`${qt.voicePing} ms`:"---"]})]}),W.jsxs("div",{className:"conn-stat",children:[W.jsx("span",{className:"conn-stat-label",children:"Gateway Ping"}),W.jsxs("span",{className:"conn-stat-value",children:[W.jsx("span",{className:"conn-ping-dot",style:{background:Yn((qt==null?void 0:qt.gatewayPing)??null)}}),qt&&qt.gatewayPing>=0?`${qt.gatewayPing} ms`:"---"]})]}),W.jsxs("div",{className:"conn-stat",children:[W.jsx("span",{className:"conn-stat-label",children:"Status"}),W.jsx("span",{className:"conn-stat-value",style:{color:(qt==null?void 0:qt.status)==="ready"?"var(--green)":"#f0a830"},children:(qt==null?void 0:qt.status)==="ready"?"Verbunden":(qt==null?void 0:qt.status)??"Warte auf Verbindung"})]}),W.jsxs("div",{className:"conn-stat",children:[W.jsx("span",{className:"conn-stat-label",children:"Kanal"}),W.jsx("span",{className:"conn-stat-value",children:(qt==null?void 0:qt.channelName)||"---"})]}),W.jsxs("div",{className:"conn-stat",children:[W.jsx("span",{className:"conn-stat-label",children:"Verbunden seit"}),W.jsx("span",{className:"conn-stat-value",children:cn||"---"})]})]})]})})})(),Wt&&W.jsxs("div",{className:`toast ${Wt.type}`,children:[W.jsx("span",{className:"material-icons toast-icon",children:Wt.type==="error"?"error_outline":"check_circle"}),Wt.msg]}),Qe&&W.jsx("div",{className:"admin-overlay",onClick:_e=>{_e.target===_e.currentTarget&&it(!1)},children:W.jsxs("div",{className:"admin-panel",children:[W.jsxs("h3",{children:["Admin",W.jsx("button",{className:"admin-close",onClick:()=>it(!1),children:W.jsx("span",{className:"material-icons",style:{fontSize:18},children:"close"})})]}),Tt?W.jsxs("div",{className:"admin-shell",children:[W.jsxs("div",{className:"admin-header-row",children:[W.jsx("p",{className:"admin-status",children:"Eingeloggt als Admin"}),W.jsxs("div",{className:"admin-actions-inline",children:[W.jsx("button",{className:"admin-btn-action outline",onClick:()=>{ae()},disabled:gt,children:"Aktualisieren"}),W.jsx("button",{className:"admin-btn-action outline",onClick:ht,children:"Logout"})]})]}),W.jsxs("div",{className:"admin-field admin-search-field",children:[W.jsx("label",{children:"Sounds verwalten"}),W.jsx("input",{type:"text",value:_t,onChange:_e=>fe(_e.target.value),placeholder:"Nach Name, Ordner oder Pfad filtern..."})]}),W.jsxs("div",{className:"admin-bulk-row",children:[W.jsxs("label",{className:"admin-select-all",children:[W.jsx("input",{type:"checkbox",checked:mn,onChange:_e=>{const at=_e.target.checked,Ct={...X};_i.forEach(Jt=>{Ct[$i(Jt)]=at}),oe(Ct)}}),W.jsxs("span",{children:["Alle sichtbaren auswaehlen (",Ln,"/",_i.length,")"]})]}),W.jsx("button",{className:"admin-btn-action danger",disabled:K.length===0,onClick:async()=>{window.confirm(`Wirklich ${K.length} Sound(s) loeschen?`)&&await Bt(K)},children:"Ausgewaehlte loeschen"})]}),W.jsx("div",{className:"admin-list-wrap",children:gt?W.jsx("div",{className:"admin-empty",children:"Lade Sounds..."}):_i.length===0?W.jsx("div",{className:"admin-empty",children:"Keine Sounds gefunden."}):W.jsx("div",{className:"admin-list",children:_i.map(_e=>{const at=$i(_e),Ct=Me===at;return W.jsxs("div",{className:"admin-item",children:[W.jsx("label",{className:"admin-item-check",children:W.jsx("input",{type:"checkbox",checked:!!X[at],onChange:()=>Oe(at)})}),W.jsxs("div",{className:"admin-item-main",children:[W.jsx("div",{className:"admin-item-name",children:_e.name}),W.jsxs("div",{className:"admin-item-meta",children:[_e.folder?`Ordner: ${_e.folder}`:"Root"," · ",at]}),Ct&&W.jsxs("div",{className:"admin-rename-row",children:[W.jsx("input",{value:ze,onChange:Jt=>Et(Jt.target.value),onKeyDown:Jt=>{Jt.key==="Enter"&&Ie(),Jt.key==="Escape"&&$e()},placeholder:"Neuer Name..."}),W.jsx("button",{className:"admin-btn-action primary",onClick:()=>{Ie()},children:"Speichern"}),W.jsx("button",{className:"admin-btn-action outline",onClick:$e,children:"Abbrechen"})]})]}),!Ct&&W.jsxs("div",{className:"admin-item-actions",children:[W.jsx("button",{className:"admin-btn-action outline",onClick:()=>Ye(_e),children:"Umbenennen"}),W.jsx("button",{className:"admin-btn-action danger ghost",onClick:async()=>{window.confirm(`Sound "${_e.name}" loeschen?`)&&await Bt([at])},children:"Loeschen"})]})]},at)})})})]}):W.jsxs("div",{children:[W.jsxs("div",{className:"admin-field",children:[W.jsx("label",{children:"Passwort"}),W.jsx("input",{type:"password",value:he,onChange:_e=>Ft(_e.target.value),onKeyDown:_e=>_e.key==="Enter"&&Vt(),placeholder:"Admin-Passwort..."})]}),W.jsx("button",{className:"admin-btn-action primary",onClick:Vt,children:"Login"})]})]})}),Rt&&W.jsx("div",{className:"drop-overlay",children:W.jsxs("div",{className:"drop-zone",children:[W.jsx("span",{className:"material-icons drop-icon",children:"cloud_upload"}),W.jsx("div",{className:"drop-title",children:"MP3 & WAV hier ablegen"}),W.jsx("div",{className:"drop-sub",children:"Mehrere Dateien gleichzeitig moeglich"})]})}),Zt&&Xt.length>0&&W.jsxs("div",{className:"upload-queue",children:[W.jsxs("div",{className:"uq-header",children:[W.jsx("span",{className:"material-icons",style:{fontSize:16},children:"upload"}),W.jsx("span",{children:Xt.every(_e=>_e.status==="done"||_e.status==="error")?`${Xt.filter(_e=>_e.status==="done").length} von ${Xt.length} hochgeladen`:`Lade hoch… (${Xt.filter(_e=>_e.status==="done").length}/${Xt.length})`}),W.jsx("button",{className:"uq-close",onClick:()=>{sn(!1),yt([])},children:W.jsx("span",{className:"material-icons",style:{fontSize:14},children:"close"})})]}),W.jsx("div",{className:"uq-list",children:Xt.map(_e=>W.jsxs("div",{className:`uq-item uq-${_e.status}`,children:[W.jsx("span",{className:"material-icons uq-file-icon",children:"audio_file"}),W.jsxs("div",{className:"uq-info",children:[W.jsx("div",{className:"uq-name",title:_e.savedName??_e.file.name,children:_e.savedName??_e.file.name}),W.jsxs("div",{className:"uq-size",children:[(_e.file.size/1024).toFixed(0)," KB"]})]}),(_e.status==="waiting"||_e.status==="uploading")&&W.jsx("div",{className:"uq-progress-wrap",children:W.jsx("div",{className:"uq-progress-bar",style:{width:`${_e.progress}%`}})}),W.jsx("span",{className:`material-icons uq-status-icon uq-status-${_e.status}`,children:_e.status==="done"?"check_circle":_e.status==="error"?"error":_e.status==="uploading"?"sync":"schedule"}),_e.status==="error"&&W.jsx("div",{className:"uq-error",children:_e.error})]},_e.id))})]}),z&&W.jsx("div",{className:"dl-modal-overlay",onClick:()=>z.phase!=="downloading"&&G(null),children:W.jsxs("div",{className:"dl-modal",onClick:_e=>_e.stopPropagation(),children:[W.jsxs("div",{className:"dl-modal-header",children:[W.jsx("span",{className:"material-icons",style:{fontSize:20},children:z.type==="youtube"?"smart_display":z.type==="instagram"?"photo_camera":"audio_file"}),W.jsx("span",{children:z.phase==="input"?"Sound herunterladen":z.phase==="downloading"?"Wird heruntergeladen...":z.phase==="done"?"Fertig!":"Fehler"}),z.phase!=="downloading"&&W.jsx("button",{className:"dl-modal-close",onClick:()=>G(null),children:W.jsx("span",{className:"material-icons",style:{fontSize:16},children:"close"})})]}),W.jsxs("div",{className:"dl-modal-body",children:[W.jsxs("div",{className:"dl-modal-url",children:[W.jsx("span",{className:`dl-modal-tag ${z.type??""}`,children:z.type==="youtube"?"YouTube":z.type==="instagram"?"Instagram":"MP3"}),W.jsx("span",{className:"dl-modal-url-text",title:z.url,children:z.url.length>60?z.url.slice(0,57)+"...":z.url})]}),z.phase==="input"&&W.jsxs("div",{className:"dl-modal-field",children:[W.jsx("label",{className:"dl-modal-label",children:"Dateiname"}),W.jsxs("div",{className:"dl-modal-input-wrap",children:[W.jsx("input",{className:"dl-modal-input",type:"text",placeholder:z.type==="mp3"?"Dateiname...":"Wird automatisch erkannt...",value:z.filename,onChange:_e=>G(at=>at?{...at,filename:_e.target.value}:null),onKeyDown:_e=>{_e.key==="Enter"&&qn()},autoFocus:!0}),W.jsx("span",{className:"dl-modal-ext",children:".mp3"})]}),W.jsx("span",{className:"dl-modal-hint",children:"Leer lassen = automatischer Name"})]}),z.phase==="downloading"&&W.jsxs("div",{className:"dl-modal-progress",children:[W.jsx("div",{className:"dl-modal-spinner"}),W.jsx("span",{children:z.type==="youtube"||z.type==="instagram"?"Audio wird extrahiert...":"MP3 wird heruntergeladen..."})]}),z.phase==="done"&&W.jsxs("div",{className:"dl-modal-success",children:[W.jsx("span",{className:"material-icons dl-modal-check",children:"check_circle"}),W.jsxs("span",{children:["Gespeichert als ",W.jsx("b",{children:z.savedName})]})]}),z.phase==="error"&&W.jsxs("div",{className:"dl-modal-error",children:[W.jsx("span",{className:"material-icons",style:{color:"#e74c3c"},children:"error"}),W.jsx("span",{children:z.error})]})]}),z.phase==="input"&&W.jsxs("div",{className:"dl-modal-actions",children:[W.jsx("button",{className:"dl-modal-cancel",onClick:()=>G(null),children:"Abbrechen"}),W.jsxs("button",{className:"dl-modal-submit",onClick:()=>void qn(),children:[W.jsx("span",{className:"material-icons",style:{fontSize:16},children:"download"}),"Herunterladen"]})]}),z.phase==="error"&&W.jsxs("div",{className:"dl-modal-actions",children:[W.jsx("button",{className:"dl-modal-cancel",onClick:()=>G(null),children:"Schliessen"}),W.jsxs("button",{className:"dl-modal-submit",onClick:()=>G(_e=>_e?{..._e,phase:"input",error:void 0}:null),children:[W.jsx("span",{className:"material-icons",style:{fontSize:16},children:"refresh"}),"Nochmal"]})]})]})})]})}const g7={IRON:"#6b6b6b",BRONZE:"#8c6239",SILVER:"#8c8c8c",GOLD:"#d4a017",PLATINUM:"#28b29e",EMERALD:"#1e9e5e",DIAMOND:"#576cce",MASTER:"#9d48e0",GRANDMASTER:"#e44c3e",CHALLENGER:"#f4c874"},Vde={SOLORANKED:"Ranked Solo",FLEXRANKED:"Ranked Flex",NORMAL:"Normal",ARAM:"ARAM",ARENA:"Arena",URF:"URF",BOT:"Co-op vs AI"},Hde="https://ddragon.leagueoflegends.com/cdn/15.5.1/img";function zv(i){return`${Hde}/champion/${i}.png`}function v7(i){const e=Math.floor((Date.now()-new Date(i).getTime())/1e3);return e<60?`${e}s`:e<3600?`${Math.floor(e/60)}m`:e<86400?`${Math.floor(e/3600)}h`:`${Math.floor(e/86400)}d`}function jde(i){const e=Math.floor(i/60),t=i%60;return`${e}:${String(t).padStart(2,"0")}`}function _7(i,e,t){return e===0?"Perfect":((i+t)/e).toFixed(2)}function y7(i,e){const t=i+e;return t>0?Math.round(i/t*100):0}function Wde(i,e){if(!i)return"Unranked";const t=["","I","II","III","IV"];return`${i.charAt(0)}${i.slice(1).toLowerCase()}${e?" "+(t[e]??e):""}`}function $de({data:i}){var be,We,Ee,Ge;const[e,t]=Le.useState(""),[n,r]=Le.useState("EUW"),[s,a]=Le.useState([]),[l,u]=Le.useState(null),[h,g]=Le.useState([]),[v,x]=Le.useState(!1),[S,w]=Le.useState(null),[R,C]=Le.useState([]),[E,B]=Le.useState(null),[L,O]=Le.useState({}),[z,G]=Le.useState(!1),[k,H]=Le.useState(!1),[F,V]=Le.useState(null),Y=Le.useRef(null),ee=Le.useRef(null);Le.useEffect(()=>{fetch("/api/lolstats/regions").then(ye=>ye.json()).then(a).catch(()=>{}),fetch("/api/lolstats/recent").then(ye=>ye.json()).then(C).catch(()=>{})},[]),Le.useEffect(()=>{i&&(i.recentSearches&&C(i.recentSearches),i.regions&&!s.length&&a(i.regions))},[i]);const ne=Le.useCallback(async(ye,Pe,pt)=>{H(!0);try{const vt=`gameName=${encodeURIComponent(ye)}&tagLine=${encodeURIComponent(Pe)}®ion=${pt}`,Tt=await fetch(`/api/lolstats/renew?${vt}`,{method:"POST"});if(Tt.ok){const It=await Tt.json();return It.last_updated_at&&V(It.last_updated_at),It.renewed??!1}}catch{}return H(!1),!1},[]),se=Le.useCallback(async(ye,Pe,pt,vt=!1)=>{var it,he;let Tt=ye??"",It=Pe??"";const Qe=pt??n;if(!Tt){const Ft=e.split("#");Tt=((it=Ft[0])==null?void 0:it.trim())??"",It=((he=Ft[1])==null?void 0:he.trim())??""}if(!Tt||!It){w("Bitte im Format Name#Tag eingeben");return}x(!0),w(null),u(null),g([]),B(null),O({}),ee.current={gameName:Tt,tagLine:It,region:Qe},vt||ne(Tt,It,Qe).finally(()=>H(!1));try{const Ft=`gameName=${encodeURIComponent(Tt)}&tagLine=${encodeURIComponent(It)}®ion=${Qe}`,[ct,Dt]=await Promise.all([fetch(`/api/lolstats/profile?${Ft}`),fetch(`/api/lolstats/matches?${Ft}&limit=10`)]);if(!ct.ok){const tn=await ct.json();throw new Error(tn.error??`Fehler ${ct.status}`)}const gt=await ct.json();if(u(gt),gt.updated_at&&V(gt.updated_at),Dt.ok){const tn=await Dt.json();g(Array.isArray(tn)?tn:[])}}catch(Ft){w(Ft.message)}x(!1)},[e,n,ne]),te=Le.useCallback(async()=>{const ye=ee.current;if(!(!ye||k)){H(!0);try{await ne(ye.gameName,ye.tagLine,ye.region),await new Promise(Pe=>setTimeout(Pe,1500)),await se(ye.gameName,ye.tagLine,ye.region,!0)}finally{H(!1)}}},[ne,se,k]),Q=Le.useCallback(async()=>{if(!(!l||z)){G(!0);try{const ye=`gameName=${encodeURIComponent(l.game_name)}&tagLine=${encodeURIComponent(l.tagline)}®ion=${n}&limit=20`,Pe=await fetch(`/api/lolstats/matches?${ye}`);if(Pe.ok){const pt=await Pe.json();g(Array.isArray(pt)?pt:[])}}catch{}G(!1)}},[l,n,z]),le=Le.useCallback(async ye=>{var Pe;if(E===ye.id){B(null);return}if(B(ye.id),!(((Pe=ye.participants)==null?void 0:Pe.length)>=10||L[ye.id]))try{const pt=`region=${n}&createdAt=${encodeURIComponent(ye.created_at)}`,vt=await fetch(`/api/lolstats/match/${encodeURIComponent(ye.id)}?${pt}`);if(vt.ok){const Tt=await vt.json();O(It=>({...It,[ye.id]:Tt}))}}catch{}},[E,L,n]),de=Le.useCallback(ye=>{t(`${ye.game_name}#${ye.tag_line}`),r(ye.region),se(ye.game_name,ye.tag_line,ye.region)},[se]),Te=Le.useCallback(ye=>{var pt,vt,Tt;if(!l)return((pt=ye.participants)==null?void 0:pt[0])??null;const Pe=l.game_name.toLowerCase();return((vt=ye.participants)==null?void 0:vt.find(It=>{var Qe,it;return((it=(Qe=It.summoner)==null?void 0:Qe.game_name)==null?void 0:it.toLowerCase())===Pe}))??((Tt=ye.participants)==null?void 0:Tt[0])??null},[l]),Se=ye=>{var he,Ft,ct;const Pe=Te(ye);if(!Pe)return null;const pt=((he=Pe.stats)==null?void 0:he.result)==="WIN",vt=_7(Pe.stats.kill,Pe.stats.death,Pe.stats.assist),Tt=(Pe.stats.minion_kill??0)+(Pe.stats.neutral_minion_kill??0),It=ye.game_length_second>0?(Tt/(ye.game_length_second/60)).toFixed(1):"0",Qe=E===ye.id,it=L[ye.id]??(((Ft=ye.participants)==null?void 0:Ft.length)>=10?ye:null);return W.jsxs("div",{children:[W.jsxs("div",{className:`lol-match ${pt?"win":"loss"}`,onClick:()=>le(ye),children:[W.jsx("div",{className:"lol-match-result",children:pt?"W":"L"}),W.jsxs("div",{className:"lol-match-champ",children:[W.jsx("img",{src:zv(Pe.champion_name),alt:Pe.champion_name,title:Pe.champion_name}),W.jsx("span",{className:"lol-match-champ-level",children:Pe.stats.champion_level})]}),W.jsxs("div",{className:"lol-match-kda",children:[W.jsxs("div",{className:"lol-match-kda-nums",children:[Pe.stats.kill,"/",Pe.stats.death,"/",Pe.stats.assist]}),W.jsxs("div",{className:`lol-match-kda-ratio ${vt==="Perfect"?"perfect":Number(vt)>=4?"great":""}`,children:[vt," KDA"]})]}),W.jsxs("div",{className:"lol-match-stats",children:[W.jsxs("span",{children:[Tt," CS (",It,"/m)"]}),W.jsxs("span",{children:[Pe.stats.ward_place," wards"]})]}),W.jsx("div",{className:"lol-match-items",children:(Pe.items_names??[]).slice(0,7).map((Dt,gt)=>Dt?W.jsx("img",{src:zv("Aatrox"),alt:Dt,title:Dt,style:{background:"var(--bg-deep)"},onError:tn=>{tn.target.style.display="none"}},gt):W.jsx("div",{className:"lol-match-item-empty"},gt))}),W.jsxs("div",{className:"lol-match-meta",children:[W.jsx("div",{className:"lol-match-duration",children:jde(ye.game_length_second)}),W.jsx("div",{className:"lol-match-queue",children:Vde[ye.game_type]??ye.game_type}),W.jsxs("div",{className:"lol-match-ago",children:[v7(ye.created_at)," ago"]})]})]}),Qe&&it&&W.jsx("div",{className:"lol-match-detail",children:ue(it,(ct=Pe.summoner)==null?void 0:ct.game_name)})]},ye.id)},ue=(ye,Pe)=>{var Qe,it,he,Ft,ct;const pt=((Qe=ye.participants)==null?void 0:Qe.filter(Dt=>Dt.team_key==="BLUE"))??[],vt=((it=ye.participants)==null?void 0:it.filter(Dt=>Dt.team_key==="RED"))??[],Tt=(ct=(Ft=(he=ye.teams)==null?void 0:he.find(Dt=>Dt.key==="BLUE"))==null?void 0:Ft.game_stat)==null?void 0:ct.is_win,It=(Dt,gt,tn)=>W.jsxs("div",{className:"lol-match-detail-team",children:[W.jsxs("div",{className:`lol-match-detail-team-header ${gt?"win":"loss"}`,children:[tn," — ",gt?"Victory":"Defeat"]}),Dt.map((_t,fe)=>{var Me,Fe,ze,Et,Rt,Ht,Xt,yt,Zt,sn,jt,kt;const X=((Fe=(Me=_t.summoner)==null?void 0:Me.game_name)==null?void 0:Fe.toLowerCase())===(Pe==null?void 0:Pe.toLowerCase()),oe=(((ze=_t.stats)==null?void 0:ze.minion_kill)??0)+(((Et=_t.stats)==null?void 0:Et.neutral_minion_kill)??0);return W.jsxs("div",{className:`lol-detail-row ${X?"me":""}`,children:[W.jsx("img",{className:"lol-detail-champ",src:zv(_t.champion_name),alt:_t.champion_name}),W.jsx("span",{className:"lol-detail-name",title:`${(Rt=_t.summoner)==null?void 0:Rt.game_name}#${(Ht=_t.summoner)==null?void 0:Ht.tagline}`,children:((Xt=_t.summoner)==null?void 0:Xt.game_name)??_t.champion_name}),W.jsxs("span",{className:"lol-detail-kda",children:[(yt=_t.stats)==null?void 0:yt.kill,"/",(Zt=_t.stats)==null?void 0:Zt.death,"/",(sn=_t.stats)==null?void 0:sn.assist]}),W.jsxs("span",{className:"lol-detail-cs",children:[oe," CS"]}),W.jsxs("span",{className:"lol-detail-dmg",children:[((((jt=_t.stats)==null?void 0:jt.total_damage_dealt_to_champions)??0)/1e3).toFixed(1),"k"]}),W.jsxs("span",{className:"lol-detail-gold",children:[((((kt=_t.stats)==null?void 0:kt.gold_earned)??0)/1e3).toFixed(1),"k"]})]},fe)})]});return W.jsxs(W.Fragment,{children:[It(pt,Tt,"Blue Team"),It(vt,Tt===void 0?void 0:!Tt,"Red Team")]})};return W.jsxs("div",{className:"lol-container",children:[W.jsxs("div",{className:"lol-search",children:[W.jsx("input",{ref:Y,className:"lol-search-input",placeholder:"Summoner Name#Tag",value:e,onChange:ye=>t(ye.target.value),onKeyDown:ye=>ye.key==="Enter"&&se()}),W.jsx("select",{className:"lol-search-region",value:n,onChange:ye=>r(ye.target.value),children:s.map(ye=>W.jsx("option",{value:ye.code,children:ye.code},ye.code))}),W.jsx("button",{className:"lol-search-btn",onClick:()=>se(),disabled:v,children:v?"...":"Search"})]}),R.length>0&&W.jsx("div",{className:"lol-recent",children:R.map((ye,Pe)=>W.jsxs("button",{className:"lol-recent-chip",onClick:()=>de(ye),children:[ye.profile_image_url&&W.jsx("img",{src:ye.profile_image_url,alt:""}),ye.game_name,"#",ye.tag_line,ye.tier&&W.jsx("span",{className:"lol-recent-tier",style:{color:g7[ye.tier]},children:ye.tier})]},Pe))}),S&&W.jsx("div",{className:"lol-error",children:S}),v&&W.jsxs("div",{className:"lol-loading",children:[W.jsx("div",{className:"lol-spinner"}),"Lade Profil..."]}),l&&!v&&W.jsxs(W.Fragment,{children:[W.jsxs("div",{className:"lol-profile",children:[W.jsx("img",{className:"lol-profile-icon",src:l.profile_image_url,alt:""}),W.jsxs("div",{className:"lol-profile-info",children:[W.jsxs("h2",{children:[l.game_name,W.jsxs("span",{children:["#",l.tagline]})]}),W.jsxs("div",{className:"lol-profile-level",children:["Level ",l.level]}),((be=l.ladder_rank)==null?void 0:be.rank)&&W.jsxs("div",{className:"lol-profile-ladder",children:["Ladder Rank #",l.ladder_rank.rank.toLocaleString()," / ",(We=l.ladder_rank.total)==null?void 0:We.toLocaleString()]}),F&&W.jsxs("div",{className:"lol-profile-updated",children:["Updated ",v7(F)," ago"]})]}),W.jsxs("button",{className:`lol-update-btn ${k?"renewing":""}`,onClick:te,disabled:k,title:"Refresh data from Riot servers",children:[W.jsx("span",{className:"lol-update-icon",children:k?"⟳":"↻"}),k?"Updating...":"Update"]})]}),W.jsx("div",{className:"lol-ranked-row",children:(l.league_stats??[]).filter(ye=>ye.game_type==="SOLORANKED"||ye.game_type==="FLEXRANKED").map(ye=>{const Pe=ye.tier_info,pt=!!(Pe!=null&&Pe.tier),vt=g7[(Pe==null?void 0:Pe.tier)??""]??"var(--text-normal)";return W.jsxs("div",{className:`lol-ranked-card ${pt?"has-rank":""}`,style:{"--tier-color":vt},children:[W.jsx("div",{className:"lol-ranked-type",children:ye.game_type==="SOLORANKED"?"Ranked Solo/Duo":"Ranked Flex"}),pt?W.jsxs(W.Fragment,{children:[W.jsxs("div",{className:"lol-ranked-tier",style:{color:vt},children:[Wde(Pe.tier,Pe.division),W.jsxs("span",{className:"lol-ranked-lp",children:[Pe.lp," LP"]})]}),W.jsxs("div",{className:"lol-ranked-record",children:[ye.win,"W ",ye.lose,"L",W.jsxs("span",{className:"lol-ranked-wr",children:["(",y7(ye.win??0,ye.lose??0),"%)"]}),ye.is_hot_streak&&W.jsx("span",{className:"lol-ranked-streak",children:"🔥"})]})]}):W.jsx("div",{className:"lol-ranked-tier",children:"Unranked"})]},ye.game_type)})}),((Ge=(Ee=l.most_champions)==null?void 0:Ee.champion_stats)==null?void 0:Ge.length)>0&&W.jsxs(W.Fragment,{children:[W.jsx("div",{className:"lol-section-title",children:"Top Champions"}),W.jsx("div",{className:"lol-champs",children:l.most_champions.champion_stats.slice(0,7).map(ye=>{const Pe=y7(ye.win,ye.lose),pt=ye.play>0?_7(ye.kill/ye.play,ye.death/ye.play,ye.assist/ye.play):"0";return W.jsxs("div",{className:"lol-champ-card",children:[W.jsx("img",{className:"lol-champ-icon",src:zv(ye.champion_name),alt:ye.champion_name}),W.jsxs("div",{children:[W.jsx("div",{className:"lol-champ-name",children:ye.champion_name}),W.jsxs("div",{className:"lol-champ-stats",children:[ye.play," games · ",Pe,"% WR"]}),W.jsxs("div",{className:"lol-champ-kda",children:[pt," KDA"]})]})]},ye.champion_name)})})]}),h.length>0&&W.jsxs(W.Fragment,{children:[W.jsx("div",{className:"lol-section-title",children:"Match History"}),W.jsx("div",{className:"lol-matches",children:h.map(ye=>Se(ye))}),h.length<20&&W.jsx("button",{className:"lol-load-more",onClick:Q,disabled:z,children:z?"Laden...":"Mehr laden"})]})]}),!l&&!v&&!S&&W.jsxs("div",{className:"lol-empty",children:[W.jsx("div",{className:"lol-empty-icon",children:"⚔️"}),W.jsx("h3",{children:"League of Legends Stats"}),W.jsx("p",{children:"Gib einen Summoner Name#Tag ein und wähle die Region"})]})]})}const x7={iceServers:[{urls:"stun:stun.l.google.com:19302"},{urls:"stun:stun1.l.google.com:19302"}]};function qS(i){const e=Math.max(0,Math.floor((Date.now()-new Date(i).getTime())/1e3)),t=Math.floor(e/3600),n=Math.floor(e%3600/60),r=e%60;return t>0?`${t}:${String(n).padStart(2,"0")}:${String(r).padStart(2,"0")}`:`${n}:${String(r).padStart(2,"0")}`}function Xde({data:i}){var fe,X;const[e,t]=Le.useState([]),[n,r]=Le.useState(()=>localStorage.getItem("streaming_name")||""),[s,a]=Le.useState("Screen Share"),[l,u]=Le.useState(""),[h,g]=Le.useState(null),[v,x]=Le.useState(null),[S,w]=Le.useState(null),[R,C]=Le.useState(!1),[E,B]=Le.useState(!1),[L,O]=Le.useState(null),[,z]=Le.useState(0),[G,k]=Le.useState(null),[H,F]=Le.useState(null),V=Le.useRef(null),Y=Le.useRef(""),ee=Le.useRef(null),ne=Le.useRef(null),se=Le.useRef(null),te=Le.useRef(new Map),Q=Le.useRef(null),le=Le.useRef(new Map),de=Le.useRef(null),Te=Le.useRef(1e3),Se=Le.useRef(!1),ue=Le.useRef(null);Le.useEffect(()=>{Se.current=R},[R]),Le.useEffect(()=>{ue.current=L},[L]),Le.useEffect(()=>{if(!(e.length>0||R))return;const Me=setInterval(()=>z(Fe=>Fe+1),1e3);return()=>clearInterval(Me)},[e.length,R]),Le.useEffect(()=>{i!=null&&i.streams&&t(i.streams)},[i]),Le.useEffect(()=>{n&&localStorage.setItem("streaming_name",n)},[n]),Le.useEffect(()=>{if(!G)return;const oe=()=>k(null);return document.addEventListener("click",oe),()=>document.removeEventListener("click",oe)},[G]);const be=Le.useCallback(oe=>{var Me;((Me=V.current)==null?void 0:Me.readyState)===WebSocket.OPEN&&V.current.send(JSON.stringify(oe))},[]),We=Le.useCallback((oe,Me,Fe)=>{if(oe.remoteDescription)oe.addIceCandidate(new RTCIceCandidate(Fe)).catch(()=>{});else{let ze=le.current.get(Me);ze||(ze=[],le.current.set(Me,ze)),ze.push(Fe)}},[]),Ee=Le.useCallback((oe,Me)=>{const Fe=le.current.get(Me);if(Fe){for(const ze of Fe)oe.addIceCandidate(new RTCIceCandidate(ze)).catch(()=>{});le.current.delete(Me)}},[]),Ge=Le.useCallback(()=>{Q.current&&(Q.current.close(),Q.current=null),se.current&&(se.current.srcObject=null)},[]),ye=Le.useRef(()=>{});ye.current=oe=>{var Me;switch(oe.type){case"welcome":Y.current=oe.clientId,oe.streams&&t(oe.streams);break;case"broadcast_started":w(oe.streamId),C(!0),Se.current=!0,B(!1);break;case"stream_available":break;case"stream_ended":((Me=ue.current)==null?void 0:Me.streamId)===oe.streamId&&(Ge(),O(null));break;case"viewer_joined":{const Fe=oe.viewerId,ze=te.current.get(Fe);ze&&(ze.close(),te.current.delete(Fe)),le.current.delete(Fe);const Et=new RTCPeerConnection(x7);te.current.set(Fe,Et);const Rt=ee.current;if(Rt)for(const Xt of Rt.getTracks())Et.addTrack(Xt,Rt);Et.onicecandidate=Xt=>{Xt.candidate&&be({type:"ice_candidate",targetId:Fe,candidate:Xt.candidate.toJSON()})};const Ht=Et.getSenders().find(Xt=>{var yt;return((yt=Xt.track)==null?void 0:yt.kind)==="video"});if(Ht){const Xt=Ht.getParameters();(!Xt.encodings||Xt.encodings.length===0)&&(Xt.encodings=[{}]),Xt.encodings[0].maxFramerate=60,Xt.encodings[0].maxBitrate=8e6,Ht.setParameters(Xt).catch(()=>{})}Et.createOffer().then(Xt=>Et.setLocalDescription(Xt)).then(()=>be({type:"offer",targetId:Fe,sdp:Et.localDescription})).catch(console.error);break}case"viewer_left":{const Fe=te.current.get(oe.viewerId);Fe&&(Fe.close(),te.current.delete(oe.viewerId)),le.current.delete(oe.viewerId);break}case"offer":{const Fe=oe.fromId;Q.current&&(Q.current.close(),Q.current=null),le.current.delete(Fe);const ze=new RTCPeerConnection(x7);Q.current=ze,ze.ontrack=Et=>{se.current&&Et.streams[0]&&(se.current.srcObject=Et.streams[0]),O(Rt=>Rt&&{...Rt,phase:"connected"})},ze.onicecandidate=Et=>{Et.candidate&&be({type:"ice_candidate",targetId:Fe,candidate:Et.candidate.toJSON()})},ze.oniceconnectionstatechange=()=>{(ze.iceConnectionState==="failed"||ze.iceConnectionState==="disconnected")&&O(Et=>Et&&{...Et,phase:"error",error:"Verbindung verloren"})},ze.setRemoteDescription(new RTCSessionDescription(oe.sdp)).then(()=>(Ee(ze,Fe),ze.createAnswer())).then(Et=>ze.setLocalDescription(Et)).then(()=>be({type:"answer",targetId:Fe,sdp:ze.localDescription})).catch(console.error);break}case"answer":{const Fe=te.current.get(oe.fromId);Fe&&Fe.setRemoteDescription(new RTCSessionDescription(oe.sdp)).then(()=>Ee(Fe,oe.fromId)).catch(console.error);break}case"ice_candidate":{if(!oe.candidate)break;const Fe=te.current.get(oe.fromId);Fe?We(Fe,oe.fromId,oe.candidate):Q.current&&We(Q.current,oe.fromId,oe.candidate);break}case"error":oe.code==="WRONG_PASSWORD"?x(Fe=>Fe&&{...Fe,error:oe.message}):g(oe.message),B(!1);break}};const Pe=Le.useCallback(()=>{if(V.current&&V.current.readyState===WebSocket.OPEN)return;const oe=location.protocol==="https:"?"wss":"ws",Me=new WebSocket(`${oe}://${location.host}/ws/streaming`);V.current=Me,Me.onopen=()=>{Te.current=1e3},Me.onmessage=Fe=>{let ze;try{ze=JSON.parse(Fe.data)}catch{return}ye.current(ze)},Me.onclose=()=>{V.current=null,(Se.current||ue.current)&&(de.current=setTimeout(()=>{Te.current=Math.min(Te.current*2,1e4),Pe()},Te.current))},Me.onerror=()=>{Me.close()}},[]),pt=Le.useCallback(async()=>{var oe,Me;if(!n.trim()){g("Bitte gib einen Namen ein.");return}if(!l.trim()){g("Passwort ist Pflicht.");return}if(!((oe=navigator.mediaDevices)!=null&&oe.getDisplayMedia)){g("Dein Browser unterstützt keine Bildschirmfreigabe.");return}g(null),B(!0);try{const Fe=await navigator.mediaDevices.getDisplayMedia({video:{frameRate:{ideal:60},width:{ideal:1920},height:{ideal:1080}},audio:!0});ee.current=Fe,ne.current&&(ne.current.srcObject=Fe),(Me=Fe.getVideoTracks()[0])==null||Me.addEventListener("ended",()=>{vt()}),Pe();const ze=()=>{var Et;((Et=V.current)==null?void 0:Et.readyState)===WebSocket.OPEN?be({type:"start_broadcast",name:n.trim(),title:s.trim()||"Screen Share",password:l.trim()}):setTimeout(ze,100)};ze()}catch(Fe){B(!1),Fe.name==="NotAllowedError"?g("Bildschirmfreigabe wurde abgelehnt."):g(`Fehler: ${Fe.message}`)}},[n,s,l,Pe,be]),vt=Le.useCallback(()=>{var oe;be({type:"stop_broadcast"}),(oe=ee.current)==null||oe.getTracks().forEach(Me=>Me.stop()),ee.current=null,ne.current&&(ne.current.srcObject=null);for(const Me of te.current.values())Me.close();te.current.clear(),C(!1),Se.current=!1,w(null),u("")},[be]),Tt=Le.useCallback(oe=>{x({streamId:oe.id,streamTitle:oe.title,broadcasterName:oe.broadcasterName,password:"",error:null})},[]),It=Le.useCallback(()=>{if(!v)return;if(!v.password.trim()){x(ze=>ze&&{...ze,error:"Passwort eingeben."});return}const{streamId:oe,password:Me}=v;x(null),g(null),O({streamId:oe,phase:"connecting"}),Pe();const Fe=()=>{var ze;((ze=V.current)==null?void 0:ze.readyState)===WebSocket.OPEN?be({type:"join_viewer",name:n.trim()||"Viewer",streamId:oe,password:Me.trim()}):setTimeout(Fe,100)};Fe()},[v,n,Pe,be]),Qe=Le.useCallback(()=>{be({type:"leave_viewer"}),Ge(),O(null)},[Ge,be]);Le.useEffect(()=>{const oe=Fe=>{(Se.current||ue.current)&&Fe.preventDefault()},Me=()=>{Y.current&&navigator.sendBeacon("/api/streaming/disconnect",JSON.stringify({clientId:Y.current}))};return window.addEventListener("beforeunload",oe),window.addEventListener("pagehide",Me),()=>{window.removeEventListener("beforeunload",oe),window.removeEventListener("pagehide",Me)}},[]);const it=Le.useRef(null),[he,Ft]=Le.useState(!1),ct=Le.useCallback(()=>{const oe=it.current;oe&&(document.fullscreenElement?document.exitFullscreen().catch(()=>{}):oe.requestFullscreen().catch(()=>{}))},[]);Le.useEffect(()=>{const oe=()=>Ft(!!document.fullscreenElement);return document.addEventListener("fullscreenchange",oe),()=>document.removeEventListener("fullscreenchange",oe)},[]),Le.useEffect(()=>()=>{var oe;(oe=ee.current)==null||oe.getTracks().forEach(Me=>Me.stop());for(const Me of te.current.values())Me.close();Q.current&&Q.current.close(),V.current&&V.current.close(),de.current&&clearTimeout(de.current)},[]);const Dt=Le.useRef(null);Le.useEffect(()=>{const Me=new URLSearchParams(location.search).get("viewStream");if(Me){Dt.current=Me;const Fe=new URL(location.href);Fe.searchParams.delete("viewStream"),window.history.replaceState({},"",Fe.toString())}},[]),Le.useEffect(()=>{const oe=Dt.current;if(!oe||e.length===0)return;const Me=e.find(Fe=>Fe.id===oe);Me&&(Dt.current=null,Tt(Me))},[e,Tt]);const gt=Le.useCallback(oe=>{const Me=new URL(location.href);return Me.searchParams.set("viewStream",oe),Me.hash="",Me.toString()},[]),tn=Le.useCallback(oe=>{navigator.clipboard.writeText(gt(oe)).then(()=>{F(oe),setTimeout(()=>F(null),2e3)}).catch(()=>{})},[gt]),_t=Le.useCallback(oe=>{window.open(gt(oe),"_blank","noopener"),k(null)},[gt]);if(L){const oe=e.find(Me=>Me.id===L.streamId);return W.jsxs("div",{className:"stream-viewer-overlay",ref:it,children:[W.jsxs("div",{className:"stream-viewer-header",children:[W.jsxs("div",{className:"stream-viewer-header-left",children:[W.jsxs("span",{className:"stream-live-badge",children:[W.jsx("span",{className:"stream-live-dot"})," LIVE"]}),W.jsxs("div",{children:[W.jsx("div",{className:"stream-viewer-title",children:(oe==null?void 0:oe.title)||"Stream"}),W.jsxs("div",{className:"stream-viewer-subtitle",children:[(oe==null?void 0:oe.broadcasterName)||"..."," ",oe?` · ${oe.viewerCount} Zuschauer`:""]})]})]}),W.jsxs("div",{className:"stream-viewer-header-right",children:[W.jsx("button",{className:"stream-viewer-fullscreen",onClick:ct,title:he?"Vollbild verlassen":"Vollbild",children:he?"✖":"⛶"}),W.jsx("button",{className:"stream-viewer-close",onClick:Qe,children:"Verlassen"})]})]}),W.jsxs("div",{className:"stream-viewer-video",children:[L.phase==="connecting"?W.jsxs("div",{className:"stream-viewer-connecting",children:[W.jsx("div",{className:"stream-viewer-spinner"}),"Verbindung wird hergestellt..."]}):L.phase==="error"?W.jsxs("div",{className:"stream-viewer-connecting",children:[L.error||"Verbindungsfehler",W.jsx("button",{className:"stream-btn",onClick:Qe,children:"Zurück"})]}):null,W.jsx("video",{ref:se,autoPlay:!0,playsInline:!0,style:L.phase==="connected"?{}:{display:"none"}})]})]})}return W.jsxs("div",{className:"stream-container",children:[h&&W.jsxs("div",{className:"stream-error",children:[h,W.jsx("button",{className:"stream-error-dismiss",onClick:()=>g(null),children:"×"})]}),W.jsxs("div",{className:"stream-topbar",children:[W.jsx("input",{className:"stream-input stream-input-name",placeholder:"Dein Name",value:n,onChange:oe=>r(oe.target.value),disabled:R}),W.jsx("input",{className:"stream-input stream-input-title",placeholder:"Stream-Titel",value:s,onChange:oe=>a(oe.target.value),disabled:R}),W.jsx("input",{className:"stream-input stream-input-password",type:"password",placeholder:"Passwort",value:l,onChange:oe=>u(oe.target.value),disabled:R}),R?W.jsxs("button",{className:"stream-btn stream-btn-stop",onClick:vt,children:["⏹"," Stream beenden"]}):W.jsx("button",{className:"stream-btn",onClick:pt,disabled:E,children:E?"Starte...":"🖥️ Stream starten"})]}),e.length===0&&!R?W.jsxs("div",{className:"stream-empty",children:[W.jsx("div",{className:"stream-empty-icon",children:"📺"}),W.jsx("h3",{children:"Keine aktiven Streams"}),W.jsx("p",{children:"Starte einen Stream, um deinen Bildschirm zu teilen."})]}):W.jsxs("div",{className:"stream-grid",children:[R&&W.jsxs("div",{className:"stream-tile own broadcasting",children:[W.jsxs("div",{className:"stream-tile-preview",children:[W.jsx("video",{ref:ne,autoPlay:!0,playsInline:!0,muted:!0}),W.jsxs("span",{className:"stream-live-badge",children:[W.jsx("span",{className:"stream-live-dot"})," LIVE"]}),W.jsxs("span",{className:"stream-tile-viewers",children:["👥"," ",((fe=e.find(oe=>oe.id===S))==null?void 0:fe.viewerCount)??0]})]}),W.jsxs("div",{className:"stream-tile-info",children:[W.jsxs("div",{className:"stream-tile-meta",children:[W.jsxs("div",{className:"stream-tile-name",children:[n," (Du)"]}),W.jsx("div",{className:"stream-tile-title",children:s})]}),W.jsx("span",{className:"stream-tile-time",children:S&&((X=e.find(oe=>oe.id===S))!=null&&X.startedAt)?qS(e.find(oe=>oe.id===S).startedAt):"0:00"})]})]}),e.filter(oe=>oe.id!==S).map(oe=>W.jsxs("div",{className:"stream-tile",onClick:()=>_t(oe.id),children:[W.jsxs("div",{className:"stream-tile-preview",children:[W.jsx("span",{className:"stream-tile-icon",children:"🖥️"}),W.jsxs("span",{className:"stream-live-badge",children:[W.jsx("span",{className:"stream-live-dot"})," LIVE"]}),W.jsxs("span",{className:"stream-tile-viewers",children:["👥"," ",oe.viewerCount]}),oe.hasPassword&&W.jsx("span",{className:"stream-tile-lock",children:"🔒"})]}),W.jsxs("div",{className:"stream-tile-info",children:[W.jsxs("div",{className:"stream-tile-meta",children:[W.jsx("div",{className:"stream-tile-name",children:oe.broadcasterName}),W.jsx("div",{className:"stream-tile-title",children:oe.title})]}),W.jsx("span",{className:"stream-tile-time",children:qS(oe.startedAt)}),W.jsxs("div",{className:"stream-tile-menu-wrap",children:[W.jsx("button",{className:"stream-tile-menu",onClick:Me=>{Me.stopPropagation(),k(G===oe.id?null:oe.id)},children:"⋮"}),G===oe.id&&W.jsxs("div",{className:"stream-tile-dropdown",onClick:Me=>Me.stopPropagation(),children:[W.jsxs("div",{className:"stream-tile-dropdown-header",children:[W.jsx("div",{className:"stream-tile-dropdown-name",children:oe.broadcasterName}),W.jsx("div",{className:"stream-tile-dropdown-title",children:oe.title}),W.jsxs("div",{className:"stream-tile-dropdown-detail",children:["👥"," ",oe.viewerCount," Zuschauer · ",qS(oe.startedAt)]})]}),W.jsx("div",{className:"stream-tile-dropdown-divider"}),W.jsxs("button",{className:"stream-tile-dropdown-item",onClick:()=>_t(oe.id),children:["🗗"," In neuem Fenster öffnen"]}),W.jsx("button",{className:"stream-tile-dropdown-item",onClick:()=>{tn(oe.id),k(null)},children:H===oe.id?"✅ Kopiert!":"🔗 Link teilen"})]})]})]})]},oe.id))]}),v&&W.jsx("div",{className:"stream-pw-overlay",onClick:()=>x(null),children:W.jsxs("div",{className:"stream-pw-modal",onClick:oe=>oe.stopPropagation(),children:[W.jsx("h3",{children:v.broadcasterName}),W.jsx("p",{children:v.streamTitle}),v.error&&W.jsx("div",{className:"stream-pw-modal-error",children:v.error}),W.jsx("input",{className:"stream-input",type:"password",placeholder:"Stream-Passwort",value:v.password,onChange:oe=>x(Me=>Me&&{...Me,password:oe.target.value,error:null}),onKeyDown:oe=>{oe.key==="Enter"&&It()},autoFocus:!0}),W.jsxs("div",{className:"stream-pw-actions",children:[W.jsx("button",{className:"stream-pw-cancel",onClick:()=>x(null),children:"Abbrechen"}),W.jsx("button",{className:"stream-btn",onClick:It,children:"Beitreten"})]})]})})]})}const Yde={radio:xde,soundboard:qde,lolstats:$de,streaming:Xde};function Qde(){const[i,e]=Le.useState(!1),[t,n]=Le.useState([]),[r,s]=Le.useState(()=>localStorage.getItem("hub_activeTab")??""),a=x=>{s(x),localStorage.setItem("hub_activeTab",x)},[l,u]=Le.useState({}),h=Le.useRef(null);Le.useEffect(()=>{fetch("/api/plugins").then(x=>x.json()).then(x=>{if(n(x),new URLSearchParams(location.search).has("viewStream")&&x.some(C=>C.name==="streaming")){a("streaming");return}const w=localStorage.getItem("hub_activeTab"),R=x.some(C=>C.name===w);x.length>0&&!R&&a(x[0].name)}).catch(()=>{})},[]),Le.useEffect(()=>{let x=null,S;function w(){x=new EventSource("/api/events"),h.current=x,x.onopen=()=>e(!0),x.onmessage=R=>{try{const C=JSON.parse(R.data);C.type==="snapshot"?u(E=>({...E,...C})):C.plugin&&u(E=>({...E,[C.plugin]:{...E[C.plugin]||{},...C}}))}catch{}},x.onerror=()=>{e(!1),x==null||x.close(),S=setTimeout(w,3e3)}}return w(),()=>{x==null||x.close(),clearTimeout(S)}},[]);const g="1.0.0-dev",v={radio:"🌍",soundboard:"🎵",lolstats:"⚔️",stats:"📊",events:"📅",games:"🎲",gamevote:"🎮",streaming:"📺"};return W.jsxs("div",{className:"hub-app",children:[W.jsxs("header",{className:"hub-header",children:[W.jsxs("div",{className:"hub-header-left",children:[W.jsx("span",{className:"hub-logo",children:"🎮"}),W.jsx("span",{className:"hub-title",children:"Gaming Hub"}),W.jsx("span",{className:`hub-conn-dot ${i?"online":""}`})]}),W.jsx("nav",{className:"hub-tabs",children:t.map(x=>W.jsxs("button",{className:`hub-tab ${r===x.name?"active":""}`,onClick:()=>a(x.name),title:x.description,children:[W.jsx("span",{className:"hub-tab-icon",children:v[x.name]??"📦"}),W.jsx("span",{className:"hub-tab-label",children:x.name})]},x.name))}),W.jsx("div",{className:"hub-header-right",children:W.jsxs("span",{className:"hub-version",children:["v",g]})})]}),W.jsx("main",{className:"hub-content",children:t.length===0?W.jsxs("div",{className:"hub-empty",children:[W.jsx("span",{className:"hub-empty-icon",children:"📦"}),W.jsx("h2",{children:"Keine Plugins geladen"}),W.jsx("p",{children:"Plugins werden im Server konfiguriert."})]}):t.map(x=>{const S=Yde[x.name];if(!S)return null;const w=r===x.name;return W.jsx("div",{className:`hub-tab-panel ${w?"active":""}`,style:w?{display:"flex",flexDirection:"column",width:"100%",height:"100%"}:{display:"none"},children:W.jsx(S,{data:l[x.name]||{}})},x.name)})})]})}PF.createRoot(document.getElementById("root")).render(W.jsx(Qde,{})); diff --git a/web/dist/index.html b/web/dist/index.html index 06292be..ea80d0c 100644 --- a/web/dist/index.html +++ b/web/dist/index.html @@ -5,7 +5,7 @@ Gaming Hub - + diff --git a/web/src/plugins/streaming/StreamingTab.tsx b/web/src/plugins/streaming/StreamingTab.tsx index 7e66e6f..97735be 100644 --- a/web/src/plugins/streaming/StreamingTab.tsx +++ b/web/src/plugins/streaming/StreamingTab.tsx @@ -606,7 +606,7 @@ export default function StreamingTab({ data }: { data: any }) { {streams .filter(s => s.id !== myStreamId) .map(s => ( -
openJoinModal(s)}> +
openInNewWindow(s.id)}>
{'\u{1F5A5}\uFE0F'} LIVE