Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
AroriaNetwork
GitHub Repository: AroriaNetwork/3kho-backup
Path: blob/main/projects/stack-bump-3d/Build/UnityLoader.js
1834 views
1
var UnityLoader = UnityLoader || {
2
Compression: {
3
identity: {
4
require: function () {
5
return {};
6
},
7
decompress: function (e) {
8
return e;
9
},
10
},
11
gzip: {
12
require: function (e) {
13
var t = {
14
"inflate.js": function (e, t, r) {
15
"use strict";
16
function n(e) {
17
if (!(this instanceof n)) return new n(e);
18
this.options = s.assign({ chunkSize: 16384, windowBits: 0, to: "" }, e || {});
19
var t = this.options;
20
t.raw && t.windowBits >= 0 && t.windowBits < 16 && ((t.windowBits = -t.windowBits), 0 === t.windowBits && (t.windowBits = -15)),
21
!(t.windowBits >= 0 && t.windowBits < 16) || (e && e.windowBits) || (t.windowBits += 32),
22
t.windowBits > 15 && t.windowBits < 48 && 0 === (15 & t.windowBits) && (t.windowBits |= 15),
23
(this.err = 0),
24
(this.msg = ""),
25
(this.ended = !1),
26
(this.chunks = []),
27
(this.strm = new c()),
28
(this.strm.avail_out = 0);
29
var r = i.inflateInit2(this.strm, t.windowBits);
30
if (r !== l.Z_OK) throw new Error(u[r]);
31
(this.header = new f()), i.inflateGetHeader(this.strm, this.header);
32
}
33
function o(e, t) {
34
var r = new n(t);
35
if ((r.push(e, !0), r.err)) throw r.msg || u[r.err];
36
return r.result;
37
}
38
function a(e, t) {
39
return (t = t || {}), (t.raw = !0), o(e, t);
40
}
41
var i = e("./zlib/inflate"),
42
s = e("./utils/common"),
43
d = e("./utils/strings"),
44
l = e("./zlib/constants"),
45
u = e("./zlib/messages"),
46
c = e("./zlib/zstream"),
47
f = e("./zlib/gzheader"),
48
h = Object.prototype.toString;
49
(n.prototype.push = function (e, t) {
50
var r,
51
n,
52
o,
53
a,
54
u,
55
c,
56
f = this.strm,
57
p = this.options.chunkSize,
58
w = this.options.dictionary,
59
m = !1;
60
if (this.ended) return !1;
61
(n = t === ~~t ? t : t === !0 ? l.Z_FINISH : l.Z_NO_FLUSH),
62
"string" == typeof e ? (f.input = d.binstring2buf(e)) : "[object ArrayBuffer]" === h.call(e) ? (f.input = new Uint8Array(e)) : (f.input = e),
63
(f.next_in = 0),
64
(f.avail_in = f.input.length);
65
do {
66
if (
67
(0 === f.avail_out && ((f.output = new s.Buf8(p)), (f.next_out = 0), (f.avail_out = p)),
68
(r = i.inflate(f, l.Z_NO_FLUSH)),
69
r === l.Z_NEED_DICT && w && ((c = "string" == typeof w ? d.string2buf(w) : "[object ArrayBuffer]" === h.call(w) ? new Uint8Array(w) : w), (r = i.inflateSetDictionary(this.strm, c))),
70
r === l.Z_BUF_ERROR && m === !0 && ((r = l.Z_OK), (m = !1)),
71
r !== l.Z_STREAM_END && r !== l.Z_OK)
72
)
73
return this.onEnd(r), (this.ended = !0), !1;
74
f.next_out &&
75
((0 !== f.avail_out && r !== l.Z_STREAM_END && (0 !== f.avail_in || (n !== l.Z_FINISH && n !== l.Z_SYNC_FLUSH))) ||
76
("string" === this.options.to
77
? ((o = d.utf8border(f.output, f.next_out)),
78
(a = f.next_out - o),
79
(u = d.buf2string(f.output, o)),
80
(f.next_out = a),
81
(f.avail_out = p - a),
82
a && s.arraySet(f.output, f.output, o, a, 0),
83
this.onData(u))
84
: this.onData(s.shrinkBuf(f.output, f.next_out)))),
85
0 === f.avail_in && 0 === f.avail_out && (m = !0);
86
} while ((f.avail_in > 0 || 0 === f.avail_out) && r !== l.Z_STREAM_END);
87
return (
88
r === l.Z_STREAM_END && (n = l.Z_FINISH),
89
n === l.Z_FINISH ? ((r = i.inflateEnd(this.strm)), this.onEnd(r), (this.ended = !0), r === l.Z_OK) : n !== l.Z_SYNC_FLUSH || (this.onEnd(l.Z_OK), (f.avail_out = 0), !0)
90
);
91
}),
92
(n.prototype.onData = function (e) {
93
this.chunks.push(e);
94
}),
95
(n.prototype.onEnd = function (e) {
96
e === l.Z_OK && ("string" === this.options.to ? (this.result = this.chunks.join("")) : (this.result = s.flattenChunks(this.chunks))), (this.chunks = []), (this.err = e), (this.msg = this.strm.msg);
97
}),
98
(r.Inflate = n),
99
(r.inflate = o),
100
(r.inflateRaw = a),
101
(r.ungzip = o);
102
},
103
"utils/common.js": function (e, t, r) {
104
"use strict";
105
var n = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Int32Array;
106
(r.assign = function (e) {
107
for (var t = Array.prototype.slice.call(arguments, 1); t.length; ) {
108
var r = t.shift();
109
if (r) {
110
if ("object" != typeof r) throw new TypeError(r + "must be non-object");
111
for (var n in r) r.hasOwnProperty(n) && (e[n] = r[n]);
112
}
113
}
114
return e;
115
}),
116
(r.shrinkBuf = function (e, t) {
117
return e.length === t ? e : e.subarray ? e.subarray(0, t) : ((e.length = t), e);
118
});
119
var o = {
120
arraySet: function (e, t, r, n, o) {
121
if (t.subarray && e.subarray) return void e.set(t.subarray(r, r + n), o);
122
for (var a = 0; a < n; a++) e[o + a] = t[r + a];
123
},
124
flattenChunks: function (e) {
125
var t, r, n, o, a, i;
126
for (n = 0, t = 0, r = e.length; t < r; t++) n += e[t].length;
127
for (i = new Uint8Array(n), o = 0, t = 0, r = e.length; t < r; t++) (a = e[t]), i.set(a, o), (o += a.length);
128
return i;
129
},
130
},
131
a = {
132
arraySet: function (e, t, r, n, o) {
133
for (var a = 0; a < n; a++) e[o + a] = t[r + a];
134
},
135
flattenChunks: function (e) {
136
return [].concat.apply([], e);
137
},
138
};
139
(r.setTyped = function (e) {
140
e ? ((r.Buf8 = Uint8Array), (r.Buf16 = Uint16Array), (r.Buf32 = Int32Array), r.assign(r, o)) : ((r.Buf8 = Array), (r.Buf16 = Array), (r.Buf32 = Array), r.assign(r, a));
141
}),
142
r.setTyped(n);
143
},
144
"utils/strings.js": function (e, t, r) {
145
"use strict";
146
function n(e, t) {
147
if (t < 65537 && ((e.subarray && i) || (!e.subarray && a))) return String.fromCharCode.apply(null, o.shrinkBuf(e, t));
148
for (var r = "", n = 0; n < t; n++) r += String.fromCharCode(e[n]);
149
return r;
150
}
151
var o = e("./common"),
152
a = !0,
153
i = !0;
154
try {
155
String.fromCharCode.apply(null, [0]);
156
} catch (e) {
157
a = !1;
158
}
159
try {
160
String.fromCharCode.apply(null, new Uint8Array(1));
161
} catch (e) {
162
i = !1;
163
}
164
for (var s = new o.Buf8(256), d = 0; d < 256; d++) s[d] = d >= 252 ? 6 : d >= 248 ? 5 : d >= 240 ? 4 : d >= 224 ? 3 : d >= 192 ? 2 : 1;
165
(s[254] = s[254] = 1),
166
(r.string2buf = function (e) {
167
var t,
168
r,
169
n,
170
a,
171
i,
172
s = e.length,
173
d = 0;
174
for (a = 0; a < s; a++)
175
(r = e.charCodeAt(a)),
176
55296 === (64512 & r) && a + 1 < s && ((n = e.charCodeAt(a + 1)), 56320 === (64512 & n) && ((r = 65536 + ((r - 55296) << 10) + (n - 56320)), a++)),
177
(d += r < 128 ? 1 : r < 2048 ? 2 : r < 65536 ? 3 : 4);
178
for (t = new o.Buf8(d), i = 0, a = 0; i < d; a++)
179
(r = e.charCodeAt(a)),
180
55296 === (64512 & r) && a + 1 < s && ((n = e.charCodeAt(a + 1)), 56320 === (64512 & n) && ((r = 65536 + ((r - 55296) << 10) + (n - 56320)), a++)),
181
r < 128
182
? (t[i++] = r)
183
: r < 2048
184
? ((t[i++] = 192 | (r >>> 6)), (t[i++] = 128 | (63 & r)))
185
: r < 65536
186
? ((t[i++] = 224 | (r >>> 12)), (t[i++] = 128 | ((r >>> 6) & 63)), (t[i++] = 128 | (63 & r)))
187
: ((t[i++] = 240 | (r >>> 18)), (t[i++] = 128 | ((r >>> 12) & 63)), (t[i++] = 128 | ((r >>> 6) & 63)), (t[i++] = 128 | (63 & r)));
188
return t;
189
}),
190
(r.buf2binstring = function (e) {
191
return n(e, e.length);
192
}),
193
(r.binstring2buf = function (e) {
194
for (var t = new o.Buf8(e.length), r = 0, n = t.length; r < n; r++) t[r] = e.charCodeAt(r);
195
return t;
196
}),
197
(r.buf2string = function (e, t) {
198
var r,
199
o,
200
a,
201
i,
202
d = t || e.length,
203
l = new Array(2 * d);
204
for (o = 0, r = 0; r < d; )
205
if (((a = e[r++]), a < 128)) l[o++] = a;
206
else if (((i = s[a]), i > 4)) (l[o++] = 65533), (r += i - 1);
207
else {
208
for (a &= 2 === i ? 31 : 3 === i ? 15 : 7; i > 1 && r < d; ) (a = (a << 6) | (63 & e[r++])), i--;
209
i > 1 ? (l[o++] = 65533) : a < 65536 ? (l[o++] = a) : ((a -= 65536), (l[o++] = 55296 | ((a >> 10) & 1023)), (l[o++] = 56320 | (1023 & a)));
210
}
211
return n(l, o);
212
}),
213
(r.utf8border = function (e, t) {
214
var r;
215
for (t = t || e.length, t > e.length && (t = e.length), r = t - 1; r >= 0 && 128 === (192 & e[r]); ) r--;
216
return r < 0 ? t : 0 === r ? t : r + s[e[r]] > t ? r : t;
217
});
218
},
219
"zlib/inflate.js": function (e, t, r) {
220
"use strict";
221
function n(e) {
222
return ((e >>> 24) & 255) + ((e >>> 8) & 65280) + ((65280 & e) << 8) + ((255 & e) << 24);
223
}
224
function o() {
225
(this.mode = 0),
226
(this.last = !1),
227
(this.wrap = 0),
228
(this.havedict = !1),
229
(this.flags = 0),
230
(this.dmax = 0),
231
(this.check = 0),
232
(this.total = 0),
233
(this.head = null),
234
(this.wbits = 0),
235
(this.wsize = 0),
236
(this.whave = 0),
237
(this.wnext = 0),
238
(this.window = null),
239
(this.hold = 0),
240
(this.bits = 0),
241
(this.length = 0),
242
(this.offset = 0),
243
(this.extra = 0),
244
(this.lencode = null),
245
(this.distcode = null),
246
(this.lenbits = 0),
247
(this.distbits = 0),
248
(this.ncode = 0),
249
(this.nlen = 0),
250
(this.ndist = 0),
251
(this.have = 0),
252
(this.next = null),
253
(this.lens = new y.Buf16(320)),
254
(this.work = new y.Buf16(288)),
255
(this.lendyn = null),
256
(this.distdyn = null),
257
(this.sane = 0),
258
(this.back = 0),
259
(this.was = 0);
260
}
261
function a(e) {
262
var t;
263
return e && e.state
264
? ((t = e.state),
265
(e.total_in = e.total_out = t.total = 0),
266
(e.msg = ""),
267
t.wrap && (e.adler = 1 & t.wrap),
268
(t.mode = P),
269
(t.last = 0),
270
(t.havedict = 0),
271
(t.dmax = 32768),
272
(t.head = null),
273
(t.hold = 0),
274
(t.bits = 0),
275
(t.lencode = t.lendyn = new y.Buf32(we)),
276
(t.distcode = t.distdyn = new y.Buf32(me)),
277
(t.sane = 1),
278
(t.back = -1),
279
O)
280
: R;
281
}
282
function i(e) {
283
var t;
284
return e && e.state ? ((t = e.state), (t.wsize = 0), (t.whave = 0), (t.wnext = 0), a(e)) : R;
285
}
286
function s(e, t) {
287
var r, n;
288
return e && e.state
289
? ((n = e.state),
290
t < 0 ? ((r = 0), (t = -t)) : ((r = (t >> 4) + 1), t < 48 && (t &= 15)),
291
t && (t < 8 || t > 15) ? R : (null !== n.window && n.wbits !== t && (n.window = null), (n.wrap = r), (n.wbits = t), i(e)))
292
: R;
293
}
294
function d(e, t) {
295
var r, n;
296
return e ? ((n = new o()), (e.state = n), (n.window = null), (r = s(e, t)), r !== O && (e.state = null), r) : R;
297
}
298
function l(e) {
299
return d(e, ye);
300
}
301
function u(e) {
302
if (ge) {
303
var t;
304
for (m = new y.Buf32(512), b = new y.Buf32(32), t = 0; t < 144; ) e.lens[t++] = 8;
305
for (; t < 256; ) e.lens[t++] = 9;
306
for (; t < 280; ) e.lens[t++] = 7;
307
for (; t < 288; ) e.lens[t++] = 8;
308
for (U(E, e.lens, 0, 288, m, 0, e.work, { bits: 9 }), t = 0; t < 32; ) e.lens[t++] = 5;
309
U(k, e.lens, 0, 32, b, 0, e.work, { bits: 5 }), (ge = !1);
310
}
311
(e.lencode = m), (e.lenbits = 9), (e.distcode = b), (e.distbits = 5);
312
}
313
function c(e, t, r, n) {
314
var o,
315
a = e.state;
316
return (
317
null === a.window && ((a.wsize = 1 << a.wbits), (a.wnext = 0), (a.whave = 0), (a.window = new y.Buf8(a.wsize))),
318
n >= a.wsize
319
? (y.arraySet(a.window, t, r - a.wsize, a.wsize, 0), (a.wnext = 0), (a.whave = a.wsize))
320
: ((o = a.wsize - a.wnext),
321
o > n && (o = n),
322
y.arraySet(a.window, t, r - n, o, a.wnext),
323
(n -= o),
324
n ? (y.arraySet(a.window, t, r - n, n, 0), (a.wnext = n), (a.whave = a.wsize)) : ((a.wnext += o), a.wnext === a.wsize && (a.wnext = 0), a.whave < a.wsize && (a.whave += o))),
325
0
326
);
327
}
328
function f(e, t) {
329
var r,
330
o,
331
a,
332
i,
333
s,
334
d,
335
l,
336
f,
337
h,
338
p,
339
w,
340
m,
341
b,
342
we,
343
me,
344
be,
345
ye,
346
ge,
347
ve,
348
Ae,
349
Ue,
350
xe,
351
Ee,
352
ke,
353
Be = 0,
354
Le = new y.Buf8(4),
355
We = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];
356
if (!e || !e.state || !e.output || (!e.input && 0 !== e.avail_in)) return R;
357
(r = e.state), r.mode === j && (r.mode = X), (s = e.next_out), (a = e.output), (l = e.avail_out), (i = e.next_in), (o = e.input), (d = e.avail_in), (f = r.hold), (h = r.bits), (p = d), (w = l), (xe = O);
358
e: for (;;)
359
switch (r.mode) {
360
case P:
361
if (0 === r.wrap) {
362
r.mode = X;
363
break;
364
}
365
for (; h < 16; ) {
366
if (0 === d) break e;
367
d--, (f += o[i++] << h), (h += 8);
368
}
369
if (2 & r.wrap && 35615 === f) {
370
(r.check = 0), (Le[0] = 255 & f), (Le[1] = (f >>> 8) & 255), (r.check = v(r.check, Le, 2, 0)), (f = 0), (h = 0), (r.mode = D);
371
break;
372
}
373
if (((r.flags = 0), r.head && (r.head.done = !1), !(1 & r.wrap) || (((255 & f) << 8) + (f >> 8)) % 31)) {
374
(e.msg = "incorrect header check"), (r.mode = fe);
375
break;
376
}
377
if ((15 & f) !== S) {
378
(e.msg = "unknown compression method"), (r.mode = fe);
379
break;
380
}
381
if (((f >>>= 4), (h -= 4), (Ue = (15 & f) + 8), 0 === r.wbits)) r.wbits = Ue;
382
else if (Ue > r.wbits) {
383
(e.msg = "invalid window size"), (r.mode = fe);
384
break;
385
}
386
(r.dmax = 1 << Ue), (e.adler = r.check = 1), (r.mode = 512 & f ? G : j), (f = 0), (h = 0);
387
break;
388
case D:
389
for (; h < 16; ) {
390
if (0 === d) break e;
391
d--, (f += o[i++] << h), (h += 8);
392
}
393
if (((r.flags = f), (255 & r.flags) !== S)) {
394
(e.msg = "unknown compression method"), (r.mode = fe);
395
break;
396
}
397
if (57344 & r.flags) {
398
(e.msg = "unknown header flags set"), (r.mode = fe);
399
break;
400
}
401
r.head && (r.head.text = (f >> 8) & 1), 512 & r.flags && ((Le[0] = 255 & f), (Le[1] = (f >>> 8) & 255), (r.check = v(r.check, Le, 2, 0))), (f = 0), (h = 0), (r.mode = T);
402
case T:
403
for (; h < 32; ) {
404
if (0 === d) break e;
405
d--, (f += o[i++] << h), (h += 8);
406
}
407
r.head && (r.head.time = f),
408
512 & r.flags && ((Le[0] = 255 & f), (Le[1] = (f >>> 8) & 255), (Le[2] = (f >>> 16) & 255), (Le[3] = (f >>> 24) & 255), (r.check = v(r.check, Le, 4, 0))),
409
(f = 0),
410
(h = 0),
411
(r.mode = F);
412
case F:
413
for (; h < 16; ) {
414
if (0 === d) break e;
415
d--, (f += o[i++] << h), (h += 8);
416
}
417
r.head && ((r.head.xflags = 255 & f), (r.head.os = f >> 8)), 512 & r.flags && ((Le[0] = 255 & f), (Le[1] = (f >>> 8) & 255), (r.check = v(r.check, Le, 2, 0))), (f = 0), (h = 0), (r.mode = q);
418
case q:
419
if (1024 & r.flags) {
420
for (; h < 16; ) {
421
if (0 === d) break e;
422
d--, (f += o[i++] << h), (h += 8);
423
}
424
(r.length = f), r.head && (r.head.extra_len = f), 512 & r.flags && ((Le[0] = 255 & f), (Le[1] = (f >>> 8) & 255), (r.check = v(r.check, Le, 2, 0))), (f = 0), (h = 0);
425
} else r.head && (r.head.extra = null);
426
r.mode = V;
427
case V:
428
if (
429
1024 & r.flags &&
430
((m = r.length),
431
m > d && (m = d),
432
m &&
433
(r.head && ((Ue = r.head.extra_len - r.length), r.head.extra || (r.head.extra = new Array(r.head.extra_len)), y.arraySet(r.head.extra, o, i, m, Ue)),
434
512 & r.flags && (r.check = v(r.check, o, m, i)),
435
(d -= m),
436
(i += m),
437
(r.length -= m)),
438
r.length)
439
)
440
break e;
441
(r.length = 0), (r.mode = z);
442
case z:
443
if (2048 & r.flags) {
444
if (0 === d) break e;
445
m = 0;
446
do (Ue = o[i + m++]), r.head && Ue && r.length < 65536 && (r.head.name += String.fromCharCode(Ue));
447
while (Ue && m < d);
448
if ((512 & r.flags && (r.check = v(r.check, o, m, i)), (d -= m), (i += m), Ue)) break e;
449
} else r.head && (r.head.name = null);
450
(r.length = 0), (r.mode = Z);
451
case Z:
452
if (4096 & r.flags) {
453
if (0 === d) break e;
454
m = 0;
455
do (Ue = o[i + m++]), r.head && Ue && r.length < 65536 && (r.head.comment += String.fromCharCode(Ue));
456
while (Ue && m < d);
457
if ((512 & r.flags && (r.check = v(r.check, o, m, i)), (d -= m), (i += m), Ue)) break e;
458
} else r.head && (r.head.comment = null);
459
r.mode = Y;
460
case Y:
461
if (512 & r.flags) {
462
for (; h < 16; ) {
463
if (0 === d) break e;
464
d--, (f += o[i++] << h), (h += 8);
465
}
466
if (f !== (65535 & r.check)) {
467
(e.msg = "header crc mismatch"), (r.mode = fe);
468
break;
469
}
470
(f = 0), (h = 0);
471
}
472
r.head && ((r.head.hcrc = (r.flags >> 9) & 1), (r.head.done = !0)), (e.adler = r.check = 0), (r.mode = j);
473
break;
474
case G:
475
for (; h < 32; ) {
476
if (0 === d) break e;
477
d--, (f += o[i++] << h), (h += 8);
478
}
479
(e.adler = r.check = n(f)), (f = 0), (h = 0), (r.mode = J);
480
case J:
481
if (0 === r.havedict) return (e.next_out = s), (e.avail_out = l), (e.next_in = i), (e.avail_in = d), (r.hold = f), (r.bits = h), N;
482
(e.adler = r.check = 1), (r.mode = j);
483
case j:
484
if (t === L || t === W) break e;
485
case X:
486
if (r.last) {
487
(f >>>= 7 & h), (h -= 7 & h), (r.mode = le);
488
break;
489
}
490
for (; h < 3; ) {
491
if (0 === d) break e;
492
d--, (f += o[i++] << h), (h += 8);
493
}
494
switch (((r.last = 1 & f), (f >>>= 1), (h -= 1), 3 & f)) {
495
case 0:
496
r.mode = K;
497
break;
498
case 1:
499
if ((u(r), (r.mode = re), t === W)) {
500
(f >>>= 2), (h -= 2);
501
break e;
502
}
503
break;
504
case 2:
505
r.mode = $;
506
break;
507
case 3:
508
(e.msg = "invalid block type"), (r.mode = fe);
509
}
510
(f >>>= 2), (h -= 2);
511
break;
512
case K:
513
for (f >>>= 7 & h, h -= 7 & h; h < 32; ) {
514
if (0 === d) break e;
515
d--, (f += o[i++] << h), (h += 8);
516
}
517
if ((65535 & f) !== ((f >>> 16) ^ 65535)) {
518
(e.msg = "invalid stored block lengths"), (r.mode = fe);
519
break;
520
}
521
if (((r.length = 65535 & f), (f = 0), (h = 0), (r.mode = Q), t === W)) break e;
522
case Q:
523
r.mode = _;
524
case _:
525
if ((m = r.length)) {
526
if ((m > d && (m = d), m > l && (m = l), 0 === m)) break e;
527
y.arraySet(a, o, i, m, s), (d -= m), (i += m), (l -= m), (s += m), (r.length -= m);
528
break;
529
}
530
r.mode = j;
531
break;
532
case $:
533
for (; h < 14; ) {
534
if (0 === d) break e;
535
d--, (f += o[i++] << h), (h += 8);
536
}
537
if (((r.nlen = (31 & f) + 257), (f >>>= 5), (h -= 5), (r.ndist = (31 & f) + 1), (f >>>= 5), (h -= 5), (r.ncode = (15 & f) + 4), (f >>>= 4), (h -= 4), r.nlen > 286 || r.ndist > 30)) {
538
(e.msg = "too many length or distance symbols"), (r.mode = fe);
539
break;
540
}
541
(r.have = 0), (r.mode = ee);
542
case ee:
543
for (; r.have < r.ncode; ) {
544
for (; h < 3; ) {
545
if (0 === d) break e;
546
d--, (f += o[i++] << h), (h += 8);
547
}
548
(r.lens[We[r.have++]] = 7 & f), (f >>>= 3), (h -= 3);
549
}
550
for (; r.have < 19; ) r.lens[We[r.have++]] = 0;
551
if (((r.lencode = r.lendyn), (r.lenbits = 7), (Ee = { bits: r.lenbits }), (xe = U(x, r.lens, 0, 19, r.lencode, 0, r.work, Ee)), (r.lenbits = Ee.bits), xe)) {
552
(e.msg = "invalid code lengths set"), (r.mode = fe);
553
break;
554
}
555
(r.have = 0), (r.mode = te);
556
case te:
557
for (; r.have < r.nlen + r.ndist; ) {
558
for (; (Be = r.lencode[f & ((1 << r.lenbits) - 1)]), (me = Be >>> 24), (be = (Be >>> 16) & 255), (ye = 65535 & Be), !(me <= h); ) {
559
if (0 === d) break e;
560
d--, (f += o[i++] << h), (h += 8);
561
}
562
if (ye < 16) (f >>>= me), (h -= me), (r.lens[r.have++] = ye);
563
else {
564
if (16 === ye) {
565
for (ke = me + 2; h < ke; ) {
566
if (0 === d) break e;
567
d--, (f += o[i++] << h), (h += 8);
568
}
569
if (((f >>>= me), (h -= me), 0 === r.have)) {
570
(e.msg = "invalid bit length repeat"), (r.mode = fe);
571
break;
572
}
573
(Ue = r.lens[r.have - 1]), (m = 3 + (3 & f)), (f >>>= 2), (h -= 2);
574
} else if (17 === ye) {
575
for (ke = me + 3; h < ke; ) {
576
if (0 === d) break e;
577
d--, (f += o[i++] << h), (h += 8);
578
}
579
(f >>>= me), (h -= me), (Ue = 0), (m = 3 + (7 & f)), (f >>>= 3), (h -= 3);
580
} else {
581
for (ke = me + 7; h < ke; ) {
582
if (0 === d) break e;
583
d--, (f += o[i++] << h), (h += 8);
584
}
585
(f >>>= me), (h -= me), (Ue = 0), (m = 11 + (127 & f)), (f >>>= 7), (h -= 7);
586
}
587
if (r.have + m > r.nlen + r.ndist) {
588
(e.msg = "invalid bit length repeat"), (r.mode = fe);
589
break;
590
}
591
for (; m--; ) r.lens[r.have++] = Ue;
592
}
593
}
594
if (r.mode === fe) break;
595
if (0 === r.lens[256]) {
596
(e.msg = "invalid code -- missing end-of-block"), (r.mode = fe);
597
break;
598
}
599
if (((r.lenbits = 9), (Ee = { bits: r.lenbits }), (xe = U(E, r.lens, 0, r.nlen, r.lencode, 0, r.work, Ee)), (r.lenbits = Ee.bits), xe)) {
600
(e.msg = "invalid literal/lengths set"), (r.mode = fe);
601
break;
602
}
603
if (((r.distbits = 6), (r.distcode = r.distdyn), (Ee = { bits: r.distbits }), (xe = U(k, r.lens, r.nlen, r.ndist, r.distcode, 0, r.work, Ee)), (r.distbits = Ee.bits), xe)) {
604
(e.msg = "invalid distances set"), (r.mode = fe);
605
break;
606
}
607
if (((r.mode = re), t === W)) break e;
608
case re:
609
r.mode = ne;
610
case ne:
611
if (d >= 6 && l >= 258) {
612
(e.next_out = s),
613
(e.avail_out = l),
614
(e.next_in = i),
615
(e.avail_in = d),
616
(r.hold = f),
617
(r.bits = h),
618
A(e, w),
619
(s = e.next_out),
620
(a = e.output),
621
(l = e.avail_out),
622
(i = e.next_in),
623
(o = e.input),
624
(d = e.avail_in),
625
(f = r.hold),
626
(h = r.bits),
627
r.mode === j && (r.back = -1);
628
break;
629
}
630
for (r.back = 0; (Be = r.lencode[f & ((1 << r.lenbits) - 1)]), (me = Be >>> 24), (be = (Be >>> 16) & 255), (ye = 65535 & Be), !(me <= h); ) {
631
if (0 === d) break e;
632
d--, (f += o[i++] << h), (h += 8);
633
}
634
if (be && 0 === (240 & be)) {
635
for (ge = me, ve = be, Ae = ye; (Be = r.lencode[Ae + ((f & ((1 << (ge + ve)) - 1)) >> ge)]), (me = Be >>> 24), (be = (Be >>> 16) & 255), (ye = 65535 & Be), !(ge + me <= h); ) {
636
if (0 === d) break e;
637
d--, (f += o[i++] << h), (h += 8);
638
}
639
(f >>>= ge), (h -= ge), (r.back += ge);
640
}
641
if (((f >>>= me), (h -= me), (r.back += me), (r.length = ye), 0 === be)) {
642
r.mode = de;
643
break;
644
}
645
if (32 & be) {
646
(r.back = -1), (r.mode = j);
647
break;
648
}
649
if (64 & be) {
650
(e.msg = "invalid literal/length code"), (r.mode = fe);
651
break;
652
}
653
(r.extra = 15 & be), (r.mode = oe);
654
case oe:
655
if (r.extra) {
656
for (ke = r.extra; h < ke; ) {
657
if (0 === d) break e;
658
d--, (f += o[i++] << h), (h += 8);
659
}
660
(r.length += f & ((1 << r.extra) - 1)), (f >>>= r.extra), (h -= r.extra), (r.back += r.extra);
661
}
662
(r.was = r.length), (r.mode = ae);
663
case ae:
664
for (; (Be = r.distcode[f & ((1 << r.distbits) - 1)]), (me = Be >>> 24), (be = (Be >>> 16) & 255), (ye = 65535 & Be), !(me <= h); ) {
665
if (0 === d) break e;
666
d--, (f += o[i++] << h), (h += 8);
667
}
668
if (0 === (240 & be)) {
669
for (ge = me, ve = be, Ae = ye; (Be = r.distcode[Ae + ((f & ((1 << (ge + ve)) - 1)) >> ge)]), (me = Be >>> 24), (be = (Be >>> 16) & 255), (ye = 65535 & Be), !(ge + me <= h); ) {
670
if (0 === d) break e;
671
d--, (f += o[i++] << h), (h += 8);
672
}
673
(f >>>= ge), (h -= ge), (r.back += ge);
674
}
675
if (((f >>>= me), (h -= me), (r.back += me), 64 & be)) {
676
(e.msg = "invalid distance code"), (r.mode = fe);
677
break;
678
}
679
(r.offset = ye), (r.extra = 15 & be), (r.mode = ie);
680
case ie:
681
if (r.extra) {
682
for (ke = r.extra; h < ke; ) {
683
if (0 === d) break e;
684
d--, (f += o[i++] << h), (h += 8);
685
}
686
(r.offset += f & ((1 << r.extra) - 1)), (f >>>= r.extra), (h -= r.extra), (r.back += r.extra);
687
}
688
if (r.offset > r.dmax) {
689
(e.msg = "invalid distance too far back"), (r.mode = fe);
690
break;
691
}
692
r.mode = se;
693
case se:
694
if (0 === l) break e;
695
if (((m = w - l), r.offset > m)) {
696
if (((m = r.offset - m), m > r.whave && r.sane)) {
697
(e.msg = "invalid distance too far back"), (r.mode = fe);
698
break;
699
}
700
m > r.wnext ? ((m -= r.wnext), (b = r.wsize - m)) : (b = r.wnext - m), m > r.length && (m = r.length), (we = r.window);
701
} else (we = a), (b = s - r.offset), (m = r.length);
702
m > l && (m = l), (l -= m), (r.length -= m);
703
do a[s++] = we[b++];
704
while (--m);
705
0 === r.length && (r.mode = ne);
706
break;
707
case de:
708
if (0 === l) break e;
709
(a[s++] = r.length), l--, (r.mode = ne);
710
break;
711
case le:
712
if (r.wrap) {
713
for (; h < 32; ) {
714
if (0 === d) break e;
715
d--, (f |= o[i++] << h), (h += 8);
716
}
717
if (((w -= l), (e.total_out += w), (r.total += w), w && (e.adler = r.check = r.flags ? v(r.check, a, w, s - w) : g(r.check, a, w, s - w)), (w = l), (r.flags ? f : n(f)) !== r.check)) {
718
(e.msg = "incorrect data check"), (r.mode = fe);
719
break;
720
}
721
(f = 0), (h = 0);
722
}
723
r.mode = ue;
724
case ue:
725
if (r.wrap && r.flags) {
726
for (; h < 32; ) {
727
if (0 === d) break e;
728
d--, (f += o[i++] << h), (h += 8);
729
}
730
if (f !== (4294967295 & r.total)) {
731
(e.msg = "incorrect length check"), (r.mode = fe);
732
break;
733
}
734
(f = 0), (h = 0);
735
}
736
r.mode = ce;
737
case ce:
738
xe = M;
739
break e;
740
case fe:
741
xe = C;
742
break e;
743
case he:
744
return H;
745
case pe:
746
default:
747
return R;
748
}
749
return (
750
(e.next_out = s),
751
(e.avail_out = l),
752
(e.next_in = i),
753
(e.avail_in = d),
754
(r.hold = f),
755
(r.bits = h),
756
(r.wsize || (w !== e.avail_out && r.mode < fe && (r.mode < le || t !== B))) && c(e, e.output, e.next_out, w - e.avail_out)
757
? ((r.mode = he), H)
758
: ((p -= e.avail_in),
759
(w -= e.avail_out),
760
(e.total_in += p),
761
(e.total_out += w),
762
(r.total += w),
763
r.wrap && w && (e.adler = r.check = r.flags ? v(r.check, a, w, e.next_out - w) : g(r.check, a, w, e.next_out - w)),
764
(e.data_type = r.bits + (r.last ? 64 : 0) + (r.mode === j ? 128 : 0) + (r.mode === re || r.mode === Q ? 256 : 0)),
765
((0 === p && 0 === w) || t === B) && xe === O && (xe = I),
766
xe)
767
);
768
}
769
function h(e) {
770
if (!e || !e.state) return R;
771
var t = e.state;
772
return t.window && (t.window = null), (e.state = null), O;
773
}
774
function p(e, t) {
775
var r;
776
return e && e.state ? ((r = e.state), 0 === (2 & r.wrap) ? R : ((r.head = t), (t.done = !1), O)) : R;
777
}
778
function w(e, t) {
779
var r,
780
n,
781
o,
782
a = t.length;
783
return e && e.state ? ((r = e.state), 0 !== r.wrap && r.mode !== J ? R : r.mode === J && ((n = 1), (n = g(n, t, a, 0)), n !== r.check) ? C : (o = c(e, t, a, a)) ? ((r.mode = he), H) : ((r.havedict = 1), O)) : R;
784
}
785
var m,
786
b,
787
y = e("../utils/common"),
788
g = e("./adler32"),
789
v = e("./crc32"),
790
A = e("./inffast"),
791
U = e("./inftrees"),
792
x = 0,
793
E = 1,
794
k = 2,
795
B = 4,
796
L = 5,
797
W = 6,
798
O = 0,
799
M = 1,
800
N = 2,
801
R = -2,
802
C = -3,
803
H = -4,
804
I = -5,
805
S = 8,
806
P = 1,
807
D = 2,
808
T = 3,
809
F = 4,
810
q = 5,
811
V = 6,
812
z = 7,
813
Z = 8,
814
Y = 9,
815
G = 10,
816
J = 11,
817
j = 12,
818
X = 13,
819
K = 14,
820
Q = 15,
821
_ = 16,
822
$ = 17,
823
ee = 18,
824
te = 19,
825
re = 20,
826
ne = 21,
827
oe = 22,
828
ae = 23,
829
ie = 24,
830
se = 25,
831
de = 26,
832
le = 27,
833
ue = 28,
834
ce = 29,
835
fe = 30,
836
he = 31,
837
pe = 32,
838
we = 852,
839
me = 592,
840
be = 15,
841
ye = be,
842
ge = !0;
843
(r.inflateReset = i),
844
(r.inflateReset2 = s),
845
(r.inflateResetKeep = a),
846
(r.inflateInit = l),
847
(r.inflateInit2 = d),
848
(r.inflate = f),
849
(r.inflateEnd = h),
850
(r.inflateGetHeader = p),
851
(r.inflateSetDictionary = w),
852
(r.inflateInfo = "pako inflate (from Nodeca project)");
853
},
854
"zlib/constants.js": function (e, t, r) {
855
"use strict";
856
t.exports = {
857
Z_NO_FLUSH: 0,
858
Z_PARTIAL_FLUSH: 1,
859
Z_SYNC_FLUSH: 2,
860
Z_FULL_FLUSH: 3,
861
Z_FINISH: 4,
862
Z_BLOCK: 5,
863
Z_TREES: 6,
864
Z_OK: 0,
865
Z_STREAM_END: 1,
866
Z_NEED_DICT: 2,
867
Z_ERRNO: -1,
868
Z_STREAM_ERROR: -2,
869
Z_DATA_ERROR: -3,
870
Z_BUF_ERROR: -5,
871
Z_NO_COMPRESSION: 0,
872
Z_BEST_SPEED: 1,
873
Z_BEST_COMPRESSION: 9,
874
Z_DEFAULT_COMPRESSION: -1,
875
Z_FILTERED: 1,
876
Z_HUFFMAN_ONLY: 2,
877
Z_RLE: 3,
878
Z_FIXED: 4,
879
Z_DEFAULT_STRATEGY: 0,
880
Z_BINARY: 0,
881
Z_TEXT: 1,
882
Z_UNKNOWN: 2,
883
Z_DEFLATED: 8,
884
};
885
},
886
"zlib/messages.js": function (e, t, r) {
887
"use strict";
888
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" };
889
},
890
"zlib/zstream.js": function (e, t, r) {
891
"use strict";
892
function n() {
893
(this.input = null),
894
(this.next_in = 0),
895
(this.avail_in = 0),
896
(this.total_in = 0),
897
(this.output = null),
898
(this.next_out = 0),
899
(this.avail_out = 0),
900
(this.total_out = 0),
901
(this.msg = ""),
902
(this.state = null),
903
(this.data_type = 2),
904
(this.adler = 0);
905
}
906
t.exports = n;
907
},
908
"zlib/gzheader.js": function (e, t, r) {
909
"use strict";
910
function n() {
911
(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);
912
}
913
t.exports = n;
914
},
915
"zlib/adler32.js": function (e, t, r) {
916
"use strict";
917
function n(e, t, r, n) {
918
for (var o = (65535 & e) | 0, a = ((e >>> 16) & 65535) | 0, i = 0; 0 !== r; ) {
919
(i = r > 2e3 ? 2e3 : r), (r -= i);
920
do (o = (o + t[n++]) | 0), (a = (a + o) | 0);
921
while (--i);
922
(o %= 65521), (a %= 65521);
923
}
924
return o | (a << 16) | 0;
925
}
926
t.exports = n;
927
},
928
"zlib/crc32.js": function (e, t, r) {
929
"use strict";
930
function n() {
931
for (var e, t = [], r = 0; r < 256; r++) {
932
e = r;
933
for (var n = 0; n < 8; n++) e = 1 & e ? 3988292384 ^ (e >>> 1) : e >>> 1;
934
t[r] = e;
935
}
936
return t;
937
}
938
function o(e, t, r, n) {
939
var o = a,
940
i = n + r;
941
e ^= -1;
942
for (var s = n; s < i; s++) e = (e >>> 8) ^ o[255 & (e ^ t[s])];
943
return e ^ -1;
944
}
945
var a = n();
946
t.exports = o;
947
},
948
"zlib/inffast.js": function (e, t, r) {
949
"use strict";
950
var n = 30,
951
o = 12;
952
t.exports = function (e, t) {
953
var r, a, i, s, d, l, u, c, f, h, p, w, m, b, y, g, v, A, U, x, E, k, B, L, W;
954
(r = e.state),
955
(a = e.next_in),
956
(L = e.input),
957
(i = a + (e.avail_in - 5)),
958
(s = e.next_out),
959
(W = e.output),
960
(d = s - (t - e.avail_out)),
961
(l = s + (e.avail_out - 257)),
962
(u = r.dmax),
963
(c = r.wsize),
964
(f = r.whave),
965
(h = r.wnext),
966
(p = r.window),
967
(w = r.hold),
968
(m = r.bits),
969
(b = r.lencode),
970
(y = r.distcode),
971
(g = (1 << r.lenbits) - 1),
972
(v = (1 << r.distbits) - 1);
973
e: do {
974
m < 15 && ((w += L[a++] << m), (m += 8), (w += L[a++] << m), (m += 8)), (A = b[w & g]);
975
t: for (;;) {
976
if (((U = A >>> 24), (w >>>= U), (m -= U), (U = (A >>> 16) & 255), 0 === U)) W[s++] = 65535 & A;
977
else {
978
if (!(16 & U)) {
979
if (0 === (64 & U)) {
980
A = b[(65535 & A) + (w & ((1 << U) - 1))];
981
continue t;
982
}
983
if (32 & U) {
984
r.mode = o;
985
break e;
986
}
987
(e.msg = "invalid literal/length code"), (r.mode = n);
988
break e;
989
}
990
(x = 65535 & A),
991
(U &= 15),
992
U && (m < U && ((w += L[a++] << m), (m += 8)), (x += w & ((1 << U) - 1)), (w >>>= U), (m -= U)),
993
m < 15 && ((w += L[a++] << m), (m += 8), (w += L[a++] << m), (m += 8)),
994
(A = y[w & v]);
995
r: for (;;) {
996
if (((U = A >>> 24), (w >>>= U), (m -= U), (U = (A >>> 16) & 255), !(16 & U))) {
997
if (0 === (64 & U)) {
998
A = y[(65535 & A) + (w & ((1 << U) - 1))];
999
continue r;
1000
}
1001
(e.msg = "invalid distance code"), (r.mode = n);
1002
break e;
1003
}
1004
if (((E = 65535 & A), (U &= 15), m < U && ((w += L[a++] << m), (m += 8), m < U && ((w += L[a++] << m), (m += 8))), (E += w & ((1 << U) - 1)), E > u)) {
1005
(e.msg = "invalid distance too far back"), (r.mode = n);
1006
break e;
1007
}
1008
if (((w >>>= U), (m -= U), (U = s - d), E > U)) {
1009
if (((U = E - U), U > f && r.sane)) {
1010
(e.msg = "invalid distance too far back"), (r.mode = n);
1011
break e;
1012
}
1013
if (((k = 0), (B = p), 0 === h)) {
1014
if (((k += c - U), U < x)) {
1015
x -= U;
1016
do W[s++] = p[k++];
1017
while (--U);
1018
(k = s - E), (B = W);
1019
}
1020
} else if (h < U) {
1021
if (((k += c + h - U), (U -= h), U < x)) {
1022
x -= U;
1023
do W[s++] = p[k++];
1024
while (--U);
1025
if (((k = 0), h < x)) {
1026
(U = h), (x -= U);
1027
do W[s++] = p[k++];
1028
while (--U);
1029
(k = s - E), (B = W);
1030
}
1031
}
1032
} else if (((k += h - U), U < x)) {
1033
x -= U;
1034
do W[s++] = p[k++];
1035
while (--U);
1036
(k = s - E), (B = W);
1037
}
1038
for (; x > 2; ) (W[s++] = B[k++]), (W[s++] = B[k++]), (W[s++] = B[k++]), (x -= 3);
1039
x && ((W[s++] = B[k++]), x > 1 && (W[s++] = B[k++]));
1040
} else {
1041
k = s - E;
1042
do (W[s++] = W[k++]), (W[s++] = W[k++]), (W[s++] = W[k++]), (x -= 3);
1043
while (x > 2);
1044
x && ((W[s++] = W[k++]), x > 1 && (W[s++] = W[k++]));
1045
}
1046
break;
1047
}
1048
}
1049
break;
1050
}
1051
} while (a < i && s < l);
1052
(x = m >> 3),
1053
(a -= x),
1054
(m -= x << 3),
1055
(w &= (1 << m) - 1),
1056
(e.next_in = a),
1057
(e.next_out = s),
1058
(e.avail_in = a < i ? 5 + (i - a) : 5 - (a - i)),
1059
(e.avail_out = s < l ? 257 + (l - s) : 257 - (s - l)),
1060
(r.hold = w),
1061
(r.bits = m);
1062
};
1063
},
1064
"zlib/inftrees.js": function (e, t, r) {
1065
"use strict";
1066
var n = e("../utils/common"),
1067
o = 15,
1068
a = 852,
1069
i = 592,
1070
s = 0,
1071
d = 1,
1072
l = 2,
1073
u = [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],
1074
c = [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],
1075
f = [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],
1076
h = [16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64];
1077
t.exports = function (e, t, r, p, w, m, b, y) {
1078
var g,
1079
v,
1080
A,
1081
U,
1082
x,
1083
E,
1084
k,
1085
B,
1086
L,
1087
W = y.bits,
1088
O = 0,
1089
M = 0,
1090
N = 0,
1091
R = 0,
1092
C = 0,
1093
H = 0,
1094
I = 0,
1095
S = 0,
1096
P = 0,
1097
D = 0,
1098
T = null,
1099
F = 0,
1100
q = new n.Buf16(o + 1),
1101
V = new n.Buf16(o + 1),
1102
z = null,
1103
Z = 0;
1104
for (O = 0; O <= o; O++) q[O] = 0;
1105
for (M = 0; M < p; M++) q[t[r + M]]++;
1106
for (C = W, R = o; R >= 1 && 0 === q[R]; R--);
1107
if ((C > R && (C = R), 0 === R)) return (w[m++] = 20971520), (w[m++] = 20971520), (y.bits = 1), 0;
1108
for (N = 1; N < R && 0 === q[N]; N++);
1109
for (C < N && (C = N), S = 1, O = 1; O <= o; O++) if (((S <<= 1), (S -= q[O]), S < 0)) return -1;
1110
if (S > 0 && (e === s || 1 !== R)) return -1;
1111
for (V[1] = 0, O = 1; O < o; O++) V[O + 1] = V[O] + q[O];
1112
for (M = 0; M < p; M++) 0 !== t[r + M] && (b[V[t[r + M]]++] = M);
1113
if (
1114
(e === s ? ((T = z = b), (E = 19)) : e === d ? ((T = u), (F -= 257), (z = c), (Z -= 257), (E = 256)) : ((T = f), (z = h), (E = -1)),
1115
(D = 0),
1116
(M = 0),
1117
(O = N),
1118
(x = m),
1119
(H = C),
1120
(I = 0),
1121
(A = -1),
1122
(P = 1 << C),
1123
(U = P - 1),
1124
(e === d && P > a) || (e === l && P > i))
1125
)
1126
return 1;
1127
for (;;) {
1128
(k = O - I), b[M] < E ? ((B = 0), (L = b[M])) : b[M] > E ? ((B = z[Z + b[M]]), (L = T[F + b[M]])) : ((B = 96), (L = 0)), (g = 1 << (O - I)), (v = 1 << H), (N = v);
1129
do (v -= g), (w[x + (D >> I) + v] = (k << 24) | (B << 16) | L | 0);
1130
while (0 !== v);
1131
for (g = 1 << (O - 1); D & g; ) g >>= 1;
1132
if ((0 !== g ? ((D &= g - 1), (D += g)) : (D = 0), M++, 0 === --q[O])) {
1133
if (O === R) break;
1134
O = t[r + b[M]];
1135
}
1136
if (O > C && (D & U) !== A) {
1137
for (0 === I && (I = C), x += N, H = O - I, S = 1 << H; H + I < R && ((S -= q[H + I]), !(S <= 0)); ) H++, (S <<= 1);
1138
if (((P += 1 << H), (e === d && P > a) || (e === l && P > i))) return 1;
1139
(A = D & U), (w[A] = (C << 24) | (H << 16) | (x - m) | 0);
1140
}
1141
}
1142
return 0 !== D && (w[x + D] = ((O - I) << 24) | (64 << 16) | 0), (y.bits = C), 0;
1143
};
1144
},
1145
};
1146
for (var r in t) t[r].folder = r.substring(0, r.lastIndexOf("/") + 1);
1147
var n = function (e) {
1148
var r = [];
1149
return (
1150
(e = e.split("/").every(function (e) {
1151
return ".." == e ? r.pop() : "." == e || "" == e || r.push(e);
1152
})
1153
? r.join("/")
1154
: null),
1155
e ? t[e] || t[e + ".js"] || t[e + "/index.js"] : null
1156
);
1157
},
1158
o = function (e, t) {
1159
return e ? n(e.folder + "node_modules/" + t) || o(e.parent, t) : null;
1160
},
1161
a = function (e, t) {
1162
var r = t.match(/^\//) ? null : e ? (t.match(/^\.\.?\//) ? n(e.folder + t) : o(e, t)) : n(t);
1163
if (!r) throw "module not found: " + t;
1164
return r.exports || ((r.parent = e), r(a.bind(null, r), r, (r.exports = {}))), r.exports;
1165
};
1166
return a(null, e);
1167
},
1168
decompress: function (e) {
1169
this.exports || (this.exports = this.require("inflate.js"));
1170
try {
1171
return this.exports.inflate(e);
1172
} catch (e) {}
1173
},
1174
hasUnityMarker: function (e) {
1175
var t = 10,
1176
r = "UnityWeb Compressed Content (gzip)";
1177
if (t > e.length || 31 != e[0] || 139 != e[1]) return !1;
1178
var n = e[3];
1179
if (4 & n) {
1180
if (t + 2 > e.length) return !1;
1181
if (((t += 2 + e[t] + (e[t + 1] << 8)), t > e.length)) return !1;
1182
}
1183
if (8 & n) {
1184
for (; t < e.length && e[t]; ) t++;
1185
if (t + 1 > e.length) return !1;
1186
t++;
1187
}
1188
return 16 & n && String.fromCharCode.apply(null, e.subarray(t, t + r.length + 1)) == r + "\0";
1189
},
1190
},
1191
brotli: {
1192
require: function (e) {
1193
var t = {
1194
"decompress.js": function (e, t, r) {
1195
t.exports = e("./dec/decode").BrotliDecompressBuffer;
1196
},
1197
"dec/bit_reader.js": function (e, t, r) {
1198
function n(e) {
1199
(this.buf_ = new Uint8Array(a)), (this.input_ = e), this.reset();
1200
}
1201
const o = 4096,
1202
a = 8224,
1203
i = 8191,
1204
s = new Uint32Array([0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215]);
1205
(n.READ_SIZE = o),
1206
(n.IBUF_MASK = i),
1207
(n.prototype.reset = function () {
1208
(this.buf_ptr_ = 0), (this.val_ = 0), (this.pos_ = 0), (this.bit_pos_ = 0), (this.bit_end_pos_ = 0), (this.eos_ = 0), this.readMoreInput();
1209
for (var e = 0; e < 4; e++) (this.val_ |= this.buf_[this.pos_] << (8 * e)), ++this.pos_;
1210
return this.bit_end_pos_ > 0;
1211
}),
1212
(n.prototype.readMoreInput = function () {
1213
if (!(this.bit_end_pos_ > 256))
1214
if (this.eos_) {
1215
if (this.bit_pos_ > this.bit_end_pos_) throw new Error("Unexpected end of input " + this.bit_pos_ + " " + this.bit_end_pos_);
1216
} else {
1217
var e = this.buf_ptr_,
1218
t = this.input_.read(this.buf_, e, o);
1219
if (t < 0) throw new Error("Unexpected end of input");
1220
if (t < o) {
1221
this.eos_ = 1;
1222
for (var r = 0; r < 32; r++) this.buf_[e + t + r] = 0;
1223
}
1224
if (0 === e) {
1225
for (var r = 0; r < 32; r++) this.buf_[8192 + r] = this.buf_[r];
1226
this.buf_ptr_ = o;
1227
} else this.buf_ptr_ = 0;
1228
this.bit_end_pos_ += t << 3;
1229
}
1230
}),
1231
(n.prototype.fillBitWindow = function () {
1232
for (; this.bit_pos_ >= 8; ) (this.val_ >>>= 8), (this.val_ |= this.buf_[this.pos_ & i] << 24), ++this.pos_, (this.bit_pos_ = (this.bit_pos_ - 8) >>> 0), (this.bit_end_pos_ = (this.bit_end_pos_ - 8) >>> 0);
1233
}),
1234
(n.prototype.readBits = function (e) {
1235
32 - this.bit_pos_ < e && this.fillBitWindow();
1236
var t = (this.val_ >>> this.bit_pos_) & s[e];
1237
return (this.bit_pos_ += e), t;
1238
}),
1239
(t.exports = n);
1240
},
1241
"dec/context.js": function (e, t, r) {
1242
(r.lookup = new Uint8Array([
1243
0,
1244
0,
1245
0,
1246
0,
1247
0,
1248
0,
1249
0,
1250
0,
1251
0,
1252
4,
1253
4,
1254
0,
1255
0,
1256
4,
1257
0,
1258
0,
1259
0,
1260
0,
1261
0,
1262
0,
1263
0,
1264
0,
1265
0,
1266
0,
1267
0,
1268
0,
1269
0,
1270
0,
1271
0,
1272
0,
1273
0,
1274
0,
1275
8,
1276
12,
1277
16,
1278
12,
1279
12,
1280
20,
1281
12,
1282
16,
1283
24,
1284
28,
1285
12,
1286
12,
1287
32,
1288
12,
1289
36,
1290
12,
1291
44,
1292
44,
1293
44,
1294
44,
1295
44,
1296
44,
1297
44,
1298
44,
1299
44,
1300
44,
1301
32,
1302
32,
1303
24,
1304
40,
1305
28,
1306
12,
1307
12,
1308
48,
1309
52,
1310
52,
1311
52,
1312
48,
1313
52,
1314
52,
1315
52,
1316
48,
1317
52,
1318
52,
1319
52,
1320
52,
1321
52,
1322
48,
1323
52,
1324
52,
1325
52,
1326
52,
1327
52,
1328
48,
1329
52,
1330
52,
1331
52,
1332
52,
1333
52,
1334
24,
1335
12,
1336
28,
1337
12,
1338
12,
1339
12,
1340
56,
1341
60,
1342
60,
1343
60,
1344
56,
1345
60,
1346
60,
1347
60,
1348
56,
1349
60,
1350
60,
1351
60,
1352
60,
1353
60,
1354
56,
1355
60,
1356
60,
1357
60,
1358
60,
1359
60,
1360
56,
1361
60,
1362
60,
1363
60,
1364
60,
1365
60,
1366
24,
1367
12,
1368
28,
1369
12,
1370
0,
1371
0,
1372
1,
1373
0,
1374
1,
1375
0,
1376
1,
1377
0,
1378
1,
1379
0,
1380
1,
1381
0,
1382
1,
1383
0,
1384
1,
1385
0,
1386
1,
1387
0,
1388
1,
1389
0,
1390
1,
1391
0,
1392
1,
1393
0,
1394
1,
1395
0,
1396
1,
1397
0,
1398
1,
1399
0,
1400
1,
1401
0,
1402
1,
1403
0,
1404
1,
1405
0,
1406
1,
1407
0,
1408
1,
1409
0,
1410
1,
1411
0,
1412
1,
1413
0,
1414
1,
1415
0,
1416
1,
1417
0,
1418
1,
1419
0,
1420
1,
1421
0,
1422
1,
1423
0,
1424
1,
1425
0,
1426
1,
1427
0,
1428
1,
1429
0,
1430
1,
1431
0,
1432
1,
1433
0,
1434
1,
1435
2,
1436
3,
1437
2,
1438
3,
1439
2,
1440
3,
1441
2,
1442
3,
1443
2,
1444
3,
1445
2,
1446
3,
1447
2,
1448
3,
1449
2,
1450
3,
1451
2,
1452
3,
1453
2,
1454
3,
1455
2,
1456
3,
1457
2,
1458
3,
1459
2,
1460
3,
1461
2,
1462
3,
1463
2,
1464
3,
1465
2,
1466
3,
1467
2,
1468
3,
1469
2,
1470
3,
1471
2,
1472
3,
1473
2,
1474
3,
1475
2,
1476
3,
1477
2,
1478
3,
1479
2,
1480
3,
1481
2,
1482
3,
1483
2,
1484
3,
1485
2,
1486
3,
1487
2,
1488
3,
1489
2,
1490
3,
1491
2,
1492
3,
1493
2,
1494
3,
1495
2,
1496
3,
1497
2,
1498
3,
1499
0,
1500
0,
1501
0,
1502
0,
1503
0,
1504
0,
1505
0,
1506
0,
1507
0,
1508
0,
1509
0,
1510
0,
1511
0,
1512
0,
1513
0,
1514
0,
1515
0,
1516
0,
1517
0,
1518
0,
1519
0,
1520
0,
1521
0,
1522
0,
1523
0,
1524
0,
1525
0,
1526
0,
1527
0,
1528
0,
1529
0,
1530
0,
1531
0,
1532
1,
1533
1,
1534
1,
1535
1,
1536
1,
1537
1,
1538
1,
1539
1,
1540
1,
1541
1,
1542
1,
1543
1,
1544
1,
1545
1,
1546
1,
1547
2,
1548
2,
1549
2,
1550
2,
1551
2,
1552
2,
1553
2,
1554
2,
1555
2,
1556
2,
1557
1,
1558
1,
1559
1,
1560
1,
1561
1,
1562
1,
1563
1,
1564
2,
1565
2,
1566
2,
1567
2,
1568
2,
1569
2,
1570
2,
1571
2,
1572
2,
1573
2,
1574
2,
1575
2,
1576
2,
1577
2,
1578
2,
1579
2,
1580
2,
1581
2,
1582
2,
1583
2,
1584
2,
1585
2,
1586
2,
1587
2,
1588
2,
1589
2,
1590
1,
1591
1,
1592
1,
1593
1,
1594
1,
1595
1,
1596
3,
1597
3,
1598
3,
1599
3,
1600
3,
1601
3,
1602
3,
1603
3,
1604
3,
1605
3,
1606
3,
1607
3,
1608
3,
1609
3,
1610
3,
1611
3,
1612
3,
1613
3,
1614
3,
1615
3,
1616
3,
1617
3,
1618
3,
1619
3,
1620
3,
1621
3,
1622
1,
1623
1,
1624
1,
1625
1,
1626
0,
1627
0,
1628
0,
1629
0,
1630
0,
1631
0,
1632
0,
1633
0,
1634
0,
1635
0,
1636
0,
1637
0,
1638
0,
1639
0,
1640
0,
1641
0,
1642
0,
1643
0,
1644
0,
1645
0,
1646
0,
1647
0,
1648
0,
1649
0,
1650
0,
1651
0,
1652
0,
1653
0,
1654
0,
1655
0,
1656
0,
1657
0,
1658
0,
1659
0,
1660
0,
1661
0,
1662
0,
1663
0,
1664
0,
1665
0,
1666
0,
1667
0,
1668
0,
1669
0,
1670
0,
1671
0,
1672
0,
1673
0,
1674
0,
1675
0,
1676
0,
1677
0,
1678
0,
1679
0,
1680
0,
1681
0,
1682
0,
1683
0,
1684
0,
1685
0,
1686
0,
1687
0,
1688
0,
1689
0,
1690
0,
1691
0,
1692
0,
1693
0,
1694
0,
1695
0,
1696
0,
1697
0,
1698
0,
1699
0,
1700
0,
1701
0,
1702
0,
1703
0,
1704
0,
1705
0,
1706
0,
1707
0,
1708
0,
1709
0,
1710
0,
1711
0,
1712
0,
1713
0,
1714
0,
1715
0,
1716
0,
1717
0,
1718
0,
1719
0,
1720
0,
1721
0,
1722
0,
1723
2,
1724
2,
1725
2,
1726
2,
1727
2,
1728
2,
1729
2,
1730
2,
1731
2,
1732
2,
1733
2,
1734
2,
1735
2,
1736
2,
1737
2,
1738
2,
1739
2,
1740
2,
1741
2,
1742
2,
1743
2,
1744
2,
1745
2,
1746
2,
1747
2,
1748
2,
1749
2,
1750
2,
1751
2,
1752
2,
1753
2,
1754
2,
1755
0,
1756
1,
1757
1,
1758
1,
1759
1,
1760
1,
1761
1,
1762
1,
1763
1,
1764
1,
1765
1,
1766
1,
1767
1,
1768
1,
1769
1,
1770
1,
1771
2,
1772
2,
1773
2,
1774
2,
1775
2,
1776
2,
1777
2,
1778
2,
1779
2,
1780
2,
1781
2,
1782
2,
1783
2,
1784
2,
1785
2,
1786
2,
1787
2,
1788
2,
1789
2,
1790
2,
1791
2,
1792
2,
1793
2,
1794
2,
1795
2,
1796
2,
1797
2,
1798
2,
1799
2,
1800
2,
1801
2,
1802
2,
1803
2,
1804
2,
1805
2,
1806
2,
1807
2,
1808
2,
1809
2,
1810
2,
1811
2,
1812
2,
1813
2,
1814
2,
1815
2,
1816
2,
1817
2,
1818
2,
1819
3,
1820
3,
1821
3,
1822
3,
1823
3,
1824
3,
1825
3,
1826
3,
1827
3,
1828
3,
1829
3,
1830
3,
1831
3,
1832
3,
1833
3,
1834
3,
1835
3,
1836
3,
1837
3,
1838
3,
1839
3,
1840
3,
1841
3,
1842
3,
1843
3,
1844
3,
1845
3,
1846
3,
1847
3,
1848
3,
1849
3,
1850
3,
1851
3,
1852
3,
1853
3,
1854
3,
1855
3,
1856
3,
1857
3,
1858
3,
1859
3,
1860
3,
1861
3,
1862
3,
1863
3,
1864
3,
1865
3,
1866
3,
1867
3,
1868
3,
1869
3,
1870
3,
1871
3,
1872
3,
1873
3,
1874
3,
1875
3,
1876
3,
1877
3,
1878
3,
1879
3,
1880
3,
1881
3,
1882
3,
1883
4,
1884
4,
1885
4,
1886
4,
1887
4,
1888
4,
1889
4,
1890
4,
1891
4,
1892
4,
1893
4,
1894
4,
1895
4,
1896
4,
1897
4,
1898
4,
1899
4,
1900
4,
1901
4,
1902
4,
1903
4,
1904
4,
1905
4,
1906
4,
1907
4,
1908
4,
1909
4,
1910
4,
1911
4,
1912
4,
1913
4,
1914
4,
1915
4,
1916
4,
1917
4,
1918
4,
1919
4,
1920
4,
1921
4,
1922
4,
1923
4,
1924
4,
1925
4,
1926
4,
1927
4,
1928
4,
1929
4,
1930
4,
1931
4,
1932
4,
1933
4,
1934
4,
1935
4,
1936
4,
1937
4,
1938
4,
1939
4,
1940
4,
1941
4,
1942
4,
1943
4,
1944
4,
1945
4,
1946
4,
1947
5,
1948
5,
1949
5,
1950
5,
1951
5,
1952
5,
1953
5,
1954
5,
1955
5,
1956
5,
1957
5,
1958
5,
1959
5,
1960
5,
1961
5,
1962
5,
1963
5,
1964
5,
1965
5,
1966
5,
1967
5,
1968
5,
1969
5,
1970
5,
1971
5,
1972
5,
1973
5,
1974
5,
1975
5,
1976
5,
1977
5,
1978
5,
1979
5,
1980
5,
1981
5,
1982
5,
1983
5,
1984
5,
1985
5,
1986
5,
1987
5,
1988
5,
1989
5,
1990
5,
1991
5,
1992
5,
1993
5,
1994
5,
1995
6,
1996
6,
1997
6,
1998
6,
1999
6,
2000
6,
2001
6,
2002
6,
2003
6,
2004
6,
2005
6,
2006
6,
2007
6,
2008
6,
2009
6,
2010
7,
2011
0,
2012
8,
2013
8,
2014
8,
2015
8,
2016
8,
2017
8,
2018
8,
2019
8,
2020
8,
2021
8,
2022
8,
2023
8,
2024
8,
2025
8,
2026
8,
2027
16,
2028
16,
2029
16,
2030
16,
2031
16,
2032
16,
2033
16,
2034
16,
2035
16,
2036
16,
2037
16,
2038
16,
2039
16,
2040
16,
2041
16,
2042
16,
2043
16,
2044
16,
2045
16,
2046
16,
2047
16,
2048
16,
2049
16,
2050
16,
2051
16,
2052
16,
2053
16,
2054
16,
2055
16,
2056
16,
2057
16,
2058
16,
2059
16,
2060
16,
2061
16,
2062
16,
2063
16,
2064
16,
2065
16,
2066
16,
2067
16,
2068
16,
2069
16,
2070
16,
2071
16,
2072
16,
2073
16,
2074
16,
2075
24,
2076
24,
2077
24,
2078
24,
2079
24,
2080
24,
2081
24,
2082
24,
2083
24,
2084
24,
2085
24,
2086
24,
2087
24,
2088
24,
2089
24,
2090
24,
2091
24,
2092
24,
2093
24,
2094
24,
2095
24,
2096
24,
2097
24,
2098
24,
2099
24,
2100
24,
2101
24,
2102
24,
2103
24,
2104
24,
2105
24,
2106
24,
2107
24,
2108
24,
2109
24,
2110
24,
2111
24,
2112
24,
2113
24,
2114
24,
2115
24,
2116
24,
2117
24,
2118
24,
2119
24,
2120
24,
2121
24,
2122
24,
2123
24,
2124
24,
2125
24,
2126
24,
2127
24,
2128
24,
2129
24,
2130
24,
2131
24,
2132
24,
2133
24,
2134
24,
2135
24,
2136
24,
2137
24,
2138
24,
2139
32,
2140
32,
2141
32,
2142
32,
2143
32,
2144
32,
2145
32,
2146
32,
2147
32,
2148
32,
2149
32,
2150
32,
2151
32,
2152
32,
2153
32,
2154
32,
2155
32,
2156
32,
2157
32,
2158
32,
2159
32,
2160
32,
2161
32,
2162
32,
2163
32,
2164
32,
2165
32,
2166
32,
2167
32,
2168
32,
2169
32,
2170
32,
2171
32,
2172
32,
2173
32,
2174
32,
2175
32,
2176
32,
2177
32,
2178
32,
2179
32,
2180
32,
2181
32,
2182
32,
2183
32,
2184
32,
2185
32,
2186
32,
2187
32,
2188
32,
2189
32,
2190
32,
2191
32,
2192
32,
2193
32,
2194
32,
2195
32,
2196
32,
2197
32,
2198
32,
2199
32,
2200
32,
2201
32,
2202
32,
2203
40,
2204
40,
2205
40,
2206
40,
2207
40,
2208
40,
2209
40,
2210
40,
2211
40,
2212
40,
2213
40,
2214
40,
2215
40,
2216
40,
2217
40,
2218
40,
2219
40,
2220
40,
2221
40,
2222
40,
2223
40,
2224
40,
2225
40,
2226
40,
2227
40,
2228
40,
2229
40,
2230
40,
2231
40,
2232
40,
2233
40,
2234
40,
2235
40,
2236
40,
2237
40,
2238
40,
2239
40,
2240
40,
2241
40,
2242
40,
2243
40,
2244
40,
2245
40,
2246
40,
2247
40,
2248
40,
2249
40,
2250
40,
2251
48,
2252
48,
2253
48,
2254
48,
2255
48,
2256
48,
2257
48,
2258
48,
2259
48,
2260
48,
2261
48,
2262
48,
2263
48,
2264
48,
2265
48,
2266
56,
2267
0,
2268
1,
2269
2,
2270
3,
2271
4,
2272
5,
2273
6,
2274
7,
2275
8,
2276
9,
2277
10,
2278
11,
2279
12,
2280
13,
2281
14,
2282
15,
2283
16,
2284
17,
2285
18,
2286
19,
2287
20,
2288
21,
2289
22,
2290
23,
2291
24,
2292
25,
2293
26,
2294
27,
2295
28,
2296
29,
2297
30,
2298
31,
2299
32,
2300
33,
2301
34,
2302
35,
2303
36,
2304
37,
2305
38,
2306
39,
2307
40,
2308
41,
2309
42,
2310
43,
2311
44,
2312
45,
2313
46,
2314
47,
2315
48,
2316
49,
2317
50,
2318
51,
2319
52,
2320
53,
2321
54,
2322
55,
2323
56,
2324
57,
2325
58,
2326
59,
2327
60,
2328
61,
2329
62,
2330
63,
2331
0,
2332
1,
2333
2,
2334
3,
2335
4,
2336
5,
2337
6,
2338
7,
2339
8,
2340
9,
2341
10,
2342
11,
2343
12,
2344
13,
2345
14,
2346
15,
2347
16,
2348
17,
2349
18,
2350
19,
2351
20,
2352
21,
2353
22,
2354
23,
2355
24,
2356
25,
2357
26,
2358
27,
2359
28,
2360
29,
2361
30,
2362
31,
2363
32,
2364
33,
2365
34,
2366
35,
2367
36,
2368
37,
2369
38,
2370
39,
2371
40,
2372
41,
2373
42,
2374
43,
2375
44,
2376
45,
2377
46,
2378
47,
2379
48,
2380
49,
2381
50,
2382
51,
2383
52,
2384
53,
2385
54,
2386
55,
2387
56,
2388
57,
2389
58,
2390
59,
2391
60,
2392
61,
2393
62,
2394
63,
2395
0,
2396
1,
2397
2,
2398
3,
2399
4,
2400
5,
2401
6,
2402
7,
2403
8,
2404
9,
2405
10,
2406
11,
2407
12,
2408
13,
2409
14,
2410
15,
2411
16,
2412
17,
2413
18,
2414
19,
2415
20,
2416
21,
2417
22,
2418
23,
2419
24,
2420
25,
2421
26,
2422
27,
2423
28,
2424
29,
2425
30,
2426
31,
2427
32,
2428
33,
2429
34,
2430
35,
2431
36,
2432
37,
2433
38,
2434
39,
2435
40,
2436
41,
2437
42,
2438
43,
2439
44,
2440
45,
2441
46,
2442
47,
2443
48,
2444
49,
2445
50,
2446
51,
2447
52,
2448
53,
2449
54,
2450
55,
2451
56,
2452
57,
2453
58,
2454
59,
2455
60,
2456
61,
2457
62,
2458
63,
2459
0,
2460
1,
2461
2,
2462
3,
2463
4,
2464
5,
2465
6,
2466
7,
2467
8,
2468
9,
2469
10,
2470
11,
2471
12,
2472
13,
2473
14,
2474
15,
2475
16,
2476
17,
2477
18,
2478
19,
2479
20,
2480
21,
2481
22,
2482
23,
2483
24,
2484
25,
2485
26,
2486
27,
2487
28,
2488
29,
2489
30,
2490
31,
2491
32,
2492
33,
2493
34,
2494
35,
2495
36,
2496
37,
2497
38,
2498
39,
2499
40,
2500
41,
2501
42,
2502
43,
2503
44,
2504
45,
2505
46,
2506
47,
2507
48,
2508
49,
2509
50,
2510
51,
2511
52,
2512
53,
2513
54,
2514
55,
2515
56,
2516
57,
2517
58,
2518
59,
2519
60,
2520
61,
2521
62,
2522
63,
2523
0,
2524
0,
2525
0,
2526
0,
2527
1,
2528
1,
2529
1,
2530
1,
2531
2,
2532
2,
2533
2,
2534
2,
2535
3,
2536
3,
2537
3,
2538
3,
2539
4,
2540
4,
2541
4,
2542
4,
2543
5,
2544
5,
2545
5,
2546
5,
2547
6,
2548
6,
2549
6,
2550
6,
2551
7,
2552
7,
2553
7,
2554
7,
2555
8,
2556
8,
2557
8,
2558
8,
2559
9,
2560
9,
2561
9,
2562
9,
2563
10,
2564
10,
2565
10,
2566
10,
2567
11,
2568
11,
2569
11,
2570
11,
2571
12,
2572
12,
2573
12,
2574
12,
2575
13,
2576
13,
2577
13,
2578
13,
2579
14,
2580
14,
2581
14,
2582
14,
2583
15,
2584
15,
2585
15,
2586
15,
2587
16,
2588
16,
2589
16,
2590
16,
2591
17,
2592
17,
2593
17,
2594
17,
2595
18,
2596
18,
2597
18,
2598
18,
2599
19,
2600
19,
2601
19,
2602
19,
2603
20,
2604
20,
2605
20,
2606
20,
2607
21,
2608
21,
2609
21,
2610
21,
2611
22,
2612
22,
2613
22,
2614
22,
2615
23,
2616
23,
2617
23,
2618
23,
2619
24,
2620
24,
2621
24,
2622
24,
2623
25,
2624
25,
2625
25,
2626
25,
2627
26,
2628
26,
2629
26,
2630
26,
2631
27,
2632
27,
2633
27,
2634
27,
2635
28,
2636
28,
2637
28,
2638
28,
2639
29,
2640
29,
2641
29,
2642
29,
2643
30,
2644
30,
2645
30,
2646
30,
2647
31,
2648
31,
2649
31,
2650
31,
2651
32,
2652
32,
2653
32,
2654
32,
2655
33,
2656
33,
2657
33,
2658
33,
2659
34,
2660
34,
2661
34,
2662
34,
2663
35,
2664
35,
2665
35,
2666
35,
2667
36,
2668
36,
2669
36,
2670
36,
2671
37,
2672
37,
2673
37,
2674
37,
2675
38,
2676
38,
2677
38,
2678
38,
2679
39,
2680
39,
2681
39,
2682
39,
2683
40,
2684
40,
2685
40,
2686
40,
2687
41,
2688
41,
2689
41,
2690
41,
2691
42,
2692
42,
2693
42,
2694
42,
2695
43,
2696
43,
2697
43,
2698
43,
2699
44,
2700
44,
2701
44,
2702
44,
2703
45,
2704
45,
2705
45,
2706
45,
2707
46,
2708
46,
2709
46,
2710
46,
2711
47,
2712
47,
2713
47,
2714
47,
2715
48,
2716
48,
2717
48,
2718
48,
2719
49,
2720
49,
2721
49,
2722
49,
2723
50,
2724
50,
2725
50,
2726
50,
2727
51,
2728
51,
2729
51,
2730
51,
2731
52,
2732
52,
2733
52,
2734
52,
2735
53,
2736
53,
2737
53,
2738
53,
2739
54,
2740
54,
2741
54,
2742
54,
2743
55,
2744
55,
2745
55,
2746
55,
2747
56,
2748
56,
2749
56,
2750
56,
2751
57,
2752
57,
2753
57,
2754
57,
2755
58,
2756
58,
2757
58,
2758
58,
2759
59,
2760
59,
2761
59,
2762
59,
2763
60,
2764
60,
2765
60,
2766
60,
2767
61,
2768
61,
2769
61,
2770
61,
2771
62,
2772
62,
2773
62,
2774
62,
2775
63,
2776
63,
2777
63,
2778
63,
2779
0,
2780
0,
2781
0,
2782
0,
2783
0,
2784
0,
2785
0,
2786
0,
2787
0,
2788
0,
2789
0,
2790
0,
2791
0,
2792
0,
2793
0,
2794
0,
2795
0,
2796
0,
2797
0,
2798
0,
2799
0,
2800
0,
2801
0,
2802
0,
2803
0,
2804
0,
2805
0,
2806
0,
2807
0,
2808
0,
2809
0,
2810
0,
2811
0,
2812
0,
2813
0,
2814
0,
2815
0,
2816
0,
2817
0,
2818
0,
2819
0,
2820
0,
2821
0,
2822
0,
2823
0,
2824
0,
2825
0,
2826
0,
2827
0,
2828
0,
2829
0,
2830
0,
2831
0,
2832
0,
2833
0,
2834
0,
2835
0,
2836
0,
2837
0,
2838
0,
2839
0,
2840
0,
2841
0,
2842
0,
2843
0,
2844
0,
2845
0,
2846
0,
2847
0,
2848
0,
2849
0,
2850
0,
2851
0,
2852
0,
2853
0,
2854
0,
2855
0,
2856
0,
2857
0,
2858
0,
2859
0,
2860
0,
2861
0,
2862
0,
2863
0,
2864
0,
2865
0,
2866
0,
2867
0,
2868
0,
2869
0,
2870
0,
2871
0,
2872
0,
2873
0,
2874
0,
2875
0,
2876
0,
2877
0,
2878
0,
2879
0,
2880
0,
2881
0,
2882
0,
2883
0,
2884
0,
2885
0,
2886
0,
2887
0,
2888
0,
2889
0,
2890
0,
2891
0,
2892
0,
2893
0,
2894
0,
2895
0,
2896
0,
2897
0,
2898
0,
2899
0,
2900
0,
2901
0,
2902
0,
2903
0,
2904
0,
2905
0,
2906
0,
2907
0,
2908
0,
2909
0,
2910
0,
2911
0,
2912
0,
2913
0,
2914
0,
2915
0,
2916
0,
2917
0,
2918
0,
2919
0,
2920
0,
2921
0,
2922
0,
2923
0,
2924
0,
2925
0,
2926
0,
2927
0,
2928
0,
2929
0,
2930
0,
2931
0,
2932
0,
2933
0,
2934
0,
2935
0,
2936
0,
2937
0,
2938
0,
2939
0,
2940
0,
2941
0,
2942
0,
2943
0,
2944
0,
2945
0,
2946
0,
2947
0,
2948
0,
2949
0,
2950
0,
2951
0,
2952
0,
2953
0,
2954
0,
2955
0,
2956
0,
2957
0,
2958
0,
2959
0,
2960
0,
2961
0,
2962
0,
2963
0,
2964
0,
2965
0,
2966
0,
2967
0,
2968
0,
2969
0,
2970
0,
2971
0,
2972
0,
2973
0,
2974
0,
2975
0,
2976
0,
2977
0,
2978
0,
2979
0,
2980
0,
2981
0,
2982
0,
2983
0,
2984
0,
2985
0,
2986
0,
2987
0,
2988
0,
2989
0,
2990
0,
2991
0,
2992
0,
2993
0,
2994
0,
2995
0,
2996
0,
2997
0,
2998
0,
2999
0,
3000
0,
3001
0,
3002
0,
3003
0,
3004
0,
3005
0,
3006
0,
3007
0,
3008
0,
3009
0,
3010
0,
3011
0,
3012
0,
3013
0,
3014
0,
3015
0,
3016
0,
3017
0,
3018
0,
3019
0,
3020
0,
3021
0,
3022
0,
3023
0,
3024
0,
3025
0,
3026
0,
3027
0,
3028
0,
3029
0,
3030
0,
3031
0,
3032
0,
3033
0,
3034
0,
3035
])),
3036
(r.lookupOffsets = new Uint16Array([1024, 1536, 1280, 1536, 0, 256, 768, 512]));
3037
},
3038
"dec/decode.js": function (e, t, r) {
3039
function n(e) {
3040
var t;
3041
return 0 === e.readBits(1) ? 16 : ((t = e.readBits(3)), t > 0 ? 17 + t : ((t = e.readBits(3)), t > 0 ? 8 + t : 17));
3042
}
3043
function o(e) {
3044
if (e.readBits(1)) {
3045
var t = e.readBits(3);
3046
return 0 === t ? 1 : e.readBits(t) + (1 << t);
3047
}
3048
return 0;
3049
}
3050
function a() {
3051
(this.meta_block_length = 0), (this.input_end = 0), (this.is_uncompressed = 0), (this.is_metadata = !1);
3052
}
3053
function i(e) {
3054
var t,
3055
r,
3056
n,
3057
o = new a();
3058
if (((o.input_end = e.readBits(1)), o.input_end && e.readBits(1))) return o;
3059
if (((t = e.readBits(2) + 4), 7 === t)) {
3060
if (((o.is_metadata = !0), 0 !== e.readBits(1))) throw new Error("Invalid reserved bit");
3061
if (((r = e.readBits(2)), 0 === r)) return o;
3062
for (n = 0; n < r; n++) {
3063
var i = e.readBits(8);
3064
if (n + 1 === r && r > 1 && 0 === i) throw new Error("Invalid size byte");
3065
o.meta_block_length |= i << (8 * n);
3066
}
3067
} else
3068
for (n = 0; n < t; ++n) {
3069
var s = e.readBits(4);
3070
if (n + 1 === t && t > 4 && 0 === s) throw new Error("Invalid size nibble");
3071
o.meta_block_length |= s << (4 * n);
3072
}
3073
return ++o.meta_block_length, o.input_end || o.is_metadata || (o.is_uncompressed = e.readBits(1)), o;
3074
}
3075
function s(e, t, r) {
3076
var n;
3077
return (
3078
r.fillBitWindow(),
3079
(t += (r.val_ >>> r.bit_pos_) & T),
3080
(n = e[t].bits - D),
3081
n > 0 && ((r.bit_pos_ += D), (t += e[t].value), (t += (r.val_ >>> r.bit_pos_) & ((1 << n) - 1))),
3082
(r.bit_pos_ += e[t].bits),
3083
e[t].value
3084
);
3085
}
3086
function d(e, t, r, n) {
3087
for (var o = 0, a = N, i = 0, s = 0, d = 32768, l = [], u = 0; u < 32; u++) l.push(new B(0, 0));
3088
for (L(l, 0, 5, e, q); o < t && d > 0; ) {
3089
var c,
3090
f = 0;
3091
if ((n.readMoreInput(), n.fillBitWindow(), (f += (n.val_ >>> n.bit_pos_) & 31), (n.bit_pos_ += l[f].bits), (c = 255 & l[f].value), c < R)) (i = 0), (r[o++] = c), 0 !== c && ((a = c), (d -= 32768 >> c));
3092
else {
3093
var h,
3094
p,
3095
w = c - 14,
3096
m = 0;
3097
if ((c === R && (m = a), s !== m && ((i = 0), (s = m)), (h = i), i > 0 && ((i -= 2), (i <<= w)), (i += n.readBits(w) + 3), (p = i - h), o + p > t))
3098
throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");
3099
for (var b = 0; b < p; b++) r[o + b] = s;
3100
(o += p), 0 !== s && (d -= p << (15 - s));
3101
}
3102
}
3103
if (0 !== d) throw new Error("[ReadHuffmanCodeLengths] space = " + d);
3104
for (; o < t; o++) r[o] = 0;
3105
}
3106
function l(e, t, r, n) {
3107
var o,
3108
a = 0,
3109
i = new Uint8Array(e);
3110
if ((n.readMoreInput(), (o = n.readBits(2)), 1 === o)) {
3111
for (var s, l = e - 1, u = 0, c = new Int32Array(4), f = n.readBits(2) + 1; l; ) (l >>= 1), ++u;
3112
for (s = 0; s < f; ++s) (c[s] = n.readBits(u) % e), (i[c[s]] = 2);
3113
switch (((i[c[0]] = 1), f)) {
3114
case 1:
3115
break;
3116
case 3:
3117
if (c[0] === c[1] || c[0] === c[2] || c[1] === c[2]) throw new Error("[ReadHuffmanCode] invalid symbols");
3118
break;
3119
case 2:
3120
if (c[0] === c[1]) throw new Error("[ReadHuffmanCode] invalid symbols");
3121
i[c[1]] = 1;
3122
break;
3123
case 4:
3124
if (c[0] === c[1] || c[0] === c[2] || c[0] === c[3] || c[1] === c[2] || c[1] === c[3] || c[2] === c[3]) throw new Error("[ReadHuffmanCode] invalid symbols");
3125
n.readBits(1) ? ((i[c[2]] = 3), (i[c[3]] = 3)) : (i[c[0]] = 2);
3126
}
3127
} else {
3128
var s,
3129
h = new Uint8Array(q),
3130
p = 32,
3131
w = 0,
3132
m = [
3133
new B(2, 0),
3134
new B(2, 4),
3135
new B(2, 3),
3136
new B(3, 2),
3137
new B(2, 0),
3138
new B(2, 4),
3139
new B(2, 3),
3140
new B(4, 1),
3141
new B(2, 0),
3142
new B(2, 4),
3143
new B(2, 3),
3144
new B(3, 2),
3145
new B(2, 0),
3146
new B(2, 4),
3147
new B(2, 3),
3148
new B(4, 5),
3149
];
3150
for (s = o; s < q && p > 0; ++s) {
3151
var b,
3152
y = V[s],
3153
g = 0;
3154
n.fillBitWindow(), (g += (n.val_ >>> n.bit_pos_) & 15), (n.bit_pos_ += m[g].bits), (b = m[g].value), (h[y] = b), 0 !== b && ((p -= 32 >> b), ++w);
3155
}
3156
if (1 !== w && 0 !== p) throw new Error("[ReadHuffmanCode] invalid num_codes or space");
3157
d(h, e, i, n);
3158
}
3159
if (((a = L(t, r, D, i, e)), 0 === a)) throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");
3160
return a;
3161
}
3162
function u(e, t, r) {
3163
var n, o;
3164
return (n = s(e, t, r)), (o = O.kBlockLengthPrefixCode[n].nbits), O.kBlockLengthPrefixCode[n].offset + r.readBits(o);
3165
}
3166
function c(e, t, r) {
3167
var n;
3168
return e < z ? ((r += Z[e]), (r &= 3), (n = t[r] + Y[e])) : (n = e - z + 1), n;
3169
}
3170
function f(e, t) {
3171
for (var r = e[t], n = t; n; --n) e[n] = e[n - 1];
3172
e[0] = r;
3173
}
3174
function h(e, t) {
3175
var r,
3176
n = new Uint8Array(256);
3177
for (r = 0; r < 256; ++r) n[r] = r;
3178
for (r = 0; r < t; ++r) {
3179
var o = e[r];
3180
(e[r] = n[o]), o && f(n, o);
3181
}
3182
}
3183
function p(e, t) {
3184
(this.alphabet_size = e), (this.num_htrees = t), (this.codes = new Array(t + t * G[(e + 31) >>> 5])), (this.htrees = new Uint32Array(t));
3185
}
3186
function w(e, t) {
3187
var r,
3188
n,
3189
a,
3190
i = { num_htrees: null, context_map: null },
3191
d = 0;
3192
t.readMoreInput();
3193
var u = (i.num_htrees = o(t) + 1),
3194
c = (i.context_map = new Uint8Array(e));
3195
if (u <= 1) return i;
3196
for (r = t.readBits(1), r && (d = t.readBits(4) + 1), n = [], a = 0; a < F; a++) n[a] = new B(0, 0);
3197
for (l(u + d, n, 0, t), a = 0; a < e; ) {
3198
var f;
3199
if ((t.readMoreInput(), (f = s(n, 0, t)), 0 === f)) (c[a] = 0), ++a;
3200
else if (f <= d)
3201
for (var p = 1 + (1 << f) + t.readBits(f); --p; ) {
3202
if (a >= e) throw new Error("[DecodeContextMap] i >= context_map_size");
3203
(c[a] = 0), ++a;
3204
}
3205
else (c[a] = f - d), ++a;
3206
}
3207
return t.readBits(1) && h(c, e), i;
3208
}
3209
function m(e, t, r, n, o, a, i) {
3210
var d,
3211
l = 2 * r,
3212
u = r,
3213
c = s(t, r * F, i);
3214
(d = 0 === c ? o[l + (1 & a[u])] : 1 === c ? o[l + ((a[u] - 1) & 1)] + 1 : c - 2), d >= e && (d -= e), (n[r] = d), (o[l + (1 & a[u])] = d), ++a[u];
3215
}
3216
function b(e, t, r, n, o, a) {
3217
var i,
3218
s = o + 1,
3219
d = r & o,
3220
l = a.pos_ & E.IBUF_MASK;
3221
if (t < 8 || a.bit_pos_ + (t << 3) < a.bit_end_pos_) for (; t-- > 0; ) a.readMoreInput(), (n[d++] = a.readBits(8)), d === s && (e.write(n, s), (d = 0));
3222
else {
3223
if (a.bit_end_pos_ < 32) throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");
3224
for (; a.bit_pos_ < 32; ) (n[d] = a.val_ >>> a.bit_pos_), (a.bit_pos_ += 8), ++d, --t;
3225
if (((i = (a.bit_end_pos_ - a.bit_pos_) >> 3), l + i > E.IBUF_MASK)) {
3226
for (var u = E.IBUF_MASK + 1 - l, c = 0; c < u; c++) n[d + c] = a.buf_[l + c];
3227
(i -= u), (d += u), (t -= u), (l = 0);
3228
}
3229
for (var c = 0; c < i; c++) n[d + c] = a.buf_[l + c];
3230
if (((d += i), (t -= i), d >= s)) {
3231
e.write(n, s), (d -= s);
3232
for (var c = 0; c < d; c++) n[c] = n[s + c];
3233
}
3234
for (; d + t >= s; ) {
3235
if (((i = s - d), a.input_.read(n, d, i) < i)) throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");
3236
e.write(n, s), (t -= i), (d = 0);
3237
}
3238
if (a.input_.read(n, d, t) < t) throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");
3239
a.reset();
3240
}
3241
}
3242
function y(e) {
3243
var t = (e.bit_pos_ + 7) & -8,
3244
r = e.readBits(t - e.bit_pos_);
3245
return 0 == r;
3246
}
3247
function g(e) {
3248
var t = new U(e),
3249
r = new E(t);
3250
n(r);
3251
var o = i(r);
3252
return o.meta_block_length;
3253
}
3254
function v(e, t) {
3255
var r = new U(e);
3256
null == t && (t = g(e));
3257
var n = new Uint8Array(t),
3258
o = new x(n);
3259
return A(r, o), o.pos < o.buffer.length && (o.buffer = o.buffer.subarray(0, o.pos)), o.buffer;
3260
}
3261
function A(e, t) {
3262
var r,
3263
a,
3264
d,
3265
f,
3266
h,
3267
g,
3268
v,
3269
A,
3270
U,
3271
x = 0,
3272
L = 0,
3273
N = 0,
3274
R = 0,
3275
D = [16, 15, 11, 4],
3276
T = 0,
3277
q = 0,
3278
V = 0,
3279
Z = [new p(0, 0), new p(0, 0), new p(0, 0)];
3280
const Y = 128 + E.READ_SIZE;
3281
(U = new E(e)), (N = n(U)), (a = (1 << N) - 16), (d = 1 << N), (f = d - 1), (h = new Uint8Array(d + Y + k.maxDictionaryWordLength)), (g = d), (v = []), (A = []);
3282
for (var G = 0; G < 3240; G++) (v[G] = new B(0, 0)), (A[G] = new B(0, 0));
3283
for (; !L; ) {
3284
var J,
3285
j,
3286
X,
3287
K,
3288
Q,
3289
_,
3290
$,
3291
ee,
3292
te,
3293
re = 0,
3294
ne = [1 << 28, 1 << 28, 1 << 28],
3295
oe = [0],
3296
ae = [1, 1, 1],
3297
ie = [0, 1, 0, 1, 0, 1],
3298
se = [0],
3299
de = null,
3300
le = null,
3301
ue = null,
3302
ce = 0,
3303
fe = null,
3304
he = 0,
3305
pe = 0,
3306
we = null,
3307
me = 0,
3308
be = 0,
3309
ye = 0;
3310
for (r = 0; r < 3; ++r) (Z[r].codes = null), (Z[r].htrees = null);
3311
U.readMoreInput();
3312
var ge = i(U);
3313
if (((re = ge.meta_block_length), x + re > t.buffer.length)) {
3314
var ve = new Uint8Array(x + re);
3315
ve.set(t.buffer), (t.buffer = ve);
3316
}
3317
if (((L = ge.input_end), (J = ge.is_uncompressed), ge.is_metadata)) for (y(U); re > 0; --re) U.readMoreInput(), U.readBits(8);
3318
else if (0 !== re)
3319
if (J) (U.bit_pos_ = (U.bit_pos_ + 7) & -8), b(t, re, x, h, f, U), (x += re);
3320
else {
3321
for (r = 0; r < 3; ++r) (ae[r] = o(U) + 1), ae[r] >= 2 && (l(ae[r] + 2, v, r * F, U), l(I, A, r * F, U), (ne[r] = u(A, r * F, U)), (se[r] = 1));
3322
for (U.readMoreInput(), j = U.readBits(2), X = z + (U.readBits(4) << j), K = (1 << j) - 1, Q = X + (48 << j), le = new Uint8Array(ae[0]), r = 0; r < ae[0]; ++r)
3323
U.readMoreInput(), (le[r] = U.readBits(2) << 1);
3324
var Ae = w(ae[0] << S, U);
3325
(_ = Ae.num_htrees), (de = Ae.context_map);
3326
var Ue = w(ae[2] << P, U);
3327
for ($ = Ue.num_htrees, ue = Ue.context_map, Z[0] = new p(C, _), Z[1] = new p(H, ae[1]), Z[2] = new p(Q, $), r = 0; r < 3; ++r) Z[r].decode(U);
3328
for (fe = 0, we = 0, ee = le[oe[0]], be = W.lookupOffsets[ee], ye = W.lookupOffsets[ee + 1], te = Z[1].htrees[0]; re > 0; ) {
3329
var xe, Ee, ke, Be, Le, We, Oe, Me, Ne, Re, Ce;
3330
for (
3331
U.readMoreInput(),
3332
0 === ne[1] && (m(ae[1], v, 1, oe, ie, se, U), (ne[1] = u(A, F, U)), (te = Z[1].htrees[oe[1]])),
3333
--ne[1],
3334
xe = s(Z[1].codes, te, U),
3335
Ee = xe >> 6,
3336
Ee >= 2 ? ((Ee -= 2), (Oe = -1)) : (Oe = 0),
3337
ke = O.kInsertRangeLut[Ee] + ((xe >> 3) & 7),
3338
Be = O.kCopyRangeLut[Ee] + (7 & xe),
3339
Le = O.kInsertLengthPrefixCode[ke].offset + U.readBits(O.kInsertLengthPrefixCode[ke].nbits),
3340
We = O.kCopyLengthPrefixCode[Be].offset + U.readBits(O.kCopyLengthPrefixCode[Be].nbits),
3341
q = h[(x - 1) & f],
3342
V = h[(x - 2) & f],
3343
Re = 0;
3344
Re < Le;
3345
++Re
3346
)
3347
U.readMoreInput(),
3348
0 === ne[0] && (m(ae[0], v, 0, oe, ie, se, U), (ne[0] = u(A, 0, U)), (ce = oe[0] << S), (fe = ce), (ee = le[oe[0]]), (be = W.lookupOffsets[ee]), (ye = W.lookupOffsets[ee + 1])),
3349
(Ne = W.lookup[be + q] | W.lookup[ye + V]),
3350
(he = de[fe + Ne]),
3351
--ne[0],
3352
(V = q),
3353
(q = s(Z[0].codes, Z[0].htrees[he], U)),
3354
(h[x & f] = q),
3355
(x & f) === f && t.write(h, d),
3356
++x;
3357
if (((re -= Le), re <= 0)) break;
3358
if (Oe < 0) {
3359
var Ne;
3360
if (
3361
(U.readMoreInput(),
3362
0 === ne[2] && (m(ae[2], v, 2, oe, ie, se, U), (ne[2] = u(A, 2160, U)), (pe = oe[2] << P), (we = pe)),
3363
--ne[2],
3364
(Ne = 255 & (We > 4 ? 3 : We - 2)),
3365
(me = ue[we + Ne]),
3366
(Oe = s(Z[2].codes, Z[2].htrees[me], U)),
3367
Oe >= X)
3368
) {
3369
var He, Ie, Se;
3370
(Oe -= X), (Ie = Oe & K), (Oe >>= j), (He = (Oe >> 1) + 1), (Se = ((2 + (1 & Oe)) << He) - 4), (Oe = X + ((Se + U.readBits(He)) << j) + Ie);
3371
}
3372
}
3373
if (((Me = c(Oe, D, T)), Me < 0)) throw new Error("[BrotliDecompress] invalid distance");
3374
if (((R = x < a && R !== a ? x : a), (Ce = x & f), Me > R)) {
3375
if (!(We >= k.minDictionaryWordLength && We <= k.maxDictionaryWordLength)) throw new Error("Invalid backward reference. pos: " + x + " distance: " + Me + " len: " + We + " bytes left: " + re);
3376
var Se = k.offsetsByLength[We],
3377
Pe = Me - R - 1,
3378
De = k.sizeBitsByLength[We],
3379
Te = (1 << De) - 1,
3380
Fe = Pe & Te,
3381
qe = Pe >> De;
3382
if (((Se += Fe * We), !(qe < M.kNumTransforms))) throw new Error("Invalid backward reference. pos: " + x + " distance: " + Me + " len: " + We + " bytes left: " + re);
3383
var Ve = M.transformDictionaryWord(h, Ce, Se, We, qe);
3384
if (((Ce += Ve), (x += Ve), (re -= Ve), Ce >= g)) {
3385
t.write(h, d);
3386
for (var ze = 0; ze < Ce - g; ze++) h[ze] = h[g + ze];
3387
}
3388
} else {
3389
if ((Oe > 0 && ((D[3 & T] = Me), ++T), We > re)) throw new Error("Invalid backward reference. pos: " + x + " distance: " + Me + " len: " + We + " bytes left: " + re);
3390
for (Re = 0; Re < We; ++Re) (h[x & f] = h[(x - Me) & f]), (x & f) === f && t.write(h, d), ++x, --re;
3391
}
3392
(q = h[(x - 1) & f]), (V = h[(x - 2) & f]);
3393
}
3394
x &= 1073741823;
3395
}
3396
}
3397
t.write(h, x & f);
3398
}
3399
var U = e("./streams").BrotliInput,
3400
x = e("./streams").BrotliOutput,
3401
E = e("./bit_reader"),
3402
k = e("./dictionary"),
3403
B = e("./huffman").HuffmanCode,
3404
L = e("./huffman").BrotliBuildHuffmanTable,
3405
W = e("./context"),
3406
O = e("./prefix"),
3407
M = e("./transform");
3408
const N = 8,
3409
R = 16,
3410
C = 256,
3411
H = 704,
3412
I = 26,
3413
S = 6,
3414
P = 2,
3415
D = 8,
3416
T = 255,
3417
F = 1080,
3418
q = 18,
3419
V = new Uint8Array([1, 2, 3, 4, 0, 5, 17, 6, 16, 7, 8, 9, 10, 11, 12, 13, 14, 15]),
3420
z = 16,
3421
Z = new Uint8Array([3, 2, 1, 0, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2]),
3422
Y = new Int8Array([0, 0, 0, 0, -1, 1, -2, 2, -3, 3, -1, 1, -2, 2, -3, 3]),
3423
G = new Uint16Array([256, 402, 436, 468, 500, 534, 566, 598, 630, 662, 694, 726, 758, 790, 822, 854, 886, 920, 952, 984, 1016, 1048, 1080]);
3424
(p.prototype.decode = function (e) {
3425
var t,
3426
r,
3427
n = 0;
3428
for (t = 0; t < this.num_htrees; ++t) (this.htrees[t] = n), (r = l(this.alphabet_size, this.codes, n, e)), (n += r);
3429
}),
3430
(r.BrotliDecompressedSize = g),
3431
(r.BrotliDecompressBuffer = v),
3432
(r.BrotliDecompress = A),
3433
k.init();
3434
},
3435
"dec/dictionary.js": function (e, t, r) {
3436
var n = e("./dictionary-browser");
3437
(r.init = function () {
3438
r.dictionary = n.init();
3439
}),
3440
(r.offsetsByLength = new Uint32Array([0, 0, 0, 0, 0, 4096, 9216, 21504, 35840, 44032, 53248, 63488, 74752, 87040, 93696, 100864, 104704, 106752, 108928, 113536, 115968, 118528, 119872, 121280, 122016])),
3441
(r.sizeBitsByLength = new Uint8Array([0, 0, 0, 0, 10, 10, 11, 11, 10, 10, 10, 10, 10, 9, 9, 8, 7, 7, 8, 7, 7, 6, 6, 5, 5])),
3442
(r.minDictionaryWordLength = 4),
3443
(r.maxDictionaryWordLength = 24);
3444
},
3445
"dec/dictionary.bin.js": function (e, t, r) {
3446
t.exports =
3447
"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";
3448
},
3449
"dec/dictionary-browser.js": function (e, t, r) {
3450
var n = e("base64-js");
3451
r.init = function () {
3452
var t = e("./decode").BrotliDecompressBuffer,
3453
r = n.toByteArray(e("./dictionary.bin.js"));
3454
return t(r);
3455
};
3456
},
3457
"dec/huffman.js": function (e, t, r) {
3458
function n(e, t) {
3459
(this.bits = e), (this.value = t);
3460
}
3461
function o(e, t) {
3462
for (var r = 1 << (t - 1); e & r; ) r >>= 1;
3463
return (e & (r - 1)) + r;
3464
}
3465
function a(e, t, r, o, a) {
3466
do (o -= r), (e[t + o] = new n(a.bits, a.value));
3467
while (o > 0);
3468
}
3469
function i(e, t, r) {
3470
for (var n = 1 << (t - r); t < s && ((n -= e[t]), !(n <= 0)); ) ++t, (n <<= 1);
3471
return t - r;
3472
}
3473
r.HuffmanCode = n;
3474
const s = 15;
3475
r.BrotliBuildHuffmanTable = function (e, t, r, d, l) {
3476
var u,
3477
c,
3478
f,
3479
h,
3480
p,
3481
w,
3482
m,
3483
b,
3484
y,
3485
g,
3486
v,
3487
A = t,
3488
U = new Int32Array(16),
3489
x = new Int32Array(16);
3490
for (v = new Int32Array(l), f = 0; f < l; f++) U[d[f]]++;
3491
for (x[1] = 0, c = 1; c < s; c++) x[c + 1] = x[c] + U[c];
3492
for (f = 0; f < l; f++) 0 !== d[f] && (v[x[d[f]]++] = f);
3493
if (((b = r), (y = 1 << b), (g = y), 1 === x[s])) {
3494
for (h = 0; h < g; ++h) e[t + h] = new n(0, 65535 & v[0]);
3495
return g;
3496
}
3497
for (h = 0, f = 0, c = 1, p = 2; c <= r; ++c, p <<= 1) for (; U[c] > 0; --U[c]) (u = new n(255 & c, 65535 & v[f++])), a(e, t + h, p, y, u), (h = o(h, c));
3498
for (m = g - 1, w = -1, c = r + 1, p = 2; c <= s; ++c, p <<= 1)
3499
for (; U[c] > 0; --U[c])
3500
(h & m) !== w && ((t += y), (b = i(U, c, r)), (y = 1 << b), (g += y), (w = h & m), (e[A + w] = new n((b + r) & 255, (t - A - w) & 65535))),
3501
(u = new n((c - r) & 255, 65535 & v[f++])),
3502
a(e, t + (h >> r), p, y, u),
3503
(h = o(h, c));
3504
return g;
3505
};
3506
},
3507
"dec/prefix.js": function (e, t, r) {
3508
function n(e, t) {
3509
(this.offset = e), (this.nbits = t);
3510
}
3511
(r.kBlockLengthPrefixCode = [
3512
new n(1, 2),
3513
new n(5, 2),
3514
new n(9, 2),
3515
new n(13, 2),
3516
new n(17, 3),
3517
new n(25, 3),
3518
new n(33, 3),
3519
new n(41, 3),
3520
new n(49, 4),
3521
new n(65, 4),
3522
new n(81, 4),
3523
new n(97, 4),
3524
new n(113, 5),
3525
new n(145, 5),
3526
new n(177, 5),
3527
new n(209, 5),
3528
new n(241, 6),
3529
new n(305, 6),
3530
new n(369, 7),
3531
new n(497, 8),
3532
new n(753, 9),
3533
new n(1265, 10),
3534
new n(2289, 11),
3535
new n(4337, 12),
3536
new n(8433, 13),
3537
new n(16625, 24),
3538
]),
3539
(r.kInsertLengthPrefixCode = [
3540
new n(0, 0),
3541
new n(1, 0),
3542
new n(2, 0),
3543
new n(3, 0),
3544
new n(4, 0),
3545
new n(5, 0),
3546
new n(6, 1),
3547
new n(8, 1),
3548
new n(10, 2),
3549
new n(14, 2),
3550
new n(18, 3),
3551
new n(26, 3),
3552
new n(34, 4),
3553
new n(50, 4),
3554
new n(66, 5),
3555
new n(98, 5),
3556
new n(130, 6),
3557
new n(194, 7),
3558
new n(322, 8),
3559
new n(578, 9),
3560
new n(1090, 10),
3561
new n(2114, 12),
3562
new n(6210, 14),
3563
new n(22594, 24),
3564
]),
3565
(r.kCopyLengthPrefixCode = [
3566
new n(2, 0),
3567
new n(3, 0),
3568
new n(4, 0),
3569
new n(5, 0),
3570
new n(6, 0),
3571
new n(7, 0),
3572
new n(8, 0),
3573
new n(9, 0),
3574
new n(10, 1),
3575
new n(12, 1),
3576
new n(14, 2),
3577
new n(18, 2),
3578
new n(22, 3),
3579
new n(30, 3),
3580
new n(38, 4),
3581
new n(54, 4),
3582
new n(70, 5),
3583
new n(102, 5),
3584
new n(134, 6),
3585
new n(198, 7),
3586
new n(326, 8),
3587
new n(582, 9),
3588
new n(1094, 10),
3589
new n(2118, 24),
3590
]),
3591
(r.kInsertRangeLut = [0, 0, 8, 8, 0, 16, 8, 16, 16]),
3592
(r.kCopyRangeLut = [0, 8, 0, 8, 16, 0, 16, 8, 16]);
3593
},
3594
"dec/streams.js": function (e, t, r) {
3595
function n(e) {
3596
(this.buffer = e), (this.pos = 0);
3597
}
3598
function o(e) {
3599
(this.buffer = e), (this.pos = 0);
3600
}
3601
(n.prototype.read = function (e, t, r) {
3602
this.pos + r > this.buffer.length && (r = this.buffer.length - this.pos);
3603
for (var n = 0; n < r; n++) e[t + n] = this.buffer[this.pos + n];
3604
return (this.pos += r), r;
3605
}),
3606
(r.BrotliInput = n),
3607
(o.prototype.write = function (e, t) {
3608
if (this.pos + t > this.buffer.length) throw new Error("Output buffer is not large enough");
3609
return this.buffer.set(e.subarray(0, t), this.pos), (this.pos += t), t;
3610
}),
3611
(r.BrotliOutput = o);
3612
},
3613
"dec/transform.js": function (e, t, r) {
3614
function n(e, t, r) {
3615
(this.prefix = new Uint8Array(e.length)), (this.transform = t), (this.suffix = new Uint8Array(r.length));
3616
for (var n = 0; n < e.length; n++) this.prefix[n] = e.charCodeAt(n);
3617
for (var n = 0; n < r.length; n++) this.suffix[n] = r.charCodeAt(n);
3618
}
3619
function o(e, t) {
3620
return e[t] < 192 ? (e[t] >= 97 && e[t] <= 122 && (e[t] ^= 32), 1) : e[t] < 224 ? ((e[t + 1] ^= 32), 2) : ((e[t + 2] ^= 5), 3);
3621
}
3622
var a = e("./dictionary");
3623
const i = 0,
3624
s = 1,
3625
d = 2,
3626
l = 3,
3627
u = 4,
3628
c = 5,
3629
f = 6,
3630
h = 7,
3631
p = 8,
3632
w = 9,
3633
m = 10,
3634
b = 11,
3635
y = 12,
3636
g = 13,
3637
v = 14,
3638
A = 15,
3639
U = 16,
3640
x = 17,
3641
E = 18,
3642
k = 20;
3643
var B = [
3644
new n("", i, ""),
3645
new n("", i, " "),
3646
new n(" ", i, " "),
3647
new n("", y, ""),
3648
new n("", m, " "),
3649
new n("", i, " the "),
3650
new n(" ", i, ""),
3651
new n("s ", i, " "),
3652
new n("", i, " of "),
3653
new n("", m, ""),
3654
new n("", i, " and "),
3655
new n("", g, ""),
3656
new n("", s, ""),
3657
new n(", ", i, " "),
3658
new n("", i, ", "),
3659
new n(" ", m, " "),
3660
new n("", i, " in "),
3661
new n("", i, " to "),
3662
new n("e ", i, " "),
3663
new n("", i, '"'),
3664
new n("", i, "."),
3665
new n("", i, '">'),
3666
new n("", i, "\n"),
3667
new n("", l, ""),
3668
new n("", i, "]"),
3669
new n("", i, " for "),
3670
new n("", v, ""),
3671
new n("", d, ""),
3672
new n("", i, " a "),
3673
new n("", i, " that "),
3674
new n(" ", m, ""),
3675
new n("", i, ". "),
3676
new n(".", i, ""),
3677
new n(" ", i, ", "),
3678
new n("", A, ""),
3679
new n("", i, " with "),
3680
new n("", i, "'"),
3681
new n("", i, " from "),
3682
new n("", i, " by "),
3683
new n("", U, ""),
3684
new n("", x, ""),
3685
new n(" the ", i, ""),
3686
new n("", u, ""),
3687
new n("", i, ". The "),
3688
new n("", b, ""),
3689
new n("", i, " on "),
3690
new n("", i, " as "),
3691
new n("", i, " is "),
3692
new n("", h, ""),
3693
new n("", s, "ing "),
3694
new n("", i, "\n\t"),
3695
new n("", i, ":"),
3696
new n(" ", i, ". "),
3697
new n("", i, "ed "),
3698
new n("", k, ""),
3699
new n("", E, ""),
3700
new n("", f, ""),
3701
new n("", i, "("),
3702
new n("", m, ", "),
3703
new n("", p, ""),
3704
new n("", i, " at "),
3705
new n("", i, "ly "),
3706
new n(" the ", i, " of "),
3707
new n("", c, ""),
3708
new n("", w, ""),
3709
new n(" ", m, ", "),
3710
new n("", m, '"'),
3711
new n(".", i, "("),
3712
new n("", b, " "),
3713
new n("", m, '">'),
3714
new n("", i, '="'),
3715
new n(" ", i, "."),
3716
new n(".com/", i, ""),
3717
new n(" the ", i, " of the "),
3718
new n("", m, "'"),
3719
new n("", i, ". This "),
3720
new n("", i, ","),
3721
new n(".", i, " "),
3722
new n("", m, "("),
3723
new n("", m, "."),
3724
new n("", i, " not "),
3725
new n(" ", i, '="'),
3726
new n("", i, "er "),
3727
new n(" ", b, " "),
3728
new n("", i, "al "),
3729
new n(" ", b, ""),
3730
new n("", i, "='"),
3731
new n("", b, '"'),
3732
new n("", m, ". "),
3733
new n(" ", i, "("),
3734
new n("", i, "ful "),
3735
new n(" ", m, ". "),
3736
new n("", i, "ive "),
3737
new n("", i, "less "),
3738
new n("", b, "'"),
3739
new n("", i, "est "),
3740
new n(" ", m, "."),
3741
new n("", b, '">'),
3742
new n(" ", i, "='"),
3743
new n("", m, ","),
3744
new n("", i, "ize "),
3745
new n("", b, "."),
3746
new n("\xc2\xa0", i, ""),
3747
new n(" ", i, ","),
3748
new n("", m, '="'),
3749
new n("", b, '="'),
3750
new n("", i, "ous "),
3751
new n("", b, ", "),
3752
new n("", m, "='"),
3753
new n(" ", m, ","),
3754
new n(" ", b, '="'),
3755
new n(" ", b, ", "),
3756
new n("", b, ","),
3757
new n("", b, "("),
3758
new n("", b, ". "),
3759
new n(" ", b, "."),
3760
new n("", b, "='"),
3761
new n(" ", b, ". "),
3762
new n(" ", m, '="'),
3763
new n(" ", b, "='"),
3764
new n(" ", m, "='"),
3765
];
3766
(r.kTransforms = B),
3767
(r.kNumTransforms = B.length),
3768
(r.transformDictionaryWord = function (e, t, r, n, i) {
3769
var s,
3770
d = B[i].prefix,
3771
l = B[i].suffix,
3772
u = B[i].transform,
3773
c = u < y ? 0 : u - 11,
3774
f = 0,
3775
h = t;
3776
c > n && (c = n);
3777
for (var p = 0; p < d.length; ) e[t++] = d[p++];
3778
for (r += c, n -= c, u <= w && (n -= u), f = 0; f < n; f++) e[t++] = a.dictionary[r + f];
3779
if (((s = t - n), u === m)) o(e, s);
3780
else if (u === b)
3781
for (; n > 0; ) {
3782
var g = o(e, s);
3783
(s += g), (n -= g);
3784
}
3785
for (var v = 0; v < l.length; ) e[t++] = l[v++];
3786
return t - h;
3787
});
3788
},
3789
"node_modules/base64-js/index.js": function (e, t, r) {
3790
"use strict";
3791
function n(e) {
3792
var t = e.length;
3793
if (t % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4");
3794
return "=" === e[t - 2] ? 2 : "=" === e[t - 1] ? 1 : 0;
3795
}
3796
function o(e) {
3797
return (3 * e.length) / 4 - n(e);
3798
}
3799
function a(e) {
3800
var t,
3801
r,
3802
o,
3803
a,
3804
i,
3805
s,
3806
d = e.length;
3807
(i = n(e)), (s = new c((3 * d) / 4 - i)), (o = i > 0 ? d - 4 : d);
3808
var l = 0;
3809
for (t = 0, r = 0; t < o; t += 4, r += 3)
3810
(a = (u[e.charCodeAt(t)] << 18) | (u[e.charCodeAt(t + 1)] << 12) | (u[e.charCodeAt(t + 2)] << 6) | u[e.charCodeAt(t + 3)]), (s[l++] = (a >> 16) & 255), (s[l++] = (a >> 8) & 255), (s[l++] = 255 & a);
3811
return (
3812
2 === i
3813
? ((a = (u[e.charCodeAt(t)] << 2) | (u[e.charCodeAt(t + 1)] >> 4)), (s[l++] = 255 & a))
3814
: 1 === i && ((a = (u[e.charCodeAt(t)] << 10) | (u[e.charCodeAt(t + 1)] << 4) | (u[e.charCodeAt(t + 2)] >> 2)), (s[l++] = (a >> 8) & 255), (s[l++] = 255 & a)),
3815
s
3816
);
3817
}
3818
function i(e) {
3819
return l[(e >> 18) & 63] + l[(e >> 12) & 63] + l[(e >> 6) & 63] + l[63 & e];
3820
}
3821
function s(e, t, r) {
3822
for (var n, o = [], a = t; a < r; a += 3) (n = (e[a] << 16) + (e[a + 1] << 8) + e[a + 2]), o.push(i(n));
3823
return o.join("");
3824
}
3825
function d(e) {
3826
for (var t, r = e.length, n = r % 3, o = "", a = [], i = 16383, d = 0, u = r - n; d < u; d += i) a.push(s(e, d, d + i > u ? u : d + i));
3827
return (
3828
1 === n
3829
? ((t = e[r - 1]), (o += l[t >> 2]), (o += l[(t << 4) & 63]), (o += "=="))
3830
: 2 === n && ((t = (e[r - 2] << 8) + e[r - 1]), (o += l[t >> 10]), (o += l[(t >> 4) & 63]), (o += l[(t << 2) & 63]), (o += "=")),
3831
a.push(o),
3832
a.join("")
3833
);
3834
}
3835
(r.byteLength = o), (r.toByteArray = a), (r.fromByteArray = d);
3836
for (var l = [], u = [], c = "undefined" != typeof Uint8Array ? Uint8Array : Array, f = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", h = 0, p = f.length; h < p; ++h)
3837
(l[h] = f[h]), (u[f.charCodeAt(h)] = h);
3838
(u["-".charCodeAt(0)] = 62), (u["_".charCodeAt(0)] = 63);
3839
},
3840
};
3841
for (var r in t) t[r].folder = r.substring(0, r.lastIndexOf("/") + 1);
3842
var n = function (e) {
3843
var r = [];
3844
return (
3845
(e = e.split("/").every(function (e) {
3846
return ".." == e ? r.pop() : "." == e || "" == e || r.push(e);
3847
})
3848
? r.join("/")
3849
: null),
3850
e ? t[e] || t[e + ".js"] || t[e + "/index.js"] : null
3851
);
3852
},
3853
o = function (e, t) {
3854
return e ? n(e.folder + "node_modules/" + t) || o(e.parent, t) : null;
3855
},
3856
a = function (e, t) {
3857
var r = t.match(/^\//) ? null : e ? (t.match(/^\.\.?\//) ? n(e.folder + t) : o(e, t)) : n(t);
3858
if (!r) throw "module not found: " + t;
3859
return r.exports || ((r.parent = e), r(a.bind(null, r), r, (r.exports = {}))), r.exports;
3860
};
3861
return a(null, e);
3862
},
3863
decompress: function (e) {
3864
this.exports || (this.exports = this.require("decompress.js"));
3865
try {
3866
return this.exports(e);
3867
} catch (e) {}
3868
},
3869
hasUnityMarker: function (e) {
3870
var t = "UnityWeb Compressed Content (brotli)";
3871
if (!e.length) return !1;
3872
var r = 1 & e[0] ? (14 & e[0] ? 4 : 7) : 1,
3873
n = e[0] & ((1 << r) - 1),
3874
o = 1 + ((Math.log(t.length - 1) / Math.log(2)) >> 3);
3875
if (((commentOffset = (r + 1 + 2 + 1 + 2 + (o << 3) + 7) >> 3), 17 == n || commentOffset > e.length)) return !1;
3876
for (var a = n + ((6 + (o << 4) + ((t.length - 1) << 6)) << r), i = 0; i < commentOffset; i++, a >>>= 8) if (e[i] != (255 & a)) return !1;
3877
return String.fromCharCode.apply(null, e.subarray(commentOffset, commentOffset + t.length)) == t;
3878
},
3879
},
3880
decompress: function (e, t) {
3881
var r = this.gzip.hasUnityMarker(e) ? this.gzip : this.brotli.hasUnityMarker(e) ? this.brotli : this.identity;
3882
if (
3883
(this.serverSetupWarningEnabled &&
3884
r != this.identity &&
3885
(console.log("You can reduce your startup time if you configure your web server to host .unityweb files using " + (r == this.gzip ? "gzip" : "brotli") + " compression."), (this.serverSetupWarningEnabled = !1)),
3886
"function" != typeof t)
3887
)
3888
return r.decompress(e);
3889
if (!r.worker) {
3890
var n = URL.createObjectURL(
3891
new Blob(
3892
[
3893
"this.require = ",
3894
r.require.toString(),
3895
"; this.decompress = ",
3896
r.decompress.toString(),
3897
"; this.onmessage = ",
3898
function (e) {
3899
var t = { id: e.data.id, decompressed: this.decompress(e.data.compressed) };
3900
postMessage(t, t.decompressed ? [t.decompressed.buffer] : []);
3901
}.toString(),
3902
"; postMessage({ ready: true });",
3903
],
3904
{ type: "text/javascript" }
3905
)
3906
);
3907
(r.worker = new Worker(n)),
3908
(r.worker.onmessage = function (e) {
3909
return e.data.ready ? void URL.revokeObjectURL(n) : (this.callbacks[e.data.id](e.data.decompressed), void delete this.callbacks[e.data.id]);
3910
}),
3911
(r.worker.callbacks = {}),
3912
(r.worker.nextCallbackId = 0);
3913
}
3914
var o = r.worker.nextCallbackId++;
3915
(r.worker.callbacks[o] = t), r.worker.postMessage({ id: o, compressed: e }, [e.buffer]);
3916
},
3917
serverSetupWarningEnabled: !0,
3918
},
3919
Cryptography: {
3920
crc32: function (e) {
3921
var t = UnityLoader.Cryptography.crc32.module;
3922
if (!t) {
3923
var r = new ArrayBuffer(16777216),
3924
n = (function (e, t, r) {
3925
"use asm";
3926
var n = new e.Uint8Array(r);
3927
var o = new e.Uint32Array(r);
3928
function a(e, t) {
3929
e = e | 0;
3930
t = t | 0;
3931
var r = 0;
3932
for (r = o[1024 >> 2] | 0; t; e = (e + 1) | 0, t = (t - 1) | 0) r = o[(((r & 255) ^ n[e]) << 2) >> 2] ^ (r >>> 8) ^ 4278190080;
3933
o[1024 >> 2] = r;
3934
}
3935
return { process: a };
3936
})({ Uint8Array: Uint8Array, Uint32Array: Uint32Array }, null, r);
3937
t = UnityLoader.Cryptography.crc32.module = { buffer: r, HEAPU8: new Uint8Array(r), HEAPU32: new Uint32Array(r), process: n.process, crc32: 1024, data: 1028 };
3938
for (var o = 0; o < 256; o++) {
3939
for (var a = 255 ^ o, i = 0; i < 8; i++) a = (a >>> 1) ^ (1 & a ? 3988292384 : 0);
3940
t.HEAPU32[o] = a;
3941
}
3942
}
3943
t.HEAPU32[t.crc32 >> 2] = 0;
3944
for (var s = 0; s < e.length; ) {
3945
var d = Math.min(t.HEAPU8.length - t.data, e.length - s);
3946
t.HEAPU8.set(e.subarray(s, s + d), t.data), (crc = t.process(t.data, d)), (s += d);
3947
}
3948
var l = t.HEAPU32[t.crc32 >> 2];
3949
return new Uint8Array([l >> 24, l >> 16, l >> 8, l]);
3950
},
3951
md5: function (e) {
3952
var t = UnityLoader.Cryptography.md5.module;
3953
if (!t) {
3954
var r = new ArrayBuffer(16777216),
3955
n = (function (e, t, r) {
3956
"use asm";
3957
var n = new e.Uint32Array(r);
3958
function o(e, t) {
3959
e = e | 0;
3960
t = t | 0;
3961
var r = 0,
3962
o = 0,
3963
a = 0,
3964
i = 0,
3965
s = 0,
3966
d = 0,
3967
l = 0,
3968
u = 0,
3969
c = 0,
3970
f = 0,
3971
h = 0,
3972
p = 0;
3973
(r = n[128] | 0), (o = n[129] | 0), (a = n[130] | 0), (i = n[131] | 0);
3974
for (; t; e = (e + 64) | 0, t = (t - 1) | 0) {
3975
s = r;
3976
d = o;
3977
l = a;
3978
u = i;
3979
for (f = 0; (f | 0) < 512; f = (f + 8) | 0) {
3980
p = n[f >> 2] | 0;
3981
r = (r + (n[(f + 4) >> 2] | 0) + (n[(e + (p >>> 14)) >> 2] | 0) + ((f | 0) < 128 ? i ^ (o & (a ^ i)) : (f | 0) < 256 ? a ^ (i & (o ^ a)) : (f | 0) < 384 ? o ^ a ^ i : a ^ (o | ~i))) | 0;
3982
h = (((r << (p & 31)) | (r >>> (32 - (p & 31)))) + o) | 0;
3983
r = i;
3984
i = a;
3985
a = o;
3986
o = h;
3987
}
3988
r = (r + s) | 0;
3989
o = (o + d) | 0;
3990
a = (a + l) | 0;
3991
i = (i + u) | 0;
3992
}
3993
n[128] = r;
3994
n[129] = o;
3995
n[130] = a;
3996
n[131] = i;
3997
}
3998
return { process: o };
3999
})({ Uint32Array: Uint32Array }, null, r);
4000
(t = UnityLoader.Cryptography.md5.module = { buffer: r, HEAPU8: new Uint8Array(r), HEAPU32: new Uint32Array(r), process: n.process, md5: 512, data: 576 }),
4001
t.HEAPU32.set(
4002
new Uint32Array([
4003
7,
4004
3614090360,
4005
65548,
4006
3905402710,
4007
131089,
4008
606105819,
4009
196630,
4010
3250441966,
4011
262151,
4012
4118548399,
4013
327692,
4014
1200080426,
4015
393233,
4016
2821735955,
4017
458774,
4018
4249261313,
4019
524295,
4020
1770035416,
4021
589836,
4022
2336552879,
4023
655377,
4024
4294925233,
4025
720918,
4026
2304563134,
4027
786439,
4028
1804603682,
4029
851980,
4030
4254626195,
4031
917521,
4032
2792965006,
4033
983062,
4034
1236535329,
4035
65541,
4036
4129170786,
4037
393225,
4038
3225465664,
4039
720910,
4040
643717713,
4041
20,
4042
3921069994,
4043
327685,
4044
3593408605,
4045
655369,
4046
38016083,
4047
983054,
4048
3634488961,
4049
262164,
4050
3889429448,
4051
589829,
4052
568446438,
4053
917513,
4054
3275163606,
4055
196622,
4056
4107603335,
4057
524308,
4058
1163531501,
4059
851973,
4060
2850285829,
4061
131081,
4062
4243563512,
4063
458766,
4064
1735328473,
4065
786452,
4066
2368359562,
4067
327684,
4068
4294588738,
4069
524299,
4070
2272392833,
4071
720912,
4072
1839030562,
4073
917527,
4074
4259657740,
4075
65540,
4076
2763975236,
4077
262155,
4078
1272893353,
4079
458768,
4080
4139469664,
4081
655383,
4082
3200236656,
4083
851972,
4084
681279174,
4085
11,
4086
3936430074,
4087
196624,
4088
3572445317,
4089
393239,
4090
76029189,
4091
589828,
4092
3654602809,
4093
786443,
4094
3873151461,
4095
983056,
4096
530742520,
4097
131095,
4098
3299628645,
4099
6,
4100
4096336452,
4101
458762,
4102
1126891415,
4103
917519,
4104
2878612391,
4105
327701,
4106
4237533241,
4107
786438,
4108
1700485571,
4109
196618,
4110
2399980690,
4111
655375,
4112
4293915773,
4113
65557,
4114
2240044497,
4115
524294,
4116
1873313359,
4117
983050,
4118
4264355552,
4119
393231,
4120
2734768916,
4121
851989,
4122
1309151649,
4123
262150,
4124
4149444226,
4125
720906,
4126
3174756917,
4127
131087,
4128
718787259,
4129
589845,
4130
3951481745,
4131
])
4132
);
4133
}
4134
t.HEAPU32.set(new Uint32Array([1732584193, 4023233417, 2562383102, 271733878]), t.md5 >> 2);
4135
for (var o = 0; o < e.length; ) {
4136
var a = Math.min(t.HEAPU8.length - t.data, e.length - o) & -64;
4137
if ((t.HEAPU8.set(e.subarray(o, o + a), t.data), (o += a), t.process(t.data, a >> 6), e.length - o < 64)) {
4138
if (((a = e.length - o), t.HEAPU8.set(e.subarray(e.length - a, e.length), t.data), (o += a), (t.HEAPU8[t.data + a++] = 128), a > 56)) {
4139
for (var i = a; i < 64; i++) t.HEAPU8[t.data + i] = 0;
4140
t.process(t.data, 1), (a = 0);
4141
}
4142
for (var i = a; i < 64; i++) t.HEAPU8[t.data + i] = 0;
4143
for (var s = e.length, d = 0, i = 56; i < 64; i++, d = (224 & s) >> 5, s /= 256) t.HEAPU8[t.data + i] = ((31 & s) << 3) + d;
4144
t.process(t.data, 1);
4145
}
4146
}
4147
return new Uint8Array(t.HEAPU8.subarray(t.md5, t.md5 + 16));
4148
},
4149
sha1: function (e) {
4150
var t = UnityLoader.Cryptography.sha1.module;
4151
if (!t) {
4152
var r = new ArrayBuffer(16777216),
4153
n = (function (e, t, r) {
4154
"use asm";
4155
var n = new e.Uint32Array(r);
4156
function o(e, t) {
4157
e = e | 0;
4158
t = t | 0;
4159
var r = 0,
4160
o = 0,
4161
a = 0,
4162
i = 0,
4163
s = 0,
4164
d = 0,
4165
l = 0,
4166
u = 0,
4167
c = 0,
4168
f = 0,
4169
h = 0,
4170
p = 0;
4171
(r = n[80] | 0), (o = n[81] | 0), (a = n[82] | 0), (i = n[83] | 0), (s = n[84] | 0);
4172
for (; t; e = (e + 64) | 0, t = (t - 1) | 0) {
4173
d = r;
4174
l = o;
4175
u = a;
4176
c = i;
4177
f = s;
4178
for (p = 0; (p | 0) < 320; p = (p + 4) | 0, s = i, i = a, a = (o << 30) | (o >>> 2), o = r, r = h) {
4179
if ((p | 0) < 64) {
4180
h = n[(e + p) >> 2] | 0;
4181
h = ((h << 24) & 4278190080) | ((h << 8) & 16711680) | ((h >>> 8) & 65280) | ((h >>> 24) & 255);
4182
} else {
4183
h = n[(p - 12) >> 2] ^ n[(p - 32) >> 2] ^ n[(p - 56) >> 2] ^ n[(p - 64) >> 2];
4184
h = (h << 1) | (h >>> 31);
4185
}
4186
n[p >> 2] = h;
4187
h =
4188
(h +
4189
(((r << 5) | (r >>> 27)) + s) +
4190
((p | 0) < 80
4191
? (((o & a) | (~o & i) | 0) + 1518500249) | 0
4192
: (p | 0) < 160
4193
? ((o ^ a ^ i) + 1859775393) | 0
4194
: (p | 0) < 240
4195
? (((o & a) | (o & i) | (a & i)) + 2400959708) | 0
4196
: ((o ^ a ^ i) + 3395469782) | 0)) |
4197
0;
4198
}
4199
r = (r + d) | 0;
4200
o = (o + l) | 0;
4201
a = (a + u) | 0;
4202
i = (i + c) | 0;
4203
s = (s + f) | 0;
4204
}
4205
n[80] = r;
4206
n[81] = o;
4207
n[82] = a;
4208
n[83] = i;
4209
n[84] = s;
4210
}
4211
return { process: o };
4212
})({ Uint32Array: Uint32Array }, null, r);
4213
t = UnityLoader.Cryptography.sha1.module = { buffer: r, HEAPU8: new Uint8Array(r), HEAPU32: new Uint32Array(r), process: n.process, sha1: 320, data: 384 };
4214
}
4215
t.HEAPU32.set(new Uint32Array([1732584193, 4023233417, 2562383102, 271733878, 3285377520]), t.sha1 >> 2);
4216
for (var o = 0; o < e.length; ) {
4217
var a = Math.min(t.HEAPU8.length - t.data, e.length - o) & -64;
4218
if ((t.HEAPU8.set(e.subarray(o, o + a), t.data), (o += a), t.process(t.data, a >> 6), e.length - o < 64)) {
4219
if (((a = e.length - o), t.HEAPU8.set(e.subarray(e.length - a, e.length), t.data), (o += a), (t.HEAPU8[t.data + a++] = 128), a > 56)) {
4220
for (var i = a; i < 64; i++) t.HEAPU8[t.data + i] = 0;
4221
t.process(t.data, 1), (a = 0);
4222
}
4223
for (var i = a; i < 64; i++) t.HEAPU8[t.data + i] = 0;
4224
for (var s = e.length, d = 0, i = 63; i >= 56; i--, d = (224 & s) >> 5, s /= 256) t.HEAPU8[t.data + i] = ((31 & s) << 3) + d;
4225
t.process(t.data, 1);
4226
}
4227
}
4228
for (var l = new Uint8Array(20), i = 0; i < l.length; i++) l[i] = t.HEAPU8[t.sha1 + (i & -4) + 3 - (3 & i)];
4229
return l;
4230
},
4231
},
4232
Error: {
4233
init: (function () {
4234
return (
4235
(Error.stackTraceLimit = 50),
4236
window.addEventListener("error", function (e) {
4237
var t = UnityLoader.Error.getModule(e);
4238
if (!t) return UnityLoader.Error.handler(e);
4239
var r = t.useWasm ? t.wasmSymbolsUrl : t.asmSymbolsUrl;
4240
if (!r) return UnityLoader.Error.handler(e, t);
4241
var n = new XMLHttpRequest();
4242
n.open("GET", t.resolveBuildUrl(r)),
4243
(n.responseType = "arraybuffer"),
4244
(n.onload = function () {
4245
UnityLoader.loadCode(UnityLoader.Compression.decompress(new Uint8Array(n.response)), function (r) {
4246
(t.demangleSymbol = UnityLoader[r]()), UnityLoader.Error.handler(e, t);
4247
});
4248
}),
4249
n.send();
4250
}),
4251
!0
4252
);
4253
})(),
4254
stackTraceFormat:
4255
navigator.userAgent.indexOf("Chrome") != -1
4256
? "(\\s+at\\s+)(([\\w\\d_\\.]*?)([\\w\\d_$]+)(/[\\w\\d_\\./]+|))(\\s+\\[.*\\]|)\\s*\\((blob:.*)\\)"
4257
: "(\\s*)(([\\w\\d_\\.]*?)([\\w\\d_$]+)(/[\\w\\d_\\./]+|))(\\s+\\[.*\\]|)\\s*@(blob:.*)",
4258
stackTraceFormatWasm: navigator.userAgent.indexOf("Chrome") != -1 ? "((\\s+at\\s*)\\s\\(<WASM>\\[(\\d+)\\]\\+\\d+\\))()" : "((\\s*)wasm-function\\[(\\d+)\\])@(blob:.*)",
4259
blobParseRegExp: new RegExp("^(blob:.*)(:\\d+:\\d+)$"),
4260
getModule: function (e) {
4261
var t = e.message.match(new RegExp(this.stackTraceFormat, "g"));
4262
for (var r in t) {
4263
var n = t[r].match(new RegExp("^" + this.stackTraceFormat + "$")),
4264
o = n[7].match(this.blobParseRegExp);
4265
if (o && UnityLoader.Blobs[o[1]] && UnityLoader.Blobs[o[1]].Module) return UnityLoader.Blobs[o[1]].Module;
4266
}
4267
},
4268
demangle: function (e, t) {
4269
var r = e.message;
4270
return t
4271
? ((r = r.replace(
4272
new RegExp(this.stackTraceFormat, "g"),
4273
function (e) {
4274
var r = e.match(new RegExp("^" + this.stackTraceFormat + "$")),
4275
n = r[7].match(this.blobParseRegExp),
4276
o = t.demangleSymbol ? t.demangleSymbol(r[4]) : r[4],
4277
a = n && UnityLoader.Blobs[n[1]] && UnityLoader.Blobs[n[1]].url ? UnityLoader.Blobs[n[1]].url : "blob";
4278
return r[1] + o + (r[2] != o ? " [" + r[2] + "]" : "") + " (" + (n ? a.substr(a.lastIndexOf("/") + 1) + n[2] : r[7]) + ")";
4279
}.bind(this)
4280
)),
4281
t.useWasm &&
4282
(r = r.replace(
4283
new RegExp(this.stackTraceFormatWasm, "g"),
4284
function (e) {
4285
var r = e.match(new RegExp("^" + this.stackTraceFormatWasm + "$")),
4286
n = t.demangleSymbol ? t.demangleSymbol(r[3]) : r[3],
4287
o = r[4].match(this.blobParseRegExp),
4288
a = o && UnityLoader.Blobs[o[1]] && UnityLoader.Blobs[o[1]].url ? UnityLoader.Blobs[o[1]].url : "blob";
4289
return (n == r[3] ? r[1] : r[2] + n + " [wasm:" + r[3] + "]") + (r[4] ? " (" + (o ? a.substr(a.lastIndexOf("/") + 1) + o[2] : r[4]) + ")" : "");
4290
}.bind(this)
4291
)),
4292
r)
4293
: r;
4294
},
4295
handler: function (e, t) {
4296
var r = t ? this.demangle(e, t) : e.message;
4297
if (
4298
!(
4299
(t && t.errorhandler && t.errorhandler(r, e.filename, e.lineno)) ||
4300
(console.log("Invoking error handler due to\n" + r),
4301
"function" == typeof dump && dump("Invoking error handler due to\n" + r),
4302
r.indexOf("UnknownError") != -1 || r.indexOf("Program terminated with exit(0)") != -1 || this.didShowErrorMessage)
4303
)
4304
) {
4305
var r = "An error occurred running the Unity content on this page. See your browser JavaScript console for more info. The error was:\n" + r;
4306
r.indexOf("DISABLE_EXCEPTION_CATCHING") != -1
4307
? (r =
4308
"An exception has occurred, but exception handling has been disabled in this build. If you are the developer of this content, enable exceptions in your project WebGL player settings to be able to catch the exception or see the stack trace.")
4309
: r.indexOf("Cannot enlarge memory arrays") != -1
4310
? (r = "Out of memory. If you are the developer of this content, try allocating more memory to your WebGL build in the WebGL player settings.")
4311
: (r.indexOf("Invalid array buffer length") == -1 && r.indexOf("Invalid typed array length") == -1 && r.indexOf("out of memory") == -1 && r.indexOf("could not allocate memory") == -1) ||
4312
(r = "The browser could not allocate enough memory for the WebGL content. If you are the developer of this content, try allocating less memory to your WebGL build in the WebGL player settings."),
4313
alert(r),
4314
(this.didShowErrorMessage = !0);
4315
}
4316
},
4317
popup: function (e, t, r) {
4318
r = r || [{ text: "OK" }];
4319
var n = document.createElement("div");
4320
n.style.cssText = "position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); text-align: center; border: 1px solid black; padding: 5px; background: #E8E8E8";
4321
var o = document.createElement("span");
4322
(o.textContent = t), n.appendChild(o), n.appendChild(document.createElement("br"));
4323
for (var a = 0; a < r.length; a++) {
4324
var i = document.createElement("button");
4325
r[a].text && (i.textContent = r[a].text),
4326
r[a].callback && (i.onclick = r[a].callback),
4327
(i.style.margin = "5px"),
4328
i.addEventListener("click", function () {
4329
e.container.removeChild(n);
4330
}),
4331
n.appendChild(i);
4332
}
4333
e.container.appendChild(n);
4334
},
4335
},
4336
Job: {
4337
schedule: function (e, t, r, n, o) {
4338
o = o || {};
4339
var a = e.Jobs[t];
4340
if ((a || (a = e.Jobs[t] = { dependencies: {}, dependants: {} }), a.callback)) throw "[UnityLoader.Job.schedule] job '" + t + "' has been already scheduled";
4341
if ("function" != typeof n) throw "[UnityLoader.Job.schedule] job '" + t + "' has invalid callback";
4342
if ("object" != typeof o) throw "[UnityLoader.Job.schedule] job '" + t + "' has invalid parameters";
4343
(a.callback = function (e, t) {
4344
(a.starttime = performance.now()), n(e, t);
4345
}),
4346
(a.parameters = o),
4347
(a.complete = function (r) {
4348
(a.endtime = performance.now()), (a.result = { value: r });
4349
for (var n in a.dependants) {
4350
var o = e.Jobs[n];
4351
o.dependencies[t] = a.dependants[n] = !1;
4352
var i = "function" != typeof o.callback;
4353
for (var s in o.dependencies) i = i || o.dependencies[s];
4354
if (!i) {
4355
if (o.executed) throw "[UnityLoader.Job.schedule] job '" + t + "' has already been executed";
4356
(o.executed = !0), setTimeout(o.callback.bind(null, e, o), 0);
4357
}
4358
}
4359
});
4360
var i = !1;
4361
r.forEach(function (r) {
4362
var n = e.Jobs[r];
4363
n || (n = e.Jobs[r] = { dependencies: {}, dependants: {} }), (a.dependencies[r] = n.dependants[t] = !n.result) && (i = !0);
4364
}),
4365
i || ((a.executed = !0), setTimeout(a.callback.bind(null, e, a), 0));
4366
},
4367
result: function (e, t) {
4368
var r = e.Jobs[t];
4369
if (!r) throw "[UnityLoader.Job.result] job '" + t + "' does not exist";
4370
if ("object" != typeof r.result) throw "[UnityLoader.Job.result] job '" + t + "' has invalid result";
4371
return r.result.value;
4372
},
4373
},
4374
Progress: {
4375
Styles: {
4376
Dark: {
4377
progressLogoUrl:
4378
"data:image/png;base64,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",
4379
progressEmptyUrl:
4380
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAI0AAAASCAYAAABmbl0zAAAACXBIWXMAAAsSAAALEgHS3X78AAAATUlEQVRo3u3aIQ4AIAwEQUr4/5cPiyMVBDOj0M2mCKgkGdAwjYCudZzLOLiITYPrCdEgGkSDaEA0iAbRIBpEA6JBNHx1vnL7V4NNwxsbCNMGI3YImu0AAAAASUVORK5CYII=",
4381
progressFullUrl:
4382
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAI0AAAASCAYAAABmbl0zAAAACXBIWXMAAAsSAAALEgHS3X78AAAAO0lEQVRo3u3SQREAAAjDMMC/56EB3omEXjtJCg5GAkyDaTANpsE0YBpMg2kwDaYB02AaTINpMA2Yhr8FO18EIBpZMeQAAAAASUVORK5CYII=",
4383
},
4384
Light: {
4385
progressLogoUrl:
4386
"data:image/png;base64,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",
4387
progressEmptyUrl:
4388
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAI0AAAASCAYAAABmbl0zAAAACXBIWXMAAAsSAAALEgHS3X78AAAAUUlEQVRo3u3aMQ4AEAxAUcRJzGb3v1mt3cQglvcmc/NTA3XMFQUuNCPgVk/nahwchE2D6wnRIBpEg2hANIgG0SAaRAOiQTR8lV+5/avBpuGNDcz6A6oq1CgNAAAAAElFTkSuQmCC",
4389
progressFullUrl:
4390
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAI0AAAASCAYAAABmbl0zAAAACXBIWXMAAAsSAAALEgHS3X78AAAAQElEQVRo3u3SMREAMAgAsVIpnTvj3xlogDmR8PfxftaBgSsBpsE0mAbTYBowDabBNJgG04BpMA2mwTSYBkzDXgP/hgGnr4PpeAAAAABJRU5ErkJggg==",
4391
},
4392
},
4393
handler: function (e, t) {
4394
if (e.Module) {
4395
var r = UnityLoader.Progress.Styles[e.Module.splashScreenStyle],
4396
n = e.Module.progressLogoUrl ? e.Module.resolveBuildUrl(e.Module.progressLogoUrl) : r.progressLogoUrl,
4397
o = e.Module.progressEmptyUrl ? e.Module.resolveBuildUrl(e.Module.progressEmptyUrl) : r.progressEmptyUrl,
4398
a = e.Module.progressFullUrl ? e.Module.resolveBuildUrl(e.Module.progressFullUrl) : r.progressFullUrl,
4399
i = "position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);";
4400
e.logo || ((e.logo = document.createElement("div")), (e.logo.style.cssText = i + "background: url('" + n + "') no-repeat center / contain; width: 154px; height: 130px;"), e.container.appendChild(e.logo)),
4401
e.progress ||
4402
((e.progress = document.createElement("div")),
4403
(e.progress.style.cssText = i + " height: 18px; width: 141px; margin-top: 90px;"),
4404
(e.progress.empty = document.createElement("div")),
4405
(e.progress.empty.style.cssText = "background: url('" + o + "') no-repeat right / cover; float: right; width: 100%; height: 100%; display: inline-block;"),
4406
e.progress.appendChild(e.progress.empty),
4407
(e.progress.full = document.createElement("div")),
4408
(e.progress.full.style.cssText = "background: url('" + a + "') no-repeat left / cover; float: left; width: 0%; height: 100%; display: inline-block;"),
4409
e.progress.appendChild(e.progress.full),
4410
e.container.appendChild(e.progress)),
4411
(e.progress.full.style.width = 100 * t + "%"),
4412
(e.progress.empty.style.width = 100 * (1 - t) + "%"),
4413
1 == t && (e.logo.style.display = e.progress.style.display = "none");
4414
}
4415
},
4416
update: function (e, t, r) {
4417
var n = e.buildDownloadProgress[t];
4418
n || (n = e.buildDownloadProgress[t] = { started: !1, finished: !1, lengthComputable: !1, total: 0, loaded: 0 }),
4419
"object" != typeof r ||
4420
("progress" != r.type && "load" != r.type) ||
4421
(n.started || ((n.started = !0), (n.lengthComputable = r.lengthComputable), (n.total = r.total)), (n.loaded = r.loaded), "load" == r.type && (n.finished = !0));
4422
var o = 0,
4423
a = 0,
4424
i = 0,
4425
s = 0,
4426
d = 0;
4427
for (var t in e.buildDownloadProgress) {
4428
var n = e.buildDownloadProgress[t];
4429
if (!n.started) return 0;
4430
i++, n.lengthComputable ? ((o += n.loaded), (a += n.total), s++) : n.finished || d++;
4431
}
4432
var l = i ? (i - d - (a ? (s * (a - o)) / a : 0)) / i : 0;
4433
e.gameInstance.onProgress(e.gameInstance, 0.9 * l);
4434
},
4435
},
4436
SystemInfo: (function () {
4437
var e,
4438
t,
4439
r,
4440
n = "-",
4441
o = navigator.appVersion,
4442
a = navigator.userAgent,
4443
i = navigator.appName,
4444
s = navigator.appVersion,
4445
d = parseInt(navigator.appVersion, 10);
4446
(t = a.indexOf("Opera")) != -1
4447
? ((i = "Opera"), (s = a.substring(t + 6)), (t = a.indexOf("Version")) != -1 && (s = a.substring(t + 8)))
4448
: (t = a.indexOf("MSIE")) != -1
4449
? ((i = "Microsoft Internet Explorer"), (s = a.substring(t + 5)))
4450
: (t = a.indexOf("Edge")) != -1
4451
? ((i = "Edge"), (s = a.substring(t + 5)))
4452
: (t = a.indexOf("Chrome")) != -1
4453
? ((i = "Chrome"), (s = a.substring(t + 7)))
4454
: (t = a.indexOf("Safari")) != -1
4455
? ((i = "Safari"), (s = a.substring(t + 7)), (t = a.indexOf("Version")) != -1 && (s = a.substring(t + 8)))
4456
: (t = a.indexOf("Firefox")) != -1
4457
? ((i = "Firefox"), (s = a.substring(t + 8)))
4458
: a.indexOf("Trident/") != -1
4459
? ((i = "Microsoft Internet Explorer"), (s = a.substring(a.indexOf("rv:") + 3)))
4460
: (e = a.lastIndexOf(" ") + 1) < (t = a.lastIndexOf("/")) && ((i = a.substring(e, t)), (s = a.substring(t + 1)), i.toLowerCase() == i.toUpperCase() && (i = navigator.appName)),
4461
(r = s.indexOf(";")) != -1 && (s = s.substring(0, r)),
4462
(r = s.indexOf(" ")) != -1 && (s = s.substring(0, r)),
4463
(r = s.indexOf(")")) != -1 && (s = s.substring(0, r)),
4464
(d = parseInt("" + s, 10)),
4465
isNaN(d) ? ((s = "" + parseFloat(navigator.appVersion)), (d = parseInt(navigator.appVersion, 10))) : (s = "" + parseFloat(s));
4466
var l = /Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(o),
4467
u = n,
4468
c = [
4469
{ s: "Windows 3.11", r: /Win16/ },
4470
{ s: "Windows 95", r: /(Windows 95|Win95|Windows_95)/ },
4471
{ s: "Windows ME", r: /(Win 9x 4.90|Windows ME)/ },
4472
{ s: "Windows 98", r: /(Windows 98|Win98)/ },
4473
{ s: "Windows CE", r: /Windows CE/ },
4474
{ s: "Windows 2000", r: /(Windows NT 5.0|Windows 2000)/ },
4475
{ s: "Windows XP", r: /(Windows NT 5.1|Windows XP)/ },
4476
{ s: "Windows Server 2003", r: /Windows NT 5.2/ },
4477
{ s: "Windows Vista", r: /Windows NT 6.0/ },
4478
{ s: "Windows 7", r: /(Windows 7|Windows NT 6.1)/ },
4479
{ s: "Windows 8.1", r: /(Windows 8.1|Windows NT 6.3)/ },
4480
{ s: "Windows 8", r: /(Windows 8|Windows NT 6.2)/ },
4481
{ s: "Windows 10", r: /(Windows 10|Windows NT 10.0)/ },
4482
{ s: "Windows NT 4.0", r: /(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/ },
4483
{ s: "Windows ME", r: /Windows ME/ },
4484
{ s: "Android", r: /Android/ },
4485
{ s: "Open BSD", r: /OpenBSD/ },
4486
{ s: "Sun OS", r: /SunOS/ },
4487
{ s: "Linux", r: /(Linux|X11)/ },
4488
{ s: "iOS", r: /(iPhone|iPad|iPod)/ },
4489
{ s: "Mac OS X", r: /Mac OS X/ },
4490
{ s: "Mac OS", r: /(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/ },
4491
{ s: "QNX", r: /QNX/ },
4492
{ s: "UNIX", r: /UNIX/ },
4493
{ s: "BeOS", r: /BeOS/ },
4494
{ s: "OS/2", r: /OS\/2/ },
4495
{ s: "Search Bot", r: /(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver)/ },
4496
];
4497
for (var f in c) {
4498
var h = c[f];
4499
if (h.r.test(a)) {
4500
u = h.s;
4501
break;
4502
}
4503
}
4504
var p = n;
4505
switch ((/Windows/.test(u) && ((p = /Windows (.*)/.exec(u)[1]), (u = "Windows")), u)) {
4506
case "Mac OS X":
4507
p = /Mac OS X (10[\.\_\d]+)/.exec(a)[1];
4508
break;
4509
case "Android":
4510
p = /Android ([\.\_\d]+)/.exec(a)[1];
4511
break;
4512
case "iOS":
4513
(p = /OS (\d+)_(\d+)_?(\d+)?/.exec(o)), (p = p[1] + "." + p[2] + "." + (0 | p[3]));
4514
}
4515
return {
4516
width: screen.width ? screen.width : 0,
4517
height: screen.height ? screen.height : 0,
4518
browser: i,
4519
browserVersion: s,
4520
mobile: l,
4521
os: u,
4522
osVersion: p,
4523
gpu: (function () {
4524
var e = document.createElement("canvas"),
4525
t = e.getContext("experimental-webgl");
4526
if (t) {
4527
var r = t.getExtension("WEBGL_debug_renderer_info");
4528
if (r) return t.getParameter(r.UNMASKED_RENDERER_WEBGL);
4529
}
4530
return n;
4531
})(),
4532
language: window.navigator.userLanguage || window.navigator.language,
4533
hasWebGL: (function () {
4534
if (!window.WebGLRenderingContext) return 0;
4535
var e = document.createElement("canvas"),
4536
t = e.getContext("webgl2");
4537
return t ? 2 : ((t = e.getContext("experimental-webgl2")), t ? 2 : ((t = e.getContext("webgl")), t || (t = e.getContext("experimental-webgl")) ? 1 : 0));
4538
})(),
4539
hasCursorLock: (function () {
4540
var e = document.createElement("canvas");
4541
return e.requestPointerLock || e.mozRequestPointerLock || e.webkitRequestPointerLock || e.msRequestPointerLock ? 1 : 0;
4542
})(),
4543
hasFullscreen: (function () {
4544
var e = document.createElement("canvas");
4545
return (e.requestFullScreen || e.mozRequestFullScreen || e.msRequestFullscreen || e.webkitRequestFullScreen) && (i.indexOf("Safari") == -1 || s >= 10.1) ? 1 : 0;
4546
})(),
4547
hasThreads: "undefined" != typeof SharedArrayBuffer,
4548
hasWasm: "object" == typeof WebAssembly && "function" == typeof WebAssembly.validate && "function" == typeof WebAssembly.compile,
4549
};
4550
})(),
4551
compatibilityCheck: function (e, t, r) {
4552
UnityLoader.SystemInfo.hasWebGL
4553
? UnityLoader.SystemInfo.mobile
4554
? e.popup("Please note that Unity WebGL is not currently supported on mobiles. Press OK if you wish to continue anyway.", [{ text: "OK", callback: t }])
4555
: ["Edge", "Firefox", "Chrome", "Safari"].indexOf(UnityLoader.SystemInfo.browser) == -1
4556
? e.popup("Please note that your browser is not currently supported for this Unity WebGL content. Press OK if you wish to continue anyway.", [{ text: "OK", callback: t }])
4557
: t()
4558
: e.popup("Your browser does not support WebGL", [{ text: "OK", callback: r }]);
4559
},
4560
Blobs: {},
4561
loadCode: function (e, t, r) {
4562
var n = [].slice
4563
.call(UnityLoader.Cryptography.md5(e))
4564
.map(function (e) {
4565
return ("0" + e.toString(16)).substr(-2);
4566
})
4567
.join(""),
4568
o = document.createElement("script"),
4569
a = URL.createObjectURL(new Blob(['UnityLoader["' + n + '"]=', e], { type: "text/javascript" }));
4570
(UnityLoader.Blobs[a] = r),
4571
(o.src = a),
4572
(o.onload = function () {
4573
URL.revokeObjectURL(a), t(n), delete o.onload;
4574
}),
4575
document.body.appendChild(o);
4576
},
4577
setupIndexedDBJob: function (e, t) {
4578
function r(n) {
4579
r.called || ((r.called = !0), (e.indexedDB = n), t.complete());
4580
}
4581
try {
4582
var n = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB,
4583
o = n.open("/idbfs-test");
4584
(o.onerror = function (e) {
4585
e.preventDefault(), r();
4586
}),
4587
(o.onsuccess = function () {
4588
o.result.close(), r(n);
4589
});
4590
} catch (e) {
4591
r();
4592
}
4593
},
4594
processWasmCodeJob: function (e, t) {
4595
(e.wasmBinary = UnityLoader.Job.result(e, "downloadWasmCode")), t.complete();
4596
},
4597
processWasmFrameworkJob: function (e, t) {
4598
var r = UnityLoader.Job.result(e, "downloadWasmFramework");
4599
UnityLoader.loadCode(
4600
r,
4601
function (n) {
4602
var o = new Blob([r], { type: "application/javascript" });
4603
(e.mainScriptUrlOrBlob = o), UnityLoader[n](e), t.complete();
4604
},
4605
{ Module: e, url: e.wasmFrameworkUrl }
4606
);
4607
},
4608
processAsmCodeJob: function (e, t) {
4609
var r = UnityLoader.Job.result(e, "downloadAsmCode");
4610
UnityLoader.loadCode(
4611
Math.fround ? r : UnityLoader.Utils.optimizeMathFround(r),
4612
function (r) {
4613
(e.asm = UnityLoader[r]), t.complete();
4614
},
4615
{ Module: e, url: e.asmCodeUrl }
4616
);
4617
},
4618
processAsmFrameworkJob: function (e, t) {
4619
var r = UnityLoader.Job.result(e, "downloadAsmFramework");
4620
UnityLoader.loadCode(
4621
r,
4622
function (n) {
4623
var o = new Blob([r], { type: "application/javascript" });
4624
(e.mainScriptUrlOrBlob = o), UnityLoader[n](e), t.complete();
4625
},
4626
{ Module: e, url: e.asmFrameworkUrl }
4627
);
4628
},
4629
processMemoryInitializerJob: function (e, t) {
4630
(e.memoryInitializerRequest.status = 200), (e.memoryInitializerRequest.response = UnityLoader.Job.result(e, "downloadMemoryInitializer")), e.memoryInitializerRequest.callback && e.memoryInitializerRequest.callback(), t.complete();
4631
},
4632
processDataJob: function (e, t) {
4633
var r = UnityLoader.Job.result(e, "downloadData"),
4634
n = new DataView(r.buffer, r.byteOffset, r.byteLength),
4635
o = 0,
4636
a = "UnityWebData1.0\0";
4637
if (!String.fromCharCode.apply(null, r.subarray(o, o + a.length)) == a) throw "unknown data format";
4638
o += a.length;
4639
var i = n.getUint32(o, !0);
4640
for (o += 4; o < i; ) {
4641
var s = n.getUint32(o, !0);
4642
o += 4;
4643
var d = n.getUint32(o, !0);
4644
o += 4;
4645
var l = n.getUint32(o, !0);
4646
o += 4;
4647
var u = String.fromCharCode.apply(null, r.subarray(o, o + l));
4648
o += l;
4649
for (var c = 0, f = u.indexOf("/", c) + 1; f > 0; c = f, f = u.indexOf("/", c) + 1) e.FS_createPath(u.substring(0, c), u.substring(c, f - 1), !0, !0);
4650
e.FS_createDataFile(u, null, r.subarray(s, s + d), !0, !0, !0);
4651
}
4652
e.removeRunDependency("processDataJob"), t.complete();
4653
},
4654
downloadJob: function (e, t) {
4655
var r = t.parameters.objParameters ? new UnityLoader.UnityCache.XMLHttpRequest(t.parameters.objParameters) : new XMLHttpRequest();
4656
r.open("GET", t.parameters.url),
4657
(r.responseType = "arraybuffer"),
4658
(r.onload = function () {
4659
UnityLoader.Compression.decompress(new Uint8Array(r.response), function (e) {
4660
t.complete(e);
4661
});
4662
}),
4663
t.parameters.onprogress && r.addEventListener("progress", t.parameters.onprogress),
4664
t.parameters.onload && r.addEventListener("load", t.parameters.onload),
4665
r.send();
4666
},
4667
scheduleBuildDownloadJob: function (e, t, r) {
4668
UnityLoader.Progress.update(e, t),
4669
UnityLoader.Job.schedule(e, t, [], UnityLoader.downloadJob, {
4670
url: e.resolveBuildUrl(e[r]),
4671
onprogress: function (r) {
4672
UnityLoader.Progress.update(e, t, r);
4673
},
4674
onload: function (r) {
4675
UnityLoader.Progress.update(e, t, r);
4676
},
4677
objParameters:
4678
e.companyName && e.productName && e.cacheControl && (e.cacheControl[r] || e.cacheControl.default)
4679
? { companyName: e.companyName, productName: e.productName, cacheControl: e.cacheControl[r] || e.cacheControl.default }
4680
: null,
4681
});
4682
},
4683
loadModule: function (e) {
4684
if (((e.useWasm = e.wasmCodeUrl && UnityLoader.SystemInfo.hasWasm), e.useWasm))
4685
UnityLoader.scheduleBuildDownloadJob(e, "downloadWasmCode", "wasmCodeUrl"),
4686
UnityLoader.Job.schedule(e, "processWasmCode", ["downloadWasmCode"], UnityLoader.processWasmCodeJob),
4687
e.wasmMemoryUrl &&
4688
(UnityLoader.scheduleBuildDownloadJob(e, "downloadMemoryInitializer", "wasmMemoryUrl"),
4689
UnityLoader.Job.schedule(e, "processMemoryInitializer", ["downloadMemoryInitializer"], UnityLoader.processMemoryInitializerJob),
4690
(e.memoryInitializerRequest = {
4691
addEventListener: function (t, r) {
4692
e.memoryInitializerRequest.callback = r;
4693
},
4694
})),
4695
UnityLoader.scheduleBuildDownloadJob(e, "downloadWasmFramework", "wasmFrameworkUrl"),
4696
UnityLoader.Job.schedule(e, "processWasmFramework", ["downloadWasmFramework", "processWasmCode", "setupIndexedDB"], UnityLoader.processWasmFrameworkJob);
4697
else {
4698
if (!e.asmCodeUrl) throw "WebAssembly support is not detected in this browser.";
4699
UnityLoader.scheduleBuildDownloadJob(e, "downloadAsmCode", "asmCodeUrl"),
4700
UnityLoader.Job.schedule(e, "processAsmCode", ["downloadAsmCode"], UnityLoader.processAsmCodeJob),
4701
UnityLoader.scheduleBuildDownloadJob(e, "downloadMemoryInitializer", "asmMemoryUrl"),
4702
UnityLoader.Job.schedule(e, "processMemoryInitializer", ["downloadMemoryInitializer"], UnityLoader.processMemoryInitializerJob),
4703
(e.memoryInitializerRequest = {
4704
addEventListener: function (t, r) {
4705
e.memoryInitializerRequest.callback = r;
4706
},
4707
}),
4708
e.asmLibraryUrl && (e.dynamicLibraries = [e.asmLibraryUrl].map(e.resolveBuildUrl)),
4709
UnityLoader.scheduleBuildDownloadJob(e, "downloadAsmFramework", "asmFrameworkUrl"),
4710
UnityLoader.Job.schedule(e, "processAsmFramework", ["downloadAsmFramework", "processAsmCode", "setupIndexedDB"], UnityLoader.processAsmFrameworkJob);
4711
}
4712
UnityLoader.scheduleBuildDownloadJob(e, "downloadData", "dataUrl"),
4713
UnityLoader.Job.schedule(e, "setupIndexedDB", [], UnityLoader.setupIndexedDBJob),
4714
e.preRun.push(function () {
4715
e.addRunDependency("processDataJob"), UnityLoader.Job.schedule(e, "processData", ["downloadData"], UnityLoader.processDataJob);
4716
});
4717
},
4718
instantiate: function (e, t, r) {
4719
function n(e, r) {
4720
if ("string" == typeof e && !(e = document.getElementById(e))) return !1;
4721
(e.innerHTML = ""),
4722
(e.style.border = e.style.margin = e.style.padding = 0),
4723
"static" == getComputedStyle(e).getPropertyValue("position") && (e.style.position = "relative"),
4724
(e.style.width = r.width || e.style.width),
4725
(e.style.height = r.height || e.style.height),
4726
(r.container = e);
4727
var n = r.Module;
4728
return (
4729
(n.canvas = document.createElement("canvas")),
4730
(n.canvas.style.width = "100%"),
4731
(n.canvas.style.height = "100%"),
4732
n.canvas.addEventListener("contextmenu", function (e) {
4733
e.preventDefault();
4734
}),
4735
n.canvas.addEventListener("dragstart", function (e) {
4736
e.preventDefault();
4737
}),
4738
(n.canvas.id = "#canvas"),
4739
e.appendChild(n.canvas),
4740
r.compatibilityCheck(
4741
r,
4742
function () {
4743
var t = new XMLHttpRequest();
4744
t.open("GET", r.url, !0),
4745
(t.responseType = "text"),
4746
(t.onerror = function () {
4747
n.print("Could not download " + r.url),
4748
0 == document.URL.indexOf("file:") && alert("It seems your browser does not support running Unity WebGL content from file:// urls. Please upload it to an http server, or try a different browser.");
4749
}),
4750
(t.onload = function () {
4751
var o = JSON.parse(t.responseText);
4752
for (var a in o) "undefined" == typeof n[a] && (n[a] = o[a]);
4753
for (var i = !1, s = 0; s < n.graphicsAPI.length; s++) {
4754
var d = n.graphicsAPI[s];
4755
"WebGL 2.0" == d && 2 == UnityLoader.SystemInfo.hasWebGL ? (i = !0) : "WebGL 1.0" == d && UnityLoader.SystemInfo.hasWebGL >= 1 ? (i = !0) : n.print("Warning: Unsupported graphics API " + d);
4756
}
4757
return i
4758
? ((e.style.background = n.backgroundUrl ? "center/cover url('" + n.resolveBuildUrl(n.backgroundUrl) + "')" : n.backgroundColor ? " " + n.backgroundColor : ""),
4759
r.onProgress(r, 0),
4760
void UnityLoader.loadModule(n))
4761
: void r.popup("Your browser does not support any of the required graphics API for this content: " + n.graphicsAPI, [{ text: "OK" }]);
4762
}),
4763
t.send();
4764
},
4765
function () {
4766
n.printErr("Instantiation of the '" + t + "' terminated due to the failed compatibility check.");
4767
}
4768
),
4769
!0
4770
);
4771
}
4772
function o(e) {
4773
return (o.link = o.link || document.createElement("a")), (o.link.href = e), o.link.href;
4774
}
4775
var a = {
4776
url: t,
4777
onProgress: UnityLoader.Progress.handler,
4778
compatibilityCheck: UnityLoader.compatibilityCheck,
4779
Module: {
4780
graphicsAPI: ["WebGL 2.0", "WebGL 1.0"],
4781
onAbort: function (e) {
4782
throw (void 0 !== e ? (this.print(e), this.printErr(e), (e = JSON.stringify(e))) : (e = ""), "abort(" + e + ") at " + this.stackTrace());
4783
},
4784
preRun: [],
4785
postRun: [],
4786
print: function (e) {
4787
console.log(e);
4788
},
4789
printErr: function (e) {
4790
console.error(e);
4791
},
4792
Jobs: {},
4793
buildDownloadProgress: {},
4794
resolveBuildUrl: function (e) {
4795
return e.match(/(http|https|ftp|file):\/\//) ? e : t.substring(0, t.lastIndexOf("/") + 1) + e;
4796
},
4797
streamingAssetsUrl: function () {
4798
return o(this.resolveBuildUrl("../StreamingAssets"));
4799
},
4800
pthreadMainPrefixURL: "Build/",
4801
},
4802
SetFullscreen: function () {
4803
if (a.Module.SetFullscreen) return a.Module.SetFullscreen.apply(a.Module, arguments);
4804
},
4805
SendMessage: function () {
4806
if (a.Module.SendMessage) return a.Module.SendMessage.apply(a.Module, arguments);
4807
},
4808
};
4809
(a.Module.gameInstance = a),
4810
(a.popup = function (e, t) {
4811
return UnityLoader.Error.popup(a, e, t);
4812
}),
4813
a.Module.postRun.push(function () {
4814
a.onProgress(a, 1);
4815
});
4816
for (var i in r)
4817
if ("Module" == i) for (var s in r[i]) a.Module[s] = r[i][s];
4818
else a[i] = r[i];
4819
return (
4820
n(e, a) ||
4821
document.addEventListener("DOMContentLoaded", function () {
4822
n(e, a);
4823
}),
4824
a
4825
);
4826
},
4827
Utils: {
4828
assert: function (e, t) {
4829
e || abort("Assertion failed: " + t);
4830
},
4831
optimizeMathFround: function (e, t) {
4832
console.log("optimizing out Math.fround calls");
4833
for (
4834
var r = { LOOKING_FOR_MODULE: 0, SCANNING_MODULE_VARIABLES: 1, SCANNING_MODULE_FUNCTIONS: 2 },
4835
n = ["EMSCRIPTEN_START_ASM", "EMSCRIPTEN_START_FUNCS", "EMSCRIPTEN_END_FUNCS"],
4836
o = "var",
4837
a = "global.Math.fround;",
4838
i = 0,
4839
s = t ? r.LOOKING_FOR_MODULE : r.SCANNING_MODULE_VARIABLES,
4840
d = 0,
4841
l = 0;
4842
s <= r.SCANNING_MODULE_FUNCTIONS && i < e.length;
4843
i++
4844
)
4845
if (47 == e[i] && 47 == e[i + 1] && 32 == e[i + 2] && String.fromCharCode.apply(null, e.subarray(i + 3, i + 3 + n[s].length)) === n[s]) s++;
4846
else if (s != r.SCANNING_MODULE_VARIABLES || l || 61 != e[i] || String.fromCharCode.apply(null, e.subarray(i + 1, i + 1 + a.length)) !== a) {
4847
if (l && 40 == e[i]) {
4848
for (var u = 0; u < l && e[i - 1 - u] == e[d - u]; ) u++;
4849
if (u == l) {
4850
var c = e[i - 1 - u];
4851
if (c < 36 || (36 < c && c < 48) || (57 < c && c < 65) || (90 < c && c < 95) || (95 < c && c < 97) || 122 < c) for (; u; u--) e[i - u] = 32;
4852
}
4853
}
4854
} else {
4855
for (d = i - 1; 32 != e[d - l]; ) l++;
4856
(l && String.fromCharCode.apply(null, e.subarray(d - l - o.length, d - l)) === o) || (d = l = 0);
4857
}
4858
return e;
4859
},
4860
},
4861
UnityCache: (function () {
4862
function e(e) {
4863
console.log("[UnityCache] " + e);
4864
}
4865
function t(e) {
4866
return (t.link = t.link || document.createElement("a")), (t.link.href = e), t.link.href;
4867
}
4868
function r(e) {
4869
var t = window.location.href.match(/^[a-z]+:\/\/[^\/]+/);
4870
return !t || e.lastIndexOf(t[0], 0);
4871
}
4872
function n() {
4873
function t(t) {
4874
if ("undefined" == typeof n.database)
4875
for (n.database = t, n.database || e("indexedDB database could not be opened"); n.queue.length; ) {
4876
var r = n.queue.shift();
4877
n.database ? n.execute.apply(n, r) : "function" == typeof r.onerror && r.onerror(new Error("operation cancelled"));
4878
}
4879
}
4880
function r() {
4881
var e = o.open(i.name, i.version);
4882
(e.onupgradeneeded = function (e) {
4883
var t = e.target.result;
4884
t.objectStoreNames.contains(d.name) || t.createObjectStore(d.name);
4885
}),
4886
(e.onsuccess = function (e) {
4887
t(e.target.result);
4888
}),
4889
(e.onerror = function () {
4890
t(null);
4891
});
4892
}
4893
var n = this;
4894
n.queue = [];
4895
try {
4896
var o = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB,
4897
a = o.open(i.name);
4898
(a.onupgradeneeded = function (e) {
4899
var t = e.target.result.createObjectStore(s.name, { keyPath: "url" });
4900
["version", "company", "product", "updated", "revalidated", "accessed"].forEach(function (e) {
4901
t.createIndex(e, e);
4902
});
4903
}),
4904
(a.onsuccess = function (e) {
4905
var n = e.target.result;
4906
n.version < i.version ? (n.close(), r()) : t(n);
4907
}),
4908
(a.onerror = function () {
4909
t(null);
4910
});
4911
} catch (e) {
4912
t(null);
4913
}
4914
}
4915
function o(e, t, r, n, o) {
4916
var a = { url: e, version: s.version, company: t, product: r, updated: n, revalidated: n, accessed: n, responseHeaders: {}, xhr: {} };
4917
return (
4918
o &&
4919
(["Last-Modified", "ETag"].forEach(function (e) {
4920
a.responseHeaders[e] = o.getResponseHeader(e);
4921
}),
4922
["responseURL", "status", "statusText", "response"].forEach(function (e) {
4923
a.xhr[e] = o[e];
4924
})),
4925
a
4926
);
4927
}
4928
function a(t) {
4929
(this.cache = { enabled: !1 }),
4930
t && ((this.cache.control = t.cacheControl), (this.cache.company = t.companyName), (this.cache.product = t.productName)),
4931
(this.xhr = new XMLHttpRequest(t)),
4932
this.xhr.addEventListener(
4933
"load",
4934
function () {
4935
var t = this.xhr,
4936
r = this.cache;
4937
r.enabled &&
4938
!r.revalidated &&
4939
(304 == t.status
4940
? ((r.result.revalidated = r.result.accessed), (r.revalidated = !0), l.execute(s.name, "put", [r.result]), e("'" + r.result.url + "' successfully revalidated and served from the indexedDB cache"))
4941
: 200 == t.status
4942
? ((r.result = o(r.result.url, r.company, r.product, r.result.accessed, t)),
4943
(r.revalidated = !0),
4944
l.execute(
4945
s.name,
4946
"put",
4947
[r.result],
4948
function (t) {
4949
e("'" + r.result.url + "' successfully downloaded and stored in the indexedDB cache");
4950
},
4951
function (t) {
4952
e("'" + r.result.url + "' successfully downloaded but not stored in the indexedDB cache due to the error: " + t);
4953
}
4954
))
4955
: e("'" + r.result.url + "' request failed with status: " + t.status + " " + t.statusText));
4956
}.bind(this)
4957
);
4958
}
4959
var i = { name: "UnityCache", version: 2 },
4960
s = { name: "XMLHttpRequest", version: 1 },
4961
d = { name: "WebAssembly", version: 1 };
4962
n.prototype.execute = function (e, t, r, n, o) {
4963
if (this.database)
4964
try {
4965
var a = this.database.transaction([e], ["put", "delete", "clear"].indexOf(t) != -1 ? "readwrite" : "readonly").objectStore(e);
4966
"openKeyCursor" == t && ((a = a.index(r[0])), (r = r.slice(1)));
4967
var i = a[t].apply(a, r);
4968
"function" == typeof n &&
4969
(i.onsuccess = function (e) {
4970
n(e.target.result);
4971
}),
4972
(i.onerror = o);
4973
} catch (e) {
4974
"function" == typeof o && o(e);
4975
}
4976
else "undefined" == typeof this.database ? this.queue.push(arguments) : "function" == typeof o && o(new Error("indexedDB access denied"));
4977
};
4978
var l = new n();
4979
(a.prototype.send = function (t) {
4980
var n = this.xhr,
4981
o = this.cache,
4982
a = arguments;
4983
return (
4984
(o.enabled = o.enabled && "arraybuffer" == n.responseType && !t),
4985
o.enabled
4986
? void l.execute(
4987
s.name,
4988
"get",
4989
[o.result.url],
4990
function (t) {
4991
if (!t || t.version != s.version) return void n.send.apply(n, a);
4992
if (((o.result = t), (o.result.accessed = Date.now()), "immutable" == o.control))
4993
(o.revalidated = !0), l.execute(s.name, "put", [o.result]), n.dispatchEvent(new Event("load")), e("'" + o.result.url + "' served from the indexedDB cache without revalidation");
4994
else if (r(o.result.url) && (o.result.responseHeaders["Last-Modified"] || o.result.responseHeaders.ETag)) {
4995
var i = new XMLHttpRequest();
4996
i.open("HEAD", o.result.url),
4997
(i.onload = function () {
4998
(o.revalidated = ["Last-Modified", "ETag"].every(function (e) {
4999
return !o.result.responseHeaders[e] || o.result.responseHeaders[e] == i.getResponseHeader(e);
5000
})),
5001
o.revalidated
5002
? ((o.result.revalidated = o.result.accessed),
5003
l.execute(s.name, "put", [o.result]),
5004
n.dispatchEvent(new Event("load")),
5005
e("'" + o.result.url + "' successfully revalidated and served from the indexedDB cache"))
5006
: n.send.apply(n, a);
5007
}),
5008
i.send();
5009
} else
5010
o.result.responseHeaders["Last-Modified"]
5011
? (n.setRequestHeader("If-Modified-Since", o.result.responseHeaders["Last-Modified"]), n.setRequestHeader("Cache-Control", "no-cache"))
5012
: o.result.responseHeaders.ETag && (n.setRequestHeader("If-None-Match", o.result.responseHeaders.ETag), n.setRequestHeader("Cache-Control", "no-cache")),
5013
n.send.apply(n, a);
5014
},
5015
function (e) {
5016
n.send.apply(n, a);
5017
}
5018
)
5019
: n.send.apply(n, a)
5020
);
5021
}),
5022
(a.prototype.open = function (e, r, n, a, i) {
5023
return (
5024
(this.cache.result = o(t(r), this.cache.company, this.cache.product, Date.now())),
5025
(this.cache.enabled =
5026
["must-revalidate", "immutable"].indexOf(this.cache.control) != -1 && "GET" == e && this.cache.result.url.match("^https?://") && ("undefined" == typeof n || n) && "undefined" == typeof a && "undefined" == typeof i),
5027
(this.cache.revalidated = !1),
5028
this.xhr.open.apply(this.xhr, arguments)
5029
);
5030
}),
5031
(a.prototype.setRequestHeader = function (e, t) {
5032
return (this.cache.enabled = !1), this.xhr.setRequestHeader.apply(this.xhr, arguments);
5033
});
5034
var u = new XMLHttpRequest();
5035
for (var c in u)
5036
a.prototype.hasOwnProperty(c) ||
5037
!(function (e) {
5038
Object.defineProperty(
5039
a.prototype,
5040
e,
5041
"function" == typeof u[e]
5042
? {
5043
value: function () {
5044
return this.xhr[e].apply(this.xhr, arguments);
5045
},
5046
}
5047
: {
5048
get: function () {
5049
return this.cache.revalidated && this.cache.result.xhr.hasOwnProperty(e) ? this.cache.result.xhr[e] : this.xhr[e];
5050
},
5051
set: function (t) {
5052
this.xhr[e] = t;
5053
},
5054
}
5055
);
5056
})(c);
5057
return {
5058
XMLHttpRequest: a,
5059
WebAssembly: {
5060
get: function (e, r) {
5061
var n = { url: t(e), version: d.version, module: null, md5: null };
5062
l.execute(
5063
d.name,
5064
"get",
5065
[n.url],
5066
function (e) {
5067
r(e && e.version == d.version ? e : n);
5068
},
5069
function () {
5070
r(n);
5071
}
5072
);
5073
},
5074
put: function (e, t, r) {
5075
l.execute(d.name, "put", [e, e.url], t, r);
5076
},
5077
},
5078
};
5079
})(),
5080
};
5081
5082