anymap-ts 0.13.5 → 0.14.0
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.
|
@@ -4560,10 +4560,10 @@ void main(void) {
|
|
|
4560
4560
|
vec3 lightColor = lighting_getLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);
|
|
4561
4561
|
fragColor = vec4(lightColor, color.a * layer.opacity);
|
|
4562
4562
|
}
|
|
4563
|
-
`});var B6t,qMe=Pt(()=>{tz();YMe();B6t=class extends X5{static layerName="mesh-texture-layer";static defaultProps=X5.defaultProps;getShaders(){let t=super.getShaders(),e=t.modules;for(let r of this.props.renderPipeline)e.push(r.module);return{...t,fs:zMe,modules:e}}draw(t){let e={};for(let r of this.props.renderPipeline)e[r.module.name]=r.props||{};for(let r of super.getModels())r.shaderInputs.setProps(e);super.draw(t)}}});function OKi(i){let t=i.uvs.length/2,e=new Float32Array(t*3),r=new Float32Array(i.uvs);for(let s=0;s<t;s++)e[s*3]=i.exactOutputPositions[s*2],e[s*3+1]=i.exactOutputPositions[s*2+1],e[s*3+2]=0;return{indices:new Uint32Array(i.triangles),positions:e,texCoords:r}}var UKi,JMe,PKi,HG,KMe=Pt(()=>{f0();yd();HMe();ROt();qMe();UKi=.125,JMe=[[252,73,163],[255,51,204],[204,102,255],[153,51,255],[102,204,255],[51,153,255],[102,255,204],[51,255,170],[0,255,0],[51,204,51],[255,204,102],[255,179,71],[255,102,102],[255,80,80],[255,0,0],[204,0,0],[255,128,0],[255,153,51],[255,255,102],[255,255,51],[0,255,255],[0,204,255]],PKi={debug:!1,debugOpacity:.5},HG=class extends Mh{static layerName="RasterLayer";static defaultProps=PKi;initializeState(){this.setState({})}updateState(t){super.updateState(t);let{props:e,oldProps:r,changeFlags:n}=t;(n.dataChanged||e.width!==r.width||e.height!==r.height||e.reprojectionFns!==r.reprojectionFns||e.maxError!==r.maxError)&&this._generateMesh()}_generateMesh(){let{width:t,height:e,reprojectionFns:r,maxError:n=UKi}=this.props,s=new Mrt(r,t+1,e+1);s.run(n);let{indices:a,positions:o,texCoords:A}=OKi(s);this.setState({reprojector:s,mesh:{positions:o,indices:a,texCoords:A}})}renderDebugLayer(){let{reprojector:t}=this.state,{debugOpacity:e}=this.props;return t?new Qy(this.getSubLayerProps({id:"polygon",data:{reprojector:t,length:t.triangles.length/3},getPolygon:(r,{index:n,data:s})=>{let a=s.reprojector.triangles,o=t.exactOutputPositions,A=a[n*3],l=a[n*3+1],c=a[n*3+2];return[[o[A*2],o[A*2+1]],[o[l*2],o[l*2+1]],[o[c*2],o[c*2+1]],[o[A*2],o[A*2+1]]]},getFillColor:(r,{index:n,target:s})=>{let a=JMe[n%JMe.length];return s[0]=a[0],s[1]=a[1],s[2]=a[2],s[3]=255,s},getLineColor:[0,0,0],getLineWidth:1,lineWidthUnits:"pixels",opacity:e!==void 0&&Number.isFinite(e)?Math.max(0,Math.min(1,e)):1,pickable:!1})):null}_createRenderPipeline(){if(this.props.renderPipeline instanceof ImageData){let t=this.props.renderPipeline,e=this.context.device.createTexture({format:"rgba8unorm",width:t.width,height:t.height,data:t.data});return[{module:dz,props:{textureName:e}}]}else return this.props.renderPipeline}renderLayers(){let{mesh:t}=this.state,{debug:e}=this.props;if(!t)return null;let{indices:r,positions:n,texCoords:s}=t,o=[new B6t(this.getSubLayerProps({id:"raster",renderPipeline:this._createRenderPipeline(),data:[1],mesh:{indices:{value:r,size:1},attributes:{POSITION:{value:n,size:3},TEXCOORD_0:{value:s,size:2}}},_instanced:!1,getPosition:[0,0,0],getColor:[255,255,255]}))];if(e){let A=this.renderDebugLayer();A&&o.push(A)}return o}}});function LOt({x:i,y:t,transform:e,tileWidth:r,tileHeight:n}){let[s,a,o,A,l,c]=e;if(a!==0||A!==0)throw new Error(`Rotated/skewed geotransforms not yet supported (b=${a}, d=${A}). Only north-up, non-rotated rasters are currently supported.`);let p=i*r,d=t*n,_=(i+1)*r,I=(t+1)*n,y=s*p+a*d+o,B=A*p+l*d+c,x=s*_+a*I+o,w=A*_+l*I+c;return[Math.min(y,x),Math.min(B,w),Math.max(y,x),Math.max(B,w)]}function qKi(i,t,e){let[r,n,s,a]=t,o=[];for(let[A,l]of i){let c=r+A*(s-r),p=n+l*(a-n),d=e([c,p]);o.push(d)}return o}function JKi([i,t]){let e=Math.max(-WMe,Math.min(WMe,t));return[(i/NOt+.5)*VMe,(e/NOt+.5)*VMe]}function KKi(i,t){let[e,r,n,s]=i,{tileWidth:a,tileHeight:o,cellSize:A,matrixWidth:l,matrixHeight:c,pointOfOrigin:p}=t,d=a*A,_=o*A,I=p[0],y=p[1],B=Math.floor((e-I)/d),x=Math.floor((n-I)/d),w=Math.floor((y-s)/_),D=Math.floor((y-r)/_);return B=Math.max(0,Math.min(l-1,B)),x=Math.max(0,Math.min(l-1,x)),w=Math.max(0,Math.min(c-1,w)),D=Math.max(0,Math.min(c-1,D)),{minCol:B,maxCol:x,minRow:w,maxRow:D}}function ZMe(i,t){let{viewport:e,maxZ:r,zRange:n}=t,s=e instanceof mb&&e.resolution?e.projectPosition:null,a=Object.values(e.getFrustumPlanes()).map(({normal:F,distance:U})=>new Ed(F.clone().negate(),U)),o=new d_(a),A=e.distanceScales.unitsPerMeter[2],l=n&&n[0]*A||0,c=n&&n[1]*A||0,p=0,{lowerLeft:d,upperRight:_}=i.wgsBounds,[I,y]=d,[B,x]=_,w=I9([I,y]),D=I9([B,x]),T=[w[0],w[1],D[0],D[1]],j=i.tileMatrices[0],z=[];for(let F=0;F<j.matrixHeight;F++)for(let U=0;U<j.matrixWidth;U++)z.push(new x6t(U,F,0,i));let W={viewport:e,project:s,cullingVolume:o,elevationBounds:[l,c],minZ:p,maxZ:r,bounds:T};for(let F of z)F.update(W);let N=[];for(let F of z)F.getSelected(N);return N}function VKi(i,t){return 40075016686e-3*Math.cos(i*Math.PI/180)/2**(t+8)}function WKi(i,t){let[e,r]=fd(i.center);return VKi(r,t)}var VMe,jKi,HKi,zKi,NOt,WMe,YKi,x6t,XMe,GOt=Pt(()=>{f0();sM();e6();VMe=512,jKi=[[.5,.5],[0,0],[0,1],[1,0],[1,1]],HKi=jKi.concat([[0,.5],[.5,0],[1,.5],[.5,1]]),zKi=6378137,NOt=2*Math.PI*zKi,WMe=NOt/2,YKi=28e-5,x6t=class i{x;y;z;metadata;childVisible;selected;_children;constructor(t,e,r,n){this.x=t,this.y=e,this.z=r,this.metadata=n}get tileMatrix(){return this.metadata.tileMatrices[this.z]}get children(){if(!this._children){let t=this.metadata.tileMatrices.length-1;if(this.z>=t)return this._children=null,null;let e=this.tileMatrix,r=this.z+1,n=this.metadata.tileMatrices[r],s=LOt({x:this.x,y:this.y,transform:e.geotransform,tileWidth:e.tileWidth,tileHeight:e.tileHeight}),{minCol:a,maxCol:o,minRow:A,maxRow:l}=KKi(s,n),c=[];for(let p=A;p<=l;p++)for(let d=a;d<=o;d++)c.push(new i(d,p,r,this.metadata));this._children=c.length>0?c:null}return this._children}update(t){this.childVisible=!1,this.selected=!1;let{viewport:e,cullingVolume:r,elevationBounds:n,minZ:s,maxZ:a=this.metadata.tileMatrices.length-1,project:o,bounds:A}=t,{boundingVolume:l,commonSpaceBounds:c}=this.getBoundingVolume(n,o);if(A&&!this.insideBounds(A,c)||r.computeVisibility(l)<0)return!1;let d=this.children;if(!this.childVisible&&this.z>=s){let _=WKi(l,e.zoom);if(this.tileMatrix.scaleDenominator*YKi<=_||this.z>=a||d===null&&this.z>=s)return this.selected=!0,!0}if(d&&d.length>0){this.selected=!1;let _=!1;for(let I of d)I.update(t)&&(_=!0);return this.childVisible=_,_}return!0}getSelected(t=[]){if(this.selected&&t.push(this),this._children)for(let e of this._children)e.getSelected(t);return t}insideBounds(t,e){let[r,n,s,a]=t,[o,A,l,c]=e;return o<s&&l>r&&A<a&&c>n}getBoundingVolume(t,e){return e&&th(!1,"TODO: implement getBoundingVolume in Globe view"),this._getGenericBoundingVolume(t)}_getGenericBoundingVolume(t){let e=this.tileMatrix,{tileWidth:r,tileHeight:n,geotransform:s}=e,[a,o]=t,A=LOt({x:this.x,y:this.y,transform:s,tileWidth:r,tileHeight:n}),c=qKi(HKi,A,this.metadata.projectTo3857).map(x=>JKi(x)),p=[];for(let x of c)p.push([x[0],x[1],a]),a!==o&&p.push([x[0],x[1],o]);let d=Number.POSITIVE_INFINITY,_=Number.POSITIVE_INFINITY,I=Number.NEGATIVE_INFINITY,y=Number.NEGATIVE_INFINITY;for(let[x,w]of c)x<d&&(d=x),w<_&&(_=w),x>I&&(I=x),w>y&&(y=w);let B=[d,_,I,y];return{boundingVolume:wG(p),commonSpaceBounds:B}}};XMe={computeProjectedTileBounds:LOt,RasterTileNode:x6t}});var _z,$Me=Pt(()=>{jG();GOt();_z=class extends Cx{metadata;constructor(t,e){super(e),this.metadata=t}getTileIndices(t){let e=this.metadata.tileMatrices.length-1,r=typeof t.maxZoom=="number"?Math.min(t.maxZoom,e):e;return ZMe(this.metadata,{viewport:t.viewport,maxZ:r,zRange:t.zRange??null})}getTileId(t){return`${t.x}-${t.y}-${t.z}`}getParentIndex(t){if(t.z===0)return t;let e=this.metadata.tileMatrices[t.z],r=this.metadata.tileMatrices[t.z-1],n=e.cellSize/r.cellSize;return{x:Math.floor(t.x/n),y:Math.floor(t.y/n),z:t.z-1}}getTileZoom(t){return t.z}getTileMetadata(t){let{x:e,y:r,z:n}=t,{tileMatrices:s}=this.metadata,a=s[n],{geotransform:o,tileHeight:A,tileWidth:l}=a,[c,p,d,_,I,y]=o,B=e*l,x=r*A,w=(e+1)*l,D=(r+1)*A,T=[c*B+p*x+d,_*B+I*x+y],j=[c*w+p*x+d,_*w+I*x+y],z=[c*B+p*D+d,_*B+I*D+y],W=[c*w+p*D+d,_*w+I*D+y],N={topLeft:T,topRight:j,bottomLeft:z,bottomRight:W};return{bounds:[Math.min(T[0],j[0],z[0],W[0]),Math.min(T[1],j[1],z[1],W[1]),Math.max(T[0],j[0],z[0],W[0]),Math.max(T[1],j[1],z[1],W[1])],projectedBounds:N,tileWidth:l,tileHeight:A,tileMatrix:a}}}});var tDe=Pt(()=>{$Me()});var o5s,FOt=Pt(()=>{KMe();tDe();GOt();o5s={...XMe}});function eDe(i){i("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),i("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),i("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs");for(var t=1;t<=60;++t)i("EPSG:"+(32600+t),"+proj=utm +zone="+t+" +datum=WGS84 +units=m"),i("EPSG:"+(32700+t),"+proj=utm +zone="+t+" +south +datum=WGS84 +units=m");i("EPSG:5041","+title=WGS 84 / UPS North (E,N) +proj=stere +lat_0=90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +datum=WGS84 +units=m"),i("EPSG:5042","+title=WGS 84 / UPS South (E,N) +proj=stere +lat_0=-90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +datum=WGS84 +units=m"),i.WGS84=i["EPSG:4326"],i["EPSG:3785"]=i["EPSG:3857"],i.GOOGLE=i["EPSG:3857"],i["EPSG:900913"]=i["EPSG:3857"],i["EPSG:102113"]=i["EPSG:3857"]}var iDe=Pt(()=>{});var iB,rB,Nb,rDe,Drt,TOt,nDe,UOt,zG,ys,sDe,aDe,oDe,js,Gu,f1,Dc,uM,Sp,dc=Pt(()=>{iB=1,rB=2,Nb=3,rDe=4,Drt=5,TOt=6378137,nDe=6356752314e-3,UOt=.0066943799901413165,zG=484813681109536e-20,ys=Math.PI/2,sDe=.16666666666666666,aDe=.04722222222222222,oDe=.022156084656084655,js=1e-10,Gu=.017453292519943295,f1=57.29577951308232,Dc=Math.PI/4,uM=Math.PI*2,Sp=3.14159265359});var tI,ADe,lDe=Pt(()=>{tI={};tI.greenwich=0;tI.lisbon=-9.131906111111;tI.paris=2.337229166667;tI.bogota=-74.080916666667;tI.madrid=-3.687938888889;tI.rome=12.452333333333;tI.bern=7.439583333333;tI.jakarta=106.807719444444;tI.ferro=-17.666666666667;tI.brussels=4.367975;tI.stockholm=18.058277777778;tI.athens=23.7163375;tI.oslo=10.722916666667;ADe=tI});var cDe,hDe=Pt(()=>{cDe={mm:{to_meter:.001},cm:{to_meter:.01},ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937},fath:{to_meter:1.8288},kmi:{to_meter:1852},"us-ch":{to_meter:20.1168402336805},"us-mi":{to_meter:1609.34721869444},km:{to_meter:1e3},"ind-ft":{to_meter:.30479841},"ind-yd":{to_meter:.91439523},mi:{to_meter:1609.344},yd:{to_meter:.9144},ch:{to_meter:20.1168},link:{to_meter:.201168},dm:{to_meter:.1},in:{to_meter:.0254},"ind-ch":{to_meter:20.11669506},"us-in":{to_meter:.025400050800101},"us-yd":{to_meter:.914401828803658}}});function ky(i,t){if(i[t])return i[t];for(var e=Object.keys(i),r=t.toLowerCase().replace(uDe,""),n=-1,s,a;++n<e.length;)if(s=e[n],a=s.toLowerCase().replace(uDe,""),a===r)return i[s]}var uDe,Rrt=Pt(()=>{uDe=/[\s_\-\/\(\)]/g});function Nrt(i){var t={},e=i.split("+").map(function(o){return o.trim()}).filter(function(o){return o}).reduce(function(o,A){var l=A.split("=");return l.push(!0),o[l[0].toLowerCase()]=l[1],o},{}),r,n,s,a={proj:"projName",datum:"datumCode",rf:function(o){t.rf=parseFloat(o)},lat_0:function(o){t.lat0=o*Gu},lat_1:function(o){t.lat1=o*Gu},lat_2:function(o){t.lat2=o*Gu},lat_ts:function(o){t.lat_ts=o*Gu},lon_0:function(o){t.long0=o*Gu},lon_1:function(o){t.long1=o*Gu},lon_2:function(o){t.long2=o*Gu},alpha:function(o){t.alpha=parseFloat(o)*Gu},gamma:function(o){t.rectified_grid_angle=parseFloat(o)*Gu},lonc:function(o){t.longc=o*Gu},x_0:function(o){t.x0=parseFloat(o)},y_0:function(o){t.y0=parseFloat(o)},k_0:function(o){t.k0=parseFloat(o)},k:function(o){t.k0=parseFloat(o)},a:function(o){t.a=parseFloat(o)},b:function(o){t.b=parseFloat(o)},r:function(o){t.a=t.b=parseFloat(o)},r_a:function(){t.R_A=!0},zone:function(o){t.zone=parseInt(o,10)},south:function(){t.utmSouth=!0},towgs84:function(o){t.datum_params=o.split(",").map(function(A){return parseFloat(A)})},to_meter:function(o){t.to_meter=parseFloat(o)},units:function(o){t.units=o;var A=ky(cDe,o);A&&(t.to_meter=A.to_meter)},from_greenwich:function(o){t.from_greenwich=o*Gu},pm:function(o){var A=ky(ADe,o);t.from_greenwich=(A||parseFloat(o))*Gu},nadgrids:function(o){o==="@null"?t.datumCode="none":t.nadgrids=o},axis:function(o){var A="ewnsud";o.length===3&&A.indexOf(o.substr(0,1))!==-1&&A.indexOf(o.substr(1,1))!==-1&&A.indexOf(o.substr(2,1))!==-1&&(t.axis=o)},approx:function(){t.approx=!0},over:function(){t.over=!0}};for(r in e)n=e[r],r in a?(s=a[r],typeof s=="function"?s(n):t[s]=n):t[r]=n;return typeof t.datumCode=="string"&&t.datumCode!=="WGS84"&&(t.datumCode=t.datumCode.toLowerCase()),t.projStr=i,t}var POt=Pt(()=>{dc();lDe();hDe();Rrt()});var OOt,Q6t,jOt=Pt(()=>{OOt=class{static getId(t){let e=t.find(r=>Array.isArray(r)&&r[0]==="ID");return e&&e.length>=3?{authority:e[1],code:parseInt(e[2],10)}:null}static convertUnit(t,e="unit"){if(!t||t.length<3)return{type:e,name:"unknown",conversion_factor:null};let r=t[1],n=parseFloat(t[2])||null,s=t.find(o=>Array.isArray(o)&&o[0]==="ID"),a=s?{authority:s[1],code:parseInt(s[2],10)}:null;return{type:e,name:r,conversion_factor:n,id:a}}static convertAxis(t){let e=t[1]||"Unknown",r,n=e.match(/^\((.)\)$/);if(n){let l=n[1].toUpperCase();if(l==="E")r="east";else if(l==="N")r="north";else if(l==="U")r="up";else throw new Error(`Unknown axis abbreviation: ${l}`)}else r=t[2]?t[2].toLowerCase():"unknown";let s=t.find(l=>Array.isArray(l)&&l[0]==="ORDER"),a=s?parseInt(s[1],10):null,o=t.find(l=>Array.isArray(l)&&(l[0]==="LENGTHUNIT"||l[0]==="ANGLEUNIT"||l[0]==="SCALEUNIT")),A=this.convertUnit(o);return{name:e,direction:r,unit:A,order:a}}static extractAxes(t){return t.filter(e=>Array.isArray(e)&&e[0]==="AXIS").map(e=>this.convertAxis(e)).sort((e,r)=>(e.order||0)-(r.order||0))}static convert(t,e={}){switch(t[0]){case"PROJCRS":e.type="ProjectedCRS",e.name=t[1],e.base_crs=t.find(_=>Array.isArray(_)&&_[0]==="BASEGEOGCRS")?this.convert(t.find(_=>Array.isArray(_)&&_[0]==="BASEGEOGCRS")):null,e.conversion=t.find(_=>Array.isArray(_)&&_[0]==="CONVERSION")?this.convert(t.find(_=>Array.isArray(_)&&_[0]==="CONVERSION")):null;let r=t.find(_=>Array.isArray(_)&&_[0]==="CS");r&&(e.coordinate_system={type:r[1],axis:this.extractAxes(t)});let n=t.find(_=>Array.isArray(_)&&_[0]==="LENGTHUNIT");if(n){let _=this.convertUnit(n);e.coordinate_system.unit=_}e.id=this.getId(t);break;case"BASEGEOGCRS":case"GEOGCRS":e.type="GeographicCRS",e.name=t[1];let s=t.find(_=>Array.isArray(_)&&(_[0]==="DATUM"||_[0]==="ENSEMBLE"));if(s){let _=this.convert(s);s[0]==="ENSEMBLE"?e.datum_ensemble=_:e.datum=_;let I=t.find(y=>Array.isArray(y)&&y[0]==="PRIMEM");I&&I[1]!=="Greenwich"&&(_.prime_meridian={name:I[1],longitude:parseFloat(I[2])})}e.coordinate_system={type:"ellipsoidal",axis:this.extractAxes(t)},e.id=this.getId(t);break;case"DATUM":e.type="GeodeticReferenceFrame",e.name=t[1],e.ellipsoid=t.find(_=>Array.isArray(_)&&_[0]==="ELLIPSOID")?this.convert(t.find(_=>Array.isArray(_)&&_[0]==="ELLIPSOID")):null;break;case"ENSEMBLE":e.type="DatumEnsemble",e.name=t[1],e.members=t.filter(_=>Array.isArray(_)&&_[0]==="MEMBER").map(_=>({type:"DatumEnsembleMember",name:_[1],id:this.getId(_)}));let a=t.find(_=>Array.isArray(_)&&_[0]==="ENSEMBLEACCURACY");a&&(e.accuracy=parseFloat(a[1]));let o=t.find(_=>Array.isArray(_)&&_[0]==="ELLIPSOID");o&&(e.ellipsoid=this.convert(o)),e.id=this.getId(t);break;case"ELLIPSOID":e.type="Ellipsoid",e.name=t[1],e.semi_major_axis=parseFloat(t[2]),e.inverse_flattening=parseFloat(t[3]);let A=t.find(_=>Array.isArray(_)&&_[0]==="LENGTHUNIT")?this.convert(t.find(_=>Array.isArray(_)&&_[0]==="LENGTHUNIT"),e):null;break;case"CONVERSION":e.type="Conversion",e.name=t[1],e.method=t.find(_=>Array.isArray(_)&&_[0]==="METHOD")?this.convert(t.find(_=>Array.isArray(_)&&_[0]==="METHOD")):null,e.parameters=t.filter(_=>Array.isArray(_)&&_[0]==="PARAMETER").map(_=>this.convert(_));break;case"METHOD":e.type="Method",e.name=t[1],e.id=this.getId(t);break;case"PARAMETER":e.type="Parameter",e.name=t[1],e.value=parseFloat(t[2]),e.unit=this.convertUnit(t.find(_=>Array.isArray(_)&&(_[0]==="LENGTHUNIT"||_[0]==="ANGLEUNIT"||_[0]==="SCALEUNIT"))),e.id=this.getId(t);break;case"BOUNDCRS":e.type="BoundCRS";let l=t.find(_=>Array.isArray(_)&&_[0]==="SOURCECRS");if(l){let _=l.find(I=>Array.isArray(I));e.source_crs=_?this.convert(_):null}let c=t.find(_=>Array.isArray(_)&&_[0]==="TARGETCRS");if(c){let _=c.find(I=>Array.isArray(I));e.target_crs=_?this.convert(_):null}let p=t.find(_=>Array.isArray(_)&&_[0]==="ABRIDGEDTRANSFORMATION");p?e.transformation=this.convert(p):e.transformation=null;break;case"ABRIDGEDTRANSFORMATION":if(e.type="Transformation",e.name=t[1],e.method=t.find(_=>Array.isArray(_)&&_[0]==="METHOD")?this.convert(t.find(_=>Array.isArray(_)&&_[0]==="METHOD")):null,e.parameters=t.filter(_=>Array.isArray(_)&&(_[0]==="PARAMETER"||_[0]==="PARAMETERFILE")).map(_=>{if(_[0]==="PARAMETER")return this.convert(_);if(_[0]==="PARAMETERFILE")return{name:_[1],value:_[2],id:{authority:"EPSG",code:8656}}}),e.parameters.length===7){let _=e.parameters[6];_.name==="Scale difference"&&(_.value=Math.round((_.value-1)*1e12)/1e6)}e.id=this.getId(t);break;case"AXIS":e.coordinate_system||(e.coordinate_system={type:"unspecified",axis:[]}),e.coordinate_system.axis.push(this.convertAxis(t));break;case"LENGTHUNIT":let d=this.convertUnit(t,"LinearUnit");e.coordinate_system&&e.coordinate_system.axis&&e.coordinate_system.axis.forEach(_=>{_.unit||(_.unit=d)}),d.conversion_factor&&d.conversion_factor!==1&&e.semi_major_axis&&(e.semi_major_axis={value:e.semi_major_axis,unit:d});break;default:e.keyword=t[0];break}return e}},Q6t=OOt});var HOt,gDe,pDe=Pt(()=>{jOt();HOt=class extends Q6t{static convert(t,e={}){return super.convert(t,e),e.coordinate_system&&e.coordinate_system.subtype==="Cartesian"&&delete e.coordinate_system,e.usage&&delete e.usage,e}},gDe=HOt});var zOt,dDe,_De=Pt(()=>{jOt();zOt=class extends Q6t{static convert(t,e={}){super.convert(t,e);let r=t.find(s=>Array.isArray(s)&&s[0]==="CS");r&&(e.coordinate_system={subtype:r[1],axis:this.extractAxes(t)});let n=t.find(s=>Array.isArray(s)&&s[0]==="USAGE");if(n){let s=n.find(A=>Array.isArray(A)&&A[0]==="SCOPE"),a=n.find(A=>Array.isArray(A)&&A[0]==="AREA"),o=n.find(A=>Array.isArray(A)&&A[0]==="BBOX");e.usage={},s&&(e.usage.scope=s[1]),a&&(e.usage.area=a[1]),o&&(e.usage.bbox=o.slice(1))}return e}},dDe=zOt});function ZKi(i){return i.find(t=>Array.isArray(t)&&t[0]==="USAGE")?"2019":(i.find(t=>Array.isArray(t)&&t[0]==="CS")||i[0]==="BOUNDCRS"||i[0]==="PROJCRS"||i[0]==="GEOGCRS","2015")}function fDe(i){return(ZKi(i)==="2019"?dDe:gDe).convert(i)}var mDe=Pt(()=>{pDe();_De()});function IDe(i){let t=i.toUpperCase();return t.includes("PROJCRS")||t.includes("GEOGCRS")||t.includes("BOUNDCRS")||t.includes("VERTCRS")||t.includes("LENGTHUNIT")||t.includes("ANGLEUNIT")||t.includes("SCALEUNIT")?"WKT2":(t.includes("PROJCS")||t.includes("GEOGCS")||t.includes("LOCAL_CS")||t.includes("VERT_CS")||t.includes("UNIT"),"WKT1")}var yDe=Pt(()=>{});function Lb(i){if(typeof i!="string")throw new Error("not a string");this.text=i.trim(),this.level=0,this.place=0,this.root=null,this.stack=[],this.currentObject=null,this.state=Lrt}function eVi(i){var t=new Lb(i);return t.output()}var CDe,Lrt,EDe,BDe,b6t,xDe,YOt,XKi,$Ki,tVi,v6t,QDe,bDe=Pt(()=>{CDe=eVi,Lrt=1,EDe=2,BDe=3,b6t=4,xDe=5,YOt=-1,XKi=/\s/,$Ki=/[A-Za-z]/,tVi=/[A-Za-z84_]/,v6t=/[,\]]/,QDe=/[\d\.E\-\+]/;Lb.prototype.readCharicter=function(){var i=this.text[this.place++];if(this.state!==b6t)for(;XKi.test(i);){if(this.place>=this.text.length)return;i=this.text[this.place++]}switch(this.state){case Lrt:return this.neutral(i);case EDe:return this.keyword(i);case b6t:return this.quoted(i);case xDe:return this.afterquote(i);case BDe:return this.number(i);case YOt:return}};Lb.prototype.afterquote=function(i){if(i==='"'){this.word+='"',this.state=b6t;return}if(v6t.test(i)){this.word=this.word.trim(),this.afterItem(i);return}throw new Error(`havn't handled "`+i+'" in afterquote yet, index '+this.place)};Lb.prototype.afterItem=function(i){if(i===","){this.word!==null&&this.currentObject.push(this.word),this.word=null,this.state=Lrt;return}if(i==="]"){this.level--,this.word!==null&&(this.currentObject.push(this.word),this.word=null),this.state=Lrt,this.currentObject=this.stack.pop(),this.currentObject||(this.state=YOt);return}};Lb.prototype.number=function(i){if(QDe.test(i)){this.word+=i;return}if(v6t.test(i)){this.word=parseFloat(this.word),this.afterItem(i);return}throw new Error(`havn't handled "`+i+'" in number yet, index '+this.place)};Lb.prototype.quoted=function(i){if(i==='"'){this.state=xDe;return}this.word+=i};Lb.prototype.keyword=function(i){if(tVi.test(i)){this.word+=i;return}if(i==="["){var t=[];t.push(this.word),this.level++,this.root===null?this.root=t:this.currentObject.push(t),this.stack.push(this.currentObject),this.currentObject=t,this.state=Lrt;return}if(v6t.test(i)){this.afterItem(i);return}throw new Error(`havn't handled "`+i+'" in keyword yet, index '+this.place)};Lb.prototype.neutral=function(i){if($Ki.test(i)){this.word=i,this.state=EDe;return}if(i==='"'){this.word="",this.state=b6t;return}if(QDe.test(i)){this.word=i,this.state=BDe;return}if(v6t.test(i)){this.afterItem(i);return}throw new Error(`havn't handled "`+i+'" in neutral yet, index '+this.place)};Lb.prototype.output=function(){for(;this.place<this.text.length;)this.readCharicter();if(this.state===YOt)return this.root;throw new Error('unable to parse string "'+this.text+'". State is '+this.state)}});function qOt(i,t,e){Array.isArray(t)&&(e.unshift(t),t=null);var r=t?{}:i,n=e.reduce(function(s,a){return YG(a,s),s},r);t&&(i[t]=n)}function YG(i,t){if(!Array.isArray(i)){t[i]=!0;return}var e=i.shift();if(e==="PARAMETER"&&(e=i.shift()),i.length===1){if(Array.isArray(i[0])){t[e]={},YG(i[0],t[e]);return}t[e]=i[0];return}if(!i.length){t[e]=!0;return}if(e==="TOWGS84"){t[e]=i;return}if(e==="AXIS"){e in t||(t[e]=[]),t[e].push(i);return}Array.isArray(e)||(t[e]={});var r;switch(e){case"UNIT":case"PRIMEM":case"VERT_DATUM":t[e]={name:i[0].toLowerCase(),convert:i[1]},i.length===3&&YG(i[2],t[e]);return;case"SPHEROID":case"ELLIPSOID":t[e]={name:i[0],a:i[1],rf:i[2]},i.length===4&&YG(i[3],t[e]);return;case"EDATUM":case"ENGINEERINGDATUM":case"LOCAL_DATUM":case"DATUM":case"VERT_CS":case"VERTCRS":case"VERTICALCRS":i[0]=["name",i[0]],qOt(t,e,i);return;case"COMPD_CS":case"COMPOUNDCRS":case"FITTED_CS":case"PROJECTEDCRS":case"PROJCRS":case"GEOGCS":case"GEOCCS":case"PROJCS":case"LOCAL_CS":case"GEODCRS":case"GEODETICCRS":case"GEODETICDATUM":case"ENGCRS":case"ENGINEERINGCRS":i[0]=["name",i[0]],qOt(t,e,i),t[e].type=e;return;default:for(r=-1;++r<i.length;)if(!Array.isArray(i[r]))return YG(i,t[e]);return qOt(t,e,i)}}var vDe=Pt(()=>{});function pC(i){return i*iVi}function w6t(i){let t=(i.projName||"").toLowerCase().replace(/_/g," ");!i.long0&&i.longc&&(t==="albers conic equal area"||t==="lambert azimuthal equal area")&&(i.long0=i.longc),!i.lat_ts&&i.lat1&&(t==="stereographic south pole"||t==="polar stereographic (variant b)")?(i.lat0=pC(i.lat1>0?90:-90),i.lat_ts=i.lat1,delete i.lat1):!i.lat_ts&&i.lat0&&(t==="polar stereographic"||t==="polar stereographic (variant a)")&&(i.lat_ts=i.lat0,i.lat0=pC(i.lat0>0?90:-90),delete i.lat1)}var iVi,JOt=Pt(()=>{iVi=.017453292519943295});function wDe(i){let t={units:null,to_meter:void 0};return typeof i=="string"?(t.units=i.toLowerCase(),t.units==="metre"&&(t.units="meter"),t.units==="meter"&&(t.to_meter=1)):i&&i.name&&(t.units=i.name.toLowerCase(),t.units==="metre"&&(t.units="meter"),t.to_meter=i.conversion_factor),t}function SDe(i){return typeof i=="object"?i.value*i.unit.conversion_factor:i}function kDe(i,t){i.ellipsoid.radius?(t.a=i.ellipsoid.radius,t.rf=0):(t.a=SDe(i.ellipsoid.semi_major_axis),i.ellipsoid.inverse_flattening!==void 0?t.rf=i.ellipsoid.inverse_flattening:i.ellipsoid.semi_major_axis!==void 0&&i.ellipsoid.semi_minor_axis!==void 0&&(t.rf=t.a/(t.a-SDe(i.ellipsoid.semi_minor_axis))))}function Grt(i,t={}){return!i||typeof i!="object"?i:i.type==="BoundCRS"?(Grt(i.source_crs,t),i.transformation&&(i.transformation.method&&i.transformation.method.name==="NTv2"?t.nadgrids=i.transformation.parameters[0].value:t.datum_params=i.transformation.parameters.map(e=>e.value)),t):(Object.keys(i).forEach(e=>{let r=i[e];if(r!==null)switch(e){case"name":if(t.srsCode)break;t.name=r,t.srsCode=r;break;case"type":r==="GeographicCRS"?t.projName="longlat":r==="ProjectedCRS"&&i.conversion&&i.conversion.method&&(t.projName=i.conversion.method.name);break;case"datum":case"datum_ensemble":r.ellipsoid&&(t.ellps=r.ellipsoid.name,kDe(r,t)),r.prime_meridian&&(t.from_greenwich=r.prime_meridian.longitude*Math.PI/180);break;case"ellipsoid":t.ellps=r.name,kDe(r,t);break;case"prime_meridian":t.long0=(r.longitude||0)*Math.PI/180;break;case"coordinate_system":if(r.axis){if(t.axis=r.axis.map(n=>{let s=n.direction;if(s==="east")return"e";if(s==="north")return"n";if(s==="west")return"w";if(s==="south")return"s";throw new Error(`Unknown axis direction: ${s}`)}).join("")+"u",r.unit){let{units:n,to_meter:s}=wDe(r.unit);t.units=n,t.to_meter=s}else if(r.axis[0]&&r.axis[0].unit){let{units:n,to_meter:s}=wDe(r.axis[0].unit);t.units=n,t.to_meter=s}}break;case"id":r.authority&&r.code&&(t.title=r.authority+":"+r.code);break;case"conversion":r.method&&r.method.name&&(t.projName=r.method.name),r.parameters&&r.parameters.forEach(n=>{let s=n.name.toLowerCase().replace(/\s+/g,"_"),a=n.value;n.unit&&n.unit.conversion_factor?t[s]=a*n.unit.conversion_factor:n.unit==="degree"?t[s]=a*Math.PI/180:t[s]=a});break;case"unit":r.name&&(t.units=r.name.toLowerCase(),t.units==="metre"&&(t.units="meter")),r.conversion_factor&&(t.to_meter=r.conversion_factor);break;case"base_crs":Grt(r,t),t.datumCode=r.id?r.id.authority+"_"+r.id.code:r.name;break;default:break}}),t.latitude_of_false_origin!==void 0&&(t.lat0=t.latitude_of_false_origin),t.longitude_of_false_origin!==void 0&&(t.long0=t.longitude_of_false_origin),t.latitude_of_standard_parallel!==void 0&&(t.lat0=t.latitude_of_standard_parallel,t.lat1=t.latitude_of_standard_parallel),t.latitude_of_1st_standard_parallel!==void 0&&(t.lat1=t.latitude_of_1st_standard_parallel),t.latitude_of_2nd_standard_parallel!==void 0&&(t.lat2=t.latitude_of_2nd_standard_parallel),t.latitude_of_projection_centre!==void 0&&(t.lat0=t.latitude_of_projection_centre),t.longitude_of_projection_centre!==void 0&&(t.longc=t.longitude_of_projection_centre),t.easting_at_false_origin!==void 0&&(t.x0=t.easting_at_false_origin),t.northing_at_false_origin!==void 0&&(t.y0=t.northing_at_false_origin),t.latitude_of_natural_origin!==void 0&&(t.lat0=t.latitude_of_natural_origin),t.longitude_of_natural_origin!==void 0&&(t.long0=t.longitude_of_natural_origin),t.longitude_of_origin!==void 0&&(t.long0=t.longitude_of_origin),t.false_easting!==void 0&&(t.x0=t.false_easting),t.easting_at_projection_centre&&(t.x0=t.easting_at_projection_centre),t.false_northing!==void 0&&(t.y0=t.false_northing),t.northing_at_projection_centre&&(t.y0=t.northing_at_projection_centre),t.standard_parallel_1!==void 0&&(t.lat1=t.standard_parallel_1),t.standard_parallel_2!==void 0&&(t.lat2=t.standard_parallel_2),t.scale_factor_at_natural_origin!==void 0&&(t.k0=t.scale_factor_at_natural_origin),t.scale_factor_at_projection_centre!==void 0&&(t.k0=t.scale_factor_at_projection_centre),t.scale_factor_on_pseudo_standard_parallel!==void 0&&(t.k0=t.scale_factor_on_pseudo_standard_parallel),t.azimuth!==void 0&&(t.alpha=t.azimuth),t.azimuth_at_projection_centre!==void 0&&(t.alpha=t.azimuth_at_projection_centre),t.angle_from_rectified_to_skew_grid&&(t.rectified_grid_angle=t.angle_from_rectified_to_skew_grid),w6t(t),t)}var MDe=Pt(()=>{JOt()});function nVi(i,t){var e=t[0],r=t[1];!(e in i)&&r in i&&(i[e]=i[r],t.length===3&&(i[e]=t[2](i[e])))}function DDe(i){for(var t=Object.keys(i),e=0,r=t.length;e<r;++e){var n=t[e];rVi.indexOf(n)!==-1&&sVi(i[n]),typeof i[n]=="object"&&DDe(i[n])}}function sVi(i){if(i.AUTHORITY){var t=Object.keys(i.AUTHORITY)[0];t&&t in i.AUTHORITY&&(i.title=t+":"+i.AUTHORITY[t])}if(i.type==="GEOGCS"?i.projName="longlat":i.type==="LOCAL_CS"?(i.projName="identity",i.local=!0):typeof i.PROJECTION=="object"?i.projName=Object.keys(i.PROJECTION)[0]:i.projName=i.PROJECTION,i.AXIS){for(var e="",r=0,n=i.AXIS.length;r<n;++r){var s=[i.AXIS[r][0].toLowerCase(),i.AXIS[r][1].toLowerCase()];s[0].indexOf("north")!==-1||(s[0]==="y"||s[0]==="lat")&&s[1]==="north"?e+="n":s[0].indexOf("south")!==-1||(s[0]==="y"||s[0]==="lat")&&s[1]==="south"?e+="s":s[0].indexOf("east")!==-1||(s[0]==="x"||s[0]==="lon")&&s[1]==="east"?e+="e":(s[0].indexOf("west")!==-1||(s[0]==="x"||s[0]==="lon")&&s[1]==="west")&&(e+="w")}e.length===2&&(e+="u"),e.length===3&&(i.axis=e)}i.UNIT&&(i.units=i.UNIT.name.toLowerCase(),i.units==="metre"&&(i.units="meter"),i.UNIT.convert&&(i.type==="GEOGCS"?i.DATUM&&i.DATUM.SPHEROID&&(i.to_meter=i.UNIT.convert*i.DATUM.SPHEROID.a):i.to_meter=i.UNIT.convert));var a=i.GEOGCS;i.type==="GEOGCS"&&(a=i),a&&(a.DATUM?i.datumCode=a.DATUM.name.toLowerCase():i.datumCode=a.name.toLowerCase(),i.datumCode.slice(0,2)==="d_"&&(i.datumCode=i.datumCode.slice(2)),i.datumCode==="new_zealand_1949"&&(i.datumCode="nzgd49"),(i.datumCode==="wgs_1984"||i.datumCode==="world_geodetic_system_1984")&&(i.PROJECTION==="Mercator_Auxiliary_Sphere"&&(i.sphere=!0),i.datumCode="wgs84"),i.datumCode==="belge_1972"&&(i.datumCode="rnb72"),a.DATUM&&a.DATUM.SPHEROID&&(i.ellps=a.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),i.ellps.toLowerCase().slice(0,13)==="international"&&(i.ellps="intl"),i.a=a.DATUM.SPHEROID.a,i.rf=parseFloat(a.DATUM.SPHEROID.rf,10)),a.DATUM&&a.DATUM.TOWGS84&&(i.datum_params=a.DATUM.TOWGS84),~i.datumCode.indexOf("osgb_1936")&&(i.datumCode="osgb36"),~i.datumCode.indexOf("osni_1952")&&(i.datumCode="osni52"),(~i.datumCode.indexOf("tm65")||~i.datumCode.indexOf("geodetic_datum_of_1965"))&&(i.datumCode="ire65"),i.datumCode==="ch1903+"&&(i.datumCode="ch1903"),~i.datumCode.indexOf("israel")&&(i.datumCode="isr93")),i.b&&!isFinite(i.b)&&(i.b=i.a),i.rectified_grid_angle&&(i.rectified_grid_angle=pC(i.rectified_grid_angle));function o(c){var p=i.to_meter||1;return c*p}var A=function(c){return nVi(i,c)},l=[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_1","Latitude of 1st standard parallel"],["standard_parallel_2","Standard_Parallel_2"],["standard_parallel_2","Latitude of 2nd standard parallel"],["false_easting","False_Easting"],["false_easting","False easting"],["false-easting","Easting at false origin"],["false_northing","False_Northing"],["false_northing","False northing"],["false_northing","Northing at false origin"],["central_meridian","Central_Meridian"],["central_meridian","Longitude of natural origin"],["central_meridian","Longitude of false origin"],["latitude_of_origin","Latitude_Of_Origin"],["latitude_of_origin","Central_Parallel"],["latitude_of_origin","Latitude of natural origin"],["latitude_of_origin","Latitude of false origin"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_Of_Center"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",pC],["longitude_of_center","Longitude_Of_Center"],["longitude_of_center","Longitude_of_center"],["longc","longitude_of_center",pC],["x0","false_easting",o],["y0","false_northing",o],["long0","central_meridian",pC],["lat0","latitude_of_origin",pC],["lat0","standard_parallel_1",pC],["lat1","standard_parallel_1",pC],["lat2","standard_parallel_2",pC],["azimuth","Azimuth"],["alpha","azimuth",pC],["srsCode","name"]];l.forEach(A),w6t(i)}function fz(i){if(typeof i=="object")return Grt(i);let t=IDe(i);var e=CDe(i);if(t==="WKT2"){let s=fDe(e);return Grt(s)}var r=e[0],n={};return YG(e,n),DDe(n),n[r]}var rVi,KOt=Pt(()=>{mDe();yDe();bDe();vDe();MDe();JOt();rVi=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"]});function eI(i){var t=this;if(arguments.length===2){var e=arguments[1];typeof e=="string"?e.charAt(0)==="+"?eI[i]=Nrt(arguments[1]):eI[i]=fz(arguments[1]):e&&typeof e=="object"&&!("projName"in e)?eI[i]=fz(arguments[1]):(eI[i]=e,e||delete eI[i])}else if(arguments.length===1){if(Array.isArray(i))return i.map(function(r){return Array.isArray(r)?eI.apply(t,r):eI(r)});if(typeof i=="string"){if(i in eI)return eI[i]}else"EPSG"in i?eI["EPSG:"+i.EPSG]=i:"ESRI"in i?eI["ESRI:"+i.ESRI]=i:"IAU2000"in i?eI["IAU2000:"+i.IAU2000]=i:console.log(i);return}}var mz,VOt=Pt(()=>{iDe();POt();KOt();eDe(eI);mz=eI});function aVi(i){return typeof i=="string"}function oVi(i){return i in mz}function AVi(i){return i.indexOf("+")!==0&&i.indexOf("[")!==-1||typeof i=="object"&&!("srsCode"in i)}function lVi(i){if(i.title)return i.title.toLowerCase().indexOf("epsg:")===0&&RDe.indexOf(i.title.substr(5))>-1;var t=ky(i,"authority");if(t){var e=ky(t,"epsg");return e&&RDe.indexOf(e)>-1}}function cVi(i){var t=ky(i,"extension");if(t)return ky(t,"proj4")}function hVi(i){return i[0]==="+"}function uVi(i){if(aVi(i)){if(oVi(i))return mz[i];if(AVi(i)){var t=fz(i);if(lVi(t))return mz["EPSG:3857"];var e=cVi(t);return e?Nrt(e):t}if(hVi(i))return Nrt(i)}else return"projName"in i?i:fz(i)}var RDe,NDe,LDe=Pt(()=>{VOt();KOt();POt();Rrt();RDe=["3857","900913","3785","102113"];NDe=uVi});function WOt(i,t){i=i||{};var e,r;if(!t)return i;for(r in t)e=t[r],e!==void 0&&(i[r]=e);return i}var GDe=Pt(()=>{});function a6(i,t,e){var r=i*t;return e/Math.sqrt(1-r*r)}var qG=Pt(()=>{});function xx(i){return i<0?-1:1}var Iz=Pt(()=>{});function zs(i,t){return t||Math.abs(i)<=Sp?i:i-xx(i)*uM}var Cu=Pt(()=>{dc();Iz()});function yf(i,t,e){var r=i*e,n=.5*i;return r=Math.pow((1-r)/(1+r),n),Math.tan(.5*(ys-t))/r}var Frt=Pt(()=>{dc()});function Gb(i,t){for(var e=.5*i,r,n,s=ys-2*Math.atan(t),a=0;a<=15;a++)if(r=i*Math.sin(s),n=ys-2*Math.atan(t*Math.pow((1-r)/(1+r),e))-s,s+=n,Math.abs(n)<=1e-10)return s;return-9999}var Trt=Pt(()=>{dc()});function gVi(){var i=this.b/this.a;this.es=1-i*i,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=a6(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)}function pVi(i){var t=i.x,e=i.y;if(e*f1>90&&e*f1<-90&&t*f1>180&&t*f1<-180)return null;var r,n;if(Math.abs(Math.abs(e)-ys)<=js)return null;if(this.sphere)r=this.x0+this.a*this.k0*zs(t-this.long0,this.over),n=this.y0+this.a*this.k0*Math.log(Math.tan(Dc+.5*e));else{var s=Math.sin(e),a=yf(this.e,e,s);r=this.x0+this.a*this.k0*zs(t-this.long0,this.over),n=this.y0-this.a*this.k0*Math.log(a)}return i.x=r,i.y=n,i}function dVi(i){var t=i.x-this.x0,e=i.y-this.y0,r,n;if(this.sphere)n=ys-2*Math.atan(Math.exp(-e/(this.a*this.k0)));else{var s=Math.exp(-e/(this.a*this.k0));if(n=Gb(this.e,s),n===-9999)return null}return r=zs(this.long0+t/(this.a*this.k0),this.over),i.x=r,i.y=n,i}var _Vi,FDe,TDe=Pt(()=>{qG();Cu();Frt();Trt();dc();_Vi=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","Mercator_Variant_A","merc"],FDe={init:gVi,forward:pVi,inverse:dVi,names:_Vi}});function fVi(){}function UDe(i){return i}var ZOt,PDe,XOt=Pt(()=>{ZOt=["longlat","identity"],PDe={init:fVi,forward:UDe,inverse:UDe,names:ZOt}});function ODe(i,t){var e=yz.length;return i.names?(yz[e]=i,i.names.forEach(function(r){JG[r.toLowerCase()]=e}),this):(console.log(t),!0)}function $Ot(i){return i.replace(/[-\(\)\s]+/g," ").trim().replace(/ /g,"_")}function IVi(i){if(!i)return!1;var t=i.toLowerCase();if(typeof JG[t]<"u"&&yz[JG[t]]||(t=$Ot(t),t in JG&&yz[JG[t]]))return yz[JG[t]]}function yVi(){mVi.forEach(ODe)}var mVi,JG,yz,jDe,tjt=Pt(()=>{TDe();XOt();mVi=[FDe,PDe],JG={},yz=[];jDe={start:yVi,add:ODe,get:IVi}});var CVi,ejt,HDe=Pt(()=>{CVi={MERIT:{a:6378137,rf:298.257,ellipseName:"MERIT 1983"},SGS85:{a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},GRS80:{a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},IAU76:{a:6378140,rf:298.257,ellipseName:"IAU 1976"},airy:{a:6377563396e-3,b:635625691e-2,ellipseName:"Airy 1830"},APL4:{a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},NWL9D:{a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},mod_airy:{a:6377340189e-3,b:6356034446e-3,ellipseName:"Modified Airy"},andrae:{a:637710443e-2,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},aust_SA:{a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},GRS67:{a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},bessel:{a:6377397155e-3,rf:299.1528128,ellipseName:"Bessel 1841"},bess_nam:{a:6377483865e-3,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},clrk66:{a:63782064e-1,b:63565838e-1,ellipseName:"Clarke 1866"},clrk80:{a:6378249145e-3,rf:293.4663,ellipseName:"Clarke 1880 mod."},clrk80ign:{a:63782492e-1,b:6356515,rf:293.4660213,ellipseName:"Clarke 1880 (IGN)"},clrk58:{a:6378293645208759e-9,rf:294.2606763692654,ellipseName:"Clarke 1858"},CPM:{a:63757387e-1,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},delmbr:{a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},engelis:{a:637813605e-2,rf:298.2566,ellipseName:"Engelis 1985"},evrst30:{a:6377276345e-3,rf:300.8017,ellipseName:"Everest 1830"},evrst48:{a:6377304063e-3,rf:300.8017,ellipseName:"Everest 1948"},evrst56:{a:6377301243e-3,rf:300.8017,ellipseName:"Everest 1956"},evrst69:{a:6377295664e-3,rf:300.8017,ellipseName:"Everest 1969"},evrstSS:{a:6377298556e-3,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},fschr60:{a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},fschr60m:{a:6378155,rf:298.3,ellipseName:"Fischer 1960"},fschr68:{a:6378150,rf:298.3,ellipseName:"Fischer 1968"},helmert:{a:6378200,rf:298.3,ellipseName:"Helmert 1906"},hough:{a:6378270,rf:297,ellipseName:"Hough"},intl:{a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},kaula:{a:6378163,rf:298.24,ellipseName:"Kaula 1961"},lerch:{a:6378139,rf:298.257,ellipseName:"Lerch 1979"},mprts:{a:6397300,rf:191,ellipseName:"Maupertius 1738"},new_intl:{a:63781575e-1,b:63567722e-1,ellipseName:"New International 1967"},plessis:{a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},krass:{a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},SEasia:{a:6378155,b:63567733205e-4,ellipseName:"Southeast Asia"},walbeck:{a:6376896,b:63558348467e-4,ellipseName:"Walbeck"},WGS60:{a:6378165,rf:298.3,ellipseName:"WGS 60"},WGS66:{a:6378145,rf:298.25,ellipseName:"WGS 66"},WGS7:{a:6378135,rf:298.26,ellipseName:"WGS 72"},WGS84:{a:6378137,rf:298.257223563,ellipseName:"WGS 84"},sphere:{a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"}},ejt=CVi});function zDe(i,t,e,r){var n=i*i,s=t*t,a=(n-s)/n,o=0;r?(i*=1-a*(sDe+a*(aDe+a*oDe)),n=i*i,a=0):o=Math.sqrt(a);var A=(n-s)/s;return{es:a,e:o,ep2:A}}function YDe(i,t,e,r,n){if(!i){var s=ky(ejt,r);s||(s=EVi),i=s.a,t=s.b,e=s.rf}return e&&!t&&(t=(1-1/e)*i),(e===0||Math.abs(i-t)<js)&&(n=!0,t=i),{a:i,b:t,rf:e,sphere:n}}var EVi,qDe=Pt(()=>{dc();HDe();Rrt();EVi=ejt.WGS84});var k6t,S6t,JDe,KDe,VDe=Pt(()=>{k6t={wgs84:{towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},ch1903:{towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},ggrs87:{towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},nad83:{towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},nad27:{nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},potsdam:{towgs84:"598.1,73.7,418.2,0.202,0.045,-2.455,6.7",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},carthage:{towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},hermannskogel:{towgs84:"577.326,90.129,463.919,5.137,1.474,5.297,2.4232",ellipse:"bessel",datumName:"Hermannskogel"},mgi:{towgs84:"577.326,90.129,463.919,5.137,1.474,5.297,2.4232",ellipse:"bessel",datumName:"Militar-Geographische Institut"},osni52:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"},ire65:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},rassadiran:{towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},nzgd49:{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},osgb36:{towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Ordnance Survey of Great Britain 1936"},s_jtsk:{towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},beduaram:{towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},gunung_segara:{towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},rnb72:{towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"},EPSG_5451:{towgs84:"6.41,-49.05,-11.28,1.5657,0.5242,6.9718,-5.7649"},IGNF_LURESG:{towgs84:"-192.986,13.673,-39.309,-0.4099,-2.9332,2.6881,0.43"},EPSG_4614:{towgs84:"-119.4248,-303.65872,-11.00061,1.164298,0.174458,1.096259,3.657065"},EPSG_4615:{towgs84:"-494.088,-312.129,279.877,-1.423,-1.013,1.59,-0.748"},ESRI_37241:{towgs84:"-76.822,257.457,-12.817,2.136,-0.033,-2.392,-0.031"},ESRI_37249:{towgs84:"-440.296,58.548,296.265,1.128,10.202,4.559,-0.438"},ESRI_37245:{towgs84:"-511.151,-181.269,139.609,1.05,2.703,1.798,3.071"},EPSG_4178:{towgs84:"24.9,-126.4,-93.2,-0.063,-0.247,-0.041,1.01"},EPSG_4622:{towgs84:"-472.29,-5.63,-304.12,0.4362,-0.8374,0.2563,1.8984"},EPSG_4625:{towgs84:"126.93,547.94,130.41,-2.7867,5.1612,-0.8584,13.8227"},EPSG_5252:{towgs84:"0.023,0.036,-0.068,0.00176,0.00912,-0.01136,0.00439"},EPSG_4314:{towgs84:"597.1,71.4,412.1,0.894,0.068,-1.563,7.58"},EPSG_4282:{towgs84:"-178.3,-316.7,-131.5,5.278,6.077,10.979,19.166"},EPSG_4231:{towgs84:"-83.11,-97.38,-117.22,0.0276,-0.2167,0.2147,0.1218"},EPSG_4274:{towgs84:"-230.994,102.591,25.199,0.633,-0.239,0.9,1.95"},EPSG_4134:{towgs84:"-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.71006"},EPSG_4254:{towgs84:"18.38,192.45,96.82,0.056,-0.142,-0.2,-0.0013"},EPSG_4159:{towgs84:"-194.513,-63.978,-25.759,-3.4027,3.756,-3.352,-0.9175"},EPSG_4687:{towgs84:"0.072,-0.507,-0.245,0.0183,-0.0003,0.007,-0.0093"},EPSG_4227:{towgs84:"-83.58,-397.54,458.78,-17.595,-2.847,4.256,3.225"},EPSG_4746:{towgs84:"599.4,72.4,419.2,-0.062,-0.022,-2.723,6.46"},EPSG_4745:{towgs84:"612.4,77,440.2,-0.054,0.057,-2.797,2.55"},EPSG_6311:{towgs84:"8.846,-4.394,-1.122,-0.00237,-0.146528,0.130428,0.783926"},EPSG_4289:{towgs84:"565.7381,50.4018,465.2904,-1.91514,1.60363,-9.09546,4.07244"},EPSG_4230:{towgs84:"-68.863,-134.888,-111.49,-0.53,-0.14,0.57,-3.4"},EPSG_4154:{towgs84:"-123.02,-158.95,-168.47"},EPSG_4156:{towgs84:"570.8,85.7,462.8,4.998,1.587,5.261,3.56"},EPSG_4299:{towgs84:"482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15"},EPSG_4179:{towgs84:"33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84"},EPSG_4313:{towgs84:"-106.8686,52.2978,-103.7239,0.3366,-0.457,1.8422,-1.2747"},EPSG_4194:{towgs84:"163.511,127.533,-159.789"},EPSG_4195:{towgs84:"105,326,-102.5"},EPSG_4196:{towgs84:"-45,417,-3.5"},EPSG_4611:{towgs84:"-162.619,-276.959,-161.764,0.067753,-2.243649,-1.158827,-1.094246"},EPSG_4633:{towgs84:"137.092,131.66,91.475,-1.9436,-11.5993,-4.3321,-7.4824"},EPSG_4641:{towgs84:"-408.809,366.856,-412.987,1.8842,-0.5308,2.1655,-121.0993"},EPSG_4643:{towgs84:"-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7002"},EPSG_4300:{towgs84:"482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15"},EPSG_4188:{towgs84:"482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15"},EPSG_4660:{towgs84:"982.6087,552.753,-540.873,32.39344,-153.25684,-96.2266,16.805"},EPSG_4662:{towgs84:"97.295,-263.247,310.882,-1.5999,0.8386,3.1409,13.3259"},EPSG_3906:{towgs84:"577.88891,165.22205,391.18289,4.9145,-0.94729,-13.05098,7.78664"},EPSG_4307:{towgs84:"-209.3622,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547"},EPSG_6892:{towgs84:"-76.269,-16.683,68.562,-6.275,10.536,-4.286,-13.686"},EPSG_4690:{towgs84:"221.597,152.441,176.523,2.403,1.3893,0.884,11.4648"},EPSG_4691:{towgs84:"218.769,150.75,176.75,3.5231,2.0037,1.288,10.9817"},EPSG_4629:{towgs84:"72.51,345.411,79.241,-1.5862,-0.8826,-0.5495,1.3653"},EPSG_4630:{towgs84:"165.804,216.213,180.26,-0.6251,-0.4515,-0.0721,7.4111"},EPSG_4692:{towgs84:"217.109,86.452,23.711,0.0183,-0.0003,0.007,-0.0093"},EPSG_9333:{towgs84:"0,0,0,-8.393,0.749,-10.276,0"},EPSG_9059:{towgs84:"0,0,0"},EPSG_4312:{towgs84:"601.705,84.263,485.227,4.7354,1.3145,5.393,-2.3887"},EPSG_4123:{towgs84:"-96.062,-82.428,-121.753,4.801,0.345,-1.376,1.496"},EPSG_4309:{towgs84:"-124.45,183.74,44.64,-0.4384,0.5446,-0.9706,-2.1365"},ESRI_104106:{towgs84:"-283.088,-70.693,117.445,-1.157,0.059,-0.652,-4.058"},EPSG_4281:{towgs84:"-219.247,-73.802,269.529"},EPSG_4322:{towgs84:"0,0,4.5"},EPSG_4324:{towgs84:"0,0,1.9"},EPSG_4284:{towgs84:"43.822,-108.842,-119.585,1.455,-0.761,0.737,0.549"},EPSG_4277:{towgs84:"446.448,-125.157,542.06,0.15,0.247,0.842,-20.489"},EPSG_4207:{towgs84:"-282.1,-72.2,120,-1.529,0.145,-0.89,-4.46"},EPSG_4688:{towgs84:"347.175,1077.618,2623.677,33.9058,-70.6776,9.4013,186.0647"},EPSG_4689:{towgs84:"410.793,54.542,80.501,-2.5596,-2.3517,-0.6594,17.3218"},EPSG_4720:{towgs84:"0,0,4.5"},EPSG_4273:{towgs84:"278.3,93,474.5,7.889,0.05,-6.61,6.21"},EPSG_4240:{towgs84:"204.64,834.74,293.8"},EPSG_4817:{towgs84:"278.3,93,474.5,7.889,0.05,-6.61,6.21"},ESRI_104131:{towgs84:"426.62,142.62,460.09,4.98,4.49,-12.42,-17.1"},EPSG_4265:{towgs84:"-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68"},EPSG_4263:{towgs84:"-111.92,-87.85,114.5,1.875,0.202,0.219,0.032"},EPSG_4298:{towgs84:"-689.5937,623.84046,-65.93566,-0.02331,1.17094,-0.80054,5.88536"},EPSG_4270:{towgs84:"-253.4392,-148.452,386.5267,0.15605,0.43,-0.1013,-0.0424"},EPSG_4229:{towgs84:"-121.8,98.1,-10.7"},EPSG_4220:{towgs84:"-55.5,-348,-229.2"},EPSG_4214:{towgs84:"12.646,-155.176,-80.863"},EPSG_4232:{towgs84:"-345,3,223"},EPSG_4238:{towgs84:"-1.977,-13.06,-9.993,0.364,0.254,0.689,-1.037"},EPSG_4168:{towgs84:"-170,33,326"},EPSG_4131:{towgs84:"199,931,318.9"},EPSG_4152:{towgs84:"-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0"},EPSG_5228:{towgs84:"572.213,85.334,461.94,4.9732,1.529,5.2484,3.5378"},EPSG_8351:{towgs84:"485.021,169.465,483.839,7.786342,4.397554,4.102655,0"},EPSG_4683:{towgs84:"-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06"},EPSG_4133:{towgs84:"0,0,0"},EPSG_7373:{towgs84:"0.819,-0.5762,-1.6446,-0.00378,-0.03317,0.00318,0.0693"},EPSG_9075:{towgs84:"-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0"},EPSG_9072:{towgs84:"-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0"},EPSG_9294:{towgs84:"1.16835,-1.42001,-2.24431,-0.00822,-0.05508,0.01818,0.23388"},EPSG_4212:{towgs84:"-267.434,173.496,181.814,-13.4704,8.7154,7.3926,14.7492"},EPSG_4191:{towgs84:"-44.183,-0.58,-38.489,2.3867,2.7072,-3.5196,-8.2703"},EPSG_4237:{towgs84:"52.684,-71.194,-13.975,-0.312,-0.1063,-0.3729,1.0191"},EPSG_4740:{towgs84:"-1.08,-0.27,-0.9"},EPSG_4124:{towgs84:"419.3836,99.3335,591.3451,0.850389,1.817277,-7.862238,-0.99496"},EPSG_5681:{towgs84:"584.9636,107.7175,413.8067,1.1155,0.2824,-3.1384,7.9922"},EPSG_4141:{towgs84:"23.772,17.49,17.859,-0.3132,-1.85274,1.67299,-5.4262"},EPSG_4204:{towgs84:"-85.645,-273.077,-79.708,2.289,-1.421,2.532,3.194"},EPSG_4319:{towgs84:"226.702,-193.337,-35.371,-2.229,-4.391,9.238,0.9798"},EPSG_4200:{towgs84:"24.82,-131.21,-82.66"},EPSG_4130:{towgs84:"0,0,0"},EPSG_4127:{towgs84:"-82.875,-57.097,-156.768,-2.158,1.524,-0.982,-0.359"},EPSG_4149:{towgs84:"674.374,15.056,405.346"},EPSG_4617:{towgs84:"-0.991,1.9072,0.5129,1.25033e-7,4.6785e-8,5.6529e-8,0"},EPSG_4663:{towgs84:"-210.502,-66.902,-48.476,2.094,-15.067,-5.817,0.485"},EPSG_4664:{towgs84:"-211.939,137.626,58.3,-0.089,0.251,0.079,0.384"},EPSG_4665:{towgs84:"-105.854,165.589,-38.312,-0.003,-0.026,0.024,-0.048"},EPSG_4666:{towgs84:"631.392,-66.551,481.442,1.09,-4.445,-4.487,-4.43"},EPSG_4756:{towgs84:"-192.873,-39.382,-111.202,-0.00205,-0.0005,0.00335,0.0188"},EPSG_4723:{towgs84:"-179.483,-69.379,-27.584,-7.862,8.163,6.042,-13.925"},EPSG_4726:{towgs84:"8.853,-52.644,180.304,-0.393,-2.323,2.96,-24.081"},EPSG_4267:{towgs84:"-8.0,160.0,176.0"},EPSG_5365:{towgs84:"-0.16959,0.35312,0.51846,0.03385,-0.16325,0.03446,0.03693"},EPSG_4218:{towgs84:"304.5,306.5,-318.1"},EPSG_4242:{towgs84:"-33.722,153.789,94.959,-8.581,-4.478,4.54,8.95"},EPSG_4216:{towgs84:"-292.295,248.758,429.447,4.9971,2.99,6.6906,1.0289"},ESRI_104105:{towgs84:"631.392,-66.551,481.442,1.09,-4.445,-4.487,-4.43"},ESRI_104129:{towgs84:"0,0,0"},EPSG_4673:{towgs84:"174.05,-25.49,112.57"},EPSG_4202:{towgs84:"-124,-60,154"},EPSG_4203:{towgs84:"-117.763,-51.51,139.061,0.292,0.443,0.277,-0.191"},EPSG_3819:{towgs84:"595.48,121.69,515.35,4.115,-2.9383,0.853,-3.408"},EPSG_8694:{towgs84:"-93.799,-132.737,-219.073,-1.844,0.648,-6.37,-0.169"},EPSG_4145:{towgs84:"275.57,676.78,229.6"},EPSG_4283:{towgs84:"61.55,-10.87,-40.19,39.4924,32.7221,32.8979,-9.994"},EPSG_4317:{towgs84:"2.3287,-147.0425,-92.0802,-0.3092483,0.32482185,0.49729934,5.68906266"},EPSG_4272:{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993"},EPSG_4248:{towgs84:"-307.7,265.3,-363.5"},EPSG_5561:{towgs84:"24,-121,-76"},EPSG_5233:{towgs84:"-0.293,766.95,87.713,0.195704,1.695068,3.473016,-0.039338"},ESRI_104130:{towgs84:"-86,-98,-119"},ESRI_104102:{towgs84:"682,-203,480"},ESRI_37207:{towgs84:"7,-10,-26"},EPSG_4675:{towgs84:"59.935,118.4,-10.871"},ESRI_104109:{towgs84:"-89.121,-348.182,260.871"},ESRI_104112:{towgs84:"-185.583,-230.096,281.361"},ESRI_104113:{towgs84:"25.1,-275.6,222.6"},IGNF_WGS72G:{towgs84:"0,12,6"},IGNF_NTFG:{towgs84:"-168,-60,320"},IGNF_EFATE57G:{towgs84:"-127,-769,472"},IGNF_PGP50G:{towgs84:"324.8,153.6,172.1"},IGNF_REUN47G:{towgs84:"94,-948,-1262"},IGNF_CSG67G:{towgs84:"-186,230,110"},IGNF_GUAD48G:{towgs84:"-467,-16,-300"},IGNF_TAHI51G:{towgs84:"162,117,154"},IGNF_TAHAAG:{towgs84:"65,342,77"},IGNF_NUKU72G:{towgs84:"84,274,65"},IGNF_PETRELS72G:{towgs84:"365,194,166"},IGNF_WALL78G:{towgs84:"253,-133,-127"},IGNF_MAYO50G:{towgs84:"-382,-59,-262"},IGNF_TANNAG:{towgs84:"-139,-967,436"},IGNF_IGN72G:{towgs84:"-13,-348,292"},IGNF_ATIGG:{towgs84:"1118,23,66"},IGNF_FANGA84G:{towgs84:"150.57,158.33,118.32"},IGNF_RUSAT84G:{towgs84:"202.13,174.6,-15.74"},IGNF_KAUE70G:{towgs84:"126.74,300.1,-75.49"},IGNF_MOP90G:{towgs84:"-10.8,-1.8,12.77"},IGNF_MHPF67G:{towgs84:"338.08,212.58,-296.17"},IGNF_TAHI79G:{towgs84:"160.61,116.05,153.69"},IGNF_ANAA92G:{towgs84:"1.5,3.84,4.81"},IGNF_MARQUI72G:{towgs84:"330.91,-13.92,58.56"},IGNF_APAT86G:{towgs84:"143.6,197.82,74.05"},IGNF_TUBU69G:{towgs84:"237.17,171.61,-77.84"},IGNF_STPM50G:{towgs84:"11.363,424.148,373.13"},EPSG_4150:{towgs84:"674.374,15.056,405.346"},EPSG_4754:{towgs84:"-208.4058,-109.8777,-2.5764"},ESRI_104101:{towgs84:"374,150,588"},EPSG_4693:{towgs84:"0,-0.15,0.68"},EPSG_6207:{towgs84:"293.17,726.18,245.36"},EPSG_4153:{towgs84:"-133.63,-157.5,-158.62"},EPSG_4132:{towgs84:"-241.54,-163.64,396.06"},EPSG_4221:{towgs84:"-154.5,150.7,100.4"},EPSG_4266:{towgs84:"-80.7,-132.5,41.1"},EPSG_4193:{towgs84:"-70.9,-151.8,-41.4"},EPSG_5340:{towgs84:"-0.41,0.46,-0.35"},EPSG_4246:{towgs84:"-294.7,-200.1,525.5"},EPSG_4318:{towgs84:"-3.2,-5.7,2.8"},EPSG_4121:{towgs84:"-199.87,74.79,246.62"},EPSG_4223:{towgs84:"-260.1,5.5,432.2"},EPSG_4158:{towgs84:"-0.465,372.095,171.736"},EPSG_4285:{towgs84:"-128.16,-282.42,21.93"},EPSG_4613:{towgs84:"-404.78,685.68,45.47"},EPSG_4607:{towgs84:"195.671,332.517,274.607"},EPSG_4475:{towgs84:"-381.788,-57.501,-256.673"},EPSG_4208:{towgs84:"-157.84,308.54,-146.6"},EPSG_4743:{towgs84:"70.995,-335.916,262.898"},EPSG_4710:{towgs84:"-323.65,551.39,-491.22"},EPSG_7881:{towgs84:"-0.077,0.079,0.086"},EPSG_4682:{towgs84:"283.729,735.942,261.143"},EPSG_4739:{towgs84:"-156,-271,-189"},EPSG_4679:{towgs84:"-80.01,253.26,291.19"},EPSG_4750:{towgs84:"-56.263,16.136,-22.856"},EPSG_4644:{towgs84:"-10.18,-350.43,291.37"},EPSG_4695:{towgs84:"-103.746,-9.614,-255.95"},EPSG_4292:{towgs84:"-355,21,72"},EPSG_4302:{towgs84:"-61.702,284.488,472.052"},EPSG_4143:{towgs84:"-124.76,53,466.79"},EPSG_4606:{towgs84:"-153,153,307"},EPSG_4699:{towgs84:"-770.1,158.4,-498.2"},EPSG_4247:{towgs84:"-273.5,110.6,-357.9"},EPSG_4160:{towgs84:"8.88,184.86,106.69"},EPSG_4161:{towgs84:"-233.43,6.65,173.64"},EPSG_9251:{towgs84:"-9.5,122.9,138.2"},EPSG_9253:{towgs84:"-78.1,101.6,133.3"},EPSG_4297:{towgs84:"-198.383,-240.517,-107.909"},EPSG_4269:{towgs84:"0,0,0"},EPSG_4301:{towgs84:"-147,506,687"},EPSG_4618:{towgs84:"-59,-11,-52"},EPSG_4612:{towgs84:"0,0,0"},EPSG_4678:{towgs84:"44.585,-131.212,-39.544"},EPSG_4250:{towgs84:"-130,29,364"},EPSG_4144:{towgs84:"214,804,268"},EPSG_4147:{towgs84:"-17.51,-108.32,-62.39"},EPSG_4259:{towgs84:"-254.1,-5.36,-100.29"},EPSG_4164:{towgs84:"-76,-138,67"},EPSG_4211:{towgs84:"-378.873,676.002,-46.255"},EPSG_4182:{towgs84:"-422.651,-172.995,84.02"},EPSG_4224:{towgs84:"-143.87,243.37,-33.52"},EPSG_4225:{towgs84:"-205.57,168.77,-4.12"},EPSG_5527:{towgs84:"-67.35,3.88,-38.22"},EPSG_4752:{towgs84:"98,390,-22"},EPSG_4310:{towgs84:"-30,190,89"},EPSG_9248:{towgs84:"-192.26,65.72,132.08"},EPSG_4680:{towgs84:"124.5,-63.5,-281"},EPSG_4701:{towgs84:"-79.9,-158,-168.9"},EPSG_4706:{towgs84:"-146.21,112.63,4.05"},EPSG_4805:{towgs84:"682,-203,480"},EPSG_4201:{towgs84:"-165,-11,206"},EPSG_4210:{towgs84:"-157,-2,-299"},EPSG_4183:{towgs84:"-104,167,-38"},EPSG_4139:{towgs84:"11,72,-101"},EPSG_4668:{towgs84:"-86,-98,-119"},EPSG_4717:{towgs84:"-2,151,181"},EPSG_4732:{towgs84:"102,52,-38"},EPSG_4280:{towgs84:"-377,681,-50"},EPSG_4209:{towgs84:"-138,-105,-289"},EPSG_4261:{towgs84:"31,146,47"},EPSG_4658:{towgs84:"-73,46,-86"},EPSG_4721:{towgs84:"265.025,384.929,-194.046"},EPSG_4222:{towgs84:"-136,-108,-292"},EPSG_4601:{towgs84:"-255,-15,71"},EPSG_4602:{towgs84:"725,685,536"},EPSG_4603:{towgs84:"72,213.7,93"},EPSG_4605:{towgs84:"9,183,236"},EPSG_4621:{towgs84:"137,248,-430"},EPSG_4657:{towgs84:"-28,199,5"},EPSG_4316:{towgs84:"103.25,-100.4,-307.19"},EPSG_4642:{towgs84:"-13,-348,292"},EPSG_4698:{towgs84:"145,-187,103"},EPSG_4192:{towgs84:"-206.1,-174.7,-87.7"},EPSG_4311:{towgs84:"-265,120,-358"},EPSG_4135:{towgs84:"58,-283,-182"},ESRI_104138:{towgs84:"198,-226,-347"},EPSG_4245:{towgs84:"-11,851,5"},EPSG_4142:{towgs84:"-125,53,467"},EPSG_4213:{towgs84:"-106,-87,188"},EPSG_4253:{towgs84:"-133,-77,-51"},EPSG_4129:{towgs84:"-132,-110,-335"},EPSG_4713:{towgs84:"-77,-128,142"},EPSG_4239:{towgs84:"217,823,299"},EPSG_4146:{towgs84:"295,736,257"},EPSG_4155:{towgs84:"-83,37,124"},EPSG_4165:{towgs84:"-173,253,27"},EPSG_4672:{towgs84:"175,-38,113"},EPSG_4236:{towgs84:"-637,-549,-203"},EPSG_4251:{towgs84:"-90,40,88"},EPSG_4271:{towgs84:"-2,374,172"},EPSG_4175:{towgs84:"-88,4,101"},EPSG_4716:{towgs84:"298,-304,-375"},EPSG_4315:{towgs84:"-23,259,-9"},EPSG_4744:{towgs84:"-242.2,-144.9,370.3"},EPSG_4244:{towgs84:"-97,787,86"},EPSG_4293:{towgs84:"616,97,-251"},EPSG_4714:{towgs84:"-127,-769,472"},EPSG_4736:{towgs84:"260,12,-147"},EPSG_6883:{towgs84:"-235,-110,393"},EPSG_6894:{towgs84:"-63,176,185"},EPSG_4205:{towgs84:"-43,-163,45"},EPSG_4256:{towgs84:"41,-220,-134"},EPSG_4262:{towgs84:"639,405,60"},EPSG_4604:{towgs84:"174,359,365"},EPSG_4169:{towgs84:"-115,118,426"},EPSG_4620:{towgs84:"-106,-129,165"},EPSG_4184:{towgs84:"-203,141,53"},EPSG_4616:{towgs84:"-289,-124,60"},EPSG_9403:{towgs84:"-307,-92,127"},EPSG_4684:{towgs84:"-133,-321,50"},EPSG_4708:{towgs84:"-491,-22,435"},EPSG_4707:{towgs84:"114,-116,-333"},EPSG_4709:{towgs84:"145,75,-272"},EPSG_4712:{towgs84:"-205,107,53"},EPSG_4711:{towgs84:"124,-234,-25"},EPSG_4718:{towgs84:"230,-199,-752"},EPSG_4719:{towgs84:"211,147,111"},EPSG_4724:{towgs84:"208,-435,-229"},EPSG_4725:{towgs84:"189,-79,-202"},EPSG_4735:{towgs84:"647,1777,-1124"},EPSG_4722:{towgs84:"-794,119,-298"},EPSG_4728:{towgs84:"-307,-92,127"},EPSG_4734:{towgs84:"-632,438,-609"},EPSG_4727:{towgs84:"912,-58,1227"},EPSG_4729:{towgs84:"185,165,42"},EPSG_4730:{towgs84:"170,42,84"},EPSG_4733:{towgs84:"276,-57,149"},ESRI_37218:{towgs84:"230,-199,-752"},ESRI_37240:{towgs84:"-7,215,225"},ESRI_37221:{towgs84:"252,-209,-751"},ESRI_4305:{towgs84:"-123,-206,219"},ESRI_104139:{towgs84:"-73,-247,227"},EPSG_4748:{towgs84:"51,391,-36"},EPSG_4219:{towgs84:"-384,664,-48"},EPSG_4255:{towgs84:"-333,-222,114"},EPSG_4257:{towgs84:"-587.8,519.75,145.76"},EPSG_4646:{towgs84:"-963,510,-359"},EPSG_6881:{towgs84:"-24,-203,268"},EPSG_6882:{towgs84:"-183,-15,273"},EPSG_4715:{towgs84:"-104,-129,239"},IGNF_RGF93GDD:{towgs84:"0,0,0"},IGNF_RGM04GDD:{towgs84:"0,0,0"},IGNF_RGSPM06GDD:{towgs84:"0,0,0"},IGNF_RGTAAF07GDD:{towgs84:"0,0,0"},IGNF_RGFG95GDD:{towgs84:"0,0,0"},IGNF_RGNCG:{towgs84:"0,0,0"},IGNF_RGPFGDD:{towgs84:"0,0,0"},IGNF_ETRS89G:{towgs84:"0,0,0"},IGNF_RGR92GDD:{towgs84:"0,0,0"},EPSG_4173:{towgs84:"0,0,0"},EPSG_4180:{towgs84:"0,0,0"},EPSG_4619:{towgs84:"0,0,0"},EPSG_4667:{towgs84:"0,0,0"},EPSG_4075:{towgs84:"0,0,0"},EPSG_6706:{towgs84:"0,0,0"},EPSG_7798:{towgs84:"0,0,0"},EPSG_4661:{towgs84:"0,0,0"},EPSG_4669:{towgs84:"0,0,0"},EPSG_8685:{towgs84:"0,0,0"},EPSG_4151:{towgs84:"0,0,0"},EPSG_9702:{towgs84:"0,0,0"},EPSG_4758:{towgs84:"0,0,0"},EPSG_4761:{towgs84:"0,0,0"},EPSG_4765:{towgs84:"0,0,0"},EPSG_8997:{towgs84:"0,0,0"},EPSG_4023:{towgs84:"0,0,0"},EPSG_4670:{towgs84:"0,0,0"},EPSG_4694:{towgs84:"0,0,0"},EPSG_4148:{towgs84:"0,0,0"},EPSG_4163:{towgs84:"0,0,0"},EPSG_4167:{towgs84:"0,0,0"},EPSG_4189:{towgs84:"0,0,0"},EPSG_4190:{towgs84:"0,0,0"},EPSG_4176:{towgs84:"0,0,0"},EPSG_4659:{towgs84:"0,0,0"},EPSG_3824:{towgs84:"0,0,0"},EPSG_3889:{towgs84:"0,0,0"},EPSG_4046:{towgs84:"0,0,0"},EPSG_4081:{towgs84:"0,0,0"},EPSG_4558:{towgs84:"0,0,0"},EPSG_4483:{towgs84:"0,0,0"},EPSG_5013:{towgs84:"0,0,0"},EPSG_5264:{towgs84:"0,0,0"},EPSG_5324:{towgs84:"0,0,0"},EPSG_5354:{towgs84:"0,0,0"},EPSG_5371:{towgs84:"0,0,0"},EPSG_5373:{towgs84:"0,0,0"},EPSG_5381:{towgs84:"0,0,0"},EPSG_5393:{towgs84:"0,0,0"},EPSG_5489:{towgs84:"0,0,0"},EPSG_5593:{towgs84:"0,0,0"},EPSG_6135:{towgs84:"0,0,0"},EPSG_6365:{towgs84:"0,0,0"},EPSG_5246:{towgs84:"0,0,0"},EPSG_7886:{towgs84:"0,0,0"},EPSG_8431:{towgs84:"0,0,0"},EPSG_8427:{towgs84:"0,0,0"},EPSG_8699:{towgs84:"0,0,0"},EPSG_8818:{towgs84:"0,0,0"},EPSG_4757:{towgs84:"0,0,0"},EPSG_9140:{towgs84:"0,0,0"},EPSG_8086:{towgs84:"0,0,0"},EPSG_4686:{towgs84:"0,0,0"},EPSG_4737:{towgs84:"0,0,0"},EPSG_4702:{towgs84:"0,0,0"},EPSG_4747:{towgs84:"0,0,0"},EPSG_4749:{towgs84:"0,0,0"},EPSG_4674:{towgs84:"0,0,0"},EPSG_4755:{towgs84:"0,0,0"},EPSG_4759:{towgs84:"0,0,0"},EPSG_4762:{towgs84:"0,0,0"},EPSG_4763:{towgs84:"0,0,0"},EPSG_4764:{towgs84:"0,0,0"},EPSG_4166:{towgs84:"0,0,0"},EPSG_4170:{towgs84:"0,0,0"},EPSG_5546:{towgs84:"0,0,0"},EPSG_7844:{towgs84:"0,0,0"},EPSG_4818:{towgs84:"589,76,480"}};for(JDe in k6t)S6t=k6t[JDe],S6t.datumName&&(k6t[S6t.datumName]=S6t);KDe=k6t});function BVi(i,t,e,r,n,s,a){var o={};return i===void 0||i==="none"?o.datum_type=Drt:o.datum_type=rDe,t&&(o.datum_params=t.map(parseFloat),(o.datum_params[0]!==0||o.datum_params[1]!==0||o.datum_params[2]!==0)&&(o.datum_type=iB),o.datum_params.length>3&&(o.datum_params[3]!==0||o.datum_params[4]!==0||o.datum_params[5]!==0||o.datum_params[6]!==0)&&(o.datum_type=rB,o.datum_params[3]*=zG,o.datum_params[4]*=zG,o.datum_params[5]*=zG,o.datum_params[6]=o.datum_params[6]/1e6+1)),a&&(o.datum_type=Nb,o.grids=a),o.a=e,o.b=r,o.es=n,o.ep2=s,o}var WDe,ZDe=Pt(()=>{dc();WDe=BVi});function njt(i,t,e){return t instanceof ArrayBuffer?xVi(i,t,e):{ready:QVi(i,t)}}function xVi(i,t,e){var r=!0;e!==void 0&&e.includeErrorFields===!1&&(r=!1);var n=new DataView(t),s=vVi(n),a=wVi(n,s),o=SVi(n,a,s,r),A={header:a,subgrids:o};return rjt[i]=A,A}async function QVi(i,t){for(var e=[],r=await t.getImageCount(),n=r-1;n>=0;n--){var s=await t.getImage(n),a=await s.readRasters(),o=a,A=[s.getWidth(),s.getHeight()],l=s.getBoundingBox().map(XDe),c=[s.fileDirectory.ModelPixelScale[0],s.fileDirectory.ModelPixelScale[1]].map(XDe),p=l[0]+(A[0]-1)*c[0],d=l[3]-(A[1]-1)*c[1],_=o[0],I=o[1],y=[];for(let w=A[1]-1;w>=0;w--)for(let D=A[0]-1;D>=0;D--){var B=w*A[0]+D;y.push([-gM(I[B]),gM(_[B])])}e.push({del:c,lim:A,ll:[-p,d],cvs:y})}var x={header:{nSubgrids:r},subgrids:e};return rjt[i]=x,x}function $De(i){if(i===void 0)return null;var t=i.split(",");return t.map(bVi)}function bVi(i){if(i.length===0)return null;var t=i[0]==="@";return t&&(i=i.slice(1)),i==="null"?{name:"null",mandatory:!t,grid:null,isNull:!0}:{name:i,mandatory:!t,grid:rjt[i]||null,isNull:!1}}function XDe(i){return i*Math.PI/180}function gM(i){return i/3600*Math.PI/180}function vVi(i){var t=i.getInt32(8,!1);return t===11?!1:(t=i.getInt32(8,!0),t!==11&&console.warn("Failed to detect nadgrid endian-ness, defaulting to little-endian"),!0)}function wVi(i,t){return{nFields:i.getInt32(8,t),nSubgridFields:i.getInt32(24,t),nSubgrids:i.getInt32(40,t),shiftType:ijt(i,56,64).trim(),fromSemiMajorAxis:i.getFloat64(120,t),fromSemiMinorAxis:i.getFloat64(136,t),toSemiMajorAxis:i.getFloat64(152,t),toSemiMinorAxis:i.getFloat64(168,t)}}function ijt(i,t,e){return String.fromCharCode.apply(null,new Uint8Array(i.buffer.slice(t,e)))}function SVi(i,t,e,r){for(var n=176,s=[],a=0;a<t.nSubgrids;a++){var o=MVi(i,n,e),A=DVi(i,n,o,e,r),l=Math.round(1+(o.upperLongitude-o.lowerLongitude)/o.longitudeInterval),c=Math.round(1+(o.upperLatitude-o.lowerLatitude)/o.latitudeInterval);s.push({ll:[gM(o.lowerLongitude),gM(o.lowerLatitude)],del:[gM(o.longitudeInterval),gM(o.latitudeInterval)],lim:[l,c],count:o.gridNodeCount,cvs:kVi(A)});var p=16;r===!1&&(p=8),n+=176+o.gridNodeCount*p}return s}function kVi(i){return i.map(function(t){return[gM(t.longitudeShift),gM(t.latitudeShift)]})}function MVi(i,t,e){return{name:ijt(i,t+8,t+16).trim(),parent:ijt(i,t+24,t+24+8).trim(),lowerLatitude:i.getFloat64(t+72,e),upperLatitude:i.getFloat64(t+88,e),lowerLongitude:i.getFloat64(t+104,e),upperLongitude:i.getFloat64(t+120,e),latitudeInterval:i.getFloat64(t+136,e),longitudeInterval:i.getFloat64(t+152,e),gridNodeCount:i.getInt32(t+168,e)}}function DVi(i,t,e,r,n){var s=t+176,a=16;n===!1&&(a=8);for(var o=[],A=0;A<e.gridNodeCount;A++){var l={latitudeShift:i.getFloat32(s+A*a,r),longitudeShift:i.getFloat32(s+A*a+4,r)};n!==!1&&(l.latitudeAccuracy=i.getFloat32(s+A*a+8,r),l.longitudeAccuracy=i.getFloat32(s+A*a+12,r)),o.push(l)}return o}var rjt,sjt=Pt(()=>{rjt={}});function Cz(i,t){if(!(this instanceof Cz))return new Cz(i);this.forward=null,this.inverse=null,this.init=null,this.name,this.names=null,this.title,t=t||function(l){if(l)throw l};var e=NDe(i);if(typeof e!="object"){t("Could not parse to valid json: "+i);return}var r=Cz.projections.get(e.projName);if(!r){t("Could not get projection name from: "+i);return}if(e.datumCode&&e.datumCode!=="none"){var n=ky(KDe,e.datumCode);n&&(e.datum_params=e.datum_params||(n.towgs84?n.towgs84.split(","):null),e.ellps=n.ellipse,e.datumName=n.datumName?n.datumName:e.datumCode)}e.k0=e.k0||1,e.axis=e.axis||"enu",e.ellps=e.ellps||"wgs84",e.lat1=e.lat1||e.lat0;var s=YDe(e.a,e.b,e.rf,e.ellps,e.sphere),a=zDe(s.a,s.b,s.rf,e.R_A),o=$De(e.nadgrids),A=e.datum||WDe(e.datumCode,e.datum_params,s.a,s.b,a.es,a.ep2,o);WOt(this,e),WOt(this,r),this.a=s.a,this.b=s.b,this.rf=s.rf,this.sphere=s.sphere,this.es=a.es,this.e=a.e,this.ep2=a.ep2,this.datum=A,"init"in this&&typeof this.init=="function"&&this.init(),t(null,this)}var nB,Urt=Pt(()=>{LDe();GDe();tjt();qDe();VDe();ZDe();Rrt();sjt();Cz.projections=jDe;Cz.projections.start();nB=Cz});function tRe(i,t){return i.datum_type!==t.datum_type||i.a!==t.a||Math.abs(i.es-t.es)>5e-11?!1:i.datum_type===iB?i.datum_params[0]===t.datum_params[0]&&i.datum_params[1]===t.datum_params[1]&&i.datum_params[2]===t.datum_params[2]:i.datum_type===rB?i.datum_params[0]===t.datum_params[0]&&i.datum_params[1]===t.datum_params[1]&&i.datum_params[2]===t.datum_params[2]&&i.datum_params[3]===t.datum_params[3]&&i.datum_params[4]===t.datum_params[4]&&i.datum_params[5]===t.datum_params[5]&&i.datum_params[6]===t.datum_params[6]:!0}function M6t(i,t,e){var r=i.x,n=i.y,s=i.z?i.z:0,a,o,A,l;if(n<-ys&&n>-1.001*ys)n=-ys;else if(n>ys&&n<1.001*ys)n=ys;else{if(n<-ys)return{x:-1/0,y:-1/0,z:i.z};if(n>ys)return{x:1/0,y:1/0,z:i.z}}return r>Math.PI&&(r-=2*Math.PI),o=Math.sin(n),l=Math.cos(n),A=o*o,a=e/Math.sqrt(1-t*A),{x:(a+s)*l*Math.cos(r),y:(a+s)*l*Math.sin(r),z:(a*(1-t)+s)*o}}function D6t(i,t,e,r){var n=1e-12,s=n*n,a=30,o,A,l,c,p,d,_,I,y,B,x,w,D,T=i.x,j=i.y,z=i.z?i.z:0,W,N,F;if(o=Math.sqrt(T*T+j*j),A=Math.sqrt(T*T+j*j+z*z),o/e<n){if(W=0,A/e<n)return N=ys,F=-r,{x:i.x,y:i.y,z:i.z}}else W=Math.atan2(j,T);l=z/A,c=o/A,p=1/Math.sqrt(1-t*(2-t)*c*c),I=c*(1-t)*p,y=l*p,D=0;do D++,_=e/Math.sqrt(1-t*y*y),F=o*I+z*y-_*(1-t*y*y),d=t*_/(_+F),p=1/Math.sqrt(1-d*(2-d)*c*c),B=c*(1-d)*p,x=l*p,w=x*I-B*y,I=B,y=x;while(w*w>s&&D<a);return N=Math.atan(x/Math.abs(B)),{x:W,y:N,z:F}}function eRe(i,t,e){if(t===iB)return{x:i.x+e[0],y:i.y+e[1],z:i.z+e[2]};if(t===rB){var r=e[0],n=e[1],s=e[2],a=e[3],o=e[4],A=e[5],l=e[6];return{x:l*(i.x-A*i.y+o*i.z)+r,y:l*(A*i.x+i.y-a*i.z)+n,z:l*(-o*i.x+a*i.y+i.z)+s}}}function iRe(i,t,e){if(t===iB)return{x:i.x-e[0],y:i.y-e[1],z:i.z-e[2]};if(t===rB){var r=e[0],n=e[1],s=e[2],a=e[3],o=e[4],A=e[5],l=e[6],c=(i.x-r)/l,p=(i.y-n)/l,d=(i.z-s)/l;return{x:c+A*p-o*d,y:-A*c+p+a*d,z:o*c-a*p+d}}}var ajt=Pt(()=>{"use strict";dc()});function R6t(i){return i===iB||i===rB}function sRe(i,t,e){if(tRe(i,t)||i.datum_type===Drt||t.datum_type===Drt)return e;var r=i.a,n=i.es;if(i.datum_type===Nb){var s=rRe(i,!1,e);if(s!==0)return;r=TOt,n=UOt}var a=t.a,o=t.b,A=t.es;if(t.datum_type===Nb&&(a=TOt,o=nDe,A=UOt),n===A&&r===a&&!R6t(i.datum_type)&&!R6t(t.datum_type))return e;if(e=M6t(e,n,r),R6t(i.datum_type)&&(e=eRe(e,i.datum_type,i.datum_params)),R6t(t.datum_type)&&(e=iRe(e,t.datum_type,t.datum_params)),e=D6t(e,A,a,o),t.datum_type===Nb){var l=rRe(t,!0,e);if(l!==0)return}return e}function rRe(i,t,e){if(i.grids===null||i.grids.length===0)return console.log("Grid shift grids not found"),-1;var r={x:-e.x,y:e.y},n={x:Number.NaN,y:Number.NaN},s=[];t:for(var a=0;a<i.grids.length;a++){var o=i.grids[a];if(s.push(o.name),o.isNull){n=r;break}if(o.grid===null){if(o.mandatory)return console.log("Unable to find mandatory grid '"+o.name+"'"),-1;continue}for(var A=o.grid.subgrids,l=0,c=A.length;l<c;l++){var p=A[l],d=(Math.abs(p.del[1])+Math.abs(p.del[0]))/1e4,_=p.ll[0]-d,I=p.ll[1]-d,y=p.ll[0]+(p.lim[0]-1)*p.del[0]+d,B=p.ll[1]+(p.lim[1]-1)*p.del[1]+d;if(!(I>r.y||_>r.x||B<r.y||y<r.x)&&(n=RVi(r,t,p),!isNaN(n.x)))break t}}return isNaN(n.x)?(console.log("Failed to find a grid shift table for location '"+-r.x*f1+" "+r.y*f1+" tried: '"+s+"'"),-1):(e.x=-n.x,e.y=n.y,0)}function RVi(i,t,e){var r={x:Number.NaN,y:Number.NaN};if(isNaN(i.x))return r;var n={x:i.x,y:i.y};n.x-=e.ll[0],n.y-=e.ll[1],n.x=zs(n.x-Math.PI)+Math.PI;var s=nRe(n,e);if(t){if(isNaN(s.x))return r;s.x=n.x-s.x,s.y=n.y-s.y;var a=9,o=1e-12,A,l;do{if(l=nRe(s,e),isNaN(l.x)){console.log("Inverse grid shift iteration failed, presumably at grid edge. Using first approximation.");break}A={x:n.x-(l.x+s.x),y:n.y-(l.y+s.y)},s.x+=A.x,s.y+=A.y}while(a--&&Math.abs(A.x)>o&&Math.abs(A.y)>o);if(a<0)return console.log("Inverse grid shift iterator failed to converge."),r;r.x=zs(s.x+e.ll[0]),r.y=s.y+e.ll[1]}else isNaN(s.x)||(r.x=i.x+s.x,r.y=i.y+s.y);return r}function nRe(i,t){var e={x:i.x/t.del[0],y:i.y/t.del[1]},r={x:Math.floor(e.x),y:Math.floor(e.y)},n={x:e.x-1*r.x,y:e.y-1*r.y},s={x:Number.NaN,y:Number.NaN},a;if(r.x<0||r.x>=t.lim[0]||r.y<0||r.y>=t.lim[1])return s;a=r.y*t.lim[0]+r.x;var o={x:t.cvs[a][0],y:t.cvs[a][1]};a++;var A={x:t.cvs[a][0],y:t.cvs[a][1]};a+=t.lim[0];var l={x:t.cvs[a][0],y:t.cvs[a][1]};a--;var c={x:t.cvs[a][0],y:t.cvs[a][1]},p=n.x*n.y,d=n.x*(1-n.y),_=(1-n.x)*(1-n.y),I=(1-n.x)*n.y;return s.x=_*o.x+d*A.x+I*c.x+p*l.x,s.y=_*o.y+d*A.y+I*c.y+p*l.y,s}var aRe=Pt(()=>{dc();ajt();Cu()});function ojt(i,t,e){var r=e.x,n=e.y,s=e.z||0,a,o,A,l={};for(A=0;A<3;A++)if(!(t&&A===2&&e.z===void 0))switch(A===0?(a=r,"ew".indexOf(i.axis[A])!==-1?o="x":o="y"):A===1?(a=n,"ns".indexOf(i.axis[A])!==-1?o="y":o="x"):(a=s,o="z"),i.axis[A]){case"e":l[o]=a;break;case"w":l[o]=-a;break;case"n":l[o]=a;break;case"s":l[o]=-a;break;case"u":e[o]!==void 0&&(l.z=a);break;case"d":e[o]!==void 0&&(l.z=-a);break;default:return null}return l}var oRe=Pt(()=>{});function N6t(i){var t={x:i[0],y:i[1]};return i.length>2&&(t.z=i[2]),i.length>3&&(t.m=i[3]),t}var Ajt=Pt(()=>{});function lRe(i){ARe(i.x),ARe(i.y)}function ARe(i){if(typeof Number.isFinite=="function"){if(Number.isFinite(i))return;throw new TypeError("coordinates must be finite numbers")}if(typeof i!="number"||i!==i||!isFinite(i))throw new TypeError("coordinates must be finite numbers")}var cRe=Pt(()=>{});function NVi(i,t){return(i.datum.datum_type===iB||i.datum.datum_type===rB||i.datum.datum_type===Nb)&&t.datumCode!=="WGS84"||(t.datum.datum_type===iB||t.datum.datum_type===rB||t.datum.datum_type===Nb)&&i.datumCode!=="WGS84"}function KG(i,t,e,r){var n;Array.isArray(e)?e=N6t(e):e={x:e.x,y:e.y,z:e.z,m:e.m};var s=e.z!==void 0;if(lRe(e),i.datum&&t.datum&&NVi(i,t)&&(n=new nB("WGS84"),e=KG(i,n,e,r),i=n),r&&i.axis!=="enu"&&(e=ojt(i,!1,e)),i.projName==="longlat")e={x:e.x*Gu,y:e.y*Gu,z:e.z||0};else if(i.to_meter&&(e={x:e.x*i.to_meter,y:e.y*i.to_meter,z:e.z||0}),e=i.inverse(e),!e)return;if(i.from_greenwich&&(e.x+=i.from_greenwich),e=sRe(i.datum,t.datum,e),!!e)return e=e,t.from_greenwich&&(e={x:e.x-t.from_greenwich,y:e.y,z:e.z||0}),t.projName==="longlat"?e={x:e.x*f1,y:e.y*f1,z:e.z||0}:(e=t.forward(e),t.to_meter&&(e={x:e.x/t.to_meter,y:e.y/t.to_meter,z:e.z||0})),r&&t.axis!=="enu"?ojt(t,!0,e):(e&&!s&&delete e.z,e)}var ljt=Pt(()=>{dc();aRe();oRe();Urt();Ajt();cRe()});function cjt(i,t,e,r){var n,s,a;return Array.isArray(e)?(n=KG(i,t,e,r)||{x:NaN,y:NaN},e.length>2?typeof i.name<"u"&&i.name==="geocent"||typeof t.name<"u"&&t.name==="geocent"?typeof n.z=="number"?[n.x,n.y,n.z].concat(e.slice(3)):[n.x,n.y,e[2]].concat(e.slice(3)):[n.x,n.y].concat(e.slice(2)):[n.x,n.y]):(s=KG(i,t,e,r),a=Object.keys(e),a.length===2||a.forEach(function(o){if(typeof i.name<"u"&&i.name==="geocent"||typeof t.name<"u"&&t.name==="geocent"){if(o==="x"||o==="y"||o==="z")return}else if(o==="x"||o==="y")return;s[o]=e[o]}),s)}function L6t(i){return i instanceof nB?i:typeof i=="object"&&"oProj"in i?i.oProj:nB(i)}function LVi(i,t,e){var r,n,s=!1,a;return typeof t>"u"?(n=L6t(i),r=hRe,s=!0):(typeof t.x<"u"||Array.isArray(t))&&(e=t,n=L6t(i),r=hRe,s=!0),r||(r=L6t(i)),n||(n=L6t(t)),e?cjt(r,n,e):(a={forward:function(o,A){return cjt(r,n,o,A)},inverse:function(o,A){return cjt(n,r,o,A)}},s&&(a.oProj=n),a)}var hRe,uRe,gRe=Pt(()=>{Urt();ljt();hRe=nB("WGS84");uRe=LVi});function ujt(i,t){return t=t||5,UVi(FVi({lat:i[1],lon:i[0]}),t)}function GVi(i){var t=pjt(yRe(i.toUpperCase()));return t.lat&&t.lon?[t.lon,t.lat,t.lon,t.lat]:[t.left,t.bottom,t.right,t.top]}function gjt(i){var t=pjt(yRe(i.toUpperCase()));return t.lat&&t.lon?[t.lon,t.lat]:[(t.left+t.right)/2,(t.top+t.bottom)/2]}function hjt(i){return i*(Math.PI/180)}function dRe(i){return 180*(i/Math.PI)}function FVi(i){var t=i.lat,e=i.lon,r=6378137,n=.00669438,s=.9996,a,o,A,l,c,p,d,_=hjt(t),I=hjt(e),y,B;B=Math.floor((e+180)/6)+1,e===180&&(B=60),t>=56&&t<64&&e>=3&&e<12&&(B=32),t>=72&&t<84&&(e>=0&&e<9?B=31:e>=9&&e<21?B=33:e>=21&&e<33?B=35:e>=33&&e<42&&(B=37)),a=(B-1)*6-180+3,y=hjt(a),o=n/(1-n),A=r/Math.sqrt(1-n*Math.sin(_)*Math.sin(_)),l=Math.tan(_)*Math.tan(_),c=o*Math.cos(_)*Math.cos(_),p=Math.cos(_)*(I-y),d=r*((1-n/4-3*n*n/64-5*n*n*n/256)*_-(3*n/8+3*n*n/32+45*n*n*n/1024)*Math.sin(2*_)+(15*n*n/256+45*n*n*n/1024)*Math.sin(4*_)-35*n*n*n/3072*Math.sin(6*_));var x=s*A*(p+(1-l+c)*p*p*p/6+(5-18*l+l*l+72*c-58*o)*p*p*p*p*p/120)+5e5,w=s*(d+A*Math.tan(_)*(p*p/2+(5-l+9*c+4*c*c)*p*p*p*p/24+(61-58*l+l*l+600*c-330*o)*p*p*p*p*p*p/720));return t<0&&(w+=1e7),{northing:Math.round(w),easting:Math.round(x),zoneNumber:B,zoneLetter:TVi(t)}}function pjt(i){var t=i.northing,e=i.easting,r=i.zoneLetter,n=i.zoneNumber;if(n<0||n>60)return null;var s=.9996,a=6378137,o=.00669438,A,l=(1-Math.sqrt(1-o))/(1+Math.sqrt(1-o)),c,p,d,_,I,y,B,x,w,D=e-5e5,T=t;r<"N"&&(T-=1e7),B=(n-1)*6-180+3,A=o/(1-o),y=T/s,x=y/(a*(1-o/4-3*o*o/64-5*o*o*o/256)),w=x+(3*l/2-27*l*l*l/32)*Math.sin(2*x)+(21*l*l/16-55*l*l*l*l/32)*Math.sin(4*x)+151*l*l*l/96*Math.sin(6*x),c=a/Math.sqrt(1-o*Math.sin(w)*Math.sin(w)),p=Math.tan(w)*Math.tan(w),d=A*Math.cos(w)*Math.cos(w),_=a*(1-o)/Math.pow(1-o*Math.sin(w)*Math.sin(w),1.5),I=D/(c*s);var j=w-c*Math.tan(w)/_*(I*I/2-(5+3*p+10*d-4*d*d-9*A)*I*I*I*I/24+(61+90*p+298*d+45*p*p-252*A-3*d*d)*I*I*I*I*I*I/720);j=dRe(j);var z=(I-(1+2*p+d)*I*I*I/6+(5-2*d+28*p-3*d*d+8*A+24*p*p)*I*I*I*I*I/120)/Math.cos(w);z=B+dRe(z);var W;if(i.accuracy){var N=pjt({northing:i.northing+i.accuracy,easting:i.easting+i.accuracy,zoneLetter:i.zoneLetter,zoneNumber:i.zoneNumber});W={top:N.lat,right:N.lon,bottom:j,left:z}}else W={lat:j,lon:z};return W}function TVi(i){var t="Z";return 84>=i&&i>=72?t="X":72>i&&i>=64?t="W":64>i&&i>=56?t="V":56>i&&i>=48?t="U":48>i&&i>=40?t="T":40>i&&i>=32?t="S":32>i&&i>=24?t="R":24>i&&i>=16?t="Q":16>i&&i>=8?t="P":8>i&&i>=0?t="N":0>i&&i>=-8?t="M":-8>i&&i>=-16?t="L":-16>i&&i>=-24?t="K":-24>i&&i>=-32?t="J":-32>i&&i>=-40?t="H":-40>i&&i>=-48?t="G":-48>i&&i>=-56?t="F":-56>i&&i>=-64?t="E":-64>i&&i>=-72?t="D":-72>i&&i>=-80&&(t="C"),t}function UVi(i,t){var e="00000"+i.easting,r="00000"+i.northing;return i.zoneNumber+i.zoneLetter+PVi(i.easting,i.northing,i.zoneNumber)+e.substr(e.length-5,t)+r.substr(r.length-5,t)}function PVi(i,t,e){var r=IRe(e),n=Math.floor(i/1e5),s=Math.floor(t/1e5)%20;return OVi(n,s,r)}function IRe(i){var t=i%pRe;return t===0&&(t=pRe),t}function OVi(i,t,e){var r=e-1,n=_Re.charCodeAt(r),s=fRe.charCodeAt(r),a=n+i-1,o=s+t,A=!1;a>Ort&&(a=a-Ort+Ez-1,A=!0),(a===iI||n<iI&&a>iI||(a>iI||n<iI)&&A)&&a++,(a===dC||n<dC&&a>dC||(a>dC||n<dC)&&A)&&(a++,a===iI&&a++),a>Ort&&(a=a-Ort+Ez-1),o>Prt?(o=o-Prt+Ez-1,A=!0):A=!1,(o===iI||s<iI&&o>iI||(o>iI||s<iI)&&A)&&o++,(o===dC||s<dC&&o>dC||(o>dC||s<dC)&&A)&&(o++,o===iI&&o++),o>Prt&&(o=o-Prt+Ez-1);var l=String.fromCharCode(a)+String.fromCharCode(o);return l}function yRe(i){if(i&&i.length===0)throw"MGRSPoint coverting from nothing";for(var t=i.length,e=null,r="",n,s=0;!/[A-Z]/.test(n=i.charAt(s));){if(s>=2)throw"MGRSPoint bad conversion from: "+i;r+=n,s++}var a=parseInt(r,10);if(s===0||s+3>t)throw"MGRSPoint bad conversion from: "+i;var o=i.charAt(s++);if(o<="A"||o==="B"||o==="Y"||o>="Z"||o==="I"||o==="O")throw"MGRSPoint zone letter "+o+" not handled: "+i;e=i.substring(s,s+=2);for(var A=IRe(a),l=jVi(e.charAt(0),A),c=HVi(e.charAt(1),A);c<zVi(o);)c+=2e6;var p=t-s;if(p%2!==0)throw`MGRSPoint has to have an even number
|
|
4563
|
+
`});var B6t,qMe=Pt(()=>{tz();YMe();B6t=class extends X5{static layerName="mesh-texture-layer";static defaultProps=X5.defaultProps;getShaders(){let t=super.getShaders(),e=t.modules;for(let r of this.props.renderPipeline)e.push(r.module);return{...t,fs:zMe,modules:e}}draw(t){let e={};for(let r of this.props.renderPipeline)e[r.module.name]=r.props||{};for(let r of super.getModels())r.shaderInputs.setProps(e);super.draw(t)}}});function OKi(i){let t=i.uvs.length/2,e=new Float32Array(t*3),r=new Float32Array(i.uvs);for(let s=0;s<t;s++)e[s*3]=i.exactOutputPositions[s*2],e[s*3+1]=i.exactOutputPositions[s*2+1],e[s*3+2]=0;return{indices:new Uint32Array(i.triangles),positions:e,texCoords:r}}var UKi,JMe,PKi,HG,KMe=Pt(()=>{f0();yd();HMe();ROt();qMe();UKi=.125,JMe=[[252,73,163],[255,51,204],[204,102,255],[153,51,255],[102,204,255],[51,153,255],[102,255,204],[51,255,170],[0,255,0],[51,204,51],[255,204,102],[255,179,71],[255,102,102],[255,80,80],[255,0,0],[204,0,0],[255,128,0],[255,153,51],[255,255,102],[255,255,51],[0,255,255],[0,204,255]],PKi={debug:!1,debugOpacity:.5},HG=class extends Mh{static layerName="RasterLayer";static defaultProps=PKi;initializeState(){this.setState({})}updateState(t){super.updateState(t);let{props:e,oldProps:r,changeFlags:n}=t;(n.dataChanged||e.width!==r.width||e.height!==r.height||e.reprojectionFns!==r.reprojectionFns||e.maxError!==r.maxError)&&this._generateMesh()}_generateMesh(){let{width:t,height:e,reprojectionFns:r,maxError:n=UKi}=this.props,s=new Mrt(r,t+1,e+1);s.run(n);let{indices:a,positions:o,texCoords:A}=OKi(s);this.setState({reprojector:s,mesh:{positions:o,indices:a,texCoords:A}})}renderDebugLayer(){let{reprojector:t}=this.state,{debugOpacity:e}=this.props;return t?new Qy(this.getSubLayerProps({id:"polygon",data:{reprojector:t,length:t.triangles.length/3},getPolygon:(r,{index:n,data:s})=>{let a=s.reprojector.triangles,o=t.exactOutputPositions,A=a[n*3],l=a[n*3+1],c=a[n*3+2];return[[o[A*2],o[A*2+1]],[o[l*2],o[l*2+1]],[o[c*2],o[c*2+1]],[o[A*2],o[A*2+1]]]},getFillColor:(r,{index:n,target:s})=>{let a=JMe[n%JMe.length];return s[0]=a[0],s[1]=a[1],s[2]=a[2],s[3]=255,s},getLineColor:[0,0,0],getLineWidth:1,lineWidthUnits:"pixels",opacity:e!==void 0&&Number.isFinite(e)?Math.max(0,Math.min(1,e)):1,pickable:!1})):null}_createRenderPipeline(){if(this.props.renderPipeline instanceof ImageData){let t=this.props.renderPipeline,e=this.context.device.createTexture({format:"rgba8unorm",width:t.width,height:t.height,data:t.data});return[{module:dz,props:{textureName:e}}]}else return this.props.renderPipeline}renderLayers(){let{mesh:t}=this.state,{debug:e}=this.props;if(!t)return null;let{indices:r,positions:n,texCoords:s}=t,o=[new B6t(this.getSubLayerProps({id:"raster",renderPipeline:this._createRenderPipeline(),data:[1],mesh:{indices:{value:r,size:1},attributes:{POSITION:{value:n,size:3},TEXCOORD_0:{value:s,size:2}}},_instanced:!1,getPosition:[0,0,0],getColor:[255,255,255]}))];if(e){let A=this.renderDebugLayer();A&&o.push(A)}return o}}});function LOt({x:i,y:t,transform:e,tileWidth:r,tileHeight:n}){let[s,a,o,A,l,c]=e;if(a!==0||A!==0)throw new Error(`Rotated/skewed geotransforms not yet supported (b=${a}, d=${A}). Only north-up, non-rotated rasters are currently supported.`);let p=i*r,d=t*n,_=(i+1)*r,I=(t+1)*n,y=s*p+a*d+o,B=A*p+l*d+c,x=s*_+a*I+o,w=A*_+l*I+c;return[Math.min(y,x),Math.min(B,w),Math.max(y,x),Math.max(B,w)]}function qKi(i,t,e){let[r,n,s,a]=t,o=[];for(let[A,l]of i){let c=r+A*(s-r),p=n+l*(a-n),d=e([c,p]);o.push(d)}return o}function JKi([i,t]){let e=Math.max(-WMe,Math.min(WMe,t));return[(i/NOt+.5)*VMe,(e/NOt+.5)*VMe]}function KKi(i,t){let[e,r,n,s]=i,{tileWidth:a,tileHeight:o,cellSize:A,matrixWidth:l,matrixHeight:c,pointOfOrigin:p}=t,d=a*A,_=o*A,I=p[0],y=p[1],B=Math.floor((e-I)/d),x=Math.floor((n-I)/d),w=Math.floor((y-s)/_),D=Math.floor((y-r)/_);return B=Math.max(0,Math.min(l-1,B)),x=Math.max(0,Math.min(l-1,x)),w=Math.max(0,Math.min(c-1,w)),D=Math.max(0,Math.min(c-1,D)),{minCol:B,maxCol:x,minRow:w,maxRow:D}}function ZMe(i,t){let{viewport:e,maxZ:r,zRange:n}=t,s=e instanceof mb&&e.resolution?e.projectPosition:null,a=Object.values(e.getFrustumPlanes()).map(({normal:F,distance:U})=>new Ed(F.clone().negate(),U)),o=new d_(a),A=e.distanceScales.unitsPerMeter[2],l=n&&n[0]*A||0,c=n&&n[1]*A||0,p=0,{lowerLeft:d,upperRight:_}=i.wgsBounds,[I,y]=d,[B,x]=_,w=I9([I,y]),D=I9([B,x]),T=[w[0],w[1],D[0],D[1]],j=i.tileMatrices[0],z=[];for(let F=0;F<j.matrixHeight;F++)for(let U=0;U<j.matrixWidth;U++)z.push(new x6t(U,F,0,i));let W={viewport:e,project:s,cullingVolume:o,elevationBounds:[l,c],minZ:p,maxZ:r,bounds:T};for(let F of z)F.update(W);let N=[];for(let F of z)F.getSelected(N);return N}function VKi(i,t){return 40075016686e-3*Math.cos(i*Math.PI/180)/2**(t+8)}function WKi(i,t){let[e,r]=fd(i.center);return VKi(r,t)}var VMe,jKi,HKi,zKi,NOt,WMe,YKi,x6t,XMe,GOt=Pt(()=>{f0();sM();e6();VMe=512,jKi=[[.5,.5],[0,0],[0,1],[1,0],[1,1]],HKi=jKi.concat([[0,.5],[.5,0],[1,.5],[.5,1]]),zKi=6378137,NOt=2*Math.PI*zKi,WMe=NOt/2,YKi=28e-5,x6t=class i{x;y;z;metadata;childVisible;selected;_children;constructor(t,e,r,n){this.x=t,this.y=e,this.z=r,this.metadata=n}get tileMatrix(){return this.metadata.tileMatrices[this.z]}get children(){if(!this._children){let t=this.metadata.tileMatrices.length-1;if(this.z>=t)return this._children=null,null;let e=this.tileMatrix,r=this.z+1,n=this.metadata.tileMatrices[r],s=LOt({x:this.x,y:this.y,transform:e.geotransform,tileWidth:e.tileWidth,tileHeight:e.tileHeight}),{minCol:a,maxCol:o,minRow:A,maxRow:l}=KKi(s,n),c=[];for(let p=A;p<=l;p++)for(let d=a;d<=o;d++)c.push(new i(d,p,r,this.metadata));this._children=c.length>0?c:null}return this._children}update(t){this.childVisible=!1,this.selected=!1;let{viewport:e,cullingVolume:r,elevationBounds:n,minZ:s,maxZ:a=this.metadata.tileMatrices.length-1,project:o,bounds:A}=t,{boundingVolume:l,commonSpaceBounds:c}=this.getBoundingVolume(n,o);if(A&&!this.insideBounds(A,c)||r.computeVisibility(l)<0)return!1;let d=this.children;if(!this.childVisible&&this.z>=s){let _=WKi(l,e.zoom);if(this.tileMatrix.scaleDenominator*YKi<=_||this.z>=a||d===null&&this.z>=s)return this.selected=!0,!0}if(d&&d.length>0){this.selected=!1;let _=!1;for(let I of d)I.update(t)&&(_=!0);return this.childVisible=_,_}return!0}getSelected(t=[]){if(this.selected&&t.push(this),this._children)for(let e of this._children)e.getSelected(t);return t}insideBounds(t,e){let[r,n,s,a]=t,[o,A,l,c]=e;return o<s&&l>r&&A<a&&c>n}getBoundingVolume(t,e){return e&&th(!1,"TODO: implement getBoundingVolume in Globe view"),this._getGenericBoundingVolume(t)}_getGenericBoundingVolume(t){let e=this.tileMatrix,{tileWidth:r,tileHeight:n,geotransform:s}=e,[a,o]=t,A=LOt({x:this.x,y:this.y,transform:s,tileWidth:r,tileHeight:n}),c=qKi(HKi,A,this.metadata.projectTo3857).map(x=>JKi(x)),p=[];for(let x of c)p.push([x[0],x[1],a]),a!==o&&p.push([x[0],x[1],o]);let d=Number.POSITIVE_INFINITY,_=Number.POSITIVE_INFINITY,I=Number.NEGATIVE_INFINITY,y=Number.NEGATIVE_INFINITY;for(let[x,w]of c)x<d&&(d=x),w<_&&(_=w),x>I&&(I=x),w>y&&(y=w);let B=[d,_,I,y];return{boundingVolume:wG(p),commonSpaceBounds:B}}};XMe={computeProjectedTileBounds:LOt,RasterTileNode:x6t}});var _z,$Me=Pt(()=>{jG();GOt();_z=class extends Cx{metadata;constructor(t,e){super(e),this.metadata=t}getTileIndices(t){let e=this.metadata.tileMatrices.length-1,r=typeof t.maxZoom=="number"?Math.min(t.maxZoom,e):e;return ZMe(this.metadata,{viewport:t.viewport,maxZ:r,zRange:t.zRange??null})}getTileId(t){return`${t.x}-${t.y}-${t.z}`}getParentIndex(t){if(t.z===0)return t;let e=this.metadata.tileMatrices[t.z],r=this.metadata.tileMatrices[t.z-1],n=e.cellSize/r.cellSize;return{x:Math.floor(t.x/n),y:Math.floor(t.y/n),z:t.z-1}}getTileZoom(t){return t.z}getTileMetadata(t){let{x:e,y:r,z:n}=t,{tileMatrices:s}=this.metadata,a=s[n],{geotransform:o,tileHeight:A,tileWidth:l}=a,[c,p,d,_,I,y]=o,B=e*l,x=r*A,w=(e+1)*l,D=(r+1)*A,T=[c*B+p*x+d,_*B+I*x+y],j=[c*w+p*x+d,_*w+I*x+y],z=[c*B+p*D+d,_*B+I*D+y],W=[c*w+p*D+d,_*w+I*D+y],N={topLeft:T,topRight:j,bottomLeft:z,bottomRight:W};return{bounds:[Math.min(T[0],j[0],z[0],W[0]),Math.min(T[1],j[1],z[1],W[1]),Math.max(T[0],j[0],z[0],W[0]),Math.max(T[1],j[1],z[1],W[1])],projectedBounds:N,tileWidth:l,tileHeight:A,tileMatrix:a}}}});var tDe=Pt(()=>{$Me()});var o5s,FOt=Pt(()=>{KMe();tDe();GOt();o5s={...XMe}});function eDe(i){i("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),i("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),i("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs");for(var t=1;t<=60;++t)i("EPSG:"+(32600+t),"+proj=utm +zone="+t+" +datum=WGS84 +units=m"),i("EPSG:"+(32700+t),"+proj=utm +zone="+t+" +south +datum=WGS84 +units=m");i("EPSG:5041","+title=WGS 84 / UPS North (E,N) +proj=stere +lat_0=90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +datum=WGS84 +units=m"),i("EPSG:5042","+title=WGS 84 / UPS South (E,N) +proj=stere +lat_0=-90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +datum=WGS84 +units=m"),i.WGS84=i["EPSG:4326"],i["EPSG:3785"]=i["EPSG:3857"],i.GOOGLE=i["EPSG:3857"],i["EPSG:900913"]=i["EPSG:3857"],i["EPSG:102113"]=i["EPSG:3857"]}var iDe=Pt(()=>{});var iB,rB,Nb,rDe,Drt,TOt,nDe,UOt,zG,ys,sDe,aDe,oDe,js,Gu,f1,Dc,uM,Sp,dc=Pt(()=>{iB=1,rB=2,Nb=3,rDe=4,Drt=5,TOt=6378137,nDe=6356752314e-3,UOt=.0066943799901413165,zG=484813681109536e-20,ys=Math.PI/2,sDe=.16666666666666666,aDe=.04722222222222222,oDe=.022156084656084655,js=1e-10,Gu=.017453292519943295,f1=57.29577951308232,Dc=Math.PI/4,uM=Math.PI*2,Sp=3.14159265359});var tI,ADe,lDe=Pt(()=>{tI={};tI.greenwich=0;tI.lisbon=-9.131906111111;tI.paris=2.337229166667;tI.bogota=-74.080916666667;tI.madrid=-3.687938888889;tI.rome=12.452333333333;tI.bern=7.439583333333;tI.jakarta=106.807719444444;tI.ferro=-17.666666666667;tI.brussels=4.367975;tI.stockholm=18.058277777778;tI.athens=23.7163375;tI.oslo=10.722916666667;ADe=tI});var cDe,hDe=Pt(()=>{cDe={mm:{to_meter:.001},cm:{to_meter:.01},ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937},fath:{to_meter:1.8288},kmi:{to_meter:1852},"us-ch":{to_meter:20.1168402336805},"us-mi":{to_meter:1609.34721869444},km:{to_meter:1e3},"ind-ft":{to_meter:.30479841},"ind-yd":{to_meter:.91439523},mi:{to_meter:1609.344},yd:{to_meter:.9144},ch:{to_meter:20.1168},link:{to_meter:.201168},dm:{to_meter:.1},in:{to_meter:.0254},"ind-ch":{to_meter:20.11669506},"us-in":{to_meter:.025400050800101},"us-yd":{to_meter:.914401828803658}}});function ky(i,t){if(i[t])return i[t];for(var e=Object.keys(i),r=t.toLowerCase().replace(uDe,""),n=-1,s,a;++n<e.length;)if(s=e[n],a=s.toLowerCase().replace(uDe,""),a===r)return i[s]}var uDe,Rrt=Pt(()=>{uDe=/[\s_\-\/\(\)]/g});function Nrt(i){var t={},e=i.split("+").map(function(o){return o.trim()}).filter(function(o){return o}).reduce(function(o,A){var l=A.split("=");return l.push(!0),o[l[0].toLowerCase()]=l[1],o},{}),r,n,s,a={proj:"projName",datum:"datumCode",rf:function(o){t.rf=parseFloat(o)},lat_0:function(o){t.lat0=o*Gu},lat_1:function(o){t.lat1=o*Gu},lat_2:function(o){t.lat2=o*Gu},lat_ts:function(o){t.lat_ts=o*Gu},lon_0:function(o){t.long0=o*Gu},lon_1:function(o){t.long1=o*Gu},lon_2:function(o){t.long2=o*Gu},alpha:function(o){t.alpha=parseFloat(o)*Gu},gamma:function(o){t.rectified_grid_angle=parseFloat(o)*Gu},lonc:function(o){t.longc=o*Gu},x_0:function(o){t.x0=parseFloat(o)},y_0:function(o){t.y0=parseFloat(o)},k_0:function(o){t.k0=parseFloat(o)},k:function(o){t.k0=parseFloat(o)},a:function(o){t.a=parseFloat(o)},b:function(o){t.b=parseFloat(o)},r:function(o){t.a=t.b=parseFloat(o)},r_a:function(){t.R_A=!0},zone:function(o){t.zone=parseInt(o,10)},south:function(){t.utmSouth=!0},towgs84:function(o){t.datum_params=o.split(",").map(function(A){return parseFloat(A)})},to_meter:function(o){t.to_meter=parseFloat(o)},units:function(o){t.units=o;var A=ky(cDe,o);A&&(t.to_meter=A.to_meter)},from_greenwich:function(o){t.from_greenwich=o*Gu},pm:function(o){var A=ky(ADe,o);t.from_greenwich=(A||parseFloat(o))*Gu},nadgrids:function(o){o==="@null"?t.datumCode="none":t.nadgrids=o},axis:function(o){var A="ewnsud";o.length===3&&A.indexOf(o.substr(0,1))!==-1&&A.indexOf(o.substr(1,1))!==-1&&A.indexOf(o.substr(2,1))!==-1&&(t.axis=o)},approx:function(){t.approx=!0},over:function(){t.over=!0}};for(r in e)n=e[r],r in a?(s=a[r],typeof s=="function"?s(n):t[s]=n):t[r]=n;return typeof t.datumCode=="string"&&t.datumCode!=="WGS84"&&(t.datumCode=t.datumCode.toLowerCase()),t.projStr=i,t}var POt=Pt(()=>{dc();lDe();hDe();Rrt()});var OOt,Q6t,jOt=Pt(()=>{OOt=class{static getId(t){let e=t.find(r=>Array.isArray(r)&&r[0]==="ID");return e&&e.length>=3?{authority:e[1],code:parseInt(e[2],10)}:null}static convertUnit(t,e="unit"){if(!t||t.length<3)return{type:e,name:"unknown",conversion_factor:null};let r=t[1],n=parseFloat(t[2])||null,s=t.find(o=>Array.isArray(o)&&o[0]==="ID"),a=s?{authority:s[1],code:parseInt(s[2],10)}:null;return{type:e,name:r,conversion_factor:n,id:a}}static convertAxis(t){let e=t[1]||"Unknown",r,n=e.match(/^\((.)\)$/);if(n){let l=n[1].toUpperCase();if(l==="E")r="east";else if(l==="N")r="north";else if(l==="U")r="up";else throw new Error(`Unknown axis abbreviation: ${l}`)}else r=t[2]?t[2].toLowerCase():"unknown";let s=t.find(l=>Array.isArray(l)&&l[0]==="ORDER"),a=s?parseInt(s[1],10):null,o=t.find(l=>Array.isArray(l)&&(l[0]==="LENGTHUNIT"||l[0]==="ANGLEUNIT"||l[0]==="SCALEUNIT")),A=this.convertUnit(o);return{name:e,direction:r,unit:A,order:a}}static extractAxes(t){return t.filter(e=>Array.isArray(e)&&e[0]==="AXIS").map(e=>this.convertAxis(e)).sort((e,r)=>(e.order||0)-(r.order||0))}static convert(t,e={}){switch(t[0]){case"PROJCRS":e.type="ProjectedCRS",e.name=t[1],e.base_crs=t.find(_=>Array.isArray(_)&&_[0]==="BASEGEOGCRS")?this.convert(t.find(_=>Array.isArray(_)&&_[0]==="BASEGEOGCRS")):null,e.conversion=t.find(_=>Array.isArray(_)&&_[0]==="CONVERSION")?this.convert(t.find(_=>Array.isArray(_)&&_[0]==="CONVERSION")):null;let r=t.find(_=>Array.isArray(_)&&_[0]==="CS");r&&(e.coordinate_system={type:r[1],axis:this.extractAxes(t)});let n=t.find(_=>Array.isArray(_)&&_[0]==="LENGTHUNIT");if(n){let _=this.convertUnit(n);e.coordinate_system.unit=_}e.id=this.getId(t);break;case"BASEGEOGCRS":case"GEOGCRS":e.type="GeographicCRS",e.name=t[1];let s=t.find(_=>Array.isArray(_)&&(_[0]==="DATUM"||_[0]==="ENSEMBLE"));if(s){let _=this.convert(s);s[0]==="ENSEMBLE"?e.datum_ensemble=_:e.datum=_;let I=t.find(y=>Array.isArray(y)&&y[0]==="PRIMEM");I&&I[1]!=="Greenwich"&&(_.prime_meridian={name:I[1],longitude:parseFloat(I[2])})}e.coordinate_system={type:"ellipsoidal",axis:this.extractAxes(t)},e.id=this.getId(t);break;case"DATUM":e.type="GeodeticReferenceFrame",e.name=t[1],e.ellipsoid=t.find(_=>Array.isArray(_)&&_[0]==="ELLIPSOID")?this.convert(t.find(_=>Array.isArray(_)&&_[0]==="ELLIPSOID")):null;break;case"ENSEMBLE":e.type="DatumEnsemble",e.name=t[1],e.members=t.filter(_=>Array.isArray(_)&&_[0]==="MEMBER").map(_=>({type:"DatumEnsembleMember",name:_[1],id:this.getId(_)}));let a=t.find(_=>Array.isArray(_)&&_[0]==="ENSEMBLEACCURACY");a&&(e.accuracy=parseFloat(a[1]));let o=t.find(_=>Array.isArray(_)&&_[0]==="ELLIPSOID");o&&(e.ellipsoid=this.convert(o)),e.id=this.getId(t);break;case"ELLIPSOID":e.type="Ellipsoid",e.name=t[1],e.semi_major_axis=parseFloat(t[2]),e.inverse_flattening=parseFloat(t[3]);let A=t.find(_=>Array.isArray(_)&&_[0]==="LENGTHUNIT")?this.convert(t.find(_=>Array.isArray(_)&&_[0]==="LENGTHUNIT"),e):null;break;case"CONVERSION":e.type="Conversion",e.name=t[1],e.method=t.find(_=>Array.isArray(_)&&_[0]==="METHOD")?this.convert(t.find(_=>Array.isArray(_)&&_[0]==="METHOD")):null,e.parameters=t.filter(_=>Array.isArray(_)&&_[0]==="PARAMETER").map(_=>this.convert(_));break;case"METHOD":e.type="Method",e.name=t[1],e.id=this.getId(t);break;case"PARAMETER":e.type="Parameter",e.name=t[1],e.value=parseFloat(t[2]),e.unit=this.convertUnit(t.find(_=>Array.isArray(_)&&(_[0]==="LENGTHUNIT"||_[0]==="ANGLEUNIT"||_[0]==="SCALEUNIT"))),e.id=this.getId(t);break;case"BOUNDCRS":e.type="BoundCRS";let l=t.find(_=>Array.isArray(_)&&_[0]==="SOURCECRS");if(l){let _=l.find(I=>Array.isArray(I));e.source_crs=_?this.convert(_):null}let c=t.find(_=>Array.isArray(_)&&_[0]==="TARGETCRS");if(c){let _=c.find(I=>Array.isArray(I));e.target_crs=_?this.convert(_):null}let p=t.find(_=>Array.isArray(_)&&_[0]==="ABRIDGEDTRANSFORMATION");p?e.transformation=this.convert(p):e.transformation=null;break;case"ABRIDGEDTRANSFORMATION":if(e.type="Transformation",e.name=t[1],e.method=t.find(_=>Array.isArray(_)&&_[0]==="METHOD")?this.convert(t.find(_=>Array.isArray(_)&&_[0]==="METHOD")):null,e.parameters=t.filter(_=>Array.isArray(_)&&(_[0]==="PARAMETER"||_[0]==="PARAMETERFILE")).map(_=>{if(_[0]==="PARAMETER")return this.convert(_);if(_[0]==="PARAMETERFILE")return{name:_[1],value:_[2],id:{authority:"EPSG",code:8656}}}),e.parameters.length===7){let _=e.parameters[6];_.name==="Scale difference"&&(_.value=Math.round((_.value-1)*1e12)/1e6)}e.id=this.getId(t);break;case"AXIS":e.coordinate_system||(e.coordinate_system={type:"unspecified",axis:[]}),e.coordinate_system.axis.push(this.convertAxis(t));break;case"LENGTHUNIT":let d=this.convertUnit(t,"LinearUnit");e.coordinate_system&&e.coordinate_system.axis&&e.coordinate_system.axis.forEach(_=>{_.unit||(_.unit=d)}),d.conversion_factor&&d.conversion_factor!==1&&e.semi_major_axis&&(e.semi_major_axis={value:e.semi_major_axis,unit:d});break;default:e.keyword=t[0];break}return e}},Q6t=OOt});var HOt,gDe,pDe=Pt(()=>{jOt();HOt=class extends Q6t{static convert(t,e={}){return super.convert(t,e),e.coordinate_system&&e.coordinate_system.subtype==="Cartesian"&&delete e.coordinate_system,e.usage&&delete e.usage,e}},gDe=HOt});var zOt,dDe,_De=Pt(()=>{jOt();zOt=class extends Q6t{static convert(t,e={}){super.convert(t,e);let r=t.find(s=>Array.isArray(s)&&s[0]==="CS");r&&(e.coordinate_system={subtype:r[1],axis:this.extractAxes(t)});let n=t.find(s=>Array.isArray(s)&&s[0]==="USAGE");if(n){let s=n.find(A=>Array.isArray(A)&&A[0]==="SCOPE"),a=n.find(A=>Array.isArray(A)&&A[0]==="AREA"),o=n.find(A=>Array.isArray(A)&&A[0]==="BBOX");e.usage={},s&&(e.usage.scope=s[1]),a&&(e.usage.area=a[1]),o&&(e.usage.bbox=o.slice(1))}return e}},dDe=zOt});function ZKi(i){return i.find(t=>Array.isArray(t)&&t[0]==="USAGE")?"2019":(i.find(t=>Array.isArray(t)&&t[0]==="CS")||i[0]==="BOUNDCRS"||i[0]==="PROJCRS"||i[0]==="GEOGCRS","2015")}function fDe(i){return(ZKi(i)==="2019"?dDe:gDe).convert(i)}var mDe=Pt(()=>{pDe();_De()});function IDe(i){let t=i.toUpperCase();return t.includes("PROJCRS")||t.includes("GEOGCRS")||t.includes("BOUNDCRS")||t.includes("VERTCRS")||t.includes("LENGTHUNIT")||t.includes("ANGLEUNIT")||t.includes("SCALEUNIT")?"WKT2":(t.includes("PROJCS")||t.includes("GEOGCS")||t.includes("LOCAL_CS")||t.includes("VERT_CS")||t.includes("UNIT"),"WKT1")}var yDe=Pt(()=>{});function Lb(i){if(typeof i!="string")throw new Error("not a string");this.text=i.trim(),this.level=0,this.place=0,this.root=null,this.stack=[],this.currentObject=null,this.state=Lrt}function eVi(i){var t=new Lb(i);return t.output()}var CDe,Lrt,EDe,BDe,b6t,xDe,YOt,XKi,$Ki,tVi,v6t,QDe,bDe=Pt(()=>{CDe=eVi,Lrt=1,EDe=2,BDe=3,b6t=4,xDe=5,YOt=-1,XKi=/\s/,$Ki=/[A-Za-z]/,tVi=/[A-Za-z84_]/,v6t=/[,\]]/,QDe=/[\d\.E\-\+]/;Lb.prototype.readCharicter=function(){var i=this.text[this.place++];if(this.state!==b6t)for(;XKi.test(i);){if(this.place>=this.text.length)return;i=this.text[this.place++]}switch(this.state){case Lrt:return this.neutral(i);case EDe:return this.keyword(i);case b6t:return this.quoted(i);case xDe:return this.afterquote(i);case BDe:return this.number(i);case YOt:return}};Lb.prototype.afterquote=function(i){if(i==='"'){this.word+='"',this.state=b6t;return}if(v6t.test(i)){this.word=this.word.trim(),this.afterItem(i);return}throw new Error(`havn't handled "`+i+'" in afterquote yet, index '+this.place)};Lb.prototype.afterItem=function(i){if(i===","){this.word!==null&&this.currentObject.push(this.word),this.word=null,this.state=Lrt;return}if(i==="]"){this.level--,this.word!==null&&(this.currentObject.push(this.word),this.word=null),this.state=Lrt,this.currentObject=this.stack.pop(),this.currentObject||(this.state=YOt);return}};Lb.prototype.number=function(i){if(QDe.test(i)){this.word+=i;return}if(v6t.test(i)){this.word=parseFloat(this.word),this.afterItem(i);return}throw new Error(`havn't handled "`+i+'" in number yet, index '+this.place)};Lb.prototype.quoted=function(i){if(i==='"'){this.state=xDe;return}this.word+=i};Lb.prototype.keyword=function(i){if(tVi.test(i)){this.word+=i;return}if(i==="["){var t=[];t.push(this.word),this.level++,this.root===null?this.root=t:this.currentObject.push(t),this.stack.push(this.currentObject),this.currentObject=t,this.state=Lrt;return}if(v6t.test(i)){this.afterItem(i);return}throw new Error(`havn't handled "`+i+'" in keyword yet, index '+this.place)};Lb.prototype.neutral=function(i){if($Ki.test(i)){this.word=i,this.state=EDe;return}if(i==='"'){this.word="",this.state=b6t;return}if(QDe.test(i)){this.word=i,this.state=BDe;return}if(v6t.test(i)){this.afterItem(i);return}throw new Error(`havn't handled "`+i+'" in neutral yet, index '+this.place)};Lb.prototype.output=function(){for(;this.place<this.text.length;)this.readCharicter();if(this.state===YOt)return this.root;throw new Error('unable to parse string "'+this.text+'". State is '+this.state)}});function qOt(i,t,e){Array.isArray(t)&&(e.unshift(t),t=null);var r=t?{}:i,n=e.reduce(function(s,a){return YG(a,s),s},r);t&&(i[t]=n)}function YG(i,t){if(!Array.isArray(i)){t[i]=!0;return}var e=i.shift();if(e==="PARAMETER"&&(e=i.shift()),i.length===1){if(Array.isArray(i[0])){t[e]={},YG(i[0],t[e]);return}t[e]=i[0];return}if(!i.length){t[e]=!0;return}if(e==="TOWGS84"){t[e]=i;return}if(e==="AXIS"){e in t||(t[e]=[]),t[e].push(i);return}Array.isArray(e)||(t[e]={});var r;switch(e){case"UNIT":case"PRIMEM":case"VERT_DATUM":t[e]={name:i[0].toLowerCase(),convert:i[1]},i.length===3&&YG(i[2],t[e]);return;case"SPHEROID":case"ELLIPSOID":t[e]={name:i[0],a:i[1],rf:i[2]},i.length===4&&YG(i[3],t[e]);return;case"EDATUM":case"ENGINEERINGDATUM":case"LOCAL_DATUM":case"DATUM":case"VERT_CS":case"VERTCRS":case"VERTICALCRS":i[0]=["name",i[0]],qOt(t,e,i);return;case"COMPD_CS":case"COMPOUNDCRS":case"FITTED_CS":case"PROJECTEDCRS":case"PROJCRS":case"GEOGCS":case"GEOCCS":case"PROJCS":case"LOCAL_CS":case"GEODCRS":case"GEODETICCRS":case"GEODETICDATUM":case"ENGCRS":case"ENGINEERINGCRS":i[0]=["name",i[0]],qOt(t,e,i),t[e].type=e;return;default:for(r=-1;++r<i.length;)if(!Array.isArray(i[r]))return YG(i,t[e]);return qOt(t,e,i)}}var vDe=Pt(()=>{});function pC(i){return i*iVi}function w6t(i){let t=(i.projName||"").toLowerCase().replace(/_/g," ");!i.long0&&i.longc&&(t==="albers conic equal area"||t==="lambert azimuthal equal area")&&(i.long0=i.longc),!i.lat_ts&&i.lat1&&(t==="stereographic south pole"||t==="polar stereographic (variant b)")?(i.lat0=pC(i.lat1>0?90:-90),i.lat_ts=i.lat1,delete i.lat1):!i.lat_ts&&i.lat0&&(t==="polar stereographic"||t==="polar stereographic (variant a)")&&(i.lat_ts=i.lat0,i.lat0=pC(i.lat0>0?90:-90),delete i.lat1)}var iVi,JOt=Pt(()=>{iVi=.017453292519943295});function wDe(i){let t={units:null,to_meter:void 0};return typeof i=="string"?(t.units=i.toLowerCase(),t.units==="metre"&&(t.units="meter"),t.units==="meter"&&(t.to_meter=1)):i&&i.name&&(t.units=i.name.toLowerCase(),t.units==="metre"&&(t.units="meter"),t.to_meter=i.conversion_factor),t}function SDe(i){return typeof i=="object"?i.value*i.unit.conversion_factor:i}function kDe(i,t){i.ellipsoid.radius?(t.a=i.ellipsoid.radius,t.rf=0):(t.a=SDe(i.ellipsoid.semi_major_axis),i.ellipsoid.inverse_flattening!==void 0?t.rf=i.ellipsoid.inverse_flattening:i.ellipsoid.semi_major_axis!==void 0&&i.ellipsoid.semi_minor_axis!==void 0&&(t.rf=t.a/(t.a-SDe(i.ellipsoid.semi_minor_axis))))}function Grt(i,t={}){return!i||typeof i!="object"?i:i.type==="BoundCRS"?(Grt(i.source_crs,t),i.transformation&&(i.transformation.method&&i.transformation.method.name==="NTv2"?t.nadgrids=i.transformation.parameters[0].value:t.datum_params=i.transformation.parameters.map(e=>e.value)),t):(Object.keys(i).forEach(e=>{let r=i[e];if(r!==null)switch(e){case"name":if(t.srsCode)break;t.name=r,t.srsCode=r;break;case"type":r==="GeographicCRS"?t.projName="longlat":r==="ProjectedCRS"&&i.conversion&&i.conversion.method&&(t.projName=i.conversion.method.name);break;case"datum":case"datum_ensemble":r.ellipsoid&&(t.ellps=r.ellipsoid.name,kDe(r,t)),r.prime_meridian&&(t.from_greenwich=r.prime_meridian.longitude*Math.PI/180);break;case"ellipsoid":t.ellps=r.name,kDe(r,t);break;case"prime_meridian":t.long0=(r.longitude||0)*Math.PI/180;break;case"coordinate_system":if(r.axis){if(t.axis=r.axis.map(n=>{let s=n.direction;if(s==="east")return"e";if(s==="north")return"n";if(s==="west")return"w";if(s==="south")return"s";throw new Error(`Unknown axis direction: ${s}`)}).join("")+"u",r.unit){let{units:n,to_meter:s}=wDe(r.unit);t.units=n,t.to_meter=s}else if(r.axis[0]&&r.axis[0].unit){let{units:n,to_meter:s}=wDe(r.axis[0].unit);t.units=n,t.to_meter=s}}break;case"id":r.authority&&r.code&&(t.title=r.authority+":"+r.code);break;case"conversion":r.method&&r.method.name&&(t.projName=r.method.name),r.parameters&&r.parameters.forEach(n=>{let s=n.name.toLowerCase().replace(/\s+/g,"_"),a=n.value;n.unit&&n.unit.conversion_factor?t[s]=a*n.unit.conversion_factor:n.unit==="degree"?t[s]=a*Math.PI/180:t[s]=a});break;case"unit":r.name&&(t.units=r.name.toLowerCase(),t.units==="metre"&&(t.units="meter")),r.conversion_factor&&(t.to_meter=r.conversion_factor);break;case"base_crs":Grt(r,t),t.datumCode=r.id?r.id.authority+"_"+r.id.code:r.name;break;default:break}}),t.latitude_of_false_origin!==void 0&&(t.lat0=t.latitude_of_false_origin),t.longitude_of_false_origin!==void 0&&(t.long0=t.longitude_of_false_origin),t.latitude_of_standard_parallel!==void 0&&(t.lat0=t.latitude_of_standard_parallel,t.lat1=t.latitude_of_standard_parallel),t.latitude_of_1st_standard_parallel!==void 0&&(t.lat1=t.latitude_of_1st_standard_parallel),t.latitude_of_2nd_standard_parallel!==void 0&&(t.lat2=t.latitude_of_2nd_standard_parallel),t.latitude_of_projection_centre!==void 0&&(t.lat0=t.latitude_of_projection_centre),t.longitude_of_projection_centre!==void 0&&(t.longc=t.longitude_of_projection_centre),t.easting_at_false_origin!==void 0&&(t.x0=t.easting_at_false_origin),t.northing_at_false_origin!==void 0&&(t.y0=t.northing_at_false_origin),t.latitude_of_natural_origin!==void 0&&(t.lat0=t.latitude_of_natural_origin),t.longitude_of_natural_origin!==void 0&&(t.long0=t.longitude_of_natural_origin),t.longitude_of_origin!==void 0&&(t.long0=t.longitude_of_origin),t.false_easting!==void 0&&(t.x0=t.false_easting),t.easting_at_projection_centre&&(t.x0=t.easting_at_projection_centre),t.false_northing!==void 0&&(t.y0=t.false_northing),t.northing_at_projection_centre&&(t.y0=t.northing_at_projection_centre),t.standard_parallel_1!==void 0&&(t.lat1=t.standard_parallel_1),t.standard_parallel_2!==void 0&&(t.lat2=t.standard_parallel_2),t.scale_factor_at_natural_origin!==void 0&&(t.k0=t.scale_factor_at_natural_origin),t.scale_factor_at_projection_centre!==void 0&&(t.k0=t.scale_factor_at_projection_centre),t.scale_factor_on_pseudo_standard_parallel!==void 0&&(t.k0=t.scale_factor_on_pseudo_standard_parallel),t.azimuth!==void 0&&(t.alpha=t.azimuth),t.azimuth_at_projection_centre!==void 0&&(t.alpha=t.azimuth_at_projection_centre),t.angle_from_rectified_to_skew_grid&&(t.rectified_grid_angle=t.angle_from_rectified_to_skew_grid),w6t(t),t)}var MDe=Pt(()=>{JOt()});function nVi(i,t){var e=t[0],r=t[1];!(e in i)&&r in i&&(i[e]=i[r],t.length===3&&(i[e]=t[2](i[e])))}function DDe(i){for(var t=Object.keys(i),e=0,r=t.length;e<r;++e){var n=t[e];rVi.indexOf(n)!==-1&&sVi(i[n]),typeof i[n]=="object"&&DDe(i[n])}}function sVi(i){if(i.AUTHORITY){var t=Object.keys(i.AUTHORITY)[0];t&&t in i.AUTHORITY&&(i.title=t+":"+i.AUTHORITY[t])}if(i.type==="GEOGCS"?i.projName="longlat":i.type==="LOCAL_CS"?(i.projName="identity",i.local=!0):typeof i.PROJECTION=="object"?i.projName=Object.keys(i.PROJECTION)[0]:i.projName=i.PROJECTION,i.AXIS){for(var e="",r=0,n=i.AXIS.length;r<n;++r){var s=[i.AXIS[r][0].toLowerCase(),i.AXIS[r][1].toLowerCase()];s[0].indexOf("north")!==-1||(s[0]==="y"||s[0]==="lat")&&s[1]==="north"?e+="n":s[0].indexOf("south")!==-1||(s[0]==="y"||s[0]==="lat")&&s[1]==="south"?e+="s":s[0].indexOf("east")!==-1||(s[0]==="x"||s[0]==="lon")&&s[1]==="east"?e+="e":(s[0].indexOf("west")!==-1||(s[0]==="x"||s[0]==="lon")&&s[1]==="west")&&(e+="w")}e.length===2&&(e+="u"),e.length===3&&(i.axis=e)}i.UNIT&&(i.units=i.UNIT.name.toLowerCase(),i.units==="metre"&&(i.units="meter"),i.UNIT.convert&&(i.type==="GEOGCS"?i.DATUM&&i.DATUM.SPHEROID&&(i.to_meter=i.UNIT.convert*i.DATUM.SPHEROID.a):i.to_meter=i.UNIT.convert));var a=i.GEOGCS;i.type==="GEOGCS"&&(a=i),a&&(a.DATUM?i.datumCode=a.DATUM.name.toLowerCase():i.datumCode=a.name.toLowerCase(),i.datumCode.slice(0,2)==="d_"&&(i.datumCode=i.datumCode.slice(2)),i.datumCode==="new_zealand_1949"&&(i.datumCode="nzgd49"),(i.datumCode==="wgs_1984"||i.datumCode==="world_geodetic_system_1984")&&(i.PROJECTION==="Mercator_Auxiliary_Sphere"&&(i.sphere=!0),i.datumCode="wgs84"),i.datumCode==="belge_1972"&&(i.datumCode="rnb72"),a.DATUM&&a.DATUM.SPHEROID&&(i.ellps=a.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),i.ellps.toLowerCase().slice(0,13)==="international"&&(i.ellps="intl"),i.a=a.DATUM.SPHEROID.a,i.rf=parseFloat(a.DATUM.SPHEROID.rf,10)),a.DATUM&&a.DATUM.TOWGS84&&(i.datum_params=a.DATUM.TOWGS84),~i.datumCode.indexOf("osgb_1936")&&(i.datumCode="osgb36"),~i.datumCode.indexOf("osni_1952")&&(i.datumCode="osni52"),(~i.datumCode.indexOf("tm65")||~i.datumCode.indexOf("geodetic_datum_of_1965"))&&(i.datumCode="ire65"),i.datumCode==="ch1903+"&&(i.datumCode="ch1903"),~i.datumCode.indexOf("israel")&&(i.datumCode="isr93")),i.b&&!isFinite(i.b)&&(i.b=i.a),i.rectified_grid_angle&&(i.rectified_grid_angle=pC(i.rectified_grid_angle));function o(c){var p=i.to_meter||1;return c*p}var A=function(c){return nVi(i,c)},l=[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_1","Latitude of 1st standard parallel"],["standard_parallel_2","Standard_Parallel_2"],["standard_parallel_2","Latitude of 2nd standard parallel"],["false_easting","False_Easting"],["false_easting","False easting"],["false-easting","Easting at false origin"],["false_northing","False_Northing"],["false_northing","False northing"],["false_northing","Northing at false origin"],["central_meridian","Central_Meridian"],["central_meridian","Longitude of natural origin"],["central_meridian","Longitude of false origin"],["latitude_of_origin","Latitude_Of_Origin"],["latitude_of_origin","Central_Parallel"],["latitude_of_origin","Latitude of natural origin"],["latitude_of_origin","Latitude of false origin"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_Of_Center"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",pC],["longitude_of_center","Longitude_Of_Center"],["longitude_of_center","Longitude_of_center"],["longc","longitude_of_center",pC],["x0","false_easting",o],["y0","false_northing",o],["long0","central_meridian",pC],["lat0","latitude_of_origin",pC],["lat0","standard_parallel_1",pC],["lat1","standard_parallel_1",pC],["lat2","standard_parallel_2",pC],["azimuth","Azimuth"],["alpha","azimuth",pC],["srsCode","name"]];l.forEach(A),w6t(i)}function fz(i){if(typeof i=="object")return Grt(i);let t=IDe(i);var e=CDe(i);if(t==="WKT2"){let s=fDe(e);return Grt(s)}var r=e[0],n={};return YG(e,n),DDe(n),n[r]}var rVi,KOt=Pt(()=>{mDe();yDe();bDe();vDe();MDe();JOt();rVi=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"]});function eI(i){var t=this;if(arguments.length===2){var e=arguments[1];typeof e=="string"?e.charAt(0)==="+"?eI[i]=Nrt(arguments[1]):eI[i]=fz(arguments[1]):e&&typeof e=="object"&&!("projName"in e)?eI[i]=fz(arguments[1]):(eI[i]=e,e||delete eI[i])}else if(arguments.length===1){if(Array.isArray(i))return i.map(function(r){return Array.isArray(r)?eI.apply(t,r):eI(r)});if(typeof i=="string"){if(i in eI)return eI[i]}else"EPSG"in i?eI["EPSG:"+i.EPSG]=i:"ESRI"in i?eI["ESRI:"+i.ESRI]=i:"IAU2000"in i?eI["IAU2000:"+i.IAU2000]=i:console.log(i);return}}var mz,VOt=Pt(()=>{iDe();POt();KOt();eDe(eI);mz=eI});function aVi(i){return typeof i=="string"}function oVi(i){return i in mz}function AVi(i){return i.indexOf("+")!==0&&i.indexOf("[")!==-1||typeof i=="object"&&!("srsCode"in i)}function lVi(i){if(i.title)return i.title.toLowerCase().indexOf("epsg:")===0&&RDe.indexOf(i.title.substr(5))>-1;var t=ky(i,"authority");if(t){var e=ky(t,"epsg");return e&&RDe.indexOf(e)>-1}}function cVi(i){var t=ky(i,"extension");if(t)return ky(t,"proj4")}function hVi(i){return i[0]==="+"}function uVi(i){let t;if(aVi(i))if(oVi(i))t=mz[i];else if(AVi(i)){t=fz(i);var e=cVi(t);e&&(t=Nrt(e))}else hVi(i)&&(t=Nrt(i));else"projName"in i?t=i:t=fz(i);return t&&lVi(t)?mz["EPSG:3857"]:t}var RDe,NDe,LDe=Pt(()=>{VOt();KOt();POt();Rrt();RDe=["3857","900913","3785","102113"];NDe=uVi});function WOt(i,t){i=i||{};var e,r;if(!t)return i;for(r in t)e=t[r],e!==void 0&&(i[r]=e);return i}var GDe=Pt(()=>{});function a6(i,t,e){var r=i*t;return e/Math.sqrt(1-r*r)}var qG=Pt(()=>{});function xx(i){return i<0?-1:1}var Iz=Pt(()=>{});function zs(i,t){return t||Math.abs(i)<=Sp?i:i-xx(i)*uM}var Cu=Pt(()=>{dc();Iz()});function yf(i,t,e){var r=i*e,n=.5*i;return r=Math.pow((1-r)/(1+r),n),Math.tan(.5*(ys-t))/r}var Frt=Pt(()=>{dc()});function Gb(i,t){for(var e=.5*i,r,n,s=ys-2*Math.atan(t),a=0;a<=15;a++)if(r=i*Math.sin(s),n=ys-2*Math.atan(t*Math.pow((1-r)/(1+r),e))-s,s+=n,Math.abs(n)<=1e-10)return s;return-9999}var Trt=Pt(()=>{dc()});function gVi(){var i=this.b/this.a;this.es=1-i*i,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=a6(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)}function pVi(i){var t=i.x,e=i.y;if(e*f1>90&&e*f1<-90&&t*f1>180&&t*f1<-180)return null;var r,n;if(Math.abs(Math.abs(e)-ys)<=js)return null;if(this.sphere)r=this.x0+this.a*this.k0*zs(t-this.long0,this.over),n=this.y0+this.a*this.k0*Math.log(Math.tan(Dc+.5*e));else{var s=Math.sin(e),a=yf(this.e,e,s);r=this.x0+this.a*this.k0*zs(t-this.long0,this.over),n=this.y0-this.a*this.k0*Math.log(a)}return i.x=r,i.y=n,i}function dVi(i){var t=i.x-this.x0,e=i.y-this.y0,r,n;if(this.sphere)n=ys-2*Math.atan(Math.exp(-e/(this.a*this.k0)));else{var s=Math.exp(-e/(this.a*this.k0));if(n=Gb(this.e,s),n===-9999)return null}return r=zs(this.long0+t/(this.a*this.k0),this.over),i.x=r,i.y=n,i}var _Vi,FDe,TDe=Pt(()=>{qG();Cu();Frt();Trt();dc();_Vi=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","Mercator_Variant_A","merc"],FDe={init:gVi,forward:pVi,inverse:dVi,names:_Vi}});function fVi(){}function UDe(i){return i}var ZOt,PDe,XOt=Pt(()=>{ZOt=["longlat","identity"],PDe={init:fVi,forward:UDe,inverse:UDe,names:ZOt}});function ODe(i,t){var e=yz.length;return i.names?(yz[e]=i,i.names.forEach(function(r){JG[r.toLowerCase()]=e}),this):(console.log(t),!0)}function $Ot(i){return i.replace(/[-\(\)\s]+/g," ").trim().replace(/ /g,"_")}function IVi(i){if(!i)return!1;var t=i.toLowerCase();if(typeof JG[t]<"u"&&yz[JG[t]]||(t=$Ot(t),t in JG&&yz[JG[t]]))return yz[JG[t]]}function yVi(){mVi.forEach(ODe)}var mVi,JG,yz,jDe,tjt=Pt(()=>{TDe();XOt();mVi=[FDe,PDe],JG={},yz=[];jDe={start:yVi,add:ODe,get:IVi}});var CVi,ejt,HDe=Pt(()=>{CVi={MERIT:{a:6378137,rf:298.257,ellipseName:"MERIT 1983"},SGS85:{a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},GRS80:{a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},IAU76:{a:6378140,rf:298.257,ellipseName:"IAU 1976"},airy:{a:6377563396e-3,b:635625691e-2,ellipseName:"Airy 1830"},APL4:{a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},NWL9D:{a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},mod_airy:{a:6377340189e-3,b:6356034446e-3,ellipseName:"Modified Airy"},andrae:{a:637710443e-2,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},aust_SA:{a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},GRS67:{a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},bessel:{a:6377397155e-3,rf:299.1528128,ellipseName:"Bessel 1841"},bess_nam:{a:6377483865e-3,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},clrk66:{a:63782064e-1,b:63565838e-1,ellipseName:"Clarke 1866"},clrk80:{a:6378249145e-3,rf:293.4663,ellipseName:"Clarke 1880 mod."},clrk80ign:{a:63782492e-1,b:6356515,rf:293.4660213,ellipseName:"Clarke 1880 (IGN)"},clrk58:{a:6378293645208759e-9,rf:294.2606763692654,ellipseName:"Clarke 1858"},CPM:{a:63757387e-1,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},delmbr:{a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},engelis:{a:637813605e-2,rf:298.2566,ellipseName:"Engelis 1985"},evrst30:{a:6377276345e-3,rf:300.8017,ellipseName:"Everest 1830"},evrst48:{a:6377304063e-3,rf:300.8017,ellipseName:"Everest 1948"},evrst56:{a:6377301243e-3,rf:300.8017,ellipseName:"Everest 1956"},evrst69:{a:6377295664e-3,rf:300.8017,ellipseName:"Everest 1969"},evrstSS:{a:6377298556e-3,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},fschr60:{a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},fschr60m:{a:6378155,rf:298.3,ellipseName:"Fischer 1960"},fschr68:{a:6378150,rf:298.3,ellipseName:"Fischer 1968"},helmert:{a:6378200,rf:298.3,ellipseName:"Helmert 1906"},hough:{a:6378270,rf:297,ellipseName:"Hough"},intl:{a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},kaula:{a:6378163,rf:298.24,ellipseName:"Kaula 1961"},lerch:{a:6378139,rf:298.257,ellipseName:"Lerch 1979"},mprts:{a:6397300,rf:191,ellipseName:"Maupertius 1738"},new_intl:{a:63781575e-1,b:63567722e-1,ellipseName:"New International 1967"},plessis:{a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},krass:{a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},SEasia:{a:6378155,b:63567733205e-4,ellipseName:"Southeast Asia"},walbeck:{a:6376896,b:63558348467e-4,ellipseName:"Walbeck"},WGS60:{a:6378165,rf:298.3,ellipseName:"WGS 60"},WGS66:{a:6378145,rf:298.25,ellipseName:"WGS 66"},WGS7:{a:6378135,rf:298.26,ellipseName:"WGS 72"},WGS84:{a:6378137,rf:298.257223563,ellipseName:"WGS 84"},sphere:{a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"}},ejt=CVi});function zDe(i,t,e,r){var n=i*i,s=t*t,a=(n-s)/n,o=0;r?(i*=1-a*(sDe+a*(aDe+a*oDe)),n=i*i,a=0):o=Math.sqrt(a);var A=(n-s)/s;return{es:a,e:o,ep2:A}}function YDe(i,t,e,r,n){if(!i){var s=ky(ejt,r);s||(s=EVi),i=s.a,t=s.b,e=s.rf}return e&&!t&&(t=(1-1/e)*i),(e===0||Math.abs(i-t)<js)&&(n=!0,t=i),{a:i,b:t,rf:e,sphere:n}}var EVi,qDe=Pt(()=>{dc();HDe();Rrt();EVi=ejt.WGS84});var k6t,S6t,JDe,KDe,VDe=Pt(()=>{k6t={wgs84:{towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},ch1903:{towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},ggrs87:{towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},nad83:{towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},nad27:{nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},potsdam:{towgs84:"598.1,73.7,418.2,0.202,0.045,-2.455,6.7",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},carthage:{towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},hermannskogel:{towgs84:"577.326,90.129,463.919,5.137,1.474,5.297,2.4232",ellipse:"bessel",datumName:"Hermannskogel"},mgi:{towgs84:"577.326,90.129,463.919,5.137,1.474,5.297,2.4232",ellipse:"bessel",datumName:"Militar-Geographische Institut"},osni52:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"},ire65:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},rassadiran:{towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},nzgd49:{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},osgb36:{towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Ordnance Survey of Great Britain 1936"},s_jtsk:{towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},beduaram:{towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},gunung_segara:{towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},rnb72:{towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"},EPSG_5451:{towgs84:"6.41,-49.05,-11.28,1.5657,0.5242,6.9718,-5.7649"},IGNF_LURESG:{towgs84:"-192.986,13.673,-39.309,-0.4099,-2.9332,2.6881,0.43"},EPSG_4614:{towgs84:"-119.4248,-303.65872,-11.00061,1.164298,0.174458,1.096259,3.657065"},EPSG_4615:{towgs84:"-494.088,-312.129,279.877,-1.423,-1.013,1.59,-0.748"},ESRI_37241:{towgs84:"-76.822,257.457,-12.817,2.136,-0.033,-2.392,-0.031"},ESRI_37249:{towgs84:"-440.296,58.548,296.265,1.128,10.202,4.559,-0.438"},ESRI_37245:{towgs84:"-511.151,-181.269,139.609,1.05,2.703,1.798,3.071"},EPSG_4178:{towgs84:"24.9,-126.4,-93.2,-0.063,-0.247,-0.041,1.01"},EPSG_4622:{towgs84:"-472.29,-5.63,-304.12,0.4362,-0.8374,0.2563,1.8984"},EPSG_4625:{towgs84:"126.93,547.94,130.41,-2.7867,5.1612,-0.8584,13.8227"},EPSG_5252:{towgs84:"0.023,0.036,-0.068,0.00176,0.00912,-0.01136,0.00439"},EPSG_4314:{towgs84:"597.1,71.4,412.1,0.894,0.068,-1.563,7.58"},EPSG_4282:{towgs84:"-178.3,-316.7,-131.5,5.278,6.077,10.979,19.166"},EPSG_4231:{towgs84:"-83.11,-97.38,-117.22,0.005693,-0.044698,0.044285,0.1218"},EPSG_4274:{towgs84:"-230.994,102.591,25.199,0.633,-0.239,0.9,1.95"},EPSG_4134:{towgs84:"-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.71006"},EPSG_4254:{towgs84:"18.38,192.45,96.82,0.056,-0.142,-0.2,-0.0013"},EPSG_4159:{towgs84:"-194.513,-63.978,-25.759,-3.4027,3.756,-3.352,-0.9175"},EPSG_4687:{towgs84:"0.072,-0.507,-0.245,0.0183,-0.0003,0.007,-0.0093"},EPSG_4227:{towgs84:"-83.58,-397.54,458.78,-17.595,-2.847,4.256,3.225"},EPSG_4746:{towgs84:"599.4,72.4,419.2,-0.062,-0.022,-2.723,6.46"},EPSG_4745:{towgs84:"612.4,77,440.2,-0.054,0.057,-2.797,2.55"},EPSG_6311:{towgs84:"8.846,-4.394,-1.122,-0.00237,-0.146528,0.130428,0.783926"},EPSG_4289:{towgs84:"565.7381,50.4018,465.2904,-0.395026,0.330772,-1.876073,4.07244"},EPSG_4230:{towgs84:"-68.863,-134.888,-111.49,-0.53,-0.14,0.57,-3.4"},EPSG_4154:{towgs84:"-123.02,-158.95,-168.47"},EPSG_4156:{towgs84:"570.8,85.7,462.8,4.998,1.587,5.261,3.56"},EPSG_4299:{towgs84:"482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15"},EPSG_4179:{towgs84:"33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84"},EPSG_4313:{towgs84:"-106.8686,52.2978,-103.7239,0.3366,-0.457,1.8422,-1.2747"},EPSG_4194:{towgs84:"163.511,127.533,-159.789"},EPSG_4195:{towgs84:"105,326,-102.5"},EPSG_4196:{towgs84:"-45,417,-3.5"},EPSG_4611:{towgs84:"-162.619,-276.959,-161.764,0.067753,-2.243648,-1.158828,-1.094246"},EPSG_4633:{towgs84:"137.092,131.66,91.475,-1.9436,-11.5993,-4.3321,-7.4824"},EPSG_4641:{towgs84:"-408.809,366.856,-412.987,1.8842,-0.5308,2.1655,-121.0993"},EPSG_4643:{towgs84:"-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7002"},EPSG_4300:{towgs84:"482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15"},EPSG_4188:{towgs84:"482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15"},EPSG_4660:{towgs84:"982.6087,552.753,-540.873,6.681627,-31.611492,-19.848161,16.805"},EPSG_4662:{towgs84:"97.295,-263.247,310.882,-1.5999,0.8386,3.1409,13.3259"},EPSG_3906:{towgs84:"577.88891,165.22205,391.18289,4.9145,-0.94729,-13.05098,7.78664"},EPSG_4307:{towgs84:"-209.3622,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547"},EPSG_6892:{towgs84:"-76.269,-16.683,68.562,-6.275,10.536,-4.286,-13.686"},EPSG_4690:{towgs84:"221.597,152.441,176.523,2.403,1.3893,0.884,11.4648"},EPSG_4691:{towgs84:"218.769,150.75,176.75,3.5231,2.0037,1.288,10.9817"},EPSG_4629:{towgs84:"72.51,345.411,79.241,-1.5862,-0.8826,-0.5495,1.3653"},EPSG_4630:{towgs84:"165.804,216.213,180.26,-0.6251,-0.4515,-0.0721,7.4111"},EPSG_4692:{towgs84:"217.109,86.452,23.711,0.0183,-0.0003,0.007,-0.0093"},EPSG_9333:{towgs84:"0,0,0,-0.008393,0.000749,-0.010276,0"},EPSG_9059:{towgs84:"0,0,0"},EPSG_4312:{towgs84:"601.705,84.263,485.227,4.7354,1.3145,5.393,-2.3887"},EPSG_4123:{towgs84:"-96.062,-82.428,-121.753,4.801,0.345,-1.376,1.496"},EPSG_4309:{towgs84:"-124.45,183.74,44.64,-0.4384,0.5446,-0.9706,-2.1365"},ESRI_104106:{towgs84:"-283.088,-70.693,117.445,-1.157,0.059,-0.652,-4.058"},EPSG_4281:{towgs84:"-219.247,-73.802,269.529"},EPSG_4322:{towgs84:"0,0,4.5"},EPSG_4324:{towgs84:"0,0,1.9"},EPSG_4284:{towgs84:"43.822,-108.842,-119.585,1.455,-0.761,0.737,0.549"},EPSG_4277:{towgs84:"446.448,-125.157,542.06,0.15,0.247,0.842,-20.489"},EPSG_4207:{towgs84:"-282.1,-72.2,120,-1.529,0.145,-0.89,-4.46"},EPSG_4688:{towgs84:"347.175,1077.618,2623.677,33.9058,-70.6776,9.4013,186.0647"},EPSG_4689:{towgs84:"410.793,54.542,80.501,-2.5596,-2.3517,-0.6594,17.3218"},EPSG_4720:{towgs84:"0,0,4.5"},EPSG_4273:{towgs84:"278.3,93,474.5,7.889,0.05,-6.61,6.21"},EPSG_4240:{towgs84:"204.64,834.74,293.8"},EPSG_4817:{towgs84:"278.3,93,474.5,7.889,0.05,-6.61,6.21"},ESRI_104131:{towgs84:"426.62,142.62,460.09,4.98,4.49,-12.42,-17.1"},EPSG_4265:{towgs84:"-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68"},EPSG_4263:{towgs84:"-111.92,-87.85,114.5,1.875,0.202,0.219,0.032"},EPSG_4298:{towgs84:"-689.5937,623.84046,-65.93566,-0.02331,1.17094,-0.80054,5.88536"},EPSG_4270:{towgs84:"-253.4392,-148.452,386.5267,0.15605,0.43,-0.1013,-0.0424"},EPSG_4229:{towgs84:"-121.8,98.1,-10.7"},EPSG_4220:{towgs84:"-55.5,-348,-229.2"},EPSG_4214:{towgs84:"12.646,-155.176,-80.863"},EPSG_4232:{towgs84:"-345,3,223"},EPSG_4238:{towgs84:"-1.977,-13.06,-9.993,0.364,0.254,0.689,-1.037"},EPSG_4168:{towgs84:"-170,33,326"},EPSG_4131:{towgs84:"199,931,318.9"},EPSG_4152:{towgs84:"-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0"},EPSG_5228:{towgs84:"572.213,85.334,461.94,4.9732,1.529,5.2484,3.5378"},EPSG_8351:{towgs84:"485.021,169.465,483.839,7.786342,4.397554,4.102655,0"},EPSG_4683:{towgs84:"-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06"},EPSG_4133:{towgs84:"0,0,0"},EPSG_7373:{towgs84:"0.819,-0.5762,-1.6446,-0.00378,-0.03317,0.00318,0.0693"},EPSG_9075:{towgs84:"-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0"},EPSG_9072:{towgs84:"-0.9102,2.0141,0.5602,0.029039,0.010065,0.010101,0"},EPSG_9294:{towgs84:"1.16835,-1.42001,-2.24431,-0.00822,-0.05508,0.01818,0.23388"},EPSG_4212:{towgs84:"-267.434,173.496,181.814,-13.4704,8.7154,7.3926,14.7492"},EPSG_4191:{towgs84:"-44.183,-0.58,-38.489,2.3867,2.7072,-3.5196,-8.2703"},EPSG_4237:{towgs84:"52.684,-71.194,-13.975,-0.312,-0.1063,-0.3729,1.0191"},EPSG_4740:{towgs84:"-1.08,-0.27,-0.9"},EPSG_4124:{towgs84:"419.3836,99.3335,591.3451,0.850389,1.817277,-7.862238,-0.99496"},EPSG_5681:{towgs84:"584.9636,107.7175,413.8067,1.1155,0.2824,-3.1384,7.9922"},EPSG_4141:{towgs84:"23.772,17.49,17.859,-0.3132,-1.85274,1.67299,-5.4262"},EPSG_4204:{towgs84:"-85.645,-273.077,-79.708,2.289,-1.421,2.532,3.194"},EPSG_4319:{towgs84:"226.702,-193.337,-35.371,-2.229,-4.391,9.238,0.9798"},EPSG_4200:{towgs84:"24.82,-131.21,-82.66"},EPSG_4130:{towgs84:"0,0,0"},EPSG_4127:{towgs84:"-82.875,-57.097,-156.768,-2.158,1.524,-0.982,-0.359"},EPSG_4149:{towgs84:"674.374,15.056,405.346"},EPSG_4617:{towgs84:"-0.991,1.9072,0.5129,0.02579,0.00965,0.01166,0"},EPSG_4663:{towgs84:"-210.502,-66.902,-48.476,2.094,-15.067,-5.817,0.485"},EPSG_4664:{towgs84:"-211.939,137.626,58.3,-0.089,0.251,0.079,0.384"},EPSG_4665:{towgs84:"-105.854,165.589,-38.312,-0.003,-0.026,0.024,-0.048"},EPSG_4666:{towgs84:"631.392,-66.551,481.442,1.09,-4.445,-4.487,-4.43"},EPSG_4756:{towgs84:"-192.873,-39.382,-111.202,-0.00205,-0.0005,0.00335,0.0188"},EPSG_4723:{towgs84:"-179.483,-69.379,-27.584,-7.862,8.163,6.042,-13.925"},EPSG_4726:{towgs84:"8.853,-52.644,180.304,-0.393,-2.323,2.96,-24.081"},EPSG_4267:{towgs84:"-8.0,160.0,176.0"},EPSG_5365:{towgs84:"-0.16959,0.35312,0.51846,0.03385,-0.16325,0.03446,0.03693"},EPSG_4218:{towgs84:"304.5,306.5,-318.1"},EPSG_4242:{towgs84:"-33.722,153.789,94.959,-8.581,-4.478,4.54,8.95"},EPSG_4216:{towgs84:"-292.295,248.758,429.447,4.9971,2.99,6.6906,1.0289"},ESRI_104105:{towgs84:"631.392,-66.551,481.442,1.09,-4.445,-4.487,-4.43"},ESRI_104129:{towgs84:"0,0,0"},EPSG_4673:{towgs84:"174.05,-25.49,112.57"},EPSG_4202:{towgs84:"-124,-60,154"},EPSG_4203:{towgs84:"-117.763,-51.51,139.061,0.292,0.443,0.277,-0.191"},EPSG_3819:{towgs84:"595.48,121.69,515.35,4.115,-2.9383,0.853,-3.408"},EPSG_8694:{towgs84:"-93.799,-132.737,-219.073,-1.844,0.648,-6.37,-0.169"},EPSG_4145:{towgs84:"275.57,676.78,229.6"},EPSG_4283:{towgs84:"0.06155,-0.01087,-0.04019,0.039492,0.032722,0.032898,-0.009994"},EPSG_4317:{towgs84:"2.3287,-147.0425,-92.0802,-0.309248,0.324822,0.497299,5.689063"},EPSG_4272:{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993"},EPSG_4248:{towgs84:"-307.7,265.3,-363.5"},EPSG_5561:{towgs84:"24,-121,-76"},EPSG_5233:{towgs84:"-0.293,766.95,87.713,0.195704,1.695068,3.473016,-0.039338"},ESRI_104130:{towgs84:"-86,-98,-119"},ESRI_104102:{towgs84:"682,-203,480"},ESRI_37207:{towgs84:"7,-10,-26"},EPSG_4675:{towgs84:"59.935,118.4,-10.871"},ESRI_104109:{towgs84:"-89.121,-348.182,260.871"},ESRI_104112:{towgs84:"-185.583,-230.096,281.361"},ESRI_104113:{towgs84:"25.1,-275.6,222.6"},IGNF_WGS72G:{towgs84:"0,12,6"},IGNF_NTFG:{towgs84:"-168,-60,320"},IGNF_EFATE57G:{towgs84:"-127,-769,472"},IGNF_PGP50G:{towgs84:"324.8,153.6,172.1"},IGNF_REUN47G:{towgs84:"94,-948,-1262"},IGNF_CSG67G:{towgs84:"-186,230,110"},IGNF_GUAD48G:{towgs84:"-467,-16,-300"},IGNF_TAHI51G:{towgs84:"162,117,154"},IGNF_TAHAAG:{towgs84:"65,342,77"},IGNF_NUKU72G:{towgs84:"84,274,65"},IGNF_PETRELS72G:{towgs84:"365,194,166"},IGNF_WALL78G:{towgs84:"253,-133,-127"},IGNF_MAYO50G:{towgs84:"-382,-59,-262"},IGNF_TANNAG:{towgs84:"-139,-967,436"},IGNF_IGN72G:{towgs84:"-13,-348,292"},IGNF_ATIGG:{towgs84:"1118,23,66"},IGNF_FANGA84G:{towgs84:"150.57,158.33,118.32"},IGNF_RUSAT84G:{towgs84:"202.13,174.6,-15.74"},IGNF_KAUE70G:{towgs84:"126.74,300.1,-75.49"},IGNF_MOP90G:{towgs84:"-10.8,-1.8,12.77"},IGNF_MHPF67G:{towgs84:"338.08,212.58,-296.17"},IGNF_TAHI79G:{towgs84:"160.61,116.05,153.69"},IGNF_ANAA92G:{towgs84:"1.5,3.84,4.81"},IGNF_MARQUI72G:{towgs84:"330.91,-13.92,58.56"},IGNF_APAT86G:{towgs84:"143.6,197.82,74.05"},IGNF_TUBU69G:{towgs84:"237.17,171.61,-77.84"},IGNF_STPM50G:{towgs84:"11.363,424.148,373.13"},EPSG_4150:{towgs84:"674.374,15.056,405.346"},EPSG_4754:{towgs84:"-208.4058,-109.8777,-2.5764"},ESRI_104101:{towgs84:"372.87,149.23,585.29"},EPSG_4693:{towgs84:"0,-0.15,0.68"},EPSG_6207:{towgs84:"293.17,726.18,245.36"},EPSG_4153:{towgs84:"-133.63,-157.5,-158.62"},EPSG_4132:{towgs84:"-241.54,-163.64,396.06"},EPSG_4221:{towgs84:"-154.5,150.7,100.4"},EPSG_4266:{towgs84:"-80.7,-132.5,41.1"},EPSG_4193:{towgs84:"-70.9,-151.8,-41.4"},EPSG_5340:{towgs84:"-0.41,0.46,-0.35"},EPSG_4246:{towgs84:"-294.7,-200.1,525.5"},EPSG_4318:{towgs84:"-3.2,-5.7,2.8"},EPSG_4121:{towgs84:"-199.87,74.79,246.62"},EPSG_4223:{towgs84:"-260.1,5.5,432.2"},EPSG_4158:{towgs84:"-0.465,372.095,171.736"},EPSG_4285:{towgs84:"-128.16,-282.42,21.93"},EPSG_4613:{towgs84:"-404.78,685.68,45.47"},EPSG_4607:{towgs84:"195.671,332.517,274.607"},EPSG_4475:{towgs84:"-381.788,-57.501,-256.673"},EPSG_4208:{towgs84:"-157.84,308.54,-146.6"},EPSG_4743:{towgs84:"70.995,-335.916,262.898"},EPSG_4710:{towgs84:"-323.65,551.39,-491.22"},EPSG_7881:{towgs84:"-0.077,0.079,0.086"},EPSG_4682:{towgs84:"283.729,735.942,261.143"},EPSG_4739:{towgs84:"-156,-271,-189"},EPSG_4679:{towgs84:"-80.01,253.26,291.19"},EPSG_4750:{towgs84:"-56.263,16.136,-22.856"},EPSG_4644:{towgs84:"-10.18,-350.43,291.37"},EPSG_4695:{towgs84:"-103.746,-9.614,-255.95"},EPSG_4292:{towgs84:"-355,21,72"},EPSG_4302:{towgs84:"-61.702,284.488,472.052"},EPSG_4143:{towgs84:"-124.76,53,466.79"},EPSG_4606:{towgs84:"-153,153,307"},EPSG_4699:{towgs84:"-770.1,158.4,-498.2"},EPSG_4247:{towgs84:"-273.5,110.6,-357.9"},EPSG_4160:{towgs84:"8.88,184.86,106.69"},EPSG_4161:{towgs84:"-233.43,6.65,173.64"},EPSG_9251:{towgs84:"-9.5,122.9,138.2"},EPSG_9253:{towgs84:"-78.1,101.6,133.3"},EPSG_4297:{towgs84:"-198.383,-240.517,-107.909"},EPSG_4269:{towgs84:"0,0,0"},EPSG_4301:{towgs84:"-147,506,687"},EPSG_4618:{towgs84:"-59,-11,-52"},EPSG_4612:{towgs84:"0,0,0"},EPSG_4678:{towgs84:"44.585,-131.212,-39.544"},EPSG_4250:{towgs84:"-130,29,364"},EPSG_4144:{towgs84:"214,804,268"},EPSG_4147:{towgs84:"-17.51,-108.32,-62.39"},EPSG_4259:{towgs84:"-254.1,-5.36,-100.29"},EPSG_4164:{towgs84:"-76,-138,67"},EPSG_4211:{towgs84:"-378.873,676.002,-46.255"},EPSG_4182:{towgs84:"-422.651,-172.995,84.02"},EPSG_4224:{towgs84:"-143.87,243.37,-33.52"},EPSG_4225:{towgs84:"-205.57,168.77,-4.12"},EPSG_5527:{towgs84:"-67.35,3.88,-38.22"},EPSG_4752:{towgs84:"98,390,-22"},EPSG_4310:{towgs84:"-30,190,89"},EPSG_9248:{towgs84:"-192.26,65.72,132.08"},EPSG_4680:{towgs84:"124.5,-63.5,-281"},EPSG_4701:{towgs84:"-79.9,-158,-168.9"},EPSG_4706:{towgs84:"-146.21,112.63,4.05"},EPSG_4805:{towgs84:"682,-203,480"},EPSG_4201:{towgs84:"-165,-11,206"},EPSG_4210:{towgs84:"-157,-2,-299"},EPSG_4183:{towgs84:"-104,167,-38"},EPSG_4139:{towgs84:"11,72,-101"},EPSG_4668:{towgs84:"-86,-98,-119"},EPSG_4717:{towgs84:"-2,151,181"},EPSG_4732:{towgs84:"102,52,-38"},EPSG_4280:{towgs84:"-377,681,-50"},EPSG_4209:{towgs84:"-138,-105,-289"},EPSG_4261:{towgs84:"31,146,47"},EPSG_4658:{towgs84:"-73,46,-86"},EPSG_4721:{towgs84:"265.025,384.929,-194.046"},EPSG_4222:{towgs84:"-136,-108,-292"},EPSG_4601:{towgs84:"-255,-15,71"},EPSG_4602:{towgs84:"725,685,536"},EPSG_4603:{towgs84:"72,213.7,93"},EPSG_4605:{towgs84:"9,183,236"},EPSG_4621:{towgs84:"137,248,-430"},EPSG_4657:{towgs84:"-28,199,5"},EPSG_4316:{towgs84:"103.25,-100.4,-307.19"},EPSG_4642:{towgs84:"-13,-348,292"},EPSG_4698:{towgs84:"145,-187,103"},EPSG_4192:{towgs84:"-206.1,-174.7,-87.7"},EPSG_4311:{towgs84:"-265,120,-358"},EPSG_4135:{towgs84:"58,-283,-182"},ESRI_104138:{towgs84:"198,-226,-347"},EPSG_4245:{towgs84:"-11,851,5"},EPSG_4142:{towgs84:"-125,53,467"},EPSG_4213:{towgs84:"-106,-87,188"},EPSG_4253:{towgs84:"-133,-77,-51"},EPSG_4129:{towgs84:"-132,-110,-335"},EPSG_4713:{towgs84:"-77,-128,142"},EPSG_4239:{towgs84:"217,823,299"},EPSG_4146:{towgs84:"295,736,257"},EPSG_4155:{towgs84:"-83,37,124"},EPSG_4165:{towgs84:"-173,253,27"},EPSG_4672:{towgs84:"175,-38,113"},EPSG_4236:{towgs84:"-637,-549,-203"},EPSG_4251:{towgs84:"-90,40,88"},EPSG_4271:{towgs84:"-2,374,172"},EPSG_4175:{towgs84:"-88,4,101"},EPSG_4716:{towgs84:"298,-304,-375"},EPSG_4315:{towgs84:"-23,259,-9"},EPSG_4744:{towgs84:"-242.2,-144.9,370.3"},EPSG_4244:{towgs84:"-97,787,86"},EPSG_4293:{towgs84:"616,97,-251"},EPSG_4714:{towgs84:"-127,-769,472"},EPSG_4736:{towgs84:"260,12,-147"},EPSG_6883:{towgs84:"-235,-110,393"},EPSG_6894:{towgs84:"-63,176,185"},EPSG_4205:{towgs84:"-43,-163,45"},EPSG_4256:{towgs84:"41,-220,-134"},EPSG_4262:{towgs84:"639,405,60"},EPSG_4604:{towgs84:"174,359,365"},EPSG_4169:{towgs84:"-115,118,426"},EPSG_4620:{towgs84:"-106,-129,165"},EPSG_4184:{towgs84:"-203,141,53"},EPSG_4616:{towgs84:"-289,-124,60"},EPSG_9403:{towgs84:"-307,-92,127"},EPSG_4684:{towgs84:"-133,-321,50"},EPSG_4708:{towgs84:"-491,-22,435"},EPSG_4707:{towgs84:"114,-116,-333"},EPSG_4709:{towgs84:"145,75,-272"},EPSG_4712:{towgs84:"-205,107,53"},EPSG_4711:{towgs84:"124,-234,-25"},EPSG_4718:{towgs84:"230,-199,-752"},EPSG_4719:{towgs84:"211,147,111"},EPSG_4724:{towgs84:"208,-435,-229"},EPSG_4725:{towgs84:"189,-79,-202"},EPSG_4735:{towgs84:"647,1777,-1124"},EPSG_4722:{towgs84:"-794,119,-298"},EPSG_4728:{towgs84:"-307,-92,127"},EPSG_4734:{towgs84:"-632,438,-609"},EPSG_4727:{towgs84:"912,-58,1227"},EPSG_4729:{towgs84:"185,165,42"},EPSG_4730:{towgs84:"170,42,84"},EPSG_4733:{towgs84:"276,-57,149"},ESRI_37218:{towgs84:"230,-199,-752"},ESRI_37240:{towgs84:"-7,215,225"},ESRI_37221:{towgs84:"252,-209,-751"},ESRI_4305:{towgs84:"-123,-206,219"},ESRI_104139:{towgs84:"-73,-247,227"},EPSG_4748:{towgs84:"51,391,-36"},EPSG_4219:{towgs84:"-384,664,-48"},EPSG_4255:{towgs84:"-333,-222,114"},EPSG_4257:{towgs84:"-587.8,519.75,145.76"},EPSG_4646:{towgs84:"-963,510,-359"},EPSG_6881:{towgs84:"-24,-203,268"},EPSG_6882:{towgs84:"-183,-15,273"},EPSG_4715:{towgs84:"-104,-129,239"},IGNF_RGF93GDD:{towgs84:"0,0,0"},IGNF_RGM04GDD:{towgs84:"0,0,0"},IGNF_RGSPM06GDD:{towgs84:"0,0,0"},IGNF_RGTAAF07GDD:{towgs84:"0,0,0"},IGNF_RGFG95GDD:{towgs84:"0,0,0"},IGNF_RGNCG:{towgs84:"0,0,0"},IGNF_RGPFGDD:{towgs84:"0,0,0"},IGNF_ETRS89G:{towgs84:"0,0,0"},IGNF_RGR92GDD:{towgs84:"0,0,0"},EPSG_4173:{towgs84:"0,0,0"},EPSG_4180:{towgs84:"0,0,0"},EPSG_4619:{towgs84:"0,0,0"},EPSG_4667:{towgs84:"0,0,0"},EPSG_4075:{towgs84:"0,0,0"},EPSG_6706:{towgs84:"0,0,0"},EPSG_7798:{towgs84:"0,0,0"},EPSG_4661:{towgs84:"0,0,0"},EPSG_4669:{towgs84:"0,0,0"},EPSG_8685:{towgs84:"0,0,0"},EPSG_4151:{towgs84:"0,0,0"},EPSG_9702:{towgs84:"0,0,0"},EPSG_4758:{towgs84:"0,0,0"},EPSG_4761:{towgs84:"0,0,0"},EPSG_4765:{towgs84:"0,0,0"},EPSG_8997:{towgs84:"0,0,0"},EPSG_4023:{towgs84:"0,0,0"},EPSG_4670:{towgs84:"0,0,0"},EPSG_4694:{towgs84:"0,0,0"},EPSG_4148:{towgs84:"0,0,0"},EPSG_4163:{towgs84:"0,0,0"},EPSG_4167:{towgs84:"0,0,0"},EPSG_4189:{towgs84:"0,0,0"},EPSG_4190:{towgs84:"0,0,0"},EPSG_4176:{towgs84:"0,0,0"},EPSG_4659:{towgs84:"0,0,0"},EPSG_3824:{towgs84:"0,0,0"},EPSG_3889:{towgs84:"0,0,0"},EPSG_4046:{towgs84:"0,0,0"},EPSG_4081:{towgs84:"0,0,0"},EPSG_4558:{towgs84:"0,0,0"},EPSG_4483:{towgs84:"0,0,0"},EPSG_5013:{towgs84:"0,0,0"},EPSG_5264:{towgs84:"0,0,0"},EPSG_5324:{towgs84:"0,0,0"},EPSG_5354:{towgs84:"0,0,0"},EPSG_5371:{towgs84:"0,0,0"},EPSG_5373:{towgs84:"0,0,0"},EPSG_5381:{towgs84:"0,0,0"},EPSG_5393:{towgs84:"0,0,0"},EPSG_5489:{towgs84:"0,0,0"},EPSG_5593:{towgs84:"0,0,0"},EPSG_6135:{towgs84:"0,0,0"},EPSG_6365:{towgs84:"0,0,0"},EPSG_5246:{towgs84:"0,0,0"},EPSG_7886:{towgs84:"0,0,0"},EPSG_8431:{towgs84:"0,0,0"},EPSG_8427:{towgs84:"0,0,0"},EPSG_8699:{towgs84:"0,0,0"},EPSG_8818:{towgs84:"0,0,0"},EPSG_4757:{towgs84:"0,0,0"},EPSG_9140:{towgs84:"0,0,0"},EPSG_8086:{towgs84:"0,0,0"},EPSG_4686:{towgs84:"0,0,0"},EPSG_4737:{towgs84:"0,0,0"},EPSG_4702:{towgs84:"0,0,0"},EPSG_4747:{towgs84:"0,0,0"},EPSG_4749:{towgs84:"0,0,0"},EPSG_4674:{towgs84:"0,0,0"},EPSG_4755:{towgs84:"0,0,0"},EPSG_4759:{towgs84:"0,0,0"},EPSG_4762:{towgs84:"0,0,0"},EPSG_4763:{towgs84:"0,0,0"},EPSG_4764:{towgs84:"0,0,0"},EPSG_4166:{towgs84:"0,0,0"},EPSG_4170:{towgs84:"0,0,0"},EPSG_5546:{towgs84:"0,0,0"},EPSG_7844:{towgs84:"0,0,0"},EPSG_4818:{towgs84:"589,76,480"},EPSG_10328:{towgs84:"0,0,0"},EPSG_9782:{towgs84:"0,0,0"},EPSG_9777:{towgs84:"0,0,0"},EPSG_10690:{towgs84:"0,0,0"},EPSG_10639:{towgs84:"0,0,0"},EPSG_10739:{towgs84:"0,0,0"},EPSG_7686:{towgs84:"0,0,0"},EPSG_8900:{towgs84:"0,0,0"},EPSG_5886:{towgs84:"0,0,0"},EPSG_7683:{towgs84:"0,0,0"},EPSG_6668:{towgs84:"0,0,0"},EPSG_20046:{towgs84:"0,0,0"},EPSG_10299:{towgs84:"0,0,0"},EPSG_10310:{towgs84:"0,0,0"},EPSG_10475:{towgs84:"0,0,0"},EPSG_4742:{towgs84:"0,0,0"},EPSG_10671:{towgs84:"0,0,0"},EPSG_10762:{towgs84:"0,0,0"},EPSG_10725:{towgs84:"0,0,0"},EPSG_10791:{towgs84:"0,0,0"},EPSG_10800:{towgs84:"0,0,0"},EPSG_10305:{towgs84:"0,0,0"},EPSG_10941:{towgs84:"0,0,0"},EPSG_10968:{towgs84:"0,0,0"},EPSG_10875:{towgs84:"0,0,0"},EPSG_6318:{towgs84:"0,0,0"},EPSG_10910:{towgs84:"0,0,0"}};for(JDe in k6t)S6t=k6t[JDe],S6t.datumName&&(k6t[S6t.datumName]=S6t);KDe=k6t});function BVi(i,t,e,r,n,s,a){var o={};return i===void 0||i==="none"?o.datum_type=Drt:o.datum_type=rDe,t&&(o.datum_params=t.map(parseFloat),(o.datum_params[0]!==0||o.datum_params[1]!==0||o.datum_params[2]!==0)&&(o.datum_type=iB),o.datum_params.length>3&&(o.datum_params[3]!==0||o.datum_params[4]!==0||o.datum_params[5]!==0||o.datum_params[6]!==0)&&(o.datum_type=rB,o.datum_params[3]*=zG,o.datum_params[4]*=zG,o.datum_params[5]*=zG,o.datum_params[6]=o.datum_params[6]/1e6+1)),a&&(o.datum_type=Nb,o.grids=a),o.a=e,o.b=r,o.es=n,o.ep2=s,o}var WDe,ZDe=Pt(()=>{dc();WDe=BVi});function njt(i,t,e){return t instanceof ArrayBuffer?xVi(i,t,e):{ready:QVi(i,t)}}function xVi(i,t,e){var r=!0;e!==void 0&&e.includeErrorFields===!1&&(r=!1);var n=new DataView(t),s=vVi(n),a=wVi(n,s),o=SVi(n,a,s,r),A={header:a,subgrids:o};return rjt[i]=A,A}async function QVi(i,t){for(var e=[],r=await t.getImageCount(),n=r-1;n>=0;n--){var s=await t.getImage(n),a=await s.readRasters(),o=a,A=[s.getWidth(),s.getHeight()],l=s.getBoundingBox().map(XDe),c=[s.fileDirectory.ModelPixelScale[0],s.fileDirectory.ModelPixelScale[1]].map(XDe),p=l[0]+(A[0]-1)*c[0],d=l[3]-(A[1]-1)*c[1],_=o[0],I=o[1],y=[];for(let w=A[1]-1;w>=0;w--)for(let D=A[0]-1;D>=0;D--){var B=w*A[0]+D;y.push([-gM(I[B]),gM(_[B])])}e.push({del:c,lim:A,ll:[-p,d],cvs:y})}var x={header:{nSubgrids:r},subgrids:e};return rjt[i]=x,x}function $De(i){if(i===void 0)return null;var t=i.split(",");return t.map(bVi)}function bVi(i){if(i.length===0)return null;var t=i[0]==="@";return t&&(i=i.slice(1)),i==="null"?{name:"null",mandatory:!t,grid:null,isNull:!0}:{name:i,mandatory:!t,grid:rjt[i]||null,isNull:!1}}function XDe(i){return i*Math.PI/180}function gM(i){return i/3600*Math.PI/180}function vVi(i){var t=i.getInt32(8,!1);return t===11?!1:(t=i.getInt32(8,!0),t!==11&&console.warn("Failed to detect nadgrid endian-ness, defaulting to little-endian"),!0)}function wVi(i,t){return{nFields:i.getInt32(8,t),nSubgridFields:i.getInt32(24,t),nSubgrids:i.getInt32(40,t),shiftType:ijt(i,56,64).trim(),fromSemiMajorAxis:i.getFloat64(120,t),fromSemiMinorAxis:i.getFloat64(136,t),toSemiMajorAxis:i.getFloat64(152,t),toSemiMinorAxis:i.getFloat64(168,t)}}function ijt(i,t,e){return String.fromCharCode.apply(null,new Uint8Array(i.buffer.slice(t,e)))}function SVi(i,t,e,r){for(var n=176,s=[],a=0;a<t.nSubgrids;a++){var o=MVi(i,n,e),A=DVi(i,n,o,e,r),l=Math.round(1+(o.upperLongitude-o.lowerLongitude)/o.longitudeInterval),c=Math.round(1+(o.upperLatitude-o.lowerLatitude)/o.latitudeInterval);s.push({ll:[gM(o.lowerLongitude),gM(o.lowerLatitude)],del:[gM(o.longitudeInterval),gM(o.latitudeInterval)],lim:[l,c],count:o.gridNodeCount,cvs:kVi(A)});var p=16;r===!1&&(p=8),n+=176+o.gridNodeCount*p}return s}function kVi(i){return i.map(function(t){return[gM(t.longitudeShift),gM(t.latitudeShift)]})}function MVi(i,t,e){return{name:ijt(i,t+8,t+16).trim(),parent:ijt(i,t+24,t+24+8).trim(),lowerLatitude:i.getFloat64(t+72,e),upperLatitude:i.getFloat64(t+88,e),lowerLongitude:i.getFloat64(t+104,e),upperLongitude:i.getFloat64(t+120,e),latitudeInterval:i.getFloat64(t+136,e),longitudeInterval:i.getFloat64(t+152,e),gridNodeCount:i.getInt32(t+168,e)}}function DVi(i,t,e,r,n){var s=t+176,a=16;n===!1&&(a=8);for(var o=[],A=0;A<e.gridNodeCount;A++){var l={latitudeShift:i.getFloat32(s+A*a,r),longitudeShift:i.getFloat32(s+A*a+4,r)};n!==!1&&(l.latitudeAccuracy=i.getFloat32(s+A*a+8,r),l.longitudeAccuracy=i.getFloat32(s+A*a+12,r)),o.push(l)}return o}var rjt,sjt=Pt(()=>{rjt={}});function Cz(i,t){if(!(this instanceof Cz))return new Cz(i);this.forward=null,this.inverse=null,this.init=null,this.name,this.names=null,this.title,t=t||function(l){if(l)throw l};var e=NDe(i);if(typeof e!="object"){t("Could not parse to valid json: "+i);return}var r=Cz.projections.get(e.projName);if(!r){t("Could not get projection name from: "+i);return}if(e.datumCode&&e.datumCode!=="none"){var n=ky(KDe,e.datumCode);n&&(e.datum_params=e.datum_params||(n.towgs84?n.towgs84.split(","):null),e.ellps=n.ellipse,e.datumName=n.datumName?n.datumName:e.datumCode)}e.k0=e.k0||1,e.axis=e.axis||"enu",e.ellps=e.ellps||"wgs84",e.lat1=e.lat1||e.lat0;var s=YDe(e.a,e.b,e.rf,e.ellps,e.sphere),a=zDe(s.a,s.b,s.rf,e.R_A),o=$De(e.nadgrids),A=e.datum||WDe(e.datumCode,e.datum_params,s.a,s.b,a.es,a.ep2,o);WOt(this,e),WOt(this,r),this.a=s.a,this.b=s.b,this.rf=s.rf,this.sphere=s.sphere,this.es=a.es,this.e=a.e,this.ep2=a.ep2,this.datum=A,"init"in this&&typeof this.init=="function"&&this.init(),t(null,this)}var nB,Urt=Pt(()=>{LDe();GDe();tjt();qDe();VDe();ZDe();Rrt();sjt();Cz.projections=jDe;Cz.projections.start();nB=Cz});function tRe(i,t){return i.datum_type!==t.datum_type||i.a!==t.a||Math.abs(i.es-t.es)>5e-11?!1:i.datum_type===iB?i.datum_params[0]===t.datum_params[0]&&i.datum_params[1]===t.datum_params[1]&&i.datum_params[2]===t.datum_params[2]:i.datum_type===rB?i.datum_params[0]===t.datum_params[0]&&i.datum_params[1]===t.datum_params[1]&&i.datum_params[2]===t.datum_params[2]&&i.datum_params[3]===t.datum_params[3]&&i.datum_params[4]===t.datum_params[4]&&i.datum_params[5]===t.datum_params[5]&&i.datum_params[6]===t.datum_params[6]:!0}function M6t(i,t,e){var r=i.x,n=i.y,s=i.z?i.z:0,a,o,A,l;if(n<-ys&&n>-1.001*ys)n=-ys;else if(n>ys&&n<1.001*ys)n=ys;else{if(n<-ys)return{x:-1/0,y:-1/0,z:i.z};if(n>ys)return{x:1/0,y:1/0,z:i.z}}return r>Math.PI&&(r-=2*Math.PI),o=Math.sin(n),l=Math.cos(n),A=o*o,a=e/Math.sqrt(1-t*A),{x:(a+s)*l*Math.cos(r),y:(a+s)*l*Math.sin(r),z:(a*(1-t)+s)*o}}function D6t(i,t,e,r){var n=1e-12,s=n*n,a=30,o,A,l,c,p,d,_,I,y,B,x,w,D,T=i.x,j=i.y,z=i.z?i.z:0,W,N,F;if(o=Math.sqrt(T*T+j*j),A=Math.sqrt(T*T+j*j+z*z),o/e<n){if(W=0,A/e<n)return N=ys,F=-r,{x:i.x,y:i.y,z:i.z}}else W=Math.atan2(j,T);l=z/A,c=o/A,p=1/Math.sqrt(1-t*(2-t)*c*c),I=c*(1-t)*p,y=l*p,D=0;do D++,_=e/Math.sqrt(1-t*y*y),F=o*I+z*y-_*(1-t*y*y),d=t*_/(_+F),p=1/Math.sqrt(1-d*(2-d)*c*c),B=c*(1-d)*p,x=l*p,w=x*I-B*y,I=B,y=x;while(w*w>s&&D<a);return N=Math.atan(x/Math.abs(B)),{x:W,y:N,z:F}}function eRe(i,t,e){if(t===iB)return{x:i.x+e[0],y:i.y+e[1],z:i.z+e[2]};if(t===rB){var r=e[0],n=e[1],s=e[2],a=e[3],o=e[4],A=e[5],l=e[6];return{x:l*(i.x-A*i.y+o*i.z)+r,y:l*(A*i.x+i.y-a*i.z)+n,z:l*(-o*i.x+a*i.y+i.z)+s}}}function iRe(i,t,e){if(t===iB)return{x:i.x-e[0],y:i.y-e[1],z:i.z-e[2]};if(t===rB){var r=e[0],n=e[1],s=e[2],a=e[3],o=e[4],A=e[5],l=e[6],c=(i.x-r)/l,p=(i.y-n)/l,d=(i.z-s)/l;return{x:c+A*p-o*d,y:-A*c+p+a*d,z:o*c-a*p+d}}}var ajt=Pt(()=>{"use strict";dc()});function R6t(i){return i===iB||i===rB}function sRe(i,t,e){if(tRe(i,t)||i.datum_type===Drt||t.datum_type===Drt)return e;var r=i.a,n=i.es;if(i.datum_type===Nb){var s=rRe(i,!1,e);if(s!==0)return;r=TOt,n=UOt}var a=t.a,o=t.b,A=t.es;if(t.datum_type===Nb&&(a=TOt,o=nDe,A=UOt),n===A&&r===a&&!R6t(i.datum_type)&&!R6t(t.datum_type))return e;if(e=M6t(e,n,r),R6t(i.datum_type)&&(e=eRe(e,i.datum_type,i.datum_params)),R6t(t.datum_type)&&(e=iRe(e,t.datum_type,t.datum_params)),e=D6t(e,A,a,o),t.datum_type===Nb){var l=rRe(t,!0,e);if(l!==0)return}return e}function rRe(i,t,e){if(i.grids===null||i.grids.length===0)return console.log("Grid shift grids not found"),-1;var r={x:-e.x,y:e.y},n={x:Number.NaN,y:Number.NaN},s=[];t:for(var a=0;a<i.grids.length;a++){var o=i.grids[a];if(s.push(o.name),o.isNull){n=r;break}if(o.grid===null){if(o.mandatory)return console.log("Unable to find mandatory grid '"+o.name+"'"),-1;continue}for(var A=o.grid.subgrids,l=0,c=A.length;l<c;l++){var p=A[l],d=(Math.abs(p.del[1])+Math.abs(p.del[0]))/1e4,_=p.ll[0]-d,I=p.ll[1]-d,y=p.ll[0]+(p.lim[0]-1)*p.del[0]+d,B=p.ll[1]+(p.lim[1]-1)*p.del[1]+d;if(!(I>r.y||_>r.x||B<r.y||y<r.x)&&(n=RVi(r,t,p),!isNaN(n.x)))break t}}return isNaN(n.x)?(console.log("Failed to find a grid shift table for location '"+-r.x*f1+" "+r.y*f1+" tried: '"+s+"'"),-1):(e.x=-n.x,e.y=n.y,0)}function RVi(i,t,e){var r={x:Number.NaN,y:Number.NaN};if(isNaN(i.x))return r;var n={x:i.x,y:i.y};n.x-=e.ll[0],n.y-=e.ll[1],n.x=zs(n.x-Math.PI)+Math.PI;var s=nRe(n,e);if(t){if(isNaN(s.x))return r;s.x=n.x-s.x,s.y=n.y-s.y;var a=9,o=1e-12,A,l;do{if(l=nRe(s,e),isNaN(l.x)){console.log("Inverse grid shift iteration failed, presumably at grid edge. Using first approximation.");break}A={x:n.x-(l.x+s.x),y:n.y-(l.y+s.y)},s.x+=A.x,s.y+=A.y}while(a--&&Math.abs(A.x)>o&&Math.abs(A.y)>o);if(a<0)return console.log("Inverse grid shift iterator failed to converge."),r;r.x=zs(s.x+e.ll[0]),r.y=s.y+e.ll[1]}else isNaN(s.x)||(r.x=i.x+s.x,r.y=i.y+s.y);return r}function nRe(i,t){var e={x:i.x/t.del[0],y:i.y/t.del[1]},r={x:Math.floor(e.x),y:Math.floor(e.y)},n={x:e.x-1*r.x,y:e.y-1*r.y},s={x:Number.NaN,y:Number.NaN},a;if(r.x<0||r.x>=t.lim[0]||r.y<0||r.y>=t.lim[1])return s;a=r.y*t.lim[0]+r.x;var o={x:t.cvs[a][0],y:t.cvs[a][1]};a++;var A={x:t.cvs[a][0],y:t.cvs[a][1]};a+=t.lim[0];var l={x:t.cvs[a][0],y:t.cvs[a][1]};a--;var c={x:t.cvs[a][0],y:t.cvs[a][1]},p=n.x*n.y,d=n.x*(1-n.y),_=(1-n.x)*(1-n.y),I=(1-n.x)*n.y;return s.x=_*o.x+d*A.x+I*c.x+p*l.x,s.y=_*o.y+d*A.y+I*c.y+p*l.y,s}var aRe=Pt(()=>{dc();ajt();Cu()});function ojt(i,t,e){var r=e.x,n=e.y,s=e.z||0,a,o,A,l={};for(A=0;A<3;A++)if(!(t&&A===2&&e.z===void 0))switch(A===0?(a=r,"ew".indexOf(i.axis[A])!==-1?o="x":o="y"):A===1?(a=n,"ns".indexOf(i.axis[A])!==-1?o="y":o="x"):(a=s,o="z"),i.axis[A]){case"e":l[o]=a;break;case"w":l[o]=-a;break;case"n":l[o]=a;break;case"s":l[o]=-a;break;case"u":e[o]!==void 0&&(l.z=a);break;case"d":e[o]!==void 0&&(l.z=-a);break;default:return null}return l}var oRe=Pt(()=>{});function N6t(i){var t={x:i[0],y:i[1]};return i.length>2&&(t.z=i[2]),i.length>3&&(t.m=i[3]),t}var Ajt=Pt(()=>{});function lRe(i){ARe(i.x),ARe(i.y)}function ARe(i){if(typeof Number.isFinite=="function"){if(Number.isFinite(i))return;throw new TypeError("coordinates must be finite numbers")}if(typeof i!="number"||i!==i||!isFinite(i))throw new TypeError("coordinates must be finite numbers")}var cRe=Pt(()=>{});function NVi(i,t){return(i.datum.datum_type===iB||i.datum.datum_type===rB||i.datum.datum_type===Nb)&&t.datumCode!=="WGS84"||(t.datum.datum_type===iB||t.datum.datum_type===rB||t.datum.datum_type===Nb)&&i.datumCode!=="WGS84"}function KG(i,t,e,r){var n;Array.isArray(e)?e=N6t(e):e={x:e.x,y:e.y,z:e.z,m:e.m};var s=e.z!==void 0;if(lRe(e),i.datum&&t.datum&&NVi(i,t)&&(n=new nB("WGS84"),e=KG(i,n,e,r),i=n),r&&i.axis!=="enu"&&(e=ojt(i,!1,e)),i.projName==="longlat")e={x:e.x*Gu,y:e.y*Gu,z:e.z||0};else if(i.to_meter&&(e={x:e.x*i.to_meter,y:e.y*i.to_meter,z:e.z||0}),e=i.inverse(e),!e)return;if(i.from_greenwich&&(e.x+=i.from_greenwich),e=sRe(i.datum,t.datum,e),!!e)return e=e,t.from_greenwich&&(e={x:e.x-t.from_greenwich,y:e.y,z:e.z||0}),t.projName==="longlat"?e={x:e.x*f1,y:e.y*f1,z:e.z||0}:(e=t.forward(e),t.to_meter&&(e={x:e.x/t.to_meter,y:e.y/t.to_meter,z:e.z||0})),r&&t.axis!=="enu"?ojt(t,!0,e):(e&&!s&&delete e.z,e)}var ljt=Pt(()=>{dc();aRe();oRe();Urt();Ajt();cRe()});function cjt(i,t,e,r){var n,s,a;return Array.isArray(e)?(n=KG(i,t,e,r)||{x:NaN,y:NaN},e.length>2?typeof i.name<"u"&&i.name==="geocent"||typeof t.name<"u"&&t.name==="geocent"?typeof n.z=="number"?[n.x,n.y,n.z].concat(e.slice(3)):[n.x,n.y,e[2]].concat(e.slice(3)):[n.x,n.y].concat(e.slice(2)):[n.x,n.y]):(s=KG(i,t,e,r),a=Object.keys(e),a.length===2||a.forEach(function(o){if(typeof i.name<"u"&&i.name==="geocent"||typeof t.name<"u"&&t.name==="geocent"){if(o==="x"||o==="y"||o==="z")return}else if(o==="x"||o==="y")return;s[o]=e[o]}),s)}function L6t(i){return i instanceof nB?i:typeof i=="object"&&"oProj"in i?i.oProj:nB(i)}function LVi(i,t,e){var r,n,s=!1,a;return typeof t>"u"?(n=L6t(i),r=hRe,s=!0):(typeof t.x<"u"||Array.isArray(t))&&(e=t,n=L6t(i),r=hRe,s=!0),r||(r=L6t(i)),n||(n=L6t(t)),e?cjt(r,n,e):(a={forward:function(o,A){return cjt(r,n,o,A)},inverse:function(o,A){return cjt(n,r,o,A)}},s&&(a.oProj=n),a)}var hRe,uRe,gRe=Pt(()=>{Urt();ljt();hRe=nB("WGS84");uRe=LVi});function ujt(i,t){return t=t||5,UVi(FVi({lat:i[1],lon:i[0]}),t)}function GVi(i){var t=pjt(yRe(i.toUpperCase()));return t.lat&&t.lon?[t.lon,t.lat,t.lon,t.lat]:[t.left,t.bottom,t.right,t.top]}function gjt(i){var t=pjt(yRe(i.toUpperCase()));return t.lat&&t.lon?[t.lon,t.lat]:[(t.left+t.right)/2,(t.top+t.bottom)/2]}function hjt(i){return i*(Math.PI/180)}function dRe(i){return 180*(i/Math.PI)}function FVi(i){var t=i.lat,e=i.lon,r=6378137,n=.00669438,s=.9996,a,o,A,l,c,p,d,_=hjt(t),I=hjt(e),y,B;B=Math.floor((e+180)/6)+1,e===180&&(B=60),t>=56&&t<64&&e>=3&&e<12&&(B=32),t>=72&&t<84&&(e>=0&&e<9?B=31:e>=9&&e<21?B=33:e>=21&&e<33?B=35:e>=33&&e<42&&(B=37)),a=(B-1)*6-180+3,y=hjt(a),o=n/(1-n),A=r/Math.sqrt(1-n*Math.sin(_)*Math.sin(_)),l=Math.tan(_)*Math.tan(_),c=o*Math.cos(_)*Math.cos(_),p=Math.cos(_)*(I-y),d=r*((1-n/4-3*n*n/64-5*n*n*n/256)*_-(3*n/8+3*n*n/32+45*n*n*n/1024)*Math.sin(2*_)+(15*n*n/256+45*n*n*n/1024)*Math.sin(4*_)-35*n*n*n/3072*Math.sin(6*_));var x=s*A*(p+(1-l+c)*p*p*p/6+(5-18*l+l*l+72*c-58*o)*p*p*p*p*p/120)+5e5,w=s*(d+A*Math.tan(_)*(p*p/2+(5-l+9*c+4*c*c)*p*p*p*p/24+(61-58*l+l*l+600*c-330*o)*p*p*p*p*p*p/720));return t<0&&(w+=1e7),{northing:Math.round(w),easting:Math.round(x),zoneNumber:B,zoneLetter:TVi(t)}}function pjt(i){var t=i.northing,e=i.easting,r=i.zoneLetter,n=i.zoneNumber;if(n<0||n>60)return null;var s=.9996,a=6378137,o=.00669438,A,l=(1-Math.sqrt(1-o))/(1+Math.sqrt(1-o)),c,p,d,_,I,y,B,x,w,D=e-5e5,T=t;r<"N"&&(T-=1e7),B=(n-1)*6-180+3,A=o/(1-o),y=T/s,x=y/(a*(1-o/4-3*o*o/64-5*o*o*o/256)),w=x+(3*l/2-27*l*l*l/32)*Math.sin(2*x)+(21*l*l/16-55*l*l*l*l/32)*Math.sin(4*x)+151*l*l*l/96*Math.sin(6*x),c=a/Math.sqrt(1-o*Math.sin(w)*Math.sin(w)),p=Math.tan(w)*Math.tan(w),d=A*Math.cos(w)*Math.cos(w),_=a*(1-o)/Math.pow(1-o*Math.sin(w)*Math.sin(w),1.5),I=D/(c*s);var j=w-c*Math.tan(w)/_*(I*I/2-(5+3*p+10*d-4*d*d-9*A)*I*I*I*I/24+(61+90*p+298*d+45*p*p-252*A-3*d*d)*I*I*I*I*I*I/720);j=dRe(j);var z=(I-(1+2*p+d)*I*I*I/6+(5-2*d+28*p-3*d*d+8*A+24*p*p)*I*I*I*I*I/120)/Math.cos(w);z=B+dRe(z);var W;if(i.accuracy){var N=pjt({northing:i.northing+i.accuracy,easting:i.easting+i.accuracy,zoneLetter:i.zoneLetter,zoneNumber:i.zoneNumber});W={top:N.lat,right:N.lon,bottom:j,left:z}}else W={lat:j,lon:z};return W}function TVi(i){var t="Z";return 84>=i&&i>=72?t="X":72>i&&i>=64?t="W":64>i&&i>=56?t="V":56>i&&i>=48?t="U":48>i&&i>=40?t="T":40>i&&i>=32?t="S":32>i&&i>=24?t="R":24>i&&i>=16?t="Q":16>i&&i>=8?t="P":8>i&&i>=0?t="N":0>i&&i>=-8?t="M":-8>i&&i>=-16?t="L":-16>i&&i>=-24?t="K":-24>i&&i>=-32?t="J":-32>i&&i>=-40?t="H":-40>i&&i>=-48?t="G":-48>i&&i>=-56?t="F":-56>i&&i>=-64?t="E":-64>i&&i>=-72?t="D":-72>i&&i>=-80&&(t="C"),t}function UVi(i,t){var e="00000"+i.easting,r="00000"+i.northing;return i.zoneNumber+i.zoneLetter+PVi(i.easting,i.northing,i.zoneNumber)+e.substr(e.length-5,t)+r.substr(r.length-5,t)}function PVi(i,t,e){var r=IRe(e),n=Math.floor(i/1e5),s=Math.floor(t/1e5)%20;return OVi(n,s,r)}function IRe(i){var t=i%pRe;return t===0&&(t=pRe),t}function OVi(i,t,e){var r=e-1,n=_Re.charCodeAt(r),s=fRe.charCodeAt(r),a=n+i-1,o=s+t,A=!1;a>Ort&&(a=a-Ort+Ez-1,A=!0),(a===iI||n<iI&&a>iI||(a>iI||n<iI)&&A)&&a++,(a===dC||n<dC&&a>dC||(a>dC||n<dC)&&A)&&(a++,a===iI&&a++),a>Ort&&(a=a-Ort+Ez-1),o>Prt?(o=o-Prt+Ez-1,A=!0):A=!1,(o===iI||s<iI&&o>iI||(o>iI||s<iI)&&A)&&o++,(o===dC||s<dC&&o>dC||(o>dC||s<dC)&&A)&&(o++,o===iI&&o++),o>Prt&&(o=o-Prt+Ez-1);var l=String.fromCharCode(a)+String.fromCharCode(o);return l}function yRe(i){if(i&&i.length===0)throw"MGRSPoint coverting from nothing";for(var t=i.length,e=null,r="",n,s=0;!/[A-Z]/.test(n=i.charAt(s));){if(s>=2)throw"MGRSPoint bad conversion from: "+i;r+=n,s++}var a=parseInt(r,10);if(s===0||s+3>t)throw"MGRSPoint bad conversion from: "+i;var o=i.charAt(s++);if(o<="A"||o==="B"||o==="Y"||o>="Z"||o==="I"||o==="O")throw"MGRSPoint zone letter "+o+" not handled: "+i;e=i.substring(s,s+=2);for(var A=IRe(a),l=jVi(e.charAt(0),A),c=HVi(e.charAt(1),A);c<zVi(o);)c+=2e6;var p=t-s;if(p%2!==0)throw`MGRSPoint has to have an even number
|
|
4564
4564
|
of digits after the zone letter and two 100km letters - front
|
|
4565
4565
|
half for easting meters, second half for
|
|
4566
|
-
northing meters`+i;var d=p/2,_=0,I=0,y,B,x,w,D;return d>0&&(y=1e5/Math.pow(10,d),B=i.substring(s,s+d),_=parseFloat(B)*y,x=i.substring(s+d),I=parseFloat(x)*y),w=_+l,D=I+c,{easting:w,northing:D,zoneLetter:o,zoneNumber:a,accuracy:y}}function jVi(i,t){for(var e=_Re.charCodeAt(t-1),r=1e5,n=!1;e!==i.charCodeAt(0);){if(e++,e===iI&&e++,e===dC&&e++,e>Ort){if(n)throw"Bad character: "+i;e=Ez,n=!0}r+=1e5}return r}function HVi(i,t){if(i>"V")throw"MGRSPoint given invalid Northing "+i;for(var e=fRe.charCodeAt(t-1),r=0,n=!1;e!==i.charCodeAt(0);){if(e++,e===iI&&e++,e===dC&&e++,e>Prt){if(n)throw"Bad character: "+i;e=Ez,n=!0}r+=1e5}return r}function zVi(i){var t;switch(i){case"C":t=11e5;break;case"D":t=2e6;break;case"E":t=28e5;break;case"F":t=37e5;break;case"G":t=46e5;break;case"H":t=55e5;break;case"J":t=64e5;break;case"K":t=73e5;break;case"L":t=82e5;break;case"M":t=91e5;break;case"N":t=0;break;case"P":t=8e5;break;case"Q":t=17e5;break;case"R":t=26e5;break;case"S":t=35e5;break;case"T":t=44e5;break;case"U":t=53e5;break;case"V":t=62e5;break;case"W":t=7e6;break;case"X":t=79e5;break;default:t=-1}if(t>=0)return t;throw"Invalid zone letter: "+i}var pRe,_Re,fRe,Ez,iI,dC,Prt,Ort,mRe,djt=Pt(()=>{pRe=6,_Re="AJSAJS",fRe="AFAFAF",Ez=65,iI=73,dC=79,Prt=86,Ort=90,mRe={forward:ujt,inverse:GVi,toPoint:gjt}});function Bz(i,t,e){if(!(this instanceof Bz))return new Bz(i,t,e);if(Array.isArray(i))this.x=i[0],this.y=i[1],this.z=i[2]||0;else if(typeof i=="object")this.x=i.x,this.y=i.y,this.z=i.z||0;else if(typeof i=="string"&&typeof t>"u"){var r=i.split(",");this.x=parseFloat(r[0]),this.y=parseFloat(r[1]),this.z=parseFloat(r[2])||0}else this.x=i,this.y=t,this.z=e||0;console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}var CRe,ERe=Pt(()=>{djt();Bz.fromMGRS=function(i){return new Bz(gjt(i))};Bz.prototype.toMGRS=function(i){return ujt([this.x,this.y],i)};CRe=Bz});function xz(i){var t=[];t[0]=YVi-i*(qVi+i*(BRe+i*(xRe+i*QRe))),t[1]=i*(JVi-i*(BRe+i*(xRe+i*QRe)));var e=i*i;return t[2]=e*(KVi-i*(VVi+i*WVi)),e*=i,t[3]=e*(ZVi-i*XVi),t[4]=e*i*$Vi,t}var YVi,qVi,BRe,xRe,QRe,JVi,KVi,VVi,WVi,ZVi,XVi,$Vi,G6t=Pt(()=>{YVi=1,qVi=.25,BRe=.046875,xRe=.01953125,QRe=.01068115234375,JVi=.75,KVi=.46875,VVi=.013020833333333334,WVi=.007120768229166667,ZVi=.3645833333333333,XVi=.005696614583333333,$Vi=.3076171875});function Qx(i,t,e,r){return e*=t,t*=t,r[0]*i-e*(r[1]+t*(r[2]+t*(r[3]+t*r[4])))}var jrt=Pt(()=>{});function Qz(i,t,e){for(var r=1/(1-t),n=i,s=tWi;s;--s){var a=Math.sin(n),o=1-t*a*a;if(o=(Qx(n,a,Math.cos(n),e)-i)*(o*Math.sqrt(o))*r,n-=o,Math.abs(o)<js)return n}return n}var tWi,F6t=Pt(()=>{jrt();dc();tWi=20});function eWi(){this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.es&&(this.en=xz(this.es),this.ml0=Qx(this.lat0,Math.sin(this.lat0),Math.cos(this.lat0),this.en))}function iWi(i){var t=i.x,e=i.y,r=zs(t-this.long0,this.over),n,s,a,o=Math.sin(e),A=Math.cos(e);if(this.es){var c=A*r,p=Math.pow(c,2),d=this.ep2*Math.pow(A,2),_=Math.pow(d,2),I=Math.abs(A)>js?Math.tan(e):0,y=Math.pow(I,2),B=Math.pow(y,2);n=1-this.es*Math.pow(o,2),c=c/Math.sqrt(n);var x=Qx(e,o,A,this.en);s=this.a*(this.k0*c*(1+p/6*(1-y+d+p/20*(5-18*y+B+14*d-58*y*d+p/42*(61+179*B-B*y-479*y)))))+this.x0,a=this.a*(this.k0*(x-this.ml0+o*r*c/2*(1+p/12*(5-y+9*d+4*_+p/30*(61+B-58*y+270*d-330*y*d+p/56*(1385+543*B-B*y-3111*y))))))+this.y0}else{var l=A*Math.sin(r);if(Math.abs(Math.abs(l)-1)<js)return 93;if(s=.5*this.a*this.k0*Math.log((1+l)/(1-l))+this.x0,a=A*Math.cos(r)/Math.sqrt(1-Math.pow(l,2)),l=Math.abs(a),l>=1){if(l-1>js)return 93;a=0}else a=Math.acos(a);e<0&&(a=-a),a=this.a*this.k0*(a-this.lat0)+this.y0}return i.x=s,i.y=a,i}function rWi(i){var t,e,r,n,s=(i.x-this.x0)*(1/this.a),a=(i.y-this.y0)*(1/this.a);if(this.es)if(t=this.ml0+a/this.k0,e=Qz(t,this.es,this.en),Math.abs(e)<ys){var p=Math.sin(e),d=Math.cos(e),_=Math.abs(d)>js?Math.tan(e):0,I=this.ep2*Math.pow(d,2),y=Math.pow(I,2),B=Math.pow(_,2),x=Math.pow(B,2);t=1-this.es*Math.pow(p,2);var w=s*Math.sqrt(t)/this.k0,D=Math.pow(w,2);t=t*_,r=e-t*D/(1-this.es)*.5*(1-D/12*(5+3*B-9*I*B+I-4*y-D/30*(61+90*B-252*I*B+45*x+46*I-D/56*(1385+3633*B+4095*x+1574*x*B)))),n=zs(this.long0+w*(1-D/6*(1+2*B+I-D/20*(5+28*B+24*x+8*I*B+6*I-D/42*(61+662*B+1320*x+720*x*B))))/d,this.over)}else r=ys*xx(a),n=0;else{var o=Math.exp(s/this.k0),A=.5*(o-1/o),l=this.lat0+a/this.k0,c=Math.cos(l);t=Math.sqrt((1-Math.pow(c,2))/(1+Math.pow(A,2))),r=Math.asin(t),a<0&&(r=-r),A===0&&c===0?n=0:n=zs(Math.atan2(A,c)+this.long0,this.over)}return i.x=n,i.y=r,i}var nWi,bz,_jt=Pt(()=>{G6t();jrt();F6t();Cu();dc();Iz();nWi=["Fast_Transverse_Mercator","Fast Transverse Mercator"],bz={init:eWi,forward:iWi,inverse:rWi,names:nWi}});function T6t(i){var t=Math.exp(i);return t=(t-1/t)/2,t}var fjt=Pt(()=>{});function G3(i,t){i=Math.abs(i),t=Math.abs(t);var e=Math.max(i,t),r=Math.min(i,t)/(e||1);return e*Math.sqrt(1+Math.pow(r,2))}var VG=Pt(()=>{});function bRe(i){var t=1+i,e=t-1;return e===0?i:i*Math.log(t)/e}var vRe=Pt(()=>{});function wRe(i){var t=Math.abs(i);return t=bRe(t*(1+t/(G3(1,t)+1))),i<0?-t:t}var SRe=Pt(()=>{VG();vRe()});function U6t(i,t){for(var e=2*Math.cos(2*t),r=i.length-1,n=i[r],s=0,a;--r>=0;)a=-s+e*n+i[r],s=n,n=a;return t+a*Math.sin(2*t)}var kRe=Pt(()=>{});function MRe(i,t){for(var e=2*Math.cos(t),r=i.length-1,n=i[r],s=0,a;--r>=0;)a=-s+e*n+i[r],s=n,n=a;return Math.sin(t)*a}var DRe=Pt(()=>{});function RRe(i){var t=Math.exp(i);return t=(t+1/t)/2,t}var NRe=Pt(()=>{});function mjt(i,t,e){for(var r=Math.sin(t),n=Math.cos(t),s=T6t(e),a=RRe(e),o=2*n*a,A=-2*r*s,l=i.length-1,c=i[l],p=0,d=0,_=0,I,y;--l>=0;)I=d,y=p,d=c,p=_,c=-I+o*d-A*p+i[l],_=-y+A*d+o*p;return o=r*a,A=n*s,[o*c-A*_,o*_+A*c]}var LRe=Pt(()=>{fjt();NRe()});function sWi(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION["Fast_Transverse_Mercator"] in the WKT.');this.approx&&(bz.init.apply(this),this.forward=bz.forward,this.inverse=bz.inverse),this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var i=this.es/(1+Math.sqrt(1-this.es)),t=i/(2-i),e=t;this.cgb[0]=t*(2+t*(-2/3+t*(-2+t*(116/45+t*(26/45+t*(-2854/675)))))),this.cbg[0]=t*(-2+t*(2/3+t*(4/3+t*(-82/45+t*(32/45+t*(4642/4725)))))),e=e*t,this.cgb[1]=e*(7/3+t*(-8/5+t*(-227/45+t*(2704/315+t*(2323/945))))),this.cbg[1]=e*(5/3+t*(-16/15+t*(-13/9+t*(904/315+t*(-1522/945))))),e=e*t,this.cgb[2]=e*(56/15+t*(-136/35+t*(-1262/105+t*(73814/2835)))),this.cbg[2]=e*(-26/15+t*(34/21+t*(8/5+t*(-12686/2835)))),e=e*t,this.cgb[3]=e*(4279/630+t*(-332/35+t*(-399572/14175))),this.cbg[3]=e*(1237/630+t*(-12/5+t*(-24832/14175))),e=e*t,this.cgb[4]=e*(4174/315+t*(-144838/6237)),this.cbg[4]=e*(-734/315+t*(109598/31185)),e=e*t,this.cgb[5]=e*(601676/22275),this.cbg[5]=e*(444337/155925),e=Math.pow(t,2),this.Qn=this.k0/(1+t)*(1+e*(1/4+e*(1/64+e/256))),this.utg[0]=t*(-.5+t*(2/3+t*(-37/96+t*(1/360+t*(81/512+t*(-96199/604800)))))),this.gtu[0]=t*(.5+t*(-2/3+t*(5/16+t*(41/180+t*(-127/288+t*(7891/37800)))))),this.utg[1]=e*(-1/48+t*(-1/15+t*(437/1440+t*(-46/105+t*(1118711/3870720))))),this.gtu[1]=e*(13/48+t*(-3/5+t*(557/1440+t*(281/630+t*(-1983433/1935360))))),e=e*t,this.utg[2]=e*(-17/480+t*(37/840+t*(209/4480+t*(-5569/90720)))),this.gtu[2]=e*(61/240+t*(-103/140+t*(15061/26880+t*(167603/181440)))),e=e*t,this.utg[3]=e*(-4397/161280+t*(11/504+t*(830251/7257600))),this.gtu[3]=e*(49561/161280+t*(-179/168+t*(6601661/7257600))),e=e*t,this.utg[4]=e*(-4583/161280+t*(108847/3991680)),this.gtu[4]=e*(34729/80640+t*(-3418889/1995840)),e=e*t,this.utg[5]=e*(-20648693/638668800),this.gtu[5]=e*(212378941/319334400);var r=U6t(this.cbg,this.lat0);this.Zb=-this.Qn*(r+MRe(this.gtu,2*r))}function aWi(i){var t=zs(i.x-this.long0,this.over),e=i.y;e=U6t(this.cbg,e);var r=Math.sin(e),n=Math.cos(e),s=Math.sin(t),a=Math.cos(t);e=Math.atan2(r,a*n),t=Math.atan2(s*n,G3(r,n*a)),t=wRe(Math.tan(t));var o=mjt(this.gtu,2*e,2*t);e=e+o[0],t=t+o[1];var A,l;return Math.abs(t)<=2.623395162778?(A=this.a*(this.Qn*t)+this.x0,l=this.a*(this.Qn*e+this.Zb)+this.y0):(A=1/0,l=1/0),i.x=A,i.y=l,i}function oWi(i){var t=(i.x-this.x0)*(1/this.a),e=(i.y-this.y0)*(1/this.a);e=(e-this.Zb)/this.Qn,t=t/this.Qn;var r,n;if(Math.abs(t)<=2.623395162778){var s=mjt(this.utg,2*e,2*t);e=e+s[0],t=t+s[1],t=Math.atan(T6t(t));var a=Math.sin(e),o=Math.cos(e),A=Math.sin(t),l=Math.cos(t);e=Math.atan2(a*l,G3(A,l*o)),t=Math.atan2(A,l*o),r=zs(t+this.long0,this.over),n=U6t(this.cgb,e)}else r=1/0,n=1/0;return i.x=r,i.y=n,i}var AWi,vz,Ijt=Pt(()=>{_jt();fjt();VG();SRe();kRe();DRe();LRe();Cu();AWi=["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc","Transverse_Mercator","Transverse Mercator","Gauss Kruger","Gauss_Kruger","tmerc"],vz={init:sWi,forward:aWi,inverse:oWi,names:AWi}});function GRe(i,t){if(i===void 0){if(i=Math.floor((zs(t)+Math.PI)*30/Math.PI)+1,i<0)return 0;if(i>60)return 60}return i}var FRe=Pt(()=>{Cu()});function cWi(){var i=GRe(this.zone,this.long0);if(i===void 0)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(i)-183)*Gu,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,vz.init.apply(this),this.forward=vz.forward,this.inverse=vz.inverse}var lWi,hWi,TRe,URe=Pt(()=>{FRe();Ijt();dc();lWi="etmerc";hWi=["Universal Transverse Mercator System","utm"],TRe={init:cWi,names:hWi,dependsOn:lWi}});function P6t(i,t){return Math.pow((1-i)/(1+i),t)}var PRe=Pt(()=>{});function gWi(){var i=Math.sin(this.lat0),t=Math.cos(this.lat0);t*=t,this.rc=Math.sqrt(1-this.es)/(1-this.es*i*i),this.C=Math.sqrt(1+this.es*t*t/(1-this.es)),this.phic0=Math.asin(i/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+Dc)/(Math.pow(Math.tan(.5*this.lat0+Dc),this.C)*P6t(this.e*i,this.ratexp))}function pWi(i){var t=i.x,e=i.y;return i.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*e+Dc),this.C)*P6t(this.e*Math.sin(e),this.ratexp))-ys,i.x=this.C*t,i}function dWi(i){for(var t=1e-14,e=i.x/this.C,r=i.y,n=Math.pow(Math.tan(.5*r+Dc)/this.K,1/this.C),s=uWi;s>0&&(r=2*Math.atan(n*P6t(this.e*Math.sin(i.y),-.5*this.e))-ys,!(Math.abs(r-i.y)<t));--s)i.y=r;return s?(i.x=e,i.y=r,i):null}var uWi,_Wi,O6t,ORe=Pt(()=>{PRe();dc();uWi=20;_Wi=["gauss"],O6t={init:gWi,forward:pWi,inverse:dWi,names:_Wi}});function fWi(){O6t.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"))}function mWi(i){var t,e,r,n;return i.x=zs(i.x-this.long0,this.over),O6t.forward.apply(this,[i]),t=Math.sin(i.y),e=Math.cos(i.y),r=Math.cos(i.x),n=this.k0*this.R2/(1+this.sinc0*t+this.cosc0*e*r),i.x=n*e*Math.sin(i.x),i.y=n*(this.cosc0*t-this.sinc0*e*r),i.x=this.a*i.x+this.x0,i.y=this.a*i.y+this.y0,i}function IWi(i){var t,e,r,n,s;if(i.x=(i.x-this.x0)/this.a,i.y=(i.y-this.y0)/this.a,i.x/=this.k0,i.y/=this.k0,s=G3(i.x,i.y)){var a=2*Math.atan2(s,this.R2);t=Math.sin(a),e=Math.cos(a),n=Math.asin(e*this.sinc0+i.y*t*this.cosc0/s),r=Math.atan2(i.x*t,s*this.cosc0*e-i.y*this.sinc0*t)}else n=this.phic0,r=0;return i.x=r,i.y=n,O6t.inverse.apply(this,[i]),i.x=zs(i.x+this.long0,this.over),i}var yWi,jRe,HRe=Pt(()=>{ORe();Cu();VG();yWi=["Stereographic_North_Pole","Oblique_Stereographic","sterea","Oblique Stereographic Alternative","Double_Stereographic"],jRe={init:fWi,forward:mWi,inverse:IWi,names:yWi}});function yjt(i,t,e){return t*=e,Math.tan(.5*(ys+i))*Math.pow((1-t)/(1+t),.5*e)}function CWi(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.coslat0=Math.cos(this.lat0),this.sinlat0=Math.sin(this.lat0),this.sphere?this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=js&&(this.k0=.5*(1+xx(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=js&&(this.lat0>0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=js&&Math.abs(Math.cos(this.lat_ts))>js&&(this.k0=.5*this.cons*a6(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/yf(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=a6(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(yjt(this.lat0,this.sinlat0,this.e))-ys,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))}function EWi(i){var t=i.x,e=i.y,r=Math.sin(e),n=Math.cos(e),s,a,o,A,l,c,p=zs(t-this.long0,this.over);return Math.abs(Math.abs(t-this.long0)-Math.PI)<=js&&Math.abs(e+this.lat0)<=js?(i.x=NaN,i.y=NaN,i):this.sphere?(s=2*this.k0/(1+this.sinlat0*r+this.coslat0*n*Math.cos(p)),i.x=this.a*s*n*Math.sin(p)+this.x0,i.y=this.a*s*(this.coslat0*r-this.sinlat0*n*Math.cos(p))+this.y0,i):(a=2*Math.atan(yjt(e,r,this.e))-ys,A=Math.cos(a),o=Math.sin(a),Math.abs(this.coslat0)<=js?(l=yf(this.e,e*this.con,this.con*r),c=2*this.a*this.k0*l/this.cons,i.x=this.x0+c*Math.sin(t-this.long0),i.y=this.y0-this.con*c*Math.cos(t-this.long0),i):(Math.abs(this.sinlat0)<js?(s=2*this.a*this.k0/(1+A*Math.cos(p)),i.y=s*o):(s=2*this.a*this.k0*this.ms1/(this.cosX0*(1+this.sinX0*o+this.cosX0*A*Math.cos(p))),i.y=s*(this.cosX0*o-this.sinX0*A*Math.cos(p))+this.y0),i.x=s*A*Math.sin(p)+this.x0,i))}function BWi(i){i.x-=this.x0,i.y-=this.y0;var t,e,r,n,s,a=Math.sqrt(i.x*i.x+i.y*i.y);if(this.sphere){var o=2*Math.atan(a/(2*this.a*this.k0));return t=this.long0,e=this.lat0,a<=js?(i.x=t,i.y=e,i):(e=Math.asin(Math.cos(o)*this.sinlat0+i.y*Math.sin(o)*this.coslat0/a),Math.abs(this.coslat0)<js?this.lat0>0?t=zs(this.long0+Math.atan2(i.x,-1*i.y),this.over):t=zs(this.long0+Math.atan2(i.x,i.y),this.over):t=zs(this.long0+Math.atan2(i.x*Math.sin(o),a*this.coslat0*Math.cos(o)-i.y*this.sinlat0*Math.sin(o)),this.over),i.x=t,i.y=e,i)}else if(Math.abs(this.coslat0)<=js){if(a<=js)return e=this.lat0,t=this.long0,i.x=t,i.y=e,i;i.x*=this.con,i.y*=this.con,r=a*this.cons/(2*this.a*this.k0),e=this.con*Gb(this.e,r),t=this.con*zs(this.con*this.long0+Math.atan2(i.x,-1*i.y),this.over)}else n=2*Math.atan(a*this.cosX0/(2*this.a*this.k0*this.ms1)),t=this.long0,a<=js?s=this.X0:(s=Math.asin(Math.cos(n)*this.sinX0+i.y*Math.sin(n)*this.cosX0/a),t=zs(this.long0+Math.atan2(i.x*Math.sin(n),a*this.cosX0*Math.cos(n)-i.y*this.sinX0*Math.sin(n)),this.over)),e=-1*Gb(this.e,Math.tan(.5*(ys+s)));return i.x=t,i.y=e,i}var xWi,zRe,YRe=Pt(()=>{dc();Iz();qG();Frt();Trt();Cu();xWi=["stere","Stereographic_South_Pole","Polar_Stereographic_variant_A","Polar_Stereographic_variant_B","Polar_Stereographic"],zRe={init:CWi,forward:EWi,inverse:BWi,names:xWi,ssfn_:yjt}});function QWi(){var i=this.lat0;this.lambda0=this.long0;var t=Math.sin(i),e=this.a,r=this.rf,n=1/r,s=2*n-Math.pow(n,2),a=this.e=Math.sqrt(s);this.R=this.k0*e*Math.sqrt(1-s)/(1-s*Math.pow(t,2)),this.alpha=Math.sqrt(1+s/(1-s)*Math.pow(Math.cos(i),4)),this.b0=Math.asin(t/this.alpha);var o=Math.log(Math.tan(Math.PI/4+this.b0/2)),A=Math.log(Math.tan(Math.PI/4+i/2)),l=Math.log((1+a*t)/(1-a*t));this.K=o-this.alpha*A+this.alpha*a/2*l}function bWi(i){var t=Math.log(Math.tan(Math.PI/4-i.y/2)),e=this.e/2*Math.log((1+this.e*Math.sin(i.y))/(1-this.e*Math.sin(i.y))),r=-this.alpha*(t+e)+this.K,n=2*(Math.atan(Math.exp(r))-Math.PI/4),s=this.alpha*(i.x-this.lambda0),a=Math.atan(Math.sin(s)/(Math.sin(this.b0)*Math.tan(n)+Math.cos(this.b0)*Math.cos(s))),o=Math.asin(Math.cos(this.b0)*Math.sin(n)-Math.sin(this.b0)*Math.cos(n)*Math.cos(s));return i.y=this.R/2*Math.log((1+Math.sin(o))/(1-Math.sin(o)))+this.y0,i.x=this.R*a+this.x0,i}function vWi(i){for(var t=i.x-this.x0,e=i.y-this.y0,r=t/this.R,n=2*(Math.atan(Math.exp(e/this.R))-Math.PI/4),s=Math.asin(Math.cos(this.b0)*Math.sin(n)+Math.sin(this.b0)*Math.cos(n)*Math.cos(r)),a=Math.atan(Math.sin(r)/(Math.cos(this.b0)*Math.cos(r)-Math.sin(this.b0)*Math.tan(n))),o=this.lambda0+a/this.alpha,A=0,l=s,c=-1e3,p=0;Math.abs(l-c)>1e-7;){if(++p>20)return;A=1/this.alpha*(Math.log(Math.tan(Math.PI/4+s/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(l))/2)),c=l,l=2*Math.atan(Math.exp(A))-Math.PI/2}return i.x=o,i.y=l,i}var wWi,qRe,JRe=Pt(()=>{wWi=["somerc"],qRe={init:QWi,forward:bWi,inverse:vWi,names:wWi}});function SWi(i){var t=["Hotine_Oblique_Mercator","Hotine_Oblique_Mercator_variant_A","Hotine_Oblique_Mercator_Azimuth_Natural_Origin"],e=typeof i.projName=="object"?Object.keys(i.projName)[0]:i.projName;return"no_uoff"in i||"no_off"in i||t.indexOf(e)!==-1||t.indexOf($Ot(e))!==-1}function kWi(){var i,t,e,r,n,s,a,o,A,l,c=0,p,d=0,_=0,I=0,y=0,B=0,x=0;this.no_off=SWi(this),this.no_rot="no_rot"in this;var w=!1;"alpha"in this&&(w=!0);var D=!1;if("rectified_grid_angle"in this&&(D=!0),w&&(x=this.alpha),D&&(c=this.rectified_grid_angle),w||D)d=this.longc;else if(_=this.long1,y=this.lat1,I=this.long2,B=this.lat2,Math.abs(y-B)<=wz||(i=Math.abs(y))<=wz||Math.abs(i-ys)<=wz||Math.abs(Math.abs(this.lat0)-ys)<=wz||Math.abs(Math.abs(B)-ys)<=wz)throw new Error;var T=1-this.es;t=Math.sqrt(T),Math.abs(this.lat0)>js?(o=Math.sin(this.lat0),e=Math.cos(this.lat0),i=1-this.es*o*o,this.B=e*e,this.B=Math.sqrt(1+this.es*this.B*this.B/T),this.A=this.B*this.k0*t/i,r=this.B*t/(e*Math.sqrt(i)),n=r*r-1,n<=0?n=0:(n=Math.sqrt(n),this.lat0<0&&(n=-n)),this.E=n+=r,this.E*=Math.pow(yf(this.e,this.lat0,o),this.B)):(this.B=1/t,this.A=this.k0,this.E=r=n=1),w||D?(w?(p=Math.asin(Math.sin(x)/r),D||(c=x)):(p=c,x=Math.asin(r*Math.sin(p))),this.lam0=d-Math.asin(.5*(n-1/n)*Math.tan(p))/this.B):(s=Math.pow(yf(this.e,y,Math.sin(y)),this.B),a=Math.pow(yf(this.e,B,Math.sin(B)),this.B),n=this.E/s,A=(a-s)/(a+s),l=this.E*this.E,l=(l-a*s)/(l+a*s),i=_-I,i<-Math.PI?I-=uM:i>Math.PI&&(I+=uM),this.lam0=zs(.5*(_+I)-Math.atan(l*Math.tan(.5*this.B*(_-I))/A)/this.B,this.over),p=Math.atan(2*Math.sin(this.B*zs(_-this.lam0,this.over))/(n-1/n)),c=x=Math.asin(r*Math.sin(p))),this.singam=Math.sin(p),this.cosgam=Math.cos(p),this.sinrot=Math.sin(c),this.cosrot=Math.cos(c),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(r*r-1)/Math.cos(x))),this.lat0<0&&(this.u_0=-this.u_0)),n=.5*p,this.v_pole_n=this.ArB*Math.log(Math.tan(Dc-n)),this.v_pole_s=this.ArB*Math.log(Math.tan(Dc+n))}function MWi(i){var t={},e,r,n,s,a,o,A,l;if(i.x=i.x-this.lam0,Math.abs(Math.abs(i.y)-ys)>js){if(a=this.E/Math.pow(yf(this.e,i.y,Math.sin(i.y)),this.B),o=1/a,e=.5*(a-o),r=.5*(a+o),s=Math.sin(this.B*i.x),n=(e*this.singam-s*this.cosgam)/r,Math.abs(Math.abs(n)-1)<js)throw new Error;l=.5*this.ArB*Math.log((1-n)/(1+n)),o=Math.cos(this.B*i.x),Math.abs(o)<wz?A=this.A*i.x:A=this.ArB*Math.atan2(e*this.cosgam+s*this.singam,o)}else l=i.y>0?this.v_pole_n:this.v_pole_s,A=this.ArB*i.y;return this.no_rot?(t.x=A,t.y=l):(A-=this.u_0,t.x=l*this.cosrot+A*this.sinrot,t.y=A*this.cosrot-l*this.sinrot),t.x=this.a*t.x+this.x0,t.y=this.a*t.y+this.y0,t}function DWi(i){var t,e,r,n,s,a,o,A={};if(i.x=(i.x-this.x0)*(1/this.a),i.y=(i.y-this.y0)*(1/this.a),this.no_rot?(e=i.y,t=i.x):(e=i.x*this.cosrot-i.y*this.sinrot,t=i.y*this.cosrot+i.x*this.sinrot+this.u_0),r=Math.exp(-this.BrA*e),n=.5*(r-1/r),s=.5*(r+1/r),a=Math.sin(this.BrA*t),o=(a*this.cosgam+n*this.singam)/s,Math.abs(Math.abs(o)-1)<js)A.x=0,A.y=o<0?-ys:ys;else{if(A.y=this.E/Math.sqrt((1+o)/(1-o)),A.y=Gb(this.e,Math.pow(A.y,1/this.B)),A.y===1/0)throw new Error;A.x=-this.rB*Math.atan2(n*this.cosgam-a*this.singam,Math.cos(this.BrA*t))}return A.x+=this.lam0,A}var wz,RWi,KRe,VRe=Pt(()=>{Frt();Cu();Trt();dc();tjt();wz=1e-7;RWi=["Hotine_Oblique_Mercator","Hotine Oblique Mercator","Hotine_Oblique_Mercator_variant_A","Hotine_Oblique_Mercator_Variant_B","Hotine_Oblique_Mercator_Azimuth_Natural_Origin","Hotine_Oblique_Mercator_Two_Point_Natural_Origin","Hotine_Oblique_Mercator_Azimuth_Center","Oblique_Mercator","omerc"],KRe={init:kWi,forward:MWi,inverse:DWi,names:RWi}});function NWi(){if(this.lat2||(this.lat2=this.lat1),this.k0||(this.k0=1),this.x0=this.x0||0,this.y0=this.y0||0,!(Math.abs(this.lat1+this.lat2)<js)){var i=this.b/this.a;this.e=Math.sqrt(1-i*i);var t=Math.sin(this.lat1),e=Math.cos(this.lat1),r=a6(this.e,t,e),n=yf(this.e,this.lat1,t),s=Math.sin(this.lat2),a=Math.cos(this.lat2),o=a6(this.e,s,a),A=yf(this.e,this.lat2,s),l=Math.abs(Math.abs(this.lat0)-ys)<js?0:yf(this.e,this.lat0,Math.sin(this.lat0));Math.abs(this.lat1-this.lat2)>js?this.ns=Math.log(r/o)/Math.log(n/A):this.ns=t,isNaN(this.ns)&&(this.ns=t),this.f0=r/(this.ns*Math.pow(n,this.ns)),this.rh=this.a*this.f0*Math.pow(l,this.ns),this.title||(this.title="Lambert Conformal Conic")}}function LWi(i){var t=i.x,e=i.y;Math.abs(2*Math.abs(e)-Math.PI)<=js&&(e=xx(e)*(ys-2*js));var r=Math.abs(Math.abs(e)-ys),n,s;if(r>js)n=yf(this.e,e,Math.sin(e)),s=this.a*this.f0*Math.pow(n,this.ns);else{if(r=e*this.ns,r<=0)return null;s=0}var a=this.ns*zs(t-this.long0,this.over);return i.x=this.k0*(s*Math.sin(a))+this.x0,i.y=this.k0*(this.rh-s*Math.cos(a))+this.y0,i}function GWi(i){var t,e,r,n,s,a=(i.x-this.x0)/this.k0,o=this.rh-(i.y-this.y0)/this.k0;this.ns>0?(t=Math.sqrt(a*a+o*o),e=1):(t=-Math.sqrt(a*a+o*o),e=-1);var A=0;if(t!==0&&(A=Math.atan2(e*a,e*o)),t!==0||this.ns>0){if(e=1/this.ns,r=Math.pow(t/(this.a*this.f0),e),n=Gb(this.e,r),n===-9999)return null}else n=-ys;return s=zs(A/this.ns+this.long0,this.over),i.x=s,i.y=n,i}var FWi,WRe,ZRe=Pt(()=>{qG();Frt();Iz();Cu();Trt();dc();FWi=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_1SP","Lambert_Conformal_Conic_2SP","lcc","Lambert Conic Conformal (1SP)","Lambert Conic Conformal (2SP)"],WRe={init:NWi,forward:LWi,inverse:GWi,names:FWi}});function TWi(){this.a=6377397155e-3,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.7417649320975901-.308341501185665),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq}function UWi(i){var t,e,r,n,s,a,o,A=i.x,l=i.y,c=zs(A-this.long0,this.over);return t=Math.pow((1+this.e*Math.sin(l))/(1-this.e*Math.sin(l)),this.alfa*this.e/2),e=2*(Math.atan(this.k*Math.pow(Math.tan(l/2+this.s45),this.alfa)/t)-this.s45),r=-c*this.alfa,n=Math.asin(Math.cos(this.ad)*Math.sin(e)+Math.sin(this.ad)*Math.cos(e)*Math.cos(r)),s=Math.asin(Math.cos(e)*Math.sin(r)/Math.cos(n)),a=this.n*s,o=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(n/2+this.s45),this.n),i.y=o*Math.cos(a)/1,i.x=o*Math.sin(a)/1,this.czech||(i.y*=-1,i.x*=-1),i}function PWi(i){var t,e,r,n,s,a,o,A,l=i.x;i.x=i.y,i.y=l,this.czech||(i.y*=-1,i.x*=-1),a=Math.sqrt(i.x*i.x+i.y*i.y),s=Math.atan2(i.y,i.x),n=s/Math.sin(this.s0),r=2*(Math.atan(Math.pow(this.ro0/a,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),t=Math.asin(Math.cos(this.ad)*Math.sin(r)-Math.sin(this.ad)*Math.cos(r)*Math.cos(n)),e=Math.asin(Math.cos(r)*Math.sin(n)/Math.cos(t)),i.x=this.long0-e/this.alfa,o=t,A=0;var c=0;do i.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(t/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(o))/(1-this.e*Math.sin(o)),this.e/2))-this.s45),Math.abs(o-i.y)<1e-10&&(A=1),o=i.y,c+=1;while(A===0&&c<15);return c>=15?null:i}var OWi,XRe,$Re=Pt(()=>{Cu();OWi=["Krovak","krovak"],XRe={init:TWi,forward:UWi,inverse:PWi,names:OWi}});function m1(i,t,e,r,n){return i*n-t*Math.sin(2*n)+e*Math.sin(4*n)-r*Math.sin(6*n)}var Hrt=Pt(()=>{});function Fb(i){return 1-.25*i*(1+i/16*(3+1.25*i))}var zrt=Pt(()=>{});function Tb(i){return .375*i*(1+.25*i*(1+.46875*i))}var Yrt=Pt(()=>{});function Ub(i){return .05859375*i*i*(1+.75*i)}var qrt=Pt(()=>{});function Pb(i){return i*i*i*(35/3072)}var Jrt=Pt(()=>{});function Krt(i,t,e){var r=t*e;return i/Math.sqrt(1-r*r)}var Cjt=Pt(()=>{});function rI(i){return Math.abs(i)<ys?i:i-xx(i)*Math.PI}var WG=Pt(()=>{dc();Iz()});function ZG(i,t,e,r,n){var s,a;s=i/t;for(var o=0;o<15;o++)if(a=(i-(t*s-e*Math.sin(2*s)+r*Math.sin(4*s)-n*Math.sin(6*s)))/(t-2*e*Math.cos(2*s)+4*r*Math.cos(4*s)-6*n*Math.cos(6*s)),s+=a,Math.abs(a)<=1e-10)return s;return NaN}var j6t=Pt(()=>{});function jWi(){this.sphere||(this.e0=Fb(this.es),this.e1=Tb(this.es),this.e2=Ub(this.es),this.e3=Pb(this.es),this.ml0=this.a*m1(this.e0,this.e1,this.e2,this.e3,this.lat0))}function HWi(i){var t,e,r=i.x,n=i.y;if(r=zs(r-this.long0,this.over),this.sphere)t=this.a*Math.asin(Math.cos(n)*Math.sin(r)),e=this.a*(Math.atan2(Math.tan(n),Math.cos(r))-this.lat0);else{var s=Math.sin(n),a=Math.cos(n),o=Krt(this.a,this.e,s),A=Math.tan(n)*Math.tan(n),l=r*Math.cos(n),c=l*l,p=this.es*a*a/(1-this.es),d=this.a*m1(this.e0,this.e1,this.e2,this.e3,n);t=o*l*(1-c*A*(1/6-(8-A+8*p)*c/120)),e=d-this.ml0+o*s/a*c*(.5+(5-A+6*p)*c/24)}return i.x=t+this.x0,i.y=e+this.y0,i}function zWi(i){i.x-=this.x0,i.y-=this.y0;var t=i.x/this.a,e=i.y/this.a,r,n;if(this.sphere){var s=e+this.lat0;r=Math.asin(Math.sin(s)*Math.cos(t)),n=Math.atan2(Math.tan(t),Math.cos(s))}else{var a=this.ml0/this.a+e,o=ZG(a,this.e0,this.e1,this.e2,this.e3);if(Math.abs(Math.abs(o)-ys)<=js)return i.x=this.long0,i.y=ys,e<0&&(i.y*=-1),i;var A=Krt(this.a,this.e,Math.sin(o)),l=A*A*A/this.a/this.a*(1-this.es),c=Math.pow(Math.tan(o),2),p=t*this.a/A,d=p*p;r=o-A*Math.tan(o)/l*p*p*(.5-(1+3*c)*p*p/24),n=p*(1-d*(c/3+(1+3*c)*c*d/15))/Math.cos(o)}return i.x=zs(n+this.long0,this.over),i.y=rI(r),i}var YWi,tNe,eNe=Pt(()=>{Hrt();zrt();Yrt();qrt();Jrt();Cjt();Cu();WG();j6t();dc();YWi=["Cassini","Cassini_Soldner","cass"],tNe={init:jWi,forward:HWi,inverse:zWi,names:YWi}});function sB(i,t){var e;return i>1e-7?(e=i*t,(1-i*i)*(t/(1-e*e)-.5/i*Math.log((1-e)/(1+e)))):2*t}var H6t=Pt(()=>{});function qWi(){var i=Math.abs(this.lat0);if(Math.abs(i-ys)<js?this.mode=this.lat0<0?Ejt:Bjt:Math.abs(i)<js?this.mode=xjt:this.mode=z6t,this.es>0){var t;switch(this.qp=sB(this.e,1),this.mmf=.5/(1-this.es),this.apa=eZi(this.es),this.mode){case Bjt:this.dd=1;break;case Ejt:this.dd=1;break;case xjt:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case z6t:this.rq=Math.sqrt(.5*this.qp),t=Math.sin(this.lat0),this.sinb1=sB(this.e,t)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*t*t)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd;break}}else this.mode===z6t&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))}function JWi(i){var t,e,r,n,s,a,o,A,l,c,p=i.x,d=i.y;if(p=zs(p-this.long0,this.over),this.sphere){if(s=Math.sin(d),c=Math.cos(d),r=Math.cos(p),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(e=this.mode===this.EQUIT?1+c*r:1+this.sinph0*s+this.cosph0*c*r,e<=js)return null;e=Math.sqrt(2/e),t=e*c*Math.sin(p),e*=this.mode===this.EQUIT?s:this.cosph0*s-this.sinph0*c*r}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(r=-r),Math.abs(d+this.lat0)<js)return null;e=Dc-d*.5,e=2*(this.mode===this.S_POLE?Math.cos(e):Math.sin(e)),t=e*Math.sin(p),e*=r}}else{switch(o=0,A=0,l=0,r=Math.cos(p),n=Math.sin(p),s=Math.sin(d),a=sB(this.e,s),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(o=a/this.qp,A=Math.sqrt(1-o*o)),this.mode){case this.OBLIQ:l=1+this.sinb1*o+this.cosb1*A*r;break;case this.EQUIT:l=1+A*r;break;case this.N_POLE:l=ys+d,a=this.qp-a;break;case this.S_POLE:l=d-ys,a=this.qp+a;break}if(Math.abs(l)<js)return null;switch(this.mode){case this.OBLIQ:case this.EQUIT:l=Math.sqrt(2/l),this.mode===this.OBLIQ?e=this.ymf*l*(this.cosb1*o-this.sinb1*A*r):e=(l=Math.sqrt(2/(1+A*r)))*o*this.ymf,t=this.xmf*l*A*n;break;case this.N_POLE:case this.S_POLE:a>=0?(t=(l=Math.sqrt(a))*n,e=r*(this.mode===this.S_POLE?l:-l)):t=e=0;break}}return i.x=this.a*t+this.x0,i.y=this.a*e+this.y0,i}function KWi(i){i.x-=this.x0,i.y-=this.y0;var t=i.x/this.a,e=i.y/this.a,r,n,s,a,o,A,l;if(this.sphere){var c=0,p,d=0;if(p=Math.sqrt(t*t+e*e),n=p*.5,n>1)return null;switch(n=2*Math.asin(n),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(d=Math.sin(n),c=Math.cos(n)),this.mode){case this.EQUIT:n=Math.abs(p)<=js?0:Math.asin(e*d/p),t*=d,e=c*p;break;case this.OBLIQ:n=Math.abs(p)<=js?this.lat0:Math.asin(c*this.sinph0+e*d*this.cosph0/p),t*=d*this.cosph0,e=(c-Math.sin(n)*this.sinph0)*p;break;case this.N_POLE:e=-e,n=ys-n;break;case this.S_POLE:n-=ys;break}r=e===0&&(this.mode===this.EQUIT||this.mode===this.OBLIQ)?0:Math.atan2(t,e)}else{if(l=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(t/=this.dd,e*=this.dd,A=Math.sqrt(t*t+e*e),A<js)return i.x=this.long0,i.y=this.lat0,i;a=2*Math.asin(.5*A/this.rq),s=Math.cos(a),t*=a=Math.sin(a),this.mode===this.OBLIQ?(l=s*this.sinb1+e*a*this.cosb1/A,o=this.qp*l,e=A*this.cosb1*s-e*this.sinb1*a):(l=e*a/A,o=this.qp*l,e=A*s)}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(e=-e),o=t*t+e*e,!o)return i.x=this.long0,i.y=this.lat0,i;l=1-o/this.qp,this.mode===this.S_POLE&&(l=-l)}r=Math.atan2(t,e),n=iZi(Math.asin(l),this.apa)}return i.x=zs(this.long0+r,this.over),i.y=n,i}function eZi(i){var t,e=[];return e[0]=i*VWi,t=i*i,e[0]+=t*WWi,e[1]=t*XWi,t*=i,e[0]+=t*ZWi,e[1]+=t*$Wi,e[2]=t*tZi,e}function iZi(i,t){var e=i+i;return i+t[0]*Math.sin(e)+t[1]*Math.sin(e+e)+t[2]*Math.sin(e+e+e)}var Ejt,Bjt,xjt,z6t,VWi,WWi,ZWi,XWi,$Wi,tZi,rZi,iNe,rNe=Pt(()=>{dc();H6t();Cu();Ejt=1,Bjt=2,xjt=3,z6t=4;VWi=.3333333333333333,WWi=.17222222222222222,ZWi=.10257936507936508,XWi=.06388888888888888,$Wi=.0664021164021164,tZi=.016415012942191543;rZi=["Lambert Azimuthal Equal Area","Lambert_Azimuthal_Equal_Area","laea"],iNe={init:qWi,forward:JWi,inverse:KWi,names:rZi,S_POLE:Ejt,N_POLE:Bjt,EQUIT:xjt,OBLIQ:z6t}});function nI(i){return Math.abs(i)>1&&(i=i>1?1:-1),Math.asin(i)}var XG=Pt(()=>{});function nZi(){Math.abs(this.lat1+this.lat2)<js||(this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e3=Math.sqrt(this.es),this.sin_po=Math.sin(this.lat1),this.cos_po=Math.cos(this.lat1),this.t1=this.sin_po,this.con=this.sin_po,this.ms1=a6(this.e3,this.sin_po,this.cos_po),this.qs1=sB(this.e3,this.sin_po),this.sin_po=Math.sin(this.lat2),this.cos_po=Math.cos(this.lat2),this.t2=this.sin_po,this.ms2=a6(this.e3,this.sin_po,this.cos_po),this.qs2=sB(this.e3,this.sin_po),this.sin_po=Math.sin(this.lat0),this.cos_po=Math.cos(this.lat0),this.t3=this.sin_po,this.qs0=sB(this.e3,this.sin_po),Math.abs(this.lat1-this.lat2)>js?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)}function sZi(i){var t=i.x,e=i.y;this.sin_phi=Math.sin(e),this.cos_phi=Math.cos(e);var r=sB(this.e3,this.sin_phi),n=this.a*Math.sqrt(this.c-this.ns0*r)/this.ns0,s=this.ns0*zs(t-this.long0,this.over),a=n*Math.sin(s)+this.x0,o=this.rh-n*Math.cos(s)+this.y0;return i.x=a,i.y=o,i}function aZi(i){var t,e,r,n,s,a;return i.x-=this.x0,i.y=this.rh-i.y+this.y0,this.ns0>=0?(t=Math.sqrt(i.x*i.x+i.y*i.y),r=1):(t=-Math.sqrt(i.x*i.x+i.y*i.y),r=-1),n=0,t!==0&&(n=Math.atan2(r*i.x,r*i.y)),r=t*this.ns0/this.a,this.sphere?a=Math.asin((this.c-r*r)/(2*this.ns0)):(e=(this.c-r*r)/this.ns0,a=this.phi1z(this.e3,e)),s=zs(n/this.ns0+this.long0,this.over),i.x=s,i.y=a,i}function oZi(i,t){var e,r,n,s,a,o=nI(.5*t);if(i<js)return o;for(var A=i*i,l=1;l<=25;l++)if(e=Math.sin(o),r=Math.cos(o),n=i*e,s=1-n*n,a=.5*s*s/r*(t/(1-A)-e/s+.5/i*Math.log((1-n)/(1+n))),o=o+a,Math.abs(a)<=1e-7)return o;return null}var AZi,nNe,sNe=Pt(()=>{qG();H6t();Cu();XG();dc();AZi=["Albers_Conic_Equal_Area","Albers_Equal_Area","Albers","aea"],nNe={init:nZi,forward:sZi,inverse:aZi,names:AZi,phi1z:oZi}});function lZi(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0),this.infinity_dist=1e3*this.a,this.rc=1}function cZi(i){var t,e,r,n,s,a,o,A,l=i.x,c=i.y;return r=zs(l-this.long0,this.over),t=Math.sin(c),e=Math.cos(c),n=Math.cos(r),a=this.sin_p14*t+this.cos_p14*e*n,s=1,a>0||Math.abs(a)<=js?(o=this.x0+this.a*s*e*Math.sin(r)/a,A=this.y0+this.a*s*(this.cos_p14*t-this.sin_p14*e*n)/a):(o=this.x0+this.infinity_dist*e*Math.sin(r),A=this.y0+this.infinity_dist*(this.cos_p14*t-this.sin_p14*e*n)),i.x=o,i.y=A,i}function hZi(i){var t,e,r,n,s,a;return i.x=(i.x-this.x0)/this.a,i.y=(i.y-this.y0)/this.a,i.x/=this.k0,i.y/=this.k0,(t=Math.sqrt(i.x*i.x+i.y*i.y))?(n=Math.atan2(t,this.rc),e=Math.sin(n),r=Math.cos(n),a=nI(r*this.sin_p14+i.y*e*this.cos_p14/t),s=Math.atan2(i.x*e,t*this.cos_p14*r-i.y*this.sin_p14*e),s=zs(this.long0+s,this.over)):(a=this.phic0,s=0),i.x=s,i.y=a,i}var uZi,aNe,oNe=Pt(()=>{Cu();XG();dc();uZi=["gnom"],aNe={init:lZi,forward:cZi,inverse:hZi,names:uZi}});function ANe(i,t){var e=1-(1-i*i)/(2*i)*Math.log((1-i)/(1+i));if(Math.abs(Math.abs(t)-e)<1e-6)return t<0?-1*ys:ys;for(var r=Math.asin(.5*t),n,s,a,o,A=0;A<30;A++)if(s=Math.sin(r),a=Math.cos(r),o=i*s,n=Math.pow(1-o*o,2)/(2*a)*(t/(1-i*i)-s/(1-o*o)+.5/i*Math.log((1-o)/(1+o))),r+=n,Math.abs(n)<=1e-10)return r;return NaN}var lNe=Pt(()=>{dc()});function gZi(){this.sphere||(this.k0=a6(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))}function pZi(i){var t=i.x,e=i.y,r,n,s=zs(t-this.long0,this.over);if(this.sphere)r=this.x0+this.a*s*Math.cos(this.lat_ts),n=this.y0+this.a*Math.sin(e)/Math.cos(this.lat_ts);else{var a=sB(this.e,Math.sin(e));r=this.x0+this.a*this.k0*s,n=this.y0+this.a*a*.5/this.k0}return i.x=r,i.y=n,i}function dZi(i){i.x-=this.x0,i.y-=this.y0;var t,e;return this.sphere?(t=zs(this.long0+i.x/this.a/Math.cos(this.lat_ts),this.over),e=Math.asin(i.y/this.a*Math.cos(this.lat_ts))):(e=ANe(this.e,2*i.y*this.k0/this.a),t=zs(this.long0+i.x/(this.a*this.k0),this.over)),i.x=t,i.y=e,i}var _Zi,cNe,hNe=Pt(()=>{Cu();H6t();qG();lNe();_Zi=["cea"],cNe={init:gZi,forward:pZi,inverse:dZi,names:_Zi}});function fZi(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)}function mZi(i){var t=i.x,e=i.y,r=zs(t-this.long0,this.over),n=rI(e-this.lat0);return i.x=this.x0+this.a*r*this.rc,i.y=this.y0+this.a*n,i}function IZi(i){var t=i.x,e=i.y;return i.x=zs(this.long0+(t-this.x0)/(this.a*this.rc),this.over),i.y=rI(this.lat0+(e-this.y0)/this.a),i}var yZi,uNe,gNe=Pt(()=>{Cu();WG();yZi=["Equirectangular","Equidistant_Cylindrical","Equidistant_Cylindrical_Spherical","eqc"],uNe={init:fZi,forward:mZi,inverse:IZi,names:yZi}});function CZi(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Fb(this.es),this.e1=Tb(this.es),this.e2=Ub(this.es),this.e3=Pb(this.es),this.ml0=this.a*m1(this.e0,this.e1,this.e2,this.e3,this.lat0)}function EZi(i){var t=i.x,e=i.y,r,n,s,a=zs(t-this.long0,this.over);if(s=a*Math.sin(e),this.sphere)Math.abs(e)<=js?(r=this.a*a,n=-1*this.a*this.lat0):(r=this.a*Math.sin(s)/Math.tan(e),n=this.a*(rI(e-this.lat0)+(1-Math.cos(s))/Math.tan(e)));else if(Math.abs(e)<=js)r=this.a*a,n=-1*this.ml0;else{var o=Krt(this.a,this.e,Math.sin(e))/Math.tan(e);r=o*Math.sin(s),n=this.a*m1(this.e0,this.e1,this.e2,this.e3,e)-this.ml0+o*(1-Math.cos(s))}return i.x=r+this.x0,i.y=n+this.y0,i}function BZi(i){var t,e,r,n,s,a,o,A,l;if(r=i.x-this.x0,n=i.y-this.y0,this.sphere)if(Math.abs(n+this.a*this.lat0)<=js)t=zs(r/this.a+this.long0,this.over),e=0;else{a=this.lat0+n/this.a,o=r*r/this.a/this.a+a*a,A=a;var c;for(s=pNe;s;--s)if(c=Math.tan(A),l=-1*(a*(A*c+1)-A-.5*(A*A+o)*c)/((A-a)/c-1),A+=l,Math.abs(l)<=js){e=A;break}t=zs(this.long0+Math.asin(r*Math.tan(A)/this.a)/Math.sin(e),this.over)}else if(Math.abs(n+this.ml0)<=js)e=0,t=zs(this.long0+r/this.a,this.over);else{a=(this.ml0+n)/this.a,o=r*r/this.a/this.a+a*a,A=a;var p,d,_,I,y;for(s=pNe;s;--s)if(y=this.e*Math.sin(A),p=Math.sqrt(1-y*y)*Math.tan(A),d=this.a*m1(this.e0,this.e1,this.e2,this.e3,A),_=this.e0-2*this.e1*Math.cos(2*A)+4*this.e2*Math.cos(4*A)-6*this.e3*Math.cos(6*A),I=d/this.a,l=(a*(p*I+1)-I-.5*p*(I*I+o))/(this.es*Math.sin(2*A)*(I*I+o-2*a*I)/(4*p)+(a-I)*(p*_-2/Math.sin(2*A))-_),A-=l,Math.abs(l)<=js){e=A;break}p=Math.sqrt(1-this.es*Math.pow(Math.sin(e),2))*Math.tan(e),t=zs(this.long0+Math.asin(r*p/this.a)/Math.sin(e),this.over)}return i.x=t,i.y=e,i}var pNe,xZi,dNe,_Ne=Pt(()=>{zrt();Yrt();qrt();Jrt();Cu();WG();Hrt();dc();Cjt();pNe=20;xZi=["Polyconic","American_Polyconic","poly"],dNe={init:CZi,forward:EZi,inverse:BZi,names:xZi}});function QZi(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013}function bZi(i){var t,e=i.x,r=i.y,n=r-this.lat0,s=e-this.long0,a=n/zG*1e-5,o=s,A=1,l=0;for(t=1;t<=10;t++)A=A*a,l=l+this.A[t]*A;var c=l,p=o,d=1,_=0,I,y,B=0,x=0;for(t=1;t<=6;t++)I=d*c-_*p,y=_*c+d*p,d=I,_=y,B=B+this.B_re[t]*d-this.B_im[t]*_,x=x+this.B_im[t]*d+this.B_re[t]*_;return i.x=x*this.a+this.x0,i.y=B*this.a+this.y0,i}function vZi(i){var t,e=i.x,r=i.y,n=e-this.x0,s=r-this.y0,a=s/this.a,o=n/this.a,A=1,l=0,c,p,d=0,_=0;for(t=1;t<=6;t++)c=A*a-l*o,p=l*a+A*o,A=c,l=p,d=d+this.C_re[t]*A-this.C_im[t]*l,_=_+this.C_im[t]*A+this.C_re[t]*l;for(var I=0;I<this.iterations;I++){var y=d,B=_,x,w,D=a,T=o;for(t=2;t<=6;t++)x=y*d-B*_,w=B*d+y*_,y=x,B=w,D=D+(t-1)*(this.B_re[t]*y-this.B_im[t]*B),T=T+(t-1)*(this.B_im[t]*y+this.B_re[t]*B);y=1,B=0;var j=this.B_re[1],z=this.B_im[1];for(t=2;t<=6;t++)x=y*d-B*_,w=B*d+y*_,y=x,B=w,j=j+t*(this.B_re[t]*y-this.B_im[t]*B),z=z+t*(this.B_im[t]*y+this.B_re[t]*B);var W=j*j+z*z;d=(D*j+T*z)/W,_=(T*j-D*z)/W}var N=d,F=_,U=1,J=0;for(t=1;t<=9;t++)U=U*N,J=J+this.D[t]*U;var Z=this.lat0+J*zG*1e5,at=this.long0+F;return i.x=at,i.y=Z,i}var wZi,fNe,mNe=Pt(()=>{dc();wZi=["New_Zealand_Map_Grid","nzmg"],fNe={init:QZi,forward:bZi,inverse:vZi,names:wZi}});function SZi(){}function kZi(i){var t=i.x,e=i.y,r=zs(t-this.long0,this.over),n=this.x0+this.a*r,s=this.y0+this.a*Math.log(Math.tan(Math.PI/4+e/2.5))*1.25;return i.x=n,i.y=s,i}function MZi(i){i.x-=this.x0,i.y-=this.y0;var t=zs(this.long0+i.x/this.a,this.over),e=2.5*(Math.atan(Math.exp(.8*i.y/this.a))-Math.PI/4);return i.x=t,i.y=e,i}var DZi,INe,yNe=Pt(()=>{Cu();DZi=["Miller_Cylindrical","mill"],INe={init:SZi,forward:kZi,inverse:MZi,names:DZi}});function NZi(){this.sphere?(this.n=1,this.m=0,this.es=0,this.C_y=Math.sqrt((this.m+1)/this.n),this.C_x=this.C_y/(this.m+1)):this.en=xz(this.es)}function LZi(i){var t,e,r=i.x,n=i.y;if(r=zs(r-this.long0,this.over),this.sphere){if(!this.m)n=this.n!==1?Math.asin(this.n*Math.sin(n)):n;else for(var s=this.n*Math.sin(n),a=RZi;a;--a){var o=(this.m*n+Math.sin(n)-s)/(this.m+Math.cos(n));if(n-=o,Math.abs(o)<js)break}t=this.a*this.C_x*r*(this.m+Math.cos(n)),e=this.a*this.C_y*n}else{var A=Math.sin(n),l=Math.cos(n);e=this.a*Qx(n,A,l,this.en),t=this.a*r*l/Math.sqrt(1-this.es*A*A)}return i.x=t,i.y=e,i}function GZi(i){var t,e,r,n;return i.x-=this.x0,r=i.x/this.a,i.y-=this.y0,t=i.y/this.a,this.sphere?(t/=this.C_y,r=r/(this.C_x*(this.m+Math.cos(t))),this.m?t=nI((this.m*t+Math.sin(t))/this.n):this.n!==1&&(t=nI(Math.sin(t)/this.n)),r=zs(r+this.long0,this.over),t=rI(t)):(t=Qz(i.y/this.a,this.es,this.en),n=Math.abs(t),n<ys?(n=Math.sin(t),e=this.long0+i.x*Math.sqrt(1-this.es*n*n)/(this.a*Math.cos(t)),r=zs(e,this.over)):n-js<ys&&(r=this.long0)),i.x=r,i.y=t,i}var RZi,FZi,CNe,ENe=Pt(()=>{Cu();WG();G6t();jrt();F6t();dc();XG();RZi=20;FZi=["Sinusoidal","sinu"],CNe={init:NZi,forward:LZi,inverse:GZi,names:FZi}});function TZi(){this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0}function UZi(i){for(var t=i.x,e=i.y,r=zs(t-this.long0,this.over),n=e,s=Math.PI*Math.sin(e);;){var a=-(n+Math.sin(n)-s)/(1+Math.cos(n));if(n+=a,Math.abs(a)<js)break}n/=2,Math.PI/2-Math.abs(e)<js&&(r=0);var o=.900316316158*this.a*r*Math.cos(n)+this.x0,A=1.4142135623731*this.a*Math.sin(n)+this.y0;return i.x=o,i.y=A,i}function PZi(i){var t,e;i.x-=this.x0,i.y-=this.y0,e=i.y/(1.4142135623731*this.a),Math.abs(e)>.999999999999&&(e=.999999999999),t=Math.asin(e);var r=zs(this.long0+i.x/(.900316316158*this.a*Math.cos(t)),this.over);r<-Math.PI&&(r=-Math.PI),r>Math.PI&&(r=Math.PI),e=(2*t+Math.sin(2*t))/Math.PI,Math.abs(e)>1&&(e=1);var n=Math.asin(e);return i.x=r,i.y=n,i}var OZi,BNe,xNe=Pt(()=>{Cu();dc();OZi=["Mollweide","moll"],BNe={init:TZi,forward:UZi,inverse:PZi,names:OZi}});function jZi(){Math.abs(this.lat1+this.lat2)<js||(this.lat2=this.lat2||this.lat1,this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Fb(this.es),this.e1=Tb(this.es),this.e2=Ub(this.es),this.e3=Pb(this.es),this.sin_phi=Math.sin(this.lat1),this.cos_phi=Math.cos(this.lat1),this.ms1=a6(this.e,this.sin_phi,this.cos_phi),this.ml1=m1(this.e0,this.e1,this.e2,this.e3,this.lat1),Math.abs(this.lat1-this.lat2)<js?this.ns=this.sin_phi:(this.sin_phi=Math.sin(this.lat2),this.cos_phi=Math.cos(this.lat2),this.ms2=a6(this.e,this.sin_phi,this.cos_phi),this.ml2=m1(this.e0,this.e1,this.e2,this.e3,this.lat2),this.ns=(this.ms1-this.ms2)/(this.ml2-this.ml1)),this.g=this.ml1+this.ms1/this.ns,this.ml0=m1(this.e0,this.e1,this.e2,this.e3,this.lat0),this.rh=this.a*(this.g-this.ml0))}function HZi(i){var t=i.x,e=i.y,r;if(this.sphere)r=this.a*(this.g-e);else{var n=m1(this.e0,this.e1,this.e2,this.e3,e);r=this.a*(this.g-n)}var s=this.ns*zs(t-this.long0,this.over),a=this.x0+r*Math.sin(s),o=this.y0+this.rh-r*Math.cos(s);return i.x=a,i.y=o,i}function zZi(i){i.x-=this.x0,i.y=this.rh-i.y+this.y0;var t,e,r,n;this.ns>=0?(e=Math.sqrt(i.x*i.x+i.y*i.y),t=1):(e=-Math.sqrt(i.x*i.x+i.y*i.y),t=-1);var s=0;if(e!==0&&(s=Math.atan2(t*i.x,t*i.y)),this.sphere)return n=zs(this.long0+s/this.ns,this.over),r=rI(this.g-e/this.a),i.x=n,i.y=r,i;var a=this.g-e/this.a;return r=ZG(a,this.e0,this.e1,this.e2,this.e3),n=zs(this.long0+s/this.ns,this.over),i.x=n,i.y=r,i}var YZi,QNe,bNe=Pt(()=>{zrt();Yrt();qrt();Jrt();qG();Hrt();Cu();WG();j6t();dc();YZi=["Equidistant_Conic","eqdc"],QNe={init:jZi,forward:HZi,inverse:zZi,names:YZi}});function qZi(){this.R=this.a}function JZi(i){var t=i.x,e=i.y,r=zs(t-this.long0,this.over),n,s;Math.abs(e)<=js&&(n=this.x0+this.R*r,s=this.y0);var a=nI(2*Math.abs(e/Math.PI));(Math.abs(r)<=js||Math.abs(Math.abs(e)-ys)<=js)&&(n=this.x0,e>=0?s=this.y0+Math.PI*this.R*Math.tan(.5*a):s=this.y0+Math.PI*this.R*-Math.tan(.5*a));var o=.5*Math.abs(Math.PI/r-r/Math.PI),A=o*o,l=Math.sin(a),c=Math.cos(a),p=c/(l+c-1),d=p*p,_=p*(2/l-1),I=_*_,y=Math.PI*this.R*(o*(p-I)+Math.sqrt(A*(p-I)*(p-I)-(I+A)*(d-I)))/(I+A);r<0&&(y=-y),n=this.x0+y;var B=A+p;return y=Math.PI*this.R*(_*B-o*Math.sqrt((I+A)*(A+1)-B*B))/(I+A),e>=0?s=this.y0+y:s=this.y0-y,i.x=n,i.y=s,i}function KZi(i){var t,e,r,n,s,a,o,A,l,c,p,d,_;return i.x-=this.x0,i.y-=this.y0,p=Math.PI*this.R,r=i.x/p,n=i.y/p,s=r*r+n*n,a=-Math.abs(n)*(1+s),o=a-2*n*n+r*r,A=-2*a+1+2*n*n+s*s,_=n*n/A+(2*o*o*o/A/A/A-9*a*o/A/A)/27,l=(a-o*o/3/A)/A,c=2*Math.sqrt(-l/3),p=3*_/l/c,Math.abs(p)>1&&(p>=0?p=1:p=-1),d=Math.acos(p)/3,i.y>=0?e=(-c*Math.cos(d+Math.PI/3)-o/3/A)*Math.PI:e=-(-c*Math.cos(d+Math.PI/3)-o/3/A)*Math.PI,Math.abs(r)<js?t=this.long0:t=zs(this.long0+Math.PI*(s-1+Math.sqrt(1+2*(r*r-n*n)+s*s))/2/r,this.over),i.x=t,i.y=e,i}var VZi,vNe,wNe=Pt(()=>{Cu();dc();XG();VZi=["Van_der_Grinten_I","VanDerGrinten","Van_der_Grinten","vandg"],vNe={init:qZi,forward:JZi,inverse:KZi,names:VZi}});function SNe(i,t,e,r,n,s){let a=r-t,o=Math.atan((1-s)*Math.tan(i)),A=Math.atan((1-s)*Math.tan(e)),l=Math.sin(o),c=Math.cos(o),p=Math.sin(A),d=Math.cos(A),_=a,I,y=100,B,x,w,D,T,j,z,W,N,F,U,J,Z,at;do{if(B=Math.sin(_),x=Math.cos(_),w=Math.sqrt(d*B*(d*B)+(c*p-l*d*x)*(c*p-l*d*x)),w===0)return{azi1:0,s12:0};D=l*p+c*d*x,T=Math.atan2(w,D),j=c*d*B/w,z=1-j*j,W=z!==0?D-2*l*p/z:0,N=s/16*z*(4+s*(4-3*z)),I=_,_=a+(1-N)*s*j*(T+N*w*(W+N*D*(-1+2*W*W)))}while(Math.abs(_-I)>1e-12&&--y>0);return y===0?{azi1:NaN,s12:NaN}:(F=z*(n*n-n*(1-s)*(n*(1-s)))/(n*(1-s)*(n*(1-s))),U=1+F/16384*(4096+F*(-768+F*(320-175*F))),J=F/1024*(256+F*(-128+F*(74-47*F))),Z=J*w*(W+J/4*(D*(-1+2*W*W)-J/6*W*(-3+4*w*w)*(-3+4*W*W))),at=n*(1-s)*U*(T-Z),{azi1:Math.atan2(d*B,c*p-l*d*x),s12:at})}function kNe(i,t,e,r,n,s){let a=Math.atan((1-s)*Math.tan(i)),o=Math.sin(a),A=Math.cos(a),l=Math.sin(e),c=Math.cos(e),p=Math.atan2(o,A*c),d=A*l,_=1-d*d,I=_*(n*n-n*(1-s)*(n*(1-s)))/(n*(1-s)*(n*(1-s))),y=1+I/16384*(4096+I*(-768+I*(320-175*I))),B=I/1024*(256+I*(-128+I*(74-47*I))),x=r/(n*(1-s)*y),w,D=100,T,j,z,W;do T=Math.cos(2*p+x),j=Math.sin(x),z=Math.cos(x),W=B*j*(T+B/4*(z*(-1+2*T*T)-B/6*T*(-3+4*j*j)*(-3+4*T*T))),w=x,x=r/(n*(1-s)*y)+W;while(Math.abs(x-w)>1e-12&&--D>0);if(D===0)return{lat2:NaN,lon2:NaN};let N=o*j-A*z*c,F=Math.atan2(o*z+A*j*c,(1-s)*Math.sqrt(d*d+N*N)),U=Math.atan2(j*l,A*z-o*j*c),J=s/16*_*(4+s*(4-3*_)),Z=U-(1-J)*s*d*(x+J*j*(T+J*z*(-1+2*T*T))),at=t+Z;return{lat2:F,lon2:at}}var MNe=Pt(()=>{});function WZi(){this.sin_p12=Math.sin(this.lat0),this.cos_p12=Math.cos(this.lat0),this.f=this.es/(1+Math.sqrt(1-this.es))}function ZZi(i){var t=i.x,e=i.y,r=Math.sin(i.y),n=Math.cos(i.y),s=zs(t-this.long0,this.over),a,o,A,l,c,p,d,_,I,y,B;return this.sphere?Math.abs(this.sin_p12-1)<=js?(i.x=this.x0+this.a*(ys-e)*Math.sin(s),i.y=this.y0-this.a*(ys-e)*Math.cos(s),i):Math.abs(this.sin_p12+1)<=js?(i.x=this.x0+this.a*(ys+e)*Math.sin(s),i.y=this.y0+this.a*(ys+e)*Math.cos(s),i):(I=this.sin_p12*r+this.cos_p12*n*Math.cos(s),d=Math.acos(I),_=d?d/Math.sin(d):1,i.x=this.x0+this.a*_*n*Math.sin(s),i.y=this.y0+this.a*_*(this.cos_p12*r-this.sin_p12*n*Math.cos(s)),i):(a=Fb(this.es),o=Tb(this.es),A=Ub(this.es),l=Pb(this.es),Math.abs(this.sin_p12-1)<=js?(c=this.a*m1(a,o,A,l,ys),p=this.a*m1(a,o,A,l,e),i.x=this.x0+(c-p)*Math.sin(s),i.y=this.y0-(c-p)*Math.cos(s),i):Math.abs(this.sin_p12+1)<=js?(c=this.a*m1(a,o,A,l,ys),p=this.a*m1(a,o,A,l,e),i.x=this.x0+(c+p)*Math.sin(s),i.y=this.y0+(c+p)*Math.cos(s),i):Math.abs(t)<js&&Math.abs(e-this.lat0)<js?(i.x=i.y=0,i):(y=SNe(this.lat0,this.long0,e,t,this.a,this.f),B=y.azi1,i.x=y.s12*Math.sin(B),i.y=y.s12*Math.cos(B),i))}function XZi(i){i.x-=this.x0,i.y-=this.y0;var t,e,r,n,s,a,o,A,l,c,p,d,_,I,y,B;return this.sphere?(t=Math.sqrt(i.x*i.x+i.y*i.y),t>2*ys*this.a?void 0:(e=t/this.a,r=Math.sin(e),n=Math.cos(e),s=this.long0,Math.abs(t)<=js?a=this.lat0:(a=nI(n*this.sin_p12+i.y*r*this.cos_p12/t),o=Math.abs(this.lat0)-ys,Math.abs(o)<=js?this.lat0>=0?s=zs(this.long0+Math.atan2(i.x,-i.y),this.over):s=zs(this.long0-Math.atan2(-i.x,i.y),this.over):s=zs(this.long0+Math.atan2(i.x*r,t*this.cos_p12*n-i.y*this.sin_p12*r),this.over)),i.x=s,i.y=a,i)):(A=Fb(this.es),l=Tb(this.es),c=Ub(this.es),p=Pb(this.es),Math.abs(this.sin_p12-1)<=js?(d=this.a*m1(A,l,c,p,ys),t=Math.sqrt(i.x*i.x+i.y*i.y),_=d-t,a=ZG(_/this.a,A,l,c,p),s=zs(this.long0+Math.atan2(i.x,-1*i.y),this.over),i.x=s,i.y=a,i):Math.abs(this.sin_p12+1)<=js?(d=this.a*m1(A,l,c,p,ys),t=Math.sqrt(i.x*i.x+i.y*i.y),_=t-d,a=ZG(_/this.a,A,l,c,p),s=zs(this.long0+Math.atan2(i.x,i.y),this.over),i.x=s,i.y=a,i):(I=Math.atan2(i.x,i.y),y=Math.sqrt(i.x*i.x+i.y*i.y),B=kNe(this.lat0,this.long0,I,y,this.a,this.f),i.x=B.lon2,i.y=B.lat2,i))}var $Zi,DNe,RNe=Pt(()=>{Cu();dc();Hrt();zrt();Yrt();qrt();Jrt();XG();j6t();MNe();$Zi=["Azimuthal_Equidistant","aeqd"],DNe={init:WZi,forward:ZZi,inverse:XZi,names:$Zi}});function tXi(){this.sin_p14=Math.sin(this.lat0||0),this.cos_p14=Math.cos(this.lat0||0)}function eXi(i){var t,e,r,n,s,a,o,A,l=i.x,c=i.y;return r=zs(l-(this.long0||0),this.over),t=Math.sin(c),e=Math.cos(c),n=Math.cos(r),a=this.sin_p14*t+this.cos_p14*e*n,s=1,(a>0||Math.abs(a)<=js)&&(o=this.a*s*e*Math.sin(r),A=(this.y0||0)+this.a*s*(this.cos_p14*t-this.sin_p14*e*n)),i.x=o,i.y=A,i}function iXi(i){var t,e,r,n,s,a,o,A,l;return i.x-=this.x0||0,i.y-=this.y0||0,t=Math.sqrt(i.x*i.x+i.y*i.y),e=nI(t/this.a),r=Math.sin(e),n=Math.cos(e),A=this.long0||0,l=this.lat0||0,a=A,Math.abs(t)<=js?(o=l,i.x=a,i.y=o,i):(o=nI(n*this.sin_p14+i.y*r*this.cos_p14/t),s=Math.abs(l)-ys,Math.abs(s)<=js?(l>=0?a=zs(A+Math.atan2(i.x,-i.y),this.over):a=zs(A-Math.atan2(-i.x,i.y),this.over),i.x=a,i.y=o,i):(a=zs(A+Math.atan2(i.x*r,t*this.cos_p14*n-i.y*this.sin_p14*r),this.over),i.x=a,i.y=o,i))}var rXi,NNe,LNe=Pt(()=>{Cu();XG();dc();rXi=["ortho"],NNe={init:tXi,forward:eXi,inverse:iXi,names:rXi}});function nXi(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=ys-Dc/2?this.face=kp.TOP:this.lat0<=-(ys-Dc/2)?this.face=kp.BOTTOM:Math.abs(this.long0)<=Dc?this.face=kp.FRONT:Math.abs(this.long0)<=ys+Dc?this.face=this.long0>0?kp.RIGHT:kp.LEFT:this.face=kp.BACK,this.es!==0&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)}function sXi(i){var t={x:0,y:0},e,r,n,s,a,o,A={value:0};if(i.x-=this.long0,this.es!==0?e=Math.atan(this.one_minus_f_squared*Math.tan(i.y)):e=i.y,r=i.x,this.face===kp.TOP)s=ys-e,r>=Dc&&r<=ys+Dc?(A.value=ru.AREA_0,n=r-ys):r>ys+Dc||r<=-(ys+Dc)?(A.value=ru.AREA_1,n=r>0?r-Sp:r+Sp):r>-(ys+Dc)&&r<=-Dc?(A.value=ru.AREA_2,n=r+ys):(A.value=ru.AREA_3,n=r);else if(this.face===kp.BOTTOM)s=ys+e,r>=Dc&&r<=ys+Dc?(A.value=ru.AREA_0,n=-r+ys):r<Dc&&r>=-Dc?(A.value=ru.AREA_1,n=-r):r<-Dc&&r>=-(ys+Dc)?(A.value=ru.AREA_2,n=-r-ys):(A.value=ru.AREA_3,n=r>0?-r+Sp:-r-Sp);else{var l,c,p,d,_,I,y;this.face===kp.RIGHT?r=Sz(r,+ys):this.face===kp.BACK?r=Sz(r,+Sp):this.face===kp.LEFT&&(r=Sz(r,-ys)),d=Math.sin(e),_=Math.cos(e),I=Math.sin(r),y=Math.cos(r),l=_*y,c=_*I,p=d,this.face===kp.FRONT?(s=Math.acos(l),n=Y6t(s,p,c,A)):this.face===kp.RIGHT?(s=Math.acos(c),n=Y6t(s,p,-l,A)):this.face===kp.BACK?(s=Math.acos(-l),n=Y6t(s,p,-c,A)):this.face===kp.LEFT?(s=Math.acos(-c),n=Y6t(s,p,l,A)):(s=n=0,A.value=ru.AREA_0)}return o=Math.atan(12/Sp*(n+Math.acos(Math.sin(n)*Math.cos(Dc))-ys)),a=Math.sqrt((1-Math.cos(s))/(Math.cos(o)*Math.cos(o))/(1-Math.cos(Math.atan(1/Math.cos(n))))),A.value===ru.AREA_1?o+=ys:A.value===ru.AREA_2?o+=Sp:A.value===ru.AREA_3&&(o+=1.5*Sp),t.x=a*Math.cos(o),t.y=a*Math.sin(o),t.x=t.x*this.a+this.x0,t.y=t.y*this.a+this.y0,i.x=t.x,i.y=t.y,i}function aXi(i){var t={lam:0,phi:0},e,r,n,s,a,o,A,l,c,p={value:0};if(i.x=(i.x-this.x0)/this.a,i.y=(i.y-this.y0)/this.a,r=Math.atan(Math.sqrt(i.x*i.x+i.y*i.y)),e=Math.atan2(i.y,i.x),i.x>=0&&i.x>=Math.abs(i.y)?p.value=ru.AREA_0:i.y>=0&&i.y>=Math.abs(i.x)?(p.value=ru.AREA_1,e-=ys):i.x<0&&-i.x>=Math.abs(i.y)?(p.value=ru.AREA_2,e=e<0?e+Sp:e-Sp):(p.value=ru.AREA_3,e+=ys),c=Sp/12*Math.tan(e),a=Math.sin(c)/(Math.cos(c)-1/Math.sqrt(2)),o=Math.atan(a),n=Math.cos(e),s=Math.tan(r),A=1-n*n*s*s*(1-Math.cos(Math.atan(1/Math.cos(o)))),A<-1?A=-1:A>1&&(A=1),this.face===kp.TOP)l=Math.acos(A),t.phi=ys-l,p.value===ru.AREA_0?t.lam=o+ys:p.value===ru.AREA_1?t.lam=o<0?o+Sp:o-Sp:p.value===ru.AREA_2?t.lam=o-ys:t.lam=o;else if(this.face===kp.BOTTOM)l=Math.acos(A),t.phi=l-ys,p.value===ru.AREA_0?t.lam=-o+ys:p.value===ru.AREA_1?t.lam=-o:p.value===ru.AREA_2?t.lam=-o-ys:t.lam=o<0?-o-Sp:-o+Sp;else{var d,_,I;d=A,c=d*d,c>=1?I=0:I=Math.sqrt(1-c)*Math.sin(o),c+=I*I,c>=1?_=0:_=Math.sqrt(1-c),p.value===ru.AREA_1?(c=_,_=-I,I=c):p.value===ru.AREA_2?(_=-_,I=-I):p.value===ru.AREA_3&&(c=_,_=I,I=-c),this.face===kp.RIGHT?(c=d,d=-_,_=c):this.face===kp.BACK?(d=-d,_=-_):this.face===kp.LEFT&&(c=d,d=_,_=-c),t.phi=Math.acos(-I)-ys,t.lam=Math.atan2(_,d),this.face===kp.RIGHT?t.lam=Sz(t.lam,-ys):this.face===kp.BACK?t.lam=Sz(t.lam,-Sp):this.face===kp.LEFT&&(t.lam=Sz(t.lam,+ys))}if(this.es!==0){var y,B,x;y=t.phi<0?1:0,B=Math.tan(t.phi),x=this.b/Math.sqrt(B*B+this.one_minus_f_squared),t.phi=Math.atan(Math.sqrt(this.a*this.a-x*x)/(this.one_minus_f*x)),y&&(t.phi=-t.phi)}return t.lam+=this.long0,i.x=t.lam,i.y=t.phi,i}function Y6t(i,t,e,r){var n;return i<js?(r.value=ru.AREA_0,n=0):(n=Math.atan2(t,e),Math.abs(n)<=Dc?r.value=ru.AREA_0:n>Dc&&n<=ys+Dc?(r.value=ru.AREA_1,n-=ys):n>ys+Dc||n<=-(ys+Dc)?(r.value=ru.AREA_2,n=n>=0?n-Sp:n+Sp):(r.value=ru.AREA_3,n+=ys)),n}function Sz(i,t){var e=i+t;return e<-Sp?e+=uM:e>+Sp&&(e-=uM),e}var kp,ru,oXi,GNe,FNe=Pt(()=>{dc();kp={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},ru={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};oXi=["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"],GNe={init:nXi,forward:sXi,inverse:aXi,names:oXi}});function cXi(i,t,e,r){for(var n=t;r;--r){var s=i(n);if(n-=s,Math.abs(s)<e)break}return n}function hXi(){this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.es=0,this.title=this.title||"Robinson"}function uXi(i){var t=zs(i.x-this.long0,this.over),e=Math.abs(i.y),r=Math.floor(e*PNe);r<0?r=0:r>=kz&&(r=kz-1),e=f1*(e-AXi*r);var n={x:q6t(Qjt[r],e)*t,y:q6t(Vrt[r],e)};return i.y<0&&(n.y=-n.y),n.x=n.x*this.a*TNe+this.x0,n.y=n.y*this.a*UNe+this.y0,n}function gXi(i){var t={x:(i.x-this.x0)/(this.a*TNe),y:Math.abs(i.y-this.y0)/(this.a*UNe)};if(t.y>=1)t.x/=Qjt[kz][0],t.y=i.y<0?-ys:ys;else{var e=Math.floor(t.y*kz);for(e<0?e=0:e>=kz&&(e=kz-1);;)if(Vrt[e][0]>t.y)--e;else if(Vrt[e+1][0]<=t.y)++e;else break;var r=Vrt[e],n=5*(t.y-r[0])/(Vrt[e+1][0]-r[0]);n=cXi(function(s){return(q6t(r,s)-t.y)/lXi(r,s)},n,js,100),t.x/=q6t(Qjt[e],n),t.y=(5*e+n)*Gu,i.y<0&&(t.y=-t.y)}return t.x=zs(t.x+this.long0,this.over),t}var Qjt,Vrt,TNe,UNe,PNe,AXi,kz,q6t,lXi,pXi,ONe,jNe=Pt(()=>{dc();Cu();Qjt=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-986701e-12],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,18736e-12],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,934959e-12],[.7986,-.00755338,-500009e-10,935324e-12],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],Vrt=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-126793e-14,422642e-15],[.124,.0124,507171e-14,-160604e-14],[.186,.0123999,-190189e-13,600152e-14],[.248,.0124002,710039e-13,-224e-10],[.31,.0123992,-264997e-12,835986e-13],[.372,.0124029,988983e-12,-311994e-12],[.434,.0123893,-369093e-11,-435621e-12],[.4958,.0123198,-102252e-10,-345523e-12],[.5571,.0121916,-154081e-10,-582288e-12],[.6176,.0119938,-241424e-10,-525327e-12],[.6769,.011713,-320223e-10,-516405e-12],[.7346,.0113541,-397684e-10,-609052e-12],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-140374e-14],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],TNe=.8487,UNe=1.3523,PNe=f1/5,AXi=1/PNe,kz=18,q6t=function(i,t){return i[0]+t*(i[1]+t*(i[2]+t*i[3]))},lXi=function(i,t){return i[1]+t*(2*i[2]+t*3*i[3])};pXi=["Robinson","robin"],ONe={init:hXi,forward:uXi,inverse:gXi,names:pXi}});function dXi(){this.name="geocent"}function _Xi(i){var t=M6t(i,this.es,this.a);return t}function fXi(i){var t=D6t(i,this.es,this.a,this.b);return t}var mXi,HNe,zNe=Pt(()=>{ajt();mXi=["Geocentric","geocentric","geocent","Geocent"],HNe={init:dXi,forward:_Xi,inverse:fXi,names:mXi}});function IXi(){if(Object.keys(Wrt).forEach(function(e){if(typeof this[e]>"u")this[e]=Wrt[e].def;else{if(Wrt[e].num&&isNaN(this[e]))throw new Error("Invalid parameter value, must be numeric "+e+" = "+this[e]);Wrt[e].num&&(this[e]=parseFloat(this[e]))}Wrt[e].degrees&&(this[e]=this[e]*Gu)}.bind(this)),Math.abs(Math.abs(this.lat0)-ys)<js?this.mode=this.lat0<0?o6.S_POLE:o6.N_POLE:Math.abs(this.lat0)<js?this.mode=o6.EQUIT:(this.mode=o6.OBLIQ,this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0)),this.pn1=this.h/this.a,this.pn1<=0||this.pn1>1e10)throw new Error("Invalid height");this.p=1+this.pn1,this.rp=1/this.p,this.h1=1/this.pn1,this.pfact=(this.p+1)*this.h1,this.es=0;var i=this.tilt,t=this.azi;this.cg=Math.cos(t),this.sg=Math.sin(t),this.cw=Math.cos(i),this.sw=Math.sin(i)}function yXi(i){i.x-=this.long0;var t=Math.sin(i.y),e=Math.cos(i.y),r=Math.cos(i.x),n,s;switch(this.mode){case o6.OBLIQ:s=this.sinph0*t+this.cosph0*e*r;break;case o6.EQUIT:s=e*r;break;case o6.S_POLE:s=-t;break;case o6.N_POLE:s=t;break}switch(s=this.pn1/(this.p-s),n=s*e*Math.sin(i.x),this.mode){case o6.OBLIQ:s*=this.cosph0*t-this.sinph0*e*r;break;case o6.EQUIT:s*=t;break;case o6.N_POLE:s*=-(e*r);break;case o6.S_POLE:s*=e*r;break}var a,o;return a=s*this.cg+n*this.sg,o=1/(a*this.sw*this.h1+this.cw),n=(n*this.cg-s*this.sg)*this.cw*o,s=a*o,i.x=n*this.a,i.y=s*this.a,i}function CXi(i){i.x/=this.a,i.y/=this.a;var t={x:i.x,y:i.y},e,r,n;n=1/(this.pn1-i.y*this.sw),e=this.pn1*i.x*n,r=this.pn1*i.y*this.cw*n,i.x=e*this.cg+r*this.sg,i.y=r*this.cg-e*this.sg;var s=G3(i.x,i.y);if(Math.abs(s)<js)t.x=0,t.y=i.y;else{var a,o;switch(o=1-s*s*this.pfact,o=(this.p-Math.sqrt(o))/(this.pn1/s+s/this.pn1),a=Math.sqrt(1-o*o),this.mode){case o6.OBLIQ:t.y=Math.asin(a*this.sinph0+i.y*o*this.cosph0/s),i.y=(a-this.sinph0*Math.sin(t.y))*s,i.x*=o*this.cosph0;break;case o6.EQUIT:t.y=Math.asin(i.y*o/s),i.y=a*s,i.x*=o;break;case o6.N_POLE:t.y=Math.asin(a),i.y=-i.y;break;case o6.S_POLE:t.y=-Math.asin(a);break}t.x=Math.atan2(i.x,i.y)}return i.x=t.x+this.long0,i.y=t.y,i}var o6,Wrt,EXi,YNe,qNe=Pt(()=>{dc();VG();o6={N_POLE:0,S_POLE:1,EQUIT:2,OBLIQ:3},Wrt={h:{def:1e5,num:!0},azi:{def:0,num:!0,degrees:!0},tilt:{def:0,num:!0,degrees:!0},long0:{def:0,num:!0},lat0:{def:0,num:!0}};EXi=["Tilted_Perspective","tpers"],YNe={init:IXi,forward:yXi,inverse:CXi,names:EXi}});function BXi(){if(this.flip_axis=this.sweep==="x"?1:0,this.h=Number(this.h),this.radius_g_1=this.h/this.a,this.radius_g_1<=0||this.radius_g_1>1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,this.es!==0){var i=1-this.es,t=1/i;this.radius_p=Math.sqrt(i),this.radius_p2=i,this.radius_p_inv2=t,this.shape="ellipse"}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape="sphere";this.title||(this.title="Geostationary Satellite View")}function xXi(i){var t=i.x,e=i.y,r,n,s,a;if(t=t-this.long0,this.shape==="ellipse"){e=Math.atan(this.radius_p2*Math.tan(e));var o=this.radius_p/G3(this.radius_p*Math.cos(e),Math.sin(e));if(n=o*Math.cos(t)*Math.cos(e),s=o*Math.sin(t)*Math.cos(e),a=o*Math.sin(e),(this.radius_g-n)*n-s*s-a*a*this.radius_p_inv2<0)return i.x=Number.NaN,i.y=Number.NaN,i;r=this.radius_g-n,this.flip_axis?(i.x=this.radius_g_1*Math.atan(s/G3(a,r)),i.y=this.radius_g_1*Math.atan(a/r)):(i.x=this.radius_g_1*Math.atan(s/r),i.y=this.radius_g_1*Math.atan(a/G3(s,r)))}else this.shape==="sphere"&&(r=Math.cos(e),n=Math.cos(t)*r,s=Math.sin(t)*r,a=Math.sin(e),r=this.radius_g-n,this.flip_axis?(i.x=this.radius_g_1*Math.atan(s/G3(a,r)),i.y=this.radius_g_1*Math.atan(a/r)):(i.x=this.radius_g_1*Math.atan(s/r),i.y=this.radius_g_1*Math.atan(a/G3(s,r))));return i.x=i.x*this.a,i.y=i.y*this.a,i}function QXi(i){var t=-1,e=0,r=0,n,s,a,o;if(i.x=i.x/this.a,i.y=i.y/this.a,this.shape==="ellipse"){this.flip_axis?(r=Math.tan(i.y/this.radius_g_1),e=Math.tan(i.x/this.radius_g_1)*G3(1,r)):(e=Math.tan(i.x/this.radius_g_1),r=Math.tan(i.y/this.radius_g_1)*G3(1,e));var A=r/this.radius_p;if(n=e*e+A*A+t*t,s=2*this.radius_g*t,a=s*s-4*n*this.C,a<0)return i.x=Number.NaN,i.y=Number.NaN,i;o=(-s-Math.sqrt(a))/(2*n),t=this.radius_g+o*t,e*=o,r*=o,i.x=Math.atan2(e,t),i.y=Math.atan(r*Math.cos(i.x)/t),i.y=Math.atan(this.radius_p_inv2*Math.tan(i.y))}else if(this.shape==="sphere"){if(this.flip_axis?(r=Math.tan(i.y/this.radius_g_1),e=Math.tan(i.x/this.radius_g_1)*Math.sqrt(1+r*r)):(e=Math.tan(i.x/this.radius_g_1),r=Math.tan(i.y/this.radius_g_1)*Math.sqrt(1+e*e)),n=e*e+r*r+t*t,s=2*this.radius_g*t,a=s*s-4*n*this.C,a<0)return i.x=Number.NaN,i.y=Number.NaN,i;o=(-s-Math.sqrt(a))/(2*n),t=this.radius_g+o*t,e*=o,r*=o,i.x=Math.atan2(e,t),i.y=Math.atan(r*Math.cos(i.x)/t)}return i.x=i.x+this.long0,i}var bXi,JNe,KNe=Pt(()=>{VG();bXi=["Geostationary Satellite View","Geostationary_Satellite","geos"],JNe={init:BXi,forward:xXi,inverse:QXi,names:bXi}});function vXi(){this.es=0,this.long0=this.long0!==void 0?this.long0:0,this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0}function wXi(i){var t=zs(i.x-this.long0,this.over),e=i.y,r=Math.asin(J6t*Math.sin(e)),n=r*r,s=n*n*n;return i.x=t*Math.cos(r)/(J6t*(Zrt+3*Xrt*n+s*(7*$rt+9*tnt*n))),i.y=r*(Zrt+Xrt*n+s*($rt+tnt*n)),i.x=this.a*i.x+this.x0,i.y=this.a*i.y+this.y0,i}function SXi(i){i.x=(i.x-this.x0)/this.a,i.y=(i.y-this.y0)/this.a;var t=1e-9,e=12,r=i.y,n,s,a,o,A,l;for(l=0;l<e&&(n=r*r,s=n*n*n,a=r*(Zrt+Xrt*n+s*($rt+tnt*n))-i.y,o=Zrt+3*Xrt*n+s*(7*$rt+9*tnt*n),r-=A=a/o,!(Math.abs(A)<t));++l);return n=r*r,s=n*n*n,i.x=J6t*i.x*(Zrt+3*Xrt*n+s*(7*$rt+9*tnt*n))/Math.cos(r),i.y=Math.asin(Math.sin(r)/J6t),i.x=zs(i.x+this.long0,this.over),i}var Zrt,Xrt,$rt,tnt,J6t,kXi,VNe,WNe=Pt(()=>{Cu();Zrt=1.340264,Xrt=-.081106,$rt=893e-6,tnt=.003796,J6t=Math.sqrt(3)/2;kXi=["eqearth","Equal Earth","Equal_Earth"],VNe={init:vXi,forward:wXi,inverse:SXi,names:kXi}});function MXi(){var i;if(this.phi1=this.lat1,Math.abs(this.phi1)<ent)throw new Error;this.es?(this.en=xz(this.es),this.m1=Qx(this.phi1,this.am1=Math.sin(this.phi1),i=Math.cos(this.phi1),this.en),this.am1=i/(Math.sqrt(1-this.es*this.am1*this.am1)*this.am1),this.inverse=RXi,this.forward=DXi):(Math.abs(this.phi1)+ent>=ys?this.cphi1=0:this.cphi1=1/Math.tan(this.phi1),this.inverse=LXi,this.forward=NXi)}function DXi(i){var t=zs(i.x-(this.long0||0),this.over),e=i.y,r,n,s;return r=this.am1+this.m1-Qx(e,n=Math.sin(e),s=Math.cos(e),this.en),n=s*t/(r*Math.sqrt(1-this.es*n*n)),i.x=r*Math.sin(n),i.y=this.am1-r*Math.cos(n),i.x=this.a*i.x+(this.x0||0),i.y=this.a*i.y+(this.y0||0),i}function RXi(i){i.x=(i.x-(this.x0||0))/this.a,i.y=(i.y-(this.y0||0))/this.a;var t,e,r,n;if(e=G3(i.x,i.y=this.am1-i.y),n=Qz(this.am1+this.m1-e,this.es,this.en),(t=Math.abs(n))<ys)t=Math.sin(n),r=e*Math.atan2(i.x,i.y)*Math.sqrt(1-this.es*t*t)/Math.cos(n);else if(Math.abs(t-ys)<=ent)r=0;else throw new Error;return i.x=zs(r+(this.long0||0),this.over),i.y=rI(n),i}function NXi(i){var t=zs(i.x-(this.long0||0),this.over),e=i.y,r,n;return n=this.cphi1+this.phi1-e,Math.abs(n)>ent?(i.x=n*Math.sin(r=t*Math.cos(e)/n),i.y=this.cphi1-n*Math.cos(r)):i.x=i.y=0,i.x=this.a*i.x+(this.x0||0),i.y=this.a*i.y+(this.y0||0),i}function LXi(i){i.x=(i.x-(this.x0||0))/this.a,i.y=(i.y-(this.y0||0))/this.a;var t,e,r=G3(i.x,i.y=this.cphi1-i.y);if(e=this.cphi1+this.phi1-r,Math.abs(e)>ys)throw new Error;return Math.abs(Math.abs(e)-ys)<=ent?t=0:t=r*Math.atan2(i.x,i.y)/Math.cos(e),i.x=zs(t+(this.long0||0),this.over),i.y=rI(e),i}var ent,GXi,ZNe,XNe=Pt(()=>{WG();Cu();VG();G6t();F6t();jrt();dc();ent=1e-10;GXi=["bonne","Bonne (Werner lat_1=90)"],ZNe={init:MXi,names:GXi}});function FXi(){if(this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.title=this.title||"General Oblique Transformation",this.isIdentity=ZOt.includes(this.o_proj),!this.o_proj)throw new Error("Missing parameter: o_proj");if(this.o_proj==="ob_tran")throw new Error("Invalid value for o_proj: "+this.o_proj);let i=this.projStr.replace("+proj=ob_tran","").replace("+o_proj=","+proj=").trim(),t=nB(i);if(!t)throw new Error("Invalid parameter: o_proj. Unknown projection "+this.o_proj);t.long0=0,this.obliqueProjection=t;let e,r=Object.keys(K6t),n=o=>{if(typeof this[o]>"u")return;let A=parseFloat(this[o])*Gu;if(isNaN(A))throw new Error("Invalid value for "+o+": "+this[o]);return A};for(let o=0;o<r.length;o++){let A=r[o],l=K6t[A],c=Object.entries(l);if(c.some(([d])=>typeof this[d]<"u")){e=l;for(let d=0;d<c.length;d++){let[_,I]=c[d],y=n(_);if(typeof y>"u")throw new Error("Missing parameter: "+_+".");this[I]=y}break}}if(!e)throw new Error("No valid parameters provided for ob_tran projection.");let{lamp:s,phip:a}=PXi(this,e);this.lamp=s,Math.abs(a)>js?(this.cphip=Math.cos(a),this.sphip=Math.sin(a),this.projectionType=$Ne.OBLIQUE):this.projectionType=$Ne.TRANSVERSE}function TXi(i){return this.projectionType.forward(this,i)}function UXi(i){return this.projectionType.inverse(this,i)}function PXi(i,t){let e,r;if(t===K6t.ROTATE){let n=i.oLongC,s=i.oLatC,a=i.oAlpha;if(Math.abs(Math.abs(s)-ys)<=js)throw new Error("Invalid value for o_lat_c: "+i.o_lat_c+" should be < 90\xB0");r=n+Math.atan2(-1*Math.cos(a),-1*Math.sin(a)*Math.sin(s)),e=Math.asin(Math.cos(s)*Math.sin(a))}else if(t===K6t.NEW_POLE)r=i.oLongP,e=i.oLatP;else{let n=i.oLong1,s=i.oLat1,a=i.oLong2,o=i.oLat2,A=Math.abs(s);if(Math.abs(s)>ys-js)throw new Error("Invalid value for o_lat_1: "+i.o_lat_1+" should be < 90\xB0");if(Math.abs(o)>ys-js)throw new Error("Invalid value for o_lat_2: "+i.o_lat_2+" should be < 90\xB0");if(Math.abs(s-o)<js)throw new Error("Invalid value for o_lat_1 and o_lat_2: o_lat_1 should be different from o_lat_2");if(A<js)throw new Error("Invalid value for o_lat_1: o_lat_1 should be different from zero");r=Math.atan2(Math.cos(s)*Math.sin(o)*Math.cos(n)-Math.sin(s)*Math.cos(o)*Math.cos(a),Math.sin(s)*Math.cos(o)*Math.sin(a)-Math.cos(s)*Math.sin(o)*Math.sin(n)),e=Math.atan(-1*Math.cos(r-n)/Math.tan(s))}return{lamp:r,phip:e}}function OXi(i,t){let{x:e,y:r}=t;e+=i.long0;let n=Math.cos(e),s=Math.sin(r),a=Math.cos(r);t.x=zs(Math.atan2(a*Math.sin(e),i.sphip*a*n+i.cphip*s)+i.lamp),t.y=Math.asin(i.sphip*s-i.cphip*a*n);let o=i.obliqueProjection.forward(t);return i.isIdentity&&(o.x*=f1,o.y*=f1),o}function jXi(i,t){let{x:e,y:r}=t;e+=i.long0;let n=Math.cos(r),s=Math.cos(e);t.x=zs(Math.atan2(n*Math.sin(e),Math.sin(r))+i.lamp),t.y=Math.asin(-1*n*s);let a=i.obliqueProjection.forward(t);return i.isIdentity&&(a.x*=f1,a.y*=f1),a}function HXi(i,t){i.isIdentity&&(t.x*=Gu,t.y*=Gu);let e=i.obliqueProjection.inverse(t),{x:r,y:n}=e;if(r<Number.MAX_VALUE){r-=i.lamp;let s=Math.cos(r),a=Math.sin(n),o=Math.cos(n);t.x=Math.atan2(o*Math.sin(r),i.sphip*o*s-i.cphip*a),t.y=Math.asin(i.sphip*a+i.cphip*o*s)}return t.x=zs(t.x+i.long0),t}function zXi(i,t){i.isIdentity&&(t.x*=Gu,t.y*=Gu);let e=i.obliqueProjection.inverse(t),{x:r,y:n}=e;if(r<Number.MAX_VALUE){let s=Math.cos(n);r-=i.lamp,t.x=Math.atan2(s*Math.sin(r),-1*Math.sin(n)),t.y=Math.asin(s*Math.cos(r))}return t.x=zs(t.x+i.long0),t}var $Ne,K6t,YXi,tLe,eLe=Pt(()=>{Cu();dc();Urt();XOt();$Ne={OBLIQUE:{forward:OXi,inverse:HXi},TRANSVERSE:{forward:jXi,inverse:zXi}},K6t={ROTATE:{o_alpha:"oAlpha",o_lon_c:"oLongC",o_lat_c:"oLatC"},NEW_POLE:{o_lat_p:"oLatP",o_lon_p:"oLongP"},NEW_EQUATOR:{o_lon_1:"oLong1",o_lat_1:"oLat1",o_lon_2:"oLong2",o_lat_2:"oLat2"}};YXi=["General Oblique Transformation","General_Oblique_Transformation","ob_tran"],tLe={init:FXi,forward:TXi,inverse:UXi,names:YXi}});function iLe(i){i.Proj.projections.add(bz),i.Proj.projections.add(vz),i.Proj.projections.add(TRe),i.Proj.projections.add(jRe),i.Proj.projections.add(zRe),i.Proj.projections.add(qRe),i.Proj.projections.add(KRe),i.Proj.projections.add(WRe),i.Proj.projections.add(XRe),i.Proj.projections.add(tNe),i.Proj.projections.add(iNe),i.Proj.projections.add(nNe),i.Proj.projections.add(aNe),i.Proj.projections.add(cNe),i.Proj.projections.add(uNe),i.Proj.projections.add(dNe),i.Proj.projections.add(fNe),i.Proj.projections.add(INe),i.Proj.projections.add(CNe),i.Proj.projections.add(BNe),i.Proj.projections.add(QNe),i.Proj.projections.add(vNe),i.Proj.projections.add(DNe),i.Proj.projections.add(NNe),i.Proj.projections.add(GNe),i.Proj.projections.add(ONe),i.Proj.projections.add(HNe),i.Proj.projections.add(YNe),i.Proj.projections.add(JNe),i.Proj.projections.add(VNe),i.Proj.projections.add(ZNe),i.Proj.projections.add(tLe)}var rLe=Pt(()=>{_jt();Ijt();URe();HRe();YRe();JRe();VRe();ZRe();$Re();eNe();rNe();sNe();oNe();hNe();gNe();_Ne();mNe();yNe();ENe();xNe();bNe();wNe();RNe();LNe();FNe();jNe();zNe();qNe();KNe();WNe();XNe();eLe()});var nLe,F3,pM=Pt(()=>{gRe();Urt();ERe();Ajt();VOt();sjt();ljt();djt();rLe();nLe=Object.assign(uRe,{defaultDatum:"WGS84",Proj:nB,WGS84:new nB("WGS84"),Point:CRe,toPoint:N6t,defs:mz,nadgrid:njt,transform:KG,mgrs:mRe,version:"__VERSION__"});iLe(nLe);F3=nLe});var qXi,sLe,aLe=Pt(()=>{qXi={MERIT:{a:6378137},SGS85:{a:6378136},GRS80:{a:6378137},IAU76:{a:6378140},airy:{a:6377563396e-3,b:635625691e-2},APL4:{a:6378137},NWL9D:{a:6378145},mod_airy:{a:6377340189e-3,b:6356034446e-3},andrae:{a:637710443e-2},aust_SA:{a:6378160},GRS67:{a:6378160},bessel:{a:6377397155e-3},bess_nam:{a:6377483865e-3},clrk66:{a:63782064e-1,b:63565838e-1},clrk80:{a:6378249145e-3},clrk80ign:{a:63782492e-1,b:6356515},clrk58:{a:6378293645208759e-9},CPM:{a:63757387e-1},delmbr:{a:6376428},engelis:{a:637813605e-2},evrst30:{a:6377276345e-3},evrst48:{a:6377304063e-3},evrst56:{a:6377301243e-3},evrst69:{a:6377295664e-3},evrstSS:{a:6377298556e-3},fschr60:{a:6378166},fschr60m:{a:6378155},fschr68:{a:6378150},helmert:{a:6378200},hough:{a:6378270},intl:{a:6378388},kaula:{a:6378163},lerch:{a:6378139},mprts:{a:6397300},new_intl:{a:63781575e-1,b:63567722e-1},plessis:{a:6376523},krass:{a:6378245},SEasia:{a:6378155,b:63567733205e-4},walbeck:{a:6376896,b:63558348467e-4},WGS60:{a:6378165},WGS66:{a:6378145},WGS7:{a:6378135},WGS84:{a:6378137},sphere:{a:6370997,b:6370997}},sLe=qXi});function bjt(i){if(JXi(i))throw new Error("Cannot invert degenerate transform");let t=1/oLe(i),[e,r,n,s,a,o]=i,A=a*t,l=-r*t,c=-s*t,p=e*t;return[A,l,-n*A-o*l,c,p,-n*c-o*p]}function JXi(i){return oLe(i)===0}function oLe(i){let[t,e,r,n,s,a]=i;return t*s-e*n}function V6t(i,t,e){let[r,n,s,a,o,A]=e;return[r*i+n*t+s,a*i+o*t+A]}var ALe=Pt(()=>{});var lLe=Pt(()=>{ALe()});async function W6t(i,t,e=KXi){let r=await i.getImage(),n=vjt(r),s=F3(t,e),{forwardTransform:a,inverseTransform:o}=int(n);return{forwardTransform:a,inverseTransform:o,forwardReproject:(A,l)=>s.forward([A,l],!1),inverseReproject:(A,l)=>s.inverse([A,l],!1)}}function int(i){let t=bjt(i);return{forwardTransform:(e,r)=>V6t(e,r,i),inverseTransform:(e,r)=>V6t(e,r,t)}}function vjt(i){let t=i.getOrigin(),e=i.getResolution(),n=i.getFileDirectory().ModelTransformation,s=0,a=0;return n&&n.length>=16&&(s=n[1],a=n[4]),[e[0],s,t[0],a,e[1],t[1]]}var KXi,rnt=Pt(()=>{lLe();pM();KXi={$schema:"https://proj.org/schemas/v0.7/projjson.schema.json",type:"GeographicCRS",name:"WGS 84 (CRS84)",datum_ensemble:{name:"World Geodetic System 1984 ensemble",members:[{name:"World Geodetic System 1984 (Transit)",id:{authority:"EPSG",code:1166}},{name:"World Geodetic System 1984 (G730)",id:{authority:"EPSG",code:1152}},{name:"World Geodetic System 1984 (G873)",id:{authority:"EPSG",code:1153}},{name:"World Geodetic System 1984 (G1150)",id:{authority:"EPSG",code:1154}},{name:"World Geodetic System 1984 (G1674)",id:{authority:"EPSG",code:1155}},{name:"World Geodetic System 1984 (G1762)",id:{authority:"EPSG",code:1156}},{name:"World Geodetic System 1984 (G2139)",id:{authority:"EPSG",code:1309}}],ellipsoid:{name:"WGS 84",semi_major_axis:6378137,inverse_flattening:298.257223563},accuracy:"2.0",id:{authority:"EPSG",code:6326}},coordinate_system:{subtype:"ellipsoidal",axis:[{name:"Geodetic longitude",abbreviation:"Lon",direction:"east",unit:"degree"},{name:"Geodetic latitude",abbreviation:"Lat",direction:"north",unit:"degree"}]},scope:"Not known.",area:"World.",bbox:{south_latitude:-90,west_longitude:-180,north_latitude:90,east_longitude:180},id:{authority:"OGC",code:"CRS84"}}});async function Z6t(i,t){let e=await i.getImage();if(!e.isTiled)throw new Error("COG TileMatrixSet requires a tiled GeoTIFF");let r=await i.getImageCount(),n=e.getBoundingBox(),s=e.getWidth(),a=e.getHeight(),o=await t(e.getGeoKeys());if(o===null)throw new Error("Could not determine coordinate reference system from GeoTIFF geo keys");let A=F3(o.def,"EPSG:4326").forward,l=F3(o.def,"EPSG:3857").forward,c={lowerLeft:[n[0],n[1]],upperRight:[n[2],n[3]]},p=vjt(e);if(p[1]!==0||p[3]!==0)throw new Error("COG TileMatrixSet with rotation/skewed geotransform is not supported");let d=Math.abs(p[0]),_=e.getTileWidth(),I=e.getTileHeight(),y=[{id:String(r-1),scaleDenominator:d*wjt(o.parsed,o.coordinatesUnits)/cLe,cellSize:d,pointOfOrigin:[p[2],p[5]],tileWidth:e.getTileWidth(),tileHeight:e.getTileHeight(),matrixWidth:Math.ceil(s/_),matrixHeight:Math.ceil(a/I),geotransform:p}];for(let B=1;B<r;B++){let x=await i.getImage(B);if(!x.isTiled)throw new Error("COG TileMatrixSet requires a tiled GeoTIFF");let w=VXi({id:String(r-1-B),image:x,fullWidth:s,fullHeight:a,baseTransform:p,crs:o});y.push(w)}return y.reverse(),{crs:o,boundingBox:c,wgsBounds:WXi(c,A),tileMatrices:y,projectToWgs84:A,projectTo3857:l}}function wjt(i,t){let e=(t||i.units)?.toLowerCase();switch(e){case"m":case"metre":case"meter":case"meters":return 1;case"foot":return .3048;case"us survey foot":return 1200/3937}if(e==="degree"){let{a:r}=sLe[i.ellps];return 2*Math.PI*r/360}throw new Error(`Unsupported CRS units: ${e}`)}function VXi({id:i,image:t,fullWidth:e,baseTransform:r,crs:n}){let s=t.getWidth(),a=t.getHeight(),A=e/s,l=[r[0]*A,r[1]*A,r[2],r[3]*A,r[4]*A,r[5]],c=Math.abs(l[0]),p=t.getTileWidth(),d=t.getTileHeight();return{id:i,scaleDenominator:c*wjt(n.parsed,n.coordinatesUnits)/cLe,cellSize:c,pointOfOrigin:[l[2],l[5]],tileWidth:p,tileHeight:d,matrixWidth:Math.ceil(s/p),matrixHeight:Math.ceil(a/d),geotransform:l}}function WXi(i,t){let e=t(i.lowerLeft),r=t([i.upperRight[0],i.lowerLeft[1]]),n=t(i.upperRight),s=t([i.lowerLeft[0],i.upperRight[1]]),a=Math.min(e[0],r[0],n[0],s[0]),o=Math.max(e[0],r[0],n[0],s[0]),A=Math.min(e[1],r[1],n[1],s[1]),l=Math.max(e[1],r[1],n[1],s[1]);return{lowerLeft:[a,A],upperRight:[o,l]}}var cLe,hLe,X6t=Pt(()=>{pM();aLe();rnt();cLe=28e-5;hLe={metersPerUnit:wjt}});var uLe,gLe=Pt(()=>{uLe="Cannot convert undefined or null to object"});function eg(i){return(t,...e)=>ZXi(i,t,e)}function Mz(i,t){return eg($6t(i,t).get)}var ZXi,HQs,zQs,YQs,$6t,tft,qQs,dLe,JQs,KQs,_Le,VQs,XXi,$Xi,Dz,WQs,t$i,ZQs,eft,ift,fLe,XQs,$Qs,Sjt,tbs,e$i,mLe,ebs,rft,ibs,rbs,nbs,kjt,ILe,i$i,sbs,nft,abs,yLe,obs,Abs,pLe,lbs,CLe,cbs,Cf,hbs,ubs,gbs,pbs,dbs,_bs,fbs,mbs,Ibs,ybs,Cbs,Ebs,Bbs,xbs,Qbs,ELe,Mjt,sft,BLe,Rz,Djt,xLe,QLe,bLe,vLe,r$i,n$i,s$i,wLe,bbs,vbs,aft,Rjt,Njt,wbs,SLe,oft=Pt(()=>{gLe();({apply:ZXi,construct:HQs,defineProperty:zQs,get:YQs,getOwnPropertyDescriptor:$6t,getPrototypeOf:tft,has:qQs,ownKeys:dLe,set:JQs,setPrototypeOf:KQs}=Reflect),{EPSILON:_Le,MAX_SAFE_INTEGER:VQs,isFinite:XXi,isNaN:$Xi}=Number,{iterator:Dz,species:WQs,toStringTag:t$i,for:ZQs}=Symbol,eft=Object,{create:ift,defineProperty:fLe,freeze:XQs,is:$Qs}=eft,Sjt=eft.prototype,tbs=Sjt.__lookupGetter__?eg(Sjt.__lookupGetter__):(i,t)=>{if(i==null)throw n$i(uLe);let e=eft(i);do{let r=$6t(e,t);if(r!==void 0)return e$i(r,"get")?r.get:void 0}while((e=tft(e))!==null)},e$i=eft.hasOwn||eg(Sjt.hasOwnProperty),mLe=Array,ebs=mLe.isArray,rft=mLe.prototype,ibs=eg(rft.join),rbs=eg(rft.push),nbs=eg(rft.toLocaleString),kjt=rft[Dz],ILe=eg(kjt),{abs:i$i,trunc:sbs}=Math,nft=ArrayBuffer,abs=nft.isView,yLe=nft.prototype,obs=eg(yLe.slice),Abs=Mz(yLe,"byteLength"),pLe=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:null,lbs=pLe&&Mz(pLe.prototype,"byteLength"),CLe=tft(Uint8Array),cbs=CLe.from,Cf=CLe.prototype,hbs=Cf[Dz],ubs=eg(Cf.keys),gbs=eg(Cf.values),pbs=eg(Cf.entries),dbs=eg(Cf.set),_bs=eg(Cf.reverse),fbs=eg(Cf.fill),mbs=eg(Cf.copyWithin),Ibs=eg(Cf.sort),ybs=eg(Cf.slice),Cbs=eg(Cf.subarray),Ebs=Mz(Cf,"buffer"),Bbs=Mz(Cf,"byteOffset"),xbs=Mz(Cf,"length"),Qbs=Mz(Cf,t$i),ELe=Uint8Array,Mjt=Uint16Array,sft=Uint32Array,BLe=Float32Array,Rz=tft([][Dz]()),Djt=eg(Rz.next),xLe=eg((function*(){})().next),QLe=tft(Rz),bLe=DataView.prototype,vLe=eg(bLe.getUint16),r$i=eg(bLe.setUint16),n$i=TypeError,s$i=WeakSet,wLe=s$i.prototype,bbs=eg(wLe.add),vbs=eg(wLe.has),aft=WeakMap,Rjt=aft.prototype,Njt=eg(Rjt.get),wbs=eg(Rjt.has),SLe=eg(Rjt.set)});function MLe(i){if(i[Dz]===kjt&&Rz.next===Djt)return i;let t=ift(a$i);return SLe(kLe,t,ILe(i)),t}var kLe,a$i,o$i,A$i,DLe=Pt(()=>{oft();kLe=new aft,a$i=ift(null,{next:{value:function(){let t=Njt(kLe,this);return Djt(t)}},[Dz]:{value:function(){return this}}});o$i=new aft,A$i=ift(QLe,{next:{value:function(){let t=Njt(o$i,this);return xLe(t)},writable:!0,configurable:!0}});for(let i of dLe(Rz))i!=="next"&&fLe(A$i,i,$6t(Rz,i))});function GLe(i){let t=i>>10;return u$i[0]=Ljt[LLe[t]+(i&1023)]+Nz[t],h$i[0]}var l$i,c$i,RLe,Rbs,Nbs,NLe,h$i,u$i,bx,vx,Ljt,Nz,LLe,FLe=Pt(()=>{oft();l$i=1/_Le,c$i=6103515625e-14,RLe=.0009765625,Rbs=RLe*c$i,Nbs=RLe*l$i,NLe=new nft(4),h$i=new BLe(NLe),u$i=new sft(NLe),bx=new Mjt(512),vx=new ELe(512);for(let i=0;i<256;++i){let t=i-127;t<-24?(bx[i]=0,bx[i|256]=32768,vx[i]=24,vx[i|256]=24):t<-14?(bx[i]=1024>>-t-14,bx[i|256]=1024>>-t-14|32768,vx[i]=-t-1,vx[i|256]=-t-1):t<=15?(bx[i]=t+15<<10,bx[i|256]=t+15<<10|32768,vx[i]=13,vx[i|256]=13):t<128?(bx[i]=31744,bx[i|256]=64512,vx[i]=24,vx[i|256]=24):(bx[i]=31744,bx[i|256]=64512,vx[i]=13,vx[i|256]=13)}Ljt=new sft(2048);for(let i=1;i<1024;++i){let t=i<<13,e=0;for(;(t&8388608)===0;)t<<=1,e-=8388608;t&=-8388609,e+=947912704,Ljt[i]=t|e}for(let i=1024;i<2048;++i)Ljt[i]=939524096+(i-1024<<13);Nz=new sft(64);for(let i=1;i<31;++i)Nz[i]=i<<23;Nz[31]=1199570944;Nz[32]=2147483648;for(let i=33;i<63;++i)Nz[i]=2147483648+(i-32<<23);Nz[63]=3347054592;LLe=new Mjt(64);for(let i=1;i<64;++i)i!==32&&(LLe[i]=1024)});function nnt(i,t,...e){return GLe(vLe(i,t,...MLe(e)))}var TLe=Pt(()=>{DLe();FLe();oft()});var Gjt=Pt(()=>{TLe()});var PLe=un((zbs,Fjt)=>{function ULe(i,t,e){let r=e&&e.debug||!1;r&&console.log("[xml-utils] getting "+t+" in "+i);let n=typeof i=="object"?i.outer:i,s=n.slice(0,n.indexOf(">")+1),a=['"',"'"];for(let o=0;o<a.length;o++){let A=a[o],l=t+"\\="+A+"([^"+A+"]*)"+A;r&&console.log("[xml-utils] pattern:",l);let p=new RegExp(l).exec(s);if(r&&console.log("[xml-utils] match:",p),p)return p[1]}}Fjt.exports=ULe;Fjt.exports.default=ULe});var jLe=un((Ybs,Tjt)=>{function OLe(i,t,e){let n=new RegExp(t).exec(i.slice(e));return n?e+n.index:-1}Tjt.exports=OLe;Tjt.exports.default=OLe});var zLe=un((qbs,Ujt)=>{function HLe(i,t,e){let n=new RegExp(t).exec(i.slice(e));return n?e+n.index+n[0].length-1:-1}Ujt.exports=HLe;Ujt.exports.default=HLe});var qLe=un((Jbs,Pjt)=>{function YLe(i,t){let e=new RegExp(t,"g"),r=i.match(e);return r?r.length:0}Pjt.exports=YLe;Pjt.exports.default=YLe});var VLe=un((Kbs,jjt)=>{var g$i=jLe(),Ojt=zLe(),JLe=qLe();function KLe(i,t,e){let r=e&&e.debug||!1,n=!(e&&typeof e.nested===!1),s=e&&e.startIndex||0;r&&console.log("[xml-utils] starting findTagByName with",t," and ",e);let a=g$i(i,`<${t}[
|
|
4566
|
+
northing meters`+i;var d=p/2,_=0,I=0,y,B,x,w,D;return d>0&&(y=1e5/Math.pow(10,d),B=i.substring(s,s+d),_=parseFloat(B)*y,x=i.substring(s+d),I=parseFloat(x)*y),w=_+l,D=I+c,{easting:w,northing:D,zoneLetter:o,zoneNumber:a,accuracy:y}}function jVi(i,t){for(var e=_Re.charCodeAt(t-1),r=1e5,n=!1;e!==i.charCodeAt(0);){if(e++,e===iI&&e++,e===dC&&e++,e>Ort){if(n)throw"Bad character: "+i;e=Ez,n=!0}r+=1e5}return r}function HVi(i,t){if(i>"V")throw"MGRSPoint given invalid Northing "+i;for(var e=fRe.charCodeAt(t-1),r=0,n=!1;e!==i.charCodeAt(0);){if(e++,e===iI&&e++,e===dC&&e++,e>Prt){if(n)throw"Bad character: "+i;e=Ez,n=!0}r+=1e5}return r}function zVi(i){var t;switch(i){case"C":t=11e5;break;case"D":t=2e6;break;case"E":t=28e5;break;case"F":t=37e5;break;case"G":t=46e5;break;case"H":t=55e5;break;case"J":t=64e5;break;case"K":t=73e5;break;case"L":t=82e5;break;case"M":t=91e5;break;case"N":t=0;break;case"P":t=8e5;break;case"Q":t=17e5;break;case"R":t=26e5;break;case"S":t=35e5;break;case"T":t=44e5;break;case"U":t=53e5;break;case"V":t=62e5;break;case"W":t=7e6;break;case"X":t=79e5;break;default:t=-1}if(t>=0)return t;throw"Invalid zone letter: "+i}var pRe,_Re,fRe,Ez,iI,dC,Prt,Ort,mRe,djt=Pt(()=>{pRe=6,_Re="AJSAJS",fRe="AFAFAF",Ez=65,iI=73,dC=79,Prt=86,Ort=90,mRe={forward:ujt,inverse:GVi,toPoint:gjt}});function Bz(i,t,e){if(!(this instanceof Bz))return new Bz(i,t,e);if(Array.isArray(i))this.x=i[0],this.y=i[1],this.z=i[2]||0;else if(typeof i=="object")this.x=i.x,this.y=i.y,this.z=i.z||0;else if(typeof i=="string"&&typeof t>"u"){var r=i.split(",");this.x=parseFloat(r[0]),this.y=parseFloat(r[1]),this.z=parseFloat(r[2])||0}else this.x=i,this.y=t,this.z=e||0;console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}var CRe,ERe=Pt(()=>{djt();Bz.fromMGRS=function(i){return new Bz(gjt(i))};Bz.prototype.toMGRS=function(i){return ujt([this.x,this.y],i)};CRe=Bz});function xz(i){var t=[];t[0]=YVi-i*(qVi+i*(BRe+i*(xRe+i*QRe))),t[1]=i*(JVi-i*(BRe+i*(xRe+i*QRe)));var e=i*i;return t[2]=e*(KVi-i*(VVi+i*WVi)),e*=i,t[3]=e*(ZVi-i*XVi),t[4]=e*i*$Vi,t}var YVi,qVi,BRe,xRe,QRe,JVi,KVi,VVi,WVi,ZVi,XVi,$Vi,G6t=Pt(()=>{YVi=1,qVi=.25,BRe=.046875,xRe=.01953125,QRe=.01068115234375,JVi=.75,KVi=.46875,VVi=.013020833333333334,WVi=.007120768229166667,ZVi=.3645833333333333,XVi=.005696614583333333,$Vi=.3076171875});function Qx(i,t,e,r){return e*=t,t*=t,r[0]*i-e*(r[1]+t*(r[2]+t*(r[3]+t*r[4])))}var jrt=Pt(()=>{});function Qz(i,t,e){for(var r=1/(1-t),n=i,s=tWi;s;--s){var a=Math.sin(n),o=1-t*a*a;if(o=(Qx(n,a,Math.cos(n),e)-i)*(o*Math.sqrt(o))*r,n-=o,Math.abs(o)<js)return n}return n}var tWi,F6t=Pt(()=>{jrt();dc();tWi=20});function eWi(){this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.es&&(this.en=xz(this.es),this.ml0=Qx(this.lat0,Math.sin(this.lat0),Math.cos(this.lat0),this.en))}function iWi(i){var t=i.x,e=i.y,r=zs(t-this.long0,this.over),n,s,a,o=Math.sin(e),A=Math.cos(e);if(this.es){var c=A*r,p=Math.pow(c,2),d=this.ep2*Math.pow(A,2),_=Math.pow(d,2),I=Math.abs(A)>js?Math.tan(e):0,y=Math.pow(I,2),B=Math.pow(y,2);n=1-this.es*Math.pow(o,2),c=c/Math.sqrt(n);var x=Qx(e,o,A,this.en);s=this.a*(this.k0*c*(1+p/6*(1-y+d+p/20*(5-18*y+B+14*d-58*y*d+p/42*(61+179*B-B*y-479*y)))))+this.x0,a=this.a*(this.k0*(x-this.ml0+o*r*c/2*(1+p/12*(5-y+9*d+4*_+p/30*(61+B-58*y+270*d-330*y*d+p/56*(1385+543*B-B*y-3111*y))))))+this.y0}else{var l=A*Math.sin(r);if(Math.abs(Math.abs(l)-1)<js)return 93;if(s=.5*this.a*this.k0*Math.log((1+l)/(1-l))+this.x0,a=A*Math.cos(r)/Math.sqrt(1-Math.pow(l,2)),l=Math.abs(a),l>=1){if(l-1>js)return 93;a=0}else a=Math.acos(a);e<0&&(a=-a),a=this.a*this.k0*(a-this.lat0)+this.y0}return i.x=s,i.y=a,i}function rWi(i){var t,e,r,n,s=(i.x-this.x0)*(1/this.a),a=(i.y-this.y0)*(1/this.a);if(this.es)if(t=this.ml0+a/this.k0,e=Qz(t,this.es,this.en),Math.abs(e)<ys){var p=Math.sin(e),d=Math.cos(e),_=Math.abs(d)>js?Math.tan(e):0,I=this.ep2*Math.pow(d,2),y=Math.pow(I,2),B=Math.pow(_,2),x=Math.pow(B,2);t=1-this.es*Math.pow(p,2);var w=s*Math.sqrt(t)/this.k0,D=Math.pow(w,2);t=t*_,r=e-t*D/(1-this.es)*.5*(1-D/12*(5+3*B-9*I*B+I-4*y-D/30*(61+90*B-252*I*B+45*x+46*I-D/56*(1385+3633*B+4095*x+1574*x*B)))),n=zs(this.long0+w*(1-D/6*(1+2*B+I-D/20*(5+28*B+24*x+8*I*B+6*I-D/42*(61+662*B+1320*x+720*x*B))))/d,this.over)}else r=ys*xx(a),n=0;else{var o=Math.exp(s/this.k0),A=.5*(o-1/o),l=this.lat0+a/this.k0,c=Math.cos(l);t=Math.sqrt((1-Math.pow(c,2))/(1+Math.pow(A,2))),r=Math.asin(t),a<0&&(r=-r),A===0&&c===0?n=0:n=zs(Math.atan2(A,c)+this.long0,this.over)}return i.x=n,i.y=r,i}var nWi,bz,_jt=Pt(()=>{G6t();jrt();F6t();Cu();dc();Iz();nWi=["Fast_Transverse_Mercator","Fast Transverse Mercator"],bz={init:eWi,forward:iWi,inverse:rWi,names:nWi}});function T6t(i){var t=Math.exp(i);return t=(t-1/t)/2,t}var fjt=Pt(()=>{});function G3(i,t){i=Math.abs(i),t=Math.abs(t);var e=Math.max(i,t),r=Math.min(i,t)/(e||1);return e*Math.sqrt(1+Math.pow(r,2))}var VG=Pt(()=>{});function bRe(i){var t=1+i,e=t-1;return e===0?i:i*Math.log(t)/e}var vRe=Pt(()=>{});function wRe(i){var t=Math.abs(i);return t=bRe(t*(1+t/(G3(1,t)+1))),i<0?-t:t}var SRe=Pt(()=>{VG();vRe()});function U6t(i,t){for(var e=2*Math.cos(2*t),r=i.length-1,n=i[r],s=0,a;--r>=0;)a=-s+e*n+i[r],s=n,n=a;return t+a*Math.sin(2*t)}var kRe=Pt(()=>{});function MRe(i,t){for(var e=2*Math.cos(t),r=i.length-1,n=i[r],s=0,a;--r>=0;)a=-s+e*n+i[r],s=n,n=a;return Math.sin(t)*a}var DRe=Pt(()=>{});function RRe(i){var t=Math.exp(i);return t=(t+1/t)/2,t}var NRe=Pt(()=>{});function mjt(i,t,e){for(var r=Math.sin(t),n=Math.cos(t),s=T6t(e),a=RRe(e),o=2*n*a,A=-2*r*s,l=i.length-1,c=i[l],p=0,d=0,_=0,I,y;--l>=0;)I=d,y=p,d=c,p=_,c=-I+o*d-A*p+i[l],_=-y+A*d+o*p;return o=r*a,A=n*s,[o*c-A*_,o*_+A*c]}var LRe=Pt(()=>{fjt();NRe()});function sWi(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION["Fast_Transverse_Mercator"] in the WKT.');this.approx&&(bz.init.apply(this),this.forward=bz.forward,this.inverse=bz.inverse),this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var i=this.es/(1+Math.sqrt(1-this.es)),t=i/(2-i),e=t;this.cgb[0]=t*(2+t*(-2/3+t*(-2+t*(116/45+t*(26/45+t*(-2854/675)))))),this.cbg[0]=t*(-2+t*(2/3+t*(4/3+t*(-82/45+t*(32/45+t*(4642/4725)))))),e=e*t,this.cgb[1]=e*(7/3+t*(-8/5+t*(-227/45+t*(2704/315+t*(2323/945))))),this.cbg[1]=e*(5/3+t*(-16/15+t*(-13/9+t*(904/315+t*(-1522/945))))),e=e*t,this.cgb[2]=e*(56/15+t*(-136/35+t*(-1262/105+t*(73814/2835)))),this.cbg[2]=e*(-26/15+t*(34/21+t*(8/5+t*(-12686/2835)))),e=e*t,this.cgb[3]=e*(4279/630+t*(-332/35+t*(-399572/14175))),this.cbg[3]=e*(1237/630+t*(-12/5+t*(-24832/14175))),e=e*t,this.cgb[4]=e*(4174/315+t*(-144838/6237)),this.cbg[4]=e*(-734/315+t*(109598/31185)),e=e*t,this.cgb[5]=e*(601676/22275),this.cbg[5]=e*(444337/155925),e=Math.pow(t,2),this.Qn=this.k0/(1+t)*(1+e*(1/4+e*(1/64+e/256))),this.utg[0]=t*(-.5+t*(2/3+t*(-37/96+t*(1/360+t*(81/512+t*(-96199/604800)))))),this.gtu[0]=t*(.5+t*(-2/3+t*(5/16+t*(41/180+t*(-127/288+t*(7891/37800)))))),this.utg[1]=e*(-1/48+t*(-1/15+t*(437/1440+t*(-46/105+t*(1118711/3870720))))),this.gtu[1]=e*(13/48+t*(-3/5+t*(557/1440+t*(281/630+t*(-1983433/1935360))))),e=e*t,this.utg[2]=e*(-17/480+t*(37/840+t*(209/4480+t*(-5569/90720)))),this.gtu[2]=e*(61/240+t*(-103/140+t*(15061/26880+t*(167603/181440)))),e=e*t,this.utg[3]=e*(-4397/161280+t*(11/504+t*(830251/7257600))),this.gtu[3]=e*(49561/161280+t*(-179/168+t*(6601661/7257600))),e=e*t,this.utg[4]=e*(-4583/161280+t*(108847/3991680)),this.gtu[4]=e*(34729/80640+t*(-3418889/1995840)),e=e*t,this.utg[5]=e*(-20648693/638668800),this.gtu[5]=e*(212378941/319334400);var r=U6t(this.cbg,this.lat0);this.Zb=-this.Qn*(r+MRe(this.gtu,2*r))}function aWi(i){var t=zs(i.x-this.long0,this.over),e=i.y;e=U6t(this.cbg,e);var r=Math.sin(e),n=Math.cos(e),s=Math.sin(t),a=Math.cos(t);e=Math.atan2(r,a*n),t=Math.atan2(s*n,G3(r,n*a)),t=wRe(Math.tan(t));var o=mjt(this.gtu,2*e,2*t);e=e+o[0],t=t+o[1];var A,l;return Math.abs(t)<=2.623395162778?(A=this.a*(this.Qn*t)+this.x0,l=this.a*(this.Qn*e+this.Zb)+this.y0):(A=1/0,l=1/0),i.x=A,i.y=l,i}function oWi(i){var t=(i.x-this.x0)*(1/this.a),e=(i.y-this.y0)*(1/this.a);e=(e-this.Zb)/this.Qn,t=t/this.Qn;var r,n;if(Math.abs(t)<=2.623395162778){var s=mjt(this.utg,2*e,2*t);e=e+s[0],t=t+s[1],t=Math.atan(T6t(t));var a=Math.sin(e),o=Math.cos(e),A=Math.sin(t),l=Math.cos(t);e=Math.atan2(a*l,G3(A,l*o)),t=Math.atan2(A,l*o),r=zs(t+this.long0,this.over),n=U6t(this.cgb,e)}else r=1/0,n=1/0;return i.x=r,i.y=n,i}var AWi,vz,Ijt=Pt(()=>{_jt();fjt();VG();SRe();kRe();DRe();LRe();Cu();AWi=["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc","Transverse_Mercator","Transverse Mercator","Gauss Kruger","Gauss_Kruger","tmerc"],vz={init:sWi,forward:aWi,inverse:oWi,names:AWi}});function GRe(i,t){if(i===void 0){if(i=Math.floor((zs(t)+Math.PI)*30/Math.PI)+1,i<0)return 0;if(i>60)return 60}return i}var FRe=Pt(()=>{Cu()});function cWi(){var i=GRe(this.zone,this.long0);if(i===void 0)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(i)-183)*Gu,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,vz.init.apply(this),this.forward=vz.forward,this.inverse=vz.inverse}var lWi,hWi,TRe,URe=Pt(()=>{FRe();Ijt();dc();lWi="etmerc";hWi=["Universal Transverse Mercator System","utm"],TRe={init:cWi,names:hWi,dependsOn:lWi}});function P6t(i,t){return Math.pow((1-i)/(1+i),t)}var PRe=Pt(()=>{});function gWi(){var i=Math.sin(this.lat0),t=Math.cos(this.lat0);t*=t,this.rc=Math.sqrt(1-this.es)/(1-this.es*i*i),this.C=Math.sqrt(1+this.es*t*t/(1-this.es)),this.phic0=Math.asin(i/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+Dc)/(Math.pow(Math.tan(.5*this.lat0+Dc),this.C)*P6t(this.e*i,this.ratexp))}function pWi(i){var t=i.x,e=i.y;return i.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*e+Dc),this.C)*P6t(this.e*Math.sin(e),this.ratexp))-ys,i.x=this.C*t,i}function dWi(i){for(var t=1e-14,e=i.x/this.C,r=i.y,n=Math.pow(Math.tan(.5*r+Dc)/this.K,1/this.C),s=uWi;s>0&&(r=2*Math.atan(n*P6t(this.e*Math.sin(i.y),-.5*this.e))-ys,!(Math.abs(r-i.y)<t));--s)i.y=r;return s?(i.x=e,i.y=r,i):null}var uWi,_Wi,O6t,ORe=Pt(()=>{PRe();dc();uWi=20;_Wi=["gauss"],O6t={init:gWi,forward:pWi,inverse:dWi,names:_Wi}});function fWi(){O6t.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"))}function mWi(i){var t,e,r,n;return i.x=zs(i.x-this.long0,this.over),O6t.forward.apply(this,[i]),t=Math.sin(i.y),e=Math.cos(i.y),r=Math.cos(i.x),n=this.k0*this.R2/(1+this.sinc0*t+this.cosc0*e*r),i.x=n*e*Math.sin(i.x),i.y=n*(this.cosc0*t-this.sinc0*e*r),i.x=this.a*i.x+this.x0,i.y=this.a*i.y+this.y0,i}function IWi(i){var t,e,r,n,s;if(i.x=(i.x-this.x0)/this.a,i.y=(i.y-this.y0)/this.a,i.x/=this.k0,i.y/=this.k0,s=G3(i.x,i.y)){var a=2*Math.atan2(s,this.R2);t=Math.sin(a),e=Math.cos(a),n=Math.asin(e*this.sinc0+i.y*t*this.cosc0/s),r=Math.atan2(i.x*t,s*this.cosc0*e-i.y*this.sinc0*t)}else n=this.phic0,r=0;return i.x=r,i.y=n,O6t.inverse.apply(this,[i]),i.x=zs(i.x+this.long0,this.over),i}var yWi,jRe,HRe=Pt(()=>{ORe();Cu();VG();yWi=["Stereographic_North_Pole","Oblique_Stereographic","sterea","Oblique Stereographic Alternative","Double_Stereographic"],jRe={init:fWi,forward:mWi,inverse:IWi,names:yWi}});function yjt(i,t,e){return t*=e,Math.tan(.5*(ys+i))*Math.pow((1-t)/(1+t),.5*e)}function CWi(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.coslat0=Math.cos(this.lat0),this.sinlat0=Math.sin(this.lat0),this.sphere?this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=js&&(this.k0=.5*(1+xx(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=js&&(this.lat0>0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=js&&Math.abs(Math.cos(this.lat_ts))>js&&(this.k0=.5*this.cons*a6(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/yf(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=a6(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(yjt(this.lat0,this.sinlat0,this.e))-ys,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))}function EWi(i){var t=i.x,e=i.y,r=Math.sin(e),n=Math.cos(e),s,a,o,A,l,c,p=zs(t-this.long0,this.over);return Math.abs(Math.abs(t-this.long0)-Math.PI)<=js&&Math.abs(e+this.lat0)<=js?(i.x=NaN,i.y=NaN,i):this.sphere?(s=2*this.k0/(1+this.sinlat0*r+this.coslat0*n*Math.cos(p)),i.x=this.a*s*n*Math.sin(p)+this.x0,i.y=this.a*s*(this.coslat0*r-this.sinlat0*n*Math.cos(p))+this.y0,i):(a=2*Math.atan(yjt(e,r,this.e))-ys,A=Math.cos(a),o=Math.sin(a),Math.abs(this.coslat0)<=js?(l=yf(this.e,e*this.con,this.con*r),c=2*this.a*this.k0*l/this.cons,i.x=this.x0+c*Math.sin(t-this.long0),i.y=this.y0-this.con*c*Math.cos(t-this.long0),i):(Math.abs(this.sinlat0)<js?(s=2*this.a*this.k0/(1+A*Math.cos(p)),i.y=s*o):(s=2*this.a*this.k0*this.ms1/(this.cosX0*(1+this.sinX0*o+this.cosX0*A*Math.cos(p))),i.y=s*(this.cosX0*o-this.sinX0*A*Math.cos(p))+this.y0),i.x=s*A*Math.sin(p)+this.x0,i))}function BWi(i){i.x-=this.x0,i.y-=this.y0;var t,e,r,n,s,a=Math.sqrt(i.x*i.x+i.y*i.y);if(this.sphere){var o=2*Math.atan(a/(2*this.a*this.k0));return t=this.long0,e=this.lat0,a<=js?(i.x=t,i.y=e,i):(e=Math.asin(Math.cos(o)*this.sinlat0+i.y*Math.sin(o)*this.coslat0/a),Math.abs(this.coslat0)<js?this.lat0>0?t=zs(this.long0+Math.atan2(i.x,-1*i.y),this.over):t=zs(this.long0+Math.atan2(i.x,i.y),this.over):t=zs(this.long0+Math.atan2(i.x*Math.sin(o),a*this.coslat0*Math.cos(o)-i.y*this.sinlat0*Math.sin(o)),this.over),i.x=t,i.y=e,i)}else if(Math.abs(this.coslat0)<=js){if(a<=js)return e=this.lat0,t=this.long0,i.x=t,i.y=e,i;i.x*=this.con,i.y*=this.con,r=a*this.cons/(2*this.a*this.k0),e=this.con*Gb(this.e,r),t=this.con*zs(this.con*this.long0+Math.atan2(i.x,-1*i.y),this.over)}else n=2*Math.atan(a*this.cosX0/(2*this.a*this.k0*this.ms1)),t=this.long0,a<=js?s=this.X0:(s=Math.asin(Math.cos(n)*this.sinX0+i.y*Math.sin(n)*this.cosX0/a),t=zs(this.long0+Math.atan2(i.x*Math.sin(n),a*this.cosX0*Math.cos(n)-i.y*this.sinX0*Math.sin(n)),this.over)),e=-1*Gb(this.e,Math.tan(.5*(ys+s)));return i.x=t,i.y=e,i}var xWi,zRe,YRe=Pt(()=>{dc();Iz();qG();Frt();Trt();Cu();xWi=["stere","Stereographic_South_Pole","Polar_Stereographic_variant_A","Polar_Stereographic_variant_B","Polar_Stereographic"],zRe={init:CWi,forward:EWi,inverse:BWi,names:xWi,ssfn_:yjt}});function QWi(){var i=this.lat0;this.lambda0=this.long0;var t=Math.sin(i),e=this.a,r=this.rf,n=1/r,s=2*n-Math.pow(n,2),a=this.e=Math.sqrt(s);this.R=this.k0*e*Math.sqrt(1-s)/(1-s*Math.pow(t,2)),this.alpha=Math.sqrt(1+s/(1-s)*Math.pow(Math.cos(i),4)),this.b0=Math.asin(t/this.alpha);var o=Math.log(Math.tan(Math.PI/4+this.b0/2)),A=Math.log(Math.tan(Math.PI/4+i/2)),l=Math.log((1+a*t)/(1-a*t));this.K=o-this.alpha*A+this.alpha*a/2*l}function bWi(i){var t=Math.log(Math.tan(Math.PI/4-i.y/2)),e=this.e/2*Math.log((1+this.e*Math.sin(i.y))/(1-this.e*Math.sin(i.y))),r=-this.alpha*(t+e)+this.K,n=2*(Math.atan(Math.exp(r))-Math.PI/4),s=this.alpha*(i.x-this.lambda0),a=Math.atan(Math.sin(s)/(Math.sin(this.b0)*Math.tan(n)+Math.cos(this.b0)*Math.cos(s))),o=Math.asin(Math.cos(this.b0)*Math.sin(n)-Math.sin(this.b0)*Math.cos(n)*Math.cos(s));return i.y=this.R/2*Math.log((1+Math.sin(o))/(1-Math.sin(o)))+this.y0,i.x=this.R*a+this.x0,i}function vWi(i){for(var t=i.x-this.x0,e=i.y-this.y0,r=t/this.R,n=2*(Math.atan(Math.exp(e/this.R))-Math.PI/4),s=Math.asin(Math.cos(this.b0)*Math.sin(n)+Math.sin(this.b0)*Math.cos(n)*Math.cos(r)),a=Math.atan(Math.sin(r)/(Math.cos(this.b0)*Math.cos(r)-Math.sin(this.b0)*Math.tan(n))),o=this.lambda0+a/this.alpha,A=0,l=s,c=-1e3,p=0;Math.abs(l-c)>1e-7;){if(++p>20)return;A=1/this.alpha*(Math.log(Math.tan(Math.PI/4+s/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(l))/2)),c=l,l=2*Math.atan(Math.exp(A))-Math.PI/2}return i.x=o,i.y=l,i}var wWi,qRe,JRe=Pt(()=>{wWi=["somerc"],qRe={init:QWi,forward:bWi,inverse:vWi,names:wWi}});function SWi(i){var t=["Hotine_Oblique_Mercator","Hotine_Oblique_Mercator_variant_A","Hotine_Oblique_Mercator_Azimuth_Natural_Origin"],e=typeof i.projName=="object"?Object.keys(i.projName)[0]:i.projName;return"no_uoff"in i||"no_off"in i||t.indexOf(e)!==-1||t.indexOf($Ot(e))!==-1}function kWi(){var i,t,e,r,n,s,a,o,A,l,c=0,p,d=0,_=0,I=0,y=0,B=0,x=0;this.no_off=SWi(this),this.no_rot="no_rot"in this;var w=!1;"alpha"in this&&(w=!0);var D=!1;if("rectified_grid_angle"in this&&(D=!0),w&&(x=this.alpha),D&&(c=this.rectified_grid_angle),w||D)d=this.longc;else if(_=this.long1,y=this.lat1,I=this.long2,B=this.lat2,Math.abs(y-B)<=wz||(i=Math.abs(y))<=wz||Math.abs(i-ys)<=wz||Math.abs(Math.abs(this.lat0)-ys)<=wz||Math.abs(Math.abs(B)-ys)<=wz)throw new Error;var T=1-this.es;t=Math.sqrt(T),Math.abs(this.lat0)>js?(o=Math.sin(this.lat0),e=Math.cos(this.lat0),i=1-this.es*o*o,this.B=e*e,this.B=Math.sqrt(1+this.es*this.B*this.B/T),this.A=this.B*this.k0*t/i,r=this.B*t/(e*Math.sqrt(i)),n=r*r-1,n<=0?n=0:(n=Math.sqrt(n),this.lat0<0&&(n=-n)),this.E=n+=r,this.E*=Math.pow(yf(this.e,this.lat0,o),this.B)):(this.B=1/t,this.A=this.k0,this.E=r=n=1),w||D?(w?(p=Math.asin(Math.sin(x)/r),D||(c=x)):(p=c,x=Math.asin(r*Math.sin(p))),this.lam0=d-Math.asin(.5*(n-1/n)*Math.tan(p))/this.B):(s=Math.pow(yf(this.e,y,Math.sin(y)),this.B),a=Math.pow(yf(this.e,B,Math.sin(B)),this.B),n=this.E/s,A=(a-s)/(a+s),l=this.E*this.E,l=(l-a*s)/(l+a*s),i=_-I,i<-Math.PI?I-=uM:i>Math.PI&&(I+=uM),this.lam0=zs(.5*(_+I)-Math.atan(l*Math.tan(.5*this.B*(_-I))/A)/this.B,this.over),p=Math.atan(2*Math.sin(this.B*zs(_-this.lam0,this.over))/(n-1/n)),c=x=Math.asin(r*Math.sin(p))),this.singam=Math.sin(p),this.cosgam=Math.cos(p),this.sinrot=Math.sin(c),this.cosrot=Math.cos(c),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(r*r-1)/Math.cos(x))),this.lat0<0&&(this.u_0=-this.u_0)),n=.5*p,this.v_pole_n=this.ArB*Math.log(Math.tan(Dc-n)),this.v_pole_s=this.ArB*Math.log(Math.tan(Dc+n))}function MWi(i){var t={},e,r,n,s,a,o,A,l;if(i.x=i.x-this.lam0,Math.abs(Math.abs(i.y)-ys)>js){if(a=this.E/Math.pow(yf(this.e,i.y,Math.sin(i.y)),this.B),o=1/a,e=.5*(a-o),r=.5*(a+o),s=Math.sin(this.B*i.x),n=(e*this.singam-s*this.cosgam)/r,Math.abs(Math.abs(n)-1)<js)throw new Error;l=.5*this.ArB*Math.log((1-n)/(1+n)),o=Math.cos(this.B*i.x),Math.abs(o)<wz?A=this.A*i.x:A=this.ArB*Math.atan2(e*this.cosgam+s*this.singam,o)}else l=i.y>0?this.v_pole_n:this.v_pole_s,A=this.ArB*i.y;return this.no_rot?(t.x=A,t.y=l):(A-=this.u_0,t.x=l*this.cosrot+A*this.sinrot,t.y=A*this.cosrot-l*this.sinrot),t.x=this.a*t.x+this.x0,t.y=this.a*t.y+this.y0,t}function DWi(i){var t,e,r,n,s,a,o,A={};if(i.x=(i.x-this.x0)*(1/this.a),i.y=(i.y-this.y0)*(1/this.a),this.no_rot?(e=i.y,t=i.x):(e=i.x*this.cosrot-i.y*this.sinrot,t=i.y*this.cosrot+i.x*this.sinrot+this.u_0),r=Math.exp(-this.BrA*e),n=.5*(r-1/r),s=.5*(r+1/r),a=Math.sin(this.BrA*t),o=(a*this.cosgam+n*this.singam)/s,Math.abs(Math.abs(o)-1)<js)A.x=0,A.y=o<0?-ys:ys;else{if(A.y=this.E/Math.sqrt((1+o)/(1-o)),A.y=Gb(this.e,Math.pow(A.y,1/this.B)),A.y===1/0)throw new Error;A.x=-this.rB*Math.atan2(n*this.cosgam-a*this.singam,Math.cos(this.BrA*t))}return A.x+=this.lam0,A}var wz,RWi,KRe,VRe=Pt(()=>{Frt();Cu();Trt();dc();tjt();wz=1e-7;RWi=["Hotine_Oblique_Mercator","Hotine Oblique Mercator","Hotine_Oblique_Mercator_variant_A","Hotine_Oblique_Mercator_Variant_B","Hotine_Oblique_Mercator_Azimuth_Natural_Origin","Hotine_Oblique_Mercator_Two_Point_Natural_Origin","Hotine_Oblique_Mercator_Azimuth_Center","Oblique_Mercator","omerc"],KRe={init:kWi,forward:MWi,inverse:DWi,names:RWi}});function NWi(){if(this.lat2||(this.lat2=this.lat1),this.k0||(this.k0=1),this.x0=this.x0||0,this.y0=this.y0||0,!(Math.abs(this.lat1+this.lat2)<js)){var i=this.b/this.a;this.e=Math.sqrt(1-i*i);var t=Math.sin(this.lat1),e=Math.cos(this.lat1),r=a6(this.e,t,e),n=yf(this.e,this.lat1,t),s=Math.sin(this.lat2),a=Math.cos(this.lat2),o=a6(this.e,s,a),A=yf(this.e,this.lat2,s),l=Math.abs(Math.abs(this.lat0)-ys)<js?0:yf(this.e,this.lat0,Math.sin(this.lat0));Math.abs(this.lat1-this.lat2)>js?this.ns=Math.log(r/o)/Math.log(n/A):this.ns=t,isNaN(this.ns)&&(this.ns=t),this.f0=r/(this.ns*Math.pow(n,this.ns)),this.rh=this.a*this.f0*Math.pow(l,this.ns),this.title||(this.title="Lambert Conformal Conic")}}function LWi(i){var t=i.x,e=i.y;Math.abs(2*Math.abs(e)-Math.PI)<=js&&(e=xx(e)*(ys-2*js));var r=Math.abs(Math.abs(e)-ys),n,s;if(r>js)n=yf(this.e,e,Math.sin(e)),s=this.a*this.f0*Math.pow(n,this.ns);else{if(r=e*this.ns,r<=0)return null;s=0}var a=this.ns*zs(t-this.long0,this.over);return i.x=this.k0*(s*Math.sin(a))+this.x0,i.y=this.k0*(this.rh-s*Math.cos(a))+this.y0,i}function GWi(i){var t,e,r,n,s,a=(i.x-this.x0)/this.k0,o=this.rh-(i.y-this.y0)/this.k0;this.ns>0?(t=Math.sqrt(a*a+o*o),e=1):(t=-Math.sqrt(a*a+o*o),e=-1);var A=0;if(t!==0&&(A=Math.atan2(e*a,e*o)),t!==0||this.ns>0){if(e=1/this.ns,r=Math.pow(t/(this.a*this.f0),e),n=Gb(this.e,r),n===-9999)return null}else n=-ys;return s=zs(A/this.ns+this.long0,this.over),i.x=s,i.y=n,i}var FWi,WRe,ZRe=Pt(()=>{qG();Frt();Iz();Cu();Trt();dc();FWi=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_1SP","Lambert_Conformal_Conic_2SP","lcc","Lambert Conic Conformal (1SP)","Lambert Conic Conformal (2SP)"],WRe={init:NWi,forward:LWi,inverse:GWi,names:FWi}});function TWi(){this.a=6377397155e-3,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.7417649320975901-.308341501185665),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq}function UWi(i){var t,e,r,n,s,a,o,A=i.x,l=i.y,c=zs(A-this.long0,this.over);return t=Math.pow((1+this.e*Math.sin(l))/(1-this.e*Math.sin(l)),this.alfa*this.e/2),e=2*(Math.atan(this.k*Math.pow(Math.tan(l/2+this.s45),this.alfa)/t)-this.s45),r=-c*this.alfa,n=Math.asin(Math.cos(this.ad)*Math.sin(e)+Math.sin(this.ad)*Math.cos(e)*Math.cos(r)),s=Math.asin(Math.cos(e)*Math.sin(r)/Math.cos(n)),a=this.n*s,o=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(n/2+this.s45),this.n),i.y=o*Math.cos(a)/1,i.x=o*Math.sin(a)/1,this.czech||(i.y*=-1,i.x*=-1),i}function PWi(i){var t,e,r,n,s,a,o,A,l=i.x;i.x=i.y,i.y=l,this.czech||(i.y*=-1,i.x*=-1),a=Math.sqrt(i.x*i.x+i.y*i.y),s=Math.atan2(i.y,i.x),n=s/Math.sin(this.s0),r=2*(Math.atan(Math.pow(this.ro0/a,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),t=Math.asin(Math.cos(this.ad)*Math.sin(r)-Math.sin(this.ad)*Math.cos(r)*Math.cos(n)),e=Math.asin(Math.cos(r)*Math.sin(n)/Math.cos(t)),i.x=this.long0-e/this.alfa,o=t,A=0;var c=0;do i.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(t/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(o))/(1-this.e*Math.sin(o)),this.e/2))-this.s45),Math.abs(o-i.y)<1e-10&&(A=1),o=i.y,c+=1;while(A===0&&c<15);return c>=15?null:i}var OWi,XRe,$Re=Pt(()=>{Cu();OWi=["Krovak","Krovak Modified","Krovak (North Orientated)","Krovak Modified (North Orientated)","krovak"],XRe={init:TWi,forward:UWi,inverse:PWi,names:OWi}});function m1(i,t,e,r,n){return i*n-t*Math.sin(2*n)+e*Math.sin(4*n)-r*Math.sin(6*n)}var Hrt=Pt(()=>{});function Fb(i){return 1-.25*i*(1+i/16*(3+1.25*i))}var zrt=Pt(()=>{});function Tb(i){return .375*i*(1+.25*i*(1+.46875*i))}var Yrt=Pt(()=>{});function Ub(i){return .05859375*i*i*(1+.75*i)}var qrt=Pt(()=>{});function Pb(i){return i*i*i*(35/3072)}var Jrt=Pt(()=>{});function Krt(i,t,e){var r=t*e;return i/Math.sqrt(1-r*r)}var Cjt=Pt(()=>{});function rI(i){return Math.abs(i)<ys?i:i-xx(i)*Math.PI}var WG=Pt(()=>{dc();Iz()});function ZG(i,t,e,r,n){var s,a;s=i/t;for(var o=0;o<15;o++)if(a=(i-(t*s-e*Math.sin(2*s)+r*Math.sin(4*s)-n*Math.sin(6*s)))/(t-2*e*Math.cos(2*s)+4*r*Math.cos(4*s)-6*n*Math.cos(6*s)),s+=a,Math.abs(a)<=1e-10)return s;return NaN}var j6t=Pt(()=>{});function jWi(){this.sphere||(this.e0=Fb(this.es),this.e1=Tb(this.es),this.e2=Ub(this.es),this.e3=Pb(this.es),this.ml0=this.a*m1(this.e0,this.e1,this.e2,this.e3,this.lat0))}function HWi(i){var t,e,r=i.x,n=i.y;if(r=zs(r-this.long0,this.over),this.sphere)t=this.a*Math.asin(Math.cos(n)*Math.sin(r)),e=this.a*(Math.atan2(Math.tan(n),Math.cos(r))-this.lat0);else{var s=Math.sin(n),a=Math.cos(n),o=Krt(this.a,this.e,s),A=Math.tan(n)*Math.tan(n),l=r*Math.cos(n),c=l*l,p=this.es*a*a/(1-this.es),d=this.a*m1(this.e0,this.e1,this.e2,this.e3,n);t=o*l*(1-c*A*(1/6-(8-A+8*p)*c/120)),e=d-this.ml0+o*s/a*c*(.5+(5-A+6*p)*c/24)}return i.x=t+this.x0,i.y=e+this.y0,i}function zWi(i){i.x-=this.x0,i.y-=this.y0;var t=i.x/this.a,e=i.y/this.a,r,n;if(this.sphere){var s=e+this.lat0;r=Math.asin(Math.sin(s)*Math.cos(t)),n=Math.atan2(Math.tan(t),Math.cos(s))}else{var a=this.ml0/this.a+e,o=ZG(a,this.e0,this.e1,this.e2,this.e3);if(Math.abs(Math.abs(o)-ys)<=js)return i.x=this.long0,i.y=ys,e<0&&(i.y*=-1),i;var A=Krt(this.a,this.e,Math.sin(o)),l=A*A*A/this.a/this.a*(1-this.es),c=Math.pow(Math.tan(o),2),p=t*this.a/A,d=p*p;r=o-A*Math.tan(o)/l*p*p*(.5-(1+3*c)*p*p/24),n=p*(1-d*(c/3+(1+3*c)*c*d/15))/Math.cos(o)}return i.x=zs(n+this.long0,this.over),i.y=rI(r),i}var YWi,tNe,eNe=Pt(()=>{Hrt();zrt();Yrt();qrt();Jrt();Cjt();Cu();WG();j6t();dc();YWi=["Cassini","Cassini_Soldner","cass"],tNe={init:jWi,forward:HWi,inverse:zWi,names:YWi}});function sB(i,t){var e;return i>1e-7?(e=i*t,(1-i*i)*(t/(1-e*e)-.5/i*Math.log((1-e)/(1+e)))):2*t}var H6t=Pt(()=>{});function qWi(){var i=Math.abs(this.lat0);if(Math.abs(i-ys)<js?this.mode=this.lat0<0?Ejt:Bjt:Math.abs(i)<js?this.mode=xjt:this.mode=z6t,this.es>0){var t;switch(this.qp=sB(this.e,1),this.mmf=.5/(1-this.es),this.apa=eZi(this.es),this.mode){case Bjt:this.dd=1;break;case Ejt:this.dd=1;break;case xjt:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case z6t:this.rq=Math.sqrt(.5*this.qp),t=Math.sin(this.lat0),this.sinb1=sB(this.e,t)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*t*t)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd;break}}else this.mode===z6t&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))}function JWi(i){var t,e,r,n,s,a,o,A,l,c,p=i.x,d=i.y;if(p=zs(p-this.long0,this.over),this.sphere){if(s=Math.sin(d),c=Math.cos(d),r=Math.cos(p),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(e=this.mode===this.EQUIT?1+c*r:1+this.sinph0*s+this.cosph0*c*r,e<=js)return null;e=Math.sqrt(2/e),t=e*c*Math.sin(p),e*=this.mode===this.EQUIT?s:this.cosph0*s-this.sinph0*c*r}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(r=-r),Math.abs(d+this.lat0)<js)return null;e=Dc-d*.5,e=2*(this.mode===this.S_POLE?Math.cos(e):Math.sin(e)),t=e*Math.sin(p),e*=r}}else{switch(o=0,A=0,l=0,r=Math.cos(p),n=Math.sin(p),s=Math.sin(d),a=sB(this.e,s),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(o=a/this.qp,A=Math.sqrt(1-o*o)),this.mode){case this.OBLIQ:l=1+this.sinb1*o+this.cosb1*A*r;break;case this.EQUIT:l=1+A*r;break;case this.N_POLE:l=ys+d,a=this.qp-a;break;case this.S_POLE:l=d-ys,a=this.qp+a;break}if(Math.abs(l)<js)return null;switch(this.mode){case this.OBLIQ:case this.EQUIT:l=Math.sqrt(2/l),this.mode===this.OBLIQ?e=this.ymf*l*(this.cosb1*o-this.sinb1*A*r):e=(l=Math.sqrt(2/(1+A*r)))*o*this.ymf,t=this.xmf*l*A*n;break;case this.N_POLE:case this.S_POLE:a>=0?(t=(l=Math.sqrt(a))*n,e=r*(this.mode===this.S_POLE?l:-l)):t=e=0;break}}return i.x=this.a*t+this.x0,i.y=this.a*e+this.y0,i}function KWi(i){i.x-=this.x0,i.y-=this.y0;var t=i.x/this.a,e=i.y/this.a,r,n,s,a,o,A,l;if(this.sphere){var c=0,p,d=0;if(p=Math.sqrt(t*t+e*e),n=p*.5,n>1)return null;switch(n=2*Math.asin(n),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(d=Math.sin(n),c=Math.cos(n)),this.mode){case this.EQUIT:n=Math.abs(p)<=js?0:Math.asin(e*d/p),t*=d,e=c*p;break;case this.OBLIQ:n=Math.abs(p)<=js?this.lat0:Math.asin(c*this.sinph0+e*d*this.cosph0/p),t*=d*this.cosph0,e=(c-Math.sin(n)*this.sinph0)*p;break;case this.N_POLE:e=-e,n=ys-n;break;case this.S_POLE:n-=ys;break}r=e===0&&(this.mode===this.EQUIT||this.mode===this.OBLIQ)?0:Math.atan2(t,e)}else{if(l=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(t/=this.dd,e*=this.dd,A=Math.sqrt(t*t+e*e),A<js)return i.x=this.long0,i.y=this.lat0,i;a=2*Math.asin(.5*A/this.rq),s=Math.cos(a),t*=a=Math.sin(a),this.mode===this.OBLIQ?(l=s*this.sinb1+e*a*this.cosb1/A,o=this.qp*l,e=A*this.cosb1*s-e*this.sinb1*a):(l=e*a/A,o=this.qp*l,e=A*s)}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(e=-e),o=t*t+e*e,!o)return i.x=this.long0,i.y=this.lat0,i;l=1-o/this.qp,this.mode===this.S_POLE&&(l=-l)}r=Math.atan2(t,e),n=iZi(Math.asin(l),this.apa)}return i.x=zs(this.long0+r,this.over),i.y=n,i}function eZi(i){var t,e=[];return e[0]=i*VWi,t=i*i,e[0]+=t*WWi,e[1]=t*XWi,t*=i,e[0]+=t*ZWi,e[1]+=t*$Wi,e[2]=t*tZi,e}function iZi(i,t){var e=i+i;return i+t[0]*Math.sin(e)+t[1]*Math.sin(e+e)+t[2]*Math.sin(e+e+e)}var Ejt,Bjt,xjt,z6t,VWi,WWi,ZWi,XWi,$Wi,tZi,rZi,iNe,rNe=Pt(()=>{dc();H6t();Cu();Ejt=1,Bjt=2,xjt=3,z6t=4;VWi=.3333333333333333,WWi=.17222222222222222,ZWi=.10257936507936508,XWi=.06388888888888888,$Wi=.0664021164021164,tZi=.016415012942191543;rZi=["Lambert Azimuthal Equal Area","Lambert_Azimuthal_Equal_Area","laea"],iNe={init:qWi,forward:JWi,inverse:KWi,names:rZi,S_POLE:Ejt,N_POLE:Bjt,EQUIT:xjt,OBLIQ:z6t}});function nI(i){return Math.abs(i)>1&&(i=i>1?1:-1),Math.asin(i)}var XG=Pt(()=>{});function nZi(){Math.abs(this.lat1+this.lat2)<js||(this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e3=Math.sqrt(this.es),this.sin_po=Math.sin(this.lat1),this.cos_po=Math.cos(this.lat1),this.t1=this.sin_po,this.con=this.sin_po,this.ms1=a6(this.e3,this.sin_po,this.cos_po),this.qs1=sB(this.e3,this.sin_po),this.sin_po=Math.sin(this.lat2),this.cos_po=Math.cos(this.lat2),this.t2=this.sin_po,this.ms2=a6(this.e3,this.sin_po,this.cos_po),this.qs2=sB(this.e3,this.sin_po),this.sin_po=Math.sin(this.lat0),this.cos_po=Math.cos(this.lat0),this.t3=this.sin_po,this.qs0=sB(this.e3,this.sin_po),Math.abs(this.lat1-this.lat2)>js?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)}function sZi(i){var t=i.x,e=i.y;this.sin_phi=Math.sin(e),this.cos_phi=Math.cos(e);var r=sB(this.e3,this.sin_phi),n=this.a*Math.sqrt(this.c-this.ns0*r)/this.ns0,s=this.ns0*zs(t-this.long0,this.over),a=n*Math.sin(s)+this.x0,o=this.rh-n*Math.cos(s)+this.y0;return i.x=a,i.y=o,i}function aZi(i){var t,e,r,n,s,a;return i.x-=this.x0,i.y=this.rh-i.y+this.y0,this.ns0>=0?(t=Math.sqrt(i.x*i.x+i.y*i.y),r=1):(t=-Math.sqrt(i.x*i.x+i.y*i.y),r=-1),n=0,t!==0&&(n=Math.atan2(r*i.x,r*i.y)),r=t*this.ns0/this.a,this.sphere?a=Math.asin((this.c-r*r)/(2*this.ns0)):(e=(this.c-r*r)/this.ns0,a=this.phi1z(this.e3,e)),s=zs(n/this.ns0+this.long0,this.over),i.x=s,i.y=a,i}function oZi(i,t){var e,r,n,s,a,o=nI(.5*t);if(i<js)return o;for(var A=i*i,l=1;l<=25;l++)if(e=Math.sin(o),r=Math.cos(o),n=i*e,s=1-n*n,a=.5*s*s/r*(t/(1-A)-e/s+.5/i*Math.log((1-n)/(1+n))),o=o+a,Math.abs(a)<=1e-7)return o;return null}var AZi,nNe,sNe=Pt(()=>{qG();H6t();Cu();XG();dc();AZi=["Albers_Conic_Equal_Area","Albers_Equal_Area","Albers","aea"],nNe={init:nZi,forward:sZi,inverse:aZi,names:AZi,phi1z:oZi}});function lZi(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0),this.infinity_dist=1e3*this.a,this.rc=1}function cZi(i){var t,e,r,n,s,a,o,A,l=i.x,c=i.y;return r=zs(l-this.long0,this.over),t=Math.sin(c),e=Math.cos(c),n=Math.cos(r),a=this.sin_p14*t+this.cos_p14*e*n,s=1,a>0||Math.abs(a)<=js?(o=this.x0+this.a*s*e*Math.sin(r)/a,A=this.y0+this.a*s*(this.cos_p14*t-this.sin_p14*e*n)/a):(o=this.x0+this.infinity_dist*e*Math.sin(r),A=this.y0+this.infinity_dist*(this.cos_p14*t-this.sin_p14*e*n)),i.x=o,i.y=A,i}function hZi(i){var t,e,r,n,s,a;return i.x=(i.x-this.x0)/this.a,i.y=(i.y-this.y0)/this.a,i.x/=this.k0,i.y/=this.k0,(t=Math.sqrt(i.x*i.x+i.y*i.y))?(n=Math.atan2(t,this.rc),e=Math.sin(n),r=Math.cos(n),a=nI(r*this.sin_p14+i.y*e*this.cos_p14/t),s=Math.atan2(i.x*e,t*this.cos_p14*r-i.y*this.sin_p14*e),s=zs(this.long0+s,this.over)):(a=this.phic0,s=0),i.x=s,i.y=a,i}var uZi,aNe,oNe=Pt(()=>{Cu();XG();dc();uZi=["gnom"],aNe={init:lZi,forward:cZi,inverse:hZi,names:uZi}});function ANe(i,t){var e=1-(1-i*i)/(2*i)*Math.log((1-i)/(1+i));if(Math.abs(Math.abs(t)-e)<1e-6)return t<0?-1*ys:ys;for(var r=Math.asin(.5*t),n,s,a,o,A=0;A<30;A++)if(s=Math.sin(r),a=Math.cos(r),o=i*s,n=Math.pow(1-o*o,2)/(2*a)*(t/(1-i*i)-s/(1-o*o)+.5/i*Math.log((1-o)/(1+o))),r+=n,Math.abs(n)<=1e-10)return r;return NaN}var lNe=Pt(()=>{dc()});function gZi(){this.sphere||(this.k0=a6(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))}function pZi(i){var t=i.x,e=i.y,r,n,s=zs(t-this.long0,this.over);if(this.sphere)r=this.x0+this.a*s*Math.cos(this.lat_ts),n=this.y0+this.a*Math.sin(e)/Math.cos(this.lat_ts);else{var a=sB(this.e,Math.sin(e));r=this.x0+this.a*this.k0*s,n=this.y0+this.a*a*.5/this.k0}return i.x=r,i.y=n,i}function dZi(i){i.x-=this.x0,i.y-=this.y0;var t,e;return this.sphere?(t=zs(this.long0+i.x/this.a/Math.cos(this.lat_ts),this.over),e=Math.asin(i.y/this.a*Math.cos(this.lat_ts))):(e=ANe(this.e,2*i.y*this.k0/this.a),t=zs(this.long0+i.x/(this.a*this.k0),this.over)),i.x=t,i.y=e,i}var _Zi,cNe,hNe=Pt(()=>{Cu();H6t();qG();lNe();_Zi=["cea"],cNe={init:gZi,forward:pZi,inverse:dZi,names:_Zi}});function fZi(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)}function mZi(i){var t=i.x,e=i.y,r=zs(t-this.long0,this.over),n=rI(e-this.lat0);return i.x=this.x0+this.a*r*this.rc,i.y=this.y0+this.a*n,i}function IZi(i){var t=i.x,e=i.y;return i.x=zs(this.long0+(t-this.x0)/(this.a*this.rc),this.over),i.y=rI(this.lat0+(e-this.y0)/this.a),i}var yZi,uNe,gNe=Pt(()=>{Cu();WG();yZi=["Equirectangular","Equidistant_Cylindrical","Equidistant_Cylindrical_Spherical","eqc"],uNe={init:fZi,forward:mZi,inverse:IZi,names:yZi}});function CZi(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Fb(this.es),this.e1=Tb(this.es),this.e2=Ub(this.es),this.e3=Pb(this.es),this.ml0=this.a*m1(this.e0,this.e1,this.e2,this.e3,this.lat0)}function EZi(i){var t=i.x,e=i.y,r,n,s,a=zs(t-this.long0,this.over);if(s=a*Math.sin(e),this.sphere)Math.abs(e)<=js?(r=this.a*a,n=-1*this.a*this.lat0):(r=this.a*Math.sin(s)/Math.tan(e),n=this.a*(rI(e-this.lat0)+(1-Math.cos(s))/Math.tan(e)));else if(Math.abs(e)<=js)r=this.a*a,n=-1*this.ml0;else{var o=Krt(this.a,this.e,Math.sin(e))/Math.tan(e);r=o*Math.sin(s),n=this.a*m1(this.e0,this.e1,this.e2,this.e3,e)-this.ml0+o*(1-Math.cos(s))}return i.x=r+this.x0,i.y=n+this.y0,i}function BZi(i){var t,e,r,n,s,a,o,A,l;if(r=i.x-this.x0,n=i.y-this.y0,this.sphere)if(Math.abs(n+this.a*this.lat0)<=js)t=zs(r/this.a+this.long0,this.over),e=0;else{a=this.lat0+n/this.a,o=r*r/this.a/this.a+a*a,A=a;var c;for(s=pNe;s;--s)if(c=Math.tan(A),l=-1*(a*(A*c+1)-A-.5*(A*A+o)*c)/((A-a)/c-1),A+=l,Math.abs(l)<=js){e=A;break}t=zs(this.long0+Math.asin(r*Math.tan(A)/this.a)/Math.sin(e),this.over)}else if(Math.abs(n+this.ml0)<=js)e=0,t=zs(this.long0+r/this.a,this.over);else{a=(this.ml0+n)/this.a,o=r*r/this.a/this.a+a*a,A=a;var p,d,_,I,y;for(s=pNe;s;--s)if(y=this.e*Math.sin(A),p=Math.sqrt(1-y*y)*Math.tan(A),d=this.a*m1(this.e0,this.e1,this.e2,this.e3,A),_=this.e0-2*this.e1*Math.cos(2*A)+4*this.e2*Math.cos(4*A)-6*this.e3*Math.cos(6*A),I=d/this.a,l=(a*(p*I+1)-I-.5*p*(I*I+o))/(this.es*Math.sin(2*A)*(I*I+o-2*a*I)/(4*p)+(a-I)*(p*_-2/Math.sin(2*A))-_),A-=l,Math.abs(l)<=js){e=A;break}p=Math.sqrt(1-this.es*Math.pow(Math.sin(e),2))*Math.tan(e),t=zs(this.long0+Math.asin(r*p/this.a)/Math.sin(e),this.over)}return i.x=t,i.y=e,i}var pNe,xZi,dNe,_Ne=Pt(()=>{zrt();Yrt();qrt();Jrt();Cu();WG();Hrt();dc();Cjt();pNe=20;xZi=["Polyconic","American_Polyconic","poly"],dNe={init:CZi,forward:EZi,inverse:BZi,names:xZi}});function QZi(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013}function bZi(i){var t,e=i.x,r=i.y,n=r-this.lat0,s=e-this.long0,a=n/zG*1e-5,o=s,A=1,l=0;for(t=1;t<=10;t++)A=A*a,l=l+this.A[t]*A;var c=l,p=o,d=1,_=0,I,y,B=0,x=0;for(t=1;t<=6;t++)I=d*c-_*p,y=_*c+d*p,d=I,_=y,B=B+this.B_re[t]*d-this.B_im[t]*_,x=x+this.B_im[t]*d+this.B_re[t]*_;return i.x=x*this.a+this.x0,i.y=B*this.a+this.y0,i}function vZi(i){var t,e=i.x,r=i.y,n=e-this.x0,s=r-this.y0,a=s/this.a,o=n/this.a,A=1,l=0,c,p,d=0,_=0;for(t=1;t<=6;t++)c=A*a-l*o,p=l*a+A*o,A=c,l=p,d=d+this.C_re[t]*A-this.C_im[t]*l,_=_+this.C_im[t]*A+this.C_re[t]*l;for(var I=0;I<this.iterations;I++){var y=d,B=_,x,w,D=a,T=o;for(t=2;t<=6;t++)x=y*d-B*_,w=B*d+y*_,y=x,B=w,D=D+(t-1)*(this.B_re[t]*y-this.B_im[t]*B),T=T+(t-1)*(this.B_im[t]*y+this.B_re[t]*B);y=1,B=0;var j=this.B_re[1],z=this.B_im[1];for(t=2;t<=6;t++)x=y*d-B*_,w=B*d+y*_,y=x,B=w,j=j+t*(this.B_re[t]*y-this.B_im[t]*B),z=z+t*(this.B_im[t]*y+this.B_re[t]*B);var W=j*j+z*z;d=(D*j+T*z)/W,_=(T*j-D*z)/W}var N=d,F=_,U=1,J=0;for(t=1;t<=9;t++)U=U*N,J=J+this.D[t]*U;var Z=this.lat0+J*zG*1e5,at=this.long0+F;return i.x=at,i.y=Z,i}var wZi,fNe,mNe=Pt(()=>{dc();wZi=["New_Zealand_Map_Grid","nzmg"],fNe={init:QZi,forward:bZi,inverse:vZi,names:wZi}});function SZi(){}function kZi(i){var t=i.x,e=i.y,r=zs(t-this.long0,this.over),n=this.x0+this.a*r,s=this.y0+this.a*Math.log(Math.tan(Math.PI/4+e/2.5))*1.25;return i.x=n,i.y=s,i}function MZi(i){i.x-=this.x0,i.y-=this.y0;var t=zs(this.long0+i.x/this.a,this.over),e=2.5*(Math.atan(Math.exp(.8*i.y/this.a))-Math.PI/4);return i.x=t,i.y=e,i}var DZi,INe,yNe=Pt(()=>{Cu();DZi=["Miller_Cylindrical","mill"],INe={init:SZi,forward:kZi,inverse:MZi,names:DZi}});function NZi(){this.sphere?(this.n=1,this.m=0,this.es=0,this.C_y=Math.sqrt((this.m+1)/this.n),this.C_x=this.C_y/(this.m+1)):this.en=xz(this.es)}function LZi(i){var t,e,r=i.x,n=i.y;if(r=zs(r-this.long0,this.over),this.sphere){if(!this.m)n=this.n!==1?Math.asin(this.n*Math.sin(n)):n;else for(var s=this.n*Math.sin(n),a=RZi;a;--a){var o=(this.m*n+Math.sin(n)-s)/(this.m+Math.cos(n));if(n-=o,Math.abs(o)<js)break}t=this.a*this.C_x*r*(this.m+Math.cos(n)),e=this.a*this.C_y*n}else{var A=Math.sin(n),l=Math.cos(n);e=this.a*Qx(n,A,l,this.en),t=this.a*r*l/Math.sqrt(1-this.es*A*A)}return i.x=t,i.y=e,i}function GZi(i){var t,e,r,n;return i.x-=this.x0,r=i.x/this.a,i.y-=this.y0,t=i.y/this.a,this.sphere?(t/=this.C_y,r=r/(this.C_x*(this.m+Math.cos(t))),this.m?t=nI((this.m*t+Math.sin(t))/this.n):this.n!==1&&(t=nI(Math.sin(t)/this.n)),r=zs(r+this.long0,this.over),t=rI(t)):(t=Qz(i.y/this.a,this.es,this.en),n=Math.abs(t),n<ys?(n=Math.sin(t),e=this.long0+i.x*Math.sqrt(1-this.es*n*n)/(this.a*Math.cos(t)),r=zs(e,this.over)):n-js<ys&&(r=this.long0)),i.x=r,i.y=t,i}var RZi,FZi,CNe,ENe=Pt(()=>{Cu();WG();G6t();jrt();F6t();dc();XG();RZi=20;FZi=["Sinusoidal","sinu"],CNe={init:NZi,forward:LZi,inverse:GZi,names:FZi}});function TZi(){this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0}function UZi(i){for(var t=i.x,e=i.y,r=zs(t-this.long0,this.over),n=e,s=Math.PI*Math.sin(e);;){var a=-(n+Math.sin(n)-s)/(1+Math.cos(n));if(n+=a,Math.abs(a)<js)break}n/=2,Math.PI/2-Math.abs(e)<js&&(r=0);var o=.900316316158*this.a*r*Math.cos(n)+this.x0,A=1.4142135623731*this.a*Math.sin(n)+this.y0;return i.x=o,i.y=A,i}function PZi(i){var t,e;i.x-=this.x0,i.y-=this.y0,e=i.y/(1.4142135623731*this.a),Math.abs(e)>.999999999999&&(e=.999999999999),t=Math.asin(e);var r=zs(this.long0+i.x/(.900316316158*this.a*Math.cos(t)),this.over);r<-Math.PI&&(r=-Math.PI),r>Math.PI&&(r=Math.PI),e=(2*t+Math.sin(2*t))/Math.PI,Math.abs(e)>1&&(e=1);var n=Math.asin(e);return i.x=r,i.y=n,i}var OZi,BNe,xNe=Pt(()=>{Cu();dc();OZi=["Mollweide","moll"],BNe={init:TZi,forward:UZi,inverse:PZi,names:OZi}});function jZi(){Math.abs(this.lat1+this.lat2)<js||(this.lat2=this.lat2||this.lat1,this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Fb(this.es),this.e1=Tb(this.es),this.e2=Ub(this.es),this.e3=Pb(this.es),this.sin_phi=Math.sin(this.lat1),this.cos_phi=Math.cos(this.lat1),this.ms1=a6(this.e,this.sin_phi,this.cos_phi),this.ml1=m1(this.e0,this.e1,this.e2,this.e3,this.lat1),Math.abs(this.lat1-this.lat2)<js?this.ns=this.sin_phi:(this.sin_phi=Math.sin(this.lat2),this.cos_phi=Math.cos(this.lat2),this.ms2=a6(this.e,this.sin_phi,this.cos_phi),this.ml2=m1(this.e0,this.e1,this.e2,this.e3,this.lat2),this.ns=(this.ms1-this.ms2)/(this.ml2-this.ml1)),this.g=this.ml1+this.ms1/this.ns,this.ml0=m1(this.e0,this.e1,this.e2,this.e3,this.lat0),this.rh=this.a*(this.g-this.ml0))}function HZi(i){var t=i.x,e=i.y,r;if(this.sphere)r=this.a*(this.g-e);else{var n=m1(this.e0,this.e1,this.e2,this.e3,e);r=this.a*(this.g-n)}var s=this.ns*zs(t-this.long0,this.over),a=this.x0+r*Math.sin(s),o=this.y0+this.rh-r*Math.cos(s);return i.x=a,i.y=o,i}function zZi(i){i.x-=this.x0,i.y=this.rh-i.y+this.y0;var t,e,r,n;this.ns>=0?(e=Math.sqrt(i.x*i.x+i.y*i.y),t=1):(e=-Math.sqrt(i.x*i.x+i.y*i.y),t=-1);var s=0;if(e!==0&&(s=Math.atan2(t*i.x,t*i.y)),this.sphere)return n=zs(this.long0+s/this.ns,this.over),r=rI(this.g-e/this.a),i.x=n,i.y=r,i;var a=this.g-e/this.a;return r=ZG(a,this.e0,this.e1,this.e2,this.e3),n=zs(this.long0+s/this.ns,this.over),i.x=n,i.y=r,i}var YZi,QNe,bNe=Pt(()=>{zrt();Yrt();qrt();Jrt();qG();Hrt();Cu();WG();j6t();dc();YZi=["Equidistant_Conic","eqdc"],QNe={init:jZi,forward:HZi,inverse:zZi,names:YZi}});function qZi(){this.R=this.a}function JZi(i){var t=i.x,e=i.y,r=zs(t-this.long0,this.over),n,s;Math.abs(e)<=js&&(n=this.x0+this.R*r,s=this.y0);var a=nI(2*Math.abs(e/Math.PI));(Math.abs(r)<=js||Math.abs(Math.abs(e)-ys)<=js)&&(n=this.x0,e>=0?s=this.y0+Math.PI*this.R*Math.tan(.5*a):s=this.y0+Math.PI*this.R*-Math.tan(.5*a));var o=.5*Math.abs(Math.PI/r-r/Math.PI),A=o*o,l=Math.sin(a),c=Math.cos(a),p=c/(l+c-1),d=p*p,_=p*(2/l-1),I=_*_,y=Math.PI*this.R*(o*(p-I)+Math.sqrt(A*(p-I)*(p-I)-(I+A)*(d-I)))/(I+A);r<0&&(y=-y),n=this.x0+y;var B=A+p;return y=Math.PI*this.R*(_*B-o*Math.sqrt((I+A)*(A+1)-B*B))/(I+A),e>=0?s=this.y0+y:s=this.y0-y,i.x=n,i.y=s,i}function KZi(i){var t,e,r,n,s,a,o,A,l,c,p,d,_;return i.x-=this.x0,i.y-=this.y0,p=Math.PI*this.R,r=i.x/p,n=i.y/p,s=r*r+n*n,a=-Math.abs(n)*(1+s),o=a-2*n*n+r*r,A=-2*a+1+2*n*n+s*s,_=n*n/A+(2*o*o*o/A/A/A-9*a*o/A/A)/27,l=(a-o*o/3/A)/A,c=2*Math.sqrt(-l/3),p=3*_/l/c,Math.abs(p)>1&&(p>=0?p=1:p=-1),d=Math.acos(p)/3,i.y>=0?e=(-c*Math.cos(d+Math.PI/3)-o/3/A)*Math.PI:e=-(-c*Math.cos(d+Math.PI/3)-o/3/A)*Math.PI,Math.abs(r)<js?t=this.long0:t=zs(this.long0+Math.PI*(s-1+Math.sqrt(1+2*(r*r-n*n)+s*s))/2/r,this.over),i.x=t,i.y=e,i}var VZi,vNe,wNe=Pt(()=>{Cu();dc();XG();VZi=["Van_der_Grinten_I","VanDerGrinten","Van_der_Grinten","vandg"],vNe={init:qZi,forward:JZi,inverse:KZi,names:VZi}});function SNe(i,t,e,r,n,s){let a=r-t,o=Math.atan((1-s)*Math.tan(i)),A=Math.atan((1-s)*Math.tan(e)),l=Math.sin(o),c=Math.cos(o),p=Math.sin(A),d=Math.cos(A),_=a,I,y=100,B,x,w,D,T,j,z,W,N,F,U,J,Z,at;do{if(B=Math.sin(_),x=Math.cos(_),w=Math.sqrt(d*B*(d*B)+(c*p-l*d*x)*(c*p-l*d*x)),w===0)return{azi1:0,s12:0};D=l*p+c*d*x,T=Math.atan2(w,D),j=c*d*B/w,z=1-j*j,W=z!==0?D-2*l*p/z:0,N=s/16*z*(4+s*(4-3*z)),I=_,_=a+(1-N)*s*j*(T+N*w*(W+N*D*(-1+2*W*W)))}while(Math.abs(_-I)>1e-12&&--y>0);return y===0?{azi1:NaN,s12:NaN}:(F=z*(n*n-n*(1-s)*(n*(1-s)))/(n*(1-s)*(n*(1-s))),U=1+F/16384*(4096+F*(-768+F*(320-175*F))),J=F/1024*(256+F*(-128+F*(74-47*F))),Z=J*w*(W+J/4*(D*(-1+2*W*W)-J/6*W*(-3+4*w*w)*(-3+4*W*W))),at=n*(1-s)*U*(T-Z),{azi1:Math.atan2(d*B,c*p-l*d*x),s12:at})}function kNe(i,t,e,r,n,s){let a=Math.atan((1-s)*Math.tan(i)),o=Math.sin(a),A=Math.cos(a),l=Math.sin(e),c=Math.cos(e),p=Math.atan2(o,A*c),d=A*l,_=1-d*d,I=_*(n*n-n*(1-s)*(n*(1-s)))/(n*(1-s)*(n*(1-s))),y=1+I/16384*(4096+I*(-768+I*(320-175*I))),B=I/1024*(256+I*(-128+I*(74-47*I))),x=r/(n*(1-s)*y),w,D=100,T,j,z,W;do T=Math.cos(2*p+x),j=Math.sin(x),z=Math.cos(x),W=B*j*(T+B/4*(z*(-1+2*T*T)-B/6*T*(-3+4*j*j)*(-3+4*T*T))),w=x,x=r/(n*(1-s)*y)+W;while(Math.abs(x-w)>1e-12&&--D>0);if(D===0)return{lat2:NaN,lon2:NaN};let N=o*j-A*z*c,F=Math.atan2(o*z+A*j*c,(1-s)*Math.sqrt(d*d+N*N)),U=Math.atan2(j*l,A*z-o*j*c),J=s/16*_*(4+s*(4-3*_)),Z=U-(1-J)*s*d*(x+J*j*(T+J*z*(-1+2*T*T))),at=t+Z;return{lat2:F,lon2:at}}var MNe=Pt(()=>{});function WZi(){this.sin_p12=Math.sin(this.lat0),this.cos_p12=Math.cos(this.lat0),this.f=this.es/(1+Math.sqrt(1-this.es))}function ZZi(i){var t=i.x,e=i.y,r=Math.sin(i.y),n=Math.cos(i.y),s=zs(t-this.long0,this.over),a,o,A,l,c,p,d,_,I,y,B;return this.sphere?Math.abs(this.sin_p12-1)<=js?(i.x=this.x0+this.a*(ys-e)*Math.sin(s),i.y=this.y0-this.a*(ys-e)*Math.cos(s),i):Math.abs(this.sin_p12+1)<=js?(i.x=this.x0+this.a*(ys+e)*Math.sin(s),i.y=this.y0+this.a*(ys+e)*Math.cos(s),i):(I=this.sin_p12*r+this.cos_p12*n*Math.cos(s),d=Math.acos(I),_=d?d/Math.sin(d):1,i.x=this.x0+this.a*_*n*Math.sin(s),i.y=this.y0+this.a*_*(this.cos_p12*r-this.sin_p12*n*Math.cos(s)),i):(a=Fb(this.es),o=Tb(this.es),A=Ub(this.es),l=Pb(this.es),Math.abs(this.sin_p12-1)<=js?(c=this.a*m1(a,o,A,l,ys),p=this.a*m1(a,o,A,l,e),i.x=this.x0+(c-p)*Math.sin(s),i.y=this.y0-(c-p)*Math.cos(s),i):Math.abs(this.sin_p12+1)<=js?(c=this.a*m1(a,o,A,l,ys),p=this.a*m1(a,o,A,l,e),i.x=this.x0+(c+p)*Math.sin(s),i.y=this.y0+(c+p)*Math.cos(s),i):Math.abs(t)<js&&Math.abs(e-this.lat0)<js?(i.x=i.y=0,i):(y=SNe(this.lat0,this.long0,e,t,this.a,this.f),B=y.azi1,i.x=y.s12*Math.sin(B),i.y=y.s12*Math.cos(B),i))}function XZi(i){i.x-=this.x0,i.y-=this.y0;var t,e,r,n,s,a,o,A,l,c,p,d,_,I,y,B;return this.sphere?(t=Math.sqrt(i.x*i.x+i.y*i.y),t>2*ys*this.a?void 0:(e=t/this.a,r=Math.sin(e),n=Math.cos(e),s=this.long0,Math.abs(t)<=js?a=this.lat0:(a=nI(n*this.sin_p12+i.y*r*this.cos_p12/t),o=Math.abs(this.lat0)-ys,Math.abs(o)<=js?this.lat0>=0?s=zs(this.long0+Math.atan2(i.x,-i.y),this.over):s=zs(this.long0-Math.atan2(-i.x,i.y),this.over):s=zs(this.long0+Math.atan2(i.x*r,t*this.cos_p12*n-i.y*this.sin_p12*r),this.over)),i.x=s,i.y=a,i)):(A=Fb(this.es),l=Tb(this.es),c=Ub(this.es),p=Pb(this.es),Math.abs(this.sin_p12-1)<=js?(d=this.a*m1(A,l,c,p,ys),t=Math.sqrt(i.x*i.x+i.y*i.y),_=d-t,a=ZG(_/this.a,A,l,c,p),s=zs(this.long0+Math.atan2(i.x,-1*i.y),this.over),i.x=s,i.y=a,i):Math.abs(this.sin_p12+1)<=js?(d=this.a*m1(A,l,c,p,ys),t=Math.sqrt(i.x*i.x+i.y*i.y),_=t-d,a=ZG(_/this.a,A,l,c,p),s=zs(this.long0+Math.atan2(i.x,i.y),this.over),i.x=s,i.y=a,i):(I=Math.atan2(i.x,i.y),y=Math.sqrt(i.x*i.x+i.y*i.y),B=kNe(this.lat0,this.long0,I,y,this.a,this.f),i.x=B.lon2,i.y=B.lat2,i))}var $Zi,DNe,RNe=Pt(()=>{Cu();dc();Hrt();zrt();Yrt();qrt();Jrt();XG();j6t();MNe();$Zi=["Azimuthal_Equidistant","aeqd"],DNe={init:WZi,forward:ZZi,inverse:XZi,names:$Zi}});function tXi(){this.sin_p14=Math.sin(this.lat0||0),this.cos_p14=Math.cos(this.lat0||0)}function eXi(i){var t,e,r,n,s,a,o,A,l=i.x,c=i.y;return r=zs(l-(this.long0||0),this.over),t=Math.sin(c),e=Math.cos(c),n=Math.cos(r),a=this.sin_p14*t+this.cos_p14*e*n,s=1,(a>0||Math.abs(a)<=js)&&(o=this.a*s*e*Math.sin(r),A=(this.y0||0)+this.a*s*(this.cos_p14*t-this.sin_p14*e*n)),i.x=o,i.y=A,i}function iXi(i){var t,e,r,n,s,a,o,A,l;return i.x-=this.x0||0,i.y-=this.y0||0,t=Math.sqrt(i.x*i.x+i.y*i.y),e=nI(t/this.a),r=Math.sin(e),n=Math.cos(e),A=this.long0||0,l=this.lat0||0,a=A,Math.abs(t)<=js?(o=l,i.x=a,i.y=o,i):(o=nI(n*this.sin_p14+i.y*r*this.cos_p14/t),s=Math.abs(l)-ys,Math.abs(s)<=js?(l>=0?a=zs(A+Math.atan2(i.x,-i.y),this.over):a=zs(A-Math.atan2(-i.x,i.y),this.over),i.x=a,i.y=o,i):(a=zs(A+Math.atan2(i.x*r,t*this.cos_p14*n-i.y*this.sin_p14*r),this.over),i.x=a,i.y=o,i))}var rXi,NNe,LNe=Pt(()=>{Cu();XG();dc();rXi=["ortho"],NNe={init:tXi,forward:eXi,inverse:iXi,names:rXi}});function nXi(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=ys-Dc/2?this.face=kp.TOP:this.lat0<=-(ys-Dc/2)?this.face=kp.BOTTOM:Math.abs(this.long0)<=Dc?this.face=kp.FRONT:Math.abs(this.long0)<=ys+Dc?this.face=this.long0>0?kp.RIGHT:kp.LEFT:this.face=kp.BACK,this.es!==0&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)}function sXi(i){var t={x:0,y:0},e,r,n,s,a,o,A={value:0};if(i.x-=this.long0,this.es!==0?e=Math.atan(this.one_minus_f_squared*Math.tan(i.y)):e=i.y,r=i.x,this.face===kp.TOP)s=ys-e,r>=Dc&&r<=ys+Dc?(A.value=ru.AREA_0,n=r-ys):r>ys+Dc||r<=-(ys+Dc)?(A.value=ru.AREA_1,n=r>0?r-Sp:r+Sp):r>-(ys+Dc)&&r<=-Dc?(A.value=ru.AREA_2,n=r+ys):(A.value=ru.AREA_3,n=r);else if(this.face===kp.BOTTOM)s=ys+e,r>=Dc&&r<=ys+Dc?(A.value=ru.AREA_0,n=-r+ys):r<Dc&&r>=-Dc?(A.value=ru.AREA_1,n=-r):r<-Dc&&r>=-(ys+Dc)?(A.value=ru.AREA_2,n=-r-ys):(A.value=ru.AREA_3,n=r>0?-r+Sp:-r-Sp);else{var l,c,p,d,_,I,y;this.face===kp.RIGHT?r=Sz(r,+ys):this.face===kp.BACK?r=Sz(r,+Sp):this.face===kp.LEFT&&(r=Sz(r,-ys)),d=Math.sin(e),_=Math.cos(e),I=Math.sin(r),y=Math.cos(r),l=_*y,c=_*I,p=d,this.face===kp.FRONT?(s=Math.acos(l),n=Y6t(s,p,c,A)):this.face===kp.RIGHT?(s=Math.acos(c),n=Y6t(s,p,-l,A)):this.face===kp.BACK?(s=Math.acos(-l),n=Y6t(s,p,-c,A)):this.face===kp.LEFT?(s=Math.acos(-c),n=Y6t(s,p,l,A)):(s=n=0,A.value=ru.AREA_0)}return o=Math.atan(12/Sp*(n+Math.acos(Math.sin(n)*Math.cos(Dc))-ys)),a=Math.sqrt((1-Math.cos(s))/(Math.cos(o)*Math.cos(o))/(1-Math.cos(Math.atan(1/Math.cos(n))))),A.value===ru.AREA_1?o+=ys:A.value===ru.AREA_2?o+=Sp:A.value===ru.AREA_3&&(o+=1.5*Sp),t.x=a*Math.cos(o),t.y=a*Math.sin(o),t.x=t.x*this.a+this.x0,t.y=t.y*this.a+this.y0,i.x=t.x,i.y=t.y,i}function aXi(i){var t={lam:0,phi:0},e,r,n,s,a,o,A,l,c,p={value:0};if(i.x=(i.x-this.x0)/this.a,i.y=(i.y-this.y0)/this.a,r=Math.atan(Math.sqrt(i.x*i.x+i.y*i.y)),e=Math.atan2(i.y,i.x),i.x>=0&&i.x>=Math.abs(i.y)?p.value=ru.AREA_0:i.y>=0&&i.y>=Math.abs(i.x)?(p.value=ru.AREA_1,e-=ys):i.x<0&&-i.x>=Math.abs(i.y)?(p.value=ru.AREA_2,e=e<0?e+Sp:e-Sp):(p.value=ru.AREA_3,e+=ys),c=Sp/12*Math.tan(e),a=Math.sin(c)/(Math.cos(c)-1/Math.sqrt(2)),o=Math.atan(a),n=Math.cos(e),s=Math.tan(r),A=1-n*n*s*s*(1-Math.cos(Math.atan(1/Math.cos(o)))),A<-1?A=-1:A>1&&(A=1),this.face===kp.TOP)l=Math.acos(A),t.phi=ys-l,p.value===ru.AREA_0?t.lam=o+ys:p.value===ru.AREA_1?t.lam=o<0?o+Sp:o-Sp:p.value===ru.AREA_2?t.lam=o-ys:t.lam=o;else if(this.face===kp.BOTTOM)l=Math.acos(A),t.phi=l-ys,p.value===ru.AREA_0?t.lam=-o+ys:p.value===ru.AREA_1?t.lam=-o:p.value===ru.AREA_2?t.lam=-o-ys:t.lam=o<0?-o-Sp:-o+Sp;else{var d,_,I;d=A,c=d*d,c>=1?I=0:I=Math.sqrt(1-c)*Math.sin(o),c+=I*I,c>=1?_=0:_=Math.sqrt(1-c),p.value===ru.AREA_1?(c=_,_=-I,I=c):p.value===ru.AREA_2?(_=-_,I=-I):p.value===ru.AREA_3&&(c=_,_=I,I=-c),this.face===kp.RIGHT?(c=d,d=-_,_=c):this.face===kp.BACK?(d=-d,_=-_):this.face===kp.LEFT&&(c=d,d=_,_=-c),t.phi=Math.acos(-I)-ys,t.lam=Math.atan2(_,d),this.face===kp.RIGHT?t.lam=Sz(t.lam,-ys):this.face===kp.BACK?t.lam=Sz(t.lam,-Sp):this.face===kp.LEFT&&(t.lam=Sz(t.lam,+ys))}if(this.es!==0){var y,B,x;y=t.phi<0?1:0,B=Math.tan(t.phi),x=this.b/Math.sqrt(B*B+this.one_minus_f_squared),t.phi=Math.atan(Math.sqrt(this.a*this.a-x*x)/(this.one_minus_f*x)),y&&(t.phi=-t.phi)}return t.lam+=this.long0,i.x=t.lam,i.y=t.phi,i}function Y6t(i,t,e,r){var n;return i<js?(r.value=ru.AREA_0,n=0):(n=Math.atan2(t,e),Math.abs(n)<=Dc?r.value=ru.AREA_0:n>Dc&&n<=ys+Dc?(r.value=ru.AREA_1,n-=ys):n>ys+Dc||n<=-(ys+Dc)?(r.value=ru.AREA_2,n=n>=0?n-Sp:n+Sp):(r.value=ru.AREA_3,n+=ys)),n}function Sz(i,t){var e=i+t;return e<-Sp?e+=uM:e>+Sp&&(e-=uM),e}var kp,ru,oXi,GNe,FNe=Pt(()=>{dc();kp={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},ru={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};oXi=["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"],GNe={init:nXi,forward:sXi,inverse:aXi,names:oXi}});function cXi(i,t,e,r){for(var n=t;r;--r){var s=i(n);if(n-=s,Math.abs(s)<e)break}return n}function hXi(){this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.es=0,this.title=this.title||"Robinson"}function uXi(i){var t=zs(i.x-this.long0,this.over),e=Math.abs(i.y),r=Math.floor(e*PNe);r<0?r=0:r>=kz&&(r=kz-1),e=f1*(e-AXi*r);var n={x:q6t(Qjt[r],e)*t,y:q6t(Vrt[r],e)};return i.y<0&&(n.y=-n.y),n.x=n.x*this.a*TNe+this.x0,n.y=n.y*this.a*UNe+this.y0,n}function gXi(i){var t={x:(i.x-this.x0)/(this.a*TNe),y:Math.abs(i.y-this.y0)/(this.a*UNe)};if(t.y>=1)t.x/=Qjt[kz][0],t.y=i.y<0?-ys:ys;else{var e=Math.floor(t.y*kz);for(e<0?e=0:e>=kz&&(e=kz-1);;)if(Vrt[e][0]>t.y)--e;else if(Vrt[e+1][0]<=t.y)++e;else break;var r=Vrt[e],n=5*(t.y-r[0])/(Vrt[e+1][0]-r[0]);n=cXi(function(s){return(q6t(r,s)-t.y)/lXi(r,s)},n,js,100),t.x/=q6t(Qjt[e],n),t.y=(5*e+n)*Gu,i.y<0&&(t.y=-t.y)}return t.x=zs(t.x+this.long0,this.over),t}var Qjt,Vrt,TNe,UNe,PNe,AXi,kz,q6t,lXi,pXi,ONe,jNe=Pt(()=>{dc();Cu();Qjt=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-986701e-12],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,18736e-12],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,934959e-12],[.7986,-.00755338,-500009e-10,935324e-12],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],Vrt=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-126793e-14,422642e-15],[.124,.0124,507171e-14,-160604e-14],[.186,.0123999,-190189e-13,600152e-14],[.248,.0124002,710039e-13,-224e-10],[.31,.0123992,-264997e-12,835986e-13],[.372,.0124029,988983e-12,-311994e-12],[.434,.0123893,-369093e-11,-435621e-12],[.4958,.0123198,-102252e-10,-345523e-12],[.5571,.0121916,-154081e-10,-582288e-12],[.6176,.0119938,-241424e-10,-525327e-12],[.6769,.011713,-320223e-10,-516405e-12],[.7346,.0113541,-397684e-10,-609052e-12],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-140374e-14],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],TNe=.8487,UNe=1.3523,PNe=f1/5,AXi=1/PNe,kz=18,q6t=function(i,t){return i[0]+t*(i[1]+t*(i[2]+t*i[3]))},lXi=function(i,t){return i[1]+t*(2*i[2]+t*3*i[3])};pXi=["Robinson","robin"],ONe={init:hXi,forward:uXi,inverse:gXi,names:pXi}});function dXi(){this.name="geocent"}function _Xi(i){var t=M6t(i,this.es,this.a);return t}function fXi(i){var t=D6t(i,this.es,this.a,this.b);return t}var mXi,HNe,zNe=Pt(()=>{ajt();mXi=["Geocentric","geocentric","geocent","Geocent"],HNe={init:dXi,forward:_Xi,inverse:fXi,names:mXi}});function IXi(){if(Object.keys(Wrt).forEach(function(e){if(typeof this[e]>"u")this[e]=Wrt[e].def;else{if(Wrt[e].num&&isNaN(this[e]))throw new Error("Invalid parameter value, must be numeric "+e+" = "+this[e]);Wrt[e].num&&(this[e]=parseFloat(this[e]))}Wrt[e].degrees&&(this[e]=this[e]*Gu)}.bind(this)),Math.abs(Math.abs(this.lat0)-ys)<js?this.mode=this.lat0<0?o6.S_POLE:o6.N_POLE:Math.abs(this.lat0)<js?this.mode=o6.EQUIT:(this.mode=o6.OBLIQ,this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0)),this.pn1=this.h/this.a,this.pn1<=0||this.pn1>1e10)throw new Error("Invalid height");this.p=1+this.pn1,this.rp=1/this.p,this.h1=1/this.pn1,this.pfact=(this.p+1)*this.h1,this.es=0;var i=this.tilt,t=this.azi;this.cg=Math.cos(t),this.sg=Math.sin(t),this.cw=Math.cos(i),this.sw=Math.sin(i)}function yXi(i){i.x-=this.long0;var t=Math.sin(i.y),e=Math.cos(i.y),r=Math.cos(i.x),n,s;switch(this.mode){case o6.OBLIQ:s=this.sinph0*t+this.cosph0*e*r;break;case o6.EQUIT:s=e*r;break;case o6.S_POLE:s=-t;break;case o6.N_POLE:s=t;break}switch(s=this.pn1/(this.p-s),n=s*e*Math.sin(i.x),this.mode){case o6.OBLIQ:s*=this.cosph0*t-this.sinph0*e*r;break;case o6.EQUIT:s*=t;break;case o6.N_POLE:s*=-(e*r);break;case o6.S_POLE:s*=e*r;break}var a,o;return a=s*this.cg+n*this.sg,o=1/(a*this.sw*this.h1+this.cw),n=(n*this.cg-s*this.sg)*this.cw*o,s=a*o,i.x=n*this.a,i.y=s*this.a,i}function CXi(i){i.x/=this.a,i.y/=this.a;var t={x:i.x,y:i.y},e,r,n;n=1/(this.pn1-i.y*this.sw),e=this.pn1*i.x*n,r=this.pn1*i.y*this.cw*n,i.x=e*this.cg+r*this.sg,i.y=r*this.cg-e*this.sg;var s=G3(i.x,i.y);if(Math.abs(s)<js)t.x=0,t.y=i.y;else{var a,o;switch(o=1-s*s*this.pfact,o=(this.p-Math.sqrt(o))/(this.pn1/s+s/this.pn1),a=Math.sqrt(1-o*o),this.mode){case o6.OBLIQ:t.y=Math.asin(a*this.sinph0+i.y*o*this.cosph0/s),i.y=(a-this.sinph0*Math.sin(t.y))*s,i.x*=o*this.cosph0;break;case o6.EQUIT:t.y=Math.asin(i.y*o/s),i.y=a*s,i.x*=o;break;case o6.N_POLE:t.y=Math.asin(a),i.y=-i.y;break;case o6.S_POLE:t.y=-Math.asin(a);break}t.x=Math.atan2(i.x,i.y)}return i.x=t.x+this.long0,i.y=t.y,i}var o6,Wrt,EXi,YNe,qNe=Pt(()=>{dc();VG();o6={N_POLE:0,S_POLE:1,EQUIT:2,OBLIQ:3},Wrt={h:{def:1e5,num:!0},azi:{def:0,num:!0,degrees:!0},tilt:{def:0,num:!0,degrees:!0},long0:{def:0,num:!0},lat0:{def:0,num:!0}};EXi=["Tilted_Perspective","tpers"],YNe={init:IXi,forward:yXi,inverse:CXi,names:EXi}});function BXi(){if(this.flip_axis=this.sweep==="x"?1:0,this.h=Number(this.h),this.radius_g_1=this.h/this.a,this.radius_g_1<=0||this.radius_g_1>1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,this.es!==0){var i=1-this.es,t=1/i;this.radius_p=Math.sqrt(i),this.radius_p2=i,this.radius_p_inv2=t,this.shape="ellipse"}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape="sphere";this.title||(this.title="Geostationary Satellite View")}function xXi(i){var t=i.x,e=i.y,r,n,s,a;if(t=t-this.long0,this.shape==="ellipse"){e=Math.atan(this.radius_p2*Math.tan(e));var o=this.radius_p/G3(this.radius_p*Math.cos(e),Math.sin(e));if(n=o*Math.cos(t)*Math.cos(e),s=o*Math.sin(t)*Math.cos(e),a=o*Math.sin(e),(this.radius_g-n)*n-s*s-a*a*this.radius_p_inv2<0)return i.x=Number.NaN,i.y=Number.NaN,i;r=this.radius_g-n,this.flip_axis?(i.x=this.radius_g_1*Math.atan(s/G3(a,r)),i.y=this.radius_g_1*Math.atan(a/r)):(i.x=this.radius_g_1*Math.atan(s/r),i.y=this.radius_g_1*Math.atan(a/G3(s,r)))}else this.shape==="sphere"&&(r=Math.cos(e),n=Math.cos(t)*r,s=Math.sin(t)*r,a=Math.sin(e),r=this.radius_g-n,this.flip_axis?(i.x=this.radius_g_1*Math.atan(s/G3(a,r)),i.y=this.radius_g_1*Math.atan(a/r)):(i.x=this.radius_g_1*Math.atan(s/r),i.y=this.radius_g_1*Math.atan(a/G3(s,r))));return i.x=i.x*this.a,i.y=i.y*this.a,i}function QXi(i){var t=-1,e=0,r=0,n,s,a,o;if(i.x=i.x/this.a,i.y=i.y/this.a,this.shape==="ellipse"){this.flip_axis?(r=Math.tan(i.y/this.radius_g_1),e=Math.tan(i.x/this.radius_g_1)*G3(1,r)):(e=Math.tan(i.x/this.radius_g_1),r=Math.tan(i.y/this.radius_g_1)*G3(1,e));var A=r/this.radius_p;if(n=e*e+A*A+t*t,s=2*this.radius_g*t,a=s*s-4*n*this.C,a<0)return i.x=Number.NaN,i.y=Number.NaN,i;o=(-s-Math.sqrt(a))/(2*n),t=this.radius_g+o*t,e*=o,r*=o,i.x=Math.atan2(e,t),i.y=Math.atan(r*Math.cos(i.x)/t),i.y=Math.atan(this.radius_p_inv2*Math.tan(i.y))}else if(this.shape==="sphere"){if(this.flip_axis?(r=Math.tan(i.y/this.radius_g_1),e=Math.tan(i.x/this.radius_g_1)*Math.sqrt(1+r*r)):(e=Math.tan(i.x/this.radius_g_1),r=Math.tan(i.y/this.radius_g_1)*Math.sqrt(1+e*e)),n=e*e+r*r+t*t,s=2*this.radius_g*t,a=s*s-4*n*this.C,a<0)return i.x=Number.NaN,i.y=Number.NaN,i;o=(-s-Math.sqrt(a))/(2*n),t=this.radius_g+o*t,e*=o,r*=o,i.x=Math.atan2(e,t),i.y=Math.atan(r*Math.cos(i.x)/t)}return i.x=i.x+this.long0,i}var bXi,JNe,KNe=Pt(()=>{VG();bXi=["Geostationary Satellite View","Geostationary_Satellite","geos"],JNe={init:BXi,forward:xXi,inverse:QXi,names:bXi}});function vXi(){this.es=0,this.long0=this.long0!==void 0?this.long0:0,this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0}function wXi(i){var t=zs(i.x-this.long0,this.over),e=i.y,r=Math.asin(J6t*Math.sin(e)),n=r*r,s=n*n*n;return i.x=t*Math.cos(r)/(J6t*(Zrt+3*Xrt*n+s*(7*$rt+9*tnt*n))),i.y=r*(Zrt+Xrt*n+s*($rt+tnt*n)),i.x=this.a*i.x+this.x0,i.y=this.a*i.y+this.y0,i}function SXi(i){i.x=(i.x-this.x0)/this.a,i.y=(i.y-this.y0)/this.a;var t=1e-9,e=12,r=i.y,n,s,a,o,A,l;for(l=0;l<e&&(n=r*r,s=n*n*n,a=r*(Zrt+Xrt*n+s*($rt+tnt*n))-i.y,o=Zrt+3*Xrt*n+s*(7*$rt+9*tnt*n),r-=A=a/o,!(Math.abs(A)<t));++l);return n=r*r,s=n*n*n,i.x=J6t*i.x*(Zrt+3*Xrt*n+s*(7*$rt+9*tnt*n))/Math.cos(r),i.y=Math.asin(Math.sin(r)/J6t),i.x=zs(i.x+this.long0,this.over),i}var Zrt,Xrt,$rt,tnt,J6t,kXi,VNe,WNe=Pt(()=>{Cu();Zrt=1.340264,Xrt=-.081106,$rt=893e-6,tnt=.003796,J6t=Math.sqrt(3)/2;kXi=["eqearth","Equal Earth","Equal_Earth"],VNe={init:vXi,forward:wXi,inverse:SXi,names:kXi}});function MXi(){var i;if(this.phi1=this.lat1,Math.abs(this.phi1)<ent)throw new Error;this.es?(this.en=xz(this.es),this.m1=Qx(this.phi1,this.am1=Math.sin(this.phi1),i=Math.cos(this.phi1),this.en),this.am1=i/(Math.sqrt(1-this.es*this.am1*this.am1)*this.am1),this.inverse=RXi,this.forward=DXi):(Math.abs(this.phi1)+ent>=ys?this.cphi1=0:this.cphi1=1/Math.tan(this.phi1),this.inverse=LXi,this.forward=NXi)}function DXi(i){var t=zs(i.x-(this.long0||0),this.over),e=i.y,r,n,s;return r=this.am1+this.m1-Qx(e,n=Math.sin(e),s=Math.cos(e),this.en),n=s*t/(r*Math.sqrt(1-this.es*n*n)),i.x=r*Math.sin(n),i.y=this.am1-r*Math.cos(n),i.x=this.a*i.x+(this.x0||0),i.y=this.a*i.y+(this.y0||0),i}function RXi(i){i.x=(i.x-(this.x0||0))/this.a,i.y=(i.y-(this.y0||0))/this.a;var t,e,r,n;if(e=G3(i.x,i.y=this.am1-i.y),n=Qz(this.am1+this.m1-e,this.es,this.en),(t=Math.abs(n))<ys)t=Math.sin(n),r=e*Math.atan2(i.x,i.y)*Math.sqrt(1-this.es*t*t)/Math.cos(n);else if(Math.abs(t-ys)<=ent)r=0;else throw new Error;return i.x=zs(r+(this.long0||0),this.over),i.y=rI(n),i}function NXi(i){var t=zs(i.x-(this.long0||0),this.over),e=i.y,r,n;return n=this.cphi1+this.phi1-e,Math.abs(n)>ent?(i.x=n*Math.sin(r=t*Math.cos(e)/n),i.y=this.cphi1-n*Math.cos(r)):i.x=i.y=0,i.x=this.a*i.x+(this.x0||0),i.y=this.a*i.y+(this.y0||0),i}function LXi(i){i.x=(i.x-(this.x0||0))/this.a,i.y=(i.y-(this.y0||0))/this.a;var t,e,r=G3(i.x,i.y=this.cphi1-i.y);if(e=this.cphi1+this.phi1-r,Math.abs(e)>ys)throw new Error;return Math.abs(Math.abs(e)-ys)<=ent?t=0:t=r*Math.atan2(i.x,i.y)/Math.cos(e),i.x=zs(t+(this.long0||0),this.over),i.y=rI(e),i}var ent,GXi,ZNe,XNe=Pt(()=>{WG();Cu();VG();G6t();F6t();jrt();dc();ent=1e-10;GXi=["bonne","Bonne (Werner lat_1=90)"],ZNe={init:MXi,names:GXi}});function FXi(){if(this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.title=this.title||"General Oblique Transformation",this.isIdentity=ZOt.includes(this.o_proj),!this.o_proj)throw new Error("Missing parameter: o_proj");if(this.o_proj==="ob_tran")throw new Error("Invalid value for o_proj: "+this.o_proj);let i=this.projStr.replace("+proj=ob_tran","").replace("+o_proj=","+proj=").trim(),t=nB(i);if(!t)throw new Error("Invalid parameter: o_proj. Unknown projection "+this.o_proj);t.long0=0,this.obliqueProjection=t;let e,r=Object.keys(K6t),n=o=>{if(typeof this[o]>"u")return;let A=parseFloat(this[o])*Gu;if(isNaN(A))throw new Error("Invalid value for "+o+": "+this[o]);return A};for(let o=0;o<r.length;o++){let A=r[o],l=K6t[A],c=Object.entries(l);if(c.some(([d])=>typeof this[d]<"u")){e=l;for(let d=0;d<c.length;d++){let[_,I]=c[d],y=n(_);if(typeof y>"u")throw new Error("Missing parameter: "+_+".");this[I]=y}break}}if(!e)throw new Error("No valid parameters provided for ob_tran projection.");let{lamp:s,phip:a}=PXi(this,e);this.lamp=s,Math.abs(a)>js?(this.cphip=Math.cos(a),this.sphip=Math.sin(a),this.projectionType=$Ne.OBLIQUE):this.projectionType=$Ne.TRANSVERSE}function TXi(i){return this.projectionType.forward(this,i)}function UXi(i){return this.projectionType.inverse(this,i)}function PXi(i,t){let e,r;if(t===K6t.ROTATE){let n=i.oLongC,s=i.oLatC,a=i.oAlpha;if(Math.abs(Math.abs(s)-ys)<=js)throw new Error("Invalid value for o_lat_c: "+i.o_lat_c+" should be < 90\xB0");r=n+Math.atan2(-1*Math.cos(a),-1*Math.sin(a)*Math.sin(s)),e=Math.asin(Math.cos(s)*Math.sin(a))}else if(t===K6t.NEW_POLE)r=i.oLongP,e=i.oLatP;else{let n=i.oLong1,s=i.oLat1,a=i.oLong2,o=i.oLat2,A=Math.abs(s);if(Math.abs(s)>ys-js)throw new Error("Invalid value for o_lat_1: "+i.o_lat_1+" should be < 90\xB0");if(Math.abs(o)>ys-js)throw new Error("Invalid value for o_lat_2: "+i.o_lat_2+" should be < 90\xB0");if(Math.abs(s-o)<js)throw new Error("Invalid value for o_lat_1 and o_lat_2: o_lat_1 should be different from o_lat_2");if(A<js)throw new Error("Invalid value for o_lat_1: o_lat_1 should be different from zero");r=Math.atan2(Math.cos(s)*Math.sin(o)*Math.cos(n)-Math.sin(s)*Math.cos(o)*Math.cos(a),Math.sin(s)*Math.cos(o)*Math.sin(a)-Math.cos(s)*Math.sin(o)*Math.sin(n)),e=Math.atan(-1*Math.cos(r-n)/Math.tan(s))}return{lamp:r,phip:e}}function OXi(i,t){let{x:e,y:r}=t;e+=i.long0;let n=Math.cos(e),s=Math.sin(r),a=Math.cos(r);t.x=zs(Math.atan2(a*Math.sin(e),i.sphip*a*n+i.cphip*s)+i.lamp),t.y=Math.asin(i.sphip*s-i.cphip*a*n);let o=i.obliqueProjection.forward(t);return i.isIdentity&&(o.x*=f1,o.y*=f1),o}function jXi(i,t){let{x:e,y:r}=t;e+=i.long0;let n=Math.cos(r),s=Math.cos(e);t.x=zs(Math.atan2(n*Math.sin(e),Math.sin(r))+i.lamp),t.y=Math.asin(-1*n*s);let a=i.obliqueProjection.forward(t);return i.isIdentity&&(a.x*=f1,a.y*=f1),a}function HXi(i,t){i.isIdentity&&(t.x*=Gu,t.y*=Gu);let e=i.obliqueProjection.inverse(t),{x:r,y:n}=e;if(r<Number.MAX_VALUE){r-=i.lamp;let s=Math.cos(r),a=Math.sin(n),o=Math.cos(n);t.x=Math.atan2(o*Math.sin(r),i.sphip*o*s-i.cphip*a),t.y=Math.asin(i.sphip*a+i.cphip*o*s)}return t.x=zs(t.x+i.long0),t}function zXi(i,t){i.isIdentity&&(t.x*=Gu,t.y*=Gu);let e=i.obliqueProjection.inverse(t),{x:r,y:n}=e;if(r<Number.MAX_VALUE){let s=Math.cos(n);r-=i.lamp,t.x=Math.atan2(s*Math.sin(r),-1*Math.sin(n)),t.y=Math.asin(s*Math.cos(r))}return t.x=zs(t.x+i.long0),t}var $Ne,K6t,YXi,tLe,eLe=Pt(()=>{Cu();dc();Urt();XOt();$Ne={OBLIQUE:{forward:OXi,inverse:HXi},TRANSVERSE:{forward:jXi,inverse:zXi}},K6t={ROTATE:{o_alpha:"oAlpha",o_lon_c:"oLongC",o_lat_c:"oLatC"},NEW_POLE:{o_lat_p:"oLatP",o_lon_p:"oLongP"},NEW_EQUATOR:{o_lon_1:"oLong1",o_lat_1:"oLat1",o_lon_2:"oLong2",o_lat_2:"oLat2"}};YXi=["General Oblique Transformation","General_Oblique_Transformation","ob_tran"],tLe={init:FXi,forward:TXi,inverse:UXi,names:YXi}});function iLe(i){i.Proj.projections.add(bz),i.Proj.projections.add(vz),i.Proj.projections.add(TRe),i.Proj.projections.add(jRe),i.Proj.projections.add(zRe),i.Proj.projections.add(qRe),i.Proj.projections.add(KRe),i.Proj.projections.add(WRe),i.Proj.projections.add(XRe),i.Proj.projections.add(tNe),i.Proj.projections.add(iNe),i.Proj.projections.add(nNe),i.Proj.projections.add(aNe),i.Proj.projections.add(cNe),i.Proj.projections.add(uNe),i.Proj.projections.add(dNe),i.Proj.projections.add(fNe),i.Proj.projections.add(INe),i.Proj.projections.add(CNe),i.Proj.projections.add(BNe),i.Proj.projections.add(QNe),i.Proj.projections.add(vNe),i.Proj.projections.add(DNe),i.Proj.projections.add(NNe),i.Proj.projections.add(GNe),i.Proj.projections.add(ONe),i.Proj.projections.add(HNe),i.Proj.projections.add(YNe),i.Proj.projections.add(JNe),i.Proj.projections.add(VNe),i.Proj.projections.add(ZNe),i.Proj.projections.add(tLe)}var rLe=Pt(()=>{_jt();Ijt();URe();HRe();YRe();JRe();VRe();ZRe();$Re();eNe();rNe();sNe();oNe();hNe();gNe();_Ne();mNe();yNe();ENe();xNe();bNe();wNe();RNe();LNe();FNe();jNe();zNe();qNe();KNe();WNe();XNe();eLe()});var nLe,F3,pM=Pt(()=>{gRe();Urt();ERe();Ajt();VOt();sjt();ljt();djt();rLe();nLe=Object.assign(uRe,{defaultDatum:"WGS84",Proj:nB,WGS84:new nB("WGS84"),Point:CRe,toPoint:N6t,defs:mz,nadgrid:njt,transform:KG,mgrs:mRe,version:"__VERSION__"});iLe(nLe);F3=nLe});var qXi,sLe,aLe=Pt(()=>{qXi={MERIT:{a:6378137},SGS85:{a:6378136},GRS80:{a:6378137},IAU76:{a:6378140},airy:{a:6377563396e-3,b:635625691e-2},APL4:{a:6378137},NWL9D:{a:6378145},mod_airy:{a:6377340189e-3,b:6356034446e-3},andrae:{a:637710443e-2},aust_SA:{a:6378160},GRS67:{a:6378160},bessel:{a:6377397155e-3},bess_nam:{a:6377483865e-3},clrk66:{a:63782064e-1,b:63565838e-1},clrk80:{a:6378249145e-3},clrk80ign:{a:63782492e-1,b:6356515},clrk58:{a:6378293645208759e-9},CPM:{a:63757387e-1},delmbr:{a:6376428},engelis:{a:637813605e-2},evrst30:{a:6377276345e-3},evrst48:{a:6377304063e-3},evrst56:{a:6377301243e-3},evrst69:{a:6377295664e-3},evrstSS:{a:6377298556e-3},fschr60:{a:6378166},fschr60m:{a:6378155},fschr68:{a:6378150},helmert:{a:6378200},hough:{a:6378270},intl:{a:6378388},kaula:{a:6378163},lerch:{a:6378139},mprts:{a:6397300},new_intl:{a:63781575e-1,b:63567722e-1},plessis:{a:6376523},krass:{a:6378245},SEasia:{a:6378155,b:63567733205e-4},walbeck:{a:6376896,b:63558348467e-4},WGS60:{a:6378165},WGS66:{a:6378145},WGS7:{a:6378135},WGS84:{a:6378137},sphere:{a:6370997,b:6370997}},sLe=qXi});function bjt(i){if(JXi(i))throw new Error("Cannot invert degenerate transform");let t=1/oLe(i),[e,r,n,s,a,o]=i,A=a*t,l=-r*t,c=-s*t,p=e*t;return[A,l,-n*A-o*l,c,p,-n*c-o*p]}function JXi(i){return oLe(i)===0}function oLe(i){let[t,e,r,n,s,a]=i;return t*s-e*n}function V6t(i,t,e){let[r,n,s,a,o,A]=e;return[r*i+n*t+s,a*i+o*t+A]}var ALe=Pt(()=>{});var lLe=Pt(()=>{ALe()});async function W6t(i,t,e=KXi){let r=await i.getImage(),n=vjt(r),s=F3(t,e),{forwardTransform:a,inverseTransform:o}=int(n);return{forwardTransform:a,inverseTransform:o,forwardReproject:(A,l)=>s.forward([A,l],!1),inverseReproject:(A,l)=>s.inverse([A,l],!1)}}function int(i){let t=bjt(i);return{forwardTransform:(e,r)=>V6t(e,r,i),inverseTransform:(e,r)=>V6t(e,r,t)}}function vjt(i){let t=i.getOrigin(),e=i.getResolution(),n=i.getFileDirectory().ModelTransformation,s=0,a=0;return n&&n.length>=16&&(s=n[1],a=n[4]),[e[0],s,t[0],a,e[1],t[1]]}var KXi,rnt=Pt(()=>{lLe();pM();KXi={$schema:"https://proj.org/schemas/v0.7/projjson.schema.json",type:"GeographicCRS",name:"WGS 84 (CRS84)",datum_ensemble:{name:"World Geodetic System 1984 ensemble",members:[{name:"World Geodetic System 1984 (Transit)",id:{authority:"EPSG",code:1166}},{name:"World Geodetic System 1984 (G730)",id:{authority:"EPSG",code:1152}},{name:"World Geodetic System 1984 (G873)",id:{authority:"EPSG",code:1153}},{name:"World Geodetic System 1984 (G1150)",id:{authority:"EPSG",code:1154}},{name:"World Geodetic System 1984 (G1674)",id:{authority:"EPSG",code:1155}},{name:"World Geodetic System 1984 (G1762)",id:{authority:"EPSG",code:1156}},{name:"World Geodetic System 1984 (G2139)",id:{authority:"EPSG",code:1309}}],ellipsoid:{name:"WGS 84",semi_major_axis:6378137,inverse_flattening:298.257223563},accuracy:"2.0",id:{authority:"EPSG",code:6326}},coordinate_system:{subtype:"ellipsoidal",axis:[{name:"Geodetic longitude",abbreviation:"Lon",direction:"east",unit:"degree"},{name:"Geodetic latitude",abbreviation:"Lat",direction:"north",unit:"degree"}]},scope:"Not known.",area:"World.",bbox:{south_latitude:-90,west_longitude:-180,north_latitude:90,east_longitude:180},id:{authority:"OGC",code:"CRS84"}}});async function Z6t(i,t){let e=await i.getImage();if(!e.isTiled)throw new Error("COG TileMatrixSet requires a tiled GeoTIFF");let r=await i.getImageCount(),n=e.getBoundingBox(),s=e.getWidth(),a=e.getHeight(),o=await t(e.getGeoKeys());if(o===null)throw new Error("Could not determine coordinate reference system from GeoTIFF geo keys");let A=F3(o.def,"EPSG:4326").forward,l=F3(o.def,"EPSG:3857").forward,c={lowerLeft:[n[0],n[1]],upperRight:[n[2],n[3]]},p=vjt(e);if(p[1]!==0||p[3]!==0)throw new Error("COG TileMatrixSet with rotation/skewed geotransform is not supported");let d=Math.abs(p[0]),_=e.getTileWidth(),I=e.getTileHeight(),y=[{id:String(r-1),scaleDenominator:d*wjt(o.parsed,o.coordinatesUnits)/cLe,cellSize:d,pointOfOrigin:[p[2],p[5]],tileWidth:e.getTileWidth(),tileHeight:e.getTileHeight(),matrixWidth:Math.ceil(s/_),matrixHeight:Math.ceil(a/I),geotransform:p}];for(let B=1;B<r;B++){let x=await i.getImage(B);if(!x.isTiled)throw new Error("COG TileMatrixSet requires a tiled GeoTIFF");let w=VXi({id:String(r-1-B),image:x,fullWidth:s,fullHeight:a,baseTransform:p,crs:o});y.push(w)}return y.reverse(),{crs:o,boundingBox:c,wgsBounds:WXi(c,A),tileMatrices:y,projectToWgs84:A,projectTo3857:l}}function wjt(i,t){let e=(t||i.units)?.toLowerCase();switch(e){case"m":case"metre":case"meter":case"meters":return 1;case"foot":return .3048;case"us survey foot":return 1200/3937}if(e==="degree"){let{a:r}=sLe[i.ellps];return 2*Math.PI*r/360}throw new Error(`Unsupported CRS units: ${e}`)}function VXi({id:i,image:t,fullWidth:e,baseTransform:r,crs:n}){let s=t.getWidth(),a=t.getHeight(),A=e/s,l=[r[0]*A,r[1]*A,r[2],r[3]*A,r[4]*A,r[5]],c=Math.abs(l[0]),p=t.getTileWidth(),d=t.getTileHeight();return{id:i,scaleDenominator:c*wjt(n.parsed,n.coordinatesUnits)/cLe,cellSize:c,pointOfOrigin:[l[2],l[5]],tileWidth:p,tileHeight:d,matrixWidth:Math.ceil(s/p),matrixHeight:Math.ceil(a/d),geotransform:l}}function WXi(i,t){let e=t(i.lowerLeft),r=t([i.upperRight[0],i.lowerLeft[1]]),n=t(i.upperRight),s=t([i.lowerLeft[0],i.upperRight[1]]),a=Math.min(e[0],r[0],n[0],s[0]),o=Math.max(e[0],r[0],n[0],s[0]),A=Math.min(e[1],r[1],n[1],s[1]),l=Math.max(e[1],r[1],n[1],s[1]);return{lowerLeft:[a,A],upperRight:[o,l]}}var cLe,hLe,X6t=Pt(()=>{pM();aLe();rnt();cLe=28e-5;hLe={metersPerUnit:wjt}});var uLe,gLe=Pt(()=>{uLe="Cannot convert undefined or null to object"});function eg(i){return(t,...e)=>ZXi(i,t,e)}function Mz(i,t){return eg($6t(i,t).get)}var ZXi,HQs,zQs,YQs,$6t,tft,qQs,dLe,JQs,KQs,_Le,VQs,XXi,$Xi,Dz,WQs,t$i,ZQs,eft,ift,fLe,XQs,$Qs,Sjt,tbs,e$i,mLe,ebs,rft,ibs,rbs,nbs,kjt,ILe,i$i,sbs,nft,abs,yLe,obs,Abs,pLe,lbs,CLe,cbs,Cf,hbs,ubs,gbs,pbs,dbs,_bs,fbs,mbs,Ibs,ybs,Cbs,Ebs,Bbs,xbs,Qbs,ELe,Mjt,sft,BLe,Rz,Djt,xLe,QLe,bLe,vLe,r$i,n$i,s$i,wLe,bbs,vbs,aft,Rjt,Njt,wbs,SLe,oft=Pt(()=>{gLe();({apply:ZXi,construct:HQs,defineProperty:zQs,get:YQs,getOwnPropertyDescriptor:$6t,getPrototypeOf:tft,has:qQs,ownKeys:dLe,set:JQs,setPrototypeOf:KQs}=Reflect),{EPSILON:_Le,MAX_SAFE_INTEGER:VQs,isFinite:XXi,isNaN:$Xi}=Number,{iterator:Dz,species:WQs,toStringTag:t$i,for:ZQs}=Symbol,eft=Object,{create:ift,defineProperty:fLe,freeze:XQs,is:$Qs}=eft,Sjt=eft.prototype,tbs=Sjt.__lookupGetter__?eg(Sjt.__lookupGetter__):(i,t)=>{if(i==null)throw n$i(uLe);let e=eft(i);do{let r=$6t(e,t);if(r!==void 0)return e$i(r,"get")?r.get:void 0}while((e=tft(e))!==null)},e$i=eft.hasOwn||eg(Sjt.hasOwnProperty),mLe=Array,ebs=mLe.isArray,rft=mLe.prototype,ibs=eg(rft.join),rbs=eg(rft.push),nbs=eg(rft.toLocaleString),kjt=rft[Dz],ILe=eg(kjt),{abs:i$i,trunc:sbs}=Math,nft=ArrayBuffer,abs=nft.isView,yLe=nft.prototype,obs=eg(yLe.slice),Abs=Mz(yLe,"byteLength"),pLe=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:null,lbs=pLe&&Mz(pLe.prototype,"byteLength"),CLe=tft(Uint8Array),cbs=CLe.from,Cf=CLe.prototype,hbs=Cf[Dz],ubs=eg(Cf.keys),gbs=eg(Cf.values),pbs=eg(Cf.entries),dbs=eg(Cf.set),_bs=eg(Cf.reverse),fbs=eg(Cf.fill),mbs=eg(Cf.copyWithin),Ibs=eg(Cf.sort),ybs=eg(Cf.slice),Cbs=eg(Cf.subarray),Ebs=Mz(Cf,"buffer"),Bbs=Mz(Cf,"byteOffset"),xbs=Mz(Cf,"length"),Qbs=Mz(Cf,t$i),ELe=Uint8Array,Mjt=Uint16Array,sft=Uint32Array,BLe=Float32Array,Rz=tft([][Dz]()),Djt=eg(Rz.next),xLe=eg((function*(){})().next),QLe=tft(Rz),bLe=DataView.prototype,vLe=eg(bLe.getUint16),r$i=eg(bLe.setUint16),n$i=TypeError,s$i=WeakSet,wLe=s$i.prototype,bbs=eg(wLe.add),vbs=eg(wLe.has),aft=WeakMap,Rjt=aft.prototype,Njt=eg(Rjt.get),wbs=eg(Rjt.has),SLe=eg(Rjt.set)});function MLe(i){if(i[Dz]===kjt&&Rz.next===Djt)return i;let t=ift(a$i);return SLe(kLe,t,ILe(i)),t}var kLe,a$i,o$i,A$i,DLe=Pt(()=>{oft();kLe=new aft,a$i=ift(null,{next:{value:function(){let t=Njt(kLe,this);return Djt(t)}},[Dz]:{value:function(){return this}}});o$i=new aft,A$i=ift(QLe,{next:{value:function(){let t=Njt(o$i,this);return xLe(t)},writable:!0,configurable:!0}});for(let i of dLe(Rz))i!=="next"&&fLe(A$i,i,$6t(Rz,i))});function GLe(i){let t=i>>10;return u$i[0]=Ljt[LLe[t]+(i&1023)]+Nz[t],h$i[0]}var l$i,c$i,RLe,Rbs,Nbs,NLe,h$i,u$i,bx,vx,Ljt,Nz,LLe,FLe=Pt(()=>{oft();l$i=1/_Le,c$i=6103515625e-14,RLe=.0009765625,Rbs=RLe*c$i,Nbs=RLe*l$i,NLe=new nft(4),h$i=new BLe(NLe),u$i=new sft(NLe),bx=new Mjt(512),vx=new ELe(512);for(let i=0;i<256;++i){let t=i-127;t<-24?(bx[i]=0,bx[i|256]=32768,vx[i]=24,vx[i|256]=24):t<-14?(bx[i]=1024>>-t-14,bx[i|256]=1024>>-t-14|32768,vx[i]=-t-1,vx[i|256]=-t-1):t<=15?(bx[i]=t+15<<10,bx[i|256]=t+15<<10|32768,vx[i]=13,vx[i|256]=13):t<128?(bx[i]=31744,bx[i|256]=64512,vx[i]=24,vx[i|256]=24):(bx[i]=31744,bx[i|256]=64512,vx[i]=13,vx[i|256]=13)}Ljt=new sft(2048);for(let i=1;i<1024;++i){let t=i<<13,e=0;for(;(t&8388608)===0;)t<<=1,e-=8388608;t&=-8388609,e+=947912704,Ljt[i]=t|e}for(let i=1024;i<2048;++i)Ljt[i]=939524096+(i-1024<<13);Nz=new sft(64);for(let i=1;i<31;++i)Nz[i]=i<<23;Nz[31]=1199570944;Nz[32]=2147483648;for(let i=33;i<63;++i)Nz[i]=2147483648+(i-32<<23);Nz[63]=3347054592;LLe=new Mjt(64);for(let i=1;i<64;++i)i!==32&&(LLe[i]=1024)});function nnt(i,t,...e){return GLe(vLe(i,t,...MLe(e)))}var TLe=Pt(()=>{DLe();FLe();oft()});var Gjt=Pt(()=>{TLe()});var PLe=un((zbs,Fjt)=>{function ULe(i,t,e){let r=e&&e.debug||!1;r&&console.log("[xml-utils] getting "+t+" in "+i);let n=typeof i=="object"?i.outer:i,s=n.slice(0,n.indexOf(">")+1),a=['"',"'"];for(let o=0;o<a.length;o++){let A=a[o],l=t+"\\="+A+"([^"+A+"]*)"+A;r&&console.log("[xml-utils] pattern:",l);let p=new RegExp(l).exec(s);if(r&&console.log("[xml-utils] match:",p),p)return p[1]}}Fjt.exports=ULe;Fjt.exports.default=ULe});var jLe=un((Ybs,Tjt)=>{function OLe(i,t,e){let n=new RegExp(t).exec(i.slice(e));return n?e+n.index:-1}Tjt.exports=OLe;Tjt.exports.default=OLe});var zLe=un((qbs,Ujt)=>{function HLe(i,t,e){let n=new RegExp(t).exec(i.slice(e));return n?e+n.index+n[0].length-1:-1}Ujt.exports=HLe;Ujt.exports.default=HLe});var qLe=un((Jbs,Pjt)=>{function YLe(i,t){let e=new RegExp(t,"g"),r=i.match(e);return r?r.length:0}Pjt.exports=YLe;Pjt.exports.default=YLe});var VLe=un((Kbs,jjt)=>{var g$i=jLe(),Ojt=zLe(),JLe=qLe();function KLe(i,t,e){let r=e&&e.debug||!1,n=!(e&&typeof e.nested===!1),s=e&&e.startIndex||0;r&&console.log("[xml-utils] starting findTagByName with",t," and ",e);let a=g$i(i,`<${t}[
|
|
4567
4567
|
>/]`,s);if(r&&console.log("[xml-utils] start:",a),a===-1)return;let o=i.slice(a+t.length),A=Ojt(o,"^[^<]*[ /]>",0),l=A!==-1&&o[A-1]==="/";if(r&&console.log("[xml-utils] selfClosing:",l),l===!1)if(n){let _=0,I=1,y=0;for(;(A=Ojt(o,"[ /]"+t+">",_))!==-1;){let B=o.substring(_,A+1);if(I+=JLe(B,"<"+t+`[
|
|
4568
4568
|
>]`),y+=JLe(B,"</"+t+">"),y>=I)break;_=A}}else A=Ojt(o,"[ /]"+t+">",0);let c=a+t.length+A+1;if(r&&console.log("[xml-utils] end:",c),c===-1)return;let p=i.slice(a,c),d;return l?d=null:d=p.slice(p.indexOf(">")+1,p.lastIndexOf("<")),{inner:d,outer:p,start:a,end:c}}jjt.exports=KLe;jjt.exports.default=KLe});var ZLe=un((Vbs,Hjt)=>{var p$i=VLe();function WLe(i,t,e){let r=[],n=e&&e.debug||!1,s=e&&typeof e.nested=="boolean"?e.nested:!0,a=e&&e.startIndex||0,o;for(;o=p$i(i,t,{debug:n,startIndex:a});)s?a=o.start+1+t.length:a=o.end,r.push(o);return n&&console.log("findTagsByName found",r.length,"tags"),r}Hjt.exports=WLe;Hjt.exports.default=WLe});var Lz,wx,XLe,zjt,Cl,sI,$Le,tGe,Aft,snt,d$i,lft=Pt(()=>{Lz={315:"Artist",258:"BitsPerSample",265:"CellLength",264:"CellWidth",320:"ColorMap",259:"Compression",33432:"Copyright",306:"DateTime",338:"ExtraSamples",266:"FillOrder",289:"FreeByteCounts",288:"FreeOffsets",291:"GrayResponseCurve",290:"GrayResponseUnit",316:"HostComputer",270:"ImageDescription",257:"ImageLength",256:"ImageWidth",271:"Make",281:"MaxSampleValue",280:"MinSampleValue",272:"Model",254:"NewSubfileType",274:"Orientation",262:"PhotometricInterpretation",284:"PlanarConfiguration",296:"ResolutionUnit",278:"RowsPerStrip",277:"SamplesPerPixel",305:"Software",279:"StripByteCounts",273:"StripOffsets",255:"SubfileType",263:"Threshholding",282:"XResolution",283:"YResolution",326:"BadFaxLines",327:"CleanFaxData",343:"ClipPath",328:"ConsecutiveBadFaxLines",433:"Decode",434:"DefaultImageColor",269:"DocumentName",336:"DotRange",321:"HalftoneHints",346:"Indexed",347:"JPEGTables",285:"PageName",297:"PageNumber",317:"Predictor",319:"PrimaryChromaticities",532:"ReferenceBlackWhite",339:"SampleFormat",340:"SMinSampleValue",341:"SMaxSampleValue",559:"StripRowCounts",330:"SubIFDs",292:"T4Options",293:"T6Options",325:"TileByteCounts",323:"TileLength",324:"TileOffsets",322:"TileWidth",301:"TransferFunction",318:"WhitePoint",344:"XClipPathUnits",286:"XPosition",529:"YCbCrCoefficients",531:"YCbCrPositioning",530:"YCbCrSubSampling",345:"YClipPathUnits",287:"YPosition",37378:"ApertureValue",40961:"ColorSpace",36868:"DateTimeDigitized",36867:"DateTimeOriginal",34665:"Exif IFD",36864:"ExifVersion",33434:"ExposureTime",41728:"FileSource",37385:"Flash",40960:"FlashpixVersion",33437:"FNumber",42016:"ImageUniqueID",37384:"LightSource",37500:"MakerNote",37377:"ShutterSpeedValue",37510:"UserComment",33723:"IPTC",34675:"ICC Profile",700:"XMP",42112:"GDAL_METADATA",42113:"GDAL_NODATA",34377:"Photoshop",33550:"ModelPixelScale",33922:"ModelTiepoint",34264:"ModelTransformation",34735:"GeoKeyDirectory",34736:"GeoDoubleParams",34737:"GeoAsciiParams",50674:"LercParameters"},wx={};for(let i in Lz)Lz.hasOwnProperty(i)&&(wx[Lz[i]]=parseInt(i,10));XLe=[wx.BitsPerSample,wx.ExtraSamples,wx.SampleFormat,wx.StripByteCounts,wx.StripOffsets,wx.StripRowCounts,wx.TileByteCounts,wx.TileOffsets,wx.SubIFDs],zjt={1:"BYTE",2:"ASCII",3:"SHORT",4:"LONG",5:"RATIONAL",6:"SBYTE",7:"UNDEFINED",8:"SSHORT",9:"SLONG",10:"SRATIONAL",11:"FLOAT",12:"DOUBLE",13:"IFD",16:"LONG8",17:"SLONG8",18:"IFD8"},Cl={};for(let i in zjt)zjt.hasOwnProperty(i)&&(Cl[zjt[i]]=parseInt(i,10));sI={WhiteIsZero:0,BlackIsZero:1,RGB:2,Palette:3,TransparencyMask:4,CMYK:5,YCbCr:6,CIELab:8,ICCLab:9},$Le={Unspecified:0,Assocalpha:1,Unassalpha:2},tGe={Version:0,AddCompression:1},Aft={None:0,Deflate:1,Zstandard:2},snt={1024:"GTModelTypeGeoKey",1025:"GTRasterTypeGeoKey",1026:"GTCitationGeoKey",2048:"GeographicTypeGeoKey",2049:"GeogCitationGeoKey",2050:"GeogGeodeticDatumGeoKey",2051:"GeogPrimeMeridianGeoKey",2052:"GeogLinearUnitsGeoKey",2053:"GeogLinearUnitSizeGeoKey",2054:"GeogAngularUnitsGeoKey",2055:"GeogAngularUnitSizeGeoKey",2056:"GeogEllipsoidGeoKey",2057:"GeogSemiMajorAxisGeoKey",2058:"GeogSemiMinorAxisGeoKey",2059:"GeogInvFlatteningGeoKey",2060:"GeogAzimuthUnitsGeoKey",2061:"GeogPrimeMeridianLongGeoKey",2062:"GeogTOWGS84GeoKey",3072:"ProjectedCSTypeGeoKey",3073:"PCSCitationGeoKey",3074:"ProjectionGeoKey",3075:"ProjCoordTransGeoKey",3076:"ProjLinearUnitsGeoKey",3077:"ProjLinearUnitSizeGeoKey",3078:"ProjStdParallel1GeoKey",3079:"ProjStdParallel2GeoKey",3080:"ProjNatOriginLongGeoKey",3081:"ProjNatOriginLatGeoKey",3082:"ProjFalseEastingGeoKey",3083:"ProjFalseNorthingGeoKey",3084:"ProjFalseOriginLongGeoKey",3085:"ProjFalseOriginLatGeoKey",3086:"ProjFalseOriginEastingGeoKey",3087:"ProjFalseOriginNorthingGeoKey",3088:"ProjCenterLongGeoKey",3089:"ProjCenterLatGeoKey",3090:"ProjCenterEastingGeoKey",3091:"ProjCenterNorthingGeoKey",3092:"ProjScaleAtNatOriginGeoKey",3093:"ProjScaleAtCenterGeoKey",3094:"ProjAzimuthAngleGeoKey",3095:"ProjStraightVertPoleLongGeoKey",3096:"ProjRectifiedGridAngleGeoKey",4096:"VerticalCSTypeGeoKey",4097:"VerticalCitationGeoKey",4098:"VerticalDatumGeoKey",4099:"VerticalUnitsGeoKey"},d$i={};for(let i in snt)snt.hasOwnProperty(i)&&(d$i[snt[i]]=parseInt(i,10))});function eGe(i,t){let{width:e,height:r}=i,n=new Uint8Array(e*r*3),s;for(let a=0,o=0;a<i.length;++a,o+=3)s=256-i[a]/t*256,n[o]=s,n[o+1]=s,n[o+2]=s;return n}function iGe(i,t){let{width:e,height:r}=i,n=new Uint8Array(e*r*3),s;for(let a=0,o=0;a<i.length;++a,o+=3)s=i[a]/t*256,n[o]=s,n[o+1]=s,n[o+2]=s;return n}function rGe(i,t){let{width:e,height:r}=i,n=new Uint8Array(e*r*3),s=t.length/3,a=t.length/3*2;for(let o=0,A=0;o<i.length;++o,A+=3){let l=i[o];n[A]=t[l]/65536*256,n[A+1]=t[l+s]/65536*256,n[A+2]=t[l+a]/65536*256}return n}function nGe(i){let{width:t,height:e}=i,r=new Uint8Array(t*e*3);for(let n=0,s=0;n<i.length;n+=4,s+=3){let a=i[n],o=i[n+1],A=i[n+2],l=i[n+3];r[s]=255*((255-a)/256)*((255-l)/256),r[s+1]=255*((255-o)/256)*((255-l)/256),r[s+2]=255*((255-A)/256)*((255-l)/256)}return r}function sGe(i){let{width:t,height:e}=i,r=new Uint8ClampedArray(t*e*3);for(let n=0,s=0;n<i.length;n+=3,s+=3){let a=i[n],o=i[n+1],A=i[n+2];r[s]=a+1.402*(A-128),r[s+1]=a-.34414*(o-128)-.71414*(A-128),r[s+2]=a+1.772*(o-128)}return r}function aGe(i){let{width:t,height:e}=i,r=new Uint8Array(t*e*3);for(let n=0,s=0;n<i.length;n+=3,s+=3){let a=i[n+0],o=i[n+1]<<24>>24,A=i[n+2]<<24>>24,l=(a+16)/116,c=o/500+l,p=l-A/200,d,_,I;c=_$i*(c*c*c>.008856?c*c*c:(c-16/116)/7.787),l=f$i*(l*l*l>.008856?l*l*l:(l-16/116)/7.787),p=m$i*(p*p*p>.008856?p*p*p:(p-16/116)/7.787),d=c*3.2406+l*-1.5372+p*-.4986,_=c*-.9689+l*1.8758+p*.0415,I=c*.0557+l*-.204+p*1.057,d=d>.0031308?1.055*d**(1/2.4)-.055:12.92*d,_=_>.0031308?1.055*_**(1/2.4)-.055:12.92*_,I=I>.0031308?1.055*I**(1/2.4)-.055:12.92*I,r[s]=Math.max(0,Math.min(1,d))*255,r[s+1]=Math.max(0,Math.min(1,_))*255,r[s+2]=Math.max(0,Math.min(1,I))*255}return r}var _$i,f$i,m$i,oGe=Pt(()=>{_$i=.95047,f$i=1,m$i=1.08883});function I$i(i,t){let e=i.length-t,r=0;do{for(let n=t;n>0;n--)i[r+t]+=i[r],r++;e-=t}while(e>0)}function y$i(i,t,e){let r=0,n=i.length,s=n/e;for(;n>t;){for(let o=t;o>0;--o)i[r+t]+=i[r],++r;n-=t}let a=i.slice();for(let o=0;o<s;++o)for(let A=0;A<e;++A)i[e*o+A]=a[(e-A-1)*s+o]}function AGe(i,t,e,r,n,s){if(!t||t===1)return i;for(let A=0;A<n.length;++A){if(n[A]%8!==0)throw new Error("When decoding with predictor, only multiple of 8 bits are supported.");if(n[A]!==n[0])throw new Error("When decoding with predictor, all samples must have the same size.")}let a=n[0]/8,o=s===2?1:n.length;for(let A=0;A<r&&!(A*o*e*a>=i.byteLength);++A){let l;if(t===2){switch(n[0]){case 8:l=new Uint8Array(i,A*o*e*a,o*e*a);break;case 16:l=new Uint16Array(i,A*o*e*a,o*e*a/2);break;case 32:l=new Uint32Array(i,A*o*e*a,o*e*a/4);break;default:throw new Error(`Predictor 2 not allowed with ${n[0]} bits per sample.`)}I$i(l,o,a)}else t===3&&(l=new Uint8Array(i,A*o*e*a,o*e*a),y$i(l,o,a))}return i}var lGe=Pt(()=>{});var __,dM=Pt(()=>{lGe();__=class{async decode(t,e){let r=await this.decodeBlock(e),n=t.Predictor||1;if(n!==1){let s=!t.StripOffsets,a=s?t.TileWidth:t.ImageWidth,o=s?t.TileLength:t.RowsPerStrip||t.ImageLength;return AGe(r,n,a,o,t.BitsPerSample,t.PlanarConfiguration)}return r}}});var cGe={};g0(cGe,{default:()=>cft});var cft,hGe=Pt(()=>{dM();cft=class extends __{decodeBlock(t){return t}}});var gGe={};g0(gGe,{default:()=>hft});function E$i(i,t,e){let r=t%8,n=Math.floor(t/8),s=8-r,a=t+e-(n+1)*8,o=8*(n+2)-(t+e),A=(n+2)*8-t;if(o=Math.max(0,o),n>=i.length)return console.warn("ran off the end of the buffer before finding EOI_CODE (end on input code)"),Jjt;let l=i[n]&2**(8-r)-1;l<<=e-s;let c=l;if(n+1<i.length){let p=i[n+1]>>>o;p<<=Math.max(0,e-A),c+=p}if(a>8&&n+2<i.length){let p=(n+3)*8-(t+e),d=i[n+2]>>>p;c+=d}return c}function qjt(i,t){for(let e=t.length-1;e>=0;e--)i.push(t[e]);return i}function B$i(i){let t=new Uint16Array(4093),e=new Uint8Array(4093);for(let I=0;I<=257;I++)t[I]=4096,e[I]=I;let r=258,n=uGe,s=0;function a(){r=258,n=uGe}function o(I){let y=E$i(I,s,n);return s+=n,y}function A(I,y){return e[r]=y,t[r]=I,r++,r-1}function l(I){let y=[];for(let B=I;B!==4096;B=t[B])y.push(e[B]);return y}let c=[];a();let p=new Uint8Array(i),d=o(p),_;for(;d!==Jjt;){if(d===Yjt){for(a(),d=o(p);d===Yjt;)d=o(p);if(d===Jjt)break;if(d>Yjt)throw new Error(`corrupted code at scanline ${d}`);{let I=l(d);qjt(c,I),_=d}}else if(d<r){let I=l(d);qjt(c,I),A(_,I[I.length-1]),_=d}else{let I=l(_);if(!I)throw new Error(`Bogus entry. Not in dictionary, ${_} / ${r}, position: ${s}`);qjt(c,I),c.push(I[I.length-1]),A(_,I[I.length-1]),_=d}r+1>=2**n&&(n===C$i?_=void 0:n++),d=o(p)}return new Uint8Array(c)}var uGe,Yjt,Jjt,C$i,hft,pGe=Pt(()=>{dM();uGe=9,Yjt=256,Jjt=257,C$i=12;hft=class extends __{decodeBlock(t){return B$i(t,!1).buffer}}});var _Ge={};g0(_Ge,{default:()=>Ift});function dGe(i,t){let e=0,r=[],n=16;for(;n>0&&!i[n-1];)--n;r.push({children:[],index:0});let s=r[0],a;for(let o=0;o<n;o++){for(let A=0;A<i[o];A++){for(s=r.pop(),s.children[s.index]=t[e];s.index>0;)s=r.pop();for(s.index++,r.push(s);r.length<=o;)r.push(a={children:[],index:0}),s.children[s.index]=a.children,s=a;e++}o+1<n&&(r.push(a={children:[],index:0}),s.children[s.index]=a.children,s=a)}return r[0].children}function x$i(i,t,e,r,n,s,a,o,A){let{mcusPerLine:l,progressive:c}=e,p=t,d=t,_=0,I=0;function y(){if(I>0)return I--,_>>I&1;if(_=i[d++],_===255){let Ft=i[d++];if(Ft)throw new Error(`unexpected marker: ${(_<<8|Ft).toString(16)}`)}return I=7,_>>>7}function B(Ft){let qt=Ft,se;for(;(se=y())!==null;){if(qt=qt[se],typeof qt=="number")return qt;if(typeof qt!="object")throw new Error("invalid huffman sequence")}return null}function x(Ft){let qt=Ft,se=0;for(;qt>0;){let Ie=y();if(Ie===null)return;se=se<<1|Ie,--qt}return se}function w(Ft){let qt=x(Ft);return qt>=1<<Ft-1?qt:qt+(-1<<Ft)+1}function D(Ft,qt){let se=B(Ft.huffmanTableDC),Ie=se===0?0:w(se);Ft.pred+=Ie,qt[0]=Ft.pred;let Tt=1;for(;Tt<64;){let $e=B(Ft.huffmanTableAC),Pe=$e&15,we=$e>>4;if(Pe===0){if(we<15)break;Tt+=16}else{Tt+=we;let pt=ant[Tt];qt[pt]=w(Pe),Tt++}}}function T(Ft,qt){let se=B(Ft.huffmanTableDC),Ie=se===0?0:w(se)<<A;Ft.pred+=Ie,qt[0]=Ft.pred}function j(Ft,qt){qt[0]|=y()<<A}let z=0;function W(Ft,qt){if(z>0){z--;return}let se=s,Ie=a;for(;se<=Ie;){let Tt=B(Ft.huffmanTableAC),$e=Tt&15,Pe=Tt>>4;if($e===0){if(Pe<15){z=x(Pe)+(1<<Pe)-1;break}se+=16}else{se+=Pe;let we=ant[se];qt[we]=w($e)*(1<<A),se++}}}let N=0,F;function U(Ft,qt){let se=s,Ie=a,Tt=0;for(;se<=Ie;){let $e=ant[se],Pe=qt[$e]<0?-1:1;switch(N){case 0:{let we=B(Ft.huffmanTableAC),pt=we&15;if(Tt=we>>4,pt===0)Tt<15?(z=x(Tt)+(1<<Tt),N=4):(Tt=16,N=1);else{if(pt!==1)throw new Error("invalid ACn encoding");F=w(pt),N=Tt?2:3}continue}case 1:case 2:qt[$e]?qt[$e]+=(y()<<A)*Pe:(Tt--,Tt===0&&(N=N===2?3:0));break;case 3:qt[$e]?qt[$e]+=(y()<<A)*Pe:(qt[$e]=F<<A,N=0);break;case 4:qt[$e]&&(qt[$e]+=(y()<<A)*Pe);break;default:break}se++}N===4&&(z--,z===0&&(N=0))}function J(Ft,qt,se,Ie,Tt){let $e=se/l|0,Pe=se%l,we=$e*Ft.v+Ie,pt=Pe*Ft.h+Tt;qt(Ft,Ft.blocks[we][pt])}function Z(Ft,qt,se){let Ie=se/Ft.blocksPerLine|0,Tt=se%Ft.blocksPerLine;qt(Ft,Ft.blocks[Ie][Tt])}let at=r.length,it,X,rt,ht,dt,Et;c?s===0?Et=o===0?T:j:Et=o===0?W:U:Et=D;let xt=0,Nt,wt;at===1?wt=r[0].blocksPerLine*r[0].blocksPerColumn:wt=l*e.mcusPerColumn;let kt=n||wt;for(;xt<wt;){for(X=0;X<at;X++)r[X].pred=0;if(z=0,at===1)for(it=r[0],dt=0;dt<kt;dt++)Z(it,Et,xt),xt++;else for(dt=0;dt<kt;dt++){for(X=0;X<at;X++){it=r[X];let{h:Ft,v:qt}=it;for(rt=0;rt<qt;rt++)for(ht=0;ht<Ft;ht++)J(it,Et,xt,rt,ht)}if(xt++,xt===wt)break}if(I=0,Nt=i[d]<<8|i[d+1],Nt<65280)throw new Error("marker was not found");if(Nt>=65488&&Nt<=65495)d+=2;else break}return d-p}function Q$i(i,t){let e=[],{blocksPerLine:r,blocksPerColumn:n}=t,s=r<<3,a=new Int32Array(64),o=new Uint8Array(64);function A(l,c,p){let d=t.quantizationTable,_,I,y,B,x,w,D,T,j,z=p,W;for(W=0;W<64;W++)z[W]=l[W]*d[W];for(W=0;W<8;++W){let N=8*W;if(z[1+N]===0&&z[2+N]===0&&z[3+N]===0&&z[4+N]===0&&z[5+N]===0&&z[6+N]===0&&z[7+N]===0){j=Gz*z[0+N]+512>>10,z[0+N]=j,z[1+N]=j,z[2+N]=j,z[3+N]=j,z[4+N]=j,z[5+N]=j,z[6+N]=j,z[7+N]=j;continue}_=Gz*z[0+N]+128>>8,I=Gz*z[4+N]+128>>8,y=z[2+N],B=z[6+N],x=mft*(z[1+N]-z[7+N])+128>>8,T=mft*(z[1+N]+z[7+N])+128>>8,w=z[3+N]<<4,D=z[5+N]<<4,j=_-I+1>>1,_=_+I+1>>1,I=j,j=y*fft+B*_ft+128>>8,y=y*_ft-B*fft+128>>8,B=j,j=x-D+1>>1,x=x+D+1>>1,D=j,j=T+w+1>>1,w=T-w+1>>1,T=j,j=_-B+1>>1,_=_+B+1>>1,B=j,j=I-y+1>>1,I=I+y+1>>1,y=j,j=x*dft+T*pft+2048>>12,x=x*pft-T*dft+2048>>12,T=j,j=w*gft+D*uft+2048>>12,w=w*uft-D*gft+2048>>12,D=j,z[0+N]=_+T,z[7+N]=_-T,z[1+N]=I+D,z[6+N]=I-D,z[2+N]=y+w,z[5+N]=y-w,z[3+N]=B+x,z[4+N]=B-x}for(W=0;W<8;++W){let N=W;if(z[8+N]===0&&z[16+N]===0&&z[24+N]===0&&z[32+N]===0&&z[40+N]===0&&z[48+N]===0&&z[56+N]===0){j=Gz*p[W+0]+8192>>14,z[0+N]=j,z[8+N]=j,z[16+N]=j,z[24+N]=j,z[32+N]=j,z[40+N]=j,z[48+N]=j,z[56+N]=j;continue}_=Gz*z[0+N]+2048>>12,I=Gz*z[32+N]+2048>>12,y=z[16+N],B=z[48+N],x=mft*(z[8+N]-z[56+N])+2048>>12,T=mft*(z[8+N]+z[56+N])+2048>>12,w=z[24+N],D=z[40+N],j=_-I+1>>1,_=_+I+1>>1,I=j,j=y*fft+B*_ft+2048>>12,y=y*_ft-B*fft+2048>>12,B=j,j=x-D+1>>1,x=x+D+1>>1,D=j,j=T+w+1>>1,w=T-w+1>>1,T=j,j=_-B+1>>1,_=_+B+1>>1,B=j,j=I-y+1>>1,I=I+y+1>>1,y=j,j=x*dft+T*pft+2048>>12,x=x*pft-T*dft+2048>>12,T=j,j=w*gft+D*uft+2048>>12,w=w*uft-D*gft+2048>>12,D=j,z[0+N]=_+T,z[56+N]=_-T,z[8+N]=I+D,z[48+N]=I-D,z[16+N]=y+w,z[40+N]=y-w,z[24+N]=B+x,z[32+N]=B-x}for(W=0;W<64;++W){let N=128+(z[W]+8>>4);N<0?c[W]=0:N>255?c[W]=255:c[W]=N}}for(let l=0;l<n;l++){let c=l<<3;for(let p=0;p<8;p++)e.push(new Uint8Array(s));for(let p=0;p<r;p++){A(t.blocks[l][p],o,a);let d=0,_=p<<3;for(let I=0;I<8;I++){let y=e[c+I];for(let B=0;B<8;B++)y[_+B]=o[d++]}}}return e}var ant,uft,gft,pft,dft,_ft,fft,Gz,mft,Kjt,Ift,fGe=Pt(()=>{dM();ant=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),uft=4017,gft=799,pft=3406,dft=2276,_ft=1567,fft=3784,Gz=5793,mft=2896;Kjt=class{constructor(){this.jfif=null,this.adobe=null,this.quantizationTables=[],this.huffmanTablesAC=[],this.huffmanTablesDC=[],this.resetFrames()}resetFrames(){this.frames=[]}parse(t){let e=0;function r(){let o=t[e]<<8|t[e+1];return e+=2,o}function n(){let o=r(),A=t.subarray(e,e+o-2);return e+=A.length,A}function s(o){let A=0,l=0,c,p;for(p in o.components)o.components.hasOwnProperty(p)&&(c=o.components[p],A<c.h&&(A=c.h),l<c.v&&(l=c.v));let d=Math.ceil(o.samplesPerLine/8/A),_=Math.ceil(o.scanLines/8/l);for(p in o.components)if(o.components.hasOwnProperty(p)){c=o.components[p];let I=Math.ceil(Math.ceil(o.samplesPerLine/8)*c.h/A),y=Math.ceil(Math.ceil(o.scanLines/8)*c.v/l),B=d*c.h,x=_*c.v,w=[];for(let D=0;D<x;D++){let T=[];for(let j=0;j<B;j++)T.push(new Int32Array(64));w.push(T)}c.blocksPerLine=I,c.blocksPerColumn=y,c.blocks=w}o.maxH=A,o.maxV=l,o.mcusPerLine=d,o.mcusPerColumn=_}let a=r();if(a!==65496)throw new Error("SOI not found");for(a=r();a!==65497;){switch(a){case 65280:break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:{let o=n();a===65504&&o[0]===74&&o[1]===70&&o[2]===73&&o[3]===70&&o[4]===0&&(this.jfif={version:{major:o[5],minor:o[6]},densityUnits:o[7],xDensity:o[8]<<8|o[9],yDensity:o[10]<<8|o[11],thumbWidth:o[12],thumbHeight:o[13],thumbData:o.subarray(14,14+3*o[12]*o[13])}),a===65518&&o[0]===65&&o[1]===100&&o[2]===111&&o[3]===98&&o[4]===101&&o[5]===0&&(this.adobe={version:o[6],flags0:o[7]<<8|o[8],flags1:o[9]<<8|o[10],transformCode:o[11]});break}case 65499:{let A=r()+e-2;for(;e<A;){let l=t[e++],c=new Int32Array(64);if(l>>4===0)for(let p=0;p<64;p++){let d=ant[p];c[d]=t[e++]}else if(l>>4===1)for(let p=0;p<64;p++){let d=ant[p];c[d]=r()}else throw new Error("DQT: invalid table spec");this.quantizationTables[l&15]=c}break}case 65472:case 65473:case 65474:{r();let o={extended:a===65473,progressive:a===65474,precision:t[e++],scanLines:r(),samplesPerLine:r(),components:{},componentsOrder:[]},A=t[e++],l;for(let c=0;c<A;c++){l=t[e];let p=t[e+1]>>4,d=t[e+1]&15,_=t[e+2];o.componentsOrder.push(l),o.components[l]={h:p,v:d,quantizationIdx:_},e+=3}s(o),this.frames.push(o);break}case 65476:{let o=r();for(let A=2;A<o;){let l=t[e++],c=new Uint8Array(16),p=0;for(let _=0;_<16;_++,e++)c[_]=t[e],p+=c[_];let d=new Uint8Array(p);for(let _=0;_<p;_++,e++)d[_]=t[e];A+=17+p,l>>4===0?this.huffmanTablesDC[l&15]=dGe(c,d):this.huffmanTablesAC[l&15]=dGe(c,d)}break}case 65501:r(),this.resetInterval=r();break;case 65498:{r();let o=t[e++],A=[],l=this.frames[0];for(let I=0;I<o;I++){let y=l.components[t[e++]],B=t[e++];y.huffmanTableDC=this.huffmanTablesDC[B>>4],y.huffmanTableAC=this.huffmanTablesAC[B&15],A.push(y)}let c=t[e++],p=t[e++],d=t[e++],_=x$i(t,e,l,A,this.resetInterval,c,p,d>>4,d&15);e+=_;break}case 65535:t[e]!==255&&e--;break;default:if(t[e-3]===255&&t[e-2]>=192&&t[e-2]<=254){e-=3;break}throw new Error(`unknown JPEG marker ${a.toString(16)}`)}a=r()}}getResult(){let{frames:t}=this;if(this.frames.length===0)throw new Error("no frames were decoded");this.frames.length>1&&console.warn("more than one frame is not supported");for(let c=0;c<this.frames.length;c++){let p=this.frames[c].components;for(let d of Object.keys(p))p[d].quantizationTable=this.quantizationTables[p[d].quantizationIdx],delete p[d].quantizationIdx}let e=t[0],{components:r,componentsOrder:n}=e,s=[],a=e.samplesPerLine,o=e.scanLines;for(let c=0;c<n.length;c++){let p=r[n[c]];s.push({lines:Q$i(e,p),scaleX:p.h/e.maxH,scaleY:p.v/e.maxV})}let A=new Uint8Array(a*o*s.length),l=0;for(let c=0;c<o;++c)for(let p=0;p<a;++p)for(let d=0;d<s.length;++d){let _=s[d];A[l]=_.lines[0|c*_.scaleY][0|p*_.scaleX],++l}return A}},Ift=class extends __{constructor(t){super(),this.reader=new Kjt,t.JPEGTables&&this.reader.parse(t.JPEGTables)}decodeBlock(t){return this.reader.resetFrames(),this.reader.parse(new Uint8Array(t)),this.reader.getResult().buffer}}});function jz(i){let t=i.length;for(;--t>=0;)i[t]=0}function Wjt(i,t,e,r,n){this.static_tree=i,this.extra_bits=t,this.extra_base=e,this.elems=r,this.max_length=n,this.has_stree=i&&i.length}function Zjt(i,t){this.dyn_tree=i,this.max_code=0,this.stat_desc=t}function Sx(i,t,e,r,n){this.good_length=i,this.max_lazy=t,this.nice_length=e,this.max_chain=r,this.func=n}function vtr(){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=Sft,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 Uint16Array(mtr*2),this.dyn_dtree=new Uint16Array((2*_tr+1)*2),this.bl_tree=new Uint16Array((2*ftr+1)*2),_M(this.dyn_ltree),_M(this.dyn_dtree),_M(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(Itr+1),this.heap=new Uint16Array(2*uHt+1),_M(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*uHt+1),_M(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function Vtr(){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}function Bnt(i){this.options=kft.assign({level:eer,method:rer,chunkSize:16384,windowBits:15,memLevel:8,strategy:ier},i||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new BFe,this.strm.avail_out=0;let e=hnt.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(e!==vft)throw new Error(iF[e]);if(t.header&&hnt.deflateSetHeader(this.strm,t.header),t.dictionary){let r;if(typeof t.dictionary=="string"?r=Int.string2buf(t.dictionary):xFe.call(t.dictionary)==="[object ArrayBuffer]"?r=new Uint8Array(t.dictionary):r=t.dictionary,e=hnt.deflateSetDictionary(this.strm,r),e!==vft)throw new Error(iF[e]);this._dict_set=!0}}function BHt(i,t){let e=new Bnt(t);if(e.push(i,!0),e.err)throw e.msg||iF[e.err];return e.result}function ner(i,t){return t=t||{},t.raw=!0,BHt(i,t)}function ser(i,t){return t=t||{},t.gzip=!0,BHt(i,t)}function wer(){this.strm=null,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 Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function Yer(){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}function xnt(i){this.options=kft.assign({chunkSize:1024*64,windowBits:15,to:""},i||{});let t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(i&&i.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15)===0&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new BFe,this.strm.avail_out=0;let e=Hb.inflateInit2(this.strm,t.windowBits);if(e!==ynt)throw new Error(iF[e]);if(this.header=new qer,Hb.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=Int.string2buf(t.dictionary):GFe.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(e=Hb.inflateSetDictionary(this.strm,t.dictionary),e!==ynt)))throw new Error(iF[e])}function xHt(i,t){let e=new xnt(t);if(e.push(i),e.err)throw e.msg||iF[e.err];return e.result}function Zer(i,t){return t=t||{},t.raw=!0,xHt(i,t)}var b$i,iFe,v$i,w$i,S$i,mHt,Cnt,gnt,Uz,IHt,rFe,$G,Vjt,k$i,yHt,nFe,sFe,aFe,lHt,Qft,M$i,oFe,D$i,jb,cnt,pnt,dnt,CHt,bft,AFe,lFe,cFe,hFe,_nt,aI,kx,uFe,R$i,N$i,gFe,L$i,pFe,dFe,mGe,Xjt,IGe,cHt,yGe,CGe,G$i,F$i,T$i,EGe,U$i,_Fe,P$i,O$i,j$i,H$i,z$i,Y$i,q$i,J$i,K$i,V$i,fnt,W$i,Z$i,X$i,xd,iF,Hz,$$i,hHt,ttr,mM,etr,IM,itr,rtr,_C,BGe,f_,xGe,Mx,ntr,$jt,str,atr,yft,otr,Atr,ltr,ctr,Sft,htr,utr,gtr,ptr,dtr,uHt,_tr,ftr,mtr,Itr,Rc,fM,Dx,ytr,Pz,EHt,gHt,pHt,dHt,_Ht,tF,Ant,Ef,zz,rF,Yz,Ctr,eF,QGe,_M,Etr,Btr,yM,My,Dy,Rh,ont,fHt,fFe,Oz,mFe,tHt,Fz,xtr,Qtr,lnt,btr,Ent,IFe,yFe,wtr,CFe,Str,ktr,Mtr,Dtr,Rtr,Ntr,Ltr,Gtr,Ftr,Ttr,Utr,Ptr,Otr,hnt,jtr,Htr,ztr,kft,EFe,mnt,Ytr,qtr,Jtr,Ktr,Int,BFe,xFe,Wtr,Ztr,Xtr,$tr,vft,ter,eer,ier,rer,aer,oer,Aer,ler,cer,her,Cft,uer,ger,Tz,bGe,vGe,wGe,eHt,SGe,per,der,_er,fer,mer,unt,Ier,QFe,bFe,kGe,yer,Eft,nF,Cer,Eer,fC,vFe,wFe,Ber,MGe,Mft,DGe,RGe,NGe,LGe,GGe,FGe,TGe,UGe,PGe,wft,Ob,iHt,OGe,rHt,jGe,HGe,zGe,YGe,Bft,xft,qGe,JGe,KGe,VGe,WGe,nHt,ZGe,XGe,ap,SFe,kFe,xer,Qer,ber,ver,$Ge,sF,MFe,DFe,RFe,NFe,Ser,tFe,sHt,aHt,ker,LFe,Mer,Der,Rer,Ner,Ler,Ger,Fer,Ter,Uer,Per,Oer,jer,Her,zer,Hb,qer,GFe,Jer,Ker,ynt,oHt,AHt,Ver,eFe,Wer,Xer,$er,tir,eir,iir,rir,nvs,svs,avs,ovs,Avs,nir,lvs,cvs,Dft,QHt=Pt(()=>{b$i=0,iFe=1,v$i=2,w$i=3,S$i=258,mHt=29,Cnt=256,gnt=Cnt+1+mHt,Uz=30,IHt=19,rFe=2*gnt+1,$G=15,Vjt=16,k$i=7,yHt=256,nFe=16,sFe=17,aFe=18,lHt=new Uint8Array([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]),Qft=new Uint8Array([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]),M$i=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),oFe=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),D$i=512,jb=new Array((gnt+2)*2);jz(jb);cnt=new Array(Uz*2);jz(cnt);pnt=new Array(D$i);jz(pnt);dnt=new Array(S$i-w$i+1);jz(dnt);CHt=new Array(mHt);jz(CHt);bft=new Array(Uz);jz(bft);hFe=i=>i<256?pnt[i]:pnt[256+(i>>>7)],_nt=(i,t)=>{i.pending_buf[i.pending++]=t&255,i.pending_buf[i.pending++]=t>>>8&255},aI=(i,t,e)=>{i.bi_valid>Vjt-e?(i.bi_buf|=t<<i.bi_valid&65535,_nt(i,i.bi_buf),i.bi_buf=t>>Vjt-i.bi_valid,i.bi_valid+=e-Vjt):(i.bi_buf|=t<<i.bi_valid&65535,i.bi_valid+=e)},kx=(i,t,e)=>{aI(i,e[t*2],e[t*2+1])},uFe=(i,t)=>{let e=0;do e|=i&1,i>>>=1,e<<=1;while(--t>0);return e>>>1},R$i=i=>{i.bi_valid===16?(_nt(i,i.bi_buf),i.bi_buf=0,i.bi_valid=0):i.bi_valid>=8&&(i.pending_buf[i.pending++]=i.bi_buf&255,i.bi_buf>>=8,i.bi_valid-=8)},N$i=(i,t)=>{let e=t.dyn_tree,r=t.max_code,n=t.stat_desc.static_tree,s=t.stat_desc.has_stree,a=t.stat_desc.extra_bits,o=t.stat_desc.extra_base,A=t.stat_desc.max_length,l,c,p,d,_,I,y=0;for(d=0;d<=$G;d++)i.bl_count[d]=0;for(e[i.heap[i.heap_max]*2+1]=0,l=i.heap_max+1;l<rFe;l++)c=i.heap[l],d=e[e[c*2+1]*2+1]+1,d>A&&(d=A,y++),e[c*2+1]=d,!(c>r)&&(i.bl_count[d]++,_=0,c>=o&&(_=a[c-o]),I=e[c*2],i.opt_len+=I*(d+_),s&&(i.static_len+=I*(n[c*2+1]+_)));if(y!==0){do{for(d=A-1;i.bl_count[d]===0;)d--;i.bl_count[d]--,i.bl_count[d+1]+=2,i.bl_count[A]--,y-=2}while(y>0);for(d=A;d!==0;d--)for(c=i.bl_count[d];c!==0;)p=i.heap[--l],!(p>r)&&(e[p*2+1]!==d&&(i.opt_len+=(d-e[p*2+1])*e[p*2],e[p*2+1]=d),c--)}},gFe=(i,t,e)=>{let r=new Array($G+1),n=0,s,a;for(s=1;s<=$G;s++)n=n+e[s-1]<<1,r[s]=n;for(a=0;a<=t;a++){let o=i[a*2+1];o!==0&&(i[a*2]=uFe(r[o]++,o))}},L$i=()=>{let i,t,e,r,n,s=new Array($G+1);for(e=0,r=0;r<mHt-1;r++)for(CHt[r]=e,i=0;i<1<<lHt[r];i++)dnt[e++]=r;for(dnt[e-1]=r,n=0,r=0;r<16;r++)for(bft[r]=n,i=0;i<1<<Qft[r];i++)pnt[n++]=r;for(n>>=7;r<Uz;r++)for(bft[r]=n<<7,i=0;i<1<<Qft[r]-7;i++)pnt[256+n++]=r;for(t=0;t<=$G;t++)s[t]=0;for(i=0;i<=143;)jb[i*2+1]=8,i++,s[8]++;for(;i<=255;)jb[i*2+1]=9,i++,s[9]++;for(;i<=279;)jb[i*2+1]=7,i++,s[7]++;for(;i<=287;)jb[i*2+1]=8,i++,s[8]++;for(gFe(jb,gnt+1,s),i=0;i<Uz;i++)cnt[i*2+1]=5,cnt[i*2]=uFe(i,5);AFe=new Wjt(jb,lHt,Cnt+1,gnt,$G),lFe=new Wjt(cnt,Qft,0,Uz,$G),cFe=new Wjt(new Array(0),M$i,0,IHt,k$i)},pFe=i=>{let t;for(t=0;t<gnt;t++)i.dyn_ltree[t*2]=0;for(t=0;t<Uz;t++)i.dyn_dtree[t*2]=0;for(t=0;t<IHt;t++)i.bl_tree[t*2]=0;i.dyn_ltree[yHt*2]=1,i.opt_len=i.static_len=0,i.sym_next=i.matches=0},dFe=i=>{i.bi_valid>8?_nt(i,i.bi_buf):i.bi_valid>0&&(i.pending_buf[i.pending++]=i.bi_buf),i.bi_buf=0,i.bi_valid=0},mGe=(i,t,e,r)=>{let n=t*2,s=e*2;return i[n]<i[s]||i[n]===i[s]&&r[t]<=r[e]},Xjt=(i,t,e)=>{let r=i.heap[e],n=e<<1;for(;n<=i.heap_len&&(n<i.heap_len&&mGe(t,i.heap[n+1],i.heap[n],i.depth)&&n++,!mGe(t,r,i.heap[n],i.depth));)i.heap[e]=i.heap[n],e=n,n<<=1;i.heap[e]=r},IGe=(i,t,e)=>{let r,n,s=0,a,o;if(i.sym_next!==0)do r=i.pending_buf[i.sym_buf+s++]&255,r+=(i.pending_buf[i.sym_buf+s++]&255)<<8,n=i.pending_buf[i.sym_buf+s++],r===0?kx(i,n,t):(a=dnt[n],kx(i,a+Cnt+1,t),o=lHt[a],o!==0&&(n-=CHt[a],aI(i,n,o)),r--,a=hFe(r),kx(i,a,e),o=Qft[a],o!==0&&(r-=bft[a],aI(i,r,o)));while(s<i.sym_next);kx(i,yHt,t)},cHt=(i,t)=>{let e=t.dyn_tree,r=t.stat_desc.static_tree,n=t.stat_desc.has_stree,s=t.stat_desc.elems,a,o,A=-1,l;for(i.heap_len=0,i.heap_max=rFe,a=0;a<s;a++)e[a*2]!==0?(i.heap[++i.heap_len]=A=a,i.depth[a]=0):e[a*2+1]=0;for(;i.heap_len<2;)l=i.heap[++i.heap_len]=A<2?++A:0,e[l*2]=1,i.depth[l]=0,i.opt_len--,n&&(i.static_len-=r[l*2+1]);for(t.max_code=A,a=i.heap_len>>1;a>=1;a--)Xjt(i,e,a);l=s;do a=i.heap[1],i.heap[1]=i.heap[i.heap_len--],Xjt(i,e,1),o=i.heap[1],i.heap[--i.heap_max]=a,i.heap[--i.heap_max]=o,e[l*2]=e[a*2]+e[o*2],i.depth[l]=(i.depth[a]>=i.depth[o]?i.depth[a]:i.depth[o])+1,e[a*2+1]=e[o*2+1]=l,i.heap[1]=l++,Xjt(i,e,1);while(i.heap_len>=2);i.heap[--i.heap_max]=i.heap[1],N$i(i,t),gFe(e,A,i.bl_count)},yGe=(i,t,e)=>{let r,n=-1,s,a=t[1],o=0,A=7,l=4;for(a===0&&(A=138,l=3),t[(e+1)*2+1]=65535,r=0;r<=e;r++)s=a,a=t[(r+1)*2+1],!(++o<A&&s===a)&&(o<l?i.bl_tree[s*2]+=o:s!==0?(s!==n&&i.bl_tree[s*2]++,i.bl_tree[nFe*2]++):o<=10?i.bl_tree[sFe*2]++:i.bl_tree[aFe*2]++,o=0,n=s,a===0?(A=138,l=3):s===a?(A=6,l=3):(A=7,l=4))},CGe=(i,t,e)=>{let r,n=-1,s,a=t[1],o=0,A=7,l=4;for(a===0&&(A=138,l=3),r=0;r<=e;r++)if(s=a,a=t[(r+1)*2+1],!(++o<A&&s===a)){if(o<l)do kx(i,s,i.bl_tree);while(--o!==0);else s!==0?(s!==n&&(kx(i,s,i.bl_tree),o--),kx(i,nFe,i.bl_tree),aI(i,o-3,2)):o<=10?(kx(i,sFe,i.bl_tree),aI(i,o-3,3)):(kx(i,aFe,i.bl_tree),aI(i,o-11,7));o=0,n=s,a===0?(A=138,l=3):s===a?(A=6,l=3):(A=7,l=4)}},G$i=i=>{let t;for(yGe(i,i.dyn_ltree,i.l_desc.max_code),yGe(i,i.dyn_dtree,i.d_desc.max_code),cHt(i,i.bl_desc),t=IHt-1;t>=3&&i.bl_tree[oFe[t]*2+1]===0;t--);return i.opt_len+=3*(t+1)+5+5+4,t},F$i=(i,t,e,r)=>{let n;for(aI(i,t-257,5),aI(i,e-1,5),aI(i,r-4,4),n=0;n<r;n++)aI(i,i.bl_tree[oFe[n]*2+1],3);CGe(i,i.dyn_ltree,t-1),CGe(i,i.dyn_dtree,e-1)},T$i=i=>{let t=4093624447,e;for(e=0;e<=31;e++,t>>>=1)if(t&1&&i.dyn_ltree[e*2]!==0)return 0;if(i.dyn_ltree[18]!==0||i.dyn_ltree[20]!==0||i.dyn_ltree[26]!==0)return 1;for(e=32;e<Cnt;e++)if(i.dyn_ltree[e*2]!==0)return 1;return 0},EGe=!1,U$i=i=>{EGe||(L$i(),EGe=!0),i.l_desc=new Zjt(i.dyn_ltree,AFe),i.d_desc=new Zjt(i.dyn_dtree,lFe),i.bl_desc=new Zjt(i.bl_tree,cFe),i.bi_buf=0,i.bi_valid=0,pFe(i)},_Fe=(i,t,e,r)=>{aI(i,(b$i<<1)+(r?1:0),3),dFe(i),_nt(i,e),_nt(i,~e),e&&i.pending_buf.set(i.window.subarray(t,t+e),i.pending),i.pending+=e},P$i=i=>{aI(i,iFe<<1,3),kx(i,yHt,jb),R$i(i)},O$i=(i,t,e,r)=>{let n,s,a=0;i.level>0?(i.strm.data_type===2&&(i.strm.data_type=T$i(i)),cHt(i,i.l_desc),cHt(i,i.d_desc),a=G$i(i),n=i.opt_len+3+7>>>3,s=i.static_len+3+7>>>3,s<=n&&(n=s)):n=s=e+5,e+4<=n&&t!==-1?_Fe(i,t,e,r):i.strategy===4||s===n?(aI(i,(iFe<<1)+(r?1:0),3),IGe(i,jb,cnt)):(aI(i,(v$i<<1)+(r?1:0),3),F$i(i,i.l_desc.max_code+1,i.d_desc.max_code+1,a+1),IGe(i,i.dyn_ltree,i.dyn_dtree)),pFe(i),r&&dFe(i)},j$i=(i,t,e)=>(i.pending_buf[i.sym_buf+i.sym_next++]=t,i.pending_buf[i.sym_buf+i.sym_next++]=t>>8,i.pending_buf[i.sym_buf+i.sym_next++]=e,t===0?i.dyn_ltree[e*2]++:(i.matches++,t--,i.dyn_ltree[(dnt[e]+Cnt+1)*2]++,i.dyn_dtree[hFe(t)*2]++),i.sym_next===i.sym_end),H$i=U$i,z$i=_Fe,Y$i=O$i,q$i=j$i,J$i=P$i,K$i={_tr_init:H$i,_tr_stored_block:z$i,_tr_flush_block:Y$i,_tr_tally:q$i,_tr_align:J$i},V$i=(i,t,e,r)=>{let n=i&65535|0,s=i>>>16&65535|0,a=0;for(;e!==0;){a=e>2e3?2e3:e,e-=a;do n=n+t[r++]|0,s=s+n|0;while(--a);n%=65521,s%=65521}return n|s<<16|0},fnt=V$i,W$i=()=>{let i,t=[];for(var e=0;e<256;e++){i=e;for(var r=0;r<8;r++)i=i&1?3988292384^i>>>1:i>>>1;t[e]=i}return t},Z$i=new Uint32Array(W$i()),X$i=(i,t,e,r)=>{let n=Z$i,s=r+e;i^=-1;for(let a=r;a<s;a++)i=i>>>8^n[(i^t[a])&255];return i^-1},xd=X$i,iF={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"},Hz={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_MEM_ERROR:-4,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},{_tr_init:$$i,_tr_stored_block:hHt,_tr_flush_block:ttr,_tr_tally:mM,_tr_align:etr}=K$i,{Z_NO_FLUSH:IM,Z_PARTIAL_FLUSH:itr,Z_FULL_FLUSH:rtr,Z_FINISH:_C,Z_BLOCK:BGe,Z_OK:f_,Z_STREAM_END:xGe,Z_STREAM_ERROR:Mx,Z_DATA_ERROR:ntr,Z_BUF_ERROR:$jt,Z_DEFAULT_COMPRESSION:str,Z_FILTERED:atr,Z_HUFFMAN_ONLY:yft,Z_RLE:otr,Z_FIXED:Atr,Z_DEFAULT_STRATEGY:ltr,Z_UNKNOWN:ctr,Z_DEFLATED:Sft}=Hz,htr=9,utr=15,gtr=8,ptr=29,dtr=256,uHt=dtr+1+ptr,_tr=30,ftr=19,mtr=2*uHt+1,Itr=15,Rc=3,fM=258,Dx=fM+Rc+1,ytr=32,Pz=42,EHt=57,gHt=69,pHt=73,dHt=91,_Ht=103,tF=113,Ant=666,Ef=1,zz=2,rF=3,Yz=4,Ctr=3,eF=(i,t)=>(i.msg=iF[t],t),QGe=i=>i*2-(i>4?9:0),_M=i=>{let t=i.length;for(;--t>=0;)i[t]=0},Etr=i=>{let t,e,r,n=i.w_size;t=i.hash_size,r=t;do e=i.head[--r],i.head[r]=e>=n?e-n:0;while(--t);t=n,r=t;do e=i.prev[--r],i.prev[r]=e>=n?e-n:0;while(--t)},Btr=(i,t,e)=>(t<<i.hash_shift^e)&i.hash_mask,yM=Btr,My=i=>{let t=i.state,e=t.pending;e>i.avail_out&&(e=i.avail_out),e!==0&&(i.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+e),i.next_out),i.next_out+=e,t.pending_out+=e,i.total_out+=e,i.avail_out-=e,t.pending-=e,t.pending===0&&(t.pending_out=0))},Dy=(i,t)=>{ttr(i,i.block_start>=0?i.block_start:-1,i.strstart-i.block_start,t),i.block_start=i.strstart,My(i.strm)},Rh=(i,t)=>{i.pending_buf[i.pending++]=t},ont=(i,t)=>{i.pending_buf[i.pending++]=t>>>8&255,i.pending_buf[i.pending++]=t&255},fHt=(i,t,e,r)=>{let n=i.avail_in;return n>r&&(n=r),n===0?0:(i.avail_in-=n,t.set(i.input.subarray(i.next_in,i.next_in+n),e),i.state.wrap===1?i.adler=fnt(i.adler,t,n,e):i.state.wrap===2&&(i.adler=xd(i.adler,t,n,e)),i.next_in+=n,i.total_in+=n,n)},fFe=(i,t)=>{let e=i.max_chain_length,r=i.strstart,n,s,a=i.prev_length,o=i.nice_match,A=i.strstart>i.w_size-Dx?i.strstart-(i.w_size-Dx):0,l=i.window,c=i.w_mask,p=i.prev,d=i.strstart+fM,_=l[r+a-1],I=l[r+a];i.prev_length>=i.good_match&&(e>>=2),o>i.lookahead&&(o=i.lookahead);do if(n=t,!(l[n+a]!==I||l[n+a-1]!==_||l[n]!==l[r]||l[++n]!==l[r+1])){r+=2,n++;do;while(l[++r]===l[++n]&&l[++r]===l[++n]&&l[++r]===l[++n]&&l[++r]===l[++n]&&l[++r]===l[++n]&&l[++r]===l[++n]&&l[++r]===l[++n]&&l[++r]===l[++n]&&r<d);if(s=fM-(d-r),r=d-fM,s>a){if(i.match_start=t,a=s,s>=o)break;_=l[r+a-1],I=l[r+a]}}while((t=p[t&c])>A&&--e!==0);return a<=i.lookahead?a:i.lookahead},Oz=i=>{let t=i.w_size,e,r,n;do{if(r=i.window_size-i.lookahead-i.strstart,i.strstart>=t+(t-Dx)&&(i.window.set(i.window.subarray(t,t+t-r),0),i.match_start-=t,i.strstart-=t,i.block_start-=t,i.insert>i.strstart&&(i.insert=i.strstart),Etr(i),r+=t),i.strm.avail_in===0)break;if(e=fHt(i.strm,i.window,i.strstart+i.lookahead,r),i.lookahead+=e,i.lookahead+i.insert>=Rc)for(n=i.strstart-i.insert,i.ins_h=i.window[n],i.ins_h=yM(i,i.ins_h,i.window[n+1]);i.insert&&(i.ins_h=yM(i,i.ins_h,i.window[n+Rc-1]),i.prev[n&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=n,n++,i.insert--,!(i.lookahead+i.insert<Rc)););}while(i.lookahead<Dx&&i.strm.avail_in!==0)},mFe=(i,t)=>{let e=i.pending_buf_size-5>i.w_size?i.w_size:i.pending_buf_size-5,r,n,s,a=0,o=i.strm.avail_in;do{if(r=65535,s=i.bi_valid+42>>3,i.strm.avail_out<s||(s=i.strm.avail_out-s,n=i.strstart-i.block_start,r>n+i.strm.avail_in&&(r=n+i.strm.avail_in),r>s&&(r=s),r<e&&(r===0&&t!==_C||t===IM||r!==n+i.strm.avail_in)))break;a=t===_C&&r===n+i.strm.avail_in?1:0,hHt(i,0,0,a),i.pending_buf[i.pending-4]=r,i.pending_buf[i.pending-3]=r>>8,i.pending_buf[i.pending-2]=~r,i.pending_buf[i.pending-1]=~r>>8,My(i.strm),n&&(n>r&&(n=r),i.strm.output.set(i.window.subarray(i.block_start,i.block_start+n),i.strm.next_out),i.strm.next_out+=n,i.strm.avail_out-=n,i.strm.total_out+=n,i.block_start+=n,r-=n),r&&(fHt(i.strm,i.strm.output,i.strm.next_out,r),i.strm.next_out+=r,i.strm.avail_out-=r,i.strm.total_out+=r)}while(a===0);return o-=i.strm.avail_in,o&&(o>=i.w_size?(i.matches=2,i.window.set(i.strm.input.subarray(i.strm.next_in-i.w_size,i.strm.next_in),0),i.strstart=i.w_size,i.insert=i.strstart):(i.window_size-i.strstart<=o&&(i.strstart-=i.w_size,i.window.set(i.window.subarray(i.w_size,i.w_size+i.strstart),0),i.matches<2&&i.matches++,i.insert>i.strstart&&(i.insert=i.strstart)),i.window.set(i.strm.input.subarray(i.strm.next_in-o,i.strm.next_in),i.strstart),i.strstart+=o,i.insert+=o>i.w_size-i.insert?i.w_size-i.insert:o),i.block_start=i.strstart),i.high_water<i.strstart&&(i.high_water=i.strstart),a?Yz:t!==IM&&t!==_C&&i.strm.avail_in===0&&i.strstart===i.block_start?zz:(s=i.window_size-i.strstart,i.strm.avail_in>s&&i.block_start>=i.w_size&&(i.block_start-=i.w_size,i.strstart-=i.w_size,i.window.set(i.window.subarray(i.w_size,i.w_size+i.strstart),0),i.matches<2&&i.matches++,s+=i.w_size,i.insert>i.strstart&&(i.insert=i.strstart)),s>i.strm.avail_in&&(s=i.strm.avail_in),s&&(fHt(i.strm,i.window,i.strstart,s),i.strstart+=s,i.insert+=s>i.w_size-i.insert?i.w_size-i.insert:s),i.high_water<i.strstart&&(i.high_water=i.strstart),s=i.bi_valid+42>>3,s=i.pending_buf_size-s>65535?65535:i.pending_buf_size-s,e=s>i.w_size?i.w_size:s,n=i.strstart-i.block_start,(n>=e||(n||t===_C)&&t!==IM&&i.strm.avail_in===0&&n<=s)&&(r=n>s?s:n,a=t===_C&&i.strm.avail_in===0&&r===n?1:0,hHt(i,i.block_start,r,a),i.block_start+=r,My(i.strm)),a?rF:Ef)},tHt=(i,t)=>{let e,r;for(;;){if(i.lookahead<Dx){if(Oz(i),i.lookahead<Dx&&t===IM)return Ef;if(i.lookahead===0)break}if(e=0,i.lookahead>=Rc&&(i.ins_h=yM(i,i.ins_h,i.window[i.strstart+Rc-1]),e=i.prev[i.strstart&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=i.strstart),e!==0&&i.strstart-e<=i.w_size-Dx&&(i.match_length=fFe(i,e)),i.match_length>=Rc)if(r=mM(i,i.strstart-i.match_start,i.match_length-Rc),i.lookahead-=i.match_length,i.match_length<=i.max_lazy_match&&i.lookahead>=Rc){i.match_length--;do i.strstart++,i.ins_h=yM(i,i.ins_h,i.window[i.strstart+Rc-1]),e=i.prev[i.strstart&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=i.strstart;while(--i.match_length!==0);i.strstart++}else i.strstart+=i.match_length,i.match_length=0,i.ins_h=i.window[i.strstart],i.ins_h=yM(i,i.ins_h,i.window[i.strstart+1]);else r=mM(i,0,i.window[i.strstart]),i.lookahead--,i.strstart++;if(r&&(Dy(i,!1),i.strm.avail_out===0))return Ef}return i.insert=i.strstart<Rc-1?i.strstart:Rc-1,t===_C?(Dy(i,!0),i.strm.avail_out===0?rF:Yz):i.sym_next&&(Dy(i,!1),i.strm.avail_out===0)?Ef:zz},Fz=(i,t)=>{let e,r,n;for(;;){if(i.lookahead<Dx){if(Oz(i),i.lookahead<Dx&&t===IM)return Ef;if(i.lookahead===0)break}if(e=0,i.lookahead>=Rc&&(i.ins_h=yM(i,i.ins_h,i.window[i.strstart+Rc-1]),e=i.prev[i.strstart&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=i.strstart),i.prev_length=i.match_length,i.prev_match=i.match_start,i.match_length=Rc-1,e!==0&&i.prev_length<i.max_lazy_match&&i.strstart-e<=i.w_size-Dx&&(i.match_length=fFe(i,e),i.match_length<=5&&(i.strategy===atr||i.match_length===Rc&&i.strstart-i.match_start>4096)&&(i.match_length=Rc-1)),i.prev_length>=Rc&&i.match_length<=i.prev_length){n=i.strstart+i.lookahead-Rc,r=mM(i,i.strstart-1-i.prev_match,i.prev_length-Rc),i.lookahead-=i.prev_length-1,i.prev_length-=2;do++i.strstart<=n&&(i.ins_h=yM(i,i.ins_h,i.window[i.strstart+Rc-1]),e=i.prev[i.strstart&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=i.strstart);while(--i.prev_length!==0);if(i.match_available=0,i.match_length=Rc-1,i.strstart++,r&&(Dy(i,!1),i.strm.avail_out===0))return Ef}else if(i.match_available){if(r=mM(i,0,i.window[i.strstart-1]),r&&Dy(i,!1),i.strstart++,i.lookahead--,i.strm.avail_out===0)return Ef}else i.match_available=1,i.strstart++,i.lookahead--}return i.match_available&&(r=mM(i,0,i.window[i.strstart-1]),i.match_available=0),i.insert=i.strstart<Rc-1?i.strstart:Rc-1,t===_C?(Dy(i,!0),i.strm.avail_out===0?rF:Yz):i.sym_next&&(Dy(i,!1),i.strm.avail_out===0)?Ef:zz},xtr=(i,t)=>{let e,r,n,s,a=i.window;for(;;){if(i.lookahead<=fM){if(Oz(i),i.lookahead<=fM&&t===IM)return Ef;if(i.lookahead===0)break}if(i.match_length=0,i.lookahead>=Rc&&i.strstart>0&&(n=i.strstart-1,r=a[n],r===a[++n]&&r===a[++n]&&r===a[++n])){s=i.strstart+fM;do;while(r===a[++n]&&r===a[++n]&&r===a[++n]&&r===a[++n]&&r===a[++n]&&r===a[++n]&&r===a[++n]&&r===a[++n]&&n<s);i.match_length=fM-(s-n),i.match_length>i.lookahead&&(i.match_length=i.lookahead)}if(i.match_length>=Rc?(e=mM(i,1,i.match_length-Rc),i.lookahead-=i.match_length,i.strstart+=i.match_length,i.match_length=0):(e=mM(i,0,i.window[i.strstart]),i.lookahead--,i.strstart++),e&&(Dy(i,!1),i.strm.avail_out===0))return Ef}return i.insert=0,t===_C?(Dy(i,!0),i.strm.avail_out===0?rF:Yz):i.sym_next&&(Dy(i,!1),i.strm.avail_out===0)?Ef:zz},Qtr=(i,t)=>{let e;for(;;){if(i.lookahead===0&&(Oz(i),i.lookahead===0)){if(t===IM)return Ef;break}if(i.match_length=0,e=mM(i,0,i.window[i.strstart]),i.lookahead--,i.strstart++,e&&(Dy(i,!1),i.strm.avail_out===0))return Ef}return i.insert=0,t===_C?(Dy(i,!0),i.strm.avail_out===0?rF:Yz):i.sym_next&&(Dy(i,!1),i.strm.avail_out===0)?Ef:zz};lnt=[new Sx(0,0,0,0,mFe),new Sx(4,4,8,4,tHt),new Sx(4,5,16,8,tHt),new Sx(4,6,32,32,tHt),new Sx(4,4,16,16,Fz),new Sx(8,16,32,32,Fz),new Sx(8,16,128,128,Fz),new Sx(8,32,128,256,Fz),new Sx(32,128,258,1024,Fz),new Sx(32,258,258,4096,Fz)],btr=i=>{i.window_size=2*i.w_size,_M(i.head),i.max_lazy_match=lnt[i.level].max_lazy,i.good_match=lnt[i.level].good_length,i.nice_match=lnt[i.level].nice_length,i.max_chain_length=lnt[i.level].max_chain,i.strstart=0,i.block_start=0,i.lookahead=0,i.insert=0,i.match_length=i.prev_length=Rc-1,i.match_available=0,i.ins_h=0};Ent=i=>{if(!i)return 1;let t=i.state;return!t||t.strm!==i||t.status!==Pz&&t.status!==EHt&&t.status!==gHt&&t.status!==pHt&&t.status!==dHt&&t.status!==_Ht&&t.status!==tF&&t.status!==Ant?1:0},IFe=i=>{if(Ent(i))return eF(i,Mx);i.total_in=i.total_out=0,i.data_type=ctr;let t=i.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?EHt:t.wrap?Pz:tF,i.adler=t.wrap===2?0:1,t.last_flush=-2,$$i(t),f_},yFe=i=>{let t=IFe(i);return t===f_&&btr(i.state),t},wtr=(i,t)=>Ent(i)||i.state.wrap!==2?Mx:(i.state.gzhead=t,f_),CFe=(i,t,e,r,n,s)=>{if(!i)return Mx;let a=1;if(t===str&&(t=6),r<0?(a=0,r=-r):r>15&&(a=2,r-=16),n<1||n>htr||e!==Sft||r<8||r>15||t<0||t>9||s<0||s>Atr||r===8&&a!==1)return eF(i,Mx);r===8&&(r=9);let o=new vtr;return i.state=o,o.strm=i,o.status=Pz,o.wrap=a,o.gzhead=null,o.w_bits=r,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=n+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+Rc-1)/Rc),o.window=new Uint8Array(o.w_size*2),o.head=new Uint16Array(o.hash_size),o.prev=new Uint16Array(o.w_size),o.lit_bufsize=1<<n+6,o.pending_buf_size=o.lit_bufsize*4,o.pending_buf=new Uint8Array(o.pending_buf_size),o.sym_buf=o.lit_bufsize,o.sym_end=(o.lit_bufsize-1)*3,o.level=t,o.strategy=s,o.method=e,yFe(i)},Str=(i,t)=>CFe(i,t,Sft,utr,gtr,ltr),ktr=(i,t)=>{if(Ent(i)||t>BGe||t<0)return i?eF(i,Mx):Mx;let e=i.state;if(!i.output||i.avail_in!==0&&!i.input||e.status===Ant&&t!==_C)return eF(i,i.avail_out===0?$jt:Mx);let r=e.last_flush;if(e.last_flush=t,e.pending!==0){if(My(i),i.avail_out===0)return e.last_flush=-1,f_}else if(i.avail_in===0&&QGe(t)<=QGe(r)&&t!==_C)return eF(i,$jt);if(e.status===Ant&&i.avail_in!==0)return eF(i,$jt);if(e.status===Pz&&e.wrap===0&&(e.status=tF),e.status===Pz){let n=Sft+(e.w_bits-8<<4)<<8,s=-1;if(e.strategy>=yft||e.level<2?s=0:e.level<6?s=1:e.level===6?s=2:s=3,n|=s<<6,e.strstart!==0&&(n|=ytr),n+=31-n%31,ont(e,n),e.strstart!==0&&(ont(e,i.adler>>>16),ont(e,i.adler&65535)),i.adler=1,e.status=tF,My(i),e.pending!==0)return e.last_flush=-1,f_}if(e.status===EHt){if(i.adler=0,Rh(e,31),Rh(e,139),Rh(e,8),e.gzhead)Rh(e,(e.gzhead.text?1:0)+(e.gzhead.hcrc?2:0)+(e.gzhead.extra?4:0)+(e.gzhead.name?8:0)+(e.gzhead.comment?16:0)),Rh(e,e.gzhead.time&255),Rh(e,e.gzhead.time>>8&255),Rh(e,e.gzhead.time>>16&255),Rh(e,e.gzhead.time>>24&255),Rh(e,e.level===9?2:e.strategy>=yft||e.level<2?4:0),Rh(e,e.gzhead.os&255),e.gzhead.extra&&e.gzhead.extra.length&&(Rh(e,e.gzhead.extra.length&255),Rh(e,e.gzhead.extra.length>>8&255)),e.gzhead.hcrc&&(i.adler=xd(i.adler,e.pending_buf,e.pending,0)),e.gzindex=0,e.status=gHt;else if(Rh(e,0),Rh(e,0),Rh(e,0),Rh(e,0),Rh(e,0),Rh(e,e.level===9?2:e.strategy>=yft||e.level<2?4:0),Rh(e,Ctr),e.status=tF,My(i),e.pending!==0)return e.last_flush=-1,f_}if(e.status===gHt){if(e.gzhead.extra){let n=e.pending,s=(e.gzhead.extra.length&65535)-e.gzindex;for(;e.pending+s>e.pending_buf_size;){let o=e.pending_buf_size-e.pending;if(e.pending_buf.set(e.gzhead.extra.subarray(e.gzindex,e.gzindex+o),e.pending),e.pending=e.pending_buf_size,e.gzhead.hcrc&&e.pending>n&&(i.adler=xd(i.adler,e.pending_buf,e.pending-n,n)),e.gzindex+=o,My(i),e.pending!==0)return e.last_flush=-1,f_;n=0,s-=o}let a=new Uint8Array(e.gzhead.extra);e.pending_buf.set(a.subarray(e.gzindex,e.gzindex+s),e.pending),e.pending+=s,e.gzhead.hcrc&&e.pending>n&&(i.adler=xd(i.adler,e.pending_buf,e.pending-n,n)),e.gzindex=0}e.status=pHt}if(e.status===pHt){if(e.gzhead.name){let n=e.pending,s;do{if(e.pending===e.pending_buf_size){if(e.gzhead.hcrc&&e.pending>n&&(i.adler=xd(i.adler,e.pending_buf,e.pending-n,n)),My(i),e.pending!==0)return e.last_flush=-1,f_;n=0}e.gzindex<e.gzhead.name.length?s=e.gzhead.name.charCodeAt(e.gzindex++)&255:s=0,Rh(e,s)}while(s!==0);e.gzhead.hcrc&&e.pending>n&&(i.adler=xd(i.adler,e.pending_buf,e.pending-n,n)),e.gzindex=0}e.status=dHt}if(e.status===dHt){if(e.gzhead.comment){let n=e.pending,s;do{if(e.pending===e.pending_buf_size){if(e.gzhead.hcrc&&e.pending>n&&(i.adler=xd(i.adler,e.pending_buf,e.pending-n,n)),My(i),e.pending!==0)return e.last_flush=-1,f_;n=0}e.gzindex<e.gzhead.comment.length?s=e.gzhead.comment.charCodeAt(e.gzindex++)&255:s=0,Rh(e,s)}while(s!==0);e.gzhead.hcrc&&e.pending>n&&(i.adler=xd(i.adler,e.pending_buf,e.pending-n,n))}e.status=_Ht}if(e.status===_Ht){if(e.gzhead.hcrc){if(e.pending+2>e.pending_buf_size&&(My(i),e.pending!==0))return e.last_flush=-1,f_;Rh(e,i.adler&255),Rh(e,i.adler>>8&255),i.adler=0}if(e.status=tF,My(i),e.pending!==0)return e.last_flush=-1,f_}if(i.avail_in!==0||e.lookahead!==0||t!==IM&&e.status!==Ant){let n=e.level===0?mFe(e,t):e.strategy===yft?Qtr(e,t):e.strategy===otr?xtr(e,t):lnt[e.level].func(e,t);if((n===rF||n===Yz)&&(e.status=Ant),n===Ef||n===rF)return i.avail_out===0&&(e.last_flush=-1),f_;if(n===zz&&(t===itr?etr(e):t!==BGe&&(hHt(e,0,0,!1),t===rtr&&(_M(e.head),e.lookahead===0&&(e.strstart=0,e.block_start=0,e.insert=0))),My(i),i.avail_out===0))return e.last_flush=-1,f_}return t!==_C?f_:e.wrap<=0?xGe:(e.wrap===2?(Rh(e,i.adler&255),Rh(e,i.adler>>8&255),Rh(e,i.adler>>16&255),Rh(e,i.adler>>24&255),Rh(e,i.total_in&255),Rh(e,i.total_in>>8&255),Rh(e,i.total_in>>16&255),Rh(e,i.total_in>>24&255)):(ont(e,i.adler>>>16),ont(e,i.adler&65535)),My(i),e.wrap>0&&(e.wrap=-e.wrap),e.pending!==0?f_:xGe)},Mtr=i=>{if(Ent(i))return Mx;let t=i.state.status;return i.state=null,t===tF?eF(i,ntr):f_},Dtr=(i,t)=>{let e=t.length;if(Ent(i))return Mx;let r=i.state,n=r.wrap;if(n===2||n===1&&r.status!==Pz||r.lookahead)return Mx;if(n===1&&(i.adler=fnt(i.adler,t,e,0)),r.wrap=0,e>=r.w_size){n===0&&(_M(r.head),r.strstart=0,r.block_start=0,r.insert=0);let A=new Uint8Array(r.w_size);A.set(t.subarray(e-r.w_size,e),0),t=A,e=r.w_size}let s=i.avail_in,a=i.next_in,o=i.input;for(i.avail_in=e,i.next_in=0,i.input=t,Oz(r);r.lookahead>=Rc;){let A=r.strstart,l=r.lookahead-(Rc-1);do r.ins_h=yM(r,r.ins_h,r.window[A+Rc-1]),r.prev[A&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=A,A++;while(--l);r.strstart=A,r.lookahead=Rc-1,Oz(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=Rc-1,r.match_available=0,i.next_in=a,i.input=o,i.avail_in=s,r.wrap=n,f_},Rtr=Str,Ntr=CFe,Ltr=yFe,Gtr=IFe,Ftr=wtr,Ttr=ktr,Utr=Mtr,Ptr=Dtr,Otr="pako deflate (from Nodeca project)",hnt={deflateInit:Rtr,deflateInit2:Ntr,deflateReset:Ltr,deflateResetKeep:Gtr,deflateSetHeader:Ftr,deflate:Ttr,deflateEnd:Utr,deflateSetDictionary:Ptr,deflateInfo:Otr},jtr=(i,t)=>Object.prototype.hasOwnProperty.call(i,t),Htr=function(i){let t=Array.prototype.slice.call(arguments,1);for(;t.length;){let e=t.shift();if(e){if(typeof e!="object")throw new TypeError(e+"must be non-object");for(let r in e)jtr(e,r)&&(i[r]=e[r])}}return i},ztr=i=>{let t=0;for(let r=0,n=i.length;r<n;r++)t+=i[r].length;let e=new Uint8Array(t);for(let r=0,n=0,s=i.length;r<s;r++){let a=i[r];e.set(a,n),n+=a.length}return e},kft={assign:Htr,flattenChunks:ztr},EFe=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{EFe=!1}mnt=new Uint8Array(256);for(let i=0;i<256;i++)mnt[i]=i>=252?6:i>=248?5:i>=240?4:i>=224?3:i>=192?2:1;mnt[254]=mnt[254]=1;Ytr=i=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(i);let t,e,r,n,s,a=i.length,o=0;for(n=0;n<a;n++)e=i.charCodeAt(n),(e&64512)===55296&&n+1<a&&(r=i.charCodeAt(n+1),(r&64512)===56320&&(e=65536+(e-55296<<10)+(r-56320),n++)),o+=e<128?1:e<2048?2:e<65536?3:4;for(t=new Uint8Array(o),s=0,n=0;s<o;n++)e=i.charCodeAt(n),(e&64512)===55296&&n+1<a&&(r=i.charCodeAt(n+1),(r&64512)===56320&&(e=65536+(e-55296<<10)+(r-56320),n++)),e<128?t[s++]=e:e<2048?(t[s++]=192|e>>>6,t[s++]=128|e&63):e<65536?(t[s++]=224|e>>>12,t[s++]=128|e>>>6&63,t[s++]=128|e&63):(t[s++]=240|e>>>18,t[s++]=128|e>>>12&63,t[s++]=128|e>>>6&63,t[s++]=128|e&63);return t},qtr=(i,t)=>{if(t<65534&&i.subarray&&EFe)return String.fromCharCode.apply(null,i.length===t?i:i.subarray(0,t));let e="";for(let r=0;r<t;r++)e+=String.fromCharCode(i[r]);return e},Jtr=(i,t)=>{let e=t||i.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(i.subarray(0,t));let r,n,s=new Array(e*2);for(n=0,r=0;r<e;){let a=i[r++];if(a<128){s[n++]=a;continue}let o=mnt[a];if(o>4){s[n++]=65533,r+=o-1;continue}for(a&=o===2?31:o===3?15:7;o>1&&r<e;)a=a<<6|i[r++]&63,o--;if(o>1){s[n++]=65533;continue}a<65536?s[n++]=a:(a-=65536,s[n++]=55296|a>>10&1023,s[n++]=56320|a&1023)}return qtr(s,n)},Ktr=(i,t)=>{t=t||i.length,t>i.length&&(t=i.length);let e=t-1;for(;e>=0&&(i[e]&192)===128;)e--;return e<0||e===0?t:e+mnt[i[e]]>t?e:t},Int={string2buf:Ytr,buf2string:Jtr,utf8border:Ktr};BFe=Vtr,xFe=Object.prototype.toString,{Z_NO_FLUSH:Wtr,Z_SYNC_FLUSH:Ztr,Z_FULL_FLUSH:Xtr,Z_FINISH:$tr,Z_OK:vft,Z_STREAM_END:ter,Z_DEFAULT_COMPRESSION:eer,Z_DEFAULT_STRATEGY:ier,Z_DEFLATED:rer}=Hz;Bnt.prototype.push=function(i,t){let e=this.strm,r=this.options.chunkSize,n,s;if(this.ended)return!1;for(t===~~t?s=t:s=t===!0?$tr:Wtr,typeof i=="string"?e.input=Int.string2buf(i):xFe.call(i)==="[object ArrayBuffer]"?e.input=new Uint8Array(i):e.input=i,e.next_in=0,e.avail_in=e.input.length;;){if(e.avail_out===0&&(e.output=new Uint8Array(r),e.next_out=0,e.avail_out=r),(s===Ztr||s===Xtr)&&e.avail_out<=6){this.onData(e.output.subarray(0,e.next_out)),e.avail_out=0;continue}if(n=hnt.deflate(e,s),n===ter)return e.next_out>0&&this.onData(e.output.subarray(0,e.next_out)),n=hnt.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===vft;if(e.avail_out===0){this.onData(e.output);continue}if(s>0&&e.next_out>0){this.onData(e.output.subarray(0,e.next_out)),e.avail_out=0;continue}if(e.avail_in===0)break}return!0};Bnt.prototype.onData=function(i){this.chunks.push(i)};Bnt.prototype.onEnd=function(i){i===vft&&(this.result=kft.flattenChunks(this.chunks)),this.chunks=[],this.err=i,this.msg=this.strm.msg};aer=Bnt,oer=BHt,Aer=ner,ler=ser,cer=Hz,her={Deflate:aer,deflate:oer,deflateRaw:Aer,gzip:ler,constants:cer},Cft=16209,uer=16191,ger=function(t,e){let r,n,s,a,o,A,l,c,p,d,_,I,y,B,x,w,D,T,j,z,W,N,F,U,J=t.state;r=t.next_in,F=t.input,n=r+(t.avail_in-5),s=t.next_out,U=t.output,a=s-(e-t.avail_out),o=s+(t.avail_out-257),A=J.dmax,l=J.wsize,c=J.whave,p=J.wnext,d=J.window,_=J.hold,I=J.bits,y=J.lencode,B=J.distcode,x=(1<<J.lenbits)-1,w=(1<<J.distbits)-1;t:do{I<15&&(_+=F[r++]<<I,I+=8,_+=F[r++]<<I,I+=8),D=y[_&x];e:for(;;){if(T=D>>>24,_>>>=T,I-=T,T=D>>>16&255,T===0)U[s++]=D&65535;else if(T&16){j=D&65535,T&=15,T&&(I<T&&(_+=F[r++]<<I,I+=8),j+=_&(1<<T)-1,_>>>=T,I-=T),I<15&&(_+=F[r++]<<I,I+=8,_+=F[r++]<<I,I+=8),D=B[_&w];i:for(;;){if(T=D>>>24,_>>>=T,I-=T,T=D>>>16&255,T&16){if(z=D&65535,T&=15,I<T&&(_+=F[r++]<<I,I+=8,I<T&&(_+=F[r++]<<I,I+=8)),z+=_&(1<<T)-1,z>A){t.msg="invalid distance too far back",J.mode=Cft;break t}if(_>>>=T,I-=T,T=s-a,z>T){if(T=z-T,T>c&&J.sane){t.msg="invalid distance too far back",J.mode=Cft;break t}if(W=0,N=d,p===0){if(W+=l-T,T<j){j-=T;do U[s++]=d[W++];while(--T);W=s-z,N=U}}else if(p<T){if(W+=l+p-T,T-=p,T<j){j-=T;do U[s++]=d[W++];while(--T);if(W=0,p<j){T=p,j-=T;do U[s++]=d[W++];while(--T);W=s-z,N=U}}}else if(W+=p-T,T<j){j-=T;do U[s++]=d[W++];while(--T);W=s-z,N=U}for(;j>2;)U[s++]=N[W++],U[s++]=N[W++],U[s++]=N[W++],j-=3;j&&(U[s++]=N[W++],j>1&&(U[s++]=N[W++]))}else{W=s-z;do U[s++]=U[W++],U[s++]=U[W++],U[s++]=U[W++],j-=3;while(j>2);j&&(U[s++]=U[W++],j>1&&(U[s++]=U[W++]))}}else if((T&64)===0){D=B[(D&65535)+(_&(1<<T)-1)];continue i}else{t.msg="invalid distance code",J.mode=Cft;break t}break}}else if((T&64)===0){D=y[(D&65535)+(_&(1<<T)-1)];continue e}else if(T&32){J.mode=uer;break t}else{t.msg="invalid literal/length code",J.mode=Cft;break t}break}}while(r<n&&s<o);j=I>>3,r-=j,I-=j<<3,_&=(1<<I)-1,t.next_in=r,t.next_out=s,t.avail_in=r<n?5+(n-r):5-(r-n),t.avail_out=s<o?257+(o-s):257-(s-o),J.hold=_,J.bits=I},Tz=15,bGe=852,vGe=592,wGe=0,eHt=1,SGe=2,per=new Uint16Array([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]),der=new Uint8Array([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]),_er=new Uint16Array([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]),fer=new Uint8Array([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]),mer=(i,t,e,r,n,s,a,o)=>{let A=o.bits,l=0,c=0,p=0,d=0,_=0,I=0,y=0,B=0,x=0,w=0,D,T,j,z,W,N=null,F,U=new Uint16Array(Tz+1),J=new Uint16Array(Tz+1),Z=null,at,it,X;for(l=0;l<=Tz;l++)U[l]=0;for(c=0;c<r;c++)U[t[e+c]]++;for(_=A,d=Tz;d>=1&&U[d]===0;d--);if(_>d&&(_=d),d===0)return n[s++]=1<<24|64<<16|0,n[s++]=1<<24|64<<16|0,o.bits=1,0;for(p=1;p<d&&U[p]===0;p++);for(_<p&&(_=p),B=1,l=1;l<=Tz;l++)if(B<<=1,B-=U[l],B<0)return-1;if(B>0&&(i===wGe||d!==1))return-1;for(J[1]=0,l=1;l<Tz;l++)J[l+1]=J[l]+U[l];for(c=0;c<r;c++)t[e+c]!==0&&(a[J[t[e+c]]++]=c);if(i===wGe?(N=Z=a,F=20):i===eHt?(N=per,Z=der,F=257):(N=_er,Z=fer,F=0),w=0,c=0,l=p,W=s,I=_,y=0,j=-1,x=1<<_,z=x-1,i===eHt&&x>bGe||i===SGe&&x>vGe)return 1;for(;;){at=l-y,a[c]+1<F?(it=0,X=a[c]):a[c]>=F?(it=Z[a[c]-F],X=N[a[c]-F]):(it=96,X=0),D=1<<l-y,T=1<<I,p=T;do T-=D,n[W+(w>>y)+T]=at<<24|it<<16|X|0;while(T!==0);for(D=1<<l-1;w&D;)D>>=1;if(D!==0?(w&=D-1,w+=D):w=0,c++,--U[l]===0){if(l===d)break;l=t[e+a[c]]}if(l>_&&(w&z)!==j){for(y===0&&(y=_),W+=p,I=l-y,B=1<<I;I+y<d&&(B-=U[I+y],!(B<=0));)I++,B<<=1;if(x+=1<<I,i===eHt&&x>bGe||i===SGe&&x>vGe)return 1;j=w&z,n[j]=_<<24|I<<16|W-s|0}}return w!==0&&(n[W+w]=l-y<<24|64<<16|0),o.bits=_,0},unt=mer,Ier=0,QFe=1,bFe=2,{Z_FINISH:kGe,Z_BLOCK:yer,Z_TREES:Eft,Z_OK:nF,Z_STREAM_END:Cer,Z_NEED_DICT:Eer,Z_STREAM_ERROR:fC,Z_DATA_ERROR:vFe,Z_MEM_ERROR:wFe,Z_BUF_ERROR:Ber,Z_DEFLATED:MGe}=Hz,Mft=16180,DGe=16181,RGe=16182,NGe=16183,LGe=16184,GGe=16185,FGe=16186,TGe=16187,UGe=16188,PGe=16189,wft=16190,Ob=16191,iHt=16192,OGe=16193,rHt=16194,jGe=16195,HGe=16196,zGe=16197,YGe=16198,Bft=16199,xft=16200,qGe=16201,JGe=16202,KGe=16203,VGe=16204,WGe=16205,nHt=16206,ZGe=16207,XGe=16208,ap=16209,SFe=16210,kFe=16211,xer=852,Qer=592,ber=15,ver=ber,$Ge=i=>(i>>>24&255)+(i>>>8&65280)+((i&65280)<<8)+((i&255)<<24);sF=i=>{if(!i)return 1;let t=i.state;return!t||t.strm!==i||t.mode<Mft||t.mode>kFe?1:0},MFe=i=>{if(sF(i))return fC;let t=i.state;return i.total_in=i.total_out=t.total=0,i.msg="",t.wrap&&(i.adler=t.wrap&1),t.mode=Mft,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(xer),t.distcode=t.distdyn=new Int32Array(Qer),t.sane=1,t.back=-1,nF},DFe=i=>{if(sF(i))return fC;let t=i.state;return t.wsize=0,t.whave=0,t.wnext=0,MFe(i)},RFe=(i,t)=>{let e;if(sF(i))return fC;let r=i.state;return t<0?(e=0,t=-t):(e=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?fC:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=e,r.wbits=t,DFe(i))},NFe=(i,t)=>{if(!i)return fC;let e=new wer;i.state=e,e.strm=i,e.window=null,e.mode=Mft;let r=RFe(i,t);return r!==nF&&(i.state=null),r},Ser=i=>NFe(i,ver),tFe=!0,ker=i=>{if(tFe){sHt=new Int32Array(512),aHt=new Int32Array(32);let t=0;for(;t<144;)i.lens[t++]=8;for(;t<256;)i.lens[t++]=9;for(;t<280;)i.lens[t++]=7;for(;t<288;)i.lens[t++]=8;for(unt(QFe,i.lens,0,288,sHt,0,i.work,{bits:9}),t=0;t<32;)i.lens[t++]=5;unt(bFe,i.lens,0,32,aHt,0,i.work,{bits:5}),tFe=!1}i.lencode=sHt,i.lenbits=9,i.distcode=aHt,i.distbits=5},LFe=(i,t,e,r)=>{let n,s=i.state;return s.window===null&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new Uint8Array(s.wsize)),r>=s.wsize?(s.window.set(t.subarray(e-s.wsize,e),0),s.wnext=0,s.whave=s.wsize):(n=s.wsize-s.wnext,n>r&&(n=r),s.window.set(t.subarray(e-r,e-r+n),s.wnext),r-=n,r?(s.window.set(t.subarray(e-r,e),0),s.wnext=r,s.whave=s.wsize):(s.wnext+=n,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=n))),0},Mer=(i,t)=>{let e,r,n,s,a,o,A,l,c,p,d,_,I,y,B=0,x,w,D,T,j,z,W,N,F=new Uint8Array(4),U,J,Z=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(sF(i)||!i.output||!i.input&&i.avail_in!==0)return fC;e=i.state,e.mode===Ob&&(e.mode=iHt),a=i.next_out,n=i.output,A=i.avail_out,s=i.next_in,r=i.input,o=i.avail_in,l=e.hold,c=e.bits,p=o,d=A,N=nF;t:for(;;)switch(e.mode){case Mft:if(e.wrap===0){e.mode=iHt;break}for(;c<16;){if(o===0)break t;o--,l+=r[s++]<<c,c+=8}if(e.wrap&2&&l===35615){e.wbits===0&&(e.wbits=15),e.check=0,F[0]=l&255,F[1]=l>>>8&255,e.check=xd(e.check,F,2,0),l=0,c=0,e.mode=DGe;break}if(e.head&&(e.head.done=!1),!(e.wrap&1)||(((l&255)<<8)+(l>>8))%31){i.msg="incorrect header check",e.mode=ap;break}if((l&15)!==MGe){i.msg="unknown compression method",e.mode=ap;break}if(l>>>=4,c-=4,W=(l&15)+8,e.wbits===0&&(e.wbits=W),W>15||W>e.wbits){i.msg="invalid window size",e.mode=ap;break}e.dmax=1<<e.wbits,e.flags=0,i.adler=e.check=1,e.mode=l&512?PGe:Ob,l=0,c=0;break;case DGe:for(;c<16;){if(o===0)break t;o--,l+=r[s++]<<c,c+=8}if(e.flags=l,(e.flags&255)!==MGe){i.msg="unknown compression method",e.mode=ap;break}if(e.flags&57344){i.msg="unknown header flags set",e.mode=ap;break}e.head&&(e.head.text=l>>8&1),e.flags&512&&e.wrap&4&&(F[0]=l&255,F[1]=l>>>8&255,e.check=xd(e.check,F,2,0)),l=0,c=0,e.mode=RGe;case RGe:for(;c<32;){if(o===0)break t;o--,l+=r[s++]<<c,c+=8}e.head&&(e.head.time=l),e.flags&512&&e.wrap&4&&(F[0]=l&255,F[1]=l>>>8&255,F[2]=l>>>16&255,F[3]=l>>>24&255,e.check=xd(e.check,F,4,0)),l=0,c=0,e.mode=NGe;case NGe:for(;c<16;){if(o===0)break t;o--,l+=r[s++]<<c,c+=8}e.head&&(e.head.xflags=l&255,e.head.os=l>>8),e.flags&512&&e.wrap&4&&(F[0]=l&255,F[1]=l>>>8&255,e.check=xd(e.check,F,2,0)),l=0,c=0,e.mode=LGe;case LGe:if(e.flags&1024){for(;c<16;){if(o===0)break t;o--,l+=r[s++]<<c,c+=8}e.length=l,e.head&&(e.head.extra_len=l),e.flags&512&&e.wrap&4&&(F[0]=l&255,F[1]=l>>>8&255,e.check=xd(e.check,F,2,0)),l=0,c=0}else e.head&&(e.head.extra=null);e.mode=GGe;case GGe:if(e.flags&1024&&(_=e.length,_>o&&(_=o),_&&(e.head&&(W=e.head.extra_len-e.length,e.head.extra||(e.head.extra=new Uint8Array(e.head.extra_len)),e.head.extra.set(r.subarray(s,s+_),W)),e.flags&512&&e.wrap&4&&(e.check=xd(e.check,r,_,s)),o-=_,s+=_,e.length-=_),e.length))break t;e.length=0,e.mode=FGe;case FGe:if(e.flags&2048){if(o===0)break t;_=0;do W=r[s+_++],e.head&&W&&e.length<65536&&(e.head.name+=String.fromCharCode(W));while(W&&_<o);if(e.flags&512&&e.wrap&4&&(e.check=xd(e.check,r,_,s)),o-=_,s+=_,W)break t}else e.head&&(e.head.name=null);e.length=0,e.mode=TGe;case TGe:if(e.flags&4096){if(o===0)break t;_=0;do W=r[s+_++],e.head&&W&&e.length<65536&&(e.head.comment+=String.fromCharCode(W));while(W&&_<o);if(e.flags&512&&e.wrap&4&&(e.check=xd(e.check,r,_,s)),o-=_,s+=_,W)break t}else e.head&&(e.head.comment=null);e.mode=UGe;case UGe:if(e.flags&512){for(;c<16;){if(o===0)break t;o--,l+=r[s++]<<c,c+=8}if(e.wrap&4&&l!==(e.check&65535)){i.msg="header crc mismatch",e.mode=ap;break}l=0,c=0}e.head&&(e.head.hcrc=e.flags>>9&1,e.head.done=!0),i.adler=e.check=0,e.mode=Ob;break;case PGe:for(;c<32;){if(o===0)break t;o--,l+=r[s++]<<c,c+=8}i.adler=e.check=$Ge(l),l=0,c=0,e.mode=wft;case wft:if(e.havedict===0)return i.next_out=a,i.avail_out=A,i.next_in=s,i.avail_in=o,e.hold=l,e.bits=c,Eer;i.adler=e.check=1,e.mode=Ob;case Ob:if(t===yer||t===Eft)break t;case iHt:if(e.last){l>>>=c&7,c-=c&7,e.mode=nHt;break}for(;c<3;){if(o===0)break t;o--,l+=r[s++]<<c,c+=8}switch(e.last=l&1,l>>>=1,c-=1,l&3){case 0:e.mode=OGe;break;case 1:if(ker(e),e.mode=Bft,t===Eft){l>>>=2,c-=2;break t}break;case 2:e.mode=HGe;break;case 3:i.msg="invalid block type",e.mode=ap}l>>>=2,c-=2;break;case OGe:for(l>>>=c&7,c-=c&7;c<32;){if(o===0)break t;o--,l+=r[s++]<<c,c+=8}if((l&65535)!==(l>>>16^65535)){i.msg="invalid stored block lengths",e.mode=ap;break}if(e.length=l&65535,l=0,c=0,e.mode=rHt,t===Eft)break t;case rHt:e.mode=jGe;case jGe:if(_=e.length,_){if(_>o&&(_=o),_>A&&(_=A),_===0)break t;n.set(r.subarray(s,s+_),a),o-=_,s+=_,A-=_,a+=_,e.length-=_;break}e.mode=Ob;break;case HGe:for(;c<14;){if(o===0)break t;o--,l+=r[s++]<<c,c+=8}if(e.nlen=(l&31)+257,l>>>=5,c-=5,e.ndist=(l&31)+1,l>>>=5,c-=5,e.ncode=(l&15)+4,l>>>=4,c-=4,e.nlen>286||e.ndist>30){i.msg="too many length or distance symbols",e.mode=ap;break}e.have=0,e.mode=zGe;case zGe:for(;e.have<e.ncode;){for(;c<3;){if(o===0)break t;o--,l+=r[s++]<<c,c+=8}e.lens[Z[e.have++]]=l&7,l>>>=3,c-=3}for(;e.have<19;)e.lens[Z[e.have++]]=0;if(e.lencode=e.lendyn,e.lenbits=7,U={bits:e.lenbits},N=unt(Ier,e.lens,0,19,e.lencode,0,e.work,U),e.lenbits=U.bits,N){i.msg="invalid code lengths set",e.mode=ap;break}e.have=0,e.mode=YGe;case YGe:for(;e.have<e.nlen+e.ndist;){for(;B=e.lencode[l&(1<<e.lenbits)-1],x=B>>>24,w=B>>>16&255,D=B&65535,!(x<=c);){if(o===0)break t;o--,l+=r[s++]<<c,c+=8}if(D<16)l>>>=x,c-=x,e.lens[e.have++]=D;else{if(D===16){for(J=x+2;c<J;){if(o===0)break t;o--,l+=r[s++]<<c,c+=8}if(l>>>=x,c-=x,e.have===0){i.msg="invalid bit length repeat",e.mode=ap;break}W=e.lens[e.have-1],_=3+(l&3),l>>>=2,c-=2}else if(D===17){for(J=x+3;c<J;){if(o===0)break t;o--,l+=r[s++]<<c,c+=8}l>>>=x,c-=x,W=0,_=3+(l&7),l>>>=3,c-=3}else{for(J=x+7;c<J;){if(o===0)break t;o--,l+=r[s++]<<c,c+=8}l>>>=x,c-=x,W=0,_=11+(l&127),l>>>=7,c-=7}if(e.have+_>e.nlen+e.ndist){i.msg="invalid bit length repeat",e.mode=ap;break}for(;_--;)e.lens[e.have++]=W}}if(e.mode===ap)break;if(e.lens[256]===0){i.msg="invalid code -- missing end-of-block",e.mode=ap;break}if(e.lenbits=9,U={bits:e.lenbits},N=unt(QFe,e.lens,0,e.nlen,e.lencode,0,e.work,U),e.lenbits=U.bits,N){i.msg="invalid literal/lengths set",e.mode=ap;break}if(e.distbits=6,e.distcode=e.distdyn,U={bits:e.distbits},N=unt(bFe,e.lens,e.nlen,e.ndist,e.distcode,0,e.work,U),e.distbits=U.bits,N){i.msg="invalid distances set",e.mode=ap;break}if(e.mode=Bft,t===Eft)break t;case Bft:e.mode=xft;case xft:if(o>=6&&A>=258){i.next_out=a,i.avail_out=A,i.next_in=s,i.avail_in=o,e.hold=l,e.bits=c,ger(i,d),a=i.next_out,n=i.output,A=i.avail_out,s=i.next_in,r=i.input,o=i.avail_in,l=e.hold,c=e.bits,e.mode===Ob&&(e.back=-1);break}for(e.back=0;B=e.lencode[l&(1<<e.lenbits)-1],x=B>>>24,w=B>>>16&255,D=B&65535,!(x<=c);){if(o===0)break t;o--,l+=r[s++]<<c,c+=8}if(w&&(w&240)===0){for(T=x,j=w,z=D;B=e.lencode[z+((l&(1<<T+j)-1)>>T)],x=B>>>24,w=B>>>16&255,D=B&65535,!(T+x<=c);){if(o===0)break t;o--,l+=r[s++]<<c,c+=8}l>>>=T,c-=T,e.back+=T}if(l>>>=x,c-=x,e.back+=x,e.length=D,w===0){e.mode=WGe;break}if(w&32){e.back=-1,e.mode=Ob;break}if(w&64){i.msg="invalid literal/length code",e.mode=ap;break}e.extra=w&15,e.mode=qGe;case qGe:if(e.extra){for(J=e.extra;c<J;){if(o===0)break t;o--,l+=r[s++]<<c,c+=8}e.length+=l&(1<<e.extra)-1,l>>>=e.extra,c-=e.extra,e.back+=e.extra}e.was=e.length,e.mode=JGe;case JGe:for(;B=e.distcode[l&(1<<e.distbits)-1],x=B>>>24,w=B>>>16&255,D=B&65535,!(x<=c);){if(o===0)break t;o--,l+=r[s++]<<c,c+=8}if((w&240)===0){for(T=x,j=w,z=D;B=e.distcode[z+((l&(1<<T+j)-1)>>T)],x=B>>>24,w=B>>>16&255,D=B&65535,!(T+x<=c);){if(o===0)break t;o--,l+=r[s++]<<c,c+=8}l>>>=T,c-=T,e.back+=T}if(l>>>=x,c-=x,e.back+=x,w&64){i.msg="invalid distance code",e.mode=ap;break}e.offset=D,e.extra=w&15,e.mode=KGe;case KGe:if(e.extra){for(J=e.extra;c<J;){if(o===0)break t;o--,l+=r[s++]<<c,c+=8}e.offset+=l&(1<<e.extra)-1,l>>>=e.extra,c-=e.extra,e.back+=e.extra}if(e.offset>e.dmax){i.msg="invalid distance too far back",e.mode=ap;break}e.mode=VGe;case VGe:if(A===0)break t;if(_=d-A,e.offset>_){if(_=e.offset-_,_>e.whave&&e.sane){i.msg="invalid distance too far back",e.mode=ap;break}_>e.wnext?(_-=e.wnext,I=e.wsize-_):I=e.wnext-_,_>e.length&&(_=e.length),y=e.window}else y=n,I=a-e.offset,_=e.length;_>A&&(_=A),A-=_,e.length-=_;do n[a++]=y[I++];while(--_);e.length===0&&(e.mode=xft);break;case WGe:if(A===0)break t;n[a++]=e.length,A--,e.mode=xft;break;case nHt:if(e.wrap){for(;c<32;){if(o===0)break t;o--,l|=r[s++]<<c,c+=8}if(d-=A,i.total_out+=d,e.total+=d,e.wrap&4&&d&&(i.adler=e.check=e.flags?xd(e.check,n,d,a-d):fnt(e.check,n,d,a-d)),d=A,e.wrap&4&&(e.flags?l:$Ge(l))!==e.check){i.msg="incorrect data check",e.mode=ap;break}l=0,c=0}e.mode=ZGe;case ZGe:if(e.wrap&&e.flags){for(;c<32;){if(o===0)break t;o--,l+=r[s++]<<c,c+=8}if(e.wrap&4&&l!==(e.total&4294967295)){i.msg="incorrect length check",e.mode=ap;break}l=0,c=0}e.mode=XGe;case XGe:N=Cer;break t;case ap:N=vFe;break t;case SFe:return wFe;case kFe:default:return fC}return i.next_out=a,i.avail_out=A,i.next_in=s,i.avail_in=o,e.hold=l,e.bits=c,(e.wsize||d!==i.avail_out&&e.mode<ap&&(e.mode<nHt||t!==kGe))&&LFe(i,i.output,i.next_out,d-i.avail_out),p-=i.avail_in,d-=i.avail_out,i.total_in+=p,i.total_out+=d,e.total+=d,e.wrap&4&&d&&(i.adler=e.check=e.flags?xd(e.check,n,d,i.next_out-d):fnt(e.check,n,d,i.next_out-d)),i.data_type=e.bits+(e.last?64:0)+(e.mode===Ob?128:0)+(e.mode===Bft||e.mode===rHt?256:0),(p===0&&d===0||t===kGe)&&N===nF&&(N=Ber),N},Der=i=>{if(sF(i))return fC;let t=i.state;return t.window&&(t.window=null),i.state=null,nF},Rer=(i,t)=>{if(sF(i))return fC;let e=i.state;return(e.wrap&2)===0?fC:(e.head=t,t.done=!1,nF)},Ner=(i,t)=>{let e=t.length,r,n,s;return sF(i)||(r=i.state,r.wrap!==0&&r.mode!==wft)?fC:r.mode===wft&&(n=1,n=fnt(n,t,e,0),n!==r.check)?vFe:(s=LFe(i,t,e,e),s?(r.mode=SFe,wFe):(r.havedict=1,nF))},Ler=DFe,Ger=RFe,Fer=MFe,Ter=Ser,Uer=NFe,Per=Mer,Oer=Der,jer=Rer,Her=Ner,zer="pako inflate (from Nodeca project)",Hb={inflateReset:Ler,inflateReset2:Ger,inflateResetKeep:Fer,inflateInit:Ter,inflateInit2:Uer,inflate:Per,inflateEnd:Oer,inflateGetHeader:jer,inflateSetDictionary:Her,inflateInfo:zer};qer=Yer,GFe=Object.prototype.toString,{Z_NO_FLUSH:Jer,Z_FINISH:Ker,Z_OK:ynt,Z_STREAM_END:oHt,Z_NEED_DICT:AHt,Z_STREAM_ERROR:Ver,Z_DATA_ERROR:eFe,Z_MEM_ERROR:Wer}=Hz;xnt.prototype.push=function(i,t){let e=this.strm,r=this.options.chunkSize,n=this.options.dictionary,s,a,o;if(this.ended)return!1;for(t===~~t?a=t:a=t===!0?Ker:Jer,GFe.call(i)==="[object ArrayBuffer]"?e.input=new Uint8Array(i):e.input=i,e.next_in=0,e.avail_in=e.input.length;;){for(e.avail_out===0&&(e.output=new Uint8Array(r),e.next_out=0,e.avail_out=r),s=Hb.inflate(e,a),s===AHt&&n&&(s=Hb.inflateSetDictionary(e,n),s===ynt?s=Hb.inflate(e,a):s===eFe&&(s=AHt));e.avail_in>0&&s===oHt&&e.state.wrap>0&&i[e.next_in]!==0;)Hb.inflateReset(e),s=Hb.inflate(e,a);switch(s){case Ver:case eFe:case AHt:case Wer:return this.onEnd(s),this.ended=!0,!1}if(o=e.avail_out,e.next_out&&(e.avail_out===0||s===oHt))if(this.options.to==="string"){let A=Int.utf8border(e.output,e.next_out),l=e.next_out-A,c=Int.buf2string(e.output,A);e.next_out=l,e.avail_out=r-l,l&&e.output.set(e.output.subarray(A,A+l),0),this.onData(c)}else this.onData(e.output.length===e.next_out?e.output:e.output.subarray(0,e.next_out));if(!(s===ynt&&o===0)){if(s===oHt)return s=Hb.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,!0;if(e.avail_in===0)break}}return!0};xnt.prototype.onData=function(i){this.chunks.push(i)};xnt.prototype.onEnd=function(i){i===ynt&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=kft.flattenChunks(this.chunks)),this.chunks=[],this.err=i,this.msg=this.strm.msg};Xer=xnt,$er=xHt,tir=Zer,eir=xHt,iir=Hz,rir={Inflate:Xer,inflate:$er,inflateRaw:tir,ungzip:eir,constants:iir},{Deflate:nvs,deflate:svs,deflateRaw:avs,gzip:ovs}=her,{Inflate:Avs,inflate:nir,inflateRaw:lvs,ungzip:cvs}=rir,Dft=nir});var FFe={};g0(FFe,{default:()=>Rft});var Rft,TFe=Pt(()=>{QHt();dM();Rft=class extends __{decodeBlock(t){return Dft(new Uint8Array(t)).buffer}}});var UFe={};g0(UFe,{default:()=>Nft});var Nft,PFe=Pt(()=>{dM();Nft=class extends __{decodeBlock(t){let e=new DataView(t),r=[];for(let n=0;n<t.byteLength;++n){let s=e.getInt8(n);if(s<0){let a=e.getUint8(n+1);s=-s;for(let o=0;o<=s;++o)r.push(a);n+=1}else{for(let a=0;a<=s;++a)r.push(e.getUint8(n+a+1));n+=s+1}}return new Uint8Array(r).buffer}}});var OFe=un((dvs,Lft)=>{(function(){var i=(function(){var n={};n.defaultNoDataValue=-34027999387901484e22,n.decode=function(c,p){p=p||{};var d=p.encodedMaskData||p.encodedMaskData===null,_=A(c,p.inputOffset||0,d),I=p.noDataValue!==null?p.noDataValue:n.defaultNoDataValue,y=s(_,p.pixelType||Float32Array,p.encodedMaskData,I,p.returnMask),B={width:_.width,height:_.height,pixelData:y.resultPixels,minValue:y.minValue,maxValue:_.pixels.maxValue,noDataValue:I};return y.resultMask&&(B.maskData=y.resultMask),p.returnEncodedMask&&_.mask&&(B.encodedMaskData=_.mask.bitset?_.mask.bitset:null),p.returnFileInfo&&(B.fileInfo=a(_),p.computeUsedBitDepths&&(B.fileInfo.bitDepths=o(_))),B};var s=function(c,p,d,_,I){var y=0,B=c.pixels.numBlocksX,x=c.pixels.numBlocksY,w=Math.floor(c.width/B),D=Math.floor(c.height/x),T=2*c.maxZError,j=Number.MAX_VALUE,z;d=d||(c.mask?c.mask.bitset:null);var W,N;W=new p(c.width*c.height),I&&d&&(N=new Uint8Array(c.width*c.height));for(var F=new Float32Array(w*D),U,J,Z=0;Z<=x;Z++){var at=Z!==x?D:c.height%x;if(at!==0)for(var it=0;it<=B;it++){var X=it!==B?w:c.width%B;if(X!==0){var rt=Z*c.width*D+it*w,ht=c.width-X,dt=c.pixels.blocks[y],Et,xt,Nt;dt.encoding<2?(dt.encoding===0?Et=dt.rawData:(l(dt.stuffedData,dt.bitsPerPixel,dt.numValidPixels,dt.offset,T,F,c.pixels.maxValue),Et=F),xt=0):dt.encoding===2?Nt=0:Nt=dt.offset;var wt;if(d)for(J=0;J<at;J++){for(rt&7&&(wt=d[rt>>3],wt<<=rt&7),U=0;U<X;U++)rt&7||(wt=d[rt>>3]),wt&128?(N&&(N[rt]=1),z=dt.encoding<2?Et[xt++]:Nt,j=j>z?z:j,W[rt++]=z):(N&&(N[rt]=0),W[rt++]=_),wt<<=1;rt+=ht}else if(dt.encoding<2)for(J=0;J<at;J++){for(U=0;U<X;U++)z=Et[xt++],j=j>z?z:j,W[rt++]=z;rt+=ht}else for(j=j>Nt?Nt:j,J=0;J<at;J++){for(U=0;U<X;U++)W[rt++]=Nt;rt+=ht}if(dt.encoding===1&&xt!==dt.numValidPixels)throw"Block and Mask do not match";y++}}}return{resultPixels:W,resultMask:N,minValue:j}},a=function(c){return{fileIdentifierString:c.fileIdentifierString,fileVersion:c.fileVersion,imageType:c.imageType,height:c.height,width:c.width,maxZError:c.maxZError,eofOffset:c.eofOffset,mask:c.mask?{numBlocksX:c.mask.numBlocksX,numBlocksY:c.mask.numBlocksY,numBytes:c.mask.numBytes,maxValue:c.mask.maxValue}:null,pixels:{numBlocksX:c.pixels.numBlocksX,numBlocksY:c.pixels.numBlocksY,numBytes:c.pixels.numBytes,maxValue:c.pixels.maxValue,noDataValue:c.noDataValue}}},o=function(c){for(var p=c.pixels.numBlocksX*c.pixels.numBlocksY,d={},_=0;_<p;_++){var I=c.pixels.blocks[_];I.encoding===0?d.float32=!0:I.encoding===1?d[I.bitsPerPixel]=!0:d[0]=!0}return Object.keys(d)},A=function(c,p,d){var _={},I=new Uint8Array(c,p,10);if(_.fileIdentifierString=String.fromCharCode.apply(null,I),_.fileIdentifierString.trim()!=="CntZImage")throw"Unexpected file identifier string: "+_.fileIdentifierString;p+=10;var y=new DataView(c,p,24);if(_.fileVersion=y.getInt32(0,!0),_.imageType=y.getInt32(4,!0),_.height=y.getUint32(8,!0),_.width=y.getUint32(12,!0),_.maxZError=y.getFloat64(16,!0),p+=24,!d)if(y=new DataView(c,p,16),_.mask={},_.mask.numBlocksY=y.getUint32(0,!0),_.mask.numBlocksX=y.getUint32(4,!0),_.mask.numBytes=y.getUint32(8,!0),_.mask.maxValue=y.getFloat32(12,!0),p+=16,_.mask.numBytes>0){var B=new Uint8Array(Math.ceil(_.width*_.height/8));y=new DataView(c,p,_.mask.numBytes);var x=y.getInt16(0,!0),w=2,D=0;do{if(x>0)for(;x--;)B[D++]=y.getUint8(w++);else{var T=y.getUint8(w++);for(x=-x;x--;)B[D++]=T}x=y.getInt16(w,!0),w+=2}while(w<_.mask.numBytes);if(x!==-32768||D<B.length)throw"Unexpected end of mask RLE encoding";_.mask.bitset=B,p+=_.mask.numBytes}else(_.mask.numBytes|_.mask.numBlocksY|_.mask.maxValue)===0&&(_.mask.bitset=new Uint8Array(Math.ceil(_.width*_.height/8)));y=new DataView(c,p,16),_.pixels={},_.pixels.numBlocksY=y.getUint32(0,!0),_.pixels.numBlocksX=y.getUint32(4,!0),_.pixels.numBytes=y.getUint32(8,!0),_.pixels.maxValue=y.getFloat32(12,!0),p+=16;var j=_.pixels.numBlocksX,z=_.pixels.numBlocksY,W=j+(_.width%j>0?1:0),N=z+(_.height%z>0?1:0);_.pixels.blocks=new Array(W*N);for(var F=0,U=0;U<N;U++)for(var J=0;J<W;J++){var Z=0,at=c.byteLength-p;y=new DataView(c,p,Math.min(10,at));var it={};_.pixels.blocks[F++]=it;var X=y.getUint8(0);if(Z++,it.encoding=X&63,it.encoding>3)throw"Invalid block encoding ("+it.encoding+")";if(it.encoding===2){p++;continue}if(X!==0&&X!==2){if(X>>=6,it.offsetType=X,X===2)it.offset=y.getInt8(1),Z++;else if(X===1)it.offset=y.getInt16(1,!0),Z+=2;else if(X===0)it.offset=y.getFloat32(1,!0),Z+=4;else throw"Invalid block offset type";if(it.encoding===1)if(X=y.getUint8(Z),Z++,it.bitsPerPixel=X&63,X>>=6,it.numValidPixelsType=X,X===2)it.numValidPixels=y.getUint8(Z),Z++;else if(X===1)it.numValidPixels=y.getUint16(Z,!0),Z+=2;else if(X===0)it.numValidPixels=y.getUint32(Z,!0),Z+=4;else throw"Invalid valid pixel count type"}if(p+=Z,it.encoding!==3){var rt,ht;if(it.encoding===0){var dt=(_.pixels.numBytes-1)/4;if(dt!==Math.floor(dt))throw"uncompressed block has invalid length";rt=new ArrayBuffer(dt*4),ht=new Uint8Array(rt),ht.set(new Uint8Array(c,p,dt*4));var Et=new Float32Array(rt);it.rawData=Et,p+=dt*4}else if(it.encoding===1){var xt=Math.ceil(it.numValidPixels*it.bitsPerPixel/8),Nt=Math.ceil(xt/4);rt=new ArrayBuffer(Nt*4),ht=new Uint8Array(rt),ht.set(new Uint8Array(c,p,xt)),it.stuffedData=new Uint32Array(rt),p+=xt}}}return _.eofOffset=p,_},l=function(c,p,d,_,I,y,B){var x=(1<<p)-1,w=0,D,T=0,j,z,W=Math.ceil((B-_)/I),N=c.length*4-Math.ceil(p*d/8);for(c[c.length-1]<<=8*N,D=0;D<d;D++){if(T===0&&(z=c[w++],T=32),T>=p)j=z>>>T-p&x,T-=p;else{var F=p-T;j=(z&x)<<F&x,z=c[w++],T=32-F,j+=z>>>T}y[D]=j<W?_+j*I:B}return y};return n})(),t=(function(){"use strict";var n={unstuff:function(A,l,c,p,d,_,I,y){var B=(1<<c)-1,x=0,w,D=0,T,j,z,W,N=A.length*4-Math.ceil(c*p/8);if(A[A.length-1]<<=8*N,d)for(w=0;w<p;w++)D===0&&(j=A[x++],D=32),D>=c?(T=j>>>D-c&B,D-=c):(z=c-D,T=(j&B)<<z&B,j=A[x++],D=32-z,T+=j>>>D),l[w]=d[T];else for(W=Math.ceil((y-_)/I),w=0;w<p;w++)D===0&&(j=A[x++],D=32),D>=c?(T=j>>>D-c&B,D-=c):(z=c-D,T=(j&B)<<z&B,j=A[x++],D=32-z,T+=j>>>D),l[w]=T<W?_+T*I:y},unstuffLUT:function(A,l,c,p,d,_){var I=(1<<l)-1,y=0,B=0,x=0,w=0,D=0,T,j=[],z=A.length*4-Math.ceil(l*c/8);A[A.length-1]<<=8*z;var W=Math.ceil((_-p)/d);for(B=0;B<c;B++)w===0&&(T=A[y++],w=32),w>=l?(D=T>>>w-l&I,w-=l):(x=l-w,D=(T&I)<<x&I,T=A[y++],w=32-x,D+=T>>>w),j[B]=D<W?p+D*d:_;return j.unshift(p),j},unstuff2:function(A,l,c,p,d,_,I,y){var B=(1<<c)-1,x=0,w,D=0,T=0,j,z,W;if(d)for(w=0;w<p;w++)D===0&&(z=A[x++],D=32,T=0),D>=c?(j=z>>>T&B,D-=c,T+=c):(W=c-D,j=z>>>T&B,z=A[x++],D=32-W,j|=(z&(1<<W)-1)<<c-W,T=W),l[w]=d[j];else{var N=Math.ceil((y-_)/I);for(w=0;w<p;w++)D===0&&(z=A[x++],D=32,T=0),D>=c?(j=z>>>T&B,D-=c,T+=c):(W=c-D,j=z>>>T&B,z=A[x++],D=32-W,j|=(z&(1<<W)-1)<<c-W,T=W),l[w]=j<N?_+j*I:y}return l},unstuffLUT2:function(A,l,c,p,d,_){var I=(1<<l)-1,y=0,B=0,x=0,w=0,D=0,T=0,j,z=[],W=Math.ceil((_-p)/d);for(B=0;B<c;B++)w===0&&(j=A[y++],w=32,T=0),w>=l?(D=j>>>T&I,w-=l,T+=l):(x=l-w,D=j>>>T&I,j=A[y++],w=32-x,D|=(j&(1<<x)-1)<<l-x,T=x),z[B]=D<W?p+D*d:_;return z.unshift(p),z},originalUnstuff:function(A,l,c,p){var d=(1<<c)-1,_=0,I,y=0,B,x,w,D=A.length*4-Math.ceil(c*p/8);for(A[A.length-1]<<=8*D,I=0;I<p;I++)y===0&&(x=A[_++],y=32),y>=c?(B=x>>>y-c&d,y-=c):(w=c-y,B=(x&d)<<w&d,x=A[_++],y=32-w,B+=x>>>y),l[I]=B;return l},originalUnstuff2:function(A,l,c,p){var d=(1<<c)-1,_=0,I,y=0,B=0,x,w,D;for(I=0;I<p;I++)y===0&&(w=A[_++],y=32,B=0),y>=c?(x=w>>>B&d,y-=c,B+=c):(D=c-y,x=w>>>B&d,w=A[_++],y=32-D,x|=(w&(1<<D)-1)<<c-D,B=D),l[I]=x;return l}},s={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(A){for(var l=65535,c=65535,p=A.length,d=Math.floor(p/2),_=0;d;){var I=d>=359?359:d;d-=I;do l+=A[_++]<<8,c+=l+=A[_++];while(--I);l=(l&65535)+(l>>>16),c=(c&65535)+(c>>>16)}return p&1&&(c+=l+=A[_]<<8),l=(l&65535)+(l>>>16),c=(c&65535)+(c>>>16),(c<<16|l)>>>0},readHeaderInfo:function(A,l){var c=l.ptr,p=new Uint8Array(A,c,6),d={};if(d.fileIdentifierString=String.fromCharCode.apply(null,p),d.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+d.fileIdentifierString;c+=6;var _=new DataView(A,c,8),I=_.getInt32(0,!0);d.fileVersion=I,c+=4,I>=3&&(d.checksum=_.getUint32(4,!0),c+=4),_=new DataView(A,c,12),d.height=_.getUint32(0,!0),d.width=_.getUint32(4,!0),c+=8,I>=4?(d.numDims=_.getUint32(8,!0),c+=4):d.numDims=1,_=new DataView(A,c,40),d.numValidPixel=_.getUint32(0,!0),d.microBlockSize=_.getInt32(4,!0),d.blobSize=_.getInt32(8,!0),d.imageType=_.getInt32(12,!0),d.maxZError=_.getFloat64(16,!0),d.zMin=_.getFloat64(24,!0),d.zMax=_.getFloat64(32,!0),c+=40,l.headerInfo=d,l.ptr=c;var y,B;if(I>=3&&(B=I>=4?52:48,y=this.computeChecksumFletcher32(new Uint8Array(A,c-B,d.blobSize-14)),y!==d.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(A,l){var c=l.headerInfo,p=this.getDataTypeArray(c.imageType),d=c.numDims*this.getDataTypeSize(c.imageType),_=this.readSubArray(A,l.ptr,p,d),I=this.readSubArray(A,l.ptr+d,p,d);l.ptr+=2*d;var y,B=!0;for(y=0;y<c.numDims;y++)if(_[y]!==I[y]){B=!1;break}return c.minValues=_,c.maxValues=I,B},readSubArray:function(A,l,c,p){var d;if(c===Uint8Array)d=new Uint8Array(A,l,p);else{var _=new ArrayBuffer(p),I=new Uint8Array(_);I.set(new Uint8Array(A,l,p)),d=new c(_)}return d},readMask:function(A,l){var c=l.ptr,p=l.headerInfo,d=p.width*p.height,_=p.numValidPixel,I=new DataView(A,c,4),y={};if(y.numBytes=I.getUint32(0,!0),c+=4,(_===0||d===_)&&y.numBytes!==0)throw"invalid mask";var B,x;if(_===0)B=new Uint8Array(Math.ceil(d/8)),y.bitset=B,x=new Uint8Array(d),l.pixels.resultMask=x,c+=y.numBytes;else if(y.numBytes>0){B=new Uint8Array(Math.ceil(d/8)),I=new DataView(A,c,y.numBytes);var w=I.getInt16(0,!0),D=2,T=0,j=0;do{if(w>0)for(;w--;)B[T++]=I.getUint8(D++);else for(j=I.getUint8(D++),w=-w;w--;)B[T++]=j;w=I.getInt16(D,!0),D+=2}while(D<y.numBytes);if(w!==-32768||T<B.length)throw"Unexpected end of mask RLE encoding";x=new Uint8Array(d);var z=0,W=0;for(W=0;W<d;W++)W&7?(z=B[W>>3],z<<=W&7):z=B[W>>3],z&128&&(x[W]=1);l.pixels.resultMask=x,y.bitset=B,c+=y.numBytes}return l.ptr=c,l.mask=y,!0},readDataOneSweep:function(A,l,c,p){var d=l.ptr,_=l.headerInfo,I=_.numDims,y=_.width*_.height,B=_.imageType,x=_.numValidPixel*s.getDataTypeSize(B)*I,w,D=l.pixels.resultMask;if(c===Uint8Array)w=new Uint8Array(A,d,x);else{var T=new ArrayBuffer(x),j=new Uint8Array(T);j.set(new Uint8Array(A,d,x)),w=new c(T)}if(w.length===y*I)p?l.pixels.resultPixels=s.swapDimensionOrder(w,y,I,c,!0):l.pixels.resultPixels=w;else{l.pixels.resultPixels=new c(y*I);var z=0,W=0,N=0,F=0;if(I>1){if(p){for(W=0;W<y;W++)if(D[W])for(F=W,N=0;N<I;N++,F+=y)l.pixels.resultPixels[F]=w[z++]}else for(W=0;W<y;W++)if(D[W])for(F=W*I,N=0;N<I;N++)l.pixels.resultPixels[F+N]=w[z++]}else for(W=0;W<y;W++)D[W]&&(l.pixels.resultPixels[W]=w[z++])}return d+=x,l.ptr=d,!0},readHuffmanTree:function(A,l){var c=this.HUFFMAN_LUT_BITS_MAX,p=new DataView(A,l.ptr,16);l.ptr+=16;var d=p.getInt32(0,!0);if(d<2)throw"unsupported Huffman version";var _=p.getInt32(4,!0),I=p.getInt32(8,!0),y=p.getInt32(12,!0);if(I>=y)return!1;var B=new Uint32Array(y-I);s.decodeBits(A,l,B);var x=[],w,D,T,j;for(w=I;w<y;w++)D=w-(w<_?0:_),x[D]={first:B[w-I],second:null};var z=A.byteLength-l.ptr,W=Math.ceil(z/4),N=new ArrayBuffer(W*4),F=new Uint8Array(N);F.set(new Uint8Array(A,l.ptr,z));var U=new Uint32Array(N),J=0,Z,at=0;for(Z=U[0],w=I;w<y;w++)D=w-(w<_?0:_),j=x[D].first,j>0&&(x[D].second=Z<<J>>>32-j,32-J>=j?(J+=j,J===32&&(J=0,at++,Z=U[at])):(J+=j-32,at++,Z=U[at],x[D].second|=Z>>>32-J));var it=0,X=0,rt=new a;for(w=0;w<x.length;w++)x[w]!==void 0&&(it=Math.max(it,x[w].first));it>=c?X=c:X=it;var ht=[],dt,Et,xt,Nt,wt,kt;for(w=I;w<y;w++)if(D=w-(w<_?0:_),j=x[D].first,j>0)if(dt=[j,D],j<=X)for(Et=x[D].second<<X-j,xt=1<<X-j,T=0;T<xt;T++)ht[Et|T]=dt;else for(Et=x[D].second,kt=rt,Nt=j-1;Nt>=0;Nt--)wt=Et>>>Nt&1,wt?(kt.right||(kt.right=new a),kt=kt.right):(kt.left||(kt.left=new a),kt=kt.left),Nt===0&&!kt.val&&(kt.val=dt[1]);return{decodeLut:ht,numBitsLUTQick:X,numBitsLUT:it,tree:rt,stuffedData:U,srcPtr:at,bitPos:J}},readHuffman:function(A,l,c,p){var d=l.headerInfo,_=d.numDims,I=l.headerInfo.height,y=l.headerInfo.width,B=y*I,x=this.readHuffmanTree(A,l),w=x.decodeLut,D=x.tree,T=x.stuffedData,j=x.srcPtr,z=x.bitPos,W=x.numBitsLUTQick,N=x.numBitsLUT,F=l.headerInfo.imageType===0?128:0,U,J,Z,at=l.pixels.resultMask,it,X,rt,ht,dt,Et,xt,Nt=0;z>0&&(j++,z=0);var wt=T[j],kt=l.encodeMode===1,Ft=new c(B*_),qt=Ft,se;if(_<2||kt){for(se=0;se<_;se++)if(_>1&&(qt=new c(Ft.buffer,B*se,B),Nt=0),l.headerInfo.numValidPixel===y*I)for(Et=0,ht=0;ht<I;ht++)for(dt=0;dt<y;dt++,Et++){if(J=0,it=wt<<z>>>32-W,X=it,32-z<W&&(it|=T[j+1]>>>64-z-W,X=it),w[X])J=w[X][1],z+=w[X][0];else for(it=wt<<z>>>32-N,X=it,32-z<N&&(it|=T[j+1]>>>64-z-N,X=it),U=D,xt=0;xt<N;xt++)if(rt=it>>>N-xt-1&1,U=rt?U.right:U.left,!(U.left||U.right)){J=U.val,z=z+xt+1;break}z>=32&&(z-=32,j++,wt=T[j]),Z=J-F,kt?(dt>0?Z+=Nt:ht>0?Z+=qt[Et-y]:Z+=Nt,Z&=255,qt[Et]=Z,Nt=Z):qt[Et]=Z}else for(Et=0,ht=0;ht<I;ht++)for(dt=0;dt<y;dt++,Et++)if(at[Et]){if(J=0,it=wt<<z>>>32-W,X=it,32-z<W&&(it|=T[j+1]>>>64-z-W,X=it),w[X])J=w[X][1],z+=w[X][0];else for(it=wt<<z>>>32-N,X=it,32-z<N&&(it|=T[j+1]>>>64-z-N,X=it),U=D,xt=0;xt<N;xt++)if(rt=it>>>N-xt-1&1,U=rt?U.right:U.left,!(U.left||U.right)){J=U.val,z=z+xt+1;break}z>=32&&(z-=32,j++,wt=T[j]),Z=J-F,kt?(dt>0&&at[Et-1]?Z+=Nt:ht>0&&at[Et-y]?Z+=qt[Et-y]:Z+=Nt,Z&=255,qt[Et]=Z,Nt=Z):qt[Et]=Z}}else for(Et=0,ht=0;ht<I;ht++)for(dt=0;dt<y;dt++)if(Et=ht*y+dt,!at||at[Et])for(se=0;se<_;se++,Et+=B){if(J=0,it=wt<<z>>>32-W,X=it,32-z<W&&(it|=T[j+1]>>>64-z-W,X=it),w[X])J=w[X][1],z+=w[X][0];else for(it=wt<<z>>>32-N,X=it,32-z<N&&(it|=T[j+1]>>>64-z-N,X=it),U=D,xt=0;xt<N;xt++)if(rt=it>>>N-xt-1&1,U=rt?U.right:U.left,!(U.left||U.right)){J=U.val,z=z+xt+1;break}z>=32&&(z-=32,j++,wt=T[j]),Z=J-F,qt[Et]=Z}l.ptr=l.ptr+(j+1)*4+(z>0?4:0),l.pixels.resultPixels=Ft,_>1&&!p&&(l.pixels.resultPixels=s.swapDimensionOrder(Ft,B,_,c))},decodeBits:function(A,l,c,p,d){{var _=l.headerInfo,I=_.fileVersion,y=0,B=A.byteLength-l.ptr>=5?5:A.byteLength-l.ptr,x=new DataView(A,l.ptr,B),w=x.getUint8(0);y++;var D=w>>6,T=D===0?4:3-D,j=(w&32)>0,z=w&31,W=0;if(T===1)W=x.getUint8(y),y++;else if(T===2)W=x.getUint16(y,!0),y+=2;else if(T===4)W=x.getUint32(y,!0),y+=4;else throw"Invalid valid pixel count type";var N=2*_.maxZError,F,U,J,Z,at,it,X,rt,ht,dt,Et=_.numDims>1?_.maxValues[d]:_.zMax;if(j){for(l.counter.lut++,rt=x.getUint8(y),ht=z,y++,Z=Math.ceil((rt-1)*z/8),at=Math.ceil(Z/4),U=new ArrayBuffer(at*4),J=new Uint8Array(U),l.ptr+=y,J.set(new Uint8Array(A,l.ptr,Z)),X=new Uint32Array(U),l.ptr+=Z,dt=0;rt-1>>>dt;)dt++;Z=Math.ceil(W*dt/8),at=Math.ceil(Z/4),U=new ArrayBuffer(at*4),J=new Uint8Array(U),J.set(new Uint8Array(A,l.ptr,Z)),F=new Uint32Array(U),l.ptr+=Z,I>=3?it=n.unstuffLUT2(X,z,rt-1,p,N,Et):it=n.unstuffLUT(X,z,rt-1,p,N,Et),I>=3?n.unstuff2(F,c,dt,W,it):n.unstuff(F,c,dt,W,it)}else l.counter.bitstuffer++,dt=z,l.ptr+=y,dt>0&&(Z=Math.ceil(W*dt/8),at=Math.ceil(Z/4),U=new ArrayBuffer(at*4),J=new Uint8Array(U),J.set(new Uint8Array(A,l.ptr,Z)),F=new Uint32Array(U),l.ptr+=Z,I>=3?p==null?n.originalUnstuff2(F,c,dt,W):n.unstuff2(F,c,dt,W,!1,p,N,Et):p==null?n.originalUnstuff(F,c,dt,W):n.unstuff(F,c,dt,W,!1,p,N,Et))}},readTiles:function(A,l,c,p){var d=l.headerInfo,_=d.width,I=d.height,y=_*I,B=d.microBlockSize,x=d.imageType,w=s.getDataTypeSize(x),D=Math.ceil(_/B),T=Math.ceil(I/B);l.pixels.numBlocksY=T,l.pixels.numBlocksX=D,l.pixels.ptr=0;var j=0,z=0,W=0,N=0,F=0,U=0,J=0,Z=0,at=0,it=0,X=0,rt=0,ht=0,dt=0,Et=0,xt=0,Nt,wt,kt,Ft,qt,se,Ie=new c(B*B),Tt=I%B||B,$e=_%B||B,Pe,we,pt=d.numDims,ye,ci=l.pixels.resultMask,ie=l.pixels.resultPixels,Ke=d.fileVersion,Le=Ke>=5?14:15,qe,ce=d.zMax,gi;for(W=0;W<T;W++)for(F=W!==T-1?B:Tt,N=0;N<D;N++)for(U=N!==D-1?B:$e,X=W*_*B+N*B,rt=_-U,ye=0;ye<pt;ye++){if(pt>1?(gi=ie,X=W*_*B+N*B,ie=new c(l.pixels.resultPixels.buffer,y*ye*w,y),ce=d.maxValues[ye]):gi=null,J=A.byteLength-l.ptr,Nt=new DataView(A,l.ptr,Math.min(10,J)),wt={},xt=0,Z=Nt.getUint8(0),xt++,qe=d.fileVersion>=5?Z&4:0,at=Z>>6&255,it=Z>>2&Le,it!==(N*B>>3&Le)||qe&&ye===0)throw"integrity issue";if(se=Z&3,se>3)throw l.ptr+=xt,"Invalid block encoding ("+se+")";if(se===2){if(qe)if(ci)for(j=0;j<F;j++)for(z=0;z<U;z++)ci[X]&&(ie[X]=gi[X]),X++;else for(j=0;j<F;j++)for(z=0;z<U;z++)ie[X]=gi[X],X++;l.counter.constant++,l.ptr+=xt;continue}else if(se===0){if(qe)throw"integrity issue";if(l.counter.uncompressed++,l.ptr+=xt,ht=F*U*w,dt=A.byteLength-l.ptr,ht=ht<dt?ht:dt,kt=new ArrayBuffer(ht%w===0?ht:ht+w-ht%w),Ft=new Uint8Array(kt),Ft.set(new Uint8Array(A,l.ptr,ht)),qt=new c(kt),Et=0,ci)for(j=0;j<F;j++){for(z=0;z<U;z++)ci[X]&&(ie[X]=qt[Et++]),X++;X+=rt}else for(j=0;j<F;j++){for(z=0;z<U;z++)ie[X++]=qt[Et++];X+=rt}l.ptr+=Et*w}else if(Pe=s.getDataTypeUsed(qe&&x<6?4:x,at),we=s.getOnePixel(wt,xt,Pe,Nt),xt+=s.getDataTypeSize(Pe),se===3)if(l.ptr+=xt,l.counter.constantoffset++,ci)for(j=0;j<F;j++){for(z=0;z<U;z++)ci[X]&&(ie[X]=qe?Math.min(ce,gi[X]+we):we),X++;X+=rt}else for(j=0;j<F;j++){for(z=0;z<U;z++)ie[X]=qe?Math.min(ce,gi[X]+we):we,X++;X+=rt}else if(l.ptr+=xt,s.decodeBits(A,l,Ie,we,ye),xt=0,qe)if(ci)for(j=0;j<F;j++){for(z=0;z<U;z++)ci[X]&&(ie[X]=Ie[xt++]+gi[X]),X++;X+=rt}else for(j=0;j<F;j++){for(z=0;z<U;z++)ie[X]=Ie[xt++]+gi[X],X++;X+=rt}else if(ci)for(j=0;j<F;j++){for(z=0;z<U;z++)ci[X]&&(ie[X]=Ie[xt++]),X++;X+=rt}else for(j=0;j<F;j++){for(z=0;z<U;z++)ie[X++]=Ie[xt++];X+=rt}}pt>1&&!p&&(l.pixels.resultPixels=s.swapDimensionOrder(l.pixels.resultPixels,y,pt,c))},formatFileInfo:function(A){return{fileIdentifierString:A.headerInfo.fileIdentifierString,fileVersion:A.headerInfo.fileVersion,imageType:A.headerInfo.imageType,height:A.headerInfo.height,width:A.headerInfo.width,numValidPixel:A.headerInfo.numValidPixel,microBlockSize:A.headerInfo.microBlockSize,blobSize:A.headerInfo.blobSize,maxZError:A.headerInfo.maxZError,pixelType:s.getPixelType(A.headerInfo.imageType),eofOffset:A.eofOffset,mask:A.mask?{numBytes:A.mask.numBytes}:null,pixels:{numBlocksX:A.pixels.numBlocksX,numBlocksY:A.pixels.numBlocksY,maxValue:A.headerInfo.zMax,minValue:A.headerInfo.zMin,noDataValue:A.noDataValue}}},constructConstantSurface:function(A,l){var c=A.headerInfo.zMax,p=A.headerInfo.zMin,d=A.headerInfo.maxValues,_=A.headerInfo.numDims,I=A.headerInfo.height*A.headerInfo.width,y=0,B=0,x=0,w=A.pixels.resultMask,D=A.pixels.resultPixels;if(w)if(_>1){if(l)for(y=0;y<_;y++)for(x=y*I,c=d[y],B=0;B<I;B++)w[B]&&(D[x+B]=c);else for(B=0;B<I;B++)if(w[B])for(x=B*_,y=0;y<_;y++)D[x+_]=d[y]}else for(B=0;B<I;B++)w[B]&&(D[B]=c);else if(_>1&&p!==c)if(l)for(y=0;y<_;y++)for(x=y*I,c=d[y],B=0;B<I;B++)D[x+B]=c;else for(B=0;B<I;B++)for(x=B*_,y=0;y<_;y++)D[x+y]=d[y];else for(B=0;B<I*_;B++)D[B]=c},getDataTypeArray:function(A){var l;switch(A){case 0:l=Int8Array;break;case 1:l=Uint8Array;break;case 2:l=Int16Array;break;case 3:l=Uint16Array;break;case 4:l=Int32Array;break;case 5:l=Uint32Array;break;case 6:l=Float32Array;break;case 7:l=Float64Array;break;default:l=Float32Array}return l},getPixelType:function(A){var l;switch(A){case 0:l="S8";break;case 1:l="U8";break;case 2:l="S16";break;case 3:l="U16";break;case 4:l="S32";break;case 5:l="U32";break;case 6:l="F32";break;case 7:l="F64";break;default:l="F32"}return l},isValidPixelValue:function(A,l){if(l==null)return!1;var c;switch(A){case 0:c=l>=-128&&l<=127;break;case 1:c=l>=0&&l<=255;break;case 2:c=l>=-32768&&l<=32767;break;case 3:c=l>=0&&l<=65536;break;case 4:c=l>=-2147483648&&l<=2147483647;break;case 5:c=l>=0&&l<=4294967296;break;case 6:c=l>=-34027999387901484e22&&l<=34027999387901484e22;break;case 7:c=l>=-17976931348623157e292&&l<=17976931348623157e292;break;default:c=!1}return c},getDataTypeSize:function(A){var l=0;switch(A){case 0:case 1:l=1;break;case 2:case 3:l=2;break;case 4:case 5:case 6:l=4;break;case 7:l=8;break;default:l=A}return l},getDataTypeUsed:function(A,l){var c=A;switch(A){case 2:case 4:c=A-l;break;case 3:case 5:c=A-2*l;break;case 6:l===0?c=A:l===1?c=2:c=1;break;case 7:l===0?c=A:c=A-2*l+1;break;default:c=A;break}return c},getOnePixel:function(A,l,c,p){var d=0;switch(c){case 0:d=p.getInt8(l);break;case 1:d=p.getUint8(l);break;case 2:d=p.getInt16(l,!0);break;case 3:d=p.getUint16(l,!0);break;case 4:d=p.getInt32(l,!0);break;case 5:d=p.getUInt32(l,!0);break;case 6:d=p.getFloat32(l,!0);break;case 7:d=p.getFloat64(l,!0);break;default:throw"the decoder does not understand this pixel type"}return d},swapDimensionOrder:function(A,l,c,p,d){var _=0,I=0,y=0,B=0,x=A;if(c>1)if(x=new p(l*c),d)for(_=0;_<l;_++)for(B=_,y=0;y<c;y++,B+=l)x[B]=A[I++];else for(_=0;_<l;_++)for(B=_,y=0;y<c;y++,B+=l)x[I++]=A[B];return x}},a=function(A,l,c){this.val=A,this.left=l,this.right=c},o={decode:function(A,l){l=l||{};var c=l.noDataValue,p=0,d={};if(d.ptr=l.inputOffset||0,d.pixels={},!!s.readHeaderInfo(A,d)){var _=d.headerInfo,I=_.fileVersion,y=s.getDataTypeArray(_.imageType);if(I>5)throw"unsupported lerc version 2."+I;s.readMask(A,d),_.numValidPixel!==_.width*_.height&&!d.pixels.resultMask&&(d.pixels.resultMask=l.maskData);var B=_.width*_.height;d.pixels.resultPixels=new y(B*_.numDims),d.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var x=!l.returnPixelInterleavedDims;if(_.numValidPixel!==0)if(_.zMax===_.zMin)s.constructConstantSurface(d,x);else if(I>=4&&s.checkMinMaxRanges(A,d))s.constructConstantSurface(d,x);else{var w=new DataView(A,d.ptr,2),D=w.getUint8(0);if(d.ptr++,D)s.readDataOneSweep(A,d,y,x);else if(I>1&&_.imageType<=1&&Math.abs(_.maxZError-.5)<1e-5){var T=w.getUint8(1);if(d.ptr++,d.encodeMode=T,T>2||I<4&&T>1)throw"Invalid Huffman flag "+T;T?s.readHuffman(A,d,y,x):s.readTiles(A,d,y,x)}else s.readTiles(A,d,y,x)}d.eofOffset=d.ptr;var j;l.inputOffset?(j=d.headerInfo.blobSize+l.inputOffset-d.ptr,Math.abs(j)>=1&&(d.eofOffset=l.inputOffset+d.headerInfo.blobSize)):(j=d.headerInfo.blobSize-d.ptr,Math.abs(j)>=1&&(d.eofOffset=d.headerInfo.blobSize));var z={width:_.width,height:_.height,pixelData:d.pixels.resultPixels,minValue:_.zMin,maxValue:_.zMax,validPixelCount:_.numValidPixel,dimCount:_.numDims,dimStats:{minValues:_.minValues,maxValues:_.maxValues},maskData:d.pixels.resultMask};if(d.pixels.resultMask&&s.isValidPixelValue(_.imageType,c)){var W=d.pixels.resultMask;for(p=0;p<B;p++)W[p]||(z.pixelData[p]=c);z.noDataValue=c}return d.noDataValue=c,l.returnFileInfo&&(z.fileInfo=s.formatFileInfo(d)),z}},getBandCount:function(A){var l=0,c=0,p={};for(p.ptr=0,p.pixels={};c<A.byteLength-58;)s.readHeaderInfo(A,p),c+=p.headerInfo.blobSize,l++,p.ptr=c;return l}};return o})(),e=(function(){var n=new ArrayBuffer(4),s=new Uint8Array(n),a=new Uint32Array(n);return a[0]=1,s[0]===1})(),r={decode:function(n,s){if(!e)throw"Big endian system is not supported.";s=s||{};var a=s.inputOffset||0,o=new Uint8Array(n,a,10),A=String.fromCharCode.apply(null,o),l,c;if(A.trim()==="CntZImage")l=i,c=1;else if(A.substring(0,5)==="Lerc2")l=t,c=2;else throw"Unexpected file identifier string: "+A;for(var p=0,d=n.byteLength-10,_,I=[],y,B,x={width:0,height:0,pixels:[],pixelType:s.pixelType,mask:null,statistics:[]},w=0;a<d;){var D=l.decode(n,{inputOffset:a,encodedMaskData:_,maskData:B,returnMask:p===0,returnEncodedMask:p===0,returnFileInfo:!0,returnPixelInterleavedDims:s.returnPixelInterleavedDims,pixelType:s.pixelType||null,noDataValue:s.noDataValue||null});a=D.fileInfo.eofOffset,B=D.maskData,p===0&&(_=D.encodedMaskData,x.width=D.width,x.height=D.height,x.dimCount=D.dimCount||1,x.pixelType=D.pixelType||D.fileInfo.pixelType,x.mask=B),c>1&&(B&&I.push(B),D.fileInfo.mask&&D.fileInfo.mask.numBytes>0&&w++),p++,x.pixels.push(D.pixelData),x.statistics.push({minValue:D.minValue,maxValue:D.maxValue,noDataValue:D.noDataValue,dimStats:D.dimStats})}var T,j,z;if(c>1&&w>1){for(z=x.width*x.height,x.bandMasks=I,B=new Uint8Array(z),B.set(I[0]),T=1;T<I.length;T++)for(y=I[T],j=0;j<z;j++)B[j]=B[j]&y[j];x.maskData=B}return x}};typeof define=="function"&&define.amd?define([],function(){return r}):typeof Lft<"u"&&Lft.exports?Lft.exports=r:this.Lerc=r})()});var Qnt,zb,vHt,bHt,Gft,jFe,HFe=Pt(()=>{bHt={env:{emscripten_notify_memory_growth:function(i){vHt=new Uint8Array(zb.exports.memory.buffer)}}},Gft=class{init(){return Qnt||(typeof fetch<"u"?Qnt=fetch("data:application/wasm;base64,"+jFe).then(t=>t.arrayBuffer()).then(t=>WebAssembly.instantiate(t,bHt)).then(this._init):Qnt=WebAssembly.instantiate(Buffer.from(jFe,"base64"),bHt).then(this._init),Qnt)}_init(t){zb=t.instance,bHt.env.emscripten_notify_memory_growth(0)}decode(t,e=0){if(!zb)throw new Error("ZSTDDecoder: Await .init() before decoding.");let r=t.byteLength,n=zb.exports.malloc(r);vHt.set(t,n),e=e||Number(zb.exports.ZSTD_findDecompressedSize(n,r));let s=zb.exports.malloc(e),a=zb.exports.ZSTD_decompress(s,e,n,r),o=vHt.slice(s,s+a);return zb.exports.free(n),zb.exports.free(s),o}},jFe="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQhBSAGQQR2IQRBICAAdCIAQQFyIQkgASgCACEPQQAhAiADIQYCQANAIAlBAkggAiAPS3JFBEAgAiEHAkAgCARAA0AgBEH//wNxQf//A0YEQCAHQRhqIQcgBiAQSQR/IAZBAmoiBigAACAFdgUgBUEQaiEFIARBEHYLIQQMAQsLA0AgBEEDcSIIQQNGBEAgBUECaiEFIARBAnYhBCAHQQNqIQcMAQsLIAcgCGoiByAPSw0EIAVBAmohBQNAIAIgB0kEQCANIAJBAXRqQQA7AQAgAkEBaiECDAELCyAGIA5LQQAgBiAFQQN1aiIHIAxLG0UEQCAHKAAAIAVBB3EiBXYhBAwCCyAEQQJ2IQQLIAYhBwsCfyALQX9qIAQgAEF/anEiBiAAQQF0QX9qIgggCWsiEUkNABogBCAIcSIEQQAgESAEIABIG2shBiALCyEIIA0gAkEBdGogBkF/aiIEOwEAIAlBASAGayAEIAZBAUgbayEJA0AgCSAASARAIABBAXUhACALQX9qIQsMAQsLAn8gByAOS0EAIAcgBSAIaiIFQQN1aiIGIAxLG0UEQCAFQQdxDAELIAUgDCIGIAdrQQN0awshBSACQQFqIQIgBEUhCCAGKAAAIAVBH3F2IQQMAQsLQWwgCUEBRyAFQSBKcg0BGiABIAJBf2o2AgAgBiAFQQdqQQN1aiADawwBC0FQCyEAIApBEGokACAACwkAQQFBBSAAGwsMACAAIAEoAAA2AAALqgMBCn8jAEHwAGsiCiQAIAJBAWohDiAAQQhqIQtBgIAEIAVBf2p0QRB1IQxBACECQQEhBkEBIAV0IglBf2oiDyEIA0AgAiAORkUEQAJAIAEgAkEBdCINai8BACIHQf//A0YEQCALIAhBA3RqIAI2AgQgCEF/aiEIQQEhBwwBCyAGQQAgDCAHQRB0QRB1ShshBgsgCiANaiAHOwEAIAJBAWohAgwBCwsgACAFNgIEIAAgBjYCACAJQQN2IAlBAXZqQQNqIQxBACEAQQAhBkEAIQIDQCAGIA5GBEADQAJAIAAgCUYNACAKIAsgAEEDdGoiASgCBCIGQQF0aiICIAIvAQAiAkEBajsBACABIAUgAhAUayIIOgADIAEgAiAIQf8BcXQgCWs7AQAgASAEIAZBAnQiAmooAgA6AAIgASACIANqKAIANgIEIABBAWohAAwBCwsFIAEgBkEBdGouAQAhDUEAIQcDQCAHIA1ORQRAIAsgAkEDdGogBjYCBANAIAIgDGogD3EiAiAISw0ACyAHQQFqIQcMAQsLIAZBAWohBgwBCwsgCkHwAGokAAsjAEIAIAEQCSAAhUKHla+vmLbem55/fkLj3MqV/M7y9YV/fAsQACAAQn43AwggACABNgIACyQBAX8gAARAIAEoAgQiAgRAIAEoAgggACACEQEADwsgABAmCwsfACAAIAEgAi8BABAINgIAIAEQBBogACACQQRqNgIEC0oBAX9BoCAoAgAiASAAaiIAQX9MBEBBiCBBMDYCAEF/DwsCQCAAPwBBEHRNDQAgABBmDQBBiCBBMDYCAEF/DwtBoCAgADYCACABC9cBAQh/Qbp/IQoCQCACKAIEIgggAigCACIJaiIOIAEgAGtLDQBBbCEKIAkgBCADKAIAIgtrSw0AIAAgCWoiBCACKAIIIgxrIQ0gACABQWBqIg8gCyAJQQAQKSADIAkgC2o2AgACQAJAIAwgBCAFa00EQCANIQUMAQsgDCAEIAZrSw0CIAcgDSAFayIAaiIBIAhqIAdNBEAgBCABIAgQDxoMAgsgBCABQQAgAGsQDyEBIAIgACAIaiIINgIEIAEgAGshBAsgBCAPIAUgCEEBECkLIA4hCgsgCgubAgEBfyMAQYABayINJAAgDSADNgJ8AkAgAkEDSwRAQX8hCQwBCwJAAkACQAJAIAJBAWsOAwADAgELIAZFBEBBuH8hCQwEC0FsIQkgBS0AACICIANLDQMgACAHIAJBAnQiAmooAgAgAiAIaigCABA7IAEgADYCAEEBIQkMAwsgASAJNgIAQQAhCQwCCyAKRQRAQWwhCQwCC0EAIQkgC0UgDEEZSHINAUEIIAR0QQhqIQBBACECA0AgAiAATw0CIAJBQGshAgwAAAsAC0FsIQkgDSANQfwAaiANQfgAaiAFIAYQFSICEAMNACANKAJ4IgMgBEsNACAAIA0gDSgCfCAHIAggAxAYIAEgADYCACACIQkLIA1BgAFqJAAgCQsLACAAIAEgAhALGgsQACAALwAAIAAtAAJBEHRyCy8AAn9BuH8gAUEISQ0AGkFyIAAoAAQiAEF3Sw0AGkG4fyAAQQhqIgAgACABSxsLCwkAIAAgATsAAAsDAAELigYBBX8gACAAKAIAIgVBfnE2AgBBACAAIAVBAXZqQYQgKAIAIgQgAEYbIQECQAJAIAAoAgQiAkUNACACKAIAIgNBAXENACACQQhqIgUgA0EBdkF4aiIDQQggA0EISxtnQR9zQQJ0QYAfaiIDKAIARgRAIAMgAigCDDYCAAsgAigCCCIDBEAgAyACKAIMNgIECyACKAIMIgMEQCADIAIoAgg2AgALIAIgAigCACAAKAIAQX5xajYCAEGEICEAAkACQCABRQ0AIAEgAjYCBCABKAIAIgNBAXENASADQQF2QXhqIgNBCCADQQhLG2dBH3NBAnRBgB9qIgMoAgAgAUEIakYEQCADIAEoAgw2AgALIAEoAggiAwRAIAMgASgCDDYCBAsgASgCDCIDBEAgAyABKAIINgIAQYQgKAIAIQQLIAIgAigCACABKAIAQX5xajYCACABIARGDQAgASABKAIAQQF2akEEaiEACyAAIAI2AgALIAIoAgBBAXZBeGoiAEEIIABBCEsbZ0Efc0ECdEGAH2oiASgCACEAIAEgBTYCACACIAA2AgwgAkEANgIIIABFDQEgACAFNgIADwsCQCABRQ0AIAEoAgAiAkEBcQ0AIAJBAXZBeGoiAkEIIAJBCEsbZ0Efc0ECdEGAH2oiAigCACABQQhqRgRAIAIgASgCDDYCAAsgASgCCCICBEAgAiABKAIMNgIECyABKAIMIgIEQCACIAEoAgg2AgBBhCAoAgAhBAsgACAAKAIAIAEoAgBBfnFqIgI2AgACQCABIARHBEAgASABKAIAQQF2aiAANgIEIAAoAgAhAgwBC0GEICAANgIACyACQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgIoAgAhASACIABBCGoiAjYCACAAIAE2AgwgAEEANgIIIAFFDQEgASACNgIADwsgBUEBdkF4aiIBQQggAUEISxtnQR9zQQJ0QYAfaiICKAIAIQEgAiAAQQhqIgI2AgAgACABNgIMIABBADYCCCABRQ0AIAEgAjYCAAsLDgAgAARAIABBeGoQJQsLgAIBA38CQCAAQQ9qQXhxQYQgKAIAKAIAQQF2ayICEB1Bf0YNAAJAQYQgKAIAIgAoAgAiAUEBcQ0AIAFBAXZBeGoiAUEIIAFBCEsbZ0Efc0ECdEGAH2oiASgCACAAQQhqRgRAIAEgACgCDDYCAAsgACgCCCIBBEAgASAAKAIMNgIECyAAKAIMIgFFDQAgASAAKAIINgIAC0EBIQEgACAAKAIAIAJBAXRqIgI2AgAgAkEBcQ0AIAJBAXZBeGoiAkEIIAJBCEsbZ0Efc0ECdEGAH2oiAygCACECIAMgAEEIaiIDNgIAIAAgAjYCDCAAQQA2AgggAkUNACACIAM2AgALIAELtwIBA38CQAJAIABBASAAGyICEDgiAA0AAkACQEGEICgCACIARQ0AIAAoAgAiA0EBcQ0AIAAgA0EBcjYCACADQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgEoAgAgAEEIakYEQCABIAAoAgw2AgALIAAoAggiAQRAIAEgACgCDDYCBAsgACgCDCIBBEAgASAAKAIINgIACyACECchAkEAIQFBhCAoAgAhACACDQEgACAAKAIAQX5xNgIAQQAPCyACQQ9qQXhxIgMQHSICQX9GDQIgAkEHakF4cSIAIAJHBEAgACACaxAdQX9GDQMLAkBBhCAoAgAiAUUEQEGAICAANgIADAELIAAgATYCBAtBhCAgADYCACAAIANBAXRBAXI2AgAMAQsgAEUNAQsgAEEIaiEBCyABC7kDAQJ/IAAgA2ohBQJAIANBB0wEQANAIAAgBU8NAiAAIAItAAA6AAAgAEEBaiEAIAJBAWohAgwAAAsACyAEQQFGBEACQCAAIAJrIgZBB00EQCAAIAItAAA6AAAgACACLQABOgABIAAgAi0AAjoAAiAAIAItAAM6AAMgAEEEaiACIAZBAnQiBkHAHmooAgBqIgIQFyACIAZB4B5qKAIAayECDAELIAAgAhAMCyACQQhqIQIgAEEIaiEACwJAAkACQAJAIAUgAU0EQCAAIANqIQEgBEEBRyAAIAJrQQ9Kcg0BA0AgACACEAwgAkEIaiECIABBCGoiACABSQ0ACwwFCyAAIAFLBEAgACEBDAQLIARBAUcgACACa0EPSnINASAAIQMgAiEEA0AgAyAEEAwgBEEIaiEEIANBCGoiAyABSQ0ACwwCCwNAIAAgAhAHIAJBEGohAiAAQRBqIgAgAUkNAAsMAwsgACEDIAIhBANAIAMgBBAHIARBEGohBCADQRBqIgMgAUkNAAsLIAIgASAAa2ohAgsDQCABIAVPDQEgASACLQAAOgAAIAFBAWohASACQQFqIQIMAAALAAsLQQECfyAAIAAoArjgASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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"});var qFe={};g0(qFe,{default:()=>Fft,zstd:()=>YFe});var zFe,YFe,Fft,JFe=Pt(()=>{QHt();zFe=$l(OFe(),1);HFe();dM();lft();YFe=new Gft,Fft=class extends __{constructor(t){super(),this.planarConfiguration=typeof t.PlanarConfiguration<"u"?t.PlanarConfiguration:1,this.samplesPerPixel=typeof t.SamplesPerPixel<"u"?t.SamplesPerPixel:1,this.addCompression=t.LercParameters[tGe.AddCompression]}decodeBlock(t){switch(this.addCompression){case Aft.None:break;case Aft.Deflate:t=Dft(new Uint8Array(t)).buffer;break;case Aft.Zstandard:t=YFe.decode(new Uint8Array(t)).buffer;break;default:throw new Error(`Unsupported LERC additional compression method identifier: ${this.addCompression}`)}return zFe.default.decode(t,{returnPixelInterleavedDims:this.planarConfiguration===1}).pixels[0].buffer}}});var KFe={};g0(KFe,{default:()=>Tft});var Tft,VFe=Pt(()=>{dM();Tft=class extends __{constructor(){if(super(),typeof createImageBitmap>"u")throw new Error("Cannot decode WebImage as `createImageBitmap` is not available");if(typeof document>"u"&&typeof OffscreenCanvas>"u")throw new Error("Cannot decode WebImage as neither `document` nor `OffscreenCanvas` is not available")}async decode(t,e){let r=new Blob([e]),n=await createImageBitmap(r),s;typeof document<"u"?(s=document.createElement("canvas"),s.width=n.width,s.height=n.height):s=new OffscreenCanvas(n.width,n.height);let a=s.getContext("2d");return a.drawImage(n,0,0),a.getImageData(0,0,n.width,n.height).data.buffer}}});function CM(i,t){Array.isArray(i)||(i=[i]),i.forEach(e=>WFe.set(e,t))}async function Uft(i){let t=WFe.get(i.Compression);if(!t)throw new Error(`Unknown compression method identifier: ${i.Compression}`);let e=await t();return new e(i)}var WFe,wHt=Pt(()=>{WFe=new Map;CM([void 0,1],()=>Promise.resolve().then(()=>(hGe(),cGe)).then(i=>i.default));CM(5,()=>Promise.resolve().then(()=>(pGe(),gGe)).then(i=>i.default));CM(6,()=>{throw new Error("old style JPEG compression is not supported.")});CM(7,()=>Promise.resolve().then(()=>(fGe(),_Ge)).then(i=>i.default));CM([8,32946],()=>Promise.resolve().then(()=>(TFe(),FFe)).then(i=>i.default));CM(32773,()=>Promise.resolve().then(()=>(PFe(),UFe)).then(i=>i.default));CM(34887,()=>Promise.resolve().then(()=>(JFe(),qFe)).then(async i=>(await i.zstd.init(),i)).then(i=>i.default));CM(50001,()=>Promise.resolve().then(()=>(VFe(),KFe)).then(i=>i.default))});function Pft(i,t,e,r=1){return new(Object.getPrototypeOf(i)).constructor(t*e*r)}function sir(i,t,e,r,n){let s=t/r,a=e/n;return i.map(o=>{let A=Pft(o,r,n);for(let l=0;l<n;++l){let c=Math.min(Math.round(a*l),e-1);for(let p=0;p<r;++p){let d=Math.min(Math.round(s*p),t-1),_=o[c*t+d];A[l*r+p]=_}}return A})}function qz(i,t,e){return(1-e)*i+e*t}function air(i,t,e,r,n){let s=t/r,a=e/n;return i.map(o=>{let A=Pft(o,r,n);for(let l=0;l<n;++l){let c=a*l,p=Math.floor(c),d=Math.min(Math.ceil(c),e-1);for(let _=0;_<r;++_){let I=s*_,y=I%1,B=Math.floor(I),x=Math.min(Math.ceil(I),t-1),w=o[p*t+B],D=o[p*t+x],T=o[d*t+B],j=o[d*t+x],z=qz(qz(w,D,y),qz(T,j,y),c%1);A[l*r+_]=z}}return A})}function ZFe(i,t,e,r,n,s="nearest"){switch(s.toLowerCase()){case"nearest":return sir(i,t,e,r,n);case"bilinear":case"linear":return air(i,t,e,r,n);default:throw new Error(`Unsupported resampling method: '${s}'`)}}function oir(i,t,e,r,n,s){let a=t/r,o=e/n,A=Pft(i,r,n,s);for(let l=0;l<n;++l){let c=Math.min(Math.round(o*l),e-1);for(let p=0;p<r;++p){let d=Math.min(Math.round(a*p),t-1);for(let _=0;_<s;++_){let I=i[c*t*s+d*s+_];A[l*r*s+p*s+_]=I}}}return A}function Air(i,t,e,r,n,s){let a=t/r,o=e/n,A=Pft(i,r,n,s);for(let l=0;l<n;++l){let c=o*l,p=Math.floor(c),d=Math.min(Math.ceil(c),e-1);for(let _=0;_<r;++_){let I=a*_,y=I%1,B=Math.floor(I),x=Math.min(Math.ceil(I),t-1);for(let w=0;w<s;++w){let D=i[p*t*s+B*s+w],T=i[p*t*s+x*s+w],j=i[d*t*s+B*s+w],z=i[d*t*s+x*s+w],W=qz(qz(D,T,y),qz(j,z,y),c%1);A[l*r*s+_*s+w]=W}}}return A}function XFe(i,t,e,r,n,s,a="nearest"){switch(a.toLowerCase()){case"nearest":return oir(i,t,e,r,n,s);case"bilinear":case"linear":return Air(i,t,e,r,n,s);default:throw new Error(`Unsupported resampling method: '${a}'`)}}var $Fe=Pt(()=>{});function lir(i,t,e){let r=0;for(let n=t;n<e;++n)r+=i[n];return r}function SHt(i,t,e){switch(i){case 1:if(t<=8)return new Uint8Array(e);if(t<=16)return new Uint16Array(e);if(t<=32)return new Uint32Array(e);break;case 2:if(t===8)return new Int8Array(e);if(t===16)return new Int16Array(e);if(t===32)return new Int32Array(e);break;case 3:switch(t){case 16:case 32:return new Float32Array(e);case 64:return new Float64Array(e);default:break}break;default:break}throw Error("Unsupported data format/bitsPerSample")}function cir(i,t){return(i===1||i===2)&&t<=32&&t%8===0?!1:!(i===3&&(t===16||t===32||t===64))}function hir(i,t,e,r,n,s,a){let o=new DataView(i),A=e===2?a*s:a*s*r,l=e===2?1:r,c=SHt(t,n,A),p=parseInt("1".repeat(n),2);if(t===1){let d;e===1?d=r*n:d=n;let _=s*d;(_&7)!==0&&(_=_+7&-8);for(let I=0;I<a;++I){let y=I*_;for(let B=0;B<s;++B){let x=y+B*l*n;for(let w=0;w<l;++w){let D=x+w*n,T=(I*s+B)*l+w,j=Math.floor(D/8),z=D%8;if(z+n<=8)c[T]=o.getUint8(j)>>8-n-z&p;else if(z+n<=16)c[T]=o.getUint16(j)>>16-n-z&p;else if(z+n<=24){let W=o.getUint16(j)<<8|o.getUint8(j+2);c[T]=W>>24-n-z&p}else c[T]=o.getUint32(j)>>32-n-z&p}}}}return c.buffer}var Oft,tTe,kHt,eTe,iTe=Pt(()=>{Gjt();Oft=$l(PLe(),1),tTe=$l(ZLe(),1);lft();oGe();wHt();$Fe();kHt=class{constructor(t,e,r,n,s,a){this.fileDirectory=t,this.geoKeys=e,this.dataView=r,this.littleEndian=n,this.tiles=s?{}:null,this.isTiled=!t.StripOffsets;let o=t.PlanarConfiguration;if(this.planarConfiguration=typeof o>"u"?1:o,this.planarConfiguration!==1&&this.planarConfiguration!==2)throw new Error("Invalid planar configuration.");this.source=a}getFileDirectory(){return this.fileDirectory}getGeoKeys(){return this.geoKeys}getWidth(){return this.fileDirectory.ImageWidth}getHeight(){return this.fileDirectory.ImageLength}getSamplesPerPixel(){return typeof this.fileDirectory.SamplesPerPixel<"u"?this.fileDirectory.SamplesPerPixel:1}getTileWidth(){return this.isTiled?this.fileDirectory.TileWidth:this.getWidth()}getTileHeight(){return this.isTiled?this.fileDirectory.TileLength:typeof this.fileDirectory.RowsPerStrip<"u"?Math.min(this.fileDirectory.RowsPerStrip,this.getHeight()):this.getHeight()}getBlockWidth(){return this.getTileWidth()}getBlockHeight(t){return this.isTiled||(t+1)*this.getTileHeight()<=this.getHeight()?this.getTileHeight():this.getHeight()-t*this.getTileHeight()}getBytesPerPixel(){let t=0;for(let e=0;e<this.fileDirectory.BitsPerSample.length;++e)t+=this.getSampleByteSize(e);return t}getSampleByteSize(t){if(t>=this.fileDirectory.BitsPerSample.length)throw new RangeError(`Sample index ${t} is out of range.`);return Math.ceil(this.fileDirectory.BitsPerSample[t]/8)}getReaderForSample(t){let e=this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[t]:1,r=this.fileDirectory.BitsPerSample[t];switch(e){case 1:if(r<=8)return DataView.prototype.getUint8;if(r<=16)return DataView.prototype.getUint16;if(r<=32)return DataView.prototype.getUint32;break;case 2:if(r<=8)return DataView.prototype.getInt8;if(r<=16)return DataView.prototype.getInt16;if(r<=32)return DataView.prototype.getInt32;break;case 3:switch(r){case 16:return function(n,s){return nnt(this,n,s)};case 32:return DataView.prototype.getFloat32;case 64:return DataView.prototype.getFloat64;default:break}break;default:break}throw Error("Unsupported data format/bitsPerSample")}getSampleFormat(t=0){return this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[t]:1}getBitsPerSample(t=0){return this.fileDirectory.BitsPerSample[t]}getArrayForSample(t,e){let r=this.getSampleFormat(t),n=this.getBitsPerSample(t);return SHt(r,n,e)}async getTileOrStrip(t,e,r,n,s){let a=Math.ceil(this.getWidth()/this.getTileWidth()),o=Math.ceil(this.getHeight()/this.getTileHeight()),A,{tiles:l}=this;this.planarConfiguration===1?A=e*a+t:this.planarConfiguration===2&&(A=r*a*o+e*a+t);let c,p;this.isTiled?(c=this.fileDirectory.TileOffsets[A],p=this.fileDirectory.TileByteCounts[A]):(c=this.fileDirectory.StripOffsets[A],p=this.fileDirectory.StripByteCounts[A]);let d=(await this.source.fetch([{offset:c,length:p}],s))[0],_;return l===null||!l[A]?(_=(async()=>{let I=await n.decode(this.fileDirectory,d),y=this.getSampleFormat(),B=this.getBitsPerSample();return cir(y,B)&&(I=hir(I,y,this.planarConfiguration,this.getSamplesPerPixel(),B,this.getTileWidth(),this.getBlockHeight(e))),I})(),l!==null&&(l[A]=_)):_=l[A],{x:t,y:e,sample:r,data:await _}}async _readRaster(t,e,r,n,s,a,o,A,l){let c=this.getTileWidth(),p=this.getTileHeight(),d=this.getWidth(),_=this.getHeight(),I=Math.max(Math.floor(t[0]/c),0),y=Math.min(Math.ceil(t[2]/c),Math.ceil(d/c)),B=Math.max(Math.floor(t[1]/p),0),x=Math.min(Math.ceil(t[3]/p),Math.ceil(_/p)),w=t[2]-t[0],D=this.getBytesPerPixel(),T=[],j=[];for(let N=0;N<e.length;++N)this.planarConfiguration===1?T.push(lir(this.fileDirectory.BitsPerSample,0,e[N])/8):T.push(0),j.push(this.getReaderForSample(e[N]));let z=[],{littleEndian:W}=this;for(let N=B;N<x;++N)for(let F=I;F<y;++F){let U;this.planarConfiguration===1&&(U=this.getTileOrStrip(F,N,0,s,l));for(let J=0;J<e.length;++J){let Z=J,at=e[J];this.planarConfiguration===2&&(D=this.getSampleByteSize(at),U=this.getTileOrStrip(F,N,at,s,l));let it=U.then(X=>{let rt=X.data,ht=new DataView(rt),dt=this.getBlockHeight(X.y),Et=X.y*p,xt=X.x*c,Nt=Et+dt,wt=(X.x+1)*c,kt=j[Z],Ft=Math.min(dt,dt-(Nt-t[3]),_-Et),qt=Math.min(c,c-(wt-t[2]),d-xt);for(let se=Math.max(0,t[1]-Et);se<Ft;++se)for(let Ie=Math.max(0,t[0]-xt);Ie<qt;++Ie){let Tt=(se*c+Ie)*D,$e=kt.call(ht,Tt+T[Z],W),Pe;n?(Pe=(se+Et-t[1])*w*e.length+(Ie+xt-t[0])*e.length+Z,r[Pe]=$e):(Pe=(se+Et-t[1])*w+Ie+xt-t[0],r[Z][Pe]=$e)}});z.push(it)}}if(await Promise.all(z),a&&t[2]-t[0]!==a||o&&t[3]-t[1]!==o){let N;return n?N=XFe(r,t[2]-t[0],t[3]-t[1],a,o,e.length,A):N=ZFe(r,t[2]-t[0],t[3]-t[1],a,o,A),N.width=a,N.height=o,N}return r.width=a||t[2]-t[0],r.height=o||t[3]-t[1],r}async readRasters({window:t,samples:e=[],interleave:r,pool:n=null,width:s,height:a,resampleMethod:o,fillValue:A,signal:l}={}){let c=t||[0,0,this.getWidth(),this.getHeight()];if(c[0]>c[2]||c[1]>c[3])throw new Error("Invalid subsets");let p=c[2]-c[0],d=c[3]-c[1],_=p*d,I=this.getSamplesPerPixel();if(!e||!e.length)for(let w=0;w<I;++w)e.push(w);else for(let w=0;w<e.length;++w)if(e[w]>=I)return Promise.reject(new RangeError(`Invalid sample index '${e[w]}'.`));let y;if(r){let w=this.fileDirectory.SampleFormat?Math.max.apply(null,this.fileDirectory.SampleFormat):1,D=Math.max.apply(null,this.fileDirectory.BitsPerSample);y=SHt(w,D,_*e.length),A&&y.fill(A)}else{y=[];for(let w=0;w<e.length;++w){let D=this.getArrayForSample(e[w],_);Array.isArray(A)&&w<A.length?D.fill(A[w]):A&&!Array.isArray(A)&&D.fill(A),y.push(D)}}let B=n||await Uft(this.fileDirectory);return await this._readRaster(c,e,y,r,B,s,a,o,l)}async readRGB({window:t,interleave:e=!0,pool:r=null,width:n,height:s,resampleMethod:a,enableAlpha:o=!1,signal:A}={}){let l=t||[0,0,this.getWidth(),this.getHeight()];if(l[0]>l[2]||l[1]>l[3])throw new Error("Invalid subsets");let c=this.fileDirectory.PhotometricInterpretation;if(c===sI.RGB){let x=[0,1,2];if(this.fileDirectory.ExtraSamples!==$Le.Unspecified&&o){x=[];for(let w=0;w<this.fileDirectory.BitsPerSample.length;w+=1)x.push(w)}return this.readRasters({window:t,interleave:e,samples:x,pool:r,width:n,height:s,resampleMethod:a,signal:A})}let p;switch(c){case sI.WhiteIsZero:case sI.BlackIsZero:case sI.Palette:p=[0];break;case sI.CMYK:p=[0,1,2,3];break;case sI.YCbCr:case sI.CIELab:p=[0,1,2];break;default:throw new Error("Invalid or unsupported photometric interpretation.")}let d={window:l,interleave:!0,samples:p,pool:r,width:n,height:s,resampleMethod:a,signal:A},{fileDirectory:_}=this,I=await this.readRasters(d),y=2**this.fileDirectory.BitsPerSample[0],B;switch(c){case sI.WhiteIsZero:B=eGe(I,y);break;case sI.BlackIsZero:B=iGe(I,y);break;case sI.Palette:B=rGe(I,_.ColorMap);break;case sI.CMYK:B=nGe(I);break;case sI.YCbCr:B=sGe(I);break;case sI.CIELab:B=aGe(I);break;default:throw new Error("Unsupported photometric interpretation.")}if(!e){let x=new Uint8Array(B.length/3),w=new Uint8Array(B.length/3),D=new Uint8Array(B.length/3);for(let T=0,j=0;T<B.length;T+=3,++j)x[j]=B[T],w[j]=B[T+1],D[j]=B[T+2];B=[x,w,D]}return B.width=I.width,B.height=I.height,B}getTiePoints(){if(!this.fileDirectory.ModelTiepoint)return[];let t=[];for(let e=0;e<this.fileDirectory.ModelTiepoint.length;e+=6)t.push({i:this.fileDirectory.ModelTiepoint[e],j:this.fileDirectory.ModelTiepoint[e+1],k:this.fileDirectory.ModelTiepoint[e+2],x:this.fileDirectory.ModelTiepoint[e+3],y:this.fileDirectory.ModelTiepoint[e+4],z:this.fileDirectory.ModelTiepoint[e+5]});return t}getGDALMetadata(t=null){let e={};if(!this.fileDirectory.GDAL_METADATA)return null;let r=this.fileDirectory.GDAL_METADATA,n=(0,tTe.default)(r,"Item");t===null?n=n.filter(s=>(0,Oft.default)(s,"sample")===void 0):n=n.filter(s=>Number((0,Oft.default)(s,"sample"))===t);for(let s=0;s<n.length;++s){let a=n[s];e[(0,Oft.default)(a,"name")]=a.inner}return e}getGDALNoData(){if(!this.fileDirectory.GDAL_NODATA)return null;let t=this.fileDirectory.GDAL_NODATA;return Number(t.substring(0,t.length-1))}getOrigin(){let t=this.fileDirectory.ModelTiepoint,e=this.fileDirectory.ModelTransformation;if(t&&t.length===6)return[t[3],t[4],t[5]];if(e)return[e[3],e[7],e[11]];throw new Error("The image does not have an affine transformation.")}getResolution(t=null){let e=this.fileDirectory.ModelPixelScale,r=this.fileDirectory.ModelTransformation;if(e)return[e[0],-e[1],e[2]];if(r)return r[1]===0&&r[4]===0?[r[0],-r[5],r[10]]:[Math.sqrt(r[0]*r[0]+r[4]*r[4]),-Math.sqrt(r[1]*r[1]+r[5]*r[5]),r[10]];if(t){let[n,s,a]=t.getResolution();return[n*t.getWidth()/this.getWidth(),s*t.getHeight()/this.getHeight(),a*t.getWidth()/this.getWidth()]}throw new Error("The image does not have an affine transformation.")}pixelIsArea(){return this.geoKeys.GTRasterTypeGeoKey===1}getBoundingBox(t=!1){let e=this.getHeight(),r=this.getWidth();if(this.fileDirectory.ModelTransformation&&!t){let[n,s,a,o,A,l,c,p]=this.fileDirectory.ModelTransformation,_=[[0,0],[0,e],[r,0],[r,e]].map(([B,x])=>[o+n*B+s*x,p+A*B+l*x]),I=_.map(B=>B[0]),y=_.map(B=>B[1]);return[Math.min(...I),Math.min(...y),Math.max(...I),Math.max(...y)]}else{let n=this.getOrigin(),s=this.getResolution(),a=n[0],o=n[1],A=a+s[0]*r,l=o+s[1]*e;return[Math.min(a,A),Math.min(o,l),Math.max(a,A),Math.max(o,l)]}}},eTe=kHt});var bnt,rTe=Pt(()=>{Gjt();bnt=class{constructor(t){this._dataView=new DataView(t)}get buffer(){return this._dataView.buffer}getUint64(t,e){let r=this.getUint32(t,e),n=this.getUint32(t+4,e),s;if(e){if(s=r+2**32*n,!Number.isSafeInteger(s))throw new Error(`${s} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return s}if(s=2**32*r+n,!Number.isSafeInteger(s))throw new Error(`${s} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return s}getInt64(t,e){let r=0,n=(this._dataView.getUint8(t+(e?7:0))&128)>0,s=!0;for(let a=0;a<8;a++){let o=this._dataView.getUint8(t+(e?a:7-a));n&&(s?o!==0&&(o=~(o-1)&255,s=!1):o=~o&255),r+=o*256**a}return n&&(r=-r),r}getUint8(t,e){return this._dataView.getUint8(t,e)}getInt8(t,e){return this._dataView.getInt8(t,e)}getUint16(t,e){return this._dataView.getUint16(t,e)}getInt16(t,e){return this._dataView.getInt16(t,e)}getUint32(t,e){return this._dataView.getUint32(t,e)}getInt32(t,e){return this._dataView.getInt32(t,e)}getFloat16(t,e){return nnt(this._dataView,t,e)}getFloat32(t,e){return this._dataView.getFloat32(t,e)}getFloat64(t,e){return this._dataView.getFloat64(t,e)}}});var vnt,nTe=Pt(()=>{vnt=class{constructor(t,e,r,n){this._dataView=new DataView(t),this._sliceOffset=e,this._littleEndian=r,this._bigTiff=n}get sliceOffset(){return this._sliceOffset}get sliceTop(){return this._sliceOffset+this.buffer.byteLength}get littleEndian(){return this._littleEndian}get bigTiff(){return this._bigTiff}get buffer(){return this._dataView.buffer}covers(t,e){return this.sliceOffset<=t&&this.sliceTop>=t+e}readUint8(t){return this._dataView.getUint8(t-this._sliceOffset,this._littleEndian)}readInt8(t){return this._dataView.getInt8(t-this._sliceOffset,this._littleEndian)}readUint16(t){return this._dataView.getUint16(t-this._sliceOffset,this._littleEndian)}readInt16(t){return this._dataView.getInt16(t-this._sliceOffset,this._littleEndian)}readUint32(t){return this._dataView.getUint32(t-this._sliceOffset,this._littleEndian)}readInt32(t){return this._dataView.getInt32(t-this._sliceOffset,this._littleEndian)}readFloat32(t){return this._dataView.getFloat32(t-this._sliceOffset,this._littleEndian)}readFloat64(t){return this._dataView.getFloat64(t-this._sliceOffset,this._littleEndian)}readUint64(t){let e=this.readUint32(t),r=this.readUint32(t+4),n;if(this._littleEndian){if(n=e+2**32*r,!Number.isSafeInteger(n))throw new Error(`${n} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return n}if(n=2**32*e+r,!Number.isSafeInteger(n))throw new Error(`${n} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return n}readInt64(t){let e=0,r=(this._dataView.getUint8(t+(this._littleEndian?7:0))&128)>0,n=!0;for(let s=0;s<8;s++){let a=this._dataView.getUint8(t+(this._littleEndian?s:7-s));r&&(n?a!==0&&(a=~(a-1)&255,n=!1):a=~a&255),e+=a*256**s}return r&&(e=-e),e}readOffset(t){return this._bigTiff?this.readUint64(t):this.readUint32(t)}}});var sTe,aTe=Pt(()=>{sTe=typeof Worker<"u"?Worker:void 0});var oTe={};g0(oTe,{create:()=>uir});function uir(){let i='function A(A,e,t,i,r,I,g){try{var n=A[I](g),a=n.value}catch(A){return void t(A)}n.done?e(a):Promise.resolve(a).then(i,r)}function e(e){return function(){var t=this,i=arguments;return new Promise((function(r,I){var g=e.apply(t,i);function n(e){A(g,r,I,n,a,"next",e)}function a(e){A(g,r,I,n,a,"throw",e)}n(void 0)}))}}function t(A){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},t(A)}var i={exports:{}};!function(A){var e=function(A){var e,i=Object.prototype,r=i.hasOwnProperty,I="function"==typeof Symbol?Symbol:{},g=I.iterator||"@@iterator",n=I.asyncIterator||"@@asyncIterator",a=I.toStringTag||"@@toStringTag";function o(A,e,t){return Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}),A[e]}try{o({},"")}catch(A){o=function(A,e,t){return A[e]=t}}function B(A,e,t,i){var r=e&&e.prototype instanceof h?e:h,I=Object.create(r.prototype),g=new S(i||[]);return I._invoke=function(A,e,t){var i=Q;return function(r,I){if(i===s)throw new Error("Generator is already running");if(i===f){if("throw"===r)throw I;return R()}for(t.method=r,t.arg=I;;){var g=t.delegate;if(g){var n=m(g,t);if(n){if(n===c)continue;return n}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if(i===Q)throw i=f,t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);i=s;var a=C(A,e,t);if("normal"===a.type){if(i=t.done?f:E,a.arg===c)continue;return{value:a.arg,done:t.done}}"throw"===a.type&&(i=f,t.method="throw",t.arg=a.arg)}}}(A,t,g),I}function C(A,e,t){try{return{type:"normal",arg:A.call(e,t)}}catch(A){return{type:"throw",arg:A}}}A.wrap=B;var Q="suspendedStart",E="suspendedYield",s="executing",f="completed",c={};function h(){}function l(){}function u(){}var w={};o(w,g,(function(){return this}));var d=Object.getPrototypeOf,D=d&&d(d(v([])));D&&D!==i&&r.call(D,g)&&(w=D);var y=u.prototype=h.prototype=Object.create(w);function k(A){["next","throw","return"].forEach((function(e){o(A,e,(function(A){return this._invoke(e,A)}))}))}function p(A,e){function i(I,g,n,a){var o=C(A[I],A,g);if("throw"!==o.type){var B=o.arg,Q=B.value;return Q&&"object"===t(Q)&&r.call(Q,"__await")?e.resolve(Q.__await).then((function(A){i("next",A,n,a)}),(function(A){i("throw",A,n,a)})):e.resolve(Q).then((function(A){B.value=A,n(B)}),(function(A){return i("throw",A,n,a)}))}a(o.arg)}var I;this._invoke=function(A,t){function r(){return new e((function(e,r){i(A,t,e,r)}))}return I=I?I.then(r,r):r()}}function m(A,t){var i=A.iterator[t.method];if(i===e){if(t.delegate=null,"throw"===t.method){if(A.iterator.return&&(t.method="return",t.arg=e,m(A,t),"throw"===t.method))return c;t.method="throw",t.arg=new TypeError("The iterator does not provide a \'throw\' method")}return c}var r=C(i,A.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,c;var I=r.arg;return I?I.done?(t[A.resultName]=I.value,t.next=A.nextLoc,"return"!==t.method&&(t.method="next",t.arg=e),t.delegate=null,c):I:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,c)}function G(A){var e={tryLoc:A[0]};1 in A&&(e.catchLoc=A[1]),2 in A&&(e.finallyLoc=A[2],e.afterLoc=A[3]),this.tryEntries.push(e)}function F(A){var e=A.completion||{};e.type="normal",delete e.arg,A.completion=e}function S(A){this.tryEntries=[{tryLoc:"root"}],A.forEach(G,this),this.reset(!0)}function v(A){if(A){var t=A[g];if(t)return t.call(A);if("function"==typeof A.next)return A;if(!isNaN(A.length)){var i=-1,I=function t(){for(;++i<A.length;)if(r.call(A,i))return t.value=A[i],t.done=!1,t;return t.value=e,t.done=!0,t};return I.next=I}}return{next:R}}function R(){return{value:e,done:!0}}return l.prototype=u,o(y,"constructor",u),o(u,"constructor",l),l.displayName=o(u,a,"GeneratorFunction"),A.isGeneratorFunction=function(A){var e="function"==typeof A&&A.constructor;return!!e&&(e===l||"GeneratorFunction"===(e.displayName||e.name))},A.mark=function(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,u):(A.__proto__=u,o(A,a,"GeneratorFunction")),A.prototype=Object.create(y),A},A.awrap=function(A){return{__await:A}},k(p.prototype),o(p.prototype,n,(function(){return this})),A.AsyncIterator=p,A.async=function(e,t,i,r,I){void 0===I&&(I=Promise);var g=new p(B(e,t,i,r),I);return A.isGeneratorFunction(t)?g:g.next().then((function(A){return A.done?A.value:g.next()}))},k(y),o(y,a,"Generator"),o(y,g,(function(){return this})),o(y,"toString",(function(){return"[object Generator]"})),A.keys=function(A){var e=[];for(var t in A)e.push(t);return e.reverse(),function t(){for(;e.length;){var i=e.pop();if(i in A)return t.value=i,t.done=!1,t}return t.done=!0,t}},A.values=v,S.prototype={constructor:S,reset:function(A){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(F),!A)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=e)},stop:function(){this.done=!0;var A=this.tryEntries[0].completion;if("throw"===A.type)throw A.arg;return this.rval},dispatchException:function(A){if(this.done)throw A;var t=this;function i(i,r){return n.type="throw",n.arg=A,t.next=i,r&&(t.method="next",t.arg=e),!!r}for(var I=this.tryEntries.length-1;I>=0;--I){var g=this.tryEntries[I],n=g.completion;if("root"===g.tryLoc)return i("end");if(g.tryLoc<=this.prev){var a=r.call(g,"catchLoc"),o=r.call(g,"finallyLoc");if(a&&o){if(this.prev<g.catchLoc)return i(g.catchLoc,!0);if(this.prev<g.finallyLoc)return i(g.finallyLoc)}else if(a){if(this.prev<g.catchLoc)return i(g.catchLoc,!0)}else{if(!o)throw new Error("try statement without catch or finally");if(this.prev<g.finallyLoc)return i(g.finallyLoc)}}}},abrupt:function(A,e){for(var t=this.tryEntries.length-1;t>=0;--t){var i=this.tryEntries[t];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var I=i;break}}I&&("break"===A||"continue"===A)&&I.tryLoc<=e&&e<=I.finallyLoc&&(I=null);var g=I?I.completion:{};return g.type=A,g.arg=e,I?(this.method="next",this.next=I.finallyLoc,c):this.complete(g)},complete:function(A,e){if("throw"===A.type)throw A.arg;return"break"===A.type||"continue"===A.type?this.next=A.arg:"return"===A.type?(this.rval=this.arg=A.arg,this.method="return",this.next="end"):"normal"===A.type&&e&&(this.next=e),c},finish:function(A){for(var e=this.tryEntries.length-1;e>=0;--e){var t=this.tryEntries[e];if(t.finallyLoc===A)return this.complete(t.completion,t.afterLoc),F(t),c}},catch:function(A){for(var e=this.tryEntries.length-1;e>=0;--e){var t=this.tryEntries[e];if(t.tryLoc===A){var i=t.completion;if("throw"===i.type){var r=i.arg;F(t)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(A,t,i){return this.delegate={iterator:v(A),resultName:t,nextLoc:i},"next"===this.method&&(this.arg=e),c}},A}(A.exports);try{regeneratorRuntime=e}catch(A){"object"===("undefined"==typeof globalThis?"undefined":t(globalThis))?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}}(i);var r=i.exports,I=new Map;function g(A,e){Array.isArray(A)||(A=[A]),A.forEach((function(A){return I.set(A,e)}))}function n(A){return a.apply(this,arguments)}function a(){return(a=e(r.mark((function A(e){var t,i;return r.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:if(t=I.get(e.Compression)){A.next=3;break}throw new Error("Unknown compression method identifier: ".concat(e.Compression));case 3:return A.next=5,t();case 5:return i=A.sent,A.abrupt("return",new i(e));case 7:case"end":return A.stop()}}),A)})))).apply(this,arguments)}g([void 0,1],(function(){return Promise.resolve().then((function(){return y})).then((function(A){return A.default}))})),g(5,(function(){return Promise.resolve().then((function(){return F})).then((function(A){return A.default}))})),g(6,(function(){throw new Error("old style JPEG compression is not supported.")})),g(7,(function(){return Promise.resolve().then((function(){return N})).then((function(A){return A.default}))})),g([8,32946],(function(){return Promise.resolve().then((function(){return OA})).then((function(A){return A.default}))})),g(32773,(function(){return Promise.resolve().then((function(){return _A})).then((function(A){return A.default}))})),g(34887,(function(){return Promise.resolve().then((function(){return le})).then(function(){var A=e(r.mark((function A(e){return r.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.next=2,e.zstd.init();case 2:return A.abrupt("return",e);case 3:case"end":return A.stop()}}),A)})));return function(e){return A.apply(this,arguments)}}()).then((function(A){return A.default}))})),g(50001,(function(){return Promise.resolve().then((function(){return de})).then((function(A){return A.default}))}));var o=globalThis;function B(A,e){if(!(A instanceof e))throw new TypeError("Cannot call a class as a function")}function C(A,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(A,i.key,i)}}function Q(A,e,t){return e&&C(A.prototype,e),t&&C(A,t),A}function E(A,e){return E=Object.setPrototypeOf||function(A,e){return A.__proto__=e,A},E(A,e)}function s(A,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(e&&e.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),e&&E(A,e)}function f(A,e){if(e&&("object"===t(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(A){if(void 0===A)throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called");return A}(A)}function c(A){return c=Object.setPrototypeOf?Object.getPrototypeOf:function(A){return A.__proto__||Object.getPrototypeOf(A)},c(A)}function h(A,e){var t=A.length-e,i=0;do{for(var r=e;r>0;r--)A[i+e]+=A[i],i++;t-=e}while(t>0)}function l(A,e,t){for(var i=0,r=A.length,I=r/t;r>e;){for(var g=e;g>0;--g)A[i+e]+=A[i],++i;r-=e}for(var n=A.slice(),a=0;a<I;++a)for(var o=0;o<t;++o)A[t*a+o]=n[(t-o-1)*I+a]}function u(A,e,t,i,r,I){if(!e||1===e)return A;for(var g=0;g<r.length;++g){if(r[g]%8!=0)throw new Error("When decoding with predictor, only multiple of 8 bits are supported.");if(r[g]!==r[0])throw new Error("When decoding with predictor, all samples must have the same size.")}for(var n=r[0]/8,a=2===I?1:r.length,o=0;o<i&&!(o*a*t*n>=A.byteLength);++o){var B=void 0;if(2===e){switch(r[0]){case 8:B=new Uint8Array(A,o*a*t*n,a*t*n);break;case 16:B=new Uint16Array(A,o*a*t*n,a*t*n/2);break;case 32:B=new Uint32Array(A,o*a*t*n,a*t*n/4);break;default:throw new Error("Predictor 2 not allowed with ".concat(r[0]," bits per sample."))}h(B,a)}else 3===e&&l(B=new Uint8Array(A,o*a*t*n,a*t*n),a,n)}return A}o.addEventListener("message",function(){var A=e(r.mark((function A(e){var t,i,I,g,a,B;return r.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return t=e.data,i=t.id,I=t.fileDirectory,g=t.buffer,A.next=3,n(I);case 3:return a=A.sent,A.next=6,a.decode(I,g);case 6:B=A.sent,o.postMessage({decoded:B,id:i},[B]);case 8:case"end":return A.stop()}}),A)})));return function(e){return A.apply(this,arguments)}}());var w=function(){function A(){B(this,A)}var t;return Q(A,[{key:"decode",value:(t=e(r.mark((function A(e,t){var i,I,g,n,a;return r.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.next=2,this.decodeBlock(t);case 2:if(i=A.sent,1===(I=e.Predictor||1)){A.next=9;break}return g=!e.StripOffsets,n=g?e.TileWidth:e.ImageWidth,a=g?e.TileLength:e.RowsPerStrip||e.ImageLength,A.abrupt("return",u(i,I,n,a,e.BitsPerSample,e.PlanarConfiguration));case 9:return A.abrupt("return",i);case 10:case"end":return A.stop()}}),A,this)}))),function(A,e){return t.apply(this,arguments)})}]),A}();function d(A){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var t,i=c(A);if(e){var r=c(this).constructor;t=Reflect.construct(i,arguments,r)}else t=i.apply(this,arguments);return f(this,t)}}var D=function(A){s(t,w);var e=d(t);function t(){return B(this,t),e.apply(this,arguments)}return Q(t,[{key:"decodeBlock",value:function(A){return A}}]),t}(),y=Object.freeze({__proto__:null,default:D});function k(A){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var t,i=c(A);if(e){var r=c(this).constructor;t=Reflect.construct(i,arguments,r)}else t=i.apply(this,arguments);return f(this,t)}}function p(A,e){for(var t=e.length-1;t>=0;t--)A.push(e[t]);return A}function m(A){for(var e=new Uint16Array(4093),t=new Uint8Array(4093),i=0;i<=257;i++)e[i]=4096,t[i]=i;var r=258,I=9,g=0;function n(){r=258,I=9}function a(A){var e=function(A,e,t){var i=e%8,r=Math.floor(e/8),I=8-i,g=e+t-8*(r+1),n=8*(r+2)-(e+t),a=8*(r+2)-e;if(n=Math.max(0,n),r>=A.length)return console.warn("ran off the end of the buffer before finding EOI_CODE (end on input code)"),257;var o=A[r]&Math.pow(2,8-i)-1,B=o<<=t-I;if(r+1<A.length){var C=A[r+1]>>>n;B+=C<<=Math.max(0,t-a)}if(g>8&&r+2<A.length){var Q=8*(r+3)-(e+t);B+=A[r+2]>>>Q}return B}(A,g,I);return g+=I,e}function o(A,i){return t[r]=i,e[r]=A,++r-1}function B(A){for(var i=[],r=A;4096!==r;r=e[r])i.push(t[r]);return i}var C=[];n();for(var Q,E=new Uint8Array(A),s=a(E);257!==s;){if(256===s){for(n(),s=a(E);256===s;)s=a(E);if(257===s)break;if(s>256)throw new Error("corrupted code at scanline ".concat(s));p(C,B(s)),Q=s}else if(s<r){var f=B(s);p(C,f),o(Q,f[f.length-1]),Q=s}else{var c=B(Q);if(!c)throw new Error("Bogus entry. Not in dictionary, ".concat(Q," / ").concat(r,", position: ").concat(g));p(C,c),C.push(c[c.length-1]),o(Q,c[c.length-1]),Q=s}r+1>=Math.pow(2,I)&&(12===I?Q=void 0:I++),s=a(E)}return new Uint8Array(C)}var G=function(A){s(t,w);var e=k(t);function t(){return B(this,t),e.apply(this,arguments)}return Q(t,[{key:"decodeBlock",value:function(A){return m(A).buffer}}]),t}(),F=Object.freeze({__proto__:null,default:G});function S(A){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var t,i=c(A);if(e){var r=c(this).constructor;t=Reflect.construct(i,arguments,r)}else t=i.apply(this,arguments);return f(this,t)}}var v=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);function R(A,e){for(var t=0,i=[],r=16;r>0&&!A[r-1];)--r;i.push({children:[],index:0});for(var I,g=i[0],n=0;n<r;n++){for(var a=0;a<A[n];a++){for((g=i.pop()).children[g.index]=e[t];g.index>0;)g=i.pop();for(g.index++,i.push(g);i.length<=n;)i.push(I={children:[],index:0}),g.children[g.index]=I.children,g=I;t++}n+1<r&&(i.push(I={children:[],index:0}),g.children[g.index]=I.children,g=I)}return i[0].children}function U(A,e,i,r,I,g,n,a,o){var B=i.mcusPerLine,C=i.progressive,Q=e,E=e,s=0,f=0;function c(){if(f>0)return f--,s>>f&1;if(255===(s=A[E++])){var e=A[E++];if(e)throw new Error("unexpected marker: ".concat((s<<8|e).toString(16)))}return f=7,s>>>7}function h(A){for(var e,i=A;null!==(e=c());){if("number"==typeof(i=i[e]))return i;if("object"!==t(i))throw new Error("invalid huffman sequence")}return null}function l(A){for(var e=A,t=0;e>0;){var i=c();if(null===i)return;t=t<<1|i,--e}return t}function u(A){var e=l(A);return e>=1<<A-1?e:e+(-1<<A)+1}var w=0;var d,D=0;function y(A,e,t,i,r){var I=t%B,g=(t/B|0)*A.v+i,n=I*A.h+r;e(A,A.blocks[g][n])}function k(A,e,t){var i=t/A.blocksPerLine|0,r=t%A.blocksPerLine;e(A,A.blocks[i][r])}var p,m,G,F,S,R,U=r.length;R=C?0===g?0===a?function(A,e){var t=h(A.huffmanTableDC),i=0===t?0:u(t)<<o;A.pred+=i,e[0]=A.pred}:function(A,e){e[0]|=c()<<o}:0===a?function(A,e){if(w>0)w--;else for(var t=g,i=n;t<=i;){var r=h(A.huffmanTableAC),I=15&r,a=r>>4;if(0===I){if(a<15){w=l(a)+(1<<a)-1;break}t+=16}else e[v[t+=a]]=u(I)*(1<<o),t++}}:function(A,e){for(var t=g,i=n,r=0;t<=i;){var I=v[t],a=e[I]<0?-1:1;switch(D){case 0:var B=h(A.huffmanTableAC),C=15&B;if(r=B>>4,0===C)r<15?(w=l(r)+(1<<r),D=4):(r=16,D=1);else{if(1!==C)throw new Error("invalid ACn encoding");d=u(C),D=r?2:3}continue;case 1:case 2:e[I]?e[I]+=(c()<<o)*a:0==--r&&(D=2===D?3:0);break;case 3:e[I]?e[I]+=(c()<<o)*a:(e[I]=d<<o,D=0);break;case 4:e[I]&&(e[I]+=(c()<<o)*a)}t++}4===D&&0==--w&&(D=0)}:function(A,e){var t=h(A.huffmanTableDC),i=0===t?0:u(t);A.pred+=i,e[0]=A.pred;for(var r=1;r<64;){var I=h(A.huffmanTableAC),g=15&I,n=I>>4;if(0===g){if(n<15)break;r+=16}else e[v[r+=n]]=u(g),r++}};var L,b,M=0;b=1===U?r[0].blocksPerLine*r[0].blocksPerColumn:B*i.mcusPerColumn;for(var N=I||b;M<b;){for(m=0;m<U;m++)r[m].pred=0;if(w=0,1===U)for(p=r[0],S=0;S<N;S++)k(p,R,M),M++;else for(S=0;S<N;S++){for(m=0;m<U;m++){var x=p=r[m],J=x.h,q=x.v;for(G=0;G<q;G++)for(F=0;F<J;F++)y(p,R,M,G,F)}if(++M===b)break}if(f=0,(L=A[E]<<8|A[E+1])<65280)throw new Error("marker was not found");if(!(L>=65488&&L<=65495))break;E+=2}return E-Q}function L(A,e){var t=[],i=e.blocksPerLine,r=e.blocksPerColumn,I=i<<3,g=new Int32Array(64),n=new Uint8Array(64);function a(A,t,i){var r,I,g,n,a,o,B,C,Q,E,s=e.quantizationTable,f=i;for(E=0;E<64;E++)f[E]=A[E]*s[E];for(E=0;E<8;++E){var c=8*E;0!==f[1+c]||0!==f[2+c]||0!==f[3+c]||0!==f[4+c]||0!==f[5+c]||0!==f[6+c]||0!==f[7+c]?(r=5793*f[0+c]+128>>8,I=5793*f[4+c]+128>>8,g=f[2+c],n=f[6+c],a=2896*(f[1+c]-f[7+c])+128>>8,C=2896*(f[1+c]+f[7+c])+128>>8,o=f[3+c]<<4,Q=r-I+1>>1,r=r+I+1>>1,I=Q,Q=3784*g+1567*n+128>>8,g=1567*g-3784*n+128>>8,n=Q,Q=a-(B=f[5+c]<<4)+1>>1,a=a+B+1>>1,B=Q,Q=C+o+1>>1,o=C-o+1>>1,C=Q,Q=r-n+1>>1,r=r+n+1>>1,n=Q,Q=I-g+1>>1,I=I+g+1>>1,g=Q,Q=2276*a+3406*C+2048>>12,a=3406*a-2276*C+2048>>12,C=Q,Q=799*o+4017*B+2048>>12,o=4017*o-799*B+2048>>12,B=Q,f[0+c]=r+C,f[7+c]=r-C,f[1+c]=I+B,f[6+c]=I-B,f[2+c]=g+o,f[5+c]=g-o,f[3+c]=n+a,f[4+c]=n-a):(Q=5793*f[0+c]+512>>10,f[0+c]=Q,f[1+c]=Q,f[2+c]=Q,f[3+c]=Q,f[4+c]=Q,f[5+c]=Q,f[6+c]=Q,f[7+c]=Q)}for(E=0;E<8;++E){var h=E;0!==f[8+h]||0!==f[16+h]||0!==f[24+h]||0!==f[32+h]||0!==f[40+h]||0!==f[48+h]||0!==f[56+h]?(r=5793*f[0+h]+2048>>12,I=5793*f[32+h]+2048>>12,g=f[16+h],n=f[48+h],a=2896*(f[8+h]-f[56+h])+2048>>12,C=2896*(f[8+h]+f[56+h])+2048>>12,o=f[24+h],Q=r-I+1>>1,r=r+I+1>>1,I=Q,Q=3784*g+1567*n+2048>>12,g=1567*g-3784*n+2048>>12,n=Q,Q=a-(B=f[40+h])+1>>1,a=a+B+1>>1,B=Q,Q=C+o+1>>1,o=C-o+1>>1,C=Q,Q=r-n+1>>1,r=r+n+1>>1,n=Q,Q=I-g+1>>1,I=I+g+1>>1,g=Q,Q=2276*a+3406*C+2048>>12,a=3406*a-2276*C+2048>>12,C=Q,Q=799*o+4017*B+2048>>12,o=4017*o-799*B+2048>>12,B=Q,f[0+h]=r+C,f[56+h]=r-C,f[8+h]=I+B,f[48+h]=I-B,f[16+h]=g+o,f[40+h]=g-o,f[24+h]=n+a,f[32+h]=n-a):(Q=5793*i[E+0]+8192>>14,f[0+h]=Q,f[8+h]=Q,f[16+h]=Q,f[24+h]=Q,f[32+h]=Q,f[40+h]=Q,f[48+h]=Q,f[56+h]=Q)}for(E=0;E<64;++E){var l=128+(f[E]+8>>4);t[E]=l<0?0:l>255?255:l}}for(var o=0;o<r;o++){for(var B=o<<3,C=0;C<8;C++)t.push(new Uint8Array(I));for(var Q=0;Q<i;Q++){a(e.blocks[o][Q],n,g);for(var E=0,s=Q<<3,f=0;f<8;f++)for(var c=t[B+f],h=0;h<8;h++)c[s+h]=n[E++]}}return t}var b=function(){function A(){B(this,A),this.jfif=null,this.adobe=null,this.quantizationTables=[],this.huffmanTablesAC=[],this.huffmanTablesDC=[],this.resetFrames()}return Q(A,[{key:"resetFrames",value:function(){this.frames=[]}},{key:"parse",value:function(A){var e=0;function t(){var t=A[e]<<8|A[e+1];return e+=2,t}function i(A){var e,t,i=0,r=0;for(t in A.components)A.components.hasOwnProperty(t)&&(i<(e=A.components[t]).h&&(i=e.h),r<e.v&&(r=e.v));var I=Math.ceil(A.samplesPerLine/8/i),g=Math.ceil(A.scanLines/8/r);for(t in A.components)if(A.components.hasOwnProperty(t)){e=A.components[t];for(var n=Math.ceil(Math.ceil(A.samplesPerLine/8)*e.h/i),a=Math.ceil(Math.ceil(A.scanLines/8)*e.v/r),o=I*e.h,B=g*e.v,C=[],Q=0;Q<B;Q++){for(var E=[],s=0;s<o;s++)E.push(new Int32Array(64));C.push(E)}e.blocksPerLine=n,e.blocksPerColumn=a,e.blocks=C}A.maxH=i,A.maxV=r,A.mcusPerLine=I,A.mcusPerColumn=g}var r,I,g=t();if(65496!==g)throw new Error("SOI not found");for(g=t();65497!==g;){switch(g){case 65280:break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var n=(r=void 0,I=void 0,r=t(),I=A.subarray(e,e+r-2),e+=I.length,I);65504===g&&74===n[0]&&70===n[1]&&73===n[2]&&70===n[3]&&0===n[4]&&(this.jfif={version:{major:n[5],minor:n[6]},densityUnits:n[7],xDensity:n[8]<<8|n[9],yDensity:n[10]<<8|n[11],thumbWidth:n[12],thumbHeight:n[13],thumbData:n.subarray(14,14+3*n[12]*n[13])}),65518===g&&65===n[0]&&100===n[1]&&111===n[2]&&98===n[3]&&101===n[4]&&0===n[5]&&(this.adobe={version:n[6],flags0:n[7]<<8|n[8],flags1:n[9]<<8|n[10],transformCode:n[11]});break;case 65499:for(var a=t()+e-2;e<a;){var o=A[e++],B=new Int32Array(64);if(o>>4==0)for(var C=0;C<64;C++){B[v[C]]=A[e++]}else{if(o>>4!=1)throw new Error("DQT: invalid table spec");for(var Q=0;Q<64;Q++){B[v[Q]]=t()}}this.quantizationTables[15&o]=B}break;case 65472:case 65473:case 65474:t();for(var E={extended:65473===g,progressive:65474===g,precision:A[e++],scanLines:t(),samplesPerLine:t(),components:{},componentsOrder:[]},s=A[e++],f=void 0,c=0;c<s;c++){f=A[e];var h=A[e+1]>>4,l=15&A[e+1],u=A[e+2];E.componentsOrder.push(f),E.components[f]={h:h,v:l,quantizationIdx:u},e+=3}i(E),this.frames.push(E);break;case 65476:for(var w=t(),d=2;d<w;){for(var D=A[e++],y=new Uint8Array(16),k=0,p=0;p<16;p++,e++)y[p]=A[e],k+=y[p];for(var m=new Uint8Array(k),G=0;G<k;G++,e++)m[G]=A[e];d+=17+k,D>>4==0?this.huffmanTablesDC[15&D]=R(y,m):this.huffmanTablesAC[15&D]=R(y,m)}break;case 65501:t(),this.resetInterval=t();break;case 65498:t();for(var F=A[e++],S=[],L=this.frames[0],b=0;b<F;b++){var M=L.components[A[e++]],N=A[e++];M.huffmanTableDC=this.huffmanTablesDC[N>>4],M.huffmanTableAC=this.huffmanTablesAC[15&N],S.push(M)}var x=A[e++],J=A[e++],q=A[e++],Y=U(A,e,L,S,this.resetInterval,x,J,q>>4,15&q);e+=Y;break;case 65535:255!==A[e]&&e--;break;default:if(255===A[e-3]&&A[e-2]>=192&&A[e-2]<=254){e-=3;break}throw new Error("unknown JPEG marker ".concat(g.toString(16)))}g=t()}}},{key:"getResult",value:function(){var A=this.frames;if(0===this.frames.length)throw new Error("no frames were decoded");this.frames.length>1&&console.warn("more than one frame is not supported");for(var e=0;e<this.frames.length;e++)for(var t=this.frames[e].components,i=0,r=Object.keys(t);i<r.length;i++){var I=r[i];t[I].quantizationTable=this.quantizationTables[t[I].quantizationIdx],delete t[I].quantizationIdx}for(var g=A[0],n=g.components,a=g.componentsOrder,o=[],B=g.samplesPerLine,C=g.scanLines,Q=0;Q<a.length;Q++){var E=n[a[Q]];o.push({lines:L(0,E),scaleX:E.h/g.maxH,scaleY:E.v/g.maxV})}for(var s=new Uint8Array(B*C*o.length),f=0,c=0;c<C;++c)for(var h=0;h<B;++h)for(var l=0;l<o.length;++l){var u=o[l];s[f]=u.lines[0|c*u.scaleY][0|h*u.scaleX],++f}return s}}]),A}(),M=function(A){s(t,w);var e=S(t);function t(A){var i;return B(this,t),(i=e.call(this)).reader=new b,A.JPEGTables&&i.reader.parse(A.JPEGTables),i}return Q(t,[{key:"decodeBlock",value:function(A){return this.reader.resetFrames(),this.reader.parse(new Uint8Array(A)),this.reader.getResult().buffer}}]),t}(),N=Object.freeze({__proto__:null,default:M});function x(A){for(var e=A.length;--e>=0;)A[e]=0}x(new Array(576)),x(new Array(60)),x(new Array(512)),x(new Array(256)),x(new Array(29)),x(new Array(30));var J=function(A,e,t,i){for(var r=65535&A|0,I=A>>>16&65535|0,g=0;0!==t;){t-=g=t>2e3?2e3:t;do{I=I+(r=r+e[i++]|0)|0}while(--g);r%=65521,I%=65521}return r|I<<16|0},q=new Uint32Array(function(){for(var A,e=[],t=0;t<256;t++){A=t;for(var i=0;i<8;i++)A=1&A?3988292384^A>>>1:A>>>1;e[t]=A}return e}()),Y=function(A,e,t,i){var r=q,I=i+t;A^=-1;for(var g=i;g<I;g++)A=A>>>8^r[255&(A^e[g])];return-1^A},K={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"},H={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_MEM_ERROR:-4,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},O=function(A,e){return Object.prototype.hasOwnProperty.call(A,e)},P=function(A){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var i=e.shift();if(i){if("object"!==t(i))throw new TypeError(i+"must be non-object");for(var r in i)O(i,r)&&(A[r]=i[r])}}return A},T=function(A){for(var e=0,t=0,i=A.length;t<i;t++)e+=A[t].length;for(var r=new Uint8Array(e),I=0,g=0,n=A.length;I<n;I++){var a=A[I];r.set(a,g),g+=a.length}return r},V=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(A){V=!1}for(var _=new Uint8Array(256),X=0;X<256;X++)_[X]=X>=252?6:X>=248?5:X>=240?4:X>=224?3:X>=192?2:1;_[254]=_[254]=1;var Z=function(A){if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(A);var e,t,i,r,I,g=A.length,n=0;for(r=0;r<g;r++)55296==(64512&(t=A.charCodeAt(r)))&&r+1<g&&56320==(64512&(i=A.charCodeAt(r+1)))&&(t=65536+(t-55296<<10)+(i-56320),r++),n+=t<128?1:t<2048?2:t<65536?3:4;for(e=new Uint8Array(n),I=0,r=0;I<n;r++)55296==(64512&(t=A.charCodeAt(r)))&&r+1<g&&56320==(64512&(i=A.charCodeAt(r+1)))&&(t=65536+(t-55296<<10)+(i-56320),r++),t<128?e[I++]=t:t<2048?(e[I++]=192|t>>>6,e[I++]=128|63&t):t<65536?(e[I++]=224|t>>>12,e[I++]=128|t>>>6&63,e[I++]=128|63&t):(e[I++]=240|t>>>18,e[I++]=128|t>>>12&63,e[I++]=128|t>>>6&63,e[I++]=128|63&t);return e},j=function(A,e){var t,i,r=e||A.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(A.subarray(0,e));var I=new Array(2*r);for(i=0,t=0;t<r;){var g=A[t++];if(g<128)I[i++]=g;else{var n=_[g];if(n>4)I[i++]=65533,t+=n-1;else{for(g&=2===n?31:3===n?15:7;n>1&&t<r;)g=g<<6|63&A[t++],n--;n>1?I[i++]=65533:g<65536?I[i++]=g:(g-=65536,I[i++]=55296|g>>10&1023,I[i++]=56320|1023&g)}}}return function(A,e){if(e<65534&&A.subarray&&V)return String.fromCharCode.apply(null,A.length===e?A:A.subarray(0,e));for(var t="",i=0;i<e;i++)t+=String.fromCharCode(A[i]);return t}(I,i)},W=function(A,e){(e=e||A.length)>A.length&&(e=A.length);for(var t=e-1;t>=0&&128==(192&A[t]);)t--;return t<0||0===t?e:t+_[A[t]]>e?t:e};var z=function(){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},$=function(A,e){var t,i,r,I,g,n,a,o,B,C,Q,E,s,f,c,h,l,u,w,d,D,y,k,p,m=A.state;t=A.next_in,k=A.input,i=t+(A.avail_in-5),r=A.next_out,p=A.output,I=r-(e-A.avail_out),g=r+(A.avail_out-257),n=m.dmax,a=m.wsize,o=m.whave,B=m.wnext,C=m.window,Q=m.hold,E=m.bits,s=m.lencode,f=m.distcode,c=(1<<m.lenbits)-1,h=(1<<m.distbits)-1;A:do{E<15&&(Q+=k[t++]<<E,E+=8,Q+=k[t++]<<E,E+=8),l=s[Q&c];e:for(;;){if(Q>>>=u=l>>>24,E-=u,0===(u=l>>>16&255))p[r++]=65535&l;else{if(!(16&u)){if(0==(64&u)){l=s[(65535&l)+(Q&(1<<u)-1)];continue e}if(32&u){m.mode=12;break A}A.msg="invalid literal/length code",m.mode=30;break A}w=65535&l,(u&=15)&&(E<u&&(Q+=k[t++]<<E,E+=8),w+=Q&(1<<u)-1,Q>>>=u,E-=u),E<15&&(Q+=k[t++]<<E,E+=8,Q+=k[t++]<<E,E+=8),l=f[Q&h];t:for(;;){if(Q>>>=u=l>>>24,E-=u,!(16&(u=l>>>16&255))){if(0==(64&u)){l=f[(65535&l)+(Q&(1<<u)-1)];continue t}A.msg="invalid distance code",m.mode=30;break A}if(d=65535&l,E<(u&=15)&&(Q+=k[t++]<<E,(E+=8)<u&&(Q+=k[t++]<<E,E+=8)),(d+=Q&(1<<u)-1)>n){A.msg="invalid distance too far back",m.mode=30;break A}if(Q>>>=u,E-=u,d>(u=r-I)){if((u=d-u)>o&&m.sane){A.msg="invalid distance too far back",m.mode=30;break A}if(D=0,y=C,0===B){if(D+=a-u,u<w){w-=u;do{p[r++]=C[D++]}while(--u);D=r-d,y=p}}else if(B<u){if(D+=a+B-u,(u-=B)<w){w-=u;do{p[r++]=C[D++]}while(--u);if(D=0,B<w){w-=u=B;do{p[r++]=C[D++]}while(--u);D=r-d,y=p}}}else if(D+=B-u,u<w){w-=u;do{p[r++]=C[D++]}while(--u);D=r-d,y=p}for(;w>2;)p[r++]=y[D++],p[r++]=y[D++],p[r++]=y[D++],w-=3;w&&(p[r++]=y[D++],w>1&&(p[r++]=y[D++]))}else{D=r-d;do{p[r++]=p[D++],p[r++]=p[D++],p[r++]=p[D++],w-=3}while(w>2);w&&(p[r++]=p[D++],w>1&&(p[r++]=p[D++]))}break}}break}}while(t<i&&r<g);t-=w=E>>3,Q&=(1<<(E-=w<<3))-1,A.next_in=t,A.next_out=r,A.avail_in=t<i?i-t+5:5-(t-i),A.avail_out=r<g?g-r+257:257-(r-g),m.hold=Q,m.bits=E},AA=new Uint16Array([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]),eA=new Uint8Array([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]),tA=new Uint16Array([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]),iA=new Uint8Array([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]),rA=function(A,e,t,i,r,I,g,n){var a,o,B,C,Q,E,s,f,c,h=n.bits,l=0,u=0,w=0,d=0,D=0,y=0,k=0,p=0,m=0,G=0,F=null,S=0,v=new Uint16Array(16),R=new Uint16Array(16),U=null,L=0;for(l=0;l<=15;l++)v[l]=0;for(u=0;u<i;u++)v[e[t+u]]++;for(D=h,d=15;d>=1&&0===v[d];d--);if(D>d&&(D=d),0===d)return r[I++]=20971520,r[I++]=20971520,n.bits=1,0;for(w=1;w<d&&0===v[w];w++);for(D<w&&(D=w),p=1,l=1;l<=15;l++)if(p<<=1,(p-=v[l])<0)return-1;if(p>0&&(0===A||1!==d))return-1;for(R[1]=0,l=1;l<15;l++)R[l+1]=R[l]+v[l];for(u=0;u<i;u++)0!==e[t+u]&&(g[R[e[t+u]]++]=u);if(0===A?(F=U=g,E=19):1===A?(F=AA,S-=257,U=eA,L-=257,E=256):(F=tA,U=iA,E=-1),G=0,u=0,l=w,Q=I,y=D,k=0,B=-1,C=(m=1<<D)-1,1===A&&m>852||2===A&&m>592)return 1;for(;;){s=l-k,g[u]<E?(f=0,c=g[u]):g[u]>E?(f=U[L+g[u]],c=F[S+g[u]]):(f=96,c=0),a=1<<l-k,w=o=1<<y;do{r[Q+(G>>k)+(o-=a)]=s<<24|f<<16|c|0}while(0!==o);for(a=1<<l-1;G&a;)a>>=1;if(0!==a?(G&=a-1,G+=a):G=0,u++,0==--v[l]){if(l===d)break;l=e[t+g[u]]}if(l>D&&(G&C)!==B){for(0===k&&(k=D),Q+=w,p=1<<(y=l-k);y+k<d&&!((p-=v[y+k])<=0);)y++,p<<=1;if(m+=1<<y,1===A&&m>852||2===A&&m>592)return 1;r[B=G&C]=D<<24|y<<16|Q-I|0}}return 0!==G&&(r[Q+G]=l-k<<24|64<<16|0),n.bits=D,0},IA=H.Z_FINISH,gA=H.Z_BLOCK,nA=H.Z_TREES,aA=H.Z_OK,oA=H.Z_STREAM_END,BA=H.Z_NEED_DICT,CA=H.Z_STREAM_ERROR,QA=H.Z_DATA_ERROR,EA=H.Z_MEM_ERROR,sA=H.Z_BUF_ERROR,fA=H.Z_DEFLATED,cA=function(A){return(A>>>24&255)+(A>>>8&65280)+((65280&A)<<8)+((255&A)<<24)};function hA(){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 Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var lA,uA,wA=function(A){if(!A||!A.state)return CA;var e=A.state;return A.total_in=A.total_out=e.total=0,A.msg="",e.wrap&&(A.adler=1&e.wrap),e.mode=1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,aA},dA=function(A){if(!A||!A.state)return CA;var e=A.state;return e.wsize=0,e.whave=0,e.wnext=0,wA(A)},DA=function(A,e){var t;if(!A||!A.state)return CA;var i=A.state;return e<0?(t=0,e=-e):(t=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?CA:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=t,i.wbits=e,dA(A))},yA=function(A,e){if(!A)return CA;var t=new hA;A.state=t,t.window=null;var i=DA(A,e);return i!==aA&&(A.state=null),i},kA=!0,pA=function(A){if(kA){lA=new Int32Array(512),uA=new Int32Array(32);for(var e=0;e<144;)A.lens[e++]=8;for(;e<256;)A.lens[e++]=9;for(;e<280;)A.lens[e++]=7;for(;e<288;)A.lens[e++]=8;for(rA(1,A.lens,0,288,lA,0,A.work,{bits:9}),e=0;e<32;)A.lens[e++]=5;rA(2,A.lens,0,32,uA,0,A.work,{bits:5}),kA=!1}A.lencode=lA,A.lenbits=9,A.distcode=uA,A.distbits=5},mA=function(A,e,t,i){var r,I=A.state;return null===I.window&&(I.wsize=1<<I.wbits,I.wnext=0,I.whave=0,I.window=new Uint8Array(I.wsize)),i>=I.wsize?(I.window.set(e.subarray(t-I.wsize,t),0),I.wnext=0,I.whave=I.wsize):((r=I.wsize-I.wnext)>i&&(r=i),I.window.set(e.subarray(t-i,t-i+r),I.wnext),(i-=r)?(I.window.set(e.subarray(t-i,t),0),I.wnext=i,I.whave=I.wsize):(I.wnext+=r,I.wnext===I.wsize&&(I.wnext=0),I.whave<I.wsize&&(I.whave+=r))),0},GA={inflateReset:dA,inflateReset2:DA,inflateResetKeep:wA,inflateInit:function(A){return yA(A,15)},inflateInit2:yA,inflate:function(A,e){var t,i,r,I,g,n,a,o,B,C,Q,E,s,f,c,h,l,u,w,d,D,y,k,p,m=0,G=new Uint8Array(4),F=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(!A||!A.state||!A.output||!A.input&&0!==A.avail_in)return CA;12===(t=A.state).mode&&(t.mode=13),g=A.next_out,r=A.output,a=A.avail_out,I=A.next_in,i=A.input,n=A.avail_in,o=t.hold,B=t.bits,C=n,Q=a,y=aA;A:for(;;)switch(t.mode){case 1:if(0===t.wrap){t.mode=13;break}for(;B<16;){if(0===n)break A;n--,o+=i[I++]<<B,B+=8}if(2&t.wrap&&35615===o){t.check=0,G[0]=255&o,G[1]=o>>>8&255,t.check=Y(t.check,G,2,0),o=0,B=0,t.mode=2;break}if(t.flags=0,t.head&&(t.head.done=!1),!(1&t.wrap)||(((255&o)<<8)+(o>>8))%31){A.msg="incorrect header check",t.mode=30;break}if((15&o)!==fA){A.msg="unknown compression method",t.mode=30;break}if(B-=4,D=8+(15&(o>>>=4)),0===t.wbits)t.wbits=D;else if(D>t.wbits){A.msg="invalid window size",t.mode=30;break}t.dmax=1<<t.wbits,A.adler=t.check=1,t.mode=512&o?10:12,o=0,B=0;break;case 2:for(;B<16;){if(0===n)break A;n--,o+=i[I++]<<B,B+=8}if(t.flags=o,(255&t.flags)!==fA){A.msg="unknown compression method",t.mode=30;break}if(57344&t.flags){A.msg="unknown header flags set",t.mode=30;break}t.head&&(t.head.text=o>>8&1),512&t.flags&&(G[0]=255&o,G[1]=o>>>8&255,t.check=Y(t.check,G,2,0)),o=0,B=0,t.mode=3;case 3:for(;B<32;){if(0===n)break A;n--,o+=i[I++]<<B,B+=8}t.head&&(t.head.time=o),512&t.flags&&(G[0]=255&o,G[1]=o>>>8&255,G[2]=o>>>16&255,G[3]=o>>>24&255,t.check=Y(t.check,G,4,0)),o=0,B=0,t.mode=4;case 4:for(;B<16;){if(0===n)break A;n--,o+=i[I++]<<B,B+=8}t.head&&(t.head.xflags=255&o,t.head.os=o>>8),512&t.flags&&(G[0]=255&o,G[1]=o>>>8&255,t.check=Y(t.check,G,2,0)),o=0,B=0,t.mode=5;case 5:if(1024&t.flags){for(;B<16;){if(0===n)break A;n--,o+=i[I++]<<B,B+=8}t.length=o,t.head&&(t.head.extra_len=o),512&t.flags&&(G[0]=255&o,G[1]=o>>>8&255,t.check=Y(t.check,G,2,0)),o=0,B=0}else t.head&&(t.head.extra=null);t.mode=6;case 6:if(1024&t.flags&&((E=t.length)>n&&(E=n),E&&(t.head&&(D=t.head.extra_len-t.length,t.head.extra||(t.head.extra=new Uint8Array(t.head.extra_len)),t.head.extra.set(i.subarray(I,I+E),D)),512&t.flags&&(t.check=Y(t.check,i,E,I)),n-=E,I+=E,t.length-=E),t.length))break A;t.length=0,t.mode=7;case 7:if(2048&t.flags){if(0===n)break A;E=0;do{D=i[I+E++],t.head&&D&&t.length<65536&&(t.head.name+=String.fromCharCode(D))}while(D&&E<n);if(512&t.flags&&(t.check=Y(t.check,i,E,I)),n-=E,I+=E,D)break A}else t.head&&(t.head.name=null);t.length=0,t.mode=8;case 8:if(4096&t.flags){if(0===n)break A;E=0;do{D=i[I+E++],t.head&&D&&t.length<65536&&(t.head.comment+=String.fromCharCode(D))}while(D&&E<n);if(512&t.flags&&(t.check=Y(t.check,i,E,I)),n-=E,I+=E,D)break A}else t.head&&(t.head.comment=null);t.mode=9;case 9:if(512&t.flags){for(;B<16;){if(0===n)break A;n--,o+=i[I++]<<B,B+=8}if(o!==(65535&t.check)){A.msg="header crc mismatch",t.mode=30;break}o=0,B=0}t.head&&(t.head.hcrc=t.flags>>9&1,t.head.done=!0),A.adler=t.check=0,t.mode=12;break;case 10:for(;B<32;){if(0===n)break A;n--,o+=i[I++]<<B,B+=8}A.adler=t.check=cA(o),o=0,B=0,t.mode=11;case 11:if(0===t.havedict)return A.next_out=g,A.avail_out=a,A.next_in=I,A.avail_in=n,t.hold=o,t.bits=B,BA;A.adler=t.check=1,t.mode=12;case 12:if(e===gA||e===nA)break A;case 13:if(t.last){o>>>=7&B,B-=7&B,t.mode=27;break}for(;B<3;){if(0===n)break A;n--,o+=i[I++]<<B,B+=8}switch(t.last=1&o,B-=1,3&(o>>>=1)){case 0:t.mode=14;break;case 1:if(pA(t),t.mode=20,e===nA){o>>>=2,B-=2;break A}break;case 2:t.mode=17;break;case 3:A.msg="invalid block type",t.mode=30}o>>>=2,B-=2;break;case 14:for(o>>>=7&B,B-=7&B;B<32;){if(0===n)break A;n--,o+=i[I++]<<B,B+=8}if((65535&o)!=(o>>>16^65535)){A.msg="invalid stored block lengths",t.mode=30;break}if(t.length=65535&o,o=0,B=0,t.mode=15,e===nA)break A;case 15:t.mode=16;case 16:if(E=t.length){if(E>n&&(E=n),E>a&&(E=a),0===E)break A;r.set(i.subarray(I,I+E),g),n-=E,I+=E,a-=E,g+=E,t.length-=E;break}t.mode=12;break;case 17:for(;B<14;){if(0===n)break A;n--,o+=i[I++]<<B,B+=8}if(t.nlen=257+(31&o),o>>>=5,B-=5,t.ndist=1+(31&o),o>>>=5,B-=5,t.ncode=4+(15&o),o>>>=4,B-=4,t.nlen>286||t.ndist>30){A.msg="too many length or distance symbols",t.mode=30;break}t.have=0,t.mode=18;case 18:for(;t.have<t.ncode;){for(;B<3;){if(0===n)break A;n--,o+=i[I++]<<B,B+=8}t.lens[F[t.have++]]=7&o,o>>>=3,B-=3}for(;t.have<19;)t.lens[F[t.have++]]=0;if(t.lencode=t.lendyn,t.lenbits=7,k={bits:t.lenbits},y=rA(0,t.lens,0,19,t.lencode,0,t.work,k),t.lenbits=k.bits,y){A.msg="invalid code lengths set",t.mode=30;break}t.have=0,t.mode=19;case 19:for(;t.have<t.nlen+t.ndist;){for(;h=(m=t.lencode[o&(1<<t.lenbits)-1])>>>16&255,l=65535&m,!((c=m>>>24)<=B);){if(0===n)break A;n--,o+=i[I++]<<B,B+=8}if(l<16)o>>>=c,B-=c,t.lens[t.have++]=l;else{if(16===l){for(p=c+2;B<p;){if(0===n)break A;n--,o+=i[I++]<<B,B+=8}if(o>>>=c,B-=c,0===t.have){A.msg="invalid bit length repeat",t.mode=30;break}D=t.lens[t.have-1],E=3+(3&o),o>>>=2,B-=2}else if(17===l){for(p=c+3;B<p;){if(0===n)break A;n--,o+=i[I++]<<B,B+=8}B-=c,D=0,E=3+(7&(o>>>=c)),o>>>=3,B-=3}else{for(p=c+7;B<p;){if(0===n)break A;n--,o+=i[I++]<<B,B+=8}B-=c,D=0,E=11+(127&(o>>>=c)),o>>>=7,B-=7}if(t.have+E>t.nlen+t.ndist){A.msg="invalid bit length repeat",t.mode=30;break}for(;E--;)t.lens[t.have++]=D}}if(30===t.mode)break;if(0===t.lens[256]){A.msg="invalid code -- missing end-of-block",t.mode=30;break}if(t.lenbits=9,k={bits:t.lenbits},y=rA(1,t.lens,0,t.nlen,t.lencode,0,t.work,k),t.lenbits=k.bits,y){A.msg="invalid literal/lengths set",t.mode=30;break}if(t.distbits=6,t.distcode=t.distdyn,k={bits:t.distbits},y=rA(2,t.lens,t.nlen,t.ndist,t.distcode,0,t.work,k),t.distbits=k.bits,y){A.msg="invalid distances set",t.mode=30;break}if(t.mode=20,e===nA)break A;case 20:t.mode=21;case 21:if(n>=6&&a>=258){A.next_out=g,A.avail_out=a,A.next_in=I,A.avail_in=n,t.hold=o,t.bits=B,$(A,Q),g=A.next_out,r=A.output,a=A.avail_out,I=A.next_in,i=A.input,n=A.avail_in,o=t.hold,B=t.bits,12===t.mode&&(t.back=-1);break}for(t.back=0;h=(m=t.lencode[o&(1<<t.lenbits)-1])>>>16&255,l=65535&m,!((c=m>>>24)<=B);){if(0===n)break A;n--,o+=i[I++]<<B,B+=8}if(h&&0==(240&h)){for(u=c,w=h,d=l;h=(m=t.lencode[d+((o&(1<<u+w)-1)>>u)])>>>16&255,l=65535&m,!(u+(c=m>>>24)<=B);){if(0===n)break A;n--,o+=i[I++]<<B,B+=8}o>>>=u,B-=u,t.back+=u}if(o>>>=c,B-=c,t.back+=c,t.length=l,0===h){t.mode=26;break}if(32&h){t.back=-1,t.mode=12;break}if(64&h){A.msg="invalid literal/length code",t.mode=30;break}t.extra=15&h,t.mode=22;case 22:if(t.extra){for(p=t.extra;B<p;){if(0===n)break A;n--,o+=i[I++]<<B,B+=8}t.length+=o&(1<<t.extra)-1,o>>>=t.extra,B-=t.extra,t.back+=t.extra}t.was=t.length,t.mode=23;case 23:for(;h=(m=t.distcode[o&(1<<t.distbits)-1])>>>16&255,l=65535&m,!((c=m>>>24)<=B);){if(0===n)break A;n--,o+=i[I++]<<B,B+=8}if(0==(240&h)){for(u=c,w=h,d=l;h=(m=t.distcode[d+((o&(1<<u+w)-1)>>u)])>>>16&255,l=65535&m,!(u+(c=m>>>24)<=B);){if(0===n)break A;n--,o+=i[I++]<<B,B+=8}o>>>=u,B-=u,t.back+=u}if(o>>>=c,B-=c,t.back+=c,64&h){A.msg="invalid distance code",t.mode=30;break}t.offset=l,t.extra=15&h,t.mode=24;case 24:if(t.extra){for(p=t.extra;B<p;){if(0===n)break A;n--,o+=i[I++]<<B,B+=8}t.offset+=o&(1<<t.extra)-1,o>>>=t.extra,B-=t.extra,t.back+=t.extra}if(t.offset>t.dmax){A.msg="invalid distance too far back",t.mode=30;break}t.mode=25;case 25:if(0===a)break A;if(E=Q-a,t.offset>E){if((E=t.offset-E)>t.whave&&t.sane){A.msg="invalid distance too far back",t.mode=30;break}E>t.wnext?(E-=t.wnext,s=t.wsize-E):s=t.wnext-E,E>t.length&&(E=t.length),f=t.window}else f=r,s=g-t.offset,E=t.length;E>a&&(E=a),a-=E,t.length-=E;do{r[g++]=f[s++]}while(--E);0===t.length&&(t.mode=21);break;case 26:if(0===a)break A;r[g++]=t.length,a--,t.mode=21;break;case 27:if(t.wrap){for(;B<32;){if(0===n)break A;n--,o|=i[I++]<<B,B+=8}if(Q-=a,A.total_out+=Q,t.total+=Q,Q&&(A.adler=t.check=t.flags?Y(t.check,r,Q,g-Q):J(t.check,r,Q,g-Q)),Q=a,(t.flags?o:cA(o))!==t.check){A.msg="incorrect data check",t.mode=30;break}o=0,B=0}t.mode=28;case 28:if(t.wrap&&t.flags){for(;B<32;){if(0===n)break A;n--,o+=i[I++]<<B,B+=8}if(o!==(4294967295&t.total)){A.msg="incorrect length check",t.mode=30;break}o=0,B=0}t.mode=29;case 29:y=oA;break A;case 30:y=QA;break A;case 31:return EA;default:return CA}return A.next_out=g,A.avail_out=a,A.next_in=I,A.avail_in=n,t.hold=o,t.bits=B,(t.wsize||Q!==A.avail_out&&t.mode<30&&(t.mode<27||e!==IA))&&mA(A,A.output,A.next_out,Q-A.avail_out),C-=A.avail_in,Q-=A.avail_out,A.total_in+=C,A.total_out+=Q,t.total+=Q,t.wrap&&Q&&(A.adler=t.check=t.flags?Y(t.check,r,Q,A.next_out-Q):J(t.check,r,Q,A.next_out-Q)),A.data_type=t.bits+(t.last?64:0)+(12===t.mode?128:0)+(20===t.mode||15===t.mode?256:0),(0===C&&0===Q||e===IA)&&y===aA&&(y=sA),y},inflateEnd:function(A){if(!A||!A.state)return CA;var e=A.state;return e.window&&(e.window=null),A.state=null,aA},inflateGetHeader:function(A,e){if(!A||!A.state)return CA;var t=A.state;return 0==(2&t.wrap)?CA:(t.head=e,e.done=!1,aA)},inflateSetDictionary:function(A,e){var t,i=e.length;return A&&A.state?0!==(t=A.state).wrap&&11!==t.mode?CA:11===t.mode&&J(1,e,i,0)!==t.check?QA:mA(A,e,i,i)?(t.mode=31,EA):(t.havedict=1,aA):CA},inflateInfo:"pako inflate (from Nodeca project)"};var FA=function(){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},SA=Object.prototype.toString,vA=H.Z_NO_FLUSH,RA=H.Z_FINISH,UA=H.Z_OK,LA=H.Z_STREAM_END,bA=H.Z_NEED_DICT,MA=H.Z_STREAM_ERROR,NA=H.Z_DATA_ERROR,xA=H.Z_MEM_ERROR;function JA(A){this.options=P({chunkSize:65536,windowBits:15,to:""},A||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||A&&A.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new z,this.strm.avail_out=0;var t=GA.inflateInit2(this.strm,e.windowBits);if(t!==UA)throw new Error(K[t]);if(this.header=new FA,GA.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=Z(e.dictionary):"[object ArrayBuffer]"===SA.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(t=GA.inflateSetDictionary(this.strm,e.dictionary))!==UA))throw new Error(K[t])}function qA(A,e){var t=new JA(e);if(t.push(A),t.err)throw t.msg||K[t.err];return t.result}JA.prototype.push=function(A,e){var t,i,r,I=this.strm,g=this.options.chunkSize,n=this.options.dictionary;if(this.ended)return!1;for(i=e===~~e?e:!0===e?RA:vA,"[object ArrayBuffer]"===SA.call(A)?I.input=new Uint8Array(A):I.input=A,I.next_in=0,I.avail_in=I.input.length;;){for(0===I.avail_out&&(I.output=new Uint8Array(g),I.next_out=0,I.avail_out=g),(t=GA.inflate(I,i))===bA&&n&&((t=GA.inflateSetDictionary(I,n))===UA?t=GA.inflate(I,i):t===NA&&(t=bA));I.avail_in>0&&t===LA&&I.state.wrap>0&&0!==A[I.next_in];)GA.inflateReset(I),t=GA.inflate(I,i);switch(t){case MA:case NA:case bA:case xA:return this.onEnd(t),this.ended=!0,!1}if(r=I.avail_out,I.next_out&&(0===I.avail_out||t===LA))if("string"===this.options.to){var a=W(I.output,I.next_out),o=I.next_out-a,B=j(I.output,a);I.next_out=o,I.avail_out=g-o,o&&I.output.set(I.output.subarray(a,a+o),0),this.onData(B)}else this.onData(I.output.length===I.next_out?I.output:I.output.subarray(0,I.next_out));if(t!==UA||0!==r){if(t===LA)return t=GA.inflateEnd(this.strm),this.onEnd(t),this.ended=!0,!0;if(0===I.avail_in)break}}return!0},JA.prototype.onData=function(A){this.chunks.push(A)},JA.prototype.onEnd=function(A){A===UA&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=T(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg};var YA={Inflate:JA,inflate:qA,inflateRaw:function(A,e){return(e=e||{}).raw=!0,qA(A,e)},ungzip:qA,constants:H}.inflate;function KA(A){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var t,i=c(A);if(e){var r=c(this).constructor;t=Reflect.construct(i,arguments,r)}else t=i.apply(this,arguments);return f(this,t)}}var HA=function(A){s(t,w);var e=KA(t);function t(){return B(this,t),e.apply(this,arguments)}return Q(t,[{key:"decodeBlock",value:function(A){return YA(new Uint8Array(A)).buffer}}]),t}(),OA=Object.freeze({__proto__:null,default:HA});function PA(A){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var t,i=c(A);if(e){var r=c(this).constructor;t=Reflect.construct(i,arguments,r)}else t=i.apply(this,arguments);return f(this,t)}}var TA,VA=function(A){s(t,w);var e=PA(t);function t(){return B(this,t),e.apply(this,arguments)}return Q(t,[{key:"decodeBlock",value:function(A){for(var e=new DataView(A),t=[],i=0;i<A.byteLength;++i){var r=e.getInt8(i);if(r<0){var I=e.getUint8(i+1);r=-r;for(var g=0;g<=r;++g)t.push(I);i+=1}else{for(var n=0;n<=r;++n)t.push(e.getUint8(i+n+1));i+=r+1}}return new Uint8Array(t).buffer}}]),t}(),_A=Object.freeze({__proto__:null,default:VA}),XA={exports:{}};TA=XA,\n/* Copyright 2015-2021 Esri. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */\nfunction(){var A,e,t,i,r,I,g,n,a,o,B,C,Q,E,s,f,c=(A={defaultNoDataValue:-34027999387901484e22,decode:function(I,g){var n=(g=g||{}).encodedMaskData||null===g.encodedMaskData,a=r(I,g.inputOffset||0,n),o=null!==g.noDataValue?g.noDataValue:A.defaultNoDataValue,B=e(a,g.pixelType||Float32Array,g.encodedMaskData,o,g.returnMask),C={width:a.width,height:a.height,pixelData:B.resultPixels,minValue:B.minValue,maxValue:a.pixels.maxValue,noDataValue:o};return B.resultMask&&(C.maskData=B.resultMask),g.returnEncodedMask&&a.mask&&(C.encodedMaskData=a.mask.bitset?a.mask.bitset:null),g.returnFileInfo&&(C.fileInfo=t(a),g.computeUsedBitDepths&&(C.fileInfo.bitDepths=i(a))),C}},e=function(A,e,t,i,r){var g,n,a,o=0,B=A.pixels.numBlocksX,C=A.pixels.numBlocksY,Q=Math.floor(A.width/B),E=Math.floor(A.height/C),s=2*A.maxZError,f=Number.MAX_VALUE;t=t||(A.mask?A.mask.bitset:null),n=new e(A.width*A.height),r&&t&&(a=new Uint8Array(A.width*A.height));for(var c,h,l=new Float32Array(Q*E),u=0;u<=C;u++){var w=u!==C?E:A.height%C;if(0!==w)for(var d=0;d<=B;d++){var D=d!==B?Q:A.width%B;if(0!==D){var y,k,p,m,G=u*A.width*E+d*Q,F=A.width-D,S=A.pixels.blocks[o];if(S.encoding<2?(0===S.encoding?y=S.rawData:(I(S.stuffedData,S.bitsPerPixel,S.numValidPixels,S.offset,s,l,A.pixels.maxValue),y=l),k=0):p=2===S.encoding?0:S.offset,t)for(h=0;h<w;h++){for(7&G&&(m=t[G>>3],m<<=7&G),c=0;c<D;c++)7&G||(m=t[G>>3]),128&m?(a&&(a[G]=1),f=f>(g=S.encoding<2?y[k++]:p)?g:f,n[G++]=g):(a&&(a[G]=0),n[G++]=i),m<<=1;G+=F}else if(S.encoding<2)for(h=0;h<w;h++){for(c=0;c<D;c++)f=f>(g=y[k++])?g:f,n[G++]=g;G+=F}else for(f=f>p?p:f,h=0;h<w;h++){for(c=0;c<D;c++)n[G++]=p;G+=F}if(1===S.encoding&&k!==S.numValidPixels)throw"Block and Mask do not match";o++}}}return{resultPixels:n,resultMask:a,minValue:f}},t=function(A){return{fileIdentifierString:A.fileIdentifierString,fileVersion:A.fileVersion,imageType:A.imageType,height:A.height,width:A.width,maxZError:A.maxZError,eofOffset:A.eofOffset,mask:A.mask?{numBlocksX:A.mask.numBlocksX,numBlocksY:A.mask.numBlocksY,numBytes:A.mask.numBytes,maxValue:A.mask.maxValue}:null,pixels:{numBlocksX:A.pixels.numBlocksX,numBlocksY:A.pixels.numBlocksY,numBytes:A.pixels.numBytes,maxValue:A.pixels.maxValue,noDataValue:A.noDataValue}}},i=function(A){for(var e=A.pixels.numBlocksX*A.pixels.numBlocksY,t={},i=0;i<e;i++){var r=A.pixels.blocks[i];0===r.encoding?t.float32=!0:1===r.encoding?t[r.bitsPerPixel]=!0:t[0]=!0}return Object.keys(t)},r=function(A,e,t){var i={},r=new Uint8Array(A,e,10);if(i.fileIdentifierString=String.fromCharCode.apply(null,r),"CntZImage"!==i.fileIdentifierString.trim())throw"Unexpected file identifier string: "+i.fileIdentifierString;e+=10;var I=new DataView(A,e,24);if(i.fileVersion=I.getInt32(0,!0),i.imageType=I.getInt32(4,!0),i.height=I.getUint32(8,!0),i.width=I.getUint32(12,!0),i.maxZError=I.getFloat64(16,!0),e+=24,!t)if(I=new DataView(A,e,16),i.mask={},i.mask.numBlocksY=I.getUint32(0,!0),i.mask.numBlocksX=I.getUint32(4,!0),i.mask.numBytes=I.getUint32(8,!0),i.mask.maxValue=I.getFloat32(12,!0),e+=16,i.mask.numBytes>0){var g=new Uint8Array(Math.ceil(i.width*i.height/8)),n=(I=new DataView(A,e,i.mask.numBytes)).getInt16(0,!0),a=2,o=0;do{if(n>0)for(;n--;)g[o++]=I.getUint8(a++);else{var B=I.getUint8(a++);for(n=-n;n--;)g[o++]=B}n=I.getInt16(a,!0),a+=2}while(a<i.mask.numBytes);if(-32768!==n||o<g.length)throw"Unexpected end of mask RLE encoding";i.mask.bitset=g,e+=i.mask.numBytes}else 0==(i.mask.numBytes|i.mask.numBlocksY|i.mask.maxValue)&&(i.mask.bitset=new Uint8Array(Math.ceil(i.width*i.height/8)));I=new DataView(A,e,16),i.pixels={},i.pixels.numBlocksY=I.getUint32(0,!0),i.pixels.numBlocksX=I.getUint32(4,!0),i.pixels.numBytes=I.getUint32(8,!0),i.pixels.maxValue=I.getFloat32(12,!0),e+=16;var C=i.pixels.numBlocksX,Q=i.pixels.numBlocksY,E=C+(i.width%C>0?1:0),s=Q+(i.height%Q>0?1:0);i.pixels.blocks=new Array(E*s);for(var f=0,c=0;c<s;c++)for(var h=0;h<E;h++){var l=0,u=A.byteLength-e;I=new DataView(A,e,Math.min(10,u));var w={};i.pixels.blocks[f++]=w;var d=I.getUint8(0);if(l++,w.encoding=63&d,w.encoding>3)throw"Invalid block encoding ("+w.encoding+")";if(2!==w.encoding){if(0!==d&&2!==d){if(d>>=6,w.offsetType=d,2===d)w.offset=I.getInt8(1),l++;else if(1===d)w.offset=I.getInt16(1,!0),l+=2;else{if(0!==d)throw"Invalid block offset type";w.offset=I.getFloat32(1,!0),l+=4}if(1===w.encoding)if(d=I.getUint8(l),l++,w.bitsPerPixel=63&d,d>>=6,w.numValidPixelsType=d,2===d)w.numValidPixels=I.getUint8(l),l++;else if(1===d)w.numValidPixels=I.getUint16(l,!0),l+=2;else{if(0!==d)throw"Invalid valid pixel count type";w.numValidPixels=I.getUint32(l,!0),l+=4}}var D;if(e+=l,3!==w.encoding)if(0===w.encoding){var y=(i.pixels.numBytes-1)/4;if(y!==Math.floor(y))throw"uncompressed block has invalid length";D=new ArrayBuffer(4*y),new Uint8Array(D).set(new Uint8Array(A,e,4*y));var k=new Float32Array(D);w.rawData=k,e+=4*y}else if(1===w.encoding){var p=Math.ceil(w.numValidPixels*w.bitsPerPixel/8),m=Math.ceil(p/4);D=new ArrayBuffer(4*m),new Uint8Array(D).set(new Uint8Array(A,e,p)),w.stuffedData=new Uint32Array(D),e+=p}}else e++}return i.eofOffset=e,i},I=function(A,e,t,i,r,I,g){var n,a,o,B=(1<<e)-1,C=0,Q=0,E=Math.ceil((g-i)/r),s=4*A.length-Math.ceil(e*t/8);for(A[A.length-1]<<=8*s,n=0;n<t;n++){if(0===Q&&(o=A[C++],Q=32),Q>=e)a=o>>>Q-e&B,Q-=e;else{var f=e-Q;a=(o&B)<<f&B,a+=(o=A[C++])>>>(Q=32-f)}I[n]=a<E?i+a*r:g}return I},A),h=(g=function(A,e,t,i,r,I,g,n){var a,o,B,C,Q,E=(1<<t)-1,s=0,f=0,c=4*A.length-Math.ceil(t*i/8);if(A[A.length-1]<<=8*c,r)for(a=0;a<i;a++)0===f&&(B=A[s++],f=32),f>=t?(o=B>>>f-t&E,f-=t):(o=(B&E)<<(C=t-f)&E,o+=(B=A[s++])>>>(f=32-C)),e[a]=r[o];else for(Q=Math.ceil((n-I)/g),a=0;a<i;a++)0===f&&(B=A[s++],f=32),f>=t?(o=B>>>f-t&E,f-=t):(o=(B&E)<<(C=t-f)&E,o+=(B=A[s++])>>>(f=32-C)),e[a]=o<Q?I+o*g:n},n=function(A,e,t,i,r,I){var g,n=(1<<e)-1,a=0,o=0,B=0,C=0,Q=0,E=[],s=4*A.length-Math.ceil(e*t/8);A[A.length-1]<<=8*s;var f=Math.ceil((I-i)/r);for(o=0;o<t;o++)0===C&&(g=A[a++],C=32),C>=e?(Q=g>>>C-e&n,C-=e):(Q=(g&n)<<(B=e-C)&n,Q+=(g=A[a++])>>>(C=32-B)),E[o]=Q<f?i+Q*r:I;return E.unshift(i),E},a=function(A,e,t,i,r,I,g,n){var a,o,B,C,Q=(1<<t)-1,E=0,s=0,f=0;if(r)for(a=0;a<i;a++)0===s&&(B=A[E++],s=32,f=0),s>=t?(o=B>>>f&Q,s-=t,f+=t):(o=B>>>f&Q,s=32-(C=t-s),o|=((B=A[E++])&(1<<C)-1)<<t-C,f=C),e[a]=r[o];else{var c=Math.ceil((n-I)/g);for(a=0;a<i;a++)0===s&&(B=A[E++],s=32,f=0),s>=t?(o=B>>>f&Q,s-=t,f+=t):(o=B>>>f&Q,s=32-(C=t-s),o|=((B=A[E++])&(1<<C)-1)<<t-C,f=C),e[a]=o<c?I+o*g:n}return e},o=function(A,e,t,i,r,I){var g,n=(1<<e)-1,a=0,o=0,B=0,C=0,Q=0,E=0,s=[],f=Math.ceil((I-i)/r);for(o=0;o<t;o++)0===C&&(g=A[a++],C=32,E=0),C>=e?(Q=g>>>E&n,C-=e,E+=e):(Q=g>>>E&n,C=32-(B=e-C),Q|=((g=A[a++])&(1<<B)-1)<<e-B,E=B),s[o]=Q<f?i+Q*r:I;return s.unshift(i),s},B=function(A,e,t,i){var r,I,g,n,a=(1<<t)-1,o=0,B=0,C=4*A.length-Math.ceil(t*i/8);for(A[A.length-1]<<=8*C,r=0;r<i;r++)0===B&&(g=A[o++],B=32),B>=t?(I=g>>>B-t&a,B-=t):(I=(g&a)<<(n=t-B)&a,I+=(g=A[o++])>>>(B=32-n)),e[r]=I;return e},C=function(A,e,t,i){var r,I,g,n,a=(1<<t)-1,o=0,B=0,C=0;for(r=0;r<i;r++)0===B&&(g=A[o++],B=32,C=0),B>=t?(I=g>>>C&a,B-=t,C+=t):(I=g>>>C&a,B=32-(n=t-B),I|=((g=A[o++])&(1<<n)-1)<<t-n,C=n),e[r]=I;return e},Q={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(A){for(var e=65535,t=65535,i=A.length,r=Math.floor(i/2),I=0;r;){var g=r>=359?359:r;r-=g;do{e+=A[I++]<<8,t+=e+=A[I++]}while(--g);e=(65535&e)+(e>>>16),t=(65535&t)+(t>>>16)}return 1&i&&(t+=e+=A[I]<<8),((t=(65535&t)+(t>>>16))<<16|(e=(65535&e)+(e>>>16)))>>>0},readHeaderInfo:function(A,e){var t=e.ptr,i=new Uint8Array(A,t,6),r={};if(r.fileIdentifierString=String.fromCharCode.apply(null,i),0!==r.fileIdentifierString.lastIndexOf("Lerc2",0))throw"Unexpected file identifier string (expect Lerc2 ): "+r.fileIdentifierString;t+=6;var I,g=new DataView(A,t,8),n=g.getInt32(0,!0);if(r.fileVersion=n,t+=4,n>=3&&(r.checksum=g.getUint32(4,!0),t+=4),g=new DataView(A,t,12),r.height=g.getUint32(0,!0),r.width=g.getUint32(4,!0),t+=8,n>=4?(r.numDims=g.getUint32(8,!0),t+=4):r.numDims=1,g=new DataView(A,t,40),r.numValidPixel=g.getUint32(0,!0),r.microBlockSize=g.getInt32(4,!0),r.blobSize=g.getInt32(8,!0),r.imageType=g.getInt32(12,!0),r.maxZError=g.getFloat64(16,!0),r.zMin=g.getFloat64(24,!0),r.zMax=g.getFloat64(32,!0),t+=40,e.headerInfo=r,e.ptr=t,n>=3&&(I=n>=4?52:48,this.computeChecksumFletcher32(new Uint8Array(A,t-I,r.blobSize-14))!==r.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(A,e){var t=e.headerInfo,i=this.getDataTypeArray(t.imageType),r=t.numDims*this.getDataTypeSize(t.imageType),I=this.readSubArray(A,e.ptr,i,r),g=this.readSubArray(A,e.ptr+r,i,r);e.ptr+=2*r;var n,a=!0;for(n=0;n<t.numDims;n++)if(I[n]!==g[n]){a=!1;break}return t.minValues=I,t.maxValues=g,a},readSubArray:function(A,e,t,i){var r;if(t===Uint8Array)r=new Uint8Array(A,e,i);else{var I=new ArrayBuffer(i);new Uint8Array(I).set(new Uint8Array(A,e,i)),r=new t(I)}return r},readMask:function(A,e){var t,i,r=e.ptr,I=e.headerInfo,g=I.width*I.height,n=I.numValidPixel,a=new DataView(A,r,4),o={};if(o.numBytes=a.getUint32(0,!0),r+=4,(0===n||g===n)&&0!==o.numBytes)throw"invalid mask";if(0===n)t=new Uint8Array(Math.ceil(g/8)),o.bitset=t,i=new Uint8Array(g),e.pixels.resultMask=i,r+=o.numBytes;else if(o.numBytes>0){t=new Uint8Array(Math.ceil(g/8));var B=(a=new DataView(A,r,o.numBytes)).getInt16(0,!0),C=2,Q=0,E=0;do{if(B>0)for(;B--;)t[Q++]=a.getUint8(C++);else for(E=a.getUint8(C++),B=-B;B--;)t[Q++]=E;B=a.getInt16(C,!0),C+=2}while(C<o.numBytes);if(-32768!==B||Q<t.length)throw"Unexpected end of mask RLE encoding";i=new Uint8Array(g);var s=0,f=0;for(f=0;f<g;f++)7&f?(s=t[f>>3],s<<=7&f):s=t[f>>3],128&s&&(i[f]=1);e.pixels.resultMask=i,o.bitset=t,r+=o.numBytes}return e.ptr=r,e.mask=o,!0},readDataOneSweep:function(A,e,t,i){var r,I=e.ptr,g=e.headerInfo,n=g.numDims,a=g.width*g.height,o=g.imageType,B=g.numValidPixel*Q.getDataTypeSize(o)*n,C=e.pixels.resultMask;if(t===Uint8Array)r=new Uint8Array(A,I,B);else{var E=new ArrayBuffer(B);new Uint8Array(E).set(new Uint8Array(A,I,B)),r=new t(E)}if(r.length===a*n)e.pixels.resultPixels=i?Q.swapDimensionOrder(r,a,n,t,!0):r;else{e.pixels.resultPixels=new t(a*n);var s=0,f=0,c=0,h=0;if(n>1){if(i){for(f=0;f<a;f++)if(C[f])for(h=f,c=0;c<n;c++,h+=a)e.pixels.resultPixels[h]=r[s++]}else for(f=0;f<a;f++)if(C[f])for(h=f*n,c=0;c<n;c++)e.pixels.resultPixels[h+c]=r[s++]}else for(f=0;f<a;f++)C[f]&&(e.pixels.resultPixels[f]=r[s++])}return I+=B,e.ptr=I,!0},readHuffmanTree:function(A,e){var t=this.HUFFMAN_LUT_BITS_MAX,i=new DataView(A,e.ptr,16);if(e.ptr+=16,i.getInt32(0,!0)<2)throw"unsupported Huffman version";var r=i.getInt32(4,!0),I=i.getInt32(8,!0),g=i.getInt32(12,!0);if(I>=g)return!1;var n=new Uint32Array(g-I);Q.decodeBits(A,e,n);var a,o,B,C,s=[];for(a=I;a<g;a++)s[o=a-(a<r?0:r)]={first:n[a-I],second:null};var f=A.byteLength-e.ptr,c=Math.ceil(f/4),h=new ArrayBuffer(4*c);new Uint8Array(h).set(new Uint8Array(A,e.ptr,f));var l,u=new Uint32Array(h),w=0,d=0;for(l=u[0],a=I;a<g;a++)(C=s[o=a-(a<r?0:r)].first)>0&&(s[o].second=l<<w>>>32-C,32-w>=C?32===(w+=C)&&(w=0,l=u[++d]):(w+=C-32,l=u[++d],s[o].second|=l>>>32-w));var D=0,y=0,k=new E;for(a=0;a<s.length;a++)void 0!==s[a]&&(D=Math.max(D,s[a].first));y=D>=t?t:D;var p,m,G,F,S,v=[];for(a=I;a<g;a++)if((C=s[o=a-(a<r?0:r)].first)>0)if(p=[C,o],C<=y)for(m=s[o].second<<y-C,G=1<<y-C,B=0;B<G;B++)v[m|B]=p;else for(m=s[o].second,S=k,F=C-1;F>=0;F--)m>>>F&1?(S.right||(S.right=new E),S=S.right):(S.left||(S.left=new E),S=S.left),0!==F||S.val||(S.val=p[1]);return{decodeLut:v,numBitsLUTQick:y,numBitsLUT:D,tree:k,stuffedData:u,srcPtr:d,bitPos:w}},readHuffman:function(A,e,t,i){var r,I,g,n,a,o,B,C,E,s=e.headerInfo.numDims,f=e.headerInfo.height,c=e.headerInfo.width,h=c*f,l=this.readHuffmanTree(A,e),u=l.decodeLut,w=l.tree,d=l.stuffedData,D=l.srcPtr,y=l.bitPos,k=l.numBitsLUTQick,p=l.numBitsLUT,m=0===e.headerInfo.imageType?128:0,G=e.pixels.resultMask,F=0;y>0&&(D++,y=0);var S,v=d[D],R=1===e.encodeMode,U=new t(h*s),L=U;if(s<2||R){for(S=0;S<s;S++)if(s>1&&(L=new t(U.buffer,h*S,h),F=0),e.headerInfo.numValidPixel===c*f)for(C=0,o=0;o<f;o++)for(B=0;B<c;B++,C++){if(I=0,a=n=v<<y>>>32-k,32-y<k&&(a=n|=d[D+1]>>>64-y-k),u[a])I=u[a][1],y+=u[a][0];else for(a=n=v<<y>>>32-p,32-y<p&&(a=n|=d[D+1]>>>64-y-p),r=w,E=0;E<p;E++)if(!(r=n>>>p-E-1&1?r.right:r.left).left&&!r.right){I=r.val,y=y+E+1;break}y>=32&&(y-=32,v=d[++D]),g=I-m,R?(g+=B>0?F:o>0?L[C-c]:F,g&=255,L[C]=g,F=g):L[C]=g}else for(C=0,o=0;o<f;o++)for(B=0;B<c;B++,C++)if(G[C]){if(I=0,a=n=v<<y>>>32-k,32-y<k&&(a=n|=d[D+1]>>>64-y-k),u[a])I=u[a][1],y+=u[a][0];else for(a=n=v<<y>>>32-p,32-y<p&&(a=n|=d[D+1]>>>64-y-p),r=w,E=0;E<p;E++)if(!(r=n>>>p-E-1&1?r.right:r.left).left&&!r.right){I=r.val,y=y+E+1;break}y>=32&&(y-=32,v=d[++D]),g=I-m,R?(B>0&&G[C-1]?g+=F:o>0&&G[C-c]?g+=L[C-c]:g+=F,g&=255,L[C]=g,F=g):L[C]=g}}else for(C=0,o=0;o<f;o++)for(B=0;B<c;B++)if(C=o*c+B,!G||G[C])for(S=0;S<s;S++,C+=h){if(I=0,a=n=v<<y>>>32-k,32-y<k&&(a=n|=d[D+1]>>>64-y-k),u[a])I=u[a][1],y+=u[a][0];else for(a=n=v<<y>>>32-p,32-y<p&&(a=n|=d[D+1]>>>64-y-p),r=w,E=0;E<p;E++)if(!(r=n>>>p-E-1&1?r.right:r.left).left&&!r.right){I=r.val,y=y+E+1;break}y>=32&&(y-=32,v=d[++D]),g=I-m,L[C]=g}e.ptr=e.ptr+4*(D+1)+(y>0?4:0),e.pixels.resultPixels=U,s>1&&!i&&(e.pixels.resultPixels=Q.swapDimensionOrder(U,h,s,t))},decodeBits:function(A,e,t,i,r){var I=e.headerInfo,Q=I.fileVersion,E=0,s=A.byteLength-e.ptr>=5?5:A.byteLength-e.ptr,f=new DataView(A,e.ptr,s),c=f.getUint8(0);E++;var h=c>>6,l=0===h?4:3-h,u=(32&c)>0,w=31&c,d=0;if(1===l)d=f.getUint8(E),E++;else if(2===l)d=f.getUint16(E,!0),E+=2;else{if(4!==l)throw"Invalid valid pixel count type";d=f.getUint32(E,!0),E+=4}var D,y,k,p,m,G,F,S,v,R=2*I.maxZError,U=I.numDims>1?I.maxValues[r]:I.zMax;if(u){for(e.counter.lut++,S=f.getUint8(E),E++,p=Math.ceil((S-1)*w/8),m=Math.ceil(p/4),y=new ArrayBuffer(4*m),k=new Uint8Array(y),e.ptr+=E,k.set(new Uint8Array(A,e.ptr,p)),F=new Uint32Array(y),e.ptr+=p,v=0;S-1>>>v;)v++;p=Math.ceil(d*v/8),m=Math.ceil(p/4),y=new ArrayBuffer(4*m),(k=new Uint8Array(y)).set(new Uint8Array(A,e.ptr,p)),D=new Uint32Array(y),e.ptr+=p,G=Q>=3?o(F,w,S-1,i,R,U):n(F,w,S-1,i,R,U),Q>=3?a(D,t,v,d,G):g(D,t,v,d,G)}else e.counter.bitstuffer++,v=w,e.ptr+=E,v>0&&(p=Math.ceil(d*v/8),m=Math.ceil(p/4),y=new ArrayBuffer(4*m),(k=new Uint8Array(y)).set(new Uint8Array(A,e.ptr,p)),D=new Uint32Array(y),e.ptr+=p,Q>=3?null==i?C(D,t,v,d):a(D,t,v,d,!1,i,R,U):null==i?B(D,t,v,d):g(D,t,v,d,!1,i,R,U))},readTiles:function(A,e,t,i){var r=e.headerInfo,I=r.width,g=r.height,n=I*g,a=r.microBlockSize,o=r.imageType,B=Q.getDataTypeSize(o),C=Math.ceil(I/a),E=Math.ceil(g/a);e.pixels.numBlocksY=E,e.pixels.numBlocksX=C,e.pixels.ptr=0;var s,f,c,h,l,u,w,d,D,y,k=0,p=0,m=0,G=0,F=0,S=0,v=0,R=0,U=0,L=0,b=0,M=0,N=0,x=0,J=0,q=new t(a*a),Y=g%a||a,K=I%a||a,H=r.numDims,O=e.pixels.resultMask,P=e.pixels.resultPixels,T=r.fileVersion>=5?14:15,V=r.zMax;for(m=0;m<E;m++)for(F=m!==E-1?a:Y,G=0;G<C;G++)for(L=m*I*a+G*a,b=I-(S=G!==C-1?a:K),d=0;d<H;d++){if(H>1?(y=P,L=m*I*a+G*a,P=new t(e.pixels.resultPixels.buffer,n*d*B,n),V=r.maxValues[d]):y=null,v=A.byteLength-e.ptr,f={},J=0,R=(s=new DataView(A,e.ptr,Math.min(10,v))).getUint8(0),J++,D=r.fileVersion>=5?4&R:0,U=R>>6&255,(R>>2&T)!=(G*a>>3&T))throw"integrity issue";if(D&&0===d)throw"integrity issue";if((l=3&R)>3)throw e.ptr+=J,"Invalid block encoding ("+l+")";if(2!==l)if(0===l){if(D)throw"integrity issue";if(e.counter.uncompressed++,e.ptr+=J,M=(M=F*S*B)<(N=A.byteLength-e.ptr)?M:N,c=new ArrayBuffer(M%B==0?M:M+B-M%B),new Uint8Array(c).set(new Uint8Array(A,e.ptr,M)),h=new t(c),x=0,O)for(k=0;k<F;k++){for(p=0;p<S;p++)O[L]&&(P[L]=h[x++]),L++;L+=b}else for(k=0;k<F;k++){for(p=0;p<S;p++)P[L++]=h[x++];L+=b}e.ptr+=x*B}else if(u=Q.getDataTypeUsed(D&&o<6?4:o,U),w=Q.getOnePixel(f,J,u,s),J+=Q.getDataTypeSize(u),3===l)if(e.ptr+=J,e.counter.constantoffset++,O)for(k=0;k<F;k++){for(p=0;p<S;p++)O[L]&&(P[L]=D?Math.min(V,y[L]+w):w),L++;L+=b}else for(k=0;k<F;k++){for(p=0;p<S;p++)P[L]=D?Math.min(V,y[L]+w):w,L++;L+=b}else if(e.ptr+=J,Q.decodeBits(A,e,q,w,d),J=0,D)if(O)for(k=0;k<F;k++){for(p=0;p<S;p++)O[L]&&(P[L]=q[J++]+y[L]),L++;L+=b}else for(k=0;k<F;k++){for(p=0;p<S;p++)P[L]=q[J++]+y[L],L++;L+=b}else if(O)for(k=0;k<F;k++){for(p=0;p<S;p++)O[L]&&(P[L]=q[J++]),L++;L+=b}else for(k=0;k<F;k++){for(p=0;p<S;p++)P[L++]=q[J++];L+=b}else{if(D)if(O)for(k=0;k<F;k++)for(p=0;p<S;p++)O[L]&&(P[L]=y[L]),L++;else for(k=0;k<F;k++)for(p=0;p<S;p++)P[L]=y[L],L++;e.counter.constant++,e.ptr+=J}}H>1&&!i&&(e.pixels.resultPixels=Q.swapDimensionOrder(e.pixels.resultPixels,n,H,t))},formatFileInfo:function(A){return{fileIdentifierString:A.headerInfo.fileIdentifierString,fileVersion:A.headerInfo.fileVersion,imageType:A.headerInfo.imageType,height:A.headerInfo.height,width:A.headerInfo.width,numValidPixel:A.headerInfo.numValidPixel,microBlockSize:A.headerInfo.microBlockSize,blobSize:A.headerInfo.blobSize,maxZError:A.headerInfo.maxZError,pixelType:Q.getPixelType(A.headerInfo.imageType),eofOffset:A.eofOffset,mask:A.mask?{numBytes:A.mask.numBytes}:null,pixels:{numBlocksX:A.pixels.numBlocksX,numBlocksY:A.pixels.numBlocksY,maxValue:A.headerInfo.zMax,minValue:A.headerInfo.zMin,noDataValue:A.noDataValue}}},constructConstantSurface:function(A,e){var t=A.headerInfo.zMax,i=A.headerInfo.zMin,r=A.headerInfo.maxValues,I=A.headerInfo.numDims,g=A.headerInfo.height*A.headerInfo.width,n=0,a=0,o=0,B=A.pixels.resultMask,C=A.pixels.resultPixels;if(B)if(I>1){if(e)for(n=0;n<I;n++)for(o=n*g,t=r[n],a=0;a<g;a++)B[a]&&(C[o+a]=t);else for(a=0;a<g;a++)if(B[a])for(o=a*I,n=0;n<I;n++)C[o+I]=r[n]}else for(a=0;a<g;a++)B[a]&&(C[a]=t);else if(I>1&&i!==t)if(e)for(n=0;n<I;n++)for(o=n*g,t=r[n],a=0;a<g;a++)C[o+a]=t;else for(a=0;a<g;a++)for(o=a*I,n=0;n<I;n++)C[o+n]=r[n];else for(a=0;a<g*I;a++)C[a]=t},getDataTypeArray:function(A){var e;switch(A){case 0:e=Int8Array;break;case 1:e=Uint8Array;break;case 2:e=Int16Array;break;case 3:e=Uint16Array;break;case 4:e=Int32Array;break;case 5:e=Uint32Array;break;case 6:default:e=Float32Array;break;case 7:e=Float64Array}return e},getPixelType:function(A){var e;switch(A){case 0:e="S8";break;case 1:e="U8";break;case 2:e="S16";break;case 3:e="U16";break;case 4:e="S32";break;case 5:e="U32";break;case 6:default:e="F32";break;case 7:e="F64"}return e},isValidPixelValue:function(A,e){if(null==e)return!1;var t;switch(A){case 0:t=e>=-128&&e<=127;break;case 1:t=e>=0&&e<=255;break;case 2:t=e>=-32768&&e<=32767;break;case 3:t=e>=0&&e<=65536;break;case 4:t=e>=-2147483648&&e<=2147483647;break;case 5:t=e>=0&&e<=4294967296;break;case 6:t=e>=-34027999387901484e22&&e<=34027999387901484e22;break;case 7:t=e>=-17976931348623157e292&&e<=17976931348623157e292;break;default:t=!1}return t},getDataTypeSize:function(A){var e=0;switch(A){case 0:case 1:e=1;break;case 2:case 3:e=2;break;case 4:case 5:case 6:e=4;break;case 7:e=8;break;default:e=A}return e},getDataTypeUsed:function(A,e){var t=A;switch(A){case 2:case 4:t=A-e;break;case 3:case 5:t=A-2*e;break;case 6:t=0===e?A:1===e?2:1;break;case 7:t=0===e?A:A-2*e+1;break;default:t=A}return t},getOnePixel:function(A,e,t,i){var r=0;switch(t){case 0:r=i.getInt8(e);break;case 1:r=i.getUint8(e);break;case 2:r=i.getInt16(e,!0);break;case 3:r=i.getUint16(e,!0);break;case 4:r=i.getInt32(e,!0);break;case 5:r=i.getUInt32(e,!0);break;case 6:r=i.getFloat32(e,!0);break;case 7:r=i.getFloat64(e,!0);break;default:throw"the decoder does not understand this pixel type"}return r},swapDimensionOrder:function(A,e,t,i,r){var I=0,g=0,n=0,a=0,o=A;if(t>1)if(o=new i(e*t),r)for(I=0;I<e;I++)for(a=I,n=0;n<t;n++,a+=e)o[a]=A[g++];else for(I=0;I<e;I++)for(a=I,n=0;n<t;n++,a+=e)o[g++]=A[a];return o}},E=function(A,e,t){this.val=A,this.left=e,this.right=t},{decode:function(A,e){var t=(e=e||{}).noDataValue,i=0,r={};r.ptr=e.inputOffset||0,r.pixels={},Q.readHeaderInfo(A,r);var I=r.headerInfo,g=I.fileVersion,n=Q.getDataTypeArray(I.imageType);if(g>5)throw"unsupported lerc version 2."+g;Q.readMask(A,r),I.numValidPixel===I.width*I.height||r.pixels.resultMask||(r.pixels.resultMask=e.maskData);var a=I.width*I.height;r.pixels.resultPixels=new n(a*I.numDims),r.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var o,B=!e.returnPixelInterleavedDims;if(0!==I.numValidPixel)if(I.zMax===I.zMin)Q.constructConstantSurface(r,B);else if(g>=4&&Q.checkMinMaxRanges(A,r))Q.constructConstantSurface(r,B);else{var C=new DataView(A,r.ptr,2),E=C.getUint8(0);if(r.ptr++,E)Q.readDataOneSweep(A,r,n,B);else if(g>1&&I.imageType<=1&&Math.abs(I.maxZError-.5)<1e-5){var s=C.getUint8(1);if(r.ptr++,r.encodeMode=s,s>2||g<4&&s>1)throw"Invalid Huffman flag "+s;s?Q.readHuffman(A,r,n,B):Q.readTiles(A,r,n,B)}else Q.readTiles(A,r,n,B)}r.eofOffset=r.ptr,e.inputOffset?(o=r.headerInfo.blobSize+e.inputOffset-r.ptr,Math.abs(o)>=1&&(r.eofOffset=e.inputOffset+r.headerInfo.blobSize)):(o=r.headerInfo.blobSize-r.ptr,Math.abs(o)>=1&&(r.eofOffset=r.headerInfo.blobSize));var f={width:I.width,height:I.height,pixelData:r.pixels.resultPixels,minValue:I.zMin,maxValue:I.zMax,validPixelCount:I.numValidPixel,dimCount:I.numDims,dimStats:{minValues:I.minValues,maxValues:I.maxValues},maskData:r.pixels.resultMask};if(r.pixels.resultMask&&Q.isValidPixelValue(I.imageType,t)){var c=r.pixels.resultMask;for(i=0;i<a;i++)c[i]||(f.pixelData[i]=t);f.noDataValue=t}return r.noDataValue=t,e.returnFileInfo&&(f.fileInfo=Q.formatFileInfo(r)),f},getBandCount:function(A){for(var e=0,t=0,i={ptr:0,pixels:{}};t<A.byteLength-58;)Q.readHeaderInfo(A,i),t+=i.headerInfo.blobSize,e++,i.ptr=t;return e}}),l=(s=new ArrayBuffer(4),f=new Uint8Array(s),new Uint32Array(s)[0]=1,1===f[0]),u={decode:function(A,e){if(!l)throw"Big endian system is not supported.";var t,i,r=(e=e||{}).inputOffset||0,I=new Uint8Array(A,r,10),g=String.fromCharCode.apply(null,I);if("CntZImage"===g.trim())t=c,i=1;else{if("Lerc2"!==g.substring(0,5))throw"Unexpected file identifier string: "+g;t=h,i=2}for(var n,a,o,B,C,Q,E=0,s=A.byteLength-10,f=[],u={width:0,height:0,pixels:[],pixelType:e.pixelType,mask:null,statistics:[]},w=0;r<s;){var d=t.decode(A,{inputOffset:r,encodedMaskData:n,maskData:o,returnMask:0===E,returnEncodedMask:0===E,returnFileInfo:!0,returnPixelInterleavedDims:e.returnPixelInterleavedDims,pixelType:e.pixelType||null,noDataValue:e.noDataValue||null});r=d.fileInfo.eofOffset,o=d.maskData,0===E&&(n=d.encodedMaskData,u.width=d.width,u.height=d.height,u.dimCount=d.dimCount||1,u.pixelType=d.pixelType||d.fileInfo.pixelType,u.mask=o),i>1&&(o&&f.push(o),d.fileInfo.mask&&d.fileInfo.mask.numBytes>0&&w++),E++,u.pixels.push(d.pixelData),u.statistics.push({minValue:d.minValue,maxValue:d.maxValue,noDataValue:d.noDataValue,dimStats:d.dimStats})}if(i>1&&w>1){for(Q=u.width*u.height,u.bandMasks=f,(o=new Uint8Array(Q)).set(f[0]),B=1;B<f.length;B++)for(a=f[B],C=0;C<Q;C++)o[C]=o[C]&a[C];u.maskData=o}return u}};TA.exports?TA.exports=u:this.Lerc=u}();var ZA,jA,WA,zA=XA.exports,$A={env:{emscripten_notify_memory_growth:function(A){WA=new Uint8Array(jA.exports.memory.buffer)}}},Ae=function(){function A(){B(this,A)}return Q(A,[{key:"init",value:function(){return ZA||(ZA="undefined"!=typeof fetch?fetch("data:application/wasm;base64,"+ee).then((function(A){return A.arrayBuffer()})).then((function(A){return WebAssembly.instantiate(A,$A)})).then(this._init):WebAssembly.instantiate(Buffer.from(ee,"base64"),$A).then(this._init))}},{key:"_init",value:function(A){jA=A.instance,$A.env.emscripten_notify_memory_growth(0)}},{key:"decode",value:function(A){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(!jA)throw new Error("ZSTDDecoder: Await .init() before decoding.");var t=A.byteLength,i=jA.exports.malloc(t);WA.set(A,i),e=e||Number(jA.exports.ZSTD_findDecompressedSize(i,t));var r=jA.exports.malloc(e),I=jA.exports.ZSTD_decompress(r,e,i,t),g=WA.slice(r,r+I);return jA.exports.free(i),jA.exports.free(r),g}}]),A}(),ee="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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",te={315:"Artist",258:"BitsPerSample",265:"CellLength",264:"CellWidth",320:"ColorMap",259:"Compression",33432:"Copyright",306:"DateTime",338:"ExtraSamples",266:"FillOrder",289:"FreeByteCounts",288:"FreeOffsets",291:"GrayResponseCurve",290:"GrayResponseUnit",316:"HostComputer",270:"ImageDescription",257:"ImageLength",256:"ImageWidth",271:"Make",281:"MaxSampleValue",280:"MinSampleValue",272:"Model",254:"NewSubfileType",274:"Orientation",262:"PhotometricInterpretation",284:"PlanarConfiguration",296:"ResolutionUnit",278:"RowsPerStrip",277:"SamplesPerPixel",305:"Software",279:"StripByteCounts",273:"StripOffsets",255:"SubfileType",263:"Threshholding",282:"XResolution",283:"YResolution",326:"BadFaxLines",327:"CleanFaxData",343:"ClipPath",328:"ConsecutiveBadFaxLines",433:"Decode",434:"DefaultImageColor",269:"DocumentName",336:"DotRange",321:"HalftoneHints",346:"Indexed",347:"JPEGTables",285:"PageName",297:"PageNumber",317:"Predictor",319:"PrimaryChromaticities",532:"ReferenceBlackWhite",339:"SampleFormat",340:"SMinSampleValue",341:"SMaxSampleValue",559:"StripRowCounts",330:"SubIFDs",292:"T4Options",293:"T6Options",325:"TileByteCounts",323:"TileLength",324:"TileOffsets",322:"TileWidth",301:"TransferFunction",318:"WhitePoint",344:"XClipPathUnits",286:"XPosition",529:"YCbCrCoefficients",531:"YCbCrPositioning",530:"YCbCrSubSampling",345:"YClipPathUnits",287:"YPosition",37378:"ApertureValue",40961:"ColorSpace",36868:"DateTimeDigitized",36867:"DateTimeOriginal",34665:"Exif IFD",36864:"ExifVersion",33434:"ExposureTime",41728:"FileSource",37385:"Flash",40960:"FlashpixVersion",33437:"FNumber",42016:"ImageUniqueID",37384:"LightSource",37500:"MakerNote",37377:"ShutterSpeedValue",37510:"UserComment",33723:"IPTC",34675:"ICC Profile",700:"XMP",42112:"GDAL_METADATA",42113:"GDAL_NODATA",34377:"Photoshop",33550:"ModelPixelScale",33922:"ModelTiepoint",34264:"ModelTransformation",34735:"GeoKeyDirectory",34736:"GeoDoubleParams",34737:"GeoAsciiParams",50674:"LercParameters"},ie={};for(var re in te)te.hasOwnProperty(re)&&(ie[te[re]]=parseInt(re,10));ie.BitsPerSample,ie.ExtraSamples,ie.SampleFormat,ie.StripByteCounts,ie.StripOffsets,ie.StripRowCounts,ie.TileByteCounts,ie.TileOffsets,ie.SubIFDs;var Ie={1:"BYTE",2:"ASCII",3:"SHORT",4:"LONG",5:"RATIONAL",6:"SBYTE",7:"UNDEFINED",8:"SSHORT",9:"SLONG",10:"SRATIONAL",11:"FLOAT",12:"DOUBLE",13:"IFD",16:"LONG8",17:"SLONG8",18:"IFD8"},ge={};for(var ne in Ie)Ie.hasOwnProperty(ne)&&(ge[Ie[ne]]=parseInt(ne,10));var ae=1,oe=0,Be=1,Ce=2,Qe={1024:"GTModelTypeGeoKey",1025:"GTRasterTypeGeoKey",1026:"GTCitationGeoKey",2048:"GeographicTypeGeoKey",2049:"GeogCitationGeoKey",2050:"GeogGeodeticDatumGeoKey",2051:"GeogPrimeMeridianGeoKey",2052:"GeogLinearUnitsGeoKey",2053:"GeogLinearUnitSizeGeoKey",2054:"GeogAngularUnitsGeoKey",2055:"GeogAngularUnitSizeGeoKey",2056:"GeogEllipsoidGeoKey",2057:"GeogSemiMajorAxisGeoKey",2058:"GeogSemiMinorAxisGeoKey",2059:"GeogInvFlatteningGeoKey",2060:"GeogAzimuthUnitsGeoKey",2061:"GeogPrimeMeridianLongGeoKey",2062:"GeogTOWGS84GeoKey",3072:"ProjectedCSTypeGeoKey",3073:"PCSCitationGeoKey",3074:"ProjectionGeoKey",3075:"ProjCoordTransGeoKey",3076:"ProjLinearUnitsGeoKey",3077:"ProjLinearUnitSizeGeoKey",3078:"ProjStdParallel1GeoKey",3079:"ProjStdParallel2GeoKey",3080:"ProjNatOriginLongGeoKey",3081:"ProjNatOriginLatGeoKey",3082:"ProjFalseEastingGeoKey",3083:"ProjFalseNorthingGeoKey",3084:"ProjFalseOriginLongGeoKey",3085:"ProjFalseOriginLatGeoKey",3086:"ProjFalseOriginEastingGeoKey",3087:"ProjFalseOriginNorthingGeoKey",3088:"ProjCenterLongGeoKey",3089:"ProjCenterLatGeoKey",3090:"ProjCenterEastingGeoKey",3091:"ProjCenterNorthingGeoKey",3092:"ProjScaleAtNatOriginGeoKey",3093:"ProjScaleAtCenterGeoKey",3094:"ProjAzimuthAngleGeoKey",3095:"ProjStraightVertPoleLongGeoKey",3096:"ProjRectifiedGridAngleGeoKey",4096:"VerticalCSTypeGeoKey",4097:"VerticalCitationGeoKey",4098:"VerticalDatumGeoKey",4099:"VerticalUnitsGeoKey"},Ee={};for(var se in Qe)Qe.hasOwnProperty(se)&&(Ee[Qe[se]]=parseInt(se,10));function fe(A){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var t,i=c(A);if(e){var r=c(this).constructor;t=Reflect.construct(i,arguments,r)}else t=i.apply(this,arguments);return f(this,t)}}var ce=new Ae,he=function(A){s(t,w);var e=fe(t);function t(A){var i;return B(this,t),(i=e.call(this)).planarConfiguration=void 0!==A.PlanarConfiguration?A.PlanarConfiguration:1,i.samplesPerPixel=void 0!==A.SamplesPerPixel?A.SamplesPerPixel:1,i.addCompression=A.LercParameters[ae],i}return Q(t,[{key:"decodeBlock",value:function(A){switch(this.addCompression){case oe:break;case Be:A=YA(new Uint8Array(A)).buffer;break;case Ce:A=ce.decode(new Uint8Array(A)).buffer;break;default:throw new Error("Unsupported LERC additional compression method identifier: ".concat(this.addCompression))}return zA.decode(A,{returnPixelInterleavedDims:1===this.planarConfiguration}).pixels[0].buffer}}]),t}(),le=Object.freeze({__proto__:null,zstd:ce,default:he});function ue(A){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var t,i=c(A);if(e){var r=c(this).constructor;t=Reflect.construct(i,arguments,r)}else t=i.apply(this,arguments);return f(this,t)}}var we=function(A){s(I,w);var t,i=ue(I);function I(){var A;if(B(this,I),A=i.call(this),"undefined"==typeof createImageBitmap)throw new Error("Cannot decode WebImage as `createImageBitmap` is not available");if("undefined"==typeof document&&"undefined"==typeof OffscreenCanvas)throw new Error("Cannot decode WebImage as neither `document` nor `OffscreenCanvas` is not available");return A}return Q(I,[{key:"decode",value:(t=e(r.mark((function A(e,t){var i,I,g,n;return r.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return i=new Blob([t]),A.next=3,createImageBitmap(i);case 3:return I=A.sent,"undefined"!=typeof document?((g=document.createElement("canvas")).width=I.width,g.height=I.height):g=new OffscreenCanvas(I.width,I.height),(n=g.getContext("2d")).drawImage(I,0,0),A.abrupt("return",n.getImageData(0,0,I.width,I.height).data.buffer);case 8:case"end":return A.stop()}}),A)}))),function(A,e){return t.apply(this,arguments)})}]),I}(),de=Object.freeze({__proto__:null,default:we});';return new sTe(typeof Buffer<"u"?"data:application/javascript;base64,"+Buffer.from(i,"binary").toString("base64"):URL.createObjectURL(new Blob([i],{type:"application/javascript"})))}var ATe=Pt(()=>{aTe()});var gir,MHt,DHt,lTe=Pt(()=>{wHt();gir=typeof navigator<"u"&&navigator.hardwareConcurrency||2,MHt=class{constructor(t=gir,e){this.workers=null,this._awaitingDecoder=null,this.size=t,this.messageId=0,t&&(this._awaitingDecoder=e?Promise.resolve(e):new Promise(r=>{Promise.resolve().then(()=>(ATe(),oTe)).then(n=>{r(n.create)})}),this._awaitingDecoder.then(r=>{this._awaitingDecoder=null,this.workers=[];for(let n=0;n<t;n++)this.workers.push({worker:r(),idle:!0})}))}async decode(t,e){return this._awaitingDecoder&&await this._awaitingDecoder,this.size===0?Uft(t).then(r=>r.decode(t,e)):new Promise(r=>{let n=this.workers.find(o=>o.idle)||this.workers[Math.floor(Math.random()*this.size)];n.idle=!1;let s=this.messageId++,a=o=>{o.data.id===s&&(n.idle=!0,r(o.data.decoded),n.worker.removeEventListener("message",a))};n.worker.addEventListener("message",a),n.worker.postMessage({fileDirectory:t,buffer:e,id:s},[e])})}destroy(){this.workers&&(this.workers.forEach(t=>{t.worker.terminate()}),this.workers=null)}},DHt=MHt});function hTe(i){if(typeof Object.fromEntries<"u")return Object.fromEntries(i);let t={};for(let[e,r]of i)t[e.toLowerCase()]=r;return t}function pir(i){let t=i.split(`\r
|
|
4569
4569
|
`).map(e=>{let r=e.split(":").map(n=>n.trim());return r[0]=r[0].toLowerCase(),r});return hTe(t)}function uTe(i){let[t,...e]=i.split(";").map(n=>n.trim()),r=e.map(n=>n.split("="));return{type:t,params:hTe(r)}}function jft(i){let t,e,r;return i&&([,t,e,r]=i.match(/bytes (\d+)-(\d+)\/(\d+)/),t=parseInt(t,10),e=parseInt(e,10),r=parseInt(r,10)),{start:t,end:e,total:r}}function gTe(i,t){let e=null,r=new TextDecoder("ascii"),n=[],s=`--${t}`,a=`${s}--`;for(let o=0;o<10;++o)r.decode(new Uint8Array(i,o,s.length))===s&&(e=o);if(e===null)throw new Error("Could not find initial boundary");for(;e<i.byteLength;){let o=r.decode(new Uint8Array(i,e,Math.min(s.length+1024,i.byteLength-e)));if(o.length===0||o.startsWith(a))break;if(!o.startsWith(s))throw new Error("Part does not start with boundary");let A=o.substr(s.length+2);if(A.length===0)break;let l=A.indexOf(cTe),c=pir(A.substr(0,l)),{start:p,end:d,total:_}=jft(c["content-range"]),I=e+s.length+l+cTe.length,y=parseInt(d,10)+1-parseInt(p,10);n.push({headers:c,data:i.slice(I,I+y),offset:p,length:y,fileSize:_}),e=I+y+4}return n}var cTe,pTe=Pt(()=>{cTe=`\r
|
|
@@ -24110,7 +24110,7 @@ void main()
|
|
|
24110
24110
|
<rect x="2" y="2" width="6" height="6" rx="1" stroke-dasharray="2 1"/>
|
|
24111
24111
|
</svg>
|
|
24112
24112
|
</span>
|
|
24113
|
-
`,e.addEventListener("click",()=>this.toggle()),t.appendChild(e),t}_createPanel(){let t=document.createElement("div");t.className="usgs-lidar-control-panel",t.style.width=`${this._options.panelWidth}px`,t.style.maxHeight=`${this._options.maxHeight}px`;let e=document.createElement("div");e.className="usgs-lidar-control-header";let r=document.createElement("span");r.className="usgs-lidar-control-title",r.textContent=this._options.title;let n=document.createElement("button");n.className="usgs-lidar-control-close",n.type="button",n.setAttribute("aria-label","Close panel"),n.innerHTML="×",n.addEventListener("click",()=>this.collapse()),e.appendChild(r),e.appendChild(n),this._panelBuilder=new Epe({onSearchByExtent:()=>this.searchByExtent(),onStartDrawing:()=>this.startDrawing(),onStopDrawing:()=>this.stopDrawing(),onSearchByDrawn:()=>{this._state.drawnBbox&&this.searchByBbox(this._state.drawnBbox)},onClearDrawn:()=>this.clearDrawnBbox(),onItemSelect:a=>this.toggleItemSelection(a),onItemLoad:a=>{this.loadItem(a).catch(()=>{})},onLoadSelected:()=>{this.loadSelectedItems().catch(()=>{})},onCopySignedUrls:()=>{this.copySignedUrls().catch(a=>{console.error("Failed to copy signed URLs:",a)})},onDownloadSelected:()=>{this.downloadSelected().catch(a=>{console.error("Failed to download selected:",a)})},onClearResults:()=>this.clearResults(),onUnloadItem:a=>this.unloadItem(a),onClearLoaded:()=>this.clearLoadedItems(),onPointSizeChange:a=>this.setPointSize(a),onOpacityChange:a=>this.setOpacity(a),onColorSchemeChange:a=>this.setColorScheme(a),onZOffsetChange:a=>this.setZOffset(a),onPickableChange:a=>this.setPickable(a),onElevationRangeChange:a=>this.setElevationRange(a),onClassificationToggle:(a,o)=>this.setClassificationVisibility(a,o),onClassificationShowAll:()=>this.showAllClassifications(),onClassificationHideAll:()=>this.hideAllClassifications(),onDataSourceChange:a=>this.setDataSource(a),onColormapChange:a=>this.setColormap(a),onColorRangeChange:a=>this.setColorRange(a),onShowMetadata:a=>this.showMetadata(a),onCrossSectionPanel:()=>this.getCrossSectionPanel()},this._state);let s=this._panelBuilder.build();return t.appendChild(e),t.appendChild(s),t}_setupEventListeners(){var t;let e=r=>{var n,s,a,o,A;let l=r.target;if((n=this._container)!=null&&n.contains(l)||(s=this._panel)!=null&&s.contains(l)||(o=(a=this._mapContainer)==null?void 0:a.querySelector(".maplibregl-canvas"))!=null&&o.contains(l))return;document.querySelector(".lidar-metadata-backdrop, .lidar-chart-popup-backdrop")?.contains(l)||(A=l.closest)!=null&&A.call(l,".lidar-metadata-backdrop, .lidar-metadata-panel, .lidar-chart-popup-backdrop, .lidar-chart-popup")||this._state.collapsed||this.collapse()};document.addEventListener("click",e,!0),window.addEventListener("resize",()=>{this._state.collapsed||this._updatePanelPosition()}),(t=this._map)==null||t.on("resize",()=>{this._state.collapsed||this._updatePanelPosition()})}_getControlPosition(){var t;let e=(t=this._container)==null?void 0:t.parentElement;return e?e.classList.contains("maplibregl-ctrl-top-left")?"top-left":e.classList.contains("maplibregl-ctrl-top-right")?"top-right":e.classList.contains("maplibregl-ctrl-bottom-left")?"bottom-left":e.classList.contains("maplibregl-ctrl-bottom-right")?"bottom-right":"top-right":"top-right"}_updatePanelPosition(){if(!this._container||!this._panel||!this._mapContainer)return;let t=this._container.querySelector(".usgs-lidar-control-toggle");if(!t)return;let e=t.getBoundingClientRect(),r=this._mapContainer.getBoundingClientRect(),n=this._getControlPosition(),s=e.top-r.top,a=r.bottom-e.bottom,o=e.left-r.left,A=r.right-e.right,l=5;switch(this._panel.style.top="",this._panel.style.bottom="",this._panel.style.left="",this._panel.style.right="",n){case"top-left":this._panel.style.top=`${s+e.height+l}px`,this._panel.style.left=`${o}px`;break;case"top-right":this._panel.style.top=`${s+e.height+l}px`,this._panel.style.right=`${A}px`;break;case"bottom-left":this._panel.style.bottom=`${a+e.height+l}px`,this._panel.style.left=`${o}px`;break;case"bottom-right":this._panel.style.bottom=`${a+e.height+l}px`,this._panel.style.right=`${A}px`;break}}getPanelElement(){return this._panel??null}},JRn=Object.defineProperty,KRn=(i,t,e)=>t in i?JRn(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,$Qt=(i,t,e)=>KRn(i,typeof t!="symbol"?t+"":t,e),ESt=class{constructor(t){$Qt(this,"type","usgs-lidar"),$Qt(this,"_usgsControl"),$Qt(this,"_changeCallbacks",[]),$Qt(this,"_unsubscribe"),this._usgsControl=t,this._setupEventListeners()}_setupEventListeners(){let t=r=>{var n;if((n=r.pointCloud)!=null&&n.id){let s=this._usgsControl.getState();for(let[a,o]of s.loadedItems.entries())if(o.id===r.pointCloud.id){this._notifyLayerAdded(a);break}}},e=r=>{r.itemId&&this._notifyLayerRemoved(r.itemId)};this._usgsControl.on("loadcomplete",t),this._usgsControl.on("unload",e),this._unsubscribe=()=>{this._usgsControl.off("loadcomplete",t),this._usgsControl.off("unload",e)}}getLayerIds(){let t=this._usgsControl.getState();return Array.from(t.loadedItems.keys())}getLayerState(t){var e;let r=this._usgsControl.getState(),n=r.loadedItems.get(t);if(!n)return null;let s=this._usgsControl.getLidarControl(),a=s?._pointCloudManager,o=a?.getPointCloudVisibility(n.id)??!0,A=a?.getPointCloudOpacity(n.id)??((e=r.lidarState)==null?void 0:e.opacity)??1;return{visible:o,opacity:A,name:this.getName(t),isCustomLayer:!0,customLayerType:"usgs-lidar"}}setVisibility(t,e){let r=this._usgsControl.getState().loadedItems.get(t);if(!r)return;this._usgsControl.getLidarControl()?._pointCloudManager?.setPointCloudVisibility(r.id,e)}setOpacity(t,e){let r=this._usgsControl.getState().loadedItems.get(t);if(!r)return;this._usgsControl.getLidarControl()?._pointCloudManager?.setPointCloudOpacity(r.id,e)}getName(t){let e=this._usgsControl.getState().loadedItems.get(t);return e?e.name:t.replace(/[-_]/g," ").replace(/\b\w/g,r=>r.toUpperCase())}getSymbolType(t){return"circle"}onLayerChange(t){return this._changeCallbacks.push(t),()=>{let e=this._changeCallbacks.indexOf(t);e>=0&&this._changeCallbacks.splice(e,1)}}_notifyLayerAdded(t){this._changeCallbacks.forEach(e=>e("add",t))}_notifyLayerRemoved(t){this._changeCallbacks.forEach(e=>e("remove",t))}destroy(){var t;(t=this._unsubscribe)==null||t.call(this),this._changeCallbacks=[]}},VRn={},WRn={title:"",position:"top-right",className:"",visible:!0,collapsible:!0,collapsed:!0,rows:1,columns:3,showRowColumnControls:!0,controls:[],backgroundColor:"rgba(255, 255, 255, 0.9)",padding:10,borderRadius:4,opacity:1,gap:6,minzoom:0,maxzoom:24,basemapStyleUrl:void 0,excludeLayers:void 0,streetViewOptions:void 0},ZRn='<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#333" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"/></svg>',XRn='<svg xmlns="http://www.w3.org/2000/svg" width="29" height="29" viewBox="0 0 29 29"><path d="m10.5 14 4-8 4 8z" fill="#333"/><path d="m10.5 16 4 8 4-8z" fill="#ccc"/></svg>',Bpe=class{_map;_container;_icon;_rotateHandler;onAdd(t){this._map=t,this._container=document.createElement("div"),this._container.className="maplibregl-ctrl maplibregl-ctrl-group";let e=document.createElement("button");return e.className="maplibregl-ctrl-compass",e.type="button",e.title="Reset bearing to north",e.setAttribute("aria-label","Reset bearing to north"),this._icon=document.createElement("span"),this._icon.className="maplibregl-ctrl-icon",this._icon.setAttribute("aria-hidden","true"),this._icon.style.backgroundImage=`url("data:image/svg+xml,${encodeURIComponent(XRn)}")`,this._icon.style.backgroundSize="contain",this._icon.style.width="29px",this._icon.style.height="29px",this._icon.style.display="block",e.appendChild(this._icon),e.addEventListener("click",()=>this._map?.resetNorth()),this._container.appendChild(e),this._rotateHandler=()=>{this._icon&&this._map&&(this._icon.style.transform=`rotate(${-this._map.getBearing()}deg)`)},this._map.on("rotate",this._rotateHandler),this._rotateHandler(),this._container}onRemove(){this._map&&this._rotateHandler&&this._map.off("rotate",this._rotateHandler),this._container?.parentNode?.removeChild(this._container),this._map=void 0,this._container=void 0,this._icon=void 0}},O0e="maplibre-gl-components-terrain-dem",$Rn="https://s3.amazonaws.com/elevation-tiles-prod/terrarium/{z}/{x}/{y}.png",xpe=class{_inner;_addSource(t){t.getSource(O0e)||t.addSource(O0e,{type:"raster-dem",tiles:[$Rn],tileSize:256,encoding:"terrarium"})}onAdd(t){return t.isStyleLoaded()?this._addSource(t):t.once("styledata",()=>this._addSource(t)),this._inner=new Hu.TerrainControl({source:O0e}),this._inner.onAdd(t)}onRemove(){this._inner?.onRemove(),this._inner=void 0}},tNn={fullscreen:"Toggle fullscreen",globe:"Toggle globe projection",spinGlobe:"Spin globe",north:"Reset bearing to north",terrain:"Toggle terrain",search:"Search places",viewState:"View map state",inspect:"Inspect features",vectorDataset:"Add vector dataset",basemap:"Basemaps",cogLayer:"COG Layer",minimap:"Toggle minimap",measure:"Measure distances and areas",bookmark:"Bookmarks",print:"Export map",zarrLayer:"Zarr Layer",pmtilesLayer:"PMTiles Layer",stacLayer:"STAC Layer",stacSearch:"STAC Search",addVector:"Add vector layer",geoEditor:"Geo Editor",lidar:"LiDAR Layer",planetaryComputer:"Planetary Computer",gaussianSplat:"Gaussian Splat",streetView:"Street View",swipe:"Layer Swipe",usgsLidar:"USGS LiDAR",colorbarGui:"Colorbar",legendGui:"Legend",htmlGui:"HTML Control",tileLayer:"Tile Layer"},BSt=class{_container;_gridEl;_options;_state;_children=[];_eventHandlers=new Map;_map;_handleZoom;_zoomVisible=!0;_floatingEntry=null;_floatingPanel=null;_clickInGrid=!1;_docCaptureHandler;_docBubbleHandler;constructor(t){this._options={...WRn,...t},this._state={visible:this._options.visible,collapsed:this._options.collapsed,rows:this._options.rows,columns:this._options.columns},(t?.controls??this._options.controls??[]).forEach(r=>this._children.push({control:r,element:null,expandable:this._isExpandable(r),collapsedSnapshot:null,expandHandler:null,collapseHandler:null,_placeholder:null,_externalPanel:null,_externalPanelParent:null,_savedPositionMethods:null}));let e=t?.defaultControls??[];for(let r of e){let n=this._createDefaultControl(r);n&&this._children.push({control:n,element:null,expandable:this._isExpandable(n),collapsedSnapshot:null,expandHandler:null,collapseHandler:null,_placeholder:null,_externalPanel:null,_externalPanelParent:null,_savedPositionMethods:null,tooltip:tNn[r]})}this._autoGrowRows()}_createDefaultControl(t){switch(t){case"fullscreen":return new Hu.FullscreenControl;case"globe":return new Hu.GlobeControl;case"spinGlobe":return new Ubt;case"north":return new Bpe;case"terrain":return new xpe;case"search":return new zW({collapsed:!0});case"viewState":return new Mbt({collapsed:!0,enableBBox:!0});case"inspect":return new kbt;case"vectorDataset":return new Sbt;case"basemap":return new wbt({collapsed:!0});case"cogLayer":return new cP({collapsed:!0,defaultUrl:"https://data.source.coop/giswqs/opengeos/nlcd_2021_land_cover_30m.tif",defaultColormap:"none",defaultRescaleMin:0,defaultRescaleMax:4e3});case"minimap":return new Dbt({collapsed:!0,interactive:!0});case"measure":return new YW({collapsed:!0});case"bookmark":return new Rbt({collapsed:!0});case"print":return new qW({collapsed:!0});case"zarrLayer":return new hP({collapsed:!0,defaultUrl:"https://carbonplan-maps.s3.us-west-2.amazonaws.com/v2/demo/4d/tavg-prec-month",defaultVariable:"climate",defaultColormap:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],defaultClim:[0,300],defaultSelector:{band:"prec",month:1},defaultOpacity:.8});case"pmtilesLayer":return new uP({collapsed:!0,defaultUrl:"https://pmtiles.io/protomaps(vector)ODbL_firenze.pmtiles",defaultOpacity:.8,defaultFillColor:"steelblue",defaultLineColor:"#333"});case"stacLayer":return new cut({collapsed:!0,defaultUrl:"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a/items/S2B_10SEG_20251229_0_L2A",defaultRescaleMin:0,defaultRescaleMax:255,defaultColormap:"none"});case"stacSearch":return new Nbt({collapsed:!0,catalogs:[{name:"Element84 Earth Search",url:"https://earth-search.aws.element84.com/v1"},{name:"Microsoft Planetary Computer",url:"https://planetarycomputer.microsoft.com/api/stac/v1"}],maxItems:20,defaultRescaleMin:0,defaultRescaleMax:1e4,showFootprints:!0});case"addVector":return new gP({collapsed:!0,defaultUrl:"https://flatgeobuf.org/test/data/UScounties.fgb"});case"choropleth":return new Lbt({collapsed:!0,defaultUrl:"https://data.source.coop/giswqs/opengeos/h3_res4_geo.parquet",defaultColormap:"viridis",defaultScheme:"quantile",defaultK:5});case"geoEditor":return new put({collapsed:!0,columns:2});case"lidar":return new ZW({collapsed:!0,maxHeight:500});case"planetaryComputer":return new But({collapsed:!0,maxHeight:500});case"gaussianSplat":return new Uut({collapsed:!0,maxHeight:500});case"streetView":{let e=VRn,r=e?.VITE_GOOGLE_MAPS_API_KEY,n=e?.VITE_MAPILLARY_ACCESS_TOKEN,s=!r&&n?"mapillary":"google";return new ySt({collapsed:!0,panelWidth:450,panelHeight:350,maxHeight:500,defaultProvider:s,clickToView:!0,showMarker:!0,maxSearchRadius:200,markerOptions:{color:"#ff5722",showDirection:!1,directionColor:"#1976d2"},googleApiKey:r,mapillaryAccessToken:n,...this._options.streetViewOptions})}case"swipe":return new CSt({collapsed:!0,maxHeight:500,active:!1,basemapStyle:this._options.basemapStyleUrl,excludeLayers:this._options.excludeLayers});case"usgsLidar":return new Qgt({collapsed:!0,maxHeight:500});case"colorbarGui":return new Gbt({collapsed:!0});case"legendGui":return new Fbt({collapsed:!0});case"htmlGui":return new Tbt({collapsed:!0});case"tileLayer":return new Pbt({collapsed:!0});default:return null}}onAdd(t){return this._map=t,this._container=this._createContainer(),this._handleZoom=()=>this._checkZoomVisibility(),this._map.on("zoom",this._handleZoom),this._checkZoomVisibility(),this._docCaptureHandler=e=>{let r=e.target,n=this._container?.contains(r),s=this._floatingPanel?.contains(r);this._clickInGrid=!!(n&&!s)},this._docBubbleHandler=()=>{this._clickInGrid=!1},document.addEventListener("click",this._docCaptureHandler,!0),document.addEventListener("click",this._docBubbleHandler,!1),this._render(),this._mountChildren(),this._container}onRemove(){this._docCaptureHandler&&(document.removeEventListener("click",this._docCaptureHandler,!0),this._docCaptureHandler=void 0),this._docBubbleHandler&&(document.removeEventListener("click",this._docBubbleHandler,!1),this._docBubbleHandler=void 0),this._map&&this._handleZoom&&(this._map.off("zoom",this._handleZoom),this._handleZoom=void 0),this._unmountChildren(),this._map=void 0,this._container?.parentNode?.removeChild(this._container),this._container=void 0,this._gridEl=void 0,this._children=[],this._eventHandlers.clear()}addControl(t){if(this._children.some(r=>r.control===t))return;let e={control:t,element:null,expandable:this._isExpandable(t),collapsedSnapshot:null,expandHandler:null,collapseHandler:null,_placeholder:null,_externalPanel:null,_externalPanelParent:null,_savedPositionMethods:null};this._children.push(e),this._autoGrowRows(),this._map&&this._gridEl&&(e.element=t.onAdd(this._map),e.expandable&&(e.collapsedSnapshot=e.element.cloneNode(!0),this._attachExpandListeners(e)),this._gridEl.appendChild(e.element)),this._emit("controladd",t)}removeControl(t){let e=this._children.findIndex(n=>n.control===t);if(e===-1)return;let r=this._children[e];this._floatingEntry===r&&this._clearFloating(),this._detachExpandListeners(r),r._placeholder?.parentNode&&r._placeholder.parentNode.removeChild(r._placeholder),r.element?.parentNode&&r.element.parentNode.removeChild(r.element),this._map&&t.onRemove(this._map),this._children.splice(e,1),this._emit("controlremove",t)}setRows(t){let e=Math.max(1,Math.min(12,Math.round(t)));this._state.rows!==e&&(this._state.rows=e,this._applyGridStyle(),this._emit("update"))}setColumns(t){let e=Math.max(1,Math.min(12,Math.round(t)));this._state.columns!==e&&(this._state.columns=e,this._applyGridStyle(),this._emit("update"))}getControls(){return this._children.map(t=>t.control)}getAdapters(){let t=[];for(let e of this._children){let r=e.control;r instanceof cP?t.push(new Obt(r)):r instanceof hP?t.push(new jbt(r)):r instanceof uP?t.push(new Hbt(r)):r instanceof cut?t.push(new Ybt(r)):r instanceof gP?t.push(new zbt(r)):r instanceof ZW?t.push(new Evt(r)):r instanceof But?t.push(new Bvt(r)):r instanceof Uut?t.push(new Pvt(r)):r instanceof Qgt?t.push(new ESt(r)):r instanceof put&&t.push(new ovt(r))}return t}show(){this._state.visible||(this._state.visible=!0,this._updateDisplayState(),this._emit("show"))}hide(){this._state.visible&&(this._state.visible=!1,this._updateDisplayState(),this._emit("hide"))}expand(){this._state.collapsed&&(this._state.collapsed=!1,this._render(),this._emit("expand"))}collapse(){this._state.collapsed||(this._state.collapsed=!0,this._render(),this._emit("collapse"))}toggle(){this._state.collapsed?this.expand():this.collapse()}getState(){return{...this._state}}update(t){this._options={...this._options,...t},t.visible!==void 0&&(this._state.visible=t.visible),t.collapsed!==void 0&&(this._state.collapsed=t.collapsed),t.rows!==void 0&&(this._state.rows=Math.max(1,Math.min(12,t.rows))),t.columns!==void 0&&(this._state.columns=Math.max(1,Math.min(12,t.columns))),this._render(),this._emit("update")}on(t,e){this._eventHandlers.has(t)||this._eventHandlers.set(t,new Set),this._eventHandlers.get(t).add(e)}off(t,e){this._eventHandlers.get(t)?.delete(e)}_emit(t,e){let r=this._eventHandlers.get(t);if(r){let n={type:t,state:this.getState(),control:e};r.forEach(s=>s(n))}}_checkZoomVisibility(){if(!this._map)return;let t=this._map.getZoom(),{minzoom:e,maxzoom:r}=this._options,n=t>=e&&t<=r;n!==this._zoomVisible&&(this._zoomVisible=n,this._updateDisplayState())}_updateDisplayState(){if(!this._container)return;let t=this._state.visible&&this._zoomVisible;this._container.style.display=t?"block":"none"}_createContainer(){let t=document.createElement("div");return t.className=`maplibregl-ctrl maplibre-gl-control-grid${this._options.className?` ${this._options.className}`:""}`,this._state.visible&&this._zoomVisible||(t.style.display="none"),t.addEventListener("click",e=>e.stopPropagation()),t}_autoGrowRows(){let t=this._state.rows*this._state.columns;this._children.length>t&&(this._state.rows=Math.ceil(this._children.length/this._state.columns),this._applyGridStyle())}_applyGridStyle(){if(!this._gridEl)return;if(this._state.collapsed){this._gridEl.style.display="none";return}let t=this._options.gap;this._gridEl.style.display="grid",this._gridEl.style.gridTemplateColumns=`repeat(${this._state.columns}, auto)`,this._gridEl.style.gridTemplateRows=`repeat(${this._state.rows}, auto)`,this._gridEl.style.gap=`${t}px`,this._gridEl.style.width="100%",this._gridEl.style.justifyContent="center",this._gridEl.style.alignContent="center",this._gridEl.style.justifyItems="center",this._gridEl.style.alignItems="center"}_mountChildren(){!this._map||!this._gridEl||this._children.forEach(t=>{t.element||(t.element=t.control.onAdd(this._map),t.tooltip&&this._applyTooltip(t.element,t.tooltip),t.expandable&&!t.collapsedSnapshot&&(t.collapsedSnapshot=t.element.cloneNode(!0)),this._attachExpandListeners(t)),this._floatingEntry===t?this._mountAsFloating(t):t.element.parentNode!==this._gridEl&&this._gridEl.appendChild(t.element)})}_applyTooltip(t,e){let r=t.querySelector("button");r&&!r.title&&(r.title=e)}_unmountChildren(){this._clearFloating();let t=this._map;this._children.forEach(e=>{this._detachExpandListeners(e),e._placeholder?.parentNode&&e._placeholder.parentNode.removeChild(e._placeholder),e._placeholder=null,e.element?.parentNode&&e.element.parentNode.removeChild(e.element),t&&e.control.onRemove(t)}),this._children=this._children.map(e=>({control:e.control,element:null,expandable:e.expandable,collapsedSnapshot:null,expandHandler:null,collapseHandler:null,_placeholder:null,_externalPanel:null,_externalPanelParent:null,_savedPositionMethods:null}))}_isExpandable(t){let e=t;return typeof e.on=="function"&&typeof e.collapse=="function"}_attachExpandListeners(t){if(!t.expandable)return;let e=t.control;t.expandHandler=()=>this._onChildExpand(t),t.collapseHandler=()=>this._onChildCollapse(t),e.on("expand",t.expandHandler),e.on("collapse",t.collapseHandler)}_detachExpandListeners(t){if(!t.expandable)return;let e=t.control;t.expandHandler&&e.off("expand",t.expandHandler),t.collapseHandler&&e.off("collapse",t.collapseHandler),t.expandHandler=null,t.collapseHandler=null}_onChildExpand(t){if(this._floatingEntry&&this._floatingEntry!==t&&this._collapseFloatingChild(),!t.element||!this._gridEl)return;let e=t.collapsedSnapshot?t.collapsedSnapshot.cloneNode(!0):document.createElement("div");e.classList.add("maplibre-gl-control-grid-placeholder--active"),e.addEventListener("click",()=>{t.control.collapse(),this._floatingEntry===t&&this._onChildCollapse(t)}),t._placeholder=e,this._gridEl.replaceChild(e,t.element);let r=this._ensureFloatingPanel();r.appendChild(t.element),this._floatingEntry=t,this._relocateExternalPanel(t,r),this._hideFloatingButton(t)}_onChildCollapse(t){if(this._floatingEntry!==t)return;this._showFloatingButton(t),this._restoreExternalPanel(t),t._placeholder&&t.element&&this._gridEl&&(t._placeholder.parentNode===this._gridEl?this._gridEl.replaceChild(t.element,t._placeholder):this._gridEl.appendChild(t.element)),t._placeholder=null,this._floatingPanel&&(this._floatingPanel.style.display="none"),this._floatingEntry=null;let e=t.control;typeof e.collapse=="function"&&e.collapse(),t.element&&(t.collapsedSnapshot=t.element.cloneNode(!0))}_mountAsFloating(t){if(!this._gridEl||!t.element)return;let e=t.collapsedSnapshot?t.collapsedSnapshot.cloneNode(!0):document.createElement("div");e.classList.add("maplibre-gl-control-grid-placeholder--active"),e.addEventListener("click",()=>{t.control.collapse(),this._floatingEntry===t&&this._onChildCollapse(t)}),t._placeholder=e,this._gridEl.appendChild(e);let r=this._ensureFloatingPanel();r.appendChild(t.element),this._relocateExternalPanel(t,r),t._externalPanel&&(r.style.right="0px"),this._hideFloatingButton(t)}_ensureFloatingPanel(){this._floatingPanel||(this._floatingPanel=document.createElement("div"),this._floatingPanel.className="maplibre-gl-control-grid-floating-panel",this._floatingPanel.addEventListener("click",s=>s.stopPropagation())),this._container&&this._floatingPanel.parentNode!==this._container&&this._container.appendChild(this._floatingPanel);let t=this._state.collapsed&&(this._options.title||this._options.collapsible),e=Math.max(0,this._options.padding-1),r=Math.max(0,this._options.padding-10),n=t?e-r:e;return this._floatingPanel.style.right=`-${n}px`,this._floatingPanel.style.display="block",this._floatingPanel}_clearFloating(){this._floatingEntry&&(this._showFloatingButton(this._floatingEntry),this._restoreExternalPanel(this._floatingEntry),this._floatingEntry._placeholder=null),this._floatingEntry=null,this._floatingPanel&&(this._floatingPanel.remove(),this._floatingPanel=null)}_collapseFloatingChild(){this._floatingEntry&&this._onChildCollapse(this._floatingEntry)}_hideFloatingButton(t){if(t._externalPanel)return;let e=t.control;if(e._button&&(e._button.style.display="none",t.element)){let r=t.element.classList.contains("maplibregl-ctrl-group");r&&(t.element.classList.remove("maplibregl-ctrl-group"),t.element.dataset.hadCtrlGroup="1"),!r&&!t.element.dataset.hadCtrlGroup&&(t.element.style.marginRight="0")}}_showFloatingButton(t){let e=t.control;e._button&&(e._button.style.display="",t.element&&(t.element.dataset.hadCtrlGroup?(t.element.classList.add("maplibregl-ctrl-group"),delete t.element.dataset.hadCtrlGroup):t.element.style.marginRight=""))}_relocateExternalPanel(t,e){let r=t.control,n=null;if(typeof r.getPanelElement=="function"?n=r.getPanelElement():r._panel instanceof HTMLElement?n=r._panel:r._panel&&typeof r._panel.getElement=="function"&&(n=r._panel.getElement()),!n||!t.element||t.element.contains(n)||t._externalPanel)return;t._externalPanelParent=n.parentNode,t._externalPanel=n,n.classList.add("maplibre-gl-control-grid-relocated");let s=["_updatePanelPosition","updatePanelPosition"];t._savedPositionMethods={};for(let A of s)typeof r[A]=="function"&&(t._savedPositionMethods[A]=r[A].bind(r),r[A]=()=>{});let a=r._panel;a&&typeof a.positionRelativeTo=="function"&&(t._savedPositionMethods["_panel.positionRelativeTo"]=a.positionRelativeTo.bind(a),a.positionRelativeTo=()=>{}),typeof r.collapse=="function"&&(t._savedPositionMethods.collapse=r.collapse.bind(r),r.collapse=()=>{this._floatingEntry===t&&!this._clickInGrid&&this._onChildCollapse(t)});let o=(A,l)=>n.style.setProperty(A,l,"important");o("position","static"),o("top","auto"),o("bottom","auto"),o("left","auto"),o("right","auto"),o("z-index","auto"),e.appendChild(n),e.style.right="0px",t.element&&(t.element.style.display="none")}_restoreExternalPanel(t){if(!t._externalPanel||!t._externalPanelParent)return;let e=t._externalPanel;e.classList.remove("maplibre-gl-control-grid-relocated");let r=["position","top","bottom","left","right","z-index"];for(let n of r)e.style.removeProperty(n);if(t._externalPanelParent.appendChild(e),t._externalPanel=null,t._externalPanelParent=null,t._savedPositionMethods){let n=t.control;for(let[s,a]of Object.entries(t._savedPositionMethods))if(s==="_panel.positionRelativeTo"){let o=n._panel;o&&(o.positionRelativeTo=a)}else n[s]=a;t._savedPositionMethods=null}t.element&&(t.element.style.display="")}_render(){if(!this._container)return;let{title:t,collapsible:e,backgroundColor:r,opacity:n,borderRadius:s,padding:a,showRowColumnControls:o}=this._options;this._container.innerHTML="",this._state.collapsed?this._container.classList.add("maplibre-gl-control-grid--collapsed"):this._container.classList.remove("maplibre-gl-control-grid--collapsed");let A=this._state.collapsed&&(t||e),l=A?0:a,c=A?0:a,p=A?0:Math.max(0,a-4),d=this._state.visible&&this._zoomVisible;if(Object.assign(this._container.style,{backgroundColor:r,opacity:String(n),borderRadius:`${s}px`,padding:`${l}px ${p}px ${l}px ${c}px`,boxShadow:"0 0 0 2px rgba(0, 0, 0, 0.1)",display:d?"block":"none",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',color:"#1a1a1a"}),e||t){let I=document.createElement("div");if(I.className="maplibre-gl-control-grid-header",Object.assign(I.style,{display:"flex",alignItems:"center",justifyContent:this._state.collapsed?"center":"space-between",flexWrap:"wrap",gap:"6px",paddingBottom:(this._state.collapsed,"0"),cursor:e?"pointer":"default"}),this._state.collapsed&&e){let y=document.createElement("span");y.className="maplibre-gl-control-grid-wrench",y.innerHTML=ZRn,Object.assign(y.style,{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"29px",height:"29px",lineHeight:"0",boxSizing:"border-box"}),y.setAttribute("aria-label","Map tools"),I.appendChild(y),I.addEventListener("click",()=>this.toggle())}else{let y=document.createElement("div");if(y.style.display="flex",y.style.alignItems="center",y.style.gap="6px",t){let B=document.createElement("span");B.className="maplibre-gl-control-grid-title",B.textContent=t,B.style.fontWeight="600",B.style.color="#333",y.appendChild(B)}if(o&&!this._state.collapsed){let B=document.createElement("label");B.style.display="inline-flex",B.style.alignItems="center",B.style.gap="2px",B.style.fontSize="11px",B.style.color="#333",B.innerHTML="R:";let x=document.createElement("input");x.type="number",x.min="1",x.max="12",x.value=String(this._state.rows),x.style.width="40px",x.style.padding="2px 2px",x.style.boxSizing="border-box",x.style.textAlign="center",x.style.color="#333",x.addEventListener("change",()=>this.setRows(Number(x.value)||1)),B.appendChild(x);let w=document.createElement("label");w.style.display="inline-flex",w.style.alignItems="center",w.style.gap="2px",w.style.fontSize="11px",w.style.color="#333",w.innerHTML="C:";let D=document.createElement("input");D.type="number",D.min="1",D.max="12",D.value=String(this._state.columns),D.style.width="40px",D.style.padding="2px 2px",D.style.boxSizing="border-box",D.style.textAlign="center",D.style.color="#333",D.addEventListener("change",()=>this.setColumns(Number(D.value)||1)),w.appendChild(D),y.appendChild(B),y.appendChild(w)}if(I.appendChild(y),e){let B=document.createElement("span");B.className="maplibre-gl-control-grid-toggle",B.innerHTML="▼",Object.assign(B.style,{fontSize:"10px",userSelect:"none",color:"#333"}),I.appendChild(B),I.addEventListener("click",x=>{(!o||!y.contains(x.target))&&this.toggle()})}}this._container.appendChild(I)}let _=document.createElement("div");_.className="maplibre-gl-control-grid-content",Object.assign(_.style,{display:this._state.collapsed?"none":"block"}),this._gridEl=_,this._applyGridStyle(),this._container.appendChild(_),this._mountChildren()}};var q3e=0,J3e=1,K3e=2,V3e=3,W3e=4,Z3e=5,X3e=6,$3e=7;var gQi=300;var v3e=1e3,Jgt=1001,w3e=1002;var pQi=1006;var dQi=1008;var _Qi=1009;var fQi=1023;var okt=2300,S3e=2301,I3e=2302,X7i=2400,$7i=2401,tQi=2402;var t1e="",ZE="srgb",k3e="srgb-linear",M3e="linear",akt="srgb";var Kgt=2e3,eQi=2001;var Vgt=class{addEventListener(t,e){this._listeners===void 0&&(this._listeners={});let r=this._listeners;r[t]===void 0&&(r[t]=[]),r[t].indexOf(e)===-1&&r[t].push(e)}hasEventListener(t,e){let r=this._listeners;return r===void 0?!1:r[t]!==void 0&&r[t].indexOf(e)!==-1}removeEventListener(t,e){let r=this._listeners;if(r===void 0)return;let n=r[t];if(n!==void 0){let s=n.indexOf(e);s!==-1&&n.splice(s,1)}}dispatchEvent(t){let e=this._listeners;if(e===void 0)return;let r=e[t.type];if(r!==void 0){t.target=this;let n=r.slice(0);for(let s=0,a=n.length;s<a;s++)n[s].call(this,t);t.target=null}}},H6=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"];var W$s=Math.PI/180,eNn=180/Math.PI;function e1e(){let i=Math.random()*4294967295|0,t=Math.random()*4294967295|0,e=Math.random()*4294967295|0,r=Math.random()*4294967295|0;return(H6[i&255]+H6[i>>8&255]+H6[i>>16&255]+H6[i>>24&255]+"-"+H6[t&255]+H6[t>>8&255]+"-"+H6[t>>16&15|64]+H6[t>>24&255]+"-"+H6[e&63|128]+H6[e>>8&255]+"-"+H6[e>>16&255]+H6[e>>24&255]+H6[r&255]+H6[r>>8&255]+H6[r>>16&255]+H6[r>>24&255]).toLowerCase()}function Mg(i,t,e){return Math.max(t,Math.min(e,i))}function iNn(i,t){return(i%t+t)%t}function y3e(i,t,e){return(1-e)*i+e*t}var m8=class i{constructor(t=0,e=0){i.prototype.isVector2=!0,this.x=t,this.y=e}get width(){return this.x}set width(t){this.x=t}get height(){return this.y}set height(t){this.y=t}set(t,e){return this.x=t,this.y=e,this}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}add(t){return this.x+=t.x,this.y+=t.y,this}addScalar(t){return this.x+=t,this.y+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t){return this.x*=t,this.y*=t,this}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}applyMatrix3(t){let e=this.x,r=this.y,n=t.elements;return this.x=n[0]*e+n[3]*r+n[6],this.y=n[1]*e+n[4]*r+n[7],this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}clamp(t,e){return this.x=Mg(this.x,t.x,e.x),this.y=Mg(this.y,t.y,e.y),this}clampScalar(t,e){return this.x=Mg(this.x,t,e),this.y=Mg(this.y,t,e),this}clampLength(t,e){let r=this.length();return this.divideScalar(r||1).multiplyScalar(Mg(r,t,e))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(t){return this.x*t.x+this.y*t.y}cross(t){return this.x*t.y-this.y*t.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(t){let e=Math.sqrt(this.lengthSq()*t.lengthSq());if(e===0)return Math.PI/2;let r=this.dot(t)/e;return Math.acos(Mg(r,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){let e=this.x-t.x,r=this.y-t.y;return e*e+r*r}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,r){return this.x=t.x+(e.x-t.x)*r,this.y=t.y+(e.y-t.y)*r,this}equals(t){return t.x===this.x&&t.y===this.y}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this}rotateAround(t,e){let r=Math.cos(e),n=Math.sin(e),s=this.x-t.x,a=this.y-t.y;return this.x=s*r-a*n+t.x,this.y=s*n+a*r+t.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}},mN=class{constructor(t=0,e=0,r=0,n=1){this.isQuaternion=!0,this._x=t,this._y=e,this._z=r,this._w=n}static slerpFlat(t,e,r,n,s,a,o){let A=r[n+0],l=r[n+1],c=r[n+2],p=r[n+3],d=s[a+0],_=s[a+1],I=s[a+2],y=s[a+3];if(o===0){t[e+0]=A,t[e+1]=l,t[e+2]=c,t[e+3]=p;return}if(o===1){t[e+0]=d,t[e+1]=_,t[e+2]=I,t[e+3]=y;return}if(p!==y||A!==d||l!==_||c!==I){let B=1-o,x=A*d+l*_+c*I+p*y,w=x>=0?1:-1,D=1-x*x;if(D>Number.EPSILON){let j=Math.sqrt(D),z=Math.atan2(j,x*w);B=Math.sin(B*z)/j,o=Math.sin(o*z)/j}let T=o*w;if(A=A*B+d*T,l=l*B+_*T,c=c*B+I*T,p=p*B+y*T,B===1-o){let j=1/Math.sqrt(A*A+l*l+c*c+p*p);A*=j,l*=j,c*=j,p*=j}}t[e]=A,t[e+1]=l,t[e+2]=c,t[e+3]=p}static multiplyQuaternionsFlat(t,e,r,n,s,a){let o=r[n],A=r[n+1],l=r[n+2],c=r[n+3],p=s[a],d=s[a+1],_=s[a+2],I=s[a+3];return t[e]=o*I+c*p+A*_-l*d,t[e+1]=A*I+c*d+l*p-o*_,t[e+2]=l*I+c*_+o*d-A*p,t[e+3]=c*I-o*p-A*d-l*_,t}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get w(){return this._w}set w(t){this._w=t,this._onChangeCallback()}set(t,e,r,n){return this._x=t,this._y=e,this._z=r,this._w=n,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this._onChangeCallback(),this}setFromEuler(t,e=!0){let r=t._x,n=t._y,s=t._z,a=t._order,o=Math.cos,A=Math.sin,l=o(r/2),c=o(n/2),p=o(s/2),d=A(r/2),_=A(n/2),I=A(s/2);switch(a){case"XYZ":this._x=d*c*p+l*_*I,this._y=l*_*p-d*c*I,this._z=l*c*I+d*_*p,this._w=l*c*p-d*_*I;break;case"YXZ":this._x=d*c*p+l*_*I,this._y=l*_*p-d*c*I,this._z=l*c*I-d*_*p,this._w=l*c*p+d*_*I;break;case"ZXY":this._x=d*c*p-l*_*I,this._y=l*_*p+d*c*I,this._z=l*c*I+d*_*p,this._w=l*c*p-d*_*I;break;case"ZYX":this._x=d*c*p-l*_*I,this._y=l*_*p+d*c*I,this._z=l*c*I-d*_*p,this._w=l*c*p+d*_*I;break;case"YZX":this._x=d*c*p+l*_*I,this._y=l*_*p+d*c*I,this._z=l*c*I-d*_*p,this._w=l*c*p-d*_*I;break;case"XZY":this._x=d*c*p-l*_*I,this._y=l*_*p-d*c*I,this._z=l*c*I+d*_*p,this._w=l*c*p+d*_*I;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+a)}return e===!0&&this._onChangeCallback(),this}setFromAxisAngle(t,e){let r=e/2,n=Math.sin(r);return this._x=t.x*n,this._y=t.y*n,this._z=t.z*n,this._w=Math.cos(r),this._onChangeCallback(),this}setFromRotationMatrix(t){let e=t.elements,r=e[0],n=e[4],s=e[8],a=e[1],o=e[5],A=e[9],l=e[2],c=e[6],p=e[10],d=r+o+p;if(d>0){let _=.5/Math.sqrt(d+1);this._w=.25/_,this._x=(c-A)*_,this._y=(s-l)*_,this._z=(a-n)*_}else if(r>o&&r>p){let _=2*Math.sqrt(1+r-o-p);this._w=(c-A)/_,this._x=.25*_,this._y=(n+a)/_,this._z=(s+l)/_}else if(o>p){let _=2*Math.sqrt(1+o-r-p);this._w=(s-l)/_,this._x=(n+a)/_,this._y=.25*_,this._z=(A+c)/_}else{let _=2*Math.sqrt(1+p-r-o);this._w=(a-n)/_,this._x=(s+l)/_,this._y=(A+c)/_,this._z=.25*_}return this._onChangeCallback(),this}setFromUnitVectors(t,e){let r=t.dot(e)+1;return r<1e-8?(r=0,Math.abs(t.x)>Math.abs(t.z)?(this._x=-t.y,this._y=t.x,this._z=0,this._w=r):(this._x=0,this._y=-t.z,this._z=t.y,this._w=r)):(this._x=t.y*e.z-t.z*e.y,this._y=t.z*e.x-t.x*e.z,this._z=t.x*e.y-t.y*e.x,this._w=r),this.normalize()}angleTo(t){return 2*Math.acos(Math.abs(Mg(this.dot(t),-1,1)))}rotateTowards(t,e){let r=this.angleTo(t);if(r===0)return this;let n=Math.min(1,e/r);return this.slerp(t,n),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let t=this.length();return t===0?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this._onChangeCallback(),this}multiply(t){return this.multiplyQuaternions(this,t)}premultiply(t){return this.multiplyQuaternions(t,this)}multiplyQuaternions(t,e){let r=t._x,n=t._y,s=t._z,a=t._w,o=e._x,A=e._y,l=e._z,c=e._w;return this._x=r*c+a*o+n*l-s*A,this._y=n*c+a*A+s*o-r*l,this._z=s*c+a*l+r*A-n*o,this._w=a*c-r*o-n*A-s*l,this._onChangeCallback(),this}slerp(t,e){if(e===0)return this;if(e===1)return this.copy(t);let r=this._x,n=this._y,s=this._z,a=this._w,o=a*t._w+r*t._x+n*t._y+s*t._z;if(o<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,o=-o):this.copy(t),o>=1)return this._w=a,this._x=r,this._y=n,this._z=s,this;let A=1-o*o;if(A<=Number.EPSILON){let _=1-e;return this._w=_*a+e*this._w,this._x=_*r+e*this._x,this._y=_*n+e*this._y,this._z=_*s+e*this._z,this.normalize(),this}let l=Math.sqrt(A),c=Math.atan2(l,o),p=Math.sin((1-e)*c)/l,d=Math.sin(e*c)/l;return this._w=a*p+this._w*d,this._x=r*p+this._x*d,this._y=n*p+this._y*d,this._z=s*p+this._z*d,this._onChangeCallback(),this}slerpQuaternions(t,e,r){return this.copy(t).slerp(e,r)}random(){let t=2*Math.PI*Math.random(),e=2*Math.PI*Math.random(),r=Math.random(),n=Math.sqrt(1-r),s=Math.sqrt(r);return this.set(n*Math.sin(t),n*Math.cos(t),s*Math.sin(e),s*Math.cos(e))}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w}fromArray(t,e=0){return this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t}fromBufferAttribute(t,e){return this._x=t.getX(e),this._y=t.getY(e),this._z=t.getZ(e),this._w=t.getW(e),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}},ah=class i{constructor(t=0,e=0,r=0){i.prototype.isVector3=!0,this.x=t,this.y=e,this.z=r}set(t,e,r){return r===void 0&&(r=this.z),this.x=t,this.y=e,this.z=r,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this}applyEuler(t){return this.applyQuaternion(iQi.setFromEuler(t))}applyAxisAngle(t,e){return this.applyQuaternion(iQi.setFromAxisAngle(t,e))}applyMatrix3(t){let e=this.x,r=this.y,n=this.z,s=t.elements;return this.x=s[0]*e+s[3]*r+s[6]*n,this.y=s[1]*e+s[4]*r+s[7]*n,this.z=s[2]*e+s[5]*r+s[8]*n,this}applyNormalMatrix(t){return this.applyMatrix3(t).normalize()}applyMatrix4(t){let e=this.x,r=this.y,n=this.z,s=t.elements,a=1/(s[3]*e+s[7]*r+s[11]*n+s[15]);return this.x=(s[0]*e+s[4]*r+s[8]*n+s[12])*a,this.y=(s[1]*e+s[5]*r+s[9]*n+s[13])*a,this.z=(s[2]*e+s[6]*r+s[10]*n+s[14])*a,this}applyQuaternion(t){let e=this.x,r=this.y,n=this.z,s=t.x,a=t.y,o=t.z,A=t.w,l=2*(a*n-o*r),c=2*(o*e-s*n),p=2*(s*r-a*e);return this.x=e+A*l+a*p-o*c,this.y=r+A*c+o*l-s*p,this.z=n+A*p+s*c-a*l,this}project(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}unproject(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}transformDirection(t){let e=this.x,r=this.y,n=this.z,s=t.elements;return this.x=s[0]*e+s[4]*r+s[8]*n,this.y=s[1]*e+s[5]*r+s[9]*n,this.z=s[2]*e+s[6]*r+s[10]*n,this.normalize()}divide(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}divideScalar(t){return this.multiplyScalar(1/t)}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this}clamp(t,e){return this.x=Mg(this.x,t.x,e.x),this.y=Mg(this.y,t.y,e.y),this.z=Mg(this.z,t.z,e.z),this}clampScalar(t,e){return this.x=Mg(this.x,t,e),this.y=Mg(this.y,t,e),this.z=Mg(this.z,t,e),this}clampLength(t,e){let r=this.length();return this.divideScalar(r||1).multiplyScalar(Mg(r,t,e))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this}lerpVectors(t,e,r){return this.x=t.x+(e.x-t.x)*r,this.y=t.y+(e.y-t.y)*r,this.z=t.z+(e.z-t.z)*r,this}cross(t){return this.crossVectors(this,t)}crossVectors(t,e){let r=t.x,n=t.y,s=t.z,a=e.x,o=e.y,A=e.z;return this.x=n*A-s*o,this.y=s*a-r*A,this.z=r*o-n*a,this}projectOnVector(t){let e=t.lengthSq();if(e===0)return this.set(0,0,0);let r=t.dot(this)/e;return this.copy(t).multiplyScalar(r)}projectOnPlane(t){return C3e.copy(this).projectOnVector(t),this.sub(C3e)}reflect(t){return this.sub(C3e.copy(t).multiplyScalar(2*this.dot(t)))}angleTo(t){let e=Math.sqrt(this.lengthSq()*t.lengthSq());if(e===0)return Math.PI/2;let r=this.dot(t)/e;return Math.acos(Mg(r,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){let e=this.x-t.x,r=this.y-t.y,n=this.z-t.z;return e*e+r*r+n*n}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}setFromSpherical(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}setFromSphericalCoords(t,e,r){let n=Math.sin(e)*t;return this.x=n*Math.sin(r),this.y=Math.cos(e)*t,this.z=n*Math.cos(r),this}setFromCylindrical(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}setFromCylindricalCoords(t,e,r){return this.x=t*Math.sin(e),this.y=r,this.z=t*Math.cos(e),this}setFromMatrixPosition(t){let e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}setFromMatrixScale(t){let e=this.setFromMatrixColumn(t,0).length(),r=this.setFromMatrixColumn(t,1).length(),n=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=r,this.z=n,this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,e*4)}setFromMatrix3Column(t,e){return this.fromArray(t.elements,e*3)}setFromEuler(t){return this.x=t._x,this.y=t._y,this.z=t._z,this}setFromColor(t){return this.x=t.r,this.y=t.g,this.z=t.b,this}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){let t=Math.random()*Math.PI*2,e=Math.random()*2-1,r=Math.sqrt(1-e*e);return this.x=r*Math.cos(t),this.y=e,this.z=r*Math.sin(t),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}},C3e=new ah,iQi=new mN,ac=class i{constructor(t,e,r,n,s,a,o,A,l){i.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],t!==void 0&&this.set(t,e,r,n,s,a,o,A,l)}set(t,e,r,n,s,a,o,A,l){let c=this.elements;return c[0]=t,c[1]=n,c[2]=o,c[3]=e,c[4]=s,c[5]=A,c[6]=r,c[7]=a,c[8]=l,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(t){let e=this.elements,r=t.elements;return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],this}extractBasis(t,e,r){return t.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),r.setFromMatrix3Column(this,2),this}setFromMatrix4(t){let e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){let r=t.elements,n=e.elements,s=this.elements,a=r[0],o=r[3],A=r[6],l=r[1],c=r[4],p=r[7],d=r[2],_=r[5],I=r[8],y=n[0],B=n[3],x=n[6],w=n[1],D=n[4],T=n[7],j=n[2],z=n[5],W=n[8];return s[0]=a*y+o*w+A*j,s[3]=a*B+o*D+A*z,s[6]=a*x+o*T+A*W,s[1]=l*y+c*w+p*j,s[4]=l*B+c*D+p*z,s[7]=l*x+c*T+p*W,s[2]=d*y+_*w+I*j,s[5]=d*B+_*D+I*z,s[8]=d*x+_*T+I*W,this}multiplyScalar(t){let e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this}determinant(){let t=this.elements,e=t[0],r=t[1],n=t[2],s=t[3],a=t[4],o=t[5],A=t[6],l=t[7],c=t[8];return e*a*c-e*o*l-r*s*c+r*o*A+n*s*l-n*a*A}invert(){let t=this.elements,e=t[0],r=t[1],n=t[2],s=t[3],a=t[4],o=t[5],A=t[6],l=t[7],c=t[8],p=c*a-o*l,d=o*A-c*s,_=l*s-a*A,I=e*p+r*d+n*_;if(I===0)return this.set(0,0,0,0,0,0,0,0,0);let y=1/I;return t[0]=p*y,t[1]=(n*l-c*r)*y,t[2]=(o*r-n*a)*y,t[3]=d*y,t[4]=(c*e-n*A)*y,t[5]=(n*s-o*e)*y,t[6]=_*y,t[7]=(r*A-l*e)*y,t[8]=(a*e-r*s)*y,this}transpose(){let t,e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this}getNormalMatrix(t){return this.setFromMatrix4(t).invert().transpose()}transposeIntoArray(t){let e=this.elements;return t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],this}setUvTransform(t,e,r,n,s,a,o){let A=Math.cos(s),l=Math.sin(s);return this.set(r*A,r*l,-r*(A*a+l*o)+a+t,-n*l,n*A,-n*(-l*a+A*o)+o+e,0,0,1),this}scale(t,e){return this.premultiply(E3e.makeScale(t,e)),this}rotate(t){return this.premultiply(E3e.makeRotation(-t)),this}translate(t,e){return this.premultiply(E3e.makeTranslation(t,e)),this}makeTranslation(t,e){return t.isVector2?this.set(1,0,t.x,0,1,t.y,0,0,1):this.set(1,0,t,0,1,e,0,0,1),this}makeRotation(t){let e=Math.cos(t),r=Math.sin(t);return this.set(e,-r,0,r,e,0,0,0,1),this}makeScale(t,e){return this.set(t,0,0,0,e,0,0,0,1),this}equals(t){let e=this.elements,r=t.elements;for(let n=0;n<9;n++)if(e[n]!==r[n])return!1;return!0}fromArray(t,e=0){for(let r=0;r<9;r++)this.elements[r]=t[r+e];return this}toArray(t=[],e=0){let r=this.elements;return t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=r[3],t[e+4]=r[4],t[e+5]=r[5],t[e+6]=r[6],t[e+7]=r[7],t[e+8]=r[8],t}clone(){return new this.constructor().fromArray(this.elements)}},E3e=new ac;function D3e(i){return document.createElementNS("http://www.w3.org/1999/xhtml",i)}var rQi={};function R3e(i){i in rQi||(rQi[i]=!0,console.warn(i))}var nQi=new ac().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),sQi=new ac().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function rNn(){let i={enabled:!0,workingColorSpace:k3e,spaces:{},convert:function(n,s,a){return this.enabled===!1||s===a||!s||!a||(this.spaces[s].transfer===akt&&(n.r=xS(n.r),n.g=xS(n.g),n.b=xS(n.b)),this.spaces[s].primaries!==this.spaces[a].primaries&&(n.applyMatrix3(this.spaces[s].toXYZ),n.applyMatrix3(this.spaces[a].fromXYZ)),this.spaces[a].transfer===akt&&(n.r=KZ(n.r),n.g=KZ(n.g),n.b=KZ(n.b))),n},workingToColorSpace:function(n,s){return this.convert(n,this.workingColorSpace,s)},colorSpaceToWorking:function(n,s){return this.convert(n,s,this.workingColorSpace)},getPrimaries:function(n){return this.spaces[n].primaries},getTransfer:function(n){return n===t1e?M3e:this.spaces[n].transfer},getLuminanceCoefficients:function(n,s=this.workingColorSpace){return n.fromArray(this.spaces[s].luminanceCoefficients)},define:function(n){Object.assign(this.spaces,n)},_getMatrix:function(n,s,a){return n.copy(this.spaces[s].toXYZ).multiply(this.spaces[a].fromXYZ)},_getDrawingBufferColorSpace:function(n){return this.spaces[n].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(n=this.workingColorSpace){return this.spaces[n].workingColorSpaceConfig.unpackColorSpace},fromWorkingColorSpace:function(n,s){return R3e("THREE.ColorManagement: .fromWorkingColorSpace() has been renamed to .workingToColorSpace()."),i.workingToColorSpace(n,s)},toWorkingColorSpace:function(n,s){return R3e("THREE.ColorManagement: .toWorkingColorSpace() has been renamed to .colorSpaceToWorking()."),i.colorSpaceToWorking(n,s)}},t=[.64,.33,.3,.6,.15,.06],e=[.2126,.7152,.0722],r=[.3127,.329];return i.define({[k3e]:{primaries:t,whitePoint:r,transfer:M3e,toXYZ:nQi,fromXYZ:sQi,luminanceCoefficients:e,workingColorSpaceConfig:{unpackColorSpace:ZE},outputColorSpaceConfig:{drawingBufferColorSpace:ZE}},[ZE]:{primaries:t,whitePoint:r,transfer:akt,toXYZ:nQi,fromXYZ:sQi,luminanceCoefficients:e,outputColorSpaceConfig:{drawingBufferColorSpace:ZE}}}),i}var WE=rNn();function xS(i){return i<.04045?i*.0773993808:Math.pow(i*.9478672986+.0521327014,2.4)}function KZ(i){return i<.0031308?i*12.92:1.055*Math.pow(i,.41666)-.055}var zZ,N3e=class{static getDataURL(t,e="image/png"){if(/^data:/i.test(t.src)||typeof HTMLCanvasElement>"u")return t.src;let r;if(t instanceof HTMLCanvasElement)r=t;else{zZ===void 0&&(zZ=D3e("canvas")),zZ.width=t.width,zZ.height=t.height;let n=zZ.getContext("2d");t instanceof ImageData?n.putImageData(t,0,0):n.drawImage(t,0,0,t.width,t.height),r=zZ}return r.toDataURL(e)}static sRGBToLinear(t){if(typeof HTMLImageElement<"u"&&t instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&t instanceof ImageBitmap){let e=D3e("canvas");e.width=t.width,e.height=t.height;let r=e.getContext("2d");r.drawImage(t,0,0,t.width,t.height);let n=r.getImageData(0,0,t.width,t.height),s=n.data;for(let a=0;a<s.length;a++)s[a]=xS(s[a]/255)*255;return r.putImageData(n,0,0),e}else if(t.data){let e=t.data.slice(0);for(let r=0;r<e.length;r++)e instanceof Uint8Array||e instanceof Uint8ClampedArray?e[r]=Math.floor(xS(e[r]/255)*255):e[r]=xS(e[r]);return{data:e,width:t.width,height:t.height}}else return console.warn("THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied."),t}},nNn=0,L3e=class{constructor(t=null){this.isSource=!0,Object.defineProperty(this,"id",{value:nNn++}),this.uuid=e1e(),this.data=t,this.dataReady=!0,this.version=0}getSize(t){let e=this.data;return e instanceof HTMLVideoElement?t.set(e.videoWidth,e.videoHeight):e!==null?t.set(e.width,e.height,e.depth||0):t.set(0,0,0),t}set needsUpdate(t){t===!0&&this.version++}toJSON(t){let e=t===void 0||typeof t=="string";if(!e&&t.images[this.uuid]!==void 0)return t.images[this.uuid];let r={uuid:this.uuid,url:""},n=this.data;if(n!==null){let s;if(Array.isArray(n)){s=[];for(let a=0,o=n.length;a<o;a++)n[a].isDataTexture?s.push(B3e(n[a].image)):s.push(B3e(n[a]))}else s=B3e(n);r.url=s}return e||(t.images[this.uuid]=r),r}};function B3e(i){return typeof HTMLImageElement<"u"&&i instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&i instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&i instanceof ImageBitmap?N3e.getDataURL(i):i.data?{data:Array.from(i.data),width:i.width,height:i.height,type:i.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}var sNn=0,x3e=new ah,VZ=class i extends Vgt{constructor(t=i.DEFAULT_IMAGE,e=i.DEFAULT_MAPPING,r=Jgt,n=Jgt,s=pQi,a=dQi,o=fQi,A=_Qi,l=i.DEFAULT_ANISOTROPY,c=t1e){super(),this.isTexture=!0,Object.defineProperty(this,"id",{value:sNn++}),this.uuid=e1e(),this.name="",this.source=new L3e(t),this.mipmaps=[],this.mapping=e,this.channel=0,this.wrapS=r,this.wrapT=n,this.magFilter=s,this.minFilter=a,this.anisotropy=l,this.format=o,this.internalFormat=null,this.type=A,this.offset=new m8(0,0),this.repeat=new m8(1,1),this.center=new m8(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new ac,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.colorSpace=c,this.userData={},this.updateRanges=[],this.version=0,this.onUpdate=null,this.renderTarget=null,this.isRenderTargetTexture=!1,this.isArrayTexture=!!(t&&t.depth&&t.depth>1),this.pmremVersion=0}get width(){return this.source.getSize(x3e).x}get height(){return this.source.getSize(x3e).y}get depth(){return this.source.getSize(x3e).z}get image(){return this.source.data}set image(t=null){this.source.data=t}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}addUpdateRange(t,e){this.updateRanges.push({start:t,count:e})}clearUpdateRanges(){this.updateRanges.length=0}clone(){return new this.constructor().copy(this)}copy(t){return this.name=t.name,this.source=t.source,this.mipmaps=t.mipmaps.slice(0),this.mapping=t.mapping,this.channel=t.channel,this.wrapS=t.wrapS,this.wrapT=t.wrapT,this.magFilter=t.magFilter,this.minFilter=t.minFilter,this.anisotropy=t.anisotropy,this.format=t.format,this.internalFormat=t.internalFormat,this.type=t.type,this.offset.copy(t.offset),this.repeat.copy(t.repeat),this.center.copy(t.center),this.rotation=t.rotation,this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrix.copy(t.matrix),this.generateMipmaps=t.generateMipmaps,this.premultiplyAlpha=t.premultiplyAlpha,this.flipY=t.flipY,this.unpackAlignment=t.unpackAlignment,this.colorSpace=t.colorSpace,this.renderTarget=t.renderTarget,this.isRenderTargetTexture=t.isRenderTargetTexture,this.isArrayTexture=t.isArrayTexture,this.userData=JSON.parse(JSON.stringify(t.userData)),this.needsUpdate=!0,this}setValues(t){for(let e in t){let r=t[e];if(r===void 0){console.warn(`THREE.Texture.setValues(): parameter '${e}' has value of undefined.`);continue}let n=this[e];if(n===void 0){console.warn(`THREE.Texture.setValues(): property '${e}' does not exist.`);continue}n&&r&&n.isVector2&&r.isVector2||n&&r&&n.isVector3&&r.isVector3||n&&r&&n.isMatrix3&&r.isMatrix3?n.copy(r):this[e]=r}}toJSON(t){let e=t===void 0||typeof t=="string";if(!e&&t.textures[this.uuid]!==void 0)return t.textures[this.uuid];let r={metadata:{version:4.7,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(t).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(r.userData=this.userData),e||(t.textures[this.uuid]=r),r}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(t){if(this.mapping!==gQi)return t;if(t.applyMatrix3(this.matrix),t.x<0||t.x>1)switch(this.wrapS){case v3e:t.x=t.x-Math.floor(t.x);break;case Jgt:t.x=t.x<0?0:1;break;case w3e:Math.abs(Math.floor(t.x)%2)===1?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x);break}if(t.y<0||t.y>1)switch(this.wrapT){case v3e:t.y=t.y-Math.floor(t.y);break;case Jgt:t.y=t.y<0?0:1;break;case w3e:Math.abs(Math.floor(t.y)%2)===1?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y);break}return this.flipY&&(t.y=1-t.y),t}set needsUpdate(t){t===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(t){t===!0&&this.pmremVersion++}};VZ.DEFAULT_IMAGE=null;VZ.DEFAULT_MAPPING=gQi;VZ.DEFAULT_ANISOTROPY=1;var XE=class i{constructor(t,e,r,n,s,a,o,A,l,c,p,d,_,I,y,B){i.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],t!==void 0&&this.set(t,e,r,n,s,a,o,A,l,c,p,d,_,I,y,B)}set(t,e,r,n,s,a,o,A,l,c,p,d,_,I,y,B){let x=this.elements;return x[0]=t,x[4]=e,x[8]=r,x[12]=n,x[1]=s,x[5]=a,x[9]=o,x[13]=A,x[2]=l,x[6]=c,x[10]=p,x[14]=d,x[3]=_,x[7]=I,x[11]=y,x[15]=B,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new i().fromArray(this.elements)}copy(t){let e=this.elements,r=t.elements;return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],e[9]=r[9],e[10]=r[10],e[11]=r[11],e[12]=r[12],e[13]=r[13],e[14]=r[14],e[15]=r[15],this}copyPosition(t){let e=this.elements,r=t.elements;return e[12]=r[12],e[13]=r[13],e[14]=r[14],this}setFromMatrix3(t){let e=t.elements;return this.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1),this}extractBasis(t,e,r){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),r.setFromMatrixColumn(this,2),this}makeBasis(t,e,r){return this.set(t.x,e.x,r.x,0,t.y,e.y,r.y,0,t.z,e.z,r.z,0,0,0,0,1),this}extractRotation(t){let e=this.elements,r=t.elements,n=1/YZ.setFromMatrixColumn(t,0).length(),s=1/YZ.setFromMatrixColumn(t,1).length(),a=1/YZ.setFromMatrixColumn(t,2).length();return e[0]=r[0]*n,e[1]=r[1]*n,e[2]=r[2]*n,e[3]=0,e[4]=r[4]*s,e[5]=r[5]*s,e[6]=r[6]*s,e[7]=0,e[8]=r[8]*a,e[9]=r[9]*a,e[10]=r[10]*a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromEuler(t){let e=this.elements,r=t.x,n=t.y,s=t.z,a=Math.cos(r),o=Math.sin(r),A=Math.cos(n),l=Math.sin(n),c=Math.cos(s),p=Math.sin(s);if(t.order==="XYZ"){let d=a*c,_=a*p,I=o*c,y=o*p;e[0]=A*c,e[4]=-A*p,e[8]=l,e[1]=_+I*l,e[5]=d-y*l,e[9]=-o*A,e[2]=y-d*l,e[6]=I+_*l,e[10]=a*A}else if(t.order==="YXZ"){let d=A*c,_=A*p,I=l*c,y=l*p;e[0]=d+y*o,e[4]=I*o-_,e[8]=a*l,e[1]=a*p,e[5]=a*c,e[9]=-o,e[2]=_*o-I,e[6]=y+d*o,e[10]=a*A}else if(t.order==="ZXY"){let d=A*c,_=A*p,I=l*c,y=l*p;e[0]=d-y*o,e[4]=-a*p,e[8]=I+_*o,e[1]=_+I*o,e[5]=a*c,e[9]=y-d*o,e[2]=-a*l,e[6]=o,e[10]=a*A}else if(t.order==="ZYX"){let d=a*c,_=a*p,I=o*c,y=o*p;e[0]=A*c,e[4]=I*l-_,e[8]=d*l+y,e[1]=A*p,e[5]=y*l+d,e[9]=_*l-I,e[2]=-l,e[6]=o*A,e[10]=a*A}else if(t.order==="YZX"){let d=a*A,_=a*l,I=o*A,y=o*l;e[0]=A*c,e[4]=y-d*p,e[8]=I*p+_,e[1]=p,e[5]=a*c,e[9]=-o*c,e[2]=-l*c,e[6]=_*p+I,e[10]=d-y*p}else if(t.order==="XZY"){let d=a*A,_=a*l,I=o*A,y=o*l;e[0]=A*c,e[4]=-p,e[8]=l*c,e[1]=d*p+y,e[5]=a*c,e[9]=_*p-I,e[2]=I*p-_,e[6]=o*c,e[10]=y*p+d}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromQuaternion(t){return this.compose(aNn,t,oNn)}lookAt(t,e,r){let n=this.elements;return v2.subVectors(t,e),v2.lengthSq()===0&&(v2.z=1),v2.normalize(),_N.crossVectors(r,v2),_N.lengthSq()===0&&(Math.abs(r.z)===1?v2.x+=1e-4:v2.z+=1e-4,v2.normalize(),_N.crossVectors(r,v2)),_N.normalize(),ikt.crossVectors(v2,_N),n[0]=_N.x,n[4]=ikt.x,n[8]=v2.x,n[1]=_N.y,n[5]=ikt.y,n[9]=v2.y,n[2]=_N.z,n[6]=ikt.z,n[10]=v2.z,this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){let r=t.elements,n=e.elements,s=this.elements,a=r[0],o=r[4],A=r[8],l=r[12],c=r[1],p=r[5],d=r[9],_=r[13],I=r[2],y=r[6],B=r[10],x=r[14],w=r[3],D=r[7],T=r[11],j=r[15],z=n[0],W=n[4],N=n[8],F=n[12],U=n[1],J=n[5],Z=n[9],at=n[13],it=n[2],X=n[6],rt=n[10],ht=n[14],dt=n[3],Et=n[7],xt=n[11],Nt=n[15];return s[0]=a*z+o*U+A*it+l*dt,s[4]=a*W+o*J+A*X+l*Et,s[8]=a*N+o*Z+A*rt+l*xt,s[12]=a*F+o*at+A*ht+l*Nt,s[1]=c*z+p*U+d*it+_*dt,s[5]=c*W+p*J+d*X+_*Et,s[9]=c*N+p*Z+d*rt+_*xt,s[13]=c*F+p*at+d*ht+_*Nt,s[2]=I*z+y*U+B*it+x*dt,s[6]=I*W+y*J+B*X+x*Et,s[10]=I*N+y*Z+B*rt+x*xt,s[14]=I*F+y*at+B*ht+x*Nt,s[3]=w*z+D*U+T*it+j*dt,s[7]=w*W+D*J+T*X+j*Et,s[11]=w*N+D*Z+T*rt+j*xt,s[15]=w*F+D*at+T*ht+j*Nt,this}multiplyScalar(t){let e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this}determinant(){let t=this.elements,e=t[0],r=t[4],n=t[8],s=t[12],a=t[1],o=t[5],A=t[9],l=t[13],c=t[2],p=t[6],d=t[10],_=t[14],I=t[3],y=t[7],B=t[11],x=t[15];return I*(+s*A*p-n*l*p-s*o*d+r*l*d+n*o*_-r*A*_)+y*(+e*A*_-e*l*d+s*a*d-n*a*_+n*l*c-s*A*c)+B*(+e*l*p-e*o*_-s*a*p+r*a*_+s*o*c-r*l*c)+x*(-n*o*c-e*A*p+e*o*d+n*a*p-r*a*d+r*A*c)}transpose(){let t=this.elements,e;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this}setPosition(t,e,r){let n=this.elements;return t.isVector3?(n[12]=t.x,n[13]=t.y,n[14]=t.z):(n[12]=t,n[13]=e,n[14]=r),this}invert(){let t=this.elements,e=t[0],r=t[1],n=t[2],s=t[3],a=t[4],o=t[5],A=t[6],l=t[7],c=t[8],p=t[9],d=t[10],_=t[11],I=t[12],y=t[13],B=t[14],x=t[15],w=p*B*l-y*d*l+y*A*_-o*B*_-p*A*x+o*d*x,D=I*d*l-c*B*l-I*A*_+a*B*_+c*A*x-a*d*x,T=c*y*l-I*p*l+I*o*_-a*y*_-c*o*x+a*p*x,j=I*p*A-c*y*A-I*o*d+a*y*d+c*o*B-a*p*B,z=e*w+r*D+n*T+s*j;if(z===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);let W=1/z;return t[0]=w*W,t[1]=(y*d*s-p*B*s-y*n*_+r*B*_+p*n*x-r*d*x)*W,t[2]=(o*B*s-y*A*s+y*n*l-r*B*l-o*n*x+r*A*x)*W,t[3]=(p*A*s-o*d*s-p*n*l+r*d*l+o*n*_-r*A*_)*W,t[4]=D*W,t[5]=(c*B*s-I*d*s+I*n*_-e*B*_-c*n*x+e*d*x)*W,t[6]=(I*A*s-a*B*s-I*n*l+e*B*l+a*n*x-e*A*x)*W,t[7]=(a*d*s-c*A*s+c*n*l-e*d*l-a*n*_+e*A*_)*W,t[8]=T*W,t[9]=(I*p*s-c*y*s-I*r*_+e*y*_+c*r*x-e*p*x)*W,t[10]=(a*y*s-I*o*s+I*r*l-e*y*l-a*r*x+e*o*x)*W,t[11]=(c*o*s-a*p*s-c*r*l+e*p*l+a*r*_-e*o*_)*W,t[12]=j*W,t[13]=(c*y*n-I*p*n+I*r*d-e*y*d-c*r*B+e*p*B)*W,t[14]=(I*o*n-a*y*n-I*r*A+e*y*A+a*r*B-e*o*B)*W,t[15]=(a*p*n-c*o*n+c*r*A-e*p*A-a*r*d+e*o*d)*W,this}scale(t){let e=this.elements,r=t.x,n=t.y,s=t.z;return e[0]*=r,e[4]*=n,e[8]*=s,e[1]*=r,e[5]*=n,e[9]*=s,e[2]*=r,e[6]*=n,e[10]*=s,e[3]*=r,e[7]*=n,e[11]*=s,this}getMaxScaleOnAxis(){let t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],r=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],n=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,r,n))}makeTranslation(t,e,r){return t.isVector3?this.set(1,0,0,t.x,0,1,0,t.y,0,0,1,t.z,0,0,0,1):this.set(1,0,0,t,0,1,0,e,0,0,1,r,0,0,0,1),this}makeRotationX(t){let e=Math.cos(t),r=Math.sin(t);return this.set(1,0,0,0,0,e,-r,0,0,r,e,0,0,0,0,1),this}makeRotationY(t){let e=Math.cos(t),r=Math.sin(t);return this.set(e,0,r,0,0,1,0,0,-r,0,e,0,0,0,0,1),this}makeRotationZ(t){let e=Math.cos(t),r=Math.sin(t);return this.set(e,-r,0,0,r,e,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(t,e){let r=Math.cos(e),n=Math.sin(e),s=1-r,a=t.x,o=t.y,A=t.z,l=s*a,c=s*o;return this.set(l*a+r,l*o-n*A,l*A+n*o,0,l*o+n*A,c*o+r,c*A-n*a,0,l*A-n*o,c*A+n*a,s*A*A+r,0,0,0,0,1),this}makeScale(t,e,r){return this.set(t,0,0,0,0,e,0,0,0,0,r,0,0,0,0,1),this}makeShear(t,e,r,n,s,a){return this.set(1,r,s,0,t,1,a,0,e,n,1,0,0,0,0,1),this}compose(t,e,r){let n=this.elements,s=e._x,a=e._y,o=e._z,A=e._w,l=s+s,c=a+a,p=o+o,d=s*l,_=s*c,I=s*p,y=a*c,B=a*p,x=o*p,w=A*l,D=A*c,T=A*p,j=r.x,z=r.y,W=r.z;return n[0]=(1-(y+x))*j,n[1]=(_+T)*j,n[2]=(I-D)*j,n[3]=0,n[4]=(_-T)*z,n[5]=(1-(d+x))*z,n[6]=(B+w)*z,n[7]=0,n[8]=(I+D)*W,n[9]=(B-w)*W,n[10]=(1-(d+y))*W,n[11]=0,n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=1,this}decompose(t,e,r){let n=this.elements,s=YZ.set(n[0],n[1],n[2]).length(),a=YZ.set(n[4],n[5],n[6]).length(),o=YZ.set(n[8],n[9],n[10]).length();this.determinant()<0&&(s=-s),t.x=n[12],t.y=n[13],t.z=n[14],f8.copy(this);let l=1/s,c=1/a,p=1/o;return f8.elements[0]*=l,f8.elements[1]*=l,f8.elements[2]*=l,f8.elements[4]*=c,f8.elements[5]*=c,f8.elements[6]*=c,f8.elements[8]*=p,f8.elements[9]*=p,f8.elements[10]*=p,e.setFromRotationMatrix(f8),r.x=s,r.y=a,r.z=o,this}makePerspective(t,e,r,n,s,a,o=Kgt){let A=this.elements,l=2*s/(e-t),c=2*s/(r-n),p=(e+t)/(e-t),d=(r+n)/(r-n),_,I;if(o===Kgt)_=-(a+s)/(a-s),I=-2*a*s/(a-s);else if(o===eQi)_=-a/(a-s),I=-a*s/(a-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+o);return A[0]=l,A[4]=0,A[8]=p,A[12]=0,A[1]=0,A[5]=c,A[9]=d,A[13]=0,A[2]=0,A[6]=0,A[10]=_,A[14]=I,A[3]=0,A[7]=0,A[11]=-1,A[15]=0,this}makeOrthographic(t,e,r,n,s,a,o=Kgt){let A=this.elements,l=1/(e-t),c=1/(r-n),p=1/(a-s),d=(e+t)*l,_=(r+n)*c,I,y;if(o===Kgt)I=(a+s)*p,y=-2*p;else if(o===eQi)I=s*p,y=-1*p;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+o);return A[0]=2*l,A[4]=0,A[8]=0,A[12]=-d,A[1]=0,A[5]=2*c,A[9]=0,A[13]=-_,A[2]=0,A[6]=0,A[10]=y,A[14]=-I,A[3]=0,A[7]=0,A[11]=0,A[15]=1,this}equals(t){let e=this.elements,r=t.elements;for(let n=0;n<16;n++)if(e[n]!==r[n])return!1;return!0}fromArray(t,e=0){for(let r=0;r<16;r++)this.elements[r]=t[r+e];return this}toArray(t=[],e=0){let r=this.elements;return t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=r[3],t[e+4]=r[4],t[e+5]=r[5],t[e+6]=r[6],t[e+7]=r[7],t[e+8]=r[8],t[e+9]=r[9],t[e+10]=r[10],t[e+11]=r[11],t[e+12]=r[12],t[e+13]=r[13],t[e+14]=r[14],t[e+15]=r[15],t}},YZ=new ah,f8=new XE,aNn=new ah(0,0,0),oNn=new ah(1,1,1),_N=new ah,ikt=new ah,v2=new ah,aQi=new XE,oQi=new mN,Wgt=class i{constructor(t=0,e=0,r=0,n=i.DEFAULT_ORDER){this.isEuler=!0,this._x=t,this._y=e,this._z=r,this._order=n}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get order(){return this._order}set order(t){this._order=t,this._onChangeCallback()}set(t,e,r,n=this._order){return this._x=t,this._y=e,this._z=r,this._order=n,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this._onChangeCallback(),this}setFromRotationMatrix(t,e=this._order,r=!0){let n=t.elements,s=n[0],a=n[4],o=n[8],A=n[1],l=n[5],c=n[9],p=n[2],d=n[6],_=n[10];switch(e){case"XYZ":this._y=Math.asin(Mg(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-c,_),this._z=Math.atan2(-a,s)):(this._x=Math.atan2(d,l),this._z=0);break;case"YXZ":this._x=Math.asin(-Mg(c,-1,1)),Math.abs(c)<.9999999?(this._y=Math.atan2(o,_),this._z=Math.atan2(A,l)):(this._y=Math.atan2(-p,s),this._z=0);break;case"ZXY":this._x=Math.asin(Mg(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(-p,_),this._z=Math.atan2(-a,l)):(this._y=0,this._z=Math.atan2(A,s));break;case"ZYX":this._y=Math.asin(-Mg(p,-1,1)),Math.abs(p)<.9999999?(this._x=Math.atan2(d,_),this._z=Math.atan2(A,s)):(this._x=0,this._z=Math.atan2(-a,l));break;case"YZX":this._z=Math.asin(Mg(A,-1,1)),Math.abs(A)<.9999999?(this._x=Math.atan2(-c,l),this._y=Math.atan2(-p,s)):(this._x=0,this._y=Math.atan2(o,_));break;case"XZY":this._z=Math.asin(-Mg(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(d,l),this._y=Math.atan2(o,s)):(this._x=Math.atan2(-c,_),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+e)}return this._order=e,r===!0&&this._onChangeCallback(),this}setFromQuaternion(t,e,r){return aQi.makeRotationFromQuaternion(t),this.setFromRotationMatrix(aQi,e,r)}setFromVector3(t,e=this._order){return this.set(t.x,t.y,t.z,e)}reorder(t){return oQi.setFromEuler(this),this.setFromQuaternion(oQi,t)}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order}fromArray(t){return this._x=t[0],this._y=t[1],this._z=t[2],t[3]!==void 0&&(this._order=t[3]),this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}};Wgt.DEFAULT_ORDER="XYZ";var Akt=class{constructor(){this.mask=1}set(t){this.mask=(1<<t|0)>>>0}enable(t){this.mask|=1<<t|0}enableAll(){this.mask=-1}toggle(t){this.mask^=1<<t|0}disable(t){this.mask&=~(1<<t|0)}disableAll(){this.mask=0}test(t){return(this.mask&t.mask)!==0}isEnabled(t){return(this.mask&(1<<t|0))!==0}},ANn=0,AQi=new ah,qZ=new mN,BS=new XE,rkt=new ah,qgt=new ah,lNn=new ah,cNn=new mN,lQi=new ah(1,0,0),cQi=new ah(0,1,0),hQi=new ah(0,0,1),uQi={type:"added"},hNn={type:"removed"},JZ={type:"childadded",child:null},Q3e={type:"childremoved",child:null},Zgt=class i extends Vgt{constructor(){super(),this.isObject3D=!0,Object.defineProperty(this,"id",{value:ANn++}),this.uuid=e1e(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=i.DEFAULT_UP.clone();let t=new ah,e=new Wgt,r=new mN,n=new ah(1,1,1);function s(){r.setFromEuler(e,!1)}function a(){e.setFromQuaternion(r,void 0,!1)}e._onChange(s),r._onChange(a),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:t},rotation:{configurable:!0,enumerable:!0,value:e},quaternion:{configurable:!0,enumerable:!0,value:r},scale:{configurable:!0,enumerable:!0,value:n},modelViewMatrix:{value:new XE},normalMatrix:{value:new ac}}),this.matrix=new XE,this.matrixWorld=new XE,this.matrixAutoUpdate=i.DEFAULT_MATRIX_AUTO_UPDATE,this.matrixWorldAutoUpdate=i.DEFAULT_MATRIX_WORLD_AUTO_UPDATE,this.matrixWorldNeedsUpdate=!1,this.layers=new Akt,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.customDepthMaterial=void 0,this.customDistanceMaterial=void 0,this.userData={}}onBeforeShadow(){}onAfterShadow(){}onBeforeRender(){}onAfterRender(){}applyMatrix4(t){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(t),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(t){return this.quaternion.premultiply(t),this}setRotationFromAxisAngle(t,e){this.quaternion.setFromAxisAngle(t,e)}setRotationFromEuler(t){this.quaternion.setFromEuler(t,!0)}setRotationFromMatrix(t){this.quaternion.setFromRotationMatrix(t)}setRotationFromQuaternion(t){this.quaternion.copy(t)}rotateOnAxis(t,e){return qZ.setFromAxisAngle(t,e),this.quaternion.multiply(qZ),this}rotateOnWorldAxis(t,e){return qZ.setFromAxisAngle(t,e),this.quaternion.premultiply(qZ),this}rotateX(t){return this.rotateOnAxis(lQi,t)}rotateY(t){return this.rotateOnAxis(cQi,t)}rotateZ(t){return this.rotateOnAxis(hQi,t)}translateOnAxis(t,e){return AQi.copy(t).applyQuaternion(this.quaternion),this.position.add(AQi.multiplyScalar(e)),this}translateX(t){return this.translateOnAxis(lQi,t)}translateY(t){return this.translateOnAxis(cQi,t)}translateZ(t){return this.translateOnAxis(hQi,t)}localToWorld(t){return this.updateWorldMatrix(!0,!1),t.applyMatrix4(this.matrixWorld)}worldToLocal(t){return this.updateWorldMatrix(!0,!1),t.applyMatrix4(BS.copy(this.matrixWorld).invert())}lookAt(t,e,r){t.isVector3?rkt.copy(t):rkt.set(t,e,r);let n=this.parent;this.updateWorldMatrix(!0,!1),qgt.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?BS.lookAt(qgt,rkt,this.up):BS.lookAt(rkt,qgt,this.up),this.quaternion.setFromRotationMatrix(BS),n&&(BS.extractRotation(n.matrixWorld),qZ.setFromRotationMatrix(BS),this.quaternion.premultiply(qZ.invert()))}add(t){if(arguments.length>1){for(let e=0;e<arguments.length;e++)this.add(arguments[e]);return this}return t===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",t),this):(t&&t.isObject3D?(t.removeFromParent(),t.parent=this,this.children.push(t),t.dispatchEvent(uQi),JZ.child=t,this.dispatchEvent(JZ),JZ.child=null):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",t),this)}remove(t){if(arguments.length>1){for(let r=0;r<arguments.length;r++)this.remove(arguments[r]);return this}let e=this.children.indexOf(t);return e!==-1&&(t.parent=null,this.children.splice(e,1),t.dispatchEvent(hNn),Q3e.child=t,this.dispatchEvent(Q3e),Q3e.child=null),this}removeFromParent(){let t=this.parent;return t!==null&&t.remove(this),this}clear(){return this.remove(...this.children)}attach(t){return this.updateWorldMatrix(!0,!1),BS.copy(this.matrixWorld).invert(),t.parent!==null&&(t.parent.updateWorldMatrix(!0,!1),BS.multiply(t.parent.matrixWorld)),t.applyMatrix4(BS),t.removeFromParent(),t.parent=this,this.children.push(t),t.updateWorldMatrix(!1,!0),t.dispatchEvent(uQi),JZ.child=t,this.dispatchEvent(JZ),JZ.child=null,this}getObjectById(t){return this.getObjectByProperty("id",t)}getObjectByName(t){return this.getObjectByProperty("name",t)}getObjectByProperty(t,e){if(this[t]===e)return this;for(let r=0,n=this.children.length;r<n;r++){let a=this.children[r].getObjectByProperty(t,e);if(a!==void 0)return a}}getObjectsByProperty(t,e,r=[]){this[t]===e&&r.push(this);let n=this.children;for(let s=0,a=n.length;s<a;s++)n[s].getObjectsByProperty(t,e,r);return r}getWorldPosition(t){return this.updateWorldMatrix(!0,!1),t.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(t){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(qgt,t,lNn),t}getWorldScale(t){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(qgt,cNn,t),t}getWorldDirection(t){this.updateWorldMatrix(!0,!1);let e=this.matrixWorld.elements;return t.set(e[8],e[9],e[10]).normalize()}raycast(){}traverse(t){t(this);let e=this.children;for(let r=0,n=e.length;r<n;r++)e[r].traverse(t)}traverseVisible(t){if(this.visible===!1)return;t(this);let e=this.children;for(let r=0,n=e.length;r<n;r++)e[r].traverseVisible(t)}traverseAncestors(t){let e=this.parent;e!==null&&(t(e),e.traverseAncestors(t))}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0}updateMatrixWorld(t){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||t)&&(this.matrixWorldAutoUpdate===!0&&(this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix)),this.matrixWorldNeedsUpdate=!1,t=!0);let e=this.children;for(let r=0,n=e.length;r<n;r++)e[r].updateMatrixWorld(t)}updateWorldMatrix(t,e){let r=this.parent;if(t===!0&&r!==null&&r.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),this.matrixWorldAutoUpdate===!0&&(this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix)),e===!0){let n=this.children;for(let s=0,a=n.length;s<a;s++)n[s].updateWorldMatrix(!1,!0)}}toJSON(t){let e=t===void 0||typeof t=="string",r={};e&&(t={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{},nodes:{}},r.metadata={version:4.7,type:"Object",generator:"Object3D.toJSON"});let n={};n.uuid=this.uuid,n.type=this.type,this.name!==""&&(n.name=this.name),this.castShadow===!0&&(n.castShadow=!0),this.receiveShadow===!0&&(n.receiveShadow=!0),this.visible===!1&&(n.visible=!1),this.frustumCulled===!1&&(n.frustumCulled=!1),this.renderOrder!==0&&(n.renderOrder=this.renderOrder),Object.keys(this.userData).length>0&&(n.userData=this.userData),n.layers=this.layers.mask,n.matrix=this.matrix.toArray(),n.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(n.matrixAutoUpdate=!1),this.isInstancedMesh&&(n.type="InstancedMesh",n.count=this.count,n.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(n.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(n.type="BatchedMesh",n.perObjectFrustumCulled=this.perObjectFrustumCulled,n.sortObjects=this.sortObjects,n.drawRanges=this._drawRanges,n.reservedRanges=this._reservedRanges,n.geometryInfo=this._geometryInfo.map(o=>({...o,boundingBox:o.boundingBox?o.boundingBox.toJSON():void 0,boundingSphere:o.boundingSphere?o.boundingSphere.toJSON():void 0})),n.instanceInfo=this._instanceInfo.map(o=>({...o})),n.availableInstanceIds=this._availableInstanceIds.slice(),n.availableGeometryIds=this._availableGeometryIds.slice(),n.nextIndexStart=this._nextIndexStart,n.nextVertexStart=this._nextVertexStart,n.geometryCount=this._geometryCount,n.maxInstanceCount=this._maxInstanceCount,n.maxVertexCount=this._maxVertexCount,n.maxIndexCount=this._maxIndexCount,n.geometryInitialized=this._geometryInitialized,n.matricesTexture=this._matricesTexture.toJSON(t),n.indirectTexture=this._indirectTexture.toJSON(t),this._colorsTexture!==null&&(n.colorsTexture=this._colorsTexture.toJSON(t)),this.boundingSphere!==null&&(n.boundingSphere=this.boundingSphere.toJSON()),this.boundingBox!==null&&(n.boundingBox=this.boundingBox.toJSON()));function s(o,A){return o[A.uuid]===void 0&&(o[A.uuid]=A.toJSON(t)),A.uuid}if(this.isScene)this.background&&(this.background.isColor?n.background=this.background.toJSON():this.background.isTexture&&(n.background=this.background.toJSON(t).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(n.environment=this.environment.toJSON(t).uuid);else if(this.isMesh||this.isLine||this.isPoints){n.geometry=s(t.geometries,this.geometry);let o=this.geometry.parameters;if(o!==void 0&&o.shapes!==void 0){let A=o.shapes;if(Array.isArray(A))for(let l=0,c=A.length;l<c;l++){let p=A[l];s(t.shapes,p)}else s(t.shapes,A)}}if(this.isSkinnedMesh&&(n.bindMode=this.bindMode,n.bindMatrix=this.bindMatrix.toArray(),this.skeleton!==void 0&&(s(t.skeletons,this.skeleton),n.skeleton=this.skeleton.uuid)),this.material!==void 0)if(Array.isArray(this.material)){let o=[];for(let A=0,l=this.material.length;A<l;A++)o.push(s(t.materials,this.material[A]));n.material=o}else n.material=s(t.materials,this.material);if(this.children.length>0){n.children=[];for(let o=0;o<this.children.length;o++)n.children.push(this.children[o].toJSON(t).object)}if(this.animations.length>0){n.animations=[];for(let o=0;o<this.animations.length;o++){let A=this.animations[o];n.animations.push(s(t.animations,A))}}if(e){let o=a(t.geometries),A=a(t.materials),l=a(t.textures),c=a(t.images),p=a(t.shapes),d=a(t.skeletons),_=a(t.animations),I=a(t.nodes);o.length>0&&(r.geometries=o),A.length>0&&(r.materials=A),l.length>0&&(r.textures=l),c.length>0&&(r.images=c),p.length>0&&(r.shapes=p),d.length>0&&(r.skeletons=d),_.length>0&&(r.animations=_),I.length>0&&(r.nodes=I)}return r.object=n,r;function a(o){let A=[];for(let l in o){let c=o[l];delete c.metadata,A.push(c)}return A}}clone(t){return new this.constructor().copy(this,t)}copy(t,e=!0){if(this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.rotation.order=t.rotation.order,this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldAutoUpdate=t.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.animations=t.animations.slice(),this.userData=JSON.parse(JSON.stringify(t.userData)),e===!0)for(let r=0;r<t.children.length;r++){let n=t.children[r];this.add(n.clone())}return this}};Zgt.DEFAULT_UP=new ah(0,1,0);Zgt.DEFAULT_MATRIX_AUTO_UPDATE=!0;Zgt.DEFAULT_MATRIX_WORLD_AUTO_UPDATE=!0;var mQi={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},fN={h:0,s:0,l:0},nkt={h:0,s:0,l:0};function b3e(i,t,e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?i+(t-i)*6*e:e<1/2?t:e<2/3?i+(t-i)*6*(2/3-e):i}var t_=class{constructor(t,e,r){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(t,e,r)}set(t,e,r){if(e===void 0&&r===void 0){let n=t;n&&n.isColor?this.copy(n):typeof n=="number"?this.setHex(n):typeof n=="string"&&this.setStyle(n)}else this.setRGB(t,e,r);return this}setScalar(t){return this.r=t,this.g=t,this.b=t,this}setHex(t,e=ZE){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(t&255)/255,WE.colorSpaceToWorking(this,e),this}setRGB(t,e,r,n=WE.workingColorSpace){return this.r=t,this.g=e,this.b=r,WE.colorSpaceToWorking(this,n),this}setHSL(t,e,r,n=WE.workingColorSpace){if(t=iNn(t,1),e=Mg(e,0,1),r=Mg(r,0,1),e===0)this.r=this.g=this.b=r;else{let s=r<=.5?r*(1+e):r+e-r*e,a=2*r-s;this.r=b3e(a,s,t+1/3),this.g=b3e(a,s,t),this.b=b3e(a,s,t-1/3)}return WE.colorSpaceToWorking(this,n),this}setStyle(t,e=ZE){function r(s){s!==void 0&&parseFloat(s)<1&&console.warn("THREE.Color: Alpha component of "+t+" will be ignored.")}let n;if(n=/^(\w+)\(([^\)]*)\)/.exec(t)){let s,a=n[1],o=n[2];switch(a){case"rgb":case"rgba":if(s=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return r(s[4]),this.setRGB(Math.min(255,parseInt(s[1],10))/255,Math.min(255,parseInt(s[2],10))/255,Math.min(255,parseInt(s[3],10))/255,e);if(s=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return r(s[4]),this.setRGB(Math.min(100,parseInt(s[1],10))/100,Math.min(100,parseInt(s[2],10))/100,Math.min(100,parseInt(s[3],10))/100,e);break;case"hsl":case"hsla":if(s=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return r(s[4]),this.setHSL(parseFloat(s[1])/360,parseFloat(s[2])/100,parseFloat(s[3])/100,e);break;default:console.warn("THREE.Color: Unknown color model "+t)}}else if(n=/^\#([A-Fa-f\d]+)$/.exec(t)){let s=n[1],a=s.length;if(a===3)return this.setRGB(parseInt(s.charAt(0),16)/15,parseInt(s.charAt(1),16)/15,parseInt(s.charAt(2),16)/15,e);if(a===6)return this.setHex(parseInt(s,16),e);console.warn("THREE.Color: Invalid hex color "+t)}else if(t&&t.length>0)return this.setColorName(t,e);return this}setColorName(t,e=ZE){let r=mQi[t.toLowerCase()];return r!==void 0?this.setHex(r,e):console.warn("THREE.Color: Unknown color "+t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copySRGBToLinear(t){return this.r=xS(t.r),this.g=xS(t.g),this.b=xS(t.b),this}copyLinearToSRGB(t){return this.r=KZ(t.r),this.g=KZ(t.g),this.b=KZ(t.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(t=ZE){return WE.workingToColorSpace(z6.copy(this),t),Math.round(Mg(z6.r*255,0,255))*65536+Math.round(Mg(z6.g*255,0,255))*256+Math.round(Mg(z6.b*255,0,255))}getHexString(t=ZE){return("000000"+this.getHex(t).toString(16)).slice(-6)}getHSL(t,e=WE.workingColorSpace){WE.workingToColorSpace(z6.copy(this),e);let r=z6.r,n=z6.g,s=z6.b,a=Math.max(r,n,s),o=Math.min(r,n,s),A,l,c=(o+a)/2;if(o===a)A=0,l=0;else{let p=a-o;switch(l=c<=.5?p/(a+o):p/(2-a-o),a){case r:A=(n-s)/p+(n<s?6:0);break;case n:A=(s-r)/p+2;break;case s:A=(r-n)/p+4;break}A/=6}return t.h=A,t.s=l,t.l=c,t}getRGB(t,e=WE.workingColorSpace){return WE.workingToColorSpace(z6.copy(this),e),t.r=z6.r,t.g=z6.g,t.b=z6.b,t}getStyle(t=ZE){WE.workingToColorSpace(z6.copy(this),t);let e=z6.r,r=z6.g,n=z6.b;return t!==ZE?`color(${t} ${e.toFixed(3)} ${r.toFixed(3)} ${n.toFixed(3)})`:`rgb(${Math.round(e*255)},${Math.round(r*255)},${Math.round(n*255)})`}offsetHSL(t,e,r){return this.getHSL(fN),this.setHSL(fN.h+t,fN.s+e,fN.l+r)}add(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this}addColors(t,e){return this.r=t.r+e.r,this.g=t.g+e.g,this.b=t.b+e.b,this}addScalar(t){return this.r+=t,this.g+=t,this.b+=t,this}sub(t){return this.r=Math.max(0,this.r-t.r),this.g=Math.max(0,this.g-t.g),this.b=Math.max(0,this.b-t.b),this}multiply(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this}multiplyScalar(t){return this.r*=t,this.g*=t,this.b*=t,this}lerp(t,e){return this.r+=(t.r-this.r)*e,this.g+=(t.g-this.g)*e,this.b+=(t.b-this.b)*e,this}lerpColors(t,e,r){return this.r=t.r+(e.r-t.r)*r,this.g=t.g+(e.g-t.g)*r,this.b=t.b+(e.b-t.b)*r,this}lerpHSL(t,e){this.getHSL(fN),t.getHSL(nkt);let r=y3e(fN.h,nkt.h,e),n=y3e(fN.s,nkt.s,e),s=y3e(fN.l,nkt.l,e);return this.setHSL(r,n,s),this}setFromVector3(t){return this.r=t.x,this.g=t.y,this.b=t.z,this}applyMatrix3(t){let e=this.r,r=this.g,n=this.b,s=t.elements;return this.r=s[0]*e+s[3]*r+s[6]*n,this.g=s[1]*e+s[4]*r+s[7]*n,this.b=s[2]*e+s[5]*r+s[8]*n,this}equals(t){return t.r===this.r&&t.g===this.g&&t.b===this.b}fromArray(t,e=0){return this.r=t[e],this.g=t[e+1],this.b=t[e+2],this}toArray(t=[],e=0){return t[e]=this.r,t[e+1]=this.g,t[e+2]=this.b,t}fromBufferAttribute(t,e){return this.r=t.getX(e),this.g=t.getY(e),this.b=t.getZ(e),this}toJSON(){return this.getHex()}*[Symbol.iterator](){yield this.r,yield this.g,yield this.b}},z6=new t_;t_.NAMES=mQi;function IQi(i){let t={};for(let e in i){t[e]={};for(let r in i[e]){let n=i[e][r];n&&(n.isColor||n.isMatrix3||n.isMatrix4||n.isVector2||n.isVector3||n.isVector4||n.isTexture||n.isQuaternion)?n.isRenderTargetTexture?(console.warn("UniformsUtils: Textures of render targets cannot be cloned via cloneUniforms() or mergeUniforms()."),t[e][r]=null):t[e][r]=n.clone():Array.isArray(n)?t[e][r]=n.slice():t[e][r]=n}}return t}function Em(i){let t={};for(let e=0;e<i.length;e++){let r=IQi(i[e]);for(let n in r)t[n]=r[n]}return t}function skt(i,t){return!i||i.constructor===t?i:typeof t.BYTES_PER_ELEMENT=="number"?new t(i):Array.prototype.slice.call(i)}function uNn(i){return ArrayBuffer.isView(i)&&!(i instanceof DataView)}var WZ=class{constructor(t,e,r,n){this.parameterPositions=t,this._cachedIndex=0,this.resultBuffer=n!==void 0?n:new e.constructor(r),this.sampleValues=e,this.valueSize=r,this.settings=null,this.DefaultSettings_={}}evaluate(t){let e=this.parameterPositions,r=this._cachedIndex,n=e[r],s=e[r-1];t:{e:{let a;i:{r:if(!(t<n)){for(let o=r+2;;){if(n===void 0){if(t<s)break r;return r=e.length,this._cachedIndex=r,this.copySampleValue_(r-1)}if(r===o)break;if(s=n,n=e[++r],t<n)break e}a=e.length;break i}if(!(t>=s)){let o=e[1];t<o&&(r=2,s=o);for(let A=r-2;;){if(s===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(r===A)break;if(n=s,s=e[--r-1],t>=s)break e}a=r,r=0;break i}break t}for(;r<a;){let o=r+a>>>1;t<e[o]?a=o:r=o+1}if(n=e[r],s=e[r-1],s===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(n===void 0)return r=e.length,this._cachedIndex=r,this.copySampleValue_(r-1)}this._cachedIndex=r,this.intervalChanged_(r,s,n)}return this.interpolate_(r,s,t,n)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(t){let e=this.resultBuffer,r=this.sampleValues,n=this.valueSize,s=t*n;for(let a=0;a!==n;++a)e[a]=r[s+a];return e}interpolate_(){throw new Error("call to abstract method")}intervalChanged_(){}},G3e=class extends WZ{constructor(t,e,r,n){super(t,e,r,n),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:X7i,endingEnd:X7i}}intervalChanged_(t,e,r){let n=this.parameterPositions,s=t-2,a=t+1,o=n[s],A=n[a];if(o===void 0)switch(this.getSettings_().endingStart){case $7i:s=t,o=2*e-r;break;case tQi:s=n.length-2,o=e+n[s]-n[s+1];break;default:s=t,o=r}if(A===void 0)switch(this.getSettings_().endingEnd){case $7i:a=t,A=2*r-e;break;case tQi:a=1,A=r+n[1]-n[0];break;default:a=t-1,A=e}let l=(r-e)*.5,c=this.valueSize;this._weightPrev=l/(e-o),this._weightNext=l/(A-r),this._offsetPrev=s*c,this._offsetNext=a*c}interpolate_(t,e,r,n){let s=this.resultBuffer,a=this.sampleValues,o=this.valueSize,A=t*o,l=A-o,c=this._offsetPrev,p=this._offsetNext,d=this._weightPrev,_=this._weightNext,I=(r-e)/(n-e),y=I*I,B=y*I,x=-d*B+2*d*y-d*I,w=(1+d)*B+(-1.5-2*d)*y+(-.5+d)*I+1,D=(-1-_)*B+(1.5+_)*y+.5*I,T=_*B-_*y;for(let j=0;j!==o;++j)s[j]=x*a[c+j]+w*a[l+j]+D*a[A+j]+T*a[p+j];return s}},F3e=class extends WZ{constructor(t,e,r,n){super(t,e,r,n)}interpolate_(t,e,r,n){let s=this.resultBuffer,a=this.sampleValues,o=this.valueSize,A=t*o,l=A-o,c=(r-e)/(n-e),p=1-c;for(let d=0;d!==o;++d)s[d]=a[l+d]*p+a[A+d]*c;return s}},T3e=class extends WZ{constructor(t,e,r,n){super(t,e,r,n)}interpolate_(t){return this.copySampleValue_(t-1)}},$E=class{constructor(t,e,r,n){if(t===void 0)throw new Error("THREE.KeyframeTrack: track name is undefined");if(e===void 0||e.length===0)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+t);this.name=t,this.times=skt(e,this.TimeBufferType),this.values=skt(r,this.ValueBufferType),this.setInterpolation(n||this.DefaultInterpolation)}static toJSON(t){let e=t.constructor,r;if(e.toJSON!==this.toJSON)r=e.toJSON(t);else{r={name:t.name,times:skt(t.times,Array),values:skt(t.values,Array)};let n=t.getInterpolation();n!==t.DefaultInterpolation&&(r.interpolation=n)}return r.type=t.ValueTypeName,r}InterpolantFactoryMethodDiscrete(t){return new T3e(this.times,this.values,this.getValueSize(),t)}InterpolantFactoryMethodLinear(t){return new F3e(this.times,this.values,this.getValueSize(),t)}InterpolantFactoryMethodSmooth(t){return new G3e(this.times,this.values,this.getValueSize(),t)}setInterpolation(t){let e;switch(t){case okt:e=this.InterpolantFactoryMethodDiscrete;break;case S3e:e=this.InterpolantFactoryMethodLinear;break;case I3e:e=this.InterpolantFactoryMethodSmooth;break}if(e===void 0){let r="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(this.createInterpolant===void 0)if(t!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation);else throw new Error(r);return console.warn("THREE.KeyframeTrack:",r),this}return this.createInterpolant=e,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return okt;case this.InterpolantFactoryMethodLinear:return S3e;case this.InterpolantFactoryMethodSmooth:return I3e}}getValueSize(){return this.values.length/this.times.length}shift(t){if(t!==0){let e=this.times;for(let r=0,n=e.length;r!==n;++r)e[r]+=t}return this}scale(t){if(t!==1){let e=this.times;for(let r=0,n=e.length;r!==n;++r)e[r]*=t}return this}trim(t,e){let r=this.times,n=r.length,s=0,a=n-1;for(;s!==n&&r[s]<t;)++s;for(;a!==-1&&r[a]>e;)--a;if(++a,s!==0||a!==n){s>=a&&(a=Math.max(a,1),s=a-1);let o=this.getValueSize();this.times=r.slice(s,a),this.values=this.values.slice(s*o,a*o)}return this}validate(){let t=!0,e=this.getValueSize();e-Math.floor(e)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),t=!1);let r=this.times,n=this.values,s=r.length;s===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),t=!1);let a=null;for(let o=0;o!==s;o++){let A=r[o];if(typeof A=="number"&&isNaN(A)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,o,A),t=!1;break}if(a!==null&&a>A){console.error("THREE.KeyframeTrack: Out of order keys.",this,o,A,a),t=!1;break}a=A}if(n!==void 0&&uNn(n))for(let o=0,A=n.length;o!==A;++o){let l=n[o];if(isNaN(l)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,o,l),t=!1;break}}return t}optimize(){let t=this.times.slice(),e=this.values.slice(),r=this.getValueSize(),n=this.getInterpolation()===I3e,s=t.length-1,a=1;for(let o=1;o<s;++o){let A=!1,l=t[o],c=t[o+1];if(l!==c&&(o!==1||l!==t[0]))if(n)A=!0;else{let p=o*r,d=p-r,_=p+r;for(let I=0;I!==r;++I){let y=e[p+I];if(y!==e[d+I]||y!==e[_+I]){A=!0;break}}}if(A){if(o!==a){t[a]=t[o];let p=o*r,d=a*r;for(let _=0;_!==r;++_)e[d+_]=e[p+_]}++a}}if(s>0){t[a]=t[s];for(let o=s*r,A=a*r,l=0;l!==r;++l)e[A+l]=e[o+l];++a}return a!==t.length?(this.times=t.slice(0,a),this.values=e.slice(0,a*r)):(this.times=t,this.values=e),this}clone(){let t=this.times.slice(),e=this.values.slice(),r=this.constructor,n=new r(this.name,t,e);return n.createInterpolant=this.createInterpolant,n}};$E.prototype.ValueTypeName="";$E.prototype.TimeBufferType=Float32Array;$E.prototype.ValueBufferType=Float32Array;$E.prototype.DefaultInterpolation=S3e;var LP=class extends $E{constructor(t,e,r){super(t,e,r)}};LP.prototype.ValueTypeName="bool";LP.prototype.ValueBufferType=Array;LP.prototype.DefaultInterpolation=okt;LP.prototype.InterpolantFactoryMethodLinear=void 0;LP.prototype.InterpolantFactoryMethodSmooth=void 0;var U3e=class extends $E{constructor(t,e,r,n){super(t,e,r,n)}};U3e.prototype.ValueTypeName="color";var P3e=class extends $E{constructor(t,e,r,n){super(t,e,r,n)}};P3e.prototype.ValueTypeName="number";var O3e=class extends WZ{constructor(t,e,r,n){super(t,e,r,n)}interpolate_(t,e,r,n){let s=this.resultBuffer,a=this.sampleValues,o=this.valueSize,A=(r-e)/(n-e),l=t*o;for(let c=l+o;l!==c;l+=4)mN.slerpFlat(s,0,a,l-o,a,l,A);return s}},lkt=class extends $E{constructor(t,e,r,n){super(t,e,r,n)}InterpolantFactoryMethodLinear(t){return new O3e(this.times,this.values,this.getValueSize(),t)}};lkt.prototype.ValueTypeName="quaternion";lkt.prototype.InterpolantFactoryMethodSmooth=void 0;var GP=class extends $E{constructor(t,e,r){super(t,e,r)}};GP.prototype.ValueTypeName="string";GP.prototype.ValueBufferType=Array;GP.prototype.DefaultInterpolation=okt;GP.prototype.InterpolantFactoryMethodLinear=void 0;GP.prototype.InterpolantFactoryMethodSmooth=void 0;var j3e=class extends $E{constructor(t,e,r,n){super(t,e,r,n)}};j3e.prototype.ValueTypeName="vector";var H3e=class{constructor(t,e,r){let n=this,s=!1,a=0,o=0,A,l=[];this.onStart=void 0,this.onLoad=t,this.onProgress=e,this.onError=r,this.itemStart=function(c){o++,s===!1&&n.onStart!==void 0&&n.onStart(c,a,o),s=!0},this.itemEnd=function(c){a++,n.onProgress!==void 0&&n.onProgress(c,a,o),a===o&&(s=!1,n.onLoad!==void 0&&n.onLoad())},this.itemError=function(c){n.onError!==void 0&&n.onError(c)},this.resolveURL=function(c){return A?A(c):c},this.setURLModifier=function(c){return A=c,this},this.addHandler=function(c,p){return l.push(c,p),this},this.removeHandler=function(c){let p=l.indexOf(c);return p!==-1&&l.splice(p,2),this},this.getHandler=function(c){for(let p=0,d=l.length;p<d;p+=2){let _=l[p],I=l[p+1];if(_.global&&(_.lastIndex=0),_.test(c))return I}return null}}},gNn=new H3e,z3e=class{constructor(t){this.manager=t!==void 0?t:gNn,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}load(){}loadAsync(t,e){let r=this;return new Promise(function(n,s){r.load(t,n,e,s)})}parse(){}setCrossOrigin(t){return this.crossOrigin=t,this}setWithCredentials(t){return this.withCredentials=t,this}setPath(t){return this.path=t,this}setResourcePath(t){return this.resourcePath=t,this}setRequestHeader(t){return this.requestHeader=t,this}};z3e.DEFAULT_MATERIAL_NAME="__DEFAULT";var i1e="\\[\\]\\.:\\/",pNn=new RegExp("["+i1e+"]","g"),r1e="[^"+i1e+"]",dNn="[^"+i1e.replace("\\.","")+"]",_Nn=/((?:WC+[\/:])*)/.source.replace("WC",r1e),fNn=/(WCOD+)?/.source.replace("WCOD",dNn),mNn=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",r1e),INn=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",r1e),yNn=new RegExp("^"+_Nn+fNn+mNn+INn+"$"),CNn=["material","materials","bones","map"],Y3e=class{constructor(t,e,r){let n=r||dp.parseTrackName(e);this._targetGroup=t,this._bindings=t.subscribe_(e,n)}getValue(t,e){this.bind();let r=this._targetGroup.nCachedObjects_,n=this._bindings[r];n!==void 0&&n.getValue(t,e)}setValue(t,e){let r=this._bindings;for(let n=this._targetGroup.nCachedObjects_,s=r.length;n!==s;++n)r[n].setValue(t,e)}bind(){let t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,r=t.length;e!==r;++e)t[e].bind()}unbind(){let t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,r=t.length;e!==r;++e)t[e].unbind()}},dp=class i{constructor(t,e,r){this.path=e,this.parsedPath=r||i.parseTrackName(e),this.node=i.findNode(t,this.parsedPath.nodeName),this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,e,r){return t&&t.isAnimationObjectGroup?new i.Composite(t,e,r):new i(t,e,r)}static sanitizeNodeName(t){return t.replace(/\s/g,"_").replace(pNn,"")}static parseTrackName(t){let e=yNn.exec(t);if(e===null)throw new Error("PropertyBinding: Cannot parse trackName: "+t);let r={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},n=r.nodeName&&r.nodeName.lastIndexOf(".");if(n!==void 0&&n!==-1){let s=r.nodeName.substring(n+1);CNn.indexOf(s)!==-1&&(r.nodeName=r.nodeName.substring(0,n),r.objectName=s)}if(r.propertyName===null||r.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return r}static findNode(t,e){if(e===void 0||e===""||e==="."||e===-1||e===t.name||e===t.uuid)return t;if(t.skeleton){let r=t.skeleton.getBoneByName(e);if(r!==void 0)return r}if(t.children){let r=function(s){for(let a=0;a<s.length;a++){let o=s[a];if(o.name===e||o.uuid===e)return o;let A=r(o.children);if(A)return A}return null},n=r(t.children);if(n)return n}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(t,e){t[e]=this.targetObject[this.propertyName]}_getValue_array(t,e){let r=this.resolvedProperty;for(let n=0,s=r.length;n!==s;++n)t[e++]=r[n]}_getValue_arrayElement(t,e){t[e]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(t,e){this.resolvedProperty.toArray(t,e)}_setValue_direct(t,e){this.targetObject[this.propertyName]=t[e]}_setValue_direct_setNeedsUpdate(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(t,e){let r=this.resolvedProperty;for(let n=0,s=r.length;n!==s;++n)r[n]=t[e++]}_setValue_array_setNeedsUpdate(t,e){let r=this.resolvedProperty;for(let n=0,s=r.length;n!==s;++n)r[n]=t[e++];this.targetObject.needsUpdate=!0}_setValue_array_setMatrixWorldNeedsUpdate(t,e){let r=this.resolvedProperty;for(let n=0,s=r.length;n!==s;++n)r[n]=t[e++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(t,e){this.resolvedProperty[this.propertyIndex]=t[e]}_setValue_arrayElement_setNeedsUpdate(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(t,e){this.resolvedProperty.fromArray(t,e)}_setValue_fromArray_setNeedsUpdate(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(t,e){this.bind(),this.getValue(t,e)}_setValue_unbound(t,e){this.bind(),this.setValue(t,e)}bind(){let t=this.node,e=this.parsedPath,r=e.objectName,n=e.propertyName,s=e.propertyIndex;if(t||(t=i.findNode(this.rootNode,e.nodeName),this.node=t),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!t){console.warn("THREE.PropertyBinding: No target node found for track: "+this.path+".");return}if(r){let l=e.objectIndex;switch(r){case"materials":if(!t.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!t.material.materials){console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);return}t=t.material.materials;break;case"bones":if(!t.skeleton){console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);return}t=t.skeleton.bones;for(let c=0;c<t.length;c++)if(t[c].name===l){l=c;break}break;case"map":if("map"in t){t=t.map;break}if(!t.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!t.material.map){console.error("THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.",this);return}t=t.material.map;break;default:if(t[r]===void 0){console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);return}t=t[r]}if(l!==void 0){if(t[l]===void 0){console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,t);return}t=t[l]}}let a=t[n];if(a===void 0){let l=e.nodeName;console.error("THREE.PropertyBinding: Trying to update property for track: "+l+"."+n+" but it wasn't found.",t);return}let o=this.Versioning.None;this.targetObject=t,t.isMaterial===!0?o=this.Versioning.NeedsUpdate:t.isObject3D===!0&&(o=this.Versioning.MatrixWorldNeedsUpdate);let A=this.BindingType.Direct;if(s!==void 0){if(n==="morphTargetInfluences"){if(!t.geometry){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);return}if(!t.geometry.morphAttributes){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);return}t.morphTargetDictionary[s]!==void 0&&(s=t.morphTargetDictionary[s])}A=this.BindingType.ArrayElement,this.resolvedProperty=a,this.propertyIndex=s}else a.fromArray!==void 0&&a.toArray!==void 0?(A=this.BindingType.HasFromToArray,this.resolvedProperty=a):Array.isArray(a)?(A=this.BindingType.EntireArray,this.resolvedProperty=a):this.propertyName=n;this.getValue=this.GetterByBindingType[A],this.setValue=this.SetterByBindingTypeAndVersioning[A][o]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}};dp.Composite=Y3e;dp.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3};dp.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2};dp.prototype.GetterByBindingType=[dp.prototype._getValue_direct,dp.prototype._getValue_array,dp.prototype._getValue_arrayElement,dp.prototype._getValue_toArray];dp.prototype.SetterByBindingTypeAndVersioning=[[dp.prototype._setValue_direct,dp.prototype._setValue_direct_setNeedsUpdate,dp.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[dp.prototype._setValue_array,dp.prototype._setValue_array_setNeedsUpdate,dp.prototype._setValue_array_setMatrixWorldNeedsUpdate],[dp.prototype._setValue_arrayElement,dp.prototype._setValue_arrayElement_setNeedsUpdate,dp.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[dp.prototype._setValue_fromArray,dp.prototype._setValue_fromArray_setNeedsUpdate,dp.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];var Z$s=new Float32Array(1);typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:"178"}}));typeof window<"u"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__="178");var ENn=`#ifdef USE_ALPHAHASH
|
|
24113
|
+
`,e.addEventListener("click",()=>this.toggle()),t.appendChild(e),t}_createPanel(){let t=document.createElement("div");t.className="usgs-lidar-control-panel",t.style.width=`${this._options.panelWidth}px`,t.style.maxHeight=`${this._options.maxHeight}px`;let e=document.createElement("div");e.className="usgs-lidar-control-header";let r=document.createElement("span");r.className="usgs-lidar-control-title",r.textContent=this._options.title;let n=document.createElement("button");n.className="usgs-lidar-control-close",n.type="button",n.setAttribute("aria-label","Close panel"),n.innerHTML="×",n.addEventListener("click",()=>this.collapse()),e.appendChild(r),e.appendChild(n),this._panelBuilder=new Epe({onSearchByExtent:()=>this.searchByExtent(),onStartDrawing:()=>this.startDrawing(),onStopDrawing:()=>this.stopDrawing(),onSearchByDrawn:()=>{this._state.drawnBbox&&this.searchByBbox(this._state.drawnBbox)},onClearDrawn:()=>this.clearDrawnBbox(),onItemSelect:a=>this.toggleItemSelection(a),onItemLoad:a=>{this.loadItem(a).catch(()=>{})},onLoadSelected:()=>{this.loadSelectedItems().catch(()=>{})},onCopySignedUrls:()=>{this.copySignedUrls().catch(a=>{console.error("Failed to copy signed URLs:",a)})},onDownloadSelected:()=>{this.downloadSelected().catch(a=>{console.error("Failed to download selected:",a)})},onClearResults:()=>this.clearResults(),onUnloadItem:a=>this.unloadItem(a),onClearLoaded:()=>this.clearLoadedItems(),onPointSizeChange:a=>this.setPointSize(a),onOpacityChange:a=>this.setOpacity(a),onColorSchemeChange:a=>this.setColorScheme(a),onZOffsetChange:a=>this.setZOffset(a),onPickableChange:a=>this.setPickable(a),onElevationRangeChange:a=>this.setElevationRange(a),onClassificationToggle:(a,o)=>this.setClassificationVisibility(a,o),onClassificationShowAll:()=>this.showAllClassifications(),onClassificationHideAll:()=>this.hideAllClassifications(),onDataSourceChange:a=>this.setDataSource(a),onColormapChange:a=>this.setColormap(a),onColorRangeChange:a=>this.setColorRange(a),onShowMetadata:a=>this.showMetadata(a),onCrossSectionPanel:()=>this.getCrossSectionPanel()},this._state);let s=this._panelBuilder.build();return t.appendChild(e),t.appendChild(s),t}_setupEventListeners(){var t;let e=r=>{var n,s,a,o,A;let l=r.target;if((n=this._container)!=null&&n.contains(l)||(s=this._panel)!=null&&s.contains(l)||(o=(a=this._mapContainer)==null?void 0:a.querySelector(".maplibregl-canvas"))!=null&&o.contains(l))return;document.querySelector(".lidar-metadata-backdrop, .lidar-chart-popup-backdrop")?.contains(l)||(A=l.closest)!=null&&A.call(l,".lidar-metadata-backdrop, .lidar-metadata-panel, .lidar-chart-popup-backdrop, .lidar-chart-popup")||this._state.collapsed||this.collapse()};document.addEventListener("click",e,!0),window.addEventListener("resize",()=>{this._state.collapsed||this._updatePanelPosition()}),(t=this._map)==null||t.on("resize",()=>{this._state.collapsed||this._updatePanelPosition()})}_getControlPosition(){var t;let e=(t=this._container)==null?void 0:t.parentElement;return e?e.classList.contains("maplibregl-ctrl-top-left")?"top-left":e.classList.contains("maplibregl-ctrl-top-right")?"top-right":e.classList.contains("maplibregl-ctrl-bottom-left")?"bottom-left":e.classList.contains("maplibregl-ctrl-bottom-right")?"bottom-right":"top-right":"top-right"}_updatePanelPosition(){if(!this._container||!this._panel||!this._mapContainer)return;let t=this._container.querySelector(".usgs-lidar-control-toggle");if(!t)return;let e=t.getBoundingClientRect(),r=this._mapContainer.getBoundingClientRect(),n=this._getControlPosition(),s=e.top-r.top,a=r.bottom-e.bottom,o=e.left-r.left,A=r.right-e.right,l=5;switch(this._panel.style.top="",this._panel.style.bottom="",this._panel.style.left="",this._panel.style.right="",n){case"top-left":this._panel.style.top=`${s+e.height+l}px`,this._panel.style.left=`${o}px`;break;case"top-right":this._panel.style.top=`${s+e.height+l}px`,this._panel.style.right=`${A}px`;break;case"bottom-left":this._panel.style.bottom=`${a+e.height+l}px`,this._panel.style.left=`${o}px`;break;case"bottom-right":this._panel.style.bottom=`${a+e.height+l}px`,this._panel.style.right=`${A}px`;break}}getPanelElement(){return this._panel??null}},JRn=Object.defineProperty,KRn=(i,t,e)=>t in i?JRn(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,$Qt=(i,t,e)=>KRn(i,typeof t!="symbol"?t+"":t,e),ESt=class{constructor(t){$Qt(this,"type","usgs-lidar"),$Qt(this,"_usgsControl"),$Qt(this,"_changeCallbacks",[]),$Qt(this,"_unsubscribe"),this._usgsControl=t,this._setupEventListeners()}_setupEventListeners(){let t=r=>{var n;if((n=r.pointCloud)!=null&&n.id){let s=this._usgsControl.getState();for(let[a,o]of s.loadedItems.entries())if(o.id===r.pointCloud.id){this._notifyLayerAdded(a);break}}},e=r=>{r.itemId&&this._notifyLayerRemoved(r.itemId)};this._usgsControl.on("loadcomplete",t),this._usgsControl.on("unload",e),this._unsubscribe=()=>{this._usgsControl.off("loadcomplete",t),this._usgsControl.off("unload",e)}}getLayerIds(){let t=this._usgsControl.getState();return Array.from(t.loadedItems.keys())}getLayerState(t){var e;let r=this._usgsControl.getState(),n=r.loadedItems.get(t);if(!n)return null;let s=this._usgsControl.getLidarControl(),a=s?._pointCloudManager,o=a?.getPointCloudVisibility(n.id)??!0,A=a?.getPointCloudOpacity(n.id)??((e=r.lidarState)==null?void 0:e.opacity)??1;return{visible:o,opacity:A,name:this.getName(t),isCustomLayer:!0,customLayerType:"usgs-lidar"}}setVisibility(t,e){let r=this._usgsControl.getState().loadedItems.get(t);if(!r)return;this._usgsControl.getLidarControl()?._pointCloudManager?.setPointCloudVisibility(r.id,e)}setOpacity(t,e){let r=this._usgsControl.getState().loadedItems.get(t);if(!r)return;this._usgsControl.getLidarControl()?._pointCloudManager?.setPointCloudOpacity(r.id,e)}getName(t){let e=this._usgsControl.getState().loadedItems.get(t);return e?e.name:t.replace(/[-_]/g," ").replace(/\b\w/g,r=>r.toUpperCase())}getSymbolType(t){return"circle"}onLayerChange(t){return this._changeCallbacks.push(t),()=>{let e=this._changeCallbacks.indexOf(t);e>=0&&this._changeCallbacks.splice(e,1)}}_notifyLayerAdded(t){this._changeCallbacks.forEach(e=>e("add",t))}_notifyLayerRemoved(t){this._changeCallbacks.forEach(e=>e("remove",t))}destroy(){var t;(t=this._unsubscribe)==null||t.call(this),this._changeCallbacks=[]}},VRn={},WRn={title:"",position:"top-right",className:"",visible:!0,collapsible:!0,collapsed:!0,rows:1,columns:3,showRowColumnControls:!0,controls:[],backgroundColor:"rgba(255, 255, 255, 0.9)",padding:10,borderRadius:4,opacity:1,gap:6,minzoom:0,maxzoom:24,basemapStyleUrl:void 0,excludeLayers:void 0,streetViewOptions:void 0,bookmarkOptions:void 0},ZRn='<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#333" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"/></svg>',XRn='<svg xmlns="http://www.w3.org/2000/svg" width="29" height="29" viewBox="0 0 29 29"><path d="m10.5 14 4-8 4 8z" fill="#333"/><path d="m10.5 16 4 8 4-8z" fill="#ccc"/></svg>',Bpe=class{_map;_container;_icon;_rotateHandler;onAdd(t){this._map=t,this._container=document.createElement("div"),this._container.className="maplibregl-ctrl maplibregl-ctrl-group";let e=document.createElement("button");return e.className="maplibregl-ctrl-compass",e.type="button",e.title="Reset bearing to north",e.setAttribute("aria-label","Reset bearing to north"),this._icon=document.createElement("span"),this._icon.className="maplibregl-ctrl-icon",this._icon.setAttribute("aria-hidden","true"),this._icon.style.backgroundImage=`url("data:image/svg+xml,${encodeURIComponent(XRn)}")`,this._icon.style.backgroundSize="contain",this._icon.style.width="29px",this._icon.style.height="29px",this._icon.style.display="block",e.appendChild(this._icon),e.addEventListener("click",()=>this._map?.resetNorth()),this._container.appendChild(e),this._rotateHandler=()=>{this._icon&&this._map&&(this._icon.style.transform=`rotate(${-this._map.getBearing()}deg)`)},this._map.on("rotate",this._rotateHandler),this._rotateHandler(),this._container}onRemove(){this._map&&this._rotateHandler&&this._map.off("rotate",this._rotateHandler),this._container?.parentNode?.removeChild(this._container),this._map=void 0,this._container=void 0,this._icon=void 0}},O0e="maplibre-gl-components-terrain-dem",$Rn="https://s3.amazonaws.com/elevation-tiles-prod/terrarium/{z}/{x}/{y}.png",xpe=class{_inner;_addSource(t){t.getSource(O0e)||t.addSource(O0e,{type:"raster-dem",tiles:[$Rn],tileSize:256,encoding:"terrarium"})}onAdd(t){return t.isStyleLoaded()?this._addSource(t):t.once("styledata",()=>this._addSource(t)),this._inner=new Hu.TerrainControl({source:O0e}),this._inner.onAdd(t)}onRemove(){this._inner?.onRemove(),this._inner=void 0}},tNn={fullscreen:"Toggle fullscreen",globe:"Toggle globe projection",spinGlobe:"Spin globe",north:"Reset bearing to north",terrain:"Toggle terrain",search:"Search places",viewState:"View map state",inspect:"Inspect features",vectorDataset:"Add vector dataset",basemap:"Basemaps",cogLayer:"COG Layer",minimap:"Toggle minimap",measure:"Measure distances and areas",bookmark:"Bookmarks",print:"Export map",zarrLayer:"Zarr Layer",pmtilesLayer:"PMTiles Layer",stacLayer:"STAC Layer",stacSearch:"STAC Search",addVector:"Add vector layer",geoEditor:"Geo Editor",lidar:"LiDAR Layer",planetaryComputer:"Planetary Computer",gaussianSplat:"Gaussian Splat",streetView:"Street View",swipe:"Layer Swipe",usgsLidar:"USGS LiDAR",colorbarGui:"Colorbar",legendGui:"Legend",htmlGui:"HTML Control",tileLayer:"Tile Layer"},BSt=class{_container;_gridEl;_options;_state;_children=[];_eventHandlers=new Map;_map;_handleZoom;_zoomVisible=!0;_floatingEntry=null;_floatingPanel=null;_clickInGrid=!1;_docCaptureHandler;_docBubbleHandler;constructor(t){this._options={...WRn,...t},this._state={visible:this._options.visible,collapsed:this._options.collapsed,rows:this._options.rows,columns:this._options.columns},(t?.controls??this._options.controls??[]).forEach(r=>this._children.push({control:r,element:null,expandable:this._isExpandable(r),collapsedSnapshot:null,expandHandler:null,collapseHandler:null,_placeholder:null,_externalPanel:null,_externalPanelParent:null,_savedPositionMethods:null}));let e=t?.defaultControls??[];for(let r of e){let n=this._createDefaultControl(r);n&&this._children.push({control:n,element:null,expandable:this._isExpandable(n),collapsedSnapshot:null,expandHandler:null,collapseHandler:null,_placeholder:null,_externalPanel:null,_externalPanelParent:null,_savedPositionMethods:null,tooltip:tNn[r]})}this._autoGrowRows()}_createDefaultControl(t){switch(t){case"fullscreen":return new Hu.FullscreenControl;case"globe":return new Hu.GlobeControl;case"spinGlobe":return new Ubt;case"north":return new Bpe;case"terrain":return new xpe;case"search":return new zW({collapsed:!0});case"viewState":return new Mbt({collapsed:!0,enableBBox:!0});case"inspect":return new kbt;case"vectorDataset":return new Sbt;case"basemap":return new wbt({collapsed:!0});case"cogLayer":return new cP({collapsed:!0,defaultUrl:"https://data.source.coop/giswqs/opengeos/nlcd_2021_land_cover_30m.tif",defaultColormap:"none",defaultRescaleMin:0,defaultRescaleMax:4e3});case"minimap":return new Dbt({collapsed:!0,interactive:!0});case"measure":return new YW({collapsed:!0});case"bookmark":return new Rbt({collapsed:!0,...this._options.bookmarkOptions});case"print":return new qW({collapsed:!0});case"zarrLayer":return new hP({collapsed:!0,defaultUrl:"https://carbonplan-maps.s3.us-west-2.amazonaws.com/v2/demo/4d/tavg-prec-month",defaultVariable:"climate",defaultColormap:["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"],defaultClim:[0,300],defaultSelector:{band:"prec",month:1},defaultOpacity:.8});case"pmtilesLayer":return new uP({collapsed:!0,defaultUrl:"https://pmtiles.io/protomaps(vector)ODbL_firenze.pmtiles",defaultOpacity:.8,defaultFillColor:"steelblue",defaultLineColor:"#333"});case"stacLayer":return new cut({collapsed:!0,defaultUrl:"https://earth-search.aws.element84.com/v1/collections/sentinel-2-l2a/items/S2B_10SEG_20251229_0_L2A",defaultRescaleMin:0,defaultRescaleMax:255,defaultColormap:"none"});case"stacSearch":return new Nbt({collapsed:!0,catalogs:[{name:"Element84 Earth Search",url:"https://earth-search.aws.element84.com/v1"},{name:"Microsoft Planetary Computer",url:"https://planetarycomputer.microsoft.com/api/stac/v1"}],maxItems:20,defaultRescaleMin:0,defaultRescaleMax:1e4,showFootprints:!0});case"addVector":return new gP({collapsed:!0,defaultUrl:"https://flatgeobuf.org/test/data/UScounties.fgb"});case"choropleth":return new Lbt({collapsed:!0,defaultUrl:"https://data.source.coop/giswqs/opengeos/h3_res4_geo.parquet",defaultColormap:"viridis",defaultScheme:"quantile",defaultK:5});case"geoEditor":return new put({collapsed:!0,columns:2});case"lidar":return new ZW({collapsed:!0,maxHeight:500});case"planetaryComputer":return new But({collapsed:!0,maxHeight:500});case"gaussianSplat":return new Uut({collapsed:!0,maxHeight:500});case"streetView":{let e=VRn,r=e?.VITE_GOOGLE_MAPS_API_KEY,n=e?.VITE_MAPILLARY_ACCESS_TOKEN,s=!r&&n?"mapillary":"google";return new ySt({collapsed:!0,panelWidth:450,panelHeight:350,maxHeight:500,defaultProvider:s,clickToView:!0,showMarker:!0,maxSearchRadius:200,markerOptions:{color:"#ff5722",showDirection:!1,directionColor:"#1976d2"},googleApiKey:r,mapillaryAccessToken:n,...this._options.streetViewOptions})}case"swipe":return new CSt({collapsed:!0,maxHeight:500,active:!1,basemapStyle:this._options.basemapStyleUrl,excludeLayers:this._options.excludeLayers});case"usgsLidar":return new Qgt({collapsed:!0,maxHeight:500});case"colorbarGui":return new Gbt({collapsed:!0});case"legendGui":return new Fbt({collapsed:!0});case"htmlGui":return new Tbt({collapsed:!0});case"tileLayer":return new Pbt({collapsed:!0});default:return null}}onAdd(t){return this._map=t,this._container=this._createContainer(),this._handleZoom=()=>this._checkZoomVisibility(),this._map.on("zoom",this._handleZoom),this._checkZoomVisibility(),this._docCaptureHandler=e=>{let r=e.target,n=this._container?.contains(r),s=this._floatingPanel?.contains(r);this._clickInGrid=!!(n&&!s)},this._docBubbleHandler=()=>{this._clickInGrid=!1},document.addEventListener("click",this._docCaptureHandler,!0),document.addEventListener("click",this._docBubbleHandler,!1),this._render(),this._mountChildren(),this._container}onRemove(){this._docCaptureHandler&&(document.removeEventListener("click",this._docCaptureHandler,!0),this._docCaptureHandler=void 0),this._docBubbleHandler&&(document.removeEventListener("click",this._docBubbleHandler,!1),this._docBubbleHandler=void 0),this._map&&this._handleZoom&&(this._map.off("zoom",this._handleZoom),this._handleZoom=void 0),this._unmountChildren(),this._map=void 0,this._container?.parentNode?.removeChild(this._container),this._container=void 0,this._gridEl=void 0,this._children=[],this._eventHandlers.clear()}addControl(t){if(this._children.some(r=>r.control===t))return;let e={control:t,element:null,expandable:this._isExpandable(t),collapsedSnapshot:null,expandHandler:null,collapseHandler:null,_placeholder:null,_externalPanel:null,_externalPanelParent:null,_savedPositionMethods:null};this._children.push(e),this._autoGrowRows(),this._map&&this._gridEl&&(e.element=t.onAdd(this._map),e.expandable&&(e.collapsedSnapshot=e.element.cloneNode(!0),this._attachExpandListeners(e)),this._gridEl.appendChild(e.element)),this._emit("controladd",t)}removeControl(t){let e=this._children.findIndex(n=>n.control===t);if(e===-1)return;let r=this._children[e];this._floatingEntry===r&&this._clearFloating(),this._detachExpandListeners(r),r._placeholder?.parentNode&&r._placeholder.parentNode.removeChild(r._placeholder),r.element?.parentNode&&r.element.parentNode.removeChild(r.element),this._map&&t.onRemove(this._map),this._children.splice(e,1),this._emit("controlremove",t)}setRows(t){let e=Math.max(1,Math.min(12,Math.round(t)));this._state.rows!==e&&(this._state.rows=e,this._applyGridStyle(),this._emit("update"))}setColumns(t){let e=Math.max(1,Math.min(12,Math.round(t)));this._state.columns!==e&&(this._state.columns=e,this._applyGridStyle(),this._emit("update"))}getControls(){return this._children.map(t=>t.control)}getAdapters(){let t=[];for(let e of this._children){let r=e.control;r instanceof cP?t.push(new Obt(r)):r instanceof hP?t.push(new jbt(r)):r instanceof uP?t.push(new Hbt(r)):r instanceof cut?t.push(new Ybt(r)):r instanceof gP?t.push(new zbt(r)):r instanceof ZW?t.push(new Evt(r)):r instanceof But?t.push(new Bvt(r)):r instanceof Uut?t.push(new Pvt(r)):r instanceof Qgt?t.push(new ESt(r)):r instanceof put&&t.push(new ovt(r))}return t}show(){this._state.visible||(this._state.visible=!0,this._updateDisplayState(),this._emit("show"))}hide(){this._state.visible&&(this._state.visible=!1,this._updateDisplayState(),this._emit("hide"))}expand(){this._state.collapsed&&(this._state.collapsed=!1,this._render(),this._emit("expand"))}collapse(){this._state.collapsed||(this._state.collapsed=!0,this._render(),this._emit("collapse"))}toggle(){this._state.collapsed?this.expand():this.collapse()}getState(){return{...this._state}}update(t){this._options={...this._options,...t},t.visible!==void 0&&(this._state.visible=t.visible),t.collapsed!==void 0&&(this._state.collapsed=t.collapsed),t.rows!==void 0&&(this._state.rows=Math.max(1,Math.min(12,t.rows))),t.columns!==void 0&&(this._state.columns=Math.max(1,Math.min(12,t.columns))),this._render(),this._emit("update")}on(t,e){this._eventHandlers.has(t)||this._eventHandlers.set(t,new Set),this._eventHandlers.get(t).add(e)}off(t,e){this._eventHandlers.get(t)?.delete(e)}_emit(t,e){let r=this._eventHandlers.get(t);if(r){let n={type:t,state:this.getState(),control:e};r.forEach(s=>s(n))}}_checkZoomVisibility(){if(!this._map)return;let t=this._map.getZoom(),{minzoom:e,maxzoom:r}=this._options,n=t>=e&&t<=r;n!==this._zoomVisible&&(this._zoomVisible=n,this._updateDisplayState())}_updateDisplayState(){if(!this._container)return;let t=this._state.visible&&this._zoomVisible;this._container.style.display=t?"block":"none"}_createContainer(){let t=document.createElement("div");return t.className=`maplibregl-ctrl maplibre-gl-control-grid${this._options.className?` ${this._options.className}`:""}`,this._state.visible&&this._zoomVisible||(t.style.display="none"),t.addEventListener("click",e=>e.stopPropagation()),t}_autoGrowRows(){let t=this._state.rows*this._state.columns;this._children.length>t&&(this._state.rows=Math.ceil(this._children.length/this._state.columns),this._applyGridStyle())}_applyGridStyle(){if(!this._gridEl)return;if(this._state.collapsed){this._gridEl.style.display="none";return}let t=this._options.gap;this._gridEl.style.display="grid",this._gridEl.style.gridTemplateColumns=`repeat(${this._state.columns}, auto)`,this._gridEl.style.gridTemplateRows=`repeat(${this._state.rows}, auto)`,this._gridEl.style.gap=`${t}px`,this._gridEl.style.width="100%",this._gridEl.style.justifyContent="center",this._gridEl.style.alignContent="center",this._gridEl.style.justifyItems="center",this._gridEl.style.alignItems="center"}_mountChildren(){!this._map||!this._gridEl||this._children.forEach(t=>{t.element||(t.element=t.control.onAdd(this._map),t.tooltip&&this._applyTooltip(t.element,t.tooltip),t.expandable&&!t.collapsedSnapshot&&(t.collapsedSnapshot=t.element.cloneNode(!0)),this._attachExpandListeners(t)),this._floatingEntry===t?this._mountAsFloating(t):t.element.parentNode!==this._gridEl&&this._gridEl.appendChild(t.element)})}_applyTooltip(t,e){let r=t.querySelector("button");r&&!r.title&&(r.title=e)}_unmountChildren(){this._clearFloating();let t=this._map;this._children.forEach(e=>{this._detachExpandListeners(e),e._placeholder?.parentNode&&e._placeholder.parentNode.removeChild(e._placeholder),e._placeholder=null,e.element?.parentNode&&e.element.parentNode.removeChild(e.element),t&&e.control.onRemove(t)}),this._children=this._children.map(e=>({control:e.control,element:null,expandable:e.expandable,collapsedSnapshot:null,expandHandler:null,collapseHandler:null,_placeholder:null,_externalPanel:null,_externalPanelParent:null,_savedPositionMethods:null}))}_isExpandable(t){let e=t;return typeof e.on=="function"&&typeof e.collapse=="function"}_attachExpandListeners(t){if(!t.expandable)return;let e=t.control;t.expandHandler=()=>this._onChildExpand(t),t.collapseHandler=()=>this._onChildCollapse(t),e.on("expand",t.expandHandler),e.on("collapse",t.collapseHandler)}_detachExpandListeners(t){if(!t.expandable)return;let e=t.control;t.expandHandler&&e.off("expand",t.expandHandler),t.collapseHandler&&e.off("collapse",t.collapseHandler),t.expandHandler=null,t.collapseHandler=null}_onChildExpand(t){if(this._floatingEntry&&this._floatingEntry!==t&&this._collapseFloatingChild(),!t.element||!this._gridEl)return;let e=t.collapsedSnapshot?t.collapsedSnapshot.cloneNode(!0):document.createElement("div");e.classList.add("maplibre-gl-control-grid-placeholder--active"),e.addEventListener("click",()=>{t.control.collapse(),this._floatingEntry===t&&this._onChildCollapse(t)}),t._placeholder=e,this._gridEl.replaceChild(e,t.element);let r=this._ensureFloatingPanel();r.appendChild(t.element),this._floatingEntry=t,this._relocateExternalPanel(t,r),this._hideFloatingButton(t)}_onChildCollapse(t){if(this._floatingEntry!==t)return;this._showFloatingButton(t),this._restoreExternalPanel(t),t._placeholder&&t.element&&this._gridEl&&(t._placeholder.parentNode===this._gridEl?this._gridEl.replaceChild(t.element,t._placeholder):this._gridEl.appendChild(t.element)),t._placeholder=null,this._floatingPanel&&(this._floatingPanel.style.display="none"),this._floatingEntry=null;let e=t.control;typeof e.collapse=="function"&&e.collapse(),t.element&&(t.collapsedSnapshot=t.element.cloneNode(!0))}_mountAsFloating(t){if(!this._gridEl||!t.element)return;let e=t.collapsedSnapshot?t.collapsedSnapshot.cloneNode(!0):document.createElement("div");e.classList.add("maplibre-gl-control-grid-placeholder--active"),e.addEventListener("click",()=>{t.control.collapse(),this._floatingEntry===t&&this._onChildCollapse(t)}),t._placeholder=e,this._gridEl.appendChild(e);let r=this._ensureFloatingPanel();r.appendChild(t.element),this._relocateExternalPanel(t,r),t._externalPanel&&(r.style.right="0px"),this._hideFloatingButton(t)}_ensureFloatingPanel(){this._floatingPanel||(this._floatingPanel=document.createElement("div"),this._floatingPanel.className="maplibre-gl-control-grid-floating-panel",this._floatingPanel.addEventListener("click",s=>s.stopPropagation())),this._container&&this._floatingPanel.parentNode!==this._container&&this._container.appendChild(this._floatingPanel);let t=this._state.collapsed&&(this._options.title||this._options.collapsible),e=Math.max(0,this._options.padding-1),r=Math.max(0,this._options.padding-10),n=t?e-r:e;return this._floatingPanel.style.right=`-${n}px`,this._floatingPanel.style.display="block",this._floatingPanel}_clearFloating(){this._floatingEntry&&(this._showFloatingButton(this._floatingEntry),this._restoreExternalPanel(this._floatingEntry),this._floatingEntry._placeholder=null),this._floatingEntry=null,this._floatingPanel&&(this._floatingPanel.remove(),this._floatingPanel=null)}_collapseFloatingChild(){this._floatingEntry&&this._onChildCollapse(this._floatingEntry)}_hideFloatingButton(t){if(t._externalPanel)return;let e=t.control;if(e._button&&(e._button.style.display="none",t.element)){let r=t.element.classList.contains("maplibregl-ctrl-group");r&&(t.element.classList.remove("maplibregl-ctrl-group"),t.element.dataset.hadCtrlGroup="1"),!r&&!t.element.dataset.hadCtrlGroup&&(t.element.style.marginRight="0")}}_showFloatingButton(t){let e=t.control;e._button&&(e._button.style.display="",t.element&&(t.element.dataset.hadCtrlGroup?(t.element.classList.add("maplibregl-ctrl-group"),delete t.element.dataset.hadCtrlGroup):t.element.style.marginRight=""))}_relocateExternalPanel(t,e){let r=t.control,n=null;if(typeof r.getPanelElement=="function"?n=r.getPanelElement():r._panel instanceof HTMLElement?n=r._panel:r._panel&&typeof r._panel.getElement=="function"&&(n=r._panel.getElement()),!n||!t.element||t.element.contains(n)||t._externalPanel)return;t._externalPanelParent=n.parentNode,t._externalPanel=n,n.classList.add("maplibre-gl-control-grid-relocated");let s=["_updatePanelPosition","updatePanelPosition"];t._savedPositionMethods={};for(let A of s)typeof r[A]=="function"&&(t._savedPositionMethods[A]=r[A].bind(r),r[A]=()=>{});let a=r._panel;a&&typeof a.positionRelativeTo=="function"&&(t._savedPositionMethods["_panel.positionRelativeTo"]=a.positionRelativeTo.bind(a),a.positionRelativeTo=()=>{}),typeof r.collapse=="function"&&(t._savedPositionMethods.collapse=r.collapse.bind(r),r.collapse=()=>{this._floatingEntry===t&&!this._clickInGrid&&this._onChildCollapse(t)});let o=(A,l)=>n.style.setProperty(A,l,"important");o("position","static"),o("top","auto"),o("bottom","auto"),o("left","auto"),o("right","auto"),o("z-index","auto"),e.appendChild(n),e.style.right="0px",t.element&&(t.element.style.display="none")}_restoreExternalPanel(t){if(!t._externalPanel||!t._externalPanelParent)return;let e=t._externalPanel;e.classList.remove("maplibre-gl-control-grid-relocated");let r=["position","top","bottom","left","right","z-index"];for(let n of r)e.style.removeProperty(n);if(t._externalPanelParent.appendChild(e),t._externalPanel=null,t._externalPanelParent=null,t._savedPositionMethods){let n=t.control;for(let[s,a]of Object.entries(t._savedPositionMethods))if(s==="_panel.positionRelativeTo"){let o=n._panel;o&&(o.positionRelativeTo=a)}else n[s]=a;t._savedPositionMethods=null}t.element&&(t.element.style.display="")}_render(){if(!this._container)return;let{title:t,collapsible:e,backgroundColor:r,opacity:n,borderRadius:s,padding:a,showRowColumnControls:o}=this._options;this._container.innerHTML="",this._state.collapsed?this._container.classList.add("maplibre-gl-control-grid--collapsed"):this._container.classList.remove("maplibre-gl-control-grid--collapsed");let A=this._state.collapsed&&(t||e),l=A?0:a,c=A?0:a,p=A?0:Math.max(0,a-4),d=this._state.visible&&this._zoomVisible;if(Object.assign(this._container.style,{backgroundColor:r,opacity:String(n),borderRadius:`${s}px`,padding:`${l}px ${p}px ${l}px ${c}px`,boxShadow:"0 0 0 2px rgba(0, 0, 0, 0.1)",display:d?"block":"none",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',color:"#1a1a1a"}),e||t){let I=document.createElement("div");if(I.className="maplibre-gl-control-grid-header",Object.assign(I.style,{display:"flex",alignItems:"center",justifyContent:this._state.collapsed?"center":"space-between",flexWrap:"wrap",gap:"6px",paddingBottom:(this._state.collapsed,"0"),cursor:e?"pointer":"default"}),this._state.collapsed&&e){let y=document.createElement("span");y.className="maplibre-gl-control-grid-wrench",y.innerHTML=ZRn,Object.assign(y.style,{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"29px",height:"29px",lineHeight:"0",boxSizing:"border-box"}),y.setAttribute("aria-label","Map tools"),I.appendChild(y),I.addEventListener("click",()=>this.toggle())}else{let y=document.createElement("div");if(y.style.display="flex",y.style.alignItems="center",y.style.gap="6px",t){let B=document.createElement("span");B.className="maplibre-gl-control-grid-title",B.textContent=t,B.style.fontWeight="600",B.style.color="#333",y.appendChild(B)}if(o&&!this._state.collapsed){let B=document.createElement("label");B.style.display="inline-flex",B.style.alignItems="center",B.style.gap="2px",B.style.fontSize="11px",B.style.color="#333",B.innerHTML="R:";let x=document.createElement("input");x.type="number",x.min="1",x.max="12",x.value=String(this._state.rows),x.style.width="40px",x.style.padding="2px 2px",x.style.boxSizing="border-box",x.style.textAlign="center",x.style.color="#333",x.addEventListener("change",()=>this.setRows(Number(x.value)||1)),B.appendChild(x);let w=document.createElement("label");w.style.display="inline-flex",w.style.alignItems="center",w.style.gap="2px",w.style.fontSize="11px",w.style.color="#333",w.innerHTML="C:";let D=document.createElement("input");D.type="number",D.min="1",D.max="12",D.value=String(this._state.columns),D.style.width="40px",D.style.padding="2px 2px",D.style.boxSizing="border-box",D.style.textAlign="center",D.style.color="#333",D.addEventListener("change",()=>this.setColumns(Number(D.value)||1)),w.appendChild(D),y.appendChild(B),y.appendChild(w)}if(I.appendChild(y),e){let B=document.createElement("span");B.className="maplibre-gl-control-grid-toggle",B.innerHTML="▼",Object.assign(B.style,{fontSize:"10px",userSelect:"none",color:"#333"}),I.appendChild(B),I.addEventListener("click",x=>{(!o||!y.contains(x.target))&&this.toggle()})}}this._container.appendChild(I)}let _=document.createElement("div");_.className="maplibre-gl-control-grid-content",Object.assign(_.style,{display:this._state.collapsed?"none":"block"}),this._gridEl=_,this._applyGridStyle(),this._container.appendChild(_),this._mountChildren()}};var q3e=0,J3e=1,K3e=2,V3e=3,W3e=4,Z3e=5,X3e=6,$3e=7;var gQi=300;var v3e=1e3,Jgt=1001,w3e=1002;var pQi=1006;var dQi=1008;var _Qi=1009;var fQi=1023;var okt=2300,S3e=2301,I3e=2302,X7i=2400,$7i=2401,tQi=2402;var t1e="",ZE="srgb",k3e="srgb-linear",M3e="linear",akt="srgb";var Kgt=2e3,eQi=2001;var Vgt=class{addEventListener(t,e){this._listeners===void 0&&(this._listeners={});let r=this._listeners;r[t]===void 0&&(r[t]=[]),r[t].indexOf(e)===-1&&r[t].push(e)}hasEventListener(t,e){let r=this._listeners;return r===void 0?!1:r[t]!==void 0&&r[t].indexOf(e)!==-1}removeEventListener(t,e){let r=this._listeners;if(r===void 0)return;let n=r[t];if(n!==void 0){let s=n.indexOf(e);s!==-1&&n.splice(s,1)}}dispatchEvent(t){let e=this._listeners;if(e===void 0)return;let r=e[t.type];if(r!==void 0){t.target=this;let n=r.slice(0);for(let s=0,a=n.length;s<a;s++)n[s].call(this,t);t.target=null}}},H6=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"];var W$s=Math.PI/180,eNn=180/Math.PI;function e1e(){let i=Math.random()*4294967295|0,t=Math.random()*4294967295|0,e=Math.random()*4294967295|0,r=Math.random()*4294967295|0;return(H6[i&255]+H6[i>>8&255]+H6[i>>16&255]+H6[i>>24&255]+"-"+H6[t&255]+H6[t>>8&255]+"-"+H6[t>>16&15|64]+H6[t>>24&255]+"-"+H6[e&63|128]+H6[e>>8&255]+"-"+H6[e>>16&255]+H6[e>>24&255]+H6[r&255]+H6[r>>8&255]+H6[r>>16&255]+H6[r>>24&255]).toLowerCase()}function Mg(i,t,e){return Math.max(t,Math.min(e,i))}function iNn(i,t){return(i%t+t)%t}function y3e(i,t,e){return(1-e)*i+e*t}var m8=class i{constructor(t=0,e=0){i.prototype.isVector2=!0,this.x=t,this.y=e}get width(){return this.x}set width(t){this.x=t}get height(){return this.y}set height(t){this.y=t}set(t,e){return this.x=t,this.y=e,this}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}add(t){return this.x+=t.x,this.y+=t.y,this}addScalar(t){return this.x+=t,this.y+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t){return this.x*=t,this.y*=t,this}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}applyMatrix3(t){let e=this.x,r=this.y,n=t.elements;return this.x=n[0]*e+n[3]*r+n[6],this.y=n[1]*e+n[4]*r+n[7],this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}clamp(t,e){return this.x=Mg(this.x,t.x,e.x),this.y=Mg(this.y,t.y,e.y),this}clampScalar(t,e){return this.x=Mg(this.x,t,e),this.y=Mg(this.y,t,e),this}clampLength(t,e){let r=this.length();return this.divideScalar(r||1).multiplyScalar(Mg(r,t,e))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(t){return this.x*t.x+this.y*t.y}cross(t){return this.x*t.y-this.y*t.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(t){let e=Math.sqrt(this.lengthSq()*t.lengthSq());if(e===0)return Math.PI/2;let r=this.dot(t)/e;return Math.acos(Mg(r,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){let e=this.x-t.x,r=this.y-t.y;return e*e+r*r}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,r){return this.x=t.x+(e.x-t.x)*r,this.y=t.y+(e.y-t.y)*r,this}equals(t){return t.x===this.x&&t.y===this.y}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this}rotateAround(t,e){let r=Math.cos(e),n=Math.sin(e),s=this.x-t.x,a=this.y-t.y;return this.x=s*r-a*n+t.x,this.y=s*n+a*r+t.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}},mN=class{constructor(t=0,e=0,r=0,n=1){this.isQuaternion=!0,this._x=t,this._y=e,this._z=r,this._w=n}static slerpFlat(t,e,r,n,s,a,o){let A=r[n+0],l=r[n+1],c=r[n+2],p=r[n+3],d=s[a+0],_=s[a+1],I=s[a+2],y=s[a+3];if(o===0){t[e+0]=A,t[e+1]=l,t[e+2]=c,t[e+3]=p;return}if(o===1){t[e+0]=d,t[e+1]=_,t[e+2]=I,t[e+3]=y;return}if(p!==y||A!==d||l!==_||c!==I){let B=1-o,x=A*d+l*_+c*I+p*y,w=x>=0?1:-1,D=1-x*x;if(D>Number.EPSILON){let j=Math.sqrt(D),z=Math.atan2(j,x*w);B=Math.sin(B*z)/j,o=Math.sin(o*z)/j}let T=o*w;if(A=A*B+d*T,l=l*B+_*T,c=c*B+I*T,p=p*B+y*T,B===1-o){let j=1/Math.sqrt(A*A+l*l+c*c+p*p);A*=j,l*=j,c*=j,p*=j}}t[e]=A,t[e+1]=l,t[e+2]=c,t[e+3]=p}static multiplyQuaternionsFlat(t,e,r,n,s,a){let o=r[n],A=r[n+1],l=r[n+2],c=r[n+3],p=s[a],d=s[a+1],_=s[a+2],I=s[a+3];return t[e]=o*I+c*p+A*_-l*d,t[e+1]=A*I+c*d+l*p-o*_,t[e+2]=l*I+c*_+o*d-A*p,t[e+3]=c*I-o*p-A*d-l*_,t}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get w(){return this._w}set w(t){this._w=t,this._onChangeCallback()}set(t,e,r,n){return this._x=t,this._y=e,this._z=r,this._w=n,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this._onChangeCallback(),this}setFromEuler(t,e=!0){let r=t._x,n=t._y,s=t._z,a=t._order,o=Math.cos,A=Math.sin,l=o(r/2),c=o(n/2),p=o(s/2),d=A(r/2),_=A(n/2),I=A(s/2);switch(a){case"XYZ":this._x=d*c*p+l*_*I,this._y=l*_*p-d*c*I,this._z=l*c*I+d*_*p,this._w=l*c*p-d*_*I;break;case"YXZ":this._x=d*c*p+l*_*I,this._y=l*_*p-d*c*I,this._z=l*c*I-d*_*p,this._w=l*c*p+d*_*I;break;case"ZXY":this._x=d*c*p-l*_*I,this._y=l*_*p+d*c*I,this._z=l*c*I+d*_*p,this._w=l*c*p-d*_*I;break;case"ZYX":this._x=d*c*p-l*_*I,this._y=l*_*p+d*c*I,this._z=l*c*I-d*_*p,this._w=l*c*p+d*_*I;break;case"YZX":this._x=d*c*p+l*_*I,this._y=l*_*p+d*c*I,this._z=l*c*I-d*_*p,this._w=l*c*p-d*_*I;break;case"XZY":this._x=d*c*p-l*_*I,this._y=l*_*p-d*c*I,this._z=l*c*I+d*_*p,this._w=l*c*p+d*_*I;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+a)}return e===!0&&this._onChangeCallback(),this}setFromAxisAngle(t,e){let r=e/2,n=Math.sin(r);return this._x=t.x*n,this._y=t.y*n,this._z=t.z*n,this._w=Math.cos(r),this._onChangeCallback(),this}setFromRotationMatrix(t){let e=t.elements,r=e[0],n=e[4],s=e[8],a=e[1],o=e[5],A=e[9],l=e[2],c=e[6],p=e[10],d=r+o+p;if(d>0){let _=.5/Math.sqrt(d+1);this._w=.25/_,this._x=(c-A)*_,this._y=(s-l)*_,this._z=(a-n)*_}else if(r>o&&r>p){let _=2*Math.sqrt(1+r-o-p);this._w=(c-A)/_,this._x=.25*_,this._y=(n+a)/_,this._z=(s+l)/_}else if(o>p){let _=2*Math.sqrt(1+o-r-p);this._w=(s-l)/_,this._x=(n+a)/_,this._y=.25*_,this._z=(A+c)/_}else{let _=2*Math.sqrt(1+p-r-o);this._w=(a-n)/_,this._x=(s+l)/_,this._y=(A+c)/_,this._z=.25*_}return this._onChangeCallback(),this}setFromUnitVectors(t,e){let r=t.dot(e)+1;return r<1e-8?(r=0,Math.abs(t.x)>Math.abs(t.z)?(this._x=-t.y,this._y=t.x,this._z=0,this._w=r):(this._x=0,this._y=-t.z,this._z=t.y,this._w=r)):(this._x=t.y*e.z-t.z*e.y,this._y=t.z*e.x-t.x*e.z,this._z=t.x*e.y-t.y*e.x,this._w=r),this.normalize()}angleTo(t){return 2*Math.acos(Math.abs(Mg(this.dot(t),-1,1)))}rotateTowards(t,e){let r=this.angleTo(t);if(r===0)return this;let n=Math.min(1,e/r);return this.slerp(t,n),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let t=this.length();return t===0?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this._onChangeCallback(),this}multiply(t){return this.multiplyQuaternions(this,t)}premultiply(t){return this.multiplyQuaternions(t,this)}multiplyQuaternions(t,e){let r=t._x,n=t._y,s=t._z,a=t._w,o=e._x,A=e._y,l=e._z,c=e._w;return this._x=r*c+a*o+n*l-s*A,this._y=n*c+a*A+s*o-r*l,this._z=s*c+a*l+r*A-n*o,this._w=a*c-r*o-n*A-s*l,this._onChangeCallback(),this}slerp(t,e){if(e===0)return this;if(e===1)return this.copy(t);let r=this._x,n=this._y,s=this._z,a=this._w,o=a*t._w+r*t._x+n*t._y+s*t._z;if(o<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,o=-o):this.copy(t),o>=1)return this._w=a,this._x=r,this._y=n,this._z=s,this;let A=1-o*o;if(A<=Number.EPSILON){let _=1-e;return this._w=_*a+e*this._w,this._x=_*r+e*this._x,this._y=_*n+e*this._y,this._z=_*s+e*this._z,this.normalize(),this}let l=Math.sqrt(A),c=Math.atan2(l,o),p=Math.sin((1-e)*c)/l,d=Math.sin(e*c)/l;return this._w=a*p+this._w*d,this._x=r*p+this._x*d,this._y=n*p+this._y*d,this._z=s*p+this._z*d,this._onChangeCallback(),this}slerpQuaternions(t,e,r){return this.copy(t).slerp(e,r)}random(){let t=2*Math.PI*Math.random(),e=2*Math.PI*Math.random(),r=Math.random(),n=Math.sqrt(1-r),s=Math.sqrt(r);return this.set(n*Math.sin(t),n*Math.cos(t),s*Math.sin(e),s*Math.cos(e))}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w}fromArray(t,e=0){return this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t}fromBufferAttribute(t,e){return this._x=t.getX(e),this._y=t.getY(e),this._z=t.getZ(e),this._w=t.getW(e),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}},ah=class i{constructor(t=0,e=0,r=0){i.prototype.isVector3=!0,this.x=t,this.y=e,this.z=r}set(t,e,r){return r===void 0&&(r=this.z),this.x=t,this.y=e,this.z=r,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this}applyEuler(t){return this.applyQuaternion(iQi.setFromEuler(t))}applyAxisAngle(t,e){return this.applyQuaternion(iQi.setFromAxisAngle(t,e))}applyMatrix3(t){let e=this.x,r=this.y,n=this.z,s=t.elements;return this.x=s[0]*e+s[3]*r+s[6]*n,this.y=s[1]*e+s[4]*r+s[7]*n,this.z=s[2]*e+s[5]*r+s[8]*n,this}applyNormalMatrix(t){return this.applyMatrix3(t).normalize()}applyMatrix4(t){let e=this.x,r=this.y,n=this.z,s=t.elements,a=1/(s[3]*e+s[7]*r+s[11]*n+s[15]);return this.x=(s[0]*e+s[4]*r+s[8]*n+s[12])*a,this.y=(s[1]*e+s[5]*r+s[9]*n+s[13])*a,this.z=(s[2]*e+s[6]*r+s[10]*n+s[14])*a,this}applyQuaternion(t){let e=this.x,r=this.y,n=this.z,s=t.x,a=t.y,o=t.z,A=t.w,l=2*(a*n-o*r),c=2*(o*e-s*n),p=2*(s*r-a*e);return this.x=e+A*l+a*p-o*c,this.y=r+A*c+o*l-s*p,this.z=n+A*p+s*c-a*l,this}project(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}unproject(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}transformDirection(t){let e=this.x,r=this.y,n=this.z,s=t.elements;return this.x=s[0]*e+s[4]*r+s[8]*n,this.y=s[1]*e+s[5]*r+s[9]*n,this.z=s[2]*e+s[6]*r+s[10]*n,this.normalize()}divide(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}divideScalar(t){return this.multiplyScalar(1/t)}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this}clamp(t,e){return this.x=Mg(this.x,t.x,e.x),this.y=Mg(this.y,t.y,e.y),this.z=Mg(this.z,t.z,e.z),this}clampScalar(t,e){return this.x=Mg(this.x,t,e),this.y=Mg(this.y,t,e),this.z=Mg(this.z,t,e),this}clampLength(t,e){let r=this.length();return this.divideScalar(r||1).multiplyScalar(Mg(r,t,e))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this}lerpVectors(t,e,r){return this.x=t.x+(e.x-t.x)*r,this.y=t.y+(e.y-t.y)*r,this.z=t.z+(e.z-t.z)*r,this}cross(t){return this.crossVectors(this,t)}crossVectors(t,e){let r=t.x,n=t.y,s=t.z,a=e.x,o=e.y,A=e.z;return this.x=n*A-s*o,this.y=s*a-r*A,this.z=r*o-n*a,this}projectOnVector(t){let e=t.lengthSq();if(e===0)return this.set(0,0,0);let r=t.dot(this)/e;return this.copy(t).multiplyScalar(r)}projectOnPlane(t){return C3e.copy(this).projectOnVector(t),this.sub(C3e)}reflect(t){return this.sub(C3e.copy(t).multiplyScalar(2*this.dot(t)))}angleTo(t){let e=Math.sqrt(this.lengthSq()*t.lengthSq());if(e===0)return Math.PI/2;let r=this.dot(t)/e;return Math.acos(Mg(r,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){let e=this.x-t.x,r=this.y-t.y,n=this.z-t.z;return e*e+r*r+n*n}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}setFromSpherical(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}setFromSphericalCoords(t,e,r){let n=Math.sin(e)*t;return this.x=n*Math.sin(r),this.y=Math.cos(e)*t,this.z=n*Math.cos(r),this}setFromCylindrical(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}setFromCylindricalCoords(t,e,r){return this.x=t*Math.sin(e),this.y=r,this.z=t*Math.cos(e),this}setFromMatrixPosition(t){let e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}setFromMatrixScale(t){let e=this.setFromMatrixColumn(t,0).length(),r=this.setFromMatrixColumn(t,1).length(),n=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=r,this.z=n,this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,e*4)}setFromMatrix3Column(t,e){return this.fromArray(t.elements,e*3)}setFromEuler(t){return this.x=t._x,this.y=t._y,this.z=t._z,this}setFromColor(t){return this.x=t.r,this.y=t.g,this.z=t.b,this}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){let t=Math.random()*Math.PI*2,e=Math.random()*2-1,r=Math.sqrt(1-e*e);return this.x=r*Math.cos(t),this.y=e,this.z=r*Math.sin(t),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}},C3e=new ah,iQi=new mN,ac=class i{constructor(t,e,r,n,s,a,o,A,l){i.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],t!==void 0&&this.set(t,e,r,n,s,a,o,A,l)}set(t,e,r,n,s,a,o,A,l){let c=this.elements;return c[0]=t,c[1]=n,c[2]=o,c[3]=e,c[4]=s,c[5]=A,c[6]=r,c[7]=a,c[8]=l,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(t){let e=this.elements,r=t.elements;return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],this}extractBasis(t,e,r){return t.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),r.setFromMatrix3Column(this,2),this}setFromMatrix4(t){let e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){let r=t.elements,n=e.elements,s=this.elements,a=r[0],o=r[3],A=r[6],l=r[1],c=r[4],p=r[7],d=r[2],_=r[5],I=r[8],y=n[0],B=n[3],x=n[6],w=n[1],D=n[4],T=n[7],j=n[2],z=n[5],W=n[8];return s[0]=a*y+o*w+A*j,s[3]=a*B+o*D+A*z,s[6]=a*x+o*T+A*W,s[1]=l*y+c*w+p*j,s[4]=l*B+c*D+p*z,s[7]=l*x+c*T+p*W,s[2]=d*y+_*w+I*j,s[5]=d*B+_*D+I*z,s[8]=d*x+_*T+I*W,this}multiplyScalar(t){let e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this}determinant(){let t=this.elements,e=t[0],r=t[1],n=t[2],s=t[3],a=t[4],o=t[5],A=t[6],l=t[7],c=t[8];return e*a*c-e*o*l-r*s*c+r*o*A+n*s*l-n*a*A}invert(){let t=this.elements,e=t[0],r=t[1],n=t[2],s=t[3],a=t[4],o=t[5],A=t[6],l=t[7],c=t[8],p=c*a-o*l,d=o*A-c*s,_=l*s-a*A,I=e*p+r*d+n*_;if(I===0)return this.set(0,0,0,0,0,0,0,0,0);let y=1/I;return t[0]=p*y,t[1]=(n*l-c*r)*y,t[2]=(o*r-n*a)*y,t[3]=d*y,t[4]=(c*e-n*A)*y,t[5]=(n*s-o*e)*y,t[6]=_*y,t[7]=(r*A-l*e)*y,t[8]=(a*e-r*s)*y,this}transpose(){let t,e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this}getNormalMatrix(t){return this.setFromMatrix4(t).invert().transpose()}transposeIntoArray(t){let e=this.elements;return t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],this}setUvTransform(t,e,r,n,s,a,o){let A=Math.cos(s),l=Math.sin(s);return this.set(r*A,r*l,-r*(A*a+l*o)+a+t,-n*l,n*A,-n*(-l*a+A*o)+o+e,0,0,1),this}scale(t,e){return this.premultiply(E3e.makeScale(t,e)),this}rotate(t){return this.premultiply(E3e.makeRotation(-t)),this}translate(t,e){return this.premultiply(E3e.makeTranslation(t,e)),this}makeTranslation(t,e){return t.isVector2?this.set(1,0,t.x,0,1,t.y,0,0,1):this.set(1,0,t,0,1,e,0,0,1),this}makeRotation(t){let e=Math.cos(t),r=Math.sin(t);return this.set(e,-r,0,r,e,0,0,0,1),this}makeScale(t,e){return this.set(t,0,0,0,e,0,0,0,1),this}equals(t){let e=this.elements,r=t.elements;for(let n=0;n<9;n++)if(e[n]!==r[n])return!1;return!0}fromArray(t,e=0){for(let r=0;r<9;r++)this.elements[r]=t[r+e];return this}toArray(t=[],e=0){let r=this.elements;return t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=r[3],t[e+4]=r[4],t[e+5]=r[5],t[e+6]=r[6],t[e+7]=r[7],t[e+8]=r[8],t}clone(){return new this.constructor().fromArray(this.elements)}},E3e=new ac;function D3e(i){return document.createElementNS("http://www.w3.org/1999/xhtml",i)}var rQi={};function R3e(i){i in rQi||(rQi[i]=!0,console.warn(i))}var nQi=new ac().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),sQi=new ac().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function rNn(){let i={enabled:!0,workingColorSpace:k3e,spaces:{},convert:function(n,s,a){return this.enabled===!1||s===a||!s||!a||(this.spaces[s].transfer===akt&&(n.r=xS(n.r),n.g=xS(n.g),n.b=xS(n.b)),this.spaces[s].primaries!==this.spaces[a].primaries&&(n.applyMatrix3(this.spaces[s].toXYZ),n.applyMatrix3(this.spaces[a].fromXYZ)),this.spaces[a].transfer===akt&&(n.r=KZ(n.r),n.g=KZ(n.g),n.b=KZ(n.b))),n},workingToColorSpace:function(n,s){return this.convert(n,this.workingColorSpace,s)},colorSpaceToWorking:function(n,s){return this.convert(n,s,this.workingColorSpace)},getPrimaries:function(n){return this.spaces[n].primaries},getTransfer:function(n){return n===t1e?M3e:this.spaces[n].transfer},getLuminanceCoefficients:function(n,s=this.workingColorSpace){return n.fromArray(this.spaces[s].luminanceCoefficients)},define:function(n){Object.assign(this.spaces,n)},_getMatrix:function(n,s,a){return n.copy(this.spaces[s].toXYZ).multiply(this.spaces[a].fromXYZ)},_getDrawingBufferColorSpace:function(n){return this.spaces[n].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(n=this.workingColorSpace){return this.spaces[n].workingColorSpaceConfig.unpackColorSpace},fromWorkingColorSpace:function(n,s){return R3e("THREE.ColorManagement: .fromWorkingColorSpace() has been renamed to .workingToColorSpace()."),i.workingToColorSpace(n,s)},toWorkingColorSpace:function(n,s){return R3e("THREE.ColorManagement: .toWorkingColorSpace() has been renamed to .colorSpaceToWorking()."),i.colorSpaceToWorking(n,s)}},t=[.64,.33,.3,.6,.15,.06],e=[.2126,.7152,.0722],r=[.3127,.329];return i.define({[k3e]:{primaries:t,whitePoint:r,transfer:M3e,toXYZ:nQi,fromXYZ:sQi,luminanceCoefficients:e,workingColorSpaceConfig:{unpackColorSpace:ZE},outputColorSpaceConfig:{drawingBufferColorSpace:ZE}},[ZE]:{primaries:t,whitePoint:r,transfer:akt,toXYZ:nQi,fromXYZ:sQi,luminanceCoefficients:e,outputColorSpaceConfig:{drawingBufferColorSpace:ZE}}}),i}var WE=rNn();function xS(i){return i<.04045?i*.0773993808:Math.pow(i*.9478672986+.0521327014,2.4)}function KZ(i){return i<.0031308?i*12.92:1.055*Math.pow(i,.41666)-.055}var zZ,N3e=class{static getDataURL(t,e="image/png"){if(/^data:/i.test(t.src)||typeof HTMLCanvasElement>"u")return t.src;let r;if(t instanceof HTMLCanvasElement)r=t;else{zZ===void 0&&(zZ=D3e("canvas")),zZ.width=t.width,zZ.height=t.height;let n=zZ.getContext("2d");t instanceof ImageData?n.putImageData(t,0,0):n.drawImage(t,0,0,t.width,t.height),r=zZ}return r.toDataURL(e)}static sRGBToLinear(t){if(typeof HTMLImageElement<"u"&&t instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&t instanceof ImageBitmap){let e=D3e("canvas");e.width=t.width,e.height=t.height;let r=e.getContext("2d");r.drawImage(t,0,0,t.width,t.height);let n=r.getImageData(0,0,t.width,t.height),s=n.data;for(let a=0;a<s.length;a++)s[a]=xS(s[a]/255)*255;return r.putImageData(n,0,0),e}else if(t.data){let e=t.data.slice(0);for(let r=0;r<e.length;r++)e instanceof Uint8Array||e instanceof Uint8ClampedArray?e[r]=Math.floor(xS(e[r]/255)*255):e[r]=xS(e[r]);return{data:e,width:t.width,height:t.height}}else return console.warn("THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied."),t}},nNn=0,L3e=class{constructor(t=null){this.isSource=!0,Object.defineProperty(this,"id",{value:nNn++}),this.uuid=e1e(),this.data=t,this.dataReady=!0,this.version=0}getSize(t){let e=this.data;return e instanceof HTMLVideoElement?t.set(e.videoWidth,e.videoHeight):e!==null?t.set(e.width,e.height,e.depth||0):t.set(0,0,0),t}set needsUpdate(t){t===!0&&this.version++}toJSON(t){let e=t===void 0||typeof t=="string";if(!e&&t.images[this.uuid]!==void 0)return t.images[this.uuid];let r={uuid:this.uuid,url:""},n=this.data;if(n!==null){let s;if(Array.isArray(n)){s=[];for(let a=0,o=n.length;a<o;a++)n[a].isDataTexture?s.push(B3e(n[a].image)):s.push(B3e(n[a]))}else s=B3e(n);r.url=s}return e||(t.images[this.uuid]=r),r}};function B3e(i){return typeof HTMLImageElement<"u"&&i instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&i instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&i instanceof ImageBitmap?N3e.getDataURL(i):i.data?{data:Array.from(i.data),width:i.width,height:i.height,type:i.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}var sNn=0,x3e=new ah,VZ=class i extends Vgt{constructor(t=i.DEFAULT_IMAGE,e=i.DEFAULT_MAPPING,r=Jgt,n=Jgt,s=pQi,a=dQi,o=fQi,A=_Qi,l=i.DEFAULT_ANISOTROPY,c=t1e){super(),this.isTexture=!0,Object.defineProperty(this,"id",{value:sNn++}),this.uuid=e1e(),this.name="",this.source=new L3e(t),this.mipmaps=[],this.mapping=e,this.channel=0,this.wrapS=r,this.wrapT=n,this.magFilter=s,this.minFilter=a,this.anisotropy=l,this.format=o,this.internalFormat=null,this.type=A,this.offset=new m8(0,0),this.repeat=new m8(1,1),this.center=new m8(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new ac,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.colorSpace=c,this.userData={},this.updateRanges=[],this.version=0,this.onUpdate=null,this.renderTarget=null,this.isRenderTargetTexture=!1,this.isArrayTexture=!!(t&&t.depth&&t.depth>1),this.pmremVersion=0}get width(){return this.source.getSize(x3e).x}get height(){return this.source.getSize(x3e).y}get depth(){return this.source.getSize(x3e).z}get image(){return this.source.data}set image(t=null){this.source.data=t}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}addUpdateRange(t,e){this.updateRanges.push({start:t,count:e})}clearUpdateRanges(){this.updateRanges.length=0}clone(){return new this.constructor().copy(this)}copy(t){return this.name=t.name,this.source=t.source,this.mipmaps=t.mipmaps.slice(0),this.mapping=t.mapping,this.channel=t.channel,this.wrapS=t.wrapS,this.wrapT=t.wrapT,this.magFilter=t.magFilter,this.minFilter=t.minFilter,this.anisotropy=t.anisotropy,this.format=t.format,this.internalFormat=t.internalFormat,this.type=t.type,this.offset.copy(t.offset),this.repeat.copy(t.repeat),this.center.copy(t.center),this.rotation=t.rotation,this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrix.copy(t.matrix),this.generateMipmaps=t.generateMipmaps,this.premultiplyAlpha=t.premultiplyAlpha,this.flipY=t.flipY,this.unpackAlignment=t.unpackAlignment,this.colorSpace=t.colorSpace,this.renderTarget=t.renderTarget,this.isRenderTargetTexture=t.isRenderTargetTexture,this.isArrayTexture=t.isArrayTexture,this.userData=JSON.parse(JSON.stringify(t.userData)),this.needsUpdate=!0,this}setValues(t){for(let e in t){let r=t[e];if(r===void 0){console.warn(`THREE.Texture.setValues(): parameter '${e}' has value of undefined.`);continue}let n=this[e];if(n===void 0){console.warn(`THREE.Texture.setValues(): property '${e}' does not exist.`);continue}n&&r&&n.isVector2&&r.isVector2||n&&r&&n.isVector3&&r.isVector3||n&&r&&n.isMatrix3&&r.isMatrix3?n.copy(r):this[e]=r}}toJSON(t){let e=t===void 0||typeof t=="string";if(!e&&t.textures[this.uuid]!==void 0)return t.textures[this.uuid];let r={metadata:{version:4.7,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(t).uuid,mapping:this.mapping,channel:this.channel,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,internalFormat:this.internalFormat,type:this.type,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(r.userData=this.userData),e||(t.textures[this.uuid]=r),r}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(t){if(this.mapping!==gQi)return t;if(t.applyMatrix3(this.matrix),t.x<0||t.x>1)switch(this.wrapS){case v3e:t.x=t.x-Math.floor(t.x);break;case Jgt:t.x=t.x<0?0:1;break;case w3e:Math.abs(Math.floor(t.x)%2)===1?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x);break}if(t.y<0||t.y>1)switch(this.wrapT){case v3e:t.y=t.y-Math.floor(t.y);break;case Jgt:t.y=t.y<0?0:1;break;case w3e:Math.abs(Math.floor(t.y)%2)===1?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y);break}return this.flipY&&(t.y=1-t.y),t}set needsUpdate(t){t===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(t){t===!0&&this.pmremVersion++}};VZ.DEFAULT_IMAGE=null;VZ.DEFAULT_MAPPING=gQi;VZ.DEFAULT_ANISOTROPY=1;var XE=class i{constructor(t,e,r,n,s,a,o,A,l,c,p,d,_,I,y,B){i.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],t!==void 0&&this.set(t,e,r,n,s,a,o,A,l,c,p,d,_,I,y,B)}set(t,e,r,n,s,a,o,A,l,c,p,d,_,I,y,B){let x=this.elements;return x[0]=t,x[4]=e,x[8]=r,x[12]=n,x[1]=s,x[5]=a,x[9]=o,x[13]=A,x[2]=l,x[6]=c,x[10]=p,x[14]=d,x[3]=_,x[7]=I,x[11]=y,x[15]=B,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new i().fromArray(this.elements)}copy(t){let e=this.elements,r=t.elements;return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],e[9]=r[9],e[10]=r[10],e[11]=r[11],e[12]=r[12],e[13]=r[13],e[14]=r[14],e[15]=r[15],this}copyPosition(t){let e=this.elements,r=t.elements;return e[12]=r[12],e[13]=r[13],e[14]=r[14],this}setFromMatrix3(t){let e=t.elements;return this.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1),this}extractBasis(t,e,r){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),r.setFromMatrixColumn(this,2),this}makeBasis(t,e,r){return this.set(t.x,e.x,r.x,0,t.y,e.y,r.y,0,t.z,e.z,r.z,0,0,0,0,1),this}extractRotation(t){let e=this.elements,r=t.elements,n=1/YZ.setFromMatrixColumn(t,0).length(),s=1/YZ.setFromMatrixColumn(t,1).length(),a=1/YZ.setFromMatrixColumn(t,2).length();return e[0]=r[0]*n,e[1]=r[1]*n,e[2]=r[2]*n,e[3]=0,e[4]=r[4]*s,e[5]=r[5]*s,e[6]=r[6]*s,e[7]=0,e[8]=r[8]*a,e[9]=r[9]*a,e[10]=r[10]*a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromEuler(t){let e=this.elements,r=t.x,n=t.y,s=t.z,a=Math.cos(r),o=Math.sin(r),A=Math.cos(n),l=Math.sin(n),c=Math.cos(s),p=Math.sin(s);if(t.order==="XYZ"){let d=a*c,_=a*p,I=o*c,y=o*p;e[0]=A*c,e[4]=-A*p,e[8]=l,e[1]=_+I*l,e[5]=d-y*l,e[9]=-o*A,e[2]=y-d*l,e[6]=I+_*l,e[10]=a*A}else if(t.order==="YXZ"){let d=A*c,_=A*p,I=l*c,y=l*p;e[0]=d+y*o,e[4]=I*o-_,e[8]=a*l,e[1]=a*p,e[5]=a*c,e[9]=-o,e[2]=_*o-I,e[6]=y+d*o,e[10]=a*A}else if(t.order==="ZXY"){let d=A*c,_=A*p,I=l*c,y=l*p;e[0]=d-y*o,e[4]=-a*p,e[8]=I+_*o,e[1]=_+I*o,e[5]=a*c,e[9]=y-d*o,e[2]=-a*l,e[6]=o,e[10]=a*A}else if(t.order==="ZYX"){let d=a*c,_=a*p,I=o*c,y=o*p;e[0]=A*c,e[4]=I*l-_,e[8]=d*l+y,e[1]=A*p,e[5]=y*l+d,e[9]=_*l-I,e[2]=-l,e[6]=o*A,e[10]=a*A}else if(t.order==="YZX"){let d=a*A,_=a*l,I=o*A,y=o*l;e[0]=A*c,e[4]=y-d*p,e[8]=I*p+_,e[1]=p,e[5]=a*c,e[9]=-o*c,e[2]=-l*c,e[6]=_*p+I,e[10]=d-y*p}else if(t.order==="XZY"){let d=a*A,_=a*l,I=o*A,y=o*l;e[0]=A*c,e[4]=-p,e[8]=l*c,e[1]=d*p+y,e[5]=a*c,e[9]=_*p-I,e[2]=I*p-_,e[6]=o*c,e[10]=y*p+d}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromQuaternion(t){return this.compose(aNn,t,oNn)}lookAt(t,e,r){let n=this.elements;return v2.subVectors(t,e),v2.lengthSq()===0&&(v2.z=1),v2.normalize(),_N.crossVectors(r,v2),_N.lengthSq()===0&&(Math.abs(r.z)===1?v2.x+=1e-4:v2.z+=1e-4,v2.normalize(),_N.crossVectors(r,v2)),_N.normalize(),ikt.crossVectors(v2,_N),n[0]=_N.x,n[4]=ikt.x,n[8]=v2.x,n[1]=_N.y,n[5]=ikt.y,n[9]=v2.y,n[2]=_N.z,n[6]=ikt.z,n[10]=v2.z,this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){let r=t.elements,n=e.elements,s=this.elements,a=r[0],o=r[4],A=r[8],l=r[12],c=r[1],p=r[5],d=r[9],_=r[13],I=r[2],y=r[6],B=r[10],x=r[14],w=r[3],D=r[7],T=r[11],j=r[15],z=n[0],W=n[4],N=n[8],F=n[12],U=n[1],J=n[5],Z=n[9],at=n[13],it=n[2],X=n[6],rt=n[10],ht=n[14],dt=n[3],Et=n[7],xt=n[11],Nt=n[15];return s[0]=a*z+o*U+A*it+l*dt,s[4]=a*W+o*J+A*X+l*Et,s[8]=a*N+o*Z+A*rt+l*xt,s[12]=a*F+o*at+A*ht+l*Nt,s[1]=c*z+p*U+d*it+_*dt,s[5]=c*W+p*J+d*X+_*Et,s[9]=c*N+p*Z+d*rt+_*xt,s[13]=c*F+p*at+d*ht+_*Nt,s[2]=I*z+y*U+B*it+x*dt,s[6]=I*W+y*J+B*X+x*Et,s[10]=I*N+y*Z+B*rt+x*xt,s[14]=I*F+y*at+B*ht+x*Nt,s[3]=w*z+D*U+T*it+j*dt,s[7]=w*W+D*J+T*X+j*Et,s[11]=w*N+D*Z+T*rt+j*xt,s[15]=w*F+D*at+T*ht+j*Nt,this}multiplyScalar(t){let e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this}determinant(){let t=this.elements,e=t[0],r=t[4],n=t[8],s=t[12],a=t[1],o=t[5],A=t[9],l=t[13],c=t[2],p=t[6],d=t[10],_=t[14],I=t[3],y=t[7],B=t[11],x=t[15];return I*(+s*A*p-n*l*p-s*o*d+r*l*d+n*o*_-r*A*_)+y*(+e*A*_-e*l*d+s*a*d-n*a*_+n*l*c-s*A*c)+B*(+e*l*p-e*o*_-s*a*p+r*a*_+s*o*c-r*l*c)+x*(-n*o*c-e*A*p+e*o*d+n*a*p-r*a*d+r*A*c)}transpose(){let t=this.elements,e;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this}setPosition(t,e,r){let n=this.elements;return t.isVector3?(n[12]=t.x,n[13]=t.y,n[14]=t.z):(n[12]=t,n[13]=e,n[14]=r),this}invert(){let t=this.elements,e=t[0],r=t[1],n=t[2],s=t[3],a=t[4],o=t[5],A=t[6],l=t[7],c=t[8],p=t[9],d=t[10],_=t[11],I=t[12],y=t[13],B=t[14],x=t[15],w=p*B*l-y*d*l+y*A*_-o*B*_-p*A*x+o*d*x,D=I*d*l-c*B*l-I*A*_+a*B*_+c*A*x-a*d*x,T=c*y*l-I*p*l+I*o*_-a*y*_-c*o*x+a*p*x,j=I*p*A-c*y*A-I*o*d+a*y*d+c*o*B-a*p*B,z=e*w+r*D+n*T+s*j;if(z===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);let W=1/z;return t[0]=w*W,t[1]=(y*d*s-p*B*s-y*n*_+r*B*_+p*n*x-r*d*x)*W,t[2]=(o*B*s-y*A*s+y*n*l-r*B*l-o*n*x+r*A*x)*W,t[3]=(p*A*s-o*d*s-p*n*l+r*d*l+o*n*_-r*A*_)*W,t[4]=D*W,t[5]=(c*B*s-I*d*s+I*n*_-e*B*_-c*n*x+e*d*x)*W,t[6]=(I*A*s-a*B*s-I*n*l+e*B*l+a*n*x-e*A*x)*W,t[7]=(a*d*s-c*A*s+c*n*l-e*d*l-a*n*_+e*A*_)*W,t[8]=T*W,t[9]=(I*p*s-c*y*s-I*r*_+e*y*_+c*r*x-e*p*x)*W,t[10]=(a*y*s-I*o*s+I*r*l-e*y*l-a*r*x+e*o*x)*W,t[11]=(c*o*s-a*p*s-c*r*l+e*p*l+a*r*_-e*o*_)*W,t[12]=j*W,t[13]=(c*y*n-I*p*n+I*r*d-e*y*d-c*r*B+e*p*B)*W,t[14]=(I*o*n-a*y*n-I*r*A+e*y*A+a*r*B-e*o*B)*W,t[15]=(a*p*n-c*o*n+c*r*A-e*p*A-a*r*d+e*o*d)*W,this}scale(t){let e=this.elements,r=t.x,n=t.y,s=t.z;return e[0]*=r,e[4]*=n,e[8]*=s,e[1]*=r,e[5]*=n,e[9]*=s,e[2]*=r,e[6]*=n,e[10]*=s,e[3]*=r,e[7]*=n,e[11]*=s,this}getMaxScaleOnAxis(){let t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],r=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],n=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,r,n))}makeTranslation(t,e,r){return t.isVector3?this.set(1,0,0,t.x,0,1,0,t.y,0,0,1,t.z,0,0,0,1):this.set(1,0,0,t,0,1,0,e,0,0,1,r,0,0,0,1),this}makeRotationX(t){let e=Math.cos(t),r=Math.sin(t);return this.set(1,0,0,0,0,e,-r,0,0,r,e,0,0,0,0,1),this}makeRotationY(t){let e=Math.cos(t),r=Math.sin(t);return this.set(e,0,r,0,0,1,0,0,-r,0,e,0,0,0,0,1),this}makeRotationZ(t){let e=Math.cos(t),r=Math.sin(t);return this.set(e,-r,0,0,r,e,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(t,e){let r=Math.cos(e),n=Math.sin(e),s=1-r,a=t.x,o=t.y,A=t.z,l=s*a,c=s*o;return this.set(l*a+r,l*o-n*A,l*A+n*o,0,l*o+n*A,c*o+r,c*A-n*a,0,l*A-n*o,c*A+n*a,s*A*A+r,0,0,0,0,1),this}makeScale(t,e,r){return this.set(t,0,0,0,0,e,0,0,0,0,r,0,0,0,0,1),this}makeShear(t,e,r,n,s,a){return this.set(1,r,s,0,t,1,a,0,e,n,1,0,0,0,0,1),this}compose(t,e,r){let n=this.elements,s=e._x,a=e._y,o=e._z,A=e._w,l=s+s,c=a+a,p=o+o,d=s*l,_=s*c,I=s*p,y=a*c,B=a*p,x=o*p,w=A*l,D=A*c,T=A*p,j=r.x,z=r.y,W=r.z;return n[0]=(1-(y+x))*j,n[1]=(_+T)*j,n[2]=(I-D)*j,n[3]=0,n[4]=(_-T)*z,n[5]=(1-(d+x))*z,n[6]=(B+w)*z,n[7]=0,n[8]=(I+D)*W,n[9]=(B-w)*W,n[10]=(1-(d+y))*W,n[11]=0,n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=1,this}decompose(t,e,r){let n=this.elements,s=YZ.set(n[0],n[1],n[2]).length(),a=YZ.set(n[4],n[5],n[6]).length(),o=YZ.set(n[8],n[9],n[10]).length();this.determinant()<0&&(s=-s),t.x=n[12],t.y=n[13],t.z=n[14],f8.copy(this);let l=1/s,c=1/a,p=1/o;return f8.elements[0]*=l,f8.elements[1]*=l,f8.elements[2]*=l,f8.elements[4]*=c,f8.elements[5]*=c,f8.elements[6]*=c,f8.elements[8]*=p,f8.elements[9]*=p,f8.elements[10]*=p,e.setFromRotationMatrix(f8),r.x=s,r.y=a,r.z=o,this}makePerspective(t,e,r,n,s,a,o=Kgt){let A=this.elements,l=2*s/(e-t),c=2*s/(r-n),p=(e+t)/(e-t),d=(r+n)/(r-n),_,I;if(o===Kgt)_=-(a+s)/(a-s),I=-2*a*s/(a-s);else if(o===eQi)_=-a/(a-s),I=-a*s/(a-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+o);return A[0]=l,A[4]=0,A[8]=p,A[12]=0,A[1]=0,A[5]=c,A[9]=d,A[13]=0,A[2]=0,A[6]=0,A[10]=_,A[14]=I,A[3]=0,A[7]=0,A[11]=-1,A[15]=0,this}makeOrthographic(t,e,r,n,s,a,o=Kgt){let A=this.elements,l=1/(e-t),c=1/(r-n),p=1/(a-s),d=(e+t)*l,_=(r+n)*c,I,y;if(o===Kgt)I=(a+s)*p,y=-2*p;else if(o===eQi)I=s*p,y=-1*p;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+o);return A[0]=2*l,A[4]=0,A[8]=0,A[12]=-d,A[1]=0,A[5]=2*c,A[9]=0,A[13]=-_,A[2]=0,A[6]=0,A[10]=y,A[14]=-I,A[3]=0,A[7]=0,A[11]=0,A[15]=1,this}equals(t){let e=this.elements,r=t.elements;for(let n=0;n<16;n++)if(e[n]!==r[n])return!1;return!0}fromArray(t,e=0){for(let r=0;r<16;r++)this.elements[r]=t[r+e];return this}toArray(t=[],e=0){let r=this.elements;return t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=r[3],t[e+4]=r[4],t[e+5]=r[5],t[e+6]=r[6],t[e+7]=r[7],t[e+8]=r[8],t[e+9]=r[9],t[e+10]=r[10],t[e+11]=r[11],t[e+12]=r[12],t[e+13]=r[13],t[e+14]=r[14],t[e+15]=r[15],t}},YZ=new ah,f8=new XE,aNn=new ah(0,0,0),oNn=new ah(1,1,1),_N=new ah,ikt=new ah,v2=new ah,aQi=new XE,oQi=new mN,Wgt=class i{constructor(t=0,e=0,r=0,n=i.DEFAULT_ORDER){this.isEuler=!0,this._x=t,this._y=e,this._z=r,this._order=n}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get order(){return this._order}set order(t){this._order=t,this._onChangeCallback()}set(t,e,r,n=this._order){return this._x=t,this._y=e,this._z=r,this._order=n,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this._onChangeCallback(),this}setFromRotationMatrix(t,e=this._order,r=!0){let n=t.elements,s=n[0],a=n[4],o=n[8],A=n[1],l=n[5],c=n[9],p=n[2],d=n[6],_=n[10];switch(e){case"XYZ":this._y=Math.asin(Mg(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-c,_),this._z=Math.atan2(-a,s)):(this._x=Math.atan2(d,l),this._z=0);break;case"YXZ":this._x=Math.asin(-Mg(c,-1,1)),Math.abs(c)<.9999999?(this._y=Math.atan2(o,_),this._z=Math.atan2(A,l)):(this._y=Math.atan2(-p,s),this._z=0);break;case"ZXY":this._x=Math.asin(Mg(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(-p,_),this._z=Math.atan2(-a,l)):(this._y=0,this._z=Math.atan2(A,s));break;case"ZYX":this._y=Math.asin(-Mg(p,-1,1)),Math.abs(p)<.9999999?(this._x=Math.atan2(d,_),this._z=Math.atan2(A,s)):(this._x=0,this._z=Math.atan2(-a,l));break;case"YZX":this._z=Math.asin(Mg(A,-1,1)),Math.abs(A)<.9999999?(this._x=Math.atan2(-c,l),this._y=Math.atan2(-p,s)):(this._x=0,this._y=Math.atan2(o,_));break;case"XZY":this._z=Math.asin(-Mg(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(d,l),this._y=Math.atan2(o,s)):(this._x=Math.atan2(-c,_),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+e)}return this._order=e,r===!0&&this._onChangeCallback(),this}setFromQuaternion(t,e,r){return aQi.makeRotationFromQuaternion(t),this.setFromRotationMatrix(aQi,e,r)}setFromVector3(t,e=this._order){return this.set(t.x,t.y,t.z,e)}reorder(t){return oQi.setFromEuler(this),this.setFromQuaternion(oQi,t)}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order}fromArray(t){return this._x=t[0],this._y=t[1],this._z=t[2],t[3]!==void 0&&(this._order=t[3]),this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}};Wgt.DEFAULT_ORDER="XYZ";var Akt=class{constructor(){this.mask=1}set(t){this.mask=(1<<t|0)>>>0}enable(t){this.mask|=1<<t|0}enableAll(){this.mask=-1}toggle(t){this.mask^=1<<t|0}disable(t){this.mask&=~(1<<t|0)}disableAll(){this.mask=0}test(t){return(this.mask&t.mask)!==0}isEnabled(t){return(this.mask&(1<<t|0))!==0}},ANn=0,AQi=new ah,qZ=new mN,BS=new XE,rkt=new ah,qgt=new ah,lNn=new ah,cNn=new mN,lQi=new ah(1,0,0),cQi=new ah(0,1,0),hQi=new ah(0,0,1),uQi={type:"added"},hNn={type:"removed"},JZ={type:"childadded",child:null},Q3e={type:"childremoved",child:null},Zgt=class i extends Vgt{constructor(){super(),this.isObject3D=!0,Object.defineProperty(this,"id",{value:ANn++}),this.uuid=e1e(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=i.DEFAULT_UP.clone();let t=new ah,e=new Wgt,r=new mN,n=new ah(1,1,1);function s(){r.setFromEuler(e,!1)}function a(){e.setFromQuaternion(r,void 0,!1)}e._onChange(s),r._onChange(a),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:t},rotation:{configurable:!0,enumerable:!0,value:e},quaternion:{configurable:!0,enumerable:!0,value:r},scale:{configurable:!0,enumerable:!0,value:n},modelViewMatrix:{value:new XE},normalMatrix:{value:new ac}}),this.matrix=new XE,this.matrixWorld=new XE,this.matrixAutoUpdate=i.DEFAULT_MATRIX_AUTO_UPDATE,this.matrixWorldAutoUpdate=i.DEFAULT_MATRIX_WORLD_AUTO_UPDATE,this.matrixWorldNeedsUpdate=!1,this.layers=new Akt,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.customDepthMaterial=void 0,this.customDistanceMaterial=void 0,this.userData={}}onBeforeShadow(){}onAfterShadow(){}onBeforeRender(){}onAfterRender(){}applyMatrix4(t){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(t),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(t){return this.quaternion.premultiply(t),this}setRotationFromAxisAngle(t,e){this.quaternion.setFromAxisAngle(t,e)}setRotationFromEuler(t){this.quaternion.setFromEuler(t,!0)}setRotationFromMatrix(t){this.quaternion.setFromRotationMatrix(t)}setRotationFromQuaternion(t){this.quaternion.copy(t)}rotateOnAxis(t,e){return qZ.setFromAxisAngle(t,e),this.quaternion.multiply(qZ),this}rotateOnWorldAxis(t,e){return qZ.setFromAxisAngle(t,e),this.quaternion.premultiply(qZ),this}rotateX(t){return this.rotateOnAxis(lQi,t)}rotateY(t){return this.rotateOnAxis(cQi,t)}rotateZ(t){return this.rotateOnAxis(hQi,t)}translateOnAxis(t,e){return AQi.copy(t).applyQuaternion(this.quaternion),this.position.add(AQi.multiplyScalar(e)),this}translateX(t){return this.translateOnAxis(lQi,t)}translateY(t){return this.translateOnAxis(cQi,t)}translateZ(t){return this.translateOnAxis(hQi,t)}localToWorld(t){return this.updateWorldMatrix(!0,!1),t.applyMatrix4(this.matrixWorld)}worldToLocal(t){return this.updateWorldMatrix(!0,!1),t.applyMatrix4(BS.copy(this.matrixWorld).invert())}lookAt(t,e,r){t.isVector3?rkt.copy(t):rkt.set(t,e,r);let n=this.parent;this.updateWorldMatrix(!0,!1),qgt.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?BS.lookAt(qgt,rkt,this.up):BS.lookAt(rkt,qgt,this.up),this.quaternion.setFromRotationMatrix(BS),n&&(BS.extractRotation(n.matrixWorld),qZ.setFromRotationMatrix(BS),this.quaternion.premultiply(qZ.invert()))}add(t){if(arguments.length>1){for(let e=0;e<arguments.length;e++)this.add(arguments[e]);return this}return t===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",t),this):(t&&t.isObject3D?(t.removeFromParent(),t.parent=this,this.children.push(t),t.dispatchEvent(uQi),JZ.child=t,this.dispatchEvent(JZ),JZ.child=null):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",t),this)}remove(t){if(arguments.length>1){for(let r=0;r<arguments.length;r++)this.remove(arguments[r]);return this}let e=this.children.indexOf(t);return e!==-1&&(t.parent=null,this.children.splice(e,1),t.dispatchEvent(hNn),Q3e.child=t,this.dispatchEvent(Q3e),Q3e.child=null),this}removeFromParent(){let t=this.parent;return t!==null&&t.remove(this),this}clear(){return this.remove(...this.children)}attach(t){return this.updateWorldMatrix(!0,!1),BS.copy(this.matrixWorld).invert(),t.parent!==null&&(t.parent.updateWorldMatrix(!0,!1),BS.multiply(t.parent.matrixWorld)),t.applyMatrix4(BS),t.removeFromParent(),t.parent=this,this.children.push(t),t.updateWorldMatrix(!1,!0),t.dispatchEvent(uQi),JZ.child=t,this.dispatchEvent(JZ),JZ.child=null,this}getObjectById(t){return this.getObjectByProperty("id",t)}getObjectByName(t){return this.getObjectByProperty("name",t)}getObjectByProperty(t,e){if(this[t]===e)return this;for(let r=0,n=this.children.length;r<n;r++){let a=this.children[r].getObjectByProperty(t,e);if(a!==void 0)return a}}getObjectsByProperty(t,e,r=[]){this[t]===e&&r.push(this);let n=this.children;for(let s=0,a=n.length;s<a;s++)n[s].getObjectsByProperty(t,e,r);return r}getWorldPosition(t){return this.updateWorldMatrix(!0,!1),t.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(t){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(qgt,t,lNn),t}getWorldScale(t){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(qgt,cNn,t),t}getWorldDirection(t){this.updateWorldMatrix(!0,!1);let e=this.matrixWorld.elements;return t.set(e[8],e[9],e[10]).normalize()}raycast(){}traverse(t){t(this);let e=this.children;for(let r=0,n=e.length;r<n;r++)e[r].traverse(t)}traverseVisible(t){if(this.visible===!1)return;t(this);let e=this.children;for(let r=0,n=e.length;r<n;r++)e[r].traverseVisible(t)}traverseAncestors(t){let e=this.parent;e!==null&&(t(e),e.traverseAncestors(t))}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0}updateMatrixWorld(t){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||t)&&(this.matrixWorldAutoUpdate===!0&&(this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix)),this.matrixWorldNeedsUpdate=!1,t=!0);let e=this.children;for(let r=0,n=e.length;r<n;r++)e[r].updateMatrixWorld(t)}updateWorldMatrix(t,e){let r=this.parent;if(t===!0&&r!==null&&r.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),this.matrixWorldAutoUpdate===!0&&(this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix)),e===!0){let n=this.children;for(let s=0,a=n.length;s<a;s++)n[s].updateWorldMatrix(!1,!0)}}toJSON(t){let e=t===void 0||typeof t=="string",r={};e&&(t={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{},nodes:{}},r.metadata={version:4.7,type:"Object",generator:"Object3D.toJSON"});let n={};n.uuid=this.uuid,n.type=this.type,this.name!==""&&(n.name=this.name),this.castShadow===!0&&(n.castShadow=!0),this.receiveShadow===!0&&(n.receiveShadow=!0),this.visible===!1&&(n.visible=!1),this.frustumCulled===!1&&(n.frustumCulled=!1),this.renderOrder!==0&&(n.renderOrder=this.renderOrder),Object.keys(this.userData).length>0&&(n.userData=this.userData),n.layers=this.layers.mask,n.matrix=this.matrix.toArray(),n.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(n.matrixAutoUpdate=!1),this.isInstancedMesh&&(n.type="InstancedMesh",n.count=this.count,n.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(n.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(n.type="BatchedMesh",n.perObjectFrustumCulled=this.perObjectFrustumCulled,n.sortObjects=this.sortObjects,n.drawRanges=this._drawRanges,n.reservedRanges=this._reservedRanges,n.geometryInfo=this._geometryInfo.map(o=>({...o,boundingBox:o.boundingBox?o.boundingBox.toJSON():void 0,boundingSphere:o.boundingSphere?o.boundingSphere.toJSON():void 0})),n.instanceInfo=this._instanceInfo.map(o=>({...o})),n.availableInstanceIds=this._availableInstanceIds.slice(),n.availableGeometryIds=this._availableGeometryIds.slice(),n.nextIndexStart=this._nextIndexStart,n.nextVertexStart=this._nextVertexStart,n.geometryCount=this._geometryCount,n.maxInstanceCount=this._maxInstanceCount,n.maxVertexCount=this._maxVertexCount,n.maxIndexCount=this._maxIndexCount,n.geometryInitialized=this._geometryInitialized,n.matricesTexture=this._matricesTexture.toJSON(t),n.indirectTexture=this._indirectTexture.toJSON(t),this._colorsTexture!==null&&(n.colorsTexture=this._colorsTexture.toJSON(t)),this.boundingSphere!==null&&(n.boundingSphere=this.boundingSphere.toJSON()),this.boundingBox!==null&&(n.boundingBox=this.boundingBox.toJSON()));function s(o,A){return o[A.uuid]===void 0&&(o[A.uuid]=A.toJSON(t)),A.uuid}if(this.isScene)this.background&&(this.background.isColor?n.background=this.background.toJSON():this.background.isTexture&&(n.background=this.background.toJSON(t).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(n.environment=this.environment.toJSON(t).uuid);else if(this.isMesh||this.isLine||this.isPoints){n.geometry=s(t.geometries,this.geometry);let o=this.geometry.parameters;if(o!==void 0&&o.shapes!==void 0){let A=o.shapes;if(Array.isArray(A))for(let l=0,c=A.length;l<c;l++){let p=A[l];s(t.shapes,p)}else s(t.shapes,A)}}if(this.isSkinnedMesh&&(n.bindMode=this.bindMode,n.bindMatrix=this.bindMatrix.toArray(),this.skeleton!==void 0&&(s(t.skeletons,this.skeleton),n.skeleton=this.skeleton.uuid)),this.material!==void 0)if(Array.isArray(this.material)){let o=[];for(let A=0,l=this.material.length;A<l;A++)o.push(s(t.materials,this.material[A]));n.material=o}else n.material=s(t.materials,this.material);if(this.children.length>0){n.children=[];for(let o=0;o<this.children.length;o++)n.children.push(this.children[o].toJSON(t).object)}if(this.animations.length>0){n.animations=[];for(let o=0;o<this.animations.length;o++){let A=this.animations[o];n.animations.push(s(t.animations,A))}}if(e){let o=a(t.geometries),A=a(t.materials),l=a(t.textures),c=a(t.images),p=a(t.shapes),d=a(t.skeletons),_=a(t.animations),I=a(t.nodes);o.length>0&&(r.geometries=o),A.length>0&&(r.materials=A),l.length>0&&(r.textures=l),c.length>0&&(r.images=c),p.length>0&&(r.shapes=p),d.length>0&&(r.skeletons=d),_.length>0&&(r.animations=_),I.length>0&&(r.nodes=I)}return r.object=n,r;function a(o){let A=[];for(let l in o){let c=o[l];delete c.metadata,A.push(c)}return A}}clone(t){return new this.constructor().copy(this,t)}copy(t,e=!0){if(this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.rotation.order=t.rotation.order,this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldAutoUpdate=t.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.animations=t.animations.slice(),this.userData=JSON.parse(JSON.stringify(t.userData)),e===!0)for(let r=0;r<t.children.length;r++){let n=t.children[r];this.add(n.clone())}return this}};Zgt.DEFAULT_UP=new ah(0,1,0);Zgt.DEFAULT_MATRIX_AUTO_UPDATE=!0;Zgt.DEFAULT_MATRIX_WORLD_AUTO_UPDATE=!0;var mQi={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},fN={h:0,s:0,l:0},nkt={h:0,s:0,l:0};function b3e(i,t,e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?i+(t-i)*6*e:e<1/2?t:e<2/3?i+(t-i)*6*(2/3-e):i}var t_=class{constructor(t,e,r){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(t,e,r)}set(t,e,r){if(e===void 0&&r===void 0){let n=t;n&&n.isColor?this.copy(n):typeof n=="number"?this.setHex(n):typeof n=="string"&&this.setStyle(n)}else this.setRGB(t,e,r);return this}setScalar(t){return this.r=t,this.g=t,this.b=t,this}setHex(t,e=ZE){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(t&255)/255,WE.colorSpaceToWorking(this,e),this}setRGB(t,e,r,n=WE.workingColorSpace){return this.r=t,this.g=e,this.b=r,WE.colorSpaceToWorking(this,n),this}setHSL(t,e,r,n=WE.workingColorSpace){if(t=iNn(t,1),e=Mg(e,0,1),r=Mg(r,0,1),e===0)this.r=this.g=this.b=r;else{let s=r<=.5?r*(1+e):r+e-r*e,a=2*r-s;this.r=b3e(a,s,t+1/3),this.g=b3e(a,s,t),this.b=b3e(a,s,t-1/3)}return WE.colorSpaceToWorking(this,n),this}setStyle(t,e=ZE){function r(s){s!==void 0&&parseFloat(s)<1&&console.warn("THREE.Color: Alpha component of "+t+" will be ignored.")}let n;if(n=/^(\w+)\(([^\)]*)\)/.exec(t)){let s,a=n[1],o=n[2];switch(a){case"rgb":case"rgba":if(s=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return r(s[4]),this.setRGB(Math.min(255,parseInt(s[1],10))/255,Math.min(255,parseInt(s[2],10))/255,Math.min(255,parseInt(s[3],10))/255,e);if(s=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return r(s[4]),this.setRGB(Math.min(100,parseInt(s[1],10))/100,Math.min(100,parseInt(s[2],10))/100,Math.min(100,parseInt(s[3],10))/100,e);break;case"hsl":case"hsla":if(s=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return r(s[4]),this.setHSL(parseFloat(s[1])/360,parseFloat(s[2])/100,parseFloat(s[3])/100,e);break;default:console.warn("THREE.Color: Unknown color model "+t)}}else if(n=/^\#([A-Fa-f\d]+)$/.exec(t)){let s=n[1],a=s.length;if(a===3)return this.setRGB(parseInt(s.charAt(0),16)/15,parseInt(s.charAt(1),16)/15,parseInt(s.charAt(2),16)/15,e);if(a===6)return this.setHex(parseInt(s,16),e);console.warn("THREE.Color: Invalid hex color "+t)}else if(t&&t.length>0)return this.setColorName(t,e);return this}setColorName(t,e=ZE){let r=mQi[t.toLowerCase()];return r!==void 0?this.setHex(r,e):console.warn("THREE.Color: Unknown color "+t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copySRGBToLinear(t){return this.r=xS(t.r),this.g=xS(t.g),this.b=xS(t.b),this}copyLinearToSRGB(t){return this.r=KZ(t.r),this.g=KZ(t.g),this.b=KZ(t.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(t=ZE){return WE.workingToColorSpace(z6.copy(this),t),Math.round(Mg(z6.r*255,0,255))*65536+Math.round(Mg(z6.g*255,0,255))*256+Math.round(Mg(z6.b*255,0,255))}getHexString(t=ZE){return("000000"+this.getHex(t).toString(16)).slice(-6)}getHSL(t,e=WE.workingColorSpace){WE.workingToColorSpace(z6.copy(this),e);let r=z6.r,n=z6.g,s=z6.b,a=Math.max(r,n,s),o=Math.min(r,n,s),A,l,c=(o+a)/2;if(o===a)A=0,l=0;else{let p=a-o;switch(l=c<=.5?p/(a+o):p/(2-a-o),a){case r:A=(n-s)/p+(n<s?6:0);break;case n:A=(s-r)/p+2;break;case s:A=(r-n)/p+4;break}A/=6}return t.h=A,t.s=l,t.l=c,t}getRGB(t,e=WE.workingColorSpace){return WE.workingToColorSpace(z6.copy(this),e),t.r=z6.r,t.g=z6.g,t.b=z6.b,t}getStyle(t=ZE){WE.workingToColorSpace(z6.copy(this),t);let e=z6.r,r=z6.g,n=z6.b;return t!==ZE?`color(${t} ${e.toFixed(3)} ${r.toFixed(3)} ${n.toFixed(3)})`:`rgb(${Math.round(e*255)},${Math.round(r*255)},${Math.round(n*255)})`}offsetHSL(t,e,r){return this.getHSL(fN),this.setHSL(fN.h+t,fN.s+e,fN.l+r)}add(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this}addColors(t,e){return this.r=t.r+e.r,this.g=t.g+e.g,this.b=t.b+e.b,this}addScalar(t){return this.r+=t,this.g+=t,this.b+=t,this}sub(t){return this.r=Math.max(0,this.r-t.r),this.g=Math.max(0,this.g-t.g),this.b=Math.max(0,this.b-t.b),this}multiply(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this}multiplyScalar(t){return this.r*=t,this.g*=t,this.b*=t,this}lerp(t,e){return this.r+=(t.r-this.r)*e,this.g+=(t.g-this.g)*e,this.b+=(t.b-this.b)*e,this}lerpColors(t,e,r){return this.r=t.r+(e.r-t.r)*r,this.g=t.g+(e.g-t.g)*r,this.b=t.b+(e.b-t.b)*r,this}lerpHSL(t,e){this.getHSL(fN),t.getHSL(nkt);let r=y3e(fN.h,nkt.h,e),n=y3e(fN.s,nkt.s,e),s=y3e(fN.l,nkt.l,e);return this.setHSL(r,n,s),this}setFromVector3(t){return this.r=t.x,this.g=t.y,this.b=t.z,this}applyMatrix3(t){let e=this.r,r=this.g,n=this.b,s=t.elements;return this.r=s[0]*e+s[3]*r+s[6]*n,this.g=s[1]*e+s[4]*r+s[7]*n,this.b=s[2]*e+s[5]*r+s[8]*n,this}equals(t){return t.r===this.r&&t.g===this.g&&t.b===this.b}fromArray(t,e=0){return this.r=t[e],this.g=t[e+1],this.b=t[e+2],this}toArray(t=[],e=0){return t[e]=this.r,t[e+1]=this.g,t[e+2]=this.b,t}fromBufferAttribute(t,e){return this.r=t.getX(e),this.g=t.getY(e),this.b=t.getZ(e),this}toJSON(){return this.getHex()}*[Symbol.iterator](){yield this.r,yield this.g,yield this.b}},z6=new t_;t_.NAMES=mQi;function IQi(i){let t={};for(let e in i){t[e]={};for(let r in i[e]){let n=i[e][r];n&&(n.isColor||n.isMatrix3||n.isMatrix4||n.isVector2||n.isVector3||n.isVector4||n.isTexture||n.isQuaternion)?n.isRenderTargetTexture?(console.warn("UniformsUtils: Textures of render targets cannot be cloned via cloneUniforms() or mergeUniforms()."),t[e][r]=null):t[e][r]=n.clone():Array.isArray(n)?t[e][r]=n.slice():t[e][r]=n}}return t}function Em(i){let t={};for(let e=0;e<i.length;e++){let r=IQi(i[e]);for(let n in r)t[n]=r[n]}return t}function skt(i,t){return!i||i.constructor===t?i:typeof t.BYTES_PER_ELEMENT=="number"?new t(i):Array.prototype.slice.call(i)}function uNn(i){return ArrayBuffer.isView(i)&&!(i instanceof DataView)}var WZ=class{constructor(t,e,r,n){this.parameterPositions=t,this._cachedIndex=0,this.resultBuffer=n!==void 0?n:new e.constructor(r),this.sampleValues=e,this.valueSize=r,this.settings=null,this.DefaultSettings_={}}evaluate(t){let e=this.parameterPositions,r=this._cachedIndex,n=e[r],s=e[r-1];t:{e:{let a;i:{r:if(!(t<n)){for(let o=r+2;;){if(n===void 0){if(t<s)break r;return r=e.length,this._cachedIndex=r,this.copySampleValue_(r-1)}if(r===o)break;if(s=n,n=e[++r],t<n)break e}a=e.length;break i}if(!(t>=s)){let o=e[1];t<o&&(r=2,s=o);for(let A=r-2;;){if(s===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(r===A)break;if(n=s,s=e[--r-1],t>=s)break e}a=r,r=0;break i}break t}for(;r<a;){let o=r+a>>>1;t<e[o]?a=o:r=o+1}if(n=e[r],s=e[r-1],s===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(n===void 0)return r=e.length,this._cachedIndex=r,this.copySampleValue_(r-1)}this._cachedIndex=r,this.intervalChanged_(r,s,n)}return this.interpolate_(r,s,t,n)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(t){let e=this.resultBuffer,r=this.sampleValues,n=this.valueSize,s=t*n;for(let a=0;a!==n;++a)e[a]=r[s+a];return e}interpolate_(){throw new Error("call to abstract method")}intervalChanged_(){}},G3e=class extends WZ{constructor(t,e,r,n){super(t,e,r,n),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:X7i,endingEnd:X7i}}intervalChanged_(t,e,r){let n=this.parameterPositions,s=t-2,a=t+1,o=n[s],A=n[a];if(o===void 0)switch(this.getSettings_().endingStart){case $7i:s=t,o=2*e-r;break;case tQi:s=n.length-2,o=e+n[s]-n[s+1];break;default:s=t,o=r}if(A===void 0)switch(this.getSettings_().endingEnd){case $7i:a=t,A=2*r-e;break;case tQi:a=1,A=r+n[1]-n[0];break;default:a=t-1,A=e}let l=(r-e)*.5,c=this.valueSize;this._weightPrev=l/(e-o),this._weightNext=l/(A-r),this._offsetPrev=s*c,this._offsetNext=a*c}interpolate_(t,e,r,n){let s=this.resultBuffer,a=this.sampleValues,o=this.valueSize,A=t*o,l=A-o,c=this._offsetPrev,p=this._offsetNext,d=this._weightPrev,_=this._weightNext,I=(r-e)/(n-e),y=I*I,B=y*I,x=-d*B+2*d*y-d*I,w=(1+d)*B+(-1.5-2*d)*y+(-.5+d)*I+1,D=(-1-_)*B+(1.5+_)*y+.5*I,T=_*B-_*y;for(let j=0;j!==o;++j)s[j]=x*a[c+j]+w*a[l+j]+D*a[A+j]+T*a[p+j];return s}},F3e=class extends WZ{constructor(t,e,r,n){super(t,e,r,n)}interpolate_(t,e,r,n){let s=this.resultBuffer,a=this.sampleValues,o=this.valueSize,A=t*o,l=A-o,c=(r-e)/(n-e),p=1-c;for(let d=0;d!==o;++d)s[d]=a[l+d]*p+a[A+d]*c;return s}},T3e=class extends WZ{constructor(t,e,r,n){super(t,e,r,n)}interpolate_(t){return this.copySampleValue_(t-1)}},$E=class{constructor(t,e,r,n){if(t===void 0)throw new Error("THREE.KeyframeTrack: track name is undefined");if(e===void 0||e.length===0)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+t);this.name=t,this.times=skt(e,this.TimeBufferType),this.values=skt(r,this.ValueBufferType),this.setInterpolation(n||this.DefaultInterpolation)}static toJSON(t){let e=t.constructor,r;if(e.toJSON!==this.toJSON)r=e.toJSON(t);else{r={name:t.name,times:skt(t.times,Array),values:skt(t.values,Array)};let n=t.getInterpolation();n!==t.DefaultInterpolation&&(r.interpolation=n)}return r.type=t.ValueTypeName,r}InterpolantFactoryMethodDiscrete(t){return new T3e(this.times,this.values,this.getValueSize(),t)}InterpolantFactoryMethodLinear(t){return new F3e(this.times,this.values,this.getValueSize(),t)}InterpolantFactoryMethodSmooth(t){return new G3e(this.times,this.values,this.getValueSize(),t)}setInterpolation(t){let e;switch(t){case okt:e=this.InterpolantFactoryMethodDiscrete;break;case S3e:e=this.InterpolantFactoryMethodLinear;break;case I3e:e=this.InterpolantFactoryMethodSmooth;break}if(e===void 0){let r="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(this.createInterpolant===void 0)if(t!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation);else throw new Error(r);return console.warn("THREE.KeyframeTrack:",r),this}return this.createInterpolant=e,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return okt;case this.InterpolantFactoryMethodLinear:return S3e;case this.InterpolantFactoryMethodSmooth:return I3e}}getValueSize(){return this.values.length/this.times.length}shift(t){if(t!==0){let e=this.times;for(let r=0,n=e.length;r!==n;++r)e[r]+=t}return this}scale(t){if(t!==1){let e=this.times;for(let r=0,n=e.length;r!==n;++r)e[r]*=t}return this}trim(t,e){let r=this.times,n=r.length,s=0,a=n-1;for(;s!==n&&r[s]<t;)++s;for(;a!==-1&&r[a]>e;)--a;if(++a,s!==0||a!==n){s>=a&&(a=Math.max(a,1),s=a-1);let o=this.getValueSize();this.times=r.slice(s,a),this.values=this.values.slice(s*o,a*o)}return this}validate(){let t=!0,e=this.getValueSize();e-Math.floor(e)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),t=!1);let r=this.times,n=this.values,s=r.length;s===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),t=!1);let a=null;for(let o=0;o!==s;o++){let A=r[o];if(typeof A=="number"&&isNaN(A)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,o,A),t=!1;break}if(a!==null&&a>A){console.error("THREE.KeyframeTrack: Out of order keys.",this,o,A,a),t=!1;break}a=A}if(n!==void 0&&uNn(n))for(let o=0,A=n.length;o!==A;++o){let l=n[o];if(isNaN(l)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,o,l),t=!1;break}}return t}optimize(){let t=this.times.slice(),e=this.values.slice(),r=this.getValueSize(),n=this.getInterpolation()===I3e,s=t.length-1,a=1;for(let o=1;o<s;++o){let A=!1,l=t[o],c=t[o+1];if(l!==c&&(o!==1||l!==t[0]))if(n)A=!0;else{let p=o*r,d=p-r,_=p+r;for(let I=0;I!==r;++I){let y=e[p+I];if(y!==e[d+I]||y!==e[_+I]){A=!0;break}}}if(A){if(o!==a){t[a]=t[o];let p=o*r,d=a*r;for(let _=0;_!==r;++_)e[d+_]=e[p+_]}++a}}if(s>0){t[a]=t[s];for(let o=s*r,A=a*r,l=0;l!==r;++l)e[A+l]=e[o+l];++a}return a!==t.length?(this.times=t.slice(0,a),this.values=e.slice(0,a*r)):(this.times=t,this.values=e),this}clone(){let t=this.times.slice(),e=this.values.slice(),r=this.constructor,n=new r(this.name,t,e);return n.createInterpolant=this.createInterpolant,n}};$E.prototype.ValueTypeName="";$E.prototype.TimeBufferType=Float32Array;$E.prototype.ValueBufferType=Float32Array;$E.prototype.DefaultInterpolation=S3e;var LP=class extends $E{constructor(t,e,r){super(t,e,r)}};LP.prototype.ValueTypeName="bool";LP.prototype.ValueBufferType=Array;LP.prototype.DefaultInterpolation=okt;LP.prototype.InterpolantFactoryMethodLinear=void 0;LP.prototype.InterpolantFactoryMethodSmooth=void 0;var U3e=class extends $E{constructor(t,e,r,n){super(t,e,r,n)}};U3e.prototype.ValueTypeName="color";var P3e=class extends $E{constructor(t,e,r,n){super(t,e,r,n)}};P3e.prototype.ValueTypeName="number";var O3e=class extends WZ{constructor(t,e,r,n){super(t,e,r,n)}interpolate_(t,e,r,n){let s=this.resultBuffer,a=this.sampleValues,o=this.valueSize,A=(r-e)/(n-e),l=t*o;for(let c=l+o;l!==c;l+=4)mN.slerpFlat(s,0,a,l-o,a,l,A);return s}},lkt=class extends $E{constructor(t,e,r,n){super(t,e,r,n)}InterpolantFactoryMethodLinear(t){return new O3e(this.times,this.values,this.getValueSize(),t)}};lkt.prototype.ValueTypeName="quaternion";lkt.prototype.InterpolantFactoryMethodSmooth=void 0;var GP=class extends $E{constructor(t,e,r){super(t,e,r)}};GP.prototype.ValueTypeName="string";GP.prototype.ValueBufferType=Array;GP.prototype.DefaultInterpolation=okt;GP.prototype.InterpolantFactoryMethodLinear=void 0;GP.prototype.InterpolantFactoryMethodSmooth=void 0;var j3e=class extends $E{constructor(t,e,r,n){super(t,e,r,n)}};j3e.prototype.ValueTypeName="vector";var H3e=class{constructor(t,e,r){let n=this,s=!1,a=0,o=0,A,l=[];this.onStart=void 0,this.onLoad=t,this.onProgress=e,this.onError=r,this.itemStart=function(c){o++,s===!1&&n.onStart!==void 0&&n.onStart(c,a,o),s=!0},this.itemEnd=function(c){a++,n.onProgress!==void 0&&n.onProgress(c,a,o),a===o&&(s=!1,n.onLoad!==void 0&&n.onLoad())},this.itemError=function(c){n.onError!==void 0&&n.onError(c)},this.resolveURL=function(c){return A?A(c):c},this.setURLModifier=function(c){return A=c,this},this.addHandler=function(c,p){return l.push(c,p),this},this.removeHandler=function(c){let p=l.indexOf(c);return p!==-1&&l.splice(p,2),this},this.getHandler=function(c){for(let p=0,d=l.length;p<d;p+=2){let _=l[p],I=l[p+1];if(_.global&&(_.lastIndex=0),_.test(c))return I}return null}}},gNn=new H3e,z3e=class{constructor(t){this.manager=t!==void 0?t:gNn,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}load(){}loadAsync(t,e){let r=this;return new Promise(function(n,s){r.load(t,n,e,s)})}parse(){}setCrossOrigin(t){return this.crossOrigin=t,this}setWithCredentials(t){return this.withCredentials=t,this}setPath(t){return this.path=t,this}setResourcePath(t){return this.resourcePath=t,this}setRequestHeader(t){return this.requestHeader=t,this}};z3e.DEFAULT_MATERIAL_NAME="__DEFAULT";var i1e="\\[\\]\\.:\\/",pNn=new RegExp("["+i1e+"]","g"),r1e="[^"+i1e+"]",dNn="[^"+i1e.replace("\\.","")+"]",_Nn=/((?:WC+[\/:])*)/.source.replace("WC",r1e),fNn=/(WCOD+)?/.source.replace("WCOD",dNn),mNn=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",r1e),INn=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",r1e),yNn=new RegExp("^"+_Nn+fNn+mNn+INn+"$"),CNn=["material","materials","bones","map"],Y3e=class{constructor(t,e,r){let n=r||dp.parseTrackName(e);this._targetGroup=t,this._bindings=t.subscribe_(e,n)}getValue(t,e){this.bind();let r=this._targetGroup.nCachedObjects_,n=this._bindings[r];n!==void 0&&n.getValue(t,e)}setValue(t,e){let r=this._bindings;for(let n=this._targetGroup.nCachedObjects_,s=r.length;n!==s;++n)r[n].setValue(t,e)}bind(){let t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,r=t.length;e!==r;++e)t[e].bind()}unbind(){let t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,r=t.length;e!==r;++e)t[e].unbind()}},dp=class i{constructor(t,e,r){this.path=e,this.parsedPath=r||i.parseTrackName(e),this.node=i.findNode(t,this.parsedPath.nodeName),this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,e,r){return t&&t.isAnimationObjectGroup?new i.Composite(t,e,r):new i(t,e,r)}static sanitizeNodeName(t){return t.replace(/\s/g,"_").replace(pNn,"")}static parseTrackName(t){let e=yNn.exec(t);if(e===null)throw new Error("PropertyBinding: Cannot parse trackName: "+t);let r={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},n=r.nodeName&&r.nodeName.lastIndexOf(".");if(n!==void 0&&n!==-1){let s=r.nodeName.substring(n+1);CNn.indexOf(s)!==-1&&(r.nodeName=r.nodeName.substring(0,n),r.objectName=s)}if(r.propertyName===null||r.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return r}static findNode(t,e){if(e===void 0||e===""||e==="."||e===-1||e===t.name||e===t.uuid)return t;if(t.skeleton){let r=t.skeleton.getBoneByName(e);if(r!==void 0)return r}if(t.children){let r=function(s){for(let a=0;a<s.length;a++){let o=s[a];if(o.name===e||o.uuid===e)return o;let A=r(o.children);if(A)return A}return null},n=r(t.children);if(n)return n}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(t,e){t[e]=this.targetObject[this.propertyName]}_getValue_array(t,e){let r=this.resolvedProperty;for(let n=0,s=r.length;n!==s;++n)t[e++]=r[n]}_getValue_arrayElement(t,e){t[e]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(t,e){this.resolvedProperty.toArray(t,e)}_setValue_direct(t,e){this.targetObject[this.propertyName]=t[e]}_setValue_direct_setNeedsUpdate(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(t,e){let r=this.resolvedProperty;for(let n=0,s=r.length;n!==s;++n)r[n]=t[e++]}_setValue_array_setNeedsUpdate(t,e){let r=this.resolvedProperty;for(let n=0,s=r.length;n!==s;++n)r[n]=t[e++];this.targetObject.needsUpdate=!0}_setValue_array_setMatrixWorldNeedsUpdate(t,e){let r=this.resolvedProperty;for(let n=0,s=r.length;n!==s;++n)r[n]=t[e++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(t,e){this.resolvedProperty[this.propertyIndex]=t[e]}_setValue_arrayElement_setNeedsUpdate(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(t,e){this.resolvedProperty.fromArray(t,e)}_setValue_fromArray_setNeedsUpdate(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(t,e){this.bind(),this.getValue(t,e)}_setValue_unbound(t,e){this.bind(),this.setValue(t,e)}bind(){let t=this.node,e=this.parsedPath,r=e.objectName,n=e.propertyName,s=e.propertyIndex;if(t||(t=i.findNode(this.rootNode,e.nodeName),this.node=t),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!t){console.warn("THREE.PropertyBinding: No target node found for track: "+this.path+".");return}if(r){let l=e.objectIndex;switch(r){case"materials":if(!t.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!t.material.materials){console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);return}t=t.material.materials;break;case"bones":if(!t.skeleton){console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);return}t=t.skeleton.bones;for(let c=0;c<t.length;c++)if(t[c].name===l){l=c;break}break;case"map":if("map"in t){t=t.map;break}if(!t.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!t.material.map){console.error("THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.",this);return}t=t.material.map;break;default:if(t[r]===void 0){console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);return}t=t[r]}if(l!==void 0){if(t[l]===void 0){console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,t);return}t=t[l]}}let a=t[n];if(a===void 0){let l=e.nodeName;console.error("THREE.PropertyBinding: Trying to update property for track: "+l+"."+n+" but it wasn't found.",t);return}let o=this.Versioning.None;this.targetObject=t,t.isMaterial===!0?o=this.Versioning.NeedsUpdate:t.isObject3D===!0&&(o=this.Versioning.MatrixWorldNeedsUpdate);let A=this.BindingType.Direct;if(s!==void 0){if(n==="morphTargetInfluences"){if(!t.geometry){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);return}if(!t.geometry.morphAttributes){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);return}t.morphTargetDictionary[s]!==void 0&&(s=t.morphTargetDictionary[s])}A=this.BindingType.ArrayElement,this.resolvedProperty=a,this.propertyIndex=s}else a.fromArray!==void 0&&a.toArray!==void 0?(A=this.BindingType.HasFromToArray,this.resolvedProperty=a):Array.isArray(a)?(A=this.BindingType.EntireArray,this.resolvedProperty=a):this.propertyName=n;this.getValue=this.GetterByBindingType[A],this.setValue=this.SetterByBindingTypeAndVersioning[A][o]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}};dp.Composite=Y3e;dp.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3};dp.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2};dp.prototype.GetterByBindingType=[dp.prototype._getValue_direct,dp.prototype._getValue_array,dp.prototype._getValue_arrayElement,dp.prototype._getValue_toArray];dp.prototype.SetterByBindingTypeAndVersioning=[[dp.prototype._setValue_direct,dp.prototype._setValue_direct_setNeedsUpdate,dp.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[dp.prototype._setValue_array,dp.prototype._setValue_array_setNeedsUpdate,dp.prototype._setValue_array_setMatrixWorldNeedsUpdate],[dp.prototype._setValue_arrayElement,dp.prototype._setValue_arrayElement_setNeedsUpdate,dp.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[dp.prototype._setValue_fromArray,dp.prototype._setValue_fromArray_setNeedsUpdate,dp.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];var Z$s=new Float32Array(1);typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:"178"}}));typeof window<"u"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__="178");var ENn=`#ifdef USE_ALPHAHASH
|
|
24114
24114
|
if ( diffuseColor.a < getAlphaHashThreshold( vPosition ) ) discard;
|
|
24115
24115
|
#endif`,BNn=`#ifdef USE_ALPHAHASH
|
|
24116
24116
|
const float ALPHA_HASH_SCALE = 0.05;
|
|
@@ -27657,7 +27657,7 @@ void main() {
|
|
|
27657
27657
|
margin-right: 8px;
|
|
27658
27658
|
border-radius: 2px;
|
|
27659
27659
|
flex-shrink: 0;
|
|
27660
|
-
`,I.appendChild(y);let B=document.createElement("span");B.style.color="#333",B.textContent=_.label,I.appendChild(B),A.appendChild(I)}let c=this.map.getContainer(),p=`maplibregl-ctrl-${a}`,d=c.querySelector(`.${p}`);if(!d){let _=c.querySelector(".maplibregl-control-container");_&&(d=document.createElement("div"),d.className=`maplibregl-ctrl-${a.split("-")[0]} ${p}`,_.appendChild(d))}d&&d.insertBefore(A,d.firstChild),this.legendsMap.set(r,A)}handleRemoveLegend(t,e){let r=t[0];if(r){let n=this.legendsMap.get(r);n&&n.parentNode&&n.parentNode.removeChild(n),this.legendsMap.delete(r)}else{for(let[n,s]of this.legendsMap)s.parentNode&&s.parentNode.removeChild(s);this.legendsMap.clear()}}handleAddTerrain(t,e){if(!this.map)return;let r=e.source,n=e.exaggeration??1;if(!r||!r.url){console.error("addTerrain requires source with url");return}let s="terrain-dem";this.map.getSource(s)||this.map.addSource(s,{type:"raster-dem",tiles:[r.url],tileSize:256,encoding:r.encoding==="mapbox"?"mapbox":"terrarium"}),this.map.setTerrain({source:s,exaggeration:n})}handleMoveLayer(t,e){if(!this.map)return;let[r,n]=t;if(!r){console.error("moveLayer requires layerId");return}this.map.getLayer(r)&&this.map.moveLayer(r,n||void 0)}initializeDeckOverlay(){if(!(this.deckOverlay||!this.map)){if(this.deckOverlay=new By({interleaved:!0,layers:[]}),this.map.addControl(this.deckOverlay),!this.map.getLayer(i.DECK_SENTINEL_ID)){let t=`${i.DECK_SENTINEL_ID}-source`;this.map.getSource(t)||this.map.addSource(t,{type:"geojson",data:{type:"FeatureCollection",features:[]}});let e=this.userOverlayLayerIds.find(r=>this.map&&this.map.getLayer(r));this.map.addLayer({id:i.DECK_SENTINEL_ID,type:"fill",source:t,paint:{"fill-opacity":0}},e)}this.registerDeckAdaptersWithLayerControl()}}registerDeckAdaptersWithLayerControl(){if(!this.map||!this.deckOverlay||!this.layerControlPlugin||this.deckAdaptersRegisteredWithLayerControl)return;let t=this.layerControlPlugin.getControl();t&&(this.cogAdapter||(this.cogAdapter=new Aq(this.map,this.deckOverlay,this.deckLayers)),this.deckLayerAdapter||(this.deckLayerAdapter=new lq(this.map,this.deckOverlay,this.deckLayers)),t.registerCustomAdapter(this.cogAdapter),t.registerCustomAdapter(this.deckLayerAdapter),this.deckAdaptersRegisteredWithLayerControl=!0,this.scheduleLayerControlOrderSync())}updateDeckOverlay(t=!1){if(!this.deckOverlay)return;let e=i.DECK_SENTINEL_ID;if(this.map?.getLayer(e))for(let[s,a]of this.deckLayers){let o=a;o.clone&&(t||!o.props?.beforeId)&&this.deckLayers.set(s,o.clone({beforeId:e}))}let n=Array.from(this.deckLayers.values());t&&this.deckOverlay.setProps({layers:[]}),this.deckOverlay.setProps({layers:n}),this.map?.triggerRepaint(),this.scheduleLayerControlOrderSync()}handleLayerControlReorder(t){if(!this.map||this.deckLayers.size===0)return;this.reorderDeckLayersForLayerControl(t);let e=i.DECK_SENTINEL_ID;if(!this.map.getLayer(e)){this.updateDeckOverlay(!0);return}let r=this.getSentinelBeforeIdForLayerControlOrder(t);try{this.map.moveLayer(e,r)}catch{}this.updateDeckOverlay(!0)}reorderDeckLayersForLayerControl(t){if(this.deckLayers.size<=1)return;let e=new globalThis.Map(this.deckLayers),r=t.filter(a=>e.has(a)),n=new Set,s=[];for(let a of r){let o=e.get(a);!o||n.has(a)||(s.push([a,o]),n.add(a))}for(let[a,o]of e)n.has(a)||s.push([a,o]);this.deckLayers.clear();for(let[a,o]of s)this.deckLayers.set(a,o)}getSentinelBeforeIdForLayerControlOrder(t){let e=t.reduce((r,n,s)=>this.deckLayers.has(n)?s:r,-1);if(!(e<0))for(let r=e+1;r<t.length;r++){let n=t[r];if(n!==i.DECK_SENTINEL_ID&&this.map?.getLayer(n))return n}}getLayerControlOrder(){if(!this.map)return[];let t=this.map.getStyle()?.layers||[],e=Array.from(this.deckLayers.keys());if(t.length===0)return e;let r=[],n=!1;for(let s of t){if(s.id===i.DECK_SENTINEL_ID){n||(r.push(...e),n=!0);continue}r.push(s.id)}return n||r.push(...e),r}scheduleLayerControlOrderSync(){this.layerControlPlugin&&(this.layerControlOrderSyncTimer!==null&&window.clearTimeout(this.layerControlOrderSyncTimer),this.layerControlOrderSyncTimer=window.setTimeout(()=>{this.layerControlPlugin?.syncLayerOrder(),this.layerControlOrderSyncTimer=null},150))}handleAddCOGLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`cog-${Date.now()}`,n=e.geotiff,s=e.fitBounds!==!1,a=new lmt({id:r,geotiff:n,opacity:e.opacity??1,visible:e.visible!==!1,debug:e.debug??!1,debugOpacity:e.debugOpacity??.25,maxError:e.maxError??.125,geoKeysParser:TFn,onGeoTIFFLoad:(o,A)=>{if(s&&this.map){let{west:l,south:c,east:p,north:d}=A.geographicBounds;this.map.fitBounds([[l,c],[p,d]],{padding:40,duration:1e3})}}});this.deckLayers.set(r,a),this.updateDeckOverlay(),this.cogAdapter&&this.cogAdapter.notifyLayerAdded(r)}handleRemoveCOGLayer(t,e){let[r]=t;this.cogAdapter&&this.cogAdapter.notifyLayerRemoved(r),this.deckLayers.delete(r),this.updateDeckOverlay()}handleAddZarrLayer(t,e){if(!this.map)return;let r=e.id||`zarr-${Date.now()}`,n=e.source,s=e.variable,a=e.clim||[0,100],o=e.colormap||["#000000","#ffffff"],A=e.selector||{},l=e.opacity??1,c=new Pzt({id:r,source:n,variable:s,clim:a,colormap:o,selector:A,opacity:l,minzoom:e.minzoom,maxzoom:e.maxzoom,fillValue:e.fillValue,spatialDimensions:e.spatialDimensions,zarrVersion:e.zarrVersion,bounds:e.bounds});this.map.addLayer(c),this.zarrLayers.set(r,c),this.zarrAdapter&&this.zarrAdapter.notifyLayerAdded(r)}handleRemoveZarrLayer(t,e){let[r]=t;this.zarrAdapter&&this.zarrAdapter.notifyLayerRemoved(r),this.map&&this.map.getLayer(r)&&this.map.removeLayer(r),this.zarrLayers.delete(r)}handleUpdateZarrLayer(t,e){let r=e.id,n=this.zarrLayers.get(r);n&&(e.selector&&n.setSelector(e.selector),e.clim&&n.setClim(e.clim),e.colormap&&n.setColormap(e.colormap),e.opacity!==void 0&&n.setOpacity(e.opacity))}handleAddArcLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`arc-${Date.now()}`,n=e.data,s=(o,A,l)=>typeof o=="string"?c=>c[o]:typeof o=="function"||o!=null?o:l||(c=>c[A]),a=new gG({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,getWidth:s(e.getWidth??e.width,"width",()=>1),getSourcePosition:s(e.getSourcePosition,"source",o=>o.source||o.from||o.sourcePosition),getTargetPosition:s(e.getTargetPosition,"target",o=>o.target||o.to||o.targetPosition),getSourceColor:s(e.getSourceColor??e.sourceColor,"sourceColor",()=>[51,136,255,255]),getTargetColor:s(e.getTargetColor??e.targetColor,"targetColor",()=>[255,136,51,255]),getHeight:s(e.getHeight??e.height,"height",()=>1),greatCircle:e.greatCircle??!1});this.deckLayers.set(r,a),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleRemoveArcLayer(t,e){let[r]=t;this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerRemoved(r),this.deckLayers.delete(r),this.updateDeckOverlay()}handleAddPointCloudLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`pointcloud-${Date.now()}`,n=e.data,s=(A,l,c)=>typeof A=="string"?p=>p[A]:typeof A=="function"||A!=null?A:c||(p=>p[l]),a={id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??1,pointSize:e.pointSize??2,getPosition:s(e.getPosition,"position",A=>A.position||A.coordinates||[A.x,A.y,A.z]),getNormal:s(e.getNormal,"normal",()=>[0,0,1]),getColor:s(e.getColor??e.color,"color",()=>[255,255,255,255]),sizeUnits:e.sizeUnits??"pixels"};e.coordinateSystem!==void 0&&e.coordinateSystem!==null&&(a.coordinateSystem=e.coordinateSystem),e.coordinateOrigin!==void 0&&e.coordinateOrigin!==null&&(a.coordinateOrigin=e.coordinateOrigin);let o=new V5(a);this.deckLayers.set(r,o),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleRemovePointCloudLayer(t,e){let[r]=t;this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerRemoved(r),this.deckLayers.delete(r),this.updateDeckOverlay()}handleAddScatterplotLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`scatterplot-${Date.now()}`,n=e.data,s=new pG({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,stroked:e.stroked!==!1,filled:e.filled!==!1,radiusScale:e.radiusScale??1,radiusMinPixels:e.radiusMinPixels??1,radiusMaxPixels:e.radiusMaxPixels??100,lineWidthMinPixels:e.lineWidthMinPixels??1,getPosition:e.getPosition??(a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getRadius:e.getRadius??e.radius??5,getFillColor:e.getFillColor??e.fillColor??[51,136,255,200],getLineColor:e.getLineColor??e.lineColor??[255,255,255,255]});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddPathLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`path-${Date.now()}`,n=e.data,s=new ff({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,widthScale:e.widthScale??1,widthMinPixels:e.widthMinPixels??1,getPath:e.getPath??(a=>a.path||a.coordinates),getColor:e.getColor??e.color??[51,136,255,200],getWidth:e.getWidth??e.width??1});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddPolygonLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`polygon-${Date.now()}`,n=e.data,s=new Qy({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.5,stroked:e.stroked!==!1,filled:e.filled!==!1,extruded:e.extruded??!1,wireframe:e.wireframe??!1,lineWidthMinPixels:e.lineWidthMinPixels??1,getPolygon:e.getPolygon??(a=>a.polygon||a.contour||a.coordinates),getElevation:e.getElevation??e.elevation??0,getFillColor:e.getFillColor??e.fillColor??[51,136,255,128],getLineColor:e.getLineColor??e.lineColor??[0,0,255,255],getLineWidth:e.getLineWidth??e.lineWidth??1});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddHexagonLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`hexagon-${Date.now()}`,n=e.data,s=new kit({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,extruded:e.extruded??!0,radius:e.radius??1e3,elevationScale:e.elevationScale??4,getPosition:e.getPosition??(a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),colorRange:e.colorRange??[[1,152,189],[73,227,206],[216,254,181],[254,237,177],[254,173,84],[209,55,78]]});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddHeatmapLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`heatmap-${Date.now()}`,n=e.data,s=new Tit({id:r,data:n,pickable:!1,opacity:e.opacity??1,radiusPixels:e.radiusPixels??30,intensity:e.intensity??1,threshold:e.threshold??.05,getPosition:e.getPosition??(a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getWeight:e.getWeight??e.weight??1,colorRange:e.colorRange??[[255,255,178,25],[254,217,118,85],[254,178,76,127],[253,141,60,170],[240,59,32,212],[189,0,38,255]]});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddGridLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`grid-${Date.now()}`,n=e.data,s=new Git({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,extruded:e.extruded??!0,cellSize:e.cellSize??200,elevationScale:e.elevationScale??4,getPosition:e.getPosition??(a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),colorRange:e.colorRange??[[1,152,189],[73,227,206],[216,254,181],[254,237,177],[254,173,84],[209,55,78]]});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddIconLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`icon-${Date.now()}`,n=e.data,s=new Cb({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??1,iconAtlas:e.iconAtlas,iconMapping:e.iconMapping,getPosition:e.getPosition??(a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getIcon:e.getIcon??(a=>a.icon||"marker"),getSize:e.getSize??e.size??20,getColor:e.getColor??e.color??[255,255,255,255]});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddTextLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`text-${Date.now()}`,n=e.data,s=new yG({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??1,getPosition:e.getPosition??(a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getText:e.getText??(a=>a.text||a.label||a.name||""),getSize:e.getSize??e.size??12,getColor:e.getColor??e.color??[0,0,0,255],getAngle:e.getAngle??0,getTextAnchor:e.getTextAnchor??"middle",getAlignmentBaseline:e.getAlignmentBaseline??"center"});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddGeoJsonLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`geojson-${Date.now()}`,n=e.data,s=new Vm({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,stroked:e.stroked!==!1,filled:e.filled!==!1,extruded:e.extruded??!1,wireframe:e.wireframe??!1,lineWidthMinPixels:e.lineWidthMinPixels??1,pointRadiusMinPixels:e.pointRadiusMinPixels??2,getFillColor:e.getFillColor??e.fillColor??[51,136,255,128],getLineColor:e.getLineColor??e.lineColor??[0,0,0,255],getLineWidth:e.getLineWidth??e.lineWidth??1,getPointRadius:e.getPointRadius??e.pointRadius??5,getElevation:e.getElevation??e.elevation??0});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddContourLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`contour-${Date.now()}`,n=e.data,s=new Rit({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??1,cellSize:e.cellSize??200,contours:e.contours??[{threshold:1,color:[255,255,255],strokeWidth:1},{threshold:5,color:[51,136,255],strokeWidth:2},{threshold:10,color:[0,0,255],strokeWidth:3}],getPosition:e.getPosition??(a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getWeight:e.getWeight??e.weight??1});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddScreenGridLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`screengrid-${Date.now()}`,n=e.data,s=new wit({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,cellSizePixels:e.cellSizePixels??50,getPosition:e.getPosition??(a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getWeight:e.getWeight??e.weight??1,colorRange:e.colorRange??[[255,255,178,25],[254,217,118,85],[254,178,76,127],[253,141,60,170],[240,59,32,212],[189,0,38,255]]});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddTripsLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`trips-${Date.now()}`,n=e.data,s=(o,A,l)=>typeof o=="string"?c=>c[o]:typeof o=="function"||o!=null?o:l||(c=>c[A]),a=new zH({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,widthMinPixels:e.widthMinPixels??2,trailLength:e.trailLength??180,currentTime:e.currentTime??0,getPath:s(e.getPath,"waypoints",o=>o.waypoints||o.path||o.coordinates),getTimestamps:s(e.getTimestamps,"timestamps",o=>o.timestamps),getColor:s(e.getColor??e.color,"color",()=>[253,128,93])});this.deckLayers.set(r,a),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddLineLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`line-${Date.now()}`,n=e.data,s=(o,A,l)=>typeof o=="string"?c=>c[o]:typeof o=="function"||o!=null?o:l||(c=>c[A]),a=new Jet({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,widthMinPixels:e.widthMinPixels??1,getSourcePosition:s(e.getSourcePosition,"sourcePosition",o=>o.sourcePosition||o.source||o.from),getTargetPosition:s(e.getTargetPosition,"targetPosition",o=>o.targetPosition||o.target||o.to),getColor:s(e.getColor??e.color,"color",()=>[51,136,255,200]),getWidth:s(e.getWidth??e.width,"width",()=>1)});this.deckLayers.set(r,a),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddDeckGLLayer(t,e){if(!this.map)return;let r=e.layerType;if(!r){console.warn("addDeckGLLayer called without layerType");return}let s={ScatterplotLayer:this.handleAddScatterplotLayer.bind(this),ArcLayer:this.handleAddArcLayer.bind(this),PathLayer:this.handleAddPathLayer.bind(this),PolygonLayer:this.handleAddPolygonLayer.bind(this),HexagonLayer:this.handleAddHexagonLayer.bind(this),HeatmapLayer:this.handleAddHeatmapLayer.bind(this),GridLayer:this.handleAddGridLayer.bind(this),IconLayer:this.handleAddIconLayer.bind(this),TextLayer:this.handleAddTextLayer.bind(this),GeoJsonLayer:this.handleAddGeoJsonLayer.bind(this),ContourLayer:this.handleAddContourLayer.bind(this),ScreenGridLayer:this.handleAddScreenGridLayer.bind(this),PointCloudLayer:this.handleAddPointCloudLayer.bind(this),TripsLayer:this.handleAddTripsLayer.bind(this),LineLayer:this.handleAddLineLayer.bind(this),BitmapLayer:this.handleAddBitmapLayer.bind(this),ColumnLayer:this.handleAddColumnLayer.bind(this),GridCellLayer:this.handleAddGridCellLayer.bind(this),SolidPolygonLayer:this.handleAddSolidPolygonLayer.bind(this)}[r];s?s(t,e):console.warn(`Unknown deck.gl layer type: ${r}`)}handleRemoveDeckLayer(t,e){let r=t[0]||e.id;r&&(this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerRemoved(r),this.deckLayers.delete(r),this.updateDeckOverlay())}handleSetDeckLayerVisibility(t,e){let r=t[0]||e.id,n=t[1]??e.visible??!0;if(!r)return;let s=this.deckLayers.get(r);if(s&&typeof s.clone=="function"){let a=s.clone({visible:n});this.deckLayers.set(r,a),this.updateDeckOverlay()}}makeDeckAccessor(t,e,r){return typeof t=="string"?n=>n[t]:typeof t=="function"||t!=null?t:r||(n=>n[e])}handleAddBitmapLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`bitmap-${Date.now()}`,n=e.image,s=e.bounds,a=new Kk({id:r,image:n,bounds:s,opacity:e.opacity??1,visible:e.visible!==!1,pickable:e.pickable??!1,desaturate:e.desaturate??0,transparentColor:e.transparentColor??[0,0,0,0],tintColor:e.tintColor??[255,255,255]});this.deckLayers.set(r,a),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddColumnLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`column-${Date.now()}`,n=e.data,s=new xy({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,extruded:e.extruded??!0,diskResolution:e.diskResolution??20,radius:e.radius??1e3,elevationScale:e.elevationScale??1,coverage:e.coverage??1,filled:e.filled!==!1,stroked:e.stroked??!1,wireframe:e.wireframe??!1,getPosition:this.makeDeckAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getFillColor:this.makeDeckAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[255,140,0,200]),getLineColor:this.makeDeckAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,0,255]),getElevation:this.makeDeckAccessor(e.getElevation??e.elevation,"elevation",()=>1e3)});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddGridCellLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`gridcell-${Date.now()}`,n=e.data,s=new Ait({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,extruded:e.extruded??!0,cellSize:e.cellSize??200,elevationScale:e.elevationScale??1,coverage:e.coverage??1,getPosition:this.makeDeckAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getColor:this.makeDeckAccessor(e.getColor??e.color,"color",()=>[255,140,0,200]),getElevation:this.makeDeckAccessor(e.getElevation??e.elevation,"elevation",()=>1e3)});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddSolidPolygonLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`solidpolygon-${Date.now()}`,n=e.data,s=new W5({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,filled:e.filled!==!1,extruded:e.extruded??!1,wireframe:e.wireframe??!1,elevationScale:e.elevationScale??1,getPolygon:this.makeDeckAccessor(e.getPolygon,"polygon",a=>a.polygon||a.contour||a.coordinates),getFillColor:this.makeDeckAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[51,136,255,128]),getLineColor:this.makeDeckAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,0,255]),getElevation:this.makeDeckAccessor(e.getElevation??e.elevation,"elevation",()=>0)});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleSetProjection(t,e){if(!this.map)return;let r=e.projection||t[0]||"mercator";try{this.map.setProjection({type:r})}catch(n){console.error("setProjection error:",n)}}handleUpdateGeoJSONSource(t,e){if(!this.map)return;let r=e.sourceId||t[0],n=e.data;if(!r)return;let s=this.map.getSource(r);!s&&!r.endsWith("-source")&&(s=this.map.getSource(r+"-source")),s&&typeof s.setData=="function"&&s.setData(n)}handleAddMapImage(t,e){if(!this.map)return;let r=e.name||t[0],n=e.url||t[1];!r||!n||this.map.loadImage(n).then(s=>{s&&s.data&&!this.map.hasImage(r)&&this.map.addImage(r,s.data)}).catch(s=>{console.warn(`Failed to load image '${r}':`,s)})}tooltipPopup=null;tooltipLayerHandlers=new Map;handleAddTooltip(t,e){if(!this.map)return;let r=e.layerId,n=e.template||"",s=e.properties;if(!r)return;if(this.tooltipLayerHandlers.has(r)){let A=this.tooltipLayerHandlers.get(r);this.map.off("mousemove",r,A),this.tooltipLayerHandlers.delete(r)}let a=new Yu.Popup({closeButton:!1,closeOnClick:!1,className:"anymap-tooltip"}),o=A=>{if(!A.features||A.features.length===0){a.remove();return}let c=A.features[0].properties||{},p=n;n?p='<div style="font-size:12px;color:#333">'+n.replace(/\{(\w+)\}/g,(_,I)=>c[I]!==void 0?String(c[I]):"")+"</div>":s&&s.length>0?p='<div style="font-size:12px;color:#333">'+s.map(d=>`<b>${d}:</b> ${c[d]!==void 0?c[d]:"N/A"}`).join("<br>")+"</div>":p='<div style="font-size:12px;color:#333">'+Object.entries(c).map(([d,_])=>`<b>${d}:</b> ${_}`).join("<br>")+"</div>",a.setLngLat(A.lngLat).setHTML(p).addTo(this.map)};this.map.on("mousemove",r,o),this.map.on("mouseleave",r,()=>{a.remove()}),this.tooltipLayerHandlers.set(r,o)}handleRemoveTooltip(t,e){if(!this.map)return;let r=e.layerId;if(r&&this.tooltipLayerHandlers.has(r)){let n=this.tooltipLayerHandlers.get(r);this.map.off("mousemove",r,n),this.tooltipLayerHandlers.delete(r)}}coordinatesControl=null;coordinatesHandler=null;handleAddCoordinatesControl(t,e){if(!this.map)return;let r=e.position||"bottom-left";this.coordinatesControl&&(this.coordinatesControl.remove(),this.coordinatesHandler&&this.map.off("mousemove",this.coordinatesHandler));let n=document.createElement("div");n.className="maplibregl-ctrl maplibregl-ctrl-group anymap-coordinates",n.style.cssText="padding:4px 8px;font-size:11px;font-family:monospace;background:rgba(255,255,255,0.9);pointer-events:none;",n.textContent="Lng: 0.0000, Lat: 0.0000";let s=e.precision??4,a=A=>{n.textContent=`Lng: ${A.lngLat.lng.toFixed(s)}, Lat: ${A.lngLat.lat.toFixed(s)}`};this.map.on("mousemove",a),this.coordinatesHandler=a;let o=this.map.getContainer().querySelector(`.maplibregl-ctrl-${r}`);o?o.appendChild(n):this.map.getContainer().appendChild(n),this.coordinatesControl=n}handleRemoveCoordinatesControl(t,e){this.map&&(this.coordinatesControl&&(this.coordinatesControl.remove(),this.coordinatesControl=null),this.coordinatesHandler&&(this.map.off("mousemove",this.coordinatesHandler),this.coordinatesHandler=null))}timeSliderContainer=null;handleAddTimeSlider(t,e){if(!this.map)return;let r=e.layerId,n=e.property,s=e.min??0,a=e.max??100,o=e.step??1,A=e.position||"bottom-left",l=e.label||"Time",c=e.autoPlay??!1,p=e.interval??500;this.handleRemoveTimeSlider(t,e);let d=document.createElement("div");d.className="maplibregl-ctrl maplibregl-ctrl-group anymap-time-slider",d.style.cssText="padding:10px;background:rgba(255,255,255,0.95);min-width:250px;border-radius:4px;";let _=document.createElement("div");_.style.cssText="font-size:12px;font-weight:bold;margin-bottom:5px;",_.textContent=`${l}: ${s}`;let I=document.createElement("input");I.type="range",I.min=String(s),I.max=String(a),I.step=String(o),I.value=String(s),I.style.cssText="width:100%;cursor:pointer;";let y=document.createElement("button");y.textContent="\u25B6",y.style.cssText="margin-top:5px;padding:2px 8px;cursor:pointer;border:1px solid #ccc;border-radius:3px;background:#fff;";let B=null,x=T=>{_.textContent=`${l}: ${T}`,this.map&&r&&n&&this.map.setFilter(r,["<=",n,T])};I.addEventListener("input",()=>{x(Number(I.value))});let w=()=>{B!==null&&(clearInterval(B),B=null,y.textContent="\u25B6")};y.addEventListener("click",()=>{B!==null?w():(y.textContent="\u23F8",B=window.setInterval(()=>{let T=Number(I.value)+o;T>a&&(T=s),I.value=String(T),x(T)},p))}),d.appendChild(_),d.appendChild(I),d.appendChild(y);let D=this.map.getContainer().querySelector(`.maplibregl-ctrl-${A}`);D?D.appendChild(d):this.map.getContainer().appendChild(d),this.timeSliderContainer=d,c&&y.click()}handleRemoveTimeSlider(t,e){this.timeSliderContainer&&(this.timeSliderContainer.remove(),this.timeSliderContainer=null)}swipeContainer=null;swipeHandler=null;handleAddSwipeMap(t,e){if(!this.map)return;let r=e.leftLayer,n=e.rightLayer;if(!r||!n)return;this.handleRemoveSwipeMap(t,e);let s=this.map.getContainer(),a=document.createElement("div");a.className="anymap-swipe-slider",a.style.cssText="position:absolute;top:0;bottom:0;width:4px;background:#fff;cursor:ew-resize;z-index:10;left:50%;box-shadow:0 0 4px rgba(0,0,0,0.3);";let o=document.createElement("div");o.style.cssText="position:absolute;top:50%;left:-10px;width:24px;height:24px;background:#fff;border-radius:50%;border:2px solid #333;transform:translateY(-50%);cursor:ew-resize;",a.appendChild(o),s.appendChild(a);let A=!1,l=()=>{let _=s.getBoundingClientRect(),I=a.offsetLeft,y=_.width-I;this.map.getContainer(),this.map.getCanvas()&&(this.map.getLayer(r),this.map.getLayer(n)&&this.map.setPaintProperty(n,"raster-opacity",1))},c=_=>{A=!0,_.preventDefault()},p=_=>{if(!A)return;let I=s.getBoundingClientRect(),y=Math.max(0,Math.min(_.clientX-I.left,I.width));a.style.left=`${y}px`,this.map.getLayer(r)&&this.map.setLayerClipBounds?.(r,[[0,0],[y,I.height]]),this.map.getLayer(n)&&this.map.setLayerClipBounds?.(n,[[y,0],[I.width,I.height]])},d=()=>{A=!1};a.addEventListener("mousedown",c),document.addEventListener("mousemove",p),document.addEventListener("mouseup",d),this.swipeContainer=a,this.swipeHandler=()=>{a.removeEventListener("mousedown",c),document.removeEventListener("mousemove",p),document.removeEventListener("mouseup",d)}}handleRemoveSwipeMap(t,e){this.swipeContainer&&(this.swipeContainer.remove(),this.swipeContainer=null),this.swipeHandler&&(this.swipeHandler(),this.swipeHandler=null)}opacitySliderContainer=new Map;handleAddOpacitySlider(t,e){if(!this.map)return;let r=e.layerId,n=e.position||"top-right",s=e.label||r;if(!r)return;this.removeOpacitySliderForLayer(r);let a=document.createElement("div");a.className="maplibregl-ctrl maplibregl-ctrl-group anymap-opacity-slider",a.style.cssText="padding:8px;background:rgba(255,255,255,0.95);min-width:150px;border-radius:4px;";let o=document.createElement("div");o.style.cssText="font-size:11px;margin-bottom:4px;",o.textContent=`${s}: 100%`;let A=document.createElement("input");A.type="range",A.min="0",A.max="100",A.value="100",A.style.cssText="width:100%;cursor:pointer;",A.addEventListener("input",()=>{let c=Number(A.value)/100;if(o.textContent=`${s}: ${A.value}%`,this.map.getLayer(r))try{let d=this.map.getLayer(r)?.type;d==="raster"?this.map.setPaintProperty(r,"raster-opacity",c):d==="fill"?this.map.setPaintProperty(r,"fill-opacity",c):d==="line"?this.map.setPaintProperty(r,"line-opacity",c):d==="circle"?this.map.setPaintProperty(r,"circle-opacity",c):d==="symbol"?(this.map.setPaintProperty(r,"icon-opacity",c),this.map.setPaintProperty(r,"text-opacity",c)):d==="fill-extrusion"&&this.map.setPaintProperty(r,"fill-extrusion-opacity",c)}catch{let p=this.deckLayers.get(r);if(p&&typeof p.clone=="function"){let d=p.clone({opacity:c});this.deckLayers.set(r,d),this.updateDeckOverlay()}}}),a.appendChild(o),a.appendChild(A);let l=this.map.getContainer().querySelector(`.maplibregl-ctrl-${n}`);l&&l.appendChild(a),this.opacitySliderContainer.set(r,a)}removeOpacitySliderForLayer(t){let e=this.opacitySliderContainer.get(t);e&&(e.remove(),this.opacitySliderContainer.delete(t))}handleRemoveOpacitySlider(t,e){let r=e.layerId;r&&this.removeOpacitySliderForLayer(r)}styleSwitcherContainer=null;handleAddStyleSwitcher(t,e){if(!this.map)return;let r=e.styles,n=e.position||"top-right";if(!r||Object.keys(r).length===0)return;this.handleRemoveStyleSwitcher(t,e);let s=document.createElement("div");s.className="maplibregl-ctrl maplibregl-ctrl-group anymap-style-switcher",s.style.cssText="padding:8px;background:rgba(255,255,255,0.95);border-radius:4px;";let a=document.createElement("select");a.style.cssText="font-size:12px;padding:2px 4px;border:1px solid #ccc;border-radius:3px;cursor:pointer;";for(let[A,l]of Object.entries(r)){let c=document.createElement("option");c.value=l,c.textContent=A,a.appendChild(c)}a.addEventListener("change",()=>{this.map.setStyle(a.value)}),s.appendChild(a);let o=this.map.getContainer().querySelector(`.maplibregl-ctrl-${n}`);o&&o.appendChild(s),this.styleSwitcherContainer=s}handleRemoveStyleSwitcher(t,e){this.styleSwitcherContainer&&(this.styleSwitcherContainer.remove(),this.styleSwitcherContainer=null)}handleGetVisibleFeatures(t,e){if(!this.map)return;let r=e.layers;try{let s={type:"FeatureCollection",features:(r?this.map.queryRenderedFeatures(void 0,{layers:r}):this.map.queryRenderedFeatures()).map(a=>({type:"Feature",geometry:a.geometry,properties:a.properties}))};this.model&&(this.model.set("_queried_features",{type:"visible_features",data:s}),this.model.save_changes())}catch(n){console.warn("Error getting visible features:",n)}}handleGetLayerData(t,e){if(!this.map)return;let r=e.sourceId;if(!r)return;let n=[],s=r;try{n=this.map.querySourceFeatures(r)}catch{}if(n.length===0&&!r.endsWith("-source")){let o=r+"-source";try{let A=this.map.querySourceFeatures(o);A.length>0&&(n=A,s=o)}catch{}}let a={type:"FeatureCollection",features:n.map(o=>({type:"Feature",geometry:o.geometry,properties:o.properties}))};this.model&&(this.model.set("_queried_features",{type:"layer_data",sourceId:s,data:a}),this.model.save_changes())}handleAddLidarControl(t,e){if(!this.map)return;if(this.lidarControl){console.warn("LiDAR control already exists");return}let r={position:e.position||"top-right",collapsed:e.collapsed!==!1,title:e.title||"LiDAR Viewer",panelWidth:e.panelWidth||365,panelMaxHeight:e.panelMaxHeight||600,pointSize:e.pointSize||2,opacity:e.opacity||1,colorScheme:e.colorScheme||"elevation",usePercentile:e.usePercentile!==!1,pointBudget:e.pointBudget||1e6,pickable:e.pickable===!0,autoZoom:e.autoZoom!==!1,copcLoadingMode:e.copcLoadingMode,streamingPointBudget:e.streamingPointBudget||5e6};this.lidarControl=new bq(r),this.map.addControl(this.lidarControl,r.position),this.lidarControl.on("load",n=>{let s=n.pointCloud;s&&"name"in s&&(this.lidarLayers.set(s.id,s.source||""),this.sendEvent("lidar:load",{id:s.id,name:s.name,pointCount:s.pointCount}))}),this.lidarControl.on("unload",n=>{let s=n.pointCloud;s&&(this.lidarLayers.delete(s.id),this.sendEvent("lidar:unload",{id:s.id}))}),this.registerLidarAdapterWithLayerControl()}registerLidarAdapterWithLayerControl(){if(!this.lidarControl||!this.layerControlPlugin)return;let t=this.layerControlPlugin.getControl();t&&(this.lidarAdapter||(this.lidarAdapter=new vq(this.lidarControl)),t.registerCustomAdapter(this.lidarAdapter))}handleAddLidarLayer(t,e){if(!this.map)return;let r=e.source,n=e.name||`lidar-${Date.now()}`,s=e.isBase64===!0;if(!r){console.error("LiDAR layer requires a source URL or base64 data");return}this.lidarControl||(this.lidarControl=new bq({collapsed:!0,position:"top-right",pointSize:e.pointSize||2,opacity:e.opacity||1,colorScheme:e.colorScheme||"elevation",usePercentile:e.usePercentile!==!1,pointBudget:e.pointBudget||1e6,pickable:e.pickable!==!1,autoZoom:e.autoZoom!==!1}),this.map.addControl(this.lidarControl,"top-right"),this.lidarControl.on("load",o=>{let A=o.pointCloud;A&&"name"in A&&(this.lidarLayers.set(A.id,A.source||""),this.sendEvent("lidar:load",{id:A.id,name:A.name,pointCount:A.pointCount}))}),this.lidarControl.on("unload",o=>{let A=o.pointCloud;A&&(this.lidarLayers.delete(A.id),this.sendEvent("lidar:unload",{id:A.id}))}),this.registerLidarAdapterWithLayerControl()),e.colorScheme&&this.lidarControl.setColorScheme(e.colorScheme),e.pointSize!==void 0&&this.lidarControl.setPointSize(e.pointSize),e.opacity!==void 0&&this.lidarControl.setOpacity(e.opacity),e.pickable!==void 0&&this.lidarControl.setPickable(e.pickable);let a={id:n,name:e.filename||n};if(s){let o=atob(r),A=new Uint8Array(o.length);for(let p=0;p<o.length;p++)A[p]=o.charCodeAt(p);let l=A.buffer;e.streamingMode!==!1?this.lidarControl.loadPointCloudStreaming(l,a):this.lidarControl.loadPointCloud(l,a)}else e.streamingMode!==!1?this.lidarControl.loadPointCloudStreaming(r,a):this.lidarControl.loadPointCloud(r,a);this.lidarLayers.set(n,r)}handleRemoveLidarLayer(t,e){if(!this.lidarControl)return;let r=e.id;r?(this.lidarControl.unloadPointCloud(r),this.lidarLayers.delete(r)):(this.lidarControl.unloadPointCloud(),this.lidarLayers.clear())}handleSetLidarColorScheme(t,e){if(!this.lidarControl)return;let r=e.colorScheme;r&&this.lidarControl.setColorScheme(r)}handleSetLidarPointSize(t,e){if(!this.lidarControl)return;let r=e.pointSize;r!==void 0&&this.lidarControl.setPointSize(r)}handleSetLidarOpacity(t,e){if(!this.lidarControl)return;let r=e.opacity;r!==void 0&&this.lidarControl.setOpacity(r)}handleAddPMTilesControl(t,e){if(!this.map)return;let r=e.position||"top-right",n=e.collapsed!==!1,s=e.defaultUrl||"",a=e.loadDefaultUrl||!1,o=this.controlsMap.get("pmtiles-control");o&&(this.map.removeControl(o),this.controlsMap.delete("pmtiles-control")),this.pmtilesLayerControl=new uP({collapsed:n,defaultUrl:s,loadDefaultUrl:a,defaultOpacity:e.defaultOpacity??1,defaultFillColor:e.defaultFillColor||"steelblue",defaultLineColor:e.defaultLineColor||"#333",defaultPickable:e.defaultPickable!==!1}),this.map.addControl(this.pmtilesLayerControl,r),this.controlsMap.set("pmtiles-control",this.pmtilesLayerControl),this.pmtilesLayerControl.on("layeradd",A=>{console.debug("PMTiles layer added:",A.url),this.sendEvent("pmtiles_layer_add",{url:A.url,layerId:A.layerId})}),this.pmtilesLayerControl.on("layerremove",A=>{console.debug("PMTiles layer removed:",A.layerId),this.sendEvent("pmtiles_layer_remove",{layerId:A.layerId})}),this.pmtilesLayerControl.on("error",A=>{console.error("PMTiles error:",A.error),this.sendEvent("pmtiles_error",{error:A.error})})}handleAddCogControl(t,e){if(!this.map)return;let r=e.position||"top-right",n=e.collapsed!==!1,s=e.defaultUrl||"",a=e.loadDefaultUrl||!1,o=this.controlsMap.get("cog-control");o&&(this.map.removeControl(o),this.controlsMap.delete("cog-control")),this.cogLayerUiControl=new cP({collapsed:n,defaultUrl:s,loadDefaultUrl:a,defaultOpacity:e.defaultOpacity??1,defaultColormap:e.defaultColormap||"viridis",defaultBands:e.defaultBands||"1",defaultRescaleMin:e.defaultRescaleMin??0,defaultRescaleMax:e.defaultRescaleMax??255}),this.map.addControl(this.cogLayerUiControl,r),this.controlsMap.set("cog-control",this.cogLayerUiControl),this.cogLayerUiControl.on("layeradd",A=>{console.debug("COG layer added:",A.url),this.sendEvent("cog_layer_add",{url:A.url,layerId:A.layerId})}),this.cogLayerUiControl.on("layerremove",A=>{console.debug("COG layer removed:",A.layerId),this.sendEvent("cog_layer_remove",{layerId:A.layerId})}),this.cogLayerUiControl.on("error",A=>{console.error("COG error:",A.error),this.sendEvent("cog_error",{error:A.error})})}handleAddZarrControl(t,e){if(!this.map)return;let r=e.position||"top-right",n=e.collapsed!==!1,s=e.defaultUrl||"",a=e.loadDefaultUrl||!1,o=this.controlsMap.get("zarr-control");o&&(this.map.removeControl(o),this.controlsMap.delete("zarr-control")),this.zarrLayerUiControl=new hP({collapsed:n,defaultUrl:s,loadDefaultUrl:a,defaultOpacity:e.defaultOpacity??1,defaultVariable:e.defaultVariable||"",defaultClim:e.defaultClim||[0,1]}),this.map.addControl(this.zarrLayerUiControl,r),this.controlsMap.set("zarr-control",this.zarrLayerUiControl),this.zarrLayerUiControl.on("layeradd",A=>{console.debug("Zarr layer added:",A.url),this.sendEvent("zarr_layer_add",{url:A.url,layerId:A.layerId})}),this.zarrLayerUiControl.on("layerremove",A=>{console.debug("Zarr layer removed:",A.layerId),this.sendEvent("zarr_layer_remove",{layerId:A.layerId})}),this.zarrLayerUiControl.on("error",A=>{console.error("Zarr error:",A.error),this.sendEvent("zarr_error",{error:A.error})})}handleAddVectorControl(t,e){if(!this.map)return;let r=e.position||"top-right",n=e.collapsed!==!1,s=e.defaultUrl||"",a=e.loadDefaultUrl||!1,o=this.controlsMap.get("vector-control");o&&(this.map.removeControl(o),this.controlsMap.delete("vector-control")),this.addVectorControl=new gP({collapsed:n,defaultUrl:s,loadDefaultUrl:a,defaultOpacity:e.defaultOpacity??1,defaultFillColor:e.defaultFillColor||"#3388ff",defaultStrokeColor:e.defaultStrokeColor||"#3388ff",fitBounds:e.fitBounds!==!1}),this.map.addControl(this.addVectorControl,r),this.controlsMap.set("vector-control",this.addVectorControl),this.addVectorControl.on("layeradd",A=>{console.debug("Vector layer added:",A.url),this.sendEvent("vector_layer_add",{url:A.url,layerId:A.layerId})}),this.addVectorControl.on("layerremove",A=>{console.debug("Vector layer removed:",A.layerId),this.sendEvent("vector_layer_remove",{layerId:A.layerId})}),this.addVectorControl.on("error",A=>{console.error("Vector error:",A.error),this.sendEvent("vector_error",{error:A.error})})}handleAddControlGrid(t,e){if(!this.map)return;let r=e.position||"top-right";this.controlGrid&&(this.map.removeControl(this.controlGrid),this.controlsMap.delete("control-grid"),this.controlGrid=null);let n={position:r};if(e.defaultControls!==void 0&&e.defaultControls!==null&&(n.defaultControls=e.defaultControls),e.exclude!==void 0&&e.exclude!==null&&(n.exclude=e.exclude),e.rows!==void 0&&e.rows!==null&&(n.rows=e.rows),e.columns!==void 0&&e.columns!==null&&(n.columns=e.columns),e.collapsed!==void 0&&(n.collapsed=e.collapsed),e.collapsible!==void 0&&(n.collapsible=e.collapsible),e.title!==void 0&&(n.title=e.title),e.showRowColumnControls!==void 0&&(n.showRowColumnControls=e.showRowColumnControls),e.gap!==void 0&&e.gap!==null&&(n.gap=e.gap),e.basemapStyleUrl!==void 0)n.basemapStyleUrl=e.basemapStyleUrl;else{let a=this.model.get("style");typeof a=="string"&&(n.basemapStyleUrl=a)}e.excludeLayers!==void 0&&e.excludeLayers!==null&&(n.excludeLayers=e.excludeLayers),this.controlGrid=A1e(this.map,n),this.controlsMap.set("control-grid",this.controlGrid);let s=this.layerControlPlugin?.getControl();if(s)for(let a of this.controlGrid.getAdapters())s.registerCustomAdapter(a);this.stateManager.addControl("control-grid","control-grid",r,e)}onCenterChange(){if(this.map&&this.isMapReady){let t=this.model.get("center");this.map.setCenter(t)}}onZoomChange(){if(this.map&&this.isMapReady){let t=this.model.get("zoom");this.map.setZoom(t)}}onStyleChange(){if(this.map&&this.isMapReady){let t=this.model.get("style");this.map.setStyle(t)}}handleAddPMTilesLayer(t,e){if(!this.map)return;let r=e.url,n=e.id,s=e.sourceType||"vector",a=e.opacity??1,o=e.visible!==!1,A=e.style||{},l=r.startsWith("pmtiles://")?r:`pmtiles://${r}`;try{let c=`${n}-source`;if(!this.map.getSource(c)){let p={type:s,url:l};this.map.addSource(c,p),this.stateManager.addSource(c,p)}if(!this.map.getLayer(n)){let p;if(s==="vector"){let d=A.type||"fill",_={};d==="fill"?_={"fill-color":"#3388ff","fill-opacity":a}:d==="line"?_={"line-color":"#3388ff","line-width":2,"line-opacity":a}:d==="circle"&&(_={"circle-color":"#3388ff","circle-radius":5,"circle-opacity":a});let I={};for(let[y,B]of Object.entries(A))y!=="type"&&y!=="source-layer"&&(I[y]=B);p={id:n,type:d,source:c,layout:{visibility:o?"visible":"none"},paint:{..._,...I}},A["source-layer"]&&(p["source-layer"]=A["source-layer"]),this.map.addLayer(p)}else p={id:n,type:"raster",source:c,paint:{"raster-opacity":a},layout:{visibility:o?"visible":"none"}},this.map.addLayer(p);this.stateManager.addLayer(n,p),this.userOverlayLayerIds.push(n)}}catch(c){console.error(`[anymap-ts] Error adding PMTiles layer "${n}":`,c)}}handleRemovePMTilesLayer(t,e){if(!this.map)return;let[r]=t,n=`${r}-source`;this.map.getLayer(r)&&this.map.removeLayer(r),this.map.getSource(n)&&this.map.removeSource(n)}handleAddClusterLayer(t,e){if(!this.map)return;let r=e.data,n=e.name,s=e.clusterRadius||50,a=e.clusterMaxZoom||14,o=e.clusterColors||["#51bbd6","#f1f075","#f28cb1"],A=e.clusterSteps||[100,750],l=e.clusterMinRadius||15,c=e.clusterMaxRadius||30,p=e.unclusteredColor||"#11b4da",d=e.unclusteredRadius||8,_=e.showClusterCount!==!1,I=e.zoomOnClick!==!1,y=e.fitBounds!==!1,B=`${n}-source`;this.map.getSource(B)||(this.map.addSource(B,{type:"geojson",data:r,cluster:!0,clusterMaxZoom:a,clusterRadius:s}),this.stateManager.addSource(B,{type:"geojson",data:r,cluster:!0,clusterMaxZoom:a,clusterRadius:s}));let x=["step",["get","point_count"],o[0]];for(let z=0;z<A.length;z++)x.push(A[z]),x.push(o[z+1]);let w=["step",["get","point_count"],l],D=(c-l)/A.length;for(let z=0;z<A.length;z++)w.push(A[z]),w.push(l+D*(z+1));let T=`${n}-clusters`;if(this.map.getLayer(T)||(this.map.addLayer({id:T,type:"circle",source:B,filter:["has","point_count"],paint:{"circle-color":x,"circle-radius":w}}),this.stateManager.addLayer(T,{id:T,type:"circle",source:B,filter:["has","point_count"]})),_){let z=`${n}-cluster-count`;this.map.getLayer(z)||(this.map.addLayer({id:z,type:"symbol",source:B,filter:["has","point_count"],layout:{"text-field":"{point_count_abbreviated}","text-font":["Open Sans Bold","Arial Unicode MS Bold"],"text-size":12},paint:{"text-color":"#ffffff"}}),this.stateManager.addLayer(z,{id:z,type:"symbol",source:B,filter:["has","point_count"]}))}let j=`${n}-unclustered`;if(this.map.getLayer(j)||(this.map.addLayer({id:j,type:"circle",source:B,filter:["!",["has","point_count"]],paint:{"circle-color":p,"circle-radius":d,"circle-stroke-width":1,"circle-stroke-color":"#fff"}}),this.stateManager.addLayer(j,{id:j,type:"circle",source:B,filter:["!",["has","point_count"]]})),I&&(this.map.on("click",T,z=>{if(!this.map)return;let W=this.map.queryRenderedFeatures(z.point,{layers:[T]});if(!W.length)return;let N=W[0].properties?.cluster_id;this.map.getSource(B).getClusterExpansionZoom(N).then(U=>{if(!this.map)return;let J=W[0].geometry.coordinates;this.map.easeTo({center:J,zoom:U??this.map.getZoom()+2})}).catch(()=>{})}),this.map.on("mouseenter",T,()=>{this.map&&(this.map.getCanvas().style.cursor="pointer")}),this.map.on("mouseleave",T,()=>{this.map&&(this.map.getCanvas().style.cursor="")})),y&&e.bounds){let z=e.bounds;this.map.fitBounds([[z[0],z[1]],[z[2],z[3]]],{padding:50})}}handleRemoveClusterLayer(t,e){if(!this.map)return;let[r]=t,n=`${r}-source`,s=[`${r}-clusters`,`${r}-cluster-count`,`${r}-unclustered`];for(let a of s)this.map.getLayer(a)&&(this.map.removeLayer(a),this.stateManager.removeLayer(a));this.map.getSource(n)&&(this.map.removeSource(n),this.stateManager.removeSource(n))}handleAddChoropleth(t,e){if(!this.map)return;let r=e.data,n=e.name,s=e.stepExpression,a=e.fillOpacity??.7,o=e.lineColor||"#000000",A=e.lineWidth??1,l=e.hover!==!1,c=e.fitBounds!==!1,p=`${n}-source`,d=n,_=`${n}-outline`;if(this.map.getSource(p)||(this.map.addSource(p,{type:"geojson",data:r,generateId:!0}),this.stateManager.addSource(p,{type:"geojson",data:r,generateId:!0})),!this.map.getLayer(d)){let I={"fill-color":s,"fill-opacity":["case",["boolean",["feature-state","hover"],!1],Math.min(a+.2,1),a]};this.map.addLayer({id:d,type:"fill",source:p,paint:I}),this.stateManager.addLayer(d,{id:d,type:"fill",source:p})}if(this.map.getLayer(_)||(this.map.addLayer({id:_,type:"line",source:p,paint:{"line-color":o,"line-width":["case",["boolean",["feature-state","hover"],!1],A*2,A]}}),this.stateManager.addLayer(_,{id:_,type:"line",source:p})),l&&this.setupHoverEffect(d,p),c&&e.bounds){let I=e.bounds;this.map.fitBounds([[I[0],I[1]],[I[2],I[3]]],{padding:50})}}setupHoverEffect(t,e){this.map&&(this.map.on("mousemove",t,r=>{if(!this.map||r.features?.length===0)return;this.hoveredFeatureId!==null&&this.hoveredLayerId&&this.map.setFeatureState({source:e,id:this.hoveredFeatureId},{hover:!1});let n=r.features[0];this.hoveredFeatureId=n.id??null,this.hoveredLayerId=t,this.hoveredFeatureId!==null&&this.map.setFeatureState({source:e,id:this.hoveredFeatureId},{hover:!0}),this.map.getCanvas().style.cursor="pointer"}),this.map.on("mouseleave",t,()=>{this.map&&(this.hoveredFeatureId!==null&&this.map.setFeatureState({source:e,id:this.hoveredFeatureId},{hover:!1}),this.hoveredFeatureId=null,this.hoveredLayerId=null,this.map.getCanvas().style.cursor="")}))}handleAdd3DBuildings(t,e){if(!this.map)return;let r=e.source||"openmaptiles",n=e.minZoom??14,s=e.fillExtrusionColor||"#aaa",a=e.fillExtrusionOpacity??.6,o=e.heightProperty||"render_height",A=e.baseProperty||"render_min_height",l=e.layerId||"3d-buildings",c=this.map.getStyle(),p=null,d="building";if(c.sources){for(let[_,I]of Object.entries(c.sources))if(I.type==="vector"&&(_.includes("openmaptiles")||_.includes("maptiler")||_.includes("carto")||_===r||_==="composite")){p=_;break}}if(p||(p="buildings-source",this.map.getSource(p)||this.map.addSource(p,{type:"vector",url:"https://tiles.openfreemap.org/planet"})),!this.map.getLayer(l)){try{this.map.addLayer({id:l,source:p,"source-layer":d,filter:["all",["==",["geometry-type"],"Polygon"],["has","render_height"]],type:"fill-extrusion",minzoom:n,paint:{"fill-extrusion-color":s,"fill-extrusion-height":["coalesce",["get",o],["get","height"],10],"fill-extrusion-base":["coalesce",["get",A],0],"fill-extrusion-opacity":a}})}catch{console.warn("3D buildings: trying simpler filter"),this.map.addLayer({id:l,source:p,"source-layer":d,type:"fill-extrusion",minzoom:n,paint:{"fill-extrusion-color":s,"fill-extrusion-height":["coalesce",["get",o],["get","height"],10],"fill-extrusion-base":0,"fill-extrusion-opacity":a}})}this.stateManager.addLayer(l,{id:l,type:"fill-extrusion",source:p})}}handleAnimateAlongRoute(t,e){if(!this.map)return;let r=e.id,n=e.coordinates,s=e.duration||1e4,a=e.loop!==!1,o=e.markerColor||"#3388ff",A=e.markerSize||1,l=e.showTrail===!0,c=e.trailColor||"#3388ff",p=e.trailWidth||3,d=omt(n),_=PUe(d,{units:"kilometers"}),I=new Yu.Marker({color:o,scale:A}).setLngLat(n[0]).addTo(this.map),y,B;l&&(y=`${r}-trail-source`,B=`${r}-trail`,this.map.getSource(y)||this.map.addSource(y,{type:"geojson",data:{type:"Feature",properties:{},geometry:{type:"LineString",coordinates:[]}}}),this.map.getLayer(B)||this.map.addLayer({id:B,type:"line",source:y,paint:{"line-color":c,"line-width":p,"line-opacity":.8}}));let x=performance.now(),w=[n[0]],D=T=>{let j=this.animations.get(r);if(!j||!this.map)return;if(j.isPaused){j.animationId=requestAnimationFrame(D);return}let z=(T-j.startTime)*j.speed;j.pausedAt>0&&(z=(T-j.pausedAt+(j.pausedAt-j.startTime))*j.speed);let N=z%j.duration/j.duration*_,U=FUe(d,N,{units:"kilometers"}).geometry.coordinates;if(j.marker.setLngLat(U),l&&y){w.push(U);let J=this.map.getSource(y);J&&J.setData({type:"Feature",properties:{},geometry:{type:"LineString",coordinates:w}})}if(z>=j.duration&&!a){this.handleStopAnimation([r],{});return}j.animationId=requestAnimationFrame(D)};this.animations.set(r,{animationId:requestAnimationFrame(D),marker:I,isPaused:!1,speed:1,startTime:x,pausedAt:0,duration:s,coordinates:n,loop:a,trailSourceId:y,trailLayerId:B})}handleStopAnimation(t,e){let[r]=t,n=this.animations.get(r);n&&(cancelAnimationFrame(n.animationId),n.marker.remove(),n.trailLayerId&&this.map?.getLayer(n.trailLayerId)&&this.map.removeLayer(n.trailLayerId),n.trailSourceId&&this.map?.getSource(n.trailSourceId)&&this.map.removeSource(n.trailSourceId),this.animations.delete(r))}handlePauseAnimation(t,e){let[r]=t,n=this.animations.get(r);n&&(n.isPaused=!0,n.pausedAt=performance.now())}handleResumeAnimation(t,e){let[r]=t,n=this.animations.get(r);if(!n||!n.isPaused)return;let s=performance.now()-n.pausedAt;n.startTime+=s,n.isPaused=!1,n.pausedAt=0}handleSetAnimationSpeed(t,e){let[r,n]=t,s=this.animations.get(r);s&&(s.speed=n)}handleAddHoverEffect(t,e){if(!this.map)return;let r=e.layerId,n=e.highlightColor,s=e.highlightOpacity,a=e.highlightOutlineWidth||2,o=this.map.getLayer(r);if(!o){console.warn(`Layer ${r} not found`);return}let A=o.source;this.map.on("mousemove",r,c=>{if(!this.map||!c.features?.length)return;this.hoveredFeatureId!==null&&this.map.setFeatureState({source:A,id:this.hoveredFeatureId},{hover:!1});let p=c.features[0];this.hoveredFeatureId=p.id??null,this.hoveredLayerId=r,this.hoveredFeatureId!==null&&this.map.setFeatureState({source:A,id:this.hoveredFeatureId},{hover:!0}),this.map.getCanvas().style.cursor="pointer"}),this.map.on("mouseleave",r,()=>{this.map&&(this.hoveredFeatureId!==null&&this.map.setFeatureState({source:A,id:this.hoveredFeatureId},{hover:!1}),this.hoveredFeatureId=null,this.hoveredLayerId=null,this.map.getCanvas().style.cursor="")});let l=o.type;l==="fill"?(s!==void 0&&this.map.setPaintProperty(r,"fill-opacity",["case",["boolean",["feature-state","hover"],!1],s,this.map.getPaintProperty(r,"fill-opacity")||.5]),n&&this.map.setPaintProperty(r,"fill-color",["case",["boolean",["feature-state","hover"],!1],n,this.map.getPaintProperty(r,"fill-color")||"#3388ff"])):l==="line"?this.map.setPaintProperty(r,"line-width",["case",["boolean",["feature-state","hover"],!1],a,this.map.getPaintProperty(r,"line-width")||2]):l==="circle"&&s!==void 0&&this.map.setPaintProperty(r,"circle-opacity",["case",["boolean",["feature-state","hover"],!1],s,this.map.getPaintProperty(r,"circle-opacity")||.8])}handleSetSky(t,e){if(!this.map)return;let r={};e.skyColor!==void 0&&(r["sky-color"]=e.skyColor),e.skyHorizonBlend!==void 0&&(r["sky-horizon-blend"]=e.skyHorizonBlend),e.horizonColor!==void 0&&(r["horizon-color"]=e.horizonColor),e.horizonFogBlend!==void 0&&(r["horizon-fog-blend"]=e.horizonFogBlend),e.fogColor!==void 0&&(r["fog-color"]=e.fogColor),e.fogGroundBlend!==void 0&&(r["fog-ground-blend"]=e.fogGroundBlend),e.atmosphereBlend!==void 0&&(r["atmosphere-blend"]=e.atmosphereBlend),this.map.setSky(r)}handleRemoveSky(t,e){this.map&&this.map.setSky(void 0)}handleSetFilter(t,e){if(!this.map)return;let r=e.layerId,n=e.filter;if(!r){console.error("setFilter requires layerId");return}if(!this.map.getLayer(r)){console.warn(`Layer ${r} not found`);return}this.map.setFilter(r,n),this.stateManager.setLayerFilter(r,n)}handleQueryRenderedFeatures(t,e){if(!this.map)return;let r=e.geometry,n=e.layers,s=e.filter,a={};n&&(a.layers=n),s&&(a.filter=s);let A={type:"FeatureCollection",features:(r?this.map.queryRenderedFeatures(r,a):this.map.queryRenderedFeatures(a)).map(l=>({type:"Feature",geometry:l.geometry,properties:l.properties,id:l.id,layer:l.layer?.id,source:l.source}))};this.model.set("_queried_features",A),this.model.save_changes()}handleQuerySourceFeatures(t,e){if(!this.map)return;let r=e.sourceId,n=e.sourceLayer,s=e.filter;if(!r){console.error("querySourceFeatures requires sourceId");return}let a={};n&&(a.sourceLayer=n),s&&(a.filter=s);let A={type:"FeatureCollection",features:this.map.querySourceFeatures(r,a).map(l=>({type:"Feature",geometry:l.geometry,properties:l.properties,id:l.id}))};this.model.set("_queried_features",A),this.model.save_changes()}handleAddVideoLayer(t,e){if(!this.map)return;let r=e.id||`video-${Date.now()}`,n=e.urls,s=e.coordinates,a=e.opacity??1;if(!n||!n.length||!s||s.length!==4){console.error("addVideoLayer requires urls array and 4 corner coordinates");return}let o=`${r}-source`;if(this.map.getSource(o)||(this.map.addSource(o,{type:"video",urls:n,coordinates:s}),this.stateManager.addSource(o,{type:"video",urls:n,coordinates:s})),!this.map.getLayer(r)){let A={id:r,type:"raster",source:o,paint:{"raster-opacity":a}};this.map.addLayer(A),this.stateManager.addLayer(r,A)}this.videoSources.set(r,o)}handleRemoveVideoLayer(t,e){if(!this.map)return;let r=e.id;if(!r)return;this.map.getLayer(r)&&(this.map.removeLayer(r),this.stateManager.removeLayer(r));let n=this.videoSources.get(r)||`${r}-source`;this.map.getSource(n)&&(this.map.removeSource(n),this.stateManager.removeSource(n)),this.videoSources.delete(r)}handlePlayVideo(t,e){if(!this.map)return;let r=e.id,n=this.videoSources.get(r)||`${r}-source`,s=this.map.getSource(n);s&&"play"in s&&s.play()}handlePauseVideo(t,e){if(!this.map)return;let r=e.id,n=this.videoSources.get(r)||`${r}-source`,s=this.map.getSource(n);s&&"pause"in s&&s.pause()}handleSeekVideo(t,e){if(!this.map)return;let r=e.id,n=e.time,s=this.videoSources.get(r)||`${r}-source`,a=this.map.getSource(s);if(a&&"getVideo"in a){let o=a.getVideo();o&&(o.currentTime=n)}}handleAddSplitMap(t,e){if(!this.map||!this.mapContainer)return;let r=e.leftLayer,n=e.rightLayer,s=e.position??50;if(!r||!n){console.error("addSplitMap requires leftLayer and rightLayer");return}this.splitActive&&this.handleRemoveSplitMap([],{}),this.splitActive=!0,this.map.getLayer(n)&&this.map.setLayoutProperty(n,"visibility","none");let a=document.createElement("div");a.style.position="absolute",a.style.top="0",a.style.left="0",a.style.width="100%",a.style.height="100%",a.style.clipPath=`inset(0 0 0 ${s}%)`,a.style.pointerEvents="none",this.mapContainer.appendChild(a),this.splitMapContainer=a;let o=this.model.get("style"),A=new Yu.Map({container:a,style:o,center:this.map.getCenter(),zoom:this.map.getZoom(),bearing:this.map.getBearing(),pitch:this.map.getPitch(),interactive:!1,attributionControl:!1});this.splitMapRight=A,A.on("load",()=>{A.getLayer(r)&&A.setLayoutProperty(r,"visibility","none");let B=this.model.get("_sources")||{};for(let[w,D]of Object.entries(B))if(!A.getSource(w))try{A.addSource(w,D)}catch{}let x=this.model.get("_layers")||{};for(let[w,D]of Object.entries(x)){let T=D;if(!A.getLayer(w))try{A.addLayer(T)}catch{}if(w===n)A.setLayoutProperty(w,"visibility","visible");else try{A.setLayoutProperty(w,"visibility","none")}catch{}}});let l=()=>{!this.map||!this.splitMapRight||this.splitMapRight.jumpTo({center:this.map.getCenter(),zoom:this.map.getZoom(),bearing:this.map.getBearing(),pitch:this.map.getPitch()})};this.map.on("move",l);let c=document.createElement("div");c.style.position="absolute",c.style.top="0",c.style.left=`${s}%`,c.style.width="4px",c.style.height="100%",c.style.backgroundColor="#333",c.style.cursor="ew-resize",c.style.zIndex="10",c.style.boxShadow="-1px 0 0 rgba(255,255,255,0.6), 1px 0 0 rgba(255,255,255,0.6), 0 0 6px rgba(0,0,0,0.5)";let p=document.createElement("div");p.style.position="absolute",p.style.top="50%",p.style.left="50%",p.style.transform="translate(-50%, -50%)",p.style.width="36px",p.style.height="36px",p.style.borderRadius="50%",p.style.backgroundColor="#fff",p.style.border="2px solid #333",p.style.boxShadow="0 1px 6px rgba(0,0,0,0.5)",p.style.display="flex",p.style.alignItems="center",p.style.justifyContent="center",p.style.fontSize="16px",p.style.color="#333",p.style.fontWeight="bold",p.innerHTML="↔",c.appendChild(p),this.mapContainer.appendChild(c),this.splitSlider=c;let d=!1,_=B=>{d=!0,c.setPointerCapture(B.pointerId),B.preventDefault()},I=B=>{if(!d||!this.mapContainer||!this.splitMapContainer)return;let x=this.mapContainer.getBoundingClientRect(),w=B.clientX-x.left,D=Math.max(0,Math.min(100,w/x.width*100));c.style.left=`${D}%`,this.splitMapContainer.style.clipPath=`inset(0 0 0 ${D}%)`},y=()=>{d=!1};c.addEventListener("pointerdown",_),window.addEventListener("pointermove",I),window.addEventListener("pointerup",y),c._cleanup=()=>{c.removeEventListener("pointerdown",_),window.removeEventListener("pointermove",I),window.removeEventListener("pointerup",y),this.map?.off("move",l)},this.stateManager.addControl("split-map","split-map","overlay",{leftLayer:r,rightLayer:n,position:s})}handleRemoveSplitMap(t,e){if(this.splitActive){if(this.splitSlider){let r=this.splitSlider?._cleanup;r&&r(),this.splitSlider.remove(),this.splitSlider=null}if(this.splitMapRight&&(this.splitMapRight.remove(),this.splitMapRight=null),this.splitMapContainer&&(this.splitMapContainer.remove(),this.splitMapContainer=null),this.map){let r=this.model.get("_layers")||{};for(let[n,s]of Object.entries(r))s.visible!==!1&&this.map.getLayer(n)&&this.map.setLayoutProperty(n,"visibility","visible")}this.splitActive=!1,this.stateManager.removeControl("split-map")}}handleAddColorbar(t,e){if(!this.map)return;let r=e.colorbarId||`colorbar-${Date.now()}`,n=e.position||"bottom-right",s=this.colorbarsMap.get(r);s&&(this.map.removeControl(s),this.colorbarsMap.delete(r),this.controlsMap.delete(r));let a={};e.colormap!==void 0&&(a.colormap=e.colormap),e.vmin!==void 0&&(a.vmin=e.vmin),e.vmax!==void 0&&(a.vmax=e.vmax),e.label!==void 0&&(a.label=e.label),e.units!==void 0&&(a.units=e.units),e.orientation!==void 0&&(a.orientation=e.orientation),e.barThickness!==void 0&&(a.barThickness=e.barThickness),e.barLength!==void 0&&(a.barLength=e.barLength),e.ticks!==void 0&&(a.ticks=e.ticks),e.opacity!==void 0&&(a.opacity=e.opacity);let o=new bSt(a);this.map.addControl(o,n),this.colorbarsMap.set(r,o),this.controlsMap.set(r,o),this.stateManager.addControl(r,"colorbar",n,e)}handleRemoveColorbar(t,e){if(!this.map)return;let r=e.colorbarId||t[0];if(r){let n=this.colorbarsMap.get(r);n&&(this.map.removeControl(n),this.colorbarsMap.delete(r),this.controlsMap.delete(r),this.stateManager.removeControl(r))}else this.colorbarsMap.forEach((n,s)=>{this.map&&this.map.removeControl(n),this.controlsMap.delete(s),this.stateManager.removeControl(s)}),this.colorbarsMap.clear()}handleUpdateColorbar(t,e){if(!this.map)return;let r=e.colorbarId||"colorbar-0",n=this.colorbarsMap.get(r);if(!n){console.warn(`Colorbar '${r}' not found`);return}let s={};e.colormap!==void 0&&(s.colormap=e.colormap),e.vmin!==void 0&&(s.vmin=e.vmin),e.vmax!==void 0&&(s.vmax=e.vmax),e.label!==void 0&&(s.label=e.label),e.units!==void 0&&(s.units=e.units),e.orientation!==void 0&&(s.orientation=e.orientation),e.barThickness!==void 0&&(s.barThickness=e.barThickness),e.barLength!==void 0&&(s.barLength=e.barLength),e.ticks!==void 0&&(s.ticks=e.ticks),e.opacity!==void 0&&(s.opacity=e.opacity),n.update(s)}handleAddSearchControl(t,e){if(!this.map)return;let r=e.position||"top-left";this.searchControl&&(this.map.removeControl(this.searchControl),this.controlsMap.delete("search-control"),this.searchControl=null);let n={};e.placeholder!==void 0&&(n.placeholder=e.placeholder),e.collapsed!==void 0&&(n.collapsed=e.collapsed),e.flyToZoom!==void 0&&(n.flyToZoom=e.flyToZoom),e.showMarker!==void 0&&(n.showMarker=e.showMarker),e.markerColor!==void 0&&(n.markerColor=e.markerColor),e.maxResults!==void 0&&(n.maxResults=e.maxResults),e.debounceMs!==void 0&&(n.debounceMs=e.debounceMs),this.searchControl=new zW(n),this.searchControl.on("resultselect",s=>{this.sendEvent("search_result_select",{result:s.result})}),this.map.addControl(this.searchControl,r),this.controlsMap.set("search-control",this.searchControl),this.stateManager.addControl("search-control","search-control",r,e)}handleRemoveSearchControl(t,e){!this.map||!this.searchControl||(this.map.removeControl(this.searchControl),this.controlsMap.delete("search-control"),this.stateManager.removeControl("search-control"),this.searchControl=null)}handleAddMeasureControl(t,e){if(!this.map)return;let r=e.position||"top-right";this.measureControl&&(this.map.removeControl(this.measureControl),this.controlsMap.delete("measure-control"),this.measureControl=null);let n={};e.collapsed!==void 0&&(n.collapsed=e.collapsed),e.defaultMode!==void 0&&(n.defaultMode=e.defaultMode),e.distanceUnit!==void 0&&(n.distanceUnit=e.distanceUnit),e.areaUnit!==void 0&&(n.areaUnit=e.areaUnit),e.lineColor!==void 0&&(n.lineColor=e.lineColor),e.lineWidth!==void 0&&(n.lineWidth=e.lineWidth),e.fillColor!==void 0&&(n.fillColor=e.fillColor),this.measureControl=new YW(n),this.map.addControl(this.measureControl,r),this.controlsMap.set("measure-control",this.measureControl),this.stateManager.addControl("measure-control","measure-control",r,e)}handleRemoveMeasureControl(t,e){!this.map||!this.measureControl||(this.map.removeControl(this.measureControl),this.controlsMap.delete("measure-control"),this.stateManager.removeControl("measure-control"),this.measureControl=null)}handleAddPrintControl(t,e){if(!this.map)return;let r=e.position||"top-right";this.printControl&&(this.map.removeControl(this.printControl),this.controlsMap.delete("print-control"),this.printControl=null);let n={};e.collapsed!==void 0&&(n.collapsed=e.collapsed),e.format!==void 0&&(n.format=e.format),e.filename!==void 0&&(n.filename=e.filename),e.includeNorthArrow!==void 0&&(n.includeNorthArrow=e.includeNorthArrow),e.includeScaleBar!==void 0&&(n.includeScaleBar=e.includeScaleBar),this.printControl=new qW(n),this.printControl.on("export",s=>{this.sendEvent("print_export",{state:s.state})}),this.map.addControl(this.printControl,r),this.controlsMap.set("print-control",this.printControl),this.stateManager.addControl("print-control","print-control",r,e)}handleRemovePrintControl(t,e){!this.map||!this.printControl||(this.map.removeControl(this.printControl),this.controlsMap.delete("print-control"),this.stateManager.removeControl("print-control"),this.printControl=null)}handleAddGeoPhotoControl(t,e){if(!this.map)return;let r=e.position||"top-right";this.geoPhotoControl&&(this.map.removeControl(this.geoPhotoControl),this.controlsMap.delete("geophoto-control"),this.geoPhotoControl=null);let n={};e.collapsed!==void 0&&(n.collapsed=e.collapsed),e.title!==void 0&&(n.title=e.title),e.panelWidth!==void 0&&(n.panelWidth=e.panelWidth),e.maxHeight!==void 0&&(n.maxHeight=e.maxHeight),e.showPath!==void 0&&(n.showPath=e.showPath),e.showPathDirectionArrows!==void 0&&(n.showPathDirectionArrows=e.showPathDirectionArrows),e.pathDirectionArrowSpacing!==void 0&&(n.pathDirectionArrowSpacing=e.pathDirectionArrowSpacing),e.pathDirectionArrowSize!==void 0&&(n.pathDirectionArrowSize=e.pathDirectionArrowSize),e.pathDirectionArrowColor!==void 0&&(n.pathDirectionArrowColor=e.pathDirectionArrowColor),e.preloadUrl!==void 0&&(n.preloadUrl=e.preloadUrl),e.fitBoundsOnLoad!==void 0&&(n.fitBoundsOnLoad=e.fitBoundsOnLoad),e.fitBoundsPadding!==void 0&&(n.fitBoundsPadding=e.fitBoundsPadding),e.showObjects!==void 0&&(n.showObjects=e.showObjects),e.pathColor!==void 0&&(n.pathColor=e.pathColor),e.pointColor!==void 0&&(n.pointColor=e.pointColor),e.selectedPointColor!==void 0&&(n.selectedPointColor=e.selectedPointColor),this.geoPhotoControl=new dot(n),this.geoPhotoControl.on("cameraselect",s=>{let a=s.camera,o=s.cameraIndex;this.sendEvent("geophoto:cameraselect",{camera:a?{id:a.id,coordinates:a.coordinates,elevation:a.elevation,captureTime:a.captureTime}:null,cameraIndex:o})}),this.geoPhotoControl.on("dataloaded",()=>{this.sendEvent("geophoto:dataloaded",{cameraCount:this.geoPhotoControl?.getCameras().length||0})}),this.geoPhotoControl.on("datacleared",()=>{this.sendEvent("geophoto:datacleared",{})}),this.map.addControl(this.geoPhotoControl,r),this.controlsMap.set("geophoto-control",this.geoPhotoControl),this.stateManager.addControl("geophoto-control","geophoto-control",r,e)}handleRemoveGeoPhotoControl(t,e){!this.map||!this.geoPhotoControl||(this.geoPhotoControl.clearData(),this.map.removeControl(this.geoPhotoControl),this.controlsMap.delete("geophoto-control"),this.stateManager.removeControl("geophoto-control"),this.geoPhotoControl=null)}async handleLoadGeoPhotoZip(t,e){if(!this.geoPhotoControl){console.warn("GeoPhoto control not added. Call addGeoPhotoControl first.");return}let r=e.url;if(!r){console.error("loadGeoPhotoZip requires a url parameter");return}await this.geoPhotoControl.loadZipFromUrl(r)}async handleLoadGeoPhotoUrls(t,e){if(!this.geoPhotoControl){console.warn("GeoPhoto control not added. Call addGeoPhotoControl first.");return}let r=e.trajectoryGeojsonUrl;if(!r){console.error("loadGeoPhotoUrls requires a trajectoryGeojsonUrl parameter");return}let n=e.trajectoryJsonUrl,s=e.objectsUrl,a=e.imageBasePath;await this.geoPhotoControl.loadFromUrls(r,n,s,a)}handleGeoPhotoSelectCamera(t,e){if(!this.geoPhotoControl)return;let r=e.index;typeof r=="number"&&this.geoPhotoControl.selectCamera(r)}handleGeoPhotoNextCamera(t,e){this.geoPhotoControl&&this.geoPhotoControl.nextCamera()}handleGeoPhotoPrevCamera(t,e){this.geoPhotoControl&&this.geoPhotoControl.prevCamera()}handleGeoPhotoPlay(t,e){this.geoPhotoControl&&this.geoPhotoControl.play()}handleGeoPhotoStop(t,e){this.geoPhotoControl&&this.geoPhotoControl.stop()}handleGeoPhotoClearData(t,e){this.geoPhotoControl&&this.geoPhotoControl.clearData()}async handleAddFlatGeobuf(t,e){if(!this.map)return;let r=e.url,n=e.name||`flatgeobuf-${Date.now()}`,s=e.layerType,a=e.paint,o=e.fitBounds!==!1,A=`${n}-source`,l=n;try{let c=await fetch(r);if(!c.ok)throw new Error(`HTTP ${c.status}: ${c.statusText}`);let p=[];for await(let y of Gkt.deserialize(c.body))p.push(y);let d={type:"FeatureCollection",features:p},_=s;!_&&p.length>0&&(_=this.inferLayerType(p[0].geometry.type)),_=_||"circle";let I=a||this.getDefaultPaint(_);if(!this.map.getSource(A)){let y={type:"geojson",data:d};this.map.addSource(A,y),this.stateManager.addSource(A,y)}if(!this.map.getLayer(l)){let y={id:l,type:_,source:A,paint:I};this.map.addLayer(y),this.stateManager.addLayer(l,y),this.userOverlayLayerIds.push(l)}if(o&&p.length>0){let y=new Yu.default.LngLatBounds;for(let B of p){let x=B.geometry;if(x.type==="Point")y.extend(x.coordinates);else if(x.type==="MultiPoint"||x.type==="LineString")for(let w of x.coordinates)y.extend(w);else if(x.type==="MultiLineString"||x.type==="Polygon")for(let w of x.coordinates)for(let D of w)y.extend(D);else if(x.type==="MultiPolygon")for(let w of x.coordinates)for(let D of w)for(let T of D)y.extend(T)}y.isEmpty()||this.map.fitBounds(y,{padding:50})}}catch(c){console.error(`Error loading FlatGeobuf from ${r}:`,c)}}handleRemoveFlatGeobuf(t,e){if(!this.map)return;let r=e.name||t[0];if(!r)return;let n=r,s=`${r}-source`;this.map.getLayer(n)&&(this.map.removeLayer(n),this.stateManager.removeLayer(n)),this.map.getSource(s)&&(this.map.removeSource(s),this.stateManager.removeSource(s))}destroy(){this.splitActive&&this.handleRemoveSplitMap([],{}),this.removeModelListeners(),this.resizeDebounceTimer!==null&&(window.clearTimeout(this.resizeDebounceTimer),this.resizeDebounceTimer=null),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),this.geoEditorPlugin&&(this.geoEditorPlugin.destroy(),this.geoEditorPlugin=null),this.layerControlPlugin&&(this.layerControlPlugin.destroy(),this.layerControlPlugin=null),this.colorbarsMap.forEach(t=>{this.map&&this.map.removeControl(t)}),this.colorbarsMap.clear(),this.searchControl&&this.map&&(this.map.removeControl(this.searchControl),this.searchControl=null),this.measureControl&&this.map&&(this.map.removeControl(this.measureControl),this.measureControl=null),this.printControl&&this.map&&(this.map.removeControl(this.printControl),this.printControl=null),this.geoPhotoControl&&this.map&&(this.geoPhotoControl.clearData(),this.map.removeControl(this.geoPhotoControl),this.geoPhotoControl=null),this.controlGrid&&this.map&&(this.map.removeControl(this.controlGrid),this.controlGrid=null),this.deckOverlay&&this.map&&(this.map.removeControl(this.deckOverlay),this.deckOverlay=null),this.deckLayers.clear(),this.cogAdapter=null,this.deckLayerAdapter=null,this.deckAdaptersRegisteredWithLayerControl=!1,this.lidarAdapter&&(this.lidarAdapter.destroy(),this.lidarAdapter=null),this.lidarControl&&this.map&&(this.map.removeControl(this.lidarControl),this.lidarControl=null),this.lidarLayers.clear(),this.animations.forEach((t,e)=>{cancelAnimationFrame(t.animationId),t.marker.remove(),t.trailLayerId&&this.map?.getLayer(t.trailLayerId)&&this.map.removeLayer(t.trailLayerId),t.trailSourceId&&this.map?.getSource(t.trailSourceId)&&this.map.removeSource(t.trailSourceId)}),this.animations.clear(),this.zarrLayers.forEach((t,e)=>{this.map&&this.map.getLayer(e)&&this.map.removeLayer(e)}),this.zarrLayers.clear(),this.videoSources.clear(),this.markersMap.forEach(t=>t.remove()),this.markersMap.clear(),this.markerGroupsMap.clear(),this.markerAdapter=null,this.popupsMap.forEach(t=>t.remove()),this.popupsMap.clear(),this.controlsMap.forEach(t=>{this.map&&this.map.removeControl(t)}),this.controlsMap.clear(),this.map&&(this.map.remove(),this.map=null),this.mapContainer&&(this.mapContainer.remove(),this.mapContainer=null)}};T$([Sy,MOt]);async function UFn(i){let t=amt(i);return{def:t.proj4,parsed:aF.parseCrs(t.proj4),coordinatesUnits:t.coordinatesUnits}}var Pkt=class extends Ukt{deckOverlay=null;deckLayers=new globalThis.Map;tripsLayerConfigs=new Map;tripsAnimations=new Map;constructor(t,e){super(t,e),this.registerDeckGLMethods()}async initialize(){await super.initialize(),this.map&&(this.deckOverlay=new By({interleaved:!0,layers:[]}),this.map.addControl(this.deckOverlay))}registerDeckGLMethods(){this.registerMethod("addScatterplotLayer",this.handleAddScatterplotLayer.bind(this)),this.registerMethod("addArcLayer",this.handleAddArcLayer.bind(this)),this.registerMethod("addPathLayer",this.handleAddPathLayer.bind(this)),this.registerMethod("addPolygonLayer",this.handleAddPolygonLayer.bind(this)),this.registerMethod("addHexagonLayer",this.handleAddHexagonLayer.bind(this)),this.registerMethod("addHeatmapLayer",this.handleAddHeatmapLayer.bind(this)),this.registerMethod("addGridLayer",this.handleAddGridLayer.bind(this)),this.registerMethod("addIconLayer",this.handleAddIconLayer.bind(this)),this.registerMethod("addTextLayer",this.handleAddTextLayer.bind(this)),this.registerMethod("addGeoJsonLayer",this.handleAddGeoJsonLayer.bind(this)),this.registerMethod("addContourLayer",this.handleAddContourLayer.bind(this)),this.registerMethod("addScreenGridLayer",this.handleAddScreenGridLayer.bind(this)),this.registerMethod("addPointCloudLayer",this.handleAddPointCloudLayer.bind(this)),this.registerMethod("addTripsLayer",this.handleAddTripsLayer.bind(this)),this.registerMethod("addLineLayer",this.handleAddLineLayer.bind(this)),this.registerMethod("addCOGLayer",this.handleAddCOGLayer.bind(this)),this.registerMethod("addDeckGLLayer",this.handleAddDeckGLLayer.bind(this)),this.registerMethod("addBitmapLayer",this.handleAddBitmapLayer.bind(this)),this.registerMethod("addColumnLayer",this.handleAddColumnLayer.bind(this)),this.registerMethod("addGridCellLayer",this.handleAddGridCellLayer.bind(this)),this.registerMethod("addSolidPolygonLayer",this.handleAddSolidPolygonLayer.bind(this)),this.registerMethod("addTileLayer",this.handleAddDeckTileLayer.bind(this)),this.registerMethod("addMVTLayer",this.handleAddMVTLayer.bind(this)),this.registerMethod("addTile3DLayer",this.handleAddTile3DLayer.bind(this)),this.registerMethod("addTerrainLayer",this.handleAddTerrainLayer.bind(this)),this.registerMethod("addGreatCircleLayer",this.handleAddGreatCircleLayer.bind(this)),this.registerMethod("addH3HexagonLayer",this.handleAddH3HexagonLayer.bind(this)),this.registerMethod("addH3ClusterLayer",this.handleAddH3ClusterLayer.bind(this)),this.registerMethod("addS2Layer",this.handleAddS2Layer.bind(this)),this.registerMethod("addQuadkeyLayer",this.handleAddQuadkeyLayer.bind(this)),this.registerMethod("addGeohashLayer",this.handleAddGeohashLayer.bind(this)),this.registerMethod("addWMSLayer",this.handleAddWMSLayer.bind(this)),this.registerMethod("addSimpleMeshLayer",this.handleAddSimpleMeshLayer.bind(this)),this.registerMethod("addScenegraphLayer",this.handleAddScenegraphLayer.bind(this)),this.registerMethod("removeDeckLayer",this.handleRemoveDeckLayer.bind(this)),this.registerMethod("updateDeckLayer",this.handleUpdateDeckLayer.bind(this)),this.registerMethod("setDeckLayerVisibility",this.handleSetDeckLayerVisibility.bind(this))}updateDeckOverlay(){if(this.deckOverlay){let t=Array.from(this.deckLayers.values());this.deckOverlay.setProps({layers:t})}}makeAccessor(t,e,r){return typeof t=="string"?n=>n[t]:typeof t=="function"||t!=null?t:r||(n=>n[e])}normalizeTimestampValues(t){return typeof t=="number"&&Number.isFinite(t)?[t]:Array.isArray(t)?t.filter(e=>typeof e=="number"&&Number.isFinite(e)):t&&typeof t=="object"&&typeof t.length=="number"?Array.from(t).filter(e=>typeof e=="number"&&Number.isFinite(e)):[]}getMaxTimestamp(t,e){let r=0;for(let n of t){let s=typeof e=="function"?e(n):e;for(let a of this.normalizeTimestampValues(s))a>r&&(r=a)}return r}startTripsAnimation(t,e,r,n){this.stopTripsAnimation(t);let s=this.tripsLayerConfigs.get(t);if(!s)return;let a=this.getMaxTimestamp(s.data,s.getTimestamps),o=Math.max(a+e,e*2),A={frameId:0,lastTime:0,speed:n,loopLength:o,currentTime:r},l=c=>{let p=this.tripsAnimations.get(t);if(!p)return;let d=this.tripsLayerConfigs.get(t);if(!d)return;p.lastTime||(p.lastTime=c);let _=(c-p.lastTime)/1e3;p.lastTime=c,p.currentTime=(p.currentTime+_*p.speed)%p.loopLength;let I=this.deckLayers.get(t),y=I?.props?.visible??!0,B=I?.props?.opacity??d.opacity,x=new zH({id:d.id,data:d.data,pickable:d.pickable,opacity:B,visible:y,widthMinPixels:d.widthMinPixels,trailLength:d.trailLength,currentTime:p.currentTime,fadeTrail:d.fadeTrail,jointRounded:d.jointRounded,capRounded:d.capRounded,getPath:d.getPath,getTimestamps:d.getTimestamps,getColor:d.getColor});this.deckLayers.set(t,x),this.updateDeckOverlay(),p.frameId=requestAnimationFrame(l)};A.frameId=requestAnimationFrame(l),this.tripsAnimations.set(t,A)}stopTripsAnimation(t){let e=this.tripsAnimations.get(t);e&&(cancelAnimationFrame(e.frameId),this.tripsAnimations.delete(t))}handleAddScatterplotLayer(t,e){let r=e.id||`scatterplot-${Date.now()}`,n=e.data,s=new pG({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,stroked:e.stroked!==!1,filled:e.filled!==!1,radiusScale:e.radiusScale??1,radiusMinPixels:e.radiusMinPixels??1,radiusMaxPixels:e.radiusMaxPixels??100,lineWidthMinPixels:e.lineWidthMinPixels??1,getPosition:this.makeAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getRadius:this.makeAccessor(e.getRadius??e.radius,"radius",()=>5),getFillColor:this.makeAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[51,136,255,200]),getLineColor:this.makeAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[255,255,255,255])});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddArcLayer(t,e){let r=e.id||`arc-${Date.now()}`,n=e.data,s=new gG({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,getWidth:this.makeAccessor(e.getWidth??e.width,"width",()=>1),getSourcePosition:this.makeAccessor(e.getSourcePosition,"source",a=>a.source||a.from||a.sourcePosition),getTargetPosition:this.makeAccessor(e.getTargetPosition,"target",a=>a.target||a.to||a.targetPosition),getSourceColor:this.makeAccessor(e.getSourceColor??e.sourceColor,"sourceColor",()=>[51,136,255,255]),getTargetColor:this.makeAccessor(e.getTargetColor??e.targetColor,"targetColor",()=>[255,136,51,255])});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddPathLayer(t,e){let r=e.id||`path-${Date.now()}`,n=e.data,s=new ff({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,widthScale:e.widthScale??1,widthMinPixels:e.widthMinPixels??1,getPath:this.makeAccessor(e.getPath,"path",a=>a.path||a.coordinates),getColor:this.makeAccessor(e.getColor??e.color,"color",()=>[51,136,255,200]),getWidth:this.makeAccessor(e.getWidth??e.width,"width",()=>1)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddPolygonLayer(t,e){let r=e.id||`polygon-${Date.now()}`,n=e.data,s=new Qy({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.5,stroked:e.stroked!==!1,filled:e.filled!==!1,extruded:e.extruded??!1,wireframe:e.wireframe??!1,lineWidthMinPixels:e.lineWidthMinPixels??1,getPolygon:this.makeAccessor(e.getPolygon,"polygon",a=>a.polygon||a.contour||a.coordinates),getElevation:this.makeAccessor(e.getElevation??e.elevation,"elevation",()=>0),getFillColor:this.makeAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[51,136,255,128]),getLineColor:this.makeAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,255,255]),getLineWidth:this.makeAccessor(e.getLineWidth??e.lineWidth,"lineWidth",()=>1)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddHexagonLayer(t,e){let r=e.id||`hexagon-${Date.now()}`,n=e.data,s=new kit({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,extruded:e.extruded??!0,radius:e.radius??1e3,elevationScale:e.elevationScale??4,getPosition:this.makeAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),colorRange:e.colorRange??[[1,152,189],[73,227,206],[216,254,181],[254,237,177],[254,173,84],[209,55,78]]});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddHeatmapLayer(t,e){let r=e.id||`heatmap-${Date.now()}`,n=e.data,s=new Tit({id:r,data:n,pickable:!1,opacity:e.opacity??1,radiusPixels:e.radiusPixels??30,intensity:e.intensity??1,threshold:e.threshold??.05,getPosition:this.makeAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getWeight:this.makeAccessor(e.getWeight??e.weight,"weight",()=>1),colorRange:e.colorRange??[[255,255,178,25],[254,217,118,85],[254,178,76,127],[253,141,60,170],[240,59,32,212],[189,0,38,255]]});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddGridLayer(t,e){let r=e.id||`grid-${Date.now()}`,n=e.data,s=new Git({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,extruded:e.extruded??!0,cellSize:e.cellSize??200,elevationScale:e.elevationScale??4,getPosition:this.makeAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),colorRange:e.colorRange??[[1,152,189],[73,227,206],[216,254,181],[254,237,177],[254,173,84],[209,55,78]]});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddIconLayer(t,e){let r=e.id||`icon-${Date.now()}`,n=e.data,s=new Cb({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??1,iconAtlas:e.iconAtlas,iconMapping:e.iconMapping,getPosition:this.makeAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getIcon:this.makeAccessor(e.getIcon,"icon",a=>a.icon||"marker"),getSize:this.makeAccessor(e.getSize??e.size,"size",()=>20),getColor:this.makeAccessor(e.getColor??e.color,"color",()=>[255,255,255,255])});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddTextLayer(t,e){let r=e.id||`text-${Date.now()}`,n=e.data,s=new yG({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??1,getPosition:this.makeAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getText:this.makeAccessor(e.getText,"text",a=>a.text||a.label||a.name||""),getSize:this.makeAccessor(e.getSize??e.size,"size",()=>12),getColor:this.makeAccessor(e.getColor??e.color,"color",()=>[0,0,0,255]),getAngle:this.makeAccessor(e.getAngle,"angle",()=>0),getTextAnchor:e.getTextAnchor??"middle",getAlignmentBaseline:e.getAlignmentBaseline??"center"});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddGeoJsonLayer(t,e){let r=e.id||`geojson-${Date.now()}`,n=e.data,s=new Vm({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,stroked:e.stroked!==!1,filled:e.filled!==!1,extruded:e.extruded??!1,wireframe:e.wireframe??!1,lineWidthMinPixels:e.lineWidthMinPixels??1,pointRadiusMinPixels:e.pointRadiusMinPixels??2,getFillColor:this.makeAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[51,136,255,128]),getLineColor:this.makeAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,0,255]),getLineWidth:this.makeAccessor(e.getLineWidth??e.lineWidth,"lineWidth",()=>1),getPointRadius:this.makeAccessor(e.getPointRadius??e.pointRadius,"pointRadius",()=>5),getElevation:this.makeAccessor(e.getElevation??e.elevation,"elevation",()=>0)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddContourLayer(t,e){let r=e.id||`contour-${Date.now()}`,n=e.data,s=new Rit({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??1,cellSize:e.cellSize??200,contours:e.contours??[{threshold:1,color:[255,255,255],strokeWidth:1},{threshold:5,color:[51,136,255],strokeWidth:2},{threshold:10,color:[0,0,255],strokeWidth:3}],getPosition:this.makeAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getWeight:this.makeAccessor(e.getWeight??e.weight,"weight",()=>1)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddScreenGridLayer(t,e){let r=e.id||`screengrid-${Date.now()}`,n=e.data,s=new wit({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,cellSizePixels:e.cellSizePixels??50,getPosition:this.makeAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getWeight:this.makeAccessor(e.getWeight??e.weight,"weight",()=>1),colorRange:e.colorRange??[[255,255,178,25],[254,217,118,85],[254,178,76,127],[253,141,60,170],[240,59,32,212],[189,0,38,255]]});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddPointCloudLayer(t,e){let r=e.id||`pointcloud-${Date.now()}`,n=e.data,s={id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??1,pointSize:e.pointSize??2,getPosition:this.makeAccessor(e.getPosition,"position",o=>o.position||o.coordinates||[o.x,o.y,o.z]),getNormal:this.makeAccessor(e.getNormal,"normal",()=>[0,0,1]),getColor:this.makeAccessor(e.getColor??e.color,"color",()=>[255,255,255,255]),sizeUnits:e.sizeUnits??"pixels"};e.coordinateSystem!==void 0&&e.coordinateSystem!==null&&(s.coordinateSystem=e.coordinateSystem),e.coordinateOrigin!==void 0&&e.coordinateOrigin!==null&&(s.coordinateOrigin=e.coordinateOrigin);let a=new V5(s);this.deckLayers.set(r,a),this.updateDeckOverlay()}handleAddTripsLayer(t,e){let r=e.id||`trips-${Date.now()}`,n=e.data,s=this.makeAccessor(e.getTimestamps,"timestamps",T=>T.timestamps),a=this.makeAccessor(e.getPath,"waypoints",T=>T.waypoints||T.path||T.coordinates),o=this.makeAccessor(e.getColor??e.color,"color",()=>[253,128,93]),A=e.fadeTrail??!0,l=e.jointRounded??!0,c=e.capRounded??!0,p=e.pickable!==!1,d=e.opacity??.8,_=e.widthMinPixels??2,I=e.trailLength??180,y=e.currentTime??0,B=e.animate!==!1,x={id:r,data:n,pickable:p,opacity:d,widthMinPixels:_,trailLength:I,fadeTrail:A,jointRounded:l,capRounded:c,getPath:a,getTimestamps:s,getColor:o};this.tripsLayerConfigs.set(r,x);let w=B?0:y,D=new zH({id:r,data:n,pickable:p,opacity:d,widthMinPixels:_,trailLength:I,currentTime:w,fadeTrail:A,jointRounded:l,capRounded:c,getPath:a,getTimestamps:s,getColor:o});if(this.deckLayers.set(r,D),this.updateDeckOverlay(),B){let T=e.animationSpeed??e.speed??30;this.startTripsAnimation(r,I,0,T)}else this.stopTripsAnimation(r)}handleAddLineLayer(t,e){let r=e.id||`line-${Date.now()}`,n=e.data,s=new Jet({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,widthMinPixels:e.widthMinPixels??1,getSourcePosition:this.makeAccessor(e.getSourcePosition,"sourcePosition",a=>a.sourcePosition||a.source||a.from),getTargetPosition:this.makeAccessor(e.getTargetPosition,"targetPosition",a=>a.targetPosition||a.target||a.to),getColor:this.makeAccessor(e.getColor??e.color,"color",()=>[51,136,255,200]),getWidth:this.makeAccessor(e.getWidth??e.width,"width",()=>1)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddBitmapLayer(t,e){let r=e.id||`bitmap-${Date.now()}`,n=e.image,s=e.bounds,a=new Kk({id:r,image:n,bounds:s,opacity:e.opacity??1,visible:e.visible!==!1,pickable:e.pickable??!1,desaturate:e.desaturate??0,transparentColor:e.transparentColor??[0,0,0,0],tintColor:e.tintColor??[255,255,255]});this.deckLayers.set(r,a),this.updateDeckOverlay()}handleAddColumnLayer(t,e){let r=e.id||`column-${Date.now()}`,n=e.data,s=new xy({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,extruded:e.extruded??!0,diskResolution:e.diskResolution??20,radius:e.radius??1e3,elevationScale:e.elevationScale??1,coverage:e.coverage??1,filled:e.filled!==!1,stroked:e.stroked??!1,wireframe:e.wireframe??!1,getPosition:this.makeAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getFillColor:this.makeAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[255,140,0,200]),getLineColor:this.makeAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,0,255]),getElevation:this.makeAccessor(e.getElevation??e.elevation,"elevation",()=>1e3)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddGridCellLayer(t,e){let r=e.id||`gridcell-${Date.now()}`,n=e.data,s=new Ait({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,extruded:e.extruded??!0,cellSize:e.cellSize??200,elevationScale:e.elevationScale??1,coverage:e.coverage??1,getPosition:this.makeAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getColor:this.makeAccessor(e.getColor??e.color,"color",()=>[255,140,0,200]),getElevation:this.makeAccessor(e.getElevation??e.elevation,"elevation",()=>1e3)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddSolidPolygonLayer(t,e){let r=e.id||`solidpolygon-${Date.now()}`,n=e.data,s=new W5({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,filled:e.filled!==!1,extruded:e.extruded??!1,wireframe:e.wireframe??!1,elevationScale:e.elevationScale??1,getPolygon:this.makeAccessor(e.getPolygon,"polygon",a=>a.polygon||a.contour||a.coordinates),getFillColor:this.makeAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[51,136,255,128]),getLineColor:this.makeAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,0,255]),getElevation:this.makeAccessor(e.getElevation??e.elevation,"elevation",()=>0)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddDeckTileLayer(t,e){let r=e.id||`tile-${Date.now()}`,n=e.data,s=new AC({id:r,data:n,minZoom:e.minZoom??0,maxZoom:e.maxZoom??19,tileSize:e.tileSize??256,pickable:e.pickable??!1,visible:e.visible!==!1,opacity:e.opacity??1,renderSubLayers:e.renderSubLayers??(a=>{let{boundingBox:o}=a.tile;return new Kk(a,{data:void 0,image:a.data,bounds:[o[0][0],o[0][1],o[1][0],o[1][1]]})})});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddMVTLayer(t,e){let r=e.id||`mvt-${Date.now()}`,n=e.data,s=new xOt({id:r,data:n,minZoom:e.minZoom??0,maxZoom:e.maxZoom??14,pickable:e.pickable!==!1,visible:e.visible!==!1,opacity:e.opacity??1,binary:e.binary??!0,getFillColor:this.makeAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[51,136,255,128]),getLineColor:this.makeAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,0,255]),getLineWidth:this.makeAccessor(e.getLineWidth??e.lineWidth,"lineWidth",()=>1),getPointRadius:this.makeAccessor(e.getPointRadius??e.pointRadius,"pointRadius",()=>5),lineWidthMinPixels:e.lineWidthMinPixels??1,pointRadiusMinPixels:e.pointRadiusMinPixels??2});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddTile3DLayer(t,e){let r=e.id||`tile3d-${Date.now()}`,n=e.data,s={id:r,data:n,pickable:e.pickable!==!1,visible:e.visible!==!1,opacity:e.opacity??1,pointSize:e.pointSize??1,loadOptions:e.loadOptions??{}};typeof e.onTilesetLoad=="function"&&(s.onTilesetLoad=e.onTilesetLoad),typeof e.onTileLoad=="function"&&(s.onTileLoad=e.onTileLoad),typeof e.onTileUnload=="function"&&(s.onTileUnload=e.onTileUnload),typeof e.onTileError=="function"&&(s.onTileError=e.onTileError);let a=new $Pt(s);this.deckLayers.set(r,a),this.updateDeckOverlay()}handleAddTerrainLayer(t,e){let r=e.id||`terrain-${Date.now()}`,n=e.elevationData,s=new aOt({id:r,elevationData:n,texture:e.texture,meshMaxError:e.meshMaxError??4,bounds:e.bounds,elevationDecoder:e.elevationDecoder??{rScaler:256,gScaler:1,bScaler:1/256,offset:-32768},pickable:e.pickable??!1,visible:e.visible!==!1,opacity:e.opacity??1,wireframe:e.wireframe??!1});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddGreatCircleLayer(t,e){let r=e.id||`greatcircle-${Date.now()}`,n=e.data,s=new zTt({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,getSourcePosition:this.makeAccessor(e.getSourcePosition,"source",a=>a.source||a.from||a.sourcePosition),getTargetPosition:this.makeAccessor(e.getTargetPosition,"target",a=>a.target||a.to||a.targetPosition),getSourceColor:this.makeAccessor(e.getSourceColor??e.sourceColor,"sourceColor",()=>[51,136,255,255]),getTargetColor:this.makeAccessor(e.getTargetColor??e.targetColor,"targetColor",()=>[255,136,51,255]),getWidth:this.makeAccessor(e.getWidth??e.width,"width",()=>1),widthMinPixels:e.widthMinPixels??1,widthMaxPixels:e.widthMaxPixels??Number.MAX_SAFE_INTEGER});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddH3HexagonLayer(t,e){let r=e.id||`h3hexagon-${Date.now()}`,n=e.data,s=new irt({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,filled:e.filled!==!1,stroked:e.stroked??!0,extruded:e.extruded??!1,wireframe:e.wireframe??!1,elevationScale:e.elevationScale??1,coverage:e.coverage??1,highPrecision:e.highPrecision??!1,getHexagon:this.makeAccessor(e.getHexagon,"hexagon",a=>a.hexagon||a.h3||a.h3Index),getFillColor:this.makeAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[51,136,255,128]),getLineColor:this.makeAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,0,255]),getElevation:this.makeAccessor(e.getElevation??e.elevation,"elevation",()=>0)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddH3ClusterLayer(t,e){let r=e.id||`h3cluster-${Date.now()}`,n=e.data,s=new uUt({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,filled:e.filled!==!1,stroked:e.stroked??!0,extruded:e.extruded??!1,elevationScale:e.elevationScale??1,getHexagons:this.makeAccessor(e.getHexagons,"hexagons",a=>a.hexagons||a.h3Indexes),getFillColor:this.makeAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[51,136,255,128]),getLineColor:this.makeAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,0,255]),getLineWidth:this.makeAccessor(e.getLineWidth??e.lineWidth,"lineWidth",()=>1)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddS2Layer(t,e){let r=e.id||`s2-${Date.now()}`,n=e.data,s=new qTt({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,filled:e.filled!==!1,stroked:e.stroked??!0,extruded:e.extruded??!1,wireframe:e.wireframe??!1,elevationScale:e.elevationScale??1,getS2Token:this.makeAccessor(e.getS2Token,"s2Token",a=>a.s2Token||a.token||a.s2),getFillColor:this.makeAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[51,136,255,128]),getLineColor:this.makeAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,0,255]),getLineWidth:this.makeAccessor(e.getLineWidth??e.lineWidth,"lineWidth",()=>1),getElevation:this.makeAccessor(e.getElevation??e.elevation,"elevation",()=>0)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddQuadkeyLayer(t,e){let r=e.id||`quadkey-${Date.now()}`,n=e.data,s=new KTt({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,filled:e.filled!==!1,stroked:e.stroked??!0,extruded:e.extruded??!1,wireframe:e.wireframe??!1,elevationScale:e.elevationScale??1,getQuadkey:this.makeAccessor(e.getQuadkey,"quadkey",a=>a.quadkey||a.key),getFillColor:this.makeAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[51,136,255,128]),getLineColor:this.makeAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,0,255]),getLineWidth:this.makeAccessor(e.getLineWidth??e.lineWidth,"lineWidth",()=>1),getElevation:this.makeAccessor(e.getElevation??e.elevation,"elevation",()=>0)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddGeohashLayer(t,e){let r=e.id||`geohash-${Date.now()}`,n=e.data,s=new QOt({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,filled:e.filled!==!1,stroked:e.stroked??!0,extruded:e.extruded??!1,wireframe:e.wireframe??!1,elevationScale:e.elevationScale??1,getGeohash:this.makeAccessor(e.getGeohash,"geohash",a=>a.geohash||a.hash),getFillColor:this.makeAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[51,136,255,128]),getLineColor:this.makeAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,0,255]),getLineWidth:this.makeAccessor(e.getLineWidth??e.lineWidth,"lineWidth",()=>1),getElevation:this.makeAccessor(e.getElevation??e.elevation,"elevation",()=>0)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddWMSLayer(t,e){let r=e.id||`wms-${Date.now()}`,n=e.data,s=new vG({id:r,data:n,serviceType:e.serviceType??"wms",layers:e.layers,pickable:e.pickable??!1,visible:e.visible!==!1,opacity:e.opacity??1});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddSimpleMeshLayer(t,e){let r=e.id||`simplemesh-${Date.now()}`,n=e.data,s=e.mesh,a={id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??1,sizeScale:e.sizeScale??1,wireframe:e.wireframe??!1,material:e.material??!0,getPosition:this.makeAccessor(e.getPosition,"coordinates",A=>A.coordinates||A.position||[A.lng||A.longitude,A.lat||A.latitude]),getColor:this.makeAccessor(e.getColor??e.color,"color",()=>[255,255,255,255]),getOrientation:this.makeAccessor(e.getOrientation,"orientation",()=>[0,0,0]),getScale:this.makeAccessor(e.getScale,"scale",()=>[1,1,1]),getTranslation:this.makeAccessor(e.getTranslation,"translation",()=>[0,0,0]),loaders:[Sy,MOt]};s!=null&&(a.mesh=s),e.texture&&(a.texture=e.texture);let o=new X5(a);this.deckLayers.set(r,o),this.updateDeckOverlay()}handleAddScenegraphLayer(t,e){let r=e.id||`scenegraph-${Date.now()}`,n=e.data,s=e.scenegraph,a={id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??1,sizeScale:e.sizeScale??1,sizeMinPixels:e.sizeMinPixels??0,sizeMaxPixels:e.sizeMaxPixels??Number.MAX_SAFE_INTEGER,_lighting:e._lighting??"pbr",getPosition:this.makeAccessor(e.getPosition,"coordinates",A=>A.coordinates||A.position||[A.lng||A.longitude,A.lat||A.latitude]),getColor:this.makeAccessor(e.getColor??e.color,"color",()=>[255,255,255,255]),getOrientation:this.makeAccessor(e.getOrientation,"orientation",()=>[0,0,0]),getScale:this.makeAccessor(e.getScale,"scale",()=>[1,1,1]),getTranslation:this.makeAccessor(e.getTranslation,"translation",()=>[0,0,0]),loaders:[Sy]};s!=null&&(a.scenegraph=s),e._animations!==void 0&&(a._animations=e._animations);let o=new prt(a);this.deckLayers.set(r,o),this.updateDeckOverlay()}handleAddDeckGLLayer(t,e){let r=e.layerType;if(!r){console.warn("addDeckGLLayer called without layerType");return}let s={ScatterplotLayer:this.handleAddScatterplotLayer.bind(this),ArcLayer:this.handleAddArcLayer.bind(this),PathLayer:this.handleAddPathLayer.bind(this),PolygonLayer:this.handleAddPolygonLayer.bind(this),HexagonLayer:this.handleAddHexagonLayer.bind(this),HeatmapLayer:this.handleAddHeatmapLayer.bind(this),GridLayer:this.handleAddGridLayer.bind(this),IconLayer:this.handleAddIconLayer.bind(this),TextLayer:this.handleAddTextLayer.bind(this),GeoJsonLayer:this.handleAddGeoJsonLayer.bind(this),ContourLayer:this.handleAddContourLayer.bind(this),ScreenGridLayer:this.handleAddScreenGridLayer.bind(this),PointCloudLayer:this.handleAddPointCloudLayer.bind(this),TripsLayer:this.handleAddTripsLayer.bind(this),LineLayer:this.handleAddLineLayer.bind(this),BitmapLayer:this.handleAddBitmapLayer.bind(this),ColumnLayer:this.handleAddColumnLayer.bind(this),GridCellLayer:this.handleAddGridCellLayer.bind(this),SolidPolygonLayer:this.handleAddSolidPolygonLayer.bind(this),TileLayer:this.handleAddDeckTileLayer.bind(this),MVTLayer:this.handleAddMVTLayer.bind(this),Tile3DLayer:this.handleAddTile3DLayer.bind(this),TerrainLayer:this.handleAddTerrainLayer.bind(this),GreatCircleLayer:this.handleAddGreatCircleLayer.bind(this),H3HexagonLayer:this.handleAddH3HexagonLayer.bind(this),H3ClusterLayer:this.handleAddH3ClusterLayer.bind(this),S2Layer:this.handleAddS2Layer.bind(this),QuadkeyLayer:this.handleAddQuadkeyLayer.bind(this),GeohashLayer:this.handleAddGeohashLayer.bind(this),WMSLayer:this.handleAddWMSLayer.bind(this),SimpleMeshLayer:this.handleAddSimpleMeshLayer.bind(this),ScenegraphLayer:this.handleAddScenegraphLayer.bind(this)}[r];s?s(t,e):console.warn(`Unknown deck.gl layer type: ${r}`)}handleAddCOGLayer(t,e){let r=e.id||`cog-${Date.now()}`,n=e.geotiff,s=e.fitBounds!==!1,a=new EM({id:r,geotiff:n,opacity:e.opacity??1,visible:e.visible!==!1,debug:e.debug??!1,debugOpacity:e.debugOpacity??.25,maxError:e.maxError??.125,geoKeysParser:UFn,onGeoTIFFLoad:(o,A)=>{if(s&&this.map){let{west:l,south:c,east:p,north:d}=A.geographicBounds;this.map.fitBounds([[l,c],[p,d]],{padding:40,duration:1e3})}}});this.deckOverlay||this.initializeDeckOverlay(),this.deckLayers.set(r,a),this.updateDeckOverlay()}handleRemoveDeckLayer(t,e){let[r]=t;this.stopTripsAnimation(r),this.tripsLayerConfigs.delete(r),this.deckLayers.delete(r),this.updateDeckOverlay()}handleUpdateDeckLayer(t,e){let r=e.id,n=this.deckLayers.get(r);if(n&&typeof n=="object"&&n!==null&&"clone"in n){let s=n.clone(e);this.deckLayers.set(r,s),this.updateDeckOverlay()}}handleSetDeckLayerVisibility(t,e){let[r,n]=t,s=this.deckLayers.get(r);if(s){let a=s.clone({visible:n});this.deckLayers.set(r,a),this.updateDeckOverlay()}}destroy(){for(let t of this.tripsAnimations.keys())this.stopTripsAnimation(t);this.deckOverlay&&this.map&&(this.map.removeControl(this.deckOverlay),this.deckOverlay=null),this.tripsLayerConfigs.clear(),this.deckLayers.clear(),super.destroy()}};function PFn({model:i,el:t}){t._deckRenderer&&(t._deckRenderer.destroy(),delete t._deckRenderer);let e=new Pkt(i,t);return t._deckRenderer=e,e.initialize().catch(r=>{console.error("Failed to initialize DeckGL map:",r)}),()=>{t._deckRenderer&&(t._deckRenderer.destroy(),delete t._deckRenderer)}}var Paa={render:PFn};export{Paa as default};
|
|
27660
|
+
`,I.appendChild(y);let B=document.createElement("span");B.style.color="#333",B.textContent=_.label,I.appendChild(B),A.appendChild(I)}let c=this.map.getContainer(),p=`maplibregl-ctrl-${a}`,d=c.querySelector(`.${p}`);if(!d){let _=c.querySelector(".maplibregl-control-container");_&&(d=document.createElement("div"),d.className=`maplibregl-ctrl-${a.split("-")[0]} ${p}`,_.appendChild(d))}d&&d.insertBefore(A,d.firstChild),this.legendsMap.set(r,A)}handleRemoveLegend(t,e){let r=t[0];if(r){let n=this.legendsMap.get(r);n&&n.parentNode&&n.parentNode.removeChild(n),this.legendsMap.delete(r)}else{for(let[n,s]of this.legendsMap)s.parentNode&&s.parentNode.removeChild(s);this.legendsMap.clear()}}handleAddTerrain(t,e){if(!this.map)return;let r=e.source,n=e.exaggeration??1;if(!r||!r.url){console.error("addTerrain requires source with url");return}let s="terrain-dem";this.map.getSource(s)||this.map.addSource(s,{type:"raster-dem",tiles:[r.url],tileSize:256,encoding:r.encoding==="mapbox"?"mapbox":"terrarium"}),this.map.setTerrain({source:s,exaggeration:n})}handleMoveLayer(t,e){if(!this.map)return;let[r,n]=t;if(!r){console.error("moveLayer requires layerId");return}this.map.getLayer(r)&&this.map.moveLayer(r,n||void 0)}initializeDeckOverlay(){if(!(this.deckOverlay||!this.map)){if(this.deckOverlay=new By({interleaved:!0,layers:[]}),this.map.addControl(this.deckOverlay),!this.map.getLayer(i.DECK_SENTINEL_ID)){let t=`${i.DECK_SENTINEL_ID}-source`;this.map.getSource(t)||this.map.addSource(t,{type:"geojson",data:{type:"FeatureCollection",features:[]}});let e=this.userOverlayLayerIds.find(r=>this.map&&this.map.getLayer(r));this.map.addLayer({id:i.DECK_SENTINEL_ID,type:"fill",source:t,paint:{"fill-opacity":0}},e)}this.registerDeckAdaptersWithLayerControl()}}registerDeckAdaptersWithLayerControl(){if(!this.map||!this.deckOverlay||!this.layerControlPlugin||this.deckAdaptersRegisteredWithLayerControl)return;let t=this.layerControlPlugin.getControl();t&&(this.cogAdapter||(this.cogAdapter=new Aq(this.map,this.deckOverlay,this.deckLayers)),this.deckLayerAdapter||(this.deckLayerAdapter=new lq(this.map,this.deckOverlay,this.deckLayers)),t.registerCustomAdapter(this.cogAdapter),t.registerCustomAdapter(this.deckLayerAdapter),this.deckAdaptersRegisteredWithLayerControl=!0,this.scheduleLayerControlOrderSync())}updateDeckOverlay(t=!1){if(!this.deckOverlay)return;let e=i.DECK_SENTINEL_ID;if(this.map?.getLayer(e))for(let[s,a]of this.deckLayers){let o=a;o.clone&&(t||!o.props?.beforeId)&&this.deckLayers.set(s,o.clone({beforeId:e}))}let n=Array.from(this.deckLayers.values());t&&this.deckOverlay.setProps({layers:[]}),this.deckOverlay.setProps({layers:n}),this.map?.triggerRepaint(),this.scheduleLayerControlOrderSync()}handleLayerControlReorder(t){if(!this.map||this.deckLayers.size===0)return;this.reorderDeckLayersForLayerControl(t);let e=i.DECK_SENTINEL_ID;if(!this.map.getLayer(e)){this.updateDeckOverlay(!0);return}let r=this.getSentinelBeforeIdForLayerControlOrder(t);try{this.map.moveLayer(e,r)}catch{}this.updateDeckOverlay(!0)}reorderDeckLayersForLayerControl(t){if(this.deckLayers.size<=1)return;let e=new globalThis.Map(this.deckLayers),r=t.filter(a=>e.has(a)),n=new Set,s=[];for(let a of r){let o=e.get(a);!o||n.has(a)||(s.push([a,o]),n.add(a))}for(let[a,o]of e)n.has(a)||s.push([a,o]);this.deckLayers.clear();for(let[a,o]of s)this.deckLayers.set(a,o)}getSentinelBeforeIdForLayerControlOrder(t){let e=t.reduce((r,n,s)=>this.deckLayers.has(n)?s:r,-1);if(!(e<0))for(let r=e+1;r<t.length;r++){let n=t[r];if(n!==i.DECK_SENTINEL_ID&&this.map?.getLayer(n))return n}}getLayerControlOrder(){if(!this.map)return[];let t=this.map.getStyle()?.layers||[],e=Array.from(this.deckLayers.keys());if(t.length===0)return e;let r=[],n=!1;for(let s of t){if(s.id===i.DECK_SENTINEL_ID){n||(r.push(...e),n=!0);continue}r.push(s.id)}return n||r.push(...e),r}scheduleLayerControlOrderSync(){this.layerControlPlugin&&(this.layerControlOrderSyncTimer!==null&&window.clearTimeout(this.layerControlOrderSyncTimer),this.layerControlOrderSyncTimer=window.setTimeout(()=>{this.layerControlPlugin?.syncLayerOrder(),this.layerControlOrderSyncTimer=null},150))}handleAddCOGLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`cog-${Date.now()}`,n=e.geotiff,s=e.fitBounds!==!1,a=new lmt({id:r,geotiff:n,opacity:e.opacity??1,visible:e.visible!==!1,debug:e.debug??!1,debugOpacity:e.debugOpacity??.25,maxError:e.maxError??.125,geoKeysParser:TFn,onGeoTIFFLoad:(o,A)=>{if(s&&this.map){let{west:l,south:c,east:p,north:d}=A.geographicBounds;this.map.fitBounds([[l,c],[p,d]],{padding:40,duration:1e3})}}});this.deckLayers.set(r,a),this.updateDeckOverlay(),this.cogAdapter&&this.cogAdapter.notifyLayerAdded(r)}handleRemoveCOGLayer(t,e){let[r]=t;this.cogAdapter&&this.cogAdapter.notifyLayerRemoved(r),this.deckLayers.delete(r),this.updateDeckOverlay()}handleAddZarrLayer(t,e){if(!this.map)return;let r=e.id||`zarr-${Date.now()}`,n=e.source,s=e.variable,a=e.clim||[0,100],o=e.colormap||["#000000","#ffffff"],A=e.selector||{},l=e.opacity??1,c=new Pzt({id:r,source:n,variable:s,clim:a,colormap:o,selector:A,opacity:l,minzoom:e.minzoom,maxzoom:e.maxzoom,fillValue:e.fillValue,spatialDimensions:e.spatialDimensions,zarrVersion:e.zarrVersion,bounds:e.bounds});this.map.addLayer(c),this.zarrLayers.set(r,c),this.zarrAdapter&&this.zarrAdapter.notifyLayerAdded(r)}handleRemoveZarrLayer(t,e){let[r]=t;this.zarrAdapter&&this.zarrAdapter.notifyLayerRemoved(r),this.map&&this.map.getLayer(r)&&this.map.removeLayer(r),this.zarrLayers.delete(r)}handleUpdateZarrLayer(t,e){let r=e.id,n=this.zarrLayers.get(r);n&&(e.selector&&n.setSelector(e.selector),e.clim&&n.setClim(e.clim),e.colormap&&n.setColormap(e.colormap),e.opacity!==void 0&&n.setOpacity(e.opacity))}handleAddArcLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`arc-${Date.now()}`,n=e.data,s=(o,A,l)=>typeof o=="string"?c=>c[o]:typeof o=="function"||o!=null?o:l||(c=>c[A]),a=new gG({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,getWidth:s(e.getWidth??e.width,"width",()=>1),getSourcePosition:s(e.getSourcePosition,"source",o=>o.source||o.from||o.sourcePosition),getTargetPosition:s(e.getTargetPosition,"target",o=>o.target||o.to||o.targetPosition),getSourceColor:s(e.getSourceColor??e.sourceColor,"sourceColor",()=>[51,136,255,255]),getTargetColor:s(e.getTargetColor??e.targetColor,"targetColor",()=>[255,136,51,255]),getHeight:s(e.getHeight??e.height,"height",()=>1),greatCircle:e.greatCircle??!1});this.deckLayers.set(r,a),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleRemoveArcLayer(t,e){let[r]=t;this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerRemoved(r),this.deckLayers.delete(r),this.updateDeckOverlay()}handleAddPointCloudLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`pointcloud-${Date.now()}`,n=e.data,s=(A,l,c)=>typeof A=="string"?p=>p[A]:typeof A=="function"||A!=null?A:c||(p=>p[l]),a={id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??1,pointSize:e.pointSize??2,getPosition:s(e.getPosition,"position",A=>A.position||A.coordinates||[A.x,A.y,A.z]),getNormal:s(e.getNormal,"normal",()=>[0,0,1]),getColor:s(e.getColor??e.color,"color",()=>[255,255,255,255]),sizeUnits:e.sizeUnits??"pixels"};e.coordinateSystem!==void 0&&e.coordinateSystem!==null&&(a.coordinateSystem=e.coordinateSystem),e.coordinateOrigin!==void 0&&e.coordinateOrigin!==null&&(a.coordinateOrigin=e.coordinateOrigin);let o=new V5(a);this.deckLayers.set(r,o),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleRemovePointCloudLayer(t,e){let[r]=t;this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerRemoved(r),this.deckLayers.delete(r),this.updateDeckOverlay()}handleAddScatterplotLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`scatterplot-${Date.now()}`,n=e.data,s=new pG({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,stroked:e.stroked!==!1,filled:e.filled!==!1,radiusScale:e.radiusScale??1,radiusMinPixels:e.radiusMinPixels??1,radiusMaxPixels:e.radiusMaxPixels??100,lineWidthMinPixels:e.lineWidthMinPixels??1,getPosition:e.getPosition??(a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getRadius:e.getRadius??e.radius??5,getFillColor:e.getFillColor??e.fillColor??[51,136,255,200],getLineColor:e.getLineColor??e.lineColor??[255,255,255,255]});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddPathLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`path-${Date.now()}`,n=e.data,s=new ff({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,widthScale:e.widthScale??1,widthMinPixels:e.widthMinPixels??1,getPath:e.getPath??(a=>a.path||a.coordinates),getColor:e.getColor??e.color??[51,136,255,200],getWidth:e.getWidth??e.width??1});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddPolygonLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`polygon-${Date.now()}`,n=e.data,s=new Qy({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.5,stroked:e.stroked!==!1,filled:e.filled!==!1,extruded:e.extruded??!1,wireframe:e.wireframe??!1,lineWidthMinPixels:e.lineWidthMinPixels??1,getPolygon:e.getPolygon??(a=>a.polygon||a.contour||a.coordinates),getElevation:e.getElevation??e.elevation??0,getFillColor:e.getFillColor??e.fillColor??[51,136,255,128],getLineColor:e.getLineColor??e.lineColor??[0,0,255,255],getLineWidth:e.getLineWidth??e.lineWidth??1});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddHexagonLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`hexagon-${Date.now()}`,n=e.data,s=new kit({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,extruded:e.extruded??!0,radius:e.radius??1e3,elevationScale:e.elevationScale??4,getPosition:e.getPosition??(a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),colorRange:e.colorRange??[[1,152,189],[73,227,206],[216,254,181],[254,237,177],[254,173,84],[209,55,78]]});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddHeatmapLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`heatmap-${Date.now()}`,n=e.data,s=new Tit({id:r,data:n,pickable:!1,opacity:e.opacity??1,radiusPixels:e.radiusPixels??30,intensity:e.intensity??1,threshold:e.threshold??.05,getPosition:e.getPosition??(a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getWeight:e.getWeight??e.weight??1,colorRange:e.colorRange??[[255,255,178,25],[254,217,118,85],[254,178,76,127],[253,141,60,170],[240,59,32,212],[189,0,38,255]]});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddGridLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`grid-${Date.now()}`,n=e.data,s=new Git({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,extruded:e.extruded??!0,cellSize:e.cellSize??200,elevationScale:e.elevationScale??4,getPosition:e.getPosition??(a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),colorRange:e.colorRange??[[1,152,189],[73,227,206],[216,254,181],[254,237,177],[254,173,84],[209,55,78]]});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddIconLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`icon-${Date.now()}`,n=e.data,s=new Cb({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??1,iconAtlas:e.iconAtlas,iconMapping:e.iconMapping,getPosition:e.getPosition??(a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getIcon:e.getIcon??(a=>a.icon||"marker"),getSize:e.getSize??e.size??20,getColor:e.getColor??e.color??[255,255,255,255]});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddTextLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`text-${Date.now()}`,n=e.data,s=new yG({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??1,getPosition:e.getPosition??(a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getText:e.getText??(a=>a.text||a.label||a.name||""),getSize:e.getSize??e.size??12,getColor:e.getColor??e.color??[0,0,0,255],getAngle:e.getAngle??0,getTextAnchor:e.getTextAnchor??"middle",getAlignmentBaseline:e.getAlignmentBaseline??"center"});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddGeoJsonLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`geojson-${Date.now()}`,n=e.data,s=new Vm({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,stroked:e.stroked!==!1,filled:e.filled!==!1,extruded:e.extruded??!1,wireframe:e.wireframe??!1,lineWidthMinPixels:e.lineWidthMinPixels??1,pointRadiusMinPixels:e.pointRadiusMinPixels??2,getFillColor:e.getFillColor??e.fillColor??[51,136,255,128],getLineColor:e.getLineColor??e.lineColor??[0,0,0,255],getLineWidth:e.getLineWidth??e.lineWidth??1,getPointRadius:e.getPointRadius??e.pointRadius??5,getElevation:e.getElevation??e.elevation??0});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddContourLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`contour-${Date.now()}`,n=e.data,s=new Rit({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??1,cellSize:e.cellSize??200,contours:e.contours??[{threshold:1,color:[255,255,255],strokeWidth:1},{threshold:5,color:[51,136,255],strokeWidth:2},{threshold:10,color:[0,0,255],strokeWidth:3}],getPosition:e.getPosition??(a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getWeight:e.getWeight??e.weight??1});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddScreenGridLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`screengrid-${Date.now()}`,n=e.data,s=new wit({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,cellSizePixels:e.cellSizePixels??50,getPosition:e.getPosition??(a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getWeight:e.getWeight??e.weight??1,colorRange:e.colorRange??[[255,255,178,25],[254,217,118,85],[254,178,76,127],[253,141,60,170],[240,59,32,212],[189,0,38,255]]});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddTripsLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`trips-${Date.now()}`,n=e.data,s=(o,A,l)=>typeof o=="string"?c=>c[o]:typeof o=="function"||o!=null?o:l||(c=>c[A]),a=new zH({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,widthMinPixels:e.widthMinPixels??2,trailLength:e.trailLength??180,currentTime:e.currentTime??0,getPath:s(e.getPath,"waypoints",o=>o.waypoints||o.path||o.coordinates),getTimestamps:s(e.getTimestamps,"timestamps",o=>o.timestamps),getColor:s(e.getColor??e.color,"color",()=>[253,128,93])});this.deckLayers.set(r,a),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddLineLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`line-${Date.now()}`,n=e.data,s=(o,A,l)=>typeof o=="string"?c=>c[o]:typeof o=="function"||o!=null?o:l||(c=>c[A]),a=new Jet({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,widthMinPixels:e.widthMinPixels??1,getSourcePosition:s(e.getSourcePosition,"sourcePosition",o=>o.sourcePosition||o.source||o.from),getTargetPosition:s(e.getTargetPosition,"targetPosition",o=>o.targetPosition||o.target||o.to),getColor:s(e.getColor??e.color,"color",()=>[51,136,255,200]),getWidth:s(e.getWidth??e.width,"width",()=>1)});this.deckLayers.set(r,a),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddDeckGLLayer(t,e){if(!this.map)return;let r=e.layerType;if(!r){console.warn("addDeckGLLayer called without layerType");return}let s={ScatterplotLayer:this.handleAddScatterplotLayer.bind(this),ArcLayer:this.handleAddArcLayer.bind(this),PathLayer:this.handleAddPathLayer.bind(this),PolygonLayer:this.handleAddPolygonLayer.bind(this),HexagonLayer:this.handleAddHexagonLayer.bind(this),HeatmapLayer:this.handleAddHeatmapLayer.bind(this),GridLayer:this.handleAddGridLayer.bind(this),IconLayer:this.handleAddIconLayer.bind(this),TextLayer:this.handleAddTextLayer.bind(this),GeoJsonLayer:this.handleAddGeoJsonLayer.bind(this),ContourLayer:this.handleAddContourLayer.bind(this),ScreenGridLayer:this.handleAddScreenGridLayer.bind(this),PointCloudLayer:this.handleAddPointCloudLayer.bind(this),TripsLayer:this.handleAddTripsLayer.bind(this),LineLayer:this.handleAddLineLayer.bind(this),BitmapLayer:this.handleAddBitmapLayer.bind(this),ColumnLayer:this.handleAddColumnLayer.bind(this),GridCellLayer:this.handleAddGridCellLayer.bind(this),SolidPolygonLayer:this.handleAddSolidPolygonLayer.bind(this)}[r];s?s(t,e):console.warn(`Unknown deck.gl layer type: ${r}`)}handleRemoveDeckLayer(t,e){let r=t[0]||e.id;r&&(this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerRemoved(r),this.deckLayers.delete(r),this.updateDeckOverlay())}handleSetDeckLayerVisibility(t,e){let r=t[0]||e.id,n=t[1]??e.visible??!0;if(!r)return;let s=this.deckLayers.get(r);if(s&&typeof s.clone=="function"){let a=s.clone({visible:n});this.deckLayers.set(r,a),this.updateDeckOverlay()}}makeDeckAccessor(t,e,r){return typeof t=="string"?n=>n[t]:typeof t=="function"||t!=null?t:r||(n=>n[e])}handleAddBitmapLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`bitmap-${Date.now()}`,n=e.image,s=e.bounds,a=new Kk({id:r,image:n,bounds:s,opacity:e.opacity??1,visible:e.visible!==!1,pickable:e.pickable??!1,desaturate:e.desaturate??0,transparentColor:e.transparentColor??[0,0,0,0],tintColor:e.tintColor??[255,255,255]});this.deckLayers.set(r,a),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddColumnLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`column-${Date.now()}`,n=e.data,s=new xy({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,extruded:e.extruded??!0,diskResolution:e.diskResolution??20,radius:e.radius??1e3,elevationScale:e.elevationScale??1,coverage:e.coverage??1,filled:e.filled!==!1,stroked:e.stroked??!1,wireframe:e.wireframe??!1,getPosition:this.makeDeckAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getFillColor:this.makeDeckAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[255,140,0,200]),getLineColor:this.makeDeckAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,0,255]),getElevation:this.makeDeckAccessor(e.getElevation??e.elevation,"elevation",()=>1e3)});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddGridCellLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`gridcell-${Date.now()}`,n=e.data,s=new Ait({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,extruded:e.extruded??!0,cellSize:e.cellSize??200,elevationScale:e.elevationScale??1,coverage:e.coverage??1,getPosition:this.makeDeckAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getColor:this.makeDeckAccessor(e.getColor??e.color,"color",()=>[255,140,0,200]),getElevation:this.makeDeckAccessor(e.getElevation??e.elevation,"elevation",()=>1e3)});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleAddSolidPolygonLayer(t,e){if(!this.map)return;this.initializeDeckOverlay();let r=e.id||`solidpolygon-${Date.now()}`,n=e.data,s=new W5({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,filled:e.filled!==!1,extruded:e.extruded??!1,wireframe:e.wireframe??!1,elevationScale:e.elevationScale??1,getPolygon:this.makeDeckAccessor(e.getPolygon,"polygon",a=>a.polygon||a.contour||a.coordinates),getFillColor:this.makeDeckAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[51,136,255,128]),getLineColor:this.makeDeckAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,0,255]),getElevation:this.makeDeckAccessor(e.getElevation??e.elevation,"elevation",()=>0)});this.deckLayers.set(r,s),this.updateDeckOverlay(),this.deckLayerAdapter&&this.deckLayerAdapter.notifyLayerAdded(r)}handleSetProjection(t,e){if(!this.map)return;let r=e.projection||t[0]||"mercator";try{this.map.setProjection({type:r})}catch(n){console.error("setProjection error:",n)}}handleUpdateGeoJSONSource(t,e){if(!this.map)return;let r=e.sourceId||t[0],n=e.data;if(!r)return;let s=this.map.getSource(r);!s&&!r.endsWith("-source")&&(s=this.map.getSource(r+"-source")),s&&typeof s.setData=="function"&&s.setData(n)}handleAddMapImage(t,e){if(!this.map)return;let r=e.name||t[0],n=e.url||t[1];!r||!n||this.map.loadImage(n).then(s=>{s&&s.data&&!this.map.hasImage(r)&&this.map.addImage(r,s.data)}).catch(s=>{console.warn(`Failed to load image '${r}':`,s)})}tooltipPopup=null;tooltipLayerHandlers=new Map;handleAddTooltip(t,e){if(!this.map)return;let r=e.layerId,n=e.template||"",s=e.properties;if(!r)return;if(this.tooltipLayerHandlers.has(r)){let A=this.tooltipLayerHandlers.get(r);this.map.off("mousemove",r,A),this.tooltipLayerHandlers.delete(r)}let a=new Yu.Popup({closeButton:!1,closeOnClick:!1,className:"anymap-tooltip"}),o=A=>{if(!A.features||A.features.length===0){a.remove();return}let c=A.features[0].properties||{},p=n;n?p='<div style="font-size:12px;color:#333">'+n.replace(/\{(\w+)\}/g,(_,I)=>c[I]!==void 0?String(c[I]):"")+"</div>":s&&s.length>0?p='<div style="font-size:12px;color:#333">'+s.map(d=>`<b>${d}:</b> ${c[d]!==void 0?c[d]:"N/A"}`).join("<br>")+"</div>":p='<div style="font-size:12px;color:#333">'+Object.entries(c).map(([d,_])=>`<b>${d}:</b> ${_}`).join("<br>")+"</div>",a.setLngLat(A.lngLat).setHTML(p).addTo(this.map)};this.map.on("mousemove",r,o),this.map.on("mouseleave",r,()=>{a.remove()}),this.tooltipLayerHandlers.set(r,o)}handleRemoveTooltip(t,e){if(!this.map)return;let r=e.layerId;if(r&&this.tooltipLayerHandlers.has(r)){let n=this.tooltipLayerHandlers.get(r);this.map.off("mousemove",r,n),this.tooltipLayerHandlers.delete(r)}}coordinatesControl=null;coordinatesHandler=null;handleAddCoordinatesControl(t,e){if(!this.map)return;let r=e.position||"bottom-left";this.coordinatesControl&&(this.coordinatesControl.remove(),this.coordinatesHandler&&this.map.off("mousemove",this.coordinatesHandler));let n=document.createElement("div");n.className="maplibregl-ctrl maplibregl-ctrl-group anymap-coordinates",n.style.cssText="padding:4px 8px;font-size:11px;font-family:monospace;background:rgba(255,255,255,0.9);pointer-events:none;",n.textContent="Lng: 0.0000, Lat: 0.0000";let s=e.precision??4,a=A=>{n.textContent=`Lng: ${A.lngLat.lng.toFixed(s)}, Lat: ${A.lngLat.lat.toFixed(s)}`};this.map.on("mousemove",a),this.coordinatesHandler=a;let o=this.map.getContainer().querySelector(`.maplibregl-ctrl-${r}`);o?o.appendChild(n):this.map.getContainer().appendChild(n),this.coordinatesControl=n}handleRemoveCoordinatesControl(t,e){this.map&&(this.coordinatesControl&&(this.coordinatesControl.remove(),this.coordinatesControl=null),this.coordinatesHandler&&(this.map.off("mousemove",this.coordinatesHandler),this.coordinatesHandler=null))}timeSliderContainer=null;handleAddTimeSlider(t,e){if(!this.map)return;let r=e.layerId,n=e.property,s=e.min??0,a=e.max??100,o=e.step??1,A=e.position||"bottom-left",l=e.label||"Time",c=e.autoPlay??!1,p=e.interval??500;this.handleRemoveTimeSlider(t,e);let d=document.createElement("div");d.className="maplibregl-ctrl maplibregl-ctrl-group anymap-time-slider",d.style.cssText="padding:10px;background:rgba(255,255,255,0.95);min-width:250px;border-radius:4px;";let _=document.createElement("div");_.style.cssText="font-size:12px;font-weight:bold;margin-bottom:5px;",_.textContent=`${l}: ${s}`;let I=document.createElement("input");I.type="range",I.min=String(s),I.max=String(a),I.step=String(o),I.value=String(s),I.style.cssText="width:100%;cursor:pointer;";let y=document.createElement("button");y.textContent="\u25B6",y.style.cssText="margin-top:5px;padding:2px 8px;cursor:pointer;border:1px solid #ccc;border-radius:3px;background:#fff;";let B=null,x=T=>{_.textContent=`${l}: ${T}`,this.map&&r&&n&&this.map.setFilter(r,["<=",n,T])};I.addEventListener("input",()=>{x(Number(I.value))});let w=()=>{B!==null&&(clearInterval(B),B=null,y.textContent="\u25B6")};y.addEventListener("click",()=>{B!==null?w():(y.textContent="\u23F8",B=window.setInterval(()=>{let T=Number(I.value)+o;T>a&&(T=s),I.value=String(T),x(T)},p))}),d.appendChild(_),d.appendChild(I),d.appendChild(y);let D=this.map.getContainer().querySelector(`.maplibregl-ctrl-${A}`);D?D.appendChild(d):this.map.getContainer().appendChild(d),this.timeSliderContainer=d,c&&y.click()}handleRemoveTimeSlider(t,e){this.timeSliderContainer&&(this.timeSliderContainer.remove(),this.timeSliderContainer=null)}swipeContainer=null;swipeHandler=null;handleAddSwipeMap(t,e){if(!this.map)return;let r=e.leftLayer,n=e.rightLayer;if(!r||!n)return;this.handleRemoveSwipeMap(t,e);let s=this.map.getContainer(),a=document.createElement("div");a.className="anymap-swipe-slider",a.style.cssText="position:absolute;top:0;bottom:0;width:4px;background:#fff;cursor:ew-resize;z-index:10;left:50%;box-shadow:0 0 4px rgba(0,0,0,0.3);";let o=document.createElement("div");o.style.cssText="position:absolute;top:50%;left:-10px;width:24px;height:24px;background:#fff;border-radius:50%;border:2px solid #333;transform:translateY(-50%);cursor:ew-resize;",a.appendChild(o),s.appendChild(a);let A=!1,l=()=>{let _=s.getBoundingClientRect(),I=a.offsetLeft,y=_.width-I;this.map.getContainer(),this.map.getCanvas()&&(this.map.getLayer(r),this.map.getLayer(n)&&this.map.setPaintProperty(n,"raster-opacity",1))},c=_=>{A=!0,_.preventDefault()},p=_=>{if(!A)return;let I=s.getBoundingClientRect(),y=Math.max(0,Math.min(_.clientX-I.left,I.width));a.style.left=`${y}px`,this.map.getLayer(r)&&this.map.setLayerClipBounds?.(r,[[0,0],[y,I.height]]),this.map.getLayer(n)&&this.map.setLayerClipBounds?.(n,[[y,0],[I.width,I.height]])},d=()=>{A=!1};a.addEventListener("mousedown",c),document.addEventListener("mousemove",p),document.addEventListener("mouseup",d),this.swipeContainer=a,this.swipeHandler=()=>{a.removeEventListener("mousedown",c),document.removeEventListener("mousemove",p),document.removeEventListener("mouseup",d)}}handleRemoveSwipeMap(t,e){this.swipeContainer&&(this.swipeContainer.remove(),this.swipeContainer=null),this.swipeHandler&&(this.swipeHandler(),this.swipeHandler=null)}opacitySliderContainer=new Map;handleAddOpacitySlider(t,e){if(!this.map)return;let r=e.layerId,n=e.position||"top-right",s=e.label||r;if(!r)return;this.removeOpacitySliderForLayer(r);let a=document.createElement("div");a.className="maplibregl-ctrl maplibregl-ctrl-group anymap-opacity-slider",a.style.cssText="padding:8px;background:rgba(255,255,255,0.95);min-width:150px;border-radius:4px;";let o=document.createElement("div");o.style.cssText="font-size:11px;margin-bottom:4px;",o.textContent=`${s}: 100%`;let A=document.createElement("input");A.type="range",A.min="0",A.max="100",A.value="100",A.style.cssText="width:100%;cursor:pointer;",A.addEventListener("input",()=>{let c=Number(A.value)/100;if(o.textContent=`${s}: ${A.value}%`,this.map.getLayer(r))try{let d=this.map.getLayer(r)?.type;d==="raster"?this.map.setPaintProperty(r,"raster-opacity",c):d==="fill"?this.map.setPaintProperty(r,"fill-opacity",c):d==="line"?this.map.setPaintProperty(r,"line-opacity",c):d==="circle"?this.map.setPaintProperty(r,"circle-opacity",c):d==="symbol"?(this.map.setPaintProperty(r,"icon-opacity",c),this.map.setPaintProperty(r,"text-opacity",c)):d==="fill-extrusion"&&this.map.setPaintProperty(r,"fill-extrusion-opacity",c)}catch{let p=this.deckLayers.get(r);if(p&&typeof p.clone=="function"){let d=p.clone({opacity:c});this.deckLayers.set(r,d),this.updateDeckOverlay()}}}),a.appendChild(o),a.appendChild(A);let l=this.map.getContainer().querySelector(`.maplibregl-ctrl-${n}`);l&&l.appendChild(a),this.opacitySliderContainer.set(r,a)}removeOpacitySliderForLayer(t){let e=this.opacitySliderContainer.get(t);e&&(e.remove(),this.opacitySliderContainer.delete(t))}handleRemoveOpacitySlider(t,e){let r=e.layerId;r&&this.removeOpacitySliderForLayer(r)}styleSwitcherContainer=null;handleAddStyleSwitcher(t,e){if(!this.map)return;let r=e.styles,n=e.position||"top-right";if(!r||Object.keys(r).length===0)return;this.handleRemoveStyleSwitcher(t,e);let s=document.createElement("div");s.className="maplibregl-ctrl maplibregl-ctrl-group anymap-style-switcher",s.style.cssText="padding:8px;background:rgba(255,255,255,0.95);border-radius:4px;";let a=document.createElement("select");a.style.cssText="font-size:12px;padding:2px 4px;border:1px solid #ccc;border-radius:3px;cursor:pointer;";for(let[A,l]of Object.entries(r)){let c=document.createElement("option");c.value=l,c.textContent=A,a.appendChild(c)}a.addEventListener("change",()=>{this.map.setStyle(a.value)}),s.appendChild(a);let o=this.map.getContainer().querySelector(`.maplibregl-ctrl-${n}`);o&&o.appendChild(s),this.styleSwitcherContainer=s}handleRemoveStyleSwitcher(t,e){this.styleSwitcherContainer&&(this.styleSwitcherContainer.remove(),this.styleSwitcherContainer=null)}handleGetVisibleFeatures(t,e){if(!this.map)return;let r=e.layers;try{let s={type:"FeatureCollection",features:(r?this.map.queryRenderedFeatures(void 0,{layers:r}):this.map.queryRenderedFeatures()).map(a=>({type:"Feature",geometry:a.geometry,properties:a.properties}))};this.model&&(this.model.set("_queried_features",{type:"visible_features",data:s}),this.model.save_changes())}catch(n){console.warn("Error getting visible features:",n)}}handleGetLayerData(t,e){if(!this.map)return;let r=e.sourceId;if(!r)return;let n=[],s=r;try{n=this.map.querySourceFeatures(r)}catch{}if(n.length===0&&!r.endsWith("-source")){let o=r+"-source";try{let A=this.map.querySourceFeatures(o);A.length>0&&(n=A,s=o)}catch{}}let a={type:"FeatureCollection",features:n.map(o=>({type:"Feature",geometry:o.geometry,properties:o.properties}))};this.model&&(this.model.set("_queried_features",{type:"layer_data",sourceId:s,data:a}),this.model.save_changes())}handleAddLidarControl(t,e){if(!this.map)return;if(this.lidarControl){console.warn("LiDAR control already exists");return}let r={position:e.position||"top-right",collapsed:e.collapsed!==!1,title:e.title||"LiDAR Viewer",panelWidth:e.panelWidth||365,panelMaxHeight:e.panelMaxHeight||600,pointSize:e.pointSize||2,opacity:e.opacity||1,colorScheme:e.colorScheme||"elevation",usePercentile:e.usePercentile!==!1,pointBudget:e.pointBudget||1e6,pickable:e.pickable===!0,autoZoom:e.autoZoom!==!1,copcLoadingMode:e.copcLoadingMode,streamingPointBudget:e.streamingPointBudget||5e6};this.lidarControl=new bq(r),this.map.addControl(this.lidarControl,r.position),this.lidarControl.on("load",n=>{let s=n.pointCloud;s&&"name"in s&&(this.lidarLayers.set(s.id,s.source||""),this.sendEvent("lidar:load",{id:s.id,name:s.name,pointCount:s.pointCount}))}),this.lidarControl.on("unload",n=>{let s=n.pointCloud;s&&(this.lidarLayers.delete(s.id),this.sendEvent("lidar:unload",{id:s.id}))}),this.registerLidarAdapterWithLayerControl()}registerLidarAdapterWithLayerControl(){if(!this.lidarControl||!this.layerControlPlugin)return;let t=this.layerControlPlugin.getControl();t&&(this.lidarAdapter||(this.lidarAdapter=new vq(this.lidarControl)),t.registerCustomAdapter(this.lidarAdapter))}handleAddLidarLayer(t,e){if(!this.map)return;let r=e.source,n=e.name||`lidar-${Date.now()}`,s=e.isBase64===!0;if(!r){console.error("LiDAR layer requires a source URL or base64 data");return}this.lidarControl||(this.lidarControl=new bq({collapsed:!0,position:"top-right",pointSize:e.pointSize||2,opacity:e.opacity||1,colorScheme:e.colorScheme||"elevation",usePercentile:e.usePercentile!==!1,pointBudget:e.pointBudget||1e6,pickable:e.pickable!==!1,autoZoom:e.autoZoom!==!1}),this.map.addControl(this.lidarControl,"top-right"),this.lidarControl.on("load",o=>{let A=o.pointCloud;A&&"name"in A&&(this.lidarLayers.set(A.id,A.source||""),this.sendEvent("lidar:load",{id:A.id,name:A.name,pointCount:A.pointCount}))}),this.lidarControl.on("unload",o=>{let A=o.pointCloud;A&&(this.lidarLayers.delete(A.id),this.sendEvent("lidar:unload",{id:A.id}))}),this.registerLidarAdapterWithLayerControl()),e.colorScheme&&this.lidarControl.setColorScheme(e.colorScheme),e.pointSize!==void 0&&this.lidarControl.setPointSize(e.pointSize),e.opacity!==void 0&&this.lidarControl.setOpacity(e.opacity),e.pickable!==void 0&&this.lidarControl.setPickable(e.pickable);let a={id:n,name:e.filename||n};if(s){let o=atob(r),A=new Uint8Array(o.length);for(let p=0;p<o.length;p++)A[p]=o.charCodeAt(p);let l=A.buffer;e.streamingMode!==!1?this.lidarControl.loadPointCloudStreaming(l,a):this.lidarControl.loadPointCloud(l,a)}else e.streamingMode!==!1?this.lidarControl.loadPointCloudStreaming(r,a):this.lidarControl.loadPointCloud(r,a);this.lidarLayers.set(n,r)}handleRemoveLidarLayer(t,e){if(!this.lidarControl)return;let r=e.id;r?(this.lidarControl.unloadPointCloud(r),this.lidarLayers.delete(r)):(this.lidarControl.unloadPointCloud(),this.lidarLayers.clear())}handleSetLidarColorScheme(t,e){if(!this.lidarControl)return;let r=e.colorScheme;r&&this.lidarControl.setColorScheme(r)}handleSetLidarPointSize(t,e){if(!this.lidarControl)return;let r=e.pointSize;r!==void 0&&this.lidarControl.setPointSize(r)}handleSetLidarOpacity(t,e){if(!this.lidarControl)return;let r=e.opacity;r!==void 0&&this.lidarControl.setOpacity(r)}handleAddPMTilesControl(t,e){if(!this.map)return;let r=e.position||"top-right",n=e.collapsed!==!1,s=e.defaultUrl||"",a=e.loadDefaultUrl||!1,o=this.controlsMap.get("pmtiles-control");o&&(this.map.removeControl(o),this.controlsMap.delete("pmtiles-control")),this.pmtilesLayerControl=new uP({collapsed:n,defaultUrl:s,loadDefaultUrl:a,defaultOpacity:e.defaultOpacity??1,defaultFillColor:e.defaultFillColor||"steelblue",defaultLineColor:e.defaultLineColor||"#333",defaultPickable:e.defaultPickable!==!1}),this.map.addControl(this.pmtilesLayerControl,r),this.controlsMap.set("pmtiles-control",this.pmtilesLayerControl),this.pmtilesLayerControl.on("layeradd",A=>{console.debug("PMTiles layer added:",A.url),this.sendEvent("pmtiles_layer_add",{url:A.url,layerId:A.layerId})}),this.pmtilesLayerControl.on("layerremove",A=>{console.debug("PMTiles layer removed:",A.layerId),this.sendEvent("pmtiles_layer_remove",{layerId:A.layerId})}),this.pmtilesLayerControl.on("error",A=>{console.error("PMTiles error:",A.error),this.sendEvent("pmtiles_error",{error:A.error})})}handleAddCogControl(t,e){if(!this.map)return;let r=e.position||"top-right",n=e.collapsed!==!1,s=e.defaultUrl||"",a=e.loadDefaultUrl||!1,o=this.controlsMap.get("cog-control");o&&(this.map.removeControl(o),this.controlsMap.delete("cog-control")),this.cogLayerUiControl=new cP({collapsed:n,defaultUrl:s,loadDefaultUrl:a,defaultOpacity:e.defaultOpacity??1,defaultColormap:e.defaultColormap||"viridis",defaultBands:e.defaultBands||"1",defaultRescaleMin:e.defaultRescaleMin??0,defaultRescaleMax:e.defaultRescaleMax??255}),this.map.addControl(this.cogLayerUiControl,r),this.controlsMap.set("cog-control",this.cogLayerUiControl),this.cogLayerUiControl.on("layeradd",A=>{console.debug("COG layer added:",A.url),this.sendEvent("cog_layer_add",{url:A.url,layerId:A.layerId})}),this.cogLayerUiControl.on("layerremove",A=>{console.debug("COG layer removed:",A.layerId),this.sendEvent("cog_layer_remove",{layerId:A.layerId})}),this.cogLayerUiControl.on("error",A=>{console.error("COG error:",A.error),this.sendEvent("cog_error",{error:A.error})})}handleAddZarrControl(t,e){if(!this.map)return;let r=e.position||"top-right",n=e.collapsed!==!1,s=e.defaultUrl||"",a=e.loadDefaultUrl||!1,o=this.controlsMap.get("zarr-control");o&&(this.map.removeControl(o),this.controlsMap.delete("zarr-control")),this.zarrLayerUiControl=new hP({collapsed:n,defaultUrl:s,loadDefaultUrl:a,defaultOpacity:e.defaultOpacity??1,defaultVariable:e.defaultVariable||"",defaultClim:e.defaultClim||[0,1]}),this.map.addControl(this.zarrLayerUiControl,r),this.controlsMap.set("zarr-control",this.zarrLayerUiControl),this.zarrLayerUiControl.on("layeradd",A=>{console.debug("Zarr layer added:",A.url),this.sendEvent("zarr_layer_add",{url:A.url,layerId:A.layerId})}),this.zarrLayerUiControl.on("layerremove",A=>{console.debug("Zarr layer removed:",A.layerId),this.sendEvent("zarr_layer_remove",{layerId:A.layerId})}),this.zarrLayerUiControl.on("error",A=>{console.error("Zarr error:",A.error),this.sendEvent("zarr_error",{error:A.error})})}handleAddVectorControl(t,e){if(!this.map)return;let r=e.position||"top-right",n=e.collapsed!==!1,s=e.defaultUrl||"",a=e.loadDefaultUrl||!1,o=this.controlsMap.get("vector-control");o&&(this.map.removeControl(o),this.controlsMap.delete("vector-control")),this.addVectorControl=new gP({collapsed:n,defaultUrl:s,loadDefaultUrl:a,defaultOpacity:e.defaultOpacity??1,defaultFillColor:e.defaultFillColor||"#3388ff",defaultStrokeColor:e.defaultStrokeColor||"#3388ff",fitBounds:e.fitBounds!==!1}),this.map.addControl(this.addVectorControl,r),this.controlsMap.set("vector-control",this.addVectorControl),this.addVectorControl.on("layeradd",A=>{console.debug("Vector layer added:",A.url),this.sendEvent("vector_layer_add",{url:A.url,layerId:A.layerId})}),this.addVectorControl.on("layerremove",A=>{console.debug("Vector layer removed:",A.layerId),this.sendEvent("vector_layer_remove",{layerId:A.layerId})}),this.addVectorControl.on("error",A=>{console.error("Vector error:",A.error),this.sendEvent("vector_error",{error:A.error})})}handleAddControlGrid(t,e){if(!this.map)return;let r=e.position||"top-right";this.controlGrid&&(this.map.removeControl(this.controlGrid),this.controlsMap.delete("control-grid"),this.controlGrid=null);let n={position:r};if(e.defaultControls!==void 0&&e.defaultControls!==null&&(n.defaultControls=e.defaultControls),e.exclude!==void 0&&e.exclude!==null&&(n.exclude=e.exclude),e.rows!==void 0&&e.rows!==null&&(n.rows=e.rows),e.columns!==void 0&&e.columns!==null&&(n.columns=e.columns),e.collapsed!==void 0&&(n.collapsed=e.collapsed),e.collapsible!==void 0&&(n.collapsible=e.collapsible),e.title!==void 0&&(n.title=e.title),e.showRowColumnControls!==void 0&&(n.showRowColumnControls=e.showRowColumnControls),e.gap!==void 0&&e.gap!==null&&(n.gap=e.gap),e.basemapStyleUrl!==void 0)n.basemapStyleUrl=e.basemapStyleUrl;else{let a=this.model.get("style");typeof a=="string"&&(n.basemapStyleUrl=a)}e.excludeLayers!==void 0&&e.excludeLayers!==null&&(n.excludeLayers=e.excludeLayers),e.bookmarkOptions!==void 0&&e.bookmarkOptions!==null&&(n.bookmarkOptions=e.bookmarkOptions),this.controlGrid=A1e(this.map,n),this.controlsMap.set("control-grid",this.controlGrid);let s=this.layerControlPlugin?.getControl();if(s)for(let a of this.controlGrid.getAdapters())s.registerCustomAdapter(a);this.stateManager.addControl("control-grid","control-grid",r,e)}onCenterChange(){if(this.map&&this.isMapReady){let t=this.model.get("center");this.map.setCenter(t)}}onZoomChange(){if(this.map&&this.isMapReady){let t=this.model.get("zoom");this.map.setZoom(t)}}onStyleChange(){if(this.map&&this.isMapReady){let t=this.model.get("style");this.map.setStyle(t)}}handleAddPMTilesLayer(t,e){if(!this.map)return;let r=e.url,n=e.id,s=e.sourceType||"vector",a=e.opacity??1,o=e.visible!==!1,A=e.style||{},l=r.startsWith("pmtiles://")?r:`pmtiles://${r}`;try{let c=`${n}-source`;if(!this.map.getSource(c)){let p={type:s,url:l};this.map.addSource(c,p),this.stateManager.addSource(c,p)}if(!this.map.getLayer(n)){let p;if(s==="vector"){let d=A.type||"fill",_={};d==="fill"?_={"fill-color":"#3388ff","fill-opacity":a}:d==="line"?_={"line-color":"#3388ff","line-width":2,"line-opacity":a}:d==="circle"&&(_={"circle-color":"#3388ff","circle-radius":5,"circle-opacity":a});let I={};for(let[y,B]of Object.entries(A))y!=="type"&&y!=="source-layer"&&(I[y]=B);p={id:n,type:d,source:c,layout:{visibility:o?"visible":"none"},paint:{..._,...I}},A["source-layer"]&&(p["source-layer"]=A["source-layer"]),this.map.addLayer(p)}else p={id:n,type:"raster",source:c,paint:{"raster-opacity":a},layout:{visibility:o?"visible":"none"}},this.map.addLayer(p);this.stateManager.addLayer(n,p),this.userOverlayLayerIds.push(n)}}catch(c){console.error(`[anymap-ts] Error adding PMTiles layer "${n}":`,c)}}handleRemovePMTilesLayer(t,e){if(!this.map)return;let[r]=t,n=`${r}-source`;this.map.getLayer(r)&&this.map.removeLayer(r),this.map.getSource(n)&&this.map.removeSource(n)}handleAddClusterLayer(t,e){if(!this.map)return;let r=e.data,n=e.name,s=e.clusterRadius||50,a=e.clusterMaxZoom||14,o=e.clusterColors||["#51bbd6","#f1f075","#f28cb1"],A=e.clusterSteps||[100,750],l=e.clusterMinRadius||15,c=e.clusterMaxRadius||30,p=e.unclusteredColor||"#11b4da",d=e.unclusteredRadius||8,_=e.showClusterCount!==!1,I=e.zoomOnClick!==!1,y=e.fitBounds!==!1,B=`${n}-source`;this.map.getSource(B)||(this.map.addSource(B,{type:"geojson",data:r,cluster:!0,clusterMaxZoom:a,clusterRadius:s}),this.stateManager.addSource(B,{type:"geojson",data:r,cluster:!0,clusterMaxZoom:a,clusterRadius:s}));let x=["step",["get","point_count"],o[0]];for(let z=0;z<A.length;z++)x.push(A[z]),x.push(o[z+1]);let w=["step",["get","point_count"],l],D=(c-l)/A.length;for(let z=0;z<A.length;z++)w.push(A[z]),w.push(l+D*(z+1));let T=`${n}-clusters`;if(this.map.getLayer(T)||(this.map.addLayer({id:T,type:"circle",source:B,filter:["has","point_count"],paint:{"circle-color":x,"circle-radius":w}}),this.stateManager.addLayer(T,{id:T,type:"circle",source:B,filter:["has","point_count"]})),_){let z=`${n}-cluster-count`;this.map.getLayer(z)||(this.map.addLayer({id:z,type:"symbol",source:B,filter:["has","point_count"],layout:{"text-field":"{point_count_abbreviated}","text-font":["Open Sans Bold","Arial Unicode MS Bold"],"text-size":12},paint:{"text-color":"#ffffff"}}),this.stateManager.addLayer(z,{id:z,type:"symbol",source:B,filter:["has","point_count"]}))}let j=`${n}-unclustered`;if(this.map.getLayer(j)||(this.map.addLayer({id:j,type:"circle",source:B,filter:["!",["has","point_count"]],paint:{"circle-color":p,"circle-radius":d,"circle-stroke-width":1,"circle-stroke-color":"#fff"}}),this.stateManager.addLayer(j,{id:j,type:"circle",source:B,filter:["!",["has","point_count"]]})),I&&(this.map.on("click",T,z=>{if(!this.map)return;let W=this.map.queryRenderedFeatures(z.point,{layers:[T]});if(!W.length)return;let N=W[0].properties?.cluster_id;this.map.getSource(B).getClusterExpansionZoom(N).then(U=>{if(!this.map)return;let J=W[0].geometry.coordinates;this.map.easeTo({center:J,zoom:U??this.map.getZoom()+2})}).catch(()=>{})}),this.map.on("mouseenter",T,()=>{this.map&&(this.map.getCanvas().style.cursor="pointer")}),this.map.on("mouseleave",T,()=>{this.map&&(this.map.getCanvas().style.cursor="")})),y&&e.bounds){let z=e.bounds;this.map.fitBounds([[z[0],z[1]],[z[2],z[3]]],{padding:50})}}handleRemoveClusterLayer(t,e){if(!this.map)return;let[r]=t,n=`${r}-source`,s=[`${r}-clusters`,`${r}-cluster-count`,`${r}-unclustered`];for(let a of s)this.map.getLayer(a)&&(this.map.removeLayer(a),this.stateManager.removeLayer(a));this.map.getSource(n)&&(this.map.removeSource(n),this.stateManager.removeSource(n))}handleAddChoropleth(t,e){if(!this.map)return;let r=e.data,n=e.name,s=e.stepExpression,a=e.fillOpacity??.7,o=e.lineColor||"#000000",A=e.lineWidth??1,l=e.hover!==!1,c=e.fitBounds!==!1,p=`${n}-source`,d=n,_=`${n}-outline`;if(this.map.getSource(p)||(this.map.addSource(p,{type:"geojson",data:r,generateId:!0}),this.stateManager.addSource(p,{type:"geojson",data:r,generateId:!0})),!this.map.getLayer(d)){let I={"fill-color":s,"fill-opacity":["case",["boolean",["feature-state","hover"],!1],Math.min(a+.2,1),a]};this.map.addLayer({id:d,type:"fill",source:p,paint:I}),this.stateManager.addLayer(d,{id:d,type:"fill",source:p})}if(this.map.getLayer(_)||(this.map.addLayer({id:_,type:"line",source:p,paint:{"line-color":o,"line-width":["case",["boolean",["feature-state","hover"],!1],A*2,A]}}),this.stateManager.addLayer(_,{id:_,type:"line",source:p})),l&&this.setupHoverEffect(d,p),c&&e.bounds){let I=e.bounds;this.map.fitBounds([[I[0],I[1]],[I[2],I[3]]],{padding:50})}}setupHoverEffect(t,e){this.map&&(this.map.on("mousemove",t,r=>{if(!this.map||r.features?.length===0)return;this.hoveredFeatureId!==null&&this.hoveredLayerId&&this.map.setFeatureState({source:e,id:this.hoveredFeatureId},{hover:!1});let n=r.features[0];this.hoveredFeatureId=n.id??null,this.hoveredLayerId=t,this.hoveredFeatureId!==null&&this.map.setFeatureState({source:e,id:this.hoveredFeatureId},{hover:!0}),this.map.getCanvas().style.cursor="pointer"}),this.map.on("mouseleave",t,()=>{this.map&&(this.hoveredFeatureId!==null&&this.map.setFeatureState({source:e,id:this.hoveredFeatureId},{hover:!1}),this.hoveredFeatureId=null,this.hoveredLayerId=null,this.map.getCanvas().style.cursor="")}))}handleAdd3DBuildings(t,e){if(!this.map)return;let r=e.source||"openmaptiles",n=e.minZoom??14,s=e.fillExtrusionColor||"#aaa",a=e.fillExtrusionOpacity??.6,o=e.heightProperty||"render_height",A=e.baseProperty||"render_min_height",l=e.layerId||"3d-buildings",c=this.map.getStyle(),p=null,d="building";if(c.sources){for(let[_,I]of Object.entries(c.sources))if(I.type==="vector"&&(_.includes("openmaptiles")||_.includes("maptiler")||_.includes("carto")||_===r||_==="composite")){p=_;break}}if(p||(p="buildings-source",this.map.getSource(p)||this.map.addSource(p,{type:"vector",url:"https://tiles.openfreemap.org/planet"})),!this.map.getLayer(l)){try{this.map.addLayer({id:l,source:p,"source-layer":d,filter:["all",["==",["geometry-type"],"Polygon"],["has","render_height"]],type:"fill-extrusion",minzoom:n,paint:{"fill-extrusion-color":s,"fill-extrusion-height":["coalesce",["get",o],["get","height"],10],"fill-extrusion-base":["coalesce",["get",A],0],"fill-extrusion-opacity":a}})}catch{console.warn("3D buildings: trying simpler filter"),this.map.addLayer({id:l,source:p,"source-layer":d,type:"fill-extrusion",minzoom:n,paint:{"fill-extrusion-color":s,"fill-extrusion-height":["coalesce",["get",o],["get","height"],10],"fill-extrusion-base":0,"fill-extrusion-opacity":a}})}this.stateManager.addLayer(l,{id:l,type:"fill-extrusion",source:p})}}handleAnimateAlongRoute(t,e){if(!this.map)return;let r=e.id,n=e.coordinates,s=e.duration||1e4,a=e.loop!==!1,o=e.markerColor||"#3388ff",A=e.markerSize||1,l=e.showTrail===!0,c=e.trailColor||"#3388ff",p=e.trailWidth||3,d=omt(n),_=PUe(d,{units:"kilometers"}),I=new Yu.Marker({color:o,scale:A}).setLngLat(n[0]).addTo(this.map),y,B;l&&(y=`${r}-trail-source`,B=`${r}-trail`,this.map.getSource(y)||this.map.addSource(y,{type:"geojson",data:{type:"Feature",properties:{},geometry:{type:"LineString",coordinates:[]}}}),this.map.getLayer(B)||this.map.addLayer({id:B,type:"line",source:y,paint:{"line-color":c,"line-width":p,"line-opacity":.8}}));let x=performance.now(),w=[n[0]],D=T=>{let j=this.animations.get(r);if(!j||!this.map)return;if(j.isPaused){j.animationId=requestAnimationFrame(D);return}let z=(T-j.startTime)*j.speed;j.pausedAt>0&&(z=(T-j.pausedAt+(j.pausedAt-j.startTime))*j.speed);let N=z%j.duration/j.duration*_,U=FUe(d,N,{units:"kilometers"}).geometry.coordinates;if(j.marker.setLngLat(U),l&&y){w.push(U);let J=this.map.getSource(y);J&&J.setData({type:"Feature",properties:{},geometry:{type:"LineString",coordinates:w}})}if(z>=j.duration&&!a){this.handleStopAnimation([r],{});return}j.animationId=requestAnimationFrame(D)};this.animations.set(r,{animationId:requestAnimationFrame(D),marker:I,isPaused:!1,speed:1,startTime:x,pausedAt:0,duration:s,coordinates:n,loop:a,trailSourceId:y,trailLayerId:B})}handleStopAnimation(t,e){let[r]=t,n=this.animations.get(r);n&&(cancelAnimationFrame(n.animationId),n.marker.remove(),n.trailLayerId&&this.map?.getLayer(n.trailLayerId)&&this.map.removeLayer(n.trailLayerId),n.trailSourceId&&this.map?.getSource(n.trailSourceId)&&this.map.removeSource(n.trailSourceId),this.animations.delete(r))}handlePauseAnimation(t,e){let[r]=t,n=this.animations.get(r);n&&(n.isPaused=!0,n.pausedAt=performance.now())}handleResumeAnimation(t,e){let[r]=t,n=this.animations.get(r);if(!n||!n.isPaused)return;let s=performance.now()-n.pausedAt;n.startTime+=s,n.isPaused=!1,n.pausedAt=0}handleSetAnimationSpeed(t,e){let[r,n]=t,s=this.animations.get(r);s&&(s.speed=n)}handleAddHoverEffect(t,e){if(!this.map)return;let r=e.layerId,n=e.highlightColor,s=e.highlightOpacity,a=e.highlightOutlineWidth||2,o=this.map.getLayer(r);if(!o){console.warn(`Layer ${r} not found`);return}let A=o.source;this.map.on("mousemove",r,c=>{if(!this.map||!c.features?.length)return;this.hoveredFeatureId!==null&&this.map.setFeatureState({source:A,id:this.hoveredFeatureId},{hover:!1});let p=c.features[0];this.hoveredFeatureId=p.id??null,this.hoveredLayerId=r,this.hoveredFeatureId!==null&&this.map.setFeatureState({source:A,id:this.hoveredFeatureId},{hover:!0}),this.map.getCanvas().style.cursor="pointer"}),this.map.on("mouseleave",r,()=>{this.map&&(this.hoveredFeatureId!==null&&this.map.setFeatureState({source:A,id:this.hoveredFeatureId},{hover:!1}),this.hoveredFeatureId=null,this.hoveredLayerId=null,this.map.getCanvas().style.cursor="")});let l=o.type;l==="fill"?(s!==void 0&&this.map.setPaintProperty(r,"fill-opacity",["case",["boolean",["feature-state","hover"],!1],s,this.map.getPaintProperty(r,"fill-opacity")||.5]),n&&this.map.setPaintProperty(r,"fill-color",["case",["boolean",["feature-state","hover"],!1],n,this.map.getPaintProperty(r,"fill-color")||"#3388ff"])):l==="line"?this.map.setPaintProperty(r,"line-width",["case",["boolean",["feature-state","hover"],!1],a,this.map.getPaintProperty(r,"line-width")||2]):l==="circle"&&s!==void 0&&this.map.setPaintProperty(r,"circle-opacity",["case",["boolean",["feature-state","hover"],!1],s,this.map.getPaintProperty(r,"circle-opacity")||.8])}handleSetSky(t,e){if(!this.map)return;let r={};e.skyColor!==void 0&&(r["sky-color"]=e.skyColor),e.skyHorizonBlend!==void 0&&(r["sky-horizon-blend"]=e.skyHorizonBlend),e.horizonColor!==void 0&&(r["horizon-color"]=e.horizonColor),e.horizonFogBlend!==void 0&&(r["horizon-fog-blend"]=e.horizonFogBlend),e.fogColor!==void 0&&(r["fog-color"]=e.fogColor),e.fogGroundBlend!==void 0&&(r["fog-ground-blend"]=e.fogGroundBlend),e.atmosphereBlend!==void 0&&(r["atmosphere-blend"]=e.atmosphereBlend),this.map.setSky(r)}handleRemoveSky(t,e){this.map&&this.map.setSky(void 0)}handleSetFilter(t,e){if(!this.map)return;let r=e.layerId,n=e.filter;if(!r){console.error("setFilter requires layerId");return}if(!this.map.getLayer(r)){console.warn(`Layer ${r} not found`);return}this.map.setFilter(r,n),this.stateManager.setLayerFilter(r,n)}handleQueryRenderedFeatures(t,e){if(!this.map)return;let r=e.geometry,n=e.layers,s=e.filter,a={};n&&(a.layers=n),s&&(a.filter=s);let A={type:"FeatureCollection",features:(r?this.map.queryRenderedFeatures(r,a):this.map.queryRenderedFeatures(a)).map(l=>({type:"Feature",geometry:l.geometry,properties:l.properties,id:l.id,layer:l.layer?.id,source:l.source}))};this.model.set("_queried_features",A),this.model.save_changes()}handleQuerySourceFeatures(t,e){if(!this.map)return;let r=e.sourceId,n=e.sourceLayer,s=e.filter;if(!r){console.error("querySourceFeatures requires sourceId");return}let a={};n&&(a.sourceLayer=n),s&&(a.filter=s);let A={type:"FeatureCollection",features:this.map.querySourceFeatures(r,a).map(l=>({type:"Feature",geometry:l.geometry,properties:l.properties,id:l.id}))};this.model.set("_queried_features",A),this.model.save_changes()}handleAddVideoLayer(t,e){if(!this.map)return;let r=e.id||`video-${Date.now()}`,n=e.urls,s=e.coordinates,a=e.opacity??1;if(!n||!n.length||!s||s.length!==4){console.error("addVideoLayer requires urls array and 4 corner coordinates");return}let o=`${r}-source`;if(this.map.getSource(o)||(this.map.addSource(o,{type:"video",urls:n,coordinates:s}),this.stateManager.addSource(o,{type:"video",urls:n,coordinates:s})),!this.map.getLayer(r)){let A={id:r,type:"raster",source:o,paint:{"raster-opacity":a}};this.map.addLayer(A),this.stateManager.addLayer(r,A)}this.videoSources.set(r,o)}handleRemoveVideoLayer(t,e){if(!this.map)return;let r=e.id;if(!r)return;this.map.getLayer(r)&&(this.map.removeLayer(r),this.stateManager.removeLayer(r));let n=this.videoSources.get(r)||`${r}-source`;this.map.getSource(n)&&(this.map.removeSource(n),this.stateManager.removeSource(n)),this.videoSources.delete(r)}handlePlayVideo(t,e){if(!this.map)return;let r=e.id,n=this.videoSources.get(r)||`${r}-source`,s=this.map.getSource(n);s&&"play"in s&&s.play()}handlePauseVideo(t,e){if(!this.map)return;let r=e.id,n=this.videoSources.get(r)||`${r}-source`,s=this.map.getSource(n);s&&"pause"in s&&s.pause()}handleSeekVideo(t,e){if(!this.map)return;let r=e.id,n=e.time,s=this.videoSources.get(r)||`${r}-source`,a=this.map.getSource(s);if(a&&"getVideo"in a){let o=a.getVideo();o&&(o.currentTime=n)}}handleAddSplitMap(t,e){if(!this.map||!this.mapContainer)return;let r=e.leftLayer,n=e.rightLayer,s=e.position??50;if(!r||!n){console.error("addSplitMap requires leftLayer and rightLayer");return}this.splitActive&&this.handleRemoveSplitMap([],{}),this.splitActive=!0,this.map.getLayer(n)&&this.map.setLayoutProperty(n,"visibility","none");let a=document.createElement("div");a.style.position="absolute",a.style.top="0",a.style.left="0",a.style.width="100%",a.style.height="100%",a.style.clipPath=`inset(0 0 0 ${s}%)`,a.style.pointerEvents="none",this.mapContainer.appendChild(a),this.splitMapContainer=a;let o=this.model.get("style"),A=new Yu.Map({container:a,style:o,center:this.map.getCenter(),zoom:this.map.getZoom(),bearing:this.map.getBearing(),pitch:this.map.getPitch(),interactive:!1,attributionControl:!1});this.splitMapRight=A,A.on("load",()=>{A.getLayer(r)&&A.setLayoutProperty(r,"visibility","none");let B=this.model.get("_sources")||{};for(let[w,D]of Object.entries(B))if(!A.getSource(w))try{A.addSource(w,D)}catch{}let x=this.model.get("_layers")||{};for(let[w,D]of Object.entries(x)){let T=D;if(!A.getLayer(w))try{A.addLayer(T)}catch{}if(w===n)A.setLayoutProperty(w,"visibility","visible");else try{A.setLayoutProperty(w,"visibility","none")}catch{}}});let l=()=>{!this.map||!this.splitMapRight||this.splitMapRight.jumpTo({center:this.map.getCenter(),zoom:this.map.getZoom(),bearing:this.map.getBearing(),pitch:this.map.getPitch()})};this.map.on("move",l);let c=document.createElement("div");c.style.position="absolute",c.style.top="0",c.style.left=`${s}%`,c.style.width="4px",c.style.height="100%",c.style.backgroundColor="#333",c.style.cursor="ew-resize",c.style.zIndex="10",c.style.boxShadow="-1px 0 0 rgba(255,255,255,0.6), 1px 0 0 rgba(255,255,255,0.6), 0 0 6px rgba(0,0,0,0.5)";let p=document.createElement("div");p.style.position="absolute",p.style.top="50%",p.style.left="50%",p.style.transform="translate(-50%, -50%)",p.style.width="36px",p.style.height="36px",p.style.borderRadius="50%",p.style.backgroundColor="#fff",p.style.border="2px solid #333",p.style.boxShadow="0 1px 6px rgba(0,0,0,0.5)",p.style.display="flex",p.style.alignItems="center",p.style.justifyContent="center",p.style.fontSize="16px",p.style.color="#333",p.style.fontWeight="bold",p.innerHTML="↔",c.appendChild(p),this.mapContainer.appendChild(c),this.splitSlider=c;let d=!1,_=B=>{d=!0,c.setPointerCapture(B.pointerId),B.preventDefault()},I=B=>{if(!d||!this.mapContainer||!this.splitMapContainer)return;let x=this.mapContainer.getBoundingClientRect(),w=B.clientX-x.left,D=Math.max(0,Math.min(100,w/x.width*100));c.style.left=`${D}%`,this.splitMapContainer.style.clipPath=`inset(0 0 0 ${D}%)`},y=()=>{d=!1};c.addEventListener("pointerdown",_),window.addEventListener("pointermove",I),window.addEventListener("pointerup",y),c._cleanup=()=>{c.removeEventListener("pointerdown",_),window.removeEventListener("pointermove",I),window.removeEventListener("pointerup",y),this.map?.off("move",l)},this.stateManager.addControl("split-map","split-map","overlay",{leftLayer:r,rightLayer:n,position:s})}handleRemoveSplitMap(t,e){if(this.splitActive){if(this.splitSlider){let r=this.splitSlider?._cleanup;r&&r(),this.splitSlider.remove(),this.splitSlider=null}if(this.splitMapRight&&(this.splitMapRight.remove(),this.splitMapRight=null),this.splitMapContainer&&(this.splitMapContainer.remove(),this.splitMapContainer=null),this.map){let r=this.model.get("_layers")||{};for(let[n,s]of Object.entries(r))s.visible!==!1&&this.map.getLayer(n)&&this.map.setLayoutProperty(n,"visibility","visible")}this.splitActive=!1,this.stateManager.removeControl("split-map")}}handleAddColorbar(t,e){if(!this.map)return;let r=e.colorbarId||`colorbar-${Date.now()}`,n=e.position||"bottom-right",s=this.colorbarsMap.get(r);s&&(this.map.removeControl(s),this.colorbarsMap.delete(r),this.controlsMap.delete(r));let a={};e.colormap!==void 0&&(a.colormap=e.colormap),e.vmin!==void 0&&(a.vmin=e.vmin),e.vmax!==void 0&&(a.vmax=e.vmax),e.label!==void 0&&(a.label=e.label),e.units!==void 0&&(a.units=e.units),e.orientation!==void 0&&(a.orientation=e.orientation),e.barThickness!==void 0&&(a.barThickness=e.barThickness),e.barLength!==void 0&&(a.barLength=e.barLength),e.ticks!==void 0&&(a.ticks=e.ticks),e.opacity!==void 0&&(a.opacity=e.opacity);let o=new bSt(a);this.map.addControl(o,n),this.colorbarsMap.set(r,o),this.controlsMap.set(r,o),this.stateManager.addControl(r,"colorbar",n,e)}handleRemoveColorbar(t,e){if(!this.map)return;let r=e.colorbarId||t[0];if(r){let n=this.colorbarsMap.get(r);n&&(this.map.removeControl(n),this.colorbarsMap.delete(r),this.controlsMap.delete(r),this.stateManager.removeControl(r))}else this.colorbarsMap.forEach((n,s)=>{this.map&&this.map.removeControl(n),this.controlsMap.delete(s),this.stateManager.removeControl(s)}),this.colorbarsMap.clear()}handleUpdateColorbar(t,e){if(!this.map)return;let r=e.colorbarId||"colorbar-0",n=this.colorbarsMap.get(r);if(!n){console.warn(`Colorbar '${r}' not found`);return}let s={};e.colormap!==void 0&&(s.colormap=e.colormap),e.vmin!==void 0&&(s.vmin=e.vmin),e.vmax!==void 0&&(s.vmax=e.vmax),e.label!==void 0&&(s.label=e.label),e.units!==void 0&&(s.units=e.units),e.orientation!==void 0&&(s.orientation=e.orientation),e.barThickness!==void 0&&(s.barThickness=e.barThickness),e.barLength!==void 0&&(s.barLength=e.barLength),e.ticks!==void 0&&(s.ticks=e.ticks),e.opacity!==void 0&&(s.opacity=e.opacity),n.update(s)}handleAddSearchControl(t,e){if(!this.map)return;let r=e.position||"top-left";this.searchControl&&(this.map.removeControl(this.searchControl),this.controlsMap.delete("search-control"),this.searchControl=null);let n={};e.placeholder!==void 0&&(n.placeholder=e.placeholder),e.collapsed!==void 0&&(n.collapsed=e.collapsed),e.flyToZoom!==void 0&&(n.flyToZoom=e.flyToZoom),e.showMarker!==void 0&&(n.showMarker=e.showMarker),e.markerColor!==void 0&&(n.markerColor=e.markerColor),e.maxResults!==void 0&&(n.maxResults=e.maxResults),e.debounceMs!==void 0&&(n.debounceMs=e.debounceMs),this.searchControl=new zW(n),this.searchControl.on("resultselect",s=>{this.sendEvent("search_result_select",{result:s.result})}),this.map.addControl(this.searchControl,r),this.controlsMap.set("search-control",this.searchControl),this.stateManager.addControl("search-control","search-control",r,e)}handleRemoveSearchControl(t,e){!this.map||!this.searchControl||(this.map.removeControl(this.searchControl),this.controlsMap.delete("search-control"),this.stateManager.removeControl("search-control"),this.searchControl=null)}handleAddMeasureControl(t,e){if(!this.map)return;let r=e.position||"top-right";this.measureControl&&(this.map.removeControl(this.measureControl),this.controlsMap.delete("measure-control"),this.measureControl=null);let n={};e.collapsed!==void 0&&(n.collapsed=e.collapsed),e.defaultMode!==void 0&&(n.defaultMode=e.defaultMode),e.distanceUnit!==void 0&&(n.distanceUnit=e.distanceUnit),e.areaUnit!==void 0&&(n.areaUnit=e.areaUnit),e.lineColor!==void 0&&(n.lineColor=e.lineColor),e.lineWidth!==void 0&&(n.lineWidth=e.lineWidth),e.fillColor!==void 0&&(n.fillColor=e.fillColor),this.measureControl=new YW(n),this.map.addControl(this.measureControl,r),this.controlsMap.set("measure-control",this.measureControl),this.stateManager.addControl("measure-control","measure-control",r,e)}handleRemoveMeasureControl(t,e){!this.map||!this.measureControl||(this.map.removeControl(this.measureControl),this.controlsMap.delete("measure-control"),this.stateManager.removeControl("measure-control"),this.measureControl=null)}handleAddPrintControl(t,e){if(!this.map)return;let r=e.position||"top-right";this.printControl&&(this.map.removeControl(this.printControl),this.controlsMap.delete("print-control"),this.printControl=null);let n={};e.collapsed!==void 0&&(n.collapsed=e.collapsed),e.format!==void 0&&(n.format=e.format),e.filename!==void 0&&(n.filename=e.filename),e.includeNorthArrow!==void 0&&(n.includeNorthArrow=e.includeNorthArrow),e.includeScaleBar!==void 0&&(n.includeScaleBar=e.includeScaleBar),this.printControl=new qW(n),this.printControl.on("export",s=>{this.sendEvent("print_export",{state:s.state})}),this.map.addControl(this.printControl,r),this.controlsMap.set("print-control",this.printControl),this.stateManager.addControl("print-control","print-control",r,e)}handleRemovePrintControl(t,e){!this.map||!this.printControl||(this.map.removeControl(this.printControl),this.controlsMap.delete("print-control"),this.stateManager.removeControl("print-control"),this.printControl=null)}handleAddGeoPhotoControl(t,e){if(!this.map)return;let r=e.position||"top-right";this.geoPhotoControl&&(this.map.removeControl(this.geoPhotoControl),this.controlsMap.delete("geophoto-control"),this.geoPhotoControl=null);let n={};e.collapsed!==void 0&&(n.collapsed=e.collapsed),e.title!==void 0&&(n.title=e.title),e.panelWidth!==void 0&&(n.panelWidth=e.panelWidth),e.maxHeight!==void 0&&(n.maxHeight=e.maxHeight),e.showPath!==void 0&&(n.showPath=e.showPath),e.showPathDirectionArrows!==void 0&&(n.showPathDirectionArrows=e.showPathDirectionArrows),e.pathDirectionArrowSpacing!==void 0&&(n.pathDirectionArrowSpacing=e.pathDirectionArrowSpacing),e.pathDirectionArrowSize!==void 0&&(n.pathDirectionArrowSize=e.pathDirectionArrowSize),e.pathDirectionArrowColor!==void 0&&(n.pathDirectionArrowColor=e.pathDirectionArrowColor),e.preloadUrl!==void 0&&(n.preloadUrl=e.preloadUrl),e.fitBoundsOnLoad!==void 0&&(n.fitBoundsOnLoad=e.fitBoundsOnLoad),e.fitBoundsPadding!==void 0&&(n.fitBoundsPadding=e.fitBoundsPadding),e.showObjects!==void 0&&(n.showObjects=e.showObjects),e.pathColor!==void 0&&(n.pathColor=e.pathColor),e.pointColor!==void 0&&(n.pointColor=e.pointColor),e.selectedPointColor!==void 0&&(n.selectedPointColor=e.selectedPointColor),this.geoPhotoControl=new dot(n),this.geoPhotoControl.on("cameraselect",s=>{let a=s.camera,o=s.cameraIndex;this.sendEvent("geophoto:cameraselect",{camera:a?{id:a.id,coordinates:a.coordinates,elevation:a.elevation,captureTime:a.captureTime}:null,cameraIndex:o})}),this.geoPhotoControl.on("dataloaded",()=>{this.sendEvent("geophoto:dataloaded",{cameraCount:this.geoPhotoControl?.getCameras().length||0})}),this.geoPhotoControl.on("datacleared",()=>{this.sendEvent("geophoto:datacleared",{})}),this.map.addControl(this.geoPhotoControl,r),this.controlsMap.set("geophoto-control",this.geoPhotoControl),this.stateManager.addControl("geophoto-control","geophoto-control",r,e)}handleRemoveGeoPhotoControl(t,e){!this.map||!this.geoPhotoControl||(this.geoPhotoControl.clearData(),this.map.removeControl(this.geoPhotoControl),this.controlsMap.delete("geophoto-control"),this.stateManager.removeControl("geophoto-control"),this.geoPhotoControl=null)}async handleLoadGeoPhotoZip(t,e){if(!this.geoPhotoControl){console.warn("GeoPhoto control not added. Call addGeoPhotoControl first.");return}let r=e.url;if(!r){console.error("loadGeoPhotoZip requires a url parameter");return}await this.geoPhotoControl.loadZipFromUrl(r)}async handleLoadGeoPhotoUrls(t,e){if(!this.geoPhotoControl){console.warn("GeoPhoto control not added. Call addGeoPhotoControl first.");return}let r=e.trajectoryGeojsonUrl;if(!r){console.error("loadGeoPhotoUrls requires a trajectoryGeojsonUrl parameter");return}let n=e.trajectoryJsonUrl,s=e.objectsUrl,a=e.imageBasePath;await this.geoPhotoControl.loadFromUrls(r,n,s,a)}handleGeoPhotoSelectCamera(t,e){if(!this.geoPhotoControl)return;let r=e.index;typeof r=="number"&&this.geoPhotoControl.selectCamera(r)}handleGeoPhotoNextCamera(t,e){this.geoPhotoControl&&this.geoPhotoControl.nextCamera()}handleGeoPhotoPrevCamera(t,e){this.geoPhotoControl&&this.geoPhotoControl.prevCamera()}handleGeoPhotoPlay(t,e){this.geoPhotoControl&&this.geoPhotoControl.play()}handleGeoPhotoStop(t,e){this.geoPhotoControl&&this.geoPhotoControl.stop()}handleGeoPhotoClearData(t,e){this.geoPhotoControl&&this.geoPhotoControl.clearData()}async handleAddFlatGeobuf(t,e){if(!this.map)return;let r=e.url,n=e.name||`flatgeobuf-${Date.now()}`,s=e.layerType,a=e.paint,o=e.fitBounds!==!1,A=`${n}-source`,l=n;try{let c=await fetch(r);if(!c.ok)throw new Error(`HTTP ${c.status}: ${c.statusText}`);let p=[];for await(let y of Gkt.deserialize(c.body))p.push(y);let d={type:"FeatureCollection",features:p},_=s;!_&&p.length>0&&(_=this.inferLayerType(p[0].geometry.type)),_=_||"circle";let I=a||this.getDefaultPaint(_);if(!this.map.getSource(A)){let y={type:"geojson",data:d};this.map.addSource(A,y),this.stateManager.addSource(A,y)}if(!this.map.getLayer(l)){let y={id:l,type:_,source:A,paint:I};this.map.addLayer(y),this.stateManager.addLayer(l,y),this.userOverlayLayerIds.push(l)}if(o&&p.length>0){let y=new Yu.default.LngLatBounds;for(let B of p){let x=B.geometry;if(x.type==="Point")y.extend(x.coordinates);else if(x.type==="MultiPoint"||x.type==="LineString")for(let w of x.coordinates)y.extend(w);else if(x.type==="MultiLineString"||x.type==="Polygon")for(let w of x.coordinates)for(let D of w)y.extend(D);else if(x.type==="MultiPolygon")for(let w of x.coordinates)for(let D of w)for(let T of D)y.extend(T)}y.isEmpty()||this.map.fitBounds(y,{padding:50})}}catch(c){console.error(`Error loading FlatGeobuf from ${r}:`,c)}}handleRemoveFlatGeobuf(t,e){if(!this.map)return;let r=e.name||t[0];if(!r)return;let n=r,s=`${r}-source`;this.map.getLayer(n)&&(this.map.removeLayer(n),this.stateManager.removeLayer(n)),this.map.getSource(s)&&(this.map.removeSource(s),this.stateManager.removeSource(s))}destroy(){this.splitActive&&this.handleRemoveSplitMap([],{}),this.removeModelListeners(),this.resizeDebounceTimer!==null&&(window.clearTimeout(this.resizeDebounceTimer),this.resizeDebounceTimer=null),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),this.geoEditorPlugin&&(this.geoEditorPlugin.destroy(),this.geoEditorPlugin=null),this.layerControlPlugin&&(this.layerControlPlugin.destroy(),this.layerControlPlugin=null),this.colorbarsMap.forEach(t=>{this.map&&this.map.removeControl(t)}),this.colorbarsMap.clear(),this.searchControl&&this.map&&(this.map.removeControl(this.searchControl),this.searchControl=null),this.measureControl&&this.map&&(this.map.removeControl(this.measureControl),this.measureControl=null),this.printControl&&this.map&&(this.map.removeControl(this.printControl),this.printControl=null),this.geoPhotoControl&&this.map&&(this.geoPhotoControl.clearData(),this.map.removeControl(this.geoPhotoControl),this.geoPhotoControl=null),this.controlGrid&&this.map&&(this.map.removeControl(this.controlGrid),this.controlGrid=null),this.deckOverlay&&this.map&&(this.map.removeControl(this.deckOverlay),this.deckOverlay=null),this.deckLayers.clear(),this.cogAdapter=null,this.deckLayerAdapter=null,this.deckAdaptersRegisteredWithLayerControl=!1,this.lidarAdapter&&(this.lidarAdapter.destroy(),this.lidarAdapter=null),this.lidarControl&&this.map&&(this.map.removeControl(this.lidarControl),this.lidarControl=null),this.lidarLayers.clear(),this.animations.forEach((t,e)=>{cancelAnimationFrame(t.animationId),t.marker.remove(),t.trailLayerId&&this.map?.getLayer(t.trailLayerId)&&this.map.removeLayer(t.trailLayerId),t.trailSourceId&&this.map?.getSource(t.trailSourceId)&&this.map.removeSource(t.trailSourceId)}),this.animations.clear(),this.zarrLayers.forEach((t,e)=>{this.map&&this.map.getLayer(e)&&this.map.removeLayer(e)}),this.zarrLayers.clear(),this.videoSources.clear(),this.markersMap.forEach(t=>t.remove()),this.markersMap.clear(),this.markerGroupsMap.clear(),this.markerAdapter=null,this.popupsMap.forEach(t=>t.remove()),this.popupsMap.clear(),this.controlsMap.forEach(t=>{this.map&&this.map.removeControl(t)}),this.controlsMap.clear(),this.map&&(this.map.remove(),this.map=null),this.mapContainer&&(this.mapContainer.remove(),this.mapContainer=null)}};T$([Sy,MOt]);async function UFn(i){let t=amt(i);return{def:t.proj4,parsed:aF.parseCrs(t.proj4),coordinatesUnits:t.coordinatesUnits}}var Pkt=class extends Ukt{deckOverlay=null;deckLayers=new globalThis.Map;tripsLayerConfigs=new Map;tripsAnimations=new Map;constructor(t,e){super(t,e),this.registerDeckGLMethods()}async initialize(){await super.initialize(),this.map&&(this.deckOverlay=new By({interleaved:!0,layers:[]}),this.map.addControl(this.deckOverlay))}registerDeckGLMethods(){this.registerMethod("addScatterplotLayer",this.handleAddScatterplotLayer.bind(this)),this.registerMethod("addArcLayer",this.handleAddArcLayer.bind(this)),this.registerMethod("addPathLayer",this.handleAddPathLayer.bind(this)),this.registerMethod("addPolygonLayer",this.handleAddPolygonLayer.bind(this)),this.registerMethod("addHexagonLayer",this.handleAddHexagonLayer.bind(this)),this.registerMethod("addHeatmapLayer",this.handleAddHeatmapLayer.bind(this)),this.registerMethod("addGridLayer",this.handleAddGridLayer.bind(this)),this.registerMethod("addIconLayer",this.handleAddIconLayer.bind(this)),this.registerMethod("addTextLayer",this.handleAddTextLayer.bind(this)),this.registerMethod("addGeoJsonLayer",this.handleAddGeoJsonLayer.bind(this)),this.registerMethod("addContourLayer",this.handleAddContourLayer.bind(this)),this.registerMethod("addScreenGridLayer",this.handleAddScreenGridLayer.bind(this)),this.registerMethod("addPointCloudLayer",this.handleAddPointCloudLayer.bind(this)),this.registerMethod("addTripsLayer",this.handleAddTripsLayer.bind(this)),this.registerMethod("addLineLayer",this.handleAddLineLayer.bind(this)),this.registerMethod("addCOGLayer",this.handleAddCOGLayer.bind(this)),this.registerMethod("addDeckGLLayer",this.handleAddDeckGLLayer.bind(this)),this.registerMethod("addBitmapLayer",this.handleAddBitmapLayer.bind(this)),this.registerMethod("addColumnLayer",this.handleAddColumnLayer.bind(this)),this.registerMethod("addGridCellLayer",this.handleAddGridCellLayer.bind(this)),this.registerMethod("addSolidPolygonLayer",this.handleAddSolidPolygonLayer.bind(this)),this.registerMethod("addTileLayer",this.handleAddDeckTileLayer.bind(this)),this.registerMethod("addMVTLayer",this.handleAddMVTLayer.bind(this)),this.registerMethod("addTile3DLayer",this.handleAddTile3DLayer.bind(this)),this.registerMethod("addTerrainLayer",this.handleAddTerrainLayer.bind(this)),this.registerMethod("addGreatCircleLayer",this.handleAddGreatCircleLayer.bind(this)),this.registerMethod("addH3HexagonLayer",this.handleAddH3HexagonLayer.bind(this)),this.registerMethod("addH3ClusterLayer",this.handleAddH3ClusterLayer.bind(this)),this.registerMethod("addS2Layer",this.handleAddS2Layer.bind(this)),this.registerMethod("addQuadkeyLayer",this.handleAddQuadkeyLayer.bind(this)),this.registerMethod("addGeohashLayer",this.handleAddGeohashLayer.bind(this)),this.registerMethod("addWMSLayer",this.handleAddWMSLayer.bind(this)),this.registerMethod("addSimpleMeshLayer",this.handleAddSimpleMeshLayer.bind(this)),this.registerMethod("addScenegraphLayer",this.handleAddScenegraphLayer.bind(this)),this.registerMethod("removeDeckLayer",this.handleRemoveDeckLayer.bind(this)),this.registerMethod("updateDeckLayer",this.handleUpdateDeckLayer.bind(this)),this.registerMethod("setDeckLayerVisibility",this.handleSetDeckLayerVisibility.bind(this))}updateDeckOverlay(){if(this.deckOverlay){let t=Array.from(this.deckLayers.values());this.deckOverlay.setProps({layers:t})}}makeAccessor(t,e,r){return typeof t=="string"?n=>n[t]:typeof t=="function"||t!=null?t:r||(n=>n[e])}normalizeTimestampValues(t){return typeof t=="number"&&Number.isFinite(t)?[t]:Array.isArray(t)?t.filter(e=>typeof e=="number"&&Number.isFinite(e)):t&&typeof t=="object"&&typeof t.length=="number"?Array.from(t).filter(e=>typeof e=="number"&&Number.isFinite(e)):[]}getMaxTimestamp(t,e){let r=0;for(let n of t){let s=typeof e=="function"?e(n):e;for(let a of this.normalizeTimestampValues(s))a>r&&(r=a)}return r}startTripsAnimation(t,e,r,n){this.stopTripsAnimation(t);let s=this.tripsLayerConfigs.get(t);if(!s)return;let a=this.getMaxTimestamp(s.data,s.getTimestamps),o=Math.max(a+e,e*2),A={frameId:0,lastTime:0,speed:n,loopLength:o,currentTime:r},l=c=>{let p=this.tripsAnimations.get(t);if(!p)return;let d=this.tripsLayerConfigs.get(t);if(!d)return;p.lastTime||(p.lastTime=c);let _=(c-p.lastTime)/1e3;p.lastTime=c,p.currentTime=(p.currentTime+_*p.speed)%p.loopLength;let I=this.deckLayers.get(t),y=I?.props?.visible??!0,B=I?.props?.opacity??d.opacity,x=new zH({id:d.id,data:d.data,pickable:d.pickable,opacity:B,visible:y,widthMinPixels:d.widthMinPixels,trailLength:d.trailLength,currentTime:p.currentTime,fadeTrail:d.fadeTrail,jointRounded:d.jointRounded,capRounded:d.capRounded,getPath:d.getPath,getTimestamps:d.getTimestamps,getColor:d.getColor});this.deckLayers.set(t,x),this.updateDeckOverlay(),p.frameId=requestAnimationFrame(l)};A.frameId=requestAnimationFrame(l),this.tripsAnimations.set(t,A)}stopTripsAnimation(t){let e=this.tripsAnimations.get(t);e&&(cancelAnimationFrame(e.frameId),this.tripsAnimations.delete(t))}handleAddScatterplotLayer(t,e){let r=e.id||`scatterplot-${Date.now()}`,n=e.data,s=new pG({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,stroked:e.stroked!==!1,filled:e.filled!==!1,radiusScale:e.radiusScale??1,radiusMinPixels:e.radiusMinPixels??1,radiusMaxPixels:e.radiusMaxPixels??100,lineWidthMinPixels:e.lineWidthMinPixels??1,getPosition:this.makeAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getRadius:this.makeAccessor(e.getRadius??e.radius,"radius",()=>5),getFillColor:this.makeAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[51,136,255,200]),getLineColor:this.makeAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[255,255,255,255])});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddArcLayer(t,e){let r=e.id||`arc-${Date.now()}`,n=e.data,s=new gG({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,getWidth:this.makeAccessor(e.getWidth??e.width,"width",()=>1),getSourcePosition:this.makeAccessor(e.getSourcePosition,"source",a=>a.source||a.from||a.sourcePosition),getTargetPosition:this.makeAccessor(e.getTargetPosition,"target",a=>a.target||a.to||a.targetPosition),getSourceColor:this.makeAccessor(e.getSourceColor??e.sourceColor,"sourceColor",()=>[51,136,255,255]),getTargetColor:this.makeAccessor(e.getTargetColor??e.targetColor,"targetColor",()=>[255,136,51,255])});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddPathLayer(t,e){let r=e.id||`path-${Date.now()}`,n=e.data,s=new ff({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,widthScale:e.widthScale??1,widthMinPixels:e.widthMinPixels??1,getPath:this.makeAccessor(e.getPath,"path",a=>a.path||a.coordinates),getColor:this.makeAccessor(e.getColor??e.color,"color",()=>[51,136,255,200]),getWidth:this.makeAccessor(e.getWidth??e.width,"width",()=>1)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddPolygonLayer(t,e){let r=e.id||`polygon-${Date.now()}`,n=e.data,s=new Qy({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.5,stroked:e.stroked!==!1,filled:e.filled!==!1,extruded:e.extruded??!1,wireframe:e.wireframe??!1,lineWidthMinPixels:e.lineWidthMinPixels??1,getPolygon:this.makeAccessor(e.getPolygon,"polygon",a=>a.polygon||a.contour||a.coordinates),getElevation:this.makeAccessor(e.getElevation??e.elevation,"elevation",()=>0),getFillColor:this.makeAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[51,136,255,128]),getLineColor:this.makeAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,255,255]),getLineWidth:this.makeAccessor(e.getLineWidth??e.lineWidth,"lineWidth",()=>1)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddHexagonLayer(t,e){let r=e.id||`hexagon-${Date.now()}`,n=e.data,s=new kit({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,extruded:e.extruded??!0,radius:e.radius??1e3,elevationScale:e.elevationScale??4,getPosition:this.makeAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),colorRange:e.colorRange??[[1,152,189],[73,227,206],[216,254,181],[254,237,177],[254,173,84],[209,55,78]]});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddHeatmapLayer(t,e){let r=e.id||`heatmap-${Date.now()}`,n=e.data,s=new Tit({id:r,data:n,pickable:!1,opacity:e.opacity??1,radiusPixels:e.radiusPixels??30,intensity:e.intensity??1,threshold:e.threshold??.05,getPosition:this.makeAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getWeight:this.makeAccessor(e.getWeight??e.weight,"weight",()=>1),colorRange:e.colorRange??[[255,255,178,25],[254,217,118,85],[254,178,76,127],[253,141,60,170],[240,59,32,212],[189,0,38,255]]});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddGridLayer(t,e){let r=e.id||`grid-${Date.now()}`,n=e.data,s=new Git({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,extruded:e.extruded??!0,cellSize:e.cellSize??200,elevationScale:e.elevationScale??4,getPosition:this.makeAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),colorRange:e.colorRange??[[1,152,189],[73,227,206],[216,254,181],[254,237,177],[254,173,84],[209,55,78]]});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddIconLayer(t,e){let r=e.id||`icon-${Date.now()}`,n=e.data,s=new Cb({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??1,iconAtlas:e.iconAtlas,iconMapping:e.iconMapping,getPosition:this.makeAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getIcon:this.makeAccessor(e.getIcon,"icon",a=>a.icon||"marker"),getSize:this.makeAccessor(e.getSize??e.size,"size",()=>20),getColor:this.makeAccessor(e.getColor??e.color,"color",()=>[255,255,255,255])});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddTextLayer(t,e){let r=e.id||`text-${Date.now()}`,n=e.data,s=new yG({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??1,getPosition:this.makeAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getText:this.makeAccessor(e.getText,"text",a=>a.text||a.label||a.name||""),getSize:this.makeAccessor(e.getSize??e.size,"size",()=>12),getColor:this.makeAccessor(e.getColor??e.color,"color",()=>[0,0,0,255]),getAngle:this.makeAccessor(e.getAngle,"angle",()=>0),getTextAnchor:e.getTextAnchor??"middle",getAlignmentBaseline:e.getAlignmentBaseline??"center"});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddGeoJsonLayer(t,e){let r=e.id||`geojson-${Date.now()}`,n=e.data,s=new Vm({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,stroked:e.stroked!==!1,filled:e.filled!==!1,extruded:e.extruded??!1,wireframe:e.wireframe??!1,lineWidthMinPixels:e.lineWidthMinPixels??1,pointRadiusMinPixels:e.pointRadiusMinPixels??2,getFillColor:this.makeAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[51,136,255,128]),getLineColor:this.makeAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,0,255]),getLineWidth:this.makeAccessor(e.getLineWidth??e.lineWidth,"lineWidth",()=>1),getPointRadius:this.makeAccessor(e.getPointRadius??e.pointRadius,"pointRadius",()=>5),getElevation:this.makeAccessor(e.getElevation??e.elevation,"elevation",()=>0)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddContourLayer(t,e){let r=e.id||`contour-${Date.now()}`,n=e.data,s=new Rit({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??1,cellSize:e.cellSize??200,contours:e.contours??[{threshold:1,color:[255,255,255],strokeWidth:1},{threshold:5,color:[51,136,255],strokeWidth:2},{threshold:10,color:[0,0,255],strokeWidth:3}],getPosition:this.makeAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getWeight:this.makeAccessor(e.getWeight??e.weight,"weight",()=>1)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddScreenGridLayer(t,e){let r=e.id||`screengrid-${Date.now()}`,n=e.data,s=new wit({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,cellSizePixels:e.cellSizePixels??50,getPosition:this.makeAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getWeight:this.makeAccessor(e.getWeight??e.weight,"weight",()=>1),colorRange:e.colorRange??[[255,255,178,25],[254,217,118,85],[254,178,76,127],[253,141,60,170],[240,59,32,212],[189,0,38,255]]});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddPointCloudLayer(t,e){let r=e.id||`pointcloud-${Date.now()}`,n=e.data,s={id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??1,pointSize:e.pointSize??2,getPosition:this.makeAccessor(e.getPosition,"position",o=>o.position||o.coordinates||[o.x,o.y,o.z]),getNormal:this.makeAccessor(e.getNormal,"normal",()=>[0,0,1]),getColor:this.makeAccessor(e.getColor??e.color,"color",()=>[255,255,255,255]),sizeUnits:e.sizeUnits??"pixels"};e.coordinateSystem!==void 0&&e.coordinateSystem!==null&&(s.coordinateSystem=e.coordinateSystem),e.coordinateOrigin!==void 0&&e.coordinateOrigin!==null&&(s.coordinateOrigin=e.coordinateOrigin);let a=new V5(s);this.deckLayers.set(r,a),this.updateDeckOverlay()}handleAddTripsLayer(t,e){let r=e.id||`trips-${Date.now()}`,n=e.data,s=this.makeAccessor(e.getTimestamps,"timestamps",T=>T.timestamps),a=this.makeAccessor(e.getPath,"waypoints",T=>T.waypoints||T.path||T.coordinates),o=this.makeAccessor(e.getColor??e.color,"color",()=>[253,128,93]),A=e.fadeTrail??!0,l=e.jointRounded??!0,c=e.capRounded??!0,p=e.pickable!==!1,d=e.opacity??.8,_=e.widthMinPixels??2,I=e.trailLength??180,y=e.currentTime??0,B=e.animate!==!1,x={id:r,data:n,pickable:p,opacity:d,widthMinPixels:_,trailLength:I,fadeTrail:A,jointRounded:l,capRounded:c,getPath:a,getTimestamps:s,getColor:o};this.tripsLayerConfigs.set(r,x);let w=B?0:y,D=new zH({id:r,data:n,pickable:p,opacity:d,widthMinPixels:_,trailLength:I,currentTime:w,fadeTrail:A,jointRounded:l,capRounded:c,getPath:a,getTimestamps:s,getColor:o});if(this.deckLayers.set(r,D),this.updateDeckOverlay(),B){let T=e.animationSpeed??e.speed??30;this.startTripsAnimation(r,I,0,T)}else this.stopTripsAnimation(r)}handleAddLineLayer(t,e){let r=e.id||`line-${Date.now()}`,n=e.data,s=new Jet({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,widthMinPixels:e.widthMinPixels??1,getSourcePosition:this.makeAccessor(e.getSourcePosition,"sourcePosition",a=>a.sourcePosition||a.source||a.from),getTargetPosition:this.makeAccessor(e.getTargetPosition,"targetPosition",a=>a.targetPosition||a.target||a.to),getColor:this.makeAccessor(e.getColor??e.color,"color",()=>[51,136,255,200]),getWidth:this.makeAccessor(e.getWidth??e.width,"width",()=>1)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddBitmapLayer(t,e){let r=e.id||`bitmap-${Date.now()}`,n=e.image,s=e.bounds,a=new Kk({id:r,image:n,bounds:s,opacity:e.opacity??1,visible:e.visible!==!1,pickable:e.pickable??!1,desaturate:e.desaturate??0,transparentColor:e.transparentColor??[0,0,0,0],tintColor:e.tintColor??[255,255,255]});this.deckLayers.set(r,a),this.updateDeckOverlay()}handleAddColumnLayer(t,e){let r=e.id||`column-${Date.now()}`,n=e.data,s=new xy({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,extruded:e.extruded??!0,diskResolution:e.diskResolution??20,radius:e.radius??1e3,elevationScale:e.elevationScale??1,coverage:e.coverage??1,filled:e.filled!==!1,stroked:e.stroked??!1,wireframe:e.wireframe??!1,getPosition:this.makeAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getFillColor:this.makeAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[255,140,0,200]),getLineColor:this.makeAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,0,255]),getElevation:this.makeAccessor(e.getElevation??e.elevation,"elevation",()=>1e3)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddGridCellLayer(t,e){let r=e.id||`gridcell-${Date.now()}`,n=e.data,s=new Ait({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,extruded:e.extruded??!0,cellSize:e.cellSize??200,elevationScale:e.elevationScale??1,coverage:e.coverage??1,getPosition:this.makeAccessor(e.getPosition,"coordinates",a=>a.coordinates||a.position||[a.lng||a.longitude,a.lat||a.latitude]),getColor:this.makeAccessor(e.getColor??e.color,"color",()=>[255,140,0,200]),getElevation:this.makeAccessor(e.getElevation??e.elevation,"elevation",()=>1e3)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddSolidPolygonLayer(t,e){let r=e.id||`solidpolygon-${Date.now()}`,n=e.data,s=new W5({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,filled:e.filled!==!1,extruded:e.extruded??!1,wireframe:e.wireframe??!1,elevationScale:e.elevationScale??1,getPolygon:this.makeAccessor(e.getPolygon,"polygon",a=>a.polygon||a.contour||a.coordinates),getFillColor:this.makeAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[51,136,255,128]),getLineColor:this.makeAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,0,255]),getElevation:this.makeAccessor(e.getElevation??e.elevation,"elevation",()=>0)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddDeckTileLayer(t,e){let r=e.id||`tile-${Date.now()}`,n=e.data,s=new AC({id:r,data:n,minZoom:e.minZoom??0,maxZoom:e.maxZoom??19,tileSize:e.tileSize??256,pickable:e.pickable??!1,visible:e.visible!==!1,opacity:e.opacity??1,renderSubLayers:e.renderSubLayers??(a=>{let{boundingBox:o}=a.tile;return new Kk(a,{data:void 0,image:a.data,bounds:[o[0][0],o[0][1],o[1][0],o[1][1]]})})});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddMVTLayer(t,e){let r=e.id||`mvt-${Date.now()}`,n=e.data,s=new xOt({id:r,data:n,minZoom:e.minZoom??0,maxZoom:e.maxZoom??14,pickable:e.pickable!==!1,visible:e.visible!==!1,opacity:e.opacity??1,binary:e.binary??!0,getFillColor:this.makeAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[51,136,255,128]),getLineColor:this.makeAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,0,255]),getLineWidth:this.makeAccessor(e.getLineWidth??e.lineWidth,"lineWidth",()=>1),getPointRadius:this.makeAccessor(e.getPointRadius??e.pointRadius,"pointRadius",()=>5),lineWidthMinPixels:e.lineWidthMinPixels??1,pointRadiusMinPixels:e.pointRadiusMinPixels??2});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddTile3DLayer(t,e){let r=e.id||`tile3d-${Date.now()}`,n=e.data,s={id:r,data:n,pickable:e.pickable!==!1,visible:e.visible!==!1,opacity:e.opacity??1,pointSize:e.pointSize??1,loadOptions:e.loadOptions??{}};typeof e.onTilesetLoad=="function"&&(s.onTilesetLoad=e.onTilesetLoad),typeof e.onTileLoad=="function"&&(s.onTileLoad=e.onTileLoad),typeof e.onTileUnload=="function"&&(s.onTileUnload=e.onTileUnload),typeof e.onTileError=="function"&&(s.onTileError=e.onTileError);let a=new $Pt(s);this.deckLayers.set(r,a),this.updateDeckOverlay()}handleAddTerrainLayer(t,e){let r=e.id||`terrain-${Date.now()}`,n=e.elevationData,s=new aOt({id:r,elevationData:n,texture:e.texture,meshMaxError:e.meshMaxError??4,bounds:e.bounds,elevationDecoder:e.elevationDecoder??{rScaler:256,gScaler:1,bScaler:1/256,offset:-32768},pickable:e.pickable??!1,visible:e.visible!==!1,opacity:e.opacity??1,wireframe:e.wireframe??!1});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddGreatCircleLayer(t,e){let r=e.id||`greatcircle-${Date.now()}`,n=e.data,s=new zTt({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,getSourcePosition:this.makeAccessor(e.getSourcePosition,"source",a=>a.source||a.from||a.sourcePosition),getTargetPosition:this.makeAccessor(e.getTargetPosition,"target",a=>a.target||a.to||a.targetPosition),getSourceColor:this.makeAccessor(e.getSourceColor??e.sourceColor,"sourceColor",()=>[51,136,255,255]),getTargetColor:this.makeAccessor(e.getTargetColor??e.targetColor,"targetColor",()=>[255,136,51,255]),getWidth:this.makeAccessor(e.getWidth??e.width,"width",()=>1),widthMinPixels:e.widthMinPixels??1,widthMaxPixels:e.widthMaxPixels??Number.MAX_SAFE_INTEGER});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddH3HexagonLayer(t,e){let r=e.id||`h3hexagon-${Date.now()}`,n=e.data,s=new irt({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,filled:e.filled!==!1,stroked:e.stroked??!0,extruded:e.extruded??!1,wireframe:e.wireframe??!1,elevationScale:e.elevationScale??1,coverage:e.coverage??1,highPrecision:e.highPrecision??!1,getHexagon:this.makeAccessor(e.getHexagon,"hexagon",a=>a.hexagon||a.h3||a.h3Index),getFillColor:this.makeAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[51,136,255,128]),getLineColor:this.makeAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,0,255]),getElevation:this.makeAccessor(e.getElevation??e.elevation,"elevation",()=>0)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddH3ClusterLayer(t,e){let r=e.id||`h3cluster-${Date.now()}`,n=e.data,s=new uUt({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,filled:e.filled!==!1,stroked:e.stroked??!0,extruded:e.extruded??!1,elevationScale:e.elevationScale??1,getHexagons:this.makeAccessor(e.getHexagons,"hexagons",a=>a.hexagons||a.h3Indexes),getFillColor:this.makeAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[51,136,255,128]),getLineColor:this.makeAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,0,255]),getLineWidth:this.makeAccessor(e.getLineWidth??e.lineWidth,"lineWidth",()=>1)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddS2Layer(t,e){let r=e.id||`s2-${Date.now()}`,n=e.data,s=new qTt({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,filled:e.filled!==!1,stroked:e.stroked??!0,extruded:e.extruded??!1,wireframe:e.wireframe??!1,elevationScale:e.elevationScale??1,getS2Token:this.makeAccessor(e.getS2Token,"s2Token",a=>a.s2Token||a.token||a.s2),getFillColor:this.makeAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[51,136,255,128]),getLineColor:this.makeAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,0,255]),getLineWidth:this.makeAccessor(e.getLineWidth??e.lineWidth,"lineWidth",()=>1),getElevation:this.makeAccessor(e.getElevation??e.elevation,"elevation",()=>0)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddQuadkeyLayer(t,e){let r=e.id||`quadkey-${Date.now()}`,n=e.data,s=new KTt({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,filled:e.filled!==!1,stroked:e.stroked??!0,extruded:e.extruded??!1,wireframe:e.wireframe??!1,elevationScale:e.elevationScale??1,getQuadkey:this.makeAccessor(e.getQuadkey,"quadkey",a=>a.quadkey||a.key),getFillColor:this.makeAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[51,136,255,128]),getLineColor:this.makeAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,0,255]),getLineWidth:this.makeAccessor(e.getLineWidth??e.lineWidth,"lineWidth",()=>1),getElevation:this.makeAccessor(e.getElevation??e.elevation,"elevation",()=>0)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddGeohashLayer(t,e){let r=e.id||`geohash-${Date.now()}`,n=e.data,s=new QOt({id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??.8,filled:e.filled!==!1,stroked:e.stroked??!0,extruded:e.extruded??!1,wireframe:e.wireframe??!1,elevationScale:e.elevationScale??1,getGeohash:this.makeAccessor(e.getGeohash,"geohash",a=>a.geohash||a.hash),getFillColor:this.makeAccessor(e.getFillColor??e.fillColor,"fillColor",()=>[51,136,255,128]),getLineColor:this.makeAccessor(e.getLineColor??e.lineColor,"lineColor",()=>[0,0,0,255]),getLineWidth:this.makeAccessor(e.getLineWidth??e.lineWidth,"lineWidth",()=>1),getElevation:this.makeAccessor(e.getElevation??e.elevation,"elevation",()=>0)});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddWMSLayer(t,e){let r=e.id||`wms-${Date.now()}`,n=e.data,s=new vG({id:r,data:n,serviceType:e.serviceType??"wms",layers:e.layers,pickable:e.pickable??!1,visible:e.visible!==!1,opacity:e.opacity??1});this.deckLayers.set(r,s),this.updateDeckOverlay()}handleAddSimpleMeshLayer(t,e){let r=e.id||`simplemesh-${Date.now()}`,n=e.data,s=e.mesh,a={id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??1,sizeScale:e.sizeScale??1,wireframe:e.wireframe??!1,material:e.material??!0,getPosition:this.makeAccessor(e.getPosition,"coordinates",A=>A.coordinates||A.position||[A.lng||A.longitude,A.lat||A.latitude]),getColor:this.makeAccessor(e.getColor??e.color,"color",()=>[255,255,255,255]),getOrientation:this.makeAccessor(e.getOrientation,"orientation",()=>[0,0,0]),getScale:this.makeAccessor(e.getScale,"scale",()=>[1,1,1]),getTranslation:this.makeAccessor(e.getTranslation,"translation",()=>[0,0,0]),loaders:[Sy,MOt]};s!=null&&(a.mesh=s),e.texture&&(a.texture=e.texture);let o=new X5(a);this.deckLayers.set(r,o),this.updateDeckOverlay()}handleAddScenegraphLayer(t,e){let r=e.id||`scenegraph-${Date.now()}`,n=e.data,s=e.scenegraph,a={id:r,data:n,pickable:e.pickable!==!1,opacity:e.opacity??1,sizeScale:e.sizeScale??1,sizeMinPixels:e.sizeMinPixels??0,sizeMaxPixels:e.sizeMaxPixels??Number.MAX_SAFE_INTEGER,_lighting:e._lighting??"pbr",getPosition:this.makeAccessor(e.getPosition,"coordinates",A=>A.coordinates||A.position||[A.lng||A.longitude,A.lat||A.latitude]),getColor:this.makeAccessor(e.getColor??e.color,"color",()=>[255,255,255,255]),getOrientation:this.makeAccessor(e.getOrientation,"orientation",()=>[0,0,0]),getScale:this.makeAccessor(e.getScale,"scale",()=>[1,1,1]),getTranslation:this.makeAccessor(e.getTranslation,"translation",()=>[0,0,0]),loaders:[Sy]};s!=null&&(a.scenegraph=s),e._animations!==void 0&&(a._animations=e._animations);let o=new prt(a);this.deckLayers.set(r,o),this.updateDeckOverlay()}handleAddDeckGLLayer(t,e){let r=e.layerType;if(!r){console.warn("addDeckGLLayer called without layerType");return}let s={ScatterplotLayer:this.handleAddScatterplotLayer.bind(this),ArcLayer:this.handleAddArcLayer.bind(this),PathLayer:this.handleAddPathLayer.bind(this),PolygonLayer:this.handleAddPolygonLayer.bind(this),HexagonLayer:this.handleAddHexagonLayer.bind(this),HeatmapLayer:this.handleAddHeatmapLayer.bind(this),GridLayer:this.handleAddGridLayer.bind(this),IconLayer:this.handleAddIconLayer.bind(this),TextLayer:this.handleAddTextLayer.bind(this),GeoJsonLayer:this.handleAddGeoJsonLayer.bind(this),ContourLayer:this.handleAddContourLayer.bind(this),ScreenGridLayer:this.handleAddScreenGridLayer.bind(this),PointCloudLayer:this.handleAddPointCloudLayer.bind(this),TripsLayer:this.handleAddTripsLayer.bind(this),LineLayer:this.handleAddLineLayer.bind(this),BitmapLayer:this.handleAddBitmapLayer.bind(this),ColumnLayer:this.handleAddColumnLayer.bind(this),GridCellLayer:this.handleAddGridCellLayer.bind(this),SolidPolygonLayer:this.handleAddSolidPolygonLayer.bind(this),TileLayer:this.handleAddDeckTileLayer.bind(this),MVTLayer:this.handleAddMVTLayer.bind(this),Tile3DLayer:this.handleAddTile3DLayer.bind(this),TerrainLayer:this.handleAddTerrainLayer.bind(this),GreatCircleLayer:this.handleAddGreatCircleLayer.bind(this),H3HexagonLayer:this.handleAddH3HexagonLayer.bind(this),H3ClusterLayer:this.handleAddH3ClusterLayer.bind(this),S2Layer:this.handleAddS2Layer.bind(this),QuadkeyLayer:this.handleAddQuadkeyLayer.bind(this),GeohashLayer:this.handleAddGeohashLayer.bind(this),WMSLayer:this.handleAddWMSLayer.bind(this),SimpleMeshLayer:this.handleAddSimpleMeshLayer.bind(this),ScenegraphLayer:this.handleAddScenegraphLayer.bind(this)}[r];s?s(t,e):console.warn(`Unknown deck.gl layer type: ${r}`)}handleAddCOGLayer(t,e){let r=e.id||`cog-${Date.now()}`,n=e.geotiff,s=e.fitBounds!==!1,a=new EM({id:r,geotiff:n,opacity:e.opacity??1,visible:e.visible!==!1,debug:e.debug??!1,debugOpacity:e.debugOpacity??.25,maxError:e.maxError??.125,geoKeysParser:UFn,onGeoTIFFLoad:(o,A)=>{if(s&&this.map){let{west:l,south:c,east:p,north:d}=A.geographicBounds;this.map.fitBounds([[l,c],[p,d]],{padding:40,duration:1e3})}}});this.deckOverlay||this.initializeDeckOverlay(),this.deckLayers.set(r,a),this.updateDeckOverlay()}handleRemoveDeckLayer(t,e){let[r]=t;this.stopTripsAnimation(r),this.tripsLayerConfigs.delete(r),this.deckLayers.delete(r),this.updateDeckOverlay()}handleUpdateDeckLayer(t,e){let r=e.id,n=this.deckLayers.get(r);if(n&&typeof n=="object"&&n!==null&&"clone"in n){let s=n.clone(e);this.deckLayers.set(r,s),this.updateDeckOverlay()}}handleSetDeckLayerVisibility(t,e){let[r,n]=t,s=this.deckLayers.get(r);if(s){let a=s.clone({visible:n});this.deckLayers.set(r,a),this.updateDeckOverlay()}}destroy(){for(let t of this.tripsAnimations.keys())this.stopTripsAnimation(t);this.deckOverlay&&this.map&&(this.map.removeControl(this.deckOverlay),this.deckOverlay=null),this.tripsLayerConfigs.clear(),this.deckLayers.clear(),super.destroy()}};function PFn({model:i,el:t}){t._deckRenderer&&(t._deckRenderer.destroy(),delete t._deckRenderer);let e=new Pkt(i,t);return t._deckRenderer=e,e.initialize().catch(r=>{console.error("Failed to initialize DeckGL map:",r)}),()=>{t._deckRenderer&&(t._deckRenderer.destroy(),delete t._deckRenderer)}}var Paa={render:PFn};export{Paa as default};
|
|
27661
27661
|
/*! Bundled license information:
|
|
27662
27662
|
|
|
27663
27663
|
long/dist/long.js:
|