@dwelle/excalidraw 0.3.59-restoreLibraryItems → 0.3.61
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.
- package/CHANGELOG.md +23 -1
- package/README_NEXT.md +14 -3
- package/dist/excalidraw-assets/vendor-0e2ecbd1f46fc190ec01.js +2 -0
- package/dist/excalidraw-assets/{vendor-8698157b56eb5e0ee549.js.LICENSE.txt → vendor-0e2ecbd1f46fc190ec01.js.LICENSE.txt} +0 -0
- package/dist/excalidraw-assets-dev/vendor-86b56a69e7dddcf8f70d.js +32 -0
- package/dist/excalidraw.development.js +360 -48
- package/dist/excalidraw.production.min.js +1 -1
- package/package.json +1 -1
- package/types/actions/actionClipboard.d.ts +13 -0
- package/types/actions/actionFinalize.d.ts +2 -2
- package/types/actions/actionToggleLock.d.ts +17 -0
- package/types/actions/index.d.ts +2 -1
- package/types/actions/shortcuts.d.ts +1 -1
- package/types/actions/types.d.ts +1 -1
- package/types/clipboard.d.ts +1 -1
- package/types/components/App.d.ts +1 -1
- package/types/components/LibraryMenu.d.ts +1 -1
- package/types/components/LoadingMessage.d.ts +3 -1
- package/types/data/blob.d.ts +2 -3
- package/types/data/index.d.ts +1 -1
- package/types/data/json.d.ts +3 -2
- package/types/data/library.d.ts +87 -3
- package/types/data/restore.d.ts +2 -2
- package/types/element/typeChecks.d.ts +3 -3
- package/types/element/types.d.ts +1 -0
- package/types/jotai.d.ts +120 -0
- package/types/packages/excalidraw/dist/excalidraw-assets/vendor-0e2ecbd1f46fc190ec01.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw-assets-dev/vendor-86b56a69e7dddcf8f70d.d.ts +0 -0
- package/types/packages/excalidraw/dist/excalidraw.production.min.d.ts +1 -1
- package/types/packages/excalidraw/entry.d.ts +0 -2
- package/types/packages/excalidraw/index.d.ts +4 -3
- package/types/packages/utils.d.ts +1 -1
- package/types/types.d.ts +4 -4
- package/types/utils.d.ts +1 -0
- package/dist/excalidraw-assets/image-2be1c869cd5bacebdc3c.js +0 -1
- package/dist/excalidraw-assets/vendor-8698157b56eb5e0ee549.js +0 -2
- package/dist/excalidraw-assets-dev/image-eddc6ed66acd3a3f3d46.js +0 -42
- package/dist/excalidraw-assets-dev/vendor-1bc8ceaafd8623c96dd4.js +0 -278
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see vendor-8698157b56eb5e0ee549.js.LICENSE.txt */
|
|
2
|
-
(self.webpackChunkExcalidraw=self.webpackChunkExcalidraw||[]).push([[736],{6233:(t,e)=>{var r;r=function(t){t.version="0.3.0";var e=function(){for(var t=0,e=new Array(256),r=0;256!=r;++r)t=1&(t=1&(t=1&(t=1&(t=1&(t=1&(t=1&(t=1&(t=r)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1)?-306674912^t>>>1:t>>>1,e[r]=t;return"undefined"!=typeof Int32Array?new Int32Array(e):e}(),r="undefined"!=typeof Buffer;function n(t){for(var r=-1,n=0,i=t.length-7;n<i;)r=(r=(r=(r=(r=(r=(r=(r=r>>>8^e[255&(r^t[n++])])>>>8^e[255&(r^t[n++])])>>>8^e[255&(r^t[n++])])>>>8^e[255&(r^t[n++])])>>>8^e[255&(r^t[n++])])>>>8^e[255&(r^t[n++])])>>>8^e[255&(r^t[n++])])>>>8^e[255&(r^t[n++])];for(;n<i+7;)r=r>>>8^e[255&(r^t[n++])];return-1^r}t.table=e,t.bstr=function(t){if(t.length>32768&&r)return n(new Buffer(t));for(var i=-1,a=t.length-1,o=0;o<a;)i=e[255&(i^t.charCodeAt(o++))]^i>>>8,i=e[255&(i^t.charCodeAt(o++))]^i>>>8;return o===a&&(i=i>>>8^e[255&(i^t.charCodeAt(o))]),-1^i},t.buf=function(t){if(t.length>1e4)return n(t);for(var r=-1,i=0,a=t.length-3;i<a;)r=(r=(r=(r=r>>>8^e[255&(r^t[i++])])>>>8^e[255&(r^t[i++])])>>>8^e[255&(r^t[i++])])>>>8^e[255&(r^t[i++])];for(;i<a+3;)r=r>>>8^e[255&(r^t[i++])];return-1^r},t.str=function(t){for(var r,n,i=-1,a=0,o=t.length;a<o;)(r=t.charCodeAt(a++))<128?i=i>>>8^e[255&(i^r)]:r<2048?i=(i=i>>>8^e[255&(i^(192|r>>6&31))])>>>8^e[255&(i^(128|63&r))]:r>=55296&&r<57344?(r=64+(1023&r),n=1023&t.charCodeAt(a++),i=(i=(i=(i=i>>>8^e[255&(i^(240|r>>8&7))])>>>8^e[255&(i^(128|r>>2&63))])>>>8^e[255&(i^(128|n>>6&15|3&r))])>>>8^e[255&(i^(128|63&n))]):i=(i=(i=i>>>8^e[255&(i^(224|r>>12&15))])>>>8^e[255&(i^(128|r>>6&63))])>>>8^e[255&(i^(128|63&r))];return-1^i}},"undefined"==typeof DO_NOT_EXPORT_CRC?r(e):r({})},2744:(t,e,r)=>{"use strict";var n={};(0,r(9187).assign)(n,r(4395),r(578),r(2684)),t.exports=n},4395:(t,e,r)=>{"use strict";var n=r(7651),i=r(9187),a=r(8592),o=r(5604),s=r(249),h=Object.prototype.toString;function A(t){if(!(this instanceof A))return new A(t);this.options=i.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=n.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(0!==r)throw new Error(o[r]);if(e.header&&n.deflateSetHeader(this.strm,e.header),e.dictionary){var u;if(u="string"==typeof e.dictionary?a.string2buf(e.dictionary):"[object ArrayBuffer]"===h.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,0!==(r=n.deflateSetDictionary(this.strm,u)))throw new Error(o[r]);this._dict_set=!0}}function u(t,e){var r=new A(e);if(r.push(t,!0),r.err)throw r.msg||o[r.err];return r.result}A.prototype.push=function(t,e){var r,o,s=this.strm,A=this.options.chunkSize;if(this.ended)return!1;o=e===~~e?e:!0===e?4:0,"string"==typeof t?s.input=a.string2buf(t):"[object ArrayBuffer]"===h.call(t)?s.input=new Uint8Array(t):s.input=t,s.next_in=0,s.avail_in=s.input.length;do{if(0===s.avail_out&&(s.output=new i.Buf8(A),s.next_out=0,s.avail_out=A),1!==(r=n.deflate(s,o))&&0!==r)return this.onEnd(r),this.ended=!0,!1;0!==s.avail_out&&(0!==s.avail_in||4!==o&&2!==o)||("string"===this.options.to?this.onData(a.buf2binstring(i.shrinkBuf(s.output,s.next_out))):this.onData(i.shrinkBuf(s.output,s.next_out)))}while((s.avail_in>0||0===s.avail_out)&&1!==r);return 4===o?(r=n.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,0===r):2!==o||(this.onEnd(0),s.avail_out=0,!0)},A.prototype.onData=function(t){this.chunks.push(t)},A.prototype.onEnd=function(t){0===t&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},e.Deflate=A,e.deflate=u,e.deflateRaw=function(t,e){return(e=e||{}).raw=!0,u(t,e)},e.gzip=function(t,e){return(e=e||{}).gzip=!0,u(t,e)}},578:(t,e,r)=>{"use strict";var n=r(7823),i=r(9187),a=r(8592),o=r(2684),s=r(5604),h=r(249),A=r(9968),u=Object.prototype.toString;function f(t){if(!(this instanceof f))return new f(t);this.options=i.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new h,this.strm.avail_out=0;var r=n.inflateInit2(this.strm,e.windowBits);if(r!==o.Z_OK)throw new Error(s[r]);if(this.header=new A,n.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=a.string2buf(e.dictionary):"[object ArrayBuffer]"===u.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(r=n.inflateSetDictionary(this.strm,e.dictionary))!==o.Z_OK))throw new Error(s[r])}function l(t,e){var r=new f(e);if(r.push(t,!0),r.err)throw r.msg||s[r.err];return r.result}f.prototype.push=function(t,e){var r,s,h,A,f,l=this.strm,c=this.options.chunkSize,d=this.options.dictionary,g=!1;if(this.ended)return!1;s=e===~~e?e:!0===e?o.Z_FINISH:o.Z_NO_FLUSH,"string"==typeof t?l.input=a.binstring2buf(t):"[object ArrayBuffer]"===u.call(t)?l.input=new Uint8Array(t):l.input=t,l.next_in=0,l.avail_in=l.input.length;do{if(0===l.avail_out&&(l.output=new i.Buf8(c),l.next_out=0,l.avail_out=c),(r=n.inflate(l,o.Z_NO_FLUSH))===o.Z_NEED_DICT&&d&&(r=n.inflateSetDictionary(this.strm,d)),r===o.Z_BUF_ERROR&&!0===g&&(r=o.Z_OK,g=!1),r!==o.Z_STREAM_END&&r!==o.Z_OK)return this.onEnd(r),this.ended=!0,!1;l.next_out&&(0!==l.avail_out&&r!==o.Z_STREAM_END&&(0!==l.avail_in||s!==o.Z_FINISH&&s!==o.Z_SYNC_FLUSH)||("string"===this.options.to?(h=a.utf8border(l.output,l.next_out),A=l.next_out-h,f=a.buf2string(l.output,h),l.next_out=A,l.avail_out=c-A,A&&i.arraySet(l.output,l.output,h,A,0),this.onData(f)):this.onData(i.shrinkBuf(l.output,l.next_out)))),0===l.avail_in&&0===l.avail_out&&(g=!0)}while((l.avail_in>0||0===l.avail_out)&&r!==o.Z_STREAM_END);return r===o.Z_STREAM_END&&(s=o.Z_FINISH),s===o.Z_FINISH?(r=n.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===o.Z_OK):s!==o.Z_SYNC_FLUSH||(this.onEnd(o.Z_OK),l.avail_out=0,!0)},f.prototype.onData=function(t){this.chunks.push(t)},f.prototype.onEnd=function(t){t===o.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},e.Inflate=f,e.inflate=l,e.inflateRaw=function(t,e){return(e=e||{}).raw=!0,l(t,e)},e.ungzip=l},9187:(t,e)=>{"use strict";var r="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function n(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var r=e.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var i in r)n(r,i)&&(t[i]=r[i])}}return t},e.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var i={arraySet:function(t,e,r,n,i){if(e.subarray&&t.subarray)t.set(e.subarray(r,r+n),i);else for(var a=0;a<n;a++)t[i+a]=e[r+a]},flattenChunks:function(t){var e,r,n,i,a,o;for(n=0,e=0,r=t.length;e<r;e++)n+=t[e].length;for(o=new Uint8Array(n),i=0,e=0,r=t.length;e<r;e++)a=t[e],o.set(a,i),i+=a.length;return o}},a={arraySet:function(t,e,r,n,i){for(var a=0;a<n;a++)t[i+a]=e[r+a]},flattenChunks:function(t){return[].concat.apply([],t)}};e.setTyped=function(t){t?(e.Buf8=Uint8Array,e.Buf16=Uint16Array,e.Buf32=Int32Array,e.assign(e,i)):(e.Buf8=Array,e.Buf16=Array,e.Buf32=Array,e.assign(e,a))},e.setTyped(r)},8592:(t,e,r)=>{"use strict";var n=r(9187),i=!0,a=!0;try{String.fromCharCode.apply(null,[0])}catch(t){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){a=!1}for(var o=new n.Buf8(256),s=0;s<256;s++)o[s]=s>=252?6:s>=248?5:s>=240?4:s>=224?3:s>=192?2:1;function h(t,e){if(e<65534&&(t.subarray&&a||!t.subarray&&i))return String.fromCharCode.apply(null,n.shrinkBuf(t,e));for(var r="",o=0;o<e;o++)r+=String.fromCharCode(t[o]);return r}o[254]=o[254]=1,e.string2buf=function(t){var e,r,i,a,o,s=t.length,h=0;for(a=0;a<s;a++)55296==(64512&(r=t.charCodeAt(a)))&&a+1<s&&56320==(64512&(i=t.charCodeAt(a+1)))&&(r=65536+(r-55296<<10)+(i-56320),a++),h+=r<128?1:r<2048?2:r<65536?3:4;for(e=new n.Buf8(h),o=0,a=0;o<h;a++)55296==(64512&(r=t.charCodeAt(a)))&&a+1<s&&56320==(64512&(i=t.charCodeAt(a+1)))&&(r=65536+(r-55296<<10)+(i-56320),a++),r<128?e[o++]=r:r<2048?(e[o++]=192|r>>>6,e[o++]=128|63&r):r<65536?(e[o++]=224|r>>>12,e[o++]=128|r>>>6&63,e[o++]=128|63&r):(e[o++]=240|r>>>18,e[o++]=128|r>>>12&63,e[o++]=128|r>>>6&63,e[o++]=128|63&r);return e},e.buf2binstring=function(t){return h(t,t.length)},e.binstring2buf=function(t){for(var e=new n.Buf8(t.length),r=0,i=e.length;r<i;r++)e[r]=t.charCodeAt(r);return e},e.buf2string=function(t,e){var r,n,i,a,s=e||t.length,A=new Array(2*s);for(n=0,r=0;r<s;)if((i=t[r++])<128)A[n++]=i;else if((a=o[i])>4)A[n++]=65533,r+=a-1;else{for(i&=2===a?31:3===a?15:7;a>1&&r<s;)i=i<<6|63&t[r++],a--;a>1?A[n++]=65533:i<65536?A[n++]=i:(i-=65536,A[n++]=55296|i>>10&1023,A[n++]=56320|1023&i)}return h(A,n)},e.utf8border=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;r>=0&&128==(192&t[r]);)r--;return r<0||0===r?e:r+o[t[r]]>e?r:e}},3693:t=>{"use strict";t.exports=function(t,e,r,n){for(var i=65535&t|0,a=t>>>16&65535|0,o=0;0!==r;){r-=o=r>2e3?2e3:r;do{a=a+(i=i+e[n++]|0)|0}while(--o);i%=65521,a%=65521}return i|a<<16|0}},2684:t=>{"use strict";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},8464:t=>{"use strict";var e=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var n=0;n<8;n++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e}();t.exports=function(t,r,n,i){var a=e,o=i+n;t^=-1;for(var s=i;s<o;s++)t=t>>>8^a[255&(t^r[s])];return-1^t}},7651:(t,e,r)=>{"use strict";var n,i=r(9187),a=r(8676),o=r(3693),s=r(8464),h=r(5604),A=-2,u=258,f=262,l=103,c=113,d=666;function g(t,e){return t.msg=h[e],e}function _(t){return(t<<1)-(t>4?9:0)}function p(t){for(var e=t.length;--e>=0;)t[e]=0}function m(t){var e=t.state,r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(i.arraySet(t.output,e.pending_buf,e.pending_out,r,t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))}function w(t,e){a._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,m(t.strm)}function b(t,e){t.pending_buf[t.pending++]=e}function v(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function I(t,e){var r,n,i=t.max_chain_length,a=t.strstart,o=t.prev_length,s=t.nice_match,h=t.strstart>t.w_size-f?t.strstart-(t.w_size-f):0,A=t.window,l=t.w_mask,c=t.prev,d=t.strstart+u,g=A[a+o-1],_=A[a+o];t.prev_length>=t.good_match&&(i>>=2),s>t.lookahead&&(s=t.lookahead);do{if(A[(r=e)+o]===_&&A[r+o-1]===g&&A[r]===A[a]&&A[++r]===A[a+1]){a+=2,r++;do{}while(A[++a]===A[++r]&&A[++a]===A[++r]&&A[++a]===A[++r]&&A[++a]===A[++r]&&A[++a]===A[++r]&&A[++a]===A[++r]&&A[++a]===A[++r]&&A[++a]===A[++r]&&a<d);if(n=u-(d-a),a=d-u,n>o){if(t.match_start=e,o=n,n>=s)break;g=A[a+o-1],_=A[a+o]}}}while((e=c[e&l])>h&&0!=--i);return o<=t.lookahead?o:t.lookahead}function y(t){var e,r,n,a,h,A,u,l,c,d,g=t.w_size;do{if(a=t.window_size-t.lookahead-t.strstart,t.strstart>=g+(g-f)){i.arraySet(t.window,t.window,g,g,0),t.match_start-=g,t.strstart-=g,t.block_start-=g,e=r=t.hash_size;do{n=t.head[--e],t.head[e]=n>=g?n-g:0}while(--r);e=r=g;do{n=t.prev[--e],t.prev[e]=n>=g?n-g:0}while(--r);a+=g}if(0===t.strm.avail_in)break;if(A=t.strm,u=t.window,l=t.strstart+t.lookahead,c=a,d=void 0,(d=A.avail_in)>c&&(d=c),r=0===d?0:(A.avail_in-=d,i.arraySet(u,A.input,A.next_in,d,l),1===A.state.wrap?A.adler=o(A.adler,u,d,l):2===A.state.wrap&&(A.adler=s(A.adler,u,d,l)),A.next_in+=d,A.total_in+=d,d),t.lookahead+=r,t.lookahead+t.insert>=3)for(h=t.strstart-t.insert,t.ins_h=t.window[h],t.ins_h=(t.ins_h<<t.hash_shift^t.window[h+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[h+3-1])&t.hash_mask,t.prev[h&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=h,h++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<f&&0!==t.strm.avail_in)}function B(t,e){for(var r,n;;){if(t.lookahead<f){if(y(t),t.lookahead<f&&0===e)return 1;if(0===t.lookahead)break}if(r=0,t.lookahead>=3&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==r&&t.strstart-r<=t.w_size-f&&(t.match_length=I(t,r)),t.match_length>=3)if(n=a._tr_tally(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+1])&t.hash_mask;else n=a._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(n&&(w(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,4===e?(w(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(w(t,!1),0===t.strm.avail_out)?1:2}function E(t,e){for(var r,n,i;;){if(t.lookahead<f){if(y(t),t.lookahead<f&&0===e)return 1;if(0===t.lookahead)break}if(r=0,t.lookahead>=3&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==r&&t.prev_length<t.max_lazy_match&&t.strstart-r<=t.w_size-f&&(t.match_length=I(t,r),t.match_length<=5&&(1===t.strategy||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-3,n=a._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=i&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,n&&(w(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if((n=a._tr_tally(t,0,t.window[t.strstart-1]))&&w(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(n=a._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,4===e?(w(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(w(t,!1),0===t.strm.avail_out)?1:2}function C(t,e,r,n,i){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=n,this.func=i}function x(){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=8,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 i.Buf16(1146),this.dyn_dtree=new i.Buf16(122),this.bl_tree=new i.Buf16(78),p(this.dyn_ltree),p(this.dyn_dtree),p(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new i.Buf16(16),this.heap=new i.Buf16(573),p(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new i.Buf16(573),p(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function k(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=2,(e=t.state).pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?42:c,t.adler=2===e.wrap?0:1,e.last_flush=0,a._tr_init(e),0):g(t,A)}function Q(t){var e,r=k(t);return 0===r&&((e=t.state).window_size=2*e.w_size,p(e.head),e.max_lazy_match=n[e.level].max_lazy,e.good_match=n[e.level].good_length,e.nice_match=n[e.level].nice_length,e.max_chain_length=n[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=2,e.match_available=0,e.ins_h=0),r}function D(t,e,r,n,a,o){if(!t)return A;var s=1;if(-1===e&&(e=6),n<0?(s=0,n=-n):n>15&&(s=2,n-=16),a<1||a>9||8!==r||n<8||n>15||e<0||e>9||o<0||o>4)return g(t,A);8===n&&(n=9);var h=new x;return t.state=h,h.strm=t,h.wrap=s,h.gzhead=null,h.w_bits=n,h.w_size=1<<h.w_bits,h.w_mask=h.w_size-1,h.hash_bits=a+7,h.hash_size=1<<h.hash_bits,h.hash_mask=h.hash_size-1,h.hash_shift=~~((h.hash_bits+3-1)/3),h.window=new i.Buf8(2*h.w_size),h.head=new i.Buf16(h.hash_size),h.prev=new i.Buf16(h.w_size),h.lit_bufsize=1<<a+6,h.pending_buf_size=4*h.lit_bufsize,h.pending_buf=new i.Buf8(h.pending_buf_size),h.d_buf=1*h.lit_bufsize,h.l_buf=3*h.lit_bufsize,h.level=e,h.strategy=o,h.method=r,Q(t)}n=[new C(0,0,0,0,(function(t,e){var r=65535;for(r>t.pending_buf_size-5&&(r=t.pending_buf_size-5);;){if(t.lookahead<=1){if(y(t),0===t.lookahead&&0===e)return 1;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var n=t.block_start+r;if((0===t.strstart||t.strstart>=n)&&(t.lookahead=t.strstart-n,t.strstart=n,w(t,!1),0===t.strm.avail_out))return 1;if(t.strstart-t.block_start>=t.w_size-f&&(w(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(w(t,!0),0===t.strm.avail_out?3:4):(t.strstart>t.block_start&&(w(t,!1),t.strm.avail_out),1)})),new C(4,4,8,4,B),new C(4,5,16,8,B),new C(4,6,32,32,B),new C(4,4,16,16,E),new C(8,16,32,32,E),new C(8,16,128,128,E),new C(8,32,128,256,E),new C(32,128,258,1024,E),new C(32,258,258,4096,E)],e.deflateInit=function(t,e){return D(t,e,8,15,8,0)},e.deflateInit2=D,e.deflateReset=Q,e.deflateResetKeep=k,e.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?A:(t.state.gzhead=e,0):A},e.deflate=function(t,e){var r,i,o,h;if(!t||!t.state||e>5||e<0)return t?g(t,A):A;if(i=t.state,!t.output||!t.input&&0!==t.avail_in||i.status===d&&4!==e)return g(t,0===t.avail_out?-5:A);if(i.strm=t,r=i.last_flush,i.last_flush=e,42===i.status)if(2===i.wrap)t.adler=0,b(i,31),b(i,139),b(i,8),i.gzhead?(b(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),b(i,255&i.gzhead.time),b(i,i.gzhead.time>>8&255),b(i,i.gzhead.time>>16&255),b(i,i.gzhead.time>>24&255),b(i,9===i.level?2:i.strategy>=2||i.level<2?4:0),b(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(b(i,255&i.gzhead.extra.length),b(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=s(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(b(i,0),b(i,0),b(i,0),b(i,0),b(i,0),b(i,9===i.level?2:i.strategy>=2||i.level<2?4:0),b(i,3),i.status=c);else{var f=8+(i.w_bits-8<<4)<<8;f|=(i.strategy>=2||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(f|=32),f+=31-f%31,i.status=c,v(i,f),0!==i.strstart&&(v(i,t.adler>>>16),v(i,65535&t.adler)),t.adler=1}if(69===i.status)if(i.gzhead.extra){for(o=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>o&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),m(t),o=i.pending,i.pending!==i.pending_buf_size));)b(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>o&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){o=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>o&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),m(t),o=i.pending,i.pending===i.pending_buf_size)){h=1;break}h=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,b(i,h)}while(0!==h);i.gzhead.hcrc&&i.pending>o&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),0===h&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){o=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>o&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),m(t),o=i.pending,i.pending===i.pending_buf_size)){h=1;break}h=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,b(i,h)}while(0!==h);i.gzhead.hcrc&&i.pending>o&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),0===h&&(i.status=l)}else i.status=l;if(i.status===l&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&m(t),i.pending+2<=i.pending_buf_size&&(b(i,255&t.adler),b(i,t.adler>>8&255),t.adler=0,i.status=c)):i.status=c),0!==i.pending){if(m(t),0===t.avail_out)return i.last_flush=-1,0}else if(0===t.avail_in&&_(e)<=_(r)&&4!==e)return g(t,-5);if(i.status===d&&0!==t.avail_in)return g(t,-5);if(0!==t.avail_in||0!==i.lookahead||0!==e&&i.status!==d){var I=2===i.strategy?function(t,e){for(var r;;){if(0===t.lookahead&&(y(t),0===t.lookahead)){if(0===e)return 1;break}if(t.match_length=0,r=a._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(w(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(w(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(w(t,!1),0===t.strm.avail_out)?1:2}(i,e):3===i.strategy?function(t,e){for(var r,n,i,o,s=t.window;;){if(t.lookahead<=u){if(y(t),t.lookahead<=u&&0===e)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(n=s[i=t.strstart-1])===s[++i]&&n===s[++i]&&n===s[++i]){o=t.strstart+u;do{}while(n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&i<o);t.match_length=u-(o-i),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(r=a._tr_tally(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=a._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(w(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(w(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(w(t,!1),0===t.strm.avail_out)?1:2}(i,e):n[i.level].func(i,e);if(3!==I&&4!==I||(i.status=d),1===I||3===I)return 0===t.avail_out&&(i.last_flush=-1),0;if(2===I&&(1===e?a._tr_align(i):5!==e&&(a._tr_stored_block(i,0,0,!1),3===e&&(p(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),m(t),0===t.avail_out))return i.last_flush=-1,0}return 4!==e?0:i.wrap<=0?1:(2===i.wrap?(b(i,255&t.adler),b(i,t.adler>>8&255),b(i,t.adler>>16&255),b(i,t.adler>>24&255),b(i,255&t.total_in),b(i,t.total_in>>8&255),b(i,t.total_in>>16&255),b(i,t.total_in>>24&255)):(v(i,t.adler>>>16),v(i,65535&t.adler)),m(t),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?0:1)},e.deflateEnd=function(t){var e;return t&&t.state?42!==(e=t.state.status)&&69!==e&&73!==e&&91!==e&&e!==l&&e!==c&&e!==d?g(t,A):(t.state=null,e===c?g(t,-3):0):A},e.deflateSetDictionary=function(t,e){var r,n,a,s,h,u,f,l,c=e.length;if(!t||!t.state)return A;if(2===(s=(r=t.state).wrap)||1===s&&42!==r.status||r.lookahead)return A;for(1===s&&(t.adler=o(t.adler,e,c,0)),r.wrap=0,c>=r.w_size&&(0===s&&(p(r.head),r.strstart=0,r.block_start=0,r.insert=0),l=new i.Buf8(r.w_size),i.arraySet(l,e,c-r.w_size,r.w_size,0),e=l,c=r.w_size),h=t.avail_in,u=t.next_in,f=t.input,t.avail_in=c,t.next_in=0,t.input=e,y(r);r.lookahead>=3;){n=r.strstart,a=r.lookahead-2;do{r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+3-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++}while(--a);r.strstart=n,r.lookahead=2,y(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=2,r.match_available=0,t.next_in=u,t.input=f,t.avail_in=h,r.wrap=s,0},e.deflateInfo="pako deflate (from Nodeca project)"},9968:t=>{"use strict";t.exports=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}},9365:t=>{"use strict";t.exports=function(t,e){var r,n,i,a,o,s,h,A,u,f,l,c,d,g,_,p,m,w,b,v,I,y,B,E,C;r=t.state,n=t.next_in,E=t.input,i=n+(t.avail_in-5),a=t.next_out,C=t.output,o=a-(e-t.avail_out),s=a+(t.avail_out-257),h=r.dmax,A=r.wsize,u=r.whave,f=r.wnext,l=r.window,c=r.hold,d=r.bits,g=r.lencode,_=r.distcode,p=(1<<r.lenbits)-1,m=(1<<r.distbits)-1;t:do{d<15&&(c+=E[n++]<<d,d+=8,c+=E[n++]<<d,d+=8),w=g[c&p];e:for(;;){if(c>>>=b=w>>>24,d-=b,0===(b=w>>>16&255))C[a++]=65535&w;else{if(!(16&b)){if(0==(64&b)){w=g[(65535&w)+(c&(1<<b)-1)];continue e}if(32&b){r.mode=12;break t}t.msg="invalid literal/length code",r.mode=30;break t}v=65535&w,(b&=15)&&(d<b&&(c+=E[n++]<<d,d+=8),v+=c&(1<<b)-1,c>>>=b,d-=b),d<15&&(c+=E[n++]<<d,d+=8,c+=E[n++]<<d,d+=8),w=_[c&m];r:for(;;){if(c>>>=b=w>>>24,d-=b,!(16&(b=w>>>16&255))){if(0==(64&b)){w=_[(65535&w)+(c&(1<<b)-1)];continue r}t.msg="invalid distance code",r.mode=30;break t}if(I=65535&w,d<(b&=15)&&(c+=E[n++]<<d,(d+=8)<b&&(c+=E[n++]<<d,d+=8)),(I+=c&(1<<b)-1)>h){t.msg="invalid distance too far back",r.mode=30;break t}if(c>>>=b,d-=b,I>(b=a-o)){if((b=I-b)>u&&r.sane){t.msg="invalid distance too far back",r.mode=30;break t}if(y=0,B=l,0===f){if(y+=A-b,b<v){v-=b;do{C[a++]=l[y++]}while(--b);y=a-I,B=C}}else if(f<b){if(y+=A+f-b,(b-=f)<v){v-=b;do{C[a++]=l[y++]}while(--b);if(y=0,f<v){v-=b=f;do{C[a++]=l[y++]}while(--b);y=a-I,B=C}}}else if(y+=f-b,b<v){v-=b;do{C[a++]=l[y++]}while(--b);y=a-I,B=C}for(;v>2;)C[a++]=B[y++],C[a++]=B[y++],C[a++]=B[y++],v-=3;v&&(C[a++]=B[y++],v>1&&(C[a++]=B[y++]))}else{y=a-I;do{C[a++]=C[y++],C[a++]=C[y++],C[a++]=C[y++],v-=3}while(v>2);v&&(C[a++]=C[y++],v>1&&(C[a++]=C[y++]))}break}}break}}while(n<i&&a<s);n-=v=d>>3,c&=(1<<(d-=v<<3))-1,t.next_in=n,t.next_out=a,t.avail_in=n<i?i-n+5:5-(n-i),t.avail_out=a<s?s-a+257:257-(a-s),r.hold=c,r.bits=d}},7823:(t,e,r)=>{"use strict";var n=r(9187),i=r(3693),a=r(8464),o=r(9365),s=r(6446),h=-2,A=12,u=30;function f(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function l(){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 n.Buf16(320),this.work=new n.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function c(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new n.Buf32(852),e.distcode=e.distdyn=new n.Buf32(592),e.sane=1,e.back=-1,0):h}function d(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,c(t)):h}function g(t,e){var r,n;return t&&t.state?(n=t.state,e<0?(r=0,e=-e):(r=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?h:(null!==n.window&&n.wbits!==e&&(n.window=null),n.wrap=r,n.wbits=e,d(t))):h}function _(t,e){var r,n;return t?(n=new l,t.state=n,n.window=null,0!==(r=g(t,e))&&(t.state=null),r):h}var p,m,w=!0;function b(t){if(w){var e;for(p=new n.Buf32(512),m=new n.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(s(1,t.lens,0,288,p,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;s(2,t.lens,0,32,m,0,t.work,{bits:5}),w=!1}t.lencode=p,t.lenbits=9,t.distcode=m,t.distbits=5}function v(t,e,r,i){var a,o=t.state;return null===o.window&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new n.Buf8(o.wsize)),i>=o.wsize?(n.arraySet(o.window,e,r-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):((a=o.wsize-o.wnext)>i&&(a=i),n.arraySet(o.window,e,r-i,a,o.wnext),(i-=a)?(n.arraySet(o.window,e,r-i,i,0),o.wnext=i,o.whave=o.wsize):(o.wnext+=a,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=a))),0}e.inflateReset=d,e.inflateReset2=g,e.inflateResetKeep=c,e.inflateInit=function(t){return _(t,15)},e.inflateInit2=_,e.inflate=function(t,e){var r,l,c,d,g,_,p,m,w,I,y,B,E,C,x,k,Q,D,M,z,U,R,j,G,O=0,S=new n.Buf8(4),H=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return h;(r=t.state).mode===A&&(r.mode=13),g=t.next_out,c=t.output,p=t.avail_out,d=t.next_in,l=t.input,_=t.avail_in,m=r.hold,w=r.bits,I=_,y=p,R=0;t:for(;;)switch(r.mode){case 1:if(0===r.wrap){r.mode=13;break}for(;w<16;){if(0===_)break t;_--,m+=l[d++]<<w,w+=8}if(2&r.wrap&&35615===m){r.check=0,S[0]=255&m,S[1]=m>>>8&255,r.check=a(r.check,S,2,0),m=0,w=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&m)<<8)+(m>>8))%31){t.msg="incorrect header check",r.mode=u;break}if(8!=(15&m)){t.msg="unknown compression method",r.mode=u;break}if(w-=4,U=8+(15&(m>>>=4)),0===r.wbits)r.wbits=U;else if(U>r.wbits){t.msg="invalid window size",r.mode=u;break}r.dmax=1<<U,t.adler=r.check=1,r.mode=512&m?10:A,m=0,w=0;break;case 2:for(;w<16;){if(0===_)break t;_--,m+=l[d++]<<w,w+=8}if(r.flags=m,8!=(255&r.flags)){t.msg="unknown compression method",r.mode=u;break}if(57344&r.flags){t.msg="unknown header flags set",r.mode=u;break}r.head&&(r.head.text=m>>8&1),512&r.flags&&(S[0]=255&m,S[1]=m>>>8&255,r.check=a(r.check,S,2,0)),m=0,w=0,r.mode=3;case 3:for(;w<32;){if(0===_)break t;_--,m+=l[d++]<<w,w+=8}r.head&&(r.head.time=m),512&r.flags&&(S[0]=255&m,S[1]=m>>>8&255,S[2]=m>>>16&255,S[3]=m>>>24&255,r.check=a(r.check,S,4,0)),m=0,w=0,r.mode=4;case 4:for(;w<16;){if(0===_)break t;_--,m+=l[d++]<<w,w+=8}r.head&&(r.head.xflags=255&m,r.head.os=m>>8),512&r.flags&&(S[0]=255&m,S[1]=m>>>8&255,r.check=a(r.check,S,2,0)),m=0,w=0,r.mode=5;case 5:if(1024&r.flags){for(;w<16;){if(0===_)break t;_--,m+=l[d++]<<w,w+=8}r.length=m,r.head&&(r.head.extra_len=m),512&r.flags&&(S[0]=255&m,S[1]=m>>>8&255,r.check=a(r.check,S,2,0)),m=0,w=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&((B=r.length)>_&&(B=_),B&&(r.head&&(U=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),n.arraySet(r.head.extra,l,d,B,U)),512&r.flags&&(r.check=a(r.check,l,B,d)),_-=B,d+=B,r.length-=B),r.length))break t;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===_)break t;B=0;do{U=l[d+B++],r.head&&U&&r.length<65536&&(r.head.name+=String.fromCharCode(U))}while(U&&B<_);if(512&r.flags&&(r.check=a(r.check,l,B,d)),_-=B,d+=B,U)break t}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===_)break t;B=0;do{U=l[d+B++],r.head&&U&&r.length<65536&&(r.head.comment+=String.fromCharCode(U))}while(U&&B<_);if(512&r.flags&&(r.check=a(r.check,l,B,d)),_-=B,d+=B,U)break t}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;w<16;){if(0===_)break t;_--,m+=l[d++]<<w,w+=8}if(m!==(65535&r.check)){t.msg="header crc mismatch",r.mode=u;break}m=0,w=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=A;break;case 10:for(;w<32;){if(0===_)break t;_--,m+=l[d++]<<w,w+=8}t.adler=r.check=f(m),m=0,w=0,r.mode=11;case 11:if(0===r.havedict)return t.next_out=g,t.avail_out=p,t.next_in=d,t.avail_in=_,r.hold=m,r.bits=w,2;t.adler=r.check=1,r.mode=A;case A:if(5===e||6===e)break t;case 13:if(r.last){m>>>=7&w,w-=7&w,r.mode=27;break}for(;w<3;){if(0===_)break t;_--,m+=l[d++]<<w,w+=8}switch(r.last=1&m,w-=1,3&(m>>>=1)){case 0:r.mode=14;break;case 1:if(b(r),r.mode=20,6===e){m>>>=2,w-=2;break t}break;case 2:r.mode=17;break;case 3:t.msg="invalid block type",r.mode=u}m>>>=2,w-=2;break;case 14:for(m>>>=7&w,w-=7&w;w<32;){if(0===_)break t;_--,m+=l[d++]<<w,w+=8}if((65535&m)!=(m>>>16^65535)){t.msg="invalid stored block lengths",r.mode=u;break}if(r.length=65535&m,m=0,w=0,r.mode=15,6===e)break t;case 15:r.mode=16;case 16:if(B=r.length){if(B>_&&(B=_),B>p&&(B=p),0===B)break t;n.arraySet(c,l,d,B,g),_-=B,d+=B,p-=B,g+=B,r.length-=B;break}r.mode=A;break;case 17:for(;w<14;){if(0===_)break t;_--,m+=l[d++]<<w,w+=8}if(r.nlen=257+(31&m),m>>>=5,w-=5,r.ndist=1+(31&m),m>>>=5,w-=5,r.ncode=4+(15&m),m>>>=4,w-=4,r.nlen>286||r.ndist>30){t.msg="too many length or distance symbols",r.mode=u;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;w<3;){if(0===_)break t;_--,m+=l[d++]<<w,w+=8}r.lens[H[r.have++]]=7&m,m>>>=3,w-=3}for(;r.have<19;)r.lens[H[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,j={bits:r.lenbits},R=s(0,r.lens,0,19,r.lencode,0,r.work,j),r.lenbits=j.bits,R){t.msg="invalid code lengths set",r.mode=u;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;k=(O=r.lencode[m&(1<<r.lenbits)-1])>>>16&255,Q=65535&O,!((x=O>>>24)<=w);){if(0===_)break t;_--,m+=l[d++]<<w,w+=8}if(Q<16)m>>>=x,w-=x,r.lens[r.have++]=Q;else{if(16===Q){for(G=x+2;w<G;){if(0===_)break t;_--,m+=l[d++]<<w,w+=8}if(m>>>=x,w-=x,0===r.have){t.msg="invalid bit length repeat",r.mode=u;break}U=r.lens[r.have-1],B=3+(3&m),m>>>=2,w-=2}else if(17===Q){for(G=x+3;w<G;){if(0===_)break t;_--,m+=l[d++]<<w,w+=8}w-=x,U=0,B=3+(7&(m>>>=x)),m>>>=3,w-=3}else{for(G=x+7;w<G;){if(0===_)break t;_--,m+=l[d++]<<w,w+=8}w-=x,U=0,B=11+(127&(m>>>=x)),m>>>=7,w-=7}if(r.have+B>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=u;break}for(;B--;)r.lens[r.have++]=U}}if(r.mode===u)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=u;break}if(r.lenbits=9,j={bits:r.lenbits},R=s(1,r.lens,0,r.nlen,r.lencode,0,r.work,j),r.lenbits=j.bits,R){t.msg="invalid literal/lengths set",r.mode=u;break}if(r.distbits=6,r.distcode=r.distdyn,j={bits:r.distbits},R=s(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,j),r.distbits=j.bits,R){t.msg="invalid distances set",r.mode=u;break}if(r.mode=20,6===e)break t;case 20:r.mode=21;case 21:if(_>=6&&p>=258){t.next_out=g,t.avail_out=p,t.next_in=d,t.avail_in=_,r.hold=m,r.bits=w,o(t,y),g=t.next_out,c=t.output,p=t.avail_out,d=t.next_in,l=t.input,_=t.avail_in,m=r.hold,w=r.bits,r.mode===A&&(r.back=-1);break}for(r.back=0;k=(O=r.lencode[m&(1<<r.lenbits)-1])>>>16&255,Q=65535&O,!((x=O>>>24)<=w);){if(0===_)break t;_--,m+=l[d++]<<w,w+=8}if(k&&0==(240&k)){for(D=x,M=k,z=Q;k=(O=r.lencode[z+((m&(1<<D+M)-1)>>D)])>>>16&255,Q=65535&O,!(D+(x=O>>>24)<=w);){if(0===_)break t;_--,m+=l[d++]<<w,w+=8}m>>>=D,w-=D,r.back+=D}if(m>>>=x,w-=x,r.back+=x,r.length=Q,0===k){r.mode=26;break}if(32&k){r.back=-1,r.mode=A;break}if(64&k){t.msg="invalid literal/length code",r.mode=u;break}r.extra=15&k,r.mode=22;case 22:if(r.extra){for(G=r.extra;w<G;){if(0===_)break t;_--,m+=l[d++]<<w,w+=8}r.length+=m&(1<<r.extra)-1,m>>>=r.extra,w-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;k=(O=r.distcode[m&(1<<r.distbits)-1])>>>16&255,Q=65535&O,!((x=O>>>24)<=w);){if(0===_)break t;_--,m+=l[d++]<<w,w+=8}if(0==(240&k)){for(D=x,M=k,z=Q;k=(O=r.distcode[z+((m&(1<<D+M)-1)>>D)])>>>16&255,Q=65535&O,!(D+(x=O>>>24)<=w);){if(0===_)break t;_--,m+=l[d++]<<w,w+=8}m>>>=D,w-=D,r.back+=D}if(m>>>=x,w-=x,r.back+=x,64&k){t.msg="invalid distance code",r.mode=u;break}r.offset=Q,r.extra=15&k,r.mode=24;case 24:if(r.extra){for(G=r.extra;w<G;){if(0===_)break t;_--,m+=l[d++]<<w,w+=8}r.offset+=m&(1<<r.extra)-1,m>>>=r.extra,w-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=u;break}r.mode=25;case 25:if(0===p)break t;if(B=y-p,r.offset>B){if((B=r.offset-B)>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=u;break}B>r.wnext?(B-=r.wnext,E=r.wsize-B):E=r.wnext-B,B>r.length&&(B=r.length),C=r.window}else C=c,E=g-r.offset,B=r.length;B>p&&(B=p),p-=B,r.length-=B;do{c[g++]=C[E++]}while(--B);0===r.length&&(r.mode=21);break;case 26:if(0===p)break t;c[g++]=r.length,p--,r.mode=21;break;case 27:if(r.wrap){for(;w<32;){if(0===_)break t;_--,m|=l[d++]<<w,w+=8}if(y-=p,t.total_out+=y,r.total+=y,y&&(t.adler=r.check=r.flags?a(r.check,c,y,g-y):i(r.check,c,y,g-y)),y=p,(r.flags?m:f(m))!==r.check){t.msg="incorrect data check",r.mode=u;break}m=0,w=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;w<32;){if(0===_)break t;_--,m+=l[d++]<<w,w+=8}if(m!==(4294967295&r.total)){t.msg="incorrect length check",r.mode=u;break}m=0,w=0}r.mode=29;case 29:R=1;break t;case u:R=-3;break t;case 31:return-4;default:return h}return t.next_out=g,t.avail_out=p,t.next_in=d,t.avail_in=_,r.hold=m,r.bits=w,(r.wsize||y!==t.avail_out&&r.mode<u&&(r.mode<27||4!==e))&&v(t,t.output,t.next_out,y-t.avail_out)?(r.mode=31,-4):(I-=t.avail_in,y-=t.avail_out,t.total_in+=I,t.total_out+=y,r.total+=y,r.wrap&&y&&(t.adler=r.check=r.flags?a(r.check,c,y,t.next_out-y):i(r.check,c,y,t.next_out-y)),t.data_type=r.bits+(r.last?64:0)+(r.mode===A?128:0)+(20===r.mode||15===r.mode?256:0),(0===I&&0===y||4===e)&&0===R&&(R=-5),R)},e.inflateEnd=function(t){if(!t||!t.state)return h;var e=t.state;return e.window&&(e.window=null),t.state=null,0},e.inflateGetHeader=function(t,e){var r;return t&&t.state?0==(2&(r=t.state).wrap)?h:(r.head=e,e.done=!1,0):h},e.inflateSetDictionary=function(t,e){var r,n=e.length;return t&&t.state?0!==(r=t.state).wrap&&11!==r.mode?h:11===r.mode&&i(1,e,n,0)!==r.check?-3:v(t,e,n,n)?(r.mode=31,-4):(r.havedict=1,0):h},e.inflateInfo="pako inflate (from Nodeca project)"},6446:(t,e,r)=>{"use strict";var n=r(9187),i=15,a=[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],o=[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],s=[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],h=[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];t.exports=function(t,e,r,A,u,f,l,c){var d,g,_,p,m,w,b,v,I,y=c.bits,B=0,E=0,C=0,x=0,k=0,Q=0,D=0,M=0,z=0,U=0,R=null,j=0,G=new n.Buf16(16),O=new n.Buf16(16),S=null,H=0;for(B=0;B<=i;B++)G[B]=0;for(E=0;E<A;E++)G[e[r+E]]++;for(k=y,x=i;x>=1&&0===G[x];x--);if(k>x&&(k=x),0===x)return u[f++]=20971520,u[f++]=20971520,c.bits=1,0;for(C=1;C<x&&0===G[C];C++);for(k<C&&(k=C),M=1,B=1;B<=i;B++)if(M<<=1,(M-=G[B])<0)return-1;if(M>0&&(0===t||1!==x))return-1;for(O[1]=0,B=1;B<i;B++)O[B+1]=O[B]+G[B];for(E=0;E<A;E++)0!==e[r+E]&&(l[O[e[r+E]]++]=E);if(0===t?(R=S=l,w=19):1===t?(R=a,j-=257,S=o,H-=257,w=256):(R=s,S=h,w=-1),U=0,E=0,B=C,m=f,Q=k,D=0,_=-1,p=(z=1<<k)-1,1===t&&z>852||2===t&&z>592)return 1;for(;;){b=B-D,l[E]<w?(v=0,I=l[E]):l[E]>w?(v=S[H+l[E]],I=R[j+l[E]]):(v=96,I=0),d=1<<B-D,C=g=1<<Q;do{u[m+(U>>D)+(g-=d)]=b<<24|v<<16|I|0}while(0!==g);for(d=1<<B-1;U&d;)d>>=1;if(0!==d?(U&=d-1,U+=d):U=0,E++,0==--G[B]){if(B===x)break;B=e[r+l[E]]}if(B>k&&(U&p)!==_){for(0===D&&(D=k),m+=C,M=1<<(Q=B-D);Q+D<x&&!((M-=G[Q+D])<=0);)Q++,M<<=1;if(z+=1<<Q,1===t&&z>852||2===t&&z>592)return 1;u[_=U&p]=k<<24|Q<<16|m-f|0}}return 0!==U&&(u[m+U]=B-D<<24|64<<16|0),c.bits=k,0}},5604:t=>{"use strict";t.exports={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"}},8676:(t,e,r)=>{"use strict";var n=r(9187);function i(t){for(var e=t.length;--e>=0;)t[e]=0}var a=256,o=286,s=30,h=15,A=[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],u=[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],f=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],l=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],c=new Array(576);i(c);var d=new Array(60);i(d);var g=new Array(512);i(g);var _=new Array(256);i(_);var p=new Array(29);i(p);var m,w,b,v=new Array(s);function I(t,e,r,n,i){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=t&&t.length}function y(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function B(t){return t<256?g[t]:g[256+(t>>>7)]}function E(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function C(t,e,r){t.bi_valid>16-r?(t.bi_buf|=e<<t.bi_valid&65535,E(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=r-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=r)}function x(t,e,r){C(t,r[2*e],r[2*e+1])}function k(t,e){var r=0;do{r|=1&t,t>>>=1,r<<=1}while(--e>0);return r>>>1}function Q(t,e,r){var n,i,a=new Array(16),o=0;for(n=1;n<=h;n++)a[n]=o=o+r[n-1]<<1;for(i=0;i<=e;i++){var s=t[2*i+1];0!==s&&(t[2*i]=k(a[s]++,s))}}function D(t){var e;for(e=0;e<o;e++)t.dyn_ltree[2*e]=0;for(e=0;e<s;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function M(t){t.bi_valid>8?E(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function z(t,e,r,n){var i=2*e,a=2*r;return t[i]<t[a]||t[i]===t[a]&&n[e]<=n[r]}function U(t,e,r){for(var n=t.heap[r],i=r<<1;i<=t.heap_len&&(i<t.heap_len&&z(e,t.heap[i+1],t.heap[i],t.depth)&&i++,!z(e,n,t.heap[i],t.depth));)t.heap[r]=t.heap[i],r=i,i<<=1;t.heap[r]=n}function R(t,e,r){var n,i,o,s,h=0;if(0!==t.last_lit)do{n=t.pending_buf[t.d_buf+2*h]<<8|t.pending_buf[t.d_buf+2*h+1],i=t.pending_buf[t.l_buf+h],h++,0===n?x(t,i,e):(x(t,(o=_[i])+a+1,e),0!==(s=A[o])&&C(t,i-=p[o],s),x(t,o=B(--n),r),0!==(s=u[o])&&C(t,n-=v[o],s))}while(h<t.last_lit);x(t,256,e)}function j(t,e){var r,n,i,a=e.dyn_tree,o=e.stat_desc.static_tree,s=e.stat_desc.has_stree,A=e.stat_desc.elems,u=-1;for(t.heap_len=0,t.heap_max=573,r=0;r<A;r++)0!==a[2*r]?(t.heap[++t.heap_len]=u=r,t.depth[r]=0):a[2*r+1]=0;for(;t.heap_len<2;)a[2*(i=t.heap[++t.heap_len]=u<2?++u:0)]=1,t.depth[i]=0,t.opt_len--,s&&(t.static_len-=o[2*i+1]);for(e.max_code=u,r=t.heap_len>>1;r>=1;r--)U(t,a,r);i=A;do{r=t.heap[1],t.heap[1]=t.heap[t.heap_len--],U(t,a,1),n=t.heap[1],t.heap[--t.heap_max]=r,t.heap[--t.heap_max]=n,a[2*i]=a[2*r]+a[2*n],t.depth[i]=(t.depth[r]>=t.depth[n]?t.depth[r]:t.depth[n])+1,a[2*r+1]=a[2*n+1]=i,t.heap[1]=i++,U(t,a,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],function(t,e){var r,n,i,a,o,s,A=e.dyn_tree,u=e.max_code,f=e.stat_desc.static_tree,l=e.stat_desc.has_stree,c=e.stat_desc.extra_bits,d=e.stat_desc.extra_base,g=e.stat_desc.max_length,_=0;for(a=0;a<=h;a++)t.bl_count[a]=0;for(A[2*t.heap[t.heap_max]+1]=0,r=t.heap_max+1;r<573;r++)(a=A[2*A[2*(n=t.heap[r])+1]+1]+1)>g&&(a=g,_++),A[2*n+1]=a,n>u||(t.bl_count[a]++,o=0,n>=d&&(o=c[n-d]),s=A[2*n],t.opt_len+=s*(a+o),l&&(t.static_len+=s*(f[2*n+1]+o)));if(0!==_){do{for(a=g-1;0===t.bl_count[a];)a--;t.bl_count[a]--,t.bl_count[a+1]+=2,t.bl_count[g]--,_-=2}while(_>0);for(a=g;0!==a;a--)for(n=t.bl_count[a];0!==n;)(i=t.heap[--r])>u||(A[2*i+1]!==a&&(t.opt_len+=(a-A[2*i+1])*A[2*i],A[2*i+1]=a),n--)}}(t,e),Q(a,u,t.bl_count)}function G(t,e,r){var n,i,a=-1,o=e[1],s=0,h=7,A=4;for(0===o&&(h=138,A=3),e[2*(r+1)+1]=65535,n=0;n<=r;n++)i=o,o=e[2*(n+1)+1],++s<h&&i===o||(s<A?t.bl_tree[2*i]+=s:0!==i?(i!==a&&t.bl_tree[2*i]++,t.bl_tree[32]++):s<=10?t.bl_tree[34]++:t.bl_tree[36]++,s=0,a=i,0===o?(h=138,A=3):i===o?(h=6,A=3):(h=7,A=4))}function O(t,e,r){var n,i,a=-1,o=e[1],s=0,h=7,A=4;for(0===o&&(h=138,A=3),n=0;n<=r;n++)if(i=o,o=e[2*(n+1)+1],!(++s<h&&i===o)){if(s<A)do{x(t,i,t.bl_tree)}while(0!=--s);else 0!==i?(i!==a&&(x(t,i,t.bl_tree),s--),x(t,16,t.bl_tree),C(t,s-3,2)):s<=10?(x(t,17,t.bl_tree),C(t,s-3,3)):(x(t,18,t.bl_tree),C(t,s-11,7));s=0,a=i,0===o?(h=138,A=3):i===o?(h=6,A=3):(h=7,A=4)}}i(v);var S=!1;function H(t,e,r,i){C(t,0+(i?1:0),3),function(t,e,r,i){M(t),i&&(E(t,r),E(t,~r)),n.arraySet(t.pending_buf,t.window,e,r,t.pending),t.pending+=r}(t,e,r,!0)}e._tr_init=function(t){S||(!function(){var t,e,r,n,i,a=new Array(16);for(r=0,n=0;n<28;n++)for(p[n]=r,t=0;t<1<<A[n];t++)_[r++]=n;for(_[r-1]=n,i=0,n=0;n<16;n++)for(v[n]=i,t=0;t<1<<u[n];t++)g[i++]=n;for(i>>=7;n<s;n++)for(v[n]=i<<7,t=0;t<1<<u[n]-7;t++)g[256+i++]=n;for(e=0;e<=h;e++)a[e]=0;for(t=0;t<=143;)c[2*t+1]=8,t++,a[8]++;for(;t<=255;)c[2*t+1]=9,t++,a[9]++;for(;t<=279;)c[2*t+1]=7,t++,a[7]++;for(;t<=287;)c[2*t+1]=8,t++,a[8]++;for(Q(c,287,a),t=0;t<s;t++)d[2*t+1]=5,d[2*t]=k(t,5);m=new I(c,A,257,o,h),w=new I(d,u,0,s,h),b=new I(new Array(0),f,0,19,7)}(),S=!0),t.l_desc=new y(t.dyn_ltree,m),t.d_desc=new y(t.dyn_dtree,w),t.bl_desc=new y(t.bl_tree,b),t.bi_buf=0,t.bi_valid=0,D(t)},e._tr_stored_block=H,e._tr_flush_block=function(t,e,r,n){var i,o,s=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=function(t){var e,r=4093624447;for(e=0;e<=31;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<a;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0}(t)),j(t,t.l_desc),j(t,t.d_desc),s=function(t){var e;for(G(t,t.dyn_ltree,t.l_desc.max_code),G(t,t.dyn_dtree,t.d_desc.max_code),j(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*l[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),i=t.opt_len+3+7>>>3,(o=t.static_len+3+7>>>3)<=i&&(i=o)):i=o=r+5,r+4<=i&&-1!==e?H(t,e,r,n):4===t.strategy||o===i?(C(t,2+(n?1:0),3),R(t,c,d)):(C(t,4+(n?1:0),3),function(t,e,r,n){var i;for(C(t,e-257,5),C(t,r-1,5),C(t,n-4,4),i=0;i<n;i++)C(t,t.bl_tree[2*l[i]+1],3);O(t,t.dyn_ltree,e-1),O(t,t.dyn_dtree,r-1)}(t,t.l_desc.max_code+1,t.d_desc.max_code+1,s+1),R(t,t.dyn_ltree,t.dyn_dtree)),D(t),n&&M(t)},e._tr_tally=function(t,e,r){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&r,t.last_lit++,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(_[r]+a+1)]++,t.dyn_dtree[2*B(e)]++),t.last_lit===t.lit_bufsize-1},e._tr_align=function(t){C(t,2,3),x(t,256,c),function(t){16===t.bi_valid?(E(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}(t)}},249:t=>{"use strict";t.exports=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}},4881:t=>{t.exports=function(){function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){if(a)return a(o,!0);var h=new Error("Cannot find module '"+o+"'");throw h.code="MODULE_NOT_FOUND",h}var A=r[o]={exports:{}};e[o][0].call(A.exports,(function(t){return i(e[o][1][t]||t)}),A,A.exports,t,e,r,n)}return r[o].exports}for(var a=void 0,o=0;o<n.length;o++)i(n[o]);return i}return t}()({1:[function(t,e,r){"use strict";var n=t("inherits"),i=t("multimath"),a=t("./mm_unsharp_mask"),o=t("./mm_resize");function s(t){var e=t||[],r={js:e.indexOf("js")>=0,wasm:e.indexOf("wasm")>=0};i.call(this,r),this.features={js:r.js,wasm:r.wasm&&this.has_wasm()},this.use(a),this.use(o)}n(s,i),s.prototype.resizeAndUnsharp=function(t,e){var r=this.resize(t,e);return t.unsharpAmount&&this.unsharp_mask(r,t.toWidth,t.toHeight,t.unsharpAmount,t.unsharpRadius,t.unsharpThreshold),r},e.exports=s},{"./mm_resize":4,"./mm_unsharp_mask":9,inherits:19,multimath:20}],2:[function(t,e,r){"use strict";function n(t){return t<0?0:t>255?255:t}function i(t,e,r,i,a,o){var s,h,A,u,f,l,c,d,g,_,p,m=0,w=0;for(g=0;g<i;g++){for(f=0,_=0;_<a;_++){for(l=o[f++],c=o[f++],d=m+4*l|0,s=h=A=u=0;c>0;c--)u=u+(p=o[f++])*t[d+3]|0,A=A+p*t[d+2]|0,h=h+p*t[d+1]|0,s=s+p*t[d]|0,d=d+4|0;e[w+3]=n(u+8192>>14),e[w+2]=n(A+8192>>14),e[w+1]=n(h+8192>>14),e[w]=n(s+8192>>14),w=w+4*i|0}w=4*(g+1)|0,m=(g+1)*r*4|0}}function a(t,e,r,i,a,o){var s,h,A,u,f,l,c,d,g,_,p,m=0,w=0;for(g=0;g<i;g++){for(f=0,_=0;_<a;_++){for(l=o[f++],c=o[f++],d=m+4*l|0,s=h=A=u=0;c>0;c--)u=u+(p=o[f++])*t[d+3]|0,A=A+p*t[d+2]|0,h=h+p*t[d+1]|0,s=s+p*t[d]|0,d=d+4|0;e[w+3]=n(u+8192>>14),e[w+2]=n(A+8192>>14),e[w+1]=n(h+8192>>14),e[w]=n(s+8192>>14),w=w+4*i|0}w=4*(g+1)|0,m=(g+1)*r*4|0}}e.exports={convolveHorizontally:i,convolveVertically:a}},{}],3:[function(t,e,r){"use strict";e.exports="AGFzbQEAAAAADAZkeWxpbmsAAAAAAAEXA2AAAGAGf39/f39/AGAHf39/f39/fwACDwEDZW52Bm1lbW9yeQIAAAMEAwABAgYGAX8AQQALB1cFEV9fd2FzbV9jYWxsX2N0b3JzAAAIY29udm9sdmUAAQpjb252b2x2ZUhWAAIMX19kc29faGFuZGxlAwAYX193YXNtX2FwcGx5X2RhdGFfcmVsb2NzAAAK7AMDAwABC8YDAQ9/AkAgA0UNACAERQ0AA0AgDCENQQAhE0EAIQcDQCAHQQJqIQYCfyAHQQF0IAVqIgcuAQIiFEUEQEGAwAAhCEGAwAAhCUGAwAAhCkGAwAAhCyAGDAELIBIgBy4BAGohCEEAIQsgFCEHQQAhDiAGIQlBACEPQQAhEANAIAUgCUEBdGouAQAiESAAIAhBAnRqKAIAIgpBGHZsIBBqIRAgCkH/AXEgEWwgC2ohCyAKQRB2Qf8BcSARbCAPaiEPIApBCHZB/wFxIBFsIA5qIQ4gCEEBaiEIIAlBAWohCSAHQQFrIgcNAAsgC0GAQGshCCAOQYBAayEJIA9BgEBrIQogEEGAQGshCyAGIBRqCyEHIAEgDUECdGogCUEOdSIGQf8BIAZB/wFIGyIGQQAgBkEAShtBCHRBgP4DcSAKQQ51IgZB/wEgBkH/AUgbIgZBACAGQQBKG0EQdEGAgPwHcSALQQ51IgZB/wEgBkH/AUgbIgZBACAGQQBKG0EYdHJyIAhBDnUiBkH/ASAGQf8BSBsiBkEAIAZBAEobcjYCACADIA1qIQ0gE0EBaiITIARHDQALIAxBAWoiDCACbCESIAMgDEcNAAsLCx4AQQAgAiADIAQgBSAAEAEgAkEAIAQgBSAGIAEQAQs="},{}],4:[function(t,e,r){"use strict";e.exports={name:"resize",fn:t("./resize"),wasm_fn:t("./resize_wasm"),wasm_src:t("./convolve_wasm_base64")}},{"./convolve_wasm_base64":3,"./resize":5,"./resize_wasm":8}],5:[function(t,e,r){"use strict";var n=t("./resize_filter_gen"),i=t("./convolve").convolveHorizontally,a=t("./convolve").convolveVertically;function o(t,e,r){for(var n=3,i=e*r*4|0;n<i;)t[n]=255,n=n+4|0}e.exports=function(t){var e=t.src,r=t.width,s=t.height,h=t.toWidth,A=t.toHeight,u=t.scaleX||t.toWidth/t.width,f=t.scaleY||t.toHeight/t.height,l=t.offsetX||0,c=t.offsetY||0,d=t.dest||new Uint8Array(h*A*4),g=void 0===t.quality?3:t.quality,_=t.alpha||!1,p=n(g,r,h,u,l),m=n(g,s,A,f,c),w=new Uint8Array(h*s*4);return i(e,w,r,s,h,p),a(w,d,s,h,A,m),_||o(d,h,A),d}},{"./convolve":2,"./resize_filter_gen":6}],6:[function(t,e,r){"use strict";var n=t("./resize_filter_info"),i=14;function a(t){return Math.round(t*((1<<i)-1))}e.exports=function(t,e,r,i,o){var s,h,A,u,f,l,c,d,g,_,p,m,w,b,v,I,y,B=n[t].filter,E=1/i,C=Math.min(1,i),x=n[t].win/C,k=Math.floor(2*(x+1)),Q=new Int16Array((k+2)*r),D=0,M=!Q.subarray||!Q.set;for(s=0;s<r;s++){for(h=(s+.5)*E+o,A=Math.max(0,Math.floor(h-x)),f=(u=Math.min(e-1,Math.ceil(h+x)))-A+1,l=new Float32Array(f),c=new Int16Array(f),d=0,g=A,_=0;g<=u;g++,_++)d+=p=B((g+.5-h)*C),l[_]=p;for(m=0,_=0;_<l.length;_++)m+=w=l[_]/d,c[_]=a(w);for(c[r>>1]+=a(1-m),b=0;b<c.length&&0===c[b];)b++;if(b<c.length){for(v=c.length-1;v>0&&0===c[v];)v--;if(I=A+b,y=v-b+1,Q[D++]=I,Q[D++]=y,M)for(_=b;_<=v;_++)Q[D++]=c[_];else Q.set(c.subarray(b,v+1),D),D+=y}else Q[D++]=0,Q[D++]=0}return Q}},{"./resize_filter_info":7}],7:[function(t,e,r){"use strict";e.exports=[{win:.5,filter:function(t){return t>=-.5&&t<.5?1:0}},{win:1,filter:function(t){if(t<=-1||t>=1)return 0;if(t>-1.1920929e-7&&t<1.1920929e-7)return 1;var e=t*Math.PI;return Math.sin(e)/e*(.54+.46*Math.cos(e/1))}},{win:2,filter:function(t){if(t<=-2||t>=2)return 0;if(t>-1.1920929e-7&&t<1.1920929e-7)return 1;var e=t*Math.PI;return Math.sin(e)/e*Math.sin(e/2)/(e/2)}},{win:3,filter:function(t){if(t<=-3||t>=3)return 0;if(t>-1.1920929e-7&&t<1.1920929e-7)return 1;var e=t*Math.PI;return Math.sin(e)/e*Math.sin(e/3)/(e/3)}}]},{}],8:[function(t,e,r){"use strict";var n=t("./resize_filter_gen");function i(t,e,r){for(var n=3,i=e*r*4|0;n<i;)t[n]=255,n=n+4|0}function a(t){return new Uint8Array(t.buffer,0,t.byteLength)}var o=!0;try{o=1===new Uint32Array(new Uint8Array([1,0,0,0]).buffer)[0]}catch(t){}function s(t,e,r){if(o)e.set(a(t),r);else for(var n=r,i=0;i<t.length;i++){var s=t[i];e[n++]=255&s,e[n++]=s>>8&255}}e.exports=function(t){var e=t.src,r=t.width,a=t.height,o=t.toWidth,h=t.toHeight,A=t.scaleX||t.toWidth/t.width,u=t.scaleY||t.toHeight/t.height,f=t.offsetX||0,l=t.offsetY||0,c=t.dest||new Uint8Array(o*h*4),d=void 0===t.quality?3:t.quality,g=t.alpha||!1,_=n(d,r,o,A,f),p=n(d,a,h,u,l),m=0,w=this.__align(m+Math.max(e.byteLength,c.byteLength)),b=this.__align(w+a*o*4),v=this.__align(b+_.byteLength),I=v+p.byteLength,y=this.__instance("resize",I),B=new Uint8Array(this.__memory.buffer),E=new Uint32Array(this.__memory.buffer),C=new Uint32Array(e.buffer);return E.set(C),s(_,B,b),s(p,B,v),(y.exports.convolveHV||y.exports._convolveHV)(b,v,w,r,a,o,h),new Uint32Array(c.buffer).set(new Uint32Array(this.__memory.buffer,0,h*o)),g||i(c,o,h),c}},{"./resize_filter_gen":6}],9:[function(t,e,r){"use strict";e.exports={name:"unsharp_mask",fn:t("./unsharp_mask"),wasm_fn:t("./unsharp_mask_wasm"),wasm_src:t("./unsharp_mask_wasm_base64")}},{"./unsharp_mask":10,"./unsharp_mask_wasm":11,"./unsharp_mask_wasm_base64":12}],10:[function(t,e,r){"use strict";var n=t("glur/mono16");function i(t,e,r){for(var n,i,a,o,s=e*r,h=new Uint16Array(s),A=0;A<s;A++)n=t[4*A],i=t[4*A+1],a=t[4*A+2],o=n>=i&&n>=a?n:i>=a&&i>=n?i:a,h[A]=o<<8;return h}e.exports=function(t,e,r,a,o,s){var h,A,u,f,l;if(!(0===a||o<.5)){o>2&&(o=2);var c=i(t,e,r),d=new Uint16Array(c);n(d,e,r,o);for(var g=a/100*4096+.5|0,_=s<<8,p=e*r,m=0;m<p;m++)f=(h=c[m])-d[m],Math.abs(f)>=_&&(u=((A=(A=(A=h+(g*f+2048>>12))>65280?65280:A)<0?0:A)<<12)/(h=0!==h?h:1)|0,t[l=4*m]=t[l]*u+2048>>12,t[l+1]=t[l+1]*u+2048>>12,t[l+2]=t[l+2]*u+2048>>12)}}},{"glur/mono16":18}],11:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i,a){if(!(0===n||i<.5)){i>2&&(i=2);var o=e*r,s=4*o,h=2*o,A=2*o,u=4*Math.max(e,r),f=32,l=0,c=s,d=c+h,g=d+A,_=g+A,p=_+u,m=this.__instance("unsharp_mask",s+h+2*A+u+f,{exp:Math.exp}),w=new Uint32Array(t.buffer);new Uint32Array(this.__memory.buffer).set(w);var b=m.exports.hsv_v16||m.exports._hsv_v16;b(l,c,e,r),(b=m.exports.blurMono16||m.exports._blurMono16)(c,d,g,_,p,e,r,i),(b=m.exports.unsharp||m.exports._unsharp)(l,l,c,d,e,r,n,a),w.set(new Uint32Array(this.__memory.buffer,0,o))}}},{}],12:[function(t,e,r){"use strict";e.exports="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"},{}],13:[function(t,e,r){"use strict";var n=100;function i(t,e){this.create=t,this.available=[],this.acquired={},this.lastId=1,this.timeoutId=0,this.idle=e||2e3}i.prototype.acquire=function(){var t,e=this;return 0!==this.available.length?t=this.available.pop():((t=this.create()).id=this.lastId++,t.release=function(){return e.release(t)}),this.acquired[t.id]=t,t},i.prototype.release=function(t){var e=this;delete this.acquired[t.id],t.lastUsed=Date.now(),this.available.push(t),0===this.timeoutId&&(this.timeoutId=setTimeout((function(){return e.gc()}),n))},i.prototype.gc=function(){var t=this,e=Date.now();this.available=this.available.filter((function(r){return!(e-r.lastUsed>t.idle&&(r.destroy(),1))})),0!==this.available.length?this.timeoutId=setTimeout((function(){return t.gc()}),n):this.timeoutId=0},e.exports=i},{}],14:[function(t,e,r){"use strict";var n=2;e.exports=function(t,e,r,i,a,o){var s=r/t,h=i/e,A=(2*o+n+1)/a;if(A>.5)return[[r,i]];var u=Math.ceil(Math.log(Math.min(s,h))/Math.log(A));if(u<=1)return[[r,i]];for(var f=[],l=0;l<u;l++){var c=Math.round(Math.pow(Math.pow(t,u-l-1)*Math.pow(r,l+1),1/u)),d=Math.round(Math.pow(Math.pow(e,u-l-1)*Math.pow(i,l+1),1/u));f.push([c,d])}return f}},{}],15:[function(t,e,r){"use strict";var n=1e-5;function i(t){var e=Math.round(t);return Math.abs(t-e)<n?e:Math.floor(t)}function a(t){var e=Math.round(t);return Math.abs(t-e)<n?e:Math.ceil(t)}e.exports=function(t){var e,r,n,o,s,h,A=t.toWidth/t.width,u=t.toHeight/t.height,f=i(t.srcTileSize*A)-2*t.destTileBorder,l=i(t.srcTileSize*u)-2*t.destTileBorder;if(f<1||l<1)throw new Error("Internal error in pica: target tile width/height is too small.");var c,d=[];for(o=0;o<t.toHeight;o+=l)for(n=0;n<t.toWidth;n+=f)(e=n-t.destTileBorder)<0&&(e=0),e+(s=n+f+t.destTileBorder-e)>=t.toWidth&&(s=t.toWidth-e),(r=o-t.destTileBorder)<0&&(r=0),r+(h=o+l+t.destTileBorder-r)>=t.toHeight&&(h=t.toHeight-r),c={toX:e,toY:r,toWidth:s,toHeight:h,toInnerX:n,toInnerY:o,toInnerWidth:f,toInnerHeight:l,offsetX:e/A-i(e/A),offsetY:r/u-i(r/u),scaleX:A,scaleY:u,x:i(e/A),y:i(r/u),width:a(s/A),height:a(h/u)},d.push(c);return d}},{}],16:[function(t,e,r){"use strict";function n(t){return Object.prototype.toString.call(t)}e.exports.isCanvas=function(t){var e=n(t);return"[object HTMLCanvasElement]"===e||"[object OffscreenCanvas]"===e||"[object Canvas]"===e},e.exports.isImage=function(t){return"[object HTMLImageElement]"===n(t)},e.exports.isImageBitmap=function(t){return"[object ImageBitmap]"===n(t)},e.exports.limiter=function(t){var e=0,r=[];function n(){e<t&&r.length&&(e++,r.shift()())}return function(t){return new Promise((function(i,a){r.push((function(){t().then((function(t){i(t),e--,n()}),(function(t){a(t),e--,n()}))})),n()}))}},e.exports.cib_quality_name=function(t){switch(t){case 0:return"pixelated";case 1:return"low";case 2:return"medium"}return"high"},e.exports.cib_support=function(t){return Promise.resolve().then((function(){if("undefined"==typeof createImageBitmap)return!1;var e=t(100,100);return createImageBitmap(e,0,0,100,100,{resizeWidth:10,resizeHeight:10,resizeQuality:"high"}).then((function(t){var r=10===t.width;return t.close(),e=null,r}))})).catch((function(){return!1}))},e.exports.worker_offscreen_canvas_support=function(){return new Promise((function(t,e){if("undefined"!=typeof OffscreenCanvas){var r=btoa("(".concat(i.toString(),")(self);")),n=new Worker("data:text/javascript;base64,".concat(r));n.onmessage=function(e){return t(e.data)},n.onerror=e}else t(!1);function i(t){"undefined"!=typeof createImageBitmap?Promise.resolve().then((function(){var t=new OffscreenCanvas(10,10);return t.getContext("2d").rect(0,0,1,1),createImageBitmap(t,0,0,1,1)})).then((function(){return t.postMessage(!0)}),(function(){return t.postMessage(!1)})):t.postMessage(!1)}})).then((function(t){return t}),(function(){return!1}))},e.exports.can_use_canvas=function(t){var e=!1;try{var r=t(2,1).getContext("2d"),n=r.createImageData(2,1);n.data[0]=12,n.data[1]=23,n.data[2]=34,n.data[3]=255,n.data[4]=45,n.data[5]=56,n.data[6]=67,n.data[7]=255,r.putImageData(n,0,0),n=null,12===(n=r.getImageData(0,0,2,1)).data[0]&&23===n.data[1]&&34===n.data[2]&&255===n.data[3]&&45===n.data[4]&&56===n.data[5]&&67===n.data[6]&&255===n.data[7]&&(e=!0)}catch(t){}return e},e.exports.cib_can_use_region=function(){return new Promise((function(t){if("undefined"!=typeof createImageBitmap){var e=new Image;e.src="data:image/jpeg;base64,/9j/4QBiRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAYAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAAITAAMAAAABAAEAAAAAAAAAAABIAAAAAQAAAEgAAAAB/9sAQwAEAwMEAwMEBAMEBQQEBQYKBwYGBgYNCQoICg8NEBAPDQ8OERMYFBESFxIODxUcFRcZGRsbGxAUHR8dGh8YGhsa/9sAQwEEBQUGBQYMBwcMGhEPERoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoa/8IAEQgAAQACAwERAAIRAQMRAf/EABQAAQAAAAAAAAAAAAAAAAAAAAf/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAF/P//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAQUCf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQMBAT8Bf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIBAT8Bf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEABj8Cf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAT8hf//aAAwDAQACAAMAAAAQH//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQMBAT8Qf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIBAT8Qf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAT8Qf//Z",e.onload=function(){createImageBitmap(e,0,0,e.width,e.height).then((function(r){r.width===e.width&&r.height===e.height?t(!0):t(!1)}),(function(){return t(!1)}))},e.onerror=function(){return t(!1)}}else t(!1)}))}},{}],17:[function(t,e,r){"use strict";e.exports=function(){var e,r=t("./mathlib");onmessage=function(t){var n=t.data.opts,i=!1;if(!n.src&&n.srcBitmap){var a=new OffscreenCanvas(n.width,n.height),o=a.getContext("2d",{alpha:Boolean(n.alpha)});o.drawImage(n.srcBitmap,0,0),n.src=o.getImageData(0,0,n.width,n.height).data,a.width=a.height=0,a=null,n.srcBitmap.close(),n.srcBitmap=null,i=!0}e||(e=new r(t.data.features));var s=e.resizeAndUnsharp(n);if(i){var h=new ImageData(new Uint8ClampedArray(s),n.toWidth,n.toHeight),A=new OffscreenCanvas(n.toWidth,n.toHeight);A.getContext("2d",{alpha:Boolean(n.alpha)}).putImageData(h,0,0),createImageBitmap(A).then((function(t){postMessage({bitmap:t},[t])}))}else postMessage({data:s},[s.buffer])}}},{"./mathlib":1}],18:[function(t,e,r){var n,i,a,o,s,h;function A(t){t<.5&&(t=.5);var e=Math.exp(.527076)/t,r=Math.exp(-e),A=Math.exp(-2*e),u=(1-r)*(1-r)/(1+2*e*r-A);return n=u,i=u*(e-1)*r,a=u*(e+1)*r,o=-u*A,s=2*r,h=-A,new Float32Array([n,i,a,o,s,h,(n+i)/(1-s-h),(a+o)/(1-s-h)])}function u(t,e,r,n,i,a){var o,s,h,A,u,f,l,c,d,g,_,p,m,w;for(d=0;d<a;d++){for(l=d,c=0,A=u=(o=t[f=d*i])*n[6],_=n[0],p=n[1],m=n[4],w=n[5],g=0;g<i;g++)h=(s=t[f])*_+o*p+A*m+u*w,u=A,A=h,o=s,r[c]=A,c++,f++;for(c--,l+=a*(i-1),A=u=(o=t[--f])*n[7],s=o,_=n[2],p=n[3],g=i-1;g>=0;g--)h=s*_+o*p+A*m+u*w,u=A,A=h,o=s,s=t[f],e[l]=r[c]+A,f--,c--,l-=a}}function f(t,e,r,n){if(n){var i=new Uint16Array(t.length),a=new Float32Array(Math.max(e,r)),o=A(n);u(t,i,a,o,e,r,n),u(i,t,a,o,r,e,n)}}e.exports=f},{}],19:[function(t,e,r){"function"==typeof Object.create?e.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},{}],20:[function(t,e,r){"use strict";var n=t("object-assign"),i=t("./lib/base64decode"),a=t("./lib/wa_detect"),o={js:!0,wasm:!0};function s(t){if(!(this instanceof s))return new s(t);var e=n({},o,t||{});if(this.options=e,this.__cache={},this.__init_promise=null,this.__modules=e.modules||{},this.__memory=null,this.__wasm={},this.__isLE=1===new Uint32Array(new Uint8Array([1,0,0,0]).buffer)[0],!this.options.js&&!this.options.wasm)throw new Error('mathlib: at least "js" or "wasm" should be enabled')}s.prototype.has_wasm=a,s.prototype.use=function(t){return this.__modules[t.name]=t,this.options.wasm&&this.has_wasm()&&t.wasm_fn?this[t.name]=t.wasm_fn:this[t.name]=t.fn,this},s.prototype.init=function(){if(this.__init_promise)return this.__init_promise;if(!this.options.js&&this.options.wasm&&!this.has_wasm())return Promise.reject(new Error('mathlib: only "wasm" was enabled, but it\'s not supported'));var t=this;return this.__init_promise=Promise.all(Object.keys(t.__modules).map((function(e){var r=t.__modules[e];return t.options.wasm&&t.has_wasm()&&r.wasm_fn?t.__wasm[e]?null:WebAssembly.compile(t.__base64decode(r.wasm_src)).then((function(r){t.__wasm[e]=r})):null}))).then((function(){return t})),this.__init_promise},s.prototype.__base64decode=i,s.prototype.__reallocate=function(t){if(!this.__memory)return this.__memory=new WebAssembly.Memory({initial:Math.ceil(t/65536)}),this.__memory;var e=this.__memory.buffer.byteLength;return e<t&&this.__memory.grow(Math.ceil((t-e)/65536)),this.__memory},s.prototype.__instance=function(t,e,r){if(e&&this.__reallocate(e),!this.__wasm[t]){var i=this.__modules[t];this.__wasm[t]=new WebAssembly.Module(this.__base64decode(i.wasm_src))}if(!this.__cache[t]){var a={memoryBase:0,memory:this.__memory,tableBase:0,table:new WebAssembly.Table({initial:0,element:"anyfunc"})};this.__cache[t]=new WebAssembly.Instance(this.__wasm[t],{env:n(a,r||{})})}return this.__cache[t]},s.prototype.__align=function(t,e){var r=t%(e=e||8);return t+(r?e-r:0)},e.exports=s},{"./lib/base64decode":21,"./lib/wa_detect":22,"object-assign":23}],21:[function(t,e,r){"use strict";var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";e.exports=function(t){for(var e=t.replace(/[\r\n=]/g,""),r=e.length,i=new Uint8Array(3*r>>2),a=0,o=0,s=0;s<r;s++)s%4==0&&s&&(i[o++]=a>>16&255,i[o++]=a>>8&255,i[o++]=255&a),a=a<<6|n.indexOf(e.charAt(s));var h=r%4*6;return 0===h?(i[o++]=a>>16&255,i[o++]=a>>8&255,i[o++]=255&a):18===h?(i[o++]=a>>10&255,i[o++]=a>>2&255):12===h&&(i[o++]=a>>4&255),i}},{}],22:[function(t,e,r){"use strict";var n;e.exports=function(){if(void 0!==n)return n;if(n=!1,"undefined"==typeof WebAssembly)return n;try{var t=new Uint8Array([0,97,115,109,1,0,0,0,1,6,1,96,1,127,1,127,3,2,1,0,5,3,1,0,1,7,8,1,4,116,101,115,116,0,0,10,16,1,14,0,32,0,65,1,54,2,0,32,0,40,2,0,11]),e=new WebAssembly.Module(t);return 0!==new WebAssembly.Instance(e,{}).exports.test(4)&&(n=!0),n}catch(t){}return n}},{}],23:[function(t,e,r){"use strict";var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function o(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}function s(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}e.exports=s()?Object.assign:function(t,e){for(var r,s,h=o(t),A=1;A<arguments.length;A++){for(var u in r=Object(arguments[A]))i.call(r,u)&&(h[u]=r[u]);if(n){s=n(r);for(var f=0;f<s.length;f++)a.call(r,s[f])&&(h[s[f]]=r[s[f]])}}return h}},{}],24:[function(t,e,r){var n=arguments[3],i=arguments[4],a=arguments[5],o=JSON.stringify;e.exports=function(t,e){for(var r,s=Object.keys(a),h=0,A=s.length;h<A;h++){var u=s[h],f=a[u].exports;if(f===t||f&&f.default===t){r=u;break}}if(!r){r=Math.floor(Math.pow(16,8)*Math.random()).toString(16);var l={};for(h=0,A=s.length;h<A;h++)l[u=s[h]]=u;i[r]=["function(require,module,exports){"+t+"(self); }",l]}var c=Math.floor(Math.pow(16,8)*Math.random()).toString(16),d={};d[r]=r,i[c]=["function(require,module,exports){var f = require("+o(r)+");(f.default ? f.default : f)(self);}",d];var g={};function _(t){for(var e in g[t]=!0,i[t][1]){var r=i[t][1][e];g[r]||_(r)}}_(c);var p="("+n+")({"+Object.keys(g).map((function(t){return o(t)+":["+i[t][0]+","+o(i[t][1])+"]"})).join(",")+"},{},["+o(c)+"])",m=window.URL||window.webkitURL||window.mozURL||window.msURL,w=new Blob([p],{type:"text/javascript"});if(e&&e.bare)return w;var b=m.createObjectURL(w),v=new Worker(b);return v.objectURL=b,v}},{}],"/index.js":[function(t,e,r){"use strict";function n(t,e){return h(t)||s(t,e)||a(t,e)||i()}function i(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function a(t,e){if(t){if("string"==typeof t)return o(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(t,e):void 0}}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function s(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,a=[],o=!0,s=!1;try{for(r=r.call(t);!(o=(n=r.next()).done)&&(a.push(n.value),!e||a.length!==e);o=!0);}catch(t){s=!0,i=t}finally{try{o||null==r.return||r.return()}finally{if(s)throw i}}return a}}function h(t){if(Array.isArray(t))return t}var A=t("object-assign"),u=t("webworkify"),f=t("./lib/mathlib"),l=t("./lib/pool"),c=t("./lib/utils"),d=t("./lib/worker"),g=t("./lib/stepper"),_=t("./lib/tiler"),p={},m=!1;try{"undefined"!=typeof navigator&&navigator.userAgent&&(m=navigator.userAgent.indexOf("Safari")>=0)}catch(t){}var w=1;"undefined"!=typeof navigator&&(w=Math.min(navigator.hardwareConcurrency||1,4));var b={tile:1024,concurrency:w,features:["js","wasm","ww"],idle:2e3,createCanvas:function(t,e){var r=document.createElement("canvas");return r.width=t,r.height=e,r}},v={quality:3,alpha:!1,unsharpAmount:0,unsharpRadius:0,unsharpThreshold:0},I=!1,y=!1,B=!1,E=!1,C=!1;function x(){return{value:u(d),destroy:function(){if(this.value.terminate(),"undefined"!=typeof window){var t=window.URL||window.webkitURL||window.mozURL||window.msURL;t&&t.revokeObjectURL&&this.value.objectURL&&t.revokeObjectURL(this.value.objectURL)}}}}function k(t){if(!(this instanceof k))return new k(t);this.options=A({},b,t||{});var e="lk_".concat(this.options.concurrency);this.__limit=p[e]||c.limiter(this.options.concurrency),p[e]||(p[e]=this.__limit),this.features={js:!1,wasm:!1,cib:!1,ww:!1},this.__workersPool=null,this.__requested_features=[],this.__mathlib=null}k.prototype.init=function(){var e=this;if(this.__initPromise)return this.__initPromise;if("undefined"!=typeof ImageData&&"undefined"!=typeof Uint8ClampedArray)try{new ImageData(new Uint8ClampedArray(400),10,10),I=!0}catch(t){}"undefined"!=typeof ImageBitmap&&(ImageBitmap.prototype&&ImageBitmap.prototype.close?y=!0:this.debug("ImageBitmap does not support .close(), disabled"));var r=this.options.features.slice();if(r.indexOf("all")>=0&&(r=["cib","wasm","js","ww"]),this.__requested_features=r,this.__mathlib=new f(r),r.indexOf("ww")>=0&&"undefined"!=typeof window&&"Worker"in window)try{t("webworkify")((function(){})).terminate(),this.features.ww=!0;var n="wp_".concat(JSON.stringify(this.options));p[n]?this.__workersPool=p[n]:(this.__workersPool=new l(x,this.options.idle),p[n]=this.__workersPool)}catch(t){}var i,a,o=this.__mathlib.init().then((function(t){A(e.features,t.features)}));i=y?c.cib_support(this.options.createCanvas).then((function(t){e.features.cib&&r.indexOf("cib")<0?e.debug("createImageBitmap() resize supported, but disabled by config"):r.indexOf("cib")>=0&&(e.features.cib=t)})):Promise.resolve(!1),B=c.can_use_canvas(this.options.createCanvas),a=(a=y&&I&&-1!==r.indexOf("ww")?c.worker_offscreen_canvas_support():Promise.resolve(!1)).then((function(t){E=t}));var s=c.cib_can_use_region().then((function(t){C=t}));return this.__initPromise=Promise.all([o,i,a,s]).then((function(){return e})),this.__initPromise},k.prototype.__invokeResize=function(t,e){var r=this;return e.__mathCache=e.__mathCache||{},Promise.resolve().then((function(){return r.features.ww?new Promise((function(n,i){var a=r.__workersPool.acquire();e.cancelToken&&e.cancelToken.catch((function(t){return i(t)})),a.value.onmessage=function(t){a.release(),t.data.err?i(t.data.err):n(t.data)};var o=[];t.src&&o.push(t.src.buffer),t.srcBitmap&&o.push(t.srcBitmap),a.value.postMessage({opts:t,features:r.__requested_features,preload:{wasm_nodule:r.__mathlib.__}},o)})):{data:r.__mathlib.resizeAndUnsharp(t,e.__mathCache)}}))},k.prototype.__extractTileData=function(t,e,r,n,i){if(this.features.ww&&E&&(c.isCanvas(e)||C))return this.debug("Create tile for OffscreenCanvas"),createImageBitmap(n.srcImageBitmap||e,t.x,t.y,t.width,t.height).then((function(t){return i.srcBitmap=t,i}));if(c.isCanvas(e))return n.srcCtx||(n.srcCtx=e.getContext("2d",{alpha:Boolean(r.alpha)})),this.debug("Get tile pixel data"),i.src=n.srcCtx.getImageData(t.x,t.y,t.width,t.height).data,i;this.debug("Draw tile imageBitmap/image to temporary canvas");var a=this.options.createCanvas(t.width,t.height),o=a.getContext("2d",{alpha:Boolean(r.alpha)});return o.globalCompositeOperation="copy",o.drawImage(n.srcImageBitmap||e,t.x,t.y,t.width,t.height,0,0,t.width,t.height),this.debug("Get tile pixel data"),i.src=o.getImageData(0,0,t.width,t.height).data,a.width=a.height=0,i},k.prototype.__landTileData=function(t,e,r){var n;if(this.debug("Convert raw rgba tile result to ImageData"),e.bitmap)return r.toCtx.drawImage(e.bitmap,t.toX,t.toY),null;if(I)n=new ImageData(new Uint8ClampedArray(e.data),t.toWidth,t.toHeight);else if((n=r.toCtx.createImageData(t.toWidth,t.toHeight)).data.set)n.data.set(e.data);else for(var i=n.data.length-1;i>=0;i--)n.data[i]=e.data[i];return this.debug("Draw tile"),m?r.toCtx.putImageData(n,t.toX,t.toY,t.toInnerX-t.toX,t.toInnerY-t.toY,t.toInnerWidth+1e-5,t.toInnerHeight+1e-5):r.toCtx.putImageData(n,t.toX,t.toY,t.toInnerX-t.toX,t.toInnerY-t.toY,t.toInnerWidth,t.toInnerHeight),null},k.prototype.__tileAndResize=function(t,e,r){var n=this,i={srcCtx:null,srcImageBitmap:null,isImageBitmapReused:!1,toCtx:null},a=function(e){return n.__limit((function(){if(r.canceled)return r.cancelToken;var a={width:e.width,height:e.height,toWidth:e.toWidth,toHeight:e.toHeight,scaleX:e.scaleX,scaleY:e.scaleY,offsetX:e.offsetX,offsetY:e.offsetY,quality:r.quality,alpha:r.alpha,unsharpAmount:r.unsharpAmount,unsharpRadius:r.unsharpRadius,unsharpThreshold:r.unsharpThreshold};return n.debug("Invoke resize math"),Promise.resolve(a).then((function(a){return n.__extractTileData(e,t,r,i,a)})).then((function(t){return n.debug("Invoke resize math"),n.__invokeResize(t,r)})).then((function(t){return r.canceled?r.cancelToken:(i.srcImageData=null,n.__landTileData(e,t,i))}))}))};return Promise.resolve().then((function(){if(i.toCtx=e.getContext("2d",{alpha:Boolean(r.alpha)}),c.isCanvas(t))return null;if(c.isImageBitmap(t))return i.srcImageBitmap=t,i.isImageBitmapReused=!0,null;if(c.isImage(t))return y?(n.debug("Decode image via createImageBitmap"),createImageBitmap(t).then((function(t){i.srcImageBitmap=t})).catch((function(t){return null}))):null;throw new Error('Pica: ".from" should be Image, Canvas or ImageBitmap')})).then((function(){if(r.canceled)return r.cancelToken;n.debug("Calculate tiles");var t=_({width:r.width,height:r.height,srcTileSize:n.options.tile,toWidth:r.toWidth,toHeight:r.toHeight,destTileBorder:r.__destTileBorder}).map((function(t){return a(t)}));function o(t){t.srcImageBitmap&&(t.isImageBitmapReused||t.srcImageBitmap.close(),t.srcImageBitmap=null)}return n.debug("Process tiles"),Promise.all(t).then((function(){return n.debug("Finished!"),o(i),e}),(function(t){throw o(i),t}))}))},k.prototype.__processStages=function(t,e,r,i){var a=this;if(i.canceled)return i.cancelToken;var o,s=n(t.shift(),2),h=s[0],u=s[1],f=0===t.length;return i=A({},i,{toWidth:h,toHeight:u,quality:f?i.quality:Math.min(1,i.quality)}),f||(o=this.options.createCanvas(h,u)),this.__tileAndResize(e,f?r:o,i).then((function(){return f?r:(i.width=h,i.height=u,a.__processStages(t,o,r,i))})).then((function(t){return o&&(o.width=o.height=0),t}))},k.prototype.__resizeViaCreateImageBitmap=function(t,e,r){var n=this,i=e.getContext("2d",{alpha:Boolean(r.alpha)});return this.debug("Resize via createImageBitmap()"),createImageBitmap(t,{resizeWidth:r.toWidth,resizeHeight:r.toHeight,resizeQuality:c.cib_quality_name(r.quality)}).then((function(t){if(r.canceled)return r.cancelToken;if(!r.unsharpAmount)return i.drawImage(t,0,0),t.close(),i=null,n.debug("Finished!"),e;n.debug("Unsharp result");var a=n.options.createCanvas(r.toWidth,r.toHeight),o=a.getContext("2d",{alpha:Boolean(r.alpha)});o.drawImage(t,0,0),t.close();var s=o.getImageData(0,0,r.toWidth,r.toHeight);return n.__mathlib.unsharp_mask(s.data,r.toWidth,r.toHeight,r.unsharpAmount,r.unsharpRadius,r.unsharpThreshold),i.putImageData(s,0,0),a.width=a.height=0,s=o=a=i=null,n.debug("Finished!"),e}))},k.prototype.resize=function(t,e,r){var n=this;this.debug("Start resize...");var i=A({},v);if(isNaN(r)?r&&(i=A(i,r)):i=A(i,{quality:r}),i.toWidth=e.width,i.toHeight=e.height,i.width=t.naturalWidth||t.width,i.height=t.naturalHeight||t.height,0===e.width||0===e.height)return Promise.reject(new Error("Invalid output size: ".concat(e.width,"x").concat(e.height)));i.unsharpRadius>2&&(i.unsharpRadius=2),i.canceled=!1,i.cancelToken&&(i.cancelToken=i.cancelToken.then((function(t){throw i.canceled=!0,t}),(function(t){throw i.canceled=!0,t})));var a=3;return i.__destTileBorder=Math.ceil(Math.max(a,2.5*i.unsharpRadius|0)),this.init().then((function(){if(i.canceled)return i.cancelToken;if(n.features.cib)return n.__resizeViaCreateImageBitmap(t,e,i);if(!B){var r=new Error("Pica: cannot use getImageData on canvas, make sure fingerprinting protection isn't enabled");throw r.code="ERR_GET_IMAGE_DATA",r}var a=g(i.width,i.height,i.toWidth,i.toHeight,n.options.tile,i.__destTileBorder);return n.__processStages(a,t,e,i)}))},k.prototype.resizeBuffer=function(t){var e=this,r=A({},v,t);return this.init().then((function(){return e.__mathlib.resizeAndUnsharp(r)}))},k.prototype.toBlob=function(t,e,r){return e=e||"image/png",new Promise((function(n){if(t.toBlob)t.toBlob((function(t){return n(t)}),e,r);else if(t.convertToBlob)n(t.convertToBlob({type:e,quality:r}));else{for(var i=atob(t.toDataURL(e,r).split(",")[1]),a=i.length,o=new Uint8Array(a),s=0;s<a;s++)o[s]=i.charCodeAt(s);n(new Blob([o],{type:e}))}}))},k.prototype.debug=function(){},e.exports=k},{"./lib/mathlib":1,"./lib/pool":13,"./lib/stepper":14,"./lib/tiler":15,"./lib/utils":16,"./lib/worker":17,"object-assign":23,webworkify:24}]},{},[])("/index.js")},9066:t=>{t.exports=function(t){t.data&&t.name&&(t=t.data);for(var e=!0,r="",n="",i=0;i<t.length;i++){var a=t[i];if(e)a?n+=String.fromCharCode(a):e=!1;else{if(!a)throw new Error("Invalid NULL character found. 0x00 character is not permitted in tEXt content");r+=String.fromCharCode(a)}}return{keyword:n,text:r}}},9686:t=>{t.exports=function(t,e){if(t=String(t),e=String(e),!/^[\x00-\xFF]+$/.test(t)||!/^[\x00-\xFF]+$/.test(e))throw new Error("Only Latin-1 characters are permitted in PNG tEXt chunks. You might want to consider base64 encoding and/or zEXt compression");if(t.length>=80)throw new Error('Keyword "'+t+'" is longer than the 79-character limit imposed by the PNG specification');for(var r,n=t.length+e.length+1,i=new Uint8Array(n),a=0,o=0;o<t.length;o++){if(!(r=t.charCodeAt(o)))throw new Error("0x00 character is not permitted in tEXt keywords");i[a++]=r}i[a++]=0;for(var s=0;s<e.length;s++){if(!(r=e.charCodeAt(s)))throw new Error("0x00 character is not permitted in tEXt content");i[a++]=r}return{name:"tEXt",data:i}}},1194:(t,e,r)=>{e.encode=r(9686),e.decode=r(9066)},3434:(t,e,r)=>{var n=r(5714),i=r(6233);t.exports=function(t){var e,r=8,h=r;for(e=0;e<t.length;e++)r+=t[e].data.length,r+=12;var A=new Uint8Array(r);for(A[0]=137,A[1]=80,A[2]=78,A[3]=71,A[4]=13,A[5]=10,A[6]=26,A[7]=10,e=0;e<t.length;e++){var u=t[e],f=u.name,l=u.data,c=l.length,d=[f.charCodeAt(0),f.charCodeAt(1),f.charCodeAt(2),f.charCodeAt(3)];s[0]=c,A[h++]=a[3],A[h++]=a[2],A[h++]=a[1],A[h++]=a[0],A[h++]=d[0],A[h++]=d[1],A[h++]=d[2],A[h++]=d[3];for(var g=0;g<c;)A[h++]=l[g++];var _=d.concat(n(l)),p=i.buf(_);o[0]=p,A[h++]=a[3],A[h++]=a[2],A[h++]=a[1],A[h++]=a[0]}return A};var a=new Uint8Array(4),o=new Int32Array(a.buffer),s=new Uint32Array(a.buffer)},2983:(t,e,r)=>{var n=r(6233);t.exports=function(t){if(137!==t[0])throw new Error("Invalid .png file header");if(80!==t[1])throw new Error("Invalid .png file header");if(78!==t[2])throw new Error("Invalid .png file header");if(71!==t[3])throw new Error("Invalid .png file header");if(13!==t[4])throw new Error("Invalid .png file header: possibly caused by DOS-Unix line ending conversion?");if(10!==t[5])throw new Error("Invalid .png file header: possibly caused by DOS-Unix line ending conversion?");if(26!==t[6])throw new Error("Invalid .png file header");if(10!==t[7])throw new Error("Invalid .png file header: possibly caused by DOS-Unix line ending conversion?");var e=!1,r=[],s=8;for(;s<t.length;){i[3]=t[s++],i[2]=t[s++],i[1]=t[s++],i[0]=t[s++];var h=o[0]+4,A=new Uint8Array(h);A[0]=t[s++],A[1]=t[s++],A[2]=t[s++],A[3]=t[s++];var u=String.fromCharCode(A[0])+String.fromCharCode(A[1])+String.fromCharCode(A[2])+String.fromCharCode(A[3]);if(!r.length&&"IHDR"!==u)throw new Error("IHDR header missing");if("IEND"===u){e=!0,r.push({name:u,data:new Uint8Array(0)});break}for(var f=4;f<h;f++)A[f]=t[s++];i[3]=t[s++],i[2]=t[s++],i[1]=t[s++],i[0]=t[s++];var l=a[0];if(n.buf(A)!==l)throw new Error("CRC values for "+u+" header do not match, PNG file is likely corrupted");var c=new Uint8Array(A.buffer.slice(4));r.push({name:u,data:c})}if(!e)throw new Error(".png file ended prematurely: no IEND header was found");return r};var i=new Uint8Array(4),a=new Int32Array(i.buffer),o=new Uint32Array(i.buffer)},5714:t=>{t.exports=function(t,e,r){var n=[],i=t.length;if(0===i)return n;var a=e<0?Math.max(0,e+i):e||0;for(void 0!==r&&(i=r<0?r+i:r);i-- >a;)n[i-a]=t[i];return n}},100:(t,e,r)=>{"use strict";r.r(e),r.d(e,{default:()=>d});function n(t,e){var r={};return e.forEach((function(e){Object.prototype.hasOwnProperty.call(t,e)&&(r[e]=t[e])})),r}var i={assign:function(t){for(var e,r=1;r<arguments.length;r++)for(var n in e=Object(arguments[r]))Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t},pick:n,pick_pica_resize_options:function(t){return n(t,["alpha","unsharpAmount","unsharpRadius","unsharpThreshold","cancelToken"])}};function a(t){var e={exports:{}};return t(e,e.exports),e.exports}function o(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets option of @rollup/plugin-commonjs appropriately for this require call to behave properly.')}var s=a((function(t,e){t.exports=function(){function t(e,r,n){function i(s,h){if(!r[s]){if(!e[s]){if(!h&&o)return o(s);if(a)return a(s,!0);var A=new Error("Cannot find module '"+s+"'");throw A.code="MODULE_NOT_FOUND",A}var u=r[s]={exports:{}};e[s][0].call(u.exports,(function(t){return i(e[s][1][t]||t)}),u,u.exports,t,e,r,n)}return r[s].exports}for(var a=o,s=0;s<n.length;s++)i(n[s]);return i}return t}()({1:[function(t,e,r){var n=t("inherits"),i=t("multimath"),a=t("./mm_unsharp_mask"),o=t("./mm_resize");function s(t){var e=t||[],r={js:e.indexOf("js")>=0,wasm:e.indexOf("wasm")>=0};i.call(this,r),this.features={js:r.js,wasm:r.wasm&&this.has_wasm()},this.use(a),this.use(o)}n(s,i),s.prototype.resizeAndUnsharp=function(t,e){var r=this.resize(t,e);return t.unsharpAmount&&this.unsharp_mask(r,t.toWidth,t.toHeight,t.unsharpAmount,t.unsharpRadius,t.unsharpThreshold),r},e.exports=s},{"./mm_resize":4,"./mm_unsharp_mask":9,inherits:19,multimath:20}],2:[function(t,e,r){function n(t){return t<0?0:t>255?255:t}function i(t,e,r,i,a,o){var s,h,A,u,f,l,c,d,g,_,p,m=0,w=0;for(g=0;g<i;g++){for(f=0,_=0;_<a;_++){for(l=o[f++],c=o[f++],d=m+4*l|0,s=h=A=u=0;c>0;c--)u=u+(p=o[f++])*t[d+3]|0,A=A+p*t[d+2]|0,h=h+p*t[d+1]|0,s=s+p*t[d]|0,d=d+4|0;e[w+3]=n(u+8192>>14),e[w+2]=n(A+8192>>14),e[w+1]=n(h+8192>>14),e[w]=n(s+8192>>14),w=w+4*i|0}w=4*(g+1)|0,m=(g+1)*r*4|0}}function a(t,e,r,i,a,o){var s,h,A,u,f,l,c,d,g,_,p,m=0,w=0;for(g=0;g<i;g++){for(f=0,_=0;_<a;_++){for(l=o[f++],c=o[f++],d=m+4*l|0,s=h=A=u=0;c>0;c--)u=u+(p=o[f++])*t[d+3]|0,A=A+p*t[d+2]|0,h=h+p*t[d+1]|0,s=s+p*t[d]|0,d=d+4|0;e[w+3]=n(u+8192>>14),e[w+2]=n(A+8192>>14),e[w+1]=n(h+8192>>14),e[w]=n(s+8192>>14),w=w+4*i|0}w=4*(g+1)|0,m=(g+1)*r*4|0}}e.exports={convolveHorizontally:i,convolveVertically:a}},{}],3:[function(t,e,r){e.exports="AGFzbQEAAAAADAZkeWxpbmsAAAAAAAEXA2AAAGAGf39/f39/AGAHf39/f39/fwACDwEDZW52Bm1lbW9yeQIAAAMEAwABAgYGAX8AQQALB1cFEV9fd2FzbV9jYWxsX2N0b3JzAAAIY29udm9sdmUAAQpjb252b2x2ZUhWAAIMX19kc29faGFuZGxlAwAYX193YXNtX2FwcGx5X2RhdGFfcmVsb2NzAAAK7AMDAwABC8YDAQ9/AkAgA0UNACAERQ0AA0AgDCENQQAhE0EAIQcDQCAHQQJqIQYCfyAHQQF0IAVqIgcuAQIiFEUEQEGAwAAhCEGAwAAhCUGAwAAhCkGAwAAhCyAGDAELIBIgBy4BAGohCEEAIQsgFCEHQQAhDiAGIQlBACEPQQAhEANAIAUgCUEBdGouAQAiESAAIAhBAnRqKAIAIgpBGHZsIBBqIRAgCkH/AXEgEWwgC2ohCyAKQRB2Qf8BcSARbCAPaiEPIApBCHZB/wFxIBFsIA5qIQ4gCEEBaiEIIAlBAWohCSAHQQFrIgcNAAsgC0GAQGshCCAOQYBAayEJIA9BgEBrIQogEEGAQGshCyAGIBRqCyEHIAEgDUECdGogCUEOdSIGQf8BIAZB/wFIGyIGQQAgBkEAShtBCHRBgP4DcSAKQQ51IgZB/wEgBkH/AUgbIgZBACAGQQBKG0EQdEGAgPwHcSALQQ51IgZB/wEgBkH/AUgbIgZBACAGQQBKG0EYdHJyIAhBDnUiBkH/ASAGQf8BSBsiBkEAIAZBAEobcjYCACADIA1qIQ0gE0EBaiITIARHDQALIAxBAWoiDCACbCESIAMgDEcNAAsLCx4AQQAgAiADIAQgBSAAEAEgAkEAIAQgBSAGIAEQAQs="},{}],4:[function(t,e,r){e.exports={name:"resize",fn:t("./resize"),wasm_fn:t("./resize_wasm"),wasm_src:t("./convolve_wasm_base64")}},{"./convolve_wasm_base64":3,"./resize":5,"./resize_wasm":8}],5:[function(t,e,r){var n=t("./resize_filter_gen"),i=t("./convolve").convolveHorizontally,a=t("./convolve").convolveVertically;function o(t,e,r){for(var n=3,i=e*r*4|0;n<i;)t[n]=255,n=n+4|0}e.exports=function(t){var e=t.src,r=t.width,s=t.height,h=t.toWidth,A=t.toHeight,u=t.scaleX||t.toWidth/t.width,f=t.scaleY||t.toHeight/t.height,l=t.offsetX||0,c=t.offsetY||0,d=t.dest||new Uint8Array(h*A*4),g=void 0===t.quality?3:t.quality,_=t.alpha||!1,p=n(g,r,h,u,l),m=n(g,s,A,f,c),w=new Uint8Array(h*s*4);return i(e,w,r,s,h,p),a(w,d,s,h,A,m),_||o(d,h,A),d}},{"./convolve":2,"./resize_filter_gen":6}],6:[function(t,e,r){var n=t("./resize_filter_info"),i=14;function a(t){return Math.round(t*((1<<i)-1))}e.exports=function(t,e,r,i,o){var s,h,A,u,f,l,c,d,g,_,p,m,w,b,v,I,y,B=n[t].filter,E=1/i,C=Math.min(1,i),x=n[t].win/C,k=Math.floor(2*(x+1)),Q=new Int16Array((k+2)*r),D=0,M=!Q.subarray||!Q.set;for(s=0;s<r;s++){for(h=(s+.5)*E+o,A=Math.max(0,Math.floor(h-x)),f=(u=Math.min(e-1,Math.ceil(h+x)))-A+1,l=new Float32Array(f),c=new Int16Array(f),d=0,g=A,_=0;g<=u;g++,_++)d+=p=B((g+.5-h)*C),l[_]=p;for(m=0,_=0;_<l.length;_++)m+=w=l[_]/d,c[_]=a(w);for(c[r>>1]+=a(1-m),b=0;b<c.length&&0===c[b];)b++;if(b<c.length){for(v=c.length-1;v>0&&0===c[v];)v--;if(I=A+b,y=v-b+1,Q[D++]=I,Q[D++]=y,M)for(_=b;_<=v;_++)Q[D++]=c[_];else Q.set(c.subarray(b,v+1),D),D+=y}else Q[D++]=0,Q[D++]=0}return Q}},{"./resize_filter_info":7}],7:[function(t,e,r){e.exports=[{win:.5,filter:function(t){return t>=-.5&&t<.5?1:0}},{win:1,filter:function(t){if(t<=-1||t>=1)return 0;if(t>-1.1920929e-7&&t<1.1920929e-7)return 1;var e=t*Math.PI;return Math.sin(e)/e*(.54+.46*Math.cos(e/1))}},{win:2,filter:function(t){if(t<=-2||t>=2)return 0;if(t>-1.1920929e-7&&t<1.1920929e-7)return 1;var e=t*Math.PI;return Math.sin(e)/e*Math.sin(e/2)/(e/2)}},{win:3,filter:function(t){if(t<=-3||t>=3)return 0;if(t>-1.1920929e-7&&t<1.1920929e-7)return 1;var e=t*Math.PI;return Math.sin(e)/e*Math.sin(e/3)/(e/3)}}]},{}],8:[function(t,e,r){var n=t("./resize_filter_gen");function i(t,e,r){for(var n=3,i=e*r*4|0;n<i;)t[n]=255,n=n+4|0}function a(t){return new Uint8Array(t.buffer,0,t.byteLength)}var o=!0;try{o=1===new Uint32Array(new Uint8Array([1,0,0,0]).buffer)[0]}catch(t){}function s(t,e,r){if(o)e.set(a(t),r);else for(var n=r,i=0;i<t.length;i++){var s=t[i];e[n++]=255&s,e[n++]=s>>8&255}}e.exports=function(t){var e=t.src,r=t.width,a=t.height,o=t.toWidth,h=t.toHeight,A=t.scaleX||t.toWidth/t.width,u=t.scaleY||t.toHeight/t.height,f=t.offsetX||0,l=t.offsetY||0,c=t.dest||new Uint8Array(o*h*4),d=void 0===t.quality?3:t.quality,g=t.alpha||!1,_=n(d,r,o,A,f),p=n(d,a,h,u,l),m=0,w=this.__align(m+Math.max(e.byteLength,c.byteLength)),b=this.__align(w+a*o*4),v=this.__align(b+_.byteLength),I=v+p.byteLength,y=this.__instance("resize",I),B=new Uint8Array(this.__memory.buffer),E=new Uint32Array(this.__memory.buffer),C=new Uint32Array(e.buffer);return E.set(C),s(_,B,b),s(p,B,v),(y.exports.convolveHV||y.exports._convolveHV)(b,v,w,r,a,o,h),new Uint32Array(c.buffer).set(new Uint32Array(this.__memory.buffer,0,h*o)),g||i(c,o,h),c}},{"./resize_filter_gen":6}],9:[function(t,e,r){e.exports={name:"unsharp_mask",fn:t("./unsharp_mask"),wasm_fn:t("./unsharp_mask_wasm"),wasm_src:t("./unsharp_mask_wasm_base64")}},{"./unsharp_mask":10,"./unsharp_mask_wasm":11,"./unsharp_mask_wasm_base64":12}],10:[function(t,e,r){var n=t("glur/mono16");function i(t,e,r){for(var n,i,a,o,s=e*r,h=new Uint16Array(s),A=0;A<s;A++)n=t[4*A],i=t[4*A+1],a=t[4*A+2],o=n>=i&&n>=a?n:i>=a&&i>=n?i:a,h[A]=o<<8;return h}e.exports=function(t,e,r,a,o,s){var h,A,u,f,l;if(!(0===a||o<.5)){o>2&&(o=2);var c=i(t,e,r),d=new Uint16Array(c);n(d,e,r,o);for(var g=a/100*4096+.5|0,_=s<<8,p=e*r,m=0;m<p;m++)f=(h=c[m])-d[m],Math.abs(f)>=_&&(u=((A=(A=(A=h+(g*f+2048>>12))>65280?65280:A)<0?0:A)<<12)/(h=0!==h?h:1)|0,t[l=4*m]=t[l]*u+2048>>12,t[l+1]=t[l+1]*u+2048>>12,t[l+2]=t[l+2]*u+2048>>12)}}},{"glur/mono16":18}],11:[function(t,e,r){e.exports=function(t,e,r,n,i,a){if(!(0===n||i<.5)){i>2&&(i=2);var o=e*r,s=4*o,h=2*o,A=2*o,u=4*Math.max(e,r),f=32,l=0,c=s,d=c+h,g=d+A,_=g+A,p=_+u,m=this.__instance("unsharp_mask",s+h+2*A+u+f,{exp:Math.exp}),w=new Uint32Array(t.buffer);new Uint32Array(this.__memory.buffer).set(w);var b=m.exports.hsv_v16||m.exports._hsv_v16;b(l,c,e,r),(b=m.exports.blurMono16||m.exports._blurMono16)(c,d,g,_,p,e,r,i),(b=m.exports.unsharp||m.exports._unsharp)(l,l,c,d,e,r,n,a),w.set(new Uint32Array(this.__memory.buffer,0,o))}}},{}],12:[function(t,e,r){e.exports="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"},{}],13:[function(t,e,r){var n=100;function i(t,e){this.create=t,this.available=[],this.acquired={},this.lastId=1,this.timeoutId=0,this.idle=e||2e3}i.prototype.acquire=function(){var t,e=this;return 0!==this.available.length?t=this.available.pop():((t=this.create()).id=this.lastId++,t.release=function(){return e.release(t)}),this.acquired[t.id]=t,t},i.prototype.release=function(t){var e=this;delete this.acquired[t.id],t.lastUsed=Date.now(),this.available.push(t),0===this.timeoutId&&(this.timeoutId=setTimeout((function(){return e.gc()}),n))},i.prototype.gc=function(){var t=this,e=Date.now();this.available=this.available.filter((function(r){return!(e-r.lastUsed>t.idle&&(r.destroy(),1))})),0!==this.available.length?this.timeoutId=setTimeout((function(){return t.gc()}),n):this.timeoutId=0},e.exports=i},{}],14:[function(t,e,r){var n=2;e.exports=function(t,e,r,i,a,o){var s=r/t,h=i/e,A=(2*o+n+1)/a;if(A>.5)return[[r,i]];var u=Math.ceil(Math.log(Math.min(s,h))/Math.log(A));if(u<=1)return[[r,i]];for(var f=[],l=0;l<u;l++){var c=Math.round(Math.pow(Math.pow(t,u-l-1)*Math.pow(r,l+1),1/u)),d=Math.round(Math.pow(Math.pow(e,u-l-1)*Math.pow(i,l+1),1/u));f.push([c,d])}return f}},{}],15:[function(t,e,r){var n=1e-5;function i(t){var e=Math.round(t);return Math.abs(t-e)<n?e:Math.floor(t)}function a(t){var e=Math.round(t);return Math.abs(t-e)<n?e:Math.ceil(t)}e.exports=function(t){var e,r,n,o,s,h,A=t.toWidth/t.width,u=t.toHeight/t.height,f=i(t.srcTileSize*A)-2*t.destTileBorder,l=i(t.srcTileSize*u)-2*t.destTileBorder;if(f<1||l<1)throw new Error("Internal error in pica: target tile width/height is too small.");var c,d=[];for(o=0;o<t.toHeight;o+=l)for(n=0;n<t.toWidth;n+=f)(e=n-t.destTileBorder)<0&&(e=0),e+(s=n+f+t.destTileBorder-e)>=t.toWidth&&(s=t.toWidth-e),(r=o-t.destTileBorder)<0&&(r=0),r+(h=o+l+t.destTileBorder-r)>=t.toHeight&&(h=t.toHeight-r),c={toX:e,toY:r,toWidth:s,toHeight:h,toInnerX:n,toInnerY:o,toInnerWidth:f,toInnerHeight:l,offsetX:e/A-i(e/A),offsetY:r/u-i(r/u),scaleX:A,scaleY:u,x:i(e/A),y:i(r/u),width:a(s/A),height:a(h/u)},d.push(c);return d}},{}],16:[function(t,e,r){function n(t){return Object.prototype.toString.call(t)}e.exports.isCanvas=function(t){var e=n(t);return"[object HTMLCanvasElement]"===e||"[object OffscreenCanvas]"===e||"[object Canvas]"===e},e.exports.isImage=function(t){return"[object HTMLImageElement]"===n(t)},e.exports.isImageBitmap=function(t){return"[object ImageBitmap]"===n(t)},e.exports.limiter=function(t){var e=0,r=[];function n(){e<t&&r.length&&(e++,r.shift()())}return function(t){return new Promise((function(i,a){r.push((function(){t().then((function(t){i(t),e--,n()}),(function(t){a(t),e--,n()}))})),n()}))}},e.exports.cib_quality_name=function(t){switch(t){case 0:return"pixelated";case 1:return"low";case 2:return"medium"}return"high"},e.exports.cib_support=function(t){return Promise.resolve().then((function(){if("undefined"==typeof createImageBitmap)return!1;var e=t(100,100);return createImageBitmap(e,0,0,100,100,{resizeWidth:10,resizeHeight:10,resizeQuality:"high"}).then((function(t){var r=10===t.width;return t.close(),e=null,r}))})).catch((function(){return!1}))},e.exports.worker_offscreen_canvas_support=function(){return new Promise((function(t,e){if("undefined"!=typeof OffscreenCanvas){var r=btoa("(".concat(i.toString(),")(self);")),n=new Worker("data:text/javascript;base64,".concat(r));n.onmessage=function(e){return t(e.data)},n.onerror=e}else t(!1);function i(t){"undefined"!=typeof createImageBitmap?Promise.resolve().then((function(){var t=new OffscreenCanvas(10,10);return t.getContext("2d").rect(0,0,1,1),createImageBitmap(t,0,0,1,1)})).then((function(){return t.postMessage(!0)}),(function(){return t.postMessage(!1)})):t.postMessage(!1)}})).then((function(t){return t}),(function(){return!1}))},e.exports.can_use_canvas=function(t){var e=!1;try{var r=t(2,1).getContext("2d"),n=r.createImageData(2,1);n.data[0]=12,n.data[1]=23,n.data[2]=34,n.data[3]=255,n.data[4]=45,n.data[5]=56,n.data[6]=67,n.data[7]=255,r.putImageData(n,0,0),n=null,12===(n=r.getImageData(0,0,2,1)).data[0]&&23===n.data[1]&&34===n.data[2]&&255===n.data[3]&&45===n.data[4]&&56===n.data[5]&&67===n.data[6]&&255===n.data[7]&&(e=!0)}catch(t){}return e},e.exports.cib_can_use_region=function(){return new Promise((function(t){if("undefined"!=typeof createImageBitmap){var e=new Image;e.src="data:image/jpeg;base64,/9j/4QBiRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAYAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAAITAAMAAAABAAEAAAAAAAAAAABIAAAAAQAAAEgAAAAB/9sAQwAEAwMEAwMEBAMEBQQEBQYKBwYGBgYNCQoICg8NEBAPDQ8OERMYFBESFxIODxUcFRcZGRsbGxAUHR8dGh8YGhsa/9sAQwEEBQUGBQYMBwcMGhEPERoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoa/8IAEQgAAQACAwERAAIRAQMRAf/EABQAAQAAAAAAAAAAAAAAAAAAAAf/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAF/P//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAQUCf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQMBAT8Bf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIBAT8Bf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEABj8Cf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAT8hf//aAAwDAQACAAMAAAAQH//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQMBAT8Qf//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQIBAT8Qf//EABQQAQAAAAAAAAAAAAAAAAAAAAD/2gAIAQEAAT8Qf//Z",e.onload=function(){createImageBitmap(e,0,0,e.width,e.height).then((function(r){r.width===e.width&&r.height===e.height?t(!0):t(!1)}),(function(){return t(!1)}))},e.onerror=function(){return t(!1)}}else t(!1)}))}},{}],17:[function(t,e,r){e.exports=function(){var e,r=t("./mathlib");onmessage=function(t){var n=t.data.opts,i=!1;if(!n.src&&n.srcBitmap){var a=new OffscreenCanvas(n.width,n.height),o=a.getContext("2d",{alpha:Boolean(n.alpha)});o.drawImage(n.srcBitmap,0,0),n.src=o.getImageData(0,0,n.width,n.height).data,a.width=a.height=0,a=null,n.srcBitmap.close(),n.srcBitmap=null,i=!0}e||(e=new r(t.data.features));var s=e.resizeAndUnsharp(n);if(i){var h=new ImageData(new Uint8ClampedArray(s),n.toWidth,n.toHeight),A=new OffscreenCanvas(n.toWidth,n.toHeight);A.getContext("2d",{alpha:Boolean(n.alpha)}).putImageData(h,0,0),createImageBitmap(A).then((function(t){postMessage({bitmap:t},[t])}))}else postMessage({data:s},[s.buffer])}}},{"./mathlib":1}],18:[function(t,e,r){var n,i,a,o,s,h;function A(t){t<.5&&(t=.5);var e=Math.exp(.527076)/t,r=Math.exp(-e),A=Math.exp(-2*e),u=(1-r)*(1-r)/(1+2*e*r-A);return n=u,i=u*(e-1)*r,a=u*(e+1)*r,o=-u*A,s=2*r,h=-A,new Float32Array([n,i,a,o,s,h,(n+i)/(1-s-h),(a+o)/(1-s-h)])}function u(t,e,r,n,i,a){var o,s,h,A,u,f,l,c,d,g,_,p,m,w;for(d=0;d<a;d++){for(l=d,c=0,A=u=(o=t[f=d*i])*n[6],_=n[0],p=n[1],m=n[4],w=n[5],g=0;g<i;g++)h=(s=t[f])*_+o*p+A*m+u*w,u=A,A=h,o=s,r[c]=A,c++,f++;for(c--,l+=a*(i-1),A=u=(o=t[--f])*n[7],s=o,_=n[2],p=n[3],g=i-1;g>=0;g--)h=s*_+o*p+A*m+u*w,u=A,A=h,o=s,s=t[f],e[l]=r[c]+A,f--,c--,l-=a}}function f(t,e,r,n){if(n){var i=new Uint16Array(t.length),a=new Float32Array(Math.max(e,r)),o=A(n);u(t,i,a,o,e,r),u(i,t,a,o,r,e)}}e.exports=f},{}],19:[function(t,e,r){"function"==typeof Object.create?e.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},{}],20:[function(t,e,r){var n=t("object-assign"),i=t("./lib/base64decode"),a=t("./lib/wa_detect"),o={js:!0,wasm:!0};function s(t){if(!(this instanceof s))return new s(t);var e=n({},o,t||{});if(this.options=e,this.__cache={},this.__init_promise=null,this.__modules=e.modules||{},this.__memory=null,this.__wasm={},this.__isLE=1===new Uint32Array(new Uint8Array([1,0,0,0]).buffer)[0],!this.options.js&&!this.options.wasm)throw new Error('mathlib: at least "js" or "wasm" should be enabled')}s.prototype.has_wasm=a,s.prototype.use=function(t){return this.__modules[t.name]=t,this.options.wasm&&this.has_wasm()&&t.wasm_fn?this[t.name]=t.wasm_fn:this[t.name]=t.fn,this},s.prototype.init=function(){if(this.__init_promise)return this.__init_promise;if(!this.options.js&&this.options.wasm&&!this.has_wasm())return Promise.reject(new Error('mathlib: only "wasm" was enabled, but it\'s not supported'));var t=this;return this.__init_promise=Promise.all(Object.keys(t.__modules).map((function(e){var r=t.__modules[e];return t.options.wasm&&t.has_wasm()&&r.wasm_fn?t.__wasm[e]?null:WebAssembly.compile(t.__base64decode(r.wasm_src)).then((function(r){t.__wasm[e]=r})):null}))).then((function(){return t})),this.__init_promise},s.prototype.__base64decode=i,s.prototype.__reallocate=function(t){if(!this.__memory)return this.__memory=new WebAssembly.Memory({initial:Math.ceil(t/65536)}),this.__memory;var e=this.__memory.buffer.byteLength;return e<t&&this.__memory.grow(Math.ceil((t-e)/65536)),this.__memory},s.prototype.__instance=function(t,e,r){if(e&&this.__reallocate(e),!this.__wasm[t]){var i=this.__modules[t];this.__wasm[t]=new WebAssembly.Module(this.__base64decode(i.wasm_src))}if(!this.__cache[t]){var a={memoryBase:0,memory:this.__memory,tableBase:0,table:new WebAssembly.Table({initial:0,element:"anyfunc"})};this.__cache[t]=new WebAssembly.Instance(this.__wasm[t],{env:n(a,r||{})})}return this.__cache[t]},s.prototype.__align=function(t,e){var r=t%(e=e||8);return t+(r?e-r:0)},e.exports=s},{"./lib/base64decode":21,"./lib/wa_detect":22,"object-assign":23}],21:[function(t,e,r){var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";e.exports=function(t){for(var e=t.replace(/[\r\n=]/g,""),r=e.length,i=new Uint8Array(3*r>>2),a=0,o=0,s=0;s<r;s++)s%4==0&&s&&(i[o++]=a>>16&255,i[o++]=a>>8&255,i[o++]=255&a),a=a<<6|n.indexOf(e.charAt(s));var h=r%4*6;return 0===h?(i[o++]=a>>16&255,i[o++]=a>>8&255,i[o++]=255&a):18===h?(i[o++]=a>>10&255,i[o++]=a>>2&255):12===h&&(i[o++]=a>>4&255),i}},{}],22:[function(t,e,r){var n;e.exports=function(){if(void 0!==n)return n;if(n=!1,"undefined"==typeof WebAssembly)return n;try{var t=new Uint8Array([0,97,115,109,1,0,0,0,1,6,1,96,1,127,1,127,3,2,1,0,5,3,1,0,1,7,8,1,4,116,101,115,116,0,0,10,16,1,14,0,32,0,65,1,54,2,0,32,0,40,2,0,11]),e=new WebAssembly.Module(t);return 0!==new WebAssembly.Instance(e,{}).exports.test(4)&&(n=!0),n}catch(t){}return n}},{}],23:[function(t,e,r){var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function o(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}function s(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}e.exports=s()?Object.assign:function(t,e){for(var r,s,h=o(t),A=1;A<arguments.length;A++){for(var u in r=Object(arguments[A]))i.call(r,u)&&(h[u]=r[u]);if(n){s=n(r);for(var f=0;f<s.length;f++)a.call(r,s[f])&&(h[s[f]]=r[s[f]])}}return h}},{}],24:[function(t,e,r){var n=arguments[3],i=arguments[4],a=arguments[5],o=JSON.stringify;e.exports=function(t,e){for(var r,s=Object.keys(a),h=0,A=s.length;h<A;h++){var u=s[h],f=a[u].exports;if(f===t||f&&f.default===t){r=u;break}}if(!r){r=Math.floor(Math.pow(16,8)*Math.random()).toString(16);var l={};for(h=0,A=s.length;h<A;h++)l[u=s[h]]=u;i[r]=["function(require,module,exports){"+t+"(self); }",l]}var c=Math.floor(Math.pow(16,8)*Math.random()).toString(16),d={};d[r]=r,i[c]=["function(require,module,exports){var f = require("+o(r)+");(f.default ? f.default : f)(self);}",d];var g={};function _(t){for(var e in g[t]=!0,i[t][1]){var r=i[t][1][e];g[r]||_(r)}}_(c);var p="("+n+")({"+Object.keys(g).map((function(t){return o(t)+":["+i[t][0]+","+o(i[t][1])+"]"})).join(",")+"},{},["+o(c)+"])",m=window.URL||window.webkitURL||window.mozURL||window.msURL,w=new Blob([p],{type:"text/javascript"});if(e&&e.bare)return w;var b=m.createObjectURL(w),v=new Worker(b);return v.objectURL=b,v}},{}],"/index.js":[function(t,e,r){function n(t,e){return h(t)||s(t,e)||a(t,e)||i()}function i(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function a(t,e){if(t){if("string"==typeof t)return o(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(t,e):void 0}}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function s(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,a=[],o=!0,s=!1;try{for(r=r.call(t);!(o=(n=r.next()).done)&&(a.push(n.value),!e||a.length!==e);o=!0);}catch(t){s=!0,i=t}finally{try{o||null==r.return||r.return()}finally{if(s)throw i}}return a}}function h(t){if(Array.isArray(t))return t}var A=t("object-assign"),u=t("webworkify"),f=t("./lib/mathlib"),l=t("./lib/pool"),c=t("./lib/utils"),d=t("./lib/worker"),g=t("./lib/stepper"),_=t("./lib/tiler"),p={},m=!1;try{"undefined"!=typeof navigator&&navigator.userAgent&&(m=navigator.userAgent.indexOf("Safari")>=0)}catch(t){}var w=1;"undefined"!=typeof navigator&&(w=Math.min(navigator.hardwareConcurrency||1,4));var b={tile:1024,concurrency:w,features:["js","wasm","ww"],idle:2e3,createCanvas:function(t,e){var r=document.createElement("canvas");return r.width=t,r.height=e,r}},v={quality:3,alpha:!1,unsharpAmount:0,unsharpRadius:0,unsharpThreshold:0},I=!1,y=!1,B=!1,E=!1,C=!1;function x(){return{value:u(d),destroy:function(){if(this.value.terminate(),"undefined"!=typeof window){var t=window.URL||window.webkitURL||window.mozURL||window.msURL;t&&t.revokeObjectURL&&this.value.objectURL&&t.revokeObjectURL(this.value.objectURL)}}}}function k(t){if(!(this instanceof k))return new k(t);this.options=A({},b,t||{});var e="lk_".concat(this.options.concurrency);this.__limit=p[e]||c.limiter(this.options.concurrency),p[e]||(p[e]=this.__limit),this.features={js:!1,wasm:!1,cib:!1,ww:!1},this.__workersPool=null,this.__requested_features=[],this.__mathlib=null}k.prototype.init=function(){var e=this;if(this.__initPromise)return this.__initPromise;if("undefined"!=typeof ImageData&&"undefined"!=typeof Uint8ClampedArray)try{new ImageData(new Uint8ClampedArray(400),10,10),I=!0}catch(t){}"undefined"!=typeof ImageBitmap&&(ImageBitmap.prototype&&ImageBitmap.prototype.close?y=!0:this.debug("ImageBitmap does not support .close(), disabled"));var r=this.options.features.slice();if(r.indexOf("all")>=0&&(r=["cib","wasm","js","ww"]),this.__requested_features=r,this.__mathlib=new f(r),r.indexOf("ww")>=0&&"undefined"!=typeof window&&"Worker"in window)try{t("webworkify")((function(){})).terminate(),this.features.ww=!0;var n="wp_".concat(JSON.stringify(this.options));p[n]?this.__workersPool=p[n]:(this.__workersPool=new l(x,this.options.idle),p[n]=this.__workersPool)}catch(t){}var i,a,o=this.__mathlib.init().then((function(t){A(e.features,t.features)}));i=y?c.cib_support(this.options.createCanvas).then((function(t){e.features.cib&&r.indexOf("cib")<0?e.debug("createImageBitmap() resize supported, but disabled by config"):r.indexOf("cib")>=0&&(e.features.cib=t)})):Promise.resolve(!1),B=c.can_use_canvas(this.options.createCanvas),a=(a=y&&I&&-1!==r.indexOf("ww")?c.worker_offscreen_canvas_support():Promise.resolve(!1)).then((function(t){E=t}));var s=c.cib_can_use_region().then((function(t){C=t}));return this.__initPromise=Promise.all([o,i,a,s]).then((function(){return e})),this.__initPromise},k.prototype.__invokeResize=function(t,e){var r=this;return e.__mathCache=e.__mathCache||{},Promise.resolve().then((function(){return r.features.ww?new Promise((function(n,i){var a=r.__workersPool.acquire();e.cancelToken&&e.cancelToken.catch((function(t){return i(t)})),a.value.onmessage=function(t){a.release(),t.data.err?i(t.data.err):n(t.data)};var o=[];t.src&&o.push(t.src.buffer),t.srcBitmap&&o.push(t.srcBitmap),a.value.postMessage({opts:t,features:r.__requested_features,preload:{wasm_nodule:r.__mathlib.__}},o)})):{data:r.__mathlib.resizeAndUnsharp(t,e.__mathCache)}}))},k.prototype.__extractTileData=function(t,e,r,n,i){if(this.features.ww&&E&&(c.isCanvas(e)||C))return this.debug("Create tile for OffscreenCanvas"),createImageBitmap(n.srcImageBitmap||e,t.x,t.y,t.width,t.height).then((function(t){return i.srcBitmap=t,i}));if(c.isCanvas(e))return n.srcCtx||(n.srcCtx=e.getContext("2d",{alpha:Boolean(r.alpha)})),this.debug("Get tile pixel data"),i.src=n.srcCtx.getImageData(t.x,t.y,t.width,t.height).data,i;this.debug("Draw tile imageBitmap/image to temporary canvas");var a=this.options.createCanvas(t.width,t.height),o=a.getContext("2d",{alpha:Boolean(r.alpha)});return o.globalCompositeOperation="copy",o.drawImage(n.srcImageBitmap||e,t.x,t.y,t.width,t.height,0,0,t.width,t.height),this.debug("Get tile pixel data"),i.src=o.getImageData(0,0,t.width,t.height).data,a.width=a.height=0,i},k.prototype.__landTileData=function(t,e,r){var n;if(this.debug("Convert raw rgba tile result to ImageData"),e.bitmap)return r.toCtx.drawImage(e.bitmap,t.toX,t.toY),null;if(I)n=new ImageData(new Uint8ClampedArray(e.data),t.toWidth,t.toHeight);else if((n=r.toCtx.createImageData(t.toWidth,t.toHeight)).data.set)n.data.set(e.data);else for(var i=n.data.length-1;i>=0;i--)n.data[i]=e.data[i];return this.debug("Draw tile"),m?r.toCtx.putImageData(n,t.toX,t.toY,t.toInnerX-t.toX,t.toInnerY-t.toY,t.toInnerWidth+1e-5,t.toInnerHeight+1e-5):r.toCtx.putImageData(n,t.toX,t.toY,t.toInnerX-t.toX,t.toInnerY-t.toY,t.toInnerWidth,t.toInnerHeight),null},k.prototype.__tileAndResize=function(t,e,r){var n=this,i={srcCtx:null,srcImageBitmap:null,isImageBitmapReused:!1,toCtx:null},a=function(e){return n.__limit((function(){if(r.canceled)return r.cancelToken;var a={width:e.width,height:e.height,toWidth:e.toWidth,toHeight:e.toHeight,scaleX:e.scaleX,scaleY:e.scaleY,offsetX:e.offsetX,offsetY:e.offsetY,quality:r.quality,alpha:r.alpha,unsharpAmount:r.unsharpAmount,unsharpRadius:r.unsharpRadius,unsharpThreshold:r.unsharpThreshold};return n.debug("Invoke resize math"),Promise.resolve(a).then((function(a){return n.__extractTileData(e,t,r,i,a)})).then((function(t){return n.debug("Invoke resize math"),n.__invokeResize(t,r)})).then((function(t){return r.canceled?r.cancelToken:(i.srcImageData=null,n.__landTileData(e,t,i))}))}))};return Promise.resolve().then((function(){if(i.toCtx=e.getContext("2d",{alpha:Boolean(r.alpha)}),c.isCanvas(t))return null;if(c.isImageBitmap(t))return i.srcImageBitmap=t,i.isImageBitmapReused=!0,null;if(c.isImage(t))return y?(n.debug("Decode image via createImageBitmap"),createImageBitmap(t).then((function(t){i.srcImageBitmap=t})).catch((function(t){return null}))):null;throw new Error('Pica: ".from" should be Image, Canvas or ImageBitmap')})).then((function(){if(r.canceled)return r.cancelToken;n.debug("Calculate tiles");var t=_({width:r.width,height:r.height,srcTileSize:n.options.tile,toWidth:r.toWidth,toHeight:r.toHeight,destTileBorder:r.__destTileBorder}).map((function(t){return a(t)}));function o(t){t.srcImageBitmap&&(t.isImageBitmapReused||t.srcImageBitmap.close(),t.srcImageBitmap=null)}return n.debug("Process tiles"),Promise.all(t).then((function(){return n.debug("Finished!"),o(i),e}),(function(t){throw o(i),t}))}))},k.prototype.__processStages=function(t,e,r,i){var a=this;if(i.canceled)return i.cancelToken;var o,s=n(t.shift(),2),h=s[0],u=s[1],f=0===t.length;return i=A({},i,{toWidth:h,toHeight:u,quality:f?i.quality:Math.min(1,i.quality)}),f||(o=this.options.createCanvas(h,u)),this.__tileAndResize(e,f?r:o,i).then((function(){return f?r:(i.width=h,i.height=u,a.__processStages(t,o,r,i))})).then((function(t){return o&&(o.width=o.height=0),t}))},k.prototype.__resizeViaCreateImageBitmap=function(t,e,r){var n=this,i=e.getContext("2d",{alpha:Boolean(r.alpha)});return this.debug("Resize via createImageBitmap()"),createImageBitmap(t,{resizeWidth:r.toWidth,resizeHeight:r.toHeight,resizeQuality:c.cib_quality_name(r.quality)}).then((function(t){if(r.canceled)return r.cancelToken;if(!r.unsharpAmount)return i.drawImage(t,0,0),t.close(),i=null,n.debug("Finished!"),e;n.debug("Unsharp result");var a=n.options.createCanvas(r.toWidth,r.toHeight),o=a.getContext("2d",{alpha:Boolean(r.alpha)});o.drawImage(t,0,0),t.close();var s=o.getImageData(0,0,r.toWidth,r.toHeight);return n.__mathlib.unsharp_mask(s.data,r.toWidth,r.toHeight,r.unsharpAmount,r.unsharpRadius,r.unsharpThreshold),i.putImageData(s,0,0),a.width=a.height=0,s=o=a=i=null,n.debug("Finished!"),e}))},k.prototype.resize=function(t,e,r){var n=this;this.debug("Start resize...");var i=A({},v);if(isNaN(r)?r&&(i=A(i,r)):i=A(i,{quality:r}),i.toWidth=e.width,i.toHeight=e.height,i.width=t.naturalWidth||t.width,i.height=t.naturalHeight||t.height,0===e.width||0===e.height)return Promise.reject(new Error("Invalid output size: ".concat(e.width,"x").concat(e.height)));i.unsharpRadius>2&&(i.unsharpRadius=2),i.canceled=!1,i.cancelToken&&(i.cancelToken=i.cancelToken.then((function(t){throw i.canceled=!0,t}),(function(t){throw i.canceled=!0,t})));var a=3;return i.__destTileBorder=Math.ceil(Math.max(a,2.5*i.unsharpRadius|0)),this.init().then((function(){if(i.canceled)return i.cancelToken;if(n.features.cib)return n.__resizeViaCreateImageBitmap(t,e,i);if(!B){var r=new Error("Pica: cannot use getImageData on canvas, make sure fingerprinting protection isn't enabled");throw r.code="ERR_GET_IMAGE_DATA",r}var a=g(i.width,i.height,i.toWidth,i.toHeight,n.options.tile,i.__destTileBorder);return n.__processStages(a,t,e,i)}))},k.prototype.resizeBuffer=function(t){var e=this,r=A({},v,t);return this.init().then((function(){return e.__mathlib.resizeAndUnsharp(r)}))},k.prototype.toBlob=function(t,e,r){return e=e||"image/png",new Promise((function(n){if(t.toBlob)t.toBlob((function(t){return n(t)}),e,r);else if(t.convertToBlob)n(t.convertToBlob({type:e,quality:r}));else{for(var i=atob(t.toDataURL(e,r).split(",")[1]),a=i.length,o=new Uint8Array(a),s=0;s<a;s++)o[s]=i.charCodeAt(s);n(new Blob([o],{type:e}))}}))},k.prototype.debug=function(){},e.exports=k},{"./lib/mathlib":1,"./lib/pool":13,"./lib/stepper":14,"./lib/tiler":15,"./lib/utils":16,"./lib/worker":17,"object-assign":23,webworkify:24}]},{},[])("/index.js")})),h=a((function(t){function e(t,e){var r=new Error(t);return r.code=e,r}function r(t){for(var e=t.toString(16).toUpperCase(),r=2-e.length;r>0;r--)e="0"+e;return"0x"+e}function n(t){try{return decodeURIComponent(escape(t))}catch(e){return t}}function i(t){return"[object Uint8Array]"===Object.prototype.toString.call(t)}function a(t,r,n){this.input=t.subarray(r,n),this.start=r;var i=String.fromCharCode.apply(null,this.input.subarray(0,4));if("II*\0"!==i&&"MM\0*"!==i)throw e("invalid TIFF signature","EBADDATA");this.big_endian="M"===i[0]}a.prototype.each=function(t){this.aborted=!1;var e=this.read_uint32(4);for(this.ifds_to_read=[{id:0,offset:e}];this.ifds_to_read.length>0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,t)}},a.prototype.filter=function(t){var r={ifd0:{id:0,entries:[]}};this.each((function(e){(!1!==t(e)||e.is_subifd_link)&&(e.is_subifd_link&&1!==e.count&&4!==e.format||(r["ifd"+e.ifd]||(r["ifd"+e.ifd]={id:e.ifd,entries:[]}),r["ifd"+e.ifd].entries.push(e)))})),delete r.ifd1;var n=8;Object.keys(r).forEach((function(t){n+=2,r[t].entries.forEach((function(t){n+=12+(t.data_length>4?2*Math.ceil(t.data_length/2):0)})),n+=4})),this.output=new Uint8Array(n),this.output[0]=this.output[1]=(this.big_endian?"M":"I").charCodeAt(0),this.write_uint16(2,42);var i=8,a=this;if(this.write_uint32(4,i),Object.keys(r).forEach((function(t){r[t].written_offset=i;var e=i,n=e+2+12*r[t].entries.length+4;i=n,a.write_uint16(e,r[t].entries.length),r[t].entries.sort((function(t,e){return t.tag-e.tag})).forEach((function(t,n){var o=e+2+12*n;a.write_uint16(o,t.tag),a.write_uint16(o+2,t.format),a.write_uint32(o+4,t.count),t.is_subifd_link?r["ifd"+t.tag]&&(r["ifd"+t.tag].link_offset=o+8):t.data_length<=4?a.output.set(a.input.subarray(t.data_offset-a.start,t.data_offset-a.start+4),o+8):(a.write_uint32(o+8,i),a.output.set(a.input.subarray(t.data_offset-a.start,t.data_offset-a.start+t.data_length),i),i+=2*Math.ceil(t.data_length/2))}));var o=r["ifd"+(r[t].id+1)];o&&(o.link_offset=n-4)})),Object.keys(r).forEach((function(t){r[t].written_offset&&r[t].link_offset&&a.write_uint32(r[t].link_offset,r[t].written_offset)})),this.output.length!==i)throw e("internal error: incorrect buffer size allocated");return this.output},a.prototype.read_uint16=function(t){var r=this.input;if(t+2>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?256*r[t]+r[t+1]:r[t]+256*r[t+1]},a.prototype.read_uint32=function(t){var r=this.input;if(t+4>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?16777216*r[t]+65536*r[t+1]+256*r[t+2]+r[t+3]:r[t]+256*r[t+1]+65536*r[t+2]+16777216*r[t+3]},a.prototype.write_uint16=function(t,e){var r=this.output;this.big_endian?(r[t]=e>>>8&255,r[t+1]=255&e):(r[t]=255&e,r[t+1]=e>>>8&255)},a.prototype.write_uint32=function(t,e){var r=this.output;this.big_endian?(r[t]=e>>>24&255,r[t+1]=e>>>16&255,r[t+2]=e>>>8&255,r[t+3]=255&e):(r[t]=255&e,r[t+1]=e>>>8&255,r[t+2]=e>>>16&255,r[t+3]=e>>>24&255)},a.prototype.is_subifd_link=function(t,e){return 0===t&&34665===e||0===t&&34853===e||34665===t&&40965===e},a.prototype.exif_format_length=function(t){switch(t){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}},a.prototype.exif_format_read=function(t,e){var r;switch(t){case 1:case 2:return r=this.input[e];case 6:return(r=this.input[e])|33554430*(128&r);case 3:return r=this.read_uint16(e);case 8:return(r=this.read_uint16(e))|131070*(32768&r);case 4:return r=this.read_uint32(e);case 9:return 0|(r=this.read_uint32(e));default:return null}},a.prototype.scan_ifd=function(t,r,i){var a=this.read_uint16(r);r+=2;for(var o=0;o<a;o++){var s=this.read_uint16(r),h=this.read_uint16(r+2),A=this.read_uint32(r+4),u=this.exif_format_length(h),f=A*u,l=f<=4?r+8:this.read_uint32(r+8),c=!1;if(l+f>this.input.length)throw e("unexpected EOF","EBADDATA");for(var d=[],g=l,_=0;_<A;_++,g+=u){var p=this.exif_format_read(h,g);if(null===p){d=null;break}d.push(p)}if(Array.isArray(d)&&2===h){try{d=n(String.fromCharCode.apply(null,d))}catch(t){d=null}d&&"\0"===d[d.length-1]&&(d=d.slice(0,-1))}if(this.is_subifd_link(t,s)&&Array.isArray(d)&&Number.isInteger(d[0])&&d[0]>0&&(this.ifds_to_read.push({id:s,offset:d[0]}),c=!0),!1===i({is_big_endian:this.big_endian,ifd:t,tag:s,format:h,count:A,entry_offset:r+this.start,data_length:f,data_offset:l+this.start,value:d,is_subifd_link:c}))return void(this.aborted=!0);r+=12}0===t&&this.ifds_to_read.push({id:1,offset:this.read_uint32(r)})},t.exports.is_jpeg=function(t){return t.length>=4&&255===t[0]&&216===t[1]&&255===t[2]},t.exports.jpeg_segments_each=function(n,a){if(!i(n))throw e("Invalid argument (jpeg_bin), Uint8Array expected","EINVAL");if("function"!=typeof a)throw e("Invalid argument (on_segment), Function expected","EINVAL");if(!t.exports.is_jpeg(n))throw e("Unknown file format","ENOTJPEG");for(var o=0,s=n.length,h=!1;;){var A,u;if(o+1>=s)throw e("Unexpected EOF","EBADDATA");var f=n[o],l=n[o+1];if(255===f&&255===l)A=255,u=1;else if(255===f&&0!==l){if(u=2,208<=(A=l)&&A<=217||1===A);else{if(o+3>=s)throw e("Unexpected EOF","EBADDATA");if((u+=256*n[o+2]+n[o+3])<2)throw e("Invalid segment length","EBADDATA");if(o+u-1>=s)throw e("Unexpected EOF","EBADDATA")}h&&(A>=208&&A<=215||(h=!1)),218===A&&(h=!0)}else{if(!h)throw e("Unexpected byte at segment start: "+r(f)+" (offset "+r(o)+")","EBADDATA");for(var c=o+1;;c++){if(c>=s)throw e("Unexpected EOF","EBADDATA");if(255===n[c]){if(c+1>=s)throw e("Unexpected EOF","EBADDATA");if(0!==n[c+1]){A=0,u=c-o;break}}}}if(!1===a({code:A,offset:o,length:u}))break;if(217===A)break;o+=u}},t.exports.jpeg_segments_filter=function(r,n){if(!i(r))throw e("Invalid argument (jpeg_bin), Uint8Array expected","EINVAL");if("function"!=typeof n)throw e("Invalid argument (on_segment), Function expected","EINVAL");var a=[],o=0;t.exports.jpeg_segments_each(r,(function(t){var e=n(t);if(i(e))a.push({data:e}),o+=e.length;else if(Array.isArray(e))e.filter(i).forEach((function(t){a.push({data:t}),o+=t.length}));else if(!1!==e){var r={start:t.offset,end:t.offset+t.length};a.length>0&&a[a.length-1].end===r.start?a[a.length-1].end=r.end:a.push(r),o+=t.length}}));var s=new Uint8Array(o),h=0;return a.forEach((function(t){var e=t.data||r.subarray(t.start,t.end);s.set(e,h),h+=e.length})),s},t.exports.jpeg_exif_tags_each=function(r,n){if(!i(r))throw e("Invalid argument (jpeg_bin), Uint8Array expected","EINVAL");if("function"!=typeof n)throw e("Invalid argument (on_exif_entry), Function expected","EINVAL");t.exports.jpeg_segments_each(r,(function(t){return 218!==t.code&&(225===t.code&&t.length>=10&&69===r[t.offset+4]&&120===r[t.offset+5]&&105===r[t.offset+6]&&102===r[t.offset+7]&&0===r[t.offset+8]&&0===r[t.offset+9]?(new a(r,t.offset+10,t.offset+t.length).each(n),!1):void 0)}))},t.exports.jpeg_exif_tags_filter=function(r,n){if(!i(r))throw e("Invalid argument (jpeg_bin), Uint8Array expected","EINVAL");if("function"!=typeof n)throw e("Invalid argument (on_exif_entry), Function expected","EINVAL");var o=!1;return t.exports.jpeg_segments_filter(r,(function(t){if(!o&&(218===t.code&&(o=!0),225===t.code&&t.length>=10&&69===r[t.offset+4]&&120===r[t.offset+5]&&105===r[t.offset+6]&&102===r[t.offset+7]&&0===r[t.offset+8]&&0===r[t.offset+9])){var e=new a(r,t.offset+10,t.offset+t.length).filter(n);if(!e)return!1;var i=new Uint8Array(10);return i.set(r.slice(t.offset,t.offset+10)),i[2]=e.length+8>>>8&255,i[3]=e.length+8&255,o=!0,[i,e]}}))},t.exports.jpeg_add_comment=function(e,r){var n=!1,i=0;return t.exports.jpeg_segments_filter(e,(function(t){if(!(1===++i&&216===t.code||2===i&&224===t.code||n)){r=function(t){try{return unescape(encodeURIComponent(t))}catch(e){return t}}(r);var a=new Uint8Array(5+r.length),o=0;return a[o++]=255,a[o++]=254,a[o++]=r.length+3>>>8&255,a[o++]=r.length+3&255,r.split("").forEach((function(t){a[o++]=255&t.charCodeAt(0)})),a[o++]=0,n=!0,[a,e.subarray(t.offset,t.offset+t.length)]}}))}}));function A(t){return this._getUint8Array(t.blob).then((function(e){if(t.is_jpeg=h.is_jpeg(e),!t.is_jpeg)return Promise.resolve(t);t.orig_blob=t.blob;try{var r,n;if(h.jpeg_exif_tags_each(e,(function(e){if(0===e.ifd&&274===e.tag&&Array.isArray(e.value))return t.orientation=e.value[0]||1,r=e.is_big_endian,n=e.data_offset,!1})),n){var i=r?new Uint8Array([0,1]):new Uint8Array([1,0]);t.blob=new Blob([e.slice(0,n),i,e.slice(n+2)],{type:"image/jpeg"})}}catch(t){}return t}))}function u(t){if(!t.is_jpeg)return Promise.resolve(t);var e,r=t.orientation-1;if(!r)return Promise.resolve(t);var n=(e=4&r?this.pica.options.createCanvas(t.out_canvas.height,t.out_canvas.width):this.pica.options.createCanvas(t.out_canvas.width,t.out_canvas.height)).getContext("2d");return n.save(),1&r&&n.transform(-1,0,0,1,e.width,0),2&r&&n.transform(-1,0,0,-1,e.width,e.height),4&r&&n.transform(0,1,1,0,0,0),n.drawImage(t.out_canvas,0,0),n.restore(),t.out_canvas.width=t.out_canvas.height=0,t.out_canvas=e,Promise.resolve(t)}function f(t){return t.is_jpeg?Promise.all([this._getUint8Array(t.blob),this._getUint8Array(t.out_blob)]).then((function(e){var r=e[0],n=e[1];if(!h.is_jpeg(r))return Promise.resolve(t);var i=[];return h.jpeg_segments_each(r,(function(t){if(218===t.code)return!1;i.push(t)})),i=i.filter((function(t){return 226!==t.code&&(t.code>=224&&t.code<240||254===t.code)})).map((function(t){return r.slice(t.offset,t.offset+t.length)})),t.out_blob=new Blob([n.slice(0,2)].concat(i).concat([n.slice(20)]),{type:"image/jpeg"}),t})):Promise.resolve(t)}var l={jpeg_patch_exif:A,jpeg_rotate_canvas:u,jpeg_attach_orig_segments:f,assign:function(t){t.before("_blob_to_image",A),t.after("_transform",u),t.after("_create_blob",f)}};function c(t){if(!(this instanceof c))return new c(t);t=t||{},this.pica=t.pica||s({}),this.initialized=!1,this.utils=i}c.prototype.use=function(t){var e=[this].concat(Array.prototype.slice.call(arguments,1));return t.apply(t,e),this},c.prototype.init=function(){this.use(l.assign)},c.prototype.toBlob=function(t,e){var r={blob:t,opts:i.assign({max:1/0},e)};return this.initialized||(this.init(),this.initialized=!0),Promise.resolve(r).then(this._blob_to_image).then(this._calculate_size).then(this._transform).then(this._cleanup).then(this._create_blob).then((function(t){return t.out_canvas.width=t.out_canvas.height=0,t.out_blob}))},c.prototype.toCanvas=function(t,e){var r={blob:t,opts:i.assign({max:1/0},e)};return this.initialized||(this.init(),this.initialized=!0),Promise.resolve(r).then(this._blob_to_image).then(this._calculate_size).then(this._transform).then(this._cleanup).then((function(t){return t.out_canvas}))},c.prototype.before=function(t,e){if(!this[t])throw new Error('Method "'+t+'" does not exist');if("function"!=typeof e)throw new Error('Invalid argument "fn", function expected');var r=this[t],n=this;return this[t]=function(t){return e.call(n,t).then((function(t){return r.call(n,t)}))},this},c.prototype.after=function(t,e){if(!this[t])throw new Error('Method "'+t+'" does not exist');if("function"!=typeof e)throw new Error('Invalid argument "fn", function expected');var r=this[t],n=this;return this[t]=function(t){return r.call(n,t).then((function(t){return e.call(n,t)}))},this},c.prototype._blob_to_image=function(t){var e=window.URL||window.webkitURL||window.mozURL||window.msURL;return t.image=document.createElement("img"),t.image_url=e.createObjectURL(t.blob),t.image.src=t.image_url,new Promise((function(e,r){t.image.onerror=function(){r(new Error("ImageBlobReduce: failed to create Image() from blob"))},t.image.onload=function(){e(t)}}))},c.prototype._calculate_size=function(t){var e=t.opts.max/Math.max(t.image.width,t.image.height);return e>1&&(e=1),t.transform_width=Math.max(Math.round(t.image.width*e),1),t.transform_height=Math.max(Math.round(t.image.height*e),1),t.scale_factor=e,Promise.resolve(t)},c.prototype._transform=function(t){t.out_canvas=this.pica.options.createCanvas(t.transform_width,t.transform_height),t.transform_width=null,t.transform_height=null;var e={alpha:"image/png"===t.blob.type};return this.utils.assign(e,this.utils.pick_pica_resize_options(t.opts)),this.pica.resize(t.image,t.out_canvas,e).then((function(){return t}))},c.prototype._cleanup=function(t){t.image.src="",t.image=null;var e=window.URL||window.webkitURL||window.mozURL||window.msURL;return e.revokeObjectURL&&e.revokeObjectURL(t.image_url),t.image_url=null,Promise.resolve(t)},c.prototype._create_blob=function(t){return this.pica.toBlob(t.out_canvas,t.blob.type).then((function(e){return t.out_blob=e,t}))},c.prototype._getUint8Array=function(t){return t.arrayBuffer?t.arrayBuffer().then((function(t){return new Uint8Array(t)})):new Promise((function(e,r){var n=new FileReader;n.readAsArrayBuffer(t),n.onload=function(){e(new Uint8Array(n.result))},n.onerror=function(){r(new Error("ImageBlobReduce: failed to load data from input blob")),n.abort()},n.onabort=function(){r(new Error("ImageBlobReduce: failed to load data from input blob (aborted)"))}}))},c.pica=s;const d=c}}]);
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* ATTENTION: An "eval-source-map" devtool has been used.
|
|
4
|
-
* This devtool is neither made for production nor for readable output files.
|
|
5
|
-
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
|
6
|
-
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
7
|
-
* or disable the default devtool with "devtool: false".
|
|
8
|
-
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
9
|
-
*/
|
|
10
|
-
(globalThis["webpackChunkExcalidraw"] = globalThis["webpackChunkExcalidraw"] || []).push([["image"],{
|
|
11
|
-
|
|
12
|
-
/***/ "../../data/encode.ts":
|
|
13
|
-
/*!****************************!*\
|
|
14
|
-
!*** ../../data/encode.ts ***!
|
|
15
|
-
\****************************/
|
|
16
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
17
|
-
|
|
18
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"toByteString\": () => (/* binding */ toByteString),\n/* harmony export */ \"stringToBase64\": () => (/* binding */ stringToBase64),\n/* harmony export */ \"base64ToString\": () => (/* binding */ base64ToString),\n/* harmony export */ \"encode\": () => (/* binding */ encode),\n/* harmony export */ \"decode\": () => (/* binding */ decode),\n/* harmony export */ \"compressData\": () => (/* binding */ compressData),\n/* harmony export */ \"decompressData\": () => (/* binding */ decompressData)\n/* harmony export */ });\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pako */ \"../../../node_modules/pako/index.js\");\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(pako__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _encryption__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./encryption */ \"../../data/encryption.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\n\r\n\r\n// -----------------------------------------------------------------------------\r\n// byte (binary) strings\r\n// -----------------------------------------------------------------------------\r\n// fast, Buffer-compatible implem\r\nconst toByteString = (data) => {\r\n return new Promise((resolve, reject) => {\r\n const blob = typeof data === \"string\"\r\n ? new Blob([new TextEncoder().encode(data)])\r\n : new Blob([data instanceof Uint8Array ? data : new Uint8Array(data)]);\r\n const reader = new FileReader();\r\n reader.onload = (event) => {\r\n if (!event.target || typeof event.target.result !== \"string\") {\r\n return reject(new Error(\"couldn't convert to byte string\"));\r\n }\r\n resolve(event.target.result);\r\n };\r\n reader.readAsBinaryString(blob);\r\n });\r\n};\r\nconst byteStringToArrayBuffer = (byteString) => {\r\n const buffer = new ArrayBuffer(byteString.length);\r\n const bufferView = new Uint8Array(buffer);\r\n for (let i = 0, len = byteString.length; i < len; i++) {\r\n bufferView[i] = byteString.charCodeAt(i);\r\n }\r\n return buffer;\r\n};\r\nconst byteStringToString = (byteString) => {\r\n return new TextDecoder(\"utf-8\").decode(byteStringToArrayBuffer(byteString));\r\n};\r\n// -----------------------------------------------------------------------------\r\n// base64\r\n// -----------------------------------------------------------------------------\r\n/**\r\n * @param isByteString set to true if already byte string to prevent bloat\r\n * due to reencoding\r\n */\r\nconst stringToBase64 = (str, isByteString = false) => __awaiter(void 0, void 0, void 0, function* () {\r\n return isByteString ? window.btoa(str) : window.btoa(yield toByteString(str));\r\n});\r\n// async to align with stringToBase64\r\nconst base64ToString = (base64, isByteString = false) => __awaiter(void 0, void 0, void 0, function* () {\r\n return isByteString\r\n ? window.atob(base64)\r\n : byteStringToString(window.atob(base64));\r\n});\r\n/**\r\n * Encodes (and potentially compresses via zlib) text to byte string\r\n */\r\nconst encode = ({ text, compress, }) => __awaiter(void 0, void 0, void 0, function* () {\r\n let deflated;\r\n if (compress !== false) {\r\n try {\r\n deflated = yield toByteString((0,pako__WEBPACK_IMPORTED_MODULE_0__.deflate)(text));\r\n }\r\n catch (error) {\r\n console.error(\"encode: cannot deflate\", error);\r\n }\r\n }\r\n return {\r\n version: \"1\",\r\n encoding: \"bstring\",\r\n compressed: !!deflated,\r\n encoded: deflated || (yield toByteString(text)),\r\n };\r\n});\r\nconst decode = (data) => __awaiter(void 0, void 0, void 0, function* () {\r\n let decoded;\r\n switch (data.encoding) {\r\n case \"bstring\":\r\n // if compressed, do not double decode the bstring\r\n decoded = data.compressed\r\n ? data.encoded\r\n : yield byteStringToString(data.encoded);\r\n break;\r\n default:\r\n throw new Error(`decode: unknown encoding \"${data.encoding}\"`);\r\n }\r\n if (data.compressed) {\r\n return (0,pako__WEBPACK_IMPORTED_MODULE_0__.inflate)(new Uint8Array(byteStringToArrayBuffer(decoded)), {\r\n to: \"string\",\r\n });\r\n }\r\n return decoded;\r\n});\r\n// -----------------------------------------------------------------------------\r\nconst CONCAT_BUFFERS_VERSION = 1;\r\n/** how many bytes we use to encode how many bytes the next chunk has.\r\n * Corresponds to DataView setter methods (setUint32, setUint16, etc).\r\n *\r\n * NOTE ! values must not be changed, which would be backwards incompatible !\r\n */\r\nconst VERSION_DATAVIEW_BYTES = 4;\r\nconst NEXT_CHUNK_SIZE_DATAVIEW_BYTES = 4;\r\n// -----------------------------------------------------------------------------\r\nconst DATA_VIEW_BITS_MAP = { 1: 8, 2: 16, 4: 32 };\r\n/**\r\n * abstraction over DataView that serves as a typed getter/setter in case\r\n * you're using constants for the byte size and want to ensure there's no\r\n * discrepenancy in the encoding across refactors.\r\n *\r\n * DataView serves for an endian-agnostic handling of numbers in ArrayBuffers.\r\n */\r\nfunction dataView(buffer, bytes, offset, value) {\r\n if (value != null) {\r\n if (value > Math.pow(2, DATA_VIEW_BITS_MAP[bytes]) - 1) {\r\n throw new Error(`attempting to set value higher than the allocated bytes (value: ${value}, bytes: ${bytes})`);\r\n }\r\n const method = `setUint${DATA_VIEW_BITS_MAP[bytes]}`;\r\n new DataView(buffer.buffer)[method](offset, value);\r\n return buffer;\r\n }\r\n const method = `getUint${DATA_VIEW_BITS_MAP[bytes]}`;\r\n return new DataView(buffer.buffer)[method](offset);\r\n}\r\n// -----------------------------------------------------------------------------\r\n/**\r\n * Resulting concatenated buffer has this format:\r\n *\r\n * [\r\n * VERSION chunk (4 bytes)\r\n * LENGTH chunk 1 (4 bytes)\r\n * DATA chunk 1 (up to 2^32 bits)\r\n * LENGTH chunk 2 (4 bytes)\r\n * DATA chunk 2 (up to 2^32 bits)\r\n * ...\r\n * ]\r\n *\r\n * @param buffers each buffer (chunk) must be at most 2^32 bits large (~4GB)\r\n */\r\nconst concatBuffers = (...buffers) => {\r\n const bufferView = new Uint8Array(VERSION_DATAVIEW_BYTES +\r\n NEXT_CHUNK_SIZE_DATAVIEW_BYTES * buffers.length +\r\n buffers.reduce((acc, buffer) => acc + buffer.byteLength, 0));\r\n let cursor = 0;\r\n // as the first chunk we'll encode the version for backwards compatibility\r\n dataView(bufferView, VERSION_DATAVIEW_BYTES, cursor, CONCAT_BUFFERS_VERSION);\r\n cursor += VERSION_DATAVIEW_BYTES;\r\n for (const buffer of buffers) {\r\n dataView(bufferView, NEXT_CHUNK_SIZE_DATAVIEW_BYTES, cursor, buffer.byteLength);\r\n cursor += NEXT_CHUNK_SIZE_DATAVIEW_BYTES;\r\n bufferView.set(buffer, cursor);\r\n cursor += buffer.byteLength;\r\n }\r\n return bufferView;\r\n};\r\n/** can only be used on buffers created via `concatBuffers()` */\r\nconst splitBuffers = (concatenatedBuffer) => {\r\n const buffers = [];\r\n let cursor = 0;\r\n // first chunk is the version\r\n const version = dataView(concatenatedBuffer, NEXT_CHUNK_SIZE_DATAVIEW_BYTES, cursor);\r\n // If version is outside of the supported versions, throw an error.\r\n // This usually means the buffer wasn't encoded using this API, so we'd only\r\n // waste compute.\r\n if (version > CONCAT_BUFFERS_VERSION) {\r\n throw new Error(`invalid version ${version}`);\r\n }\r\n cursor += VERSION_DATAVIEW_BYTES;\r\n while (true) {\r\n const chunkSize = dataView(concatenatedBuffer, NEXT_CHUNK_SIZE_DATAVIEW_BYTES, cursor);\r\n cursor += NEXT_CHUNK_SIZE_DATAVIEW_BYTES;\r\n buffers.push(concatenatedBuffer.slice(cursor, cursor + chunkSize));\r\n cursor += chunkSize;\r\n if (cursor >= concatenatedBuffer.byteLength) {\r\n break;\r\n }\r\n }\r\n return buffers;\r\n};\r\n// helpers for (de)compressing data with JSON metadata including encryption\r\n// -----------------------------------------------------------------------------\r\n/** @private */\r\nconst _encryptAndCompress = (data, encryptionKey) => __awaiter(void 0, void 0, void 0, function* () {\r\n const { encryptedBuffer, iv } = yield (0,_encryption__WEBPACK_IMPORTED_MODULE_1__.encryptData)(encryptionKey, (0,pako__WEBPACK_IMPORTED_MODULE_0__.deflate)(data));\r\n return { iv, buffer: new Uint8Array(encryptedBuffer) };\r\n});\r\n/**\r\n * The returned buffer has following format:\r\n * `[]` refers to a buffers wrapper (see `concatBuffers`)\r\n *\r\n * [\r\n * encodingMetadataBuffer,\r\n * iv,\r\n * [\r\n * contentsMetadataBuffer\r\n * contentsBuffer\r\n * ]\r\n * ]\r\n */\r\nconst compressData = (dataBuffer, options) => __awaiter(void 0, void 0, void 0, function* () {\r\n const fileInfo = {\r\n version: 2,\r\n compression: \"pako@1\",\r\n encryption: \"AES-GCM\",\r\n };\r\n const encodingMetadataBuffer = new TextEncoder().encode(JSON.stringify(fileInfo));\r\n const contentsMetadataBuffer = new TextEncoder().encode(JSON.stringify(options.metadata || null));\r\n const { iv, buffer } = yield _encryptAndCompress(concatBuffers(contentsMetadataBuffer, dataBuffer), options.encryptionKey);\r\n return concatBuffers(encodingMetadataBuffer, iv, buffer);\r\n});\r\n/** @private */\r\nconst _decryptAndDecompress = (iv, decryptedBuffer, decryptionKey, isCompressed) => __awaiter(void 0, void 0, void 0, function* () {\r\n decryptedBuffer = new Uint8Array(yield (0,_encryption__WEBPACK_IMPORTED_MODULE_1__.decryptData)(iv, decryptedBuffer, decryptionKey));\r\n if (isCompressed) {\r\n return (0,pako__WEBPACK_IMPORTED_MODULE_0__.inflate)(decryptedBuffer);\r\n }\r\n return decryptedBuffer;\r\n});\r\nconst decompressData = (bufferView, options) => __awaiter(void 0, void 0, void 0, function* () {\r\n // first chunk is encoding metadata (ignored for now)\r\n const [encodingMetadataBuffer, iv, buffer] = splitBuffers(bufferView);\r\n const encodingMetadata = JSON.parse(new TextDecoder().decode(encodingMetadataBuffer));\r\n try {\r\n const [contentsMetadataBuffer, contentsBuffer] = splitBuffers(yield _decryptAndDecompress(iv, buffer, options.decryptionKey, !!encodingMetadata.compression));\r\n const metadata = JSON.parse(new TextDecoder().decode(contentsMetadataBuffer));\r\n return {\r\n /** metadata source is always JSON so we can decode it here */\r\n metadata,\r\n /** data can be anything so the caller must decode it */\r\n data: contentsBuffer,\r\n };\r\n }\r\n catch (error) {\r\n console.error(`Error during decompressing and decrypting the file.`, encodingMetadata);\r\n throw error;\r\n }\r\n});\r\n// -----------------------------------------------------------------------------\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUssQ0FDbkQsSUFBSSxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FDakQsQ0FBQztJQUVGLElBQUk7UUFDRixNQUFNLENBQUMsc0JBQXNCLEVBQUUsY0FBYyxDQUFDLEdBQUcsWUFBWSxDQUMzRCxNQUFNLHFCQUFxQixDQUN6QixFQUFFLEVBQ0YsTUFBTSxFQUNOLE9BQU8sQ0FBQyxhQUFhLEVBQ3JCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQy9CLENBQ0YsQ0FBQztRQUVGLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQ3pCLElBQUksV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQzVDLENBQUM7UUFFUCxPQUFPO1lBQ0wsOERBQThEO1lBQzlELFFBQVE7WUFDUix3REFBd0Q7WUFDeEQsSUFBSSxFQUFFLGNBQWM7U0FDckIsQ0FBQztLQUNIO0lBQUMsT0FBTyxLQUFVLEVBQUU7UUFDbkIsT0FBTyxDQUFDLEtBQUssQ0FDWCxxREFBcUQsRUFDckQsZ0JBQWdCLENBQ2pCLENBQUM7UUFDRixNQUFNLEtBQUssQ0FBQztLQUNiO0FBQ0gsQ0FBQyxFQUFDO0FBRUYsZ0ZBQWdGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4uLy4uL2RhdGEvZW5jb2RlLnRzPzliOGUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVmbGF0ZSwgaW5mbGF0ZSB9IGZyb20gXCJwYWtvXCI7XG5pbXBvcnQgeyBlbmNyeXB0RGF0YSwgZGVjcnlwdERhdGEgfSBmcm9tIFwiLi9lbmNyeXB0aW9uXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBieXRlIChiaW5hcnkpIHN0cmluZ3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIGZhc3QsIEJ1ZmZlci1jb21wYXRpYmxlIGltcGxlbVxuZXhwb3J0IGNvbnN0IHRvQnl0ZVN0cmluZyA9IChcbiAgZGF0YTogc3RyaW5nIHwgVWludDhBcnJheSB8IEFycmF5QnVmZmVyLFxuKTogUHJvbWlzZTxzdHJpbmc+ID0+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBibG9iID1cbiAgICAgIHR5cGVvZiBkYXRhID09PSBcInN0cmluZ1wiXG4gICAgICAgID8gbmV3IEJsb2IoW25ldyBUZXh0RW5jb2RlcigpLmVuY29kZShkYXRhKV0pXG4gICAgICAgIDogbmV3IEJsb2IoW2RhdGEgaW5zdGFuY2VvZiBVaW50OEFycmF5ID8gZGF0YSA6IG5ldyBVaW50OEFycmF5KGRhdGEpXSk7XG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICByZWFkZXIub25sb2FkID0gKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoIWV2ZW50LnRhcmdldCB8fCB0eXBlb2YgZXZlbnQudGFyZ2V0LnJlc3VsdCAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBFcnJvcihcImNvdWxkbid0IGNvbnZlcnQgdG8gYnl0ZSBzdHJpbmdcIikpO1xuICAgICAgfVxuICAgICAgcmVzb2x2ZShldmVudC50YXJnZXQucmVzdWx0KTtcbiAgICB9O1xuICAgIHJlYWRlci5yZWFkQXNCaW5hcnlTdHJpbmcoYmxvYik7XG4gIH0pO1xufTtcblxuY29uc3QgYnl0ZVN0cmluZ1RvQXJyYXlCdWZmZXIgPSAoYnl0ZVN0cmluZzogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IGJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcihieXRlU3RyaW5nLmxlbmd0aCk7XG4gIGNvbnN0IGJ1ZmZlclZpZXcgPSBuZXcgVWludDhBcnJheShidWZmZXIpO1xuICBmb3IgKGxldCBpID0gMCwgbGVuID0gYnl0ZVN0cmluZy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgIGJ1ZmZlclZpZXdbaV0gPSBieXRlU3RyaW5nLmNoYXJDb2RlQXQoaSk7XG4gIH1cbiAgcmV0dXJuIGJ1ZmZlcjtcbn07XG5cbmNvbnN0IGJ5dGVTdHJpbmdUb1N0cmluZyA9IChieXRlU3RyaW5nOiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIG5ldyBUZXh0RGVjb2RlcihcInV0Zi04XCIpLmRlY29kZShieXRlU3RyaW5nVG9BcnJheUJ1ZmZlcihieXRlU3RyaW5nKSk7XG59O1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gYmFzZTY0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKipcbiAqIEBwYXJhbSBpc0J5dGVTdHJpbmcgc2V0IHRvIHRydWUgaWYgYWxyZWFkeSBieXRlIHN0cmluZyB0byBwcmV2ZW50IGJsb2F0XG4gKiAgZHVlIHRvIHJlZW5jb2RpbmdcbiAqL1xuZXhwb3J0IGNvbnN0IHN0cmluZ1RvQmFzZTY0ID0gYXN5bmMgKHN0cjogc3RyaW5nLCBpc0J5dGVTdHJpbmcgPSBmYWxzZSkgPT4ge1xuICByZXR1cm4gaXNCeXRlU3RyaW5nID8gd2luZG93LmJ0b2Eoc3RyKSA6IHdpbmRvdy5idG9hKGF3YWl0IHRvQnl0ZVN0cmluZyhzdHIpKTtcbn07XG5cbi8vIGFzeW5jIHRvIGFsaWduIHdpdGggc3RyaW5nVG9CYXNlNjRcbmV4cG9ydCBjb25zdCBiYXNlNjRUb1N0cmluZyA9IGFzeW5jIChiYXNlNjQ6IHN0cmluZywgaXNCeXRlU3RyaW5nID0gZmFsc2UpID0+IHtcbiAgcmV0dXJuIGlzQnl0ZVN0cmluZ1xuICAgID8gd2luZG93LmF0b2IoYmFzZTY0KVxuICAgIDogYnl0ZVN0cmluZ1RvU3RyaW5nKHdpbmRvdy5hdG9iKGJhc2U2NCkpO1xufTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHRleHQgZW5jb2Rpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnR5cGUgRW5jb2RlZERhdGEgPSB7XG4gIGVuY29kZWQ6IHN0cmluZztcbiAgZW5jb2Rpbmc6IFwiYnN0cmluZ1wiO1xuICAvKiogd2hldGhlciB0ZXh0IGlzIGNvbXByZXNzZWQgKHpsaWIpICovXG4gIGNvbXByZXNzZWQ6IGJvb2xlYW47XG4gIC8qKiB2ZXJzaW9uIGZvciBwb3RlbnRpYWwgbWlncmF0aW9uIHB1cnBvc2VzICovXG4gIHZlcnNpb24/OiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIEVuY29kZXMgKGFuZCBwb3RlbnRpYWxseSBjb21wcmVzc2VzIHZpYSB6bGliKSB0ZXh0IHRvIGJ5dGUgc3RyaW5nXG4gKi9cbmV4cG9ydCBjb25zdCBlbmNvZGUgPSBhc3luYyAoe1xuICB0ZXh0LFxuICBjb21wcmVzcyxcbn06IHtcbiAgdGV4dDogc3RyaW5nO1xuICAvKiogZGVmYXVsdHMgdG8gYHRydWVgLiBJZiBjb21wcmVzc2lvbiBmYWlscywgZmFsbHMgYmFjayB0byBic3RyaW5nIGFsb25lLiAqL1xuICBjb21wcmVzcz86IGJvb2xlYW47XG59KTogUHJvbWlzZTxFbmNvZGVkRGF0YT4gPT4ge1xuICBsZXQgZGVmbGF0ZWQhOiBzdHJpbmc7XG4gIGlmIChjb21wcmVzcyAhPT0gZmFsc2UpIHtcbiAgICB0cnkge1xuICAgICAgZGVmbGF0ZWQgPSBhd2FpdCB0b0J5dGVTdHJpbmcoZGVmbGF0ZSh0ZXh0KSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgY29uc29sZS5lcnJvcihcImVuY29kZTogY2Fubm90IGRlZmxhdGVcIiwgZXJyb3IpO1xuICAgIH1cbiAgfVxuICByZXR1cm4ge1xuICAgIHZlcnNpb246IFwiMVwiLFxuICAgIGVuY29kaW5nOiBcImJzdHJpbmdcIixcbiAgICBjb21wcmVzc2VkOiAhIWRlZmxhdGVkLFxuICAgIGVuY29kZWQ6IGRlZmxhdGVkIHx8IChhd2FpdCB0b0J5dGVTdHJpbmcodGV4dCkpLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGRlY29kZSA9IGFzeW5jIChkYXRhOiBFbmNvZGVkRGF0YSk6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gIGxldCBkZWNvZGVkOiBzdHJpbmc7XG5cbiAgc3dpdGNoIChkYXRhLmVuY29kaW5nKSB7XG4gICAgY2FzZSBcImJzdHJpbmdcIjpcbiAgICAgIC8vIGlmIGNvbXByZXNzZWQsIGRvIG5vdCBkb3VibGUgZGVjb2RlIHRoZSBic3RyaW5nXG4gICAgICBkZWNvZGVkID0gZGF0YS5jb21wcmVzc2VkXG4gICAgICAgID8gZGF0YS5lbmNvZGVkXG4gICAgICAgIDogYXdhaXQgYnl0ZVN0cmluZ1RvU3RyaW5nKGRhdGEuZW5jb2RlZCk7XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBkZWNvZGU6IHVua25vd24gZW5jb2RpbmcgXCIke2RhdGEuZW5jb2Rpbmd9XCJgKTtcbiAgfVxuXG4gIGlmIChkYXRhLmNvbXByZXNzZWQpIHtcbiAgICByZXR1cm4gaW5mbGF0ZShuZXcgVWludDhBcnJheShieXRlU3RyaW5nVG9BcnJheUJ1ZmZlcihkZWNvZGVkKSksIHtcbiAgICAgIHRvOiBcInN0cmluZ1wiLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGRlY29kZWQ7XG59O1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gYmluYXJ5IGVuY29kaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG50eXBlIEZpbGVFbmNvZGluZ0luZm8gPSB7XG4gIC8qIHZlcnNpb24gMiBpcyB0aGUgdmVyc2lvbiB3ZSdyZSBzaGlwcGluZyB0aGUgaW5pdGlhbCBpbWFnZSBzdXBwb3J0IHdpdGguXG4gICAgdmVyc2lvbiAxIHdhcyBhIFBSIHZlcnNpb24gdGhhdCBhIGxvdCBvZiBwZW9wbGUgd2VyZSB1c2luZyBhbnl3YXkuXG4gICAgVGh1cywgaWYgdGhlcmUgYXJlIGlzc3VlcyB3ZSBjYW4gY2hlY2sgd2hldGhlciB0aGV5J3JlIG5vdCB1c2luZyB0aGVcbiAgICB1bm9mZmljIHZlcnNpb24gKi9cbiAgdmVyc2lvbjogMSB8IDI7XG4gIGNvbXByZXNzaW9uOiBcInBha29AMVwiIHwgbnVsbDtcbiAgZW5jcnlwdGlvbjogXCJBRVMtR0NNXCIgfCBudWxsO1xufTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbnN0IENPTkNBVF9CVUZGRVJTX1ZFUlNJT04gPSAxO1xuLyoqIGhvdyBtYW55IGJ5dGVzIHdlIHVzZSB0byBlbmNvZGUgaG93IG1hbnkgYnl0ZXMgdGhlIG5leHQgY2h1bmsgaGFzLlxuICogQ29ycmVzcG9uZHMgdG8gRGF0YVZpZXcgc2V0dGVyIG1ldGhvZHMgKHNldFVpbnQzMiwgc2V0VWludDE2LCBldGMpLlxuICpcbiAqIE5PVEUgISB2YWx1ZXMgbXVzdCBub3QgYmUgY2hhbmdlZCwgd2hpY2ggd291bGQgYmUgYmFja3dhcmRzIGluY29tcGF0aWJsZSAhXG4gKi9cbmNvbnN0IFZFUlNJT05fREFUQVZJRVdfQllURVMgPSA0O1xuY29uc3QgTkVYVF9DSFVOS19TSVpFX0RBVEFWSUVXX0JZVEVTID0gNDtcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmNvbnN0IERBVEFfVklFV19CSVRTX01BUCA9IHsgMTogOCwgMjogMTYsIDQ6IDMyIH0gYXMgY29uc3Q7XG5cbi8vIGdldHRlclxuZnVuY3Rpb24gZGF0YVZpZXcoYnVmZmVyOiBVaW50OEFycmF5LCBieXRlczogMSB8IDIgfCA0LCBvZmZzZXQ6IG51bWJlcik6IG51bWJlcjtcbi8vIHNldHRlclxuZnVuY3Rpb24gZGF0YVZpZXcoXG4gIGJ1ZmZlcjogVWludDhBcnJheSxcbiAgYnl0ZXM6IDEgfCAyIHwgNCxcbiAgb2Zmc2V0OiBudW1iZXIsXG4gIHZhbHVlOiBudW1iZXIsXG4pOiBVaW50OEFycmF5O1xuLyoqXG4gKiBhYnN0cmFjdGlvbiBvdmVyIERhdGFWaWV3IHRoYXQgc2VydmVzIGFzIGEgdHlwZWQgZ2V0dGVyL3NldHRlciBpbiBjYXNlXG4gKiB5b3UncmUgdXNpbmcgY29uc3RhbnRzIGZvciB0aGUgYnl0ZSBzaXplIGFuZCB3YW50IHRvIGVuc3VyZSB0aGVyZSdzIG5vXG4gKiBkaXNjcmVwZW5hbmN5IGluIHRoZSBlbmNvZGluZyBhY3Jvc3MgcmVmYWN0b3JzLlxuICpcbiAqIERhdGFWaWV3IHNlcnZlcyBmb3IgYW4gZW5kaWFuLWFnbm9zdGljIGhhbmRsaW5nIG9mIG51bWJlcnMgaW4gQXJyYXlCdWZmZXJzLlxuICovXG5mdW5jdGlvbiBkYXRhVmlldyhcbiAgYnVmZmVyOiBVaW50OEFycmF5LFxuICBieXRlczogMSB8IDIgfCA0LFxuICBvZmZzZXQ6IG51bWJlcixcbiAgdmFsdWU/OiBudW1iZXIsXG4pOiBVaW50OEFycmF5IHwgbnVtYmVyIHtcbiAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICBpZiAodmFsdWUgPiBNYXRoLnBvdygyLCBEQVRBX1ZJRVdfQklUU19NQVBbYnl0ZXNdKSAtIDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYGF0dGVtcHRpbmcgdG8gc2V0IHZhbHVlIGhpZ2hlciB0aGFuIHRoZSBhbGxvY2F0ZWQgYnl0ZXMgKHZhbHVlOiAke3ZhbHVlfSwgYnl0ZXM6ICR7Ynl0ZXN9KWAsXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBtZXRob2QgPSBgc2V0VWludCR7REFUQV9WSUVXX0JJVFNfTUFQW2J5dGVzXX1gIGFzIGNvbnN0O1xuICAgIG5ldyBEYXRhVmlldyhidWZmZXIuYnVmZmVyKVttZXRob2RdKG9mZnNldCwgdmFsdWUpO1xuICAgIHJldHVybiBidWZmZXI7XG4gIH1cbiAgY29uc3QgbWV0aG9kID0gYGdldFVpbnQke0RBVEFfVklFV19CSVRTX01BUFtieXRlc119YCBhcyBjb25zdDtcbiAgcmV0dXJuIG5ldyBEYXRhVmlldyhidWZmZXIuYnVmZmVyKVttZXRob2RdKG9mZnNldCk7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qKlxuICogUmVzdWx0aW5nIGNvbmNhdGVuYXRlZCBidWZmZXIgaGFzIHRoaXMgZm9ybWF0OlxuICpcbiAqIFtcbiAqICAgVkVSU0lPTiBjaHVuayAoNCBieXRlcylcbiAqICAgTEVOR1RIIGNodW5rIDEgKDQgYnl0ZXMpXG4gKiAgIERBVEEgY2h1bmsgMSAodXAgdG8gMl4zMiBiaXRzKVxuICogICBMRU5HVEggY2h1bmsgMiAoNCBieXRlcylcbiAqICAgREFUQSBjaHVuayAyICh1cCB0byAyXjMyIGJpdHMpXG4gKiAgIC4uLlxuICogXVxuICpcbiAqIEBwYXJhbSBidWZmZXJzIGVhY2ggYnVmZmVyIChjaHVuaykgbXVzdCBiZSBhdCBtb3N0IDJeMzIgYml0cyBsYXJnZSAofjRHQilcbiAqL1xuY29uc3QgY29uY2F0QnVmZmVycyA9ICguLi5idWZmZXJzOiBVaW50OEFycmF5W10pID0+IHtcbiAgY29uc3QgYnVmZmVyVmlldyA9IG5ldyBVaW50OEFycmF5KFxuICAgIFZFUlNJT05fREFUQVZJRVdfQllURVMgK1xuICAgICAgTkVYVF9DSFVOS19TSVpFX0RBVEFWSUVXX0JZVEVTICogYnVmZmVycy5sZW5ndGggK1xuICAgICAgYnVmZmVycy5yZWR1Y2UoKGFjYywgYnVmZmVyKSA9PiBhY2MgKyBidWZmZXIuYnl0ZUxlbmd0aCwgMCksXG4gICk7XG5cbiAgbGV0IGN1cnNvciA9IDA7XG5cbiAgLy8gYXMgdGhlIGZpcnN0IGNodW5rIHdlJ2xsIGVuY29kZSB0aGUgdmVyc2lvbiBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgZGF0YVZpZXcoYnVmZmVyVmlldywgVkVSU0lPTl9EQVRBVklFV19CWVRFUywgY3Vyc29yLCBDT05DQVRfQlVGRkVSU19WRVJTSU9OKTtcbiAgY3Vyc29yICs9IFZFUlNJT05fREFUQVZJRVdfQllURVM7XG5cbiAgZm9yIChjb25zdCBidWZmZXIgb2YgYnVmZmVycykge1xuICAgIGRhdGFWaWV3KFxuICAgICAgYnVmZmVyVmlldyxcbiAgICAgIE5FWFRfQ0hVTktfU0laRV9EQVRBVklFV19CWVRFUyxcbiAgICAgIGN1cnNvcixcbiAgICAgIGJ1ZmZlci5ieXRlTGVuZ3RoLFxuICAgICk7XG4gICAgY3Vyc29yICs9IE5FWFRfQ0hVTktfU0laRV9EQVRBVklFV19CWVRFUztcblxuICAgIGJ1ZmZlclZpZXcuc2V0KGJ1ZmZlciwgY3Vyc29yKTtcbiAgICBjdXJzb3IgKz0gYnVmZmVyLmJ5dGVMZW5ndGg7XG4gIH1cblxuICByZXR1cm4gYnVmZmVyVmlldztcbn07XG5cbi8qKiBjYW4gb25seSBiZSB1c2VkIG9uIGJ1ZmZlcnMgY3JlYXRlZCB2aWEgYGNvbmNhdEJ1ZmZlcnMoKWAgKi9cbmNvbnN0IHNwbGl0QnVmZmVycyA9IChjb25jYXRlbmF0ZWRCdWZmZXI6IFVpbnQ4QXJyYXkpID0+IHtcbiAgY29uc3QgYnVmZmVycyA9IFtdO1xuXG4gIGxldCBjdXJzb3IgPSAwO1xuXG4gIC8vIGZpcnN0IGNodW5rIGlzIHRoZSB2ZXJzaW9uXG4gIGNvbnN0IHZlcnNpb24gPSBkYXRhVmlldyhcbiAgICBjb25jYXRlbmF0ZWRCdWZmZXIsXG4gICAgTkVYVF9DSFVOS19TSVpFX0RBVEFWSUVXX0JZVEVTLFxuICAgIGN1cnNvcixcbiAgKTtcbiAgLy8gSWYgdmVyc2lvbiBpcyBvdXRzaWRlIG9mIHRoZSBzdXBwb3J0ZWQgdmVyc2lvbnMsIHRocm93IGFuIGVycm9yLlxuICAvLyBUaGlzIHVzdWFsbHkgbWVhbnMgdGhlIGJ1ZmZlciB3YXNuJ3QgZW5jb2RlZCB1c2luZyB0aGlzIEFQSSwgc28gd2UnZCBvbmx5XG4gIC8vIHdhc3RlIGNvbXB1dGUuXG4gIGlmICh2ZXJzaW9uID4gQ09OQ0FUX0JVRkZFUlNfVkVSU0lPTikge1xuICAgIHRocm93IG5ldyBFcnJvcihgaW52YWxpZCB2ZXJzaW9uICR7dmVyc2lvbn1gKTtcbiAgfVxuXG4gIGN1cnNvciArPSBWRVJTSU9OX0RBVEFWSUVXX0JZVEVTO1xuXG4gIHdoaWxlICh0cnVlKSB7XG4gICAgY29uc3QgY2h1bmtTaXplID0gZGF0YVZpZXcoXG4gICAgICBjb25jYXRlbmF0ZWRCdWZmZXIsXG4gICAgICBORVhUX0NIVU5LX1NJWkVfREFUQVZJRVdfQllURVMsXG4gICAgICBjdXJzb3IsXG4gICAgKTtcbiAgICBjdXJzb3IgKz0gTkVYVF9DSFVOS19TSVpFX0RBVEFWSUVXX0JZVEVTO1xuXG4gICAgYnVmZmVycy5wdXNoKGNvbmNhdGVuYXRlZEJ1ZmZlci5zbGljZShjdXJzb3IsIGN1cnNvciArIGNodW5rU2l6ZSkpO1xuICAgIGN1cnNvciArPSBjaHVua1NpemU7XG4gICAgaWYgKGN1cnNvciA+PSBjb25jYXRlbmF0ZWRCdWZmZXIuYnl0ZUxlbmd0aCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGJ1ZmZlcnM7XG59O1xuXG4vLyBoZWxwZXJzIGZvciAoZGUpY29tcHJlc3NpbmcgZGF0YSB3aXRoIEpTT04gbWV0YWRhdGEgaW5jbHVkaW5nIGVuY3J5cHRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qKiBAcHJpdmF0ZSAqL1xuY29uc3QgX2VuY3J5cHRBbmRDb21wcmVzcyA9IGFzeW5jIChcbiAgZGF0YTogVWludDhBcnJheSB8IHN0cmluZyxcbiAgZW5jcnlwdGlvbktleTogc3RyaW5nLFxuKSA9PiB7XG4gIGNvbnN0IHsgZW5jcnlwdGVkQnVmZmVyLCBpdiB9ID0gYXdhaXQgZW5jcnlwdERhdGEoXG4gICAgZW5jcnlwdGlvbktleSxcbiAgICBkZWZsYXRlKGRhdGEpLFxuICApO1xuXG4gIHJldHVybiB7IGl2LCBidWZmZXI6IG5ldyBVaW50OEFycmF5KGVuY3J5cHRlZEJ1ZmZlcikgfTtcbn07XG5cbi8qKlxuICogVGhlIHJldHVybmVkIGJ1ZmZlciBoYXMgZm9sbG93aW5nIGZvcm1hdDpcbiAqIGBbXWAgcmVmZXJzIHRvIGEgYnVmZmVycyB3cmFwcGVyIChzZWUgYGNvbmNhdEJ1ZmZlcnNgKVxuICpcbiAqIFtcbiAqICAgZW5jb2RpbmdNZXRhZGF0YUJ1ZmZlcixcbiAqICAgaXYsXG4gKiAgIFtcbiAqICAgICAgY29udGVudHNNZXRhZGF0YUJ1ZmZlclxuICogICAgICBjb250ZW50c0J1ZmZlclxuICogICBdXG4gKiBdXG4gKi9cbmV4cG9ydCBjb25zdCBjb21wcmVzc0RhdGEgPSBhc3luYyA8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4gPSBuZXZlcj4oXG4gIGRhdGFCdWZmZXI6IFVpbnQ4QXJyYXksXG4gIG9wdGlvbnM6IHtcbiAgICBlbmNyeXB0aW9uS2V5OiBzdHJpbmc7XG4gIH0gJiAoW1RdIGV4dGVuZHMgW25ldmVyXVxuICAgID8ge1xuICAgICAgICBtZXRhZGF0YT86IFQ7XG4gICAgICB9XG4gICAgOiB7XG4gICAgICAgIG1ldGFkYXRhOiBUO1xuICAgICAgfSksXG4pOiBQcm9taXNlPFVpbnQ4QXJyYXk+ID0+IHtcbiAgY29uc3QgZmlsZUluZm86IEZpbGVFbmNvZGluZ0luZm8gPSB7XG4gICAgdmVyc2lvbjogMixcbiAgICBjb21wcmVzc2lvbjogXCJwYWtvQDFcIixcbiAgICBlbmNyeXB0aW9uOiBcIkFFUy1HQ01cIixcbiAgfTtcblxuICBjb25zdCBlbmNvZGluZ01ldGFkYXRhQnVmZmVyID0gbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKFxuICAgIEpTT04uc3RyaW5naWZ5KGZpbGVJbmZvKSxcbiAgKTtcblxuICBjb25zdCBjb250ZW50c01ldGFkYXRhQnVmZmVyID0gbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKFxuICAgIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMubWV0YWRhdGEgfHwgbnVsbCksXG4gICk7XG5cbiAgY29uc3QgeyBpdiwgYnVmZmVyIH0gPSBhd2FpdCBfZW5jcnlwdEFuZENvbXByZXNzKFxuICAgIGNvbmNhdEJ1ZmZlcnMoY29udGVudHNNZXRhZGF0YUJ1ZmZlciwgZGF0YUJ1ZmZlciksXG4gICAgb3B0aW9ucy5lbmNyeXB0aW9uS2V5LFxuICApO1xuXG4gIHJldHVybiBjb25jYXRCdWZmZXJzKGVuY29kaW5nTWV0YWRhdGFCdWZmZXIsIGl2LCBidWZmZXIpO1xufTtcblxuLyoqIEBwcml2YXRlICovXG5jb25zdCBfZGVjcnlwdEFuZERlY29tcHJlc3MgPSBhc3luYyAoXG4gIGl2OiBVaW50OEFycmF5LFxuICBkZWNyeXB0ZWRCdWZmZXI6IFVpbnQ4QXJyYXksXG4gIGRlY3J5cHRpb25LZXk6IHN0cmluZyxcbiAgaXNDb21wcmVzc2VkOiBib29sZWFuLFxuKSA9PiB7XG4gIGRlY3J5cHRlZEJ1ZmZlciA9IG5ldyBVaW50OEFycmF5KFxuICAgIGF3YWl0IGRlY3J5cHREYXRhKGl2LCBkZWNyeXB0ZWRCdWZmZXIsIGRlY3J5cHRpb25LZXkpLFxuICApO1xuXG4gIGlmIChpc0NvbXByZXNzZWQpIHtcbiAgICByZXR1cm4gaW5mbGF0ZShkZWNyeXB0ZWRCdWZmZXIpO1xuICB9XG5cbiAgcmV0dXJuIGRlY3J5cHRlZEJ1ZmZlcjtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWNvbXByZXNzRGF0YSA9IGFzeW5jIDxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4oXG4gIGJ1ZmZlclZpZXc6IFVpbnQ4QXJyYXksXG4gIG9wdGlvbnM6IHsgZGVjcnlwdGlvbktleTogc3RyaW5nIH0sXG4pID0+IHtcbiAgLy8gZmlyc3QgY2h1bmsgaXMgZW5jb2RpbmcgbWV0YWRhdGEgKGlnbm9yZWQgZm9yIG5vdylcbiAgY29uc3QgW2VuY29kaW5nTWV0YWRhdGFCdWZmZXIsIGl2LCBidWZmZXJdID0gc3BsaXRCdWZmZXJzKGJ1ZmZlclZpZXcpO1xuXG4gIGNvbnN0IGVuY29kaW5nTWV0YWRhdGE6IEZpbGVFbmNvZGluZ0luZm8gPSBKU09OLnBhcnNlKFxuICAgIG5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShlbmNvZGluZ01ldGFkYXRhQnVmZmVyKSxcbiAgKTtcblxuICB0cnkge1xuICAgIGNvbnN0IFtjb250ZW50c01ldGFkYXRhQnVmZmVyLCBjb250ZW50c0J1ZmZlcl0gPSBzcGxpdEJ1ZmZlcnMoXG4gICAgICBhd2FpdCBfZGVjcnlwdEFuZERlY29tcHJlc3MoXG4gICAgICAgIGl2LFxuICAgICAgICBidWZmZXIsXG4gICAgICAgIG9wdGlvbnMuZGVjcnlwdGlvbktleSxcbiAgICAgICAgISFlbmNvZGluZ01ldGFkYXRhLmNvbXByZXNzaW9uLFxuICAgICAgKSxcbiAgICApO1xuXG4gICAgY29uc3QgbWV0YWRhdGEgPSBKU09OLnBhcnNlKFxuICAgICAgbmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKGNvbnRlbnRzTWV0YWRhdGFCdWZmZXIpLFxuICAgICkgYXMgVDtcblxuICAgIHJldHVybiB7XG4gICAgICAvKiogbWV0YWRhdGEgc291cmNlIGlzIGFsd2F5cyBKU09OIHNvIHdlIGNhbiBkZWNvZGUgaXQgaGVyZSAqL1xuICAgICAgbWV0YWRhdGEsXG4gICAgICAvKiogZGF0YSBjYW4gYmUgYW55dGhpbmcgc28gdGhlIGNhbGxlciBtdXN0IGRlY29kZSBpdCAqL1xuICAgICAgZGF0YTogY29udGVudHNCdWZmZXIsXG4gICAgfTtcbiAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICBgRXJyb3IgZHVyaW5nIGRlY29tcHJlc3NpbmcgYW5kIGRlY3J5cHRpbmcgdGhlIGZpbGUuYCxcbiAgICAgIGVuY29kaW5nTWV0YWRhdGEsXG4gICAgKTtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../data/encode.ts\n");
|
|
19
|
-
|
|
20
|
-
/***/ }),
|
|
21
|
-
|
|
22
|
-
/***/ "../../data/encryption.ts":
|
|
23
|
-
/*!********************************!*\
|
|
24
|
-
!*** ../../data/encryption.ts ***!
|
|
25
|
-
\********************************/
|
|
26
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
27
|
-
|
|
28
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"IV_LENGTH_BYTES\": () => (/* binding */ IV_LENGTH_BYTES),\n/* harmony export */ \"createIV\": () => (/* binding */ createIV),\n/* harmony export */ \"generateEncryptionKey\": () => (/* binding */ generateEncryptionKey),\n/* harmony export */ \"getCryptoKey\": () => (/* binding */ getCryptoKey),\n/* harmony export */ \"encryptData\": () => (/* binding */ encryptData),\n/* harmony export */ \"decryptData\": () => (/* binding */ decryptData)\n/* harmony export */ });\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants */ \"../../constants.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\n\r\nconst IV_LENGTH_BYTES = 12;\r\nconst createIV = () => {\r\n const arr = new Uint8Array(IV_LENGTH_BYTES);\r\n return window.crypto.getRandomValues(arr);\r\n};\r\nconst generateEncryptionKey = (returnAs) => __awaiter(void 0, void 0, void 0, function* () {\r\n const key = yield window.crypto.subtle.generateKey({\r\n name: \"AES-GCM\",\r\n length: _constants__WEBPACK_IMPORTED_MODULE_0__.ENCRYPTION_KEY_BITS,\r\n }, true, // extractable\r\n [\"encrypt\", \"decrypt\"]);\r\n return (returnAs === \"cryptoKey\"\r\n ? key\r\n : (yield window.crypto.subtle.exportKey(\"jwk\", key)).k);\r\n});\r\nconst getCryptoKey = (key, usage) => window.crypto.subtle.importKey(\"jwk\", {\r\n alg: \"A128GCM\",\r\n ext: true,\r\n k: key,\r\n key_ops: [\"encrypt\", \"decrypt\"],\r\n kty: \"oct\",\r\n}, {\r\n name: \"AES-GCM\",\r\n length: _constants__WEBPACK_IMPORTED_MODULE_0__.ENCRYPTION_KEY_BITS,\r\n}, false, // extractable\r\n[usage]);\r\nconst encryptData = (key, data) => __awaiter(void 0, void 0, void 0, function* () {\r\n const importedKey = typeof key === \"string\" ? yield getCryptoKey(key, \"encrypt\") : key;\r\n const iv = createIV();\r\n const buffer = typeof data === \"string\"\r\n ? new TextEncoder().encode(data)\r\n : data instanceof Uint8Array\r\n ? data\r\n : data instanceof Blob\r\n ? yield data.arrayBuffer()\r\n : data;\r\n // We use symmetric encryption. AES-GCM is the recommended algorithm and\r\n // includes checks that the ciphertext has not been modified by an attacker.\r\n const encryptedBuffer = yield window.crypto.subtle.encrypt({\r\n name: \"AES-GCM\",\r\n iv,\r\n }, importedKey, buffer);\r\n return { encryptedBuffer, iv };\r\n});\r\nconst decryptData = (iv, encrypted, privateKey) => __awaiter(void 0, void 0, void 0, function* () {\r\n const key = yield getCryptoKey(privateKey, \"decrypt\");\r\n return window.crypto.subtle.decrypt({\r\n name: \"AES-GCM\",\r\n iv,\r\n }, key, encrypted);\r\n});\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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O0lBQ3RELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUNqQztRQUNFLElBQUksRUFBRSxTQUFTO1FBQ2YsRUFBRTtLQUNILEVBQ0QsR0FBRyxFQUNILFNBQVMsQ0FDVixDQUFDO0FBQ0osQ0FBQyxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4uLy4uL2RhdGEvZW5jcnlwdGlvbi50cz9hZDMxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVOQ1JZUFRJT05fS0VZX0JJVFMgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBjb25zdCBJVl9MRU5HVEhfQllURVMgPSAxMjtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUlWID0gKCkgPT4ge1xuICBjb25zdCBhcnIgPSBuZXcgVWludDhBcnJheShJVl9MRU5HVEhfQllURVMpO1xuICByZXR1cm4gd2luZG93LmNyeXB0by5nZXRSYW5kb21WYWx1ZXMoYXJyKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZUVuY3J5cHRpb25LZXkgPSBhc3luYyA8XG4gIFQgZXh0ZW5kcyBcInN0cmluZ1wiIHwgXCJjcnlwdG9LZXlcIiA9IFwic3RyaW5nXCIsXG4+KFxuICByZXR1cm5Bcz86IFQsXG4pOiBQcm9taXNlPFQgZXh0ZW5kcyBcImNyeXB0b0tleVwiID8gQ3J5cHRvS2V5IDogc3RyaW5nPiA9PiB7XG4gIGNvbnN0IGtleSA9IGF3YWl0IHdpbmRvdy5jcnlwdG8uc3VidGxlLmdlbmVyYXRlS2V5KFxuICAgIHtcbiAgICAgIG5hbWU6IFwiQUVTLUdDTVwiLFxuICAgICAgbGVuZ3RoOiBFTkNSWVBUSU9OX0tFWV9CSVRTLFxuICAgIH0sXG4gICAgdHJ1ZSwgLy8gZXh0cmFjdGFibGVcbiAgICBbXCJlbmNyeXB0XCIsIFwiZGVjcnlwdFwiXSxcbiAgKTtcbiAgcmV0dXJuIChcbiAgICByZXR1cm5BcyA9PT0gXCJjcnlwdG9LZXlcIlxuICAgICAgPyBrZXlcbiAgICAgIDogKGF3YWl0IHdpbmRvdy5jcnlwdG8uc3VidGxlLmV4cG9ydEtleShcImp3a1wiLCBrZXkpKS5rXG4gICkgYXMgVCBleHRlbmRzIFwiY3J5cHRvS2V5XCIgPyBDcnlwdG9LZXkgOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q3J5cHRvS2V5ID0gKGtleTogc3RyaW5nLCB1c2FnZTogS2V5VXNhZ2UpID0+XG4gIHdpbmRvdy5jcnlwdG8uc3VidGxlLmltcG9ydEtleShcbiAgICBcImp3a1wiLFxuICAgIHtcbiAgICAgIGFsZzogXCJBMTI4R0NNXCIsXG4gICAgICBleHQ6IHRydWUsXG4gICAgICBrOiBrZXksXG4gICAgICBrZXlfb3BzOiBbXCJlbmNyeXB0XCIsIFwiZGVjcnlwdFwiXSxcbiAgICAgIGt0eTogXCJvY3RcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6IFwiQUVTLUdDTVwiLFxuICAgICAgbGVuZ3RoOiBFTkNSWVBUSU9OX0tFWV9CSVRTLFxuICAgIH0sXG4gICAgZmFsc2UsIC8vIGV4dHJhY3RhYmxlXG4gICAgW3VzYWdlXSxcbiAgKTtcblxuZXhwb3J0IGNvbnN0IGVuY3J5cHREYXRhID0gYXN5bmMgKFxuICBrZXk6IHN0cmluZyB8IENyeXB0b0tleSxcbiAgZGF0YTogVWludDhBcnJheSB8IEFycmF5QnVmZmVyIHwgQmxvYiB8IEZpbGUgfCBzdHJpbmcsXG4pOiBQcm9taXNlPHsgZW5jcnlwdGVkQnVmZmVyOiBBcnJheUJ1ZmZlcjsgaXY6IFVpbnQ4QXJyYXkgfT4gPT4ge1xuICBjb25zdCBpbXBvcnRlZEtleSA9XG4gICAgdHlwZW9mIGtleSA9PT0gXCJzdHJpbmdcIiA/IGF3YWl0IGdldENyeXB0b0tleShrZXksIFwiZW5jcnlwdFwiKSA6IGtleTtcbiAgY29uc3QgaXYgPSBjcmVhdGVJVigpO1xuICBjb25zdCBidWZmZXI6IEFycmF5QnVmZmVyIHwgVWludDhBcnJheSA9XG4gICAgdHlwZW9mIGRhdGEgPT09IFwic3RyaW5nXCJcbiAgICAgID8gbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGRhdGEpXG4gICAgICA6IGRhdGEgaW5zdGFuY2VvZiBVaW50OEFycmF5XG4gICAgICA/IGRhdGFcbiAgICAgIDogZGF0YSBpbnN0YW5jZW9mIEJsb2JcbiAgICAgID8gYXdhaXQgZGF0YS5hcnJheUJ1ZmZlcigpXG4gICAgICA6IGRhdGE7XG5cbiAgLy8gV2UgdXNlIHN5bW1ldHJpYyBlbmNyeXB0aW9uLiBBRVMtR0NNIGlzIHRoZSByZWNvbW1lbmRlZCBhbGdvcml0aG0gYW5kXG4gIC8vIGluY2x1ZGVzIGNoZWNrcyB0aGF0IHRoZSBjaXBoZXJ0ZXh0IGhhcyBub3QgYmVlbiBtb2RpZmllZCBieSBhbiBhdHRhY2tlci5cbiAgY29uc3QgZW5jcnlwdGVkQnVmZmVyID0gYXdhaXQgd2luZG93LmNyeXB0by5zdWJ0bGUuZW5jcnlwdChcbiAgICB7XG4gICAgICBuYW1lOiBcIkFFUy1HQ01cIixcbiAgICAgIGl2LFxuICAgIH0sXG4gICAgaW1wb3J0ZWRLZXksXG4gICAgYnVmZmVyIGFzIEFycmF5QnVmZmVyIHwgVWludDhBcnJheSxcbiAgKTtcblxuICByZXR1cm4geyBlbmNyeXB0ZWRCdWZmZXIsIGl2IH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVjcnlwdERhdGEgPSBhc3luYyAoXG4gIGl2OiBVaW50OEFycmF5LFxuICBlbmNyeXB0ZWQ6IFVpbnQ4QXJyYXkgfCBBcnJheUJ1ZmZlcixcbiAgcHJpdmF0ZUtleTogc3RyaW5nLFxuKTogUHJvbWlzZTxBcnJheUJ1ZmZlcj4gPT4ge1xuICBjb25zdCBrZXkgPSBhd2FpdCBnZXRDcnlwdG9LZXkocHJpdmF0ZUtleSwgXCJkZWNyeXB0XCIpO1xuICByZXR1cm4gd2luZG93LmNyeXB0by5zdWJ0bGUuZGVjcnlwdChcbiAgICB7XG4gICAgICBuYW1lOiBcIkFFUy1HQ01cIixcbiAgICAgIGl2LFxuICAgIH0sXG4gICAga2V5LFxuICAgIGVuY3J5cHRlZCxcbiAgKTtcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../data/encryption.ts\n");
|
|
29
|
-
|
|
30
|
-
/***/ }),
|
|
31
|
-
|
|
32
|
-
/***/ "../../data/image.ts":
|
|
33
|
-
/*!***************************!*\
|
|
34
|
-
!*** ../../data/image.ts ***!
|
|
35
|
-
\***************************/
|
|
36
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
37
|
-
|
|
38
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"getTEXtChunk\": () => (/* binding */ getTEXtChunk),\n/* harmony export */ \"encodePngMetadata\": () => (/* binding */ encodePngMetadata),\n/* harmony export */ \"decodePngMetadata\": () => (/* binding */ decodePngMetadata),\n/* harmony export */ \"encodeSvgMetadata\": () => (/* binding */ encodeSvgMetadata),\n/* harmony export */ \"decodeSvgMetadata\": () => (/* binding */ decodeSvgMetadata)\n/* harmony export */ });\n/* harmony import */ var png_chunks_extract__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! png-chunks-extract */ \"../../../node_modules/png-chunks-extract/index.js\");\n/* harmony import */ var png_chunks_extract__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(png_chunks_extract__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var png_chunk_text__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! png-chunk-text */ \"../../../node_modules/png-chunk-text/index.js\");\n/* harmony import */ var png_chunks_encode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! png-chunks-encode */ \"../../../node_modules/png-chunks-encode/index.js\");\n/* harmony import */ var png_chunks_encode__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(png_chunks_encode__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _encode__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./encode */ \"../../data/encode.ts\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../constants */ \"../../constants.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\n\r\n\r\n\r\n\r\n\r\n// -----------------------------------------------------------------------------\r\n// PNG\r\n// -----------------------------------------------------------------------------\r\nconst blobToArrayBuffer = (blob) => {\r\n if (\"arrayBuffer\" in blob) {\r\n return blob.arrayBuffer();\r\n }\r\n // Safari\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.onload = (event) => {\r\n var _a;\r\n if (!((_a = event.target) === null || _a === void 0 ? void 0 : _a.result)) {\r\n return reject(new Error(\"couldn't convert blob to ArrayBuffer\"));\r\n }\r\n resolve(event.target.result);\r\n };\r\n reader.readAsArrayBuffer(blob);\r\n });\r\n};\r\nconst getTEXtChunk = (blob) => __awaiter(void 0, void 0, void 0, function* () {\r\n const chunks = png_chunks_extract__WEBPACK_IMPORTED_MODULE_0___default()(new Uint8Array(yield blobToArrayBuffer(blob)));\r\n const metadataChunk = chunks.find((chunk) => chunk.name === \"tEXt\");\r\n if (metadataChunk) {\r\n return png_chunk_text__WEBPACK_IMPORTED_MODULE_1__.decode(metadataChunk.data);\r\n }\r\n return null;\r\n});\r\nconst encodePngMetadata = ({ blob, metadata, }) => __awaiter(void 0, void 0, void 0, function* () {\r\n const chunks = png_chunks_extract__WEBPACK_IMPORTED_MODULE_0___default()(new Uint8Array(yield blobToArrayBuffer(blob)));\r\n const metadataChunk = png_chunk_text__WEBPACK_IMPORTED_MODULE_1__.encode(_constants__WEBPACK_IMPORTED_MODULE_4__.MIME_TYPES.excalidraw, JSON.stringify(yield (0,_encode__WEBPACK_IMPORTED_MODULE_3__.encode)({\r\n text: metadata,\r\n compress: true,\r\n })));\r\n // insert metadata before last chunk (iEND)\r\n chunks.splice(-1, 0, metadataChunk);\r\n return new Blob([png_chunks_encode__WEBPACK_IMPORTED_MODULE_2___default()(chunks)], { type: _constants__WEBPACK_IMPORTED_MODULE_4__.MIME_TYPES.png });\r\n});\r\nconst decodePngMetadata = (blob) => __awaiter(void 0, void 0, void 0, function* () {\r\n const metadata = yield getTEXtChunk(blob);\r\n if ((metadata === null || metadata === void 0 ? void 0 : metadata.keyword) === _constants__WEBPACK_IMPORTED_MODULE_4__.MIME_TYPES.excalidraw) {\r\n try {\r\n const encodedData = JSON.parse(metadata.text);\r\n if (!(\"encoded\" in encodedData)) {\r\n // legacy, un-encoded scene JSON\r\n if (\"type\" in encodedData &&\r\n encodedData.type === _constants__WEBPACK_IMPORTED_MODULE_4__.EXPORT_DATA_TYPES.excalidraw) {\r\n return metadata.text;\r\n }\r\n throw new Error(\"FAILED\");\r\n }\r\n return yield (0,_encode__WEBPACK_IMPORTED_MODULE_3__.decode)(encodedData);\r\n }\r\n catch (error) {\r\n console.error(error);\r\n throw new Error(\"FAILED\");\r\n }\r\n }\r\n throw new Error(\"INVALID\");\r\n});\r\n// -----------------------------------------------------------------------------\r\n// SVG\r\n// -----------------------------------------------------------------------------\r\nconst encodeSvgMetadata = ({ text }) => __awaiter(void 0, void 0, void 0, function* () {\r\n const base64 = yield (0,_encode__WEBPACK_IMPORTED_MODULE_3__.stringToBase64)(JSON.stringify(yield (0,_encode__WEBPACK_IMPORTED_MODULE_3__.encode)({ text })), true /* is already byte string */);\r\n let metadata = \"\";\r\n metadata += `<!-- payload-type:${_constants__WEBPACK_IMPORTED_MODULE_4__.MIME_TYPES.excalidraw} -->`;\r\n metadata += `<!-- payload-version:2 -->`;\r\n metadata += \"<!-- payload-start -->\";\r\n metadata += base64;\r\n metadata += \"<!-- payload-end -->\";\r\n return metadata;\r\n});\r\nconst decodeSvgMetadata = ({ svg }) => __awaiter(void 0, void 0, void 0, function* () {\r\n if (svg.includes(`payload-type:${_constants__WEBPACK_IMPORTED_MODULE_4__.MIME_TYPES.excalidraw}`)) {\r\n const match = svg.match(/<!-- payload-start -->(.+?)<!-- payload-end -->/);\r\n if (!match) {\r\n throw new Error(\"INVALID\");\r\n }\r\n const versionMatch = svg.match(/<!-- payload-version:(\\d+) -->/);\r\n const version = (versionMatch === null || versionMatch === void 0 ? void 0 : versionMatch[1]) || \"1\";\r\n const isByteString = version !== \"1\";\r\n try {\r\n const json = yield (0,_encode__WEBPACK_IMPORTED_MODULE_3__.base64ToString)(match[1], isByteString);\r\n const encodedData = JSON.parse(json);\r\n if (!(\"encoded\" in encodedData)) {\r\n // legacy, un-encoded scene JSON\r\n if (\"type\" in encodedData &&\r\n encodedData.type === _constants__WEBPACK_IMPORTED_MODULE_4__.EXPORT_DATA_TYPES.excalidraw) {\r\n return json;\r\n }\r\n throw new Error(\"FAILED\");\r\n }\r\n return yield (0,_encode__WEBPACK_IMPORTED_MODULE_3__.decode)(encodedData);\r\n }\r\n catch (error) {\r\n console.error(error);\r\n throw new Error(\"FAILED\");\r\n }\r\n }\r\n throw new Error(\"INVALID\");\r\n});\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Oi8vLy4uLy4uL2RhdGEvaW1hZ2UudHM/MjUwMSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGVjb2RlUG5nIGZyb20gXCJwbmctY2h1bmtzLWV4dHJhY3RcIjtcbmltcG9ydCB0RVh0IGZyb20gXCJwbmctY2h1bmstdGV4dFwiO1xuaW1wb3J0IGVuY29kZVBuZyBmcm9tIFwicG5nLWNodW5rcy1lbmNvZGVcIjtcbmltcG9ydCB7IHN0cmluZ1RvQmFzZTY0LCBlbmNvZGUsIGRlY29kZSwgYmFzZTY0VG9TdHJpbmcgfSBmcm9tIFwiLi9lbmNvZGVcIjtcbmltcG9ydCB7IEVYUE9SVF9EQVRBX1RZUEVTLCBNSU1FX1RZUEVTIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUE5HXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5jb25zdCBibG9iVG9BcnJheUJ1ZmZlciA9IChibG9iOiBCbG9iKTogUHJvbWlzZTxBcnJheUJ1ZmZlcj4gPT4ge1xuICBpZiAoXCJhcnJheUJ1ZmZlclwiIGluIGJsb2IpIHtcbiAgICByZXR1cm4gYmxvYi5hcnJheUJ1ZmZlcigpO1xuICB9XG4gIC8vIFNhZmFyaVxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgcmVhZGVyLm9ubG9hZCA9IChldmVudCkgPT4ge1xuICAgICAgaWYgKCFldmVudC50YXJnZXQ/LnJlc3VsdCkge1xuICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBFcnJvcihcImNvdWxkbid0IGNvbnZlcnQgYmxvYiB0byBBcnJheUJ1ZmZlclwiKSk7XG4gICAgICB9XG4gICAgICByZXNvbHZlKGV2ZW50LnRhcmdldC5yZXN1bHQgYXMgQXJyYXlCdWZmZXIpO1xuICAgIH07XG4gICAgcmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKGJsb2IpO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRURVh0Q2h1bmsgPSBhc3luYyAoXG4gIGJsb2I6IEJsb2IsXG4pOiBQcm9taXNlPHsga2V5d29yZDogc3RyaW5nOyB0ZXh0OiBzdHJpbmcgfSB8IG51bGw+ID0+IHtcbiAgY29uc3QgY2h1bmtzID0gZGVjb2RlUG5nKG5ldyBVaW50OEFycmF5KGF3YWl0IGJsb2JUb0FycmF5QnVmZmVyKGJsb2IpKSk7XG4gIGNvbnN0IG1ldGFkYXRhQ2h1bmsgPSBjaHVua3MuZmluZCgoY2h1bmspID0+IGNodW5rLm5hbWUgPT09IFwidEVYdFwiKTtcbiAgaWYgKG1ldGFkYXRhQ2h1bmspIHtcbiAgICByZXR1cm4gdEVYdC5kZWNvZGUobWV0YWRhdGFDaHVuay5kYXRhKTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn07XG5cbmV4cG9ydCBjb25zdCBlbmNvZGVQbmdNZXRhZGF0YSA9IGFzeW5jICh7XG4gIGJsb2IsXG4gIG1ldGFkYXRhLFxufToge1xuICBibG9iOiBCbG9iO1xuICBtZXRhZGF0YTogc3RyaW5nO1xufSkgPT4ge1xuICBjb25zdCBjaHVua3MgPSBkZWNvZGVQbmcobmV3IFVpbnQ4QXJyYXkoYXdhaXQgYmxvYlRvQXJyYXlCdWZmZXIoYmxvYikpKTtcblxuICBjb25zdCBtZXRhZGF0YUNodW5rID0gdEVYdC5lbmNvZGUoXG4gICAgTUlNRV9UWVBFUy5leGNhbGlkcmF3LFxuICAgIEpTT04uc3RyaW5naWZ5KFxuICAgICAgYXdhaXQgZW5jb2RlKHtcbiAgICAgICAgdGV4dDogbWV0YWRhdGEsXG4gICAgICAgIGNvbXByZXNzOiB0cnVlLFxuICAgICAgfSksXG4gICAgKSxcbiAgKTtcbiAgLy8gaW5zZXJ0IG1ldGFkYXRhIGJlZm9yZSBsYXN0IGNodW5rIChpRU5EKVxuICBjaHVua3Muc3BsaWNlKC0xLCAwLCBtZXRhZGF0YUNodW5rKTtcblxuICByZXR1cm4gbmV3IEJsb2IoW2VuY29kZVBuZyhjaHVua3MpXSwgeyB0eXBlOiBNSU1FX1RZUEVTLnBuZyB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWNvZGVQbmdNZXRhZGF0YSA9IGFzeW5jIChibG9iOiBCbG9iKSA9PiB7XG4gIGNvbnN0IG1ldGFkYXRhID0gYXdhaXQgZ2V0VEVYdENodW5rKGJsb2IpO1xuICBpZiAobWV0YWRhdGE/LmtleXdvcmQgPT09IE1JTUVfVFlQRVMuZXhjYWxpZHJhdykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBlbmNvZGVkRGF0YSA9IEpTT04ucGFyc2UobWV0YWRhdGEudGV4dCk7XG4gICAgICBpZiAoIShcImVuY29kZWRcIiBpbiBlbmNvZGVkRGF0YSkpIHtcbiAgICAgICAgLy8gbGVnYWN5LCB1bi1lbmNvZGVkIHNjZW5lIEpTT05cbiAgICAgICAgaWYgKFxuICAgICAgICAgIFwidHlwZVwiIGluIGVuY29kZWREYXRhICYmXG4gICAgICAgICAgZW5jb2RlZERhdGEudHlwZSA9PT0gRVhQT1JUX0RBVEFfVFlQRVMuZXhjYWxpZHJhd1xuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gbWV0YWRhdGEudGV4dDtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGQUlMRURcIik7XG4gICAgICB9XG4gICAgICByZXR1cm4gYXdhaXQgZGVjb2RlKGVuY29kZWREYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkZBSUxFRFwiKTtcbiAgICB9XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKFwiSU5WQUxJRFwiKTtcbn07XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTVkdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmV4cG9ydCBjb25zdCBlbmNvZGVTdmdNZXRhZGF0YSA9IGFzeW5jICh7IHRleHQgfTogeyB0ZXh0OiBzdHJpbmcgfSkgPT4ge1xuICBjb25zdCBiYXNlNjQgPSBhd2FpdCBzdHJpbmdUb0Jhc2U2NChcbiAgICBKU09OLnN0cmluZ2lmeShhd2FpdCBlbmNvZGUoeyB0ZXh0IH0pKSxcbiAgICB0cnVlIC8qIGlzIGFscmVhZHkgYnl0ZSBzdHJpbmcgKi8sXG4gICk7XG5cbiAgbGV0IG1ldGFkYXRhID0gXCJcIjtcbiAgbWV0YWRhdGEgKz0gYDwhLS0gcGF5bG9hZC10eXBlOiR7TUlNRV9UWVBFUy5leGNhbGlkcmF3fSAtLT5gO1xuICBtZXRhZGF0YSArPSBgPCEtLSBwYXlsb2FkLXZlcnNpb246MiAtLT5gO1xuICBtZXRhZGF0YSArPSBcIjwhLS0gcGF5bG9hZC1zdGFydCAtLT5cIjtcbiAgbWV0YWRhdGEgKz0gYmFzZTY0O1xuICBtZXRhZGF0YSArPSBcIjwhLS0gcGF5bG9hZC1lbmQgLS0+XCI7XG4gIHJldHVybiBtZXRhZGF0YTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWNvZGVTdmdNZXRhZGF0YSA9IGFzeW5jICh7IHN2ZyB9OiB7IHN2Zzogc3RyaW5nIH0pID0+IHtcbiAgaWYgKHN2Zy5pbmNsdWRlcyhgcGF5bG9hZC10eXBlOiR7TUlNRV9UWVBFUy5leGNhbGlkcmF3fWApKSB7XG4gICAgY29uc3QgbWF0Y2ggPSBzdmcubWF0Y2goLzwhLS0gcGF5bG9hZC1zdGFydCAtLT4oLis/KTwhLS0gcGF5bG9hZC1lbmQgLS0+Lyk7XG4gICAgaWYgKCFtYXRjaCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSU5WQUxJRFwiKTtcbiAgICB9XG4gICAgY29uc3QgdmVyc2lvbk1hdGNoID0gc3ZnLm1hdGNoKC88IS0tIHBheWxvYWQtdmVyc2lvbjooXFxkKykgLS0+Lyk7XG4gICAgY29uc3QgdmVyc2lvbiA9IHZlcnNpb25NYXRjaD8uWzFdIHx8IFwiMVwiO1xuICAgIGNvbnN0IGlzQnl0ZVN0cmluZyA9IHZlcnNpb24gIT09IFwiMVwiO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGpzb24gPSBhd2FpdCBiYXNlNjRUb1N0cmluZyhtYXRjaFsxXSwgaXNCeXRlU3RyaW5nKTtcbiAgICAgIGNvbnN0IGVuY29kZWREYXRhID0gSlNPTi5wYXJzZShqc29uKTtcbiAgICAgIGlmICghKFwiZW5jb2RlZFwiIGluIGVuY29kZWREYXRhKSkge1xuICAgICAgICAvLyBsZWdhY3ksIHVuLWVuY29kZWQgc2NlbmUgSlNPTlxuICAgICAgICBpZiAoXG4gICAgICAgICAgXCJ0eXBlXCIgaW4gZW5jb2RlZERhdGEgJiZcbiAgICAgICAgICBlbmNvZGVkRGF0YS50eXBlID09PSBFWFBPUlRfREFUQV9UWVBFUy5leGNhbGlkcmF3XG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiBqc29uO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkZBSUxFRFwiKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhd2FpdCBkZWNvZGUoZW5jb2RlZERhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRkFJTEVEXCIpO1xuICAgIH1cbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoXCJJTlZBTElEXCIpO1xufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../data/image.ts\n");
|
|
39
|
-
|
|
40
|
-
/***/ })
|
|
41
|
-
|
|
42
|
-
}]);
|