streamlit-nightly 1.42.3.dev20250227__py2.py3-none-any.whl → 1.42.3.dev20250301__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- streamlit/elements/arrow.py +6 -5
- streamlit/elements/lib/column_types.py +101 -70
- streamlit/elements/widgets/button.py +13 -2
- streamlit/elements/widgets/data_editor.py +6 -5
- streamlit/elements/widgets/number_input.py +3 -2
- streamlit/elements/widgets/slider.py +11 -3
- streamlit/runtime/context.py +47 -2
- streamlit/static/index.html +1 -1
- streamlit/static/static/js/{FileDownload.esm.rdZtCw5-.js → FileDownload.esm.CUiEWbzl.js} +1 -1
- streamlit/static/static/js/{FileHelper.BztOEKJy.js → FileHelper.B6bBsK7b.js} +1 -1
- streamlit/static/static/js/{FormClearHelper.Drd1fMJc.js → FormClearHelper.B_9Ez6vr.js} +1 -1
- streamlit/static/static/js/{Hooks.DWd0hyk4.js → Hooks.VwVTTUgt.js} +1 -1
- streamlit/static/static/js/{InputInstructions.B7xrWTG0.js → InputInstructions.vmQUtJfB.js} +1 -1
- streamlit/static/static/js/{ProgressBar.CBgJiTH-.js → ProgressBar.CrEUq34O.js} +1 -1
- streamlit/static/static/js/{RenderInPortalIfExists.US28tQOn.js → RenderInPortalIfExists.uSIUxO87.js} +1 -1
- streamlit/static/static/js/{Toolbar.CAOt-xaL.js → Toolbar.DDSvrD0E.js} +1 -1
- streamlit/static/static/js/{base-input.CauNaJqr.js → base-input.JpWAqJ0N.js} +1 -1
- streamlit/static/static/js/{checkbox.ChzWCtre.js → checkbox.CWR-VT1j.js} +1 -1
- streamlit/static/static/js/{createSuper.D_39RJB6.js → createSuper.HcF5WnqF.js} +1 -1
- streamlit/static/static/js/{data-grid-overlay-editor.rIelkOVS.js → data-grid-overlay-editor.DminHUYw.js} +1 -1
- streamlit/static/static/js/{downloader.Dz5I28nG.js → downloader._SGckIiV.js} +1 -1
- streamlit/static/static/js/{es6.DwnEjMMn.js → es6.b4hv8be8.js} +2 -2
- streamlit/static/static/js/{iframeResizer.contentWindow.BRiRifwd.js → iframeResizer.contentWindow.BqakL47H.js} +1 -1
- streamlit/static/static/js/{index.DkKZlAsv.js → index.3M6TVRo2.js} +1 -1
- streamlit/static/static/js/{index.pvQjxG7y.js → index.B4fN2DMS.js} +1 -1
- streamlit/static/static/js/{index.CM12P2T1.js → index.B5U4WHdm.js} +2 -2
- streamlit/static/static/js/{index.BE6MTF-B.js → index.BFysNJg1.js} +3 -3
- streamlit/static/static/js/{index.Dj91melR.js → index.BL2LjKzZ.js} +1 -1
- streamlit/static/static/js/{index.YNWoT4uW.js → index.BLVbwbeW.js} +1 -1
- streamlit/static/static/js/{index.DWFLx6Tc.js → index.BV5mA8ty.js} +5 -5
- streamlit/static/static/js/{index.fP6rBxlc.js → index.BVLYWr2w.js} +1 -1
- streamlit/static/static/js/index.BWfK_Obw.js +203 -0
- streamlit/static/static/js/{index.CO3dZWKG.js → index.BXSIv1Yj.js} +1 -1
- streamlit/static/static/js/index.BgLbohq1.js +3855 -0
- streamlit/static/static/js/{index.DYUhWSq6.js → index.BhVVEe37.js} +1 -1
- streamlit/static/static/js/{index.CBre8Aui.js → index.BkDOb1MH.js} +1 -1
- streamlit/static/static/js/{index.D9rv1PQ0.js → index.C-MV6qmR.js} +1 -1
- streamlit/static/static/js/{index.DkgVNhWs.js → index.C2ti2ux-.js} +1 -1
- streamlit/static/static/js/{index.CoUzNoRf.js → index.C59Ya3CM.js} +1 -1
- streamlit/static/static/js/{index.CAHGh74D.js → index.C7GAgXnu.js} +1 -1
- streamlit/static/static/js/index.C88pvD_q.js +6 -0
- streamlit/static/static/js/{index.C_C365T5.js → index.CA_X6A4G.js} +1 -1
- streamlit/static/static/js/{index.CUz1_nAm.js → index.CAxOUw_O.js} +1 -1
- streamlit/static/static/js/{index.Db3jGJxa.js → index.Cb8hCZyO.js} +1 -1
- streamlit/static/static/js/{index.aL_kqyvR.js → index.CpN57BL8.js} +1 -1
- streamlit/static/static/js/{index.Dzp8iBkF.js → index.CpyxO9i-.js} +1 -1
- streamlit/static/static/js/{index.DfNAkKAr.js → index.CqU47T61.js} +114 -114
- streamlit/static/static/js/{index.ORHz8Y8P.js → index.Cr9buiVv.js} +8 -8
- streamlit/static/static/js/{index.CmYiLKNX.js → index.Cs86Rh1I.js} +1 -1
- streamlit/static/static/js/{index.DKuQg2D4.js → index.D4Nzp4K3.js} +1 -1
- streamlit/static/static/js/{index.wxpL02VY.js → index.D4vb0WQf.js} +1 -1
- streamlit/static/static/js/{index.DJvwxFLn.js → index.D6kHe3jN.js} +1 -1
- streamlit/static/static/js/{index.BWeYb5ES.js → index.D7yQTfz7.js} +1 -1
- streamlit/static/static/js/{index.Ct7MPsA3.js → index.Dev73dEg.js} +1 -1
- streamlit/static/static/js/{index.BrAW6bFJ.js → index.Dl9vrclR.js} +1 -1
- streamlit/static/static/js/{index.DgNQKEeQ.js → index.Dph-QYbt.js} +1 -1
- streamlit/static/static/js/{index.V3Vj2d9m.js → index.E5dz2muJ.js} +1 -1
- streamlit/static/static/js/{index.DIeegLbv.js → index.J3DKPewF.js} +1 -1
- streamlit/static/static/js/index.SYnyLAtV.js +12 -0
- streamlit/static/static/js/{index.D1K6NCBQ.js → index._Q_M1OIX.js} +1 -1
- streamlit/static/static/js/{index.BUdhIGhT.js → index.cVjFgmUG.js} +1 -1
- streamlit/static/static/js/{input.D_dn5-2t.js → input.Dfd0mQ2M.js} +1 -1
- streamlit/static/static/js/{memory.pnMTtWQR.js → memory.DFfwDfdX.js} +1 -1
- streamlit/static/static/js/{mergeWith.CRrYodeI.js → mergeWith.B3E2fSKt.js} +1 -1
- streamlit/static/static/js/{number-overlay-editor.C65GBS2P.js → number-overlay-editor.DG8NE_c_.js} +1 -1
- streamlit/static/static/js/{possibleConstructorReturn.BnQk7lq_.js → possibleConstructorReturn.CJ1f9cWL.js} +1 -1
- streamlit/static/static/js/{sandbox.CrxXt1li.js → sandbox.-T0hcQrx.js} +1 -1
- streamlit/static/static/js/{textarea.DiFyO5JY.js → textarea.CCPaMMRd.js} +1 -1
- streamlit/static/static/js/{timepicker.B1Y7LIk4.js → timepicker.BrQl1vN-.js} +2 -2
- streamlit/static/static/js/{toConsumableArray.BWpBUK-j.js → toConsumableArray.UwlRgC7o.js} +1 -1
- streamlit/static/static/js/{uniqueId.7ecIUkUs.js → uniqueId.C5B1A1oI.js} +1 -1
- streamlit/static/static/js/{useBasicWidgetState.deG0KPm0.js → useBasicWidgetState.Czrslgva.js} +1 -1
- streamlit/static/static/js/{useOnInputChange.CQ7sD7CO.js → useOnInputChange.Dw8zLgsb.js} +1 -1
- streamlit/static/static/js/{withFullScreenWrapper.D0wnBu3k.js → withFullScreenWrapper.t6HIFyK0.js} +1 -1
- streamlit/user_info.py +3 -0
- {streamlit_nightly-1.42.3.dev20250227.dist-info → streamlit_nightly-1.42.3.dev20250301.dist-info}/METADATA +1 -1
- {streamlit_nightly-1.42.3.dev20250227.dist-info → streamlit_nightly-1.42.3.dev20250301.dist-info}/RECORD +81 -81
- streamlit/static/static/js/index.Bb4OB39A.js +0 -12
- streamlit/static/static/js/index.D2xM-XzG.js +0 -4074
- streamlit/static/static/js/index.DW_MHI2K.js +0 -6
- streamlit/static/static/js/index.LL2DLZZA.js +0 -201
- {streamlit_nightly-1.42.3.dev20250227.data → streamlit_nightly-1.42.3.dev20250301.data}/scripts/streamlit.cmd +0 -0
- {streamlit_nightly-1.42.3.dev20250227.dist-info → streamlit_nightly-1.42.3.dev20250301.dist-info}/WHEEL +0 -0
- {streamlit_nightly-1.42.3.dev20250227.dist-info → streamlit_nightly-1.42.3.dev20250301.dist-info}/entry_points.txt +0 -0
- {streamlit_nightly-1.42.3.dev20250227.dist-info → streamlit_nightly-1.42.3.dev20250301.dist-info}/top_level.txt +0 -0
@@ -1,9 +1,9 @@
|
|
1
|
-
var jU=Object.defineProperty;var $U=(r,e,t)=>e in r?jU(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var V=(r,e,t)=>$U(r,typeof e!="symbol"?e+"":e,t);import{r as Bt,at as yr,aS as dt,g as oh,aT as Su,_ as zD,j as Ss,B as Jc,aU as Fv,F as cB,aV as Dv,aW as WU,aX as lB,aY as JU,aD as XU,aZ as KU,n as GD,A as VD,S as q1,a_ as uB,aA as qU,y as YU,a$ as ZU,b0 as fB}from"./index.
|
1
|
+
var jU=Object.defineProperty;var $U=(r,e,t)=>e in r?jU(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var V=(r,e,t)=>$U(r,typeof e!="symbol"?e+"":e,t);import{r as Bt,at as yr,aS as dt,g as oh,aT as Su,_ as zD,j as Ss,B as Jc,aU as Fv,F as cB,aV as Dv,aW as WU,aX as lB,aY as JU,aD as XU,aZ as KU,n as GD,A as VD,S as q1,a_ as uB,aA as qU,y as YU,a$ as ZU,b0 as fB}from"./index.CqU47T61.js";import{_ as ls,a as QU,C as e5}from"./toConsumableArray.UwlRgC7o.js";import{a as Ku,b as qu,_ as Xx,c as AA,d as Kx}from"./possibleConstructorReturn.CJ1f9cWL.js";import{a as t5,T as r5}from"./Toolbar.DDSvrD0E.js";import{u as HD,E as jD,w as n5}from"./withFullScreenWrapper.t6HIFyK0.js";import{u as i5}from"./useBasicWidgetState.Czrslgva.js";import{u as s5,s as o5}from"./threshold.DjX0wlsa.js";import{a as a5}from"./index.C88pvD_q.js";import"./FormClearHelper.B_9Ez6vr.js";import"./value.CgPGBV_l.js";function c5(r,e){for(var t=0;t<e.length;t++){const n=e[t];if(typeof n!="string"&&!Array.isArray(n)){for(const i in n)if(i!=="default"&&!(i in r)){const o=Object.getOwnPropertyDescriptor(n,i);o&&Object.defineProperty(r,i,o.get?o:{enumerable:!0,get:()=>n[i]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}const bu={};function Hm(r,e){if(!r)throw new Error(e||"loader assertion failed.")}const qx=!!(typeof process!="object"||String(process)!=="[object process]"||process.browser),hB=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version);hB&&parseFloat(hB[1]);const Fu=globalThis,Ca=globalThis.process||{},l5=globalThis.navigator||{};function $D(r){var n,i;if(typeof window<"u"&&((n=window.process)==null?void 0:n.type)==="renderer"||typeof process<"u"&&((i=process.versions)!=null&&i.electron))return!0;const t=typeof navigator<"u"&&navigator.userAgent;return!!(t&&t.indexOf("Electron")>=0)}function il(){return!(typeof process=="object"&&String(process)==="[object process]"&&!(process!=null&&process.browser))||$D()}function u5(r){return il()?$D()?"Electron":(l5.userAgent||"").indexOf("Edge")>-1?"Edge":globalThis.chrome?"Chrome":globalThis.safari?"Safari":globalThis.mozInnerScreenX?"Firefox":"Unknown":"Node"}const iy="4.1.0";function f5(r){try{const e=window[r],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch{return null}}let h5=class{constructor(e,t,n="sessionStorage"){this.storage=f5(n),this.id=e,this.config=t,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}};function d5(r){let e;return r<10?e=`${r.toFixed(2)}ms`:r<100?e=`${r.toFixed(1)}ms`:r<1e3?e=`${r.toFixed(0)}ms`:e=`${(r/1e3).toFixed(2)}s`,e}function A5(r,e=8){const t=Math.max(e-r.length,0);return`${" ".repeat(t)}${r}`}var jm;(function(r){r[r.BLACK=30]="BLACK",r[r.RED=31]="RED",r[r.GREEN=32]="GREEN",r[r.YELLOW=33]="YELLOW",r[r.BLUE=34]="BLUE",r[r.MAGENTA=35]="MAGENTA",r[r.CYAN=36]="CYAN",r[r.WHITE=37]="WHITE",r[r.BRIGHT_BLACK=90]="BRIGHT_BLACK",r[r.BRIGHT_RED=91]="BRIGHT_RED",r[r.BRIGHT_GREEN=92]="BRIGHT_GREEN",r[r.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",r[r.BRIGHT_BLUE=94]="BRIGHT_BLUE",r[r.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",r[r.BRIGHT_CYAN=96]="BRIGHT_CYAN",r[r.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(jm||(jm={}));const p5=10;function dB(r){return typeof r!="string"?r:(r=r.toUpperCase(),jm[r]||jm.WHITE)}function g5(r,e,t){return!il&&typeof r=="string"&&(e&&(r=`\x1B[${dB(e)}m${r}\x1B[39m`),t&&(r=`\x1B[${dB(t)+p5}m${r}\x1B[49m`)),r}function m5(r,e=["constructor"]){const t=Object.getPrototypeOf(r),n=Object.getOwnPropertyNames(t),i=r;for(const o of n){const s=i[o];typeof s=="function"&&(e.find(c=>o===c)||(i[o]=s.bind(r)))}}function Yx(r,e){if(!r)throw new Error("Assertion failed")}function od(){var e,t,n;let r;if(il()&&Fu.performance)r=(t=(e=Fu==null?void 0:Fu.performance)==null?void 0:e.now)==null?void 0:t.call(e);else if("hrtime"in Ca){const i=(n=Ca==null?void 0:Ca.hrtime)==null?void 0:n.call(Ca);r=i[0]*1e3+i[1]/1e6}else r=Date.now();return r}const ad={debug:il()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},_5={enabled:!0,level:0};function cd(){}const AB={},pB={once:!0};let WD=class{constructor({id:e}={id:""}){this.VERSION=iy,this._startTs=od(),this._deltaTs=od(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=e,this.userData={},this._storage=new h5(`__probe-${this.id}__`,_5),this.timeStamp(`${this.id} started`),m5(this),Object.seal(this)}set level(e){this.setLevel(e)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((od()-this._startTs).toPrecision(10))}getDelta(){return Number((od()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(e=!0){return this._storage.setConfiguration({enabled:e}),this}setLevel(e){return this._storage.setConfiguration({level:e}),this}get(e){return this._storage.config[e]}set(e,t){this._storage.setConfiguration({[e]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(e,t){if(!e)throw new Error(t||"Assertion failed")}warn(e){return this._getLogFunction(0,e,ad.warn,arguments,pB)}error(e){return this._getLogFunction(0,e,ad.error,arguments)}deprecated(e,t){return this.warn(`\`${e}\` is deprecated and will be removed in a later version. Use \`${t}\` instead`)}removed(e,t){return this.error(`\`${e}\` has been removed. Use \`${t}\` instead`)}probe(e,t){return this._getLogFunction(e,t,ad.log,arguments,{time:!0,once:!0})}log(e,t){return this._getLogFunction(e,t,ad.debug,arguments)}info(e,t){return this._getLogFunction(e,t,console.info,arguments)}once(e,t){return this._getLogFunction(e,t,ad.debug||ad.info,arguments,pB)}table(e,t,n){return t?this._getLogFunction(e,t,console.table||cd,n&&[n],{tag:v5(t)}):cd}time(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}timeEnd(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(e,t){return this._getLogFunction(e,t,console.timeStamp||cd)}group(e,t,n={collapsed:!1}){const i=gB({logLevel:e,message:t,opts:n}),{collapsed:o}=n;return i.method=(o?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(e,t,n={}){return this.group(e,t,Object.assign({},n,{collapsed:!0}))}groupEnd(e){return this._getLogFunction(e,"",console.groupEnd||cd)}withGroup(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&this.getLevel()>=JD(e)}_getLogFunction(e,t,n,i,o){if(this._shouldLog(e)){o=gB({logLevel:e,message:t,args:i,opts:o}),n=n||o.method,Yx(n),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=od();const s=o.tag||o.message;if(o.once&&s)if(!AB[s])AB[s]=od();else return cd;return t=y5(this.id,o.message,o),n.bind(console,t,...o.args)}return cd}};WD.VERSION=iy;function JD(r){if(!r)return 0;let e;switch(typeof r){case"number":e=r;break;case"object":e=r.logLevel||r.priority||0;break;default:return 0}return Yx(Number.isFinite(e)&&e>=0),e}function gB(r){const{logLevel:e,message:t}=r;r.logLevel=JD(e);const n=r.args?Array.from(r.args):[];for(;n.length&&n.shift()!==t;);switch(typeof e){case"string":case"function":t!==void 0&&n.unshift(t),r.message=e;break;case"object":Object.assign(r,e);break}typeof r.message=="function"&&(r.message=r.message());const i=typeof r.message;return Yx(i==="string"||i==="object"),Object.assign(r,{args:n},r.opts)}function y5(r,e,t){if(typeof e=="string"){const n=t.time?A5(d5(t.total)):"";e=t.time?`${r}: ${n} ${e}`:`${r}: ${e}`,e=g5(e,t.color,t.background)}return e}function v5(r){for(const e in r)for(const t in r[e])return t||"untitled";return"empty"}function b5(r,e){return XD(r||{},e)}function XD(r,e,t=0){if(t>3)return e;const n={...r};for(const[i,o]of Object.entries(e))o&&typeof o=="object"&&!Array.isArray(o)?n[i]=XD(n[i]||{},e[i],t+1):n[i]=e[i];return n}const x5="latest";function w5(){var r;return(r=globalThis._loadersgl_)!=null&&r.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.2.4"),globalThis._loadersgl_.version}const C5=w5();function Gu(r,e){if(!r)throw new Error(e||"loaders.gl assertion failed.")}const Jf=typeof process!="object"||String(process)!=="[object process]"||process.browser,E5=typeof window<"u"&&typeof window.orientation<"u",mB=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version);mB&&parseFloat(mB[1]);let T5=class{constructor(e,t){V(this,"name");V(this,"workerThread");V(this,"isRunning",!0);V(this,"result");V(this,"_resolve",()=>{});V(this,"_reject",()=>{});this.name=e,this.workerThread=t,this.result=new Promise((n,i)=>{this._resolve=n,this._reject=i})}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){Gu(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){Gu(this.isRunning),this.isRunning=!1,this._reject(e)}},Ov=class{terminate(){}};const Lv=new Map;function B5(r){Gu(r.source&&!r.url||!r.source&&r.url);let e=Lv.get(r.source||r.url);return e||(r.url&&(e=S5(r.url),Lv.set(r.url,e)),r.source&&(e=KD(r.source),Lv.set(r.source,e))),Gu(e),e}function S5(r){if(!r.startsWith("http"))return r;const e=I5(r);return KD(e)}function KD(r){const e=new Blob([r],{type:"application/javascript"});return URL.createObjectURL(e)}function I5(r){return`try {
|
2
2
|
importScripts('${r}');
|
3
3
|
} catch (error) {
|
4
4
|
console.error(error);
|
5
5
|
throw error;
|
6
|
-
}`}function qD(r,e=!0,t){const n=t||new Set;if(r){if(_B(r))n.add(r);else if(_B(r.buffer))n.add(r.buffer);else if(!ArrayBuffer.isView(r)){if(e&&typeof r=="object")for(const i in r)qD(r[i],e,n)}}return t===void 0?Array.from(n):[]}function _B(r){return r?r instanceof ArrayBuffer||typeof MessagePort<"u"&&r instanceof MessagePort||typeof ImageBitmap<"u"&&r instanceof ImageBitmap||typeof OffscreenCanvas<"u"&&r instanceof OffscreenCanvas:!1}const Nv=()=>{};let Y1=class{constructor(e){V(this,"name");V(this,"source");V(this,"url");V(this,"terminated",!1);V(this,"worker");V(this,"onMessage");V(this,"onError");V(this,"_loadableURL","");const{name:t,source:n,url:i}=e;Gu(n||i),this.name=t,this.source=n,this.url=i,this.onMessage=Nv,this.onError=o=>console.log(o),this.worker=Jf?this._createBrowserWorker():this._createNodeWorker()}static isSupported(){return typeof Worker<"u"&&Jf||typeof Ov<"u"&&!Jf}destroy(){this.onMessage=Nv,this.onError=Nv,this.worker.terminate(),this.terminated=!0}get isRunning(){return!!this.onMessage}postMessage(e,t){t=t||qD(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+=`worker ${this.name} from ${this.url}. `,e.message&&(t+=`${e.message} in `),e.lineno&&(t+=`:${e.lineno}:${e.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=B5({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},e.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},e.onmessageerror=t=>console.error(t),e}_createNodeWorker(){let e;if(this.url){const n=this.url.includes(":/")||this.url.startsWith("/")?this.url:`./${this.url}`;e=new Ov(n,{eval:!1})}else if(this.source)e=new Ov(this.source,{eval:!0});else throw new Error("no worker");return e.on("message",t=>{this.onMessage(t)}),e.on("error",t=>{this.onError(t)}),e.on("exit",t=>{}),e}},M5=class{constructor(e){V(this,"name","unnamed");V(this,"source");V(this,"url");V(this,"maxConcurrency",1);V(this,"maxMobileConcurrency",1);V(this,"onDebug",()=>{});V(this,"reuseWorkers",!0);V(this,"props",{});V(this,"jobQueue",[]);V(this,"idleQueue",[]);V(this,"count",0);V(this,"isDestroyed",!1);this.source=e.source,this.url=e.url,this.setProps(e)}static isSupported(){return Y1.isSupported()}destroy(){this.idleQueue.forEach(e=>e.destroy()),this.isDestroyed=!0}setProps(e){this.props={...this.props,...e},e.name!==void 0&&(this.name=e.name),e.maxConcurrency!==void 0&&(this.maxConcurrency=e.maxConcurrency),e.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=e.maxMobileConcurrency),e.reuseWorkers!==void 0&&(this.reuseWorkers=e.reuseWorkers),e.onDebug!==void 0&&(this.onDebug=e.onDebug)}async startJob(e,t=(i,o,s)=>i.done(s),n=(i,o)=>i.error(o)){const i=new Promise(o=>(this.jobQueue.push({name:e,onMessage:t,onError:n,onStart:o}),this));return this._startQueuedJob(),await i}async _startQueuedJob(){if(!this.jobQueue.length)return;const e=this._getAvailableWorker();if(!e)return;const t=this.jobQueue.shift();if(t){this.onDebug({message:"Starting job",name:t.name,workerThread:e,backlog:this.jobQueue.length});const n=new T5(t.name,e);e.onMessage=i=>t.onMessage(n,i.type,i.payload),e.onError=i=>t.onError(n,i),t.onStart(n);try{await n.result}catch(i){console.error(`Worker exception: ${i}`)}finally{this.returnWorkerToQueue(e)}}}returnWorkerToQueue(e){!Jf||this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count<this._getMaxConcurrency()){this.count++;const e=`${this.name.toLowerCase()} (#${this.count} of ${this.maxConcurrency})`;return new Y1({name:e,source:this.source,url:this.url})}return null}_getMaxConcurrency(){return E5?this.maxMobileConcurrency:this.maxConcurrency}};const P5={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}};var oc;let YD=(oc=class{constructor(e){V(this,"props");V(this,"workerPools",new Map);this.props={...P5},this.setProps(e),this.workerPools=new Map}static isSupported(){return Y1.isSupported()}static getWorkerFarm(e={}){return oc._workerFarm=oc._workerFarm||new oc({}),oc._workerFarm.setProps(e),oc._workerFarm}destroy(){for(const e of this.workerPools.values())e.destroy();this.workerPools=new Map}setProps(e){this.props={...this.props,...e};for(const t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:n,url:i}=e;let o=this.workerPools.get(t);return o||(o=new M5({name:t,source:n,url:i}),o.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,o)),o}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}},V(oc,"_workerFarm"),oc);function R5(r,e={}){const t=e[r.id]||{},n=Jf?`${r.id}-worker.js`:`${r.id}-worker-node.js`;let i=t.workerUrl;if(!i&&r.id==="compression"&&(i=e.workerUrl),e._workerType==="test"&&(Jf?i=`modules/${r.module}/dist/${n}`:i=`modules/${r.module}/src/workers/${r.id}-worker-node.ts`),!i){let o=r.version;o==="latest"&&(o=x5);const s=o?`@${o}`:"";i=`https://unpkg.com/@loaders.gl/${r.module}${s}/dist/${n}`}return Gu(i),i}function F5(r,e=C5){Gu(r,"no worker provided");const t=r.version;return!(!e||!t)}function D5(r,e){return!YD.isSupported()||!Jf&&!(e!=null&&e._nodeWorkers)?!1:r.worker&&(e==null?void 0:e.worker)}async function O5(r,e,t,n,i){const o=r.id,s=R5(r,t),f=YD.getWorkerFarm(t).getWorkerPool({name:o,url:s});t=JSON.parse(JSON.stringify(t)),n=JSON.parse(JSON.stringify(n||{}));const y=await f.startJob("process-on-worker",L5.bind(null,i));return y.postMessage("process",{input:e,options:t,context:n}),await(await y.result).result}async function L5(r,e,t,n){switch(t){case"done":e.done(n);break;case"error":e.error(new Error(n.error));break;case"process":const{id:i,input:o,options:s}=n;try{const c=await r(o,s);e.postMessage("done",{id:i,result:c})}catch(c){const f=c instanceof Error?c.message:"unknown error";e.postMessage("error",{id:i,error:f})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}}function N5(r,e,t){if(t=t||r.byteLength,r.byteLength<t||e.byteLength<t)return!1;const n=new Uint8Array(r),i=new Uint8Array(e);for(let o=0;o<n.length;++o)if(n[o]!==i[o])return!1;return!0}function k5(...r){return U5(r)}function U5(r){const e=r.map(o=>o instanceof ArrayBuffer?new Uint8Array(o):o),t=e.reduce((o,s)=>o+s.byteLength,0),n=new Uint8Array(t);let i=0;for(const o of e)n.set(o,i),i+=o.byteLength;return n.buffer}async function z5(r){const e=[];for await(const t of r)e.push(t);return k5(...e)}let G5="";const yB={};function V5(r){for(const e in yB)if(r.startsWith(e)){const t=yB[e];r=r.replace(e,t)}return!r.startsWith("http://")&&!r.startsWith("https://")&&(r=`${G5}${r}`),r}function H5(r){return r&&typeof r=="object"&&r.isBuffer}function ZD(r){if(H5(r))return r;if(r instanceof ArrayBuffer)return r;if(ArrayBuffer.isView(r))return r.byteOffset===0&&r.byteLength===r.buffer.byteLength?r.buffer:r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength);if(typeof r=="string"){const e=r;return new TextEncoder().encode(e).buffer}if(r&&typeof r=="object"&&r._toArrayBuffer)return r._toArrayBuffer();throw new Error("toArrayBuffer")}function QD(r){const e=r?r.lastIndexOf("/"):-1;return e>=0?r.substr(e+1):""}function j5(r){const e=r?r.lastIndexOf("/"):-1;return e>=0?r.substr(0,e):""}const $5=r=>typeof r=="boolean",Up=r=>typeof r=="function",bg=r=>r!==null&&typeof r=="object",vB=r=>bg(r)&&r.constructor==={}.constructor,W5=r=>!!r&&typeof r[Symbol.iterator]=="function",J5=r=>r&&typeof r[Symbol.asyncIterator]=="function",ah=r=>typeof Response<"u"&&r instanceof Response||r&&r.arrayBuffer&&r.text&&r.json,ch=r=>typeof Blob<"u"&&r instanceof Blob,X5=r=>r&&typeof r=="object"&&r.isBuffer,K5=r=>typeof ReadableStream<"u"&&r instanceof ReadableStream||bg(r)&&Up(r.tee)&&Up(r.cancel)&&Up(r.getReader),q5=r=>bg(r)&&Up(r.read)&&Up(r.pipe)&&$5(r.readable),eO=r=>K5(r)||q5(r);let Y5=class extends Error{constructor(t,n){super(t);V(this,"reason");V(this,"url");V(this,"response");this.reason=n.reason,this.url=n.url,this.response=n.response}};const Z5=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,Q5=/^([-\w.]+\/[-\w.+]+)/;function bB(r,e){return r.toLowerCase()===e.toLowerCase()}function ez(r){const e=Q5.exec(r);return e?e[1]:r}function xB(r){const e=Z5.exec(r);return e?e[1]:""}const tO=/\?.*/;function tz(r){const e=r.match(tO);return e&&e[0]}function Zx(r){return r.replace(tO,"")}function rz(r){if(r.length<50)return r;const e=r.slice(r.length-15);return`${r.substr(0,32)}...${e}`}function sy(r){return ah(r)?r.url:ch(r)?r.name||"":typeof r=="string"?r:""}function Qx(r){if(ah(r)){const e=r,t=e.headers.get("content-type")||"",n=Zx(e.url);return ez(t)||xB(n)}return ch(r)?r.type||"":typeof r=="string"?xB(r):""}function nz(r){return ah(r)?r.headers["content-length"]||-1:ch(r)?r.size:typeof r=="string"?r.length:r instanceof ArrayBuffer||ArrayBuffer.isView(r)?r.byteLength:-1}async function rO(r){if(ah(r))return r;const e={},t=nz(r);t>=0&&(e["content-length"]=String(t));const n=sy(r),i=Qx(r);i&&(e["content-type"]=i);const o=await oz(r);o&&(e["x-first-bytes"]=o),typeof r=="string"&&(r=new TextEncoder().encode(r));const s=new Response(r,{headers:e});return Object.defineProperty(s,"url",{value:n}),s}async function iz(r){if(!r.ok)throw await sz(r)}async function sz(r){const e=rz(r.url);let t=`Failed to fetch resource (${r.status}) ${r.statusText}: ${e}`;t=t.length>100?`${t.slice(0,100)}...`:t;const n={reason:r.statusText,url:r.url,response:r};try{const i=r.headers.get("Content-Type");n.reason=i!=null&&i.includes("application/json")?await r.json():r.text()}catch{}return new Y5(t,n)}async function oz(r){if(typeof r=="string")return`data:,${r.slice(0,5)}`;if(r instanceof Blob){const t=r.slice(0,5);return await new Promise(n=>{const i=new FileReader;i.onload=o=>{var s;return n((s=o==null?void 0:o.target)==null?void 0:s.result)},i.readAsDataURL(t)})}if(r instanceof ArrayBuffer){const t=r.slice(0,5);return`data:base64,${az(t)}`}return null}function az(r){let e="";const t=new Uint8Array(r);for(let n=0;n<t.byteLength;n++)e+=String.fromCharCode(t[n]);return btoa(e)}function cz(r){return!lz(r)&&!uz(r)}function lz(r){return r.startsWith("http:")||r.startsWith("https:")}function uz(r){return r.startsWith("data:")}async function wB(r,e){var t,n;if(typeof r=="string"){const i=V5(r);return cz(i)&&(t=globalThis.loaders)!=null&&t.fetchNode?(n=globalThis.loaders)==null?void 0:n.fetchNode(i,e):await fetch(i,e)}return await rO(r)}const b0=globalThis,ld=globalThis.process||{};function fz(r){var n,i;if(typeof window<"u"&&((n=window.process)==null?void 0:n.type)==="renderer"||typeof process<"u"&&((i=process.versions)!=null&&i.electron))return!0;const t=typeof navigator<"u"&&navigator.userAgent;return!!(t&&t.indexOf("Electron")>=0)}function ew(){return!(typeof process=="object"&&String(process)==="[object process]"&&!(process!=null&&process.browser))||fz()}const nO="4.0.7";function hz(r){try{const e=window[r],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch{return null}}let dz=class{constructor(e,t,n="sessionStorage"){this.storage=hz(n),this.id=e,this.config=t,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}};function Az(r){let e;return r<10?e=`${r.toFixed(2)}ms`:r<100?e=`${r.toFixed(1)}ms`:r<1e3?e=`${r.toFixed(0)}ms`:e=`${(r/1e3).toFixed(2)}s`,e}function pz(r,e=8){const t=Math.max(e-r.length,0);return`${" ".repeat(t)}${r}`}var $m;(function(r){r[r.BLACK=30]="BLACK",r[r.RED=31]="RED",r[r.GREEN=32]="GREEN",r[r.YELLOW=33]="YELLOW",r[r.BLUE=34]="BLUE",r[r.MAGENTA=35]="MAGENTA",r[r.CYAN=36]="CYAN",r[r.WHITE=37]="WHITE",r[r.BRIGHT_BLACK=90]="BRIGHT_BLACK",r[r.BRIGHT_RED=91]="BRIGHT_RED",r[r.BRIGHT_GREEN=92]="BRIGHT_GREEN",r[r.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",r[r.BRIGHT_BLUE=94]="BRIGHT_BLUE",r[r.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",r[r.BRIGHT_CYAN=96]="BRIGHT_CYAN",r[r.BRIGHT_WHITE=97]="BRIGHT_WHITE"})($m||($m={}));const gz=10;function CB(r){return typeof r!="string"?r:(r=r.toUpperCase(),$m[r]||$m.WHITE)}function mz(r,e,t){return!ew&&typeof r=="string"&&(e&&(r=`\x1B[${CB(e)}m${r}\x1B[39m`),t&&(r=`\x1B[${CB(t)+gz}m${r}\x1B[49m`)),r}function _z(r,e=["constructor"]){const t=Object.getPrototypeOf(r),n=Object.getOwnPropertyNames(t),i=r;for(const o of n){const s=i[o];typeof s=="function"&&(e.find(c=>o===c)||(i[o]=s.bind(r)))}}function tw(r,e){if(!r)throw new Error("Assertion failed")}function ud(){var e,t,n;let r;if(ew()&&b0.performance)r=(t=(e=b0==null?void 0:b0.performance)==null?void 0:e.now)==null?void 0:t.call(e);else if("hrtime"in ld){const i=(n=ld==null?void 0:ld.hrtime)==null?void 0:n.call(ld);r=i[0]*1e3+i[1]/1e6}else r=Date.now();return r}const fd={debug:ew()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},yz={enabled:!0,level:0};function hd(){}const EB={},TB={once:!0};let rw=class{constructor({id:e}={id:""}){this.VERSION=nO,this._startTs=ud(),this._deltaTs=ud(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=e,this.userData={},this._storage=new dz(`__probe-${this.id}__`,yz),this.timeStamp(`${this.id} started`),_z(this),Object.seal(this)}set level(e){this.setLevel(e)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((ud()-this._startTs).toPrecision(10))}getDelta(){return Number((ud()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(e=!0){return this._storage.setConfiguration({enabled:e}),this}setLevel(e){return this._storage.setConfiguration({level:e}),this}get(e){return this._storage.config[e]}set(e,t){this._storage.setConfiguration({[e]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(e,t){if(!e)throw new Error(t||"Assertion failed")}warn(e){return this._getLogFunction(0,e,fd.warn,arguments,TB)}error(e){return this._getLogFunction(0,e,fd.error,arguments)}deprecated(e,t){return this.warn(`\`${e}\` is deprecated and will be removed in a later version. Use \`${t}\` instead`)}removed(e,t){return this.error(`\`${e}\` has been removed. Use \`${t}\` instead`)}probe(e,t){return this._getLogFunction(e,t,fd.log,arguments,{time:!0,once:!0})}log(e,t){return this._getLogFunction(e,t,fd.debug,arguments)}info(e,t){return this._getLogFunction(e,t,console.info,arguments)}once(e,t){return this._getLogFunction(e,t,fd.debug||fd.info,arguments,TB)}table(e,t,n){return t?this._getLogFunction(e,t,console.table||hd,n&&[n],{tag:bz(t)}):hd}time(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}timeEnd(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(e,t){return this._getLogFunction(e,t,console.timeStamp||hd)}group(e,t,n={collapsed:!1}){const i=BB({logLevel:e,message:t,opts:n}),{collapsed:o}=n;return i.method=(o?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(e,t,n={}){return this.group(e,t,Object.assign({},n,{collapsed:!0}))}groupEnd(e){return this._getLogFunction(e,"",console.groupEnd||hd)}withGroup(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&this.getLevel()>=iO(e)}_getLogFunction(e,t,n,i,o){if(this._shouldLog(e)){o=BB({logLevel:e,message:t,args:i,opts:o}),n=n||o.method,tw(n),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=ud();const s=o.tag||o.message;if(o.once&&s)if(!EB[s])EB[s]=ud();else return hd;return t=vz(this.id,o.message,o),n.bind(console,t,...o.args)}return hd}};rw.VERSION=nO;function iO(r){if(!r)return 0;let e;switch(typeof r){case"number":e=r;break;case"object":e=r.logLevel||r.priority||0;break;default:return 0}return tw(Number.isFinite(e)&&e>=0),e}function BB(r){const{logLevel:e,message:t}=r;r.logLevel=iO(e);const n=r.args?Array.from(r.args):[];for(;n.length&&n.shift()!==t;);switch(typeof e){case"string":case"function":t!==void 0&&n.unshift(t),r.message=e;break;case"object":Object.assign(r,e);break}typeof r.message=="function"&&(r.message=r.message());const i=typeof r.message;return tw(i==="string"||i==="object"),Object.assign(r,{args:n},r.opts)}function vz(r,e,t){if(typeof e=="string"){const n=t.time?pz(Az(t.total)):"";e=t.time?`${r}: ${n} ${e}`:`${r}: ${e}`,e=mz(e,t.color,t.background)}return e}function bz(r){for(const e in r)for(const t in r[e])return t||"untitled";return"empty"}const SB=new rw({id:"loaders.gl"});let xz=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},wz=class{constructor(){V(this,"console");this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}};const sO={fetch:null,mimeType:void 0,nothrow:!1,log:new wz,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:qx,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},Cz={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function oO(){globalThis.loaders=globalThis.loaders||{};const{loaders:r}=globalThis;return r._state||(r._state={}),r._state}function aO(){const r=oO();return r.globalOptions=r.globalOptions||{...sO},r.globalOptions}function Ez(r,e,t,n){return t=t||[],t=Array.isArray(t)?t:[t],Tz(r,t),Sz(e,r,n)}function Tz(r,e){IB(r,null,sO,Cz,e);for(const t of e){const n=r&&r[t.id]||{},i=t.options&&t.options[t.id]||{},o=t.deprecatedOptions&&t.deprecatedOptions[t.id]||{};IB(n,t.id,i,o,e)}}function IB(r,e,t,n,i){const o=e||"Top level",s=e?`${e}.`:"";for(const c in r){const f=!e&&bg(r[c]),y=c==="baseUri"&&!e,b=c==="workerUrl"&&e;if(!(c in t)&&!y&&!b){if(c in n)SB.warn(`${o} loader option '${s}${c}' no longer supported, use '${n[c]}'`)();else if(!f){const B=Bz(c,i);SB.warn(`${o} loader option '${s}${c}' not recognized. ${B}`)()}}}}function Bz(r,e){const t=r.toLowerCase();let n="";for(const i of e)for(const o in i.options){if(r===o)return`Did you mean '${i.id}.${o}'?`;const s=o.toLowerCase();(t.startsWith(s)||s.startsWith(t))&&(n=n||`Did you mean '${i.id}.${o}'?`)}return n}function Sz(r,e,t){const i={...r.options||{}};return Iz(i,t),i.log===null&&(i.log=new xz),MB(i,aO()),MB(i,e),i}function MB(r,e){for(const t in e)if(t in e){const n=e[t];vB(n)&&vB(r[t])?r[t]={...r[t],...e[t]}:r[t]=e[t]}}function Iz(r,e){e&&!("baseUri"in r)&&(r.baseUri=e)}function nw(r){return r?(Array.isArray(r)&&(r=r[0]),Array.isArray(r==null?void 0:r.extensions)):!1}function iw(r){Hm(r,"null loader"),Hm(nw(r),"invalid loader");let e;return Array.isArray(r)&&(e=r[1],r=r[0],r={...r,options:{...r.options,...e}}),(r!=null&&r.parseTextSync||r!=null&&r.parseText)&&(r.text=!0),r.text||(r.binary=!0),r}const cO=()=>{const r=oO();return r.loaderRegistry=r.loaderRegistry||[],r.loaderRegistry};function Mz(r){const e=cO();r=Array.isArray(r)?r:[r];for(const t of r){const n=iw(t);e.find(i=>n===i)||e.unshift(n)}}function Pz(){return cO()}const Rz=new rw({id:"loaders.gl"}),Fz=/\.([^.]+)$/;async function Dz(r,e=[],t,n){if(!lO(r))return null;let i=PB(r,e,{...t,nothrow:!0},n);if(i)return i;if(ch(r)&&(r=await r.slice(0,10).arrayBuffer(),i=PB(r,e,t,n)),!i&&!(t!=null&&t.nothrow))throw new Error(uO(r));return i}function PB(r,e=[],t,n){if(!lO(r))return null;if(e&&!Array.isArray(e))return iw(e);let i=[];e&&(i=i.concat(e)),t!=null&&t.ignoreRegisteredLoaders||i.push(...Pz()),Lz(i);const o=Oz(r,i,t,n);if(!o&&!(t!=null&&t.nothrow))throw new Error(uO(r));return o}function Oz(r,e,t,n){const i=sy(r),o=Qx(r),s=Zx(i)||(n==null?void 0:n.url);let c=null,f="";return t!=null&&t.mimeType&&(c=kv(e,t==null?void 0:t.mimeType),f=`match forced by supplied MIME type ${t==null?void 0:t.mimeType}`),c=c||Nz(e,s),f=f||(c?`matched url ${s}`:""),c=c||kv(e,o),f=f||(c?`matched MIME type ${o}`:""),c=c||Uz(e,r),f=f||(c?`matched initial data ${fO(r)}`:""),t!=null&&t.fallbackMimeType&&(c=c||kv(e,t==null?void 0:t.fallbackMimeType),f=f||(c?`matched fallback MIME type ${o}`:"")),f&&Rz.log(1,`selectLoader selected ${c==null?void 0:c.name}: ${f}.`),c}function lO(r){return!(r instanceof Response&&r.status===204)}function uO(r){const e=sy(r),t=Qx(r);let n="No valid loader found (";n+=e?`${QD(e)}, `:"no url provided, ",n+=`MIME type: ${t?`"${t}"`:"not provided"}, `;const i=r?fO(r):"";return n+=i?` first bytes: "${i}"`:"first bytes: not available",n+=")",n}function Lz(r){for(const e of r)iw(e)}function Nz(r,e){const t=e&&Fz.exec(e),n=t&&t[1];return n?kz(r,n):null}function kz(r,e){e=e.toLowerCase();for(const t of r)for(const n of t.extensions)if(n.toLowerCase()===e)return t;return null}function kv(r,e){var t;for(const n of r)if((t=n.mimeTypes)!=null&&t.some(i=>bB(e,i))||bB(e,`application/x.${n.id}`))return n;return null}function Uz(r,e){if(!e)return null;for(const t of r)if(typeof e=="string"){if(zz(e,t))return t}else if(ArrayBuffer.isView(e)){if(RB(e.buffer,e.byteOffset,t))return t}else if(e instanceof ArrayBuffer&&RB(e,0,t))return t;return null}function zz(r,e){return e.testText?e.testText(r):(Array.isArray(e.tests)?e.tests:[e.tests]).some(n=>r.startsWith(n))}function RB(r,e,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(i=>Gz(r,e,t,i))}function Gz(r,e,t,n){if(n instanceof ArrayBuffer)return N5(n,r,n.byteLength);switch(typeof n){case"function":return n(r);case"string":const i=Z1(r,e,n.length);return n===i;default:return!1}}function fO(r,e=5){return typeof r=="string"?r.slice(0,e):ArrayBuffer.isView(r)?Z1(r.buffer,r.byteOffset,e):r instanceof ArrayBuffer?Z1(r,0,e):""}function Z1(r,e,t){if(r.byteLength<e+t)return"";const n=new DataView(r);let i="";for(let o=0;o<t;o++)i+=String.fromCharCode(n.getUint8(e+o));return i}const Vz=256*1024;function*Hz(r,e){const t=(e==null?void 0:e.chunkSize)||Vz;let n=0;const i=new TextEncoder;for(;n<r.length;){const o=Math.min(r.length-n,t),s=r.slice(n,n+o);n+=o,yield i.encode(s)}}const jz=256*1024;function*$z(r,e={}){const{chunkSize:t=jz}=e;let n=0;for(;n<r.byteLength;){const i=Math.min(r.byteLength-n,t),o=new ArrayBuffer(i),s=new Uint8Array(r,n,i);new Uint8Array(o).set(s),n+=i,yield o}}const Wz=1024*1024;async function*Jz(r,e){const t=(e==null?void 0:e.chunkSize)||Wz;let n=0;for(;n<r.size;){const i=n+t,o=await r.slice(n,i).arrayBuffer();n=i,yield o}}function FB(r,e){return qx?Xz(r,e):Kz(r)}async function*Xz(r,e){const t=r.getReader();let n;try{for(;;){const i=n||t.read();e!=null&&e._streamReadAhead&&(n=t.read());const{done:o,value:s}=await i;if(o)return;yield ZD(s)}}catch{t.releaseLock()}}async function*Kz(r,e){for await(const t of r)yield ZD(t)}function qz(r,e){if(typeof r=="string")return Hz(r,e);if(r instanceof ArrayBuffer)return $z(r,e);if(ch(r))return Jz(r,e);if(eO(r))return FB(r,e);if(ah(r))return FB(r.body,e);throw new Error("makeIterator")}const hO="Cannot convert supplied data type";function Yz(r,e,t){if(e.text&&typeof r=="string")return r;if(X5(r)&&(r=r.buffer),r instanceof ArrayBuffer){const n=r;return e.text&&!e.binary?new TextDecoder("utf8").decode(n):n}if(ArrayBuffer.isView(r)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(r);let n=r.buffer;const i=r.byteLength||r.length;return(r.byteOffset!==0||i!==n.byteLength)&&(n=n.slice(r.byteOffset,r.byteOffset+i)),n}throw new Error(hO)}async function Zz(r,e,t){const n=r instanceof ArrayBuffer||ArrayBuffer.isView(r);if(typeof r=="string"||n)return Yz(r,e);if(ch(r)&&(r=await rO(r)),ah(r)){const i=r;return await iz(i),e.binary?await i.arrayBuffer():await i.text()}if(eO(r)&&(r=qz(r,t)),W5(r)||J5(r))return z5(r);throw new Error(hO)}function dO(r,e){const t=aO(),n=r||t;return typeof n.fetch=="function"?n.fetch:bg(n.fetch)?i=>wB(i,n.fetch):e!=null&&e.fetch?e==null?void 0:e.fetch:wB}function Qz(r,e,t){if(t)return t;const n={fetch:dO(e,r),...r};if(n.url){const i=Zx(n.url);n.baseUrl=i,n.queryString=tz(n.url),n.filename=QD(i),n.baseUrl=j5(i)}return Array.isArray(n.loaders)||(n.loaders=null),n}function eG(r,e){if(r&&!Array.isArray(r))return r;let t;if(r&&(t=Array.isArray(r)?r:[r]),e&&e.loaders){const n=Array.isArray(e.loaders)?e.loaders:[e.loaders];t=t?[...t,...n]:n}return t&&t.length?t:void 0}async function Wm(r,e,t,n){e&&!Array.isArray(e)&&!nw(e)&&(n=void 0,t=e,e=void 0),r=await r,t=t||{};const i=sy(r),s=eG(e,n),c=await Dz(r,s,t);return c?(t=Ez(t,c,s,i),n=Qz({url:i,_parse:Wm,loaders:s},t,n||null),await tG(c,r,t,n)):null}async function tG(r,e,t,n){if(F5(r),t=b5(r.options,t),ah(e)){const o=e,{ok:s,redirected:c,status:f,statusText:y,type:b,url:B}=o,S=Object.fromEntries(o.headers.entries());n.response={headers:S,ok:s,redirected:c,status:f,statusText:y,type:b,url:B}}e=await Zz(e,r,t);const i=r;if(i.parseTextSync&&typeof e=="string")return i.parseTextSync(e,t,n);if(D5(r,t))return await O5(r,e,t,n,Wm);if(i.parseText&&typeof e=="string")return await i.parseText(e,t,n);if(i.parse)return await i.parse(e,t,n);throw Gu(!i.parseSync),new Error(`${r.id} loader - no parser found and worker is disabled`)}async function Q1(r,e,t,n){let i,o;!Array.isArray(e)&&!nw(e)?(i=[],o=e):(i=e,o=t);const s=dO(o);let c=r;return typeof r=="string"&&(c=await s(r)),ch(r)&&(c=await s(r)),Array.isArray(i)?await Wm(c,i,o):await Wm(c,i,o)}const rG="4.2.4";var ND;const nG=(ND=globalThis.loaders)==null?void 0:ND.parseImageNode,e2=typeof Image<"u",t2=typeof ImageBitmap<"u",iG=!!nG,r2=qx?!0:iG;function sG(r){switch(r){case"auto":return t2||e2||r2;case"imagebitmap":return t2;case"image":return e2;case"data":return r2;default:throw new Error(`@loaders.gl/images: image ${r} not supported in this environment`)}}function oG(){if(t2)return"imagebitmap";if(e2)return"image";if(r2)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function aG(r){const e=lG(r);if(!e)throw new Error("Not an image");return e}function cG(r){switch(aG(r)){case"data":return r;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=r.width,e.height=r.height,t.drawImage(r,0,0),t.getImageData(0,0,r.width,r.height);default:throw new Error("getImageData")}}function lG(r){return typeof ImageBitmap<"u"&&r instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&r instanceof Image?"image":r&&typeof r=="object"&&r.data&&r.width&&r.height?"data":null}const uG=/^data:image\/svg\+xml/,fG=/\.svg((\?|#).*)?$/;function sw(r){return r&&(uG.test(r)||fG.test(r))}function hG(r,e){if(sw(e)){let n=new TextDecoder().decode(r);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(o){throw new Error(o.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return AO(r,e)}function AO(r,e){if(sw(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(r)])}async function pO(r,e,t){const n=hG(r,t),i=self.URL||self.webkitURL,o=typeof n!="string"&&i.createObjectURL(n);try{return await dG(o||n,e)}finally{o&&i.revokeObjectURL(o)}}async function dG(r,e){const t=new Image;return t.src=r,e.image&&e.image.decode&&t.decode?(await t.decode(),t):await new Promise((n,i)=>{try{t.onload=()=>n(t),t.onerror=o=>{const s=o instanceof Error?o.message:"error";i(new Error(s))}}catch(o){i(o)}})}const AG={};let DB=!0;async function pG(r,e,t){let n;sw(t)?n=await pO(r,e,t):n=AO(r,t);const i=e&&e.imagebitmap;return await gG(n,i)}async function gG(r,e=null){if((mG(e)||!DB)&&(e=null),e)try{return await createImageBitmap(r,e)}catch(t){console.warn(t),DB=!1}return await createImageBitmap(r)}function mG(r){for(const e in r||AG)return!1;return!0}function _G(r){return!xG(r,"ftyp",4)||!(r[8]&96)?null:yG(r)}function yG(r){switch(vG(r,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function vG(r,e,t){return String.fromCharCode(...r.slice(e,t))}function bG(r){return[...r].map(e=>e.charCodeAt(0))}function xG(r,e,t=0){const n=bG(e);for(let i=0;i<n.length;++i)if(n[i]!==r[i+t])return!1;return!0}const Xc=!1,zp=!0;function gO(r){const e=xg(r);return CG(e)||BG(e)||EG(e)||TG(e)||wG(e)}function wG(r){const e=new Uint8Array(r instanceof DataView?r.buffer:r),t=_G(e);return t?{mimeType:t.mimeType,width:0,height:0}:null}function CG(r){const e=xg(r);return e.byteLength>=24&&e.getUint32(0,Xc)===2303741511?{mimeType:"image/png",width:e.getUint32(16,Xc),height:e.getUint32(20,Xc)}:null}function EG(r){const e=xg(r);return e.byteLength>=10&&e.getUint32(0,Xc)===1195984440?{mimeType:"image/gif",width:e.getUint16(6,zp),height:e.getUint16(8,zp)}:null}function TG(r){const e=xg(r);return e.byteLength>=14&&e.getUint16(0,Xc)===16973&&e.getUint32(2,zp)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,zp),height:e.getUint32(22,zp)}:null}function BG(r){const e=xg(r);if(!(e.byteLength>=3&&e.getUint16(0,Xc)===65496&&e.getUint8(2)===255))return null;const{tableMarkers:n,sofMarkers:i}=SG();let o=2;for(;o+9<e.byteLength;){const s=e.getUint16(o,Xc);if(i.has(s))return{mimeType:"image/jpeg",height:e.getUint16(o+5,Xc),width:e.getUint16(o+7,Xc)};if(!n.has(s))return null;o+=2,o+=e.getUint16(o,Xc)}return null}function SG(){const r=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)r.add(t);return{tableMarkers:r,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function xg(r){if(r instanceof DataView)return r;if(ArrayBuffer.isView(r))return new DataView(r.buffer);if(r instanceof ArrayBuffer)return new DataView(r);throw new Error("toDataView")}async function IG(r,e){var i;const{mimeType:t}=gO(r)||{},n=(i=globalThis.loaders)==null?void 0:i.parseImageNode;return Hm(n),await n(r,t)}async function MG(r,e,t){e=e||{};const i=(e.image||{}).type||"auto",{url:o}=t||{},s=PG(i);let c;switch(s){case"imagebitmap":c=await pG(r,e,o);break;case"image":c=await pO(r,e,o);break;case"data":c=await IG(r);break;default:Hm(!1)}return i==="data"&&(c=cG(c)),c}function PG(r){switch(r){case"auto":case"data":return oG();default:return sG(r),r}}const RG=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],FG=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],DG={image:{type:"auto",decode:!0}},OG={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:rG,mimeTypes:FG,extensions:RG,parse:MG,tests:[r=>!!gO(new DataView(r))],options:DG},Wr=new WD({id:"deck"});let n2={};function LG(r){n2=r}function oo(r,e,t,n){Wr.level>0&&n2[r]&&n2[r].call(null,e,t,n)}function NG(r){const e=r[0],t=r[r.length-1];return e==="{"&&t==="}"||e==="["&&t==="]"}const kG={dataType:null,batchType:null,id:"JSON",name:"JSON",module:"",version:"",options:{},extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:NG,parseTextSync:JSON.parse};function UG(){const r="9.1.4",e=globalThis.deck&&globalThis.deck.VERSION;if(e&&e!==r)throw new Error(`deck.gl - multiple versions detected: ${e} vs ${r}`);return e||(Wr.log(1,`deck.gl ${r}`)(),globalThis.deck={...globalThis.deck,VERSION:r,version:r,log:Wr,_registerLoggers:LG},Mz([kG,[OG,{imagebitmap:{premultiplyAlpha:"none"}}]])),r}const zG=UG();function ow(r,e){if(!r)throw new Error(e||"shadertools: assertion failed.")}const Uv={number:{type:"number",validate(r,e){return Number.isFinite(r)&&typeof e=="object"&&(e.max===void 0||r<=e.max)&&(e.min===void 0||r>=e.min)}},array:{type:"array",validate(r,e){return Array.isArray(r)||ArrayBuffer.isView(r)}}};function GG(r){const e={};for(const[t,n]of Object.entries(r))e[t]=VG(n);return e}function VG(r){let e=OB(r);if(e!=="object")return{value:r,...Uv[e],type:e};if(typeof r=="object")return r?r.type!==void 0?{...r,...Uv[r.type],type:r.type}:r.value===void 0?{type:"object",value:r}:(e=OB(r.value),{...r,...Uv[e],type:e}):{type:"object",value:null};throw new Error("props")}function OB(r){return Array.isArray(r)||ArrayBuffer.isView(r)?"array":typeof r}const HG=`#ifdef MODULE_LOGDEPTH
|
6
|
+
}`}function qD(r,e=!0,t){const n=t||new Set;if(r){if(_B(r))n.add(r);else if(_B(r.buffer))n.add(r.buffer);else if(!ArrayBuffer.isView(r)){if(e&&typeof r=="object")for(const i in r)qD(r[i],e,n)}}return t===void 0?Array.from(n):[]}function _B(r){return r?r instanceof ArrayBuffer||typeof MessagePort<"u"&&r instanceof MessagePort||typeof ImageBitmap<"u"&&r instanceof ImageBitmap||typeof OffscreenCanvas<"u"&&r instanceof OffscreenCanvas:!1}const Nv=()=>{};let Y1=class{constructor(e){V(this,"name");V(this,"source");V(this,"url");V(this,"terminated",!1);V(this,"worker");V(this,"onMessage");V(this,"onError");V(this,"_loadableURL","");const{name:t,source:n,url:i}=e;Gu(n||i),this.name=t,this.source=n,this.url=i,this.onMessage=Nv,this.onError=o=>console.log(o),this.worker=Jf?this._createBrowserWorker():this._createNodeWorker()}static isSupported(){return typeof Worker<"u"&&Jf||typeof Ov<"u"&&!Jf}destroy(){this.onMessage=Nv,this.onError=Nv,this.worker.terminate(),this.terminated=!0}get isRunning(){return!!this.onMessage}postMessage(e,t){t=t||qD(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+=`worker ${this.name} from ${this.url}. `,e.message&&(t+=`${e.message} in `),e.lineno&&(t+=`:${e.lineno}:${e.colno}`),new Error(t)}_createBrowserWorker(){this._loadableURL=B5({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=t=>{t.data?this.onMessage(t.data):this.onError(new Error("No data received"))},e.onerror=t=>{this.onError(this._getErrorFromErrorEvent(t)),this.terminated=!0},e.onmessageerror=t=>console.error(t),e}_createNodeWorker(){let e;if(this.url){const n=this.url.includes(":/")||this.url.startsWith("/")?this.url:`./${this.url}`;e=new Ov(n,{eval:!1})}else if(this.source)e=new Ov(this.source,{eval:!0});else throw new Error("no worker");return e.on("message",t=>{this.onMessage(t)}),e.on("error",t=>{this.onError(t)}),e.on("exit",t=>{}),e}},M5=class{constructor(e){V(this,"name","unnamed");V(this,"source");V(this,"url");V(this,"maxConcurrency",1);V(this,"maxMobileConcurrency",1);V(this,"onDebug",()=>{});V(this,"reuseWorkers",!0);V(this,"props",{});V(this,"jobQueue",[]);V(this,"idleQueue",[]);V(this,"count",0);V(this,"isDestroyed",!1);this.source=e.source,this.url=e.url,this.setProps(e)}static isSupported(){return Y1.isSupported()}destroy(){this.idleQueue.forEach(e=>e.destroy()),this.isDestroyed=!0}setProps(e){this.props={...this.props,...e},e.name!==void 0&&(this.name=e.name),e.maxConcurrency!==void 0&&(this.maxConcurrency=e.maxConcurrency),e.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=e.maxMobileConcurrency),e.reuseWorkers!==void 0&&(this.reuseWorkers=e.reuseWorkers),e.onDebug!==void 0&&(this.onDebug=e.onDebug)}async startJob(e,t=(i,o,s)=>i.done(s),n=(i,o)=>i.error(o)){const i=new Promise(o=>(this.jobQueue.push({name:e,onMessage:t,onError:n,onStart:o}),this));return this._startQueuedJob(),await i}async _startQueuedJob(){if(!this.jobQueue.length)return;const e=this._getAvailableWorker();if(!e)return;const t=this.jobQueue.shift();if(t){this.onDebug({message:"Starting job",name:t.name,workerThread:e,backlog:this.jobQueue.length});const n=new T5(t.name,e);e.onMessage=i=>t.onMessage(n,i.type,i.payload),e.onError=i=>t.onError(n,i),t.onStart(n);try{await n.result}catch(i){console.error(`Worker exception: ${i}`)}finally{this.returnWorkerToQueue(e)}}}returnWorkerToQueue(e){!Jf||this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count<this._getMaxConcurrency()){this.count++;const e=`${this.name.toLowerCase()} (#${this.count} of ${this.maxConcurrency})`;return new Y1({name:e,source:this.source,url:this.url})}return null}_getMaxConcurrency(){return E5?this.maxMobileConcurrency:this.maxConcurrency}};const P5={maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:!0,onDebug:()=>{}};var oc;let YD=(oc=class{constructor(e){V(this,"props");V(this,"workerPools",new Map);this.props={...P5},this.setProps(e),this.workerPools=new Map}static isSupported(){return Y1.isSupported()}static getWorkerFarm(e={}){return oc._workerFarm=oc._workerFarm||new oc({}),oc._workerFarm.setProps(e),oc._workerFarm}destroy(){for(const e of this.workerPools.values())e.destroy();this.workerPools=new Map}setProps(e){this.props={...this.props,...e};for(const t of this.workerPools.values())t.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:n,url:i}=e;let o=this.workerPools.get(t);return o||(o=new M5({name:t,source:n,url:i}),o.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,o)),o}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}},V(oc,"_workerFarm"),oc);function R5(r,e={}){const t=e[r.id]||{},n=Jf?`${r.id}-worker.js`:`${r.id}-worker-node.js`;let i=t.workerUrl;if(!i&&r.id==="compression"&&(i=e.workerUrl),e._workerType==="test"&&(Jf?i=`modules/${r.module}/dist/${n}`:i=`modules/${r.module}/src/workers/${r.id}-worker-node.ts`),!i){let o=r.version;o==="latest"&&(o=x5);const s=o?`@${o}`:"";i=`https://unpkg.com/@loaders.gl/${r.module}${s}/dist/${n}`}return Gu(i),i}function F5(r,e=C5){Gu(r,"no worker provided");const t=r.version;return!(!e||!t)}function D5(r,e){return!YD.isSupported()||!Jf&&!(e!=null&&e._nodeWorkers)?!1:r.worker&&(e==null?void 0:e.worker)}async function O5(r,e,t,n,i){const o=r.id,s=R5(r,t),f=YD.getWorkerFarm(t).getWorkerPool({name:o,url:s});t=JSON.parse(JSON.stringify(t)),n=JSON.parse(JSON.stringify(n||{}));const y=await f.startJob("process-on-worker",L5.bind(null,i));return y.postMessage("process",{input:e,options:t,context:n}),await(await y.result).result}async function L5(r,e,t,n){switch(t){case"done":e.done(n);break;case"error":e.error(new Error(n.error));break;case"process":const{id:i,input:o,options:s}=n;try{const c=await r(o,s);e.postMessage("done",{id:i,result:c})}catch(c){const f=c instanceof Error?c.message:"unknown error";e.postMessage("error",{id:i,error:f})}break;default:console.warn(`parse-with-worker unknown message ${t}`)}}function N5(r,e,t){if(t=t||r.byteLength,r.byteLength<t||e.byteLength<t)return!1;const n=new Uint8Array(r),i=new Uint8Array(e);for(let o=0;o<n.length;++o)if(n[o]!==i[o])return!1;return!0}function k5(...r){return U5(r)}function U5(r){const e=r.map(o=>o instanceof ArrayBuffer?new Uint8Array(o):o),t=e.reduce((o,s)=>o+s.byteLength,0),n=new Uint8Array(t);let i=0;for(const o of e)n.set(o,i),i+=o.byteLength;return n.buffer}async function z5(r){const e=[];for await(const t of r)e.push(t);return k5(...e)}let G5="";const yB={};function V5(r){for(const e in yB)if(r.startsWith(e)){const t=yB[e];r=r.replace(e,t)}return!r.startsWith("http://")&&!r.startsWith("https://")&&(r=`${G5}${r}`),r}function H5(r){return r&&typeof r=="object"&&r.isBuffer}function ZD(r){if(H5(r))return r;if(r instanceof ArrayBuffer)return r;if(ArrayBuffer.isView(r))return r.byteOffset===0&&r.byteLength===r.buffer.byteLength?r.buffer:r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength);if(typeof r=="string"){const e=r;return new TextEncoder().encode(e).buffer}if(r&&typeof r=="object"&&r._toArrayBuffer)return r._toArrayBuffer();throw new Error("toArrayBuffer")}function QD(r){const e=r?r.lastIndexOf("/"):-1;return e>=0?r.substr(e+1):""}function j5(r){const e=r?r.lastIndexOf("/"):-1;return e>=0?r.substr(0,e):""}const $5=r=>typeof r=="boolean",Up=r=>typeof r=="function",bg=r=>r!==null&&typeof r=="object",vB=r=>bg(r)&&r.constructor==={}.constructor,W5=r=>!!r&&typeof r[Symbol.iterator]=="function",J5=r=>r&&typeof r[Symbol.asyncIterator]=="function",ah=r=>typeof Response<"u"&&r instanceof Response||r&&r.arrayBuffer&&r.text&&r.json,ch=r=>typeof Blob<"u"&&r instanceof Blob,X5=r=>r&&typeof r=="object"&&r.isBuffer,K5=r=>typeof ReadableStream<"u"&&r instanceof ReadableStream||bg(r)&&Up(r.tee)&&Up(r.cancel)&&Up(r.getReader),q5=r=>bg(r)&&Up(r.read)&&Up(r.pipe)&&$5(r.readable),eO=r=>K5(r)||q5(r);let Y5=class extends Error{constructor(t,n){super(t);V(this,"reason");V(this,"url");V(this,"response");this.reason=n.reason,this.url=n.url,this.response=n.response}};const Z5=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,Q5=/^([-\w.]+\/[-\w.+]+)/;function bB(r,e){return r.toLowerCase()===e.toLowerCase()}function ez(r){const e=Q5.exec(r);return e?e[1]:r}function xB(r){const e=Z5.exec(r);return e?e[1]:""}const tO=/\?.*/;function tz(r){const e=r.match(tO);return e&&e[0]}function Zx(r){return r.replace(tO,"")}function rz(r){if(r.length<50)return r;const e=r.slice(r.length-15);return`${r.substr(0,32)}...${e}`}function sy(r){return ah(r)?r.url:ch(r)?r.name||"":typeof r=="string"?r:""}function Qx(r){if(ah(r)){const e=r,t=e.headers.get("content-type")||"",n=Zx(e.url);return ez(t)||xB(n)}return ch(r)?r.type||"":typeof r=="string"?xB(r):""}function nz(r){return ah(r)?r.headers["content-length"]||-1:ch(r)?r.size:typeof r=="string"?r.length:r instanceof ArrayBuffer||ArrayBuffer.isView(r)?r.byteLength:-1}async function rO(r){if(ah(r))return r;const e={},t=nz(r);t>=0&&(e["content-length"]=String(t));const n=sy(r),i=Qx(r);i&&(e["content-type"]=i);const o=await oz(r);o&&(e["x-first-bytes"]=o),typeof r=="string"&&(r=new TextEncoder().encode(r));const s=new Response(r,{headers:e});return Object.defineProperty(s,"url",{value:n}),s}async function iz(r){if(!r.ok)throw await sz(r)}async function sz(r){const e=rz(r.url);let t=`Failed to fetch resource (${r.status}) ${r.statusText}: ${e}`;t=t.length>100?`${t.slice(0,100)}...`:t;const n={reason:r.statusText,url:r.url,response:r};try{const i=r.headers.get("Content-Type");n.reason=i!=null&&i.includes("application/json")?await r.json():r.text()}catch{}return new Y5(t,n)}async function oz(r){if(typeof r=="string")return`data:,${r.slice(0,5)}`;if(r instanceof Blob){const t=r.slice(0,5);return await new Promise(n=>{const i=new FileReader;i.onload=o=>{var s;return n((s=o==null?void 0:o.target)==null?void 0:s.result)},i.readAsDataURL(t)})}if(r instanceof ArrayBuffer){const t=r.slice(0,5);return`data:base64,${az(t)}`}return null}function az(r){let e="";const t=new Uint8Array(r);for(let n=0;n<t.byteLength;n++)e+=String.fromCharCode(t[n]);return btoa(e)}function cz(r){return!lz(r)&&!uz(r)}function lz(r){return r.startsWith("http:")||r.startsWith("https:")}function uz(r){return r.startsWith("data:")}async function wB(r,e){var t,n;if(typeof r=="string"){const i=V5(r);return cz(i)&&(t=globalThis.loaders)!=null&&t.fetchNode?(n=globalThis.loaders)==null?void 0:n.fetchNode(i,e):await fetch(i,e)}return await rO(r)}const b0=globalThis,ld=globalThis.process||{};function fz(r){var n,i;if(typeof window<"u"&&((n=window.process)==null?void 0:n.type)==="renderer"||typeof process<"u"&&((i=process.versions)!=null&&i.electron))return!0;const t=typeof navigator<"u"&&navigator.userAgent;return!!(t&&t.indexOf("Electron")>=0)}function ew(){return!(typeof process=="object"&&String(process)==="[object process]"&&!(process!=null&&process.browser))||fz()}const nO="4.0.7";function hz(r){try{const e=window[r],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch{return null}}let dz=class{constructor(e,t,n="sessionStorage"){this.storage=hz(n),this.id=e,this.config=t,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}};function Az(r){let e;return r<10?e=`${r.toFixed(2)}ms`:r<100?e=`${r.toFixed(1)}ms`:r<1e3?e=`${r.toFixed(0)}ms`:e=`${(r/1e3).toFixed(2)}s`,e}function pz(r,e=8){const t=Math.max(e-r.length,0);return`${" ".repeat(t)}${r}`}var $m;(function(r){r[r.BLACK=30]="BLACK",r[r.RED=31]="RED",r[r.GREEN=32]="GREEN",r[r.YELLOW=33]="YELLOW",r[r.BLUE=34]="BLUE",r[r.MAGENTA=35]="MAGENTA",r[r.CYAN=36]="CYAN",r[r.WHITE=37]="WHITE",r[r.BRIGHT_BLACK=90]="BRIGHT_BLACK",r[r.BRIGHT_RED=91]="BRIGHT_RED",r[r.BRIGHT_GREEN=92]="BRIGHT_GREEN",r[r.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",r[r.BRIGHT_BLUE=94]="BRIGHT_BLUE",r[r.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",r[r.BRIGHT_CYAN=96]="BRIGHT_CYAN",r[r.BRIGHT_WHITE=97]="BRIGHT_WHITE"})($m||($m={}));const gz=10;function CB(r){return typeof r!="string"?r:(r=r.toUpperCase(),$m[r]||$m.WHITE)}function mz(r,e,t){return!ew&&typeof r=="string"&&(e&&(r=`\x1B[${CB(e)}m${r}\x1B[39m`),t&&(r=`\x1B[${CB(t)+gz}m${r}\x1B[49m`)),r}function _z(r,e=["constructor"]){const t=Object.getPrototypeOf(r),n=Object.getOwnPropertyNames(t),i=r;for(const o of n){const s=i[o];typeof s=="function"&&(e.find(c=>o===c)||(i[o]=s.bind(r)))}}function tw(r,e){if(!r)throw new Error("Assertion failed")}function ud(){var e,t,n;let r;if(ew()&&b0.performance)r=(t=(e=b0==null?void 0:b0.performance)==null?void 0:e.now)==null?void 0:t.call(e);else if("hrtime"in ld){const i=(n=ld==null?void 0:ld.hrtime)==null?void 0:n.call(ld);r=i[0]*1e3+i[1]/1e6}else r=Date.now();return r}const fd={debug:ew()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},yz={enabled:!0,level:0};function hd(){}const EB={},TB={once:!0};let rw=class{constructor({id:e}={id:""}){this.VERSION=nO,this._startTs=ud(),this._deltaTs=ud(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=e,this.userData={},this._storage=new dz(`__probe-${this.id}__`,yz),this.timeStamp(`${this.id} started`),_z(this),Object.seal(this)}set level(e){this.setLevel(e)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((ud()-this._startTs).toPrecision(10))}getDelta(){return Number((ud()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(e=!0){return this._storage.setConfiguration({enabled:e}),this}setLevel(e){return this._storage.setConfiguration({level:e}),this}get(e){return this._storage.config[e]}set(e,t){this._storage.setConfiguration({[e]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(e,t){if(!e)throw new Error(t||"Assertion failed")}warn(e){return this._getLogFunction(0,e,fd.warn,arguments,TB)}error(e){return this._getLogFunction(0,e,fd.error,arguments)}deprecated(e,t){return this.warn(`\`${e}\` is deprecated and will be removed in a later version. Use \`${t}\` instead`)}removed(e,t){return this.error(`\`${e}\` has been removed. Use \`${t}\` instead`)}probe(e,t){return this._getLogFunction(e,t,fd.log,arguments,{time:!0,once:!0})}log(e,t){return this._getLogFunction(e,t,fd.debug,arguments)}info(e,t){return this._getLogFunction(e,t,console.info,arguments)}once(e,t){return this._getLogFunction(e,t,fd.debug||fd.info,arguments,TB)}table(e,t,n){return t?this._getLogFunction(e,t,console.table||hd,n&&[n],{tag:bz(t)}):hd}time(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}timeEnd(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(e,t){return this._getLogFunction(e,t,console.timeStamp||hd)}group(e,t,n={collapsed:!1}){const i=BB({logLevel:e,message:t,opts:n}),{collapsed:o}=n;return i.method=(o?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(e,t,n={}){return this.group(e,t,Object.assign({},n,{collapsed:!0}))}groupEnd(e){return this._getLogFunction(e,"",console.groupEnd||hd)}withGroup(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&this.getLevel()>=iO(e)}_getLogFunction(e,t,n,i,o){if(this._shouldLog(e)){o=BB({logLevel:e,message:t,args:i,opts:o}),n=n||o.method,tw(n),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=ud();const s=o.tag||o.message;if(o.once&&s)if(!EB[s])EB[s]=ud();else return hd;return t=vz(this.id,o.message,o),n.bind(console,t,...o.args)}return hd}};rw.VERSION=nO;function iO(r){if(!r)return 0;let e;switch(typeof r){case"number":e=r;break;case"object":e=r.logLevel||r.priority||0;break;default:return 0}return tw(Number.isFinite(e)&&e>=0),e}function BB(r){const{logLevel:e,message:t}=r;r.logLevel=iO(e);const n=r.args?Array.from(r.args):[];for(;n.length&&n.shift()!==t;);switch(typeof e){case"string":case"function":t!==void 0&&n.unshift(t),r.message=e;break;case"object":Object.assign(r,e);break}typeof r.message=="function"&&(r.message=r.message());const i=typeof r.message;return tw(i==="string"||i==="object"),Object.assign(r,{args:n},r.opts)}function vz(r,e,t){if(typeof e=="string"){const n=t.time?pz(Az(t.total)):"";e=t.time?`${r}: ${n} ${e}`:`${r}: ${e}`,e=mz(e,t.color,t.background)}return e}function bz(r){for(const e in r)for(const t in r[e])return t||"untitled";return"empty"}const SB=new rw({id:"loaders.gl"});let xz=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},wz=class{constructor(){V(this,"console");this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}};const sO={fetch:null,mimeType:void 0,nothrow:!1,log:new wz,useLocalLibraries:!1,CDN:"https://unpkg.com/@loaders.gl",worker:!0,maxConcurrency:3,maxMobileConcurrency:1,reuseWorkers:qx,_nodeWorkers:!1,_workerType:"",limit:0,_limitMB:0,batchSize:"auto",batchDebounceMs:0,metadata:!1,transforms:[]},Cz={throws:"nothrow",dataType:"(no longer used)",uri:"baseUri",method:"fetch.method",headers:"fetch.headers",body:"fetch.body",mode:"fetch.mode",credentials:"fetch.credentials",cache:"fetch.cache",redirect:"fetch.redirect",referrer:"fetch.referrer",referrerPolicy:"fetch.referrerPolicy",integrity:"fetch.integrity",keepalive:"fetch.keepalive",signal:"fetch.signal"};function oO(){globalThis.loaders=globalThis.loaders||{};const{loaders:r}=globalThis;return r._state||(r._state={}),r._state}function aO(){const r=oO();return r.globalOptions=r.globalOptions||{...sO},r.globalOptions}function Ez(r,e,t,n){return t=t||[],t=Array.isArray(t)?t:[t],Tz(r,t),Sz(e,r,n)}function Tz(r,e){IB(r,null,sO,Cz,e);for(const t of e){const n=r&&r[t.id]||{},i=t.options&&t.options[t.id]||{},o=t.deprecatedOptions&&t.deprecatedOptions[t.id]||{};IB(n,t.id,i,o,e)}}function IB(r,e,t,n,i){const o=e||"Top level",s=e?`${e}.`:"";for(const c in r){const f=!e&&bg(r[c]),y=c==="baseUri"&&!e,b=c==="workerUrl"&&e;if(!(c in t)&&!y&&!b){if(c in n)SB.warn(`${o} loader option '${s}${c}' no longer supported, use '${n[c]}'`)();else if(!f){const B=Bz(c,i);SB.warn(`${o} loader option '${s}${c}' not recognized. ${B}`)()}}}}function Bz(r,e){const t=r.toLowerCase();let n="";for(const i of e)for(const o in i.options){if(r===o)return`Did you mean '${i.id}.${o}'?`;const s=o.toLowerCase();(t.startsWith(s)||s.startsWith(t))&&(n=n||`Did you mean '${i.id}.${o}'?`)}return n}function Sz(r,e,t){const i={...r.options||{}};return Iz(i,t),i.log===null&&(i.log=new xz),MB(i,aO()),MB(i,e),i}function MB(r,e){for(const t in e)if(t in e){const n=e[t];vB(n)&&vB(r[t])?r[t]={...r[t],...e[t]}:r[t]=e[t]}}function Iz(r,e){e&&!("baseUri"in r)&&(r.baseUri=e)}function nw(r){return r?(Array.isArray(r)&&(r=r[0]),Array.isArray(r==null?void 0:r.extensions)):!1}function iw(r){Hm(r,"null loader"),Hm(nw(r),"invalid loader");let e;return Array.isArray(r)&&(e=r[1],r=r[0],r={...r,options:{...r.options,...e}}),(r!=null&&r.parseTextSync||r!=null&&r.parseText)&&(r.text=!0),r.text||(r.binary=!0),r}const cO=()=>{const r=oO();return r.loaderRegistry=r.loaderRegistry||[],r.loaderRegistry};function Mz(r){const e=cO();r=Array.isArray(r)?r:[r];for(const t of r){const n=iw(t);e.find(i=>n===i)||e.unshift(n)}}function Pz(){return cO()}const Rz=new rw({id:"loaders.gl"}),Fz=/\.([^.]+)$/;async function Dz(r,e=[],t,n){if(!lO(r))return null;let i=PB(r,e,{...t,nothrow:!0},n);if(i)return i;if(ch(r)&&(r=await r.slice(0,10).arrayBuffer(),i=PB(r,e,t,n)),!i&&!(t!=null&&t.nothrow))throw new Error(uO(r));return i}function PB(r,e=[],t,n){if(!lO(r))return null;if(e&&!Array.isArray(e))return iw(e);let i=[];e&&(i=i.concat(e)),t!=null&&t.ignoreRegisteredLoaders||i.push(...Pz()),Lz(i);const o=Oz(r,i,t,n);if(!o&&!(t!=null&&t.nothrow))throw new Error(uO(r));return o}function Oz(r,e,t,n){const i=sy(r),o=Qx(r),s=Zx(i)||(n==null?void 0:n.url);let c=null,f="";return t!=null&&t.mimeType&&(c=kv(e,t==null?void 0:t.mimeType),f=`match forced by supplied MIME type ${t==null?void 0:t.mimeType}`),c=c||Nz(e,s),f=f||(c?`matched url ${s}`:""),c=c||kv(e,o),f=f||(c?`matched MIME type ${o}`:""),c=c||Uz(e,r),f=f||(c?`matched initial data ${fO(r)}`:""),t!=null&&t.fallbackMimeType&&(c=c||kv(e,t==null?void 0:t.fallbackMimeType),f=f||(c?`matched fallback MIME type ${o}`:"")),f&&Rz.log(1,`selectLoader selected ${c==null?void 0:c.name}: ${f}.`),c}function lO(r){return!(r instanceof Response&&r.status===204)}function uO(r){const e=sy(r),t=Qx(r);let n="No valid loader found (";n+=e?`${QD(e)}, `:"no url provided, ",n+=`MIME type: ${t?`"${t}"`:"not provided"}, `;const i=r?fO(r):"";return n+=i?` first bytes: "${i}"`:"first bytes: not available",n+=")",n}function Lz(r){for(const e of r)iw(e)}function Nz(r,e){const t=e&&Fz.exec(e),n=t&&t[1];return n?kz(r,n):null}function kz(r,e){e=e.toLowerCase();for(const t of r)for(const n of t.extensions)if(n.toLowerCase()===e)return t;return null}function kv(r,e){var t;for(const n of r)if((t=n.mimeTypes)!=null&&t.some(i=>bB(e,i))||bB(e,`application/x.${n.id}`))return n;return null}function Uz(r,e){if(!e)return null;for(const t of r)if(typeof e=="string"){if(zz(e,t))return t}else if(ArrayBuffer.isView(e)){if(RB(e.buffer,e.byteOffset,t))return t}else if(e instanceof ArrayBuffer&&RB(e,0,t))return t;return null}function zz(r,e){return e.testText?e.testText(r):(Array.isArray(e.tests)?e.tests:[e.tests]).some(n=>r.startsWith(n))}function RB(r,e,t){return(Array.isArray(t.tests)?t.tests:[t.tests]).some(i=>Gz(r,e,t,i))}function Gz(r,e,t,n){if(n instanceof ArrayBuffer)return N5(n,r,n.byteLength);switch(typeof n){case"function":return n(r);case"string":const i=Z1(r,e,n.length);return n===i;default:return!1}}function fO(r,e=5){return typeof r=="string"?r.slice(0,e):ArrayBuffer.isView(r)?Z1(r.buffer,r.byteOffset,e):r instanceof ArrayBuffer?Z1(r,0,e):""}function Z1(r,e,t){if(r.byteLength<e+t)return"";const n=new DataView(r);let i="";for(let o=0;o<t;o++)i+=String.fromCharCode(n.getUint8(e+o));return i}const Vz=256*1024;function*Hz(r,e){const t=(e==null?void 0:e.chunkSize)||Vz;let n=0;const i=new TextEncoder;for(;n<r.length;){const o=Math.min(r.length-n,t),s=r.slice(n,n+o);n+=o,yield i.encode(s)}}const jz=256*1024;function*$z(r,e={}){const{chunkSize:t=jz}=e;let n=0;for(;n<r.byteLength;){const i=Math.min(r.byteLength-n,t),o=new ArrayBuffer(i),s=new Uint8Array(r,n,i);new Uint8Array(o).set(s),n+=i,yield o}}const Wz=1024*1024;async function*Jz(r,e){const t=(e==null?void 0:e.chunkSize)||Wz;let n=0;for(;n<r.size;){const i=n+t,o=await r.slice(n,i).arrayBuffer();n=i,yield o}}function FB(r,e){return qx?Xz(r,e):Kz(r)}async function*Xz(r,e){const t=r.getReader();let n;try{for(;;){const i=n||t.read();e!=null&&e._streamReadAhead&&(n=t.read());const{done:o,value:s}=await i;if(o)return;yield ZD(s)}}catch{t.releaseLock()}}async function*Kz(r,e){for await(const t of r)yield ZD(t)}function qz(r,e){if(typeof r=="string")return Hz(r,e);if(r instanceof ArrayBuffer)return $z(r,e);if(ch(r))return Jz(r,e);if(eO(r))return FB(r,e);if(ah(r))return FB(r.body,e);throw new Error("makeIterator")}const hO="Cannot convert supplied data type";function Yz(r,e,t){if(e.text&&typeof r=="string")return r;if(X5(r)&&(r=r.buffer),r instanceof ArrayBuffer){const n=r;return e.text&&!e.binary?new TextDecoder("utf8").decode(n):n}if(ArrayBuffer.isView(r)){if(e.text&&!e.binary)return new TextDecoder("utf8").decode(r);let n=r.buffer;const i=r.byteLength||r.length;return(r.byteOffset!==0||i!==n.byteLength)&&(n=n.slice(r.byteOffset,r.byteOffset+i)),n}throw new Error(hO)}async function Zz(r,e,t){const n=r instanceof ArrayBuffer||ArrayBuffer.isView(r);if(typeof r=="string"||n)return Yz(r,e);if(ch(r)&&(r=await rO(r)),ah(r)){const i=r;return await iz(i),e.binary?await i.arrayBuffer():await i.text()}if(eO(r)&&(r=qz(r,t)),W5(r)||J5(r))return z5(r);throw new Error(hO)}function dO(r,e){const t=aO(),n=r||t;return typeof n.fetch=="function"?n.fetch:bg(n.fetch)?i=>wB(i,n.fetch):e!=null&&e.fetch?e==null?void 0:e.fetch:wB}function Qz(r,e,t){if(t)return t;const n={fetch:dO(e,r),...r};if(n.url){const i=Zx(n.url);n.baseUrl=i,n.queryString=tz(n.url),n.filename=QD(i),n.baseUrl=j5(i)}return Array.isArray(n.loaders)||(n.loaders=null),n}function eG(r,e){if(r&&!Array.isArray(r))return r;let t;if(r&&(t=Array.isArray(r)?r:[r]),e&&e.loaders){const n=Array.isArray(e.loaders)?e.loaders:[e.loaders];t=t?[...t,...n]:n}return t&&t.length?t:void 0}async function Wm(r,e,t,n){e&&!Array.isArray(e)&&!nw(e)&&(n=void 0,t=e,e=void 0),r=await r,t=t||{};const i=sy(r),s=eG(e,n),c=await Dz(r,s,t);return c?(t=Ez(t,c,s,i),n=Qz({url:i,_parse:Wm,loaders:s},t,n||null),await tG(c,r,t,n)):null}async function tG(r,e,t,n){if(F5(r),t=b5(r.options,t),ah(e)){const o=e,{ok:s,redirected:c,status:f,statusText:y,type:b,url:B}=o,S=Object.fromEntries(o.headers.entries());n.response={headers:S,ok:s,redirected:c,status:f,statusText:y,type:b,url:B}}e=await Zz(e,r,t);const i=r;if(i.parseTextSync&&typeof e=="string")return i.parseTextSync(e,t,n);if(D5(r,t))return await O5(r,e,t,n,Wm);if(i.parseText&&typeof e=="string")return await i.parseText(e,t,n);if(i.parse)return await i.parse(e,t,n);throw Gu(!i.parseSync),new Error(`${r.id} loader - no parser found and worker is disabled`)}async function Q1(r,e,t,n){let i,o;!Array.isArray(e)&&!nw(e)?(i=[],o=e):(i=e,o=t);const s=dO(o);let c=r;return typeof r=="string"&&(c=await s(r)),ch(r)&&(c=await s(r)),Array.isArray(i)?await Wm(c,i,o):await Wm(c,i,o)}const rG="4.2.4";var ND;const nG=(ND=globalThis.loaders)==null?void 0:ND.parseImageNode,e2=typeof Image<"u",t2=typeof ImageBitmap<"u",iG=!!nG,r2=qx?!0:iG;function sG(r){switch(r){case"auto":return t2||e2||r2;case"imagebitmap":return t2;case"image":return e2;case"data":return r2;default:throw new Error(`@loaders.gl/images: image ${r} not supported in this environment`)}}function oG(){if(t2)return"imagebitmap";if(e2)return"image";if(r2)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function aG(r){const e=lG(r);if(!e)throw new Error("Not an image");return e}function cG(r){switch(aG(r)){case"data":return r;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=r.width,e.height=r.height,t.drawImage(r,0,0),t.getImageData(0,0,r.width,r.height);default:throw new Error("getImageData")}}function lG(r){return typeof ImageBitmap<"u"&&r instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&r instanceof Image?"image":r&&typeof r=="object"&&r.data&&r.width&&r.height?"data":null}const uG=/^data:image\/svg\+xml/,fG=/\.svg((\?|#).*)?$/;function sw(r){return r&&(uG.test(r)||fG.test(r))}function hG(r,e){if(sw(e)){let n=new TextDecoder().decode(r);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(o){throw new Error(o.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return AO(r,e)}function AO(r,e){if(sw(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(r)])}async function pO(r,e,t){const n=hG(r,t),i=self.URL||self.webkitURL,o=typeof n!="string"&&i.createObjectURL(n);try{return await dG(o||n,e)}finally{o&&i.revokeObjectURL(o)}}async function dG(r,e){const t=new Image;return t.src=r,e.image&&e.image.decode&&t.decode?(await t.decode(),t):await new Promise((n,i)=>{try{t.onload=()=>n(t),t.onerror=o=>{const s=o instanceof Error?o.message:"error";i(new Error(s))}}catch(o){i(o)}})}const AG={};let DB=!0;async function pG(r,e,t){let n;sw(t)?n=await pO(r,e,t):n=AO(r,t);const i=e&&e.imagebitmap;return await gG(n,i)}async function gG(r,e=null){if((mG(e)||!DB)&&(e=null),e)try{return await createImageBitmap(r,e)}catch(t){console.warn(t),DB=!1}return await createImageBitmap(r)}function mG(r){for(const e in r||AG)return!1;return!0}function _G(r){return!xG(r,"ftyp",4)||(r[8]&96)===0?null:yG(r)}function yG(r){switch(vG(r,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function vG(r,e,t){return String.fromCharCode(...r.slice(e,t))}function bG(r){return[...r].map(e=>e.charCodeAt(0))}function xG(r,e,t=0){const n=bG(e);for(let i=0;i<n.length;++i)if(n[i]!==r[i+t])return!1;return!0}const Xc=!1,zp=!0;function gO(r){const e=xg(r);return CG(e)||BG(e)||EG(e)||TG(e)||wG(e)}function wG(r){const e=new Uint8Array(r instanceof DataView?r.buffer:r),t=_G(e);return t?{mimeType:t.mimeType,width:0,height:0}:null}function CG(r){const e=xg(r);return e.byteLength>=24&&e.getUint32(0,Xc)===2303741511?{mimeType:"image/png",width:e.getUint32(16,Xc),height:e.getUint32(20,Xc)}:null}function EG(r){const e=xg(r);return e.byteLength>=10&&e.getUint32(0,Xc)===1195984440?{mimeType:"image/gif",width:e.getUint16(6,zp),height:e.getUint16(8,zp)}:null}function TG(r){const e=xg(r);return e.byteLength>=14&&e.getUint16(0,Xc)===16973&&e.getUint32(2,zp)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,zp),height:e.getUint32(22,zp)}:null}function BG(r){const e=xg(r);if(!(e.byteLength>=3&&e.getUint16(0,Xc)===65496&&e.getUint8(2)===255))return null;const{tableMarkers:n,sofMarkers:i}=SG();let o=2;for(;o+9<e.byteLength;){const s=e.getUint16(o,Xc);if(i.has(s))return{mimeType:"image/jpeg",height:e.getUint16(o+5,Xc),width:e.getUint16(o+7,Xc)};if(!n.has(s))return null;o+=2,o+=e.getUint16(o,Xc)}return null}function SG(){const r=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)r.add(t);return{tableMarkers:r,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function xg(r){if(r instanceof DataView)return r;if(ArrayBuffer.isView(r))return new DataView(r.buffer);if(r instanceof ArrayBuffer)return new DataView(r);throw new Error("toDataView")}async function IG(r,e){var i;const{mimeType:t}=gO(r)||{},n=(i=globalThis.loaders)==null?void 0:i.parseImageNode;return Hm(n),await n(r,t)}async function MG(r,e,t){e=e||{};const i=(e.image||{}).type||"auto",{url:o}=t||{},s=PG(i);let c;switch(s){case"imagebitmap":c=await pG(r,e,o);break;case"image":c=await pO(r,e,o);break;case"data":c=await IG(r);break;default:Hm(!1)}return i==="data"&&(c=cG(c)),c}function PG(r){switch(r){case"auto":case"data":return oG();default:return sG(r),r}}const RG=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],FG=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],DG={image:{type:"auto",decode:!0}},OG={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:rG,mimeTypes:FG,extensions:RG,parse:MG,tests:[r=>!!gO(new DataView(r))],options:DG},Wr=new WD({id:"deck"});let n2={};function LG(r){n2=r}function oo(r,e,t,n){Wr.level>0&&n2[r]&&n2[r].call(null,e,t,n)}function NG(r){const e=r[0],t=r[r.length-1];return e==="{"&&t==="}"||e==="["&&t==="]"}const kG={dataType:null,batchType:null,id:"JSON",name:"JSON",module:"",version:"",options:{},extensions:["json","geojson"],mimeTypes:["application/json","application/geo+json"],testText:NG,parseTextSync:JSON.parse};function UG(){const r="9.1.4",e=globalThis.deck&&globalThis.deck.VERSION;if(e&&e!==r)throw new Error(`deck.gl - multiple versions detected: ${e} vs ${r}`);return e||(Wr.log(1,`deck.gl ${r}`)(),globalThis.deck={...globalThis.deck,VERSION:r,version:r,log:Wr,_registerLoggers:LG},Mz([kG,[OG,{imagebitmap:{premultiplyAlpha:"none"}}]])),r}const zG=UG();function ow(r,e){if(!r)throw new Error(e||"shadertools: assertion failed.")}const Uv={number:{type:"number",validate(r,e){return Number.isFinite(r)&&typeof e=="object"&&(e.max===void 0||r<=e.max)&&(e.min===void 0||r>=e.min)}},array:{type:"array",validate(r,e){return Array.isArray(r)||ArrayBuffer.isView(r)}}};function GG(r){const e={};for(const[t,n]of Object.entries(r))e[t]=VG(n);return e}function VG(r){let e=OB(r);if(e!=="object")return{value:r,...Uv[e],type:e};if(typeof r=="object")return r?r.type!==void 0?{...r,...Uv[r.type],type:r.type}:r.value===void 0?{type:"object",value:r}:(e=OB(r.value),{...r,...Uv[e],type:e}):{type:"object",value:null};throw new Error("props")}function OB(r){return Array.isArray(r)||ArrayBuffer.isView(r)?"array":typeof r}const HG=`#ifdef MODULE_LOGDEPTH
|
7
7
|
logdepth_adjustPosition(gl_Position);
|
8
8
|
#endif
|
9
9
|
`,jG=`#ifdef MODULE_MATERIAL
|
@@ -2255,7 +2255,7 @@ License: MIT
|
|
2255
2255
|
`&&t!=="\r"&&t!==`\r
|
2256
2256
|
`&&(t=`
|
2257
2257
|
`);var y=0,b=!1;this.parse=function(B,S,O){if(typeof B!="string")throw new Error("Input must be a string");var k=B.length,z=e.length,J=t.length,G=n.length,j=uc(i);y=0;var K=[],fe=[],Q=[],oe=0;if(!B)return tt();if(s||s!==!1&&B.indexOf(c)===-1){for(var Be=B.split(t),ze=0;ze<Be.length;ze++){const mt=Be[ze];if(y+=mt.length,ze!==Be.length-1)y+=t.length;else if(O)return tt();if(!(n&&mt.substr(0,G)===n)){if(j){if(K=[],Ne(mt.split(e)),lt(),b)return tt()}else Ne(mt.split(e));if(o&&ze>=o)return K=K.slice(0,o),tt(!0)}}return tt()}for(var pe=B.indexOf(e,y),we=B.indexOf(t,y),Ae=new RegExp(hg(f)+hg(c),"g"),W;;){if(B[y]===c){for(W=y,y++;;){if(W=B.indexOf(c,W+1),W===-1)return O||fe.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:K.length,index:y}),Qe();if(W===k-1){var ne=B.substring(y,W).replace(Ae,c);return Qe(ne)}if(c===f&&B[W+1]===f){W++;continue}if(!(c!==f&&W!==0&&B[W-1]===f)){var Te=we===-1?pe:Math.min(pe,we),Ye=Ge(Te);if(B[W+1+Ye]===e){if(Q.push(B.substring(y,W).replace(Ae,c)),y=W+1+Ye+z,pe=B.indexOf(e,y),we=B.indexOf(t,y),j&&(lt(),b))return tt();if(o&&K.length>=o)return tt(!0);break}var Ce=Ge(we);if(B.substr(W+1+Ce,J)===t){if(Q.push(B.substring(y,W).replace(Ae,c)),rt(W+1+Ce+J),pe=B.indexOf(e,y),j&&(lt(),b))return tt();if(o&&K.length>=o)return tt(!0);break}fe.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:K.length,index:y}),W++}}if(j&&(lt(),b))return tt();if(o&&K.length>=o)return tt(!0);continue}if(n&&Q.length===0&&B.substr(y,G)===n){if(we===-1)return tt();y=we+J,we=B.indexOf(t,y),pe=B.indexOf(e,y);continue}if(pe!==-1&&(pe<we||we===-1)){Q.push(B.substring(y,pe)),y=pe+z,pe=B.indexOf(e,y);continue}if(we!==-1){if(Q.push(B.substring(y,we)),rt(we+J),j&&(lt(),b))return tt();if(o&&K.length>=o)return tt(!0);continue}break}return Qe();function Ne(mt){K.push(mt),oe=y}function Ge(mt){var Tt=0;if(mt!==-1){var nt=B.substring(W+1,mt);nt&&nt.trim()===""&&(Tt=nt.length)}return Tt}function Qe(mt){return O||(typeof mt>"u"&&(mt=B.substr(y)),Q.push(mt),y=k,Ne(Q),j&<()),tt()}function rt(mt){y=mt,Ne(Q),Q=[],we=B.indexOf(t,y)}function tt(mt,Tt){var nt=Tt||!1;return{data:nt?K[0]:K,errors:fe,meta:{delimiter:e,linebreak:t,aborted:b,truncated:!!mt,cursor:oe+(S||0)}}}function lt(){i(tt(void 0,!0)),K=[],fe=[]}},this.abort=function(){b=!0},this.getCharIndex=function(){return y}}function Z4(r){if(typeof r!="object"||r===null)return r;var e=Array.isArray(r)?[]:{};for(var t in r)e[t]=Z4(r[t]);return e}function uc(r){return typeof r=="function"}const Ta={parse:kte,unparse:Ute,RECORD_SEP:"",UNIT_SEP:"",BYTE_ORDER_MARK:N3,BAD_DELIMITERS:["\r",`
|
2258
|
-
`,'"',N3],WORKERS_SUPPORTED:!1,NODE_STREAM_INPUT:1,LocalChunkSize:1024*1024*10,RemoteChunkSize:1024*1024*5,DefaultDelimiter:",",Parser:sx,ParserHandle:Y4,ChunkStreamer:q4},{ChunkStreamer:jte}=Ta;class $te extends jte{constructor(t={}){super(t);V(this,"textDecoder",new TextDecoder(this._config.encoding))}async stream(t){this._input=t;try{for await(const n of t)this.parseChunk(this.getStringChunk(n));this._finished=!0,this.parseChunk("")}catch(n){this._sendError(n)}}_nextChunk(){}getStringChunk(t){return typeof t=="string"?t:this.textDecoder.decode(t,{stream:!0})}}const Wte="4.3.2",Kw="object-row-table",qw={dataType:null,batchType:null,id:"csv",module:"csv",name:"CSV",version:Wte,extensions:["csv","tsv","dsv"],mimeTypes:["text/csv","text/tab-separated-values","text/dsv"],category:"table",parse:async(r,e)=>k3(new TextDecoder().decode(r),e),parseText:(r,e)=>k3(r,e),parseInBatches:Jte,options:{csv:{shape:Kw,optimizeMemoryUsage:!1,header:"auto",columnPrefix:"column",quoteChar:'"',escapeChar:'"',dynamicTyping:!0,comments:!1,skipEmptyLines:!0,delimitersToGuess:[","," ","|",";"]}}};async function k3(r,e){const t={...qw.options.csv,...e==null?void 0:e.csv},n=Xte(r),o=t.header==="auto"?Q4(n):!!t.header,s={...t,header:o,download:!1,transformHeader:o?eL():void 0,error:B=>{throw new Error(B)}},c=Ta.parse(r,s),f=c.data,y=c.meta.fields||tL(t.columnPrefix,n.length),b=t.shape||Kw;switch(b){case"object-row-table":return{shape:"object-row-table",data:f.map(B=>Array.isArray(B)?X4(B,y):B)};case"array-row-table":return{shape:"array-row-table",data:f.map(B=>Array.isArray(B)?B:K4(B,y))};default:throw new Error(b)}}function Jte(r,e){e={...e},e.batchSize==="auto"&&(e.batchSize=4e3);const t={...qw.options.csv,...e==null?void 0:e.csv},n=new Nte;let i=!0,o=null,s=null,c=null;const f={...t,header:!1,download:!1,chunkSize:1024*1024*5,skipEmptyLines:!1,step(y){let b=y.data;if(t.skipEmptyLines&&b.flat().join("").trim()==="")return;const B=y.meta.cursor;if(i&&!o&&(t.header==="auto"?Q4(b):!!t.header)){o=b.map(eL());return}i&&(i=!1,o||(o=tL(t.columnPrefix,b.length)),c=Kte(b,o)),t.optimizeMemoryUsage&&(b=JSON.parse(JSON.stringify(b)));const S=t.shape||Kw;s=s||new ix(c,{shape:S,...e});try{s.addRow(b);const O=s&&s.getFullBatch({bytesUsed:B});O&&n.enqueue(O)}catch(O){n.enqueue(O)}},complete(y){try{const b=y.meta.cursor,B=s&&s.getFinalBatch({bytesUsed:b});B&&n.enqueue(B)}catch(b){n.enqueue(b)}n.close()}};return Ta.parse(r,f,$te),n}function Q4(r){return r&&r.every(e=>typeof e=="string")}function Xte(r){return Ta.parse(r,{dynamicTyping:!0,preview:1}).data[0]}function eL(){const r=new Set;return e=>{let t=e,n=1;for(;r.has(t);)t=`${e}.${n}`,n++;return r.add(t),t}}function tL(r,e=0){const t=[];for(let n=0;n<e;n++)t.push(`${r}${n+1}`);return t}function Kte(r,e){const t=e?{}:[];for(let n=0;n<r.length;n++){const i=e&&e[n]||n;switch(typeof r[n]){case"number":case"boolean":t[i]={name:String(i),index:n,type:Float32Array};break;case"string":default:t[i]={name:String(i),index:n,type:Array}}}return t}const qte="4.3.2";async function rL(r,e,t,n){return n._parse(r,e,t,n)}function th(r,e){if(!r)throw new Error("loader assertion failed.")}const nL=!!(typeof process!="object"||String(process)!=="[object process]"||process.browser),U3=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version);U3&&parseFloat(U3[1]);const j0=globalThis,vd=globalThis.process||{};function Yte(r){var n,i;if(typeof window<"u"&&((n=window.process)==null?void 0:n.type)==="renderer"||typeof process<"u"&&((i=process.versions)!=null&&i.electron))return!0;const t=typeof navigator<"u"&&navigator.userAgent;return!!(t&&t.indexOf("Electron")>=0)}function Yw(){return!(typeof process=="object"&&String(process)==="[object process]"&&!(process!=null&&process.browser))||Yte()}const iL="4.0.7";function Zte(r){try{const e=window[r],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch{return null}}class Qte{constructor(e,t,n="sessionStorage"){this.storage=Zte(n),this.id=e,this.config=t,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function ere(r){let e;return r<10?e=`${r.toFixed(2)}ms`:r<100?e=`${r.toFixed(1)}ms`:r<1e3?e=`${r.toFixed(0)}ms`:e=`${(r/1e3).toFixed(2)}s`,e}function tre(r,e=8){const t=Math.max(e-r.length,0);return`${" ".repeat(t)}${r}`}var __;(function(r){r[r.BLACK=30]="BLACK",r[r.RED=31]="RED",r[r.GREEN=32]="GREEN",r[r.YELLOW=33]="YELLOW",r[r.BLUE=34]="BLUE",r[r.MAGENTA=35]="MAGENTA",r[r.CYAN=36]="CYAN",r[r.WHITE=37]="WHITE",r[r.BRIGHT_BLACK=90]="BRIGHT_BLACK",r[r.BRIGHT_RED=91]="BRIGHT_RED",r[r.BRIGHT_GREEN=92]="BRIGHT_GREEN",r[r.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",r[r.BRIGHT_BLUE=94]="BRIGHT_BLUE",r[r.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",r[r.BRIGHT_CYAN=96]="BRIGHT_CYAN",r[r.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(__||(__={}));const rre=10;function z3(r){return typeof r!="string"?r:(r=r.toUpperCase(),__[r]||__.WHITE)}function nre(r,e,t){return!Yw&&typeof r=="string"&&(e&&(r=`\x1B[${z3(e)}m${r}\x1B[39m`),t&&(r=`\x1B[${z3(t)+rre}m${r}\x1B[49m`)),r}function ire(r,e=["constructor"]){const t=Object.getPrototypeOf(r),n=Object.getOwnPropertyNames(t),i=r;for(const o of n){const s=i[o];typeof s=="function"&&(e.find(c=>o===c)||(i[o]=s.bind(r)))}}function Zw(r,e){if(!r)throw new Error("Assertion failed")}function bd(){var e,t,n;let r;if(Yw()&&j0.performance)r=(t=(e=j0==null?void 0:j0.performance)==null?void 0:e.now)==null?void 0:t.call(e);else if("hrtime"in vd){const i=(n=vd==null?void 0:vd.hrtime)==null?void 0:n.call(vd);r=i[0]*1e3+i[1]/1e6}else r=Date.now();return r}const xd={debug:Yw()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},sre={enabled:!0,level:0};function wd(){}const G3={},V3={once:!0};class gy{constructor({id:e}={id:""}){this.VERSION=iL,this._startTs=bd(),this._deltaTs=bd(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=e,this.userData={},this._storage=new Qte(`__probe-${this.id}__`,sre),this.timeStamp(`${this.id} started`),ire(this),Object.seal(this)}set level(e){this.setLevel(e)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((bd()-this._startTs).toPrecision(10))}getDelta(){return Number((bd()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(e=!0){return this._storage.setConfiguration({enabled:e}),this}setLevel(e){return this._storage.setConfiguration({level:e}),this}get(e){return this._storage.config[e]}set(e,t){this._storage.setConfiguration({[e]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(e,t){if(!e)throw new Error(t||"Assertion failed")}warn(e){return this._getLogFunction(0,e,xd.warn,arguments,V3)}error(e){return this._getLogFunction(0,e,xd.error,arguments)}deprecated(e,t){return this.warn(`\`${e}\` is deprecated and will be removed in a later version. Use \`${t}\` instead`)}removed(e,t){return this.error(`\`${e}\` has been removed. Use \`${t}\` instead`)}probe(e,t){return this._getLogFunction(e,t,xd.log,arguments,{time:!0,once:!0})}log(e,t){return this._getLogFunction(e,t,xd.debug,arguments)}info(e,t){return this._getLogFunction(e,t,console.info,arguments)}once(e,t){return this._getLogFunction(e,t,xd.debug||xd.info,arguments,V3)}table(e,t,n){return t?this._getLogFunction(e,t,console.table||wd,n&&[n],{tag:are(t)}):wd}time(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}timeEnd(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(e,t){return this._getLogFunction(e,t,console.timeStamp||wd)}group(e,t,n={collapsed:!1}){const i=H3({logLevel:e,message:t,opts:n}),{collapsed:o}=n;return i.method=(o?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(e,t,n={}){return this.group(e,t,Object.assign({},n,{collapsed:!0}))}groupEnd(e){return this._getLogFunction(e,"",console.groupEnd||wd)}withGroup(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&this.getLevel()>=sL(e)}_getLogFunction(e,t,n,i,o){if(this._shouldLog(e)){o=H3({logLevel:e,message:t,args:i,opts:o}),n=n||o.method,Zw(n),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=bd();const s=o.tag||o.message;if(o.once&&s)if(!G3[s])G3[s]=bd();else return wd;return t=ore(this.id,o.message,o),n.bind(console,t,...o.args)}return wd}}gy.VERSION=iL;function sL(r){if(!r)return 0;let e;switch(typeof r){case"number":e=r;break;case"object":e=r.logLevel||r.priority||0;break;default:return 0}return Zw(Number.isFinite(e)&&e>=0),e}function H3(r){const{logLevel:e,message:t}=r;r.logLevel=sL(e);const n=r.args?Array.from(r.args):[];for(;n.length&&n.shift()!==t;);switch(typeof e){case"string":case"function":t!==void 0&&n.unshift(t),r.message=e;break;case"object":Object.assign(r,e);break}typeof r.message=="function"&&(r.message=r.message());const i=typeof r.message;return Zw(i==="string"||i==="object"),Object.assign(r,{args:n},r.opts)}function ore(r,e,t){if(typeof e=="string"){const n=t.time?tre(ere(t.total)):"";e=t.time?`${r}: ${n} ${e}`:`${r}: ${e}`,e=nre(e,t.color,t.background)}return e}function are(r){for(const e in r)for(const t in r[e])return t||"untitled";return"empty"}globalThis.probe={};const oL=new gy({id:"@probe.gl/log"});function cre(r){var e;globalThis.loaders||(globalThis.loaders={}),(e=globalThis.loaders).modules||(e.modules={}),Object.assign(globalThis.loaders.modules,r)}function lre(r){var t,n;return((n=(t=globalThis.loaders)==null?void 0:t.modules)==null?void 0:n[r])||null}function ure(){var r;return(r=globalThis._loadersgl_)!=null&&r.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.3.2"),globalThis._loadersgl_.version}const fre=ure();function hre(r,e){if(!r)throw new Error("loaders.gl assertion failed.")}const Eg=typeof process!="object"||String(process)!=="[object process]"||process.browser,Qw=typeof importScripts=="function",j3=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version);j3&&parseFloat(j3[1]);const bb={};async function Yf(r,e=null,t={},n=null){return e&&(r=dre(r,e,t,n)),bb[r]=bb[r]||Are(r),await bb[r]}function dre(r,e,t={},n=null){if(!t.useLocalLibraries&&r.startsWith("http"))return r;n=n||r;const i=t.modules||{};return i[n]?i[n]:Eg?t.CDN?(hre(t.CDN.startsWith("http")),`${t.CDN}/${e}@${fre}/dist/libs/${n}`):Qw?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}async function Are(r){if(r.endsWith("wasm"))return await gre(r);if(!Eg)try{const{requireFromFile:t}=globalThis.loaders||{};return await(t==null?void 0:t(r))}catch(t){return console.error(t),null}if(Qw)return importScripts(r);const e=await mre(r);return pre(e,r)}function pre(r,e){if(!Eg){const{requireFromString:n}=globalThis.loaders||{};return n==null?void 0:n(r,e)}if(Qw)return eval.call(globalThis,r),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(r))}catch{t.text=r}return document.body.appendChild(t),null}async function gre(r){const{readFileAsArrayBuffer:e}=globalThis.loaders||{};return Eg||!e||r.startsWith("http")?await(await fetch(r)).arrayBuffer():await e(r)}async function mre(r){const{readFileAsText:e}=globalThis.loaders||{};return Eg||!e||r.startsWith("http")?await(await fetch(r)).text():await e(r)}function _re(r,e=5){return typeof r=="string"?r.slice(0,e):ArrayBuffer.isView(r)?$3(r.buffer,r.byteOffset,e):r instanceof ArrayBuffer?$3(r,0,e):""}function $3(r,e,t){if(r.byteLength<=e+t)return"";const n=new DataView(r);let i="";for(let o=0;o<t;o++)i+=String.fromCharCode(n.getUint8(e+o));return i}function yre(r){try{return JSON.parse(r)}catch{throw new Error(`Failed to parse JSON from data starting with "${_re(r)}"`)}}function aL(r,e,t){const n=t!==void 0?new Uint8Array(r).subarray(e,e+t):new Uint8Array(r).subarray(e);return new Uint8Array(n).buffer}function Tg(r,e){return th(r>=0),th(e>0),r+(e-1)&-4}function vre(r,e,t){let n;if(r instanceof ArrayBuffer)n=new Uint8Array(r);else{const i=r.byteOffset,o=r.byteLength;n=new Uint8Array(r.buffer||r.arrayBuffer,i,o)}return e.set(n,t),t+Tg(n.byteLength,4)}function W3(){let r;if(typeof window<"u"&&window.performance)r=window.performance.now();else if(typeof process<"u"&&process.hrtime){const e=process.hrtime();r=e[0]*1e3+e[1]/1e6}else r=Date.now();return r}class J3{constructor(e,t){this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=e,this.type=t,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=W3(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(W3()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class cL{constructor(e){this.stats={},this.id=e.id,this.stats={},this._initializeStats(e.stats),Object.seal(this)}get(e,t="count"){return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(const e of Object.values(this.stats))e.reset();return this}forEach(e){for(const t of Object.values(this.stats))e(t)}getTable(){const e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(e=[]){e.forEach(t=>this._getOrCreate(t))}_getOrCreate(e){const{name:t,type:n}=e;let i=this.stats[t];return i||(e instanceof J3?i=e:i=new J3(t,n),this.stats[t]=i),i}}var kD;const bre=(kD=globalThis.loaders)==null?void 0:kD.parseImageNode,ox=typeof Image<"u",ax=typeof ImageBitmap<"u",xre=!!bre,cx=nL?!0:xre;function wre(r){switch(r){case"auto":return ax||ox||cx;case"imagebitmap":return ax;case"image":return ox;case"data":return cx;default:throw new Error(`@loaders.gl/images: image ${r} not supported in this environment`)}}function Cre(){if(ax)return"imagebitmap";if(ox)return"image";if(cx)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function Ere(r){const e=Tre(r);if(!e)throw new Error("Not an image");return e}function lL(r){switch(Ere(r)){case"data":return r;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=r.width,e.height=r.height,t.drawImage(r,0,0),t.getImageData(0,0,r.width,r.height);default:throw new Error("getImageData")}}function Tre(r){return typeof ImageBitmap<"u"&&r instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&r instanceof Image?"image":r&&typeof r=="object"&&r.data&&r.width&&r.height?"data":null}const Bre=/^data:image\/svg\+xml/,Sre=/\.svg((\?|#).*)?$/;function eC(r){return r&&(Bre.test(r)||Sre.test(r))}function Ire(r,e){if(eC(e)){let n=new TextDecoder().decode(r);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(o){throw new Error(o.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return uL(r,e)}function uL(r,e){if(eC(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(r)])}async function fL(r,e,t){const n=Ire(r,t),i=self.URL||self.webkitURL,o=typeof n!="string"&&i.createObjectURL(n);try{return await Mre(o||n,e)}finally{o&&i.revokeObjectURL(o)}}async function Mre(r,e){const t=new Image;return t.src=r,e.image&&e.image.decode&&t.decode?(await t.decode(),t):await new Promise((n,i)=>{try{t.onload=()=>n(t),t.onerror=o=>{const s=o instanceof Error?o.message:"error";i(new Error(s))}}catch(o){i(o)}})}const Pre={};let X3=!0;async function Rre(r,e,t){let n;eC(t)?n=await fL(r,e,t):n=uL(r,t);const i=e&&e.imagebitmap;return await Fre(n,i)}async function Fre(r,e=null){if((Dre(e)||!X3)&&(e=null),e)try{return await createImageBitmap(r,e)}catch(t){console.warn(t),X3=!1}return await createImageBitmap(r)}function Dre(r){for(const e in r||Pre)return!1;return!0}function Ore(r){return!Ure(r,"ftyp",4)||!(r[8]&96)?null:Lre(r)}function Lre(r){switch(Nre(r,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function Nre(r,e,t){return String.fromCharCode(...r.slice(e,t))}function kre(r){return[...r].map(e=>e.charCodeAt(0))}function Ure(r,e,t=0){const n=kre(e);for(let i=0;i<n.length;++i)if(n[i]!==r[i+t])return!1;return!0}const Kc=!1,Kp=!0;function tC(r){const e=Bg(r);return Gre(e)||jre(e)||Vre(e)||Hre(e)||zre(e)}function zre(r){const e=new Uint8Array(r instanceof DataView?r.buffer:r),t=Ore(e);return t?{mimeType:t.mimeType,width:0,height:0}:null}function Gre(r){const e=Bg(r);return e.byteLength>=24&&e.getUint32(0,Kc)===2303741511?{mimeType:"image/png",width:e.getUint32(16,Kc),height:e.getUint32(20,Kc)}:null}function Vre(r){const e=Bg(r);return e.byteLength>=10&&e.getUint32(0,Kc)===1195984440?{mimeType:"image/gif",width:e.getUint16(6,Kp),height:e.getUint16(8,Kp)}:null}function Hre(r){const e=Bg(r);return e.byteLength>=14&&e.getUint16(0,Kc)===16973&&e.getUint32(2,Kp)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,Kp),height:e.getUint32(22,Kp)}:null}function jre(r){const e=Bg(r);if(!(e.byteLength>=3&&e.getUint16(0,Kc)===65496&&e.getUint8(2)===255))return null;const{tableMarkers:n,sofMarkers:i}=$re();let o=2;for(;o+9<e.byteLength;){const s=e.getUint16(o,Kc);if(i.has(s))return{mimeType:"image/jpeg",height:e.getUint16(o+5,Kc),width:e.getUint16(o+7,Kc)};if(!n.has(s))return null;o+=2,o+=e.getUint16(o,Kc)}return null}function $re(){const r=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)r.add(t);return{tableMarkers:r,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function Bg(r){if(r instanceof DataView)return r;if(ArrayBuffer.isView(r))return new DataView(r.buffer);if(r instanceof ArrayBuffer)return new DataView(r);throw new Error("toDataView")}async function Wre(r,e){var i;const{mimeType:t}=tC(r)||{},n=(i=globalThis.loaders)==null?void 0:i.parseImageNode;return th(n),await n(r,t)}async function Jre(r,e,t){e=e||{};const i=(e.image||{}).type||"auto",{url:o}=t||{},s=Xre(i);let c;switch(s){case"imagebitmap":c=await Rre(r,e,o);break;case"image":c=await fL(r,e,o);break;case"data":c=await Wre(r);break;default:th(!1)}return i==="data"&&(c=lL(c)),c}function Xre(r){switch(r){case"auto":case"data":return Cre();default:return wre(r),r}}const Kre=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],qre=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],Yre={image:{type:"auto",decode:!0}},Zre={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:qte,mimeTypes:qre,extensions:Kre,parse:Jre,tests:[r=>!!tC(new DataView(r))],options:Yre},xb={};function Qre(r){if(xb[r]===void 0){const e=nL?tne(r):ene(r);xb[r]=e}return xb[r]}function ene(r){var i,o;const e=["image/png","image/jpeg","image/gif"],t=((i=globalThis.loaders)==null?void 0:i.imageFormatsNode)||e;return!!((o=globalThis.loaders)==null?void 0:o.parseImageNode)&&t.includes(r)}function tne(r){switch(r){case"image/avif":case"image/webp":return rne(r);default:return!0}}function rne(r){try{return document.createElement("canvas").toDataURL(r).indexOf(`data:${r}`)===0}catch{return!1}}function Ba(r,e){if(!r)throw new Error(e||"assert failed: gltf")}const hL={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},dL={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},K3=["SCALAR","VEC2","VEC3","VEC4"],nne=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],ine=new Map(nne),sne={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},one={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},ane={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function AL(r){return K3[r-1]||K3[0]}function my(r){const e=ine.get(r.constructor);if(!e)throw new Error("Illegal typed array");return e}function pL(r,e){const t=ane[r.componentType],n=sne[r.type],i=one[r.componentType],o=r.count*n,s=r.count*n*i;Ba(s>=0&&s<=e.byteLength);const c=dL[r.componentType],f=hL[r.type];return{ArrayType:t,length:o,byteLength:s,componentByteSize:c,numberOfComponentsInElement:f}}function cne(r,e,t){const n=r.bufferViews[t];Ba(n);const i=n.buffer,o=e[i];Ba(o);const s=(n.byteOffset||0)+o.byteOffset;return new Uint8Array(o.arrayBuffer,s,n.byteLength)}function lne(r,e,t){var z,J;const n=typeof t=="number"?(z=r.accessors)==null?void 0:z[t]:t;if(!n)throw new Error(`No gltf accessor ${JSON.stringify(t)}`);const i=(J=r.bufferViews)==null?void 0:J[n.bufferView||0];if(!i)throw new Error(`No gltf buffer view for accessor ${i}`);const{arrayBuffer:o,byteOffset:s}=e[i.buffer],c=(s||0)+(n.byteOffset||0)+(i.byteOffset||0),{ArrayType:f,length:y,componentByteSize:b,numberOfComponentsInElement:B}=pL(n,i),S=b*B,O=i.byteStride||S;if(typeof i.byteStride>"u"||i.byteStride===S)return new f(o,c,y);const k=new f(y);for(let G=0;G<n.count;G++){const j=new f(o,c+G*O,B);k.set(j,G*B)}return k}function une(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}let Ms=class{constructor(e){V(this,"gltf");V(this,"sourceBuffers");V(this,"byteLength");this.gltf={json:(e==null?void 0:e.json)||une(),buffers:(e==null?void 0:e.buffers)||[],images:(e==null?void 0:e.images)||[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}hasExtension(e){const t=this.getUsedExtensions().find(i=>i===e),n=this.getRequiredExtensions().find(i=>i===e);return typeof t=="string"||typeof n=="string"}getExtension(e){const t=this.getUsedExtensions().find(i=>i===e),n=this.json.extensions||{};return t?n[e]:null}getRequiredExtension(e){return this.getRequiredExtensions().find(n=>n===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getRemovedExtensions(){return this.json.extensionsRemoved||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if(typeof t=="object")return t;const n=this.json[e]&&this.json[e][t];if(!n)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return n}getTypedArrayForBufferView(e){e=this.getBufferView(e);const t=e.buffer,n=this.gltf.buffers[t];Ba(n);const i=(e.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,i,e.byteLength)}getTypedArrayForAccessor(e){const t=this.getAccessor(e);return lne(this.gltf.json,this.gltf.buffers,t)}getTypedArrayForImageData(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),i=this.getBuffer(t.buffer).data,o=t.byteOffset||0;return new Uint8Array(i,o,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,n){return e.extensions=e.extensions||{},e.extensions[t]=n,this.registerUsedExtension(t),this}setObjectExtension(e,t,n){const i=e.extensions||{};i[t]=n}removeObjectExtension(e,t){const n=(e==null?void 0:e.extensions)||{};if(n[t]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];const i=this.json.extensionsRemoved;i.includes(t)||i.push(t)}delete n[t]}addExtension(e,t={}){return Ba(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return Ba(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){var t;if((t=this.json.extensions)!=null&&t[e]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];const n=this.json.extensionsRemoved;n.includes(e)||n.push(e)}this.json.extensions&&delete this.json.extensions[e],this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e)}setDefaultScene(e){this.json.scene=e}addScene(e){const{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){const{meshIndex:t,matrix:n}=e;this.json.nodes=this.json.nodes||[];const i={mesh:t};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}addMesh(e){const{attributes:t,indices:n,material:i,mode:o=4}=e,c={primitives:[{attributes:this._addAttributes(t),mode:o}]};if(n){const f=this._addIndices(n);c.primitives[0].indices=f}return Number.isFinite(i)&&(c.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(c),this.json.meshes.length-1}addPointCloud(e){const n={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(n),this.json.meshes.length-1}addImage(e,t){const n=tC(e),i=t||(n==null?void 0:n.mimeType),s={bufferView:this.addBufferView(e),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(s),this.json.images.length-1}addBufferView(e,t=0,n=this.byteLength){const i=e.byteLength;Ba(Number.isFinite(i)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);const o={buffer:t,byteOffset:n,byteLength:i};return this.byteLength+=Tg(i,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(o),this.json.bufferViews.length-1}addAccessor(e,t){const n={bufferView:e,type:AL(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){const n=this.addBufferView(e);let i={min:t.min,max:t.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(e,t.size));const o={size:t.size,componentType:my(e),count:Math.round(e.length/t.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(o,t))}addTexture(e){const{imageIndex:t}=e,n={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var o,s;const e=this.byteLength,t=new ArrayBuffer(e),n=new Uint8Array(t);let i=0;for(const c of this.sourceBuffers||[])i=vre(c,n,i);(s=(o=this.json)==null?void 0:o.buffers)!=null&&s[0]?this.json.buffers[0].byteLength=e:this.json.buffers=[{byteLength:e}],this.gltf.binary=t,this.sourceBuffers=[t],this.gltf.buffers=[{arrayBuffer:t,byteOffset:0,byteLength:t.byteLength}]}_removeStringFromArray(e,t){let n=!0;for(;n;){const i=e.indexOf(t);i>-1?e.splice(i,1):n=!1}}_addAttributes(e={}){const t={};for(const n in e){const i=e[n],o=this._getGltfAttributeName(n),s=this.addBinaryBuffer(i.value,i);t[o]=s}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){const n={min:null,max:null};if(e.length<t)return n;n.min=[],n.max=[];const i=e.subarray(0,t);for(const o of i)n.min.push(o),n.max.push(o);for(let o=t;o<e.length;o+=t)for(let s=0;s<t;s++)n.min[0+s]=Math.min(n.min[0+s],e[o+s]),n.max[0+s]=Math.max(n.max[0+s],e[o+s]);return n}};function q3(r){return(r%1+1)%1}const gL={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},fne={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},mL={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function rC(r,e){return mL[e]*gL[r]}function _y(r,e,t,n){if(t!=="UINT8"&&t!=="UINT16"&&t!=="UINT32"&&t!=="UINT64")return null;const i=r.getTypedArrayForBufferView(e),o=yy(i,"SCALAR",t,n+1);return o instanceof BigInt64Array||o instanceof BigUint64Array?null:o}function yy(r,e,t,n=1){const i=gL[e],o=fne[t],s=mL[t],c=n*i,f=c*s;let y=r.buffer,b=r.byteOffset;return b%s!==0&&(y=new Uint8Array(y).slice(b,b+f).buffer,b=0),new o(y,b,c)}function nC(r,e,t){var y,b,B,S,O;const n=`TEXCOORD_${e.texCoord||0}`,i=t.attributes[n],o=r.getTypedArrayForAccessor(i),s=r.gltf.json,c=e.index,f=(b=(y=s.textures)==null?void 0:y[c])==null?void 0:b.source;if(typeof f<"u"){const k=(S=(B=s.images)==null?void 0:B[f])==null?void 0:S.mimeType,z=(O=r.gltf.images)==null?void 0:O[f];if(z&&typeof z.width<"u"){const J=[];for(let G=0;G<o.length;G+=2){const j=hne(z,k,o,G,e.channels);J.push(j)}return J}}return[]}function _L(r,e,t,n,i){if(!(t!=null&&t.length))return;const o=[];for(const b of t){let B=n.findIndex(S=>S===b);B===-1&&(B=n.push(b)-1),o.push(B)}const s=new Uint32Array(o),c=r.gltf.buffers.push({arrayBuffer:s.buffer,byteOffset:s.byteOffset,byteLength:s.byteLength})-1,f=r.addBufferView(s,c,0),y=r.addAccessor(f,{size:1,componentType:my(s),count:s.length});i.attributes[e]=y}function hne(r,e,t,n,i=[0]){const o={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},s=t[n],c=t[n+1];let f=1;e&&(e.indexOf("image/jpeg")!==-1||e.indexOf("image/png")!==-1)&&(f=4);const y=dne(s,c,r,f);let b=0;for(const B of i){const S=typeof B=="number"?Object.values(o)[B]:o[B],O=y+S.offset,k=lL(r);if(k.data.length<=O)throw new Error(`${k.data.length} <= ${O}`);const z=k.data[O];b|=z<<S.shift}return b}function dne(r,e,t,n=1){const i=t.width,o=q3(r)*(i-1),s=Math.round(o),c=t.height,f=q3(e)*(c-1),y=Math.round(f),b=t.components?t.components:n;return(y*i+s)*b}function yL(r,e,t,n,i){const o=[];for(let s=0;s<e;s++){const c=t[s],f=t[s+1]-t[s];if(f+c>n)break;const y=c/i,b=f/i;o.push(r.slice(y,y+b))}return o}function vL(r,e,t){const n=[];for(let i=0;i<e;i++){const o=i*t;n.push(r.slice(o,o+t))}return n}function bL(r,e,t,n){if(t)throw new Error("Not implemented - arrayOffsets for strings is specified");if(n){const i=[],o=new TextDecoder("utf8");let s=0;for(let c=0;c<r;c++){const f=n[c+1]-n[c];if(f+s<=e.length){const y=e.subarray(s,f+s),b=o.decode(y);i.push(b),s+=f}}return i}return[]}const uA="EXT_mesh_features",Ane=uA;async function pne(r,e){const t=new Ms(r);mne(t,e)}function gne(r,e){const t=new Ms(r);return yne(t),t.createBinaryChunk(),t.gltf}function mne(r,e){const t=r.gltf.json;if(t.meshes)for(const n of t.meshes)for(const i of n.primitives)_ne(r,i,e)}function _ne(r,e,t){var o,s,c;if(!((o=t==null?void 0:t.gltf)!=null&&o.loadBuffers))return;const n=(s=e.extensions)==null?void 0:s[uA],i=n==null?void 0:n.featureIds;if(i)for(const f of i){let y;if(typeof f.attribute<"u"){const b=`_FEATURE_ID_${f.attribute}`,B=e.attributes[b];y=r.getTypedArrayForAccessor(B)}else typeof f.texture<"u"&&((c=t==null?void 0:t.gltf)!=null&&c.loadImages)?y=nC(r,f.texture,e):y=[];f.data=y}}function yne(r,e){const t=r.gltf.json.meshes;if(t)for(const n of t)for(const i of n.primitives)bne(r,i)}function vne(r,e,t,n){e.extensions||(e.extensions={});let i=e.extensions[uA];i||(i={featureIds:[]},e.extensions[uA]=i);const{featureIds:o}=i,s={featureCount:t.length,propertyTable:n,data:t};o.push(s),r.addObjectExtension(e,uA,i)}function bne(r,e){var i;const t=(i=e.extensions)==null?void 0:i[uA];if(!t)return;const n=t.featureIds;n.forEach((o,s)=>{if(o.data){const{accessorKey:c,index:f}=xne(e.attributes),y=new Uint32Array(o.data);n[s]={featureCount:y.length,propertyTable:o.propertyTable,attribute:f},r.gltf.buffers.push({arrayBuffer:y.buffer,byteOffset:y.byteOffset,byteLength:y.byteLength});const b=r.addBufferView(y),B=r.addAccessor(b,{size:1,componentType:my(y),count:y.length});e.attributes[c]=B}})}function xne(r){const e="_FEATURE_ID_",t=Object.keys(r).filter(o=>o.indexOf(e)===0);let n=-1;for(const o of t){const s=Number(o.substring(e.length));s>n&&(n=s)}return n++,{accessorKey:`${e}${n}`,index:n}}const wne=Object.freeze(Object.defineProperty({__proto__:null,createExtMeshFeatures:vne,decode:pne,encode:gne,name:Ane},Symbol.toStringTag,{value:"Module"})),CA="EXT_structural_metadata",Cne=CA;async function Ene(r,e){const t=new Ms(r);Bne(t,e)}function Tne(r,e){const t=new Ms(r);return Hne(t),t.createBinaryChunk(),t.gltf}function Bne(r,e){var n,i;if(!((n=e.gltf)!=null&&n.loadBuffers))return;const t=r.getExtension(CA);t&&((i=e.gltf)!=null&&i.loadImages&&Sne(r,t),Ine(r,t))}function Sne(r,e){const t=e.propertyTextures,n=r.gltf.json;if(t&&n.meshes)for(const i of n.meshes)for(const o of i.primitives)Pne(r,t,o,e)}function Ine(r,e){const t=e.schema;if(!t)return;const n=t.classes,i=e.propertyTables;if(n&&i)for(const o in n){const s=Mne(i,o);s&&Fne(r,t,s)}}function Mne(r,e){for(const t of r)if(t.class===e)return t;return null}function Pne(r,e,t,n){var s;if(!e)return;const i=(s=t.extensions)==null?void 0:s[CA],o=i==null?void 0:i.propertyTextures;if(o)for(const c of o){const f=e[c];Rne(r,f,t,n)}}function Rne(r,e,t,n){var o;if(!e.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);const i=e.class;for(const s in e.properties){const c=`${i}_${s}`,f=(o=e.properties)==null?void 0:o[s];if(!f)continue;f.data||(f.data=[]);const y=f.data,b=nC(r,f,t);b!==null&&(_L(r,c,b,y,t),f.data=y,n.dataAttributeNames.push(c))}}function Fne(r,e,t){var o,s;const n=(o=e.classes)==null?void 0:o[t.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${t.class}`);const i=t.count;for(const c in n.properties){const f=n.properties[c],y=(s=t.properties)==null?void 0:s[c];if(y){const b=Dne(r,e,f,i,y);y.data=b}}}function Dne(r,e,t,n,i){let o=[];const s=i.values,c=r.getTypedArrayForBufferView(s),f=One(r,t,i,n),y=Lne(r,i,n);switch(t.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{o=Nne(t,n,c,f);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${t.type}`);case"STRING":{o=bL(n,c,f,y);break}case"ENUM":{o=kne(e,t,n,c,f);break}default:throw new Error(`Unknown classProperty type ${t.type}`)}return o}function One(r,e,t,n){return e.array&&typeof e.count>"u"&&typeof t.arrayOffsets<"u"?_y(r,t.arrayOffsets,t.arrayOffsetType||"UINT32",n):null}function Lne(r,e,t){return typeof e.stringOffsets<"u"?_y(r,e.stringOffsets,e.stringOffsetType||"UINT32",t):null}function Nne(r,e,t,n){const i=r.array,o=r.count,s=rC(r.type,r.componentType),c=t.byteLength/s;let f;return r.componentType?f=yy(t,r.type,r.componentType,c):f=t,i?n?yL(f,e,n,t.length,s):o?vL(f,e,o):[]:f}function kne(r,e,t,n,i){var B;const o=e.enumType;if(!o)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");const s=(B=r.enums)==null?void 0:B[o];if(!s)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${o}`);const c=s.valueType||"UINT16",f=rC(e.type,c),y=n.byteLength/f;let b=yy(n,e.type,c,y);if(b||(b=n),e.array){if(i)return Une({valuesData:b,numberOfElements:t,arrayOffsets:i,valuesDataBytesLength:n.length,elementSize:f,enumEntry:s});const S=e.count;return S?zne(b,t,S,s):[]}return iC(b,0,t,s)}function Une(r){const{valuesData:e,numberOfElements:t,arrayOffsets:n,valuesDataBytesLength:i,elementSize:o,enumEntry:s}=r,c=[];for(let f=0;f<t;f++){const y=n[f],b=n[f+1]-n[f];if(b+y>i)break;const B=y/o,S=b/o,O=iC(e,B,S,s);c.push(O)}return c}function zne(r,e,t,n){const i=[];for(let o=0;o<e;o++){const s=t*o,c=iC(r,s,t,n);i.push(c)}return i}function iC(r,e,t,n){const i=[];for(let o=0;o<t;o++)if(r instanceof BigInt64Array||r instanceof BigUint64Array)i.push("");else{const s=r[e+o],c=Gne(n,s);c?i.push(c.name):i.push("")}return i}function Gne(r,e){for(const t of r.values)if(t.value===e)return t;return null}const Vne="schemaClassId";function Hne(r,e){var n,i;const t=r.getExtension(CA);if(t&&t.propertyTables)for(const o of t.propertyTables){const s=o.class,c=(i=(n=t.schema)==null?void 0:n.classes)==null?void 0:i[s];o.properties&&c&&jne(o,c,r)}}function jne(r,e,t){for(const n in r.properties){const i=r.properties[n].data;if(i){const o=e.properties[n];if(o){const s=Xne(i,o,t);r.properties[n]=s}}}}function $ne(r,e,t=Vne){let n=r.getExtension(CA);n||(n=r.addExtension(CA)),n.schema=Wne(e,t,n.schema);const i=Jne(e,t,n.schema);return n.propertyTables||(n.propertyTables=[]),n.propertyTables.push(i)-1}function Wne(r,e,t){const n=t??{id:"schema_id"},i={properties:{}};for(const o of r){const s={type:o.elementType,componentType:o.componentType};i.properties[o.name]=s}return n.classes={},n.classes[e]=i,n}function Jne(r,e,t){var s;const n={class:e,count:0};let i=0;const o=(s=t.classes)==null?void 0:s[e];for(const c of r){if(i===0&&(i=c.values.length),i!==c.values.length&&c.values.length)throw new Error("Illegal values in attributes");(o==null?void 0:o.properties[c.name])&&(n.properties||(n.properties={}),n.properties[c.name]={values:0,data:c.values})}return n.count=i,n}function Xne(r,e,t){const n={values:0};if(e.type==="STRING"){const{stringData:i,stringOffsets:o}=Yne(r);n.stringOffsets=wb(o,t),n.values=wb(i,t)}else if(e.type==="SCALAR"&&e.componentType){const i=qne(r,e.componentType);n.values=wb(i,t)}return n}const Kne={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:Int32Array,UINT64:Uint32Array,FLOAT32:Float32Array,FLOAT64:Float64Array};function qne(r,e){const t=[];for(const i of r)t.push(Number(i));const n=Kne[e];if(!n)throw new Error("Illegal component type");return new n(t)}function Yne(r){const e=new TextEncoder,t=[];let n=0;for(const f of r){const y=e.encode(f);n+=y.length,t.push(y)}const i=new Uint8Array(n),o=[];let s=0;for(const f of t)i.set(f,s),o.push(s),s+=f.length;o.push(s);const c=new Uint32Array(o);return{stringData:i,stringOffsets:c}}function wb(r,e){return e.gltf.buffers.push({arrayBuffer:r.buffer,byteOffset:r.byteOffset,byteLength:r.byteLength}),e.addBufferView(r)}const Zne=Object.freeze(Object.defineProperty({__proto__:null,createExtStructuralMetadata:$ne,decode:Ene,encode:Tne,name:Cne},Symbol.toStringTag,{value:"Module"})),xL="EXT_feature_metadata",Qne=xL;async function eie(r,e){const t=new Ms(r);tie(t,e)}function tie(r,e){var n,i;if(!((n=e.gltf)!=null&&n.loadBuffers))return;const t=r.getExtension(xL);t&&((i=e.gltf)!=null&&i.loadImages&&rie(r,t),nie(r,t))}function rie(r,e){const t=e.schema;if(!t)return;const n=t.classes,{featureTextures:i}=e;if(n&&i)for(const o in n){const s=n[o],c=sie(i,o);c&&aie(r,c,s)}}function nie(r,e){const t=e.schema;if(!t)return;const n=t.classes,i=e.featureTables;if(n&&i)for(const o in n){const s=iie(i,o);s&&oie(r,t,s)}}function iie(r,e){for(const t in r){const n=r[t];if(n.class===e)return n}return null}function sie(r,e){for(const t in r){const n=r[t];if(n.class===e)return n}return null}function oie(r,e,t){var o,s;if(!t.class)return;const n=(o=e.classes)==null?void 0:o[t.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${t.class}`);const i=t.count;for(const c in n.properties){const f=n.properties[c],y=(s=t.properties)==null?void 0:s[c];if(y){const b=cie(r,e,f,i,y);y.data=b}}}function aie(r,e,t){var i;const n=e.class;for(const o in t.properties){const s=(i=e==null?void 0:e.properties)==null?void 0:i[o];if(s){const c=die(r,s,n);s.data=c}}}function cie(r,e,t,n,i){let o=[];const s=i.bufferView,c=r.getTypedArrayForBufferView(s),f=lie(r,t,i,n),y=uie(r,t,i,n);return t.type==="STRING"||t.componentType==="STRING"?o=bL(n,c,f,y):fie(t)&&(o=hie(t,n,c,f)),o}function lie(r,e,t,n){return e.type==="ARRAY"&&typeof e.componentCount>"u"&&typeof t.arrayOffsetBufferView<"u"?_y(r,t.arrayOffsetBufferView,t.offsetType||"UINT32",n):null}function uie(r,e,t,n){return typeof t.stringOffsetBufferView<"u"?_y(r,t.stringOffsetBufferView,t.offsetType||"UINT32",n):null}function fie(r){const e=["UINT8","INT16","UINT16","INT32","UINT32","INT64","UINT64","FLOAT32","FLOAT64"];return e.includes(r.type)||typeof r.componentType<"u"&&e.includes(r.componentType)}function hie(r,e,t,n){const i=r.type==="ARRAY",o=r.componentCount,s="SCALAR",c=r.componentType||r.type,f=rC(s,c),y=t.byteLength/f,b=yy(t,s,c,y);return i?n?yL(b,e,n,t.length,f):o?vL(b,e,o):[]:b}function die(r,e,t){const n=r.gltf.json;if(!n.meshes)return[];const i=[];for(const o of n.meshes)for(const s of o.primitives)Aie(r,t,e,i,s);return i}function Aie(r,e,t,n,i){const o={channels:t.channels,...t.texture},s=nC(r,o,i);s&&_L(r,e,s,n,i)}const pie=Object.freeze(Object.defineProperty({__proto__:null,decode:eie,name:Qne},Symbol.toStringTag,{value:"Module"})),gie="4.3.2",mie="4.3.2",y_={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"};let Y3;async function Z3(r){cre(r.modules);const e=lre("basis");return e||(Y3||(Y3=_ie(r)),await Y3)}async function _ie(r){let e=null,t=null;return[e,t]=await Promise.all([await Yf(y_.TRANSCODER,"textures",r),await Yf(y_.TRANSCODER_WASM,"textures",r)]),e=e||globalThis.BASIS,await yie(e,t)}function yie(r,e){const t={};return e&&(t.wasmBinary=e),new Promise(n=>{r(t).then(i=>{const{BasisFile:o,initializeBasis:s}=i;s(),n({BasisFile:o})})})}let Cb;async function Q3(r){const e=r.modules||{};return e.basisEncoder?e.basisEncoder:(Cb=Cb||vie(r),await Cb)}async function vie(r){let e=null,t=null;return[e,t]=await Promise.all([await Yf(y_.ENCODER,"textures",r),await Yf(y_.ENCODER_WASM,"textures",r)]),e=e||globalThis.BASIS,await bie(e,t)}function bie(r,e){const t={};return e&&(t.wasmBinary=e),new Promise(n=>{r(t).then(i=>{const{BasisFile:o,KTX2File:s,initializeBasis:c,BasisEncoder:f}=i;c(),n({BasisFile:o,KTX2File:s,BasisEncoder:f})})})}const Cd={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGBA_ASTC_4X4_KHR:37808},xie=["","WEBKIT_","MOZ_"],eM={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"};let $0=null;function wie(r){if(!$0){r=r||Cie()||void 0,$0=new Set;for(const e of xie)for(const t in eM)if(r&&r.getExtension(`${e}${t}`)){const n=eM[t];$0.add(n)}}return $0}function Cie(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}const Qo=[171,75,84,88,32,50,48,187,13,10,26,10];function Eie(r){const e=new Uint8Array(r);return!(e.byteLength<Qo.length||e[0]!==Qo[0]||e[1]!==Qo[1]||e[2]!==Qo[2]||e[3]!==Qo[3]||e[4]!==Qo[4]||e[5]!==Qo[5]||e[6]!==Qo[6]||e[7]!==Qo[7]||e[8]!==Qo[8]||e[9]!==Qo[9]||e[10]!==Qo[10]||e[11]!==Qo[11])}const Tie={etc1:{basisFormat:0,compressed:!0,format:Cd.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:Cd.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:Cd.COMPRESSED_RGBA_S3TC_DXT5_EXT},bc4:{basisFormat:4,compressed:!0},bc5:{basisFormat:5,compressed:!0},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0},"bc7-m5":{basisFormat:7,compressed:!0},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:Cd.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:Cd.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:Cd.COMPRESSED_RGBA_ASTC_4X4_KHR},"atc-rgb":{basisFormat:11,compressed:!0},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0},rgba32:{basisFormat:13,compressed:!1},rgb565:{basisFormat:14,compressed:!1},bgr565:{basisFormat:15,compressed:!1},rgba4444:{basisFormat:16,compressed:!1}};async function Bie(r,e){if(e.basis.containerFormat==="auto"){if(Eie(r)){const n=await Q3(e);return tM(n.KTX2File,r,e)}const{BasisFile:t}=await Z3(e);return Eb(t,r,e)}switch(e.basis.module){case"encoder":const t=await Q3(e);switch(e.basis.containerFormat){case"ktx2":return tM(t.KTX2File,r,e);case"basis":default:return Eb(t.BasisFile,r,e)}case"transcoder":default:const{BasisFile:n}=await Z3(e);return Eb(n,r,e)}}function Eb(r,e,t){const n=new r(new Uint8Array(e));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");const i=n.getNumImages(),o=[];for(let s=0;s<i;s++){const c=n.getNumLevels(s),f=[];for(let y=0;y<c;y++)f.push(Sie(n,s,y,t));o.push(f)}return o}finally{n.close(),n.delete()}}function Sie(r,e,t,n){const i=r.getImageWidth(e,t),o=r.getImageHeight(e,t),s=r.getHasAlpha(),{compressed:c,format:f,basisFormat:y}=wL(n,s),b=r.getImageTranscodedSizeInBytes(e,t,y),B=new Uint8Array(b);if(!r.transcodeImage(B,e,t,y,0,0))throw new Error("failed to start Basis transcoding");return{width:i,height:o,data:B,compressed:c,format:f,hasAlpha:s}}function tM(r,e,t){const n=new r(new Uint8Array(e));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");const i=n.getLevels(),o=[];for(let s=0;s<i;s++)o.push(Iie(n,s,t));return[o]}finally{n.close(),n.delete()}}function Iie(r,e,t){const{alphaFlag:n,height:i,width:o}=r.getImageLevelInfo(e,0,0),{compressed:s,format:c,basisFormat:f}=wL(t,n),y=r.getImageTranscodedSizeInBytes(e,0,0,f),b=new Uint8Array(y);if(!r.transcodeImage(b,e,0,0,f,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:o,height:i,data:b,compressed:s,levelSize:y,hasAlpha:n,format:c}}function wL(r,e){let t=r&&r.basis&&r.basis.format;return t==="auto"&&(t=CL()),typeof t=="object"&&(t=e?t.alpha:t.noAlpha),t=t.toLowerCase(),Tie[t]}function CL(){const r=wie();return r.has("astc")?"astc-4x4":r.has("dxt")?{alpha:"bc3",noAlpha:"bc1"}:r.has("pvrtc")?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:r.has("etc1")?"etc1":r.has("etc2")?"etc2":"rgb565"}const Mie={dataType:null,batchType:null,name:"Basis",id:"basis",module:"textures",version:mie,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",libraryPath:"libs/",containerFormat:"auto",module:"transcoder"}}},Pie={...Mie,parse:Bie},EA=!0,rM=1735152710,sC=12,v_=8,Rie=1313821514,Fie=5130562,Die=0,Oie=0,Lie=1;function Nie(r,e=0){return`${String.fromCharCode(r.getUint8(e+0))}${String.fromCharCode(r.getUint8(e+1))}${String.fromCharCode(r.getUint8(e+2))}${String.fromCharCode(r.getUint8(e+3))}`}function kie(r,e=0,t={}){const n=new DataView(r),{magic:i=rM}=t,o=n.getUint32(e,!1);return o===i||o===rM}function Uie(r,e,t=0,n={}){const i=new DataView(e),o=Nie(i,t+0),s=i.getUint32(t+4,EA),c=i.getUint32(t+8,EA);switch(Object.assign(r,{header:{byteOffset:t,byteLength:c,hasBinChunk:!1},type:o,version:s,json:{},binChunks:[]}),t+=sC,r.version){case 1:return zie(r,i,t);case 2:return Gie(r,i,t,n={});default:throw new Error(`Invalid GLB version ${r.version}. Only supports version 1 and 2.`)}}function zie(r,e,t){th(r.header.byteLength>sC+v_);const n=e.getUint32(t+0,EA),i=e.getUint32(t+4,EA);return t+=v_,th(i===Die),lx(r,e,t,n),t+=n,t+=ux(r,e,t,r.header.byteLength),t}function Gie(r,e,t,n){return th(r.header.byteLength>sC+v_),Vie(r,e,t,n),t+r.header.byteLength}function Vie(r,e,t,n){for(;t+8<=r.header.byteLength;){const i=e.getUint32(t+0,EA),o=e.getUint32(t+4,EA);switch(t+=v_,o){case Rie:lx(r,e,t,i);break;case Fie:ux(r,e,t,i);break;case Oie:n.strict||lx(r,e,t,i);break;case Lie:n.strict||ux(r,e,t,i);break}t+=Tg(i,4)}return t}function lx(r,e,t,n){const i=new Uint8Array(e.buffer,t,n),s=new TextDecoder("utf8").decode(i);return r.json=JSON.parse(s),Tg(n,4)}function ux(r,e,t,n){return r.header.hasBinChunk=!0,r.binChunks.push({byteOffset:t,byteLength:n,arrayBuffer:e.buffer}),Tg(n,4)}function EL(r,e){if(r.startsWith("data:")||r.startsWith("http:")||r.startsWith("https:"))return r;const n=e.baseUri||e.uri;if(!n)throw new Error(`'baseUri' must be provided to resolve relative url ${r}`);return n.substr(0,n.lastIndexOf("/")+1)+r}const Hie="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",jie="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",$ie=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),Wie=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]),Jie={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},Xie={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function Kie(r,e,t,n,i,o="NONE"){const s=await qie();Qie(s,s.exports[Xie[i]],r,e,t,n,s.exports[Jie[o||"NONE"]])}let Tb;async function qie(){return Tb||(Tb=Yie()),Tb}async function Yie(){let r=Hie;WebAssembly.validate($ie)&&(r=jie,console.log("Warning: meshopt_decoder is using experimental SIMD support"));const e=await WebAssembly.instantiate(Zie(r),{});return await e.instance.exports.__wasm_call_ctors(),e.instance}function Zie(r){const e=new Uint8Array(r.length);for(let n=0;n<r.length;++n){const i=r.charCodeAt(n);e[n]=i>96?i-71:i>64?i-65:i>47?i+4:i>46?63:62}let t=0;for(let n=0;n<r.length;++n)e[t++]=e[n]<60?Wie[e[n]]:(e[n]-60)*64+e[++n];return e.buffer.slice(0,t)}function Qie(r,e,t,n,i,o,s){const c=r.exports.sbrk,f=n+3&-4,y=c(f*i),b=c(o.length),B=new Uint8Array(r.exports.memory.buffer);B.set(o,b);const S=e(y,n,i,b,o.length);if(S===0&&s&&s(y,f,i),t.set(B.subarray(y,y+n*i)),c(y-c(0)),S!==0)throw new Error(`Malformed buffer data: ${S}`)}const b_="EXT_meshopt_compression",ese=b_;async function tse(r,e){var i,o;const t=new Ms(r);if(!((i=e==null?void 0:e.gltf)!=null&&i.decompressMeshes)||!((o=e.gltf)!=null&&o.loadBuffers))return;const n=[];for(const s of r.json.bufferViews||[])n.push(rse(t,s));await Promise.all(n),t.removeExtension(b_)}async function rse(r,e){const t=r.getObjectExtension(e,b_);if(t){const{byteOffset:n=0,byteLength:i=0,byteStride:o,count:s,mode:c,filter:f="NONE",buffer:y}=t,b=r.gltf.buffers[y],B=new Uint8Array(b.arrayBuffer,b.byteOffset+n,i),S=new Uint8Array(r.gltf.buffers[e.buffer].arrayBuffer,e.byteOffset,e.byteLength);await Kie(S,s,o,B,c,f),r.removeObjectExtension(e,b_)}}const nse=Object.freeze(Object.defineProperty({__proto__:null,decode:tse,name:ese},Symbol.toStringTag,{value:"Module"})),Vd="EXT_texture_webp",ise=Vd;function sse(r,e){const t=new Ms(r);if(!Qre("image/webp")){if(t.getRequiredExtensions().includes(Vd))throw new Error(`gltf: Required extension ${Vd} not supported by browser`);return}const{json:n}=t;for(const i of n.textures||[]){const o=t.getObjectExtension(i,Vd);o&&(i.source=o.source),t.removeObjectExtension(i,Vd)}t.removeExtension(Vd)}const ose=Object.freeze(Object.defineProperty({__proto__:null,name:ise,preprocess:sse},Symbol.toStringTag,{value:"Module"})),Pm="KHR_texture_basisu",ase=Pm;function cse(r,e){const t=new Ms(r),{json:n}=t;for(const i of n.textures||[]){const o=t.getObjectExtension(i,Pm);o&&(i.source=o.source,t.removeObjectExtension(i,Pm))}t.removeExtension(Pm)}const lse=Object.freeze(Object.defineProperty({__proto__:null,name:ase,preprocess:cse},Symbol.toStringTag,{value:"Module"})),use="4.3.2",fse={dataType:null,batchType:null,name:"Draco",id:"draco",module:"draco",version:use,worker:!0,extensions:["drc"],mimeTypes:["application/octet-stream"],binary:!0,tests:["DRACO"],options:{draco:{decoderType:typeof WebAssembly=="object"?"wasm":"js",libraryPath:"libs/",extraAttributes:{},attributeNameEntry:void 0}}};function hse(r){switch(r.constructor){case Int8Array:return"int8";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int16Array:return"int16";case Uint16Array:return"uint16";case Int32Array:return"int32";case Uint32Array:return"uint32";case Float32Array:return"float32";case Float64Array:return"float64";default:return"null"}}function dse(r){let e=1/0,t=1/0,n=1/0,i=-1/0,o=-1/0,s=-1/0;const c=r.POSITION?r.POSITION.value:[],f=c&&c.length;for(let y=0;y<f;y+=3){const b=c[y],B=c[y+1],S=c[y+2];e=b<e?b:e,t=B<t?B:t,n=S<n?S:n,i=b>i?b:i,o=B>o?B:o,s=S>s?S:s}return[[e,t,n],[i,o,s]]}function Ase(r,e,t){const n=hse(e.value),i=t||pse(e);return{name:r,type:{type:"fixed-size-list",listSize:e.size,children:[{name:"value",type:n}]},nullable:!1,metadata:i}}function pse(r){const e={};return"byteOffset"in r&&(e.byteOffset=r.byteOffset.toString(10)),"byteStride"in r&&(e.byteStride=r.byteStride.toString(10)),"normalized"in r&&(e.normalized=r.normalized.toString()),e}function gse(r,e,t){const n=TL(e.metadata),i=[],o=mse(e.attributes);for(const s in r){const c=r[s],f=nM(s,c,o[s]);i.push(f)}if(t){const s=nM("indices",t);i.push(s)}return{fields:i,metadata:n}}function mse(r){const e={};for(const t in r){const n=r[t];e[n.name||"undefined"]=n}return e}function nM(r,e,t){const n=t?TL(t.metadata):void 0;return Ase(r,e,n)}function TL(r){Object.entries(r);const e={};for(const t in r)e[`${t}.string`]=JSON.stringify(r[t]);return e}const iM={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},_se={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},yse=4;let vse=class{constructor(e){V(this,"draco");V(this,"decoder");V(this,"metadataQuerier");this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e,t={}){const n=new this.draco.DecoderBuffer;n.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);const i=this.decoder.GetEncodedGeometryType(n),o=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let s;switch(i){case this.draco.TRIANGULAR_MESH:s=this.decoder.DecodeBufferToMesh(n,o);break;case this.draco.POINT_CLOUD:s=this.decoder.DecodeBufferToPointCloud(n,o);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!s.ok()||!o.ptr){const S=`DRACO decompression failed: ${s.error_msg()}`;throw new Error(S)}const c=this._getDracoLoaderData(o,i,t),f=this._getMeshData(o,c,t),y=dse(f.attributes),b=gse(f.attributes,c,f.indices);return{loader:"draco",loaderData:c,header:{vertexCount:o.num_points(),boundingBox:y},...f,schema:b}}finally{this.draco.destroy(n),o&&this.draco.destroy(o)}}_getDracoLoaderData(e,t,n){const i=this._getTopLevelMetadata(e),o=this._getDracoAttributes(e,n);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:i,attributes:o}}_getDracoAttributes(e,t){const n={};for(let i=0;i<e.num_attributes();i++){const o=this.decoder.GetAttribute(e,i),s=this._getAttributeMetadata(e,i);n[o.unique_id()]={unique_id:o.unique_id(),attribute_type:o.attribute_type(),data_type:o.data_type(),num_components:o.num_components(),byte_offset:o.byte_offset(),byte_stride:o.byte_stride(),normalized:o.normalized(),attribute_index:i,metadata:s};const c=this._getQuantizationTransform(o,t);c&&(n[o.unique_id()].quantization_transform=c);const f=this._getOctahedronTransform(o,t);f&&(n[o.unique_id()].octahedron_transform=f)}return n}_getMeshData(e,t,n){const i=this._getMeshAttributes(t,e,n);if(!i.POSITION)throw new Error("DRACO: No position attribute found.");if(e instanceof this.draco.Mesh)switch(n.topology){case"triangle-strip":return{topology:"triangle-strip",mode:4,attributes:i,indices:{value:this._getTriangleStripIndices(e),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:i,indices:{value:this._getTriangleListIndices(e),size:1}}}return{topology:"point-list",mode:0,attributes:i}}_getMeshAttributes(e,t,n){const i={};for(const o of Object.values(e.attributes)){const s=this._deduceAttributeName(o,n);o.name=s;const c=this._getAttributeValues(t,o);if(c){const{value:f,size:y}=c;i[s]={value:f,size:y,byteOffset:o.byte_offset,byteStride:o.byte_stride,normalized:o.normalized}}}return i}_getTriangleListIndices(e){const n=e.num_faces()*3,i=n*yse,o=this.draco._malloc(i);try{return this.decoder.GetTrianglesUInt32Array(e,i,o),new Uint32Array(this.draco.HEAPF32.buffer,o,n).slice()}finally{this.draco._free(o)}}_getTriangleStripIndices(e){const t=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(e,t),wse(t)}finally{this.draco.destroy(t)}}_getAttributeValues(e,t){const n=_se[t.data_type];if(!n)return console.warn(`DRACO: Unsupported attribute type ${t.data_type}`),null;const i=t.num_components,s=e.num_points()*i,c=s*n.BYTES_PER_ELEMENT,f=bse(this.draco,n);let y;const b=this.draco._malloc(c);try{const B=this.decoder.GetAttribute(e,t.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(e,B,f,c,b),y=new n(this.draco.HEAPF32.buffer,b,s).slice()}finally{this.draco._free(b)}return{value:y,size:i}}_deduceAttributeName(e,t){const n=e.unique_id;for(const[s,c]of Object.entries(t.extraAttributes||{}))if(c===n)return s;const i=e.attribute_type;for(const s in iM)if(this.draco[s]===i)return iM[s];const o=t.attributeNameEntry||"name";return e.metadata[o]?e.metadata[o].string:`CUSTOM_ATTRIBUTE_${n}`}_getTopLevelMetadata(e){const t=this.decoder.GetMetadata(e);return this._getDracoMetadata(t)}_getAttributeMetadata(e,t){const n=this.decoder.GetAttributeMetadata(e,t);return this._getDracoMetadata(n)}_getDracoMetadata(e){if(!e||!e.ptr)return{};const t={},n=this.metadataQuerier.NumEntries(e);for(let i=0;i<n;i++){const o=this.metadataQuerier.GetEntryName(e,i);t[o]=this._getDracoMetadataField(e,o)}return t}_getDracoMetadataField(e,t){const n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(e,t,n);const i=xse(n);return{int:this.metadataQuerier.GetIntEntry(e,t),string:this.metadataQuerier.GetStringEntry(e,t),double:this.metadataQuerier.GetDoubleEntry(e,t),intArray:i}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(e){const{quantizedAttributes:t=[],octahedronAttributes:n=[]}=e,i=[...t,...n];for(const o of i)this.decoder.SkipAttributeTransform(this.draco[o])}_getQuantizationTransform(e,t){const{quantizedAttributes:n=[]}=t,i=e.attribute_type();if(n.map(s=>this.decoder[s]).includes(i)){const s=new this.draco.AttributeQuantizationTransform;try{if(s.InitFromAttribute(e))return{quantization_bits:s.quantization_bits(),range:s.range(),min_values:new Float32Array([1,2,3]).map(c=>s.min_value(c))}}finally{this.draco.destroy(s)}}return null}_getOctahedronTransform(e,t){const{octahedronAttributes:n=[]}=t,i=e.attribute_type();if(n.map(s=>this.decoder[s]).includes(i)){const s=new this.draco.AttributeQuantizationTransform;try{if(s.InitFromAttribute(e))return{quantization_bits:s.quantization_bits()}}finally{this.draco.destroy(s)}}return null}};function bse(r,e){switch(e){case Float32Array:return r.DT_FLOAT32;case Int8Array:return r.DT_INT8;case Int16Array:return r.DT_INT16;case Int32Array:return r.DT_INT32;case Uint8Array:return r.DT_UINT8;case Uint16Array:return r.DT_UINT16;case Uint32Array:return r.DT_UINT32;default:return r.DT_INVALID}}function xse(r){const e=r.size(),t=new Int32Array(e);for(let n=0;n<e;n++)t[n]=r.GetValue(n);return t}function wse(r){const e=r.size(),t=new Int32Array(e);for(let n=0;n<e;n++)t[n]=r.GetValue(n);return t}const Cse="1.5.6",Ese="1.4.1",Bb=`https://www.gstatic.com/draco/versioned/decoders/${Cse}`,Ro={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},Sb={[Ro.DECODER]:`${Bb}/${Ro.DECODER}`,[Ro.DECODER_WASM]:`${Bb}/${Ro.DECODER_WASM}`,[Ro.FALLBACK_DECODER]:`${Bb}/${Ro.FALLBACK_DECODER}`,[Ro.ENCODER]:`https://raw.githubusercontent.com/google/draco/${Ese}/javascript/${Ro.ENCODER}`};let Ib;async function Tse(r){const e=r.modules||{};return e.draco3d?Ib||(Ib=e.draco3d.createDecoderModule({}).then(t=>({draco:t}))):Ib||(Ib=Bse(r)),await Ib}async function Bse(r){let e,t;switch(r.draco&&r.draco.decoderType){case"js":e=await Yf(Sb[Ro.FALLBACK_DECODER],"draco",r,Ro.FALLBACK_DECODER);break;case"wasm":default:[e,t]=await Promise.all([await Yf(Sb[Ro.DECODER],"draco",r,Ro.DECODER),await Yf(Sb[Ro.DECODER_WASM],"draco",r,Ro.DECODER_WASM)])}return e=e||globalThis.DracoDecoderModule,await Sse(e,t)}function Sse(r,e){const t={};return e&&(t.wasmBinary=e),new Promise(n=>{r({...t,onModuleLoaded:i=>n({draco:i})})})}const Ise={...fse,parse:Mse};async function Mse(r,e){const{draco:t}=await Tse(e),n=new vse(t);try{return n.parseSync(r,e==null?void 0:e.draco)}finally{n.destroy()}}function Pse(r){const e={};for(const t in r){const n=r[t];if(t!=="indices"){const i=BL(n);e[t]=i}}return e}function BL(r){const{buffer:e,size:t,count:n}=Rse(r);return{value:e,size:t,byteOffset:0,count:n,type:AL(t),componentType:my(e)}}function Rse(r){let e=r,t=1,n=0;return r&&r.value&&(e=r.value,t=r.size||1),e&&(ArrayBuffer.isView(e)||(e=Fse(e,Float32Array)),n=e.length/t),{buffer:e,size:t,count:n}}function Fse(r,e,t=!1){return r?Array.isArray(r)?new e(r):t&&!(r instanceof e)?new e(r):r:null}const ju="KHR_draco_mesh_compression",Dse=ju;function Ose(r,e,t){const n=new Ms(r);for(const i of SL(n))n.getObjectExtension(i,ju)}async function Lse(r,e,t){var o;if(!((o=e==null?void 0:e.gltf)!=null&&o.decompressMeshes))return;const n=new Ms(r),i=[];for(const s of SL(n))n.getObjectExtension(s,ju)&&i.push(kse(n,s,e,t));await Promise.all(i),n.removeExtension(ju)}function Nse(r,e={}){const t=new Ms(r);for(const n of t.json.meshes||[])Use(n),t.addRequiredExtension(ju)}async function kse(r,e,t,n){const i=r.getObjectExtension(e,ju);if(!i)return;const o=r.getTypedArrayForBufferView(i.bufferView),s=aL(o.buffer,o.byteOffset),c={...t};delete c["3d-tiles"];const f=await rL(s,Ise,c,n),y=Pse(f.attributes);for(const[b,B]of Object.entries(y))if(b in e.attributes){const S=e.attributes[b],O=r.getAccessor(S);O!=null&&O.min&&(O!=null&&O.max)&&(B.min=O.min,B.max=O.max)}e.attributes=y,f.indices&&(e.indices=BL(f.indices)),r.removeObjectExtension(e,ju),zse(e)}function Use(r,e,t=4,n,i){var b;if(!n.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");const o=n.DracoWriter.encodeSync({attributes:r}),s=(b=i==null?void 0:i.parseSync)==null?void 0:b.call(i,{attributes:r}),c=n._addFauxAttributes(s.attributes),f=n.addBufferView(o);return{primitives:[{attributes:c,mode:t,extensions:{[ju]:{bufferView:f,attributes:c}}}]}}function zse(r){if(!r.attributes&&Object.keys(r.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*SL(r){for(const e of r.json.meshes||[])for(const t of e.primitives)yield t}const Gse=Object.freeze(Object.defineProperty({__proto__:null,decode:Lse,encode:Nse,name:Dse,preprocess:Ose},Symbol.toStringTag,{value:"Module"})),vy="KHR_texture_transform",Vse=vy,W0=new ft,Hse=new ci,jse=new ci;async function $se(r,e){var o;if(!new Ms(r).hasExtension(vy)||!((o=e.gltf)!=null&&o.loadBuffers))return;const i=r.json.materials||[];for(let s=0;s<i.length;s++)Wse(s,r)}function Wse(r,e){var o,s,c,f;const t=(o=e.json.materials)==null?void 0:o[r],n=[(s=t==null?void 0:t.pbrMetallicRoughness)==null?void 0:s.baseColorTexture,t==null?void 0:t.emissiveTexture,t==null?void 0:t.normalTexture,t==null?void 0:t.occlusionTexture,(c=t==null?void 0:t.pbrMetallicRoughness)==null?void 0:c.metallicRoughnessTexture],i=[];for(const y of n)y&&((f=y==null?void 0:y.extensions)!=null&&f[vy])&&Jse(e,r,y,i)}function Jse(r,e,t,n){const i=Xse(t,n);if(!i)return;const o=r.json.meshes||[];for(const s of o)for(const c of s.primitives){const f=c.material;Number.isFinite(f)&&e===f&&Kse(r,c,i)}}function Xse(r,e){var s;const t=(s=r.extensions)==null?void 0:s[vy],{texCoord:n=0}=r,{texCoord:i=n}=t;if(!(e.findIndex(([c,f])=>c===n&&f===i)!==-1)){const c=Zse(t);return n!==i&&(r.texCoord=i),e.push([n,i]),{originalTexCoord:n,texCoord:i,matrix:c}}return null}function Kse(r,e,t){var c,f;const{originalTexCoord:n,texCoord:i,matrix:o}=t,s=e.attributes[`TEXCOORD_${n}`];if(Number.isFinite(s)){const y=(c=r.json.accessors)==null?void 0:c[s];if(y&&y.bufferView){const b=(f=r.json.bufferViews)==null?void 0:f[y.bufferView];if(b){const{arrayBuffer:B,byteOffset:S}=r.buffers[b.buffer],O=(S||0)+(y.byteOffset||0)+(b.byteOffset||0),{ArrayType:k,length:z}=pL(y,b),J=dL[y.componentType],G=hL[y.type],j=b.byteStride||J*G,K=new Float32Array(z);for(let fe=0;fe<y.count;fe++){const Q=new k(B,O+fe*j,2);W0.set(Q[0],Q[1],1),W0.transformByMatrix3(o),K.set([W0[0],W0[1]],fe*G)}n===i?qse(y,b,r.buffers,K):Yse(i,y,e,r,K)}}}}function qse(r,e,t,n){r.componentType=5126,t.push({arrayBuffer:n.buffer,byteOffset:0,byteLength:n.buffer.byteLength}),e.buffer=t.length-1,e.byteLength=n.buffer.byteLength,e.byteOffset=0,delete e.byteStride}function Yse(r,e,t,n,i){n.buffers.push({arrayBuffer:i.buffer,byteOffset:0,byteLength:i.buffer.byteLength});const o=n.json.bufferViews;if(!o)return;o.push({buffer:n.buffers.length-1,byteLength:i.buffer.byteLength,byteOffset:0});const s=n.json.accessors;s&&(s.push({bufferView:(o==null?void 0:o.length)-1,byteOffset:0,componentType:5126,count:e.count,type:"VEC2"}),t.attributes[`TEXCOORD_${r}`]=s.length-1)}function Zse(r){const{offset:e=[0,0],rotation:t=0,scale:n=[1,1]}=r,i=new ci().set(1,0,0,0,1,0,e[0],e[1],1),o=Hse.set(Math.cos(t),Math.sin(t),0,-Math.sin(t),Math.cos(t),0,0,0,1),s=jse.set(n[0],0,0,0,n[1],0,0,0,1);return i.multiplyRight(o).multiplyRight(s)}const Qse=Object.freeze(Object.defineProperty({__proto__:null,decode:$se,name:Vse},Symbol.toStringTag,{value:"Module"})),jf="KHR_lights_punctual",eoe=jf;async function toe(r){const e=new Ms(r),{json:t}=e,n=e.getExtension(jf);n&&(e.json.lights=n.lights,e.removeExtension(jf));for(const i of t.nodes||[]){const o=e.getObjectExtension(i,jf);o&&(i.light=o.light),e.removeObjectExtension(i,jf)}}async function roe(r){const e=new Ms(r),{json:t}=e;if(t.lights){const n=e.addExtension(jf);Ba(!n.lights),n.lights=t.lights,delete t.lights}if(e.json.lights){for(const n of e.json.lights){const i=n.node;e.addObjectExtension(i,jf,n)}delete e.json.lights}}const noe=Object.freeze(Object.defineProperty({__proto__:null,decode:toe,encode:roe,name:eoe},Symbol.toStringTag,{value:"Module"})),dg="KHR_materials_unlit",ioe=dg;async function soe(r){const e=new Ms(r),{json:t}=e;for(const n of t.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),e.removeObjectExtension(n,dg);e.removeExtension(dg)}function ooe(r){const e=new Ms(r),{json:t}=e;if(e.materials)for(const n of t.materials||[])n.unlit&&(delete n.unlit,e.addObjectExtension(n,dg,{}),e.addExtension(dg))}const aoe=Object.freeze(Object.defineProperty({__proto__:null,decode:soe,encode:ooe,name:ioe},Symbol.toStringTag,{value:"Module"})),Dp="KHR_techniques_webgl",coe=Dp;async function loe(r){const e=new Ms(r),{json:t}=e,n=e.getExtension(Dp);if(n){const i=foe(n,e);for(const o of t.materials||[]){const s=e.getObjectExtension(o,Dp);s&&(o.technique=Object.assign({},s,i[s.technique]),o.technique.values=hoe(o.technique,e)),e.removeObjectExtension(o,Dp)}e.removeExtension(Dp)}}async function uoe(r,e){}function foe(r,e){const{programs:t=[],shaders:n=[],techniques:i=[]}=r,o=new TextDecoder;return n.forEach(s=>{if(Number.isFinite(s.bufferView))s.code=o.decode(e.getTypedArrayForBufferView(s.bufferView));else throw new Error("KHR_techniques_webgl: no shader code")}),t.forEach(s=>{s.fragmentShader=n[s.fragmentShader],s.vertexShader=n[s.vertexShader]}),i.forEach(s=>{s.program=t[s.program]}),i}function hoe(r,e){const t=Object.assign({},r.values);return Object.keys(r.uniforms||{}).forEach(n=>{r.uniforms[n].value&&!(n in t)&&(t[n]=r.uniforms[n].value)}),Object.keys(t).forEach(n=>{typeof t[n]=="object"&&t[n].index!==void 0&&(t[n].texture=e.getTexture(t[n].index))}),t}const doe=Object.freeze(Object.defineProperty({__proto__:null,decode:loe,encode:uoe,name:coe},Symbol.toStringTag,{value:"Module"})),IL=[Zne,wne,nse,ose,lse,Gse,noe,aoe,doe,Qse,pie];function Aoe(r,e={},t){var i;const n=IL.filter(o=>ML(o.name,e));for(const o of n)(i=o.preprocess)==null||i.call(o,r,e,t)}async function poe(r,e={},t){var i;const n=IL.filter(o=>ML(o.name,e));for(const o of n)await((i=o.decode)==null?void 0:i.call(o,r,e,t))}function ML(r,e){var i;const t=((i=e==null?void 0:e.gltf)==null?void 0:i.excludeExtensions)||{};return!(r in t&&!t[r])}const Mb="KHR_binary_glTF";function goe(r){const e=new Ms(r),{json:t}=e;for(const n of t.images||[]){const i=e.getObjectExtension(n,Mb);i&&Object.assign(n,i),e.removeObjectExtension(n,Mb)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,e.removeExtension(Mb)}const sM={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},moe={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};let _oe=class{constructor(){V(this,"idToIndexMap",{animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}});V(this,"json")}normalize(e,t){this.json=e.json;const n=e.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:console.warn(`glTF: Unknown version ${n.asset.version}`);return}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),goe(e),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(const t in sM)this._convertTopLevelObjectToArray(e,t)}_convertTopLevelObjectToArray(e,t){const n=e[t];if(!(!n||Array.isArray(n))){e[t]=[];for(const i in n){const o=n[i];o.id=o.id||i;const s=e[t].length;e[t].push(o),this.idToIndexMap[t][i]=s}}}_convertObjectIdsToArrayIndices(e){for(const t in sM)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(const t of e.textures)this._convertTextureIds(t);for(const t of e.meshes)this._convertMeshIds(t);for(const t of e.nodes)this._convertNodeIds(t);for(const t of e.scenes)this._convertSceneIds(t)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(const t of e.primitives){const{attributes:n,indices:i,material:o}=t;for(const s in n)n[s]=this._convertIdToIndex(n[s],"accessor");i&&(t.indices=this._convertIdToIndex(i,"accessor")),o&&(t.material=this._convertIdToIndex(o,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(t=>this._convertIdToIndex(t,"node"))),e.meshes&&(e.meshes=e.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(e,t){e[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),e[t]=[]);for(const n of e[t])for(const i in n){const o=n[i],s=this._convertIdToIndex(o,i);n[i]=s}}_convertIdToIndex(e,t){const n=moe[t];if(n in this.idToIndexMap){const i=this.idToIndexMap[n][e];if(!Number.isFinite(i))throw new Error(`gltf v1: failed to resolve ${t} with id ${e}`);return i}return e}_updateObjects(e){for(const t of this.json.buffers)delete t.type}_updateMaterial(e){var t,n,i;for(const o of e.materials){o.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const s=((t=o.values)==null?void 0:t.tex)||((n=o.values)==null?void 0:n.texture2d_0)||((i=o.values)==null?void 0:i.diffuseTex),c=e.textures.findIndex(f=>f.id===s);c!==-1&&(o.pbrMetallicRoughness.baseColorTexture={index:c})}}};function yoe(r,e={}){return new _oe().normalize(r,e)}async function voe(r,e,t=0,n,i){var o,s,c;return boe(r,e,t,n),yoe(r,{normalize:(o=n==null?void 0:n.gltf)==null?void 0:o.normalize}),Aoe(r,n,i),(s=n==null?void 0:n.gltf)!=null&&s.loadBuffers&&r.json.buffers&&await xoe(r,n,i),(c=n==null?void 0:n.gltf)!=null&&c.loadImages&&await woe(r,n,i),await poe(r,n,i),r}function boe(r,e,t,n){if(n.uri&&(r.baseUri=n.uri),e instanceof ArrayBuffer&&!kie(e,t,n)&&(e=new TextDecoder().decode(e)),typeof e=="string")r.json=yre(e);else if(e instanceof ArrayBuffer){const s={};t=Uie(s,e,t,n.glb),Ba(s.type==="glTF",`Invalid GLB magic string ${s.type}`),r._glb=s,r.json=s.json}else Ba(!1,"GLTF: must be ArrayBuffer or string");const i=r.json.buffers||[];if(r.buffers=new Array(i.length).fill(null),r._glb&&r._glb.header.hasBinChunk){const{binChunks:s}=r._glb;r.buffers[0]={arrayBuffer:s[0].arrayBuffer,byteOffset:s[0].byteOffset,byteLength:s[0].byteLength}}const o=r.json.images||[];r.images=new Array(o.length).fill({})}async function xoe(r,e,t){var i,o;const n=r.json.buffers||[];for(let s=0;s<n.length;++s){const c=n[s];if(c.uri){const{fetch:f}=t;Ba(f);const y=EL(c.uri,e),b=await((i=t==null?void 0:t.fetch)==null?void 0:i.call(t,y)),B=await((o=b==null?void 0:b.arrayBuffer)==null?void 0:o.call(b));r.buffers[s]={arrayBuffer:B,byteOffset:0,byteLength:B.byteLength},delete c.uri}else r.buffers[s]===null&&(r.buffers[s]={arrayBuffer:new ArrayBuffer(c.byteLength),byteOffset:0,byteLength:c.byteLength})}}async function woe(r,e,t){const n=Coe(r),i=r.json.images||[],o=[];for(const s of n)o.push(Eoe(r,i[s],s,e,t));return await Promise.all(o)}function Coe(r){const e=new Set,t=r.json.textures||[];for(const n of t)n.source!==void 0&&e.add(n.source);return Array.from(e).sort()}async function Eoe(r,e,t,n,i){let o;if(e.uri&&!e.hasOwnProperty("bufferView")){const c=EL(e.uri,n),{fetch:f}=i;o=await(await f(c)).arrayBuffer(),e.bufferView={data:o}}if(Number.isFinite(e.bufferView)){const c=cne(r.json,r.buffers,e.bufferView);o=aL(c.buffer,c.byteOffset,c.byteLength)}Ba(o,"glTF image has no data");let s=await rL(o,[Zre,Pie],{...n,mimeType:e.mimeType,basis:n.basis||{format:CL()}},i);s&&s[0]&&(s={compressed:!0,mipmaps:!1,width:s[0].width,height:s[0].height,data:s[0]}),r.images=r.images||[],r.images[t]=s}const fx={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:gie,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:Toe,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0},log:console}};async function Toe(r,e={},t){e={...fx.options,...e},e.gltf={...fx.options.gltf,...e.gltf};const{byteOffset:n=0}=e;return await voe({},r,n,e,t)}function oM(r,e){if(!r)throw new Error(e||"loader assertion failed.")}const PL=!!(typeof process!="object"||String(process)!=="[object process]"||process.browser),aM=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version);aM&&parseFloat(aM[1]);const Pb="4.3.2",Boe=Pb[0]>="0"&&Pb[0]<="9"?`v${Pb}`:"";function Soe(){const r=new gy({id:"loaders.gl"});return globalThis.loaders=globalThis.loaders||{},globalThis.loaders.log=r,globalThis.loaders.version=Boe,globalThis.probe=globalThis.probe||{},globalThis.probe.loaders=r,r}const Ioe=Soe();function Moe(r,e){return RL(r||{},e)}function RL(r,e,t=0){if(t>3)return e;const n={...r};for(const[i,o]of Object.entries(e))o&&typeof o=="object"&&!Array.isArray(o)?n[i]=RL(n[i]||{},e[i],t+1):n[i]=e[i];return n}const Poe="latest";function Roe(){var r;return(r=globalThis._loadersgl_)!=null&&r.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.3.2"),globalThis._loadersgl_.version}const Foe=Roe();function $u(r,e){if(!r)throw new Error(e||"loaders.gl assertion failed.")}const Zf=typeof process!="object"||String(process)!=="[object process]"||process.browser,Doe=typeof window<"u"&&typeof window.orientation<"u",cM=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version);cM&&parseFloat(cM[1]);class Ooe{constructor(e,t){V(this,"name");V(this,"workerThread");V(this,"isRunning",!0);V(this,"result");V(this,"_resolve",()=>{});V(this,"_reject",()=>{});this.name=e,this.workerThread=t,this.result=new Promise((n,i)=>{this._resolve=n,this._reject=i})}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){$u(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){$u(this.isRunning),this.isRunning=!1,this._reject(e)}}class Rb{terminate(){}}const Fb=new Map;function Loe(r){$u(r.source&&!r.url||!r.source&&r.url);let e=Fb.get(r.source||r.url);return e||(r.url&&(e=Noe(r.url),Fb.set(r.url,e)),r.source&&(e=FL(r.source),Fb.set(r.source,e))),$u(e),e}function Noe(r){if(!r.startsWith("http"))return r;const e=koe(r);return FL(e)}function FL(r){const e=new Blob([r],{type:"application/javascript"});return URL.createObjectURL(e)}function koe(r){return`try {
|
2258
|
+
`,'"',N3],WORKERS_SUPPORTED:!1,NODE_STREAM_INPUT:1,LocalChunkSize:1024*1024*10,RemoteChunkSize:1024*1024*5,DefaultDelimiter:",",Parser:sx,ParserHandle:Y4,ChunkStreamer:q4},{ChunkStreamer:jte}=Ta;class $te extends jte{constructor(t={}){super(t);V(this,"textDecoder",new TextDecoder(this._config.encoding))}async stream(t){this._input=t;try{for await(const n of t)this.parseChunk(this.getStringChunk(n));this._finished=!0,this.parseChunk("")}catch(n){this._sendError(n)}}_nextChunk(){}getStringChunk(t){return typeof t=="string"?t:this.textDecoder.decode(t,{stream:!0})}}const Wte="4.3.2",Kw="object-row-table",qw={dataType:null,batchType:null,id:"csv",module:"csv",name:"CSV",version:Wte,extensions:["csv","tsv","dsv"],mimeTypes:["text/csv","text/tab-separated-values","text/dsv"],category:"table",parse:async(r,e)=>k3(new TextDecoder().decode(r),e),parseText:(r,e)=>k3(r,e),parseInBatches:Jte,options:{csv:{shape:Kw,optimizeMemoryUsage:!1,header:"auto",columnPrefix:"column",quoteChar:'"',escapeChar:'"',dynamicTyping:!0,comments:!1,skipEmptyLines:!0,delimitersToGuess:[","," ","|",";"]}}};async function k3(r,e){const t={...qw.options.csv,...e==null?void 0:e.csv},n=Xte(r),o=t.header==="auto"?Q4(n):!!t.header,s={...t,header:o,download:!1,transformHeader:o?eL():void 0,error:B=>{throw new Error(B)}},c=Ta.parse(r,s),f=c.data,y=c.meta.fields||tL(t.columnPrefix,n.length),b=t.shape||Kw;switch(b){case"object-row-table":return{shape:"object-row-table",data:f.map(B=>Array.isArray(B)?X4(B,y):B)};case"array-row-table":return{shape:"array-row-table",data:f.map(B=>Array.isArray(B)?B:K4(B,y))};default:throw new Error(b)}}function Jte(r,e){e={...e},e.batchSize==="auto"&&(e.batchSize=4e3);const t={...qw.options.csv,...e==null?void 0:e.csv},n=new Nte;let i=!0,o=null,s=null,c=null;const f={...t,header:!1,download:!1,chunkSize:1024*1024*5,skipEmptyLines:!1,step(y){let b=y.data;if(t.skipEmptyLines&&b.flat().join("").trim()==="")return;const B=y.meta.cursor;if(i&&!o&&(t.header==="auto"?Q4(b):!!t.header)){o=b.map(eL());return}i&&(i=!1,o||(o=tL(t.columnPrefix,b.length)),c=Kte(b,o)),t.optimizeMemoryUsage&&(b=JSON.parse(JSON.stringify(b)));const S=t.shape||Kw;s=s||new ix(c,{shape:S,...e});try{s.addRow(b);const O=s&&s.getFullBatch({bytesUsed:B});O&&n.enqueue(O)}catch(O){n.enqueue(O)}},complete(y){try{const b=y.meta.cursor,B=s&&s.getFinalBatch({bytesUsed:b});B&&n.enqueue(B)}catch(b){n.enqueue(b)}n.close()}};return Ta.parse(r,f,$te),n}function Q4(r){return r&&r.every(e=>typeof e=="string")}function Xte(r){return Ta.parse(r,{dynamicTyping:!0,preview:1}).data[0]}function eL(){const r=new Set;return e=>{let t=e,n=1;for(;r.has(t);)t=`${e}.${n}`,n++;return r.add(t),t}}function tL(r,e=0){const t=[];for(let n=0;n<e;n++)t.push(`${r}${n+1}`);return t}function Kte(r,e){const t=e?{}:[];for(let n=0;n<r.length;n++){const i=e&&e[n]||n;switch(typeof r[n]){case"number":case"boolean":t[i]={name:String(i),index:n,type:Float32Array};break;case"string":default:t[i]={name:String(i),index:n,type:Array}}}return t}const qte="4.3.2";async function rL(r,e,t,n){return n._parse(r,e,t,n)}function th(r,e){if(!r)throw new Error("loader assertion failed.")}const nL=!!(typeof process!="object"||String(process)!=="[object process]"||process.browser),U3=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version);U3&&parseFloat(U3[1]);const j0=globalThis,vd=globalThis.process||{};function Yte(r){var n,i;if(typeof window<"u"&&((n=window.process)==null?void 0:n.type)==="renderer"||typeof process<"u"&&((i=process.versions)!=null&&i.electron))return!0;const t=typeof navigator<"u"&&navigator.userAgent;return!!(t&&t.indexOf("Electron")>=0)}function Yw(){return!(typeof process=="object"&&String(process)==="[object process]"&&!(process!=null&&process.browser))||Yte()}const iL="4.0.7";function Zte(r){try{const e=window[r],t="__storage_test__";return e.setItem(t,t),e.removeItem(t),e}catch{return null}}class Qte{constructor(e,t,n="sessionStorage"){this.storage=Zte(n),this.id=e,this.config=t,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){if(Object.assign(this.config,e),this.storage){const t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function ere(r){let e;return r<10?e=`${r.toFixed(2)}ms`:r<100?e=`${r.toFixed(1)}ms`:r<1e3?e=`${r.toFixed(0)}ms`:e=`${(r/1e3).toFixed(2)}s`,e}function tre(r,e=8){const t=Math.max(e-r.length,0);return`${" ".repeat(t)}${r}`}var __;(function(r){r[r.BLACK=30]="BLACK",r[r.RED=31]="RED",r[r.GREEN=32]="GREEN",r[r.YELLOW=33]="YELLOW",r[r.BLUE=34]="BLUE",r[r.MAGENTA=35]="MAGENTA",r[r.CYAN=36]="CYAN",r[r.WHITE=37]="WHITE",r[r.BRIGHT_BLACK=90]="BRIGHT_BLACK",r[r.BRIGHT_RED=91]="BRIGHT_RED",r[r.BRIGHT_GREEN=92]="BRIGHT_GREEN",r[r.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",r[r.BRIGHT_BLUE=94]="BRIGHT_BLUE",r[r.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",r[r.BRIGHT_CYAN=96]="BRIGHT_CYAN",r[r.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(__||(__={}));const rre=10;function z3(r){return typeof r!="string"?r:(r=r.toUpperCase(),__[r]||__.WHITE)}function nre(r,e,t){return!Yw&&typeof r=="string"&&(e&&(r=`\x1B[${z3(e)}m${r}\x1B[39m`),t&&(r=`\x1B[${z3(t)+rre}m${r}\x1B[49m`)),r}function ire(r,e=["constructor"]){const t=Object.getPrototypeOf(r),n=Object.getOwnPropertyNames(t),i=r;for(const o of n){const s=i[o];typeof s=="function"&&(e.find(c=>o===c)||(i[o]=s.bind(r)))}}function Zw(r,e){if(!r)throw new Error("Assertion failed")}function bd(){var e,t,n;let r;if(Yw()&&j0.performance)r=(t=(e=j0==null?void 0:j0.performance)==null?void 0:e.now)==null?void 0:t.call(e);else if("hrtime"in vd){const i=(n=vd==null?void 0:vd.hrtime)==null?void 0:n.call(vd);r=i[0]*1e3+i[1]/1e6}else r=Date.now();return r}const xd={debug:Yw()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},sre={enabled:!0,level:0};function wd(){}const G3={},V3={once:!0};class gy{constructor({id:e}={id:""}){this.VERSION=iL,this._startTs=bd(),this._deltaTs=bd(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=e,this.userData={},this._storage=new Qte(`__probe-${this.id}__`,sre),this.timeStamp(`${this.id} started`),ire(this),Object.seal(this)}set level(e){this.setLevel(e)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((bd()-this._startTs).toPrecision(10))}getDelta(){return Number((bd()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(e=!0){return this._storage.setConfiguration({enabled:e}),this}setLevel(e){return this._storage.setConfiguration({level:e}),this}get(e){return this._storage.config[e]}set(e,t){this._storage.setConfiguration({[e]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(e,t){if(!e)throw new Error(t||"Assertion failed")}warn(e){return this._getLogFunction(0,e,xd.warn,arguments,V3)}error(e){return this._getLogFunction(0,e,xd.error,arguments)}deprecated(e,t){return this.warn(`\`${e}\` is deprecated and will be removed in a later version. Use \`${t}\` instead`)}removed(e,t){return this.error(`\`${e}\` has been removed. Use \`${t}\` instead`)}probe(e,t){return this._getLogFunction(e,t,xd.log,arguments,{time:!0,once:!0})}log(e,t){return this._getLogFunction(e,t,xd.debug,arguments)}info(e,t){return this._getLogFunction(e,t,console.info,arguments)}once(e,t){return this._getLogFunction(e,t,xd.debug||xd.info,arguments,V3)}table(e,t,n){return t?this._getLogFunction(e,t,console.table||wd,n&&[n],{tag:are(t)}):wd}time(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}timeEnd(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(e,t){return this._getLogFunction(e,t,console.timeStamp||wd)}group(e,t,n={collapsed:!1}){const i=H3({logLevel:e,message:t,opts:n}),{collapsed:o}=n;return i.method=(o?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(e,t,n={}){return this.group(e,t,Object.assign({},n,{collapsed:!0}))}groupEnd(e){return this._getLogFunction(e,"",console.groupEnd||wd)}withGroup(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&this.getLevel()>=sL(e)}_getLogFunction(e,t,n,i,o){if(this._shouldLog(e)){o=H3({logLevel:e,message:t,args:i,opts:o}),n=n||o.method,Zw(n),o.total=this.getTotal(),o.delta=this.getDelta(),this._deltaTs=bd();const s=o.tag||o.message;if(o.once&&s)if(!G3[s])G3[s]=bd();else return wd;return t=ore(this.id,o.message,o),n.bind(console,t,...o.args)}return wd}}gy.VERSION=iL;function sL(r){if(!r)return 0;let e;switch(typeof r){case"number":e=r;break;case"object":e=r.logLevel||r.priority||0;break;default:return 0}return Zw(Number.isFinite(e)&&e>=0),e}function H3(r){const{logLevel:e,message:t}=r;r.logLevel=sL(e);const n=r.args?Array.from(r.args):[];for(;n.length&&n.shift()!==t;);switch(typeof e){case"string":case"function":t!==void 0&&n.unshift(t),r.message=e;break;case"object":Object.assign(r,e);break}typeof r.message=="function"&&(r.message=r.message());const i=typeof r.message;return Zw(i==="string"||i==="object"),Object.assign(r,{args:n},r.opts)}function ore(r,e,t){if(typeof e=="string"){const n=t.time?tre(ere(t.total)):"";e=t.time?`${r}: ${n} ${e}`:`${r}: ${e}`,e=nre(e,t.color,t.background)}return e}function are(r){for(const e in r)for(const t in r[e])return t||"untitled";return"empty"}globalThis.probe={};const oL=new gy({id:"@probe.gl/log"});function cre(r){var e;globalThis.loaders||(globalThis.loaders={}),(e=globalThis.loaders).modules||(e.modules={}),Object.assign(globalThis.loaders.modules,r)}function lre(r){var t,n;return((n=(t=globalThis.loaders)==null?void 0:t.modules)==null?void 0:n[r])||null}function ure(){var r;return(r=globalThis._loadersgl_)!=null&&r.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.3.2"),globalThis._loadersgl_.version}const fre=ure();function hre(r,e){if(!r)throw new Error("loaders.gl assertion failed.")}const Eg=typeof process!="object"||String(process)!=="[object process]"||process.browser,Qw=typeof importScripts=="function",j3=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version);j3&&parseFloat(j3[1]);const bb={};async function Yf(r,e=null,t={},n=null){return e&&(r=dre(r,e,t,n)),bb[r]=bb[r]||Are(r),await bb[r]}function dre(r,e,t={},n=null){if(!t.useLocalLibraries&&r.startsWith("http"))return r;n=n||r;const i=t.modules||{};return i[n]?i[n]:Eg?t.CDN?(hre(t.CDN.startsWith("http")),`${t.CDN}/${e}@${fre}/dist/libs/${n}`):Qw?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}async function Are(r){if(r.endsWith("wasm"))return await gre(r);if(!Eg)try{const{requireFromFile:t}=globalThis.loaders||{};return await(t==null?void 0:t(r))}catch(t){return console.error(t),null}if(Qw)return importScripts(r);const e=await mre(r);return pre(e,r)}function pre(r,e){if(!Eg){const{requireFromString:n}=globalThis.loaders||{};return n==null?void 0:n(r,e)}if(Qw)return eval.call(globalThis,r),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(r))}catch{t.text=r}return document.body.appendChild(t),null}async function gre(r){const{readFileAsArrayBuffer:e}=globalThis.loaders||{};return Eg||!e||r.startsWith("http")?await(await fetch(r)).arrayBuffer():await e(r)}async function mre(r){const{readFileAsText:e}=globalThis.loaders||{};return Eg||!e||r.startsWith("http")?await(await fetch(r)).text():await e(r)}function _re(r,e=5){return typeof r=="string"?r.slice(0,e):ArrayBuffer.isView(r)?$3(r.buffer,r.byteOffset,e):r instanceof ArrayBuffer?$3(r,0,e):""}function $3(r,e,t){if(r.byteLength<=e+t)return"";const n=new DataView(r);let i="";for(let o=0;o<t;o++)i+=String.fromCharCode(n.getUint8(e+o));return i}function yre(r){try{return JSON.parse(r)}catch{throw new Error(`Failed to parse JSON from data starting with "${_re(r)}"`)}}function aL(r,e,t){const n=t!==void 0?new Uint8Array(r).subarray(e,e+t):new Uint8Array(r).subarray(e);return new Uint8Array(n).buffer}function Tg(r,e){return th(r>=0),th(e>0),r+(e-1)&-4}function vre(r,e,t){let n;if(r instanceof ArrayBuffer)n=new Uint8Array(r);else{const i=r.byteOffset,o=r.byteLength;n=new Uint8Array(r.buffer||r.arrayBuffer,i,o)}return e.set(n,t),t+Tg(n.byteLength,4)}function W3(){let r;if(typeof window<"u"&&window.performance)r=window.performance.now();else if(typeof process<"u"&&process.hrtime){const e=process.hrtime();r=e[0]*1e3+e[1]/1e6}else r=Date.now();return r}class J3{constructor(e,t){this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=e,this.type=t,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(e){return this.sampleSize=e,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(e){return this._count+=e,this._samples++,this._checkSampling(),this}subtractCount(e){return this._count-=e,this._samples++,this._checkSampling(),this}addTime(e){return this._time+=e,this.lastTiming=e,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=W3(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(W3()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}}class cL{constructor(e){this.stats={},this.id=e.id,this.stats={},this._initializeStats(e.stats),Object.seal(this)}get(e,t="count"){return this._getOrCreate({name:e,type:t})}get size(){return Object.keys(this.stats).length}reset(){for(const e of Object.values(this.stats))e.reset();return this}forEach(e){for(const t of Object.values(this.stats))e(t)}getTable(){const e={};return this.forEach(t=>{e[t.name]={time:t.time||0,count:t.count||0,average:t.getAverageTime()||0,hz:t.getHz()||0}}),e}_initializeStats(e=[]){e.forEach(t=>this._getOrCreate(t))}_getOrCreate(e){const{name:t,type:n}=e;let i=this.stats[t];return i||(e instanceof J3?i=e:i=new J3(t,n),this.stats[t]=i),i}}var kD;const bre=(kD=globalThis.loaders)==null?void 0:kD.parseImageNode,ox=typeof Image<"u",ax=typeof ImageBitmap<"u",xre=!!bre,cx=nL?!0:xre;function wre(r){switch(r){case"auto":return ax||ox||cx;case"imagebitmap":return ax;case"image":return ox;case"data":return cx;default:throw new Error(`@loaders.gl/images: image ${r} not supported in this environment`)}}function Cre(){if(ax)return"imagebitmap";if(ox)return"image";if(cx)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function Ere(r){const e=Tre(r);if(!e)throw new Error("Not an image");return e}function lL(r){switch(Ere(r)){case"data":return r;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=r.width,e.height=r.height,t.drawImage(r,0,0),t.getImageData(0,0,r.width,r.height);default:throw new Error("getImageData")}}function Tre(r){return typeof ImageBitmap<"u"&&r instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&r instanceof Image?"image":r&&typeof r=="object"&&r.data&&r.width&&r.height?"data":null}const Bre=/^data:image\/svg\+xml/,Sre=/\.svg((\?|#).*)?$/;function eC(r){return r&&(Bre.test(r)||Sre.test(r))}function Ire(r,e){if(eC(e)){let n=new TextDecoder().decode(r);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(o){throw new Error(o.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return uL(r,e)}function uL(r,e){if(eC(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(r)])}async function fL(r,e,t){const n=Ire(r,t),i=self.URL||self.webkitURL,o=typeof n!="string"&&i.createObjectURL(n);try{return await Mre(o||n,e)}finally{o&&i.revokeObjectURL(o)}}async function Mre(r,e){const t=new Image;return t.src=r,e.image&&e.image.decode&&t.decode?(await t.decode(),t):await new Promise((n,i)=>{try{t.onload=()=>n(t),t.onerror=o=>{const s=o instanceof Error?o.message:"error";i(new Error(s))}}catch(o){i(o)}})}const Pre={};let X3=!0;async function Rre(r,e,t){let n;eC(t)?n=await fL(r,e,t):n=uL(r,t);const i=e&&e.imagebitmap;return await Fre(n,i)}async function Fre(r,e=null){if((Dre(e)||!X3)&&(e=null),e)try{return await createImageBitmap(r,e)}catch(t){console.warn(t),X3=!1}return await createImageBitmap(r)}function Dre(r){for(const e in r||Pre)return!1;return!0}function Ore(r){return!Ure(r,"ftyp",4)||(r[8]&96)===0?null:Lre(r)}function Lre(r){switch(Nre(r,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function Nre(r,e,t){return String.fromCharCode(...r.slice(e,t))}function kre(r){return[...r].map(e=>e.charCodeAt(0))}function Ure(r,e,t=0){const n=kre(e);for(let i=0;i<n.length;++i)if(n[i]!==r[i+t])return!1;return!0}const Kc=!1,Kp=!0;function tC(r){const e=Bg(r);return Gre(e)||jre(e)||Vre(e)||Hre(e)||zre(e)}function zre(r){const e=new Uint8Array(r instanceof DataView?r.buffer:r),t=Ore(e);return t?{mimeType:t.mimeType,width:0,height:0}:null}function Gre(r){const e=Bg(r);return e.byteLength>=24&&e.getUint32(0,Kc)===2303741511?{mimeType:"image/png",width:e.getUint32(16,Kc),height:e.getUint32(20,Kc)}:null}function Vre(r){const e=Bg(r);return e.byteLength>=10&&e.getUint32(0,Kc)===1195984440?{mimeType:"image/gif",width:e.getUint16(6,Kp),height:e.getUint16(8,Kp)}:null}function Hre(r){const e=Bg(r);return e.byteLength>=14&&e.getUint16(0,Kc)===16973&&e.getUint32(2,Kp)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,Kp),height:e.getUint32(22,Kp)}:null}function jre(r){const e=Bg(r);if(!(e.byteLength>=3&&e.getUint16(0,Kc)===65496&&e.getUint8(2)===255))return null;const{tableMarkers:n,sofMarkers:i}=$re();let o=2;for(;o+9<e.byteLength;){const s=e.getUint16(o,Kc);if(i.has(s))return{mimeType:"image/jpeg",height:e.getUint16(o+5,Kc),width:e.getUint16(o+7,Kc)};if(!n.has(s))return null;o+=2,o+=e.getUint16(o,Kc)}return null}function $re(){const r=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)r.add(t);return{tableMarkers:r,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function Bg(r){if(r instanceof DataView)return r;if(ArrayBuffer.isView(r))return new DataView(r.buffer);if(r instanceof ArrayBuffer)return new DataView(r);throw new Error("toDataView")}async function Wre(r,e){var i;const{mimeType:t}=tC(r)||{},n=(i=globalThis.loaders)==null?void 0:i.parseImageNode;return th(n),await n(r,t)}async function Jre(r,e,t){e=e||{};const i=(e.image||{}).type||"auto",{url:o}=t||{},s=Xre(i);let c;switch(s){case"imagebitmap":c=await Rre(r,e,o);break;case"image":c=await fL(r,e,o);break;case"data":c=await Wre(r);break;default:th(!1)}return i==="data"&&(c=lL(c)),c}function Xre(r){switch(r){case"auto":case"data":return Cre();default:return wre(r),r}}const Kre=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],qre=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],Yre={image:{type:"auto",decode:!0}},Zre={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:qte,mimeTypes:qre,extensions:Kre,parse:Jre,tests:[r=>!!tC(new DataView(r))],options:Yre},xb={};function Qre(r){if(xb[r]===void 0){const e=nL?tne(r):ene(r);xb[r]=e}return xb[r]}function ene(r){var i,o;const e=["image/png","image/jpeg","image/gif"],t=((i=globalThis.loaders)==null?void 0:i.imageFormatsNode)||e;return!!((o=globalThis.loaders)==null?void 0:o.parseImageNode)&&t.includes(r)}function tne(r){switch(r){case"image/avif":case"image/webp":return rne(r);default:return!0}}function rne(r){try{return document.createElement("canvas").toDataURL(r).indexOf(`data:${r}`)===0}catch{return!1}}function Ba(r,e){if(!r)throw new Error(e||"assert failed: gltf")}const hL={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},dL={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},K3=["SCALAR","VEC2","VEC3","VEC4"],nne=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],ine=new Map(nne),sne={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},one={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},ane={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function AL(r){return K3[r-1]||K3[0]}function my(r){const e=ine.get(r.constructor);if(!e)throw new Error("Illegal typed array");return e}function pL(r,e){const t=ane[r.componentType],n=sne[r.type],i=one[r.componentType],o=r.count*n,s=r.count*n*i;Ba(s>=0&&s<=e.byteLength);const c=dL[r.componentType],f=hL[r.type];return{ArrayType:t,length:o,byteLength:s,componentByteSize:c,numberOfComponentsInElement:f}}function cne(r,e,t){const n=r.bufferViews[t];Ba(n);const i=n.buffer,o=e[i];Ba(o);const s=(n.byteOffset||0)+o.byteOffset;return new Uint8Array(o.arrayBuffer,s,n.byteLength)}function lne(r,e,t){var z,J;const n=typeof t=="number"?(z=r.accessors)==null?void 0:z[t]:t;if(!n)throw new Error(`No gltf accessor ${JSON.stringify(t)}`);const i=(J=r.bufferViews)==null?void 0:J[n.bufferView||0];if(!i)throw new Error(`No gltf buffer view for accessor ${i}`);const{arrayBuffer:o,byteOffset:s}=e[i.buffer],c=(s||0)+(n.byteOffset||0)+(i.byteOffset||0),{ArrayType:f,length:y,componentByteSize:b,numberOfComponentsInElement:B}=pL(n,i),S=b*B,O=i.byteStride||S;if(typeof i.byteStride>"u"||i.byteStride===S)return new f(o,c,y);const k=new f(y);for(let G=0;G<n.count;G++){const j=new f(o,c+G*O,B);k.set(j,G*B)}return k}function une(){return{asset:{version:"2.0",generator:"loaders.gl"},buffers:[],extensions:{},extensionsRequired:[],extensionsUsed:[]}}let Ms=class{constructor(e){V(this,"gltf");V(this,"sourceBuffers");V(this,"byteLength");this.gltf={json:(e==null?void 0:e.json)||une(),buffers:(e==null?void 0:e.buffers)||[],images:(e==null?void 0:e.images)||[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}get json(){return this.gltf.json}getApplicationData(e){return this.json[e]}getExtraData(e){return(this.json.extras||{})[e]}hasExtension(e){const t=this.getUsedExtensions().find(i=>i===e),n=this.getRequiredExtensions().find(i=>i===e);return typeof t=="string"||typeof n=="string"}getExtension(e){const t=this.getUsedExtensions().find(i=>i===e),n=this.json.extensions||{};return t?n[e]:null}getRequiredExtension(e){return this.getRequiredExtensions().find(n=>n===e)?this.getExtension(e):null}getRequiredExtensions(){return this.json.extensionsRequired||[]}getUsedExtensions(){return this.json.extensionsUsed||[]}getRemovedExtensions(){return this.json.extensionsRemoved||[]}getObjectExtension(e,t){return(e.extensions||{})[t]}getScene(e){return this.getObject("scenes",e)}getNode(e){return this.getObject("nodes",e)}getSkin(e){return this.getObject("skins",e)}getMesh(e){return this.getObject("meshes",e)}getMaterial(e){return this.getObject("materials",e)}getAccessor(e){return this.getObject("accessors",e)}getTexture(e){return this.getObject("textures",e)}getSampler(e){return this.getObject("samplers",e)}getImage(e){return this.getObject("images",e)}getBufferView(e){return this.getObject("bufferViews",e)}getBuffer(e){return this.getObject("buffers",e)}getObject(e,t){if(typeof t=="object")return t;const n=this.json[e]&&this.json[e][t];if(!n)throw new Error(`glTF file error: Could not find ${e}[${t}]`);return n}getTypedArrayForBufferView(e){e=this.getBufferView(e);const t=e.buffer,n=this.gltf.buffers[t];Ba(n);const i=(e.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,i,e.byteLength)}getTypedArrayForAccessor(e){const t=this.getAccessor(e);return lne(this.gltf.json,this.gltf.buffers,t)}getTypedArrayForImageData(e){e=this.getAccessor(e);const t=this.getBufferView(e.bufferView),i=this.getBuffer(t.buffer).data,o=t.byteOffset||0;return new Uint8Array(i,o,t.byteLength)}addApplicationData(e,t){return this.json[e]=t,this}addExtraData(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}addObjectExtension(e,t,n){return e.extensions=e.extensions||{},e.extensions[t]=n,this.registerUsedExtension(t),this}setObjectExtension(e,t,n){const i=e.extensions||{};i[t]=n}removeObjectExtension(e,t){const n=(e==null?void 0:e.extensions)||{};if(n[t]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];const i=this.json.extensionsRemoved;i.includes(t)||i.push(t)}delete n[t]}addExtension(e,t={}){return Ba(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}addRequiredExtension(e,t={}){return Ba(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}registerUsedExtension(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find(t=>t===e)||this.json.extensionsUsed.push(e)}registerRequiredExtension(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find(t=>t===e)||this.json.extensionsRequired.push(e)}removeExtension(e){var t;if((t=this.json.extensions)!=null&&t[e]){this.json.extensionsRemoved=this.json.extensionsRemoved||[];const n=this.json.extensionsRemoved;n.includes(e)||n.push(e)}this.json.extensions&&delete this.json.extensions[e],this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e)}setDefaultScene(e){this.json.scene=e}addScene(e){const{nodeIndices:t}=e;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}addNode(e){const{meshIndex:t,matrix:n}=e;this.json.nodes=this.json.nodes||[];const i={mesh:t};return n&&(i.matrix=n),this.json.nodes.push(i),this.json.nodes.length-1}addMesh(e){const{attributes:t,indices:n,material:i,mode:o=4}=e,c={primitives:[{attributes:this._addAttributes(t),mode:o}]};if(n){const f=this._addIndices(n);c.primitives[0].indices=f}return Number.isFinite(i)&&(c.primitives[0].material=i),this.json.meshes=this.json.meshes||[],this.json.meshes.push(c),this.json.meshes.length-1}addPointCloud(e){const n={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(n),this.json.meshes.length-1}addImage(e,t){const n=tC(e),i=t||(n==null?void 0:n.mimeType),s={bufferView:this.addBufferView(e),mimeType:i};return this.json.images=this.json.images||[],this.json.images.push(s),this.json.images.length-1}addBufferView(e,t=0,n=this.byteLength){const i=e.byteLength;Ba(Number.isFinite(i)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);const o={buffer:t,byteOffset:n,byteLength:i};return this.byteLength+=Tg(i,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(o),this.json.bufferViews.length-1}addAccessor(e,t){const n={bufferView:e,type:AL(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}addBinaryBuffer(e,t={size:3}){const n=this.addBufferView(e);let i={min:t.min,max:t.max};(!i.min||!i.max)&&(i=this._getAccessorMinMax(e,t.size));const o={size:t.size,componentType:my(e),count:Math.round(e.length/t.size),min:i.min,max:i.max};return this.addAccessor(n,Object.assign(o,t))}addTexture(e){const{imageIndex:t}=e,n={source:t};return this.json.textures=this.json.textures||[],this.json.textures.push(n),this.json.textures.length-1}addMaterial(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}createBinaryChunk(){var o,s;const e=this.byteLength,t=new ArrayBuffer(e),n=new Uint8Array(t);let i=0;for(const c of this.sourceBuffers||[])i=vre(c,n,i);(s=(o=this.json)==null?void 0:o.buffers)!=null&&s[0]?this.json.buffers[0].byteLength=e:this.json.buffers=[{byteLength:e}],this.gltf.binary=t,this.sourceBuffers=[t],this.gltf.buffers=[{arrayBuffer:t,byteOffset:0,byteLength:t.byteLength}]}_removeStringFromArray(e,t){let n=!0;for(;n;){const i=e.indexOf(t);i>-1?e.splice(i,1):n=!1}}_addAttributes(e={}){const t={};for(const n in e){const i=e[n],o=this._getGltfAttributeName(n),s=this.addBinaryBuffer(i.value,i);t[o]=s}return t}_addIndices(e){return this.addBinaryBuffer(e,{size:1})}_getGltfAttributeName(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}_getAccessorMinMax(e,t){const n={min:null,max:null};if(e.length<t)return n;n.min=[],n.max=[];const i=e.subarray(0,t);for(const o of i)n.min.push(o),n.max.push(o);for(let o=t;o<e.length;o+=t)for(let s=0;s<t;s++)n.min[0+s]=Math.min(n.min[0+s],e[o+s]),n.max[0+s]=Math.max(n.max[0+s],e[o+s]);return n}};function q3(r){return(r%1+1)%1}const gL={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16,BOOLEAN:1,STRING:1,ENUM:1},fne={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:BigInt64Array,UINT64:BigUint64Array,FLOAT32:Float32Array,FLOAT64:Float64Array},mL={INT8:1,UINT8:1,INT16:2,UINT16:2,INT32:4,UINT32:4,INT64:8,UINT64:8,FLOAT32:4,FLOAT64:8};function rC(r,e){return mL[e]*gL[r]}function _y(r,e,t,n){if(t!=="UINT8"&&t!=="UINT16"&&t!=="UINT32"&&t!=="UINT64")return null;const i=r.getTypedArrayForBufferView(e),o=yy(i,"SCALAR",t,n+1);return o instanceof BigInt64Array||o instanceof BigUint64Array?null:o}function yy(r,e,t,n=1){const i=gL[e],o=fne[t],s=mL[t],c=n*i,f=c*s;let y=r.buffer,b=r.byteOffset;return b%s!==0&&(y=new Uint8Array(y).slice(b,b+f).buffer,b=0),new o(y,b,c)}function nC(r,e,t){var y,b,B,S,O;const n=`TEXCOORD_${e.texCoord||0}`,i=t.attributes[n],o=r.getTypedArrayForAccessor(i),s=r.gltf.json,c=e.index,f=(b=(y=s.textures)==null?void 0:y[c])==null?void 0:b.source;if(typeof f<"u"){const k=(S=(B=s.images)==null?void 0:B[f])==null?void 0:S.mimeType,z=(O=r.gltf.images)==null?void 0:O[f];if(z&&typeof z.width<"u"){const J=[];for(let G=0;G<o.length;G+=2){const j=hne(z,k,o,G,e.channels);J.push(j)}return J}}return[]}function _L(r,e,t,n,i){if(!(t!=null&&t.length))return;const o=[];for(const b of t){let B=n.findIndex(S=>S===b);B===-1&&(B=n.push(b)-1),o.push(B)}const s=new Uint32Array(o),c=r.gltf.buffers.push({arrayBuffer:s.buffer,byteOffset:s.byteOffset,byteLength:s.byteLength})-1,f=r.addBufferView(s,c,0),y=r.addAccessor(f,{size:1,componentType:my(s),count:s.length});i.attributes[e]=y}function hne(r,e,t,n,i=[0]){const o={r:{offset:0,shift:0},g:{offset:1,shift:8},b:{offset:2,shift:16},a:{offset:3,shift:24}},s=t[n],c=t[n+1];let f=1;e&&(e.indexOf("image/jpeg")!==-1||e.indexOf("image/png")!==-1)&&(f=4);const y=dne(s,c,r,f);let b=0;for(const B of i){const S=typeof B=="number"?Object.values(o)[B]:o[B],O=y+S.offset,k=lL(r);if(k.data.length<=O)throw new Error(`${k.data.length} <= ${O}`);const z=k.data[O];b|=z<<S.shift}return b}function dne(r,e,t,n=1){const i=t.width,o=q3(r)*(i-1),s=Math.round(o),c=t.height,f=q3(e)*(c-1),y=Math.round(f),b=t.components?t.components:n;return(y*i+s)*b}function yL(r,e,t,n,i){const o=[];for(let s=0;s<e;s++){const c=t[s],f=t[s+1]-t[s];if(f+c>n)break;const y=c/i,b=f/i;o.push(r.slice(y,y+b))}return o}function vL(r,e,t){const n=[];for(let i=0;i<e;i++){const o=i*t;n.push(r.slice(o,o+t))}return n}function bL(r,e,t,n){if(t)throw new Error("Not implemented - arrayOffsets for strings is specified");if(n){const i=[],o=new TextDecoder("utf8");let s=0;for(let c=0;c<r;c++){const f=n[c+1]-n[c];if(f+s<=e.length){const y=e.subarray(s,f+s),b=o.decode(y);i.push(b),s+=f}}return i}return[]}const uA="EXT_mesh_features",Ane=uA;async function pne(r,e){const t=new Ms(r);mne(t,e)}function gne(r,e){const t=new Ms(r);return yne(t),t.createBinaryChunk(),t.gltf}function mne(r,e){const t=r.gltf.json;if(t.meshes)for(const n of t.meshes)for(const i of n.primitives)_ne(r,i,e)}function _ne(r,e,t){var o,s,c;if(!((o=t==null?void 0:t.gltf)!=null&&o.loadBuffers))return;const n=(s=e.extensions)==null?void 0:s[uA],i=n==null?void 0:n.featureIds;if(i)for(const f of i){let y;if(typeof f.attribute<"u"){const b=`_FEATURE_ID_${f.attribute}`,B=e.attributes[b];y=r.getTypedArrayForAccessor(B)}else typeof f.texture<"u"&&((c=t==null?void 0:t.gltf)!=null&&c.loadImages)?y=nC(r,f.texture,e):y=[];f.data=y}}function yne(r,e){const t=r.gltf.json.meshes;if(t)for(const n of t)for(const i of n.primitives)bne(r,i)}function vne(r,e,t,n){e.extensions||(e.extensions={});let i=e.extensions[uA];i||(i={featureIds:[]},e.extensions[uA]=i);const{featureIds:o}=i,s={featureCount:t.length,propertyTable:n,data:t};o.push(s),r.addObjectExtension(e,uA,i)}function bne(r,e){var i;const t=(i=e.extensions)==null?void 0:i[uA];if(!t)return;const n=t.featureIds;n.forEach((o,s)=>{if(o.data){const{accessorKey:c,index:f}=xne(e.attributes),y=new Uint32Array(o.data);n[s]={featureCount:y.length,propertyTable:o.propertyTable,attribute:f},r.gltf.buffers.push({arrayBuffer:y.buffer,byteOffset:y.byteOffset,byteLength:y.byteLength});const b=r.addBufferView(y),B=r.addAccessor(b,{size:1,componentType:my(y),count:y.length});e.attributes[c]=B}})}function xne(r){const e="_FEATURE_ID_",t=Object.keys(r).filter(o=>o.indexOf(e)===0);let n=-1;for(const o of t){const s=Number(o.substring(e.length));s>n&&(n=s)}return n++,{accessorKey:`${e}${n}`,index:n}}const wne=Object.freeze(Object.defineProperty({__proto__:null,createExtMeshFeatures:vne,decode:pne,encode:gne,name:Ane},Symbol.toStringTag,{value:"Module"})),CA="EXT_structural_metadata",Cne=CA;async function Ene(r,e){const t=new Ms(r);Bne(t,e)}function Tne(r,e){const t=new Ms(r);return Hne(t),t.createBinaryChunk(),t.gltf}function Bne(r,e){var n,i;if(!((n=e.gltf)!=null&&n.loadBuffers))return;const t=r.getExtension(CA);t&&((i=e.gltf)!=null&&i.loadImages&&Sne(r,t),Ine(r,t))}function Sne(r,e){const t=e.propertyTextures,n=r.gltf.json;if(t&&n.meshes)for(const i of n.meshes)for(const o of i.primitives)Pne(r,t,o,e)}function Ine(r,e){const t=e.schema;if(!t)return;const n=t.classes,i=e.propertyTables;if(n&&i)for(const o in n){const s=Mne(i,o);s&&Fne(r,t,s)}}function Mne(r,e){for(const t of r)if(t.class===e)return t;return null}function Pne(r,e,t,n){var s;if(!e)return;const i=(s=t.extensions)==null?void 0:s[CA],o=i==null?void 0:i.propertyTextures;if(o)for(const c of o){const f=e[c];Rne(r,f,t,n)}}function Rne(r,e,t,n){var o;if(!e.properties)return;n.dataAttributeNames||(n.dataAttributeNames=[]);const i=e.class;for(const s in e.properties){const c=`${i}_${s}`,f=(o=e.properties)==null?void 0:o[s];if(!f)continue;f.data||(f.data=[]);const y=f.data,b=nC(r,f,t);b!==null&&(_L(r,c,b,y,t),f.data=y,n.dataAttributeNames.push(c))}}function Fne(r,e,t){var o,s;const n=(o=e.classes)==null?void 0:o[t.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${t.class}`);const i=t.count;for(const c in n.properties){const f=n.properties[c],y=(s=t.properties)==null?void 0:s[c];if(y){const b=Dne(r,e,f,i,y);y.data=b}}}function Dne(r,e,t,n,i){let o=[];const s=i.values,c=r.getTypedArrayForBufferView(s),f=One(r,t,i,n),y=Lne(r,i,n);switch(t.type){case"SCALAR":case"VEC2":case"VEC3":case"VEC4":case"MAT2":case"MAT3":case"MAT4":{o=Nne(t,n,c,f);break}case"BOOLEAN":throw new Error(`Not implemented - classProperty.type=${t.type}`);case"STRING":{o=bL(n,c,f,y);break}case"ENUM":{o=kne(e,t,n,c,f);break}default:throw new Error(`Unknown classProperty type ${t.type}`)}return o}function One(r,e,t,n){return e.array&&typeof e.count>"u"&&typeof t.arrayOffsets<"u"?_y(r,t.arrayOffsets,t.arrayOffsetType||"UINT32",n):null}function Lne(r,e,t){return typeof e.stringOffsets<"u"?_y(r,e.stringOffsets,e.stringOffsetType||"UINT32",t):null}function Nne(r,e,t,n){const i=r.array,o=r.count,s=rC(r.type,r.componentType),c=t.byteLength/s;let f;return r.componentType?f=yy(t,r.type,r.componentType,c):f=t,i?n?yL(f,e,n,t.length,s):o?vL(f,e,o):[]:f}function kne(r,e,t,n,i){var B;const o=e.enumType;if(!o)throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");const s=(B=r.enums)==null?void 0:B[o];if(!s)throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${o}`);const c=s.valueType||"UINT16",f=rC(e.type,c),y=n.byteLength/f;let b=yy(n,e.type,c,y);if(b||(b=n),e.array){if(i)return Une({valuesData:b,numberOfElements:t,arrayOffsets:i,valuesDataBytesLength:n.length,elementSize:f,enumEntry:s});const S=e.count;return S?zne(b,t,S,s):[]}return iC(b,0,t,s)}function Une(r){const{valuesData:e,numberOfElements:t,arrayOffsets:n,valuesDataBytesLength:i,elementSize:o,enumEntry:s}=r,c=[];for(let f=0;f<t;f++){const y=n[f],b=n[f+1]-n[f];if(b+y>i)break;const B=y/o,S=b/o,O=iC(e,B,S,s);c.push(O)}return c}function zne(r,e,t,n){const i=[];for(let o=0;o<e;o++){const s=t*o,c=iC(r,s,t,n);i.push(c)}return i}function iC(r,e,t,n){const i=[];for(let o=0;o<t;o++)if(r instanceof BigInt64Array||r instanceof BigUint64Array)i.push("");else{const s=r[e+o],c=Gne(n,s);c?i.push(c.name):i.push("")}return i}function Gne(r,e){for(const t of r.values)if(t.value===e)return t;return null}const Vne="schemaClassId";function Hne(r,e){var n,i;const t=r.getExtension(CA);if(t&&t.propertyTables)for(const o of t.propertyTables){const s=o.class,c=(i=(n=t.schema)==null?void 0:n.classes)==null?void 0:i[s];o.properties&&c&&jne(o,c,r)}}function jne(r,e,t){for(const n in r.properties){const i=r.properties[n].data;if(i){const o=e.properties[n];if(o){const s=Xne(i,o,t);r.properties[n]=s}}}}function $ne(r,e,t=Vne){let n=r.getExtension(CA);n||(n=r.addExtension(CA)),n.schema=Wne(e,t,n.schema);const i=Jne(e,t,n.schema);return n.propertyTables||(n.propertyTables=[]),n.propertyTables.push(i)-1}function Wne(r,e,t){const n=t??{id:"schema_id"},i={properties:{}};for(const o of r){const s={type:o.elementType,componentType:o.componentType};i.properties[o.name]=s}return n.classes={},n.classes[e]=i,n}function Jne(r,e,t){var s;const n={class:e,count:0};let i=0;const o=(s=t.classes)==null?void 0:s[e];for(const c of r){if(i===0&&(i=c.values.length),i!==c.values.length&&c.values.length)throw new Error("Illegal values in attributes");(o==null?void 0:o.properties[c.name])&&(n.properties||(n.properties={}),n.properties[c.name]={values:0,data:c.values})}return n.count=i,n}function Xne(r,e,t){const n={values:0};if(e.type==="STRING"){const{stringData:i,stringOffsets:o}=Yne(r);n.stringOffsets=wb(o,t),n.values=wb(i,t)}else if(e.type==="SCALAR"&&e.componentType){const i=qne(r,e.componentType);n.values=wb(i,t)}return n}const Kne={INT8:Int8Array,UINT8:Uint8Array,INT16:Int16Array,UINT16:Uint16Array,INT32:Int32Array,UINT32:Uint32Array,INT64:Int32Array,UINT64:Uint32Array,FLOAT32:Float32Array,FLOAT64:Float64Array};function qne(r,e){const t=[];for(const i of r)t.push(Number(i));const n=Kne[e];if(!n)throw new Error("Illegal component type");return new n(t)}function Yne(r){const e=new TextEncoder,t=[];let n=0;for(const f of r){const y=e.encode(f);n+=y.length,t.push(y)}const i=new Uint8Array(n),o=[];let s=0;for(const f of t)i.set(f,s),o.push(s),s+=f.length;o.push(s);const c=new Uint32Array(o);return{stringData:i,stringOffsets:c}}function wb(r,e){return e.gltf.buffers.push({arrayBuffer:r.buffer,byteOffset:r.byteOffset,byteLength:r.byteLength}),e.addBufferView(r)}const Zne=Object.freeze(Object.defineProperty({__proto__:null,createExtStructuralMetadata:$ne,decode:Ene,encode:Tne,name:Cne},Symbol.toStringTag,{value:"Module"})),xL="EXT_feature_metadata",Qne=xL;async function eie(r,e){const t=new Ms(r);tie(t,e)}function tie(r,e){var n,i;if(!((n=e.gltf)!=null&&n.loadBuffers))return;const t=r.getExtension(xL);t&&((i=e.gltf)!=null&&i.loadImages&&rie(r,t),nie(r,t))}function rie(r,e){const t=e.schema;if(!t)return;const n=t.classes,{featureTextures:i}=e;if(n&&i)for(const o in n){const s=n[o],c=sie(i,o);c&&aie(r,c,s)}}function nie(r,e){const t=e.schema;if(!t)return;const n=t.classes,i=e.featureTables;if(n&&i)for(const o in n){const s=iie(i,o);s&&oie(r,t,s)}}function iie(r,e){for(const t in r){const n=r[t];if(n.class===e)return n}return null}function sie(r,e){for(const t in r){const n=r[t];if(n.class===e)return n}return null}function oie(r,e,t){var o,s;if(!t.class)return;const n=(o=e.classes)==null?void 0:o[t.class];if(!n)throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${t.class}`);const i=t.count;for(const c in n.properties){const f=n.properties[c],y=(s=t.properties)==null?void 0:s[c];if(y){const b=cie(r,e,f,i,y);y.data=b}}}function aie(r,e,t){var i;const n=e.class;for(const o in t.properties){const s=(i=e==null?void 0:e.properties)==null?void 0:i[o];if(s){const c=die(r,s,n);s.data=c}}}function cie(r,e,t,n,i){let o=[];const s=i.bufferView,c=r.getTypedArrayForBufferView(s),f=lie(r,t,i,n),y=uie(r,t,i,n);return t.type==="STRING"||t.componentType==="STRING"?o=bL(n,c,f,y):fie(t)&&(o=hie(t,n,c,f)),o}function lie(r,e,t,n){return e.type==="ARRAY"&&typeof e.componentCount>"u"&&typeof t.arrayOffsetBufferView<"u"?_y(r,t.arrayOffsetBufferView,t.offsetType||"UINT32",n):null}function uie(r,e,t,n){return typeof t.stringOffsetBufferView<"u"?_y(r,t.stringOffsetBufferView,t.offsetType||"UINT32",n):null}function fie(r){const e=["UINT8","INT16","UINT16","INT32","UINT32","INT64","UINT64","FLOAT32","FLOAT64"];return e.includes(r.type)||typeof r.componentType<"u"&&e.includes(r.componentType)}function hie(r,e,t,n){const i=r.type==="ARRAY",o=r.componentCount,s="SCALAR",c=r.componentType||r.type,f=rC(s,c),y=t.byteLength/f,b=yy(t,s,c,y);return i?n?yL(b,e,n,t.length,f):o?vL(b,e,o):[]:b}function die(r,e,t){const n=r.gltf.json;if(!n.meshes)return[];const i=[];for(const o of n.meshes)for(const s of o.primitives)Aie(r,t,e,i,s);return i}function Aie(r,e,t,n,i){const o={channels:t.channels,...t.texture},s=nC(r,o,i);s&&_L(r,e,s,n,i)}const pie=Object.freeze(Object.defineProperty({__proto__:null,decode:eie,name:Qne},Symbol.toStringTag,{value:"Module"})),gie="4.3.2",mie="4.3.2",y_={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"};let Y3;async function Z3(r){cre(r.modules);const e=lre("basis");return e||(Y3||(Y3=_ie(r)),await Y3)}async function _ie(r){let e=null,t=null;return[e,t]=await Promise.all([await Yf(y_.TRANSCODER,"textures",r),await Yf(y_.TRANSCODER_WASM,"textures",r)]),e=e||globalThis.BASIS,await yie(e,t)}function yie(r,e){const t={};return e&&(t.wasmBinary=e),new Promise(n=>{r(t).then(i=>{const{BasisFile:o,initializeBasis:s}=i;s(),n({BasisFile:o})})})}let Cb;async function Q3(r){const e=r.modules||{};return e.basisEncoder?e.basisEncoder:(Cb=Cb||vie(r),await Cb)}async function vie(r){let e=null,t=null;return[e,t]=await Promise.all([await Yf(y_.ENCODER,"textures",r),await Yf(y_.ENCODER_WASM,"textures",r)]),e=e||globalThis.BASIS,await bie(e,t)}function bie(r,e){const t={};return e&&(t.wasmBinary=e),new Promise(n=>{r(t).then(i=>{const{BasisFile:o,KTX2File:s,initializeBasis:c,BasisEncoder:f}=i;c(),n({BasisFile:o,KTX2File:s,BasisEncoder:f})})})}const Cd={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGBA_ASTC_4X4_KHR:37808},xie=["","WEBKIT_","MOZ_"],eM={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"};let $0=null;function wie(r){if(!$0){r=r||Cie()||void 0,$0=new Set;for(const e of xie)for(const t in eM)if(r&&r.getExtension(`${e}${t}`)){const n=eM[t];$0.add(n)}}return $0}function Cie(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}const Qo=[171,75,84,88,32,50,48,187,13,10,26,10];function Eie(r){const e=new Uint8Array(r);return!(e.byteLength<Qo.length||e[0]!==Qo[0]||e[1]!==Qo[1]||e[2]!==Qo[2]||e[3]!==Qo[3]||e[4]!==Qo[4]||e[5]!==Qo[5]||e[6]!==Qo[6]||e[7]!==Qo[7]||e[8]!==Qo[8]||e[9]!==Qo[9]||e[10]!==Qo[10]||e[11]!==Qo[11])}const Tie={etc1:{basisFormat:0,compressed:!0,format:Cd.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:Cd.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:Cd.COMPRESSED_RGBA_S3TC_DXT5_EXT},bc4:{basisFormat:4,compressed:!0},bc5:{basisFormat:5,compressed:!0},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0},"bc7-m5":{basisFormat:7,compressed:!0},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:Cd.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:Cd.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:Cd.COMPRESSED_RGBA_ASTC_4X4_KHR},"atc-rgb":{basisFormat:11,compressed:!0},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0},rgba32:{basisFormat:13,compressed:!1},rgb565:{basisFormat:14,compressed:!1},bgr565:{basisFormat:15,compressed:!1},rgba4444:{basisFormat:16,compressed:!1}};async function Bie(r,e){if(e.basis.containerFormat==="auto"){if(Eie(r)){const n=await Q3(e);return tM(n.KTX2File,r,e)}const{BasisFile:t}=await Z3(e);return Eb(t,r,e)}switch(e.basis.module){case"encoder":const t=await Q3(e);switch(e.basis.containerFormat){case"ktx2":return tM(t.KTX2File,r,e);case"basis":default:return Eb(t.BasisFile,r,e)}case"transcoder":default:const{BasisFile:n}=await Z3(e);return Eb(n,r,e)}}function Eb(r,e,t){const n=new r(new Uint8Array(e));try{if(!n.startTranscoding())throw new Error("Failed to start basis transcoding");const i=n.getNumImages(),o=[];for(let s=0;s<i;s++){const c=n.getNumLevels(s),f=[];for(let y=0;y<c;y++)f.push(Sie(n,s,y,t));o.push(f)}return o}finally{n.close(),n.delete()}}function Sie(r,e,t,n){const i=r.getImageWidth(e,t),o=r.getImageHeight(e,t),s=r.getHasAlpha(),{compressed:c,format:f,basisFormat:y}=wL(n,s),b=r.getImageTranscodedSizeInBytes(e,t,y),B=new Uint8Array(b);if(!r.transcodeImage(B,e,t,y,0,0))throw new Error("failed to start Basis transcoding");return{width:i,height:o,data:B,compressed:c,format:f,hasAlpha:s}}function tM(r,e,t){const n=new r(new Uint8Array(e));try{if(!n.startTranscoding())throw new Error("failed to start KTX2 transcoding");const i=n.getLevels(),o=[];for(let s=0;s<i;s++)o.push(Iie(n,s,t));return[o]}finally{n.close(),n.delete()}}function Iie(r,e,t){const{alphaFlag:n,height:i,width:o}=r.getImageLevelInfo(e,0,0),{compressed:s,format:c,basisFormat:f}=wL(t,n),y=r.getImageTranscodedSizeInBytes(e,0,0,f),b=new Uint8Array(y);if(!r.transcodeImage(b,e,0,0,f,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:o,height:i,data:b,compressed:s,levelSize:y,hasAlpha:n,format:c}}function wL(r,e){let t=r&&r.basis&&r.basis.format;return t==="auto"&&(t=CL()),typeof t=="object"&&(t=e?t.alpha:t.noAlpha),t=t.toLowerCase(),Tie[t]}function CL(){const r=wie();return r.has("astc")?"astc-4x4":r.has("dxt")?{alpha:"bc3",noAlpha:"bc1"}:r.has("pvrtc")?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:r.has("etc1")?"etc1":r.has("etc2")?"etc2":"rgb565"}const Mie={dataType:null,batchType:null,name:"Basis",id:"basis",module:"textures",version:mie,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",libraryPath:"libs/",containerFormat:"auto",module:"transcoder"}}},Pie={...Mie,parse:Bie},EA=!0,rM=1735152710,sC=12,v_=8,Rie=1313821514,Fie=5130562,Die=0,Oie=0,Lie=1;function Nie(r,e=0){return`${String.fromCharCode(r.getUint8(e+0))}${String.fromCharCode(r.getUint8(e+1))}${String.fromCharCode(r.getUint8(e+2))}${String.fromCharCode(r.getUint8(e+3))}`}function kie(r,e=0,t={}){const n=new DataView(r),{magic:i=rM}=t,o=n.getUint32(e,!1);return o===i||o===rM}function Uie(r,e,t=0,n={}){const i=new DataView(e),o=Nie(i,t+0),s=i.getUint32(t+4,EA),c=i.getUint32(t+8,EA);switch(Object.assign(r,{header:{byteOffset:t,byteLength:c,hasBinChunk:!1},type:o,version:s,json:{},binChunks:[]}),t+=sC,r.version){case 1:return zie(r,i,t);case 2:return Gie(r,i,t,n={});default:throw new Error(`Invalid GLB version ${r.version}. Only supports version 1 and 2.`)}}function zie(r,e,t){th(r.header.byteLength>sC+v_);const n=e.getUint32(t+0,EA),i=e.getUint32(t+4,EA);return t+=v_,th(i===Die),lx(r,e,t,n),t+=n,t+=ux(r,e,t,r.header.byteLength),t}function Gie(r,e,t,n){return th(r.header.byteLength>sC+v_),Vie(r,e,t,n),t+r.header.byteLength}function Vie(r,e,t,n){for(;t+8<=r.header.byteLength;){const i=e.getUint32(t+0,EA),o=e.getUint32(t+4,EA);switch(t+=v_,o){case Rie:lx(r,e,t,i);break;case Fie:ux(r,e,t,i);break;case Oie:n.strict||lx(r,e,t,i);break;case Lie:n.strict||ux(r,e,t,i);break}t+=Tg(i,4)}return t}function lx(r,e,t,n){const i=new Uint8Array(e.buffer,t,n),s=new TextDecoder("utf8").decode(i);return r.json=JSON.parse(s),Tg(n,4)}function ux(r,e,t,n){return r.header.hasBinChunk=!0,r.binChunks.push({byteOffset:t,byteLength:n,arrayBuffer:e.buffer}),Tg(n,4)}function EL(r,e){if(r.startsWith("data:")||r.startsWith("http:")||r.startsWith("https:"))return r;const n=e.baseUri||e.uri;if(!n)throw new Error(`'baseUri' must be provided to resolve relative url ${r}`);return n.substr(0,n.lastIndexOf("/")+1)+r}const Hie="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",jie="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",$ie=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),Wie=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]),Jie={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},Xie={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};async function Kie(r,e,t,n,i,o="NONE"){const s=await qie();Qie(s,s.exports[Xie[i]],r,e,t,n,s.exports[Jie[o||"NONE"]])}let Tb;async function qie(){return Tb||(Tb=Yie()),Tb}async function Yie(){let r=Hie;WebAssembly.validate($ie)&&(r=jie,console.log("Warning: meshopt_decoder is using experimental SIMD support"));const e=await WebAssembly.instantiate(Zie(r),{});return await e.instance.exports.__wasm_call_ctors(),e.instance}function Zie(r){const e=new Uint8Array(r.length);for(let n=0;n<r.length;++n){const i=r.charCodeAt(n);e[n]=i>96?i-71:i>64?i-65:i>47?i+4:i>46?63:62}let t=0;for(let n=0;n<r.length;++n)e[t++]=e[n]<60?Wie[e[n]]:(e[n]-60)*64+e[++n];return e.buffer.slice(0,t)}function Qie(r,e,t,n,i,o,s){const c=r.exports.sbrk,f=n+3&-4,y=c(f*i),b=c(o.length),B=new Uint8Array(r.exports.memory.buffer);B.set(o,b);const S=e(y,n,i,b,o.length);if(S===0&&s&&s(y,f,i),t.set(B.subarray(y,y+n*i)),c(y-c(0)),S!==0)throw new Error(`Malformed buffer data: ${S}`)}const b_="EXT_meshopt_compression",ese=b_;async function tse(r,e){var i,o;const t=new Ms(r);if(!((i=e==null?void 0:e.gltf)!=null&&i.decompressMeshes)||!((o=e.gltf)!=null&&o.loadBuffers))return;const n=[];for(const s of r.json.bufferViews||[])n.push(rse(t,s));await Promise.all(n),t.removeExtension(b_)}async function rse(r,e){const t=r.getObjectExtension(e,b_);if(t){const{byteOffset:n=0,byteLength:i=0,byteStride:o,count:s,mode:c,filter:f="NONE",buffer:y}=t,b=r.gltf.buffers[y],B=new Uint8Array(b.arrayBuffer,b.byteOffset+n,i),S=new Uint8Array(r.gltf.buffers[e.buffer].arrayBuffer,e.byteOffset,e.byteLength);await Kie(S,s,o,B,c,f),r.removeObjectExtension(e,b_)}}const nse=Object.freeze(Object.defineProperty({__proto__:null,decode:tse,name:ese},Symbol.toStringTag,{value:"Module"})),Vd="EXT_texture_webp",ise=Vd;function sse(r,e){const t=new Ms(r);if(!Qre("image/webp")){if(t.getRequiredExtensions().includes(Vd))throw new Error(`gltf: Required extension ${Vd} not supported by browser`);return}const{json:n}=t;for(const i of n.textures||[]){const o=t.getObjectExtension(i,Vd);o&&(i.source=o.source),t.removeObjectExtension(i,Vd)}t.removeExtension(Vd)}const ose=Object.freeze(Object.defineProperty({__proto__:null,name:ise,preprocess:sse},Symbol.toStringTag,{value:"Module"})),Pm="KHR_texture_basisu",ase=Pm;function cse(r,e){const t=new Ms(r),{json:n}=t;for(const i of n.textures||[]){const o=t.getObjectExtension(i,Pm);o&&(i.source=o.source,t.removeObjectExtension(i,Pm))}t.removeExtension(Pm)}const lse=Object.freeze(Object.defineProperty({__proto__:null,name:ase,preprocess:cse},Symbol.toStringTag,{value:"Module"})),use="4.3.2",fse={dataType:null,batchType:null,name:"Draco",id:"draco",module:"draco",version:use,worker:!0,extensions:["drc"],mimeTypes:["application/octet-stream"],binary:!0,tests:["DRACO"],options:{draco:{decoderType:typeof WebAssembly=="object"?"wasm":"js",libraryPath:"libs/",extraAttributes:{},attributeNameEntry:void 0}}};function hse(r){switch(r.constructor){case Int8Array:return"int8";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int16Array:return"int16";case Uint16Array:return"uint16";case Int32Array:return"int32";case Uint32Array:return"uint32";case Float32Array:return"float32";case Float64Array:return"float64";default:return"null"}}function dse(r){let e=1/0,t=1/0,n=1/0,i=-1/0,o=-1/0,s=-1/0;const c=r.POSITION?r.POSITION.value:[],f=c&&c.length;for(let y=0;y<f;y+=3){const b=c[y],B=c[y+1],S=c[y+2];e=b<e?b:e,t=B<t?B:t,n=S<n?S:n,i=b>i?b:i,o=B>o?B:o,s=S>s?S:s}return[[e,t,n],[i,o,s]]}function Ase(r,e,t){const n=hse(e.value),i=t||pse(e);return{name:r,type:{type:"fixed-size-list",listSize:e.size,children:[{name:"value",type:n}]},nullable:!1,metadata:i}}function pse(r){const e={};return"byteOffset"in r&&(e.byteOffset=r.byteOffset.toString(10)),"byteStride"in r&&(e.byteStride=r.byteStride.toString(10)),"normalized"in r&&(e.normalized=r.normalized.toString()),e}function gse(r,e,t){const n=TL(e.metadata),i=[],o=mse(e.attributes);for(const s in r){const c=r[s],f=nM(s,c,o[s]);i.push(f)}if(t){const s=nM("indices",t);i.push(s)}return{fields:i,metadata:n}}function mse(r){const e={};for(const t in r){const n=r[t];e[n.name||"undefined"]=n}return e}function nM(r,e,t){const n=t?TL(t.metadata):void 0;return Ase(r,e,n)}function TL(r){Object.entries(r);const e={};for(const t in r)e[`${t}.string`]=JSON.stringify(r[t]);return e}const iM={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},_se={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},yse=4;let vse=class{constructor(e){V(this,"draco");V(this,"decoder");V(this,"metadataQuerier");this.draco=e,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}destroy(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}parseSync(e,t={}){const n=new this.draco.DecoderBuffer;n.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);const i=this.decoder.GetEncodedGeometryType(n),o=i===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{let s;switch(i){case this.draco.TRIANGULAR_MESH:s=this.decoder.DecodeBufferToMesh(n,o);break;case this.draco.POINT_CLOUD:s=this.decoder.DecodeBufferToPointCloud(n,o);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!s.ok()||!o.ptr){const S=`DRACO decompression failed: ${s.error_msg()}`;throw new Error(S)}const c=this._getDracoLoaderData(o,i,t),f=this._getMeshData(o,c,t),y=dse(f.attributes),b=gse(f.attributes,c,f.indices);return{loader:"draco",loaderData:c,header:{vertexCount:o.num_points(),boundingBox:y},...f,schema:b}}finally{this.draco.destroy(n),o&&this.draco.destroy(o)}}_getDracoLoaderData(e,t,n){const i=this._getTopLevelMetadata(e),o=this._getDracoAttributes(e,n);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:i,attributes:o}}_getDracoAttributes(e,t){const n={};for(let i=0;i<e.num_attributes();i++){const o=this.decoder.GetAttribute(e,i),s=this._getAttributeMetadata(e,i);n[o.unique_id()]={unique_id:o.unique_id(),attribute_type:o.attribute_type(),data_type:o.data_type(),num_components:o.num_components(),byte_offset:o.byte_offset(),byte_stride:o.byte_stride(),normalized:o.normalized(),attribute_index:i,metadata:s};const c=this._getQuantizationTransform(o,t);c&&(n[o.unique_id()].quantization_transform=c);const f=this._getOctahedronTransform(o,t);f&&(n[o.unique_id()].octahedron_transform=f)}return n}_getMeshData(e,t,n){const i=this._getMeshAttributes(t,e,n);if(!i.POSITION)throw new Error("DRACO: No position attribute found.");if(e instanceof this.draco.Mesh)switch(n.topology){case"triangle-strip":return{topology:"triangle-strip",mode:4,attributes:i,indices:{value:this._getTriangleStripIndices(e),size:1}};case"triangle-list":default:return{topology:"triangle-list",mode:5,attributes:i,indices:{value:this._getTriangleListIndices(e),size:1}}}return{topology:"point-list",mode:0,attributes:i}}_getMeshAttributes(e,t,n){const i={};for(const o of Object.values(e.attributes)){const s=this._deduceAttributeName(o,n);o.name=s;const c=this._getAttributeValues(t,o);if(c){const{value:f,size:y}=c;i[s]={value:f,size:y,byteOffset:o.byte_offset,byteStride:o.byte_stride,normalized:o.normalized}}}return i}_getTriangleListIndices(e){const n=e.num_faces()*3,i=n*yse,o=this.draco._malloc(i);try{return this.decoder.GetTrianglesUInt32Array(e,i,o),new Uint32Array(this.draco.HEAPF32.buffer,o,n).slice()}finally{this.draco._free(o)}}_getTriangleStripIndices(e){const t=new this.draco.DracoInt32Array;try{return this.decoder.GetTriangleStripsFromMesh(e,t),wse(t)}finally{this.draco.destroy(t)}}_getAttributeValues(e,t){const n=_se[t.data_type];if(!n)return console.warn(`DRACO: Unsupported attribute type ${t.data_type}`),null;const i=t.num_components,s=e.num_points()*i,c=s*n.BYTES_PER_ELEMENT,f=bse(this.draco,n);let y;const b=this.draco._malloc(c);try{const B=this.decoder.GetAttribute(e,t.attribute_index);this.decoder.GetAttributeDataArrayForAllPoints(e,B,f,c,b),y=new n(this.draco.HEAPF32.buffer,b,s).slice()}finally{this.draco._free(b)}return{value:y,size:i}}_deduceAttributeName(e,t){const n=e.unique_id;for(const[s,c]of Object.entries(t.extraAttributes||{}))if(c===n)return s;const i=e.attribute_type;for(const s in iM)if(this.draco[s]===i)return iM[s];const o=t.attributeNameEntry||"name";return e.metadata[o]?e.metadata[o].string:`CUSTOM_ATTRIBUTE_${n}`}_getTopLevelMetadata(e){const t=this.decoder.GetMetadata(e);return this._getDracoMetadata(t)}_getAttributeMetadata(e,t){const n=this.decoder.GetAttributeMetadata(e,t);return this._getDracoMetadata(n)}_getDracoMetadata(e){if(!e||!e.ptr)return{};const t={},n=this.metadataQuerier.NumEntries(e);for(let i=0;i<n;i++){const o=this.metadataQuerier.GetEntryName(e,i);t[o]=this._getDracoMetadataField(e,o)}return t}_getDracoMetadataField(e,t){const n=new this.draco.DracoInt32Array;try{this.metadataQuerier.GetIntEntryArray(e,t,n);const i=xse(n);return{int:this.metadataQuerier.GetIntEntry(e,t),string:this.metadataQuerier.GetStringEntry(e,t),double:this.metadataQuerier.GetDoubleEntry(e,t),intArray:i}}finally{this.draco.destroy(n)}}_disableAttributeTransforms(e){const{quantizedAttributes:t=[],octahedronAttributes:n=[]}=e,i=[...t,...n];for(const o of i)this.decoder.SkipAttributeTransform(this.draco[o])}_getQuantizationTransform(e,t){const{quantizedAttributes:n=[]}=t,i=e.attribute_type();if(n.map(s=>this.decoder[s]).includes(i)){const s=new this.draco.AttributeQuantizationTransform;try{if(s.InitFromAttribute(e))return{quantization_bits:s.quantization_bits(),range:s.range(),min_values:new Float32Array([1,2,3]).map(c=>s.min_value(c))}}finally{this.draco.destroy(s)}}return null}_getOctahedronTransform(e,t){const{octahedronAttributes:n=[]}=t,i=e.attribute_type();if(n.map(s=>this.decoder[s]).includes(i)){const s=new this.draco.AttributeQuantizationTransform;try{if(s.InitFromAttribute(e))return{quantization_bits:s.quantization_bits()}}finally{this.draco.destroy(s)}}return null}};function bse(r,e){switch(e){case Float32Array:return r.DT_FLOAT32;case Int8Array:return r.DT_INT8;case Int16Array:return r.DT_INT16;case Int32Array:return r.DT_INT32;case Uint8Array:return r.DT_UINT8;case Uint16Array:return r.DT_UINT16;case Uint32Array:return r.DT_UINT32;default:return r.DT_INVALID}}function xse(r){const e=r.size(),t=new Int32Array(e);for(let n=0;n<e;n++)t[n]=r.GetValue(n);return t}function wse(r){const e=r.size(),t=new Int32Array(e);for(let n=0;n<e;n++)t[n]=r.GetValue(n);return t}const Cse="1.5.6",Ese="1.4.1",Bb=`https://www.gstatic.com/draco/versioned/decoders/${Cse}`,Ro={DECODER:"draco_wasm_wrapper.js",DECODER_WASM:"draco_decoder.wasm",FALLBACK_DECODER:"draco_decoder.js",ENCODER:"draco_encoder.js"},Sb={[Ro.DECODER]:`${Bb}/${Ro.DECODER}`,[Ro.DECODER_WASM]:`${Bb}/${Ro.DECODER_WASM}`,[Ro.FALLBACK_DECODER]:`${Bb}/${Ro.FALLBACK_DECODER}`,[Ro.ENCODER]:`https://raw.githubusercontent.com/google/draco/${Ese}/javascript/${Ro.ENCODER}`};let Ib;async function Tse(r){const e=r.modules||{};return e.draco3d?Ib||(Ib=e.draco3d.createDecoderModule({}).then(t=>({draco:t}))):Ib||(Ib=Bse(r)),await Ib}async function Bse(r){let e,t;switch(r.draco&&r.draco.decoderType){case"js":e=await Yf(Sb[Ro.FALLBACK_DECODER],"draco",r,Ro.FALLBACK_DECODER);break;case"wasm":default:[e,t]=await Promise.all([await Yf(Sb[Ro.DECODER],"draco",r,Ro.DECODER),await Yf(Sb[Ro.DECODER_WASM],"draco",r,Ro.DECODER_WASM)])}return e=e||globalThis.DracoDecoderModule,await Sse(e,t)}function Sse(r,e){const t={};return e&&(t.wasmBinary=e),new Promise(n=>{r({...t,onModuleLoaded:i=>n({draco:i})})})}const Ise={...fse,parse:Mse};async function Mse(r,e){const{draco:t}=await Tse(e),n=new vse(t);try{return n.parseSync(r,e==null?void 0:e.draco)}finally{n.destroy()}}function Pse(r){const e={};for(const t in r){const n=r[t];if(t!=="indices"){const i=BL(n);e[t]=i}}return e}function BL(r){const{buffer:e,size:t,count:n}=Rse(r);return{value:e,size:t,byteOffset:0,count:n,type:AL(t),componentType:my(e)}}function Rse(r){let e=r,t=1,n=0;return r&&r.value&&(e=r.value,t=r.size||1),e&&(ArrayBuffer.isView(e)||(e=Fse(e,Float32Array)),n=e.length/t),{buffer:e,size:t,count:n}}function Fse(r,e,t=!1){return r?Array.isArray(r)?new e(r):t&&!(r instanceof e)?new e(r):r:null}const ju="KHR_draco_mesh_compression",Dse=ju;function Ose(r,e,t){const n=new Ms(r);for(const i of SL(n))n.getObjectExtension(i,ju)}async function Lse(r,e,t){var o;if(!((o=e==null?void 0:e.gltf)!=null&&o.decompressMeshes))return;const n=new Ms(r),i=[];for(const s of SL(n))n.getObjectExtension(s,ju)&&i.push(kse(n,s,e,t));await Promise.all(i),n.removeExtension(ju)}function Nse(r,e={}){const t=new Ms(r);for(const n of t.json.meshes||[])Use(n),t.addRequiredExtension(ju)}async function kse(r,e,t,n){const i=r.getObjectExtension(e,ju);if(!i)return;const o=r.getTypedArrayForBufferView(i.bufferView),s=aL(o.buffer,o.byteOffset),c={...t};delete c["3d-tiles"];const f=await rL(s,Ise,c,n),y=Pse(f.attributes);for(const[b,B]of Object.entries(y))if(b in e.attributes){const S=e.attributes[b],O=r.getAccessor(S);O!=null&&O.min&&(O!=null&&O.max)&&(B.min=O.min,B.max=O.max)}e.attributes=y,f.indices&&(e.indices=BL(f.indices)),r.removeObjectExtension(e,ju),zse(e)}function Use(r,e,t=4,n,i){var b;if(!n.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");const o=n.DracoWriter.encodeSync({attributes:r}),s=(b=i==null?void 0:i.parseSync)==null?void 0:b.call(i,{attributes:r}),c=n._addFauxAttributes(s.attributes),f=n.addBufferView(o);return{primitives:[{attributes:c,mode:t,extensions:{[ju]:{bufferView:f,attributes:c}}}]}}function zse(r){if(!r.attributes&&Object.keys(r.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function*SL(r){for(const e of r.json.meshes||[])for(const t of e.primitives)yield t}const Gse=Object.freeze(Object.defineProperty({__proto__:null,decode:Lse,encode:Nse,name:Dse,preprocess:Ose},Symbol.toStringTag,{value:"Module"})),vy="KHR_texture_transform",Vse=vy,W0=new ft,Hse=new ci,jse=new ci;async function $se(r,e){var o;if(!new Ms(r).hasExtension(vy)||!((o=e.gltf)!=null&&o.loadBuffers))return;const i=r.json.materials||[];for(let s=0;s<i.length;s++)Wse(s,r)}function Wse(r,e){var o,s,c,f;const t=(o=e.json.materials)==null?void 0:o[r],n=[(s=t==null?void 0:t.pbrMetallicRoughness)==null?void 0:s.baseColorTexture,t==null?void 0:t.emissiveTexture,t==null?void 0:t.normalTexture,t==null?void 0:t.occlusionTexture,(c=t==null?void 0:t.pbrMetallicRoughness)==null?void 0:c.metallicRoughnessTexture],i=[];for(const y of n)y&&((f=y==null?void 0:y.extensions)!=null&&f[vy])&&Jse(e,r,y,i)}function Jse(r,e,t,n){const i=Xse(t,n);if(!i)return;const o=r.json.meshes||[];for(const s of o)for(const c of s.primitives){const f=c.material;Number.isFinite(f)&&e===f&&Kse(r,c,i)}}function Xse(r,e){var s;const t=(s=r.extensions)==null?void 0:s[vy],{texCoord:n=0}=r,{texCoord:i=n}=t;if(!(e.findIndex(([c,f])=>c===n&&f===i)!==-1)){const c=Zse(t);return n!==i&&(r.texCoord=i),e.push([n,i]),{originalTexCoord:n,texCoord:i,matrix:c}}return null}function Kse(r,e,t){var c,f;const{originalTexCoord:n,texCoord:i,matrix:o}=t,s=e.attributes[`TEXCOORD_${n}`];if(Number.isFinite(s)){const y=(c=r.json.accessors)==null?void 0:c[s];if(y&&y.bufferView){const b=(f=r.json.bufferViews)==null?void 0:f[y.bufferView];if(b){const{arrayBuffer:B,byteOffset:S}=r.buffers[b.buffer],O=(S||0)+(y.byteOffset||0)+(b.byteOffset||0),{ArrayType:k,length:z}=pL(y,b),J=dL[y.componentType],G=hL[y.type],j=b.byteStride||J*G,K=new Float32Array(z);for(let fe=0;fe<y.count;fe++){const Q=new k(B,O+fe*j,2);W0.set(Q[0],Q[1],1),W0.transformByMatrix3(o),K.set([W0[0],W0[1]],fe*G)}n===i?qse(y,b,r.buffers,K):Yse(i,y,e,r,K)}}}}function qse(r,e,t,n){r.componentType=5126,t.push({arrayBuffer:n.buffer,byteOffset:0,byteLength:n.buffer.byteLength}),e.buffer=t.length-1,e.byteLength=n.buffer.byteLength,e.byteOffset=0,delete e.byteStride}function Yse(r,e,t,n,i){n.buffers.push({arrayBuffer:i.buffer,byteOffset:0,byteLength:i.buffer.byteLength});const o=n.json.bufferViews;if(!o)return;o.push({buffer:n.buffers.length-1,byteLength:i.buffer.byteLength,byteOffset:0});const s=n.json.accessors;s&&(s.push({bufferView:(o==null?void 0:o.length)-1,byteOffset:0,componentType:5126,count:e.count,type:"VEC2"}),t.attributes[`TEXCOORD_${r}`]=s.length-1)}function Zse(r){const{offset:e=[0,0],rotation:t=0,scale:n=[1,1]}=r,i=new ci().set(1,0,0,0,1,0,e[0],e[1],1),o=Hse.set(Math.cos(t),Math.sin(t),0,-Math.sin(t),Math.cos(t),0,0,0,1),s=jse.set(n[0],0,0,0,n[1],0,0,0,1);return i.multiplyRight(o).multiplyRight(s)}const Qse=Object.freeze(Object.defineProperty({__proto__:null,decode:$se,name:Vse},Symbol.toStringTag,{value:"Module"})),jf="KHR_lights_punctual",eoe=jf;async function toe(r){const e=new Ms(r),{json:t}=e,n=e.getExtension(jf);n&&(e.json.lights=n.lights,e.removeExtension(jf));for(const i of t.nodes||[]){const o=e.getObjectExtension(i,jf);o&&(i.light=o.light),e.removeObjectExtension(i,jf)}}async function roe(r){const e=new Ms(r),{json:t}=e;if(t.lights){const n=e.addExtension(jf);Ba(!n.lights),n.lights=t.lights,delete t.lights}if(e.json.lights){for(const n of e.json.lights){const i=n.node;e.addObjectExtension(i,jf,n)}delete e.json.lights}}const noe=Object.freeze(Object.defineProperty({__proto__:null,decode:toe,encode:roe,name:eoe},Symbol.toStringTag,{value:"Module"})),dg="KHR_materials_unlit",ioe=dg;async function soe(r){const e=new Ms(r),{json:t}=e;for(const n of t.materials||[])n.extensions&&n.extensions.KHR_materials_unlit&&(n.unlit=!0),e.removeObjectExtension(n,dg);e.removeExtension(dg)}function ooe(r){const e=new Ms(r),{json:t}=e;if(e.materials)for(const n of t.materials||[])n.unlit&&(delete n.unlit,e.addObjectExtension(n,dg,{}),e.addExtension(dg))}const aoe=Object.freeze(Object.defineProperty({__proto__:null,decode:soe,encode:ooe,name:ioe},Symbol.toStringTag,{value:"Module"})),Dp="KHR_techniques_webgl",coe=Dp;async function loe(r){const e=new Ms(r),{json:t}=e,n=e.getExtension(Dp);if(n){const i=foe(n,e);for(const o of t.materials||[]){const s=e.getObjectExtension(o,Dp);s&&(o.technique=Object.assign({},s,i[s.technique]),o.technique.values=hoe(o.technique,e)),e.removeObjectExtension(o,Dp)}e.removeExtension(Dp)}}async function uoe(r,e){}function foe(r,e){const{programs:t=[],shaders:n=[],techniques:i=[]}=r,o=new TextDecoder;return n.forEach(s=>{if(Number.isFinite(s.bufferView))s.code=o.decode(e.getTypedArrayForBufferView(s.bufferView));else throw new Error("KHR_techniques_webgl: no shader code")}),t.forEach(s=>{s.fragmentShader=n[s.fragmentShader],s.vertexShader=n[s.vertexShader]}),i.forEach(s=>{s.program=t[s.program]}),i}function hoe(r,e){const t=Object.assign({},r.values);return Object.keys(r.uniforms||{}).forEach(n=>{r.uniforms[n].value&&!(n in t)&&(t[n]=r.uniforms[n].value)}),Object.keys(t).forEach(n=>{typeof t[n]=="object"&&t[n].index!==void 0&&(t[n].texture=e.getTexture(t[n].index))}),t}const doe=Object.freeze(Object.defineProperty({__proto__:null,decode:loe,encode:uoe,name:coe},Symbol.toStringTag,{value:"Module"})),IL=[Zne,wne,nse,ose,lse,Gse,noe,aoe,doe,Qse,pie];function Aoe(r,e={},t){var i;const n=IL.filter(o=>ML(o.name,e));for(const o of n)(i=o.preprocess)==null||i.call(o,r,e,t)}async function poe(r,e={},t){var i;const n=IL.filter(o=>ML(o.name,e));for(const o of n)await((i=o.decode)==null?void 0:i.call(o,r,e,t))}function ML(r,e){var i;const t=((i=e==null?void 0:e.gltf)==null?void 0:i.excludeExtensions)||{};return!(r in t&&!t[r])}const Mb="KHR_binary_glTF";function goe(r){const e=new Ms(r),{json:t}=e;for(const n of t.images||[]){const i=e.getObjectExtension(n,Mb);i&&Object.assign(n,i),e.removeObjectExtension(n,Mb)}t.buffers&&t.buffers[0]&&delete t.buffers[0].uri,e.removeExtension(Mb)}const sM={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},moe={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"};let _oe=class{constructor(){V(this,"idToIndexMap",{animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}});V(this,"json")}normalize(e,t){this.json=e.json;const n=e.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:console.warn(`glTF: Unknown version ${n.asset.version}`);return}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),goe(e),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}_addAsset(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}_convertTopLevelObjectsToArrays(e){for(const t in sM)this._convertTopLevelObjectToArray(e,t)}_convertTopLevelObjectToArray(e,t){const n=e[t];if(!(!n||Array.isArray(n))){e[t]=[];for(const i in n){const o=n[i];o.id=o.id||i;const s=e[t].length;e[t].push(o),this.idToIndexMap[t][i]=s}}}_convertObjectIdsToArrayIndices(e){for(const t in sM)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));for(const t of e.textures)this._convertTextureIds(t);for(const t of e.meshes)this._convertMeshIds(t);for(const t of e.nodes)this._convertNodeIds(t);for(const t of e.scenes)this._convertSceneIds(t)}_convertTextureIds(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}_convertMeshIds(e){for(const t of e.primitives){const{attributes:n,indices:i,material:o}=t;for(const s in n)n[s]=this._convertIdToIndex(n[s],"accessor");i&&(t.indices=this._convertIdToIndex(i,"accessor")),o&&(t.material=this._convertIdToIndex(o,"material"))}}_convertNodeIds(e){e.children&&(e.children=e.children.map(t=>this._convertIdToIndex(t,"node"))),e.meshes&&(e.meshes=e.meshes.map(t=>this._convertIdToIndex(t,"mesh")))}_convertSceneIds(e){e.nodes&&(e.nodes=e.nodes.map(t=>this._convertIdToIndex(t,"node")))}_convertIdsToIndices(e,t){e[t]||(console.warn(`gltf v1: json doesn't contain attribute ${t}`),e[t]=[]);for(const n of e[t])for(const i in n){const o=n[i],s=this._convertIdToIndex(o,i);n[i]=s}}_convertIdToIndex(e,t){const n=moe[t];if(n in this.idToIndexMap){const i=this.idToIndexMap[n][e];if(!Number.isFinite(i))throw new Error(`gltf v1: failed to resolve ${t} with id ${e}`);return i}return e}_updateObjects(e){for(const t of this.json.buffers)delete t.type}_updateMaterial(e){var t,n,i;for(const o of e.materials){o.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};const s=((t=o.values)==null?void 0:t.tex)||((n=o.values)==null?void 0:n.texture2d_0)||((i=o.values)==null?void 0:i.diffuseTex),c=e.textures.findIndex(f=>f.id===s);c!==-1&&(o.pbrMetallicRoughness.baseColorTexture={index:c})}}};function yoe(r,e={}){return new _oe().normalize(r,e)}async function voe(r,e,t=0,n,i){var o,s,c;return boe(r,e,t,n),yoe(r,{normalize:(o=n==null?void 0:n.gltf)==null?void 0:o.normalize}),Aoe(r,n,i),(s=n==null?void 0:n.gltf)!=null&&s.loadBuffers&&r.json.buffers&&await xoe(r,n,i),(c=n==null?void 0:n.gltf)!=null&&c.loadImages&&await woe(r,n,i),await poe(r,n,i),r}function boe(r,e,t,n){if(n.uri&&(r.baseUri=n.uri),e instanceof ArrayBuffer&&!kie(e,t,n)&&(e=new TextDecoder().decode(e)),typeof e=="string")r.json=yre(e);else if(e instanceof ArrayBuffer){const s={};t=Uie(s,e,t,n.glb),Ba(s.type==="glTF",`Invalid GLB magic string ${s.type}`),r._glb=s,r.json=s.json}else Ba(!1,"GLTF: must be ArrayBuffer or string");const i=r.json.buffers||[];if(r.buffers=new Array(i.length).fill(null),r._glb&&r._glb.header.hasBinChunk){const{binChunks:s}=r._glb;r.buffers[0]={arrayBuffer:s[0].arrayBuffer,byteOffset:s[0].byteOffset,byteLength:s[0].byteLength}}const o=r.json.images||[];r.images=new Array(o.length).fill({})}async function xoe(r,e,t){var i,o;const n=r.json.buffers||[];for(let s=0;s<n.length;++s){const c=n[s];if(c.uri){const{fetch:f}=t;Ba(f);const y=EL(c.uri,e),b=await((i=t==null?void 0:t.fetch)==null?void 0:i.call(t,y)),B=await((o=b==null?void 0:b.arrayBuffer)==null?void 0:o.call(b));r.buffers[s]={arrayBuffer:B,byteOffset:0,byteLength:B.byteLength},delete c.uri}else r.buffers[s]===null&&(r.buffers[s]={arrayBuffer:new ArrayBuffer(c.byteLength),byteOffset:0,byteLength:c.byteLength})}}async function woe(r,e,t){const n=Coe(r),i=r.json.images||[],o=[];for(const s of n)o.push(Eoe(r,i[s],s,e,t));return await Promise.all(o)}function Coe(r){const e=new Set,t=r.json.textures||[];for(const n of t)n.source!==void 0&&e.add(n.source);return Array.from(e).sort()}async function Eoe(r,e,t,n,i){let o;if(e.uri&&!e.hasOwnProperty("bufferView")){const c=EL(e.uri,n),{fetch:f}=i;o=await(await f(c)).arrayBuffer(),e.bufferView={data:o}}if(Number.isFinite(e.bufferView)){const c=cne(r.json,r.buffers,e.bufferView);o=aL(c.buffer,c.byteOffset,c.byteLength)}Ba(o,"glTF image has no data");let s=await rL(o,[Zre,Pie],{...n,mimeType:e.mimeType,basis:n.basis||{format:CL()}},i);s&&s[0]&&(s={compressed:!0,mipmaps:!1,width:s[0].width,height:s[0].height,data:s[0]}),r.images=r.images||[],r.images[t]=s}const fx={dataType:null,batchType:null,name:"glTF",id:"gltf",module:"gltf",version:gie,extensions:["gltf","glb"],mimeTypes:["model/gltf+json","model/gltf-binary"],text:!0,binary:!0,tests:["glTF"],parse:Toe,options:{gltf:{normalize:!0,loadBuffers:!0,loadImages:!0,decompressMeshes:!0},log:console}};async function Toe(r,e={},t){e={...fx.options,...e},e.gltf={...fx.options.gltf,...e.gltf};const{byteOffset:n=0}=e;return await voe({},r,n,e,t)}function oM(r,e){if(!r)throw new Error(e||"loader assertion failed.")}const PL=!!(typeof process!="object"||String(process)!=="[object process]"||process.browser),aM=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version);aM&&parseFloat(aM[1]);const Pb="4.3.2",Boe=Pb[0]>="0"&&Pb[0]<="9"?`v${Pb}`:"";function Soe(){const r=new gy({id:"loaders.gl"});return globalThis.loaders=globalThis.loaders||{},globalThis.loaders.log=r,globalThis.loaders.version=Boe,globalThis.probe=globalThis.probe||{},globalThis.probe.loaders=r,r}const Ioe=Soe();function Moe(r,e){return RL(r||{},e)}function RL(r,e,t=0){if(t>3)return e;const n={...r};for(const[i,o]of Object.entries(e))o&&typeof o=="object"&&!Array.isArray(o)?n[i]=RL(n[i]||{},e[i],t+1):n[i]=e[i];return n}const Poe="latest";function Roe(){var r;return(r=globalThis._loadersgl_)!=null&&r.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.3.2"),globalThis._loadersgl_.version}const Foe=Roe();function $u(r,e){if(!r)throw new Error(e||"loaders.gl assertion failed.")}const Zf=typeof process!="object"||String(process)!=="[object process]"||process.browser,Doe=typeof window<"u"&&typeof window.orientation<"u",cM=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version);cM&&parseFloat(cM[1]);class Ooe{constructor(e,t){V(this,"name");V(this,"workerThread");V(this,"isRunning",!0);V(this,"result");V(this,"_resolve",()=>{});V(this,"_reject",()=>{});this.name=e,this.workerThread=t,this.result=new Promise((n,i)=>{this._resolve=n,this._reject=i})}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){$u(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){$u(this.isRunning),this.isRunning=!1,this._reject(e)}}class Rb{terminate(){}}const Fb=new Map;function Loe(r){$u(r.source&&!r.url||!r.source&&r.url);let e=Fb.get(r.source||r.url);return e||(r.url&&(e=Noe(r.url),Fb.set(r.url,e)),r.source&&(e=FL(r.source),Fb.set(r.source,e))),$u(e),e}function Noe(r){if(!r.startsWith("http"))return r;const e=koe(r);return FL(e)}function FL(r){const e=new Blob([r],{type:"application/javascript"});return URL.createObjectURL(e)}function koe(r){return`try {
|
2259
2259
|
importScripts('${r}');
|
2260
2260
|
} catch (error) {
|
2261
2261
|
console.error(error);
|
@@ -3435,11 +3435,11 @@ DECKGL_FILTER_COLOR(fragColor, geometry);
|
|
3435
3435
|
`);const oe=new e("!xml");let Be=oe,ze="",pe="";for(let we=0;we<Q.length;we++)if(Q[we]==="<")if(Q[we+1]==="/"){const W=G(Q,">",we,"Closing Tag is not closed.");let ne=Q.substring(we+2,W).trim();if(this.options.removeNSPrefix){const Ce=ne.indexOf(":");Ce!==-1&&(ne=ne.substr(Ce+1))}this.options.transformTagName&&(ne=this.options.transformTagName(ne)),Be&&(ze=this.saveTextToParentTag(ze,Be,pe));const Te=pe.substring(pe.lastIndexOf(".")+1);if(ne&&this.options.unpairedTags.indexOf(ne)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${ne}>`);let Ye=0;Te&&this.options.unpairedTags.indexOf(Te)!==-1?(Ye=pe.lastIndexOf(".",pe.lastIndexOf(".")-1),this.tagsNodeStack.pop()):Ye=pe.lastIndexOf("."),pe=pe.substring(0,Ye),Be=this.tagsNodeStack.pop(),ze="",we=W}else if(Q[we+1]==="?"){let W=j(Q,we,!1,"?>");if(!W)throw new Error("Pi Tag is not closed.");if(ze=this.saveTextToParentTag(ze,Be,pe),!(this.options.ignoreDeclaration&&W.tagName==="?xml"||this.options.ignorePiTags)){const ne=new e(W.tagName);ne.add(this.options.textNodeName,""),W.tagName!==W.tagExp&&W.attrExpPresent&&(ne[":@"]=this.buildAttributesMap(W.tagExp,pe,W.tagName)),this.addChild(Be,ne,pe)}we=W.closeIndex+1}else if(Q.substr(we+1,3)==="!--"){const W=G(Q,"-->",we+4,"Comment is not closed.");if(this.options.commentPropName){const ne=Q.substring(we+4,W-2);ze=this.saveTextToParentTag(ze,Be,pe),Be.add(this.options.commentPropName,[{[this.options.textNodeName]:ne}])}we=W}else if(Q.substr(we+1,2)==="!D"){const W=t(Q,we);this.docTypeEntities=W.entities,we=W.i}else if(Q.substr(we+1,2)==="!["){const W=G(Q,"]]>",we,"CDATA is not closed.")-2,ne=Q.substring(we+9,W);ze=this.saveTextToParentTag(ze,Be,pe);let Te=this.parseTextData(ne,Be.tagname,pe,!0,!1,!0,!0);Te==null&&(Te=""),this.options.cdataPropName?Be.add(this.options.cdataPropName,[{[this.options.textNodeName]:ne}]):Be.add(this.options.textNodeName,Te),we=W+2}else{let W=j(Q,we,this.options.removeNSPrefix),ne=W.tagName;const Te=W.rawTagName;let Ye=W.tagExp,Ce=W.attrExpPresent,Ne=W.closeIndex;this.options.transformTagName&&(ne=this.options.transformTagName(ne)),Be&&ze&&Be.tagname!=="!xml"&&(ze=this.saveTextToParentTag(ze,Be,pe,!1));const Ge=Be;if(Ge&&this.options.unpairedTags.indexOf(Ge.tagname)!==-1&&(Be=this.tagsNodeStack.pop(),pe=pe.substring(0,pe.lastIndexOf("."))),ne!==oe.tagname&&(pe+=pe?"."+ne:ne),this.isItStopNode(this.options.stopNodes,pe,ne)){let Qe="";if(Ye.length>0&&Ye.lastIndexOf("/")===Ye.length-1)ne[ne.length-1]==="/"?(ne=ne.substr(0,ne.length-1),pe=pe.substr(0,pe.length-1),Ye=ne):Ye=Ye.substr(0,Ye.length-1),we=W.closeIndex;else if(this.options.unpairedTags.indexOf(ne)!==-1)we=W.closeIndex;else{const tt=this.readStopNodeData(Q,Te,Ne+1);if(!tt)throw new Error(`Unexpected end of ${Te}`);we=tt.i,Qe=tt.tagContent}const rt=new e(ne);ne!==Ye&&Ce&&(rt[":@"]=this.buildAttributesMap(Ye,pe,ne)),Qe&&(Qe=this.parseTextData(Qe,ne,pe,!0,Ce,!0,!0)),pe=pe.substr(0,pe.lastIndexOf(".")),rt.add(this.options.textNodeName,Qe),this.addChild(Be,rt,pe)}else{if(Ye.length>0&&Ye.lastIndexOf("/")===Ye.length-1){ne[ne.length-1]==="/"?(ne=ne.substr(0,ne.length-1),pe=pe.substr(0,pe.length-1),Ye=ne):Ye=Ye.substr(0,Ye.length-1),this.options.transformTagName&&(ne=this.options.transformTagName(ne));const Qe=new e(ne);ne!==Ye&&Ce&&(Qe[":@"]=this.buildAttributesMap(Ye,pe,ne)),this.addChild(Be,Qe,pe),pe=pe.substr(0,pe.lastIndexOf("."))}else{const Qe=new e(ne);this.tagsNodeStack.push(Be),ne!==Ye&&Ce&&(Qe[":@"]=this.buildAttributesMap(Ye,pe,ne)),this.addChild(Be,Qe,pe),Be=Qe}ze="",we=Ne}}else ze+=Q[we];return oe.child};function S(Q,oe,Be){const ze=this.options.updateTag(oe.tagname,Be,oe[":@"]);ze===!1||(typeof ze=="string"&&(oe.tagname=ze),Q.addChild(oe))}const O=function(Q){if(this.options.processEntities){for(let oe in this.docTypeEntities){const Be=this.docTypeEntities[oe];Q=Q.replace(Be.regx,Be.val)}for(let oe in this.lastEntities){const Be=this.lastEntities[oe];Q=Q.replace(Be.regex,Be.val)}if(this.options.htmlEntities)for(let oe in this.htmlEntities){const Be=this.htmlEntities[oe];Q=Q.replace(Be.regex,Be.val)}Q=Q.replace(this.ampEntity.regex,this.ampEntity.val)}return Q};function k(Q,oe,Be,ze){return Q&&(ze===void 0&&(ze=Object.keys(oe.child).length===0),Q=this.parseTextData(Q,oe.tagname,Be,!1,oe[":@"]?Object.keys(oe[":@"]).length!==0:!1,ze),Q!==void 0&&Q!==""&&oe.add(this.options.textNodeName,Q),Q=""),Q}function z(Q,oe,Be){const ze="*."+Be;for(const pe in Q){const we=Q[pe];if(ze===we||oe===we)return!0}return!1}function J(Q,oe,Be=">"){let ze,pe="";for(let we=oe;we<Q.length;we++){let Ae=Q[we];if(ze)Ae===ze&&(ze="");else if(Ae==='"'||Ae==="'")ze=Ae;else if(Ae===Be[0])if(Be[1]){if(Q[we+1]===Be[1])return{data:pe,index:we}}else return{data:pe,index:we};else Ae===" "&&(Ae=" ");pe+=Ae}}function G(Q,oe,Be,ze){const pe=Q.indexOf(oe,Be);if(pe===-1)throw new Error(ze);return pe+oe.length-1}function j(Q,oe,Be,ze=">"){const pe=J(Q,oe+1,ze);if(!pe)return;let we=pe.data;const Ae=pe.index,W=we.search(/\s/);let ne=we,Te=!0;W!==-1&&(ne=we.substring(0,W),we=we.substring(W+1).trimStart());const Ye=ne;if(Be){const Ce=ne.indexOf(":");Ce!==-1&&(ne=ne.substr(Ce+1),Te=ne!==pe.data.substr(Ce+1))}return{tagName:ne,tagExp:we,closeIndex:Ae,attrExpPresent:Te,rawTagName:Ye}}function K(Q,oe,Be){const ze=Be;let pe=1;for(;Be<Q.length;Be++)if(Q[Be]==="<")if(Q[Be+1]==="/"){const we=G(Q,">",Be,`${oe} is not closed`);if(Q.substring(Be+2,we).trim()===oe&&(pe--,pe===0))return{tagContent:Q.substring(ze,Be),i:we};Be=we}else if(Q[Be+1]==="?")Be=G(Q,"?>",Be+1,"StopNode is not closed.");else if(Q.substr(Be+1,3)==="!--")Be=G(Q,"-->",Be+3,"StopNode is not closed.");else if(Q.substr(Be+1,2)==="![")Be=G(Q,"]]>",Be,"StopNode is not closed.")-2;else{const we=j(Q,Be,">");we&&((we&&we.tagName)===oe&&we.tagExp[we.tagExp.length-1]!=="/"&&pe++,Be=we.closeIndex)}}function fe(Q,oe,Be){if(oe&&typeof Q=="string"){const ze=Q.trim();return ze==="true"?!0:ze==="false"?!1:n(Q,Be)}else return r.isExist(Q)?Q:""}return Xb=o,Xb}var Kb={},pP;function vue(){if(pP)return Kb;pP=1;function r(o,s){return e(o,s)}function e(o,s,c){let f;const y={};for(let b=0;b<o.length;b++){const B=o[b],S=t(B);let O="";if(c===void 0?O=S:O=c+"."+S,S===s.textNodeName)f===void 0?f=B[S]:f+=""+B[S];else{if(S===void 0)continue;if(B[S]){let k=e(B[S],s,O);const z=i(k,s);B[":@"]?n(k,B[":@"],O,s):Object.keys(k).length===1&&k[s.textNodeName]!==void 0&&!s.alwaysCreateTextNode?k=k[s.textNodeName]:Object.keys(k).length===0&&(s.alwaysCreateTextNode?k[s.textNodeName]="":k=""),y[S]!==void 0&&y.hasOwnProperty(S)?(Array.isArray(y[S])||(y[S]=[y[S]]),y[S].push(k)):s.isArray(S,O,z)?y[S]=[k]:y[S]=k}}}return typeof f=="string"?f.length>0&&(y[s.textNodeName]=f):f!==void 0&&(y[s.textNodeName]=f),y}function t(o){const s=Object.keys(o);for(let c=0;c<s.length;c++){const f=s[c];if(f!==":@")return f}}function n(o,s,c,f){if(s){const y=Object.keys(s),b=y.length;for(let B=0;B<b;B++){const S=y[B];f.isArray(S,c+"."+S,!0,!0)?o[S]=[s[S]]:o[S]=s[S]}}}function i(o,s){const{textNodeName:c}=s,f=Object.keys(o).length;return!!(f===0||f===1&&(o[c]||typeof o[c]=="boolean"||o[c]===0))}return Kb.prettify=r,Kb}var qb,gP;function bue(){if(gP)return qb;gP=1;const{buildOptions:r}=pue(),e=yue(),{prettify:t}=vue(),n=g8();class i{constructor(s){this.externalEntities={},this.options=r(s)}parse(s,c){if(typeof s!="string")if(s.toString)s=s.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(c){c===!0&&(c={});const b=n.validate(s,c);if(b!==!0)throw Error(`${b.err.msg}:${b.err.line}:${b.err.col}`)}const f=new e(this.options);f.addExternalEntities(this.externalEntities);const y=f.parseXml(s);return this.options.preserveOrder||y===void 0?y:t(y,this.options)}addEntity(s,c){if(c.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(s.indexOf("&")!==-1||s.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");if(c==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[s]=c}}return qb=i,qb}var Yb,mP;function xue(){if(mP)return Yb;mP=1;const r=`
|
3436
3436
|
`;function e(c,f){let y="";return f.format&&f.indentBy.length>0&&(y=r),t(c,f,"",y)}function t(c,f,y,b){let B="",S=!1;for(let O=0;O<c.length;O++){const k=c[O],z=n(k);if(z===void 0)continue;let J="";if(y.length===0?J=z:J=`${y}.${z}`,z===f.textNodeName){let Q=k[z];o(J,f)||(Q=f.tagValueProcessor(z,Q),Q=s(Q,f)),S&&(B+=b),B+=Q,S=!1;continue}else if(z===f.cdataPropName){S&&(B+=b),B+=`<![CDATA[${k[z][0][f.textNodeName]}]]>`,S=!1;continue}else if(z===f.commentPropName){B+=b+`<!--${k[z][0][f.textNodeName]}-->`,S=!0;continue}else if(z[0]==="?"){const Q=i(k[":@"],f),oe=z==="?xml"?"":b;let Be=k[z][0][f.textNodeName];Be=Be.length!==0?" "+Be:"",B+=oe+`<${z}${Be}${Q}?>`,S=!0;continue}let G=b;G!==""&&(G+=f.indentBy);const j=i(k[":@"],f),K=b+`<${z}${j}`,fe=t(k[z],f,J,G);f.unpairedTags.indexOf(z)!==-1?f.suppressUnpairedNode?B+=K+">":B+=K+"/>":(!fe||fe.length===0)&&f.suppressEmptyNode?B+=K+"/>":fe&&fe.endsWith(">")?B+=K+`>${fe}${b}</${z}>`:(B+=K+">",fe&&b!==""&&(fe.includes("/>")||fe.includes("</"))?B+=b+f.indentBy+fe+b:B+=fe,B+=`</${z}>`),S=!0}return B}function n(c){const f=Object.keys(c);for(let y=0;y<f.length;y++){const b=f[y];if(c.hasOwnProperty(b)&&b!==":@")return b}}function i(c,f){let y="";if(c&&!f.ignoreAttributes)for(let b in c){if(!c.hasOwnProperty(b))continue;let B=f.attributeValueProcessor(b,c[b]);B=s(B,f),B===!0&&f.suppressBooleanAttributes?y+=` ${b.substr(f.attributeNamePrefix.length)}`:y+=` ${b.substr(f.attributeNamePrefix.length)}="${B}"`}return y}function o(c,f){c=c.substr(0,c.length-f.textNodeName.length-1);let y=c.substr(c.lastIndexOf(".")+1);for(let b in f.stopNodes)if(f.stopNodes[b]===c||f.stopNodes[b]==="*."+y)return!0;return!1}function s(c,f){if(c&&c.length>0&&f.processEntities)for(let y=0;y<f.entities.length;y++){const b=f.entities[y];c=c.replace(b.regex,b.val)}return c}return Yb=e,Yb}var Zb,_P;function wue(){if(_P)return Zb;_P=1;const r=xue(),e=m8(),t={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(c,f){return f},attributeValueProcessor:function(c,f){return f},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1};function n(c){this.options=Object.assign({},t,c),this.options.ignoreAttributes===!0||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=e(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=s),this.processTextOrObjNode=i,this.options.format?(this.indentate=o,this.tagEndChar=`>
|
3437
3437
|
`,this.newLine=`
|
3438
|
-
`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}n.prototype.build=function(c){return this.options.preserveOrder?r(c,this.options):(Array.isArray(c)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(c={[this.options.arrayNodeName]:c}),this.j2x(c,0,[]).val)},n.prototype.j2x=function(c,f,y){let b="",B="";const S=y.join(".");for(let O in c)if(Object.prototype.hasOwnProperty.call(c,O))if(typeof c[O]>"u")this.isAttribute(O)&&(B+="");else if(c[O]===null)this.isAttribute(O)?B+="":O[0]==="?"?B+=this.indentate(f)+"<"+O+"?"+this.tagEndChar:B+=this.indentate(f)+"<"+O+"/"+this.tagEndChar;else if(c[O]instanceof Date)B+=this.buildTextValNode(c[O],O,"",f);else if(typeof c[O]!="object"){const k=this.isAttribute(O);if(k&&!this.ignoreAttributesFn(k,S))b+=this.buildAttrPairStr(k,""+c[O]);else if(!k)if(O===this.options.textNodeName){let z=this.options.tagValueProcessor(O,""+c[O]);B+=this.replaceEntitiesValue(z)}else B+=this.buildTextValNode(c[O],O,"",f)}else if(Array.isArray(c[O])){const k=c[O].length;let z="",J="";for(let G=0;G<k;G++){const j=c[O][G];if(!(typeof j>"u"))if(j===null)O[0]==="?"?B+=this.indentate(f)+"<"+O+"?"+this.tagEndChar:B+=this.indentate(f)+"<"+O+"/"+this.tagEndChar;else if(typeof j=="object")if(this.options.oneListGroup){const K=this.j2x(j,f+1,y.concat(O));z+=K.val,this.options.attributesGroupName&&j.hasOwnProperty(this.options.attributesGroupName)&&(J+=K.attrStr)}else z+=this.processTextOrObjNode(j,O,f,y);else if(this.options.oneListGroup){let K=this.options.tagValueProcessor(O,j);K=this.replaceEntitiesValue(K),z+=K}else z+=this.buildTextValNode(j,O,"",f)}this.options.oneListGroup&&(z=this.buildObjectNode(z,O,J,f)),B+=z}else if(this.options.attributesGroupName&&O===this.options.attributesGroupName){const k=Object.keys(c[O]),z=k.length;for(let J=0;J<z;J++)b+=this.buildAttrPairStr(k[J],""+c[O][k[J]])}else B+=this.processTextOrObjNode(c[O],O,f,y);return{attrStr:b,val:B}},n.prototype.buildAttrPairStr=function(c,f){return f=this.options.attributeValueProcessor(c,""+f),f=this.replaceEntitiesValue(f),this.options.suppressBooleanAttributes&&f==="true"?" "+c:" "+c+'="'+f+'"'};function i(c,f,y,b){const B=this.j2x(c,y+1,b.concat(f));return c[this.options.textNodeName]!==void 0&&Object.keys(c).length===1?this.buildTextValNode(c[this.options.textNodeName],f,B.attrStr,y):this.buildObjectNode(B.val,f,B.attrStr,y)}n.prototype.buildObjectNode=function(c,f,y,b){if(c==="")return f[0]==="?"?this.indentate(b)+"<"+f+y+"?"+this.tagEndChar:this.indentate(b)+"<"+f+y+this.closeTag(f)+this.tagEndChar;{let B="</"+f+this.tagEndChar,S="";return f[0]==="?"&&(S="?",B=""),(y||y==="")&&c.indexOf("<")===-1?this.indentate(b)+"<"+f+y+S+">"+c+B:this.options.commentPropName!==!1&&f===this.options.commentPropName&&S.length===0?this.indentate(b)+`<!--${c}-->`+this.newLine:this.indentate(b)+"<"+f+y+S+this.tagEndChar+c+this.indentate(b)+B}},n.prototype.closeTag=function(c){let f="";return this.options.unpairedTags.indexOf(c)!==-1?this.options.suppressUnpairedNode||(f="/"):this.options.suppressEmptyNode?f="/":f=`></${c}`,f},n.prototype.buildTextValNode=function(c,f,y,b){if(this.options.cdataPropName!==!1&&f===this.options.cdataPropName)return this.indentate(b)+`<![CDATA[${c}]]>`+this.newLine;if(this.options.commentPropName!==!1&&f===this.options.commentPropName)return this.indentate(b)+`<!--${c}-->`+this.newLine;if(f[0]==="?")return this.indentate(b)+"<"+f+y+"?"+this.tagEndChar;{let B=this.options.tagValueProcessor(f,c);return B=this.replaceEntitiesValue(B),B===""?this.indentate(b)+"<"+f+y+this.closeTag(f)+this.tagEndChar:this.indentate(b)+"<"+f+y+">"+B+"</"+f+this.tagEndChar}},n.prototype.replaceEntitiesValue=function(c){if(c&&c.length>0&&this.options.processEntities)for(let f=0;f<this.options.entities.length;f++){const y=this.options.entities[f];c=c.replace(y.regex,y.val)}return c};function o(c){return this.options.indentBy.repeat(c)}function s(c){return c.startsWith(this.options.attributeNamePrefix)&&c!==this.options.textNodeName?c.substr(this.attrPrefixLen):!1}return Zb=n,Zb}var Qb,yP;function Cue(){if(yP)return Qb;yP=1;const r=g8(),e=bue(),t=wue();return Qb={XMLParser:e,XMLValidator:r,XMLBuilder:t},Qb}var Eue=Cue();function vP(r,e){if(e!=null&&e._parser&&e._parser!=="fast-xml-parser")throw new Error(e==null?void 0:e._parser);const t={allowBooleanAttributes:!0,ignoreDeclaration:!0,removeNSPrefix:e==null?void 0:e.removeNSPrefix,textNodeName:e==null?void 0:e.textNodeName,isArray:(i,o,s,c)=>{var y;return!!((y=e==null?void 0:e.arrayPaths)!=null&&y.some(b=>o===b))},...e==null?void 0:e._fastXML},n=Tue(r,t);return e!=null&&e.uncapitalizeKeys?mx(n):n}function Tue(r,e){return new Eue.XMLParser({ignoreAttributes:!1,attributeNamePrefix:"",...e}).parse(r)}const Bue="4.2.4",Oo={dataType:null,batchType:null,name:"XML",id:"xml",module:"xml",version:Bue,worker:!1,extensions:["xml"],mimeTypes:["application/xml","text/xml"],testText:Sue,options:{xml:{_parser:"fast-xml-parser",uncapitalizeKeys:!1,removeNSPrefix:!1,textNodeName:"value",arrayPaths:[]}},parse:async(r,e)=>vP(new TextDecoder().decode(r),{...Oo.options.xml,...e==null?void 0:e.xml}),parseTextSync:(r,e)=>vP(r,{...Oo.options.xml,...e==null?void 0:e.xml})};function Sue(r){return r.startsWith("<?xml")}async function gh(r,e,t,n){return n._parse(r,e,t,n)}function ai(r,e){if(!r)throw new Error(e||"loader assertion failed.")}const _8=!!(typeof process!="object"||String(process)!=="[object process]"||process.browser),bP=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version);bP&&parseFloat(bP[1]);function Iue(r,e){return y8(r||{},e)}function y8(r,e,t=0){if(t>3)return e;const n={...r};for(const[i,o]of Object.entries(e))o&&typeof o=="object"&&!Array.isArray(o)?n[i]=y8(n[i]||{},e[i],t+1):n[i]=e[i];return n}function Mue(r){var e;globalThis.loaders||(globalThis.loaders={}),(e=globalThis.loaders).modules||(e.modules={}),Object.assign(globalThis.loaders.modules,r)}function Pue(r){var t,n;return((n=(t=globalThis.loaders)==null?void 0:t.modules)==null?void 0:n[r])||null}function Rue(){var r;return(r=globalThis._loadersgl_)!=null&&r.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.2.4"),globalThis._loadersgl_.version}const Fue=Rue();function Due(r,e){if(!r)throw new Error("loaders.gl assertion failed.")}const Fg=typeof process!="object"||String(process)!=="[object process]"||process.browser,AC=typeof importScripts=="function",xP=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version);xP&&parseFloat(xP[1]);const e1={};async function Qf(r,e=null,t={},n=null){return e&&(r=Oue(r,e,t,n)),e1[r]=e1[r]||Lue(r),await e1[r]}function Oue(r,e,t={},n=null){if(!t.useLocalLibraries&&r.startsWith("http"))return r;n=n||r;const i=t.modules||{};return i[n]?i[n]:Fg?t.CDN?(Due(t.CDN.startsWith("http")),`${t.CDN}/${e}@${Fue}/dist/libs/${n}`):AC?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}async function Lue(r){if(r.endsWith("wasm"))return await kue(r);if(!Fg)try{const{requireFromFile:t}=globalThis.loaders||{};return await(t==null?void 0:t(r))}catch(t){return console.error(t),null}if(AC)return importScripts(r);const e=await Uue(r);return Nue(e,r)}function Nue(r,e){if(!Fg){const{requireFromString:n}=globalThis.loaders||{};return n==null?void 0:n(r,e)}if(AC)return eval.call(globalThis,r),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(r))}catch{t.text=r}return document.body.appendChild(t),null}async function kue(r){const{readFileAsArrayBuffer:e}=globalThis.loaders||{};return Fg||!e||r.startsWith("http")?await(await fetch(r)).arrayBuffer():await e(r)}async function Uue(r){const{readFileAsText:e}=globalThis.loaders||{};return Fg||!e||r.startsWith("http")?await(await fetch(r)).text():await e(r)}function zue(r,e=5){return typeof r=="string"?r.slice(0,e):ArrayBuffer.isView(r)?wP(r.buffer,r.byteOffset,e):r instanceof ArrayBuffer?wP(r,0,e):""}function wP(r,e,t){if(r.byteLength<=e+t)return"";const n=new DataView(r);let i="";for(let o=0;o<t;o++)i+=String.fromCharCode(n.getUint8(e+o));return i}function v8(r){try{return JSON.parse(r)}catch{throw new Error(`Failed to parse JSON from data starting with "${zue(r)}"`)}}function Dg(r,e,t){const n=t!==void 0?new Uint8Array(r).subarray(e,e+t):new Uint8Array(r).subarray(e);return new Uint8Array(n).buffer}function Jl(r,e){return ai(r>=0),ai(e>0),r+(e-1)&-4}function b8(r,e,t){let n;if(r instanceof ArrayBuffer)n=new Uint8Array(r);else{const i=r.byteOffset,o=r.byteLength;n=new Uint8Array(r.buffer||r.arrayBuffer,i,o)}return e.set(n,t),t+Jl(n.byteLength,4)}const Gue="Queued Requests",Vue="Active Requests",Hue="Cancelled Requests",jue="Queued Requests Ever",$ue="Active Requests Ever",Wue={id:"request-scheduler",throttleRequests:!0,maxRequests:6,debounceTime:0};class x8{constructor(e={}){V(this,"props");V(this,"stats");V(this,"activeRequestCount",0);V(this,"requestQueue",[]);V(this,"requestMap",new Map);V(this,"updateTimer",null);this.props={...Wue,...e},this.stats=new cL({id:this.props.id}),this.stats.get(Gue),this.stats.get(Vue),this.stats.get(Hue),this.stats.get(jue),this.stats.get($ue)}scheduleRequest(e,t=()=>0){if(!this.props.throttleRequests)return Promise.resolve({done:()=>{}});if(this.requestMap.has(e))return this.requestMap.get(e);const n={handle:e,priority:0,getPriority:t},i=new Promise(o=>(n.resolve=o,n));return this.requestQueue.push(n),this.requestMap.set(e,i),this._issueNewRequests(),i}_issueRequest(e){const{handle:t,resolve:n}=e;let i=!1;const o=()=>{i||(i=!0,this.requestMap.delete(t),this.activeRequestCount--,this._issueNewRequests())};return this.activeRequestCount++,n?n({done:o}):Promise.resolve({done:o})}_issueNewRequests(){this.updateTimer!==null&&clearTimeout(this.updateTimer),this.updateTimer=setTimeout(()=>this._issueNewRequestsAsync(),this.props.debounceTime)}_issueNewRequestsAsync(){this.updateTimer!==null&&clearTimeout(this.updateTimer),this.updateTimer=null;const e=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(e!==0){this._updateAllRequests();for(let t=0;t<e;++t){const n=this.requestQueue.shift();n&&this._issueRequest(n)}}}_updateAllRequests(){const e=this.requestQueue;for(let t=0;t<e.length;++t){const n=e[t];this._updateRequest(n)||(e.splice(t,1),this.requestMap.delete(n.handle),t--)}e.sort((t,n)=>t.priority-n.priority)}_updateRequest(e){return e.priority=e.getPriority(e.handle),e.priority<0?(e.resolve(null),!1):!0}}function Jue(){var e;if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();const r=(e=window.location)==null?void 0:e.pathname;return(r==null?void 0:r.slice(0,r.lastIndexOf("/")+1))||""}function w8(r){const e=r?r.lastIndexOf("/"):-1;return e>=0?r.substr(0,e):""}function Xue(...r){const e=[];for(let o=0;o<r.length;o++)e[o]=r[o];let t="",n=!1,i;for(let o=e.length-1;o>=-1&&!n;o--){let s;o>=0?s=e[o]:(i===void 0&&(i=Jue()),s=i),s.length!==0&&(t=`${s}/${t}`,n=s.charCodeAt(0)===Lp)}return t=Kue(t,!n),n?`/${t}`:t.length>0?t:"."}const Lp=47,t1=46;function Kue(r,e){let t="",n=-1,i=0,o,s=!1;for(let c=0;c<=r.length;++c){if(c<r.length)o=r.charCodeAt(c);else{if(o===Lp)break;o=Lp}if(o===Lp){if(!(n===c-1||i===1))if(n!==c-1&&i===2){if(t.length<2||!s||t.charCodeAt(t.length-1)!==t1||t.charCodeAt(t.length-2)!==t1){if(t.length>2){const f=t.length-1;let y=f;for(;y>=0&&t.charCodeAt(y)!==Lp;--y);if(y!==f){t=y===-1?"":t.slice(0,y),n=c,i=0,s=!1;continue}}else if(t.length===2||t.length===1){t="",n=c,i=0,s=!1;continue}}e&&(t.length>0?t+="/..":t="..",s=!0)}else{const f=r.slice(n+1,c);t.length>0?t+=`/${f}`:t=f,s=!1}n=c,i=0}else o===t1&&i!==-1?++i:i=-1}return t}class que{constructor(e){V(this,"fetch");V(this,"loadOptions");V(this,"_needsRefresh",!0);V(this,"props");this.props={...e},this.loadOptions={...e.loadOptions},this.fetch=Yue(this.loadOptions)}setProps(e){this.props=Object.assign(this.props,e),this.setNeedsRefresh()}setNeedsRefresh(){this._needsRefresh=!0}getNeedsRefresh(e=!0){const t=this._needsRefresh;return e&&(this._needsRefresh=!1),t}}function Yue(r){const e=r==null?void 0:r.fetch;if(e&&typeof e=="function")return(n,i)=>e(n,i);const t=r==null?void 0:r.fetch;return t&&typeof t!="function"?n=>fetch(n,t):n=>fetch(n)}class gg extends que{}V(gg,"type","template"),V(gg,"testURL",e=>!1);function Zue(r,e){var o,s,c;const t=(o=Oo.parseTextSync)==null?void 0:o.call(Oo,r,e),n=((s=t==null?void 0:t.ServiceExceptionReport)==null?void 0:s.ServiceException)||((c=t==null?void 0:t["ogc:ServiceExceptionReport"])==null?void 0:c["ogc:ServiceException"]);return typeof n=="string"?n:n.value||n.code||"Unknown error"}const Que="4.2.4",Iu={dataType:null,batchType:null,id:"wms-error",name:"WMS Error",module:"wms",version:Que,worker:!1,extensions:["xml"],mimeTypes:["application/vnd.ogc.se_xml","application/xml","text/xml"],testText:efe,options:{wms:{throwOnError:!1}},parse:async(r,e)=>r1(new TextDecoder().decode(r),e),parseSync:(r,e)=>r1(new TextDecoder().decode(r),e),parseTextSync:(r,e)=>r1(r,e)};function efe(r){return r.startsWith("<?xml")}function r1(r,e){const t={...Iu.options.wms,...e==null?void 0:e.wms},n=Zue(r,t),i=t.minimalErrors?n:`WMS Service error: ${n}`;if(t.throwOnError)throw new Error(i);return i}function TA(r){return Array.isArray(r)?r:r?[r]:[]}function Ty(r){const e=TA(r);return e.length>0&&e.every(t=>typeof t=="string")?e:[]}function Q0(r,e=void 0){switch(typeof r){case"number":return r;case"string":return parseFloat(r);default:return}}function n1(r,e=void 0){switch(typeof r){case"number":return r;case"string":return parseInt(r,10);default:return}}function hA(r){switch(r){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1;default:return!1}}function CP(r,e){var o;const t=(o=Oo.parseTextSync)==null?void 0:o.call(Oo,r,e),n=t.WMT_MS_Capabilities||t.WMS_Capabilities||t,i=tfe(n);if(e!=null&&e.inheritedLayerProps)for(const s of i.layers)E8(s,null);return e!=null&&e.includeRawJSON&&(i.json=n),e!=null&&e.includeXMLText&&(i.xml=r),i}function tfe(r){var n,i,o,s,c,f,y,b,B,S,O,k,z,J,G,j;const e={version:String(r.version||""),name:String(((n=r.Service)==null?void 0:n.Name)||"unnamed"),title:(i=r.Service)!=null&&i.Title?String((o=r.Service)==null?void 0:o.Title):void 0,abstract:(s=r.Service)!=null&&s.Abstract?String((c=r.Service)==null?void 0:c.Abstract):void 0,keywords:Ty((y=(f=r.Service)==null?void 0:f.KeywordList)==null?void 0:y.Keyword),fees:(b=r.Service)!=null&&b.Fees?JSON.stringify((B=r.Service)==null?void 0:B.Fees):void 0,accessConstraints:(S=r.Service)!=null&&S.AccessConstraints?JSON.stringify((O=r.Service)==null?void 0:O.AccessConstraints):void 0,layerLimit:n1((k=r.Service)==null?void 0:k.LayerLimit),maxWidth:n1((z=r.Service)==null?void 0:z.maxWidth),maxHeight:n1((J=r.Service)==null?void 0:J.maxHeight),layers:[],requests:rfe((G=r.Capability)==null?void 0:G.Request),exceptions:nfe(r.Exception)},t=TA((j=r.Capability)==null?void 0:j.Layer);for(const K of t)e.layers.push(C8(K));for(const[K,fe]of Object.entries(e))fe===void 0&&delete e[K];return e}function rfe(r){const e={};for(const[t,n]of Object.entries(r||{})){const i=Ty(n==null?void 0:n.Format);e[t]={mimeTypes:i}}return e}function nfe(r){if(TA(r==null?void 0:r.Format).length>0)return{mimeTypes:Ty(r)}}function C8(r){var y;const e={title:String((r==null?void 0:r.Title)||""),name:(r==null?void 0:r.Name)&&String(r==null?void 0:r.Name),abstract:(r==null?void 0:r.Name)&&String(r==null?void 0:r.Abstract),keywords:Ty((y=r.KeywordList)==null?void 0:y.Keyword)},t=(r==null?void 0:r.CRS)||(r==null?void 0:r.SRS);t&&Array.isArray(t)&&t.every(b=>typeof b=="string")&&(e.crs=t);let n=(r==null?void 0:r.EX_GeographicBoundingBox)&&ife(r==null?void 0:r.EX_GeographicBoundingBox);n&&(e.geographicBoundingBox=n),n=(r==null?void 0:r.LatLonBoundingBox)&&sfe(r==null?void 0:r.LatLonBoundingBox),n&&(e.geographicBoundingBox=n);const i=(r==null?void 0:r.BoundingBox)&&ofe(r==null?void 0:r.BoundingBox);i&&i.length>0&&(e.boundingBoxes=i);const s=TA(r==null?void 0:r.Dimension).map(b=>cfe(b));s.length&&(e.dimensions=s),r!=null&&r.opaque&&(e.opaque=hA(r==null?void 0:r.opaque)),r!=null&&r.cascaded&&(e.cascaded=hA(r==null?void 0:r.cascaded)),r!=null&&r.queryable&&(e.queryable=hA(r==null?void 0:r.queryable));const c=TA(r==null?void 0:r.Layer),f=[];for(const b of c)f.push(C8(b));f.length>0&&(e.layers=f);for(const[b,B]of Object.entries(e))B===void 0&&delete e[b];return e}function ife(r){const{westBoundLongitude:e,northBoundLatitude:t,eastBoundLongitude:n,southBoundLatitude:i}=r;return[[e,i],[n,t]]}function sfe(r){const{minx:e,miny:t,maxx:n,maxy:i}=r;return[[e,t],[n,i]]}function ofe(r){return TA(r).map(t=>afe(t))}function afe(r){const{CRS:e,SRS:t,minx:n,miny:i,maxx:o,maxy:s,resx:c,resy:f}=r,y={crs:e||t,boundingBox:[[Q0(n),Q0(i)],[Q0(o),Q0(s)]]};return c&&(y.xResolution=c),f&&(y.yResolution=f),y}function cfe(r){const{name:e,units:t,value:n}=r,i={name:e,units:t,extent:n};return r.unitSymbol&&(i.unitSymbol=r.unitSymbol),r.default&&(i.defaultValue=r.default),r.multipleValues&&(i.multipleValues=hA(r.multipleValues)),r.nearestValue&&(i.nearestValue=hA(r.nearestValue)),r.current&&(i.current=hA(r.current)),i}function E8(r,e){e!=null&&e.geographicBoundingBox&&!r.geographicBoundingBox&&(r.geographicBoundingBox=[...e.geographicBoundingBox]),e!=null&&e.crs&&!r.crs&&(r.crs=[...e.crs]),e!=null&&e.boundingBoxes&&!r.boundingBoxes&&(r.boundingBoxes=[...e.boundingBoxes]),e!=null&&e.dimensions&&!r.dimensions&&(r.dimensions=[...e.dimensions]);for(const t of r.layers||[])E8(t,r)}const lfe="4.2.4",pC={dataType:null,batchType:null,id:"wms-capabilities",name:"WMS Capabilities",module:"wms",version:lfe,worker:!1,extensions:["xml"],mimeTypes:["application/vnd.ogc.wms_xml","application/xml","text/xml"],testText:ufe,options:{wms:{}},parse:async(r,e)=>CP(new TextDecoder().decode(r),e==null?void 0:e.wms),parseTextSync:(r,e)=>CP(r,e==null?void 0:e.wms)};function ufe(r){return r.startsWith("<?xml")}function EP(r,e){var o,s;const n=((s=((o=Oo.parseTextSync)==null?void 0:o.call(Oo,r,e)).FeatureInfoResponse)==null?void 0:s.FIELDS)||[];return{features:(Array.isArray(n)?n:[n]).map(c=>ffe(c))}}function ffe(r){return{attributes:r||{},type:"",bounds:{bottom:0,top:0,left:0,right:0}}}const hfe={...pC,dataType:null,id:"wms-feature-info",name:"WMS FeatureInfo",parse:async(r,e)=>EP(new TextDecoder().decode(r),e),parseTextSync:(r,e)=>EP(r,e)};function TP(r,e){var n;return(n=Oo.parseTextSync)==null?void 0:n.call(Oo,r,e)}const dfe={...pC,dataType:null,id:"wms-layer-description",name:"WMS DescribeLayer",parse:async(r,e)=>TP(new TextDecoder().decode(r),e),parseTextSync:(r,e)=>TP(r,e)};function Afe(r,e){const{type:t="auto"}=r,n=t==="auto"?gfe(r.url,e):pfe(t,e);if(!n)throw new Error("Not a valid image source type");return n.create(r)}function pfe(r,e){for(const t of e)if(t.type===r)return t;return null}function gfe(r,e){for(const t of e)if(t.testURL&&t.testURL(r))return t;return null}const mfe="4.2.4";var UD;const _fe=(UD=globalThis.loaders)==null?void 0:UD.parseImageNode,_x=typeof Image<"u",yx=typeof ImageBitmap<"u",yfe=!!_fe,vx=_8?!0:yfe;function vfe(r){switch(r){case"auto":return yx||_x||vx;case"imagebitmap":return yx;case"image":return _x;case"data":return vx;default:throw new Error(`@loaders.gl/images: image ${r} not supported in this environment`)}}function bfe(){if(yx)return"imagebitmap";if(_x)return"image";if(vx)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function xfe(r){const e=wfe(r);if(!e)throw new Error("Not an image");return e}function gC(r){switch(xfe(r)){case"data":return r;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=r.width,e.height=r.height,t.drawImage(r,0,0),t.getImageData(0,0,r.width,r.height);default:throw new Error("getImageData")}}function wfe(r){return typeof ImageBitmap<"u"&&r instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&r instanceof Image?"image":r&&typeof r=="object"&&r.data&&r.width&&r.height?"data":null}const Cfe=/^data:image\/svg\+xml/,Efe=/\.svg((\?|#).*)?$/;function mC(r){return r&&(Cfe.test(r)||Efe.test(r))}function Tfe(r,e){if(mC(e)){let n=new TextDecoder().decode(r);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(o){throw new Error(o.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return T8(r,e)}function T8(r,e){if(mC(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(r)])}async function B8(r,e,t){const n=Tfe(r,t),i=self.URL||self.webkitURL,o=typeof n!="string"&&i.createObjectURL(n);try{return await Bfe(o||n,e)}finally{o&&i.revokeObjectURL(o)}}async function Bfe(r,e){const t=new Image;return t.src=r,e.image&&e.image.decode&&t.decode?(await t.decode(),t):await new Promise((n,i)=>{try{t.onload=()=>n(t),t.onerror=o=>{const s=o instanceof Error?o.message:"error";i(new Error(s))}}catch(o){i(o)}})}const Sfe={};let BP=!0;async function Ife(r,e,t){let n;mC(t)?n=await B8(r,e,t):n=T8(r,t);const i=e&&e.imagebitmap;return await Mfe(n,i)}async function Mfe(r,e=null){if((Pfe(e)||!BP)&&(e=null),e)try{return await createImageBitmap(r,e)}catch(t){console.warn(t),BP=!1}return await createImageBitmap(r)}function Pfe(r){for(const e in r||Sfe)return!1;return!0}function Rfe(r){return!Lfe(r,"ftyp",4)||!(r[8]&96)?null:Ffe(r)}function Ffe(r){switch(Dfe(r,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function Dfe(r,e,t){return String.fromCharCode(...r.slice(e,t))}function Ofe(r){return[...r].map(e=>e.charCodeAt(0))}function Lfe(r,e,t=0){const n=Ofe(e);for(let i=0;i<n.length;++i)if(n[i]!==r[i+t])return!1;return!0}const qc=!1,Yp=!0;function By(r){const e=Og(r);return kfe(e)||Gfe(e)||Ufe(e)||zfe(e)||Nfe(e)}function Nfe(r){const e=new Uint8Array(r instanceof DataView?r.buffer:r),t=Rfe(e);return t?{mimeType:t.mimeType,width:0,height:0}:null}function kfe(r){const e=Og(r);return e.byteLength>=24&&e.getUint32(0,qc)===2303741511?{mimeType:"image/png",width:e.getUint32(16,qc),height:e.getUint32(20,qc)}:null}function Ufe(r){const e=Og(r);return e.byteLength>=10&&e.getUint32(0,qc)===1195984440?{mimeType:"image/gif",width:e.getUint16(6,Yp),height:e.getUint16(8,Yp)}:null}function zfe(r){const e=Og(r);return e.byteLength>=14&&e.getUint16(0,qc)===16973&&e.getUint32(2,Yp)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,Yp),height:e.getUint32(22,Yp)}:null}function Gfe(r){const e=Og(r);if(!(e.byteLength>=3&&e.getUint16(0,qc)===65496&&e.getUint8(2)===255))return null;const{tableMarkers:n,sofMarkers:i}=Vfe();let o=2;for(;o+9<e.byteLength;){const s=e.getUint16(o,qc);if(i.has(s))return{mimeType:"image/jpeg",height:e.getUint16(o+5,qc),width:e.getUint16(o+7,qc)};if(!n.has(s))return null;o+=2,o+=e.getUint16(o,qc)}return null}function Vfe(){const r=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)r.add(t);return{tableMarkers:r,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function Og(r){if(r instanceof DataView)return r;if(ArrayBuffer.isView(r))return new DataView(r.buffer);if(r instanceof ArrayBuffer)return new DataView(r);throw new Error("toDataView")}async function Hfe(r,e){var i;const{mimeType:t}=By(r)||{},n=(i=globalThis.loaders)==null?void 0:i.parseImageNode;return ai(n),await n(r,t)}async function jfe(r,e,t){e=e||{};const i=(e.image||{}).type||"auto",{url:o}=t||{},s=$fe(i);let c;switch(s){case"imagebitmap":c=await Ife(r,e,o);break;case"image":c=await B8(r,e,o);break;case"data":c=await Hfe(r);break;default:ai(!1)}return i==="data"&&(c=gC(c)),c}function $fe(r){switch(r){case"auto":case"data":return bfe();default:return vfe(r),r}}const Wfe=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],Jfe=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],Xfe={image:{type:"auto",decode:!0}},mg={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:mfe,mimeTypes:Jfe,extensions:Wfe,parse:jfe,tests:[r=>!!By(new DataView(r))],options:Xfe},i1={};function S8(r){if(i1[r]===void 0){const e=_8?qfe(r):Kfe(r);i1[r]=e}return i1[r]}function Kfe(r){var i,o;const e=["image/png","image/jpeg","image/gif"],t=((i=globalThis.loaders)==null?void 0:i.imageFormatsNode)||e;return!!((o=globalThis.loaders)==null?void 0:o.parseImageNode)&&t.includes(r)}function qfe(r){switch(r){case"image/avif":case"image/webp":return Yfe(r);default:return!0}}function Yfe(r){try{return document.createElement("canvas").toDataURL(r).indexOf(`data:${r}`)===0}catch{return!1}}const Zfe={type:"wms",testURL:r=>r.toLowerCase().includes("wms"),create:r=>new Qfe(r)};class Qfe extends gg{constructor(t){super(t);V(this,"url");V(this,"data");V(this,"substituteCRS84");V(this,"flipCRS");V(this,"wmsParameters");V(this,"vendorParameters");V(this,"capabilities",null);this.url=t.url,this.data=t.url,this.substituteCRS84=t.substituteCRS84??!1,this.flipCRS=["EPSG:4326"],this.wmsParameters={layers:void 0,query_layers:void 0,styles:void 0,version:"1.3.0",crs:"EPSG:4326",format:"image/png",info_format:"text/plain",transparent:void 0,time:void 0,elevation:void 0,...t.wmsParameters},this.vendorParameters=t.vendorParameters||{}}async getMetadata(){const t=await this.getCapabilities();return this.normalizeMetadata(t)}async getImage(t){const{boundingBox:n,bbox:i,...o}=t,s={bbox:n?[...n[0],...n[1]]:i,...o};return await this.getMap(s)}normalizeMetadata(t){return t}async getCapabilities(t,n){const i=this.getCapabilitiesURL(t,n),o=await this.fetch(i),s=await o.arrayBuffer();this._checkResponse(o,s);const c=await pC.parse(s,this.loadOptions);return this.capabilities=c,c}async getMap(t,n){const i=this.getMapURL(t,n),o=await this.fetch(i),s=await o.arrayBuffer();this._checkResponse(o,s);try{return await mg.parse(s,this.loadOptions)}catch{throw this._parseError(s)}}async getFeatureInfo(t,n){const i=this.getFeatureInfoURL(t,n),o=await this.fetch(i),s=await o.arrayBuffer();return this._checkResponse(o,s),await hfe.parse(s,this.loadOptions)}async getFeatureInfoText(t,n){const i=this.getFeatureInfoURL(t,n),o=await this.fetch(i),s=await o.arrayBuffer();return this._checkResponse(o,s),new TextDecoder().decode(s)}async describeLayer(t,n){const i=this.describeLayerURL(t,n),o=await this.fetch(i),s=await o.arrayBuffer();return this._checkResponse(o,s),await dfe.parse(s,this.loadOptions)}async getLegendGraphic(t,n){const i=this.getLegendGraphicURL(t,n),o=await this.fetch(i),s=await o.arrayBuffer();this._checkResponse(o,s);try{return await mg.parse(s,this.loadOptions)}catch{throw this._parseError(s)}}getCapabilitiesURL(t,n){const i={version:this.wmsParameters.version,...t};return this._getWMSUrl("GetCapabilities",i,n)}getMapURL(t,n){t=this._getWMS130Parameters(t);const i={version:this.wmsParameters.version,format:this.wmsParameters.format,transparent:this.wmsParameters.transparent,time:this.wmsParameters.time,elevation:this.wmsParameters.elevation,layers:this.wmsParameters.layers,styles:this.wmsParameters.styles,crs:this.wmsParameters.crs,...t};return this._getWMSUrl("GetMap",i,n)}getFeatureInfoURL(t,n){t=this._getWMS130Parameters(t);const{boundingBox:i,bbox:o}=t;t.bbox=i?[...i[0],...i[1]]:o;const s={version:this.wmsParameters.version,info_format:this.wmsParameters.info_format,layers:this.wmsParameters.layers,query_layers:this.wmsParameters.query_layers,styles:this.wmsParameters.styles,crs:this.wmsParameters.crs,...t};return this._getWMSUrl("GetFeatureInfo",s,n)}describeLayerURL(t,n){const i={version:this.wmsParameters.version,...t};return this._getWMSUrl("DescribeLayer",i,n)}getLegendGraphicURL(t,n){const i={version:this.wmsParameters.version,...t};return this._getWMSUrl("GetLegendGraphic",i,n)}_parseWMSUrl(t){const[n,i]=t.split("?"),o=i.split("&"),s={};for(const c of o){const[f,y]=c.split("=");s[f]=y}return{url:n,parameters:s}}_getWMSUrl(t,n,i){let o=this.url,s=!0;const c={service:"WMS",version:n.version,request:t,...n,...this.vendorParameters,...i},f=["transparent","time","elevation"];for(const[y,b]of Object.entries(c))(!f.includes(y)||b)&&(o+=s?"?":"&",s=!1,o+=this._getURLParameter(y,b,n));return encodeURI(o)}_getWMS130Parameters(t){const n={...t};return n.srs&&(n.crs=n.crs||n.srs,delete n.srs),n}_getURLParameter(t,n,i){switch(t){case"crs":i.version!=="1.3.0"?t="srs":this.substituteCRS84&&n==="EPSG:4326"&&(n="CRS:84");break;case"srs":i.version==="1.3.0"&&(t="crs");break;case"bbox":const o=this._flipBoundingBox(n,i);o&&(n=o);break;case"x":i.version==="1.3.0"&&(t="i");break;case"y":i.version==="1.3.0"&&(t="j");break}return t=t.toUpperCase(),Array.isArray(n)?`${t}=${n.join(",")}`:`${t}=${n?String(n):""}`}_flipBoundingBox(t,n){if(!Array.isArray(t)||t.length!==4)return null;const i=n.version==="1.3.0"&&this.flipCRS.includes(n.crs||"")&&!(this.substituteCRS84&&n.crs==="EPSG:4326"),o=t;return i?[o[1],o[0],o[3],o[2]]:o}async _fetchArrayBuffer(t){const n=await this.fetch(t),i=await n.arrayBuffer();return this._checkResponse(n,i),i}_checkResponse(t,n){var o;const i=t.headers["content-type"];if(!t.ok||Iu.mimeTypes.includes(i)){const s=Iue(this.loadOptions,{wms:{throwOnError:!0}}),c=(o=Iu.parseSync)==null?void 0:o.call(Iu,n,s);throw new Error(c)}}_parseError(t){var i;const n=(i=Iu.parseSync)==null?void 0:i.call(Iu,t,this.loadOptions);return new Error(n)}}class bx extends gg{constructor(e){super(e)}async getMetadata(){throw new Error("ImageSource.getMetadata not implemented")}async getImage(e){const t=this.getGranularParameters(e),n=this.getURLFromTemplate(t),o=await(await this.fetch(n)).arrayBuffer();return await mg.parse(o)}getGranularParameters(e){const[[t,n],[i,o]]=e.boundingBox;return{...e,east:t,north:n,south:o,west:i}}getURLFromTemplate(e){let t=this.props.url;for(const[n,i]of Object.entries(e))t=t.replace(`\${${n}}`,String(i)),t=t.replace(`{${n}}`,String(i));return t}}V(bx,"type","template"),V(bx,"testURL",e=>e.toLowerCase().includes("{"));class ehe extends bx{constructor(t){super(t);V(this,"data");this.data=t.url}async getMetadata(){return await this.metadata()}async getImage(t){throw new Error("not implemented")}async metadata(){throw new Error("not implemented")}exportImage(t){throw new Error("not implemented")}metadataURL(t){return`${this.props.url}?f=pjson`}exportImageURL(t){const n=`bbox=${t.bbox[0]},${t.bbox[1]},${t.bbox[2]},${t.bbox[3]}`,i=`size=${t.width},${t.height}`,o={...t,bbox:n,size:i};return delete o.width,delete o.height,this.getUrl("exportImage",o)}getUrl(t,n,i){let o=`${this.props.url}/${t}`,s=!0;for(const[c,f]of Object.entries(n))o+=s?"?":"&",s=!1,Array.isArray(f)?o+=`${c.toUpperCase()}=${f.join(",")}`:o+=`${c.toUpperCase()}=${f?String(f):""}`;return o}async checkResponse(t){if(!t.ok)throw new Error("error")}}const the={type:"arcgis-image-server",testURL:r=>r.toLowerCase().includes("ImageServer"),create:r=>new ehe(r)},rhe=[Zfe,the];function nhe(r){return Afe(r,rhe)}const SP=6378137*Math.PI;function IP(r){const e=Gl(r);return e[0]=(e[0]/256-1)*SP,e[1]=(e[1]/256-1)*SP,e}const ihe={id:"imagery-layer",data:"",serviceType:"auto",srs:"auto",layers:{type:"array",compare:!0,value:[]},onMetadataLoad:{type:"function",value:()=>{}},onMetadataLoadError:{type:"function",value:console.error},onImageLoadStart:{type:"function",value:()=>{}},onImageLoad:{type:"function",value:()=>{}},onImageLoadError:{type:"function",compare:!1,value:(r,e)=>console.error(e,r)}};class _C extends ys{get isLoaded(){var e;return((e=this.state)==null?void 0:e.loadCounter)===0&&super.isLoaded}shouldUpdateState(){return!0}initializeState(){this.state._nextRequestId=0,this.state.lastRequestId=-1,this.state.loadCounter=0}updateState({changeFlags:e,props:t,oldProps:n}){const{viewport:i}=this.context;e.dataChanged||t.serviceType!==n.serviceType?(this.state.imageSource=this._createImageSource(t),this._loadMetadata(),this.debounce(()=>this.loadImage(i,"image source changed"),0)):ns(t.layers,n.layers,1)?e.viewportChanged&&this.debounce(()=>this.loadImage(i,"viewport changed")):this.debounce(()=>this.loadImage(i,"layers changed"),0)}finalizeState(){}renderLayers(){const{bounds:e,image:t,lastRequestParameters:n}=this.state;return t&&new wy({...this.getSubLayerProps({id:"bitmap"}),_imageCoordinateSystem:n.srs==="EPSG:4326"?Zr.LNGLAT:Zr.CARTESIAN,bounds:e,image:t})}async getFeatureInfoText(e,t){var i,o;const{lastRequestParameters:n}=this.state;return n?await((o=(i=this.state.imageSource).getFeatureInfoText)==null?void 0:o.call(i,{...n,query_layers:n.layers,x:e,y:t,info_format:"application/vnd.ogc.gml"})):""}_createImageSource(e){if(e.data instanceof gg)return e.data;if(typeof e.data=="string")return nhe({url:e.data,loadOptions:e.loadOptions,type:e.serviceType});throw new Error("invalid image source in props.data")}async _loadMetadata(){var t,n;const{imageSource:e}=this.state;try{this.state.loadCounter++;const i=await e.getMetadata();this.state.imageSource===e&&((t=this.getCurrentLayer())==null||t.props.onMetadataLoad(i))}catch(i){(n=this.getCurrentLayer())==null||n.props.onMetadataLoadError(i)}finally{this.state.loadCounter--}}async loadImage(e,t){var B,S;const{layers:n,serviceType:i}=this.props;if(i==="wms"&&n.length===0)return;const o=e.getBounds(),{width:s,height:c}=e,f=this.getRequestId();let{srs:y}=this.props;y==="auto"&&(y=e.resolution?"EPSG:4326":"EPSG:3857");const b={width:s,height:c,boundingBox:[[o[0],o[1]],[o[2],o[3]]],layers:n,crs:y};if(y==="EPSG:3857"){const O=IP([o[0],o[1]]),k=IP([o[2],o[3]]);b.boundingBox=[O,k]}try{this.state.loadCounter++,this.props.onImageLoadStart(f);const O=await this.state.imageSource.getImage(b);this.state.lastRequestId<f&&((B=this.getCurrentLayer())==null||B.props.onImageLoad(f),this.setState({image:O,bounds:o,lastRequestParameters:b,lastRequestId:f}))}catch(O){this.raiseError(O,"Load image"),(S=this.getCurrentLayer())==null||S.props.onImageLoadError(f,O)}finally{this.state.loadCounter--}}getRequestId(){return this.state._nextRequestId++}debounce(e,t=500){clearTimeout(this.state._timeoutId),this.state._timeoutId=setTimeout(()=>e(),t)}}_C.layerName="WMSLayer";_C.defaultProps=ihe;const she={getHeight:{type:"accessor",value:0},greatCircle:!0};class yC extends Ig{}yC.layerName="GreatCircleLayer";yC.defaultProps=she;const ohe={...tf.defaultProps};class rf extends ys{indexToBounds(){return null}renderLayers(){const{elevationScale:e,extruded:t,wireframe:n,filled:i,stroked:o,lineWidthUnits:s,lineWidthScale:c,lineWidthMinPixels:f,lineWidthMaxPixels:y,lineJointRounded:b,lineMiterLimit:B,lineDashJustified:S,getElevation:O,getFillColor:k,getLineColor:z,getLineWidth:J}=this.props,{updateTriggers:G,material:j,transitions:K}=this.props,fe=this.getSubLayerClass("cell",tf),{updateTriggers:Q,...oe}=this.indexToBounds()||{};return new fe({filled:i,wireframe:n,extruded:t,elevationScale:e,stroked:o,lineWidthUnits:s,lineWidthScale:c,lineWidthMinPixels:f,lineWidthMaxPixels:y,lineJointRounded:b,lineMiterLimit:B,lineDashJustified:S,material:j,transitions:K,getElevation:O,getFillColor:k,getLineColor:z,getLineWidth:J},this.getSubLayerProps({id:"cell",updateTriggers:G&&{...Q,getElevation:G.getElevation,getFillColor:G.getFillColor,getLineColor:G.getLineColor,getLineWidth:G.getLineWidth}}),oe)}}rf.layerName="GeoCellLayer";rf.defaultProps=ohe;function ahe(r){throw new Error('Could not dynamically require "'+r+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Lm={exports:{}},che=Lm.exports,MP;function lhe(){return MP||(MP=1,function(r){/**
|
3438
|
+
`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}n.prototype.build=function(c){return this.options.preserveOrder?r(c,this.options):(Array.isArray(c)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(c={[this.options.arrayNodeName]:c}),this.j2x(c,0,[]).val)},n.prototype.j2x=function(c,f,y){let b="",B="";const S=y.join(".");for(let O in c)if(Object.prototype.hasOwnProperty.call(c,O))if(typeof c[O]>"u")this.isAttribute(O)&&(B+="");else if(c[O]===null)this.isAttribute(O)?B+="":O[0]==="?"?B+=this.indentate(f)+"<"+O+"?"+this.tagEndChar:B+=this.indentate(f)+"<"+O+"/"+this.tagEndChar;else if(c[O]instanceof Date)B+=this.buildTextValNode(c[O],O,"",f);else if(typeof c[O]!="object"){const k=this.isAttribute(O);if(k&&!this.ignoreAttributesFn(k,S))b+=this.buildAttrPairStr(k,""+c[O]);else if(!k)if(O===this.options.textNodeName){let z=this.options.tagValueProcessor(O,""+c[O]);B+=this.replaceEntitiesValue(z)}else B+=this.buildTextValNode(c[O],O,"",f)}else if(Array.isArray(c[O])){const k=c[O].length;let z="",J="";for(let G=0;G<k;G++){const j=c[O][G];if(!(typeof j>"u"))if(j===null)O[0]==="?"?B+=this.indentate(f)+"<"+O+"?"+this.tagEndChar:B+=this.indentate(f)+"<"+O+"/"+this.tagEndChar;else if(typeof j=="object")if(this.options.oneListGroup){const K=this.j2x(j,f+1,y.concat(O));z+=K.val,this.options.attributesGroupName&&j.hasOwnProperty(this.options.attributesGroupName)&&(J+=K.attrStr)}else z+=this.processTextOrObjNode(j,O,f,y);else if(this.options.oneListGroup){let K=this.options.tagValueProcessor(O,j);K=this.replaceEntitiesValue(K),z+=K}else z+=this.buildTextValNode(j,O,"",f)}this.options.oneListGroup&&(z=this.buildObjectNode(z,O,J,f)),B+=z}else if(this.options.attributesGroupName&&O===this.options.attributesGroupName){const k=Object.keys(c[O]),z=k.length;for(let J=0;J<z;J++)b+=this.buildAttrPairStr(k[J],""+c[O][k[J]])}else B+=this.processTextOrObjNode(c[O],O,f,y);return{attrStr:b,val:B}},n.prototype.buildAttrPairStr=function(c,f){return f=this.options.attributeValueProcessor(c,""+f),f=this.replaceEntitiesValue(f),this.options.suppressBooleanAttributes&&f==="true"?" "+c:" "+c+'="'+f+'"'};function i(c,f,y,b){const B=this.j2x(c,y+1,b.concat(f));return c[this.options.textNodeName]!==void 0&&Object.keys(c).length===1?this.buildTextValNode(c[this.options.textNodeName],f,B.attrStr,y):this.buildObjectNode(B.val,f,B.attrStr,y)}n.prototype.buildObjectNode=function(c,f,y,b){if(c==="")return f[0]==="?"?this.indentate(b)+"<"+f+y+"?"+this.tagEndChar:this.indentate(b)+"<"+f+y+this.closeTag(f)+this.tagEndChar;{let B="</"+f+this.tagEndChar,S="";return f[0]==="?"&&(S="?",B=""),(y||y==="")&&c.indexOf("<")===-1?this.indentate(b)+"<"+f+y+S+">"+c+B:this.options.commentPropName!==!1&&f===this.options.commentPropName&&S.length===0?this.indentate(b)+`<!--${c}-->`+this.newLine:this.indentate(b)+"<"+f+y+S+this.tagEndChar+c+this.indentate(b)+B}},n.prototype.closeTag=function(c){let f="";return this.options.unpairedTags.indexOf(c)!==-1?this.options.suppressUnpairedNode||(f="/"):this.options.suppressEmptyNode?f="/":f=`></${c}`,f},n.prototype.buildTextValNode=function(c,f,y,b){if(this.options.cdataPropName!==!1&&f===this.options.cdataPropName)return this.indentate(b)+`<![CDATA[${c}]]>`+this.newLine;if(this.options.commentPropName!==!1&&f===this.options.commentPropName)return this.indentate(b)+`<!--${c}-->`+this.newLine;if(f[0]==="?")return this.indentate(b)+"<"+f+y+"?"+this.tagEndChar;{let B=this.options.tagValueProcessor(f,c);return B=this.replaceEntitiesValue(B),B===""?this.indentate(b)+"<"+f+y+this.closeTag(f)+this.tagEndChar:this.indentate(b)+"<"+f+y+">"+B+"</"+f+this.tagEndChar}},n.prototype.replaceEntitiesValue=function(c){if(c&&c.length>0&&this.options.processEntities)for(let f=0;f<this.options.entities.length;f++){const y=this.options.entities[f];c=c.replace(y.regex,y.val)}return c};function o(c){return this.options.indentBy.repeat(c)}function s(c){return c.startsWith(this.options.attributeNamePrefix)&&c!==this.options.textNodeName?c.substr(this.attrPrefixLen):!1}return Zb=n,Zb}var Qb,yP;function Cue(){if(yP)return Qb;yP=1;const r=g8(),e=bue(),t=wue();return Qb={XMLParser:e,XMLValidator:r,XMLBuilder:t},Qb}var Eue=Cue();function vP(r,e){if(e!=null&&e._parser&&e._parser!=="fast-xml-parser")throw new Error(e==null?void 0:e._parser);const t={allowBooleanAttributes:!0,ignoreDeclaration:!0,removeNSPrefix:e==null?void 0:e.removeNSPrefix,textNodeName:e==null?void 0:e.textNodeName,isArray:(i,o,s,c)=>{var y;return!!((y=e==null?void 0:e.arrayPaths)!=null&&y.some(b=>o===b))},...e==null?void 0:e._fastXML},n=Tue(r,t);return e!=null&&e.uncapitalizeKeys?mx(n):n}function Tue(r,e){return new Eue.XMLParser({ignoreAttributes:!1,attributeNamePrefix:"",...e}).parse(r)}const Bue="4.2.4",Oo={dataType:null,batchType:null,name:"XML",id:"xml",module:"xml",version:Bue,worker:!1,extensions:["xml"],mimeTypes:["application/xml","text/xml"],testText:Sue,options:{xml:{_parser:"fast-xml-parser",uncapitalizeKeys:!1,removeNSPrefix:!1,textNodeName:"value",arrayPaths:[]}},parse:async(r,e)=>vP(new TextDecoder().decode(r),{...Oo.options.xml,...e==null?void 0:e.xml}),parseTextSync:(r,e)=>vP(r,{...Oo.options.xml,...e==null?void 0:e.xml})};function Sue(r){return r.startsWith("<?xml")}async function gh(r,e,t,n){return n._parse(r,e,t,n)}function ai(r,e){if(!r)throw new Error(e||"loader assertion failed.")}const _8=!!(typeof process!="object"||String(process)!=="[object process]"||process.browser),bP=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version);bP&&parseFloat(bP[1]);function Iue(r,e){return y8(r||{},e)}function y8(r,e,t=0){if(t>3)return e;const n={...r};for(const[i,o]of Object.entries(e))o&&typeof o=="object"&&!Array.isArray(o)?n[i]=y8(n[i]||{},e[i],t+1):n[i]=e[i];return n}function Mue(r){var e;globalThis.loaders||(globalThis.loaders={}),(e=globalThis.loaders).modules||(e.modules={}),Object.assign(globalThis.loaders.modules,r)}function Pue(r){var t,n;return((n=(t=globalThis.loaders)==null?void 0:t.modules)==null?void 0:n[r])||null}function Rue(){var r;return(r=globalThis._loadersgl_)!=null&&r.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.2.4"),globalThis._loadersgl_.version}const Fue=Rue();function Due(r,e){if(!r)throw new Error("loaders.gl assertion failed.")}const Fg=typeof process!="object"||String(process)!=="[object process]"||process.browser,AC=typeof importScripts=="function",xP=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version);xP&&parseFloat(xP[1]);const e1={};async function Qf(r,e=null,t={},n=null){return e&&(r=Oue(r,e,t,n)),e1[r]=e1[r]||Lue(r),await e1[r]}function Oue(r,e,t={},n=null){if(!t.useLocalLibraries&&r.startsWith("http"))return r;n=n||r;const i=t.modules||{};return i[n]?i[n]:Fg?t.CDN?(Due(t.CDN.startsWith("http")),`${t.CDN}/${e}@${Fue}/dist/libs/${n}`):AC?`../src/libs/${n}`:`modules/${e}/src/libs/${n}`:`modules/${e}/dist/libs/${n}`}async function Lue(r){if(r.endsWith("wasm"))return await kue(r);if(!Fg)try{const{requireFromFile:t}=globalThis.loaders||{};return await(t==null?void 0:t(r))}catch(t){return console.error(t),null}if(AC)return importScripts(r);const e=await Uue(r);return Nue(e,r)}function Nue(r,e){if(!Fg){const{requireFromString:n}=globalThis.loaders||{};return n==null?void 0:n(r,e)}if(AC)return eval.call(globalThis,r),null;const t=document.createElement("script");t.id=e;try{t.appendChild(document.createTextNode(r))}catch{t.text=r}return document.body.appendChild(t),null}async function kue(r){const{readFileAsArrayBuffer:e}=globalThis.loaders||{};return Fg||!e||r.startsWith("http")?await(await fetch(r)).arrayBuffer():await e(r)}async function Uue(r){const{readFileAsText:e}=globalThis.loaders||{};return Fg||!e||r.startsWith("http")?await(await fetch(r)).text():await e(r)}function zue(r,e=5){return typeof r=="string"?r.slice(0,e):ArrayBuffer.isView(r)?wP(r.buffer,r.byteOffset,e):r instanceof ArrayBuffer?wP(r,0,e):""}function wP(r,e,t){if(r.byteLength<=e+t)return"";const n=new DataView(r);let i="";for(let o=0;o<t;o++)i+=String.fromCharCode(n.getUint8(e+o));return i}function v8(r){try{return JSON.parse(r)}catch{throw new Error(`Failed to parse JSON from data starting with "${zue(r)}"`)}}function Dg(r,e,t){const n=t!==void 0?new Uint8Array(r).subarray(e,e+t):new Uint8Array(r).subarray(e);return new Uint8Array(n).buffer}function Jl(r,e){return ai(r>=0),ai(e>0),r+(e-1)&-4}function b8(r,e,t){let n;if(r instanceof ArrayBuffer)n=new Uint8Array(r);else{const i=r.byteOffset,o=r.byteLength;n=new Uint8Array(r.buffer||r.arrayBuffer,i,o)}return e.set(n,t),t+Jl(n.byteLength,4)}const Gue="Queued Requests",Vue="Active Requests",Hue="Cancelled Requests",jue="Queued Requests Ever",$ue="Active Requests Ever",Wue={id:"request-scheduler",throttleRequests:!0,maxRequests:6,debounceTime:0};class x8{constructor(e={}){V(this,"props");V(this,"stats");V(this,"activeRequestCount",0);V(this,"requestQueue",[]);V(this,"requestMap",new Map);V(this,"updateTimer",null);this.props={...Wue,...e},this.stats=new cL({id:this.props.id}),this.stats.get(Gue),this.stats.get(Vue),this.stats.get(Hue),this.stats.get(jue),this.stats.get($ue)}scheduleRequest(e,t=()=>0){if(!this.props.throttleRequests)return Promise.resolve({done:()=>{}});if(this.requestMap.has(e))return this.requestMap.get(e);const n={handle:e,priority:0,getPriority:t},i=new Promise(o=>(n.resolve=o,n));return this.requestQueue.push(n),this.requestMap.set(e,i),this._issueNewRequests(),i}_issueRequest(e){const{handle:t,resolve:n}=e;let i=!1;const o=()=>{i||(i=!0,this.requestMap.delete(t),this.activeRequestCount--,this._issueNewRequests())};return this.activeRequestCount++,n?n({done:o}):Promise.resolve({done:o})}_issueNewRequests(){this.updateTimer!==null&&clearTimeout(this.updateTimer),this.updateTimer=setTimeout(()=>this._issueNewRequestsAsync(),this.props.debounceTime)}_issueNewRequestsAsync(){this.updateTimer!==null&&clearTimeout(this.updateTimer),this.updateTimer=null;const e=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(e!==0){this._updateAllRequests();for(let t=0;t<e;++t){const n=this.requestQueue.shift();n&&this._issueRequest(n)}}}_updateAllRequests(){const e=this.requestQueue;for(let t=0;t<e.length;++t){const n=e[t];this._updateRequest(n)||(e.splice(t,1),this.requestMap.delete(n.handle),t--)}e.sort((t,n)=>t.priority-n.priority)}_updateRequest(e){return e.priority=e.getPriority(e.handle),e.priority<0?(e.resolve(null),!1):!0}}function Jue(){var e;if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();const r=(e=window.location)==null?void 0:e.pathname;return(r==null?void 0:r.slice(0,r.lastIndexOf("/")+1))||""}function w8(r){const e=r?r.lastIndexOf("/"):-1;return e>=0?r.substr(0,e):""}function Xue(...r){const e=[];for(let o=0;o<r.length;o++)e[o]=r[o];let t="",n=!1,i;for(let o=e.length-1;o>=-1&&!n;o--){let s;o>=0?s=e[o]:(i===void 0&&(i=Jue()),s=i),s.length!==0&&(t=`${s}/${t}`,n=s.charCodeAt(0)===Lp)}return t=Kue(t,!n),n?`/${t}`:t.length>0?t:"."}const Lp=47,t1=46;function Kue(r,e){let t="",n=-1,i=0,o,s=!1;for(let c=0;c<=r.length;++c){if(c<r.length)o=r.charCodeAt(c);else{if(o===Lp)break;o=Lp}if(o===Lp){if(!(n===c-1||i===1))if(n!==c-1&&i===2){if(t.length<2||!s||t.charCodeAt(t.length-1)!==t1||t.charCodeAt(t.length-2)!==t1){if(t.length>2){const f=t.length-1;let y=f;for(;y>=0&&t.charCodeAt(y)!==Lp;--y);if(y!==f){t=y===-1?"":t.slice(0,y),n=c,i=0,s=!1;continue}}else if(t.length===2||t.length===1){t="",n=c,i=0,s=!1;continue}}e&&(t.length>0?t+="/..":t="..",s=!0)}else{const f=r.slice(n+1,c);t.length>0?t+=`/${f}`:t=f,s=!1}n=c,i=0}else o===t1&&i!==-1?++i:i=-1}return t}class que{constructor(e){V(this,"fetch");V(this,"loadOptions");V(this,"_needsRefresh",!0);V(this,"props");this.props={...e},this.loadOptions={...e.loadOptions},this.fetch=Yue(this.loadOptions)}setProps(e){this.props=Object.assign(this.props,e),this.setNeedsRefresh()}setNeedsRefresh(){this._needsRefresh=!0}getNeedsRefresh(e=!0){const t=this._needsRefresh;return e&&(this._needsRefresh=!1),t}}function Yue(r){const e=r==null?void 0:r.fetch;if(e&&typeof e=="function")return(n,i)=>e(n,i);const t=r==null?void 0:r.fetch;return t&&typeof t!="function"?n=>fetch(n,t):n=>fetch(n)}class gg extends que{}V(gg,"type","template"),V(gg,"testURL",e=>!1);function Zue(r,e){var o,s,c;const t=(o=Oo.parseTextSync)==null?void 0:o.call(Oo,r,e),n=((s=t==null?void 0:t.ServiceExceptionReport)==null?void 0:s.ServiceException)||((c=t==null?void 0:t["ogc:ServiceExceptionReport"])==null?void 0:c["ogc:ServiceException"]);return typeof n=="string"?n:n.value||n.code||"Unknown error"}const Que="4.2.4",Iu={dataType:null,batchType:null,id:"wms-error",name:"WMS Error",module:"wms",version:Que,worker:!1,extensions:["xml"],mimeTypes:["application/vnd.ogc.se_xml","application/xml","text/xml"],testText:efe,options:{wms:{throwOnError:!1}},parse:async(r,e)=>r1(new TextDecoder().decode(r),e),parseSync:(r,e)=>r1(new TextDecoder().decode(r),e),parseTextSync:(r,e)=>r1(r,e)};function efe(r){return r.startsWith("<?xml")}function r1(r,e){const t={...Iu.options.wms,...e==null?void 0:e.wms},n=Zue(r,t),i=t.minimalErrors?n:`WMS Service error: ${n}`;if(t.throwOnError)throw new Error(i);return i}function TA(r){return Array.isArray(r)?r:r?[r]:[]}function Ty(r){const e=TA(r);return e.length>0&&e.every(t=>typeof t=="string")?e:[]}function Q0(r,e=void 0){switch(typeof r){case"number":return r;case"string":return parseFloat(r);default:return}}function n1(r,e=void 0){switch(typeof r){case"number":return r;case"string":return parseInt(r,10);default:return}}function hA(r){switch(r){case"true":return!0;case"false":return!1;case"1":return!0;case"0":return!1;default:return!1}}function CP(r,e){var o;const t=(o=Oo.parseTextSync)==null?void 0:o.call(Oo,r,e),n=t.WMT_MS_Capabilities||t.WMS_Capabilities||t,i=tfe(n);if(e!=null&&e.inheritedLayerProps)for(const s of i.layers)E8(s,null);return e!=null&&e.includeRawJSON&&(i.json=n),e!=null&&e.includeXMLText&&(i.xml=r),i}function tfe(r){var n,i,o,s,c,f,y,b,B,S,O,k,z,J,G,j;const e={version:String(r.version||""),name:String(((n=r.Service)==null?void 0:n.Name)||"unnamed"),title:(i=r.Service)!=null&&i.Title?String((o=r.Service)==null?void 0:o.Title):void 0,abstract:(s=r.Service)!=null&&s.Abstract?String((c=r.Service)==null?void 0:c.Abstract):void 0,keywords:Ty((y=(f=r.Service)==null?void 0:f.KeywordList)==null?void 0:y.Keyword),fees:(b=r.Service)!=null&&b.Fees?JSON.stringify((B=r.Service)==null?void 0:B.Fees):void 0,accessConstraints:(S=r.Service)!=null&&S.AccessConstraints?JSON.stringify((O=r.Service)==null?void 0:O.AccessConstraints):void 0,layerLimit:n1((k=r.Service)==null?void 0:k.LayerLimit),maxWidth:n1((z=r.Service)==null?void 0:z.maxWidth),maxHeight:n1((J=r.Service)==null?void 0:J.maxHeight),layers:[],requests:rfe((G=r.Capability)==null?void 0:G.Request),exceptions:nfe(r.Exception)},t=TA((j=r.Capability)==null?void 0:j.Layer);for(const K of t)e.layers.push(C8(K));for(const[K,fe]of Object.entries(e))fe===void 0&&delete e[K];return e}function rfe(r){const e={};for(const[t,n]of Object.entries(r||{})){const i=Ty(n==null?void 0:n.Format);e[t]={mimeTypes:i}}return e}function nfe(r){if(TA(r==null?void 0:r.Format).length>0)return{mimeTypes:Ty(r)}}function C8(r){var y;const e={title:String((r==null?void 0:r.Title)||""),name:(r==null?void 0:r.Name)&&String(r==null?void 0:r.Name),abstract:(r==null?void 0:r.Name)&&String(r==null?void 0:r.Abstract),keywords:Ty((y=r.KeywordList)==null?void 0:y.Keyword)},t=(r==null?void 0:r.CRS)||(r==null?void 0:r.SRS);t&&Array.isArray(t)&&t.every(b=>typeof b=="string")&&(e.crs=t);let n=(r==null?void 0:r.EX_GeographicBoundingBox)&&ife(r==null?void 0:r.EX_GeographicBoundingBox);n&&(e.geographicBoundingBox=n),n=(r==null?void 0:r.LatLonBoundingBox)&&sfe(r==null?void 0:r.LatLonBoundingBox),n&&(e.geographicBoundingBox=n);const i=(r==null?void 0:r.BoundingBox)&&ofe(r==null?void 0:r.BoundingBox);i&&i.length>0&&(e.boundingBoxes=i);const s=TA(r==null?void 0:r.Dimension).map(b=>cfe(b));s.length&&(e.dimensions=s),r!=null&&r.opaque&&(e.opaque=hA(r==null?void 0:r.opaque)),r!=null&&r.cascaded&&(e.cascaded=hA(r==null?void 0:r.cascaded)),r!=null&&r.queryable&&(e.queryable=hA(r==null?void 0:r.queryable));const c=TA(r==null?void 0:r.Layer),f=[];for(const b of c)f.push(C8(b));f.length>0&&(e.layers=f);for(const[b,B]of Object.entries(e))B===void 0&&delete e[b];return e}function ife(r){const{westBoundLongitude:e,northBoundLatitude:t,eastBoundLongitude:n,southBoundLatitude:i}=r;return[[e,i],[n,t]]}function sfe(r){const{minx:e,miny:t,maxx:n,maxy:i}=r;return[[e,t],[n,i]]}function ofe(r){return TA(r).map(t=>afe(t))}function afe(r){const{CRS:e,SRS:t,minx:n,miny:i,maxx:o,maxy:s,resx:c,resy:f}=r,y={crs:e||t,boundingBox:[[Q0(n),Q0(i)],[Q0(o),Q0(s)]]};return c&&(y.xResolution=c),f&&(y.yResolution=f),y}function cfe(r){const{name:e,units:t,value:n}=r,i={name:e,units:t,extent:n};return r.unitSymbol&&(i.unitSymbol=r.unitSymbol),r.default&&(i.defaultValue=r.default),r.multipleValues&&(i.multipleValues=hA(r.multipleValues)),r.nearestValue&&(i.nearestValue=hA(r.nearestValue)),r.current&&(i.current=hA(r.current)),i}function E8(r,e){e!=null&&e.geographicBoundingBox&&!r.geographicBoundingBox&&(r.geographicBoundingBox=[...e.geographicBoundingBox]),e!=null&&e.crs&&!r.crs&&(r.crs=[...e.crs]),e!=null&&e.boundingBoxes&&!r.boundingBoxes&&(r.boundingBoxes=[...e.boundingBoxes]),e!=null&&e.dimensions&&!r.dimensions&&(r.dimensions=[...e.dimensions]);for(const t of r.layers||[])E8(t,r)}const lfe="4.2.4",pC={dataType:null,batchType:null,id:"wms-capabilities",name:"WMS Capabilities",module:"wms",version:lfe,worker:!1,extensions:["xml"],mimeTypes:["application/vnd.ogc.wms_xml","application/xml","text/xml"],testText:ufe,options:{wms:{}},parse:async(r,e)=>CP(new TextDecoder().decode(r),e==null?void 0:e.wms),parseTextSync:(r,e)=>CP(r,e==null?void 0:e.wms)};function ufe(r){return r.startsWith("<?xml")}function EP(r,e){var o,s;const n=((s=((o=Oo.parseTextSync)==null?void 0:o.call(Oo,r,e)).FeatureInfoResponse)==null?void 0:s.FIELDS)||[];return{features:(Array.isArray(n)?n:[n]).map(c=>ffe(c))}}function ffe(r){return{attributes:r||{},type:"",bounds:{bottom:0,top:0,left:0,right:0}}}const hfe={...pC,dataType:null,id:"wms-feature-info",name:"WMS FeatureInfo",parse:async(r,e)=>EP(new TextDecoder().decode(r),e),parseTextSync:(r,e)=>EP(r,e)};function TP(r,e){var n;return(n=Oo.parseTextSync)==null?void 0:n.call(Oo,r,e)}const dfe={...pC,dataType:null,id:"wms-layer-description",name:"WMS DescribeLayer",parse:async(r,e)=>TP(new TextDecoder().decode(r),e),parseTextSync:(r,e)=>TP(r,e)};function Afe(r,e){const{type:t="auto"}=r,n=t==="auto"?gfe(r.url,e):pfe(t,e);if(!n)throw new Error("Not a valid image source type");return n.create(r)}function pfe(r,e){for(const t of e)if(t.type===r)return t;return null}function gfe(r,e){for(const t of e)if(t.testURL&&t.testURL(r))return t;return null}const mfe="4.2.4";var UD;const _fe=(UD=globalThis.loaders)==null?void 0:UD.parseImageNode,_x=typeof Image<"u",yx=typeof ImageBitmap<"u",yfe=!!_fe,vx=_8?!0:yfe;function vfe(r){switch(r){case"auto":return yx||_x||vx;case"imagebitmap":return yx;case"image":return _x;case"data":return vx;default:throw new Error(`@loaders.gl/images: image ${r} not supported in this environment`)}}function bfe(){if(yx)return"imagebitmap";if(_x)return"image";if(vx)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function xfe(r){const e=wfe(r);if(!e)throw new Error("Not an image");return e}function gC(r){switch(xfe(r)){case"data":return r;case"image":case"imagebitmap":const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)throw new Error("getImageData");return e.width=r.width,e.height=r.height,t.drawImage(r,0,0),t.getImageData(0,0,r.width,r.height);default:throw new Error("getImageData")}}function wfe(r){return typeof ImageBitmap<"u"&&r instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&r instanceof Image?"image":r&&typeof r=="object"&&r.data&&r.width&&r.height?"data":null}const Cfe=/^data:image\/svg\+xml/,Efe=/\.svg((\?|#).*)?$/;function mC(r){return r&&(Cfe.test(r)||Efe.test(r))}function Tfe(r,e){if(mC(e)){let n=new TextDecoder().decode(r);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(n=unescape(encodeURIComponent(n)))}catch(o){throw new Error(o.message)}return`data:image/svg+xml;base64,${btoa(n)}`}return T8(r,e)}function T8(r,e){if(mC(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(r)])}async function B8(r,e,t){const n=Tfe(r,t),i=self.URL||self.webkitURL,o=typeof n!="string"&&i.createObjectURL(n);try{return await Bfe(o||n,e)}finally{o&&i.revokeObjectURL(o)}}async function Bfe(r,e){const t=new Image;return t.src=r,e.image&&e.image.decode&&t.decode?(await t.decode(),t):await new Promise((n,i)=>{try{t.onload=()=>n(t),t.onerror=o=>{const s=o instanceof Error?o.message:"error";i(new Error(s))}}catch(o){i(o)}})}const Sfe={};let BP=!0;async function Ife(r,e,t){let n;mC(t)?n=await B8(r,e,t):n=T8(r,t);const i=e&&e.imagebitmap;return await Mfe(n,i)}async function Mfe(r,e=null){if((Pfe(e)||!BP)&&(e=null),e)try{return await createImageBitmap(r,e)}catch(t){console.warn(t),BP=!1}return await createImageBitmap(r)}function Pfe(r){for(const e in r||Sfe)return!1;return!0}function Rfe(r){return!Lfe(r,"ftyp",4)||(r[8]&96)===0?null:Ffe(r)}function Ffe(r){switch(Dfe(r,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function Dfe(r,e,t){return String.fromCharCode(...r.slice(e,t))}function Ofe(r){return[...r].map(e=>e.charCodeAt(0))}function Lfe(r,e,t=0){const n=Ofe(e);for(let i=0;i<n.length;++i)if(n[i]!==r[i+t])return!1;return!0}const qc=!1,Yp=!0;function By(r){const e=Og(r);return kfe(e)||Gfe(e)||Ufe(e)||zfe(e)||Nfe(e)}function Nfe(r){const e=new Uint8Array(r instanceof DataView?r.buffer:r),t=Rfe(e);return t?{mimeType:t.mimeType,width:0,height:0}:null}function kfe(r){const e=Og(r);return e.byteLength>=24&&e.getUint32(0,qc)===2303741511?{mimeType:"image/png",width:e.getUint32(16,qc),height:e.getUint32(20,qc)}:null}function Ufe(r){const e=Og(r);return e.byteLength>=10&&e.getUint32(0,qc)===1195984440?{mimeType:"image/gif",width:e.getUint16(6,Yp),height:e.getUint16(8,Yp)}:null}function zfe(r){const e=Og(r);return e.byteLength>=14&&e.getUint16(0,qc)===16973&&e.getUint32(2,Yp)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,Yp),height:e.getUint32(22,Yp)}:null}function Gfe(r){const e=Og(r);if(!(e.byteLength>=3&&e.getUint16(0,qc)===65496&&e.getUint8(2)===255))return null;const{tableMarkers:n,sofMarkers:i}=Vfe();let o=2;for(;o+9<e.byteLength;){const s=e.getUint16(o,qc);if(i.has(s))return{mimeType:"image/jpeg",height:e.getUint16(o+5,qc),width:e.getUint16(o+7,qc)};if(!n.has(s))return null;o+=2,o+=e.getUint16(o,qc)}return null}function Vfe(){const r=new Set([65499,65476,65484,65501,65534]);for(let t=65504;t<65520;++t)r.add(t);return{tableMarkers:r,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function Og(r){if(r instanceof DataView)return r;if(ArrayBuffer.isView(r))return new DataView(r.buffer);if(r instanceof ArrayBuffer)return new DataView(r);throw new Error("toDataView")}async function Hfe(r,e){var i;const{mimeType:t}=By(r)||{},n=(i=globalThis.loaders)==null?void 0:i.parseImageNode;return ai(n),await n(r,t)}async function jfe(r,e,t){e=e||{};const i=(e.image||{}).type||"auto",{url:o}=t||{},s=$fe(i);let c;switch(s){case"imagebitmap":c=await Ife(r,e,o);break;case"image":c=await B8(r,e,o);break;case"data":c=await Hfe(r);break;default:ai(!1)}return i==="data"&&(c=gC(c)),c}function $fe(r){switch(r){case"auto":case"data":return bfe();default:return vfe(r),r}}const Wfe=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],Jfe=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],Xfe={image:{type:"auto",decode:!0}},mg={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:mfe,mimeTypes:Jfe,extensions:Wfe,parse:jfe,tests:[r=>!!By(new DataView(r))],options:Xfe},i1={};function S8(r){if(i1[r]===void 0){const e=_8?qfe(r):Kfe(r);i1[r]=e}return i1[r]}function Kfe(r){var i,o;const e=["image/png","image/jpeg","image/gif"],t=((i=globalThis.loaders)==null?void 0:i.imageFormatsNode)||e;return!!((o=globalThis.loaders)==null?void 0:o.parseImageNode)&&t.includes(r)}function qfe(r){switch(r){case"image/avif":case"image/webp":return Yfe(r);default:return!0}}function Yfe(r){try{return document.createElement("canvas").toDataURL(r).indexOf(`data:${r}`)===0}catch{return!1}}const Zfe={type:"wms",testURL:r=>r.toLowerCase().includes("wms"),create:r=>new Qfe(r)};class Qfe extends gg{constructor(t){super(t);V(this,"url");V(this,"data");V(this,"substituteCRS84");V(this,"flipCRS");V(this,"wmsParameters");V(this,"vendorParameters");V(this,"capabilities",null);this.url=t.url,this.data=t.url,this.substituteCRS84=t.substituteCRS84??!1,this.flipCRS=["EPSG:4326"],this.wmsParameters={layers:void 0,query_layers:void 0,styles:void 0,version:"1.3.0",crs:"EPSG:4326",format:"image/png",info_format:"text/plain",transparent:void 0,time:void 0,elevation:void 0,...t.wmsParameters},this.vendorParameters=t.vendorParameters||{}}async getMetadata(){const t=await this.getCapabilities();return this.normalizeMetadata(t)}async getImage(t){const{boundingBox:n,bbox:i,...o}=t,s={bbox:n?[...n[0],...n[1]]:i,...o};return await this.getMap(s)}normalizeMetadata(t){return t}async getCapabilities(t,n){const i=this.getCapabilitiesURL(t,n),o=await this.fetch(i),s=await o.arrayBuffer();this._checkResponse(o,s);const c=await pC.parse(s,this.loadOptions);return this.capabilities=c,c}async getMap(t,n){const i=this.getMapURL(t,n),o=await this.fetch(i),s=await o.arrayBuffer();this._checkResponse(o,s);try{return await mg.parse(s,this.loadOptions)}catch{throw this._parseError(s)}}async getFeatureInfo(t,n){const i=this.getFeatureInfoURL(t,n),o=await this.fetch(i),s=await o.arrayBuffer();return this._checkResponse(o,s),await hfe.parse(s,this.loadOptions)}async getFeatureInfoText(t,n){const i=this.getFeatureInfoURL(t,n),o=await this.fetch(i),s=await o.arrayBuffer();return this._checkResponse(o,s),new TextDecoder().decode(s)}async describeLayer(t,n){const i=this.describeLayerURL(t,n),o=await this.fetch(i),s=await o.arrayBuffer();return this._checkResponse(o,s),await dfe.parse(s,this.loadOptions)}async getLegendGraphic(t,n){const i=this.getLegendGraphicURL(t,n),o=await this.fetch(i),s=await o.arrayBuffer();this._checkResponse(o,s);try{return await mg.parse(s,this.loadOptions)}catch{throw this._parseError(s)}}getCapabilitiesURL(t,n){const i={version:this.wmsParameters.version,...t};return this._getWMSUrl("GetCapabilities",i,n)}getMapURL(t,n){t=this._getWMS130Parameters(t);const i={version:this.wmsParameters.version,format:this.wmsParameters.format,transparent:this.wmsParameters.transparent,time:this.wmsParameters.time,elevation:this.wmsParameters.elevation,layers:this.wmsParameters.layers,styles:this.wmsParameters.styles,crs:this.wmsParameters.crs,...t};return this._getWMSUrl("GetMap",i,n)}getFeatureInfoURL(t,n){t=this._getWMS130Parameters(t);const{boundingBox:i,bbox:o}=t;t.bbox=i?[...i[0],...i[1]]:o;const s={version:this.wmsParameters.version,info_format:this.wmsParameters.info_format,layers:this.wmsParameters.layers,query_layers:this.wmsParameters.query_layers,styles:this.wmsParameters.styles,crs:this.wmsParameters.crs,...t};return this._getWMSUrl("GetFeatureInfo",s,n)}describeLayerURL(t,n){const i={version:this.wmsParameters.version,...t};return this._getWMSUrl("DescribeLayer",i,n)}getLegendGraphicURL(t,n){const i={version:this.wmsParameters.version,...t};return this._getWMSUrl("GetLegendGraphic",i,n)}_parseWMSUrl(t){const[n,i]=t.split("?"),o=i.split("&"),s={};for(const c of o){const[f,y]=c.split("=");s[f]=y}return{url:n,parameters:s}}_getWMSUrl(t,n,i){let o=this.url,s=!0;const c={service:"WMS",version:n.version,request:t,...n,...this.vendorParameters,...i},f=["transparent","time","elevation"];for(const[y,b]of Object.entries(c))(!f.includes(y)||b)&&(o+=s?"?":"&",s=!1,o+=this._getURLParameter(y,b,n));return encodeURI(o)}_getWMS130Parameters(t){const n={...t};return n.srs&&(n.crs=n.crs||n.srs,delete n.srs),n}_getURLParameter(t,n,i){switch(t){case"crs":i.version!=="1.3.0"?t="srs":this.substituteCRS84&&n==="EPSG:4326"&&(n="CRS:84");break;case"srs":i.version==="1.3.0"&&(t="crs");break;case"bbox":const o=this._flipBoundingBox(n,i);o&&(n=o);break;case"x":i.version==="1.3.0"&&(t="i");break;case"y":i.version==="1.3.0"&&(t="j");break}return t=t.toUpperCase(),Array.isArray(n)?`${t}=${n.join(",")}`:`${t}=${n?String(n):""}`}_flipBoundingBox(t,n){if(!Array.isArray(t)||t.length!==4)return null;const i=n.version==="1.3.0"&&this.flipCRS.includes(n.crs||"")&&!(this.substituteCRS84&&n.crs==="EPSG:4326"),o=t;return i?[o[1],o[0],o[3],o[2]]:o}async _fetchArrayBuffer(t){const n=await this.fetch(t),i=await n.arrayBuffer();return this._checkResponse(n,i),i}_checkResponse(t,n){var o;const i=t.headers["content-type"];if(!t.ok||Iu.mimeTypes.includes(i)){const s=Iue(this.loadOptions,{wms:{throwOnError:!0}}),c=(o=Iu.parseSync)==null?void 0:o.call(Iu,n,s);throw new Error(c)}}_parseError(t){var i;const n=(i=Iu.parseSync)==null?void 0:i.call(Iu,t,this.loadOptions);return new Error(n)}}class bx extends gg{constructor(e){super(e)}async getMetadata(){throw new Error("ImageSource.getMetadata not implemented")}async getImage(e){const t=this.getGranularParameters(e),n=this.getURLFromTemplate(t),o=await(await this.fetch(n)).arrayBuffer();return await mg.parse(o)}getGranularParameters(e){const[[t,n],[i,o]]=e.boundingBox;return{...e,east:t,north:n,south:o,west:i}}getURLFromTemplate(e){let t=this.props.url;for(const[n,i]of Object.entries(e))t=t.replace(`\${${n}}`,String(i)),t=t.replace(`{${n}}`,String(i));return t}}V(bx,"type","template"),V(bx,"testURL",e=>e.toLowerCase().includes("{"));class ehe extends bx{constructor(t){super(t);V(this,"data");this.data=t.url}async getMetadata(){return await this.metadata()}async getImage(t){throw new Error("not implemented")}async metadata(){throw new Error("not implemented")}exportImage(t){throw new Error("not implemented")}metadataURL(t){return`${this.props.url}?f=pjson`}exportImageURL(t){const n=`bbox=${t.bbox[0]},${t.bbox[1]},${t.bbox[2]},${t.bbox[3]}`,i=`size=${t.width},${t.height}`,o={...t,bbox:n,size:i};return delete o.width,delete o.height,this.getUrl("exportImage",o)}getUrl(t,n,i){let o=`${this.props.url}/${t}`,s=!0;for(const[c,f]of Object.entries(n))o+=s?"?":"&",s=!1,Array.isArray(f)?o+=`${c.toUpperCase()}=${f.join(",")}`:o+=`${c.toUpperCase()}=${f?String(f):""}`;return o}async checkResponse(t){if(!t.ok)throw new Error("error")}}const the={type:"arcgis-image-server",testURL:r=>r.toLowerCase().includes("ImageServer"),create:r=>new ehe(r)},rhe=[Zfe,the];function nhe(r){return Afe(r,rhe)}const SP=6378137*Math.PI;function IP(r){const e=Gl(r);return e[0]=(e[0]/256-1)*SP,e[1]=(e[1]/256-1)*SP,e}const ihe={id:"imagery-layer",data:"",serviceType:"auto",srs:"auto",layers:{type:"array",compare:!0,value:[]},onMetadataLoad:{type:"function",value:()=>{}},onMetadataLoadError:{type:"function",value:console.error},onImageLoadStart:{type:"function",value:()=>{}},onImageLoad:{type:"function",value:()=>{}},onImageLoadError:{type:"function",compare:!1,value:(r,e)=>console.error(e,r)}};class _C extends ys{get isLoaded(){var e;return((e=this.state)==null?void 0:e.loadCounter)===0&&super.isLoaded}shouldUpdateState(){return!0}initializeState(){this.state._nextRequestId=0,this.state.lastRequestId=-1,this.state.loadCounter=0}updateState({changeFlags:e,props:t,oldProps:n}){const{viewport:i}=this.context;e.dataChanged||t.serviceType!==n.serviceType?(this.state.imageSource=this._createImageSource(t),this._loadMetadata(),this.debounce(()=>this.loadImage(i,"image source changed"),0)):ns(t.layers,n.layers,1)?e.viewportChanged&&this.debounce(()=>this.loadImage(i,"viewport changed")):this.debounce(()=>this.loadImage(i,"layers changed"),0)}finalizeState(){}renderLayers(){const{bounds:e,image:t,lastRequestParameters:n}=this.state;return t&&new wy({...this.getSubLayerProps({id:"bitmap"}),_imageCoordinateSystem:n.srs==="EPSG:4326"?Zr.LNGLAT:Zr.CARTESIAN,bounds:e,image:t})}async getFeatureInfoText(e,t){var i,o;const{lastRequestParameters:n}=this.state;return n?await((o=(i=this.state.imageSource).getFeatureInfoText)==null?void 0:o.call(i,{...n,query_layers:n.layers,x:e,y:t,info_format:"application/vnd.ogc.gml"})):""}_createImageSource(e){if(e.data instanceof gg)return e.data;if(typeof e.data=="string")return nhe({url:e.data,loadOptions:e.loadOptions,type:e.serviceType});throw new Error("invalid image source in props.data")}async _loadMetadata(){var t,n;const{imageSource:e}=this.state;try{this.state.loadCounter++;const i=await e.getMetadata();this.state.imageSource===e&&((t=this.getCurrentLayer())==null||t.props.onMetadataLoad(i))}catch(i){(n=this.getCurrentLayer())==null||n.props.onMetadataLoadError(i)}finally{this.state.loadCounter--}}async loadImage(e,t){var B,S;const{layers:n,serviceType:i}=this.props;if(i==="wms"&&n.length===0)return;const o=e.getBounds(),{width:s,height:c}=e,f=this.getRequestId();let{srs:y}=this.props;y==="auto"&&(y=e.resolution?"EPSG:4326":"EPSG:3857");const b={width:s,height:c,boundingBox:[[o[0],o[1]],[o[2],o[3]]],layers:n,crs:y};if(y==="EPSG:3857"){const O=IP([o[0],o[1]]),k=IP([o[2],o[3]]);b.boundingBox=[O,k]}try{this.state.loadCounter++,this.props.onImageLoadStart(f);const O=await this.state.imageSource.getImage(b);this.state.lastRequestId<f&&((B=this.getCurrentLayer())==null||B.props.onImageLoad(f),this.setState({image:O,bounds:o,lastRequestParameters:b,lastRequestId:f}))}catch(O){this.raiseError(O,"Load image"),(S=this.getCurrentLayer())==null||S.props.onImageLoadError(f,O)}finally{this.state.loadCounter--}}getRequestId(){return this.state._nextRequestId++}debounce(e,t=500){clearTimeout(this.state._timeoutId),this.state._timeoutId=setTimeout(()=>e(),t)}}_C.layerName="WMSLayer";_C.defaultProps=ihe;const she={getHeight:{type:"accessor",value:0},greatCircle:!0};class yC extends Ig{}yC.layerName="GreatCircleLayer";yC.defaultProps=she;const ohe={...tf.defaultProps};class rf extends ys{indexToBounds(){return null}renderLayers(){const{elevationScale:e,extruded:t,wireframe:n,filled:i,stroked:o,lineWidthUnits:s,lineWidthScale:c,lineWidthMinPixels:f,lineWidthMaxPixels:y,lineJointRounded:b,lineMiterLimit:B,lineDashJustified:S,getElevation:O,getFillColor:k,getLineColor:z,getLineWidth:J}=this.props,{updateTriggers:G,material:j,transitions:K}=this.props,fe=this.getSubLayerClass("cell",tf),{updateTriggers:Q,...oe}=this.indexToBounds()||{};return new fe({filled:i,wireframe:n,extruded:t,elevationScale:e,stroked:o,lineWidthUnits:s,lineWidthScale:c,lineWidthMinPixels:f,lineWidthMaxPixels:y,lineJointRounded:b,lineMiterLimit:B,lineDashJustified:S,material:j,transitions:K,getElevation:O,getFillColor:k,getLineColor:z,getLineWidth:J},this.getSubLayerProps({id:"cell",updateTriggers:G&&{...Q,getElevation:G.getElevation,getFillColor:G.getFillColor,getLineColor:G.getLineColor,getLineWidth:G.getLineWidth}}),oe)}}rf.layerName="GeoCellLayer";rf.defaultProps=ohe;function ahe(r){throw new Error('Could not dynamically require "'+r+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Lm={exports:{}},che=Lm.exports,MP;function lhe(){return MP||(MP=1,function(r){/**
|
3439
3439
|
* @license long.js (c) 2013 Daniel Wirtz <dcode@dcode.io>
|
3440
3440
|
* Released under the Apache License, Version 2.0
|
3441
3441
|
* see: https://github.com/dcodeIO/long.js for details
|
3442
|
-
*/(function(e,t){typeof ahe=="function"&&r&&r.exports?r.exports=t():(e.dcodeIO=e.dcodeIO||{}).Long=t()})(che,function(){function e(we,Ae,W){this.low=we|0,this.high=Ae|0,this.unsigned=!!W}e.prototype.__isLong__,Object.defineProperty(e.prototype,"__isLong__",{value:!0,enumerable:!1,configurable:!1});function t(we){return(we&&we.__isLong__)===!0}e.isLong=t;var n={},i={};function o(we,Ae){var W,ne,Te;return Ae?(we>>>=0,(Te=0<=we&&we<256)&&(ne=i[we],ne)?ne:(W=c(we,(we|0)<0?-1:0,!0),Te&&(i[we]=W),W)):(we|=0,(Te=-128<=we&&we<128)&&(ne=n[we],ne)?ne:(W=c(we,we<0?-1:0,!1),Te&&(n[we]=W),W))}e.fromInt=o;function s(we,Ae){if(isNaN(we)||!isFinite(we))return Ae?j:G;if(Ae){if(we<0)return j;if(we>=k)return Be}else{if(we<=-9223372036854776e3)return ze;if(we+1>=z)return oe}return we<0?s(-we,Ae).neg():c(we%O|0,we/O|0,Ae)}e.fromNumber=s;function c(we,Ae,W){return new e(we,Ae,W)}e.fromBits=c;var f=Math.pow;function y(we,Ae,W){if(we.length===0)throw Error("empty string");if(we==="NaN"||we==="Infinity"||we==="+Infinity"||we==="-Infinity")return G;if(typeof Ae=="number"?(W=Ae,Ae=!1):Ae=!!Ae,W=W||10,W<2||36<W)throw RangeError("radix");var ne;if((ne=we.indexOf("-"))>0)throw Error("interior hyphen");if(ne===0)return y(we.substring(1),Ae,W).neg();for(var Te=s(f(W,8)),Ye=G,Ce=0;Ce<we.length;Ce+=8){var Ne=Math.min(8,we.length-Ce),Ge=parseInt(we.substring(Ce,Ce+Ne),W);if(Ne<8){var Qe=s(f(W,Ne));Ye=Ye.mul(Qe).add(s(Ge))}else Ye=Ye.mul(Te),Ye=Ye.add(s(Ge))}return Ye.unsigned=Ae,Ye}e.fromString=y;function b(we){return we instanceof e?we:typeof we=="number"?s(we):typeof we=="string"?y(we):c(we.low,we.high,we.unsigned)}e.fromValue=b;var B=65536,S=1<<24,O=B*B,k=O*O,z=k/2,J=o(S),G=o(0);e.ZERO=G;var j=o(0,!0);e.UZERO=j;var K=o(1);e.ONE=K;var fe=o(1,!0);e.UONE=fe;var Q=o(-1);e.NEG_ONE=Q;var oe=c(-1,2147483647,!1);e.MAX_VALUE=oe;var Be=c(-1,-1,!0);e.MAX_UNSIGNED_VALUE=Be;var ze=c(0,-2147483648,!1);e.MIN_VALUE=ze;var pe=e.prototype;return pe.toInt=function(){return this.unsigned?this.low>>>0:this.low},pe.toNumber=function(){return this.unsigned?(this.high>>>0)*O+(this.low>>>0):this.high*O+(this.low>>>0)},pe.toString=function(Ae){if(Ae=Ae||10,Ae<2||36<Ae)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(ze)){var W=s(Ae),ne=this.div(W),Te=ne.mul(W).sub(this);return ne.toString(Ae)+Te.toInt().toString(Ae)}else return"-"+this.neg().toString(Ae);for(var Ye=s(f(Ae,6),this.unsigned),Ce=this,Ne="";;){var Ge=Ce.div(Ye),Qe=Ce.sub(Ge.mul(Ye)).toInt()>>>0,rt=Qe.toString(Ae);if(Ce=Ge,Ce.isZero())return rt+Ne;for(;rt.length<6;)rt="0"+rt;Ne=""+rt+Ne}},pe.getHighBits=function(){return this.high},pe.getHighBitsUnsigned=function(){return this.high>>>0},pe.getLowBits=function(){return this.low},pe.getLowBitsUnsigned=function(){return this.low>>>0},pe.getNumBitsAbs=function(){if(this.isNegative())return this.eq(ze)?64:this.neg().getNumBitsAbs();for(var Ae=this.high!=0?this.high:this.low,W=31;W>0&&!(Ae&1<<W);W--);return this.high!=0?W+33:W+1},pe.isZero=function(){return this.high===0&&this.low===0},pe.isNegative=function(){return!this.unsigned&&this.high<0},pe.isPositive=function(){return this.unsigned||this.high>=0},pe.isOdd=function(){return(this.low&1)===1},pe.isEven=function(){return(this.low&1)===0},pe.equals=function(Ae){return t(Ae)||(Ae=b(Ae)),this.unsigned!==Ae.unsigned&&this.high>>>31===1&&Ae.high>>>31===1?!1:this.high===Ae.high&&this.low===Ae.low},pe.eq=pe.equals,pe.notEquals=function(Ae){return!this.eq(Ae)},pe.neq=pe.notEquals,pe.lessThan=function(Ae){return this.comp(Ae)<0},pe.lt=pe.lessThan,pe.lessThanOrEqual=function(Ae){return this.comp(Ae)<=0},pe.lte=pe.lessThanOrEqual,pe.greaterThan=function(Ae){return this.comp(Ae)>0},pe.gt=pe.greaterThan,pe.greaterThanOrEqual=function(Ae){return this.comp(Ae)>=0},pe.gte=pe.greaterThanOrEqual,pe.compare=function(Ae){if(t(Ae)||(Ae=b(Ae)),this.eq(Ae))return 0;var W=this.isNegative(),ne=Ae.isNegative();return W&&!ne?-1:!W&&ne?1:this.unsigned?Ae.high>>>0>this.high>>>0||Ae.high===this.high&&Ae.low>>>0>this.low>>>0?-1:1:this.sub(Ae).isNegative()?-1:1},pe.comp=pe.compare,pe.negate=function(){return!this.unsigned&&this.eq(ze)?ze:this.not().add(K)},pe.neg=pe.negate,pe.add=function(Ae){t(Ae)||(Ae=b(Ae));var W=this.high>>>16,ne=this.high&65535,Te=this.low>>>16,Ye=this.low&65535,Ce=Ae.high>>>16,Ne=Ae.high&65535,Ge=Ae.low>>>16,Qe=Ae.low&65535,rt=0,tt=0,lt=0,mt=0;return mt+=Ye+Qe,lt+=mt>>>16,mt&=65535,lt+=Te+Ge,tt+=lt>>>16,lt&=65535,tt+=ne+Ne,rt+=tt>>>16,tt&=65535,rt+=W+Ce,rt&=65535,c(lt<<16|mt,rt<<16|tt,this.unsigned)},pe.subtract=function(Ae){return t(Ae)||(Ae=b(Ae)),this.add(Ae.neg())},pe.sub=pe.subtract,pe.multiply=function(Ae){if(this.isZero()||(t(Ae)||(Ae=b(Ae)),Ae.isZero()))return G;if(this.eq(ze))return Ae.isOdd()?ze:G;if(Ae.eq(ze))return this.isOdd()?ze:G;if(this.isNegative())return Ae.isNegative()?this.neg().mul(Ae.neg()):this.neg().mul(Ae).neg();if(Ae.isNegative())return this.mul(Ae.neg()).neg();if(this.lt(J)&&Ae.lt(J))return s(this.toNumber()*Ae.toNumber(),this.unsigned);var W=this.high>>>16,ne=this.high&65535,Te=this.low>>>16,Ye=this.low&65535,Ce=Ae.high>>>16,Ne=Ae.high&65535,Ge=Ae.low>>>16,Qe=Ae.low&65535,rt=0,tt=0,lt=0,mt=0;return mt+=Ye*Qe,lt+=mt>>>16,mt&=65535,lt+=Te*Qe,tt+=lt>>>16,lt&=65535,lt+=Ye*Ge,tt+=lt>>>16,lt&=65535,tt+=ne*Qe,rt+=tt>>>16,tt&=65535,tt+=Te*Ge,rt+=tt>>>16,tt&=65535,tt+=Ye*Ne,rt+=tt>>>16,tt&=65535,rt+=W*Qe+ne*Ge+Te*Ne+Ye*Ce,rt&=65535,c(lt<<16|mt,rt<<16|tt,this.unsigned)},pe.mul=pe.multiply,pe.divide=function(Ae){if(t(Ae)||(Ae=b(Ae)),Ae.isZero())throw Error("division by zero");if(this.isZero())return this.unsigned?j:G;var W,ne,Te;if(this.unsigned){if(Ae.unsigned||(Ae=Ae.toUnsigned()),Ae.gt(this))return j;if(Ae.gt(this.shru(1)))return fe;Te=j}else{if(this.eq(ze)){if(Ae.eq(K)||Ae.eq(Q))return ze;if(Ae.eq(ze))return K;var Ye=this.shr(1);return W=Ye.div(Ae).shl(1),W.eq(G)?Ae.isNegative()?K:Q:(ne=this.sub(Ae.mul(W)),Te=W.add(ne.div(Ae)),Te)}else if(Ae.eq(ze))return this.unsigned?j:G;if(this.isNegative())return Ae.isNegative()?this.neg().div(Ae.neg()):this.neg().div(Ae).neg();if(Ae.isNegative())return this.div(Ae.neg()).neg();Te=G}for(ne=this;ne.gte(Ae);){W=Math.max(1,Math.floor(ne.toNumber()/Ae.toNumber()));for(var Ce=Math.ceil(Math.log(W)/Math.LN2),Ne=Ce<=48?1:f(2,Ce-48),Ge=s(W),Qe=Ge.mul(Ae);Qe.isNegative()||Qe.gt(ne);)W-=Ne,Ge=s(W,this.unsigned),Qe=Ge.mul(Ae);Ge.isZero()&&(Ge=K),Te=Te.add(Ge),ne=ne.sub(Qe)}return Te},pe.div=pe.divide,pe.modulo=function(Ae){return t(Ae)||(Ae=b(Ae)),this.sub(this.div(Ae).mul(Ae))},pe.mod=pe.modulo,pe.not=function(){return c(~this.low,~this.high,this.unsigned)},pe.and=function(Ae){return t(Ae)||(Ae=b(Ae)),c(this.low&Ae.low,this.high&Ae.high,this.unsigned)},pe.or=function(Ae){return t(Ae)||(Ae=b(Ae)),c(this.low|Ae.low,this.high|Ae.high,this.unsigned)},pe.xor=function(Ae){return t(Ae)||(Ae=b(Ae)),c(this.low^Ae.low,this.high^Ae.high,this.unsigned)},pe.shiftLeft=function(Ae){return t(Ae)&&(Ae=Ae.toInt()),(Ae&=63)===0?this:Ae<32?c(this.low<<Ae,this.high<<Ae|this.low>>>32-Ae,this.unsigned):c(0,this.low<<Ae-32,this.unsigned)},pe.shl=pe.shiftLeft,pe.shiftRight=function(Ae){return t(Ae)&&(Ae=Ae.toInt()),(Ae&=63)===0?this:Ae<32?c(this.low>>>Ae|this.high<<32-Ae,this.high>>Ae,this.unsigned):c(this.high>>Ae-32,this.high>=0?0:-1,this.unsigned)},pe.shr=pe.shiftRight,pe.shiftRightUnsigned=function(Ae){if(t(Ae)&&(Ae=Ae.toInt()),Ae&=63,Ae===0)return this;var W=this.high;if(Ae<32){var ne=this.low;return c(ne>>>Ae|W<<32-Ae,W>>>Ae,this.unsigned)}else return Ae===32?c(W,0,this.unsigned):c(W>>>Ae-32,0,this.unsigned)},pe.shru=pe.shiftRightUnsigned,pe.toSigned=function(){return this.unsigned?c(this.low,this.high,!1):this},pe.toUnsigned=function(){return this.unsigned?this:c(this.low,this.high,!0)},pe.toBytes=function(we){return we?this.toBytesLE():this.toBytesBE()},pe.toBytesLE=function(){var we=this.high,Ae=this.low;return[Ae&255,Ae>>>8&255,Ae>>>16&255,Ae>>>24&255,we&255,we>>>8&255,we>>>16&255,we>>>24&255]},pe.toBytesBE=function(){var we=this.high,Ae=this.low;return[we>>>24&255,we>>>16&255,we>>>8&255,we&255,Ae>>>24&255,Ae>>>16&255,Ae>>>8&255,Ae&255]},e})}(Lm)),Lm.exports}var uhe=lhe();const Nm=oh(uhe),fhe=3,hhe=30,dhe=2*hhe+1,PP=180/Math.PI;function Ahe(r,e,t){const n=1<<e;return[(r[0]+t[0])/n,(r[1]+t[1])/n]}function RP(r){return r>=.5?1/3*(4*r*r-1):1/3*(1-4*(1-r)*(1-r))}function phe(r){return[RP(r[0]),RP(r[1])]}function ghe(r,[e,t]){switch(r){case 0:return[1,e,t];case 1:return[-e,1,t];case 2:return[-e,-t,1];case 3:return[-1,-t,-e];case 4:return[t,-1,-e];case 5:return[t,e,-1];default:throw new Error("Invalid face")}}function mhe([r,e,t]){const n=Math.atan2(t,Math.sqrt(r*r+e*e));return[Math.atan2(e,r)*PP,n*PP]}function _he(r){let e=Nm.fromString(r,!0,10).toString(2);for(;e.length<fhe+dhe;)e="0"+e;const t=e.lastIndexOf("1"),n=e.substring(0,3),i=e.substring(3,t),o=i.length/2,s=Nm.fromString(n,!0,2).toString(10);let c=Nm.fromString(i,!0,2).toString(4);for(;c.length<o;)c="0"+c;return`${s}/${c}`}function yhe(r,e,t,n){if(n===0){t===1&&(e[0]=r-1-e[0],e[1]=r-1-e[1]);const i=e[0];e[0]=e[1],e[1]=i}}function vhe(r){const e=r.split("/"),t=parseInt(e[0],10),n=e[1],i=n.length,o=[0,0];let s;for(let c=i-1;c>=0;c--){s=i-c;const f=n[c];let y=0,b=0;f==="1"?b=1:f==="2"?(y=1,b=1):f==="3"&&(y=1);const B=Math.pow(2,s-1);yhe(B,o,y,b),o[0]+=B*y,o[1]+=B*b}if(t%2===1){const c=o[0];o[0]=o[1],o[1]=c}return{face:t,ij:o,level:s}}function bhe(r){const e=r.padEnd(16,"0");return Nm.fromString(e,16)}const xhe=100;function whe({face:r,ij:e,level:t}){const n=[[0,0],[0,1],[1,1],[1,0],[0,0]],i=Math.max(1,Math.ceil(xhe*Math.pow(2,-t))),o=new Float64Array(4*i*2+2);let s=0,c=0;for(let f=0;f<4;f++){const y=n[f].slice(0),b=n[f+1],B=(b[0]-y[0])/i,S=(b[1]-y[1])/i;for(let O=0;O<i;O++){y[0]+=B,y[1]+=S;const k=Ahe(e,t,y),z=phe(k),J=ghe(r,z),G=mhe(J);Math.abs(G[1])>89.999&&(G[0]=c);const j=G[0]-c;G[0]+=j>180?-360:j<-180?360:0,o[s++]=G[0],o[s++]=G[1],c=G[0]}}return o[s++]=o[0],o[s++]=o[1],o}function Che(r){if(typeof r=="string"){if(r.indexOf("/")>0)return r;r=bhe(r)}return _he(r.toString())}function Ehe(r){const e=Che(r),t=vhe(e);return whe(t)}const The={getS2Token:{type:"accessor",value:r=>r.token}};class Sy extends rf{indexToBounds(){const{data:e,getS2Token:t}=this.props;return{data:e,_normalize:!1,positionFormat:"XY",getPolygon:(n,i)=>Ehe(t(n,i))}}}Sy.layerName="S2Layer";Sy.defaultProps=The;const s1=512;function Bhe(r,e){let t=0,n=0,i=1<<r.length;const o=i/s1;for(let s=0;s<r.length;s++){i>>=1;const c=parseInt(r[s]);c%2&&(t|=i),c>1&&(n|=i)}return[[t/o,s1-n/o],[(t+e)/o,s1-(n+e)/o]]}function She(r,e=1){const[t,n]=Bhe(r,e),[i,o]=tl(t),[s,c]=tl(n);return[s,o,s,c,i,c,i,o,s,o]}const Ihe={getQuadkey:{type:"accessor",value:r=>r.quadkey}};class Iy extends rf{indexToBounds(){const{data:e,extruded:t,getQuadkey:n}=this.props,i=t?.99:1;return{data:e,_normalize:!1,positionFormat:"XY",getPolygon:(o,s)=>She(n(o,s),i),updateTriggers:{getPolygon:i}}}}Iy.layerName="QuadkeyLayer";Iy.defaultProps=Ihe;class I8{constructor(e){this.index=e,this.isVisible=!1,this.isSelected=!1,this.parent=null,this.children=[],this.content=null,this._loader=void 0,this._abortController=null,this._loaderId=0,this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1}get bbox(){return this._bbox}set bbox(e){this._bbox||(this._bbox=e,"west"in e?this.boundingBox=[[e.west,e.south],[e.east,e.north]]:this.boundingBox=[[e.left,e.top],[e.right,e.bottom]])}get data(){return this.isLoading&&this._loader?this._loader.then(()=>this.data):this.content}get isLoaded(){return this._isLoaded&&!this._needsReload}get isLoading(){return!!this._loader&&!this._isCancelled}get needsReload(){return this._needsReload||this._isCancelled}get byteLength(){const e=this.content?this.content.byteLength:0;return Number.isFinite(e)||console.error("byteLength not defined in tile data"),e}async _loadData({getData:e,requestScheduler:t,onLoad:n,onError:i}){const{index:o,id:s,bbox:c,userData:f,zoom:y}=this,b=this._loaderId;this._abortController=new AbortController;const{signal:B}=this._abortController,S=await t.scheduleRequest(this,z=>z.isSelected?1:-1);if(!S){this._isCancelled=!0;return}if(this._isCancelled){S.done();return}let O=null,k;try{O=await e({index:o,id:s,bbox:c,userData:f,zoom:y,signal:B})}catch(z){k=z||!0}finally{S.done()}if(b===this._loaderId){if(this._loader=void 0,this.content=O,this._isCancelled&&!O){this._isLoaded=!1;return}this._isLoaded=!0,this._isCancelled=!1,k?i(k,this):n(this)}}loadData(e){return this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1,this._loaderId++,this._loader=this._loadData(e),this._loader}setNeedsReload(){this.isLoading&&(this.abort(),this._loader=void 0),this._needsReload=!0}abort(){var e;this.isLoaded||(this._isCancelled=!0,(e=this._abortController)==null||e.abort())}}const ao={OUTSIDE:-1,INTERSECTING:0,INSIDE:1},FP=new ft,Mhe=new ft;class vC{constructor(e=[0,0,0],t=[0,0,0],n){n=n||FP.copy(e).add(t).scale(.5),this.center=new ft(n),this.halfDiagonal=new ft(t).subtract(this.center),this.minimum=new ft(e),this.maximum=new ft(t)}clone(){return new vC(this.minimum,this.maximum,this.center)}equals(e){return this===e||!!e&&this.minimum.equals(e.minimum)&&this.maximum.equals(e.maximum)}transform(e){return this.center.transformAsPoint(e),this.halfDiagonal.transform(e),this.minimum.transform(e),this.maximum.transform(e),this}intersectPlane(e){const{halfDiagonal:t}=this,n=Mhe.from(e.normal),i=t.x*Math.abs(n.x)+t.y*Math.abs(n.y)+t.z*Math.abs(n.z),o=this.center.dot(n)+e.distance;return o-i>0?ao.INSIDE:o+i<0?ao.OUTSIDE:ao.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){const t=FP.from(e).subtract(this.center),{halfDiagonal:n}=this;let i=0,o;return o=Math.abs(t.x)-n.x,o>0&&(i+=o*o),o=Math.abs(t.y)-n.y,o>0&&(i+=o*o),o=Math.abs(t.z)-n.z,o>0&&(i+=o*o),i}}const wp=new ft,DP=new ft;class Lg{constructor(e=[0,0,0],t=0){this.radius=-0,this.center=new ft,this.fromCenterRadius(e,t)}fromCenterRadius(e,t){return this.center.from(e),this.radius=t,this}fromCornerPoints(e,t){return t=wp.from(t),this.center=new ft().from(e).add(t).scale(.5),this.radius=this.center.distance(t),this}equals(e){return this===e||!!e&&this.center.equals(e.center)&&this.radius===e.radius}clone(){return new Lg(this.center,this.radius)}union(e){const t=this.center,n=this.radius,i=e.center,o=e.radius,s=wp.copy(i).subtract(t),c=s.magnitude();if(n>=c+o)return this.clone();if(o>=c+n)return e.clone();const f=(n+c+o)*.5;return DP.copy(s).scale((-n+f)/c).add(t),this.center.copy(DP),this.radius=f,this}expand(e){const n=wp.from(e).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(e){this.center.transform(e);const t=WH(wp,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}distanceSquaredTo(e){const t=this.distanceTo(e);return t*t}distanceTo(e){const n=wp.from(e).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(e){const t=this.center,n=this.radius,o=e.normal.dot(t)+e.distance;return o<-n?ao.OUTSIDE:o<n?ao.INTERSECTING:ao.INSIDE}}const Phe=new ft,Rhe=new ft,em=new ft,tm=new ft,rm=new ft,Fhe=new ft,Dhe=new ft,Rl={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8};class Ng{constructor(e=[0,0,0],t=[0,0,0,0,0,0,0,0,0]){this.center=new ft().from(e),this.halfAxes=new ci(t)}get halfSize(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new ft(e).len(),new ft(t).len(),new ft(n).len()]}get quaternion(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new ft(e).normalize(),o=new ft(t).normalize(),s=new ft(n).normalize();return new sg().fromMatrix3(new ci([...i,...o,...s]))}fromCenterHalfSizeQuaternion(e,t,n){const i=new sg(n),o=new ci().fromQuaternion(i);return o[0]=o[0]*t[0],o[1]=o[1]*t[0],o[2]=o[2]*t[0],o[3]=o[3]*t[1],o[4]=o[4]*t[1],o[5]=o[5]*t[1],o[6]=o[6]*t[2],o[7]=o[7]*t[2],o[8]=o[8]*t[2],this.center=new ft().from(e),this.halfAxes=o,this}clone(){return new Ng(this.center,this.halfAxes)}equals(e){return this===e||!!e&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new Lg){const t=this.halfAxes,n=t.getColumn(0,em),i=t.getColumn(1,tm),o=t.getColumn(2,rm),s=Phe.copy(n).add(i).add(o);return e.center.copy(this.center),e.radius=s.magnitude(),e}intersectPlane(e){const t=this.center,n=e.normal,i=this.halfAxes,o=n.x,s=n.y,c=n.z,f=Math.abs(o*i[Rl.COLUMN0ROW0]+s*i[Rl.COLUMN0ROW1]+c*i[Rl.COLUMN0ROW2])+Math.abs(o*i[Rl.COLUMN1ROW0]+s*i[Rl.COLUMN1ROW1]+c*i[Rl.COLUMN1ROW2])+Math.abs(o*i[Rl.COLUMN2ROW0]+s*i[Rl.COLUMN2ROW1]+c*i[Rl.COLUMN2ROW2]),y=n.dot(t)+e.distance;return y<=-f?ao.OUTSIDE:y>=f?ao.INSIDE:ao.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){const t=Rhe.from(e).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,em),o=n.getColumn(1,tm),s=n.getColumn(2,rm),c=i.magnitude(),f=o.magnitude(),y=s.magnitude();i.normalize(),o.normalize(),s.normalize();let b=0,B;return B=Math.abs(t.dot(i))-c,B>0&&(b+=B*B),B=Math.abs(t.dot(o))-f,B>0&&(b+=B*B),B=Math.abs(t.dot(s))-y,B>0&&(b+=B*B),b}computePlaneDistances(e,t,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY;const s=this.center,c=this.halfAxes,f=c.getColumn(0,em),y=c.getColumn(1,tm),b=c.getColumn(2,rm),B=Fhe.copy(f).add(y).add(b).add(s),S=Dhe.copy(B).subtract(e);let O=t.dot(S);return i=Math.min(O,i),o=Math.max(O,o),B.copy(s).add(f).add(y).subtract(b),S.copy(B).subtract(e),O=t.dot(S),i=Math.min(O,i),o=Math.max(O,o),B.copy(s).add(f).subtract(y).add(b),S.copy(B).subtract(e),O=t.dot(S),i=Math.min(O,i),o=Math.max(O,o),B.copy(s).add(f).subtract(y).subtract(b),S.copy(B).subtract(e),O=t.dot(S),i=Math.min(O,i),o=Math.max(O,o),s.copy(B).subtract(f).add(y).add(b),S.copy(B).subtract(e),O=t.dot(S),i=Math.min(O,i),o=Math.max(O,o),s.copy(B).subtract(f).add(y).subtract(b),S.copy(B).subtract(e),O=t.dot(S),i=Math.min(O,i),o=Math.max(O,o),s.copy(B).subtract(f).subtract(y).add(b),S.copy(B).subtract(e),O=t.dot(S),i=Math.min(O,i),o=Math.max(O,o),s.copy(B).subtract(f).subtract(y).subtract(b),S.copy(B).subtract(e),O=t.dot(S),i=Math.min(O,i),o=Math.max(O,o),n[0]=i,n[1]=o,n}transform(e){this.center.transformAsPoint(e);const t=this.halfAxes.getColumn(0,em);t.transformAsPoint(e);const n=this.halfAxes.getColumn(1,tm);n.transformAsPoint(e);const i=this.halfAxes.getColumn(2,rm);return i.transformAsPoint(e),this.halfAxes=new ci([...t,...n,...i]),this}getTransform(){throw new Error("not implemented")}}const OP=new ft,LP=new ft;class nc{constructor(e=[0,0,1],t=0){this.normal=new ft,this.distance=-0,this.fromNormalDistance(e,t)}fromNormalDistance(e,t){return ic(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}fromPointNormal(e,t){e=OP.from(e),this.normal.from(t).normalize();const n=-this.normal.dot(e);return this.distance=n,this}fromCoefficients(e,t,n,i){return this.normal.set(e,t,n),ic(Pa(this.normal.len(),1)),this.distance=i,this}clone(){return new nc(this.normal,this.distance)}equals(e){return Pa(this.distance,e.distance)&&Pa(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){const t=LP.copy(this.normal).transformAsVector(e).normalize(),n=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(n,t)}projectPointOntoPlane(e,t=[0,0,0]){const n=OP.from(e),i=this.getPointDistance(n),o=LP.copy(this.normal).scale(i);return n.subtract(o).to(t)}}const NP=[new ft([1,0,0]),new ft([0,1,0]),new ft([0,0,1])],kP=new ft,Ohe=new ft;class ra{constructor(e=[]){this.planes=e}fromBoundingSphere(e){this.planes.length=2*NP.length;const t=e.center,n=e.radius;let i=0;for(const o of NP){let s=this.planes[i],c=this.planes[i+1];s||(s=this.planes[i]=new nc),c||(c=this.planes[i+1]=new nc);const f=kP.copy(o).scale(-n).add(t);s.fromPointNormal(f,o);const y=kP.copy(o).scale(n).add(t),b=Ohe.copy(o).negate();c.fromPointNormal(y,b),i+=2}return this}computeVisibility(e){let t=ao.INSIDE;for(const n of this.planes)switch(e.intersectPlane(n)){case ao.OUTSIDE:return ao.OUTSIDE;case ao.INTERSECTING:t=ao.INTERSECTING;break}return t}computeVisibilityWithPlaneMask(e,t){if(ic(Number.isFinite(t),"parentPlaneMask is required."),t===ra.MASK_OUTSIDE||t===ra.MASK_INSIDE)return t;let n=ra.MASK_INSIDE;const i=this.planes;for(let o=0;o<this.planes.length;++o){const s=o<31?1<<o:0;if(o<31&&!(t&s))continue;const c=i[o],f=e.intersectPlane(c);if(f===ao.OUTSIDE)return ra.MASK_OUTSIDE;f===ao.INTERSECTING&&(n|=s)}return n}}ra.MASK_OUTSIDE=4294967295;ra.MASK_INSIDE=0;ra.MASK_INDETERMINATE=2147483647;new ft;new ft;new ft;new ft;new ft;new ft;new ft;new ft;new ft;new ft;new ft;new ft;new ft;new ft;new ft;new ft;new ft;const Wc=new ci,Lhe=new ci,Nhe=new ci,nm=new ci,UP=new ci;function khe(r,e={}){const t=Pj,n=10;let i=0,o=0;const s=Lhe,c=Nhe;s.identity(),c.copy(r);const f=t*Uhe(c);for(;o<n&&zhe(c)>f;)Ghe(c,nm),UP.copy(nm).transpose(),c.multiplyRight(nm),c.multiplyLeft(UP),s.multiplyRight(nm),++i>2&&(++o,i=0);return e.unitary=s.toTarget(e.unitary),e.diagonal=c.toTarget(e.diagonal),e}function Uhe(r){let e=0;for(let t=0;t<9;++t){const n=r[t];e+=n*n}return Math.sqrt(e)}const xx=[1,0,0],wx=[2,2,1];function zhe(r){let e=0;for(let t=0;t<3;++t){const n=r[Wc.getElementIndex(wx[t],xx[t])];e+=2*n*n}return Math.sqrt(e)}function Ghe(r,e){const t=h6;let n=0,i=1;for(let y=0;y<3;++y){const b=Math.abs(r[Wc.getElementIndex(wx[y],xx[y])]);b>n&&(i=y,n=b)}const o=xx[i],s=wx[i];let c=1,f=0;if(Math.abs(r[Wc.getElementIndex(s,o)])>t){const y=r[Wc.getElementIndex(s,s)],b=r[Wc.getElementIndex(o,o)],B=r[Wc.getElementIndex(s,o)],S=(y-b)/2/B;let O;S<0?O=-1/(-S+Math.sqrt(1+S*S)):O=1/(S+Math.sqrt(1+S*S)),c=1/Math.sqrt(1+O*O),f=O*c}return ci.IDENTITY.to(e),e[Wc.getElementIndex(o,o)]=e[Wc.getElementIndex(s,s)]=c,e[Wc.getElementIndex(s,o)]=f,e[Wc.getElementIndex(o,s)]=-f,e}const Tu=new ft,Vhe=new ft,Hhe=new ft,jhe=new ft,$he=new ft,Whe=new ci,Jhe={diagonal:new ci,unitary:new ci};function M8(r,e=new Ng){if(!r||r.length===0)return e.halfAxes=new ci([0,0,0,0,0,0,0,0,0]),e.center=new ft,e;const t=r.length,n=new ft(0,0,0);for(const pe of r)n.add(pe);const i=1/t;n.multiplyByScalar(i);let o=0,s=0,c=0,f=0,y=0,b=0;for(const pe of r){const we=Tu.copy(pe).subtract(n);o+=we.x*we.x,s+=we.x*we.y,c+=we.x*we.z,f+=we.y*we.y,y+=we.y*we.z,b+=we.z*we.z}o*=i,s*=i,c*=i,f*=i,y*=i,b*=i;const B=Whe;B[0]=o,B[1]=s,B[2]=c,B[3]=s,B[4]=f,B[5]=y,B[6]=c,B[7]=y,B[8]=b;const{unitary:S}=khe(B,Jhe),O=e.halfAxes.copy(S);let k=O.getColumn(0,Hhe),z=O.getColumn(1,jhe),J=O.getColumn(2,$he),G=-Number.MAX_VALUE,j=-Number.MAX_VALUE,K=-Number.MAX_VALUE,fe=Number.MAX_VALUE,Q=Number.MAX_VALUE,oe=Number.MAX_VALUE;for(const pe of r)Tu.copy(pe),G=Math.max(Tu.dot(k),G),j=Math.max(Tu.dot(z),j),K=Math.max(Tu.dot(J),K),fe=Math.min(Tu.dot(k),fe),Q=Math.min(Tu.dot(z),Q),oe=Math.min(Tu.dot(J),oe);k=k.multiplyByScalar(.5*(fe+G)),z=z.multiplyByScalar(.5*(Q+j)),J=J.multiplyByScalar(.5*(oe+K)),e.center.copy(k).add(z).add(J);const Be=Vhe.set(G-fe,j-Q,K-oe).multiplyByScalar(.5),ze=new ci([Be[0],0,0,0,Be[1],0,0,0,Be[2]]);return e.halfAxes.multiplyRight(ze),e}const Zd=512,Xhe=3,P8=[[.5,.5],[0,0],[0,1],[1,0],[1,1]],R8=P8.concat([[0,.5],[.5,0],[1,.5],[.5,1]]),Khe=R8.concat([[.25,.5],[.75,.5]]);class Qd{constructor(e,t,n){this.x=e,this.y=t,this.z=n}get children(){if(!this._children){const e=this.x*2,t=this.y*2,n=this.z+1;this._children=[new Qd(e,t,n),new Qd(e,t+1,n),new Qd(e+1,t,n),new Qd(e+1,t+1,n)]}return this._children}update(e){const{viewport:t,cullingVolume:n,elevationBounds:i,minZ:o,maxZ:s,bounds:c,offset:f,project:y}=e,b=this.getBoundingVolume(i,f,y);if(c&&!this.insideBounds(c)||n.computeVisibility(b)<0)return!1;if(!this.childVisible){let{z:S}=this;if(S<s&&S>=o){const O=b.distanceTo(t.cameraPosition)*t.scale/t.height;S+=Math.floor(Math.log2(O))}if(S>=s)return this.selected=!0,!0}this.selected=!1,this.childVisible=!0;for(const S of this.children)S.update(e);return!0}getSelected(e=[]){if(this.selected&&e.push(this),this._children)for(const t of this._children)t.getSelected(e);return e}insideBounds([e,t,n,i]){const o=Math.pow(2,this.z),s=Zd/o;return this.x*s<n&&this.y*s<i&&(this.x+1)*s>e&&(this.y+1)*s>t}getBoundingVolume(e,t,n){if(n){const f=this.z<1?Khe:this.z<2?R8:P8,y=[];for(const b of f){const B=Ex(this.x+b[0],this.y+b[1],this.z);B[2]=e[0],y.push(n(B)),e[0]!==e[1]&&(B[2]=e[1],y.push(n(B)))}return M8(y)}const i=Math.pow(2,this.z),o=Zd/i,s=this.x*o+t*Zd,c=Zd-(this.y+1)*o;return new vC([s,c,e[0]],[s+o,c+o,e[1]])}}function qhe(r,e,t,n){const i=r instanceof YY&&r.resolution?r.projectPosition:null,o=Object.values(r.getFrustumPlanes()).map(({normal:O,distance:k})=>new nc(O.clone().negate(),k)),s=new ra(o),c=r.distanceScales.unitsPerMeter[2],f=t&&t[0]*c||0,y=t&&t[1]*c||0,b=r instanceof cg&&r.pitch<=60?e:0;if(n){const[O,k,z,J]=n,G=Gl([O,J]),j=Gl([z,k]);n=[G[0],Zd-G[1],j[0],Zd-j[1]]}const B=new Qd(0,0,0),S={viewport:r,project:i,cullingVolume:s,elevationBounds:[f,y],minZ:b,maxZ:e,bounds:n,offset:0};if(B.update(S),r instanceof cg&&r.subViewports&&r.subViewports.length>1){for(S.offset=-1;B.update(S)&&!(--S.offset<-3););for(S.offset=1;B.update(S)&&!(++S.offset>Xhe););}return B.getSelected()}const Vl=512,Yhe=[-1/0,-1/0,1/0,1/0],I_={type:"object",value:null,validate:(r,e)=>e.optional&&r===null||typeof r=="string"||Array.isArray(r)&&r.every(t=>typeof t=="string"),equal:(r,e)=>{if(r===e)return!0;if(!Array.isArray(r)||!Array.isArray(e))return!1;const t=r.length;if(t!==e.length)return!1;for(let n=0;n<t;n++)if(r[n]!==e[n])return!1;return!0}};function F8(r,e){const t=[e.transformAsPoint([r[0],r[1]]),e.transformAsPoint([r[2],r[1]]),e.transformAsPoint([r[0],r[3]]),e.transformAsPoint([r[2],r[3]])];return[Math.min(...t.map(i=>i[0])),Math.min(...t.map(i=>i[1])),Math.max(...t.map(i=>i[0])),Math.max(...t.map(i=>i[1]))]}function Zhe(r){return Math.abs(r.split("").reduce((e,t)=>(e<<5)-e+t.charCodeAt(0)|0,0))}function rh(r,e){if(!r||!r.length)return null;const{index:t,id:n}=e;if(Array.isArray(r)){const o=Zhe(n)%r.length;r=r[o]}let i=r;for(const o of Object.keys(t)){const s=new RegExp(`{${o}}`,"g");i=i.replace(s,String(t[o]))}return Number.isInteger(t.y)&&Number.isInteger(t.z)&&(i=i.replace(/\{-y\}/g,String(Math.pow(2,t.z)-t.y-1))),i}function Qhe(r,e,t){let n;return n=r.getBounds(),r.isGeospatial?[Math.max(n[0],t[0]),Math.max(n[1],t[1]),Math.min(n[2],t[2]),Math.min(n[3],t[3])]:[Math.max(Math.min(n[0],t[2]),t[0]),Math.max(Math.min(n[1],t[3]),t[1]),Math.min(Math.max(n[2],t[0]),t[2]),Math.min(Math.max(n[3],t[1]),t[3])]}function ede({viewport:r,z:e,cullRect:t}){return(r.subViewports||[r]).map(i=>Cx(i,e||0,t))}function Cx(r,e,t){if(!Array.isArray(e)){const o=t.x-r.x,s=t.y-r.y,{width:c,height:f}=t,y={targetZ:e},b=r.unproject([o,s],y),B=r.unproject([o+c,s],y),S=r.unproject([o,s+f],y),O=r.unproject([o+c,s+f],y);return[Math.min(b[0],B[0],S[0],O[0]),Math.min(b[1],B[1],S[1],O[1]),Math.max(b[0],B[0],S[0],O[0]),Math.max(b[1],B[1],S[1],O[1])]}const n=Cx(r,e[0],t),i=Cx(r,e[1],t);return[Math.min(n[0],i[0]),Math.min(n[1],i[1]),Math.max(n[2],i[2]),Math.max(n[3],i[3])]}function tde(r,e,t){return t?F8(r,t).map(i=>i*e/Vl):r.map(n=>n*e/Vl)}function bC(r,e){return Math.pow(2,r)*Vl/e}function Ex(r,e,t){const n=bC(t,Vl),i=r/n*360-180,o=Math.PI-2*Math.PI*e/n,s=180/Math.PI*Math.atan(.5*(Math.exp(o)-Math.exp(-o)));return[i,s]}function zP(r,e,t,n){const i=bC(t,n);return[r/i*Vl,e/i*Vl]}function rde(r,e,t,n,i=Vl){if(r.isGeospatial){const[y,b]=Ex(e,t,n),[B,S]=Ex(e+1,t+1,n);return{west:y,north:b,east:B,south:S}}const[o,s]=zP(e,t,n,i),[c,f]=zP(e+1,t+1,n,i);return{left:o,top:s,right:c,bottom:f}}function nde(r,e,t,n,i){const o=Qhe(r,null,n),s=bC(e,t),[c,f,y,b]=tde(o,s,i),B=[];for(let S=Math.floor(c);S<y;S++)for(let O=Math.floor(f);O<b;O++)B.push({x:S,y:O,z:e});return B}function ide({viewport:r,maxZoom:e,minZoom:t,zRange:n,extent:i,tileSize:o=Vl,modelMatrix:s,modelMatrixInverse:c,zoomOffset:f=0}){let y=r.isGeospatial?Math.round(r.zoom+Math.log2(Vl/o))+f:Math.ceil(r.zoom)+f;if(typeof t=="number"&&Number.isFinite(t)&&y<t){if(!i)return[];y=t}typeof e=="number"&&Number.isFinite(e)&&y>e&&(y=e);let b=i;return s&&c&&i&&!r.isGeospatial&&(b=F8(i,s)),r.isGeospatial?qhe(r,y,n,i):nde(r,y,o,b||Yhe,c)}function sde(r){return/(?=.*{z})(?=.*{x})(?=.*({y}|{-y}))/.test(r)}function ode(r){return Number.isFinite(r.west)&&Number.isFinite(r.north)&&Number.isFinite(r.east)&&Number.isFinite(r.south)}function ade(r){let e={},t;return n=>{for(const i in n)if(!cde(n[i],e[i])){t=r(n),e=n;break}return t}}function cde(r,e){if(r===e)return!0;if(Array.isArray(r)){const t=r.length;if(!e||e.length!==t)return!1;for(let n=0;n<t;n++)if(r[n]!==e[n])return!1;return!0}return!1}const GP=1,My=2,lde="never",ude="no-overlap",xC="best-available",fde=5,hde={[xC]:Ade,[ude]:pde,[lde]:()=>{}},dde={extent:null,tileSize:512,maxZoom:null,minZoom:null,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:"best-available",zRange:null,maxRequests:6,debounceTime:0,zoomOffset:0,onTileLoad:()=>{},onTileUnload:()=>{},onTileError:()=>{}};class Py{constructor(e){this._getCullBounds=ade(ede),this.opts={...dde,...e},this.setOptions(this.opts),this.onTileLoad=t=>{var n,i;(i=(n=this.opts).onTileLoad)==null||i.call(n,t),this.opts.maxCacheByteSize!==null&&(this._cacheByteSize+=t.byteLength,this._resizeCache())},this._requestScheduler=new x8({throttleRequests:this.opts.maxRequests>0||this.opts.debounceTime>0,maxRequests:this.opts.maxRequests,debounceTime:this.opts.debounceTime}),this._cache=new Map,this._tiles=[],this._dirty=!1,this._cacheByteSize=0,this._viewport=null,this._zRange=null,this._selectedTiles=null,this._frameNumber=0,this._modelMatrix=new dn,this._modelMatrixInverse=new dn}get tiles(){return this._tiles}get selectedTiles(){return this._selectedTiles}get isLoaded(){return this._selectedTiles!==null&&this._selectedTiles.every(e=>e.isLoaded)}get needsReload(){return this._selectedTiles!==null&&this._selectedTiles.some(e=>e.needsReload)}setOptions(e){Object.assign(this.opts,e),Number.isFinite(e.maxZoom)&&(this._maxZoom=Math.floor(e.maxZoom)),Number.isFinite(e.minZoom)&&(this._minZoom=Math.ceil(e.minZoom))}finalize(){for(const e of this._cache.values())e.isLoading&&e.abort();this._cache.clear(),this._tiles=[],this._selectedTiles=null}reloadAll(){for(const e of this._cache.keys()){const t=this._cache.get(e);!this._selectedTiles||!this._selectedTiles.includes(t)?this._cache.delete(e):t.setNeedsReload()}}update(e,{zRange:t,modelMatrix:n}={zRange:null,modelMatrix:null}){const i=n?new dn(n):new dn,o=!i.equals(this._modelMatrix);if(!this._viewport||!e.equals(this._viewport)||!Pa(this._zRange,t)||o){o&&(this._modelMatrixInverse=i.clone().invert(),this._modelMatrix=i),this._viewport=e,this._zRange=t;const c=this.getTileIndices({viewport:e,maxZoom:this._maxZoom,minZoom:this._minZoom,zRange:t,modelMatrix:this._modelMatrix,modelMatrixInverse:this._modelMatrixInverse});this._selectedTiles=c.map(f=>this._getTile(f,!0)),this._dirty&&this._rebuildTree()}else this.needsReload&&(this._selectedTiles=this._selectedTiles.map(c=>this._getTile(c.index,!0)));const s=this.updateTileStates();return this._pruneRequests(),this._dirty&&this._resizeCache(),s&&this._frameNumber++,this._frameNumber}isTileVisible(e,t){if(!e.isVisible)return!1;if(t&&this._viewport){const n=this._getCullBounds({viewport:this._viewport,z:this._zRange,cullRect:t}),{bbox:i}=e;for(const[o,s,c,f]of n){let y;if("west"in i)y=i.west<c&&i.east>o&&i.south<f&&i.north>s;else{const b=Math.min(i.top,i.bottom),B=Math.max(i.top,i.bottom);y=i.left<c&&i.right>o&&b<f&&B>s}if(y)return!0}return!1}return!0}getTileIndices({viewport:e,maxZoom:t,minZoom:n,zRange:i,modelMatrix:o,modelMatrixInverse:s}){const{tileSize:c,extent:f,zoomOffset:y}=this.opts;return ide({viewport:e,maxZoom:t,minZoom:n,zRange:i,tileSize:c,extent:f,modelMatrix:o,modelMatrixInverse:s,zoomOffset:y})}getTileId(e){return`${e.x}-${e.y}-${e.z}`}getTileZoom(e){return e.z}getTileMetadata(e){const{tileSize:t}=this.opts;return{bbox:rde(this._viewport,e.x,e.y,e.z,t)}}getParentIndex(e){const t=Math.floor(e.x/2),n=Math.floor(e.y/2),i=e.z-1;return{x:t,y:n,z:i}}updateTileStates(){const e=this.opts.refinementStrategy||xC,t=new Array(this._cache.size);let n=0;for(const i of this._cache.values())t[n++]=i.isVisible,i.isSelected=!1,i.isVisible=!1;for(const i of this._selectedTiles)i.isSelected=!0,i.isVisible=!0;(typeof e=="function"?e:hde[e])(Array.from(this._cache.values())),n=0;for(const i of this._cache.values())if(t[n++]!==i.isVisible)return!0;return!1}_pruneRequests(){const{maxRequests:e=0}=this.opts,t=[];let n=0;for(const i of this._cache.values())i.isLoading&&(n++,!i.isSelected&&!i.isVisible&&t.push(i));for(;e>0&&n>e&&t.length>0;)t.shift().abort(),n--}_rebuildTree(){const{_cache:e}=this;for(const t of e.values())t.parent=null,t.children&&(t.children.length=0);for(const t of e.values()){const n=this._getNearestAncestor(t);t.parent=n,n!=null&&n.children&&n.children.push(t)}}_resizeCache(){var s,c;const{_cache:e,opts:t}=this,n=t.maxCacheSize??(t.maxCacheByteSize!==null?1/0:fde*this.selectedTiles.length),i=t.maxCacheByteSize??1/0;if(e.size>n||this._cacheByteSize>i){for(const[f,y]of e)if(!y.isVisible&&!y.isSelected&&(this._cacheByteSize-=t.maxCacheByteSize!==null?y.byteLength:0,e.delete(f),(c=(s=this.opts).onTileUnload)==null||c.call(s,y)),e.size<=n&&this._cacheByteSize<=i)break;this._rebuildTree(),this._dirty=!0}this._dirty&&(this._tiles=Array.from(this._cache.values()).sort((f,y)=>f.zoom-y.zoom),this._dirty=!1)}_getTile(e,t){const n=this.getTileId(e);let i=this._cache.get(n),o=!1;return!i&&t?(i=new I8(e),Object.assign(i,this.getTileMetadata(i.index)),Object.assign(i,{id:n,zoom:this.getTileZoom(i.index)}),o=!0,this._cache.set(n,i),this._dirty=!0):i&&i.needsReload&&(o=!0),i&&o&&i.loadData({getData:this.opts.getTileData,requestScheduler:this._requestScheduler,onLoad:this.onTileLoad,onError:this.opts.onTileError}),i}_getNearestAncestor(e){const{_minZoom:t=0}=this;let n=e.index;for(;this.getTileZoom(n)>t;){n=this.getParentIndex(n);const i=this._getTile(n);if(i)return i}return null}}function Ade(r){for(const e of r)e.state=0;for(const e of r)e.isSelected&&!D8(e)&&wC(e);for(const e of r)e.isVisible=!!(e.state&My)}function pde(r){for(const t of r)t.state=0;for(const t of r)t.isSelected&&D8(t);const e=Array.from(r).sort((t,n)=>t.zoom-n.zoom);for(const t of e)if(t.isVisible=!!(t.state&My),t.children&&(t.isVisible||t.state&GP))for(const n of t.children)n.state=GP;else t.isSelected&&wC(t)}function D8(r){let e=r;for(;e;){if(e.isLoaded||e.content)return e.state|=My,!0;e=e.parent}return!1}function wC(r){for(const e of r.children)e.isLoaded||e.content?e.state|=My:wC(e)}const gde={TilesetClass:Py,data:{type:"data",value:[]},dataComparator:I_.equal,renderSubLayers:{type:"function",value:r=>new Wl(r)},getTileData:{type:"function",optional:!0,value:null},onViewportLoad:{type:"function",optional:!0,value:null},onTileLoad:{type:"function",value:r=>{}},onTileUnload:{type:"function",value:r=>{}},onTileError:{type:"function",value:r=>console.error(r)},extent:{type:"array",optional:!0,value:null,compare:!0},tileSize:512,maxZoom:null,minZoom:0,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:xC,zRange:null,maxRequests:6,debounceTime:0,zoomOffset:0};class Xl extends ys{initializeState(){this.state={tileset:null,isLoaded:!1}}finalizeState(){var e,t;(t=(e=this.state)==null?void 0:e.tileset)==null||t.finalize()}get isLoaded(){var e,t,n;return!!((n=(t=(e=this.state)==null?void 0:e.tileset)==null?void 0:t.selectedTiles)!=null&&n.every(i=>i.isLoaded&&i.layers&&i.layers.every(o=>o.isLoaded)))}shouldUpdateState({changeFlags:e}){return e.somethingChanged}updateState({changeFlags:e}){let{tileset:t}=this.state;const n=e.propsOrDataChanged||e.updateTriggersChanged,i=e.dataChanged||e.updateTriggersChanged&&(e.updateTriggersChanged.all||e.updateTriggersChanged.getTileData);t?n&&(t.setOptions(this._getTilesetOptions()),i?t.reloadAll():t.tiles.forEach(o=>{o.layers=null})):(t=new this.props.TilesetClass(this._getTilesetOptions()),this.setState({tileset:t})),this._updateTileset()}_getTilesetOptions(){const{tileSize:e,maxCacheSize:t,maxCacheByteSize:n,refinementStrategy:i,extent:o,maxZoom:s,minZoom:c,maxRequests:f,debounceTime:y,zoomOffset:b}=this.props;return{maxCacheSize:t,maxCacheByteSize:n,maxZoom:s,minZoom:c,tileSize:e,refinementStrategy:i,extent:o,maxRequests:f,debounceTime:y,zoomOffset:b,getTileData:this.getTileData.bind(this),onTileLoad:this._onTileLoad.bind(this),onTileError:this._onTileError.bind(this),onTileUnload:this._onTileUnload.bind(this)}}_updateTileset(){const e=this.state.tileset,{zRange:t,modelMatrix:n}=this.props,i=e.update(this.context.viewport,{zRange:t,modelMatrix:n}),{isLoaded:o}=e,s=this.state.isLoaded!==o,c=this.state.frameNumber!==i;o&&(s||c)&&this._onViewportLoad(),c&&this.setState({frameNumber:i}),this.state.isLoaded=o}_onViewportLoad(){const{tileset:e}=this.state,{onViewportLoad:t}=this.props;t&&t(e.selectedTiles)}_onTileLoad(e){this.props.onTileLoad(e),e.layers=null,this.setNeedsUpdate()}_onTileError(e,t){this.props.onTileError(e),t.layers=null,this.setNeedsUpdate()}_onTileUnload(e){this.props.onTileUnload(e)}getTileData(e){const{data:t,getTileData:n,fetch:i}=this.props,{signal:o}=e;return e.url=typeof t=="string"||Array.isArray(t)?rh(t,e):null,n?n(e):i&&e.url?i(e.url,{propName:"data",layer:this,signal:o}):null}renderSubLayers(e){return this.props.renderSubLayers(e)}getSubLayerPropsByTile(e){return null}getPickingInfo(e){const t=e.sourceLayer,n=t.props.tile,i=e.info;return i.picked&&(i.tile=n),i.sourceTile=n,i.sourceTileSubLayer=t,i}_updateAutoHighlight(e){e.sourceTileSubLayer.updateAutoHighlight(e)}renderLayers(){return this.state.tileset.tiles.map(e=>{const t=this.getSubLayerPropsByTile(e);if(!(!e.isLoaded&&!e.content))if(e.layers)t&&e.layers[0]&&Object.keys(t).some(n=>e.layers[0].props[n]!==t[n])&&(e.layers=e.layers.map(n=>n.clone(t)));else{const n=this.renderSubLayers({...this.props,...this.getSubLayerProps({id:e.id,updateTriggers:this.props.updateTriggers}),data:e.content,_offset:0,tile:e});e.layers=ly(n,Boolean).map(i=>i.clone({tile:e,...t}))}return e.layers})}filterSubLayer({layer:e,cullRect:t}){const{tile:n}=e.props;return this.state.tileset.isTileVisible(n,t)}}Xl.defaultProps=gde;Xl.layerName="TileLayer";const VP=`uniform tripsUniforms {
|
3442
|
+
*/(function(e,t){typeof ahe=="function"&&r&&r.exports?r.exports=t():(e.dcodeIO=e.dcodeIO||{}).Long=t()})(che,function(){function e(we,Ae,W){this.low=we|0,this.high=Ae|0,this.unsigned=!!W}e.prototype.__isLong__,Object.defineProperty(e.prototype,"__isLong__",{value:!0,enumerable:!1,configurable:!1});function t(we){return(we&&we.__isLong__)===!0}e.isLong=t;var n={},i={};function o(we,Ae){var W,ne,Te;return Ae?(we>>>=0,(Te=0<=we&&we<256)&&(ne=i[we],ne)?ne:(W=c(we,(we|0)<0?-1:0,!0),Te&&(i[we]=W),W)):(we|=0,(Te=-128<=we&&we<128)&&(ne=n[we],ne)?ne:(W=c(we,we<0?-1:0,!1),Te&&(n[we]=W),W))}e.fromInt=o;function s(we,Ae){if(isNaN(we)||!isFinite(we))return Ae?j:G;if(Ae){if(we<0)return j;if(we>=k)return Be}else{if(we<=-9223372036854776e3)return ze;if(we+1>=z)return oe}return we<0?s(-we,Ae).neg():c(we%O|0,we/O|0,Ae)}e.fromNumber=s;function c(we,Ae,W){return new e(we,Ae,W)}e.fromBits=c;var f=Math.pow;function y(we,Ae,W){if(we.length===0)throw Error("empty string");if(we==="NaN"||we==="Infinity"||we==="+Infinity"||we==="-Infinity")return G;if(typeof Ae=="number"?(W=Ae,Ae=!1):Ae=!!Ae,W=W||10,W<2||36<W)throw RangeError("radix");var ne;if((ne=we.indexOf("-"))>0)throw Error("interior hyphen");if(ne===0)return y(we.substring(1),Ae,W).neg();for(var Te=s(f(W,8)),Ye=G,Ce=0;Ce<we.length;Ce+=8){var Ne=Math.min(8,we.length-Ce),Ge=parseInt(we.substring(Ce,Ce+Ne),W);if(Ne<8){var Qe=s(f(W,Ne));Ye=Ye.mul(Qe).add(s(Ge))}else Ye=Ye.mul(Te),Ye=Ye.add(s(Ge))}return Ye.unsigned=Ae,Ye}e.fromString=y;function b(we){return we instanceof e?we:typeof we=="number"?s(we):typeof we=="string"?y(we):c(we.low,we.high,we.unsigned)}e.fromValue=b;var B=65536,S=1<<24,O=B*B,k=O*O,z=k/2,J=o(S),G=o(0);e.ZERO=G;var j=o(0,!0);e.UZERO=j;var K=o(1);e.ONE=K;var fe=o(1,!0);e.UONE=fe;var Q=o(-1);e.NEG_ONE=Q;var oe=c(-1,2147483647,!1);e.MAX_VALUE=oe;var Be=c(-1,-1,!0);e.MAX_UNSIGNED_VALUE=Be;var ze=c(0,-2147483648,!1);e.MIN_VALUE=ze;var pe=e.prototype;return pe.toInt=function(){return this.unsigned?this.low>>>0:this.low},pe.toNumber=function(){return this.unsigned?(this.high>>>0)*O+(this.low>>>0):this.high*O+(this.low>>>0)},pe.toString=function(Ae){if(Ae=Ae||10,Ae<2||36<Ae)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(ze)){var W=s(Ae),ne=this.div(W),Te=ne.mul(W).sub(this);return ne.toString(Ae)+Te.toInt().toString(Ae)}else return"-"+this.neg().toString(Ae);for(var Ye=s(f(Ae,6),this.unsigned),Ce=this,Ne="";;){var Ge=Ce.div(Ye),Qe=Ce.sub(Ge.mul(Ye)).toInt()>>>0,rt=Qe.toString(Ae);if(Ce=Ge,Ce.isZero())return rt+Ne;for(;rt.length<6;)rt="0"+rt;Ne=""+rt+Ne}},pe.getHighBits=function(){return this.high},pe.getHighBitsUnsigned=function(){return this.high>>>0},pe.getLowBits=function(){return this.low},pe.getLowBitsUnsigned=function(){return this.low>>>0},pe.getNumBitsAbs=function(){if(this.isNegative())return this.eq(ze)?64:this.neg().getNumBitsAbs();for(var Ae=this.high!=0?this.high:this.low,W=31;W>0&&(Ae&1<<W)==0;W--);return this.high!=0?W+33:W+1},pe.isZero=function(){return this.high===0&&this.low===0},pe.isNegative=function(){return!this.unsigned&&this.high<0},pe.isPositive=function(){return this.unsigned||this.high>=0},pe.isOdd=function(){return(this.low&1)===1},pe.isEven=function(){return(this.low&1)===0},pe.equals=function(Ae){return t(Ae)||(Ae=b(Ae)),this.unsigned!==Ae.unsigned&&this.high>>>31===1&&Ae.high>>>31===1?!1:this.high===Ae.high&&this.low===Ae.low},pe.eq=pe.equals,pe.notEquals=function(Ae){return!this.eq(Ae)},pe.neq=pe.notEquals,pe.lessThan=function(Ae){return this.comp(Ae)<0},pe.lt=pe.lessThan,pe.lessThanOrEqual=function(Ae){return this.comp(Ae)<=0},pe.lte=pe.lessThanOrEqual,pe.greaterThan=function(Ae){return this.comp(Ae)>0},pe.gt=pe.greaterThan,pe.greaterThanOrEqual=function(Ae){return this.comp(Ae)>=0},pe.gte=pe.greaterThanOrEqual,pe.compare=function(Ae){if(t(Ae)||(Ae=b(Ae)),this.eq(Ae))return 0;var W=this.isNegative(),ne=Ae.isNegative();return W&&!ne?-1:!W&&ne?1:this.unsigned?Ae.high>>>0>this.high>>>0||Ae.high===this.high&&Ae.low>>>0>this.low>>>0?-1:1:this.sub(Ae).isNegative()?-1:1},pe.comp=pe.compare,pe.negate=function(){return!this.unsigned&&this.eq(ze)?ze:this.not().add(K)},pe.neg=pe.negate,pe.add=function(Ae){t(Ae)||(Ae=b(Ae));var W=this.high>>>16,ne=this.high&65535,Te=this.low>>>16,Ye=this.low&65535,Ce=Ae.high>>>16,Ne=Ae.high&65535,Ge=Ae.low>>>16,Qe=Ae.low&65535,rt=0,tt=0,lt=0,mt=0;return mt+=Ye+Qe,lt+=mt>>>16,mt&=65535,lt+=Te+Ge,tt+=lt>>>16,lt&=65535,tt+=ne+Ne,rt+=tt>>>16,tt&=65535,rt+=W+Ce,rt&=65535,c(lt<<16|mt,rt<<16|tt,this.unsigned)},pe.subtract=function(Ae){return t(Ae)||(Ae=b(Ae)),this.add(Ae.neg())},pe.sub=pe.subtract,pe.multiply=function(Ae){if(this.isZero()||(t(Ae)||(Ae=b(Ae)),Ae.isZero()))return G;if(this.eq(ze))return Ae.isOdd()?ze:G;if(Ae.eq(ze))return this.isOdd()?ze:G;if(this.isNegative())return Ae.isNegative()?this.neg().mul(Ae.neg()):this.neg().mul(Ae).neg();if(Ae.isNegative())return this.mul(Ae.neg()).neg();if(this.lt(J)&&Ae.lt(J))return s(this.toNumber()*Ae.toNumber(),this.unsigned);var W=this.high>>>16,ne=this.high&65535,Te=this.low>>>16,Ye=this.low&65535,Ce=Ae.high>>>16,Ne=Ae.high&65535,Ge=Ae.low>>>16,Qe=Ae.low&65535,rt=0,tt=0,lt=0,mt=0;return mt+=Ye*Qe,lt+=mt>>>16,mt&=65535,lt+=Te*Qe,tt+=lt>>>16,lt&=65535,lt+=Ye*Ge,tt+=lt>>>16,lt&=65535,tt+=ne*Qe,rt+=tt>>>16,tt&=65535,tt+=Te*Ge,rt+=tt>>>16,tt&=65535,tt+=Ye*Ne,rt+=tt>>>16,tt&=65535,rt+=W*Qe+ne*Ge+Te*Ne+Ye*Ce,rt&=65535,c(lt<<16|mt,rt<<16|tt,this.unsigned)},pe.mul=pe.multiply,pe.divide=function(Ae){if(t(Ae)||(Ae=b(Ae)),Ae.isZero())throw Error("division by zero");if(this.isZero())return this.unsigned?j:G;var W,ne,Te;if(this.unsigned){if(Ae.unsigned||(Ae=Ae.toUnsigned()),Ae.gt(this))return j;if(Ae.gt(this.shru(1)))return fe;Te=j}else{if(this.eq(ze)){if(Ae.eq(K)||Ae.eq(Q))return ze;if(Ae.eq(ze))return K;var Ye=this.shr(1);return W=Ye.div(Ae).shl(1),W.eq(G)?Ae.isNegative()?K:Q:(ne=this.sub(Ae.mul(W)),Te=W.add(ne.div(Ae)),Te)}else if(Ae.eq(ze))return this.unsigned?j:G;if(this.isNegative())return Ae.isNegative()?this.neg().div(Ae.neg()):this.neg().div(Ae).neg();if(Ae.isNegative())return this.div(Ae.neg()).neg();Te=G}for(ne=this;ne.gte(Ae);){W=Math.max(1,Math.floor(ne.toNumber()/Ae.toNumber()));for(var Ce=Math.ceil(Math.log(W)/Math.LN2),Ne=Ce<=48?1:f(2,Ce-48),Ge=s(W),Qe=Ge.mul(Ae);Qe.isNegative()||Qe.gt(ne);)W-=Ne,Ge=s(W,this.unsigned),Qe=Ge.mul(Ae);Ge.isZero()&&(Ge=K),Te=Te.add(Ge),ne=ne.sub(Qe)}return Te},pe.div=pe.divide,pe.modulo=function(Ae){return t(Ae)||(Ae=b(Ae)),this.sub(this.div(Ae).mul(Ae))},pe.mod=pe.modulo,pe.not=function(){return c(~this.low,~this.high,this.unsigned)},pe.and=function(Ae){return t(Ae)||(Ae=b(Ae)),c(this.low&Ae.low,this.high&Ae.high,this.unsigned)},pe.or=function(Ae){return t(Ae)||(Ae=b(Ae)),c(this.low|Ae.low,this.high|Ae.high,this.unsigned)},pe.xor=function(Ae){return t(Ae)||(Ae=b(Ae)),c(this.low^Ae.low,this.high^Ae.high,this.unsigned)},pe.shiftLeft=function(Ae){return t(Ae)&&(Ae=Ae.toInt()),(Ae&=63)===0?this:Ae<32?c(this.low<<Ae,this.high<<Ae|this.low>>>32-Ae,this.unsigned):c(0,this.low<<Ae-32,this.unsigned)},pe.shl=pe.shiftLeft,pe.shiftRight=function(Ae){return t(Ae)&&(Ae=Ae.toInt()),(Ae&=63)===0?this:Ae<32?c(this.low>>>Ae|this.high<<32-Ae,this.high>>Ae,this.unsigned):c(this.high>>Ae-32,this.high>=0?0:-1,this.unsigned)},pe.shr=pe.shiftRight,pe.shiftRightUnsigned=function(Ae){if(t(Ae)&&(Ae=Ae.toInt()),Ae&=63,Ae===0)return this;var W=this.high;if(Ae<32){var ne=this.low;return c(ne>>>Ae|W<<32-Ae,W>>>Ae,this.unsigned)}else return Ae===32?c(W,0,this.unsigned):c(W>>>Ae-32,0,this.unsigned)},pe.shru=pe.shiftRightUnsigned,pe.toSigned=function(){return this.unsigned?c(this.low,this.high,!1):this},pe.toUnsigned=function(){return this.unsigned?this:c(this.low,this.high,!0)},pe.toBytes=function(we){return we?this.toBytesLE():this.toBytesBE()},pe.toBytesLE=function(){var we=this.high,Ae=this.low;return[Ae&255,Ae>>>8&255,Ae>>>16&255,Ae>>>24&255,we&255,we>>>8&255,we>>>16&255,we>>>24&255]},pe.toBytesBE=function(){var we=this.high,Ae=this.low;return[we>>>24&255,we>>>16&255,we>>>8&255,we&255,Ae>>>24&255,Ae>>>16&255,Ae>>>8&255,Ae&255]},e})}(Lm)),Lm.exports}var uhe=lhe();const Nm=oh(uhe),fhe=3,hhe=30,dhe=2*hhe+1,PP=180/Math.PI;function Ahe(r,e,t){const n=1<<e;return[(r[0]+t[0])/n,(r[1]+t[1])/n]}function RP(r){return r>=.5?1/3*(4*r*r-1):1/3*(1-4*(1-r)*(1-r))}function phe(r){return[RP(r[0]),RP(r[1])]}function ghe(r,[e,t]){switch(r){case 0:return[1,e,t];case 1:return[-e,1,t];case 2:return[-e,-t,1];case 3:return[-1,-t,-e];case 4:return[t,-1,-e];case 5:return[t,e,-1];default:throw new Error("Invalid face")}}function mhe([r,e,t]){const n=Math.atan2(t,Math.sqrt(r*r+e*e));return[Math.atan2(e,r)*PP,n*PP]}function _he(r){let e=Nm.fromString(r,!0,10).toString(2);for(;e.length<fhe+dhe;)e="0"+e;const t=e.lastIndexOf("1"),n=e.substring(0,3),i=e.substring(3,t),o=i.length/2,s=Nm.fromString(n,!0,2).toString(10);let c=Nm.fromString(i,!0,2).toString(4);for(;c.length<o;)c="0"+c;return`${s}/${c}`}function yhe(r,e,t,n){if(n===0){t===1&&(e[0]=r-1-e[0],e[1]=r-1-e[1]);const i=e[0];e[0]=e[1],e[1]=i}}function vhe(r){const e=r.split("/"),t=parseInt(e[0],10),n=e[1],i=n.length,o=[0,0];let s;for(let c=i-1;c>=0;c--){s=i-c;const f=n[c];let y=0,b=0;f==="1"?b=1:f==="2"?(y=1,b=1):f==="3"&&(y=1);const B=Math.pow(2,s-1);yhe(B,o,y,b),o[0]+=B*y,o[1]+=B*b}if(t%2===1){const c=o[0];o[0]=o[1],o[1]=c}return{face:t,ij:o,level:s}}function bhe(r){const e=r.padEnd(16,"0");return Nm.fromString(e,16)}const xhe=100;function whe({face:r,ij:e,level:t}){const n=[[0,0],[0,1],[1,1],[1,0],[0,0]],i=Math.max(1,Math.ceil(xhe*Math.pow(2,-t))),o=new Float64Array(4*i*2+2);let s=0,c=0;for(let f=0;f<4;f++){const y=n[f].slice(0),b=n[f+1],B=(b[0]-y[0])/i,S=(b[1]-y[1])/i;for(let O=0;O<i;O++){y[0]+=B,y[1]+=S;const k=Ahe(e,t,y),z=phe(k),J=ghe(r,z),G=mhe(J);Math.abs(G[1])>89.999&&(G[0]=c);const j=G[0]-c;G[0]+=j>180?-360:j<-180?360:0,o[s++]=G[0],o[s++]=G[1],c=G[0]}}return o[s++]=o[0],o[s++]=o[1],o}function Che(r){if(typeof r=="string"){if(r.indexOf("/")>0)return r;r=bhe(r)}return _he(r.toString())}function Ehe(r){const e=Che(r),t=vhe(e);return whe(t)}const The={getS2Token:{type:"accessor",value:r=>r.token}};class Sy extends rf{indexToBounds(){const{data:e,getS2Token:t}=this.props;return{data:e,_normalize:!1,positionFormat:"XY",getPolygon:(n,i)=>Ehe(t(n,i))}}}Sy.layerName="S2Layer";Sy.defaultProps=The;const s1=512;function Bhe(r,e){let t=0,n=0,i=1<<r.length;const o=i/s1;for(let s=0;s<r.length;s++){i>>=1;const c=parseInt(r[s]);c%2&&(t|=i),c>1&&(n|=i)}return[[t/o,s1-n/o],[(t+e)/o,s1-(n+e)/o]]}function She(r,e=1){const[t,n]=Bhe(r,e),[i,o]=tl(t),[s,c]=tl(n);return[s,o,s,c,i,c,i,o,s,o]}const Ihe={getQuadkey:{type:"accessor",value:r=>r.quadkey}};class Iy extends rf{indexToBounds(){const{data:e,extruded:t,getQuadkey:n}=this.props,i=t?.99:1;return{data:e,_normalize:!1,positionFormat:"XY",getPolygon:(o,s)=>She(n(o,s),i),updateTriggers:{getPolygon:i}}}}Iy.layerName="QuadkeyLayer";Iy.defaultProps=Ihe;class I8{constructor(e){this.index=e,this.isVisible=!1,this.isSelected=!1,this.parent=null,this.children=[],this.content=null,this._loader=void 0,this._abortController=null,this._loaderId=0,this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1}get bbox(){return this._bbox}set bbox(e){this._bbox||(this._bbox=e,"west"in e?this.boundingBox=[[e.west,e.south],[e.east,e.north]]:this.boundingBox=[[e.left,e.top],[e.right,e.bottom]])}get data(){return this.isLoading&&this._loader?this._loader.then(()=>this.data):this.content}get isLoaded(){return this._isLoaded&&!this._needsReload}get isLoading(){return!!this._loader&&!this._isCancelled}get needsReload(){return this._needsReload||this._isCancelled}get byteLength(){const e=this.content?this.content.byteLength:0;return Number.isFinite(e)||console.error("byteLength not defined in tile data"),e}async _loadData({getData:e,requestScheduler:t,onLoad:n,onError:i}){const{index:o,id:s,bbox:c,userData:f,zoom:y}=this,b=this._loaderId;this._abortController=new AbortController;const{signal:B}=this._abortController,S=await t.scheduleRequest(this,z=>z.isSelected?1:-1);if(!S){this._isCancelled=!0;return}if(this._isCancelled){S.done();return}let O=null,k;try{O=await e({index:o,id:s,bbox:c,userData:f,zoom:y,signal:B})}catch(z){k=z||!0}finally{S.done()}if(b===this._loaderId){if(this._loader=void 0,this.content=O,this._isCancelled&&!O){this._isLoaded=!1;return}this._isLoaded=!0,this._isCancelled=!1,k?i(k,this):n(this)}}loadData(e){return this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1,this._loaderId++,this._loader=this._loadData(e),this._loader}setNeedsReload(){this.isLoading&&(this.abort(),this._loader=void 0),this._needsReload=!0}abort(){var e;this.isLoaded||(this._isCancelled=!0,(e=this._abortController)==null||e.abort())}}const ao={OUTSIDE:-1,INTERSECTING:0,INSIDE:1},FP=new ft,Mhe=new ft;class vC{constructor(e=[0,0,0],t=[0,0,0],n){n=n||FP.copy(e).add(t).scale(.5),this.center=new ft(n),this.halfDiagonal=new ft(t).subtract(this.center),this.minimum=new ft(e),this.maximum=new ft(t)}clone(){return new vC(this.minimum,this.maximum,this.center)}equals(e){return this===e||!!e&&this.minimum.equals(e.minimum)&&this.maximum.equals(e.maximum)}transform(e){return this.center.transformAsPoint(e),this.halfDiagonal.transform(e),this.minimum.transform(e),this.maximum.transform(e),this}intersectPlane(e){const{halfDiagonal:t}=this,n=Mhe.from(e.normal),i=t.x*Math.abs(n.x)+t.y*Math.abs(n.y)+t.z*Math.abs(n.z),o=this.center.dot(n)+e.distance;return o-i>0?ao.INSIDE:o+i<0?ao.OUTSIDE:ao.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){const t=FP.from(e).subtract(this.center),{halfDiagonal:n}=this;let i=0,o;return o=Math.abs(t.x)-n.x,o>0&&(i+=o*o),o=Math.abs(t.y)-n.y,o>0&&(i+=o*o),o=Math.abs(t.z)-n.z,o>0&&(i+=o*o),i}}const wp=new ft,DP=new ft;class Lg{constructor(e=[0,0,0],t=0){this.radius=-0,this.center=new ft,this.fromCenterRadius(e,t)}fromCenterRadius(e,t){return this.center.from(e),this.radius=t,this}fromCornerPoints(e,t){return t=wp.from(t),this.center=new ft().from(e).add(t).scale(.5),this.radius=this.center.distance(t),this}equals(e){return this===e||!!e&&this.center.equals(e.center)&&this.radius===e.radius}clone(){return new Lg(this.center,this.radius)}union(e){const t=this.center,n=this.radius,i=e.center,o=e.radius,s=wp.copy(i).subtract(t),c=s.magnitude();if(n>=c+o)return this.clone();if(o>=c+n)return e.clone();const f=(n+c+o)*.5;return DP.copy(s).scale((-n+f)/c).add(t),this.center.copy(DP),this.radius=f,this}expand(e){const n=wp.from(e).subtract(this.center).magnitude();return n>this.radius&&(this.radius=n),this}transform(e){this.center.transform(e);const t=WH(wp,e);return this.radius=Math.max(t[0],Math.max(t[1],t[2]))*this.radius,this}distanceSquaredTo(e){const t=this.distanceTo(e);return t*t}distanceTo(e){const n=wp.from(e).subtract(this.center);return Math.max(0,n.len()-this.radius)}intersectPlane(e){const t=this.center,n=this.radius,o=e.normal.dot(t)+e.distance;return o<-n?ao.OUTSIDE:o<n?ao.INTERSECTING:ao.INSIDE}}const Phe=new ft,Rhe=new ft,em=new ft,tm=new ft,rm=new ft,Fhe=new ft,Dhe=new ft,Rl={COLUMN0ROW0:0,COLUMN0ROW1:1,COLUMN0ROW2:2,COLUMN1ROW0:3,COLUMN1ROW1:4,COLUMN1ROW2:5,COLUMN2ROW0:6,COLUMN2ROW1:7,COLUMN2ROW2:8};class Ng{constructor(e=[0,0,0],t=[0,0,0,0,0,0,0,0,0]){this.center=new ft().from(e),this.halfAxes=new ci(t)}get halfSize(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2);return[new ft(e).len(),new ft(t).len(),new ft(n).len()]}get quaternion(){const e=this.halfAxes.getColumn(0),t=this.halfAxes.getColumn(1),n=this.halfAxes.getColumn(2),i=new ft(e).normalize(),o=new ft(t).normalize(),s=new ft(n).normalize();return new sg().fromMatrix3(new ci([...i,...o,...s]))}fromCenterHalfSizeQuaternion(e,t,n){const i=new sg(n),o=new ci().fromQuaternion(i);return o[0]=o[0]*t[0],o[1]=o[1]*t[0],o[2]=o[2]*t[0],o[3]=o[3]*t[1],o[4]=o[4]*t[1],o[5]=o[5]*t[1],o[6]=o[6]*t[2],o[7]=o[7]*t[2],o[8]=o[8]*t[2],this.center=new ft().from(e),this.halfAxes=o,this}clone(){return new Ng(this.center,this.halfAxes)}equals(e){return this===e||!!e&&this.center.equals(e.center)&&this.halfAxes.equals(e.halfAxes)}getBoundingSphere(e=new Lg){const t=this.halfAxes,n=t.getColumn(0,em),i=t.getColumn(1,tm),o=t.getColumn(2,rm),s=Phe.copy(n).add(i).add(o);return e.center.copy(this.center),e.radius=s.magnitude(),e}intersectPlane(e){const t=this.center,n=e.normal,i=this.halfAxes,o=n.x,s=n.y,c=n.z,f=Math.abs(o*i[Rl.COLUMN0ROW0]+s*i[Rl.COLUMN0ROW1]+c*i[Rl.COLUMN0ROW2])+Math.abs(o*i[Rl.COLUMN1ROW0]+s*i[Rl.COLUMN1ROW1]+c*i[Rl.COLUMN1ROW2])+Math.abs(o*i[Rl.COLUMN2ROW0]+s*i[Rl.COLUMN2ROW1]+c*i[Rl.COLUMN2ROW2]),y=n.dot(t)+e.distance;return y<=-f?ao.OUTSIDE:y>=f?ao.INSIDE:ao.INTERSECTING}distanceTo(e){return Math.sqrt(this.distanceSquaredTo(e))}distanceSquaredTo(e){const t=Rhe.from(e).subtract(this.center),n=this.halfAxes,i=n.getColumn(0,em),o=n.getColumn(1,tm),s=n.getColumn(2,rm),c=i.magnitude(),f=o.magnitude(),y=s.magnitude();i.normalize(),o.normalize(),s.normalize();let b=0,B;return B=Math.abs(t.dot(i))-c,B>0&&(b+=B*B),B=Math.abs(t.dot(o))-f,B>0&&(b+=B*B),B=Math.abs(t.dot(s))-y,B>0&&(b+=B*B),b}computePlaneDistances(e,t,n=[-0,-0]){let i=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY;const s=this.center,c=this.halfAxes,f=c.getColumn(0,em),y=c.getColumn(1,tm),b=c.getColumn(2,rm),B=Fhe.copy(f).add(y).add(b).add(s),S=Dhe.copy(B).subtract(e);let O=t.dot(S);return i=Math.min(O,i),o=Math.max(O,o),B.copy(s).add(f).add(y).subtract(b),S.copy(B).subtract(e),O=t.dot(S),i=Math.min(O,i),o=Math.max(O,o),B.copy(s).add(f).subtract(y).add(b),S.copy(B).subtract(e),O=t.dot(S),i=Math.min(O,i),o=Math.max(O,o),B.copy(s).add(f).subtract(y).subtract(b),S.copy(B).subtract(e),O=t.dot(S),i=Math.min(O,i),o=Math.max(O,o),s.copy(B).subtract(f).add(y).add(b),S.copy(B).subtract(e),O=t.dot(S),i=Math.min(O,i),o=Math.max(O,o),s.copy(B).subtract(f).add(y).subtract(b),S.copy(B).subtract(e),O=t.dot(S),i=Math.min(O,i),o=Math.max(O,o),s.copy(B).subtract(f).subtract(y).add(b),S.copy(B).subtract(e),O=t.dot(S),i=Math.min(O,i),o=Math.max(O,o),s.copy(B).subtract(f).subtract(y).subtract(b),S.copy(B).subtract(e),O=t.dot(S),i=Math.min(O,i),o=Math.max(O,o),n[0]=i,n[1]=o,n}transform(e){this.center.transformAsPoint(e);const t=this.halfAxes.getColumn(0,em);t.transformAsPoint(e);const n=this.halfAxes.getColumn(1,tm);n.transformAsPoint(e);const i=this.halfAxes.getColumn(2,rm);return i.transformAsPoint(e),this.halfAxes=new ci([...t,...n,...i]),this}getTransform(){throw new Error("not implemented")}}const OP=new ft,LP=new ft;class nc{constructor(e=[0,0,1],t=0){this.normal=new ft,this.distance=-0,this.fromNormalDistance(e,t)}fromNormalDistance(e,t){return ic(Number.isFinite(t)),this.normal.from(e).normalize(),this.distance=t,this}fromPointNormal(e,t){e=OP.from(e),this.normal.from(t).normalize();const n=-this.normal.dot(e);return this.distance=n,this}fromCoefficients(e,t,n,i){return this.normal.set(e,t,n),ic(Pa(this.normal.len(),1)),this.distance=i,this}clone(){return new nc(this.normal,this.distance)}equals(e){return Pa(this.distance,e.distance)&&Pa(this.normal,e.normal)}getPointDistance(e){return this.normal.dot(e)+this.distance}transform(e){const t=LP.copy(this.normal).transformAsVector(e).normalize(),n=this.normal.scale(-this.distance).transform(e);return this.fromPointNormal(n,t)}projectPointOntoPlane(e,t=[0,0,0]){const n=OP.from(e),i=this.getPointDistance(n),o=LP.copy(this.normal).scale(i);return n.subtract(o).to(t)}}const NP=[new ft([1,0,0]),new ft([0,1,0]),new ft([0,0,1])],kP=new ft,Ohe=new ft;class ra{constructor(e=[]){this.planes=e}fromBoundingSphere(e){this.planes.length=2*NP.length;const t=e.center,n=e.radius;let i=0;for(const o of NP){let s=this.planes[i],c=this.planes[i+1];s||(s=this.planes[i]=new nc),c||(c=this.planes[i+1]=new nc);const f=kP.copy(o).scale(-n).add(t);s.fromPointNormal(f,o);const y=kP.copy(o).scale(n).add(t),b=Ohe.copy(o).negate();c.fromPointNormal(y,b),i+=2}return this}computeVisibility(e){let t=ao.INSIDE;for(const n of this.planes)switch(e.intersectPlane(n)){case ao.OUTSIDE:return ao.OUTSIDE;case ao.INTERSECTING:t=ao.INTERSECTING;break}return t}computeVisibilityWithPlaneMask(e,t){if(ic(Number.isFinite(t),"parentPlaneMask is required."),t===ra.MASK_OUTSIDE||t===ra.MASK_INSIDE)return t;let n=ra.MASK_INSIDE;const i=this.planes;for(let o=0;o<this.planes.length;++o){const s=o<31?1<<o:0;if(o<31&&(t&s)===0)continue;const c=i[o],f=e.intersectPlane(c);if(f===ao.OUTSIDE)return ra.MASK_OUTSIDE;f===ao.INTERSECTING&&(n|=s)}return n}}ra.MASK_OUTSIDE=4294967295;ra.MASK_INSIDE=0;ra.MASK_INDETERMINATE=2147483647;new ft;new ft;new ft;new ft;new ft;new ft;new ft;new ft;new ft;new ft;new ft;new ft;new ft;new ft;new ft;new ft;new ft;const Wc=new ci,Lhe=new ci,Nhe=new ci,nm=new ci,UP=new ci;function khe(r,e={}){const t=Pj,n=10;let i=0,o=0;const s=Lhe,c=Nhe;s.identity(),c.copy(r);const f=t*Uhe(c);for(;o<n&&zhe(c)>f;)Ghe(c,nm),UP.copy(nm).transpose(),c.multiplyRight(nm),c.multiplyLeft(UP),s.multiplyRight(nm),++i>2&&(++o,i=0);return e.unitary=s.toTarget(e.unitary),e.diagonal=c.toTarget(e.diagonal),e}function Uhe(r){let e=0;for(let t=0;t<9;++t){const n=r[t];e+=n*n}return Math.sqrt(e)}const xx=[1,0,0],wx=[2,2,1];function zhe(r){let e=0;for(let t=0;t<3;++t){const n=r[Wc.getElementIndex(wx[t],xx[t])];e+=2*n*n}return Math.sqrt(e)}function Ghe(r,e){const t=h6;let n=0,i=1;for(let y=0;y<3;++y){const b=Math.abs(r[Wc.getElementIndex(wx[y],xx[y])]);b>n&&(i=y,n=b)}const o=xx[i],s=wx[i];let c=1,f=0;if(Math.abs(r[Wc.getElementIndex(s,o)])>t){const y=r[Wc.getElementIndex(s,s)],b=r[Wc.getElementIndex(o,o)],B=r[Wc.getElementIndex(s,o)],S=(y-b)/2/B;let O;S<0?O=-1/(-S+Math.sqrt(1+S*S)):O=1/(S+Math.sqrt(1+S*S)),c=1/Math.sqrt(1+O*O),f=O*c}return ci.IDENTITY.to(e),e[Wc.getElementIndex(o,o)]=e[Wc.getElementIndex(s,s)]=c,e[Wc.getElementIndex(s,o)]=f,e[Wc.getElementIndex(o,s)]=-f,e}const Tu=new ft,Vhe=new ft,Hhe=new ft,jhe=new ft,$he=new ft,Whe=new ci,Jhe={diagonal:new ci,unitary:new ci};function M8(r,e=new Ng){if(!r||r.length===0)return e.halfAxes=new ci([0,0,0,0,0,0,0,0,0]),e.center=new ft,e;const t=r.length,n=new ft(0,0,0);for(const pe of r)n.add(pe);const i=1/t;n.multiplyByScalar(i);let o=0,s=0,c=0,f=0,y=0,b=0;for(const pe of r){const we=Tu.copy(pe).subtract(n);o+=we.x*we.x,s+=we.x*we.y,c+=we.x*we.z,f+=we.y*we.y,y+=we.y*we.z,b+=we.z*we.z}o*=i,s*=i,c*=i,f*=i,y*=i,b*=i;const B=Whe;B[0]=o,B[1]=s,B[2]=c,B[3]=s,B[4]=f,B[5]=y,B[6]=c,B[7]=y,B[8]=b;const{unitary:S}=khe(B,Jhe),O=e.halfAxes.copy(S);let k=O.getColumn(0,Hhe),z=O.getColumn(1,jhe),J=O.getColumn(2,$he),G=-Number.MAX_VALUE,j=-Number.MAX_VALUE,K=-Number.MAX_VALUE,fe=Number.MAX_VALUE,Q=Number.MAX_VALUE,oe=Number.MAX_VALUE;for(const pe of r)Tu.copy(pe),G=Math.max(Tu.dot(k),G),j=Math.max(Tu.dot(z),j),K=Math.max(Tu.dot(J),K),fe=Math.min(Tu.dot(k),fe),Q=Math.min(Tu.dot(z),Q),oe=Math.min(Tu.dot(J),oe);k=k.multiplyByScalar(.5*(fe+G)),z=z.multiplyByScalar(.5*(Q+j)),J=J.multiplyByScalar(.5*(oe+K)),e.center.copy(k).add(z).add(J);const Be=Vhe.set(G-fe,j-Q,K-oe).multiplyByScalar(.5),ze=new ci([Be[0],0,0,0,Be[1],0,0,0,Be[2]]);return e.halfAxes.multiplyRight(ze),e}const Zd=512,Xhe=3,P8=[[.5,.5],[0,0],[0,1],[1,0],[1,1]],R8=P8.concat([[0,.5],[.5,0],[1,.5],[.5,1]]),Khe=R8.concat([[.25,.5],[.75,.5]]);class Qd{constructor(e,t,n){this.x=e,this.y=t,this.z=n}get children(){if(!this._children){const e=this.x*2,t=this.y*2,n=this.z+1;this._children=[new Qd(e,t,n),new Qd(e,t+1,n),new Qd(e+1,t,n),new Qd(e+1,t+1,n)]}return this._children}update(e){const{viewport:t,cullingVolume:n,elevationBounds:i,minZ:o,maxZ:s,bounds:c,offset:f,project:y}=e,b=this.getBoundingVolume(i,f,y);if(c&&!this.insideBounds(c)||n.computeVisibility(b)<0)return!1;if(!this.childVisible){let{z:S}=this;if(S<s&&S>=o){const O=b.distanceTo(t.cameraPosition)*t.scale/t.height;S+=Math.floor(Math.log2(O))}if(S>=s)return this.selected=!0,!0}this.selected=!1,this.childVisible=!0;for(const S of this.children)S.update(e);return!0}getSelected(e=[]){if(this.selected&&e.push(this),this._children)for(const t of this._children)t.getSelected(e);return e}insideBounds([e,t,n,i]){const o=Math.pow(2,this.z),s=Zd/o;return this.x*s<n&&this.y*s<i&&(this.x+1)*s>e&&(this.y+1)*s>t}getBoundingVolume(e,t,n){if(n){const f=this.z<1?Khe:this.z<2?R8:P8,y=[];for(const b of f){const B=Ex(this.x+b[0],this.y+b[1],this.z);B[2]=e[0],y.push(n(B)),e[0]!==e[1]&&(B[2]=e[1],y.push(n(B)))}return M8(y)}const i=Math.pow(2,this.z),o=Zd/i,s=this.x*o+t*Zd,c=Zd-(this.y+1)*o;return new vC([s,c,e[0]],[s+o,c+o,e[1]])}}function qhe(r,e,t,n){const i=r instanceof YY&&r.resolution?r.projectPosition:null,o=Object.values(r.getFrustumPlanes()).map(({normal:O,distance:k})=>new nc(O.clone().negate(),k)),s=new ra(o),c=r.distanceScales.unitsPerMeter[2],f=t&&t[0]*c||0,y=t&&t[1]*c||0,b=r instanceof cg&&r.pitch<=60?e:0;if(n){const[O,k,z,J]=n,G=Gl([O,J]),j=Gl([z,k]);n=[G[0],Zd-G[1],j[0],Zd-j[1]]}const B=new Qd(0,0,0),S={viewport:r,project:i,cullingVolume:s,elevationBounds:[f,y],minZ:b,maxZ:e,bounds:n,offset:0};if(B.update(S),r instanceof cg&&r.subViewports&&r.subViewports.length>1){for(S.offset=-1;B.update(S)&&!(--S.offset<-3););for(S.offset=1;B.update(S)&&!(++S.offset>Xhe););}return B.getSelected()}const Vl=512,Yhe=[-1/0,-1/0,1/0,1/0],I_={type:"object",value:null,validate:(r,e)=>e.optional&&r===null||typeof r=="string"||Array.isArray(r)&&r.every(t=>typeof t=="string"),equal:(r,e)=>{if(r===e)return!0;if(!Array.isArray(r)||!Array.isArray(e))return!1;const t=r.length;if(t!==e.length)return!1;for(let n=0;n<t;n++)if(r[n]!==e[n])return!1;return!0}};function F8(r,e){const t=[e.transformAsPoint([r[0],r[1]]),e.transformAsPoint([r[2],r[1]]),e.transformAsPoint([r[0],r[3]]),e.transformAsPoint([r[2],r[3]])];return[Math.min(...t.map(i=>i[0])),Math.min(...t.map(i=>i[1])),Math.max(...t.map(i=>i[0])),Math.max(...t.map(i=>i[1]))]}function Zhe(r){return Math.abs(r.split("").reduce((e,t)=>(e<<5)-e+t.charCodeAt(0)|0,0))}function rh(r,e){if(!r||!r.length)return null;const{index:t,id:n}=e;if(Array.isArray(r)){const o=Zhe(n)%r.length;r=r[o]}let i=r;for(const o of Object.keys(t)){const s=new RegExp(`{${o}}`,"g");i=i.replace(s,String(t[o]))}return Number.isInteger(t.y)&&Number.isInteger(t.z)&&(i=i.replace(/\{-y\}/g,String(Math.pow(2,t.z)-t.y-1))),i}function Qhe(r,e,t){let n;return n=r.getBounds(),r.isGeospatial?[Math.max(n[0],t[0]),Math.max(n[1],t[1]),Math.min(n[2],t[2]),Math.min(n[3],t[3])]:[Math.max(Math.min(n[0],t[2]),t[0]),Math.max(Math.min(n[1],t[3]),t[1]),Math.min(Math.max(n[2],t[0]),t[2]),Math.min(Math.max(n[3],t[1]),t[3])]}function ede({viewport:r,z:e,cullRect:t}){return(r.subViewports||[r]).map(i=>Cx(i,e||0,t))}function Cx(r,e,t){if(!Array.isArray(e)){const o=t.x-r.x,s=t.y-r.y,{width:c,height:f}=t,y={targetZ:e},b=r.unproject([o,s],y),B=r.unproject([o+c,s],y),S=r.unproject([o,s+f],y),O=r.unproject([o+c,s+f],y);return[Math.min(b[0],B[0],S[0],O[0]),Math.min(b[1],B[1],S[1],O[1]),Math.max(b[0],B[0],S[0],O[0]),Math.max(b[1],B[1],S[1],O[1])]}const n=Cx(r,e[0],t),i=Cx(r,e[1],t);return[Math.min(n[0],i[0]),Math.min(n[1],i[1]),Math.max(n[2],i[2]),Math.max(n[3],i[3])]}function tde(r,e,t){return t?F8(r,t).map(i=>i*e/Vl):r.map(n=>n*e/Vl)}function bC(r,e){return Math.pow(2,r)*Vl/e}function Ex(r,e,t){const n=bC(t,Vl),i=r/n*360-180,o=Math.PI-2*Math.PI*e/n,s=180/Math.PI*Math.atan(.5*(Math.exp(o)-Math.exp(-o)));return[i,s]}function zP(r,e,t,n){const i=bC(t,n);return[r/i*Vl,e/i*Vl]}function rde(r,e,t,n,i=Vl){if(r.isGeospatial){const[y,b]=Ex(e,t,n),[B,S]=Ex(e+1,t+1,n);return{west:y,north:b,east:B,south:S}}const[o,s]=zP(e,t,n,i),[c,f]=zP(e+1,t+1,n,i);return{left:o,top:s,right:c,bottom:f}}function nde(r,e,t,n,i){const o=Qhe(r,null,n),s=bC(e,t),[c,f,y,b]=tde(o,s,i),B=[];for(let S=Math.floor(c);S<y;S++)for(let O=Math.floor(f);O<b;O++)B.push({x:S,y:O,z:e});return B}function ide({viewport:r,maxZoom:e,minZoom:t,zRange:n,extent:i,tileSize:o=Vl,modelMatrix:s,modelMatrixInverse:c,zoomOffset:f=0}){let y=r.isGeospatial?Math.round(r.zoom+Math.log2(Vl/o))+f:Math.ceil(r.zoom)+f;if(typeof t=="number"&&Number.isFinite(t)&&y<t){if(!i)return[];y=t}typeof e=="number"&&Number.isFinite(e)&&y>e&&(y=e);let b=i;return s&&c&&i&&!r.isGeospatial&&(b=F8(i,s)),r.isGeospatial?qhe(r,y,n,i):nde(r,y,o,b||Yhe,c)}function sde(r){return/(?=.*{z})(?=.*{x})(?=.*({y}|{-y}))/.test(r)}function ode(r){return Number.isFinite(r.west)&&Number.isFinite(r.north)&&Number.isFinite(r.east)&&Number.isFinite(r.south)}function ade(r){let e={},t;return n=>{for(const i in n)if(!cde(n[i],e[i])){t=r(n),e=n;break}return t}}function cde(r,e){if(r===e)return!0;if(Array.isArray(r)){const t=r.length;if(!e||e.length!==t)return!1;for(let n=0;n<t;n++)if(r[n]!==e[n])return!1;return!0}return!1}const GP=1,My=2,lde="never",ude="no-overlap",xC="best-available",fde=5,hde={[xC]:Ade,[ude]:pde,[lde]:()=>{}},dde={extent:null,tileSize:512,maxZoom:null,minZoom:null,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:"best-available",zRange:null,maxRequests:6,debounceTime:0,zoomOffset:0,onTileLoad:()=>{},onTileUnload:()=>{},onTileError:()=>{}};class Py{constructor(e){this._getCullBounds=ade(ede),this.opts={...dde,...e},this.setOptions(this.opts),this.onTileLoad=t=>{var n,i;(i=(n=this.opts).onTileLoad)==null||i.call(n,t),this.opts.maxCacheByteSize!==null&&(this._cacheByteSize+=t.byteLength,this._resizeCache())},this._requestScheduler=new x8({throttleRequests:this.opts.maxRequests>0||this.opts.debounceTime>0,maxRequests:this.opts.maxRequests,debounceTime:this.opts.debounceTime}),this._cache=new Map,this._tiles=[],this._dirty=!1,this._cacheByteSize=0,this._viewport=null,this._zRange=null,this._selectedTiles=null,this._frameNumber=0,this._modelMatrix=new dn,this._modelMatrixInverse=new dn}get tiles(){return this._tiles}get selectedTiles(){return this._selectedTiles}get isLoaded(){return this._selectedTiles!==null&&this._selectedTiles.every(e=>e.isLoaded)}get needsReload(){return this._selectedTiles!==null&&this._selectedTiles.some(e=>e.needsReload)}setOptions(e){Object.assign(this.opts,e),Number.isFinite(e.maxZoom)&&(this._maxZoom=Math.floor(e.maxZoom)),Number.isFinite(e.minZoom)&&(this._minZoom=Math.ceil(e.minZoom))}finalize(){for(const e of this._cache.values())e.isLoading&&e.abort();this._cache.clear(),this._tiles=[],this._selectedTiles=null}reloadAll(){for(const e of this._cache.keys()){const t=this._cache.get(e);!this._selectedTiles||!this._selectedTiles.includes(t)?this._cache.delete(e):t.setNeedsReload()}}update(e,{zRange:t,modelMatrix:n}={zRange:null,modelMatrix:null}){const i=n?new dn(n):new dn,o=!i.equals(this._modelMatrix);if(!this._viewport||!e.equals(this._viewport)||!Pa(this._zRange,t)||o){o&&(this._modelMatrixInverse=i.clone().invert(),this._modelMatrix=i),this._viewport=e,this._zRange=t;const c=this.getTileIndices({viewport:e,maxZoom:this._maxZoom,minZoom:this._minZoom,zRange:t,modelMatrix:this._modelMatrix,modelMatrixInverse:this._modelMatrixInverse});this._selectedTiles=c.map(f=>this._getTile(f,!0)),this._dirty&&this._rebuildTree()}else this.needsReload&&(this._selectedTiles=this._selectedTiles.map(c=>this._getTile(c.index,!0)));const s=this.updateTileStates();return this._pruneRequests(),this._dirty&&this._resizeCache(),s&&this._frameNumber++,this._frameNumber}isTileVisible(e,t){if(!e.isVisible)return!1;if(t&&this._viewport){const n=this._getCullBounds({viewport:this._viewport,z:this._zRange,cullRect:t}),{bbox:i}=e;for(const[o,s,c,f]of n){let y;if("west"in i)y=i.west<c&&i.east>o&&i.south<f&&i.north>s;else{const b=Math.min(i.top,i.bottom),B=Math.max(i.top,i.bottom);y=i.left<c&&i.right>o&&b<f&&B>s}if(y)return!0}return!1}return!0}getTileIndices({viewport:e,maxZoom:t,minZoom:n,zRange:i,modelMatrix:o,modelMatrixInverse:s}){const{tileSize:c,extent:f,zoomOffset:y}=this.opts;return ide({viewport:e,maxZoom:t,minZoom:n,zRange:i,tileSize:c,extent:f,modelMatrix:o,modelMatrixInverse:s,zoomOffset:y})}getTileId(e){return`${e.x}-${e.y}-${e.z}`}getTileZoom(e){return e.z}getTileMetadata(e){const{tileSize:t}=this.opts;return{bbox:rde(this._viewport,e.x,e.y,e.z,t)}}getParentIndex(e){const t=Math.floor(e.x/2),n=Math.floor(e.y/2),i=e.z-1;return{x:t,y:n,z:i}}updateTileStates(){const e=this.opts.refinementStrategy||xC,t=new Array(this._cache.size);let n=0;for(const i of this._cache.values())t[n++]=i.isVisible,i.isSelected=!1,i.isVisible=!1;for(const i of this._selectedTiles)i.isSelected=!0,i.isVisible=!0;(typeof e=="function"?e:hde[e])(Array.from(this._cache.values())),n=0;for(const i of this._cache.values())if(t[n++]!==i.isVisible)return!0;return!1}_pruneRequests(){const{maxRequests:e=0}=this.opts,t=[];let n=0;for(const i of this._cache.values())i.isLoading&&(n++,!i.isSelected&&!i.isVisible&&t.push(i));for(;e>0&&n>e&&t.length>0;)t.shift().abort(),n--}_rebuildTree(){const{_cache:e}=this;for(const t of e.values())t.parent=null,t.children&&(t.children.length=0);for(const t of e.values()){const n=this._getNearestAncestor(t);t.parent=n,n!=null&&n.children&&n.children.push(t)}}_resizeCache(){var s,c;const{_cache:e,opts:t}=this,n=t.maxCacheSize??(t.maxCacheByteSize!==null?1/0:fde*this.selectedTiles.length),i=t.maxCacheByteSize??1/0;if(e.size>n||this._cacheByteSize>i){for(const[f,y]of e)if(!y.isVisible&&!y.isSelected&&(this._cacheByteSize-=t.maxCacheByteSize!==null?y.byteLength:0,e.delete(f),(c=(s=this.opts).onTileUnload)==null||c.call(s,y)),e.size<=n&&this._cacheByteSize<=i)break;this._rebuildTree(),this._dirty=!0}this._dirty&&(this._tiles=Array.from(this._cache.values()).sort((f,y)=>f.zoom-y.zoom),this._dirty=!1)}_getTile(e,t){const n=this.getTileId(e);let i=this._cache.get(n),o=!1;return!i&&t?(i=new I8(e),Object.assign(i,this.getTileMetadata(i.index)),Object.assign(i,{id:n,zoom:this.getTileZoom(i.index)}),o=!0,this._cache.set(n,i),this._dirty=!0):i&&i.needsReload&&(o=!0),i&&o&&i.loadData({getData:this.opts.getTileData,requestScheduler:this._requestScheduler,onLoad:this.onTileLoad,onError:this.opts.onTileError}),i}_getNearestAncestor(e){const{_minZoom:t=0}=this;let n=e.index;for(;this.getTileZoom(n)>t;){n=this.getParentIndex(n);const i=this._getTile(n);if(i)return i}return null}}function Ade(r){for(const e of r)e.state=0;for(const e of r)e.isSelected&&!D8(e)&&wC(e);for(const e of r)e.isVisible=!!(e.state&My)}function pde(r){for(const t of r)t.state=0;for(const t of r)t.isSelected&&D8(t);const e=Array.from(r).sort((t,n)=>t.zoom-n.zoom);for(const t of e)if(t.isVisible=!!(t.state&My),t.children&&(t.isVisible||t.state&GP))for(const n of t.children)n.state=GP;else t.isSelected&&wC(t)}function D8(r){let e=r;for(;e;){if(e.isLoaded||e.content)return e.state|=My,!0;e=e.parent}return!1}function wC(r){for(const e of r.children)e.isLoaded||e.content?e.state|=My:wC(e)}const gde={TilesetClass:Py,data:{type:"data",value:[]},dataComparator:I_.equal,renderSubLayers:{type:"function",value:r=>new Wl(r)},getTileData:{type:"function",optional:!0,value:null},onViewportLoad:{type:"function",optional:!0,value:null},onTileLoad:{type:"function",value:r=>{}},onTileUnload:{type:"function",value:r=>{}},onTileError:{type:"function",value:r=>console.error(r)},extent:{type:"array",optional:!0,value:null,compare:!0},tileSize:512,maxZoom:null,minZoom:0,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:xC,zRange:null,maxRequests:6,debounceTime:0,zoomOffset:0};class Xl extends ys{initializeState(){this.state={tileset:null,isLoaded:!1}}finalizeState(){var e,t;(t=(e=this.state)==null?void 0:e.tileset)==null||t.finalize()}get isLoaded(){var e,t,n;return!!((n=(t=(e=this.state)==null?void 0:e.tileset)==null?void 0:t.selectedTiles)!=null&&n.every(i=>i.isLoaded&&i.layers&&i.layers.every(o=>o.isLoaded)))}shouldUpdateState({changeFlags:e}){return e.somethingChanged}updateState({changeFlags:e}){let{tileset:t}=this.state;const n=e.propsOrDataChanged||e.updateTriggersChanged,i=e.dataChanged||e.updateTriggersChanged&&(e.updateTriggersChanged.all||e.updateTriggersChanged.getTileData);t?n&&(t.setOptions(this._getTilesetOptions()),i?t.reloadAll():t.tiles.forEach(o=>{o.layers=null})):(t=new this.props.TilesetClass(this._getTilesetOptions()),this.setState({tileset:t})),this._updateTileset()}_getTilesetOptions(){const{tileSize:e,maxCacheSize:t,maxCacheByteSize:n,refinementStrategy:i,extent:o,maxZoom:s,minZoom:c,maxRequests:f,debounceTime:y,zoomOffset:b}=this.props;return{maxCacheSize:t,maxCacheByteSize:n,maxZoom:s,minZoom:c,tileSize:e,refinementStrategy:i,extent:o,maxRequests:f,debounceTime:y,zoomOffset:b,getTileData:this.getTileData.bind(this),onTileLoad:this._onTileLoad.bind(this),onTileError:this._onTileError.bind(this),onTileUnload:this._onTileUnload.bind(this)}}_updateTileset(){const e=this.state.tileset,{zRange:t,modelMatrix:n}=this.props,i=e.update(this.context.viewport,{zRange:t,modelMatrix:n}),{isLoaded:o}=e,s=this.state.isLoaded!==o,c=this.state.frameNumber!==i;o&&(s||c)&&this._onViewportLoad(),c&&this.setState({frameNumber:i}),this.state.isLoaded=o}_onViewportLoad(){const{tileset:e}=this.state,{onViewportLoad:t}=this.props;t&&t(e.selectedTiles)}_onTileLoad(e){this.props.onTileLoad(e),e.layers=null,this.setNeedsUpdate()}_onTileError(e,t){this.props.onTileError(e),t.layers=null,this.setNeedsUpdate()}_onTileUnload(e){this.props.onTileUnload(e)}getTileData(e){const{data:t,getTileData:n,fetch:i}=this.props,{signal:o}=e;return e.url=typeof t=="string"||Array.isArray(t)?rh(t,e):null,n?n(e):i&&e.url?i(e.url,{propName:"data",layer:this,signal:o}):null}renderSubLayers(e){return this.props.renderSubLayers(e)}getSubLayerPropsByTile(e){return null}getPickingInfo(e){const t=e.sourceLayer,n=t.props.tile,i=e.info;return i.picked&&(i.tile=n),i.sourceTile=n,i.sourceTileSubLayer=t,i}_updateAutoHighlight(e){e.sourceTileSubLayer.updateAutoHighlight(e)}renderLayers(){return this.state.tileset.tiles.map(e=>{const t=this.getSubLayerPropsByTile(e);if(!(!e.isLoaded&&!e.content))if(e.layers)t&&e.layers[0]&&Object.keys(t).some(n=>e.layers[0].props[n]!==t[n])&&(e.layers=e.layers.map(n=>n.clone(t)));else{const n=this.renderSubLayers({...this.props,...this.getSubLayerProps({id:e.id,updateTriggers:this.props.updateTriggers}),data:e.content,_offset:0,tile:e});e.layers=ly(n,Boolean).map(i=>i.clone({tile:e,...t}))}return e.layers})}filterSubLayer({layer:e,cullRect:t}){const{tile:n}=e.props;return this.state.tileset.isTileVisible(n,t)}}Xl.defaultProps=gde;Xl.layerName="TileLayer";const VP=`uniform tripsUniforms {
|
3443
3443
|
bool fadeTrail;
|
3444
3444
|
float trailLength;
|
3445
3445
|
float currentTime;
|
@@ -3455,7 +3455,7 @@ out float vTime;
|
|
3455
3455
|
`,"fs:DECKGL_FILTER_COLOR":`if(trips.fadeTrail) {
|
3456
3456
|
color.a *= 1.0 - (trips.currentTime - vTime) / trips.trailLength;
|
3457
3457
|
}
|
3458
|
-
`},e.modules=[...e.modules,mde],e}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({timestamps:{size:1,accessor:"getTimestamps",shaderAttributes:{instanceTimestamps:{vertexOffset:0},instanceNextTimestamps:{vertexOffset:1}}}})}draw(e){const{fadeTrail:t,trailLength:n,currentTime:i}=this.props,o={fadeTrail:t,trailLength:n,currentTime:i};this.state.model.shaderInputs.setProps({trips:o}),super.draw(e)}}Ry.layerName="TripsLayer";Ry.defaultProps=_de;var Rr=function(r){r=r||{};var e=typeof r<"u"?r:{},t={},n;for(n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);var i="";function o(de){return e.locateFile?e.locateFile(de,i):i+de}var s;typeof document<"u"&&document.currentScript&&(i=document.currentScript.src),i.indexOf("blob:")!==0?i=i.substr(0,i.lastIndexOf("/")+1):i="",s=function(ve,ce,Se){var p=new XMLHttpRequest;p.open("GET",ve,!0),p.responseType="arraybuffer",p.onload=function(){if(p.status==200||p.status==0&&p.response){ce(p.response);return}var vt=Mt(ve);if(vt){ce(vt.buffer);return}Se()},p.onerror=Se,p.send(null)};var c=e.print||console.log.bind(console),f=e.printErr||console.warn.bind(console);for(n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);t=null,e.arguments&&e.arguments;var y=0,b=function(de){y=de},B=function(){return y},S=8;function O(de,ve,ce,Se){switch(ce=ce||"i8",ce.charAt(ce.length-1)==="*"&&(ce="i32"),ce){case"i1":W[de>>0]=ve;break;case"i8":W[de>>0]=ve;break;case"i16":Te[de>>1]=ve;break;case"i32":Ye[de>>2]=ve;break;case"i64":Wn=[ve>>>0,(bn=ve,+Ar(bn)>=1?bn>0?(pr(+hr(bn/4294967296),4294967295)|0)>>>0:~~+Mn((bn-+(~~bn>>>0))/4294967296)>>>0:0)],Ye[de>>2]=Wn[0],Ye[de+4>>2]=Wn[1];break;case"float":Ce[de>>2]=ve;break;case"double":Ne[de>>3]=ve;break;default:Oe("invalid type for setValue: "+ce)}}function k(de,ve,ce){switch(ve=ve||"i8",ve.charAt(ve.length-1)==="*"&&(ve="i32"),ve){case"i1":return W[de>>0];case"i8":return W[de>>0];case"i16":return Te[de>>1];case"i32":return Ye[de>>2];case"i64":return Ye[de>>2];case"float":return Ce[de>>2];case"double":return Ne[de>>3];default:Oe("invalid type for getValue: "+ve)}return null}var z=!1;function J(de,ve){de||Oe("Assertion failed: "+ve)}function G(de){var ve=e["_"+de];return J(ve,"Cannot call unknown function "+de+", make sure it is exported"),ve}function j(de,ve,ce,Se,p){var le={string:function(St){var zt=0;if(St!=null&&St!==0){var Fr=(St.length<<2)+1;zt=yt(Fr),ze(St,zt,Fr)}return zt},array:function(St){var zt=yt(St.length);return pe(St,zt),zt}};function vt(St){return ve==="string"?oe(St):ve==="boolean"?!!St:St}var Ke=G(de),Ct=[],It=0;if(Se)for(var Ft=0;Ft<Se.length;Ft++){var ut=le[ce[Ft]];ut?(It===0&&(It=Ee()),Ct[Ft]=ut(Se[Ft])):Ct[Ft]=Se[Ft]}var Dt=Ke.apply(null,Ct);return Dt=vt(Dt),It!==0&&Et(It),Dt}function K(de,ve,ce,Se){ce=ce||[];var p=ce.every(function(vt){return vt==="number"}),le=ve!=="string";return le&&p&&!Se?G(de):function(){return j(de,ve,ce,arguments)}}var fe=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Q(de,ve,ce){for(var Se=ve+ce,p=ve;de[p]&&!(p>=Se);)++p;if(p-ve>16&&de.subarray&&fe)return fe.decode(de.subarray(ve,p));for(var le="";ve<p;){var vt=de[ve++];if(!(vt&128)){le+=String.fromCharCode(vt);continue}var Ke=de[ve++]&63;if((vt&224)==192){le+=String.fromCharCode((vt&31)<<6|Ke);continue}var Ct=de[ve++]&63;if((vt&240)==224?vt=(vt&15)<<12|Ke<<6|Ct:vt=(vt&7)<<18|Ke<<12|Ct<<6|de[ve++]&63,vt<65536)le+=String.fromCharCode(vt);else{var It=vt-65536;le+=String.fromCharCode(55296|It>>10,56320|It&1023)}}return le}function oe(de,ve){return de?Q(ne,de,ve):""}function Be(de,ve,ce,Se){if(!(Se>0))return 0;for(var p=ce,le=ce+Se-1,vt=0;vt<de.length;++vt){var Ke=de.charCodeAt(vt);if(Ke>=55296&&Ke<=57343){var Ct=de.charCodeAt(++vt);Ke=65536+((Ke&1023)<<10)|Ct&1023}if(Ke<=127){if(ce>=le)break;ve[ce++]=Ke}else if(Ke<=2047){if(ce+1>=le)break;ve[ce++]=192|Ke>>6,ve[ce++]=128|Ke&63}else if(Ke<=65535){if(ce+2>=le)break;ve[ce++]=224|Ke>>12,ve[ce++]=128|Ke>>6&63,ve[ce++]=128|Ke&63}else{if(ce+3>=le)break;ve[ce++]=240|Ke>>18,ve[ce++]=128|Ke>>12&63,ve[ce++]=128|Ke>>6&63,ve[ce++]=128|Ke&63}}return ve[ce]=0,ce-p}function ze(de,ve,ce){return Be(de,ne,ve,ce)}typeof TextDecoder<"u"&&new TextDecoder("utf-16le");function pe(de,ve){W.set(de,ve)}function we(de,ve){return de%ve>0&&(de+=ve-de%ve),de}var Ae,W,ne,Te,Ye,Ce,Ne;function Ge(de){Ae=de,e.HEAP8=W=new Int8Array(de),e.HEAP16=Te=new Int16Array(de),e.HEAP32=Ye=new Int32Array(de),e.HEAPU8=ne=new Uint8Array(de),e.HEAPU16=new Uint16Array(de),e.HEAPU32=new Uint32Array(de),e.HEAPF32=Ce=new Float32Array(de),e.HEAPF64=Ne=new Float64Array(de)}var Qe=5267040,rt=24128,tt=e.TOTAL_MEMORY||33554432;e.buffer?Ae=e.buffer:Ae=new ArrayBuffer(tt),tt=Ae.byteLength,Ge(Ae),Ye[rt>>2]=Qe;function lt(de){for(;de.length>0;){var ve=de.shift();if(typeof ve=="function"){ve();continue}var ce=ve.func;typeof ce=="number"?ve.arg===void 0?e.dynCall_v(ce):e.dynCall_vi(ce,ve.arg):ce(ve.arg===void 0?null:ve.arg)}}var mt=[],Tt=[],nt=[],cr=[];function Xt(){if(e.preRun)for(typeof e.preRun=="function"&&(e.preRun=[e.preRun]);e.preRun.length;)tn(e.preRun.shift());lt(mt)}function $t(){lt(Tt)}function Lt(){lt(nt)}function lr(){if(e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;)Er(e.postRun.shift());lt(cr)}function tn(de){mt.unshift(de)}function Er(de){cr.unshift(de)}var Ar=Math.abs,Mn=Math.ceil,hr=Math.floor,pr=Math.min,rn=0,Sr=null;function ei(de){rn++,e.monitorRunDependencies&&e.monitorRunDependencies(rn)}function $n(de){if(rn--,e.monitorRunDependencies&&e.monitorRunDependencies(rn),rn==0&&Sr){var ve=Sr;Sr=null,ve()}}e.preloadedImages={},e.preloadedAudios={};var un=null,Xn="data:application/octet-stream;base64,";function kn(de){return String.prototype.startsWith?de.startsWith(Xn):de.indexOf(Xn)===0}var bn,Wn;un="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//////////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAIAAAABAAAAAQAAAAIAAAACAAAAAAAAAAUAAAAFAAAAAAAAAAIAAAACAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAEAAAACAAAAAgAAAAIAAAAAAAAABQAAAAYAAAAAAAAAAgAAAAIAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAACAAAAAQAAAAMAAAACAAAAAgAAAAAAAAAFAAAABwAAAAAAAAACAAAAAgAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAIAAAABAAAABAAAAAIAAAACAAAAAAAAAAUAAAAIAAAAAAAAAAIAAAACAAAAAwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAIAAAAAAAAAAgAAAAEAAAAAAAAAAgAAAAIAAAAAAAAABQAAAAkAAAAAAAAAAgAAAAIAAAADAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAIAAAAAAAAAAwAAAA4AAAACAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAgAAAAMAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAgAAAAAAAAADAAAACgAAAAIAAAAAAAAAAgAAAAMAAAABAAAAAAAAAAIAAAACAAAAAwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAACAAAAAAAAAAMAAAALAAAAAgAAAAAAAAACAAAAAwAAAAIAAAAAAAAAAgAAAAIAAAADAAAACAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAIAAAAAAAAAAwAAAAwAAAACAAAAAAAAAAIAAAADAAAAAwAAAAAAAAACAAAAAgAAAAMAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAACAAAAAgAAAAAAAAADAAAADQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAAAAAAAAIAAAACAAAAAwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAACAAAAAAAAAAMAAAAGAAAAAgAAAAAAAAACAAAAAwAAAA8AAAAAAAAAAgAAAAIAAAADAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAIAAAAAAAAAAwAAAAcAAAACAAAAAAAAAAIAAAADAAAAEAAAAAAAAAACAAAAAgAAAAMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAgAAAAAAAAADAAAACAAAAAIAAAAAAAAAAgAAAAMAAAARAAAAAAAAAAIAAAACAAAAAwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAACAAAAAAAAAAMAAAAJAAAAAgAAAAAAAAACAAAAAwAAABIAAAAAAAAAAgAAAAIAAAADAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAgAAAAIAAAAAAAAAAwAAAAUAAAACAAAAAAAAAAIAAAADAAAAEwAAAAAAAAACAAAAAgAAAAMAAAAPAAAAAAAAAAAAAAAAAAAAAAAAABAAAAACAAAAAAAAAAIAAAABAAAAEwAAAAIAAAACAAAAAAAAAAUAAAAKAAAAAAAAAAIAAAACAAAAAwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAIAAAAAAAAAAgAAAAEAAAAPAAAAAgAAAAIAAAAAAAAABQAAAAsAAAAAAAAAAgAAAAIAAAADAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAgAAAAAAAAACAAAAAQAAABAAAAACAAAAAgAAAAAAAAAFAAAADAAAAAAAAAACAAAAAgAAAAMAAAASAAAAAAAAAAAAAAAAAAAAAAAAABMAAAACAAAAAAAAAAIAAAABAAAAEQAAAAIAAAACAAAAAAAAAAUAAAANAAAAAAAAAAIAAAACAAAAAwAAABMAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAIAAAAAAAAAAgAAAAEAAAASAAAAAgAAAAIAAAAAAAAABQAAAA4AAAAAAAAAAgAAAAIAAAADAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAEAAAACAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAQAAAAAAAAABQAAAAAAAAACAAAAAQAAAAAAAAABAAAAAgAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAABAAAAAAAAAAIAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAQAAAAAAAAABQAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAOgehWlKfUEEz1zLi+JsiQa2og3wcMfVAWCbHorc0yEDi+Yn/Y6mbQJ11/mfsnG9At6bnG4UQQkBvMCQWKqUUQJVmwwswmOc/3hVgVBL3uj//qqOEOdGOPw/WDN4gnGE/H3ANkCUgND+AA8btKgAHPwTXBqJVSdo+XfRQAqsKrj4fc+zLYbSPQklEmCZHv2FCUP+uDso1NEKYtPhwphUHQptxnyFXYdpB7CddZAMmrkGAt1AxSTqBQUibBVdTsFNBSuX3MV+AJkFocv82SLf5QAqmgj7AY81A23VDSEnLoEDGEJVSeDFzQDYrqvBk70VA8U157pcRGUBWfEF+ZKbsP7KBdLHZTpFAqKYk69AqekDbeGY41MdjQD8AZzHK501A1vcrrjubNkD5LnquvBYhQCbiRRD71QlAqt72EbOH8z8Eu+jL1YbdP4uaox/xUcY/abedg1XfsD+BsUdzJ4KZP5wE9YFySIM/rW1kAKMpbT+rZFthVRhWPy4PKlXIs0A/qMZLlwDnMEHByqEF0I0ZQQYSFD8lUQNBPpY+dFs07UAH8BZImBPWQN9RY0I0sMBA2T7kLfc6qUByFYvfhBKTQMq+0Mis1XxA0XQbeQXMZUBJJ5aEGXpQQP7/SY0a6ThAaMD92b/UIkAs8s8yqXoMQNIegOvCk/U/aOi7NZJP4D8AAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAD/////AAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAA/////wAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAP////8AAAAABQAAAAAAAAAAAAAAAAAAAAAAAAD/////BQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAAAAAABAAAAAAAAAAUAAAABAAAAAQAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAEAAQAAAQEAAAAAAAEAAAABAAAAAQABAAAAAAAAAAAAAAAAAAAAAAcAAAAHAAAAAQAAAAIAAAAEAAAAAwAAAAAAAAAAAAAABwAAAAMAAAABAAAAAgAAAAUAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAACAAAAAQAAAAMAAAAOAAAABgAAAAsAAAACAAAABwAAAAEAAAAYAAAABQAAAAoAAAABAAAABgAAAAAAAAAmAAAABwAAAAwAAAADAAAACAAAAAIAAAAxAAAACQAAAA4AAAAAAAAABQAAAAQAAAA6AAAACAAAAA0AAAAEAAAACQAAAAMAAAA/AAAACwAAAAYAAAAPAAAACgAAABAAAABIAAAADAAAAAcAAAAQAAAACwAAABEAAABTAAAACgAAAAUAAAATAAAADgAAAA8AAABhAAAADQAAAAgAAAARAAAADAAAABIAAABrAAAADgAAAAkAAAASAAAADQAAABMAAAB1AAAADwAAABMAAAARAAAAEgAAABAAAAAGAAAAAgAAAAMAAAAFAAAABAAAAAAAAAAAAAAAAAAAAAYAAAACAAAAAwAAAAEAAAAFAAAABAAAAAAAAAAAAAAABwAAAAUAAAADAAAABAAAAAEAAAAAAAAAAgAAAAAAAAACAAAAAwAAAAEAAAAFAAAABAAAAAYAAAAAAAAAAAAAAGFsZ29zLmMAaDNOZWlnaGJvclJvdGF0aW9ucwBjb29yZGlqay5jAF91cEFwN0NoZWNrZWQAX3VwQXA3ckNoZWNrZWQAZGlyZWN0ZWRFZGdlLmMAZGlyZWN0ZWRFZGdlVG9Cb3VuZGFyeQBhZGphY2VudEZhY2VEaXJbdG1wRmlqay5mYWNlXVtmaWprLmZhY2VdID09IEtJAGZhY2VpamsuYwBfZmFjZUlqa1BlbnRUb0NlbGxCb3VuZGFyeQBhZGphY2VudEZhY2VEaXJbY2VudGVySUpLLmZhY2VdW2ZhY2UyXSA9PSBLSQBfZmFjZUlqa1RvQ2VsbEJvdW5kYXJ5AGgzSW5kZXguYwBjb21wYWN0Q2VsbHMAbGF0TG5nVG9DZWxsAGNlbGxUb0NoaWxkUG9zAHZhbGlkYXRlQ2hpbGRQb3MAbGF0TG5nLmMAY2VsbEFyZWFSYWRzMgBwb2x5Z29uLT5uZXh0ID09IE5VTEwAbGlua2VkR2VvLmMAYWRkTmV3TGlua2VkUG9seWdvbgBuZXh0ICE9IE5VTEwAbG9vcCAhPSBOVUxMAGFkZE5ld0xpbmtlZExvb3AAcG9seWdvbi0+Zmlyc3QgPT0gTlVMTABhZGRMaW5rZWRMb29wAGNvb3JkICE9IE5VTEwAYWRkTGlua2VkQ29vcmQAbG9vcC0+Zmlyc3QgPT0gTlVMTABpbm5lckxvb3BzICE9IE5VTEwAbm9ybWFsaXplTXVsdGlQb2x5Z29uAGJib3hlcyAhPSBOVUxMAGNhbmRpZGF0ZXMgIT0gTlVMTABmaW5kUG9seWdvbkZvckhvbGUAY2FuZGlkYXRlQkJveGVzICE9IE5VTEwAcmV2RGlyICE9IElOVkFMSURfRElHSVQAbG9jYWxpai5jAGNlbGxUb0xvY2FsSWprAGJhc2VDZWxsICE9IG9yaWdpbkJhc2VDZWxsACEob3JpZ2luT25QZW50ICYmIGluZGV4T25QZW50KQBiYXNlQ2VsbCA9PSBvcmlnaW5CYXNlQ2VsbABiYXNlQ2VsbCAhPSBJTlZBTElEX0JBU0VfQ0VMTABsb2NhbElqa1RvQ2VsbAAhX2lzQmFzZUNlbGxQZW50YWdvbihiYXNlQ2VsbCkAYmFzZUNlbGxSb3RhdGlvbnMgPj0gMABncmlkUGF0aENlbGxzADAAdmVydGV4LmMAY2VsbFRvVmVydGV4AGdyYXBoLT5idWNrZXRzICE9IE5VTEwAdmVydGV4R3JhcGguYwBpbml0VmVydGV4R3JhcGgAbm9kZSAhPSBOVUxMAGFkZFZlcnRleE5vZGU=";var Ut=24144;function dr(de,ve,ce,Se){Oe("Assertion failed: "+oe(de)+", at: "+[ve?oe(ve):"unknown filename",ce,Se?oe(Se):"unknown function"])}function Tr(){return W.length}function qr(de,ve,ce){ne.set(ne.subarray(ve,ve+ce),de)}function ui(de){return e.___errno_location&&(Ye[e.___errno_location()>>2]=de),de}function Pe(de){Oe("OOM")}function Ot(de){try{var ve=new ArrayBuffer(de);return ve.byteLength!=de?void 0:(new Int8Array(ve).set(W),$(ve),Ge(ve),1)}catch{}}function Vt(de){var ve=Tr(),ce=16777216,Se=2147483648-ce;if(de>Se)return!1;for(var p=16777216,le=Math.max(ve,p);le<de;)le<=536870912?le=we(2*le,ce):le=Math.min(we((3*le+2147483648)/4,ce),Se);var vt=Ot(le);return!!vt}var sr=typeof atob=="function"?atob:function(de){var ve="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",ce="",Se,p,le,vt,Ke,Ct,It,Ft=0;de=de.replace(/[^A-Za-z0-9\+\/\=]/g,"");do vt=ve.indexOf(de.charAt(Ft++)),Ke=ve.indexOf(de.charAt(Ft++)),Ct=ve.indexOf(de.charAt(Ft++)),It=ve.indexOf(de.charAt(Ft++)),Se=vt<<2|Ke>>4,p=(Ke&15)<<4|Ct>>2,le=(Ct&3)<<6|It,ce=ce+String.fromCharCode(Se),Ct!==64&&(ce=ce+String.fromCharCode(p)),It!==64&&(ce=ce+String.fromCharCode(le));while(Ft<de.length);return ce};function Ze(de){try{for(var ve=sr(de),ce=new Uint8Array(ve.length),Se=0;Se<ve.length;++Se)ce[Se]=ve.charCodeAt(Se);return ce}catch{throw new Error("Converting base64 string to bytes failed.")}}function Mt(de){if(kn(de))return Ze(de.slice(Xn.length))}var ge={Math,Int8Array,Int32Array,Uint8Array,Float32Array,Float64Array},kt={b,c:B,d:dr,e:ui,f:Tr,g:qr,h:Vt,i:Pe,o:Ut,p:rt},wt=function(de,ve,ce){"almost asm";var Se=new de.Int8Array(ce),p=new de.Int32Array(ce);new de.Uint8Array(ce),new de.Float32Array(ce);var le=new de.Float64Array(ce),vt=ve.o|0,Ke=ve.p|0,Ct=de.Math.floor,It=de.Math.abs,Ft=de.Math.sqrt,ut=de.Math.pow,Dt=de.Math.cos,St=de.Math.sin,zt=de.Math.tan,Fr=de.Math.acos,Yt=de.Math.asin,Jr=de.Math.atan,en=de.Math.atan2,zr=de.Math.ceil,Gr=de.Math.imul,Lr=de.Math.min,fi=de.Math.max,Vr=de.Math.clz32,fr=ve.b,Me=ve.c,Wt=ve.d,Xr=ve.e,ki=ve.f,aa=ve.g,ti=ve.h,Un=ve.i,Ie=24160;function Lo(_){return Se=new Int8Array(_),p=new Int32Array(_),le=new Float64Array(_),ce=_,!0}function zn(_){_=_|0;var m=0;return m=Ie,Ie=Ie+_|0,Ie=Ie+15&-16,m|0}function No(){return Ie|0}function Si(_){_=_|0,Ie=_}function ri(_,m){_=_|0,Ie=_}function xi(_,m){_=_|0,m=m|0;var v=0,w=0,T=0;return(_|0)<0?(m=2,m|0):(_|0)>13780509?(m=jo(15,m)|0,m|0):(v=((_|0)<0)<<31>>31,T=si(_|0,v|0,3,0)|0,w=Me()|0,v=cn(_|0,v|0,1,0)|0,v=si(T|0,w|0,v|0,Me()|0)|0,v=cn(v|0,Me()|0,1,0)|0,_=Me()|0,p[m>>2]=v,p[m+4>>2]=_,m=0,m|0)}function Bn(_,m,v,w){return _=_|0,m=m|0,v=v|0,w=w|0,us(_,m,v,w,0)|0}function us(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0,h=0;if(d=Ie,Ie=Ie+16|0,D=d,!(Ui(_,m,v,w,T)|0))return w=0,Ie=d,w|0;do if((v|0)>=0){if((v|0)>13780509){if(M=jo(15,D)|0,M|0)break;l=D,D=p[l>>2]|0,l=p[l+4>>2]|0}else M=((v|0)<0)<<31>>31,h=si(v|0,M|0,3,0)|0,l=Me()|0,M=cn(v|0,M|0,1,0)|0,M=si(h|0,l|0,M|0,Me()|0)|0,M=cn(M|0,Me()|0,1,0)|0,l=Me()|0,p[D>>2]=M,p[D+4>>2]=l,D=M;if(Ko(w|0,0,D<<3|0)|0,T|0){Ko(T|0,0,D<<2|0)|0,M=Ps(_,m,v,w,T,D,l,0)|0;break}M=eo(D,4)|0,M?(h=Ps(_,m,v,w,M,D,l,0)|0,Dr(M),M=h):M=13}else M=2;while(!1);return h=M,Ie=d,h|0}function Ui(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0;if(U=Ie,Ie=Ie+16|0,R=U,L=U+8|0,P=R,p[P>>2]=_,p[P+4>>2]=m,(v|0)<0)return L=2,Ie=U,L|0;if(M=w,p[M>>2]=_,p[M+4>>2]=m,M=(T|0)!=0,M&&(p[T>>2]=0),Sn(_,m)|0)return L=9,Ie=U,L|0;p[L>>2]=0;e:do if((v|0)>=1)if(M)for(g=1,h=0,C=0,P=1,M=_;;){if(!(h|C)){if(M=wn(M,m,4,L,R)|0,M|0)break e;if(m=R,M=p[m>>2]|0,m=p[m+4>>2]|0,Sn(M,m)|0){M=9;break e}}if(M=wn(M,m,p[22384+(C<<2)>>2]|0,L,R)|0,M|0)break e;if(m=R,M=p[m>>2]|0,m=p[m+4>>2]|0,_=w+(g<<3)|0,p[_>>2]=M,p[_+4>>2]=m,p[T+(g<<2)>>2]=P,_=h+1|0,D=(_|0)==(P|0),l=C+1|0,d=(l|0)==6,Sn(M,m)|0){M=9;break e}if(P=P+(d&D&1)|0,(P|0)>(v|0)){M=0;break}else g=g+1|0,h=D?0:_,C=D?d?0:l:C}else for(g=1,h=0,C=0,P=1,M=_;;){if(!(h|C)){if(M=wn(M,m,4,L,R)|0,M|0)break e;if(m=R,M=p[m>>2]|0,m=p[m+4>>2]|0,Sn(M,m)|0){M=9;break e}}if(M=wn(M,m,p[22384+(C<<2)>>2]|0,L,R)|0,M|0)break e;if(m=R,M=p[m>>2]|0,m=p[m+4>>2]|0,_=w+(g<<3)|0,p[_>>2]=M,p[_+4>>2]=m,_=h+1|0,D=(_|0)==(P|0),l=C+1|0,d=(l|0)==6,Sn(M,m)|0){M=9;break e}if(P=P+(d&D&1)|0,(P|0)>(v|0)){M=0;break}else g=g+1|0,h=D?0:_,C=D?d?0:l:C}else M=0;while(!1);return L=M,Ie=U,L|0}function Ps(_,m,v,w,T,M,D,l){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0,M=M|0,D=D|0,l=l|0;var d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0;if(U=Ie,Ie=Ie+16|0,R=U+8|0,L=U,d=mo(_|0,m|0,M|0,D|0)|0,g=Me()|0,C=w+(d<<3)|0,X=C,te=p[X>>2]|0,X=p[X+4>>2]|0,h=(te|0)==(_|0)&(X|0)==(m|0),!((te|0)==0&(X|0)==0|h))do d=cn(d|0,g|0,1,0)|0,d=Zi(d|0,Me()|0,M|0,D|0)|0,g=Me()|0,C=w+(d<<3)|0,te=C,X=p[te>>2]|0,te=p[te+4>>2]|0,h=(X|0)==(_|0)&(te|0)==(m|0);while(!((X|0)==0&(te|0)==0|h));if(d=T+(d<<2)|0,h&&(p[d>>2]|0)<=(l|0)||(te=C,p[te>>2]=_,p[te+4>>2]=m,p[d>>2]=l,(l|0)>=(v|0)))return te=0,Ie=U,te|0;switch(h=l+1|0,p[R>>2]=0,d=wn(_,m,2,R,L)|0,d|0){case 9:{P=9;break}case 0:{d=L,d=Ps(p[d>>2]|0,p[d+4>>2]|0,v,w,T,M,D,h)|0,d||(P=9);break}}e:do if((P|0)==9){switch(p[R>>2]=0,d=wn(_,m,3,R,L)|0,d|0){case 9:break;case 0:{if(d=L,d=Ps(p[d>>2]|0,p[d+4>>2]|0,v,w,T,M,D,h)|0,d|0)break e;break}default:break e}switch(p[R>>2]=0,d=wn(_,m,1,R,L)|0,d|0){case 9:break;case 0:{if(d=L,d=Ps(p[d>>2]|0,p[d+4>>2]|0,v,w,T,M,D,h)|0,d|0)break e;break}default:break e}switch(p[R>>2]=0,d=wn(_,m,5,R,L)|0,d|0){case 9:break;case 0:{if(d=L,d=Ps(p[d>>2]|0,p[d+4>>2]|0,v,w,T,M,D,h)|0,d|0)break e;break}default:break e}switch(p[R>>2]=0,d=wn(_,m,4,R,L)|0,d|0){case 9:break;case 0:{if(d=L,d=Ps(p[d>>2]|0,p[d+4>>2]|0,v,w,T,M,D,h)|0,d|0)break e;break}default:break e}switch(p[R>>2]=0,d=wn(_,m,6,R,L)|0,d|0){case 9:break;case 0:{if(d=L,d=Ps(p[d>>2]|0,p[d+4>>2]|0,v,w,T,M,D,h)|0,d|0)break e;break}default:break e}return te=0,Ie=U,te|0}while(!1);return te=d,Ie=U,te|0}function wn(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0;if(v>>>0>6)return T=1,T|0;if(C=(p[w>>2]|0)%6|0,p[w>>2]=C,(C|0)>0){M=0;do v=Ao(v)|0,M=M+1|0;while((M|0)<(p[w>>2]|0))}if(C=jt(_|0,m|0,45)|0,Me()|0,g=C&127,g>>>0>121)return T=5,T|0;d=Ki(_,m)|0,M=jt(_|0,m|0,52)|0,Me()|0,M=M&15;e:do if(!M)h=8;else{for(;;){if(D=(15-M|0)*3|0,l=jt(_|0,m|0,D|0)|0,Me()|0,l=l&7,(l|0)==7){m=5;break}if(L=(Fs(M)|0)==0,M=M+-1|0,P=Zt(7,0,D|0)|0,m=m&~(Me()|0),R=Zt(p[(L?432:16)+(l*28|0)+(v<<2)>>2]|0,0,D|0)|0,D=Me()|0,v=p[(L?640:224)+(l*28|0)+(v<<2)>>2]|0,_=R|_&~P,m=D|m,!v){v=0;break e}if(!M){h=8;break e}}return m|0}while(!1);(h|0)==8&&(L=p[848+(g*28|0)+(v<<2)>>2]|0,R=Zt(L|0,0,45)|0,_=R|_,m=Me()|0|m&-1040385,v=p[4272+(g*28|0)+(v<<2)>>2]|0,(L&127|0)==127&&(L=Zt(p[848+(g*28|0)+20>>2]|0,0,45)|0,m=Me()|0|m&-1040385,v=p[4272+(g*28|0)+20>>2]|0,_=po(L|_,m)|0,m=Me()|0,p[w>>2]=(p[w>>2]|0)+1)),l=jt(_|0,m|0,45)|0,Me()|0,l=l&127;e:do if(wr(l)|0){t:do if((Ki(_,m)|0)==1){if((g|0)!=(l|0))if(sf(l,p[7696+(g*28|0)>>2]|0)|0){_=Ua(_,m)|0,D=1,m=Me()|0;break}else Wt(23313,22416,436,22424);switch(d|0){case 3:{_=po(_,m)|0,m=Me()|0,p[w>>2]=(p[w>>2]|0)+1,D=0;break t}case 5:{_=Ua(_,m)|0,m=Me()|0,p[w>>2]=(p[w>>2]|0)+5,D=0;break t}case 0:return L=9,L|0;default:return L=1,L|0}}else D=0;while(!1);if((v|0)>0){M=0;do _=ga(_,m)|0,m=Me()|0,M=M+1|0;while((M|0)!=(v|0))}if((g|0)!=(l|0)){if(!(ni(l)|0)){if((D|0)!=0|(Ki(_,m)|0)!=5)break;p[w>>2]=(p[w>>2]|0)+1;break}switch(C&127){case 8:case 118:break e}(Ki(_,m)|0)!=3&&(p[w>>2]=(p[w>>2]|0)+1)}}else if((v|0)>0){M=0;do _=po(_,m)|0,m=Me()|0,M=M+1|0;while((M|0)!=(v|0))}while(!1);return p[w>>2]=((p[w>>2]|0)+v|0)%6|0,L=T,p[L>>2]=_,p[L+4>>2]=m,L=0,L|0}function cl(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0;for(l=Ie,Ie=Ie+16|0,M=l,D=l+8|0,T=(Sn(_,m)|0)==0,T=T?1:2;;){if(p[D>>2]=0,h=(wn(_,m,T,D,M)|0)==0,d=M,h&((p[d>>2]|0)==(v|0)?(p[d+4>>2]|0)==(w|0):0)){_=4;break}if(T=T+1|0,T>>>0>=7){T=7,_=4;break}}return(_|0)==4?(Ie=l,T|0):0}function be(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0;if(L=Ie,Ie=Ie+16|0,P=L,R=L+8|0,C=P,p[C>>2]=_,p[C+4>>2]=m,!v)return R=w,p[R>>2]=_,p[R+4>>2]=m,R=0,Ie=L,R|0;p[R>>2]=0;e:do if(Sn(_,m)|0)_=9;else{if(M=(v|0)>0,M){T=0,C=_;do{if(_=wn(C,m,4,R,P)|0,_|0)break e;if(m=P,C=p[m>>2]|0,m=p[m+4>>2]|0,T=T+1|0,Sn(C,m)|0){_=9;break e}}while((T|0)<(v|0));if(g=w,p[g>>2]=C,p[g+4>>2]=m,g=v+-1|0,M){h=0,_=1;do{if(T=22384+(h<<2)|0,(h|0)==5)for(D=p[T>>2]|0,M=0,T=_;;){if(_=P,_=wn(p[_>>2]|0,p[_+4>>2]|0,D,R,P)|0,_|0)break e;if((M|0)!=(g|0))if(d=P,l=p[d>>2]|0,d=p[d+4>>2]|0,_=w+(T<<3)|0,p[_>>2]=l,p[_+4>>2]=d,!(Sn(l,d)|0))_=T+1|0;else{_=9;break e}else _=T;if(M=M+1|0,(M|0)>=(v|0))break;T=_}else for(D=P,d=p[T>>2]|0,l=0,T=_,M=p[D>>2]|0,D=p[D+4>>2]|0;;){if(_=wn(M,D,d,R,P)|0,_|0)break e;if(D=P,M=p[D>>2]|0,D=p[D+4>>2]|0,_=w+(T<<3)|0,p[_>>2]=M,p[_+4>>2]=D,_=T+1|0,Sn(M,D)|0){_=9;break e}if(l=l+1|0,(l|0)>=(v|0))break;T=_}h=h+1|0}while(h>>>0<6);_=P,D=C,T=p[_>>2]|0,M=m,_=p[_+4>>2]|0}else D=C,T=C,M=m,_=m}else D=w,p[D>>2]=_,p[D+4>>2]=m,D=_,T=_,M=m,_=m;_=(D|0)==(T|0)&(M|0)==(_|0)?0:9}while(!1);return R=_,Ie=L,R|0}function Re(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0;if(l=Ie,Ie=Ie+48|0,T=l+16|0,M=l+8|0,D=l,v|0)return D=15,Ie=l,D|0;if(h=_,d=p[h+4>>2]|0,v=M,p[v>>2]=p[h>>2],p[v+4>>2]=d,fs(M,T),m=ko(T,m,D)|0,!m){if(v=p[M>>2]|0,M=p[_+8>>2]|0,(M|0)>0){T=p[_+12>>2]|0,m=0;do v=(p[T+(m<<3)>>2]|0)+v|0,m=m+1|0;while((m|0)<(M|0))}m=D,T=p[m>>2]|0,m=p[m+4>>2]|0,M=((v|0)<0)<<31>>31,(m|0)<(M|0)|(m|0)==(M|0)&T>>>0<v>>>0?(m=D,p[m>>2]=v,p[m+4>>2]=M,m=M):v=T,d=cn(v|0,m|0,12,0)|0,h=Me()|0,m=D,p[m>>2]=d,p[m+4>>2]=h,m=w,p[m>>2]=d,p[m+4>>2]=h,m=0}return h=m,Ie=l,h|0}function $e(_,m,v,w,T,M,D){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0,M=M|0,D=D|0;var l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0,re=0,ae=0,xe=0,De=0,me=0,Fe=0,He=0,We=0,it=0,Xe=0,et=0,ht=0,Rt=0,xt=0,Nt=0,rr=0,vr=0;if(Rt=Ie,Ie=Ie+64|0,it=Rt+48|0,Xe=Rt+32|0,et=Rt+24|0,xe=Rt+8|0,De=Rt,d=p[_>>2]|0,(d|0)<=0)return ht=0,Ie=Rt,ht|0;for(me=_+4|0,Fe=it+8|0,He=Xe+8|0,We=xe+8|0,l=0,re=0;;){h=p[me>>2]|0,Z=h+(re<<4)|0,p[it>>2]=p[Z>>2],p[it+4>>2]=p[Z+4>>2],p[it+8>>2]=p[Z+8>>2],p[it+12>>2]=p[Z+12>>2],(re|0)==(d+-1|0)?(p[Xe>>2]=p[h>>2],p[Xe+4>>2]=p[h+4>>2],p[Xe+8>>2]=p[h+8>>2],p[Xe+12>>2]=p[h+12>>2]):(Z=h+(re+1<<4)|0,p[Xe>>2]=p[Z>>2],p[Xe+4>>2]=p[Z+4>>2],p[Xe+8>>2]=p[Z+8>>2],p[Xe+12>>2]=p[Z+12>>2]),d=la(it,Xe,w,et)|0;e:do if(d)h=0,l=d;else if(h=et,d=p[h>>2]|0,h=p[h+4>>2]|0,(h|0)>0|(h|0)==0&d>>>0>0){te=0,Z=0;t:for(;;){if(vr=+le[it>>3],X=Hr(d|0,h|0,te|0,Z|0)|0,rr=+(X>>>0)+4294967296*+(Me()|0),xt=+(d>>>0)+4294967296*+(h|0),Nt=+(te>>>0)+4294967296*+(Z|0),le[xe>>3]=vr*rr/xt+ +le[Xe>>3]*Nt/xt,le[We>>3]=+le[Fe>>3]*rr/xt+ +le[He>>3]*Nt/xt,d=za(xe,w,De)|0,d|0){l=d;break}X=De,U=p[X>>2]|0,X=p[X+4>>2]|0,P=mo(U|0,X|0,m|0,v|0)|0,g=Me()|0,d=D+(P<<3)|0,C=d,h=p[C>>2]|0,C=p[C+4>>2]|0;r:do if((h|0)==0&(C|0)==0)ae=d,ht=16;else for(R=0,L=0;;){if((R|0)>(v|0)|(R|0)==(v|0)&L>>>0>m>>>0){l=1;break t}if((h|0)==(U|0)&(C|0)==(X|0))break r;if(d=cn(P|0,g|0,1,0)|0,P=Zi(d|0,Me()|0,m|0,v|0)|0,g=Me()|0,L=cn(L|0,R|0,1,0)|0,R=Me()|0,d=D+(P<<3)|0,C=d,h=p[C>>2]|0,C=p[C+4>>2]|0,(h|0)==0&(C|0)==0){ae=d,ht=16;break}}while(!1);if((ht|0)==16&&(ht=0,!((U|0)==0&(X|0)==0))&&(L=ae,p[L>>2]=U,p[L+4>>2]=X,L=M+(p[T>>2]<<3)|0,p[L>>2]=U,p[L+4>>2]=X,L=T,L=cn(p[L>>2]|0,p[L+4>>2]|0,1,0)|0,U=Me()|0,X=T,p[X>>2]=L,p[X+4>>2]=U),te=cn(te|0,Z|0,1,0)|0,Z=Me()|0,h=et,d=p[h>>2]|0,h=p[h+4>>2]|0,!((h|0)>(Z|0)|(h|0)==(Z|0)&d>>>0>te>>>0)){h=1;break e}}h=0}else h=1;while(!1);if(re=re+1|0,!h){ht=21;break}if(d=p[_>>2]|0,(re|0)>=(d|0)){l=0,ht=21;break}}return(ht|0)==21?(Ie=Rt,l|0):0}function At(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0,re=0,ae=0,xe=0,De=0,me=0,Fe=0,He=0,We=0,it=0,Xe=0,et=0,ht=0,Rt=0,xt=0,Nt=0,rr=0;if(rr=Ie,Ie=Ie+112|0,ht=rr+80|0,d=rr+72|0,Rt=rr,xt=rr+56|0,v|0)return Nt=15,Ie=rr,Nt|0;if(h=_+8|0,Nt=Vn((p[h>>2]<<5)+32|0)|0,!Nt)return Nt=13,Ie=rr,Nt|0;if(df(_,Nt),Xe=_,et=p[Xe+4>>2]|0,v=d,p[v>>2]=p[Xe>>2],p[v+4>>2]=et,fs(d,ht),v=ko(ht,m,Rt)|0,v)Xe=0,et=0;else{if(v=p[d>>2]|0,M=p[h>>2]|0,(M|0)>0){D=p[_+12>>2]|0,T=0;do v=(p[D+(T<<3)>>2]|0)+v|0,T=T+1|0;while((T|0)!=(M|0));T=v}else T=v;v=Rt,M=p[v>>2]|0,v=p[v+4>>2]|0,D=((T|0)<0)<<31>>31,(v|0)<(D|0)|(v|0)==(D|0)&M>>>0<T>>>0?(v=Rt,p[v>>2]=T,p[v+4>>2]=D,v=D):T=M,Xe=cn(T|0,v|0,12,0)|0,et=Me()|0,v=Rt,p[v>>2]=Xe,p[v+4>>2]=et,v=0}if(v|0)return Dr(Nt),Nt=v,Ie=rr,Nt|0;if(T=eo(Xe,8)|0,!T)return Dr(Nt),Nt=13,Ie=rr,Nt|0;if(l=eo(Xe,8)|0,!l)return Dr(Nt),Dr(T),Nt=13,Ie=rr,Nt|0;We=ht,p[We>>2]=0,p[We+4>>2]=0,We=_,it=p[We+4>>2]|0,v=d,p[v>>2]=p[We>>2],p[v+4>>2]=it,v=$e(d,Xe,et,m,ht,T,l)|0;e:do if(v)Dr(T),Dr(l),Dr(Nt);else{t:do if((p[h>>2]|0)>0){for(D=_+12|0,M=0;v=$e((p[D>>2]|0)+(M<<3)|0,Xe,et,m,ht,T,l)|0,M=M+1|0,!(v|0);)if((M|0)>=(p[h>>2]|0))break t;Dr(T),Dr(l),Dr(Nt);break e}while(!1);(et|0)>0|(et|0)==0&Xe>>>0>0&&Ko(l|0,0,Xe<<3|0)|0,it=ht,We=p[it+4>>2]|0;t:do if((We|0)>0|(We|0)==0&(p[it>>2]|0)>>>0>0){me=T,Fe=l,He=T,We=l,it=T,v=T,ae=T,xe=l,De=l,T=l;r:for(;;){for(X=0,te=0,Z=0,re=0,M=0,D=0;;){l=Rt,d=l+56|0;do p[l>>2]=0,l=l+4|0;while((l|0)<(d|0));if(m=me+(X<<3)|0,h=p[m>>2]|0,m=p[m+4>>2]|0,Ui(h,m,1,Rt,0)|0){l=Rt,d=l+56|0;do p[l>>2]=0,l=l+4|0;while((l|0)<(d|0));l=eo(7,4)|0,l|0&&(Ps(h,m,1,Rt,l,7,0,0)|0,Dr(l))}for(U=0;;){L=Rt+(U<<3)|0,R=p[L>>2]|0,L=p[L+4>>2]|0;n:do if((R|0)==0&(L|0)==0)l=M,d=D;else{if(g=mo(R|0,L|0,Xe|0,et|0)|0,h=Me()|0,l=w+(g<<3)|0,m=l,d=p[m>>2]|0,m=p[m+4>>2]|0,!((d|0)==0&(m|0)==0)){C=0,P=0;do{if((C|0)>(et|0)|(C|0)==(et|0)&P>>>0>Xe>>>0)break r;if((d|0)==(R|0)&(m|0)==(L|0)){l=M,d=D;break n}l=cn(g|0,h|0,1,0)|0,g=Zi(l|0,Me()|0,Xe|0,et|0)|0,h=Me()|0,P=cn(P|0,C|0,1,0)|0,C=Me()|0,l=w+(g<<3)|0,m=l,d=p[m>>2]|0,m=p[m+4>>2]|0}while(!((d|0)==0&(m|0)==0))}(R|0)==0&(L|0)==0?(l=M,d=D):(Cc(R,L,xt)|0,Kt(_,Nt,xt)|0&&(P=cn(M|0,D|0,1,0)|0,D=Me()|0,C=l,p[C>>2]=R,p[C+4>>2]=L,M=Fe+(M<<3)|0,p[M>>2]=R,p[M+4>>2]=L,M=P),l=M,d=D)}while(!1);if(U=U+1|0,U>>>0>=7)break;M=l,D=d}if(X=cn(X|0,te|0,1,0)|0,te=Me()|0,Z=cn(Z|0,re|0,1,0)|0,re=Me()|0,D=ht,M=p[D>>2]|0,D=p[D+4>>2]|0,(re|0)<(D|0)|(re|0)==(D|0)&Z>>>0<M>>>0)M=l,D=d;else break}if((D|0)>0|(D|0)==0&M>>>0>0){M=0,D=0;do re=me+(M<<3)|0,p[re>>2]=0,p[re+4>>2]=0,M=cn(M|0,D|0,1,0)|0,D=Me()|0,re=ht,Z=p[re+4>>2]|0;while((D|0)<(Z|0)|((D|0)==(Z|0)?M>>>0<(p[re>>2]|0)>>>0:0))}if(re=ht,p[re>>2]=l,p[re+4>>2]=d,(d|0)>0|(d|0)==0&l>>>0>0)U=T,X=De,te=it,Z=xe,re=Fe,T=ae,De=v,xe=He,ae=U,v=X,it=We,We=te,He=Z,Fe=me,me=re;else break t}Dr(He),Dr(We),Dr(Nt),v=1;break e}else v=l;while(!1);Dr(Nt),Dr(T),Dr(v),v=0}while(!1);return Nt=v,Ie=rr,Nt|0}function Ht(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0;if(g=Ie,Ie=Ie+176|0,d=g,(m|0)<1)return ma(v,0,0),h=0,Ie=g,h|0;for(l=_,l=jt(p[l>>2]|0,p[l+4>>2]|0,52)|0,Me()|0,ma(v,(m|0)>6?m:6,l&15),l=0;w=_+(l<<3)|0,w=Ec(p[w>>2]|0,p[w+4>>2]|0,d)|0,!(w|0);){if(w=p[d>>2]|0,(w|0)>0){D=0;do M=d+8+(D<<4)|0,D=D+1|0,w=d+8+(((D|0)%(w|0)|0)<<4)|0,T=_r(v,w,M)|0,T?Yi(v,T)|0:bl(v,M,w)|0,w=p[d>>2]|0;while((D|0)<(w|0))}if(l=l+1|0,(l|0)>=(m|0)){w=0,h=13;break}}return(h|0)==13?(Ie=g,w|0):(Jo(v),h=w,Ie=g,h|0)}function gr(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0;if(M=Ie,Ie=Ie+32|0,w=M,T=M+16|0,_=Ht(_,m,T)|0,_|0)return v=_,Ie=M,v|0;if(p[v>>2]=0,p[v+4>>2]=0,p[v+8>>2]=0,_=Qs(T)|0,_|0)do{m=$A(v)|0;do WA(m,_)|0,D=_+16|0,p[w>>2]=p[D>>2],p[w+4>>2]=p[D+4>>2],p[w+8>>2]=p[D+8>>2],p[w+12>>2]=p[D+12>>2],Yi(T,_)|0,_=or(T,w)|0;while(_|0);_=Qs(T)|0}while(_|0);return Jo(T),_=vl(v)|0,_?(Ic(v),D=_,Ie=M,D|0):(D=0,Ie=M,D|0)}function wr(_){return _=_|0,_>>>0>121?(_=0,_|0):(_=p[7696+(_*28|0)+16>>2]|0,_|0)}function ni(_){return _=_|0,(_|0)==4|(_|0)==117|0}function Ii(_){return _=_|0,p[11120+((p[_>>2]|0)*216|0)+((p[_+4>>2]|0)*72|0)+((p[_+8>>2]|0)*24|0)+(p[_+12>>2]<<3)>>2]|0}function zi(_){return _=_|0,p[11120+((p[_>>2]|0)*216|0)+((p[_+4>>2]|0)*72|0)+((p[_+8>>2]|0)*24|0)+(p[_+12>>2]<<3)+4>>2]|0}function Js(_,m){_=_|0,m=m|0,_=7696+(_*28|0)|0,p[m>>2]=p[_>>2],p[m+4>>2]=p[_+4>>2],p[m+8>>2]=p[_+8>>2],p[m+12>>2]=p[_+12>>2]}function vh(_,m){_=_|0,m=m|0;var v=0,w=0;if(m>>>0>20)return m=-1,m|0;do if((p[11120+(m*216|0)>>2]|0)!=(_|0))if((p[11120+(m*216|0)+8>>2]|0)!=(_|0))if((p[11120+(m*216|0)+16>>2]|0)!=(_|0))if((p[11120+(m*216|0)+24>>2]|0)!=(_|0))if((p[11120+(m*216|0)+32>>2]|0)!=(_|0))if((p[11120+(m*216|0)+40>>2]|0)!=(_|0))if((p[11120+(m*216|0)+48>>2]|0)!=(_|0))if((p[11120+(m*216|0)+56>>2]|0)!=(_|0))if((p[11120+(m*216|0)+64>>2]|0)!=(_|0))if((p[11120+(m*216|0)+72>>2]|0)!=(_|0))if((p[11120+(m*216|0)+80>>2]|0)!=(_|0))if((p[11120+(m*216|0)+88>>2]|0)!=(_|0))if((p[11120+(m*216|0)+96>>2]|0)!=(_|0))if((p[11120+(m*216|0)+104>>2]|0)!=(_|0))if((p[11120+(m*216|0)+112>>2]|0)!=(_|0))if((p[11120+(m*216|0)+120>>2]|0)!=(_|0))if((p[11120+(m*216|0)+128>>2]|0)!=(_|0))if((p[11120+(m*216|0)+136>>2]|0)==(_|0))_=2,v=1,w=2;else{if((p[11120+(m*216|0)+144>>2]|0)==(_|0)){_=0,v=2,w=0;break}if((p[11120+(m*216|0)+152>>2]|0)==(_|0)){_=0,v=2,w=1;break}if((p[11120+(m*216|0)+160>>2]|0)==(_|0)){_=0,v=2,w=2;break}if((p[11120+(m*216|0)+168>>2]|0)==(_|0)){_=1,v=2,w=0;break}if((p[11120+(m*216|0)+176>>2]|0)==(_|0)){_=1,v=2,w=1;break}if((p[11120+(m*216|0)+184>>2]|0)==(_|0)){_=1,v=2,w=2;break}if((p[11120+(m*216|0)+192>>2]|0)==(_|0)){_=2,v=2,w=0;break}if((p[11120+(m*216|0)+200>>2]|0)==(_|0)){_=2,v=2,w=1;break}if((p[11120+(m*216|0)+208>>2]|0)==(_|0)){_=2,v=2,w=2;break}else _=-1;return _|0}else _=2,v=1,w=1;else _=2,v=1,w=0;else _=1,v=1,w=2;else _=1,v=1,w=1;else _=1,v=1,w=0;else _=0,v=1,w=2;else _=0,v=1,w=1;else _=0,v=1,w=0;else _=2,v=0,w=2;else _=2,v=0,w=1;else _=2,v=0,w=0;else _=1,v=0,w=2;else _=1,v=0,w=1;else _=1,v=0,w=0;else _=0,v=0,w=2;else _=0,v=0,w=1;else _=0,v=0,w=0;while(!1);return m=p[11120+(m*216|0)+(v*72|0)+(_*24|0)+(w<<3)+4>>2]|0,m|0}function sf(_,m){return _=_|0,m=m|0,(p[7696+(_*28|0)+20>>2]|0)==(m|0)?(m=1,m|0):(m=(p[7696+(_*28|0)+24>>2]|0)==(m|0),m|0)}function ca(_,m){return _=_|0,m=m|0,p[848+(_*28|0)+(m<<2)>>2]|0}function ll(_,m){return _=_|0,m=m|0,(p[848+(_*28|0)>>2]|0)==(m|0)?(m=0,m|0):(p[848+(_*28|0)+4>>2]|0)==(m|0)?(m=1,m|0):(p[848+(_*28|0)+8>>2]|0)==(m|0)?(m=2,m|0):(p[848+(_*28|0)+12>>2]|0)==(m|0)?(m=3,m|0):(p[848+(_*28|0)+16>>2]|0)==(m|0)?(m=4,m|0):(p[848+(_*28|0)+20>>2]|0)==(m|0)?(m=5,m|0):((p[848+(_*28|0)+24>>2]|0)==(m|0)?6:7)|0}function ul(){return 122}function bh(_){_=_|0;var m=0,v=0,w=0;m=0;do Zt(m|0,0,45)|0,w=Me()|0|134225919,v=_+(m<<3)|0,p[v>>2]=-1,p[v+4>>2]=w,m=m+1|0;while((m|0)!=122);return 0}function fl(_){return _=_|0,+le[_+16>>3]<+le[_+24>>3]|0}function Rs(_,m){_=_|0,m=m|0;var v=0,w=0,T=0;return v=+le[m>>3],!(v>=+le[_+8>>3])||!(v<=+le[_>>3])?(m=0,m|0):(w=+le[_+16>>3],v=+le[_+24>>3],T=+le[m+8>>3],m=T>=v,_=T<=w&1,w<v?m&&(_=1):m||(_=0),m=(_|0)!=0,m|0)}function ko(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0;L=Ie,Ie=Ie+288|0,g=L+264|0,C=L+96|0,h=L,l=h,d=l+96|0;do p[l>>2]=0,l=l+4|0;while((l|0)<(d|0));return m=pl(m,h)|0,m|0?(R=m,Ie=L,R|0):(d=h,h=p[d>>2]|0,d=p[d+4>>2]|0,Cc(h,d,g)|0,Ec(h,d,C)|0,D=+ja(g,C+8|0),le[g>>3]=+le[_>>3],d=g+8|0,le[d>>3]=+le[_+16>>3],le[C>>3]=+le[_+8>>3],h=C+8|0,le[h>>3]=+le[_+24>>3],T=+ja(g,C),X=+le[d>>3]-+le[h>>3],M=+It(+X),U=+le[g>>3]-+le[C>>3],w=+It(+U),!(X==0|U==0)&&(X=+Rc(+M,+w),X=+zr(+(T*T/+xl(+(X/+xl(+M,+w)),3)/(D*(D*2.59807621135)*.8))),le[vt>>3]=X,P=~~X>>>0,R=+It(X)>=1?X>0?~~+Lr(+Ct(X/4294967296),4294967295)>>>0:~~+zr((X-+(~~X>>>0))/4294967296)>>>0:0,(p[vt+4>>2]&2146435072|0)!=2146435072)?(C=(P|0)==0&(R|0)==0,m=v,p[m>>2]=C?1:P,p[m+4>>2]=C?0:R,m=0):m=1,R=m,Ie=L,R|0)}function la(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0,g=0;h=Ie,Ie=Ie+288|0,D=h+264|0,l=h+96|0,d=h,T=d,M=T+96|0;do p[T>>2]=0,T=T+4|0;while((T|0)<(M|0));return v=pl(v,d)|0,v|0?(w=v,Ie=h,w|0):(v=d,T=p[v>>2]|0,v=p[v+4>>2]|0,Cc(T,v,D)|0,Ec(T,v,l)|0,g=+ja(D,l+8|0),g=+zr(+(+ja(_,m)/(g*2))),le[vt>>3]=g,v=~~g>>>0,T=+It(g)>=1?g>0?~~+Lr(+Ct(g/4294967296),4294967295)>>>0:~~+zr((g-+(~~g>>>0))/4294967296)>>>0:0,(p[vt+4>>2]&2146435072|0)==2146435072?(w=1,Ie=h,w|0):(d=(v|0)==0&(T|0)==0,p[w>>2]=d?1:v,p[w+4>>2]=d?0:T,w=0,Ie=h,w|0))}function Fa(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0,p[_>>2]=m,p[_+4>>2]=v,p[_+8>>2]=w}function ua(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0;C=m+8|0,p[C>>2]=0,d=+le[_>>3],D=+It(+d),h=+le[_+8>>3],l=+It(+h)/.8660254037844386,D=D+l*.5,v=~~D,_=~~l,D=D-+(v|0),l=l-+(_|0);do if(D<.5)if(D<.3333333333333333)if(p[m>>2]=v,l<(D+1)*.5){p[m+4>>2]=_;break}else{_=_+1|0,p[m+4>>2]=_;break}else if(P=1-D,_=(!(l<P)&1)+_|0,p[m+4>>2]=_,P<=l&l<D*2){v=v+1|0,p[m>>2]=v;break}else{p[m>>2]=v;break}else{if(!(D<.6666666666666666))if(v=v+1|0,p[m>>2]=v,l<D*.5){p[m+4>>2]=_;break}else{_=_+1|0,p[m+4>>2]=_;break}if(l<1-D){if(p[m+4>>2]=_,D*2+-1<l){p[m>>2]=v;break}}else _=_+1|0,p[m+4>>2]=_;v=v+1|0,p[m>>2]=v}while(!1);do if(d<0)if(_&1){g=(_+1|0)/2|0,g=Hr(v|0,((v|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0,v=~~(+(v|0)-((+(g>>>0)+4294967296*+(Me()|0))*2+1)),p[m>>2]=v;break}else{g=(_|0)/2|0,g=Hr(v|0,((v|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0,v=~~(+(v|0)-(+(g>>>0)+4294967296*+(Me()|0))*2),p[m>>2]=v;break}while(!1);g=m+4|0,h<0&&(v=v-((_<<1|1|0)/2|0)|0,p[m>>2]=v,_=0-_|0,p[g>>2]=_),w=_-v|0,(v|0)<0?(T=0-v|0,p[g>>2]=w,p[C>>2]=T,p[m>>2]=0,_=w,v=0):T=0,(_|0)<0&&(v=v-_|0,p[m>>2]=v,T=T-_|0,p[C>>2]=T,p[g>>2]=0,_=0),M=v-T|0,w=_-T|0,(T|0)<0&&(p[m>>2]=M,p[g>>2]=w,p[C>>2]=0,_=w,v=M,T=0),w=(_|0)<(v|0)?_:v,w=(T|0)<(w|0)?T:w,!((w|0)<=0)&&(p[m>>2]=v-w,p[g>>2]=_-w,p[C>>2]=T-w)}function hi(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0;m=p[_>>2]|0,D=_+4|0,v=p[D>>2]|0,(m|0)<0&&(v=v-m|0,p[D>>2]=v,M=_+8|0,p[M>>2]=(p[M>>2]|0)-m,p[_>>2]=0,m=0),(v|0)<0?(m=m-v|0,p[_>>2]=m,M=_+8|0,T=(p[M>>2]|0)-v|0,p[M>>2]=T,p[D>>2]=0,v=0):(T=_+8|0,M=T,T=p[T>>2]|0),(T|0)<0&&(m=m-T|0,p[_>>2]=m,v=v-T|0,p[D>>2]=v,p[M>>2]=0,T=0),w=(v|0)<(m|0)?v:m,w=(T|0)<(w|0)?T:w,!((w|0)<=0)&&(p[_>>2]=m-w,p[D>>2]=v-w,p[M>>2]=T-w)}function xo(_,m){_=_|0,m=m|0;var v=0,w=0;w=p[_+8>>2]|0,v=+((p[_+4>>2]|0)-w|0),le[m>>3]=+((p[_>>2]|0)-w|0)-v*.5,le[m+8>>3]=v*.8660254037844386}function Ln(_,m,v){_=_|0,m=m|0,v=v|0,p[v>>2]=(p[m>>2]|0)+(p[_>>2]|0),p[v+4>>2]=(p[m+4>>2]|0)+(p[_+4>>2]|0),p[v+8>>2]=(p[m+8>>2]|0)+(p[_+8>>2]|0)}function ii(_,m,v){_=_|0,m=m|0,v=v|0,p[v>>2]=(p[_>>2]|0)-(p[m>>2]|0),p[v+4>>2]=(p[_+4>>2]|0)-(p[m+4>>2]|0),p[v+8>>2]=(p[_+8>>2]|0)-(p[m+8>>2]|0)}function Da(_,m){_=_|0,m=m|0;var v=0,w=0;v=Gr(p[_>>2]|0,m)|0,p[_>>2]=v,v=_+4|0,w=Gr(p[v>>2]|0,m)|0,p[v>>2]=w,_=_+8|0,m=Gr(p[_>>2]|0,m)|0,p[_>>2]=m}function hl(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;D=p[_>>2]|0,l=(D|0)<0,w=(p[_+4>>2]|0)-(l?D:0)|0,M=(w|0)<0,T=(M?0-w|0:0)+((p[_+8>>2]|0)-(l?D:0))|0,v=(T|0)<0,_=v?0:T,m=(M?0:w)-(v?T:0)|0,T=(l?0:D)-(M?w:0)-(v?T:0)|0,v=(m|0)<(T|0)?m:T,v=(_|0)<(v|0)?_:v,w=(v|0)>0,_=_-(w?v:0)|0,m=m-(w?v:0)|0;e:do switch(T-(w?v:0)|0){case 0:switch(m|0){case 0:return l=_|0?(_|0)==1?1:7:0,l|0;case 1:return l=_|0?(_|0)==1?3:7:2,l|0;default:break e}case 1:switch(m|0){case 0:return l=_|0?(_|0)==1?5:7:4,l|0;case 1:{if(!_)_=6;else break e;return _|0}default:break e}}while(!1);return l=7,l|0}function zA(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;D=_+8|0,T=p[D>>2]|0,M=(p[_>>2]|0)-T|0,l=_+4|0,T=(p[l>>2]|0)-T|0;do if(M>>>0>715827881|T>>>0>715827881){if(v=(M|0)>0,v){if((2147483647-M|0)<(M|0)||(2147483647-(M<<1)|0)<(M|0))return l=1,l|0}else if((-2147483648-M|0)>(M|0)||(-2147483648-(M<<1)|0)>(M|0))return l=1,l|0;if(m=M*3|0,(T|0)>0){if((2147483647-T|0)<(T|0))return l=1,l|0}else if((-2147483648-T|0)>(T|0))return l=1,l|0;if(w=T<<1,(M|0)>-1){if((m|-2147483648|0)>=(T|0))return l=1,l|0}else if((m^-2147483648|0)<(T|0))return l=1,l|0;if(v){if((2147483647-M|0)<(w|0))m=1;else{v=w;break}return m|0}else{if((-2147483648-M|0)>(w|0))m=1;else{v=w;break}return m|0}}else v=T<<1,m=M*3|0;while(!1);w=Vi(+(m-T|0)/7)|0,p[_>>2]=w,T=Vi(+(v+M|0)/7)|0,p[l>>2]=T,p[D>>2]=0,v=(T|0)<(w|0),m=v?w:T,v=v?T:w;do if((v|0)<0){if((m|0)>0){if((m|-2147483648|0)<(v|0)&((v|0)!=-2147483648&(2147483647-m|0)>=(v|0)))break;Wt(23313,22444,355,22455)}if((v|0)==-2147483648|(-2147483648-m|0)>(v|0)&&Wt(23313,22444,355,22455),(m|0)>-1){if((m|-2147483648|0)<(v|0))break;Wt(23313,22444,355,22455)}else{if((m^-2147483648|0)>=(v|0))break;Wt(23313,22444,355,22455)}}while(!1);return m=T-w|0,(w|0)<0?(v=0-w|0,p[l>>2]=m,p[D>>2]=v,p[_>>2]=0,w=0):(m=T,v=0),(m|0)<0&&(w=w-m|0,p[_>>2]=w,v=v-m|0,p[D>>2]=v,p[l>>2]=0,m=0),M=w-v|0,T=m-v|0,(v|0)<0?(p[_>>2]=M,p[l>>2]=T,p[D>>2]=0,m=T,T=M,v=0):T=w,w=(m|0)<(T|0)?m:T,w=(v|0)<(w|0)?v:w,(w|0)<=0?(l=0,l|0):(p[_>>2]=T-w,p[l>>2]=m-w,p[D>>2]=v-w,l=0,l|0)}function GA(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;D=_+8|0,T=p[D>>2]|0,M=(p[_>>2]|0)-T|0,l=_+4|0,T=(p[l>>2]|0)-T|0;do if(M>>>0>715827881|T>>>0>715827881){if(v=(M|0)>0,v){if((2147483647-M|0)<(M|0))return l=1,l|0}else if((-2147483648-M|0)>(M|0))return l=1,l|0;if(m=M<<1,(T|0)>0){if((2147483647-T|0)<(T|0)||(2147483647-(T<<1)|0)<(T|0))return l=1,l|0}else if((-2147483648-T|0)>(T|0)||(-2147483648-(T<<1)|0)>(T|0))return l=1,l|0;if(w=T*3|0,v){if((2147483647-m|0)<(T|0))return l=1,l|0}else if((-2147483648-m|0)>(T|0))return l=1,l|0;if((T|0)>-1){if((w|-2147483648|0)<(M|0)){v=w;break}else m=1;return m|0}else{if((w^-2147483648|0)<(M|0))m=1;else{v=w;break}return m|0}}else v=T*3|0,m=M<<1;while(!1);w=Vi(+(m+T|0)/7)|0,p[_>>2]=w,T=Vi(+(v-M|0)/7)|0,p[l>>2]=T,p[D>>2]=0,v=(T|0)<(w|0),m=v?w:T,v=v?T:w;do if((v|0)<0){if((m|0)>0){if((m|-2147483648|0)<(v|0)&((v|0)!=-2147483648&(2147483647-m|0)>=(v|0)))break;Wt(23313,22444,404,22469)}if((v|0)==-2147483648|(-2147483648-m|0)>(v|0)&&Wt(23313,22444,404,22469),(m|0)>-1){if((m|-2147483648|0)<(v|0))break;Wt(23313,22444,404,22469)}else{if((m^-2147483648|0)>=(v|0))break;Wt(23313,22444,404,22469)}}while(!1);return m=T-w|0,(w|0)<0?(v=0-w|0,p[l>>2]=m,p[D>>2]=v,p[_>>2]=0,w=0):(m=T,v=0),(m|0)<0&&(w=w-m|0,p[_>>2]=w,v=v-m|0,p[D>>2]=v,p[l>>2]=0,m=0),M=w-v|0,T=m-v|0,(v|0)<0?(p[_>>2]=M,p[l>>2]=T,p[D>>2]=0,m=T,T=M,v=0):T=w,w=(m|0)<(T|0)?m:T,w=(v|0)<(w|0)?v:w,(w|0)<=0?(l=0,l|0):(p[_>>2]=T-w,p[l>>2]=m-w,p[D>>2]=v-w,l=0,l|0)}function of(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;D=_+8|0,v=p[D>>2]|0,m=(p[_>>2]|0)-v|0,l=_+4|0,v=(p[l>>2]|0)-v|0,w=Vi(+((m*3|0)-v|0)/7)|0,p[_>>2]=w,m=Vi(+((v<<1)+m|0)/7)|0,p[l>>2]=m,p[D>>2]=0,v=m-w|0,(w|0)<0?(M=0-w|0,p[l>>2]=v,p[D>>2]=M,p[_>>2]=0,m=v,w=0,v=M):v=0,(m|0)<0&&(w=w-m|0,p[_>>2]=w,v=v-m|0,p[D>>2]=v,p[l>>2]=0,m=0),M=w-v|0,T=m-v|0,(v|0)<0?(p[_>>2]=M,p[l>>2]=T,p[D>>2]=0,m=T,T=M,v=0):T=w,w=(m|0)<(T|0)?m:T,w=(v|0)<(w|0)?v:w,!((w|0)<=0)&&(p[_>>2]=T-w,p[l>>2]=m-w,p[D>>2]=v-w)}function Kl(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;D=_+8|0,v=p[D>>2]|0,m=(p[_>>2]|0)-v|0,l=_+4|0,v=(p[l>>2]|0)-v|0,w=Vi(+((m<<1)+v|0)/7)|0,p[_>>2]=w,m=Vi(+((v*3|0)-m|0)/7)|0,p[l>>2]=m,p[D>>2]=0,v=m-w|0,(w|0)<0?(M=0-w|0,p[l>>2]=v,p[D>>2]=M,p[_>>2]=0,m=v,w=0,v=M):v=0,(m|0)<0&&(w=w-m|0,p[_>>2]=w,v=v-m|0,p[D>>2]=v,p[l>>2]=0,m=0),M=w-v|0,T=m-v|0,(v|0)<0?(p[_>>2]=M,p[l>>2]=T,p[D>>2]=0,m=T,T=M,v=0):T=w,w=(m|0)<(T|0)?m:T,w=(v|0)<(w|0)?v:w,!((w|0)<=0)&&(p[_>>2]=T-w,p[l>>2]=m-w,p[D>>2]=v-w)}function vc(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;m=p[_>>2]|0,D=_+4|0,v=p[D>>2]|0,l=_+8|0,w=p[l>>2]|0,T=v+(m*3|0)|0,p[_>>2]=T,v=w+(v*3|0)|0,p[D>>2]=v,m=(w*3|0)+m|0,p[l>>2]=m,w=v-T|0,(T|0)<0?(m=m-T|0,p[D>>2]=w,p[l>>2]=m,p[_>>2]=0,v=w,w=0):w=T,(v|0)<0&&(w=w-v|0,p[_>>2]=w,m=m-v|0,p[l>>2]=m,p[D>>2]=0,v=0),M=w-m|0,T=v-m|0,(m|0)<0?(p[_>>2]=M,p[D>>2]=T,p[l>>2]=0,w=M,m=0):T=v,v=(T|0)<(w|0)?T:w,v=(m|0)<(v|0)?m:v,!((v|0)<=0)&&(p[_>>2]=w-v,p[D>>2]=T-v,p[l>>2]=m-v)}function Uo(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;T=p[_>>2]|0,D=_+4|0,m=p[D>>2]|0,l=_+8|0,v=p[l>>2]|0,w=(m*3|0)+T|0,T=v+(T*3|0)|0,p[_>>2]=T,p[D>>2]=w,m=(v*3|0)+m|0,p[l>>2]=m,v=w-T|0,(T|0)<0?(m=m-T|0,p[D>>2]=v,p[l>>2]=m,p[_>>2]=0,T=0):v=w,(v|0)<0&&(T=T-v|0,p[_>>2]=T,m=m-v|0,p[l>>2]=m,p[D>>2]=0,v=0),M=T-m|0,w=v-m|0,(m|0)<0?(p[_>>2]=M,p[D>>2]=w,p[l>>2]=0,T=M,m=0):w=v,v=(w|0)<(T|0)?w:T,v=(m|0)<(v|0)?m:v,!((v|0)<=0)&&(p[_>>2]=T-v,p[D>>2]=w-v,p[l>>2]=m-v)}function af(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0,l=0;(m+-1|0)>>>0>=6||(T=(p[15440+(m*12|0)>>2]|0)+(p[_>>2]|0)|0,p[_>>2]=T,l=_+4|0,w=(p[15440+(m*12|0)+4>>2]|0)+(p[l>>2]|0)|0,p[l>>2]=w,D=_+8|0,m=(p[15440+(m*12|0)+8>>2]|0)+(p[D>>2]|0)|0,p[D>>2]=m,v=w-T|0,(T|0)<0?(m=m-T|0,p[l>>2]=v,p[D>>2]=m,p[_>>2]=0,w=0):(v=w,w=T),(v|0)<0&&(w=w-v|0,p[_>>2]=w,m=m-v|0,p[D>>2]=m,p[l>>2]=0,v=0),M=w-m|0,T=v-m|0,(m|0)<0?(p[_>>2]=M,p[l>>2]=T,p[D>>2]=0,w=M,m=0):T=v,v=(T|0)<(w|0)?T:w,v=(m|0)<(v|0)?m:v,!((v|0)<=0)&&(p[_>>2]=w-v,p[l>>2]=T-v,p[D>>2]=m-v))}function cf(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;T=p[_>>2]|0,D=_+4|0,m=p[D>>2]|0,l=_+8|0,v=p[l>>2]|0,w=m+T|0,T=v+T|0,p[_>>2]=T,p[D>>2]=w,m=v+m|0,p[l>>2]=m,v=w-T|0,(T|0)<0?(m=m-T|0,p[D>>2]=v,p[l>>2]=m,p[_>>2]=0,w=0):(v=w,w=T),(v|0)<0&&(w=w-v|0,p[_>>2]=w,m=m-v|0,p[l>>2]=m,p[D>>2]=0,v=0),M=w-m|0,T=v-m|0,(m|0)<0?(p[_>>2]=M,p[D>>2]=T,p[l>>2]=0,w=M,m=0):T=v,v=(T|0)<(w|0)?T:w,v=(m|0)<(v|0)?m:v,!((v|0)<=0)&&(p[_>>2]=w-v,p[D>>2]=T-v,p[l>>2]=m-v)}function ql(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;m=p[_>>2]|0,D=_+4|0,w=p[D>>2]|0,l=_+8|0,v=p[l>>2]|0,T=w+m|0,p[_>>2]=T,w=v+w|0,p[D>>2]=w,m=v+m|0,p[l>>2]=m,v=w-T|0,(T|0)<0?(m=m-T|0,p[D>>2]=v,p[l>>2]=m,p[_>>2]=0,w=0):(v=w,w=T),(v|0)<0&&(w=w-v|0,p[_>>2]=w,m=m-v|0,p[l>>2]=m,p[D>>2]=0,v=0),M=w-m|0,T=v-m|0,(m|0)<0?(p[_>>2]=M,p[D>>2]=T,p[l>>2]=0,w=M,m=0):T=v,v=(T|0)<(w|0)?T:w,v=(m|0)<(v|0)?m:v,!((v|0)<=0)&&(p[_>>2]=w-v,p[D>>2]=T-v,p[l>>2]=m-v)}function Ao(_){switch(_=_|0,_|0){case 1:{_=5;break}case 5:{_=4;break}case 4:{_=6;break}case 6:{_=2;break}case 2:{_=3;break}case 3:{_=1;break}}return _|0}function Xs(_){switch(_=_|0,_|0){case 1:{_=3;break}case 3:{_=2;break}case 2:{_=6;break}case 6:{_=4;break}case 4:{_=5;break}case 5:{_=1;break}}return _|0}function lf(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;m=p[_>>2]|0,D=_+4|0,v=p[D>>2]|0,l=_+8|0,w=p[l>>2]|0,T=v+(m<<1)|0,p[_>>2]=T,v=w+(v<<1)|0,p[D>>2]=v,m=(w<<1)+m|0,p[l>>2]=m,w=v-T|0,(T|0)<0?(m=m-T|0,p[D>>2]=w,p[l>>2]=m,p[_>>2]=0,v=w,w=0):w=T,(v|0)<0&&(w=w-v|0,p[_>>2]=w,m=m-v|0,p[l>>2]=m,p[D>>2]=0,v=0),M=w-m|0,T=v-m|0,(m|0)<0?(p[_>>2]=M,p[D>>2]=T,p[l>>2]=0,w=M,m=0):T=v,v=(T|0)<(w|0)?T:w,v=(m|0)<(v|0)?m:v,!((v|0)<=0)&&(p[_>>2]=w-v,p[D>>2]=T-v,p[l>>2]=m-v)}function Fi(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;T=p[_>>2]|0,D=_+4|0,m=p[D>>2]|0,l=_+8|0,v=p[l>>2]|0,w=(m<<1)+T|0,T=v+(T<<1)|0,p[_>>2]=T,p[D>>2]=w,m=(v<<1)+m|0,p[l>>2]=m,v=w-T|0,(T|0)<0?(m=m-T|0,p[D>>2]=v,p[l>>2]=m,p[_>>2]=0,T=0):v=w,(v|0)<0&&(T=T-v|0,p[_>>2]=T,m=m-v|0,p[l>>2]=m,p[D>>2]=0,v=0),M=T-m|0,w=v-m|0,(m|0)<0?(p[_>>2]=M,p[D>>2]=w,p[l>>2]=0,T=M,m=0):w=v,v=(w|0)<(T|0)?w:T,v=(m|0)<(v|0)?m:v,!((v|0)<=0)&&(p[_>>2]=T-v,p[D>>2]=w-v,p[l>>2]=m-v)}function dl(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0,l=0;return D=(p[_>>2]|0)-(p[m>>2]|0)|0,l=(D|0)<0,w=(p[_+4>>2]|0)-(p[m+4>>2]|0)-(l?D:0)|0,M=(w|0)<0,T=(l?0-D|0:0)+(p[_+8>>2]|0)-(p[m+8>>2]|0)+(M?0-w|0:0)|0,_=(T|0)<0,m=_?0:T,v=(M?0:w)-(_?T:0)|0,T=(l?0:D)-(M?w:0)-(_?T:0)|0,_=(v|0)<(T|0)?v:T,_=(m|0)<(_|0)?m:_,w=(_|0)>0,m=m-(w?_:0)|0,v=v-(w?_:0)|0,_=T-(w?_:0)|0,_=(_|0)>-1?_:0-_|0,v=(v|0)>-1?v:0-v|0,m=(m|0)>-1?m:0-m|0,m=(v|0)>(m|0)?v:m,((_|0)>(m|0)?_:m)|0}function fa(_,m){_=_|0,m=m|0;var v=0;v=p[_+8>>2]|0,p[m>>2]=(p[_>>2]|0)-v,p[m+4>>2]=(p[_+4>>2]|0)-v}function ha(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0,l=0;w=p[_>>2]|0,p[m>>2]=w,T=p[_+4>>2]|0,D=m+4|0,p[D>>2]=T,l=m+8|0,p[l>>2]=0,v=(T|0)<(w|0),_=v?w:T,v=v?T:w;do if((v|0)<0){if((_|0)>0){if((_|-2147483648|0)<(v|0)&((v|0)!=-2147483648&(2147483647-_|0)>=(v|0)))break;return _=1,_|0}if((v|0)==-2147483648|(-2147483648-_|0)>(v|0))return m=1,m|0;if((_|0)>-1){if((_|-2147483648|0)<(v|0))break;return _=1,_|0}else{if((_^-2147483648|0)<(v|0))_=1;else break;return _|0}}while(!1);return _=T-w|0,(w|0)<0?(v=0-w|0,p[D>>2]=_,p[l>>2]=v,p[m>>2]=0,w=0):(_=T,v=0),(_|0)<0&&(w=w-_|0,p[m>>2]=w,v=v-_|0,p[l>>2]=v,p[D>>2]=0,_=0),M=w-v|0,T=_-v|0,(v|0)<0?(p[m>>2]=M,p[D>>2]=T,p[l>>2]=0,_=T,T=M,v=0):T=w,w=(_|0)<(T|0)?_:T,w=(v|0)<(w|0)?v:w,(w|0)<=0?(m=0,m|0):(p[m>>2]=T-w,p[D>>2]=_-w,p[l>>2]=v-w,m=0,m|0)}function da(_){_=_|0;var m=0,v=0,w=0,T=0;m=_+8|0,T=p[m>>2]|0,v=T-(p[_>>2]|0)|0,p[_>>2]=v,w=_+4|0,_=(p[w>>2]|0)-T|0,p[w>>2]=_,p[m>>2]=0-(_+v)}function Oa(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;v=p[_>>2]|0,m=0-v|0,p[_>>2]=m,D=_+8|0,p[D>>2]=0,l=_+4|0,w=p[l>>2]|0,T=w+v|0,(v|0)>0?(p[l>>2]=T,p[D>>2]=v,p[_>>2]=0,m=0,w=T):v=0,(w|0)<0?(M=m-w|0,p[_>>2]=M,v=v-w|0,p[D>>2]=v,p[l>>2]=0,T=M-v|0,m=0-v|0,(v|0)<0?(p[_>>2]=T,p[l>>2]=m,p[D>>2]=0,w=m,v=0):(w=0,T=M)):T=m,m=(w|0)<(T|0)?w:T,m=(v|0)<(m|0)?v:m,!((m|0)<=0)&&(p[_>>2]=T-m,p[l>>2]=w-m,p[D>>2]=v-m)}function Aa(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0,h=0,g=0,C=0;if(C=Ie,Ie=Ie+64|0,g=C,l=C+56|0,!(!0&(m&2013265920|0)==134217728&(!0&(w&2013265920|0)==134217728)))return T=5,Ie=C,T|0;if((_|0)==(v|0)&(m|0)==(w|0))return p[T>>2]=0,T=0,Ie=C,T|0;if(D=jt(_|0,m|0,52)|0,Me()|0,D=D&15,h=jt(v|0,w|0,52)|0,Me()|0,(D|0)!=(h&15|0))return T=12,Ie=C,T|0;if(M=D+-1|0,D>>>0>1){Ho(_,m,M,g)|0,Ho(v,w,M,l)|0,h=g,d=p[h>>2]|0,h=p[h+4>>2]|0;e:do if((d|0)==(p[l>>2]|0)&&(h|0)==(p[l+4>>2]|0)){D=(D^15)*3|0,M=jt(_|0,m|0,D|0)|0,Me()|0,M=M&7,D=jt(v|0,w|0,D|0)|0,Me()|0,D=D&7;do if((M|0)==0|(D|0)==0)p[T>>2]=1,M=0;else if((M|0)==7)M=5;else{if((M|0)==1|(D|0)==1&&Sn(d,h)|0){M=5;break}if((p[15536+(M<<2)>>2]|0)!=(D|0)&&(p[15568+(M<<2)>>2]|0)!=(D|0))break e;p[T>>2]=1,M=0}while(!1);return T=M,Ie=C,T|0}while(!1)}M=g,D=M+56|0;do p[M>>2]=0,M=M+4|0;while((M|0)<(D|0));return Bn(_,m,1,g)|0,m=g,!((p[m>>2]|0)==(v|0)&&(p[m+4>>2]|0)==(w|0))&&(m=g+8|0,!((p[m>>2]|0)==(v|0)&&(p[m+4>>2]|0)==(w|0)))&&(m=g+16|0,!((p[m>>2]|0)==(v|0)&&(p[m+4>>2]|0)==(w|0)))&&(m=g+24|0,!((p[m>>2]|0)==(v|0)&&(p[m+4>>2]|0)==(w|0)))&&(m=g+32|0,!((p[m>>2]|0)==(v|0)&&(p[m+4>>2]|0)==(w|0)))&&(m=g+40|0,!((p[m>>2]|0)==(v|0)&&(p[m+4>>2]|0)==(w|0)))?(M=g+48|0,M=((p[M>>2]|0)==(v|0)?(p[M+4>>2]|0)==(w|0):0)&1):M=1,p[T>>2]=M,T=0,Ie=C,T|0}function La(_,m,v,w,T){return _=_|0,m=m|0,v=v|0,w=w|0,T=T|0,v=cl(_,m,v,w)|0,(v|0)==7?(T=11,T|0):(w=Zt(v|0,0,56)|0,m=m&-2130706433|(Me()|0)|268435456,p[T>>2]=_|w,p[T+4>>2]=m,T=0,T|0)}function Na(_,m,v){return _=_|0,m=m|0,v=v|0,!0&(m&2013265920|0)==268435456?(p[v>>2]=_,p[v+4>>2]=m&-2130706433|134217728,v=0,v|0):(v=6,v|0)}function pa(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0;return T=Ie,Ie=Ie+16|0,w=T,p[w>>2]=0,!0&(m&2013265920|0)==268435456?(M=jt(_|0,m|0,56)|0,Me()|0,w=wn(_,m&-2130706433|134217728,M&7,w,v)|0,Ie=T,w|0):(w=6,Ie=T,w|0)}function xh(_,m){_=_|0,m=m|0;var v=0;switch(v=jt(_|0,m|0,56)|0,Me()|0,v&7){case 0:case 7:return v=0,v|0}return v=m&-2130706433|134217728,!(!0&(m&2013265920|0)==268435456)||!0&(m&117440512|0)==16777216&(Sn(_,v)|0)!=0?(v=0,v|0):(v=Vo(_,v)|0,v|0)}function wh(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0;return T=Ie,Ie=Ie+16|0,w=T,!0&(m&2013265920|0)==268435456?(M=m&-2130706433|134217728,D=v,p[D>>2]=_,p[D+4>>2]=M,p[w>>2]=0,m=jt(_|0,m|0,56)|0,Me()|0,w=wn(_,M,m&7,w,v+8|0)|0,Ie=T,w|0):(w=6,Ie=T,w|0)}function Cn(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0;return T=(Sn(_,m)|0)==0,m=m&-2130706433,w=v,p[w>>2]=T?_:0,p[w+4>>2]=T?m|285212672:0,w=v+8|0,p[w>>2]=_,p[w+4>>2]=m|301989888,w=v+16|0,p[w>>2]=_,p[w+4>>2]=m|318767104,w=v+24|0,p[w>>2]=_,p[w+4>>2]=m|335544320,w=v+32|0,p[w>>2]=_,p[w+4>>2]=m|352321536,v=v+40|0,p[v>>2]=_,p[v+4>>2]=m|369098752,0}function Yl(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0;return D=Ie,Ie=Ie+16|0,T=D,M=m&-2130706433|134217728,!0&(m&2013265920|0)==268435456?(w=jt(_|0,m|0,56)|0,Me()|0,w=go(_,M,w&7)|0,(w|0)==-1?(p[v>>2]=0,M=6,Ie=D,M|0):(Ga(_,M,T)|0&&Wt(23313,22484,282,22499),m=jt(_|0,m|0,52)|0,Me()|0,m=m&15,Sn(_,M)|0?zo(T,m,w,2,v):Ql(T,m,w,2,v),M=0,Ie=D,M|0)):(M=6,Ie=D,M|0)}function Zl(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0;w=Ie,Ie=Ie+16|0,T=w,Ch(_,m,v,T),ua(T,v+4|0),Ie=w}function Ch(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0;if(l=Ie,Ie=Ie+16|0,d=l,Eh(_,v,d),M=+Fr(+(1-+le[d>>3]*.5)),M<1e-16){p[w>>2]=0,p[w+4>>2]=0,p[w+8>>2]=0,p[w+12>>2]=0,Ie=l;return}if(d=p[v>>2]|0,T=+le[15920+(d*24|0)>>3],T=+Bc(T-+Bc(+hf(15600+(d<<4)|0,_))),Fs(m)|0?D=+Bc(T+-.3334731722518321):D=T,T=+zt(+M)/.381966011250105,(m|0)>0){_=0;do T=T*2.6457513110645907,_=_+1|0;while((_|0)!=(m|0))}M=+Dt(+D)*T,le[w>>3]=M,D=+St(+D)*T,le[w+8>>3]=D,Ie=l}function Eh(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0;if(M=Ie,Ie=Ie+32|0,T=M,mf(_,T),p[m>>2]=0,le[v>>3]=5,w=+_i(16400,T),w<+le[v>>3]&&(p[m>>2]=0,le[v>>3]=w),w=+_i(16424,T),w<+le[v>>3]&&(p[m>>2]=1,le[v>>3]=w),w=+_i(16448,T),w<+le[v>>3]&&(p[m>>2]=2,le[v>>3]=w),w=+_i(16472,T),w<+le[v>>3]&&(p[m>>2]=3,le[v>>3]=w),w=+_i(16496,T),w<+le[v>>3]&&(p[m>>2]=4,le[v>>3]=w),w=+_i(16520,T),w<+le[v>>3]&&(p[m>>2]=5,le[v>>3]=w),w=+_i(16544,T),w<+le[v>>3]&&(p[m>>2]=6,le[v>>3]=w),w=+_i(16568,T),w<+le[v>>3]&&(p[m>>2]=7,le[v>>3]=w),w=+_i(16592,T),w<+le[v>>3]&&(p[m>>2]=8,le[v>>3]=w),w=+_i(16616,T),w<+le[v>>3]&&(p[m>>2]=9,le[v>>3]=w),w=+_i(16640,T),w<+le[v>>3]&&(p[m>>2]=10,le[v>>3]=w),w=+_i(16664,T),w<+le[v>>3]&&(p[m>>2]=11,le[v>>3]=w),w=+_i(16688,T),w<+le[v>>3]&&(p[m>>2]=12,le[v>>3]=w),w=+_i(16712,T),w<+le[v>>3]&&(p[m>>2]=13,le[v>>3]=w),w=+_i(16736,T),w<+le[v>>3]&&(p[m>>2]=14,le[v>>3]=w),w=+_i(16760,T),w<+le[v>>3]&&(p[m>>2]=15,le[v>>3]=w),w=+_i(16784,T),w<+le[v>>3]&&(p[m>>2]=16,le[v>>3]=w),w=+_i(16808,T),w<+le[v>>3]&&(p[m>>2]=17,le[v>>3]=w),w=+_i(16832,T),w<+le[v>>3]&&(p[m>>2]=18,le[v>>3]=w),w=+_i(16856,T),!(w<+le[v>>3])){Ie=M;return}p[m>>2]=19,le[v>>3]=w,Ie=M}function bc(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0;if(M=+Wo(_),M<1e-16){m=15600+(m<<4)|0,p[T>>2]=p[m>>2],p[T+4>>2]=p[m+4>>2],p[T+8>>2]=p[m+8>>2],p[T+12>>2]=p[m+12>>2];return}if(D=+en(+ +le[_+8>>3],+ +le[_>>3]),(v|0)>0){_=0;do M=M/2.6457513110645907,_=_+1|0;while((_|0)!=(v|0))}w?(M=M/3,v=(Fs(v)|0)==0,M=+Jr(+((v?M:M/2.6457513110645907)*.381966011250105))):(M=+Jr(+(M*.381966011250105)),Fs(v)|0&&(D=+Bc(D+.3334731722518321))),ml(15600+(m<<4)|0,+Bc(+le[15920+(m*24|0)>>3]-D),M,T)}function Th(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0;w=Ie,Ie=Ie+16|0,T=w,xo(_+4|0,T),bc(T,p[_>>2]|0,m,0,v),Ie=w}function zo(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0,re=0,ae=0,xe=0,De=0,me=0,Fe=0,He=0,We=0,it=0,Xe=0,et=0,ht=0,Rt=0,xt=0;if(ht=Ie,Ie=Ie+272|0,M=ht+256|0,Z=ht+240|0,it=ht,Xe=ht+224|0,et=ht+208|0,re=ht+176|0,ae=ht+160|0,xe=ht+192|0,De=ht+144|0,me=ht+128|0,Fe=ht+112|0,He=ht+96|0,We=ht+80|0,p[M>>2]=m,p[Z>>2]=p[_>>2],p[Z+4>>2]=p[_+4>>2],p[Z+8>>2]=p[_+8>>2],p[Z+12>>2]=p[_+12>>2],Go(Z,M,it),p[T>>2]=0,Z=w+v+((w|0)==5&1)|0,(Z|0)<=(v|0)){Ie=ht;return}d=p[M>>2]|0,h=Xe+4|0,g=re+4|0,C=v+5|0,P=16880+(d<<2)|0,R=16960+(d<<2)|0,L=me+8|0,U=Fe+8|0,X=He+8|0,te=et+4|0,l=v;e:for(;;){D=it+(((l|0)%5|0)<<4)|0,p[et>>2]=p[D>>2],p[et+4>>2]=p[D+4>>2],p[et+8>>2]=p[D+8>>2],p[et+12>>2]=p[D+12>>2];do;while((Ks(et,d,0,1)|0)==2);if((l|0)>(v|0)&(Fs(m)|0)!=0){if(p[re>>2]=p[et>>2],p[re+4>>2]=p[et+4>>2],p[re+8>>2]=p[et+8>>2],p[re+12>>2]=p[et+12>>2],xo(h,ae),w=p[re>>2]|0,M=p[17040+(w*80|0)+(p[Xe>>2]<<2)>>2]|0,p[re>>2]=p[18640+(w*80|0)+(M*20|0)>>2],D=p[18640+(w*80|0)+(M*20|0)+16>>2]|0,(D|0)>0){_=0;do cf(g),_=_+1|0;while((_|0)<(D|0))}switch(D=18640+(w*80|0)+(M*20|0)+4|0,p[xe>>2]=p[D>>2],p[xe+4>>2]=p[D+4>>2],p[xe+8>>2]=p[D+8>>2],Da(xe,(p[P>>2]|0)*3|0),Ln(g,xe,g),hi(g),xo(g,De),Rt=+(p[R>>2]|0),le[me>>3]=Rt*3,le[L>>3]=0,xt=Rt*-1.5,le[Fe>>3]=xt,le[U>>3]=Rt*2.598076211353316,le[He>>3]=xt,le[X>>3]=Rt*-2.598076211353316,p[17040+((p[re>>2]|0)*80|0)+(p[et>>2]<<2)>>2]|0){case 1:{_=Fe,w=me;break}case 3:{_=He,w=Fe;break}case 2:{_=me,w=He;break}default:{_=12;break e}}gf(ae,De,w,_,We),bc(We,p[re>>2]|0,d,1,T+8+(p[T>>2]<<4)|0),p[T>>2]=(p[T>>2]|0)+1}if((l|0)<(C|0)&&(xo(te,re),bc(re,p[et>>2]|0,d,1,T+8+(p[T>>2]<<4)|0),p[T>>2]=(p[T>>2]|0)+1),p[Xe>>2]=p[et>>2],p[Xe+4>>2]=p[et+4>>2],p[Xe+8>>2]=p[et+8>>2],p[Xe+12>>2]=p[et+12>>2],l=l+1|0,(l|0)>=(Z|0)){_=3;break}}if((_|0)==3){Ie=ht;return}else(_|0)==12&&Wt(22522,22569,571,22579)}function Go(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0;d=Ie,Ie=Ie+128|0,w=d+64|0,T=d,M=w,D=20240,l=M+60|0;do p[M>>2]=p[D>>2],M=M+4|0,D=D+4|0;while((M|0)<(l|0));M=T,D=20304,l=M+60|0;do p[M>>2]=p[D>>2],M=M+4|0,D=D+4|0;while((M|0)<(l|0));l=(Fs(p[m>>2]|0)|0)==0,w=l?w:T,T=_+4|0,lf(T),Fi(T),Fs(p[m>>2]|0)|0&&(Uo(T),p[m>>2]=(p[m>>2]|0)+1),p[v>>2]=p[_>>2],m=v+4|0,Ln(T,w,m),hi(m),p[v+16>>2]=p[_>>2],m=v+20|0,Ln(T,w+12|0,m),hi(m),p[v+32>>2]=p[_>>2],m=v+36|0,Ln(T,w+24|0,m),hi(m),p[v+48>>2]=p[_>>2],m=v+52|0,Ln(T,w+36|0,m),hi(m),p[v+64>>2]=p[_>>2],v=v+68|0,Ln(T,w+48|0,v),hi(v),Ie=d}function Ks(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0;if(L=Ie,Ie=Ie+32|0,P=L+12|0,l=L,R=_+4|0,C=p[16960+(m<<2)>>2]|0,g=(w|0)!=0,C=g?C*3|0:C,T=p[R>>2]|0,h=_+8|0,D=p[h>>2]|0,g){if(M=_+12|0,w=p[M>>2]|0,T=D+T+w|0,(T|0)==(C|0))return R=1,Ie=L,R|0;d=M}else d=_+12|0,w=p[d>>2]|0,T=D+T+w|0;if((T|0)<=(C|0))return R=0,Ie=L,R|0;do if((w|0)>0){if(w=p[_>>2]|0,(D|0)>0){M=18640+(w*80|0)+60|0,w=_;break}w=18640+(w*80|0)+40|0,v?(Fa(P,C,0,0),ii(R,P,l),ql(l),Ln(l,P,R),M=w,w=_):(M=w,w=_)}else M=18640+((p[_>>2]|0)*80|0)+20|0,w=_;while(!1);if(p[w>>2]=p[M>>2],T=M+16|0,(p[T>>2]|0)>0){w=0;do cf(R),w=w+1|0;while((w|0)<(p[T>>2]|0))}return _=M+4|0,p[P>>2]=p[_>>2],p[P+4>>2]=p[_+4>>2],p[P+8>>2]=p[_+8>>2],m=p[16880+(m<<2)>>2]|0,Da(P,g?m*3|0:m),Ln(R,P,R),hi(R),g?w=((p[h>>2]|0)+(p[R>>2]|0)+(p[d>>2]|0)|0)==(C|0)?1:2:w=2,R=w,Ie=L,R|0}function Bh(_,m){_=_|0,m=m|0;var v=0;do v=Ks(_,m,0,1)|0;while((v|0)==2);return v|0}function Ql(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0,re=0,ae=0,xe=0,De=0,me=0,Fe=0,He=0,We=0,it=0;if(He=Ie,Ie=Ie+240|0,M=He+224|0,xe=He+208|0,De=He,me=He+192|0,Fe=He+176|0,X=He+160|0,te=He+144|0,Z=He+128|0,re=He+112|0,ae=He+96|0,p[M>>2]=m,p[xe>>2]=p[_>>2],p[xe+4>>2]=p[_+4>>2],p[xe+8>>2]=p[_+8>>2],p[xe+12>>2]=p[_+12>>2],eu(xe,M,De),p[T>>2]=0,U=w+v+((w|0)==6&1)|0,(U|0)<=(v|0)){Ie=He;return}d=p[M>>2]|0,h=v+6|0,g=16960+(d<<2)|0,C=te+8|0,P=Z+8|0,R=re+8|0,L=me+4|0,D=0,l=v,w=-1;e:for(;;){if(M=(l|0)%6|0,_=De+(M<<4)|0,p[me>>2]=p[_>>2],p[me+4>>2]=p[_+4>>2],p[me+8>>2]=p[_+8>>2],p[me+12>>2]=p[_+12>>2],_=D,D=Ks(me,d,0,1)|0,(l|0)>(v|0)&(Fs(m)|0)!=0&&(_|0)!=1&&(p[me>>2]|0)!=(w|0)){switch(xo(De+(((M+5|0)%6|0)<<4)+4|0,Fe),xo(De+(M<<4)+4|0,X),We=+(p[g>>2]|0),le[te>>3]=We*3,le[C>>3]=0,it=We*-1.5,le[Z>>3]=it,le[P>>3]=We*2.598076211353316,le[re>>3]=it,le[R>>3]=We*-2.598076211353316,M=p[xe>>2]|0,p[17040+(M*80|0)+(((w|0)==(M|0)?p[me>>2]|0:w)<<2)>>2]|0){case 1:{_=Z,w=te;break}case 3:{_=re,w=Z;break}case 2:{_=te,w=re;break}default:{_=8;break e}}gf(Fe,X,w,_,ae),!(Pc(Fe,ae)|0)&&!(Pc(X,ae)|0)&&(bc(ae,p[xe>>2]|0,d,1,T+8+(p[T>>2]<<4)|0),p[T>>2]=(p[T>>2]|0)+1)}if((l|0)<(h|0)&&(xo(L,Fe),bc(Fe,p[me>>2]|0,d,1,T+8+(p[T>>2]<<4)|0),p[T>>2]=(p[T>>2]|0)+1),l=l+1|0,(l|0)>=(U|0)){_=3;break}else w=p[me>>2]|0}if((_|0)==3){Ie=He;return}else(_|0)==8&&Wt(22606,22569,736,22651)}function eu(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0;d=Ie,Ie=Ie+160|0,w=d+80|0,T=d,M=w,D=20368,l=M+72|0;do p[M>>2]=p[D>>2],M=M+4|0,D=D+4|0;while((M|0)<(l|0));M=T,D=20448,l=M+72|0;do p[M>>2]=p[D>>2],M=M+4|0,D=D+4|0;while((M|0)<(l|0));l=(Fs(p[m>>2]|0)|0)==0,w=l?w:T,T=_+4|0,lf(T),Fi(T),Fs(p[m>>2]|0)|0&&(Uo(T),p[m>>2]=(p[m>>2]|0)+1),p[v>>2]=p[_>>2],m=v+4|0,Ln(T,w,m),hi(m),p[v+16>>2]=p[_>>2],m=v+20|0,Ln(T,w+12|0,m),hi(m),p[v+32>>2]=p[_>>2],m=v+36|0,Ln(T,w+24|0,m),hi(m),p[v+48>>2]=p[_>>2],m=v+52|0,Ln(T,w+36|0,m),hi(m),p[v+64>>2]=p[_>>2],m=v+68|0,Ln(T,w+48|0,m),hi(m),p[v+80>>2]=p[_>>2],v=v+84|0,Ln(T,w+60|0,v),hi(v),Ie=d}function ka(_,m){return _=_|0,m=m|0,m=jt(_|0,m|0,52)|0,Me()|0,m&15|0}function uf(_,m){return _=_|0,m=m|0,m=jt(_|0,m|0,45)|0,Me()|0,m&127|0}function Vo(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0,l=0;if(!(!0&(m&-16777216|0)==134217728)||(D=jt(_|0,m|0,45)|0,Me()|0,D=D&127,D>>>0>121))return m=0,m|0;v=jt(_|0,m|0,52)|0,Me()|0,v=v&15;do if(v|0){for(T=1,w=0;;){if(M=jt(_|0,m|0,(15-T|0)*3|0)|0,Me()|0,M=M&7,(M|0)!=0&(w^1))if((M|0)==1&(wr(D)|0)!=0){l=0,w=13;break}else w=1;if((M|0)==7){l=0,w=13;break}if(T>>>0<v>>>0)T=T+1|0;else{w=9;break}}if((w|0)==9){if((v|0)==15)l=1;else break;return l|0}else if((w|0)==13)return l|0}while(!1);for(;;){if(l=jt(_|0,m|0,(14-v|0)*3|0)|0,Me()|0,!((l&7|0)==7&!0)){l=0,w=13;break}if(v>>>0<14)v=v+1|0;else{l=1,w=13;break}}return(w|0)==13?l|0:0}function Ho(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0;if(M=jt(_|0,m|0,52)|0,Me()|0,M=M&15,v>>>0>15)return w=4,w|0;if((M|0)<(v|0))return w=12,w|0;if((M|0)==(v|0))return p[w>>2]=_,p[w+4>>2]=m,w=0,w|0;if(T=Zt(v|0,0,52)|0,T=T|_,_=Me()|0|m&-15728641,(M|0)>(v|0))do m=Zt(7,0,(14-v|0)*3|0)|0,v=v+1|0,T=m|T,_=Me()|0|_;while((v|0)<(M|0));return p[w>>2]=T,p[w+4>>2]=_,w=0,w|0}function Al(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0;if(M=jt(_|0,m|0,52)|0,Me()|0,M=M&15,!((v|0)<16&(M|0)<=(v|0)))return w=4,w|0;T=v-M|0,v=jt(_|0,m|0,45)|0,Me()|0;e:do if(!(wr(v&127)|0))v=Ls(7,0,T,((T|0)<0)<<31>>31)|0,T=Me()|0;else{t:do if(M|0){for(v=1;D=Zt(7,0,(15-v|0)*3|0)|0,!!((D&_|0)==0&((Me()|0)&m|0)==0);)if(v>>>0<M>>>0)v=v+1|0;else break t;v=Ls(7,0,T,((T|0)<0)<<31>>31)|0,T=Me()|0;break e}while(!1);v=Ls(7,0,T,((T|0)<0)<<31>>31)|0,v=si(v|0,Me()|0,5,0)|0,v=cn(v|0,Me()|0,-5,-1)|0,v=Ns(v|0,Me()|0,6,0)|0,v=cn(v|0,Me()|0,1,0)|0,T=Me()|0}while(!1);return D=w,p[D>>2]=v,p[D+4>>2]=T,D=0,D|0}function Sn(_,m){_=_|0,m=m|0;var v=0,w=0,T=0;if(T=jt(_|0,m|0,45)|0,Me()|0,!(wr(T&127)|0))return T=0,T|0;T=jt(_|0,m|0,52)|0,Me()|0,T=T&15;e:do if(!T)v=0;else for(w=1;;){if(v=jt(_|0,m|0,(15-w|0)*3|0)|0,Me()|0,v=v&7,v|0)break e;if(w>>>0<T>>>0)w=w+1|0;else{v=0;break}}while(!1);return T=(v|0)==0&1,T|0}function Pn(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0;if(D=Ie,Ie=Ie+16|0,M=D,gl(M,_,m,v),m=M,_=p[m>>2]|0,m=p[m+4>>2]|0,(_|0)==0&(m|0)==0)return Ie=D,0;T=0,v=0;do l=w+(T<<3)|0,p[l>>2]=_,p[l+4>>2]=m,T=cn(T|0,v|0,1,0)|0,v=Me()|0,su(M),l=M,_=p[l>>2]|0,m=p[l+4>>2]|0;while(!((_|0)==0&(m|0)==0));return Ie=D,0}function tu(_,m,v,w){return _=_|0,m=m|0,v=v|0,w=w|0,(w|0)<(v|0)?(v=m,w=_,fr(v|0),w|0):(v=Zt(-1,-1,((w-v|0)*3|0)+3|0)|0,w=Zt(~v|0,~(Me()|0)|0,(15-w|0)*3|0)|0,v=~(Me()|0)&m,w=~w&_,fr(v|0),w|0)}function VA(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0;return T=jt(_|0,m|0,52)|0,Me()|0,T=T&15,(v|0)<16&(T|0)<=(v|0)?((T|0)<(v|0)&&(T=Zt(-1,-1,((v+-1-T|0)*3|0)+3|0)|0,T=Zt(~T|0,~(Me()|0)|0,(15-v|0)*3|0)|0,m=~(Me()|0)&m,_=~T&_),T=Zt(v|0,0,52)|0,v=m&-15728641|(Me()|0),p[w>>2]=_|T,p[w+4>>2]=v,w=0,w|0):(w=4,w|0)}function xc(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0,re=0,ae=0,xe=0,De=0,me=0,Fe=0;if((v|0)==0&(w|0)==0)return me=0,me|0;if(T=_,M=p[T>>2]|0,T=p[T+4>>2]|0,!0&(T&15728640|0)==0){if(!((w|0)>0|(w|0)==0&v>>>0>0)||(me=m,p[me>>2]=M,p[me+4>>2]=T,(v|0)==1&(w|0)==0))return me=0,me|0;T=1;do xe=_+(T<<3)|0,De=p[xe+4>>2]|0,me=m+(T<<3)|0,p[me>>2]=p[xe>>2],p[me+4>>2]=De,T=T+1|0;while(0<(w|0)|(w|0)==0&T>>>0<v>>>0);return T=0,T|0}if(ae=v<<3,De=Vn(ae)|0,!De)return me=13,me|0;if(Eo(De|0,_|0,ae|0)|0,xe=eo(v,8)|0,!xe)return Dr(De),me=13,me|0;e:do if(v|0){t:for(;;){T=De,te=p[T>>2]|0,T=p[T+4>>2]|0,Z=jt(te|0,T|0,52)|0,Me()|0,Z=Z&15,re=Z+-1|0,X=(v|0)>0;r:do if((Z|0)!=0&X){if(R=((v|0)<0)<<31>>31,L=Zt(re|0,0,52)|0,U=Me()|0,re>>>0>15){if(!((te|0)==0&(T|0)==0)){me=17;break t}for(M=0;;){if(M=M+1|0,(M|0)>=(v|0))break r;if(w=De+(M<<3)|0,U=p[w>>2]|0,w=p[w+4>>2]|0,!((U|0)==0&(w|0)==0)){T=w,me=17;break t}}}for(M=0,_=te,w=T;;){if(!((_|0)==0&(w|0)==0)){if(!(!0&(w&117440512|0)==0)){me=22;break t}if(l=jt(_|0,w|0,52)|0,Me()|0,l=l&15,(l|0)<(re|0)){T=12,me=28;break t}if((l|0)!=(re|0)&&(_=_|L,w=w&-15728641|U,l>>>0>=Z>>>0)){D=re;do P=Zt(7,0,(14-D|0)*3|0)|0,D=D+1|0,_=P|_,w=Me()|0|w;while(D>>>0<l>>>0)}if(D=mo(_|0,w|0,v|0,R|0)|0,Me()|0,h=xe+(D<<3)|0,l=h,d=p[l>>2]|0,l=p[l+4>>2]|0,(d|0)==0&(l|0)==0)D=h;else for(P=0;;){if((P|0)>(v|0)){me=32;break t}if((d|0)==(_|0)&(l&-117440513|0)==(w|0)){g=jt(d|0,l|0,56)|0,Me()|0,g=g&7,C=g+1|0,Fe=jt(d|0,l|0,45)|0,Me()|0;n:do if(!(wr(Fe&127)|0))l=7;else{if(d=jt(d|0,l|0,52)|0,Me()|0,d=d&15,!d){l=6;break}for(l=1;;){if(Fe=Zt(7,0,(15-l|0)*3|0)|0,!((Fe&_|0)==0&((Me()|0)&w|0)==0)){l=7;break n}if(l>>>0<d>>>0)l=l+1|0;else{l=6;break}}}while(!1);if((g+2|0)>>>0>l>>>0){me=42;break t}Fe=Zt(C|0,0,56)|0,w=Me()|0|w&-117440513,C=h,p[C>>2]=0,p[C+4>>2]=0,_=Fe|_}else D=(D+1|0)%(v|0)|0;if(h=xe+(D<<3)|0,l=h,d=p[l>>2]|0,l=p[l+4>>2]|0,(d|0)==0&(l|0)==0){D=h;break}else P=P+1|0}Fe=D,p[Fe>>2]=_,p[Fe+4>>2]=w}if(M=M+1|0,(M|0)>=(v|0))break r;w=De+(M<<3)|0,_=p[w>>2]|0,w=p[w+4>>2]|0}}while(!1);if((v+5|0)>>>0<11){me=85;break}if(U=eo((v|0)/6|0,8)|0,!U){me=49;break}r:do if(X){P=0,C=0;do{if(l=xe+(P<<3)|0,w=l,M=p[w>>2]|0,w=p[w+4>>2]|0,!((M|0)==0&(w|0)==0)){d=jt(M|0,w|0,56)|0,Me()|0,d=d&7,_=d+1|0,h=w&-117440513,Fe=jt(M|0,w|0,45)|0,Me()|0;n:do if(wr(Fe&127)|0){if(g=jt(M|0,w|0,52)|0,Me()|0,g=g&15,g|0)for(D=1;;){if(Fe=Zt(7,0,(15-D|0)*3|0)|0,!((M&Fe|0)==0&(h&(Me()|0)|0)==0))break n;if(D>>>0<g>>>0)D=D+1|0;else break}w=Zt(_|0,0,56)|0,M=w|M,w=Me()|0|h,_=l,p[_>>2]=M,p[_+4>>2]=w,_=d+2|0}while(!1);(_|0)==7&&(Fe=U+(C<<3)|0,p[Fe>>2]=M,p[Fe+4>>2]=w&-117440513,C=C+1|0)}P=P+1|0}while((P|0)!=(v|0));if(X){if(P=((v|0)<0)<<31>>31,R=Zt(re|0,0,52)|0,L=Me()|0,re>>>0>15){if(!((te|0)==0&(T|0)==0)){T=4,me=84;break t}for(T=0;;){if(T=T+1|0,(T|0)>=(v|0)){M=0,T=C;break r}if(Fe=De+(T<<3)|0,!((p[Fe>>2]|0)==0&(p[Fe+4>>2]|0)==0)){T=4,me=84;break t}}}for(g=0,M=0,h=te;;){do if(!((h|0)==0&(T|0)==0)){if(l=jt(h|0,T|0,52)|0,Me()|0,l=l&15,(l|0)<(re|0)){T=12,me=84;break t}do if((l|0)==(re|0))w=h,l=T;else{if(w=h|R,_=T&-15728641|L,l>>>0<Z>>>0){l=_;break}D=re;do Fe=Zt(7,0,(14-D|0)*3|0)|0,D=D+1|0,w=Fe|w,_=Me()|0|_;while(D>>>0<l>>>0);l=_}while(!1);for(D=mo(w|0,l|0,v|0,P|0)|0,Me()|0,_=0;;){if((_|0)>(v|0)){me=77;break t}if(Fe=xe+(D<<3)|0,d=p[Fe+4>>2]|0,(d&-117440513|0)==(l|0)&&(p[Fe>>2]|0)==(w|0)){me=79;break}if(D=(D+1|0)%(v|0)|0,Fe=xe+(D<<3)|0,(p[Fe>>2]|0)==(w|0)&&(p[Fe+4>>2]|0)==(l|0))break;_=_+1|0}if((me|0)==79&&(me=0,!0&(d&117440512|0)==100663296))break;Fe=m+(M<<3)|0,p[Fe>>2]=h,p[Fe+4>>2]=T,M=M+1|0}while(!1);if(T=g+1|0,(T|0)>=(v|0)){T=C;break r}Fe=De+(T<<3)|0,g=T,h=p[Fe>>2]|0,T=p[Fe+4>>2]|0}}else M=0,T=C}else M=0,T=0;while(!1);if(Ko(xe|0,0,ae|0)|0,Eo(De|0,U|0,T<<3|0)|0,Dr(U),T)m=m+(M<<3)|0,v=T;else break e}if((me|0)==17)!0&(T&117440512|0)==0?(T=4,me=28):me=22;else if((me|0)==32)Wt(23313,22674,362,22684);else{if((me|0)==42)return Dr(De),Dr(xe),Fe=10,Fe|0;if((me|0)==49)return Dr(De),Dr(xe),Fe=13,Fe|0;if((me|0)==77)Wt(23313,22674,462,22684);else{if((me|0)==84)return Dr(U),Dr(De),Dr(xe),Fe=T,Fe|0;if((me|0)==85){Eo(m|0,De|0,v<<3|0)|0;break}}}if((me|0)==22)return Dr(De),Dr(xe),Fe=5,Fe|0;if((me|0)==28)return Dr(De),Dr(xe),Fe=T,Fe|0}while(!1);return Dr(De),Dr(xe),Fe=0,Fe|0}function Sh(_,m,v,w,T,M,D){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0,M=M|0,D=D|0;var l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0;if(U=Ie,Ie=Ie+16|0,L=U,!((v|0)>0|(v|0)==0&m>>>0>0))return L=0,Ie=U,L|0;if((D|0)>=16)return L=12,Ie=U,L|0;P=0,R=0,C=0,l=0;e:for(;;){if(h=_+(P<<3)|0,d=p[h>>2]|0,h=p[h+4>>2]|0,g=jt(d|0,h|0,52)|0,Me()|0,(g&15|0)>(D|0)){l=12,d=11;break}if(gl(L,d,h,D),g=L,h=p[g>>2]|0,g=p[g+4>>2]|0,(h|0)==0&(g|0)==0)d=C;else{d=C;do{if(!((l|0)<(M|0)|(l|0)==(M|0)&d>>>0<T>>>0)){d=10;break e}C=w+(d<<3)|0,p[C>>2]=h,p[C+4>>2]=g,d=cn(d|0,l|0,1,0)|0,l=Me()|0,su(L),C=L,h=p[C>>2]|0,g=p[C+4>>2]|0}while(!((h|0)==0&(g|0)==0))}if(P=cn(P|0,R|0,1,0)|0,R=Me()|0,(R|0)<(v|0)|(R|0)==(v|0)&P>>>0<m>>>0)C=d;else{l=0,d=11;break}}return(d|0)==10?(L=14,Ie=U,L|0):(d|0)==11?(Ie=U,l|0):0}function HA(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0;P=Ie,Ie=Ie+16|0,C=P;e:do if((v|0)>0|(v|0)==0&m>>>0>0){for(h=0,D=0,M=0,g=0;;){if(d=_+(h<<3)|0,l=p[d>>2]|0,d=p[d+4>>2]|0,!((l|0)==0&(d|0)==0)&&(d=(Al(l,d,w,C)|0)==0,l=C,D=cn(p[l>>2]|0,p[l+4>>2]|0,D|0,M|0)|0,M=Me()|0,!d)){M=12;break}if(h=cn(h|0,g|0,1,0)|0,g=Me()|0,!((g|0)<(v|0)|(g|0)==(v|0)&h>>>0<m>>>0))break e}return Ie=P,M|0}else D=0,M=0;while(!1);return p[T>>2]=D,p[T+4>>2]=M,T=0,Ie=P,T|0}function Ih(_,m){return _=_|0,m=m|0,m=jt(_|0,m|0,52)|0,Me()|0,m&1|0}function Ki(_,m){_=_|0,m=m|0;var v=0,w=0,T=0;if(T=jt(_|0,m|0,52)|0,Me()|0,T=T&15,!T)return T=0,T|0;for(w=1;;){if(v=jt(_|0,m|0,(15-w|0)*3|0)|0,Me()|0,v=v&7,v|0){w=5;break}if(w>>>0<T>>>0)w=w+1|0;else{v=0,w=5;break}}return(w|0)==5?v|0:0}function ga(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0,l=0,d=0;if(d=jt(_|0,m|0,52)|0,Me()|0,d=d&15,!d)return l=m,d=_,fr(l|0),d|0;for(l=1,v=0;;){M=(15-l|0)*3|0,w=Zt(7,0,M|0)|0,T=Me()|0,D=jt(_|0,m|0,M|0)|0,Me()|0,M=Zt(Ao(D&7)|0,0,M|0)|0,D=Me()|0,_=M|_&~w,m=D|m&~T;e:do if(!v)if((M&w|0)==0&(D&T|0)==0)v=0;else if(w=jt(_|0,m|0,52)|0,Me()|0,w=w&15,!w)v=1;else{v=1;t:for(;;){switch(D=jt(_|0,m|0,(15-v|0)*3|0)|0,Me()|0,D&7){case 1:break t;case 0:break;default:{v=1;break e}}if(v>>>0<w>>>0)v=v+1|0;else{v=1;break e}}for(v=1;;)if(D=(15-v|0)*3|0,T=jt(_|0,m|0,D|0)|0,Me()|0,M=Zt(7,0,D|0)|0,m=m&~(Me()|0),D=Zt(Ao(T&7)|0,0,D|0)|0,_=_&~M|D,m=m|(Me()|0),v>>>0<w>>>0)v=v+1|0;else{v=1;break}}while(!1);if(l>>>0<d>>>0)l=l+1|0;else break}return fr(m|0),_|0}function po(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0;if(w=jt(_|0,m|0,52)|0,Me()|0,w=w&15,!w)return v=m,w=_,fr(v|0),w|0;for(v=1;M=(15-v|0)*3|0,D=jt(_|0,m|0,M|0)|0,Me()|0,T=Zt(7,0,M|0)|0,m=m&~(Me()|0),M=Zt(Ao(D&7)|0,0,M|0)|0,_=M|_&~T,m=Me()|0|m,v>>>0<w>>>0;)v=v+1|0;return fr(m|0),_|0}function ru(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0,l=0,d=0;if(d=jt(_|0,m|0,52)|0,Me()|0,d=d&15,!d)return l=m,d=_,fr(l|0),d|0;for(l=1,v=0;;){M=(15-l|0)*3|0,w=Zt(7,0,M|0)|0,T=Me()|0,D=jt(_|0,m|0,M|0)|0,Me()|0,M=Zt(Xs(D&7)|0,0,M|0)|0,D=Me()|0,_=M|_&~w,m=D|m&~T;e:do if(!v)if((M&w|0)==0&(D&T|0)==0)v=0;else if(w=jt(_|0,m|0,52)|0,Me()|0,w=w&15,!w)v=1;else{v=1;t:for(;;){switch(D=jt(_|0,m|0,(15-v|0)*3|0)|0,Me()|0,D&7){case 1:break t;case 0:break;default:{v=1;break e}}if(v>>>0<w>>>0)v=v+1|0;else{v=1;break e}}for(v=1;;)if(T=(15-v|0)*3|0,M=Zt(7,0,T|0)|0,D=m&~(Me()|0),m=jt(_|0,m|0,T|0)|0,Me()|0,m=Zt(Xs(m&7)|0,0,T|0)|0,_=_&~M|m,m=D|(Me()|0),v>>>0<w>>>0)v=v+1|0;else{v=1;break}}while(!1);if(l>>>0<d>>>0)l=l+1|0;else break}return fr(m|0),_|0}function Ua(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0;if(w=jt(_|0,m|0,52)|0,Me()|0,w=w&15,!w)return v=m,w=_,fr(v|0),w|0;for(v=1;D=(15-v|0)*3|0,M=Zt(7,0,D|0)|0,T=m&~(Me()|0),m=jt(_|0,m|0,D|0)|0,Me()|0,m=Zt(Xs(m&7)|0,0,D|0)|0,_=m|_&~M,m=Me()|0|T,v>>>0<w>>>0;)v=v+1|0;return fr(m|0),_|0}function wc(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0;if(d=Ie,Ie=Ie+64|0,l=d+40|0,w=d+24|0,T=d+12|0,M=d,Zt(m|0,0,52)|0,v=Me()|0|134225919,!m)return(p[_+4>>2]|0)>2||(p[_+8>>2]|0)>2||(p[_+12>>2]|0)>2?(D=0,l=0,fr(D|0),Ie=d,l|0):(Zt(Ii(_)|0,0,45)|0,D=Me()|0|v,l=-1,fr(D|0),Ie=d,l|0);if(p[l>>2]=p[_>>2],p[l+4>>2]=p[_+4>>2],p[l+8>>2]=p[_+8>>2],p[l+12>>2]=p[_+12>>2],D=l+4|0,(m|0)>0)for(_=-1;p[w>>2]=p[D>>2],p[w+4>>2]=p[D+4>>2],p[w+8>>2]=p[D+8>>2],m&1?(of(D),p[T>>2]=p[D>>2],p[T+4>>2]=p[D+4>>2],p[T+8>>2]=p[D+8>>2],vc(T)):(Kl(D),p[T>>2]=p[D>>2],p[T+4>>2]=p[D+4>>2],p[T+8>>2]=p[D+8>>2],Uo(T)),ii(w,T,M),hi(M),g=(15-m|0)*3|0,h=Zt(7,0,g|0)|0,v=v&~(Me()|0),g=Zt(hl(M)|0,0,g|0)|0,_=g|_&~h,v=Me()|0|v,(m|0)>1;)m=m+-1|0;else _=-1;e:do if((p[D>>2]|0)<=2&&(p[l+8>>2]|0)<=2&&(p[l+12>>2]|0)<=2){if(w=Ii(l)|0,m=Zt(w|0,0,45)|0,m=m|_,_=Me()|0|v&-1040385,M=zi(l)|0,!(wr(w)|0)){if((M|0)<=0)break;for(T=0;;){if(w=jt(m|0,_|0,52)|0,Me()|0,w=w&15,w)for(v=1;g=(15-v|0)*3|0,l=jt(m|0,_|0,g|0)|0,Me()|0,h=Zt(7,0,g|0)|0,_=_&~(Me()|0),g=Zt(Ao(l&7)|0,0,g|0)|0,m=m&~h|g,_=_|(Me()|0),v>>>0<w>>>0;)v=v+1|0;if(T=T+1|0,(T|0)==(M|0))break e}}T=jt(m|0,_|0,52)|0,Me()|0,T=T&15;t:do if(T){v=1;r:for(;;){switch(g=jt(m|0,_|0,(15-v|0)*3|0)|0,Me()|0,g&7){case 1:break r;case 0:break;default:break t}if(v>>>0<T>>>0)v=v+1|0;else break t}if(sf(w,p[l>>2]|0)|0)for(v=1;l=(15-v|0)*3|0,h=Zt(7,0,l|0)|0,g=_&~(Me()|0),_=jt(m|0,_|0,l|0)|0,Me()|0,_=Zt(Xs(_&7)|0,0,l|0)|0,m=m&~h|_,_=g|(Me()|0),v>>>0<T>>>0;)v=v+1|0;else for(v=1;g=(15-v|0)*3|0,l=jt(m|0,_|0,g|0)|0,Me()|0,h=Zt(7,0,g|0)|0,_=_&~(Me()|0),g=Zt(Ao(l&7)|0,0,g|0)|0,m=m&~h|g,_=_|(Me()|0),v>>>0<T>>>0;)v=v+1|0}while(!1);if((M|0)>0){v=0;do m=ga(m,_)|0,_=Me()|0,v=v+1|0;while((v|0)!=(M|0))}}else m=0,_=0;while(!1);return h=_,g=m,fr(h|0),Ie=d,g|0}function Fs(_){return _=_|0,(_|0)%2|0|0}function za(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0;return T=Ie,Ie=Ie+16|0,w=T,m>>>0>15?(w=4,Ie=T,w|0):(p[_+4>>2]&2146435072|0)==2146435072||(p[_+8+4>>2]&2146435072|0)==2146435072?(w=3,Ie=T,w|0):(Zl(_,m,w),m=wc(w,m)|0,w=Me()|0,p[v>>2]=m,p[v+4>>2]=w,(m|0)==0&(w|0)==0&&Wt(23313,22674,786,22697),w=0,Ie=T,w|0)}function Ds(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0;if(T=v+4|0,M=jt(_|0,m|0,52)|0,Me()|0,M=M&15,D=jt(_|0,m|0,45)|0,Me()|0,w=(M|0)==0,wr(D&127)|0){if(w)return D=1,D|0;w=1}else{if(w)return D=0,D|0;!(p[T>>2]|0)&&!(p[v+8>>2]|0)?w=(p[v+12>>2]|0)!=0&1:w=1}for(v=1;v&1?vc(T):Uo(T),D=jt(_|0,m|0,(15-v|0)*3|0)|0,Me()|0,af(T,D&7),v>>>0<M>>>0;)v=v+1|0;return w|0}function Ga(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0;if(g=Ie,Ie=Ie+16|0,d=g,h=jt(_|0,m|0,45)|0,Me()|0,h=h&127,h>>>0>121)return p[v>>2]=0,p[v+4>>2]=0,p[v+8>>2]=0,p[v+12>>2]=0,h=5,Ie=g,h|0;e:do if(wr(h)|0&&(M=jt(_|0,m|0,52)|0,Me()|0,M=M&15,(M|0)!=0)){w=1;t:for(;;){switch(l=jt(_|0,m|0,(15-w|0)*3|0)|0,Me()|0,l&7){case 5:break t;case 0:break;default:{w=m;break e}}if(w>>>0<M>>>0)w=w+1|0;else{w=m;break e}}for(T=1,w=m;m=(15-T|0)*3|0,D=Zt(7,0,m|0)|0,l=w&~(Me()|0),w=jt(_|0,w|0,m|0)|0,Me()|0,w=Zt(Xs(w&7)|0,0,m|0)|0,_=_&~D|w,w=l|(Me()|0),T>>>0<M>>>0;)T=T+1|0}else w=m;while(!1);if(l=7696+(h*28|0)|0,p[v>>2]=p[l>>2],p[v+4>>2]=p[l+4>>2],p[v+8>>2]=p[l+8>>2],p[v+12>>2]=p[l+12>>2],!(Ds(_,w,v)|0))return h=0,Ie=g,h|0;if(D=v+4|0,p[d>>2]=p[D>>2],p[d+4>>2]=p[D+4>>2],p[d+8>>2]=p[D+8>>2],M=jt(_|0,w|0,52)|0,Me()|0,l=M&15,M&1?(Uo(D),M=l+1|0):M=l,!(wr(h)|0))w=0;else{e:do if(!l)w=0;else for(m=1;;){if(T=jt(_|0,w|0,(15-m|0)*3|0)|0,Me()|0,T=T&7,T|0){w=T;break e}if(m>>>0<l>>>0)m=m+1|0;else{w=0;break}}while(!1);w=(w|0)==4&1}if(!(Ks(v,M,w,0)|0))(M|0)!=(l|0)&&(p[D>>2]=p[d>>2],p[D+4>>2]=p[d+4>>2],p[D+8>>2]=p[d+8>>2]);else{if(wr(h)|0)do;while(Ks(v,M,0,0)|0);(M|0)!=(l|0)&&Kl(D)}return h=0,Ie=g,h|0}function Cc(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0;return M=Ie,Ie=Ie+16|0,w=M,T=Ga(_,m,w)|0,T|0?(Ie=M,T|0):(T=jt(_|0,m|0,52)|0,Me()|0,Th(w,T&15,v),T=0,Ie=M,T|0)}function Ec(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0;if(D=Ie,Ie=Ie+16|0,M=D,w=Ga(_,m,M)|0,w|0)return M=w,Ie=D,M|0;w=jt(_|0,m|0,45)|0,Me()|0,w=(wr(w&127)|0)==0,T=jt(_|0,m|0,52)|0,Me()|0,T=T&15;e:do if(!w){if(T|0)for(w=1;;){if(l=Zt(7,0,(15-w|0)*3|0)|0,!((l&_|0)==0&((Me()|0)&m|0)==0))break e;if(w>>>0<T>>>0)w=w+1|0;else break}return zo(M,T,0,5,v),l=0,Ie=D,l|0}while(!1);return Ql(M,T,0,6,v),l=0,Ie=D,l|0}function Va(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0;if(T=jt(_|0,m|0,45)|0,Me()|0,!(wr(T&127)|0))return T=2,p[v>>2]=T,0;if(T=jt(_|0,m|0,52)|0,Me()|0,T=T&15,!T)return T=5,p[v>>2]=T,0;for(w=1;;){if(M=Zt(7,0,(15-w|0)*3|0)|0,!((M&_|0)==0&((Me()|0)&m|0)==0)){w=2,_=6;break}if(w>>>0<T>>>0)w=w+1|0;else{w=5,_=6;break}}return(_|0)==6&&(p[v>>2]=w),0}function Tc(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0;C=Ie,Ie=Ie+128|0,h=C+112|0,M=C+96|0,g=C,T=jt(_|0,m|0,52)|0,Me()|0,l=T&15,p[h>>2]=l,D=jt(_|0,m|0,45)|0,Me()|0,D=D&127;e:do if(wr(D)|0){if(l|0)for(w=1;;){if(d=Zt(7,0,(15-w|0)*3|0)|0,!((d&_|0)==0&((Me()|0)&m|0)==0)){T=0;break e}if(w>>>0<l>>>0)w=w+1|0;else break}if(T&1)T=1;else return d=Zt(l+1|0,0,52)|0,g=Me()|0|m&-15728641,h=Zt(7,0,(14-l|0)*3|0)|0,g=Tc((d|_)&~h,g&~(Me()|0),v)|0,Ie=C,g|0}else T=0;while(!1);if(w=Ga(_,m,M)|0,!w){T?(Go(M,h,g),d=5):(eu(M,h,g),d=6);e:do if(wr(D)|0)if(!l)_=5;else for(w=1;;){if(D=Zt(7,0,(15-w|0)*3|0)|0,!((D&_|0)==0&((Me()|0)&m|0)==0)){_=2;break e}if(w>>>0<l>>>0)w=w+1|0;else{_=5;break}}else _=2;while(!1);Ko(v|0,-1,_<<2|0)|0;e:do if(T)for(M=0;;){if(D=g+(M<<4)|0,Bh(D,p[h>>2]|0)|0,D=p[D>>2]|0,l=p[v>>2]|0,(l|0)==-1|(l|0)==(D|0))w=v;else{T=0;do{if(T=T+1|0,T>>>0>=_>>>0){w=1;break e}w=v+(T<<2)|0,l=p[w>>2]|0}while(!((l|0)==-1|(l|0)==(D|0)))}if(p[w>>2]=D,M=M+1|0,M>>>0>=d>>>0){w=0;break}}else for(M=0;;){if(D=g+(M<<4)|0,Ks(D,p[h>>2]|0,0,1)|0,D=p[D>>2]|0,l=p[v>>2]|0,(l|0)==-1|(l|0)==(D|0))w=v;else{T=0;do{if(T=T+1|0,T>>>0>=_>>>0){w=1;break e}w=v+(T<<2)|0,l=p[w>>2]|0}while(!((l|0)==-1|(l|0)==(D|0)))}if(p[w>>2]=D,M=M+1|0,M>>>0>=d>>>0){w=0;break}}while(!1)}return g=w,Ie=C,g|0}function nu(){return 12}function pl(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0,l=0,d=0;if(_>>>0>15)return l=4,l|0;if(Zt(_|0,0,52)|0,l=Me()|0|134225919,!_){v=0,w=0;do wr(w)|0&&(Zt(w|0,0,45)|0,D=l|(Me()|0),_=m+(v<<3)|0,p[_>>2]=-1,p[_+4>>2]=D,v=v+1|0),w=w+1|0;while((w|0)!=122);return v=0,v|0}v=0,D=0;do{if(wr(D)|0){for(Zt(D|0,0,45)|0,w=1,T=-1,M=l|(Me()|0);d=Zt(7,0,(15-w|0)*3|0)|0,T=T&~d,M=M&~(Me()|0),(w|0)!=(_|0);)w=w+1|0;d=m+(v<<3)|0,p[d>>2]=T,p[d+4>>2]=M,v=v+1|0}D=D+1|0}while((D|0)!=122);return v=0,v|0}function iu(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0;if(Z=Ie,Ie=Ie+16|0,X=Z,te=jt(_|0,m|0,52)|0,Me()|0,te=te&15,v>>>0>15)return te=4,Ie=Z,te|0;if((te|0)<(v|0))return te=12,Ie=Z,te|0;if((te|0)!=(v|0))if(M=Zt(v|0,0,52)|0,M=M|_,l=Me()|0|m&-15728641,(te|0)>(v|0)){d=v;do U=Zt(7,0,(14-d|0)*3|0)|0,d=d+1|0,M=U|M,l=Me()|0|l;while((d|0)<(te|0));U=M}else U=M;else U=_,l=m;L=jt(U|0,l|0,45)|0,Me()|0;e:do if(wr(L&127)|0){if(d=jt(U|0,l|0,52)|0,Me()|0,d=d&15,d|0)for(M=1;;){if(L=Zt(7,0,(15-M|0)*3|0)|0,!((L&U|0)==0&((Me()|0)&l|0)==0)){h=33;break e}if(M>>>0<d>>>0)M=M+1|0;else break}if(L=w,p[L>>2]=0,p[L+4>>2]=0,(te|0)>(v|0)){for(L=m&-15728641,R=te;;){if(P=R,R=R+-1|0,R>>>0>15|(te|0)<(R|0)){h=19;break}if((te|0)!=(R|0))if(M=Zt(R|0,0,52)|0,M=M|_,d=Me()|0|L,(te|0)<(P|0))C=M;else{h=R;do C=Zt(7,0,(14-h|0)*3|0)|0,h=h+1|0,M=C|M,d=Me()|0|d;while((h|0)<(te|0));C=M}else C=_,d=m;if(g=jt(C|0,d|0,45)|0,Me()|0,!(wr(g&127)|0))M=0;else{g=jt(C|0,d|0,52)|0,Me()|0,g=g&15;t:do if(!g)M=0;else for(h=1;;){if(M=jt(C|0,d|0,(15-h|0)*3|0)|0,Me()|0,M=M&7,M|0)break t;if(h>>>0<g>>>0)h=h+1|0;else{M=0;break}}while(!1);M=(M|0)==0&1}if(d=jt(_|0,m|0,(15-P|0)*3|0)|0,Me()|0,d=d&7,(d|0)==7){T=5,h=42;break}if(M=(M|0)!=0,(d|0)==1&M){T=5,h=42;break}if(C=d+(((d|0)!=0&M)<<31>>31)|0,C|0&&(h=te-P|0,h=Ls(7,0,h,((h|0)<0)<<31>>31)|0,g=Me()|0,M?(M=si(h|0,g|0,5,0)|0,M=cn(M|0,Me()|0,-5,-1)|0,M=Ns(M|0,Me()|0,6,0)|0,M=cn(M|0,Me()|0,1,0)|0,d=Me()|0):(M=h,d=g),P=C+-1|0,P=si(h|0,g|0,P|0,((P|0)<0)<<31>>31|0)|0,P=cn(M|0,d|0,P|0,Me()|0)|0,C=Me()|0,g=w,g=cn(P|0,C|0,p[g>>2]|0,p[g+4>>2]|0)|0,C=Me()|0,P=w,p[P>>2]=g,p[P+4>>2]=C),(R|0)<=(v|0)){h=37;break}}if((h|0)==19)Wt(23313,22674,1099,22710);else if((h|0)==37){D=w,T=p[D+4>>2]|0,D=p[D>>2]|0;break}else if((h|0)==42)return Ie=Z,T|0}else T=0,D=0}else h=33;while(!1);e:do if((h|0)==33)if(L=w,p[L>>2]=0,p[L+4>>2]=0,(te|0)>(v|0)){for(M=te;;){if(T=jt(_|0,m|0,(15-M|0)*3|0)|0,Me()|0,T=T&7,(T|0)==7){T=5;break}if(D=te-M|0,D=Ls(7,0,D,((D|0)<0)<<31>>31)|0,T=si(D|0,Me()|0,T|0,0)|0,D=Me()|0,L=w,D=cn(p[L>>2]|0,p[L+4>>2]|0,T|0,D|0)|0,T=Me()|0,L=w,p[L>>2]=D,p[L+4>>2]=T,M=M+-1|0,(M|0)<=(v|0))break e}return Ie=Z,T|0}else T=0,D=0;while(!1);return Al(U,l,te,X)|0&&Wt(23313,22674,1063,22725),te=X,X=p[te+4>>2]|0,((T|0)>-1|(T|0)==-1&D>>>0>4294967295)&((X|0)>(T|0)|((X|0)==(T|0)?(p[te>>2]|0)>>>0>D>>>0:0))?(te=0,Ie=Z,te|0):(Wt(23313,22674,1139,22710),0)}function jA(_,m,v,w,T,M){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0,M=M|0;var D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0;if(C=Ie,Ie=Ie+16|0,D=C,T>>>0>15)return M=4,Ie=C,M|0;if(l=jt(v|0,w|0,52)|0,Me()|0,l=l&15,(l|0)>(T|0))return M=12,Ie=C,M|0;if(Al(v,w,T,D)|0&&Wt(23313,22674,1063,22725),g=D,h=p[g+4>>2]|0,!(((m|0)>-1|(m|0)==-1&_>>>0>4294967295)&((h|0)>(m|0)|((h|0)==(m|0)?(p[g>>2]|0)>>>0>_>>>0:0))))return M=2,Ie=C,M|0;g=T-l|0,T=Zt(T|0,0,52)|0,d=Me()|0|w&-15728641,h=M,p[h>>2]=T|v,p[h+4>>2]=d,h=jt(v|0,w|0,45)|0,Me()|0;e:do if(wr(h&127)|0){if(l|0)for(D=1;;){if(h=Zt(7,0,(15-D|0)*3|0)|0,!((h&v|0)==0&((Me()|0)&w|0)==0))break e;if(D>>>0<l>>>0)D=D+1|0;else break}if((g|0)<1)return M=0,Ie=C,M|0;for(h=l^15,w=-1,d=1,D=1;;){l=g-d|0,l=Ls(7,0,l,((l|0)<0)<<31>>31)|0,v=Me()|0;do if(D)if(D=si(l|0,v|0,5,0)|0,D=cn(D|0,Me()|0,-5,-1)|0,D=Ns(D|0,Me()|0,6,0)|0,T=Me()|0,(m|0)>(T|0)|(m|0)==(T|0)&_>>>0>D>>>0){m=cn(_|0,m|0,-1,-1)|0,m=Hr(m|0,Me()|0,D|0,T|0)|0,D=Me()|0,P=M,L=p[P>>2]|0,P=p[P+4>>2]|0,U=(h+w|0)*3|0,R=Zt(7,0,U|0)|0,P=P&~(Me()|0),w=Ns(m|0,D|0,l|0,v|0)|0,_=Me()|0,T=cn(w|0,_|0,2,0)|0,U=Zt(T|0,Me()|0,U|0)|0,P=Me()|0|P,T=M,p[T>>2]=U|L&~R,p[T+4>>2]=P,_=si(w|0,_|0,l|0,v|0)|0,_=Hr(m|0,D|0,_|0,Me()|0)|0,D=0,m=Me()|0;break}else{U=M,R=p[U>>2]|0,U=p[U+4>>2]|0,L=Zt(7,0,(h+w|0)*3|0)|0,U=U&~(Me()|0),D=M,p[D>>2]=R&~L,p[D+4>>2]=U,D=1;break}else R=M,T=p[R>>2]|0,R=p[R+4>>2]|0,w=(h+w|0)*3|0,P=Zt(7,0,w|0)|0,R=R&~(Me()|0),U=Ns(_|0,m|0,l|0,v|0)|0,D=Me()|0,w=Zt(U|0,D|0,w|0)|0,R=Me()|0|R,L=M,p[L>>2]=w|T&~P,p[L+4>>2]=R,D=si(U|0,D|0,l|0,v|0)|0,_=Hr(_|0,m|0,D|0,Me()|0)|0,D=0,m=Me()|0;while(!1);if((g|0)>(d|0))w=~d,d=d+1|0;else{m=0;break}}return Ie=C,m|0}while(!1);if((g|0)<1)return U=0,Ie=C,U|0;for(T=l^15,D=1;;)if(L=g-D|0,L=Ls(7,0,L,((L|0)<0)<<31>>31)|0,U=Me()|0,d=M,v=p[d>>2]|0,d=p[d+4>>2]|0,l=(T-D|0)*3|0,w=Zt(7,0,l|0)|0,d=d&~(Me()|0),P=Ns(_|0,m|0,L|0,U|0)|0,R=Me()|0,l=Zt(P|0,R|0,l|0)|0,d=Me()|0|d,h=M,p[h>>2]=l|v&~w,p[h+4>>2]=d,U=si(P|0,R|0,L|0,U|0)|0,_=Hr(_|0,m|0,U|0,Me()|0)|0,m=Me()|0,(g|0)<=(D|0)){m=0;break}else D=D+1|0;return Ie=C,m|0}function gl(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0;T=jt(m|0,v|0,52)|0,Me()|0,T=T&15,(m|0)==0&(v|0)==0|((w|0)>15|(T|0)>(w|0))?(w=-1,T=-1,m=0,v=0):(M=tu(m,v,T+1|0,w)|0,v=(Me()|0)&-15728641,m=Zt(w|0,0,52)|0,m=M|m,v=v|(Me()|0),M=(Sn(m,v)|0)==0,w=M?-1:w),M=_,p[M>>2]=m,p[M+4>>2]=v,p[_+8>>2]=T,p[_+12>>2]=w}function su(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0,d=0,h=0;if(v=_,m=p[v>>2]|0,v=p[v+4>>2]|0,!((m|0)==0&(v|0)==0)&&(w=jt(m|0,v|0,52)|0,Me()|0,w=w&15,l=Zt(1,0,(w^15)*3|0)|0,m=cn(l|0,Me()|0,m|0,v|0)|0,v=Me()|0,l=_,p[l>>2]=m,p[l+4>>2]=v,l=_+8|0,D=p[l>>2]|0,!((w|0)<(D|0)))){for(d=_+12|0,M=w;;){if((M|0)==(D|0)){w=5;break}if(h=(M|0)==(p[d>>2]|0),T=(15-M|0)*3|0,w=jt(m|0,v|0,T|0)|0,Me()|0,w=w&7,h&((w|0)==1&!0)){w=7;break}if(!((w|0)==7&!0)){w=10;break}if(h=Zt(1,0,T|0)|0,m=cn(m|0,v|0,h|0,Me()|0)|0,v=Me()|0,h=_,p[h>>2]=m,p[h+4>>2]=v,(M|0)>(D|0))M=M+-1|0;else{w=10;break}}if((w|0)==5){h=_,p[h>>2]=0,p[h+4>>2]=0,p[l>>2]=-1,p[d>>2]=-1;return}else if((w|0)==7){D=Zt(1,0,T|0)|0,D=cn(m|0,v|0,D|0,Me()|0)|0,l=Me()|0,h=_,p[h>>2]=D,p[h+4>>2]=l,p[d>>2]=M+-1;return}else if((w|0)==10)return}}function Bc(_){_=+_;var m=0;return m=_<0?_+6.283185307179586:_,+(_>=6.283185307179586?m+-6.283185307179586:m)}function Ha(_,m){return _=_|0,m=m|0,+It(+(+le[_>>3]-+le[m>>3]))<17453292519943298e-27?(m=+It(+(+le[_+8>>3]-+le[m+8>>3]))<17453292519943298e-27,m|0):(m=0,m|0)}function ou(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0;return T=+le[m>>3],w=+le[_>>3],M=+St(+((T-w)*.5)),v=+St(+((+le[m+8>>3]-+le[_+8>>3])*.5)),v=M*M+v*(+Dt(+T)*+Dt(+w)*v),+(+en(+ +Ft(+v),+ +Ft(+(1-v)))*2)}function ja(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0;return T=+le[m>>3],w=+le[_>>3],M=+St(+((T-w)*.5)),v=+St(+((+le[m+8>>3]-+le[_+8>>3])*.5)),v=M*M+v*(+Dt(+T)*+Dt(+w)*v),+(+en(+ +Ft(+v),+ +Ft(+(1-v)))*2*6371.007180918475)}function ff(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0;return T=+le[m>>3],w=+le[_>>3],M=+St(+((T-w)*.5)),v=+St(+((+le[m+8>>3]-+le[_+8>>3])*.5)),v=M*M+v*(+Dt(+T)*+Dt(+w)*v),+(+en(+ +Ft(+v),+ +Ft(+(1-v)))*2*6371.007180918475*1e3)}function hf(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0;return M=+le[m>>3],w=+Dt(+M),T=+le[m+8>>3]-+le[_+8>>3],D=w*+St(+T),v=+le[_>>3],+ +en(+D,+(+St(+M)*+Dt(+v)-+Dt(+T)*(w*+St(+v))))}function ml(_,m,v,w){_=_|0,m=+m,v=+v,w=w|0;var T=0,M=0,D=0,l=0;if(v<1e-16){p[w>>2]=p[_>>2],p[w+4>>2]=p[_+4>>2],p[w+8>>2]=p[_+8>>2],p[w+12>>2]=p[_+12>>2];return}M=m<0?m+6.283185307179586:m,M=m>=6.283185307179586?M+-6.283185307179586:M;do if(M<1e-16)m=+le[_>>3]+v,le[w>>3]=m,T=w;else{if(T=+It(+(M+-3.141592653589793))<1e-16,m=+le[_>>3],T){m=m-v,le[w>>3]=m,T=w;break}if(D=+Dt(+v),v=+St(+v),m=D*+St(+m)+ +Dt(+M)*(v*+Dt(+m)),m=m>1?1:m,m=+Yt(+(m<-1?-1:m)),le[w>>3]=m,+It(+(m+-1.5707963267948966))<1e-16){le[w>>3]=1.5707963267948966,le[w+8>>3]=0;return}if(+It(+(m+1.5707963267948966))<1e-16){le[w>>3]=-1.5707963267948966,le[w+8>>3]=0;return}if(l=+Dt(+m),M=v*+St(+M)/l,v=+le[_>>3],m=(D-+St(+m)*+St(+v))/+Dt(+v)/l,D=M>1?1:M,m=m>1?1:m,m=+le[_+8>>3]+ +en(+(D<-1?-1:D),+(m<-1?-1:m)),m>3.141592653589793)do m=m+-6.283185307179586;while(m>3.141592653589793);if(m<-3.141592653589793)do m=m+6.283185307179586;while(m<-3.141592653589793);le[w+8>>3]=m;return}while(!1);if(+It(+(m+-1.5707963267948966))<1e-16){le[T>>3]=1.5707963267948966,le[w+8>>3]=0;return}if(+It(+(m+1.5707963267948966))<1e-16){le[T>>3]=-1.5707963267948966,le[w+8>>3]=0;return}if(m=+le[_+8>>3],m>3.141592653589793)do m=m+-6.283185307179586;while(m>3.141592653589793);if(m<-3.141592653589793)do m=m+6.283185307179586;while(m<-3.141592653589793);le[w+8>>3]=m}function Mh(_,m){return _=_|0,m=m|0,_>>>0>15?(m=4,m|0):(le[m>>3]=+le[20528+(_<<3)>>3],m=0,m|0)}function $a(_,m){return _=_|0,m=m|0,_>>>0>15?(m=4,m|0):(le[m>>3]=+le[20656+(_<<3)>>3],m=0,m|0)}function Gn(_,m){return _=_|0,m=m|0,_>>>0>15?(m=4,m|0):(le[m>>3]=+le[20784+(_<<3)>>3],m=0,m|0)}function au(_,m){return _=_|0,m=m|0,_>>>0>15?(m=4,m|0):(le[m>>3]=+le[20912+(_<<3)>>3],m=0,m|0)}function jo(_,m){_=_|0,m=m|0;var v=0;return _>>>0>15?(m=4,m|0):(v=Ls(7,0,_,((_|0)<0)<<31>>31)|0,v=si(v|0,Me()|0,120,0)|0,_=Me()|0,p[m>>2]=v|2,p[m+4>>2]=_,m=0,m|0)}function $o(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0;return P=+le[m>>3],g=+le[_>>3],d=+St(+((P-g)*.5)),M=+le[m+8>>3],h=+le[_+8>>3],D=+St(+((M-h)*.5)),l=+Dt(+g),C=+Dt(+P),D=d*d+D*(C*l*D),D=+en(+ +Ft(+D),+ +Ft(+(1-D)))*2,d=+le[v>>3],P=+St(+((d-P)*.5)),w=+le[v+8>>3],M=+St(+((w-M)*.5)),T=+Dt(+d),M=P*P+M*(C*T*M),M=+en(+ +Ft(+M),+ +Ft(+(1-M)))*2,d=+St(+((g-d)*.5)),w=+St(+((h-w)*.5)),w=d*d+w*(l*T*w),w=+en(+ +Ft(+w),+ +Ft(+(1-w)))*2,T=(D+M+w)*.5,+(+Jr(+ +Ft(+(+zt(+(T*.5))*+zt(+((T-D)*.5))*+zt(+((T-M)*.5))*+zt(+((T-w)*.5)))))*4)}function nn(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0;if(l=Ie,Ie=Ie+192|0,M=l+168|0,D=l,T=Cc(_,m,M)|0,T|0)return v=T,Ie=l,v|0;if(Ec(_,m,D)|0&&Wt(23313,22742,386,22751),m=p[D>>2]|0,(m|0)>0){if(w=+$o(D+8|0,D+8+(((m|0)!=1&1)<<4)|0,M)+0,(m|0)!=1){_=1;do T=_,_=_+1|0,w=w+ +$o(D+8+(T<<4)|0,D+8+(((_|0)%(m|0)|0)<<4)|0,M);while((_|0)<(m|0))}}else w=0;return le[v>>3]=w,v=0,Ie=l,v|0}function Rn(_,m,v){return _=_|0,m=m|0,v=v|0,_=nn(_,m,v)|0,_|0||(le[v>>3]=+le[v>>3]*6371.007180918475*6371.007180918475),_|0}function Os(_,m,v){return _=_|0,m=m|0,v=v|0,_=nn(_,m,v)|0,_|0||(le[v>>3]=+le[v>>3]*6371.007180918475*6371.007180918475*1e3*1e3),_|0}function _l(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0;if(l=Ie,Ie=Ie+176|0,D=l,_=Yl(_,m,D)|0,_|0)return D=_,Ie=l,D|0;if(le[v>>3]=0,_=p[D>>2]|0,(_|0)<=1)return D=0,Ie=l,D|0;m=_+-1|0,_=0,w=+le[D+8>>3],T=+le[D+16>>3],M=0;do _=_+1|0,h=w,w=+le[D+8+(_<<4)>>3],g=+St(+((w-h)*.5)),d=T,T=+le[D+8+(_<<4)+8>>3],d=+St(+((T-d)*.5)),d=g*g+d*(+Dt(+w)*+Dt(+h)*d),M=M+ +en(+ +Ft(+d),+ +Ft(+(1-d)))*2;while((_|0)<(m|0));return le[v>>3]=M,D=0,Ie=l,D|0}function Sc(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0;if(l=Ie,Ie=Ie+176|0,D=l,_=Yl(_,m,D)|0,_|0)return D=_,M=+le[v>>3],M=M*6371.007180918475,le[v>>3]=M,Ie=l,D|0;if(le[v>>3]=0,_=p[D>>2]|0,(_|0)<=1)return D=0,M=0,M=M*6371.007180918475,le[v>>3]=M,Ie=l,D|0;m=_+-1|0,_=0,w=+le[D+8>>3],T=+le[D+16>>3],M=0;do _=_+1|0,h=w,w=+le[D+8+(_<<4)>>3],g=+St(+((w-h)*.5)),d=T,T=+le[D+8+(_<<4)+8>>3],d=+St(+((T-d)*.5)),d=g*g+d*(+Dt(+h)*+Dt(+w)*d),M=M+ +en(+ +Ft(+d),+ +Ft(+(1-d)))*2;while((_|0)!=(m|0));return le[v>>3]=M,D=0,g=M,g=g*6371.007180918475,le[v>>3]=g,Ie=l,D|0}function yl(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0;if(l=Ie,Ie=Ie+176|0,D=l,_=Yl(_,m,D)|0,_|0)return D=_,M=+le[v>>3],M=M*6371.007180918475,M=M*1e3,le[v>>3]=M,Ie=l,D|0;if(le[v>>3]=0,_=p[D>>2]|0,(_|0)<=1)return D=0,M=0,M=M*6371.007180918475,M=M*1e3,le[v>>3]=M,Ie=l,D|0;m=_+-1|0,_=0,w=+le[D+8>>3],T=+le[D+16>>3],M=0;do _=_+1|0,h=w,w=+le[D+8+(_<<4)>>3],g=+St(+((w-h)*.5)),d=T,T=+le[D+8+(_<<4)+8>>3],d=+St(+((T-d)*.5)),d=g*g+d*(+Dt(+h)*+Dt(+w)*d),M=M+ +en(+ +Ft(+d),+ +Ft(+(1-d)))*2;while((_|0)!=(m|0));return le[v>>3]=M,D=0,g=M,g=g*6371.007180918475,g=g*1e3,le[v>>3]=g,Ie=l,D|0}function $A(_){_=_|0;var m=0,v=0,w=0;return m=eo(1,12)|0,m||Wt(22832,22787,49,22845),v=_+4|0,w=p[v>>2]|0,w|0?(w=w+8|0,p[w>>2]=m,p[v>>2]=m,m|0):(p[_>>2]|0&&Wt(22862,22787,61,22885),w=_,p[w>>2]=m,p[v>>2]=m,m|0)}function WA(_,m){_=_|0,m=m|0;var v=0,w=0;return w=Vn(24)|0,w||Wt(22899,22787,78,22913),p[w>>2]=p[m>>2],p[w+4>>2]=p[m+4>>2],p[w+8>>2]=p[m+8>>2],p[w+12>>2]=p[m+12>>2],p[w+16>>2]=0,m=_+4|0,v=p[m>>2]|0,v|0?(p[v+16>>2]=w,p[m>>2]=w,w|0):(p[_>>2]|0&&Wt(22928,22787,82,22913),p[_>>2]=w,p[m>>2]=w,w|0)}function Ic(_){_=_|0;var m=0,v=0,w=0,T=0;if(_)for(w=1;;){if(m=p[_>>2]|0,m|0)do{if(v=p[m>>2]|0,v|0)do T=v,v=p[v+16>>2]|0,Dr(T);while(v|0);T=m,m=p[m+8>>2]|0,Dr(T)}while(m|0);if(m=_,_=p[_+8>>2]|0,w||Dr(m),_)w=0;else break}}function vl(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0,re=0,ae=0,xe=0,De=0,me=0,Fe=0,He=0,We=0,it=0,Xe=0,et=0,ht=0,Rt=0,xt=0;if(T=_+8|0,p[T>>2]|0)return xt=1,xt|0;if(w=p[_>>2]|0,!w)return xt=0,xt|0;m=w,v=0;do v=v+1|0,m=p[m+8>>2]|0;while(m|0);if(v>>>0<2)return xt=0,xt|0;ht=Vn(v<<2)|0,ht||Wt(22948,22787,317,22967),et=Vn(v<<5)|0,et||Wt(22989,22787,321,22967),p[_>>2]=0,De=_+4|0,p[De>>2]=0,p[T>>2]=0,v=0,Xe=0,xe=0,C=0;e:for(;;){if(g=p[w>>2]|0,g){M=0,D=g;do{if(d=+le[D+8>>3],m=D,D=p[D+16>>2]|0,h=(D|0)==0,T=h?g:D,l=+le[T+8>>3],+It(+(d-l))>3.141592653589793){xt=14;break}M=M+(l-d)*(+le[m>>3]+ +le[T>>3])}while(!h);if((xt|0)==14){xt=0,M=0,m=g;do ae=+le[m+8>>3],it=m+16|0,We=p[it>>2]|0,We=We|0?We:g,re=+le[We+8>>3],M=M+(+le[m>>3]+ +le[We>>3])*((re<0?re+6.283185307179586:re)-(ae<0?ae+6.283185307179586:ae)),m=p[(m|0?it:w)>>2]|0;while(m|0)}M>0?(p[ht+(Xe<<2)>>2]=w,Xe=Xe+1|0,T=xe,m=C):xt=19}else xt=19;if((xt|0)==19){xt=0;do if(v){if(m=v+8|0,p[m>>2]|0){xt=21;break e}if(v=eo(1,12)|0,!v){xt=23;break e}p[m>>2]=v,T=v+4|0,D=v,m=C}else if(C){T=De,D=C+8|0,m=w,v=_;break}else if(p[_>>2]|0){xt=27;break e}else{T=De,D=_,m=w,v=_;break}while(!1);if(p[D>>2]=w,p[T>>2]=w,D=et+(xe<<5)|0,h=p[w>>2]|0,h){for(g=et+(xe<<5)+8|0,le[g>>3]=17976931348623157e292,C=et+(xe<<5)+24|0,le[C>>3]=17976931348623157e292,le[D>>3]=-17976931348623157e292,P=et+(xe<<5)+16|0,le[P>>3]=-17976931348623157e292,te=17976931348623157e292,Z=-17976931348623157e292,T=0,R=h,d=17976931348623157e292,U=17976931348623157e292,X=-17976931348623157e292,l=-17976931348623157e292;M=+le[R>>3],ae=+le[R+8>>3],R=p[R+16>>2]|0,L=(R|0)==0,re=+le[(L?h:R)+8>>3],M<d&&(le[g>>3]=M,d=M),ae<U&&(le[C>>3]=ae,U=ae),M>X?le[D>>3]=M:M=X,ae>l&&(le[P>>3]=ae,l=ae),te=ae>0&ae<te?ae:te,Z=ae<0&ae>Z?ae:Z,T=T|+It(+(ae-re))>3.141592653589793,!L;)X=M;T&&(le[P>>3]=Z,le[C>>3]=te)}else p[D>>2]=0,p[D+4>>2]=0,p[D+8>>2]=0,p[D+12>>2]=0,p[D+16>>2]=0,p[D+20>>2]=0,p[D+24>>2]=0,p[D+28>>2]=0;T=xe+1|0}if(it=w+8|0,w=p[it>>2]|0,p[it>>2]=0,w)xe=T,C=m;else{xt=45;break}}if((xt|0)==21)Wt(22765,22787,35,22799);else if((xt|0)==23)Wt(22819,22787,37,22799);else if((xt|0)==27)Wt(22862,22787,61,22885);else if((xt|0)==45){e:do if((Xe|0)>0){for(it=(T|0)==0,He=T<<2,We=(_|0)==0,Fe=0,m=0;;){if(me=p[ht+(Fe<<2)>>2]|0,it)xt=73;else{if(xe=Vn(He)|0,!xe){xt=50;break}if(De=Vn(He)|0,!De){xt=52;break}t:do if(We)v=0;else{for(T=0,v=0,D=_;w=et+(T<<5)|0,wo(p[D>>2]|0,w,p[me>>2]|0)|0?(p[xe+(v<<2)>>2]=D,p[De+(v<<2)>>2]=w,L=v+1|0):L=v,D=p[D+8>>2]|0,D;)T=T+1|0,v=L;if((L|0)>0)if(w=p[xe>>2]|0,(L|0)==1)v=w;else for(P=0,R=-1,v=w,C=w;;){for(h=p[C>>2]|0,w=0,D=0;T=p[p[xe+(D<<2)>>2]>>2]|0,(T|0)==(h|0)?g=w:g=w+((wo(T,p[De+(D<<2)>>2]|0,p[h>>2]|0)|0)&1)|0,D=D+1|0,(D|0)!=(L|0);)w=g;if(T=(g|0)>(R|0),v=T?C:v,w=P+1|0,(w|0)==(L|0))break t;P=w,R=T?g:R,C=p[xe+(w<<2)>>2]|0}else v=0}while(!1);if(Dr(xe),Dr(De),v){if(T=v+4|0,w=p[T>>2]|0,w)v=w+8|0;else if(p[v>>2]|0){xt=70;break}p[v>>2]=me,p[T>>2]=me}else xt=73}if((xt|0)==73){if(xt=0,m=p[me>>2]|0,m|0)do De=m,m=p[m+16>>2]|0,Dr(De);while(m|0);Dr(me),m=1}if(Fe=Fe+1|0,(Fe|0)>=(Xe|0)){Rt=m;break e}}(xt|0)==50?Wt(23004,22787,249,23023):(xt|0)==52?Wt(23042,22787,252,23023):(xt|0)==70&&Wt(22862,22787,61,22885)}else Rt=0;while(!1);return Dr(ht),Dr(et),xt=Rt,xt|0}return 0}function wo(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0;if(!(Rs(m,v)|0)||(m=fl(m)|0,w=+le[v>>3],T=+le[v+8>>3],T=m&T<0?T+6.283185307179586:T,_=p[_>>2]|0,!_))return _=0,_|0;if(m){m=0,h=T,v=_;e:for(;;){for(;D=+le[v>>3],T=+le[v+8>>3],v=v+16|0,g=p[v>>2]|0,g=g|0?g:_,M=+le[g>>3],l=+le[g+8>>3],D>M?(d=D,D=l):(d=M,M=D,D=T,T=l),w=w==M|w==d?w+2220446049250313e-31:w,!!(w<M|w>d);)if(v=p[v>>2]|0,!v){v=22;break e}if(l=D<0?D+6.283185307179586:D,D=T<0?T+6.283185307179586:T,h=l==h|D==h?h+-2220446049250313e-31:h,d=l+(D-l)*((w-M)/(d-M)),(d<0?d+6.283185307179586:d)>h&&(m=m^1),v=p[v>>2]|0,!v){v=22;break}}if((v|0)==22)return m|0}else{m=0,h=T,v=_;e:for(;;){for(;D=+le[v>>3],T=+le[v+8>>3],v=v+16|0,g=p[v>>2]|0,g=g|0?g:_,M=+le[g>>3],l=+le[g+8>>3],D>M?(d=D,D=l):(d=M,M=D,D=T,T=l),w=w==M|w==d?w+2220446049250313e-31:w,!!(w<M|w>d);)if(v=p[v>>2]|0,!v){v=22;break e}if(h=D==h|T==h?h+-2220446049250313e-31:h,D+(T-D)*((w-M)/(d-M))>h&&(m=m^1),v=p[v>>2]|0,!v){v=22;break}}if((v|0)==22)return m|0}return 0}function Fn(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0;if(Z=Ie,Ie=Ie+32|0,te=Z+16|0,X=Z,M=jt(_|0,m|0,52)|0,Me()|0,M=M&15,R=jt(v|0,w|0,52)|0,Me()|0,(M|0)!=(R&15|0))return te=12,Ie=Z,te|0;if(h=jt(_|0,m|0,45)|0,Me()|0,h=h&127,g=jt(v|0,w|0,45)|0,Me()|0,g=g&127,h>>>0>121|g>>>0>121)return te=5,Ie=Z,te|0;if(R=(h|0)!=(g|0),R){if(l=ll(h,g)|0,(l|0)==7)return te=1,Ie=Z,te|0;d=ll(g,h)|0,(d|0)==7?Wt(23066,23090,161,23100):(L=l,D=d)}else L=0,D=0;C=wr(h)|0,P=wr(g)|0,p[te>>2]=0,p[te+4>>2]=0,p[te+8>>2]=0,p[te+12>>2]=0;do if(L){if(g=p[4272+(h*28|0)+(L<<2)>>2]|0,l=(g|0)>0,P)if(l){h=0,d=v,l=w;do d=ru(d,l)|0,l=Me()|0,D=Xs(D)|0,(D|0)==1&&(D=Xs(1)|0),h=h+1|0;while((h|0)!=(g|0));g=D,h=d,d=l}else g=D,h=v,d=w;else if(l){h=0,d=v,l=w;do d=Ua(d,l)|0,l=Me()|0,D=Xs(D)|0,h=h+1|0;while((h|0)!=(g|0));g=D,h=d,d=l}else g=D,h=v,d=w;if(Ds(h,d,te)|0,R||Wt(23115,23090,191,23100),l=(C|0)!=0,D=(P|0)!=0,l&D&&Wt(23142,23090,192,23100),l){if(D=Ki(_,m)|0,(D|0)==7){M=5;break}if(Se[21872+(D*7|0)+L>>0]|0){M=1;break}d=p[21040+(D*28|0)+(L<<2)>>2]|0,h=d}else if(D){if(D=Ki(h,d)|0,(D|0)==7){M=5;break}if(Se[21872+(D*7|0)+g>>0]|0){M=1;break}h=0,d=p[21040+(g*28|0)+(D<<2)>>2]|0}else h=0,d=0;if((h|d|0)<0)M=5;else{if((d|0)>0){l=te+4|0,D=0;do ql(l),D=D+1|0;while((D|0)!=(d|0))}if(p[X>>2]=0,p[X+4>>2]=0,p[X+8>>2]=0,af(X,L),M|0)for(;Fs(M)|0?vc(X):Uo(X),(M|0)>1;)M=M+-1|0;if((h|0)>0){M=0;do ql(X),M=M+1|0;while((M|0)!=(h|0))}U=te+4|0,Ln(U,X,U),hi(U),U=51}}else if(Ds(v,w,te)|0,(C|0)!=0&(P|0)!=0)if((g|0)!=(h|0)&&Wt(23173,23090,261,23100),D=Ki(_,m)|0,M=Ki(v,w)|0,(D|0)==7|(M|0)==7)M=5;else if(Se[21872+(D*7|0)+M>>0]|0)M=1;else if(D=p[21040+(D*28|0)+(M<<2)>>2]|0,(D|0)>0){l=te+4|0,M=0;do ql(l),M=M+1|0;while((M|0)!=(D|0));U=51}else U=51;else U=51;while(!1);return(U|0)==51&&(M=te+4|0,p[T>>2]=p[M>>2],p[T+4>>2]=p[M+4>>2],p[T+8>>2]=p[M+8>>2],M=0),te=M,Ie=Z,te|0}function Mc(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0,re=0;if(U=Ie,Ie=Ie+48|0,h=U+36|0,D=U+24|0,l=U+12|0,d=U,T=jt(_|0,m|0,52)|0,Me()|0,T=T&15,P=jt(_|0,m|0,45)|0,Me()|0,P=P&127,P>>>0>121)return w=5,Ie=U,w|0;if(g=wr(P)|0,Zt(T|0,0,52)|0,X=Me()|0|134225919,M=w,p[M>>2]=-1,p[M+4>>2]=X,!T)return T=hl(v)|0,(T|0)==7||(T=ca(P,T)|0,(T|0)==127)?(X=1,Ie=U,X|0):(R=Zt(T|0,0,45)|0,L=Me()|0,P=w,L=p[P+4>>2]&-1040385|L,X=w,p[X>>2]=p[P>>2]|R,p[X+4>>2]=L,X=0,Ie=U,X|0);for(p[h>>2]=p[v>>2],p[h+4>>2]=p[v+4>>2],p[h+8>>2]=p[v+8>>2],v=T;;){if(M=v,v=v+-1|0,p[D>>2]=p[h>>2],p[D+4>>2]=p[h+4>>2],p[D+8>>2]=p[h+8>>2],Fs(M)|0){if(T=zA(h)|0,T|0){v=13;break}p[l>>2]=p[h>>2],p[l+4>>2]=p[h+4>>2],p[l+8>>2]=p[h+8>>2],vc(l)}else{if(T=GA(h)|0,T|0){v=13;break}p[l>>2]=p[h>>2],p[l+4>>2]=p[h+4>>2],p[l+8>>2]=p[h+8>>2],Uo(l)}if(ii(D,l,d),hi(d),T=w,Z=p[T>>2]|0,T=p[T+4>>2]|0,re=(15-M|0)*3|0,te=Zt(7,0,re|0)|0,T=T&~(Me()|0),re=Zt(hl(d)|0,0,re|0)|0,T=Me()|0|T,X=w,p[X>>2]=re|Z&~te,p[X+4>>2]=T,(M|0)<=1){v=14;break}}e:do if((v|0)!=13&&(v|0)==14)if((p[h>>2]|0)<=1&&(p[h+4>>2]|0)<=1&&(p[h+8>>2]|0)<=1){v=hl(h)|0,T=ca(P,v)|0,(T|0)==127?d=0:d=wr(T)|0;t:do if(v){if(g){if(T=Ki(_,m)|0,(T|0)==7){T=5;break e}if(M=p[21248+(T*28|0)+(v<<2)>>2]|0,(M|0)>0){T=v,v=0;do T=Ao(T)|0,v=v+1|0;while((v|0)!=(M|0))}else T=v;if((T|0)==1){T=9;break e}v=ca(P,T)|0,(v|0)==127&&Wt(23200,23090,411,23230),wr(v)|0?Wt(23245,23090,412,23230):(L=v,R=M,C=T)}else L=T,R=0,C=v;if(l=p[4272+(P*28|0)+(C<<2)>>2]|0,(l|0)<=-1&&Wt(23276,23090,419,23230),!d){if((R|0)<0){T=5;break e}if(R|0){M=w,T=0,v=p[M>>2]|0,M=p[M+4>>2]|0;do v=po(v,M)|0,M=Me()|0,re=w,p[re>>2]=v,p[re+4>>2]=M,T=T+1|0;while((T|0)<(R|0))}if((l|0)<=0){T=L,v=58;break}for(M=w,T=0,v=p[M>>2]|0,M=p[M+4>>2]|0;;)if(v=po(v,M)|0,M=Me()|0,re=w,p[re>>2]=v,p[re+4>>2]=M,T=T+1|0,(T|0)==(l|0)){T=L,v=58;break t}}if(D=ll(L,P)|0,(D|0)==7&&Wt(23066,23090,428,23230),T=w,v=p[T>>2]|0,T=p[T+4>>2]|0,(l|0)>0){M=0;do v=po(v,T)|0,T=Me()|0,re=w,p[re>>2]=v,p[re+4>>2]=T,M=M+1|0;while((M|0)!=(l|0))}if(T=Ki(v,T)|0,(T|0)==7&&Wt(23313,23090,440,23230),v=ni(L)|0,v=p[(v?21664:21456)+(D*28|0)+(T<<2)>>2]|0,(v|0)<0&&Wt(23313,23090,454,23230),!v)T=L,v=58;else{D=w,T=0,M=p[D>>2]|0,D=p[D+4>>2]|0;do M=ga(M,D)|0,D=Me()|0,re=w,p[re>>2]=M,p[re+4>>2]=D,T=T+1|0;while((T|0)<(v|0));T=L,v=58}}else if((g|0)!=0&(d|0)!=0){if(v=Ki(_,m)|0,M=w,M=Ki(p[M>>2]|0,p[M+4>>2]|0)|0,(v|0)==7|(M|0)==7){T=5;break e}if(M=p[21248+(v*28|0)+(M<<2)>>2]|0,(M|0)<0){T=5;break e}if(!M)v=59;else{l=w,v=0,D=p[l>>2]|0,l=p[l+4>>2]|0;do D=po(D,l)|0,l=Me()|0,re=w,p[re>>2]=D,p[re+4>>2]=l,v=v+1|0;while((v|0)<(M|0));v=58}}else v=58;while(!1);if((v|0)==58&&d&&(v=59),(v|0)==59&&(re=w,(Ki(p[re>>2]|0,p[re+4>>2]|0)|0)==1)){T=9;break}re=w,te=p[re>>2]|0,re=p[re+4>>2]&-1040385,Z=Zt(T|0,0,45)|0,re=re|(Me()|0),T=w,p[T>>2]=te|Z,p[T+4>>2]=re,T=0}else T=1;while(!1);return re=T,Ie=U,re|0}function Ph(_,m,v,w,T,M){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0,M=M|0;var D=0,l=0;return l=Ie,Ie=Ie+16|0,D=l,T?_=15:(_=Fn(_,m,v,w,D)|0,_||(fa(D,M),_=0)),Ie=l,_|0}function mi(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0;return D=Ie,Ie=Ie+16|0,M=D,w?v=15:(v=ha(v,M)|0,v||(v=Mc(_,m,M,T)|0)),Ie=D,v|0}function nr(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0;return d=Ie,Ie=Ie+32|0,D=d+12|0,l=d,M=Fn(_,m,_,m,D)|0,M|0?(l=M,Ie=d,l|0):(_=Fn(_,m,v,w,l)|0,_|0?(l=_,Ie=d,l|0):(D=dl(D,l)|0,l=T,p[l>>2]=D,p[l+4>>2]=((D|0)<0)<<31>>31,l=0,Ie=d,l|0))}function vs(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0;return d=Ie,Ie=Ie+32|0,D=d+12|0,l=d,M=Fn(_,m,_,m,D)|0,!M&&(M=Fn(_,m,v,w,l)|0,!M)?(w=dl(D,l)|0,w=cn(w|0,((w|0)<0)<<31>>31|0,1,0)|0,D=Me()|0,l=T,p[l>>2]=w,p[l+4>>2]=D,l=0,Ie=d,l|0):(l=M,Ie=d,l|0)}function cu(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0,re=0,ae=0,xe=0,De=0,me=0,Fe=0;if(me=Ie,Ie=Ie+48|0,D=me+24|0,l=me+12|0,De=me,M=Fn(_,m,_,m,D)|0,!M&&(M=Fn(_,m,v,w,l)|0,!M)){ae=dl(D,l)|0,xe=((ae|0)<0)<<31>>31,p[D>>2]=0,p[D+4>>2]=0,p[D+8>>2]=0,p[l>>2]=0,p[l+4>>2]=0,p[l+8>>2]=0,Fn(_,m,_,m,D)|0&&Wt(23313,23090,691,23299),Fn(_,m,v,w,l)|0&&Wt(23313,23090,696,23299),da(D),da(l),ae?(C=p[D>>2]|0,L=+(ae|0),te=D+4|0,P=p[te>>2]|0,Z=D+8|0,R=p[Z>>2]|0,re=D,w=C,M=P,v=R,U=+((p[l>>2]|0)-C|0)/L,X=+((p[l+4>>2]|0)-P|0)/L,L=+((p[l+8>>2]|0)-R|0)/L):(M=D+4|0,v=D+8|0,te=M,Z=v,re=D,w=p[D>>2]|0,M=p[M>>2]|0,v=p[v>>2]|0,U=0,X=0,L=0),p[De>>2]=w,R=De+4|0,p[R>>2]=M,P=De+8|0,p[P>>2]=v;e:do if((ae|0)<0)M=0;else for(g=0,C=0,M=w;;){h=+(C>>>0)+4294967296*+(g|0),Fe=U*h+ +(M|0),d=X*h+ +(p[te>>2]|0),h=L*h+ +(p[Z>>2]|0),v=~~+Xo(+Fe),D=~~+Xo(+d),M=~~+Xo(+h),Fe=+It(+(+(v|0)-Fe)),d=+It(+(+(D|0)-d)),h=+It(+(+(M|0)-h));do if(Fe>d&Fe>h)v=0-(D+M)|0,w=D;else if(l=0-v|0,d>h){w=l-M|0;break}else{w=D,M=l-D|0;break}while(!1);if(p[De>>2]=v,p[R>>2]=w,p[P>>2]=M,Oa(De),M=Mc(_,m,De,T+(C<<3)|0)|0,M|0)break e;if(!((g|0)<(xe|0)|(g|0)==(xe|0)&C>>>0<ae>>>0)){M=0;break e}M=cn(C|0,g|0,1,0)|0,l=Me()|0,g=l,C=M,M=p[re>>2]|0}while(!1);return De=M,Ie=me,De|0}return De=M,Ie=me,De|0}function Ls(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0;if((v|0)==0&(w|0)==0)return T=0,M=1,fr(T|0),M|0;M=_,T=m,_=1,m=0;do D=(v&1|0)==0&!0,_=si((D?1:M)|0,(D?0:T)|0,_|0,m|0)|0,m=Me()|0,v=_o(v|0,w|0,1)|0,w=Me()|0,M=si(M|0,T|0,M|0,T|0)|0,T=Me()|0;while(!((v|0)==0&(w|0)==0));return fr(m|0),_|0}function qs(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0;if(!(Rs(m,v)|0)||(m=fl(m)|0,w=+le[v>>3],T=+le[v+8>>3],T=m&T<0?T+6.283185307179586:T,P=p[_>>2]|0,(P|0)<=0))return P=0,P|0;if(C=p[_+4>>2]|0,m){m=0,g=T,v=-1,_=0;e:for(;;){for(h=_;D=+le[C+(h<<4)>>3],T=+le[C+(h<<4)+8>>3],_=(v+2|0)%(P|0)|0,M=+le[C+(_<<4)>>3],l=+le[C+(_<<4)+8>>3],D>M?(d=D,D=l):(d=M,M=D,D=T,T=l),w=w==M|w==d?w+2220446049250313e-31:w,!!(w<M|w>d);)if(v=h+1|0,(v|0)>=(P|0)){v=22;break e}else _=h,h=v,v=_;if(l=D<0?D+6.283185307179586:D,D=T<0?T+6.283185307179586:T,g=l==g|D==g?g+-2220446049250313e-31:g,d=l+(D-l)*((w-M)/(d-M)),(d<0?d+6.283185307179586:d)>g&&(m=m^1),_=h+1|0,(_|0)>=(P|0)){v=22;break}else v=h}if((v|0)==22)return m|0}else{m=0,g=T,v=-1,_=0;e:for(;;){for(h=_;D=+le[C+(h<<4)>>3],T=+le[C+(h<<4)+8>>3],_=(v+2|0)%(P|0)|0,M=+le[C+(_<<4)>>3],l=+le[C+(_<<4)+8>>3],D>M?(d=D,D=l):(d=M,M=D,D=T,T=l),w=w==M|w==d?w+2220446049250313e-31:w,!!(w<M|w>d);)if(v=h+1|0,(v|0)>=(P|0)){v=22;break e}else _=h,h=v,v=_;if(g=D==g|T==g?g+-2220446049250313e-31:g,D+(T-D)*((w-M)/(d-M))>g&&(m=m^1),_=h+1|0,(_|0)>=(P|0)){v=22;break}else v=h}if((v|0)==22)return m|0}return 0}function fs(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0;if(L=p[_>>2]|0,!L){p[m>>2]=0,p[m+4>>2]=0,p[m+8>>2]=0,p[m+12>>2]=0,p[m+16>>2]=0,p[m+20>>2]=0,p[m+24>>2]=0,p[m+28>>2]=0;return}if(U=m+8|0,le[U>>3]=17976931348623157e292,X=m+24|0,le[X>>3]=17976931348623157e292,le[m>>3]=-17976931348623157e292,te=m+16|0,le[te>>3]=-17976931348623157e292,!((L|0)<=0)){for(P=p[_+4>>2]|0,h=17976931348623157e292,g=-17976931348623157e292,C=0,_=-1,M=17976931348623157e292,D=17976931348623157e292,d=-17976931348623157e292,w=-17976931348623157e292,R=0;v=+le[P+(R<<4)>>3],l=+le[P+(R<<4)+8>>3],_=_+2|0,T=+le[P+(((_|0)==(L|0)?0:_)<<4)+8>>3],v<M&&(le[U>>3]=v,M=v),l<D&&(le[X>>3]=l,D=l),v>d?le[m>>3]=v:v=d,l>w&&(le[te>>3]=l,w=l),h=l>0&l<h?l:h,g=l<0&l>g?l:g,C=C|+It(+(l-T))>3.141592653589793,_=R+1|0,(_|0)!=(L|0);)Z=R,d=v,R=_,_=Z;C&&(le[te>>3]=g,le[X>>3]=h)}}function df(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0,re=0,ae=0,xe=0,De=0,me=0;if(L=p[_>>2]|0,L){if(U=m+8|0,le[U>>3]=17976931348623157e292,X=m+24|0,le[X>>3]=17976931348623157e292,le[m>>3]=-17976931348623157e292,te=m+16|0,le[te>>3]=-17976931348623157e292,(L|0)>0){for(T=p[_+4>>2]|0,P=17976931348623157e292,R=-17976931348623157e292,w=0,v=-1,d=17976931348623157e292,h=17976931348623157e292,C=-17976931348623157e292,D=-17976931348623157e292,Z=0;M=+le[T+(Z<<4)>>3],g=+le[T+(Z<<4)+8>>3],De=v+2|0,l=+le[T+(((De|0)==(L|0)?0:De)<<4)+8>>3],M<d&&(le[U>>3]=M,d=M),g<h&&(le[X>>3]=g,h=g),M>C?le[m>>3]=M:M=C,g>D&&(le[te>>3]=g,D=g),P=g>0&g<P?g:P,R=g<0&g>R?g:R,w=w|+It(+(g-l))>3.141592653589793,v=Z+1|0,(v|0)!=(L|0);)De=Z,C=M,Z=v,v=De;w&&(le[te>>3]=R,le[X>>3]=P)}}else p[m>>2]=0,p[m+4>>2]=0,p[m+8>>2]=0,p[m+12>>2]=0,p[m+16>>2]=0,p[m+20>>2]=0,p[m+24>>2]=0,p[m+28>>2]=0;if(De=_+8|0,v=p[De>>2]|0,!((v|0)<=0)){xe=_+12|0,ae=0;do if(T=p[xe>>2]|0,w=ae,ae=ae+1|0,X=m+(ae<<5)|0,te=p[T+(w<<3)>>2]|0,te){if(Z=m+(ae<<5)+8|0,le[Z>>3]=17976931348623157e292,_=m+(ae<<5)+24|0,le[_>>3]=17976931348623157e292,le[X>>3]=-17976931348623157e292,re=m+(ae<<5)+16|0,le[re>>3]=-17976931348623157e292,(te|0)>0){for(L=p[T+(w<<3)+4>>2]|0,P=17976931348623157e292,R=-17976931348623157e292,T=0,w=-1,U=0,d=17976931348623157e292,h=17976931348623157e292,g=-17976931348623157e292,D=-17976931348623157e292;M=+le[L+(U<<4)>>3],C=+le[L+(U<<4)+8>>3],w=w+2|0,l=+le[L+(((w|0)==(te|0)?0:w)<<4)+8>>3],M<d&&(le[Z>>3]=M,d=M),C<h&&(le[_>>3]=C,h=C),M>g?le[X>>3]=M:M=g,C>D&&(le[re>>3]=C,D=C),P=C>0&C<P?C:P,R=C<0&C>R?C:R,T=T|+It(+(C-l))>3.141592653589793,w=U+1|0,(w|0)!=(te|0);)me=U,U=w,g=M,w=me;T&&(le[re>>3]=R,le[_>>3]=P)}}else p[X>>2]=0,p[X+4>>2]=0,p[X+8>>2]=0,p[X+12>>2]=0,p[X+16>>2]=0,p[X+20>>2]=0,p[X+24>>2]=0,p[X+28>>2]=0,v=p[De>>2]|0;while((ae|0)<(v|0))}}function Kt(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0;if(!(qs(_,m,v)|0))return T=0,T|0;if(T=_+8|0,(p[T>>2]|0)<=0)return T=1,T|0;for(w=_+12|0,_=0;;){if(M=_,_=_+1|0,qs((p[w>>2]|0)+(M<<3)|0,m+(_<<5)|0,v)|0){_=0,w=6;break}if((_|0)>=(p[T>>2]|0)){_=1,w=6;break}}return(w|0)==6?_|0:0}function Af(){return 8}function lu(){return 16}function pf(){return 168}function Ys(){return 8}function bs(){return 16}function uu(){return 12}function fu(){return 8}function xs(_){return _=_|0,+(+((p[_>>2]|0)>>>0)+4294967296*+(p[_+4>>2]|0))}function Wo(_){_=_|0;var m=0,v=0;return v=+le[_>>3],m=+le[_+8>>3],+ +Ft(+(v*v+m*m))}function gf(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0;h=+le[_>>3],d=+le[m>>3]-h,l=+le[_+8>>3],D=+le[m+8>>3]-l,C=+le[v>>3],M=+le[w>>3]-C,P=+le[v+8>>3],g=+le[w+8>>3]-P,M=(M*(l-P)-(h-C)*g)/(d*g-D*M),le[T>>3]=h+d*M,le[T+8>>3]=l+D*M}function Pc(_,m){return _=_|0,m=m|0,+It(+(+le[_>>3]-+le[m>>3]))<11920928955078125e-23?(m=+It(+(+le[_+8>>3]-+le[m+8>>3]))<11920928955078125e-23,m|0):(m=0,m|0)}function _i(_,m){_=_|0,m=m|0;var v=0,w=0,T=0;return T=+le[_>>3]-+le[m>>3],w=+le[_+8>>3]-+le[m+8>>3],v=+le[_+16>>3]-+le[m+16>>3],+(T*T+w*w+v*v)}function mf(_,m){_=_|0,m=m|0;var v=0,w=0,T=0;v=+le[_>>3],w=+Dt(+v),v=+St(+v),le[m+16>>3]=v,v=+le[_+8>>3],T=w*+Dt(+v),le[m>>3]=T,v=w*+St(+v),le[m+8>>3]=v}function go(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0;if(M=Ie,Ie=Ie+16|0,T=M,w=Sn(_,m)|0,(v+-1|0)>>>0>5||(w=(w|0)!=0,(v|0)==1&w))return T=-1,Ie=M,T|0;do if(qi(_,m,T)|0)w=-1;else if(w){w=((p[21936+(v<<2)>>2]|0)+5-(p[T>>2]|0)|0)%5|0;break}else{w=((p[21968+(v<<2)>>2]|0)+6-(p[T>>2]|0)|0)%6|0;break}while(!1);return T=w,Ie=M,T|0}function qi(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0,h=0;if(h=Ie,Ie=Ie+32|0,D=h+16|0,l=h,w=Ga(_,m,D)|0,w|0)return v=w,Ie=h,v|0;M=uf(_,m)|0,d=Ki(_,m)|0,Js(M,l),w=vh(M,p[D>>2]|0)|0;e:do if(wr(M)|0){do switch(M|0){case 4:{_=0;break}case 14:{_=1;break}case 24:{_=2;break}case 38:{_=3;break}case 49:{_=4;break}case 58:{_=5;break}case 63:{_=6;break}case 72:{_=7;break}case 83:{_=8;break}case 97:{_=9;break}case 107:{_=10;break}case 117:{_=11;break}default:{w=1;break e}}while(!1);if(T=p[22e3+(_*24|0)+8>>2]|0,m=p[22e3+(_*24|0)+16>>2]|0,_=p[D>>2]|0,(_|0)!=(p[l>>2]|0)&&(l=ni(M)|0,_=p[D>>2]|0,l|(_|0)==(m|0)&&(w=(w+1|0)%6|0)),(d|0)==3&(_|0)==(m|0)){w=(w+5|0)%6|0,T=22;break}(d|0)==5&(_|0)==(T|0)&&(w=(w+1|0)%6|0),T=22}else T=22;while(!1);return(T|0)==22&&(p[v>>2]=w,w=0),v=w,Ie=h,v|0}function Nr(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0,re=0;if(re=Ie,Ie=Ie+32|0,Z=re+24|0,X=re+20|0,L=re+8|0,R=re+16|0,P=re,d=(Sn(_,m)|0)==0,d=d?6:5,g=jt(_|0,m|0,52)|0,Me()|0,g=g&15,d>>>0<=v>>>0)return w=2,Ie=re,w|0;C=(g|0)==0,!C&&(U=Zt(7,0,(g^15)*3|0)|0,(U&_|0)==0&((Me()|0)&m|0)==0)?T=v:M=4;e:do if((M|0)==4){if(T=(Sn(_,m)|0)!=0,((T?4:5)|0)<(v|0)||qi(_,m,Z)|0||(M=(p[Z>>2]|0)+v|0,T?T=22288+(((M|0)%5|0)<<2)|0:T=22320+(((M|0)%6|0)<<2)|0,U=p[T>>2]|0,(U|0)==7))return w=1,Ie=re,w|0;p[X>>2]=0,T=wn(_,m,U,X,L)|0;do if(!T){if(l=L,h=p[l>>2]|0,l=p[l+4>>2]|0,D=l>>>0<m>>>0|(l|0)==(m|0)&h>>>0<_>>>0,M=D?h:_,D=D?l:m,!C&&(C=Zt(7,0,(g^15)*3|0)|0,(h&C|0)==0&(l&(Me()|0)|0)==0))T=v;else{if(l=(v+-1+d|0)%(d|0)|0,T=Sn(_,m)|0,(l|0)<0&&Wt(23313,23315,245,23324),d=(T|0)!=0,((d?4:5)|0)<(l|0)&&Wt(23313,23315,245,23324),qi(_,m,Z)|0&&Wt(23313,23315,245,23324),T=(p[Z>>2]|0)+l|0,d?T=22288+(((T|0)%5|0)<<2)|0:T=22320+(((T|0)%6|0)<<2)|0,l=p[T>>2]|0,(l|0)==7&&Wt(23313,23315,245,23324),p[R>>2]=0,T=wn(_,m,l,R,P)|0,T|0)break;h=P,d=p[h>>2]|0,h=p[h+4>>2]|0;do if(h>>>0<D>>>0|(h|0)==(D|0)&d>>>0<M>>>0){if(Sn(d,h)|0?M=cl(d,h,_,m)|0:M=p[22384+((((p[R>>2]|0)+(p[22352+(l<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,T=Sn(d,h)|0,(M+-1|0)>>>0>5){T=-1,M=d,D=h;break}if(T=(T|0)!=0,(M|0)==1&T){T=-1,M=d,D=h;break}do if(qi(d,h,Z)|0)T=-1;else if(T){T=((p[21936+(M<<2)>>2]|0)+5-(p[Z>>2]|0)|0)%5|0;break}else{T=((p[21968+(M<<2)>>2]|0)+6-(p[Z>>2]|0)|0)%6|0;break}while(!1);M=d,D=h}else T=v;while(!1);l=L,h=p[l>>2]|0,l=p[l+4>>2]|0}if((M|0)==(h|0)&(D|0)==(l|0)){if(d=(Sn(h,l)|0)!=0,d?_=cl(h,l,_,m)|0:_=p[22384+((((p[X>>2]|0)+(p[22352+(U<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,T=Sn(h,l)|0,(_+-1|0)>>>0<=5&&(te=(T|0)!=0,!((_|0)==1&te)))do if(qi(h,l,Z)|0)T=-1;else if(te){T=((p[21936+(_<<2)>>2]|0)+5-(p[Z>>2]|0)|0)%5|0;break}else{T=((p[21968+(_<<2)>>2]|0)+6-(p[Z>>2]|0)|0)%6|0;break}while(!1);else T=-1;T=T+1|0,T=(T|0)==6|d&(T|0)==5?0:T}m=D,_=M;break e}while(!1);return w=T,Ie=re,w|0}while(!1);return te=Zt(T|0,0,56)|0,Z=Me()|0|m&-2130706433|536870912,p[w>>2]=te|_,p[w+4>>2]=Z,w=0,Ie=re,w|0}function Co(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0;return M=(Sn(_,m)|0)==0,w=Nr(_,m,0,v)|0,T=(w|0)==0,M?!T||(w=Nr(_,m,1,v+8|0)|0,w|0)||(w=Nr(_,m,2,v+16|0)|0,w|0)||(w=Nr(_,m,3,v+24|0)|0,w|0)||(w=Nr(_,m,4,v+32|0)|0,w)?(M=w,M|0):Nr(_,m,5,v+40|0)|0:!T||(w=Nr(_,m,1,v+8|0)|0,w|0)||(w=Nr(_,m,2,v+16|0)|0,w|0)||(w=Nr(_,m,3,v+24|0)|0,w|0)||(w=Nr(_,m,4,v+32|0)|0,w|0)?(M=w,M|0):(M=v+40|0,p[M>>2]=0,p[M+4>>2]=0,M=0,M|0)}function Zs(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0;return d=Ie,Ie=Ie+192|0,T=d,M=d+168|0,D=jt(_|0,m|0,56)|0,Me()|0,D=D&7,l=m&-2130706433|134217728,w=Ga(_,l,M)|0,w|0?(l=w,Ie=d,l|0):(m=jt(_|0,m|0,52)|0,Me()|0,m=m&15,Sn(_,l)|0?zo(M,m,D,1,T):Ql(M,m,D,1,T),l=T+8|0,p[v>>2]=p[l>>2],p[v+4>>2]=p[l+4>>2],p[v+8>>2]=p[l+8>>2],p[v+12>>2]=p[l+12>>2],l=0,Ie=d,l|0)}function Gi(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0;return T=Ie,Ie=Ie+16|0,v=T,!(!0&(m&2013265920|0)==536870912)||(w=m&-2130706433|134217728,!(Vo(_,w)|0))?(w=0,Ie=T,w|0):(M=jt(_|0,m|0,56)|0,Me()|0,M=(Nr(_,w,M&7,v)|0)==0,w=v,w=M&((p[w>>2]|0)==(_|0)?(p[w+4>>2]|0)==(m|0):0)&1,Ie=T,w|0)}function ma(_,m,v){_=_|0,m=m|0,v=v|0;var w=0;(m|0)>0?(w=eo(m,4)|0,p[_>>2]=w,w||Wt(23337,23360,40,23374)):p[_>>2]=0,p[_+4>>2]=m,p[_+8>>2]=0,p[_+12>>2]=v}function Jo(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;T=_+4|0,M=_+12|0,D=_+8|0;e:for(;;){for(v=p[T>>2]|0,m=0;;){if((m|0)>=(v|0))break e;if(w=p[_>>2]|0,l=p[w+(m<<2)>>2]|0,!l)m=m+1|0;else break}m=w+(~~(+It(+(+ut(10,+ +(15-(p[M>>2]|0)|0))*(+le[l>>3]+ +le[l+8>>3])))%+(v|0))>>>0<<2)|0,v=p[m>>2]|0;t:do if(v|0){if(w=l+32|0,(v|0)==(l|0))p[m>>2]=p[w>>2];else{if(v=v+32|0,m=p[v>>2]|0,!m)break;for(;(m|0)!=(l|0);)if(v=m+32|0,m=p[v>>2]|0,!m)break t;p[v>>2]=p[w>>2]}Dr(l),p[D>>2]=(p[D>>2]|0)+-1}while(!1)}Dr(p[_>>2]|0)}function Qs(_){_=_|0;var m=0,v=0,w=0;for(w=p[_+4>>2]|0,v=0;;){if((v|0)>=(w|0)){m=0,v=4;break}if(m=p[(p[_>>2]|0)+(v<<2)>>2]|0,!m)v=v+1|0;else{v=4;break}}return(v|0)==4?m|0:0}function Yi(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0;if(v=~~(+It(+(+ut(10,+ +(15-(p[_+12>>2]|0)|0))*(+le[m>>3]+ +le[m+8>>3])))%+(p[_+4>>2]|0))>>>0,v=(p[_>>2]|0)+(v<<2)|0,w=p[v>>2]|0,!w)return M=1,M|0;M=m+32|0;do if((w|0)!=(m|0)){if(v=p[w+32>>2]|0,!v)return M=1,M|0;for(T=v;;){if((T|0)==(m|0)){T=8;break}if(v=p[T+32>>2]|0,v)w=T,T=v;else{v=1,T=10;break}}if((T|0)==8){p[w+32>>2]=p[M>>2];break}else if((T|0)==10)return v|0}else p[v>>2]=p[M>>2];while(!1);return Dr(m),M=_+8|0,p[M>>2]=(p[M>>2]|0)+-1,M=0,M|0}function bl(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0;M=Vn(40)|0,M||Wt(23390,23360,98,23403),p[M>>2]=p[m>>2],p[M+4>>2]=p[m+4>>2],p[M+8>>2]=p[m+8>>2],p[M+12>>2]=p[m+12>>2],T=M+16|0,p[T>>2]=p[v>>2],p[T+4>>2]=p[v+4>>2],p[T+8>>2]=p[v+8>>2],p[T+12>>2]=p[v+12>>2],p[M+32>>2]=0,T=~~(+It(+(+ut(10,+ +(15-(p[_+12>>2]|0)|0))*(+le[m>>3]+ +le[m+8>>3])))%+(p[_+4>>2]|0))>>>0,T=(p[_>>2]|0)+(T<<2)|0,w=p[T>>2]|0;do if(!w)p[T>>2]=M;else{for(;!(Ha(w,m)|0&&Ha(w+16|0,v)|0);)if(T=p[w+32>>2]|0,w=T|0?T:w,!(p[w+32>>2]|0)){D=10;break}if((D|0)==10){p[w+32>>2]=M;break}return Dr(M),D=w,D|0}while(!1);return D=_+8|0,p[D>>2]=(p[D>>2]|0)+1,D=M,D|0}function _r(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0;if(T=~~(+It(+(+ut(10,+ +(15-(p[_+12>>2]|0)|0))*(+le[m>>3]+ +le[m+8>>3])))%+(p[_+4>>2]|0))>>>0,T=p[(p[_>>2]|0)+(T<<2)>>2]|0,!T)return v=0,v|0;if(!v){for(_=T;;){if(Ha(_,m)|0){w=10;break}if(_=p[_+32>>2]|0,!_){_=0,w=10;break}}if((w|0)==10)return _|0}for(_=T;;){if(Ha(_,m)|0&&Ha(_+16|0,v)|0){w=10;break}if(_=p[_+32>>2]|0,!_){_=0,w=10;break}}return(w|0)==10?_|0:0}function or(_,m){_=_|0,m=m|0;var v=0;if(v=~~(+It(+(+ut(10,+ +(15-(p[_+12>>2]|0)|0))*(+le[m>>3]+ +le[m+8>>3])))%+(p[_+4>>2]|0))>>>0,_=p[(p[_>>2]|0)+(v<<2)>>2]|0,!_)return v=0,v|0;for(;;){if(Ha(_,m)|0){m=5;break}if(_=p[_+32>>2]|0,!_){_=0,m=5;break}}return(m|0)==5?_|0:0}function hu(){return 23424}function is(_){return _=+_,+ +qo(+_)}function Vi(_){return _=+_,~~+is(_)|0}function Vn(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0,re=0,ae=0,xe=0;xe=Ie,Ie=Ie+16|0,P=xe;do if(_>>>0<245){if(h=_>>>0<11?16:_+11&-8,_=h>>>3,C=p[5857]|0,v=C>>>_,v&3|0)return m=(v&1^1)+_|0,_=23468+(m<<1<<2)|0,v=_+8|0,w=p[v>>2]|0,T=w+8|0,M=p[T>>2]|0,(M|0)==(_|0)?p[5857]=C&~(1<<m):(p[M+12>>2]=_,p[v>>2]=M),ae=m<<3,p[w+4>>2]=ae|3,ae=w+ae+4|0,p[ae>>2]=p[ae>>2]|1,ae=T,Ie=xe,ae|0;if(g=p[5859]|0,h>>>0>g>>>0){if(v|0)return m=2<<_,m=v<<_&(m|0-m),m=(m&0-m)+-1|0,l=m>>>12&16,m=m>>>l,v=m>>>5&8,m=m>>>v,M=m>>>2&4,m=m>>>M,_=m>>>1&2,m=m>>>_,w=m>>>1&1,w=(v|l|M|_|w)+(m>>>w)|0,m=23468+(w<<1<<2)|0,_=m+8|0,M=p[_>>2]|0,l=M+8|0,v=p[l>>2]|0,(v|0)==(m|0)?(_=C&~(1<<w),p[5857]=_):(p[v+12>>2]=m,p[_>>2]=v,_=C),ae=w<<3,D=ae-h|0,p[M+4>>2]=h|3,T=M+h|0,p[T+4>>2]=D|1,p[M+ae>>2]=D,g|0&&(w=p[5862]|0,m=g>>>3,v=23468+(m<<1<<2)|0,m=1<<m,_&m?(_=v+8|0,m=p[_>>2]|0):(p[5857]=_|m,m=v,_=v+8|0),p[_>>2]=w,p[m+12>>2]=w,p[w+8>>2]=m,p[w+12>>2]=v),p[5859]=D,p[5862]=T,ae=l,Ie=xe,ae|0;if(M=p[5858]|0,M){for(v=(M&0-M)+-1|0,T=v>>>12&16,v=v>>>T,w=v>>>5&8,v=v>>>w,D=v>>>2&4,v=v>>>D,l=v>>>1&2,v=v>>>l,d=v>>>1&1,d=p[23732+((w|T|D|l|d)+(v>>>d)<<2)>>2]|0,v=d,l=d,d=(p[d+4>>2]&-8)-h|0;_=p[v+16>>2]|0,!(!_&&(_=p[v+20>>2]|0,!_));)D=(p[_+4>>2]&-8)-h|0,T=D>>>0<d>>>0,v=_,l=T?_:l,d=T?D:d;if(D=l+h|0,D>>>0>l>>>0){T=p[l+24>>2]|0,m=p[l+12>>2]|0;do if((m|0)==(l|0)){if(_=l+20|0,m=p[_>>2]|0,!m&&(_=l+16|0,m=p[_>>2]|0,!m)){v=0;break}for(;;)if(w=m+20|0,v=p[w>>2]|0,v)m=v,_=w;else if(w=m+16|0,v=p[w>>2]|0,v)m=v,_=w;else break;p[_>>2]=0,v=m}else v=p[l+8>>2]|0,p[v+12>>2]=m,p[m+8>>2]=v,v=m;while(!1);do if(T|0){if(m=p[l+28>>2]|0,_=23732+(m<<2)|0,(l|0)==(p[_>>2]|0)){if(p[_>>2]=v,!v){p[5858]=M&~(1<<m);break}}else if(ae=T+16|0,p[((p[ae>>2]|0)==(l|0)?ae:T+20|0)>>2]=v,!v)break;p[v+24>>2]=T,m=p[l+16>>2]|0,m|0&&(p[v+16>>2]=m,p[m+24>>2]=v),m=p[l+20>>2]|0,m|0&&(p[v+20>>2]=m,p[m+24>>2]=v)}while(!1);return d>>>0<16?(ae=d+h|0,p[l+4>>2]=ae|3,ae=l+ae+4|0,p[ae>>2]=p[ae>>2]|1):(p[l+4>>2]=h|3,p[D+4>>2]=d|1,p[D+d>>2]=d,g|0&&(w=p[5862]|0,m=g>>>3,v=23468+(m<<1<<2)|0,m=1<<m,m&C?(_=v+8|0,m=p[_>>2]|0):(p[5857]=m|C,m=v,_=v+8|0),p[_>>2]=w,p[m+12>>2]=w,p[w+8>>2]=m,p[w+12>>2]=v),p[5859]=d,p[5862]=D),ae=l+8|0,Ie=xe,ae|0}else C=h}else C=h}else C=h}else if(_>>>0<=4294967231)if(_=_+11|0,h=_&-8,w=p[5858]|0,w){T=0-h|0,_=_>>>8,_?h>>>0>16777215?d=31:(C=(_+1048320|0)>>>16&8,U=_<<C,l=(U+520192|0)>>>16&4,U=U<<l,d=(U+245760|0)>>>16&2,d=14-(l|C|d)+(U<<d>>>15)|0,d=h>>>(d+7|0)&1|d<<1):d=0,v=p[23732+(d<<2)>>2]|0;e:do if(!v)v=0,_=0,U=61;else for(_=0,l=h<<((d|0)==31?0:25-(d>>>1)|0),M=0;;){if(D=(p[v+4>>2]&-8)-h|0,D>>>0<T>>>0)if(D)_=v,T=D;else{_=v,T=0,U=65;break e}if(U=p[v+20>>2]|0,v=p[v+16+(l>>>31<<2)>>2]|0,M=(U|0)==0|(U|0)==(v|0)?M:U,v)l=l<<1;else{v=M,U=61;break}}while(!1);if((U|0)==61){if((v|0)==0&(_|0)==0){if(_=2<<d,_=(_|0-_)&w,!_){C=h;break}C=(_&0-_)+-1|0,D=C>>>12&16,C=C>>>D,M=C>>>5&8,C=C>>>M,l=C>>>2&4,C=C>>>l,d=C>>>1&2,C=C>>>d,v=C>>>1&1,_=0,v=p[23732+((M|D|l|d|v)+(C>>>v)<<2)>>2]|0}v?U=65:(l=_,D=T)}if((U|0)==65)for(M=v;;)if(C=(p[M+4>>2]&-8)-h|0,v=C>>>0<T>>>0,T=v?C:T,_=v?M:_,v=p[M+16>>2]|0,v||(v=p[M+20>>2]|0),v)M=v;else{l=_,D=T;break}if(l|0&&D>>>0<((p[5859]|0)-h|0)>>>0&&(g=l+h|0,g>>>0>l>>>0)){M=p[l+24>>2]|0,m=p[l+12>>2]|0;do if((m|0)==(l|0)){if(_=l+20|0,m=p[_>>2]|0,!m&&(_=l+16|0,m=p[_>>2]|0,!m)){m=0;break}for(;;)if(T=m+20|0,v=p[T>>2]|0,v)m=v,_=T;else if(T=m+16|0,v=p[T>>2]|0,v)m=v,_=T;else break;p[_>>2]=0}else ae=p[l+8>>2]|0,p[ae+12>>2]=m,p[m+8>>2]=ae;while(!1);do if(M){if(_=p[l+28>>2]|0,v=23732+(_<<2)|0,(l|0)==(p[v>>2]|0)){if(p[v>>2]=m,!m){w=w&~(1<<_),p[5858]=w;break}}else if(ae=M+16|0,p[((p[ae>>2]|0)==(l|0)?ae:M+20|0)>>2]=m,!m)break;p[m+24>>2]=M,_=p[l+16>>2]|0,_|0&&(p[m+16>>2]=_,p[_+24>>2]=m),_=p[l+20>>2]|0,_&&(p[m+20>>2]=_,p[_+24>>2]=m)}while(!1);e:do if(D>>>0<16)ae=D+h|0,p[l+4>>2]=ae|3,ae=l+ae+4|0,p[ae>>2]=p[ae>>2]|1;else{if(p[l+4>>2]=h|3,p[g+4>>2]=D|1,p[g+D>>2]=D,m=D>>>3,D>>>0<256){v=23468+(m<<1<<2)|0,_=p[5857]|0,m=1<<m,_&m?(_=v+8|0,m=p[_>>2]|0):(p[5857]=_|m,m=v,_=v+8|0),p[_>>2]=g,p[m+12>>2]=g,p[g+8>>2]=m,p[g+12>>2]=v;break}if(m=D>>>8,m?D>>>0>16777215?v=31:(re=(m+1048320|0)>>>16&8,ae=m<<re,Z=(ae+520192|0)>>>16&4,ae=ae<<Z,v=(ae+245760|0)>>>16&2,v=14-(Z|re|v)+(ae<<v>>>15)|0,v=D>>>(v+7|0)&1|v<<1):v=0,m=23732+(v<<2)|0,p[g+28>>2]=v,_=g+16|0,p[_+4>>2]=0,p[_>>2]=0,_=1<<v,!(w&_)){p[5858]=w|_,p[m>>2]=g,p[g+24>>2]=m,p[g+12>>2]=g,p[g+8>>2]=g;break}m=p[m>>2]|0;t:do if((p[m+4>>2]&-8|0)!=(D|0)){for(w=D<<((v|0)==31?0:25-(v>>>1)|0);v=m+16+(w>>>31<<2)|0,_=p[v>>2]|0,!!_;)if((p[_+4>>2]&-8|0)==(D|0)){m=_;break t}else w=w<<1,m=_;p[v>>2]=g,p[g+24>>2]=m,p[g+12>>2]=g,p[g+8>>2]=g;break e}while(!1);re=m+8|0,ae=p[re>>2]|0,p[ae+12>>2]=g,p[re>>2]=g,p[g+8>>2]=ae,p[g+12>>2]=m,p[g+24>>2]=0}while(!1);return ae=l+8|0,Ie=xe,ae|0}else C=h}else C=h;else C=-1;while(!1);if(v=p[5859]|0,v>>>0>=C>>>0)return m=v-C|0,_=p[5862]|0,m>>>0>15?(ae=_+C|0,p[5862]=ae,p[5859]=m,p[ae+4>>2]=m|1,p[_+v>>2]=m,p[_+4>>2]=C|3):(p[5859]=0,p[5862]=0,p[_+4>>2]=v|3,ae=_+v+4|0,p[ae>>2]=p[ae>>2]|1),ae=_+8|0,Ie=xe,ae|0;if(D=p[5860]|0,D>>>0>C>>>0)return Z=D-C|0,p[5860]=Z,ae=p[5863]|0,re=ae+C|0,p[5863]=re,p[re+4>>2]=Z|1,p[ae+4>>2]=C|3,ae=ae+8|0,Ie=xe,ae|0;if(p[5975]|0?_=p[5977]|0:(p[5977]=4096,p[5976]=4096,p[5978]=-1,p[5979]=-1,p[5980]=0,p[5968]=0,p[5975]=P&-16^1431655768,_=4096),l=C+48|0,d=C+47|0,M=_+d|0,T=0-_|0,h=M&T,h>>>0<=C>>>0||(_=p[5967]|0,_|0&&(g=p[5965]|0,P=g+h|0,P>>>0<=g>>>0|P>>>0>_>>>0)))return ae=0,Ie=xe,ae|0;e:do if(p[5968]&4)m=0,U=143;else{v=p[5863]|0;t:do if(v){for(w=23876;P=p[w>>2]|0,!(P>>>0<=v>>>0&&(P+(p[w+4>>2]|0)|0)>>>0>v>>>0);)if(_=p[w+8>>2]|0,_)w=_;else{U=128;break t}if(m=M-D&T,m>>>0<2147483647)if(_=hs(m|0)|0,(_|0)==((p[w>>2]|0)+(p[w+4>>2]|0)|0)){if((_|0)!=-1){D=m,M=_,U=145;break e}}else w=_,U=136;else m=0}else U=128;while(!1);do if((U|0)==128)if(v=hs(0)|0,(v|0)!=-1&&(m=v,R=p[5976]|0,L=R+-1|0,m=(L&m|0?(L+m&0-R)-m|0:0)+h|0,R=p[5965]|0,L=m+R|0,m>>>0>C>>>0&m>>>0<2147483647)){if(P=p[5967]|0,P|0&&L>>>0<=R>>>0|L>>>0>P>>>0){m=0;break}if(_=hs(m|0)|0,(_|0)==(v|0)){D=m,M=v,U=145;break e}else w=_,U=136}else m=0;while(!1);do if((U|0)==136){if(v=0-m|0,!(l>>>0>m>>>0&(m>>>0<2147483647&(w|0)!=-1)))if((w|0)==-1){m=0;break}else{D=m,M=w,U=145;break e}if(_=p[5977]|0,_=d-m+_&0-_,_>>>0>=2147483647){D=m,M=w,U=145;break e}if((hs(_|0)|0)==-1){hs(v|0)|0,m=0;break}else{D=_+m|0,M=w,U=145;break e}}while(!1);p[5968]=p[5968]|4,U=143}while(!1);if((U|0)==143&&h>>>0<2147483647&&(Z=hs(h|0)|0,L=hs(0)|0,X=L-Z|0,te=X>>>0>(C+40|0)>>>0,!((Z|0)==-1|te^1|Z>>>0<L>>>0&((Z|0)!=-1&(L|0)!=-1)^1))&&(D=te?X:m,M=Z,U=145),(U|0)==145){m=(p[5965]|0)+D|0,p[5965]=m,m>>>0>(p[5966]|0)>>>0&&(p[5966]=m),d=p[5863]|0;e:do if(d){for(m=23876;;){if(_=p[m>>2]|0,v=p[m+4>>2]|0,(M|0)==(_+v|0)){U=154;break}if(w=p[m+8>>2]|0,w)m=w;else break}if((U|0)==154&&(re=m+4|0,(p[m+12>>2]&8|0)==0)&&M>>>0>d>>>0&_>>>0<=d>>>0){p[re>>2]=v+D,ae=(p[5860]|0)+D|0,Z=d+8|0,Z=Z&7|0?0-Z&7:0,re=d+Z|0,Z=ae-Z|0,p[5863]=re,p[5860]=Z,p[re+4>>2]=Z|1,p[d+ae+4>>2]=40,p[5864]=p[5979];break}for(M>>>0<(p[5861]|0)>>>0&&(p[5861]=M),v=M+D|0,m=23876;;){if((p[m>>2]|0)==(v|0)){U=162;break}if(_=p[m+8>>2]|0,_)m=_;else break}if((U|0)==162&&!(p[m+12>>2]&8|0)){p[m>>2]=M,g=m+4|0,p[g>>2]=(p[g>>2]|0)+D,g=M+8|0,g=M+(g&7|0?0-g&7:0)|0,m=v+8|0,m=v+(m&7|0?0-m&7:0)|0,h=g+C|0,l=m-g-C|0,p[g+4>>2]=C|3;t:do if((d|0)==(m|0))ae=(p[5860]|0)+l|0,p[5860]=ae,p[5863]=h,p[h+4>>2]=ae|1;else{if((p[5862]|0)==(m|0)){ae=(p[5859]|0)+l|0,p[5859]=ae,p[5862]=h,p[h+4>>2]=ae|1,p[h+ae>>2]=ae;break}if(_=p[m+4>>2]|0,(_&3|0)==1){D=_&-8,w=_>>>3;r:do if(_>>>0<256)if(_=p[m+8>>2]|0,v=p[m+12>>2]|0,(v|0)==(_|0)){p[5857]=p[5857]&~(1<<w);break}else{p[_+12>>2]=v,p[v+8>>2]=_;break}else{M=p[m+24>>2]|0,_=p[m+12>>2]|0;do if((_|0)==(m|0)){if(v=m+16|0,w=v+4|0,_=p[w>>2]|0,_)v=w;else if(_=p[v>>2]|0,!_){_=0;break}for(;;)if(T=_+20|0,w=p[T>>2]|0,w)_=w,v=T;else if(T=_+16|0,w=p[T>>2]|0,w)_=w,v=T;else break;p[v>>2]=0}else ae=p[m+8>>2]|0,p[ae+12>>2]=_,p[_+8>>2]=ae;while(!1);if(!M)break;v=p[m+28>>2]|0,w=23732+(v<<2)|0;do if((p[w>>2]|0)!=(m|0)){if(ae=M+16|0,p[((p[ae>>2]|0)==(m|0)?ae:M+20|0)>>2]=_,!_)break r}else{if(p[w>>2]=_,_|0)break;p[5858]=p[5858]&~(1<<v);break r}while(!1);if(p[_+24>>2]=M,v=m+16|0,w=p[v>>2]|0,w|0&&(p[_+16>>2]=w,p[w+24>>2]=_),v=p[v+4>>2]|0,!v)break;p[_+20>>2]=v,p[v+24>>2]=_}while(!1);m=m+D|0,T=D+l|0}else T=l;if(m=m+4|0,p[m>>2]=p[m>>2]&-2,p[h+4>>2]=T|1,p[h+T>>2]=T,m=T>>>3,T>>>0<256){v=23468+(m<<1<<2)|0,_=p[5857]|0,m=1<<m,_&m?(_=v+8|0,m=p[_>>2]|0):(p[5857]=_|m,m=v,_=v+8|0),p[_>>2]=h,p[m+12>>2]=h,p[h+8>>2]=m,p[h+12>>2]=v;break}m=T>>>8;do if(!m)w=0;else{if(T>>>0>16777215){w=31;break}re=(m+1048320|0)>>>16&8,ae=m<<re,Z=(ae+520192|0)>>>16&4,ae=ae<<Z,w=(ae+245760|0)>>>16&2,w=14-(Z|re|w)+(ae<<w>>>15)|0,w=T>>>(w+7|0)&1|w<<1}while(!1);if(m=23732+(w<<2)|0,p[h+28>>2]=w,_=h+16|0,p[_+4>>2]=0,p[_>>2]=0,_=p[5858]|0,v=1<<w,!(_&v)){p[5858]=_|v,p[m>>2]=h,p[h+24>>2]=m,p[h+12>>2]=h,p[h+8>>2]=h;break}m=p[m>>2]|0;r:do if((p[m+4>>2]&-8|0)!=(T|0)){for(w=T<<((w|0)==31?0:25-(w>>>1)|0);v=m+16+(w>>>31<<2)|0,_=p[v>>2]|0,!!_;)if((p[_+4>>2]&-8|0)==(T|0)){m=_;break r}else w=w<<1,m=_;p[v>>2]=h,p[h+24>>2]=m,p[h+12>>2]=h,p[h+8>>2]=h;break t}while(!1);re=m+8|0,ae=p[re>>2]|0,p[ae+12>>2]=h,p[re>>2]=h,p[h+8>>2]=ae,p[h+12>>2]=m,p[h+24>>2]=0}while(!1);return ae=g+8|0,Ie=xe,ae|0}for(m=23876;_=p[m>>2]|0,!(_>>>0<=d>>>0&&(ae=_+(p[m+4>>2]|0)|0,ae>>>0>d>>>0));)m=p[m+8>>2]|0;T=ae+-47|0,_=T+8|0,_=T+(_&7|0?0-_&7:0)|0,T=d+16|0,_=_>>>0<T>>>0?d:_,m=_+8|0,v=D+-40|0,Z=M+8|0,Z=Z&7|0?0-Z&7:0,re=M+Z|0,Z=v-Z|0,p[5863]=re,p[5860]=Z,p[re+4>>2]=Z|1,p[M+v+4>>2]=40,p[5864]=p[5979],v=_+4|0,p[v>>2]=27,p[m>>2]=p[5969],p[m+4>>2]=p[5970],p[m+8>>2]=p[5971],p[m+12>>2]=p[5972],p[5969]=M,p[5970]=D,p[5972]=0,p[5971]=m,m=_+24|0;do re=m,m=m+4|0,p[m>>2]=7;while((re+8|0)>>>0<ae>>>0);if((_|0)!=(d|0)){if(M=_-d|0,p[v>>2]=p[v>>2]&-2,p[d+4>>2]=M|1,p[_>>2]=M,m=M>>>3,M>>>0<256){v=23468+(m<<1<<2)|0,_=p[5857]|0,m=1<<m,_&m?(_=v+8|0,m=p[_>>2]|0):(p[5857]=_|m,m=v,_=v+8|0),p[_>>2]=d,p[m+12>>2]=d,p[d+8>>2]=m,p[d+12>>2]=v;break}if(m=M>>>8,m?M>>>0>16777215?w=31:(re=(m+1048320|0)>>>16&8,ae=m<<re,Z=(ae+520192|0)>>>16&4,ae=ae<<Z,w=(ae+245760|0)>>>16&2,w=14-(Z|re|w)+(ae<<w>>>15)|0,w=M>>>(w+7|0)&1|w<<1):w=0,v=23732+(w<<2)|0,p[d+28>>2]=w,p[d+20>>2]=0,p[T>>2]=0,m=p[5858]|0,_=1<<w,!(m&_)){p[5858]=m|_,p[v>>2]=d,p[d+24>>2]=v,p[d+12>>2]=d,p[d+8>>2]=d;break}m=p[v>>2]|0;t:do if((p[m+4>>2]&-8|0)!=(M|0)){for(w=M<<((w|0)==31?0:25-(w>>>1)|0);v=m+16+(w>>>31<<2)|0,_=p[v>>2]|0,!!_;)if((p[_+4>>2]&-8|0)==(M|0)){m=_;break t}else w=w<<1,m=_;p[v>>2]=d,p[d+24>>2]=m,p[d+12>>2]=d,p[d+8>>2]=d;break e}while(!1);re=m+8|0,ae=p[re>>2]|0,p[ae+12>>2]=d,p[re>>2]=d,p[d+8>>2]=ae,p[d+12>>2]=m,p[d+24>>2]=0}}else ae=p[5861]|0,(ae|0)==0|M>>>0<ae>>>0&&(p[5861]=M),p[5969]=M,p[5970]=D,p[5972]=0,p[5866]=p[5975],p[5865]=-1,p[5870]=23468,p[5869]=23468,p[5872]=23476,p[5871]=23476,p[5874]=23484,p[5873]=23484,p[5876]=23492,p[5875]=23492,p[5878]=23500,p[5877]=23500,p[5880]=23508,p[5879]=23508,p[5882]=23516,p[5881]=23516,p[5884]=23524,p[5883]=23524,p[5886]=23532,p[5885]=23532,p[5888]=23540,p[5887]=23540,p[5890]=23548,p[5889]=23548,p[5892]=23556,p[5891]=23556,p[5894]=23564,p[5893]=23564,p[5896]=23572,p[5895]=23572,p[5898]=23580,p[5897]=23580,p[5900]=23588,p[5899]=23588,p[5902]=23596,p[5901]=23596,p[5904]=23604,p[5903]=23604,p[5906]=23612,p[5905]=23612,p[5908]=23620,p[5907]=23620,p[5910]=23628,p[5909]=23628,p[5912]=23636,p[5911]=23636,p[5914]=23644,p[5913]=23644,p[5916]=23652,p[5915]=23652,p[5918]=23660,p[5917]=23660,p[5920]=23668,p[5919]=23668,p[5922]=23676,p[5921]=23676,p[5924]=23684,p[5923]=23684,p[5926]=23692,p[5925]=23692,p[5928]=23700,p[5927]=23700,p[5930]=23708,p[5929]=23708,p[5932]=23716,p[5931]=23716,ae=D+-40|0,Z=M+8|0,Z=Z&7|0?0-Z&7:0,re=M+Z|0,Z=ae-Z|0,p[5863]=re,p[5860]=Z,p[re+4>>2]=Z|1,p[M+ae+4>>2]=40,p[5864]=p[5979];while(!1);if(m=p[5860]|0,m>>>0>C>>>0)return Z=m-C|0,p[5860]=Z,ae=p[5863]|0,re=ae+C|0,p[5863]=re,p[re+4>>2]=Z|1,p[ae+4>>2]=C|3,ae=ae+8|0,Ie=xe,ae|0}return ae=hu()|0,p[ae>>2]=12,ae=0,Ie=xe,ae|0}function Dr(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0,d=0;if(_){v=_+-8|0,T=p[5861]|0,_=p[_+-4>>2]|0,m=_&-8,d=v+m|0;do if(_&1)l=v,D=v;else{if(w=p[v>>2]|0,!(_&3)||(D=v+(0-w)|0,M=w+m|0,D>>>0<T>>>0))return;if((p[5862]|0)==(D|0)){if(_=d+4|0,m=p[_>>2]|0,(m&3|0)!=3){l=D,m=M;break}p[5859]=M,p[_>>2]=m&-2,p[D+4>>2]=M|1,p[D+M>>2]=M;return}if(v=w>>>3,w>>>0<256)if(_=p[D+8>>2]|0,m=p[D+12>>2]|0,(m|0)==(_|0)){p[5857]=p[5857]&~(1<<v),l=D,m=M;break}else{p[_+12>>2]=m,p[m+8>>2]=_,l=D,m=M;break}T=p[D+24>>2]|0,_=p[D+12>>2]|0;do if((_|0)==(D|0)){if(m=D+16|0,v=m+4|0,_=p[v>>2]|0,_)m=v;else if(_=p[m>>2]|0,!_){_=0;break}for(;;)if(w=_+20|0,v=p[w>>2]|0,v)_=v,m=w;else if(w=_+16|0,v=p[w>>2]|0,v)_=v,m=w;else break;p[m>>2]=0}else l=p[D+8>>2]|0,p[l+12>>2]=_,p[_+8>>2]=l;while(!1);if(T){if(m=p[D+28>>2]|0,v=23732+(m<<2)|0,(p[v>>2]|0)==(D|0)){if(p[v>>2]=_,!_){p[5858]=p[5858]&~(1<<m),l=D,m=M;break}}else if(l=T+16|0,p[((p[l>>2]|0)==(D|0)?l:T+20|0)>>2]=_,!_){l=D,m=M;break}p[_+24>>2]=T,m=D+16|0,v=p[m>>2]|0,v|0&&(p[_+16>>2]=v,p[v+24>>2]=_),m=p[m+4>>2]|0,m?(p[_+20>>2]=m,p[m+24>>2]=_,l=D,m=M):(l=D,m=M)}else l=D,m=M}while(!1);if(!(D>>>0>=d>>>0)&&(_=d+4|0,w=p[_>>2]|0,!!(w&1))){if(w&2)p[_>>2]=w&-2,p[l+4>>2]=m|1,p[D+m>>2]=m,T=m;else{if((p[5863]|0)==(d|0)){if(d=(p[5860]|0)+m|0,p[5860]=d,p[5863]=l,p[l+4>>2]=d|1,(l|0)!=(p[5862]|0))return;p[5862]=0,p[5859]=0;return}if((p[5862]|0)==(d|0)){d=(p[5859]|0)+m|0,p[5859]=d,p[5862]=D,p[l+4>>2]=d|1,p[D+d>>2]=d;return}T=(w&-8)+m|0,v=w>>>3;do if(w>>>0<256)if(m=p[d+8>>2]|0,_=p[d+12>>2]|0,(_|0)==(m|0)){p[5857]=p[5857]&~(1<<v);break}else{p[m+12>>2]=_,p[_+8>>2]=m;break}else{M=p[d+24>>2]|0,_=p[d+12>>2]|0;do if((_|0)==(d|0)){if(m=d+16|0,v=m+4|0,_=p[v>>2]|0,_)m=v;else if(_=p[m>>2]|0,!_){v=0;break}for(;;)if(w=_+20|0,v=p[w>>2]|0,v)_=v,m=w;else if(w=_+16|0,v=p[w>>2]|0,v)_=v,m=w;else break;p[m>>2]=0,v=_}else v=p[d+8>>2]|0,p[v+12>>2]=_,p[_+8>>2]=v,v=_;while(!1);if(M|0){if(_=p[d+28>>2]|0,m=23732+(_<<2)|0,(p[m>>2]|0)==(d|0)){if(p[m>>2]=v,!v){p[5858]=p[5858]&~(1<<_);break}}else if(w=M+16|0,p[((p[w>>2]|0)==(d|0)?w:M+20|0)>>2]=v,!v)break;p[v+24>>2]=M,_=d+16|0,m=p[_>>2]|0,m|0&&(p[v+16>>2]=m,p[m+24>>2]=v),_=p[_+4>>2]|0,_|0&&(p[v+20>>2]=_,p[_+24>>2]=v)}}while(!1);if(p[l+4>>2]=T|1,p[D+T>>2]=T,(l|0)==(p[5862]|0)){p[5859]=T;return}}if(_=T>>>3,T>>>0<256){v=23468+(_<<1<<2)|0,m=p[5857]|0,_=1<<_,m&_?(m=v+8|0,_=p[m>>2]|0):(p[5857]=m|_,_=v,m=v+8|0),p[m>>2]=l,p[_+12>>2]=l,p[l+8>>2]=_,p[l+12>>2]=v;return}_=T>>>8,_?T>>>0>16777215?w=31:(D=(_+1048320|0)>>>16&8,d=_<<D,M=(d+520192|0)>>>16&4,d=d<<M,w=(d+245760|0)>>>16&2,w=14-(M|D|w)+(d<<w>>>15)|0,w=T>>>(w+7|0)&1|w<<1):w=0,_=23732+(w<<2)|0,p[l+28>>2]=w,p[l+20>>2]=0,p[l+16>>2]=0,m=p[5858]|0,v=1<<w;e:do if(!(m&v))p[5858]=m|v,p[_>>2]=l,p[l+24>>2]=_,p[l+12>>2]=l,p[l+8>>2]=l;else{_=p[_>>2]|0;t:do if((p[_+4>>2]&-8|0)!=(T|0)){for(w=T<<((w|0)==31?0:25-(w>>>1)|0);v=_+16+(w>>>31<<2)|0,m=p[v>>2]|0,!!m;)if((p[m+4>>2]&-8|0)==(T|0)){_=m;break t}else w=w<<1,_=m;p[v>>2]=l,p[l+24>>2]=_,p[l+12>>2]=l,p[l+8>>2]=l;break e}while(!1);D=_+8|0,d=p[D>>2]|0,p[d+12>>2]=l,p[D>>2]=l,p[l+8>>2]=d,p[l+12>>2]=_,p[l+24>>2]=0}while(!1);if(d=(p[5865]|0)+-1|0,p[5865]=d,!(d|0)){for(_=23884;_=p[_>>2]|0,_;)_=_+8|0;p[5865]=-1}}}}function eo(_,m){_=_|0,m=m|0;var v=0;return _?(v=Gr(m,_)|0,(m|_)>>>0>65535&&(v=((v>>>0)/(_>>>0)|0|0)==(m|0)?v:-1)):v=0,_=Vn(v)|0,!_||!(p[_+-4>>2]&3)||Ko(_|0,0,v|0)|0,_|0}function cn(_,m,v,w){return _=_|0,m=m|0,v=v|0,w=w|0,v=_+v>>>0,fr(m+w+(v>>>0<_>>>0|0)>>>0|0),v|0|0}function Hr(_,m,v,w){return _=_|0,m=m|0,v=v|0,w=w|0,w=m-w-(v>>>0>_>>>0|0)>>>0,fr(w|0),_-v>>>0|0|0}function Mi(_){return _=_|0,(_?31-(Vr(_^_-1)|0)|0:32)|0}function du(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0;if(g=_,d=m,h=d,D=v,P=w,l=P,!h)return M=(T|0)!=0,l?M?(p[T>>2]=_|0,p[T+4>>2]=m&0,P=0,T=0,fr(P|0),T|0):(P=0,T=0,fr(P|0),T|0):(M&&(p[T>>2]=(g>>>0)%(D>>>0),p[T+4>>2]=0),P=0,T=(g>>>0)/(D>>>0)>>>0,fr(P|0),T|0);M=(l|0)==0;do if(D){if(!M){if(M=(Vr(l|0)|0)-(Vr(h|0)|0)|0,M>>>0<=31){C=M+1|0,l=31-M|0,m=M-31>>31,D=C,_=g>>>(C>>>0)&m|h<<l,m=h>>>(C>>>0)&m,M=0,l=g<<l;break}return T?(p[T>>2]=_|0,p[T+4>>2]=d|m&0,P=0,T=0,fr(P|0),T|0):(P=0,T=0,fr(P|0),T|0)}if(M=D-1|0,M&D|0){l=(Vr(D|0)|0)+33-(Vr(h|0)|0)|0,L=64-l|0,C=32-l|0,d=C>>31,R=l-32|0,m=R>>31,D=l,_=C-1>>31&h>>>(R>>>0)|(h<<C|g>>>(l>>>0))&m,m=m&h>>>(l>>>0),M=g<<L&d,l=(h<<L|g>>>(R>>>0))&d|g<<C&l-33>>31;break}return T|0&&(p[T>>2]=M&g,p[T+4>>2]=0),(D|0)==1?(R=d|m&0,L=_|0|0,fr(R|0),L|0):(L=Mi(D|0)|0,R=h>>>(L>>>0)|0,L=h<<32-L|g>>>(L>>>0)|0,fr(R|0),L|0)}else{if(M)return T|0&&(p[T>>2]=(h>>>0)%(D>>>0),p[T+4>>2]=0),R=0,L=(h>>>0)/(D>>>0)>>>0,fr(R|0),L|0;if(!g)return T|0&&(p[T>>2]=0,p[T+4>>2]=(h>>>0)%(l>>>0)),R=0,L=(h>>>0)/(l>>>0)>>>0,fr(R|0),L|0;if(M=l-1|0,!(M&l))return T|0&&(p[T>>2]=_|0,p[T+4>>2]=M&h|m&0),R=0,L=h>>>((Mi(l|0)|0)>>>0),fr(R|0),L|0;if(M=(Vr(l|0)|0)-(Vr(h|0)|0)|0,M>>>0<=30){m=M+1|0,l=31-M|0,D=m,_=h<<l|g>>>(m>>>0),m=h>>>(m>>>0),M=0,l=g<<l;break}return T?(p[T>>2]=_|0,p[T+4>>2]=d|m&0,R=0,L=0,fr(R|0),L|0):(R=0,L=0,fr(R|0),L|0)}while(!1);if(!D)h=l,d=0,l=0;else{C=v|0|0,g=P|w&0,h=cn(C|0,g|0,-1,-1)|0,v=Me()|0,d=l,l=0;do w=d,d=M>>>31|d<<1,M=l|M<<1,w=_<<1|w>>>31|0,P=_>>>31|m<<1|0,Hr(h|0,v|0,w|0,P|0)|0,L=Me()|0,R=L>>31|((L|0)<0?-1:0)<<1,l=R&1,_=Hr(w|0,P|0,R&C|0,(((L|0)<0?-1:0)>>31|((L|0)<0?-1:0)<<1)&g|0)|0,m=Me()|0,D=D-1|0;while(D|0);h=d,d=0}return D=0,T|0&&(p[T>>2]=_,p[T+4>>2]=m),R=(M|0)>>>31|(h|D)<<1|(D<<1|M>>>31)&0|d,L=(M<<1|0)&-2|l,fr(R|0),L|0}function Ns(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0;return h=m>>31|((m|0)<0?-1:0)<<1,d=((m|0)<0?-1:0)>>31|((m|0)<0?-1:0)<<1,M=w>>31|((w|0)<0?-1:0)<<1,T=((w|0)<0?-1:0)>>31|((w|0)<0?-1:0)<<1,l=Hr(h^_|0,d^m|0,h|0,d|0)|0,D=Me()|0,_=M^h,m=T^d,Hr((du(l,D,Hr(M^v|0,T^w|0,M|0,T|0)|0,Me()|0,0)|0)^_|0,(Me()|0)^m|0,_|0,m|0)|0}function _f(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0;return M=_&65535,T=m&65535,v=Gr(T,M)|0,w=_>>>16,_=(v>>>16)+(Gr(T,w)|0)|0,T=m>>>16,m=Gr(T,M)|0,fr((_>>>16)+(Gr(T,w)|0)+(((_&65535)+m|0)>>>16)|0),_+m<<16|v&65535|0|0}function si(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0;return T=_,M=v,v=_f(T,M)|0,_=Me()|0,fr((Gr(m,M)|0)+(Gr(w,T)|0)+_|_&0|0),v|0|0|0}function Zi(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0;return T=Ie,Ie=Ie+16|0,l=T|0,D=m>>31|((m|0)<0?-1:0)<<1,M=((m|0)<0?-1:0)>>31|((m|0)<0?-1:0)<<1,h=w>>31|((w|0)<0?-1:0)<<1,d=((w|0)<0?-1:0)>>31|((w|0)<0?-1:0)<<1,_=Hr(D^_|0,M^m|0,D|0,M|0)|0,m=Me()|0,du(_,m,Hr(h^v|0,d^w|0,h|0,d|0)|0,Me()|0,l)|0,w=Hr(p[l>>2]^D|0,p[l+4>>2]^M|0,D|0,M|0)|0,v=Me()|0,Ie=T,fr(v|0),w|0}function mo(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0;return M=Ie,Ie=Ie+16|0,T=M|0,du(_,m,v,w,T)|0,Ie=M,fr(p[T+4>>2]|0),p[T>>2]|0|0}function _o(_,m,v){return _=_|0,m=m|0,v=v|0,(v|0)<32?(fr(m>>v|0),_>>>v|(m&(1<<v)-1)<<32-v):(fr(((m|0)<0?-1:0)|0),m>>v-32|0)}function jt(_,m,v){return _=_|0,m=m|0,v=v|0,(v|0)<32?(fr(m>>>v|0),_>>>v|(m&(1<<v)-1)<<32-v):(fr(0),m>>>v-32|0)}function Zt(_,m,v){return _=_|0,m=m|0,v=v|0,(v|0)<32?(fr(m<<v|(_&(1<<v)-1<<32-v)>>>32-v|0),_<<v):(fr(_<<v-32|0),0)}function Rc(_,m){return _=+_,m=+m,_!=_?+m:m!=m?+_:+fi(+_,+m)}function xl(_,m){return _=+_,m=+m,_!=_?+m:m!=m?+_:+Lr(+_,+m)}function Xo(_){return _=+_,_>=0?+Ct(_+.5):+zr(_-.5)}function Eo(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0;if((v|0)>=8192)return aa(_|0,m|0,v|0)|0,_|0;if(M=_|0,T=_+v|0,(_&3)==(m&3)){for(;_&3;){if(!v)return M|0;Se[_>>0]=Se[m>>0]|0,_=_+1|0,m=m+1|0,v=v-1|0}for(v=T&-4|0,w=v-64|0;(_|0)<=(w|0);)p[_>>2]=p[m>>2],p[_+4>>2]=p[m+4>>2],p[_+8>>2]=p[m+8>>2],p[_+12>>2]=p[m+12>>2],p[_+16>>2]=p[m+16>>2],p[_+20>>2]=p[m+20>>2],p[_+24>>2]=p[m+24>>2],p[_+28>>2]=p[m+28>>2],p[_+32>>2]=p[m+32>>2],p[_+36>>2]=p[m+36>>2],p[_+40>>2]=p[m+40>>2],p[_+44>>2]=p[m+44>>2],p[_+48>>2]=p[m+48>>2],p[_+52>>2]=p[m+52>>2],p[_+56>>2]=p[m+56>>2],p[_+60>>2]=p[m+60>>2],_=_+64|0,m=m+64|0;for(;(_|0)<(v|0);)p[_>>2]=p[m>>2],_=_+4|0,m=m+4|0}else for(v=T-4|0;(_|0)<(v|0);)Se[_>>0]=Se[m>>0]|0,Se[_+1>>0]=Se[m+1>>0]|0,Se[_+2>>0]=Se[m+2>>0]|0,Se[_+3>>0]=Se[m+3>>0]|0,_=_+4|0,m=m+4|0;for(;(_|0)<(T|0);)Se[_>>0]=Se[m>>0]|0,_=_+1|0,m=m+1|0;return M|0}function Ko(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0;if(M=_+v|0,m=m&255,(v|0)>=67){for(;_&3;)Se[_>>0]=m,_=_+1|0;for(w=M&-4|0,D=m|m<<8|m<<16|m<<24,T=w-64|0;(_|0)<=(T|0);)p[_>>2]=D,p[_+4>>2]=D,p[_+8>>2]=D,p[_+12>>2]=D,p[_+16>>2]=D,p[_+20>>2]=D,p[_+24>>2]=D,p[_+28>>2]=D,p[_+32>>2]=D,p[_+36>>2]=D,p[_+40>>2]=D,p[_+44>>2]=D,p[_+48>>2]=D,p[_+52>>2]=D,p[_+56>>2]=D,p[_+60>>2]=D,_=_+64|0;for(;(_|0)<(w|0);)p[_>>2]=D,_=_+4|0}for(;(_|0)<(M|0);)Se[_>>0]=m,_=_+1|0;return M-v|0}function qo(_){return _=+_,_>=0?+Ct(_+.5):+zr(_-.5)}function hs(_){_=_|0;var m=0,v=0,w=0;return w=ki()|0,v=p[Ke>>2]|0,m=v+_|0,(_|0)>0&(m|0)<(v|0)|(m|0)<0?(Un(m|0)|0,Xr(12),-1):(m|0)>(w|0)&&!(ti(m|0)|0)?(Xr(12),-1):(p[Ke>>2]=m,v|0)}return{___divdi3:Ns,___muldi3:si,___remdi3:Zi,___uremdi3:mo,_areNeighborCells:Aa,_bitshift64Ashr:_o,_bitshift64Lshr:jt,_bitshift64Shl:Zt,_calloc:eo,_cellAreaKm2:Rn,_cellAreaM2:Os,_cellAreaRads2:nn,_cellToBoundary:Ec,_cellToCenterChild:VA,_cellToChildPos:iu,_cellToChildren:Pn,_cellToChildrenSize:Al,_cellToLatLng:Cc,_cellToLocalIj:Ph,_cellToParent:Ho,_cellToVertex:Nr,_cellToVertexes:Co,_cellsToDirectedEdge:La,_cellsToLinkedMultiPolygon:gr,_childPosToCell:jA,_compactCells:xc,_destroyLinkedMultiPolygon:Ic,_directedEdgeToBoundary:Yl,_directedEdgeToCells:wh,_edgeLengthKm:Sc,_edgeLengthM:yl,_edgeLengthRads:_l,_emscripten_replace_memory:Lo,_free:Dr,_getBaseCellNumber:uf,_getDirectedEdgeDestination:pa,_getDirectedEdgeOrigin:Na,_getHexagonAreaAvgKm2:Mh,_getHexagonAreaAvgM2:$a,_getHexagonEdgeLengthAvgKm:Gn,_getHexagonEdgeLengthAvgM:au,_getIcosahedronFaces:Tc,_getNumCells:jo,_getPentagons:pl,_getRes0Cells:bh,_getResolution:ka,_greatCircleDistanceKm:ja,_greatCircleDistanceM:ff,_greatCircleDistanceRads:ou,_gridDisk:Bn,_gridDiskDistances:us,_gridDistance:nr,_gridPathCells:cu,_gridPathCellsSize:vs,_gridRingUnsafe:be,_i64Add:cn,_i64Subtract:Hr,_isPentagon:Sn,_isResClassIII:Ih,_isValidCell:Vo,_isValidDirectedEdge:xh,_isValidVertex:Gi,_latLngToCell:za,_llvm_maxnum_f64:Rc,_llvm_minnum_f64:xl,_llvm_round_f64:Xo,_localIjToCell:mi,_malloc:Vn,_maxFaceCount:Va,_maxGridDiskSize:xi,_maxPolygonToCellsSize:Re,_memcpy:Eo,_memset:Ko,_originToDirectedEdges:Cn,_pentagonCount:nu,_polygonToCells:At,_readInt64AsDoubleFromPointer:xs,_res0CellCount:ul,_round:qo,_sbrk:hs,_sizeOfCellBoundary:pf,_sizeOfCoordIJ:fu,_sizeOfGeoLoop:Ys,_sizeOfGeoPolygon:bs,_sizeOfH3Index:Af,_sizeOfLatLng:lu,_sizeOfLinkedGeoPolygon:uu,_uncompactCells:Sh,_uncompactCellsSize:HA,_vertexToLatLng:Zs,establishStackSpace:ri,stackAlloc:zn,stackRestore:Si,stackSave:No}}(ge,kt,Ae);e.___divdi3=wt.___divdi3,e.___muldi3=wt.___muldi3,e.___remdi3=wt.___remdi3,e.___uremdi3=wt.___uremdi3,e._areNeighborCells=wt._areNeighborCells,e._bitshift64Ashr=wt._bitshift64Ashr,e._bitshift64Lshr=wt._bitshift64Lshr,e._bitshift64Shl=wt._bitshift64Shl,e._calloc=wt._calloc,e._cellAreaKm2=wt._cellAreaKm2,e._cellAreaM2=wt._cellAreaM2,e._cellAreaRads2=wt._cellAreaRads2,e._cellToBoundary=wt._cellToBoundary,e._cellToCenterChild=wt._cellToCenterChild,e._cellToChildPos=wt._cellToChildPos,e._cellToChildren=wt._cellToChildren,e._cellToChildrenSize=wt._cellToChildrenSize,e._cellToLatLng=wt._cellToLatLng,e._cellToLocalIj=wt._cellToLocalIj,e._cellToParent=wt._cellToParent,e._cellToVertex=wt._cellToVertex,e._cellToVertexes=wt._cellToVertexes,e._cellsToDirectedEdge=wt._cellsToDirectedEdge,e._cellsToLinkedMultiPolygon=wt._cellsToLinkedMultiPolygon,e._childPosToCell=wt._childPosToCell,e._compactCells=wt._compactCells,e._destroyLinkedMultiPolygon=wt._destroyLinkedMultiPolygon,e._directedEdgeToBoundary=wt._directedEdgeToBoundary,e._directedEdgeToCells=wt._directedEdgeToCells,e._edgeLengthKm=wt._edgeLengthKm,e._edgeLengthM=wt._edgeLengthM,e._edgeLengthRads=wt._edgeLengthRads;var $=e._emscripten_replace_memory=wt._emscripten_replace_memory;e._free=wt._free,e._getBaseCellNumber=wt._getBaseCellNumber,e._getDirectedEdgeDestination=wt._getDirectedEdgeDestination,e._getDirectedEdgeOrigin=wt._getDirectedEdgeOrigin,e._getHexagonAreaAvgKm2=wt._getHexagonAreaAvgKm2,e._getHexagonAreaAvgM2=wt._getHexagonAreaAvgM2,e._getHexagonEdgeLengthAvgKm=wt._getHexagonEdgeLengthAvgKm,e._getHexagonEdgeLengthAvgM=wt._getHexagonEdgeLengthAvgM,e._getIcosahedronFaces=wt._getIcosahedronFaces,e._getNumCells=wt._getNumCells,e._getPentagons=wt._getPentagons,e._getRes0Cells=wt._getRes0Cells,e._getResolution=wt._getResolution,e._greatCircleDistanceKm=wt._greatCircleDistanceKm,e._greatCircleDistanceM=wt._greatCircleDistanceM,e._greatCircleDistanceRads=wt._greatCircleDistanceRads,e._gridDisk=wt._gridDisk,e._gridDiskDistances=wt._gridDiskDistances,e._gridDistance=wt._gridDistance,e._gridPathCells=wt._gridPathCells,e._gridPathCellsSize=wt._gridPathCellsSize,e._gridRingUnsafe=wt._gridRingUnsafe,e._i64Add=wt._i64Add,e._i64Subtract=wt._i64Subtract,e._isPentagon=wt._isPentagon,e._isResClassIII=wt._isResClassIII,e._isValidCell=wt._isValidCell,e._isValidDirectedEdge=wt._isValidDirectedEdge,e._isValidVertex=wt._isValidVertex,e._latLngToCell=wt._latLngToCell,e._llvm_maxnum_f64=wt._llvm_maxnum_f64,e._llvm_minnum_f64=wt._llvm_minnum_f64,e._llvm_round_f64=wt._llvm_round_f64,e._localIjToCell=wt._localIjToCell,e._malloc=wt._malloc,e._maxFaceCount=wt._maxFaceCount,e._maxGridDiskSize=wt._maxGridDiskSize,e._maxPolygonToCellsSize=wt._maxPolygonToCellsSize,e._memcpy=wt._memcpy,e._memset=wt._memset,e._originToDirectedEdges=wt._originToDirectedEdges,e._pentagonCount=wt._pentagonCount,e._polygonToCells=wt._polygonToCells,e._readInt64AsDoubleFromPointer=wt._readInt64AsDoubleFromPointer,e._res0CellCount=wt._res0CellCount,e._round=wt._round,e._sbrk=wt._sbrk,e._sizeOfCellBoundary=wt._sizeOfCellBoundary,e._sizeOfCoordIJ=wt._sizeOfCoordIJ,e._sizeOfGeoLoop=wt._sizeOfGeoLoop,e._sizeOfGeoPolygon=wt._sizeOfGeoPolygon,e._sizeOfH3Index=wt._sizeOfH3Index,e._sizeOfLatLng=wt._sizeOfLatLng,e._sizeOfLinkedGeoPolygon=wt._sizeOfLinkedGeoPolygon,e._uncompactCells=wt._uncompactCells,e._uncompactCellsSize=wt._uncompactCellsSize,e._vertexToLatLng=wt._vertexToLatLng,e.establishStackSpace=wt.establishStackSpace;var yt=e.stackAlloc=wt.stackAlloc,Et=e.stackRestore=wt.stackRestore,Ee=e.stackSave=wt.stackSave;if(e.asm=wt,e.cwrap=K,e.setValue=O,e.getValue=k,un){kn(un)||(un=o(un));{ei();var Je=function(de){de.byteLength&&(de=new Uint8Array(de)),ne.set(de,S),e.memoryInitializerRequest&&delete e.memoryInitializerRequest.response,$n()},ct=function(){s(un,Je,function(){throw"could not load memory initializer "+un})},Y=Mt(un);if(Y)Je(Y.buffer);else if(e.memoryInitializerRequest){var ie=function(){var de=e.memoryInitializerRequest,ve=de.response;if(de.status!==200&&de.status!==0){var ce=Mt(e.memoryInitializerRequestURL);if(ce)ve=ce.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+de.status+", retrying "+un),ct();return}}Je(ve)};e.memoryInitializerRequest.response?setTimeout(ie,0):e.memoryInitializerRequest.addEventListener("load",ie)}else ct()}}var ue;Sr=function de(){ue||ye(),ue||(Sr=de)};function ye(de){if(rn>0||(Xt(),rn>0))return;function ve(){ue||(ue=!0,!z&&($t(),Lt(),e.onRuntimeInitialized&&e.onRuntimeInitialized(),lr()))}e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),ve()},1)):ve()}e.run=ye;function Oe(de){throw e.onAbort&&e.onAbort(de),de+="",c(de),f(de),z=!0,"abort("+de+"). Build with -s ASSERTIONS=1 for more info."}if(e.abort=Oe,e.preInit)for(typeof e.preInit=="function"&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();return ye(),r}(typeof Rr=="object"?Rr:{}),fn="number",Qr=fn,Cp=fn,on=fn,an=fn,so=fn,Br=fn,yde=[["sizeOfH3Index",fn],["sizeOfLatLng",fn],["sizeOfCellBoundary",fn],["sizeOfGeoLoop",fn],["sizeOfGeoPolygon",fn],["sizeOfLinkedGeoPolygon",fn],["sizeOfCoordIJ",fn],["readInt64AsDoubleFromPointer",fn],["isValidCell",Cp,[on,an]],["latLngToCell",Qr,[fn,fn,so,Br]],["cellToLatLng",Qr,[on,an,Br]],["cellToBoundary",Qr,[on,an,Br]],["maxGridDiskSize",Qr,[fn,Br]],["gridDisk",Qr,[on,an,fn,Br]],["gridDiskDistances",Qr,[on,an,fn,Br,Br]],["gridRingUnsafe",Qr,[on,an,fn,Br]],["maxPolygonToCellsSize",Qr,[Br,so,fn,Br]],["polygonToCells",Qr,[Br,so,fn,Br]],["cellsToLinkedMultiPolygon",Qr,[Br,fn,Br]],["destroyLinkedMultiPolygon",null,[Br]],["compactCells",Qr,[Br,Br,fn,fn]],["uncompactCells",Qr,[Br,fn,fn,Br,fn,so]],["uncompactCellsSize",Qr,[Br,fn,fn,so,Br]],["isPentagon",Cp,[on,an]],["isResClassIII",Cp,[on,an]],["getBaseCellNumber",fn,[on,an]],["getResolution",fn,[on,an]],["maxFaceCount",Qr,[on,an,Br]],["getIcosahedronFaces",Qr,[on,an,Br]],["cellToParent",Qr,[on,an,so,Br]],["cellToChildren",Qr,[on,an,so,Br]],["cellToCenterChild",Qr,[on,an,so,Br]],["cellToChildrenSize",Qr,[on,an,so,Br]],["cellToChildPos",Qr,[on,an,so,Br]],["childPosToCell",Qr,[fn,fn,on,an,so,Br]],["areNeighborCells",Qr,[on,an,on,an,Br]],["cellsToDirectedEdge",Qr,[on,an,on,an,Br]],["getDirectedEdgeOrigin",Qr,[on,an,Br]],["getDirectedEdgeDestination",Qr,[on,an,Br]],["isValidDirectedEdge",Cp,[on,an]],["directedEdgeToCells",Qr,[on,an,Br]],["originToDirectedEdges",Qr,[on,an,Br]],["directedEdgeToBoundary",Qr,[on,an,Br]],["gridDistance",Qr,[on,an,on,an,Br]],["gridPathCells",Qr,[on,an,on,an,Br]],["gridPathCellsSize",Qr,[on,an,on,an,Br]],["cellToLocalIj",Qr,[on,an,on,an,fn,Br]],["localIjToCell",Qr,[on,an,Br,fn,Br]],["getHexagonAreaAvgM2",Qr,[so,Br]],["getHexagonAreaAvgKm2",Qr,[so,Br]],["getHexagonEdgeLengthAvgM",Qr,[so,Br]],["getHexagonEdgeLengthAvgKm",Qr,[so,Br]],["greatCircleDistanceM",fn,[Br,Br]],["greatCircleDistanceKm",fn,[Br,Br]],["greatCircleDistanceRads",fn,[Br,Br]],["cellAreaM2",Qr,[on,an,Br]],["cellAreaKm2",Qr,[on,an,Br]],["cellAreaRads2",Qr,[on,an,Br]],["edgeLengthM",Qr,[on,an,Br]],["edgeLengthKm",Qr,[on,an,Br]],["edgeLengthRads",Qr,[on,an,Br]],["getNumCells",Qr,[so,Br]],["getRes0Cells",Qr,[Br]],["res0CellCount",fn],["getPentagons",Qr,[fn,Br]],["pentagonCount",fn],["cellToVertex",Qr,[on,an,fn,Br]],["cellToVertexes",Qr,[on,an,Br]],["vertexToLatLng",Qr,[on,an,Br]],["isValidVertex",Cp,[on,an]]],vde=0,bde=1,xde=2,wde=3,O8=4,Cde=5,Ede=6,Tde=7,Bde=8,Sde=9,Ide=10,Mde=11,Pde=12,Rde=13,Fde=14,Dde=15,Ws={};Ws[vde]="Success";Ws[bde]="The operation failed but a more specific error is not available";Ws[xde]="Argument was outside of acceptable range";Ws[wde]="Latitude or longitude arguments were outside of acceptable range";Ws[O8]="Resolution argument was outside of acceptable range";Ws[Cde]="Cell argument was not valid";Ws[Ede]="Directed edge argument was not valid";Ws[Tde]="Undirected edge argument was not valid";Ws[Bde]="Vertex argument was not valid";Ws[Sde]="Pentagon distortion was encountered";Ws[Ide]="Duplicate input";Ws[Mde]="Cell arguments were not neighbors";Ws[Pde]="Cell arguments had incompatible resolutions";Ws[Rde]="Memory allocation failed";Ws[Fde]="Bounds of provided memory were insufficient";Ws[Dde]="Mode or flags argument was not valid";var CC=1e3,L8=1001,N8=1002,Fy={};Fy[CC]="Unknown unit";Fy[L8]="Array length out of bounds";Fy[N8]="Got unexpected null value for H3 index";var Ode="Unknown error";function k8(r,e,t){var n=t&&"value"in t,i=new Error((r[e]||Ode)+" (code: "+e+(n?", value: "+t.value:"")+")");return i.code=e,i}function U8(r,e){var t=arguments.length===2?{value:e}:{};return k8(Ws,r,t)}function Dy(r,e){var t=arguments.length===2?{value:e}:{};return k8(Fy,r,t)}function lo(r){if(r!==0)throw U8(r)}var Zn={};yde.forEach(function(e){Zn[e[0]]=Rr.cwrap.apply(Rr,e)});var eA=16,BA=4,HP=4,nl=8,EC=8,Wu=Zn.sizeOfH3Index(),TC=Zn.sizeOfLatLng(),Lde=Zn.sizeOfCellBoundary(),Nde=Zn.sizeOfGeoPolygon(),Zp=Zn.sizeOfGeoLoop(),kde=Zn.sizeOfLinkedGeoPolygon();Zn.sizeOfCoordIJ();var dA={m:"m",m2:"m2",km:"km",km2:"km2",rads:"rads",rads2:"rads2"};function z8(r){if(typeof r!="number"||r<0||r>15||Math.floor(r)!==r)throw U8(O8,r);return r}function G8(r){if(!r)throw Dy(N8);return r}var Ude=Math.pow(2,32)-1;function V8(r){if(r>Ude)throw Dy(L8,r);return r}var zde=/[^0-9a-fA-F]/;function gc(r){if(Array.isArray(r)&&r.length===2&&Number.isInteger(r[0])&&Number.isInteger(r[1]))return r;if(typeof r!="string"||zde.test(r))return[0,0];var e=parseInt(r.substring(0,r.length-8),eA),t=parseInt(r.substring(r.length-8),eA);return[t,e]}function jP(r){if(r>=0)return r.toString(eA);r=r&2147483647;var e=H8(8,r.toString(eA)),t=(parseInt(e[0],eA)+8).toString(eA);return e=t+e.substring(1),e}function Gde(r,e){return jP(e)+H8(8,jP(r))}function H8(r,e){for(var t=r-e.length,n="",i=0;i<t;i++)n+="0";return n=n+e,n}function $P(r,e,t){for(var n=r.length,i=Rr._calloc(n,TC),o=t?1:0,s=t?0:1,c=0;c<n*2;c+=2)Rr.HEAPF64.set([r[c/2][o],r[c/2][s]].map(X8),i/nl+c);return Rr.HEAPU32.set([n,i],e/BA),e}function Vde(r,e){var t=r.length-1,n=Rr._calloc(Nde),i=0,o=i+Zp,s=o+BA;$P(r[0],n+i,e);var c;if(t>0){c=Rr._calloc(t,Zp);for(var f=0;f<t;f++)$P(r[f+1],c+Zp*f,e)}return Rr.setValue(n+o,t,"i32"),Rr.setValue(n+s,c,"i32"),n}function Hde(r){var e=0,t=e+Zp,n=t+BA,i=BA;Rr._free(Rr.getValue(r+e+i,"i8*"));var o=Rr.getValue(r+t,"i32");if(o>0){for(var s=Rr.getValue(r+n,"i32"),c=0;c<o;c++)Rr._free(Rr.getValue(s+Zp*c+i,"i8*"));Rr._free(s)}Rr._free(r)}function BC(r,e){e===void 0&&(e=0);var t=Rr.getValue(r+Wu*e,"i32"),n=Rr.getValue(r+Wu*e+BA,"i32");return n?Gde(t,n):null}function j8(r,e){return e===void 0&&(e=0),Rr.getValue(r+nl*e,"double")}function SC(r){return Zn.readInt64AsDoubleFromPointer(r)}function jde(r,e,t){Rr.HEAPU32.set(gc(r),e/BA+2*t)}function IC(r,e){for(var t=[],n=0;n<e;n++){var i=BC(r,n);i!==null&&t.push(i)}return t}function $de(r,e){for(var t=e.length,n=0;n<t;n++)jde(e[n],r,n)}function M_(r){return nAe(Rr.getValue(r,"double"))}function $8(r){return[M_(r),M_(r+nl)]}function W8(r){return[M_(r+nl),M_(r)]}function Wde(r,e,t){for(var n=Rr.getValue(r,"i32"),i=r+nl,o=[],s=e?W8:$8,c=0;c<n*2;c+=2)o.push(s(i+nl*c));return t&&o.push(o[0]),o}function Jde(r,e){for(var t=[],n=W8,i,o,s,c;r;){for(t.push(i=[]),o=Rr.getValue(r,"i8*");o;){for(i.push(s=[]),c=Rr.getValue(o,"i8*");c;)s.push(n(c)),c=Rr.getValue(c+nl*2,"i8*");s.push(s[0]),o=Rr.getValue(o+HP*2,"i8*")}r=Rr.getValue(r+HP*2,"i8*")}return t}function Xde(r){var e=gc(r),t=e[0],n=e[1];return!!Zn.isPentagon(t,n)}function Tx(r){var e=gc(r),t=e[0],n=e[1];return Zn.isValidCell(t,n)?Zn.getResolution(t,n):-1}function MC(r,e,t){var n=Rr._malloc(TC);Rr.HEAPF64.set([r,e].map(X8),n/nl);var i=Rr._malloc(Wu);try{return lo(Zn.latLngToCell(n,t,i)),G8(BC(i))}finally{Rr._free(i),Rr._free(n)}}function PC(r){var e=Rr._malloc(TC),t=gc(r),n=t[0],i=t[1];try{return lo(Zn.cellToLatLng(n,i,e)),$8(e)}finally{Rr._free(e)}}function J8(r,e){var t=Rr._malloc(Lde),n=gc(r),i=n[0],o=n[1];try{return lo(Zn.cellToBoundary(i,o,t)),Wde(t,e,e)}finally{Rr._free(t)}}function Kde(r,e){var t=gc(r),n=t[0],i=t[1],o=Rr._malloc(Wu);try{return lo(Zn.cellToParent(n,i,e,o)),G8(BC(o))}finally{Rr._free(o)}}function qde(r,e){var t=gc(r),n=t[0],i=t[1],o=Rr._malloc(EC);try{lo(Zn.maxGridDiskSize(e,o));var s=V8(SC(o)),c=Rr._calloc(s,Wu);try{return lo(Zn.gridDisk(n,i,e,c)),IC(c,s)}finally{Rr._free(c)}}finally{Rr._free(o)}}function Yde(r,e,t){if(z8(e),t=!!t,r.length===0||r[0].length===0)return[];var n=typeof r[0][0]=="number"?[r]:r,i=Vde(n,t),o=Rr._malloc(EC);try{lo(Zn.maxPolygonToCellsSize(i,e,0,o));var s=V8(SC(o)),c=Rr._calloc(s,Wu);try{return lo(Zn.polygonToCells(i,e,0,c)),IC(c,s)}finally{Rr._free(c)}}finally{Rr._free(o),Hde(i)}}function Zde(r,e){if(!r||!r.length)return[];var t=r.length,n=Rr._calloc(t,Wu);$de(n,r);var i=Rr._calloc(kde);try{return lo(Zn.cellsToLinkedMultiPolygon(n,t,i)),Jde(i,e)}finally{Zn.destroyLinkedMultiPolygon(i),Rr._free(i),Rr._free(n)}}function Qde(r){var e=gc(r),t=e[0],n=e[1],i=6,o=Rr._calloc(i,Wu);try{return lo(Zn.originToDirectedEdges(t,n,o)),IC(o,i)}finally{Rr._free(o)}}function eAe(r,e){var t=gc(r),n=t[0],i=t[1],o=gc(e),s=o[0],c=o[1],f=Rr._malloc(EC);try{return lo(Zn.gridDistance(n,i,s,c,f)),SC(f)}finally{Rr._free(f)}}function tAe(r,e){var t=gc(r),n=t[0],i=t[1],o=Rr._malloc(nl);try{switch(e){case dA.m:lo(Zn.edgeLengthM(n,i,o));break;case dA.km:lo(Zn.edgeLengthKm(n,i,o));break;case dA.rads:lo(Zn.edgeLengthRads(n,i,o));break;default:throw Dy(CC,e)}return j8(o)}finally{Rr._free(o)}}function rAe(r,e){z8(r);var t=Rr._malloc(nl);try{switch(e){case dA.m:lo(Zn.getHexagonEdgeLengthAvgM(r,t));break;case dA.km:lo(Zn.getHexagonEdgeLengthAvgKm(r,t));break;default:throw Dy(CC,e)}return j8(t)}finally{Rr._free(t)}}function X8(r){return r*Math.PI/180}function nAe(r){return r*180/Math.PI}function RC(r,e){e=e===void 0?r[0][0]:e;for(const t of r){const n=t[0]-e;n>180?t[0]-=360:n<-180&&(t[0]+=360)}}function iAe(r,e,t){const[n,i]=PC(r),o=e.length;RC(e,i);const s=e[0]===e[o-1]?o-1:o;for(let c=0;c<s;c++)e[c][0]=dc(i,e[c][0],t),e[c][1]=dc(n,e[c][1],t)}function sAe(r,e,t){const n=r(e,t),[i,o]=PC(n);return[o,i]}function WP(r,e=1){const t=J8(r,!0);return e!==1?iAe(r,t,e):RC(t),t}function oAe(r){const e=new Float64Array(r.length*2);let t=0;for(const n of r)e[t++]=n[0],e[t++]=n[1];return e}const aAe=10;function cAe(r,e){let t;return r==null?t=e:typeof r=="object"?t={...r,coverage:e}:t={getHexagon:r,coverage:e},t}const lAe={...tf.defaultProps,highPrecision:"auto",coverage:{type:"number",min:0,max:1,value:1},centerHexagon:null,getHexagon:{type:"accessor",value:r=>r.hexagon},extruded:!0};class al extends ys{initializeState(){al._checkH3Lib(),this.state={edgeLengthKM:0,resolution:-1}}shouldUpdateState({changeFlags:e}){return this._shouldUseHighPrecision()?e.propsOrDataChanged:e.somethingChanged}updateState({props:e,changeFlags:t}){if(e.highPrecision!==!0&&(t.dataChanged||t.updateTriggersChanged&&t.updateTriggersChanged.getHexagon)){const n=this._calculateH3DataProps();this.setState(n)}this._updateVertices(this.context.viewport)}_calculateH3DataProps(){let e=-1,t=!1,n=!1;const{iterable:i,objectInfo:o}=sl(this.props.data);for(const s of i){o.index++;const c=this.props.getHexagon(s,o),f=Tx(c);if(e<0){if(e=f,!this.props.highPrecision)break}else if(e!==f){n=!0;break}if(Xde(c)){t=!0;break}}return{resolution:e,edgeLengthKM:e>=0?rAe(e,"km"):0,hasMultipleRes:n,hasPentagon:t}}_shouldUseHighPrecision(){if(this.props.highPrecision==="auto"){const{resolution:e,hasPentagon:t,hasMultipleRes:n}=this.state,{viewport:i}=this.context;return!!(i!=null&&i.resolution)||n||t||e>=0&&e<=5}return this.props.highPrecision}_updateVertices(e){if(this._shouldUseHighPrecision())return;const{resolution:t,edgeLengthKM:n,centerHex:i}=this.state;if(t<0)return;const o=this.props.centerHexagon||MC(e.latitude,e.longitude,t);if(i===o)return;if(i)try{if(eAe(i,o)*n<aAe)return}catch{}const{unitsPerMeter:s}=e.distanceScales;let c=WP(o);const[f,y]=PC(o),[b,B]=e.projectFlat([y,f]);c=c.map(S=>{const O=e.projectFlat(S);return[(O[0]-b)/s[0],(O[1]-B)/s[1]]}),this.setState({centerHex:o,vertices:c})}renderLayers(){return this._shouldUseHighPrecision()?this._renderPolygonLayer():this._renderColumnLayer()}_getForwardProps(){const{elevationScale:e,material:t,coverage:n,extruded:i,wireframe:o,stroked:s,filled:c,lineWidthUnits:f,lineWidthScale:y,lineWidthMinPixels:b,lineWidthMaxPixels:B,getFillColor:S,getElevation:O,getLineColor:k,getLineWidth:z,transitions:J,updateTriggers:G}=this.props;return{elevationScale:e,extruded:i,coverage:n,wireframe:o,stroked:s,filled:c,lineWidthUnits:f,lineWidthScale:y,lineWidthMinPixels:b,lineWidthMaxPixels:B,material:t,getElevation:O,getFillColor:S,getLineColor:k,getLineWidth:z,transitions:J,updateTriggers:{getFillColor:G.getFillColor,getElevation:G.getElevation,getLineColor:G.getLineColor,getLineWidth:G.getLineWidth}}}_renderPolygonLayer(){const{data:e,getHexagon:t,updateTriggers:n,coverage:i}=this.props,o=this.getSubLayerClass("hexagon-cell-hifi",tf),s=this._getForwardProps();return s.updateTriggers.getPolygon=cAe(n.getHexagon,i),new o(s,this.getSubLayerProps({id:"hexagon-cell-hifi",updateTriggers:s.updateTriggers}),{data:e,_normalize:!1,_windingOrder:"CCW",positionFormat:"XY",getPolygon:(c,f)=>{const y=t(c,f);return oAe(WP(y,i))}})}_renderColumnLayer(){const{data:e,getHexagon:t,updateTriggers:n}=this.props,i=this.getSubLayerClass("hexagon-cell",ol),o=this._getForwardProps();return o.updateTriggers.getPosition=n.getHexagon,new i(o,this.getSubLayerProps({id:"hexagon-cell",flatShading:!0,updateTriggers:o.updateTriggers}),{data:e,diskResolution:6,radius:1,vertices:this.state.vertices,getPosition:sAe.bind(null,t)})}}al.defaultProps=lAe;al.layerName="H3HexagonLayer";al._checkH3Lib=()=>{};const uAe={getHexagons:{type:"accessor",value:r=>r.hexagons}};class Oy extends rf{initializeState(){al._checkH3Lib()}updateState({props:e,changeFlags:t}){if(t.dataChanged||t.updateTriggersChanged&&t.updateTriggersChanged.getHexagons){const{data:n,getHexagons:i}=e,o=[],{iterable:s,objectInfo:c}=sl(n);for(const f of s){c.index++;const y=i(f,c),b=Zde(y,!0);for(const B of b){for(const S of B)RC(S);o.push(this.getSubLayerRow({polygon:B},f,c.index))}}this.setState({polygons:o})}}indexToBounds(){const{getElevation:e,getFillColor:t,getLineColor:n,getLineWidth:i}=this.props;return{data:this.state.polygons,getPolygon:o=>o.polygon,getElevation:this.getSubLayerAccessor(e),getFillColor:this.getSubLayerAccessor(t),getLineColor:this.getSubLayerAccessor(n),getLineWidth:this.getSubLayerAccessor(i)}}}Oy.layerName="H3ClusterLayer";Oy.defaultProps=uAe;const o1=Math.PI/180,im=new Float32Array(16),JP=new Float32Array(12);function XP(r,e,t){const n=e[0]*o1,i=e[1]*o1,o=e[2]*o1,s=Math.sin(o),c=Math.sin(n),f=Math.sin(i),y=Math.cos(o),b=Math.cos(n),B=Math.cos(i),S=t[0],O=t[1],k=t[2];r[0]=S*B*b,r[1]=S*f*b,r[2]=S*-c,r[3]=O*(-f*y+B*c*s),r[4]=O*(B*y+f*c*s),r[5]=O*b*s,r[6]=k*(f*s+B*c*y),r[7]=k*(-B*s+f*c*y),r[8]=k*b*y}function KP(r){return r[0]=r[0],r[1]=r[1],r[2]=r[2],r[3]=r[4],r[4]=r[5],r[5]=r[6],r[6]=r[8],r[7]=r[9],r[8]=r[10],r[9]=r[12],r[10]=r[13],r[11]=r[14],r.subarray(0,12)}const K8={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrixCol0:{size:3,elementOffset:0},instanceModelMatrixCol1:{size:3,elementOffset:3},instanceModelMatrixCol2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(r,{startRow:e,endRow:t}){const{data:n,getOrientation:i,getScale:o,getTranslation:s,getTransformMatrix:c}=this.props,f=Array.isArray(c),y=f&&c.length===16,b=Array.isArray(o),B=Array.isArray(i),S=Array.isArray(s),O=y||!f&&!!c(n[0]);O?r.constant=y:r.constant=B&&b&&S;const k=r.value;if(r.constant){let z;O?(im.set(c),z=KP(im)):(z=JP,XP(z,i,o),z.set(s,9)),r.value=new Float32Array(z)}else{let z=e*r.size;const{iterable:J,objectInfo:G}=sl(n,e,t);for(const j of J){G.index++;let K;if(O)im.set(y?c:c(j,G)),K=KP(im);else{K=JP;const fe=B?i:i(j,G),Q=b?o:o(j,G);XP(K,fe,Q),K.set(S?s:s(j,G),9)}k[z++]=K[0],k[z++]=K[1],k[z++]=K[2],k[z++]=K[3],k[z++]=K[4],k[z++]=K[5],k[z++]=K[6],k[z++]=K[7],k[z++]=K[8],k[z++]=K[9],k[z++]=K[10],k[z++]=K[11]}}}};function q8(r,e){return e===Zr.CARTESIAN||e===Zr.METER_OFFSETS||e===Zr.DEFAULT&&!r.isGeospatial}const qP=`uniform simpleMeshUniforms {
|
3458
|
+
`},e.modules=[...e.modules,mde],e}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({timestamps:{size:1,accessor:"getTimestamps",shaderAttributes:{instanceTimestamps:{vertexOffset:0},instanceNextTimestamps:{vertexOffset:1}}}})}draw(e){const{fadeTrail:t,trailLength:n,currentTime:i}=this.props,o={fadeTrail:t,trailLength:n,currentTime:i};this.state.model.shaderInputs.setProps({trips:o}),super.draw(e)}}Ry.layerName="TripsLayer";Ry.defaultProps=_de;var Rr=function(r){r=r||{};var e=typeof r<"u"?r:{},t={},n;for(n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);var i="";function o(de){return e.locateFile?e.locateFile(de,i):i+de}var s;typeof document<"u"&&document.currentScript&&(i=document.currentScript.src),i.indexOf("blob:")!==0?i=i.substr(0,i.lastIndexOf("/")+1):i="",s=function(ve,ce,Se){var p=new XMLHttpRequest;p.open("GET",ve,!0),p.responseType="arraybuffer",p.onload=function(){if(p.status==200||p.status==0&&p.response){ce(p.response);return}var vt=Mt(ve);if(vt){ce(vt.buffer);return}Se()},p.onerror=Se,p.send(null)};var c=e.print||console.log.bind(console),f=e.printErr||console.warn.bind(console);for(n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);t=null,e.arguments&&e.arguments;var y=0,b=function(de){y=de},B=function(){return y},S=8;function O(de,ve,ce,Se){switch(ce=ce||"i8",ce.charAt(ce.length-1)==="*"&&(ce="i32"),ce){case"i1":W[de>>0]=ve;break;case"i8":W[de>>0]=ve;break;case"i16":Te[de>>1]=ve;break;case"i32":Ye[de>>2]=ve;break;case"i64":Wn=[ve>>>0,(bn=ve,+Ar(bn)>=1?bn>0?(pr(+hr(bn/4294967296),4294967295)|0)>>>0:~~+Mn((bn-+(~~bn>>>0))/4294967296)>>>0:0)],Ye[de>>2]=Wn[0],Ye[de+4>>2]=Wn[1];break;case"float":Ce[de>>2]=ve;break;case"double":Ne[de>>3]=ve;break;default:Oe("invalid type for setValue: "+ce)}}function k(de,ve,ce){switch(ve=ve||"i8",ve.charAt(ve.length-1)==="*"&&(ve="i32"),ve){case"i1":return W[de>>0];case"i8":return W[de>>0];case"i16":return Te[de>>1];case"i32":return Ye[de>>2];case"i64":return Ye[de>>2];case"float":return Ce[de>>2];case"double":return Ne[de>>3];default:Oe("invalid type for getValue: "+ve)}return null}var z=!1;function J(de,ve){de||Oe("Assertion failed: "+ve)}function G(de){var ve=e["_"+de];return J(ve,"Cannot call unknown function "+de+", make sure it is exported"),ve}function j(de,ve,ce,Se,p){var le={string:function(St){var zt=0;if(St!=null&&St!==0){var Fr=(St.length<<2)+1;zt=yt(Fr),ze(St,zt,Fr)}return zt},array:function(St){var zt=yt(St.length);return pe(St,zt),zt}};function vt(St){return ve==="string"?oe(St):ve==="boolean"?!!St:St}var Ke=G(de),Ct=[],It=0;if(Se)for(var Ft=0;Ft<Se.length;Ft++){var ut=le[ce[Ft]];ut?(It===0&&(It=Ee()),Ct[Ft]=ut(Se[Ft])):Ct[Ft]=Se[Ft]}var Dt=Ke.apply(null,Ct);return Dt=vt(Dt),It!==0&&Et(It),Dt}function K(de,ve,ce,Se){ce=ce||[];var p=ce.every(function(vt){return vt==="number"}),le=ve!=="string";return le&&p&&!Se?G(de):function(){return j(de,ve,ce,arguments)}}var fe=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Q(de,ve,ce){for(var Se=ve+ce,p=ve;de[p]&&!(p>=Se);)++p;if(p-ve>16&&de.subarray&&fe)return fe.decode(de.subarray(ve,p));for(var le="";ve<p;){var vt=de[ve++];if(!(vt&128)){le+=String.fromCharCode(vt);continue}var Ke=de[ve++]&63;if((vt&224)==192){le+=String.fromCharCode((vt&31)<<6|Ke);continue}var Ct=de[ve++]&63;if((vt&240)==224?vt=(vt&15)<<12|Ke<<6|Ct:vt=(vt&7)<<18|Ke<<12|Ct<<6|de[ve++]&63,vt<65536)le+=String.fromCharCode(vt);else{var It=vt-65536;le+=String.fromCharCode(55296|It>>10,56320|It&1023)}}return le}function oe(de,ve){return de?Q(ne,de,ve):""}function Be(de,ve,ce,Se){if(!(Se>0))return 0;for(var p=ce,le=ce+Se-1,vt=0;vt<de.length;++vt){var Ke=de.charCodeAt(vt);if(Ke>=55296&&Ke<=57343){var Ct=de.charCodeAt(++vt);Ke=65536+((Ke&1023)<<10)|Ct&1023}if(Ke<=127){if(ce>=le)break;ve[ce++]=Ke}else if(Ke<=2047){if(ce+1>=le)break;ve[ce++]=192|Ke>>6,ve[ce++]=128|Ke&63}else if(Ke<=65535){if(ce+2>=le)break;ve[ce++]=224|Ke>>12,ve[ce++]=128|Ke>>6&63,ve[ce++]=128|Ke&63}else{if(ce+3>=le)break;ve[ce++]=240|Ke>>18,ve[ce++]=128|Ke>>12&63,ve[ce++]=128|Ke>>6&63,ve[ce++]=128|Ke&63}}return ve[ce]=0,ce-p}function ze(de,ve,ce){return Be(de,ne,ve,ce)}typeof TextDecoder<"u"&&new TextDecoder("utf-16le");function pe(de,ve){W.set(de,ve)}function we(de,ve){return de%ve>0&&(de+=ve-de%ve),de}var Ae,W,ne,Te,Ye,Ce,Ne;function Ge(de){Ae=de,e.HEAP8=W=new Int8Array(de),e.HEAP16=Te=new Int16Array(de),e.HEAP32=Ye=new Int32Array(de),e.HEAPU8=ne=new Uint8Array(de),e.HEAPU16=new Uint16Array(de),e.HEAPU32=new Uint32Array(de),e.HEAPF32=Ce=new Float32Array(de),e.HEAPF64=Ne=new Float64Array(de)}var Qe=5267040,rt=24128,tt=e.TOTAL_MEMORY||33554432;e.buffer?Ae=e.buffer:Ae=new ArrayBuffer(tt),tt=Ae.byteLength,Ge(Ae),Ye[rt>>2]=Qe;function lt(de){for(;de.length>0;){var ve=de.shift();if(typeof ve=="function"){ve();continue}var ce=ve.func;typeof ce=="number"?ve.arg===void 0?e.dynCall_v(ce):e.dynCall_vi(ce,ve.arg):ce(ve.arg===void 0?null:ve.arg)}}var mt=[],Tt=[],nt=[],cr=[];function Xt(){if(e.preRun)for(typeof e.preRun=="function"&&(e.preRun=[e.preRun]);e.preRun.length;)tn(e.preRun.shift());lt(mt)}function $t(){lt(Tt)}function Lt(){lt(nt)}function lr(){if(e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;)Er(e.postRun.shift());lt(cr)}function tn(de){mt.unshift(de)}function Er(de){cr.unshift(de)}var Ar=Math.abs,Mn=Math.ceil,hr=Math.floor,pr=Math.min,rn=0,Sr=null;function ei(de){rn++,e.monitorRunDependencies&&e.monitorRunDependencies(rn)}function $n(de){if(rn--,e.monitorRunDependencies&&e.monitorRunDependencies(rn),rn==0&&Sr){var ve=Sr;Sr=null,ve()}}e.preloadedImages={},e.preloadedAudios={};var un=null,Xn="data:application/octet-stream;base64,";function kn(de){return String.prototype.startsWith?de.startsWith(Xn):de.indexOf(Xn)===0}var bn,Wn;un="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//////////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAIAAAABAAAAAQAAAAIAAAACAAAAAAAAAAUAAAAFAAAAAAAAAAIAAAACAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAEAAAACAAAAAgAAAAIAAAAAAAAABQAAAAYAAAAAAAAAAgAAAAIAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAACAAAAAQAAAAMAAAACAAAAAgAAAAAAAAAFAAAABwAAAAAAAAACAAAAAgAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAIAAAABAAAABAAAAAIAAAACAAAAAAAAAAUAAAAIAAAAAAAAAAIAAAACAAAAAwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAIAAAAAAAAAAgAAAAEAAAAAAAAAAgAAAAIAAAAAAAAABQAAAAkAAAAAAAAAAgAAAAIAAAADAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAgAAAAIAAAAAAAAAAwAAAA4AAAACAAAAAAAAAAIAAAADAAAAAAAAAAAAAAACAAAAAgAAAAMAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAACAAAAAgAAAAAAAAADAAAACgAAAAIAAAAAAAAAAgAAAAMAAAABAAAAAAAAAAIAAAACAAAAAwAAAAcAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAACAAAAAAAAAAMAAAALAAAAAgAAAAAAAAACAAAAAwAAAAIAAAAAAAAAAgAAAAIAAAADAAAACAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAIAAAAAAAAAAwAAAAwAAAACAAAAAAAAAAIAAAADAAAAAwAAAAAAAAACAAAAAgAAAAMAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAACAAAAAgAAAAAAAAADAAAADQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAAAAAAAAIAAAACAAAAAwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAACAAAAAAAAAAMAAAAGAAAAAgAAAAAAAAACAAAAAwAAAA8AAAAAAAAAAgAAAAIAAAADAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAgAAAAIAAAAAAAAAAwAAAAcAAAACAAAAAAAAAAIAAAADAAAAEAAAAAAAAAACAAAAAgAAAAMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAgAAAAAAAAADAAAACAAAAAIAAAAAAAAAAgAAAAMAAAARAAAAAAAAAAIAAAACAAAAAwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAACAAAAAAAAAAMAAAAJAAAAAgAAAAAAAAACAAAAAwAAABIAAAAAAAAAAgAAAAIAAAADAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAgAAAAIAAAAAAAAAAwAAAAUAAAACAAAAAAAAAAIAAAADAAAAEwAAAAAAAAACAAAAAgAAAAMAAAAPAAAAAAAAAAAAAAAAAAAAAAAAABAAAAACAAAAAAAAAAIAAAABAAAAEwAAAAIAAAACAAAAAAAAAAUAAAAKAAAAAAAAAAIAAAACAAAAAwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAIAAAAAAAAAAgAAAAEAAAAPAAAAAgAAAAIAAAAAAAAABQAAAAsAAAAAAAAAAgAAAAIAAAADAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAgAAAAAAAAACAAAAAQAAABAAAAACAAAAAgAAAAAAAAAFAAAADAAAAAAAAAACAAAAAgAAAAMAAAASAAAAAAAAAAAAAAAAAAAAAAAAABMAAAACAAAAAAAAAAIAAAABAAAAEQAAAAIAAAACAAAAAAAAAAUAAAANAAAAAAAAAAIAAAACAAAAAwAAABMAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAIAAAAAAAAAAgAAAAEAAAASAAAAAgAAAAIAAAAAAAAABQAAAA4AAAAAAAAAAgAAAAIAAAADAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAEAAAACAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAQAAAAAAAAABQAAAAAAAAACAAAAAQAAAAAAAAABAAAAAgAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAABAAAAAAAAAAIAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAQAAAAAAAAABQAAAAUAAAAAAAAAAQAAAAAAAAAAAAAAOgehWlKfUEEz1zLi+JsiQa2og3wcMfVAWCbHorc0yEDi+Yn/Y6mbQJ11/mfsnG9At6bnG4UQQkBvMCQWKqUUQJVmwwswmOc/3hVgVBL3uj//qqOEOdGOPw/WDN4gnGE/H3ANkCUgND+AA8btKgAHPwTXBqJVSdo+XfRQAqsKrj4fc+zLYbSPQklEmCZHv2FCUP+uDso1NEKYtPhwphUHQptxnyFXYdpB7CddZAMmrkGAt1AxSTqBQUibBVdTsFNBSuX3MV+AJkFocv82SLf5QAqmgj7AY81A23VDSEnLoEDGEJVSeDFzQDYrqvBk70VA8U157pcRGUBWfEF+ZKbsP7KBdLHZTpFAqKYk69AqekDbeGY41MdjQD8AZzHK501A1vcrrjubNkD5LnquvBYhQCbiRRD71QlAqt72EbOH8z8Eu+jL1YbdP4uaox/xUcY/abedg1XfsD+BsUdzJ4KZP5wE9YFySIM/rW1kAKMpbT+rZFthVRhWPy4PKlXIs0A/qMZLlwDnMEHByqEF0I0ZQQYSFD8lUQNBPpY+dFs07UAH8BZImBPWQN9RY0I0sMBA2T7kLfc6qUByFYvfhBKTQMq+0Mis1XxA0XQbeQXMZUBJJ5aEGXpQQP7/SY0a6ThAaMD92b/UIkAs8s8yqXoMQNIegOvCk/U/aOi7NZJP4D8AAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAD/////AAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAA/////wAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAP////8AAAAABQAAAAAAAAAAAAAAAAAAAAAAAAD/////BQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAAAAAABAAAAAAAAAAUAAAABAAAAAQAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAEAAQAAAQEAAAAAAAEAAAABAAAAAQABAAAAAAAAAAAAAAAAAAAAAAcAAAAHAAAAAQAAAAIAAAAEAAAAAwAAAAAAAAAAAAAABwAAAAMAAAABAAAAAgAAAAUAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAACAAAAAQAAAAMAAAAOAAAABgAAAAsAAAACAAAABwAAAAEAAAAYAAAABQAAAAoAAAABAAAABgAAAAAAAAAmAAAABwAAAAwAAAADAAAACAAAAAIAAAAxAAAACQAAAA4AAAAAAAAABQAAAAQAAAA6AAAACAAAAA0AAAAEAAAACQAAAAMAAAA/AAAACwAAAAYAAAAPAAAACgAAABAAAABIAAAADAAAAAcAAAAQAAAACwAAABEAAABTAAAACgAAAAUAAAATAAAADgAAAA8AAABhAAAADQAAAAgAAAARAAAADAAAABIAAABrAAAADgAAAAkAAAASAAAADQAAABMAAAB1AAAADwAAABMAAAARAAAAEgAAABAAAAAGAAAAAgAAAAMAAAAFAAAABAAAAAAAAAAAAAAAAAAAAAYAAAACAAAAAwAAAAEAAAAFAAAABAAAAAAAAAAAAAAABwAAAAUAAAADAAAABAAAAAEAAAAAAAAAAgAAAAAAAAACAAAAAwAAAAEAAAAFAAAABAAAAAYAAAAAAAAAAAAAAGFsZ29zLmMAaDNOZWlnaGJvclJvdGF0aW9ucwBjb29yZGlqay5jAF91cEFwN0NoZWNrZWQAX3VwQXA3ckNoZWNrZWQAZGlyZWN0ZWRFZGdlLmMAZGlyZWN0ZWRFZGdlVG9Cb3VuZGFyeQBhZGphY2VudEZhY2VEaXJbdG1wRmlqay5mYWNlXVtmaWprLmZhY2VdID09IEtJAGZhY2VpamsuYwBfZmFjZUlqa1BlbnRUb0NlbGxCb3VuZGFyeQBhZGphY2VudEZhY2VEaXJbY2VudGVySUpLLmZhY2VdW2ZhY2UyXSA9PSBLSQBfZmFjZUlqa1RvQ2VsbEJvdW5kYXJ5AGgzSW5kZXguYwBjb21wYWN0Q2VsbHMAbGF0TG5nVG9DZWxsAGNlbGxUb0NoaWxkUG9zAHZhbGlkYXRlQ2hpbGRQb3MAbGF0TG5nLmMAY2VsbEFyZWFSYWRzMgBwb2x5Z29uLT5uZXh0ID09IE5VTEwAbGlua2VkR2VvLmMAYWRkTmV3TGlua2VkUG9seWdvbgBuZXh0ICE9IE5VTEwAbG9vcCAhPSBOVUxMAGFkZE5ld0xpbmtlZExvb3AAcG9seWdvbi0+Zmlyc3QgPT0gTlVMTABhZGRMaW5rZWRMb29wAGNvb3JkICE9IE5VTEwAYWRkTGlua2VkQ29vcmQAbG9vcC0+Zmlyc3QgPT0gTlVMTABpbm5lckxvb3BzICE9IE5VTEwAbm9ybWFsaXplTXVsdGlQb2x5Z29uAGJib3hlcyAhPSBOVUxMAGNhbmRpZGF0ZXMgIT0gTlVMTABmaW5kUG9seWdvbkZvckhvbGUAY2FuZGlkYXRlQkJveGVzICE9IE5VTEwAcmV2RGlyICE9IElOVkFMSURfRElHSVQAbG9jYWxpai5jAGNlbGxUb0xvY2FsSWprAGJhc2VDZWxsICE9IG9yaWdpbkJhc2VDZWxsACEob3JpZ2luT25QZW50ICYmIGluZGV4T25QZW50KQBiYXNlQ2VsbCA9PSBvcmlnaW5CYXNlQ2VsbABiYXNlQ2VsbCAhPSBJTlZBTElEX0JBU0VfQ0VMTABsb2NhbElqa1RvQ2VsbAAhX2lzQmFzZUNlbGxQZW50YWdvbihiYXNlQ2VsbCkAYmFzZUNlbGxSb3RhdGlvbnMgPj0gMABncmlkUGF0aENlbGxzADAAdmVydGV4LmMAY2VsbFRvVmVydGV4AGdyYXBoLT5idWNrZXRzICE9IE5VTEwAdmVydGV4R3JhcGguYwBpbml0VmVydGV4R3JhcGgAbm9kZSAhPSBOVUxMAGFkZFZlcnRleE5vZGU=";var Ut=24144;function dr(de,ve,ce,Se){Oe("Assertion failed: "+oe(de)+", at: "+[ve?oe(ve):"unknown filename",ce,Se?oe(Se):"unknown function"])}function Tr(){return W.length}function qr(de,ve,ce){ne.set(ne.subarray(ve,ve+ce),de)}function ui(de){return e.___errno_location&&(Ye[e.___errno_location()>>2]=de),de}function Pe(de){Oe("OOM")}function Ot(de){try{var ve=new ArrayBuffer(de);return ve.byteLength!=de?void 0:(new Int8Array(ve).set(W),$(ve),Ge(ve),1)}catch{}}function Vt(de){var ve=Tr(),ce=16777216,Se=2147483648-ce;if(de>Se)return!1;for(var p=16777216,le=Math.max(ve,p);le<de;)le<=536870912?le=we(2*le,ce):le=Math.min(we((3*le+2147483648)/4,ce),Se);var vt=Ot(le);return!!vt}var sr=typeof atob=="function"?atob:function(de){var ve="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",ce="",Se,p,le,vt,Ke,Ct,It,Ft=0;de=de.replace(/[^A-Za-z0-9\+\/\=]/g,"");do vt=ve.indexOf(de.charAt(Ft++)),Ke=ve.indexOf(de.charAt(Ft++)),Ct=ve.indexOf(de.charAt(Ft++)),It=ve.indexOf(de.charAt(Ft++)),Se=vt<<2|Ke>>4,p=(Ke&15)<<4|Ct>>2,le=(Ct&3)<<6|It,ce=ce+String.fromCharCode(Se),Ct!==64&&(ce=ce+String.fromCharCode(p)),It!==64&&(ce=ce+String.fromCharCode(le));while(Ft<de.length);return ce};function Ze(de){try{for(var ve=sr(de),ce=new Uint8Array(ve.length),Se=0;Se<ve.length;++Se)ce[Se]=ve.charCodeAt(Se);return ce}catch{throw new Error("Converting base64 string to bytes failed.")}}function Mt(de){if(kn(de))return Ze(de.slice(Xn.length))}var ge={Math,Int8Array,Int32Array,Uint8Array,Float32Array,Float64Array},kt={b,c:B,d:dr,e:ui,f:Tr,g:qr,h:Vt,i:Pe,o:Ut,p:rt},wt=function(de,ve,ce){"almost asm";var Se=new de.Int8Array(ce),p=new de.Int32Array(ce);new de.Uint8Array(ce),new de.Float32Array(ce);var le=new de.Float64Array(ce),vt=ve.o|0,Ke=ve.p|0,Ct=de.Math.floor,It=de.Math.abs,Ft=de.Math.sqrt,ut=de.Math.pow,Dt=de.Math.cos,St=de.Math.sin,zt=de.Math.tan,Fr=de.Math.acos,Yt=de.Math.asin,Jr=de.Math.atan,en=de.Math.atan2,zr=de.Math.ceil,Gr=de.Math.imul,Lr=de.Math.min,fi=de.Math.max,Vr=de.Math.clz32,fr=ve.b,Me=ve.c,Wt=ve.d,Xr=ve.e,ki=ve.f,aa=ve.g,ti=ve.h,Un=ve.i,Ie=24160;function Lo(_){return Se=new Int8Array(_),p=new Int32Array(_),le=new Float64Array(_),ce=_,!0}function zn(_){_=_|0;var m=0;return m=Ie,Ie=Ie+_|0,Ie=Ie+15&-16,m|0}function No(){return Ie|0}function Si(_){_=_|0,Ie=_}function ri(_,m){_=_|0,Ie=_}function xi(_,m){_=_|0,m=m|0;var v=0,w=0,T=0;return(_|0)<0?(m=2,m|0):(_|0)>13780509?(m=jo(15,m)|0,m|0):(v=((_|0)<0)<<31>>31,T=si(_|0,v|0,3,0)|0,w=Me()|0,v=cn(_|0,v|0,1,0)|0,v=si(T|0,w|0,v|0,Me()|0)|0,v=cn(v|0,Me()|0,1,0)|0,_=Me()|0,p[m>>2]=v,p[m+4>>2]=_,m=0,m|0)}function Bn(_,m,v,w){return _=_|0,m=m|0,v=v|0,w=w|0,us(_,m,v,w,0)|0}function us(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0,h=0;if(d=Ie,Ie=Ie+16|0,D=d,!(Ui(_,m,v,w,T)|0))return w=0,Ie=d,w|0;do if((v|0)>=0){if((v|0)>13780509){if(M=jo(15,D)|0,M|0)break;l=D,D=p[l>>2]|0,l=p[l+4>>2]|0}else M=((v|0)<0)<<31>>31,h=si(v|0,M|0,3,0)|0,l=Me()|0,M=cn(v|0,M|0,1,0)|0,M=si(h|0,l|0,M|0,Me()|0)|0,M=cn(M|0,Me()|0,1,0)|0,l=Me()|0,p[D>>2]=M,p[D+4>>2]=l,D=M;if(Ko(w|0,0,D<<3|0)|0,T|0){Ko(T|0,0,D<<2|0)|0,M=Ps(_,m,v,w,T,D,l,0)|0;break}M=eo(D,4)|0,M?(h=Ps(_,m,v,w,M,D,l,0)|0,Dr(M),M=h):M=13}else M=2;while(!1);return h=M,Ie=d,h|0}function Ui(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0;if(U=Ie,Ie=Ie+16|0,R=U,L=U+8|0,P=R,p[P>>2]=_,p[P+4>>2]=m,(v|0)<0)return L=2,Ie=U,L|0;if(M=w,p[M>>2]=_,p[M+4>>2]=m,M=(T|0)!=0,M&&(p[T>>2]=0),Sn(_,m)|0)return L=9,Ie=U,L|0;p[L>>2]=0;e:do if((v|0)>=1)if(M)for(g=1,h=0,C=0,P=1,M=_;;){if(!(h|C)){if(M=wn(M,m,4,L,R)|0,M|0)break e;if(m=R,M=p[m>>2]|0,m=p[m+4>>2]|0,Sn(M,m)|0){M=9;break e}}if(M=wn(M,m,p[22384+(C<<2)>>2]|0,L,R)|0,M|0)break e;if(m=R,M=p[m>>2]|0,m=p[m+4>>2]|0,_=w+(g<<3)|0,p[_>>2]=M,p[_+4>>2]=m,p[T+(g<<2)>>2]=P,_=h+1|0,D=(_|0)==(P|0),l=C+1|0,d=(l|0)==6,Sn(M,m)|0){M=9;break e}if(P=P+(d&D&1)|0,(P|0)>(v|0)){M=0;break}else g=g+1|0,h=D?0:_,C=D?d?0:l:C}else for(g=1,h=0,C=0,P=1,M=_;;){if(!(h|C)){if(M=wn(M,m,4,L,R)|0,M|0)break e;if(m=R,M=p[m>>2]|0,m=p[m+4>>2]|0,Sn(M,m)|0){M=9;break e}}if(M=wn(M,m,p[22384+(C<<2)>>2]|0,L,R)|0,M|0)break e;if(m=R,M=p[m>>2]|0,m=p[m+4>>2]|0,_=w+(g<<3)|0,p[_>>2]=M,p[_+4>>2]=m,_=h+1|0,D=(_|0)==(P|0),l=C+1|0,d=(l|0)==6,Sn(M,m)|0){M=9;break e}if(P=P+(d&D&1)|0,(P|0)>(v|0)){M=0;break}else g=g+1|0,h=D?0:_,C=D?d?0:l:C}else M=0;while(!1);return L=M,Ie=U,L|0}function Ps(_,m,v,w,T,M,D,l){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0,M=M|0,D=D|0,l=l|0;var d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0;if(U=Ie,Ie=Ie+16|0,R=U+8|0,L=U,d=mo(_|0,m|0,M|0,D|0)|0,g=Me()|0,C=w+(d<<3)|0,X=C,te=p[X>>2]|0,X=p[X+4>>2]|0,h=(te|0)==(_|0)&(X|0)==(m|0),!((te|0)==0&(X|0)==0|h))do d=cn(d|0,g|0,1,0)|0,d=Zi(d|0,Me()|0,M|0,D|0)|0,g=Me()|0,C=w+(d<<3)|0,te=C,X=p[te>>2]|0,te=p[te+4>>2]|0,h=(X|0)==(_|0)&(te|0)==(m|0);while(!((X|0)==0&(te|0)==0|h));if(d=T+(d<<2)|0,h&&(p[d>>2]|0)<=(l|0)||(te=C,p[te>>2]=_,p[te+4>>2]=m,p[d>>2]=l,(l|0)>=(v|0)))return te=0,Ie=U,te|0;switch(h=l+1|0,p[R>>2]=0,d=wn(_,m,2,R,L)|0,d|0){case 9:{P=9;break}case 0:{d=L,d=Ps(p[d>>2]|0,p[d+4>>2]|0,v,w,T,M,D,h)|0,d||(P=9);break}}e:do if((P|0)==9){switch(p[R>>2]=0,d=wn(_,m,3,R,L)|0,d|0){case 9:break;case 0:{if(d=L,d=Ps(p[d>>2]|0,p[d+4>>2]|0,v,w,T,M,D,h)|0,d|0)break e;break}default:break e}switch(p[R>>2]=0,d=wn(_,m,1,R,L)|0,d|0){case 9:break;case 0:{if(d=L,d=Ps(p[d>>2]|0,p[d+4>>2]|0,v,w,T,M,D,h)|0,d|0)break e;break}default:break e}switch(p[R>>2]=0,d=wn(_,m,5,R,L)|0,d|0){case 9:break;case 0:{if(d=L,d=Ps(p[d>>2]|0,p[d+4>>2]|0,v,w,T,M,D,h)|0,d|0)break e;break}default:break e}switch(p[R>>2]=0,d=wn(_,m,4,R,L)|0,d|0){case 9:break;case 0:{if(d=L,d=Ps(p[d>>2]|0,p[d+4>>2]|0,v,w,T,M,D,h)|0,d|0)break e;break}default:break e}switch(p[R>>2]=0,d=wn(_,m,6,R,L)|0,d|0){case 9:break;case 0:{if(d=L,d=Ps(p[d>>2]|0,p[d+4>>2]|0,v,w,T,M,D,h)|0,d|0)break e;break}default:break e}return te=0,Ie=U,te|0}while(!1);return te=d,Ie=U,te|0}function wn(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0;if(v>>>0>6)return T=1,T|0;if(C=(p[w>>2]|0)%6|0,p[w>>2]=C,(C|0)>0){M=0;do v=Ao(v)|0,M=M+1|0;while((M|0)<(p[w>>2]|0))}if(C=jt(_|0,m|0,45)|0,Me()|0,g=C&127,g>>>0>121)return T=5,T|0;d=Ki(_,m)|0,M=jt(_|0,m|0,52)|0,Me()|0,M=M&15;e:do if(!M)h=8;else{for(;;){if(D=(15-M|0)*3|0,l=jt(_|0,m|0,D|0)|0,Me()|0,l=l&7,(l|0)==7){m=5;break}if(L=(Fs(M)|0)==0,M=M+-1|0,P=Zt(7,0,D|0)|0,m=m&~(Me()|0),R=Zt(p[(L?432:16)+(l*28|0)+(v<<2)>>2]|0,0,D|0)|0,D=Me()|0,v=p[(L?640:224)+(l*28|0)+(v<<2)>>2]|0,_=R|_&~P,m=D|m,!v){v=0;break e}if(!M){h=8;break e}}return m|0}while(!1);(h|0)==8&&(L=p[848+(g*28|0)+(v<<2)>>2]|0,R=Zt(L|0,0,45)|0,_=R|_,m=Me()|0|m&-1040385,v=p[4272+(g*28|0)+(v<<2)>>2]|0,(L&127|0)==127&&(L=Zt(p[848+(g*28|0)+20>>2]|0,0,45)|0,m=Me()|0|m&-1040385,v=p[4272+(g*28|0)+20>>2]|0,_=po(L|_,m)|0,m=Me()|0,p[w>>2]=(p[w>>2]|0)+1)),l=jt(_|0,m|0,45)|0,Me()|0,l=l&127;e:do if(wr(l)|0){t:do if((Ki(_,m)|0)==1){if((g|0)!=(l|0))if(sf(l,p[7696+(g*28|0)>>2]|0)|0){_=Ua(_,m)|0,D=1,m=Me()|0;break}else Wt(23313,22416,436,22424);switch(d|0){case 3:{_=po(_,m)|0,m=Me()|0,p[w>>2]=(p[w>>2]|0)+1,D=0;break t}case 5:{_=Ua(_,m)|0,m=Me()|0,p[w>>2]=(p[w>>2]|0)+5,D=0;break t}case 0:return L=9,L|0;default:return L=1,L|0}}else D=0;while(!1);if((v|0)>0){M=0;do _=ga(_,m)|0,m=Me()|0,M=M+1|0;while((M|0)!=(v|0))}if((g|0)!=(l|0)){if(!(ni(l)|0)){if((D|0)!=0|(Ki(_,m)|0)!=5)break;p[w>>2]=(p[w>>2]|0)+1;break}switch(C&127){case 8:case 118:break e}(Ki(_,m)|0)!=3&&(p[w>>2]=(p[w>>2]|0)+1)}}else if((v|0)>0){M=0;do _=po(_,m)|0,m=Me()|0,M=M+1|0;while((M|0)!=(v|0))}while(!1);return p[w>>2]=((p[w>>2]|0)+v|0)%6|0,L=T,p[L>>2]=_,p[L+4>>2]=m,L=0,L|0}function cl(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0;for(l=Ie,Ie=Ie+16|0,M=l,D=l+8|0,T=(Sn(_,m)|0)==0,T=T?1:2;;){if(p[D>>2]=0,h=(wn(_,m,T,D,M)|0)==0,d=M,h&((p[d>>2]|0)==(v|0)?(p[d+4>>2]|0)==(w|0):0)){_=4;break}if(T=T+1|0,T>>>0>=7){T=7,_=4;break}}return(_|0)==4?(Ie=l,T|0):0}function be(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0;if(L=Ie,Ie=Ie+16|0,P=L,R=L+8|0,C=P,p[C>>2]=_,p[C+4>>2]=m,!v)return R=w,p[R>>2]=_,p[R+4>>2]=m,R=0,Ie=L,R|0;p[R>>2]=0;e:do if(Sn(_,m)|0)_=9;else{if(M=(v|0)>0,M){T=0,C=_;do{if(_=wn(C,m,4,R,P)|0,_|0)break e;if(m=P,C=p[m>>2]|0,m=p[m+4>>2]|0,T=T+1|0,Sn(C,m)|0){_=9;break e}}while((T|0)<(v|0));if(g=w,p[g>>2]=C,p[g+4>>2]=m,g=v+-1|0,M){h=0,_=1;do{if(T=22384+(h<<2)|0,(h|0)==5)for(D=p[T>>2]|0,M=0,T=_;;){if(_=P,_=wn(p[_>>2]|0,p[_+4>>2]|0,D,R,P)|0,_|0)break e;if((M|0)!=(g|0))if(d=P,l=p[d>>2]|0,d=p[d+4>>2]|0,_=w+(T<<3)|0,p[_>>2]=l,p[_+4>>2]=d,!(Sn(l,d)|0))_=T+1|0;else{_=9;break e}else _=T;if(M=M+1|0,(M|0)>=(v|0))break;T=_}else for(D=P,d=p[T>>2]|0,l=0,T=_,M=p[D>>2]|0,D=p[D+4>>2]|0;;){if(_=wn(M,D,d,R,P)|0,_|0)break e;if(D=P,M=p[D>>2]|0,D=p[D+4>>2]|0,_=w+(T<<3)|0,p[_>>2]=M,p[_+4>>2]=D,_=T+1|0,Sn(M,D)|0){_=9;break e}if(l=l+1|0,(l|0)>=(v|0))break;T=_}h=h+1|0}while(h>>>0<6);_=P,D=C,T=p[_>>2]|0,M=m,_=p[_+4>>2]|0}else D=C,T=C,M=m,_=m}else D=w,p[D>>2]=_,p[D+4>>2]=m,D=_,T=_,M=m,_=m;_=(D|0)==(T|0)&(M|0)==(_|0)?0:9}while(!1);return R=_,Ie=L,R|0}function Re(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0;if(l=Ie,Ie=Ie+48|0,T=l+16|0,M=l+8|0,D=l,v|0)return D=15,Ie=l,D|0;if(h=_,d=p[h+4>>2]|0,v=M,p[v>>2]=p[h>>2],p[v+4>>2]=d,fs(M,T),m=ko(T,m,D)|0,!m){if(v=p[M>>2]|0,M=p[_+8>>2]|0,(M|0)>0){T=p[_+12>>2]|0,m=0;do v=(p[T+(m<<3)>>2]|0)+v|0,m=m+1|0;while((m|0)<(M|0))}m=D,T=p[m>>2]|0,m=p[m+4>>2]|0,M=((v|0)<0)<<31>>31,(m|0)<(M|0)|(m|0)==(M|0)&T>>>0<v>>>0?(m=D,p[m>>2]=v,p[m+4>>2]=M,m=M):v=T,d=cn(v|0,m|0,12,0)|0,h=Me()|0,m=D,p[m>>2]=d,p[m+4>>2]=h,m=w,p[m>>2]=d,p[m+4>>2]=h,m=0}return h=m,Ie=l,h|0}function $e(_,m,v,w,T,M,D){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0,M=M|0,D=D|0;var l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0,re=0,ae=0,xe=0,De=0,me=0,Fe=0,He=0,We=0,it=0,Xe=0,et=0,ht=0,Rt=0,xt=0,Nt=0,rr=0,vr=0;if(Rt=Ie,Ie=Ie+64|0,it=Rt+48|0,Xe=Rt+32|0,et=Rt+24|0,xe=Rt+8|0,De=Rt,d=p[_>>2]|0,(d|0)<=0)return ht=0,Ie=Rt,ht|0;for(me=_+4|0,Fe=it+8|0,He=Xe+8|0,We=xe+8|0,l=0,re=0;;){h=p[me>>2]|0,Z=h+(re<<4)|0,p[it>>2]=p[Z>>2],p[it+4>>2]=p[Z+4>>2],p[it+8>>2]=p[Z+8>>2],p[it+12>>2]=p[Z+12>>2],(re|0)==(d+-1|0)?(p[Xe>>2]=p[h>>2],p[Xe+4>>2]=p[h+4>>2],p[Xe+8>>2]=p[h+8>>2],p[Xe+12>>2]=p[h+12>>2]):(Z=h+(re+1<<4)|0,p[Xe>>2]=p[Z>>2],p[Xe+4>>2]=p[Z+4>>2],p[Xe+8>>2]=p[Z+8>>2],p[Xe+12>>2]=p[Z+12>>2]),d=la(it,Xe,w,et)|0;e:do if(d)h=0,l=d;else if(h=et,d=p[h>>2]|0,h=p[h+4>>2]|0,(h|0)>0|(h|0)==0&d>>>0>0){te=0,Z=0;t:for(;;){if(vr=+le[it>>3],X=Hr(d|0,h|0,te|0,Z|0)|0,rr=+(X>>>0)+4294967296*+(Me()|0),xt=+(d>>>0)+4294967296*+(h|0),Nt=+(te>>>0)+4294967296*+(Z|0),le[xe>>3]=vr*rr/xt+ +le[Xe>>3]*Nt/xt,le[We>>3]=+le[Fe>>3]*rr/xt+ +le[He>>3]*Nt/xt,d=za(xe,w,De)|0,d|0){l=d;break}X=De,U=p[X>>2]|0,X=p[X+4>>2]|0,P=mo(U|0,X|0,m|0,v|0)|0,g=Me()|0,d=D+(P<<3)|0,C=d,h=p[C>>2]|0,C=p[C+4>>2]|0;r:do if((h|0)==0&(C|0)==0)ae=d,ht=16;else for(R=0,L=0;;){if((R|0)>(v|0)|(R|0)==(v|0)&L>>>0>m>>>0){l=1;break t}if((h|0)==(U|0)&(C|0)==(X|0))break r;if(d=cn(P|0,g|0,1,0)|0,P=Zi(d|0,Me()|0,m|0,v|0)|0,g=Me()|0,L=cn(L|0,R|0,1,0)|0,R=Me()|0,d=D+(P<<3)|0,C=d,h=p[C>>2]|0,C=p[C+4>>2]|0,(h|0)==0&(C|0)==0){ae=d,ht=16;break}}while(!1);if((ht|0)==16&&(ht=0,!((U|0)==0&(X|0)==0))&&(L=ae,p[L>>2]=U,p[L+4>>2]=X,L=M+(p[T>>2]<<3)|0,p[L>>2]=U,p[L+4>>2]=X,L=T,L=cn(p[L>>2]|0,p[L+4>>2]|0,1,0)|0,U=Me()|0,X=T,p[X>>2]=L,p[X+4>>2]=U),te=cn(te|0,Z|0,1,0)|0,Z=Me()|0,h=et,d=p[h>>2]|0,h=p[h+4>>2]|0,!((h|0)>(Z|0)|(h|0)==(Z|0)&d>>>0>te>>>0)){h=1;break e}}h=0}else h=1;while(!1);if(re=re+1|0,!h){ht=21;break}if(d=p[_>>2]|0,(re|0)>=(d|0)){l=0,ht=21;break}}return(ht|0)==21?(Ie=Rt,l|0):0}function At(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0,re=0,ae=0,xe=0,De=0,me=0,Fe=0,He=0,We=0,it=0,Xe=0,et=0,ht=0,Rt=0,xt=0,Nt=0,rr=0;if(rr=Ie,Ie=Ie+112|0,ht=rr+80|0,d=rr+72|0,Rt=rr,xt=rr+56|0,v|0)return Nt=15,Ie=rr,Nt|0;if(h=_+8|0,Nt=Vn((p[h>>2]<<5)+32|0)|0,!Nt)return Nt=13,Ie=rr,Nt|0;if(df(_,Nt),Xe=_,et=p[Xe+4>>2]|0,v=d,p[v>>2]=p[Xe>>2],p[v+4>>2]=et,fs(d,ht),v=ko(ht,m,Rt)|0,v)Xe=0,et=0;else{if(v=p[d>>2]|0,M=p[h>>2]|0,(M|0)>0){D=p[_+12>>2]|0,T=0;do v=(p[D+(T<<3)>>2]|0)+v|0,T=T+1|0;while((T|0)!=(M|0));T=v}else T=v;v=Rt,M=p[v>>2]|0,v=p[v+4>>2]|0,D=((T|0)<0)<<31>>31,(v|0)<(D|0)|(v|0)==(D|0)&M>>>0<T>>>0?(v=Rt,p[v>>2]=T,p[v+4>>2]=D,v=D):T=M,Xe=cn(T|0,v|0,12,0)|0,et=Me()|0,v=Rt,p[v>>2]=Xe,p[v+4>>2]=et,v=0}if(v|0)return Dr(Nt),Nt=v,Ie=rr,Nt|0;if(T=eo(Xe,8)|0,!T)return Dr(Nt),Nt=13,Ie=rr,Nt|0;if(l=eo(Xe,8)|0,!l)return Dr(Nt),Dr(T),Nt=13,Ie=rr,Nt|0;We=ht,p[We>>2]=0,p[We+4>>2]=0,We=_,it=p[We+4>>2]|0,v=d,p[v>>2]=p[We>>2],p[v+4>>2]=it,v=$e(d,Xe,et,m,ht,T,l)|0;e:do if(v)Dr(T),Dr(l),Dr(Nt);else{t:do if((p[h>>2]|0)>0){for(D=_+12|0,M=0;v=$e((p[D>>2]|0)+(M<<3)|0,Xe,et,m,ht,T,l)|0,M=M+1|0,!(v|0);)if((M|0)>=(p[h>>2]|0))break t;Dr(T),Dr(l),Dr(Nt);break e}while(!1);(et|0)>0|(et|0)==0&Xe>>>0>0&&Ko(l|0,0,Xe<<3|0)|0,it=ht,We=p[it+4>>2]|0;t:do if((We|0)>0|(We|0)==0&(p[it>>2]|0)>>>0>0){me=T,Fe=l,He=T,We=l,it=T,v=T,ae=T,xe=l,De=l,T=l;r:for(;;){for(X=0,te=0,Z=0,re=0,M=0,D=0;;){l=Rt,d=l+56|0;do p[l>>2]=0,l=l+4|0;while((l|0)<(d|0));if(m=me+(X<<3)|0,h=p[m>>2]|0,m=p[m+4>>2]|0,Ui(h,m,1,Rt,0)|0){l=Rt,d=l+56|0;do p[l>>2]=0,l=l+4|0;while((l|0)<(d|0));l=eo(7,4)|0,l|0&&(Ps(h,m,1,Rt,l,7,0,0)|0,Dr(l))}for(U=0;;){L=Rt+(U<<3)|0,R=p[L>>2]|0,L=p[L+4>>2]|0;n:do if((R|0)==0&(L|0)==0)l=M,d=D;else{if(g=mo(R|0,L|0,Xe|0,et|0)|0,h=Me()|0,l=w+(g<<3)|0,m=l,d=p[m>>2]|0,m=p[m+4>>2]|0,!((d|0)==0&(m|0)==0)){C=0,P=0;do{if((C|0)>(et|0)|(C|0)==(et|0)&P>>>0>Xe>>>0)break r;if((d|0)==(R|0)&(m|0)==(L|0)){l=M,d=D;break n}l=cn(g|0,h|0,1,0)|0,g=Zi(l|0,Me()|0,Xe|0,et|0)|0,h=Me()|0,P=cn(P|0,C|0,1,0)|0,C=Me()|0,l=w+(g<<3)|0,m=l,d=p[m>>2]|0,m=p[m+4>>2]|0}while(!((d|0)==0&(m|0)==0))}(R|0)==0&(L|0)==0?(l=M,d=D):(Cc(R,L,xt)|0,Kt(_,Nt,xt)|0&&(P=cn(M|0,D|0,1,0)|0,D=Me()|0,C=l,p[C>>2]=R,p[C+4>>2]=L,M=Fe+(M<<3)|0,p[M>>2]=R,p[M+4>>2]=L,M=P),l=M,d=D)}while(!1);if(U=U+1|0,U>>>0>=7)break;M=l,D=d}if(X=cn(X|0,te|0,1,0)|0,te=Me()|0,Z=cn(Z|0,re|0,1,0)|0,re=Me()|0,D=ht,M=p[D>>2]|0,D=p[D+4>>2]|0,(re|0)<(D|0)|(re|0)==(D|0)&Z>>>0<M>>>0)M=l,D=d;else break}if((D|0)>0|(D|0)==0&M>>>0>0){M=0,D=0;do re=me+(M<<3)|0,p[re>>2]=0,p[re+4>>2]=0,M=cn(M|0,D|0,1,0)|0,D=Me()|0,re=ht,Z=p[re+4>>2]|0;while((D|0)<(Z|0)|((D|0)==(Z|0)?M>>>0<(p[re>>2]|0)>>>0:0))}if(re=ht,p[re>>2]=l,p[re+4>>2]=d,(d|0)>0|(d|0)==0&l>>>0>0)U=T,X=De,te=it,Z=xe,re=Fe,T=ae,De=v,xe=He,ae=U,v=X,it=We,We=te,He=Z,Fe=me,me=re;else break t}Dr(He),Dr(We),Dr(Nt),v=1;break e}else v=l;while(!1);Dr(Nt),Dr(T),Dr(v),v=0}while(!1);return Nt=v,Ie=rr,Nt|0}function Ht(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0;if(g=Ie,Ie=Ie+176|0,d=g,(m|0)<1)return ma(v,0,0),h=0,Ie=g,h|0;for(l=_,l=jt(p[l>>2]|0,p[l+4>>2]|0,52)|0,Me()|0,ma(v,(m|0)>6?m:6,l&15),l=0;w=_+(l<<3)|0,w=Ec(p[w>>2]|0,p[w+4>>2]|0,d)|0,!(w|0);){if(w=p[d>>2]|0,(w|0)>0){D=0;do M=d+8+(D<<4)|0,D=D+1|0,w=d+8+(((D|0)%(w|0)|0)<<4)|0,T=_r(v,w,M)|0,T?Yi(v,T)|0:bl(v,M,w)|0,w=p[d>>2]|0;while((D|0)<(w|0))}if(l=l+1|0,(l|0)>=(m|0)){w=0,h=13;break}}return(h|0)==13?(Ie=g,w|0):(Jo(v),h=w,Ie=g,h|0)}function gr(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0;if(M=Ie,Ie=Ie+32|0,w=M,T=M+16|0,_=Ht(_,m,T)|0,_|0)return v=_,Ie=M,v|0;if(p[v>>2]=0,p[v+4>>2]=0,p[v+8>>2]=0,_=Qs(T)|0,_|0)do{m=$A(v)|0;do WA(m,_)|0,D=_+16|0,p[w>>2]=p[D>>2],p[w+4>>2]=p[D+4>>2],p[w+8>>2]=p[D+8>>2],p[w+12>>2]=p[D+12>>2],Yi(T,_)|0,_=or(T,w)|0;while((_|0)!=0);_=Qs(T)|0}while((_|0)!=0);return Jo(T),_=vl(v)|0,_?(Ic(v),D=_,Ie=M,D|0):(D=0,Ie=M,D|0)}function wr(_){return _=_|0,_>>>0>121?(_=0,_|0):(_=p[7696+(_*28|0)+16>>2]|0,_|0)}function ni(_){return _=_|0,(_|0)==4|(_|0)==117|0}function Ii(_){return _=_|0,p[11120+((p[_>>2]|0)*216|0)+((p[_+4>>2]|0)*72|0)+((p[_+8>>2]|0)*24|0)+(p[_+12>>2]<<3)>>2]|0}function zi(_){return _=_|0,p[11120+((p[_>>2]|0)*216|0)+((p[_+4>>2]|0)*72|0)+((p[_+8>>2]|0)*24|0)+(p[_+12>>2]<<3)+4>>2]|0}function Js(_,m){_=_|0,m=m|0,_=7696+(_*28|0)|0,p[m>>2]=p[_>>2],p[m+4>>2]=p[_+4>>2],p[m+8>>2]=p[_+8>>2],p[m+12>>2]=p[_+12>>2]}function vh(_,m){_=_|0,m=m|0;var v=0,w=0;if(m>>>0>20)return m=-1,m|0;do if((p[11120+(m*216|0)>>2]|0)!=(_|0))if((p[11120+(m*216|0)+8>>2]|0)!=(_|0))if((p[11120+(m*216|0)+16>>2]|0)!=(_|0))if((p[11120+(m*216|0)+24>>2]|0)!=(_|0))if((p[11120+(m*216|0)+32>>2]|0)!=(_|0))if((p[11120+(m*216|0)+40>>2]|0)!=(_|0))if((p[11120+(m*216|0)+48>>2]|0)!=(_|0))if((p[11120+(m*216|0)+56>>2]|0)!=(_|0))if((p[11120+(m*216|0)+64>>2]|0)!=(_|0))if((p[11120+(m*216|0)+72>>2]|0)!=(_|0))if((p[11120+(m*216|0)+80>>2]|0)!=(_|0))if((p[11120+(m*216|0)+88>>2]|0)!=(_|0))if((p[11120+(m*216|0)+96>>2]|0)!=(_|0))if((p[11120+(m*216|0)+104>>2]|0)!=(_|0))if((p[11120+(m*216|0)+112>>2]|0)!=(_|0))if((p[11120+(m*216|0)+120>>2]|0)!=(_|0))if((p[11120+(m*216|0)+128>>2]|0)!=(_|0))if((p[11120+(m*216|0)+136>>2]|0)==(_|0))_=2,v=1,w=2;else{if((p[11120+(m*216|0)+144>>2]|0)==(_|0)){_=0,v=2,w=0;break}if((p[11120+(m*216|0)+152>>2]|0)==(_|0)){_=0,v=2,w=1;break}if((p[11120+(m*216|0)+160>>2]|0)==(_|0)){_=0,v=2,w=2;break}if((p[11120+(m*216|0)+168>>2]|0)==(_|0)){_=1,v=2,w=0;break}if((p[11120+(m*216|0)+176>>2]|0)==(_|0)){_=1,v=2,w=1;break}if((p[11120+(m*216|0)+184>>2]|0)==(_|0)){_=1,v=2,w=2;break}if((p[11120+(m*216|0)+192>>2]|0)==(_|0)){_=2,v=2,w=0;break}if((p[11120+(m*216|0)+200>>2]|0)==(_|0)){_=2,v=2,w=1;break}if((p[11120+(m*216|0)+208>>2]|0)==(_|0)){_=2,v=2,w=2;break}else _=-1;return _|0}else _=2,v=1,w=1;else _=2,v=1,w=0;else _=1,v=1,w=2;else _=1,v=1,w=1;else _=1,v=1,w=0;else _=0,v=1,w=2;else _=0,v=1,w=1;else _=0,v=1,w=0;else _=2,v=0,w=2;else _=2,v=0,w=1;else _=2,v=0,w=0;else _=1,v=0,w=2;else _=1,v=0,w=1;else _=1,v=0,w=0;else _=0,v=0,w=2;else _=0,v=0,w=1;else _=0,v=0,w=0;while(!1);return m=p[11120+(m*216|0)+(v*72|0)+(_*24|0)+(w<<3)+4>>2]|0,m|0}function sf(_,m){return _=_|0,m=m|0,(p[7696+(_*28|0)+20>>2]|0)==(m|0)?(m=1,m|0):(m=(p[7696+(_*28|0)+24>>2]|0)==(m|0),m|0)}function ca(_,m){return _=_|0,m=m|0,p[848+(_*28|0)+(m<<2)>>2]|0}function ll(_,m){return _=_|0,m=m|0,(p[848+(_*28|0)>>2]|0)==(m|0)?(m=0,m|0):(p[848+(_*28|0)+4>>2]|0)==(m|0)?(m=1,m|0):(p[848+(_*28|0)+8>>2]|0)==(m|0)?(m=2,m|0):(p[848+(_*28|0)+12>>2]|0)==(m|0)?(m=3,m|0):(p[848+(_*28|0)+16>>2]|0)==(m|0)?(m=4,m|0):(p[848+(_*28|0)+20>>2]|0)==(m|0)?(m=5,m|0):((p[848+(_*28|0)+24>>2]|0)==(m|0)?6:7)|0}function ul(){return 122}function bh(_){_=_|0;var m=0,v=0,w=0;m=0;do Zt(m|0,0,45)|0,w=Me()|0|134225919,v=_+(m<<3)|0,p[v>>2]=-1,p[v+4>>2]=w,m=m+1|0;while((m|0)!=122);return 0}function fl(_){return _=_|0,+le[_+16>>3]<+le[_+24>>3]|0}function Rs(_,m){_=_|0,m=m|0;var v=0,w=0,T=0;return v=+le[m>>3],!(v>=+le[_+8>>3])||!(v<=+le[_>>3])?(m=0,m|0):(w=+le[_+16>>3],v=+le[_+24>>3],T=+le[m+8>>3],m=T>=v,_=T<=w&1,w<v?m&&(_=1):m||(_=0),m=(_|0)!=0,m|0)}function ko(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0;L=Ie,Ie=Ie+288|0,g=L+264|0,C=L+96|0,h=L,l=h,d=l+96|0;do p[l>>2]=0,l=l+4|0;while((l|0)<(d|0));return m=pl(m,h)|0,m|0?(R=m,Ie=L,R|0):(d=h,h=p[d>>2]|0,d=p[d+4>>2]|0,Cc(h,d,g)|0,Ec(h,d,C)|0,D=+ja(g,C+8|0),le[g>>3]=+le[_>>3],d=g+8|0,le[d>>3]=+le[_+16>>3],le[C>>3]=+le[_+8>>3],h=C+8|0,le[h>>3]=+le[_+24>>3],T=+ja(g,C),X=+le[d>>3]-+le[h>>3],M=+It(+X),U=+le[g>>3]-+le[C>>3],w=+It(+U),!(X==0|U==0)&&(X=+Rc(+M,+w),X=+zr(+(T*T/+xl(+(X/+xl(+M,+w)),3)/(D*(D*2.59807621135)*.8))),le[vt>>3]=X,P=~~X>>>0,R=+It(X)>=1?X>0?~~+Lr(+Ct(X/4294967296),4294967295)>>>0:~~+zr((X-+(~~X>>>0))/4294967296)>>>0:0,(p[vt+4>>2]&2146435072|0)!=2146435072)?(C=(P|0)==0&(R|0)==0,m=v,p[m>>2]=C?1:P,p[m+4>>2]=C?0:R,m=0):m=1,R=m,Ie=L,R|0)}function la(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0,g=0;h=Ie,Ie=Ie+288|0,D=h+264|0,l=h+96|0,d=h,T=d,M=T+96|0;do p[T>>2]=0,T=T+4|0;while((T|0)<(M|0));return v=pl(v,d)|0,v|0?(w=v,Ie=h,w|0):(v=d,T=p[v>>2]|0,v=p[v+4>>2]|0,Cc(T,v,D)|0,Ec(T,v,l)|0,g=+ja(D,l+8|0),g=+zr(+(+ja(_,m)/(g*2))),le[vt>>3]=g,v=~~g>>>0,T=+It(g)>=1?g>0?~~+Lr(+Ct(g/4294967296),4294967295)>>>0:~~+zr((g-+(~~g>>>0))/4294967296)>>>0:0,(p[vt+4>>2]&2146435072|0)==2146435072?(w=1,Ie=h,w|0):(d=(v|0)==0&(T|0)==0,p[w>>2]=d?1:v,p[w+4>>2]=d?0:T,w=0,Ie=h,w|0))}function Fa(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0,p[_>>2]=m,p[_+4>>2]=v,p[_+8>>2]=w}function ua(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0;C=m+8|0,p[C>>2]=0,d=+le[_>>3],D=+It(+d),h=+le[_+8>>3],l=+It(+h)/.8660254037844386,D=D+l*.5,v=~~D,_=~~l,D=D-+(v|0),l=l-+(_|0);do if(D<.5)if(D<.3333333333333333)if(p[m>>2]=v,l<(D+1)*.5){p[m+4>>2]=_;break}else{_=_+1|0,p[m+4>>2]=_;break}else if(P=1-D,_=(!(l<P)&1)+_|0,p[m+4>>2]=_,P<=l&l<D*2){v=v+1|0,p[m>>2]=v;break}else{p[m>>2]=v;break}else{if(!(D<.6666666666666666))if(v=v+1|0,p[m>>2]=v,l<D*.5){p[m+4>>2]=_;break}else{_=_+1|0,p[m+4>>2]=_;break}if(l<1-D){if(p[m+4>>2]=_,D*2+-1<l){p[m>>2]=v;break}}else _=_+1|0,p[m+4>>2]=_;v=v+1|0,p[m>>2]=v}while(!1);do if(d<0)if(_&1){g=(_+1|0)/2|0,g=Hr(v|0,((v|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0,v=~~(+(v|0)-((+(g>>>0)+4294967296*+(Me()|0))*2+1)),p[m>>2]=v;break}else{g=(_|0)/2|0,g=Hr(v|0,((v|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0,v=~~(+(v|0)-(+(g>>>0)+4294967296*+(Me()|0))*2),p[m>>2]=v;break}while(!1);g=m+4|0,h<0&&(v=v-((_<<1|1|0)/2|0)|0,p[m>>2]=v,_=0-_|0,p[g>>2]=_),w=_-v|0,(v|0)<0?(T=0-v|0,p[g>>2]=w,p[C>>2]=T,p[m>>2]=0,_=w,v=0):T=0,(_|0)<0&&(v=v-_|0,p[m>>2]=v,T=T-_|0,p[C>>2]=T,p[g>>2]=0,_=0),M=v-T|0,w=_-T|0,(T|0)<0&&(p[m>>2]=M,p[g>>2]=w,p[C>>2]=0,_=w,v=M,T=0),w=(_|0)<(v|0)?_:v,w=(T|0)<(w|0)?T:w,!((w|0)<=0)&&(p[m>>2]=v-w,p[g>>2]=_-w,p[C>>2]=T-w)}function hi(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0;m=p[_>>2]|0,D=_+4|0,v=p[D>>2]|0,(m|0)<0&&(v=v-m|0,p[D>>2]=v,M=_+8|0,p[M>>2]=(p[M>>2]|0)-m,p[_>>2]=0,m=0),(v|0)<0?(m=m-v|0,p[_>>2]=m,M=_+8|0,T=(p[M>>2]|0)-v|0,p[M>>2]=T,p[D>>2]=0,v=0):(T=_+8|0,M=T,T=p[T>>2]|0),(T|0)<0&&(m=m-T|0,p[_>>2]=m,v=v-T|0,p[D>>2]=v,p[M>>2]=0,T=0),w=(v|0)<(m|0)?v:m,w=(T|0)<(w|0)?T:w,!((w|0)<=0)&&(p[_>>2]=m-w,p[D>>2]=v-w,p[M>>2]=T-w)}function xo(_,m){_=_|0,m=m|0;var v=0,w=0;w=p[_+8>>2]|0,v=+((p[_+4>>2]|0)-w|0),le[m>>3]=+((p[_>>2]|0)-w|0)-v*.5,le[m+8>>3]=v*.8660254037844386}function Ln(_,m,v){_=_|0,m=m|0,v=v|0,p[v>>2]=(p[m>>2]|0)+(p[_>>2]|0),p[v+4>>2]=(p[m+4>>2]|0)+(p[_+4>>2]|0),p[v+8>>2]=(p[m+8>>2]|0)+(p[_+8>>2]|0)}function ii(_,m,v){_=_|0,m=m|0,v=v|0,p[v>>2]=(p[_>>2]|0)-(p[m>>2]|0),p[v+4>>2]=(p[_+4>>2]|0)-(p[m+4>>2]|0),p[v+8>>2]=(p[_+8>>2]|0)-(p[m+8>>2]|0)}function Da(_,m){_=_|0,m=m|0;var v=0,w=0;v=Gr(p[_>>2]|0,m)|0,p[_>>2]=v,v=_+4|0,w=Gr(p[v>>2]|0,m)|0,p[v>>2]=w,_=_+8|0,m=Gr(p[_>>2]|0,m)|0,p[_>>2]=m}function hl(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;D=p[_>>2]|0,l=(D|0)<0,w=(p[_+4>>2]|0)-(l?D:0)|0,M=(w|0)<0,T=(M?0-w|0:0)+((p[_+8>>2]|0)-(l?D:0))|0,v=(T|0)<0,_=v?0:T,m=(M?0:w)-(v?T:0)|0,T=(l?0:D)-(M?w:0)-(v?T:0)|0,v=(m|0)<(T|0)?m:T,v=(_|0)<(v|0)?_:v,w=(v|0)>0,_=_-(w?v:0)|0,m=m-(w?v:0)|0;e:do switch(T-(w?v:0)|0){case 0:switch(m|0){case 0:return l=(_|0)==0?0:(_|0)==1?1:7,l|0;case 1:return l=(_|0)==0?2:(_|0)==1?3:7,l|0;default:break e}case 1:switch(m|0){case 0:return l=(_|0)==0?4:(_|0)==1?5:7,l|0;case 1:{if(!_)_=6;else break e;return _|0}default:break e}}while(!1);return l=7,l|0}function zA(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;D=_+8|0,T=p[D>>2]|0,M=(p[_>>2]|0)-T|0,l=_+4|0,T=(p[l>>2]|0)-T|0;do if(M>>>0>715827881|T>>>0>715827881){if(v=(M|0)>0,v){if((2147483647-M|0)<(M|0)||(2147483647-(M<<1)|0)<(M|0))return l=1,l|0}else if((-2147483648-M|0)>(M|0)||(-2147483648-(M<<1)|0)>(M|0))return l=1,l|0;if(m=M*3|0,(T|0)>0){if((2147483647-T|0)<(T|0))return l=1,l|0}else if((-2147483648-T|0)>(T|0))return l=1,l|0;if(w=T<<1,(M|0)>-1){if((m|-2147483648|0)>=(T|0))return l=1,l|0}else if((m^-2147483648|0)<(T|0))return l=1,l|0;if(v){if((2147483647-M|0)<(w|0))m=1;else{v=w;break}return m|0}else{if((-2147483648-M|0)>(w|0))m=1;else{v=w;break}return m|0}}else v=T<<1,m=M*3|0;while(!1);w=Vi(+(m-T|0)/7)|0,p[_>>2]=w,T=Vi(+(v+M|0)/7)|0,p[l>>2]=T,p[D>>2]=0,v=(T|0)<(w|0),m=v?w:T,v=v?T:w;do if((v|0)<0){if((m|0)>0){if((m|-2147483648|0)<(v|0)&((v|0)!=-2147483648&(2147483647-m|0)>=(v|0)))break;Wt(23313,22444,355,22455)}if((v|0)==-2147483648|(-2147483648-m|0)>(v|0)&&Wt(23313,22444,355,22455),(m|0)>-1){if((m|-2147483648|0)<(v|0))break;Wt(23313,22444,355,22455)}else{if((m^-2147483648|0)>=(v|0))break;Wt(23313,22444,355,22455)}}while(!1);return m=T-w|0,(w|0)<0?(v=0-w|0,p[l>>2]=m,p[D>>2]=v,p[_>>2]=0,w=0):(m=T,v=0),(m|0)<0&&(w=w-m|0,p[_>>2]=w,v=v-m|0,p[D>>2]=v,p[l>>2]=0,m=0),M=w-v|0,T=m-v|0,(v|0)<0?(p[_>>2]=M,p[l>>2]=T,p[D>>2]=0,m=T,T=M,v=0):T=w,w=(m|0)<(T|0)?m:T,w=(v|0)<(w|0)?v:w,(w|0)<=0?(l=0,l|0):(p[_>>2]=T-w,p[l>>2]=m-w,p[D>>2]=v-w,l=0,l|0)}function GA(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;D=_+8|0,T=p[D>>2]|0,M=(p[_>>2]|0)-T|0,l=_+4|0,T=(p[l>>2]|0)-T|0;do if(M>>>0>715827881|T>>>0>715827881){if(v=(M|0)>0,v){if((2147483647-M|0)<(M|0))return l=1,l|0}else if((-2147483648-M|0)>(M|0))return l=1,l|0;if(m=M<<1,(T|0)>0){if((2147483647-T|0)<(T|0)||(2147483647-(T<<1)|0)<(T|0))return l=1,l|0}else if((-2147483648-T|0)>(T|0)||(-2147483648-(T<<1)|0)>(T|0))return l=1,l|0;if(w=T*3|0,v){if((2147483647-m|0)<(T|0))return l=1,l|0}else if((-2147483648-m|0)>(T|0))return l=1,l|0;if((T|0)>-1){if((w|-2147483648|0)<(M|0)){v=w;break}else m=1;return m|0}else{if((w^-2147483648|0)<(M|0))m=1;else{v=w;break}return m|0}}else v=T*3|0,m=M<<1;while(!1);w=Vi(+(m+T|0)/7)|0,p[_>>2]=w,T=Vi(+(v-M|0)/7)|0,p[l>>2]=T,p[D>>2]=0,v=(T|0)<(w|0),m=v?w:T,v=v?T:w;do if((v|0)<0){if((m|0)>0){if((m|-2147483648|0)<(v|0)&((v|0)!=-2147483648&(2147483647-m|0)>=(v|0)))break;Wt(23313,22444,404,22469)}if((v|0)==-2147483648|(-2147483648-m|0)>(v|0)&&Wt(23313,22444,404,22469),(m|0)>-1){if((m|-2147483648|0)<(v|0))break;Wt(23313,22444,404,22469)}else{if((m^-2147483648|0)>=(v|0))break;Wt(23313,22444,404,22469)}}while(!1);return m=T-w|0,(w|0)<0?(v=0-w|0,p[l>>2]=m,p[D>>2]=v,p[_>>2]=0,w=0):(m=T,v=0),(m|0)<0&&(w=w-m|0,p[_>>2]=w,v=v-m|0,p[D>>2]=v,p[l>>2]=0,m=0),M=w-v|0,T=m-v|0,(v|0)<0?(p[_>>2]=M,p[l>>2]=T,p[D>>2]=0,m=T,T=M,v=0):T=w,w=(m|0)<(T|0)?m:T,w=(v|0)<(w|0)?v:w,(w|0)<=0?(l=0,l|0):(p[_>>2]=T-w,p[l>>2]=m-w,p[D>>2]=v-w,l=0,l|0)}function of(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;D=_+8|0,v=p[D>>2]|0,m=(p[_>>2]|0)-v|0,l=_+4|0,v=(p[l>>2]|0)-v|0,w=Vi(+((m*3|0)-v|0)/7)|0,p[_>>2]=w,m=Vi(+((v<<1)+m|0)/7)|0,p[l>>2]=m,p[D>>2]=0,v=m-w|0,(w|0)<0?(M=0-w|0,p[l>>2]=v,p[D>>2]=M,p[_>>2]=0,m=v,w=0,v=M):v=0,(m|0)<0&&(w=w-m|0,p[_>>2]=w,v=v-m|0,p[D>>2]=v,p[l>>2]=0,m=0),M=w-v|0,T=m-v|0,(v|0)<0?(p[_>>2]=M,p[l>>2]=T,p[D>>2]=0,m=T,T=M,v=0):T=w,w=(m|0)<(T|0)?m:T,w=(v|0)<(w|0)?v:w,!((w|0)<=0)&&(p[_>>2]=T-w,p[l>>2]=m-w,p[D>>2]=v-w)}function Kl(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;D=_+8|0,v=p[D>>2]|0,m=(p[_>>2]|0)-v|0,l=_+4|0,v=(p[l>>2]|0)-v|0,w=Vi(+((m<<1)+v|0)/7)|0,p[_>>2]=w,m=Vi(+((v*3|0)-m|0)/7)|0,p[l>>2]=m,p[D>>2]=0,v=m-w|0,(w|0)<0?(M=0-w|0,p[l>>2]=v,p[D>>2]=M,p[_>>2]=0,m=v,w=0,v=M):v=0,(m|0)<0&&(w=w-m|0,p[_>>2]=w,v=v-m|0,p[D>>2]=v,p[l>>2]=0,m=0),M=w-v|0,T=m-v|0,(v|0)<0?(p[_>>2]=M,p[l>>2]=T,p[D>>2]=0,m=T,T=M,v=0):T=w,w=(m|0)<(T|0)?m:T,w=(v|0)<(w|0)?v:w,!((w|0)<=0)&&(p[_>>2]=T-w,p[l>>2]=m-w,p[D>>2]=v-w)}function vc(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;m=p[_>>2]|0,D=_+4|0,v=p[D>>2]|0,l=_+8|0,w=p[l>>2]|0,T=v+(m*3|0)|0,p[_>>2]=T,v=w+(v*3|0)|0,p[D>>2]=v,m=(w*3|0)+m|0,p[l>>2]=m,w=v-T|0,(T|0)<0?(m=m-T|0,p[D>>2]=w,p[l>>2]=m,p[_>>2]=0,v=w,w=0):w=T,(v|0)<0&&(w=w-v|0,p[_>>2]=w,m=m-v|0,p[l>>2]=m,p[D>>2]=0,v=0),M=w-m|0,T=v-m|0,(m|0)<0?(p[_>>2]=M,p[D>>2]=T,p[l>>2]=0,w=M,m=0):T=v,v=(T|0)<(w|0)?T:w,v=(m|0)<(v|0)?m:v,!((v|0)<=0)&&(p[_>>2]=w-v,p[D>>2]=T-v,p[l>>2]=m-v)}function Uo(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;T=p[_>>2]|0,D=_+4|0,m=p[D>>2]|0,l=_+8|0,v=p[l>>2]|0,w=(m*3|0)+T|0,T=v+(T*3|0)|0,p[_>>2]=T,p[D>>2]=w,m=(v*3|0)+m|0,p[l>>2]=m,v=w-T|0,(T|0)<0?(m=m-T|0,p[D>>2]=v,p[l>>2]=m,p[_>>2]=0,T=0):v=w,(v|0)<0&&(T=T-v|0,p[_>>2]=T,m=m-v|0,p[l>>2]=m,p[D>>2]=0,v=0),M=T-m|0,w=v-m|0,(m|0)<0?(p[_>>2]=M,p[D>>2]=w,p[l>>2]=0,T=M,m=0):w=v,v=(w|0)<(T|0)?w:T,v=(m|0)<(v|0)?m:v,!((v|0)<=0)&&(p[_>>2]=T-v,p[D>>2]=w-v,p[l>>2]=m-v)}function af(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0,l=0;(m+-1|0)>>>0>=6||(T=(p[15440+(m*12|0)>>2]|0)+(p[_>>2]|0)|0,p[_>>2]=T,l=_+4|0,w=(p[15440+(m*12|0)+4>>2]|0)+(p[l>>2]|0)|0,p[l>>2]=w,D=_+8|0,m=(p[15440+(m*12|0)+8>>2]|0)+(p[D>>2]|0)|0,p[D>>2]=m,v=w-T|0,(T|0)<0?(m=m-T|0,p[l>>2]=v,p[D>>2]=m,p[_>>2]=0,w=0):(v=w,w=T),(v|0)<0&&(w=w-v|0,p[_>>2]=w,m=m-v|0,p[D>>2]=m,p[l>>2]=0,v=0),M=w-m|0,T=v-m|0,(m|0)<0?(p[_>>2]=M,p[l>>2]=T,p[D>>2]=0,w=M,m=0):T=v,v=(T|0)<(w|0)?T:w,v=(m|0)<(v|0)?m:v,!((v|0)<=0)&&(p[_>>2]=w-v,p[l>>2]=T-v,p[D>>2]=m-v))}function cf(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;T=p[_>>2]|0,D=_+4|0,m=p[D>>2]|0,l=_+8|0,v=p[l>>2]|0,w=m+T|0,T=v+T|0,p[_>>2]=T,p[D>>2]=w,m=v+m|0,p[l>>2]=m,v=w-T|0,(T|0)<0?(m=m-T|0,p[D>>2]=v,p[l>>2]=m,p[_>>2]=0,w=0):(v=w,w=T),(v|0)<0&&(w=w-v|0,p[_>>2]=w,m=m-v|0,p[l>>2]=m,p[D>>2]=0,v=0),M=w-m|0,T=v-m|0,(m|0)<0?(p[_>>2]=M,p[D>>2]=T,p[l>>2]=0,w=M,m=0):T=v,v=(T|0)<(w|0)?T:w,v=(m|0)<(v|0)?m:v,!((v|0)<=0)&&(p[_>>2]=w-v,p[D>>2]=T-v,p[l>>2]=m-v)}function ql(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;m=p[_>>2]|0,D=_+4|0,w=p[D>>2]|0,l=_+8|0,v=p[l>>2]|0,T=w+m|0,p[_>>2]=T,w=v+w|0,p[D>>2]=w,m=v+m|0,p[l>>2]=m,v=w-T|0,(T|0)<0?(m=m-T|0,p[D>>2]=v,p[l>>2]=m,p[_>>2]=0,w=0):(v=w,w=T),(v|0)<0&&(w=w-v|0,p[_>>2]=w,m=m-v|0,p[l>>2]=m,p[D>>2]=0,v=0),M=w-m|0,T=v-m|0,(m|0)<0?(p[_>>2]=M,p[D>>2]=T,p[l>>2]=0,w=M,m=0):T=v,v=(T|0)<(w|0)?T:w,v=(m|0)<(v|0)?m:v,!((v|0)<=0)&&(p[_>>2]=w-v,p[D>>2]=T-v,p[l>>2]=m-v)}function Ao(_){switch(_=_|0,_|0){case 1:{_=5;break}case 5:{_=4;break}case 4:{_=6;break}case 6:{_=2;break}case 2:{_=3;break}case 3:{_=1;break}}return _|0}function Xs(_){switch(_=_|0,_|0){case 1:{_=3;break}case 3:{_=2;break}case 2:{_=6;break}case 6:{_=4;break}case 4:{_=5;break}case 5:{_=1;break}}return _|0}function lf(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;m=p[_>>2]|0,D=_+4|0,v=p[D>>2]|0,l=_+8|0,w=p[l>>2]|0,T=v+(m<<1)|0,p[_>>2]=T,v=w+(v<<1)|0,p[D>>2]=v,m=(w<<1)+m|0,p[l>>2]=m,w=v-T|0,(T|0)<0?(m=m-T|0,p[D>>2]=w,p[l>>2]=m,p[_>>2]=0,v=w,w=0):w=T,(v|0)<0&&(w=w-v|0,p[_>>2]=w,m=m-v|0,p[l>>2]=m,p[D>>2]=0,v=0),M=w-m|0,T=v-m|0,(m|0)<0?(p[_>>2]=M,p[D>>2]=T,p[l>>2]=0,w=M,m=0):T=v,v=(T|0)<(w|0)?T:w,v=(m|0)<(v|0)?m:v,!((v|0)<=0)&&(p[_>>2]=w-v,p[D>>2]=T-v,p[l>>2]=m-v)}function Fi(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;T=p[_>>2]|0,D=_+4|0,m=p[D>>2]|0,l=_+8|0,v=p[l>>2]|0,w=(m<<1)+T|0,T=v+(T<<1)|0,p[_>>2]=T,p[D>>2]=w,m=(v<<1)+m|0,p[l>>2]=m,v=w-T|0,(T|0)<0?(m=m-T|0,p[D>>2]=v,p[l>>2]=m,p[_>>2]=0,T=0):v=w,(v|0)<0&&(T=T-v|0,p[_>>2]=T,m=m-v|0,p[l>>2]=m,p[D>>2]=0,v=0),M=T-m|0,w=v-m|0,(m|0)<0?(p[_>>2]=M,p[D>>2]=w,p[l>>2]=0,T=M,m=0):w=v,v=(w|0)<(T|0)?w:T,v=(m|0)<(v|0)?m:v,!((v|0)<=0)&&(p[_>>2]=T-v,p[D>>2]=w-v,p[l>>2]=m-v)}function dl(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0,l=0;return D=(p[_>>2]|0)-(p[m>>2]|0)|0,l=(D|0)<0,w=(p[_+4>>2]|0)-(p[m+4>>2]|0)-(l?D:0)|0,M=(w|0)<0,T=(l?0-D|0:0)+(p[_+8>>2]|0)-(p[m+8>>2]|0)+(M?0-w|0:0)|0,_=(T|0)<0,m=_?0:T,v=(M?0:w)-(_?T:0)|0,T=(l?0:D)-(M?w:0)-(_?T:0)|0,_=(v|0)<(T|0)?v:T,_=(m|0)<(_|0)?m:_,w=(_|0)>0,m=m-(w?_:0)|0,v=v-(w?_:0)|0,_=T-(w?_:0)|0,_=(_|0)>-1?_:0-_|0,v=(v|0)>-1?v:0-v|0,m=(m|0)>-1?m:0-m|0,m=(v|0)>(m|0)?v:m,((_|0)>(m|0)?_:m)|0}function fa(_,m){_=_|0,m=m|0;var v=0;v=p[_+8>>2]|0,p[m>>2]=(p[_>>2]|0)-v,p[m+4>>2]=(p[_+4>>2]|0)-v}function ha(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0,l=0;w=p[_>>2]|0,p[m>>2]=w,T=p[_+4>>2]|0,D=m+4|0,p[D>>2]=T,l=m+8|0,p[l>>2]=0,v=(T|0)<(w|0),_=v?w:T,v=v?T:w;do if((v|0)<0){if((_|0)>0){if((_|-2147483648|0)<(v|0)&((v|0)!=-2147483648&(2147483647-_|0)>=(v|0)))break;return _=1,_|0}if((v|0)==-2147483648|(-2147483648-_|0)>(v|0))return m=1,m|0;if((_|0)>-1){if((_|-2147483648|0)<(v|0))break;return _=1,_|0}else{if((_^-2147483648|0)<(v|0))_=1;else break;return _|0}}while(!1);return _=T-w|0,(w|0)<0?(v=0-w|0,p[D>>2]=_,p[l>>2]=v,p[m>>2]=0,w=0):(_=T,v=0),(_|0)<0&&(w=w-_|0,p[m>>2]=w,v=v-_|0,p[l>>2]=v,p[D>>2]=0,_=0),M=w-v|0,T=_-v|0,(v|0)<0?(p[m>>2]=M,p[D>>2]=T,p[l>>2]=0,_=T,T=M,v=0):T=w,w=(_|0)<(T|0)?_:T,w=(v|0)<(w|0)?v:w,(w|0)<=0?(m=0,m|0):(p[m>>2]=T-w,p[D>>2]=_-w,p[l>>2]=v-w,m=0,m|0)}function da(_){_=_|0;var m=0,v=0,w=0,T=0;m=_+8|0,T=p[m>>2]|0,v=T-(p[_>>2]|0)|0,p[_>>2]=v,w=_+4|0,_=(p[w>>2]|0)-T|0,p[w>>2]=_,p[m>>2]=0-(_+v)}function Oa(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;v=p[_>>2]|0,m=0-v|0,p[_>>2]=m,D=_+8|0,p[D>>2]=0,l=_+4|0,w=p[l>>2]|0,T=w+v|0,(v|0)>0?(p[l>>2]=T,p[D>>2]=v,p[_>>2]=0,m=0,w=T):v=0,(w|0)<0?(M=m-w|0,p[_>>2]=M,v=v-w|0,p[D>>2]=v,p[l>>2]=0,T=M-v|0,m=0-v|0,(v|0)<0?(p[_>>2]=T,p[l>>2]=m,p[D>>2]=0,w=m,v=0):(w=0,T=M)):T=m,m=(w|0)<(T|0)?w:T,m=(v|0)<(m|0)?v:m,!((m|0)<=0)&&(p[_>>2]=T-m,p[l>>2]=w-m,p[D>>2]=v-m)}function Aa(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0,h=0,g=0,C=0;if(C=Ie,Ie=Ie+64|0,g=C,l=C+56|0,!(!0&(m&2013265920|0)==134217728&(!0&(w&2013265920|0)==134217728)))return T=5,Ie=C,T|0;if((_|0)==(v|0)&(m|0)==(w|0))return p[T>>2]=0,T=0,Ie=C,T|0;if(D=jt(_|0,m|0,52)|0,Me()|0,D=D&15,h=jt(v|0,w|0,52)|0,Me()|0,(D|0)!=(h&15|0))return T=12,Ie=C,T|0;if(M=D+-1|0,D>>>0>1){Ho(_,m,M,g)|0,Ho(v,w,M,l)|0,h=g,d=p[h>>2]|0,h=p[h+4>>2]|0;e:do if((d|0)==(p[l>>2]|0)&&(h|0)==(p[l+4>>2]|0)){D=(D^15)*3|0,M=jt(_|0,m|0,D|0)|0,Me()|0,M=M&7,D=jt(v|0,w|0,D|0)|0,Me()|0,D=D&7;do if((M|0)==0|(D|0)==0)p[T>>2]=1,M=0;else if((M|0)==7)M=5;else{if((M|0)==1|(D|0)==1&&Sn(d,h)|0){M=5;break}if((p[15536+(M<<2)>>2]|0)!=(D|0)&&(p[15568+(M<<2)>>2]|0)!=(D|0))break e;p[T>>2]=1,M=0}while(!1);return T=M,Ie=C,T|0}while(!1)}M=g,D=M+56|0;do p[M>>2]=0,M=M+4|0;while((M|0)<(D|0));return Bn(_,m,1,g)|0,m=g,!((p[m>>2]|0)==(v|0)&&(p[m+4>>2]|0)==(w|0))&&(m=g+8|0,!((p[m>>2]|0)==(v|0)&&(p[m+4>>2]|0)==(w|0)))&&(m=g+16|0,!((p[m>>2]|0)==(v|0)&&(p[m+4>>2]|0)==(w|0)))&&(m=g+24|0,!((p[m>>2]|0)==(v|0)&&(p[m+4>>2]|0)==(w|0)))&&(m=g+32|0,!((p[m>>2]|0)==(v|0)&&(p[m+4>>2]|0)==(w|0)))&&(m=g+40|0,!((p[m>>2]|0)==(v|0)&&(p[m+4>>2]|0)==(w|0)))?(M=g+48|0,M=((p[M>>2]|0)==(v|0)?(p[M+4>>2]|0)==(w|0):0)&1):M=1,p[T>>2]=M,T=0,Ie=C,T|0}function La(_,m,v,w,T){return _=_|0,m=m|0,v=v|0,w=w|0,T=T|0,v=cl(_,m,v,w)|0,(v|0)==7?(T=11,T|0):(w=Zt(v|0,0,56)|0,m=m&-2130706433|(Me()|0)|268435456,p[T>>2]=_|w,p[T+4>>2]=m,T=0,T|0)}function Na(_,m,v){return _=_|0,m=m|0,v=v|0,!0&(m&2013265920|0)==268435456?(p[v>>2]=_,p[v+4>>2]=m&-2130706433|134217728,v=0,v|0):(v=6,v|0)}function pa(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0;return T=Ie,Ie=Ie+16|0,w=T,p[w>>2]=0,!0&(m&2013265920|0)==268435456?(M=jt(_|0,m|0,56)|0,Me()|0,w=wn(_,m&-2130706433|134217728,M&7,w,v)|0,Ie=T,w|0):(w=6,Ie=T,w|0)}function xh(_,m){_=_|0,m=m|0;var v=0;switch(v=jt(_|0,m|0,56)|0,Me()|0,v&7){case 0:case 7:return v=0,v|0}return v=m&-2130706433|134217728,!(!0&(m&2013265920|0)==268435456)||!0&(m&117440512|0)==16777216&(Sn(_,v)|0)!=0?(v=0,v|0):(v=Vo(_,v)|0,v|0)}function wh(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0;return T=Ie,Ie=Ie+16|0,w=T,!0&(m&2013265920|0)==268435456?(M=m&-2130706433|134217728,D=v,p[D>>2]=_,p[D+4>>2]=M,p[w>>2]=0,m=jt(_|0,m|0,56)|0,Me()|0,w=wn(_,M,m&7,w,v+8|0)|0,Ie=T,w|0):(w=6,Ie=T,w|0)}function Cn(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0;return T=(Sn(_,m)|0)==0,m=m&-2130706433,w=v,p[w>>2]=T?_:0,p[w+4>>2]=T?m|285212672:0,w=v+8|0,p[w>>2]=_,p[w+4>>2]=m|301989888,w=v+16|0,p[w>>2]=_,p[w+4>>2]=m|318767104,w=v+24|0,p[w>>2]=_,p[w+4>>2]=m|335544320,w=v+32|0,p[w>>2]=_,p[w+4>>2]=m|352321536,v=v+40|0,p[v>>2]=_,p[v+4>>2]=m|369098752,0}function Yl(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0;return D=Ie,Ie=Ie+16|0,T=D,M=m&-2130706433|134217728,!0&(m&2013265920|0)==268435456?(w=jt(_|0,m|0,56)|0,Me()|0,w=go(_,M,w&7)|0,(w|0)==-1?(p[v>>2]=0,M=6,Ie=D,M|0):(Ga(_,M,T)|0&&Wt(23313,22484,282,22499),m=jt(_|0,m|0,52)|0,Me()|0,m=m&15,Sn(_,M)|0?zo(T,m,w,2,v):Ql(T,m,w,2,v),M=0,Ie=D,M|0)):(M=6,Ie=D,M|0)}function Zl(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0;w=Ie,Ie=Ie+16|0,T=w,Ch(_,m,v,T),ua(T,v+4|0),Ie=w}function Ch(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0;if(l=Ie,Ie=Ie+16|0,d=l,Eh(_,v,d),M=+Fr(+(1-+le[d>>3]*.5)),M<1e-16){p[w>>2]=0,p[w+4>>2]=0,p[w+8>>2]=0,p[w+12>>2]=0,Ie=l;return}if(d=p[v>>2]|0,T=+le[15920+(d*24|0)>>3],T=+Bc(T-+Bc(+hf(15600+(d<<4)|0,_))),Fs(m)|0?D=+Bc(T+-.3334731722518321):D=T,T=+zt(+M)/.381966011250105,(m|0)>0){_=0;do T=T*2.6457513110645907,_=_+1|0;while((_|0)!=(m|0))}M=+Dt(+D)*T,le[w>>3]=M,D=+St(+D)*T,le[w+8>>3]=D,Ie=l}function Eh(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0;if(M=Ie,Ie=Ie+32|0,T=M,mf(_,T),p[m>>2]=0,le[v>>3]=5,w=+_i(16400,T),w<+le[v>>3]&&(p[m>>2]=0,le[v>>3]=w),w=+_i(16424,T),w<+le[v>>3]&&(p[m>>2]=1,le[v>>3]=w),w=+_i(16448,T),w<+le[v>>3]&&(p[m>>2]=2,le[v>>3]=w),w=+_i(16472,T),w<+le[v>>3]&&(p[m>>2]=3,le[v>>3]=w),w=+_i(16496,T),w<+le[v>>3]&&(p[m>>2]=4,le[v>>3]=w),w=+_i(16520,T),w<+le[v>>3]&&(p[m>>2]=5,le[v>>3]=w),w=+_i(16544,T),w<+le[v>>3]&&(p[m>>2]=6,le[v>>3]=w),w=+_i(16568,T),w<+le[v>>3]&&(p[m>>2]=7,le[v>>3]=w),w=+_i(16592,T),w<+le[v>>3]&&(p[m>>2]=8,le[v>>3]=w),w=+_i(16616,T),w<+le[v>>3]&&(p[m>>2]=9,le[v>>3]=w),w=+_i(16640,T),w<+le[v>>3]&&(p[m>>2]=10,le[v>>3]=w),w=+_i(16664,T),w<+le[v>>3]&&(p[m>>2]=11,le[v>>3]=w),w=+_i(16688,T),w<+le[v>>3]&&(p[m>>2]=12,le[v>>3]=w),w=+_i(16712,T),w<+le[v>>3]&&(p[m>>2]=13,le[v>>3]=w),w=+_i(16736,T),w<+le[v>>3]&&(p[m>>2]=14,le[v>>3]=w),w=+_i(16760,T),w<+le[v>>3]&&(p[m>>2]=15,le[v>>3]=w),w=+_i(16784,T),w<+le[v>>3]&&(p[m>>2]=16,le[v>>3]=w),w=+_i(16808,T),w<+le[v>>3]&&(p[m>>2]=17,le[v>>3]=w),w=+_i(16832,T),w<+le[v>>3]&&(p[m>>2]=18,le[v>>3]=w),w=+_i(16856,T),!(w<+le[v>>3])){Ie=M;return}p[m>>2]=19,le[v>>3]=w,Ie=M}function bc(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0;if(M=+Wo(_),M<1e-16){m=15600+(m<<4)|0,p[T>>2]=p[m>>2],p[T+4>>2]=p[m+4>>2],p[T+8>>2]=p[m+8>>2],p[T+12>>2]=p[m+12>>2];return}if(D=+en(+ +le[_+8>>3],+ +le[_>>3]),(v|0)>0){_=0;do M=M/2.6457513110645907,_=_+1|0;while((_|0)!=(v|0))}w?(M=M/3,v=(Fs(v)|0)==0,M=+Jr(+((v?M:M/2.6457513110645907)*.381966011250105))):(M=+Jr(+(M*.381966011250105)),Fs(v)|0&&(D=+Bc(D+.3334731722518321))),ml(15600+(m<<4)|0,+Bc(+le[15920+(m*24|0)>>3]-D),M,T)}function Th(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0;w=Ie,Ie=Ie+16|0,T=w,xo(_+4|0,T),bc(T,p[_>>2]|0,m,0,v),Ie=w}function zo(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0,re=0,ae=0,xe=0,De=0,me=0,Fe=0,He=0,We=0,it=0,Xe=0,et=0,ht=0,Rt=0,xt=0;if(ht=Ie,Ie=Ie+272|0,M=ht+256|0,Z=ht+240|0,it=ht,Xe=ht+224|0,et=ht+208|0,re=ht+176|0,ae=ht+160|0,xe=ht+192|0,De=ht+144|0,me=ht+128|0,Fe=ht+112|0,He=ht+96|0,We=ht+80|0,p[M>>2]=m,p[Z>>2]=p[_>>2],p[Z+4>>2]=p[_+4>>2],p[Z+8>>2]=p[_+8>>2],p[Z+12>>2]=p[_+12>>2],Go(Z,M,it),p[T>>2]=0,Z=w+v+((w|0)==5&1)|0,(Z|0)<=(v|0)){Ie=ht;return}d=p[M>>2]|0,h=Xe+4|0,g=re+4|0,C=v+5|0,P=16880+(d<<2)|0,R=16960+(d<<2)|0,L=me+8|0,U=Fe+8|0,X=He+8|0,te=et+4|0,l=v;e:for(;;){D=it+(((l|0)%5|0)<<4)|0,p[et>>2]=p[D>>2],p[et+4>>2]=p[D+4>>2],p[et+8>>2]=p[D+8>>2],p[et+12>>2]=p[D+12>>2];do;while((Ks(et,d,0,1)|0)==2);if((l|0)>(v|0)&(Fs(m)|0)!=0){if(p[re>>2]=p[et>>2],p[re+4>>2]=p[et+4>>2],p[re+8>>2]=p[et+8>>2],p[re+12>>2]=p[et+12>>2],xo(h,ae),w=p[re>>2]|0,M=p[17040+(w*80|0)+(p[Xe>>2]<<2)>>2]|0,p[re>>2]=p[18640+(w*80|0)+(M*20|0)>>2],D=p[18640+(w*80|0)+(M*20|0)+16>>2]|0,(D|0)>0){_=0;do cf(g),_=_+1|0;while((_|0)<(D|0))}switch(D=18640+(w*80|0)+(M*20|0)+4|0,p[xe>>2]=p[D>>2],p[xe+4>>2]=p[D+4>>2],p[xe+8>>2]=p[D+8>>2],Da(xe,(p[P>>2]|0)*3|0),Ln(g,xe,g),hi(g),xo(g,De),Rt=+(p[R>>2]|0),le[me>>3]=Rt*3,le[L>>3]=0,xt=Rt*-1.5,le[Fe>>3]=xt,le[U>>3]=Rt*2.598076211353316,le[He>>3]=xt,le[X>>3]=Rt*-2.598076211353316,p[17040+((p[re>>2]|0)*80|0)+(p[et>>2]<<2)>>2]|0){case 1:{_=Fe,w=me;break}case 3:{_=He,w=Fe;break}case 2:{_=me,w=He;break}default:{_=12;break e}}gf(ae,De,w,_,We),bc(We,p[re>>2]|0,d,1,T+8+(p[T>>2]<<4)|0),p[T>>2]=(p[T>>2]|0)+1}if((l|0)<(C|0)&&(xo(te,re),bc(re,p[et>>2]|0,d,1,T+8+(p[T>>2]<<4)|0),p[T>>2]=(p[T>>2]|0)+1),p[Xe>>2]=p[et>>2],p[Xe+4>>2]=p[et+4>>2],p[Xe+8>>2]=p[et+8>>2],p[Xe+12>>2]=p[et+12>>2],l=l+1|0,(l|0)>=(Z|0)){_=3;break}}if((_|0)==3){Ie=ht;return}else(_|0)==12&&Wt(22522,22569,571,22579)}function Go(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0;d=Ie,Ie=Ie+128|0,w=d+64|0,T=d,M=w,D=20240,l=M+60|0;do p[M>>2]=p[D>>2],M=M+4|0,D=D+4|0;while((M|0)<(l|0));M=T,D=20304,l=M+60|0;do p[M>>2]=p[D>>2],M=M+4|0,D=D+4|0;while((M|0)<(l|0));l=(Fs(p[m>>2]|0)|0)==0,w=l?w:T,T=_+4|0,lf(T),Fi(T),Fs(p[m>>2]|0)|0&&(Uo(T),p[m>>2]=(p[m>>2]|0)+1),p[v>>2]=p[_>>2],m=v+4|0,Ln(T,w,m),hi(m),p[v+16>>2]=p[_>>2],m=v+20|0,Ln(T,w+12|0,m),hi(m),p[v+32>>2]=p[_>>2],m=v+36|0,Ln(T,w+24|0,m),hi(m),p[v+48>>2]=p[_>>2],m=v+52|0,Ln(T,w+36|0,m),hi(m),p[v+64>>2]=p[_>>2],v=v+68|0,Ln(T,w+48|0,v),hi(v),Ie=d}function Ks(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0;if(L=Ie,Ie=Ie+32|0,P=L+12|0,l=L,R=_+4|0,C=p[16960+(m<<2)>>2]|0,g=(w|0)!=0,C=g?C*3|0:C,T=p[R>>2]|0,h=_+8|0,D=p[h>>2]|0,g){if(M=_+12|0,w=p[M>>2]|0,T=D+T+w|0,(T|0)==(C|0))return R=1,Ie=L,R|0;d=M}else d=_+12|0,w=p[d>>2]|0,T=D+T+w|0;if((T|0)<=(C|0))return R=0,Ie=L,R|0;do if((w|0)>0){if(w=p[_>>2]|0,(D|0)>0){M=18640+(w*80|0)+60|0,w=_;break}w=18640+(w*80|0)+40|0,v?(Fa(P,C,0,0),ii(R,P,l),ql(l),Ln(l,P,R),M=w,w=_):(M=w,w=_)}else M=18640+((p[_>>2]|0)*80|0)+20|0,w=_;while(!1);if(p[w>>2]=p[M>>2],T=M+16|0,(p[T>>2]|0)>0){w=0;do cf(R),w=w+1|0;while((w|0)<(p[T>>2]|0))}return _=M+4|0,p[P>>2]=p[_>>2],p[P+4>>2]=p[_+4>>2],p[P+8>>2]=p[_+8>>2],m=p[16880+(m<<2)>>2]|0,Da(P,g?m*3|0:m),Ln(R,P,R),hi(R),g?w=((p[h>>2]|0)+(p[R>>2]|0)+(p[d>>2]|0)|0)==(C|0)?1:2:w=2,R=w,Ie=L,R|0}function Bh(_,m){_=_|0,m=m|0;var v=0;do v=Ks(_,m,0,1)|0;while((v|0)==2);return v|0}function Ql(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0,re=0,ae=0,xe=0,De=0,me=0,Fe=0,He=0,We=0,it=0;if(He=Ie,Ie=Ie+240|0,M=He+224|0,xe=He+208|0,De=He,me=He+192|0,Fe=He+176|0,X=He+160|0,te=He+144|0,Z=He+128|0,re=He+112|0,ae=He+96|0,p[M>>2]=m,p[xe>>2]=p[_>>2],p[xe+4>>2]=p[_+4>>2],p[xe+8>>2]=p[_+8>>2],p[xe+12>>2]=p[_+12>>2],eu(xe,M,De),p[T>>2]=0,U=w+v+((w|0)==6&1)|0,(U|0)<=(v|0)){Ie=He;return}d=p[M>>2]|0,h=v+6|0,g=16960+(d<<2)|0,C=te+8|0,P=Z+8|0,R=re+8|0,L=me+4|0,D=0,l=v,w=-1;e:for(;;){if(M=(l|0)%6|0,_=De+(M<<4)|0,p[me>>2]=p[_>>2],p[me+4>>2]=p[_+4>>2],p[me+8>>2]=p[_+8>>2],p[me+12>>2]=p[_+12>>2],_=D,D=Ks(me,d,0,1)|0,(l|0)>(v|0)&(Fs(m)|0)!=0&&(_|0)!=1&&(p[me>>2]|0)!=(w|0)){switch(xo(De+(((M+5|0)%6|0)<<4)+4|0,Fe),xo(De+(M<<4)+4|0,X),We=+(p[g>>2]|0),le[te>>3]=We*3,le[C>>3]=0,it=We*-1.5,le[Z>>3]=it,le[P>>3]=We*2.598076211353316,le[re>>3]=it,le[R>>3]=We*-2.598076211353316,M=p[xe>>2]|0,p[17040+(M*80|0)+(((w|0)==(M|0)?p[me>>2]|0:w)<<2)>>2]|0){case 1:{_=Z,w=te;break}case 3:{_=re,w=Z;break}case 2:{_=te,w=re;break}default:{_=8;break e}}gf(Fe,X,w,_,ae),!(Pc(Fe,ae)|0)&&!(Pc(X,ae)|0)&&(bc(ae,p[xe>>2]|0,d,1,T+8+(p[T>>2]<<4)|0),p[T>>2]=(p[T>>2]|0)+1)}if((l|0)<(h|0)&&(xo(L,Fe),bc(Fe,p[me>>2]|0,d,1,T+8+(p[T>>2]<<4)|0),p[T>>2]=(p[T>>2]|0)+1),l=l+1|0,(l|0)>=(U|0)){_=3;break}else w=p[me>>2]|0}if((_|0)==3){Ie=He;return}else(_|0)==8&&Wt(22606,22569,736,22651)}function eu(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0;d=Ie,Ie=Ie+160|0,w=d+80|0,T=d,M=w,D=20368,l=M+72|0;do p[M>>2]=p[D>>2],M=M+4|0,D=D+4|0;while((M|0)<(l|0));M=T,D=20448,l=M+72|0;do p[M>>2]=p[D>>2],M=M+4|0,D=D+4|0;while((M|0)<(l|0));l=(Fs(p[m>>2]|0)|0)==0,w=l?w:T,T=_+4|0,lf(T),Fi(T),Fs(p[m>>2]|0)|0&&(Uo(T),p[m>>2]=(p[m>>2]|0)+1),p[v>>2]=p[_>>2],m=v+4|0,Ln(T,w,m),hi(m),p[v+16>>2]=p[_>>2],m=v+20|0,Ln(T,w+12|0,m),hi(m),p[v+32>>2]=p[_>>2],m=v+36|0,Ln(T,w+24|0,m),hi(m),p[v+48>>2]=p[_>>2],m=v+52|0,Ln(T,w+36|0,m),hi(m),p[v+64>>2]=p[_>>2],m=v+68|0,Ln(T,w+48|0,m),hi(m),p[v+80>>2]=p[_>>2],v=v+84|0,Ln(T,w+60|0,v),hi(v),Ie=d}function ka(_,m){return _=_|0,m=m|0,m=jt(_|0,m|0,52)|0,Me()|0,m&15|0}function uf(_,m){return _=_|0,m=m|0,m=jt(_|0,m|0,45)|0,Me()|0,m&127|0}function Vo(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0,l=0;if(!(!0&(m&-16777216|0)==134217728)||(D=jt(_|0,m|0,45)|0,Me()|0,D=D&127,D>>>0>121))return m=0,m|0;v=jt(_|0,m|0,52)|0,Me()|0,v=v&15;do if(v|0){for(T=1,w=0;;){if(M=jt(_|0,m|0,(15-T|0)*3|0)|0,Me()|0,M=M&7,(M|0)!=0&(w^1))if((M|0)==1&(wr(D)|0)!=0){l=0,w=13;break}else w=1;if((M|0)==7){l=0,w=13;break}if(T>>>0<v>>>0)T=T+1|0;else{w=9;break}}if((w|0)==9){if((v|0)==15)l=1;else break;return l|0}else if((w|0)==13)return l|0}while(!1);for(;;){if(l=jt(_|0,m|0,(14-v|0)*3|0)|0,Me()|0,!((l&7|0)==7&!0)){l=0,w=13;break}if(v>>>0<14)v=v+1|0;else{l=1,w=13;break}}return(w|0)==13?l|0:0}function Ho(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0;if(M=jt(_|0,m|0,52)|0,Me()|0,M=M&15,v>>>0>15)return w=4,w|0;if((M|0)<(v|0))return w=12,w|0;if((M|0)==(v|0))return p[w>>2]=_,p[w+4>>2]=m,w=0,w|0;if(T=Zt(v|0,0,52)|0,T=T|_,_=Me()|0|m&-15728641,(M|0)>(v|0))do m=Zt(7,0,(14-v|0)*3|0)|0,v=v+1|0,T=m|T,_=Me()|0|_;while((v|0)<(M|0));return p[w>>2]=T,p[w+4>>2]=_,w=0,w|0}function Al(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0;if(M=jt(_|0,m|0,52)|0,Me()|0,M=M&15,!((v|0)<16&(M|0)<=(v|0)))return w=4,w|0;T=v-M|0,v=jt(_|0,m|0,45)|0,Me()|0;e:do if(!(wr(v&127)|0))v=Ls(7,0,T,((T|0)<0)<<31>>31)|0,T=Me()|0;else{t:do if(M|0){for(v=1;D=Zt(7,0,(15-v|0)*3|0)|0,!!((D&_|0)==0&((Me()|0)&m|0)==0);)if(v>>>0<M>>>0)v=v+1|0;else break t;v=Ls(7,0,T,((T|0)<0)<<31>>31)|0,T=Me()|0;break e}while(!1);v=Ls(7,0,T,((T|0)<0)<<31>>31)|0,v=si(v|0,Me()|0,5,0)|0,v=cn(v|0,Me()|0,-5,-1)|0,v=Ns(v|0,Me()|0,6,0)|0,v=cn(v|0,Me()|0,1,0)|0,T=Me()|0}while(!1);return D=w,p[D>>2]=v,p[D+4>>2]=T,D=0,D|0}function Sn(_,m){_=_|0,m=m|0;var v=0,w=0,T=0;if(T=jt(_|0,m|0,45)|0,Me()|0,!(wr(T&127)|0))return T=0,T|0;T=jt(_|0,m|0,52)|0,Me()|0,T=T&15;e:do if(!T)v=0;else for(w=1;;){if(v=jt(_|0,m|0,(15-w|0)*3|0)|0,Me()|0,v=v&7,v|0)break e;if(w>>>0<T>>>0)w=w+1|0;else{v=0;break}}while(!1);return T=(v|0)==0&1,T|0}function Pn(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0;if(D=Ie,Ie=Ie+16|0,M=D,gl(M,_,m,v),m=M,_=p[m>>2]|0,m=p[m+4>>2]|0,(_|0)==0&(m|0)==0)return Ie=D,0;T=0,v=0;do l=w+(T<<3)|0,p[l>>2]=_,p[l+4>>2]=m,T=cn(T|0,v|0,1,0)|0,v=Me()|0,su(M),l=M,_=p[l>>2]|0,m=p[l+4>>2]|0;while(!((_|0)==0&(m|0)==0));return Ie=D,0}function tu(_,m,v,w){return _=_|0,m=m|0,v=v|0,w=w|0,(w|0)<(v|0)?(v=m,w=_,fr(v|0),w|0):(v=Zt(-1,-1,((w-v|0)*3|0)+3|0)|0,w=Zt(~v|0,~(Me()|0)|0,(15-w|0)*3|0)|0,v=~(Me()|0)&m,w=~w&_,fr(v|0),w|0)}function VA(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0;return T=jt(_|0,m|0,52)|0,Me()|0,T=T&15,(v|0)<16&(T|0)<=(v|0)?((T|0)<(v|0)&&(T=Zt(-1,-1,((v+-1-T|0)*3|0)+3|0)|0,T=Zt(~T|0,~(Me()|0)|0,(15-v|0)*3|0)|0,m=~(Me()|0)&m,_=~T&_),T=Zt(v|0,0,52)|0,v=m&-15728641|(Me()|0),p[w>>2]=_|T,p[w+4>>2]=v,w=0,w|0):(w=4,w|0)}function xc(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0,re=0,ae=0,xe=0,De=0,me=0,Fe=0;if((v|0)==0&(w|0)==0)return me=0,me|0;if(T=_,M=p[T>>2]|0,T=p[T+4>>2]|0,!0&(T&15728640|0)==0){if(!((w|0)>0|(w|0)==0&v>>>0>0)||(me=m,p[me>>2]=M,p[me+4>>2]=T,(v|0)==1&(w|0)==0))return me=0,me|0;T=1;do xe=_+(T<<3)|0,De=p[xe+4>>2]|0,me=m+(T<<3)|0,p[me>>2]=p[xe>>2],p[me+4>>2]=De,T=T+1|0;while(0<(w|0)|(w|0)==0&T>>>0<v>>>0);return T=0,T|0}if(ae=v<<3,De=Vn(ae)|0,!De)return me=13,me|0;if(Eo(De|0,_|0,ae|0)|0,xe=eo(v,8)|0,!xe)return Dr(De),me=13,me|0;e:do if(v|0){t:for(;;){T=De,te=p[T>>2]|0,T=p[T+4>>2]|0,Z=jt(te|0,T|0,52)|0,Me()|0,Z=Z&15,re=Z+-1|0,X=(v|0)>0;r:do if((Z|0)!=0&X){if(R=((v|0)<0)<<31>>31,L=Zt(re|0,0,52)|0,U=Me()|0,re>>>0>15){if(!((te|0)==0&(T|0)==0)){me=17;break t}for(M=0;;){if(M=M+1|0,(M|0)>=(v|0))break r;if(w=De+(M<<3)|0,U=p[w>>2]|0,w=p[w+4>>2]|0,!((U|0)==0&(w|0)==0)){T=w,me=17;break t}}}for(M=0,_=te,w=T;;){if(!((_|0)==0&(w|0)==0)){if(!(!0&(w&117440512|0)==0)){me=22;break t}if(l=jt(_|0,w|0,52)|0,Me()|0,l=l&15,(l|0)<(re|0)){T=12,me=28;break t}if((l|0)!=(re|0)&&(_=_|L,w=w&-15728641|U,l>>>0>=Z>>>0)){D=re;do P=Zt(7,0,(14-D|0)*3|0)|0,D=D+1|0,_=P|_,w=Me()|0|w;while(D>>>0<l>>>0)}if(D=mo(_|0,w|0,v|0,R|0)|0,Me()|0,h=xe+(D<<3)|0,l=h,d=p[l>>2]|0,l=p[l+4>>2]|0,(d|0)==0&(l|0)==0)D=h;else for(P=0;;){if((P|0)>(v|0)){me=32;break t}if((d|0)==(_|0)&(l&-117440513|0)==(w|0)){g=jt(d|0,l|0,56)|0,Me()|0,g=g&7,C=g+1|0,Fe=jt(d|0,l|0,45)|0,Me()|0;n:do if(!(wr(Fe&127)|0))l=7;else{if(d=jt(d|0,l|0,52)|0,Me()|0,d=d&15,!d){l=6;break}for(l=1;;){if(Fe=Zt(7,0,(15-l|0)*3|0)|0,!((Fe&_|0)==0&((Me()|0)&w|0)==0)){l=7;break n}if(l>>>0<d>>>0)l=l+1|0;else{l=6;break}}}while(!1);if((g+2|0)>>>0>l>>>0){me=42;break t}Fe=Zt(C|0,0,56)|0,w=Me()|0|w&-117440513,C=h,p[C>>2]=0,p[C+4>>2]=0,_=Fe|_}else D=(D+1|0)%(v|0)|0;if(h=xe+(D<<3)|0,l=h,d=p[l>>2]|0,l=p[l+4>>2]|0,(d|0)==0&(l|0)==0){D=h;break}else P=P+1|0}Fe=D,p[Fe>>2]=_,p[Fe+4>>2]=w}if(M=M+1|0,(M|0)>=(v|0))break r;w=De+(M<<3)|0,_=p[w>>2]|0,w=p[w+4>>2]|0}}while(!1);if((v+5|0)>>>0<11){me=85;break}if(U=eo((v|0)/6|0,8)|0,!U){me=49;break}r:do if(X){P=0,C=0;do{if(l=xe+(P<<3)|0,w=l,M=p[w>>2]|0,w=p[w+4>>2]|0,!((M|0)==0&(w|0)==0)){d=jt(M|0,w|0,56)|0,Me()|0,d=d&7,_=d+1|0,h=w&-117440513,Fe=jt(M|0,w|0,45)|0,Me()|0;n:do if(wr(Fe&127)|0){if(g=jt(M|0,w|0,52)|0,Me()|0,g=g&15,g|0)for(D=1;;){if(Fe=Zt(7,0,(15-D|0)*3|0)|0,!((M&Fe|0)==0&(h&(Me()|0)|0)==0))break n;if(D>>>0<g>>>0)D=D+1|0;else break}w=Zt(_|0,0,56)|0,M=w|M,w=Me()|0|h,_=l,p[_>>2]=M,p[_+4>>2]=w,_=d+2|0}while(!1);(_|0)==7&&(Fe=U+(C<<3)|0,p[Fe>>2]=M,p[Fe+4>>2]=w&-117440513,C=C+1|0)}P=P+1|0}while((P|0)!=(v|0));if(X){if(P=((v|0)<0)<<31>>31,R=Zt(re|0,0,52)|0,L=Me()|0,re>>>0>15){if(!((te|0)==0&(T|0)==0)){T=4,me=84;break t}for(T=0;;){if(T=T+1|0,(T|0)>=(v|0)){M=0,T=C;break r}if(Fe=De+(T<<3)|0,!((p[Fe>>2]|0)==0&(p[Fe+4>>2]|0)==0)){T=4,me=84;break t}}}for(g=0,M=0,h=te;;){do if(!((h|0)==0&(T|0)==0)){if(l=jt(h|0,T|0,52)|0,Me()|0,l=l&15,(l|0)<(re|0)){T=12,me=84;break t}do if((l|0)==(re|0))w=h,l=T;else{if(w=h|R,_=T&-15728641|L,l>>>0<Z>>>0){l=_;break}D=re;do Fe=Zt(7,0,(14-D|0)*3|0)|0,D=D+1|0,w=Fe|w,_=Me()|0|_;while(D>>>0<l>>>0);l=_}while(!1);for(D=mo(w|0,l|0,v|0,P|0)|0,Me()|0,_=0;;){if((_|0)>(v|0)){me=77;break t}if(Fe=xe+(D<<3)|0,d=p[Fe+4>>2]|0,(d&-117440513|0)==(l|0)&&(p[Fe>>2]|0)==(w|0)){me=79;break}if(D=(D+1|0)%(v|0)|0,Fe=xe+(D<<3)|0,(p[Fe>>2]|0)==(w|0)&&(p[Fe+4>>2]|0)==(l|0))break;_=_+1|0}if((me|0)==79&&(me=0,!0&(d&117440512|0)==100663296))break;Fe=m+(M<<3)|0,p[Fe>>2]=h,p[Fe+4>>2]=T,M=M+1|0}while(!1);if(T=g+1|0,(T|0)>=(v|0)){T=C;break r}Fe=De+(T<<3)|0,g=T,h=p[Fe>>2]|0,T=p[Fe+4>>2]|0}}else M=0,T=C}else M=0,T=0;while(!1);if(Ko(xe|0,0,ae|0)|0,Eo(De|0,U|0,T<<3|0)|0,Dr(U),T)m=m+(M<<3)|0,v=T;else break e}if((me|0)==17)!0&(T&117440512|0)==0?(T=4,me=28):me=22;else if((me|0)==32)Wt(23313,22674,362,22684);else{if((me|0)==42)return Dr(De),Dr(xe),Fe=10,Fe|0;if((me|0)==49)return Dr(De),Dr(xe),Fe=13,Fe|0;if((me|0)==77)Wt(23313,22674,462,22684);else{if((me|0)==84)return Dr(U),Dr(De),Dr(xe),Fe=T,Fe|0;if((me|0)==85){Eo(m|0,De|0,v<<3|0)|0;break}}}if((me|0)==22)return Dr(De),Dr(xe),Fe=5,Fe|0;if((me|0)==28)return Dr(De),Dr(xe),Fe=T,Fe|0}while(!1);return Dr(De),Dr(xe),Fe=0,Fe|0}function Sh(_,m,v,w,T,M,D){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0,M=M|0,D=D|0;var l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0;if(U=Ie,Ie=Ie+16|0,L=U,!((v|0)>0|(v|0)==0&m>>>0>0))return L=0,Ie=U,L|0;if((D|0)>=16)return L=12,Ie=U,L|0;P=0,R=0,C=0,l=0;e:for(;;){if(h=_+(P<<3)|0,d=p[h>>2]|0,h=p[h+4>>2]|0,g=jt(d|0,h|0,52)|0,Me()|0,(g&15|0)>(D|0)){l=12,d=11;break}if(gl(L,d,h,D),g=L,h=p[g>>2]|0,g=p[g+4>>2]|0,(h|0)==0&(g|0)==0)d=C;else{d=C;do{if(!((l|0)<(M|0)|(l|0)==(M|0)&d>>>0<T>>>0)){d=10;break e}C=w+(d<<3)|0,p[C>>2]=h,p[C+4>>2]=g,d=cn(d|0,l|0,1,0)|0,l=Me()|0,su(L),C=L,h=p[C>>2]|0,g=p[C+4>>2]|0}while(!((h|0)==0&(g|0)==0))}if(P=cn(P|0,R|0,1,0)|0,R=Me()|0,(R|0)<(v|0)|(R|0)==(v|0)&P>>>0<m>>>0)C=d;else{l=0,d=11;break}}return(d|0)==10?(L=14,Ie=U,L|0):(d|0)==11?(Ie=U,l|0):0}function HA(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0;P=Ie,Ie=Ie+16|0,C=P;e:do if((v|0)>0|(v|0)==0&m>>>0>0){for(h=0,D=0,M=0,g=0;;){if(d=_+(h<<3)|0,l=p[d>>2]|0,d=p[d+4>>2]|0,!((l|0)==0&(d|0)==0)&&(d=(Al(l,d,w,C)|0)==0,l=C,D=cn(p[l>>2]|0,p[l+4>>2]|0,D|0,M|0)|0,M=Me()|0,!d)){M=12;break}if(h=cn(h|0,g|0,1,0)|0,g=Me()|0,!((g|0)<(v|0)|(g|0)==(v|0)&h>>>0<m>>>0))break e}return Ie=P,M|0}else D=0,M=0;while(!1);return p[T>>2]=D,p[T+4>>2]=M,T=0,Ie=P,T|0}function Ih(_,m){return _=_|0,m=m|0,m=jt(_|0,m|0,52)|0,Me()|0,m&1|0}function Ki(_,m){_=_|0,m=m|0;var v=0,w=0,T=0;if(T=jt(_|0,m|0,52)|0,Me()|0,T=T&15,!T)return T=0,T|0;for(w=1;;){if(v=jt(_|0,m|0,(15-w|0)*3|0)|0,Me()|0,v=v&7,v|0){w=5;break}if(w>>>0<T>>>0)w=w+1|0;else{v=0,w=5;break}}return(w|0)==5?v|0:0}function ga(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0,l=0,d=0;if(d=jt(_|0,m|0,52)|0,Me()|0,d=d&15,!d)return l=m,d=_,fr(l|0),d|0;for(l=1,v=0;;){M=(15-l|0)*3|0,w=Zt(7,0,M|0)|0,T=Me()|0,D=jt(_|0,m|0,M|0)|0,Me()|0,M=Zt(Ao(D&7)|0,0,M|0)|0,D=Me()|0,_=M|_&~w,m=D|m&~T;e:do if(!v)if((M&w|0)==0&(D&T|0)==0)v=0;else if(w=jt(_|0,m|0,52)|0,Me()|0,w=w&15,!w)v=1;else{v=1;t:for(;;){switch(D=jt(_|0,m|0,(15-v|0)*3|0)|0,Me()|0,D&7){case 1:break t;case 0:break;default:{v=1;break e}}if(v>>>0<w>>>0)v=v+1|0;else{v=1;break e}}for(v=1;;)if(D=(15-v|0)*3|0,T=jt(_|0,m|0,D|0)|0,Me()|0,M=Zt(7,0,D|0)|0,m=m&~(Me()|0),D=Zt(Ao(T&7)|0,0,D|0)|0,_=_&~M|D,m=m|(Me()|0),v>>>0<w>>>0)v=v+1|0;else{v=1;break}}while(!1);if(l>>>0<d>>>0)l=l+1|0;else break}return fr(m|0),_|0}function po(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0;if(w=jt(_|0,m|0,52)|0,Me()|0,w=w&15,!w)return v=m,w=_,fr(v|0),w|0;for(v=1;M=(15-v|0)*3|0,D=jt(_|0,m|0,M|0)|0,Me()|0,T=Zt(7,0,M|0)|0,m=m&~(Me()|0),M=Zt(Ao(D&7)|0,0,M|0)|0,_=M|_&~T,m=Me()|0|m,v>>>0<w>>>0;)v=v+1|0;return fr(m|0),_|0}function ru(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0,l=0,d=0;if(d=jt(_|0,m|0,52)|0,Me()|0,d=d&15,!d)return l=m,d=_,fr(l|0),d|0;for(l=1,v=0;;){M=(15-l|0)*3|0,w=Zt(7,0,M|0)|0,T=Me()|0,D=jt(_|0,m|0,M|0)|0,Me()|0,M=Zt(Xs(D&7)|0,0,M|0)|0,D=Me()|0,_=M|_&~w,m=D|m&~T;e:do if(!v)if((M&w|0)==0&(D&T|0)==0)v=0;else if(w=jt(_|0,m|0,52)|0,Me()|0,w=w&15,!w)v=1;else{v=1;t:for(;;){switch(D=jt(_|0,m|0,(15-v|0)*3|0)|0,Me()|0,D&7){case 1:break t;case 0:break;default:{v=1;break e}}if(v>>>0<w>>>0)v=v+1|0;else{v=1;break e}}for(v=1;;)if(T=(15-v|0)*3|0,M=Zt(7,0,T|0)|0,D=m&~(Me()|0),m=jt(_|0,m|0,T|0)|0,Me()|0,m=Zt(Xs(m&7)|0,0,T|0)|0,_=_&~M|m,m=D|(Me()|0),v>>>0<w>>>0)v=v+1|0;else{v=1;break}}while(!1);if(l>>>0<d>>>0)l=l+1|0;else break}return fr(m|0),_|0}function Ua(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0;if(w=jt(_|0,m|0,52)|0,Me()|0,w=w&15,!w)return v=m,w=_,fr(v|0),w|0;for(v=1;D=(15-v|0)*3|0,M=Zt(7,0,D|0)|0,T=m&~(Me()|0),m=jt(_|0,m|0,D|0)|0,Me()|0,m=Zt(Xs(m&7)|0,0,D|0)|0,_=m|_&~M,m=Me()|0|T,v>>>0<w>>>0;)v=v+1|0;return fr(m|0),_|0}function wc(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0;if(d=Ie,Ie=Ie+64|0,l=d+40|0,w=d+24|0,T=d+12|0,M=d,Zt(m|0,0,52)|0,v=Me()|0|134225919,!m)return(p[_+4>>2]|0)>2||(p[_+8>>2]|0)>2||(p[_+12>>2]|0)>2?(D=0,l=0,fr(D|0),Ie=d,l|0):(Zt(Ii(_)|0,0,45)|0,D=Me()|0|v,l=-1,fr(D|0),Ie=d,l|0);if(p[l>>2]=p[_>>2],p[l+4>>2]=p[_+4>>2],p[l+8>>2]=p[_+8>>2],p[l+12>>2]=p[_+12>>2],D=l+4|0,(m|0)>0)for(_=-1;p[w>>2]=p[D>>2],p[w+4>>2]=p[D+4>>2],p[w+8>>2]=p[D+8>>2],m&1?(of(D),p[T>>2]=p[D>>2],p[T+4>>2]=p[D+4>>2],p[T+8>>2]=p[D+8>>2],vc(T)):(Kl(D),p[T>>2]=p[D>>2],p[T+4>>2]=p[D+4>>2],p[T+8>>2]=p[D+8>>2],Uo(T)),ii(w,T,M),hi(M),g=(15-m|0)*3|0,h=Zt(7,0,g|0)|0,v=v&~(Me()|0),g=Zt(hl(M)|0,0,g|0)|0,_=g|_&~h,v=Me()|0|v,(m|0)>1;)m=m+-1|0;else _=-1;e:do if((p[D>>2]|0)<=2&&(p[l+8>>2]|0)<=2&&(p[l+12>>2]|0)<=2){if(w=Ii(l)|0,m=Zt(w|0,0,45)|0,m=m|_,_=Me()|0|v&-1040385,M=zi(l)|0,!(wr(w)|0)){if((M|0)<=0)break;for(T=0;;){if(w=jt(m|0,_|0,52)|0,Me()|0,w=w&15,w)for(v=1;g=(15-v|0)*3|0,l=jt(m|0,_|0,g|0)|0,Me()|0,h=Zt(7,0,g|0)|0,_=_&~(Me()|0),g=Zt(Ao(l&7)|0,0,g|0)|0,m=m&~h|g,_=_|(Me()|0),v>>>0<w>>>0;)v=v+1|0;if(T=T+1|0,(T|0)==(M|0))break e}}T=jt(m|0,_|0,52)|0,Me()|0,T=T&15;t:do if(T){v=1;r:for(;;){switch(g=jt(m|0,_|0,(15-v|0)*3|0)|0,Me()|0,g&7){case 1:break r;case 0:break;default:break t}if(v>>>0<T>>>0)v=v+1|0;else break t}if(sf(w,p[l>>2]|0)|0)for(v=1;l=(15-v|0)*3|0,h=Zt(7,0,l|0)|0,g=_&~(Me()|0),_=jt(m|0,_|0,l|0)|0,Me()|0,_=Zt(Xs(_&7)|0,0,l|0)|0,m=m&~h|_,_=g|(Me()|0),v>>>0<T>>>0;)v=v+1|0;else for(v=1;g=(15-v|0)*3|0,l=jt(m|0,_|0,g|0)|0,Me()|0,h=Zt(7,0,g|0)|0,_=_&~(Me()|0),g=Zt(Ao(l&7)|0,0,g|0)|0,m=m&~h|g,_=_|(Me()|0),v>>>0<T>>>0;)v=v+1|0}while(!1);if((M|0)>0){v=0;do m=ga(m,_)|0,_=Me()|0,v=v+1|0;while((v|0)!=(M|0))}}else m=0,_=0;while(!1);return h=_,g=m,fr(h|0),Ie=d,g|0}function Fs(_){return _=_|0,(_|0)%2|0|0}function za(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0;return T=Ie,Ie=Ie+16|0,w=T,m>>>0>15?(w=4,Ie=T,w|0):(p[_+4>>2]&2146435072|0)==2146435072||(p[_+8+4>>2]&2146435072|0)==2146435072?(w=3,Ie=T,w|0):(Zl(_,m,w),m=wc(w,m)|0,w=Me()|0,p[v>>2]=m,p[v+4>>2]=w,(m|0)==0&(w|0)==0&&Wt(23313,22674,786,22697),w=0,Ie=T,w|0)}function Ds(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0;if(T=v+4|0,M=jt(_|0,m|0,52)|0,Me()|0,M=M&15,D=jt(_|0,m|0,45)|0,Me()|0,w=(M|0)==0,wr(D&127)|0){if(w)return D=1,D|0;w=1}else{if(w)return D=0,D|0;(p[T>>2]|0)==0&&(p[v+8>>2]|0)==0?w=(p[v+12>>2]|0)!=0&1:w=1}for(v=1;v&1?vc(T):Uo(T),D=jt(_|0,m|0,(15-v|0)*3|0)|0,Me()|0,af(T,D&7),v>>>0<M>>>0;)v=v+1|0;return w|0}function Ga(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0;if(g=Ie,Ie=Ie+16|0,d=g,h=jt(_|0,m|0,45)|0,Me()|0,h=h&127,h>>>0>121)return p[v>>2]=0,p[v+4>>2]=0,p[v+8>>2]=0,p[v+12>>2]=0,h=5,Ie=g,h|0;e:do if((wr(h)|0)!=0&&(M=jt(_|0,m|0,52)|0,Me()|0,M=M&15,(M|0)!=0)){w=1;t:for(;;){switch(l=jt(_|0,m|0,(15-w|0)*3|0)|0,Me()|0,l&7){case 5:break t;case 0:break;default:{w=m;break e}}if(w>>>0<M>>>0)w=w+1|0;else{w=m;break e}}for(T=1,w=m;m=(15-T|0)*3|0,D=Zt(7,0,m|0)|0,l=w&~(Me()|0),w=jt(_|0,w|0,m|0)|0,Me()|0,w=Zt(Xs(w&7)|0,0,m|0)|0,_=_&~D|w,w=l|(Me()|0),T>>>0<M>>>0;)T=T+1|0}else w=m;while(!1);if(l=7696+(h*28|0)|0,p[v>>2]=p[l>>2],p[v+4>>2]=p[l+4>>2],p[v+8>>2]=p[l+8>>2],p[v+12>>2]=p[l+12>>2],!(Ds(_,w,v)|0))return h=0,Ie=g,h|0;if(D=v+4|0,p[d>>2]=p[D>>2],p[d+4>>2]=p[D+4>>2],p[d+8>>2]=p[D+8>>2],M=jt(_|0,w|0,52)|0,Me()|0,l=M&15,M&1?(Uo(D),M=l+1|0):M=l,!(wr(h)|0))w=0;else{e:do if(!l)w=0;else for(m=1;;){if(T=jt(_|0,w|0,(15-m|0)*3|0)|0,Me()|0,T=T&7,T|0){w=T;break e}if(m>>>0<l>>>0)m=m+1|0;else{w=0;break}}while(!1);w=(w|0)==4&1}if(!(Ks(v,M,w,0)|0))(M|0)!=(l|0)&&(p[D>>2]=p[d>>2],p[D+4>>2]=p[d+4>>2],p[D+8>>2]=p[d+8>>2]);else{if(wr(h)|0)do;while((Ks(v,M,0,0)|0)!=0);(M|0)!=(l|0)&&Kl(D)}return h=0,Ie=g,h|0}function Cc(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0;return M=Ie,Ie=Ie+16|0,w=M,T=Ga(_,m,w)|0,T|0?(Ie=M,T|0):(T=jt(_|0,m|0,52)|0,Me()|0,Th(w,T&15,v),T=0,Ie=M,T|0)}function Ec(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0;if(D=Ie,Ie=Ie+16|0,M=D,w=Ga(_,m,M)|0,w|0)return M=w,Ie=D,M|0;w=jt(_|0,m|0,45)|0,Me()|0,w=(wr(w&127)|0)==0,T=jt(_|0,m|0,52)|0,Me()|0,T=T&15;e:do if(!w){if(T|0)for(w=1;;){if(l=Zt(7,0,(15-w|0)*3|0)|0,!((l&_|0)==0&((Me()|0)&m|0)==0))break e;if(w>>>0<T>>>0)w=w+1|0;else break}return zo(M,T,0,5,v),l=0,Ie=D,l|0}while(!1);return Ql(M,T,0,6,v),l=0,Ie=D,l|0}function Va(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0;if(T=jt(_|0,m|0,45)|0,Me()|0,!(wr(T&127)|0))return T=2,p[v>>2]=T,0;if(T=jt(_|0,m|0,52)|0,Me()|0,T=T&15,!T)return T=5,p[v>>2]=T,0;for(w=1;;){if(M=Zt(7,0,(15-w|0)*3|0)|0,!((M&_|0)==0&((Me()|0)&m|0)==0)){w=2,_=6;break}if(w>>>0<T>>>0)w=w+1|0;else{w=5,_=6;break}}return(_|0)==6&&(p[v>>2]=w),0}function Tc(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0;C=Ie,Ie=Ie+128|0,h=C+112|0,M=C+96|0,g=C,T=jt(_|0,m|0,52)|0,Me()|0,l=T&15,p[h>>2]=l,D=jt(_|0,m|0,45)|0,Me()|0,D=D&127;e:do if(wr(D)|0){if(l|0)for(w=1;;){if(d=Zt(7,0,(15-w|0)*3|0)|0,!((d&_|0)==0&((Me()|0)&m|0)==0)){T=0;break e}if(w>>>0<l>>>0)w=w+1|0;else break}if(T&1)T=1;else return d=Zt(l+1|0,0,52)|0,g=Me()|0|m&-15728641,h=Zt(7,0,(14-l|0)*3|0)|0,g=Tc((d|_)&~h,g&~(Me()|0),v)|0,Ie=C,g|0}else T=0;while(!1);if(w=Ga(_,m,M)|0,!w){T?(Go(M,h,g),d=5):(eu(M,h,g),d=6);e:do if(wr(D)|0)if(!l)_=5;else for(w=1;;){if(D=Zt(7,0,(15-w|0)*3|0)|0,!((D&_|0)==0&((Me()|0)&m|0)==0)){_=2;break e}if(w>>>0<l>>>0)w=w+1|0;else{_=5;break}}else _=2;while(!1);Ko(v|0,-1,_<<2|0)|0;e:do if(T)for(M=0;;){if(D=g+(M<<4)|0,Bh(D,p[h>>2]|0)|0,D=p[D>>2]|0,l=p[v>>2]|0,(l|0)==-1|(l|0)==(D|0))w=v;else{T=0;do{if(T=T+1|0,T>>>0>=_>>>0){w=1;break e}w=v+(T<<2)|0,l=p[w>>2]|0}while(!((l|0)==-1|(l|0)==(D|0)))}if(p[w>>2]=D,M=M+1|0,M>>>0>=d>>>0){w=0;break}}else for(M=0;;){if(D=g+(M<<4)|0,Ks(D,p[h>>2]|0,0,1)|0,D=p[D>>2]|0,l=p[v>>2]|0,(l|0)==-1|(l|0)==(D|0))w=v;else{T=0;do{if(T=T+1|0,T>>>0>=_>>>0){w=1;break e}w=v+(T<<2)|0,l=p[w>>2]|0}while(!((l|0)==-1|(l|0)==(D|0)))}if(p[w>>2]=D,M=M+1|0,M>>>0>=d>>>0){w=0;break}}while(!1)}return g=w,Ie=C,g|0}function nu(){return 12}function pl(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0,l=0,d=0;if(_>>>0>15)return l=4,l|0;if(Zt(_|0,0,52)|0,l=Me()|0|134225919,!_){v=0,w=0;do wr(w)|0&&(Zt(w|0,0,45)|0,D=l|(Me()|0),_=m+(v<<3)|0,p[_>>2]=-1,p[_+4>>2]=D,v=v+1|0),w=w+1|0;while((w|0)!=122);return v=0,v|0}v=0,D=0;do{if(wr(D)|0){for(Zt(D|0,0,45)|0,w=1,T=-1,M=l|(Me()|0);d=Zt(7,0,(15-w|0)*3|0)|0,T=T&~d,M=M&~(Me()|0),(w|0)!=(_|0);)w=w+1|0;d=m+(v<<3)|0,p[d>>2]=T,p[d+4>>2]=M,v=v+1|0}D=D+1|0}while((D|0)!=122);return v=0,v|0}function iu(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0;if(Z=Ie,Ie=Ie+16|0,X=Z,te=jt(_|0,m|0,52)|0,Me()|0,te=te&15,v>>>0>15)return te=4,Ie=Z,te|0;if((te|0)<(v|0))return te=12,Ie=Z,te|0;if((te|0)!=(v|0))if(M=Zt(v|0,0,52)|0,M=M|_,l=Me()|0|m&-15728641,(te|0)>(v|0)){d=v;do U=Zt(7,0,(14-d|0)*3|0)|0,d=d+1|0,M=U|M,l=Me()|0|l;while((d|0)<(te|0));U=M}else U=M;else U=_,l=m;L=jt(U|0,l|0,45)|0,Me()|0;e:do if(wr(L&127)|0){if(d=jt(U|0,l|0,52)|0,Me()|0,d=d&15,d|0)for(M=1;;){if(L=Zt(7,0,(15-M|0)*3|0)|0,!((L&U|0)==0&((Me()|0)&l|0)==0)){h=33;break e}if(M>>>0<d>>>0)M=M+1|0;else break}if(L=w,p[L>>2]=0,p[L+4>>2]=0,(te|0)>(v|0)){for(L=m&-15728641,R=te;;){if(P=R,R=R+-1|0,R>>>0>15|(te|0)<(R|0)){h=19;break}if((te|0)!=(R|0))if(M=Zt(R|0,0,52)|0,M=M|_,d=Me()|0|L,(te|0)<(P|0))C=M;else{h=R;do C=Zt(7,0,(14-h|0)*3|0)|0,h=h+1|0,M=C|M,d=Me()|0|d;while((h|0)<(te|0));C=M}else C=_,d=m;if(g=jt(C|0,d|0,45)|0,Me()|0,!(wr(g&127)|0))M=0;else{g=jt(C|0,d|0,52)|0,Me()|0,g=g&15;t:do if(!g)M=0;else for(h=1;;){if(M=jt(C|0,d|0,(15-h|0)*3|0)|0,Me()|0,M=M&7,M|0)break t;if(h>>>0<g>>>0)h=h+1|0;else{M=0;break}}while(!1);M=(M|0)==0&1}if(d=jt(_|0,m|0,(15-P|0)*3|0)|0,Me()|0,d=d&7,(d|0)==7){T=5,h=42;break}if(M=(M|0)!=0,(d|0)==1&M){T=5,h=42;break}if(C=d+(((d|0)!=0&M)<<31>>31)|0,C|0&&(h=te-P|0,h=Ls(7,0,h,((h|0)<0)<<31>>31)|0,g=Me()|0,M?(M=si(h|0,g|0,5,0)|0,M=cn(M|0,Me()|0,-5,-1)|0,M=Ns(M|0,Me()|0,6,0)|0,M=cn(M|0,Me()|0,1,0)|0,d=Me()|0):(M=h,d=g),P=C+-1|0,P=si(h|0,g|0,P|0,((P|0)<0)<<31>>31|0)|0,P=cn(M|0,d|0,P|0,Me()|0)|0,C=Me()|0,g=w,g=cn(P|0,C|0,p[g>>2]|0,p[g+4>>2]|0)|0,C=Me()|0,P=w,p[P>>2]=g,p[P+4>>2]=C),(R|0)<=(v|0)){h=37;break}}if((h|0)==19)Wt(23313,22674,1099,22710);else if((h|0)==37){D=w,T=p[D+4>>2]|0,D=p[D>>2]|0;break}else if((h|0)==42)return Ie=Z,T|0}else T=0,D=0}else h=33;while(!1);e:do if((h|0)==33)if(L=w,p[L>>2]=0,p[L+4>>2]=0,(te|0)>(v|0)){for(M=te;;){if(T=jt(_|0,m|0,(15-M|0)*3|0)|0,Me()|0,T=T&7,(T|0)==7){T=5;break}if(D=te-M|0,D=Ls(7,0,D,((D|0)<0)<<31>>31)|0,T=si(D|0,Me()|0,T|0,0)|0,D=Me()|0,L=w,D=cn(p[L>>2]|0,p[L+4>>2]|0,T|0,D|0)|0,T=Me()|0,L=w,p[L>>2]=D,p[L+4>>2]=T,M=M+-1|0,(M|0)<=(v|0))break e}return Ie=Z,T|0}else T=0,D=0;while(!1);return Al(U,l,te,X)|0&&Wt(23313,22674,1063,22725),te=X,X=p[te+4>>2]|0,((T|0)>-1|(T|0)==-1&D>>>0>4294967295)&((X|0)>(T|0)|((X|0)==(T|0)?(p[te>>2]|0)>>>0>D>>>0:0))?(te=0,Ie=Z,te|0):(Wt(23313,22674,1139,22710),0)}function jA(_,m,v,w,T,M){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0,M=M|0;var D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0;if(C=Ie,Ie=Ie+16|0,D=C,T>>>0>15)return M=4,Ie=C,M|0;if(l=jt(v|0,w|0,52)|0,Me()|0,l=l&15,(l|0)>(T|0))return M=12,Ie=C,M|0;if(Al(v,w,T,D)|0&&Wt(23313,22674,1063,22725),g=D,h=p[g+4>>2]|0,!(((m|0)>-1|(m|0)==-1&_>>>0>4294967295)&((h|0)>(m|0)|((h|0)==(m|0)?(p[g>>2]|0)>>>0>_>>>0:0))))return M=2,Ie=C,M|0;g=T-l|0,T=Zt(T|0,0,52)|0,d=Me()|0|w&-15728641,h=M,p[h>>2]=T|v,p[h+4>>2]=d,h=jt(v|0,w|0,45)|0,Me()|0;e:do if(wr(h&127)|0){if(l|0)for(D=1;;){if(h=Zt(7,0,(15-D|0)*3|0)|0,!((h&v|0)==0&((Me()|0)&w|0)==0))break e;if(D>>>0<l>>>0)D=D+1|0;else break}if((g|0)<1)return M=0,Ie=C,M|0;for(h=l^15,w=-1,d=1,D=1;;){l=g-d|0,l=Ls(7,0,l,((l|0)<0)<<31>>31)|0,v=Me()|0;do if(D)if(D=si(l|0,v|0,5,0)|0,D=cn(D|0,Me()|0,-5,-1)|0,D=Ns(D|0,Me()|0,6,0)|0,T=Me()|0,(m|0)>(T|0)|(m|0)==(T|0)&_>>>0>D>>>0){m=cn(_|0,m|0,-1,-1)|0,m=Hr(m|0,Me()|0,D|0,T|0)|0,D=Me()|0,P=M,L=p[P>>2]|0,P=p[P+4>>2]|0,U=(h+w|0)*3|0,R=Zt(7,0,U|0)|0,P=P&~(Me()|0),w=Ns(m|0,D|0,l|0,v|0)|0,_=Me()|0,T=cn(w|0,_|0,2,0)|0,U=Zt(T|0,Me()|0,U|0)|0,P=Me()|0|P,T=M,p[T>>2]=U|L&~R,p[T+4>>2]=P,_=si(w|0,_|0,l|0,v|0)|0,_=Hr(m|0,D|0,_|0,Me()|0)|0,D=0,m=Me()|0;break}else{U=M,R=p[U>>2]|0,U=p[U+4>>2]|0,L=Zt(7,0,(h+w|0)*3|0)|0,U=U&~(Me()|0),D=M,p[D>>2]=R&~L,p[D+4>>2]=U,D=1;break}else R=M,T=p[R>>2]|0,R=p[R+4>>2]|0,w=(h+w|0)*3|0,P=Zt(7,0,w|0)|0,R=R&~(Me()|0),U=Ns(_|0,m|0,l|0,v|0)|0,D=Me()|0,w=Zt(U|0,D|0,w|0)|0,R=Me()|0|R,L=M,p[L>>2]=w|T&~P,p[L+4>>2]=R,D=si(U|0,D|0,l|0,v|0)|0,_=Hr(_|0,m|0,D|0,Me()|0)|0,D=0,m=Me()|0;while(!1);if((g|0)>(d|0))w=~d,d=d+1|0;else{m=0;break}}return Ie=C,m|0}while(!1);if((g|0)<1)return U=0,Ie=C,U|0;for(T=l^15,D=1;;)if(L=g-D|0,L=Ls(7,0,L,((L|0)<0)<<31>>31)|0,U=Me()|0,d=M,v=p[d>>2]|0,d=p[d+4>>2]|0,l=(T-D|0)*3|0,w=Zt(7,0,l|0)|0,d=d&~(Me()|0),P=Ns(_|0,m|0,L|0,U|0)|0,R=Me()|0,l=Zt(P|0,R|0,l|0)|0,d=Me()|0|d,h=M,p[h>>2]=l|v&~w,p[h+4>>2]=d,U=si(P|0,R|0,L|0,U|0)|0,_=Hr(_|0,m|0,U|0,Me()|0)|0,m=Me()|0,(g|0)<=(D|0)){m=0;break}else D=D+1|0;return Ie=C,m|0}function gl(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0;T=jt(m|0,v|0,52)|0,Me()|0,T=T&15,(m|0)==0&(v|0)==0|((w|0)>15|(T|0)>(w|0))?(w=-1,T=-1,m=0,v=0):(M=tu(m,v,T+1|0,w)|0,v=(Me()|0)&-15728641,m=Zt(w|0,0,52)|0,m=M|m,v=v|(Me()|0),M=(Sn(m,v)|0)==0,w=M?-1:w),M=_,p[M>>2]=m,p[M+4>>2]=v,p[_+8>>2]=T,p[_+12>>2]=w}function su(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0,d=0,h=0;if(v=_,m=p[v>>2]|0,v=p[v+4>>2]|0,!((m|0)==0&(v|0)==0)&&(w=jt(m|0,v|0,52)|0,Me()|0,w=w&15,l=Zt(1,0,(w^15)*3|0)|0,m=cn(l|0,Me()|0,m|0,v|0)|0,v=Me()|0,l=_,p[l>>2]=m,p[l+4>>2]=v,l=_+8|0,D=p[l>>2]|0,!((w|0)<(D|0)))){for(d=_+12|0,M=w;;){if((M|0)==(D|0)){w=5;break}if(h=(M|0)==(p[d>>2]|0),T=(15-M|0)*3|0,w=jt(m|0,v|0,T|0)|0,Me()|0,w=w&7,h&((w|0)==1&!0)){w=7;break}if(!((w|0)==7&!0)){w=10;break}if(h=Zt(1,0,T|0)|0,m=cn(m|0,v|0,h|0,Me()|0)|0,v=Me()|0,h=_,p[h>>2]=m,p[h+4>>2]=v,(M|0)>(D|0))M=M+-1|0;else{w=10;break}}if((w|0)==5){h=_,p[h>>2]=0,p[h+4>>2]=0,p[l>>2]=-1,p[d>>2]=-1;return}else if((w|0)==7){D=Zt(1,0,T|0)|0,D=cn(m|0,v|0,D|0,Me()|0)|0,l=Me()|0,h=_,p[h>>2]=D,p[h+4>>2]=l,p[d>>2]=M+-1;return}else if((w|0)==10)return}}function Bc(_){_=+_;var m=0;return m=_<0?_+6.283185307179586:_,+(_>=6.283185307179586?m+-6.283185307179586:m)}function Ha(_,m){return _=_|0,m=m|0,+It(+(+le[_>>3]-+le[m>>3]))<17453292519943298e-27?(m=+It(+(+le[_+8>>3]-+le[m+8>>3]))<17453292519943298e-27,m|0):(m=0,m|0)}function ou(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0;return T=+le[m>>3],w=+le[_>>3],M=+St(+((T-w)*.5)),v=+St(+((+le[m+8>>3]-+le[_+8>>3])*.5)),v=M*M+v*(+Dt(+T)*+Dt(+w)*v),+(+en(+ +Ft(+v),+ +Ft(+(1-v)))*2)}function ja(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0;return T=+le[m>>3],w=+le[_>>3],M=+St(+((T-w)*.5)),v=+St(+((+le[m+8>>3]-+le[_+8>>3])*.5)),v=M*M+v*(+Dt(+T)*+Dt(+w)*v),+(+en(+ +Ft(+v),+ +Ft(+(1-v)))*2*6371.007180918475)}function ff(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0;return T=+le[m>>3],w=+le[_>>3],M=+St(+((T-w)*.5)),v=+St(+((+le[m+8>>3]-+le[_+8>>3])*.5)),v=M*M+v*(+Dt(+T)*+Dt(+w)*v),+(+en(+ +Ft(+v),+ +Ft(+(1-v)))*2*6371.007180918475*1e3)}function hf(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0;return M=+le[m>>3],w=+Dt(+M),T=+le[m+8>>3]-+le[_+8>>3],D=w*+St(+T),v=+le[_>>3],+ +en(+D,+(+St(+M)*+Dt(+v)-+Dt(+T)*(w*+St(+v))))}function ml(_,m,v,w){_=_|0,m=+m,v=+v,w=w|0;var T=0,M=0,D=0,l=0;if(v<1e-16){p[w>>2]=p[_>>2],p[w+4>>2]=p[_+4>>2],p[w+8>>2]=p[_+8>>2],p[w+12>>2]=p[_+12>>2];return}M=m<0?m+6.283185307179586:m,M=m>=6.283185307179586?M+-6.283185307179586:M;do if(M<1e-16)m=+le[_>>3]+v,le[w>>3]=m,T=w;else{if(T=+It(+(M+-3.141592653589793))<1e-16,m=+le[_>>3],T){m=m-v,le[w>>3]=m,T=w;break}if(D=+Dt(+v),v=+St(+v),m=D*+St(+m)+ +Dt(+M)*(v*+Dt(+m)),m=m>1?1:m,m=+Yt(+(m<-1?-1:m)),le[w>>3]=m,+It(+(m+-1.5707963267948966))<1e-16){le[w>>3]=1.5707963267948966,le[w+8>>3]=0;return}if(+It(+(m+1.5707963267948966))<1e-16){le[w>>3]=-1.5707963267948966,le[w+8>>3]=0;return}if(l=+Dt(+m),M=v*+St(+M)/l,v=+le[_>>3],m=(D-+St(+m)*+St(+v))/+Dt(+v)/l,D=M>1?1:M,m=m>1?1:m,m=+le[_+8>>3]+ +en(+(D<-1?-1:D),+(m<-1?-1:m)),m>3.141592653589793)do m=m+-6.283185307179586;while(m>3.141592653589793);if(m<-3.141592653589793)do m=m+6.283185307179586;while(m<-3.141592653589793);le[w+8>>3]=m;return}while(!1);if(+It(+(m+-1.5707963267948966))<1e-16){le[T>>3]=1.5707963267948966,le[w+8>>3]=0;return}if(+It(+(m+1.5707963267948966))<1e-16){le[T>>3]=-1.5707963267948966,le[w+8>>3]=0;return}if(m=+le[_+8>>3],m>3.141592653589793)do m=m+-6.283185307179586;while(m>3.141592653589793);if(m<-3.141592653589793)do m=m+6.283185307179586;while(m<-3.141592653589793);le[w+8>>3]=m}function Mh(_,m){return _=_|0,m=m|0,_>>>0>15?(m=4,m|0):(le[m>>3]=+le[20528+(_<<3)>>3],m=0,m|0)}function $a(_,m){return _=_|0,m=m|0,_>>>0>15?(m=4,m|0):(le[m>>3]=+le[20656+(_<<3)>>3],m=0,m|0)}function Gn(_,m){return _=_|0,m=m|0,_>>>0>15?(m=4,m|0):(le[m>>3]=+le[20784+(_<<3)>>3],m=0,m|0)}function au(_,m){return _=_|0,m=m|0,_>>>0>15?(m=4,m|0):(le[m>>3]=+le[20912+(_<<3)>>3],m=0,m|0)}function jo(_,m){_=_|0,m=m|0;var v=0;return _>>>0>15?(m=4,m|0):(v=Ls(7,0,_,((_|0)<0)<<31>>31)|0,v=si(v|0,Me()|0,120,0)|0,_=Me()|0,p[m>>2]=v|2,p[m+4>>2]=_,m=0,m|0)}function $o(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0;return P=+le[m>>3],g=+le[_>>3],d=+St(+((P-g)*.5)),M=+le[m+8>>3],h=+le[_+8>>3],D=+St(+((M-h)*.5)),l=+Dt(+g),C=+Dt(+P),D=d*d+D*(C*l*D),D=+en(+ +Ft(+D),+ +Ft(+(1-D)))*2,d=+le[v>>3],P=+St(+((d-P)*.5)),w=+le[v+8>>3],M=+St(+((w-M)*.5)),T=+Dt(+d),M=P*P+M*(C*T*M),M=+en(+ +Ft(+M),+ +Ft(+(1-M)))*2,d=+St(+((g-d)*.5)),w=+St(+((h-w)*.5)),w=d*d+w*(l*T*w),w=+en(+ +Ft(+w),+ +Ft(+(1-w)))*2,T=(D+M+w)*.5,+(+Jr(+ +Ft(+(+zt(+(T*.5))*+zt(+((T-D)*.5))*+zt(+((T-M)*.5))*+zt(+((T-w)*.5)))))*4)}function nn(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0;if(l=Ie,Ie=Ie+192|0,M=l+168|0,D=l,T=Cc(_,m,M)|0,T|0)return v=T,Ie=l,v|0;if(Ec(_,m,D)|0&&Wt(23313,22742,386,22751),m=p[D>>2]|0,(m|0)>0){if(w=+$o(D+8|0,D+8+(((m|0)!=1&1)<<4)|0,M)+0,(m|0)!=1){_=1;do T=_,_=_+1|0,w=w+ +$o(D+8+(T<<4)|0,D+8+(((_|0)%(m|0)|0)<<4)|0,M);while((_|0)<(m|0))}}else w=0;return le[v>>3]=w,v=0,Ie=l,v|0}function Rn(_,m,v){return _=_|0,m=m|0,v=v|0,_=nn(_,m,v)|0,_|0||(le[v>>3]=+le[v>>3]*6371.007180918475*6371.007180918475),_|0}function Os(_,m,v){return _=_|0,m=m|0,v=v|0,_=nn(_,m,v)|0,_|0||(le[v>>3]=+le[v>>3]*6371.007180918475*6371.007180918475*1e3*1e3),_|0}function _l(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0;if(l=Ie,Ie=Ie+176|0,D=l,_=Yl(_,m,D)|0,_|0)return D=_,Ie=l,D|0;if(le[v>>3]=0,_=p[D>>2]|0,(_|0)<=1)return D=0,Ie=l,D|0;m=_+-1|0,_=0,w=+le[D+8>>3],T=+le[D+16>>3],M=0;do _=_+1|0,h=w,w=+le[D+8+(_<<4)>>3],g=+St(+((w-h)*.5)),d=T,T=+le[D+8+(_<<4)+8>>3],d=+St(+((T-d)*.5)),d=g*g+d*(+Dt(+w)*+Dt(+h)*d),M=M+ +en(+ +Ft(+d),+ +Ft(+(1-d)))*2;while((_|0)<(m|0));return le[v>>3]=M,D=0,Ie=l,D|0}function Sc(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0;if(l=Ie,Ie=Ie+176|0,D=l,_=Yl(_,m,D)|0,_|0)return D=_,M=+le[v>>3],M=M*6371.007180918475,le[v>>3]=M,Ie=l,D|0;if(le[v>>3]=0,_=p[D>>2]|0,(_|0)<=1)return D=0,M=0,M=M*6371.007180918475,le[v>>3]=M,Ie=l,D|0;m=_+-1|0,_=0,w=+le[D+8>>3],T=+le[D+16>>3],M=0;do _=_+1|0,h=w,w=+le[D+8+(_<<4)>>3],g=+St(+((w-h)*.5)),d=T,T=+le[D+8+(_<<4)+8>>3],d=+St(+((T-d)*.5)),d=g*g+d*(+Dt(+h)*+Dt(+w)*d),M=M+ +en(+ +Ft(+d),+ +Ft(+(1-d)))*2;while((_|0)!=(m|0));return le[v>>3]=M,D=0,g=M,g=g*6371.007180918475,le[v>>3]=g,Ie=l,D|0}function yl(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0;if(l=Ie,Ie=Ie+176|0,D=l,_=Yl(_,m,D)|0,_|0)return D=_,M=+le[v>>3],M=M*6371.007180918475,M=M*1e3,le[v>>3]=M,Ie=l,D|0;if(le[v>>3]=0,_=p[D>>2]|0,(_|0)<=1)return D=0,M=0,M=M*6371.007180918475,M=M*1e3,le[v>>3]=M,Ie=l,D|0;m=_+-1|0,_=0,w=+le[D+8>>3],T=+le[D+16>>3],M=0;do _=_+1|0,h=w,w=+le[D+8+(_<<4)>>3],g=+St(+((w-h)*.5)),d=T,T=+le[D+8+(_<<4)+8>>3],d=+St(+((T-d)*.5)),d=g*g+d*(+Dt(+h)*+Dt(+w)*d),M=M+ +en(+ +Ft(+d),+ +Ft(+(1-d)))*2;while((_|0)!=(m|0));return le[v>>3]=M,D=0,g=M,g=g*6371.007180918475,g=g*1e3,le[v>>3]=g,Ie=l,D|0}function $A(_){_=_|0;var m=0,v=0,w=0;return m=eo(1,12)|0,m||Wt(22832,22787,49,22845),v=_+4|0,w=p[v>>2]|0,w|0?(w=w+8|0,p[w>>2]=m,p[v>>2]=m,m|0):(p[_>>2]|0&&Wt(22862,22787,61,22885),w=_,p[w>>2]=m,p[v>>2]=m,m|0)}function WA(_,m){_=_|0,m=m|0;var v=0,w=0;return w=Vn(24)|0,w||Wt(22899,22787,78,22913),p[w>>2]=p[m>>2],p[w+4>>2]=p[m+4>>2],p[w+8>>2]=p[m+8>>2],p[w+12>>2]=p[m+12>>2],p[w+16>>2]=0,m=_+4|0,v=p[m>>2]|0,v|0?(p[v+16>>2]=w,p[m>>2]=w,w|0):(p[_>>2]|0&&Wt(22928,22787,82,22913),p[_>>2]=w,p[m>>2]=w,w|0)}function Ic(_){_=_|0;var m=0,v=0,w=0,T=0;if(_)for(w=1;;){if(m=p[_>>2]|0,m|0)do{if(v=p[m>>2]|0,v|0)do T=v,v=p[v+16>>2]|0,Dr(T);while((v|0)!=0);T=m,m=p[m+8>>2]|0,Dr(T)}while((m|0)!=0);if(m=_,_=p[_+8>>2]|0,w||Dr(m),_)w=0;else break}}function vl(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0,re=0,ae=0,xe=0,De=0,me=0,Fe=0,He=0,We=0,it=0,Xe=0,et=0,ht=0,Rt=0,xt=0;if(T=_+8|0,p[T>>2]|0)return xt=1,xt|0;if(w=p[_>>2]|0,!w)return xt=0,xt|0;m=w,v=0;do v=v+1|0,m=p[m+8>>2]|0;while((m|0)!=0);if(v>>>0<2)return xt=0,xt|0;ht=Vn(v<<2)|0,ht||Wt(22948,22787,317,22967),et=Vn(v<<5)|0,et||Wt(22989,22787,321,22967),p[_>>2]=0,De=_+4|0,p[De>>2]=0,p[T>>2]=0,v=0,Xe=0,xe=0,C=0;e:for(;;){if(g=p[w>>2]|0,g){M=0,D=g;do{if(d=+le[D+8>>3],m=D,D=p[D+16>>2]|0,h=(D|0)==0,T=h?g:D,l=+le[T+8>>3],+It(+(d-l))>3.141592653589793){xt=14;break}M=M+(l-d)*(+le[m>>3]+ +le[T>>3])}while(!h);if((xt|0)==14){xt=0,M=0,m=g;do ae=+le[m+8>>3],it=m+16|0,We=p[it>>2]|0,We=(We|0)==0?g:We,re=+le[We+8>>3],M=M+(+le[m>>3]+ +le[We>>3])*((re<0?re+6.283185307179586:re)-(ae<0?ae+6.283185307179586:ae)),m=p[((m|0)==0?w:it)>>2]|0;while((m|0)!=0)}M>0?(p[ht+(Xe<<2)>>2]=w,Xe=Xe+1|0,T=xe,m=C):xt=19}else xt=19;if((xt|0)==19){xt=0;do if(v){if(m=v+8|0,p[m>>2]|0){xt=21;break e}if(v=eo(1,12)|0,!v){xt=23;break e}p[m>>2]=v,T=v+4|0,D=v,m=C}else if(C){T=De,D=C+8|0,m=w,v=_;break}else if(p[_>>2]|0){xt=27;break e}else{T=De,D=_,m=w,v=_;break}while(!1);if(p[D>>2]=w,p[T>>2]=w,D=et+(xe<<5)|0,h=p[w>>2]|0,h){for(g=et+(xe<<5)+8|0,le[g>>3]=17976931348623157e292,C=et+(xe<<5)+24|0,le[C>>3]=17976931348623157e292,le[D>>3]=-17976931348623157e292,P=et+(xe<<5)+16|0,le[P>>3]=-17976931348623157e292,te=17976931348623157e292,Z=-17976931348623157e292,T=0,R=h,d=17976931348623157e292,U=17976931348623157e292,X=-17976931348623157e292,l=-17976931348623157e292;M=+le[R>>3],ae=+le[R+8>>3],R=p[R+16>>2]|0,L=(R|0)==0,re=+le[(L?h:R)+8>>3],M<d&&(le[g>>3]=M,d=M),ae<U&&(le[C>>3]=ae,U=ae),M>X?le[D>>3]=M:M=X,ae>l&&(le[P>>3]=ae,l=ae),te=ae>0&ae<te?ae:te,Z=ae<0&ae>Z?ae:Z,T=T|+It(+(ae-re))>3.141592653589793,!L;)X=M;T&&(le[P>>3]=Z,le[C>>3]=te)}else p[D>>2]=0,p[D+4>>2]=0,p[D+8>>2]=0,p[D+12>>2]=0,p[D+16>>2]=0,p[D+20>>2]=0,p[D+24>>2]=0,p[D+28>>2]=0;T=xe+1|0}if(it=w+8|0,w=p[it>>2]|0,p[it>>2]=0,w)xe=T,C=m;else{xt=45;break}}if((xt|0)==21)Wt(22765,22787,35,22799);else if((xt|0)==23)Wt(22819,22787,37,22799);else if((xt|0)==27)Wt(22862,22787,61,22885);else if((xt|0)==45){e:do if((Xe|0)>0){for(it=(T|0)==0,He=T<<2,We=(_|0)==0,Fe=0,m=0;;){if(me=p[ht+(Fe<<2)>>2]|0,it)xt=73;else{if(xe=Vn(He)|0,!xe){xt=50;break}if(De=Vn(He)|0,!De){xt=52;break}t:do if(We)v=0;else{for(T=0,v=0,D=_;w=et+(T<<5)|0,wo(p[D>>2]|0,w,p[me>>2]|0)|0?(p[xe+(v<<2)>>2]=D,p[De+(v<<2)>>2]=w,L=v+1|0):L=v,D=p[D+8>>2]|0,D;)T=T+1|0,v=L;if((L|0)>0)if(w=p[xe>>2]|0,(L|0)==1)v=w;else for(P=0,R=-1,v=w,C=w;;){for(h=p[C>>2]|0,w=0,D=0;T=p[p[xe+(D<<2)>>2]>>2]|0,(T|0)==(h|0)?g=w:g=w+((wo(T,p[De+(D<<2)>>2]|0,p[h>>2]|0)|0)&1)|0,D=D+1|0,(D|0)!=(L|0);)w=g;if(T=(g|0)>(R|0),v=T?C:v,w=P+1|0,(w|0)==(L|0))break t;P=w,R=T?g:R,C=p[xe+(w<<2)>>2]|0}else v=0}while(!1);if(Dr(xe),Dr(De),v){if(T=v+4|0,w=p[T>>2]|0,w)v=w+8|0;else if(p[v>>2]|0){xt=70;break}p[v>>2]=me,p[T>>2]=me}else xt=73}if((xt|0)==73){if(xt=0,m=p[me>>2]|0,m|0)do De=m,m=p[m+16>>2]|0,Dr(De);while((m|0)!=0);Dr(me),m=1}if(Fe=Fe+1|0,(Fe|0)>=(Xe|0)){Rt=m;break e}}(xt|0)==50?Wt(23004,22787,249,23023):(xt|0)==52?Wt(23042,22787,252,23023):(xt|0)==70&&Wt(22862,22787,61,22885)}else Rt=0;while(!1);return Dr(ht),Dr(et),xt=Rt,xt|0}return 0}function wo(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0;if(!(Rs(m,v)|0)||(m=fl(m)|0,w=+le[v>>3],T=+le[v+8>>3],T=m&T<0?T+6.283185307179586:T,_=p[_>>2]|0,!_))return _=0,_|0;if(m){m=0,h=T,v=_;e:for(;;){for(;D=+le[v>>3],T=+le[v+8>>3],v=v+16|0,g=p[v>>2]|0,g=(g|0)==0?_:g,M=+le[g>>3],l=+le[g+8>>3],D>M?(d=D,D=l):(d=M,M=D,D=T,T=l),w=w==M|w==d?w+2220446049250313e-31:w,!!(w<M|w>d);)if(v=p[v>>2]|0,!v){v=22;break e}if(l=D<0?D+6.283185307179586:D,D=T<0?T+6.283185307179586:T,h=l==h|D==h?h+-2220446049250313e-31:h,d=l+(D-l)*((w-M)/(d-M)),(d<0?d+6.283185307179586:d)>h&&(m=m^1),v=p[v>>2]|0,!v){v=22;break}}if((v|0)==22)return m|0}else{m=0,h=T,v=_;e:for(;;){for(;D=+le[v>>3],T=+le[v+8>>3],v=v+16|0,g=p[v>>2]|0,g=(g|0)==0?_:g,M=+le[g>>3],l=+le[g+8>>3],D>M?(d=D,D=l):(d=M,M=D,D=T,T=l),w=w==M|w==d?w+2220446049250313e-31:w,!!(w<M|w>d);)if(v=p[v>>2]|0,!v){v=22;break e}if(h=D==h|T==h?h+-2220446049250313e-31:h,D+(T-D)*((w-M)/(d-M))>h&&(m=m^1),v=p[v>>2]|0,!v){v=22;break}}if((v|0)==22)return m|0}return 0}function Fn(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0;if(Z=Ie,Ie=Ie+32|0,te=Z+16|0,X=Z,M=jt(_|0,m|0,52)|0,Me()|0,M=M&15,R=jt(v|0,w|0,52)|0,Me()|0,(M|0)!=(R&15|0))return te=12,Ie=Z,te|0;if(h=jt(_|0,m|0,45)|0,Me()|0,h=h&127,g=jt(v|0,w|0,45)|0,Me()|0,g=g&127,h>>>0>121|g>>>0>121)return te=5,Ie=Z,te|0;if(R=(h|0)!=(g|0),R){if(l=ll(h,g)|0,(l|0)==7)return te=1,Ie=Z,te|0;d=ll(g,h)|0,(d|0)==7?Wt(23066,23090,161,23100):(L=l,D=d)}else L=0,D=0;C=wr(h)|0,P=wr(g)|0,p[te>>2]=0,p[te+4>>2]=0,p[te+8>>2]=0,p[te+12>>2]=0;do if(L){if(g=p[4272+(h*28|0)+(L<<2)>>2]|0,l=(g|0)>0,P)if(l){h=0,d=v,l=w;do d=ru(d,l)|0,l=Me()|0,D=Xs(D)|0,(D|0)==1&&(D=Xs(1)|0),h=h+1|0;while((h|0)!=(g|0));g=D,h=d,d=l}else g=D,h=v,d=w;else if(l){h=0,d=v,l=w;do d=Ua(d,l)|0,l=Me()|0,D=Xs(D)|0,h=h+1|0;while((h|0)!=(g|0));g=D,h=d,d=l}else g=D,h=v,d=w;if(Ds(h,d,te)|0,R||Wt(23115,23090,191,23100),l=(C|0)!=0,D=(P|0)!=0,l&D&&Wt(23142,23090,192,23100),l){if(D=Ki(_,m)|0,(D|0)==7){M=5;break}if(Se[21872+(D*7|0)+L>>0]|0){M=1;break}d=p[21040+(D*28|0)+(L<<2)>>2]|0,h=d}else if(D){if(D=Ki(h,d)|0,(D|0)==7){M=5;break}if(Se[21872+(D*7|0)+g>>0]|0){M=1;break}h=0,d=p[21040+(g*28|0)+(D<<2)>>2]|0}else h=0,d=0;if((h|d|0)<0)M=5;else{if((d|0)>0){l=te+4|0,D=0;do ql(l),D=D+1|0;while((D|0)!=(d|0))}if(p[X>>2]=0,p[X+4>>2]=0,p[X+8>>2]=0,af(X,L),M|0)for(;Fs(M)|0?vc(X):Uo(X),(M|0)>1;)M=M+-1|0;if((h|0)>0){M=0;do ql(X),M=M+1|0;while((M|0)!=(h|0))}U=te+4|0,Ln(U,X,U),hi(U),U=51}}else if(Ds(v,w,te)|0,(C|0)!=0&(P|0)!=0)if((g|0)!=(h|0)&&Wt(23173,23090,261,23100),D=Ki(_,m)|0,M=Ki(v,w)|0,(D|0)==7|(M|0)==7)M=5;else if(Se[21872+(D*7|0)+M>>0]|0)M=1;else if(D=p[21040+(D*28|0)+(M<<2)>>2]|0,(D|0)>0){l=te+4|0,M=0;do ql(l),M=M+1|0;while((M|0)!=(D|0));U=51}else U=51;else U=51;while(!1);return(U|0)==51&&(M=te+4|0,p[T>>2]=p[M>>2],p[T+4>>2]=p[M+4>>2],p[T+8>>2]=p[M+8>>2],M=0),te=M,Ie=Z,te|0}function Mc(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0,re=0;if(U=Ie,Ie=Ie+48|0,h=U+36|0,D=U+24|0,l=U+12|0,d=U,T=jt(_|0,m|0,52)|0,Me()|0,T=T&15,P=jt(_|0,m|0,45)|0,Me()|0,P=P&127,P>>>0>121)return w=5,Ie=U,w|0;if(g=wr(P)|0,Zt(T|0,0,52)|0,X=Me()|0|134225919,M=w,p[M>>2]=-1,p[M+4>>2]=X,!T)return T=hl(v)|0,(T|0)==7||(T=ca(P,T)|0,(T|0)==127)?(X=1,Ie=U,X|0):(R=Zt(T|0,0,45)|0,L=Me()|0,P=w,L=p[P+4>>2]&-1040385|L,X=w,p[X>>2]=p[P>>2]|R,p[X+4>>2]=L,X=0,Ie=U,X|0);for(p[h>>2]=p[v>>2],p[h+4>>2]=p[v+4>>2],p[h+8>>2]=p[v+8>>2],v=T;;){if(M=v,v=v+-1|0,p[D>>2]=p[h>>2],p[D+4>>2]=p[h+4>>2],p[D+8>>2]=p[h+8>>2],Fs(M)|0){if(T=zA(h)|0,T|0){v=13;break}p[l>>2]=p[h>>2],p[l+4>>2]=p[h+4>>2],p[l+8>>2]=p[h+8>>2],vc(l)}else{if(T=GA(h)|0,T|0){v=13;break}p[l>>2]=p[h>>2],p[l+4>>2]=p[h+4>>2],p[l+8>>2]=p[h+8>>2],Uo(l)}if(ii(D,l,d),hi(d),T=w,Z=p[T>>2]|0,T=p[T+4>>2]|0,re=(15-M|0)*3|0,te=Zt(7,0,re|0)|0,T=T&~(Me()|0),re=Zt(hl(d)|0,0,re|0)|0,T=Me()|0|T,X=w,p[X>>2]=re|Z&~te,p[X+4>>2]=T,(M|0)<=1){v=14;break}}e:do if((v|0)!=13&&(v|0)==14)if((p[h>>2]|0)<=1&&(p[h+4>>2]|0)<=1&&(p[h+8>>2]|0)<=1){v=hl(h)|0,T=ca(P,v)|0,(T|0)==127?d=0:d=wr(T)|0;t:do if(v){if(g){if(T=Ki(_,m)|0,(T|0)==7){T=5;break e}if(M=p[21248+(T*28|0)+(v<<2)>>2]|0,(M|0)>0){T=v,v=0;do T=Ao(T)|0,v=v+1|0;while((v|0)!=(M|0))}else T=v;if((T|0)==1){T=9;break e}v=ca(P,T)|0,(v|0)==127&&Wt(23200,23090,411,23230),wr(v)|0?Wt(23245,23090,412,23230):(L=v,R=M,C=T)}else L=T,R=0,C=v;if(l=p[4272+(P*28|0)+(C<<2)>>2]|0,(l|0)<=-1&&Wt(23276,23090,419,23230),!d){if((R|0)<0){T=5;break e}if(R|0){M=w,T=0,v=p[M>>2]|0,M=p[M+4>>2]|0;do v=po(v,M)|0,M=Me()|0,re=w,p[re>>2]=v,p[re+4>>2]=M,T=T+1|0;while((T|0)<(R|0))}if((l|0)<=0){T=L,v=58;break}for(M=w,T=0,v=p[M>>2]|0,M=p[M+4>>2]|0;;)if(v=po(v,M)|0,M=Me()|0,re=w,p[re>>2]=v,p[re+4>>2]=M,T=T+1|0,(T|0)==(l|0)){T=L,v=58;break t}}if(D=ll(L,P)|0,(D|0)==7&&Wt(23066,23090,428,23230),T=w,v=p[T>>2]|0,T=p[T+4>>2]|0,(l|0)>0){M=0;do v=po(v,T)|0,T=Me()|0,re=w,p[re>>2]=v,p[re+4>>2]=T,M=M+1|0;while((M|0)!=(l|0))}if(T=Ki(v,T)|0,(T|0)==7&&Wt(23313,23090,440,23230),v=ni(L)|0,v=p[(v?21664:21456)+(D*28|0)+(T<<2)>>2]|0,(v|0)<0&&Wt(23313,23090,454,23230),!v)T=L,v=58;else{D=w,T=0,M=p[D>>2]|0,D=p[D+4>>2]|0;do M=ga(M,D)|0,D=Me()|0,re=w,p[re>>2]=M,p[re+4>>2]=D,T=T+1|0;while((T|0)<(v|0));T=L,v=58}}else if((g|0)!=0&(d|0)!=0){if(v=Ki(_,m)|0,M=w,M=Ki(p[M>>2]|0,p[M+4>>2]|0)|0,(v|0)==7|(M|0)==7){T=5;break e}if(M=p[21248+(v*28|0)+(M<<2)>>2]|0,(M|0)<0){T=5;break e}if(!M)v=59;else{l=w,v=0,D=p[l>>2]|0,l=p[l+4>>2]|0;do D=po(D,l)|0,l=Me()|0,re=w,p[re>>2]=D,p[re+4>>2]=l,v=v+1|0;while((v|0)<(M|0));v=58}}else v=58;while(!1);if((v|0)==58&&d&&(v=59),(v|0)==59&&(re=w,(Ki(p[re>>2]|0,p[re+4>>2]|0)|0)==1)){T=9;break}re=w,te=p[re>>2]|0,re=p[re+4>>2]&-1040385,Z=Zt(T|0,0,45)|0,re=re|(Me()|0),T=w,p[T>>2]=te|Z,p[T+4>>2]=re,T=0}else T=1;while(!1);return re=T,Ie=U,re|0}function Ph(_,m,v,w,T,M){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0,M=M|0;var D=0,l=0;return l=Ie,Ie=Ie+16|0,D=l,T?_=15:(_=Fn(_,m,v,w,D)|0,_||(fa(D,M),_=0)),Ie=l,_|0}function mi(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0;return D=Ie,Ie=Ie+16|0,M=D,w?v=15:(v=ha(v,M)|0,v||(v=Mc(_,m,M,T)|0)),Ie=D,v|0}function nr(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0;return d=Ie,Ie=Ie+32|0,D=d+12|0,l=d,M=Fn(_,m,_,m,D)|0,M|0?(l=M,Ie=d,l|0):(_=Fn(_,m,v,w,l)|0,_|0?(l=_,Ie=d,l|0):(D=dl(D,l)|0,l=T,p[l>>2]=D,p[l+4>>2]=((D|0)<0)<<31>>31,l=0,Ie=d,l|0))}function vs(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0;return d=Ie,Ie=Ie+32|0,D=d+12|0,l=d,M=Fn(_,m,_,m,D)|0,!M&&(M=Fn(_,m,v,w,l)|0,!M)?(w=dl(D,l)|0,w=cn(w|0,((w|0)<0)<<31>>31|0,1,0)|0,D=Me()|0,l=T,p[l>>2]=w,p[l+4>>2]=D,l=0,Ie=d,l|0):(l=M,Ie=d,l|0)}function cu(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0,re=0,ae=0,xe=0,De=0,me=0,Fe=0;if(me=Ie,Ie=Ie+48|0,D=me+24|0,l=me+12|0,De=me,M=Fn(_,m,_,m,D)|0,!M&&(M=Fn(_,m,v,w,l)|0,!M)){ae=dl(D,l)|0,xe=((ae|0)<0)<<31>>31,p[D>>2]=0,p[D+4>>2]=0,p[D+8>>2]=0,p[l>>2]=0,p[l+4>>2]=0,p[l+8>>2]=0,Fn(_,m,_,m,D)|0&&Wt(23313,23090,691,23299),Fn(_,m,v,w,l)|0&&Wt(23313,23090,696,23299),da(D),da(l),ae?(C=p[D>>2]|0,L=+(ae|0),te=D+4|0,P=p[te>>2]|0,Z=D+8|0,R=p[Z>>2]|0,re=D,w=C,M=P,v=R,U=+((p[l>>2]|0)-C|0)/L,X=+((p[l+4>>2]|0)-P|0)/L,L=+((p[l+8>>2]|0)-R|0)/L):(M=D+4|0,v=D+8|0,te=M,Z=v,re=D,w=p[D>>2]|0,M=p[M>>2]|0,v=p[v>>2]|0,U=0,X=0,L=0),p[De>>2]=w,R=De+4|0,p[R>>2]=M,P=De+8|0,p[P>>2]=v;e:do if((ae|0)<0)M=0;else for(g=0,C=0,M=w;;){h=+(C>>>0)+4294967296*+(g|0),Fe=U*h+ +(M|0),d=X*h+ +(p[te>>2]|0),h=L*h+ +(p[Z>>2]|0),v=~~+Xo(+Fe),D=~~+Xo(+d),M=~~+Xo(+h),Fe=+It(+(+(v|0)-Fe)),d=+It(+(+(D|0)-d)),h=+It(+(+(M|0)-h));do if(Fe>d&Fe>h)v=0-(D+M)|0,w=D;else if(l=0-v|0,d>h){w=l-M|0;break}else{w=D,M=l-D|0;break}while(!1);if(p[De>>2]=v,p[R>>2]=w,p[P>>2]=M,Oa(De),M=Mc(_,m,De,T+(C<<3)|0)|0,M|0)break e;if(!((g|0)<(xe|0)|(g|0)==(xe|0)&C>>>0<ae>>>0)){M=0;break e}M=cn(C|0,g|0,1,0)|0,l=Me()|0,g=l,C=M,M=p[re>>2]|0}while(!1);return De=M,Ie=me,De|0}return De=M,Ie=me,De|0}function Ls(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0;if((v|0)==0&(w|0)==0)return T=0,M=1,fr(T|0),M|0;M=_,T=m,_=1,m=0;do D=(v&1|0)==0&!0,_=si((D?1:M)|0,(D?0:T)|0,_|0,m|0)|0,m=Me()|0,v=_o(v|0,w|0,1)|0,w=Me()|0,M=si(M|0,T|0,M|0,T|0)|0,T=Me()|0;while(!((v|0)==0&(w|0)==0));return fr(m|0),_|0}function qs(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0;if(!(Rs(m,v)|0)||(m=fl(m)|0,w=+le[v>>3],T=+le[v+8>>3],T=m&T<0?T+6.283185307179586:T,P=p[_>>2]|0,(P|0)<=0))return P=0,P|0;if(C=p[_+4>>2]|0,m){m=0,g=T,v=-1,_=0;e:for(;;){for(h=_;D=+le[C+(h<<4)>>3],T=+le[C+(h<<4)+8>>3],_=(v+2|0)%(P|0)|0,M=+le[C+(_<<4)>>3],l=+le[C+(_<<4)+8>>3],D>M?(d=D,D=l):(d=M,M=D,D=T,T=l),w=w==M|w==d?w+2220446049250313e-31:w,!!(w<M|w>d);)if(v=h+1|0,(v|0)>=(P|0)){v=22;break e}else _=h,h=v,v=_;if(l=D<0?D+6.283185307179586:D,D=T<0?T+6.283185307179586:T,g=l==g|D==g?g+-2220446049250313e-31:g,d=l+(D-l)*((w-M)/(d-M)),(d<0?d+6.283185307179586:d)>g&&(m=m^1),_=h+1|0,(_|0)>=(P|0)){v=22;break}else v=h}if((v|0)==22)return m|0}else{m=0,g=T,v=-1,_=0;e:for(;;){for(h=_;D=+le[C+(h<<4)>>3],T=+le[C+(h<<4)+8>>3],_=(v+2|0)%(P|0)|0,M=+le[C+(_<<4)>>3],l=+le[C+(_<<4)+8>>3],D>M?(d=D,D=l):(d=M,M=D,D=T,T=l),w=w==M|w==d?w+2220446049250313e-31:w,!!(w<M|w>d);)if(v=h+1|0,(v|0)>=(P|0)){v=22;break e}else _=h,h=v,v=_;if(g=D==g|T==g?g+-2220446049250313e-31:g,D+(T-D)*((w-M)/(d-M))>g&&(m=m^1),_=h+1|0,(_|0)>=(P|0)){v=22;break}else v=h}if((v|0)==22)return m|0}return 0}function fs(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0;if(L=p[_>>2]|0,!L){p[m>>2]=0,p[m+4>>2]=0,p[m+8>>2]=0,p[m+12>>2]=0,p[m+16>>2]=0,p[m+20>>2]=0,p[m+24>>2]=0,p[m+28>>2]=0;return}if(U=m+8|0,le[U>>3]=17976931348623157e292,X=m+24|0,le[X>>3]=17976931348623157e292,le[m>>3]=-17976931348623157e292,te=m+16|0,le[te>>3]=-17976931348623157e292,!((L|0)<=0)){for(P=p[_+4>>2]|0,h=17976931348623157e292,g=-17976931348623157e292,C=0,_=-1,M=17976931348623157e292,D=17976931348623157e292,d=-17976931348623157e292,w=-17976931348623157e292,R=0;v=+le[P+(R<<4)>>3],l=+le[P+(R<<4)+8>>3],_=_+2|0,T=+le[P+(((_|0)==(L|0)?0:_)<<4)+8>>3],v<M&&(le[U>>3]=v,M=v),l<D&&(le[X>>3]=l,D=l),v>d?le[m>>3]=v:v=d,l>w&&(le[te>>3]=l,w=l),h=l>0&l<h?l:h,g=l<0&l>g?l:g,C=C|+It(+(l-T))>3.141592653589793,_=R+1|0,(_|0)!=(L|0);)Z=R,d=v,R=_,_=Z;C&&(le[te>>3]=g,le[X>>3]=h)}}function df(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0,re=0,ae=0,xe=0,De=0,me=0;if(L=p[_>>2]|0,L){if(U=m+8|0,le[U>>3]=17976931348623157e292,X=m+24|0,le[X>>3]=17976931348623157e292,le[m>>3]=-17976931348623157e292,te=m+16|0,le[te>>3]=-17976931348623157e292,(L|0)>0){for(T=p[_+4>>2]|0,P=17976931348623157e292,R=-17976931348623157e292,w=0,v=-1,d=17976931348623157e292,h=17976931348623157e292,C=-17976931348623157e292,D=-17976931348623157e292,Z=0;M=+le[T+(Z<<4)>>3],g=+le[T+(Z<<4)+8>>3],De=v+2|0,l=+le[T+(((De|0)==(L|0)?0:De)<<4)+8>>3],M<d&&(le[U>>3]=M,d=M),g<h&&(le[X>>3]=g,h=g),M>C?le[m>>3]=M:M=C,g>D&&(le[te>>3]=g,D=g),P=g>0&g<P?g:P,R=g<0&g>R?g:R,w=w|+It(+(g-l))>3.141592653589793,v=Z+1|0,(v|0)!=(L|0);)De=Z,C=M,Z=v,v=De;w&&(le[te>>3]=R,le[X>>3]=P)}}else p[m>>2]=0,p[m+4>>2]=0,p[m+8>>2]=0,p[m+12>>2]=0,p[m+16>>2]=0,p[m+20>>2]=0,p[m+24>>2]=0,p[m+28>>2]=0;if(De=_+8|0,v=p[De>>2]|0,!((v|0)<=0)){xe=_+12|0,ae=0;do if(T=p[xe>>2]|0,w=ae,ae=ae+1|0,X=m+(ae<<5)|0,te=p[T+(w<<3)>>2]|0,te){if(Z=m+(ae<<5)+8|0,le[Z>>3]=17976931348623157e292,_=m+(ae<<5)+24|0,le[_>>3]=17976931348623157e292,le[X>>3]=-17976931348623157e292,re=m+(ae<<5)+16|0,le[re>>3]=-17976931348623157e292,(te|0)>0){for(L=p[T+(w<<3)+4>>2]|0,P=17976931348623157e292,R=-17976931348623157e292,T=0,w=-1,U=0,d=17976931348623157e292,h=17976931348623157e292,g=-17976931348623157e292,D=-17976931348623157e292;M=+le[L+(U<<4)>>3],C=+le[L+(U<<4)+8>>3],w=w+2|0,l=+le[L+(((w|0)==(te|0)?0:w)<<4)+8>>3],M<d&&(le[Z>>3]=M,d=M),C<h&&(le[_>>3]=C,h=C),M>g?le[X>>3]=M:M=g,C>D&&(le[re>>3]=C,D=C),P=C>0&C<P?C:P,R=C<0&C>R?C:R,T=T|+It(+(C-l))>3.141592653589793,w=U+1|0,(w|0)!=(te|0);)me=U,U=w,g=M,w=me;T&&(le[re>>3]=R,le[_>>3]=P)}}else p[X>>2]=0,p[X+4>>2]=0,p[X+8>>2]=0,p[X+12>>2]=0,p[X+16>>2]=0,p[X+20>>2]=0,p[X+24>>2]=0,p[X+28>>2]=0,v=p[De>>2]|0;while((ae|0)<(v|0))}}function Kt(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0;if(!(qs(_,m,v)|0))return T=0,T|0;if(T=_+8|0,(p[T>>2]|0)<=0)return T=1,T|0;for(w=_+12|0,_=0;;){if(M=_,_=_+1|0,qs((p[w>>2]|0)+(M<<3)|0,m+(_<<5)|0,v)|0){_=0,w=6;break}if((_|0)>=(p[T>>2]|0)){_=1,w=6;break}}return(w|0)==6?_|0:0}function Af(){return 8}function lu(){return 16}function pf(){return 168}function Ys(){return 8}function bs(){return 16}function uu(){return 12}function fu(){return 8}function xs(_){return _=_|0,+(+((p[_>>2]|0)>>>0)+4294967296*+(p[_+4>>2]|0))}function Wo(_){_=_|0;var m=0,v=0;return v=+le[_>>3],m=+le[_+8>>3],+ +Ft(+(v*v+m*m))}function gf(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0;h=+le[_>>3],d=+le[m>>3]-h,l=+le[_+8>>3],D=+le[m+8>>3]-l,C=+le[v>>3],M=+le[w>>3]-C,P=+le[v+8>>3],g=+le[w+8>>3]-P,M=(M*(l-P)-(h-C)*g)/(d*g-D*M),le[T>>3]=h+d*M,le[T+8>>3]=l+D*M}function Pc(_,m){return _=_|0,m=m|0,+It(+(+le[_>>3]-+le[m>>3]))<11920928955078125e-23?(m=+It(+(+le[_+8>>3]-+le[m+8>>3]))<11920928955078125e-23,m|0):(m=0,m|0)}function _i(_,m){_=_|0,m=m|0;var v=0,w=0,T=0;return T=+le[_>>3]-+le[m>>3],w=+le[_+8>>3]-+le[m+8>>3],v=+le[_+16>>3]-+le[m+16>>3],+(T*T+w*w+v*v)}function mf(_,m){_=_|0,m=m|0;var v=0,w=0,T=0;v=+le[_>>3],w=+Dt(+v),v=+St(+v),le[m+16>>3]=v,v=+le[_+8>>3],T=w*+Dt(+v),le[m>>3]=T,v=w*+St(+v),le[m+8>>3]=v}function go(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0;if(M=Ie,Ie=Ie+16|0,T=M,w=Sn(_,m)|0,(v+-1|0)>>>0>5||(w=(w|0)!=0,(v|0)==1&w))return T=-1,Ie=M,T|0;do if(qi(_,m,T)|0)w=-1;else if(w){w=((p[21936+(v<<2)>>2]|0)+5-(p[T>>2]|0)|0)%5|0;break}else{w=((p[21968+(v<<2)>>2]|0)+6-(p[T>>2]|0)|0)%6|0;break}while(!1);return T=w,Ie=M,T|0}function qi(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0,h=0;if(h=Ie,Ie=Ie+32|0,D=h+16|0,l=h,w=Ga(_,m,D)|0,w|0)return v=w,Ie=h,v|0;M=uf(_,m)|0,d=Ki(_,m)|0,Js(M,l),w=vh(M,p[D>>2]|0)|0;e:do if(wr(M)|0){do switch(M|0){case 4:{_=0;break}case 14:{_=1;break}case 24:{_=2;break}case 38:{_=3;break}case 49:{_=4;break}case 58:{_=5;break}case 63:{_=6;break}case 72:{_=7;break}case 83:{_=8;break}case 97:{_=9;break}case 107:{_=10;break}case 117:{_=11;break}default:{w=1;break e}}while(!1);if(T=p[22e3+(_*24|0)+8>>2]|0,m=p[22e3+(_*24|0)+16>>2]|0,_=p[D>>2]|0,(_|0)!=(p[l>>2]|0)&&(l=ni(M)|0,_=p[D>>2]|0,l|(_|0)==(m|0)&&(w=(w+1|0)%6|0)),(d|0)==3&(_|0)==(m|0)){w=(w+5|0)%6|0,T=22;break}(d|0)==5&(_|0)==(T|0)&&(w=(w+1|0)%6|0),T=22}else T=22;while(!1);return(T|0)==22&&(p[v>>2]=w,w=0),v=w,Ie=h,v|0}function Nr(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0,re=0;if(re=Ie,Ie=Ie+32|0,Z=re+24|0,X=re+20|0,L=re+8|0,R=re+16|0,P=re,d=(Sn(_,m)|0)==0,d=d?6:5,g=jt(_|0,m|0,52)|0,Me()|0,g=g&15,d>>>0<=v>>>0)return w=2,Ie=re,w|0;C=(g|0)==0,!C&&(U=Zt(7,0,(g^15)*3|0)|0,(U&_|0)==0&((Me()|0)&m|0)==0)?T=v:M=4;e:do if((M|0)==4){if(T=(Sn(_,m)|0)!=0,((T?4:5)|0)<(v|0)||qi(_,m,Z)|0||(M=(p[Z>>2]|0)+v|0,T?T=22288+(((M|0)%5|0)<<2)|0:T=22320+(((M|0)%6|0)<<2)|0,U=p[T>>2]|0,(U|0)==7))return w=1,Ie=re,w|0;p[X>>2]=0,T=wn(_,m,U,X,L)|0;do if(!T){if(l=L,h=p[l>>2]|0,l=p[l+4>>2]|0,D=l>>>0<m>>>0|(l|0)==(m|0)&h>>>0<_>>>0,M=D?h:_,D=D?l:m,!C&&(C=Zt(7,0,(g^15)*3|0)|0,(h&C|0)==0&(l&(Me()|0)|0)==0))T=v;else{if(l=(v+-1+d|0)%(d|0)|0,T=Sn(_,m)|0,(l|0)<0&&Wt(23313,23315,245,23324),d=(T|0)!=0,((d?4:5)|0)<(l|0)&&Wt(23313,23315,245,23324),qi(_,m,Z)|0&&Wt(23313,23315,245,23324),T=(p[Z>>2]|0)+l|0,d?T=22288+(((T|0)%5|0)<<2)|0:T=22320+(((T|0)%6|0)<<2)|0,l=p[T>>2]|0,(l|0)==7&&Wt(23313,23315,245,23324),p[R>>2]=0,T=wn(_,m,l,R,P)|0,T|0)break;h=P,d=p[h>>2]|0,h=p[h+4>>2]|0;do if(h>>>0<D>>>0|(h|0)==(D|0)&d>>>0<M>>>0){if(Sn(d,h)|0?M=cl(d,h,_,m)|0:M=p[22384+((((p[R>>2]|0)+(p[22352+(l<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,T=Sn(d,h)|0,(M+-1|0)>>>0>5){T=-1,M=d,D=h;break}if(T=(T|0)!=0,(M|0)==1&T){T=-1,M=d,D=h;break}do if(qi(d,h,Z)|0)T=-1;else if(T){T=((p[21936+(M<<2)>>2]|0)+5-(p[Z>>2]|0)|0)%5|0;break}else{T=((p[21968+(M<<2)>>2]|0)+6-(p[Z>>2]|0)|0)%6|0;break}while(!1);M=d,D=h}else T=v;while(!1);l=L,h=p[l>>2]|0,l=p[l+4>>2]|0}if((M|0)==(h|0)&(D|0)==(l|0)){if(d=(Sn(h,l)|0)!=0,d?_=cl(h,l,_,m)|0:_=p[22384+((((p[X>>2]|0)+(p[22352+(U<<2)>>2]|0)|0)%6|0)<<2)>>2]|0,T=Sn(h,l)|0,(_+-1|0)>>>0<=5&&(te=(T|0)!=0,!((_|0)==1&te)))do if(qi(h,l,Z)|0)T=-1;else if(te){T=((p[21936+(_<<2)>>2]|0)+5-(p[Z>>2]|0)|0)%5|0;break}else{T=((p[21968+(_<<2)>>2]|0)+6-(p[Z>>2]|0)|0)%6|0;break}while(!1);else T=-1;T=T+1|0,T=(T|0)==6|d&(T|0)==5?0:T}m=D,_=M;break e}while(!1);return w=T,Ie=re,w|0}while(!1);return te=Zt(T|0,0,56)|0,Z=Me()|0|m&-2130706433|536870912,p[w>>2]=te|_,p[w+4>>2]=Z,w=0,Ie=re,w|0}function Co(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0;return M=(Sn(_,m)|0)==0,w=Nr(_,m,0,v)|0,T=(w|0)==0,M?!T||(w=Nr(_,m,1,v+8|0)|0,w|0)||(w=Nr(_,m,2,v+16|0)|0,w|0)||(w=Nr(_,m,3,v+24|0)|0,w|0)||(w=Nr(_,m,4,v+32|0)|0,w)?(M=w,M|0):Nr(_,m,5,v+40|0)|0:!T||(w=Nr(_,m,1,v+8|0)|0,w|0)||(w=Nr(_,m,2,v+16|0)|0,w|0)||(w=Nr(_,m,3,v+24|0)|0,w|0)||(w=Nr(_,m,4,v+32|0)|0,w|0)?(M=w,M|0):(M=v+40|0,p[M>>2]=0,p[M+4>>2]=0,M=0,M|0)}function Zs(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0,l=0,d=0;return d=Ie,Ie=Ie+192|0,T=d,M=d+168|0,D=jt(_|0,m|0,56)|0,Me()|0,D=D&7,l=m&-2130706433|134217728,w=Ga(_,l,M)|0,w|0?(l=w,Ie=d,l|0):(m=jt(_|0,m|0,52)|0,Me()|0,m=m&15,Sn(_,l)|0?zo(M,m,D,1,T):Ql(M,m,D,1,T),l=T+8|0,p[v>>2]=p[l>>2],p[v+4>>2]=p[l+4>>2],p[v+8>>2]=p[l+8>>2],p[v+12>>2]=p[l+12>>2],l=0,Ie=d,l|0)}function Gi(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0;return T=Ie,Ie=Ie+16|0,v=T,!(!0&(m&2013265920|0)==536870912)||(w=m&-2130706433|134217728,!(Vo(_,w)|0))?(w=0,Ie=T,w|0):(M=jt(_|0,m|0,56)|0,Me()|0,M=(Nr(_,w,M&7,v)|0)==0,w=v,w=M&((p[w>>2]|0)==(_|0)?(p[w+4>>2]|0)==(m|0):0)&1,Ie=T,w|0)}function ma(_,m,v){_=_|0,m=m|0,v=v|0;var w=0;(m|0)>0?(w=eo(m,4)|0,p[_>>2]=w,w||Wt(23337,23360,40,23374)):p[_>>2]=0,p[_+4>>2]=m,p[_+8>>2]=0,p[_+12>>2]=v}function Jo(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0;T=_+4|0,M=_+12|0,D=_+8|0;e:for(;;){for(v=p[T>>2]|0,m=0;;){if((m|0)>=(v|0))break e;if(w=p[_>>2]|0,l=p[w+(m<<2)>>2]|0,!l)m=m+1|0;else break}m=w+(~~(+It(+(+ut(10,+ +(15-(p[M>>2]|0)|0))*(+le[l>>3]+ +le[l+8>>3])))%+(v|0))>>>0<<2)|0,v=p[m>>2]|0;t:do if(v|0){if(w=l+32|0,(v|0)==(l|0))p[m>>2]=p[w>>2];else{if(v=v+32|0,m=p[v>>2]|0,!m)break;for(;(m|0)!=(l|0);)if(v=m+32|0,m=p[v>>2]|0,!m)break t;p[v>>2]=p[w>>2]}Dr(l),p[D>>2]=(p[D>>2]|0)+-1}while(!1)}Dr(p[_>>2]|0)}function Qs(_){_=_|0;var m=0,v=0,w=0;for(w=p[_+4>>2]|0,v=0;;){if((v|0)>=(w|0)){m=0,v=4;break}if(m=p[(p[_>>2]|0)+(v<<2)>>2]|0,!m)v=v+1|0;else{v=4;break}}return(v|0)==4?m|0:0}function Yi(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0;if(v=~~(+It(+(+ut(10,+ +(15-(p[_+12>>2]|0)|0))*(+le[m>>3]+ +le[m+8>>3])))%+(p[_+4>>2]|0))>>>0,v=(p[_>>2]|0)+(v<<2)|0,w=p[v>>2]|0,!w)return M=1,M|0;M=m+32|0;do if((w|0)!=(m|0)){if(v=p[w+32>>2]|0,!v)return M=1,M|0;for(T=v;;){if((T|0)==(m|0)){T=8;break}if(v=p[T+32>>2]|0,v)w=T,T=v;else{v=1,T=10;break}}if((T|0)==8){p[w+32>>2]=p[M>>2];break}else if((T|0)==10)return v|0}else p[v>>2]=p[M>>2];while(!1);return Dr(m),M=_+8|0,p[M>>2]=(p[M>>2]|0)+-1,M=0,M|0}function bl(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0;M=Vn(40)|0,M||Wt(23390,23360,98,23403),p[M>>2]=p[m>>2],p[M+4>>2]=p[m+4>>2],p[M+8>>2]=p[m+8>>2],p[M+12>>2]=p[m+12>>2],T=M+16|0,p[T>>2]=p[v>>2],p[T+4>>2]=p[v+4>>2],p[T+8>>2]=p[v+8>>2],p[T+12>>2]=p[v+12>>2],p[M+32>>2]=0,T=~~(+It(+(+ut(10,+ +(15-(p[_+12>>2]|0)|0))*(+le[m>>3]+ +le[m+8>>3])))%+(p[_+4>>2]|0))>>>0,T=(p[_>>2]|0)+(T<<2)|0,w=p[T>>2]|0;do if(!w)p[T>>2]=M;else{for(;!(Ha(w,m)|0&&Ha(w+16|0,v)|0);)if(T=p[w+32>>2]|0,w=(T|0)==0?w:T,!(p[w+32>>2]|0)){D=10;break}if((D|0)==10){p[w+32>>2]=M;break}return Dr(M),D=w,D|0}while(!1);return D=_+8|0,p[D>>2]=(p[D>>2]|0)+1,D=M,D|0}function _r(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0;if(T=~~(+It(+(+ut(10,+ +(15-(p[_+12>>2]|0)|0))*(+le[m>>3]+ +le[m+8>>3])))%+(p[_+4>>2]|0))>>>0,T=p[(p[_>>2]|0)+(T<<2)>>2]|0,!T)return v=0,v|0;if(!v){for(_=T;;){if(Ha(_,m)|0){w=10;break}if(_=p[_+32>>2]|0,!_){_=0,w=10;break}}if((w|0)==10)return _|0}for(_=T;;){if(Ha(_,m)|0&&Ha(_+16|0,v)|0){w=10;break}if(_=p[_+32>>2]|0,!_){_=0,w=10;break}}return(w|0)==10?_|0:0}function or(_,m){_=_|0,m=m|0;var v=0;if(v=~~(+It(+(+ut(10,+ +(15-(p[_+12>>2]|0)|0))*(+le[m>>3]+ +le[m+8>>3])))%+(p[_+4>>2]|0))>>>0,_=p[(p[_>>2]|0)+(v<<2)>>2]|0,!_)return v=0,v|0;for(;;){if(Ha(_,m)|0){m=5;break}if(_=p[_+32>>2]|0,!_){_=0,m=5;break}}return(m|0)==5?_|0:0}function hu(){return 23424}function is(_){return _=+_,+ +qo(+_)}function Vi(_){return _=+_,~~+is(_)|0}function Vn(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0,U=0,X=0,te=0,Z=0,re=0,ae=0,xe=0;xe=Ie,Ie=Ie+16|0,P=xe;do if(_>>>0<245){if(h=_>>>0<11?16:_+11&-8,_=h>>>3,C=p[5857]|0,v=C>>>_,v&3|0)return m=(v&1^1)+_|0,_=23468+(m<<1<<2)|0,v=_+8|0,w=p[v>>2]|0,T=w+8|0,M=p[T>>2]|0,(M|0)==(_|0)?p[5857]=C&~(1<<m):(p[M+12>>2]=_,p[v>>2]=M),ae=m<<3,p[w+4>>2]=ae|3,ae=w+ae+4|0,p[ae>>2]=p[ae>>2]|1,ae=T,Ie=xe,ae|0;if(g=p[5859]|0,h>>>0>g>>>0){if(v|0)return m=2<<_,m=v<<_&(m|0-m),m=(m&0-m)+-1|0,l=m>>>12&16,m=m>>>l,v=m>>>5&8,m=m>>>v,M=m>>>2&4,m=m>>>M,_=m>>>1&2,m=m>>>_,w=m>>>1&1,w=(v|l|M|_|w)+(m>>>w)|0,m=23468+(w<<1<<2)|0,_=m+8|0,M=p[_>>2]|0,l=M+8|0,v=p[l>>2]|0,(v|0)==(m|0)?(_=C&~(1<<w),p[5857]=_):(p[v+12>>2]=m,p[_>>2]=v,_=C),ae=w<<3,D=ae-h|0,p[M+4>>2]=h|3,T=M+h|0,p[T+4>>2]=D|1,p[M+ae>>2]=D,g|0&&(w=p[5862]|0,m=g>>>3,v=23468+(m<<1<<2)|0,m=1<<m,_&m?(_=v+8|0,m=p[_>>2]|0):(p[5857]=_|m,m=v,_=v+8|0),p[_>>2]=w,p[m+12>>2]=w,p[w+8>>2]=m,p[w+12>>2]=v),p[5859]=D,p[5862]=T,ae=l,Ie=xe,ae|0;if(M=p[5858]|0,M){for(v=(M&0-M)+-1|0,T=v>>>12&16,v=v>>>T,w=v>>>5&8,v=v>>>w,D=v>>>2&4,v=v>>>D,l=v>>>1&2,v=v>>>l,d=v>>>1&1,d=p[23732+((w|T|D|l|d)+(v>>>d)<<2)>>2]|0,v=d,l=d,d=(p[d+4>>2]&-8)-h|0;_=p[v+16>>2]|0,!(!_&&(_=p[v+20>>2]|0,!_));)D=(p[_+4>>2]&-8)-h|0,T=D>>>0<d>>>0,v=_,l=T?_:l,d=T?D:d;if(D=l+h|0,D>>>0>l>>>0){T=p[l+24>>2]|0,m=p[l+12>>2]|0;do if((m|0)==(l|0)){if(_=l+20|0,m=p[_>>2]|0,!m&&(_=l+16|0,m=p[_>>2]|0,!m)){v=0;break}for(;;)if(w=m+20|0,v=p[w>>2]|0,v)m=v,_=w;else if(w=m+16|0,v=p[w>>2]|0,v)m=v,_=w;else break;p[_>>2]=0,v=m}else v=p[l+8>>2]|0,p[v+12>>2]=m,p[m+8>>2]=v,v=m;while(!1);do if(T|0){if(m=p[l+28>>2]|0,_=23732+(m<<2)|0,(l|0)==(p[_>>2]|0)){if(p[_>>2]=v,!v){p[5858]=M&~(1<<m);break}}else if(ae=T+16|0,p[((p[ae>>2]|0)==(l|0)?ae:T+20|0)>>2]=v,!v)break;p[v+24>>2]=T,m=p[l+16>>2]|0,m|0&&(p[v+16>>2]=m,p[m+24>>2]=v),m=p[l+20>>2]|0,m|0&&(p[v+20>>2]=m,p[m+24>>2]=v)}while(!1);return d>>>0<16?(ae=d+h|0,p[l+4>>2]=ae|3,ae=l+ae+4|0,p[ae>>2]=p[ae>>2]|1):(p[l+4>>2]=h|3,p[D+4>>2]=d|1,p[D+d>>2]=d,g|0&&(w=p[5862]|0,m=g>>>3,v=23468+(m<<1<<2)|0,m=1<<m,m&C?(_=v+8|0,m=p[_>>2]|0):(p[5857]=m|C,m=v,_=v+8|0),p[_>>2]=w,p[m+12>>2]=w,p[w+8>>2]=m,p[w+12>>2]=v),p[5859]=d,p[5862]=D),ae=l+8|0,Ie=xe,ae|0}else C=h}else C=h}else C=h}else if(_>>>0<=4294967231)if(_=_+11|0,h=_&-8,w=p[5858]|0,w){T=0-h|0,_=_>>>8,_?h>>>0>16777215?d=31:(C=(_+1048320|0)>>>16&8,U=_<<C,l=(U+520192|0)>>>16&4,U=U<<l,d=(U+245760|0)>>>16&2,d=14-(l|C|d)+(U<<d>>>15)|0,d=h>>>(d+7|0)&1|d<<1):d=0,v=p[23732+(d<<2)>>2]|0;e:do if(!v)v=0,_=0,U=61;else for(_=0,l=h<<((d|0)==31?0:25-(d>>>1)|0),M=0;;){if(D=(p[v+4>>2]&-8)-h|0,D>>>0<T>>>0)if(D)_=v,T=D;else{_=v,T=0,U=65;break e}if(U=p[v+20>>2]|0,v=p[v+16+(l>>>31<<2)>>2]|0,M=(U|0)==0|(U|0)==(v|0)?M:U,v)l=l<<1;else{v=M,U=61;break}}while(!1);if((U|0)==61){if((v|0)==0&(_|0)==0){if(_=2<<d,_=(_|0-_)&w,!_){C=h;break}C=(_&0-_)+-1|0,D=C>>>12&16,C=C>>>D,M=C>>>5&8,C=C>>>M,l=C>>>2&4,C=C>>>l,d=C>>>1&2,C=C>>>d,v=C>>>1&1,_=0,v=p[23732+((M|D|l|d|v)+(C>>>v)<<2)>>2]|0}v?U=65:(l=_,D=T)}if((U|0)==65)for(M=v;;)if(C=(p[M+4>>2]&-8)-h|0,v=C>>>0<T>>>0,T=v?C:T,_=v?M:_,v=p[M+16>>2]|0,v||(v=p[M+20>>2]|0),v)M=v;else{l=_,D=T;break}if((l|0)!=0&&D>>>0<((p[5859]|0)-h|0)>>>0&&(g=l+h|0,g>>>0>l>>>0)){M=p[l+24>>2]|0,m=p[l+12>>2]|0;do if((m|0)==(l|0)){if(_=l+20|0,m=p[_>>2]|0,!m&&(_=l+16|0,m=p[_>>2]|0,!m)){m=0;break}for(;;)if(T=m+20|0,v=p[T>>2]|0,v)m=v,_=T;else if(T=m+16|0,v=p[T>>2]|0,v)m=v,_=T;else break;p[_>>2]=0}else ae=p[l+8>>2]|0,p[ae+12>>2]=m,p[m+8>>2]=ae;while(!1);do if(M){if(_=p[l+28>>2]|0,v=23732+(_<<2)|0,(l|0)==(p[v>>2]|0)){if(p[v>>2]=m,!m){w=w&~(1<<_),p[5858]=w;break}}else if(ae=M+16|0,p[((p[ae>>2]|0)==(l|0)?ae:M+20|0)>>2]=m,!m)break;p[m+24>>2]=M,_=p[l+16>>2]|0,_|0&&(p[m+16>>2]=_,p[_+24>>2]=m),_=p[l+20>>2]|0,_&&(p[m+20>>2]=_,p[_+24>>2]=m)}while(!1);e:do if(D>>>0<16)ae=D+h|0,p[l+4>>2]=ae|3,ae=l+ae+4|0,p[ae>>2]=p[ae>>2]|1;else{if(p[l+4>>2]=h|3,p[g+4>>2]=D|1,p[g+D>>2]=D,m=D>>>3,D>>>0<256){v=23468+(m<<1<<2)|0,_=p[5857]|0,m=1<<m,_&m?(_=v+8|0,m=p[_>>2]|0):(p[5857]=_|m,m=v,_=v+8|0),p[_>>2]=g,p[m+12>>2]=g,p[g+8>>2]=m,p[g+12>>2]=v;break}if(m=D>>>8,m?D>>>0>16777215?v=31:(re=(m+1048320|0)>>>16&8,ae=m<<re,Z=(ae+520192|0)>>>16&4,ae=ae<<Z,v=(ae+245760|0)>>>16&2,v=14-(Z|re|v)+(ae<<v>>>15)|0,v=D>>>(v+7|0)&1|v<<1):v=0,m=23732+(v<<2)|0,p[g+28>>2]=v,_=g+16|0,p[_+4>>2]=0,p[_>>2]=0,_=1<<v,!(w&_)){p[5858]=w|_,p[m>>2]=g,p[g+24>>2]=m,p[g+12>>2]=g,p[g+8>>2]=g;break}m=p[m>>2]|0;t:do if((p[m+4>>2]&-8|0)!=(D|0)){for(w=D<<((v|0)==31?0:25-(v>>>1)|0);v=m+16+(w>>>31<<2)|0,_=p[v>>2]|0,!!_;)if((p[_+4>>2]&-8|0)==(D|0)){m=_;break t}else w=w<<1,m=_;p[v>>2]=g,p[g+24>>2]=m,p[g+12>>2]=g,p[g+8>>2]=g;break e}while(!1);re=m+8|0,ae=p[re>>2]|0,p[ae+12>>2]=g,p[re>>2]=g,p[g+8>>2]=ae,p[g+12>>2]=m,p[g+24>>2]=0}while(!1);return ae=l+8|0,Ie=xe,ae|0}else C=h}else C=h;else C=-1;while(!1);if(v=p[5859]|0,v>>>0>=C>>>0)return m=v-C|0,_=p[5862]|0,m>>>0>15?(ae=_+C|0,p[5862]=ae,p[5859]=m,p[ae+4>>2]=m|1,p[_+v>>2]=m,p[_+4>>2]=C|3):(p[5859]=0,p[5862]=0,p[_+4>>2]=v|3,ae=_+v+4|0,p[ae>>2]=p[ae>>2]|1),ae=_+8|0,Ie=xe,ae|0;if(D=p[5860]|0,D>>>0>C>>>0)return Z=D-C|0,p[5860]=Z,ae=p[5863]|0,re=ae+C|0,p[5863]=re,p[re+4>>2]=Z|1,p[ae+4>>2]=C|3,ae=ae+8|0,Ie=xe,ae|0;if(p[5975]|0?_=p[5977]|0:(p[5977]=4096,p[5976]=4096,p[5978]=-1,p[5979]=-1,p[5980]=0,p[5968]=0,p[5975]=P&-16^1431655768,_=4096),l=C+48|0,d=C+47|0,M=_+d|0,T=0-_|0,h=M&T,h>>>0<=C>>>0||(_=p[5967]|0,_|0&&(g=p[5965]|0,P=g+h|0,P>>>0<=g>>>0|P>>>0>_>>>0)))return ae=0,Ie=xe,ae|0;e:do if(p[5968]&4)m=0,U=143;else{v=p[5863]|0;t:do if(v){for(w=23876;P=p[w>>2]|0,!(P>>>0<=v>>>0&&(P+(p[w+4>>2]|0)|0)>>>0>v>>>0);)if(_=p[w+8>>2]|0,_)w=_;else{U=128;break t}if(m=M-D&T,m>>>0<2147483647)if(_=hs(m|0)|0,(_|0)==((p[w>>2]|0)+(p[w+4>>2]|0)|0)){if((_|0)!=-1){D=m,M=_,U=145;break e}}else w=_,U=136;else m=0}else U=128;while(!1);do if((U|0)==128)if(v=hs(0)|0,(v|0)!=-1&&(m=v,R=p[5976]|0,L=R+-1|0,m=((L&m|0)==0?0:(L+m&0-R)-m|0)+h|0,R=p[5965]|0,L=m+R|0,m>>>0>C>>>0&m>>>0<2147483647)){if(P=p[5967]|0,P|0&&L>>>0<=R>>>0|L>>>0>P>>>0){m=0;break}if(_=hs(m|0)|0,(_|0)==(v|0)){D=m,M=v,U=145;break e}else w=_,U=136}else m=0;while(!1);do if((U|0)==136){if(v=0-m|0,!(l>>>0>m>>>0&(m>>>0<2147483647&(w|0)!=-1)))if((w|0)==-1){m=0;break}else{D=m,M=w,U=145;break e}if(_=p[5977]|0,_=d-m+_&0-_,_>>>0>=2147483647){D=m,M=w,U=145;break e}if((hs(_|0)|0)==-1){hs(v|0)|0,m=0;break}else{D=_+m|0,M=w,U=145;break e}}while(!1);p[5968]=p[5968]|4,U=143}while(!1);if((U|0)==143&&h>>>0<2147483647&&(Z=hs(h|0)|0,L=hs(0)|0,X=L-Z|0,te=X>>>0>(C+40|0)>>>0,!((Z|0)==-1|te^1|Z>>>0<L>>>0&((Z|0)!=-1&(L|0)!=-1)^1))&&(D=te?X:m,M=Z,U=145),(U|0)==145){m=(p[5965]|0)+D|0,p[5965]=m,m>>>0>(p[5966]|0)>>>0&&(p[5966]=m),d=p[5863]|0;e:do if(d){for(m=23876;;){if(_=p[m>>2]|0,v=p[m+4>>2]|0,(M|0)==(_+v|0)){U=154;break}if(w=p[m+8>>2]|0,w)m=w;else break}if((U|0)==154&&(re=m+4|0,(p[m+12>>2]&8|0)==0)&&M>>>0>d>>>0&_>>>0<=d>>>0){p[re>>2]=v+D,ae=(p[5860]|0)+D|0,Z=d+8|0,Z=(Z&7|0)==0?0:0-Z&7,re=d+Z|0,Z=ae-Z|0,p[5863]=re,p[5860]=Z,p[re+4>>2]=Z|1,p[d+ae+4>>2]=40,p[5864]=p[5979];break}for(M>>>0<(p[5861]|0)>>>0&&(p[5861]=M),v=M+D|0,m=23876;;){if((p[m>>2]|0)==(v|0)){U=162;break}if(_=p[m+8>>2]|0,_)m=_;else break}if((U|0)==162&&(p[m+12>>2]&8|0)==0){p[m>>2]=M,g=m+4|0,p[g>>2]=(p[g>>2]|0)+D,g=M+8|0,g=M+((g&7|0)==0?0:0-g&7)|0,m=v+8|0,m=v+((m&7|0)==0?0:0-m&7)|0,h=g+C|0,l=m-g-C|0,p[g+4>>2]=C|3;t:do if((d|0)==(m|0))ae=(p[5860]|0)+l|0,p[5860]=ae,p[5863]=h,p[h+4>>2]=ae|1;else{if((p[5862]|0)==(m|0)){ae=(p[5859]|0)+l|0,p[5859]=ae,p[5862]=h,p[h+4>>2]=ae|1,p[h+ae>>2]=ae;break}if(_=p[m+4>>2]|0,(_&3|0)==1){D=_&-8,w=_>>>3;r:do if(_>>>0<256)if(_=p[m+8>>2]|0,v=p[m+12>>2]|0,(v|0)==(_|0)){p[5857]=p[5857]&~(1<<w);break}else{p[_+12>>2]=v,p[v+8>>2]=_;break}else{M=p[m+24>>2]|0,_=p[m+12>>2]|0;do if((_|0)==(m|0)){if(v=m+16|0,w=v+4|0,_=p[w>>2]|0,_)v=w;else if(_=p[v>>2]|0,!_){_=0;break}for(;;)if(T=_+20|0,w=p[T>>2]|0,w)_=w,v=T;else if(T=_+16|0,w=p[T>>2]|0,w)_=w,v=T;else break;p[v>>2]=0}else ae=p[m+8>>2]|0,p[ae+12>>2]=_,p[_+8>>2]=ae;while(!1);if(!M)break;v=p[m+28>>2]|0,w=23732+(v<<2)|0;do if((p[w>>2]|0)!=(m|0)){if(ae=M+16|0,p[((p[ae>>2]|0)==(m|0)?ae:M+20|0)>>2]=_,!_)break r}else{if(p[w>>2]=_,_|0)break;p[5858]=p[5858]&~(1<<v);break r}while(!1);if(p[_+24>>2]=M,v=m+16|0,w=p[v>>2]|0,w|0&&(p[_+16>>2]=w,p[w+24>>2]=_),v=p[v+4>>2]|0,!v)break;p[_+20>>2]=v,p[v+24>>2]=_}while(!1);m=m+D|0,T=D+l|0}else T=l;if(m=m+4|0,p[m>>2]=p[m>>2]&-2,p[h+4>>2]=T|1,p[h+T>>2]=T,m=T>>>3,T>>>0<256){v=23468+(m<<1<<2)|0,_=p[5857]|0,m=1<<m,_&m?(_=v+8|0,m=p[_>>2]|0):(p[5857]=_|m,m=v,_=v+8|0),p[_>>2]=h,p[m+12>>2]=h,p[h+8>>2]=m,p[h+12>>2]=v;break}m=T>>>8;do if(!m)w=0;else{if(T>>>0>16777215){w=31;break}re=(m+1048320|0)>>>16&8,ae=m<<re,Z=(ae+520192|0)>>>16&4,ae=ae<<Z,w=(ae+245760|0)>>>16&2,w=14-(Z|re|w)+(ae<<w>>>15)|0,w=T>>>(w+7|0)&1|w<<1}while(!1);if(m=23732+(w<<2)|0,p[h+28>>2]=w,_=h+16|0,p[_+4>>2]=0,p[_>>2]=0,_=p[5858]|0,v=1<<w,!(_&v)){p[5858]=_|v,p[m>>2]=h,p[h+24>>2]=m,p[h+12>>2]=h,p[h+8>>2]=h;break}m=p[m>>2]|0;r:do if((p[m+4>>2]&-8|0)!=(T|0)){for(w=T<<((w|0)==31?0:25-(w>>>1)|0);v=m+16+(w>>>31<<2)|0,_=p[v>>2]|0,!!_;)if((p[_+4>>2]&-8|0)==(T|0)){m=_;break r}else w=w<<1,m=_;p[v>>2]=h,p[h+24>>2]=m,p[h+12>>2]=h,p[h+8>>2]=h;break t}while(!1);re=m+8|0,ae=p[re>>2]|0,p[ae+12>>2]=h,p[re>>2]=h,p[h+8>>2]=ae,p[h+12>>2]=m,p[h+24>>2]=0}while(!1);return ae=g+8|0,Ie=xe,ae|0}for(m=23876;_=p[m>>2]|0,!(_>>>0<=d>>>0&&(ae=_+(p[m+4>>2]|0)|0,ae>>>0>d>>>0));)m=p[m+8>>2]|0;T=ae+-47|0,_=T+8|0,_=T+((_&7|0)==0?0:0-_&7)|0,T=d+16|0,_=_>>>0<T>>>0?d:_,m=_+8|0,v=D+-40|0,Z=M+8|0,Z=(Z&7|0)==0?0:0-Z&7,re=M+Z|0,Z=v-Z|0,p[5863]=re,p[5860]=Z,p[re+4>>2]=Z|1,p[M+v+4>>2]=40,p[5864]=p[5979],v=_+4|0,p[v>>2]=27,p[m>>2]=p[5969],p[m+4>>2]=p[5970],p[m+8>>2]=p[5971],p[m+12>>2]=p[5972],p[5969]=M,p[5970]=D,p[5972]=0,p[5971]=m,m=_+24|0;do re=m,m=m+4|0,p[m>>2]=7;while((re+8|0)>>>0<ae>>>0);if((_|0)!=(d|0)){if(M=_-d|0,p[v>>2]=p[v>>2]&-2,p[d+4>>2]=M|1,p[_>>2]=M,m=M>>>3,M>>>0<256){v=23468+(m<<1<<2)|0,_=p[5857]|0,m=1<<m,_&m?(_=v+8|0,m=p[_>>2]|0):(p[5857]=_|m,m=v,_=v+8|0),p[_>>2]=d,p[m+12>>2]=d,p[d+8>>2]=m,p[d+12>>2]=v;break}if(m=M>>>8,m?M>>>0>16777215?w=31:(re=(m+1048320|0)>>>16&8,ae=m<<re,Z=(ae+520192|0)>>>16&4,ae=ae<<Z,w=(ae+245760|0)>>>16&2,w=14-(Z|re|w)+(ae<<w>>>15)|0,w=M>>>(w+7|0)&1|w<<1):w=0,v=23732+(w<<2)|0,p[d+28>>2]=w,p[d+20>>2]=0,p[T>>2]=0,m=p[5858]|0,_=1<<w,!(m&_)){p[5858]=m|_,p[v>>2]=d,p[d+24>>2]=v,p[d+12>>2]=d,p[d+8>>2]=d;break}m=p[v>>2]|0;t:do if((p[m+4>>2]&-8|0)!=(M|0)){for(w=M<<((w|0)==31?0:25-(w>>>1)|0);v=m+16+(w>>>31<<2)|0,_=p[v>>2]|0,!!_;)if((p[_+4>>2]&-8|0)==(M|0)){m=_;break t}else w=w<<1,m=_;p[v>>2]=d,p[d+24>>2]=m,p[d+12>>2]=d,p[d+8>>2]=d;break e}while(!1);re=m+8|0,ae=p[re>>2]|0,p[ae+12>>2]=d,p[re>>2]=d,p[d+8>>2]=ae,p[d+12>>2]=m,p[d+24>>2]=0}}else ae=p[5861]|0,(ae|0)==0|M>>>0<ae>>>0&&(p[5861]=M),p[5969]=M,p[5970]=D,p[5972]=0,p[5866]=p[5975],p[5865]=-1,p[5870]=23468,p[5869]=23468,p[5872]=23476,p[5871]=23476,p[5874]=23484,p[5873]=23484,p[5876]=23492,p[5875]=23492,p[5878]=23500,p[5877]=23500,p[5880]=23508,p[5879]=23508,p[5882]=23516,p[5881]=23516,p[5884]=23524,p[5883]=23524,p[5886]=23532,p[5885]=23532,p[5888]=23540,p[5887]=23540,p[5890]=23548,p[5889]=23548,p[5892]=23556,p[5891]=23556,p[5894]=23564,p[5893]=23564,p[5896]=23572,p[5895]=23572,p[5898]=23580,p[5897]=23580,p[5900]=23588,p[5899]=23588,p[5902]=23596,p[5901]=23596,p[5904]=23604,p[5903]=23604,p[5906]=23612,p[5905]=23612,p[5908]=23620,p[5907]=23620,p[5910]=23628,p[5909]=23628,p[5912]=23636,p[5911]=23636,p[5914]=23644,p[5913]=23644,p[5916]=23652,p[5915]=23652,p[5918]=23660,p[5917]=23660,p[5920]=23668,p[5919]=23668,p[5922]=23676,p[5921]=23676,p[5924]=23684,p[5923]=23684,p[5926]=23692,p[5925]=23692,p[5928]=23700,p[5927]=23700,p[5930]=23708,p[5929]=23708,p[5932]=23716,p[5931]=23716,ae=D+-40|0,Z=M+8|0,Z=(Z&7|0)==0?0:0-Z&7,re=M+Z|0,Z=ae-Z|0,p[5863]=re,p[5860]=Z,p[re+4>>2]=Z|1,p[M+ae+4>>2]=40,p[5864]=p[5979];while(!1);if(m=p[5860]|0,m>>>0>C>>>0)return Z=m-C|0,p[5860]=Z,ae=p[5863]|0,re=ae+C|0,p[5863]=re,p[re+4>>2]=Z|1,p[ae+4>>2]=C|3,ae=ae+8|0,Ie=xe,ae|0}return ae=hu()|0,p[ae>>2]=12,ae=0,Ie=xe,ae|0}function Dr(_){_=_|0;var m=0,v=0,w=0,T=0,M=0,D=0,l=0,d=0;if(_){v=_+-8|0,T=p[5861]|0,_=p[_+-4>>2]|0,m=_&-8,d=v+m|0;do if(_&1)l=v,D=v;else{if(w=p[v>>2]|0,!(_&3)||(D=v+(0-w)|0,M=w+m|0,D>>>0<T>>>0))return;if((p[5862]|0)==(D|0)){if(_=d+4|0,m=p[_>>2]|0,(m&3|0)!=3){l=D,m=M;break}p[5859]=M,p[_>>2]=m&-2,p[D+4>>2]=M|1,p[D+M>>2]=M;return}if(v=w>>>3,w>>>0<256)if(_=p[D+8>>2]|0,m=p[D+12>>2]|0,(m|0)==(_|0)){p[5857]=p[5857]&~(1<<v),l=D,m=M;break}else{p[_+12>>2]=m,p[m+8>>2]=_,l=D,m=M;break}T=p[D+24>>2]|0,_=p[D+12>>2]|0;do if((_|0)==(D|0)){if(m=D+16|0,v=m+4|0,_=p[v>>2]|0,_)m=v;else if(_=p[m>>2]|0,!_){_=0;break}for(;;)if(w=_+20|0,v=p[w>>2]|0,v)_=v,m=w;else if(w=_+16|0,v=p[w>>2]|0,v)_=v,m=w;else break;p[m>>2]=0}else l=p[D+8>>2]|0,p[l+12>>2]=_,p[_+8>>2]=l;while(!1);if(T){if(m=p[D+28>>2]|0,v=23732+(m<<2)|0,(p[v>>2]|0)==(D|0)){if(p[v>>2]=_,!_){p[5858]=p[5858]&~(1<<m),l=D,m=M;break}}else if(l=T+16|0,p[((p[l>>2]|0)==(D|0)?l:T+20|0)>>2]=_,!_){l=D,m=M;break}p[_+24>>2]=T,m=D+16|0,v=p[m>>2]|0,v|0&&(p[_+16>>2]=v,p[v+24>>2]=_),m=p[m+4>>2]|0,m?(p[_+20>>2]=m,p[m+24>>2]=_,l=D,m=M):(l=D,m=M)}else l=D,m=M}while(!1);if(!(D>>>0>=d>>>0)&&(_=d+4|0,w=p[_>>2]|0,!!(w&1))){if(w&2)p[_>>2]=w&-2,p[l+4>>2]=m|1,p[D+m>>2]=m,T=m;else{if((p[5863]|0)==(d|0)){if(d=(p[5860]|0)+m|0,p[5860]=d,p[5863]=l,p[l+4>>2]=d|1,(l|0)!=(p[5862]|0))return;p[5862]=0,p[5859]=0;return}if((p[5862]|0)==(d|0)){d=(p[5859]|0)+m|0,p[5859]=d,p[5862]=D,p[l+4>>2]=d|1,p[D+d>>2]=d;return}T=(w&-8)+m|0,v=w>>>3;do if(w>>>0<256)if(m=p[d+8>>2]|0,_=p[d+12>>2]|0,(_|0)==(m|0)){p[5857]=p[5857]&~(1<<v);break}else{p[m+12>>2]=_,p[_+8>>2]=m;break}else{M=p[d+24>>2]|0,_=p[d+12>>2]|0;do if((_|0)==(d|0)){if(m=d+16|0,v=m+4|0,_=p[v>>2]|0,_)m=v;else if(_=p[m>>2]|0,!_){v=0;break}for(;;)if(w=_+20|0,v=p[w>>2]|0,v)_=v,m=w;else if(w=_+16|0,v=p[w>>2]|0,v)_=v,m=w;else break;p[m>>2]=0,v=_}else v=p[d+8>>2]|0,p[v+12>>2]=_,p[_+8>>2]=v,v=_;while(!1);if(M|0){if(_=p[d+28>>2]|0,m=23732+(_<<2)|0,(p[m>>2]|0)==(d|0)){if(p[m>>2]=v,!v){p[5858]=p[5858]&~(1<<_);break}}else if(w=M+16|0,p[((p[w>>2]|0)==(d|0)?w:M+20|0)>>2]=v,!v)break;p[v+24>>2]=M,_=d+16|0,m=p[_>>2]|0,m|0&&(p[v+16>>2]=m,p[m+24>>2]=v),_=p[_+4>>2]|0,_|0&&(p[v+20>>2]=_,p[_+24>>2]=v)}}while(!1);if(p[l+4>>2]=T|1,p[D+T>>2]=T,(l|0)==(p[5862]|0)){p[5859]=T;return}}if(_=T>>>3,T>>>0<256){v=23468+(_<<1<<2)|0,m=p[5857]|0,_=1<<_,m&_?(m=v+8|0,_=p[m>>2]|0):(p[5857]=m|_,_=v,m=v+8|0),p[m>>2]=l,p[_+12>>2]=l,p[l+8>>2]=_,p[l+12>>2]=v;return}_=T>>>8,_?T>>>0>16777215?w=31:(D=(_+1048320|0)>>>16&8,d=_<<D,M=(d+520192|0)>>>16&4,d=d<<M,w=(d+245760|0)>>>16&2,w=14-(M|D|w)+(d<<w>>>15)|0,w=T>>>(w+7|0)&1|w<<1):w=0,_=23732+(w<<2)|0,p[l+28>>2]=w,p[l+20>>2]=0,p[l+16>>2]=0,m=p[5858]|0,v=1<<w;e:do if(!(m&v))p[5858]=m|v,p[_>>2]=l,p[l+24>>2]=_,p[l+12>>2]=l,p[l+8>>2]=l;else{_=p[_>>2]|0;t:do if((p[_+4>>2]&-8|0)!=(T|0)){for(w=T<<((w|0)==31?0:25-(w>>>1)|0);v=_+16+(w>>>31<<2)|0,m=p[v>>2]|0,!!m;)if((p[m+4>>2]&-8|0)==(T|0)){_=m;break t}else w=w<<1,_=m;p[v>>2]=l,p[l+24>>2]=_,p[l+12>>2]=l,p[l+8>>2]=l;break e}while(!1);D=_+8|0,d=p[D>>2]|0,p[d+12>>2]=l,p[D>>2]=l,p[l+8>>2]=d,p[l+12>>2]=_,p[l+24>>2]=0}while(!1);if(d=(p[5865]|0)+-1|0,p[5865]=d,!(d|0)){for(_=23884;_=p[_>>2]|0,_;)_=_+8|0;p[5865]=-1}}}}function eo(_,m){_=_|0,m=m|0;var v=0;return _?(v=Gr(m,_)|0,(m|_)>>>0>65535&&(v=((v>>>0)/(_>>>0)|0|0)==(m|0)?v:-1)):v=0,_=Vn(v)|0,!_||!(p[_+-4>>2]&3)||Ko(_|0,0,v|0)|0,_|0}function cn(_,m,v,w){return _=_|0,m=m|0,v=v|0,w=w|0,v=_+v>>>0,fr(m+w+(v>>>0<_>>>0|0)>>>0|0),v|0|0}function Hr(_,m,v,w){return _=_|0,m=m|0,v=v|0,w=w|0,w=m-w-(v>>>0>_>>>0|0)>>>0,fr(w|0),_-v>>>0|0|0}function Mi(_){return _=_|0,(_?31-(Vr(_^_-1)|0)|0:32)|0}function du(_,m,v,w,T){_=_|0,m=m|0,v=v|0,w=w|0,T=T|0;var M=0,D=0,l=0,d=0,h=0,g=0,C=0,P=0,R=0,L=0;if(g=_,d=m,h=d,D=v,P=w,l=P,!h)return M=(T|0)!=0,l?M?(p[T>>2]=_|0,p[T+4>>2]=m&0,P=0,T=0,fr(P|0),T|0):(P=0,T=0,fr(P|0),T|0):(M&&(p[T>>2]=(g>>>0)%(D>>>0),p[T+4>>2]=0),P=0,T=(g>>>0)/(D>>>0)>>>0,fr(P|0),T|0);M=(l|0)==0;do if(D){if(!M){if(M=(Vr(l|0)|0)-(Vr(h|0)|0)|0,M>>>0<=31){C=M+1|0,l=31-M|0,m=M-31>>31,D=C,_=g>>>(C>>>0)&m|h<<l,m=h>>>(C>>>0)&m,M=0,l=g<<l;break}return T?(p[T>>2]=_|0,p[T+4>>2]=d|m&0,P=0,T=0,fr(P|0),T|0):(P=0,T=0,fr(P|0),T|0)}if(M=D-1|0,M&D|0){l=(Vr(D|0)|0)+33-(Vr(h|0)|0)|0,L=64-l|0,C=32-l|0,d=C>>31,R=l-32|0,m=R>>31,D=l,_=C-1>>31&h>>>(R>>>0)|(h<<C|g>>>(l>>>0))&m,m=m&h>>>(l>>>0),M=g<<L&d,l=(h<<L|g>>>(R>>>0))&d|g<<C&l-33>>31;break}return T|0&&(p[T>>2]=M&g,p[T+4>>2]=0),(D|0)==1?(R=d|m&0,L=_|0|0,fr(R|0),L|0):(L=Mi(D|0)|0,R=h>>>(L>>>0)|0,L=h<<32-L|g>>>(L>>>0)|0,fr(R|0),L|0)}else{if(M)return T|0&&(p[T>>2]=(h>>>0)%(D>>>0),p[T+4>>2]=0),R=0,L=(h>>>0)/(D>>>0)>>>0,fr(R|0),L|0;if(!g)return T|0&&(p[T>>2]=0,p[T+4>>2]=(h>>>0)%(l>>>0)),R=0,L=(h>>>0)/(l>>>0)>>>0,fr(R|0),L|0;if(M=l-1|0,!(M&l))return T|0&&(p[T>>2]=_|0,p[T+4>>2]=M&h|m&0),R=0,L=h>>>((Mi(l|0)|0)>>>0),fr(R|0),L|0;if(M=(Vr(l|0)|0)-(Vr(h|0)|0)|0,M>>>0<=30){m=M+1|0,l=31-M|0,D=m,_=h<<l|g>>>(m>>>0),m=h>>>(m>>>0),M=0,l=g<<l;break}return T?(p[T>>2]=_|0,p[T+4>>2]=d|m&0,R=0,L=0,fr(R|0),L|0):(R=0,L=0,fr(R|0),L|0)}while(!1);if(!D)h=l,d=0,l=0;else{C=v|0|0,g=P|w&0,h=cn(C|0,g|0,-1,-1)|0,v=Me()|0,d=l,l=0;do w=d,d=M>>>31|d<<1,M=l|M<<1,w=_<<1|w>>>31|0,P=_>>>31|m<<1|0,Hr(h|0,v|0,w|0,P|0)|0,L=Me()|0,R=L>>31|((L|0)<0?-1:0)<<1,l=R&1,_=Hr(w|0,P|0,R&C|0,(((L|0)<0?-1:0)>>31|((L|0)<0?-1:0)<<1)&g|0)|0,m=Me()|0,D=D-1|0;while((D|0)!=0);h=d,d=0}return D=0,T|0&&(p[T>>2]=_,p[T+4>>2]=m),R=(M|0)>>>31|(h|D)<<1|(D<<1|M>>>31)&0|d,L=(M<<1|0)&-2|l,fr(R|0),L|0}function Ns(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0;return h=m>>31|((m|0)<0?-1:0)<<1,d=((m|0)<0?-1:0)>>31|((m|0)<0?-1:0)<<1,M=w>>31|((w|0)<0?-1:0)<<1,T=((w|0)<0?-1:0)>>31|((w|0)<0?-1:0)<<1,l=Hr(h^_|0,d^m|0,h|0,d|0)|0,D=Me()|0,_=M^h,m=T^d,Hr((du(l,D,Hr(M^v|0,T^w|0,M|0,T|0)|0,Me()|0,0)|0)^_|0,(Me()|0)^m|0,_|0,m|0)|0}function _f(_,m){_=_|0,m=m|0;var v=0,w=0,T=0,M=0;return M=_&65535,T=m&65535,v=Gr(T,M)|0,w=_>>>16,_=(v>>>16)+(Gr(T,w)|0)|0,T=m>>>16,m=Gr(T,M)|0,fr((_>>>16)+(Gr(T,w)|0)+(((_&65535)+m|0)>>>16)|0),_+m<<16|v&65535|0|0}function si(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0;return T=_,M=v,v=_f(T,M)|0,_=Me()|0,fr((Gr(m,M)|0)+(Gr(w,T)|0)+_|_&0|0),v|0|0|0}function Zi(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0,D=0,l=0,d=0,h=0;return T=Ie,Ie=Ie+16|0,l=T|0,D=m>>31|((m|0)<0?-1:0)<<1,M=((m|0)<0?-1:0)>>31|((m|0)<0?-1:0)<<1,h=w>>31|((w|0)<0?-1:0)<<1,d=((w|0)<0?-1:0)>>31|((w|0)<0?-1:0)<<1,_=Hr(D^_|0,M^m|0,D|0,M|0)|0,m=Me()|0,du(_,m,Hr(h^v|0,d^w|0,h|0,d|0)|0,Me()|0,l)|0,w=Hr(p[l>>2]^D|0,p[l+4>>2]^M|0,D|0,M|0)|0,v=Me()|0,Ie=T,fr(v|0),w|0}function mo(_,m,v,w){_=_|0,m=m|0,v=v|0,w=w|0;var T=0,M=0;return M=Ie,Ie=Ie+16|0,T=M|0,du(_,m,v,w,T)|0,Ie=M,fr(p[T+4>>2]|0),p[T>>2]|0|0}function _o(_,m,v){return _=_|0,m=m|0,v=v|0,(v|0)<32?(fr(m>>v|0),_>>>v|(m&(1<<v)-1)<<32-v):(fr(((m|0)<0?-1:0)|0),m>>v-32|0)}function jt(_,m,v){return _=_|0,m=m|0,v=v|0,(v|0)<32?(fr(m>>>v|0),_>>>v|(m&(1<<v)-1)<<32-v):(fr(0),m>>>v-32|0)}function Zt(_,m,v){return _=_|0,m=m|0,v=v|0,(v|0)<32?(fr(m<<v|(_&(1<<v)-1<<32-v)>>>32-v|0),_<<v):(fr(_<<v-32|0),0)}function Rc(_,m){return _=+_,m=+m,_!=_?+m:m!=m?+_:+fi(+_,+m)}function xl(_,m){return _=+_,m=+m,_!=_?+m:m!=m?+_:+Lr(+_,+m)}function Xo(_){return _=+_,_>=0?+Ct(_+.5):+zr(_-.5)}function Eo(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0;if((v|0)>=8192)return aa(_|0,m|0,v|0)|0,_|0;if(M=_|0,T=_+v|0,(_&3)==(m&3)){for(;_&3;){if(!v)return M|0;Se[_>>0]=Se[m>>0]|0,_=_+1|0,m=m+1|0,v=v-1|0}for(v=T&-4|0,w=v-64|0;(_|0)<=(w|0);)p[_>>2]=p[m>>2],p[_+4>>2]=p[m+4>>2],p[_+8>>2]=p[m+8>>2],p[_+12>>2]=p[m+12>>2],p[_+16>>2]=p[m+16>>2],p[_+20>>2]=p[m+20>>2],p[_+24>>2]=p[m+24>>2],p[_+28>>2]=p[m+28>>2],p[_+32>>2]=p[m+32>>2],p[_+36>>2]=p[m+36>>2],p[_+40>>2]=p[m+40>>2],p[_+44>>2]=p[m+44>>2],p[_+48>>2]=p[m+48>>2],p[_+52>>2]=p[m+52>>2],p[_+56>>2]=p[m+56>>2],p[_+60>>2]=p[m+60>>2],_=_+64|0,m=m+64|0;for(;(_|0)<(v|0);)p[_>>2]=p[m>>2],_=_+4|0,m=m+4|0}else for(v=T-4|0;(_|0)<(v|0);)Se[_>>0]=Se[m>>0]|0,Se[_+1>>0]=Se[m+1>>0]|0,Se[_+2>>0]=Se[m+2>>0]|0,Se[_+3>>0]=Se[m+3>>0]|0,_=_+4|0,m=m+4|0;for(;(_|0)<(T|0);)Se[_>>0]=Se[m>>0]|0,_=_+1|0,m=m+1|0;return M|0}function Ko(_,m,v){_=_|0,m=m|0,v=v|0;var w=0,T=0,M=0,D=0;if(M=_+v|0,m=m&255,(v|0)>=67){for(;_&3;)Se[_>>0]=m,_=_+1|0;for(w=M&-4|0,D=m|m<<8|m<<16|m<<24,T=w-64|0;(_|0)<=(T|0);)p[_>>2]=D,p[_+4>>2]=D,p[_+8>>2]=D,p[_+12>>2]=D,p[_+16>>2]=D,p[_+20>>2]=D,p[_+24>>2]=D,p[_+28>>2]=D,p[_+32>>2]=D,p[_+36>>2]=D,p[_+40>>2]=D,p[_+44>>2]=D,p[_+48>>2]=D,p[_+52>>2]=D,p[_+56>>2]=D,p[_+60>>2]=D,_=_+64|0;for(;(_|0)<(w|0);)p[_>>2]=D,_=_+4|0}for(;(_|0)<(M|0);)Se[_>>0]=m,_=_+1|0;return M-v|0}function qo(_){return _=+_,_>=0?+Ct(_+.5):+zr(_-.5)}function hs(_){_=_|0;var m=0,v=0,w=0;return w=ki()|0,v=p[Ke>>2]|0,m=v+_|0,(_|0)>0&(m|0)<(v|0)|(m|0)<0?(Un(m|0)|0,Xr(12),-1):(m|0)>(w|0)&&!(ti(m|0)|0)?(Xr(12),-1):(p[Ke>>2]=m,v|0)}return{___divdi3:Ns,___muldi3:si,___remdi3:Zi,___uremdi3:mo,_areNeighborCells:Aa,_bitshift64Ashr:_o,_bitshift64Lshr:jt,_bitshift64Shl:Zt,_calloc:eo,_cellAreaKm2:Rn,_cellAreaM2:Os,_cellAreaRads2:nn,_cellToBoundary:Ec,_cellToCenterChild:VA,_cellToChildPos:iu,_cellToChildren:Pn,_cellToChildrenSize:Al,_cellToLatLng:Cc,_cellToLocalIj:Ph,_cellToParent:Ho,_cellToVertex:Nr,_cellToVertexes:Co,_cellsToDirectedEdge:La,_cellsToLinkedMultiPolygon:gr,_childPosToCell:jA,_compactCells:xc,_destroyLinkedMultiPolygon:Ic,_directedEdgeToBoundary:Yl,_directedEdgeToCells:wh,_edgeLengthKm:Sc,_edgeLengthM:yl,_edgeLengthRads:_l,_emscripten_replace_memory:Lo,_free:Dr,_getBaseCellNumber:uf,_getDirectedEdgeDestination:pa,_getDirectedEdgeOrigin:Na,_getHexagonAreaAvgKm2:Mh,_getHexagonAreaAvgM2:$a,_getHexagonEdgeLengthAvgKm:Gn,_getHexagonEdgeLengthAvgM:au,_getIcosahedronFaces:Tc,_getNumCells:jo,_getPentagons:pl,_getRes0Cells:bh,_getResolution:ka,_greatCircleDistanceKm:ja,_greatCircleDistanceM:ff,_greatCircleDistanceRads:ou,_gridDisk:Bn,_gridDiskDistances:us,_gridDistance:nr,_gridPathCells:cu,_gridPathCellsSize:vs,_gridRingUnsafe:be,_i64Add:cn,_i64Subtract:Hr,_isPentagon:Sn,_isResClassIII:Ih,_isValidCell:Vo,_isValidDirectedEdge:xh,_isValidVertex:Gi,_latLngToCell:za,_llvm_maxnum_f64:Rc,_llvm_minnum_f64:xl,_llvm_round_f64:Xo,_localIjToCell:mi,_malloc:Vn,_maxFaceCount:Va,_maxGridDiskSize:xi,_maxPolygonToCellsSize:Re,_memcpy:Eo,_memset:Ko,_originToDirectedEdges:Cn,_pentagonCount:nu,_polygonToCells:At,_readInt64AsDoubleFromPointer:xs,_res0CellCount:ul,_round:qo,_sbrk:hs,_sizeOfCellBoundary:pf,_sizeOfCoordIJ:fu,_sizeOfGeoLoop:Ys,_sizeOfGeoPolygon:bs,_sizeOfH3Index:Af,_sizeOfLatLng:lu,_sizeOfLinkedGeoPolygon:uu,_uncompactCells:Sh,_uncompactCellsSize:HA,_vertexToLatLng:Zs,establishStackSpace:ri,stackAlloc:zn,stackRestore:Si,stackSave:No}}(ge,kt,Ae);e.___divdi3=wt.___divdi3,e.___muldi3=wt.___muldi3,e.___remdi3=wt.___remdi3,e.___uremdi3=wt.___uremdi3,e._areNeighborCells=wt._areNeighborCells,e._bitshift64Ashr=wt._bitshift64Ashr,e._bitshift64Lshr=wt._bitshift64Lshr,e._bitshift64Shl=wt._bitshift64Shl,e._calloc=wt._calloc,e._cellAreaKm2=wt._cellAreaKm2,e._cellAreaM2=wt._cellAreaM2,e._cellAreaRads2=wt._cellAreaRads2,e._cellToBoundary=wt._cellToBoundary,e._cellToCenterChild=wt._cellToCenterChild,e._cellToChildPos=wt._cellToChildPos,e._cellToChildren=wt._cellToChildren,e._cellToChildrenSize=wt._cellToChildrenSize,e._cellToLatLng=wt._cellToLatLng,e._cellToLocalIj=wt._cellToLocalIj,e._cellToParent=wt._cellToParent,e._cellToVertex=wt._cellToVertex,e._cellToVertexes=wt._cellToVertexes,e._cellsToDirectedEdge=wt._cellsToDirectedEdge,e._cellsToLinkedMultiPolygon=wt._cellsToLinkedMultiPolygon,e._childPosToCell=wt._childPosToCell,e._compactCells=wt._compactCells,e._destroyLinkedMultiPolygon=wt._destroyLinkedMultiPolygon,e._directedEdgeToBoundary=wt._directedEdgeToBoundary,e._directedEdgeToCells=wt._directedEdgeToCells,e._edgeLengthKm=wt._edgeLengthKm,e._edgeLengthM=wt._edgeLengthM,e._edgeLengthRads=wt._edgeLengthRads;var $=e._emscripten_replace_memory=wt._emscripten_replace_memory;e._free=wt._free,e._getBaseCellNumber=wt._getBaseCellNumber,e._getDirectedEdgeDestination=wt._getDirectedEdgeDestination,e._getDirectedEdgeOrigin=wt._getDirectedEdgeOrigin,e._getHexagonAreaAvgKm2=wt._getHexagonAreaAvgKm2,e._getHexagonAreaAvgM2=wt._getHexagonAreaAvgM2,e._getHexagonEdgeLengthAvgKm=wt._getHexagonEdgeLengthAvgKm,e._getHexagonEdgeLengthAvgM=wt._getHexagonEdgeLengthAvgM,e._getIcosahedronFaces=wt._getIcosahedronFaces,e._getNumCells=wt._getNumCells,e._getPentagons=wt._getPentagons,e._getRes0Cells=wt._getRes0Cells,e._getResolution=wt._getResolution,e._greatCircleDistanceKm=wt._greatCircleDistanceKm,e._greatCircleDistanceM=wt._greatCircleDistanceM,e._greatCircleDistanceRads=wt._greatCircleDistanceRads,e._gridDisk=wt._gridDisk,e._gridDiskDistances=wt._gridDiskDistances,e._gridDistance=wt._gridDistance,e._gridPathCells=wt._gridPathCells,e._gridPathCellsSize=wt._gridPathCellsSize,e._gridRingUnsafe=wt._gridRingUnsafe,e._i64Add=wt._i64Add,e._i64Subtract=wt._i64Subtract,e._isPentagon=wt._isPentagon,e._isResClassIII=wt._isResClassIII,e._isValidCell=wt._isValidCell,e._isValidDirectedEdge=wt._isValidDirectedEdge,e._isValidVertex=wt._isValidVertex,e._latLngToCell=wt._latLngToCell,e._llvm_maxnum_f64=wt._llvm_maxnum_f64,e._llvm_minnum_f64=wt._llvm_minnum_f64,e._llvm_round_f64=wt._llvm_round_f64,e._localIjToCell=wt._localIjToCell,e._malloc=wt._malloc,e._maxFaceCount=wt._maxFaceCount,e._maxGridDiskSize=wt._maxGridDiskSize,e._maxPolygonToCellsSize=wt._maxPolygonToCellsSize,e._memcpy=wt._memcpy,e._memset=wt._memset,e._originToDirectedEdges=wt._originToDirectedEdges,e._pentagonCount=wt._pentagonCount,e._polygonToCells=wt._polygonToCells,e._readInt64AsDoubleFromPointer=wt._readInt64AsDoubleFromPointer,e._res0CellCount=wt._res0CellCount,e._round=wt._round,e._sbrk=wt._sbrk,e._sizeOfCellBoundary=wt._sizeOfCellBoundary,e._sizeOfCoordIJ=wt._sizeOfCoordIJ,e._sizeOfGeoLoop=wt._sizeOfGeoLoop,e._sizeOfGeoPolygon=wt._sizeOfGeoPolygon,e._sizeOfH3Index=wt._sizeOfH3Index,e._sizeOfLatLng=wt._sizeOfLatLng,e._sizeOfLinkedGeoPolygon=wt._sizeOfLinkedGeoPolygon,e._uncompactCells=wt._uncompactCells,e._uncompactCellsSize=wt._uncompactCellsSize,e._vertexToLatLng=wt._vertexToLatLng,e.establishStackSpace=wt.establishStackSpace;var yt=e.stackAlloc=wt.stackAlloc,Et=e.stackRestore=wt.stackRestore,Ee=e.stackSave=wt.stackSave;if(e.asm=wt,e.cwrap=K,e.setValue=O,e.getValue=k,un){kn(un)||(un=o(un));{ei();var Je=function(de){de.byteLength&&(de=new Uint8Array(de)),ne.set(de,S),e.memoryInitializerRequest&&delete e.memoryInitializerRequest.response,$n()},ct=function(){s(un,Je,function(){throw"could not load memory initializer "+un})},Y=Mt(un);if(Y)Je(Y.buffer);else if(e.memoryInitializerRequest){var ie=function(){var de=e.memoryInitializerRequest,ve=de.response;if(de.status!==200&&de.status!==0){var ce=Mt(e.memoryInitializerRequestURL);if(ce)ve=ce.buffer;else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+de.status+", retrying "+un),ct();return}}Je(ve)};e.memoryInitializerRequest.response?setTimeout(ie,0):e.memoryInitializerRequest.addEventListener("load",ie)}else ct()}}var ue;Sr=function de(){ue||ye(),ue||(Sr=de)};function ye(de){if(rn>0||(Xt(),rn>0))return;function ve(){ue||(ue=!0,!z&&($t(),Lt(),e.onRuntimeInitialized&&e.onRuntimeInitialized(),lr()))}e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),ve()},1)):ve()}e.run=ye;function Oe(de){throw e.onAbort&&e.onAbort(de),de+="",c(de),f(de),z=!0,"abort("+de+"). Build with -s ASSERTIONS=1 for more info."}if(e.abort=Oe,e.preInit)for(typeof e.preInit=="function"&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();return ye(),r}(typeof Rr=="object"?Rr:{}),fn="number",Qr=fn,Cp=fn,on=fn,an=fn,so=fn,Br=fn,yde=[["sizeOfH3Index",fn],["sizeOfLatLng",fn],["sizeOfCellBoundary",fn],["sizeOfGeoLoop",fn],["sizeOfGeoPolygon",fn],["sizeOfLinkedGeoPolygon",fn],["sizeOfCoordIJ",fn],["readInt64AsDoubleFromPointer",fn],["isValidCell",Cp,[on,an]],["latLngToCell",Qr,[fn,fn,so,Br]],["cellToLatLng",Qr,[on,an,Br]],["cellToBoundary",Qr,[on,an,Br]],["maxGridDiskSize",Qr,[fn,Br]],["gridDisk",Qr,[on,an,fn,Br]],["gridDiskDistances",Qr,[on,an,fn,Br,Br]],["gridRingUnsafe",Qr,[on,an,fn,Br]],["maxPolygonToCellsSize",Qr,[Br,so,fn,Br]],["polygonToCells",Qr,[Br,so,fn,Br]],["cellsToLinkedMultiPolygon",Qr,[Br,fn,Br]],["destroyLinkedMultiPolygon",null,[Br]],["compactCells",Qr,[Br,Br,fn,fn]],["uncompactCells",Qr,[Br,fn,fn,Br,fn,so]],["uncompactCellsSize",Qr,[Br,fn,fn,so,Br]],["isPentagon",Cp,[on,an]],["isResClassIII",Cp,[on,an]],["getBaseCellNumber",fn,[on,an]],["getResolution",fn,[on,an]],["maxFaceCount",Qr,[on,an,Br]],["getIcosahedronFaces",Qr,[on,an,Br]],["cellToParent",Qr,[on,an,so,Br]],["cellToChildren",Qr,[on,an,so,Br]],["cellToCenterChild",Qr,[on,an,so,Br]],["cellToChildrenSize",Qr,[on,an,so,Br]],["cellToChildPos",Qr,[on,an,so,Br]],["childPosToCell",Qr,[fn,fn,on,an,so,Br]],["areNeighborCells",Qr,[on,an,on,an,Br]],["cellsToDirectedEdge",Qr,[on,an,on,an,Br]],["getDirectedEdgeOrigin",Qr,[on,an,Br]],["getDirectedEdgeDestination",Qr,[on,an,Br]],["isValidDirectedEdge",Cp,[on,an]],["directedEdgeToCells",Qr,[on,an,Br]],["originToDirectedEdges",Qr,[on,an,Br]],["directedEdgeToBoundary",Qr,[on,an,Br]],["gridDistance",Qr,[on,an,on,an,Br]],["gridPathCells",Qr,[on,an,on,an,Br]],["gridPathCellsSize",Qr,[on,an,on,an,Br]],["cellToLocalIj",Qr,[on,an,on,an,fn,Br]],["localIjToCell",Qr,[on,an,Br,fn,Br]],["getHexagonAreaAvgM2",Qr,[so,Br]],["getHexagonAreaAvgKm2",Qr,[so,Br]],["getHexagonEdgeLengthAvgM",Qr,[so,Br]],["getHexagonEdgeLengthAvgKm",Qr,[so,Br]],["greatCircleDistanceM",fn,[Br,Br]],["greatCircleDistanceKm",fn,[Br,Br]],["greatCircleDistanceRads",fn,[Br,Br]],["cellAreaM2",Qr,[on,an,Br]],["cellAreaKm2",Qr,[on,an,Br]],["cellAreaRads2",Qr,[on,an,Br]],["edgeLengthM",Qr,[on,an,Br]],["edgeLengthKm",Qr,[on,an,Br]],["edgeLengthRads",Qr,[on,an,Br]],["getNumCells",Qr,[so,Br]],["getRes0Cells",Qr,[Br]],["res0CellCount",fn],["getPentagons",Qr,[fn,Br]],["pentagonCount",fn],["cellToVertex",Qr,[on,an,fn,Br]],["cellToVertexes",Qr,[on,an,Br]],["vertexToLatLng",Qr,[on,an,Br]],["isValidVertex",Cp,[on,an]]],vde=0,bde=1,xde=2,wde=3,O8=4,Cde=5,Ede=6,Tde=7,Bde=8,Sde=9,Ide=10,Mde=11,Pde=12,Rde=13,Fde=14,Dde=15,Ws={};Ws[vde]="Success";Ws[bde]="The operation failed but a more specific error is not available";Ws[xde]="Argument was outside of acceptable range";Ws[wde]="Latitude or longitude arguments were outside of acceptable range";Ws[O8]="Resolution argument was outside of acceptable range";Ws[Cde]="Cell argument was not valid";Ws[Ede]="Directed edge argument was not valid";Ws[Tde]="Undirected edge argument was not valid";Ws[Bde]="Vertex argument was not valid";Ws[Sde]="Pentagon distortion was encountered";Ws[Ide]="Duplicate input";Ws[Mde]="Cell arguments were not neighbors";Ws[Pde]="Cell arguments had incompatible resolutions";Ws[Rde]="Memory allocation failed";Ws[Fde]="Bounds of provided memory were insufficient";Ws[Dde]="Mode or flags argument was not valid";var CC=1e3,L8=1001,N8=1002,Fy={};Fy[CC]="Unknown unit";Fy[L8]="Array length out of bounds";Fy[N8]="Got unexpected null value for H3 index";var Ode="Unknown error";function k8(r,e,t){var n=t&&"value"in t,i=new Error((r[e]||Ode)+" (code: "+e+(n?", value: "+t.value:"")+")");return i.code=e,i}function U8(r,e){var t=arguments.length===2?{value:e}:{};return k8(Ws,r,t)}function Dy(r,e){var t=arguments.length===2?{value:e}:{};return k8(Fy,r,t)}function lo(r){if(r!==0)throw U8(r)}var Zn={};yde.forEach(function(e){Zn[e[0]]=Rr.cwrap.apply(Rr,e)});var eA=16,BA=4,HP=4,nl=8,EC=8,Wu=Zn.sizeOfH3Index(),TC=Zn.sizeOfLatLng(),Lde=Zn.sizeOfCellBoundary(),Nde=Zn.sizeOfGeoPolygon(),Zp=Zn.sizeOfGeoLoop(),kde=Zn.sizeOfLinkedGeoPolygon();Zn.sizeOfCoordIJ();var dA={m:"m",m2:"m2",km:"km",km2:"km2",rads:"rads",rads2:"rads2"};function z8(r){if(typeof r!="number"||r<0||r>15||Math.floor(r)!==r)throw U8(O8,r);return r}function G8(r){if(!r)throw Dy(N8);return r}var Ude=Math.pow(2,32)-1;function V8(r){if(r>Ude)throw Dy(L8,r);return r}var zde=/[^0-9a-fA-F]/;function gc(r){if(Array.isArray(r)&&r.length===2&&Number.isInteger(r[0])&&Number.isInteger(r[1]))return r;if(typeof r!="string"||zde.test(r))return[0,0];var e=parseInt(r.substring(0,r.length-8),eA),t=parseInt(r.substring(r.length-8),eA);return[t,e]}function jP(r){if(r>=0)return r.toString(eA);r=r&2147483647;var e=H8(8,r.toString(eA)),t=(parseInt(e[0],eA)+8).toString(eA);return e=t+e.substring(1),e}function Gde(r,e){return jP(e)+H8(8,jP(r))}function H8(r,e){for(var t=r-e.length,n="",i=0;i<t;i++)n+="0";return n=n+e,n}function $P(r,e,t){for(var n=r.length,i=Rr._calloc(n,TC),o=t?1:0,s=t?0:1,c=0;c<n*2;c+=2)Rr.HEAPF64.set([r[c/2][o],r[c/2][s]].map(X8),i/nl+c);return Rr.HEAPU32.set([n,i],e/BA),e}function Vde(r,e){var t=r.length-1,n=Rr._calloc(Nde),i=0,o=i+Zp,s=o+BA;$P(r[0],n+i,e);var c;if(t>0){c=Rr._calloc(t,Zp);for(var f=0;f<t;f++)$P(r[f+1],c+Zp*f,e)}return Rr.setValue(n+o,t,"i32"),Rr.setValue(n+s,c,"i32"),n}function Hde(r){var e=0,t=e+Zp,n=t+BA,i=BA;Rr._free(Rr.getValue(r+e+i,"i8*"));var o=Rr.getValue(r+t,"i32");if(o>0){for(var s=Rr.getValue(r+n,"i32"),c=0;c<o;c++)Rr._free(Rr.getValue(s+Zp*c+i,"i8*"));Rr._free(s)}Rr._free(r)}function BC(r,e){e===void 0&&(e=0);var t=Rr.getValue(r+Wu*e,"i32"),n=Rr.getValue(r+Wu*e+BA,"i32");return n?Gde(t,n):null}function j8(r,e){return e===void 0&&(e=0),Rr.getValue(r+nl*e,"double")}function SC(r){return Zn.readInt64AsDoubleFromPointer(r)}function jde(r,e,t){Rr.HEAPU32.set(gc(r),e/BA+2*t)}function IC(r,e){for(var t=[],n=0;n<e;n++){var i=BC(r,n);i!==null&&t.push(i)}return t}function $de(r,e){for(var t=e.length,n=0;n<t;n++)jde(e[n],r,n)}function M_(r){return nAe(Rr.getValue(r,"double"))}function $8(r){return[M_(r),M_(r+nl)]}function W8(r){return[M_(r+nl),M_(r)]}function Wde(r,e,t){for(var n=Rr.getValue(r,"i32"),i=r+nl,o=[],s=e?W8:$8,c=0;c<n*2;c+=2)o.push(s(i+nl*c));return t&&o.push(o[0]),o}function Jde(r,e){for(var t=[],n=W8,i,o,s,c;r;){for(t.push(i=[]),o=Rr.getValue(r,"i8*");o;){for(i.push(s=[]),c=Rr.getValue(o,"i8*");c;)s.push(n(c)),c=Rr.getValue(c+nl*2,"i8*");s.push(s[0]),o=Rr.getValue(o+HP*2,"i8*")}r=Rr.getValue(r+HP*2,"i8*")}return t}function Xde(r){var e=gc(r),t=e[0],n=e[1];return!!Zn.isPentagon(t,n)}function Tx(r){var e=gc(r),t=e[0],n=e[1];return Zn.isValidCell(t,n)?Zn.getResolution(t,n):-1}function MC(r,e,t){var n=Rr._malloc(TC);Rr.HEAPF64.set([r,e].map(X8),n/nl);var i=Rr._malloc(Wu);try{return lo(Zn.latLngToCell(n,t,i)),G8(BC(i))}finally{Rr._free(i),Rr._free(n)}}function PC(r){var e=Rr._malloc(TC),t=gc(r),n=t[0],i=t[1];try{return lo(Zn.cellToLatLng(n,i,e)),$8(e)}finally{Rr._free(e)}}function J8(r,e){var t=Rr._malloc(Lde),n=gc(r),i=n[0],o=n[1];try{return lo(Zn.cellToBoundary(i,o,t)),Wde(t,e,e)}finally{Rr._free(t)}}function Kde(r,e){var t=gc(r),n=t[0],i=t[1],o=Rr._malloc(Wu);try{return lo(Zn.cellToParent(n,i,e,o)),G8(BC(o))}finally{Rr._free(o)}}function qde(r,e){var t=gc(r),n=t[0],i=t[1],o=Rr._malloc(EC);try{lo(Zn.maxGridDiskSize(e,o));var s=V8(SC(o)),c=Rr._calloc(s,Wu);try{return lo(Zn.gridDisk(n,i,e,c)),IC(c,s)}finally{Rr._free(c)}}finally{Rr._free(o)}}function Yde(r,e,t){if(z8(e),t=!!t,r.length===0||r[0].length===0)return[];var n=typeof r[0][0]=="number"?[r]:r,i=Vde(n,t),o=Rr._malloc(EC);try{lo(Zn.maxPolygonToCellsSize(i,e,0,o));var s=V8(SC(o)),c=Rr._calloc(s,Wu);try{return lo(Zn.polygonToCells(i,e,0,c)),IC(c,s)}finally{Rr._free(c)}}finally{Rr._free(o),Hde(i)}}function Zde(r,e){if(!r||!r.length)return[];var t=r.length,n=Rr._calloc(t,Wu);$de(n,r);var i=Rr._calloc(kde);try{return lo(Zn.cellsToLinkedMultiPolygon(n,t,i)),Jde(i,e)}finally{Zn.destroyLinkedMultiPolygon(i),Rr._free(i),Rr._free(n)}}function Qde(r){var e=gc(r),t=e[0],n=e[1],i=6,o=Rr._calloc(i,Wu);try{return lo(Zn.originToDirectedEdges(t,n,o)),IC(o,i)}finally{Rr._free(o)}}function eAe(r,e){var t=gc(r),n=t[0],i=t[1],o=gc(e),s=o[0],c=o[1],f=Rr._malloc(EC);try{return lo(Zn.gridDistance(n,i,s,c,f)),SC(f)}finally{Rr._free(f)}}function tAe(r,e){var t=gc(r),n=t[0],i=t[1],o=Rr._malloc(nl);try{switch(e){case dA.m:lo(Zn.edgeLengthM(n,i,o));break;case dA.km:lo(Zn.edgeLengthKm(n,i,o));break;case dA.rads:lo(Zn.edgeLengthRads(n,i,o));break;default:throw Dy(CC,e)}return j8(o)}finally{Rr._free(o)}}function rAe(r,e){z8(r);var t=Rr._malloc(nl);try{switch(e){case dA.m:lo(Zn.getHexagonEdgeLengthAvgM(r,t));break;case dA.km:lo(Zn.getHexagonEdgeLengthAvgKm(r,t));break;default:throw Dy(CC,e)}return j8(t)}finally{Rr._free(t)}}function X8(r){return r*Math.PI/180}function nAe(r){return r*180/Math.PI}function RC(r,e){e=e===void 0?r[0][0]:e;for(const t of r){const n=t[0]-e;n>180?t[0]-=360:n<-180&&(t[0]+=360)}}function iAe(r,e,t){const[n,i]=PC(r),o=e.length;RC(e,i);const s=e[0]===e[o-1]?o-1:o;for(let c=0;c<s;c++)e[c][0]=dc(i,e[c][0],t),e[c][1]=dc(n,e[c][1],t)}function sAe(r,e,t){const n=r(e,t),[i,o]=PC(n);return[o,i]}function WP(r,e=1){const t=J8(r,!0);return e!==1?iAe(r,t,e):RC(t),t}function oAe(r){const e=new Float64Array(r.length*2);let t=0;for(const n of r)e[t++]=n[0],e[t++]=n[1];return e}const aAe=10;function cAe(r,e){let t;return r==null?t=e:typeof r=="object"?t={...r,coverage:e}:t={getHexagon:r,coverage:e},t}const lAe={...tf.defaultProps,highPrecision:"auto",coverage:{type:"number",min:0,max:1,value:1},centerHexagon:null,getHexagon:{type:"accessor",value:r=>r.hexagon},extruded:!0};class al extends ys{initializeState(){al._checkH3Lib(),this.state={edgeLengthKM:0,resolution:-1}}shouldUpdateState({changeFlags:e}){return this._shouldUseHighPrecision()?e.propsOrDataChanged:e.somethingChanged}updateState({props:e,changeFlags:t}){if(e.highPrecision!==!0&&(t.dataChanged||t.updateTriggersChanged&&t.updateTriggersChanged.getHexagon)){const n=this._calculateH3DataProps();this.setState(n)}this._updateVertices(this.context.viewport)}_calculateH3DataProps(){let e=-1,t=!1,n=!1;const{iterable:i,objectInfo:o}=sl(this.props.data);for(const s of i){o.index++;const c=this.props.getHexagon(s,o),f=Tx(c);if(e<0){if(e=f,!this.props.highPrecision)break}else if(e!==f){n=!0;break}if(Xde(c)){t=!0;break}}return{resolution:e,edgeLengthKM:e>=0?rAe(e,"km"):0,hasMultipleRes:n,hasPentagon:t}}_shouldUseHighPrecision(){if(this.props.highPrecision==="auto"){const{resolution:e,hasPentagon:t,hasMultipleRes:n}=this.state,{viewport:i}=this.context;return!!(i!=null&&i.resolution)||n||t||e>=0&&e<=5}return this.props.highPrecision}_updateVertices(e){if(this._shouldUseHighPrecision())return;const{resolution:t,edgeLengthKM:n,centerHex:i}=this.state;if(t<0)return;const o=this.props.centerHexagon||MC(e.latitude,e.longitude,t);if(i===o)return;if(i)try{if(eAe(i,o)*n<aAe)return}catch{}const{unitsPerMeter:s}=e.distanceScales;let c=WP(o);const[f,y]=PC(o),[b,B]=e.projectFlat([y,f]);c=c.map(S=>{const O=e.projectFlat(S);return[(O[0]-b)/s[0],(O[1]-B)/s[1]]}),this.setState({centerHex:o,vertices:c})}renderLayers(){return this._shouldUseHighPrecision()?this._renderPolygonLayer():this._renderColumnLayer()}_getForwardProps(){const{elevationScale:e,material:t,coverage:n,extruded:i,wireframe:o,stroked:s,filled:c,lineWidthUnits:f,lineWidthScale:y,lineWidthMinPixels:b,lineWidthMaxPixels:B,getFillColor:S,getElevation:O,getLineColor:k,getLineWidth:z,transitions:J,updateTriggers:G}=this.props;return{elevationScale:e,extruded:i,coverage:n,wireframe:o,stroked:s,filled:c,lineWidthUnits:f,lineWidthScale:y,lineWidthMinPixels:b,lineWidthMaxPixels:B,material:t,getElevation:O,getFillColor:S,getLineColor:k,getLineWidth:z,transitions:J,updateTriggers:{getFillColor:G.getFillColor,getElevation:G.getElevation,getLineColor:G.getLineColor,getLineWidth:G.getLineWidth}}}_renderPolygonLayer(){const{data:e,getHexagon:t,updateTriggers:n,coverage:i}=this.props,o=this.getSubLayerClass("hexagon-cell-hifi",tf),s=this._getForwardProps();return s.updateTriggers.getPolygon=cAe(n.getHexagon,i),new o(s,this.getSubLayerProps({id:"hexagon-cell-hifi",updateTriggers:s.updateTriggers}),{data:e,_normalize:!1,_windingOrder:"CCW",positionFormat:"XY",getPolygon:(c,f)=>{const y=t(c,f);return oAe(WP(y,i))}})}_renderColumnLayer(){const{data:e,getHexagon:t,updateTriggers:n}=this.props,i=this.getSubLayerClass("hexagon-cell",ol),o=this._getForwardProps();return o.updateTriggers.getPosition=n.getHexagon,new i(o,this.getSubLayerProps({id:"hexagon-cell",flatShading:!0,updateTriggers:o.updateTriggers}),{data:e,diskResolution:6,radius:1,vertices:this.state.vertices,getPosition:sAe.bind(null,t)})}}al.defaultProps=lAe;al.layerName="H3HexagonLayer";al._checkH3Lib=()=>{};const uAe={getHexagons:{type:"accessor",value:r=>r.hexagons}};class Oy extends rf{initializeState(){al._checkH3Lib()}updateState({props:e,changeFlags:t}){if(t.dataChanged||t.updateTriggersChanged&&t.updateTriggersChanged.getHexagons){const{data:n,getHexagons:i}=e,o=[],{iterable:s,objectInfo:c}=sl(n);for(const f of s){c.index++;const y=i(f,c),b=Zde(y,!0);for(const B of b){for(const S of B)RC(S);o.push(this.getSubLayerRow({polygon:B},f,c.index))}}this.setState({polygons:o})}}indexToBounds(){const{getElevation:e,getFillColor:t,getLineColor:n,getLineWidth:i}=this.props;return{data:this.state.polygons,getPolygon:o=>o.polygon,getElevation:this.getSubLayerAccessor(e),getFillColor:this.getSubLayerAccessor(t),getLineColor:this.getSubLayerAccessor(n),getLineWidth:this.getSubLayerAccessor(i)}}}Oy.layerName="H3ClusterLayer";Oy.defaultProps=uAe;const o1=Math.PI/180,im=new Float32Array(16),JP=new Float32Array(12);function XP(r,e,t){const n=e[0]*o1,i=e[1]*o1,o=e[2]*o1,s=Math.sin(o),c=Math.sin(n),f=Math.sin(i),y=Math.cos(o),b=Math.cos(n),B=Math.cos(i),S=t[0],O=t[1],k=t[2];r[0]=S*B*b,r[1]=S*f*b,r[2]=S*-c,r[3]=O*(-f*y+B*c*s),r[4]=O*(B*y+f*c*s),r[5]=O*b*s,r[6]=k*(f*s+B*c*y),r[7]=k*(-B*s+f*c*y),r[8]=k*b*y}function KP(r){return r[0]=r[0],r[1]=r[1],r[2]=r[2],r[3]=r[4],r[4]=r[5],r[5]=r[6],r[6]=r[8],r[7]=r[9],r[8]=r[10],r[9]=r[12],r[10]=r[13],r[11]=r[14],r.subarray(0,12)}const K8={size:12,accessor:["getOrientation","getScale","getTranslation","getTransformMatrix"],shaderAttributes:{instanceModelMatrixCol0:{size:3,elementOffset:0},instanceModelMatrixCol1:{size:3,elementOffset:3},instanceModelMatrixCol2:{size:3,elementOffset:6},instanceTranslation:{size:3,elementOffset:9}},update(r,{startRow:e,endRow:t}){const{data:n,getOrientation:i,getScale:o,getTranslation:s,getTransformMatrix:c}=this.props,f=Array.isArray(c),y=f&&c.length===16,b=Array.isArray(o),B=Array.isArray(i),S=Array.isArray(s),O=y||!f&&!!c(n[0]);O?r.constant=y:r.constant=B&&b&&S;const k=r.value;if(r.constant){let z;O?(im.set(c),z=KP(im)):(z=JP,XP(z,i,o),z.set(s,9)),r.value=new Float32Array(z)}else{let z=e*r.size;const{iterable:J,objectInfo:G}=sl(n,e,t);for(const j of J){G.index++;let K;if(O)im.set(y?c:c(j,G)),K=KP(im);else{K=JP;const fe=B?i:i(j,G),Q=b?o:o(j,G);XP(K,fe,Q),K.set(S?s:s(j,G),9)}k[z++]=K[0],k[z++]=K[1],k[z++]=K[2],k[z++]=K[3],k[z++]=K[4],k[z++]=K[5],k[z++]=K[6],k[z++]=K[7],k[z++]=K[8],k[z++]=K[9],k[z++]=K[10],k[z++]=K[11]}}}};function q8(r,e){return e===Zr.CARTESIAN||e===Zr.METER_OFFSETS||e===Zr.DEFAULT&&!r.isGeospatial}const qP=`uniform simpleMeshUniforms {
|
3459
3459
|
float sizeScale;
|
3460
3460
|
bool composeModelMatrix;
|
3461
3461
|
bool hasTexture;
|
@@ -3832,7 +3832,7 @@ DECKGL_FILTER_COLOR(fragColor, geometry);
|
|
3832
3832
|
* limitations under the License.
|
3833
3833
|
*
|
3834
3834
|
* SPDX-License-Identifier: Apache-2.0
|
3835
|
-
*/var Sa=null;try{Sa=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function Qn(r,e,t){this.low=r|0,this.high=e|0,this.unsigned=!!t}Qn.prototype.__isLong__;Object.defineProperty(Qn.prototype,"__isLong__",{value:!0});function ho(r){return(r&&r.__isLong__)===!0}function qR(r){var e=Math.clz32(r&-r);return r?31-e:e}Qn.isLong=ho;var YR={},ZR={};function mh(r,e){var t,n,i;return e?(r>>>=0,(i=0<=r&&r<256)&&(n=ZR[r],n)?n:(t=Nn(r,0,!0),i&&(ZR[r]=t),t)):(r|=0,(i=-128<=r&&r<128)&&(n=YR[r],n)?n:(t=Nn(r,r<0?-1:0,!1),i&&(YR[r]=t),t))}Qn.fromInt=mh;function Ia(r,e){if(isNaN(r))return e?Ul:hc;if(e){if(r<0)return Ul;if(r>=ZN)return tk}else{if(r<=-9223372036854776e3)return Do;if(r+1>=Sbe)return ek}return r<0?Ia(-r,e).neg():Nn(r%PA|0,r/PA|0,e)}Qn.fromNumber=Ia;function Nn(r,e,t){return new Qn(r,e,t)}Qn.fromBits=Nn;var N_=Math.pow;function QC(r,e,t){if(r.length===0)throw Error("empty string");if(typeof e=="number"?(t=e,e=!1):e=!!e,r==="NaN"||r==="Infinity"||r==="+Infinity"||r==="-Infinity")return e?Ul:hc;if(t=t||10,t<2||36<t)throw RangeError("radix");var n;if((n=r.indexOf("-"))>0)throw Error("interior hyphen");if(n===0)return QC(r.substring(1),e,t).neg();for(var i=Ia(N_(t,8)),o=hc,s=0;s<r.length;s+=8){var c=Math.min(8,r.length-s),f=parseInt(r.substring(s,s+c),t);if(c<8){var y=Ia(N_(t,c));o=o.mul(y).add(Ia(f))}else o=o.mul(i),o=o.add(Ia(f))}return o.unsigned=e,o}Qn.fromString=QC;function yc(r,e){return typeof r=="number"?Ia(r,e):typeof r=="string"?QC(r,e):Nn(r.low,r.high,typeof e=="boolean"?e:r.unsigned)}Qn.fromValue=yc;var QR=65536,Bbe=1<<24,PA=QR*QR,ZN=PA*PA,Sbe=ZN/2,eF=mh(Bbe),hc=mh(0);Qn.ZERO=hc;var Ul=mh(0,!0);Qn.UZERO=Ul;var rA=mh(1);Qn.ONE=rA;var QN=mh(1,!0);Qn.UONE=QN;var Nx=mh(-1);Qn.NEG_ONE=Nx;var ek=Nn(-1,2147483647,!1);Qn.MAX_VALUE=ek;var tk=Nn(-1,-1,!0);Qn.MAX_UNSIGNED_VALUE=tk;var Do=Nn(0,-2147483648,!1);Qn.MIN_VALUE=Do;var Qt=Qn.prototype;Qt.toInt=function(){return this.unsigned?this.low>>>0:this.low};Qt.toNumber=function(){return this.unsigned?(this.high>>>0)*PA+(this.low>>>0):this.high*PA+(this.low>>>0)};Qt.toString=function(e){if(e=e||10,e<2||36<e)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(Do)){var t=Ia(e),n=this.div(t),i=n.mul(t).sub(this);return n.toString(e)+i.toInt().toString(e)}else return"-"+this.neg().toString(e);for(var o=Ia(N_(e,6),this.unsigned),s=this,c="";;){var f=s.div(o),y=s.sub(f.mul(o)).toInt()>>>0,b=y.toString(e);if(s=f,s.isZero())return b+c;for(;b.length<6;)b="0"+b;c=""+b+c}};Qt.getHighBits=function(){return this.high};Qt.getHighBitsUnsigned=function(){return this.high>>>0};Qt.getLowBits=function(){return this.low};Qt.getLowBitsUnsigned=function(){return this.low>>>0};Qt.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Do)?64:this.neg().getNumBitsAbs();for(var e=this.high!=0?this.high:this.low,t=31;t>0&&!(e&1<<t);t--);return this.high!=0?t+33:t+1};Qt.isZero=function(){return this.high===0&&this.low===0};Qt.eqz=Qt.isZero;Qt.isNegative=function(){return!this.unsigned&&this.high<0};Qt.isPositive=function(){return this.unsigned||this.high>=0};Qt.isOdd=function(){return(this.low&1)===1};Qt.isEven=function(){return(this.low&1)===0};Qt.equals=function(e){return ho(e)||(e=yc(e)),this.unsigned!==e.unsigned&&this.high>>>31===1&&e.high>>>31===1?!1:this.high===e.high&&this.low===e.low};Qt.eq=Qt.equals;Qt.notEquals=function(e){return!this.eq(e)};Qt.neq=Qt.notEquals;Qt.ne=Qt.notEquals;Qt.lessThan=function(e){return this.comp(e)<0};Qt.lt=Qt.lessThan;Qt.lessThanOrEqual=function(e){return this.comp(e)<=0};Qt.lte=Qt.lessThanOrEqual;Qt.le=Qt.lessThanOrEqual;Qt.greaterThan=function(e){return this.comp(e)>0};Qt.gt=Qt.greaterThan;Qt.greaterThanOrEqual=function(e){return this.comp(e)>=0};Qt.gte=Qt.greaterThanOrEqual;Qt.ge=Qt.greaterThanOrEqual;Qt.compare=function(e){if(ho(e)||(e=yc(e)),this.eq(e))return 0;var t=this.isNegative(),n=e.isNegative();return t&&!n?-1:!t&&n?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1};Qt.comp=Qt.compare;Qt.negate=function(){return!this.unsigned&&this.eq(Do)?Do:this.not().add(rA)};Qt.neg=Qt.negate;Qt.add=function(e){ho(e)||(e=yc(e));var t=this.high>>>16,n=this.high&65535,i=this.low>>>16,o=this.low&65535,s=e.high>>>16,c=e.high&65535,f=e.low>>>16,y=e.low&65535,b=0,B=0,S=0,O=0;return O+=o+y,S+=O>>>16,O&=65535,S+=i+f,B+=S>>>16,S&=65535,B+=n+c,b+=B>>>16,B&=65535,b+=t+s,b&=65535,Nn(S<<16|O,b<<16|B,this.unsigned)};Qt.subtract=function(e){return ho(e)||(e=yc(e)),this.add(e.neg())};Qt.sub=Qt.subtract;Qt.multiply=function(e){if(this.isZero())return this;if(ho(e)||(e=yc(e)),Sa){var t=Sa.mul(this.low,this.high,e.low,e.high);return Nn(t,Sa.get_high(),this.unsigned)}if(e.isZero())return this.unsigned?Ul:hc;if(this.eq(Do))return e.isOdd()?Do:hc;if(e.eq(Do))return this.isOdd()?Do:hc;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(eF)&&e.lt(eF))return Ia(this.toNumber()*e.toNumber(),this.unsigned);var n=this.high>>>16,i=this.high&65535,o=this.low>>>16,s=this.low&65535,c=e.high>>>16,f=e.high&65535,y=e.low>>>16,b=e.low&65535,B=0,S=0,O=0,k=0;return k+=s*b,O+=k>>>16,k&=65535,O+=o*b,S+=O>>>16,O&=65535,O+=s*y,S+=O>>>16,O&=65535,S+=i*b,B+=S>>>16,S&=65535,S+=o*y,B+=S>>>16,S&=65535,S+=s*f,B+=S>>>16,S&=65535,B+=n*b+i*y+o*f+s*c,B&=65535,Nn(O<<16|k,B<<16|S,this.unsigned)};Qt.mul=Qt.multiply;Qt.divide=function(e){if(ho(e)||(e=yc(e)),e.isZero())throw Error("division by zero");if(Sa){if(!this.unsigned&&this.high===-2147483648&&e.low===-1&&e.high===-1)return this;var t=(this.unsigned?Sa.div_u:Sa.div_s)(this.low,this.high,e.low,e.high);return Nn(t,Sa.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?Ul:hc;var n,i,o;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return Ul;if(e.gt(this.shru(1)))return QN;o=Ul}else{if(this.eq(Do)){if(e.eq(rA)||e.eq(Nx))return Do;if(e.eq(Do))return rA;var s=this.shr(1);return n=s.div(e).shl(1),n.eq(hc)?e.isNegative()?rA:Nx:(i=this.sub(e.mul(n)),o=n.add(i.div(e)),o)}else if(e.eq(Do))return this.unsigned?Ul:hc;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();o=hc}for(i=this;i.gte(e);){n=Math.max(1,Math.floor(i.toNumber()/e.toNumber()));for(var c=Math.ceil(Math.log(n)/Math.LN2),f=c<=48?1:N_(2,c-48),y=Ia(n),b=y.mul(e);b.isNegative()||b.gt(i);)n-=f,y=Ia(n,this.unsigned),b=y.mul(e);y.isZero()&&(y=rA),o=o.add(y),i=i.sub(b)}return o};Qt.div=Qt.divide;Qt.modulo=function(e){if(ho(e)||(e=yc(e)),Sa){var t=(this.unsigned?Sa.rem_u:Sa.rem_s)(this.low,this.high,e.low,e.high);return Nn(t,Sa.get_high(),this.unsigned)}return this.sub(this.div(e).mul(e))};Qt.mod=Qt.modulo;Qt.rem=Qt.modulo;Qt.not=function(){return Nn(~this.low,~this.high,this.unsigned)};Qt.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};Qt.clz=Qt.countLeadingZeros;Qt.countTrailingZeros=function(){return this.low?qR(this.low):qR(this.high)+32};Qt.ctz=Qt.countTrailingZeros;Qt.and=function(e){return ho(e)||(e=yc(e)),Nn(this.low&e.low,this.high&e.high,this.unsigned)};Qt.or=function(e){return ho(e)||(e=yc(e)),Nn(this.low|e.low,this.high|e.high,this.unsigned)};Qt.xor=function(e){return ho(e)||(e=yc(e)),Nn(this.low^e.low,this.high^e.high,this.unsigned)};Qt.shiftLeft=function(e){return ho(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?Nn(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):Nn(0,this.low<<e-32,this.unsigned)};Qt.shl=Qt.shiftLeft;Qt.shiftRight=function(e){return ho(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?Nn(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):Nn(this.high>>e-32,this.high>=0?0:-1,this.unsigned)};Qt.shr=Qt.shiftRight;Qt.shiftRightUnsigned=function(e){return ho(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?Nn(this.low>>>e|this.high<<32-e,this.high>>>e,this.unsigned):e===32?Nn(this.high,0,this.unsigned):Nn(this.high>>>e-32,0,this.unsigned)};Qt.shru=Qt.shiftRightUnsigned;Qt.shr_u=Qt.shiftRightUnsigned;Qt.rotateLeft=function(e){var t;return ho(e)&&(e=e.toInt()),(e&=63)===0?this:e===32?Nn(this.high,this.low,this.unsigned):e<32?(t=32-e,Nn(this.low<<e|this.high>>>t,this.high<<e|this.low>>>t,this.unsigned)):(e-=32,t=32-e,Nn(this.high<<e|this.low>>>t,this.low<<e|this.high>>>t,this.unsigned))};Qt.rotl=Qt.rotateLeft;Qt.rotateRight=function(e){var t;return ho(e)&&(e=e.toInt()),(e&=63)===0?this:e===32?Nn(this.high,this.low,this.unsigned):e<32?(t=32-e,Nn(this.high<<t|this.low>>>e,this.low<<t|this.high>>>e,this.unsigned)):(e-=32,t=32-e,Nn(this.low<<t|this.high>>>e,this.high<<t|this.low>>>e,this.unsigned))};Qt.rotr=Qt.rotateRight;Qt.toSigned=function(){return this.unsigned?Nn(this.low,this.high,!1):this};Qt.toUnsigned=function(){return this.unsigned?this:Nn(this.low,this.high,!0)};Qt.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()};Qt.toBytesLE=function(){var e=this.high,t=this.low;return[t&255,t>>>8&255,t>>>16&255,t>>>24,e&255,e>>>8&255,e>>>16&255,e>>>24]};Qt.toBytesBE=function(){var e=this.high,t=this.low;return[e>>>24,e>>>16&255,e>>>8&255,e&255,t>>>24,t>>>16&255,t>>>8&255,t&255]};Qn.fromBytes=function(e,t,n){return n?Qn.fromBytesLE(e,t):Qn.fromBytesBE(e,t)};Qn.fromBytesLE=function(e,t){return new Qn(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,t)};Qn.fromBytesBE=function(e,t){return new Qn(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],t)};const Ibe=16;function rk(r){r==="X"&&(r="");const e=r.padEnd(Ibe,"0");return Qn.fromString(e,!0,16)}function Mbe(r){if(r.isZero())return"X";let e=r.countTrailingZeros();const t=e%4;e=(e-t)/4;const n=e;e*=4;const o=r.shiftRightUnsigned(e).toString(16).replace(/0+$/,"");return Array(17-n-o.length).join("0")+o}function Pbe(r,e){const t=Rbe(r).shiftRightUnsigned(2);return r.add(Qn.fromNumber(2*e+1-4).multiply(t))}function Rbe(r){return r.and(r.not().add(1))}const Fbe=3,Dbe=30,Obe=2*Dbe+1,tF=180/Math.PI;function Lbe(r){if(r.length===0)throw new Error(`Invalid Hilbert quad key ${r}`);const e=r.split("/"),t=parseInt(e[0],10),n=e[1],i=n.length;let o=0;const s=[0,0];for(let c=i-1;c>=0;c--){o=i-c;const f=n[c];let y=0,b=0;f==="1"?b=1:f==="2"?(y=1,b=1):f==="3"&&(y=1);const B=Math.pow(2,o-1);kbe(B,s,y,b),s[0]+=B*y,s[1]+=B*b}if(t%2===1){const c=s[0];s[0]=s[1],s[1]=c}return{face:t,ij:s,level:o}}function Nbe(r){if(r.isZero())return"";let e=r.toString(2);for(;e.length<Fbe+Obe;)e="0"+e;const t=e.lastIndexOf("1"),n=e.substring(0,3),i=e.substring(3,t),o=i.length/2,s=Qn.fromString(n,!0,2).toString(10);let c="";if(o!==0)for(c=Qn.fromString(i,!0,2).toString(4);c.length<o;)c="0"+c;return`${s}/${c}`}function nk(r,e,t){const n=1<<e;return[(r[0]+t[0])/n,(r[1]+t[1])/n]}function rF(r){return r>=.5?1/3*(4*r*r-1):1/3*(1-4*(1-r)*(1-r))}function ik(r){return[rF(r[0]),rF(r[1])]}function sk(r,[e,t]){switch(r){case 0:return[1,e,t];case 1:return[-e,1,t];case 2:return[-e,-t,1];case 3:return[-1,-t,-e];case 4:return[t,-1,-e];case 5:return[t,e,-1];default:throw new Error("Invalid face")}}function ok([r,e,t]){const n=Math.atan2(t,Math.sqrt(r*r+e*e));return[Math.atan2(e,r)*tF,n*tF]}function kbe(r,e,t,n){if(n===0){t===1&&(e[0]=r-1-e[0],e[1]=r-1-e[1]);const i=e[0];e[0]=e[1],e[1]=i}}function Ube(r){const e=nk(r.ij,r.level,[.5,.5]),t=ik(e),n=sk(r.face,t);return ok(n)}const zbe=100;function nF(r){const{face:e,ij:t,level:n}=r,i=[[0,0],[0,1],[1,1],[1,0],[0,0]],o=Math.max(1,Math.ceil(zbe*Math.pow(2,-n))),s=new Float64Array(4*o*2+2);let c=0,f=0;for(let y=0;y<4;y++){const b=i[y].slice(0),B=i[y+1],S=(B[0]-b[0])/o,O=(B[1]-b[1])/o;for(let k=0;k<o;k++){b[0]+=S,b[1]+=O;const z=nk(t,n,b),J=ik(z),G=sk(e,J),j=ok(G);Math.abs(j[1])>89.999&&(j[0]=f);const K=j[0]-f;j[0]+=K>180?-360:K<-180?360:0,s[c++]=j[0],s[c++]=j[1],f=j[0]}}return s[c++]=s[0],s[c++]=s[1],s}function eE(r){const e=Gbe(r);return Lbe(e)}function Gbe(r){if(r.indexOf("/")>0)return r;const e=rk(r);return Nbe(e)}function Vbe(r){const e=eE(r);return Ube(e)}function Hbe(r){let e;if(r.face===2||r.face===5){let t=null,n=0;for(let i=0;i<4;i++){const o=`${r.face}/${i}`,s=eE(o),c=nF(s);(typeof t>"u"||t===null)&&(t=new Float64Array(4*c.length)),t.set(c,n),n+=c.length}e=iF(t)}else{const t=nF(r);e=iF(t)}return e}function iF(r){if(r.length%2!==0)throw new Error("Invalid corners");const e=[],t=[];for(let n=0;n<r.length;n+=2)e.push(r[n]),t.push(r[n+1]);return e.sort((n,i)=>n-i),t.sort((n,i)=>n-i),{west:e[0],east:e[e.length-1],north:t[t.length-1],south:t[0]}}function jbe(r,e){const t=(e==null?void 0:e.minimumHeight)||0,n=(e==null?void 0:e.maximumHeight)||0,i=eE(r),o=Hbe(i),s=o.west,c=o.south,f=o.east,y=o.north,b=[];return b.push(new ft(s,y,t)),b.push(new ft(f,y,t)),b.push(new ft(f,c,t)),b.push(new ft(s,c,t)),b.push(new ft(s,y,n)),b.push(new ft(f,y,n)),b.push(new ft(f,c,n)),b.push(new ft(s,c,n)),b}function ak(r){const e=r.token,t={minimumHeight:r.minimumHeight,maximumHeight:r.maximumHeight},n=jbe(e,t),i=Vbe(e),o=i[0],s=i[1],c=gi.WGS84.cartographicToCartesian([o,s,t.maximumHeight]),f=new ft(c[0],c[1],c[2]);n.push(f);const y=M8(n);return[...y.center,...y.halfAxes]}const $be=4,Wbe=8,Jbe={QUADTREE:$be,OCTREE:Wbe};function Xbe(r,e,t){if(r!=null&&r.box){const n=rk(r.s2VolumeInfo.token),i=Pbe(n,e),o=Mbe(i),s={...r.s2VolumeInfo};switch(s.token=o,t){case"OCTREE":const y=r.s2VolumeInfo,b=y.maximumHeight-y.minimumHeight,B=b/2,S=y.minimumHeight+b/2;y.minimumHeight=S-B,y.maximumHeight=S+B;break}return{box:ak(s),s2VolumeInfo:s}}}async function ck(r){const{implicitOptions:e,parentData:t={mortonIndex:0,x:0,y:0,z:0},childIndex:n=0,s2VolumeBox:i,loaderOptions:o}=r;let{subtree:s,level:c=0,globalData:f={level:0,mortonIndex:0,x:0,y:0,z:0}}=r;const{subdivisionScheme:y,subtreeLevels:b,maximumLevel:B,contentUrlTemplate:S,subtreesUriTemplate:O,basePath:k}=e,z={children:[],lodMetricValue:0,contentUrl:""};if(!B)return oL.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${S} won't be loaded...`),z;const J=c+f.level;if(J>B)return z;const G=Jbe[y],j=Math.log2(G),K=n&1,fe=n>>1&1,Q=n>>2&1,oe=(G**c-1)/(G-1);let Be=Of(t.mortonIndex,n,j),ze=oe+Be,pe=Of(t.x,K,1),we=Of(t.y,fe,1),Ae=Of(t.z,Q,1),W=!1;c>=b&&(W=M1(s.childSubtreeAvailability,Be));const ne=Of(f.x,pe,c),Te=Of(f.y,we,c),Ye=Of(f.z,Ae,c);if(W){const rt=`${k}/${O}`,tt=kx(rt,J,ne,Te,Ye);s=await DA(tt,YN,o),f={mortonIndex:Be,x:pe,y:we,z:Ae,level:c},Be=0,ze=0,pe=0,we=0,Ae=0,c=0}if(!M1(s.tileAvailability,ze))return z;M1(s.contentAvailability,ze)&&(z.contentUrl=kx(S,J,ne,Te,Ye));const Ge=c+1,Qe={mortonIndex:Be,x:pe,y:we,z:Ae};for(let rt=0;rt<G;rt++){const tt=Xbe(i,rt,y),lt=await ck({subtree:s,implicitOptions:e,loaderOptions:o,parentData:Qe,childIndex:rt,level:Ge,globalData:{...f},s2VolumeBox:tt});if(lt.contentUrl||lt.children.length){const mt=J+1,nt=Kbe(lt,mt,{childTileX:pe,childTileY:we,childTileZ:Ae},e,i);z.children.push(nt)}}return z}function M1(r,e){let t;return Array.isArray(r)?(t=r[0],r.length>1&&oL.once('Not supported extension "3DTILES_multiple_contents" has been detected')):t=r,"constant"in t?!!t.constant:t.explicitBitstream?Zbe(e,t.explicitBitstream):!1}function Kbe(r,e,t,n,i){const{basePath:o,refine:s,getRefine:c,lodMetricType:f,getTileType:y,rootLodMetricValue:b,rootBoundingVolume:B}=n,S=r.contentUrl&&r.contentUrl.replace(`${o}/`,""),O=b/2**e,k=i!=null&&i.box?{box:i.box}:B,z=qbe(e,k,t);return{children:r.children,contentUrl:r.contentUrl,content:{uri:S},id:r.contentUrl,refine:c(s),type:y(r),lodMetricType:f,lodMetricValue:O,geometricError:O,transform:r.transform,boundingVolume:z}}function qbe(r,e,t){if(e.region){const{childTileX:n,childTileY:i,childTileZ:o}=t,[s,c,f,y,b,B]=e.region,S=2**r,O=(f-s)/S,k=(y-c)/S,z=(B-b)/S,[J,G]=[s+O*n,s+O*(n+1)],[j,K]=[c+k*i,c+k*(i+1)],[fe,Q]=[b+z*o,b+z*(o+1)];return{region:[J,j,G,K,fe,Q]}}if(e.box)return e;throw new Error(`Unsupported bounding volume type ${JSON.stringify(e)}`)}function Of(r,e,t){return(r<<t)+e}function kx(r,e,t,n,i){const o=Ybe({level:e,x:t,y:n,z:i});return r.replace(/{level}|{x}|{y}|{z}/gi,s=>o[s])}function Ybe(r){const e={};for(const t in r)e[`{${t}}`]=r[t];return e}function Zbe(r,e){const t=Math.floor(r/8),n=r%8;return(e[t]>>n&1)===1}function tE(r,e=""){if(!e)return kl.EMPTY;const n=e.split("?")[0].split(".").pop();switch(n){case"pnts":return kl.POINTCLOUD;case"i3dm":case"b3dm":case"glb":case"gltf":return kl.SCENEGRAPH;default:return n||kl.EMPTY}}function rE(r){switch(r){case"REPLACE":case"replace":return Ac.REPLACE;case"ADD":case"add":return Ac.ADD;default:return r}}function Ux(r,e){if(/^[a-z][0-9a-z+.-]*:/i.test(e)){const n=new URL(r,`${e}/`);return decodeURI(n.toString())}else if(r.startsWith("/"))return r;return Xue(e,r)}function sF(r,e){var i;if(!r)return null;let t;if(r.content){const o=r.content.uri||((i=r.content)==null?void 0:i.url);typeof o<"u"&&(t=Ux(o,e))}return{...r,id:t,contentUrl:t,lodMetricType:IA.GEOMETRIC_ERROR,lodMetricValue:r.geometricError,transformMatrix:r.transform,type:tE(r,t),refine:rE(r.refine)}}async function Qbe(r,e,t){let n=null;const i=aF(r.root);i&&r.root?n=await oF(r.root,r,e,i,t):n=sF(r.root,e);const o=[];for(o.push(n);o.length>0;){const s=o.pop()||{},c=s.children||[],f=[];for(const y of c){const b=aF(y);let B;b?B=await oF(y,r,e,b,t):B=sF(y,e),B&&(f.push(B),o.push(B))}s.children=f}return n}async function oF(r,e,t,n,i){var fe,Q,oe;const{subdivisionScheme:o,maximumLevel:s,availableLevels:c,subtreeLevels:f,subtrees:{uri:y}}=n,b=kx(y,0,0,0,0),B=Ux(b,t),S=await DA(B,YN,i),O=(fe=r.content)==null?void 0:fe.uri,k=O?Ux(O,t):"",z=(Q=e==null?void 0:e.root)==null?void 0:Q.refine,J=r.geometricError,G=(oe=r.boundingVolume.extensions)==null?void 0:oe["3DTILES_bounding_volume_S2"];if(G){const ze={box:ak(G),s2VolumeInfo:G};r.boundingVolume=ze}const j=r.boundingVolume,K={contentUrlTemplate:k,subtreesUriTemplate:y,subdivisionScheme:o,subtreeLevels:f,maximumLevel:Number.isFinite(c)?c-1:s,refine:z,basePath:t,lodMetricType:IA.GEOMETRIC_ERROR,rootLodMetricValue:J,rootBoundingVolume:j,getTileType:tE,getRefine:rE};return await e1e(r,t,S,K,i)}async function e1e(r,e,t,n,i){if(!r)return null;const{children:o,contentUrl:s}=await ck({subtree:t,implicitOptions:n,loaderOptions:i});let c,f=null;return s&&(c=s,f={uri:s.replace(`${e}/`,"")}),{...r,id:c,contentUrl:c,lodMetricType:IA.GEOMETRIC_ERROR,lodMetricValue:r.geometricError,transformMatrix:r.transform,type:tE(r,c),refine:rE(r.refine),content:f||r.content,children:o}}function aF(r){var e;return((e=r==null?void 0:r.extensions)==null?void 0:e["3DTILES_implicit_tiling"])||(r==null?void 0:r.implicitTiling)}const lk={dataType:null,batchType:null,id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:EN,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:t1e,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function t1e(r,e={},t){const n=e["3d-tiles"]||{};let i;return n.isTileset==="auto"?i=(t==null?void 0:t.url)&&t.url.indexOf(".json")!==-1:i=n.isTileset,i?r1e(r,e,t):n1e(r,e,t)}async function r1e(r,e,t){var f;const n=JSON.parse(new TextDecoder().decode(r)),i=(t==null?void 0:t.url)||"",o=i1e(i),s=await Qbe(n,o,e||{});return{...n,shape:"tileset3d",loader:lk,url:i,queryString:(t==null?void 0:t.queryString)||"",basePath:o,root:s||n.root,type:Po.TILES3D,lodMetricType:IA.GEOMETRIC_ERROR,lodMetricValue:((f=n.root)==null?void 0:f.geometricError)||0}}async function n1e(r,e,t){const n={content:{shape:"tile3d",featureIds:null}};return await qN(r,0,e,t,n.content),n.content}function i1e(r){return w8(r)}var P1={},cF;function nf(){return cF||(cF=1,function(r){var e=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function t(o,s){return Object.prototype.hasOwnProperty.call(o,s)}r.assign=function(o){for(var s=Array.prototype.slice.call(arguments,1);s.length;){var c=s.shift();if(c){if(typeof c!="object")throw new TypeError(c+"must be non-object");for(var f in c)t(c,f)&&(o[f]=c[f])}}return o},r.shrinkBuf=function(o,s){return o.length===s?o:o.subarray?o.subarray(0,s):(o.length=s,o)};var n={arraySet:function(o,s,c,f,y){if(s.subarray&&o.subarray){o.set(s.subarray(c,c+f),y);return}for(var b=0;b<f;b++)o[y+b]=s[c+b]},flattenChunks:function(o){var s,c,f,y,b,B;for(f=0,s=0,c=o.length;s<c;s++)f+=o[s].length;for(B=new Uint8Array(f),y=0,s=0,c=o.length;s<c;s++)b=o[s],B.set(b,y),y+=b.length;return B}},i={arraySet:function(o,s,c,f,y){for(var b=0;b<f;b++)o[y+b]=s[c+b]},flattenChunks:function(o){return[].concat.apply([],o)}};r.setTyped=function(o){o?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,n)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,i))},r.setTyped(e)}(P1)),P1}var Sd={},Za={},Lf={},lF;function s1e(){if(lF)return Lf;lF=1;var r=nf(),e=4,t=0,n=1,i=2;function o(Pe){for(var Ot=Pe.length;--Ot>=0;)Pe[Ot]=0}var s=0,c=1,f=2,y=3,b=258,B=29,S=256,O=S+1+B,k=30,z=19,J=2*O+1,G=15,j=16,K=7,fe=256,Q=16,oe=17,Be=18,ze=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],pe=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],we=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Ae=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],W=512,ne=new Array((O+2)*2);o(ne);var Te=new Array(k*2);o(Te);var Ye=new Array(W);o(Ye);var Ce=new Array(b-y+1);o(Ce);var Ne=new Array(B);o(Ne);var Ge=new Array(k);o(Ge);function Qe(Pe,Ot,Vt,sr,Ze){this.static_tree=Pe,this.extra_bits=Ot,this.extra_base=Vt,this.elems=sr,this.max_length=Ze,this.has_stree=Pe&&Pe.length}var rt,tt,lt;function mt(Pe,Ot){this.dyn_tree=Pe,this.max_code=0,this.stat_desc=Ot}function Tt(Pe){return Pe<256?Ye[Pe]:Ye[256+(Pe>>>7)]}function nt(Pe,Ot){Pe.pending_buf[Pe.pending++]=Ot&255,Pe.pending_buf[Pe.pending++]=Ot>>>8&255}function cr(Pe,Ot,Vt){Pe.bi_valid>j-Vt?(Pe.bi_buf|=Ot<<Pe.bi_valid&65535,nt(Pe,Pe.bi_buf),Pe.bi_buf=Ot>>j-Pe.bi_valid,Pe.bi_valid+=Vt-j):(Pe.bi_buf|=Ot<<Pe.bi_valid&65535,Pe.bi_valid+=Vt)}function Xt(Pe,Ot,Vt){cr(Pe,Vt[Ot*2],Vt[Ot*2+1])}function $t(Pe,Ot){var Vt=0;do Vt|=Pe&1,Pe>>>=1,Vt<<=1;while(--Ot>0);return Vt>>>1}function Lt(Pe){Pe.bi_valid===16?(nt(Pe,Pe.bi_buf),Pe.bi_buf=0,Pe.bi_valid=0):Pe.bi_valid>=8&&(Pe.pending_buf[Pe.pending++]=Pe.bi_buf&255,Pe.bi_buf>>=8,Pe.bi_valid-=8)}function lr(Pe,Ot){var Vt=Ot.dyn_tree,sr=Ot.max_code,Ze=Ot.stat_desc.static_tree,Mt=Ot.stat_desc.has_stree,ge=Ot.stat_desc.extra_bits,kt=Ot.stat_desc.extra_base,wt=Ot.stat_desc.max_length,$,yt,Et,Ee,Je,ct,Y=0;for(Ee=0;Ee<=G;Ee++)Pe.bl_count[Ee]=0;for(Vt[Pe.heap[Pe.heap_max]*2+1]=0,$=Pe.heap_max+1;$<J;$++)yt=Pe.heap[$],Ee=Vt[Vt[yt*2+1]*2+1]+1,Ee>wt&&(Ee=wt,Y++),Vt[yt*2+1]=Ee,!(yt>sr)&&(Pe.bl_count[Ee]++,Je=0,yt>=kt&&(Je=ge[yt-kt]),ct=Vt[yt*2],Pe.opt_len+=ct*(Ee+Je),Mt&&(Pe.static_len+=ct*(Ze[yt*2+1]+Je)));if(Y!==0){do{for(Ee=wt-1;Pe.bl_count[Ee]===0;)Ee--;Pe.bl_count[Ee]--,Pe.bl_count[Ee+1]+=2,Pe.bl_count[wt]--,Y-=2}while(Y>0);for(Ee=wt;Ee!==0;Ee--)for(yt=Pe.bl_count[Ee];yt!==0;)Et=Pe.heap[--$],!(Et>sr)&&(Vt[Et*2+1]!==Ee&&(Pe.opt_len+=(Ee-Vt[Et*2+1])*Vt[Et*2],Vt[Et*2+1]=Ee),yt--)}}function tn(Pe,Ot,Vt){var sr=new Array(G+1),Ze=0,Mt,ge;for(Mt=1;Mt<=G;Mt++)sr[Mt]=Ze=Ze+Vt[Mt-1]<<1;for(ge=0;ge<=Ot;ge++){var kt=Pe[ge*2+1];kt!==0&&(Pe[ge*2]=$t(sr[kt]++,kt))}}function Er(){var Pe,Ot,Vt,sr,Ze,Mt=new Array(G+1);for(Vt=0,sr=0;sr<B-1;sr++)for(Ne[sr]=Vt,Pe=0;Pe<1<<ze[sr];Pe++)Ce[Vt++]=sr;for(Ce[Vt-1]=sr,Ze=0,sr=0;sr<16;sr++)for(Ge[sr]=Ze,Pe=0;Pe<1<<pe[sr];Pe++)Ye[Ze++]=sr;for(Ze>>=7;sr<k;sr++)for(Ge[sr]=Ze<<7,Pe=0;Pe<1<<pe[sr]-7;Pe++)Ye[256+Ze++]=sr;for(Ot=0;Ot<=G;Ot++)Mt[Ot]=0;for(Pe=0;Pe<=143;)ne[Pe*2+1]=8,Pe++,Mt[8]++;for(;Pe<=255;)ne[Pe*2+1]=9,Pe++,Mt[9]++;for(;Pe<=279;)ne[Pe*2+1]=7,Pe++,Mt[7]++;for(;Pe<=287;)ne[Pe*2+1]=8,Pe++,Mt[8]++;for(tn(ne,O+1,Mt),Pe=0;Pe<k;Pe++)Te[Pe*2+1]=5,Te[Pe*2]=$t(Pe,5);rt=new Qe(ne,ze,S+1,O,G),tt=new Qe(Te,pe,0,k,G),lt=new Qe(new Array(0),we,0,z,K)}function Ar(Pe){var Ot;for(Ot=0;Ot<O;Ot++)Pe.dyn_ltree[Ot*2]=0;for(Ot=0;Ot<k;Ot++)Pe.dyn_dtree[Ot*2]=0;for(Ot=0;Ot<z;Ot++)Pe.bl_tree[Ot*2]=0;Pe.dyn_ltree[fe*2]=1,Pe.opt_len=Pe.static_len=0,Pe.last_lit=Pe.matches=0}function Mn(Pe){Pe.bi_valid>8?nt(Pe,Pe.bi_buf):Pe.bi_valid>0&&(Pe.pending_buf[Pe.pending++]=Pe.bi_buf),Pe.bi_buf=0,Pe.bi_valid=0}function hr(Pe,Ot,Vt,sr){Mn(Pe),nt(Pe,Vt),nt(Pe,~Vt),r.arraySet(Pe.pending_buf,Pe.window,Ot,Vt,Pe.pending),Pe.pending+=Vt}function pr(Pe,Ot,Vt,sr){var Ze=Ot*2,Mt=Vt*2;return Pe[Ze]<Pe[Mt]||Pe[Ze]===Pe[Mt]&&sr[Ot]<=sr[Vt]}function rn(Pe,Ot,Vt){for(var sr=Pe.heap[Vt],Ze=Vt<<1;Ze<=Pe.heap_len&&(Ze<Pe.heap_len&&pr(Ot,Pe.heap[Ze+1],Pe.heap[Ze],Pe.depth)&&Ze++,!pr(Ot,sr,Pe.heap[Ze],Pe.depth));)Pe.heap[Vt]=Pe.heap[Ze],Vt=Ze,Ze<<=1;Pe.heap[Vt]=sr}function Sr(Pe,Ot,Vt){var sr,Ze,Mt=0,ge,kt;if(Pe.last_lit!==0)do sr=Pe.pending_buf[Pe.d_buf+Mt*2]<<8|Pe.pending_buf[Pe.d_buf+Mt*2+1],Ze=Pe.pending_buf[Pe.l_buf+Mt],Mt++,sr===0?Xt(Pe,Ze,Ot):(ge=Ce[Ze],Xt(Pe,ge+S+1,Ot),kt=ze[ge],kt!==0&&(Ze-=Ne[ge],cr(Pe,Ze,kt)),sr--,ge=Tt(sr),Xt(Pe,ge,Vt),kt=pe[ge],kt!==0&&(sr-=Ge[ge],cr(Pe,sr,kt)));while(Mt<Pe.last_lit);Xt(Pe,fe,Ot)}function ei(Pe,Ot){var Vt=Ot.dyn_tree,sr=Ot.stat_desc.static_tree,Ze=Ot.stat_desc.has_stree,Mt=Ot.stat_desc.elems,ge,kt,wt=-1,$;for(Pe.heap_len=0,Pe.heap_max=J,ge=0;ge<Mt;ge++)Vt[ge*2]!==0?(Pe.heap[++Pe.heap_len]=wt=ge,Pe.depth[ge]=0):Vt[ge*2+1]=0;for(;Pe.heap_len<2;)$=Pe.heap[++Pe.heap_len]=wt<2?++wt:0,Vt[$*2]=1,Pe.depth[$]=0,Pe.opt_len--,Ze&&(Pe.static_len-=sr[$*2+1]);for(Ot.max_code=wt,ge=Pe.heap_len>>1;ge>=1;ge--)rn(Pe,Vt,ge);$=Mt;do ge=Pe.heap[1],Pe.heap[1]=Pe.heap[Pe.heap_len--],rn(Pe,Vt,1),kt=Pe.heap[1],Pe.heap[--Pe.heap_max]=ge,Pe.heap[--Pe.heap_max]=kt,Vt[$*2]=Vt[ge*2]+Vt[kt*2],Pe.depth[$]=(Pe.depth[ge]>=Pe.depth[kt]?Pe.depth[ge]:Pe.depth[kt])+1,Vt[ge*2+1]=Vt[kt*2+1]=$,Pe.heap[1]=$++,rn(Pe,Vt,1);while(Pe.heap_len>=2);Pe.heap[--Pe.heap_max]=Pe.heap[1],lr(Pe,Ot),tn(Vt,wt,Pe.bl_count)}function $n(Pe,Ot,Vt){var sr,Ze=-1,Mt,ge=Ot[0*2+1],kt=0,wt=7,$=4;for(ge===0&&(wt=138,$=3),Ot[(Vt+1)*2+1]=65535,sr=0;sr<=Vt;sr++)Mt=ge,ge=Ot[(sr+1)*2+1],!(++kt<wt&&Mt===ge)&&(kt<$?Pe.bl_tree[Mt*2]+=kt:Mt!==0?(Mt!==Ze&&Pe.bl_tree[Mt*2]++,Pe.bl_tree[Q*2]++):kt<=10?Pe.bl_tree[oe*2]++:Pe.bl_tree[Be*2]++,kt=0,Ze=Mt,ge===0?(wt=138,$=3):Mt===ge?(wt=6,$=3):(wt=7,$=4))}function un(Pe,Ot,Vt){var sr,Ze=-1,Mt,ge=Ot[0*2+1],kt=0,wt=7,$=4;for(ge===0&&(wt=138,$=3),sr=0;sr<=Vt;sr++)if(Mt=ge,ge=Ot[(sr+1)*2+1],!(++kt<wt&&Mt===ge)){if(kt<$)do Xt(Pe,Mt,Pe.bl_tree);while(--kt!==0);else Mt!==0?(Mt!==Ze&&(Xt(Pe,Mt,Pe.bl_tree),kt--),Xt(Pe,Q,Pe.bl_tree),cr(Pe,kt-3,2)):kt<=10?(Xt(Pe,oe,Pe.bl_tree),cr(Pe,kt-3,3)):(Xt(Pe,Be,Pe.bl_tree),cr(Pe,kt-11,7));kt=0,Ze=Mt,ge===0?(wt=138,$=3):Mt===ge?(wt=6,$=3):(wt=7,$=4)}}function Xn(Pe){var Ot;for($n(Pe,Pe.dyn_ltree,Pe.l_desc.max_code),$n(Pe,Pe.dyn_dtree,Pe.d_desc.max_code),ei(Pe,Pe.bl_desc),Ot=z-1;Ot>=3&&Pe.bl_tree[Ae[Ot]*2+1]===0;Ot--);return Pe.opt_len+=3*(Ot+1)+5+5+4,Ot}function kn(Pe,Ot,Vt,sr){var Ze;for(cr(Pe,Ot-257,5),cr(Pe,Vt-1,5),cr(Pe,sr-4,4),Ze=0;Ze<sr;Ze++)cr(Pe,Pe.bl_tree[Ae[Ze]*2+1],3);un(Pe,Pe.dyn_ltree,Ot-1),un(Pe,Pe.dyn_dtree,Vt-1)}function bn(Pe){var Ot=4093624447,Vt;for(Vt=0;Vt<=31;Vt++,Ot>>>=1)if(Ot&1&&Pe.dyn_ltree[Vt*2]!==0)return t;if(Pe.dyn_ltree[9*2]!==0||Pe.dyn_ltree[10*2]!==0||Pe.dyn_ltree[13*2]!==0)return n;for(Vt=32;Vt<S;Vt++)if(Pe.dyn_ltree[Vt*2]!==0)return n;return t}var Wn=!1;function Ut(Pe){Wn||(Er(),Wn=!0),Pe.l_desc=new mt(Pe.dyn_ltree,rt),Pe.d_desc=new mt(Pe.dyn_dtree,tt),Pe.bl_desc=new mt(Pe.bl_tree,lt),Pe.bi_buf=0,Pe.bi_valid=0,Ar(Pe)}function dr(Pe,Ot,Vt,sr){cr(Pe,(s<<1)+(sr?1:0),3),hr(Pe,Ot,Vt)}function Tr(Pe){cr(Pe,c<<1,3),Xt(Pe,fe,ne),Lt(Pe)}function qr(Pe,Ot,Vt,sr){var Ze,Mt,ge=0;Pe.level>0?(Pe.strm.data_type===i&&(Pe.strm.data_type=bn(Pe)),ei(Pe,Pe.l_desc),ei(Pe,Pe.d_desc),ge=Xn(Pe),Ze=Pe.opt_len+3+7>>>3,Mt=Pe.static_len+3+7>>>3,Mt<=Ze&&(Ze=Mt)):Ze=Mt=Vt+5,Vt+4<=Ze&&Ot!==-1?dr(Pe,Ot,Vt,sr):Pe.strategy===e||Mt===Ze?(cr(Pe,(c<<1)+(sr?1:0),3),Sr(Pe,ne,Te)):(cr(Pe,(f<<1)+(sr?1:0),3),kn(Pe,Pe.l_desc.max_code+1,Pe.d_desc.max_code+1,ge+1),Sr(Pe,Pe.dyn_ltree,Pe.dyn_dtree)),Ar(Pe),sr&&Mn(Pe)}function ui(Pe,Ot,Vt){return Pe.pending_buf[Pe.d_buf+Pe.last_lit*2]=Ot>>>8&255,Pe.pending_buf[Pe.d_buf+Pe.last_lit*2+1]=Ot&255,Pe.pending_buf[Pe.l_buf+Pe.last_lit]=Vt&255,Pe.last_lit++,Ot===0?Pe.dyn_ltree[Vt*2]++:(Pe.matches++,Ot--,Pe.dyn_ltree[(Ce[Vt]+S+1)*2]++,Pe.dyn_dtree[Tt(Ot)*2]++),Pe.last_lit===Pe.lit_bufsize-1}return Lf._tr_init=Ut,Lf._tr_stored_block=dr,Lf._tr_flush_block=qr,Lf._tr_tally=ui,Lf._tr_align=Tr,Lf}var R1,uF;function uk(){if(uF)return R1;uF=1;function r(e,t,n,i){for(var o=e&65535|0,s=e>>>16&65535|0,c=0;n!==0;){c=n>2e3?2e3:n,n-=c;do o=o+t[i++]|0,s=s+o|0;while(--c);o%=65521,s%=65521}return o|s<<16|0}return R1=r,R1}var F1,fF;function fk(){if(fF)return F1;fF=1;function r(){for(var n,i=[],o=0;o<256;o++){n=o;for(var s=0;s<8;s++)n=n&1?3988292384^n>>>1:n>>>1;i[o]=n}return i}var e=r();function t(n,i,o,s){var c=e,f=s+o;n^=-1;for(var y=s;y<f;y++)n=n>>>8^c[(n^i[y])&255];return n^-1}return F1=t,F1}var D1,hF;function nE(){return hF||(hF=1,D1={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}),D1}var dF;function o1e(){if(dF)return Za;dF=1;var r=nf(),e=s1e(),t=uk(),n=fk(),i=nE(),o=0,s=1,c=3,f=4,y=5,b=0,B=1,S=-2,O=-3,k=-5,z=-1,J=1,G=2,j=3,K=4,fe=0,Q=2,oe=8,Be=9,ze=15,pe=8,we=29,Ae=256,W=Ae+1+we,ne=30,Te=19,Ye=2*W+1,Ce=15,Ne=3,Ge=258,Qe=Ge+Ne+1,rt=32,tt=42,lt=69,mt=73,Tt=91,nt=103,cr=113,Xt=666,$t=1,Lt=2,lr=3,tn=4,Er=3;function Ar($,yt){return $.msg=i[yt],yt}function Mn($){return($<<1)-($>4?9:0)}function hr($){for(var yt=$.length;--yt>=0;)$[yt]=0}function pr($){var yt=$.state,Et=yt.pending;Et>$.avail_out&&(Et=$.avail_out),Et!==0&&(r.arraySet($.output,yt.pending_buf,yt.pending_out,Et,$.next_out),$.next_out+=Et,yt.pending_out+=Et,$.total_out+=Et,$.avail_out-=Et,yt.pending-=Et,yt.pending===0&&(yt.pending_out=0))}function rn($,yt){e._tr_flush_block($,$.block_start>=0?$.block_start:-1,$.strstart-$.block_start,yt),$.block_start=$.strstart,pr($.strm)}function Sr($,yt){$.pending_buf[$.pending++]=yt}function ei($,yt){$.pending_buf[$.pending++]=yt>>>8&255,$.pending_buf[$.pending++]=yt&255}function $n($,yt,Et,Ee){var Je=$.avail_in;return Je>Ee&&(Je=Ee),Je===0?0:($.avail_in-=Je,r.arraySet(yt,$.input,$.next_in,Je,Et),$.state.wrap===1?$.adler=t($.adler,yt,Je,Et):$.state.wrap===2&&($.adler=n($.adler,yt,Je,Et)),$.next_in+=Je,$.total_in+=Je,Je)}function un($,yt){var Et=$.max_chain_length,Ee=$.strstart,Je,ct,Y=$.prev_length,ie=$.nice_match,ue=$.strstart>$.w_size-Qe?$.strstart-($.w_size-Qe):0,ye=$.window,Oe=$.w_mask,de=$.prev,ve=$.strstart+Ge,ce=ye[Ee+Y-1],Se=ye[Ee+Y];$.prev_length>=$.good_match&&(Et>>=2),ie>$.lookahead&&(ie=$.lookahead);do if(Je=yt,!(ye[Je+Y]!==Se||ye[Je+Y-1]!==ce||ye[Je]!==ye[Ee]||ye[++Je]!==ye[Ee+1])){Ee+=2,Je++;do;while(ye[++Ee]===ye[++Je]&&ye[++Ee]===ye[++Je]&&ye[++Ee]===ye[++Je]&&ye[++Ee]===ye[++Je]&&ye[++Ee]===ye[++Je]&&ye[++Ee]===ye[++Je]&&ye[++Ee]===ye[++Je]&&ye[++Ee]===ye[++Je]&&Ee<ve);if(ct=Ge-(ve-Ee),Ee=ve-Ge,ct>Y){if($.match_start=yt,Y=ct,ct>=ie)break;ce=ye[Ee+Y-1],Se=ye[Ee+Y]}}while((yt=de[yt&Oe])>ue&&--Et!==0);return Y<=$.lookahead?Y:$.lookahead}function Xn($){var yt=$.w_size,Et,Ee,Je,ct,Y;do{if(ct=$.window_size-$.lookahead-$.strstart,$.strstart>=yt+(yt-Qe)){r.arraySet($.window,$.window,yt,yt,0),$.match_start-=yt,$.strstart-=yt,$.block_start-=yt,Ee=$.hash_size,Et=Ee;do Je=$.head[--Et],$.head[Et]=Je>=yt?Je-yt:0;while(--Ee);Ee=yt,Et=Ee;do Je=$.prev[--Et],$.prev[Et]=Je>=yt?Je-yt:0;while(--Ee);ct+=yt}if($.strm.avail_in===0)break;if(Ee=$n($.strm,$.window,$.strstart+$.lookahead,ct),$.lookahead+=Ee,$.lookahead+$.insert>=Ne)for(Y=$.strstart-$.insert,$.ins_h=$.window[Y],$.ins_h=($.ins_h<<$.hash_shift^$.window[Y+1])&$.hash_mask;$.insert&&($.ins_h=($.ins_h<<$.hash_shift^$.window[Y+Ne-1])&$.hash_mask,$.prev[Y&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=Y,Y++,$.insert--,!($.lookahead+$.insert<Ne)););}while($.lookahead<Qe&&$.strm.avail_in!==0)}function kn($,yt){var Et=65535;for(Et>$.pending_buf_size-5&&(Et=$.pending_buf_size-5);;){if($.lookahead<=1){if(Xn($),$.lookahead===0&&yt===o)return $t;if($.lookahead===0)break}$.strstart+=$.lookahead,$.lookahead=0;var Ee=$.block_start+Et;if(($.strstart===0||$.strstart>=Ee)&&($.lookahead=$.strstart-Ee,$.strstart=Ee,rn($,!1),$.strm.avail_out===0)||$.strstart-$.block_start>=$.w_size-Qe&&(rn($,!1),$.strm.avail_out===0))return $t}return $.insert=0,yt===f?(rn($,!0),$.strm.avail_out===0?lr:tn):($.strstart>$.block_start&&(rn($,!1),$.strm.avail_out===0),$t)}function bn($,yt){for(var Et,Ee;;){if($.lookahead<Qe){if(Xn($),$.lookahead<Qe&&yt===o)return $t;if($.lookahead===0)break}if(Et=0,$.lookahead>=Ne&&($.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+Ne-1])&$.hash_mask,Et=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart),Et!==0&&$.strstart-Et<=$.w_size-Qe&&($.match_length=un($,Et)),$.match_length>=Ne)if(Ee=e._tr_tally($,$.strstart-$.match_start,$.match_length-Ne),$.lookahead-=$.match_length,$.match_length<=$.max_lazy_match&&$.lookahead>=Ne){$.match_length--;do $.strstart++,$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+Ne-1])&$.hash_mask,Et=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart;while(--$.match_length!==0);$.strstart++}else $.strstart+=$.match_length,$.match_length=0,$.ins_h=$.window[$.strstart],$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+1])&$.hash_mask;else Ee=e._tr_tally($,0,$.window[$.strstart]),$.lookahead--,$.strstart++;if(Ee&&(rn($,!1),$.strm.avail_out===0))return $t}return $.insert=$.strstart<Ne-1?$.strstart:Ne-1,yt===f?(rn($,!0),$.strm.avail_out===0?lr:tn):$.last_lit&&(rn($,!1),$.strm.avail_out===0)?$t:Lt}function Wn($,yt){for(var Et,Ee,Je;;){if($.lookahead<Qe){if(Xn($),$.lookahead<Qe&&yt===o)return $t;if($.lookahead===0)break}if(Et=0,$.lookahead>=Ne&&($.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+Ne-1])&$.hash_mask,Et=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart),$.prev_length=$.match_length,$.prev_match=$.match_start,$.match_length=Ne-1,Et!==0&&$.prev_length<$.max_lazy_match&&$.strstart-Et<=$.w_size-Qe&&($.match_length=un($,Et),$.match_length<=5&&($.strategy===J||$.match_length===Ne&&$.strstart-$.match_start>4096)&&($.match_length=Ne-1)),$.prev_length>=Ne&&$.match_length<=$.prev_length){Je=$.strstart+$.lookahead-Ne,Ee=e._tr_tally($,$.strstart-1-$.prev_match,$.prev_length-Ne),$.lookahead-=$.prev_length-1,$.prev_length-=2;do++$.strstart<=Je&&($.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+Ne-1])&$.hash_mask,Et=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart);while(--$.prev_length!==0);if($.match_available=0,$.match_length=Ne-1,$.strstart++,Ee&&(rn($,!1),$.strm.avail_out===0))return $t}else if($.match_available){if(Ee=e._tr_tally($,0,$.window[$.strstart-1]),Ee&&rn($,!1),$.strstart++,$.lookahead--,$.strm.avail_out===0)return $t}else $.match_available=1,$.strstart++,$.lookahead--}return $.match_available&&(Ee=e._tr_tally($,0,$.window[$.strstart-1]),$.match_available=0),$.insert=$.strstart<Ne-1?$.strstart:Ne-1,yt===f?(rn($,!0),$.strm.avail_out===0?lr:tn):$.last_lit&&(rn($,!1),$.strm.avail_out===0)?$t:Lt}function Ut($,yt){for(var Et,Ee,Je,ct,Y=$.window;;){if($.lookahead<=Ge){if(Xn($),$.lookahead<=Ge&&yt===o)return $t;if($.lookahead===0)break}if($.match_length=0,$.lookahead>=Ne&&$.strstart>0&&(Je=$.strstart-1,Ee=Y[Je],Ee===Y[++Je]&&Ee===Y[++Je]&&Ee===Y[++Je])){ct=$.strstart+Ge;do;while(Ee===Y[++Je]&&Ee===Y[++Je]&&Ee===Y[++Je]&&Ee===Y[++Je]&&Ee===Y[++Je]&&Ee===Y[++Je]&&Ee===Y[++Je]&&Ee===Y[++Je]&&Je<ct);$.match_length=Ge-(ct-Je),$.match_length>$.lookahead&&($.match_length=$.lookahead)}if($.match_length>=Ne?(Et=e._tr_tally($,1,$.match_length-Ne),$.lookahead-=$.match_length,$.strstart+=$.match_length,$.match_length=0):(Et=e._tr_tally($,0,$.window[$.strstart]),$.lookahead--,$.strstart++),Et&&(rn($,!1),$.strm.avail_out===0))return $t}return $.insert=0,yt===f?(rn($,!0),$.strm.avail_out===0?lr:tn):$.last_lit&&(rn($,!1),$.strm.avail_out===0)?$t:Lt}function dr($,yt){for(var Et;;){if($.lookahead===0&&(Xn($),$.lookahead===0)){if(yt===o)return $t;break}if($.match_length=0,Et=e._tr_tally($,0,$.window[$.strstart]),$.lookahead--,$.strstart++,Et&&(rn($,!1),$.strm.avail_out===0))return $t}return $.insert=0,yt===f?(rn($,!0),$.strm.avail_out===0?lr:tn):$.last_lit&&(rn($,!1),$.strm.avail_out===0)?$t:Lt}function Tr($,yt,Et,Ee,Je){this.good_length=$,this.max_lazy=yt,this.nice_length=Et,this.max_chain=Ee,this.func=Je}var qr;qr=[new Tr(0,0,0,0,kn),new Tr(4,4,8,4,bn),new Tr(4,5,16,8,bn),new Tr(4,6,32,32,bn),new Tr(4,4,16,16,Wn),new Tr(8,16,32,32,Wn),new Tr(8,16,128,128,Wn),new Tr(8,32,128,256,Wn),new Tr(32,128,258,1024,Wn),new Tr(32,258,258,4096,Wn)];function ui($){$.window_size=2*$.w_size,hr($.head),$.max_lazy_match=qr[$.level].max_lazy,$.good_match=qr[$.level].good_length,$.nice_match=qr[$.level].nice_length,$.max_chain_length=qr[$.level].max_chain,$.strstart=0,$.block_start=0,$.lookahead=0,$.insert=0,$.match_length=$.prev_length=Ne-1,$.match_available=0,$.ins_h=0}function Pe(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=oe,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new r.Buf16(Ye*2),this.dyn_dtree=new r.Buf16((2*ne+1)*2),this.bl_tree=new r.Buf16((2*Te+1)*2),hr(this.dyn_ltree),hr(this.dyn_dtree),hr(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new r.Buf16(Ce+1),this.heap=new r.Buf16(2*W+1),hr(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new r.Buf16(2*W+1),hr(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function Ot($){var yt;return!$||!$.state?Ar($,S):($.total_in=$.total_out=0,$.data_type=Q,yt=$.state,yt.pending=0,yt.pending_out=0,yt.wrap<0&&(yt.wrap=-yt.wrap),yt.status=yt.wrap?tt:cr,$.adler=yt.wrap===2?0:1,yt.last_flush=o,e._tr_init(yt),b)}function Vt($){var yt=Ot($);return yt===b&&ui($.state),yt}function sr($,yt){return!$||!$.state||$.state.wrap!==2?S:($.state.gzhead=yt,b)}function Ze($,yt,Et,Ee,Je,ct){if(!$)return S;var Y=1;if(yt===z&&(yt=6),Ee<0?(Y=0,Ee=-Ee):Ee>15&&(Y=2,Ee-=16),Je<1||Je>Be||Et!==oe||Ee<8||Ee>15||yt<0||yt>9||ct<0||ct>K)return Ar($,S);Ee===8&&(Ee=9);var ie=new Pe;return $.state=ie,ie.strm=$,ie.wrap=Y,ie.gzhead=null,ie.w_bits=Ee,ie.w_size=1<<ie.w_bits,ie.w_mask=ie.w_size-1,ie.hash_bits=Je+7,ie.hash_size=1<<ie.hash_bits,ie.hash_mask=ie.hash_size-1,ie.hash_shift=~~((ie.hash_bits+Ne-1)/Ne),ie.window=new r.Buf8(ie.w_size*2),ie.head=new r.Buf16(ie.hash_size),ie.prev=new r.Buf16(ie.w_size),ie.lit_bufsize=1<<Je+6,ie.pending_buf_size=ie.lit_bufsize*4,ie.pending_buf=new r.Buf8(ie.pending_buf_size),ie.d_buf=1*ie.lit_bufsize,ie.l_buf=3*ie.lit_bufsize,ie.level=yt,ie.strategy=ct,ie.method=Et,Vt($)}function Mt($,yt){return Ze($,yt,oe,ze,pe,fe)}function ge($,yt){var Et,Ee,Je,ct;if(!$||!$.state||yt>y||yt<0)return $?Ar($,S):S;if(Ee=$.state,!$.output||!$.input&&$.avail_in!==0||Ee.status===Xt&&yt!==f)return Ar($,$.avail_out===0?k:S);if(Ee.strm=$,Et=Ee.last_flush,Ee.last_flush=yt,Ee.status===tt)if(Ee.wrap===2)$.adler=0,Sr(Ee,31),Sr(Ee,139),Sr(Ee,8),Ee.gzhead?(Sr(Ee,(Ee.gzhead.text?1:0)+(Ee.gzhead.hcrc?2:0)+(Ee.gzhead.extra?4:0)+(Ee.gzhead.name?8:0)+(Ee.gzhead.comment?16:0)),Sr(Ee,Ee.gzhead.time&255),Sr(Ee,Ee.gzhead.time>>8&255),Sr(Ee,Ee.gzhead.time>>16&255),Sr(Ee,Ee.gzhead.time>>24&255),Sr(Ee,Ee.level===9?2:Ee.strategy>=G||Ee.level<2?4:0),Sr(Ee,Ee.gzhead.os&255),Ee.gzhead.extra&&Ee.gzhead.extra.length&&(Sr(Ee,Ee.gzhead.extra.length&255),Sr(Ee,Ee.gzhead.extra.length>>8&255)),Ee.gzhead.hcrc&&($.adler=n($.adler,Ee.pending_buf,Ee.pending,0)),Ee.gzindex=0,Ee.status=lt):(Sr(Ee,0),Sr(Ee,0),Sr(Ee,0),Sr(Ee,0),Sr(Ee,0),Sr(Ee,Ee.level===9?2:Ee.strategy>=G||Ee.level<2?4:0),Sr(Ee,Er),Ee.status=cr);else{var Y=oe+(Ee.w_bits-8<<4)<<8,ie=-1;Ee.strategy>=G||Ee.level<2?ie=0:Ee.level<6?ie=1:Ee.level===6?ie=2:ie=3,Y|=ie<<6,Ee.strstart!==0&&(Y|=rt),Y+=31-Y%31,Ee.status=cr,ei(Ee,Y),Ee.strstart!==0&&(ei(Ee,$.adler>>>16),ei(Ee,$.adler&65535)),$.adler=1}if(Ee.status===lt)if(Ee.gzhead.extra){for(Je=Ee.pending;Ee.gzindex<(Ee.gzhead.extra.length&65535)&&!(Ee.pending===Ee.pending_buf_size&&(Ee.gzhead.hcrc&&Ee.pending>Je&&($.adler=n($.adler,Ee.pending_buf,Ee.pending-Je,Je)),pr($),Je=Ee.pending,Ee.pending===Ee.pending_buf_size));)Sr(Ee,Ee.gzhead.extra[Ee.gzindex]&255),Ee.gzindex++;Ee.gzhead.hcrc&&Ee.pending>Je&&($.adler=n($.adler,Ee.pending_buf,Ee.pending-Je,Je)),Ee.gzindex===Ee.gzhead.extra.length&&(Ee.gzindex=0,Ee.status=mt)}else Ee.status=mt;if(Ee.status===mt)if(Ee.gzhead.name){Je=Ee.pending;do{if(Ee.pending===Ee.pending_buf_size&&(Ee.gzhead.hcrc&&Ee.pending>Je&&($.adler=n($.adler,Ee.pending_buf,Ee.pending-Je,Je)),pr($),Je=Ee.pending,Ee.pending===Ee.pending_buf_size)){ct=1;break}Ee.gzindex<Ee.gzhead.name.length?ct=Ee.gzhead.name.charCodeAt(Ee.gzindex++)&255:ct=0,Sr(Ee,ct)}while(ct!==0);Ee.gzhead.hcrc&&Ee.pending>Je&&($.adler=n($.adler,Ee.pending_buf,Ee.pending-Je,Je)),ct===0&&(Ee.gzindex=0,Ee.status=Tt)}else Ee.status=Tt;if(Ee.status===Tt)if(Ee.gzhead.comment){Je=Ee.pending;do{if(Ee.pending===Ee.pending_buf_size&&(Ee.gzhead.hcrc&&Ee.pending>Je&&($.adler=n($.adler,Ee.pending_buf,Ee.pending-Je,Je)),pr($),Je=Ee.pending,Ee.pending===Ee.pending_buf_size)){ct=1;break}Ee.gzindex<Ee.gzhead.comment.length?ct=Ee.gzhead.comment.charCodeAt(Ee.gzindex++)&255:ct=0,Sr(Ee,ct)}while(ct!==0);Ee.gzhead.hcrc&&Ee.pending>Je&&($.adler=n($.adler,Ee.pending_buf,Ee.pending-Je,Je)),ct===0&&(Ee.status=nt)}else Ee.status=nt;if(Ee.status===nt&&(Ee.gzhead.hcrc?(Ee.pending+2>Ee.pending_buf_size&&pr($),Ee.pending+2<=Ee.pending_buf_size&&(Sr(Ee,$.adler&255),Sr(Ee,$.adler>>8&255),$.adler=0,Ee.status=cr)):Ee.status=cr),Ee.pending!==0){if(pr($),$.avail_out===0)return Ee.last_flush=-1,b}else if($.avail_in===0&&Mn(yt)<=Mn(Et)&&yt!==f)return Ar($,k);if(Ee.status===Xt&&$.avail_in!==0)return Ar($,k);if($.avail_in!==0||Ee.lookahead!==0||yt!==o&&Ee.status!==Xt){var ue=Ee.strategy===G?dr(Ee,yt):Ee.strategy===j?Ut(Ee,yt):qr[Ee.level].func(Ee,yt);if((ue===lr||ue===tn)&&(Ee.status=Xt),ue===$t||ue===lr)return $.avail_out===0&&(Ee.last_flush=-1),b;if(ue===Lt&&(yt===s?e._tr_align(Ee):yt!==y&&(e._tr_stored_block(Ee,0,0,!1),yt===c&&(hr(Ee.head),Ee.lookahead===0&&(Ee.strstart=0,Ee.block_start=0,Ee.insert=0))),pr($),$.avail_out===0))return Ee.last_flush=-1,b}return yt!==f?b:Ee.wrap<=0?B:(Ee.wrap===2?(Sr(Ee,$.adler&255),Sr(Ee,$.adler>>8&255),Sr(Ee,$.adler>>16&255),Sr(Ee,$.adler>>24&255),Sr(Ee,$.total_in&255),Sr(Ee,$.total_in>>8&255),Sr(Ee,$.total_in>>16&255),Sr(Ee,$.total_in>>24&255)):(ei(Ee,$.adler>>>16),ei(Ee,$.adler&65535)),pr($),Ee.wrap>0&&(Ee.wrap=-Ee.wrap),Ee.pending!==0?b:B)}function kt($){var yt;return!$||!$.state?S:(yt=$.state.status,yt!==tt&&yt!==lt&&yt!==mt&&yt!==Tt&&yt!==nt&&yt!==cr&&yt!==Xt?Ar($,S):($.state=null,yt===cr?Ar($,O):b))}function wt($,yt){var Et=yt.length,Ee,Je,ct,Y,ie,ue,ye,Oe;if(!$||!$.state||(Ee=$.state,Y=Ee.wrap,Y===2||Y===1&&Ee.status!==tt||Ee.lookahead))return S;for(Y===1&&($.adler=t($.adler,yt,Et,0)),Ee.wrap=0,Et>=Ee.w_size&&(Y===0&&(hr(Ee.head),Ee.strstart=0,Ee.block_start=0,Ee.insert=0),Oe=new r.Buf8(Ee.w_size),r.arraySet(Oe,yt,Et-Ee.w_size,Ee.w_size,0),yt=Oe,Et=Ee.w_size),ie=$.avail_in,ue=$.next_in,ye=$.input,$.avail_in=Et,$.next_in=0,$.input=yt,Xn(Ee);Ee.lookahead>=Ne;){Je=Ee.strstart,ct=Ee.lookahead-(Ne-1);do Ee.ins_h=(Ee.ins_h<<Ee.hash_shift^Ee.window[Je+Ne-1])&Ee.hash_mask,Ee.prev[Je&Ee.w_mask]=Ee.head[Ee.ins_h],Ee.head[Ee.ins_h]=Je,Je++;while(--ct);Ee.strstart=Je,Ee.lookahead=Ne-1,Xn(Ee)}return Ee.strstart+=Ee.lookahead,Ee.block_start=Ee.strstart,Ee.insert=Ee.lookahead,Ee.lookahead=0,Ee.match_length=Ee.prev_length=Ne-1,Ee.match_available=0,$.next_in=ue,$.input=ye,$.avail_in=ie,Ee.wrap=Y,b}return Za.deflateInit=Mt,Za.deflateInit2=Ze,Za.deflateReset=Vt,Za.deflateResetKeep=Ot,Za.deflateSetHeader=sr,Za.deflate=ge,Za.deflateEnd=kt,Za.deflateSetDictionary=wt,Za.deflateInfo="pako deflate (from Nodeca project)",Za}var Nf={},AF;function hk(){if(AF)return Nf;AF=1;var r=nf(),e=!0,t=!0;try{String.fromCharCode.apply(null,[0])}catch{e=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{t=!1}for(var n=new r.Buf8(256),i=0;i<256;i++)n[i]=i>=252?6:i>=248?5:i>=240?4:i>=224?3:i>=192?2:1;n[254]=n[254]=1,Nf.string2buf=function(s){var c,f,y,b,B,S=s.length,O=0;for(b=0;b<S;b++)f=s.charCodeAt(b),(f&64512)===55296&&b+1<S&&(y=s.charCodeAt(b+1),(y&64512)===56320&&(f=65536+(f-55296<<10)+(y-56320),b++)),O+=f<128?1:f<2048?2:f<65536?3:4;for(c=new r.Buf8(O),B=0,b=0;B<O;b++)f=s.charCodeAt(b),(f&64512)===55296&&b+1<S&&(y=s.charCodeAt(b+1),(y&64512)===56320&&(f=65536+(f-55296<<10)+(y-56320),b++)),f<128?c[B++]=f:f<2048?(c[B++]=192|f>>>6,c[B++]=128|f&63):f<65536?(c[B++]=224|f>>>12,c[B++]=128|f>>>6&63,c[B++]=128|f&63):(c[B++]=240|f>>>18,c[B++]=128|f>>>12&63,c[B++]=128|f>>>6&63,c[B++]=128|f&63);return c};function o(s,c){if(c<65534&&(s.subarray&&t||!s.subarray&&e))return String.fromCharCode.apply(null,r.shrinkBuf(s,c));for(var f="",y=0;y<c;y++)f+=String.fromCharCode(s[y]);return f}return Nf.buf2binstring=function(s){return o(s,s.length)},Nf.binstring2buf=function(s){for(var c=new r.Buf8(s.length),f=0,y=c.length;f<y;f++)c[f]=s.charCodeAt(f);return c},Nf.buf2string=function(s,c){var f,y,b,B,S=c||s.length,O=new Array(S*2);for(y=0,f=0;f<S;){if(b=s[f++],b<128){O[y++]=b;continue}if(B=n[b],B>4){O[y++]=65533,f+=B-1;continue}for(b&=B===2?31:B===3?15:7;B>1&&f<S;)b=b<<6|s[f++]&63,B--;if(B>1){O[y++]=65533;continue}b<65536?O[y++]=b:(b-=65536,O[y++]=55296|b>>10&1023,O[y++]=56320|b&1023)}return o(O,y)},Nf.utf8border=function(s,c){var f;for(c=c||s.length,c>s.length&&(c=s.length),f=c-1;f>=0&&(s[f]&192)===128;)f--;return f<0||f===0?c:f+n[s[f]]>c?f:c},Nf}var O1,pF;function dk(){if(pF)return O1;pF=1;function r(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}return O1=r,O1}var gF;function a1e(){if(gF)return Sd;gF=1;var r=o1e(),e=nf(),t=hk(),n=nE(),i=dk(),o=Object.prototype.toString,s=0,c=4,f=0,y=1,b=2,B=-1,S=0,O=8;function k(j){if(!(this instanceof k))return new k(j);this.options=e.assign({level:B,method:O,chunkSize:16384,windowBits:15,memLevel:8,strategy:S,to:""},j||{});var K=this.options;K.raw&&K.windowBits>0?K.windowBits=-K.windowBits:K.gzip&&K.windowBits>0&&K.windowBits<16&&(K.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new i,this.strm.avail_out=0;var fe=r.deflateInit2(this.strm,K.level,K.method,K.windowBits,K.memLevel,K.strategy);if(fe!==f)throw new Error(n[fe]);if(K.header&&r.deflateSetHeader(this.strm,K.header),K.dictionary){var Q;if(typeof K.dictionary=="string"?Q=t.string2buf(K.dictionary):o.call(K.dictionary)==="[object ArrayBuffer]"?Q=new Uint8Array(K.dictionary):Q=K.dictionary,fe=r.deflateSetDictionary(this.strm,Q),fe!==f)throw new Error(n[fe]);this._dict_set=!0}}k.prototype.push=function(j,K){var fe=this.strm,Q=this.options.chunkSize,oe,Be;if(this.ended)return!1;Be=K===~~K?K:K===!0?c:s,typeof j=="string"?fe.input=t.string2buf(j):o.call(j)==="[object ArrayBuffer]"?fe.input=new Uint8Array(j):fe.input=j,fe.next_in=0,fe.avail_in=fe.input.length;do{if(fe.avail_out===0&&(fe.output=new e.Buf8(Q),fe.next_out=0,fe.avail_out=Q),oe=r.deflate(fe,Be),oe!==y&&oe!==f)return this.onEnd(oe),this.ended=!0,!1;(fe.avail_out===0||fe.avail_in===0&&(Be===c||Be===b))&&(this.options.to==="string"?this.onData(t.buf2binstring(e.shrinkBuf(fe.output,fe.next_out))):this.onData(e.shrinkBuf(fe.output,fe.next_out)))}while((fe.avail_in>0||fe.avail_out===0)&&oe!==y);return Be===c?(oe=r.deflateEnd(this.strm),this.onEnd(oe),this.ended=!0,oe===f):(Be===b&&(this.onEnd(f),fe.avail_out=0),!0)},k.prototype.onData=function(j){this.chunks.push(j)},k.prototype.onEnd=function(j){j===f&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=e.flattenChunks(this.chunks)),this.chunks=[],this.err=j,this.msg=this.strm.msg};function z(j,K){var fe=new k(K);if(fe.push(j,!0),fe.err)throw fe.msg||n[fe.err];return fe.result}function J(j,K){return K=K||{},K.raw=!0,z(j,K)}function G(j,K){return K=K||{},K.gzip=!0,z(j,K)}return Sd.Deflate=k,Sd.deflate=z,Sd.deflateRaw=J,Sd.gzip=G,Sd}var Id={},ba={},L1,mF;function c1e(){if(mF)return L1;mF=1;var r=30,e=12;return L1=function(n,i){var o,s,c,f,y,b,B,S,O,k,z,J,G,j,K,fe,Q,oe,Be,ze,pe,we,Ae,W,ne;o=n.state,s=n.next_in,W=n.input,c=s+(n.avail_in-5),f=n.next_out,ne=n.output,y=f-(i-n.avail_out),b=f+(n.avail_out-257),B=o.dmax,S=o.wsize,O=o.whave,k=o.wnext,z=o.window,J=o.hold,G=o.bits,j=o.lencode,K=o.distcode,fe=(1<<o.lenbits)-1,Q=(1<<o.distbits)-1;e:do{G<15&&(J+=W[s++]<<G,G+=8,J+=W[s++]<<G,G+=8),oe=j[J&fe];t:for(;;){if(Be=oe>>>24,J>>>=Be,G-=Be,Be=oe>>>16&255,Be===0)ne[f++]=oe&65535;else if(Be&16){ze=oe&65535,Be&=15,Be&&(G<Be&&(J+=W[s++]<<G,G+=8),ze+=J&(1<<Be)-1,J>>>=Be,G-=Be),G<15&&(J+=W[s++]<<G,G+=8,J+=W[s++]<<G,G+=8),oe=K[J&Q];r:for(;;){if(Be=oe>>>24,J>>>=Be,G-=Be,Be=oe>>>16&255,Be&16){if(pe=oe&65535,Be&=15,G<Be&&(J+=W[s++]<<G,G+=8,G<Be&&(J+=W[s++]<<G,G+=8)),pe+=J&(1<<Be)-1,pe>B){n.msg="invalid distance too far back",o.mode=r;break e}if(J>>>=Be,G-=Be,Be=f-y,pe>Be){if(Be=pe-Be,Be>O&&o.sane){n.msg="invalid distance too far back",o.mode=r;break e}if(we=0,Ae=z,k===0){if(we+=S-Be,Be<ze){ze-=Be;do ne[f++]=z[we++];while(--Be);we=f-pe,Ae=ne}}else if(k<Be){if(we+=S+k-Be,Be-=k,Be<ze){ze-=Be;do ne[f++]=z[we++];while(--Be);if(we=0,k<ze){Be=k,ze-=Be;do ne[f++]=z[we++];while(--Be);we=f-pe,Ae=ne}}}else if(we+=k-Be,Be<ze){ze-=Be;do ne[f++]=z[we++];while(--Be);we=f-pe,Ae=ne}for(;ze>2;)ne[f++]=Ae[we++],ne[f++]=Ae[we++],ne[f++]=Ae[we++],ze-=3;ze&&(ne[f++]=Ae[we++],ze>1&&(ne[f++]=Ae[we++]))}else{we=f-pe;do ne[f++]=ne[we++],ne[f++]=ne[we++],ne[f++]=ne[we++],ze-=3;while(ze>2);ze&&(ne[f++]=ne[we++],ze>1&&(ne[f++]=ne[we++]))}}else if(Be&64){n.msg="invalid distance code",o.mode=r;break e}else{oe=K[(oe&65535)+(J&(1<<Be)-1)];continue r}break}}else if(Be&64)if(Be&32){o.mode=e;break e}else{n.msg="invalid literal/length code",o.mode=r;break e}else{oe=j[(oe&65535)+(J&(1<<Be)-1)];continue t}break}}while(s<c&&f<b);ze=G>>3,s-=ze,G-=ze<<3,J&=(1<<G)-1,n.next_in=s,n.next_out=f,n.avail_in=s<c?5+(c-s):5-(s-c),n.avail_out=f<b?257+(b-f):257-(f-b),o.hold=J,o.bits=G},L1}var N1,_F;function l1e(){if(_F)return N1;_F=1;var r=nf(),e=15,t=852,n=592,i=0,o=1,s=2,c=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],f=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],y=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],b=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];return N1=function(S,O,k,z,J,G,j,K){var fe=K.bits,Q=0,oe=0,Be=0,ze=0,pe=0,we=0,Ae=0,W=0,ne=0,Te=0,Ye,Ce,Ne,Ge,Qe,rt=null,tt=0,lt,mt=new r.Buf16(e+1),Tt=new r.Buf16(e+1),nt=null,cr=0,Xt,$t,Lt;for(Q=0;Q<=e;Q++)mt[Q]=0;for(oe=0;oe<z;oe++)mt[O[k+oe]]++;for(pe=fe,ze=e;ze>=1&&mt[ze]===0;ze--);if(pe>ze&&(pe=ze),ze===0)return J[G++]=1<<24|64<<16|0,J[G++]=1<<24|64<<16|0,K.bits=1,0;for(Be=1;Be<ze&&mt[Be]===0;Be++);for(pe<Be&&(pe=Be),W=1,Q=1;Q<=e;Q++)if(W<<=1,W-=mt[Q],W<0)return-1;if(W>0&&(S===i||ze!==1))return-1;for(Tt[1]=0,Q=1;Q<e;Q++)Tt[Q+1]=Tt[Q]+mt[Q];for(oe=0;oe<z;oe++)O[k+oe]!==0&&(j[Tt[O[k+oe]]++]=oe);if(S===i?(rt=nt=j,lt=19):S===o?(rt=c,tt-=257,nt=f,cr-=257,lt=256):(rt=y,nt=b,lt=-1),Te=0,oe=0,Q=Be,Qe=G,we=pe,Ae=0,Ne=-1,ne=1<<pe,Ge=ne-1,S===o&&ne>t||S===s&&ne>n)return 1;for(;;){Xt=Q-Ae,j[oe]<lt?($t=0,Lt=j[oe]):j[oe]>lt?($t=nt[cr+j[oe]],Lt=rt[tt+j[oe]]):($t=96,Lt=0),Ye=1<<Q-Ae,Ce=1<<we,Be=Ce;do Ce-=Ye,J[Qe+(Te>>Ae)+Ce]=Xt<<24|$t<<16|Lt|0;while(Ce!==0);for(Ye=1<<Q-1;Te&Ye;)Ye>>=1;if(Ye!==0?(Te&=Ye-1,Te+=Ye):Te=0,oe++,--mt[Q]===0){if(Q===ze)break;Q=O[k+j[oe]]}if(Q>pe&&(Te&Ge)!==Ne){for(Ae===0&&(Ae=pe),Qe+=Be,we=Q-Ae,W=1<<we;we+Ae<ze&&(W-=mt[we+Ae],!(W<=0));)we++,W<<=1;if(ne+=1<<we,S===o&&ne>t||S===s&&ne>n)return 1;Ne=Te&Ge,J[Ne]=pe<<24|we<<16|Qe-G|0}}return Te!==0&&(J[Qe+Te]=Q-Ae<<24|64<<16|0),K.bits=pe,0},N1}var yF;function u1e(){if(yF)return ba;yF=1;var r=nf(),e=uk(),t=fk(),n=c1e(),i=l1e(),o=0,s=1,c=2,f=4,y=5,b=6,B=0,S=1,O=2,k=-2,z=-3,J=-4,G=-5,j=8,K=1,fe=2,Q=3,oe=4,Be=5,ze=6,pe=7,we=8,Ae=9,W=10,ne=11,Te=12,Ye=13,Ce=14,Ne=15,Ge=16,Qe=17,rt=18,tt=19,lt=20,mt=21,Tt=22,nt=23,cr=24,Xt=25,$t=26,Lt=27,lr=28,tn=29,Er=30,Ar=31,Mn=32,hr=852,pr=592,rn=15,Sr=rn;function ei(Ze){return(Ze>>>24&255)+(Ze>>>8&65280)+((Ze&65280)<<8)+((Ze&255)<<24)}function $n(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function un(Ze){var Mt;return!Ze||!Ze.state?k:(Mt=Ze.state,Ze.total_in=Ze.total_out=Mt.total=0,Ze.msg="",Mt.wrap&&(Ze.adler=Mt.wrap&1),Mt.mode=K,Mt.last=0,Mt.havedict=0,Mt.dmax=32768,Mt.head=null,Mt.hold=0,Mt.bits=0,Mt.lencode=Mt.lendyn=new r.Buf32(hr),Mt.distcode=Mt.distdyn=new r.Buf32(pr),Mt.sane=1,Mt.back=-1,B)}function Xn(Ze){var Mt;return!Ze||!Ze.state?k:(Mt=Ze.state,Mt.wsize=0,Mt.whave=0,Mt.wnext=0,un(Ze))}function kn(Ze,Mt){var ge,kt;return!Ze||!Ze.state||(kt=Ze.state,Mt<0?(ge=0,Mt=-Mt):(ge=(Mt>>4)+1,Mt<48&&(Mt&=15)),Mt&&(Mt<8||Mt>15))?k:(kt.window!==null&&kt.wbits!==Mt&&(kt.window=null),kt.wrap=ge,kt.wbits=Mt,Xn(Ze))}function bn(Ze,Mt){var ge,kt;return Ze?(kt=new $n,Ze.state=kt,kt.window=null,ge=kn(Ze,Mt),ge!==B&&(Ze.state=null),ge):k}function Wn(Ze){return bn(Ze,Sr)}var Ut=!0,dr,Tr;function qr(Ze){if(Ut){var Mt;for(dr=new r.Buf32(512),Tr=new r.Buf32(32),Mt=0;Mt<144;)Ze.lens[Mt++]=8;for(;Mt<256;)Ze.lens[Mt++]=9;for(;Mt<280;)Ze.lens[Mt++]=7;for(;Mt<288;)Ze.lens[Mt++]=8;for(i(s,Ze.lens,0,288,dr,0,Ze.work,{bits:9}),Mt=0;Mt<32;)Ze.lens[Mt++]=5;i(c,Ze.lens,0,32,Tr,0,Ze.work,{bits:5}),Ut=!1}Ze.lencode=dr,Ze.lenbits=9,Ze.distcode=Tr,Ze.distbits=5}function ui(Ze,Mt,ge,kt){var wt,$=Ze.state;return $.window===null&&($.wsize=1<<$.wbits,$.wnext=0,$.whave=0,$.window=new r.Buf8($.wsize)),kt>=$.wsize?(r.arraySet($.window,Mt,ge-$.wsize,$.wsize,0),$.wnext=0,$.whave=$.wsize):(wt=$.wsize-$.wnext,wt>kt&&(wt=kt),r.arraySet($.window,Mt,ge-kt,wt,$.wnext),kt-=wt,kt?(r.arraySet($.window,Mt,ge-kt,kt,0),$.wnext=kt,$.whave=$.wsize):($.wnext+=wt,$.wnext===$.wsize&&($.wnext=0),$.whave<$.wsize&&($.whave+=wt))),0}function Pe(Ze,Mt){var ge,kt,wt,$,yt,Et,Ee,Je,ct,Y,ie,ue,ye,Oe,de=0,ve,ce,Se,p,le,vt,Ke,Ct,It=new r.Buf8(4),Ft,ut,Dt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!Ze||!Ze.state||!Ze.output||!Ze.input&&Ze.avail_in!==0)return k;ge=Ze.state,ge.mode===Te&&(ge.mode=Ye),yt=Ze.next_out,wt=Ze.output,Ee=Ze.avail_out,$=Ze.next_in,kt=Ze.input,Et=Ze.avail_in,Je=ge.hold,ct=ge.bits,Y=Et,ie=Ee,Ct=B;e:for(;;)switch(ge.mode){case K:if(ge.wrap===0){ge.mode=Ye;break}for(;ct<16;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}if(ge.wrap&2&&Je===35615){ge.check=0,It[0]=Je&255,It[1]=Je>>>8&255,ge.check=t(ge.check,It,2,0),Je=0,ct=0,ge.mode=fe;break}if(ge.flags=0,ge.head&&(ge.head.done=!1),!(ge.wrap&1)||(((Je&255)<<8)+(Je>>8))%31){Ze.msg="incorrect header check",ge.mode=Er;break}if((Je&15)!==j){Ze.msg="unknown compression method",ge.mode=Er;break}if(Je>>>=4,ct-=4,Ke=(Je&15)+8,ge.wbits===0)ge.wbits=Ke;else if(Ke>ge.wbits){Ze.msg="invalid window size",ge.mode=Er;break}ge.dmax=1<<Ke,Ze.adler=ge.check=1,ge.mode=Je&512?W:Te,Je=0,ct=0;break;case fe:for(;ct<16;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}if(ge.flags=Je,(ge.flags&255)!==j){Ze.msg="unknown compression method",ge.mode=Er;break}if(ge.flags&57344){Ze.msg="unknown header flags set",ge.mode=Er;break}ge.head&&(ge.head.text=Je>>8&1),ge.flags&512&&(It[0]=Je&255,It[1]=Je>>>8&255,ge.check=t(ge.check,It,2,0)),Je=0,ct=0,ge.mode=Q;case Q:for(;ct<32;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}ge.head&&(ge.head.time=Je),ge.flags&512&&(It[0]=Je&255,It[1]=Je>>>8&255,It[2]=Je>>>16&255,It[3]=Je>>>24&255,ge.check=t(ge.check,It,4,0)),Je=0,ct=0,ge.mode=oe;case oe:for(;ct<16;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}ge.head&&(ge.head.xflags=Je&255,ge.head.os=Je>>8),ge.flags&512&&(It[0]=Je&255,It[1]=Je>>>8&255,ge.check=t(ge.check,It,2,0)),Je=0,ct=0,ge.mode=Be;case Be:if(ge.flags&1024){for(;ct<16;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}ge.length=Je,ge.head&&(ge.head.extra_len=Je),ge.flags&512&&(It[0]=Je&255,It[1]=Je>>>8&255,ge.check=t(ge.check,It,2,0)),Je=0,ct=0}else ge.head&&(ge.head.extra=null);ge.mode=ze;case ze:if(ge.flags&1024&&(ue=ge.length,ue>Et&&(ue=Et),ue&&(ge.head&&(Ke=ge.head.extra_len-ge.length,ge.head.extra||(ge.head.extra=new Array(ge.head.extra_len)),r.arraySet(ge.head.extra,kt,$,ue,Ke)),ge.flags&512&&(ge.check=t(ge.check,kt,ue,$)),Et-=ue,$+=ue,ge.length-=ue),ge.length))break e;ge.length=0,ge.mode=pe;case pe:if(ge.flags&2048){if(Et===0)break e;ue=0;do Ke=kt[$+ue++],ge.head&&Ke&&ge.length<65536&&(ge.head.name+=String.fromCharCode(Ke));while(Ke&&ue<Et);if(ge.flags&512&&(ge.check=t(ge.check,kt,ue,$)),Et-=ue,$+=ue,Ke)break e}else ge.head&&(ge.head.name=null);ge.length=0,ge.mode=we;case we:if(ge.flags&4096){if(Et===0)break e;ue=0;do Ke=kt[$+ue++],ge.head&&Ke&&ge.length<65536&&(ge.head.comment+=String.fromCharCode(Ke));while(Ke&&ue<Et);if(ge.flags&512&&(ge.check=t(ge.check,kt,ue,$)),Et-=ue,$+=ue,Ke)break e}else ge.head&&(ge.head.comment=null);ge.mode=Ae;case Ae:if(ge.flags&512){for(;ct<16;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}if(Je!==(ge.check&65535)){Ze.msg="header crc mismatch",ge.mode=Er;break}Je=0,ct=0}ge.head&&(ge.head.hcrc=ge.flags>>9&1,ge.head.done=!0),Ze.adler=ge.check=0,ge.mode=Te;break;case W:for(;ct<32;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}Ze.adler=ge.check=ei(Je),Je=0,ct=0,ge.mode=ne;case ne:if(ge.havedict===0)return Ze.next_out=yt,Ze.avail_out=Ee,Ze.next_in=$,Ze.avail_in=Et,ge.hold=Je,ge.bits=ct,O;Ze.adler=ge.check=1,ge.mode=Te;case Te:if(Mt===y||Mt===b)break e;case Ye:if(ge.last){Je>>>=ct&7,ct-=ct&7,ge.mode=Lt;break}for(;ct<3;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}switch(ge.last=Je&1,Je>>>=1,ct-=1,Je&3){case 0:ge.mode=Ce;break;case 1:if(qr(ge),ge.mode=lt,Mt===b){Je>>>=2,ct-=2;break e}break;case 2:ge.mode=Qe;break;case 3:Ze.msg="invalid block type",ge.mode=Er}Je>>>=2,ct-=2;break;case Ce:for(Je>>>=ct&7,ct-=ct&7;ct<32;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}if((Je&65535)!==(Je>>>16^65535)){Ze.msg="invalid stored block lengths",ge.mode=Er;break}if(ge.length=Je&65535,Je=0,ct=0,ge.mode=Ne,Mt===b)break e;case Ne:ge.mode=Ge;case Ge:if(ue=ge.length,ue){if(ue>Et&&(ue=Et),ue>Ee&&(ue=Ee),ue===0)break e;r.arraySet(wt,kt,$,ue,yt),Et-=ue,$+=ue,Ee-=ue,yt+=ue,ge.length-=ue;break}ge.mode=Te;break;case Qe:for(;ct<14;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}if(ge.nlen=(Je&31)+257,Je>>>=5,ct-=5,ge.ndist=(Je&31)+1,Je>>>=5,ct-=5,ge.ncode=(Je&15)+4,Je>>>=4,ct-=4,ge.nlen>286||ge.ndist>30){Ze.msg="too many length or distance symbols",ge.mode=Er;break}ge.have=0,ge.mode=rt;case rt:for(;ge.have<ge.ncode;){for(;ct<3;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}ge.lens[Dt[ge.have++]]=Je&7,Je>>>=3,ct-=3}for(;ge.have<19;)ge.lens[Dt[ge.have++]]=0;if(ge.lencode=ge.lendyn,ge.lenbits=7,Ft={bits:ge.lenbits},Ct=i(o,ge.lens,0,19,ge.lencode,0,ge.work,Ft),ge.lenbits=Ft.bits,Ct){Ze.msg="invalid code lengths set",ge.mode=Er;break}ge.have=0,ge.mode=tt;case tt:for(;ge.have<ge.nlen+ge.ndist;){for(;de=ge.lencode[Je&(1<<ge.lenbits)-1],ve=de>>>24,ce=de>>>16&255,Se=de&65535,!(ve<=ct);){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}if(Se<16)Je>>>=ve,ct-=ve,ge.lens[ge.have++]=Se;else{if(Se===16){for(ut=ve+2;ct<ut;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}if(Je>>>=ve,ct-=ve,ge.have===0){Ze.msg="invalid bit length repeat",ge.mode=Er;break}Ke=ge.lens[ge.have-1],ue=3+(Je&3),Je>>>=2,ct-=2}else if(Se===17){for(ut=ve+3;ct<ut;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}Je>>>=ve,ct-=ve,Ke=0,ue=3+(Je&7),Je>>>=3,ct-=3}else{for(ut=ve+7;ct<ut;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}Je>>>=ve,ct-=ve,Ke=0,ue=11+(Je&127),Je>>>=7,ct-=7}if(ge.have+ue>ge.nlen+ge.ndist){Ze.msg="invalid bit length repeat",ge.mode=Er;break}for(;ue--;)ge.lens[ge.have++]=Ke}}if(ge.mode===Er)break;if(ge.lens[256]===0){Ze.msg="invalid code -- missing end-of-block",ge.mode=Er;break}if(ge.lenbits=9,Ft={bits:ge.lenbits},Ct=i(s,ge.lens,0,ge.nlen,ge.lencode,0,ge.work,Ft),ge.lenbits=Ft.bits,Ct){Ze.msg="invalid literal/lengths set",ge.mode=Er;break}if(ge.distbits=6,ge.distcode=ge.distdyn,Ft={bits:ge.distbits},Ct=i(c,ge.lens,ge.nlen,ge.ndist,ge.distcode,0,ge.work,Ft),ge.distbits=Ft.bits,Ct){Ze.msg="invalid distances set",ge.mode=Er;break}if(ge.mode=lt,Mt===b)break e;case lt:ge.mode=mt;case mt:if(Et>=6&&Ee>=258){Ze.next_out=yt,Ze.avail_out=Ee,Ze.next_in=$,Ze.avail_in=Et,ge.hold=Je,ge.bits=ct,n(Ze,ie),yt=Ze.next_out,wt=Ze.output,Ee=Ze.avail_out,$=Ze.next_in,kt=Ze.input,Et=Ze.avail_in,Je=ge.hold,ct=ge.bits,ge.mode===Te&&(ge.back=-1);break}for(ge.back=0;de=ge.lencode[Je&(1<<ge.lenbits)-1],ve=de>>>24,ce=de>>>16&255,Se=de&65535,!(ve<=ct);){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}if(ce&&!(ce&240)){for(p=ve,le=ce,vt=Se;de=ge.lencode[vt+((Je&(1<<p+le)-1)>>p)],ve=de>>>24,ce=de>>>16&255,Se=de&65535,!(p+ve<=ct);){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}Je>>>=p,ct-=p,ge.back+=p}if(Je>>>=ve,ct-=ve,ge.back+=ve,ge.length=Se,ce===0){ge.mode=$t;break}if(ce&32){ge.back=-1,ge.mode=Te;break}if(ce&64){Ze.msg="invalid literal/length code",ge.mode=Er;break}ge.extra=ce&15,ge.mode=Tt;case Tt:if(ge.extra){for(ut=ge.extra;ct<ut;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}ge.length+=Je&(1<<ge.extra)-1,Je>>>=ge.extra,ct-=ge.extra,ge.back+=ge.extra}ge.was=ge.length,ge.mode=nt;case nt:for(;de=ge.distcode[Je&(1<<ge.distbits)-1],ve=de>>>24,ce=de>>>16&255,Se=de&65535,!(ve<=ct);){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}if(!(ce&240)){for(p=ve,le=ce,vt=Se;de=ge.distcode[vt+((Je&(1<<p+le)-1)>>p)],ve=de>>>24,ce=de>>>16&255,Se=de&65535,!(p+ve<=ct);){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}Je>>>=p,ct-=p,ge.back+=p}if(Je>>>=ve,ct-=ve,ge.back+=ve,ce&64){Ze.msg="invalid distance code",ge.mode=Er;break}ge.offset=Se,ge.extra=ce&15,ge.mode=cr;case cr:if(ge.extra){for(ut=ge.extra;ct<ut;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}ge.offset+=Je&(1<<ge.extra)-1,Je>>>=ge.extra,ct-=ge.extra,ge.back+=ge.extra}if(ge.offset>ge.dmax){Ze.msg="invalid distance too far back",ge.mode=Er;break}ge.mode=Xt;case Xt:if(Ee===0)break e;if(ue=ie-Ee,ge.offset>ue){if(ue=ge.offset-ue,ue>ge.whave&&ge.sane){Ze.msg="invalid distance too far back",ge.mode=Er;break}ue>ge.wnext?(ue-=ge.wnext,ye=ge.wsize-ue):ye=ge.wnext-ue,ue>ge.length&&(ue=ge.length),Oe=ge.window}else Oe=wt,ye=yt-ge.offset,ue=ge.length;ue>Ee&&(ue=Ee),Ee-=ue,ge.length-=ue;do wt[yt++]=Oe[ye++];while(--ue);ge.length===0&&(ge.mode=mt);break;case $t:if(Ee===0)break e;wt[yt++]=ge.length,Ee--,ge.mode=mt;break;case Lt:if(ge.wrap){for(;ct<32;){if(Et===0)break e;Et--,Je|=kt[$++]<<ct,ct+=8}if(ie-=Ee,Ze.total_out+=ie,ge.total+=ie,ie&&(Ze.adler=ge.check=ge.flags?t(ge.check,wt,ie,yt-ie):e(ge.check,wt,ie,yt-ie)),ie=Ee,(ge.flags?Je:ei(Je))!==ge.check){Ze.msg="incorrect data check",ge.mode=Er;break}Je=0,ct=0}ge.mode=lr;case lr:if(ge.wrap&&ge.flags){for(;ct<32;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}if(Je!==(ge.total&4294967295)){Ze.msg="incorrect length check",ge.mode=Er;break}Je=0,ct=0}ge.mode=tn;case tn:Ct=S;break e;case Er:Ct=z;break e;case Ar:return J;case Mn:default:return k}return Ze.next_out=yt,Ze.avail_out=Ee,Ze.next_in=$,Ze.avail_in=Et,ge.hold=Je,ge.bits=ct,(ge.wsize||ie!==Ze.avail_out&&ge.mode<Er&&(ge.mode<Lt||Mt!==f))&&ui(Ze,Ze.output,Ze.next_out,ie-Ze.avail_out),Y-=Ze.avail_in,ie-=Ze.avail_out,Ze.total_in+=Y,Ze.total_out+=ie,ge.total+=ie,ge.wrap&&ie&&(Ze.adler=ge.check=ge.flags?t(ge.check,wt,ie,Ze.next_out-ie):e(ge.check,wt,ie,Ze.next_out-ie)),Ze.data_type=ge.bits+(ge.last?64:0)+(ge.mode===Te?128:0)+(ge.mode===lt||ge.mode===Ne?256:0),(Y===0&&ie===0||Mt===f)&&Ct===B&&(Ct=G),Ct}function Ot(Ze){if(!Ze||!Ze.state)return k;var Mt=Ze.state;return Mt.window&&(Mt.window=null),Ze.state=null,B}function Vt(Ze,Mt){var ge;return!Ze||!Ze.state||(ge=Ze.state,!(ge.wrap&2))?k:(ge.head=Mt,Mt.done=!1,B)}function sr(Ze,Mt){var ge=Mt.length,kt,wt,$;return!Ze||!Ze.state||(kt=Ze.state,kt.wrap!==0&&kt.mode!==ne)?k:kt.mode===ne&&(wt=1,wt=e(wt,Mt,ge,0),wt!==kt.check)?z:($=ui(Ze,Mt,ge,ge),$?(kt.mode=Ar,J):(kt.havedict=1,B))}return ba.inflateReset=Xn,ba.inflateReset2=kn,ba.inflateResetKeep=un,ba.inflateInit=Wn,ba.inflateInit2=bn,ba.inflate=Pe,ba.inflateEnd=Ot,ba.inflateGetHeader=Vt,ba.inflateSetDictionary=sr,ba.inflateInfo="pako inflate (from Nodeca project)",ba}var k1,vF;function Ak(){return vF||(vF=1,k1={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}),k1}var U1,bF;function f1e(){if(bF)return U1;bF=1;function r(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}return U1=r,U1}var xF;function h1e(){if(xF)return Id;xF=1;var r=u1e(),e=nf(),t=hk(),n=Ak(),i=nE(),o=dk(),s=f1e(),c=Object.prototype.toString;function f(B){if(!(this instanceof f))return new f(B);this.options=e.assign({chunkSize:16384,windowBits:0,to:""},B||{});var S=this.options;S.raw&&S.windowBits>=0&&S.windowBits<16&&(S.windowBits=-S.windowBits,S.windowBits===0&&(S.windowBits=-15)),S.windowBits>=0&&S.windowBits<16&&!(B&&B.windowBits)&&(S.windowBits+=32),S.windowBits>15&&S.windowBits<48&&(S.windowBits&15||(S.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new o,this.strm.avail_out=0;var O=r.inflateInit2(this.strm,S.windowBits);if(O!==n.Z_OK)throw new Error(i[O]);if(this.header=new s,r.inflateGetHeader(this.strm,this.header),S.dictionary&&(typeof S.dictionary=="string"?S.dictionary=t.string2buf(S.dictionary):c.call(S.dictionary)==="[object ArrayBuffer]"&&(S.dictionary=new Uint8Array(S.dictionary)),S.raw&&(O=r.inflateSetDictionary(this.strm,S.dictionary),O!==n.Z_OK)))throw new Error(i[O])}f.prototype.push=function(B,S){var O=this.strm,k=this.options.chunkSize,z=this.options.dictionary,J,G,j,K,fe,Q=!1;if(this.ended)return!1;G=S===~~S?S:S===!0?n.Z_FINISH:n.Z_NO_FLUSH,typeof B=="string"?O.input=t.binstring2buf(B):c.call(B)==="[object ArrayBuffer]"?O.input=new Uint8Array(B):O.input=B,O.next_in=0,O.avail_in=O.input.length;do{if(O.avail_out===0&&(O.output=new e.Buf8(k),O.next_out=0,O.avail_out=k),J=r.inflate(O,n.Z_NO_FLUSH),J===n.Z_NEED_DICT&&z&&(J=r.inflateSetDictionary(this.strm,z)),J===n.Z_BUF_ERROR&&Q===!0&&(J=n.Z_OK,Q=!1),J!==n.Z_STREAM_END&&J!==n.Z_OK)return this.onEnd(J),this.ended=!0,!1;O.next_out&&(O.avail_out===0||J===n.Z_STREAM_END||O.avail_in===0&&(G===n.Z_FINISH||G===n.Z_SYNC_FLUSH))&&(this.options.to==="string"?(j=t.utf8border(O.output,O.next_out),K=O.next_out-j,fe=t.buf2string(O.output,j),O.next_out=K,O.avail_out=k-K,K&&e.arraySet(O.output,O.output,j,K,0),this.onData(fe)):this.onData(e.shrinkBuf(O.output,O.next_out))),O.avail_in===0&&O.avail_out===0&&(Q=!0)}while((O.avail_in>0||O.avail_out===0)&&J!==n.Z_STREAM_END);return J===n.Z_STREAM_END&&(G=n.Z_FINISH),G===n.Z_FINISH?(J=r.inflateEnd(this.strm),this.onEnd(J),this.ended=!0,J===n.Z_OK):(G===n.Z_SYNC_FLUSH&&(this.onEnd(n.Z_OK),O.avail_out=0),!0)},f.prototype.onData=function(B){this.chunks.push(B)},f.prototype.onEnd=function(B){B===n.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=e.flattenChunks(this.chunks)),this.chunks=[],this.err=B,this.msg=this.strm.msg};function y(B,S){var O=new f(S);if(O.push(B,!0),O.err)throw O.msg||i[O.err];return O.result}function b(B,S){return S=S||{},S.raw=!0,y(B,S)}return Id.Inflate=f,Id.inflate=y,Id.inflateRaw=b,Id.ungzip=y,Id}var z1,wF;function d1e(){if(wF)return z1;wF=1;var r=nf().assign,e=a1e(),t=h1e(),n=Ak(),i={};return r(i,e,t,n),z1=i,z1}var A1e=d1e();const Md=oh(A1e),CF=[0],p1e={getPointColor:{type:"accessor",value:[0,0,0,255]},pointSize:1,data:"",loader:lk,onTilesetLoad:{type:"function",value:r=>{}},onTileLoad:{type:"function",value:r=>{}},onTileUnload:{type:"function",value:r=>{}},onTileError:{type:"function",value:(r,e,t)=>{}},_getMeshColor:{type:"function",value:r=>[255,255,255]}};class iE extends ys{initializeState(){"onTileLoadFail"in this.props&&Wr.removed("onTileLoadFail","onTileError")(),this.state={layerMap:{},tileset3d:null,activeViewports:{},lastUpdatedViewports:null}}get isLoaded(){var e,t;return!!((t=(e=this.state)==null?void 0:e.tileset3d)!=null&&t.isLoaded()&&super.isLoaded)}shouldUpdateState({changeFlags:e}){return e.somethingChanged}updateState({props:e,oldProps:t,changeFlags:n}){if(e.data&&e.data!==t.data&&this._loadTileset(e.data),n.viewportChanged){const{activeViewports:i}=this.state;Object.keys(i).length&&(this._updateTileset(i),this.state.lastUpdatedViewports=i,this.state.activeViewports={})}if(n.propsChanged){const{layerMap:i}=this.state;for(const o in i)i[o].needsUpdate=!0}}activateViewport(e){const{activeViewports:t,lastUpdatedViewports:n}=this.state;this.internalState.viewport=e,t[e.id]=e;const i=n==null?void 0:n[e.id];(!i||!e.equals(i))&&(this.setChangeFlags({viewportChanged:!0}),this.setNeedsUpdate())}getPickingInfo({info:e,sourceLayer:t}){const n=t&&t.props.tile;return e.picked&&(e.object=n),e.sourceTile=n,e}filterSubLayer({layer:e,viewport:t}){const{tile:n}=e.props,{id:i}=t;return n.selected&&n.viewportIds.includes(i)}_updateAutoHighlight(e){const t=e.sourceTile,n=this.state.layerMap[t==null?void 0:t.id];n&&n.layer&&n.layer.updateAutoHighlight(e)}async _loadTileset(e){const{loadOptions:t={}}=this.props,n=this.props.loader||this.props.loaders,i=Array.isArray(n)?n[0]:n,o={loadOptions:{...t}};let s=e;if(i.preload){const y=await i.preload(e,t);y.url&&(s=y.url),y.headers&&(o.loadOptions.fetch={...o.loadOptions.fetch,headers:y.headers}),Object.assign(o,y)}const c=await DA(s,i,o.loadOptions),f=new n_e(c,{onTileLoad:this._onTileLoad.bind(this),onTileUnload:this._onTileUnload.bind(this),onTileError:this.props.onTileError,...o});this.setState({tileset3d:f,layerMap:{}}),this._updateTileset(this.state.activeViewports),this.props.onTilesetLoad(f)}_onTileLoad(e){const{lastUpdatedViewports:t}=this.state;this.props.onTileLoad(e),this._updateTileset(t),this.setNeedsUpdate()}_onTileUnload(e){delete this.state.layerMap[e.id],this.props.onTileUnload(e)}_updateTileset(e){if(!e)return;const{tileset3d:t}=this.state,{timeline:n}=this.context,i=Object.keys(e).length;!n||!i||!t||t.selectTiles(Object.values(e)).then(o=>{this.state.frameNumber!==o&&this.setState({frameNumber:o})})}_getSubLayer(e,t){if(!e.content)return null;switch(e.type){case kl.POINTCLOUD:return this._makePointCloudLayer(e,t);case kl.SCENEGRAPH:return this._make3DModelLayer(e);case kl.MESH:return this._makeSimpleMeshLayer(e,t);default:throw new Error(`Tile3DLayer: Failed to render layer of type ${e.content.type}`)}}_makePointCloudLayer(e,t){const{attributes:n,pointCount:i,constantRGBA:o,cartographicOrigin:s,modelMatrix:c}=e.content,{positions:f,normals:y,colors:b}=n;if(!f)return null;const B=t&&t.props.data||{header:{vertexCount:i},attributes:{POSITION:f,NORMAL:y,COLOR_0:b}},{pointSize:S,getPointColor:O}=this.props,k=this.getSubLayerClass("pointcloud",Mg);return new k({pointSize:S},this.getSubLayerProps({id:"pointcloud"}),{id:`${this.id}-pointcloud-${e.id}`,tile:e,data:B,coordinateSystem:Zr.METER_OFFSETS,coordinateOrigin:s,modelMatrix:c,getColor:o||O,_offset:0})}_make3DModelLayer(e){const{gltf:t,instances:n,cartographicOrigin:i,modelMatrix:o}=e.content,s=this.getSubLayerClass("scenegraph",kg);return new s({_lighting:"pbr"},this.getSubLayerProps({id:"scenegraph"}),{id:`${this.id}-scenegraph-${e.id}`,tile:e,data:n||CF,scenegraph:t,coordinateSystem:Zr.METER_OFFSETS,coordinateOrigin:i,modelMatrix:o,getTransformMatrix:c=>c.modelMatrix,getPosition:[0,0,0],_offset:0})}_makeSimpleMeshLayer(e,t){const n=e.content,{attributes:i,indices:o,modelMatrix:s,cartographicOrigin:c,coordinateSystem:f=Zr.METER_OFFSETS,material:y,featureIds:b}=n,{_getMeshColor:B}=this.props,S=t&&t.props.mesh||new $s({topology:"triangle-list",attributes:g1e(i),indices:o}),O=this.getSubLayerClass("mesh",VC);return new O(this.getSubLayerProps({id:"mesh"}),{id:`${this.id}-mesh-${e.id}`,tile:e,mesh:S,data:CF,getColor:B(e),pbrMaterial:y,modelMatrix:s,coordinateOrigin:c,coordinateSystem:f,featureIds:b,_offset:0})}renderLayers(){const{tileset3d:e,layerMap:t}=this.state;return e?e.tiles.map(n=>{const i=t[n.id]=t[n.id]||{tile:n};let{layer:o}=i;return n.selected&&(o?i.needsUpdate&&(o=this._getSubLayer(n,o),i.needsUpdate=!1):o=this._getSubLayer(n)),i.layer=o,o}).filter(Boolean):null}}iE.defaultProps=p1e;iE.layerName="Tile3DLayer";function g1e(r){const e={};return e.positions={...r.positions,value:new Float32Array(r.positions.value)},r.normals&&(e.normals=r.normals),r.texCoords&&(e.texCoords=r.texCoords),r.colors&&(e.colors=r.colors),r.uvRegions&&(e.uvRegions=r.uvRegions),e}const m1e="4.2.4",pk={dataType:null,batchType:null,name:"Terrain",id:"terrain",module:"terrain",version:m1e,worker:!0,extensions:["png","pngraw","jpg","jpeg","gif","webp","bmp"],mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp"],options:{terrain:{tesselator:"auto",bounds:void 0,meshMaxError:10,elevationDecoder:{rScaler:1,gScaler:0,bScaler:0,offset:0},skirtHeight:void 0}}};({...pk});const EF=[1],_1e={...Xl.defaultProps,elevationData:I_,texture:{...I_,optional:!0},meshMaxError:{type:"number",value:4},bounds:{type:"array",value:null,optional:!0,compare:!0},color:{type:"color",value:[255,255,255]},elevationDecoder:{type:"object",value:{rScaler:1,gScaler:0,bScaler:0,offset:0}},workerUrl:"",wireframe:!1,material:!0,loaders:[pk]};function TF(r){return Array.isArray(r)?r.join(";"):r||""}class sE extends ys{updateState({props:e,oldProps:t}){const n=e.elevationData!==t.elevationData;if(n){const{elevationData:o}=e,s=o&&(Array.isArray(o)||o.includes("{x}")&&o.includes("{y}"));this.setState({isTiled:s})}const i=n||e.meshMaxError!==t.meshMaxError||e.elevationDecoder!==t.elevationDecoder||e.bounds!==t.bounds;if(!this.state.isTiled&&i){const o=this.loadTerrain(e);this.setState({terrain:o})}e.workerUrl&&Wr.removed("workerUrl","loadOptions.terrain.workerUrl")()}loadTerrain({elevationData:e,bounds:t,elevationDecoder:n,meshMaxError:i,signal:o}){if(!e)return null;let s=this.getLoadOptions();s={...s,terrain:{skirtHeight:this.state.isTiled?i*2:0,...s==null?void 0:s.terrain,bounds:t,meshMaxError:i,elevationDecoder:n}};const{fetch:c}=this.props;return c(e,{propName:"elevationData",layer:this,loadOptions:s,signal:o})}getTiledTerrainData(e){const{elevationData:t,fetch:n,texture:i,elevationDecoder:o,meshMaxError:s}=this.props,{viewport:c}=this.context,f=rh(t,e),y=i&&rh(i,e),{signal:b}=e;let B=[0,0],S=[0,0];if(c.isGeospatial){const J=e.bbox;B=c.projectFlat([J.west,J.south]),S=c.projectFlat([J.east,J.north])}else{const J=e.bbox;B=[J.left,J.bottom],S=[J.right,J.top]}const O=[B[0],B[1],S[0],S[1]],k=this.loadTerrain({elevationData:f,bounds:O,elevationDecoder:o,meshMaxError:s,signal:b}),z=y?n(y,{propName:"texture",layer:this,loaders:[],signal:b}).catch(J=>null):Promise.resolve(null);return Promise.all([k,z])}renderSubLayers(e){const t=this.getSubLayerClass("mesh",nh),{color:n,wireframe:i,material:o}=this.props,{data:s}=e;if(!s)return null;const[c,f]=s;return new t(e,{data:EF,mesh:c,texture:f,_instanced:!1,coordinateSystem:Zr.CARTESIAN,getPosition:y=>[0,0,0],getColor:n,wireframe:i,material:o})}onViewportLoad(e){if(!e)return;const{zRange:t}=this.state,n=e.map(s=>s.content).filter(Boolean).map(s=>s[0].header.boundingBox.map(f=>f[2]));if(n.length===0)return;const i=Math.min(...n.map(s=>s[0])),o=Math.max(...n.map(s=>s[1]));(!t||i<t[0]||o>t[1])&&this.setState({zRange:[i,o]})}renderLayers(){const{color:e,material:t,elevationData:n,texture:i,wireframe:o,meshMaxError:s,elevationDecoder:c,tileSize:f,maxZoom:y,minZoom:b,extent:B,maxRequests:S,onTileLoad:O,onTileUnload:k,onTileError:z,maxCacheSize:J,maxCacheByteSize:G,refinementStrategy:j}=this.props;if(this.state.isTiled)return new Xl(this.getSubLayerProps({id:"tiles"}),{getTileData:this.getTiledTerrainData.bind(this),renderSubLayers:this.renderSubLayers.bind(this),updateTriggers:{getTileData:{elevationData:TF(n),texture:TF(i),meshMaxError:s,elevationDecoder:c}},onViewportLoad:this.onViewportLoad.bind(this),zRange:this.state.zRange||null,tileSize:f,maxZoom:y,minZoom:b,extent:B,maxRequests:S,onTileLoad:O,onTileUnload:k,onTileError:z,maxCacheSize:J,maxCacheByteSize:G,refinementStrategy:j});if(!n)return null;const K=this.getSubLayerClass("mesh",nh);return new K(this.getSubLayerProps({id:"mesh"}),{data:EF,mesh:this.state.terrain,texture:i,_instanced:!1,getPosition:fe=>[0,0,0],getColor:e,material:t,wireframe:o})}}sE.defaultProps=_1e;sE.layerName="TerrainLayer";const y1e={clipBounds:[0,0,1,1],clipByInstance:void 0},gk=`
|
3835
|
+
*/var Sa=null;try{Sa=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function Qn(r,e,t){this.low=r|0,this.high=e|0,this.unsigned=!!t}Qn.prototype.__isLong__;Object.defineProperty(Qn.prototype,"__isLong__",{value:!0});function ho(r){return(r&&r.__isLong__)===!0}function qR(r){var e=Math.clz32(r&-r);return r?31-e:e}Qn.isLong=ho;var YR={},ZR={};function mh(r,e){var t,n,i;return e?(r>>>=0,(i=0<=r&&r<256)&&(n=ZR[r],n)?n:(t=Nn(r,0,!0),i&&(ZR[r]=t),t)):(r|=0,(i=-128<=r&&r<128)&&(n=YR[r],n)?n:(t=Nn(r,r<0?-1:0,!1),i&&(YR[r]=t),t))}Qn.fromInt=mh;function Ia(r,e){if(isNaN(r))return e?Ul:hc;if(e){if(r<0)return Ul;if(r>=ZN)return tk}else{if(r<=-9223372036854776e3)return Do;if(r+1>=Sbe)return ek}return r<0?Ia(-r,e).neg():Nn(r%PA|0,r/PA|0,e)}Qn.fromNumber=Ia;function Nn(r,e,t){return new Qn(r,e,t)}Qn.fromBits=Nn;var N_=Math.pow;function QC(r,e,t){if(r.length===0)throw Error("empty string");if(typeof e=="number"?(t=e,e=!1):e=!!e,r==="NaN"||r==="Infinity"||r==="+Infinity"||r==="-Infinity")return e?Ul:hc;if(t=t||10,t<2||36<t)throw RangeError("radix");var n;if((n=r.indexOf("-"))>0)throw Error("interior hyphen");if(n===0)return QC(r.substring(1),e,t).neg();for(var i=Ia(N_(t,8)),o=hc,s=0;s<r.length;s+=8){var c=Math.min(8,r.length-s),f=parseInt(r.substring(s,s+c),t);if(c<8){var y=Ia(N_(t,c));o=o.mul(y).add(Ia(f))}else o=o.mul(i),o=o.add(Ia(f))}return o.unsigned=e,o}Qn.fromString=QC;function yc(r,e){return typeof r=="number"?Ia(r,e):typeof r=="string"?QC(r,e):Nn(r.low,r.high,typeof e=="boolean"?e:r.unsigned)}Qn.fromValue=yc;var QR=65536,Bbe=1<<24,PA=QR*QR,ZN=PA*PA,Sbe=ZN/2,eF=mh(Bbe),hc=mh(0);Qn.ZERO=hc;var Ul=mh(0,!0);Qn.UZERO=Ul;var rA=mh(1);Qn.ONE=rA;var QN=mh(1,!0);Qn.UONE=QN;var Nx=mh(-1);Qn.NEG_ONE=Nx;var ek=Nn(-1,2147483647,!1);Qn.MAX_VALUE=ek;var tk=Nn(-1,-1,!0);Qn.MAX_UNSIGNED_VALUE=tk;var Do=Nn(0,-2147483648,!1);Qn.MIN_VALUE=Do;var Qt=Qn.prototype;Qt.toInt=function(){return this.unsigned?this.low>>>0:this.low};Qt.toNumber=function(){return this.unsigned?(this.high>>>0)*PA+(this.low>>>0):this.high*PA+(this.low>>>0)};Qt.toString=function(e){if(e=e||10,e<2||36<e)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative())if(this.eq(Do)){var t=Ia(e),n=this.div(t),i=n.mul(t).sub(this);return n.toString(e)+i.toInt().toString(e)}else return"-"+this.neg().toString(e);for(var o=Ia(N_(e,6),this.unsigned),s=this,c="";;){var f=s.div(o),y=s.sub(f.mul(o)).toInt()>>>0,b=y.toString(e);if(s=f,s.isZero())return b+c;for(;b.length<6;)b="0"+b;c=""+b+c}};Qt.getHighBits=function(){return this.high};Qt.getHighBitsUnsigned=function(){return this.high>>>0};Qt.getLowBits=function(){return this.low};Qt.getLowBitsUnsigned=function(){return this.low>>>0};Qt.getNumBitsAbs=function(){if(this.isNegative())return this.eq(Do)?64:this.neg().getNumBitsAbs();for(var e=this.high!=0?this.high:this.low,t=31;t>0&&(e&1<<t)==0;t--);return this.high!=0?t+33:t+1};Qt.isZero=function(){return this.high===0&&this.low===0};Qt.eqz=Qt.isZero;Qt.isNegative=function(){return!this.unsigned&&this.high<0};Qt.isPositive=function(){return this.unsigned||this.high>=0};Qt.isOdd=function(){return(this.low&1)===1};Qt.isEven=function(){return(this.low&1)===0};Qt.equals=function(e){return ho(e)||(e=yc(e)),this.unsigned!==e.unsigned&&this.high>>>31===1&&e.high>>>31===1?!1:this.high===e.high&&this.low===e.low};Qt.eq=Qt.equals;Qt.notEquals=function(e){return!this.eq(e)};Qt.neq=Qt.notEquals;Qt.ne=Qt.notEquals;Qt.lessThan=function(e){return this.comp(e)<0};Qt.lt=Qt.lessThan;Qt.lessThanOrEqual=function(e){return this.comp(e)<=0};Qt.lte=Qt.lessThanOrEqual;Qt.le=Qt.lessThanOrEqual;Qt.greaterThan=function(e){return this.comp(e)>0};Qt.gt=Qt.greaterThan;Qt.greaterThanOrEqual=function(e){return this.comp(e)>=0};Qt.gte=Qt.greaterThanOrEqual;Qt.ge=Qt.greaterThanOrEqual;Qt.compare=function(e){if(ho(e)||(e=yc(e)),this.eq(e))return 0;var t=this.isNegative(),n=e.isNegative();return t&&!n?-1:!t&&n?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1};Qt.comp=Qt.compare;Qt.negate=function(){return!this.unsigned&&this.eq(Do)?Do:this.not().add(rA)};Qt.neg=Qt.negate;Qt.add=function(e){ho(e)||(e=yc(e));var t=this.high>>>16,n=this.high&65535,i=this.low>>>16,o=this.low&65535,s=e.high>>>16,c=e.high&65535,f=e.low>>>16,y=e.low&65535,b=0,B=0,S=0,O=0;return O+=o+y,S+=O>>>16,O&=65535,S+=i+f,B+=S>>>16,S&=65535,B+=n+c,b+=B>>>16,B&=65535,b+=t+s,b&=65535,Nn(S<<16|O,b<<16|B,this.unsigned)};Qt.subtract=function(e){return ho(e)||(e=yc(e)),this.add(e.neg())};Qt.sub=Qt.subtract;Qt.multiply=function(e){if(this.isZero())return this;if(ho(e)||(e=yc(e)),Sa){var t=Sa.mul(this.low,this.high,e.low,e.high);return Nn(t,Sa.get_high(),this.unsigned)}if(e.isZero())return this.unsigned?Ul:hc;if(this.eq(Do))return e.isOdd()?Do:hc;if(e.eq(Do))return this.isOdd()?Do:hc;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(eF)&&e.lt(eF))return Ia(this.toNumber()*e.toNumber(),this.unsigned);var n=this.high>>>16,i=this.high&65535,o=this.low>>>16,s=this.low&65535,c=e.high>>>16,f=e.high&65535,y=e.low>>>16,b=e.low&65535,B=0,S=0,O=0,k=0;return k+=s*b,O+=k>>>16,k&=65535,O+=o*b,S+=O>>>16,O&=65535,O+=s*y,S+=O>>>16,O&=65535,S+=i*b,B+=S>>>16,S&=65535,S+=o*y,B+=S>>>16,S&=65535,S+=s*f,B+=S>>>16,S&=65535,B+=n*b+i*y+o*f+s*c,B&=65535,Nn(O<<16|k,B<<16|S,this.unsigned)};Qt.mul=Qt.multiply;Qt.divide=function(e){if(ho(e)||(e=yc(e)),e.isZero())throw Error("division by zero");if(Sa){if(!this.unsigned&&this.high===-2147483648&&e.low===-1&&e.high===-1)return this;var t=(this.unsigned?Sa.div_u:Sa.div_s)(this.low,this.high,e.low,e.high);return Nn(t,Sa.get_high(),this.unsigned)}if(this.isZero())return this.unsigned?Ul:hc;var n,i,o;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return Ul;if(e.gt(this.shru(1)))return QN;o=Ul}else{if(this.eq(Do)){if(e.eq(rA)||e.eq(Nx))return Do;if(e.eq(Do))return rA;var s=this.shr(1);return n=s.div(e).shl(1),n.eq(hc)?e.isNegative()?rA:Nx:(i=this.sub(e.mul(n)),o=n.add(i.div(e)),o)}else if(e.eq(Do))return this.unsigned?Ul:hc;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();o=hc}for(i=this;i.gte(e);){n=Math.max(1,Math.floor(i.toNumber()/e.toNumber()));for(var c=Math.ceil(Math.log(n)/Math.LN2),f=c<=48?1:N_(2,c-48),y=Ia(n),b=y.mul(e);b.isNegative()||b.gt(i);)n-=f,y=Ia(n,this.unsigned),b=y.mul(e);y.isZero()&&(y=rA),o=o.add(y),i=i.sub(b)}return o};Qt.div=Qt.divide;Qt.modulo=function(e){if(ho(e)||(e=yc(e)),Sa){var t=(this.unsigned?Sa.rem_u:Sa.rem_s)(this.low,this.high,e.low,e.high);return Nn(t,Sa.get_high(),this.unsigned)}return this.sub(this.div(e).mul(e))};Qt.mod=Qt.modulo;Qt.rem=Qt.modulo;Qt.not=function(){return Nn(~this.low,~this.high,this.unsigned)};Qt.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32};Qt.clz=Qt.countLeadingZeros;Qt.countTrailingZeros=function(){return this.low?qR(this.low):qR(this.high)+32};Qt.ctz=Qt.countTrailingZeros;Qt.and=function(e){return ho(e)||(e=yc(e)),Nn(this.low&e.low,this.high&e.high,this.unsigned)};Qt.or=function(e){return ho(e)||(e=yc(e)),Nn(this.low|e.low,this.high|e.high,this.unsigned)};Qt.xor=function(e){return ho(e)||(e=yc(e)),Nn(this.low^e.low,this.high^e.high,this.unsigned)};Qt.shiftLeft=function(e){return ho(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?Nn(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):Nn(0,this.low<<e-32,this.unsigned)};Qt.shl=Qt.shiftLeft;Qt.shiftRight=function(e){return ho(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?Nn(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):Nn(this.high>>e-32,this.high>=0?0:-1,this.unsigned)};Qt.shr=Qt.shiftRight;Qt.shiftRightUnsigned=function(e){return ho(e)&&(e=e.toInt()),(e&=63)===0?this:e<32?Nn(this.low>>>e|this.high<<32-e,this.high>>>e,this.unsigned):e===32?Nn(this.high,0,this.unsigned):Nn(this.high>>>e-32,0,this.unsigned)};Qt.shru=Qt.shiftRightUnsigned;Qt.shr_u=Qt.shiftRightUnsigned;Qt.rotateLeft=function(e){var t;return ho(e)&&(e=e.toInt()),(e&=63)===0?this:e===32?Nn(this.high,this.low,this.unsigned):e<32?(t=32-e,Nn(this.low<<e|this.high>>>t,this.high<<e|this.low>>>t,this.unsigned)):(e-=32,t=32-e,Nn(this.high<<e|this.low>>>t,this.low<<e|this.high>>>t,this.unsigned))};Qt.rotl=Qt.rotateLeft;Qt.rotateRight=function(e){var t;return ho(e)&&(e=e.toInt()),(e&=63)===0?this:e===32?Nn(this.high,this.low,this.unsigned):e<32?(t=32-e,Nn(this.high<<t|this.low>>>e,this.low<<t|this.high>>>e,this.unsigned)):(e-=32,t=32-e,Nn(this.low<<t|this.high>>>e,this.high<<t|this.low>>>e,this.unsigned))};Qt.rotr=Qt.rotateRight;Qt.toSigned=function(){return this.unsigned?Nn(this.low,this.high,!1):this};Qt.toUnsigned=function(){return this.unsigned?this:Nn(this.low,this.high,!0)};Qt.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()};Qt.toBytesLE=function(){var e=this.high,t=this.low;return[t&255,t>>>8&255,t>>>16&255,t>>>24,e&255,e>>>8&255,e>>>16&255,e>>>24]};Qt.toBytesBE=function(){var e=this.high,t=this.low;return[e>>>24,e>>>16&255,e>>>8&255,e&255,t>>>24,t>>>16&255,t>>>8&255,t&255]};Qn.fromBytes=function(e,t,n){return n?Qn.fromBytesLE(e,t):Qn.fromBytesBE(e,t)};Qn.fromBytesLE=function(e,t){return new Qn(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,t)};Qn.fromBytesBE=function(e,t){return new Qn(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],t)};const Ibe=16;function rk(r){r==="X"&&(r="");const e=r.padEnd(Ibe,"0");return Qn.fromString(e,!0,16)}function Mbe(r){if(r.isZero())return"X";let e=r.countTrailingZeros();const t=e%4;e=(e-t)/4;const n=e;e*=4;const o=r.shiftRightUnsigned(e).toString(16).replace(/0+$/,"");return Array(17-n-o.length).join("0")+o}function Pbe(r,e){const t=Rbe(r).shiftRightUnsigned(2);return r.add(Qn.fromNumber(2*e+1-4).multiply(t))}function Rbe(r){return r.and(r.not().add(1))}const Fbe=3,Dbe=30,Obe=2*Dbe+1,tF=180/Math.PI;function Lbe(r){if(r.length===0)throw new Error(`Invalid Hilbert quad key ${r}`);const e=r.split("/"),t=parseInt(e[0],10),n=e[1],i=n.length;let o=0;const s=[0,0];for(let c=i-1;c>=0;c--){o=i-c;const f=n[c];let y=0,b=0;f==="1"?b=1:f==="2"?(y=1,b=1):f==="3"&&(y=1);const B=Math.pow(2,o-1);kbe(B,s,y,b),s[0]+=B*y,s[1]+=B*b}if(t%2===1){const c=s[0];s[0]=s[1],s[1]=c}return{face:t,ij:s,level:o}}function Nbe(r){if(r.isZero())return"";let e=r.toString(2);for(;e.length<Fbe+Obe;)e="0"+e;const t=e.lastIndexOf("1"),n=e.substring(0,3),i=e.substring(3,t),o=i.length/2,s=Qn.fromString(n,!0,2).toString(10);let c="";if(o!==0)for(c=Qn.fromString(i,!0,2).toString(4);c.length<o;)c="0"+c;return`${s}/${c}`}function nk(r,e,t){const n=1<<e;return[(r[0]+t[0])/n,(r[1]+t[1])/n]}function rF(r){return r>=.5?1/3*(4*r*r-1):1/3*(1-4*(1-r)*(1-r))}function ik(r){return[rF(r[0]),rF(r[1])]}function sk(r,[e,t]){switch(r){case 0:return[1,e,t];case 1:return[-e,1,t];case 2:return[-e,-t,1];case 3:return[-1,-t,-e];case 4:return[t,-1,-e];case 5:return[t,e,-1];default:throw new Error("Invalid face")}}function ok([r,e,t]){const n=Math.atan2(t,Math.sqrt(r*r+e*e));return[Math.atan2(e,r)*tF,n*tF]}function kbe(r,e,t,n){if(n===0){t===1&&(e[0]=r-1-e[0],e[1]=r-1-e[1]);const i=e[0];e[0]=e[1],e[1]=i}}function Ube(r){const e=nk(r.ij,r.level,[.5,.5]),t=ik(e),n=sk(r.face,t);return ok(n)}const zbe=100;function nF(r){const{face:e,ij:t,level:n}=r,i=[[0,0],[0,1],[1,1],[1,0],[0,0]],o=Math.max(1,Math.ceil(zbe*Math.pow(2,-n))),s=new Float64Array(4*o*2+2);let c=0,f=0;for(let y=0;y<4;y++){const b=i[y].slice(0),B=i[y+1],S=(B[0]-b[0])/o,O=(B[1]-b[1])/o;for(let k=0;k<o;k++){b[0]+=S,b[1]+=O;const z=nk(t,n,b),J=ik(z),G=sk(e,J),j=ok(G);Math.abs(j[1])>89.999&&(j[0]=f);const K=j[0]-f;j[0]+=K>180?-360:K<-180?360:0,s[c++]=j[0],s[c++]=j[1],f=j[0]}}return s[c++]=s[0],s[c++]=s[1],s}function eE(r){const e=Gbe(r);return Lbe(e)}function Gbe(r){if(r.indexOf("/")>0)return r;const e=rk(r);return Nbe(e)}function Vbe(r){const e=eE(r);return Ube(e)}function Hbe(r){let e;if(r.face===2||r.face===5){let t=null,n=0;for(let i=0;i<4;i++){const o=`${r.face}/${i}`,s=eE(o),c=nF(s);(typeof t>"u"||t===null)&&(t=new Float64Array(4*c.length)),t.set(c,n),n+=c.length}e=iF(t)}else{const t=nF(r);e=iF(t)}return e}function iF(r){if(r.length%2!==0)throw new Error("Invalid corners");const e=[],t=[];for(let n=0;n<r.length;n+=2)e.push(r[n]),t.push(r[n+1]);return e.sort((n,i)=>n-i),t.sort((n,i)=>n-i),{west:e[0],east:e[e.length-1],north:t[t.length-1],south:t[0]}}function jbe(r,e){const t=(e==null?void 0:e.minimumHeight)||0,n=(e==null?void 0:e.maximumHeight)||0,i=eE(r),o=Hbe(i),s=o.west,c=o.south,f=o.east,y=o.north,b=[];return b.push(new ft(s,y,t)),b.push(new ft(f,y,t)),b.push(new ft(f,c,t)),b.push(new ft(s,c,t)),b.push(new ft(s,y,n)),b.push(new ft(f,y,n)),b.push(new ft(f,c,n)),b.push(new ft(s,c,n)),b}function ak(r){const e=r.token,t={minimumHeight:r.minimumHeight,maximumHeight:r.maximumHeight},n=jbe(e,t),i=Vbe(e),o=i[0],s=i[1],c=gi.WGS84.cartographicToCartesian([o,s,t.maximumHeight]),f=new ft(c[0],c[1],c[2]);n.push(f);const y=M8(n);return[...y.center,...y.halfAxes]}const $be=4,Wbe=8,Jbe={QUADTREE:$be,OCTREE:Wbe};function Xbe(r,e,t){if(r!=null&&r.box){const n=rk(r.s2VolumeInfo.token),i=Pbe(n,e),o=Mbe(i),s={...r.s2VolumeInfo};switch(s.token=o,t){case"OCTREE":const y=r.s2VolumeInfo,b=y.maximumHeight-y.minimumHeight,B=b/2,S=y.minimumHeight+b/2;y.minimumHeight=S-B,y.maximumHeight=S+B;break}return{box:ak(s),s2VolumeInfo:s}}}async function ck(r){const{implicitOptions:e,parentData:t={mortonIndex:0,x:0,y:0,z:0},childIndex:n=0,s2VolumeBox:i,loaderOptions:o}=r;let{subtree:s,level:c=0,globalData:f={level:0,mortonIndex:0,x:0,y:0,z:0}}=r;const{subdivisionScheme:y,subtreeLevels:b,maximumLevel:B,contentUrlTemplate:S,subtreesUriTemplate:O,basePath:k}=e,z={children:[],lodMetricValue:0,contentUrl:""};if(!B)return oL.once(`Missing 'maximumLevel' or 'availableLevels' property. The subtree ${S} won't be loaded...`),z;const J=c+f.level;if(J>B)return z;const G=Jbe[y],j=Math.log2(G),K=n&1,fe=n>>1&1,Q=n>>2&1,oe=(G**c-1)/(G-1);let Be=Of(t.mortonIndex,n,j),ze=oe+Be,pe=Of(t.x,K,1),we=Of(t.y,fe,1),Ae=Of(t.z,Q,1),W=!1;c>=b&&(W=M1(s.childSubtreeAvailability,Be));const ne=Of(f.x,pe,c),Te=Of(f.y,we,c),Ye=Of(f.z,Ae,c);if(W){const rt=`${k}/${O}`,tt=kx(rt,J,ne,Te,Ye);s=await DA(tt,YN,o),f={mortonIndex:Be,x:pe,y:we,z:Ae,level:c},Be=0,ze=0,pe=0,we=0,Ae=0,c=0}if(!M1(s.tileAvailability,ze))return z;M1(s.contentAvailability,ze)&&(z.contentUrl=kx(S,J,ne,Te,Ye));const Ge=c+1,Qe={mortonIndex:Be,x:pe,y:we,z:Ae};for(let rt=0;rt<G;rt++){const tt=Xbe(i,rt,y),lt=await ck({subtree:s,implicitOptions:e,loaderOptions:o,parentData:Qe,childIndex:rt,level:Ge,globalData:{...f},s2VolumeBox:tt});if(lt.contentUrl||lt.children.length){const mt=J+1,nt=Kbe(lt,mt,{childTileX:pe,childTileY:we,childTileZ:Ae},e,i);z.children.push(nt)}}return z}function M1(r,e){let t;return Array.isArray(r)?(t=r[0],r.length>1&&oL.once('Not supported extension "3DTILES_multiple_contents" has been detected')):t=r,"constant"in t?!!t.constant:t.explicitBitstream?Zbe(e,t.explicitBitstream):!1}function Kbe(r,e,t,n,i){const{basePath:o,refine:s,getRefine:c,lodMetricType:f,getTileType:y,rootLodMetricValue:b,rootBoundingVolume:B}=n,S=r.contentUrl&&r.contentUrl.replace(`${o}/`,""),O=b/2**e,k=i!=null&&i.box?{box:i.box}:B,z=qbe(e,k,t);return{children:r.children,contentUrl:r.contentUrl,content:{uri:S},id:r.contentUrl,refine:c(s),type:y(r),lodMetricType:f,lodMetricValue:O,geometricError:O,transform:r.transform,boundingVolume:z}}function qbe(r,e,t){if(e.region){const{childTileX:n,childTileY:i,childTileZ:o}=t,[s,c,f,y,b,B]=e.region,S=2**r,O=(f-s)/S,k=(y-c)/S,z=(B-b)/S,[J,G]=[s+O*n,s+O*(n+1)],[j,K]=[c+k*i,c+k*(i+1)],[fe,Q]=[b+z*o,b+z*(o+1)];return{region:[J,j,G,K,fe,Q]}}if(e.box)return e;throw new Error(`Unsupported bounding volume type ${JSON.stringify(e)}`)}function Of(r,e,t){return(r<<t)+e}function kx(r,e,t,n,i){const o=Ybe({level:e,x:t,y:n,z:i});return r.replace(/{level}|{x}|{y}|{z}/gi,s=>o[s])}function Ybe(r){const e={};for(const t in r)e[`{${t}}`]=r[t];return e}function Zbe(r,e){const t=Math.floor(r/8),n=r%8;return(e[t]>>n&1)===1}function tE(r,e=""){if(!e)return kl.EMPTY;const n=e.split("?")[0].split(".").pop();switch(n){case"pnts":return kl.POINTCLOUD;case"i3dm":case"b3dm":case"glb":case"gltf":return kl.SCENEGRAPH;default:return n||kl.EMPTY}}function rE(r){switch(r){case"REPLACE":case"replace":return Ac.REPLACE;case"ADD":case"add":return Ac.ADD;default:return r}}function Ux(r,e){if(/^[a-z][0-9a-z+.-]*:/i.test(e)){const n=new URL(r,`${e}/`);return decodeURI(n.toString())}else if(r.startsWith("/"))return r;return Xue(e,r)}function sF(r,e){var i;if(!r)return null;let t;if(r.content){const o=r.content.uri||((i=r.content)==null?void 0:i.url);typeof o<"u"&&(t=Ux(o,e))}return{...r,id:t,contentUrl:t,lodMetricType:IA.GEOMETRIC_ERROR,lodMetricValue:r.geometricError,transformMatrix:r.transform,type:tE(r,t),refine:rE(r.refine)}}async function Qbe(r,e,t){let n=null;const i=aF(r.root);i&&r.root?n=await oF(r.root,r,e,i,t):n=sF(r.root,e);const o=[];for(o.push(n);o.length>0;){const s=o.pop()||{},c=s.children||[],f=[];for(const y of c){const b=aF(y);let B;b?B=await oF(y,r,e,b,t):B=sF(y,e),B&&(f.push(B),o.push(B))}s.children=f}return n}async function oF(r,e,t,n,i){var fe,Q,oe;const{subdivisionScheme:o,maximumLevel:s,availableLevels:c,subtreeLevels:f,subtrees:{uri:y}}=n,b=kx(y,0,0,0,0),B=Ux(b,t),S=await DA(B,YN,i),O=(fe=r.content)==null?void 0:fe.uri,k=O?Ux(O,t):"",z=(Q=e==null?void 0:e.root)==null?void 0:Q.refine,J=r.geometricError,G=(oe=r.boundingVolume.extensions)==null?void 0:oe["3DTILES_bounding_volume_S2"];if(G){const ze={box:ak(G),s2VolumeInfo:G};r.boundingVolume=ze}const j=r.boundingVolume,K={contentUrlTemplate:k,subtreesUriTemplate:y,subdivisionScheme:o,subtreeLevels:f,maximumLevel:Number.isFinite(c)?c-1:s,refine:z,basePath:t,lodMetricType:IA.GEOMETRIC_ERROR,rootLodMetricValue:J,rootBoundingVolume:j,getTileType:tE,getRefine:rE};return await e1e(r,t,S,K,i)}async function e1e(r,e,t,n,i){if(!r)return null;const{children:o,contentUrl:s}=await ck({subtree:t,implicitOptions:n,loaderOptions:i});let c,f=null;return s&&(c=s,f={uri:s.replace(`${e}/`,"")}),{...r,id:c,contentUrl:c,lodMetricType:IA.GEOMETRIC_ERROR,lodMetricValue:r.geometricError,transformMatrix:r.transform,type:tE(r,c),refine:rE(r.refine),content:f||r.content,children:o}}function aF(r){var e;return((e=r==null?void 0:r.extensions)==null?void 0:e["3DTILES_implicit_tiling"])||(r==null?void 0:r.implicitTiling)}const lk={dataType:null,batchType:null,id:"3d-tiles",name:"3D Tiles",module:"3d-tiles",version:EN,extensions:["cmpt","pnts","b3dm","i3dm"],mimeTypes:["application/octet-stream"],tests:["cmpt","pnts","b3dm","i3dm"],parse:t1e,options:{"3d-tiles":{loadGLTF:!0,decodeQuantizedPositions:!1,isTileset:"auto",assetGltfUpAxis:null}}};async function t1e(r,e={},t){const n=e["3d-tiles"]||{};let i;return n.isTileset==="auto"?i=(t==null?void 0:t.url)&&t.url.indexOf(".json")!==-1:i=n.isTileset,i?r1e(r,e,t):n1e(r,e,t)}async function r1e(r,e,t){var f;const n=JSON.parse(new TextDecoder().decode(r)),i=(t==null?void 0:t.url)||"",o=i1e(i),s=await Qbe(n,o,e||{});return{...n,shape:"tileset3d",loader:lk,url:i,queryString:(t==null?void 0:t.queryString)||"",basePath:o,root:s||n.root,type:Po.TILES3D,lodMetricType:IA.GEOMETRIC_ERROR,lodMetricValue:((f=n.root)==null?void 0:f.geometricError)||0}}async function n1e(r,e,t){const n={content:{shape:"tile3d",featureIds:null}};return await qN(r,0,e,t,n.content),n.content}function i1e(r){return w8(r)}var P1={},cF;function nf(){return cF||(cF=1,function(r){var e=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function t(o,s){return Object.prototype.hasOwnProperty.call(o,s)}r.assign=function(o){for(var s=Array.prototype.slice.call(arguments,1);s.length;){var c=s.shift();if(c){if(typeof c!="object")throw new TypeError(c+"must be non-object");for(var f in c)t(c,f)&&(o[f]=c[f])}}return o},r.shrinkBuf=function(o,s){return o.length===s?o:o.subarray?o.subarray(0,s):(o.length=s,o)};var n={arraySet:function(o,s,c,f,y){if(s.subarray&&o.subarray){o.set(s.subarray(c,c+f),y);return}for(var b=0;b<f;b++)o[y+b]=s[c+b]},flattenChunks:function(o){var s,c,f,y,b,B;for(f=0,s=0,c=o.length;s<c;s++)f+=o[s].length;for(B=new Uint8Array(f),y=0,s=0,c=o.length;s<c;s++)b=o[s],B.set(b,y),y+=b.length;return B}},i={arraySet:function(o,s,c,f,y){for(var b=0;b<f;b++)o[y+b]=s[c+b]},flattenChunks:function(o){return[].concat.apply([],o)}};r.setTyped=function(o){o?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,n)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,i))},r.setTyped(e)}(P1)),P1}var Sd={},Za={},Lf={},lF;function s1e(){if(lF)return Lf;lF=1;var r=nf(),e=4,t=0,n=1,i=2;function o(Pe){for(var Ot=Pe.length;--Ot>=0;)Pe[Ot]=0}var s=0,c=1,f=2,y=3,b=258,B=29,S=256,O=S+1+B,k=30,z=19,J=2*O+1,G=15,j=16,K=7,fe=256,Q=16,oe=17,Be=18,ze=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],pe=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],we=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Ae=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],W=512,ne=new Array((O+2)*2);o(ne);var Te=new Array(k*2);o(Te);var Ye=new Array(W);o(Ye);var Ce=new Array(b-y+1);o(Ce);var Ne=new Array(B);o(Ne);var Ge=new Array(k);o(Ge);function Qe(Pe,Ot,Vt,sr,Ze){this.static_tree=Pe,this.extra_bits=Ot,this.extra_base=Vt,this.elems=sr,this.max_length=Ze,this.has_stree=Pe&&Pe.length}var rt,tt,lt;function mt(Pe,Ot){this.dyn_tree=Pe,this.max_code=0,this.stat_desc=Ot}function Tt(Pe){return Pe<256?Ye[Pe]:Ye[256+(Pe>>>7)]}function nt(Pe,Ot){Pe.pending_buf[Pe.pending++]=Ot&255,Pe.pending_buf[Pe.pending++]=Ot>>>8&255}function cr(Pe,Ot,Vt){Pe.bi_valid>j-Vt?(Pe.bi_buf|=Ot<<Pe.bi_valid&65535,nt(Pe,Pe.bi_buf),Pe.bi_buf=Ot>>j-Pe.bi_valid,Pe.bi_valid+=Vt-j):(Pe.bi_buf|=Ot<<Pe.bi_valid&65535,Pe.bi_valid+=Vt)}function Xt(Pe,Ot,Vt){cr(Pe,Vt[Ot*2],Vt[Ot*2+1])}function $t(Pe,Ot){var Vt=0;do Vt|=Pe&1,Pe>>>=1,Vt<<=1;while(--Ot>0);return Vt>>>1}function Lt(Pe){Pe.bi_valid===16?(nt(Pe,Pe.bi_buf),Pe.bi_buf=0,Pe.bi_valid=0):Pe.bi_valid>=8&&(Pe.pending_buf[Pe.pending++]=Pe.bi_buf&255,Pe.bi_buf>>=8,Pe.bi_valid-=8)}function lr(Pe,Ot){var Vt=Ot.dyn_tree,sr=Ot.max_code,Ze=Ot.stat_desc.static_tree,Mt=Ot.stat_desc.has_stree,ge=Ot.stat_desc.extra_bits,kt=Ot.stat_desc.extra_base,wt=Ot.stat_desc.max_length,$,yt,Et,Ee,Je,ct,Y=0;for(Ee=0;Ee<=G;Ee++)Pe.bl_count[Ee]=0;for(Vt[Pe.heap[Pe.heap_max]*2+1]=0,$=Pe.heap_max+1;$<J;$++)yt=Pe.heap[$],Ee=Vt[Vt[yt*2+1]*2+1]+1,Ee>wt&&(Ee=wt,Y++),Vt[yt*2+1]=Ee,!(yt>sr)&&(Pe.bl_count[Ee]++,Je=0,yt>=kt&&(Je=ge[yt-kt]),ct=Vt[yt*2],Pe.opt_len+=ct*(Ee+Je),Mt&&(Pe.static_len+=ct*(Ze[yt*2+1]+Je)));if(Y!==0){do{for(Ee=wt-1;Pe.bl_count[Ee]===0;)Ee--;Pe.bl_count[Ee]--,Pe.bl_count[Ee+1]+=2,Pe.bl_count[wt]--,Y-=2}while(Y>0);for(Ee=wt;Ee!==0;Ee--)for(yt=Pe.bl_count[Ee];yt!==0;)Et=Pe.heap[--$],!(Et>sr)&&(Vt[Et*2+1]!==Ee&&(Pe.opt_len+=(Ee-Vt[Et*2+1])*Vt[Et*2],Vt[Et*2+1]=Ee),yt--)}}function tn(Pe,Ot,Vt){var sr=new Array(G+1),Ze=0,Mt,ge;for(Mt=1;Mt<=G;Mt++)sr[Mt]=Ze=Ze+Vt[Mt-1]<<1;for(ge=0;ge<=Ot;ge++){var kt=Pe[ge*2+1];kt!==0&&(Pe[ge*2]=$t(sr[kt]++,kt))}}function Er(){var Pe,Ot,Vt,sr,Ze,Mt=new Array(G+1);for(Vt=0,sr=0;sr<B-1;sr++)for(Ne[sr]=Vt,Pe=0;Pe<1<<ze[sr];Pe++)Ce[Vt++]=sr;for(Ce[Vt-1]=sr,Ze=0,sr=0;sr<16;sr++)for(Ge[sr]=Ze,Pe=0;Pe<1<<pe[sr];Pe++)Ye[Ze++]=sr;for(Ze>>=7;sr<k;sr++)for(Ge[sr]=Ze<<7,Pe=0;Pe<1<<pe[sr]-7;Pe++)Ye[256+Ze++]=sr;for(Ot=0;Ot<=G;Ot++)Mt[Ot]=0;for(Pe=0;Pe<=143;)ne[Pe*2+1]=8,Pe++,Mt[8]++;for(;Pe<=255;)ne[Pe*2+1]=9,Pe++,Mt[9]++;for(;Pe<=279;)ne[Pe*2+1]=7,Pe++,Mt[7]++;for(;Pe<=287;)ne[Pe*2+1]=8,Pe++,Mt[8]++;for(tn(ne,O+1,Mt),Pe=0;Pe<k;Pe++)Te[Pe*2+1]=5,Te[Pe*2]=$t(Pe,5);rt=new Qe(ne,ze,S+1,O,G),tt=new Qe(Te,pe,0,k,G),lt=new Qe(new Array(0),we,0,z,K)}function Ar(Pe){var Ot;for(Ot=0;Ot<O;Ot++)Pe.dyn_ltree[Ot*2]=0;for(Ot=0;Ot<k;Ot++)Pe.dyn_dtree[Ot*2]=0;for(Ot=0;Ot<z;Ot++)Pe.bl_tree[Ot*2]=0;Pe.dyn_ltree[fe*2]=1,Pe.opt_len=Pe.static_len=0,Pe.last_lit=Pe.matches=0}function Mn(Pe){Pe.bi_valid>8?nt(Pe,Pe.bi_buf):Pe.bi_valid>0&&(Pe.pending_buf[Pe.pending++]=Pe.bi_buf),Pe.bi_buf=0,Pe.bi_valid=0}function hr(Pe,Ot,Vt,sr){Mn(Pe),nt(Pe,Vt),nt(Pe,~Vt),r.arraySet(Pe.pending_buf,Pe.window,Ot,Vt,Pe.pending),Pe.pending+=Vt}function pr(Pe,Ot,Vt,sr){var Ze=Ot*2,Mt=Vt*2;return Pe[Ze]<Pe[Mt]||Pe[Ze]===Pe[Mt]&&sr[Ot]<=sr[Vt]}function rn(Pe,Ot,Vt){for(var sr=Pe.heap[Vt],Ze=Vt<<1;Ze<=Pe.heap_len&&(Ze<Pe.heap_len&&pr(Ot,Pe.heap[Ze+1],Pe.heap[Ze],Pe.depth)&&Ze++,!pr(Ot,sr,Pe.heap[Ze],Pe.depth));)Pe.heap[Vt]=Pe.heap[Ze],Vt=Ze,Ze<<=1;Pe.heap[Vt]=sr}function Sr(Pe,Ot,Vt){var sr,Ze,Mt=0,ge,kt;if(Pe.last_lit!==0)do sr=Pe.pending_buf[Pe.d_buf+Mt*2]<<8|Pe.pending_buf[Pe.d_buf+Mt*2+1],Ze=Pe.pending_buf[Pe.l_buf+Mt],Mt++,sr===0?Xt(Pe,Ze,Ot):(ge=Ce[Ze],Xt(Pe,ge+S+1,Ot),kt=ze[ge],kt!==0&&(Ze-=Ne[ge],cr(Pe,Ze,kt)),sr--,ge=Tt(sr),Xt(Pe,ge,Vt),kt=pe[ge],kt!==0&&(sr-=Ge[ge],cr(Pe,sr,kt)));while(Mt<Pe.last_lit);Xt(Pe,fe,Ot)}function ei(Pe,Ot){var Vt=Ot.dyn_tree,sr=Ot.stat_desc.static_tree,Ze=Ot.stat_desc.has_stree,Mt=Ot.stat_desc.elems,ge,kt,wt=-1,$;for(Pe.heap_len=0,Pe.heap_max=J,ge=0;ge<Mt;ge++)Vt[ge*2]!==0?(Pe.heap[++Pe.heap_len]=wt=ge,Pe.depth[ge]=0):Vt[ge*2+1]=0;for(;Pe.heap_len<2;)$=Pe.heap[++Pe.heap_len]=wt<2?++wt:0,Vt[$*2]=1,Pe.depth[$]=0,Pe.opt_len--,Ze&&(Pe.static_len-=sr[$*2+1]);for(Ot.max_code=wt,ge=Pe.heap_len>>1;ge>=1;ge--)rn(Pe,Vt,ge);$=Mt;do ge=Pe.heap[1],Pe.heap[1]=Pe.heap[Pe.heap_len--],rn(Pe,Vt,1),kt=Pe.heap[1],Pe.heap[--Pe.heap_max]=ge,Pe.heap[--Pe.heap_max]=kt,Vt[$*2]=Vt[ge*2]+Vt[kt*2],Pe.depth[$]=(Pe.depth[ge]>=Pe.depth[kt]?Pe.depth[ge]:Pe.depth[kt])+1,Vt[ge*2+1]=Vt[kt*2+1]=$,Pe.heap[1]=$++,rn(Pe,Vt,1);while(Pe.heap_len>=2);Pe.heap[--Pe.heap_max]=Pe.heap[1],lr(Pe,Ot),tn(Vt,wt,Pe.bl_count)}function $n(Pe,Ot,Vt){var sr,Ze=-1,Mt,ge=Ot[0*2+1],kt=0,wt=7,$=4;for(ge===0&&(wt=138,$=3),Ot[(Vt+1)*2+1]=65535,sr=0;sr<=Vt;sr++)Mt=ge,ge=Ot[(sr+1)*2+1],!(++kt<wt&&Mt===ge)&&(kt<$?Pe.bl_tree[Mt*2]+=kt:Mt!==0?(Mt!==Ze&&Pe.bl_tree[Mt*2]++,Pe.bl_tree[Q*2]++):kt<=10?Pe.bl_tree[oe*2]++:Pe.bl_tree[Be*2]++,kt=0,Ze=Mt,ge===0?(wt=138,$=3):Mt===ge?(wt=6,$=3):(wt=7,$=4))}function un(Pe,Ot,Vt){var sr,Ze=-1,Mt,ge=Ot[0*2+1],kt=0,wt=7,$=4;for(ge===0&&(wt=138,$=3),sr=0;sr<=Vt;sr++)if(Mt=ge,ge=Ot[(sr+1)*2+1],!(++kt<wt&&Mt===ge)){if(kt<$)do Xt(Pe,Mt,Pe.bl_tree);while(--kt!==0);else Mt!==0?(Mt!==Ze&&(Xt(Pe,Mt,Pe.bl_tree),kt--),Xt(Pe,Q,Pe.bl_tree),cr(Pe,kt-3,2)):kt<=10?(Xt(Pe,oe,Pe.bl_tree),cr(Pe,kt-3,3)):(Xt(Pe,Be,Pe.bl_tree),cr(Pe,kt-11,7));kt=0,Ze=Mt,ge===0?(wt=138,$=3):Mt===ge?(wt=6,$=3):(wt=7,$=4)}}function Xn(Pe){var Ot;for($n(Pe,Pe.dyn_ltree,Pe.l_desc.max_code),$n(Pe,Pe.dyn_dtree,Pe.d_desc.max_code),ei(Pe,Pe.bl_desc),Ot=z-1;Ot>=3&&Pe.bl_tree[Ae[Ot]*2+1]===0;Ot--);return Pe.opt_len+=3*(Ot+1)+5+5+4,Ot}function kn(Pe,Ot,Vt,sr){var Ze;for(cr(Pe,Ot-257,5),cr(Pe,Vt-1,5),cr(Pe,sr-4,4),Ze=0;Ze<sr;Ze++)cr(Pe,Pe.bl_tree[Ae[Ze]*2+1],3);un(Pe,Pe.dyn_ltree,Ot-1),un(Pe,Pe.dyn_dtree,Vt-1)}function bn(Pe){var Ot=4093624447,Vt;for(Vt=0;Vt<=31;Vt++,Ot>>>=1)if(Ot&1&&Pe.dyn_ltree[Vt*2]!==0)return t;if(Pe.dyn_ltree[9*2]!==0||Pe.dyn_ltree[10*2]!==0||Pe.dyn_ltree[13*2]!==0)return n;for(Vt=32;Vt<S;Vt++)if(Pe.dyn_ltree[Vt*2]!==0)return n;return t}var Wn=!1;function Ut(Pe){Wn||(Er(),Wn=!0),Pe.l_desc=new mt(Pe.dyn_ltree,rt),Pe.d_desc=new mt(Pe.dyn_dtree,tt),Pe.bl_desc=new mt(Pe.bl_tree,lt),Pe.bi_buf=0,Pe.bi_valid=0,Ar(Pe)}function dr(Pe,Ot,Vt,sr){cr(Pe,(s<<1)+(sr?1:0),3),hr(Pe,Ot,Vt)}function Tr(Pe){cr(Pe,c<<1,3),Xt(Pe,fe,ne),Lt(Pe)}function qr(Pe,Ot,Vt,sr){var Ze,Mt,ge=0;Pe.level>0?(Pe.strm.data_type===i&&(Pe.strm.data_type=bn(Pe)),ei(Pe,Pe.l_desc),ei(Pe,Pe.d_desc),ge=Xn(Pe),Ze=Pe.opt_len+3+7>>>3,Mt=Pe.static_len+3+7>>>3,Mt<=Ze&&(Ze=Mt)):Ze=Mt=Vt+5,Vt+4<=Ze&&Ot!==-1?dr(Pe,Ot,Vt,sr):Pe.strategy===e||Mt===Ze?(cr(Pe,(c<<1)+(sr?1:0),3),Sr(Pe,ne,Te)):(cr(Pe,(f<<1)+(sr?1:0),3),kn(Pe,Pe.l_desc.max_code+1,Pe.d_desc.max_code+1,ge+1),Sr(Pe,Pe.dyn_ltree,Pe.dyn_dtree)),Ar(Pe),sr&&Mn(Pe)}function ui(Pe,Ot,Vt){return Pe.pending_buf[Pe.d_buf+Pe.last_lit*2]=Ot>>>8&255,Pe.pending_buf[Pe.d_buf+Pe.last_lit*2+1]=Ot&255,Pe.pending_buf[Pe.l_buf+Pe.last_lit]=Vt&255,Pe.last_lit++,Ot===0?Pe.dyn_ltree[Vt*2]++:(Pe.matches++,Ot--,Pe.dyn_ltree[(Ce[Vt]+S+1)*2]++,Pe.dyn_dtree[Tt(Ot)*2]++),Pe.last_lit===Pe.lit_bufsize-1}return Lf._tr_init=Ut,Lf._tr_stored_block=dr,Lf._tr_flush_block=qr,Lf._tr_tally=ui,Lf._tr_align=Tr,Lf}var R1,uF;function uk(){if(uF)return R1;uF=1;function r(e,t,n,i){for(var o=e&65535|0,s=e>>>16&65535|0,c=0;n!==0;){c=n>2e3?2e3:n,n-=c;do o=o+t[i++]|0,s=s+o|0;while(--c);o%=65521,s%=65521}return o|s<<16|0}return R1=r,R1}var F1,fF;function fk(){if(fF)return F1;fF=1;function r(){for(var n,i=[],o=0;o<256;o++){n=o;for(var s=0;s<8;s++)n=n&1?3988292384^n>>>1:n>>>1;i[o]=n}return i}var e=r();function t(n,i,o,s){var c=e,f=s+o;n^=-1;for(var y=s;y<f;y++)n=n>>>8^c[(n^i[y])&255];return n^-1}return F1=t,F1}var D1,hF;function nE(){return hF||(hF=1,D1={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}),D1}var dF;function o1e(){if(dF)return Za;dF=1;var r=nf(),e=s1e(),t=uk(),n=fk(),i=nE(),o=0,s=1,c=3,f=4,y=5,b=0,B=1,S=-2,O=-3,k=-5,z=-1,J=1,G=2,j=3,K=4,fe=0,Q=2,oe=8,Be=9,ze=15,pe=8,we=29,Ae=256,W=Ae+1+we,ne=30,Te=19,Ye=2*W+1,Ce=15,Ne=3,Ge=258,Qe=Ge+Ne+1,rt=32,tt=42,lt=69,mt=73,Tt=91,nt=103,cr=113,Xt=666,$t=1,Lt=2,lr=3,tn=4,Er=3;function Ar($,yt){return $.msg=i[yt],yt}function Mn($){return($<<1)-($>4?9:0)}function hr($){for(var yt=$.length;--yt>=0;)$[yt]=0}function pr($){var yt=$.state,Et=yt.pending;Et>$.avail_out&&(Et=$.avail_out),Et!==0&&(r.arraySet($.output,yt.pending_buf,yt.pending_out,Et,$.next_out),$.next_out+=Et,yt.pending_out+=Et,$.total_out+=Et,$.avail_out-=Et,yt.pending-=Et,yt.pending===0&&(yt.pending_out=0))}function rn($,yt){e._tr_flush_block($,$.block_start>=0?$.block_start:-1,$.strstart-$.block_start,yt),$.block_start=$.strstart,pr($.strm)}function Sr($,yt){$.pending_buf[$.pending++]=yt}function ei($,yt){$.pending_buf[$.pending++]=yt>>>8&255,$.pending_buf[$.pending++]=yt&255}function $n($,yt,Et,Ee){var Je=$.avail_in;return Je>Ee&&(Je=Ee),Je===0?0:($.avail_in-=Je,r.arraySet(yt,$.input,$.next_in,Je,Et),$.state.wrap===1?$.adler=t($.adler,yt,Je,Et):$.state.wrap===2&&($.adler=n($.adler,yt,Je,Et)),$.next_in+=Je,$.total_in+=Je,Je)}function un($,yt){var Et=$.max_chain_length,Ee=$.strstart,Je,ct,Y=$.prev_length,ie=$.nice_match,ue=$.strstart>$.w_size-Qe?$.strstart-($.w_size-Qe):0,ye=$.window,Oe=$.w_mask,de=$.prev,ve=$.strstart+Ge,ce=ye[Ee+Y-1],Se=ye[Ee+Y];$.prev_length>=$.good_match&&(Et>>=2),ie>$.lookahead&&(ie=$.lookahead);do if(Je=yt,!(ye[Je+Y]!==Se||ye[Je+Y-1]!==ce||ye[Je]!==ye[Ee]||ye[++Je]!==ye[Ee+1])){Ee+=2,Je++;do;while(ye[++Ee]===ye[++Je]&&ye[++Ee]===ye[++Je]&&ye[++Ee]===ye[++Je]&&ye[++Ee]===ye[++Je]&&ye[++Ee]===ye[++Je]&&ye[++Ee]===ye[++Je]&&ye[++Ee]===ye[++Je]&&ye[++Ee]===ye[++Je]&&Ee<ve);if(ct=Ge-(ve-Ee),Ee=ve-Ge,ct>Y){if($.match_start=yt,Y=ct,ct>=ie)break;ce=ye[Ee+Y-1],Se=ye[Ee+Y]}}while((yt=de[yt&Oe])>ue&&--Et!==0);return Y<=$.lookahead?Y:$.lookahead}function Xn($){var yt=$.w_size,Et,Ee,Je,ct,Y;do{if(ct=$.window_size-$.lookahead-$.strstart,$.strstart>=yt+(yt-Qe)){r.arraySet($.window,$.window,yt,yt,0),$.match_start-=yt,$.strstart-=yt,$.block_start-=yt,Ee=$.hash_size,Et=Ee;do Je=$.head[--Et],$.head[Et]=Je>=yt?Je-yt:0;while(--Ee);Ee=yt,Et=Ee;do Je=$.prev[--Et],$.prev[Et]=Je>=yt?Je-yt:0;while(--Ee);ct+=yt}if($.strm.avail_in===0)break;if(Ee=$n($.strm,$.window,$.strstart+$.lookahead,ct),$.lookahead+=Ee,$.lookahead+$.insert>=Ne)for(Y=$.strstart-$.insert,$.ins_h=$.window[Y],$.ins_h=($.ins_h<<$.hash_shift^$.window[Y+1])&$.hash_mask;$.insert&&($.ins_h=($.ins_h<<$.hash_shift^$.window[Y+Ne-1])&$.hash_mask,$.prev[Y&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=Y,Y++,$.insert--,!($.lookahead+$.insert<Ne)););}while($.lookahead<Qe&&$.strm.avail_in!==0)}function kn($,yt){var Et=65535;for(Et>$.pending_buf_size-5&&(Et=$.pending_buf_size-5);;){if($.lookahead<=1){if(Xn($),$.lookahead===0&&yt===o)return $t;if($.lookahead===0)break}$.strstart+=$.lookahead,$.lookahead=0;var Ee=$.block_start+Et;if(($.strstart===0||$.strstart>=Ee)&&($.lookahead=$.strstart-Ee,$.strstart=Ee,rn($,!1),$.strm.avail_out===0)||$.strstart-$.block_start>=$.w_size-Qe&&(rn($,!1),$.strm.avail_out===0))return $t}return $.insert=0,yt===f?(rn($,!0),$.strm.avail_out===0?lr:tn):($.strstart>$.block_start&&(rn($,!1),$.strm.avail_out===0),$t)}function bn($,yt){for(var Et,Ee;;){if($.lookahead<Qe){if(Xn($),$.lookahead<Qe&&yt===o)return $t;if($.lookahead===0)break}if(Et=0,$.lookahead>=Ne&&($.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+Ne-1])&$.hash_mask,Et=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart),Et!==0&&$.strstart-Et<=$.w_size-Qe&&($.match_length=un($,Et)),$.match_length>=Ne)if(Ee=e._tr_tally($,$.strstart-$.match_start,$.match_length-Ne),$.lookahead-=$.match_length,$.match_length<=$.max_lazy_match&&$.lookahead>=Ne){$.match_length--;do $.strstart++,$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+Ne-1])&$.hash_mask,Et=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart;while(--$.match_length!==0);$.strstart++}else $.strstart+=$.match_length,$.match_length=0,$.ins_h=$.window[$.strstart],$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+1])&$.hash_mask;else Ee=e._tr_tally($,0,$.window[$.strstart]),$.lookahead--,$.strstart++;if(Ee&&(rn($,!1),$.strm.avail_out===0))return $t}return $.insert=$.strstart<Ne-1?$.strstart:Ne-1,yt===f?(rn($,!0),$.strm.avail_out===0?lr:tn):$.last_lit&&(rn($,!1),$.strm.avail_out===0)?$t:Lt}function Wn($,yt){for(var Et,Ee,Je;;){if($.lookahead<Qe){if(Xn($),$.lookahead<Qe&&yt===o)return $t;if($.lookahead===0)break}if(Et=0,$.lookahead>=Ne&&($.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+Ne-1])&$.hash_mask,Et=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart),$.prev_length=$.match_length,$.prev_match=$.match_start,$.match_length=Ne-1,Et!==0&&$.prev_length<$.max_lazy_match&&$.strstart-Et<=$.w_size-Qe&&($.match_length=un($,Et),$.match_length<=5&&($.strategy===J||$.match_length===Ne&&$.strstart-$.match_start>4096)&&($.match_length=Ne-1)),$.prev_length>=Ne&&$.match_length<=$.prev_length){Je=$.strstart+$.lookahead-Ne,Ee=e._tr_tally($,$.strstart-1-$.prev_match,$.prev_length-Ne),$.lookahead-=$.prev_length-1,$.prev_length-=2;do++$.strstart<=Je&&($.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+Ne-1])&$.hash_mask,Et=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart);while(--$.prev_length!==0);if($.match_available=0,$.match_length=Ne-1,$.strstart++,Ee&&(rn($,!1),$.strm.avail_out===0))return $t}else if($.match_available){if(Ee=e._tr_tally($,0,$.window[$.strstart-1]),Ee&&rn($,!1),$.strstart++,$.lookahead--,$.strm.avail_out===0)return $t}else $.match_available=1,$.strstart++,$.lookahead--}return $.match_available&&(Ee=e._tr_tally($,0,$.window[$.strstart-1]),$.match_available=0),$.insert=$.strstart<Ne-1?$.strstart:Ne-1,yt===f?(rn($,!0),$.strm.avail_out===0?lr:tn):$.last_lit&&(rn($,!1),$.strm.avail_out===0)?$t:Lt}function Ut($,yt){for(var Et,Ee,Je,ct,Y=$.window;;){if($.lookahead<=Ge){if(Xn($),$.lookahead<=Ge&&yt===o)return $t;if($.lookahead===0)break}if($.match_length=0,$.lookahead>=Ne&&$.strstart>0&&(Je=$.strstart-1,Ee=Y[Je],Ee===Y[++Je]&&Ee===Y[++Je]&&Ee===Y[++Je])){ct=$.strstart+Ge;do;while(Ee===Y[++Je]&&Ee===Y[++Je]&&Ee===Y[++Je]&&Ee===Y[++Je]&&Ee===Y[++Je]&&Ee===Y[++Je]&&Ee===Y[++Je]&&Ee===Y[++Je]&&Je<ct);$.match_length=Ge-(ct-Je),$.match_length>$.lookahead&&($.match_length=$.lookahead)}if($.match_length>=Ne?(Et=e._tr_tally($,1,$.match_length-Ne),$.lookahead-=$.match_length,$.strstart+=$.match_length,$.match_length=0):(Et=e._tr_tally($,0,$.window[$.strstart]),$.lookahead--,$.strstart++),Et&&(rn($,!1),$.strm.avail_out===0))return $t}return $.insert=0,yt===f?(rn($,!0),$.strm.avail_out===0?lr:tn):$.last_lit&&(rn($,!1),$.strm.avail_out===0)?$t:Lt}function dr($,yt){for(var Et;;){if($.lookahead===0&&(Xn($),$.lookahead===0)){if(yt===o)return $t;break}if($.match_length=0,Et=e._tr_tally($,0,$.window[$.strstart]),$.lookahead--,$.strstart++,Et&&(rn($,!1),$.strm.avail_out===0))return $t}return $.insert=0,yt===f?(rn($,!0),$.strm.avail_out===0?lr:tn):$.last_lit&&(rn($,!1),$.strm.avail_out===0)?$t:Lt}function Tr($,yt,Et,Ee,Je){this.good_length=$,this.max_lazy=yt,this.nice_length=Et,this.max_chain=Ee,this.func=Je}var qr;qr=[new Tr(0,0,0,0,kn),new Tr(4,4,8,4,bn),new Tr(4,5,16,8,bn),new Tr(4,6,32,32,bn),new Tr(4,4,16,16,Wn),new Tr(8,16,32,32,Wn),new Tr(8,16,128,128,Wn),new Tr(8,32,128,256,Wn),new Tr(32,128,258,1024,Wn),new Tr(32,258,258,4096,Wn)];function ui($){$.window_size=2*$.w_size,hr($.head),$.max_lazy_match=qr[$.level].max_lazy,$.good_match=qr[$.level].good_length,$.nice_match=qr[$.level].nice_length,$.max_chain_length=qr[$.level].max_chain,$.strstart=0,$.block_start=0,$.lookahead=0,$.insert=0,$.match_length=$.prev_length=Ne-1,$.match_available=0,$.ins_h=0}function Pe(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=oe,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new r.Buf16(Ye*2),this.dyn_dtree=new r.Buf16((2*ne+1)*2),this.bl_tree=new r.Buf16((2*Te+1)*2),hr(this.dyn_ltree),hr(this.dyn_dtree),hr(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new r.Buf16(Ce+1),this.heap=new r.Buf16(2*W+1),hr(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new r.Buf16(2*W+1),hr(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function Ot($){var yt;return!$||!$.state?Ar($,S):($.total_in=$.total_out=0,$.data_type=Q,yt=$.state,yt.pending=0,yt.pending_out=0,yt.wrap<0&&(yt.wrap=-yt.wrap),yt.status=yt.wrap?tt:cr,$.adler=yt.wrap===2?0:1,yt.last_flush=o,e._tr_init(yt),b)}function Vt($){var yt=Ot($);return yt===b&&ui($.state),yt}function sr($,yt){return!$||!$.state||$.state.wrap!==2?S:($.state.gzhead=yt,b)}function Ze($,yt,Et,Ee,Je,ct){if(!$)return S;var Y=1;if(yt===z&&(yt=6),Ee<0?(Y=0,Ee=-Ee):Ee>15&&(Y=2,Ee-=16),Je<1||Je>Be||Et!==oe||Ee<8||Ee>15||yt<0||yt>9||ct<0||ct>K)return Ar($,S);Ee===8&&(Ee=9);var ie=new Pe;return $.state=ie,ie.strm=$,ie.wrap=Y,ie.gzhead=null,ie.w_bits=Ee,ie.w_size=1<<ie.w_bits,ie.w_mask=ie.w_size-1,ie.hash_bits=Je+7,ie.hash_size=1<<ie.hash_bits,ie.hash_mask=ie.hash_size-1,ie.hash_shift=~~((ie.hash_bits+Ne-1)/Ne),ie.window=new r.Buf8(ie.w_size*2),ie.head=new r.Buf16(ie.hash_size),ie.prev=new r.Buf16(ie.w_size),ie.lit_bufsize=1<<Je+6,ie.pending_buf_size=ie.lit_bufsize*4,ie.pending_buf=new r.Buf8(ie.pending_buf_size),ie.d_buf=1*ie.lit_bufsize,ie.l_buf=3*ie.lit_bufsize,ie.level=yt,ie.strategy=ct,ie.method=Et,Vt($)}function Mt($,yt){return Ze($,yt,oe,ze,pe,fe)}function ge($,yt){var Et,Ee,Je,ct;if(!$||!$.state||yt>y||yt<0)return $?Ar($,S):S;if(Ee=$.state,!$.output||!$.input&&$.avail_in!==0||Ee.status===Xt&&yt!==f)return Ar($,$.avail_out===0?k:S);if(Ee.strm=$,Et=Ee.last_flush,Ee.last_flush=yt,Ee.status===tt)if(Ee.wrap===2)$.adler=0,Sr(Ee,31),Sr(Ee,139),Sr(Ee,8),Ee.gzhead?(Sr(Ee,(Ee.gzhead.text?1:0)+(Ee.gzhead.hcrc?2:0)+(Ee.gzhead.extra?4:0)+(Ee.gzhead.name?8:0)+(Ee.gzhead.comment?16:0)),Sr(Ee,Ee.gzhead.time&255),Sr(Ee,Ee.gzhead.time>>8&255),Sr(Ee,Ee.gzhead.time>>16&255),Sr(Ee,Ee.gzhead.time>>24&255),Sr(Ee,Ee.level===9?2:Ee.strategy>=G||Ee.level<2?4:0),Sr(Ee,Ee.gzhead.os&255),Ee.gzhead.extra&&Ee.gzhead.extra.length&&(Sr(Ee,Ee.gzhead.extra.length&255),Sr(Ee,Ee.gzhead.extra.length>>8&255)),Ee.gzhead.hcrc&&($.adler=n($.adler,Ee.pending_buf,Ee.pending,0)),Ee.gzindex=0,Ee.status=lt):(Sr(Ee,0),Sr(Ee,0),Sr(Ee,0),Sr(Ee,0),Sr(Ee,0),Sr(Ee,Ee.level===9?2:Ee.strategy>=G||Ee.level<2?4:0),Sr(Ee,Er),Ee.status=cr);else{var Y=oe+(Ee.w_bits-8<<4)<<8,ie=-1;Ee.strategy>=G||Ee.level<2?ie=0:Ee.level<6?ie=1:Ee.level===6?ie=2:ie=3,Y|=ie<<6,Ee.strstart!==0&&(Y|=rt),Y+=31-Y%31,Ee.status=cr,ei(Ee,Y),Ee.strstart!==0&&(ei(Ee,$.adler>>>16),ei(Ee,$.adler&65535)),$.adler=1}if(Ee.status===lt)if(Ee.gzhead.extra){for(Je=Ee.pending;Ee.gzindex<(Ee.gzhead.extra.length&65535)&&!(Ee.pending===Ee.pending_buf_size&&(Ee.gzhead.hcrc&&Ee.pending>Je&&($.adler=n($.adler,Ee.pending_buf,Ee.pending-Je,Je)),pr($),Je=Ee.pending,Ee.pending===Ee.pending_buf_size));)Sr(Ee,Ee.gzhead.extra[Ee.gzindex]&255),Ee.gzindex++;Ee.gzhead.hcrc&&Ee.pending>Je&&($.adler=n($.adler,Ee.pending_buf,Ee.pending-Je,Je)),Ee.gzindex===Ee.gzhead.extra.length&&(Ee.gzindex=0,Ee.status=mt)}else Ee.status=mt;if(Ee.status===mt)if(Ee.gzhead.name){Je=Ee.pending;do{if(Ee.pending===Ee.pending_buf_size&&(Ee.gzhead.hcrc&&Ee.pending>Je&&($.adler=n($.adler,Ee.pending_buf,Ee.pending-Je,Je)),pr($),Je=Ee.pending,Ee.pending===Ee.pending_buf_size)){ct=1;break}Ee.gzindex<Ee.gzhead.name.length?ct=Ee.gzhead.name.charCodeAt(Ee.gzindex++)&255:ct=0,Sr(Ee,ct)}while(ct!==0);Ee.gzhead.hcrc&&Ee.pending>Je&&($.adler=n($.adler,Ee.pending_buf,Ee.pending-Je,Je)),ct===0&&(Ee.gzindex=0,Ee.status=Tt)}else Ee.status=Tt;if(Ee.status===Tt)if(Ee.gzhead.comment){Je=Ee.pending;do{if(Ee.pending===Ee.pending_buf_size&&(Ee.gzhead.hcrc&&Ee.pending>Je&&($.adler=n($.adler,Ee.pending_buf,Ee.pending-Je,Je)),pr($),Je=Ee.pending,Ee.pending===Ee.pending_buf_size)){ct=1;break}Ee.gzindex<Ee.gzhead.comment.length?ct=Ee.gzhead.comment.charCodeAt(Ee.gzindex++)&255:ct=0,Sr(Ee,ct)}while(ct!==0);Ee.gzhead.hcrc&&Ee.pending>Je&&($.adler=n($.adler,Ee.pending_buf,Ee.pending-Je,Je)),ct===0&&(Ee.status=nt)}else Ee.status=nt;if(Ee.status===nt&&(Ee.gzhead.hcrc?(Ee.pending+2>Ee.pending_buf_size&&pr($),Ee.pending+2<=Ee.pending_buf_size&&(Sr(Ee,$.adler&255),Sr(Ee,$.adler>>8&255),$.adler=0,Ee.status=cr)):Ee.status=cr),Ee.pending!==0){if(pr($),$.avail_out===0)return Ee.last_flush=-1,b}else if($.avail_in===0&&Mn(yt)<=Mn(Et)&&yt!==f)return Ar($,k);if(Ee.status===Xt&&$.avail_in!==0)return Ar($,k);if($.avail_in!==0||Ee.lookahead!==0||yt!==o&&Ee.status!==Xt){var ue=Ee.strategy===G?dr(Ee,yt):Ee.strategy===j?Ut(Ee,yt):qr[Ee.level].func(Ee,yt);if((ue===lr||ue===tn)&&(Ee.status=Xt),ue===$t||ue===lr)return $.avail_out===0&&(Ee.last_flush=-1),b;if(ue===Lt&&(yt===s?e._tr_align(Ee):yt!==y&&(e._tr_stored_block(Ee,0,0,!1),yt===c&&(hr(Ee.head),Ee.lookahead===0&&(Ee.strstart=0,Ee.block_start=0,Ee.insert=0))),pr($),$.avail_out===0))return Ee.last_flush=-1,b}return yt!==f?b:Ee.wrap<=0?B:(Ee.wrap===2?(Sr(Ee,$.adler&255),Sr(Ee,$.adler>>8&255),Sr(Ee,$.adler>>16&255),Sr(Ee,$.adler>>24&255),Sr(Ee,$.total_in&255),Sr(Ee,$.total_in>>8&255),Sr(Ee,$.total_in>>16&255),Sr(Ee,$.total_in>>24&255)):(ei(Ee,$.adler>>>16),ei(Ee,$.adler&65535)),pr($),Ee.wrap>0&&(Ee.wrap=-Ee.wrap),Ee.pending!==0?b:B)}function kt($){var yt;return!$||!$.state?S:(yt=$.state.status,yt!==tt&&yt!==lt&&yt!==mt&&yt!==Tt&&yt!==nt&&yt!==cr&&yt!==Xt?Ar($,S):($.state=null,yt===cr?Ar($,O):b))}function wt($,yt){var Et=yt.length,Ee,Je,ct,Y,ie,ue,ye,Oe;if(!$||!$.state||(Ee=$.state,Y=Ee.wrap,Y===2||Y===1&&Ee.status!==tt||Ee.lookahead))return S;for(Y===1&&($.adler=t($.adler,yt,Et,0)),Ee.wrap=0,Et>=Ee.w_size&&(Y===0&&(hr(Ee.head),Ee.strstart=0,Ee.block_start=0,Ee.insert=0),Oe=new r.Buf8(Ee.w_size),r.arraySet(Oe,yt,Et-Ee.w_size,Ee.w_size,0),yt=Oe,Et=Ee.w_size),ie=$.avail_in,ue=$.next_in,ye=$.input,$.avail_in=Et,$.next_in=0,$.input=yt,Xn(Ee);Ee.lookahead>=Ne;){Je=Ee.strstart,ct=Ee.lookahead-(Ne-1);do Ee.ins_h=(Ee.ins_h<<Ee.hash_shift^Ee.window[Je+Ne-1])&Ee.hash_mask,Ee.prev[Je&Ee.w_mask]=Ee.head[Ee.ins_h],Ee.head[Ee.ins_h]=Je,Je++;while(--ct);Ee.strstart=Je,Ee.lookahead=Ne-1,Xn(Ee)}return Ee.strstart+=Ee.lookahead,Ee.block_start=Ee.strstart,Ee.insert=Ee.lookahead,Ee.lookahead=0,Ee.match_length=Ee.prev_length=Ne-1,Ee.match_available=0,$.next_in=ue,$.input=ye,$.avail_in=ie,Ee.wrap=Y,b}return Za.deflateInit=Mt,Za.deflateInit2=Ze,Za.deflateReset=Vt,Za.deflateResetKeep=Ot,Za.deflateSetHeader=sr,Za.deflate=ge,Za.deflateEnd=kt,Za.deflateSetDictionary=wt,Za.deflateInfo="pako deflate (from Nodeca project)",Za}var Nf={},AF;function hk(){if(AF)return Nf;AF=1;var r=nf(),e=!0,t=!0;try{String.fromCharCode.apply(null,[0])}catch{e=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{t=!1}for(var n=new r.Buf8(256),i=0;i<256;i++)n[i]=i>=252?6:i>=248?5:i>=240?4:i>=224?3:i>=192?2:1;n[254]=n[254]=1,Nf.string2buf=function(s){var c,f,y,b,B,S=s.length,O=0;for(b=0;b<S;b++)f=s.charCodeAt(b),(f&64512)===55296&&b+1<S&&(y=s.charCodeAt(b+1),(y&64512)===56320&&(f=65536+(f-55296<<10)+(y-56320),b++)),O+=f<128?1:f<2048?2:f<65536?3:4;for(c=new r.Buf8(O),B=0,b=0;B<O;b++)f=s.charCodeAt(b),(f&64512)===55296&&b+1<S&&(y=s.charCodeAt(b+1),(y&64512)===56320&&(f=65536+(f-55296<<10)+(y-56320),b++)),f<128?c[B++]=f:f<2048?(c[B++]=192|f>>>6,c[B++]=128|f&63):f<65536?(c[B++]=224|f>>>12,c[B++]=128|f>>>6&63,c[B++]=128|f&63):(c[B++]=240|f>>>18,c[B++]=128|f>>>12&63,c[B++]=128|f>>>6&63,c[B++]=128|f&63);return c};function o(s,c){if(c<65534&&(s.subarray&&t||!s.subarray&&e))return String.fromCharCode.apply(null,r.shrinkBuf(s,c));for(var f="",y=0;y<c;y++)f+=String.fromCharCode(s[y]);return f}return Nf.buf2binstring=function(s){return o(s,s.length)},Nf.binstring2buf=function(s){for(var c=new r.Buf8(s.length),f=0,y=c.length;f<y;f++)c[f]=s.charCodeAt(f);return c},Nf.buf2string=function(s,c){var f,y,b,B,S=c||s.length,O=new Array(S*2);for(y=0,f=0;f<S;){if(b=s[f++],b<128){O[y++]=b;continue}if(B=n[b],B>4){O[y++]=65533,f+=B-1;continue}for(b&=B===2?31:B===3?15:7;B>1&&f<S;)b=b<<6|s[f++]&63,B--;if(B>1){O[y++]=65533;continue}b<65536?O[y++]=b:(b-=65536,O[y++]=55296|b>>10&1023,O[y++]=56320|b&1023)}return o(O,y)},Nf.utf8border=function(s,c){var f;for(c=c||s.length,c>s.length&&(c=s.length),f=c-1;f>=0&&(s[f]&192)===128;)f--;return f<0||f===0?c:f+n[s[f]]>c?f:c},Nf}var O1,pF;function dk(){if(pF)return O1;pF=1;function r(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}return O1=r,O1}var gF;function a1e(){if(gF)return Sd;gF=1;var r=o1e(),e=nf(),t=hk(),n=nE(),i=dk(),o=Object.prototype.toString,s=0,c=4,f=0,y=1,b=2,B=-1,S=0,O=8;function k(j){if(!(this instanceof k))return new k(j);this.options=e.assign({level:B,method:O,chunkSize:16384,windowBits:15,memLevel:8,strategy:S,to:""},j||{});var K=this.options;K.raw&&K.windowBits>0?K.windowBits=-K.windowBits:K.gzip&&K.windowBits>0&&K.windowBits<16&&(K.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new i,this.strm.avail_out=0;var fe=r.deflateInit2(this.strm,K.level,K.method,K.windowBits,K.memLevel,K.strategy);if(fe!==f)throw new Error(n[fe]);if(K.header&&r.deflateSetHeader(this.strm,K.header),K.dictionary){var Q;if(typeof K.dictionary=="string"?Q=t.string2buf(K.dictionary):o.call(K.dictionary)==="[object ArrayBuffer]"?Q=new Uint8Array(K.dictionary):Q=K.dictionary,fe=r.deflateSetDictionary(this.strm,Q),fe!==f)throw new Error(n[fe]);this._dict_set=!0}}k.prototype.push=function(j,K){var fe=this.strm,Q=this.options.chunkSize,oe,Be;if(this.ended)return!1;Be=K===~~K?K:K===!0?c:s,typeof j=="string"?fe.input=t.string2buf(j):o.call(j)==="[object ArrayBuffer]"?fe.input=new Uint8Array(j):fe.input=j,fe.next_in=0,fe.avail_in=fe.input.length;do{if(fe.avail_out===0&&(fe.output=new e.Buf8(Q),fe.next_out=0,fe.avail_out=Q),oe=r.deflate(fe,Be),oe!==y&&oe!==f)return this.onEnd(oe),this.ended=!0,!1;(fe.avail_out===0||fe.avail_in===0&&(Be===c||Be===b))&&(this.options.to==="string"?this.onData(t.buf2binstring(e.shrinkBuf(fe.output,fe.next_out))):this.onData(e.shrinkBuf(fe.output,fe.next_out)))}while((fe.avail_in>0||fe.avail_out===0)&&oe!==y);return Be===c?(oe=r.deflateEnd(this.strm),this.onEnd(oe),this.ended=!0,oe===f):(Be===b&&(this.onEnd(f),fe.avail_out=0),!0)},k.prototype.onData=function(j){this.chunks.push(j)},k.prototype.onEnd=function(j){j===f&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=e.flattenChunks(this.chunks)),this.chunks=[],this.err=j,this.msg=this.strm.msg};function z(j,K){var fe=new k(K);if(fe.push(j,!0),fe.err)throw fe.msg||n[fe.err];return fe.result}function J(j,K){return K=K||{},K.raw=!0,z(j,K)}function G(j,K){return K=K||{},K.gzip=!0,z(j,K)}return Sd.Deflate=k,Sd.deflate=z,Sd.deflateRaw=J,Sd.gzip=G,Sd}var Id={},ba={},L1,mF;function c1e(){if(mF)return L1;mF=1;var r=30,e=12;return L1=function(n,i){var o,s,c,f,y,b,B,S,O,k,z,J,G,j,K,fe,Q,oe,Be,ze,pe,we,Ae,W,ne;o=n.state,s=n.next_in,W=n.input,c=s+(n.avail_in-5),f=n.next_out,ne=n.output,y=f-(i-n.avail_out),b=f+(n.avail_out-257),B=o.dmax,S=o.wsize,O=o.whave,k=o.wnext,z=o.window,J=o.hold,G=o.bits,j=o.lencode,K=o.distcode,fe=(1<<o.lenbits)-1,Q=(1<<o.distbits)-1;e:do{G<15&&(J+=W[s++]<<G,G+=8,J+=W[s++]<<G,G+=8),oe=j[J&fe];t:for(;;){if(Be=oe>>>24,J>>>=Be,G-=Be,Be=oe>>>16&255,Be===0)ne[f++]=oe&65535;else if(Be&16){ze=oe&65535,Be&=15,Be&&(G<Be&&(J+=W[s++]<<G,G+=8),ze+=J&(1<<Be)-1,J>>>=Be,G-=Be),G<15&&(J+=W[s++]<<G,G+=8,J+=W[s++]<<G,G+=8),oe=K[J&Q];r:for(;;){if(Be=oe>>>24,J>>>=Be,G-=Be,Be=oe>>>16&255,Be&16){if(pe=oe&65535,Be&=15,G<Be&&(J+=W[s++]<<G,G+=8,G<Be&&(J+=W[s++]<<G,G+=8)),pe+=J&(1<<Be)-1,pe>B){n.msg="invalid distance too far back",o.mode=r;break e}if(J>>>=Be,G-=Be,Be=f-y,pe>Be){if(Be=pe-Be,Be>O&&o.sane){n.msg="invalid distance too far back",o.mode=r;break e}if(we=0,Ae=z,k===0){if(we+=S-Be,Be<ze){ze-=Be;do ne[f++]=z[we++];while(--Be);we=f-pe,Ae=ne}}else if(k<Be){if(we+=S+k-Be,Be-=k,Be<ze){ze-=Be;do ne[f++]=z[we++];while(--Be);if(we=0,k<ze){Be=k,ze-=Be;do ne[f++]=z[we++];while(--Be);we=f-pe,Ae=ne}}}else if(we+=k-Be,Be<ze){ze-=Be;do ne[f++]=z[we++];while(--Be);we=f-pe,Ae=ne}for(;ze>2;)ne[f++]=Ae[we++],ne[f++]=Ae[we++],ne[f++]=Ae[we++],ze-=3;ze&&(ne[f++]=Ae[we++],ze>1&&(ne[f++]=Ae[we++]))}else{we=f-pe;do ne[f++]=ne[we++],ne[f++]=ne[we++],ne[f++]=ne[we++],ze-=3;while(ze>2);ze&&(ne[f++]=ne[we++],ze>1&&(ne[f++]=ne[we++]))}}else if((Be&64)===0){oe=K[(oe&65535)+(J&(1<<Be)-1)];continue r}else{n.msg="invalid distance code",o.mode=r;break e}break}}else if((Be&64)===0){oe=j[(oe&65535)+(J&(1<<Be)-1)];continue t}else if(Be&32){o.mode=e;break e}else{n.msg="invalid literal/length code",o.mode=r;break e}break}}while(s<c&&f<b);ze=G>>3,s-=ze,G-=ze<<3,J&=(1<<G)-1,n.next_in=s,n.next_out=f,n.avail_in=s<c?5+(c-s):5-(s-c),n.avail_out=f<b?257+(b-f):257-(f-b),o.hold=J,o.bits=G},L1}var N1,_F;function l1e(){if(_F)return N1;_F=1;var r=nf(),e=15,t=852,n=592,i=0,o=1,s=2,c=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],f=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],y=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],b=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];return N1=function(S,O,k,z,J,G,j,K){var fe=K.bits,Q=0,oe=0,Be=0,ze=0,pe=0,we=0,Ae=0,W=0,ne=0,Te=0,Ye,Ce,Ne,Ge,Qe,rt=null,tt=0,lt,mt=new r.Buf16(e+1),Tt=new r.Buf16(e+1),nt=null,cr=0,Xt,$t,Lt;for(Q=0;Q<=e;Q++)mt[Q]=0;for(oe=0;oe<z;oe++)mt[O[k+oe]]++;for(pe=fe,ze=e;ze>=1&&mt[ze]===0;ze--);if(pe>ze&&(pe=ze),ze===0)return J[G++]=1<<24|64<<16|0,J[G++]=1<<24|64<<16|0,K.bits=1,0;for(Be=1;Be<ze&&mt[Be]===0;Be++);for(pe<Be&&(pe=Be),W=1,Q=1;Q<=e;Q++)if(W<<=1,W-=mt[Q],W<0)return-1;if(W>0&&(S===i||ze!==1))return-1;for(Tt[1]=0,Q=1;Q<e;Q++)Tt[Q+1]=Tt[Q]+mt[Q];for(oe=0;oe<z;oe++)O[k+oe]!==0&&(j[Tt[O[k+oe]]++]=oe);if(S===i?(rt=nt=j,lt=19):S===o?(rt=c,tt-=257,nt=f,cr-=257,lt=256):(rt=y,nt=b,lt=-1),Te=0,oe=0,Q=Be,Qe=G,we=pe,Ae=0,Ne=-1,ne=1<<pe,Ge=ne-1,S===o&&ne>t||S===s&&ne>n)return 1;for(;;){Xt=Q-Ae,j[oe]<lt?($t=0,Lt=j[oe]):j[oe]>lt?($t=nt[cr+j[oe]],Lt=rt[tt+j[oe]]):($t=96,Lt=0),Ye=1<<Q-Ae,Ce=1<<we,Be=Ce;do Ce-=Ye,J[Qe+(Te>>Ae)+Ce]=Xt<<24|$t<<16|Lt|0;while(Ce!==0);for(Ye=1<<Q-1;Te&Ye;)Ye>>=1;if(Ye!==0?(Te&=Ye-1,Te+=Ye):Te=0,oe++,--mt[Q]===0){if(Q===ze)break;Q=O[k+j[oe]]}if(Q>pe&&(Te&Ge)!==Ne){for(Ae===0&&(Ae=pe),Qe+=Be,we=Q-Ae,W=1<<we;we+Ae<ze&&(W-=mt[we+Ae],!(W<=0));)we++,W<<=1;if(ne+=1<<we,S===o&&ne>t||S===s&&ne>n)return 1;Ne=Te&Ge,J[Ne]=pe<<24|we<<16|Qe-G|0}}return Te!==0&&(J[Qe+Te]=Q-Ae<<24|64<<16|0),K.bits=pe,0},N1}var yF;function u1e(){if(yF)return ba;yF=1;var r=nf(),e=uk(),t=fk(),n=c1e(),i=l1e(),o=0,s=1,c=2,f=4,y=5,b=6,B=0,S=1,O=2,k=-2,z=-3,J=-4,G=-5,j=8,K=1,fe=2,Q=3,oe=4,Be=5,ze=6,pe=7,we=8,Ae=9,W=10,ne=11,Te=12,Ye=13,Ce=14,Ne=15,Ge=16,Qe=17,rt=18,tt=19,lt=20,mt=21,Tt=22,nt=23,cr=24,Xt=25,$t=26,Lt=27,lr=28,tn=29,Er=30,Ar=31,Mn=32,hr=852,pr=592,rn=15,Sr=rn;function ei(Ze){return(Ze>>>24&255)+(Ze>>>8&65280)+((Ze&65280)<<8)+((Ze&255)<<24)}function $n(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function un(Ze){var Mt;return!Ze||!Ze.state?k:(Mt=Ze.state,Ze.total_in=Ze.total_out=Mt.total=0,Ze.msg="",Mt.wrap&&(Ze.adler=Mt.wrap&1),Mt.mode=K,Mt.last=0,Mt.havedict=0,Mt.dmax=32768,Mt.head=null,Mt.hold=0,Mt.bits=0,Mt.lencode=Mt.lendyn=new r.Buf32(hr),Mt.distcode=Mt.distdyn=new r.Buf32(pr),Mt.sane=1,Mt.back=-1,B)}function Xn(Ze){var Mt;return!Ze||!Ze.state?k:(Mt=Ze.state,Mt.wsize=0,Mt.whave=0,Mt.wnext=0,un(Ze))}function kn(Ze,Mt){var ge,kt;return!Ze||!Ze.state||(kt=Ze.state,Mt<0?(ge=0,Mt=-Mt):(ge=(Mt>>4)+1,Mt<48&&(Mt&=15)),Mt&&(Mt<8||Mt>15))?k:(kt.window!==null&&kt.wbits!==Mt&&(kt.window=null),kt.wrap=ge,kt.wbits=Mt,Xn(Ze))}function bn(Ze,Mt){var ge,kt;return Ze?(kt=new $n,Ze.state=kt,kt.window=null,ge=kn(Ze,Mt),ge!==B&&(Ze.state=null),ge):k}function Wn(Ze){return bn(Ze,Sr)}var Ut=!0,dr,Tr;function qr(Ze){if(Ut){var Mt;for(dr=new r.Buf32(512),Tr=new r.Buf32(32),Mt=0;Mt<144;)Ze.lens[Mt++]=8;for(;Mt<256;)Ze.lens[Mt++]=9;for(;Mt<280;)Ze.lens[Mt++]=7;for(;Mt<288;)Ze.lens[Mt++]=8;for(i(s,Ze.lens,0,288,dr,0,Ze.work,{bits:9}),Mt=0;Mt<32;)Ze.lens[Mt++]=5;i(c,Ze.lens,0,32,Tr,0,Ze.work,{bits:5}),Ut=!1}Ze.lencode=dr,Ze.lenbits=9,Ze.distcode=Tr,Ze.distbits=5}function ui(Ze,Mt,ge,kt){var wt,$=Ze.state;return $.window===null&&($.wsize=1<<$.wbits,$.wnext=0,$.whave=0,$.window=new r.Buf8($.wsize)),kt>=$.wsize?(r.arraySet($.window,Mt,ge-$.wsize,$.wsize,0),$.wnext=0,$.whave=$.wsize):(wt=$.wsize-$.wnext,wt>kt&&(wt=kt),r.arraySet($.window,Mt,ge-kt,wt,$.wnext),kt-=wt,kt?(r.arraySet($.window,Mt,ge-kt,kt,0),$.wnext=kt,$.whave=$.wsize):($.wnext+=wt,$.wnext===$.wsize&&($.wnext=0),$.whave<$.wsize&&($.whave+=wt))),0}function Pe(Ze,Mt){var ge,kt,wt,$,yt,Et,Ee,Je,ct,Y,ie,ue,ye,Oe,de=0,ve,ce,Se,p,le,vt,Ke,Ct,It=new r.Buf8(4),Ft,ut,Dt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!Ze||!Ze.state||!Ze.output||!Ze.input&&Ze.avail_in!==0)return k;ge=Ze.state,ge.mode===Te&&(ge.mode=Ye),yt=Ze.next_out,wt=Ze.output,Ee=Ze.avail_out,$=Ze.next_in,kt=Ze.input,Et=Ze.avail_in,Je=ge.hold,ct=ge.bits,Y=Et,ie=Ee,Ct=B;e:for(;;)switch(ge.mode){case K:if(ge.wrap===0){ge.mode=Ye;break}for(;ct<16;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}if(ge.wrap&2&&Je===35615){ge.check=0,It[0]=Je&255,It[1]=Je>>>8&255,ge.check=t(ge.check,It,2,0),Je=0,ct=0,ge.mode=fe;break}if(ge.flags=0,ge.head&&(ge.head.done=!1),!(ge.wrap&1)||(((Je&255)<<8)+(Je>>8))%31){Ze.msg="incorrect header check",ge.mode=Er;break}if((Je&15)!==j){Ze.msg="unknown compression method",ge.mode=Er;break}if(Je>>>=4,ct-=4,Ke=(Je&15)+8,ge.wbits===0)ge.wbits=Ke;else if(Ke>ge.wbits){Ze.msg="invalid window size",ge.mode=Er;break}ge.dmax=1<<Ke,Ze.adler=ge.check=1,ge.mode=Je&512?W:Te,Je=0,ct=0;break;case fe:for(;ct<16;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}if(ge.flags=Je,(ge.flags&255)!==j){Ze.msg="unknown compression method",ge.mode=Er;break}if(ge.flags&57344){Ze.msg="unknown header flags set",ge.mode=Er;break}ge.head&&(ge.head.text=Je>>8&1),ge.flags&512&&(It[0]=Je&255,It[1]=Je>>>8&255,ge.check=t(ge.check,It,2,0)),Je=0,ct=0,ge.mode=Q;case Q:for(;ct<32;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}ge.head&&(ge.head.time=Je),ge.flags&512&&(It[0]=Je&255,It[1]=Je>>>8&255,It[2]=Je>>>16&255,It[3]=Je>>>24&255,ge.check=t(ge.check,It,4,0)),Je=0,ct=0,ge.mode=oe;case oe:for(;ct<16;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}ge.head&&(ge.head.xflags=Je&255,ge.head.os=Je>>8),ge.flags&512&&(It[0]=Je&255,It[1]=Je>>>8&255,ge.check=t(ge.check,It,2,0)),Je=0,ct=0,ge.mode=Be;case Be:if(ge.flags&1024){for(;ct<16;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}ge.length=Je,ge.head&&(ge.head.extra_len=Je),ge.flags&512&&(It[0]=Je&255,It[1]=Je>>>8&255,ge.check=t(ge.check,It,2,0)),Je=0,ct=0}else ge.head&&(ge.head.extra=null);ge.mode=ze;case ze:if(ge.flags&1024&&(ue=ge.length,ue>Et&&(ue=Et),ue&&(ge.head&&(Ke=ge.head.extra_len-ge.length,ge.head.extra||(ge.head.extra=new Array(ge.head.extra_len)),r.arraySet(ge.head.extra,kt,$,ue,Ke)),ge.flags&512&&(ge.check=t(ge.check,kt,ue,$)),Et-=ue,$+=ue,ge.length-=ue),ge.length))break e;ge.length=0,ge.mode=pe;case pe:if(ge.flags&2048){if(Et===0)break e;ue=0;do Ke=kt[$+ue++],ge.head&&Ke&&ge.length<65536&&(ge.head.name+=String.fromCharCode(Ke));while(Ke&&ue<Et);if(ge.flags&512&&(ge.check=t(ge.check,kt,ue,$)),Et-=ue,$+=ue,Ke)break e}else ge.head&&(ge.head.name=null);ge.length=0,ge.mode=we;case we:if(ge.flags&4096){if(Et===0)break e;ue=0;do Ke=kt[$+ue++],ge.head&&Ke&&ge.length<65536&&(ge.head.comment+=String.fromCharCode(Ke));while(Ke&&ue<Et);if(ge.flags&512&&(ge.check=t(ge.check,kt,ue,$)),Et-=ue,$+=ue,Ke)break e}else ge.head&&(ge.head.comment=null);ge.mode=Ae;case Ae:if(ge.flags&512){for(;ct<16;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}if(Je!==(ge.check&65535)){Ze.msg="header crc mismatch",ge.mode=Er;break}Je=0,ct=0}ge.head&&(ge.head.hcrc=ge.flags>>9&1,ge.head.done=!0),Ze.adler=ge.check=0,ge.mode=Te;break;case W:for(;ct<32;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}Ze.adler=ge.check=ei(Je),Je=0,ct=0,ge.mode=ne;case ne:if(ge.havedict===0)return Ze.next_out=yt,Ze.avail_out=Ee,Ze.next_in=$,Ze.avail_in=Et,ge.hold=Je,ge.bits=ct,O;Ze.adler=ge.check=1,ge.mode=Te;case Te:if(Mt===y||Mt===b)break e;case Ye:if(ge.last){Je>>>=ct&7,ct-=ct&7,ge.mode=Lt;break}for(;ct<3;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}switch(ge.last=Je&1,Je>>>=1,ct-=1,Je&3){case 0:ge.mode=Ce;break;case 1:if(qr(ge),ge.mode=lt,Mt===b){Je>>>=2,ct-=2;break e}break;case 2:ge.mode=Qe;break;case 3:Ze.msg="invalid block type",ge.mode=Er}Je>>>=2,ct-=2;break;case Ce:for(Je>>>=ct&7,ct-=ct&7;ct<32;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}if((Je&65535)!==(Je>>>16^65535)){Ze.msg="invalid stored block lengths",ge.mode=Er;break}if(ge.length=Je&65535,Je=0,ct=0,ge.mode=Ne,Mt===b)break e;case Ne:ge.mode=Ge;case Ge:if(ue=ge.length,ue){if(ue>Et&&(ue=Et),ue>Ee&&(ue=Ee),ue===0)break e;r.arraySet(wt,kt,$,ue,yt),Et-=ue,$+=ue,Ee-=ue,yt+=ue,ge.length-=ue;break}ge.mode=Te;break;case Qe:for(;ct<14;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}if(ge.nlen=(Je&31)+257,Je>>>=5,ct-=5,ge.ndist=(Je&31)+1,Je>>>=5,ct-=5,ge.ncode=(Je&15)+4,Je>>>=4,ct-=4,ge.nlen>286||ge.ndist>30){Ze.msg="too many length or distance symbols",ge.mode=Er;break}ge.have=0,ge.mode=rt;case rt:for(;ge.have<ge.ncode;){for(;ct<3;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}ge.lens[Dt[ge.have++]]=Je&7,Je>>>=3,ct-=3}for(;ge.have<19;)ge.lens[Dt[ge.have++]]=0;if(ge.lencode=ge.lendyn,ge.lenbits=7,Ft={bits:ge.lenbits},Ct=i(o,ge.lens,0,19,ge.lencode,0,ge.work,Ft),ge.lenbits=Ft.bits,Ct){Ze.msg="invalid code lengths set",ge.mode=Er;break}ge.have=0,ge.mode=tt;case tt:for(;ge.have<ge.nlen+ge.ndist;){for(;de=ge.lencode[Je&(1<<ge.lenbits)-1],ve=de>>>24,ce=de>>>16&255,Se=de&65535,!(ve<=ct);){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}if(Se<16)Je>>>=ve,ct-=ve,ge.lens[ge.have++]=Se;else{if(Se===16){for(ut=ve+2;ct<ut;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}if(Je>>>=ve,ct-=ve,ge.have===0){Ze.msg="invalid bit length repeat",ge.mode=Er;break}Ke=ge.lens[ge.have-1],ue=3+(Je&3),Je>>>=2,ct-=2}else if(Se===17){for(ut=ve+3;ct<ut;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}Je>>>=ve,ct-=ve,Ke=0,ue=3+(Je&7),Je>>>=3,ct-=3}else{for(ut=ve+7;ct<ut;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}Je>>>=ve,ct-=ve,Ke=0,ue=11+(Je&127),Je>>>=7,ct-=7}if(ge.have+ue>ge.nlen+ge.ndist){Ze.msg="invalid bit length repeat",ge.mode=Er;break}for(;ue--;)ge.lens[ge.have++]=Ke}}if(ge.mode===Er)break;if(ge.lens[256]===0){Ze.msg="invalid code -- missing end-of-block",ge.mode=Er;break}if(ge.lenbits=9,Ft={bits:ge.lenbits},Ct=i(s,ge.lens,0,ge.nlen,ge.lencode,0,ge.work,Ft),ge.lenbits=Ft.bits,Ct){Ze.msg="invalid literal/lengths set",ge.mode=Er;break}if(ge.distbits=6,ge.distcode=ge.distdyn,Ft={bits:ge.distbits},Ct=i(c,ge.lens,ge.nlen,ge.ndist,ge.distcode,0,ge.work,Ft),ge.distbits=Ft.bits,Ct){Ze.msg="invalid distances set",ge.mode=Er;break}if(ge.mode=lt,Mt===b)break e;case lt:ge.mode=mt;case mt:if(Et>=6&&Ee>=258){Ze.next_out=yt,Ze.avail_out=Ee,Ze.next_in=$,Ze.avail_in=Et,ge.hold=Je,ge.bits=ct,n(Ze,ie),yt=Ze.next_out,wt=Ze.output,Ee=Ze.avail_out,$=Ze.next_in,kt=Ze.input,Et=Ze.avail_in,Je=ge.hold,ct=ge.bits,ge.mode===Te&&(ge.back=-1);break}for(ge.back=0;de=ge.lencode[Je&(1<<ge.lenbits)-1],ve=de>>>24,ce=de>>>16&255,Se=de&65535,!(ve<=ct);){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}if(ce&&(ce&240)===0){for(p=ve,le=ce,vt=Se;de=ge.lencode[vt+((Je&(1<<p+le)-1)>>p)],ve=de>>>24,ce=de>>>16&255,Se=de&65535,!(p+ve<=ct);){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}Je>>>=p,ct-=p,ge.back+=p}if(Je>>>=ve,ct-=ve,ge.back+=ve,ge.length=Se,ce===0){ge.mode=$t;break}if(ce&32){ge.back=-1,ge.mode=Te;break}if(ce&64){Ze.msg="invalid literal/length code",ge.mode=Er;break}ge.extra=ce&15,ge.mode=Tt;case Tt:if(ge.extra){for(ut=ge.extra;ct<ut;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}ge.length+=Je&(1<<ge.extra)-1,Je>>>=ge.extra,ct-=ge.extra,ge.back+=ge.extra}ge.was=ge.length,ge.mode=nt;case nt:for(;de=ge.distcode[Je&(1<<ge.distbits)-1],ve=de>>>24,ce=de>>>16&255,Se=de&65535,!(ve<=ct);){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}if((ce&240)===0){for(p=ve,le=ce,vt=Se;de=ge.distcode[vt+((Je&(1<<p+le)-1)>>p)],ve=de>>>24,ce=de>>>16&255,Se=de&65535,!(p+ve<=ct);){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}Je>>>=p,ct-=p,ge.back+=p}if(Je>>>=ve,ct-=ve,ge.back+=ve,ce&64){Ze.msg="invalid distance code",ge.mode=Er;break}ge.offset=Se,ge.extra=ce&15,ge.mode=cr;case cr:if(ge.extra){for(ut=ge.extra;ct<ut;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}ge.offset+=Je&(1<<ge.extra)-1,Je>>>=ge.extra,ct-=ge.extra,ge.back+=ge.extra}if(ge.offset>ge.dmax){Ze.msg="invalid distance too far back",ge.mode=Er;break}ge.mode=Xt;case Xt:if(Ee===0)break e;if(ue=ie-Ee,ge.offset>ue){if(ue=ge.offset-ue,ue>ge.whave&&ge.sane){Ze.msg="invalid distance too far back",ge.mode=Er;break}ue>ge.wnext?(ue-=ge.wnext,ye=ge.wsize-ue):ye=ge.wnext-ue,ue>ge.length&&(ue=ge.length),Oe=ge.window}else Oe=wt,ye=yt-ge.offset,ue=ge.length;ue>Ee&&(ue=Ee),Ee-=ue,ge.length-=ue;do wt[yt++]=Oe[ye++];while(--ue);ge.length===0&&(ge.mode=mt);break;case $t:if(Ee===0)break e;wt[yt++]=ge.length,Ee--,ge.mode=mt;break;case Lt:if(ge.wrap){for(;ct<32;){if(Et===0)break e;Et--,Je|=kt[$++]<<ct,ct+=8}if(ie-=Ee,Ze.total_out+=ie,ge.total+=ie,ie&&(Ze.adler=ge.check=ge.flags?t(ge.check,wt,ie,yt-ie):e(ge.check,wt,ie,yt-ie)),ie=Ee,(ge.flags?Je:ei(Je))!==ge.check){Ze.msg="incorrect data check",ge.mode=Er;break}Je=0,ct=0}ge.mode=lr;case lr:if(ge.wrap&&ge.flags){for(;ct<32;){if(Et===0)break e;Et--,Je+=kt[$++]<<ct,ct+=8}if(Je!==(ge.total&4294967295)){Ze.msg="incorrect length check",ge.mode=Er;break}Je=0,ct=0}ge.mode=tn;case tn:Ct=S;break e;case Er:Ct=z;break e;case Ar:return J;case Mn:default:return k}return Ze.next_out=yt,Ze.avail_out=Ee,Ze.next_in=$,Ze.avail_in=Et,ge.hold=Je,ge.bits=ct,(ge.wsize||ie!==Ze.avail_out&&ge.mode<Er&&(ge.mode<Lt||Mt!==f))&&ui(Ze,Ze.output,Ze.next_out,ie-Ze.avail_out),Y-=Ze.avail_in,ie-=Ze.avail_out,Ze.total_in+=Y,Ze.total_out+=ie,ge.total+=ie,ge.wrap&&ie&&(Ze.adler=ge.check=ge.flags?t(ge.check,wt,ie,Ze.next_out-ie):e(ge.check,wt,ie,Ze.next_out-ie)),Ze.data_type=ge.bits+(ge.last?64:0)+(ge.mode===Te?128:0)+(ge.mode===lt||ge.mode===Ne?256:0),(Y===0&&ie===0||Mt===f)&&Ct===B&&(Ct=G),Ct}function Ot(Ze){if(!Ze||!Ze.state)return k;var Mt=Ze.state;return Mt.window&&(Mt.window=null),Ze.state=null,B}function Vt(Ze,Mt){var ge;return!Ze||!Ze.state||(ge=Ze.state,(ge.wrap&2)===0)?k:(ge.head=Mt,Mt.done=!1,B)}function sr(Ze,Mt){var ge=Mt.length,kt,wt,$;return!Ze||!Ze.state||(kt=Ze.state,kt.wrap!==0&&kt.mode!==ne)?k:kt.mode===ne&&(wt=1,wt=e(wt,Mt,ge,0),wt!==kt.check)?z:($=ui(Ze,Mt,ge,ge),$?(kt.mode=Ar,J):(kt.havedict=1,B))}return ba.inflateReset=Xn,ba.inflateReset2=kn,ba.inflateResetKeep=un,ba.inflateInit=Wn,ba.inflateInit2=bn,ba.inflate=Pe,ba.inflateEnd=Ot,ba.inflateGetHeader=Vt,ba.inflateSetDictionary=sr,ba.inflateInfo="pako inflate (from Nodeca project)",ba}var k1,vF;function Ak(){return vF||(vF=1,k1={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}),k1}var U1,bF;function f1e(){if(bF)return U1;bF=1;function r(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}return U1=r,U1}var xF;function h1e(){if(xF)return Id;xF=1;var r=u1e(),e=nf(),t=hk(),n=Ak(),i=nE(),o=dk(),s=f1e(),c=Object.prototype.toString;function f(B){if(!(this instanceof f))return new f(B);this.options=e.assign({chunkSize:16384,windowBits:0,to:""},B||{});var S=this.options;S.raw&&S.windowBits>=0&&S.windowBits<16&&(S.windowBits=-S.windowBits,S.windowBits===0&&(S.windowBits=-15)),S.windowBits>=0&&S.windowBits<16&&!(B&&B.windowBits)&&(S.windowBits+=32),S.windowBits>15&&S.windowBits<48&&(S.windowBits&15)===0&&(S.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new o,this.strm.avail_out=0;var O=r.inflateInit2(this.strm,S.windowBits);if(O!==n.Z_OK)throw new Error(i[O]);if(this.header=new s,r.inflateGetHeader(this.strm,this.header),S.dictionary&&(typeof S.dictionary=="string"?S.dictionary=t.string2buf(S.dictionary):c.call(S.dictionary)==="[object ArrayBuffer]"&&(S.dictionary=new Uint8Array(S.dictionary)),S.raw&&(O=r.inflateSetDictionary(this.strm,S.dictionary),O!==n.Z_OK)))throw new Error(i[O])}f.prototype.push=function(B,S){var O=this.strm,k=this.options.chunkSize,z=this.options.dictionary,J,G,j,K,fe,Q=!1;if(this.ended)return!1;G=S===~~S?S:S===!0?n.Z_FINISH:n.Z_NO_FLUSH,typeof B=="string"?O.input=t.binstring2buf(B):c.call(B)==="[object ArrayBuffer]"?O.input=new Uint8Array(B):O.input=B,O.next_in=0,O.avail_in=O.input.length;do{if(O.avail_out===0&&(O.output=new e.Buf8(k),O.next_out=0,O.avail_out=k),J=r.inflate(O,n.Z_NO_FLUSH),J===n.Z_NEED_DICT&&z&&(J=r.inflateSetDictionary(this.strm,z)),J===n.Z_BUF_ERROR&&Q===!0&&(J=n.Z_OK,Q=!1),J!==n.Z_STREAM_END&&J!==n.Z_OK)return this.onEnd(J),this.ended=!0,!1;O.next_out&&(O.avail_out===0||J===n.Z_STREAM_END||O.avail_in===0&&(G===n.Z_FINISH||G===n.Z_SYNC_FLUSH))&&(this.options.to==="string"?(j=t.utf8border(O.output,O.next_out),K=O.next_out-j,fe=t.buf2string(O.output,j),O.next_out=K,O.avail_out=k-K,K&&e.arraySet(O.output,O.output,j,K,0),this.onData(fe)):this.onData(e.shrinkBuf(O.output,O.next_out))),O.avail_in===0&&O.avail_out===0&&(Q=!0)}while((O.avail_in>0||O.avail_out===0)&&J!==n.Z_STREAM_END);return J===n.Z_STREAM_END&&(G=n.Z_FINISH),G===n.Z_FINISH?(J=r.inflateEnd(this.strm),this.onEnd(J),this.ended=!0,J===n.Z_OK):(G===n.Z_SYNC_FLUSH&&(this.onEnd(n.Z_OK),O.avail_out=0),!0)},f.prototype.onData=function(B){this.chunks.push(B)},f.prototype.onEnd=function(B){B===n.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=e.flattenChunks(this.chunks)),this.chunks=[],this.err=B,this.msg=this.strm.msg};function y(B,S){var O=new f(S);if(O.push(B,!0),O.err)throw O.msg||i[O.err];return O.result}function b(B,S){return S=S||{},S.raw=!0,y(B,S)}return Id.Inflate=f,Id.inflate=y,Id.inflateRaw=b,Id.ungzip=y,Id}var z1,wF;function d1e(){if(wF)return z1;wF=1;var r=nf().assign,e=a1e(),t=h1e(),n=Ak(),i={};return r(i,e,t,n),z1=i,z1}var A1e=d1e();const Md=oh(A1e),CF=[0],p1e={getPointColor:{type:"accessor",value:[0,0,0,255]},pointSize:1,data:"",loader:lk,onTilesetLoad:{type:"function",value:r=>{}},onTileLoad:{type:"function",value:r=>{}},onTileUnload:{type:"function",value:r=>{}},onTileError:{type:"function",value:(r,e,t)=>{}},_getMeshColor:{type:"function",value:r=>[255,255,255]}};class iE extends ys{initializeState(){"onTileLoadFail"in this.props&&Wr.removed("onTileLoadFail","onTileError")(),this.state={layerMap:{},tileset3d:null,activeViewports:{},lastUpdatedViewports:null}}get isLoaded(){var e,t;return!!((t=(e=this.state)==null?void 0:e.tileset3d)!=null&&t.isLoaded()&&super.isLoaded)}shouldUpdateState({changeFlags:e}){return e.somethingChanged}updateState({props:e,oldProps:t,changeFlags:n}){if(e.data&&e.data!==t.data&&this._loadTileset(e.data),n.viewportChanged){const{activeViewports:i}=this.state;Object.keys(i).length&&(this._updateTileset(i),this.state.lastUpdatedViewports=i,this.state.activeViewports={})}if(n.propsChanged){const{layerMap:i}=this.state;for(const o in i)i[o].needsUpdate=!0}}activateViewport(e){const{activeViewports:t,lastUpdatedViewports:n}=this.state;this.internalState.viewport=e,t[e.id]=e;const i=n==null?void 0:n[e.id];(!i||!e.equals(i))&&(this.setChangeFlags({viewportChanged:!0}),this.setNeedsUpdate())}getPickingInfo({info:e,sourceLayer:t}){const n=t&&t.props.tile;return e.picked&&(e.object=n),e.sourceTile=n,e}filterSubLayer({layer:e,viewport:t}){const{tile:n}=e.props,{id:i}=t;return n.selected&&n.viewportIds.includes(i)}_updateAutoHighlight(e){const t=e.sourceTile,n=this.state.layerMap[t==null?void 0:t.id];n&&n.layer&&n.layer.updateAutoHighlight(e)}async _loadTileset(e){const{loadOptions:t={}}=this.props,n=this.props.loader||this.props.loaders,i=Array.isArray(n)?n[0]:n,o={loadOptions:{...t}};let s=e;if(i.preload){const y=await i.preload(e,t);y.url&&(s=y.url),y.headers&&(o.loadOptions.fetch={...o.loadOptions.fetch,headers:y.headers}),Object.assign(o,y)}const c=await DA(s,i,o.loadOptions),f=new n_e(c,{onTileLoad:this._onTileLoad.bind(this),onTileUnload:this._onTileUnload.bind(this),onTileError:this.props.onTileError,...o});this.setState({tileset3d:f,layerMap:{}}),this._updateTileset(this.state.activeViewports),this.props.onTilesetLoad(f)}_onTileLoad(e){const{lastUpdatedViewports:t}=this.state;this.props.onTileLoad(e),this._updateTileset(t),this.setNeedsUpdate()}_onTileUnload(e){delete this.state.layerMap[e.id],this.props.onTileUnload(e)}_updateTileset(e){if(!e)return;const{tileset3d:t}=this.state,{timeline:n}=this.context,i=Object.keys(e).length;!n||!i||!t||t.selectTiles(Object.values(e)).then(o=>{this.state.frameNumber!==o&&this.setState({frameNumber:o})})}_getSubLayer(e,t){if(!e.content)return null;switch(e.type){case kl.POINTCLOUD:return this._makePointCloudLayer(e,t);case kl.SCENEGRAPH:return this._make3DModelLayer(e);case kl.MESH:return this._makeSimpleMeshLayer(e,t);default:throw new Error(`Tile3DLayer: Failed to render layer of type ${e.content.type}`)}}_makePointCloudLayer(e,t){const{attributes:n,pointCount:i,constantRGBA:o,cartographicOrigin:s,modelMatrix:c}=e.content,{positions:f,normals:y,colors:b}=n;if(!f)return null;const B=t&&t.props.data||{header:{vertexCount:i},attributes:{POSITION:f,NORMAL:y,COLOR_0:b}},{pointSize:S,getPointColor:O}=this.props,k=this.getSubLayerClass("pointcloud",Mg);return new k({pointSize:S},this.getSubLayerProps({id:"pointcloud"}),{id:`${this.id}-pointcloud-${e.id}`,tile:e,data:B,coordinateSystem:Zr.METER_OFFSETS,coordinateOrigin:s,modelMatrix:c,getColor:o||O,_offset:0})}_make3DModelLayer(e){const{gltf:t,instances:n,cartographicOrigin:i,modelMatrix:o}=e.content,s=this.getSubLayerClass("scenegraph",kg);return new s({_lighting:"pbr"},this.getSubLayerProps({id:"scenegraph"}),{id:`${this.id}-scenegraph-${e.id}`,tile:e,data:n||CF,scenegraph:t,coordinateSystem:Zr.METER_OFFSETS,coordinateOrigin:i,modelMatrix:o,getTransformMatrix:c=>c.modelMatrix,getPosition:[0,0,0],_offset:0})}_makeSimpleMeshLayer(e,t){const n=e.content,{attributes:i,indices:o,modelMatrix:s,cartographicOrigin:c,coordinateSystem:f=Zr.METER_OFFSETS,material:y,featureIds:b}=n,{_getMeshColor:B}=this.props,S=t&&t.props.mesh||new $s({topology:"triangle-list",attributes:g1e(i),indices:o}),O=this.getSubLayerClass("mesh",VC);return new O(this.getSubLayerProps({id:"mesh"}),{id:`${this.id}-mesh-${e.id}`,tile:e,mesh:S,data:CF,getColor:B(e),pbrMaterial:y,modelMatrix:s,coordinateOrigin:c,coordinateSystem:f,featureIds:b,_offset:0})}renderLayers(){const{tileset3d:e,layerMap:t}=this.state;return e?e.tiles.map(n=>{const i=t[n.id]=t[n.id]||{tile:n};let{layer:o}=i;return n.selected&&(o?i.needsUpdate&&(o=this._getSubLayer(n,o),i.needsUpdate=!1):o=this._getSubLayer(n)),i.layer=o,o}).filter(Boolean):null}}iE.defaultProps=p1e;iE.layerName="Tile3DLayer";function g1e(r){const e={};return e.positions={...r.positions,value:new Float32Array(r.positions.value)},r.normals&&(e.normals=r.normals),r.texCoords&&(e.texCoords=r.texCoords),r.colors&&(e.colors=r.colors),r.uvRegions&&(e.uvRegions=r.uvRegions),e}const m1e="4.2.4",pk={dataType:null,batchType:null,name:"Terrain",id:"terrain",module:"terrain",version:m1e,worker:!0,extensions:["png","pngraw","jpg","jpeg","gif","webp","bmp"],mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp"],options:{terrain:{tesselator:"auto",bounds:void 0,meshMaxError:10,elevationDecoder:{rScaler:1,gScaler:0,bScaler:0,offset:0},skirtHeight:void 0}}};({...pk});const EF=[1],_1e={...Xl.defaultProps,elevationData:I_,texture:{...I_,optional:!0},meshMaxError:{type:"number",value:4},bounds:{type:"array",value:null,optional:!0,compare:!0},color:{type:"color",value:[255,255,255]},elevationDecoder:{type:"object",value:{rScaler:1,gScaler:0,bScaler:0,offset:0}},workerUrl:"",wireframe:!1,material:!0,loaders:[pk]};function TF(r){return Array.isArray(r)?r.join(";"):r||""}class sE extends ys{updateState({props:e,oldProps:t}){const n=e.elevationData!==t.elevationData;if(n){const{elevationData:o}=e,s=o&&(Array.isArray(o)||o.includes("{x}")&&o.includes("{y}"));this.setState({isTiled:s})}const i=n||e.meshMaxError!==t.meshMaxError||e.elevationDecoder!==t.elevationDecoder||e.bounds!==t.bounds;if(!this.state.isTiled&&i){const o=this.loadTerrain(e);this.setState({terrain:o})}e.workerUrl&&Wr.removed("workerUrl","loadOptions.terrain.workerUrl")()}loadTerrain({elevationData:e,bounds:t,elevationDecoder:n,meshMaxError:i,signal:o}){if(!e)return null;let s=this.getLoadOptions();s={...s,terrain:{skirtHeight:this.state.isTiled?i*2:0,...s==null?void 0:s.terrain,bounds:t,meshMaxError:i,elevationDecoder:n}};const{fetch:c}=this.props;return c(e,{propName:"elevationData",layer:this,loadOptions:s,signal:o})}getTiledTerrainData(e){const{elevationData:t,fetch:n,texture:i,elevationDecoder:o,meshMaxError:s}=this.props,{viewport:c}=this.context,f=rh(t,e),y=i&&rh(i,e),{signal:b}=e;let B=[0,0],S=[0,0];if(c.isGeospatial){const J=e.bbox;B=c.projectFlat([J.west,J.south]),S=c.projectFlat([J.east,J.north])}else{const J=e.bbox;B=[J.left,J.bottom],S=[J.right,J.top]}const O=[B[0],B[1],S[0],S[1]],k=this.loadTerrain({elevationData:f,bounds:O,elevationDecoder:o,meshMaxError:s,signal:b}),z=y?n(y,{propName:"texture",layer:this,loaders:[],signal:b}).catch(J=>null):Promise.resolve(null);return Promise.all([k,z])}renderSubLayers(e){const t=this.getSubLayerClass("mesh",nh),{color:n,wireframe:i,material:o}=this.props,{data:s}=e;if(!s)return null;const[c,f]=s;return new t(e,{data:EF,mesh:c,texture:f,_instanced:!1,coordinateSystem:Zr.CARTESIAN,getPosition:y=>[0,0,0],getColor:n,wireframe:i,material:o})}onViewportLoad(e){if(!e)return;const{zRange:t}=this.state,n=e.map(s=>s.content).filter(Boolean).map(s=>s[0].header.boundingBox.map(f=>f[2]));if(n.length===0)return;const i=Math.min(...n.map(s=>s[0])),o=Math.max(...n.map(s=>s[1]));(!t||i<t[0]||o>t[1])&&this.setState({zRange:[i,o]})}renderLayers(){const{color:e,material:t,elevationData:n,texture:i,wireframe:o,meshMaxError:s,elevationDecoder:c,tileSize:f,maxZoom:y,minZoom:b,extent:B,maxRequests:S,onTileLoad:O,onTileUnload:k,onTileError:z,maxCacheSize:J,maxCacheByteSize:G,refinementStrategy:j}=this.props;if(this.state.isTiled)return new Xl(this.getSubLayerProps({id:"tiles"}),{getTileData:this.getTiledTerrainData.bind(this),renderSubLayers:this.renderSubLayers.bind(this),updateTriggers:{getTileData:{elevationData:TF(n),texture:TF(i),meshMaxError:s,elevationDecoder:c}},onViewportLoad:this.onViewportLoad.bind(this),zRange:this.state.zRange||null,tileSize:f,maxZoom:y,minZoom:b,extent:B,maxRequests:S,onTileLoad:O,onTileUnload:k,onTileError:z,maxCacheSize:J,maxCacheByteSize:G,refinementStrategy:j});if(!n)return null;const K=this.getSubLayerClass("mesh",nh);return new K(this.getSubLayerProps({id:"mesh"}),{data:EF,mesh:this.state.terrain,texture:i,_instanced:!1,getPosition:fe=>[0,0,0],getColor:e,material:t,wireframe:o})}}sE.defaultProps=_1e;sE.layerName="TerrainLayer";const y1e={clipBounds:[0,0,1,1],clipByInstance:void 0},gk=`
|
3836
3836
|
uniform clipUniforms {
|
3837
3837
|
vec4 bounds;
|
3838
3838
|
} clip;
|
@@ -3856,7 +3856,7 @@ out vec2 clip_commonPosition;
|
|
3856
3856
|
in vec2 clip_commonPosition;
|
3857
3857
|
`,"fs:DECKGL_FILTER_COLOR":`
|
3858
3858
|
if (!clip_isInBounds(clip_commonPosition)) discard;
|
3859
|
-
`};class $y extends Dw{getShaders(){let e="instancePositions"in this.getAttributeManager().attributes;return this.props.clipByInstance!==void 0&&(e=!!this.props.clipByInstance),this.state.clipByInstance=e,e?{modules:[v1e],inject:b1e}:{modules:[x1e],inject:w1e}}draw(){const{clipBounds:e}=this.props,t={};if(this.state.clipByInstance)t.bounds=e;else{const n=this.projectPosition([e[0],e[1],0]),i=this.projectPosition([e[2],e[3],0]);t.bounds=[Math.min(n[0],i[0]),Math.min(n[1],i[1]),Math.max(n[0],i[0]),Math.max(n[1],i[1])]}this.setShaderModuleProps({clip:t})}}$y.defaultProps=y1e;$y.extensionName="ClipExtension";function zx(r,e){const t=e==null?void 0:e.globalFeatureId;return t!==void 0?C1e(r,t):E1e(r,e==null?void 0:e.type)}function C1e(r,e){const t=mk(r);for(const n of t){let i=0,o=n.featureIds.value[0];for(let s=0;s<n.featureIds.value.length;s++){const c=n.featureIds.value[s];if(c!==o){if(e===n.globalFeatureIds.value[i])return k_(n,i,s);i=s,o=c}}if(e===n.globalFeatureIds.value[i])return k_(n,i,n.featureIds.value.length)}throw new Error(`featureId:${e} not found`)}function E1e(r,e){const t=mk(r);return B1e(t)}function T1e(r,e,t){switch(r.type){case"Point":return P1e(r,e,t);case"LineString":return M1e(r,e,t);case"Polygon":return _k(r,e,t);default:const n=r;throw new Error(`Unsupported geometry type: ${n==null?void 0:n.type}`)}}function mk(r,e){const t=[];return r.points&&(r.points.type="Point",t.push(r.points)),r.lines&&(r.lines.type="LineString",t.push(r.lines)),r.polygons&&(r.polygons.type="Polygon",t.push(r.polygons)),t}function B1e(r){const e=[];for(const t of r){if(t.featureIds.value.length===0)continue;let n=0,i=t.featureIds.value[0];for(let o=0;o<t.featureIds.value.length;o++){const s=t.featureIds.value[o];s!==i&&(e.push(k_(t,n,o)),n=o,i=s)}e.push(k_(t,n,t.featureIds.value.length))}return e}function k_(r,e,t){const n=T1e(r,e,t),i=I1e(r,e),o=S1e(r,e);return{type:"Feature",geometry:n,properties:i,...o}}function S1e(r,e=0,t){return r.fields&&r.fields[r.featureIds.value[e]]}function I1e(r,e=0,t){const n=Object.assign({},r.properties[r.featureIds.value[e]]);for(const i in r.numericProps)n[i]=r.numericProps[i].value[e];return n}function _k(r,e=-1/0,t=1/0){const{positions:n}=r,i=r.polygonIndices.value.filter(f=>f>=e&&f<=t),o=r.primitivePolygonIndices.value.filter(f=>f>=e&&f<=t);if(!(i.length>2)){const f=[];for(let y=0;y<o.length-1;y++){const b=o[y],B=o[y+1],S=U_(n,b,B);f.push(S)}return{type:"Polygon",coordinates:f}}const c=[];for(let f=0;f<i.length-1;f++){const y=i[f],b=i[f+1],B=_k(r,y,b).coordinates;c.push(B)}return{type:"MultiPolygon",coordinates:c}}function M1e(r,e=-1/0,t=1/0){const{positions:n}=r,i=r.pathIndices.value.filter(c=>c>=e&&c<=t);if(!(i.length>2))return{type:"LineString",coordinates:U_(n,i[0],i[1])};const s=[];for(let c=0;c<i.length-1;c++){const f=U_(n,i[c],i[c+1]);s.push(f)}return{type:"MultiLineString",coordinates:s}}function P1e(r,e,t){const{positions:n}=r,i=U_(n,e,t);return i.length>1?{type:"MultiPoint",coordinates:i}:{type:"Point",coordinates:i[0]}}function U_(r,e,t){e=e||0,t=t||r.value.length/r.size;const n=[];for(let i=e;i<t;i++){const o=Array();for(let s=i*r.size;s<(i+1)*r.size;s++)o.push(Number(r.value[s]));n.push(o)}return n}var dm={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */var BF;function R1e(){return BF||(BF=1,dm.read=function(r,e,t,n,i){var o,s,c=i*8-n-1,f=(1<<c)-1,y=f>>1,b=-7,B=t?i-1:0,S=t?-1:1,O=r[e+B];for(B+=S,o=O&(1<<-b)-1,O>>=-b,b+=c;b>0;o=o*256+r[e+B],B+=S,b-=8);for(s=o&(1<<-b)-1,o>>=-b,b+=n;b>0;s=s*256+r[e+B],B+=S,b-=8);if(o===0)o=1-y;else{if(o===f)return s?NaN:(O?-1:1)*(1/0);s=s+Math.pow(2,n),o=o-y}return(O?-1:1)*s*Math.pow(2,o-n)},dm.write=function(r,e,t,n,i,o){var s,c,f,y=o*8-i-1,b=(1<<y)-1,B=b>>1,S=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,O=n?0:o-1,k=n?1:-1,z=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(c=isNaN(e)?1:0,s=b):(s=Math.floor(Math.log(e)/Math.LN2),e*(f=Math.pow(2,-s))<1&&(s--,f*=2),s+B>=1?e+=S/f:e+=S*Math.pow(2,1-B),e*f>=2&&(s++,f/=2),s+B>=b?(c=0,s=b):s+B>=1?(c=(e*f-1)*Math.pow(2,i),s=s+B):(c=e*Math.pow(2,B-1)*Math.pow(2,i),s=0));i>=8;r[t+O]=c&255,O+=k,c/=256,i-=8);for(s=s<<i|c,y+=i;y>0;r[t+O]=s&255,O+=k,s/=256,y-=8);r[t+O-k]|=z*128}),dm}var G1,SF;function F1e(){if(SF)return G1;SF=1,G1=e;var r=R1e();function e(W){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(W)?W:new Uint8Array(W||0),this.pos=0,this.type=0,this.length=this.buf.length}e.Varint=0,e.Fixed64=1,e.Bytes=2,e.Fixed32=5;var t=65536*65536,n=1/t,i=12,o=typeof TextDecoder>"u"?null:new TextDecoder("utf-8");e.prototype={destroy:function(){this.buf=null},readFields:function(W,ne,Te){for(Te=Te||this.length;this.pos<Te;){var Ye=this.readVarint(),Ce=Ye>>3,Ne=this.pos;this.type=Ye&7,W(Ce,ne,this),this.pos===Ne&&this.skip(Ye)}return ne},readMessage:function(W,ne){return this.readFields(W,ne,this.readVarint()+this.pos)},readFixed32:function(){var W=oe(this.buf,this.pos);return this.pos+=4,W},readSFixed32:function(){var W=ze(this.buf,this.pos);return this.pos+=4,W},readFixed64:function(){var W=oe(this.buf,this.pos)+oe(this.buf,this.pos+4)*t;return this.pos+=8,W},readSFixed64:function(){var W=oe(this.buf,this.pos)+ze(this.buf,this.pos+4)*t;return this.pos+=8,W},readFloat:function(){var W=r.read(this.buf,this.pos,!0,23,4);return this.pos+=4,W},readDouble:function(){var W=r.read(this.buf,this.pos,!0,52,8);return this.pos+=8,W},readVarint:function(W){var ne=this.buf,Te,Ye;return Ye=ne[this.pos++],Te=Ye&127,Ye<128||(Ye=ne[this.pos++],Te|=(Ye&127)<<7,Ye<128)||(Ye=ne[this.pos++],Te|=(Ye&127)<<14,Ye<128)||(Ye=ne[this.pos++],Te|=(Ye&127)<<21,Ye<128)?Te:(Ye=ne[this.pos],Te|=(Ye&15)<<28,s(Te,W,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var W=this.readVarint();return W%2===1?(W+1)/-2:W/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var W=this.readVarint()+this.pos,ne=this.pos;return this.pos=W,W-ne>=i&&o?we(this.buf,ne,W):pe(this.buf,ne,W)},readBytes:function(){var W=this.readVarint()+this.pos,ne=this.buf.subarray(this.pos,W);return this.pos=W,ne},readPackedVarint:function(W,ne){if(this.type!==e.Bytes)return W.push(this.readVarint(ne));var Te=c(this);for(W=W||[];this.pos<Te;)W.push(this.readVarint(ne));return W},readPackedSVarint:function(W){if(this.type!==e.Bytes)return W.push(this.readSVarint());var ne=c(this);for(W=W||[];this.pos<ne;)W.push(this.readSVarint());return W},readPackedBoolean:function(W){if(this.type!==e.Bytes)return W.push(this.readBoolean());var ne=c(this);for(W=W||[];this.pos<ne;)W.push(this.readBoolean());return W},readPackedFloat:function(W){if(this.type!==e.Bytes)return W.push(this.readFloat());var ne=c(this);for(W=W||[];this.pos<ne;)W.push(this.readFloat());return W},readPackedDouble:function(W){if(this.type!==e.Bytes)return W.push(this.readDouble());var ne=c(this);for(W=W||[];this.pos<ne;)W.push(this.readDouble());return W},readPackedFixed32:function(W){if(this.type!==e.Bytes)return W.push(this.readFixed32());var ne=c(this);for(W=W||[];this.pos<ne;)W.push(this.readFixed32());return W},readPackedSFixed32:function(W){if(this.type!==e.Bytes)return W.push(this.readSFixed32());var ne=c(this);for(W=W||[];this.pos<ne;)W.push(this.readSFixed32());return W},readPackedFixed64:function(W){if(this.type!==e.Bytes)return W.push(this.readFixed64());var ne=c(this);for(W=W||[];this.pos<ne;)W.push(this.readFixed64());return W},readPackedSFixed64:function(W){if(this.type!==e.Bytes)return W.push(this.readSFixed64());var ne=c(this);for(W=W||[];this.pos<ne;)W.push(this.readSFixed64());return W},skip:function(W){var ne=W&7;if(ne===e.Varint)for(;this.buf[this.pos++]>127;);else if(ne===e.Bytes)this.pos=this.readVarint()+this.pos;else if(ne===e.Fixed32)this.pos+=4;else if(ne===e.Fixed64)this.pos+=8;else throw new Error("Unimplemented type: "+ne)},writeTag:function(W,ne){this.writeVarint(W<<3|ne)},realloc:function(W){for(var ne=this.length||16;ne<this.pos+W;)ne*=2;if(ne!==this.length){var Te=new Uint8Array(ne);Te.set(this.buf),this.buf=Te,this.length=ne}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(W){this.realloc(4),Be(this.buf,W,this.pos),this.pos+=4},writeSFixed32:function(W){this.realloc(4),Be(this.buf,W,this.pos),this.pos+=4},writeFixed64:function(W){this.realloc(8),Be(this.buf,W&-1,this.pos),Be(this.buf,Math.floor(W*n),this.pos+4),this.pos+=8},writeSFixed64:function(W){this.realloc(8),Be(this.buf,W&-1,this.pos),Be(this.buf,Math.floor(W*n),this.pos+4),this.pos+=8},writeVarint:function(W){if(W=+W||0,W>268435455||W<0){y(W,this);return}this.realloc(4),this.buf[this.pos++]=W&127|(W>127?128:0),!(W<=127)&&(this.buf[this.pos++]=(W>>>=7)&127|(W>127?128:0),!(W<=127)&&(this.buf[this.pos++]=(W>>>=7)&127|(W>127?128:0),!(W<=127)&&(this.buf[this.pos++]=W>>>7&127)))},writeSVarint:function(W){this.writeVarint(W<0?-W*2-1:W*2)},writeBoolean:function(W){this.writeVarint(!!W)},writeString:function(W){W=String(W),this.realloc(W.length*4),this.pos++;var ne=this.pos;this.pos=Ae(this.buf,W,this.pos);var Te=this.pos-ne;Te>=128&&S(ne,Te,this),this.pos=ne-1,this.writeVarint(Te),this.pos+=Te},writeFloat:function(W){this.realloc(4),r.write(this.buf,W,this.pos,!0,23,4),this.pos+=4},writeDouble:function(W){this.realloc(8),r.write(this.buf,W,this.pos,!0,52,8),this.pos+=8},writeBytes:function(W){var ne=W.length;this.writeVarint(ne),this.realloc(ne);for(var Te=0;Te<ne;Te++)this.buf[this.pos++]=W[Te]},writeRawMessage:function(W,ne){this.pos++;var Te=this.pos;W(ne,this);var Ye=this.pos-Te;Ye>=128&&S(Te,Ye,this),this.pos=Te-1,this.writeVarint(Ye),this.pos+=Ye},writeMessage:function(W,ne,Te){this.writeTag(W,e.Bytes),this.writeRawMessage(ne,Te)},writePackedVarint:function(W,ne){ne.length&&this.writeMessage(W,O,ne)},writePackedSVarint:function(W,ne){ne.length&&this.writeMessage(W,k,ne)},writePackedBoolean:function(W,ne){ne.length&&this.writeMessage(W,G,ne)},writePackedFloat:function(W,ne){ne.length&&this.writeMessage(W,z,ne)},writePackedDouble:function(W,ne){ne.length&&this.writeMessage(W,J,ne)},writePackedFixed32:function(W,ne){ne.length&&this.writeMessage(W,j,ne)},writePackedSFixed32:function(W,ne){ne.length&&this.writeMessage(W,K,ne)},writePackedFixed64:function(W,ne){ne.length&&this.writeMessage(W,fe,ne)},writePackedSFixed64:function(W,ne){ne.length&&this.writeMessage(W,Q,ne)},writeBytesField:function(W,ne){this.writeTag(W,e.Bytes),this.writeBytes(ne)},writeFixed32Field:function(W,ne){this.writeTag(W,e.Fixed32),this.writeFixed32(ne)},writeSFixed32Field:function(W,ne){this.writeTag(W,e.Fixed32),this.writeSFixed32(ne)},writeFixed64Field:function(W,ne){this.writeTag(W,e.Fixed64),this.writeFixed64(ne)},writeSFixed64Field:function(W,ne){this.writeTag(W,e.Fixed64),this.writeSFixed64(ne)},writeVarintField:function(W,ne){this.writeTag(W,e.Varint),this.writeVarint(ne)},writeSVarintField:function(W,ne){this.writeTag(W,e.Varint),this.writeSVarint(ne)},writeStringField:function(W,ne){this.writeTag(W,e.Bytes),this.writeString(ne)},writeFloatField:function(W,ne){this.writeTag(W,e.Fixed32),this.writeFloat(ne)},writeDoubleField:function(W,ne){this.writeTag(W,e.Fixed64),this.writeDouble(ne)},writeBooleanField:function(W,ne){this.writeVarintField(W,!!ne)}};function s(W,ne,Te){var Ye=Te.buf,Ce,Ne;if(Ne=Ye[Te.pos++],Ce=(Ne&112)>>4,Ne<128||(Ne=Ye[Te.pos++],Ce|=(Ne&127)<<3,Ne<128)||(Ne=Ye[Te.pos++],Ce|=(Ne&127)<<10,Ne<128)||(Ne=Ye[Te.pos++],Ce|=(Ne&127)<<17,Ne<128)||(Ne=Ye[Te.pos++],Ce|=(Ne&127)<<24,Ne<128)||(Ne=Ye[Te.pos++],Ce|=(Ne&1)<<31,Ne<128))return f(W,Ce,ne);throw new Error("Expected varint not more than 10 bytes")}function c(W){return W.type===e.Bytes?W.readVarint()+W.pos:W.pos+1}function f(W,ne,Te){return Te?ne*4294967296+(W>>>0):(ne>>>0)*4294967296+(W>>>0)}function y(W,ne){var Te,Ye;if(W>=0?(Te=W%4294967296|0,Ye=W/4294967296|0):(Te=~(-W%4294967296),Ye=~(-W/4294967296),Te^4294967295?Te=Te+1|0:(Te=0,Ye=Ye+1|0)),W>=18446744073709552e3||W<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");ne.realloc(10),b(Te,Ye,ne),B(Ye,ne)}function b(W,ne,Te){Te.buf[Te.pos++]=W&127|128,W>>>=7,Te.buf[Te.pos++]=W&127|128,W>>>=7,Te.buf[Te.pos++]=W&127|128,W>>>=7,Te.buf[Te.pos++]=W&127|128,W>>>=7,Te.buf[Te.pos]=W&127}function B(W,ne){var Te=(W&7)<<4;ne.buf[ne.pos++]|=Te|((W>>>=3)?128:0),W&&(ne.buf[ne.pos++]=W&127|((W>>>=7)?128:0),W&&(ne.buf[ne.pos++]=W&127|((W>>>=7)?128:0),W&&(ne.buf[ne.pos++]=W&127|((W>>>=7)?128:0),W&&(ne.buf[ne.pos++]=W&127|((W>>>=7)?128:0),W&&(ne.buf[ne.pos++]=W&127)))))}function S(W,ne,Te){var Ye=ne<=16383?1:ne<=2097151?2:ne<=268435455?3:Math.floor(Math.log(ne)/(Math.LN2*7));Te.realloc(Ye);for(var Ce=Te.pos-1;Ce>=W;Ce--)Te.buf[Ce+Ye]=Te.buf[Ce]}function O(W,ne){for(var Te=0;Te<W.length;Te++)ne.writeVarint(W[Te])}function k(W,ne){for(var Te=0;Te<W.length;Te++)ne.writeSVarint(W[Te])}function z(W,ne){for(var Te=0;Te<W.length;Te++)ne.writeFloat(W[Te])}function J(W,ne){for(var Te=0;Te<W.length;Te++)ne.writeDouble(W[Te])}function G(W,ne){for(var Te=0;Te<W.length;Te++)ne.writeBoolean(W[Te])}function j(W,ne){for(var Te=0;Te<W.length;Te++)ne.writeFixed32(W[Te])}function K(W,ne){for(var Te=0;Te<W.length;Te++)ne.writeSFixed32(W[Te])}function fe(W,ne){for(var Te=0;Te<W.length;Te++)ne.writeFixed64(W[Te])}function Q(W,ne){for(var Te=0;Te<W.length;Te++)ne.writeSFixed64(W[Te])}function oe(W,ne){return(W[ne]|W[ne+1]<<8|W[ne+2]<<16)+W[ne+3]*16777216}function Be(W,ne,Te){W[Te]=ne,W[Te+1]=ne>>>8,W[Te+2]=ne>>>16,W[Te+3]=ne>>>24}function ze(W,ne){return(W[ne]|W[ne+1]<<8|W[ne+2]<<16)+(W[ne+3]<<24)}function pe(W,ne,Te){for(var Ye="",Ce=ne;Ce<Te;){var Ne=W[Ce],Ge=null,Qe=Ne>239?4:Ne>223?3:Ne>191?2:1;if(Ce+Qe>Te)break;var rt,tt,lt;Qe===1?Ne<128&&(Ge=Ne):Qe===2?(rt=W[Ce+1],(rt&192)===128&&(Ge=(Ne&31)<<6|rt&63,Ge<=127&&(Ge=null))):Qe===3?(rt=W[Ce+1],tt=W[Ce+2],(rt&192)===128&&(tt&192)===128&&(Ge=(Ne&15)<<12|(rt&63)<<6|tt&63,(Ge<=2047||Ge>=55296&&Ge<=57343)&&(Ge=null))):Qe===4&&(rt=W[Ce+1],tt=W[Ce+2],lt=W[Ce+3],(rt&192)===128&&(tt&192)===128&&(lt&192)===128&&(Ge=(Ne&15)<<18|(rt&63)<<12|(tt&63)<<6|lt&63,(Ge<=65535||Ge>=1114112)&&(Ge=null))),Ge===null?(Ge=65533,Qe=1):Ge>65535&&(Ge-=65536,Ye+=String.fromCharCode(Ge>>>10&1023|55296),Ge=56320|Ge&1023),Ye+=String.fromCharCode(Ge),Ce+=Qe}return Ye}function we(W,ne,Te){return o.decode(W.subarray(ne,Te))}function Ae(W,ne,Te){for(var Ye=0,Ce,Ne;Ye<ne.length;Ye++){if(Ce=ne.charCodeAt(Ye),Ce>55295&&Ce<57344)if(Ne)if(Ce<56320){W[Te++]=239,W[Te++]=191,W[Te++]=189,Ne=Ce;continue}else Ce=Ne-55296<<10|Ce-56320|65536,Ne=null;else{Ce>56319||Ye+1===ne.length?(W[Te++]=239,W[Te++]=191,W[Te++]=189):Ne=Ce;continue}else Ne&&(W[Te++]=239,W[Te++]=191,W[Te++]=189,Ne=null);Ce<128?W[Te++]=Ce:(Ce<2048?W[Te++]=Ce>>6|192:(Ce<65536?W[Te++]=Ce>>12|224:(W[Te++]=Ce>>18|240,W[Te++]=Ce>>12&63|128),W[Te++]=Ce>>6&63|128),W[Te++]=Ce&63|128)}return Te}return G1}var D1e=F1e();const O1e=oh(D1e),L1e="4.2.4",yk={dataType:null,batchType:null,name:"Mapbox Vector Tile",id:"mvt",module:"mvt",version:L1e,extensions:["mvt","pbf"],mimeTypes:["application/vnd.mapbox-vector-tile","application/x-protobuf"],worker:!0,category:"geometry",options:{mvt:{shape:"geojson",coordinates:"local",layerProperty:"layerName",layers:void 0,tileIndex:null}}};({...yk});const N1e={Point:vk,MultiPoint:k1e,LineString:bk,MultiLineString:U1e,Polygon:xk,MultiPolygon:z1e};function vk([r,e],[t,n],i){const o=dc(t[0],n[0],r),s=dc(t[1],n[1],e);return i.unprojectFlat([o,s])}function oE(r,e,t){return r.map(n=>vk(n,e,t))}function k1e(r,e,t){return oE(r,e,t)}function bk(r,e,t){return oE(r,e,t)}function U1e(r,e,t){return r.map(n=>bk(n,e,t))}function xk(r,e,t){return r.map(n=>oE(n,e,t))}function z1e(r,e,t){return r.map(n=>xk(n,e,t))}function G1e(r,e,t){const n=t.projectFlat([e.west,e.north]),i=t.projectFlat([e.east,e.south]),o=[n,i];return{...r,coordinates:N1e[r.type](r.coordinates,o,t)}}const V1e=["points","lines","polygons"];function H1e(r,e,t,n){for(const i of V1e){const o=r[i]&&j1e(r[i],e,t,n);if(o>=0)return o}return-1}function j1e(r,e,t,n){const i=r.featureIds.value;if(!i.length)return-1;let o=0,s=i[i.length-1]+1;if(n){const f=$1e(r,n);if(f)o=f[0],s=f[1]+1;else return-1}let c=-1;if(e in r.numericProps){const f=r.numericProps[e].value.findIndex((y,b)=>y===t&&i[b]>=o&&i[b]<s);return f>=0?r.globalFeatureIds.value[f]:-1}else e?c=IF(r.properties,f=>f[e]===t,o,s):r.fields&&(c=IF(r.fields,f=>f.id===t,o,s));return c>=0?W1e(r,c):-1}function $1e(r,e){if(!r.__layers){const t={},{properties:n}=r;for(let i=0;i<n.length;i++){const{layerName:o}=n[i];o&&(t[o]?t[o][1]=i:t[o]=[i,i])}r.__layers=t}return r.__layers[e]}function W1e(r,e){if(!r.__ids){const t=[],n=r.featureIds.value,i=r.globalFeatureIds.value;for(let o=0;o<n.length;o++)t[n[o]]=i[o];r.__ids=t}return r.__ids[e]}function IF(r,e,t,n){for(let i=t;i<n;i++)if(e(r[i],i))return i;return-1}const V1=512,J1e={...Wl.defaultProps,data:I_,onDataLoad:{type:"function",value:null,optional:!0,compare:!1},uniqueIdProperty:"",highlightedFeatureId:null,loaders:[yk],binary:!0};class LA extends Xl{initializeState(){super.initializeState();const e=this.context.viewport.resolution!==void 0?!1:this.props.binary;this.setState({binary:e,data:null,tileJSON:null,hoveredFeatureId:null,hoveredFeatureLayerName:null})}get isLoaded(){var e;return!!((e=this.state)!=null&&e.data&&super.isLoaded)}updateState({props:e,oldProps:t,context:n,changeFlags:i}){var s;i.dataChanged&&this._updateTileData(),(s=this.state)!=null&&s.data&&(super.updateState({props:e,oldProps:t,context:n,changeFlags:i}),this._setWGS84PropertyForTiles());const{highlightColor:o}=e;o!==t.highlightColor&&Array.isArray(o)&&this.setState({highlightColor:o})}async _updateTileData(){let e=this.props.data,t=null;if(typeof e=="string"&&!sde(e)){const{onDataLoad:n,fetch:i}=this.props;this.setState({data:null,tileJSON:null});try{t=await i(e,{propName:"data",layer:this,loaders:[]})}catch(o){this.raiseError(o,"loading TileJSON"),e=null}n&&n(t,{propName:"data",layer:this})}else e&&typeof e=="object"&&"tilejson"in e&&(t=e);t&&(e=t.tiles),this.setState({data:e,tileJSON:t})}_getTilesetOptions(){const e=super._getTilesetOptions(),t=this.state.tileJSON,{minZoom:n,maxZoom:i}=this.props;return t&&(Number.isFinite(t.minzoom)&&t.minzoom>n&&(e.minZoom=t.minzoom),Number.isFinite(t.maxzoom)&&(!Number.isFinite(i)||t.maxzoom<i)&&(e.maxZoom=t.maxzoom)),e}renderLayers(){var e;return(e=this.state)!=null&&e.data?super.renderLayers():null}getTileData(e){const{data:t,binary:n}=this.state,{index:i,signal:o}=e,s=rh(t,e);if(!s)return Promise.reject("Invalid URL");let c=this.getLoadOptions();const{fetch:f}=this.props;return c={...c,mimeType:"application/x-protobuf",mvt:{...c==null?void 0:c.mvt,coordinates:this.context.viewport.resolution?"wgs84":"local",tileIndex:i},gis:n?{format:"binary"}:{}},f(s,{propName:"data",layer:this,loadOptions:c,signal:o})}renderSubLayers(e){const{x:t,y:n,z:i}=e.tile.index,o=Math.pow(2,i),s=V1/o,c=-s,f=V1*t/o,y=V1*(1-n/o),b=new dn().scale([s,c,1]);e.autoHighlight=!1,this.context.viewport.resolution||(e.modelMatrix=b,e.coordinateOrigin=[f,y,0],e.coordinateSystem=Zr.CARTESIAN,e.extensions=[...e.extensions||[],new $y]);const B=super.renderSubLayers(e);return this.state.binary&&!(B instanceof Wl)&&Wr.warn("renderSubLayers() must return GeoJsonLayer when using binary:true")(),B}_updateAutoHighlight(e){const{uniqueIdProperty:t}=this.props,{hoveredFeatureId:n,hoveredFeatureLayerName:i}=this.state,o=e.object;let s=null,c=null;o&&(s=H1(o,t),c=MF(o));let{highlightColor:f}=this.props;typeof f=="function"&&(f=f(e)),(n!==s||i!==c)&&this.setState({highlightColor:f,hoveredFeatureId:s,hoveredFeatureLayerName:c})}_isWGS84(){return!!this.context.viewport.resolution}getPickingInfo(e){const t=super.getPickingInfo(e);if(this.state.binary&&t.index!==-1){const{data:n}=e.sourceLayer.props;t.object=zx(n,{globalFeatureId:t.index})}return t.object&&!this._isWGS84()&&(t.object=RF(t.object,t.tile.bbox,this.context.viewport)),t}getSubLayerPropsByTile(e){return{highlightedObjectIndex:this.getHighlightedObjectIndex(e),highlightColor:this.state.highlightColor}}getHighlightedObjectIndex(e){const{hoveredFeatureId:t,hoveredFeatureLayerName:n,binary:i}=this.state,{uniqueIdProperty:o,highlightedFeatureId:s}=this.props,c=e.content,f=PF(s);if(!(PF(t)||f))return-1;const b=f?s:t;return Array.isArray(c)?c.findIndex(B=>{const S=H1(B,o)===b,O=f||MF(B)===n;return S&&O}):c&&i?H1e(c,o,b,f?"":n):-1}_pickObjects(e){const{deck:t,viewport:n}=this.context,i=n.width,o=n.height,s=n.x,c=n.y,f=[this.id];return t.pickObjects({x:s,y:c,width:i,height:o,layerIds:f,maxObjects:e})}getRenderedFeatures(e=null){const t=this._pickObjects(e),n=new Set,i=[];for(const o of t){const s=H1(o.object,this.props.uniqueIdProperty);s===void 0?i.push(o.object):n.has(s)||(n.add(s),i.push(o.object))}return i}_setWGS84PropertyForTiles(){const e="dataInWGS84";this.state.tileset.selectedTiles.forEach(n=>{n.hasOwnProperty(e)||Object.defineProperty(n,e,{get:()=>{if(!n.content)return null;if(this.state.binary&&Array.isArray(n.content)&&!n.content.length)return[];const{bbox:i}=n;if(n._contentWGS84===void 0&&ode(i)){const o=this.state.binary?zx(n.content):n.content;n._contentWGS84=o.map(s=>RF(s,i,this.context.viewport))}return n._contentWGS84}})})}}LA.layerName="MVTLayer";LA.defaultProps=J1e;function H1(r,e){if(r.properties&&e)return r.properties[e];if("id"in r)return r.id}function MF(r){var e;return((e=r.properties)==null?void 0:e.layerName)||null}function PF(r){return r!=null&&r!==""}function RF(r,e,t){const n={...r,geometry:{type:r.geometry.type}};return Object.defineProperty(n.geometry,"coordinates",{get:()=>G1e(r.geometry,e,t).coordinates}),n}const FF="0123456789bcdefghjkmnpqrstuvwxyz",wk={};for(let r=0;r<FF.length;r++)wk[FF.charAt(r)]=r;const X1e=-90,K1e=90,q1e=-180,Y1e=180;function Z1e(r){let e=!0,t=K1e,n=X1e,i=Y1e,o=q1e,s,c=0;for(let f=0,y=r.length;f<y;f++){const b=r[f].toLowerCase();c=wk[b];for(let B=4;B>=0;B--){const S=c>>B&1;e?(s=(i+o)/2,S===1?o=s:i=s):(s=(t+n)/2,S===1?n=s:t=s),e=!e}}return[n,o,t,i]}function Q1e(r){const[e,t,n,i]=Z1e(r);return[i,n,i,e,t,e,t,n,i,n]}const e2e={getGeohash:{type:"accessor",value:r=>r.geohash}};class Wy extends rf{indexToBounds(){const{data:e,getGeohash:t}=this.props;return{data:e,_normalize:!1,positionFormat:"XY",getPolygon:(n,i)=>Q1e(t(n,i))}}}Wy.layerName="GeohashLayer";Wy.defaultProps=e2e;const t2e=Object.freeze(Object.defineProperty({__proto__:null,GeohashLayer:Wy,GreatCircleLayer:yC,H3ClusterLayer:Oy,H3HexagonLayer:al,MVTLayer:LA,QuadkeyLayer:Iy,S2Layer:Sy,TerrainLayer:sE,Tile3DLayer:iE,TileLayer:Xl,TripsLayer:Ry,_GeoCellLayer:rf,_Tile2DHeader:I8,_Tileset2D:Py,_WMSLayer:_C,_getURLFromTemplate:rh},Symbol.toStringTag,{value:"Module"}));var Sp={},j1,DF;function r2e(){if(DF)return j1;DF=1;var r=Math.PI/180,e=180/Math.PI;function t(j){var K=i(j[0]+1,j[2]),fe=i(j[0],j[2]),Q=o(j[1]+1,j[2]),oe=o(j[1],j[2]);return[fe,Q,K,oe]}function n(j){var K=t(j),fe={type:"Polygon",coordinates:[[[K[0],K[1]],[K[0],K[3]],[K[2],K[3]],[K[2],K[1]],[K[0],K[1]]]]};return fe}function i(j,K){return j/Math.pow(2,K)*360-180}function o(j,K){var fe=Math.PI-2*Math.PI*j/Math.pow(2,K);return e*Math.atan(.5*(Math.exp(fe)-Math.exp(-fe)))}function s(j,K,fe){var Q=G(j,K,fe);return Q[0]=Math.floor(Q[0]),Q[1]=Math.floor(Q[1]),Q}function c(j){return[[j[0]*2,j[1]*2,j[2]+1],[j[0]*2+1,j[1]*2,j[2]+1],[j[0]*2+1,j[1]*2+1,j[2]+1],[j[0]*2,j[1]*2+1,j[2]+1]]}function f(j){return j[0]%2===0&&j[1]%2===0?[j[0]/2,j[1]/2,j[2]-1]:j[0]%2===0&&!j[1]%2===0?[j[0]/2,(j[1]-1)/2,j[2]-1]:!j[0]%2===0&&j[1]%2===0?[(j[0]-1)/2,j[1]/2,j[2]-1]:[(j[0]-1)/2,(j[1]-1)/2,j[2]-1]}function y(j){return c(f(j))}function b(j,K){for(var fe=y(j),Q=0;Q<fe.length;Q++)if(!B(K,fe[Q]))return!1;return!0}function B(j,K){for(var fe=0;fe<j.length;fe++)if(S(j[fe],K))return!0;return!1}function S(j,K){return j[0]===K[0]&&j[1]===K[1]&&j[2]===K[2]}function O(j){for(var K="",fe=j[2];fe>0;fe--){var Q=0,oe=1<<fe-1;j[0]&oe&&Q++,j[1]&oe&&(Q+=2),K+=Q.toString()}return K}function k(j){for(var K=0,fe=0,Q=j.length,oe=Q;oe>0;oe--){var Be=1<<oe-1;switch(j[Q-oe]){case"0":break;case"1":K|=Be;break;case"2":fe|=Be;break;case"3":K|=Be,fe|=Be;break}}return[K,fe,Q]}function z(j){var K=s(j[0],j[1],32),fe=s(j[2],j[3],32),Q=[K[0],K[1],fe[0],fe[1]],oe=J(Q);if(oe===0)return[0,0,0];var Be=Q[0]>>>32-oe,ze=Q[1]>>>32-oe;return[Be,ze,oe]}function J(j){for(var K=28,fe=0;fe<K;fe++){var Q=1<<32-(fe+1);if((j[0]&Q)!=(j[2]&Q)||(j[1]&Q)!=(j[3]&Q))return fe}return K}function G(j,K,fe){var Q=Math.sin(K*r),oe=Math.pow(2,fe),Be=oe*(j/360+.5),ze=oe*(.5-.25*Math.log((1+Q)/(1-Q))/Math.PI);return[Be,ze,fe]}return j1={tileToGeoJSON:n,tileToBBOX:t,getChildren:c,getParent:f,getSiblings:y,hasTile:B,hasSiblings:b,tilesEqual:S,tileToQuadkey:O,quadkeyToTile:k,pointToTile:s,bboxToTile:z,pointToTileFraction:G},j1}var OF;function n2e(){if(OF)return Sp;OF=1;var r=r2e();Sp.geojson=function(b,B){return{type:"FeatureCollection",features:t(b,B).map(e)}};function e(b){return{type:"Feature",geometry:r.tileToGeoJSON(b),properties:{}}}Sp.tiles=t,Sp.indexes=function(b,B){return t(b,B).map(r.tileToQuadkey)};function t(b,B){var S,O,k=b.coordinates,z=B.max_zoom,J={},G=[];if(b.type==="Point")return[r.pointToTile(k[0],k[1],z)];if(b.type==="MultiPoint")for(S=0;S<k.length;S++)O=r.pointToTile(k[S][0],k[S][1],z),J[f(O[0],O[1],O[2])]=!0;else if(b.type==="LineString")s(J,k,z);else if(b.type==="MultiLineString")for(S=0;S<k.length;S++)s(J,k[S],z);else if(b.type==="Polygon")i(J,G,k,z);else if(b.type==="MultiPolygon")for(S=0;S<k.length;S++)i(J,G,k[S],z);else throw new Error("Geometry type not implemented");if(B.min_zoom!==z){var j=G.length;for(c(J,G),S=0;S<j;S++){var K=G[S];J[f(K[0],K[1],K[2])]=!0}return n(J,G,B)}return c(J,G),G}function n(b,B,S){for(var O=[],k=S.max_zoom;k>S.min_zoom;k--){for(var z={},J=[],G=0;G<B.length;G++){var j=B[G];if(j[0]%2===0&&j[1]%2===0){var K=f(j[0]+1,j[1],k),fe=f(j[0],j[1]+1,k),Q=f(j[0]+1,j[1]+1,k);if(b[K]&&b[fe]&&b[Q]){b[f(j[0],j[1],j[2])]=!1,b[K]=!1,b[fe]=!1,b[Q]=!1;var oe=[j[0]/2,j[1]/2,k-1];k-1===S.min_zoom?O.push(oe):(z[f(j[0]/2,j[1]/2,k-1)]=!0,J.push(oe))}}}for(G=0;G<B.length;G++)j=B[G],b[f(j[0],j[1],j[2])]&&O.push(j);b=z,B=J}return O}function i(b,B,S,O){for(var k=[],z=0;z<S.length;z++){var J=[];s(b,S[z],O,J);for(var G=0,j=J.length,K=j-1;G<j;K=G++){var fe=(G+1)%j,Q=J[G][1];(Q>J[K][1]||Q>J[fe][1])&&(Q<J[K][1]||Q<J[fe][1])&&Q!==J[fe][1]&&k.push(J[G])}}for(k.sort(o),z=0;z<k.length;z+=2){Q=k[z][1];for(var oe=k[z][0]+1;oe<k[z+1][0];oe++){var Be=f(oe,Q,O);b[Be]||B.push([oe,Q,O])}}}function o(b,B){return b[1]-B[1]||b[0]-B[0]}function s(b,B,S,O){for(var k,z,J=0;J<B.length-1;J++){var G=r.pointToTileFraction(B[J][0],B[J][1],S),j=r.pointToTileFraction(B[J+1][0],B[J+1][1],S),K=G[0],fe=G[1],Q=j[0],oe=j[1],Be=Q-K,ze=oe-fe;if(!(ze===0&&Be===0)){var pe=Be>0?1:-1,we=ze>0?1:-1,Ae=Math.floor(K),W=Math.floor(fe),ne=Be===0?1/0:Math.abs(((Be>0?1:0)+Ae-K)/Be),Te=ze===0?1/0:Math.abs(((ze>0?1:0)+W-fe)/ze),Ye=Math.abs(pe/Be),Ce=Math.abs(we/ze);for((Ae!==k||W!==z)&&(b[f(Ae,W,S)]=!0,O&&W!==z&&O.push([Ae,W]),k=Ae,z=W);ne<1||Te<1;)ne<Te?(ne+=Ye,Ae+=pe):(Te+=Ce,W+=we),b[f(Ae,W,S)]=!0,O&&W!==z&&O.push([Ae,W]),k=Ae,z=W}}O&&W===O[0][1]&&O.pop()}function c(b,B){for(var S=Object.keys(b),O=0;O<S.length;O++)B.push(y(+S[O]))}function f(b,B,S){var O=2*(1<<S);return(O*B+b)*32+S}function y(b){var B=b%32,S=2*(1<<B),O=(b-B)/32,k=O%S,z=(O-k)/S%S;return[k,z,B]}return Sp}n2e();const Ck=[0x5555555555555555n,0x3333333333333333n,0x0f0f0f0f0f0f0f0fn,0x00ff00ff00ff00ffn,0x0000ffff0000ffffn,0x00000000ffffffffn],Ek=[0n,1n,2n,4n,8n,16n];function i2e(r){return BigInt(`0x${r}`)}function Gx(r){return r.toString(16)}function s2e(r){if(r.z<0||r.z>26)throw new Error("Wrong zoom");const e=BigInt(r.z);let t=BigInt(r.x)<<32n-e,n=BigInt(r.y)<<32n-e;for(let o=0;o<5;o++){const s=Ek[5-o],c=Ck[4-o];t=(t|t<<s)&c,n=(n|n<<s)&c}return 0x4000000000000000n|1n<<59n|e<<52n|(t|n<<1n)>>12n|0xfffffffffffffn>>e*2n}function Tk(r){const e=r>>59n&7n,t=r>>57n&3n,n=r>>52n&0x1fn,i=(r&0xfffffffffffffn)<<12n;if(e!==1n&&t!==0n)throw new Error("Wrong mode");let o=i,s=i>>1n;for(let c=0;c<6;c++){const f=Ek[c],y=Ck[c];o=(o|o>>f)&y,s=(s|s>>f)&y}return o=o>>32n-n,s=s>>32n-n,{z:Number(n),x:Number(o),y:Number(s)}}function aE(r){return r>>52n&0x1fn}function Bk(r){const e=aE(r)-1n;return r&~(0x1fn<<52n)|e<<52n|0xfffffffffffffn>>e*2n}function o2e(r,e,t,n=[],i,o){var f;if(!r.content)return!1;r.userData||(r.userData={});const s=(f=e.get(t))==null?void 0:f[0];if(s){if(n.every(y=>y.name in s))return!1;e.clear()}const c={};for(const y of r.content){let b=y.id;const B=typeof i=="function"?i(y,{}):i;for(let J=0;J<t-1;J++)b=Bk(b);const S=Number(b);if(!(S in c)){c[S]={id:b,count:0,position:[0,0]};for(const{name:J,aggregation:G}of n)G==="any"?c[S][J]=y.properties[J]:c[S][J]=0}const O=c[S].count;c[S].count+=typeof o=="function"?o(y,{}):o;const k=c[S].count,z=k-O;c[S].position[0]=(O*c[S].position[0]+z*B[0])/k,c[S].position[1]=(O*c[S].position[1]+z*B[1])/k;for(const{name:J,aggregation:G}of n){const j=c[S][J],K=y.properties[J];G==="average"?c[S][J]=(O*j+z*K)/k:G==="count"||G==="sum"?c[S][J]=j+K:G==="max"?c[S][J]=Math.max(j,K):G==="min"&&(c[S][J]=Math.min(j,K))}}return e.set(t,Object.values(c)),!0}function a2e(r){const e=[],t=["any","average","count","min","max","sum"];for(const n of Object.keys(r.content[0].properties)){let i=n.split("_").pop().toLowerCase();t.includes(i)||(Wr.warn(`No valid aggregation present in ${n} property`)(),i="any"),e.push({name:n,aggregation:i})}return e}function c2e(r,e){const t={};for(const{name:n,aggregation:i}of e)if(t[n]={min:1/0,max:-1/0},i!=="any")for(const o of r)t[n].min=Math.min(t[n].min,o[n]),t[n].max=Math.max(t[n].max,o[n]);return t}const eg=new Uint16Array,LF={positions:{value:new Float32Array,size:2},properties:[],numericProps:{},featureIds:{value:eg,size:1},globalFeatureIds:{value:eg,size:1}};function l2e(r){const e=new Float32Array(r.length*2),t=new Uint16Array(r.length);for(let n=0;n<r.length;n++)e.set(r[n].position,2*n),t[n]=n;return{shape:"binary-feature-collection",points:{type:"Point",positions:{value:e,size:2},properties:r,numericProps:{},featureIds:{value:t,size:1},globalFeatureIds:{value:t,size:1}},lines:{type:"LineString",pathIndices:{value:eg,size:1},...LF},polygons:{type:"Polygon",polygonIndices:{value:eg,size:1},primitivePolygonIndices:{value:eg,size:1},...LF}}}const NA=512;class cE extends Py{getTileIndices(e){return super.getTileIndices(e).map(s2e).map(t=>({q:t,i:Gx(t)}))}getTileId({q:e,i:t}){return t||Gx(e)}getTileMetadata({q:e}){return super.getTileMetadata(Tk(e))}getTileZoom({q:e}){return Number(aE(e))}getParentIndex({q:e}){return{q:Bk(e)}}}const NF=512;function Sk(r){const{x:e,y:t,z:n}=Tk(r),i=NF/(1<<n);return[e*i,NF-t*i,i]}function u2e(r,e){const[t,n,i]=Sk(r);return[[t,n],[t+e*i,n-e*i]]}function Ik(r,e=1){const[t,n]=u2e(r,e),[i,o]=tl(t),[s,c]=tl(n);return[s,o,s,c,i,c,i,o,s,o]}const Am=!!(typeof process!="object"||String(process)!=="[object process]"||process.browser),kF=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version);kF&&parseFloat(kF[1]);function f2e(r){var e;globalThis.loaders||(globalThis.loaders={}),(e=globalThis.loaders).modules||(e.modules={}),Object.assign(globalThis.loaders.modules,r)}function h2e(...r){return d2e(r)}function d2e(r){const e=r.map(o=>o instanceof ArrayBuffer?new Uint8Array(o):o),t=e.reduce((o,s)=>o+s.byteLength,0),n=new Uint8Array(t);let i=0;for(const o of e)n.set(o,i),i+=o.byteLength;return n.buffer}async function A2e(r){const e=[];for await(const t of r)e.push(t);return h2e(...e)}function p2e(r){return r&&typeof r=="object"&&r.isBuffer}function pm(r){if(p2e(r))return r;if(r instanceof ArrayBuffer)return r;if(ArrayBuffer.isView(r))return r.byteOffset===0&&r.byteLength===r.buffer.byteLength?r.buffer:r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength);if(typeof r=="string"){const e=r;return new TextEncoder().encode(e).buffer}if(r&&typeof r=="object"&&r._toArrayBuffer)return r._toArrayBuffer();throw new Error("toArrayBuffer")}function gm(r){return e=>new Promise((t,n)=>r(e,(i,o)=>i?n(i):t(o)))}class g2e{constructor(e){this.compressBatches=this.compressBatches.bind(this),this.decompressBatches=this.decompressBatches.bind(this)}async preload(e={}){f2e(e)}async compress(e){return await this.preload(),this.compressSync(e)}async decompress(e,t){return await this.preload(),this.decompressSync(e,t)}compressSync(e){throw new Error(`${this.name}: sync compression not supported`)}decompressSync(e,t){throw new Error(`${this.name}: sync decompression not supported`)}async*compressBatches(e){const t=await this.concatenate(e);yield this.compress(t)}async*decompressBatches(e){const t=await this.concatenate(e);yield this.decompress(t)}concatenate(e){return A2e(e)}improveError(e){return e.message.includes(this.name)||(e.message=`${this.name} ${e.message}`),e}}class m2e extends g2e{constructor(t={}){super(t);V(this,"name","deflate");V(this,"extensions",[]);V(this,"contentEncodings",["deflate"]);V(this,"isSupported",!0);V(this,"options");V(this,"_chunks",[]);this.options=t}async compress(t){var n,i;if(!Am&&((n=this.options.deflate)!=null&&n.useZlib)){const o=(i=this.options.deflate)!=null&&i.gzip?await gm(bu.gzip)(t):await gm(bu.deflate)(t);return pm(o)}return this.compressSync(t)}async decompress(t){var n,i;if(!Am&&((n=this.options.deflate)!=null&&n.useZlib)){const o=(i=this.options.deflate)!=null&&i.gzip?await gm(bu.gunzip)(t):await gm(bu.inflate)(t);return pm(o)}return this.decompressSync(t)}compressSync(t){var s,c,f,y;if(!Am&&((s=this.options.deflate)!=null&&s.useZlib)){const b=(c=this.options.deflate)!=null&&c.gzip?bu.gzipSync(t):bu.deflateSync(t);return pm(b)}const n=((f=this.options)==null?void 0:f.deflate)||{},i=new Uint8Array(t);return((y=this.options)!=null&&y.raw?Md.deflateRaw:Md.deflate)(i,n).buffer}decompressSync(t){var s,c,f,y;if(!Am&&((s=this.options.deflate)!=null&&s.useZlib)){const b=(c=this.options.deflate)!=null&&c.gzip?bu.gunzipSync(t):bu.inflateSync(t);return pm(b)}const n=((f=this.options)==null?void 0:f.deflate)||{},i=new Uint8Array(t);return((y=this.options)!=null&&y.raw?Md.inflateRaw:Md.inflate)(i,n).buffer}async*compressBatches(t){var o;const n=((o=this.options)==null?void 0:o.deflate)||{},i=new Md.Deflate(n);yield*this.transformBatches(i,t)}async*decompressBatches(t){var o;const n=((o=this.options)==null?void 0:o.deflate)||{},i=new Md.Inflate(n);yield*this.transformBatches(i,t)}async*transformBatches(t,n){t.onData=this._onData.bind(this),t.onEnd=this._onEnd.bind(this);for await(const s of n){const c=new Uint8Array(s);if(!t.push(c,!1))throw new Error(`${this._getError()}write`);yield*this._getChunks()}const i=new Uint8Array(0);t.push(i,!0),yield*this._getChunks()}_onData(t){this._chunks.push(t)}_onEnd(t){if(t!==0)throw new Error(this._getError(t)+this._chunks.length)}_getChunks(){const t=this._chunks;return this._chunks=[],t}_getError(t=0){const n={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};return`${this.name}: ${n[t]}`}}class _2e extends m2e{constructor(t){super({...t,deflate:{...t==null?void 0:t.gzip,gzip:!0}});V(this,"name","gzip");V(this,"extensions",["gz","gzip"]);V(this,"contentEncodings",["gzip","x-gzip"]);V(this,"isSupported",!0)}}function Jy(r,e,t,n){const i=e.type===2?e.readVarint()+e.pos:e.pos+1,o=e.buf.buffer.slice(e.pos,i);if((n==null?void 0:n.compression)==="gzip"){const c=new _2e().decompressSync(o);t.value=new r(c)}else t.value=new r(o);return e.pos=i,t.value}class lE{static read(e,t){return e.readFields(lE._readField,{key:"",value:null},t)}static _readField(e,t,n){e===1?t.key=n.readString():e===2&&(t.value=n.readString())}}class _h{static read(e,t){return e.readFields(_h._readField,{},t)}static _readField(e,t,n){if(e===1){const{key:i,value:o}=lE.read(n,n.readVarint()+n.pos);t[i]=o}}}class Ug{static read(e,t){const{value:n,size:i}=e.readFields(Ug._readField,{value:[],size:0},t);return{value:n,size:i}}static _readField(e,t,n){e===1?Jy(Float64Array,n,t):e===2&&(t.size=n.readVarint(!0))}}class Ea{static read(e,t){const{value:n,size:i}=e.readFields(Ea._readField,{value:[],size:0},t);return{value:new Uint32Array(n),size:i}}static _readField(e,t,n){e===1?n.readPackedVarint(t.value):e===2&&(t.size=n.readVarint(!0))}}class zg{static read(e,t){return e.readFields(zg._readField,{id:0},t)}static _readField(e,t,n){e===1&&(t.id=n.readVarint())}}class uE{static read(e,t){return e.readFields(uE._readField,{value:[]},t)}static _readField(e,t,n){e===1&&Jy(Float64Array,n,t)}}class yh{static read(e,t){return e.readFields(yh._readField,{key:"",value:null},t)}static _readField(e,t,n){e===1?t.key=n.readString():e===2&&(t.value=uE.read(n,n.readVarint()+n.pos))}}class fE{static read(e,t){return e.readFields(fE._readField,{positions:null,globalFeatureIds:null,featureIds:null,properties:[],numericProps:{},fields:[]},t)}static _readField(e,t,n){if(e===1)t.positions=Ug.read(n,n.readVarint()+n.pos);else if(e===2)t.globalFeatureIds=Ea.read(n,n.readVarint()+n.pos);else if(e===3)t.featureIds=Ea.read(n,n.readVarint()+n.pos);else if(e===4)t.properties.push(_h.read(n,n.readVarint()+n.pos));else if(e===5){const i=yh.read(n,n.readVarint()+n.pos);t.numericProps[i.key]=i.value}else e===6&&t.fields.push(zg.read(n,n.readVarint()+n.pos))}}class hE{static read(e,t){return e.readFields(hE._readField,{positions:null,pathIndices:null,globalFeatureIds:null,featureIds:null,properties:[],numericProps:{},fields:[]},t)}static _readField(e,t,n){if(e===1)t.positions=Ug.read(n,n.readVarint()+n.pos);else if(e===2)t.pathIndices=Ea.read(n,n.readVarint()+n.pos);else if(e===3)t.globalFeatureIds=Ea.read(n,n.readVarint()+n.pos);else if(e===4)t.featureIds=Ea.read(n,n.readVarint()+n.pos);else if(e===5)t.properties.push(_h.read(n,n.readVarint()+n.pos));else if(e===6){const i=yh.read(n,n.readVarint()+n.pos);t.numericProps[i.key]=i.value}else e===7&&t.fields.push(zg.read(n,n.readVarint()+n.pos))}}class dE{static read(e,t){return e.readFields(dE._readField,{positions:null,polygonIndices:null,globalFeatureIds:null,featureIds:null,primitivePolygonIndices:null,triangles:null,properties:[],numericProps:{},fields:[]},t)}static _readField(e,t,n){if(e===1)t.positions=Ug.read(n,n.readVarint()+n.pos);else if(e===2)t.polygonIndices=Ea.read(n,n.readVarint()+n.pos);else if(e===3)t.globalFeatureIds=Ea.read(n,n.readVarint()+n.pos);else if(e===4)t.featureIds=Ea.read(n,n.readVarint()+n.pos);else if(e===5)t.primitivePolygonIndices=Ea.read(n,n.readVarint()+n.pos);else if(e===6)t.triangles=Ea.read(n,n.readVarint()+n.pos);else if(e===7)t.properties.push(_h.read(n,n.readVarint()+n.pos));else if(e===8){const i=yh.read(n,n.readVarint()+n.pos);t.numericProps[i.key]=i.value}else e===9&&t.fields.push(zg.read(n,n.readVarint()+n.pos))}}let y2e=class Mk{static read(e,t){return e.readFields(Mk._readField,{points:null,lines:null,polygons:null},t)}static _readField(e,t,n){e===1?t.points=fE.read(n,n.readVarint()+n.pos):e===2?t.lines=hE.read(n,n.readVarint()+n.pos):e===3&&(t.polygons=dE.read(n,n.readVarint()+n.pos))}};class AE{static read(e,t){return e.readFields(AE._readField,{value:[]},t)}static _readField(e,t,n){e===1&&Jy(BigUint64Array,n,t)}}class pE{static read(e,t){return e.readFields(pE._readField,{indices:null,properties:[],numericProps:{}},t)}static _readField(e,t,n){if(e===1)t.indices=AE.read(n,n.readVarint()+n.pos);else if(e===2)t.properties.push(_h.read(n,n.readVarint()+n.pos));else if(e===3){const i=yh.read(n,n.readVarint()+n.pos);t.numericProps[i.key]=i.value}}}let v2e=class Pk{static read(e,t){return e.readFields(Pk._readField,{scheme:0,cells:null},t)}static _readField(e,t,n){e===1?t.scheme=n.readVarint():e===2&&(t.cells=pE.read(n,n.readVarint()+n.pos))}};function Xy(r,e){const t=new O1e(r);return e.read(t)}function ih(r,e){Wr.assert(r,e)}function b2e(r,e){const{properties:t,numericProps:n}=r;return new Proxy(t[e]||{},{get(i,o){return o in n?n[o].value[e]:i[o]},has(i,o){return o in n||o in i},ownKeys(i){return[...Object.keys(n),...Reflect.ownKeys(i)]},getOwnPropertyDescriptor(i,o){return{enumerable:!0,configurable:!0}}})}function Ky(r,e){return`https://unpkg.com/@deck.gl/carto@${e}/dist/${r}-worker.js`}function x2e(r){const{cells:e,scheme:t}=r,n=e.indices.value.length,i=[];for(let o=0;o<n;o++){const s=t==="h3"?Gx(e.indices.value[o]):e.indices.value[o],c={...e.properties[o]};for(const f of Object.keys(e.numericProps))c[f]=e.numericProps[f].value[o];i.push({id:s,properties:c})}return i}const Rk="9.1.4",Fk="cartoSpatialTile",w2e={cartoSpatialTile:{scheme:"quadbin",workerUrl:Ky(Fk,Rk)}},Dk={name:"CARTO Spatial Tile",version:Rk,id:Fk,module:"carto",extensions:["pbf"],mimeTypes:["application/vnd.carto-spatial-tile"],category:"geometry",parse:async(r,e)=>UF(r,e),parseSync:UF,worker:!0,options:w2e};function UF(r,e){var s;if(!r)return null;const t=Xy(r,v2e),{cells:n}=t,i=(s=e==null?void 0:e.cartoSpatialTile)==null?void 0:s.scheme;return x2e({cells:n,scheme:i})}function Gg(r,e){var t,n,i;(n=(t=r==null?void 0:r.fetch)==null?void 0:t.headers)!=null&&n.Authorization||(r.fetch={...r.fetch,headers:{...(i=r.fetch)==null?void 0:i.headers,Authorization:`Bearer ${e}`}})}function C2e(r,e){const t={};for(const{geoid:n,...i}of e.properties)n in t?Wr.warn("Duplicate geoid key in boundary mapping, using first occurance")():t[n]=i;for(const n of["points","lines","polygons"]){const i=r[n];if(i.positions.value.length===0)continue;i.properties=i.properties.map(({geoid:y})=>t[y]);const{positions:o,globalFeatureIds:s}=i;let c=null;n==="lines"&&(c=i.pathIndices.value),n==="polygons"&&(c=i.polygonIndices.value);const f=o.value.length/o.size;for(const y in e.numericProps){const b=e.numericProps[y].value,B=b.constructor,S=new B(f);if(i.numericProps[y]={value:S,size:1},c)for(let O=0;O<c.length-1;O++){const k=c[O],z=c[O+1],J=s.value[k];S.fill(b[J],k,z)}else for(let O=0;O<f;O++){const k=s.value[O];S[O]=b[k]}}}return r}const sh={type:"object",value:null,validate:(r,e)=>e.optional&&r===null||typeof r=="object"&&Array.isArray(r.tiles)&&r.tiles.every(t=>typeof t=="string"),equal:(r,e)=>ns(r,e,2),async:!0};xy([Dk]);const Ok={data:sh,clusterLevel:{type:"number",value:5,min:1},getPosition:{type:"accessor",value:({id:r})=>Ik(r,.5).slice(2,4)},getWeight:{type:"accessor",value:1},refinementStrategy:"no-overlap",tileSize:NA};class gE extends Xl{initializeState(){super.initializeState(),this.state.aggregationCache=new WeakMap}renderLayers(){var S;const e=(S=this.state.tileset)==null?void 0:S.tiles.filter(O=>O.isLoaded&&O.content&&this.state.tileset.isTileVisible(O));if(!(e!=null&&e.length))return null;e.sort((O,k)=>k.zoom-O.zoom);const{zoom:t}=this.context.viewport,{clusterLevel:n,getPosition:i,getWeight:o}=this.props,{aggregationCache:s}=this.state,c=a2e(e[0]),f=[];let y=!1;for(const O of e){const k=Math.round(t-O.zoom),z=Math.round(n)-k;let J=s.get(O.content);J||(J=new Map,s.set(O.content,J));const G=o2e(O,J,z,c,i,o);y||(y=G),f.push(...J.get(z))}f.sort((O,k)=>Number(k.count-O.count));const b=f==null?void 0:f.map(O=>O.id);if(y||(y=!ns(b,this.state.clusterIds,1)),this.setState({clusterIds:b}),y){const O=c2e(f,c),k=l2e(f);k.points.attributes={stats:O},this.setState({data:k})}const B={...this.props,id:"clusters",data:this.state.data,dataComparator:(O,k)=>{var G,j,K,fe;const z=(j=(G=O==null?void 0:O.points)==null?void 0:G.properties)==null?void 0:j.map(Q=>Q.id),J=(fe=(K=k==null?void 0:k.points)==null?void 0:K.properties)==null?void 0:fe.map(Q=>Q.id);return ns(z,J,1)}};return new Wl(this.getSubLayerProps(B))}getPickingInfo(e){const t=e.info;if(t.index!==-1){const{data:n}=e.sourceLayer.props;t.object=zx(n,{globalFeatureId:t.index})}return t}_updateAutoHighlight(e){for(const t of this.getSubLayers())t.updateAutoHighlight(e)}filterSubLayer(){return!0}}gE.layerName="ClusterGeoJsonLayer";gE.defaultProps=Ok;class mE extends ys{getLoadOptions(){const e=super.getLoadOptions()||{},t=this.props.data;return Gg(e,t.accessToken),e.cartoSpatialTile={...e.cartoSpatialTile,scheme:"quadbin"},e}renderLayers(){const e=this.props.data;if(!e)return null;const{tiles:t,maxresolution:n}=e;return[new gE(this.props,{id:`cluster-geojson-layer-${this.props.id}`,data:t,TilesetClass:cE,maxZoom:n,loadOptions:this.getLoadOptions()})]}}mE.layerName="ClusterTileLayer";mE.defaultProps=Ok;const E2e=85.051128;function T2e({west:r,north:e,east:t,south:n},i){const c=[[e,t],[n,t],[n,r],[e,r]].map(b=>MC(b[0],b[1],i)).map(b=>Math.max(...Qde(b).map(B=>tAe(B,dA.rads)))*180/Math.PI),f=Math.max(...c),y=Math.min(180,f/Math.cos((e+n)/2*Math.PI/180));return{north:Math.min(e+f,E2e),east:t+y,south:Math.max(n-f,-85.051128),west:r-y}}function Lk({west:r,north:e,east:t,south:n},i){const o=Math.abs(t-r);if(o>180){const c=Math.ceil(o/180);let f=[];for(let y=0;y<c;y++){const b=r+y*180,B=Math.min(b+179.9999999,t);f=f.concat(Lk({west:b,north:e,east:B,south:n},i))}return[...new Set(f)]}return Yde([[e,t],[n,t],[n,r],[e,r],[e,t]],i)}function B2e(r){const e=J8(r),t=e.map(f=>f[0]),n=e.map(f=>f[1]),i=Math.min(...n),o=Math.min(...t),s=Math.max(...n),c=Math.max(...t);return{west:i,south:o,east:s,north:c}}const S2e=2;function Vx(r,e){const t=Math.log2(e/512),n=2/3*(r.zoom-t),i=Math.log(1/Math.cos(Math.PI*r.latitude/180));return Math.max(0,Math.floor(n+i-S2e))}class I2e extends Py{getTileIndices({viewport:e,minZoom:t,maxZoom:n}){if(e.latitude===void 0)return[];const[i,o,s,c]=e.getBounds(),{tileSize:f}=this.opts;let y=Vx(e,f),b;if(typeof t=="number"&&Number.isFinite(t)&&y<t)return[];if(typeof n=="number"&&Number.isFinite(n)&&y>n){y=n;const B=MC(e.latitude,e.longitude,n);b=qde(B,1)}else{const B=T2e({west:i,north:c,east:s,south:o},y);b=Lk(B,y)}return b.map(B=>({i:B}))}getTileId({i:e}){return e}getTileMetadata({i:e}){return{bbox:B2e(e)}}getTileZoom({i:e}){return Tx(e)}getParentIndex(e){const t=Tx(e.i);return{i:Kde(e.i,t-1)}}}const M2e={uint8:Uint8Array,uint16:Uint16Array,uint32:Uint32Array,uint64:BigUint64Array,int8:Int8Array,int16:Int16Array,int32:Int32Array,int64:BigInt64Array,float32:Float32Array,float64:Float64Array};class _E{static read(e,t){return e.readFields(_E._readField,{name:"",type:"",data:null},t)}static _readField(e,t,n){if(e===1)t.name=n.readString();else if(e===2)t.type=n.readString();else if(e===3){const i=M2e[t.type];if(!i)throw Error(`Invalid data type: ${t.type}`);t.data={};const{compression:o}=Hx;Jy(i,n,t.data,{compression:o})}}}let Hx=class Nk{static read(e,t){return e.readFields(Nk._readField,{blockSize:0,bands:[]},t)}static _readField(e,t,n){e===1?t.blockSize=n.readVarint():e===2&&t.bands.push(_E.read(n,n.readVarint()+n.pos))}};const kk="9.1.4",Uk="cartoRasterTile",P2e={cartoRasterTile:{metadata:null,workerUrl:Ky(Uk,kk)}},R2e={name:"CARTO Raster Tile",version:kk,id:Uk,module:"carto",extensions:["pbf"],mimeTypes:["application/vnd.carto-raster-tile"],category:"geometry",parse:async(r,e)=>zF(r,e),parseSync:zF,worker:!0,options:P2e};function zF(r,e){var c;const t=(c=e==null?void 0:e.cartoRasterTile)==null?void 0:c.metadata;if(!r||!t)return null;Hx.compression=t.compression;const n=Xy(r,Hx),{bands:i,blockSize:o}=n,s={};for(let f=0;f<i.length;f++){const{name:y,data:b}=i[f];s[y]=b}return{blockSize:o,cells:{numericProps:s,properties:[]}}}xy([R2e,Dk]);function F2e(r){return r!=null&&r!==""}const D2e={tileSize:NA};class qy extends Xl{_updateAutoHighlight(e){const{hoveredFeatureId:t}=this.state,n=e.object;let i=null;if(n&&(i=n.id),t!==i){let{highlightColor:o}=this.props;typeof o=="function"&&(o=o(e)),this.setState({highlightColor:o,hoveredFeatureId:i})}}getSubLayerPropsByTile(e){return{highlightedObjectIndex:this.getHighlightedObjectIndex(e),highlightColor:this.state.highlightColor}}getHighlightedObjectIndex(e){const{hoveredFeatureId:t}=this.state,n=e.content;return!F2e(t)||!Array.isArray(n)||!this._featureInTile(e,t)?-1:n.findIndex(o=>o.id===t)}_featureInTile(e,t){const n=this.state.tileset,i=n.getTileZoom(e.index),o=e.index.q?"q":"i";let s={[o]:t},c=n.getTileZoom(s);for(;!(c<=i);)s=n.getParentIndex(s),c=n.getTileZoom(s);return s[o]===e.index[o]}}qy.layerName="SpatialIndexTileLayer";qy.defaultProps=D2e;const O2e=r=>{const{data:e}=r,{index:t}=r.tile;return!e||!e.length?null:new al(r,{getHexagon:n=>n.id,centerHexagon:t,highPrecision:!0})},L2e={data:sh,tileSize:NA};class yE extends ys{initializeState(){al._checkH3Lib()}getLoadOptions(){const e=super.getLoadOptions()||{},t=this.props.data;return Gg(e,t.accessToken),e.cartoSpatialTile={...e.cartoSpatialTile,scheme:"h3"},e}renderLayers(){const e=this.props.data;if(!e)return null;const{tiles:t}=e;let{minresolution:n,maxresolution:i}=e;this.props.minZoom&&(n=Math.max(n,Vx({zoom:this.props.minZoom,latitude:0},this.props.tileSize))),this.props.maxZoom&&(i=Math.min(i,Vx({zoom:this.props.maxZoom,latitude:0},this.props.tileSize)));const o=this.getSubLayerClass("spatial-index-tile",qy);return new o(this.props,{id:`h3-tile-layer-${this.props.id}`,data:t,TilesetClass:I2e,renderSubLayers:O2e,minZoom:n,maxZoom:i,loadOptions:this.getLoadOptions()})}}yE.layerName="H3TileLayer";yE.defaultProps=L2e;const N2e=`uniform heatmapUniforms {
|
3859
|
+
`};class $y extends Dw{getShaders(){let e="instancePositions"in this.getAttributeManager().attributes;return this.props.clipByInstance!==void 0&&(e=!!this.props.clipByInstance),this.state.clipByInstance=e,e?{modules:[v1e],inject:b1e}:{modules:[x1e],inject:w1e}}draw(){const{clipBounds:e}=this.props,t={};if(this.state.clipByInstance)t.bounds=e;else{const n=this.projectPosition([e[0],e[1],0]),i=this.projectPosition([e[2],e[3],0]);t.bounds=[Math.min(n[0],i[0]),Math.min(n[1],i[1]),Math.max(n[0],i[0]),Math.max(n[1],i[1])]}this.setShaderModuleProps({clip:t})}}$y.defaultProps=y1e;$y.extensionName="ClipExtension";function zx(r,e){const t=e==null?void 0:e.globalFeatureId;return t!==void 0?C1e(r,t):E1e(r,e==null?void 0:e.type)}function C1e(r,e){const t=mk(r);for(const n of t){let i=0,o=n.featureIds.value[0];for(let s=0;s<n.featureIds.value.length;s++){const c=n.featureIds.value[s];if(c!==o){if(e===n.globalFeatureIds.value[i])return k_(n,i,s);i=s,o=c}}if(e===n.globalFeatureIds.value[i])return k_(n,i,n.featureIds.value.length)}throw new Error(`featureId:${e} not found`)}function E1e(r,e){const t=mk(r);return B1e(t)}function T1e(r,e,t){switch(r.type){case"Point":return P1e(r,e,t);case"LineString":return M1e(r,e,t);case"Polygon":return _k(r,e,t);default:const n=r;throw new Error(`Unsupported geometry type: ${n==null?void 0:n.type}`)}}function mk(r,e){const t=[];return r.points&&(r.points.type="Point",t.push(r.points)),r.lines&&(r.lines.type="LineString",t.push(r.lines)),r.polygons&&(r.polygons.type="Polygon",t.push(r.polygons)),t}function B1e(r){const e=[];for(const t of r){if(t.featureIds.value.length===0)continue;let n=0,i=t.featureIds.value[0];for(let o=0;o<t.featureIds.value.length;o++){const s=t.featureIds.value[o];s!==i&&(e.push(k_(t,n,o)),n=o,i=s)}e.push(k_(t,n,t.featureIds.value.length))}return e}function k_(r,e,t){const n=T1e(r,e,t),i=I1e(r,e),o=S1e(r,e);return{type:"Feature",geometry:n,properties:i,...o}}function S1e(r,e=0,t){return r.fields&&r.fields[r.featureIds.value[e]]}function I1e(r,e=0,t){const n=Object.assign({},r.properties[r.featureIds.value[e]]);for(const i in r.numericProps)n[i]=r.numericProps[i].value[e];return n}function _k(r,e=-1/0,t=1/0){const{positions:n}=r,i=r.polygonIndices.value.filter(f=>f>=e&&f<=t),o=r.primitivePolygonIndices.value.filter(f=>f>=e&&f<=t);if(!(i.length>2)){const f=[];for(let y=0;y<o.length-1;y++){const b=o[y],B=o[y+1],S=U_(n,b,B);f.push(S)}return{type:"Polygon",coordinates:f}}const c=[];for(let f=0;f<i.length-1;f++){const y=i[f],b=i[f+1],B=_k(r,y,b).coordinates;c.push(B)}return{type:"MultiPolygon",coordinates:c}}function M1e(r,e=-1/0,t=1/0){const{positions:n}=r,i=r.pathIndices.value.filter(c=>c>=e&&c<=t);if(!(i.length>2))return{type:"LineString",coordinates:U_(n,i[0],i[1])};const s=[];for(let c=0;c<i.length-1;c++){const f=U_(n,i[c],i[c+1]);s.push(f)}return{type:"MultiLineString",coordinates:s}}function P1e(r,e,t){const{positions:n}=r,i=U_(n,e,t);return i.length>1?{type:"MultiPoint",coordinates:i}:{type:"Point",coordinates:i[0]}}function U_(r,e,t){e=e||0,t=t||r.value.length/r.size;const n=[];for(let i=e;i<t;i++){const o=Array();for(let s=i*r.size;s<(i+1)*r.size;s++)o.push(Number(r.value[s]));n.push(o)}return n}var dm={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */var BF;function R1e(){return BF||(BF=1,dm.read=function(r,e,t,n,i){var o,s,c=i*8-n-1,f=(1<<c)-1,y=f>>1,b=-7,B=t?i-1:0,S=t?-1:1,O=r[e+B];for(B+=S,o=O&(1<<-b)-1,O>>=-b,b+=c;b>0;o=o*256+r[e+B],B+=S,b-=8);for(s=o&(1<<-b)-1,o>>=-b,b+=n;b>0;s=s*256+r[e+B],B+=S,b-=8);if(o===0)o=1-y;else{if(o===f)return s?NaN:(O?-1:1)*(1/0);s=s+Math.pow(2,n),o=o-y}return(O?-1:1)*s*Math.pow(2,o-n)},dm.write=function(r,e,t,n,i,o){var s,c,f,y=o*8-i-1,b=(1<<y)-1,B=b>>1,S=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,O=n?0:o-1,k=n?1:-1,z=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(c=isNaN(e)?1:0,s=b):(s=Math.floor(Math.log(e)/Math.LN2),e*(f=Math.pow(2,-s))<1&&(s--,f*=2),s+B>=1?e+=S/f:e+=S*Math.pow(2,1-B),e*f>=2&&(s++,f/=2),s+B>=b?(c=0,s=b):s+B>=1?(c=(e*f-1)*Math.pow(2,i),s=s+B):(c=e*Math.pow(2,B-1)*Math.pow(2,i),s=0));i>=8;r[t+O]=c&255,O+=k,c/=256,i-=8);for(s=s<<i|c,y+=i;y>0;r[t+O]=s&255,O+=k,s/=256,y-=8);r[t+O-k]|=z*128}),dm}var G1,SF;function F1e(){if(SF)return G1;SF=1,G1=e;var r=R1e();function e(W){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(W)?W:new Uint8Array(W||0),this.pos=0,this.type=0,this.length=this.buf.length}e.Varint=0,e.Fixed64=1,e.Bytes=2,e.Fixed32=5;var t=65536*65536,n=1/t,i=12,o=typeof TextDecoder>"u"?null:new TextDecoder("utf-8");e.prototype={destroy:function(){this.buf=null},readFields:function(W,ne,Te){for(Te=Te||this.length;this.pos<Te;){var Ye=this.readVarint(),Ce=Ye>>3,Ne=this.pos;this.type=Ye&7,W(Ce,ne,this),this.pos===Ne&&this.skip(Ye)}return ne},readMessage:function(W,ne){return this.readFields(W,ne,this.readVarint()+this.pos)},readFixed32:function(){var W=oe(this.buf,this.pos);return this.pos+=4,W},readSFixed32:function(){var W=ze(this.buf,this.pos);return this.pos+=4,W},readFixed64:function(){var W=oe(this.buf,this.pos)+oe(this.buf,this.pos+4)*t;return this.pos+=8,W},readSFixed64:function(){var W=oe(this.buf,this.pos)+ze(this.buf,this.pos+4)*t;return this.pos+=8,W},readFloat:function(){var W=r.read(this.buf,this.pos,!0,23,4);return this.pos+=4,W},readDouble:function(){var W=r.read(this.buf,this.pos,!0,52,8);return this.pos+=8,W},readVarint:function(W){var ne=this.buf,Te,Ye;return Ye=ne[this.pos++],Te=Ye&127,Ye<128||(Ye=ne[this.pos++],Te|=(Ye&127)<<7,Ye<128)||(Ye=ne[this.pos++],Te|=(Ye&127)<<14,Ye<128)||(Ye=ne[this.pos++],Te|=(Ye&127)<<21,Ye<128)?Te:(Ye=ne[this.pos],Te|=(Ye&15)<<28,s(Te,W,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var W=this.readVarint();return W%2===1?(W+1)/-2:W/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var W=this.readVarint()+this.pos,ne=this.pos;return this.pos=W,W-ne>=i&&o?we(this.buf,ne,W):pe(this.buf,ne,W)},readBytes:function(){var W=this.readVarint()+this.pos,ne=this.buf.subarray(this.pos,W);return this.pos=W,ne},readPackedVarint:function(W,ne){if(this.type!==e.Bytes)return W.push(this.readVarint(ne));var Te=c(this);for(W=W||[];this.pos<Te;)W.push(this.readVarint(ne));return W},readPackedSVarint:function(W){if(this.type!==e.Bytes)return W.push(this.readSVarint());var ne=c(this);for(W=W||[];this.pos<ne;)W.push(this.readSVarint());return W},readPackedBoolean:function(W){if(this.type!==e.Bytes)return W.push(this.readBoolean());var ne=c(this);for(W=W||[];this.pos<ne;)W.push(this.readBoolean());return W},readPackedFloat:function(W){if(this.type!==e.Bytes)return W.push(this.readFloat());var ne=c(this);for(W=W||[];this.pos<ne;)W.push(this.readFloat());return W},readPackedDouble:function(W){if(this.type!==e.Bytes)return W.push(this.readDouble());var ne=c(this);for(W=W||[];this.pos<ne;)W.push(this.readDouble());return W},readPackedFixed32:function(W){if(this.type!==e.Bytes)return W.push(this.readFixed32());var ne=c(this);for(W=W||[];this.pos<ne;)W.push(this.readFixed32());return W},readPackedSFixed32:function(W){if(this.type!==e.Bytes)return W.push(this.readSFixed32());var ne=c(this);for(W=W||[];this.pos<ne;)W.push(this.readSFixed32());return W},readPackedFixed64:function(W){if(this.type!==e.Bytes)return W.push(this.readFixed64());var ne=c(this);for(W=W||[];this.pos<ne;)W.push(this.readFixed64());return W},readPackedSFixed64:function(W){if(this.type!==e.Bytes)return W.push(this.readSFixed64());var ne=c(this);for(W=W||[];this.pos<ne;)W.push(this.readSFixed64());return W},skip:function(W){var ne=W&7;if(ne===e.Varint)for(;this.buf[this.pos++]>127;);else if(ne===e.Bytes)this.pos=this.readVarint()+this.pos;else if(ne===e.Fixed32)this.pos+=4;else if(ne===e.Fixed64)this.pos+=8;else throw new Error("Unimplemented type: "+ne)},writeTag:function(W,ne){this.writeVarint(W<<3|ne)},realloc:function(W){for(var ne=this.length||16;ne<this.pos+W;)ne*=2;if(ne!==this.length){var Te=new Uint8Array(ne);Te.set(this.buf),this.buf=Te,this.length=ne}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(W){this.realloc(4),Be(this.buf,W,this.pos),this.pos+=4},writeSFixed32:function(W){this.realloc(4),Be(this.buf,W,this.pos),this.pos+=4},writeFixed64:function(W){this.realloc(8),Be(this.buf,W&-1,this.pos),Be(this.buf,Math.floor(W*n),this.pos+4),this.pos+=8},writeSFixed64:function(W){this.realloc(8),Be(this.buf,W&-1,this.pos),Be(this.buf,Math.floor(W*n),this.pos+4),this.pos+=8},writeVarint:function(W){if(W=+W||0,W>268435455||W<0){y(W,this);return}this.realloc(4),this.buf[this.pos++]=W&127|(W>127?128:0),!(W<=127)&&(this.buf[this.pos++]=(W>>>=7)&127|(W>127?128:0),!(W<=127)&&(this.buf[this.pos++]=(W>>>=7)&127|(W>127?128:0),!(W<=127)&&(this.buf[this.pos++]=W>>>7&127)))},writeSVarint:function(W){this.writeVarint(W<0?-W*2-1:W*2)},writeBoolean:function(W){this.writeVarint(!!W)},writeString:function(W){W=String(W),this.realloc(W.length*4),this.pos++;var ne=this.pos;this.pos=Ae(this.buf,W,this.pos);var Te=this.pos-ne;Te>=128&&S(ne,Te,this),this.pos=ne-1,this.writeVarint(Te),this.pos+=Te},writeFloat:function(W){this.realloc(4),r.write(this.buf,W,this.pos,!0,23,4),this.pos+=4},writeDouble:function(W){this.realloc(8),r.write(this.buf,W,this.pos,!0,52,8),this.pos+=8},writeBytes:function(W){var ne=W.length;this.writeVarint(ne),this.realloc(ne);for(var Te=0;Te<ne;Te++)this.buf[this.pos++]=W[Te]},writeRawMessage:function(W,ne){this.pos++;var Te=this.pos;W(ne,this);var Ye=this.pos-Te;Ye>=128&&S(Te,Ye,this),this.pos=Te-1,this.writeVarint(Ye),this.pos+=Ye},writeMessage:function(W,ne,Te){this.writeTag(W,e.Bytes),this.writeRawMessage(ne,Te)},writePackedVarint:function(W,ne){ne.length&&this.writeMessage(W,O,ne)},writePackedSVarint:function(W,ne){ne.length&&this.writeMessage(W,k,ne)},writePackedBoolean:function(W,ne){ne.length&&this.writeMessage(W,G,ne)},writePackedFloat:function(W,ne){ne.length&&this.writeMessage(W,z,ne)},writePackedDouble:function(W,ne){ne.length&&this.writeMessage(W,J,ne)},writePackedFixed32:function(W,ne){ne.length&&this.writeMessage(W,j,ne)},writePackedSFixed32:function(W,ne){ne.length&&this.writeMessage(W,K,ne)},writePackedFixed64:function(W,ne){ne.length&&this.writeMessage(W,fe,ne)},writePackedSFixed64:function(W,ne){ne.length&&this.writeMessage(W,Q,ne)},writeBytesField:function(W,ne){this.writeTag(W,e.Bytes),this.writeBytes(ne)},writeFixed32Field:function(W,ne){this.writeTag(W,e.Fixed32),this.writeFixed32(ne)},writeSFixed32Field:function(W,ne){this.writeTag(W,e.Fixed32),this.writeSFixed32(ne)},writeFixed64Field:function(W,ne){this.writeTag(W,e.Fixed64),this.writeFixed64(ne)},writeSFixed64Field:function(W,ne){this.writeTag(W,e.Fixed64),this.writeSFixed64(ne)},writeVarintField:function(W,ne){this.writeTag(W,e.Varint),this.writeVarint(ne)},writeSVarintField:function(W,ne){this.writeTag(W,e.Varint),this.writeSVarint(ne)},writeStringField:function(W,ne){this.writeTag(W,e.Bytes),this.writeString(ne)},writeFloatField:function(W,ne){this.writeTag(W,e.Fixed32),this.writeFloat(ne)},writeDoubleField:function(W,ne){this.writeTag(W,e.Fixed64),this.writeDouble(ne)},writeBooleanField:function(W,ne){this.writeVarintField(W,!!ne)}};function s(W,ne,Te){var Ye=Te.buf,Ce,Ne;if(Ne=Ye[Te.pos++],Ce=(Ne&112)>>4,Ne<128||(Ne=Ye[Te.pos++],Ce|=(Ne&127)<<3,Ne<128)||(Ne=Ye[Te.pos++],Ce|=(Ne&127)<<10,Ne<128)||(Ne=Ye[Te.pos++],Ce|=(Ne&127)<<17,Ne<128)||(Ne=Ye[Te.pos++],Ce|=(Ne&127)<<24,Ne<128)||(Ne=Ye[Te.pos++],Ce|=(Ne&1)<<31,Ne<128))return f(W,Ce,ne);throw new Error("Expected varint not more than 10 bytes")}function c(W){return W.type===e.Bytes?W.readVarint()+W.pos:W.pos+1}function f(W,ne,Te){return Te?ne*4294967296+(W>>>0):(ne>>>0)*4294967296+(W>>>0)}function y(W,ne){var Te,Ye;if(W>=0?(Te=W%4294967296|0,Ye=W/4294967296|0):(Te=~(-W%4294967296),Ye=~(-W/4294967296),Te^4294967295?Te=Te+1|0:(Te=0,Ye=Ye+1|0)),W>=18446744073709552e3||W<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");ne.realloc(10),b(Te,Ye,ne),B(Ye,ne)}function b(W,ne,Te){Te.buf[Te.pos++]=W&127|128,W>>>=7,Te.buf[Te.pos++]=W&127|128,W>>>=7,Te.buf[Te.pos++]=W&127|128,W>>>=7,Te.buf[Te.pos++]=W&127|128,W>>>=7,Te.buf[Te.pos]=W&127}function B(W,ne){var Te=(W&7)<<4;ne.buf[ne.pos++]|=Te|((W>>>=3)?128:0),W&&(ne.buf[ne.pos++]=W&127|((W>>>=7)?128:0),W&&(ne.buf[ne.pos++]=W&127|((W>>>=7)?128:0),W&&(ne.buf[ne.pos++]=W&127|((W>>>=7)?128:0),W&&(ne.buf[ne.pos++]=W&127|((W>>>=7)?128:0),W&&(ne.buf[ne.pos++]=W&127)))))}function S(W,ne,Te){var Ye=ne<=16383?1:ne<=2097151?2:ne<=268435455?3:Math.floor(Math.log(ne)/(Math.LN2*7));Te.realloc(Ye);for(var Ce=Te.pos-1;Ce>=W;Ce--)Te.buf[Ce+Ye]=Te.buf[Ce]}function O(W,ne){for(var Te=0;Te<W.length;Te++)ne.writeVarint(W[Te])}function k(W,ne){for(var Te=0;Te<W.length;Te++)ne.writeSVarint(W[Te])}function z(W,ne){for(var Te=0;Te<W.length;Te++)ne.writeFloat(W[Te])}function J(W,ne){for(var Te=0;Te<W.length;Te++)ne.writeDouble(W[Te])}function G(W,ne){for(var Te=0;Te<W.length;Te++)ne.writeBoolean(W[Te])}function j(W,ne){for(var Te=0;Te<W.length;Te++)ne.writeFixed32(W[Te])}function K(W,ne){for(var Te=0;Te<W.length;Te++)ne.writeSFixed32(W[Te])}function fe(W,ne){for(var Te=0;Te<W.length;Te++)ne.writeFixed64(W[Te])}function Q(W,ne){for(var Te=0;Te<W.length;Te++)ne.writeSFixed64(W[Te])}function oe(W,ne){return(W[ne]|W[ne+1]<<8|W[ne+2]<<16)+W[ne+3]*16777216}function Be(W,ne,Te){W[Te]=ne,W[Te+1]=ne>>>8,W[Te+2]=ne>>>16,W[Te+3]=ne>>>24}function ze(W,ne){return(W[ne]|W[ne+1]<<8|W[ne+2]<<16)+(W[ne+3]<<24)}function pe(W,ne,Te){for(var Ye="",Ce=ne;Ce<Te;){var Ne=W[Ce],Ge=null,Qe=Ne>239?4:Ne>223?3:Ne>191?2:1;if(Ce+Qe>Te)break;var rt,tt,lt;Qe===1?Ne<128&&(Ge=Ne):Qe===2?(rt=W[Ce+1],(rt&192)===128&&(Ge=(Ne&31)<<6|rt&63,Ge<=127&&(Ge=null))):Qe===3?(rt=W[Ce+1],tt=W[Ce+2],(rt&192)===128&&(tt&192)===128&&(Ge=(Ne&15)<<12|(rt&63)<<6|tt&63,(Ge<=2047||Ge>=55296&&Ge<=57343)&&(Ge=null))):Qe===4&&(rt=W[Ce+1],tt=W[Ce+2],lt=W[Ce+3],(rt&192)===128&&(tt&192)===128&&(lt&192)===128&&(Ge=(Ne&15)<<18|(rt&63)<<12|(tt&63)<<6|lt&63,(Ge<=65535||Ge>=1114112)&&(Ge=null))),Ge===null?(Ge=65533,Qe=1):Ge>65535&&(Ge-=65536,Ye+=String.fromCharCode(Ge>>>10&1023|55296),Ge=56320|Ge&1023),Ye+=String.fromCharCode(Ge),Ce+=Qe}return Ye}function we(W,ne,Te){return o.decode(W.subarray(ne,Te))}function Ae(W,ne,Te){for(var Ye=0,Ce,Ne;Ye<ne.length;Ye++){if(Ce=ne.charCodeAt(Ye),Ce>55295&&Ce<57344)if(Ne)if(Ce<56320){W[Te++]=239,W[Te++]=191,W[Te++]=189,Ne=Ce;continue}else Ce=Ne-55296<<10|Ce-56320|65536,Ne=null;else{Ce>56319||Ye+1===ne.length?(W[Te++]=239,W[Te++]=191,W[Te++]=189):Ne=Ce;continue}else Ne&&(W[Te++]=239,W[Te++]=191,W[Te++]=189,Ne=null);Ce<128?W[Te++]=Ce:(Ce<2048?W[Te++]=Ce>>6|192:(Ce<65536?W[Te++]=Ce>>12|224:(W[Te++]=Ce>>18|240,W[Te++]=Ce>>12&63|128),W[Te++]=Ce>>6&63|128),W[Te++]=Ce&63|128)}return Te}return G1}var D1e=F1e();const O1e=oh(D1e),L1e="4.2.4",yk={dataType:null,batchType:null,name:"Mapbox Vector Tile",id:"mvt",module:"mvt",version:L1e,extensions:["mvt","pbf"],mimeTypes:["application/vnd.mapbox-vector-tile","application/x-protobuf"],worker:!0,category:"geometry",options:{mvt:{shape:"geojson",coordinates:"local",layerProperty:"layerName",layers:void 0,tileIndex:null}}};({...yk});const N1e={Point:vk,MultiPoint:k1e,LineString:bk,MultiLineString:U1e,Polygon:xk,MultiPolygon:z1e};function vk([r,e],[t,n],i){const o=dc(t[0],n[0],r),s=dc(t[1],n[1],e);return i.unprojectFlat([o,s])}function oE(r,e,t){return r.map(n=>vk(n,e,t))}function k1e(r,e,t){return oE(r,e,t)}function bk(r,e,t){return oE(r,e,t)}function U1e(r,e,t){return r.map(n=>bk(n,e,t))}function xk(r,e,t){return r.map(n=>oE(n,e,t))}function z1e(r,e,t){return r.map(n=>xk(n,e,t))}function G1e(r,e,t){const n=t.projectFlat([e.west,e.north]),i=t.projectFlat([e.east,e.south]),o=[n,i];return{...r,coordinates:N1e[r.type](r.coordinates,o,t)}}const V1e=["points","lines","polygons"];function H1e(r,e,t,n){for(const i of V1e){const o=r[i]&&j1e(r[i],e,t,n);if(o>=0)return o}return-1}function j1e(r,e,t,n){const i=r.featureIds.value;if(!i.length)return-1;let o=0,s=i[i.length-1]+1;if(n){const f=$1e(r,n);if(f)o=f[0],s=f[1]+1;else return-1}let c=-1;if(e in r.numericProps){const f=r.numericProps[e].value.findIndex((y,b)=>y===t&&i[b]>=o&&i[b]<s);return f>=0?r.globalFeatureIds.value[f]:-1}else e?c=IF(r.properties,f=>f[e]===t,o,s):r.fields&&(c=IF(r.fields,f=>f.id===t,o,s));return c>=0?W1e(r,c):-1}function $1e(r,e){if(!r.__layers){const t={},{properties:n}=r;for(let i=0;i<n.length;i++){const{layerName:o}=n[i];o&&(t[o]?t[o][1]=i:t[o]=[i,i])}r.__layers=t}return r.__layers[e]}function W1e(r,e){if(!r.__ids){const t=[],n=r.featureIds.value,i=r.globalFeatureIds.value;for(let o=0;o<n.length;o++)t[n[o]]=i[o];r.__ids=t}return r.__ids[e]}function IF(r,e,t,n){for(let i=t;i<n;i++)if(e(r[i],i))return i;return-1}const V1=512,J1e={...Wl.defaultProps,data:I_,onDataLoad:{type:"function",value:null,optional:!0,compare:!1},uniqueIdProperty:"",highlightedFeatureId:null,loaders:[yk],binary:!0};class LA extends Xl{initializeState(){super.initializeState();const e=this.context.viewport.resolution!==void 0?!1:this.props.binary;this.setState({binary:e,data:null,tileJSON:null,hoveredFeatureId:null,hoveredFeatureLayerName:null})}get isLoaded(){var e;return!!((e=this.state)!=null&&e.data&&super.isLoaded)}updateState({props:e,oldProps:t,context:n,changeFlags:i}){var s;i.dataChanged&&this._updateTileData(),(s=this.state)!=null&&s.data&&(super.updateState({props:e,oldProps:t,context:n,changeFlags:i}),this._setWGS84PropertyForTiles());const{highlightColor:o}=e;o!==t.highlightColor&&Array.isArray(o)&&this.setState({highlightColor:o})}async _updateTileData(){let e=this.props.data,t=null;if(typeof e=="string"&&!sde(e)){const{onDataLoad:n,fetch:i}=this.props;this.setState({data:null,tileJSON:null});try{t=await i(e,{propName:"data",layer:this,loaders:[]})}catch(o){this.raiseError(o,"loading TileJSON"),e=null}n&&n(t,{propName:"data",layer:this})}else e&&typeof e=="object"&&"tilejson"in e&&(t=e);t&&(e=t.tiles),this.setState({data:e,tileJSON:t})}_getTilesetOptions(){const e=super._getTilesetOptions(),t=this.state.tileJSON,{minZoom:n,maxZoom:i}=this.props;return t&&(Number.isFinite(t.minzoom)&&t.minzoom>n&&(e.minZoom=t.minzoom),Number.isFinite(t.maxzoom)&&(!Number.isFinite(i)||t.maxzoom<i)&&(e.maxZoom=t.maxzoom)),e}renderLayers(){var e;return(e=this.state)!=null&&e.data?super.renderLayers():null}getTileData(e){const{data:t,binary:n}=this.state,{index:i,signal:o}=e,s=rh(t,e);if(!s)return Promise.reject("Invalid URL");let c=this.getLoadOptions();const{fetch:f}=this.props;return c={...c,mimeType:"application/x-protobuf",mvt:{...c==null?void 0:c.mvt,coordinates:this.context.viewport.resolution?"wgs84":"local",tileIndex:i},gis:n?{format:"binary"}:{}},f(s,{propName:"data",layer:this,loadOptions:c,signal:o})}renderSubLayers(e){const{x:t,y:n,z:i}=e.tile.index,o=Math.pow(2,i),s=V1/o,c=-s,f=V1*t/o,y=V1*(1-n/o),b=new dn().scale([s,c,1]);e.autoHighlight=!1,this.context.viewport.resolution||(e.modelMatrix=b,e.coordinateOrigin=[f,y,0],e.coordinateSystem=Zr.CARTESIAN,e.extensions=[...e.extensions||[],new $y]);const B=super.renderSubLayers(e);return this.state.binary&&!(B instanceof Wl)&&Wr.warn("renderSubLayers() must return GeoJsonLayer when using binary:true")(),B}_updateAutoHighlight(e){const{uniqueIdProperty:t}=this.props,{hoveredFeatureId:n,hoveredFeatureLayerName:i}=this.state,o=e.object;let s=null,c=null;o&&(s=H1(o,t),c=MF(o));let{highlightColor:f}=this.props;typeof f=="function"&&(f=f(e)),(n!==s||i!==c)&&this.setState({highlightColor:f,hoveredFeatureId:s,hoveredFeatureLayerName:c})}_isWGS84(){return!!this.context.viewport.resolution}getPickingInfo(e){const t=super.getPickingInfo(e);if(this.state.binary&&t.index!==-1){const{data:n}=e.sourceLayer.props;t.object=zx(n,{globalFeatureId:t.index})}return t.object&&!this._isWGS84()&&(t.object=RF(t.object,t.tile.bbox,this.context.viewport)),t}getSubLayerPropsByTile(e){return{highlightedObjectIndex:this.getHighlightedObjectIndex(e),highlightColor:this.state.highlightColor}}getHighlightedObjectIndex(e){const{hoveredFeatureId:t,hoveredFeatureLayerName:n,binary:i}=this.state,{uniqueIdProperty:o,highlightedFeatureId:s}=this.props,c=e.content,f=PF(s);if(!(PF(t)||f))return-1;const b=f?s:t;return Array.isArray(c)?c.findIndex(B=>{const S=H1(B,o)===b,O=f||MF(B)===n;return S&&O}):c&&i?H1e(c,o,b,f?"":n):-1}_pickObjects(e){const{deck:t,viewport:n}=this.context,i=n.width,o=n.height,s=n.x,c=n.y,f=[this.id];return t.pickObjects({x:s,y:c,width:i,height:o,layerIds:f,maxObjects:e})}getRenderedFeatures(e=null){const t=this._pickObjects(e),n=new Set,i=[];for(const o of t){const s=H1(o.object,this.props.uniqueIdProperty);s===void 0?i.push(o.object):n.has(s)||(n.add(s),i.push(o.object))}return i}_setWGS84PropertyForTiles(){const e="dataInWGS84";this.state.tileset.selectedTiles.forEach(n=>{n.hasOwnProperty(e)||Object.defineProperty(n,e,{get:()=>{if(!n.content)return null;if(this.state.binary&&Array.isArray(n.content)&&!n.content.length)return[];const{bbox:i}=n;if(n._contentWGS84===void 0&&ode(i)){const o=this.state.binary?zx(n.content):n.content;n._contentWGS84=o.map(s=>RF(s,i,this.context.viewport))}return n._contentWGS84}})})}}LA.layerName="MVTLayer";LA.defaultProps=J1e;function H1(r,e){if(r.properties&&e)return r.properties[e];if("id"in r)return r.id}function MF(r){var e;return((e=r.properties)==null?void 0:e.layerName)||null}function PF(r){return r!=null&&r!==""}function RF(r,e,t){const n={...r,geometry:{type:r.geometry.type}};return Object.defineProperty(n.geometry,"coordinates",{get:()=>G1e(r.geometry,e,t).coordinates}),n}const FF="0123456789bcdefghjkmnpqrstuvwxyz",wk={};for(let r=0;r<FF.length;r++)wk[FF.charAt(r)]=r;const X1e=-90,K1e=90,q1e=-180,Y1e=180;function Z1e(r){let e=!0,t=K1e,n=X1e,i=Y1e,o=q1e,s,c=0;for(let f=0,y=r.length;f<y;f++){const b=r[f].toLowerCase();c=wk[b];for(let B=4;B>=0;B--){const S=c>>B&1;e?(s=(i+o)/2,S===1?o=s:i=s):(s=(t+n)/2,S===1?n=s:t=s),e=!e}}return[n,o,t,i]}function Q1e(r){const[e,t,n,i]=Z1e(r);return[i,n,i,e,t,e,t,n,i,n]}const e2e={getGeohash:{type:"accessor",value:r=>r.geohash}};class Wy extends rf{indexToBounds(){const{data:e,getGeohash:t}=this.props;return{data:e,_normalize:!1,positionFormat:"XY",getPolygon:(n,i)=>Q1e(t(n,i))}}}Wy.layerName="GeohashLayer";Wy.defaultProps=e2e;const t2e=Object.freeze(Object.defineProperty({__proto__:null,GeohashLayer:Wy,GreatCircleLayer:yC,H3ClusterLayer:Oy,H3HexagonLayer:al,MVTLayer:LA,QuadkeyLayer:Iy,S2Layer:Sy,TerrainLayer:sE,Tile3DLayer:iE,TileLayer:Xl,TripsLayer:Ry,_GeoCellLayer:rf,_Tile2DHeader:I8,_Tileset2D:Py,_WMSLayer:_C,_getURLFromTemplate:rh},Symbol.toStringTag,{value:"Module"}));var Sp={},j1,DF;function r2e(){if(DF)return j1;DF=1;var r=Math.PI/180,e=180/Math.PI;function t(j){var K=i(j[0]+1,j[2]),fe=i(j[0],j[2]),Q=o(j[1]+1,j[2]),oe=o(j[1],j[2]);return[fe,Q,K,oe]}function n(j){var K=t(j),fe={type:"Polygon",coordinates:[[[K[0],K[1]],[K[0],K[3]],[K[2],K[3]],[K[2],K[1]],[K[0],K[1]]]]};return fe}function i(j,K){return j/Math.pow(2,K)*360-180}function o(j,K){var fe=Math.PI-2*Math.PI*j/Math.pow(2,K);return e*Math.atan(.5*(Math.exp(fe)-Math.exp(-fe)))}function s(j,K,fe){var Q=G(j,K,fe);return Q[0]=Math.floor(Q[0]),Q[1]=Math.floor(Q[1]),Q}function c(j){return[[j[0]*2,j[1]*2,j[2]+1],[j[0]*2+1,j[1]*2,j[2]+1],[j[0]*2+1,j[1]*2+1,j[2]+1],[j[0]*2,j[1]*2+1,j[2]+1]]}function f(j){return j[0]%2===0&&j[1]%2===0?[j[0]/2,j[1]/2,j[2]-1]:j[0]%2===0&&!j[1]%2===0?[j[0]/2,(j[1]-1)/2,j[2]-1]:!j[0]%2===0&&j[1]%2===0?[(j[0]-1)/2,j[1]/2,j[2]-1]:[(j[0]-1)/2,(j[1]-1)/2,j[2]-1]}function y(j){return c(f(j))}function b(j,K){for(var fe=y(j),Q=0;Q<fe.length;Q++)if(!B(K,fe[Q]))return!1;return!0}function B(j,K){for(var fe=0;fe<j.length;fe++)if(S(j[fe],K))return!0;return!1}function S(j,K){return j[0]===K[0]&&j[1]===K[1]&&j[2]===K[2]}function O(j){for(var K="",fe=j[2];fe>0;fe--){var Q=0,oe=1<<fe-1;(j[0]&oe)!==0&&Q++,(j[1]&oe)!==0&&(Q+=2),K+=Q.toString()}return K}function k(j){for(var K=0,fe=0,Q=j.length,oe=Q;oe>0;oe--){var Be=1<<oe-1;switch(j[Q-oe]){case"0":break;case"1":K|=Be;break;case"2":fe|=Be;break;case"3":K|=Be,fe|=Be;break}}return[K,fe,Q]}function z(j){var K=s(j[0],j[1],32),fe=s(j[2],j[3],32),Q=[K[0],K[1],fe[0],fe[1]],oe=J(Q);if(oe===0)return[0,0,0];var Be=Q[0]>>>32-oe,ze=Q[1]>>>32-oe;return[Be,ze,oe]}function J(j){for(var K=28,fe=0;fe<K;fe++){var Q=1<<32-(fe+1);if((j[0]&Q)!=(j[2]&Q)||(j[1]&Q)!=(j[3]&Q))return fe}return K}function G(j,K,fe){var Q=Math.sin(K*r),oe=Math.pow(2,fe),Be=oe*(j/360+.5),ze=oe*(.5-.25*Math.log((1+Q)/(1-Q))/Math.PI);return[Be,ze,fe]}return j1={tileToGeoJSON:n,tileToBBOX:t,getChildren:c,getParent:f,getSiblings:y,hasTile:B,hasSiblings:b,tilesEqual:S,tileToQuadkey:O,quadkeyToTile:k,pointToTile:s,bboxToTile:z,pointToTileFraction:G},j1}var OF;function n2e(){if(OF)return Sp;OF=1;var r=r2e();Sp.geojson=function(b,B){return{type:"FeatureCollection",features:t(b,B).map(e)}};function e(b){return{type:"Feature",geometry:r.tileToGeoJSON(b),properties:{}}}Sp.tiles=t,Sp.indexes=function(b,B){return t(b,B).map(r.tileToQuadkey)};function t(b,B){var S,O,k=b.coordinates,z=B.max_zoom,J={},G=[];if(b.type==="Point")return[r.pointToTile(k[0],k[1],z)];if(b.type==="MultiPoint")for(S=0;S<k.length;S++)O=r.pointToTile(k[S][0],k[S][1],z),J[f(O[0],O[1],O[2])]=!0;else if(b.type==="LineString")s(J,k,z);else if(b.type==="MultiLineString")for(S=0;S<k.length;S++)s(J,k[S],z);else if(b.type==="Polygon")i(J,G,k,z);else if(b.type==="MultiPolygon")for(S=0;S<k.length;S++)i(J,G,k[S],z);else throw new Error("Geometry type not implemented");if(B.min_zoom!==z){var j=G.length;for(c(J,G),S=0;S<j;S++){var K=G[S];J[f(K[0],K[1],K[2])]=!0}return n(J,G,B)}return c(J,G),G}function n(b,B,S){for(var O=[],k=S.max_zoom;k>S.min_zoom;k--){for(var z={},J=[],G=0;G<B.length;G++){var j=B[G];if(j[0]%2===0&&j[1]%2===0){var K=f(j[0]+1,j[1],k),fe=f(j[0],j[1]+1,k),Q=f(j[0]+1,j[1]+1,k);if(b[K]&&b[fe]&&b[Q]){b[f(j[0],j[1],j[2])]=!1,b[K]=!1,b[fe]=!1,b[Q]=!1;var oe=[j[0]/2,j[1]/2,k-1];k-1===S.min_zoom?O.push(oe):(z[f(j[0]/2,j[1]/2,k-1)]=!0,J.push(oe))}}}for(G=0;G<B.length;G++)j=B[G],b[f(j[0],j[1],j[2])]&&O.push(j);b=z,B=J}return O}function i(b,B,S,O){for(var k=[],z=0;z<S.length;z++){var J=[];s(b,S[z],O,J);for(var G=0,j=J.length,K=j-1;G<j;K=G++){var fe=(G+1)%j,Q=J[G][1];(Q>J[K][1]||Q>J[fe][1])&&(Q<J[K][1]||Q<J[fe][1])&&Q!==J[fe][1]&&k.push(J[G])}}for(k.sort(o),z=0;z<k.length;z+=2){Q=k[z][1];for(var oe=k[z][0]+1;oe<k[z+1][0];oe++){var Be=f(oe,Q,O);b[Be]||B.push([oe,Q,O])}}}function o(b,B){return b[1]-B[1]||b[0]-B[0]}function s(b,B,S,O){for(var k,z,J=0;J<B.length-1;J++){var G=r.pointToTileFraction(B[J][0],B[J][1],S),j=r.pointToTileFraction(B[J+1][0],B[J+1][1],S),K=G[0],fe=G[1],Q=j[0],oe=j[1],Be=Q-K,ze=oe-fe;if(!(ze===0&&Be===0)){var pe=Be>0?1:-1,we=ze>0?1:-1,Ae=Math.floor(K),W=Math.floor(fe),ne=Be===0?1/0:Math.abs(((Be>0?1:0)+Ae-K)/Be),Te=ze===0?1/0:Math.abs(((ze>0?1:0)+W-fe)/ze),Ye=Math.abs(pe/Be),Ce=Math.abs(we/ze);for((Ae!==k||W!==z)&&(b[f(Ae,W,S)]=!0,O&&W!==z&&O.push([Ae,W]),k=Ae,z=W);ne<1||Te<1;)ne<Te?(ne+=Ye,Ae+=pe):(Te+=Ce,W+=we),b[f(Ae,W,S)]=!0,O&&W!==z&&O.push([Ae,W]),k=Ae,z=W}}O&&W===O[0][1]&&O.pop()}function c(b,B){for(var S=Object.keys(b),O=0;O<S.length;O++)B.push(y(+S[O]))}function f(b,B,S){var O=2*(1<<S);return(O*B+b)*32+S}function y(b){var B=b%32,S=2*(1<<B),O=(b-B)/32,k=O%S,z=(O-k)/S%S;return[k,z,B]}return Sp}n2e();const Ck=[0x5555555555555555n,0x3333333333333333n,0x0f0f0f0f0f0f0f0fn,0x00ff00ff00ff00ffn,0x0000ffff0000ffffn,0x00000000ffffffffn],Ek=[0n,1n,2n,4n,8n,16n];function i2e(r){return BigInt(`0x${r}`)}function Gx(r){return r.toString(16)}function s2e(r){if(r.z<0||r.z>26)throw new Error("Wrong zoom");const e=BigInt(r.z);let t=BigInt(r.x)<<32n-e,n=BigInt(r.y)<<32n-e;for(let o=0;o<5;o++){const s=Ek[5-o],c=Ck[4-o];t=(t|t<<s)&c,n=(n|n<<s)&c}return 0x4000000000000000n|1n<<59n|e<<52n|(t|n<<1n)>>12n|0xfffffffffffffn>>e*2n}function Tk(r){const e=r>>59n&7n,t=r>>57n&3n,n=r>>52n&0x1fn,i=(r&0xfffffffffffffn)<<12n;if(e!==1n&&t!==0n)throw new Error("Wrong mode");let o=i,s=i>>1n;for(let c=0;c<6;c++){const f=Ek[c],y=Ck[c];o=(o|o>>f)&y,s=(s|s>>f)&y}return o=o>>32n-n,s=s>>32n-n,{z:Number(n),x:Number(o),y:Number(s)}}function aE(r){return r>>52n&0x1fn}function Bk(r){const e=aE(r)-1n;return r&~(0x1fn<<52n)|e<<52n|0xfffffffffffffn>>e*2n}function o2e(r,e,t,n=[],i,o){var f;if(!r.content)return!1;r.userData||(r.userData={});const s=(f=e.get(t))==null?void 0:f[0];if(s){if(n.every(y=>y.name in s))return!1;e.clear()}const c={};for(const y of r.content){let b=y.id;const B=typeof i=="function"?i(y,{}):i;for(let J=0;J<t-1;J++)b=Bk(b);const S=Number(b);if(!(S in c)){c[S]={id:b,count:0,position:[0,0]};for(const{name:J,aggregation:G}of n)G==="any"?c[S][J]=y.properties[J]:c[S][J]=0}const O=c[S].count;c[S].count+=typeof o=="function"?o(y,{}):o;const k=c[S].count,z=k-O;c[S].position[0]=(O*c[S].position[0]+z*B[0])/k,c[S].position[1]=(O*c[S].position[1]+z*B[1])/k;for(const{name:J,aggregation:G}of n){const j=c[S][J],K=y.properties[J];G==="average"?c[S][J]=(O*j+z*K)/k:G==="count"||G==="sum"?c[S][J]=j+K:G==="max"?c[S][J]=Math.max(j,K):G==="min"&&(c[S][J]=Math.min(j,K))}}return e.set(t,Object.values(c)),!0}function a2e(r){const e=[],t=["any","average","count","min","max","sum"];for(const n of Object.keys(r.content[0].properties)){let i=n.split("_").pop().toLowerCase();t.includes(i)||(Wr.warn(`No valid aggregation present in ${n} property`)(),i="any"),e.push({name:n,aggregation:i})}return e}function c2e(r,e){const t={};for(const{name:n,aggregation:i}of e)if(t[n]={min:1/0,max:-1/0},i!=="any")for(const o of r)t[n].min=Math.min(t[n].min,o[n]),t[n].max=Math.max(t[n].max,o[n]);return t}const eg=new Uint16Array,LF={positions:{value:new Float32Array,size:2},properties:[],numericProps:{},featureIds:{value:eg,size:1},globalFeatureIds:{value:eg,size:1}};function l2e(r){const e=new Float32Array(r.length*2),t=new Uint16Array(r.length);for(let n=0;n<r.length;n++)e.set(r[n].position,2*n),t[n]=n;return{shape:"binary-feature-collection",points:{type:"Point",positions:{value:e,size:2},properties:r,numericProps:{},featureIds:{value:t,size:1},globalFeatureIds:{value:t,size:1}},lines:{type:"LineString",pathIndices:{value:eg,size:1},...LF},polygons:{type:"Polygon",polygonIndices:{value:eg,size:1},primitivePolygonIndices:{value:eg,size:1},...LF}}}const NA=512;class cE extends Py{getTileIndices(e){return super.getTileIndices(e).map(s2e).map(t=>({q:t,i:Gx(t)}))}getTileId({q:e,i:t}){return t||Gx(e)}getTileMetadata({q:e}){return super.getTileMetadata(Tk(e))}getTileZoom({q:e}){return Number(aE(e))}getParentIndex({q:e}){return{q:Bk(e)}}}const NF=512;function Sk(r){const{x:e,y:t,z:n}=Tk(r),i=NF/(1<<n);return[e*i,NF-t*i,i]}function u2e(r,e){const[t,n,i]=Sk(r);return[[t,n],[t+e*i,n-e*i]]}function Ik(r,e=1){const[t,n]=u2e(r,e),[i,o]=tl(t),[s,c]=tl(n);return[s,o,s,c,i,c,i,o,s,o]}const Am=!!(typeof process!="object"||String(process)!=="[object process]"||process.browser),kF=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version);kF&&parseFloat(kF[1]);function f2e(r){var e;globalThis.loaders||(globalThis.loaders={}),(e=globalThis.loaders).modules||(e.modules={}),Object.assign(globalThis.loaders.modules,r)}function h2e(...r){return d2e(r)}function d2e(r){const e=r.map(o=>o instanceof ArrayBuffer?new Uint8Array(o):o),t=e.reduce((o,s)=>o+s.byteLength,0),n=new Uint8Array(t);let i=0;for(const o of e)n.set(o,i),i+=o.byteLength;return n.buffer}async function A2e(r){const e=[];for await(const t of r)e.push(t);return h2e(...e)}function p2e(r){return r&&typeof r=="object"&&r.isBuffer}function pm(r){if(p2e(r))return r;if(r instanceof ArrayBuffer)return r;if(ArrayBuffer.isView(r))return r.byteOffset===0&&r.byteLength===r.buffer.byteLength?r.buffer:r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength);if(typeof r=="string"){const e=r;return new TextEncoder().encode(e).buffer}if(r&&typeof r=="object"&&r._toArrayBuffer)return r._toArrayBuffer();throw new Error("toArrayBuffer")}function gm(r){return e=>new Promise((t,n)=>r(e,(i,o)=>i?n(i):t(o)))}class g2e{constructor(e){this.compressBatches=this.compressBatches.bind(this),this.decompressBatches=this.decompressBatches.bind(this)}async preload(e={}){f2e(e)}async compress(e){return await this.preload(),this.compressSync(e)}async decompress(e,t){return await this.preload(),this.decompressSync(e,t)}compressSync(e){throw new Error(`${this.name}: sync compression not supported`)}decompressSync(e,t){throw new Error(`${this.name}: sync decompression not supported`)}async*compressBatches(e){const t=await this.concatenate(e);yield this.compress(t)}async*decompressBatches(e){const t=await this.concatenate(e);yield this.decompress(t)}concatenate(e){return A2e(e)}improveError(e){return e.message.includes(this.name)||(e.message=`${this.name} ${e.message}`),e}}class m2e extends g2e{constructor(t={}){super(t);V(this,"name","deflate");V(this,"extensions",[]);V(this,"contentEncodings",["deflate"]);V(this,"isSupported",!0);V(this,"options");V(this,"_chunks",[]);this.options=t}async compress(t){var n,i;if(!Am&&((n=this.options.deflate)!=null&&n.useZlib)){const o=(i=this.options.deflate)!=null&&i.gzip?await gm(bu.gzip)(t):await gm(bu.deflate)(t);return pm(o)}return this.compressSync(t)}async decompress(t){var n,i;if(!Am&&((n=this.options.deflate)!=null&&n.useZlib)){const o=(i=this.options.deflate)!=null&&i.gzip?await gm(bu.gunzip)(t):await gm(bu.inflate)(t);return pm(o)}return this.decompressSync(t)}compressSync(t){var s,c,f,y;if(!Am&&((s=this.options.deflate)!=null&&s.useZlib)){const b=(c=this.options.deflate)!=null&&c.gzip?bu.gzipSync(t):bu.deflateSync(t);return pm(b)}const n=((f=this.options)==null?void 0:f.deflate)||{},i=new Uint8Array(t);return((y=this.options)!=null&&y.raw?Md.deflateRaw:Md.deflate)(i,n).buffer}decompressSync(t){var s,c,f,y;if(!Am&&((s=this.options.deflate)!=null&&s.useZlib)){const b=(c=this.options.deflate)!=null&&c.gzip?bu.gunzipSync(t):bu.inflateSync(t);return pm(b)}const n=((f=this.options)==null?void 0:f.deflate)||{},i=new Uint8Array(t);return((y=this.options)!=null&&y.raw?Md.inflateRaw:Md.inflate)(i,n).buffer}async*compressBatches(t){var o;const n=((o=this.options)==null?void 0:o.deflate)||{},i=new Md.Deflate(n);yield*this.transformBatches(i,t)}async*decompressBatches(t){var o;const n=((o=this.options)==null?void 0:o.deflate)||{},i=new Md.Inflate(n);yield*this.transformBatches(i,t)}async*transformBatches(t,n){t.onData=this._onData.bind(this),t.onEnd=this._onEnd.bind(this);for await(const s of n){const c=new Uint8Array(s);if(!t.push(c,!1))throw new Error(`${this._getError()}write`);yield*this._getChunks()}const i=new Uint8Array(0);t.push(i,!0),yield*this._getChunks()}_onData(t){this._chunks.push(t)}_onEnd(t){if(t!==0)throw new Error(this._getError(t)+this._chunks.length)}_getChunks(){const t=this._chunks;return this._chunks=[],t}_getError(t=0){const n={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};return`${this.name}: ${n[t]}`}}class _2e extends m2e{constructor(t){super({...t,deflate:{...t==null?void 0:t.gzip,gzip:!0}});V(this,"name","gzip");V(this,"extensions",["gz","gzip"]);V(this,"contentEncodings",["gzip","x-gzip"]);V(this,"isSupported",!0)}}function Jy(r,e,t,n){const i=e.type===2?e.readVarint()+e.pos:e.pos+1,o=e.buf.buffer.slice(e.pos,i);if((n==null?void 0:n.compression)==="gzip"){const c=new _2e().decompressSync(o);t.value=new r(c)}else t.value=new r(o);return e.pos=i,t.value}class lE{static read(e,t){return e.readFields(lE._readField,{key:"",value:null},t)}static _readField(e,t,n){e===1?t.key=n.readString():e===2&&(t.value=n.readString())}}class _h{static read(e,t){return e.readFields(_h._readField,{},t)}static _readField(e,t,n){if(e===1){const{key:i,value:o}=lE.read(n,n.readVarint()+n.pos);t[i]=o}}}class Ug{static read(e,t){const{value:n,size:i}=e.readFields(Ug._readField,{value:[],size:0},t);return{value:n,size:i}}static _readField(e,t,n){e===1?Jy(Float64Array,n,t):e===2&&(t.size=n.readVarint(!0))}}class Ea{static read(e,t){const{value:n,size:i}=e.readFields(Ea._readField,{value:[],size:0},t);return{value:new Uint32Array(n),size:i}}static _readField(e,t,n){e===1?n.readPackedVarint(t.value):e===2&&(t.size=n.readVarint(!0))}}class zg{static read(e,t){return e.readFields(zg._readField,{id:0},t)}static _readField(e,t,n){e===1&&(t.id=n.readVarint())}}class uE{static read(e,t){return e.readFields(uE._readField,{value:[]},t)}static _readField(e,t,n){e===1&&Jy(Float64Array,n,t)}}class yh{static read(e,t){return e.readFields(yh._readField,{key:"",value:null},t)}static _readField(e,t,n){e===1?t.key=n.readString():e===2&&(t.value=uE.read(n,n.readVarint()+n.pos))}}class fE{static read(e,t){return e.readFields(fE._readField,{positions:null,globalFeatureIds:null,featureIds:null,properties:[],numericProps:{},fields:[]},t)}static _readField(e,t,n){if(e===1)t.positions=Ug.read(n,n.readVarint()+n.pos);else if(e===2)t.globalFeatureIds=Ea.read(n,n.readVarint()+n.pos);else if(e===3)t.featureIds=Ea.read(n,n.readVarint()+n.pos);else if(e===4)t.properties.push(_h.read(n,n.readVarint()+n.pos));else if(e===5){const i=yh.read(n,n.readVarint()+n.pos);t.numericProps[i.key]=i.value}else e===6&&t.fields.push(zg.read(n,n.readVarint()+n.pos))}}class hE{static read(e,t){return e.readFields(hE._readField,{positions:null,pathIndices:null,globalFeatureIds:null,featureIds:null,properties:[],numericProps:{},fields:[]},t)}static _readField(e,t,n){if(e===1)t.positions=Ug.read(n,n.readVarint()+n.pos);else if(e===2)t.pathIndices=Ea.read(n,n.readVarint()+n.pos);else if(e===3)t.globalFeatureIds=Ea.read(n,n.readVarint()+n.pos);else if(e===4)t.featureIds=Ea.read(n,n.readVarint()+n.pos);else if(e===5)t.properties.push(_h.read(n,n.readVarint()+n.pos));else if(e===6){const i=yh.read(n,n.readVarint()+n.pos);t.numericProps[i.key]=i.value}else e===7&&t.fields.push(zg.read(n,n.readVarint()+n.pos))}}class dE{static read(e,t){return e.readFields(dE._readField,{positions:null,polygonIndices:null,globalFeatureIds:null,featureIds:null,primitivePolygonIndices:null,triangles:null,properties:[],numericProps:{},fields:[]},t)}static _readField(e,t,n){if(e===1)t.positions=Ug.read(n,n.readVarint()+n.pos);else if(e===2)t.polygonIndices=Ea.read(n,n.readVarint()+n.pos);else if(e===3)t.globalFeatureIds=Ea.read(n,n.readVarint()+n.pos);else if(e===4)t.featureIds=Ea.read(n,n.readVarint()+n.pos);else if(e===5)t.primitivePolygonIndices=Ea.read(n,n.readVarint()+n.pos);else if(e===6)t.triangles=Ea.read(n,n.readVarint()+n.pos);else if(e===7)t.properties.push(_h.read(n,n.readVarint()+n.pos));else if(e===8){const i=yh.read(n,n.readVarint()+n.pos);t.numericProps[i.key]=i.value}else e===9&&t.fields.push(zg.read(n,n.readVarint()+n.pos))}}let y2e=class Mk{static read(e,t){return e.readFields(Mk._readField,{points:null,lines:null,polygons:null},t)}static _readField(e,t,n){e===1?t.points=fE.read(n,n.readVarint()+n.pos):e===2?t.lines=hE.read(n,n.readVarint()+n.pos):e===3&&(t.polygons=dE.read(n,n.readVarint()+n.pos))}};class AE{static read(e,t){return e.readFields(AE._readField,{value:[]},t)}static _readField(e,t,n){e===1&&Jy(BigUint64Array,n,t)}}class pE{static read(e,t){return e.readFields(pE._readField,{indices:null,properties:[],numericProps:{}},t)}static _readField(e,t,n){if(e===1)t.indices=AE.read(n,n.readVarint()+n.pos);else if(e===2)t.properties.push(_h.read(n,n.readVarint()+n.pos));else if(e===3){const i=yh.read(n,n.readVarint()+n.pos);t.numericProps[i.key]=i.value}}}let v2e=class Pk{static read(e,t){return e.readFields(Pk._readField,{scheme:0,cells:null},t)}static _readField(e,t,n){e===1?t.scheme=n.readVarint():e===2&&(t.cells=pE.read(n,n.readVarint()+n.pos))}};function Xy(r,e){const t=new O1e(r);return e.read(t)}function ih(r,e){Wr.assert(r,e)}function b2e(r,e){const{properties:t,numericProps:n}=r;return new Proxy(t[e]||{},{get(i,o){return o in n?n[o].value[e]:i[o]},has(i,o){return o in n||o in i},ownKeys(i){return[...Object.keys(n),...Reflect.ownKeys(i)]},getOwnPropertyDescriptor(i,o){return{enumerable:!0,configurable:!0}}})}function Ky(r,e){return`https://unpkg.com/@deck.gl/carto@${e}/dist/${r}-worker.js`}function x2e(r){const{cells:e,scheme:t}=r,n=e.indices.value.length,i=[];for(let o=0;o<n;o++){const s=t==="h3"?Gx(e.indices.value[o]):e.indices.value[o],c={...e.properties[o]};for(const f of Object.keys(e.numericProps))c[f]=e.numericProps[f].value[o];i.push({id:s,properties:c})}return i}const Rk="9.1.4",Fk="cartoSpatialTile",w2e={cartoSpatialTile:{scheme:"quadbin",workerUrl:Ky(Fk,Rk)}},Dk={name:"CARTO Spatial Tile",version:Rk,id:Fk,module:"carto",extensions:["pbf"],mimeTypes:["application/vnd.carto-spatial-tile"],category:"geometry",parse:async(r,e)=>UF(r,e),parseSync:UF,worker:!0,options:w2e};function UF(r,e){var s;if(!r)return null;const t=Xy(r,v2e),{cells:n}=t,i=(s=e==null?void 0:e.cartoSpatialTile)==null?void 0:s.scheme;return x2e({cells:n,scheme:i})}function Gg(r,e){var t,n,i;(n=(t=r==null?void 0:r.fetch)==null?void 0:t.headers)!=null&&n.Authorization||(r.fetch={...r.fetch,headers:{...(i=r.fetch)==null?void 0:i.headers,Authorization:`Bearer ${e}`}})}function C2e(r,e){const t={};for(const{geoid:n,...i}of e.properties)n in t?Wr.warn("Duplicate geoid key in boundary mapping, using first occurance")():t[n]=i;for(const n of["points","lines","polygons"]){const i=r[n];if(i.positions.value.length===0)continue;i.properties=i.properties.map(({geoid:y})=>t[y]);const{positions:o,globalFeatureIds:s}=i;let c=null;n==="lines"&&(c=i.pathIndices.value),n==="polygons"&&(c=i.polygonIndices.value);const f=o.value.length/o.size;for(const y in e.numericProps){const b=e.numericProps[y].value,B=b.constructor,S=new B(f);if(i.numericProps[y]={value:S,size:1},c)for(let O=0;O<c.length-1;O++){const k=c[O],z=c[O+1],J=s.value[k];S.fill(b[J],k,z)}else for(let O=0;O<f;O++){const k=s.value[O];S[O]=b[k]}}}return r}const sh={type:"object",value:null,validate:(r,e)=>e.optional&&r===null||typeof r=="object"&&Array.isArray(r.tiles)&&r.tiles.every(t=>typeof t=="string"),equal:(r,e)=>ns(r,e,2),async:!0};xy([Dk]);const Ok={data:sh,clusterLevel:{type:"number",value:5,min:1},getPosition:{type:"accessor",value:({id:r})=>Ik(r,.5).slice(2,4)},getWeight:{type:"accessor",value:1},refinementStrategy:"no-overlap",tileSize:NA};class gE extends Xl{initializeState(){super.initializeState(),this.state.aggregationCache=new WeakMap}renderLayers(){var S;const e=(S=this.state.tileset)==null?void 0:S.tiles.filter(O=>O.isLoaded&&O.content&&this.state.tileset.isTileVisible(O));if(!(e!=null&&e.length))return null;e.sort((O,k)=>k.zoom-O.zoom);const{zoom:t}=this.context.viewport,{clusterLevel:n,getPosition:i,getWeight:o}=this.props,{aggregationCache:s}=this.state,c=a2e(e[0]),f=[];let y=!1;for(const O of e){const k=Math.round(t-O.zoom),z=Math.round(n)-k;let J=s.get(O.content);J||(J=new Map,s.set(O.content,J));const G=o2e(O,J,z,c,i,o);y||(y=G),f.push(...J.get(z))}f.sort((O,k)=>Number(k.count-O.count));const b=f==null?void 0:f.map(O=>O.id);if(y||(y=!ns(b,this.state.clusterIds,1)),this.setState({clusterIds:b}),y){const O=c2e(f,c),k=l2e(f);k.points.attributes={stats:O},this.setState({data:k})}const B={...this.props,id:"clusters",data:this.state.data,dataComparator:(O,k)=>{var G,j,K,fe;const z=(j=(G=O==null?void 0:O.points)==null?void 0:G.properties)==null?void 0:j.map(Q=>Q.id),J=(fe=(K=k==null?void 0:k.points)==null?void 0:K.properties)==null?void 0:fe.map(Q=>Q.id);return ns(z,J,1)}};return new Wl(this.getSubLayerProps(B))}getPickingInfo(e){const t=e.info;if(t.index!==-1){const{data:n}=e.sourceLayer.props;t.object=zx(n,{globalFeatureId:t.index})}return t}_updateAutoHighlight(e){for(const t of this.getSubLayers())t.updateAutoHighlight(e)}filterSubLayer(){return!0}}gE.layerName="ClusterGeoJsonLayer";gE.defaultProps=Ok;class mE extends ys{getLoadOptions(){const e=super.getLoadOptions()||{},t=this.props.data;return Gg(e,t.accessToken),e.cartoSpatialTile={...e.cartoSpatialTile,scheme:"quadbin"},e}renderLayers(){const e=this.props.data;if(!e)return null;const{tiles:t,maxresolution:n}=e;return[new gE(this.props,{id:`cluster-geojson-layer-${this.props.id}`,data:t,TilesetClass:cE,maxZoom:n,loadOptions:this.getLoadOptions()})]}}mE.layerName="ClusterTileLayer";mE.defaultProps=Ok;const E2e=85.051128;function T2e({west:r,north:e,east:t,south:n},i){const c=[[e,t],[n,t],[n,r],[e,r]].map(b=>MC(b[0],b[1],i)).map(b=>Math.max(...Qde(b).map(B=>tAe(B,dA.rads)))*180/Math.PI),f=Math.max(...c),y=Math.min(180,f/Math.cos((e+n)/2*Math.PI/180));return{north:Math.min(e+f,E2e),east:t+y,south:Math.max(n-f,-85.051128),west:r-y}}function Lk({west:r,north:e,east:t,south:n},i){const o=Math.abs(t-r);if(o>180){const c=Math.ceil(o/180);let f=[];for(let y=0;y<c;y++){const b=r+y*180,B=Math.min(b+179.9999999,t);f=f.concat(Lk({west:b,north:e,east:B,south:n},i))}return[...new Set(f)]}return Yde([[e,t],[n,t],[n,r],[e,r],[e,t]],i)}function B2e(r){const e=J8(r),t=e.map(f=>f[0]),n=e.map(f=>f[1]),i=Math.min(...n),o=Math.min(...t),s=Math.max(...n),c=Math.max(...t);return{west:i,south:o,east:s,north:c}}const S2e=2;function Vx(r,e){const t=Math.log2(e/512),n=2/3*(r.zoom-t),i=Math.log(1/Math.cos(Math.PI*r.latitude/180));return Math.max(0,Math.floor(n+i-S2e))}class I2e extends Py{getTileIndices({viewport:e,minZoom:t,maxZoom:n}){if(e.latitude===void 0)return[];const[i,o,s,c]=e.getBounds(),{tileSize:f}=this.opts;let y=Vx(e,f),b;if(typeof t=="number"&&Number.isFinite(t)&&y<t)return[];if(typeof n=="number"&&Number.isFinite(n)&&y>n){y=n;const B=MC(e.latitude,e.longitude,n);b=qde(B,1)}else{const B=T2e({west:i,north:c,east:s,south:o},y);b=Lk(B,y)}return b.map(B=>({i:B}))}getTileId({i:e}){return e}getTileMetadata({i:e}){return{bbox:B2e(e)}}getTileZoom({i:e}){return Tx(e)}getParentIndex(e){const t=Tx(e.i);return{i:Kde(e.i,t-1)}}}const M2e={uint8:Uint8Array,uint16:Uint16Array,uint32:Uint32Array,uint64:BigUint64Array,int8:Int8Array,int16:Int16Array,int32:Int32Array,int64:BigInt64Array,float32:Float32Array,float64:Float64Array};class _E{static read(e,t){return e.readFields(_E._readField,{name:"",type:"",data:null},t)}static _readField(e,t,n){if(e===1)t.name=n.readString();else if(e===2)t.type=n.readString();else if(e===3){const i=M2e[t.type];if(!i)throw Error(`Invalid data type: ${t.type}`);t.data={};const{compression:o}=Hx;Jy(i,n,t.data,{compression:o})}}}let Hx=class Nk{static read(e,t){return e.readFields(Nk._readField,{blockSize:0,bands:[]},t)}static _readField(e,t,n){e===1?t.blockSize=n.readVarint():e===2&&t.bands.push(_E.read(n,n.readVarint()+n.pos))}};const kk="9.1.4",Uk="cartoRasterTile",P2e={cartoRasterTile:{metadata:null,workerUrl:Ky(Uk,kk)}},R2e={name:"CARTO Raster Tile",version:kk,id:Uk,module:"carto",extensions:["pbf"],mimeTypes:["application/vnd.carto-raster-tile"],category:"geometry",parse:async(r,e)=>zF(r,e),parseSync:zF,worker:!0,options:P2e};function zF(r,e){var c;const t=(c=e==null?void 0:e.cartoRasterTile)==null?void 0:c.metadata;if(!r||!t)return null;Hx.compression=t.compression;const n=Xy(r,Hx),{bands:i,blockSize:o}=n,s={};for(let f=0;f<i.length;f++){const{name:y,data:b}=i[f];s[y]=b}return{blockSize:o,cells:{numericProps:s,properties:[]}}}xy([R2e,Dk]);function F2e(r){return r!=null&&r!==""}const D2e={tileSize:NA};class qy extends Xl{_updateAutoHighlight(e){const{hoveredFeatureId:t}=this.state,n=e.object;let i=null;if(n&&(i=n.id),t!==i){let{highlightColor:o}=this.props;typeof o=="function"&&(o=o(e)),this.setState({highlightColor:o,hoveredFeatureId:i})}}getSubLayerPropsByTile(e){return{highlightedObjectIndex:this.getHighlightedObjectIndex(e),highlightColor:this.state.highlightColor}}getHighlightedObjectIndex(e){const{hoveredFeatureId:t}=this.state,n=e.content;return!F2e(t)||!Array.isArray(n)||!this._featureInTile(e,t)?-1:n.findIndex(o=>o.id===t)}_featureInTile(e,t){const n=this.state.tileset,i=n.getTileZoom(e.index),o=e.index.q?"q":"i";let s={[o]:t},c=n.getTileZoom(s);for(;!(c<=i);)s=n.getParentIndex(s),c=n.getTileZoom(s);return s[o]===e.index[o]}}qy.layerName="SpatialIndexTileLayer";qy.defaultProps=D2e;const O2e=r=>{const{data:e}=r,{index:t}=r.tile;return!e||!e.length?null:new al(r,{getHexagon:n=>n.id,centerHexagon:t,highPrecision:!0})},L2e={data:sh,tileSize:NA};class yE extends ys{initializeState(){al._checkH3Lib()}getLoadOptions(){const e=super.getLoadOptions()||{},t=this.props.data;return Gg(e,t.accessToken),e.cartoSpatialTile={...e.cartoSpatialTile,scheme:"h3"},e}renderLayers(){const e=this.props.data;if(!e)return null;const{tiles:t}=e;let{minresolution:n,maxresolution:i}=e;this.props.minZoom&&(n=Math.max(n,Vx({zoom:this.props.minZoom,latitude:0},this.props.tileSize))),this.props.maxZoom&&(i=Math.min(i,Vx({zoom:this.props.maxZoom,latitude:0},this.props.tileSize)));const o=this.getSubLayerClass("spatial-index-tile",qy);return new o(this.props,{id:`h3-tile-layer-${this.props.id}`,data:t,TilesetClass:I2e,renderSubLayers:O2e,minZoom:n,maxZoom:i,loadOptions:this.getLoadOptions()})}}yE.layerName="H3TileLayer";yE.defaultProps=L2e;const N2e=`uniform heatmapUniforms {
|
3860
3860
|
vec2 colorDomain;
|
3861
3861
|
vec2 delta;
|
3862
3862
|
float intensity;
|