@loaders.gl/geotiff 4.2.0-alpha.4 → 4.2.0-alpha.6

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.
Files changed (50) hide show
  1. package/dist/dist.dev.js +222 -284
  2. package/dist/dist.min.js +30 -0
  3. package/dist/geotiff-loader.js +71 -52
  4. package/dist/index.cjs +23 -20
  5. package/dist/index.cjs.map +7 -0
  6. package/dist/index.d.ts +3 -3
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +3 -1
  9. package/dist/lib/load-geotiff.d.ts +1 -1
  10. package/dist/lib/load-geotiff.d.ts.map +1 -1
  11. package/dist/lib/load-geotiff.js +57 -21
  12. package/dist/lib/ome/load-ome-tiff.d.ts +1 -1
  13. package/dist/lib/ome/load-ome-tiff.d.ts.map +1 -1
  14. package/dist/lib/ome/load-ome-tiff.js +35 -41
  15. package/dist/lib/ome/ome-indexers.d.ts +1 -1
  16. package/dist/lib/ome/ome-indexers.d.ts.map +1 -1
  17. package/dist/lib/ome/ome-indexers.js +102 -114
  18. package/dist/lib/ome/ome-utils.d.ts +1 -1
  19. package/dist/lib/ome/ome-utils.d.ts.map +1 -1
  20. package/dist/lib/ome/ome-utils.js +56 -60
  21. package/dist/lib/ome/omexml.js +53 -55
  22. package/dist/lib/ome/utils.d.ts +2 -2
  23. package/dist/lib/ome/utils.d.ts.map +1 -1
  24. package/dist/lib/ome/utils.js +23 -12
  25. package/dist/lib/tiff-pixel-source.d.ts +1 -1
  26. package/dist/lib/tiff-pixel-source.d.ts.map +1 -1
  27. package/dist/lib/tiff-pixel-source.js +64 -84
  28. package/dist/lib/utils/tiff-utils.d.ts +1 -1
  29. package/dist/lib/utils/tiff-utils.d.ts.map +1 -1
  30. package/dist/lib/utils/tiff-utils.js +31 -18
  31. package/dist/loaders.js +40 -27
  32. package/dist/types.d.ts +1 -1
  33. package/dist/types.d.ts.map +1 -1
  34. package/dist/types.js +3 -1
  35. package/package.json +9 -4
  36. package/dist/geotiff-loader.js.map +0 -1
  37. package/dist/index.js.map +0 -1
  38. package/dist/lib/load-geotiff.js.map +0 -1
  39. package/dist/lib/ome/load-ome-tiff.js.map +0 -1
  40. package/dist/lib/ome/ome-indexers.js.map +0 -1
  41. package/dist/lib/ome/ome-utils.js.map +0 -1
  42. package/dist/lib/ome/omexml.js.map +0 -1
  43. package/dist/lib/ome/utils.js.map +0 -1
  44. package/dist/lib/tiff-pixel-source.js.map +0 -1
  45. package/dist/lib/utils/Pool.ts.disabled +0 -99
  46. package/dist/lib/utils/decoder.worker.ts.disabled +0 -21
  47. package/dist/lib/utils/proxies.ts.disabled +0 -96
  48. package/dist/lib/utils/tiff-utils.js.map +0 -1
  49. package/dist/loaders.js.map +0 -1
  50. package/dist/types.js.map +0 -1
