UNPKG

geotiff

Version:

GeoTIFF image decoding in JavaScript

8 lines 236 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const web_worker_1 = __importDefault(require("web-worker")); function create() { const source = "function A(A,I,g){return I in A?Object.defineProperty(A,I,{value:g,enumerable:!0,configurable:!0,writable:!0}):A[I]=g,A}function I(A,I){if(null==A)return{};var g,B,C=function(A,I){if(null==A)return{};var g,B,C={},Q=Object.keys(A);for(B=0;B<Q.length;B++)g=Q[B],I.indexOf(g)>=0||(C[g]=A[g]);return C}(A,I);if(Object.getOwnPropertySymbols){var Q=Object.getOwnPropertySymbols(A);for(B=0;B<Q.length;B++)g=Q[B],I.indexOf(g)>=0||Object.prototype.propertyIsEnumerable.call(A,g)&&(C[g]=A[g])}return C}function g(A,I,g,B,C,Q,E){try{var i=A[Q](E),o=i.value}catch(A){return void g(A)}i.done?I(o):Promise.resolve(o).then(B,C)}function B(A){return function(){var I=this,B=arguments;return new Promise((function(C,Q){var E=A.apply(I,B);function i(A){g(E,C,Q,i,o,\"next\",A)}function o(A){g(E,C,Q,i,o,\"throw\",A)}i(void 0)}))}}function C(A){return C=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&\"function\"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?\"symbol\":typeof A},C(A)}var Q={exports:{}};!function(A){var I=function(A){var I,g=Object.prototype,B=g.hasOwnProperty,Q=\"function\"==typeof Symbol?Symbol:{},E=Q.iterator||\"@@iterator\",i=Q.asyncIterator||\"@@asyncIterator\",o=Q.toStringTag||\"@@toStringTag\";function e(A,I,g){return Object.defineProperty(A,I,{value:g,enumerable:!0,configurable:!0,writable:!0}),A[I]}try{e({},\"\")}catch(A){e=function(A,I,g){return A[I]=g}}function t(A,I,g,B){var C=I&&I.prototype instanceof h?I:h,Q=Object.create(C.prototype),E=new u(B||[]);return Q._invoke=function(A,I,g){var B=r;return function(C,Q){if(B===n)throw new Error(\"Generator is already running\");if(B===D){if(\"throw\"===C)throw Q;return d()}for(g.method=C,g.arg=Q;;){var E=g.delegate;if(E){var i=R(E,g);if(i){if(i===w)continue;return i}}if(\"next\"===g.method)g.sent=g._sent=g.arg;else if(\"throw\"===g.method){if(B===r)throw B=D,g.arg;g.dispatchException(g.arg)}else\"return\"===g.method&&g.abrupt(\"return\",g.arg);B=n;var o=a(A,I,g);if(\"normal\"===o.type){if(B=g.done?D:s,o.arg===w)continue;return{value:o.arg,done:g.done}}\"throw\"===o.type&&(B=D,g.method=\"throw\",g.arg=o.arg)}}}(A,g,E),Q}function a(A,I,g){try{return{type:\"normal\",arg:A.call(I,g)}}catch(A){return{type:\"throw\",arg:A}}}A.wrap=t;var r=\"suspendedStart\",s=\"suspendedYield\",n=\"executing\",D=\"completed\",w={};function h(){}function y(){}function c(){}var G={};e(G,E,(function(){return this}));var S=Object.getPrototypeOf,N=S&&S(S(Y([])));N&&N!==g&&B.call(N,E)&&(G=N);var F=c.prototype=h.prototype=Object.create(G);function f(A){[\"next\",\"throw\",\"return\"].forEach((function(I){e(A,I,(function(A){return this._invoke(I,A)}))}))}function k(A,I){function g(Q,E,i,o){var e=a(A[Q],A,E);if(\"throw\"!==e.type){var t=e.arg,r=t.value;return r&&\"object\"===C(r)&&B.call(r,\"__await\")?I.resolve(r.__await).then((function(A){g(\"next\",A,i,o)}),(function(A){g(\"throw\",A,i,o)})):I.resolve(r).then((function(A){t.value=A,i(t)}),(function(A){return g(\"throw\",A,i,o)}))}o(e.arg)}var Q;this._invoke=function(A,B){function C(){return new I((function(I,C){g(A,B,I,C)}))}return Q=Q?Q.then(C,C):C()}}function R(A,g){var B=A.iterator[g.method];if(B===I){if(g.delegate=null,\"throw\"===g.method){if(A.iterator.return&&(g.method=\"return\",g.arg=I,R(A,g),\"throw\"===g.method))return w;g.method=\"throw\",g.arg=new TypeError(\"The iterator does not provide a 'throw' method\")}return w}var C=a(B,A.iterator,g.arg);if(\"throw\"===C.type)return g.method=\"throw\",g.arg=C.arg,g.delegate=null,w;var Q=C.arg;return Q?Q.done?(g[A.resultName]=Q.value,g.next=A.nextLoc,\"return\"!==g.method&&(g.method=\"next\",g.arg=I),g.delegate=null,w):Q:(g.method=\"throw\",g.arg=new TypeError(\"iterator result is not an object\"),g.delegate=null,w)}function L(A){var I={tryLoc:A[0]};1 in A&&(I.catchLoc=A[1]),2 in A&&(I.finallyLoc=A[2],I.afterLoc=A[3]),this.tryEntries.push(I)}function U(A){var I=A.completion||{};I.type=\"normal\",delete I.arg,A.completion=I}function u(A){this.tryEntries=[{tryLoc:\"root\"}],A.forEach(L,this),this.reset(!0)}function Y(A){if(A){var g=A[E];if(g)return g.call(A);if(\"function\"==typeof A.next)return A;if(!isNaN(A.length)){var C=-1,Q=function g(){for(;++C<A.length;)if(B.call(A,C))return g.value=A[C],g.done=!1,g;return g.value=I,g.done=!0,g};return Q.next=Q}}return{next:d}}function d(){return{value:I,done:!0}}return y.prototype=c,e(F,\"constructor\",c),e(c,\"constructor\",y),y.displayName=e(c,o,\"GeneratorFunction\"),A.isGeneratorFunction=function(A){var I=\"function\"==typeof A&&A.constructor;return!!I&&(I===y||\"GeneratorFunction\"===(I.displayName||I.name))},A.mark=function(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,c):(A.__proto__=c,e(A,o,\"GeneratorFunction\")),A.prototype=Object.create(F),A},A.awrap=function(A){return{__await:A}},f(k.prototype),e(k.prototype,i,(function(){return this})),A.AsyncIterator=k,A.async=function(I,g,B,C,Q){void 0===Q&&(Q=Promise);var E=new k(t(I,g,B,C),Q);return A.isGeneratorFunction(g)?E:E.next().then((function(A){return A.done?A.value:E.next()}))},f(F),e(F,o,\"Generator\"),e(F,E,(function(){return this})),e(F,\"toString\",(function(){return\"[object Generator]\"})),A.keys=function(A){var I=[];for(var g in A)I.push(g);return I.reverse(),function g(){for(;I.length;){var B=I.pop();if(B in A)return g.value=B,g.done=!1,g}return g.done=!0,g}},A.values=Y,u.prototype={constructor:u,reset:function(A){if(this.prev=0,this.next=0,this.sent=this._sent=I,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=I,this.tryEntries.forEach(U),!A)for(var g in this)\"t\"===g.charAt(0)&&B.call(this,g)&&!isNaN(+g.slice(1))&&(this[g]=I)},stop:function(){this.done=!0;var A=this.tryEntries[0].completion;if(\"throw\"===A.type)throw A.arg;return this.rval},dispatchException:function(A){if(this.done)throw A;var g=this;function C(B,C){return i.type=\"throw\",i.arg=A,g.next=B,C&&(g.method=\"next\",g.arg=I),!!C}for(var Q=this.tryEntries.length-1;Q>=0;--Q){var E=this.tryEntries[Q],i=E.completion;if(\"root\"===E.tryLoc)return C(\"end\");if(E.tryLoc<=this.prev){var o=B.call(E,\"catchLoc\"),e=B.call(E,\"finallyLoc\");if(o&&e){if(this.prev<E.catchLoc)return C(E.catchLoc,!0);if(this.prev<E.finallyLoc)return C(E.finallyLoc)}else if(o){if(this.prev<E.catchLoc)return C(E.catchLoc,!0)}else{if(!e)throw new Error(\"try statement without catch or finally\");if(this.prev<E.finallyLoc)return C(E.finallyLoc)}}}},abrupt:function(A,I){for(var g=this.tryEntries.length-1;g>=0;--g){var C=this.tryEntries[g];if(C.tryLoc<=this.prev&&B.call(C,\"finallyLoc\")&&this.prev<C.finallyLoc){var Q=C;break}}Q&&(\"break\"===A||\"continue\"===A)&&Q.tryLoc<=I&&I<=Q.finallyLoc&&(Q=null);var E=Q?Q.completion:{};return E.type=A,E.arg=I,Q?(this.method=\"next\",this.next=Q.finallyLoc,w):this.complete(E)},complete:function(A,I){if(\"throw\"===A.type)throw A.arg;return\"break\"===A.type||\"continue\"===A.type?this.next=A.arg:\"return\"===A.type?(this.rval=this.arg=A.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===A.type&&I&&(this.next=I),w},finish:function(A){for(var I=this.tryEntries.length-1;I>=0;--I){var g=this.tryEntries[I];if(g.finallyLoc===A)return this.complete(g.completion,g.afterLoc),U(g),w}},catch:function(A){for(var I=this.tryEntries.length-1;I>=0;--I){var g=this.tryEntries[I];if(g.tryLoc===A){var B=g.completion;if(\"throw\"===B.type){var C=B.arg;U(g)}return C}}throw new Error(\"illegal catch attempt\")},delegateYield:function(A,g,B){return this.delegate={iterator:Y(A),resultName:g,nextLoc:B},\"next\"===this.method&&(this.arg=I),w}},A}(A.exports);try{regeneratorRuntime=I}catch(A){\"object\"===(\"undefined\"==typeof globalThis?\"undefined\":C(globalThis))?globalThis.regeneratorRuntime=I:Function(\"r\",\"regeneratorRuntime = r\")(I)}}(Q);var E=Q.exports,i=new Map,o=new Map;function e(A,I){var g=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];Array.isArray(A)||(A=[A]),A.forEach((function(A){i.set(A,I),o.set(A,g)}))}function t(A){return a.apply(this,arguments)}function a(){return(a=B(E.mark((function A(I){var g,B;return E.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:if(g=i.get(I.Compression)){A.next=3;break}throw new Error(\"Unknown compression method identifier: \".concat(I.Compression));case 3:return A.next=5,g();case 5:return B=A.sent,A.abrupt(\"return\",new B(I));case 7:case\"end\":return A.stop()}}),A)})))).apply(this,arguments)}e([void 0,1],(function(){return Promise.resolve().then((function(){return u})).then((function(A){return A.default}))}),!1),e(5,(function(){return Promise.resolve().then((function(){return M})).then((function(A){return A.default}))})),e(6,(function(){throw new Error(\"old style JPEG compression is not supported.\")})),e(7,(function(){return Promise.resolve().then((function(){return v})).then((function(A){return A.default}))})),e([8,32946],(function(){return Promise.resolve().then((function(){return VA})).then((function(A){return A.default}))})),e(32773,(function(){return Promise.resolve().then((function(){return $A})).then((function(A){return A.default}))})),e(34887,(function(){return Promise.resolve().then((function(){return UI})).then(function(){var A=B(E.mark((function A(I){return E.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.next=2,I.zstd.init();case 2:return A.abrupt(\"return\",I);case 3:case\"end\":return A.stop()}}),A)})));return function(I){return A.apply(this,arguments)}}()).then((function(A){return A.default}))})),e(5e4,(function(){return Promise.resolve().then((function(){return pI})).then(function(){var A=B(E.mark((function A(I){return E.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.next=2,I.zstd.init();case 2:return A.abrupt(\"return\",I);case 3:case\"end\":return A.stop()}}),A)})));return function(I){return A.apply(this,arguments)}}()).then((function(A){return A.default}))})),e(50001,(function(){return Promise.resolve().then((function(){return bI})).then((function(A){return A.default}))}),!1);var r=[\"fileDirectory\",\"buffer\"];function s(A,I){var g=Object.keys(A);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(A);I&&(B=B.filter((function(I){return Object.getOwnPropertyDescriptor(A,I).enumerable}))),g.push.apply(g,B)}return g}function n(I){for(var g=1;g<arguments.length;g++){var B=null!=arguments[g]?arguments[g]:{};g%2?s(Object(B),!0).forEach((function(g){A(I,g,B[g])})):Object.getOwnPropertyDescriptors?Object.defineProperties(I,Object.getOwnPropertyDescriptors(B)):s(Object(B)).forEach((function(A){Object.defineProperty(I,A,Object.getOwnPropertyDescriptor(B,A))}))}return I}var D=globalThis;function w(A,I){if(!(A instanceof I))throw new TypeError(\"Cannot call a class as a function\")}function h(A,I){for(var g=0;g<I.length;g++){var B=I[g];B.enumerable=B.enumerable||!1,B.configurable=!0,\"value\"in B&&(B.writable=!0),Object.defineProperty(A,B.key,B)}}function y(A,I,g){return I&&h(A.prototype,I),g&&h(A,g),A}function c(A,I){return c=Object.setPrototypeOf||function(A,I){return A.__proto__=I,A},c(A,I)}function G(A,I){if(\"function\"!=typeof I&&null!==I)throw new TypeError(\"Super expression must either be null or a function\");A.prototype=Object.create(I&&I.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),I&&c(A,I)}function S(A,I){if(I&&(\"object\"===C(I)||\"function\"==typeof I))return I;if(void 0!==I)throw new TypeError(\"Derived constructors may only return object or undefined\");return function(A){if(void 0===A)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return A}(A)}function N(A){return N=Object.setPrototypeOf?Object.getPrototypeOf:function(A){return A.__proto__||Object.getPrototypeOf(A)},N(A)}function F(A,I){var g=A.length-I,B=0;do{for(var C=I;C>0;C--)A[B+I]+=A[B],B++;g-=I}while(g>0)}function f(A,I,g){for(var B=0,C=A.length,Q=C/g;C>I;){for(var E=I;E>0;--E)A[B+I]+=A[B],++B;C-=I}for(var i=A.slice(),o=0;o<Q;++o)for(var e=0;e<g;++e)A[g*o+e]=i[(g-e-1)*Q+o]}function k(A,I,g,B,C,Q){if(!I||1===I)return A;for(var E=0;E<C.length;++E){if(C[E]%8!=0)throw new Error(\"When decoding with predictor, only multiple of 8 bits are supported.\");if(C[E]!==C[0])throw new Error(\"When decoding with predictor, all samples must have the same size.\")}for(var i=C[0]/8,o=2===Q?1:C.length,e=0;e<B&&!(e*o*g*i>=A.byteLength);++e){var t=void 0;if(2===I){switch(C[0]){case 8:t=new Uint8Array(A,e*o*g*i,o*g*i);break;case 16:t=new Uint16Array(A,e*o*g*i,o*g*i/2);break;case 32:t=new Uint32Array(A,e*o*g*i,o*g*i/4);break;default:throw new Error(\"Predictor 2 not allowed with \".concat(C[0],\" bits per sample.\"))}F(t,o)}else 3===I&&f(t=new Uint8Array(A,e*o*g*i,o*g*i),o,i)}return A}D.addEventListener(\"message\",function(){var A=B(E.mark((function A(g){var B,C,Q,i,o,e;return E.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return B=g.data,C=B.fileDirectory,Q=B.buffer,i=I(B,r),A.prev=1,A.next=4,t(C);case 4:return o=A.sent,A.next=7,o.decode(C,Q);case 7:e=A.sent,D.postMessage(n({decoded:e},i),[e]),A.next=14;break;case 11:A.prev=11,A.t0=A.catch(1),D.postMessage(n({error:A.t0.message},i));case 14:case\"end\":return A.stop()}}),A,null,[[1,11]])})));return function(I){return A.apply(this,arguments)}}());var R=function(){function A(){w(this,A)}var I;return y(A,[{key:\"decode\",value:(I=B(E.mark((function A(I,g){var B,C,Q,i,o;return E.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.next=2,this.decodeBlock(g);case 2:if(B=A.sent,1===(C=I.Predictor||1)){A.next=9;break}return Q=!I.StripOffsets,i=Q?I.TileWidth:I.ImageWidth,o=Q?I.TileLength:I.RowsPerStrip||I.ImageLength,A.abrupt(\"return\",k(B,C,i,o,I.BitsPerSample,I.PlanarConfiguration));case 9:return A.abrupt(\"return\",B);case 10:case\"end\":return A.stop()}}),A,this)}))),function(A,g){return I.apply(this,arguments)})}]),A}();function L(A){var I=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var g,B=N(A);if(I){var C=N(this).constructor;g=Reflect.construct(B,arguments,C)}else g=B.apply(this,arguments);return S(this,g)}}var U=function(A){G(g,R);var I=L(g);function g(){return w(this,g),I.apply(this,arguments)}return y(g,[{key:\"decodeBlock\",value:function(A){return A}}]),g}(),u=Object.freeze({__proto__:null,default:U});function Y(A){var I=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var g,B=N(A);if(I){var C=N(this).constructor;g=Reflect.construct(B,arguments,C)}else g=B.apply(this,arguments);return S(this,g)}}function d(A,I){for(var g=I.length-1;g>=0;g--)A.push(I[g]);return A}function l(A){for(var I=new Uint16Array(4093),g=new Uint8Array(4093),B=0;B<=257;B++)I[B]=4096,g[B]=B;var C=258,Q=9,E=0;function i(){C=258,Q=9}function o(A){var I=function(A,I,g){var B=I%8,C=Math.floor(I/8),Q=8-B,E=I+g-8*(C+1),i=8*(C+2)-(I+g),o=8*(C+2)-I;if(i=Math.max(0,i),C>=A.length)return console.warn(\"ran off the end of the buffer before finding EOI_CODE (end on input code)\"),257;var e=A[C]&Math.pow(2,8-B)-1,t=e<<=g-Q;if(C+1<A.length){var a=A[C+1]>>>i;t+=a<<=Math.max(0,g-o)}if(E>8&&C+2<A.length){var r=8*(C+3)-(I+g);t+=A[C+2]>>>r}return t}(A,E,Q);return E+=Q,I}function e(A,B){return g[C]=B,I[C]=A,++C-1}function t(A){for(var B=[],C=A;4096!==C;C=I[C])B.push(g[C]);return B}var a=[];i();for(var r,s=new Uint8Array(A),n=o(s);257!==n;){if(256===n){for(i(),n=o(s);256===n;)n=o(s);if(257===n)break;if(n>256)throw new Error(\"corrupted code at scanline \".concat(n));d(a,t(n)),r=n}else if(n<C){var D=t(n);d(a,D),e(r,D[D.length-1]),r=n}else{var w=t(r);if(!w)throw new Error(\"Bogus entry. Not in dictionary, \".concat(r,\" / \").concat(C,\", position: \").concat(E));d(a,w),a.push(w[w.length-1]),e(r,w[w.length-1]),r=n}C+1>=Math.pow(2,Q)&&(12===Q?r=void 0:Q++),n=o(s)}return new Uint8Array(a)}var K=function(A){G(g,R);var I=Y(g);function g(){return w(this,g),I.apply(this,arguments)}return y(g,[{key:\"decodeBlock\",value:function(A){return l(A).buffer}}]),g}(),M=Object.freeze({__proto__:null,default:K});function J(A){var I=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var g,B=N(A);if(I){var C=N(this).constructor;g=Reflect.construct(B,arguments,C)}else g=B.apply(this,arguments);return S(this,g)}}var H=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);function p(A,I){for(var g=0,B=[],C=16;C>0&&!A[C-1];)--C;B.push({children:[],index:0});for(var Q,E=B[0],i=0;i<C;i++){for(var o=0;o<A[i];o++){for((E=B.pop()).children[E.index]=I[g];E.index>0;)E=B.pop();for(E.index++,B.push(E);B.length<=i;)B.push(Q={children:[],index:0}),E.children[E.index]=Q.children,E=Q;g++}i+1<C&&(B.push(Q={children:[],index:0}),E.children[E.index]=Q.children,E=Q)}return B[0].children}function q(A,I,g,B,Q,E,i,o,e){var t=g.mcusPerLine,a=g.progressive,r=I,s=I,n=0,D=0;function w(){if(D>0)return D--,n>>D&1;if(255===(n=A[s++])){var I=A[s++];if(I)throw new Error(\"unexpected marker: \".concat((n<<8|I).toString(16)))}return D=7,n>>>7}function h(A){for(var I,g=A;null!==(I=w());){if(\"number\"==typeof(g=g[I]))return g;if(\"object\"!==C(g))throw new Error(\"invalid huffman sequence\")}return null}function y(A){for(var I=A,g=0;I>0;){var B=w();if(null===B)return;g=g<<1|B,--I}return g}function c(A){var I=y(A);return I>=1<<A-1?I:I+(-1<<A)+1}var G=0;var S,N=0;function F(A,I,g,B,C){var Q=g%t,E=(g/t|0)*A.v+B,i=Q*A.h+C;I(A,A.blocks[E][i])}function f(A,I,g){var B=g/A.blocksPerLine|0,C=g%A.blocksPerLine;I(A,A.blocks[B][C])}var k,R,L,U,u,Y,d=B.length;Y=a?0===E?0===o?function(A,I){var g=h(A.huffmanTableDC),B=0===g?0:c(g)<<e;A.pred+=B,I[0]=A.pred}:function(A,I){I[0]|=w()<<e}:0===o?function(A,I){if(G>0)G--;else for(var g=E,B=i;g<=B;){var C=h(A.huffmanTableAC),Q=15&C,o=C>>4;if(0===Q){if(o<15){G=y(o)+(1<<o)-1;break}g+=16}else I[H[g+=o]]=c(Q)*(1<<e),g++}}:function(A,I){for(var g=E,B=i,C=0;g<=B;){var Q=H[g],o=I[Q]<0?-1:1;switch(N){case 0:var t=h(A.huffmanTableAC),a=15&t;if(C=t>>4,0===a)C<15?(G=y(C)+(1<<C),N=4):(C=16,N=1);else{if(1!==a)throw new Error(\"invalid ACn encoding\");S=c(a),N=C?2:3}continue;case 1:case 2:I[Q]?I[Q]+=(w()<<e)*o:0==--C&&(N=2===N?3:0);break;case 3:I[Q]?I[Q]+=(w()<<e)*o:(I[Q]=S<<e,N=0);break;case 4:I[Q]&&(I[Q]+=(w()<<e)*o)}g++}4===N&&0==--G&&(N=0)}:function(A,I){var g=h(A.huffmanTableDC),B=0===g?0:c(g);A.pred+=B,I[0]=A.pred;for(var C=1;C<64;){var Q=h(A.huffmanTableAC),E=15&Q,i=Q>>4;if(0===E){if(i<15)break;C+=16}else I[H[C+=i]]=c(E),C++}};var l,K,M=0;K=1===d?B[0].blocksPerLine*B[0].blocksPerColumn:t*g.mcusPerColumn;for(var J=Q||K;M<K;){for(R=0;R<d;R++)B[R].pred=0;if(G=0,1===d)for(k=B[0],u=0;u<J;u++)f(k,Y,M),M++;else for(u=0;u<J;u++){for(R=0;R<d;R++){var p=k=B[R],q=p.h,m=p.v;for(L=0;L<m;L++)for(U=0;U<q;U++)F(k,Y,M,L,U)}if(++M===K)break}if(D=0,(l=A[s]<<8|A[s+1])<65280)throw new Error(\"marker was not found\");if(!(l>=65488&&l<=65495))break;s+=2}return s-r}function m(A,I){var g=[],B=I.blocksPerLine,C=I.blocksPerColumn,Q=B<<3,E=new Int32Array(64),i=new Uint8Array(64);function o(A,g,B){var C,Q,E,i,o,e,t,a,r,s,n=I.quantizationTable,D=B;for(s=0;s<64;s++)D[s]=A[s]*n[s];for(s=0;s<8;++s){var w=8*s;0!==D[1+w]||0!==D[2+w]||0!==D[3+w]||0!==D[4+w]||0!==D[5+w]||0!==D[6+w]||0!==D[7+w]?(C=5793*D[0+w]+128>>8,Q=5793*D[4+w]+128>>8,E=D[2+w],i=D[6+w],o=2896*(D[1+w]-D[7+w])+128>>8,a=2896*(D[1+w]+D[7+w])+128>>8,e=D[3+w]<<4,r=C-Q+1>>1,C=C+Q+1>>1,Q=r,r=3784*E+1567*i+128>>8,E=1567*E-3784*i+128>>8,i=r,r=o-(t=D[5+w]<<4)+1>>1,o=o+t+1>>1,t=r,r=a+e+1>>1,e=a-e+1>>1,a=r,r=C-i+1>>1,C=C+i+1>>1,i=r,r=Q-E+1>>1,Q=Q+E+1>>1,E=r,r=2276*o+3406*a+2048>>12,o=3406*o-2276*a+2048>>12,a=r,r=799*e+4017*t+2048>>12,e=4017*e-799*t+2048>>12,t=r,D[0+w]=C+a,D[7+w]=C-a,D[1+w]=Q+t,D[6+w]=Q-t,D[2+w]=E+e,D[5+w]=E-e,D[3+w]=i+o,D[4+w]=i-o):(r=5793*D[0+w]+512>>10,D[0+w]=r,D[1+w]=r,D[2+w]=r,D[3+w]=r,D[4+w]=r,D[5+w]=r,D[6+w]=r,D[7+w]=r)}for(s=0;s<8;++s){var h=s;0!==D[8+h]||0!==D[16+h]||0!==D[24+h]||0!==D[32+h]||0!==D[40+h]||0!==D[48+h]||0!==D[56+h]?(C=5793*D[0+h]+2048>>12,Q=5793*D[32+h]+2048>>12,E=D[16+h],i=D[48+h],o=2896*(D[8+h]-D[56+h])+2048>>12,a=2896*(D[8+h]+D[56+h])+2048>>12,e=D[24+h],r=C-Q+1>>1,C=C+Q+1>>1,Q=r,r=3784*E+1567*i+2048>>12,E=1567*E-3784*i+2048>>12,i=r,r=o-(t=D[40+h])+1>>1,o=o+t+1>>1,t=r,r=a+e+1>>1,e=a-e+1>>1,a=r,r=C-i+1>>1,C=C+i+1>>1,i=r,r=Q-E+1>>1,Q=Q+E+1>>1,E=r,r=2276*o+3406*a+2048>>12,o=3406*o-2276*a+2048>>12,a=r,r=799*e+4017*t+2048>>12,e=4017*e-799*t+2048>>12,t=r,D[0+h]=C+a,D[56+h]=C-a,D[8+h]=Q+t,D[48+h]=Q-t,D[16+h]=E+e,D[40+h]=E-e,D[24+h]=i+o,D[32+h]=i-o):(r=5793*B[s+0]+8192>>14,D[0+h]=r,D[8+h]=r,D[16+h]=r,D[24+h]=r,D[32+h]=r,D[40+h]=r,D[48+h]=r,D[56+h]=r)}for(s=0;s<64;++s){var y=128+(D[s]+8>>4);g[s]=y<0?0:y>255?255:y}}for(var e=0;e<C;e++){for(var t=e<<3,a=0;a<8;a++)g.push(new Uint8Array(Q));for(var r=0;r<B;r++){o(I.blocks[e][r],i,E);for(var s=0,n=r<<3,D=0;D<8;D++)for(var w=g[t+D],h=0;h<8;h++)w[n+h]=i[s++]}}return g}var b=function(){function A(){w(this,A),this.jfif=null,this.adobe=null,this.quantizationTables=[],this.huffmanTablesAC=[],this.huffmanTablesDC=[],this.resetFrames()}return y(A,[{key:\"resetFrames\",value:function(){this.frames=[]}},{key:\"parse\",value:function(A){var I=0;function g(){var g=A[I]<<8|A[I+1];return I+=2,g}function B(A){var I,g,B=0,C=0;for(g in A.components)A.components.hasOwnProperty(g)&&(B<(I=A.components[g]).h&&(B=I.h),C<I.v&&(C=I.v));var Q=Math.ceil(A.samplesPerLine/8/B),E=Math.ceil(A.scanLines/8/C);for(g in A.components)if(A.components.hasOwnProperty(g)){I=A.components[g];for(var i=Math.ceil(Math.ceil(A.samplesPerLine/8)*I.h/B),o=Math.ceil(Math.ceil(A.scanLines/8)*I.v/C),e=Q*I.h,t=E*I.v,a=[],r=0;r<t;r++){for(var s=[],n=0;n<e;n++)s.push(new Int32Array(64));a.push(s)}I.blocksPerLine=i,I.blocksPerColumn=o,I.blocks=a}A.maxH=B,A.maxV=C,A.mcusPerLine=Q,A.mcusPerColumn=E}var C,Q,E=g();if(65496!==E)throw new Error(\"SOI not found\");for(E=g();65497!==E;){switch(E){case 65280:break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var i=(C=void 0,Q=void 0,C=g(),Q=A.subarray(I,I+C-2),I+=Q.length,Q);65504===E&&74===i[0]&&70===i[1]&&73===i[2]&&70===i[3]&&0===i[4]&&(this.jfif={version:{major:i[5],minor:i[6]},densityUnits:i[7],xDensity:i[8]<<8|i[9],yDensity:i[10]<<8|i[11],thumbWidth:i[12],thumbHeight:i[13],thumbData:i.subarray(14,14+3*i[12]*i[13])}),65518===E&&65===i[0]&&100===i[1]&&111===i[2]&&98===i[3]&&101===i[4]&&0===i[5]&&(this.adobe={version:i[6],flags0:i[7]<<8|i[8],flags1:i[9]<<8|i[10],transformCode:i[11]});break;case 65499:for(var o=g()+I-2;I<o;){var e=A[I++],t=new Int32Array(64);if(e>>4==0)for(var a=0;a<64;a++){t[H[a]]=A[I++]}else{if(e>>4!=1)throw new Error(\"DQT: invalid table spec\");for(var r=0;r<64;r++){t[H[r]]=g()}}this.quantizationTables[15&e]=t}break;case 65472:case 65473:case 65474:g();for(var s={extended:65473===E,progressive:65474===E,precision:A[I++],scanLines:g(),samplesPerLine:g(),components:{},componentsOrder:[]},n=A[I++],D=void 0,w=0;w<n;w++){D=A[I];var h=A[I+1]>>4,y=15&A[I+1],c=A[I+2];s.componentsOrder.push(D),s.components[D]={h:h,v:y,quantizationIdx:c},I+=3}B(s),this.frames.push(s);break;case 65476:for(var G=g(),S=2;S<G;){for(var N=A[I++],F=new Uint8Array(16),f=0,k=0;k<16;k++,I++)F[k]=A[I],f+=F[k];for(var R=new Uint8Array(f),L=0;L<f;L++,I++)R[L]=A[I];S+=17+f,N>>4==0?this.huffmanTablesDC[15&N]=p(F,R):this.huffmanTablesAC[15&N]=p(F,R)}break;case 65501:g(),this.resetInterval=g();break;case 65498:g();for(var U=A[I++],u=[],Y=this.frames[0],d=0;d<U;d++){var l=Y.components[A[I++]],K=A[I++];l.huffmanTableDC=this.huffmanTablesDC[K>>4],l.huffmanTableAC=this.huffmanTablesAC[15&K],u.push(l)}var M=A[I++],J=A[I++],m=A[I++],b=q(A,I,Y,u,this.resetInterval,M,J,m>>4,15&m);I+=b;break;case 65535:255!==A[I]&&I--;break;default:if(255===A[I-3]&&A[I-2]>=192&&A[I-2]<=254){I-=3;break}throw new Error(\"unknown JPEG marker \".concat(E.toString(16)))}E=g()}}},{key:\"getResult\",value:function(){var A=this.frames;if(0===this.frames.length)throw new Error(\"no frames were decoded\");this.frames.length>1&&console.warn(\"more than one frame is not supported\");for(var I=0;I<this.frames.length;I++)for(var g=this.frames[I].components,B=0,C=Object.keys(g);B<C.length;B++){var Q=C[B];g[Q].quantizationTable=this.quantizationTables[g[Q].quantizationIdx],delete g[Q].quantizationIdx}for(var E=A[0],i=E.components,o=E.componentsOrder,e=[],t=E.samplesPerLine,a=E.scanLines,r=0;r<o.length;r++){var s=i[o[r]];e.push({lines:m(0,s),scaleX:s.h/E.maxH,scaleY:s.v/E.maxV})}for(var n=new Uint8Array(t*a*e.length),D=0,w=0;w<a;++w)for(var h=0;h<t;++h)for(var y=0;y<e.length;++y){var c=e[y];n[D]=c.lines[0|w*c.scaleY][0|h*c.scaleX],++D}return n}}]),A}(),x=function(A){G(g,R);var I=J(g);function g(A){var B;return w(this,g),(B=I.call(this)).reader=new b,A.JPEGTables&&B.reader.parse(A.JPEGTables),B}return y(g,[{key:\"decodeBlock\",value:function(A){return this.reader.resetFrames(),this.reader.parse(new Uint8Array(A)),this.reader.getResult().buffer}}]),g}(),v=Object.freeze({__proto__:null,default:x});function O(A){for(var I=A.length;--I>=0;)A[I]=0}O(new Array(576)),O(new Array(60)),O(new Array(512)),O(new Array(256)),O(new Array(29)),O(new Array(30));var T=function(A,I,g,B){for(var C=65535&A|0,Q=A>>>16&65535|0,E=0;0!==g;){g-=E=g>2e3?2e3:g;do{Q=Q+(C=C+I[B++]|0)|0}while(--E);C%=65521,Q%=65521}return C|Q<<16|0},P=new Uint32Array(function(){for(var A,I=[],g=0;g<256;g++){A=g;for(var B=0;B<8;B++)A=1&A?3988292384^A>>>1:A>>>1;I[g]=A}return I}()),Z=function(A,I,g,B){var C=P,Q=B+g;A^=-1;for(var E=B;E<Q;E++)A=A>>>8^C[255&(A^I[E])];return-1^A},j={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\"},W={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},V=function(A,I){return Object.prototype.hasOwnProperty.call(A,I)},z=function(A){for(var I=Array.prototype.slice.call(arguments,1);I.length;){var g=I.shift();if(g){if(\"object\"!==C(g))throw new TypeError(g+\"must be non-object\");for(var B in g)V(g,B)&&(A[B]=g[B])}}return A},X=function(A){for(var I=0,g=0,B=A.length;g<B;g++)I+=A[g].length;for(var C=new Uint8Array(I),Q=0,E=0,i=A.length;Q<i;Q++){var o=A[Q];C.set(o,E),E+=o.length}return C},_=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(A){_=!1}for(var $=new Uint8Array(256),AA=0;AA<256;AA++)$[AA]=AA>=252?6:AA>=248?5:AA>=240?4:AA>=224?3:AA>=192?2:1;$[254]=$[254]=1;var IA=function(A){if(\"function\"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(A);var I,g,B,C,Q,E=A.length,i=0;for(C=0;C<E;C++)55296==(64512&(g=A.charCodeAt(C)))&&C+1<E&&56320==(64512&(B=A.charCodeAt(C+1)))&&(g=65536+(g-55296<<10)+(B-56320),C++),i+=g<128?1:g<2048?2:g<65536?3:4;for(I=new Uint8Array(i),Q=0,C=0;Q<i;C++)55296==(64512&(g=A.charCodeAt(C)))&&C+1<E&&56320==(64512&(B=A.charCodeAt(C+1)))&&(g=65536+(g-55296<<10)+(B-56320),C++),g<128?I[Q++]=g:g<2048?(I[Q++]=192|g>>>6,I[Q++]=128|63&g):g<65536?(I[Q++]=224|g>>>12,I[Q++]=128|g>>>6&63,I[Q++]=128|63&g):(I[Q++]=240|g>>>18,I[Q++]=128|g>>>12&63,I[Q++]=128|g>>>6&63,I[Q++]=128|63&g);return I},gA=function(A,I){var g,B,C=I||A.length;if(\"function\"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(A.subarray(0,I));var Q=new Array(2*C);for(B=0,g=0;g<C;){var E=A[g++];if(E<128)Q[B++]=E;else{var i=$[E];if(i>4)Q[B++]=65533,g+=i-1;else{for(E&=2===i?31:3===i?15:7;i>1&&g<C;)E=E<<6|63&A[g++],i--;i>1?Q[B++]=65533:E<65536?Q[B++]=E:(E-=65536,Q[B++]=55296|E>>10&1023,Q[B++]=56320|1023&E)}}}return function(A,I){if(I<65534&&A.subarray&&_)return String.fromCharCode.apply(null,A.length===I?A:A.subarray(0,I));for(var g=\"\",B=0;B<I;B++)g+=String.fromCharCode(A[B]);return g}(Q,B)},BA=function(A,I){(I=I||A.length)>A.length&&(I=A.length);for(var g=I-1;g>=0&&128==(192&A[g]);)g--;return g<0||0===g?I:g+$[A[g]]>I?g:I};var CA=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0},QA=function(A,I){var g,B,C,Q,E,i,o,e,t,a,r,s,n,D,w,h,y,c,G,S,N,F,f,k,R=A.state;g=A.next_in,f=A.input,B=g+(A.avail_in-5),C=A.next_out,k=A.output,Q=C-(I-A.avail_out),E=C+(A.avail_out-257),i=R.dmax,o=R.wsize,e=R.whave,t=R.wnext,a=R.window,r=R.hold,s=R.bits,n=R.lencode,D=R.distcode,w=(1<<R.lenbits)-1,h=(1<<R.distbits)-1;A:do{s<15&&(r+=f[g++]<<s,s+=8,r+=f[g++]<<s,s+=8),y=n[r&w];I:for(;;){if(r>>>=c=y>>>24,s-=c,0===(c=y>>>16&255))k[C++]=65535&y;else{if(!(16&c)){if(0==(64&c)){y=n[(65535&y)+(r&(1<<c)-1)];continue I}if(32&c){R.mode=12;break A}A.msg=\"invalid literal/length code\",R.mode=30;break A}G=65535&y,(c&=15)&&(s<c&&(r+=f[g++]<<s,s+=8),G+=r&(1<<c)-1,r>>>=c,s-=c),s<15&&(r+=f[g++]<<s,s+=8,r+=f[g++]<<s,s+=8),y=D[r&h];g:for(;;){if(r>>>=c=y>>>24,s-=c,!(16&(c=y>>>16&255))){if(0==(64&c)){y=D[(65535&y)+(r&(1<<c)-1)];continue g}A.msg=\"invalid distance code\",R.mode=30;break A}if(S=65535&y,s<(c&=15)&&(r+=f[g++]<<s,(s+=8)<c&&(r+=f[g++]<<s,s+=8)),(S+=r&(1<<c)-1)>i){A.msg=\"invalid distance too far back\",R.mode=30;break A}if(r>>>=c,s-=c,S>(c=C-Q)){if((c=S-c)>e&&R.sane){A.msg=\"invalid distance too far back\",R.mode=30;break A}if(N=0,F=a,0===t){if(N+=o-c,c<G){G-=c;do{k[C++]=a[N++]}while(--c);N=C-S,F=k}}else if(t<c){if(N+=o+t-c,(c-=t)<G){G-=c;do{k[C++]=a[N++]}while(--c);if(N=0,t<G){G-=c=t;do{k[C++]=a[N++]}while(--c);N=C-S,F=k}}}else if(N+=t-c,c<G){G-=c;do{k[C++]=a[N++]}while(--c);N=C-S,F=k}for(;G>2;)k[C++]=F[N++],k[C++]=F[N++],k[C++]=F[N++],G-=3;G&&(k[C++]=F[N++],G>1&&(k[C++]=F[N++]))}else{N=C-S;do{k[C++]=k[N++],k[C++]=k[N++],k[C++]=k[N++],G-=3}while(G>2);G&&(k[C++]=k[N++],G>1&&(k[C++]=k[N++]))}break}}break}}while(g<B&&C<E);g-=G=s>>3,r&=(1<<(s-=G<<3))-1,A.next_in=g,A.next_out=C,A.avail_in=g<B?B-g+5:5-(g-B),A.avail_out=C<E?E-C+257:257-(C-E),R.hold=r,R.bits=s},EA=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]),iA=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]),oA=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]),eA=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]),tA=function(A,I,g,B,C,Q,E,i){var o,e,t,a,r,s,n,D,w,h=i.bits,y=0,c=0,G=0,S=0,N=0,F=0,f=0,k=0,R=0,L=0,U=null,u=0,Y=new Uint16Array(16),d=new Uint16Array(16),l=null,K=0;for(y=0;y<=15;y++)Y[y]=0;for(c=0;c<B;c++)Y[I[g+c]]++;for(N=h,S=15;S>=1&&0===Y[S];S--);if(N>S&&(N=S),0===S)return C[Q++]=20971520,C[Q++]=20971520,i.bits=1,0;for(G=1;G<S&&0===Y[G];G++);for(N<G&&(N=G),k=1,y=1;y<=15;y++)if(k<<=1,(k-=Y[y])<0)return-1;if(k>0&&(0===A||1!==S))return-1;for(d[1]=0,y=1;y<15;y++)d[y+1]=d[y]+Y[y];for(c=0;c<B;c++)0!==I[g+c]&&(E[d[I[g+c]]++]=c);if(0===A?(U=l=E,s=19):1===A?(U=EA,u-=257,l=iA,K-=257,s=256):(U=oA,l=eA,s=-1),L=0,c=0,y=G,r=Q,F=N,f=0,t=-1,a=(R=1<<N)-1,1===A&&R>852||2===A&&R>592)return 1;for(;;){n=y-f,E[c]<s?(D=0,w=E[c]):E[c]>s?(D=l[K+E[c]],w=U[u+E[c]]):(D=96,w=0),o=1<<y-f,G=e=1<<F;do{C[r+(L>>f)+(e-=o)]=n<<24|D<<16|w|0}while(0!==e);for(o=1<<y-1;L&o;)o>>=1;if(0!==o?(L&=o-1,L+=o):L=0,c++,0==--Y[y]){if(y===S)break;y=I[g+E[c]]}if(y>N&&(L&a)!==t){for(0===f&&(f=N),r+=G,k=1<<(F=y-f);F+f<S&&!((k-=Y[F+f])<=0);)F++,k<<=1;if(R+=1<<F,1===A&&R>852||2===A&&R>592)return 1;C[t=L&a]=N<<24|F<<16|r-Q|0}}return 0!==L&&(C[r+L]=y-f<<24|64<<16|0),i.bits=N,0},aA=W.Z_FINISH,rA=W.Z_BLOCK,sA=W.Z_TREES,nA=W.Z_OK,DA=W.Z_STREAM_END,wA=W.Z_NEED_DICT,hA=W.Z_STREAM_ERROR,yA=W.Z_DATA_ERROR,cA=W.Z_MEM_ERROR,GA=W.Z_BUF_ERROR,SA=W.Z_DEFLATED,NA=function(A){return(A>>>24&255)+(A>>>8&65280)+((65280&A)<<8)+((255&A)<<24)};function FA(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var fA,kA,RA=function(A){if(!A||!A.state)return hA;var I=A.state;return A.total_in=A.total_out=I.total=0,A.msg=\"\",I.wrap&&(A.adler=1&I.wrap),I.mode=1,I.last=0,I.havedict=0,I.dmax=32768,I.head=null,I.hold=0,I.bits=0,I.lencode=I.lendyn=new Int32Array(852),I.distcode=I.distdyn=new Int32Array(592),I.sane=1,I.back=-1,nA},LA=function(A){if(!A||!A.state)return hA;var I=A.state;return I.wsize=0,I.whave=0,I.wnext=0,RA(A)},UA=function(A,I){var g;if(!A||!A.state)return hA;var B=A.state;return I<0?(g=0,I=-I):(g=1+(I>>4),I<48&&(I&=15)),I&&(I<8||I>15)?hA:(null!==B.window&&B.wbits!==I&&(B.window=null),B.wrap=g,B.wbits=I,LA(A))},uA=function(A,I){if(!A)return hA;var g=new FA;A.state=g,g.window=null;var B=UA(A,I);return B!==nA&&(A.state=null),B},YA=!0,dA=function(A){if(YA){fA=new Int32Array(512),kA=new Int32Array(32);for(var I=0;I<144;)A.lens[I++]=8;for(;I<256;)A.lens[I++]=9;for(;I<280;)A.lens[I++]=7;for(;I<288;)A.lens[I++]=8;for(tA(1,A.lens,0,288,fA,0,A.work,{bits:9}),I=0;I<32;)A.lens[I++]=5;tA(2,A.lens,0,32,kA,0,A.work,{bits:5}),YA=!1}A.lencode=fA,A.lenbits=9,A.distcode=kA,A.distbits=5},lA=function(A,I,g,B){var C,Q=A.state;return null===Q.window&&(Q.wsize=1<<Q.wbits,Q.wnext=0,Q.whave=0,Q.window=new Uint8Array(Q.wsize)),B>=Q.wsize?(Q.window.set(I.subarray(g-Q.wsize,g),0),Q.wnext=0,Q.whave=Q.wsize):((C=Q.wsize-Q.wnext)>B&&(C=B),Q.window.set(I.subarray(g-B,g-B+C),Q.wnext),(B-=C)?(Q.window.set(I.subarray(g-B,g),0),Q.wnext=B,Q.whave=Q.wsize):(Q.wnext+=C,Q.wnext===Q.wsize&&(Q.wnext=0),Q.whave<Q.wsize&&(Q.whave+=C))),0},KA={inflateReset:LA,inflateReset2:UA,inflateResetKeep:RA,inflateInit:function(A){return uA(A,15)},inflateInit2:uA,inflate:function(A,I){var g,B,C,Q,E,i,o,e,t,a,r,s,n,D,w,h,y,c,G,S,N,F,f,k,R=0,L=new Uint8Array(4),U=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(!A||!A.state||!A.output||!A.input&&0!==A.avail_in)return hA;12===(g=A.state).mode&&(g.mode=13),E=A.next_out,C=A.output,o=A.avail_out,Q=A.next_in,B=A.input,i=A.avail_in,e=g.hold,t=g.bits,a=i,r=o,F=nA;A:for(;;)switch(g.mode){case 1:if(0===g.wrap){g.mode=13;break}for(;t<16;){if(0===i)break A;i--,e+=B[Q++]<<t,t+=8}if(2&g.wrap&&35615===e){g.check=0,L[0]=255&e,L[1]=e>>>8&255,g.check=Z(g.check,L,2,0),e=0,t=0,g.mode=2;break}if(g.flags=0,g.head&&(g.head.done=!1),!(1&g.wrap)||(((255&e)<<8)+(e>>8))%31){A.msg=\"incorrect header check\",g.mode=30;break}if((15&e)!==SA){A.msg=\"unknown compression method\",g.mode=30;break}if(t-=4,N=8+(15&(e>>>=4)),0===g.wbits)g.wbits=N;else if(N>g.wbits){A.msg=\"invalid window size\",g.mode=30;break}g.dmax=1<<g.wbits,A.adler=g.check=1,g.mode=512&e?10:12,e=0,t=0;break;case 2:for(;t<16;){if(0===i)break A;i--,e+=B[Q++]<<t,t+=8}if(g.flags=e,(255&g.flags)!==SA){A.msg=\"unknown compression method\",g.mode=30;break}if(57344&g.flags){A.msg=\"unknown header flags set\",g.mode=30;break}g.head&&(g.head.text=e>>8&1),512&g.flags&&(L[0]=255&e,L[1]=e>>>8&255,g.check=Z(g.check,L,2,0)),e=0,t=0,g.mode=3;case 3:for(;t<32;){if(0===i)break A;i--,e+=B[Q++]<<t,t+=8}g.head&&(g.head.time=e),512&g.flags&&(L[0]=255&e,L[1]=e>>>8&255,L[2]=e>>>16&255,L[3]=e>>>24&255,g.check=Z(g.check,L,4,0)),e=0,t=0,g.mode=4;case 4:for(;t<16;){if(0===i)break A;i--,e+=B[Q++]<<t,t+=8}g.head&&(g.head.xflags=255&e,g.head.os=e>>8),512&g.flags&&(L[0]=255&e,L[1]=e>>>8&255,g.check=Z(g.check,L,2,0)),e=0,t=0,g.mode=5;case 5:if(1024&g.flags){for(;t<16;){if(0===i)break A;i--,e+=B[Q++]<<t,t+=8}g.length=e,g.head&&(g.head.extra_len=e),512&g.flags&&(L[0]=255&e,L[1]=e>>>8&255,g.check=Z(g.check,L,2,0)),e=0,t=0}else g.head&&(g.head.extra=null);g.mode=6;case 6:if(1024&g.flags&&((s=g.length)>i&&(s=i),s&&(g.head&&(N=g.head.extra_len-g.length,g.head.extra||(g.head.extra=new Uint8Array(g.head.extra_len)),g.head.extra.set(B.subarray(Q,Q+s),N)),512&g.flags&&(g.check=Z(g.check,B,s,Q)),i-=s,Q+=s,g.length-=s),g.length))break A;g.length=0,g.mode=7;case 7:if(2048&g.flags){if(0===i)break A;s=0;do{N=B[Q+s++],g.head&&N&&g.length<65536&&(g.head.name+=String.fromCharCode(N))}while(N&&s<i);if(512&g.flags&&(g.check=Z(g.check,B,s,Q)),i-=s,Q+=s,N)break A}else g.head&&(g.head.name=null);g.length=0,g.mode=8;case 8:if(4096&g.flags){if(0===i)break A;s=0;do{N=B[Q+s++],g.head&&N&&g.length<65536&&(g.head.comment+=String.fromCharCode(N))}while(N&&s<i);if(512&g.flags&&(g.check=Z(g.check,B,s,Q)),i-=s,Q+=s,N)break A}else g.head&&(g.head.comment=null);g.mode=9;case 9:if(512&g.flags){for(;t<16;){if(0===i)break A;i--,e+=B[Q++]<<t,t+=8}if(e!==(65535&g.check)){A.msg=\"header crc mismatch\",g.mode=30;break}e=0,t=0}g.head&&(g.head.hcrc=g.flags>>9&1,g.head.done=!0),A.adler=g.check=0,g.mode=12;break;case 10:for(;t<32;){if(0===i)break A;i--,e+=B[Q++]<<t,t+=8}A.adler=g.check=NA(e),e=0,t=0,g.mode=11;case 11:if(0===g.havedict)return A.next_out=E,A.avail_out=o,A.next_in=Q,A.avail_in=i,g.hold=e,g.bits=t,wA;A.adler=g.check=1,g.mode=12;case 12:if(I===rA||I===sA)break A;case 13:if(g.last){e>>>=7&t,t-=7&t,g.mode=27;break}for(;t<3;){if(0===i)break A;i--,e+=B[Q++]<<t,t+=8}switch(g.last=1&e,t-=1,3&(e>>>=1)){case 0:g.mode=14;break;case 1:if(dA(g),g.mode=20,I===sA){e>>>=2,t-=2;break A}break;case 2:g.mode=17;break;case 3:A.msg=\"invalid block type\",g.mode=30}e>>>=2,t-=2;break;case 14:for(e>>>=7&t,t-=7&t;t<32;){if(0===i)break A;i--,e+=B[Q++]<<t,t+=8}if((65535&e)!=(e>>>16^65535)){A.msg=\"invalid stored block lengths\",g.mode=30;break}if(g.length=65535&e,e=0,t=0,g.mode=15,I===sA)break A;case 15:g.mode=16;case 16:if(s=g.length){if(s>i&&(s=i),s>o&&(s=o),0===s)break A;C.set(B.subarray(Q,Q+s),E),i-=s,Q+=s,o-=s,E+=s,g.length-=s;break}g.mode=12;break;case 17:for(;t<14;){if(0===i)break A;i--,e+=B[Q++]<<t,t+=8}if(g.nlen=257+(31&e),e>>>=5,t-=5,g.ndist=1+(31&e),e>>>=5,t-=5,g.ncode=4+(15&e),e>>>=4,t-=4,g.nlen>286||g.ndist>30){A.msg=\"too many length or distance symbols\",g.mode=30;break}g.have=0,g.mode=18;case 18:for(;g.have<g.ncode;){for(;t<3;){if(0===i)break A;i--,e+=B[Q++]<<t,t+=8}g.lens[U[g.have++]]=7&e,e>>>=3,t-=3}for(;g.have<19;)g.lens[U[g.have++]]=0;if(g.lencode=g.lendyn,g.lenbits=7,f={bits:g.lenbits},F=tA(0,g.lens,0,19,g.lencode,0,g.work,f),g.lenbits=f.bits,F){A.msg=\"invalid code lengths set\",g.mode=30;break}g.have=0,g.mode=19;case 19:for(;g.have<g.nlen+g.ndist;){for(;h=(R=g.lencode[e&(1<<g.lenbits)-1])>>>16&255,y=65535&R,!((w=R>>>24)<=t);){if(0===i)break A;i--,e+=B[Q++]<<t,t+=8}if(y<16)e>>>=w,t-=w,g.lens[g.have++]=y;else{if(16===y){for(k=w+2;t<k;){if(0===i)break A;i--,e+=B[Q++]<<t,t+=8}if(e>>>=w,t-=w,0===g.have){A.msg=\"invalid bit length repeat\",g.mode=30;break}N=g.lens[g.have-1],s=3+(3&e),e>>>=2,t-=2}else if(17===y){for(k=w+3;t<k;){if(0===i)break A;i--,e+=B[Q++]<<t,t+=8}t-=w,N=0,s=3+(7&(e>>>=w)),e>>>=3,t-=3}else{for(k=w+7;t<k;){if(0===i)break A;i--,e+=B[Q++]<<t,t+=8}t-=w,N=0,s=11+(127&(e>>>=w)),e>>>=7,t-=7}if(g.have+s>g.nlen+g.ndist){A.msg=\"invalid bit length repeat\",g.mode=30;break}for(;s--;)g.lens[g.have++]=N}}if(30===g.mode)break;if(0===g.lens[256]){A.msg=\"invalid code -- missing end-of-block\",g.mode=30;break}if(g.lenbits=9,f={bits:g.lenbits},F=tA(1,g.lens,0,g.nlen,g.lencode,0,g.work,f),g.lenbits=f.bits,F){A.msg=\"invalid literal/lengths set\",g.mode=30;break}if(g.distbits=6,g.distcode=g.distdyn,f={bits:g.distbits},F=tA(2,g.lens,g.nlen,g.ndist,g.distcode,0,g.work,f),g.distbits=f.bits,F){A.msg=\"invalid distances set\",g.mode=30;break}if(g.mode=20,I===sA)break A;case 20:g.mode=21;case 21:if(i>=6&&o>=258){A.next_out=E,A.avail_out=o,A.next_in=Q,A.avail_in=i,g.hold=e,g.bits=t,QA(A,r),E=A.next_out,C=A.output,o=A.avail_out,Q=A.next_in,B=A.input,i=A.avail_in,e=g.hold,t=g.bits,12===g.mode&&(g.back=-1);break}for(g.back=0;h=(R=g.lencode[e&(1<<g.lenbits)-1])>>>16&255,y=65535&R,!((w=R>>>24)<=t);){if(0===i)break A;i--,e+=B[Q++]<<t,t+=8}if(h&&0==(240&h)){for(c=w,G=h,S=y;h=(R=g.lencode[S+((e&(1<<c+G)-1)>>c)])>>>16&255,y=65535&R,!(c+(w=R>>>24)<=t);){if(0===i)break A;i--,e+=B[Q++]<<t,t+=8}e>>>=c,t-=c,g.back+=c}if(e>>>=w,t-=w,g.back+=w,g.length=y,0===h){g.mode=26;break}if(32&h){g.back=-1,g.mode=12;break}if(64&h){A.msg=\"invalid literal/length code\",g.mode=30;break}g.extra=15&h,g.mode=22;case 22:if(g.extra){for(k=g.extra;t<k;){if(0===i)break A;i--,e+=B[Q++]<<t,t+=8}g.length+=e&(1<<g.extra)-1,e>>>=g.extra,t-=g.extra,g.back+=g.extra}g.was=g.length,g.mode=23;case 23:for(;h=(R=g.distcode[e&(1<<g.distbits)-1])>>>16&255,y=65535&R,!((w=R>>>24)<=t);){if(0===i)break A;i--,e+=B[Q++]<<t,t+=8}if(0==(240&h)){for(c=w,G=h,S=y;h=(R=g.distcode[S+((e&(1<<c+G)-1)>>c)])>>>16&255,y=65535&R,!(c+(w=R>>>24)<=t);){if(0===i)break A;i--,e+=B[Q++]<<t,t+=8}e>>>=c,t-=c,g.back+=c}if(e>>>=w,t-=w,g.back+=w,64&h){A.msg=\"invalid distance code\",g.mode=30;break}g.offset=y,g.extra=15&h,g.mode=24;case 24:if(g.extra){for(k=g.extra;t<k;){if(0===i)break A;i--,e+=B[Q++]<<t,t+=8}g.offset+=e&(1<<g.extra)-1,e>>>=g.extra,t-=g.extra,g.back+=g.extra}if(g.offset>g.dmax){A.msg=\"invalid distance too far back\",g.mode=30;break}g.mode=25;case 25:if(0===o)break A;if(s=r-o,g.offset>s){if((s=g.offset-s)>g.whave&&g.sane){A.msg=\"invalid distance too far back\",g.mode=30;break}s>g.wnext?(s-=g.wnext,n=g.wsize-s):n=g.wnext-s,s>g.length&&(s=g.length),D=g.window}else D=C,n=E-g.offset,s=g.length;s>o&&(s=o),o-=s,g.length-=s;do{C[E++]=D[n++]}while(--s);0===g.length&&(g.mode=21);break;case 26:if(0===o)break A;C[E++]=g.length,o--,g.mode=21;break;case 27:if(g.wrap){for(;t<32;){if(0===i)break A;i--,e|=B[Q++]<<t,t+=8}if(r-=o,A.total_out+=r,g.total+=r,r&&(A.adler=g.check=g.flags?Z(g.check,C,r,E-r):T(g.check,C,r,E-r)),r=o,(g.flags?e:NA(e))!==g.check){A.msg=\"incorrect data check\",g.mode=30;break}e=0,t=0}g.mode=28;case 28:if(g.wrap&&g.flags){for(;t<32;){if(0===i)break A;i--,e+=B[Q++]<<t,t+=8}if(e!==(4294967295&g.total)){A.msg=\"incorrect length check\",g.mode=30;break}e=0,t=0}g.mode=29;case 29:F=DA;break A;case 30:F=yA;break A;case 31:return cA;default:return hA}return A.next_out=E,A.avail_out=o,A.next_in=Q,A.avail_in=i,g.hold=e,g.bits=t,(g.wsize||r!==A.avail_out&&g.mode<30&&(g.mode<27||I!==aA))&&lA(A,A.output,A.next_out,r-A.avail_out),a-=A.avail_in,r-=A.avail_out,A.total_in+=a,A.total_out+=r,g.total+=r,g.wrap&&r&&(A.adler=g.check=g.flags?Z(g.check,C,r,A.next_out-r):T(g.check,C,r,A.next_out-r)),A.data_type=g.bits+(g.last?64:0)+(12===g.mode?128:0)+(20===g.mode||15===g.mode?256:0),(0===a&&0===r||I===aA)&&F===nA&&(F=GA),F},inflateEnd:function(A){if(!A||!A.state)return hA;var I=A.state;return I.window&&(I.window=null),A.state=null,nA},inflateGetHeader:function(A,I){if(!A||!A.state)return hA;var g=A.state;return 0==(2&g.wrap)?hA:(g.head=I,I.done=!1,nA)},inflateSetDictionary:function(A,I){var g,B=I.length;return A&&A.state?0!==(g=A.state).wrap&&11!==g.mode?hA:11===g.mode&&T(1,I,B,0)!==g.check?yA:lA(A,I,B,B)?(g.mode=31,cA):(g.havedict=1,nA):hA},inflateInfo:\"pako inflate (from Nodeca project)\"};var MA=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=\"\",this.comment=\"\",this.hcrc=0,this.done=!1},JA=Object.prototype.toString,HA=W.Z_NO_FLUSH,pA=W.Z_FINISH,qA=W.Z_OK,mA=W.Z_STREAM_END,bA=W.Z_NEED_DICT,xA=W.Z_STREAM_ERROR,vA=W.Z_DATA_ERROR,OA=W.Z_MEM_ERROR;function TA(A){this.options=z({chunkSize:65536,windowBits:15,to:\"\"},A||{});var I=this.options;I.raw&&I.windowBits>=0&&I.windowBits<16&&(I.windowBits=-I.windowBits,0===I.windowBits&&(I.windowBits=-15)),!(I.windowBits>=0&&I.windowBits<16)||A&&A.windowBits||(I.windowBits+=32),I.windowBits>15&&I.windowBits<48&&0==(15&I.windowBits)&&(I.windowBits|=15),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new CA,this.strm.avail_out=0;var g=KA.inflateInit2(this.strm,I.windowBits);if(g!==qA)throw new Error(j[g]);if(this.header=new MA,KA.inflateGetHeader(this.strm,this.header),I.dictionary&&(\"string\"==typeof I.dictionary?I.dictionary=IA(I.dictionary):\"[object ArrayBuffer]\"===JA.call(I.dictionary)&&(I.dictionary=new Uint8Array(I.dictionary)),I.raw&&(g=KA.inflateSetDictionary(this.strm,I.dictionary))!==qA))throw new Error(j[g])}function PA(A,I){var g=new TA(I);if(g.push(A),g.err)throw g.msg||j[g.err];return g.result}TA.prototype.push=function(A,I){var g,B,C,Q=this.strm,E=this.options.chunkSize,i=this.options.dictionary;if(this.ended)return!1;for(B=I===~~I?I:!0===I?pA:HA,\"[object ArrayBuffer]\"===JA.call(A)?Q.input=new Uint8Array(A):Q.input=A,Q.next_in=0,Q.avail_in=Q.input.length;;){for(0===Q.avail_out&&(Q.output=new Uint8Array(E),Q.next_out=0,Q.avail_out=E),(g=KA.inflate(Q,B))===bA&&i&&((g=KA.inflateSetDictionary(Q,i))===qA?g=KA.inflate(Q,B):g===vA&&(g=bA));Q.avail_in>0&&g===mA&&Q.state.wrap>0&&0!==A[Q.next_in];)KA.inflateReset(Q),g=KA.inflate(Q,B);switch(g){case xA:case vA:case bA:case OA:return this.onEnd(g),this.ended=!0,!1}if(C=Q.avail_out,Q.next_out&&(0===Q.avail_out||g===mA))if(\"string\"===this.options.to){var o=BA(Q.output,Q.next_out),e=Q.next_out-o,t=gA(Q.output,o);Q.next_out=e,Q.avail_out=E-e,e&&Q.output.set(Q.output.subarray(o,o+e),0),this.onData(t)}else this.onData(Q.output.length===Q.next_out?Q.output:Q.output.subarray(0,Q.next_out));if(g!==qA||0!==C){if(g===mA)return g=KA.inflateEnd(this.strm),this.onEnd(g),this.ended=!0,!0;if(0===Q.avail_in)break}}return!0},TA.prototype.onData=function(A){this.chunks.push(A)},TA.prototype.onEnd=function(A){A===qA&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=X(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg};var ZA={Inflate:TA,inflate:PA,inflateRaw:function(A,I){return(I=I||{}).raw=!0,PA(A,I)},ungzip:PA,constants:W}.inflate;function jA(A){var I=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var g,B=N(A);if(I){var C=N(this).constructor;g=Reflect.construct(B,arguments,C)}else g=B.apply(this,arguments);return S(this,g)}}var WA=function(A){G(g,R);var I=jA(g);function g(){return w(this,g),I.apply(this,arguments)}return y(g,[{key:\"decodeBlock\",value:function(A){return ZA(new Uint8Array(A)).buffer}}]),g}(),VA=Object.freeze({__proto__:null,default:WA});function zA(A){var I=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var g,B=N(A);if(I){var C=N(this).constructor;g=Reflect.construct(B,arguments,C)}else g=B.apply(this,arguments);return S(this,g)}}var XA,_A=function(A){G(g,R);var I=zA(g);function g(){return w(this,g),I.apply(this,arguments)}return y(g,[{key:\"decodeBlock\",value:function(A){for(var I=new DataView(A),g=[],B=0;B<A.byteLength;++B){var C=I.getInt8(B);if(C<0){var Q=I.getUint8(B+1);C=-C;for(var E=0;E<=C;++E)g.push(Q);B+=1}else{for(var i=0;i<=C;++i)g.push(I.getUint8(B+i+1));B+=C+1}}return new Uint8Array(g).buffer}}]),g}(),$A=Object.freeze({__proto__:null,default:_A}),AI={exports:{}};XA=AI,\n/* Copyright 2015-2021 Esri. Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */\nfunction(){var A,I,g,B,C,Q,E,i,o,e,t,a,r,s,n,D,w=(A={defaultNoDataValue:-34027999387901484e22,decode:function(Q,E){var i=(E=E||{}).encodedMaskData||null===E.encodedMaskData,o=C(Q,E.inputOffset||0,i),e=null!==E.noDataValue?E.noDataValue:A.defaultNoDataValue,t=I(o,E.pixelType||Float32Array,E.encodedMaskData,e,E.returnMask),a={width:o.width,height:o.height,pixelData:t.resultPixels,minValue:t.minValue,maxValue:o.pixels.maxValue,noDataValue:e};return t.resultMask&&(a.maskData=t.resultMask),E.returnEncodedMask&&o.mask&&(a.encodedMaskData=o.mask.bitset?o.mask.bitset:null),E.returnFileInfo&&(a.fileInfo=g(o),E.computeUsedBitDepths&&(a.fileInfo.bitDepths=B(o))),a}},I=function(A,I,g,B,C){var E,i,o,e=0,t=A.pixels.numBlocksX,a=A.pixels.numBlocksY,r=Math.floor(A.width/t),s=Math.floor(A.height/a),n=2*A.maxZError,D=Number.MAX_VALUE;g=g||(A.mask?A.mask.bitset:null),i=new I(A.width*A.height),C&&g&&(o=new Uint8Array(A.width*A.height));for(var w,h,y=new Float32Array(r*s),c=0;c<=a;c++){var G=c!==a?s:A.height%a;if(0!==G)for(var S=0;S<=t;S++){var N=S!==t?r:A.width%t;if(0!==N){var F,f,k,R,L=c*A.width*s+S*r,U=A.width-N,u=A.pixels.blocks[e];if(u.encoding<2?(0===u.encoding?F=u.rawData:(Q(u.stuffedData,u.bitsPerPixel,u.numValidPixels,u.offset,n,y,A.pixels.maxValue),F=y),f=0):k=2===u.encoding?0:u.offset,g)for(h=0;h<G;h++){for(7&L&&(R=g[L>>3],R<