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