@@ -0,0 +1,30 @@
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if (typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory();
4
+ else if (typeof define === 'function' && define.amd) define([], factory);
5
+ else if (typeof exports === 'object') exports['loaders'] = factory();
6
+ else root['loaders'] = factory();})(globalThis, function () {
7
+ "use strict";var __exports__=(()=>{var ha=Object.create;var jA=Object.defineProperty;var ua=Object.getOwnPropertyDescriptor;var Ba=Object.getOwnPropertyNames;var Ea=Object.getPrototypeOf,Ca=Object.prototype.hasOwnProperty;var he=(e,t)=>()=>(e&&(t=e(e=0)),t);var X=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Te=(e,t)=>{for(var A in t)jA(e,A,{get:t[A],enumerable:!0})},XA=(e,t,A,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Ba(t))!Ca.call(e,r)&&r!==A&&jA(e,r,{get:()=>t[r],enumerable:!(i=ua(t,r))||i.enumerable});return e},$A=(e,t,A)=>(XA(e,t,"default"),A&&XA(A,t,"default")),ve=(e,t,A)=>(A=e!=null?ha(Ea(e)):{},XA(t||!e||!e.__esModule?jA(A,"default",{value:e,enumerable:!0}):A,e)),da=e=>XA(jA({},"__esModule",{value:!0}),e);var Br=X((Zc,ur)=>{ur.exports=globalThis.loaders});var Lr=X(($I,Wt)=>{function Ur(e,t,A){let i=A&&A.debug||!1;i&&console.log("[xml-utils] getting "+t+" in "+e);let r=typeof e=="object"?e.outer:e,n=r.slice(0,r.indexOf(">")+1),l=['"',"'"];for(let s=0;s<l.length;s++){let g=l[s],o=t+"\\="+g+"([^"+g+"]*)"+g;i&&console.log("[xml-utils] pattern:",o);let I=new RegExp(o).exec(n);if(i&&console.log("[xml-utils] match:",I),I)return I[1]}}Wt.exports=Ur;Wt.exports.default=Ur});var Or=X((WI,ei)=>{function Mr(e,t,A){let r=new RegExp(t).exec(e.slice(A));return r?A+r.index:-1}ei.exports=Mr;ei.exports.default=Mr});var Yr=X((eh,Ai)=>{function qr(e,t,A){let r=new RegExp(t).exec(e.slice(A));return r?A+r.index+r[0].length-1:-1}Ai.exports=qr;Ai.exports.default=qr});var Jr=X((Ah,ti)=>{function Hr(e,t){let A=new RegExp(t,"g"),i=e.match(A);return i?i.length:0}ti.exports=Hr;ti.exports.default=Hr});var Pr=X((th,ri)=>{var Fa=Or(),ii=Yr(),Kr=Jr();function Vr(e,t,A){let i=A&&A.debug||!1,r=!(A&&typeof A.nested===!1),n=A&&A.startIndex||0;i&&console.log("[xml-utils] starting findTagByName with",t," and ",A);let l=Fa(e,`<${t}[
8
+ >/]`,n);if(i&&console.log("[xml-utils] start:",l),l===-1)return;let s=e.slice(l+t.length),g=ii(s,"^[^<]*[ /]>",0),o=g!==-1&&s[g-1]==="/";if(i&&console.log("[xml-utils] selfClosing:",o),o===!1)if(r){let f=0,h=1,u=0;for(;(g=ii(s,"[ /]"+t+">",f))!==-1;){let B=s.substring(f,g+1);if(h+=Kr(B,"<"+t+`[
9
+ >]`),u+=Kr(B,"</"+t+">"),u>=h)break;f=g}}else g=ii(s,"[ /]"+t+">",0);let a=l+t.length+g+1;if(i&&console.log("[xml-utils] end:",a),a===-1)return;let I=e.slice(l,a),c;return o?c=null:c=I.slice(I.indexOf(">")+1,I.lastIndexOf("<")),{inner:c,outer:I,start:l,end:a}}ri.exports=Vr;ri.exports.default=Vr});var Zr=X((ih,ni)=>{var Na=Pr();function zr(e,t,A){let i=[],r=A&&A.debug||!1,n=A&&typeof A.nested=="boolean"?A.nested:!0,l=A&&A.startIndex||0,s;for(;s=Na(e,t,{debug:r,startIndex:l});)n?l=s.start+1+t.length:l=s.end,i.push(s);return r&&console.log("findTagsByName found",i.length,"tags"),i}ni.exports=zr;ni.exports.default=zr});var oA,Qe,Xr,oi,M,oe,jr,$r,ot,wA,Ra,st=he(()=>{oA={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"},Qe={};for(let e in oA)oA.hasOwnProperty(e)&&(Qe[oA[e]]=parseInt(e,10));Xr=[Qe.BitsPerSample,Qe.ExtraSamples,Qe.SampleFormat,Qe.StripByteCounts,Qe.StripOffsets,Qe.StripRowCounts,Qe.TileByteCounts,Qe.TileOffsets,Qe.SubIFDs],oi={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"},M={};for(let e in oi)oi.hasOwnProperty(e)&&(M[oi[e]]=parseInt(e,10));oe={WhiteIsZero:0,BlackIsZero:1,RGB:2,Palette:3,TransparencyMask:4,CMYK:5,YCbCr:6,CIELab:8,ICCLab:9},jr={Unspecified:0,Assocalpha:1,Unassalpha:2},$r={Version:0,AddCompression:1},ot={None:0,Deflate:1,Zstandard:2},wA={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"},Ra={};for(let e in wA)wA.hasOwnProperty(e)&&(Ra[wA[e]]=parseInt(e,10))});function Ua(e,t){let A=e.length-t,i=0;do{for(let r=t;r>0;r--)e[i+t]+=e[i],i++;A-=t}while(A>0)}function La(e,t,A){let i=0,r=e.length,n=r/A;for(;r>t;){for(let s=t;s>0;--s)e[i+t]+=e[i],++i;r-=t}let l=e.slice();for(let s=0;s<n;++s)for(let g=0;g<A;++g)e[A*s+g]=l[(A-g-1)*n+s]}function on(e,t,A,i,r,n){if(!t||t===1)return e;for(let 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.")}let l=r[0]/8,s=n===2?1:r.length;for(let g=0;g<i&&!(g*s*A*l>=e.byteLength);++g){let o;if(t===2){switch(r[0]){case 8:o=new Uint8Array(e,g*s*A*l,s*A*l);break;case 16:o=new Uint16Array(e,g*s*A*l,s*A*l/2);break;case 32:o=new Uint32Array(e,g*s*A*l,s*A*l/4);break;default:throw new Error(`Predictor 2 not allowed with ${r[0]} bits per sample.`)}Ua(o,s,l)}else t===3&&(o=new Uint8Array(e,g*s*A*l,s*A*l),La(o,s,l))}return e}var sn=he(()=>{});var Ae,Ge=he(()=>{sn();Ae=class{async decode(t,A){let i=await this.decodeBlock(A),r=t.Predictor||1;if(r!==1){let n=!t.StripOffsets,l=n?t.TileWidth:t.ImageWidth,s=n?t.TileLength:t.RowsPerStrip||t.ImageLength;return on(i,r,l,s,t.BitsPerSample,t.PlanarConfiguration)}return i}}});var an={};Te(an,{default:()=>at});var at,gn=he(()=>{Ge();at=class extends Ae{decodeBlock(t){return t}}});var fn={};Te(fn,{default:()=>gt});function Oa(e,t,A){let i=t%8,r=Math.floor(t/8),n=8-i,l=t+A-(r+1)*8,s=8*(r+2)-(t+A),g=(r+2)*8-t;if(s=Math.max(0,s),r>=e.length)return console.warn("ran off the end of the buffer before finding EOI_CODE (end on input code)"),gi;let o=e[r]&2**(8-i)-1;o<<=A-n;let a=o;if(r+1<e.length){let I=e[r+1]>>>s;I<<=Math.max(0,A-g),a+=I}if(l>8&&r+2<e.length){let I=(r+3)*8-(t+A),c=e[r+2]>>>I;a+=c}return a}function ai(e,t){for(let A=t.length-1;A>=0;A--)e.push(t[A]);return e}function qa(e){let t=new Uint16Array(4093),A=new Uint8Array(4093);for(let h=0;h<=257;h++)t[h]=4096,A[h]=h;let i=258,r=ln,n=0;function l(){i=258,r=ln}function s(h){let u=Oa(h,n,r);return n+=r,u}function g(h,u){return A[i]=u,t[i]=h,i++,i-1}function o(h){let u=[];for(let B=h;B!==4096;B=t[B])u.push(A[B]);return u}let a=[];l();let I=new Uint8Array(e),c=s(I),f;for(;c!==gi;){if(c===si){for(l(),c=s(I);c===si;)c=s(I);if(c===gi)break;if(c>si)throw new Error(`corrupted code at scanline ${c}`);{let h=o(c);ai(a,h),f=c}}else if(c<i){let h=o(c);ai(a,h),g(f,h[h.length-1]),f=c}else{let h=o(f);if(!h)throw new Error(`Bogus entry. Not in dictionary, ${f} / ${i}, position: ${n}`);ai(a,h),a.push(h[h.length-1]),g(f,h[h.length-1]),f=c}i+1>=2**r&&(r===Ma?f=void 0:r++),c=s(I)}return new Uint8Array(a)}var ln,si,gi,Ma,gt,cn=he(()=>{Ge();ln=9,si=256,gi=257,Ma=12;gt=class extends Ae{decodeBlock(t){return qa(t,!1).buffer}}});var hn={};Te(hn,{default:()=>Et});function In(e,t){let A=0,i=[],r=16;for(;r>0&&!e[r-1];)--r;i.push({children:[],index:0});let n=i[0],l;for(let s=0;s<r;s++){for(let g=0;g<e[s];g++){for(n=i.pop(),n.children[n.index]=t[A];n.index>0;)n=i.pop();for(n.index++,i.push(n);i.length<=s;)i.push(l={children:[],index:0}),n.children[n.index]=l.children,n=l;A++}s+1<r&&(i.push(l={children:[],index:0}),n.children[n.index]=l.children,n=l)}return i[0].children}function Ya(e,t,A,i,r,n,l,s,g){let{mcusPerLine:o,progressive:a}=A,I=t,c=t,f=0,h=0;function u(){if(h>0)return h--,f>>h&1;if(f=e[c++],f===255){let U=e[c++];if(U)throw new Error(`unexpected marker: ${(f<<8|U).toString(16)}`)}return h=7,f>>>7}function B(U){let v=U,G;for(;(G=u())!==null;){if(v=v[G],typeof v=="number")return v;if(typeof v!="object")throw new Error("invalid huffman sequence")}return null}function Q(U){let v=U,G=0;for(;v>0;){let V=u();if(V===null)return;G=G<<1|V,--v}return G}function C(U){let v=Q(U);return v>=1<<U-1?v:v+(-1<<U)+1}function p(U,v){let G=B(U.huffmanTableDC),V=G===0?0:C(G);U.pred+=V,v[0]=U.pred;let P=1;for(;P<64;){let $=B(U.huffmanTableAC),j=$&15,ie=$>>4;if(j===0){if(ie<15)break;P+=16}else{P+=ie;let ce=yA[P];v[ce]=C(j),P++}}}function w(U,v){let G=B(U.huffmanTableDC),V=G===0?0:C(G)<<g;U.pred+=V,v[0]=U.pred}function d(U,v){v[0]|=u()<<g}let E=0;function m(U,v){if(E>0){E--;return}let G=n,V=l;for(;G<=V;){let P=B(U.huffmanTableAC),$=P&15,j=P>>4;if($===0){if(j<15){E=Q(j)+(1<<j)-1;break}G+=16}else{G+=j;let ie=yA[G];v[ie]=C($)*(1<<g),G++}}}let y=0,b;function x(U,v){let G=n,V=l,P=0;for(;G<=V;){let $=yA[G],j=v[$]<0?-1:1;switch(y){case 0:{let ie=B(U.huffmanTableAC),ce=ie&15;if(P=ie>>4,ce===0)P<15?(E=Q(P)+(1<<P),y=4):(P=16,y=1);else{if(ce!==1)throw new Error("invalid ACn encoding");b=C(ce),y=P?2:3}continue}case 1:case 2:v[$]?v[$]+=(u()<<g)*j:(P--,P===0&&(y=y===2?3:0));break;case 3:v[$]?v[$]+=(u()<<g)*j:(v[$]=b<<g,y=0);break;case 4:v[$]&&(v[$]+=(u()<<g)*j);break;default:break}G++}y===4&&(E--,E===0&&(y=0))}function D(U,v,G,V,P){let $=G/o|0,j=G%o,ie=$*U.v+V,ce=j*U.h+P;v(U,U.blocks[ie][ce])}function k(U,v,G){let V=G/U.blocksPerLine|0,P=G%U.blocksPerLine;v(U,U.blocks[V][P])}let O=i.length,S,_,N,L,F,T;a?n===0?T=s===0?w:d:T=s===0?m:x:T=p;let R=0,Y,J;O===1?J=i[0].blocksPerLine*i[0].blocksPerColumn:J=o*A.mcusPerColumn;let z=r||J;for(;R<J;){for(_=0;_<O;_++)i[_].pred=0;if(E=0,O===1)for(S=i[0],F=0;F<z;F++)k(S,T,R),R++;else for(F=0;F<z;F++){for(_=0;_<O;_++){S=i[_];let{h:U,v}=S;for(N=0;N<v;N++)for(L=0;L<U;L++)D(S,T,R,N,L)}if(R++,R===J)break}if(h=0,Y=e[c]<<8|e[c+1],Y<65280)throw new Error("marker was not found");if(Y>=65488&&Y<=65495)c+=2;else break}return c-I}function Ha(e,t){let A=[],{blocksPerLine:i,blocksPerColumn:r}=t,n=i<<3,l=new Int32Array(64),s=new Uint8Array(64);function g(o,a,I){let c=t.quantizationTable,f,h,u,B,Q,C,p,w,d,E=I,m;for(m=0;m<64;m++)E[m]=o[m]*c[m];for(m=0;m<8;++m){let y=8*m;if(E[1+y]===0&&E[2+y]===0&&E[3+y]===0&&E[4+y]===0&&E[5+y]===0&&E[6+y]===0&&E[7+y]===0){d=sA*E[0+y]+512>>10,E[0+y]=d,E[1+y]=d,E[2+y]=d,E[3+y]=d,E[4+y]=d,E[5+y]=d,E[6+y]=d,E[7+y]=d;continue}f=sA*E[0+y]+128>>8,h=sA*E[4+y]+128>>8,u=E[2+y],B=E[6+y],Q=Bt*(E[1+y]-E[7+y])+128>>8,w=Bt*(E[1+y]+E[7+y])+128>>8,C=E[3+y]<<4,p=E[5+y]<<4,d=f-h+1>>1,f=f+h+1>>1,h=d,d=u*ut+B*ht+128>>8,u=u*ht-B*ut+128>>8,B=d,d=Q-p+1>>1,Q=Q+p+1>>1,p=d,d=w+C+1>>1,C=w-C+1>>1,w=d,d=f-B+1>>1,f=f+B+1>>1,B=d,d=h-u+1>>1,h=h+u+1>>1,u=d,d=Q*It+w*ct+2048>>12,Q=Q*ct-w*It+2048>>12,w=d,d=C*ft+p*lt+2048>>12,C=C*lt-p*ft+2048>>12,p=d,E[0+y]=f+w,E[7+y]=f-w,E[1+y]=h+p,E[6+y]=h-p,E[2+y]=u+C,E[5+y]=u-C,E[3+y]=B+Q,E[4+y]=B-Q}for(m=0;m<8;++m){let y=m;if(E[1*8+y]===0&&E[2*8+y]===0&&E[3*8+y]===0&&E[4*8+y]===0&&E[5*8+y]===0&&E[6*8+y]===0&&E[7*8+y]===0){d=sA*I[m+0]+8192>>14,E[0*8+y]=d,E[1*8+y]=d,E[2*8+y]=d,E[3*8+y]=d,E[4*8+y]=d,E[5*8+y]=d,E[6*8+y]=d,E[7*8+y]=d;continue}f=sA*E[0*8+y]+2048>>12,h=sA*E[4*8+y]+2048>>12,u=E[2*8+y],B=E[6*8+y],Q=Bt*(E[1*8+y]-E[7*8+y])+2048>>12,w=Bt*(E[1*8+y]+E[7*8+y])+2048>>12,C=E[3*8+y],p=E[5*8+y],d=f-h+1>>1,f=f+h+1>>1,h=d,d=u*ut+B*ht+2048>>12,u=u*ht-B*ut+2048>>12,B=d,d=Q-p+1>>1,Q=Q+p+1>>1,p=d,d=w+C+1>>1,C=w-C+1>>1,w=d,d=f-B+1>>1,f=f+B+1>>1,B=d,d=h-u+1>>1,h=h+u+1>>1,u=d,d=Q*It+w*ct+2048>>12,Q=Q*ct-w*It+2048>>12,w=d,d=C*ft+p*lt+2048>>12,C=C*lt-p*ft+2048>>12,p=d,E[0*8+y]=f+w,E[7*8+y]=f-w,E[1*8+y]=h+p,E[6*8+y]=h-p,E[2*8+y]=u+C,E[5*8+y]=u-C,E[3*8+y]=B+Q,E[4*8+y]=B-Q}for(m=0;m<64;++m){let y=128+(E[m]+8>>4);y<0?a[m]=0:y>255?a[m]=255:a[m]=y}}for(let o=0;o<r;o++){let a=o<<3;for(let I=0;I<8;I++)A.push(new Uint8Array(n));for(let I=0;I<i;I++){g(t.blocks[o][I],s,l);let c=0,f=I<<3;for(let h=0;h<8;h++){let u=A[a+h];for(let B=0;B<8;B++)u[f+B]=s[c++]}}}return A}var yA,lt,ft,ct,It,ht,ut,sA,Bt,li,Et,un=he(()=>{Ge();yA=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]),lt=4017,ft=799,ct=3406,It=2276,ht=1567,ut=3784,sA=5793,Bt=2896;li=class{constructor(){this.jfif=null,this.adobe=null,this.quantizationTables=[],this.huffmanTablesAC=[],this.huffmanTablesDC=[],this.resetFrames()}resetFrames(){this.frames=[]}parse(t){let A=0;function i(){let s=t[A]<<8|t[A+1];return A+=2,s}function r(){let s=i(),g=t.subarray(A,A+s-2);return A+=g.length,g}function n(s){let g=0,o=0,a,I;for(I in s.components)s.components.hasOwnProperty(I)&&(a=s.components[I],g<a.h&&(g=a.h),o<a.v&&(o=a.v));let c=Math.ceil(s.samplesPerLine/8/g),f=Math.ceil(s.scanLines/8/o);for(I in s.components)if(s.components.hasOwnProperty(I)){a=s.components[I];let h=Math.ceil(Math.ceil(s.samplesPerLine/8)*a.h/g),u=Math.ceil(Math.ceil(s.scanLines/8)*a.v/o),B=c*a.h,Q=f*a.v,C=[];for(let p=0;p<Q;p++){let w=[];for(let d=0;d<B;d++)w.push(new Int32Array(64));C.push(w)}a.blocksPerLine=h,a.blocksPerColumn=u,a.blocks=C}s.maxH=g,s.maxV=o,s.mcusPerLine=c,s.mcusPerColumn=f}let l=i();if(l!==65496)throw new Error("SOI not found");for(l=i();l!==65497;){switch(l){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 s=r();l===65504&&s[0]===74&&s[1]===70&&s[2]===73&&s[3]===70&&s[4]===0&&(this.jfif={version:{major:s[5],minor:s[6]},densityUnits:s[7],xDensity:s[8]<<8|s[9],yDensity:s[10]<<8|s[11],thumbWidth:s[12],thumbHeight:s[13],thumbData:s.subarray(14,14+3*s[12]*s[13])}),l===65518&&s[0]===65&&s[1]===100&&s[2]===111&&s[3]===98&&s[4]===101&&s[5]===0&&(this.adobe={version:s[6],flags0:s[7]<<8|s[8],flags1:s[9]<<8|s[10],transformCode:s[11]});break}case 65499:{let g=i()+A-2;for(;A<g;){let o=t[A++],a=new Int32Array(64);if(o>>4)if(o>>4===1)for(let I=0;I<64;I++){let c=yA[I];a[c]=i()}else throw new Error("DQT: invalid table spec");else for(let I=0;I<64;I++){let c=yA[I];a[c]=t[A++]}this.quantizationTables[o&15]=a}break}case 65472:case 65473:case 65474:{i();let s={extended:l===65473,progressive:l===65474,precision:t[A++],scanLines:i(),samplesPerLine:i(),components:{},componentsOrder:[]},g=t[A++],o;for(let a=0;a<g;a++){o=t[A];let I=t[A+1]>>4,c=t[A+1]&15,f=t[A+2];s.componentsOrder.push(o),s.components[o]={h:I,v:c,quantizationIdx:f},A+=3}n(s),this.frames.push(s);break}case 65476:{let s=i();for(let g=2;g<s;){let o=t[A++],a=new Uint8Array(16),I=0;for(let f=0;f<16;f++,A++)a[f]=t[A],I+=a[f];let c=new Uint8Array(I);for(let f=0;f<I;f++,A++)c[f]=t[A];g+=17+I,o>>4?this.huffmanTablesAC[o&15]=In(a,c):this.huffmanTablesDC[o&15]=In(a,c)}break}case 65501:i(),this.resetInterval=i();break;case 65498:{i();let s=t[A++],g=[],o=this.frames[0];for(let h=0;h<s;h++){let u=o.components[t[A++]],B=t[A++];u.huffmanTableDC=this.huffmanTablesDC[B>>4],u.huffmanTableAC=this.huffmanTablesAC[B&15],g.push(u)}let a=t[A++],I=t[A++],c=t[A++],f=Ya(t,A,o,g,this.resetInterval,a,I,c>>4,c&15);A+=f;break}case 65535:t[A]!==255&&A--;break;default:if(t[A-3]===255&&t[A-2]>=192&&t[A-2]<=254){A-=3;break}throw new Error(`unknown JPEG marker ${l.toString(16)}`)}l=i()}}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 a=0;a<this.frames.length;a++){let I=this.frames[a].components;for(let c of Object.keys(I))I[c].quantizationTable=this.quantizationTables[I[c].quantizationIdx],delete I[c].quantizationIdx}let A=t[0],{components:i,componentsOrder:r}=A,n=[],l=A.samplesPerLine,s=A.scanLines;for(let a=0;a<r.length;a++){let I=i[r[a]];n.push({lines:Ha(A,I),scaleX:I.h/A.maxH,scaleY:I.v/A.maxV})}let g=new Uint8Array(l*s*n.length),o=0;for(let a=0;a<s;++a)for(let I=0;I<l;++I)for(let c=0;c<n.length;++c){let f=n[c];g[o]=f.lines[0|a*f.scaleY][0|I*f.scaleX],++o}return g}},Et=class extends Ae{constructor(t){super(),this.reader=new li,t.JPEGTables&&this.reader.parse(t.JPEGTables)}decodeBlock(t){return this.reader.resetFrames(),this.reader.parse(new Uint8Array(t)),this.reader.getResult().buffer}}});function IA(e){let t=e.length;for(;--t>=0;)e[t]=0}function ci(e,t,A,i,r){this.static_tree=e,this.extra_bits=t,this.extra_base=A,this.elems=i,this.max_length=r,this.has_stree=e&&e.length}function Ii(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function pe(e,t,A,i,r){this.good_length=e,this.max_lazy=t,this.nice_length=A,this.max_chain=i,this.func=r}function Kg(){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=Dt,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(Gg*2),this.dyn_dtree=new Uint16Array((2*Tg+1)*2),this.bl_tree=new Uint16Array((2*vg+1)*2),Ue(this.dyn_ltree),Ue(this.dyn_dtree),Ue(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(Ug+1),this.heap=new Uint16Array(2*bi+1),Ue(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*bi+1),Ue(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 Il(){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 OA(e){this.options=bt.assign({level:dl,method:pl,chunkSize:16384,windowBits:15,memLevel:8,strategy:Ql},e||{});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 wo,this.strm.avail_out=0;let A=bA.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(A!==_t)throw new Error(je[A]);if(t.header&&bA.deflateSetHeader(this.strm,t.header),t.dictionary){let i;if(typeof t.dictionary=="string"?i=GA.string2buf(t.dictionary):yo.call(t.dictionary)==="[object ArrayBuffer]"?i=new Uint8Array(t.dictionary):i=t.dictionary,A=bA.deflateSetDictionary(this.strm,i),A!==_t)throw new Error(je[A]);this._dict_set=!0}}function Mi(e,t){let A=new OA(t);if(A.push(e,!0),A.err)throw A.msg||je[A.err];return A.result}function wl(e,t){return t=t||{},t.raw=!0,Mi(e,t)}function yl(e,t){return t=t||{},t.gzip=!0,Mi(e,t)}function Vl(){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 lf(){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 qA(e){this.options=bt.assign({chunkSize:1024*64,windowBits:15,to:""},e||{});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&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new wo,this.strm.avail_out=0;let A=be.inflateInit2(this.strm,t.windowBits);if(A!==UA)throw new Error(je[A]);if(this.header=new ff,be.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=GA.string2buf(t.dictionary):vo.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(A=be.inflateSetDictionary(this.strm,t.dictionary),A!==UA)))throw new Error(je[A])}function Oi(e,t){let A=new qA(t);if(A.push(e),A.err)throw A.msg||je[A.err];return A.result}function Bf(e,t){return t=t||{},t.raw=!0,Oi(e,t)}var Ja,eo,Ka,Va,Pa,Ti,LA,kA,lA,vi,Ao,ze,fi,za,Gi,to,io,ro,_i,yt,Za,no,Xa,De,DA,FA,NA,Ui,mt,oo,so,ao,go,RA,se,we,lo,ja,$a,fo,Wa,co,Io,Bn,hi,En,xi,Cn,dn,eg,Ag,tg,Qn,ig,ho,rg,ng,og,sg,ag,gg,lg,fg,cg,Ig,TA,hg,ug,Bg,ee,je,hA,Eg,Di,Cg,Me,dg,Oe,Qg,pg,ue,pn,te,wn,ye,wg,ui,yg,mg,Ct,_g,xg,Dg,bg,Dt,Sg,kg,Fg,Ng,Rg,bi,Tg,vg,Gg,Ug,q,Le,me,Lg,fA,Li,Si,ki,Fi,Ni,Ze,_A,ne,uA,$e,BA,Mg,Xe,yn,Ue,Og,qg,qe,ge,le,H,mA,Ri,uo,cA,Bo,Bi,aA,Yg,Hg,xA,Jg,MA,Eo,Co,Vg,Qo,Pg,zg,Zg,Xg,jg,$g,Wg,el,Al,tl,il,rl,nl,bA,ol,sl,al,bt,po,vA,gl,ll,fl,cl,GA,wo,yo,hl,ul,Bl,El,_t,Cl,dl,Ql,pl,ml,_l,xl,Dl,bl,Sl,dt,kl,Fl,gA,mn,_n,xn,Ei,Dn,Nl,Rl,Tl,vl,Gl,SA,Ul,mo,_o,bn,Ll,Qt,We,Ml,Ol,Be,xo,Do,ql,Sn,St,kn,Fn,Nn,Rn,Tn,vn,Gn,Un,Ln,xt,xe,Ci,Mn,di,On,qn,Yn,Hn,pt,wt,Jn,Kn,Vn,Pn,zn,Qi,Zn,Xn,Z,bo,So,Yl,Hl,Jl,Kl,jn,eA,ko,Fo,No,Ro,Pl,$n,pi,wi,zl,To,Zl,Xl,jl,$l,Wl,ef,Af,tf,rf,nf,of,sf,af,gf,be,ff,vo,cf,If,UA,yi,mi,hf,Wn,uf,Ef,Cf,df,Qf,pf,wf,ch,Ih,hh,uh,Bh,yf,Eh,Ch,kt,qi=he(()=>{Ja=0,eo=1,Ka=2,Va=3,Pa=258,Ti=29,LA=256,kA=LA+1+Ti,lA=30,vi=19,Ao=2*kA+1,ze=15,fi=16,za=7,Gi=256,to=16,io=17,ro=18,_i=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]),yt=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]),Za=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),no=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Xa=512,De=new Array((kA+2)*2);IA(De);DA=new Array(lA*2);IA(DA);FA=new Array(Xa);IA(FA);NA=new Array(Pa-Va+1);IA(NA);Ui=new Array(Ti);IA(Ui);mt=new Array(lA);IA(mt);go=e=>e<256?FA[e]:FA[256+(e>>>7)],RA=(e,t)=>{e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255},se=(e,t,A)=>{e.bi_valid>fi-A?(e.bi_buf|=t<<e.bi_valid&65535,RA(e,e.bi_buf),e.bi_buf=t>>fi-e.bi_valid,e.bi_valid+=A-fi):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=A)},we=(e,t,A)=>{se(e,A[t*2],A[t*2+1])},lo=(e,t)=>{let A=0;do A|=e&1,e>>>=1,A<<=1;while(--t>0);return A>>>1},ja=e=>{e.bi_valid===16?(RA(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)},$a=(e,t)=>{let A=t.dyn_tree,i=t.max_code,r=t.stat_desc.static_tree,n=t.stat_desc.has_stree,l=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,g=t.stat_desc.max_length,o,a,I,c,f,h,u=0;for(c=0;c<=ze;c++)e.bl_count[c]=0;for(A[e.heap[e.heap_max]*2+1]=0,o=e.heap_max+1;o<Ao;o++)a=e.heap[o],c=A[A[a*2+1]*2+1]+1,c>g&&(c=g,u++),A[a*2+1]=c,!(a>i)&&(e.bl_count[c]++,f=0,a>=s&&(f=l[a-s]),h=A[a*2],e.opt_len+=h*(c+f),n&&(e.static_len+=h*(r[a*2+1]+f)));if(u!==0){do{for(c=g-1;e.bl_count[c]===0;)c--;e.bl_count[c]--,e.bl_count[c+1]+=2,e.bl_count[g]--,u-=2}while(u>0);for(c=g;c!==0;c--)for(a=e.bl_count[c];a!==0;)I=e.heap[--o],!(I>i)&&(A[I*2+1]!==c&&(e.opt_len+=(c-A[I*2+1])*A[I*2],A[I*2+1]=c),a--)}},fo=(e,t,A)=>{let i=new Array(ze+1),r=0,n,l;for(n=1;n<=ze;n++)r=r+A[n-1]<<1,i[n]=r;for(l=0;l<=t;l++){let s=e[l*2+1];s!==0&&(e[l*2]=lo(i[s]++,s))}},Wa=()=>{let e,t,A,i,r,n=new Array(ze+1);for(A=0,i=0;i<Ti-1;i++)for(Ui[i]=A,e=0;e<1<<_i[i];e++)NA[A++]=i;for(NA[A-1]=i,r=0,i=0;i<16;i++)for(mt[i]=r,e=0;e<1<<yt[i];e++)FA[r++]=i;for(r>>=7;i<lA;i++)for(mt[i]=r<<7,e=0;e<1<<yt[i]-7;e++)FA[256+r++]=i;for(t=0;t<=ze;t++)n[t]=0;for(e=0;e<=143;)De[e*2+1]=8,e++,n[8]++;for(;e<=255;)De[e*2+1]=9,e++,n[9]++;for(;e<=279;)De[e*2+1]=7,e++,n[7]++;for(;e<=287;)De[e*2+1]=8,e++,n[8]++;for(fo(De,kA+1,n),e=0;e<lA;e++)DA[e*2+1]=5,DA[e*2]=lo(e,5);oo=new ci(De,_i,LA+1,kA,ze),so=new ci(DA,yt,0,lA,ze),ao=new ci(new Array(0),Za,0,vi,za)},co=e=>{let t;for(t=0;t<kA;t++)e.dyn_ltree[t*2]=0;for(t=0;t<lA;t++)e.dyn_dtree[t*2]=0;for(t=0;t<vi;t++)e.bl_tree[t*2]=0;e.dyn_ltree[Gi*2]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},Io=e=>{e.bi_valid>8?RA(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},Bn=(e,t,A,i)=>{let r=t*2,n=A*2;return e[r]<e[n]||e[r]===e[n]&&i[t]<=i[A]},hi=(e,t,A)=>{let i=e.heap[A],r=A<<1;for(;r<=e.heap_len&&(r<e.heap_len&&Bn(t,e.heap[r+1],e.heap[r],e.depth)&&r++,!Bn(t,i,e.heap[r],e.depth));)e.heap[A]=e.heap[r],A=r,r<<=1;e.heap[A]=i},En=(e,t,A)=>{let i,r,n=0,l,s;if(e.sym_next!==0)do i=e.pending_buf[e.sym_buf+n++]&255,i+=(e.pending_buf[e.sym_buf+n++]&255)<<8,r=e.pending_buf[e.sym_buf+n++],i===0?we(e,r,t):(l=NA[r],we(e,l+LA+1,t),s=_i[l],s!==0&&(r-=Ui[l],se(e,r,s)),i--,l=go(i),we(e,l,A),s=yt[l],s!==0&&(i-=mt[l],se(e,i,s)));while(n<e.sym_next);we(e,Gi,t)},xi=(e,t)=>{let A=t.dyn_tree,i=t.stat_desc.static_tree,r=t.stat_desc.has_stree,n=t.stat_desc.elems,l,s,g=-1,o;for(e.heap_len=0,e.heap_max=Ao,l=0;l<n;l++)A[l*2]!==0?(e.heap[++e.heap_len]=g=l,e.depth[l]=0):A[l*2+1]=0;for(;e.heap_len<2;)o=e.heap[++e.heap_len]=g<2?++g:0,A[o*2]=1,e.depth[o]=0,e.opt_len--,r&&(e.static_len-=i[o*2+1]);for(t.max_code=g,l=e.heap_len>>1;l>=1;l--)hi(e,A,l);o=n;do l=e.heap[1],e.heap[1]=e.heap[e.heap_len--],hi(e,A,1),s=e.heap[1],e.heap[--e.heap_max]=l,e.heap[--e.heap_max]=s,A[o*2]=A[l*2]+A[s*2],e.depth[o]=(e.depth[l]>=e.depth[s]?e.depth[l]:e.depth[s])+1,A[l*2+1]=A[s*2+1]=o,e.heap[1]=o++,hi(e,A,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],$a(e,t),fo(A,g,e.bl_count)},Cn=(e,t,A)=>{let i,r=-1,n,l=t[0*2+1],s=0,g=7,o=4;for(l===0&&(g=138,o=3),t[(A+1)*2+1]=65535,i=0;i<=A;i++)n=l,l=t[(i+1)*2+1],!(++s<g&&n===l)&&(s<o?e.bl_tree[n*2]+=s:n!==0?(n!==r&&e.bl_tree[n*2]++,e.bl_tree[to*2]++):s<=10?e.bl_tree[io*2]++:e.bl_tree[ro*2]++,s=0,r=n,l===0?(g=138,o=3):n===l?(g=6,o=3):(g=7,o=4))},dn=(e,t,A)=>{let i,r=-1,n,l=t[0*2+1],s=0,g=7,o=4;for(l===0&&(g=138,o=3),i=0;i<=A;i++)if(n=l,l=t[(i+1)*2+1],!(++s<g&&n===l)){if(s<o)do we(e,n,e.bl_tree);while(--s!==0);else n!==0?(n!==r&&(we(e,n,e.bl_tree),s--),we(e,to,e.bl_tree),se(e,s-3,2)):s<=10?(we(e,io,e.bl_tree),se(e,s-3,3)):(we(e,ro,e.bl_tree),se(e,s-11,7));s=0,r=n,l===0?(g=138,o=3):n===l?(g=6,o=3):(g=7,o=4)}},eg=e=>{let t;for(Cn(e,e.dyn_ltree,e.l_desc.max_code),Cn(e,e.dyn_dtree,e.d_desc.max_code),xi(e,e.bl_desc),t=vi-1;t>=3&&e.bl_tree[no[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t},Ag=(e,t,A,i)=>{let r;for(se(e,t-257,5),se(e,A-1,5),se(e,i-4,4),r=0;r<i;r++)se(e,e.bl_tree[no[r]*2+1],3);dn(e,e.dyn_ltree,t-1),dn(e,e.dyn_dtree,A-1)},tg=e=>{let t=4093624447,A;for(A=0;A<=31;A++,t>>>=1)if(t&1&&e.dyn_ltree[A*2]!==0)return 0;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return 1;for(A=32;A<LA;A++)if(e.dyn_ltree[A*2]!==0)return 1;return 0},Qn=!1,ig=e=>{Qn||(Wa(),Qn=!0),e.l_desc=new Ii(e.dyn_ltree,oo),e.d_desc=new Ii(e.dyn_dtree,so),e.bl_desc=new Ii(e.bl_tree,ao),e.bi_buf=0,e.bi_valid=0,co(e)},ho=(e,t,A,i)=>{se(e,(Ja<<1)+(i?1:0),3),Io(e),RA(e,A),RA(e,~A),A&&e.pending_buf.set(e.window.subarray(t,t+A),e.pending),e.pending+=A},rg=e=>{se(e,eo<<1,3),we(e,Gi,De),ja(e)},ng=(e,t,A,i)=>{let r,n,l=0;e.level>0?(e.strm.data_type===2&&(e.strm.data_type=tg(e)),xi(e,e.l_desc),xi(e,e.d_desc),l=eg(e),r=e.opt_len+3+7>>>3,n=e.static_len+3+7>>>3,n<=r&&(r=n)):r=n=A+5,A+4<=r&&t!==-1?ho(e,t,A,i):e.strategy===4||n===r?(se(e,(eo<<1)+(i?1:0),3),En(e,De,DA)):(se(e,(Ka<<1)+(i?1:0),3),Ag(e,e.l_desc.max_code+1,e.d_desc.max_code+1,l+1),En(e,e.dyn_ltree,e.dyn_dtree)),co(e),i&&Io(e)},og=(e,t,A)=>(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=A,t===0?e.dyn_ltree[A*2]++:(e.matches++,t--,e.dyn_ltree[(NA[A]+LA+1)*2]++,e.dyn_dtree[go(t)*2]++),e.sym_next===e.sym_end),sg=ig,ag=ho,gg=ng,lg=og,fg=rg,cg={_tr_init:sg,_tr_stored_block:ag,_tr_flush_block:gg,_tr_tally:lg,_tr_align:fg},Ig=(e,t,A,i)=>{let r=e&65535|0,n=e>>>16&65535|0,l=0;for(;A!==0;){l=A>2e3?2e3:A,A-=l;do r=r+t[i++]|0,n=n+r|0;while(--l);r%=65521,n%=65521}return r|n<<16|0},TA=Ig,hg=()=>{let e,t=[];for(var A=0;A<256;A++){e=A;for(var i=0;i<8;i++)e=e&1?3988292384^e>>>1:e>>>1;t[A]=e}return t},ug=new Uint32Array(hg()),Bg=(e,t,A,i)=>{let r=ug,n=i+A;e^=-1;for(let l=i;l<n;l++)e=e>>>8^r[(e^t[l])&255];return e^-1},ee=Bg,je={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"},hA={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:Eg,_tr_stored_block:Di,_tr_flush_block:Cg,_tr_tally:Me,_tr_align:dg}=cg,{Z_NO_FLUSH:Oe,Z_PARTIAL_FLUSH:Qg,Z_FULL_FLUSH:pg,Z_FINISH:ue,Z_BLOCK:pn,Z_OK:te,Z_STREAM_END:wn,Z_STREAM_ERROR:ye,Z_DATA_ERROR:wg,Z_BUF_ERROR:ui,Z_DEFAULT_COMPRESSION:yg,Z_FILTERED:mg,Z_HUFFMAN_ONLY:Ct,Z_RLE:_g,Z_FIXED:xg,Z_DEFAULT_STRATEGY:Dg,Z_UNKNOWN:bg,Z_DEFLATED:Dt}=hA,Sg=9,kg=15,Fg=8,Ng=29,Rg=256,bi=Rg+1+Ng,Tg=30,vg=19,Gg=2*bi+1,Ug=15,q=3,Le=258,me=Le+q+1,Lg=32,fA=42,Li=57,Si=69,ki=73,Fi=91,Ni=103,Ze=113,_A=666,ne=1,uA=2,$e=3,BA=4,Mg=3,Xe=(e,t)=>(e.msg=je[t],t),yn=e=>e*2-(e>4?9:0),Ue=e=>{let t=e.length;for(;--t>=0;)e[t]=0},Og=e=>{let t,A,i,r=e.w_size;t=e.hash_size,i=t;do A=e.head[--i],e.head[i]=A>=r?A-r:0;while(--t);t=r,i=t;do A=e.prev[--i],e.prev[i]=A>=r?A-r:0;while(--t)},qg=(e,t,A)=>(t<<e.hash_shift^A)&e.hash_mask,qe=qg,ge=e=>{let t=e.state,A=t.pending;A>e.avail_out&&(A=e.avail_out),A!==0&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+A),e.next_out),e.next_out+=A,t.pending_out+=A,e.total_out+=A,e.avail_out-=A,t.pending-=A,t.pending===0&&(t.pending_out=0))},le=(e,t)=>{Cg(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ge(e.strm)},H=(e,t)=>{e.pending_buf[e.pending++]=t},mA=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255},Ri=(e,t,A,i)=>{let r=e.avail_in;return r>i&&(r=i),r===0?0:(e.avail_in-=r,t.set(e.input.subarray(e.next_in,e.next_in+r),A),e.state.wrap===1?e.adler=TA(e.adler,t,r,A):e.state.wrap===2&&(e.adler=ee(e.adler,t,r,A)),e.next_in+=r,e.total_in+=r,r)},uo=(e,t)=>{let A=e.max_chain_length,i=e.strstart,r,n,l=e.prev_length,s=e.nice_match,g=e.strstart>e.w_size-me?e.strstart-(e.w_size-me):0,o=e.window,a=e.w_mask,I=e.prev,c=e.strstart+Le,f=o[i+l-1],h=o[i+l];e.prev_length>=e.good_match&&(A>>=2),s>e.lookahead&&(s=e.lookahead);do if(r=t,!(o[r+l]!==h||o[r+l-1]!==f||o[r]!==o[i]||o[++r]!==o[i+1])){i+=2,r++;do;while(o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&o[++i]===o[++r]&&i<c);if(n=Le-(c-i),i=c-Le,n>l){if(e.match_start=t,l=n,n>=s)break;f=o[i+l-1],h=o[i+l]}}while((t=I[t&a])>g&&--A!==0);return l<=e.lookahead?l:e.lookahead},cA=e=>{let t=e.w_size,A,i,r;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-me)&&(e.window.set(e.window.subarray(t,t+t-i),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),Og(e),i+=t),e.strm.avail_in===0)break;if(A=Ri(e.strm,e.window,e.strstart+e.lookahead,i),e.lookahead+=A,e.lookahead+e.insert>=q)for(r=e.strstart-e.insert,e.ins_h=e.window[r],e.ins_h=qe(e,e.ins_h,e.window[r+1]);e.insert&&(e.ins_h=qe(e,e.ins_h,e.window[r+q-1]),e.prev[r&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=r,r++,e.insert--,!(e.lookahead+e.insert<q)););}while(e.lookahead<me&&e.strm.avail_in!==0)},Bo=(e,t)=>{let A=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,i,r,n,l=0,s=e.strm.avail_in;do{if(i=65535,n=e.bi_valid+42>>3,e.strm.avail_out<n||(n=e.strm.avail_out-n,r=e.strstart-e.block_start,i>r+e.strm.avail_in&&(i=r+e.strm.avail_in),i>n&&(i=n),i<A&&(i===0&&t!==ue||t===Oe||i!==r+e.strm.avail_in)))break;l=t===ue&&i===r+e.strm.avail_in?1:0,Di(e,0,0,l),e.pending_buf[e.pending-4]=i,e.pending_buf[e.pending-3]=i>>8,e.pending_buf[e.pending-2]=~i,e.pending_buf[e.pending-1]=~i>>8,ge(e.strm),r&&(r>i&&(r=i),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+r),e.strm.next_out),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r,e.block_start+=r,i-=r),i&&(Ri(e.strm,e.strm.output,e.strm.next_out,i),e.strm.next_out+=i,e.strm.avail_out-=i,e.strm.total_out+=i)}while(l===0);return s-=e.strm.avail_in,s&&(s>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=s&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-s,e.strm.next_in),e.strstart),e.strstart+=s,e.insert+=s>e.w_size-e.insert?e.w_size-e.insert:s),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),l?BA:t!==Oe&&t!==ue&&e.strm.avail_in===0&&e.strstart===e.block_start?uA:(n=e.window_size-e.strstart,e.strm.avail_in>n&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,n+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),n>e.strm.avail_in&&(n=e.strm.avail_in),n&&(Ri(e.strm,e.window,e.strstart,n),e.strstart+=n,e.insert+=n>e.w_size-e.insert?e.w_size-e.insert:n),e.high_water<e.strstart&&(e.high_water=e.strstart),n=e.bi_valid+42>>3,n=e.pending_buf_size-n>65535?65535:e.pending_buf_size-n,A=n>e.w_size?e.w_size:n,r=e.strstart-e.block_start,(r>=A||(r||t===ue)&&t!==Oe&&e.strm.avail_in===0&&r<=n)&&(i=r>n?n:r,l=t===ue&&e.strm.avail_in===0&&i===r?1:0,Di(e,e.block_start,i,l),e.block_start+=i,ge(e.strm)),l?$e:ne)},Bi=(e,t)=>{let A,i;for(;;){if(e.lookahead<me){if(cA(e),e.lookahead<me&&t===Oe)return ne;if(e.lookahead===0)break}if(A=0,e.lookahead>=q&&(e.ins_h=qe(e,e.ins_h,e.window[e.strstart+q-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),A!==0&&e.strstart-A<=e.w_size-me&&(e.match_length=uo(e,A)),e.match_length>=q)if(i=Me(e,e.strstart-e.match_start,e.match_length-q),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=q){e.match_length--;do e.strstart++,e.ins_h=qe(e,e.ins_h,e.window[e.strstart+q-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=qe(e,e.ins_h,e.window[e.strstart+1]);else i=Me(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(le(e,!1),e.strm.avail_out===0))return ne}return e.insert=e.strstart<q-1?e.strstart:q-1,t===ue?(le(e,!0),e.strm.avail_out===0?$e:BA):e.sym_next&&(le(e,!1),e.strm.avail_out===0)?ne:uA},aA=(e,t)=>{let A,i,r;for(;;){if(e.lookahead<me){if(cA(e),e.lookahead<me&&t===Oe)return ne;if(e.lookahead===0)break}if(A=0,e.lookahead>=q&&(e.ins_h=qe(e,e.ins_h,e.window[e.strstart+q-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=q-1,A!==0&&e.prev_length<e.max_lazy_match&&e.strstart-A<=e.w_size-me&&(e.match_length=uo(e,A),e.match_length<=5&&(e.strategy===mg||e.match_length===q&&e.strstart-e.match_start>4096)&&(e.match_length=q-1)),e.prev_length>=q&&e.match_length<=e.prev_length){r=e.strstart+e.lookahead-q,i=Me(e,e.strstart-1-e.prev_match,e.prev_length-q),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=r&&(e.ins_h=qe(e,e.ins_h,e.window[e.strstart+q-1]),A=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=q-1,e.strstart++,i&&(le(e,!1),e.strm.avail_out===0))return ne}else if(e.match_available){if(i=Me(e,0,e.window[e.strstart-1]),i&&le(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return ne}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=Me(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<q-1?e.strstart:q-1,t===ue?(le(e,!0),e.strm.avail_out===0?$e:BA):e.sym_next&&(le(e,!1),e.strm.avail_out===0)?ne:uA},Yg=(e,t)=>{let A,i,r,n,l=e.window;for(;;){if(e.lookahead<=Le){if(cA(e),e.lookahead<=Le&&t===Oe)return ne;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=q&&e.strstart>0&&(r=e.strstart-1,i=l[r],i===l[++r]&&i===l[++r]&&i===l[++r])){n=e.strstart+Le;do;while(i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&i===l[++r]&&r<n);e.match_length=Le-(n-r),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=q?(A=Me(e,1,e.match_length-q),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(A=Me(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),A&&(le(e,!1),e.strm.avail_out===0))return ne}return e.insert=0,t===ue?(le(e,!0),e.strm.avail_out===0?$e:BA):e.sym_next&&(le(e,!1),e.strm.avail_out===0)?ne:uA},Hg=(e,t)=>{let A;for(;;){if(e.lookahead===0&&(cA(e),e.lookahead===0)){if(t===Oe)return ne;break}if(e.match_length=0,A=Me(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,A&&(le(e,!1),e.strm.avail_out===0))return ne}return e.insert=0,t===ue?(le(e,!0),e.strm.avail_out===0?$e:BA):e.sym_next&&(le(e,!1),e.strm.avail_out===0)?ne:uA};xA=[new pe(0,0,0,0,Bo),new pe(4,4,8,4,Bi),new pe(4,5,16,8,Bi),new pe(4,6,32,32,Bi),new pe(4,4,16,16,aA),new pe(8,16,32,32,aA),new pe(8,16,128,128,aA),new pe(8,32,128,256,aA),new pe(32,128,258,1024,aA),new pe(32,258,258,4096,aA)],Jg=e=>{e.window_size=2*e.w_size,Ue(e.head),e.max_lazy_match=xA[e.level].max_lazy,e.good_match=xA[e.level].good_length,e.nice_match=xA[e.level].nice_length,e.max_chain_length=xA[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=q-1,e.match_available=0,e.ins_h=0};MA=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.status!==fA&&t.status!==Li&&t.status!==Si&&t.status!==ki&&t.status!==Fi&&t.status!==Ni&&t.status!==Ze&&t.status!==_A?1:0},Eo=e=>{if(MA(e))return Xe(e,ye);e.total_in=e.total_out=0,e.data_type=bg;let t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?Li:t.wrap?fA:Ze,e.adler=t.wrap===2?0:1,t.last_flush=-2,Eg(t),te},Co=e=>{let t=Eo(e);return t===te&&Jg(e.state),t},Vg=(e,t)=>MA(e)||e.state.wrap!==2?ye:(e.state.gzhead=t,te),Qo=(e,t,A,i,r,n)=>{if(!e)return ye;let l=1;if(t===yg&&(t=6),i<0?(l=0,i=-i):i>15&&(l=2,i-=16),r<1||r>Sg||A!==Dt||i<8||i>15||t<0||t>9||n<0||n>xg||i===8&&l!==1)return Xe(e,ye);i===8&&(i=9);let s=new Kg;return e.state=s,s.strm=e,s.status=fA,s.wrap=l,s.gzhead=null,s.w_bits=i,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=r+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+q-1)/q),s.window=new Uint8Array(s.w_size*2),s.head=new Uint16Array(s.hash_size),s.prev=new Uint16Array(s.w_size),s.lit_bufsize=1<<r+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new Uint8Array(s.pending_buf_size),s.sym_buf=s.lit_bufsize,s.sym_end=(s.lit_bufsize-1)*3,s.level=t,s.strategy=n,s.method=A,Co(e)},Pg=(e,t)=>Qo(e,t,Dt,kg,Fg,Dg),zg=(e,t)=>{if(MA(e)||t>pn||t<0)return e?Xe(e,ye):ye;let A=e.state;if(!e.output||e.avail_in!==0&&!e.input||A.status===_A&&t!==ue)return Xe(e,e.avail_out===0?ui:ye);let i=A.last_flush;if(A.last_flush=t,A.pending!==0){if(ge(e),e.avail_out===0)return A.last_flush=-1,te}else if(e.avail_in===0&&yn(t)<=yn(i)&&t!==ue)return Xe(e,ui);if(A.status===_A&&e.avail_in!==0)return Xe(e,ui);if(A.status===fA&&A.wrap===0&&(A.status=Ze),A.status===fA){let r=Dt+(A.w_bits-8<<4)<<8,n=-1;if(A.strategy>=Ct||A.level<2?n=0:A.level<6?n=1:A.level===6?n=2:n=3,r|=n<<6,A.strstart!==0&&(r|=Lg),r+=31-r%31,mA(A,r),A.strstart!==0&&(mA(A,e.adler>>>16),mA(A,e.adler&65535)),e.adler=1,A.status=Ze,ge(e),A.pending!==0)return A.last_flush=-1,te}if(A.status===Li){if(e.adler=0,H(A,31),H(A,139),H(A,8),A.gzhead)H(A,(A.gzhead.text?1:0)+(A.gzhead.hcrc?2:0)+(A.gzhead.extra?4:0)+(A.gzhead.name?8:0)+(A.gzhead.comment?16:0)),H(A,A.gzhead.time&255),H(A,A.gzhead.time>>8&255),H(A,A.gzhead.time>>16&255),H(A,A.gzhead.time>>24&255),H(A,A.level===9?2:A.strategy>=Ct||A.level<2?4:0),H(A,A.gzhead.os&255),A.gzhead.extra&&A.gzhead.extra.length&&(H(A,A.gzhead.extra.length&255),H(A,A.gzhead.extra.length>>8&255)),A.gzhead.hcrc&&(e.adler=ee(e.adler,A.pending_buf,A.pending,0)),A.gzindex=0,A.status=Si;else if(H(A,0),H(A,0),H(A,0),H(A,0),H(A,0),H(A,A.level===9?2:A.strategy>=Ct||A.level<2?4:0),H(A,Mg),A.status=Ze,ge(e),A.pending!==0)return A.last_flush=-1,te}if(A.status===Si){if(A.gzhead.extra){let r=A.pending,n=(A.gzhead.extra.length&65535)-A.gzindex;for(;A.pending+n>A.pending_buf_size;){let s=A.pending_buf_size-A.pending;if(A.pending_buf.set(A.gzhead.extra.subarray(A.gzindex,A.gzindex+s),A.pending),A.pending=A.pending_buf_size,A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r)),A.gzindex+=s,ge(e),A.pending!==0)return A.last_flush=-1,te;r=0,n-=s}let l=new Uint8Array(A.gzhead.extra);A.pending_buf.set(l.subarray(A.gzindex,A.gzindex+n),A.pending),A.pending+=n,A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r)),A.gzindex=0}A.status=ki}if(A.status===ki){if(A.gzhead.name){let r=A.pending,n;do{if(A.pending===A.pending_buf_size){if(A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r)),ge(e),A.pending!==0)return A.last_flush=-1,te;r=0}A.gzindex<A.gzhead.name.length?n=A.gzhead.name.charCodeAt(A.gzindex++)&255:n=0,H(A,n)}while(n!==0);A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r)),A.gzindex=0}A.status=Fi}if(A.status===Fi){if(A.gzhead.comment){let r=A.pending,n;do{if(A.pending===A.pending_buf_size){if(A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r)),ge(e),A.pending!==0)return A.last_flush=-1,te;r=0}A.gzindex<A.gzhead.comment.length?n=A.gzhead.comment.charCodeAt(A.gzindex++)&255:n=0,H(A,n)}while(n!==0);A.gzhead.hcrc&&A.pending>r&&(e.adler=ee(e.adler,A.pending_buf,A.pending-r,r))}A.status=Ni}if(A.status===Ni){if(A.gzhead.hcrc){if(A.pending+2>A.pending_buf_size&&(ge(e),A.pending!==0))return A.last_flush=-1,te;H(A,e.adler&255),H(A,e.adler>>8&255),e.adler=0}if(A.status=Ze,ge(e),A.pending!==0)return A.last_flush=-1,te}if(e.avail_in!==0||A.lookahead!==0||t!==Oe&&A.status!==_A){let r=A.level===0?Bo(A,t):A.strategy===Ct?Hg(A,t):A.strategy===_g?Yg(A,t):xA[A.level].func(A,t);if((r===$e||r===BA)&&(A.status=_A),r===ne||r===$e)return e.avail_out===0&&(A.last_flush=-1),te;if(r===uA&&(t===Qg?dg(A):t!==pn&&(Di(A,0,0,!1),t===pg&&(Ue(A.head),A.lookahead===0&&(A.strstart=0,A.block_start=0,A.insert=0))),ge(e),e.avail_out===0))return A.last_flush=-1,te}return t!==ue?te:A.wrap<=0?wn:(A.wrap===2?(H(A,e.adler&255),H(A,e.adler>>8&255),H(A,e.adler>>16&255),H(A,e.adler>>24&255),H(A,e.total_in&255),H(A,e.total_in>>8&255),H(A,e.total_in>>16&255),H(A,e.total_in>>24&255)):(mA(A,e.adler>>>16),mA(A,e.adler&65535)),ge(e),A.wrap>0&&(A.wrap=-A.wrap),A.pending!==0?te:wn)},Zg=e=>{if(MA(e))return ye;let t=e.state.status;return e.state=null,t===Ze?Xe(e,wg):te},Xg=(e,t)=>{let A=t.length;if(MA(e))return ye;let i=e.state,r=i.wrap;if(r===2||r===1&&i.status!==fA||i.lookahead)return ye;if(r===1&&(e.adler=TA(e.adler,t,A,0)),i.wrap=0,A>=i.w_size){r===0&&(Ue(i.head),i.strstart=0,i.block_start=0,i.insert=0);let g=new Uint8Array(i.w_size);g.set(t.subarray(A-i.w_size,A),0),t=g,A=i.w_size}let n=e.avail_in,l=e.next_in,s=e.input;for(e.avail_in=A,e.next_in=0,e.input=t,cA(i);i.lookahead>=q;){let g=i.strstart,o=i.lookahead-(q-1);do i.ins_h=qe(i,i.ins_h,i.window[g+q-1]),i.prev[g&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=g,g++;while(--o);i.strstart=g,i.lookahead=q-1,cA(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=q-1,i.match_available=0,e.next_in=l,e.input=s,e.avail_in=n,i.wrap=r,te},jg=Pg,$g=Qo,Wg=Co,el=Eo,Al=Vg,tl=zg,il=Zg,rl=Xg,nl="pako deflate (from Nodeca project)",bA={deflateInit:jg,deflateInit2:$g,deflateReset:Wg,deflateResetKeep:el,deflateSetHeader:Al,deflate:tl,deflateEnd:il,deflateSetDictionary:rl,deflateInfo:nl},ol=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),sl=function(e){let t=Array.prototype.slice.call(arguments,1);for(;t.length;){let A=t.shift();if(A){if(typeof A!="object")throw new TypeError(A+"must be non-object");for(let i in A)ol(A,i)&&(e[i]=A[i])}}return e},al=e=>{let t=0;for(let i=0,r=e.length;i<r;i++)t+=e[i].length;let A=new Uint8Array(t);for(let i=0,r=0,n=e.length;i<n;i++){let l=e[i];A.set(l,r),r+=l.length}return A},bt={assign:sl,flattenChunks:al},po=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{po=!1}vA=new Uint8Array(256);for(let e=0;e<256;e++)vA[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;vA[254]=vA[254]=1;gl=e=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(e);let t,A,i,r,n,l=e.length,s=0;for(r=0;r<l;r++)A=e.charCodeAt(r),(A&64512)===55296&&r+1<l&&(i=e.charCodeAt(r+1),(i&64512)===56320&&(A=65536+(A-55296<<10)+(i-56320),r++)),s+=A<128?1:A<2048?2:A<65536?3:4;for(t=new Uint8Array(s),n=0,r=0;n<s;r++)A=e.charCodeAt(r),(A&64512)===55296&&r+1<l&&(i=e.charCodeAt(r+1),(i&64512)===56320&&(A=65536+(A-55296<<10)+(i-56320),r++)),A<128?t[n++]=A:A<2048?(t[n++]=192|A>>>6,t[n++]=128|A&63):A<65536?(t[n++]=224|A>>>12,t[n++]=128|A>>>6&63,t[n++]=128|A&63):(t[n++]=240|A>>>18,t[n++]=128|A>>>12&63,t[n++]=128|A>>>6&63,t[n++]=128|A&63);return t},ll=(e,t)=>{if(t<65534&&e.subarray&&po)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let A="";for(let i=0;i<t;i++)A+=String.fromCharCode(e[i]);return A},fl=(e,t)=>{let A=t||e.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(e.subarray(0,t));let i,r,n=new Array(A*2);for(r=0,i=0;i<A;){let l=e[i++];if(l<128){n[r++]=l;continue}let s=vA[l];if(s>4){n[r++]=65533,i+=s-1;continue}for(l&=s===2?31:s===3?15:7;s>1&&i<A;)l=l<<6|e[i++]&63,s--;if(s>1){n[r++]=65533;continue}l<65536?n[r++]=l:(l-=65536,n[r++]=55296|l>>10&1023,n[r++]=56320|l&1023)}return ll(n,r)},cl=(e,t)=>{t=t||e.length,t>e.length&&(t=e.length);let A=t-1;for(;A>=0&&(e[A]&192)===128;)A--;return A<0||A===0?t:A+vA[e[A]]>t?A:t},GA={string2buf:gl,buf2string:fl,utf8border:cl};wo=Il,yo=Object.prototype.toString,{Z_NO_FLUSH:hl,Z_SYNC_FLUSH:ul,Z_FULL_FLUSH:Bl,Z_FINISH:El,Z_OK:_t,Z_STREAM_END:Cl,Z_DEFAULT_COMPRESSION:dl,Z_DEFAULT_STRATEGY:Ql,Z_DEFLATED:pl}=hA;OA.prototype.push=function(e,t){let A=this.strm,i=this.options.chunkSize,r,n;if(this.ended)return!1;for(t===~~t?n=t:n=t===!0?El:hl,typeof e=="string"?A.input=GA.string2buf(e):yo.call(e)==="[object ArrayBuffer]"?A.input=new Uint8Array(e):A.input=e,A.next_in=0,A.avail_in=A.input.length;;){if(A.avail_out===0&&(A.output=new Uint8Array(i),A.next_out=0,A.avail_out=i),(n===ul||n===Bl)&&A.avail_out<=6){this.onData(A.output.subarray(0,A.next_out)),A.avail_out=0;continue}if(r=bA.deflate(A,n),r===Cl)return A.next_out>0&&this.onData(A.output.subarray(0,A.next_out)),r=bA.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===_t;if(A.avail_out===0){this.onData(A.output);continue}if(n>0&&A.next_out>0){this.onData(A.output.subarray(0,A.next_out)),A.avail_out=0;continue}if(A.avail_in===0)break}return!0};OA.prototype.onData=function(e){this.chunks.push(e)};OA.prototype.onEnd=function(e){e===_t&&(this.result=bt.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};ml=OA,_l=Mi,xl=wl,Dl=yl,bl=hA,Sl={Deflate:ml,deflate:_l,deflateRaw:xl,gzip:Dl,constants:bl},dt=16209,kl=16191,Fl=function(t,A){let i,r,n,l,s,g,o,a,I,c,f,h,u,B,Q,C,p,w,d,E,m,y,b,x,D=t.state;i=t.next_in,b=t.input,r=i+(t.avail_in-5),n=t.next_out,x=t.output,l=n-(A-t.avail_out),s=n+(t.avail_out-257),g=D.dmax,o=D.wsize,a=D.whave,I=D.wnext,c=D.window,f=D.hold,h=D.bits,u=D.lencode,B=D.distcode,Q=(1<<D.lenbits)-1,C=(1<<D.distbits)-1;e:do{h<15&&(f+=b[i++]<<h,h+=8,f+=b[i++]<<h,h+=8),p=u[f&Q];A:for(;;){if(w=p>>>24,f>>>=w,h-=w,w=p>>>16&255,w===0)x[n++]=p&65535;else if(w&16){d=p&65535,w&=15,w&&(h<w&&(f+=b[i++]<<h,h+=8),d+=f&(1<<w)-1,f>>>=w,h-=w),h<15&&(f+=b[i++]<<h,h+=8,f+=b[i++]<<h,h+=8),p=B[f&C];t:for(;;){if(w=p>>>24,f>>>=w,h-=w,w=p>>>16&255,w&16){if(E=p&65535,w&=15,h<w&&(f+=b[i++]<<h,h+=8,h<w&&(f+=b[i++]<<h,h+=8)),E+=f&(1<<w)-1,E>g){t.msg="invalid distance too far back",D.mode=dt;break e}if(f>>>=w,h-=w,w=n-l,E>w){if(w=E-w,w>a&&D.sane){t.msg="invalid distance too far back",D.mode=dt;break e}if(m=0,y=c,I===0){if(m+=o-w,w<d){d-=w;do x[n++]=c[m++];while(--w);m=n-E,y=x}}else if(I<w){if(m+=o+I-w,w-=I,w<d){d-=w;do x[n++]=c[m++];while(--w);if(m=0,I<d){w=I,d-=w;do x[n++]=c[m++];while(--w);m=n-E,y=x}}}else if(m+=I-w,w<d){d-=w;do x[n++]=c[m++];while(--w);m=n-E,y=x}for(;d>2;)x[n++]=y[m++],x[n++]=y[m++],x[n++]=y[m++],d-=3;d&&(x[n++]=y[m++],d>1&&(x[n++]=y[m++]))}else{m=n-E;do x[n++]=x[m++],x[n++]=x[m++],x[n++]=x[m++],d-=3;while(d>2);d&&(x[n++]=x[m++],d>1&&(x[n++]=x[m++]))}}else if(w&64){t.msg="invalid distance code",D.mode=dt;break e}else{p=B[(p&65535)+(f&(1<<w)-1)];continue t}break}}else if(w&64)if(w&32){D.mode=kl;break e}else{t.msg="invalid literal/length code",D.mode=dt;break e}else{p=u[(p&65535)+(f&(1<<w)-1)];continue A}break}}while(i<r&&n<s);d=h>>3,i-=d,h-=d<<3,f&=(1<<h)-1,t.next_in=i,t.next_out=n,t.avail_in=i<r?5+(r-i):5-(i-r),t.avail_out=n<s?257+(s-n):257-(n-s),D.hold=f,D.bits=h},gA=15,mn=852,_n=592,xn=0,Ei=1,Dn=2,Nl=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]),Rl=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]),Tl=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]),vl=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]),Gl=(e,t,A,i,r,n,l,s)=>{let g=s.bits,o=0,a=0,I=0,c=0,f=0,h=0,u=0,B=0,Q=0,C=0,p,w,d,E,m,y=null,b,x=new Uint16Array(gA+1),D=new Uint16Array(gA+1),k=null,O,S,_;for(o=0;o<=gA;o++)x[o]=0;for(a=0;a<i;a++)x[t[A+a]]++;for(f=g,c=gA;c>=1&&x[c]===0;c--);if(f>c&&(f=c),c===0)return r[n++]=1<<24|64<<16|0,r[n++]=1<<24|64<<16|0,s.bits=1,0;for(I=1;I<c&&x[I]===0;I++);for(f<I&&(f=I),B=1,o=1;o<=gA;o++)if(B<<=1,B-=x[o],B<0)return-1;if(B>0&&(e===xn||c!==1))return-1;for(D[1]=0,o=1;o<gA;o++)D[o+1]=D[o]+x[o];for(a=0;a<i;a++)t[A+a]!==0&&(l[D[t[A+a]]++]=a);if(e===xn?(y=k=l,b=20):e===Ei?(y=Nl,k=Rl,b=257):(y=Tl,k=vl,b=0),C=0,a=0,o=I,m=n,h=f,u=0,d=-1,Q=1<<f,E=Q-1,e===Ei&&Q>mn||e===Dn&&Q>_n)return 1;for(;;){O=o-u,l[a]+1<b?(S=0,_=l[a]):l[a]>=b?(S=k[l[a]-b],_=y[l[a]-b]):(S=32+64,_=0),p=1<<o-u,w=1<<h,I=w;do w-=p,r[m+(C>>u)+w]=O<<24|S<<16|_|0;while(w!==0);for(p=1<<o-1;C&p;)p>>=1;if(p!==0?(C&=p-1,C+=p):C=0,a++,--x[o]===0){if(o===c)break;o=t[A+l[a]]}if(o>f&&(C&E)!==d){for(u===0&&(u=f),m+=I,h=o-u,B=1<<h;h+u<c&&(B-=x[h+u],!(B<=0));)h++,B<<=1;if(Q+=1<<h,e===Ei&&Q>mn||e===Dn&&Q>_n)return 1;d=C&E,r[d]=f<<24|h<<16|m-n|0}}return C!==0&&(r[m+C]=o-u<<24|64<<16|0),s.bits=f,0},SA=Gl,Ul=0,mo=1,_o=2,{Z_FINISH:bn,Z_BLOCK:Ll,Z_TREES:Qt,Z_OK:We,Z_STREAM_END:Ml,Z_NEED_DICT:Ol,Z_STREAM_ERROR:Be,Z_DATA_ERROR:xo,Z_MEM_ERROR:Do,Z_BUF_ERROR:ql,Z_DEFLATED:Sn}=hA,St=16180,kn=16181,Fn=16182,Nn=16183,Rn=16184,Tn=16185,vn=16186,Gn=16187,Un=16188,Ln=16189,xt=16190,xe=16191,Ci=16192,Mn=16193,di=16194,On=16195,qn=16196,Yn=16197,Hn=16198,pt=16199,wt=16200,Jn=16201,Kn=16202,Vn=16203,Pn=16204,zn=16205,Qi=16206,Zn=16207,Xn=16208,Z=16209,bo=16210,So=16211,Yl=852,Hl=592,Jl=15,Kl=Jl,jn=e=>(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24);eA=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.mode<St||t.mode>So?1:0},ko=e=>{if(eA(e))return Be;let t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=St,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(Yl),t.distcode=t.distdyn=new Int32Array(Hl),t.sane=1,t.back=-1,We},Fo=e=>{if(eA(e))return Be;let t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,ko(e)},No=(e,t)=>{let A;if(eA(e))return Be;let i=e.state;return t<0?(A=0,t=-t):(A=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?Be:(i.window!==null&&i.wbits!==t&&(i.window=null),i.wrap=A,i.wbits=t,Fo(e))},Ro=(e,t)=>{if(!e)return Be;let A=new Vl;e.state=A,A.strm=e,A.window=null,A.mode=St;let i=No(e,t);return i!==We&&(e.state=null),i},Pl=e=>Ro(e,Kl),$n=!0,zl=e=>{if($n){pi=new Int32Array(512),wi=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(SA(mo,e.lens,0,288,pi,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;SA(_o,e.lens,0,32,wi,0,e.work,{bits:5}),$n=!1}e.lencode=pi,e.lenbits=9,e.distcode=wi,e.distbits=5},To=(e,t,A,i)=>{let r,n=e.state;return n.window===null&&(n.wsize=1<<n.wbits,n.wnext=0,n.whave=0,n.window=new Uint8Array(n.wsize)),i>=n.wsize?(n.window.set(t.subarray(A-n.wsize,A),0),n.wnext=0,n.whave=n.wsize):(r=n.wsize-n.wnext,r>i&&(r=i),n.window.set(t.subarray(A-i,A-i+r),n.wnext),i-=r,i?(n.window.set(t.subarray(A-i,A),0),n.wnext=i,n.whave=n.wsize):(n.wnext+=r,n.wnext===n.wsize&&(n.wnext=0),n.whave<n.wsize&&(n.whave+=r))),0},Zl=(e,t)=>{let A,i,r,n,l,s,g,o,a,I,c,f,h,u,B=0,Q,C,p,w,d,E,m,y,b=new Uint8Array(4),x,D,k=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(eA(e)||!e.output||!e.input&&e.avail_in!==0)return Be;A=e.state,A.mode===xe&&(A.mode=Ci),l=e.next_out,r=e.output,g=e.avail_out,n=e.next_in,i=e.input,s=e.avail_in,o=A.hold,a=A.bits,I=s,c=g,y=We;e:for(;;)switch(A.mode){case St:if(A.wrap===0){A.mode=Ci;break}for(;a<16;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(A.wrap&2&&o===35615){A.wbits===0&&(A.wbits=15),A.check=0,b[0]=o&255,b[1]=o>>>8&255,A.check=ee(A.check,b,2,0),o=0,a=0,A.mode=kn;break}if(A.head&&(A.head.done=!1),!(A.wrap&1)||(((o&255)<<8)+(o>>8))%31){e.msg="incorrect header check",A.mode=Z;break}if((o&15)!==Sn){e.msg="unknown compression method",A.mode=Z;break}if(o>>>=4,a-=4,m=(o&15)+8,A.wbits===0&&(A.wbits=m),m>15||m>A.wbits){e.msg="invalid window size",A.mode=Z;break}A.dmax=1<<A.wbits,A.flags=0,e.adler=A.check=1,A.mode=o&512?Ln:xe,o=0,a=0;break;case kn:for(;a<16;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(A.flags=o,(A.flags&255)!==Sn){e.msg="unknown compression method",A.mode=Z;break}if(A.flags&57344){e.msg="unknown header flags set",A.mode=Z;break}A.head&&(A.head.text=o>>8&1),A.flags&512&&A.wrap&4&&(b[0]=o&255,b[1]=o>>>8&255,A.check=ee(A.check,b,2,0)),o=0,a=0,A.mode=Fn;case Fn:for(;a<32;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.head&&(A.head.time=o),A.flags&512&&A.wrap&4&&(b[0]=o&255,b[1]=o>>>8&255,b[2]=o>>>16&255,b[3]=o>>>24&255,A.check=ee(A.check,b,4,0)),o=0,a=0,A.mode=Nn;case Nn:for(;a<16;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.head&&(A.head.xflags=o&255,A.head.os=o>>8),A.flags&512&&A.wrap&4&&(b[0]=o&255,b[1]=o>>>8&255,A.check=ee(A.check,b,2,0)),o=0,a=0,A.mode=Rn;case Rn:if(A.flags&1024){for(;a<16;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.length=o,A.head&&(A.head.extra_len=o),A.flags&512&&A.wrap&4&&(b[0]=o&255,b[1]=o>>>8&255,A.check=ee(A.check,b,2,0)),o=0,a=0}else A.head&&(A.head.extra=null);A.mode=Tn;case Tn:if(A.flags&1024&&(f=A.length,f>s&&(f=s),f&&(A.head&&(m=A.head.extra_len-A.length,A.head.extra||(A.head.extra=new Uint8Array(A.head.extra_len)),A.head.extra.set(i.subarray(n,n+f),m)),A.flags&512&&A.wrap&4&&(A.check=ee(A.check,i,f,n)),s-=f,n+=f,A.length-=f),A.length))break e;A.length=0,A.mode=vn;case vn:if(A.flags&2048){if(s===0)break e;f=0;do m=i[n+f++],A.head&&m&&A.length<65536&&(A.head.name+=String.fromCharCode(m));while(m&&f<s);if(A.flags&512&&A.wrap&4&&(A.check=ee(A.check,i,f,n)),s-=f,n+=f,m)break e}else A.head&&(A.head.name=null);A.length=0,A.mode=Gn;case Gn:if(A.flags&4096){if(s===0)break e;f=0;do m=i[n+f++],A.head&&m&&A.length<65536&&(A.head.comment+=String.fromCharCode(m));while(m&&f<s);if(A.flags&512&&A.wrap&4&&(A.check=ee(A.check,i,f,n)),s-=f,n+=f,m)break e}else A.head&&(A.head.comment=null);A.mode=Un;case Un:if(A.flags&512){for(;a<16;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(A.wrap&4&&o!==(A.check&65535)){e.msg="header crc mismatch",A.mode=Z;break}o=0,a=0}A.head&&(A.head.hcrc=A.flags>>9&1,A.head.done=!0),e.adler=A.check=0,A.mode=xe;break;case Ln:for(;a<32;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}e.adler=A.check=jn(o),o=0,a=0,A.mode=xt;case xt:if(A.havedict===0)return e.next_out=l,e.avail_out=g,e.next_in=n,e.avail_in=s,A.hold=o,A.bits=a,Ol;e.adler=A.check=1,A.mode=xe;case xe:if(t===Ll||t===Qt)break e;case Ci:if(A.last){o>>>=a&7,a-=a&7,A.mode=Qi;break}for(;a<3;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}switch(A.last=o&1,o>>>=1,a-=1,o&3){case 0:A.mode=Mn;break;case 1:if(zl(A),A.mode=pt,t===Qt){o>>>=2,a-=2;break e}break;case 2:A.mode=qn;break;case 3:e.msg="invalid block type",A.mode=Z}o>>>=2,a-=2;break;case Mn:for(o>>>=a&7,a-=a&7;a<32;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if((o&65535)!==(o>>>16^65535)){e.msg="invalid stored block lengths",A.mode=Z;break}if(A.length=o&65535,o=0,a=0,A.mode=di,t===Qt)break e;case di:A.mode=On;case On:if(f=A.length,f){if(f>s&&(f=s),f>g&&(f=g),f===0)break e;r.set(i.subarray(n,n+f),l),s-=f,n+=f,g-=f,l+=f,A.length-=f;break}A.mode=xe;break;case qn:for(;a<14;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(A.nlen=(o&31)+257,o>>>=5,a-=5,A.ndist=(o&31)+1,o>>>=5,a-=5,A.ncode=(o&15)+4,o>>>=4,a-=4,A.nlen>286||A.ndist>30){e.msg="too many length or distance symbols",A.mode=Z;break}A.have=0,A.mode=Yn;case Yn:for(;A.have<A.ncode;){for(;a<3;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.lens[k[A.have++]]=o&7,o>>>=3,a-=3}for(;A.have<19;)A.lens[k[A.have++]]=0;if(A.lencode=A.lendyn,A.lenbits=7,x={bits:A.lenbits},y=SA(Ul,A.lens,0,19,A.lencode,0,A.work,x),A.lenbits=x.bits,y){e.msg="invalid code lengths set",A.mode=Z;break}A.have=0,A.mode=Hn;case Hn:for(;A.have<A.nlen+A.ndist;){for(;B=A.lencode[o&(1<<A.lenbits)-1],Q=B>>>24,C=B>>>16&255,p=B&65535,!(Q<=a);){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(p<16)o>>>=Q,a-=Q,A.lens[A.have++]=p;else{if(p===16){for(D=Q+2;a<D;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(o>>>=Q,a-=Q,A.have===0){e.msg="invalid bit length repeat",A.mode=Z;break}m=A.lens[A.have-1],f=3+(o&3),o>>>=2,a-=2}else if(p===17){for(D=Q+3;a<D;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}o>>>=Q,a-=Q,m=0,f=3+(o&7),o>>>=3,a-=3}else{for(D=Q+7;a<D;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}o>>>=Q,a-=Q,m=0,f=11+(o&127),o>>>=7,a-=7}if(A.have+f>A.nlen+A.ndist){e.msg="invalid bit length repeat",A.mode=Z;break}for(;f--;)A.lens[A.have++]=m}}if(A.mode===Z)break;if(A.lens[256]===0){e.msg="invalid code -- missing end-of-block",A.mode=Z;break}if(A.lenbits=9,x={bits:A.lenbits},y=SA(mo,A.lens,0,A.nlen,A.lencode,0,A.work,x),A.lenbits=x.bits,y){e.msg="invalid literal/lengths set",A.mode=Z;break}if(A.distbits=6,A.distcode=A.distdyn,x={bits:A.distbits},y=SA(_o,A.lens,A.nlen,A.ndist,A.distcode,0,A.work,x),A.distbits=x.bits,y){e.msg="invalid distances set",A.mode=Z;break}if(A.mode=pt,t===Qt)break e;case pt:A.mode=wt;case wt:if(s>=6&&g>=258){e.next_out=l,e.avail_out=g,e.next_in=n,e.avail_in=s,A.hold=o,A.bits=a,Fl(e,c),l=e.next_out,r=e.output,g=e.avail_out,n=e.next_in,i=e.input,s=e.avail_in,o=A.hold,a=A.bits,A.mode===xe&&(A.back=-1);break}for(A.back=0;B=A.lencode[o&(1<<A.lenbits)-1],Q=B>>>24,C=B>>>16&255,p=B&65535,!(Q<=a);){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(C&&!(C&240)){for(w=Q,d=C,E=p;B=A.lencode[E+((o&(1<<w+d)-1)>>w)],Q=B>>>24,C=B>>>16&255,p=B&65535,!(w+Q<=a);){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}o>>>=w,a-=w,A.back+=w}if(o>>>=Q,a-=Q,A.back+=Q,A.length=p,C===0){A.mode=zn;break}if(C&32){A.back=-1,A.mode=xe;break}if(C&64){e.msg="invalid literal/length code",A.mode=Z;break}A.extra=C&15,A.mode=Jn;case Jn:if(A.extra){for(D=A.extra;a<D;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.length+=o&(1<<A.extra)-1,o>>>=A.extra,a-=A.extra,A.back+=A.extra}A.was=A.length,A.mode=Kn;case Kn:for(;B=A.distcode[o&(1<<A.distbits)-1],Q=B>>>24,C=B>>>16&255,p=B&65535,!(Q<=a);){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(!(C&240)){for(w=Q,d=C,E=p;B=A.distcode[E+((o&(1<<w+d)-1)>>w)],Q=B>>>24,C=B>>>16&255,p=B&65535,!(w+Q<=a);){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}o>>>=w,a-=w,A.back+=w}if(o>>>=Q,a-=Q,A.back+=Q,C&64){e.msg="invalid distance code",A.mode=Z;break}A.offset=p,A.extra=C&15,A.mode=Vn;case Vn:if(A.extra){for(D=A.extra;a<D;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}A.offset+=o&(1<<A.extra)-1,o>>>=A.extra,a-=A.extra,A.back+=A.extra}if(A.offset>A.dmax){e.msg="invalid distance too far back",A.mode=Z;break}A.mode=Pn;case Pn:if(g===0)break e;if(f=c-g,A.offset>f){if(f=A.offset-f,f>A.whave&&A.sane){e.msg="invalid distance too far back",A.mode=Z;break}f>A.wnext?(f-=A.wnext,h=A.wsize-f):h=A.wnext-f,f>A.length&&(f=A.length),u=A.window}else u=r,h=l-A.offset,f=A.length;f>g&&(f=g),g-=f,A.length-=f;do r[l++]=u[h++];while(--f);A.length===0&&(A.mode=wt);break;case zn:if(g===0)break e;r[l++]=A.length,g--,A.mode=wt;break;case Qi:if(A.wrap){for(;a<32;){if(s===0)break e;s--,o|=i[n++]<<a,a+=8}if(c-=g,e.total_out+=c,A.total+=c,A.wrap&4&&c&&(e.adler=A.check=A.flags?ee(A.check,r,c,l-c):TA(A.check,r,c,l-c)),c=g,A.wrap&4&&(A.flags?o:jn(o))!==A.check){e.msg="incorrect data check",A.mode=Z;break}o=0,a=0}A.mode=Zn;case Zn:if(A.wrap&&A.flags){for(;a<32;){if(s===0)break e;s--,o+=i[n++]<<a,a+=8}if(A.wrap&4&&o!==(A.total&4294967295)){e.msg="incorrect length check",A.mode=Z;break}o=0,a=0}A.mode=Xn;case Xn:y=Ml;break e;case Z:y=xo;break e;case bo:return Do;case So:default:return Be}return e.next_out=l,e.avail_out=g,e.next_in=n,e.avail_in=s,A.hold=o,A.bits=a,(A.wsize||c!==e.avail_out&&A.mode<Z&&(A.mode<Qi||t!==bn))&&To(e,e.output,e.next_out,c-e.avail_out),I-=e.avail_in,c-=e.avail_out,e.total_in+=I,e.total_out+=c,A.total+=c,A.wrap&4&&c&&(e.adler=A.check=A.flags?ee(A.check,r,c,e.next_out-c):TA(A.check,r,c,e.next_out-c)),e.data_type=A.bits+(A.last?64:0)+(A.mode===xe?128:0)+(A.mode===pt||A.mode===di?256:0),(I===0&&c===0||t===bn)&&y===We&&(y=ql),y},Xl=e=>{if(eA(e))return Be;let t=e.state;return t.window&&(t.window=null),e.state=null,We},jl=(e,t)=>{if(eA(e))return Be;let A=e.state;return A.wrap&2?(A.head=t,t.done=!1,We):Be},$l=(e,t)=>{let A=t.length,i,r,n;return eA(e)||(i=e.state,i.wrap!==0&&i.mode!==xt)?Be:i.mode===xt&&(r=1,r=TA(r,t,A,0),r!==i.check)?xo:(n=To(e,t,A,A),n?(i.mode=bo,Do):(i.havedict=1,We))},Wl=Fo,ef=No,Af=ko,tf=Pl,rf=Ro,nf=Zl,of=Xl,sf=jl,af=$l,gf="pako inflate (from Nodeca project)",be={inflateReset:Wl,inflateReset2:ef,inflateResetKeep:Af,inflateInit:tf,inflateInit2:rf,inflate:nf,inflateEnd:of,inflateGetHeader:sf,inflateSetDictionary:af,inflateInfo:gf};ff=lf,vo=Object.prototype.toString,{Z_NO_FLUSH:cf,Z_FINISH:If,Z_OK:UA,Z_STREAM_END:yi,Z_NEED_DICT:mi,Z_STREAM_ERROR:hf,Z_DATA_ERROR:Wn,Z_MEM_ERROR:uf}=hA;qA.prototype.push=function(e,t){let A=this.strm,i=this.options.chunkSize,r=this.options.dictionary,n,l,s;if(this.ended)return!1;for(t===~~t?l=t:l=t===!0?If:cf,vo.call(e)==="[object ArrayBuffer]"?A.input=new Uint8Array(e):A.input=e,A.next_in=0,A.avail_in=A.input.length;;){for(A.avail_out===0&&(A.output=new Uint8Array(i),A.next_out=0,A.avail_out=i),n=be.inflate(A,l),n===mi&&r&&(n=be.inflateSetDictionary(A,r),n===UA?n=be.inflate(A,l):n===Wn&&(n=mi));A.avail_in>0&&n===yi&&A.state.wrap>0&&e[A.next_in]!==0;)be.inflateReset(A),n=be.inflate(A,l);switch(n){case hf:case Wn:case mi:case uf:return this.onEnd(n),this.ended=!0,!1}if(s=A.avail_out,A.next_out&&(A.avail_out===0||n===yi))if(this.options.to==="string"){let g=GA.utf8border(A.output,A.next_out),o=A.next_out-g,a=GA.buf2string(A.output,g);A.next_out=o,A.avail_out=i-o,o&&A.output.set(A.output.subarray(g,g+o),0),this.onData(a)}else this.onData(A.output.length===A.next_out?A.output:A.output.subarray(0,A.next_out));if(!(n===UA&&s===0)){if(n===yi)return n=be.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,!0;if(A.avail_in===0)break}}return!0};qA.prototype.onData=function(e){this.chunks.push(e)};qA.prototype.onEnd=function(e){e===UA&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=bt.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};Ef=qA,Cf=Oi,df=Bf,Qf=Oi,pf=hA,wf={Inflate:Ef,inflate:Cf,inflateRaw:df,ungzip:Qf,constants:pf},{Deflate:ch,deflate:Ih,deflateRaw:hh,gzip:uh}=Sl,{Inflate:Bh,inflate:yf,inflateRaw:Eh,ungzip:Ch}=wf,kt=yf});var Go={};Te(Go,{default:()=>Ft});var Ft,Uo=he(()=>{qi();Ge();Ft=class extends Ae{decodeBlock(t){return kt(new Uint8Array(t)).buffer}}});var Lo={};Te(Lo,{default:()=>Nt});var Nt,Mo=he(()=>{Ge();Nt=class extends Ae{decodeBlock(t){let A=new DataView(t),i=[];for(let r=0;r<t.byteLength;++r){let n=A.getInt8(r);if(n<0){let l=A.getUint8(r+1);n=-n;for(let s=0;s<=n;++s)i.push(l);r+=1}else{for(let l=0;l<=n;++l)i.push(A.getUint8(r+l+1));r+=n+1}}return new Uint8Array(i).buffer}}});var Oo=X((yh,Rt)=>{(function(){var e=function(){var r={};r.defaultNoDataValue=-34027999387901484e22,r.decode=function(a,I){I=I||{};var c=I.encodedMaskData||I.encodedMaskData===null,f=g(a,I.inputOffset||0,c),h=I.noDataValue!==null?I.noDataValue:r.defaultNoDataValue,u=n(f,I.pixelType||Float32Array,I.encodedMaskData,h,I.returnMask),B={width:f.width,height:f.height,pixelData:u.resultPixels,minValue:u.minValue,maxValue:f.pixels.maxValue,noDataValue:h};return u.resultMask&&(B.maskData=u.resultMask),I.returnEncodedMask&&f.mask&&(B.encodedMaskData=f.mask.bitset?f.mask.bitset:null),I.returnFileInfo&&(B.fileInfo=l(f),I.computeUsedBitDepths&&(B.fileInfo.bitDepths=s(f))),B};var n=function(a,I,c,f,h){var u=0,B=a.pixels.numBlocksX,Q=a.pixels.numBlocksY,C=Math.floor(a.width/B),p=Math.floor(a.height/Q),w=2*a.maxZError,d=Number.MAX_VALUE,E;c=c||(a.mask?a.mask.bitset:null);var m,y;m=new I(a.width*a.height),h&&c&&(y=new Uint8Array(a.width*a.height));for(var b=new Float32Array(C*p),x,D,k=0;k<=Q;k++){var O=k!==Q?p:a.height%Q;if(O!==0)for(var S=0;S<=B;S++){var _=S!==B?C:a.width%B;if(_!==0){var N=k*a.width*p+S*C,L=a.width-_,F=a.pixels.blocks[u],T,R,Y;F.encoding<2?(F.encoding===0?T=F.rawData:(o(F.stuffedData,F.bitsPerPixel,F.numValidPixels,F.offset,w,b,a.pixels.maxValue),T=b),R=0):F.encoding===2?Y=0:Y=F.offset;var J;if(c)for(D=0;D<O;D++){for(N&7&&(J=c[N>>3],J<<=N&7),x=0;x<_;x++)N&7||(J=c[N>>3]),J&128?(y&&(y[N]=1),E=F.encoding<2?T[R++]:Y,d=d>E?E:d,m[N++]=E):(y&&(y[N]=0),m[N++]=f),J<<=1;N+=L}else if(F.encoding<2)for(D=0;D<O;D++){for(x=0;x<_;x++)E=T[R++],d=d>E?E:d,m[N++]=E;N+=L}else for(d=d>Y?Y:d,D=0;D<O;D++){for(x=0;x<_;x++)m[N++]=Y;N+=L}if(F.encoding===1&&R!==F.numValidPixels)throw"Block and Mask do not match";u++}}}return{resultPixels:m,resultMask:y,minValue:d}},l=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}}},s=function(a){for(var I=a.pixels.numBlocksX*a.pixels.numBlocksY,c={},f=0;f<I;f++){var h=a.pixels.blocks[f];h.encoding===0?c.float32=!0:h.encoding===1?c[h.bitsPerPixel]=!0:c[0]=!0}return Object.keys(c)},g=function(a,I,c){var f={},h=new Uint8Array(a,I,10);if(f.fileIdentifierString=String.fromCharCode.apply(null,h),f.fileIdentifierString.trim()!=="CntZImage")throw"Unexpected file identifier string: "+f.fileIdentifierString;I+=10;var u=new DataView(a,I,24);if(f.fileVersion=u.getInt32(0,!0),f.imageType=u.getInt32(4,!0),f.height=u.getUint32(8,!0),f.width=u.getUint32(12,!0),f.maxZError=u.getFloat64(16,!0),I+=24,!c)if(u=new DataView(a,I,16),f.mask={},f.mask.numBlocksY=u.getUint32(0,!0),f.mask.numBlocksX=u.getUint32(4,!0),f.mask.numBytes=u.getUint32(8,!0),f.mask.maxValue=u.getFloat32(12,!0),I+=16,f.mask.numBytes>0){var B=new Uint8Array(Math.ceil(f.width*f.height/8));u=new DataView(a,I,f.mask.numBytes);var Q=u.getInt16(0,!0),C=2,p=0;do{if(Q>0)for(;Q--;)B[p++]=u.getUint8(C++);else{var w=u.getUint8(C++);for(Q=-Q;Q--;)B[p++]=w}Q=u.getInt16(C,!0),C+=2}while(C<f.mask.numBytes);if(Q!==-32768||p<B.length)throw"Unexpected end of mask RLE encoding";f.mask.bitset=B,I+=f.mask.numBytes}else f.mask.numBytes|f.mask.numBlocksY|f.mask.maxValue||(f.mask.bitset=new Uint8Array(Math.ceil(f.width*f.height/8)));u=new DataView(a,I,16),f.pixels={},f.pixels.numBlocksY=u.getUint32(0,!0),f.pixels.numBlocksX=u.getUint32(4,!0),f.pixels.numBytes=u.getUint32(8,!0),f.pixels.maxValue=u.getFloat32(12,!0),I+=16;var d=f.pixels.numBlocksX,E=f.pixels.numBlocksY,m=d+(f.width%d>0?1:0),y=E+(f.height%E>0?1:0);f.pixels.blocks=new Array(m*y);for(var b=0,x=0;x<y;x++)for(var D=0;D<m;D++){var k=0,O=a.byteLength-I;u=new DataView(a,I,Math.min(10,O));var S={};f.pixels.blocks[b++]=S;var _=u.getUint8(0);if(k++,S.encoding=_&63,S.encoding>3)throw"Invalid block encoding ("+S.encoding+")";if(S.encoding===2){I++;continue}if(_!==0&&_!==2){if(_>>=6,S.offsetType=_,_===2)S.offset=u.getInt8(1),k++;else if(_===1)S.offset=u.getInt16(1,!0),k+=2;else if(_===0)S.offset=u.getFloat32(1,!0),k+=4;else throw"Invalid block offset type";if(S.encoding===1)if(_=u.getUint8(k),k++,S.bitsPerPixel=_&63,_>>=6,S.numValidPixelsType=_,_===2)S.numValidPixels=u.getUint8(k),k++;else if(_===1)S.numValidPixels=u.getUint16(k,!0),k+=2;else if(_===0)S.numValidPixels=u.getUint32(k,!0),k+=4;else throw"Invalid valid pixel count type"}if(I+=k,S.encoding!==3){var N,L;if(S.encoding===0){var F=(f.pixels.numBytes-1)/4;if(F!==Math.floor(F))throw"uncompressed block has invalid length";N=new ArrayBuffer(F*4),L=new Uint8Array(N),L.set(new Uint8Array(a,I,F*4));var T=new Float32Array(N);S.rawData=T,I+=F*4}else if(S.encoding===1){var R=Math.ceil(S.numValidPixels*S.bitsPerPixel/8),Y=Math.ceil(R/4);N=new ArrayBuffer(Y*4),L=new Uint8Array(N),L.set(new Uint8Array(a,I,R)),S.stuffedData=new Uint32Array(N),I+=R}}}return f.eofOffset=I,f},o=function(a,I,c,f,h,u,B){var Q=(1<<I)-1,C=0,p,w=0,d,E,m=Math.ceil((B-f)/h),y=a.length*4-Math.ceil(I*c/8);for(a[a.length-1]<<=8*y,p=0;p<c;p++){if(w===0&&(E=a[C++],w=32),w>=I)d=E>>>w-I&Q,w-=I;else{var b=I-w;d=(E&Q)<<b&Q,E=a[C++],w=32-b,d+=E>>>w}u[p]=d<m?f+d*h:B}return u};return r}(),t=function(){"use strict";var r={unstuff:function(g,o,a,I,c,f,h,u){var B=(1<<a)-1,Q=0,C,p=0,w,d,E,m,y=g.length*4-Math.ceil(a*I/8);if(g[g.length-1]<<=8*y,c)for(C=0;C<I;C++)p===0&&(d=g[Q++],p=32),p>=a?(w=d>>>p-a&B,p-=a):(E=a-p,w=(d&B)<<E&B,d=g[Q++],p=32-E,w+=d>>>p),o[C]=c[w];else for(m=Math.ceil((u-f)/h),C=0;C<I;C++)p===0&&(d=g[Q++],p=32),p>=a?(w=d>>>p-a&B,p-=a):(E=a-p,w=(d&B)<<E&B,d=g[Q++],p=32-E,w+=d>>>p),o[C]=w<m?f+w*h:u},unstuffLUT:function(g,o,a,I,c,f){var h=(1<<o)-1,u=0,B=0,Q=0,C=0,p=0,w,d=[],E=g.length*4-Math.ceil(o*a/8);g[g.length-1]<<=8*E;var m=Math.ceil((f-I)/c);for(B=0;B<a;B++)C===0&&(w=g[u++],C=32),C>=o?(p=w>>>C-o&h,C-=o):(Q=o-C,p=(w&h)<<Q&h,w=g[u++],C=32-Q,p+=w>>>C),d[B]=p<m?I+p*c:f;return d.unshift(I),d},unstuff2:function(g,o,a,I,c,f,h,u){var B=(1<<a)-1,Q=0,C,p=0,w=0,d,E,m;if(c)for(C=0;C<I;C++)p===0&&(E=g[Q++],p=32,w=0),p>=a?(d=E>>>w&B,p-=a,w+=a):(m=a-p,d=E>>>w&B,E=g[Q++],p=32-m,d|=(E&(1<<m)-1)<<a-m,w=m),o[C]=c[d];else{var y=Math.ceil((u-f)/h);for(C=0;C<I;C++)p===0&&(E=g[Q++],p=32,w=0),p>=a?(d=E>>>w&B,p-=a,w+=a):(m=a-p,d=E>>>w&B,E=g[Q++],p=32-m,d|=(E&(1<<m)-1)<<a-m,w=m),o[C]=d<y?f+d*h:u}return o},unstuffLUT2:function(g,o,a,I,c,f){var h=(1<<o)-1,u=0,B=0,Q=0,C=0,p=0,w=0,d,E=[],m=Math.ceil((f-I)/c);for(B=0;B<a;B++)C===0&&(d=g[u++],C=32,w=0),C>=o?(p=d>>>w&h,C-=o,w+=o):(Q=o-C,p=d>>>w&h,d=g[u++],C=32-Q,p|=(d&(1<<Q)-1)<<o-Q,w=Q),E[B]=p<m?I+p*c:f;return E.unshift(I),E},originalUnstuff:function(g,o,a,I){var c=(1<<a)-1,f=0,h,u=0,B,Q,C,p=g.length*4-Math.ceil(a*I/8);for(g[g.length-1]<<=8*p,h=0;h<I;h++)u===0&&(Q=g[f++],u=32),u>=a?(B=Q>>>u-a&c,u-=a):(C=a-u,B=(Q&c)<<C&c,Q=g[f++],u=32-C,B+=Q>>>u),o[h]=B;return o},originalUnstuff2:function(g,o,a,I){var c=(1<<a)-1,f=0,h,u=0,B=0,Q,C,p;for(h=0;h<I;h++)u===0&&(C=g[f++],u=32,B=0),u>=a?(Q=C>>>B&c,u-=a,B+=a):(p=a-u,Q=C>>>B&c,C=g[f++],u=32-p,Q|=(C&(1<<p)-1)<<a-p,B=p),o[h]=Q;return o}},n={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(g){for(var o=65535,a=65535,I=g.length,c=Math.floor(I/2),f=0;c;){var h=c>=359?359:c;c-=h;do o+=g[f++]<<8,a+=o+=g[f++];while(--h);o=(o&65535)+(o>>>16),a=(a&65535)+(a>>>16)}return I&1&&(a+=o+=g[f]<<8),o=(o&65535)+(o>>>16),a=(a&65535)+(a>>>16),(a<<16|o)>>>0},readHeaderInfo:function(g,o){var a=o.ptr,I=new Uint8Array(g,a,6),c={};if(c.fileIdentifierString=String.fromCharCode.apply(null,I),c.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+c.fileIdentifierString;a+=6;var f=new DataView(g,a,8),h=f.getInt32(0,!0);c.fileVersion=h,a+=4,h>=3&&(c.checksum=f.getUint32(4,!0),a+=4),f=new DataView(g,a,12),c.height=f.getUint32(0,!0),c.width=f.getUint32(4,!0),a+=8,h>=4?(c.numDims=f.getUint32(8,!0),a+=4):c.numDims=1,f=new DataView(g,a,40),c.numValidPixel=f.getUint32(0,!0),c.microBlockSize=f.getInt32(4,!0),c.blobSize=f.getInt32(8,!0),c.imageType=f.getInt32(12,!0),c.maxZError=f.getFloat64(16,!0),c.zMin=f.getFloat64(24,!0),c.zMax=f.getFloat64(32,!0),a+=40,o.headerInfo=c,o.ptr=a;var u,B;if(h>=3&&(B=h>=4?52:48,u=this.computeChecksumFletcher32(new Uint8Array(g,a-B,c.blobSize-14)),u!==c.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(g,o){var a=o.headerInfo,I=this.getDataTypeArray(a.imageType),c=a.numDims*this.getDataTypeSize(a.imageType),f=this.readSubArray(g,o.ptr,I,c),h=this.readSubArray(g,o.ptr+c,I,c);o.ptr+=2*c;var u,B=!0;for(u=0;u<a.numDims;u++)if(f[u]!==h[u]){B=!1;break}return a.minValues=f,a.maxValues=h,B},readSubArray:function(g,o,a,I){var c;if(a===Uint8Array)c=new Uint8Array(g,o,I);else{var f=new ArrayBuffer(I),h=new Uint8Array(f);h.set(new Uint8Array(g,o,I)),c=new a(f)}return c},readMask:function(g,o){var a=o.ptr,I=o.headerInfo,c=I.width*I.height,f=I.numValidPixel,h=new DataView(g,a,4),u={};if(u.numBytes=h.getUint32(0,!0),a+=4,(f===0||c===f)&&u.numBytes!==0)throw"invalid mask";var B,Q;if(f===0)B=new Uint8Array(Math.ceil(c/8)),u.bitset=B,Q=new Uint8Array(c),o.pixels.resultMask=Q,a+=u.numBytes;else if(u.numBytes>0){B=new Uint8Array(Math.ceil(c/8)),h=new DataView(g,a,u.numBytes);var C=h.getInt16(0,!0),p=2,w=0,d=0;do{if(C>0)for(;C--;)B[w++]=h.getUint8(p++);else for(d=h.getUint8(p++),C=-C;C--;)B[w++]=d;C=h.getInt16(p,!0),p+=2}while(p<u.numBytes);if(C!==-32768||w<B.length)throw"Unexpected end of mask RLE encoding";Q=new Uint8Array(c);var E=0,m=0;for(m=0;m<c;m++)m&7?(E=B[m>>3],E<<=m&7):E=B[m>>3],E&128&&(Q[m]=1);o.pixels.resultMask=Q,u.bitset=B,a+=u.numBytes}return o.ptr=a,o.mask=u,!0},readDataOneSweep:function(g,o,a,I){var c=o.ptr,f=o.headerInfo,h=f.numDims,u=f.width*f.height,B=f.imageType,Q=f.numValidPixel*n.getDataTypeSize(B)*h,C,p=o.pixels.resultMask;if(a===Uint8Array)C=new Uint8Array(g,c,Q);else{var w=new ArrayBuffer(Q),d=new Uint8Array(w);d.set(new Uint8Array(g,c,Q)),C=new a(w)}if(C.length===u*h)I?o.pixels.resultPixels=n.swapDimensionOrder(C,u,h,a,!0):o.pixels.resultPixels=C;else{o.pixels.resultPixels=new a(u*h);var E=0,m=0,y=0,b=0;if(h>1){if(I){for(m=0;m<u;m++)if(p[m])for(b=m,y=0;y<h;y++,b+=u)o.pixels.resultPixels[b]=C[E++]}else for(m=0;m<u;m++)if(p[m])for(b=m*h,y=0;y<h;y++)o.pixels.resultPixels[b+y]=C[E++]}else for(m=0;m<u;m++)p[m]&&(o.pixels.resultPixels[m]=C[E++])}return c+=Q,o.ptr=c,!0},readHuffmanTree:function(g,o){var a=this.HUFFMAN_LUT_BITS_MAX,I=new DataView(g,o.ptr,16);o.ptr+=16;var c=I.getInt32(0,!0);if(c<2)throw"unsupported Huffman version";var f=I.getInt32(4,!0),h=I.getInt32(8,!0),u=I.getInt32(12,!0);if(h>=u)return!1;var B=new Uint32Array(u-h);n.decodeBits(g,o,B);var Q=[],C,p,w,d;for(C=h;C<u;C++)p=C-(C<f?0:f),Q[p]={first:B[C-h],second:null};var E=g.byteLength-o.ptr,m=Math.ceil(E/4),y=new ArrayBuffer(m*4),b=new Uint8Array(y);b.set(new Uint8Array(g,o.ptr,E));var x=new Uint32Array(y),D=0,k,O=0;for(k=x[0],C=h;C<u;C++)p=C-(C<f?0:f),d=Q[p].first,d>0&&(Q[p].second=k<<D>>>32-d,32-D>=d?(D+=d,D===32&&(D=0,O++,k=x[O])):(D+=d-32,O++,k=x[O],Q[p].second|=k>>>32-D));var S=0,_=0,N=new l;for(C=0;C<Q.length;C++)Q[C]!==void 0&&(S=Math.max(S,Q[C].first));S>=a?_=a:_=S;var L=[],F,T,R,Y,J,z;for(C=h;C<u;C++)if(p=C-(C<f?0:f),d=Q[p].first,d>0)if(F=[d,p],d<=_)for(T=Q[p].second<<_-d,R=1<<_-d,w=0;w<R;w++)L[T|w]=F;else for(T=Q[p].second,z=N,Y=d-1;Y>=0;Y--)J=T>>>Y&1,J?(z.right||(z.right=new l),z=z.right):(z.left||(z.left=new l),z=z.left),Y===0&&!z.val&&(z.val=F[1]);return{decodeLut:L,numBitsLUTQick:_,numBitsLUT:S,tree:N,stuffedData:x,srcPtr:O,bitPos:D}},readHuffman:function(g,o,a,I){var c=o.headerInfo,f=c.numDims,h=o.headerInfo.height,u=o.headerInfo.width,B=u*h,Q=this.readHuffmanTree(g,o),C=Q.decodeLut,p=Q.tree,w=Q.stuffedData,d=Q.srcPtr,E=Q.bitPos,m=Q.numBitsLUTQick,y=Q.numBitsLUT,b=o.headerInfo.imageType===0?128:0,x,D,k,O=o.pixels.resultMask,S,_,N,L,F,T,R,Y=0;E>0&&(d++,E=0);var J=w[d],z=o.encodeMode===1,U=new a(B*f),v=U,G;if(f<2||z){for(G=0;G<f;G++)if(f>1&&(v=new a(U.buffer,B*G,B),Y=0),o.headerInfo.numValidPixel===u*h)for(T=0,L=0;L<h;L++)for(F=0;F<u;F++,T++){if(D=0,S=J<<E>>>32-m,_=S,32-E<m&&(S|=w[d+1]>>>64-E-m,_=S),C[_])D=C[_][1],E+=C[_][0];else for(S=J<<E>>>32-y,_=S,32-E<y&&(S|=w[d+1]>>>64-E-y,_=S),x=p,R=0;R<y;R++)if(N=S>>>y-R-1&1,x=N?x.right:x.left,!(x.left||x.right)){D=x.val,E=E+R+1;break}E>=32&&(E-=32,d++,J=w[d]),k=D-b,z?(F>0?k+=Y:L>0?k+=v[T-u]:k+=Y,k&=255,v[T]=k,Y=k):v[T]=k}else for(T=0,L=0;L<h;L++)for(F=0;F<u;F++,T++)if(O[T]){if(D=0,S=J<<E>>>32-m,_=S,32-E<m&&(S|=w[d+1]>>>64-E-m,_=S),C[_])D=C[_][1],E+=C[_][0];else for(S=J<<E>>>32-y,_=S,32-E<y&&(S|=w[d+1]>>>64-E-y,_=S),x=p,R=0;R<y;R++)if(N=S>>>y-R-1&1,x=N?x.right:x.left,!(x.left||x.right)){D=x.val,E=E+R+1;break}E>=32&&(E-=32,d++,J=w[d]),k=D-b,z?(F>0&&O[T-1]?k+=Y:L>0&&O[T-u]?k+=v[T-u]:k+=Y,k&=255,v[T]=k,Y=k):v[T]=k}}else for(T=0,L=0;L<h;L++)for(F=0;F<u;F++)if(T=L*u+F,!O||O[T])for(G=0;G<f;G++,T+=B){if(D=0,S=J<<E>>>32-m,_=S,32-E<m&&(S|=w[d+1]>>>64-E-m,_=S),C[_])D=C[_][1],E+=C[_][0];else for(S=J<<E>>>32-y,_=S,32-E<y&&(S|=w[d+1]>>>64-E-y,_=S),x=p,R=0;R<y;R++)if(N=S>>>y-R-1&1,x=N?x.right:x.left,!(x.left||x.right)){D=x.val,E=E+R+1;break}E>=32&&(E-=32,d++,J=w[d]),k=D-b,v[T]=k}o.ptr=o.ptr+(d+1)*4+(E>0?4:0),o.pixels.resultPixels=U,f>1&&!I&&(o.pixels.resultPixels=n.swapDimensionOrder(U,B,f,a))},decodeBits:function(g,o,a,I,c){{var f=o.headerInfo,h=f.fileVersion,u=0,B=g.byteLength-o.ptr>=5?5:g.byteLength-o.ptr,Q=new DataView(g,o.ptr,B),C=Q.getUint8(0);u++;var p=C>>6,w=p===0?4:3-p,d=(C&32)>0,E=C&31,m=0;if(w===1)m=Q.getUint8(u),u++;else if(w===2)m=Q.getUint16(u,!0),u+=2;else if(w===4)m=Q.getUint32(u,!0),u+=4;else throw"Invalid valid pixel count type";var y=2*f.maxZError,b,x,D,k,O,S,_,N,L,F,T=f.numDims>1?f.maxValues[c]:f.zMax;if(d){for(o.counter.lut++,N=Q.getUint8(u),L=E,u++,k=Math.ceil((N-1)*E/8),O=Math.ceil(k/4),x=new ArrayBuffer(O*4),D=new Uint8Array(x),o.ptr+=u,D.set(new Uint8Array(g,o.ptr,k)),_=new Uint32Array(x),o.ptr+=k,F=0;N-1>>>F;)F++;k=Math.ceil(m*F/8),O=Math.ceil(k/4),x=new ArrayBuffer(O*4),D=new Uint8Array(x),D.set(new Uint8Array(g,o.ptr,k)),b=new Uint32Array(x),o.ptr+=k,h>=3?S=r.unstuffLUT2(_,E,N-1,I,y,T):S=r.unstuffLUT(_,E,N-1,I,y,T),h>=3?r.unstuff2(b,a,F,m,S):r.unstuff(b,a,F,m,S)}else o.counter.bitstuffer++,F=E,o.ptr+=u,F>0&&(k=Math.ceil(m*F/8),O=Math.ceil(k/4),x=new ArrayBuffer(O*4),D=new Uint8Array(x),D.set(new Uint8Array(g,o.ptr,k)),b=new Uint32Array(x),o.ptr+=k,h>=3?I==null?r.originalUnstuff2(b,a,F,m):r.unstuff2(b,a,F,m,!1,I,y,T):I==null?r.originalUnstuff(b,a,F,m):r.unstuff(b,a,F,m,!1,I,y,T))}},readTiles:function(g,o,a,I){var c=o.headerInfo,f=c.width,h=c.height,u=f*h,B=c.microBlockSize,Q=c.imageType,C=n.getDataTypeSize(Q),p=Math.ceil(f/B),w=Math.ceil(h/B);o.pixels.numBlocksY=w,o.pixels.numBlocksX=p,o.pixels.ptr=0;var d=0,E=0,m=0,y=0,b=0,x=0,D=0,k=0,O=0,S=0,_=0,N=0,L=0,F=0,T=0,R=0,Y,J,z,U,v,G,V=new a(B*B),P=h%B||B,$=f%B||B,j,ie,ce=c.numDims,Ve,Ee=o.pixels.resultMask,Ie=o.pixels.resultPixels,Ia=c.fileVersion,hr=Ia>=5?14:15,Ne,Vt=c.zMax,Re;for(m=0;m<w;m++)for(b=m!==w-1?B:P,y=0;y<p;y++)for(x=y!==p-1?B:$,_=m*f*B+y*B,N=f-x,Ve=0;Ve<ce;Ve++){if(ce>1?(Re=Ie,_=m*f*B+y*B,Ie=new a(o.pixels.resultPixels.buffer,u*Ve*C,u),Vt=c.maxValues[Ve]):Re=null,D=g.byteLength-o.ptr,Y=new DataView(g,o.ptr,Math.min(10,D)),J={},R=0,k=Y.getUint8(0),R++,Ne=c.fileVersion>=5?k&4:0,O=k>>6&255,S=k>>2&hr,S!==(y*B>>3&hr)||Ne&&Ve===0)throw"integrity issue";if(G=k&3,G>3)throw o.ptr+=R,"Invalid block encoding ("+G+")";if(G===2){if(Ne)if(Ee)for(d=0;d<b;d++)for(E=0;E<x;E++)Ee[_]&&(Ie[_]=Re[_]),_++;else for(d=0;d<b;d++)for(E=0;E<x;E++)Ie[_]=Re[_],_++;o.counter.constant++,o.ptr+=R;continue}else if(G===0){if(Ne)throw"integrity issue";if(o.counter.uncompressed++,o.ptr+=R,L=b*x*C,F=g.byteLength-o.ptr,L=L<F?L:F,z=new ArrayBuffer(L%C===0?L:L+C-L%C),U=new Uint8Array(z),U.set(new Uint8Array(g,o.ptr,L)),v=new a(z),T=0,Ee)for(d=0;d<b;d++){for(E=0;E<x;E++)Ee[_]&&(Ie[_]=v[T++]),_++;_+=N}else for(d=0;d<b;d++){for(E=0;E<x;E++)Ie[_++]=v[T++];_+=N}o.ptr+=T*C}else if(j=n.getDataTypeUsed(Ne&&Q<6?4:Q,O),ie=n.getOnePixel(J,R,j,Y),R+=n.getDataTypeSize(j),G===3)if(o.ptr+=R,o.counter.constantoffset++,Ee)for(d=0;d<b;d++){for(E=0;E<x;E++)Ee[_]&&(Ie[_]=Ne?Math.min(Vt,Re[_]+ie):ie),_++;_+=N}else for(d=0;d<b;d++){for(E=0;E<x;E++)Ie[_]=Ne?Math.min(Vt,Re[_]+ie):ie,_++;_+=N}else if(o.ptr+=R,n.decodeBits(g,o,V,ie,Ve),R=0,Ne)if(Ee)for(d=0;d<b;d++){for(E=0;E<x;E++)Ee[_]&&(Ie[_]=V[R++]+Re[_]),_++;_+=N}else for(d=0;d<b;d++){for(E=0;E<x;E++)Ie[_]=V[R++]+Re[_],_++;_+=N}else if(Ee)for(d=0;d<b;d++){for(E=0;E<x;E++)Ee[_]&&(Ie[_]=V[R++]),_++;_+=N}else for(d=0;d<b;d++){for(E=0;E<x;E++)Ie[_++]=V[R++];_+=N}}ce>1&&!I&&(o.pixels.resultPixels=n.swapDimensionOrder(o.pixels.resultPixels,u,ce,a))},formatFileInfo:function(g){return{fileIdentifierString:g.headerInfo.fileIdentifierString,fileVersion:g.headerInfo.fileVersion,imageType:g.headerInfo.imageType,height:g.headerInfo.height,width:g.headerInfo.width,numValidPixel:g.headerInfo.numValidPixel,microBlockSize:g.headerInfo.microBlockSize,blobSize:g.headerInfo.blobSize,maxZError:g.headerInfo.maxZError,pixelType:n.getPixelType(g.headerInfo.imageType),eofOffset:g.eofOffset,mask:g.mask?{numBytes:g.mask.numBytes}:null,pixels:{numBlocksX:g.pixels.numBlocksX,numBlocksY:g.pixels.numBlocksY,maxValue:g.headerInfo.zMax,minValue:g.headerInfo.zMin,noDataValue:g.noDataValue}}},constructConstantSurface:function(g,o){var a=g.headerInfo.zMax,I=g.headerInfo.zMin,c=g.headerInfo.maxValues,f=g.headerInfo.numDims,h=g.headerInfo.height*g.headerInfo.width,u=0,B=0,Q=0,C=g.pixels.resultMask,p=g.pixels.resultPixels;if(C)if(f>1){if(o)for(u=0;u<f;u++)for(Q=u*h,a=c[u],B=0;B<h;B++)C[B]&&(p[Q+B]=a);else for(B=0;B<h;B++)if(C[B])for(Q=B*f,u=0;u<f;u++)p[Q+f]=c[u]}else for(B=0;B<h;B++)C[B]&&(p[B]=a);else if(f>1&&I!==a)if(o)for(u=0;u<f;u++)for(Q=u*h,a=c[u],B=0;B<h;B++)p[Q+B]=a;else for(B=0;B<h;B++)for(Q=B*f,u=0;u<f;u++)p[Q+u]=c[u];else for(B=0;B<h*f;B++)p[B]=a},getDataTypeArray:function(g){var o;switch(g){case 0:o=Int8Array;break;case 1:o=Uint8Array;break;case 2:o=Int16Array;break;case 3:o=Uint16Array;break;case 4:o=Int32Array;break;case 5:o=Uint32Array;break;case 6:o=Float32Array;break;case 7:o=Float64Array;break;default:o=Float32Array}return o},getPixelType:function(g){var o;switch(g){case 0:o="S8";break;case 1:o="U8";break;case 2:o="S16";break;case 3:o="U16";break;case 4:o="S32";break;case 5:o="U32";break;case 6:o="F32";break;case 7:o="F64";break;default:o="F32"}return o},isValidPixelValue:function(g,o){if(o==null)return!1;var a;switch(g){case 0:a=o>=-128&&o<=127;break;case 1:a=o>=0&&o<=255;break;case 2:a=o>=-32768&&o<=32767;break;case 3:a=o>=0&&o<=65536;break;case 4:a=o>=-2147483648&&o<=2147483647;break;case 5:a=o>=0&&o<=4294967296;break;case 6:a=o>=-34027999387901484e22&&o<=34027999387901484e22;break;case 7:a=o>=-17976931348623157e292&&o<=17976931348623157e292;break;default:a=!1}return a},getDataTypeSize:function(g){var o=0;switch(g){case 0:case 1:o=1;break;case 2:case 3:o=2;break;case 4:case 5:case 6:o=4;break;case 7:o=8;break;default:o=g}return o},getDataTypeUsed:function(g,o){var a=g;switch(g){case 2:case 4:a=g-o;break;case 3:case 5:a=g-2*o;break;case 6:o===0?a=g:o===1?a=2:a=1;break;case 7:o===0?a=g:a=g-2*o+1;break;default:a=g;break}return a},getOnePixel:function(g,o,a,I){var c=0;switch(a){case 0:c=I.getInt8(o);break;case 1:c=I.getUint8(o);break;case 2:c=I.getInt16(o,!0);break;case 3:c=I.getUint16(o,!0);break;case 4:c=I.getInt32(o,!0);break;case 5:c=I.getUInt32(o,!0);break;case 6:c=I.getFloat32(o,!0);break;case 7:c=I.getFloat64(o,!0);break;default:throw"the decoder does not understand this pixel type"}return c},swapDimensionOrder:function(g,o,a,I,c){var f=0,h=0,u=0,B=0,Q=g;if(a>1)if(Q=new I(o*a),c)for(f=0;f<o;f++)for(B=f,u=0;u<a;u++,B+=o)Q[B]=g[h++];else for(f=0;f<o;f++)for(B=f,u=0;u<a;u++,B+=o)Q[h++]=g[B];return Q}},l=function(g,o,a){this.val=g,this.left=o,this.right=a},s={decode:function(g,o){o=o||{};var a=o.noDataValue,I=0,c={};if(c.ptr=o.inputOffset||0,c.pixels={},!!n.readHeaderInfo(g,c)){var f=c.headerInfo,h=f.fileVersion,u=n.getDataTypeArray(f.imageType);if(h>5)throw"unsupported lerc version 2."+h;n.readMask(g,c),f.numValidPixel!==f.width*f.height&&!c.pixels.resultMask&&(c.pixels.resultMask=o.maskData);var B=f.width*f.height;c.pixels.resultPixels=new u(B*f.numDims),c.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var Q=!o.returnPixelInterleavedDims;if(f.numValidPixel!==0)if(f.zMax===f.zMin)n.constructConstantSurface(c,Q);else if(h>=4&&n.checkMinMaxRanges(g,c))n.constructConstantSurface(c,Q);else{var C=new DataView(g,c.ptr,2),p=C.getUint8(0);if(c.ptr++,p)n.readDataOneSweep(g,c,u,Q);else if(h>1&&f.imageType<=1&&Math.abs(f.maxZError-.5)<1e-5){var w=C.getUint8(1);if(c.ptr++,c.encodeMode=w,w>2||h<4&&w>1)throw"Invalid Huffman flag "+w;w?n.readHuffman(g,c,u,Q):n.readTiles(g,c,u,Q)}else n.readTiles(g,c,u,Q)}c.eofOffset=c.ptr;var d;o.inputOffset?(d=c.headerInfo.blobSize+o.inputOffset-c.ptr,Math.abs(d)>=1&&(c.eofOffset=o.inputOffset+c.headerInfo.blobSize)):(d=c.headerInfo.blobSize-c.ptr,Math.abs(d)>=1&&(c.eofOffset=c.headerInfo.blobSize));var E={width:f.width,height:f.height,pixelData:c.pixels.resultPixels,minValue:f.zMin,maxValue:f.zMax,validPixelCount:f.numValidPixel,dimCount:f.numDims,dimStats:{minValues:f.minValues,maxValues:f.maxValues},maskData:c.pixels.resultMask};if(c.pixels.resultMask&&n.isValidPixelValue(f.imageType,a)){var m=c.pixels.resultMask;for(I=0;I<B;I++)m[I]||(E.pixelData[I]=a);E.noDataValue=a}return c.noDataValue=a,o.returnFileInfo&&(E.fileInfo=n.formatFileInfo(c)),E}},getBandCount:function(g){var o=0,a=0,I={};for(I.ptr=0,I.pixels={};a<g.byteLength-58;)n.readHeaderInfo(g,I),a+=I.headerInfo.blobSize,o++,I.ptr=a;return o}};return s}(),A=function(){var r=new ArrayBuffer(4),n=new Uint8Array(r),l=new Uint32Array(r);return l[0]=1,n[0]===1}(),i={decode:function(r,n){if(!A)throw"Big endian system is not supported.";n=n||{};var l=n.inputOffset||0,s=new Uint8Array(r,l,10),g=String.fromCharCode.apply(null,s),o,a;if(g.trim()==="CntZImage")o=e,a=1;else if(g.substring(0,5)==="Lerc2")o=t,a=2;else throw"Unexpected file identifier string: "+g;for(var I=0,c=r.byteLength-10,f,h=[],u,B,Q={width:0,height:0,pixels:[],pixelType:n.pixelType,mask:null,statistics:[]},C=0;l<c;){var p=o.decode(r,{inputOffset:l,encodedMaskData:f,maskData:B,returnMask:I===0,returnEncodedMask:I===0,returnFileInfo:!0,returnPixelInterleavedDims:n.returnPixelInterleavedDims,pixelType:n.pixelType||null,noDataValue:n.noDataValue||null});l=p.fileInfo.eofOffset,B=p.maskData,I===0&&(f=p.encodedMaskData,Q.width=p.width,Q.height=p.height,Q.dimCount=p.dimCount||1,Q.pixelType=p.pixelType||p.fileInfo.pixelType,Q.mask=B),a>1&&(B&&h.push(B),p.fileInfo.mask&&p.fileInfo.mask.numBytes>0&&C++),I++,Q.pixels.push(p.pixelData),Q.statistics.push({minValue:p.minValue,maxValue:p.maxValue,noDataValue:p.noDataValue,dimStats:p.dimStats})}var w,d,E;if(a>1&&C>1){for(E=Q.width*Q.height,Q.bandMasks=h,B=new Uint8Array(E),B.set(h[0]),w=1;w<h.length;w++)for(u=h[w],d=0;d<E;d++)B[d]=B[d]&u[d];Q.maskData=B}return Q}};typeof define=="function"&&define.amd?define([],function(){return i}):typeof Rt<"u"&&Rt.exports?Rt.exports=i:this.Lerc=i})()});var YA,Se,Hi,Yi,Tt,qo,Yo=he(()=>{Yi={env:{emscripten_notify_memory_growth:function(e){Hi=new Uint8Array(Se.exports.memory.buffer)}}},Tt=class{init(){return YA||(typeof fetch<"u"?YA=fetch("data:application/wasm;base64,"+qo).then(t=>t.arrayBuffer()).then(t=>WebAssembly.instantiate(t,Yi)).then(this._init):YA=WebAssembly.instantiate(Buffer.from(qo,"base64"),Yi).then(this._init),YA)}_init(t){Se=t.instance,Yi.env.emscripten_notify_memory_growth(0)}decode(t,A=0){if(!Se)throw new Error("ZSTDDecoder: Await .init() before decoding.");let i=t.byteLength,r=Se.exports.malloc(i);Hi.set(t,r),A=A||Number(Se.exports.ZSTD_findDecompressedSize(r,i));let n=Se.exports.malloc(A),l=Se.exports.ZSTD_decompress(n,A,r,i),s=Hi.slice(n,n+l);return Se.exports.free(r),Se.exports.free(n),s}},qo="AGFzbQEAAAABpQEVYAF/AX9gAn9/AGADf39/AX9gBX9/f39/AX9gAX8AYAJ/fwF/YAR/f39/AX9gA39/fwBgBn9/f39/fwF/YAd/f39/f39/AX9gAn9/AX5gAn5+AX5gAABgBX9/f39/AGAGf39/f39/AGAIf39/f39/f38AYAl/f39/f39/f38AYAABf2AIf39/f39/f38Bf2ANf39/f39/f39/f39/fwF/YAF/AX4CJwEDZW52H2Vtc2NyaXB0ZW5fbm90aWZ5X21lbW9yeV9ncm93dGgABANpaAEFAAAFAgEFCwACAQABAgIFBQcAAwABDgsBAQcAEhMHAAUBDAQEAAANBwQCAgYCBAgDAwMDBgEACQkHBgICAAYGAgQUBwYGAwIGAAMCAQgBBwUGCgoEEQAEBAEIAwgDBQgDEA8IAAcABAUBcAECAgUEAQCAAgYJAX8BQaCgwAILB2AHBm1lbW9yeQIABm1hbGxvYwAoBGZyZWUAJgxaU1REX2lzRXJyb3IAaBlaU1REX2ZpbmREZWNvbXByZXNzZWRTaXplAFQPWlNURF9kZWNvbXByZXNzAEoGX3N0YXJ0ACQJBwEAQQELASQKussBaA8AIAAgACgCBCABajYCBAsZACAAKAIAIAAoAgRBH3F0QQAgAWtBH3F2CwgAIABBiH9LC34BBH9BAyEBIAAoAgQiA0EgTQRAIAAoAggiASAAKAIQTwRAIAAQDQ8LIAAoAgwiAiABRgRAQQFBAiADQSBJGw8LIAAgASABIAJrIANBA3YiBCABIARrIAJJIgEbIgJrIgQ2AgggACADIAJBA3RrNgIEIAAgBCgAADYCAAsgAQsUAQF/IAAgARACIQIgACABEAEgAgv3AQECfyACRQRAIABCADcCACAAQQA2AhAgAEIANwIIQbh/DwsgACABNgIMIAAgAUEEajYCECACQQRPBEAgACABIAJqIgFBfGoiAzYCCCAAIAMoAAA2AgAgAUF/ai0AACIBBEAgAEEIIAEQFGs2AgQgAg8LIABBADYCBEF/DwsgACABNgIIIAAgAS0AACIDNgIAIAJBfmoiBEEBTQRAIARBAWtFBEAgACABLQACQRB0IANyIgM2AgALIAAgAS0AAUEIdCADajYCAAsgASACakF/ai0AACIBRQRAIABBADYCBEFsDwsgAEEoIAEQFCACQQN0ams2AgQgAgsWACAAIAEpAAA3AAAgACABKQAINwAICy8BAX8gAUECdEGgHWooAgAgACgCAEEgIAEgACgCBGprQR9xdnEhAiAAIAEQASACCyEAIAFCz9bTvtLHq9lCfiAAfEIfiUKHla+vmLbem55/fgsdAQF/IAAoAgggACgCDEYEfyAAKAIEQSBGBUEACwuCBAEDfyACQYDAAE8EQCAAIAEgAhBnIAAPCyAAIAJqIQMCQCAAIAFzQQNxRQRAAkAgAkEBSARAIAAhAgwBCyAAQQNxRQRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADTw0BIAJBA3ENAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgA0F8aiIEIABJBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAsMACAAIAEpAAA3AAALQQECfyAAKAIIIgEgACgCEEkEQEEDDwsgACAAKAIEIgJBB3E2AgQgACABIAJBA3ZrIgE2AgggACABKAAANgIAQQALDAAgACABKAIANgAAC/cCAQJ/AkAgACABRg0AAkAgASACaiAASwRAIAAgAmoiBCABSw0BCyAAIAEgAhALDwsgACABc0EDcSEDAkACQCAAIAFJBEAgAwRAIAAhAwwDCyAAQQNxRQRAIAAhAwwCCyAAIQMDQCACRQ0EIAMgAS0AADoAACABQQFqIQEgAkF/aiECIANBAWoiA0EDcQ0ACwwBCwJAIAMNACAEQQNxBEADQCACRQ0FIAAgAkF/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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"});var Ko={};Te(Ko,{default:()=>vt,zstd:()=>Jo});var Ho,Jo,vt,Vo=he(()=>{qi();Ho=ve(Oo(),1);Yo();Ge();st();Jo=new Tt,vt=class extends Ae{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[$r.AddCompression]}decodeBlock(t){switch(this.addCompression){case ot.None:break;case ot.Deflate:t=kt(new Uint8Array(t)).buffer;break;case ot.Zstandard:t=Jo.decode(new Uint8Array(t)).buffer;break;default:throw new Error(`Unsupported LERC additional compression method identifier: ${this.addCompression}`)}return Ho.default.decode(t,{returnPixelInterleavedDims:this.planarConfiguration===1}).pixels[0].buffer}}});var Po={};Te(Po,{default:()=>Gt});var Gt,zo=he(()=>{Ge();Gt=class extends Ae{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,A){let i=new Blob([A]),r=await createImageBitmap(i),n;typeof document<"u"?(n=document.createElement("canvas"),n.width=r.width,n.height=r.height):n=new OffscreenCanvas(r.width,r.height);let l=n.getContext("2d");return l.drawImage(r,0,0),l.getImageData(0,0,r.width,r.height).data.buffer}}});var as=X(()=>{});var gs=X(()=>{});var ls=X(()=>{});var Kt=X(Fe=>{"use strict";var Fs=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",Lf=Fs+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",Ns="["+Fs+"]["+Lf+"]*",Mf=new RegExp("^"+Ns+"$"),Of=function(e,t){let A=[],i=t.exec(e);for(;i;){let r=[];r.startIndex=t.lastIndex-i[0].length;let n=i.length;for(let l=0;l<n;l++)r.push(i[l]);A.push(r),i=t.exec(e)}return A},qf=function(e){let t=Mf.exec(e);return!(t===null||typeof t>"u")};Fe.isExist=function(e){return typeof e<"u"};Fe.isEmptyObject=function(e){return Object.keys(e).length===0};Fe.merge=function(e,t,A){if(t){let i=Object.keys(t),r=i.length;for(let n=0;n<r;n++)A==="strict"?e[i[n]]=[t[i[n]]]:e[i[n]]=t[i[n]]}};Fe.getValue=function(e){return Fe.isExist(e)?e:""};Fe.isName=qf;Fe.getAllMatches=Of;Fe.nameRegexp=Ns});var or=X(Us=>{"use strict";var nr=Kt(),Yf={allowBooleanAttributes:!1,unpairedTags:[]};Us.validate=function(e,t){t=Object.assign({},Yf,t);let A=[],i=!1,r=!1;e[0]==="\uFEFF"&&(e=e.substr(1));for(let n=0;n<e.length;n++)if(e[n]==="<"&&e[n+1]==="?"){if(n+=2,n=Ts(e,n),n.err)return n}else if(e[n]==="<"){let l=n;if(n++,e[n]==="!"){n=vs(e,n);continue}else{let s=!1;e[n]==="/"&&(s=!0,n++);let g="";for(;n<e.length&&e[n]!==">"&&e[n]!==" "&&e[n]!==" "&&e[n]!==`
10
+ `&&e[n]!=="\r";n++)g+=e[n];if(g=g.trim(),g[g.length-1]==="/"&&(g=g.substring(0,g.length-1),n--),!Xf(g)){let I;return g.trim().length===0?I="Invalid space after '<'.":I="Tag '"+g+"' is an invalid name.",W("InvalidTag",I,ae(e,n))}let o=Kf(e,n);if(o===!1)return W("InvalidAttr","Attributes for '"+g+"' have open quote.",ae(e,n));let a=o.value;if(n=o.index,a[a.length-1]==="/"){let I=n-a.length;a=a.substring(0,a.length-1);let c=Gs(a,t);if(c===!0)i=!0;else return W(c.err.code,c.err.msg,ae(e,I+c.err.line))}else if(s)if(o.tagClosed){if(a.trim().length>0)return W("InvalidTag","Closing tag '"+g+"' can't have attributes or invalid starting.",ae(e,l));{let I=A.pop();if(g!==I.tagName){let c=ae(e,I.tagStartPos);return W("InvalidTag","Expected closing tag '"+I.tagName+"' (opened in line "+c.line+", col "+c.col+") instead of closing tag '"+g+"'.",ae(e,l))}A.length==0&&(r=!0)}}else return W("InvalidTag","Closing tag '"+g+"' doesn't have proper closing.",ae(e,n));else{let I=Gs(a,t);if(I!==!0)return W(I.err.code,I.err.msg,ae(e,n-a.length+I.err.line));if(r===!0)return W("InvalidXml","Multiple possible root nodes found.",ae(e,n));t.unpairedTags.indexOf(g)!==-1||A.push({tagName:g,tagStartPos:l}),i=!0}for(n++;n<e.length;n++)if(e[n]==="<")if(e[n+1]==="!"){n++,n=vs(e,n);continue}else if(e[n+1]==="?"){if(n=Ts(e,++n),n.err)return n}else break;else if(e[n]==="&"){let I=zf(e,n);if(I==-1)return W("InvalidChar","char '&' is not expected.",ae(e,n));n=I}else if(r===!0&&!Rs(e[n]))return W("InvalidXml","Extra text at the end",ae(e,n));e[n]==="<"&&n--}}else{if(Rs(e[n]))continue;return W("InvalidChar","char '"+e[n]+"' is not expected.",ae(e,n))}if(i){if(A.length==1)return W("InvalidTag","Unclosed tag '"+A[0].tagName+"'.",ae(e,A[0].tagStartPos));if(A.length>0)return W("InvalidXml","Invalid '"+JSON.stringify(A.map(n=>n.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return W("InvalidXml","Start tag expected.",1);return!0};function Rs(e){return e===" "||e===" "||e===`
11
+ `||e==="\r"}function Ts(e,t){let A=t;for(;t<e.length;t++)if(e[t]=="?"||e[t]==" "){let i=e.substr(A,t-A);if(t>5&&i==="xml")return W("InvalidXml","XML declaration allowed only at the start of the document.",ae(e,t));if(e[t]=="?"&&e[t+1]==">"){t++;break}else continue}return t}function vs(e,t){if(e.length>t+5&&e[t+1]==="-"&&e[t+2]==="-"){for(t+=3;t<e.length;t++)if(e[t]==="-"&&e[t+1]==="-"&&e[t+2]===">"){t+=2;break}}else if(e.length>t+8&&e[t+1]==="D"&&e[t+2]==="O"&&e[t+3]==="C"&&e[t+4]==="T"&&e[t+5]==="Y"&&e[t+6]==="P"&&e[t+7]==="E"){let A=1;for(t+=8;t<e.length;t++)if(e[t]==="<")A++;else if(e[t]===">"&&(A--,A===0))break}else if(e.length>t+9&&e[t+1]==="["&&e[t+2]==="C"&&e[t+3]==="D"&&e[t+4]==="A"&&e[t+5]==="T"&&e[t+6]==="A"&&e[t+7]==="["){for(t+=8;t<e.length;t++)if(e[t]==="]"&&e[t+1]==="]"&&e[t+2]===">"){t+=2;break}}return t}var Hf='"',Jf="'";function Kf(e,t){let A="",i="",r=!1;for(;t<e.length;t++){if(e[t]===Hf||e[t]===Jf)i===""?i=e[t]:i!==e[t]||(i="");else if(e[t]===">"&&i===""){r=!0;break}A+=e[t]}return i!==""?!1:{value:A,index:t,tagClosed:r}}var Vf=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function Gs(e,t){let A=nr.getAllMatches(e,Vf),i={};for(let r=0;r<A.length;r++){if(A[r][1].length===0)return W("InvalidAttr","Attribute '"+A[r][2]+"' has no space in starting.",PA(A[r]));if(A[r][3]!==void 0&&A[r][4]===void 0)return W("InvalidAttr","Attribute '"+A[r][2]+"' is without value.",PA(A[r]));if(A[r][3]===void 0&&!t.allowBooleanAttributes)return W("InvalidAttr","boolean attribute '"+A[r][2]+"' is not allowed.",PA(A[r]));let n=A[r][2];if(!Zf(n))return W("InvalidAttr","Attribute '"+n+"' is an invalid name.",PA(A[r]));if(!i.hasOwnProperty(n))i[n]=1;else return W("InvalidAttr","Attribute '"+n+"' is repeated.",PA(A[r]))}return!0}function Pf(e,t){let A=/\d/;for(e[t]==="x"&&(t++,A=/[\da-fA-F]/);t<e.length;t++){if(e[t]===";")return t;if(!e[t].match(A))break}return-1}function zf(e,t){if(t++,e[t]===";")return-1;if(e[t]==="#")return t++,Pf(e,t);let A=0;for(;t<e.length;t++,A++)if(!(e[t].match(/\w/)&&A<20)){if(e[t]===";")break;return-1}return t}function W(e,t,A){return{err:{code:e,msg:t,line:A.line||A,col:A.col}}}function Zf(e){return nr.isName(e)}function Xf(e){return nr.isName(e)}function ae(e,t){let A=e.substring(0,t).split(/\r?\n/);return{line:A.length,col:A[A.length-1].length+1}}function PA(e){return e.startIndex+e[1].length}});var Ms=X(sr=>{var Ls={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,t,A){return e}},jf=function(e){return Object.assign({},Ls,e)};sr.buildOptions=jf;sr.defaultOptions=Ls});var qs=X((H0,Os)=>{"use strict";var ar=class{constructor(t){this.tagname=t,this.child=[],this[":@"]={}}add(t,A){t==="__proto__"&&(t="#__proto__"),this.child.push({[t]:A})}addChild(t){t.tagname==="__proto__"&&(t.tagname="#__proto__"),t[":@"]&&Object.keys(t[":@"]).length>0?this.child.push({[t.tagname]:t.child,[":@"]:t[":@"]}):this.child.push({[t.tagname]:t.child})}};Os.exports=ar});var Hs=X((J0,Ys)=>{var $f=Kt();function Wf(e,t){let A={};if(e[t+3]==="O"&&e[t+4]==="C"&&e[t+5]==="T"&&e[t+6]==="Y"&&e[t+7]==="P"&&e[t+8]==="E"){t=t+9;let i=1,r=!1,n=!1,l="";for(;t<e.length;t++)if(e[t]==="<"&&!n){if(r&&tc(e,t))t+=7,[entityName,val,t]=ec(e,t+1),val.indexOf("&")===-1&&(A[oc(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(r&&ic(e,t))t+=8;else if(r&&rc(e,t))t+=8;else if(r&&nc(e,t))t+=9;else if(Ac)n=!0;else throw new Error("Invalid DOCTYPE");i++,l=""}else if(e[t]===">"){if(n?e[t-1]==="-"&&e[t-2]==="-"&&(n=!1,i--):i--,i===0)break}else e[t]==="["?r=!0:l+=e[t];if(i!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:A,i:t}}function ec(e,t){let A="";for(;t<e.length&&e[t]!=="'"&&e[t]!=='"';t++)A+=e[t];if(A=A.trim(),A.indexOf(" ")!==-1)throw new Error("External entites are not supported");let i=e[t++],r="";for(;t<e.length&&e[t]!==i;t++)r+=e[t];return[A,r,t]}function Ac(e,t){return e[t+1]==="!"&&e[t+2]==="-"&&e[t+3]==="-"}function tc(e,t){return e[t+1]==="!"&&e[t+2]==="E"&&e[t+3]==="N"&&e[t+4]==="T"&&e[t+5]==="I"&&e[t+6]==="T"&&e[t+7]==="Y"}function ic(e,t){return e[t+1]==="!"&&e[t+2]==="E"&&e[t+3]==="L"&&e[t+4]==="E"&&e[t+5]==="M"&&e[t+6]==="E"&&e[t+7]==="N"&&e[t+8]==="T"}function rc(e,t){return e[t+1]==="!"&&e[t+2]==="A"&&e[t+3]==="T"&&e[t+4]==="T"&&e[t+5]==="L"&&e[t+6]==="I"&&e[t+7]==="S"&&e[t+8]==="T"}function nc(e,t){return e[t+1]==="!"&&e[t+2]==="N"&&e[t+3]==="O"&&e[t+4]==="T"&&e[t+5]==="A"&&e[t+6]==="T"&&e[t+7]==="I"&&e[t+8]==="O"&&e[t+9]==="N"}function oc(e){if($f.isName(e))return e;throw new Error(`Invalid entity name ${e}`)}Ys.exports=Wf});var Ks=X((K0,Js)=>{var sc=/^[-+]?0x[a-fA-F0-9]+$/,ac=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var gc={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function lc(e,t={}){if(t=Object.assign({},gc,t),!e||typeof e!="string")return e;let A=e.trim();if(t.skipLike!==void 0&&t.skipLike.test(A))return e;if(t.hex&&sc.test(A))return Number.parseInt(A,16);{let i=ac.exec(A);if(i){let r=i[1],n=i[2],l=fc(i[3]),s=i[4]||i[6];if(!t.leadingZeros&&n.length>0&&r&&A[2]!==".")return e;if(!t.leadingZeros&&n.length>0&&!r&&A[1]!==".")return e;{let g=Number(A),o=""+g;return o.search(/[eE]/)!==-1||s?t.eNotation?g:e:A.indexOf(".")!==-1?o==="0"&&l===""||o===l||r&&o==="-"+l?g:e:n?l===o||r+l===o?g:e:A===o||A===r+o?g:e}}else return e}}function fc(e){return e&&e.indexOf(".")!==-1&&(e=e.replace(/0+$/,""),e==="."?e="0":e[0]==="."?e="0"+e:e[e.length-1]==="."&&(e=e.substr(0,e.length-1))),e}Js.exports=lc});var Ps=X((P0,Vs)=>{"use strict";var cr=Kt(),zA=qs(),cc=Hs(),Ic=Ks(),V0="<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,cr.nameRegexp),gr=class{constructor(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"}},this.addExternalEntities=hc,this.parseXml=dc,this.parseTextData=uc,this.resolveNameSpace=Bc,this.buildAttributesMap=Cc,this.isItStopNode=yc,this.replaceEntitiesValue=pc,this.readStopNodeData=_c,this.saveTextToParentTag=wc,this.addChild=Qc}};function hc(e){let t=Object.keys(e);for(let A=0;A<t.length;A++){let i=t[A];this.lastEntities[i]={regex:new RegExp("&"+i+";","g"),val:e[i]}}}function uc(e,t,A,i,r,n,l){if(e!==void 0&&(this.options.trimValues&&!i&&(e=e.trim()),e.length>0)){l||(e=this.replaceEntitiesValue(e));let s=this.options.tagValueProcessor(t,e,A,r,n);return s==null?e:typeof s!=typeof e||s!==e?s:this.options.trimValues?fr(e,this.options.parseTagValue,this.options.numberParseOptions):e.trim()===e?fr(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function Bc(e){if(this.options.removeNSPrefix){let t=e.split(":"),A=e.charAt(0)==="/"?"/":"";if(t[0]==="xmlns")return"";t.length===2&&(e=A+t[1])}return e}var Ec=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function Cc(e,t,A){if(!this.options.ignoreAttributes&&typeof e=="string"){let i=cr.getAllMatches(e,Ec),r=i.length,n={};for(let l=0;l<r;l++){let s=this.resolveNameSpace(i[l][1]),g=i[l][4],o=this.options.attributeNamePrefix+s;if(s.length)if(this.options.transformAttributeName&&(o=this.options.transformAttributeName(o)),o==="__proto__"&&(o="#__proto__"),g!==void 0){this.options.trimValues&&(g=g.trim()),g=this.replaceEntitiesValue(g);let a=this.options.attributeValueProcessor(s,g,t);a==null?n[o]=g:typeof a!=typeof g||a!==g?n[o]=a:n[o]=fr(g,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(n[o]=!0)}if(!Object.keys(n).length)return;if(this.options.attributesGroupName){let l={};return l[this.options.attributesGroupName]=n,l}return n}}var dc=function(e){e=e.replace(/\r\n?/g,`
12
+ `);let t=new zA("!xml"),A=t,i="",r="";for(let n=0;n<e.length;n++)if(e[n]==="<")if(e[n+1]==="/"){let s=AA(e,">",n,"Closing Tag is not closed."),g=e.substring(n+2,s).trim();if(this.options.removeNSPrefix){let I=g.indexOf(":");I!==-1&&(g=g.substr(I+1))}this.options.transformTagName&&(g=this.options.transformTagName(g)),A&&(i=this.saveTextToParentTag(i,A,r));let o=r.substring(r.lastIndexOf(".")+1);if(g&&this.options.unpairedTags.indexOf(g)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${g}>`);let a=0;o&&this.options.unpairedTags.indexOf(o)!==-1?(a=r.lastIndexOf(".",r.lastIndexOf(".")-1),this.tagsNodeStack.pop()):a=r.lastIndexOf("."),r=r.substring(0,a),A=this.tagsNodeStack.pop(),i="",n=s}else if(e[n+1]==="?"){let s=lr(e,n,!1,"?>");if(!s)throw new Error("Pi Tag is not closed.");if(i=this.saveTextToParentTag(i,A,r),!(this.options.ignoreDeclaration&&s.tagName==="?xml"||this.options.ignorePiTags)){let g=new zA(s.tagName);g.add(this.options.textNodeName,""),s.tagName!==s.tagExp&&s.attrExpPresent&&(g[":@"]=this.buildAttributesMap(s.tagExp,r,s.tagName)),this.addChild(A,g,r)}n=s.closeIndex+1}else if(e.substr(n+1,3)==="!--"){let s=AA(e,"-->",n+4,"Comment is not closed.");if(this.options.commentPropName){let g=e.substring(n+4,s-2);i=this.saveTextToParentTag(i,A,r),A.add(this.options.commentPropName,[{[this.options.textNodeName]:g}])}n=s}else if(e.substr(n+1,2)==="!D"){let s=cc(e,n);this.docTypeEntities=s.entities,n=s.i}else if(e.substr(n+1,2)==="!["){let s=AA(e,"]]>",n,"CDATA is not closed.")-2,g=e.substring(n+9,s);if(i=this.saveTextToParentTag(i,A,r),this.options.cdataPropName)A.add(this.options.cdataPropName,[{[this.options.textNodeName]:g}]);else{let o=this.parseTextData(g,A.tagname,r,!0,!1,!0);o==null&&(o=""),A.add(this.options.textNodeName,o)}n=s+2}else{let s=lr(e,n,this.options.removeNSPrefix),g=s.tagName,o=s.tagExp,a=s.attrExpPresent,I=s.closeIndex;this.options.transformTagName&&(g=this.options.transformTagName(g)),A&&i&&A.tagname!=="!xml"&&(i=this.saveTextToParentTag(i,A,r,!1));let c=A;if(c&&this.options.unpairedTags.indexOf(c.tagname)!==-1&&(A=this.tagsNodeStack.pop(),r=r.substring(0,r.lastIndexOf("."))),g!==t.tagname&&(r+=r?"."+g:g),this.isItStopNode(this.options.stopNodes,r,g)){let f="";if(o.length>0&&o.lastIndexOf("/")===o.length-1)n=s.closeIndex;else if(this.options.unpairedTags.indexOf(g)!==-1)n=s.closeIndex;else{let u=this.readStopNodeData(e,g,I+1);if(!u)throw new Error(`Unexpected end of ${g}`);n=u.i,f=u.tagContent}let h=new zA(g);g!==o&&a&&(h[":@"]=this.buildAttributesMap(o,r,g)),f&&(f=this.parseTextData(f,g,r,!0,a,!0,!0)),r=r.substr(0,r.lastIndexOf(".")),h.add(this.options.textNodeName,f),this.addChild(A,h,r)}else{if(o.length>0&&o.lastIndexOf("/")===o.length-1){g[g.length-1]==="/"?(g=g.substr(0,g.length-1),o=g):o=o.substr(0,o.length-1),this.options.transformTagName&&(g=this.options.transformTagName(g));let f=new zA(g);g!==o&&a&&(f[":@"]=this.buildAttributesMap(o,r,g)),this.addChild(A,f,r),r=r.substr(0,r.lastIndexOf("."))}else{let f=new zA(g);this.tagsNodeStack.push(A),g!==o&&a&&(f[":@"]=this.buildAttributesMap(o,r,g)),this.addChild(A,f,r),A=f}i="",n=I}}else i+=e[n];return t.child};function Qc(e,t,A){let i=this.options.updateTag(t.tagname,A,t[":@"]);i===!1||(typeof i=="string"&&(t.tagname=i),e.addChild(t))}var pc=function(e){if(this.options.processEntities){for(let t in this.docTypeEntities){let A=this.docTypeEntities[t];e=e.replace(A.regx,A.val)}for(let t in this.lastEntities){let A=this.lastEntities[t];e=e.replace(A.regex,A.val)}if(this.options.htmlEntities)for(let t in this.htmlEntities){let A=this.htmlEntities[t];e=e.replace(A.regex,A.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function wc(e,t,A,i){return e&&(i===void 0&&(i=Object.keys(t.child).length===0),e=this.parseTextData(e,t.tagname,A,!1,t[":@"]?Object.keys(t[":@"]).length!==0:!1,i),e!==void 0&&e!==""&&t.add(this.options.textNodeName,e),e=""),e}function yc(e,t,A){let i="*."+A;for(let r in e){let n=e[r];if(i===n||t===n)return!0}return!1}function mc(e,t,A=">"){let i,r="";for(let n=t;n<e.length;n++){let l=e[n];if(i)l===i&&(i="");else if(l==='"'||l==="'")i=l;else if(l===A[0])if(A[1]){if(e[n+1]===A[1])return{data:r,index:n}}else return{data:r,index:n};else l===" "&&(l=" ");r+=l}}function AA(e,t,A,i){let r=e.indexOf(t,A);if(r===-1)throw new Error(i);return r+t.length-1}function lr(e,t,A,i=">"){let r=mc(e,t+1,i);if(!r)return;let n=r.data,l=r.index,s=n.search(/\s/),g=n,o=!0;if(s!==-1&&(g=n.substr(0,s).replace(/\s\s*$/,""),n=n.substr(s+1)),A){let a=g.indexOf(":");a!==-1&&(g=g.substr(a+1),o=g!==r.data.substr(a+1))}return{tagName:g,tagExp:n,closeIndex:l,attrExpPresent:o}}function _c(e,t,A){let i=A,r=1;for(;A<e.length;A++)if(e[A]==="<")if(e[A+1]==="/"){let n=AA(e,">",A,`${t} is not closed`);if(e.substring(A+2,n).trim()===t&&(r--,r===0))return{tagContent:e.substring(i,A),i:n};A=n}else if(e[A+1]==="?")A=AA(e,"?>",A+1,"StopNode is not closed.");else if(e.substr(A+1,3)==="!--")A=AA(e,"-->",A+3,"StopNode is not closed.");else if(e.substr(A+1,2)==="![")A=AA(e,"]]>",A,"StopNode is not closed.")-2;else{let n=lr(e,A,">");n&&((n&&n.tagName)===t&&n.tagExp[n.tagExp.length-1]!=="/"&&r++,A=n.closeIndex)}}function fr(e,t,A){if(t&&typeof e=="string"){let i=e.trim();return i==="true"?!0:i==="false"?!1:Ic(e,A)}else return cr.isExist(e)?e:""}Vs.exports=gr});var Xs=X(Zs=>{"use strict";function xc(e,t){return zs(e,t)}function zs(e,t,A){let i,r={};for(let n=0;n<e.length;n++){let l=e[n],s=Dc(l),g="";if(A===void 0?g=s:g=A+"."+s,s===t.textNodeName)i===void 0?i=l[s]:i+=""+l[s];else{if(s===void 0)continue;if(l[s]){let o=zs(l[s],t,g),a=Sc(o,t);l[":@"]?bc(o,l[":@"],g,t):Object.keys(o).length===1&&o[t.textNodeName]!==void 0&&!t.alwaysCreateTextNode?o=o[t.textNodeName]:Object.keys(o).length===0&&(t.alwaysCreateTextNode?o[t.textNodeName]="":o=""),r[s]!==void 0&&r.hasOwnProperty(s)?(Array.isArray(r[s])||(r[s]=[r[s]]),r[s].push(o)):t.isArray(s,g,a)?r[s]=[o]:r[s]=o}}}return typeof i=="string"?i.length>0&&(r[t.textNodeName]=i):i!==void 0&&(r[t.textNodeName]=i),r}function Dc(e){let t=Object.keys(e);for(let A=0;A<t.length;A++){let i=t[A];if(i!==":@")return i}}function bc(e,t,A,i){if(t){let r=Object.keys(t),n=r.length;for(let l=0;l<n;l++){let s=r[l];i.isArray(s,A+"."+s,!0,!0)?e[s]=[t[s]]:e[s]=t[s]}}}function Sc(e,t){let{textNodeName:A}=t,i=Object.keys(e).length;return!!(i===0||i===1&&(e[A]||typeof e[A]=="boolean"||e[A]===0))}Zs.prettify=xc});var $s=X((Z0,js)=>{var{buildOptions:kc}=Ms(),Fc=Ps(),{prettify:Nc}=Xs(),Rc=or(),Ir=class{constructor(t){this.externalEntities={},this.options=kc(t)}parse(t,A){if(typeof t!="string")if(t.toString)t=t.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(A){A===!0&&(A={});let n=Rc.validate(t,A);if(n!==!0)throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`)}let i=new Fc(this.options);i.addExternalEntities(this.externalEntities);let r=i.parseXml(t);return this.options.preserveOrder||r===void 0?r:Nc(r,this.options)}addEntity(t,A){if(A.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(t.indexOf("&")!==-1||t.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(A==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[t]=A}};js.exports=Ir});var ia=X((X0,ta)=>{var Tc=`
13
+ `;function vc(e,t){let A="";return t.format&&t.indentBy.length>0&&(A=Tc),ea(e,t,"",A)}function ea(e,t,A,i){let r="",n=!1;for(let l=0;l<e.length;l++){let s=e[l],g=Gc(s),o="";if(A.length===0?o=g:o=`${A}.${g}`,g===t.textNodeName){let h=s[g];Uc(o,t)||(h=t.tagValueProcessor(g,h),h=Aa(h,t)),n&&(r+=i),r+=h,n=!1;continue}else if(g===t.cdataPropName){n&&(r+=i),r+=`<![CDATA[${s[g][0][t.textNodeName]}]]>`,n=!1;continue}else if(g===t.commentPropName){r+=i+`<!--${s[g][0][t.textNodeName]}-->`,n=!0;continue}else if(g[0]==="?"){let h=Ws(s[":@"],t),u=g==="?xml"?"":i,B=s[g][0][t.textNodeName];B=B.length!==0?" "+B:"",r+=u+`<${g}${B}${h}?>`,n=!0;continue}let a=i;a!==""&&(a+=t.indentBy);let I=Ws(s[":@"],t),c=i+`<${g}${I}`,f=ea(s[g],t,o,a);t.unpairedTags.indexOf(g)!==-1?t.suppressUnpairedNode?r+=c+">":r+=c+"/>":(!f||f.length===0)&&t.suppressEmptyNode?r+=c+"/>":f&&f.endsWith(">")?r+=c+`>${f}${i}</${g}>`:(r+=c+">",f&&i!==""&&(f.includes("/>")||f.includes("</"))?r+=i+t.indentBy+f+i:r+=f,r+=`</${g}>`),n=!0}return r}function Gc(e){let t=Object.keys(e);for(let A=0;A<t.length;A++){let i=t[A];if(i!==":@")return i}}function Ws(e,t){let A="";if(e&&!t.ignoreAttributes)for(let i in e){let r=t.attributeValueProcessor(i,e[i]);r=Aa(r,t),r===!0&&t.suppressBooleanAttributes?A+=` ${i.substr(t.attributeNamePrefix.length)}`:A+=` ${i.substr(t.attributeNamePrefix.length)}="${r}"`}return A}function Uc(e,t){e=e.substr(0,e.length-t.textNodeName.length-1);let A=e.substr(e.lastIndexOf(".")+1);for(let i in t.stopNodes)if(t.stopNodes[i]===e||t.stopNodes[i]==="*."+A)return!0;return!1}function Aa(e,t){if(e&&e.length>0&&t.processEntities)for(let A=0;A<t.entities.length;A++){let i=t.entities[A];e=e.replace(i.regex,i.val)}return e}ta.exports=vc});var na=X((j0,ra)=>{"use strict";var Lc=ia(),Mc={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function Ke(e){this.options=Object.assign({},Mc,e),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=Yc),this.processTextOrObjNode=Oc,this.options.format?(this.indentate=qc,this.tagEndChar=`>
14
+ `,this.newLine=`
15
+ `):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Ke.prototype.build=function(e){return this.options.preserveOrder?Lc(e,this.options):(Array.isArray(e)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(e={[this.options.arrayNodeName]:e}),this.j2x(e,0).val)};Ke.prototype.j2x=function(e,t){let A="",i="";for(let r in e)if(!(typeof e[r]>"u"))if(e[r]===null)r[0]==="?"?i+=this.indentate(t)+"<"+r+"?"+this.tagEndChar:i+=this.indentate(t)+"<"+r+"/"+this.tagEndChar;else if(e[r]instanceof Date)i+=this.buildTextValNode(e[r],r,"",t);else if(typeof e[r]!="object"){let n=this.isAttribute(r);if(n)A+=this.buildAttrPairStr(n,""+e[r]);else if(r===this.options.textNodeName){let l=this.options.tagValueProcessor(r,""+e[r]);i+=this.replaceEntitiesValue(l)}else i+=this.buildTextValNode(e[r],r,"",t)}else if(Array.isArray(e[r])){let n=e[r].length,l="";for(let s=0;s<n;s++){let g=e[r][s];typeof g>"u"||(g===null?r[0]==="?"?i+=this.indentate(t)+"<"+r+"?"+this.tagEndChar:i+=this.indentate(t)+"<"+r+"/"+this.tagEndChar:typeof g=="object"?this.options.oneListGroup?l+=this.j2x(g,t+1).val:l+=this.processTextOrObjNode(g,r,t):l+=this.buildTextValNode(g,r,"",t))}this.options.oneListGroup&&(l=this.buildObjectNode(l,r,"",t)),i+=l}else if(this.options.attributesGroupName&&r===this.options.attributesGroupName){let n=Object.keys(e[r]),l=n.length;for(let s=0;s<l;s++)A+=this.buildAttrPairStr(n[s],""+e[r][n[s]])}else i+=this.processTextOrObjNode(e[r],r,t);return{attrStr:A,val:i}};Ke.prototype.buildAttrPairStr=function(e,t){return t=this.options.attributeValueProcessor(e,""+t),t=this.replaceEntitiesValue(t),this.options.suppressBooleanAttributes&&t==="true"?" "+e:" "+e+'="'+t+'"'};function Oc(e,t,A){let i=this.j2x(e,A+1);return e[this.options.textNodeName]!==void 0&&Object.keys(e).length===1?this.buildTextValNode(e[this.options.textNodeName],t,i.attrStr,A):this.buildObjectNode(i.val,t,i.attrStr,A)}Ke.prototype.buildObjectNode=function(e,t,A,i){if(e==="")return t[0]==="?"?this.indentate(i)+"<"+t+A+"?"+this.tagEndChar:this.indentate(i)+"<"+t+A+this.closeTag(t)+this.tagEndChar;{let r="</"+t+this.tagEndChar,n="";return t[0]==="?"&&(n="?",r=""),A&&e.indexOf("<")===-1?this.indentate(i)+"<"+t+A+n+">"+e+r:this.options.commentPropName!==!1&&t===this.options.commentPropName&&n.length===0?this.indentate(i)+`<!--${e}-->`+this.newLine:this.indentate(i)+"<"+t+A+n+this.tagEndChar+e+this.indentate(i)+r}};Ke.prototype.closeTag=function(e){let t="";return this.options.unpairedTags.indexOf(e)!==-1?this.options.suppressUnpairedNode||(t="/"):this.options.suppressEmptyNode?t="/":t=`></${e}`,t};Ke.prototype.buildTextValNode=function(e,t,A,i){if(this.options.cdataPropName!==!1&&t===this.options.cdataPropName)return this.indentate(i)+`<![CDATA[${e}]]>`+this.newLine;if(this.options.commentPropName!==!1&&t===this.options.commentPropName)return this.indentate(i)+`<!--${e}-->`+this.newLine;if(t[0]==="?")return this.indentate(i)+"<"+t+A+"?"+this.tagEndChar;{let r=this.options.tagValueProcessor(t,e);return r=this.replaceEntitiesValue(r),r===""?this.indentate(i)+"<"+t+A+this.closeTag(t)+this.tagEndChar:this.indentate(i)+"<"+t+A+">"+r+"</"+t+this.tagEndChar}};Ke.prototype.replaceEntitiesValue=function(e){if(e&&e.length>0&&this.options.processEntities)for(let t=0;t<this.options.entities.length;t++){let A=this.options.entities[t];e=e.replace(A.regex,A.val)}return e};function qc(e){return this.options.indentBy.repeat(e)}function Yc(e){return e.startsWith(this.options.attributeNamePrefix)?e.substr(this.attrPrefixLen):!1}ra.exports=Ke});var sa=X(($0,oa)=>{"use strict";var Hc=or(),Jc=$s(),Kc=na();oa.exports={XMLParser:Jc,XMLValidator:Hc,XMLBuilder:Kc}});var ZA={};Te(ZA,{GeoTIFFLoader:()=>Qs,TiffPixelSource:()=>QA,loadGeoTiff:()=>ca});$A(ZA,ve(Br(),1));var Er="Cannot convert undefined or null to object";function K(e){return(t,...A)=>Qa(e,t,A)}function tA(e,t){return K(WA(e,t).get)}var{apply:Qa,construct:$c,defineProperty:Wc,get:eI,getOwnPropertyDescriptor:WA,getPrototypeOf:et,has:AI,ownKeys:dr,set:tI,setPrototypeOf:iI}=Reflect;var{MAX_SAFE_INTEGER:rI,isFinite:nI,isNaN:oI}=Number,{iterator:iA,species:sI,toStringTag:pa,for:aI}=Symbol,At=Object,{create:tt,defineProperty:Qr,freeze:gI,is:lI}=At,Pt=At.prototype,fI=Pt.__lookupGetter__?K(Pt.__lookupGetter__):(e,t)=>{if(e==null)throw ma(Er);let A=At(e);do{let i=WA(A,t);if(i!==void 0)return wa(i,"get")?i.get:void 0}while((A=et(A))!==null)},wa=At.hasOwn||K(Pt.hasOwnProperty),pr=Array,cI=pr.isArray,it=pr.prototype,II=K(it.join),hI=K(it.push),uI=K(it.toLocaleString),zt=it[iA],wr=K(zt);var rt=ArrayBuffer,BI=rt.isView,yr=rt.prototype,EI=K(yr.slice),CI=tA(yr,"byteLength"),Cr=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:null,dI=Cr&&tA(Cr.prototype,"byteLength"),mr=et(Uint8Array),QI=mr.from,re=mr.prototype,pI=re[iA],wI=K(re.keys),yI=K(re.values),mI=K(re.entries),_I=K(re.set),xI=K(re.reverse),DI=K(re.fill),bI=K(re.copyWithin),SI=K(re.sort),kI=K(re.slice),FI=K(re.subarray),NI=tA(re,"buffer"),RI=tA(re,"byteOffset"),TI=tA(re,"length"),vI=tA(re,pa);var Pe=Uint32Array,_r=Float32Array,rA=et([][iA]()),Zt=K(rA.next),xr=K(function*(){}().next),Dr=et(rA),br=DataView.prototype,Sr=K(br.getUint16),ya=K(br.setUint16),ma=TypeError;var _a=WeakSet,kr=_a.prototype,GI=K(kr.add),UI=K(kr.has),nt=WeakMap,Xt=nt.prototype,jt=K(Xt.get),LI=K(Xt.has),Fr=K(Xt.set);var Nr=new nt,xa=tt(null,{next:{value:function(){let t=jt(Nr,this);return Zt(t)}},[iA]:{value:function(){return this}}});function Rr(e){if(e[iA]===zt&&rA.next===Zt)return e;let t=tt(xa);return Fr(Nr,t,wr(e)),t}var Da=new nt,ba=tt(Dr,{next:{value:function(){let t=jt(Da,this);return xr(t)},writable:!0,configurable:!0}});for(let e of dr(rA))e!=="next"&&Qr(ba,e,WA(rA,e));var Tr=new rt(4),Sa=new _r(Tr),ka=new Pe(Tr),Ce=new Pe(512),de=new Pe(512);for(let e=0;e<256;++e){let t=e-127;t<-27?(Ce[e]=0,Ce[e|256]=32768,de[e]=24,de[e|256]=24):t<-14?(Ce[e]=1024>>-t-14,Ce[e|256]=1024>>-t-14|32768,de[e]=-t-1,de[e|256]=-t-1):t<=15?(Ce[e]=t+15<<10,Ce[e|256]=t+15<<10|32768,de[e]=13,de[e|256]=13):t<128?(Ce[e]=31744,Ce[e|256]=64512,de[e]=24,de[e|256]=24):(Ce[e]=31744,Ce[e|256]=64512,de[e]=13,de[e|256]=13)}var $t=new Pe(2048),nA=new Pe(64),vr=new Pe(64);for(let e=1;e<1024;++e){let t=e<<13,A=0;for(;!(t&8388608);)t<<=1,A-=8388608;t&=-8388609,A+=947912704,$t[e]=t|A}for(let e=1024;e<2048;++e)$t[e]=939524096+(e-1024<<13);for(let e=1;e<31;++e)nA[e]=e<<23;nA[31]=1199570944;nA[32]=2147483648;for(let e=33;e<63;++e)nA[e]=2147483648+(e-32<<23);nA[63]=3347054592;for(let e=1;e<64;++e)e!==32&&(vr[e]=1024);function Gr(e){let t=e>>10;return ka[0]=$t[vr[t]+(e&1023)]+nA[t],Sa[0]}function pA(e,t,...A){return Gr(Sr(e,t,...Rr(A)))}var Lt=ve(Lr(),1),Wo=ve(Zr(),1);st();function Wr(e,t){let{width:A,height:i}=e,r=new Uint8Array(A*i*3),n;for(let l=0,s=0;l<e.length;++l,s+=3)n=256-e[l]/t*256,r[s]=n,r[s+1]=n,r[s+2]=n;return r}function en(e,t){let{width:A,height:i}=e,r=new Uint8Array(A*i*3),n;for(let l=0,s=0;l<e.length;++l,s+=3)n=e[l]/t*256,r[s]=n,r[s+1]=n,r[s+2]=n;return r}function An(e,t){let{width:A,height:i}=e,r=new Uint8Array(A*i*3),n=t.length/3,l=t.length/3*2;for(let s=0,g=0;s<e.length;++s,g+=3){let o=e[s];r[g]=t[o]/65536*256,r[g+1]=t[o+n]/65536*256,r[g+2]=t[o+l]/65536*256}return r}function tn(e){let{width:t,height:A}=e,i=new Uint8Array(t*A*3);for(let r=0,n=0;r<e.length;r+=4,n+=3){let l=e[r],s=e[r+1],g=e[r+2],o=e[r+3];i[n]=255*((255-l)/256)*((255-o)/256),i[n+1]=255*((255-s)/256)*((255-o)/256),i[n+2]=255*((255-g)/256)*((255-o)/256)}return i}function rn(e){let{width:t,height:A}=e,i=new Uint8ClampedArray(t*A*3);for(let r=0,n=0;r<e.length;r+=3,n+=3){let l=e[r],s=e[r+1],g=e[r+2];i[n]=l+1.402*(g-128),i[n+1]=l-.34414*(s-128)-.71414*(g-128),i[n+2]=l+1.772*(s-128)}return i}var Ta=.95047,va=1,Ga=1.08883;function nn(e){let{width:t,height:A}=e,i=new Uint8Array(t*A*3);for(let r=0,n=0;r<e.length;r+=3,n+=3){let l=e[r+0],s=e[r+1]<<24>>24,g=e[r+2]<<24>>24,o=(l+16)/116,a=s/500+o,I=o-g/200,c,f,h;a=Ta*(a*a*a>.008856?a*a*a:(a-16/116)/7.787),o=va*(o*o*o>.008856?o*o*o:(o-16/116)/7.787),I=Ga*(I*I*I>.008856?I*I*I:(I-16/116)/7.787),c=a*3.2406+o*-1.5372+I*-.4986,f=a*-.9689+o*1.8758+I*.0415,h=a*.0557+o*-.204+I*1.057,c=c>.0031308?1.055*c**(1/2.4)-.055:12.92*c,f=f>.0031308?1.055*f**(1/2.4)-.055:12.92*f,h=h>.0031308?1.055*h**(1/2.4)-.055:12.92*h,i[n]=Math.max(0,Math.min(1,c))*255,i[n+1]=Math.max(0,Math.min(1,f))*255,i[n+2]=Math.max(0,Math.min(1,h))*255}return i}var Zo=new Map;function Ye(e,t){Array.isArray(e)||(e=[e]),e.forEach(A=>Zo.set(A,t))}async function Xo(e){let t=Zo.get(e.Compression);if(!t)throw new Error(`Unknown compression method identifier: ${e.Compression}`);let A=await t();return new A(e)}Ye([void 0,1],()=>Promise.resolve().then(()=>(gn(),an)).then(e=>e.default));Ye(5,()=>Promise.resolve().then(()=>(cn(),fn)).then(e=>e.default));Ye(6,()=>{throw new Error("old style JPEG compression is not supported.")});Ye(7,()=>Promise.resolve().then(()=>(un(),hn)).then(e=>e.default));Ye([8,32946],()=>Promise.resolve().then(()=>(Uo(),Go)).then(e=>e.default));Ye(32773,()=>Promise.resolve().then(()=>(Mo(),Lo)).then(e=>e.default));Ye(34887,()=>Promise.resolve().then(()=>(Vo(),Ko)).then(async e=>(await e.zstd.init(),e)).then(e=>e.default));Ye(50001,()=>Promise.resolve().then(()=>(zo(),Po)).then(e=>e.default));function Ut(e,t,A,i=1){return new(Object.getPrototypeOf(e)).constructor(t*A*i)}function mf(e,t,A,i,r){let n=t/i,l=A/r;return e.map(s=>{let g=Ut(s,i,r);for(let o=0;o<r;++o){let a=Math.min(Math.round(l*o),A-1);for(let I=0;I<i;++I){let c=Math.min(Math.round(n*I),t-1),f=s[a*t+c];g[o*i+I]=f}}return g})}function EA(e,t,A){return(1-A)*e+A*t}function _f(e,t,A,i,r){let n=t/i,l=A/r;return e.map(s=>{let g=Ut(s,i,r);for(let o=0;o<r;++o){let a=l*o,I=Math.floor(a),c=Math.min(Math.ceil(a),A-1);for(let f=0;f<i;++f){let h=n*f,u=h%1,B=Math.floor(h),Q=Math.min(Math.ceil(h),t-1),C=s[I*t+B],p=s[I*t+Q],w=s[c*t+B],d=s[c*t+Q],E=EA(EA(C,p,u),EA(w,d,u),a%1);g[o*i+f]=E}}return g})}function jo(e,t,A,i,r,n="nearest"){switch(n.toLowerCase()){case"nearest":return mf(e,t,A,i,r);case"bilinear":case"linear":return _f(e,t,A,i,r);default:throw new Error(`Unsupported resampling method: '${n}'`)}}function xf(e,t,A,i,r,n){let l=t/i,s=A/r,g=Ut(e,i,r,n);for(let o=0;o<r;++o){let a=Math.min(Math.round(s*o),A-1);for(let I=0;I<i;++I){let c=Math.min(Math.round(l*I),t-1);for(let f=0;f<n;++f){let h=e[a*t*n+c*n+f];g[o*i*n+I*n+f]=h}}}return g}function Df(e,t,A,i,r,n){let l=t/i,s=A/r,g=Ut(e,i,r,n);for(let o=0;o<r;++o){let a=s*o,I=Math.floor(a),c=Math.min(Math.ceil(a),A-1);for(let f=0;f<i;++f){let h=l*f,u=h%1,B=Math.floor(h),Q=Math.min(Math.ceil(h),t-1);for(let C=0;C<n;++C){let p=e[I*t*n+B*n+C],w=e[I*t*n+Q*n+C],d=e[c*t*n+B*n+C],E=e[c*t*n+Q*n+C],m=EA(EA(p,w,u),EA(d,E,u),a%1);g[o*i*n+f*n+C]=m}}}return g}function $o(e,t,A,i,r,n,l="nearest"){switch(l.toLowerCase()){case"nearest":return xf(e,t,A,i,r,n);case"bilinear":case"linear":return Df(e,t,A,i,r,n);default:throw new Error(`Unsupported resampling method: '${l}'`)}}function bf(e,t,A){let i=0;for(let r=t;r<A;++r)i+=e[r];return i}function Ji(e,t,A){switch(e){case 1:if(t<=8)return new Uint8Array(A);if(t<=16)return new Uint16Array(A);if(t<=32)return new Uint32Array(A);break;case 2:if(t===8)return new Int8Array(A);if(t===16)return new Int16Array(A);if(t===32)return new Int32Array(A);break;case 3:switch(t){case 16:case 32:return new Float32Array(A);case 64:return new Float64Array(A);default:break}break;default:break}throw Error("Unsupported data format/bitsPerSample")}function Sf(e,t){return(e===1||e===2)&&t<=32&&t%8===0?!1:!(e===3&&(t===16||t===32||t===64))}function kf(e,t,A,i,r,n,l){let s=new DataView(e),g=A===2?l*n:l*n*i,o=A===2?1:i,a=Ji(t,r,g),I=parseInt("1".repeat(r),2);if(t===1){let c;A===1?c=i*r:c=r;let f=n*c;f&7&&(f=f+7&-8);for(let h=0;h<l;++h){let u=h*f;for(let B=0;B<n;++B){let Q=u+B*o*r;for(let C=0;C<o;++C){let p=Q+C*r,w=(h*n+B)*o+C,d=Math.floor(p/8),E=p%8;if(E+r<=8)a[w]=s.getUint8(d)>>8-r-E&I;else if(E+r<=16)a[w]=s.getUint16(d)>>16-r-E&I;else if(E+r<=24){let m=s.getUint16(d)<<8|s.getUint8(d+2);a[w]=m>>24-r-E&I}else a[w]=s.getUint32(d)>>32-r-E&I}}}}return a.buffer}var Ki=class{constructor(t,A,i,r,n,l){this.fileDirectory=t,this.geoKeys=A,this.dataView=i,this.littleEndian=r,this.tiles=n?{}:null,this.isTiled=!t.StripOffsets;let s=t.PlanarConfiguration;if(this.planarConfiguration=typeof s>"u"?1:s,this.planarConfiguration!==1&&this.planarConfiguration!==2)throw new Error("Invalid planar configuration.");this.source=l}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 A=0;A<this.fileDirectory.BitsPerSample.length;++A)t+=this.getSampleByteSize(A);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 A=this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[t]:1,i=this.fileDirectory.BitsPerSample[t];switch(A){case 1:if(i<=8)return DataView.prototype.getUint8;if(i<=16)return DataView.prototype.getUint16;if(i<=32)return DataView.prototype.getUint32;break;case 2:if(i<=8)return DataView.prototype.getInt8;if(i<=16)return DataView.prototype.getInt16;if(i<=32)return DataView.prototype.getInt32;break;case 3:switch(i){case 16:return function(r,n){return pA(this,r,n)};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,A){let i=this.getSampleFormat(t),r=this.getBitsPerSample(t);return Ji(i,r,A)}async getTileOrStrip(t,A,i,r,n){let l=Math.ceil(this.getWidth()/this.getTileWidth()),s=Math.ceil(this.getHeight()/this.getTileHeight()),g,{tiles:o}=this;this.planarConfiguration===1?g=A*l+t:this.planarConfiguration===2&&(g=i*l*s+A*l+t);let a,I;this.isTiled?(a=this.fileDirectory.TileOffsets[g],I=this.fileDirectory.TileByteCounts[g]):(a=this.fileDirectory.StripOffsets[g],I=this.fileDirectory.StripByteCounts[g]);let c=(await this.source.fetch([{offset:a,length:I}],n))[0],f;return o===null||!o[g]?(f=(async()=>{let h=await r.decode(this.fileDirectory,c),u=this.getSampleFormat(),B=this.getBitsPerSample();return Sf(u,B)&&(h=kf(h,u,this.planarConfiguration,this.getSamplesPerPixel(),B,this.getTileWidth(),this.getBlockHeight(A))),h})(),o!==null&&(o[g]=f)):f=o[g],{x:t,y:A,sample:i,data:await f}}async _readRaster(t,A,i,r,n,l,s,g,o){let a=this.getTileWidth(),I=this.getTileHeight(),c=this.getWidth(),f=this.getHeight(),h=Math.max(Math.floor(t[0]/a),0),u=Math.min(Math.ceil(t[2]/a),Math.ceil(c/a)),B=Math.max(Math.floor(t[1]/I),0),Q=Math.min(Math.ceil(t[3]/I),Math.ceil(f/I)),C=t[2]-t[0],p=this.getBytesPerPixel(),w=[],d=[];for(let y=0;y<A.length;++y)this.planarConfiguration===1?w.push(bf(this.fileDirectory.BitsPerSample,0,A[y])/8):w.push(0),d.push(this.getReaderForSample(A[y]));let E=[],{littleEndian:m}=this;for(let y=B;y<Q;++y)for(let b=h;b<u;++b){let x;this.planarConfiguration===1&&(x=this.getTileOrStrip(b,y,0,n,o));for(let D=0;D<A.length;++D){let k=D,O=A[D];this.planarConfiguration===2&&(p=this.getSampleByteSize(O),x=this.getTileOrStrip(b,y,O,n,o));let S=x.then(_=>{let N=_.data,L=new DataView(N),F=this.getBlockHeight(_.y),T=_.y*I,R=_.x*a,Y=T+F,J=(_.x+1)*a,z=d[k],U=Math.min(F,F-(Y-t[3]),f-T),v=Math.min(a,a-(J-t[2]),c-R);for(let G=Math.max(0,t[1]-T);G<U;++G)for(let V=Math.max(0,t[0]-R);V<v;++V){let P=(G*a+V)*p,$=z.call(L,P+w[k],m),j;r?(j=(G+T-t[1])*C*A.length+(V+R-t[0])*A.length+k,i[j]=$):(j=(G+T-t[1])*C+V+R-t[0],i[k][j]=$)}});E.push(S)}}if(await Promise.all(E),l&&t[2]-t[0]!==l||s&&t[3]-t[1]!==s){let y;return r?y=$o(i,t[2]-t[0],t[3]-t[1],l,s,A.length,g):y=jo(i,t[2]-t[0],t[3]-t[1],l,s,g),y.width=l,y.height=s,y}return i.width=l||t[2]-t[0],i.height=s||t[3]-t[1],i}async readRasters({window:t,samples:A=[],interleave:i,pool:r=null,width:n,height:l,resampleMethod:s,fillValue:g,signal:o}={}){let a=t||[0,0,this.getWidth(),this.getHeight()];if(a[0]>a[2]||a[1]>a[3])throw new Error("Invalid subsets");let I=a[2]-a[0],c=a[3]-a[1],f=I*c,h=this.getSamplesPerPixel();if(!A||!A.length)for(let C=0;C<h;++C)A.push(C);else for(let C=0;C<A.length;++C)if(A[C]>=h)return Promise.reject(new RangeError(`Invalid sample index '${A[C]}'.`));let u;if(i){let C=this.fileDirectory.SampleFormat?Math.max.apply(null,this.fileDirectory.SampleFormat):1,p=Math.max.apply(null,this.fileDirectory.BitsPerSample);u=Ji(C,p,f*A.length),g&&u.fill(g)}else{u=[];for(let C=0;C<A.length;++C){let p=this.getArrayForSample(A[C],f);Array.isArray(g)&&C<g.length?p.fill(g[C]):g&&!Array.isArray(g)&&p.fill(g),u.push(p)}}let B=r||await Xo(this.fileDirectory);return await this._readRaster(a,A,u,i,B,n,l,s,o)}async readRGB({window:t,interleave:A=!0,pool:i=null,width:r,height:n,resampleMethod:l,enableAlpha:s=!1,signal:g}={}){let o=t||[0,0,this.getWidth(),this.getHeight()];if(o[0]>o[2]||o[1]>o[3])throw new Error("Invalid subsets");let a=this.fileDirectory.PhotometricInterpretation;if(a===oe.RGB){let Q=[0,1,2];if(this.fileDirectory.ExtraSamples!==jr.Unspecified&&s){Q=[];for(let C=0;C<this.fileDirectory.BitsPerSample.length;C+=1)Q.push(C)}return this.readRasters({window:t,interleave:A,samples:Q,pool:i,width:r,height:n,resampleMethod:l,signal:g})}let I;switch(a){case oe.WhiteIsZero:case oe.BlackIsZero:case oe.Palette:I=[0];break;case oe.CMYK:I=[0,1,2,3];break;case oe.YCbCr:case oe.CIELab:I=[0,1,2];break;default:throw new Error("Invalid or unsupported photometric interpretation.")}let c={window:o,interleave:!0,samples:I,pool:i,width:r,height:n,resampleMethod:l,signal:g},{fileDirectory:f}=this,h=await this.readRasters(c),u=2**this.fileDirectory.BitsPerSample[0],B;switch(a){case oe.WhiteIsZero:B=Wr(h,u);break;case oe.BlackIsZero:B=en(h,u);break;case oe.Palette:B=An(h,f.ColorMap);break;case oe.CMYK:B=tn(h);break;case oe.YCbCr:B=rn(h);break;case oe.CIELab:B=nn(h);break;default:throw new Error("Unsupported photometric interpretation.")}if(!A){let Q=new Uint8Array(B.length/3),C=new Uint8Array(B.length/3),p=new Uint8Array(B.length/3);for(let w=0,d=0;w<B.length;w+=3,++d)Q[d]=B[w],C[d]=B[w+1],p[d]=B[w+2];B=[Q,C,p]}return B.width=h.width,B.height=h.height,B}getTiePoints(){if(!this.fileDirectory.ModelTiepoint)return[];let t=[];for(let A=0;A<this.fileDirectory.ModelTiepoint.length;A+=6)t.push({i:this.fileDirectory.ModelTiepoint[A],j:this.fileDirectory.ModelTiepoint[A+1],k:this.fileDirectory.ModelTiepoint[A+2],x:this.fileDirectory.ModelTiepoint[A+3],y:this.fileDirectory.ModelTiepoint[A+4],z:this.fileDirectory.ModelTiepoint[A+5]});return t}getGDALMetadata(t=null){let A={};if(!this.fileDirectory.GDAL_METADATA)return null;let i=this.fileDirectory.GDAL_METADATA,r=(0,Wo.default)(i,"Item");t===null?r=r.filter(n=>(0,Lt.default)(n,"sample")===void 0):r=r.filter(n=>Number((0,Lt.default)(n,"sample"))===t);for(let n=0;n<r.length;++n){let l=r[n];A[(0,Lt.default)(l,"name")]=l.inner}return A}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,A=this.fileDirectory.ModelTransformation;if(t&&t.length===6)return[t[3],t[4],t[5]];if(A)return[A[3],A[7],A[11]];throw new Error("The image does not have an affine transformation.")}getResolution(t=null){let A=this.fileDirectory.ModelPixelScale,i=this.fileDirectory.ModelTransformation;if(A)return[A[0],-A[1],A[2]];if(i)return[i[0],-i[5],i[10]];if(t){let[r,n,l]=t.getResolution();return[r*t.getWidth()/this.getWidth(),n*t.getHeight()/this.getHeight(),l*t.getWidth()/this.getWidth()]}throw new Error("The image does not have an affine transformation.")}pixelIsArea(){return this.geoKeys.GTRasterTypeGeoKey===1}getBoundingBox(){let t=this.getHeight(),A=this.getWidth();if(this.fileDirectory.ModelTransformation){let[i,r,n,l,s,g,o,a]=this.fileDirectory.ModelTransformation,c=[[0,0],[0,t],[A,0],[A,t]].map(([u,B])=>[l+i*u+r*B,a+s*u+g*B]),f=c.map(u=>u[0]),h=c.map(u=>u[1]);return[Math.min(...f),Math.min(...h),Math.max(...f),Math.max(...h)]}else{let i=this.getOrigin(),r=this.getResolution(),n=i[0],l=i[1],s=n+r[0]*this.getWidth(),g=l+r[1]*this.getHeight();return[Math.min(n,s),Math.min(l,g),Math.max(n,s),Math.max(l,g)]}}},es=Ki;var HA=class{constructor(t){this._dataView=new DataView(t)}get buffer(){return this._dataView.buffer}getUint64(t,A){let i=this.getUint32(t,A),r=this.getUint32(t+4,A),n;if(A){if(n=i+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*i+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}getInt64(t,A){let i=0,r=(this._dataView.getUint8(t+(A?7:0))&128)>0,n=!0;for(let l=0;l<8;l++){let s=this._dataView.getUint8(t+(A?l:7-l));r&&(n?s!==0&&(s=~(s-1)&255,n=!1):s=~s&255),i+=s*256**l}return r&&(i=-i),i}getUint8(t,A){return this._dataView.getUint8(t,A)}getInt8(t,A){return this._dataView.getInt8(t,A)}getUint16(t,A){return this._dataView.getUint16(t,A)}getInt16(t,A){return this._dataView.getInt16(t,A)}getUint32(t,A){return this._dataView.getUint32(t,A)}getInt32(t,A){return this._dataView.getInt32(t,A)}getFloat16(t,A){return pA(this._dataView,t,A)}getFloat32(t,A){return this._dataView.getFloat32(t,A)}getFloat64(t,A){return this._dataView.getFloat64(t,A)}};var JA=class{constructor(t,A,i,r){this._dataView=new DataView(t),this._sliceOffset=A,this._littleEndian=i,this._bigTiff=r}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,A){return this.sliceOffset<=t&&this.sliceTop>=t+A}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 A=this.readUint32(t),i=this.readUint32(t+4),r;if(this._littleEndian){if(r=A+2**32*i,!Number.isSafeInteger(r))throw new Error(`${r} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return r}if(r=2**32*A+i,!Number.isSafeInteger(r))throw new Error(`${r} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return r}readInt64(t){let A=0,i=(this._dataView.getUint8(t+(this._littleEndian?7:0))&128)>0,r=!0;for(let n=0;n<8;n++){let l=this._dataView.getUint8(t+(this._littleEndian?n:7-n));i&&(r?l!==0&&(l=~(l-1)&255,r=!1):l=~l&255),A+=l*256**n}return i&&(A=-A),A}readOffset(t){return this._bigTiff?this.readUint64(t):this.readUint32(t)}};var As=`\r
16
+ \r
17
+ `;function ts(e){if(typeof Object.fromEntries<"u")return Object.fromEntries(e);let t={};for(let[A,i]of e)t[A.toLowerCase()]=i;return t}function Ff(e){let t=e.split(`\r
18
+ `).map(A=>{let i=A.split(":").map(r=>r.trim());return i[0]=i[0].toLowerCase(),i});return ts(t)}function is(e){let[t,...A]=e.split(";").map(r=>r.trim()),i=A.map(r=>r.split("="));return{type:t,params:ts(i)}}function Mt(e){let t,A,i;return e&&([,t,A,i]=e.match(/bytes (\d+)-(\d+)\/(\d+)/),t=parseInt(t,10),A=parseInt(A,10),i=parseInt(i,10)),{start:t,end:A,total:i}}function rs(e,t){let A=null,i=new TextDecoder("ascii"),r=[],n=`--${t}`,l=`${n}--`;for(let s=0;s<10;++s)i.decode(new Uint8Array(e,s,n.length))===n&&(A=s);if(A===null)throw new Error("Could not find initial boundary");for(;A<e.byteLength;){let s=i.decode(new Uint8Array(e,A,Math.min(n.length+1024,e.byteLength-A)));if(s.length===0||s.startsWith(l))break;if(!s.startsWith(n))throw new Error("Part does not start with boundary");let g=s.substr(n.length+2);if(g.length===0)break;let o=g.indexOf(As),a=Ff(g.substr(0,o)),{start:I,end:c,total:f}=Mt(a["content-range"]),h=A+n.length+o+As.length,u=parseInt(c,10)+1-parseInt(I,10);r.push({headers:a,data:e.slice(h,h+u),offset:I,length:u,fileSize:f}),A=h+u+4}return r}var _e=class{async fetch(t,A=void 0){return Promise.all(t.map(i=>this.fetchSlice(i,A)))}async fetchSlice(t){throw new Error(`fetching of slice ${t} not possible, not implemented`)}get fileSize(){return null}async close(){}};var KA=class extends Map{constructor(t={}){if(super(),!(t.maxSize&&t.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if(typeof t.maxAge=="number"&&t.maxAge===0)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=t.maxSize,this.maxAge=t.maxAge||Number.POSITIVE_INFINITY,this.onEviction=t.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(t){if(typeof this.onEviction=="function")for(let[A,i]of t)this.onEviction(A,i.value)}_deleteIfExpired(t,A){return typeof A.expiry=="number"&&A.expiry<=Date.now()?(typeof this.onEviction=="function"&&this.onEviction(t,A.value),this.delete(t)):!1}_getOrDeleteIfExpired(t,A){if(this._deleteIfExpired(t,A)===!1)return A.value}_getItemValue(t,A){return A.expiry?this._getOrDeleteIfExpired(t,A):A.value}_peek(t,A){let i=A.get(t);return this._getItemValue(t,i)}_set(t,A){this.cache.set(t,A),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(t,A){this.oldCache.delete(t),this._set(t,A)}*_entriesAscending(){for(let t of this.oldCache){let[A,i]=t;this.cache.has(A)||this._deleteIfExpired(A,i)===!1&&(yield t)}for(let t of this.cache){let[A,i]=t;this._deleteIfExpired(A,i)===!1&&(yield t)}}get(t){if(this.cache.has(t)){let A=this.cache.get(t);return this._getItemValue(t,A)}if(this.oldCache.has(t)){let A=this.oldCache.get(t);if(this._deleteIfExpired(t,A)===!1)return this._moveToRecent(t,A),A.value}}set(t,A,{maxAge:i=this.maxAge}={}){let r=typeof i=="number"&&i!==Number.POSITIVE_INFINITY?Date.now()+i:void 0;return this.cache.has(t)?this.cache.set(t,{value:A,expiry:r}):this._set(t,{value:A,expiry:r}),this}has(t){return this.cache.has(t)?!this._deleteIfExpired(t,this.cache.get(t)):this.oldCache.has(t)?!this._deleteIfExpired(t,this.oldCache.get(t)):!1}peek(t){if(this.cache.has(t))return this._peek(t,this.cache);if(this.oldCache.has(t))return this._peek(t,this.oldCache)}delete(t){let A=this.cache.delete(t);return A&&this._size--,this.oldCache.delete(t)||A}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(t){if(!(t&&t>0))throw new TypeError("`maxSize` must be a number greater than 0");let A=[...this._entriesAscending()],i=A.length-t;i<0?(this.cache=new Map(A),this.oldCache=new Map,this._size=A.length):(i>0&&this._emitEvictions(A.slice(0,i)),this.oldCache=new Map(A.slice(i)),this.cache=new Map,this._size=0),this.maxSize=t}*keys(){for(let[t]of this)yield t}*values(){for(let[,t]of this)yield t}*[Symbol.iterator](){for(let t of this.cache){let[A,i]=t;this._deleteIfExpired(A,i)===!1&&(yield[A,i.value])}for(let t of this.oldCache){let[A,i]=t;this.cache.has(A)||this._deleteIfExpired(A,i)===!1&&(yield[A,i.value])}}*entriesDescending(){let t=[...this.cache];for(let A=t.length-1;A>=0;--A){let i=t[A],[r,n]=i;this._deleteIfExpired(r,n)===!1&&(yield[r,n.value])}t=[...this.oldCache];for(let A=t.length-1;A>=0;--A){let i=t[A],[r,n]=i;this.cache.has(r)||this._deleteIfExpired(r,n)===!1&&(yield[r,n.value])}}*entriesAscending(){for(let[t,A]of this._entriesAscending())yield[t,A.value]}get size(){if(!this._size)return this.oldCache.size;let t=0;for(let A of this.oldCache.keys())this.cache.has(A)||t++;return Math.min(this._size+t,this.maxSize)}entries(){return this.entriesAscending()}forEach(t,A=this){for(let[i,r]of this.entriesAscending())t.call(A,r,i,this)}get[Symbol.toStringTag](){return JSON.stringify([...this.entriesAscending()])}};async function ns(e){return new Promise(t=>setTimeout(t,e))}function os(e,t){let A=Array.isArray(e)?e:Array.from(e),i=Array.isArray(t)?t:Array.from(t);return A.map((r,n)=>[r,i[n]])}var fe=class extends Error{constructor(t){super(t),Error.captureStackTrace&&Error.captureStackTrace(this,fe),this.name="AbortError"}},Vi=class extends Error{constructor(t,A){super(A),this.errors=t,this.message=A,this.name="AggregateError"}},ss=Vi;var Pi=class{constructor(t,A,i=null){this.offset=t,this.length=A,this.data=i}get top(){return this.offset+this.length}},Ot=class{constructor(t,A,i){this.offset=t,this.length=A,this.blockIds=i}},qt=class extends _e{constructor(t,{blockSize:A=65536,cacheSize:i=100}={}){super(),this.source=t,this.blockSize=A,this.blockCache=new KA({maxSize:i,onEviction:(r,n)=>{this.evictedBlocks.set(r,n)}}),this.evictedBlocks=new Map,this.blockRequests=new Map,this.blockIdsToFetch=new Set,this.abortedBlockIds=new Set}get fileSize(){return this.source.fileSize}async fetch(t,A){let i=[],r=[],n=[];this.evictedBlocks.clear();for(let{offset:c,length:f}of t){let h=c+f,{fileSize:u}=this;u!==null&&(h=Math.min(h,u));let B=Math.floor(c/this.blockSize)*this.blockSize;for(let Q=B;Q<h;Q+=this.blockSize){let C=Math.floor(Q/this.blockSize);!this.blockCache.has(C)&&!this.blockRequests.has(C)&&(this.blockIdsToFetch.add(C),r.push(C)),this.blockRequests.has(C)&&i.push(this.blockRequests.get(C)),n.push(C)}}await ns(),this.fetchBlocks(A);let l=[];for(let c of r)this.blockRequests.has(c)&&l.push(this.blockRequests.get(c));await Promise.allSettled(i),await Promise.allSettled(l);let s=[],g=n.filter(c=>this.abortedBlockIds.has(c)||!this.blockCache.has(c));if(g.forEach(c=>this.blockIdsToFetch.add(c)),g.length>0&&A&&!A.aborted){this.fetchBlocks(null);for(let c of g){let f=this.blockRequests.get(c);if(!f)throw new Error(`Block ${c} is not in the block requests`);s.push(f)}await Promise.allSettled(s)}if(A&&A.aborted)throw new fe("Request was aborted");let o=n.map(c=>this.blockCache.get(c)||this.evictedBlocks.get(c)),a=o.filter(c=>!c);if(a.length)throw new ss(a,"Request failed");let I=new Map(os(n,o));return this.readSliceData(t,I)}fetchBlocks(t){if(this.blockIdsToFetch.size>0){let A=this.groupBlocks(this.blockIdsToFetch),i=this.source.fetch(A,t);for(let r=0;r<A.length;++r){let n=A[r];for(let l of n.blockIds)this.blockRequests.set(l,(async()=>{try{let s=(await i)[r],g=l*this.blockSize,o=g-s.offset,a=Math.min(o+this.blockSize,s.data.byteLength),I=s.data.slice(o,a),c=new Pi(g,I.byteLength,I,l);this.blockCache.set(l,c),this.abortedBlockIds.delete(l)}catch(s){if(s.name==="AbortError")s.signal=t,this.blockCache.delete(l),this.abortedBlockIds.add(l);else throw s}finally{this.blockRequests.delete(l)}})())}this.blockIdsToFetch.clear()}}groupBlocks(t){let A=Array.from(t).sort((l,s)=>l-s);if(A.length===0)return[];let i=[],r=null,n=[];for(let l of A)r===null||r+1===l?(i.push(l),r=l):(n.push(new Ot(i[0]*this.blockSize,i.length*this.blockSize,i)),i=[l],r=l);return n.push(new Ot(i[0]*this.blockSize,i.length*this.blockSize,i)),n}readSliceData(t,A){return t.map(i=>{let r=i.offset+i.length;this.fileSize!==null&&(r=Math.min(this.fileSize,r));let n=Math.floor(i.offset/this.blockSize),l=Math.floor(r/this.blockSize),s=new ArrayBuffer(i.length),g=new Uint8Array(s);for(let o=n;o<=l;++o){let a=A.get(o),I=a.offset-i.offset,c=a.top-r,f=0,h=0,u;I<0?f=-I:I>0&&(h=I),c<0?u=a.length-f:u=r-a.offset-f;let B=new Uint8Array(a.data,f,u);g.set(B,h)}return s})}};var He=class{get ok(){return this.status>=200&&this.status<=299}get status(){throw new Error("not implemented")}getHeader(t){throw new Error("not implemented")}async getData(){throw new Error("not implemented")}},Je=class{constructor(t){this.url=t}async request({headers:t,credentials:A,signal:i}={}){throw new Error("request is not implemented")}};var zi=class extends He{constructor(t){super(),this.response=t}get status(){return this.response.status}getHeader(t){return this.response.headers.get(t)}async getData(){return this.response.arrayBuffer?await this.response.arrayBuffer():(await this.response.buffer()).buffer}},Yt=class extends Je{constructor(t,A){super(t),this.credentials=A}async request({headers:t,credentials:A,signal:i}={}){let r=await fetch(this.url,{headers:t,credentials:A,signal:i});return new zi(r)}};var Zi=class extends He{constructor(t,A){super(),this.xhr=t,this.data=A}get status(){return this.xhr.status}getHeader(t){return this.xhr.getResponseHeader(t)}async getData(){return this.data}},Ht=class extends Je{constructRequest(t,A){return new Promise((i,r)=>{let n=new XMLHttpRequest;n.open("GET",this.url),n.responseType="arraybuffer";for(let[l,s]of Object.entries(t))n.setRequestHeader(l,s);n.onload=()=>{let l=n.response;i(new Zi(n,l))},n.onerror=r,n.onabort=()=>r(new fe("Request aborted")),n.send(),A&&(A.aborted&&n.abort(),A.addEventListener("abort",()=>n.abort()))})}async request({headers:t,signal:A}={}){return await this.constructRequest(t,A)}};var fs=ve(as(),1),cs=ve(gs(),1),Is=ve(ls(),1);var Xi=class extends He{constructor(t,A){super(),this.response=t,this.dataPromise=A}get status(){return this.response.statusCode}getHeader(t){return this.response.headers[t]}async getData(){return await this.dataPromise}},Jt=class extends Je{constructor(t){super(t),this.parsedUrl=Is.default.parse(this.url),this.httpApi=this.parsedUrl.protocol==="http:"?fs.default:cs.default}constructRequest(t,A){return new Promise((i,r)=>{let n=this.httpApi.get({...this.parsedUrl,headers:t},l=>{let s=new Promise(g=>{let o=[];l.on("data",a=>{o.push(a)}),l.on("end",()=>{let a=Buffer.concat(o).buffer;g(a)}),l.on("error",r)});i(new Xi(l,s))});n.on("error",r),A&&(A.aborted&&n.destroy(new fe("Request aborted")),A.addEventListener("abort",()=>n.destroy(new fe("Request aborted"))))})}async request({headers:t,signal:A}={}){return await this.constructRequest(t,A)}};var VA=class extends _e{constructor(t,A,i,r){super(),this.client=t,this.headers=A,this.maxRanges=i,this.allowFullFile=r,this._fileSize=null}async fetch(t,A){return this.maxRanges>=t.length?this.fetchSlices(t,A):(this.maxRanges>0&&t.length>1,Promise.all(t.map(i=>this.fetchSlice(i,A))))}async fetchSlices(t,A){let i=await this.client.request({headers:{...this.headers,Range:`bytes=${t.map(({offset:r,length:n})=>`${r}-${r+n}`).join(",")}`},signal:A});if(i.ok)if(i.status===206){let{type:r,params:n}=is(i.getHeader("content-type"));if(r==="multipart/byteranges"){let I=rs(await i.getData(),n.boundary);return this._fileSize=I[0].fileSize||null,I}let l=await i.getData(),{start:s,end:g,total:o}=Mt(i.getHeader("content-range"));this._fileSize=o||null;let a=[{data:l,offset:s,length:g-s}];if(t.length>1){let I=await Promise.all(t.slice(1).map(c=>this.fetchSlice(c,A)));return a.concat(I)}return a}else{if(!this.allowFullFile)throw new Error("Server responded with full file");let r=await i.getData();return this._fileSize=r.byteLength,[{data:r,offset:0,length:r.byteLength}]}else throw new Error("Error fetching data.")}async fetchSlice(t,A){let{offset:i,length:r}=t,n=await this.client.request({headers:{...this.headers,Range:`bytes=${i}-${i+r}`},signal:A});if(n.ok)if(n.status===206){let l=await n.getData(),{total:s}=Mt(n.getHeader("content-range"));return this._fileSize=s||null,{data:l,offset:i,length:r}}else{if(!this.allowFullFile)throw new Error("Server responded with full file");let l=await n.getData();return this._fileSize=l.byteLength,{data:l,offset:0,length:l.byteLength}}else throw new Error("Error fetching data.")}get fileSize(){return this._fileSize}};function ji(e,{blockSize:t,cacheSize:A}){return t===null?e:new qt(e,{blockSize:t,cacheSize:A})}function Nf(e,{headers:t={},credentials:A,maxRanges:i=0,allowFullFile:r=!1,...n}={}){let l=new Yt(e,A),s=new VA(l,t,i,r);return ji(s,n)}function Rf(e,{headers:t={},maxRanges:A=0,allowFullFile:i=!1,...r}={}){let n=new Ht(e),l=new VA(n,t,A,i);return ji(l,r)}function Tf(e,{headers:t={},maxRanges:A=0,allowFullFile:i=!1,...r}={}){let n=new Jt(e),l=new VA(n,t,A,i);return ji(l,r)}function hs(e,{forceXHR:t=!1,...A}={}){return typeof fetch=="function"&&!t?Nf(e,A):typeof XMLHttpRequest<"u"?Rf(e,A):Tf(e,A)}var $i=class extends _e{constructor(t){super(),this.arrayBuffer=t}fetchSlice(t,A){if(A&&A.aborted)throw new fe("Request aborted");return this.arrayBuffer.slice(t.offset,t.offset+t.length)}};function us(e){return new $i(e)}var Wi=class extends _e{constructor(t){super(),this.file=t}async fetchSlice(t,A){return new Promise((i,r)=>{let n=this.file.slice(t.offset,t.offset+t.length),l=new FileReader;l.onload=s=>i(s.target.result),l.onerror=r,l.onabort=r,l.readAsArrayBuffer(n),A&&A.addEventListener("abort",()=>l.abort())})}};function Bs(e){return new Wi(e)}st();function er(e){switch(e){case M.BYTE:case M.ASCII:case M.SBYTE:case M.UNDEFINED:return 1;case M.SHORT:case M.SSHORT:return 2;case M.LONG:case M.SLONG:case M.FLOAT:case M.IFD:return 4;case M.RATIONAL:case M.SRATIONAL:case M.DOUBLE:case M.LONG8:case M.SLONG8:case M.IFD8:return 8;default:throw new RangeError(`Invalid field type: ${e}`)}}function vf(e){let t=e.GeoKeyDirectory;if(!t)return null;let A={};for(let i=4;i<=t[3]*4;i+=4){let r=wA[t[i]],n=t[i+1]?oA[t[i+1]]:null,l=t[i+2],s=t[i+3],g=null;if(!n)g=s;else{if(g=e[n],typeof g>"u"||g===null)throw new Error(`Could not get value of geoKey '${r}'.`);typeof g=="string"?g=g.substring(s,s+l-1):g.subarray&&(g=g.subarray(s,s+l),l===1&&(g=g[0]))}A[r]=g}return A}function CA(e,t,A,i){let r=null,n=null,l=er(t);switch(t){case M.BYTE:case M.ASCII:case M.UNDEFINED:r=new Uint8Array(A),n=e.readUint8;break;case M.SBYTE:r=new Int8Array(A),n=e.readInt8;break;case M.SHORT:r=new Uint16Array(A),n=e.readUint16;break;case M.SSHORT:r=new Int16Array(A),n=e.readInt16;break;case M.LONG:case M.IFD:r=new Uint32Array(A),n=e.readUint32;break;case M.SLONG:r=new Int32Array(A),n=e.readInt32;break;case M.LONG8:case M.IFD8:r=new Array(A),n=e.readUint64;break;case M.SLONG8:r=new Array(A),n=e.readInt64;break;case M.RATIONAL:r=new Uint32Array(A*2),n=e.readUint32;break;case M.SRATIONAL:r=new Int32Array(A*2),n=e.readInt32;break;case M.FLOAT:r=new Float32Array(A),n=e.readFloat32;break;case M.DOUBLE:r=new Float64Array(A),n=e.readFloat64;break;default:throw new RangeError(`Invalid field type: ${t}`)}if(t===M.RATIONAL||t===M.SRATIONAL)for(let s=0;s<A;s+=2)r[s]=n.call(e,i+s*l),r[s+1]=n.call(e,i+(s*l+4));else for(let s=0;s<A;++s)r[s]=n.call(e,i+s*l);return t===M.ASCII?new TextDecoder("utf-8").decode(r):r}var Ar=class{constructor(t,A,i){this.fileDirectory=t,this.geoKeyDirectory=A,this.nextIFDByteOffset=i}},dA=class extends Error{constructor(t){super(`No image at index ${t}`),this.index=t}},tr=class{async readRasters(t={}){let{window:A,width:i,height:r}=t,{resX:n,resY:l,bbox:s}=t,g=await this.getImage(),o=g,a=await this.getImageCount(),I=g.getBoundingBox();if(A&&s)throw new Error('Both "bbox" and "window" passed.');if(i||r){if(A){let[h,u]=g.getOrigin(),[B,Q]=g.getResolution();s=[h+A[0]*B,u+A[1]*Q,h+A[2]*B,u+A[3]*Q]}let f=s||I;if(i){if(n)throw new Error("Both width and resX passed");n=(f[2]-f[0])/i}if(r){if(l)throw new Error("Both width and resY passed");l=(f[3]-f[1])/r}}if(n||l){let f=[];for(let h=0;h<a;++h){let u=await this.getImage(h),{SubfileType:B,NewSubfileType:Q}=u.fileDirectory;(h===0||B===2||Q&1)&&f.push(u)}f.sort((h,u)=>h.getWidth()-u.getWidth());for(let h=0;h<f.length;++h){let u=f[h],B=(I[2]-I[0])/u.getWidth(),Q=(I[3]-I[1])/u.getHeight();if(o=u,n&&n>B||l&&l>Q)break}}let c=A;if(s){let[f,h]=g.getOrigin(),[u,B]=o.getResolution(g);c=[Math.round((s[0]-f)/u),Math.round((s[1]-h)/B),Math.round((s[2]-f)/u),Math.round((s[3]-h)/B)],c=[Math.min(c[0],c[2]),Math.min(c[1],c[3]),Math.max(c[0],c[2]),Math.max(c[1],c[3])]}return o.readRasters({...t,window:c})}},ke=class extends tr{constructor(t,A,i,r,n={}){super(),this.source=t,this.littleEndian=A,this.bigTiff=i,this.firstIFDOffset=r,this.cache=n.cache||!1,this.ifdRequests=[],this.ghostValues=null}async getSlice(t,A){let i=this.bigTiff?4048:1024;return new JA((await this.source.fetch([{offset:t,length:typeof A<"u"?A:i}]))[0],t,this.littleEndian,this.bigTiff)}async parseFileDirectoryAt(t){let A=this.bigTiff?20:12,i=this.bigTiff?8:2,r=await this.getSlice(t),n=this.bigTiff?r.readUint64(t):r.readUint16(t),l=n*A+(this.bigTiff?16:6);r.covers(t,l)||(r=await this.getSlice(t,l));let s={},g=t+(this.bigTiff?8:2);for(let I=0;I<n;g+=A,++I){let c=r.readUint16(g),f=r.readUint16(g+2),h=this.bigTiff?r.readUint64(g+4):r.readUint32(g+4),u,B,Q=er(f),C=g+(this.bigTiff?12:8);if(Q*h<=(this.bigTiff?8:4))u=CA(r,f,h,C);else{let p=r.readOffset(C),w=er(f)*h;if(r.covers(p,w))u=CA(r,f,h,p);else{let d=await this.getSlice(p,w);u=CA(d,f,h,p)}}h===1&&Xr.indexOf(c)===-1&&!(f===M.RATIONAL||f===M.SRATIONAL)?B=u[0]:B=u,s[oA[c]]=B}let o=vf(s),a=r.readOffset(t+i+A*n);return new Ar(s,o,a)}async requestIFD(t){if(this.ifdRequests[t])return this.ifdRequests[t];if(t===0)return this.ifdRequests[t]=this.parseFileDirectoryAt(this.firstIFDOffset),this.ifdRequests[t];if(!this.ifdRequests[t-1])try{this.ifdRequests[t-1]=this.requestIFD(t-1)}catch(A){throw A instanceof dA?new dA(t):A}return this.ifdRequests[t]=(async()=>{let A=await this.ifdRequests[t-1];if(A.nextIFDByteOffset===0)throw new dA(t);return this.parseFileDirectoryAt(A.nextIFDByteOffset)})(),this.ifdRequests[t]}async getImage(t=0){let A=await this.requestIFD(t);return new es(A.fileDirectory,A.geoKeyDirectory,this.dataView,this.littleEndian,this.cache,this.source)}async getImageCount(){let t=0,A=!0;for(;A;)try{await this.requestIFD(t),++t}catch(i){if(i instanceof dA)A=!1;else throw i}return t}async getGhostValues(){let t=this.bigTiff?16:8;if(this.ghostValues)return this.ghostValues;let A="GDAL_STRUCTURAL_METADATA_SIZE=",i=A.length+100,r=await this.getSlice(t,i);if(A===CA(r,M.ASCII,A.length,t)){let l=CA(r,M.ASCII,i,t).split(`
19
+ `)[0],s=Number(l.split("=")[1].split(" ")[0])+l.length;s>i&&(r=await this.getSlice(t,s));let g=CA(r,M.ASCII,s,t);this.ghostValues={},g.split(`
20
+ `).filter(o=>o.length>0).map(o=>o.split("=")).forEach(([o,a])=>{this.ghostValues[o]=a})}return this.ghostValues}static async fromSource(t,A,i){let r=(await t.fetch([{offset:0,length:1024}],i))[0],n=new HA(r),l=n.getUint16(0,0),s;if(l===18761)s=!0;else if(l===19789)s=!1;else throw new TypeError("Invalid byte order value.");let g=n.getUint16(2,s),o;if(g===42)o=!1;else if(g===43){if(o=!0,n.getUint16(4,s)!==8)throw new Error("Unsupported offset byte-size.")}else throw new TypeError("Invalid magic number.");let a=o?n.getUint64(8,s):n.getUint32(4,s);return new ke(t,s,o,a,A)}close(){return typeof this.source.close=="function"?this.source.close():!1}};async function Es(e,t={},A){return ke.fromSource(hs(e,t),A)}async function Cs(e,t){return ke.fromSource(us(e),t)}async function ds(e,t){return ke.fromSource(Bs(e),t)}var Gf="4.2.0-alpha.5",Qs={id:"geotiff",name:"GeoTIFF",module:"geotiff",version:Gf,options:{enableAlpha:!0},mimeTypes:["image/tiff","image/geotiff"],extensions:["geotiff","tiff","geotif","tif"],parse:Uf};async function Uf(e,t){let i=await(await Cs(e)).getImage(),r=await i.readRGB({enableAlpha:t?.geotiff?.enableAlpha}),n=i.getWidth(),l=i.getHeight(),s=new Uint8ClampedArray(r),g=i.getBoundingBox(),o=i.getGeoKeys(),a;return o?.ProjectedCSTypeGeoKey&&(a=`EPSG:${o.ProjectedCSTypeGeoKey}`),{crs:a,bounds:g,width:n,height:l,data:s,metadata:o}}function ir(e){return Array.isArray(e)?e:[e]}function ps(e){if(!Number.isInteger(e))throw Error("Not an integer.");let t=new ArrayBuffer(4);new DataView(t).setInt32(0,e,!1);let i=new Uint8Array(t);return Array.from(i)}function rr(e){let t=e[e.length-1];return t===3||t===4}function ws(e){let t=rr(e.shape),[A,i]=e.shape.slice(t?-3:-2);return{height:A,width:i}}var ys="__vivSignalAborted";var QA=class{dtype;tileSize;shape;labels;meta;_indexer;constructor(t,A,i,r,n,l){this._indexer=t,this.dtype=A,this.tileSize=i,this.shape=r,this.labels=n,this.meta=l}async getRaster({selection:t,signal:A}){let i=await this._indexer(t);return this._readRasters(i,{signal:A})}async getTile({x:t,y:A,selection:i,signal:r}){let{height:n,width:l}=this._getTileExtent(t,A),s=t*this.tileSize,g=A*this.tileSize,o=[s,g,s+l,g+n],a=await this._indexer(i);return this._readRasters(a,{window:o,width:l,height:n,signal:r})}async _readRasters(t,A){let i=rr(this.shape),r=await t.readRasters({interleave:i,...A});if(A?.signal?.aborted)throw ys;return{data:i?r:r[0],width:r.width,height:r.height}}_getTileExtent(t,A){let{height:i,width:r}=ws(this),n=this.tileSize,l=this.tileSize,s=Math.floor(r/this.tileSize),g=Math.floor(i/this.tileSize);return t===s&&(l=r%this.tileSize),A===g&&(n=i%this.tileSize),{height:n,width:l}}onTileError(t){console.error(t)}};function ms(e,t){let A=t[0],{SizeT:i,SizeC:r,SizeZ:n}=A.Pixels,l=xs(A);return(s,g)=>{let o=l(s),a=g*n*i*r;return e.getImage(o+a)}}function _s(e,t){let A=t[0],i=xs(A),r=new Map;return async(n,l)=>{let s=i(n),g=await e.getImage(s);if(l===0)return g;let{SubIFDs:o}=g.fileDirectory;if(!o)throw Error("Indexing Error: OME-TIFF is missing SubIFDs.");let a=`${n.t}-${n.c}-${n.z}-${l}`;if(!r.has(a)){let c=o[l-1];r.set(a,e.parseFileDirectoryAt(c))}let I=await r.get(a);return new g.constructor(I.fileDirectory,I.geoKeyDirectory,e.dataView,e.littleEndian,e.cache,e.source)}}function xs(e){let{SizeC:t,SizeZ:A,SizeT:i,DimensionOrder:r}=e.Pixels;switch(r){case"XYZCT":return({t:n,c:l,z:s})=>n*A*t+l*A+s;case"XYZTC":return({t:n,c:l,z:s})=>l*A*i+n*A+s;case"XYCTZ":return({t:n,c:l,z:s})=>s*t*i+n*t+l;case"XYCZT":return({t:n,c:l,z:s})=>n*t*A+s*t+l;case"XYTCZ":return({t:n,c:l,z:s})=>s*i*t+l*i+n;case"XYTZC":return({t:n,c:l,z:s})=>l*i*A+s*i+n;default:throw new Error(`Invalid OME-XML DimensionOrder, got ${r}.`)}}function Ds(e){return e.toLowerCase().split("").reverse()}function bs(e){let t=new Map(e.map((A,i)=>[A,i]));if(t.size!==e.length)throw Error("Labels must be unique, found duplicated label.");return A=>{let i=t.get(A);if(i===void 0)throw Error("Invalid dimension.");return i}}var Ss={uint8:"Uint8",uint16:"Uint16",uint32:"Uint32",float:"Float32",double:"Float64",int8:"Int8",int16:"Int16",int32:"Int32"};function ks({Pixels:e}){let t=Ds(e.DimensionOrder),A=bs(t),i=Array(t.length).fill(0);i[A("t")]=e.SizeT,i[A("c")]=e.SizeC,i[A("z")]=e.SizeZ,e.Interleaved&&(t.push("_c"),i.push(3));let r=l=>{let s=[...i];return s[A("x")]=e.SizeX>>l,s[A("y")]=e.SizeY>>l,s};if(!(e.Type in Ss))throw Error(`Pixel type ${e.Type} not supported.`);let n=Ss[e.Type];if(e.PhysicalSizeX&&e.PhysicalSizeY){let l={x:{size:e.PhysicalSizeX,unit:e.PhysicalSizeXUnit},y:{size:e.PhysicalSizeY,unit:e.PhysicalSizeYUnit}};return e.PhysicalSizeZ&&(l.z={size:e.PhysicalSizeZ,unit:e.PhysicalSizeZUnit}),{labels:t,getShape:r,physicalSizes:l,dtype:n}}return{labels:t,getShape:r,dtype:n}}var aa=ve(sa(),1);var Vc=new aa.XMLParser({attributeNamePrefix:"",attributesGroupName:"attr",parseTagValue:!0,parseAttributeValue:!0,ignoreAttributes:!1}),Pc=e=>Vc.parse(e);function ga(e){let t=Pc(e);if(!t.OME)throw Error("Failed to parse OME-XML metadata.");return ir(t.OME.Image).map(A=>{let i=ir(A.Pixels.Channel).map(s=>"Color"in s.attr?{...s.attr,Color:ps(s.attr.Color)}:{...s.attr}),{AquisitionDate:r="",Description:n=""}=A,l={...A.attr,AquisitionDate:r,Description:n,Pixels:{...A.Pixels.attr,Channels:i}};return{...l,format(){let{Pixels:s}=l,g=["X","Y","Z"].map(o=>{let a=s[`PhysicalSize${o}`],I=s[`PhysicalSize${o}Unit`];return a&&I?`${a} ${I}`:"-"}).join(" x ");return{"Acquisition Date":l.AquisitionDate,"Dimensions (XY)":`${s.SizeX} x ${s.SizeY}`,"Pixels Type":s.Type,"Pixels Size (XYZ)":g,"Z-sections/Timepoints":`${s.SizeZ} x ${s.SizeT}`,Channels:s.SizeC}}}})}var la=e=>e.fileDirectory.ImageDescription.includes("<OME");async function fa(e,t){let{ImageDescription:A,SubIFDs:i,PhotometricInterpretation:r}=t.fileDirectory,n=ga(A),l,s;i?(l=i.length+1,s=_s(e,n)):(l=n.length,s=ms(e,n));let g=n[0],{labels:o,getShape:a,physicalSizes:I,dtype:c}=ks(g),f=t.getTileWidth(),h={photometricInterpretation:r,physicalSizes:I};return{data:Array.from({length:l}).map((B,Q)=>{let C=a(Q),p=d=>s(d,Q);return new QA(p,c,f,C,o,h)}),metadata:g}}async function ca(e,t={}){let{headers:A,offsets:i}=t,r;e instanceof ke?r=e:typeof e=="string"?r=await Es(e,A):r=await ds(e);let n=await r.getImage(0);if(la(n))return fa(r,n);throw new Error("GeoTIFF not recognized.")}return da(ZA);})();
21
+ /*! Bundled license information:
22
+
23
+ pako/dist/pako.esm.mjs:
24
+ (*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) *)
25
+
26
+ lerc/LercDecode.js:
27
+ (* 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 *)
28
+ */
29
+ return __exports__;
30
+ });