Last active
August 26, 2022 19:46
-
-
Save henriquekano/5f2d1c2475e5608bec7bd4f8d6dde9a8 to your computer and use it in GitHub Desktop.
Kindle manga scrapper
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*! | |
JSZip v3.10.1 - A JavaScript class for generating and reading zip files | |
<http://stuartk.com/jszip> | |
(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com> | |
Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown. | |
JSZip uses the library pako released under the MIT license : | |
https://github.com/nodeca/pako/blob/main/LICENSE | |
*/ | |
!(function (e) { | |
if ('object' == typeof exports && 'undefined' != typeof module) | |
module.exports = e(); | |
else if ('function' == typeof define && define.amd) define([], e); | |
else { | |
('undefined' != typeof window | |
? window | |
: 'undefined' != typeof global | |
? global | |
: 'undefined' != typeof self | |
? self | |
: this | |
).JSZip = e(); | |
} | |
})(function () { | |
return (function s(a, o, h) { | |
function u(r, e) { | |
if (!o[r]) { | |
if (!a[r]) { | |
var t = 'function' == typeof require && require; | |
if (!e && t) return t(r, !0); | |
if (l) return l(r, !0); | |
var n = new Error("Cannot find module '" + r + "'"); | |
throw ((n.code = 'MODULE_NOT_FOUND'), n); | |
} | |
var i = (o[r] = {exports: {}}); | |
a[r][0].call( | |
i.exports, | |
function (e) { | |
var t = a[r][1][e]; | |
return u(t || e); | |
}, | |
i, | |
i.exports, | |
s, | |
a, | |
o, | |
h, | |
); | |
} | |
return o[r].exports; | |
} | |
for ( | |
var l = 'function' == typeof require && require, e = 0; | |
e < h.length; | |
e++ | |
) | |
u(h[e]); | |
return u; | |
})( | |
{ | |
1: [ | |
function (e, t, r) { | |
'use strict'; | |
var d = e('./utils'), | |
c = e('./support'), | |
p = | |
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; | |
(r.encode = function (e) { | |
for ( | |
var t, | |
r, | |
n, | |
i, | |
s, | |
a, | |
o, | |
h = [], | |
u = 0, | |
l = e.length, | |
f = l, | |
c = 'string' !== d.getTypeOf(e); | |
u < e.length; | |
) | |
(f = l - u), | |
(n = c | |
? ((t = e[u++]), (r = u < l ? e[u++] : 0), u < l ? e[u++] : 0) | |
: ((t = e.charCodeAt(u++)), | |
(r = u < l ? e.charCodeAt(u++) : 0), | |
u < l ? e.charCodeAt(u++) : 0)), | |
(i = t >> 2), | |
(s = ((3 & t) << 4) | (r >> 4)), | |
(a = 1 < f ? ((15 & r) << 2) | (n >> 6) : 64), | |
(o = 2 < f ? 63 & n : 64), | |
h.push(p.charAt(i) + p.charAt(s) + p.charAt(a) + p.charAt(o)); | |
return h.join(''); | |
}), | |
(r.decode = function (e) { | |
var t, | |
r, | |
n, | |
i, | |
s, | |
a, | |
o = 0, | |
h = 0, | |
u = 'data:'; | |
if (e.substr(0, u.length) === u) | |
throw new Error( | |
'Invalid base64 input, it looks like a data url.', | |
); | |
var l, | |
f = (3 * (e = e.replace(/[^A-Za-z0-9+/=]/g, '')).length) / 4; | |
if ( | |
(e.charAt(e.length - 1) === p.charAt(64) && f--, | |
e.charAt(e.length - 2) === p.charAt(64) && f--, | |
f % 1 != 0) | |
) | |
throw new Error('Invalid base64 input, bad content length.'); | |
for ( | |
l = c.uint8array ? new Uint8Array(0 | f) : new Array(0 | f); | |
o < e.length; | |
) | |
(t = | |
(p.indexOf(e.charAt(o++)) << 2) | | |
((i = p.indexOf(e.charAt(o++))) >> 4)), | |
(r = ((15 & i) << 4) | ((s = p.indexOf(e.charAt(o++))) >> 2)), | |
(n = ((3 & s) << 6) | (a = p.indexOf(e.charAt(o++)))), | |
(l[h++] = t), | |
64 !== s && (l[h++] = r), | |
64 !== a && (l[h++] = n); | |
return l; | |
}); | |
}, | |
{'./support': 30, './utils': 32}, | |
], | |
2: [ | |
function (e, t, r) { | |
'use strict'; | |
var n = e('./external'), | |
i = e('./stream/DataWorker'), | |
s = e('./stream/Crc32Probe'), | |
a = e('./stream/DataLengthProbe'); | |
function o(e, t, r, n, i) { | |
(this.compressedSize = e), | |
(this.uncompressedSize = t), | |
(this.crc32 = r), | |
(this.compression = n), | |
(this.compressedContent = i); | |
} | |
(o.prototype = { | |
getContentWorker: function () { | |
var e = new i(n.Promise.resolve(this.compressedContent)) | |
.pipe(this.compression.uncompressWorker()) | |
.pipe(new a('data_length')), | |
t = this; | |
return ( | |
e.on('end', function () { | |
if (this.streamInfo.data_length !== t.uncompressedSize) | |
throw new Error('Bug : uncompressed data size mismatch'); | |
}), | |
e | |
); | |
}, | |
getCompressedWorker: function () { | |
return new i(n.Promise.resolve(this.compressedContent)) | |
.withStreamInfo('compressedSize', this.compressedSize) | |
.withStreamInfo('uncompressedSize', this.uncompressedSize) | |
.withStreamInfo('crc32', this.crc32) | |
.withStreamInfo('compression', this.compression); | |
}, | |
}), | |
(o.createWorkerFrom = function (e, t, r) { | |
return e | |
.pipe(new s()) | |
.pipe(new a('uncompressedSize')) | |
.pipe(t.compressWorker(r)) | |
.pipe(new a('compressedSize')) | |
.withStreamInfo('compression', t); | |
}), | |
(t.exports = o); | |
}, | |
{ | |
'./external': 6, | |
'./stream/Crc32Probe': 25, | |
'./stream/DataLengthProbe': 26, | |
'./stream/DataWorker': 27, | |
}, | |
], | |
3: [ | |
function (e, t, r) { | |
'use strict'; | |
var n = e('./stream/GenericWorker'); | |
(r.STORE = { | |
magic: '\0\0', | |
compressWorker: function () { | |
return new n('STORE compression'); | |
}, | |
uncompressWorker: function () { | |
return new n('STORE decompression'); | |
}, | |
}), | |
(r.DEFLATE = e('./flate')); | |
}, | |
{'./flate': 7, './stream/GenericWorker': 28}, | |
], | |
4: [ | |
function (e, t, r) { | |
'use strict'; | |
var n = e('./utils'); | |
var o = (function () { | |
for (var e, t = [], r = 0; r < 256; r++) { | |
e = r; | |
for (var n = 0; n < 8; n++) | |
e = 1 & e ? 3988292384 ^ (e >>> 1) : e >>> 1; | |
t[r] = e; | |
} | |
return t; | |
})(); | |
t.exports = function (e, t) { | |
return void 0 !== e && e.length | |
? 'string' !== n.getTypeOf(e) | |
? (function (e, t, r, n) { | |
var i = o, | |
s = n + r; | |
e ^= -1; | |
for (var a = n; a < s; a++) | |
e = (e >>> 8) ^ i[255 & (e ^ t[a])]; | |
return -1 ^ e; | |
})(0 | t, e, e.length, 0) | |
: (function (e, t, r, n) { | |
var i = o, | |
s = n + r; | |
e ^= -1; | |
for (var a = n; a < s; a++) | |
e = (e >>> 8) ^ i[255 & (e ^ t.charCodeAt(a))]; | |
return -1 ^ e; | |
})(0 | t, e, e.length, 0) | |
: 0; | |
}; | |
}, | |
{'./utils': 32}, | |
], | |
5: [ | |
function (e, t, r) { | |
'use strict'; | |
(r.base64 = !1), | |
(r.binary = !1), | |
(r.dir = !1), | |
(r.createFolders = !0), | |
(r.date = null), | |
(r.compression = null), | |
(r.compressionOptions = null), | |
(r.comment = null), | |
(r.unixPermissions = null), | |
(r.dosPermissions = null); | |
}, | |
{}, | |
], | |
6: [ | |
function (e, t, r) { | |
'use strict'; | |
var n = null; | |
(n = 'undefined' != typeof Promise ? Promise : e('lie')), | |
(t.exports = {Promise: n}); | |
}, | |
{lie: 37}, | |
], | |
7: [ | |
function (e, t, r) { | |
'use strict'; | |
var n = | |
'undefined' != typeof Uint8Array && | |
'undefined' != typeof Uint16Array && | |
'undefined' != typeof Uint32Array, | |
i = e('pako'), | |
s = e('./utils'), | |
a = e('./stream/GenericWorker'), | |
o = n ? 'uint8array' : 'array'; | |
function h(e, t) { | |
a.call(this, 'FlateWorker/' + e), | |
(this._pako = null), | |
(this._pakoAction = e), | |
(this._pakoOptions = t), | |
(this.meta = {}); | |
} | |
(r.magic = '\b\0'), | |
s.inherits(h, a), | |
(h.prototype.processChunk = function (e) { | |
(this.meta = e.meta), | |
null === this._pako && this._createPako(), | |
this._pako.push(s.transformTo(o, e.data), !1); | |
}), | |
(h.prototype.flush = function () { | |
a.prototype.flush.call(this), | |
null === this._pako && this._createPako(), | |
this._pako.push([], !0); | |
}), | |
(h.prototype.cleanUp = function () { | |
a.prototype.cleanUp.call(this), (this._pako = null); | |
}), | |
(h.prototype._createPako = function () { | |
this._pako = new i[this._pakoAction]({ | |
raw: !0, | |
level: this._pakoOptions.level || -1, | |
}); | |
var t = this; | |
this._pako.onData = function (e) { | |
t.push({data: e, meta: t.meta}); | |
}; | |
}), | |
(r.compressWorker = function (e) { | |
return new h('Deflate', e); | |
}), | |
(r.uncompressWorker = function () { | |
return new h('Inflate', {}); | |
}); | |
}, | |
{'./stream/GenericWorker': 28, './utils': 32, pako: 38}, | |
], | |
8: [ | |
function (e, t, r) { | |
'use strict'; | |
function A(e, t) { | |
var r, | |
n = ''; | |
for (r = 0; r < t; r++) | |
(n += String.fromCharCode(255 & e)), (e >>>= 8); | |
return n; | |
} | |
function n(e, t, r, n, i, s) { | |
var a, | |
o, | |
h = e.file, | |
u = e.compression, | |
l = s !== O.utf8encode, | |
f = I.transformTo('string', s(h.name)), | |
c = I.transformTo('string', O.utf8encode(h.name)), | |
d = h.comment, | |
p = I.transformTo('string', s(d)), | |
m = I.transformTo('string', O.utf8encode(d)), | |
_ = c.length !== h.name.length, | |
g = m.length !== d.length, | |
b = '', | |
v = '', | |
y = '', | |
w = h.dir, | |
k = h.date, | |
x = {crc32: 0, compressedSize: 0, uncompressedSize: 0}; | |
(t && !r) || | |
((x.crc32 = e.crc32), | |
(x.compressedSize = e.compressedSize), | |
(x.uncompressedSize = e.uncompressedSize)); | |
var S = 0; | |
t && (S |= 8), l || (!_ && !g) || (S |= 2048); | |
var z = 0, | |
C = 0; | |
w && (z |= 16), | |
'UNIX' === i | |
? ((C = 798), | |
(z |= (function (e, t) { | |
var r = e; | |
return e || (r = t ? 16893 : 33204), (65535 & r) << 16; | |
})(h.unixPermissions, w))) | |
: ((C = 20), | |
(z |= (function (e) { | |
return 63 & (e || 0); | |
})(h.dosPermissions))), | |
(a = k.getUTCHours()), | |
(a <<= 6), | |
(a |= k.getUTCMinutes()), | |
(a <<= 5), | |
(a |= k.getUTCSeconds() / 2), | |
(o = k.getUTCFullYear() - 1980), | |
(o <<= 4), | |
(o |= k.getUTCMonth() + 1), | |
(o <<= 5), | |
(o |= k.getUTCDate()), | |
_ && | |
((v = A(1, 1) + A(B(f), 4) + c), | |
(b += 'up' + A(v.length, 2) + v)), | |
g && | |
((y = A(1, 1) + A(B(p), 4) + m), | |
(b += 'uc' + A(y.length, 2) + y)); | |
var E = ''; | |
return ( | |
(E += '\n\0'), | |
(E += A(S, 2)), | |
(E += u.magic), | |
(E += A(a, 2)), | |
(E += A(o, 2)), | |
(E += A(x.crc32, 4)), | |
(E += A(x.compressedSize, 4)), | |
(E += A(x.uncompressedSize, 4)), | |
(E += A(f.length, 2)), | |
(E += A(b.length, 2)), | |
{ | |
fileRecord: R.LOCAL_FILE_HEADER + E + f + b, | |
dirRecord: | |
R.CENTRAL_FILE_HEADER + | |
A(C, 2) + | |
E + | |
A(p.length, 2) + | |
'\0\0\0\0' + | |
A(z, 4) + | |
A(n, 4) + | |
f + | |
b + | |
p, | |
} | |
); | |
} | |
var I = e('../utils'), | |
i = e('../stream/GenericWorker'), | |
O = e('../utf8'), | |
B = e('../crc32'), | |
R = e('../signature'); | |
function s(e, t, r, n) { | |
i.call(this, 'ZipFileWorker'), | |
(this.bytesWritten = 0), | |
(this.zipComment = t), | |
(this.zipPlatform = r), | |
(this.encodeFileName = n), | |
(this.streamFiles = e), | |
(this.accumulate = !1), | |
(this.contentBuffer = []), | |
(this.dirRecords = []), | |
(this.currentSourceOffset = 0), | |
(this.entriesCount = 0), | |
(this.currentFile = null), | |
(this._sources = []); | |
} | |
I.inherits(s, i), | |
(s.prototype.push = function (e) { | |
var t = e.meta.percent || 0, | |
r = this.entriesCount, | |
n = this._sources.length; | |
this.accumulate | |
? this.contentBuffer.push(e) | |
: ((this.bytesWritten += e.data.length), | |
i.prototype.push.call(this, { | |
data: e.data, | |
meta: { | |
currentFile: this.currentFile, | |
percent: r ? (t + 100 * (r - n - 1)) / r : 100, | |
}, | |
})); | |
}), | |
(s.prototype.openedSource = function (e) { | |
(this.currentSourceOffset = this.bytesWritten), | |
(this.currentFile = e.file.name); | |
var t = this.streamFiles && !e.file.dir; | |
if (t) { | |
var r = n( | |
e, | |
t, | |
!1, | |
this.currentSourceOffset, | |
this.zipPlatform, | |
this.encodeFileName, | |
); | |
this.push({data: r.fileRecord, meta: {percent: 0}}); | |
} else this.accumulate = !0; | |
}), | |
(s.prototype.closedSource = function (e) { | |
this.accumulate = !1; | |
var t = this.streamFiles && !e.file.dir, | |
r = n( | |
e, | |
t, | |
!0, | |
this.currentSourceOffset, | |
this.zipPlatform, | |
this.encodeFileName, | |
); | |
if ((this.dirRecords.push(r.dirRecord), t)) | |
this.push({ | |
data: (function (e) { | |
return ( | |
R.DATA_DESCRIPTOR + | |
A(e.crc32, 4) + | |
A(e.compressedSize, 4) + | |
A(e.uncompressedSize, 4) | |
); | |
})(e), | |
meta: {percent: 100}, | |
}); | |
else | |
for ( | |
this.push({data: r.fileRecord, meta: {percent: 0}}); | |
this.contentBuffer.length; | |
) | |
this.push(this.contentBuffer.shift()); | |
this.currentFile = null; | |
}), | |
(s.prototype.flush = function () { | |
for ( | |
var e = this.bytesWritten, t = 0; | |
t < this.dirRecords.length; | |
t++ | |
) | |
this.push({data: this.dirRecords[t], meta: {percent: 100}}); | |
var r = this.bytesWritten - e, | |
n = (function (e, t, r, n, i) { | |
var s = I.transformTo('string', i(n)); | |
return ( | |
R.CENTRAL_DIRECTORY_END + | |
'\0\0\0\0' + | |
A(e, 2) + | |
A(e, 2) + | |
A(t, 4) + | |
A(r, 4) + | |
A(s.length, 2) + | |
s | |
); | |
})( | |
this.dirRecords.length, | |
r, | |
e, | |
this.zipComment, | |
this.encodeFileName, | |
); | |
this.push({data: n, meta: {percent: 100}}); | |
}), | |
(s.prototype.prepareNextSource = function () { | |
(this.previous = this._sources.shift()), | |
this.openedSource(this.previous.streamInfo), | |
this.isPaused ? this.previous.pause() : this.previous.resume(); | |
}), | |
(s.prototype.registerPrevious = function (e) { | |
this._sources.push(e); | |
var t = this; | |
return ( | |
e.on('data', function (e) { | |
t.processChunk(e); | |
}), | |
e.on('end', function () { | |
t.closedSource(t.previous.streamInfo), | |
t._sources.length ? t.prepareNextSource() : t.end(); | |
}), | |
e.on('error', function (e) { | |
t.error(e); | |
}), | |
this | |
); | |
}), | |
(s.prototype.resume = function () { | |
return ( | |
!!i.prototype.resume.call(this) && | |
(!this.previous && this._sources.length | |
? (this.prepareNextSource(), !0) | |
: this.previous || this._sources.length || this.generatedError | |
? void 0 | |
: (this.end(), !0)) | |
); | |
}), | |
(s.prototype.error = function (e) { | |
var t = this._sources; | |
if (!i.prototype.error.call(this, e)) return !1; | |
for (var r = 0; r < t.length; r++) | |
try { | |
t[r].error(e); | |
} catch (e) {} | |
return !0; | |
}), | |
(s.prototype.lock = function () { | |
i.prototype.lock.call(this); | |
for (var e = this._sources, t = 0; t < e.length; t++) e[t].lock(); | |
}), | |
(t.exports = s); | |
}, | |
{ | |
'../crc32': 4, | |
'../signature': 23, | |
'../stream/GenericWorker': 28, | |
'../utf8': 31, | |
'../utils': 32, | |
}, | |
], | |
9: [ | |
function (e, t, r) { | |
'use strict'; | |
var u = e('../compressions'), | |
n = e('./ZipFileWorker'); | |
r.generateWorker = function (e, a, t) { | |
var o = new n(a.streamFiles, t, a.platform, a.encodeFileName), | |
h = 0; | |
try { | |
e.forEach(function (e, t) { | |
h++; | |
var r = (function (e, t) { | |
var r = e || t, | |
n = u[r]; | |
if (!n) | |
throw new Error( | |
r + ' is not a valid compression method !', | |
); | |
return n; | |
})(t.options.compression, a.compression), | |
n = | |
t.options.compressionOptions || a.compressionOptions || {}, | |
i = t.dir, | |
s = t.date; | |
t._compressWorker(r, n) | |
.withStreamInfo('file', { | |
name: e, | |
dir: i, | |
date: s, | |
comment: t.comment || '', | |
unixPermissions: t.unixPermissions, | |
dosPermissions: t.dosPermissions, | |
}) | |
.pipe(o); | |
}), | |
(o.entriesCount = h); | |
} catch (e) { | |
o.error(e); | |
} | |
return o; | |
}; | |
}, | |
{'../compressions': 3, './ZipFileWorker': 8}, | |
], | |
10: [ | |
function (e, t, r) { | |
'use strict'; | |
function n() { | |
if (!(this instanceof n)) return new n(); | |
if (arguments.length) | |
throw new Error( | |
'The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.', | |
); | |
(this.files = Object.create(null)), | |
(this.comment = null), | |
(this.root = ''), | |
(this.clone = function () { | |
var e = new n(); | |
for (var t in this) | |
'function' != typeof this[t] && (e[t] = this[t]); | |
return e; | |
}); | |
} | |
((n.prototype = e('./object')).loadAsync = e('./load')), | |
(n.support = e('./support')), | |
(n.defaults = e('./defaults')), | |
(n.version = '3.10.1'), | |
(n.loadAsync = function (e, t) { | |
return new n().loadAsync(e, t); | |
}), | |
(n.external = e('./external')), | |
(t.exports = n); | |
}, | |
{ | |
'./defaults': 5, | |
'./external': 6, | |
'./load': 11, | |
'./object': 15, | |
'./support': 30, | |
}, | |
], | |
11: [ | |
function (e, t, r) { | |
'use strict'; | |
var u = e('./utils'), | |
i = e('./external'), | |
n = e('./utf8'), | |
s = e('./zipEntries'), | |
a = e('./stream/Crc32Probe'), | |
l = e('./nodejsUtils'); | |
function f(n) { | |
return new i.Promise(function (e, t) { | |
var r = n.decompressed.getContentWorker().pipe(new a()); | |
r.on('error', function (e) { | |
t(e); | |
}) | |
.on('end', function () { | |
r.streamInfo.crc32 !== n.decompressed.crc32 | |
? t(new Error('Corrupted zip : CRC32 mismatch')) | |
: e(); | |
}) | |
.resume(); | |
}); | |
} | |
t.exports = function (e, o) { | |
var h = this; | |
return ( | |
(o = u.extend(o || {}, { | |
base64: !1, | |
checkCRC32: !1, | |
optimizedBinaryString: !1, | |
createFolders: !1, | |
decodeFileName: n.utf8decode, | |
})), | |
l.isNode && l.isStream(e) | |
? i.Promise.reject( | |
new Error( | |
"JSZip can't accept a stream when loading a zip file.", | |
), | |
) | |
: u | |
.prepareContent( | |
'the loaded zip file', | |
e, | |
!0, | |
o.optimizedBinaryString, | |
o.base64, | |
) | |
.then(function (e) { | |
var t = new s(o); | |
return t.load(e), t; | |
}) | |
.then(function (e) { | |
var t = [i.Promise.resolve(e)], | |
r = e.files; | |
if (o.checkCRC32) | |
for (var n = 0; n < r.length; n++) t.push(f(r[n])); | |
return i.Promise.all(t); | |
}) | |
.then(function (e) { | |
for ( | |
var t = e.shift(), r = t.files, n = 0; | |
n < r.length; | |
n++ | |
) { | |
var i = r[n], | |
s = i.fileNameStr, | |
a = u.resolve(i.fileNameStr); | |
h.file(a, i.decompressed, { | |
binary: !0, | |
optimizedBinaryString: !0, | |
date: i.date, | |
dir: i.dir, | |
comment: i.fileCommentStr.length | |
? i.fileCommentStr | |
: null, | |
unixPermissions: i.unixPermissions, | |
dosPermissions: i.dosPermissions, | |
createFolders: o.createFolders, | |
}), | |
i.dir || (h.file(a).unsafeOriginalName = s); | |
} | |
return ( | |
t.zipComment.length && (h.comment = t.zipComment), h | |
); | |
}) | |
); | |
}; | |
}, | |
{ | |
'./external': 6, | |
'./nodejsUtils': 14, | |
'./stream/Crc32Probe': 25, | |
'./utf8': 31, | |
'./utils': 32, | |
'./zipEntries': 33, | |
}, | |
], | |
12: [ | |
function (e, t, r) { | |
'use strict'; | |
var n = e('../utils'), | |
i = e('../stream/GenericWorker'); | |
function s(e, t) { | |
i.call(this, 'Nodejs stream input adapter for ' + e), | |
(this._upstreamEnded = !1), | |
this._bindStream(t); | |
} | |
n.inherits(s, i), | |
(s.prototype._bindStream = function (e) { | |
var t = this; | |
(this._stream = e).pause(), | |
e | |
.on('data', function (e) { | |
t.push({data: e, meta: {percent: 0}}); | |
}) | |
.on('error', function (e) { | |
t.isPaused ? (this.generatedError = e) : t.error(e); | |
}) | |
.on('end', function () { | |
t.isPaused ? (t._upstreamEnded = !0) : t.end(); | |
}); | |
}), | |
(s.prototype.pause = function () { | |
return ( | |
!!i.prototype.pause.call(this) && (this._stream.pause(), !0) | |
); | |
}), | |
(s.prototype.resume = function () { | |
return ( | |
!!i.prototype.resume.call(this) && | |
(this._upstreamEnded ? this.end() : this._stream.resume(), !0) | |
); | |
}), | |
(t.exports = s); | |
}, | |
{'../stream/GenericWorker': 28, '../utils': 32}, | |
], | |
13: [ | |
function (e, t, r) { | |
'use strict'; | |
var i = e('readable-stream').Readable; | |
function n(e, t, r) { | |
i.call(this, t), (this._helper = e); | |
var n = this; | |
e.on('data', function (e, t) { | |
n.push(e) || n._helper.pause(), r && r(t); | |
}) | |
.on('error', function (e) { | |
n.emit('error', e); | |
}) | |
.on('end', function () { | |
n.push(null); | |
}); | |
} | |
e('../utils').inherits(n, i), | |
(n.prototype._read = function () { | |
this._helper.resume(); | |
}), | |
(t.exports = n); | |
}, | |
{'../utils': 32, 'readable-stream': 16}, | |
], | |
14: [ | |
function (e, t, r) { | |
'use strict'; | |
t.exports = { | |
isNode: 'undefined' != typeof Buffer, | |
newBufferFrom: function (e, t) { | |
if (Buffer.from && Buffer.from !== Uint8Array.from) | |
return Buffer.from(e, t); | |
if ('number' == typeof e) | |
throw new Error('The "data" argument must not be a number'); | |
return new Buffer(e, t); | |
}, | |
allocBuffer: function (e) { | |
if (Buffer.alloc) return Buffer.alloc(e); | |
var t = new Buffer(e); | |
return t.fill(0), t; | |
}, | |
isBuffer: function (e) { | |
return Buffer.isBuffer(e); | |
}, | |
isStream: function (e) { | |
return ( | |
e && | |
'function' == typeof e.on && | |
'function' == typeof e.pause && | |
'function' == typeof e.resume | |
); | |
}, | |
}; | |
}, | |
{}, | |
], | |
15: [ | |
function (e, t, r) { | |
'use strict'; | |
function s(e, t, r) { | |
var n, | |
i = u.getTypeOf(t), | |
s = u.extend(r || {}, f); | |
(s.date = s.date || new Date()), | |
null !== s.compression && | |
(s.compression = s.compression.toUpperCase()), | |
'string' == typeof s.unixPermissions && | |
(s.unixPermissions = parseInt(s.unixPermissions, 8)), | |
s.unixPermissions && 16384 & s.unixPermissions && (s.dir = !0), | |
s.dosPermissions && 16 & s.dosPermissions && (s.dir = !0), | |
s.dir && (e = g(e)), | |
s.createFolders && (n = _(e)) && b.call(this, n, !0); | |
var a = 'string' === i && !1 === s.binary && !1 === s.base64; | |
(r && void 0 !== r.binary) || (s.binary = !a), | |
((t instanceof c && 0 === t.uncompressedSize) || | |
s.dir || | |
!t || | |
0 === t.length) && | |
((s.base64 = !1), | |
(s.binary = !0), | |
(t = ''), | |
(s.compression = 'STORE'), | |
(i = 'string')); | |
var o = null; | |
o = | |
t instanceof c || t instanceof l | |
? t | |
: p.isNode && p.isStream(t) | |
? new m(e, t) | |
: u.prepareContent( | |
e, | |
t, | |
s.binary, | |
s.optimizedBinaryString, | |
s.base64, | |
); | |
var h = new d(e, o, s); | |
this.files[e] = h; | |
} | |
var i = e('./utf8'), | |
u = e('./utils'), | |
l = e('./stream/GenericWorker'), | |
a = e('./stream/StreamHelper'), | |
f = e('./defaults'), | |
c = e('./compressedObject'), | |
d = e('./zipObject'), | |
o = e('./generate'), | |
p = e('./nodejsUtils'), | |
m = e('./nodejs/NodejsStreamInputAdapter'), | |
_ = function (e) { | |
'/' === e.slice(-1) && (e = e.substring(0, e.length - 1)); | |
var t = e.lastIndexOf('/'); | |
return 0 < t ? e.substring(0, t) : ''; | |
}, | |
g = function (e) { | |
return '/' !== e.slice(-1) && (e += '/'), e; | |
}, | |
b = function (e, t) { | |
return ( | |
(t = void 0 !== t ? t : f.createFolders), | |
(e = g(e)), | |
this.files[e] || | |
s.call(this, e, null, {dir: !0, createFolders: t}), | |
this.files[e] | |
); | |
}; | |
function h(e) { | |
return '[object RegExp]' === Object.prototype.toString.call(e); | |
} | |
var n = { | |
load: function () { | |
throw new Error( | |
'This method has been removed in JSZip 3.0, please check the upgrade guide.', | |
); | |
}, | |
forEach: function (e) { | |
var t, r, n; | |
for (t in this.files) | |
(n = this.files[t]), | |
(r = t.slice(this.root.length, t.length)) && | |
t.slice(0, this.root.length) === this.root && | |
e(r, n); | |
}, | |
filter: function (r) { | |
var n = []; | |
return ( | |
this.forEach(function (e, t) { | |
r(e, t) && n.push(t); | |
}), | |
n | |
); | |
}, | |
file: function (e, t, r) { | |
if (1 !== arguments.length) | |
return (e = this.root + e), s.call(this, e, t, r), this; | |
if (h(e)) { | |
var n = e; | |
return this.filter(function (e, t) { | |
return !t.dir && n.test(e); | |
}); | |
} | |
var i = this.files[this.root + e]; | |
return i && !i.dir ? i : null; | |
}, | |
folder: function (r) { | |
if (!r) return this; | |
if (h(r)) | |
return this.filter(function (e, t) { | |
return t.dir && r.test(e); | |
}); | |
var e = this.root + r, | |
t = b.call(this, e), | |
n = this.clone(); | |
return (n.root = t.name), n; | |
}, | |
remove: function (r) { | |
r = this.root + r; | |
var e = this.files[r]; | |
if ( | |
(e || ('/' !== r.slice(-1) && (r += '/'), (e = this.files[r])), | |
e && !e.dir) | |
) | |
delete this.files[r]; | |
else | |
for ( | |
var t = this.filter(function (e, t) { | |
return t.name.slice(0, r.length) === r; | |
}), | |
n = 0; | |
n < t.length; | |
n++ | |
) | |
delete this.files[t[n].name]; | |
return this; | |
}, | |
generate: function () { | |
throw new Error( | |
'This method has been removed in JSZip 3.0, please check the upgrade guide.', | |
); | |
}, | |
generateInternalStream: function (e) { | |
var t, | |
r = {}; | |
try { | |
if ( | |
(((r = u.extend(e || {}, { | |
streamFiles: !1, | |
compression: 'STORE', | |
compressionOptions: null, | |
type: '', | |
platform: 'DOS', | |
comment: null, | |
mimeType: 'application/zip', | |
encodeFileName: i.utf8encode, | |
})).type = r.type.toLowerCase()), | |
(r.compression = r.compression.toUpperCase()), | |
'binarystring' === r.type && (r.type = 'string'), | |
!r.type) | |
) | |
throw new Error('No output type specified.'); | |
u.checkSupport(r.type), | |
('darwin' !== r.platform && | |
'freebsd' !== r.platform && | |
'linux' !== r.platform && | |
'sunos' !== r.platform) || | |
(r.platform = 'UNIX'), | |
'win32' === r.platform && (r.platform = 'DOS'); | |
var n = r.comment || this.comment || ''; | |
t = o.generateWorker(this, r, n); | |
} catch (e) { | |
(t = new l('error')).error(e); | |
} | |
return new a(t, r.type || 'string', r.mimeType); | |
}, | |
generateAsync: function (e, t) { | |
return this.generateInternalStream(e).accumulate(t); | |
}, | |
generateNodeStream: function (e, t) { | |
return ( | |
(e = e || {}).type || (e.type = 'nodebuffer'), | |
this.generateInternalStream(e).toNodejsStream(t) | |
); | |
}, | |
}; | |
t.exports = n; | |
}, | |
{ | |
'./compressedObject': 2, | |
'./defaults': 5, | |
'./generate': 9, | |
'./nodejs/NodejsStreamInputAdapter': 12, | |
'./nodejsUtils': 14, | |
'./stream/GenericWorker': 28, | |
'./stream/StreamHelper': 29, | |
'./utf8': 31, | |
'./utils': 32, | |
'./zipObject': 35, | |
}, | |
], | |
16: [ | |
function (e, t, r) { | |
'use strict'; | |
t.exports = e('stream'); | |
}, | |
{stream: void 0}, | |
], | |
17: [ | |
function (e, t, r) { | |
'use strict'; | |
var n = e('./DataReader'); | |
function i(e) { | |
n.call(this, e); | |
for (var t = 0; t < this.data.length; t++) e[t] = 255 & e[t]; | |
} | |
e('../utils').inherits(i, n), | |
(i.prototype.byteAt = function (e) { | |
return this.data[this.zero + e]; | |
}), | |
(i.prototype.lastIndexOfSignature = function (e) { | |
for ( | |
var t = e.charCodeAt(0), | |
r = e.charCodeAt(1), | |
n = e.charCodeAt(2), | |
i = e.charCodeAt(3), | |
s = this.length - 4; | |
0 <= s; | |
--s | |
) | |
if ( | |
this.data[s] === t && | |
this.data[s + 1] === r && | |
this.data[s + 2] === n && | |
this.data[s + 3] === i | |
) | |
return s - this.zero; | |
return -1; | |
}), | |
(i.prototype.readAndCheckSignature = function (e) { | |
var t = e.charCodeAt(0), | |
r = e.charCodeAt(1), | |
n = e.charCodeAt(2), | |
i = e.charCodeAt(3), | |
s = this.readData(4); | |
return t === s[0] && r === s[1] && n === s[2] && i === s[3]; | |
}), | |
(i.prototype.readData = function (e) { | |
if ((this.checkOffset(e), 0 === e)) return []; | |
var t = this.data.slice( | |
this.zero + this.index, | |
this.zero + this.index + e, | |
); | |
return (this.index += e), t; | |
}), | |
(t.exports = i); | |
}, | |
{'../utils': 32, './DataReader': 18}, | |
], | |
18: [ | |
function (e, t, r) { | |
'use strict'; | |
var n = e('../utils'); | |
function i(e) { | |
(this.data = e), | |
(this.length = e.length), | |
(this.index = 0), | |
(this.zero = 0); | |
} | |
(i.prototype = { | |
checkOffset: function (e) { | |
this.checkIndex(this.index + e); | |
}, | |
checkIndex: function (e) { | |
if (this.length < this.zero + e || e < 0) | |
throw new Error( | |
'End of data reached (data length = ' + | |
this.length + | |
', asked index = ' + | |
e + | |
'). Corrupted zip ?', | |
); | |
}, | |
setIndex: function (e) { | |
this.checkIndex(e), (this.index = e); | |
}, | |
skip: function (e) { | |
this.setIndex(this.index + e); | |
}, | |
byteAt: function () {}, | |
readInt: function (e) { | |
var t, | |
r = 0; | |
for ( | |
this.checkOffset(e), t = this.index + e - 1; | |
t >= this.index; | |
t-- | |
) | |
r = (r << 8) + this.byteAt(t); | |
return (this.index += e), r; | |
}, | |
readString: function (e) { | |
return n.transformTo('string', this.readData(e)); | |
}, | |
readData: function () {}, | |
lastIndexOfSignature: function () {}, | |
readAndCheckSignature: function () {}, | |
readDate: function () { | |
var e = this.readInt(4); | |
return new Date( | |
Date.UTC( | |
1980 + ((e >> 25) & 127), | |
((e >> 21) & 15) - 1, | |
(e >> 16) & 31, | |
(e >> 11) & 31, | |
(e >> 5) & 63, | |
(31 & e) << 1, | |
), | |
); | |
}, | |
}), | |
(t.exports = i); | |
}, | |
{'../utils': 32}, | |
], | |
19: [ | |
function (e, t, r) { | |
'use strict'; | |
var n = e('./Uint8ArrayReader'); | |
function i(e) { | |
n.call(this, e); | |
} | |
e('../utils').inherits(i, n), | |
(i.prototype.readData = function (e) { | |
this.checkOffset(e); | |
var t = this.data.slice( | |
this.zero + this.index, | |
this.zero + this.index + e, | |
); | |
return (this.index += e), t; | |
}), | |
(t.exports = i); | |
}, | |
{'../utils': 32, './Uint8ArrayReader': 21}, | |
], | |
20: [ | |
function (e, t, r) { | |
'use strict'; | |
var n = e('./DataReader'); | |
function i(e) { | |
n.call(this, e); | |
} | |
e('../utils').inherits(i, n), | |
(i.prototype.byteAt = function (e) { | |
return this.data.charCodeAt(this.zero + e); | |
}), | |
(i.prototype.lastIndexOfSignature = function (e) { | |
return this.data.lastIndexOf(e) - this.zero; | |
}), | |
(i.prototype.readAndCheckSignature = function (e) { | |
return e === this.readData(4); | |
}), | |
(i.prototype.readData = function (e) { | |
this.checkOffset(e); | |
var t = this.data.slice( | |
this.zero + this.index, | |
this.zero + this.index + e, | |
); | |
return (this.index += e), t; | |
}), | |
(t.exports = i); | |
}, | |
{'../utils': 32, './DataReader': 18}, | |
], | |
21: [ | |
function (e, t, r) { | |
'use strict'; | |
var n = e('./ArrayReader'); | |
function i(e) { | |
n.call(this, e); | |
} | |
e('../utils').inherits(i, n), | |
(i.prototype.readData = function (e) { | |
if ((this.checkOffset(e), 0 === e)) return new Uint8Array(0); | |
var t = this.data.subarray( | |
this.zero + this.index, | |
this.zero + this.index + e, | |
); | |
return (this.index += e), t; | |
}), | |
(t.exports = i); | |
}, | |
{'../utils': 32, './ArrayReader': 17}, | |
], | |
22: [ | |
function (e, t, r) { | |
'use strict'; | |
var n = e('../utils'), | |
i = e('../support'), | |
s = e('./ArrayReader'), | |
a = e('./StringReader'), | |
o = e('./NodeBufferReader'), | |
h = e('./Uint8ArrayReader'); | |
t.exports = function (e) { | |
var t = n.getTypeOf(e); | |
return ( | |
n.checkSupport(t), | |
'string' !== t || i.uint8array | |
? 'nodebuffer' === t | |
? new o(e) | |
: i.uint8array | |
? new h(n.transformTo('uint8array', e)) | |
: new s(n.transformTo('array', e)) | |
: new a(e) | |
); | |
}; | |
}, | |
{ | |
'../support': 30, | |
'../utils': 32, | |
'./ArrayReader': 17, | |
'./NodeBufferReader': 19, | |
'./StringReader': 20, | |
'./Uint8ArrayReader': 21, | |
}, | |
], | |
23: [ | |
function (e, t, r) { | |
'use strict'; | |
(r.LOCAL_FILE_HEADER = 'PK'), | |
(r.CENTRAL_FILE_HEADER = 'PK'), | |
(r.CENTRAL_DIRECTORY_END = 'PK'), | |
(r.ZIP64_CENTRAL_DIRECTORY_LOCATOR = 'PK'), | |
(r.ZIP64_CENTRAL_DIRECTORY_END = 'PK'), | |
(r.DATA_DESCRIPTOR = 'PK\b'); | |
}, | |
{}, | |
], | |
24: [ | |
function (e, t, r) { | |
'use strict'; | |
var n = e('./GenericWorker'), | |
i = e('../utils'); | |
function s(e) { | |
n.call(this, 'ConvertWorker to ' + e), (this.destType = e); | |
} | |
i.inherits(s, n), | |
(s.prototype.processChunk = function (e) { | |
this.push({ | |
data: i.transformTo(this.destType, e.data), | |
meta: e.meta, | |
}); | |
}), | |
(t.exports = s); | |
}, | |
{'../utils': 32, './GenericWorker': 28}, | |
], | |
25: [ | |
function (e, t, r) { | |
'use strict'; | |
var n = e('./GenericWorker'), | |
i = e('../crc32'); | |
function s() { | |
n.call(this, 'Crc32Probe'), this.withStreamInfo('crc32', 0); | |
} | |
e('../utils').inherits(s, n), | |
(s.prototype.processChunk = function (e) { | |
(this.streamInfo.crc32 = i(e.data, this.streamInfo.crc32 || 0)), | |
this.push(e); | |
}), | |
(t.exports = s); | |
}, | |
{'../crc32': 4, '../utils': 32, './GenericWorker': 28}, | |
], | |
26: [ | |
function (e, t, r) { | |
'use strict'; | |
var n = e('../utils'), | |
i = e('./GenericWorker'); | |
function s(e) { | |
i.call(this, 'DataLengthProbe for ' + e), | |
(this.propName = e), | |
this.withStreamInfo(e, 0); | |
} | |
n.inherits(s, i), | |
(s.prototype.processChunk = function (e) { | |
if (e) { | |
var t = this.streamInfo[this.propName] || 0; | |
this.streamInfo[this.propName] = t + e.data.length; | |
} | |
i.prototype.processChunk.call(this, e); | |
}), | |
(t.exports = s); | |
}, | |
{'../utils': 32, './GenericWorker': 28}, | |
], | |
27: [ | |
function (e, t, r) { | |
'use strict'; | |
var n = e('../utils'), | |
i = e('./GenericWorker'); | |
function s(e) { | |
i.call(this, 'DataWorker'); | |
var t = this; | |
(this.dataIsReady = !1), | |
(this.index = 0), | |
(this.max = 0), | |
(this.data = null), | |
(this.type = ''), | |
(this._tickScheduled = !1), | |
e.then( | |
function (e) { | |
(t.dataIsReady = !0), | |
(t.data = e), | |
(t.max = (e && e.length) || 0), | |
(t.type = n.getTypeOf(e)), | |
t.isPaused || t._tickAndRepeat(); | |
}, | |
function (e) { | |
t.error(e); | |
}, | |
); | |
} | |
n.inherits(s, i), | |
(s.prototype.cleanUp = function () { | |
i.prototype.cleanUp.call(this), (this.data = null); | |
}), | |
(s.prototype.resume = function () { | |
return ( | |
!!i.prototype.resume.call(this) && | |
(!this._tickScheduled && | |
this.dataIsReady && | |
((this._tickScheduled = !0), | |
n.delay(this._tickAndRepeat, [], this)), | |
!0) | |
); | |
}), | |
(s.prototype._tickAndRepeat = function () { | |
(this._tickScheduled = !1), | |
this.isPaused || | |
this.isFinished || | |
(this._tick(), | |
this.isFinished || | |
(n.delay(this._tickAndRepeat, [], this), | |
(this._tickScheduled = !0))); | |
}), | |
(s.prototype._tick = function () { | |
if (this.isPaused || this.isFinished) return !1; | |
var e = null, | |
t = Math.min(this.max, this.index + 16384); | |
if (this.index >= this.max) return this.end(); | |
switch (this.type) { | |
case 'string': | |
e = this.data.substring(this.index, t); | |
break; | |
case 'uint8array': | |
e = this.data.subarray(this.index, t); | |
break; | |
case 'array': | |
case 'nodebuffer': | |
e = this.data.slice(this.index, t); | |
} | |
return ( | |
(this.index = t), | |
this.push({ | |
data: e, | |
meta: {percent: this.max ? (this.index / this.max) * 100 : 0}, | |
}) | |
); | |
}), | |
(t.exports = s); | |
}, | |
{'../utils': 32, './GenericWorker': 28}, | |
], | |
28: [ | |
function (e, t, r) { | |
'use strict'; | |
function n(e) { | |
(this.name = e || 'default'), | |
(this.streamInfo = {}), | |
(this.generatedError = null), | |
(this.extraStreamInfo = {}), | |
(this.isPaused = !0), | |
(this.isFinished = !1), | |
(this.isLocked = !1), | |
(this._listeners = {data: [], end: [], error: []}), | |
(this.previous = null); | |
} | |
(n.prototype = { | |
push: function (e) { | |
this.emit('data', e); | |
}, | |
end: function () { | |
if (this.isFinished) return !1; | |
this.flush(); | |
try { | |
this.emit('end'), this.cleanUp(), (this.isFinished = !0); | |
} catch (e) { | |
this.emit('error', e); | |
} | |
return !0; | |
}, | |
error: function (e) { | |
return ( | |
!this.isFinished && | |
(this.isPaused | |
? (this.generatedError = e) | |
: ((this.isFinished = !0), | |
this.emit('error', e), | |
this.previous && this.previous.error(e), | |
this.cleanUp()), | |
!0) | |
); | |
}, | |
on: function (e, t) { | |
return this._listeners[e].push(t), this; | |
}, | |
cleanUp: function () { | |
(this.streamInfo = | |
this.generatedError = | |
this.extraStreamInfo = | |
null), | |
(this._listeners = []); | |
}, | |
emit: function (e, t) { | |
if (this._listeners[e]) | |
for (var r = 0; r < this._listeners[e].length; r++) | |
this._listeners[e][r].call(this, t); | |
}, | |
pipe: function (e) { | |
return e.registerPrevious(this); | |
}, | |
registerPrevious: function (e) { | |
if (this.isLocked) | |
throw new Error( | |
"The stream '" + this + "' has already been used.", | |
); | |
(this.streamInfo = e.streamInfo), | |
this.mergeStreamInfo(), | |
(this.previous = e); | |
var t = this; | |
return ( | |
e.on('data', function (e) { | |
t.processChunk(e); | |
}), | |
e.on('end', function () { | |
t.end(); | |
}), | |
e.on('error', function (e) { | |
t.error(e); | |
}), | |
this | |
); | |
}, | |
pause: function () { | |
return ( | |
!this.isPaused && | |
!this.isFinished && | |
((this.isPaused = !0), | |
this.previous && this.previous.pause(), | |
!0) | |
); | |
}, | |
resume: function () { | |
if (!this.isPaused || this.isFinished) return !1; | |
var e = (this.isPaused = !1); | |
return ( | |
this.generatedError && | |
(this.error(this.generatedError), (e = !0)), | |
this.previous && this.previous.resume(), | |
!e | |
); | |
}, | |
flush: function () {}, | |
processChunk: function (e) { | |
this.push(e); | |
}, | |
withStreamInfo: function (e, t) { | |
return ( | |
(this.extraStreamInfo[e] = t), this.mergeStreamInfo(), this | |
); | |
}, | |
mergeStreamInfo: function () { | |
for (var e in this.extraStreamInfo) | |
Object.prototype.hasOwnProperty.call(this.extraStreamInfo, e) && | |
(this.streamInfo[e] = this.extraStreamInfo[e]); | |
}, | |
lock: function () { | |
if (this.isLocked) | |
throw new Error( | |
"The stream '" + this + "' has already been used.", | |
); | |
(this.isLocked = !0), this.previous && this.previous.lock(); | |
}, | |
toString: function () { | |
var e = 'Worker ' + this.name; | |
return this.previous ? this.previous + ' -> ' + e : e; | |
}, | |
}), | |
(t.exports = n); | |
}, | |
{}, | |
], | |
29: [ | |
function (e, t, r) { | |
'use strict'; | |
var h = e('../utils'), | |
i = e('./ConvertWorker'), | |
s = e('./GenericWorker'), | |
u = e('../base64'), | |
n = e('../support'), | |
a = e('../external'), | |
o = null; | |
if (n.nodestream) | |
try { | |
o = e('../nodejs/NodejsStreamOutputAdapter'); | |
} catch (e) {} | |
function l(e, o) { | |
return new a.Promise(function (t, r) { | |
var n = [], | |
i = e._internalType, | |
s = e._outputType, | |
a = e._mimeType; | |
e.on('data', function (e, t) { | |
n.push(e), o && o(t); | |
}) | |
.on('error', function (e) { | |
(n = []), r(e); | |
}) | |
.on('end', function () { | |
try { | |
var e = (function (e, t, r) { | |
switch (e) { | |
case 'blob': | |
return h.newBlob(h.transformTo('arraybuffer', t), r); | |
case 'base64': | |
return u.encode(t); | |
default: | |
return h.transformTo(e, t); | |
} | |
})( | |
s, | |
(function (e, t) { | |
var r, | |
n = 0, | |
i = null, | |
s = 0; | |
for (r = 0; r < t.length; r++) s += t[r].length; | |
switch (e) { | |
case 'string': | |
return t.join(''); | |
case 'array': | |
return Array.prototype.concat.apply([], t); | |
case 'uint8array': | |
for ( | |
i = new Uint8Array(s), r = 0; | |
r < t.length; | |
r++ | |
) | |
i.set(t[r], n), (n += t[r].length); | |
return i; | |
case 'nodebuffer': | |
return Buffer.concat(t); | |
default: | |
throw new Error( | |
"concat : unsupported type '" + e + "'", | |
); | |
} | |
})(i, n), | |
a, | |
); | |
t(e); | |
} catch (e) { | |
r(e); | |
} | |
n = []; | |
}) | |
.resume(); | |
}); | |
} | |
function f(e, t, r) { | |
var n = t; | |
switch (t) { | |
case 'blob': | |
case 'arraybuffer': | |
n = 'uint8array'; | |
break; | |
case 'base64': | |
n = 'string'; | |
} | |
try { | |
(this._internalType = n), | |
(this._outputType = t), | |
(this._mimeType = r), | |
h.checkSupport(n), | |
(this._worker = e.pipe(new i(n))), | |
e.lock(); | |
} catch (e) { | |
(this._worker = new s('error')), this._worker.error(e); | |
} | |
} | |
(f.prototype = { | |
accumulate: function (e) { | |
return l(this, e); | |
}, | |
on: function (e, t) { | |
var r = this; | |
return ( | |
'data' === e | |
? this._worker.on(e, function (e) { | |
t.call(r, e.data, e.meta); | |
}) | |
: this._worker.on(e, function () { | |
h.delay(t, arguments, r); | |
}), | |
this | |
); | |
}, | |
resume: function () { | |
return h.delay(this._worker.resume, [], this._worker), this; | |
}, | |
pause: function () { | |
return this._worker.pause(), this; | |
}, | |
toNodejsStream: function (e) { | |
if ( | |
(h.checkSupport('nodestream'), | |
'nodebuffer' !== this._outputType) | |
) | |
throw new Error( | |
this._outputType + ' is not supported by this method', | |
); | |
return new o( | |
this, | |
{objectMode: 'nodebuffer' !== this._outputType}, | |
e, | |
); | |
}, | |
}), | |
(t.exports = f); | |
}, | |
{ | |
'../base64': 1, | |
'../external': 6, | |
'../nodejs/NodejsStreamOutputAdapter': 13, | |
'../support': 30, | |
'../utils': 32, | |
'./ConvertWorker': 24, | |
'./GenericWorker': 28, | |
}, | |
], | |
30: [ | |
function (e, t, r) { | |
'use strict'; | |
if ( | |
((r.base64 = !0), | |
(r.array = !0), | |
(r.string = !0), | |
(r.arraybuffer = | |
'undefined' != typeof ArrayBuffer && | |
'undefined' != typeof Uint8Array), | |
(r.nodebuffer = 'undefined' != typeof Buffer), | |
(r.uint8array = 'undefined' != typeof Uint8Array), | |
'undefined' == typeof ArrayBuffer) | |
) | |
r.blob = !1; | |
else { | |
var n = new ArrayBuffer(0); | |
try { | |
r.blob = 0 === new Blob([n], {type: 'application/zip'}).size; | |
} catch (e) { | |
try { | |
var i = new (self.BlobBuilder || | |
self.WebKitBlobBuilder || | |
self.MozBlobBuilder || | |
self.MSBlobBuilder)(); | |
i.append(n), (r.blob = 0 === i.getBlob('application/zip').size); | |
} catch (e) { | |
r.blob = !1; | |
} | |
} | |
} | |
try { | |
r.nodestream = !!e('readable-stream').Readable; | |
} catch (e) { | |
r.nodestream = !1; | |
} | |
}, | |
{'readable-stream': 16}, | |
], | |
31: [ | |
function (e, t, s) { | |
'use strict'; | |
for ( | |
var o = e('./utils'), | |
h = e('./support'), | |
r = e('./nodejsUtils'), | |
n = e('./stream/GenericWorker'), | |
u = new Array(256), | |
i = 0; | |
i < 256; | |
i++ | |
) | |
u[i] = | |
252 <= i | |
? 6 | |
: 248 <= i | |
? 5 | |
: 240 <= i | |
? 4 | |
: 224 <= i | |
? 3 | |
: 192 <= i | |
? 2 | |
: 1; | |
u[254] = u[254] = 1; | |
function a() { | |
n.call(this, 'utf-8 decode'), (this.leftOver = null); | |
} | |
function l() { | |
n.call(this, 'utf-8 encode'); | |
} | |
(s.utf8encode = function (e) { | |
return h.nodebuffer | |
? r.newBufferFrom(e, 'utf-8') | |
: (function (e) { | |
var t, | |
r, | |
n, | |
i, | |
s, | |
a = e.length, | |
o = 0; | |
for (i = 0; i < a; i++) | |
55296 == (64512 & (r = e.charCodeAt(i))) && | |
i + 1 < a && | |
56320 == (64512 & (n = e.charCodeAt(i + 1))) && | |
((r = 65536 + ((r - 55296) << 10) + (n - 56320)), i++), | |
(o += r < 128 ? 1 : r < 2048 ? 2 : r < 65536 ? 3 : 4); | |
for ( | |
t = h.uint8array ? new Uint8Array(o) : new Array(o), | |
i = s = 0; | |
s < o; | |
i++ | |
) | |
55296 == (64512 & (r = e.charCodeAt(i))) && | |
i + 1 < a && | |
56320 == (64512 & (n = e.charCodeAt(i + 1))) && | |
((r = 65536 + ((r - 55296) << 10) + (n - 56320)), i++), | |
r < 128 | |
? (t[s++] = r) | |
: (r < 2048 | |
? (t[s++] = 192 | (r >>> 6)) | |
: (r < 65536 | |
? (t[s++] = 224 | (r >>> 12)) | |
: ((t[s++] = 240 | (r >>> 18)), | |
(t[s++] = 128 | ((r >>> 12) & 63))), | |
(t[s++] = 128 | ((r >>> 6) & 63))), | |
(t[s++] = 128 | (63 & r))); | |
return t; | |
})(e); | |
}), | |
(s.utf8decode = function (e) { | |
return h.nodebuffer | |
? o.transformTo('nodebuffer', e).toString('utf-8') | |
: (function (e) { | |
var t, | |
r, | |
n, | |
i, | |
s = e.length, | |
a = new Array(2 * s); | |
for (t = r = 0; t < s; ) | |
if ((n = e[t++]) < 128) a[r++] = n; | |
else if (4 < (i = u[n])) (a[r++] = 65533), (t += i - 1); | |
else { | |
for ( | |
n &= 2 === i ? 31 : 3 === i ? 15 : 7; | |
1 < i && t < s; | |
) | |
(n = (n << 6) | (63 & e[t++])), i--; | |
1 < i | |
? (a[r++] = 65533) | |
: n < 65536 | |
? (a[r++] = n) | |
: ((n -= 65536), | |
(a[r++] = 55296 | ((n >> 10) & 1023)), | |
(a[r++] = 56320 | (1023 & n))); | |
} | |
return ( | |
a.length !== r && | |
(a.subarray ? (a = a.subarray(0, r)) : (a.length = r)), | |
o.applyFromCharCode(a) | |
); | |
})( | |
(e = o.transformTo( | |
h.uint8array ? 'uint8array' : 'array', | |
e, | |
)), | |
); | |
}), | |
o.inherits(a, n), | |
(a.prototype.processChunk = function (e) { | |
var t = o.transformTo( | |
h.uint8array ? 'uint8array' : 'array', | |
e.data, | |
); | |
if (this.leftOver && this.leftOver.length) { | |
if (h.uint8array) { | |
var r = t; | |
(t = new Uint8Array(r.length + this.leftOver.length)).set( | |
this.leftOver, | |
0, | |
), | |
t.set(r, this.leftOver.length); | |
} else t = this.leftOver.concat(t); | |
this.leftOver = null; | |
} | |
var n = (function (e, t) { | |
var r; | |
for ( | |
(t = t || e.length) > e.length && (t = e.length), r = t - 1; | |
0 <= r && 128 == (192 & e[r]); | |
) | |
r--; | |
return r < 0 ? t : 0 === r ? t : r + u[e[r]] > t ? r : t; | |
})(t), | |
i = t; | |
n !== t.length && | |
(h.uint8array | |
? ((i = t.subarray(0, n)), | |
(this.leftOver = t.subarray(n, t.length))) | |
: ((i = t.slice(0, n)), | |
(this.leftOver = t.slice(n, t.length)))), | |
this.push({data: s.utf8decode(i), meta: e.meta}); | |
}), | |
(a.prototype.flush = function () { | |
this.leftOver && | |
this.leftOver.length && | |
(this.push({data: s.utf8decode(this.leftOver), meta: {}}), | |
(this.leftOver = null)); | |
}), | |
(s.Utf8DecodeWorker = a), | |
o.inherits(l, n), | |
(l.prototype.processChunk = function (e) { | |
this.push({data: s.utf8encode(e.data), meta: e.meta}); | |
}), | |
(s.Utf8EncodeWorker = l); | |
}, | |
{ | |
'./nodejsUtils': 14, | |
'./stream/GenericWorker': 28, | |
'./support': 30, | |
'./utils': 32, | |
}, | |
], | |
32: [ | |
function (e, t, a) { | |
'use strict'; | |
var o = e('./support'), | |
h = e('./base64'), | |
r = e('./nodejsUtils'), | |
u = e('./external'); | |
function n(e) { | |
return e; | |
} | |
function l(e, t) { | |
for (var r = 0; r < e.length; ++r) t[r] = 255 & e.charCodeAt(r); | |
return t; | |
} | |
e('setimmediate'), | |
(a.newBlob = function (t, r) { | |
a.checkSupport('blob'); | |
try { | |
return new Blob([t], {type: r}); | |
} catch (e) { | |
try { | |
var n = new (self.BlobBuilder || | |
self.WebKitBlobBuilder || | |
self.MozBlobBuilder || | |
self.MSBlobBuilder)(); | |
return n.append(t), n.getBlob(r); | |
} catch (e) { | |
throw new Error("Bug : can't construct the Blob."); | |
} | |
} | |
}); | |
var i = { | |
stringifyByChunk: function (e, t, r) { | |
var n = [], | |
i = 0, | |
s = e.length; | |
if (s <= r) return String.fromCharCode.apply(null, e); | |
for (; i < s; ) | |
'array' === t || 'nodebuffer' === t | |
? n.push( | |
String.fromCharCode.apply( | |
null, | |
e.slice(i, Math.min(i + r, s)), | |
), | |
) | |
: n.push( | |
String.fromCharCode.apply( | |
null, | |
e.subarray(i, Math.min(i + r, s)), | |
), | |
), | |
(i += r); | |
return n.join(''); | |
}, | |
stringifyByChar: function (e) { | |
for (var t = '', r = 0; r < e.length; r++) | |
t += String.fromCharCode(e[r]); | |
return t; | |
}, | |
applyCanBeUsed: { | |
uint8array: (function () { | |
try { | |
return ( | |
o.uint8array && | |
1 === | |
String.fromCharCode.apply(null, new Uint8Array(1)).length | |
); | |
} catch (e) { | |
return !1; | |
} | |
})(), | |
nodebuffer: (function () { | |
try { | |
return ( | |
o.nodebuffer && | |
1 === | |
String.fromCharCode.apply(null, r.allocBuffer(1)).length | |
); | |
} catch (e) { | |
return !1; | |
} | |
})(), | |
}, | |
}; | |
function s(e) { | |
var t = 65536, | |
r = a.getTypeOf(e), | |
n = !0; | |
if ( | |
('uint8array' === r | |
? (n = i.applyCanBeUsed.uint8array) | |
: 'nodebuffer' === r && (n = i.applyCanBeUsed.nodebuffer), | |
n) | |
) | |
for (; 1 < t; ) | |
try { | |
return i.stringifyByChunk(e, r, t); | |
} catch (e) { | |
t = Math.floor(t / 2); | |
} | |
return i.stringifyByChar(e); | |
} | |
function f(e, t) { | |
for (var r = 0; r < e.length; r++) t[r] = e[r]; | |
return t; | |
} | |
a.applyFromCharCode = s; | |
var c = {}; | |
(c.string = { | |
string: n, | |
array: function (e) { | |
return l(e, new Array(e.length)); | |
}, | |
arraybuffer: function (e) { | |
return c.string.uint8array(e).buffer; | |
}, | |
uint8array: function (e) { | |
return l(e, new Uint8Array(e.length)); | |
}, | |
nodebuffer: function (e) { | |
return l(e, r.allocBuffer(e.length)); | |
}, | |
}), | |
(c.array = { | |
string: s, | |
array: n, | |
arraybuffer: function (e) { | |
return new Uint8Array(e).buffer; | |
}, | |
uint8array: function (e) { | |
return new Uint8Array(e); | |
}, | |
nodebuffer: function (e) { | |
return r.newBufferFrom(e); | |
}, | |
}), | |
(c.arraybuffer = { | |
string: function (e) { | |
return s(new Uint8Array(e)); | |
}, | |
array: function (e) { | |
return f(new Uint8Array(e), new Array(e.byteLength)); | |
}, | |
arraybuffer: n, | |
uint8array: function (e) { | |
return new Uint8Array(e); | |
}, | |
nodebuffer: function (e) { | |
return r.newBufferFrom(new Uint8Array(e)); | |
}, | |
}), | |
(c.uint8array = { | |
string: s, | |
array: function (e) { | |
return f(e, new Array(e.length)); | |
}, | |
arraybuffer: function (e) { | |
return e.buffer; | |
}, | |
uint8array: n, | |
nodebuffer: function (e) { | |
return r.newBufferFrom(e); | |
}, | |
}), | |
(c.nodebuffer = { | |
string: s, | |
array: function (e) { | |
return f(e, new Array(e.length)); | |
}, | |
arraybuffer: function (e) { | |
return c.nodebuffer.uint8array(e).buffer; | |
}, | |
uint8array: function (e) { | |
return f(e, new Uint8Array(e.length)); | |
}, | |
nodebuffer: n, | |
}), | |
(a.transformTo = function (e, t) { | |
if (((t = t || ''), !e)) return t; | |
a.checkSupport(e); | |
var r = a.getTypeOf(t); | |
return c[r][e](t); | |
}), | |
(a.resolve = function (e) { | |
for (var t = e.split('/'), r = [], n = 0; n < t.length; n++) { | |
var i = t[n]; | |
'.' === i || | |
('' === i && 0 !== n && n !== t.length - 1) || | |
('..' === i ? r.pop() : r.push(i)); | |
} | |
return r.join('/'); | |
}), | |
(a.getTypeOf = function (e) { | |
return 'string' == typeof e | |
? 'string' | |
: '[object Array]' === Object.prototype.toString.call(e) | |
? 'array' | |
: o.nodebuffer && r.isBuffer(e) | |
? 'nodebuffer' | |
: o.uint8array && e instanceof Uint8Array | |
? 'uint8array' | |
: o.arraybuffer && e instanceof ArrayBuffer | |
? 'arraybuffer' | |
: void 0; | |
}), | |
(a.checkSupport = function (e) { | |
if (!o[e.toLowerCase()]) | |
throw new Error(e + ' is not supported by this platform'); | |
}), | |
(a.MAX_VALUE_16BITS = 65535), | |
(a.MAX_VALUE_32BITS = -1), | |
(a.pretty = function (e) { | |
var t, | |
r, | |
n = ''; | |
for (r = 0; r < (e || '').length; r++) | |
n += | |
'\\x' + | |
((t = e.charCodeAt(r)) < 16 ? '0' : '') + | |
t.toString(16).toUpperCase(); | |
return n; | |
}), | |
(a.delay = function (e, t, r) { | |
setImmediate(function () { | |
e.apply(r || null, t || []); | |
}); | |
}), | |
(a.inherits = function (e, t) { | |
function r() {} | |
(r.prototype = t.prototype), (e.prototype = new r()); | |
}), | |
(a.extend = function () { | |
var e, | |
t, | |
r = {}; | |
for (e = 0; e < arguments.length; e++) | |
for (t in arguments[e]) | |
Object.prototype.hasOwnProperty.call(arguments[e], t) && | |
void 0 === r[t] && | |
(r[t] = arguments[e][t]); | |
return r; | |
}), | |
(a.prepareContent = function (r, e, n, i, s) { | |
return u.Promise.resolve(e) | |
.then(function (n) { | |
return o.blob && | |
(n instanceof Blob || | |
-1 !== | |
['[object File]', '[object Blob]'].indexOf( | |
Object.prototype.toString.call(n), | |
)) && | |
'undefined' != typeof FileReader | |
? new u.Promise(function (t, r) { | |
var e = new FileReader(); | |
(e.onload = function (e) { | |
t(e.target.result); | |
}), | |
(e.onerror = function (e) { | |
r(e.target.error); | |
}), | |
e.readAsArrayBuffer(n); | |
}) | |
: n; | |
}) | |
.then(function (e) { | |
var t = a.getTypeOf(e); | |
return t | |
? ('arraybuffer' === t | |
? (e = a.transformTo('uint8array', e)) | |
: 'string' === t && | |
(s | |
? (e = h.decode(e)) | |
: n && | |
!0 !== i && | |
(e = (function (e) { | |
return l( | |
e, | |
o.uint8array | |
? new Uint8Array(e.length) | |
: new Array(e.length), | |
); | |
})(e))), | |
e) | |
: u.Promise.reject( | |
new Error( | |
"Can't read the data of '" + | |
r + | |
"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?", | |
), | |
); | |
}); | |
}); | |
}, | |
{ | |
'./base64': 1, | |
'./external': 6, | |
'./nodejsUtils': 14, | |
'./support': 30, | |
setimmediate: 54, | |
}, | |
], | |
33: [ | |
function (e, t, r) { | |
'use strict'; | |
var n = e('./reader/readerFor'), | |
i = e('./utils'), | |
s = e('./signature'), | |
a = e('./zipEntry'), | |
o = e('./support'); | |
function h(e) { | |
(this.files = []), (this.loadOptions = e); | |
} | |
(h.prototype = { | |
checkSignature: function (e) { | |
if (!this.reader.readAndCheckSignature(e)) { | |
this.reader.index -= 4; | |
var t = this.reader.readString(4); | |
throw new Error( | |
'Corrupted zip or bug: unexpected signature (' + | |
i.pretty(t) + | |
', expected ' + | |
i.pretty(e) + | |
')', | |
); | |
} | |
}, | |
isSignature: function (e, t) { | |
var r = this.reader.index; | |
this.reader.setIndex(e); | |
var n = this.reader.readString(4) === t; | |
return this.reader.setIndex(r), n; | |
}, | |
readBlockEndOfCentral: function () { | |
(this.diskNumber = this.reader.readInt(2)), | |
(this.diskWithCentralDirStart = this.reader.readInt(2)), | |
(this.centralDirRecordsOnThisDisk = this.reader.readInt(2)), | |
(this.centralDirRecords = this.reader.readInt(2)), | |
(this.centralDirSize = this.reader.readInt(4)), | |
(this.centralDirOffset = this.reader.readInt(4)), | |
(this.zipCommentLength = this.reader.readInt(2)); | |
var e = this.reader.readData(this.zipCommentLength), | |
t = o.uint8array ? 'uint8array' : 'array', | |
r = i.transformTo(t, e); | |
this.zipComment = this.loadOptions.decodeFileName(r); | |
}, | |
readBlockZip64EndOfCentral: function () { | |
(this.zip64EndOfCentralSize = this.reader.readInt(8)), | |
this.reader.skip(4), | |
(this.diskNumber = this.reader.readInt(4)), | |
(this.diskWithCentralDirStart = this.reader.readInt(4)), | |
(this.centralDirRecordsOnThisDisk = this.reader.readInt(8)), | |
(this.centralDirRecords = this.reader.readInt(8)), | |
(this.centralDirSize = this.reader.readInt(8)), | |
(this.centralDirOffset = this.reader.readInt(8)), | |
(this.zip64ExtensibleData = {}); | |
for (var e, t, r, n = this.zip64EndOfCentralSize - 44; 0 < n; ) | |
(e = this.reader.readInt(2)), | |
(t = this.reader.readInt(4)), | |
(r = this.reader.readData(t)), | |
(this.zip64ExtensibleData[e] = {id: e, length: t, value: r}); | |
}, | |
readBlockZip64EndOfCentralLocator: function () { | |
if ( | |
((this.diskWithZip64CentralDirStart = this.reader.readInt(4)), | |
(this.relativeOffsetEndOfZip64CentralDir = | |
this.reader.readInt(8)), | |
(this.disksCount = this.reader.readInt(4)), | |
1 < this.disksCount) | |
) | |
throw new Error('Multi-volumes zip are not supported'); | |
}, | |
readLocalFiles: function () { | |
var e, t; | |
for (e = 0; e < this.files.length; e++) | |
(t = this.files[e]), | |
this.reader.setIndex(t.localHeaderOffset), | |
this.checkSignature(s.LOCAL_FILE_HEADER), | |
t.readLocalPart(this.reader), | |
t.handleUTF8(), | |
t.processAttributes(); | |
}, | |
readCentralDir: function () { | |
var e; | |
for ( | |
this.reader.setIndex(this.centralDirOffset); | |
this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER); | |
) | |
(e = new a( | |
{zip64: this.zip64}, | |
this.loadOptions, | |
)).readCentralPart(this.reader), | |
this.files.push(e); | |
if ( | |
this.centralDirRecords !== this.files.length && | |
0 !== this.centralDirRecords && | |
0 === this.files.length | |
) | |
throw new Error( | |
'Corrupted zip or bug: expected ' + | |
this.centralDirRecords + | |
' records in central dir, got ' + | |
this.files.length, | |
); | |
}, | |
readEndOfCentral: function () { | |
var e = this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END); | |
if (e < 0) | |
throw !this.isSignature(0, s.LOCAL_FILE_HEADER) | |
? new Error( | |
"Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html", | |
) | |
: new Error( | |
"Corrupted zip: can't find end of central directory", | |
); | |
this.reader.setIndex(e); | |
var t = e; | |
if ( | |
(this.checkSignature(s.CENTRAL_DIRECTORY_END), | |
this.readBlockEndOfCentral(), | |
this.diskNumber === i.MAX_VALUE_16BITS || | |
this.diskWithCentralDirStart === i.MAX_VALUE_16BITS || | |
this.centralDirRecordsOnThisDisk === i.MAX_VALUE_16BITS || | |
this.centralDirRecords === i.MAX_VALUE_16BITS || | |
this.centralDirSize === i.MAX_VALUE_32BITS || | |
this.centralDirOffset === i.MAX_VALUE_32BITS) | |
) { | |
if ( | |
((this.zip64 = !0), | |
(e = this.reader.lastIndexOfSignature( | |
s.ZIP64_CENTRAL_DIRECTORY_LOCATOR, | |
)) < 0) | |
) | |
throw new Error( | |
"Corrupted zip: can't find the ZIP64 end of central directory locator", | |
); | |
if ( | |
(this.reader.setIndex(e), | |
this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR), | |
this.readBlockZip64EndOfCentralLocator(), | |
!this.isSignature( | |
this.relativeOffsetEndOfZip64CentralDir, | |
s.ZIP64_CENTRAL_DIRECTORY_END, | |
) && | |
((this.relativeOffsetEndOfZip64CentralDir = | |
this.reader.lastIndexOfSignature( | |
s.ZIP64_CENTRAL_DIRECTORY_END, | |
)), | |
this.relativeOffsetEndOfZip64CentralDir < 0)) | |
) | |
throw new Error( | |
"Corrupted zip: can't find the ZIP64 end of central directory", | |
); | |
this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir), | |
this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END), | |
this.readBlockZip64EndOfCentral(); | |
} | |
var r = this.centralDirOffset + this.centralDirSize; | |
this.zip64 && ((r += 20), (r += 12 + this.zip64EndOfCentralSize)); | |
var n = t - r; | |
if (0 < n) | |
this.isSignature(t, s.CENTRAL_FILE_HEADER) || | |
(this.reader.zero = n); | |
else if (n < 0) | |
throw new Error( | |
'Corrupted zip: missing ' + Math.abs(n) + ' bytes.', | |
); | |
}, | |
prepareReader: function (e) { | |
this.reader = n(e); | |
}, | |
load: function (e) { | |
this.prepareReader(e), | |
this.readEndOfCentral(), | |
this.readCentralDir(), | |
this.readLocalFiles(); | |
}, | |
}), | |
(t.exports = h); | |
}, | |
{ | |
'./reader/readerFor': 22, | |
'./signature': 23, | |
'./support': 30, | |
'./utils': 32, | |
'./zipEntry': 34, | |
}, | |
], | |
34: [ | |
function (e, t, r) { | |
'use strict'; | |
var n = e('./reader/readerFor'), | |
s = e('./utils'), | |
i = e('./compressedObject'), | |
a = e('./crc32'), | |
o = e('./utf8'), | |
h = e('./compressions'), | |
u = e('./support'); | |
function l(e, t) { | |
(this.options = e), (this.loadOptions = t); | |
} | |
(l.prototype = { | |
isEncrypted: function () { | |
return 1 == (1 & this.bitFlag); | |
}, | |
useUTF8: function () { | |
return 2048 == (2048 & this.bitFlag); | |
}, | |
readLocalPart: function (e) { | |
var t, r; | |
if ( | |
(e.skip(22), | |
(this.fileNameLength = e.readInt(2)), | |
(r = e.readInt(2)), | |
(this.fileName = e.readData(this.fileNameLength)), | |
e.skip(r), | |
-1 === this.compressedSize || -1 === this.uncompressedSize) | |
) | |
throw new Error( | |
"Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)", | |
); | |
if ( | |
null === | |
(t = (function (e) { | |
for (var t in h) | |
if ( | |
Object.prototype.hasOwnProperty.call(h, t) && | |
h[t].magic === e | |
) | |
return h[t]; | |
return null; | |
})(this.compressionMethod)) | |
) | |
throw new Error( | |
'Corrupted zip : compression ' + | |
s.pretty(this.compressionMethod) + | |
' unknown (inner file : ' + | |
s.transformTo('string', this.fileName) + | |
')', | |
); | |
this.decompressed = new i( | |
this.compressedSize, | |
this.uncompressedSize, | |
this.crc32, | |
t, | |
e.readData(this.compressedSize), | |
); | |
}, | |
readCentralPart: function (e) { | |
(this.versionMadeBy = e.readInt(2)), | |
e.skip(2), | |
(this.bitFlag = e.readInt(2)), | |
(this.compressionMethod = e.readString(2)), | |
(this.date = e.readDate()), | |
(this.crc32 = e.readInt(4)), | |
(this.compressedSize = e.readInt(4)), | |
(this.uncompressedSize = e.readInt(4)); | |
var t = e.readInt(2); | |
if ( | |
((this.extraFieldsLength = e.readInt(2)), | |
(this.fileCommentLength = e.readInt(2)), | |
(this.diskNumberStart = e.readInt(2)), | |
(this.internalFileAttributes = e.readInt(2)), | |
(this.externalFileAttributes = e.readInt(4)), | |
(this.localHeaderOffset = e.readInt(4)), | |
this.isEncrypted()) | |
) | |
throw new Error('Encrypted zip are not supported'); | |
e.skip(t), | |
this.readExtraFields(e), | |
this.parseZIP64ExtraField(e), | |
(this.fileComment = e.readData(this.fileCommentLength)); | |
}, | |
processAttributes: function () { | |
(this.unixPermissions = null), (this.dosPermissions = null); | |
var e = this.versionMadeBy >> 8; | |
(this.dir = !!(16 & this.externalFileAttributes)), | |
0 == e && | |
(this.dosPermissions = 63 & this.externalFileAttributes), | |
3 == e && | |
(this.unixPermissions = | |
(this.externalFileAttributes >> 16) & 65535), | |
this.dir || | |
'/' !== this.fileNameStr.slice(-1) || | |
(this.dir = !0); | |
}, | |
parseZIP64ExtraField: function () { | |
if (this.extraFields[1]) { | |
var e = n(this.extraFields[1].value); | |
this.uncompressedSize === s.MAX_VALUE_32BITS && | |
(this.uncompressedSize = e.readInt(8)), | |
this.compressedSize === s.MAX_VALUE_32BITS && | |
(this.compressedSize = e.readInt(8)), | |
this.localHeaderOffset === s.MAX_VALUE_32BITS && | |
(this.localHeaderOffset = e.readInt(8)), | |
this.diskNumberStart === s.MAX_VALUE_32BITS && | |
(this.diskNumberStart = e.readInt(4)); | |
} | |
}, | |
readExtraFields: function (e) { | |
var t, | |
r, | |
n, | |
i = e.index + this.extraFieldsLength; | |
for ( | |
this.extraFields || (this.extraFields = {}); | |
e.index + 4 < i; | |
) | |
(t = e.readInt(2)), | |
(r = e.readInt(2)), | |
(n = e.readData(r)), | |
(this.extraFields[t] = {id: t, length: r, value: n}); | |
e.setIndex(i); | |
}, | |
handleUTF8: function () { | |
var e = u.uint8array ? 'uint8array' : 'array'; | |
if (this.useUTF8()) | |
(this.fileNameStr = o.utf8decode(this.fileName)), | |
(this.fileCommentStr = o.utf8decode(this.fileComment)); | |
else { | |
var t = this.findExtraFieldUnicodePath(); | |
if (null !== t) this.fileNameStr = t; | |
else { | |
var r = s.transformTo(e, this.fileName); | |
this.fileNameStr = this.loadOptions.decodeFileName(r); | |
} | |
var n = this.findExtraFieldUnicodeComment(); | |
if (null !== n) this.fileCommentStr = n; | |
else { | |
var i = s.transformTo(e, this.fileComment); | |
this.fileCommentStr = this.loadOptions.decodeFileName(i); | |
} | |
} | |
}, | |
findExtraFieldUnicodePath: function () { | |
var e = this.extraFields[28789]; | |
if (e) { | |
var t = n(e.value); | |
return 1 !== t.readInt(1) | |
? null | |
: a(this.fileName) !== t.readInt(4) | |
? null | |
: o.utf8decode(t.readData(e.length - 5)); | |
} | |
return null; | |
}, | |
findExtraFieldUnicodeComment: function () { | |
var e = this.extraFields[25461]; | |
if (e) { | |
var t = n(e.value); | |
return 1 !== t.readInt(1) | |
? null | |
: a(this.fileComment) !== t.readInt(4) | |
? null | |
: o.utf8decode(t.readData(e.length - 5)); | |
} | |
return null; | |
}, | |
}), | |
(t.exports = l); | |
}, | |
{ | |
'./compressedObject': 2, | |
'./compressions': 3, | |
'./crc32': 4, | |
'./reader/readerFor': 22, | |
'./support': 30, | |
'./utf8': 31, | |
'./utils': 32, | |
}, | |
], | |
35: [ | |
function (e, t, r) { | |
'use strict'; | |
function n(e, t, r) { | |
(this.name = e), | |
(this.dir = r.dir), | |
(this.date = r.date), | |
(this.comment = r.comment), | |
(this.unixPermissions = r.unixPermissions), | |
(this.dosPermissions = r.dosPermissions), | |
(this._data = t), | |
(this._dataBinary = r.binary), | |
(this.options = { | |
compression: r.compression, | |
compressionOptions: r.compressionOptions, | |
}); | |
} | |
var s = e('./stream/StreamHelper'), | |
i = e('./stream/DataWorker'), | |
a = e('./utf8'), | |
o = e('./compressedObject'), | |
h = e('./stream/GenericWorker'); | |
n.prototype = { | |
internalStream: function (e) { | |
var t = null, | |
r = 'string'; | |
try { | |
if (!e) throw new Error('No output type specified.'); | |
var n = 'string' === (r = e.toLowerCase()) || 'text' === r; | |
('binarystring' !== r && 'text' !== r) || (r = 'string'), | |
(t = this._decompressWorker()); | |
var i = !this._dataBinary; | |
i && !n && (t = t.pipe(new a.Utf8EncodeWorker())), | |
!i && n && (t = t.pipe(new a.Utf8DecodeWorker())); | |
} catch (e) { | |
(t = new h('error')).error(e); | |
} | |
return new s(t, r, ''); | |
}, | |
async: function (e, t) { | |
return this.internalStream(e).accumulate(t); | |
}, | |
nodeStream: function (e, t) { | |
return this.internalStream(e || 'nodebuffer').toNodejsStream(t); | |
}, | |
_compressWorker: function (e, t) { | |
if ( | |
this._data instanceof o && | |
this._data.compression.magic === e.magic | |
) | |
return this._data.getCompressedWorker(); | |
var r = this._decompressWorker(); | |
return ( | |
this._dataBinary || (r = r.pipe(new a.Utf8EncodeWorker())), | |
o.createWorkerFrom(r, e, t) | |
); | |
}, | |
_decompressWorker: function () { | |
return this._data instanceof o | |
? this._data.getContentWorker() | |
: this._data instanceof h | |
? this._data | |
: new i(this._data); | |
}, | |
}; | |
for ( | |
var u = [ | |
'asText', | |
'asBinary', | |
'asNodeBuffer', | |
'asUint8Array', | |
'asArrayBuffer', | |
], | |
l = function () { | |
throw new Error( | |
'This method has been removed in JSZip 3.0, please check the upgrade guide.', | |
); | |
}, | |
f = 0; | |
f < u.length; | |
f++ | |
) | |
n.prototype[u[f]] = l; | |
t.exports = n; | |
}, | |
{ | |
'./compressedObject': 2, | |
'./stream/DataWorker': 27, | |
'./stream/GenericWorker': 28, | |
'./stream/StreamHelper': 29, | |
'./utf8': 31, | |
}, | |
], | |
36: [ | |
function (e, l, t) { | |
(function (t) { | |
'use strict'; | |
var r, | |
n, | |
e = t.MutationObserver || t.WebKitMutationObserver; | |
if (e) { | |
var i = 0, | |
s = new e(u), | |
a = t.document.createTextNode(''); | |
s.observe(a, {characterData: !0}), | |
(r = function () { | |
a.data = i = ++i % 2; | |
}); | |
} else if (t.setImmediate || void 0 === t.MessageChannel) | |
r = | |
'document' in t && | |
'onreadystatechange' in t.document.createElement('script') | |
? function () { | |
var e = t.document.createElement('script'); | |
(e.onreadystatechange = function () { | |
u(), | |
(e.onreadystatechange = null), | |
e.parentNode.removeChild(e), | |
(e = null); | |
}), | |
t.document.documentElement.appendChild(e); | |
} | |
: function () { | |
setTimeout(u, 0); | |
}; | |
else { | |
var o = new t.MessageChannel(); | |
(o.port1.onmessage = u), | |
(r = function () { | |
o.port2.postMessage(0); | |
}); | |
} | |
var h = []; | |
function u() { | |
var e, t; | |
n = !0; | |
for (var r = h.length; r; ) { | |
for (t = h, h = [], e = -1; ++e < r; ) t[e](); | |
r = h.length; | |
} | |
n = !1; | |
} | |
l.exports = function (e) { | |
1 !== h.push(e) || n || r(); | |
}; | |
}.call( | |
this, | |
'undefined' != typeof global | |
? global | |
: 'undefined' != typeof self | |
? self | |
: 'undefined' != typeof window | |
? window | |
: {}, | |
)); | |
}, | |
{}, | |
], | |
37: [ | |
function (e, t, r) { | |
'use strict'; | |
var i = e('immediate'); | |
function u() {} | |
var l = {}, | |
s = ['REJECTED'], | |
a = ['FULFILLED'], | |
n = ['PENDING']; | |
function o(e) { | |
if ('function' != typeof e) | |
throw new TypeError('resolver must be a function'); | |
(this.state = n), | |
(this.queue = []), | |
(this.outcome = void 0), | |
e !== u && d(this, e); | |
} | |
function h(e, t, r) { | |
(this.promise = e), | |
'function' == typeof t && | |
((this.onFulfilled = t), | |
(this.callFulfilled = this.otherCallFulfilled)), | |
'function' == typeof r && | |
((this.onRejected = r), | |
(this.callRejected = this.otherCallRejected)); | |
} | |
function f(t, r, n) { | |
i(function () { | |
var e; | |
try { | |
e = r(n); | |
} catch (e) { | |
return l.reject(t, e); | |
} | |
e === t | |
? l.reject( | |
t, | |
new TypeError('Cannot resolve promise with itself'), | |
) | |
: l.resolve(t, e); | |
}); | |
} | |
function c(e) { | |
var t = e && e.then; | |
if ( | |
e && | |
('object' == typeof e || 'function' == typeof e) && | |
'function' == typeof t | |
) | |
return function () { | |
t.apply(e, arguments); | |
}; | |
} | |
function d(t, e) { | |
var r = !1; | |
function n(e) { | |
r || ((r = !0), l.reject(t, e)); | |
} | |
function i(e) { | |
r || ((r = !0), l.resolve(t, e)); | |
} | |
var s = p(function () { | |
e(i, n); | |
}); | |
'error' === s.status && n(s.value); | |
} | |
function p(e, t) { | |
var r = {}; | |
try { | |
(r.value = e(t)), (r.status = 'success'); | |
} catch (e) { | |
(r.status = 'error'), (r.value = e); | |
} | |
return r; | |
} | |
((t.exports = o).prototype.finally = function (t) { | |
if ('function' != typeof t) return this; | |
var r = this.constructor; | |
return this.then( | |
function (e) { | |
return r.resolve(t()).then(function () { | |
return e; | |
}); | |
}, | |
function (e) { | |
return r.resolve(t()).then(function () { | |
throw e; | |
}); | |
}, | |
); | |
}), | |
(o.prototype.catch = function (e) { | |
return this.then(null, e); | |
}), | |
(o.prototype.then = function (e, t) { | |
if ( | |
('function' != typeof e && this.state === a) || | |
('function' != typeof t && this.state === s) | |
) | |
return this; | |
var r = new this.constructor(u); | |
this.state !== n | |
? f(r, this.state === a ? e : t, this.outcome) | |
: this.queue.push(new h(r, e, t)); | |
return r; | |
}), | |
(h.prototype.callFulfilled = function (e) { | |
l.resolve(this.promise, e); | |
}), | |
(h.prototype.otherCallFulfilled = function (e) { | |
f(this.promise, this.onFulfilled, e); | |
}), | |
(h.prototype.callRejected = function (e) { | |
l.reject(this.promise, e); | |
}), | |
(h.prototype.otherCallRejected = function (e) { | |
f(this.promise, this.onRejected, e); | |
}), | |
(l.resolve = function (e, t) { | |
var r = p(c, t); | |
if ('error' === r.status) return l.reject(e, r.value); | |
var n = r.value; | |
if (n) d(e, n); | |
else { | |
(e.state = a), (e.outcome = t); | |
for (var i = -1, s = e.queue.length; ++i < s; ) | |
e.queue[i].callFulfilled(t); | |
} | |
return e; | |
}), | |
(l.reject = function (e, t) { | |
(e.state = s), (e.outcome = t); | |
for (var r = -1, n = e.queue.length; ++r < n; ) | |
e.queue[r].callRejected(t); | |
return e; | |
}), | |
(o.resolve = function (e) { | |
if (e instanceof this) return e; | |
return l.resolve(new this(u), e); | |
}), | |
(o.reject = function (e) { | |
var t = new this(u); | |
return l.reject(t, e); | |
}), | |
(o.all = function (e) { | |
var r = this; | |
if ('[object Array]' !== Object.prototype.toString.call(e)) | |
return this.reject(new TypeError('must be an array')); | |
var n = e.length, | |
i = !1; | |
if (!n) return this.resolve([]); | |
var s = new Array(n), | |
a = 0, | |
t = -1, | |
o = new this(u); | |
for (; ++t < n; ) h(e[t], t); | |
return o; | |
function h(e, t) { | |
r.resolve(e).then( | |
function (e) { | |
(s[t] = e), ++a !== n || i || ((i = !0), l.resolve(o, s)); | |
}, | |
function (e) { | |
i || ((i = !0), l.reject(o, e)); | |
}, | |
); | |
} | |
}), | |
(o.race = function (e) { | |
var t = this; | |
if ('[object Array]' !== Object.prototype.toString.call(e)) | |
return this.reject(new TypeError('must be an array')); | |
var r = e.length, | |
n = !1; | |
if (!r) return this.resolve([]); | |
var i = -1, | |
s = new this(u); | |
for (; ++i < r; ) | |
(a = e[i]), | |
t.resolve(a).then( | |
function (e) { | |
n || ((n = !0), l.resolve(s, e)); | |
}, | |
function (e) { | |
n || ((n = !0), l.reject(s, e)); | |
}, | |
); | |
var a; | |
return s; | |
}); | |
}, | |
{immediate: 36}, | |
], | |
38: [ | |
function (e, t, r) { | |
'use strict'; | |
var n = {}; | |
(0, e('./lib/utils/common').assign)( | |
n, | |
e('./lib/deflate'), | |
e('./lib/inflate'), | |
e('./lib/zlib/constants'), | |
), | |
(t.exports = n); | |
}, | |
{ | |
'./lib/deflate': 39, | |
'./lib/inflate': 40, | |
'./lib/utils/common': 41, | |
'./lib/zlib/constants': 44, | |
}, | |
], | |
39: [ | |
function (e, t, r) { | |
'use strict'; | |
var a = e('./zlib/deflate'), | |
o = e('./utils/common'), | |
h = e('./utils/strings'), | |
i = e('./zlib/messages'), | |
s = e('./zlib/zstream'), | |
u = Object.prototype.toString, | |
l = 0, | |
f = -1, | |
c = 0, | |
d = 8; | |
function p(e) { | |
if (!(this instanceof p)) return new p(e); | |
this.options = o.assign( | |
{ | |
level: f, | |
method: d, | |
chunkSize: 16384, | |
windowBits: 15, | |
memLevel: 8, | |
strategy: c, | |
to: '', | |
}, | |
e || {}, | |
); | |
var t = this.options; | |
t.raw && 0 < t.windowBits | |
? (t.windowBits = -t.windowBits) | |
: t.gzip && | |
0 < t.windowBits && | |
t.windowBits < 16 && | |
(t.windowBits += 16), | |
(this.err = 0), | |
(this.msg = ''), | |
(this.ended = !1), | |
(this.chunks = []), | |
(this.strm = new s()), | |
(this.strm.avail_out = 0); | |
var r = a.deflateInit2( | |
this.strm, | |
t.level, | |
t.method, | |
t.windowBits, | |
t.memLevel, | |
t.strategy, | |
); | |
if (r !== l) throw new Error(i[r]); | |
if ( | |
(t.header && a.deflateSetHeader(this.strm, t.header), | |
t.dictionary) | |
) { | |
var n; | |
if ( | |
((n = | |
'string' == typeof t.dictionary | |
? h.string2buf(t.dictionary) | |
: '[object ArrayBuffer]' === u.call(t.dictionary) | |
? new Uint8Array(t.dictionary) | |
: t.dictionary), | |
(r = a.deflateSetDictionary(this.strm, n)) !== l) | |
) | |
throw new Error(i[r]); | |
this._dict_set = !0; | |
} | |
} | |
function n(e, t) { | |
var r = new p(t); | |
if ((r.push(e, !0), r.err)) throw r.msg || i[r.err]; | |
return r.result; | |
} | |
(p.prototype.push = function (e, t) { | |
var r, | |
n, | |
i = this.strm, | |
s = this.options.chunkSize; | |
if (this.ended) return !1; | |
(n = t === ~~t ? t : !0 === t ? 4 : 0), | |
'string' == typeof e | |
? (i.input = h.string2buf(e)) | |
: '[object ArrayBuffer]' === u.call(e) | |
? (i.input = new Uint8Array(e)) | |
: (i.input = e), | |
(i.next_in = 0), | |
(i.avail_in = i.input.length); | |
do { | |
if ( | |
(0 === i.avail_out && | |
((i.output = new o.Buf8(s)), | |
(i.next_out = 0), | |
(i.avail_out = s)), | |
1 !== (r = a.deflate(i, n)) && r !== l) | |
) | |
return this.onEnd(r), !(this.ended = !0); | |
(0 !== i.avail_out && | |
(0 !== i.avail_in || (4 !== n && 2 !== n))) || | |
('string' === this.options.to | |
? this.onData( | |
h.buf2binstring(o.shrinkBuf(i.output, i.next_out)), | |
) | |
: this.onData(o.shrinkBuf(i.output, i.next_out))); | |
} while ((0 < i.avail_in || 0 === i.avail_out) && 1 !== r); | |
return 4 === n | |
? ((r = a.deflateEnd(this.strm)), | |
this.onEnd(r), | |
(this.ended = !0), | |
r === l) | |
: 2 !== n || (this.onEnd(l), !(i.avail_out = 0)); | |
}), | |
(p.prototype.onData = function (e) { | |
this.chunks.push(e); | |
}), | |
(p.prototype.onEnd = function (e) { | |
e === l && | |
('string' === this.options.to | |
? (this.result = this.chunks.join('')) | |
: (this.result = o.flattenChunks(this.chunks))), | |
(this.chunks = []), | |
(this.err = e), | |
(this.msg = this.strm.msg); | |
}), | |
(r.Deflate = p), | |
(r.deflate = n), | |
(r.deflateRaw = function (e, t) { | |
return ((t = t || {}).raw = !0), n(e, t); | |
}), | |
(r.gzip = function (e, t) { | |
return ((t = t || {}).gzip = !0), n(e, t); | |
}); | |
}, | |
{ | |
'./utils/common': 41, | |
'./utils/strings': 42, | |
'./zlib/deflate': 46, | |
'./zlib/messages': 51, | |
'./zlib/zstream': 53, | |
}, | |
], | |
40: [ | |
function (e, t, r) { | |
'use strict'; | |
var c = e('./zlib/inflate'), | |
d = e('./utils/common'), | |
p = e('./utils/strings'), | |
m = e('./zlib/constants'), | |
n = e('./zlib/messages'), | |
i = e('./zlib/zstream'), | |
s = e('./zlib/gzheader'), | |
_ = Object.prototype.toString; | |
function a(e) { | |
if (!(this instanceof a)) return new a(e); | |
this.options = d.assign( | |
{chunkSize: 16384, windowBits: 0, to: ''}, | |
e || {}, | |
); | |
var t = this.options; | |
t.raw && | |
0 <= t.windowBits && | |
t.windowBits < 16 && | |
((t.windowBits = -t.windowBits), | |
0 === t.windowBits && (t.windowBits = -15)), | |
!(0 <= t.windowBits && t.windowBits < 16) || | |
(e && e.windowBits) || | |
(t.windowBits += 32), | |
15 < t.windowBits && | |
t.windowBits < 48 && | |
0 == (15 & t.windowBits) && | |
(t.windowBits |= 15), | |
(this.err = 0), | |
(this.msg = ''), | |
(this.ended = !1), | |
(this.chunks = []), | |
(this.strm = new i()), | |
(this.strm.avail_out = 0); | |
var r = c.inflateInit2(this.strm, t.windowBits); | |
if (r !== m.Z_OK) throw new Error(n[r]); | |
(this.header = new s()), c.inflateGetHeader(this.strm, this.header); | |
} | |
function o(e, t) { | |
var r = new a(t); | |
if ((r.push(e, !0), r.err)) throw r.msg || n[r.err]; | |
return r.result; | |
} | |
(a.prototype.push = function (e, t) { | |
var r, | |
n, | |
i, | |
s, | |
a, | |
o, | |
h = this.strm, | |
u = this.options.chunkSize, | |
l = this.options.dictionary, | |
f = !1; | |
if (this.ended) return !1; | |
(n = t === ~~t ? t : !0 === t ? m.Z_FINISH : m.Z_NO_FLUSH), | |
'string' == typeof e | |
? (h.input = p.binstring2buf(e)) | |
: '[object ArrayBuffer]' === _.call(e) | |
? (h.input = new Uint8Array(e)) | |
: (h.input = e), | |
(h.next_in = 0), | |
(h.avail_in = h.input.length); | |
do { | |
if ( | |
(0 === h.avail_out && | |
((h.output = new d.Buf8(u)), | |
(h.next_out = 0), | |
(h.avail_out = u)), | |
(r = c.inflate(h, m.Z_NO_FLUSH)) === m.Z_NEED_DICT && | |
l && | |
((o = | |
'string' == typeof l | |
? p.string2buf(l) | |
: '[object ArrayBuffer]' === _.call(l) | |
? new Uint8Array(l) | |
: l), | |
(r = c.inflateSetDictionary(this.strm, o))), | |
r === m.Z_BUF_ERROR && !0 === f && ((r = m.Z_OK), (f = !1)), | |
r !== m.Z_STREAM_END && r !== m.Z_OK) | |
) | |
return this.onEnd(r), !(this.ended = !0); | |
h.next_out && | |
((0 !== h.avail_out && | |
r !== m.Z_STREAM_END && | |
(0 !== h.avail_in || | |
(n !== m.Z_FINISH && n !== m.Z_SYNC_FLUSH))) || | |
('string' === this.options.to | |
? ((i = p.utf8border(h.output, h.next_out)), | |
(s = h.next_out - i), | |
(a = p.buf2string(h.output, i)), | |
(h.next_out = s), | |
(h.avail_out = u - s), | |
s && d.arraySet(h.output, h.output, i, s, 0), | |
this.onData(a)) | |
: this.onData(d.shrinkBuf(h.output, h.next_out)))), | |
0 === h.avail_in && 0 === h.avail_out && (f = !0); | |
} while ( | |
(0 < h.avail_in || 0 === h.avail_out) && | |
r !== m.Z_STREAM_END | |
); | |
return ( | |
r === m.Z_STREAM_END && (n = m.Z_FINISH), | |
n === m.Z_FINISH | |
? ((r = c.inflateEnd(this.strm)), | |
this.onEnd(r), | |
(this.ended = !0), | |
r === m.Z_OK) | |
: n !== m.Z_SYNC_FLUSH || | |
(this.onEnd(m.Z_OK), !(h.avail_out = 0)) | |
); | |
}), | |
(a.prototype.onData = function (e) { | |
this.chunks.push(e); | |
}), | |
(a.prototype.onEnd = function (e) { | |
e === m.Z_OK && | |
('string' === this.options.to | |
? (this.result = this.chunks.join('')) | |
: (this.result = d.flattenChunks(this.chunks))), | |
(this.chunks = []), | |
(this.err = e), | |
(this.msg = this.strm.msg); | |
}), | |
(r.Inflate = a), | |
(r.inflate = o), | |
(r.inflateRaw = function (e, t) { | |
return ((t = t || {}).raw = !0), o(e, t); | |
}), | |
(r.ungzip = o); | |
}, | |
{ | |
'./utils/common': 41, | |
'./utils/strings': 42, | |
'./zlib/constants': 44, | |
'./zlib/gzheader': 47, | |
'./zlib/inflate': 49, | |
'./zlib/messages': 51, | |
'./zlib/zstream': 53, | |
}, | |
], | |
41: [ | |
function (e, t, r) { | |
'use strict'; | |
var n = | |
'undefined' != typeof Uint8Array && | |
'undefined' != typeof Uint16Array && | |
'undefined' != typeof Int32Array; | |
(r.assign = function (e) { | |
for (var t = Array.prototype.slice.call(arguments, 1); t.length; ) { | |
var r = t.shift(); | |
if (r) { | |
if ('object' != typeof r) | |
throw new TypeError(r + 'must be non-object'); | |
for (var n in r) r.hasOwnProperty(n) && (e[n] = r[n]); | |
} | |
} | |
return e; | |
}), | |
(r.shrinkBuf = function (e, t) { | |
return e.length === t | |
? e | |
: e.subarray | |
? e.subarray(0, t) | |
: ((e.length = t), e); | |
}); | |
var i = { | |
arraySet: function (e, t, r, n, i) { | |
if (t.subarray && e.subarray) e.set(t.subarray(r, r + n), i); | |
else for (var s = 0; s < n; s++) e[i + s] = t[r + s]; | |
}, | |
flattenChunks: function (e) { | |
var t, r, n, i, s, a; | |
for (t = n = 0, r = e.length; t < r; t++) n += e[t].length; | |
for (a = new Uint8Array(n), t = i = 0, r = e.length; t < r; t++) | |
(s = e[t]), a.set(s, i), (i += s.length); | |
return a; | |
}, | |
}, | |
s = { | |
arraySet: function (e, t, r, n, i) { | |
for (var s = 0; s < n; s++) e[i + s] = t[r + s]; | |
}, | |
flattenChunks: function (e) { | |
return [].concat.apply([], e); | |
}, | |
}; | |
(r.setTyped = function (e) { | |
e | |
? ((r.Buf8 = Uint8Array), | |
(r.Buf16 = Uint16Array), | |
(r.Buf32 = Int32Array), | |
r.assign(r, i)) | |
: ((r.Buf8 = Array), | |
(r.Buf16 = Array), | |
(r.Buf32 = Array), | |
r.assign(r, s)); | |
}), | |
r.setTyped(n); | |
}, | |
{}, | |
], | |
42: [ | |
function (e, t, r) { | |
'use strict'; | |
var h = e('./common'), | |
i = !0, | |
s = !0; | |
try { | |
String.fromCharCode.apply(null, [0]); | |
} catch (e) { | |
i = !1; | |
} | |
try { | |
String.fromCharCode.apply(null, new Uint8Array(1)); | |
} catch (e) { | |
s = !1; | |
} | |
for (var u = new h.Buf8(256), n = 0; n < 256; n++) | |
u[n] = | |
252 <= n | |
? 6 | |
: 248 <= n | |
? 5 | |
: 240 <= n | |
? 4 | |
: 224 <= n | |
? 3 | |
: 192 <= n | |
? 2 | |
: 1; | |
function l(e, t) { | |
if (t < 65537 && ((e.subarray && s) || (!e.subarray && i))) | |
return String.fromCharCode.apply(null, h.shrinkBuf(e, t)); | |
for (var r = '', n = 0; n < t; n++) r += String.fromCharCode(e[n]); | |
return r; | |
} | |
(u[254] = u[254] = 1), | |
(r.string2buf = function (e) { | |
var t, | |
r, | |
n, | |
i, | |
s, | |
a = e.length, | |
o = 0; | |
for (i = 0; i < a; i++) | |
55296 == (64512 & (r = e.charCodeAt(i))) && | |
i + 1 < a && | |
56320 == (64512 & (n = e.charCodeAt(i + 1))) && | |
((r = 65536 + ((r - 55296) << 10) + (n - 56320)), i++), | |
(o += r < 128 ? 1 : r < 2048 ? 2 : r < 65536 ? 3 : 4); | |
for (t = new h.Buf8(o), i = s = 0; s < o; i++) | |
55296 == (64512 & (r = e.charCodeAt(i))) && | |
i + 1 < a && | |
56320 == (64512 & (n = e.charCodeAt(i + 1))) && | |
((r = 65536 + ((r - 55296) << 10) + (n - 56320)), i++), | |
r < 128 | |
? (t[s++] = r) | |
: (r < 2048 | |
? (t[s++] = 192 | (r >>> 6)) | |
: (r < 65536 | |
? (t[s++] = 224 | (r >>> 12)) | |
: ((t[s++] = 240 | (r >>> 18)), | |
(t[s++] = 128 | ((r >>> 12) & 63))), | |
(t[s++] = 128 | ((r >>> 6) & 63))), | |
(t[s++] = 128 | (63 & r))); | |
return t; | |
}), | |
(r.buf2binstring = function (e) { | |
return l(e, e.length); | |
}), | |
(r.binstring2buf = function (e) { | |
for ( | |
var t = new h.Buf8(e.length), r = 0, n = t.length; | |
r < n; | |
r++ | |
) | |
t[r] = e.charCodeAt(r); | |
return t; | |
}), | |
(r.buf2string = function (e, t) { | |
var r, | |
n, | |
i, | |
s, | |
a = t || e.length, | |
o = new Array(2 * a); | |
for (r = n = 0; r < a; ) | |
if ((i = e[r++]) < 128) o[n++] = i; | |
else if (4 < (s = u[i])) (o[n++] = 65533), (r += s - 1); | |
else { | |
for (i &= 2 === s ? 31 : 3 === s ? 15 : 7; 1 < s && r < a; ) | |
(i = (i << 6) | (63 & e[r++])), s--; | |
1 < s | |
? (o[n++] = 65533) | |
: i < 65536 | |
? (o[n++] = i) | |
: ((i -= 65536), | |
(o[n++] = 55296 | ((i >> 10) & 1023)), | |
(o[n++] = 56320 | (1023 & i))); | |
} | |
return l(o, n); | |
}), | |
(r.utf8border = function (e, t) { | |
var r; | |
for ( | |
(t = t || e.length) > e.length && (t = e.length), r = t - 1; | |
0 <= r && 128 == (192 & e[r]); | |
) | |
r--; | |
return r < 0 ? t : 0 === r ? t : r + u[e[r]] > t ? r : t; | |
}); | |
}, | |
{'./common': 41}, | |
], | |
43: [ | |
function (e, t, r) { | |
'use strict'; | |
t.exports = function (e, t, r, n) { | |
for ( | |
var i = (65535 & e) | 0, s = ((e >>> 16) & 65535) | 0, a = 0; | |
0 !== r; | |
) { | |
for ( | |
r -= a = 2e3 < r ? 2e3 : r; | |
(s = (s + (i = (i + t[n++]) | 0)) | 0), --a; | |
); | |
(i %= 65521), (s %= 65521); | |
} | |
return i | (s << 16) | 0; | |
}; | |
}, | |
{}, | |
], | |
44: [ | |
function (e, t, r) { | |
'use strict'; | |
t.exports = { | |
Z_NO_FLUSH: 0, | |
Z_PARTIAL_FLUSH: 1, | |
Z_SYNC_FLUSH: 2, | |
Z_FULL_FLUSH: 3, | |
Z_FINISH: 4, | |
Z_BLOCK: 5, | |
Z_TREES: 6, | |
Z_OK: 0, | |
Z_STREAM_END: 1, | |
Z_NEED_DICT: 2, | |
Z_ERRNO: -1, | |
Z_STREAM_ERROR: -2, | |
Z_DATA_ERROR: -3, | |
Z_BUF_ERROR: -5, | |
Z_NO_COMPRESSION: 0, | |
Z_BEST_SPEED: 1, | |
Z_BEST_COMPRESSION: 9, | |
Z_DEFAULT_COMPRESSION: -1, | |
Z_FILTERED: 1, | |
Z_HUFFMAN_ONLY: 2, | |
Z_RLE: 3, | |
Z_FIXED: 4, | |
Z_DEFAULT_STRATEGY: 0, | |
Z_BINARY: 0, | |
Z_TEXT: 1, | |
Z_UNKNOWN: 2, | |
Z_DEFLATED: 8, | |
}; | |
}, | |
{}, | |
], | |
45: [ | |
function (e, t, r) { | |
'use strict'; | |
var o = (function () { | |
for (var e, t = [], r = 0; r < 256; r++) { | |
e = r; | |
for (var n = 0; n < 8; n++) | |
e = 1 & e ? 3988292384 ^ (e >>> 1) : e >>> 1; | |
t[r] = e; | |
} | |
return t; | |
})(); | |
t.exports = function (e, t, r, n) { | |
var i = o, | |
s = n + r; | |
e ^= -1; | |
for (var a = n; a < s; a++) e = (e >>> 8) ^ i[255 & (e ^ t[a])]; | |
return -1 ^ e; | |
}; | |
}, | |
{}, | |
], | |
46: [ | |
function (e, t, r) { | |
'use strict'; | |
var h, | |
c = e('../utils/common'), | |
u = e('./trees'), | |
d = e('./adler32'), | |
p = e('./crc32'), | |
n = e('./messages'), | |
l = 0, | |
f = 4, | |
m = 0, | |
_ = -2, | |
g = -1, | |
b = 4, | |
i = 2, | |
v = 8, | |
y = 9, | |
s = 286, | |
a = 30, | |
o = 19, | |
w = 2 * s + 1, | |
k = 15, | |
x = 3, | |
S = 258, | |
z = S + x + 1, | |
C = 42, | |
E = 113, | |
A = 1, | |
I = 2, | |
O = 3, | |
B = 4; | |
function R(e, t) { | |
return (e.msg = n[t]), t; | |
} | |
function T(e) { | |
return (e << 1) - (4 < e ? 9 : 0); | |
} | |
function D(e) { | |
for (var t = e.length; 0 <= --t; ) e[t] = 0; | |
} | |
function F(e) { | |
var t = e.state, | |
r = t.pending; | |
r > e.avail_out && (r = e.avail_out), | |
0 !== r && | |
(c.arraySet( | |
e.output, | |
t.pending_buf, | |
t.pending_out, | |
r, | |
e.next_out, | |
), | |
(e.next_out += r), | |
(t.pending_out += r), | |
(e.total_out += r), | |
(e.avail_out -= r), | |
(t.pending -= r), | |
0 === t.pending && (t.pending_out = 0)); | |
} | |
function N(e, t) { | |
u._tr_flush_block( | |
e, | |
0 <= e.block_start ? e.block_start : -1, | |
e.strstart - e.block_start, | |
t, | |
), | |
(e.block_start = e.strstart), | |
F(e.strm); | |
} | |
function U(e, t) { | |
e.pending_buf[e.pending++] = t; | |
} | |
function P(e, t) { | |
(e.pending_buf[e.pending++] = (t >>> 8) & 255), | |
(e.pending_buf[e.pending++] = 255 & t); | |
} | |
function L(e, t) { | |
var r, | |
n, | |
i = e.max_chain_length, | |
s = e.strstart, | |
a = e.prev_length, | |
o = e.nice_match, | |
h = e.strstart > e.w_size - z ? e.strstart - (e.w_size - z) : 0, | |
u = e.window, | |
l = e.w_mask, | |
f = e.prev, | |
c = e.strstart + S, | |
d = u[s + a - 1], | |
p = u[s + a]; | |
e.prev_length >= e.good_match && (i >>= 2), | |
o > e.lookahead && (o = e.lookahead); | |
do { | |
if ( | |
u[(r = t) + a] === p && | |
u[r + a - 1] === d && | |
u[r] === u[s] && | |
u[++r] === u[s + 1] | |
) { | |
(s += 2), r++; | |
do {} while ( | |
u[++s] === u[++r] && | |
u[++s] === u[++r] && | |
u[++s] === u[++r] && | |
u[++s] === u[++r] && | |
u[++s] === u[++r] && | |
u[++s] === u[++r] && | |
u[++s] === u[++r] && | |
u[++s] === u[++r] && | |
s < c | |
); | |
if (((n = S - (c - s)), (s = c - S), a < n)) { | |
if (((e.match_start = t), o <= (a = n))) break; | |
(d = u[s + a - 1]), (p = u[s + a]); | |
} | |
} | |
} while ((t = f[t & l]) > h && 0 != --i); | |
return a <= e.lookahead ? a : e.lookahead; | |
} | |
function j(e) { | |
var t, | |
r, | |
n, | |
i, | |
s, | |
a, | |
o, | |
h, | |
u, | |
l, | |
f = e.w_size; | |
do { | |
if ( | |
((i = e.window_size - e.lookahead - e.strstart), | |
e.strstart >= f + (f - z)) | |
) { | |
for ( | |
c.arraySet(e.window, e.window, f, f, 0), | |
e.match_start -= f, | |
e.strstart -= f, | |
e.block_start -= f, | |
t = r = e.hash_size; | |
(n = e.head[--t]), (e.head[t] = f <= n ? n - f : 0), --r; | |
); | |
for ( | |
t = r = f; | |
(n = e.prev[--t]), (e.prev[t] = f <= n ? n - f : 0), --r; | |
); | |
i += f; | |
} | |
if (0 === e.strm.avail_in) break; | |
if ( | |
((a = e.strm), | |
(o = e.window), | |
(h = e.strstart + e.lookahead), | |
(u = i), | |
(l = void 0), | |
(l = a.avail_in), | |
u < l && (l = u), | |
(r = | |
0 === l | |
? 0 | |
: ((a.avail_in -= l), | |
c.arraySet(o, a.input, a.next_in, l, h), | |
1 === a.state.wrap | |
? (a.adler = d(a.adler, o, l, h)) | |
: 2 === a.state.wrap && (a.adler = p(a.adler, o, l, h)), | |
(a.next_in += l), | |
(a.total_in += l), | |
l)), | |
(e.lookahead += r), | |
e.lookahead + e.insert >= x) | |
) | |
for ( | |
s = e.strstart - e.insert, | |
e.ins_h = e.window[s], | |
e.ins_h = | |
((e.ins_h << e.hash_shift) ^ e.window[s + 1]) & | |
e.hash_mask; | |
e.insert && | |
((e.ins_h = | |
((e.ins_h << e.hash_shift) ^ e.window[s + x - 1]) & | |
e.hash_mask), | |
(e.prev[s & e.w_mask] = e.head[e.ins_h]), | |
(e.head[e.ins_h] = s), | |
s++, | |
e.insert--, | |
!(e.lookahead + e.insert < x)); | |
); | |
} while (e.lookahead < z && 0 !== e.strm.avail_in); | |
} | |
function Z(e, t) { | |
for (var r, n; ; ) { | |
if (e.lookahead < z) { | |
if ((j(e), e.lookahead < z && t === l)) return A; | |
if (0 === e.lookahead) break; | |
} | |
if ( | |
((r = 0), | |
e.lookahead >= x && | |
((e.ins_h = | |
((e.ins_h << e.hash_shift) ^ e.window[e.strstart + x - 1]) & | |
e.hash_mask), | |
(r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h]), | |
(e.head[e.ins_h] = e.strstart)), | |
0 !== r && | |
e.strstart - r <= e.w_size - z && | |
(e.match_length = L(e, r)), | |
e.match_length >= x) | |
) | |
if ( | |
((n = u._tr_tally( | |
e, | |
e.strstart - e.match_start, | |
e.match_length - x, | |
)), | |
(e.lookahead -= e.match_length), | |
e.match_length <= e.max_lazy_match && e.lookahead >= x) | |
) { | |
for ( | |
e.match_length--; | |
e.strstart++, | |
(e.ins_h = | |
((e.ins_h << e.hash_shift) ^ | |
e.window[e.strstart + x - 1]) & | |
e.hash_mask), | |
(r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h]), | |
(e.head[e.ins_h] = e.strstart), | |
0 != --e.match_length; | |
); | |
e.strstart++; | |
} else | |
(e.strstart += e.match_length), | |
(e.match_length = 0), | |
(e.ins_h = e.window[e.strstart]), | |
(e.ins_h = | |
((e.ins_h << e.hash_shift) ^ e.window[e.strstart + 1]) & | |
e.hash_mask); | |
else | |
(n = u._tr_tally(e, 0, e.window[e.strstart])), | |
e.lookahead--, | |
e.strstart++; | |
if (n && (N(e, !1), 0 === e.strm.avail_out)) return A; | |
} | |
return ( | |
(e.insert = e.strstart < x - 1 ? e.strstart : x - 1), | |
t === f | |
? (N(e, !0), 0 === e.strm.avail_out ? O : B) | |
: e.last_lit && (N(e, !1), 0 === e.strm.avail_out) | |
? A | |
: I | |
); | |
} | |
function W(e, t) { | |
for (var r, n, i; ; ) { | |
if (e.lookahead < z) { | |
if ((j(e), e.lookahead < z && t === l)) return A; | |
if (0 === e.lookahead) break; | |
} | |
if ( | |
((r = 0), | |
e.lookahead >= x && | |
((e.ins_h = | |
((e.ins_h << e.hash_shift) ^ e.window[e.strstart + x - 1]) & | |
e.hash_mask), | |
(r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h]), | |
(e.head[e.ins_h] = e.strstart)), | |
(e.prev_length = e.match_length), | |
(e.prev_match = e.match_start), | |
(e.match_length = x - 1), | |
0 !== r && | |
e.prev_length < e.max_lazy_match && | |
e.strstart - r <= e.w_size - z && | |
((e.match_length = L(e, r)), | |
e.match_length <= 5 && | |
(1 === e.strategy || | |
(e.match_length === x && | |
4096 < e.strstart - e.match_start)) && | |
(e.match_length = x - 1)), | |
e.prev_length >= x && e.match_length <= e.prev_length) | |
) { | |
for ( | |
i = e.strstart + e.lookahead - x, | |
n = u._tr_tally( | |
e, | |
e.strstart - 1 - e.prev_match, | |
e.prev_length - x, | |
), | |
e.lookahead -= e.prev_length - 1, | |
e.prev_length -= 2; | |
++e.strstart <= i && | |
((e.ins_h = | |
((e.ins_h << e.hash_shift) ^ | |
e.window[e.strstart + x - 1]) & | |
e.hash_mask), | |
(r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h]), | |
(e.head[e.ins_h] = e.strstart)), | |
0 != --e.prev_length; | |
); | |
if ( | |
((e.match_available = 0), | |
(e.match_length = x - 1), | |
e.strstart++, | |
n && (N(e, !1), 0 === e.strm.avail_out)) | |
) | |
return A; | |
} else if (e.match_available) { | |
if ( | |
((n = u._tr_tally(e, 0, e.window[e.strstart - 1])) && | |
N(e, !1), | |
e.strstart++, | |
e.lookahead--, | |
0 === e.strm.avail_out) | |
) | |
return A; | |
} else (e.match_available = 1), e.strstart++, e.lookahead--; | |
} | |
return ( | |
e.match_available && | |
((n = u._tr_tally(e, 0, e.window[e.strstart - 1])), | |
(e.match_available = 0)), | |
(e.insert = e.strstart < x - 1 ? e.strstart : x - 1), | |
t === f | |
? (N(e, !0), 0 === e.strm.avail_out ? O : B) | |
: e.last_lit && (N(e, !1), 0 === e.strm.avail_out) | |
? A | |
: I | |
); | |
} | |
function M(e, t, r, n, i) { | |
(this.good_length = e), | |
(this.max_lazy = t), | |
(this.nice_length = r), | |
(this.max_chain = n), | |
(this.func = i); | |
} | |
function H() { | |
(this.strm = null), | |
(this.status = 0), | |
(this.pending_buf = null), | |
(this.pending_buf_size = 0), | |
(this.pending_out = 0), | |
(this.pending = 0), | |
(this.wrap = 0), | |
(this.gzhead = null), | |
(this.gzindex = 0), | |
(this.method = v), | |
(this.last_flush = -1), | |
(this.w_size = 0), | |
(this.w_bits = 0), | |
(this.w_mask = 0), | |
(this.window = null), | |
(this.window_size = 0), | |
(this.prev = null), | |
(this.head = null), | |
(this.ins_h = 0), | |
(this.hash_size = 0), | |
(this.hash_bits = 0), | |
(this.hash_mask = 0), | |
(this.hash_shift = 0), | |
(this.block_start = 0), | |
(this.match_length = 0), | |
(this.prev_match = 0), | |
(this.match_available = 0), | |
(this.strstart = 0), | |
(this.match_start = 0), | |
(this.lookahead = 0), | |
(this.prev_length = 0), | |
(this.max_chain_length = 0), | |
(this.max_lazy_match = 0), | |
(this.level = 0), | |
(this.strategy = 0), | |
(this.good_match = 0), | |
(this.nice_match = 0), | |
(this.dyn_ltree = new c.Buf16(2 * w)), | |
(this.dyn_dtree = new c.Buf16(2 * (2 * a + 1))), | |
(this.bl_tree = new c.Buf16(2 * (2 * o + 1))), | |
D(this.dyn_ltree), | |
D(this.dyn_dtree), | |
D(this.bl_tree), | |
(this.l_desc = null), | |
(this.d_desc = null), | |
(this.bl_desc = null), | |
(this.bl_count = new c.Buf16(k + 1)), | |
(this.heap = new c.Buf16(2 * s + 1)), | |
D(this.heap), | |
(this.heap_len = 0), | |
(this.heap_max = 0), | |
(this.depth = new c.Buf16(2 * s + 1)), | |
D(this.depth), | |
(this.l_buf = 0), | |
(this.lit_bufsize = 0), | |
(this.last_lit = 0), | |
(this.d_buf = 0), | |
(this.opt_len = 0), | |
(this.static_len = 0), | |
(this.matches = 0), | |
(this.insert = 0), | |
(this.bi_buf = 0), | |
(this.bi_valid = 0); | |
} | |
function G(e) { | |
var t; | |
return e && e.state | |
? ((e.total_in = e.total_out = 0), | |
(e.data_type = i), | |
((t = e.state).pending = 0), | |
(t.pending_out = 0), | |
t.wrap < 0 && (t.wrap = -t.wrap), | |
(t.status = t.wrap ? C : E), | |
(e.adler = 2 === t.wrap ? 0 : 1), | |
(t.last_flush = l), | |
u._tr_init(t), | |
m) | |
: R(e, _); | |
} | |
function K(e) { | |
var t = G(e); | |
return ( | |
t === m && | |
(function (e) { | |
(e.window_size = 2 * e.w_size), | |
D(e.head), | |
(e.max_lazy_match = h[e.level].max_lazy), | |
(e.good_match = h[e.level].good_length), | |
(e.nice_match = h[e.level].nice_length), | |
(e.max_chain_length = h[e.level].max_chain), | |
(e.strstart = 0), | |
(e.block_start = 0), | |
(e.lookahead = 0), | |
(e.insert = 0), | |
(e.match_length = e.prev_length = x - 1), | |
(e.match_available = 0), | |
(e.ins_h = 0); | |
})(e.state), | |
t | |
); | |
} | |
function Y(e, t, r, n, i, s) { | |
if (!e) return _; | |
var a = 1; | |
if ( | |
(t === g && (t = 6), | |
n < 0 ? ((a = 0), (n = -n)) : 15 < n && ((a = 2), (n -= 16)), | |
i < 1 || | |
y < i || | |
r !== v || | |
n < 8 || | |
15 < n || | |
t < 0 || | |
9 < t || | |
s < 0 || | |
b < s) | |
) | |
return R(e, _); | |
8 === n && (n = 9); | |
var o = new H(); | |
return ( | |
((e.state = o).strm = e), | |
(o.wrap = a), | |
(o.gzhead = null), | |
(o.w_bits = n), | |
(o.w_size = 1 << o.w_bits), | |
(o.w_mask = o.w_size - 1), | |
(o.hash_bits = i + 7), | |
(o.hash_size = 1 << o.hash_bits), | |
(o.hash_mask = o.hash_size - 1), | |
(o.hash_shift = ~~((o.hash_bits + x - 1) / x)), | |
(o.window = new c.Buf8(2 * o.w_size)), | |
(o.head = new c.Buf16(o.hash_size)), | |
(o.prev = new c.Buf16(o.w_size)), | |
(o.lit_bufsize = 1 << (i + 6)), | |
(o.pending_buf_size = 4 * o.lit_bufsize), | |
(o.pending_buf = new c.Buf8(o.pending_buf_size)), | |
(o.d_buf = 1 * o.lit_bufsize), | |
(o.l_buf = 3 * o.lit_bufsize), | |
(o.level = t), | |
(o.strategy = s), | |
(o.method = r), | |
K(e) | |
); | |
} | |
(h = [ | |
new M(0, 0, 0, 0, function (e, t) { | |
var r = 65535; | |
for ( | |
r > e.pending_buf_size - 5 && (r = e.pending_buf_size - 5); | |
; | |
) { | |
if (e.lookahead <= 1) { | |
if ((j(e), 0 === e.lookahead && t === l)) return A; | |
if (0 === e.lookahead) break; | |
} | |
(e.strstart += e.lookahead), (e.lookahead = 0); | |
var n = e.block_start + r; | |
if ( | |
(0 === e.strstart || e.strstart >= n) && | |
((e.lookahead = e.strstart - n), | |
(e.strstart = n), | |
N(e, !1), | |
0 === e.strm.avail_out) | |
) | |
return A; | |
if ( | |
e.strstart - e.block_start >= e.w_size - z && | |
(N(e, !1), 0 === e.strm.avail_out) | |
) | |
return A; | |
} | |
return ( | |
(e.insert = 0), | |
t === f | |
? (N(e, !0), 0 === e.strm.avail_out ? O : B) | |
: (e.strstart > e.block_start && (N(e, !1), e.strm.avail_out), | |
A) | |
); | |
}), | |
new M(4, 4, 8, 4, Z), | |
new M(4, 5, 16, 8, Z), | |
new M(4, 6, 32, 32, Z), | |
new M(4, 4, 16, 16, W), | |
new M(8, 16, 32, 32, W), | |
new M(8, 16, 128, 128, W), | |
new M(8, 32, 128, 256, W), | |
new M(32, 128, 258, 1024, W), | |
new M(32, 258, 258, 4096, W), | |
]), | |
(r.deflateInit = function (e, t) { | |
return Y(e, t, v, 15, 8, 0); | |
}), | |
(r.deflateInit2 = Y), | |
(r.deflateReset = K), | |
(r.deflateResetKeep = G), | |
(r.deflateSetHeader = function (e, t) { | |
return e && e.state | |
? 2 !== e.state.wrap | |
? _ | |
: ((e.state.gzhead = t), m) | |
: _; | |
}), | |
(r.deflate = function (e, t) { | |
var r, n, i, s; | |
if (!e || !e.state || 5 < t || t < 0) return e ? R(e, _) : _; | |
if ( | |
((n = e.state), | |
!e.output || | |
(!e.input && 0 !== e.avail_in) || | |
(666 === n.status && t !== f)) | |
) | |
return R(e, 0 === e.avail_out ? -5 : _); | |
if ( | |
((n.strm = e), | |
(r = n.last_flush), | |
(n.last_flush = t), | |
n.status === C) | |
) | |
if (2 === n.wrap) | |
(e.adler = 0), | |
U(n, 31), | |
U(n, 139), | |
U(n, 8), | |
n.gzhead | |
? (U( | |
n, | |
(n.gzhead.text ? 1 : 0) + | |
(n.gzhead.hcrc ? 2 : 0) + | |
(n.gzhead.extra ? 4 : 0) + | |
(n.gzhead.name ? 8 : 0) + | |
(n.gzhead.comment ? 16 : 0), | |
), | |
U(n, 255 & n.gzhead.time), | |
U(n, (n.gzhead.time >> 8) & 255), | |
U(n, (n.gzhead.time >> 16) & 255), | |
U(n, (n.gzhead.time >> 24) & 255), | |
U( | |
n, | |
9 === n.level | |
? 2 | |
: 2 <= n.strategy || n.level < 2 | |
? 4 | |
: 0, | |
), | |
U(n, 255 & n.gzhead.os), | |
n.gzhead.extra && | |
n.gzhead.extra.length && | |
(U(n, 255 & n.gzhead.extra.length), | |
U(n, (n.gzhead.extra.length >> 8) & 255)), | |
n.gzhead.hcrc && | |
(e.adler = p(e.adler, n.pending_buf, n.pending, 0)), | |
(n.gzindex = 0), | |
(n.status = 69)) | |
: (U(n, 0), | |
U(n, 0), | |
U(n, 0), | |
U(n, 0), | |
U(n, 0), | |
U( | |
n, | |
9 === n.level | |
? 2 | |
: 2 <= n.strategy || n.level < 2 | |
? 4 | |
: 0, | |
), | |
U(n, 3), | |
(n.status = E)); | |
else { | |
var a = (v + ((n.w_bits - 8) << 4)) << 8; | |
(a |= | |
(2 <= n.strategy || n.level < 2 | |
? 0 | |
: n.level < 6 | |
? 1 | |
: 6 === n.level | |
? 2 | |
: 3) << 6), | |
0 !== n.strstart && (a |= 32), | |
(a += 31 - (a % 31)), | |
(n.status = E), | |
P(n, a), | |
0 !== n.strstart && | |
(P(n, e.adler >>> 16), P(n, 65535 & e.adler)), | |
(e.adler = 1); | |
} | |
if (69 === n.status) | |
if (n.gzhead.extra) { | |
for ( | |
i = n.pending; | |
n.gzindex < (65535 & n.gzhead.extra.length) && | |
(n.pending !== n.pending_buf_size || | |
(n.gzhead.hcrc && | |
n.pending > i && | |
(e.adler = p(e.adler, n.pending_buf, n.pending - i, i)), | |
F(e), | |
(i = n.pending), | |
n.pending !== n.pending_buf_size)); | |
) | |
U(n, 255 & n.gzhead.extra[n.gzindex]), n.gzindex++; | |
n.gzhead.hcrc && | |
n.pending > i && | |
(e.adler = p(e.adler, n.pending_buf, n.pending - i, i)), | |
n.gzindex === n.gzhead.extra.length && | |
((n.gzindex = 0), (n.status = 73)); | |
} else n.status = 73; | |
if (73 === n.status) | |
if (n.gzhead.name) { | |
i = n.pending; | |
do { | |
if ( | |
n.pending === n.pending_buf_size && | |
(n.gzhead.hcrc && | |
n.pending > i && | |
(e.adler = p(e.adler, n.pending_buf, n.pending - i, i)), | |
F(e), | |
(i = n.pending), | |
n.pending === n.pending_buf_size) | |
) { | |
s = 1; | |
break; | |
} | |
(s = | |
n.gzindex < n.gzhead.name.length | |
? 255 & n.gzhead.name.charCodeAt(n.gzindex++) | |
: 0), | |
U(n, s); | |
} while (0 !== s); | |
n.gzhead.hcrc && | |
n.pending > i && | |
(e.adler = p(e.adler, n.pending_buf, n.pending - i, i)), | |
0 === s && ((n.gzindex = 0), (n.status = 91)); | |
} else n.status = 91; | |
if (91 === n.status) | |
if (n.gzhead.comment) { | |
i = n.pending; | |
do { | |
if ( | |
n.pending === n.pending_buf_size && | |
(n.gzhead.hcrc && | |
n.pending > i && | |
(e.adler = p(e.adler, n.pending_buf, n.pending - i, i)), | |
F(e), | |
(i = n.pending), | |
n.pending === n.pending_buf_size) | |
) { | |
s = 1; | |
break; | |
} | |
(s = | |
n.gzindex < n.gzhead.comment.length | |
? 255 & n.gzhead.comment.charCodeAt(n.gzindex++) | |
: 0), | |
U(n, s); | |
} while (0 !== s); | |
n.gzhead.hcrc && | |
n.pending > i && | |
(e.adler = p(e.adler, n.pending_buf, n.pending - i, i)), | |
0 === s && (n.status = 103); | |
} else n.status = 103; | |
if ( | |
(103 === n.status && | |
(n.gzhead.hcrc | |
? (n.pending + 2 > n.pending_buf_size && F(e), | |
n.pending + 2 <= n.pending_buf_size && | |
(U(n, 255 & e.adler), | |
U(n, (e.adler >> 8) & 255), | |
(e.adler = 0), | |
(n.status = E))) | |
: (n.status = E)), | |
0 !== n.pending) | |
) { | |
if ((F(e), 0 === e.avail_out)) return (n.last_flush = -1), m; | |
} else if (0 === e.avail_in && T(t) <= T(r) && t !== f) | |
return R(e, -5); | |
if (666 === n.status && 0 !== e.avail_in) return R(e, -5); | |
if ( | |
0 !== e.avail_in || | |
0 !== n.lookahead || | |
(t !== l && 666 !== n.status) | |
) { | |
var o = | |
2 === n.strategy | |
? (function (e, t) { | |
for (var r; ; ) { | |
if (0 === e.lookahead && (j(e), 0 === e.lookahead)) { | |
if (t === l) return A; | |
break; | |
} | |
if ( | |
((e.match_length = 0), | |
(r = u._tr_tally(e, 0, e.window[e.strstart])), | |
e.lookahead--, | |
e.strstart++, | |
r && (N(e, !1), 0 === e.strm.avail_out)) | |
) | |
return A; | |
} | |
return ( | |
(e.insert = 0), | |
t === f | |
? (N(e, !0), 0 === e.strm.avail_out ? O : B) | |
: e.last_lit && (N(e, !1), 0 === e.strm.avail_out) | |
? A | |
: I | |
); | |
})(n, t) | |
: 3 === n.strategy | |
? (function (e, t) { | |
for (var r, n, i, s, a = e.window; ; ) { | |
if (e.lookahead <= S) { | |
if ((j(e), e.lookahead <= S && t === l)) return A; | |
if (0 === e.lookahead) break; | |
} | |
if ( | |
((e.match_length = 0), | |
e.lookahead >= x && | |
0 < e.strstart && | |
(n = a[(i = e.strstart - 1)]) === a[++i] && | |
n === a[++i] && | |
n === a[++i]) | |
) { | |
s = e.strstart + S; | |
do {} while ( | |
n === a[++i] && | |
n === a[++i] && | |
n === a[++i] && | |
n === a[++i] && | |
n === a[++i] && | |
n === a[++i] && | |
n === a[++i] && | |
n === a[++i] && | |
i < s | |
); | |
(e.match_length = S - (s - i)), | |
e.match_length > e.lookahead && | |
(e.match_length = e.lookahead); | |
} | |
if ( | |
(e.match_length >= x | |
? ((r = u._tr_tally(e, 1, e.match_length - x)), | |
(e.lookahead -= e.match_length), | |
(e.strstart += e.match_length), | |
(e.match_length = 0)) | |
: ((r = u._tr_tally(e, 0, e.window[e.strstart])), | |
e.lookahead--, | |
e.strstart++), | |
r && (N(e, !1), 0 === e.strm.avail_out)) | |
) | |
return A; | |
} | |
return ( | |
(e.insert = 0), | |
t === f | |
? (N(e, !0), 0 === e.strm.avail_out ? O : B) | |
: e.last_lit && (N(e, !1), 0 === e.strm.avail_out) | |
? A | |
: I | |
); | |
})(n, t) | |
: h[n.level].func(n, t); | |
if ( | |
((o !== O && o !== B) || (n.status = 666), o === A || o === O) | |
) | |
return 0 === e.avail_out && (n.last_flush = -1), m; | |
if ( | |
o === I && | |
(1 === t | |
? u._tr_align(n) | |
: 5 !== t && | |
(u._tr_stored_block(n, 0, 0, !1), | |
3 === t && | |
(D(n.head), | |
0 === n.lookahead && | |
((n.strstart = 0), | |
(n.block_start = 0), | |
(n.insert = 0)))), | |
F(e), | |
0 === e.avail_out) | |
) | |
return (n.last_flush = -1), m; | |
} | |
return t !== f | |
? m | |
: n.wrap <= 0 | |
? 1 | |
: (2 === n.wrap | |
? (U(n, 255 & e.adler), | |
U(n, (e.adler >> 8) & 255), | |
U(n, (e.adler >> 16) & 255), | |
U(n, (e.adler >> 24) & 255), | |
U(n, 255 & e.total_in), | |
U(n, (e.total_in >> 8) & 255), | |
U(n, (e.total_in >> 16) & 255), | |
U(n, (e.total_in >> 24) & 255)) | |
: (P(n, e.adler >>> 16), P(n, 65535 & e.adler)), | |
F(e), | |
0 < n.wrap && (n.wrap = -n.wrap), | |
0 !== n.pending ? m : 1); | |
}), | |
(r.deflateEnd = function (e) { | |
var t; | |
return e && e.state | |
? (t = e.state.status) !== C && | |
69 !== t && | |
73 !== t && | |
91 !== t && | |
103 !== t && | |
t !== E && | |
666 !== t | |
? R(e, _) | |
: ((e.state = null), t === E ? R(e, -3) : m) | |
: _; | |
}), | |
(r.deflateSetDictionary = function (e, t) { | |
var r, | |
n, | |
i, | |
s, | |
a, | |
o, | |
h, | |
u, | |
l = t.length; | |
if (!e || !e.state) return _; | |
if ( | |
2 === (s = (r = e.state).wrap) || | |
(1 === s && r.status !== C) || | |
r.lookahead | |
) | |
return _; | |
for ( | |
1 === s && (e.adler = d(e.adler, t, l, 0)), | |
r.wrap = 0, | |
l >= r.w_size && | |
(0 === s && | |
(D(r.head), | |
(r.strstart = 0), | |
(r.block_start = 0), | |
(r.insert = 0)), | |
(u = new c.Buf8(r.w_size)), | |
c.arraySet(u, t, l - r.w_size, r.w_size, 0), | |
(t = u), | |
(l = r.w_size)), | |
a = e.avail_in, | |
o = e.next_in, | |
h = e.input, | |
e.avail_in = l, | |
e.next_in = 0, | |
e.input = t, | |
j(r); | |
r.lookahead >= x; | |
) { | |
for ( | |
n = r.strstart, i = r.lookahead - (x - 1); | |
(r.ins_h = | |
((r.ins_h << r.hash_shift) ^ r.window[n + x - 1]) & | |
r.hash_mask), | |
(r.prev[n & r.w_mask] = r.head[r.ins_h]), | |
(r.head[r.ins_h] = n), | |
n++, | |
--i; | |
); | |
(r.strstart = n), (r.lookahead = x - 1), j(r); | |
} | |
return ( | |
(r.strstart += r.lookahead), | |
(r.block_start = r.strstart), | |
(r.insert = r.lookahead), | |
(r.lookahead = 0), | |
(r.match_length = r.prev_length = x - 1), | |
(r.match_available = 0), | |
(e.next_in = o), | |
(e.input = h), | |
(e.avail_in = a), | |
(r.wrap = s), | |
m | |
); | |
}), | |
(r.deflateInfo = 'pako deflate (from Nodeca project)'); | |
}, | |
{ | |
'../utils/common': 41, | |
'./adler32': 43, | |
'./crc32': 45, | |
'./messages': 51, | |
'./trees': 52, | |
}, | |
], | |
47: [ | |
function (e, t, r) { | |
'use strict'; | |
t.exports = function () { | |
(this.text = 0), | |
(this.time = 0), | |
(this.xflags = 0), | |
(this.os = 0), | |
(this.extra = null), | |
(this.extra_len = 0), | |
(this.name = ''), | |
(this.comment = ''), | |
(this.hcrc = 0), | |
(this.done = !1); | |
}; | |
}, | |
{}, | |
], | |
48: [ | |
function (e, t, r) { | |
'use strict'; | |
t.exports = function (e, t) { | |
var r, | |
n, | |
i, | |
s, | |
a, | |
o, | |
h, | |
u, | |
l, | |
f, | |
c, | |
d, | |
p, | |
m, | |
_, | |
g, | |
b, | |
v, | |
y, | |
w, | |
k, | |
x, | |
S, | |
z, | |
C; | |
(r = e.state), | |
(n = e.next_in), | |
(z = e.input), | |
(i = n + (e.avail_in - 5)), | |
(s = e.next_out), | |
(C = e.output), | |
(a = s - (t - e.avail_out)), | |
(o = s + (e.avail_out - 257)), | |
(h = r.dmax), | |
(u = r.wsize), | |
(l = r.whave), | |
(f = r.wnext), | |
(c = r.window), | |
(d = r.hold), | |
(p = r.bits), | |
(m = r.lencode), | |
(_ = r.distcode), | |
(g = (1 << r.lenbits) - 1), | |
(b = (1 << r.distbits) - 1); | |
e: do { | |
p < 15 && | |
((d += z[n++] << p), (p += 8), (d += z[n++] << p), (p += 8)), | |
(v = m[d & g]); | |
t: for (;;) { | |
if ( | |
((d >>>= y = v >>> 24), | |
(p -= y), | |
0 === (y = (v >>> 16) & 255)) | |
) | |
C[s++] = 65535 & v; | |
else { | |
if (!(16 & y)) { | |
if (0 == (64 & y)) { | |
v = m[(65535 & v) + (d & ((1 << y) - 1))]; | |
continue t; | |
} | |
if (32 & y) { | |
r.mode = 12; | |
break e; | |
} | |
(e.msg = 'invalid literal/length code'), (r.mode = 30); | |
break e; | |
} | |
(w = 65535 & v), | |
(y &= 15) && | |
(p < y && ((d += z[n++] << p), (p += 8)), | |
(w += d & ((1 << y) - 1)), | |
(d >>>= y), | |
(p -= y)), | |
p < 15 && | |
((d += z[n++] << p), | |
(p += 8), | |
(d += z[n++] << p), | |
(p += 8)), | |
(v = _[d & b]); | |
r: for (;;) { | |
if ( | |
((d >>>= y = v >>> 24), | |
(p -= y), | |
!(16 & (y = (v >>> 16) & 255))) | |
) { | |
if (0 == (64 & y)) { | |
v = _[(65535 & v) + (d & ((1 << y) - 1))]; | |
continue r; | |
} | |
(e.msg = 'invalid distance code'), (r.mode = 30); | |
break e; | |
} | |
if ( | |
((k = 65535 & v), | |
p < (y &= 15) && | |
((d += z[n++] << p), | |
(p += 8) < y && ((d += z[n++] << p), (p += 8))), | |
h < (k += d & ((1 << y) - 1))) | |
) { | |
(e.msg = 'invalid distance too far back'), (r.mode = 30); | |
break e; | |
} | |
if (((d >>>= y), (p -= y), (y = s - a) < k)) { | |
if (l < (y = k - y) && r.sane) { | |
(e.msg = 'invalid distance too far back'), | |
(r.mode = 30); | |
break e; | |
} | |
if (((S = c), (x = 0) === f)) { | |
if (((x += u - y), y < w)) { | |
for (w -= y; (C[s++] = c[x++]), --y; ); | |
(x = s - k), (S = C); | |
} | |
} else if (f < y) { | |
if (((x += u + f - y), (y -= f) < w)) { | |
for (w -= y; (C[s++] = c[x++]), --y; ); | |
if (((x = 0), f < w)) { | |
for (w -= y = f; (C[s++] = c[x++]), --y; ); | |
(x = s - k), (S = C); | |
} | |
} | |
} else if (((x += f - y), y < w)) { | |
for (w -= y; (C[s++] = c[x++]), --y; ); | |
(x = s - k), (S = C); | |
} | |
for (; 2 < w; ) | |
(C[s++] = S[x++]), | |
(C[s++] = S[x++]), | |
(C[s++] = S[x++]), | |
(w -= 3); | |
w && ((C[s++] = S[x++]), 1 < w && (C[s++] = S[x++])); | |
} else { | |
for ( | |
x = s - k; | |
(C[s++] = C[x++]), | |
(C[s++] = C[x++]), | |
(C[s++] = C[x++]), | |
2 < (w -= 3); | |
); | |
w && ((C[s++] = C[x++]), 1 < w && (C[s++] = C[x++])); | |
} | |
break; | |
} | |
} | |
break; | |
} | |
} while (n < i && s < o); | |
(n -= w = p >> 3), | |
(d &= (1 << (p -= w << 3)) - 1), | |
(e.next_in = n), | |
(e.next_out = s), | |
(e.avail_in = n < i ? i - n + 5 : 5 - (n - i)), | |
(e.avail_out = s < o ? o - s + 257 : 257 - (s - o)), | |
(r.hold = d), | |
(r.bits = p); | |
}; | |
}, | |
{}, | |
], | |
49: [ | |
function (e, t, r) { | |
'use strict'; | |
var I = e('../utils/common'), | |
O = e('./adler32'), | |
B = e('./crc32'), | |
R = e('./inffast'), | |
T = e('./inftrees'), | |
D = 1, | |
F = 2, | |
N = 0, | |
U = -2, | |
P = 1, | |
n = 852, | |
i = 592; | |
function L(e) { | |
return ( | |
((e >>> 24) & 255) + | |
((e >>> 8) & 65280) + | |
((65280 & e) << 8) + | |
((255 & e) << 24) | |
); | |
} | |
function s() { | |
(this.mode = 0), | |
(this.last = !1), | |
(this.wrap = 0), | |
(this.havedict = !1), | |
(this.flags = 0), | |
(this.dmax = 0), | |
(this.check = 0), | |
(this.total = 0), | |
(this.head = null), | |
(this.wbits = 0), | |
(this.wsize = 0), | |
(this.whave = 0), | |
(this.wnext = 0), | |
(this.window = null), | |
(this.hold = 0), | |
(this.bits = 0), | |
(this.length = 0), | |
(this.offset = 0), | |
(this.extra = 0), | |
(this.lencode = null), | |
(this.distcode = null), | |
(this.lenbits = 0), | |
(this.distbits = 0), | |
(this.ncode = 0), | |
(this.nlen = 0), | |
(this.ndist = 0), | |
(this.have = 0), | |
(this.next = null), | |
(this.lens = new I.Buf16(320)), | |
(this.work = new I.Buf16(288)), | |
(this.lendyn = null), | |
(this.distdyn = null), | |
(this.sane = 0), | |
(this.back = 0), | |
(this.was = 0); | |
} | |
function a(e) { | |
var t; | |
return e && e.state | |
? ((t = e.state), | |
(e.total_in = e.total_out = t.total = 0), | |
(e.msg = ''), | |
t.wrap && (e.adler = 1 & t.wrap), | |
(t.mode = P), | |
(t.last = 0), | |
(t.havedict = 0), | |
(t.dmax = 32768), | |
(t.head = null), | |
(t.hold = 0), | |
(t.bits = 0), | |
(t.lencode = t.lendyn = new I.Buf32(n)), | |
(t.distcode = t.distdyn = new I.Buf32(i)), | |
(t.sane = 1), | |
(t.back = -1), | |
N) | |
: U; | |
} | |
function o(e) { | |
var t; | |
return e && e.state | |
? (((t = e.state).wsize = 0), (t.whave = 0), (t.wnext = 0), a(e)) | |
: U; | |
} | |
function h(e, t) { | |
var r, n; | |
return e && e.state | |
? ((n = e.state), | |
t < 0 | |
? ((r = 0), (t = -t)) | |
: ((r = 1 + (t >> 4)), t < 48 && (t &= 15)), | |
t && (t < 8 || 15 < t) | |
? U | |
: (null !== n.window && n.wbits !== t && (n.window = null), | |
(n.wrap = r), | |
(n.wbits = t), | |
o(e))) | |
: U; | |
} | |
function u(e, t) { | |
var r, n; | |
return e | |
? ((n = new s()), | |
((e.state = n).window = null), | |
(r = h(e, t)) !== N && (e.state = null), | |
r) | |
: U; | |
} | |
var l, | |
f, | |
c = !0; | |
function j(e) { | |
if (c) { | |
var t; | |
for (l = new I.Buf32(512), f = new I.Buf32(32), t = 0; t < 144; ) | |
e.lens[t++] = 8; | |
for (; t < 256; ) e.lens[t++] = 9; | |
for (; t < 280; ) e.lens[t++] = 7; | |
for (; t < 288; ) e.lens[t++] = 8; | |
for ( | |
T(D, e.lens, 0, 288, l, 0, e.work, {bits: 9}), t = 0; | |
t < 32; | |
) | |
e.lens[t++] = 5; | |
T(F, e.lens, 0, 32, f, 0, e.work, {bits: 5}), (c = !1); | |
} | |
(e.lencode = l), | |
(e.lenbits = 9), | |
(e.distcode = f), | |
(e.distbits = 5); | |
} | |
function Z(e, t, r, n) { | |
var i, | |
s = e.state; | |
return ( | |
null === s.window && | |
((s.wsize = 1 << s.wbits), | |
(s.wnext = 0), | |
(s.whave = 0), | |
(s.window = new I.Buf8(s.wsize))), | |
n >= s.wsize | |
? (I.arraySet(s.window, t, r - s.wsize, s.wsize, 0), | |
(s.wnext = 0), | |
(s.whave = s.wsize)) | |
: (n < (i = s.wsize - s.wnext) && (i = n), | |
I.arraySet(s.window, t, r - n, i, s.wnext), | |
(n -= i) | |
? (I.arraySet(s.window, t, r - n, n, 0), | |
(s.wnext = n), | |
(s.whave = s.wsize)) | |
: ((s.wnext += i), | |
s.wnext === s.wsize && (s.wnext = 0), | |
s.whave < s.wsize && (s.whave += i))), | |
0 | |
); | |
} | |
(r.inflateReset = o), | |
(r.inflateReset2 = h), | |
(r.inflateResetKeep = a), | |
(r.inflateInit = function (e) { | |
return u(e, 15); | |
}), | |
(r.inflateInit2 = u), | |
(r.inflate = function (e, t) { | |
var r, | |
n, | |
i, | |
s, | |
a, | |
o, | |
h, | |
u, | |
l, | |
f, | |
c, | |
d, | |
p, | |
m, | |
_, | |
g, | |
b, | |
v, | |
y, | |
w, | |
k, | |
x, | |
S, | |
z, | |
C = 0, | |
E = new I.Buf8(4), | |
A = [ | |
16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, | |
15, | |
]; | |
if (!e || !e.state || !e.output || (!e.input && 0 !== e.avail_in)) | |
return U; | |
12 === (r = e.state).mode && (r.mode = 13), | |
(a = e.next_out), | |
(i = e.output), | |
(h = e.avail_out), | |
(s = e.next_in), | |
(n = e.input), | |
(o = e.avail_in), | |
(u = r.hold), | |
(l = r.bits), | |
(f = o), | |
(c = h), | |
(x = N); | |
e: for (;;) | |
switch (r.mode) { | |
case P: | |
if (0 === r.wrap) { | |
r.mode = 13; | |
break; | |
} | |
for (; l < 16; ) { | |
if (0 === o) break e; | |
o--, (u += n[s++] << l), (l += 8); | |
} | |
if (2 & r.wrap && 35615 === u) { | |
(E[(r.check = 0)] = 255 & u), | |
(E[1] = (u >>> 8) & 255), | |
(r.check = B(r.check, E, 2, 0)), | |
(l = u = 0), | |
(r.mode = 2); | |
break; | |
} | |
if ( | |
((r.flags = 0), | |
r.head && (r.head.done = !1), | |
!(1 & r.wrap) || (((255 & u) << 8) + (u >> 8)) % 31) | |
) { | |
(e.msg = 'incorrect header check'), (r.mode = 30); | |
break; | |
} | |
if (8 != (15 & u)) { | |
(e.msg = 'unknown compression method'), (r.mode = 30); | |
break; | |
} | |
if (((l -= 4), (k = 8 + (15 & (u >>>= 4))), 0 === r.wbits)) | |
r.wbits = k; | |
else if (k > r.wbits) { | |
(e.msg = 'invalid window size'), (r.mode = 30); | |
break; | |
} | |
(r.dmax = 1 << k), | |
(e.adler = r.check = 1), | |
(r.mode = 512 & u ? 10 : 12), | |
(l = u = 0); | |
break; | |
case 2: | |
for (; l < 16; ) { | |
if (0 === o) break e; | |
o--, (u += n[s++] << l), (l += 8); | |
} | |
if (((r.flags = u), 8 != (255 & r.flags))) { | |
(e.msg = 'unknown compression method'), (r.mode = 30); | |
break; | |
} | |
if (57344 & r.flags) { | |
(e.msg = 'unknown header flags set'), (r.mode = 30); | |
break; | |
} | |
r.head && (r.head.text = (u >> 8) & 1), | |
512 & r.flags && | |
((E[0] = 255 & u), | |
(E[1] = (u >>> 8) & 255), | |
(r.check = B(r.check, E, 2, 0))), | |
(l = u = 0), | |
(r.mode = 3); | |
case 3: | |
for (; l < 32; ) { | |
if (0 === o) break e; | |
o--, (u += n[s++] << l), (l += 8); | |
} | |
r.head && (r.head.time = u), | |
512 & r.flags && | |
((E[0] = 255 & u), | |
(E[1] = (u >>> 8) & 255), | |
(E[2] = (u >>> 16) & 255), | |
(E[3] = (u >>> 24) & 255), | |
(r.check = B(r.check, E, 4, 0))), | |
(l = u = 0), | |
(r.mode = 4); | |
case 4: | |
for (; l < 16; ) { | |
if (0 === o) break e; | |
o--, (u += n[s++] << l), (l += 8); | |
} | |
r.head && ((r.head.xflags = 255 & u), (r.head.os = u >> 8)), | |
512 & r.flags && | |
((E[0] = 255 & u), | |
(E[1] = (u >>> 8) & 255), | |
(r.check = B(r.check, E, 2, 0))), | |
(l = u = 0), | |
(r.mode = 5); | |
case 5: | |
if (1024 & r.flags) { | |
for (; l < 16; ) { | |
if (0 === o) break e; | |
o--, (u += n[s++] << l), (l += 8); | |
} | |
(r.length = u), | |
r.head && (r.head.extra_len = u), | |
512 & r.flags && | |
((E[0] = 255 & u), | |
(E[1] = (u >>> 8) & 255), | |
(r.check = B(r.check, E, 2, 0))), | |
(l = u = 0); | |
} else r.head && (r.head.extra = null); | |
r.mode = 6; | |
case 6: | |
if ( | |
1024 & r.flags && | |
(o < (d = r.length) && (d = o), | |
d && | |
(r.head && | |
((k = r.head.extra_len - r.length), | |
r.head.extra || | |
(r.head.extra = new Array(r.head.extra_len)), | |
I.arraySet(r.head.extra, n, s, d, k)), | |
512 & r.flags && (r.check = B(r.check, n, d, s)), | |
(o -= d), | |
(s += d), | |
(r.length -= d)), | |
r.length) | |
) | |
break e; | |
(r.length = 0), (r.mode = 7); | |
case 7: | |
if (2048 & r.flags) { | |
if (0 === o) break e; | |
for ( | |
d = 0; | |
(k = n[s + d++]), | |
r.head && | |
k && | |
r.length < 65536 && | |
(r.head.name += String.fromCharCode(k)), | |
k && d < o; | |
); | |
if ( | |
(512 & r.flags && (r.check = B(r.check, n, d, s)), | |
(o -= d), | |
(s += d), | |
k) | |
) | |
break e; | |
} else r.head && (r.head.name = null); | |
(r.length = 0), (r.mode = 8); | |
case 8: | |
if (4096 & r.flags) { | |
if (0 === o) break e; | |
for ( | |
d = 0; | |
(k = n[s + d++]), | |
r.head && | |
k && | |
r.length < 65536 && | |
(r.head.comment += String.fromCharCode(k)), | |
k && d < o; | |
); | |
if ( | |
(512 & r.flags && (r.check = B(r.check, n, d, s)), | |
(o -= d), | |
(s += d), | |
k) | |
) | |
break e; | |
} else r.head && (r.head.comment = null); | |
r.mode = 9; | |
case 9: | |
if (512 & r.flags) { | |
for (; l < 16; ) { | |
if (0 === o) break e; | |
o--, (u += n[s++] << l), (l += 8); | |
} | |
if (u !== (65535 & r.check)) { | |
(e.msg = 'header crc mismatch'), (r.mode = 30); | |
break; | |
} | |
l = u = 0; | |
} | |
r.head && | |
((r.head.hcrc = (r.flags >> 9) & 1), (r.head.done = !0)), | |
(e.adler = r.check = 0), | |
(r.mode = 12); | |
break; | |
case 10: | |
for (; l < 32; ) { | |
if (0 === o) break e; | |
o--, (u += n[s++] << l), (l += 8); | |
} | |
(e.adler = r.check = L(u)), (l = u = 0), (r.mode = 11); | |
case 11: | |
if (0 === r.havedict) | |
return ( | |
(e.next_out = a), | |
(e.avail_out = h), | |
(e.next_in = s), | |
(e.avail_in = o), | |
(r.hold = u), | |
(r.bits = l), | |
2 | |
); | |
(e.adler = r.check = 1), (r.mode = 12); | |
case 12: | |
if (5 === t || 6 === t) break e; | |
case 13: | |
if (r.last) { | |
(u >>>= 7 & l), (l -= 7 & l), (r.mode = 27); | |
break; | |
} | |
for (; l < 3; ) { | |
if (0 === o) break e; | |
o--, (u += n[s++] << l), (l += 8); | |
} | |
switch (((r.last = 1 & u), (l -= 1), 3 & (u >>>= 1))) { | |
case 0: | |
r.mode = 14; | |
break; | |
case 1: | |
if ((j(r), (r.mode = 20), 6 !== t)) break; | |
(u >>>= 2), (l -= 2); | |
break e; | |
case 2: | |
r.mode = 17; | |
break; | |
case 3: | |
(e.msg = 'invalid block type'), (r.mode = 30); | |
} | |
(u >>>= 2), (l -= 2); | |
break; | |
case 14: | |
for (u >>>= 7 & l, l -= 7 & l; l < 32; ) { | |
if (0 === o) break e; | |
o--, (u += n[s++] << l), (l += 8); | |
} | |
if ((65535 & u) != ((u >>> 16) ^ 65535)) { | |
(e.msg = 'invalid stored block lengths'), (r.mode = 30); | |
break; | |
} | |
if ( | |
((r.length = 65535 & u), | |
(l = u = 0), | |
(r.mode = 15), | |
6 === t) | |
) | |
break e; | |
case 15: | |
r.mode = 16; | |
case 16: | |
if ((d = r.length)) { | |
if ((o < d && (d = o), h < d && (d = h), 0 === d)) | |
break e; | |
I.arraySet(i, n, s, d, a), | |
(o -= d), | |
(s += d), | |
(h -= d), | |
(a += d), | |
(r.length -= d); | |
break; | |
} | |
r.mode = 12; | |
break; | |
case 17: | |
for (; l < 14; ) { | |
if (0 === o) break e; | |
o--, (u += n[s++] << l), (l += 8); | |
} | |
if ( | |
((r.nlen = 257 + (31 & u)), | |
(u >>>= 5), | |
(l -= 5), | |
(r.ndist = 1 + (31 & u)), | |
(u >>>= 5), | |
(l -= 5), | |
(r.ncode = 4 + (15 & u)), | |
(u >>>= 4), | |
(l -= 4), | |
286 < r.nlen || 30 < r.ndist) | |
) { | |
(e.msg = 'too many length or distance symbols'), | |
(r.mode = 30); | |
break; | |
} | |
(r.have = 0), (r.mode = 18); | |
case 18: | |
for (; r.have < r.ncode; ) { | |
for (; l < 3; ) { | |
if (0 === o) break e; | |
o--, (u += n[s++] << l), (l += 8); | |
} | |
(r.lens[A[r.have++]] = 7 & u), (u >>>= 3), (l -= 3); | |
} | |
for (; r.have < 19; ) r.lens[A[r.have++]] = 0; | |
if ( | |
((r.lencode = r.lendyn), | |
(r.lenbits = 7), | |
(S = {bits: r.lenbits}), | |
(x = T(0, r.lens, 0, 19, r.lencode, 0, r.work, S)), | |
(r.lenbits = S.bits), | |
x) | |
) { | |
(e.msg = 'invalid code lengths set'), (r.mode = 30); | |
break; | |
} | |
(r.have = 0), (r.mode = 19); | |
case 19: | |
for (; r.have < r.nlen + r.ndist; ) { | |
for ( | |
; | |
(g = | |
((C = r.lencode[u & ((1 << r.lenbits) - 1)]) >>> 16) & | |
255), | |
(b = 65535 & C), | |
!((_ = C >>> 24) <= l); | |
) { | |
if (0 === o) break e; | |
o--, (u += n[s++] << l), (l += 8); | |
} | |
if (b < 16) (u >>>= _), (l -= _), (r.lens[r.have++] = b); | |
else { | |
if (16 === b) { | |
for (z = _ + 2; l < z; ) { | |
if (0 === o) break e; | |
o--, (u += n[s++] << l), (l += 8); | |
} | |
if (((u >>>= _), (l -= _), 0 === r.have)) { | |
(e.msg = 'invalid bit length repeat'), | |
(r.mode = 30); | |
break; | |
} | |
(k = r.lens[r.have - 1]), | |
(d = 3 + (3 & u)), | |
(u >>>= 2), | |
(l -= 2); | |
} else if (17 === b) { | |
for (z = _ + 3; l < z; ) { | |
if (0 === o) break e; | |
o--, (u += n[s++] << l), (l += 8); | |
} | |
(l -= _), | |
(k = 0), | |
(d = 3 + (7 & (u >>>= _))), | |
(u >>>= 3), | |
(l -= 3); | |
} else { | |
for (z = _ + 7; l < z; ) { | |
if (0 === o) break e; | |
o--, (u += n[s++] << l), (l += 8); | |
} | |
(l -= _), | |
(k = 0), | |
(d = 11 + (127 & (u >>>= _))), | |
(u >>>= 7), | |
(l -= 7); | |
} | |
if (r.have + d > r.nlen + r.ndist) { | |
(e.msg = 'invalid bit length repeat'), (r.mode = 30); | |
break; | |
} | |
for (; d--; ) r.lens[r.have++] = k; | |
} | |
} | |
if (30 === r.mode) break; | |
if (0 === r.lens[256]) { | |
(e.msg = 'invalid code -- missing end-of-block'), | |
(r.mode = 30); | |
break; | |
} | |
if ( | |
((r.lenbits = 9), | |
(S = {bits: r.lenbits}), | |
(x = T(D, r.lens, 0, r.nlen, r.lencode, 0, r.work, S)), | |
(r.lenbits = S.bits), | |
x) | |
) { | |
(e.msg = 'invalid literal/lengths set'), (r.mode = 30); | |
break; | |
} | |
if ( | |
((r.distbits = 6), | |
(r.distcode = r.distdyn), | |
(S = {bits: r.distbits}), | |
(x = T( | |
F, | |
r.lens, | |
r.nlen, | |
r.ndist, | |
r.distcode, | |
0, | |
r.work, | |
S, | |
)), | |
(r.distbits = S.bits), | |
x) | |
) { | |
(e.msg = 'invalid distances set'), (r.mode = 30); | |
break; | |
} | |
if (((r.mode = 20), 6 === t)) break e; | |
case 20: | |
r.mode = 21; | |
case 21: | |
if (6 <= o && 258 <= h) { | |
(e.next_out = a), | |
(e.avail_out = h), | |
(e.next_in = s), | |
(e.avail_in = o), | |
(r.hold = u), | |
(r.bits = l), | |
R(e, c), | |
(a = e.next_out), | |
(i = e.output), | |
(h = e.avail_out), | |
(s = e.next_in), | |
(n = e.input), | |
(o = e.avail_in), | |
(u = r.hold), | |
(l = r.bits), | |
12 === r.mode && (r.back = -1); | |
break; | |
} | |
for ( | |
r.back = 0; | |
(g = | |
((C = r.lencode[u & ((1 << r.lenbits) - 1)]) >>> 16) & | |
255), | |
(b = 65535 & C), | |
!((_ = C >>> 24) <= l); | |
) { | |
if (0 === o) break e; | |
o--, (u += n[s++] << l), (l += 8); | |
} | |
if (g && 0 == (240 & g)) { | |
for ( | |
v = _, y = g, w = b; | |
(g = | |
((C = | |
r.lencode[ | |
w + ((u & ((1 << (v + y)) - 1)) >> v) | |
]) >>> | |
16) & | |
255), | |
(b = 65535 & C), | |
!(v + (_ = C >>> 24) <= l); | |
) { | |
if (0 === o) break e; | |
o--, (u += n[s++] << l), (l += 8); | |
} | |
(u >>>= v), (l -= v), (r.back += v); | |
} | |
if ( | |
((u >>>= _), | |
(l -= _), | |
(r.back += _), | |
(r.length = b), | |
0 === g) | |
) { | |
r.mode = 26; | |
break; | |
} | |
if (32 & g) { | |
(r.back = -1), (r.mode = 12); | |
break; | |
} | |
if (64 & g) { | |
(e.msg = 'invalid literal/length code'), (r.mode = 30); | |
break; | |
} | |
(r.extra = 15 & g), (r.mode = 22); | |
case 22: | |
if (r.extra) { | |
for (z = r.extra; l < z; ) { | |
if (0 === o) break e; | |
o--, (u += n[s++] << l), (l += 8); | |
} | |
(r.length += u & ((1 << r.extra) - 1)), | |
(u >>>= r.extra), | |
(l -= r.extra), | |
(r.back += r.extra); | |
} | |
(r.was = r.length), (r.mode = 23); | |
case 23: | |
for ( | |
; | |
(g = | |
((C = r.distcode[u & ((1 << r.distbits) - 1)]) >>> 16) & | |
255), | |
(b = 65535 & C), | |
!((_ = C >>> 24) <= l); | |
) { | |
if (0 === o) break e; | |
o--, (u += n[s++] << l), (l += 8); | |
} | |
if (0 == (240 & g)) { | |
for ( | |
v = _, y = g, w = b; | |
(g = | |
((C = | |
r.distcode[ | |
w + ((u & ((1 << (v + y)) - 1)) >> v) | |
]) >>> | |
16) & | |
255), | |
(b = 65535 & C), | |
!(v + (_ = C >>> 24) <= l); | |
) { | |
if (0 === o) break e; | |
o--, (u += n[s++] << l), (l += 8); | |
} | |
(u >>>= v), (l -= v), (r.back += v); | |
} | |
if (((u >>>= _), (l -= _), (r.back += _), 64 & g)) { | |
(e.msg = 'invalid distance code'), (r.mode = 30); | |
break; | |
} | |
(r.offset = b), (r.extra = 15 & g), (r.mode = 24); | |
case 24: | |
if (r.extra) { | |
for (z = r.extra; l < z; ) { | |
if (0 === o) break e; | |
o--, (u += n[s++] << l), (l += 8); | |
} | |
(r.offset += u & ((1 << r.extra) - 1)), | |
(u >>>= r.extra), | |
(l -= r.extra), | |
(r.back += r.extra); | |
} | |
if (r.offset > r.dmax) { | |
(e.msg = 'invalid distance too far back'), (r.mode = 30); | |
break; | |
} | |
r.mode = 25; | |
case 25: | |
if (0 === h) break e; | |
if (((d = c - h), r.offset > d)) { | |
if ((d = r.offset - d) > r.whave && r.sane) { | |
(e.msg = 'invalid distance too far back'), | |
(r.mode = 30); | |
break; | |
} | |
(p = | |
d > r.wnext | |
? ((d -= r.wnext), r.wsize - d) | |
: r.wnext - d), | |
d > r.length && (d = r.length), | |
(m = r.window); | |
} else (m = i), (p = a - r.offset), (d = r.length); | |
for ( | |
h < d && (d = h), h -= d, r.length -= d; | |
(i[a++] = m[p++]), --d; | |
); | |
0 === r.length && (r.mode = 21); | |
break; | |
case 26: | |
if (0 === h) break e; | |
(i[a++] = r.length), h--, (r.mode = 21); | |
break; | |
case 27: | |
if (r.wrap) { | |
for (; l < 32; ) { | |
if (0 === o) break e; | |
o--, (u |= n[s++] << l), (l += 8); | |
} | |
if ( | |
((c -= h), | |
(e.total_out += c), | |
(r.total += c), | |
c && | |
(e.adler = r.check = | |
r.flags | |
? B(r.check, i, c, a - c) | |
: O(r.check, i, c, a - c)), | |
(c = h), | |
(r.flags ? u : L(u)) !== r.check) | |
) { | |
(e.msg = 'incorrect data check'), (r.mode = 30); | |
break; | |
} | |
l = u = 0; | |
} | |
r.mode = 28; | |
case 28: | |
if (r.wrap && r.flags) { | |
for (; l < 32; ) { | |
if (0 === o) break e; | |
o--, (u += n[s++] << l), (l += 8); | |
} | |
if (u !== (4294967295 & r.total)) { | |
(e.msg = 'incorrect length check'), (r.mode = 30); | |
break; | |
} | |
l = u = 0; | |
} | |
r.mode = 29; | |
case 29: | |
x = 1; | |
break e; | |
case 30: | |
x = -3; | |
break e; | |
case 31: | |
return -4; | |
case 32: | |
default: | |
return U; | |
} | |
return ( | |
(e.next_out = a), | |
(e.avail_out = h), | |
(e.next_in = s), | |
(e.avail_in = o), | |
(r.hold = u), | |
(r.bits = l), | |
(r.wsize || | |
(c !== e.avail_out && | |
r.mode < 30 && | |
(r.mode < 27 || 4 !== t))) && | |
Z(e, e.output, e.next_out, c - e.avail_out) | |
? ((r.mode = 31), -4) | |
: ((f -= e.avail_in), | |
(c -= e.avail_out), | |
(e.total_in += f), | |
(e.total_out += c), | |
(r.total += c), | |
r.wrap && | |
c && | |
(e.adler = r.check = | |
r.flags | |
? B(r.check, i, c, e.next_out - c) | |
: O(r.check, i, c, e.next_out - c)), | |
(e.data_type = | |
r.bits + | |
(r.last ? 64 : 0) + | |
(12 === r.mode ? 128 : 0) + | |
(20 === r.mode || 15 === r.mode ? 256 : 0)), | |
((0 == f && 0 === c) || 4 === t) && x === N && (x = -5), | |
x) | |
); | |
}), | |
(r.inflateEnd = function (e) { | |
if (!e || !e.state) return U; | |
var t = e.state; | |
return t.window && (t.window = null), (e.state = null), N; | |
}), | |
(r.inflateGetHeader = function (e, t) { | |
var r; | |
return e && e.state | |
? 0 == (2 & (r = e.state).wrap) | |
? U | |
: (((r.head = t).done = !1), N) | |
: U; | |
}), | |
(r.inflateSetDictionary = function (e, t) { | |
var r, | |
n = t.length; | |
return e && e.state | |
? 0 !== (r = e.state).wrap && 11 !== r.mode | |
? U | |
: 11 === r.mode && O(1, t, n, 0) !== r.check | |
? -3 | |
: Z(e, t, n, n) | |
? ((r.mode = 31), -4) | |
: ((r.havedict = 1), N) | |
: U; | |
}), | |
(r.inflateInfo = 'pako inflate (from Nodeca project)'); | |
}, | |
{ | |
'../utils/common': 41, | |
'./adler32': 43, | |
'./crc32': 45, | |
'./inffast': 48, | |
'./inftrees': 50, | |
}, | |
], | |
50: [ | |
function (e, t, r) { | |
'use strict'; | |
var D = e('../utils/common'), | |
F = [ | |
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, | |
], | |
N = [ | |
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, | |
], | |
U = [ | |
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, | |
], | |
P = [ | |
16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, | |
23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64, | |
]; | |
t.exports = function (e, t, r, n, i, s, a, o) { | |
var h, | |
u, | |
l, | |
f, | |
c, | |
d, | |
p, | |
m, | |
_, | |
g = o.bits, | |
b = 0, | |
v = 0, | |
y = 0, | |
w = 0, | |
k = 0, | |
x = 0, | |
S = 0, | |
z = 0, | |
C = 0, | |
E = 0, | |
A = null, | |
I = 0, | |
O = new D.Buf16(16), | |
B = new D.Buf16(16), | |
R = null, | |
T = 0; | |
for (b = 0; b <= 15; b++) O[b] = 0; | |
for (v = 0; v < n; v++) O[t[r + v]]++; | |
for (k = g, w = 15; 1 <= w && 0 === O[w]; w--); | |
if ((w < k && (k = w), 0 === w)) | |
return (i[s++] = 20971520), (i[s++] = 20971520), (o.bits = 1), 0; | |
for (y = 1; y < w && 0 === O[y]; y++); | |
for (k < y && (k = y), b = z = 1; b <= 15; b++) | |
if (((z <<= 1), (z -= O[b]) < 0)) return -1; | |
if (0 < z && (0 === e || 1 !== w)) return -1; | |
for (B[1] = 0, b = 1; b < 15; b++) B[b + 1] = B[b] + O[b]; | |
for (v = 0; v < n; v++) 0 !== t[r + v] && (a[B[t[r + v]]++] = v); | |
if ( | |
((d = | |
0 === e | |
? ((A = R = a), 19) | |
: 1 === e | |
? ((A = F), (I -= 257), (R = N), (T -= 257), 256) | |
: ((A = U), (R = P), -1)), | |
(b = y), | |
(c = s), | |
(S = v = E = 0), | |
(l = -1), | |
(f = (C = 1 << (x = k)) - 1), | |
(1 === e && 852 < C) || (2 === e && 592 < C)) | |
) | |
return 1; | |
for (;;) { | |
for ( | |
p = b - S, | |
_ = | |
a[v] < d | |
? ((m = 0), a[v]) | |
: a[v] > d | |
? ((m = R[T + a[v]]), A[I + a[v]]) | |
: ((m = 96), 0), | |
h = 1 << (b - S), | |
y = u = 1 << x; | |
(i[c + (E >> S) + (u -= h)] = (p << 24) | (m << 16) | _ | 0), | |
0 !== u; | |
); | |
for (h = 1 << (b - 1); E & h; ) h >>= 1; | |
if ( | |
(0 !== h ? ((E &= h - 1), (E += h)) : (E = 0), v++, 0 == --O[b]) | |
) { | |
if (b === w) break; | |
b = t[r + a[v]]; | |
} | |
if (k < b && (E & f) !== l) { | |
for ( | |
0 === S && (S = k), c += y, z = 1 << (x = b - S); | |
x + S < w && !((z -= O[x + S]) <= 0); | |
) | |
x++, (z <<= 1); | |
if ( | |
((C += 1 << x), (1 === e && 852 < C) || (2 === e && 592 < C)) | |
) | |
return 1; | |
i[(l = E & f)] = (k << 24) | (x << 16) | (c - s) | 0; | |
} | |
} | |
return ( | |
0 !== E && (i[c + E] = ((b - S) << 24) | (64 << 16) | 0), | |
(o.bits = k), | |
0 | |
); | |
}; | |
}, | |
{'../utils/common': 41}, | |
], | |
51: [ | |
function (e, t, r) { | |
'use strict'; | |
t.exports = { | |
2: 'need dictionary', | |
1: 'stream end', | |
0: '', | |
'-1': 'file error', | |
'-2': 'stream error', | |
'-3': 'data error', | |
'-4': 'insufficient memory', | |
'-5': 'buffer error', | |
'-6': 'incompatible version', | |
}; | |
}, | |
{}, | |
], | |
52: [ | |
function (e, t, r) { | |
'use strict'; | |
var i = e('../utils/common'), | |
o = 0, | |
h = 1; | |
function n(e) { | |
for (var t = e.length; 0 <= --t; ) e[t] = 0; | |
} | |
var s = 0, | |
a = 29, | |
u = 256, | |
l = u + 1 + a, | |
f = 30, | |
c = 19, | |
_ = 2 * l + 1, | |
g = 15, | |
d = 16, | |
p = 7, | |
m = 256, | |
b = 16, | |
v = 17, | |
y = 18, | |
w = [ | |
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, | |
4, 4, 5, 5, 5, 5, 0, | |
], | |
k = [ | |
0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, | |
10, 10, 11, 11, 12, 12, 13, 13, | |
], | |
x = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7], | |
S = [ | |
16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15, | |
], | |
z = new Array(2 * (l + 2)); | |
n(z); | |
var C = new Array(2 * f); | |
n(C); | |
var E = new Array(512); | |
n(E); | |
var A = new Array(256); | |
n(A); | |
var I = new Array(a); | |
n(I); | |
var O, | |
B, | |
R, | |
T = new Array(f); | |
function D(e, t, r, n, i) { | |
(this.static_tree = e), | |
(this.extra_bits = t), | |
(this.extra_base = r), | |
(this.elems = n), | |
(this.max_length = i), | |
(this.has_stree = e && e.length); | |
} | |
function F(e, t) { | |
(this.dyn_tree = e), (this.max_code = 0), (this.stat_desc = t); | |
} | |
function N(e) { | |
return e < 256 ? E[e] : E[256 + (e >>> 7)]; | |
} | |
function U(e, t) { | |
(e.pending_buf[e.pending++] = 255 & t), | |
(e.pending_buf[e.pending++] = (t >>> 8) & 255); | |
} | |
function P(e, t, r) { | |
e.bi_valid > d - r | |
? ((e.bi_buf |= (t << e.bi_valid) & 65535), | |
U(e, e.bi_buf), | |
(e.bi_buf = t >> (d - e.bi_valid)), | |
(e.bi_valid += r - d)) | |
: ((e.bi_buf |= (t << e.bi_valid) & 65535), (e.bi_valid += r)); | |
} | |
function L(e, t, r) { | |
P(e, r[2 * t], r[2 * t + 1]); | |
} | |
function j(e, t) { | |
for (var r = 0; (r |= 1 & e), (e >>>= 1), (r <<= 1), 0 < --t; ); | |
return r >>> 1; | |
} | |
function Z(e, t, r) { | |
var n, | |
i, | |
s = new Array(g + 1), | |
a = 0; | |
for (n = 1; n <= g; n++) s[n] = a = (a + r[n - 1]) << 1; | |
for (i = 0; i <= t; i++) { | |
var o = e[2 * i + 1]; | |
0 !== o && (e[2 * i] = j(s[o]++, o)); | |
} | |
} | |
function W(e) { | |
var t; | |
for (t = 0; t < l; t++) e.dyn_ltree[2 * t] = 0; | |
for (t = 0; t < f; t++) e.dyn_dtree[2 * t] = 0; | |
for (t = 0; t < c; t++) e.bl_tree[2 * t] = 0; | |
(e.dyn_ltree[2 * m] = 1), | |
(e.opt_len = e.static_len = 0), | |
(e.last_lit = e.matches = 0); | |
} | |
function M(e) { | |
8 < e.bi_valid | |
? U(e, e.bi_buf) | |
: 0 < e.bi_valid && (e.pending_buf[e.pending++] = e.bi_buf), | |
(e.bi_buf = 0), | |
(e.bi_valid = 0); | |
} | |
function H(e, t, r, n) { | |
var i = 2 * t, | |
s = 2 * r; | |
return e[i] < e[s] || (e[i] === e[s] && n[t] <= n[r]); | |
} | |
function G(e, t, r) { | |
for ( | |
var n = e.heap[r], i = r << 1; | |
i <= e.heap_len && | |
(i < e.heap_len && H(t, e.heap[i + 1], e.heap[i], e.depth) && i++, | |
!H(t, n, e.heap[i], e.depth)); | |
) | |
(e.heap[r] = e.heap[i]), (r = i), (i <<= 1); | |
e.heap[r] = n; | |
} | |
function K(e, t, r) { | |
var n, | |
i, | |
s, | |
a, | |
o = 0; | |
if (0 !== e.last_lit) | |
for ( | |
; | |
(n = | |
(e.pending_buf[e.d_buf + 2 * o] << 8) | | |
e.pending_buf[e.d_buf + 2 * o + 1]), | |
(i = e.pending_buf[e.l_buf + o]), | |
o++, | |
0 === n | |
? L(e, i, t) | |
: (L(e, (s = A[i]) + u + 1, t), | |
0 !== (a = w[s]) && P(e, (i -= I[s]), a), | |
L(e, (s = N(--n)), r), | |
0 !== (a = k[s]) && P(e, (n -= T[s]), a)), | |
o < e.last_lit; | |
); | |
L(e, m, t); | |
} | |
function Y(e, t) { | |
var r, | |
n, | |
i, | |
s = t.dyn_tree, | |
a = t.stat_desc.static_tree, | |
o = t.stat_desc.has_stree, | |
h = t.stat_desc.elems, | |
u = -1; | |
for (e.heap_len = 0, e.heap_max = _, r = 0; r < h; r++) | |
0 !== s[2 * r] | |
? ((e.heap[++e.heap_len] = u = r), (e.depth[r] = 0)) | |
: (s[2 * r + 1] = 0); | |
for (; e.heap_len < 2; ) | |
(s[2 * (i = e.heap[++e.heap_len] = u < 2 ? ++u : 0)] = 1), | |
(e.depth[i] = 0), | |
e.opt_len--, | |
o && (e.static_len -= a[2 * i + 1]); | |
for (t.max_code = u, r = e.heap_len >> 1; 1 <= r; r--) G(e, s, r); | |
for ( | |
i = h; | |
(r = e.heap[1]), | |
(e.heap[1] = e.heap[e.heap_len--]), | |
G(e, s, 1), | |
(n = e.heap[1]), | |
(e.heap[--e.heap_max] = r), | |
(e.heap[--e.heap_max] = n), | |
(s[2 * i] = s[2 * r] + s[2 * n]), | |
(e.depth[i] = | |
(e.depth[r] >= e.depth[n] ? e.depth[r] : e.depth[n]) + 1), | |
(s[2 * r + 1] = s[2 * n + 1] = i), | |
(e.heap[1] = i++), | |
G(e, s, 1), | |
2 <= e.heap_len; | |
); | |
(e.heap[--e.heap_max] = e.heap[1]), | |
(function (e, t) { | |
var r, | |
n, | |
i, | |
s, | |
a, | |
o, | |
h = t.dyn_tree, | |
u = t.max_code, | |
l = t.stat_desc.static_tree, | |
f = t.stat_desc.has_stree, | |
c = t.stat_desc.extra_bits, | |
d = t.stat_desc.extra_base, | |
p = t.stat_desc.max_length, | |
m = 0; | |
for (s = 0; s <= g; s++) e.bl_count[s] = 0; | |
for ( | |
h[2 * e.heap[e.heap_max] + 1] = 0, r = e.heap_max + 1; | |
r < _; | |
r++ | |
) | |
p < (s = h[2 * h[2 * (n = e.heap[r]) + 1] + 1] + 1) && | |
((s = p), m++), | |
(h[2 * n + 1] = s), | |
u < n || | |
(e.bl_count[s]++, | |
(a = 0), | |
d <= n && (a = c[n - d]), | |
(o = h[2 * n]), | |
(e.opt_len += o * (s + a)), | |
f && (e.static_len += o * (l[2 * n + 1] + a))); | |
if (0 !== m) { | |
do { | |
for (s = p - 1; 0 === e.bl_count[s]; ) s--; | |
e.bl_count[s]--, | |
(e.bl_count[s + 1] += 2), | |
e.bl_count[p]--, | |
(m -= 2); | |
} while (0 < m); | |
for (s = p; 0 !== s; s--) | |
for (n = e.bl_count[s]; 0 !== n; ) | |
u < (i = e.heap[--r]) || | |
(h[2 * i + 1] !== s && | |
((e.opt_len += (s - h[2 * i + 1]) * h[2 * i]), | |
(h[2 * i + 1] = s)), | |
n--); | |
} | |
})(e, t), | |
Z(s, u, e.bl_count); | |
} | |
function X(e, t, r) { | |
var n, | |
i, | |
s = -1, | |
a = t[1], | |
o = 0, | |
h = 7, | |
u = 4; | |
for ( | |
0 === a && ((h = 138), (u = 3)), | |
t[2 * (r + 1) + 1] = 65535, | |
n = 0; | |
n <= r; | |
n++ | |
) | |
(i = a), | |
(a = t[2 * (n + 1) + 1]), | |
(++o < h && i === a) || | |
(o < u | |
? (e.bl_tree[2 * i] += o) | |
: 0 !== i | |
? (i !== s && e.bl_tree[2 * i]++, e.bl_tree[2 * b]++) | |
: o <= 10 | |
? e.bl_tree[2 * v]++ | |
: e.bl_tree[2 * y]++, | |
(s = i), | |
(u = | |
(o = 0) === a | |
? ((h = 138), 3) | |
: i === a | |
? ((h = 6), 3) | |
: ((h = 7), 4))); | |
} | |
function V(e, t, r) { | |
var n, | |
i, | |
s = -1, | |
a = t[1], | |
o = 0, | |
h = 7, | |
u = 4; | |
for (0 === a && ((h = 138), (u = 3)), n = 0; n <= r; n++) | |
if (((i = a), (a = t[2 * (n + 1) + 1]), !(++o < h && i === a))) { | |
if (o < u) for (; L(e, i, e.bl_tree), 0 != --o; ); | |
else | |
0 !== i | |
? (i !== s && (L(e, i, e.bl_tree), o--), | |
L(e, b, e.bl_tree), | |
P(e, o - 3, 2)) | |
: o <= 10 | |
? (L(e, v, e.bl_tree), P(e, o - 3, 3)) | |
: (L(e, y, e.bl_tree), P(e, o - 11, 7)); | |
(s = i), | |
(u = | |
(o = 0) === a | |
? ((h = 138), 3) | |
: i === a | |
? ((h = 6), 3) | |
: ((h = 7), 4)); | |
} | |
} | |
n(T); | |
var q = !1; | |
function J(e, t, r, n) { | |
P(e, (s << 1) + (n ? 1 : 0), 3), | |
(function (e, t, r, n) { | |
M(e), | |
n && (U(e, r), U(e, ~r)), | |
i.arraySet(e.pending_buf, e.window, t, r, e.pending), | |
(e.pending += r); | |
})(e, t, r, !0); | |
} | |
(r._tr_init = function (e) { | |
q || | |
((function () { | |
var e, | |
t, | |
r, | |
n, | |
i, | |
s = new Array(g + 1); | |
for (n = r = 0; n < a - 1; n++) | |
for (I[n] = r, e = 0; e < 1 << w[n]; e++) A[r++] = n; | |
for (A[r - 1] = n, n = i = 0; n < 16; n++) | |
for (T[n] = i, e = 0; e < 1 << k[n]; e++) E[i++] = n; | |
for (i >>= 7; n < f; n++) | |
for (T[n] = i << 7, e = 0; e < 1 << (k[n] - 7); e++) | |
E[256 + i++] = n; | |
for (t = 0; t <= g; t++) s[t] = 0; | |
for (e = 0; e <= 143; ) (z[2 * e + 1] = 8), e++, s[8]++; | |
for (; e <= 255; ) (z[2 * e + 1] = 9), e++, s[9]++; | |
for (; e <= 279; ) (z[2 * e + 1] = 7), e++, s[7]++; | |
for (; e <= 287; ) (z[2 * e + 1] = 8), e++, s[8]++; | |
for (Z(z, l + 1, s), e = 0; e < f; e++) | |
(C[2 * e + 1] = 5), (C[2 * e] = j(e, 5)); | |
(O = new D(z, w, u + 1, l, g)), | |
(B = new D(C, k, 0, f, g)), | |
(R = new D(new Array(0), x, 0, c, p)); | |
})(), | |
(q = !0)), | |
(e.l_desc = new F(e.dyn_ltree, O)), | |
(e.d_desc = new F(e.dyn_dtree, B)), | |
(e.bl_desc = new F(e.bl_tree, R)), | |
(e.bi_buf = 0), | |
(e.bi_valid = 0), | |
W(e); | |
}), | |
(r._tr_stored_block = J), | |
(r._tr_flush_block = function (e, t, r, n) { | |
var i, | |
s, | |
a = 0; | |
0 < e.level | |
? (2 === e.strm.data_type && | |
(e.strm.data_type = (function (e) { | |
var t, | |
r = 4093624447; | |
for (t = 0; t <= 31; t++, r >>>= 1) | |
if (1 & r && 0 !== e.dyn_ltree[2 * t]) return o; | |
if ( | |
0 !== e.dyn_ltree[18] || | |
0 !== e.dyn_ltree[20] || | |
0 !== e.dyn_ltree[26] | |
) | |
return h; | |
for (t = 32; t < u; t++) | |
if (0 !== e.dyn_ltree[2 * t]) return h; | |
return o; | |
})(e)), | |
Y(e, e.l_desc), | |
Y(e, e.d_desc), | |
(a = (function (e) { | |
var t; | |
for ( | |
X(e, e.dyn_ltree, e.l_desc.max_code), | |
X(e, e.dyn_dtree, e.d_desc.max_code), | |
Y(e, e.bl_desc), | |
t = c - 1; | |
3 <= t && 0 === e.bl_tree[2 * S[t] + 1]; | |
t-- | |
); | |
return (e.opt_len += 3 * (t + 1) + 5 + 5 + 4), t; | |
})(e)), | |
(i = (e.opt_len + 3 + 7) >>> 3), | |
(s = (e.static_len + 3 + 7) >>> 3) <= i && (i = s)) | |
: (i = s = r + 5), | |
r + 4 <= i && -1 !== t | |
? J(e, t, r, n) | |
: 4 === e.strategy || s === i | |
? (P(e, 2 + (n ? 1 : 0), 3), K(e, z, C)) | |
: (P(e, 4 + (n ? 1 : 0), 3), | |
(function (e, t, r, n) { | |
var i; | |
for ( | |
P(e, t - 257, 5), P(e, r - 1, 5), P(e, n - 4, 4), i = 0; | |
i < n; | |
i++ | |
) | |
P(e, e.bl_tree[2 * S[i] + 1], 3); | |
V(e, e.dyn_ltree, t - 1), V(e, e.dyn_dtree, r - 1); | |
})(e, e.l_desc.max_code + 1, e.d_desc.max_code + 1, a + 1), | |
K(e, e.dyn_ltree, e.dyn_dtree)), | |
W(e), | |
n && M(e); | |
}), | |
(r._tr_tally = function (e, t, r) { | |
return ( | |
(e.pending_buf[e.d_buf + 2 * e.last_lit] = (t >>> 8) & 255), | |
(e.pending_buf[e.d_buf + 2 * e.last_lit + 1] = 255 & t), | |
(e.pending_buf[e.l_buf + e.last_lit] = 255 & r), | |
e.last_lit++, | |
0 === t | |
? e.dyn_ltree[2 * r]++ | |
: (e.matches++, | |
t--, | |
e.dyn_ltree[2 * (A[r] + u + 1)]++, | |
e.dyn_dtree[2 * N(t)]++), | |
e.last_lit === e.lit_bufsize - 1 | |
); | |
}), | |
(r._tr_align = function (e) { | |
P(e, 2, 3), | |
L(e, m, z), | |
(function (e) { | |
16 === e.bi_valid | |
? (U(e, e.bi_buf), (e.bi_buf = 0), (e.bi_valid = 0)) | |
: 8 <= e.bi_valid && | |
((e.pending_buf[e.pending++] = 255 & e.bi_buf), | |
(e.bi_buf >>= 8), | |
(e.bi_valid -= 8)); | |
})(e); | |
}); | |
}, | |
{'../utils/common': 41}, | |
], | |
53: [ | |
function (e, t, r) { | |
'use strict'; | |
t.exports = function () { | |
(this.input = null), | |
(this.next_in = 0), | |
(this.avail_in = 0), | |
(this.total_in = 0), | |
(this.output = null), | |
(this.next_out = 0), | |
(this.avail_out = 0), | |
(this.total_out = 0), | |
(this.msg = ''), | |
(this.state = null), | |
(this.data_type = 2), | |
(this.adler = 0); | |
}; | |
}, | |
{}, | |
], | |
54: [ | |
function (e, t, r) { | |
(function (e) { | |
!(function (r, n) { | |
'use strict'; | |
if (!r.setImmediate) { | |
var i, | |
s, | |
t, | |
a, | |
o = 1, | |
h = {}, | |
u = !1, | |
l = r.document, | |
e = Object.getPrototypeOf && Object.getPrototypeOf(r); | |
(e = e && e.setTimeout ? e : r), | |
(i = | |
'[object process]' === {}.toString.call(r.process) | |
? function (e) { | |
process.nextTick(function () { | |
c(e); | |
}); | |
} | |
: (function () { | |
if (r.postMessage && !r.importScripts) { | |
var e = !0, | |
t = r.onmessage; | |
return ( | |
(r.onmessage = function () { | |
e = !1; | |
}), | |
r.postMessage('', '*'), | |
(r.onmessage = t), | |
e | |
); | |
} | |
})() | |
? ((a = 'setImmediate$' + Math.random() + '$'), | |
r.addEventListener | |
? r.addEventListener('message', d, !1) | |
: r.attachEvent('onmessage', d), | |
function (e) { | |
r.postMessage(a + e, '*'); | |
}) | |
: r.MessageChannel | |
? (((t = new MessageChannel()).port1.onmessage = | |
function (e) { | |
c(e.data); | |
}), | |
function (e) { | |
t.port2.postMessage(e); | |
}) | |
: l && 'onreadystatechange' in l.createElement('script') | |
? ((s = l.documentElement), | |
function (e) { | |
var t = l.createElement('script'); | |
(t.onreadystatechange = function () { | |
c(e), | |
(t.onreadystatechange = null), | |
s.removeChild(t), | |
(t = null); | |
}), | |
s.appendChild(t); | |
}) | |
: function (e) { | |
setTimeout(c, 0, e); | |
}), | |
(e.setImmediate = function (e) { | |
'function' != typeof e && (e = new Function('' + e)); | |
for ( | |
var t = new Array(arguments.length - 1), r = 0; | |
r < t.length; | |
r++ | |
) | |
t[r] = arguments[r + 1]; | |
var n = {callback: e, args: t}; | |
return (h[o] = n), i(o), o++; | |
}), | |
(e.clearImmediate = f); | |
} | |
function f(e) { | |
delete h[e]; | |
} | |
function c(e) { | |
if (u) setTimeout(c, 0, e); | |
else { | |
var t = h[e]; | |
if (t) { | |
u = !0; | |
try { | |
!(function (e) { | |
var t = e.callback, | |
r = e.args; | |
switch (r.length) { | |
case 0: | |
t(); | |
break; | |
case 1: | |
t(r[0]); | |
break; | |
case 2: | |
t(r[0], r[1]); | |
break; | |
case 3: | |
t(r[0], r[1], r[2]); | |
break; | |
default: | |
t.apply(n, r); | |
} | |
})(t); | |
} finally { | |
f(e), (u = !1); | |
} | |
} | |
} | |
} | |
function d(e) { | |
e.source === r && | |
'string' == typeof e.data && | |
0 === e.data.indexOf(a) && | |
c(+e.data.slice(a.length)); | |
} | |
})('undefined' == typeof self ? (void 0 === e ? this : e) : self); | |
}.call( | |
this, | |
'undefined' != typeof global | |
? global | |
: 'undefined' != typeof self | |
? self | |
: 'undefined' != typeof window | |
? window | |
: {}, | |
)); | |
}, | |
{}, | |
], | |
}, | |
{}, | |
[10], | |
)(10); | |
}); | |
// filesaver | |
/*! FileSaver.js | |
* A saveAs() FileSaver implementation. | |
* 2014-01-24 | |
* | |
* By Eli Grey, http://eligrey.com | |
* License: X11/MIT | |
* See LICENSE.md | |
*/ | |
/*global self */ | |
/*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */ | |
/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/main/FileSaver.js */ | |
var saveAs = | |
saveAs || | |
// IE 10+ (native saveAs) | |
(typeof navigator !== 'undefined' && | |
navigator.msSaveOrOpenBlob && | |
navigator.msSaveOrOpenBlob.bind(navigator)) || | |
// Everyone else | |
(function (view) { | |
'use strict'; | |
// IE <10 is explicitly unsupported | |
if ( | |
typeof navigator !== 'undefined' && | |
/MSIE [1-9]\./.test(navigator.userAgent) | |
) { | |
return; | |
} | |
var doc = view.document, | |
// only get URL when necessary in case BlobBuilder.js hasn't overridden it yet | |
get_URL = function () { | |
return view.URL || view.webkitURL || view; | |
}, | |
URL = view.URL || view.webkitURL || view, | |
save_link = doc.createElementNS('http://www.w3.org/1999/xhtml', 'a'), | |
can_use_save_link = !view.externalHost && 'download' in save_link, | |
click = function (node) { | |
var event = doc.createEvent('MouseEvents'); | |
event.initMouseEvent( | |
'click', | |
true, | |
false, | |
view, | |
0, | |
0, | |
0, | |
0, | |
0, | |
false, | |
false, | |
false, | |
false, | |
0, | |
null, | |
); | |
node.dispatchEvent(event); | |
}, | |
webkit_req_fs = view.webkitRequestFileSystem, | |
req_fs = | |
view.requestFileSystem || webkit_req_fs || view.mozRequestFileSystem, | |
throw_outside = function (ex) { | |
(view.setImmediate || view.setTimeout)(function () { | |
throw ex; | |
}, 0); | |
}, | |
force_saveable_type = 'application/octet-stream', | |
fs_min_size = 0, | |
deletion_queue = [], | |
process_deletion_queue = function () { | |
var i = deletion_queue.length; | |
while (i--) { | |
var file = deletion_queue[i]; | |
if (typeof file === 'string') { | |
// file is an object URL | |
URL.revokeObjectURL(file); | |
} else { | |
// file is a File | |
file.remove(); | |
} | |
} | |
deletion_queue.length = 0; // clear queue | |
}, | |
dispatch = function (filesaver, event_types, event) { | |
event_types = [].concat(event_types); | |
var i = event_types.length; | |
while (i--) { | |
var listener = filesaver['on' + event_types[i]]; | |
if (typeof listener === 'function') { | |
try { | |
listener.call(filesaver, event || filesaver); | |
} catch (ex) { | |
throw_outside(ex); | |
} | |
} | |
} | |
}, | |
FileSaver = function (blob, name) { | |
// First try a.download, then web filesystem, then object URLs | |
var filesaver = this, | |
type = blob.type, | |
blob_changed = false, | |
object_url, | |
target_view, | |
get_object_url = function () { | |
var object_url = get_URL().createObjectURL(blob); | |
deletion_queue.push(object_url); | |
return object_url; | |
}, | |
dispatch_all = function () { | |
dispatch( | |
filesaver, | |
'writestart progress write writeend'.split(' '), | |
); | |
}, | |
// on any filesys errors revert to saving with object URLs | |
fs_error = function () { | |
// don't create more object URLs than needed | |
if (blob_changed || !object_url) { | |
object_url = get_object_url(blob); | |
} | |
if (target_view) { | |
target_view.location.href = object_url; | |
} else { | |
window.open(object_url, '_blank'); | |
} | |
filesaver.readyState = filesaver.DONE; | |
dispatch_all(); | |
}, | |
abortable = function (func) { | |
return function () { | |
if (filesaver.readyState !== filesaver.DONE) { | |
return func.apply(this, arguments); | |
} | |
}; | |
}, | |
create_if_not_found = {create: true, exclusive: false}, | |
slice; | |
filesaver.readyState = filesaver.INIT; | |
if (!name) { | |
name = 'download'; | |
} | |
if (can_use_save_link) { | |
object_url = get_object_url(blob); | |
// FF for Android has a nasty garbage collection mechanism | |
// that turns all objects that are not pure javascript into 'deadObject' | |
// this means `doc` and `save_link` are unusable and need to be recreated | |
// `view` is usable though: | |
doc = view.document; | |
save_link = doc.createElementNS('http://www.w3.org/1999/xhtml', 'a'); | |
save_link.href = object_url; | |
save_link.download = name; | |
var event = doc.createEvent('MouseEvents'); | |
event.initMouseEvent( | |
'click', | |
true, | |
false, | |
view, | |
0, | |
0, | |
0, | |
0, | |
0, | |
false, | |
false, | |
false, | |
false, | |
0, | |
null, | |
); | |
save_link.dispatchEvent(event); | |
filesaver.readyState = filesaver.DONE; | |
dispatch_all(); | |
return; | |
} | |
// Object and web filesystem URLs have a problem saving in Google Chrome when | |
// viewed in a tab, so I force save with application/octet-stream | |
// http://code.google.com/p/chromium/issues/detail?id=91158 | |
if (view.chrome && type && type !== force_saveable_type) { | |
slice = blob.slice || blob.webkitSlice; | |
blob = slice.call(blob, 0, blob.size, force_saveable_type); | |
blob_changed = true; | |
} | |
// Since I can't be sure that the guessed media type will trigger a download | |
// in WebKit, I append .download to the filename. | |
// https://bugs.webkit.org/show_bug.cgi?id=65440 | |
if (webkit_req_fs && name !== 'download') { | |
name += '.download'; | |
} | |
if (type === force_saveable_type || webkit_req_fs) { | |
target_view = view; | |
} | |
if (!req_fs) { | |
fs_error(); | |
return; | |
} | |
fs_min_size += blob.size; | |
req_fs( | |
view.TEMPORARY, | |
fs_min_size, | |
abortable(function (fs) { | |
fs.root.getDirectory( | |
'saved', | |
create_if_not_found, | |
abortable(function (dir) { | |
var save = function () { | |
dir.getFile( | |
name, | |
create_if_not_found, | |
abortable(function (file) { | |
file.createWriter( | |
abortable(function (writer) { | |
writer.onwriteend = function (event) { | |
target_view.location.href = file.toURL(); | |
deletion_queue.push(file); | |
filesaver.readyState = filesaver.DONE; | |
dispatch(filesaver, 'writeend', event); | |
}; | |
writer.onerror = function () { | |
var error = writer.error; | |
if (error.code !== error.ABORT_ERR) { | |
fs_error(); | |
} | |
}; | |
'writestart progress write abort' | |
.split(' ') | |
.forEach(function (event) { | |
writer['on' + event] = filesaver['on' + event]; | |
}); | |
writer.write(blob); | |
filesaver.abort = function () { | |
writer.abort(); | |
filesaver.readyState = filesaver.DONE; | |
}; | |
filesaver.readyState = filesaver.WRITING; | |
}), | |
fs_error, | |
); | |
}), | |
fs_error, | |
); | |
}; | |
dir.getFile( | |
name, | |
{create: false}, | |
abortable(function (file) { | |
// delete file if it already exists | |
file.remove(); | |
save(); | |
}), | |
abortable(function (ex) { | |
if (ex.code === ex.NOT_FOUND_ERR) { | |
save(); | |
} else { | |
fs_error(); | |
} | |
}), | |
); | |
}), | |
fs_error, | |
); | |
}), | |
fs_error, | |
); | |
}, | |
FS_proto = FileSaver.prototype, | |
saveAs = function (blob, name) { | |
return new FileSaver(blob, name); | |
}; | |
FS_proto.abort = function () { | |
var filesaver = this; | |
filesaver.readyState = filesaver.DONE; | |
dispatch(filesaver, 'abort'); | |
}; | |
FS_proto.readyState = FS_proto.INIT = 0; | |
FS_proto.WRITING = 1; | |
FS_proto.DONE = 2; | |
FS_proto.error = | |
FS_proto.onwritestart = | |
FS_proto.onprogress = | |
FS_proto.onwrite = | |
FS_proto.onabort = | |
FS_proto.onerror = | |
FS_proto.onwriteend = | |
null; | |
view.addEventListener('unload', process_deletion_queue, false); | |
saveAs.unload = function () { | |
process_deletion_queue(); | |
view.removeEventListener('unload', process_deletion_queue, false); | |
}; | |
return saveAs; | |
})( | |
(typeof self !== 'undefined' && self) || | |
(typeof window !== 'undefined' && window) || | |
this.content, | |
); | |
// `self` is undefined in Firefox for Android content script context | |
// while `this` is nsIContentFrameMessageManager | |
// with an attribute `content` that corresponds to the window | |
let wait = ms => | |
new Promise((res, rej) => { | |
setTimeout(res, ms); | |
}); | |
function downloadObjectAsImage(exportObj, exportName) { | |
var downloadAnchorNode = document.createElement('a'); | |
downloadAnchorNode.setAttribute('href', exportObj); | |
downloadAnchorNode.setAttribute('download', exportName); | |
document.body.appendChild(downloadAnchorNode); // required for firefox | |
downloadAnchorNode.click(); | |
downloadAnchorNode.remove(); | |
} | |
/** | |
* only works in the desktop version of the site | |
* Put on the first page and click the page so the "next button" appears | |
* If done in the mobile's browser context, don't forget to disable | |
* notifications - it will download all images one by one = one notification | |
* per page = browser crash | |
*/ | |
let extract = async () => { | |
const maxPage = parseInt(document.getElementById('sliderBar').max); | |
// 10; | |
const getCanvasImage = () => { | |
const canvas = document.getElementsByTagName('canvas')[0]; | |
return canvas.toDataURL(); | |
}; | |
const getCurrentPage = () => { | |
return parseInt(document.getElementById('sliderBar').value); | |
}; | |
const zip = new JSZip(); | |
const pageImages = {}; | |
let lastPage = 0; | |
while (getCurrentPage() <= maxPage && lastPage < getCurrentPage()) { | |
lastPage = getCurrentPage(); | |
console.log('max: ', maxPage, 'Page: ', getCurrentPage()); | |
// pageImages[getCurrentPage()] = getCanvasImage(); | |
// downloadObjectAsImage(getCanvasImage(), 'page-' + getCurrentPage()); | |
const canvasImage = getCanvasImage(); | |
const imageExtension = canvasImage.match(/data:image\/([^;]+)/)[1]; | |
zip.file( | |
'page-' + getCurrentPage() + '.' + imageExtension, | |
canvasImage.replace(/data:image\/.+;base64,/, ''), | |
{base64: true}, | |
); | |
const nextButton = document.getElementById('readerChevronLeft'); | |
nextButton.click(); | |
await wait(1000); | |
} | |
await zip.generateAsync({type: 'blob'}).then(content => { | |
saveAs(content, 'manga.zip'); | |
}); | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment