brs-js 2.0.1 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/debug/Conf Spacestation.brs +0 -0
  2. package/debug/Electrks_Feminine_Challenge.brs +0 -0
  3. package/debug/a5bricks.brs +0 -0
  4. package/debug/a5p2.2.brs +0 -0
  5. package/debug/a5p2.brs +0 -0
  6. package/debug/audio.brs +0 -0
  7. package/debug/brick a5.brs +0 -0
  8. package/debug/brick qa.brs +0 -0
  9. package/debug/brsv10.brs +0 -0
  10. package/debug/brsv10brick.brs +0 -0
  11. package/debug/bruteforce.js +254 -0
  12. package/debug/clone.html +36 -0
  13. package/debug/ctf_tileset.brs +0 -0
  14. package/debug/ctf_tileset_5.brs +0 -0
  15. package/debug/evil.brs +0 -0
  16. package/debug/evilwrite.js +390 -0
  17. package/debug/foo.txt +3080 -0
  18. package/debug/kenko_big.brs +0 -0
  19. package/debug/light.brs +0 -0
  20. package/debug/out.json +105 -0
  21. package/debug/read.js +30 -0
  22. package/debug/readSpeed.js +32 -0
  23. package/debug/readTest.js +45 -0
  24. package/debug/temp.brs +0 -0
  25. package/debug/western.brs +0 -0
  26. package/dist/dist.js +1 -1
  27. package/dist/dist.node.js +1 -1
  28. package/dist/dist.web.js +1 -1
  29. package/dist/src/constants.d.ts +6 -0
  30. package/dist/src/constants.d.ts.map +1 -0
  31. package/dist/src/index.d.ts +24 -0
  32. package/dist/src/index.d.ts.map +1 -0
  33. package/dist/src/read.d.ts +3 -0
  34. package/dist/src/read.d.ts.map +1 -0
  35. package/dist/src/read.v1.d.ts +3 -0
  36. package/dist/src/read.v1.d.ts.map +1 -0
  37. package/dist/src/read.v10.d.ts +3 -0
  38. package/dist/src/read.v10.d.ts.map +1 -0
  39. package/dist/src/read.v2.d.ts +3 -0
  40. package/dist/src/read.v2.d.ts.map +1 -0
  41. package/dist/src/read.v3.d.ts +3 -0
  42. package/dist/src/read.v3.d.ts.map +1 -0
  43. package/dist/src/read.v4.d.ts +3 -0
  44. package/dist/src/read.v4.d.ts.map +1 -0
  45. package/dist/src/read.v8.d.ts +3 -0
  46. package/dist/src/read.v8.d.ts.map +1 -0
  47. package/dist/src/read.v9.d.ts +3 -0
  48. package/dist/src/read.v9.d.ts.map +1 -0
  49. package/dist/src/types.d.ts +286 -0
  50. package/dist/src/types.d.ts.map +1 -0
  51. package/dist/src/utils.d.ts +87 -0
  52. package/dist/src/utils.d.ts.map +1 -0
  53. package/dist/src/uuid.d.ts +4 -0
  54. package/dist/src/uuid.d.ts.map +1 -0
  55. package/dist/src/write.d.ts +3 -0
  56. package/dist/src/write.d.ts.map +1 -0
  57. package/examples/ATCFort.brs +0 -0
  58. package/examples/read_example.html +34 -0
  59. package/examples/read_example.js +21 -0
  60. package/examples/write_example.js +25 -0
  61. package/examples/write_planet.html +144 -0
  62. package/examples/write_simplex.html +82 -0
  63. package/examples/write_wedge_sphere.html +173 -0
  64. package/package.json +1 -1
  65. package/src/constants.ts +6 -0
  66. package/src/index.ts +25 -0
  67. package/src/read.ts +57 -0
  68. package/src/read.v1.ts +99 -0
  69. package/src/read.v10.ts +185 -0
  70. package/src/read.v2.ts +102 -0
  71. package/src/read.v3.ts +111 -0
  72. package/src/read.v4.ts +112 -0
  73. package/src/read.v8.ts +172 -0
  74. package/src/read.v9.ts +181 -0
  75. package/src/types.ts +354 -0
  76. package/src/utils.ts +640 -0
  77. package/src/uuid.ts +78 -0
  78. package/src/write.ts +209 -0
  79. package/test/lib.test.js +51 -0
  80. package/test/utils.test.js +209 -0
  81. package/tsconfig.json +1 -5
Binary file
Binary file
package/debug/out.json ADDED
@@ -0,0 +1,105 @@
1
+ {
2
+ "version": 8,
3
+ "map": "Plate",
4
+ "author": {
5
+ "id": "60eab7e7-9aa9-4647-83e4-6ce4ec66ae7d",
6
+ "name": "cake"
7
+ },
8
+ "description": "",
9
+ "host": {
10
+ "name": "cake",
11
+ "id": "60eab7e7-9aa9-4647-83e4-6ce4ec66ae7d"
12
+ },
13
+ "save_time": [16,151,87,60,218,49,216,8],
14
+ "brick_count": 8,
15
+ "mods": [],
16
+ "brick_assets": [
17
+ "PB_DefaultBrick"
18
+ ],
19
+ "colors": [],
20
+ "materials": [
21
+ "BMC_Ghost",
22
+ "BMC_Ghost_Fail",
23
+ "BMC_Plastic",
24
+ "BMC_Glow",
25
+ "BMC_Metallic",
26
+ "BMC_Hologram"
27
+ ],
28
+ "brick_owners": [
29
+ {
30
+ "id": "60eab7e7-9aa9-4647-83e4-6ce4ec66ae7d",
31
+ "name": "cake",
32
+ "bricks": 8
33
+ }
34
+ ],
35
+ "bricks": [
36
+ {
37
+ "asset_name_index": 0,
38
+ "size": [5, 5, 6],
39
+ "position": [-145, 315, 6],
40
+ "direction": 4,
41
+ "rotation": 0,
42
+ "collision": true,
43
+ "visibility": true,
44
+ "material_index": 2,
45
+ "color": 0,
46
+ "owner_index": 1,
47
+ "components": {
48
+ "BCD_PointLight": {
49
+ "bMatchBrickShape": true,
50
+ "Brightness": 20,
51
+ "Radius": 150,
52
+ "Color": [255, 255, 255, 255],
53
+ "bUseBrickColor": true,
54
+ "bCastShadows": false
55
+ },
56
+ "BCD_SpotLight": {
57
+ "Rotation": [
58
+ 270,
59
+ 0,
60
+ 0
61
+ ],
62
+ "InnerConeAngle": 30,
63
+ "OuterConeAngle": 60,
64
+ "Brightness": 20,
65
+ "Radius": 150,
66
+ "Color": [255, 255, 255, 255],
67
+ "bUseBrickColor": true,
68
+ "bCastShadows": false
69
+ }
70
+ }
71
+ }
72
+ ],
73
+ "components": {
74
+ "BCD_PointLight": {
75
+ "version": 1,
76
+ "brick_indices": [
77
+ 0,
78
+ ],
79
+ "properties": {
80
+ "bMatchBrickShape": "Boolean",
81
+ "Brightness": "Float",
82
+ "Radius": "Float",
83
+ "Color": "Color",
84
+ "bUseBrickColor": "Boolean",
85
+ "bCastShadows": "Boolean"
86
+ }
87
+ },
88
+ "BCD_SpotLight": {
89
+ "version": 1,
90
+ "brick_indices": [
91
+ 0,
92
+ ],
93
+ "properties": {
94
+ "Rotation": "Rotator",
95
+ "InnerConeAngle": "Float",
96
+ "OuterConeAngle": "Float",
97
+ "Brightness": "Float",
98
+ "Radius": "Float",
99
+ "Color": "Color",
100
+ "bUseBrickColor": "Boolean",
101
+ "bCastShadows": "Boolean"
102
+ }
103
+ }
104
+ }
105
+ }
package/debug/read.js ADDED
@@ -0,0 +1,30 @@
1
+ const fs = require('fs');
2
+
3
+ const { read } = require('../dist/dist.node.js');
4
+
5
+ // arg parsing
6
+ const file = process.argv.find(f => f.endsWith('brs'));
7
+ if (!file) {
8
+ console.error('missing save argument');
9
+ process.exit(1);
10
+ }
11
+ if (!fs.existsSync(file)) {
12
+ console.error('file does not exist');
13
+ process.exit(1);
14
+ }
15
+
16
+ // run fn x times
17
+ function bench(fn, times) {
18
+ const start = Date.now();
19
+ for (let i = 0; i < times; i++) {
20
+ fn();
21
+ }
22
+ return Date.now() - start;
23
+ }
24
+
25
+ const data = fs.readFileSync(file);
26
+ console.time('read');
27
+ const og = read(data.slice());
28
+ console.timeEnd('read');
29
+
30
+ process.exit();
@@ -0,0 +1,32 @@
1
+ const fs = require('fs');
2
+
3
+ const { read } = require('../dist/dist.node.js');
4
+
5
+ // arg parsing
6
+ const file = process.argv.find(f => f.endsWith('brs'));
7
+ if (!file) {
8
+ console.error('missing save argument');
9
+ process.exit(1);
10
+ }
11
+ if (!fs.existsSync(file)) {
12
+ console.error('file does not exist');
13
+ process.exit(1);
14
+ }
15
+
16
+ // run fn x times
17
+ function bench(fn, times) {
18
+ const start = Date.now();
19
+ for (let i = 0; i < times; i++) {
20
+ fn();
21
+ }
22
+ return Date.now() - start;
23
+ }
24
+
25
+ const data = fs.readFileSync(file);
26
+ console.time('read');
27
+ const og = read(data.slice());
28
+ console.timeEnd('read');
29
+
30
+ process.exit();
31
+ const TIMES = 10;
32
+ console.log(bench(() => read(data.slice()), TIMES));
@@ -0,0 +1,45 @@
1
+ const fs = require('fs');
2
+
3
+ const { read, write } = require('../dist/dist.node.js');
4
+
5
+ // arg parsing
6
+ const file = process.argv.find(f => f.endsWith('brs'));
7
+ if (!file) {
8
+ console.error('missing save argument');
9
+ process.exit(1);
10
+ }
11
+ if (!fs.existsSync(file)) {
12
+ console.error('file does not exist');
13
+ process.exit(1);
14
+ }
15
+
16
+ // run fn x times
17
+ function bench(fn, times) {
18
+ const start = Date.now();
19
+ for (let i = 0; i < times; i++) {
20
+ fn();
21
+ }
22
+ return Date.now() - start;
23
+ }
24
+
25
+ const data = fs.readFileSync(file);
26
+ const json = true;
27
+ if (!json) console.log('Original len:', data.length);
28
+ if (!json) console.time('read');
29
+ const og = read(data.slice());
30
+ if (json) console.log('first', JSON.stringify(og, 0, 2));
31
+ if (!json) console.timeEnd('read');
32
+ console.time('write');
33
+ const newBinary = write(og);
34
+ console.timeEnd('write');
35
+ // process.exit();
36
+ console.log('Write len:', newBinary.length);
37
+ // console.log(og.map, og.host, og.brick_count, og.author);
38
+ console.time('re-read');
39
+ const repeated = read(newBinary.slice());
40
+ if (json) console.log('new', JSON.stringify(repeated, 0, 2));
41
+ console.timeEnd('re-read');
42
+ if (json) process.exit();
43
+
44
+ const TIMES = 1000;
45
+ console.log(bench(() => read(data.slice()), TIMES), bench(() => write(og), TIMES), + TIMES);
package/debug/temp.brs ADDED
Binary file
Binary file
package/dist/dist.js CHANGED
@@ -1,2 +1,2 @@
1
- (()=>{"use strict";var t={591:(t,e,i)=>{var r={};(0,i(236).assign)(r,i(555),i(843),i(619)),t.exports=r},555:(t,e,i)=>{var r=i(405),n=i(236),a=i(373),s=i(898),o=i(292),l=Object.prototype.toString;function h(t){if(!(this instanceof h))return new h(t);this.options=n.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 o,this.strm.avail_out=0;var i=r.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(0!==i)throw new Error(s[i]);if(e.header&&r.deflateSetHeader(this.strm,e.header),e.dictionary){var d;if(d="string"==typeof e.dictionary?a.string2buf(e.dictionary):"[object ArrayBuffer]"===l.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,0!==(i=r.deflateSetDictionary(this.strm,d)))throw new Error(s[i]);this._dict_set=!0}}function d(t,e){var i=new h(e);if(i.push(t,!0),i.err)throw i.msg||s[i.err];return i.result}h.prototype.push=function(t,e){var i,s,o=this.strm,h=this.options.chunkSize;if(this.ended)return!1;s=e===~~e?e:!0===e?4:0,"string"==typeof t?o.input=a.string2buf(t):"[object ArrayBuffer]"===l.call(t)?o.input=new Uint8Array(t):o.input=t,o.next_in=0,o.avail_in=o.input.length;do{if(0===o.avail_out&&(o.output=new n.Buf8(h),o.next_out=0,o.avail_out=h),1!==(i=r.deflate(o,s))&&0!==i)return this.onEnd(i),this.ended=!0,!1;0!==o.avail_out&&(0!==o.avail_in||4!==s&&2!==s)||("string"===this.options.to?this.onData(a.buf2binstring(n.shrinkBuf(o.output,o.next_out))):this.onData(n.shrinkBuf(o.output,o.next_out)))}while((o.avail_in>0||0===o.avail_out)&&1!==i);return 4===s?(i=r.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,0===i):2!==s||(this.onEnd(0),o.avail_out=0,!0)},h.prototype.onData=function(t){this.chunks.push(t)},h.prototype.onEnd=function(t){0===t&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=n.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},e.Deflate=h,e.deflate=d,e.deflateRaw=function(t,e){return(e=e||{}).raw=!0,d(t,e)},e.gzip=function(t,e){return(e=e||{}).gzip=!0,d(t,e)}},843:(t,e,i)=>{var r=i(948),n=i(236),a=i(373),s=i(619),o=i(898),l=i(292),h=i(401),d=Object.prototype.toString;function c(t){if(!(this instanceof c))return new c(t);this.options=n.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 l,this.strm.avail_out=0;var i=r.inflateInit2(this.strm,e.windowBits);if(i!==s.Z_OK)throw new Error(o[i]);if(this.header=new h,r.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=a.string2buf(e.dictionary):"[object ArrayBuffer]"===d.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(i=r.inflateSetDictionary(this.strm,e.dictionary))!==s.Z_OK))throw new Error(o[i])}function f(t,e){var i=new c(e);if(i.push(t,!0),i.err)throw i.msg||o[i.err];return i.result}c.prototype.push=function(t,e){var i,o,l,h,c,f=this.strm,u=this.options.chunkSize,_=this.options.dictionary,b=!1;if(this.ended)return!1;o=e===~~e?e:!0===e?s.Z_FINISH:s.Z_NO_FLUSH,"string"==typeof t?f.input=a.binstring2buf(t):"[object ArrayBuffer]"===d.call(t)?f.input=new Uint8Array(t):f.input=t,f.next_in=0,f.avail_in=f.input.length;do{if(0===f.avail_out&&(f.output=new n.Buf8(u),f.next_out=0,f.avail_out=u),(i=r.inflate(f,s.Z_NO_FLUSH))===s.Z_NEED_DICT&&_&&(i=r.inflateSetDictionary(this.strm,_)),i===s.Z_BUF_ERROR&&!0===b&&(i=s.Z_OK,b=!1),i!==s.Z_STREAM_END&&i!==s.Z_OK)return this.onEnd(i),this.ended=!0,!1;f.next_out&&(0!==f.avail_out&&i!==s.Z_STREAM_END&&(0!==f.avail_in||o!==s.Z_FINISH&&o!==s.Z_SYNC_FLUSH)||("string"===this.options.to?(l=a.utf8border(f.output,f.next_out),h=f.next_out-l,c=a.buf2string(f.output,l),f.next_out=h,f.avail_out=u-h,h&&n.arraySet(f.output,f.output,l,h,0),this.onData(c)):this.onData(n.shrinkBuf(f.output,f.next_out)))),0===f.avail_in&&0===f.avail_out&&(b=!0)}while((f.avail_in>0||0===f.avail_out)&&i!==s.Z_STREAM_END);return i===s.Z_STREAM_END&&(o=s.Z_FINISH),o===s.Z_FINISH?(i=r.inflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===s.Z_OK):o!==s.Z_SYNC_FLUSH||(this.onEnd(s.Z_OK),f.avail_out=0,!0)},c.prototype.onData=function(t){this.chunks.push(t)},c.prototype.onEnd=function(t){t===s.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=n.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},e.Inflate=c,e.inflate=f,e.inflateRaw=function(t,e){return(e=e||{}).raw=!0,f(t,e)},e.ungzip=f},236:(t,e)=>{var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function r(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 i=e.shift();if(i){if("object"!=typeof i)throw new TypeError(i+"must be non-object");for(var n in i)r(i,n)&&(t[n]=i[n])}}return t},e.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,i,r,n){if(e.subarray&&t.subarray)t.set(e.subarray(i,i+r),n);else for(var a=0;a<r;a++)t[n+a]=e[i+a]},flattenChunks:function(t){var e,i,r,n,a,s;for(r=0,e=0,i=t.length;e<i;e++)r+=t[e].length;for(s=new Uint8Array(r),n=0,e=0,i=t.length;e<i;e++)a=t[e],s.set(a,n),n+=a.length;return s}},a={arraySet:function(t,e,i,r,n){for(var a=0;a<r;a++)t[n+a]=e[i+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,n)):(e.Buf8=Array,e.Buf16=Array,e.Buf32=Array,e.assign(e,a))},e.setTyped(i)},373:(t,e,i)=>{var r=i(236),n=!0,a=!0;try{String.fromCharCode.apply(null,[0])}catch(t){n=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){a=!1}for(var s=new r.Buf8(256),o=0;o<256;o++)s[o]=o>=252?6:o>=248?5:o>=240?4:o>=224?3:o>=192?2:1;function l(t,e){if(e<65534&&(t.subarray&&a||!t.subarray&&n))return String.fromCharCode.apply(null,r.shrinkBuf(t,e));for(var i="",s=0;s<e;s++)i+=String.fromCharCode(t[s]);return i}s[254]=s[254]=1,e.string2buf=function(t){var e,i,n,a,s,o=t.length,l=0;for(a=0;a<o;a++)55296==(64512&(i=t.charCodeAt(a)))&&a+1<o&&56320==(64512&(n=t.charCodeAt(a+1)))&&(i=65536+(i-55296<<10)+(n-56320),a++),l+=i<128?1:i<2048?2:i<65536?3:4;for(e=new r.Buf8(l),s=0,a=0;s<l;a++)55296==(64512&(i=t.charCodeAt(a)))&&a+1<o&&56320==(64512&(n=t.charCodeAt(a+1)))&&(i=65536+(i-55296<<10)+(n-56320),a++),i<128?e[s++]=i:i<2048?(e[s++]=192|i>>>6,e[s++]=128|63&i):i<65536?(e[s++]=224|i>>>12,e[s++]=128|i>>>6&63,e[s++]=128|63&i):(e[s++]=240|i>>>18,e[s++]=128|i>>>12&63,e[s++]=128|i>>>6&63,e[s++]=128|63&i);return e},e.buf2binstring=function(t){return l(t,t.length)},e.binstring2buf=function(t){for(var e=new r.Buf8(t.length),i=0,n=e.length;i<n;i++)e[i]=t.charCodeAt(i);return e},e.buf2string=function(t,e){var i,r,n,a,o=e||t.length,h=new Array(2*o);for(r=0,i=0;i<o;)if((n=t[i++])<128)h[r++]=n;else if((a=s[n])>4)h[r++]=65533,i+=a-1;else{for(n&=2===a?31:3===a?15:7;a>1&&i<o;)n=n<<6|63&t[i++],a--;a>1?h[r++]=65533:n<65536?h[r++]=n:(n-=65536,h[r++]=55296|n>>10&1023,h[r++]=56320|1023&n)}return l(h,r)},e.utf8border=function(t,e){var i;for((e=e||t.length)>t.length&&(e=t.length),i=e-1;i>=0&&128==(192&t[i]);)i--;return i<0||0===i?e:i+s[t[i]]>e?i:e}},69:t=>{t.exports=function(t,e,i,r){for(var n=65535&t|0,a=t>>>16&65535|0,s=0;0!==i;){i-=s=i>2e3?2e3:i;do{a=a+(n=n+e[r++]|0)|0}while(--s);n%=65521,a%=65521}return n|a<<16|0}},619:t=>{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}},869:t=>{var e=function(){for(var t,e=[],i=0;i<256;i++){t=i;for(var r=0;r<8;r++)t=1&t?3988292384^t>>>1:t>>>1;e[i]=t}return e}();t.exports=function(t,i,r,n){var a=e,s=n+r;t^=-1;for(var o=n;o<s;o++)t=t>>>8^a[255&(t^i[o])];return-1^t}},405:(t,e,i)=>{var r,n=i(236),a=i(342),s=i(69),o=i(869),l=i(898),h=-2,d=258,c=262,f=103,u=113,_=666;function b(t,e){return t.msg=l[e],e}function p(t){return(t<<1)-(t>4?9:0)}function g(t){for(var e=t.length;--e>=0;)t[e]=0}function m(t){var e=t.state,i=e.pending;i>t.avail_out&&(i=t.avail_out),0!==i&&(n.arraySet(t.output,e.pending_buf,e.pending_out,i,t.next_out),t.next_out+=i,e.pending_out+=i,t.total_out+=i,t.avail_out-=i,e.pending-=i,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 y(t,e){t.pending_buf[t.pending++]=e}function k(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function v(t,e){var i,r,n=t.max_chain_length,a=t.strstart,s=t.prev_length,o=t.nice_match,l=t.strstart>t.w_size-c?t.strstart-(t.w_size-c):0,h=t.window,f=t.w_mask,u=t.prev,_=t.strstart+d,b=h[a+s-1],p=h[a+s];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(h[(i=e)+s]===p&&h[i+s-1]===b&&h[i]===h[a]&&h[++i]===h[a+1]){a+=2,i++;do{}while(h[++a]===h[++i]&&h[++a]===h[++i]&&h[++a]===h[++i]&&h[++a]===h[++i]&&h[++a]===h[++i]&&h[++a]===h[++i]&&h[++a]===h[++i]&&h[++a]===h[++i]&&a<_);if(r=d-(_-a),a=_-d,r>s){if(t.match_start=e,s=r,r>=o)break;b=h[a+s-1],p=h[a+s]}}}while((e=u[e&f])>l&&0!=--n);return s<=t.lookahead?s:t.lookahead}function x(t){var e,i,r,a,l,h,d,f,u,_,b=t.w_size;do{if(a=t.window_size-t.lookahead-t.strstart,t.strstart>=b+(b-c)){n.arraySet(t.window,t.window,b,b,0),t.match_start-=b,t.strstart-=b,t.block_start-=b,e=i=t.hash_size;do{r=t.head[--e],t.head[e]=r>=b?r-b:0}while(--i);e=i=b;do{r=t.prev[--e],t.prev[e]=r>=b?r-b:0}while(--i);a+=b}if(0===t.strm.avail_in)break;if(h=t.strm,d=t.window,f=t.strstart+t.lookahead,u=a,_=void 0,(_=h.avail_in)>u&&(_=u),i=0===_?0:(h.avail_in-=_,n.arraySet(d,h.input,h.next_in,_,f),1===h.state.wrap?h.adler=s(h.adler,d,_,f):2===h.state.wrap&&(h.adler=o(h.adler,d,_,f)),h.next_in+=_,h.total_in+=_,_),t.lookahead+=i,t.lookahead+t.insert>=3)for(l=t.strstart-t.insert,t.ins_h=t.window[l],t.ins_h=(t.ins_h<<t.hash_shift^t.window[l+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[l+3-1])&t.hash_mask,t.prev[l&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=l,l++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<c&&0!==t.strm.avail_in)}function z(t,e){for(var i,r;;){if(t.lookahead<c){if(x(t),t.lookahead<c&&0===e)return 1;if(0===t.lookahead)break}if(i=0,t.lookahead>=3&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==i&&t.strstart-i<=t.w_size-c&&(t.match_length=v(t,i)),t.match_length>=3)if(r=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,i=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 r=a._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(r&&(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 A(t,e){for(var i,r,n;;){if(t.lookahead<c){if(x(t),t.lookahead<c&&0===e)return 1;if(0===t.lookahead)break}if(i=0,t.lookahead>=3&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,i=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!==i&&t.prev_length<t.max_lazy_match&&t.strstart-i<=t.w_size-c&&(t.match_length=v(t,i),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){n=t.strstart+t.lookahead-3,r=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<=n&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,i=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++,r&&(w(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if((r=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&&(r=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 E(t,e,i,r,n){this.good_length=t,this.max_lazy=e,this.nice_length=i,this.max_chain=r,this.func=n}function B(){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 n.Buf16(1146),this.dyn_dtree=new n.Buf16(122),this.bl_tree=new n.Buf16(78),g(this.dyn_ltree),g(this.dyn_dtree),g(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new n.Buf16(16),this.heap=new n.Buf16(573),g(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new n.Buf16(573),g(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 S(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:u,t.adler=2===e.wrap?0:1,e.last_flush=0,a._tr_init(e),0):b(t,h)}function U(t){var e,i=S(t);return 0===i&&((e=t.state).window_size=2*e.w_size,g(e.head),e.max_lazy_match=r[e.level].max_lazy,e.good_match=r[e.level].good_length,e.nice_match=r[e.level].nice_length,e.max_chain_length=r[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),i}function O(t,e,i,r,a,s){if(!t)return h;var o=1;if(-1===e&&(e=6),r<0?(o=0,r=-r):r>15&&(o=2,r-=16),a<1||a>9||8!==i||r<8||r>15||e<0||e>9||s<0||s>4)return b(t,h);8===r&&(r=9);var l=new B;return t.state=l,l.strm=t,l.wrap=o,l.gzhead=null,l.w_bits=r,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=a+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+3-1)/3),l.window=new n.Buf8(2*l.w_size),l.head=new n.Buf16(l.hash_size),l.prev=new n.Buf16(l.w_size),l.lit_bufsize=1<<a+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new n.Buf8(l.pending_buf_size),l.d_buf=1*l.lit_bufsize,l.l_buf=3*l.lit_bufsize,l.level=e,l.strategy=s,l.method=i,U(t)}r=[new E(0,0,0,0,(function(t,e){var i=65535;for(i>t.pending_buf_size-5&&(i=t.pending_buf_size-5);;){if(t.lookahead<=1){if(x(t),0===t.lookahead&&0===e)return 1;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var r=t.block_start+i;if((0===t.strstart||t.strstart>=r)&&(t.lookahead=t.strstart-r,t.strstart=r,w(t,!1),0===t.strm.avail_out))return 1;if(t.strstart-t.block_start>=t.w_size-c&&(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 E(4,4,8,4,z),new E(4,5,16,8,z),new E(4,6,32,32,z),new E(4,4,16,16,A),new E(8,16,32,32,A),new E(8,16,128,128,A),new E(8,32,128,256,A),new E(32,128,258,1024,A),new E(32,258,258,4096,A)],e.deflateInit=function(t,e){return O(t,e,8,15,8,0)},e.deflateInit2=O,e.deflateReset=U,e.deflateResetKeep=S,e.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?h:(t.state.gzhead=e,0):h},e.deflate=function(t,e){var i,n,s,l;if(!t||!t.state||e>5||e<0)return t?b(t,h):h;if(n=t.state,!t.output||!t.input&&0!==t.avail_in||n.status===_&&4!==e)return b(t,0===t.avail_out?-5:h);if(n.strm=t,i=n.last_flush,n.last_flush=e,42===n.status)if(2===n.wrap)t.adler=0,y(n,31),y(n,139),y(n,8),n.gzhead?(y(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),y(n,255&n.gzhead.time),y(n,n.gzhead.time>>8&255),y(n,n.gzhead.time>>16&255),y(n,n.gzhead.time>>24&255),y(n,9===n.level?2:n.strategy>=2||n.level<2?4:0),y(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(y(n,255&n.gzhead.extra.length),y(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(t.adler=o(t.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(y(n,0),y(n,0),y(n,0),y(n,0),y(n,0),y(n,9===n.level?2:n.strategy>=2||n.level<2?4:0),y(n,3),n.status=u);else{var c=8+(n.w_bits-8<<4)<<8;c|=(n.strategy>=2||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(c|=32),c+=31-c%31,n.status=u,k(n,c),0!==n.strstart&&(k(n,t.adler>>>16),k(n,65535&t.adler)),t.adler=1}if(69===n.status)if(n.gzhead.extra){for(s=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>s&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),m(t),s=n.pending,n.pending!==n.pending_buf_size));)y(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>s&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){s=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>s&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),m(t),s=n.pending,n.pending===n.pending_buf_size)){l=1;break}l=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,y(n,l)}while(0!==l);n.gzhead.hcrc&&n.pending>s&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),0===l&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){s=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>s&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),m(t),s=n.pending,n.pending===n.pending_buf_size)){l=1;break}l=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,y(n,l)}while(0!==l);n.gzhead.hcrc&&n.pending>s&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),0===l&&(n.status=f)}else n.status=f;if(n.status===f&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&m(t),n.pending+2<=n.pending_buf_size&&(y(n,255&t.adler),y(n,t.adler>>8&255),t.adler=0,n.status=u)):n.status=u),0!==n.pending){if(m(t),0===t.avail_out)return n.last_flush=-1,0}else if(0===t.avail_in&&p(e)<=p(i)&&4!==e)return b(t,-5);if(n.status===_&&0!==t.avail_in)return b(t,-5);if(0!==t.avail_in||0!==n.lookahead||0!==e&&n.status!==_){var v=2===n.strategy?function(t,e){for(var i;;){if(0===t.lookahead&&(x(t),0===t.lookahead)){if(0===e)return 1;break}if(t.match_length=0,i=a._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,i&&(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}(n,e):3===n.strategy?function(t,e){for(var i,r,n,s,o=t.window;;){if(t.lookahead<=d){if(x(t),t.lookahead<=d&&0===e)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(r=o[n=t.strstart-1])===o[++n]&&r===o[++n]&&r===o[++n]){s=t.strstart+d;do{}while(r===o[++n]&&r===o[++n]&&r===o[++n]&&r===o[++n]&&r===o[++n]&&r===o[++n]&&r===o[++n]&&r===o[++n]&&n<s);t.match_length=d-(s-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(i=a._tr_tally(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(i=a._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),i&&(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}(n,e):r[n.level].func(n,e);if(3!==v&&4!==v||(n.status=_),1===v||3===v)return 0===t.avail_out&&(n.last_flush=-1),0;if(2===v&&(1===e?a._tr_align(n):5!==e&&(a._tr_stored_block(n,0,0,!1),3===e&&(g(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),m(t),0===t.avail_out))return n.last_flush=-1,0}return 4!==e?0:n.wrap<=0?1:(2===n.wrap?(y(n,255&t.adler),y(n,t.adler>>8&255),y(n,t.adler>>16&255),y(n,t.adler>>24&255),y(n,255&t.total_in),y(n,t.total_in>>8&255),y(n,t.total_in>>16&255),y(n,t.total_in>>24&255)):(k(n,t.adler>>>16),k(n,65535&t.adler)),m(t),n.wrap>0&&(n.wrap=-n.wrap),0!==n.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!==f&&e!==u&&e!==_?b(t,h):(t.state=null,e===u?b(t,-3):0):h},e.deflateSetDictionary=function(t,e){var i,r,a,o,l,d,c,f,u=e.length;if(!t||!t.state)return h;if(2===(o=(i=t.state).wrap)||1===o&&42!==i.status||i.lookahead)return h;for(1===o&&(t.adler=s(t.adler,e,u,0)),i.wrap=0,u>=i.w_size&&(0===o&&(g(i.head),i.strstart=0,i.block_start=0,i.insert=0),f=new n.Buf8(i.w_size),n.arraySet(f,e,u-i.w_size,i.w_size,0),e=f,u=i.w_size),l=t.avail_in,d=t.next_in,c=t.input,t.avail_in=u,t.next_in=0,t.input=e,x(i);i.lookahead>=3;){r=i.strstart,a=i.lookahead-2;do{i.ins_h=(i.ins_h<<i.hash_shift^i.window[r+3-1])&i.hash_mask,i.prev[r&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=r,r++}while(--a);i.strstart=r,i.lookahead=2,x(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=2,i.match_available=0,t.next_in=d,t.input=c,t.avail_in=l,i.wrap=o,0},e.deflateInfo="pako deflate (from Nodeca project)"},401:t=>{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}},264:t=>{t.exports=function(t,e){var i,r,n,a,s,o,l,h,d,c,f,u,_,b,p,g,m,w,y,k,v,x,z,A,E;i=t.state,r=t.next_in,A=t.input,n=r+(t.avail_in-5),a=t.next_out,E=t.output,s=a-(e-t.avail_out),o=a+(t.avail_out-257),l=i.dmax,h=i.wsize,d=i.whave,c=i.wnext,f=i.window,u=i.hold,_=i.bits,b=i.lencode,p=i.distcode,g=(1<<i.lenbits)-1,m=(1<<i.distbits)-1;t:do{_<15&&(u+=A[r++]<<_,_+=8,u+=A[r++]<<_,_+=8),w=b[u&g];e:for(;;){if(u>>>=y=w>>>24,_-=y,0==(y=w>>>16&255))E[a++]=65535&w;else{if(!(16&y)){if(0==(64&y)){w=b[(65535&w)+(u&(1<<y)-1)];continue e}if(32&y){i.mode=12;break t}t.msg="invalid literal/length code",i.mode=30;break t}k=65535&w,(y&=15)&&(_<y&&(u+=A[r++]<<_,_+=8),k+=u&(1<<y)-1,u>>>=y,_-=y),_<15&&(u+=A[r++]<<_,_+=8,u+=A[r++]<<_,_+=8),w=p[u&m];i:for(;;){if(u>>>=y=w>>>24,_-=y,!(16&(y=w>>>16&255))){if(0==(64&y)){w=p[(65535&w)+(u&(1<<y)-1)];continue i}t.msg="invalid distance code",i.mode=30;break t}if(v=65535&w,_<(y&=15)&&(u+=A[r++]<<_,(_+=8)<y&&(u+=A[r++]<<_,_+=8)),(v+=u&(1<<y)-1)>l){t.msg="invalid distance too far back",i.mode=30;break t}if(u>>>=y,_-=y,v>(y=a-s)){if((y=v-y)>d&&i.sane){t.msg="invalid distance too far back",i.mode=30;break t}if(x=0,z=f,0===c){if(x+=h-y,y<k){k-=y;do{E[a++]=f[x++]}while(--y);x=a-v,z=E}}else if(c<y){if(x+=h+c-y,(y-=c)<k){k-=y;do{E[a++]=f[x++]}while(--y);if(x=0,c<k){k-=y=c;do{E[a++]=f[x++]}while(--y);x=a-v,z=E}}}else if(x+=c-y,y<k){k-=y;do{E[a++]=f[x++]}while(--y);x=a-v,z=E}for(;k>2;)E[a++]=z[x++],E[a++]=z[x++],E[a++]=z[x++],k-=3;k&&(E[a++]=z[x++],k>1&&(E[a++]=z[x++]))}else{x=a-v;do{E[a++]=E[x++],E[a++]=E[x++],E[a++]=E[x++],k-=3}while(k>2);k&&(E[a++]=E[x++],k>1&&(E[a++]=E[x++]))}break}}break}}while(r<n&&a<o);r-=k=_>>3,u&=(1<<(_-=k<<3))-1,t.next_in=r,t.next_out=a,t.avail_in=r<n?n-r+5:5-(r-n),t.avail_out=a<o?o-a+257:257-(a-o),i.hold=u,i.bits=_}},948:(t,e,i)=>{var r=i(236),n=i(69),a=i(869),s=i(264),o=i(241),l=-2,h=12,d=30;function c(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function f(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function u(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 r.Buf32(852),e.distcode=e.distdyn=new r.Buf32(592),e.sane=1,e.back=-1,0):l}function _(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,u(t)):l}function b(t,e){var i,r;return t&&t.state?(r=t.state,e<0?(i=0,e=-e):(i=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?l:(null!==r.window&&r.wbits!==e&&(r.window=null),r.wrap=i,r.wbits=e,_(t))):l}function p(t,e){var i,r;return t?(r=new f,t.state=r,r.window=null,0!==(i=b(t,e))&&(t.state=null),i):l}var g,m,w=!0;function y(t){if(w){var e;for(g=new r.Buf32(512),m=new r.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(o(1,t.lens,0,288,g,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;o(2,t.lens,0,32,m,0,t.work,{bits:5}),w=!1}t.lencode=g,t.lenbits=9,t.distcode=m,t.distbits=5}function k(t,e,i,n){var a,s=t.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new r.Buf8(s.wsize)),n>=s.wsize?(r.arraySet(s.window,e,i-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):((a=s.wsize-s.wnext)>n&&(a=n),r.arraySet(s.window,e,i-n,a,s.wnext),(n-=a)?(r.arraySet(s.window,e,i-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=a,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=a))),0}e.inflateReset=_,e.inflateReset2=b,e.inflateResetKeep=u,e.inflateInit=function(t){return p(t,15)},e.inflateInit2=p,e.inflate=function(t,e){var i,f,u,_,b,p,g,m,w,v,x,z,A,E,B,S,U,O,C,Z,I,M,R,N,D=0,j=new r.Buf8(4),F=[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 l;(i=t.state).mode===h&&(i.mode=13),b=t.next_out,u=t.output,g=t.avail_out,_=t.next_in,f=t.input,p=t.avail_in,m=i.hold,w=i.bits,v=p,x=g,M=0;t:for(;;)switch(i.mode){case 1:if(0===i.wrap){i.mode=13;break}for(;w<16;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}if(2&i.wrap&&35615===m){i.check=0,j[0]=255&m,j[1]=m>>>8&255,i.check=a(i.check,j,2,0),m=0,w=0,i.mode=2;break}if(i.flags=0,i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&m)<<8)+(m>>8))%31){t.msg="incorrect header check",i.mode=d;break}if(8!=(15&m)){t.msg="unknown compression method",i.mode=d;break}if(w-=4,I=8+(15&(m>>>=4)),0===i.wbits)i.wbits=I;else if(I>i.wbits){t.msg="invalid window size",i.mode=d;break}i.dmax=1<<I,t.adler=i.check=1,i.mode=512&m?10:h,m=0,w=0;break;case 2:for(;w<16;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}if(i.flags=m,8!=(255&i.flags)){t.msg="unknown compression method",i.mode=d;break}if(57344&i.flags){t.msg="unknown header flags set",i.mode=d;break}i.head&&(i.head.text=m>>8&1),512&i.flags&&(j[0]=255&m,j[1]=m>>>8&255,i.check=a(i.check,j,2,0)),m=0,w=0,i.mode=3;case 3:for(;w<32;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}i.head&&(i.head.time=m),512&i.flags&&(j[0]=255&m,j[1]=m>>>8&255,j[2]=m>>>16&255,j[3]=m>>>24&255,i.check=a(i.check,j,4,0)),m=0,w=0,i.mode=4;case 4:for(;w<16;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}i.head&&(i.head.xflags=255&m,i.head.os=m>>8),512&i.flags&&(j[0]=255&m,j[1]=m>>>8&255,i.check=a(i.check,j,2,0)),m=0,w=0,i.mode=5;case 5:if(1024&i.flags){for(;w<16;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}i.length=m,i.head&&(i.head.extra_len=m),512&i.flags&&(j[0]=255&m,j[1]=m>>>8&255,i.check=a(i.check,j,2,0)),m=0,w=0}else i.head&&(i.head.extra=null);i.mode=6;case 6:if(1024&i.flags&&((z=i.length)>p&&(z=p),z&&(i.head&&(I=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Array(i.head.extra_len)),r.arraySet(i.head.extra,f,_,z,I)),512&i.flags&&(i.check=a(i.check,f,z,_)),p-=z,_+=z,i.length-=z),i.length))break t;i.length=0,i.mode=7;case 7:if(2048&i.flags){if(0===p)break t;z=0;do{I=f[_+z++],i.head&&I&&i.length<65536&&(i.head.name+=String.fromCharCode(I))}while(I&&z<p);if(512&i.flags&&(i.check=a(i.check,f,z,_)),p-=z,_+=z,I)break t}else i.head&&(i.head.name=null);i.length=0,i.mode=8;case 8:if(4096&i.flags){if(0===p)break t;z=0;do{I=f[_+z++],i.head&&I&&i.length<65536&&(i.head.comment+=String.fromCharCode(I))}while(I&&z<p);if(512&i.flags&&(i.check=a(i.check,f,z,_)),p-=z,_+=z,I)break t}else i.head&&(i.head.comment=null);i.mode=9;case 9:if(512&i.flags){for(;w<16;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}if(m!==(65535&i.check)){t.msg="header crc mismatch",i.mode=d;break}m=0,w=0}i.head&&(i.head.hcrc=i.flags>>9&1,i.head.done=!0),t.adler=i.check=0,i.mode=h;break;case 10:for(;w<32;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}t.adler=i.check=c(m),m=0,w=0,i.mode=11;case 11:if(0===i.havedict)return t.next_out=b,t.avail_out=g,t.next_in=_,t.avail_in=p,i.hold=m,i.bits=w,2;t.adler=i.check=1,i.mode=h;case h:if(5===e||6===e)break t;case 13:if(i.last){m>>>=7&w,w-=7&w,i.mode=27;break}for(;w<3;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}switch(i.last=1&m,w-=1,3&(m>>>=1)){case 0:i.mode=14;break;case 1:if(y(i),i.mode=20,6===e){m>>>=2,w-=2;break t}break;case 2:i.mode=17;break;case 3:t.msg="invalid block type",i.mode=d}m>>>=2,w-=2;break;case 14:for(m>>>=7&w,w-=7&w;w<32;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}if((65535&m)!=(m>>>16^65535)){t.msg="invalid stored block lengths",i.mode=d;break}if(i.length=65535&m,m=0,w=0,i.mode=15,6===e)break t;case 15:i.mode=16;case 16:if(z=i.length){if(z>p&&(z=p),z>g&&(z=g),0===z)break t;r.arraySet(u,f,_,z,b),p-=z,_+=z,g-=z,b+=z,i.length-=z;break}i.mode=h;break;case 17:for(;w<14;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}if(i.nlen=257+(31&m),m>>>=5,w-=5,i.ndist=1+(31&m),m>>>=5,w-=5,i.ncode=4+(15&m),m>>>=4,w-=4,i.nlen>286||i.ndist>30){t.msg="too many length or distance symbols",i.mode=d;break}i.have=0,i.mode=18;case 18:for(;i.have<i.ncode;){for(;w<3;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}i.lens[F[i.have++]]=7&m,m>>>=3,w-=3}for(;i.have<19;)i.lens[F[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,R={bits:i.lenbits},M=o(0,i.lens,0,19,i.lencode,0,i.work,R),i.lenbits=R.bits,M){t.msg="invalid code lengths set",i.mode=d;break}i.have=0,i.mode=19;case 19:for(;i.have<i.nlen+i.ndist;){for(;S=(D=i.lencode[m&(1<<i.lenbits)-1])>>>16&255,U=65535&D,!((B=D>>>24)<=w);){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}if(U<16)m>>>=B,w-=B,i.lens[i.have++]=U;else{if(16===U){for(N=B+2;w<N;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}if(m>>>=B,w-=B,0===i.have){t.msg="invalid bit length repeat",i.mode=d;break}I=i.lens[i.have-1],z=3+(3&m),m>>>=2,w-=2}else if(17===U){for(N=B+3;w<N;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}w-=B,I=0,z=3+(7&(m>>>=B)),m>>>=3,w-=3}else{for(N=B+7;w<N;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}w-=B,I=0,z=11+(127&(m>>>=B)),m>>>=7,w-=7}if(i.have+z>i.nlen+i.ndist){t.msg="invalid bit length repeat",i.mode=d;break}for(;z--;)i.lens[i.have++]=I}}if(i.mode===d)break;if(0===i.lens[256]){t.msg="invalid code -- missing end-of-block",i.mode=d;break}if(i.lenbits=9,R={bits:i.lenbits},M=o(1,i.lens,0,i.nlen,i.lencode,0,i.work,R),i.lenbits=R.bits,M){t.msg="invalid literal/lengths set",i.mode=d;break}if(i.distbits=6,i.distcode=i.distdyn,R={bits:i.distbits},M=o(2,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,R),i.distbits=R.bits,M){t.msg="invalid distances set",i.mode=d;break}if(i.mode=20,6===e)break t;case 20:i.mode=21;case 21:if(p>=6&&g>=258){t.next_out=b,t.avail_out=g,t.next_in=_,t.avail_in=p,i.hold=m,i.bits=w,s(t,x),b=t.next_out,u=t.output,g=t.avail_out,_=t.next_in,f=t.input,p=t.avail_in,m=i.hold,w=i.bits,i.mode===h&&(i.back=-1);break}for(i.back=0;S=(D=i.lencode[m&(1<<i.lenbits)-1])>>>16&255,U=65535&D,!((B=D>>>24)<=w);){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}if(S&&0==(240&S)){for(O=B,C=S,Z=U;S=(D=i.lencode[Z+((m&(1<<O+C)-1)>>O)])>>>16&255,U=65535&D,!(O+(B=D>>>24)<=w);){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}m>>>=O,w-=O,i.back+=O}if(m>>>=B,w-=B,i.back+=B,i.length=U,0===S){i.mode=26;break}if(32&S){i.back=-1,i.mode=h;break}if(64&S){t.msg="invalid literal/length code",i.mode=d;break}i.extra=15&S,i.mode=22;case 22:if(i.extra){for(N=i.extra;w<N;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}i.length+=m&(1<<i.extra)-1,m>>>=i.extra,w-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=23;case 23:for(;S=(D=i.distcode[m&(1<<i.distbits)-1])>>>16&255,U=65535&D,!((B=D>>>24)<=w);){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}if(0==(240&S)){for(O=B,C=S,Z=U;S=(D=i.distcode[Z+((m&(1<<O+C)-1)>>O)])>>>16&255,U=65535&D,!(O+(B=D>>>24)<=w);){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}m>>>=O,w-=O,i.back+=O}if(m>>>=B,w-=B,i.back+=B,64&S){t.msg="invalid distance code",i.mode=d;break}i.offset=U,i.extra=15&S,i.mode=24;case 24:if(i.extra){for(N=i.extra;w<N;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}i.offset+=m&(1<<i.extra)-1,m>>>=i.extra,w-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){t.msg="invalid distance too far back",i.mode=d;break}i.mode=25;case 25:if(0===g)break t;if(z=x-g,i.offset>z){if((z=i.offset-z)>i.whave&&i.sane){t.msg="invalid distance too far back",i.mode=d;break}z>i.wnext?(z-=i.wnext,A=i.wsize-z):A=i.wnext-z,z>i.length&&(z=i.length),E=i.window}else E=u,A=b-i.offset,z=i.length;z>g&&(z=g),g-=z,i.length-=z;do{u[b++]=E[A++]}while(--z);0===i.length&&(i.mode=21);break;case 26:if(0===g)break t;u[b++]=i.length,g--,i.mode=21;break;case 27:if(i.wrap){for(;w<32;){if(0===p)break t;p--,m|=f[_++]<<w,w+=8}if(x-=g,t.total_out+=x,i.total+=x,x&&(t.adler=i.check=i.flags?a(i.check,u,x,b-x):n(i.check,u,x,b-x)),x=g,(i.flags?m:c(m))!==i.check){t.msg="incorrect data check",i.mode=d;break}m=0,w=0}i.mode=28;case 28:if(i.wrap&&i.flags){for(;w<32;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}if(m!==(4294967295&i.total)){t.msg="incorrect length check",i.mode=d;break}m=0,w=0}i.mode=29;case 29:M=1;break t;case d:M=-3;break t;case 31:return-4;case 32:default:return l}return t.next_out=b,t.avail_out=g,t.next_in=_,t.avail_in=p,i.hold=m,i.bits=w,(i.wsize||x!==t.avail_out&&i.mode<d&&(i.mode<27||4!==e))&&k(t,t.output,t.next_out,x-t.avail_out)?(i.mode=31,-4):(v-=t.avail_in,x-=t.avail_out,t.total_in+=v,t.total_out+=x,i.total+=x,i.wrap&&x&&(t.adler=i.check=i.flags?a(i.check,u,x,t.next_out-x):n(i.check,u,x,t.next_out-x)),t.data_type=i.bits+(i.last?64:0)+(i.mode===h?128:0)+(20===i.mode||15===i.mode?256:0),(0===v&&0===x||4===e)&&0===M&&(M=-5),M)},e.inflateEnd=function(t){if(!t||!t.state)return l;var e=t.state;return e.window&&(e.window=null),t.state=null,0},e.inflateGetHeader=function(t,e){var i;return t&&t.state?0==(2&(i=t.state).wrap)?l:(i.head=e,e.done=!1,0):l},e.inflateSetDictionary=function(t,e){var i,r=e.length;return t&&t.state?0!==(i=t.state).wrap&&11!==i.mode?l:11===i.mode&&n(1,e,r,0)!==i.check?-3:k(t,e,r,r)?(i.mode=31,-4):(i.havedict=1,0):l},e.inflateInfo="pako inflate (from Nodeca project)"},241:(t,e,i)=>{var r=i(236),n=[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],a=[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],o=[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,i,l,h,d,c,f){var u,_,b,p,g,m,w,y,k,v=f.bits,x=0,z=0,A=0,E=0,B=0,S=0,U=0,O=0,C=0,Z=0,I=null,M=0,R=new r.Buf16(16),N=new r.Buf16(16),D=null,j=0;for(x=0;x<=15;x++)R[x]=0;for(z=0;z<l;z++)R[e[i+z]]++;for(B=v,E=15;E>=1&&0===R[E];E--);if(B>E&&(B=E),0===E)return h[d++]=20971520,h[d++]=20971520,f.bits=1,0;for(A=1;A<E&&0===R[A];A++);for(B<A&&(B=A),O=1,x=1;x<=15;x++)if(O<<=1,(O-=R[x])<0)return-1;if(O>0&&(0===t||1!==E))return-1;for(N[1]=0,x=1;x<15;x++)N[x+1]=N[x]+R[x];for(z=0;z<l;z++)0!==e[i+z]&&(c[N[e[i+z]]++]=z);if(0===t?(I=D=c,m=19):1===t?(I=n,M-=257,D=a,j-=257,m=256):(I=s,D=o,m=-1),Z=0,z=0,x=A,g=d,S=B,U=0,b=-1,p=(C=1<<B)-1,1===t&&C>852||2===t&&C>592)return 1;for(;;){w=x-U,c[z]<m?(y=0,k=c[z]):c[z]>m?(y=D[j+c[z]],k=I[M+c[z]]):(y=96,k=0),u=1<<x-U,A=_=1<<S;do{h[g+(Z>>U)+(_-=u)]=w<<24|y<<16|k|0}while(0!==_);for(u=1<<x-1;Z&u;)u>>=1;if(0!==u?(Z&=u-1,Z+=u):Z=0,z++,0==--R[x]){if(x===E)break;x=e[i+c[z]]}if(x>B&&(Z&p)!==b){for(0===U&&(U=B),g+=A,O=1<<(S=x-U);S+U<E&&!((O-=R[S+U])<=0);)S++,O<<=1;if(C+=1<<S,1===t&&C>852||2===t&&C>592)return 1;h[b=Z&p]=B<<24|S<<16|g-d|0}}return 0!==Z&&(h[g+Z]=x-U<<24|64<<16|0),f.bits=B,0}},898:t=>{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"}},342:(t,e,i)=>{var r=i(236);function n(t){for(var e=t.length;--e>=0;)t[e]=0}var 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],s=[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],o=[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],h=new Array(576);n(h);var d=new Array(60);n(d);var c=new Array(512);n(c);var f=new Array(256);n(f);var u=new Array(29);n(u);var _,b,p,g=new Array(30);function m(t,e,i,r,n){this.static_tree=t,this.extra_bits=e,this.extra_base=i,this.elems=r,this.max_length=n,this.has_stree=t&&t.length}function w(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function y(t){return t<256?c[t]:c[256+(t>>>7)]}function k(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function v(t,e,i){t.bi_valid>16-i?(t.bi_buf|=e<<t.bi_valid&65535,k(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=i-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=i)}function x(t,e,i){v(t,i[2*e],i[2*e+1])}function z(t,e){var i=0;do{i|=1&t,t>>>=1,i<<=1}while(--e>0);return i>>>1}function A(t,e,i){var r,n,a=new Array(16),s=0;for(r=1;r<=15;r++)a[r]=s=s+i[r-1]<<1;for(n=0;n<=e;n++){var o=t[2*n+1];0!==o&&(t[2*n]=z(a[o]++,o))}}function E(t){var e;for(e=0;e<286;e++)t.dyn_ltree[2*e]=0;for(e=0;e<30;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 B(t){t.bi_valid>8?k(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 S(t,e,i,r){var n=2*e,a=2*i;return t[n]<t[a]||t[n]===t[a]&&r[e]<=r[i]}function U(t,e,i){for(var r=t.heap[i],n=i<<1;n<=t.heap_len&&(n<t.heap_len&&S(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!S(e,r,t.heap[n],t.depth));)t.heap[i]=t.heap[n],i=n,n<<=1;t.heap[i]=r}function O(t,e,i){var r,n,o,l,h=0;if(0!==t.last_lit)do{r=t.pending_buf[t.d_buf+2*h]<<8|t.pending_buf[t.d_buf+2*h+1],n=t.pending_buf[t.l_buf+h],h++,0===r?x(t,n,e):(x(t,(o=f[n])+256+1,e),0!==(l=a[o])&&v(t,n-=u[o],l),x(t,o=y(--r),i),0!==(l=s[o])&&v(t,r-=g[o],l))}while(h<t.last_lit);x(t,256,e)}function C(t,e){var i,r,n,a=e.dyn_tree,s=e.stat_desc.static_tree,o=e.stat_desc.has_stree,l=e.stat_desc.elems,h=-1;for(t.heap_len=0,t.heap_max=573,i=0;i<l;i++)0!==a[2*i]?(t.heap[++t.heap_len]=h=i,t.depth[i]=0):a[2*i+1]=0;for(;t.heap_len<2;)a[2*(n=t.heap[++t.heap_len]=h<2?++h:0)]=1,t.depth[n]=0,t.opt_len--,o&&(t.static_len-=s[2*n+1]);for(e.max_code=h,i=t.heap_len>>1;i>=1;i--)U(t,a,i);n=l;do{i=t.heap[1],t.heap[1]=t.heap[t.heap_len--],U(t,a,1),r=t.heap[1],t.heap[--t.heap_max]=i,t.heap[--t.heap_max]=r,a[2*n]=a[2*i]+a[2*r],t.depth[n]=(t.depth[i]>=t.depth[r]?t.depth[i]:t.depth[r])+1,a[2*i+1]=a[2*r+1]=n,t.heap[1]=n++,U(t,a,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],function(t,e){var i,r,n,a,s,o,l=e.dyn_tree,h=e.max_code,d=e.stat_desc.static_tree,c=e.stat_desc.has_stree,f=e.stat_desc.extra_bits,u=e.stat_desc.extra_base,_=e.stat_desc.max_length,b=0;for(a=0;a<=15;a++)t.bl_count[a]=0;for(l[2*t.heap[t.heap_max]+1]=0,i=t.heap_max+1;i<573;i++)(a=l[2*l[2*(r=t.heap[i])+1]+1]+1)>_&&(a=_,b++),l[2*r+1]=a,r>h||(t.bl_count[a]++,s=0,r>=u&&(s=f[r-u]),o=l[2*r],t.opt_len+=o*(a+s),c&&(t.static_len+=o*(d[2*r+1]+s)));if(0!==b){do{for(a=_-1;0===t.bl_count[a];)a--;t.bl_count[a]--,t.bl_count[a+1]+=2,t.bl_count[_]--,b-=2}while(b>0);for(a=_;0!==a;a--)for(r=t.bl_count[a];0!==r;)(n=t.heap[--i])>h||(l[2*n+1]!==a&&(t.opt_len+=(a-l[2*n+1])*l[2*n],l[2*n+1]=a),r--)}}(t,e),A(a,h,t.bl_count)}function Z(t,e,i){var r,n,a=-1,s=e[1],o=0,l=7,h=4;for(0===s&&(l=138,h=3),e[2*(i+1)+1]=65535,r=0;r<=i;r++)n=s,s=e[2*(r+1)+1],++o<l&&n===s||(o<h?t.bl_tree[2*n]+=o:0!==n?(n!==a&&t.bl_tree[2*n]++,t.bl_tree[32]++):o<=10?t.bl_tree[34]++:t.bl_tree[36]++,o=0,a=n,0===s?(l=138,h=3):n===s?(l=6,h=3):(l=7,h=4))}function I(t,e,i){var r,n,a=-1,s=e[1],o=0,l=7,h=4;for(0===s&&(l=138,h=3),r=0;r<=i;r++)if(n=s,s=e[2*(r+1)+1],!(++o<l&&n===s)){if(o<h)do{x(t,n,t.bl_tree)}while(0!=--o);else 0!==n?(n!==a&&(x(t,n,t.bl_tree),o--),x(t,16,t.bl_tree),v(t,o-3,2)):o<=10?(x(t,17,t.bl_tree),v(t,o-3,3)):(x(t,18,t.bl_tree),v(t,o-11,7));o=0,a=n,0===s?(l=138,h=3):n===s?(l=6,h=3):(l=7,h=4)}}n(g);var M=!1;function R(t,e,i,n){v(t,0+(n?1:0),3),function(t,e,i,n){B(t),k(t,i),k(t,~i),r.arraySet(t.pending_buf,t.window,e,i,t.pending),t.pending+=i}(t,e,i)}e._tr_init=function(t){M||(function(){var t,e,i,r,n,l=new Array(16);for(i=0,r=0;r<28;r++)for(u[r]=i,t=0;t<1<<a[r];t++)f[i++]=r;for(f[i-1]=r,n=0,r=0;r<16;r++)for(g[r]=n,t=0;t<1<<s[r];t++)c[n++]=r;for(n>>=7;r<30;r++)for(g[r]=n<<7,t=0;t<1<<s[r]-7;t++)c[256+n++]=r;for(e=0;e<=15;e++)l[e]=0;for(t=0;t<=143;)h[2*t+1]=8,t++,l[8]++;for(;t<=255;)h[2*t+1]=9,t++,l[9]++;for(;t<=279;)h[2*t+1]=7,t++,l[7]++;for(;t<=287;)h[2*t+1]=8,t++,l[8]++;for(A(h,287,l),t=0;t<30;t++)d[2*t+1]=5,d[2*t]=z(t,5);_=new m(h,a,257,286,15),b=new m(d,s,0,30,15),p=new m(new Array(0),o,0,19,7)}(),M=!0),t.l_desc=new w(t.dyn_ltree,_),t.d_desc=new w(t.dyn_dtree,b),t.bl_desc=new w(t.bl_tree,p),t.bi_buf=0,t.bi_valid=0,E(t)},e._tr_stored_block=R,e._tr_flush_block=function(t,e,i,r){var n,a,s=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=function(t){var e,i=4093624447;for(e=0;e<=31;e++,i>>>=1)if(1&i&&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<256;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0}(t)),C(t,t.l_desc),C(t,t.d_desc),s=function(t){var e;for(Z(t,t.dyn_ltree,t.l_desc.max_code),Z(t,t.dyn_dtree,t.d_desc.max_code),C(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),n=t.opt_len+3+7>>>3,(a=t.static_len+3+7>>>3)<=n&&(n=a)):n=a=i+5,i+4<=n&&-1!==e?R(t,e,i,r):4===t.strategy||a===n?(v(t,2+(r?1:0),3),O(t,h,d)):(v(t,4+(r?1:0),3),function(t,e,i,r){var n;for(v(t,e-257,5),v(t,i-1,5),v(t,r-4,4),n=0;n<r;n++)v(t,t.bl_tree[2*l[n]+1],3);I(t,t.dyn_ltree,e-1),I(t,t.dyn_dtree,i-1)}(t,t.l_desc.max_code+1,t.d_desc.max_code+1,s+1),O(t,t.dyn_ltree,t.dyn_dtree)),E(t),r&&B(t)},e._tr_tally=function(t,e,i){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&i,t.last_lit++,0===e?t.dyn_ltree[2*i]++:(t.matches++,e--,t.dyn_ltree[2*(f[i]+256+1)]++,t.dyn_dtree[2*y(e)]++),t.last_lit===t.lit_bufsize-1},e._tr_align=function(t){v(t,2,3),x(t,256,h),function(t){16===t.bi_valid?(k(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)}},292:t=>{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}}},e={};function i(r){var n=e[r];if(void 0!==n)return n.exports;var a=e[r]={exports:{}};return t[r](a,a.exports,i),a.exports}i.d=(t,e)=>{for(var r in e)i.o(e,r)&&!i.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{var t={};i.r(t),i.d(t,{DEFAULT_UUID:()=>s,LATEST_VERSION:()=>n,MAGIC:()=>r,MAX_INT:()=>a});var e={};i.r(e),i.d(e,{bgra:()=>h,chunk:()=>u,concat:()=>k,isEqual:()=>d,read:()=>v,subarray:()=>f,write:()=>x});const r=new Uint8Array([66,82,83]),n=10,a=~(1<<31),s="00000000-0000-0000-0000-000000000000";var o=i(591);const l=Array.from({length:256}).map(((t,e)=>(e+256).toString(16).substr(1))),h=([t,e,i,r])=>[i,e,t,r];function d(t,e){return t.length===e.length&&t.every(((t,i)=>e[i]===t))}function c(t){return void 0!==t.brsOffset}function f(t,e,i=!1){if(!(t instanceof Uint8Array))throw new Error(`Invalid data type in bytes reader (${typeof t})`);let r;c(t)?r=t:(r=t,r.brsOffset=0);const n=r[i?"slice":"subarray"](r.brsOffset,r.brsOffset+e);return r.brsOffset+=e,n}function u(t,e){const i=t.length-(c(t)?t.brsOffset:0),r=Array(Math.floor(i/e));for(let n=0;n<i/e;n++)r[n]=f(t,e,!0);return r}function _(t,e=!0){const[i,r]=f(t,2);return e?r<<8|i:i<<8|r}function b(t,e=!0){const[i,r,n,a]=f(t,4);return e?a<<24|n<<16|r<<8|i:i<<24|r<<16|n<<8|a}function p(t,e=!0){const i=new Uint8Array([255&t,t>>8&255,t>>16&255,t>>24&255]);return e?i:i.reverse()}function g(t){const e=b(t),i=e<0,r=i?-e:e;if(i){if(r%2!=0)throw new Error("Invalid UCS-2 data size");return String.fromCodePoint(...u(f(t,r),2).map((t=>_(t))))}{const e=f(t,r).subarray(0,-1);return String.fromCharCode.apply(null,e)}}function m(t){return/^[\x00-\x7F]*$/.test(t)?k(p(t.length+1),new Uint8Array(t.split("").map((t=>t.charCodeAt(0)))),new Uint8Array([0])):k(p(-2*(t.length+1)),new Uint8Array(t.split("").flatMap((t=>[255&t.charCodeAt(0),t.charCodeAt(0)>>8]))),new Uint8Array([0]))}class w{constructor(t){this.pos=0,this.buffer=t}empty(){return this.pos>=8*this.buffer.length}bit(){const t=0!=(this.buffer[this.pos>>3]&1<<(7&this.pos));return this.pos++,t}align(){this.pos=this.pos+7&-8}int(t){let e=0,i=1;for(;e+i<t&&0!==i;)this.bit()&&(e|=i),i<<=1;return e}uint_packed(){let t=0;for(let e=0;e<5;e++){const i=this.bit();let r=0;for(let t=0;t<7;t++)r|=(this.bit()?1:0)<<t;if(t|=r<<7*e,!i)break}return t}int_packed(){const t=this.uint_packed();return(t>>1)*(0!=(1&t)?1:-1)}bits(t){const e=[];for(let i=0;i<t;i++){const t=7&i;e[i>>3]=e[i>>3]&~(1<<t)|(this.bit()?1:0)<<t}return e}bytes(t){return new Uint8Array(this.bytesArr(t))}bytesArr(t){return this.bits(8*t)}array(t){const e=b(this.bytes(4)),i=Array(e);for(let r=0;r<e;r++)i[r]=t(this);return i}each(t){const e=b(this.bytes(4));for(let i=0;i<e;i++)t(this)}string(){const t=this.bytesArr(4),e=b(new Uint8Array(t));return g(new Uint8Array(t.concat(this.bytesArr(e))))}float(){const t=new DataView(new ArrayBuffer(4));return t.setUint16(2,_(this.bytes(2))),t.setUint16(0,_(this.bytes(2))),t.getFloat32(0)}unreal(t){switch(t){case"Class":case"Object":return this.string();case"Boolean":return!!b(this.bytes(4));case"Float":return this.float();case"Color":return h(this.bytesArr(4));case"Byte":return this.bytes(1)[0];case"Rotator":return[this.float(),this.float(),this.float()]}throw new Error("Unknown unreal type "+t)}}class y{constructor(){this.buffer=[],this.cur=0,this.bitNum=0}bit(t){this.cur|=(t?1:0)<<this.bitNum,this.bitNum++,this.bitNum>=8&&this.align()}bits(t,e){for(let i=0;i<e;i++)this.bit(0!=(t[i>>3]&1<<(7&i)))}bytes(t){this.bits(t,8*t.length)}align(){this.bitNum>0&&(this.buffer.push(this.cur),this.cur=0,this.bitNum=0)}int(t,e){if(e<2)throw new Error(`Invalid input (BitWriter) -- max (${e}) must be at least 2`);if(t>=e)throw new Error(`Invalid input (BitWriter) -- value (${t}) is larger than max (${e})`);let i=0,r=1;for(;i+r<e&&0!==r;)this.bit(0!=(t&r)),0!=(t&r)&&(i|=r),r<<=1}uint_packed(t){do{const e=127&t;t>>=7,this.bit(0!==t),this.bits([e],7)}while(0!==t)}int_packed(t){this.uint_packed(Math.abs(t)<<1|(t>=0?1:0))}finish(){return this.align(),new Uint8Array(this.buffer)}finishSection(){return this.align(),k(p(this.buffer.length),new Uint8Array(this.buffer))}string(t){this.bytes(m(t))}float(t){const e=new Float32Array(1);e[0]=t;const i=new Int8Array(e.buffer);this.bytes([i[0],i[1],i[2],i[3]])}self(t){return t.bind(this)(),this}array(t,e){return this.bytes(p(t.length)),t.forEach(e.bind(this)),this}each(t,e){return t.forEach(e.bind(this)),this}unreal(t,e){switch(t){case"Class":if("string"!=typeof e)throw new Error(`writing unreal type Class, did not receive string (${e})`);return void this.string(e);case"Object":if("string"!=typeof e)throw new Error(`writing unreal type Object, did not receive string (${e})`);return void this.string(e);case"Boolean":if("boolean"!=typeof e)throw new Error(`writing unreal type Boolean, did not receive boolean (${e})`);return void this.bytes(p(e?1:0));case"Float":if("number"!=typeof e)throw new Error(`writing unreal type Float, did not receive float (${e})`);return void this.float(e);case"Byte":if("number"!=typeof e)throw new Error(`writing unreal type Byte, did not receive Byte (${e})`);return void this.bytes([255&e]);case"Color":if(!Array.isArray(e)||4!==e.length)throw new Error(`writing unreal type Array, did not receive Array (${e})`);return void this.bytes(h(e));case"Rotator":if(!Array.isArray(e)||3!==e.length)throw new Error(`writing unreal type Array, did not receive Array (${e})`);return this.float(e[0]),this.float(e[1]),void this.float(e[2])}throw new Error("Unknown unreal type "+t)}}function k(...t){const e=t.reduce(((t,e)=>t+e.length),0),i=new Uint8Array(e);let r=0;for(const e of t)i.set(e,r),r+=e.length;return i}const v={bytes:f,u16:_,i32:b,compressed:function(t){const e=b(t),i=b(t);if(i<0||e<0||i>=e)throw new Error(`Invalid compressed section size (comp: ${i}, uncomp: ${e})`);if(0===i)return f(t,e);{const e=f(t,i);return(0,o.inflate)(e)}},string:g,uuid:function(t){return e=u(f(t,16),4).flatMap((([t,e,i,r])=>[r,i,e,t])),(l[e[0]]+l[e[1]]+l[e[2]]+l[e[3]]+"-"+l[e[4]]+l[e[5]]+"-"+l[e[6]]+l[e[7]]+"-"+l[e[8]]+l[e[9]]+"-"+l[e[10]]+l[e[11]]+l[e[12]]+l[e[13]]+l[e[14]]+l[e[15]]).toLowerCase();var e},array:function(t,e){const i=b(t),r=Array(i);for(let n=0;n<i;n++)r[n]=e(t);return r},each:function(t,e){const i=b(t);for(let r=0;r<i;r++)e(t)},bits:t=>new w(t)},x={u16:function(t,e=!0){const i=[255&t,t>>8&255];return new Uint8Array(e?i:i.reverse())},i32:p,compressed:function(...t){const e=k(...t),i=(0,o.deflate)(e),r=e.length,n=i.length;if(r>a)throw new Error(`uncompressedSize (${r}) out of range`);if(n>a)throw new Error(`compressedSize (${n}) out of range`);const s=n>=r;return k(p(r),p(s?0:n),s?e:i)},uncompressed:function(...t){const e=k(...t);return k(p(e.length),p(0),e)},string:m,uuid:function(t){return k(...u(function(t){let e;const i=new Uint8Array(16);return i[0]=(e=parseInt(t.slice(0,8),16))>>>24,i[1]=e>>>16&255,i[2]=e>>>8&255,i[3]=255&e,i[4]=(e=parseInt(t.slice(9,13),16))>>>8,i[5]=255&e,i[6]=(e=parseInt(t.slice(14,18),16))>>>8,i[7]=255&e,i[8]=(e=parseInt(t.slice(19,23),16))>>>8,i[9]=255&e,i[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,i[11]=e/4294967296&255,i[12]=e>>>24&255,i[13]=e>>>16&255,i[14]=e>>>8&255,i[15]=255&e,i}(t),4).map((([t,e,i,r])=>new Uint8Array([r,i,e,t]))))},array:function(t,e){return k(p(t.length),...t.map((t=>e(t))))},bits:()=>new y},z=new Uint8Array([]),A={read:function(t,e={}){if("object"!=typeof e)throw new Error("Invalid options");if("boolean"!=typeof e.bricks&&(e.bricks=!0),"boolean"!=typeof e.preview&&(e.preview=!1),t[0]!==r[0]||t[1]!==r[1]||t[2]!==r[2])throw new Error("Invalid starting bytes");const i=t;i.brsOffset=3;const n=v.u16(i);switch(n){case 1:return function(t,e={}){const i=v.compressed(t),r=v.compressed(t),n=v.string(i),a=v.string(i),s=v.string(i),o=v.uuid(i),l=v.i32(i),d=v.array(r,v.string),c=v.array(r,v.string),f=v.array(r,(t=>h(Array.from(v.bytes(t,4)))));let u=[];const _=Math.max(c.length,2);if(e.bricks){u=Array(l);const e=v.compressed(t),i=v.bits(e);for(let t=0;!i.empty()&&t<l;t++){i.align();const e=i.int(_),r=i.bit()?[i.uint_packed(),i.uint_packed(),i.uint_packed()]:[0,0,0],n=[i.int_packed(),i.int_packed(),i.int_packed()],a=i.int(24),s=(a>>2)%6,o=3&a,l=i.bit(),d=i.bit(),c=i.bit()?h(i.bytesArr(4)):i.int(f.length);u[t]={asset_name_index:e,size:r,collision:l,position:n,direction:s,rotation:o,visibility:d,color:c}}}return{version:1,map:n,description:s,author:{id:o,name:a},mods:d,brick_assets:c,colors:f,bricks:u,brick_count:l}}(i,e);case 2:return function(t,e={}){const i=v.compressed(t),r=v.compressed(t),n=v.string(i),a=v.string(i),s=v.string(i),o=v.uuid(i),l=v.i32(i),d=v.array(r,v.string),c=v.array(r,v.string),f=v.array(r,(t=>h(Array.from(v.bytes(t,4))))),u=v.array(r,v.string);let _=[];const b=Math.max(c.length,2);if(e.bricks){_=Array(l);const e=v.compressed(t),i=v.bits(e);for(let t=0;!i.empty()&&t<l;t++){i.align();const e=i.int(b),r=i.bit()?[i.uint_packed(),i.uint_packed(),i.uint_packed()]:[0,0,0],n=[i.int_packed(),i.int_packed(),i.int_packed()],a=i.int(24),s=(a>>2)%6,o=3&a,l=i.bit(),d=i.bit(),c=i.bit()?i.uint_packed():1,u=i.bit()?h(i.bytesArr(4)):i.int(f.length);_[t]={asset_name_index:e,size:r,position:n,direction:s,rotation:o,collision:l,visibility:d,material_index:c,color:u}}}return{version:2,map:n,description:s,author:{id:o,name:a},mods:d,brick_assets:c,colors:f,materials:u,bricks:_,brick_count:l}}(i,e);case 3:return function(t,e={}){const i=v.compressed(t),r=v.compressed(t),n=v.string(i),a=v.string(i),s=v.string(i),o=v.uuid(i),l=v.i32(i),d=v.array(r,v.string),c=v.array(r,v.string),f=v.array(r,(t=>h(Array.from(v.bytes(t,4))))),u=v.array(r,v.string),_=v.array(r,(t=>({id:v.uuid(t),name:v.string(t)})));let b=[];const p=Math.max(c.length,2);if(e.bricks){b=Array(l);const e=v.compressed(t),i=v.bits(e);for(let t=0;!i.empty()&&t<l;t++){i.align();const e=i.int(p),r=i.bit()?[i.uint_packed(),i.uint_packed(),i.uint_packed()]:[0,0,0],n=[i.int_packed(),i.int_packed(),i.int_packed()],a=i.int(24),s=(a>>2)%6,o=3&a,l=i.bit(),d=i.bit(),c=i.bit()?i.uint_packed():1,u=i.bit()?h(i.bytesArr(4)):i.int(f.length),_=i.uint_packed();b[t]={asset_name_index:e,size:r,position:n,direction:s,rotation:o,collision:l,visibility:d,material_index:c,color:u,owner_index:_}}}return{version:3,map:n,description:s,author:{id:o,name:a},mods:d,brick_assets:c,colors:f,materials:u,brick_owners:_,bricks:b,brick_count:l}}(i,e);case 4:return function(t,e={}){const i=v.compressed(t),r=v.compressed(t),n=v.string(i),a=v.string(i),s=v.string(i),o=v.uuid(i),l=v.bytes(i,8),d=v.i32(i),c=v.array(r,v.string),f=v.array(r,v.string),u=v.array(r,(t=>h(Array.from(v.bytes(t,4))))),_=v.array(r,v.string),b=v.array(r,(t=>({id:v.uuid(t),name:v.string(t)})));let p=[];const g=Math.max(f.length,2);if(e.bricks){p=Array(d);const e=v.compressed(t),i=v.bits(e);for(let t=0;!i.empty()&&t<d;t++){i.align();const e=i.int(g),r=i.bit()?[i.uint_packed(),i.uint_packed(),i.uint_packed()]:[0,0,0],n=[i.int_packed(),i.int_packed(),i.int_packed()],a=i.int(24),s=(a>>2)%6,o=3&a,l=i.bit(),d=i.bit(),c=i.bit()?i.uint_packed():1,f=i.bit()?h(i.bytesArr(4)):i.int(u.length),_=i.uint_packed();p[t]={asset_name_index:e,size:r,position:n,direction:s,rotation:o,collision:l,visibility:d,material_index:c,color:f,owner_index:_}}}return{version:4,map:n,description:s,author:{id:o,name:a},mods:c,brick_assets:f,colors:u,materials:_,brick_owners:b,bricks:p,brick_count:d,save_time:l}}(i,e);case 8:return function(t,e={}){const i=v.i32(t),r=v.compressed(t),n=v.compressed(t),a=v.string(r),s=v.string(r),o=v.string(r),l=v.uuid(r),d={name:v.string(r),id:v.uuid(r)},c=v.bytes(r,8),f=v.i32(r),u=v.array(n,v.string),_=v.array(n,v.string),b=v.array(n,(t=>h(Array.from(v.bytes(t,4))))),p=v.array(n,v.string),g=v.array(n,(t=>({id:v.uuid(t),name:v.string(t),bricks:v.i32(t)})));let m=null;if(v.bytes(t,1)[0]){const i=v.i32(t);e.preview?m=v.bytes(t,i):t.brsOffset+=i}let w=[];const y={},k=Math.max(p.length,2),x=Math.max(_.length,2);if(e.bricks){w=Array(f);const e=v.compressed(t),i=v.bits(e);for(let t=0;!i.empty()&&t<f;t++){i.align();const e=i.int(x),r=i.bit()?[i.uint_packed(),i.uint_packed(),i.uint_packed()]:[0,0,0],n=[i.int_packed(),i.int_packed(),i.int_packed()],a=i.int(24),s=(a>>2)%6,o=3&a,l=i.bit(),d=i.bit(),c=i.int(k),f=i.bit()?h(i.bytesArr(4)):i.int(b.length),u=i.uint_packed();w[t]={asset_name_index:e,size:r,position:n,direction:s,rotation:o,collision:l,visibility:d,material_index:c,color:f,owner_index:u,components:{}}}const r=v.compressed(t),n=Math.max(w.length,2);v.each(r,(t=>{const e=v.string(t),i=v.bits(v.bytes(t,v.i32(t))),r=v.i32(i.bytes(4)),a=i.array((()=>i.int(n))),s=i.array((()=>[i.string(),i.string()]));for(const t of a){const r={};for(const[t,e]of s)r[t]=i.unreal(e);w[t].components[e]=r}y[e]={version:r,brick_indices:a,properties:Object.fromEntries(s)}}))}return{version:8,game_version:i,map:a,description:o,author:{id:l,name:s},host:d,mods:u,brick_assets:_,colors:b,materials:p,brick_owners:g,preview:m,bricks:w,brick_count:f,save_time:c,components:y}}(i,e);case 9:return function(t,e={}){const i=v.i32(t),r=v.compressed(t),n=v.compressed(t),a=v.string(r),s=v.string(r),o=v.string(r),l=v.uuid(r),d={name:v.string(r),id:v.uuid(r)},c=v.bytes(r,8),f=v.i32(r),u=v.array(n,v.string),_=v.array(n,v.string),b=v.array(n,(t=>h(Array.from(v.bytes(t,4))))),p=v.array(n,v.string),g=v.array(n,(t=>({id:v.uuid(t),name:v.string(t),bricks:v.i32(t)}))),m=v.array(n,v.string);let w=null;if(v.bytes(t,1)[0]){const i=v.i32(t);e.preview?w=v.bytes(t,i):t.brsOffset+=i}let y=[];const k={},x=Math.max(m.length,2),z=Math.max(p.length,2),A=Math.max(_.length,2);if(e.bricks){y=Array(f);const e=v.compressed(t),i=v.bits(e);for(let t=0;!i.empty()&&t<f;t++){i.align();const e=i.int(A),r=i.bit()?[i.uint_packed(),i.uint_packed(),i.uint_packed()]:[0,0,0],n=[i.int_packed(),i.int_packed(),i.int_packed()],a=i.int(24),s=(a>>2)%6,o=3&a,l=i.bit(),h=i.bit(),d=i.int(z),c=i.int(x),f=i.int(11),u=i.bit()?i.bytesArr(3):i.int(b.length),_=i.uint_packed();y[t]={asset_name_index:e,size:r,position:n,direction:s,rotation:o,collision:l,visibility:h,material_index:d,physical_index:c,material_intensity:f,color:u,owner_index:_,components:{}}}const r=v.compressed(t),n=Math.max(y.length,2);v.each(r,(t=>{const e=v.string(t),i=v.bits(v.bytes(t,v.i32(t))),r=v.i32(i.bytes(4)),a=i.array((()=>i.int(n))),s=i.array((()=>[i.string(),i.string()]));for(const t of a){const r={};for(const[t,e]of s)r[t]=i.unreal(e);y[t].components[e]=r}k[e]={version:r,brick_indices:a,properties:Object.fromEntries(s)}}))}return{version:9,game_version:i,map:a,description:o,author:{id:l,name:s},host:d,mods:u,brick_assets:_,colors:b,materials:p,brick_owners:g,physical_materials:m,preview:w,bricks:y,brick_count:f,save_time:c,components:k}}(i,e);case 10:return function(t,e={}){const i=v.i32(t),r=v.compressed(t),n=v.compressed(t),a=v.string(r),s=v.string(r),o=v.string(r),l=v.uuid(r),d={name:v.string(r),id:v.uuid(r)},c=v.bytes(r,8),f=v.i32(r),u=v.array(n,v.string),_=v.array(n,v.string),b=v.array(n,(t=>h(Array.from(v.bytes(t,4))))),p=v.array(n,v.string),g=v.array(n,(t=>({id:v.uuid(t),name:v.string(t),bricks:v.i32(t)}))),m=v.array(n,v.string);let w=null;if(v.bytes(t,1)[0]){const i=v.i32(t);e.preview?w=v.bytes(t,i):t.brsOffset+=i}let y=[];const k={},x=Math.max(m.length,2),z=Math.max(p.length,2),A=Math.max(_.length,2);if(e.bricks){y=Array(f);const e=v.compressed(t),i=v.bits(e);for(let t=0;!i.empty()&&t<f;t++){i.align();const e=i.int(A),r=i.bit()?[i.uint_packed(),i.uint_packed(),i.uint_packed()]:[0,0,0],n=[i.int_packed(),i.int_packed(),i.int_packed()],a=i.int(24),s=(a>>2)%6,o=3&a,l={player:i.bit(),weapon:i.bit(),interaction:i.bit(),tool:i.bit()},h=i.bit(),d=i.int(z),c=i.int(x),f=i.int(11),u=i.bit()?i.bytesArr(3):i.int(b.length),_=i.uint_packed();y[t]={asset_name_index:e,size:r,position:n,direction:s,rotation:o,collision:l,visibility:h,material_index:d,physical_index:c,material_intensity:f,color:u,owner_index:_,components:{}}}const r=v.compressed(t),n=Math.max(y.length,2);v.each(r,(t=>{const e=v.string(t),i=v.bits(v.bytes(t,v.i32(t))),r=v.i32(i.bytes(4)),a=i.array((()=>i.int(n))),s=i.array((()=>[i.string(),i.string()]));for(const t of a){const r={};for(const[t,e]of s)r[t]=i.unreal(e);y[t].components[e]=r}k[e]={version:r,brick_indices:a,properties:Object.fromEntries(s)}}))}return{version:10,game_version:i,map:a,description:o,author:{id:l,name:s},host:d,mods:u,brick_assets:_,colors:b,materials:p,brick_owners:g,physical_materials:m,preview:w,bricks:y,brick_count:f,save_time:c,components:k}}(i,e);default:throw new Error("Unsupported version "+n)}},write:function(t,e={}){if("object"!=typeof t)throw new Error("Expected save to be an object");if(!Array.isArray(t.bricks)||0===t.bricks.length)throw new Error("Expected save to have bricks field");if(t.bricks.length>a)throw new Error("Brick count out of range");const i=e.compress?x.compressed:x.uncompressed,o={},l=Math.max(t.colors?.length??0,2),h=Math.max(t.brick_assets?.length??0,2),c=Math.max(t.materials?.length??0,2),f=Math.max(t.physical_materials?.length??0,2);if(t.preview&&!Array.isArray(t.preview))throw new Error("Expected preview to be an array");return k(r,x.u16(n),x.i32(t.game_version??0),i(x.string(t.map??"Unknown"),x.string(t.author?.name??"Unknown"),x.string(t.description??""),x.uuid(t.author?.id??s),k(x.string(t.host?.name??"Unknown"),x.uuid(t.host?.id??s)),new Uint8Array(t.save_time&&(Array.isArray(t.save_time)||t.save_time instanceof Uint8Array)&&8===t.save_time.length?t.save_time:[0,0,0,0,0,0,0,0]),x.i32(t.bricks.length)),i(x.array(t.mods??[],x.string),x.array(t.brick_assets??["PB_DefaultBrick"],x.string),x.array(t.colors??[],(([t,e,i,r])=>new Uint8Array([i,e,t,r]))),x.array(t.materials??["BMC_Plastic"],x.string),x.array(t.brick_owners??[],(({id:t=s,name:e="Unknown",bricks:i=0})=>k(x.uuid(t),x.string(e),x.i32(i)))),x.array(t.physical_materials??["BPMC_Default"],x.string)),k(new Uint8Array([t.preview?1:0]),t.preview?x.i32(t.preview.length):z,t.preview??z),i(x.bits().each(t.bricks,(function(t,e){if("object"!=typeof t)throw new Error(`Expected save.bricks[${e}] to be an object`);if(!Array.isArray(t.size)||3!==t.size.length)throw new Error(`Expected save.bricks[${e}].size to be an array of length 3`);if(!Array.isArray(t.position)||3!==t.position.length)throw new Error(`Expected save.bricks[${e}].position to be an array of length 3`);this.align(),this.int(t.asset_name_index??0,h);const i=d(t.size,[0,0,0]);if(this.bit(!i),i||t.size.map((t=>this.uint_packed(t))),t.position.map((t=>this.int_packed(t))),this.int((t.direction??4)<<2|(t.rotation??0),24),"boolean"==typeof t.collision?(this.bit(t.collision),this.bit(t.collision),this.bit(t.collision),this.bit(!0)):(this.bit(t.collision?.player??!0),this.bit(t.collision?.weapon??!0),this.bit(t.collision?.interaction??!0),this.bit(t.collision?.tool??!0)),this.bit(t?.visibility??!0),this.int(t?.material_index??0,c),this.int(t.physical_index??0,f),this.int(t.material_intensity??5,11),"number"==typeof t.color)this.bit(!1),this.int(t.color,l);else{if(this.bit(!0),t.color&&(!Array.isArray(t.color)||3!==t.color.length))throw new Error(`Expected save.bricks[${e}].color to be an array of length 3`);this.bytes(new Uint8Array(t.color??[255,255,255]))}this.uint_packed(t.owner_index??1);for(const i in t.components??{})o[i]??(o[i]=[]),o[i].push(e)})).finish()),i(x.array(Object.keys(t.components??{}).filter((t=>o[t])),(e=>k(x.string(e),x.bits().self((function(){const i=t.components[e],r=o[e],n=Object.entries(i.properties);this.bytes(x.i32(i.version)),this.array(r,(e=>{this.int(e,Math.max(t.bricks.length,2))})),this.array(n,(([t,e])=>{this.string(t),this.string(e)}));for(const i of r)for(const[r,a]of n){if(!(r in t.bricks[i].components[e]))throw new Error(`Expected save.bricks[${i}].components[${e}] to have property '${r}' of type '${a}'`);this.unreal(a,t.bricks[i].components[e][r])}this.align()})).finishSection())))))},utils:e,constants:t};"undefined"!=typeof window&&(window.BRS=A)})()})();
1
+ (()=>{"use strict";var t={591:(t,e,i)=>{var r={};(0,i(236).assign)(r,i(555),i(843),i(619)),t.exports=r},555:(t,e,i)=>{var r=i(405),n=i(236),a=i(373),s=i(898),o=i(292),l=Object.prototype.toString;function h(t){if(!(this instanceof h))return new h(t);this.options=n.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 o,this.strm.avail_out=0;var i=r.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(0!==i)throw new Error(s[i]);if(e.header&&r.deflateSetHeader(this.strm,e.header),e.dictionary){var d;if(d="string"==typeof e.dictionary?a.string2buf(e.dictionary):"[object ArrayBuffer]"===l.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,0!==(i=r.deflateSetDictionary(this.strm,d)))throw new Error(s[i]);this._dict_set=!0}}function d(t,e){var i=new h(e);if(i.push(t,!0),i.err)throw i.msg||s[i.err];return i.result}h.prototype.push=function(t,e){var i,s,o=this.strm,h=this.options.chunkSize;if(this.ended)return!1;s=e===~~e?e:!0===e?4:0,"string"==typeof t?o.input=a.string2buf(t):"[object ArrayBuffer]"===l.call(t)?o.input=new Uint8Array(t):o.input=t,o.next_in=0,o.avail_in=o.input.length;do{if(0===o.avail_out&&(o.output=new n.Buf8(h),o.next_out=0,o.avail_out=h),1!==(i=r.deflate(o,s))&&0!==i)return this.onEnd(i),this.ended=!0,!1;0!==o.avail_out&&(0!==o.avail_in||4!==s&&2!==s)||("string"===this.options.to?this.onData(a.buf2binstring(n.shrinkBuf(o.output,o.next_out))):this.onData(n.shrinkBuf(o.output,o.next_out)))}while((o.avail_in>0||0===o.avail_out)&&1!==i);return 4===s?(i=r.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,0===i):2!==s||(this.onEnd(0),o.avail_out=0,!0)},h.prototype.onData=function(t){this.chunks.push(t)},h.prototype.onEnd=function(t){0===t&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=n.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},e.Deflate=h,e.deflate=d,e.deflateRaw=function(t,e){return(e=e||{}).raw=!0,d(t,e)},e.gzip=function(t,e){return(e=e||{}).gzip=!0,d(t,e)}},843:(t,e,i)=>{var r=i(948),n=i(236),a=i(373),s=i(619),o=i(898),l=i(292),h=i(401),d=Object.prototype.toString;function c(t){if(!(this instanceof c))return new c(t);this.options=n.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 l,this.strm.avail_out=0;var i=r.inflateInit2(this.strm,e.windowBits);if(i!==s.Z_OK)throw new Error(o[i]);if(this.header=new h,r.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=a.string2buf(e.dictionary):"[object ArrayBuffer]"===d.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(i=r.inflateSetDictionary(this.strm,e.dictionary))!==s.Z_OK))throw new Error(o[i])}function f(t,e){var i=new c(e);if(i.push(t,!0),i.err)throw i.msg||o[i.err];return i.result}c.prototype.push=function(t,e){var i,o,l,h,c,f=this.strm,u=this.options.chunkSize,_=this.options.dictionary,b=!1;if(this.ended)return!1;o=e===~~e?e:!0===e?s.Z_FINISH:s.Z_NO_FLUSH,"string"==typeof t?f.input=a.binstring2buf(t):"[object ArrayBuffer]"===d.call(t)?f.input=new Uint8Array(t):f.input=t,f.next_in=0,f.avail_in=f.input.length;do{if(0===f.avail_out&&(f.output=new n.Buf8(u),f.next_out=0,f.avail_out=u),(i=r.inflate(f,s.Z_NO_FLUSH))===s.Z_NEED_DICT&&_&&(i=r.inflateSetDictionary(this.strm,_)),i===s.Z_BUF_ERROR&&!0===b&&(i=s.Z_OK,b=!1),i!==s.Z_STREAM_END&&i!==s.Z_OK)return this.onEnd(i),this.ended=!0,!1;f.next_out&&(0!==f.avail_out&&i!==s.Z_STREAM_END&&(0!==f.avail_in||o!==s.Z_FINISH&&o!==s.Z_SYNC_FLUSH)||("string"===this.options.to?(l=a.utf8border(f.output,f.next_out),h=f.next_out-l,c=a.buf2string(f.output,l),f.next_out=h,f.avail_out=u-h,h&&n.arraySet(f.output,f.output,l,h,0),this.onData(c)):this.onData(n.shrinkBuf(f.output,f.next_out)))),0===f.avail_in&&0===f.avail_out&&(b=!0)}while((f.avail_in>0||0===f.avail_out)&&i!==s.Z_STREAM_END);return i===s.Z_STREAM_END&&(o=s.Z_FINISH),o===s.Z_FINISH?(i=r.inflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===s.Z_OK):o!==s.Z_SYNC_FLUSH||(this.onEnd(s.Z_OK),f.avail_out=0,!0)},c.prototype.onData=function(t){this.chunks.push(t)},c.prototype.onEnd=function(t){t===s.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=n.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},e.Inflate=c,e.inflate=f,e.inflateRaw=function(t,e){return(e=e||{}).raw=!0,f(t,e)},e.ungzip=f},236:(t,e)=>{var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function r(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 i=e.shift();if(i){if("object"!=typeof i)throw new TypeError(i+"must be non-object");for(var n in i)r(i,n)&&(t[n]=i[n])}}return t},e.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,i,r,n){if(e.subarray&&t.subarray)t.set(e.subarray(i,i+r),n);else for(var a=0;a<r;a++)t[n+a]=e[i+a]},flattenChunks:function(t){var e,i,r,n,a,s;for(r=0,e=0,i=t.length;e<i;e++)r+=t[e].length;for(s=new Uint8Array(r),n=0,e=0,i=t.length;e<i;e++)a=t[e],s.set(a,n),n+=a.length;return s}},a={arraySet:function(t,e,i,r,n){for(var a=0;a<r;a++)t[n+a]=e[i+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,n)):(e.Buf8=Array,e.Buf16=Array,e.Buf32=Array,e.assign(e,a))},e.setTyped(i)},373:(t,e,i)=>{var r=i(236),n=!0,a=!0;try{String.fromCharCode.apply(null,[0])}catch(t){n=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){a=!1}for(var s=new r.Buf8(256),o=0;o<256;o++)s[o]=o>=252?6:o>=248?5:o>=240?4:o>=224?3:o>=192?2:1;function l(t,e){if(e<65534&&(t.subarray&&a||!t.subarray&&n))return String.fromCharCode.apply(null,r.shrinkBuf(t,e));for(var i="",s=0;s<e;s++)i+=String.fromCharCode(t[s]);return i}s[254]=s[254]=1,e.string2buf=function(t){var e,i,n,a,s,o=t.length,l=0;for(a=0;a<o;a++)55296==(64512&(i=t.charCodeAt(a)))&&a+1<o&&56320==(64512&(n=t.charCodeAt(a+1)))&&(i=65536+(i-55296<<10)+(n-56320),a++),l+=i<128?1:i<2048?2:i<65536?3:4;for(e=new r.Buf8(l),s=0,a=0;s<l;a++)55296==(64512&(i=t.charCodeAt(a)))&&a+1<o&&56320==(64512&(n=t.charCodeAt(a+1)))&&(i=65536+(i-55296<<10)+(n-56320),a++),i<128?e[s++]=i:i<2048?(e[s++]=192|i>>>6,e[s++]=128|63&i):i<65536?(e[s++]=224|i>>>12,e[s++]=128|i>>>6&63,e[s++]=128|63&i):(e[s++]=240|i>>>18,e[s++]=128|i>>>12&63,e[s++]=128|i>>>6&63,e[s++]=128|63&i);return e},e.buf2binstring=function(t){return l(t,t.length)},e.binstring2buf=function(t){for(var e=new r.Buf8(t.length),i=0,n=e.length;i<n;i++)e[i]=t.charCodeAt(i);return e},e.buf2string=function(t,e){var i,r,n,a,o=e||t.length,h=new Array(2*o);for(r=0,i=0;i<o;)if((n=t[i++])<128)h[r++]=n;else if((a=s[n])>4)h[r++]=65533,i+=a-1;else{for(n&=2===a?31:3===a?15:7;a>1&&i<o;)n=n<<6|63&t[i++],a--;a>1?h[r++]=65533:n<65536?h[r++]=n:(n-=65536,h[r++]=55296|n>>10&1023,h[r++]=56320|1023&n)}return l(h,r)},e.utf8border=function(t,e){var i;for((e=e||t.length)>t.length&&(e=t.length),i=e-1;i>=0&&128==(192&t[i]);)i--;return i<0||0===i?e:i+s[t[i]]>e?i:e}},69:t=>{t.exports=function(t,e,i,r){for(var n=65535&t|0,a=t>>>16&65535|0,s=0;0!==i;){i-=s=i>2e3?2e3:i;do{a=a+(n=n+e[r++]|0)|0}while(--s);n%=65521,a%=65521}return n|a<<16|0}},619:t=>{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}},869:t=>{var e=function(){for(var t,e=[],i=0;i<256;i++){t=i;for(var r=0;r<8;r++)t=1&t?3988292384^t>>>1:t>>>1;e[i]=t}return e}();t.exports=function(t,i,r,n){var a=e,s=n+r;t^=-1;for(var o=n;o<s;o++)t=t>>>8^a[255&(t^i[o])];return-1^t}},405:(t,e,i)=>{var r,n=i(236),a=i(342),s=i(69),o=i(869),l=i(898),h=-2,d=258,c=262,f=103,u=113,_=666;function b(t,e){return t.msg=l[e],e}function p(t){return(t<<1)-(t>4?9:0)}function g(t){for(var e=t.length;--e>=0;)t[e]=0}function m(t){var e=t.state,i=e.pending;i>t.avail_out&&(i=t.avail_out),0!==i&&(n.arraySet(t.output,e.pending_buf,e.pending_out,i,t.next_out),t.next_out+=i,e.pending_out+=i,t.total_out+=i,t.avail_out-=i,e.pending-=i,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 y(t,e){t.pending_buf[t.pending++]=e}function k(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function v(t,e){var i,r,n=t.max_chain_length,a=t.strstart,s=t.prev_length,o=t.nice_match,l=t.strstart>t.w_size-c?t.strstart-(t.w_size-c):0,h=t.window,f=t.w_mask,u=t.prev,_=t.strstart+d,b=h[a+s-1],p=h[a+s];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(h[(i=e)+s]===p&&h[i+s-1]===b&&h[i]===h[a]&&h[++i]===h[a+1]){a+=2,i++;do{}while(h[++a]===h[++i]&&h[++a]===h[++i]&&h[++a]===h[++i]&&h[++a]===h[++i]&&h[++a]===h[++i]&&h[++a]===h[++i]&&h[++a]===h[++i]&&h[++a]===h[++i]&&a<_);if(r=d-(_-a),a=_-d,r>s){if(t.match_start=e,s=r,r>=o)break;b=h[a+s-1],p=h[a+s]}}}while((e=u[e&f])>l&&0!=--n);return s<=t.lookahead?s:t.lookahead}function x(t){var e,i,r,a,l,h,d,f,u,_,b=t.w_size;do{if(a=t.window_size-t.lookahead-t.strstart,t.strstart>=b+(b-c)){n.arraySet(t.window,t.window,b,b,0),t.match_start-=b,t.strstart-=b,t.block_start-=b,e=i=t.hash_size;do{r=t.head[--e],t.head[e]=r>=b?r-b:0}while(--i);e=i=b;do{r=t.prev[--e],t.prev[e]=r>=b?r-b:0}while(--i);a+=b}if(0===t.strm.avail_in)break;if(h=t.strm,d=t.window,f=t.strstart+t.lookahead,u=a,_=void 0,(_=h.avail_in)>u&&(_=u),i=0===_?0:(h.avail_in-=_,n.arraySet(d,h.input,h.next_in,_,f),1===h.state.wrap?h.adler=s(h.adler,d,_,f):2===h.state.wrap&&(h.adler=o(h.adler,d,_,f)),h.next_in+=_,h.total_in+=_,_),t.lookahead+=i,t.lookahead+t.insert>=3)for(l=t.strstart-t.insert,t.ins_h=t.window[l],t.ins_h=(t.ins_h<<t.hash_shift^t.window[l+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[l+3-1])&t.hash_mask,t.prev[l&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=l,l++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<c&&0!==t.strm.avail_in)}function z(t,e){for(var i,r;;){if(t.lookahead<c){if(x(t),t.lookahead<c&&0===e)return 1;if(0===t.lookahead)break}if(i=0,t.lookahead>=3&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==i&&t.strstart-i<=t.w_size-c&&(t.match_length=v(t,i)),t.match_length>=3)if(r=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,i=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 r=a._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(r&&(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 A(t,e){for(var i,r,n;;){if(t.lookahead<c){if(x(t),t.lookahead<c&&0===e)return 1;if(0===t.lookahead)break}if(i=0,t.lookahead>=3&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,i=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!==i&&t.prev_length<t.max_lazy_match&&t.strstart-i<=t.w_size-c&&(t.match_length=v(t,i),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){n=t.strstart+t.lookahead-3,r=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<=n&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,i=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++,r&&(w(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if((r=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&&(r=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 E(t,e,i,r,n){this.good_length=t,this.max_lazy=e,this.nice_length=i,this.max_chain=r,this.func=n}function B(){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 n.Buf16(1146),this.dyn_dtree=new n.Buf16(122),this.bl_tree=new n.Buf16(78),g(this.dyn_ltree),g(this.dyn_dtree),g(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new n.Buf16(16),this.heap=new n.Buf16(573),g(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new n.Buf16(573),g(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 S(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:u,t.adler=2===e.wrap?0:1,e.last_flush=0,a._tr_init(e),0):b(t,h)}function U(t){var e,i=S(t);return 0===i&&((e=t.state).window_size=2*e.w_size,g(e.head),e.max_lazy_match=r[e.level].max_lazy,e.good_match=r[e.level].good_length,e.nice_match=r[e.level].nice_length,e.max_chain_length=r[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),i}function O(t,e,i,r,a,s){if(!t)return h;var o=1;if(-1===e&&(e=6),r<0?(o=0,r=-r):r>15&&(o=2,r-=16),a<1||a>9||8!==i||r<8||r>15||e<0||e>9||s<0||s>4)return b(t,h);8===r&&(r=9);var l=new B;return t.state=l,l.strm=t,l.wrap=o,l.gzhead=null,l.w_bits=r,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=a+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+3-1)/3),l.window=new n.Buf8(2*l.w_size),l.head=new n.Buf16(l.hash_size),l.prev=new n.Buf16(l.w_size),l.lit_bufsize=1<<a+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new n.Buf8(l.pending_buf_size),l.d_buf=1*l.lit_bufsize,l.l_buf=3*l.lit_bufsize,l.level=e,l.strategy=s,l.method=i,U(t)}r=[new E(0,0,0,0,(function(t,e){var i=65535;for(i>t.pending_buf_size-5&&(i=t.pending_buf_size-5);;){if(t.lookahead<=1){if(x(t),0===t.lookahead&&0===e)return 1;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var r=t.block_start+i;if((0===t.strstart||t.strstart>=r)&&(t.lookahead=t.strstart-r,t.strstart=r,w(t,!1),0===t.strm.avail_out))return 1;if(t.strstart-t.block_start>=t.w_size-c&&(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 E(4,4,8,4,z),new E(4,5,16,8,z),new E(4,6,32,32,z),new E(4,4,16,16,A),new E(8,16,32,32,A),new E(8,16,128,128,A),new E(8,32,128,256,A),new E(32,128,258,1024,A),new E(32,258,258,4096,A)],e.deflateInit=function(t,e){return O(t,e,8,15,8,0)},e.deflateInit2=O,e.deflateReset=U,e.deflateResetKeep=S,e.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?h:(t.state.gzhead=e,0):h},e.deflate=function(t,e){var i,n,s,l;if(!t||!t.state||e>5||e<0)return t?b(t,h):h;if(n=t.state,!t.output||!t.input&&0!==t.avail_in||n.status===_&&4!==e)return b(t,0===t.avail_out?-5:h);if(n.strm=t,i=n.last_flush,n.last_flush=e,42===n.status)if(2===n.wrap)t.adler=0,y(n,31),y(n,139),y(n,8),n.gzhead?(y(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),y(n,255&n.gzhead.time),y(n,n.gzhead.time>>8&255),y(n,n.gzhead.time>>16&255),y(n,n.gzhead.time>>24&255),y(n,9===n.level?2:n.strategy>=2||n.level<2?4:0),y(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(y(n,255&n.gzhead.extra.length),y(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(t.adler=o(t.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(y(n,0),y(n,0),y(n,0),y(n,0),y(n,0),y(n,9===n.level?2:n.strategy>=2||n.level<2?4:0),y(n,3),n.status=u);else{var c=8+(n.w_bits-8<<4)<<8;c|=(n.strategy>=2||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(c|=32),c+=31-c%31,n.status=u,k(n,c),0!==n.strstart&&(k(n,t.adler>>>16),k(n,65535&t.adler)),t.adler=1}if(69===n.status)if(n.gzhead.extra){for(s=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>s&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),m(t),s=n.pending,n.pending!==n.pending_buf_size));)y(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>s&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){s=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>s&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),m(t),s=n.pending,n.pending===n.pending_buf_size)){l=1;break}l=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,y(n,l)}while(0!==l);n.gzhead.hcrc&&n.pending>s&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),0===l&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){s=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>s&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),m(t),s=n.pending,n.pending===n.pending_buf_size)){l=1;break}l=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,y(n,l)}while(0!==l);n.gzhead.hcrc&&n.pending>s&&(t.adler=o(t.adler,n.pending_buf,n.pending-s,s)),0===l&&(n.status=f)}else n.status=f;if(n.status===f&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&m(t),n.pending+2<=n.pending_buf_size&&(y(n,255&t.adler),y(n,t.adler>>8&255),t.adler=0,n.status=u)):n.status=u),0!==n.pending){if(m(t),0===t.avail_out)return n.last_flush=-1,0}else if(0===t.avail_in&&p(e)<=p(i)&&4!==e)return b(t,-5);if(n.status===_&&0!==t.avail_in)return b(t,-5);if(0!==t.avail_in||0!==n.lookahead||0!==e&&n.status!==_){var v=2===n.strategy?function(t,e){for(var i;;){if(0===t.lookahead&&(x(t),0===t.lookahead)){if(0===e)return 1;break}if(t.match_length=0,i=a._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,i&&(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}(n,e):3===n.strategy?function(t,e){for(var i,r,n,s,o=t.window;;){if(t.lookahead<=d){if(x(t),t.lookahead<=d&&0===e)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(r=o[n=t.strstart-1])===o[++n]&&r===o[++n]&&r===o[++n]){s=t.strstart+d;do{}while(r===o[++n]&&r===o[++n]&&r===o[++n]&&r===o[++n]&&r===o[++n]&&r===o[++n]&&r===o[++n]&&r===o[++n]&&n<s);t.match_length=d-(s-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(i=a._tr_tally(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(i=a._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),i&&(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}(n,e):r[n.level].func(n,e);if(3!==v&&4!==v||(n.status=_),1===v||3===v)return 0===t.avail_out&&(n.last_flush=-1),0;if(2===v&&(1===e?a._tr_align(n):5!==e&&(a._tr_stored_block(n,0,0,!1),3===e&&(g(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),m(t),0===t.avail_out))return n.last_flush=-1,0}return 4!==e?0:n.wrap<=0?1:(2===n.wrap?(y(n,255&t.adler),y(n,t.adler>>8&255),y(n,t.adler>>16&255),y(n,t.adler>>24&255),y(n,255&t.total_in),y(n,t.total_in>>8&255),y(n,t.total_in>>16&255),y(n,t.total_in>>24&255)):(k(n,t.adler>>>16),k(n,65535&t.adler)),m(t),n.wrap>0&&(n.wrap=-n.wrap),0!==n.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!==f&&e!==u&&e!==_?b(t,h):(t.state=null,e===u?b(t,-3):0):h},e.deflateSetDictionary=function(t,e){var i,r,a,o,l,d,c,f,u=e.length;if(!t||!t.state)return h;if(2===(o=(i=t.state).wrap)||1===o&&42!==i.status||i.lookahead)return h;for(1===o&&(t.adler=s(t.adler,e,u,0)),i.wrap=0,u>=i.w_size&&(0===o&&(g(i.head),i.strstart=0,i.block_start=0,i.insert=0),f=new n.Buf8(i.w_size),n.arraySet(f,e,u-i.w_size,i.w_size,0),e=f,u=i.w_size),l=t.avail_in,d=t.next_in,c=t.input,t.avail_in=u,t.next_in=0,t.input=e,x(i);i.lookahead>=3;){r=i.strstart,a=i.lookahead-2;do{i.ins_h=(i.ins_h<<i.hash_shift^i.window[r+3-1])&i.hash_mask,i.prev[r&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=r,r++}while(--a);i.strstart=r,i.lookahead=2,x(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=2,i.match_available=0,t.next_in=d,t.input=c,t.avail_in=l,i.wrap=o,0},e.deflateInfo="pako deflate (from Nodeca project)"},401:t=>{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}},264:t=>{t.exports=function(t,e){var i,r,n,a,s,o,l,h,d,c,f,u,_,b,p,g,m,w,y,k,v,x,z,A,E;i=t.state,r=t.next_in,A=t.input,n=r+(t.avail_in-5),a=t.next_out,E=t.output,s=a-(e-t.avail_out),o=a+(t.avail_out-257),l=i.dmax,h=i.wsize,d=i.whave,c=i.wnext,f=i.window,u=i.hold,_=i.bits,b=i.lencode,p=i.distcode,g=(1<<i.lenbits)-1,m=(1<<i.distbits)-1;t:do{_<15&&(u+=A[r++]<<_,_+=8,u+=A[r++]<<_,_+=8),w=b[u&g];e:for(;;){if(u>>>=y=w>>>24,_-=y,0==(y=w>>>16&255))E[a++]=65535&w;else{if(!(16&y)){if(0==(64&y)){w=b[(65535&w)+(u&(1<<y)-1)];continue e}if(32&y){i.mode=12;break t}t.msg="invalid literal/length code",i.mode=30;break t}k=65535&w,(y&=15)&&(_<y&&(u+=A[r++]<<_,_+=8),k+=u&(1<<y)-1,u>>>=y,_-=y),_<15&&(u+=A[r++]<<_,_+=8,u+=A[r++]<<_,_+=8),w=p[u&m];i:for(;;){if(u>>>=y=w>>>24,_-=y,!(16&(y=w>>>16&255))){if(0==(64&y)){w=p[(65535&w)+(u&(1<<y)-1)];continue i}t.msg="invalid distance code",i.mode=30;break t}if(v=65535&w,_<(y&=15)&&(u+=A[r++]<<_,(_+=8)<y&&(u+=A[r++]<<_,_+=8)),(v+=u&(1<<y)-1)>l){t.msg="invalid distance too far back",i.mode=30;break t}if(u>>>=y,_-=y,v>(y=a-s)){if((y=v-y)>d&&i.sane){t.msg="invalid distance too far back",i.mode=30;break t}if(x=0,z=f,0===c){if(x+=h-y,y<k){k-=y;do{E[a++]=f[x++]}while(--y);x=a-v,z=E}}else if(c<y){if(x+=h+c-y,(y-=c)<k){k-=y;do{E[a++]=f[x++]}while(--y);if(x=0,c<k){k-=y=c;do{E[a++]=f[x++]}while(--y);x=a-v,z=E}}}else if(x+=c-y,y<k){k-=y;do{E[a++]=f[x++]}while(--y);x=a-v,z=E}for(;k>2;)E[a++]=z[x++],E[a++]=z[x++],E[a++]=z[x++],k-=3;k&&(E[a++]=z[x++],k>1&&(E[a++]=z[x++]))}else{x=a-v;do{E[a++]=E[x++],E[a++]=E[x++],E[a++]=E[x++],k-=3}while(k>2);k&&(E[a++]=E[x++],k>1&&(E[a++]=E[x++]))}break}}break}}while(r<n&&a<o);r-=k=_>>3,u&=(1<<(_-=k<<3))-1,t.next_in=r,t.next_out=a,t.avail_in=r<n?n-r+5:5-(r-n),t.avail_out=a<o?o-a+257:257-(a-o),i.hold=u,i.bits=_}},948:(t,e,i)=>{var r=i(236),n=i(69),a=i(869),s=i(264),o=i(241),l=-2,h=12,d=30;function c(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function f(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function u(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 r.Buf32(852),e.distcode=e.distdyn=new r.Buf32(592),e.sane=1,e.back=-1,0):l}function _(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,u(t)):l}function b(t,e){var i,r;return t&&t.state?(r=t.state,e<0?(i=0,e=-e):(i=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?l:(null!==r.window&&r.wbits!==e&&(r.window=null),r.wrap=i,r.wbits=e,_(t))):l}function p(t,e){var i,r;return t?(r=new f,t.state=r,r.window=null,0!==(i=b(t,e))&&(t.state=null),i):l}var g,m,w=!0;function y(t){if(w){var e;for(g=new r.Buf32(512),m=new r.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(o(1,t.lens,0,288,g,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;o(2,t.lens,0,32,m,0,t.work,{bits:5}),w=!1}t.lencode=g,t.lenbits=9,t.distcode=m,t.distbits=5}function k(t,e,i,n){var a,s=t.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new r.Buf8(s.wsize)),n>=s.wsize?(r.arraySet(s.window,e,i-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):((a=s.wsize-s.wnext)>n&&(a=n),r.arraySet(s.window,e,i-n,a,s.wnext),(n-=a)?(r.arraySet(s.window,e,i-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=a,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=a))),0}e.inflateReset=_,e.inflateReset2=b,e.inflateResetKeep=u,e.inflateInit=function(t){return p(t,15)},e.inflateInit2=p,e.inflate=function(t,e){var i,f,u,_,b,p,g,m,w,v,x,z,A,E,B,S,U,O,Z,C,I,N,D,M,R=0,j=new r.Buf8(4),F=[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 l;(i=t.state).mode===h&&(i.mode=13),b=t.next_out,u=t.output,g=t.avail_out,_=t.next_in,f=t.input,p=t.avail_in,m=i.hold,w=i.bits,v=p,x=g,N=0;t:for(;;)switch(i.mode){case 1:if(0===i.wrap){i.mode=13;break}for(;w<16;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}if(2&i.wrap&&35615===m){i.check=0,j[0]=255&m,j[1]=m>>>8&255,i.check=a(i.check,j,2,0),m=0,w=0,i.mode=2;break}if(i.flags=0,i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&m)<<8)+(m>>8))%31){t.msg="incorrect header check",i.mode=d;break}if(8!=(15&m)){t.msg="unknown compression method",i.mode=d;break}if(w-=4,I=8+(15&(m>>>=4)),0===i.wbits)i.wbits=I;else if(I>i.wbits){t.msg="invalid window size",i.mode=d;break}i.dmax=1<<I,t.adler=i.check=1,i.mode=512&m?10:h,m=0,w=0;break;case 2:for(;w<16;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}if(i.flags=m,8!=(255&i.flags)){t.msg="unknown compression method",i.mode=d;break}if(57344&i.flags){t.msg="unknown header flags set",i.mode=d;break}i.head&&(i.head.text=m>>8&1),512&i.flags&&(j[0]=255&m,j[1]=m>>>8&255,i.check=a(i.check,j,2,0)),m=0,w=0,i.mode=3;case 3:for(;w<32;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}i.head&&(i.head.time=m),512&i.flags&&(j[0]=255&m,j[1]=m>>>8&255,j[2]=m>>>16&255,j[3]=m>>>24&255,i.check=a(i.check,j,4,0)),m=0,w=0,i.mode=4;case 4:for(;w<16;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}i.head&&(i.head.xflags=255&m,i.head.os=m>>8),512&i.flags&&(j[0]=255&m,j[1]=m>>>8&255,i.check=a(i.check,j,2,0)),m=0,w=0,i.mode=5;case 5:if(1024&i.flags){for(;w<16;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}i.length=m,i.head&&(i.head.extra_len=m),512&i.flags&&(j[0]=255&m,j[1]=m>>>8&255,i.check=a(i.check,j,2,0)),m=0,w=0}else i.head&&(i.head.extra=null);i.mode=6;case 6:if(1024&i.flags&&((z=i.length)>p&&(z=p),z&&(i.head&&(I=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Array(i.head.extra_len)),r.arraySet(i.head.extra,f,_,z,I)),512&i.flags&&(i.check=a(i.check,f,z,_)),p-=z,_+=z,i.length-=z),i.length))break t;i.length=0,i.mode=7;case 7:if(2048&i.flags){if(0===p)break t;z=0;do{I=f[_+z++],i.head&&I&&i.length<65536&&(i.head.name+=String.fromCharCode(I))}while(I&&z<p);if(512&i.flags&&(i.check=a(i.check,f,z,_)),p-=z,_+=z,I)break t}else i.head&&(i.head.name=null);i.length=0,i.mode=8;case 8:if(4096&i.flags){if(0===p)break t;z=0;do{I=f[_+z++],i.head&&I&&i.length<65536&&(i.head.comment+=String.fromCharCode(I))}while(I&&z<p);if(512&i.flags&&(i.check=a(i.check,f,z,_)),p-=z,_+=z,I)break t}else i.head&&(i.head.comment=null);i.mode=9;case 9:if(512&i.flags){for(;w<16;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}if(m!==(65535&i.check)){t.msg="header crc mismatch",i.mode=d;break}m=0,w=0}i.head&&(i.head.hcrc=i.flags>>9&1,i.head.done=!0),t.adler=i.check=0,i.mode=h;break;case 10:for(;w<32;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}t.adler=i.check=c(m),m=0,w=0,i.mode=11;case 11:if(0===i.havedict)return t.next_out=b,t.avail_out=g,t.next_in=_,t.avail_in=p,i.hold=m,i.bits=w,2;t.adler=i.check=1,i.mode=h;case h:if(5===e||6===e)break t;case 13:if(i.last){m>>>=7&w,w-=7&w,i.mode=27;break}for(;w<3;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}switch(i.last=1&m,w-=1,3&(m>>>=1)){case 0:i.mode=14;break;case 1:if(y(i),i.mode=20,6===e){m>>>=2,w-=2;break t}break;case 2:i.mode=17;break;case 3:t.msg="invalid block type",i.mode=d}m>>>=2,w-=2;break;case 14:for(m>>>=7&w,w-=7&w;w<32;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}if((65535&m)!=(m>>>16^65535)){t.msg="invalid stored block lengths",i.mode=d;break}if(i.length=65535&m,m=0,w=0,i.mode=15,6===e)break t;case 15:i.mode=16;case 16:if(z=i.length){if(z>p&&(z=p),z>g&&(z=g),0===z)break t;r.arraySet(u,f,_,z,b),p-=z,_+=z,g-=z,b+=z,i.length-=z;break}i.mode=h;break;case 17:for(;w<14;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}if(i.nlen=257+(31&m),m>>>=5,w-=5,i.ndist=1+(31&m),m>>>=5,w-=5,i.ncode=4+(15&m),m>>>=4,w-=4,i.nlen>286||i.ndist>30){t.msg="too many length or distance symbols",i.mode=d;break}i.have=0,i.mode=18;case 18:for(;i.have<i.ncode;){for(;w<3;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}i.lens[F[i.have++]]=7&m,m>>>=3,w-=3}for(;i.have<19;)i.lens[F[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,D={bits:i.lenbits},N=o(0,i.lens,0,19,i.lencode,0,i.work,D),i.lenbits=D.bits,N){t.msg="invalid code lengths set",i.mode=d;break}i.have=0,i.mode=19;case 19:for(;i.have<i.nlen+i.ndist;){for(;S=(R=i.lencode[m&(1<<i.lenbits)-1])>>>16&255,U=65535&R,!((B=R>>>24)<=w);){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}if(U<16)m>>>=B,w-=B,i.lens[i.have++]=U;else{if(16===U){for(M=B+2;w<M;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}if(m>>>=B,w-=B,0===i.have){t.msg="invalid bit length repeat",i.mode=d;break}I=i.lens[i.have-1],z=3+(3&m),m>>>=2,w-=2}else if(17===U){for(M=B+3;w<M;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}w-=B,I=0,z=3+(7&(m>>>=B)),m>>>=3,w-=3}else{for(M=B+7;w<M;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}w-=B,I=0,z=11+(127&(m>>>=B)),m>>>=7,w-=7}if(i.have+z>i.nlen+i.ndist){t.msg="invalid bit length repeat",i.mode=d;break}for(;z--;)i.lens[i.have++]=I}}if(i.mode===d)break;if(0===i.lens[256]){t.msg="invalid code -- missing end-of-block",i.mode=d;break}if(i.lenbits=9,D={bits:i.lenbits},N=o(1,i.lens,0,i.nlen,i.lencode,0,i.work,D),i.lenbits=D.bits,N){t.msg="invalid literal/lengths set",i.mode=d;break}if(i.distbits=6,i.distcode=i.distdyn,D={bits:i.distbits},N=o(2,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,D),i.distbits=D.bits,N){t.msg="invalid distances set",i.mode=d;break}if(i.mode=20,6===e)break t;case 20:i.mode=21;case 21:if(p>=6&&g>=258){t.next_out=b,t.avail_out=g,t.next_in=_,t.avail_in=p,i.hold=m,i.bits=w,s(t,x),b=t.next_out,u=t.output,g=t.avail_out,_=t.next_in,f=t.input,p=t.avail_in,m=i.hold,w=i.bits,i.mode===h&&(i.back=-1);break}for(i.back=0;S=(R=i.lencode[m&(1<<i.lenbits)-1])>>>16&255,U=65535&R,!((B=R>>>24)<=w);){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}if(S&&0==(240&S)){for(O=B,Z=S,C=U;S=(R=i.lencode[C+((m&(1<<O+Z)-1)>>O)])>>>16&255,U=65535&R,!(O+(B=R>>>24)<=w);){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}m>>>=O,w-=O,i.back+=O}if(m>>>=B,w-=B,i.back+=B,i.length=U,0===S){i.mode=26;break}if(32&S){i.back=-1,i.mode=h;break}if(64&S){t.msg="invalid literal/length code",i.mode=d;break}i.extra=15&S,i.mode=22;case 22:if(i.extra){for(M=i.extra;w<M;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}i.length+=m&(1<<i.extra)-1,m>>>=i.extra,w-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=23;case 23:for(;S=(R=i.distcode[m&(1<<i.distbits)-1])>>>16&255,U=65535&R,!((B=R>>>24)<=w);){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}if(0==(240&S)){for(O=B,Z=S,C=U;S=(R=i.distcode[C+((m&(1<<O+Z)-1)>>O)])>>>16&255,U=65535&R,!(O+(B=R>>>24)<=w);){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}m>>>=O,w-=O,i.back+=O}if(m>>>=B,w-=B,i.back+=B,64&S){t.msg="invalid distance code",i.mode=d;break}i.offset=U,i.extra=15&S,i.mode=24;case 24:if(i.extra){for(M=i.extra;w<M;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}i.offset+=m&(1<<i.extra)-1,m>>>=i.extra,w-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){t.msg="invalid distance too far back",i.mode=d;break}i.mode=25;case 25:if(0===g)break t;if(z=x-g,i.offset>z){if((z=i.offset-z)>i.whave&&i.sane){t.msg="invalid distance too far back",i.mode=d;break}z>i.wnext?(z-=i.wnext,A=i.wsize-z):A=i.wnext-z,z>i.length&&(z=i.length),E=i.window}else E=u,A=b-i.offset,z=i.length;z>g&&(z=g),g-=z,i.length-=z;do{u[b++]=E[A++]}while(--z);0===i.length&&(i.mode=21);break;case 26:if(0===g)break t;u[b++]=i.length,g--,i.mode=21;break;case 27:if(i.wrap){for(;w<32;){if(0===p)break t;p--,m|=f[_++]<<w,w+=8}if(x-=g,t.total_out+=x,i.total+=x,x&&(t.adler=i.check=i.flags?a(i.check,u,x,b-x):n(i.check,u,x,b-x)),x=g,(i.flags?m:c(m))!==i.check){t.msg="incorrect data check",i.mode=d;break}m=0,w=0}i.mode=28;case 28:if(i.wrap&&i.flags){for(;w<32;){if(0===p)break t;p--,m+=f[_++]<<w,w+=8}if(m!==(4294967295&i.total)){t.msg="incorrect length check",i.mode=d;break}m=0,w=0}i.mode=29;case 29:N=1;break t;case d:N=-3;break t;case 31:return-4;case 32:default:return l}return t.next_out=b,t.avail_out=g,t.next_in=_,t.avail_in=p,i.hold=m,i.bits=w,(i.wsize||x!==t.avail_out&&i.mode<d&&(i.mode<27||4!==e))&&k(t,t.output,t.next_out,x-t.avail_out)?(i.mode=31,-4):(v-=t.avail_in,x-=t.avail_out,t.total_in+=v,t.total_out+=x,i.total+=x,i.wrap&&x&&(t.adler=i.check=i.flags?a(i.check,u,x,t.next_out-x):n(i.check,u,x,t.next_out-x)),t.data_type=i.bits+(i.last?64:0)+(i.mode===h?128:0)+(20===i.mode||15===i.mode?256:0),(0===v&&0===x||4===e)&&0===N&&(N=-5),N)},e.inflateEnd=function(t){if(!t||!t.state)return l;var e=t.state;return e.window&&(e.window=null),t.state=null,0},e.inflateGetHeader=function(t,e){var i;return t&&t.state?0==(2&(i=t.state).wrap)?l:(i.head=e,e.done=!1,0):l},e.inflateSetDictionary=function(t,e){var i,r=e.length;return t&&t.state?0!==(i=t.state).wrap&&11!==i.mode?l:11===i.mode&&n(1,e,r,0)!==i.check?-3:k(t,e,r,r)?(i.mode=31,-4):(i.havedict=1,0):l},e.inflateInfo="pako inflate (from Nodeca project)"},241:(t,e,i)=>{var r=i(236),n=[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],a=[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],o=[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,i,l,h,d,c,f){var u,_,b,p,g,m,w,y,k,v=f.bits,x=0,z=0,A=0,E=0,B=0,S=0,U=0,O=0,Z=0,C=0,I=null,N=0,D=new r.Buf16(16),M=new r.Buf16(16),R=null,j=0;for(x=0;x<=15;x++)D[x]=0;for(z=0;z<l;z++)D[e[i+z]]++;for(B=v,E=15;E>=1&&0===D[E];E--);if(B>E&&(B=E),0===E)return h[d++]=20971520,h[d++]=20971520,f.bits=1,0;for(A=1;A<E&&0===D[A];A++);for(B<A&&(B=A),O=1,x=1;x<=15;x++)if(O<<=1,(O-=D[x])<0)return-1;if(O>0&&(0===t||1!==E))return-1;for(M[1]=0,x=1;x<15;x++)M[x+1]=M[x]+D[x];for(z=0;z<l;z++)0!==e[i+z]&&(c[M[e[i+z]]++]=z);if(0===t?(I=R=c,m=19):1===t?(I=n,N-=257,R=a,j-=257,m=256):(I=s,R=o,m=-1),C=0,z=0,x=A,g=d,S=B,U=0,b=-1,p=(Z=1<<B)-1,1===t&&Z>852||2===t&&Z>592)return 1;for(;;){w=x-U,c[z]<m?(y=0,k=c[z]):c[z]>m?(y=R[j+c[z]],k=I[N+c[z]]):(y=96,k=0),u=1<<x-U,A=_=1<<S;do{h[g+(C>>U)+(_-=u)]=w<<24|y<<16|k|0}while(0!==_);for(u=1<<x-1;C&u;)u>>=1;if(0!==u?(C&=u-1,C+=u):C=0,z++,0==--D[x]){if(x===E)break;x=e[i+c[z]]}if(x>B&&(C&p)!==b){for(0===U&&(U=B),g+=A,O=1<<(S=x-U);S+U<E&&!((O-=D[S+U])<=0);)S++,O<<=1;if(Z+=1<<S,1===t&&Z>852||2===t&&Z>592)return 1;h[b=C&p]=B<<24|S<<16|g-d|0}}return 0!==C&&(h[g+C]=x-U<<24|64<<16|0),f.bits=B,0}},898:t=>{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"}},342:(t,e,i)=>{var r=i(236);function n(t){for(var e=t.length;--e>=0;)t[e]=0}var 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],s=[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],o=[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],h=new Array(576);n(h);var d=new Array(60);n(d);var c=new Array(512);n(c);var f=new Array(256);n(f);var u=new Array(29);n(u);var _,b,p,g=new Array(30);function m(t,e,i,r,n){this.static_tree=t,this.extra_bits=e,this.extra_base=i,this.elems=r,this.max_length=n,this.has_stree=t&&t.length}function w(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function y(t){return t<256?c[t]:c[256+(t>>>7)]}function k(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function v(t,e,i){t.bi_valid>16-i?(t.bi_buf|=e<<t.bi_valid&65535,k(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=i-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=i)}function x(t,e,i){v(t,i[2*e],i[2*e+1])}function z(t,e){var i=0;do{i|=1&t,t>>>=1,i<<=1}while(--e>0);return i>>>1}function A(t,e,i){var r,n,a=new Array(16),s=0;for(r=1;r<=15;r++)a[r]=s=s+i[r-1]<<1;for(n=0;n<=e;n++){var o=t[2*n+1];0!==o&&(t[2*n]=z(a[o]++,o))}}function E(t){var e;for(e=0;e<286;e++)t.dyn_ltree[2*e]=0;for(e=0;e<30;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 B(t){t.bi_valid>8?k(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 S(t,e,i,r){var n=2*e,a=2*i;return t[n]<t[a]||t[n]===t[a]&&r[e]<=r[i]}function U(t,e,i){for(var r=t.heap[i],n=i<<1;n<=t.heap_len&&(n<t.heap_len&&S(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!S(e,r,t.heap[n],t.depth));)t.heap[i]=t.heap[n],i=n,n<<=1;t.heap[i]=r}function O(t,e,i){var r,n,o,l,h=0;if(0!==t.last_lit)do{r=t.pending_buf[t.d_buf+2*h]<<8|t.pending_buf[t.d_buf+2*h+1],n=t.pending_buf[t.l_buf+h],h++,0===r?x(t,n,e):(x(t,(o=f[n])+256+1,e),0!==(l=a[o])&&v(t,n-=u[o],l),x(t,o=y(--r),i),0!==(l=s[o])&&v(t,r-=g[o],l))}while(h<t.last_lit);x(t,256,e)}function Z(t,e){var i,r,n,a=e.dyn_tree,s=e.stat_desc.static_tree,o=e.stat_desc.has_stree,l=e.stat_desc.elems,h=-1;for(t.heap_len=0,t.heap_max=573,i=0;i<l;i++)0!==a[2*i]?(t.heap[++t.heap_len]=h=i,t.depth[i]=0):a[2*i+1]=0;for(;t.heap_len<2;)a[2*(n=t.heap[++t.heap_len]=h<2?++h:0)]=1,t.depth[n]=0,t.opt_len--,o&&(t.static_len-=s[2*n+1]);for(e.max_code=h,i=t.heap_len>>1;i>=1;i--)U(t,a,i);n=l;do{i=t.heap[1],t.heap[1]=t.heap[t.heap_len--],U(t,a,1),r=t.heap[1],t.heap[--t.heap_max]=i,t.heap[--t.heap_max]=r,a[2*n]=a[2*i]+a[2*r],t.depth[n]=(t.depth[i]>=t.depth[r]?t.depth[i]:t.depth[r])+1,a[2*i+1]=a[2*r+1]=n,t.heap[1]=n++,U(t,a,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],function(t,e){var i,r,n,a,s,o,l=e.dyn_tree,h=e.max_code,d=e.stat_desc.static_tree,c=e.stat_desc.has_stree,f=e.stat_desc.extra_bits,u=e.stat_desc.extra_base,_=e.stat_desc.max_length,b=0;for(a=0;a<=15;a++)t.bl_count[a]=0;for(l[2*t.heap[t.heap_max]+1]=0,i=t.heap_max+1;i<573;i++)(a=l[2*l[2*(r=t.heap[i])+1]+1]+1)>_&&(a=_,b++),l[2*r+1]=a,r>h||(t.bl_count[a]++,s=0,r>=u&&(s=f[r-u]),o=l[2*r],t.opt_len+=o*(a+s),c&&(t.static_len+=o*(d[2*r+1]+s)));if(0!==b){do{for(a=_-1;0===t.bl_count[a];)a--;t.bl_count[a]--,t.bl_count[a+1]+=2,t.bl_count[_]--,b-=2}while(b>0);for(a=_;0!==a;a--)for(r=t.bl_count[a];0!==r;)(n=t.heap[--i])>h||(l[2*n+1]!==a&&(t.opt_len+=(a-l[2*n+1])*l[2*n],l[2*n+1]=a),r--)}}(t,e),A(a,h,t.bl_count)}function C(t,e,i){var r,n,a=-1,s=e[1],o=0,l=7,h=4;for(0===s&&(l=138,h=3),e[2*(i+1)+1]=65535,r=0;r<=i;r++)n=s,s=e[2*(r+1)+1],++o<l&&n===s||(o<h?t.bl_tree[2*n]+=o:0!==n?(n!==a&&t.bl_tree[2*n]++,t.bl_tree[32]++):o<=10?t.bl_tree[34]++:t.bl_tree[36]++,o=0,a=n,0===s?(l=138,h=3):n===s?(l=6,h=3):(l=7,h=4))}function I(t,e,i){var r,n,a=-1,s=e[1],o=0,l=7,h=4;for(0===s&&(l=138,h=3),r=0;r<=i;r++)if(n=s,s=e[2*(r+1)+1],!(++o<l&&n===s)){if(o<h)do{x(t,n,t.bl_tree)}while(0!=--o);else 0!==n?(n!==a&&(x(t,n,t.bl_tree),o--),x(t,16,t.bl_tree),v(t,o-3,2)):o<=10?(x(t,17,t.bl_tree),v(t,o-3,3)):(x(t,18,t.bl_tree),v(t,o-11,7));o=0,a=n,0===s?(l=138,h=3):n===s?(l=6,h=3):(l=7,h=4)}}n(g);var N=!1;function D(t,e,i,n){v(t,0+(n?1:0),3),function(t,e,i,n){B(t),k(t,i),k(t,~i),r.arraySet(t.pending_buf,t.window,e,i,t.pending),t.pending+=i}(t,e,i)}e._tr_init=function(t){N||(function(){var t,e,i,r,n,l=new Array(16);for(i=0,r=0;r<28;r++)for(u[r]=i,t=0;t<1<<a[r];t++)f[i++]=r;for(f[i-1]=r,n=0,r=0;r<16;r++)for(g[r]=n,t=0;t<1<<s[r];t++)c[n++]=r;for(n>>=7;r<30;r++)for(g[r]=n<<7,t=0;t<1<<s[r]-7;t++)c[256+n++]=r;for(e=0;e<=15;e++)l[e]=0;for(t=0;t<=143;)h[2*t+1]=8,t++,l[8]++;for(;t<=255;)h[2*t+1]=9,t++,l[9]++;for(;t<=279;)h[2*t+1]=7,t++,l[7]++;for(;t<=287;)h[2*t+1]=8,t++,l[8]++;for(A(h,287,l),t=0;t<30;t++)d[2*t+1]=5,d[2*t]=z(t,5);_=new m(h,a,257,286,15),b=new m(d,s,0,30,15),p=new m(new Array(0),o,0,19,7)}(),N=!0),t.l_desc=new w(t.dyn_ltree,_),t.d_desc=new w(t.dyn_dtree,b),t.bl_desc=new w(t.bl_tree,p),t.bi_buf=0,t.bi_valid=0,E(t)},e._tr_stored_block=D,e._tr_flush_block=function(t,e,i,r){var n,a,s=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=function(t){var e,i=4093624447;for(e=0;e<=31;e++,i>>>=1)if(1&i&&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<256;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0}(t)),Z(t,t.l_desc),Z(t,t.d_desc),s=function(t){var e;for(C(t,t.dyn_ltree,t.l_desc.max_code),C(t,t.dyn_dtree,t.d_desc.max_code),Z(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),n=t.opt_len+3+7>>>3,(a=t.static_len+3+7>>>3)<=n&&(n=a)):n=a=i+5,i+4<=n&&-1!==e?D(t,e,i,r):4===t.strategy||a===n?(v(t,2+(r?1:0),3),O(t,h,d)):(v(t,4+(r?1:0),3),function(t,e,i,r){var n;for(v(t,e-257,5),v(t,i-1,5),v(t,r-4,4),n=0;n<r;n++)v(t,t.bl_tree[2*l[n]+1],3);I(t,t.dyn_ltree,e-1),I(t,t.dyn_dtree,i-1)}(t,t.l_desc.max_code+1,t.d_desc.max_code+1,s+1),O(t,t.dyn_ltree,t.dyn_dtree)),E(t),r&&B(t)},e._tr_tally=function(t,e,i){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&i,t.last_lit++,0===e?t.dyn_ltree[2*i]++:(t.matches++,e--,t.dyn_ltree[2*(f[i]+256+1)]++,t.dyn_dtree[2*y(e)]++),t.last_lit===t.lit_bufsize-1},e._tr_align=function(t){v(t,2,3),x(t,256,h),function(t){16===t.bi_valid?(k(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)}},292:t=>{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}}},e={};function i(r){var n=e[r];if(void 0!==n)return n.exports;var a=e[r]={exports:{}};return t[r](a,a.exports,i),a.exports}i.d=(t,e)=>{for(var r in e)i.o(e,r)&&!i.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{var t={};i.r(t),i.d(t,{DEFAULT_UUID:()=>s,LATEST_VERSION:()=>n,MAGIC:()=>r,MAX_INT:()=>a});var e={};i.r(e),i.d(e,{bgra:()=>h,chunk:()=>u,concat:()=>k,isEqual:()=>d,read:()=>v,subarray:()=>f,write:()=>x});const r=new Uint8Array([66,82,83]),n=10,a=~(1<<31),s="00000000-0000-0000-0000-000000000000";var o=i(591);const l=Array.from({length:256}).map(((t,e)=>(e+256).toString(16).substr(1))),h=([t,e,i,r])=>[i,e,t,r];function d(t,e){return t.length===e.length&&t.every(((t,i)=>e[i]===t))}function c(t){return void 0!==t.brsOffset}function f(t,e,i=!1){if(!(t instanceof Uint8Array))throw new Error(`Invalid data type in bytes reader (${typeof t})`);let r;c(t)?r=t:(r=t,r.brsOffset=0);const n=r[i?"slice":"subarray"](r.brsOffset,r.brsOffset+e);return r.brsOffset+=e,n}function u(t,e){const i=t.length-(c(t)?t.brsOffset:0),r=Array(Math.floor(i/e));for(let n=0;n<i/e;n++)r[n]=f(t,e,!0);return r}function _(t,e=!0){const[i,r]=f(t,2);return e?r<<8|i:i<<8|r}function b(t,e=!0){const[i,r,n,a]=f(t,4);return e?a<<24|n<<16|r<<8|i:i<<24|r<<16|n<<8|a}function p(t,e=!0){const i=new Uint8Array([255&t,t>>8&255,t>>16&255,t>>24&255]);return e?i:i.reverse()}function g(t){const e=b(t),i=e<0,r=i?-e:e;if(i){if(r%2!=0)throw new Error("Invalid UCS-2 data size");return String.fromCodePoint(...u(f(t,r),2).map((t=>_(t))))}{const e=f(t,r).subarray(0,-1);return String.fromCharCode.apply(null,e)}}function m(t){return/^[\x00-\x7F]*$/.test(t)?k(p(t.length+1),new Uint8Array(t.split("").map((t=>t.charCodeAt(0)))),new Uint8Array([0])):k(p(-2*(t.length+1)),new Uint8Array(t.split("").flatMap((t=>[255&t.charCodeAt(0),t.charCodeAt(0)>>8]))),new Uint8Array([0]))}class w{constructor(t){this.pos=0,this.buffer=t}empty(){return this.pos>=8*this.buffer.length}bit(){const t=0!=(this.buffer[this.pos>>3]&1<<(7&this.pos));return this.pos++,t}align(){this.pos=this.pos+7&-8}int(t){let e=0,i=1;for(;e+i<t&&0!==i;)this.bit()&&(e|=i),i<<=1;return e}uint_packed(){let t=0;for(let e=0;e<5;e++){const i=this.bit();let r=0;for(let t=0;t<7;t++)r|=(this.bit()?1:0)<<t;if(t|=r<<7*e,!i)break}return t}int_packed(){const t=this.uint_packed();return(t>>1)*(0!=(1&t)?1:-1)}bits(t){const e=[];for(let i=0;i<t;i++){const t=7&i;e[i>>3]=e[i>>3]&~(1<<t)|(this.bit()?1:0)<<t}return e}bytes(t){return new Uint8Array(this.bytesArr(t))}bytesArr(t){return this.bits(8*t)}array(t){const e=b(this.bytes(4)),i=Array(e);for(let r=0;r<e;r++)i[r]=t(this);return i}each(t){const e=b(this.bytes(4));for(let i=0;i<e;i++)t(this)}string(){const t=this.bytesArr(4),e=b(new Uint8Array(t));return g(new Uint8Array(t.concat(this.bytesArr(e))))}float(){const t=new DataView(new ArrayBuffer(4));return t.setUint16(2,_(this.bytes(2))),t.setUint16(0,_(this.bytes(2))),t.getFloat32(0)}unreal(t){switch(t){case"Class":case"Object":return this.string();case"Boolean":return!!b(this.bytes(4));case"Float":return this.float();case"Color":return h(this.bytesArr(4));case"Byte":return this.bytes(1)[0];case"Rotator":return[this.float(),this.float(),this.float()]}throw new Error("Unknown unreal type "+t)}}class y{constructor(){this.buffer=[],this.cur=0,this.bitNum=0}bit(t){this.cur|=(t?1:0)<<this.bitNum,this.bitNum++,this.bitNum>=8&&this.align()}bits(t,e){for(let i=0;i<e;i++)this.bit(0!=(t[i>>3]&1<<(7&i)))}bytes(t){this.bits(t,8*t.length)}align(){this.bitNum>0&&(this.buffer.push(this.cur),this.cur=0,this.bitNum=0)}int(t,e){if(e<2)throw new Error(`Invalid input (BitWriter) -- max (${e}) must be at least 2`);if(t>=e)throw new Error(`Invalid input (BitWriter) -- value (${t}) is larger than max (${e})`);let i=0,r=1;for(;i+r<e&&0!==r;)this.bit(0!=(t&r)),0!=(t&r)&&(i|=r),r<<=1}uint_packed(t){do{const e=127&t;t>>=7,this.bit(0!==t),this.bits([e],7)}while(0!==t)}int_packed(t){this.uint_packed(Math.abs(t)<<1|(t>=0?1:0))}finish(){return this.align(),new Uint8Array(this.buffer)}finishSection(){return this.align(),k(p(this.buffer.length),new Uint8Array(this.buffer))}string(t){this.bytes(m(t))}float(t){const e=new Float32Array(1);e[0]=t;const i=new Int8Array(e.buffer);this.bytes([i[0],i[1],i[2],i[3]])}self(t){return t.bind(this)(),this}array(t,e){return this.bytes(p(t.length)),t.forEach(e.bind(this)),this}each(t,e){return t.forEach(e.bind(this)),this}unreal(t,e){switch(t){case"Class":if("string"!=typeof e)throw new Error(`writing unreal type Class, did not receive string (${e})`);return void this.string(e);case"Object":if("string"!=typeof e)throw new Error(`writing unreal type Object, did not receive string (${e})`);return void this.string(e);case"Boolean":if("boolean"!=typeof e)throw new Error(`writing unreal type Boolean, did not receive boolean (${e})`);return void this.bytes(p(e?1:0));case"Float":if("number"!=typeof e)throw new Error(`writing unreal type Float, did not receive float (${e})`);return void this.float(e);case"Byte":if("number"!=typeof e)throw new Error(`writing unreal type Byte, did not receive Byte (${e})`);return void this.bytes([255&e]);case"Color":if(!Array.isArray(e)||4!==e.length)throw new Error(`writing unreal type Array, did not receive Array (${e})`);return void this.bytes(h(e));case"Rotator":if(!Array.isArray(e)||3!==e.length)throw new Error(`writing unreal type Array, did not receive Array (${e})`);return this.float(e[0]),this.float(e[1]),void this.float(e[2])}throw new Error("Unknown unreal type "+t)}}function k(...t){const e=t.reduce(((t,e)=>t+e.length),0),i=new Uint8Array(e);let r=0;for(const e of t)i.set(e,r),r+=e.length;return i}const v={bytes:f,u16:_,i32:b,compressed:function(t){const e=b(t),i=b(t);if(i<0||e<0||i>=e)throw new Error(`Invalid compressed section size (comp: ${i}, uncomp: ${e})`);if(0===i)return f(t,e);{const e=f(t,i);return(0,o.inflate)(e)}},string:g,uuid:function(t){return e=u(f(t,16),4).flatMap((([t,e,i,r])=>[r,i,e,t])),(l[e[0]]+l[e[1]]+l[e[2]]+l[e[3]]+"-"+l[e[4]]+l[e[5]]+"-"+l[e[6]]+l[e[7]]+"-"+l[e[8]]+l[e[9]]+"-"+l[e[10]]+l[e[11]]+l[e[12]]+l[e[13]]+l[e[14]]+l[e[15]]).toLowerCase();var e},array:function(t,e){const i=b(t),r=Array(i);for(let n=0;n<i;n++)r[n]=e(t);return r},each:function(t,e){const i=b(t);for(let r=0;r<i;r++)e(t)},bits:t=>new w(t)},x={u16:function(t,e=!0){const i=[255&t,t>>8&255];return new Uint8Array(e?i:i.reverse())},i32:p,compressed:function(...t){const e=k(...t),i=(0,o.deflate)(e),r=e.length,n=i.length;if(r>a)throw new Error(`uncompressedSize (${r}) out of range`);if(n>a)throw new Error(`compressedSize (${n}) out of range`);const s=n>=r;return k(p(r),p(s?0:n),s?e:i)},uncompressed:function(...t){const e=k(...t);return k(p(e.length),p(0),e)},string:m,uuid:function(t){return k(...u(function(t){let e;const i=new Uint8Array(16);return i[0]=(e=parseInt(t.slice(0,8),16))>>>24,i[1]=e>>>16&255,i[2]=e>>>8&255,i[3]=255&e,i[4]=(e=parseInt(t.slice(9,13),16))>>>8,i[5]=255&e,i[6]=(e=parseInt(t.slice(14,18),16))>>>8,i[7]=255&e,i[8]=(e=parseInt(t.slice(19,23),16))>>>8,i[9]=255&e,i[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,i[11]=e/4294967296&255,i[12]=e>>>24&255,i[13]=e>>>16&255,i[14]=e>>>8&255,i[15]=255&e,i}(t),4).map((([t,e,i,r])=>new Uint8Array([r,i,e,t]))))},array:function(t,e){return k(p(t.length),...t.map((t=>e(t))))},bits:()=>new y},z=new Uint8Array([]);var A,E;!function(t){t[t.XPositive=0]="XPositive",t[t.XNegative=1]="XNegative",t[t.YPositive=2]="YPositive",t[t.YNegative=3]="YNegative",t[t.ZPositive=4]="ZPositive",t[t.ZNegative=5]="ZNegative"}(A||(A={})),function(t){t[t.Deg0=0]="Deg0",t[t.Deg90=1]="Deg90",t[t.Deg180=2]="Deg180",t[t.Deg270=3]="Deg270"}(E||(E={}));const B={read:function(t,e={}){if("object"!=typeof e)throw new Error("Invalid options");if("boolean"!=typeof e.bricks&&(e.bricks=!0),"boolean"!=typeof e.preview&&(e.preview=!1),t[0]!==r[0]||t[1]!==r[1]||t[2]!==r[2])throw new Error("Invalid starting bytes");const i=t;i.brsOffset=3;const n=v.u16(i);switch(n){case 1:return function(t,e={}){const i=v.compressed(t),r=v.compressed(t),n=v.string(i),a=v.string(i),s=v.string(i),o=v.uuid(i),l=v.i32(i),d=v.array(r,v.string),c=v.array(r,v.string),f=v.array(r,(t=>h(Array.from(v.bytes(t,4)))));let u=[];const _=Math.max(c.length,2);if(e.bricks){u=Array(l);const e=v.compressed(t),i=v.bits(e);for(let t=0;!i.empty()&&t<l;t++){i.align();const e=i.int(_),r=i.bit()?[i.uint_packed(),i.uint_packed(),i.uint_packed()]:[0,0,0],n=[i.int_packed(),i.int_packed(),i.int_packed()],a=i.int(24),s=(a>>2)%6,o=3&a,l=i.bit(),d=i.bit(),c=i.bit()?h(i.bytesArr(4)):i.int(f.length);u[t]={asset_name_index:e,size:r,collision:l,position:n,direction:s,rotation:o,visibility:d,color:c}}}return{version:1,map:n,description:s,author:{id:o,name:a},mods:d,brick_assets:c,colors:f,bricks:u,brick_count:l}}(i,e);case 2:return function(t,e={}){const i=v.compressed(t),r=v.compressed(t),n=v.string(i),a=v.string(i),s=v.string(i),o=v.uuid(i),l=v.i32(i),d=v.array(r,v.string),c=v.array(r,v.string),f=v.array(r,(t=>h(Array.from(v.bytes(t,4))))),u=v.array(r,v.string);let _=[];const b=Math.max(c.length,2);if(e.bricks){_=Array(l);const e=v.compressed(t),i=v.bits(e);for(let t=0;!i.empty()&&t<l;t++){i.align();const e=i.int(b),r=i.bit()?[i.uint_packed(),i.uint_packed(),i.uint_packed()]:[0,0,0],n=[i.int_packed(),i.int_packed(),i.int_packed()],a=i.int(24),s=(a>>2)%6,o=3&a,l=i.bit(),d=i.bit(),c=i.bit()?i.uint_packed():1,u=i.bit()?h(i.bytesArr(4)):i.int(f.length);_[t]={asset_name_index:e,size:r,position:n,direction:s,rotation:o,collision:l,visibility:d,material_index:c,color:u}}}return{version:2,map:n,description:s,author:{id:o,name:a},mods:d,brick_assets:c,colors:f,materials:u,bricks:_,brick_count:l}}(i,e);case 3:return function(t,e={}){const i=v.compressed(t),r=v.compressed(t),n=v.string(i),a=v.string(i),s=v.string(i),o=v.uuid(i),l=v.i32(i),d=v.array(r,v.string),c=v.array(r,v.string),f=v.array(r,(t=>h(Array.from(v.bytes(t,4))))),u=v.array(r,v.string),_=v.array(r,(t=>({id:v.uuid(t),name:v.string(t)})));let b=[];const p=Math.max(c.length,2);if(e.bricks){b=Array(l);const e=v.compressed(t),i=v.bits(e);for(let t=0;!i.empty()&&t<l;t++){i.align();const e=i.int(p),r=i.bit()?[i.uint_packed(),i.uint_packed(),i.uint_packed()]:[0,0,0],n=[i.int_packed(),i.int_packed(),i.int_packed()],a=i.int(24),s=(a>>2)%6,o=3&a,l=i.bit(),d=i.bit(),c=i.bit()?i.uint_packed():1,u=i.bit()?h(i.bytesArr(4)):i.int(f.length),_=i.uint_packed();b[t]={asset_name_index:e,size:r,position:n,direction:s,rotation:o,collision:l,visibility:d,material_index:c,color:u,owner_index:_}}}return{version:3,map:n,description:s,author:{id:o,name:a},mods:d,brick_assets:c,colors:f,materials:u,brick_owners:_,bricks:b,brick_count:l}}(i,e);case 4:return function(t,e={}){const i=v.compressed(t),r=v.compressed(t),n=v.string(i),a=v.string(i),s=v.string(i),o=v.uuid(i),l=v.bytes(i,8),d=v.i32(i),c=v.array(r,v.string),f=v.array(r,v.string),u=v.array(r,(t=>h(Array.from(v.bytes(t,4))))),_=v.array(r,v.string),b=v.array(r,(t=>({id:v.uuid(t),name:v.string(t)})));let p=[];const g=Math.max(f.length,2);if(e.bricks){p=Array(d);const e=v.compressed(t),i=v.bits(e);for(let t=0;!i.empty()&&t<d;t++){i.align();const e=i.int(g),r=i.bit()?[i.uint_packed(),i.uint_packed(),i.uint_packed()]:[0,0,0],n=[i.int_packed(),i.int_packed(),i.int_packed()],a=i.int(24),s=(a>>2)%6,o=3&a,l=i.bit(),d=i.bit(),c=i.bit()?i.uint_packed():1,f=i.bit()?h(i.bytesArr(4)):i.int(u.length),_=i.uint_packed();p[t]={asset_name_index:e,size:r,position:n,direction:s,rotation:o,collision:l,visibility:d,material_index:c,color:f,owner_index:_}}}return{version:4,map:n,description:s,author:{id:o,name:a},mods:c,brick_assets:f,colors:u,materials:_,brick_owners:b,bricks:p,brick_count:d,save_time:l}}(i,e);case 8:return function(t,e={}){const i=v.i32(t),r=v.compressed(t),n=v.compressed(t),a=v.string(r),s=v.string(r),o=v.string(r),l=v.uuid(r),d={name:v.string(r),id:v.uuid(r)},c=v.bytes(r,8),f=v.i32(r),u=v.array(n,v.string),_=v.array(n,v.string),b=v.array(n,(t=>h(Array.from(v.bytes(t,4))))),p=v.array(n,v.string),g=v.array(n,(t=>({id:v.uuid(t),name:v.string(t),bricks:v.i32(t)})));let m=null;if(v.bytes(t,1)[0]){const i=v.i32(t);e.preview?m=v.bytes(t,i):t.brsOffset+=i}let w=[];const y={},k=Math.max(p.length,2),x=Math.max(_.length,2);if(e.bricks){w=Array(f);const e=v.compressed(t),i=v.bits(e);for(let t=0;!i.empty()&&t<f;t++){i.align();const e=i.int(x),r=i.bit()?[i.uint_packed(),i.uint_packed(),i.uint_packed()]:[0,0,0],n=[i.int_packed(),i.int_packed(),i.int_packed()],a=i.int(24),s=(a>>2)%6,o=3&a,l=i.bit(),d=i.bit(),c=i.int(k),f=i.bit()?h(i.bytesArr(4)):i.int(b.length),u=i.uint_packed();w[t]={asset_name_index:e,size:r,position:n,direction:s,rotation:o,collision:l,visibility:d,material_index:c,color:f,owner_index:u,components:{}}}const r=v.compressed(t),n=Math.max(w.length,2);v.each(r,(t=>{const e=v.string(t),i=v.bits(v.bytes(t,v.i32(t))),r=v.i32(i.bytes(4)),a=i.array((()=>i.int(n))),s=i.array((()=>[i.string(),i.string()]));for(const t of a){const r={};for(const[t,e]of s)r[t]=i.unreal(e);w[t].components[e]=r}y[e]={version:r,brick_indices:a,properties:Object.fromEntries(s)}}))}return{version:8,game_version:i,map:a,description:o,author:{id:l,name:s},host:d,mods:u,brick_assets:_,colors:b,materials:p,brick_owners:g,preview:m,bricks:w,brick_count:f,save_time:c,components:y}}(i,e);case 9:return function(t,e={}){const i=v.i32(t),r=v.compressed(t),n=v.compressed(t),a=v.string(r),s=v.string(r),o=v.string(r),l=v.uuid(r),d={name:v.string(r),id:v.uuid(r)},c=v.bytes(r,8),f=v.i32(r),u=v.array(n,v.string),_=v.array(n,v.string),b=v.array(n,(t=>h(Array.from(v.bytes(t,4))))),p=v.array(n,v.string),g=v.array(n,(t=>({id:v.uuid(t),name:v.string(t),bricks:v.i32(t)}))),m=v.array(n,v.string);let w=null;if(v.bytes(t,1)[0]){const i=v.i32(t);e.preview?w=v.bytes(t,i):t.brsOffset+=i}let y=[];const k={},x=Math.max(m.length,2),z=Math.max(p.length,2),A=Math.max(_.length,2);if(e.bricks){y=Array(f);const e=v.compressed(t),i=v.bits(e);for(let t=0;!i.empty()&&t<f;t++){i.align();const e=i.int(A),r=i.bit()?[i.uint_packed(),i.uint_packed(),i.uint_packed()]:[0,0,0],n=[i.int_packed(),i.int_packed(),i.int_packed()],a=i.int(24),s=(a>>2)%6,o=3&a,l=i.bit(),h=i.bit(),d=i.int(z),c=i.int(x),f=i.int(11),u=i.bit()?i.bytesArr(3):i.int(b.length),_=i.uint_packed();y[t]={asset_name_index:e,size:r,position:n,direction:s,rotation:o,collision:l,visibility:h,material_index:d,physical_index:c,material_intensity:f,color:u,owner_index:_,components:{}}}const r=v.compressed(t),n=Math.max(y.length,2);v.each(r,(t=>{const e=v.string(t),i=v.bits(v.bytes(t,v.i32(t))),r=v.i32(i.bytes(4)),a=i.array((()=>i.int(n))),s=i.array((()=>[i.string(),i.string()]));for(const t of a){const r={};for(const[t,e]of s)r[t]=i.unreal(e);y[t].components[e]=r}k[e]={version:r,brick_indices:a,properties:Object.fromEntries(s)}}))}return{version:9,game_version:i,map:a,description:o,author:{id:l,name:s},host:d,mods:u,brick_assets:_,colors:b,materials:p,brick_owners:g,physical_materials:m,preview:w,bricks:y,brick_count:f,save_time:c,components:k}}(i,e);case 10:return function(t,e={}){const i=v.i32(t),r=v.compressed(t),n=v.compressed(t),a=v.string(r),s=v.string(r),o=v.string(r),l=v.uuid(r),d={name:v.string(r),id:v.uuid(r)},c=v.bytes(r,8),f=v.i32(r),u=v.array(n,v.string),_=v.array(n,v.string),b=v.array(n,(t=>h(Array.from(v.bytes(t,4))))),p=v.array(n,v.string),g=v.array(n,(t=>({id:v.uuid(t),name:v.string(t),bricks:v.i32(t)}))),m=v.array(n,v.string);let w=null;if(v.bytes(t,1)[0]){const i=v.i32(t);e.preview?w=v.bytes(t,i):t.brsOffset+=i}let y=[];const k={},x=Math.max(m.length,2),z=Math.max(p.length,2),A=Math.max(_.length,2);if(e.bricks){y=Array(f);const e=v.compressed(t),i=v.bits(e);for(let t=0;!i.empty()&&t<f;t++){i.align();const e=i.int(A),r=i.bit()?[i.uint_packed(),i.uint_packed(),i.uint_packed()]:[0,0,0],n=[i.int_packed(),i.int_packed(),i.int_packed()],a=i.int(24),s=(a>>2)%6,o=3&a,l={player:i.bit(),weapon:i.bit(),interaction:i.bit(),tool:i.bit()},h=i.bit(),d=i.int(z),c=i.int(x),f=i.int(11),u=i.bit()?i.bytesArr(3):i.int(b.length),_=i.uint_packed();y[t]={asset_name_index:e,size:r,position:n,direction:s,rotation:o,collision:l,visibility:h,material_index:d,physical_index:c,material_intensity:f,color:u,owner_index:_,components:{}}}const r=v.compressed(t),n=Math.max(y.length,2);v.each(r,(t=>{const e=v.string(t),i=v.bits(v.bytes(t,v.i32(t))),r=v.i32(i.bytes(4)),a=i.array((()=>i.int(n))),s=i.array((()=>[i.string(),i.string()]));for(const t of a){const r={};for(const[t,e]of s)r[t]=i.unreal(e);y[t].components[e]=r}k[e]={version:r,brick_indices:a,properties:Object.fromEntries(s)}}))}return{version:10,game_version:i,map:a,description:o,author:{id:l,name:s},host:d,mods:u,brick_assets:_,colors:b,materials:p,brick_owners:g,physical_materials:m,preview:w,bricks:y,brick_count:f,save_time:c,components:k}}(i,e);default:throw new Error("Unsupported version "+n)}},write:function(t,e={}){if("object"!=typeof t)throw new Error("Expected save to be an object");if(!Array.isArray(t.bricks)||0===t.bricks.length)throw new Error("Expected save to have bricks field");if(t.bricks.length>a)throw new Error("Brick count out of range");const i=e.compress?x.compressed:x.uncompressed,o={},l=Math.max(t.colors?.length??0,2),h=Math.max(t.brick_assets?.length??0,2),c=Math.max(t.materials?.length??0,2),f=Math.max(t.physical_materials?.length??0,2);if(t.preview&&!Array.isArray(t.preview))throw new Error("Expected preview to be an array");return k(r,x.u16(n),x.i32(t.game_version??0),i(x.string(t.map??"Unknown"),x.string(t.author?.name??"Unknown"),x.string(t.description??""),x.uuid(t.author?.id??s),k(x.string(t.host?.name??"Unknown"),x.uuid(t.host?.id??s)),new Uint8Array(t.save_time&&(Array.isArray(t.save_time)||t.save_time instanceof Uint8Array)&&8===t.save_time.length?t.save_time:[0,0,0,0,0,0,0,0]),x.i32(t.bricks.length)),i(x.array(t.mods??[],x.string),x.array(t.brick_assets??["PB_DefaultBrick"],x.string),x.array(t.colors??[],(([t,e,i,r])=>new Uint8Array([i,e,t,r]))),x.array(t.materials??["BMC_Plastic"],x.string),x.array(t.brick_owners??[],(({id:t=s,name:e="Unknown",bricks:i=0})=>k(x.uuid(t),x.string(e),x.i32(i)))),x.array(t.physical_materials??["BPMC_Default"],x.string)),k(new Uint8Array([t.preview?1:0]),t.preview?x.i32(t.preview.length):z,t.preview??z),i(x.bits().each(t.bricks,(function(t,e){if("object"!=typeof t)throw new Error(`Expected save.bricks[${e}] to be an object`);if(!Array.isArray(t.size)||3!==t.size.length)throw new Error(`Expected save.bricks[${e}].size to be an array of length 3`);if(!Array.isArray(t.position)||3!==t.position.length)throw new Error(`Expected save.bricks[${e}].position to be an array of length 3`);this.align(),this.int(t.asset_name_index??0,h);const i=d(t.size,[0,0,0]);if(this.bit(!i),i||t.size.map((t=>this.uint_packed(t))),t.position.map((t=>this.int_packed(t))),this.int((t.direction??4)<<2|(t.rotation??0),24),"boolean"==typeof t.collision?(this.bit(t.collision),this.bit(t.collision),this.bit(t.collision),this.bit(!0)):(this.bit(t.collision?.player??!0),this.bit(t.collision?.weapon??!0),this.bit(t.collision?.interaction??!0),this.bit(t.collision?.tool??!0)),this.bit(t?.visibility??!0),this.int(t?.material_index??0,c),this.int(t.physical_index??0,f),this.int(t.material_intensity??5,11),"number"==typeof t.color)this.bit(!1),this.int(t.color,l);else{if(this.bit(!0),t.color&&(!Array.isArray(t.color)||3!==t.color.length))throw new Error(`Expected save.bricks[${e}].color to be an array of length 3`);this.bytes(new Uint8Array(t.color??[255,255,255]))}this.uint_packed(t.owner_index??1);for(const i in t.components??{})o[i]??(o[i]=[]),o[i].push(e)})).finish()),i(x.array(Object.keys(t.components??{}).filter((t=>o[t])),(e=>k(x.string(e),x.bits().self((function(){const i=t.components[e],r=o[e],n=Object.entries(i.properties);this.bytes(x.i32(i.version)),this.array(r,(e=>{this.int(e,Math.max(t.bricks.length,2))})),this.array(n,(([t,e])=>{this.string(t),this.string(e)}));for(const i of r)for(const[r,a]of n){if(!(r in t.bricks[i].components[e]))throw new Error(`Expected save.bricks[${i}].components[${e}] to have property '${r}' of type '${a}'`);this.unreal(a,t.bricks[i].components[e][r])}this.align()})).finishSection())))))},utils:e,constants:t};"undefined"!=typeof window&&(window.BRS=B)})()})();
2
2
  //# sourceMappingURL=dist.js.map