@giszhc/file-utils 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +483 -4
- package/dist/file-utils.js +2946 -280
- package/package.json +5 -1
- package/types/compress.d.ts +28 -0
- package/types/convert.d.ts +73 -0
- package/types/helpers.d.ts +271 -0
- package/types/index.d.ts +10 -41
- package/types/utils.d.ts +9 -9
- package/types/verify.d.ts +93 -0
package/dist/file-utils.js
CHANGED
|
@@ -1,403 +1,3069 @@
|
|
|
1
|
-
function
|
|
2
|
-
return new Promise((
|
|
3
|
-
const
|
|
4
|
-
switch (
|
|
1
|
+
function Ct(E, x = "text") {
|
|
2
|
+
return new Promise((r, b) => {
|
|
3
|
+
const u = new FileReader();
|
|
4
|
+
switch (x) {
|
|
5
5
|
case "text":
|
|
6
|
-
|
|
6
|
+
u.readAsText(E);
|
|
7
7
|
break;
|
|
8
8
|
case "arrayBuffer":
|
|
9
|
-
|
|
9
|
+
u.readAsArrayBuffer(E);
|
|
10
10
|
break;
|
|
11
11
|
case "dataURL":
|
|
12
|
-
|
|
12
|
+
u.readAsDataURL(E);
|
|
13
13
|
break;
|
|
14
14
|
case "binaryString":
|
|
15
|
-
|
|
15
|
+
u.readAsBinaryString(E);
|
|
16
16
|
break;
|
|
17
17
|
default:
|
|
18
|
-
|
|
18
|
+
u.readAsText(E);
|
|
19
19
|
}
|
|
20
|
-
|
|
21
|
-
const a =
|
|
22
|
-
a !== void 0 ?
|
|
23
|
-
},
|
|
24
|
-
|
|
25
|
-
},
|
|
26
|
-
|
|
20
|
+
u.onload = (n) => {
|
|
21
|
+
const a = n.target?.result;
|
|
22
|
+
a !== void 0 ? r(a) : b(new Error("文件读取失败"));
|
|
23
|
+
}, u.onerror = () => {
|
|
24
|
+
b(new Error("文件读取错误"));
|
|
25
|
+
}, u.onabort = () => {
|
|
26
|
+
b(new Error("文件读取被中止"));
|
|
27
27
|
};
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
|
-
async function
|
|
31
|
-
return new Promise((
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
const a =
|
|
35
|
-
a !== void 0 ?
|
|
36
|
-
},
|
|
37
|
-
|
|
38
|
-
},
|
|
39
|
-
|
|
30
|
+
async function ee(E, x = "utf-8") {
|
|
31
|
+
return new Promise((r, b) => {
|
|
32
|
+
const u = new FileReader();
|
|
33
|
+
u.readAsText(E, x), u.onload = (n) => {
|
|
34
|
+
const a = n.target?.result;
|
|
35
|
+
a !== void 0 ? r(a) : b(new Error("文件读取失败"));
|
|
36
|
+
}, u.onerror = () => {
|
|
37
|
+
b(new Error("文件读取错误"));
|
|
38
|
+
}, u.onabort = () => {
|
|
39
|
+
b(new Error("文件读取被中止"));
|
|
40
40
|
};
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
|
-
async function
|
|
44
|
-
const { separator:
|
|
45
|
-
if (!
|
|
43
|
+
async function re(E, x = {}) {
|
|
44
|
+
const { separator: r = ",", hasHeader: b = !0 } = x, u = await Ct(E, "text");
|
|
45
|
+
if (!u.trim())
|
|
46
46
|
return [];
|
|
47
|
-
const
|
|
48
|
-
if (
|
|
47
|
+
const n = u.split(/\r?\n/).filter((y) => y.trim() !== "");
|
|
48
|
+
if (n.length === 0)
|
|
49
49
|
return [];
|
|
50
|
-
let a = [],
|
|
51
|
-
|
|
52
|
-
const
|
|
53
|
-
for (let
|
|
54
|
-
const
|
|
55
|
-
if (
|
|
56
|
-
const
|
|
57
|
-
a.forEach((
|
|
58
|
-
|
|
59
|
-
}),
|
|
50
|
+
let a = [], i = 0;
|
|
51
|
+
b && (a = Bt(n[0], r), i = 1);
|
|
52
|
+
const h = [];
|
|
53
|
+
for (let y = i; y < n.length; y++) {
|
|
54
|
+
const k = Bt(n[y], r);
|
|
55
|
+
if (b && a.length > 0) {
|
|
56
|
+
const g = {};
|
|
57
|
+
a.forEach((v, o) => {
|
|
58
|
+
g[v] = k[o] || "";
|
|
59
|
+
}), h.push(g);
|
|
60
60
|
} else
|
|
61
|
-
|
|
61
|
+
h.push(k);
|
|
62
62
|
}
|
|
63
|
-
return
|
|
64
|
-
}
|
|
65
|
-
function
|
|
66
|
-
const
|
|
67
|
-
let
|
|
68
|
-
for (let
|
|
69
|
-
const a =
|
|
70
|
-
a === '"' ?
|
|
63
|
+
return h;
|
|
64
|
+
}
|
|
65
|
+
function Bt(E, x) {
|
|
66
|
+
const r = [];
|
|
67
|
+
let b = "", u = !1;
|
|
68
|
+
for (let n = 0; n < E.length; n++) {
|
|
69
|
+
const a = E[n], i = E[n + 1];
|
|
70
|
+
a === '"' ? u && i === '"' ? (b += '"', n++) : u = !u : a === x && !u ? (r.push(b.trim()), b = "") : b += a;
|
|
71
71
|
}
|
|
72
|
-
return
|
|
72
|
+
return r.push(b.trim()), r;
|
|
73
73
|
}
|
|
74
|
-
async function
|
|
75
|
-
const
|
|
74
|
+
async function ne(E) {
|
|
75
|
+
const x = await Ct(E, "text");
|
|
76
76
|
try {
|
|
77
|
-
return JSON.parse(
|
|
78
|
-
} catch (
|
|
79
|
-
throw new Error(`JSON 解析失败:${
|
|
77
|
+
return JSON.parse(x);
|
|
78
|
+
} catch (r) {
|
|
79
|
+
throw new Error(`JSON 解析失败:${r instanceof Error ? r.message : "未知错误"}`);
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
|
-
async function
|
|
82
|
+
async function Zt(E, x, r) {
|
|
83
83
|
try {
|
|
84
|
-
const
|
|
85
|
-
if (!
|
|
86
|
-
throw new Error(`下载失败:${
|
|
87
|
-
const
|
|
88
|
-
let
|
|
89
|
-
if (!
|
|
90
|
-
const a =
|
|
84
|
+
const b = await fetch(E, r?.fetchOptions);
|
|
85
|
+
if (!b.ok)
|
|
86
|
+
throw new Error(`下载失败:${b.status} ${b.statusText}`);
|
|
87
|
+
const u = await b.blob();
|
|
88
|
+
let n = x;
|
|
89
|
+
if (!n) {
|
|
90
|
+
const a = b.headers.get("Content-Disposition");
|
|
91
91
|
if (a) {
|
|
92
|
-
const
|
|
93
|
-
|
|
92
|
+
const i = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/.exec(a);
|
|
93
|
+
i && i[1] && (n = decodeURIComponent(i[1].replace(/['"]/g, "")));
|
|
94
94
|
}
|
|
95
|
-
|
|
95
|
+
n || (n = E.split("/").pop() || "download");
|
|
96
96
|
}
|
|
97
|
-
|
|
98
|
-
} catch (
|
|
99
|
-
throw console.error("文件下载失败:",
|
|
97
|
+
mt(u, n, r);
|
|
98
|
+
} catch (b) {
|
|
99
|
+
throw console.error("文件下载失败:", b), b;
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
|
-
function
|
|
103
|
-
const
|
|
104
|
-
|
|
102
|
+
function mt(E, x, r) {
|
|
103
|
+
const b = URL.createObjectURL(E), u = document.createElement("a");
|
|
104
|
+
u.href = b, u.download = x, r?.newWindow && (u.target = "_blank"), document.body.appendChild(u), u.click(), document.body.removeChild(u), URL.revokeObjectURL(b);
|
|
105
105
|
}
|
|
106
|
-
function
|
|
107
|
-
|
|
108
|
-
const
|
|
109
|
-
for (let
|
|
110
|
-
|
|
111
|
-
const a = new Uint8Array(
|
|
112
|
-
|
|
106
|
+
function ie(E, x, r) {
|
|
107
|
+
E.startsWith("data:") ? (r = E.split(",")[0].split(":")[1].split(";")[0], E = E.split(",")[1]) : r || (r = "application/octet-stream");
|
|
108
|
+
const u = atob(E), n = new Array(u.length);
|
|
109
|
+
for (let h = 0; h < u.length; h++)
|
|
110
|
+
n[h] = u.charCodeAt(h);
|
|
111
|
+
const a = new Uint8Array(n), i = new Blob([a], { type: r });
|
|
112
|
+
mt(i, x);
|
|
113
113
|
}
|
|
114
|
-
async function
|
|
115
|
-
for (let
|
|
114
|
+
async function ae(E, x = 500) {
|
|
115
|
+
for (let r = 0; r < E.length; r++)
|
|
116
116
|
try {
|
|
117
|
-
await
|
|
118
|
-
} catch (
|
|
119
|
-
console.error(`第 ${
|
|
117
|
+
await Zt(E[r]), r < E.length - 1 && await new Promise((b) => setTimeout(b, x));
|
|
118
|
+
} catch (b) {
|
|
119
|
+
console.error(`第 ${r + 1} 个文件下载失败:`, b);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
var kt = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
|
|
123
|
+
function Mt(E) {
|
|
124
|
+
return E && E.__esModule && Object.prototype.hasOwnProperty.call(E, "default") ? E.default : E;
|
|
125
|
+
}
|
|
126
|
+
var vt = {}, Ft;
|
|
127
|
+
function Ht() {
|
|
128
|
+
if (Ft) return vt;
|
|
129
|
+
Ft = 1, Object.defineProperty(vt, "__esModule", {
|
|
130
|
+
value: !0
|
|
131
|
+
}), vt.changeDpiBlob = o, vt.changeDpiDataUrl = m;
|
|
132
|
+
function E(f) {
|
|
133
|
+
if (Array.isArray(f)) {
|
|
134
|
+
for (var _ = 0, S = Array(f.length); _ < f.length; _++)
|
|
135
|
+
S[_] = f[_];
|
|
136
|
+
return S;
|
|
137
|
+
} else
|
|
138
|
+
return Array.from(f);
|
|
139
|
+
}
|
|
140
|
+
function x() {
|
|
141
|
+
for (var f = new Int32Array(256), _ = 0; _ < 256; _++) {
|
|
142
|
+
for (var S = _, z = 0; z < 8; z++)
|
|
143
|
+
S = S & 1 ? 3988292384 ^ S >>> 1 : S >>> 1;
|
|
144
|
+
f[_] = S;
|
|
145
|
+
}
|
|
146
|
+
return f;
|
|
147
|
+
}
|
|
148
|
+
function r(f) {
|
|
149
|
+
var _ = -1;
|
|
150
|
+
b || (b = x());
|
|
151
|
+
for (var S = 0; S < f.length; S++)
|
|
152
|
+
_ = b[(_ ^ f[S]) & 255] ^ _ >>> 8;
|
|
153
|
+
return _ ^ -1;
|
|
154
|
+
}
|
|
155
|
+
var b = void 0, u = "image/png", n = "image/jpeg", a = "AAlwSFlz", i = "AAAJcEhZ", h = "AAAACXBI", y = 112, k = 72, g = 89, v = 115;
|
|
156
|
+
function o(f, _) {
|
|
157
|
+
var S = f.slice(0, 33);
|
|
158
|
+
return new Promise(function(z, F) {
|
|
159
|
+
var R = new FileReader();
|
|
160
|
+
R.onload = function() {
|
|
161
|
+
var P = new Uint8Array(R.result), T = f.slice(33), W = l(P, _, f.type);
|
|
162
|
+
z(new Blob([W, T], { type: f.type }));
|
|
163
|
+
}, R.readAsArrayBuffer(S);
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
function m(f, _) {
|
|
167
|
+
var S = f.split(","), z = S[0], F = S[1], R = void 0, P = void 0, T = !1;
|
|
168
|
+
if (z.indexOf(u) !== -1) {
|
|
169
|
+
R = u;
|
|
170
|
+
var W = s(F);
|
|
171
|
+
W >= 0 ? (P = Math.ceil((W + 28) / 3) * 4, T = !0) : P = 33 / 3 * 4;
|
|
120
172
|
}
|
|
173
|
+
z.indexOf(n) !== -1 && (R = n, P = 18 / 3 * 4);
|
|
174
|
+
for (var J = F.substring(0, P), w = F.substring(P), D = atob(J), e = new Uint8Array(D.length), N = 0; N < e.length; N++)
|
|
175
|
+
e[N] = D.charCodeAt(N);
|
|
176
|
+
var Q = l(e, _, R, T), Z = btoa(String.fromCharCode.apply(String, E(Q)));
|
|
177
|
+
return [z, ",", Z, w].join("");
|
|
178
|
+
}
|
|
179
|
+
function s(f) {
|
|
180
|
+
var _ = f.indexOf(a);
|
|
181
|
+
return _ === -1 && (_ = f.indexOf(i)), _ === -1 && (_ = f.indexOf(h)), _;
|
|
182
|
+
}
|
|
183
|
+
function d(f) {
|
|
184
|
+
for (var _ = f.length - 1, S = _; S >= 4; S--)
|
|
185
|
+
if (f[S - 4] === 9 && f[S - 3] === y && f[S - 2] === k && f[S - 1] === g && f[S] === v)
|
|
186
|
+
return S - 3;
|
|
187
|
+
}
|
|
188
|
+
function l(f, _, S, z) {
|
|
189
|
+
if (S === n)
|
|
190
|
+
return f[13] = 1, f[14] = _ >> 8, f[15] = _ & 255, f[16] = _ >> 8, f[17] = _ & 255, f;
|
|
191
|
+
if (S === u) {
|
|
192
|
+
var F = new Uint8Array(13);
|
|
193
|
+
_ *= 39.3701, F[0] = y, F[1] = k, F[2] = g, F[3] = v, F[4] = _ >>> 24, F[5] = _ >>> 16, F[6] = _ >>> 8, F[7] = _ & 255, F[8] = F[4], F[9] = F[5], F[10] = F[6], F[11] = F[7], F[12] = 1;
|
|
194
|
+
var R = r(F), P = new Uint8Array(4);
|
|
195
|
+
if (P[0] = R >>> 24, P[1] = R >>> 16, P[2] = R >>> 8, P[3] = R & 255, z) {
|
|
196
|
+
var T = d(f);
|
|
197
|
+
return f.set(F, T), f.set(P, T + 13), f;
|
|
198
|
+
} else {
|
|
199
|
+
var W = new Uint8Array(4);
|
|
200
|
+
W[0] = 0, W[1] = 0, W[2] = 0, W[3] = 9;
|
|
201
|
+
var J = new Uint8Array(54);
|
|
202
|
+
return J.set(f, 0), J.set(W, 33), J.set(F, 37), J.set(P, 50), J;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
return vt;
|
|
207
|
+
}
|
|
208
|
+
var Rt = Ht();
|
|
209
|
+
function se(E) {
|
|
210
|
+
return Ct(E, "dataURL");
|
|
121
211
|
}
|
|
122
|
-
function
|
|
123
|
-
|
|
212
|
+
function $t(E, x) {
|
|
213
|
+
E.startsWith("data:") ? (x = E.split(",")[0].split(":")[1].split(";")[0], E = E.split(",")[1]) : x || (x = "application/octet-stream");
|
|
214
|
+
const b = atob(E), u = new Array(b.length);
|
|
215
|
+
for (let a = 0; a < b.length; a++)
|
|
216
|
+
u[a] = b.charCodeAt(a);
|
|
217
|
+
const n = new Uint8Array(u);
|
|
218
|
+
return new Blob([n], { type: x });
|
|
124
219
|
}
|
|
125
|
-
function
|
|
126
|
-
|
|
127
|
-
const n = atob(e), o = new Array(n.length);
|
|
128
|
-
for (let a = 0; a < n.length; a++)
|
|
129
|
-
o[a] = n.charCodeAt(a);
|
|
130
|
-
const i = new Uint8Array(o);
|
|
131
|
-
return new Blob([i], { type: r });
|
|
220
|
+
function Ut(E, x) {
|
|
221
|
+
return new File([E], x, { type: E.type });
|
|
132
222
|
}
|
|
133
|
-
|
|
223
|
+
function oe(E, x = "file", r) {
|
|
224
|
+
const b = $t(E, r);
|
|
225
|
+
return Ut(b, x);
|
|
226
|
+
}
|
|
227
|
+
function ue(E, x = "image/png", r = 1) {
|
|
228
|
+
return new Promise((b, u) => {
|
|
229
|
+
const n = new Image();
|
|
230
|
+
n.crossOrigin = "anonymous", n.onload = () => {
|
|
231
|
+
try {
|
|
232
|
+
const a = document.createElement("canvas");
|
|
233
|
+
a.width = n.width, a.height = n.height;
|
|
234
|
+
const i = a.getContext("2d");
|
|
235
|
+
if (!i) {
|
|
236
|
+
u(new Error("无法获取 Canvas 上下文"));
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
i.drawImage(n, 0, 0);
|
|
240
|
+
const h = a.toDataURL(x, r);
|
|
241
|
+
b(h);
|
|
242
|
+
} catch (a) {
|
|
243
|
+
u(a);
|
|
244
|
+
}
|
|
245
|
+
}, n.onerror = () => {
|
|
246
|
+
u(new Error(`图片加载失败:${E}`));
|
|
247
|
+
}, n.src = E;
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
async function le(E, x = 96) {
|
|
251
|
+
return typeof E == "string" ? Rt.changeDpiDataUrl(E, x) : await Rt.changeDpiBlob(E, x);
|
|
252
|
+
}
|
|
253
|
+
function xt(E) {
|
|
254
|
+
throw new Error('Could not dynamically require "' + E + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
|
|
255
|
+
}
|
|
256
|
+
var At = { exports: {} };
|
|
257
|
+
var Tt;
|
|
258
|
+
function Gt() {
|
|
259
|
+
return Tt || (Tt = 1, (function(E, x) {
|
|
260
|
+
(function(r) {
|
|
261
|
+
E.exports = r();
|
|
262
|
+
})(function() {
|
|
263
|
+
return (function r(b, u, n) {
|
|
264
|
+
function a(y, k) {
|
|
265
|
+
if (!u[y]) {
|
|
266
|
+
if (!b[y]) {
|
|
267
|
+
var g = typeof xt == "function" && xt;
|
|
268
|
+
if (!k && g) return g(y, !0);
|
|
269
|
+
if (i) return i(y, !0);
|
|
270
|
+
var v = new Error("Cannot find module '" + y + "'");
|
|
271
|
+
throw v.code = "MODULE_NOT_FOUND", v;
|
|
272
|
+
}
|
|
273
|
+
var o = u[y] = { exports: {} };
|
|
274
|
+
b[y][0].call(o.exports, function(m) {
|
|
275
|
+
var s = b[y][1][m];
|
|
276
|
+
return a(s || m);
|
|
277
|
+
}, o, o.exports, r, b, u, n);
|
|
278
|
+
}
|
|
279
|
+
return u[y].exports;
|
|
280
|
+
}
|
|
281
|
+
for (var i = typeof xt == "function" && xt, h = 0; h < n.length; h++) a(n[h]);
|
|
282
|
+
return a;
|
|
283
|
+
})({ 1: [function(r, b, u) {
|
|
284
|
+
var n = r("./utils"), a = r("./support"), i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
|
|
285
|
+
u.encode = function(h) {
|
|
286
|
+
for (var y, k, g, v, o, m, s, d = [], l = 0, f = h.length, _ = f, S = n.getTypeOf(h) !== "string"; l < h.length; ) _ = f - l, g = S ? (y = h[l++], k = l < f ? h[l++] : 0, l < f ? h[l++] : 0) : (y = h.charCodeAt(l++), k = l < f ? h.charCodeAt(l++) : 0, l < f ? h.charCodeAt(l++) : 0), v = y >> 2, o = (3 & y) << 4 | k >> 4, m = 1 < _ ? (15 & k) << 2 | g >> 6 : 64, s = 2 < _ ? 63 & g : 64, d.push(i.charAt(v) + i.charAt(o) + i.charAt(m) + i.charAt(s));
|
|
287
|
+
return d.join("");
|
|
288
|
+
}, u.decode = function(h) {
|
|
289
|
+
var y, k, g, v, o, m, s = 0, d = 0, l = "data:";
|
|
290
|
+
if (h.substr(0, l.length) === l) throw new Error("Invalid base64 input, it looks like a data url.");
|
|
291
|
+
var f, _ = 3 * (h = h.replace(/[^A-Za-z0-9+/=]/g, "")).length / 4;
|
|
292
|
+
if (h.charAt(h.length - 1) === i.charAt(64) && _--, h.charAt(h.length - 2) === i.charAt(64) && _--, _ % 1 != 0) throw new Error("Invalid base64 input, bad content length.");
|
|
293
|
+
for (f = a.uint8array ? new Uint8Array(0 | _) : new Array(0 | _); s < h.length; ) y = i.indexOf(h.charAt(s++)) << 2 | (v = i.indexOf(h.charAt(s++))) >> 4, k = (15 & v) << 4 | (o = i.indexOf(h.charAt(s++))) >> 2, g = (3 & o) << 6 | (m = i.indexOf(h.charAt(s++))), f[d++] = y, o !== 64 && (f[d++] = k), m !== 64 && (f[d++] = g);
|
|
294
|
+
return f;
|
|
295
|
+
};
|
|
296
|
+
}, { "./support": 30, "./utils": 32 }], 2: [function(r, b, u) {
|
|
297
|
+
var n = r("./external"), a = r("./stream/DataWorker"), i = r("./stream/Crc32Probe"), h = r("./stream/DataLengthProbe");
|
|
298
|
+
function y(k, g, v, o, m) {
|
|
299
|
+
this.compressedSize = k, this.uncompressedSize = g, this.crc32 = v, this.compression = o, this.compressedContent = m;
|
|
300
|
+
}
|
|
301
|
+
y.prototype = { getContentWorker: function() {
|
|
302
|
+
var k = new a(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new h("data_length")), g = this;
|
|
303
|
+
return k.on("end", function() {
|
|
304
|
+
if (this.streamInfo.data_length !== g.uncompressedSize) throw new Error("Bug : uncompressed data size mismatch");
|
|
305
|
+
}), k;
|
|
306
|
+
}, getCompressedWorker: function() {
|
|
307
|
+
return new a(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize", this.compressedSize).withStreamInfo("uncompressedSize", this.uncompressedSize).withStreamInfo("crc32", this.crc32).withStreamInfo("compression", this.compression);
|
|
308
|
+
} }, y.createWorkerFrom = function(k, g, v) {
|
|
309
|
+
return k.pipe(new i()).pipe(new h("uncompressedSize")).pipe(g.compressWorker(v)).pipe(new h("compressedSize")).withStreamInfo("compression", g);
|
|
310
|
+
}, b.exports = y;
|
|
311
|
+
}, { "./external": 6, "./stream/Crc32Probe": 25, "./stream/DataLengthProbe": 26, "./stream/DataWorker": 27 }], 3: [function(r, b, u) {
|
|
312
|
+
var n = r("./stream/GenericWorker");
|
|
313
|
+
u.STORE = { magic: "\0\0", compressWorker: function() {
|
|
314
|
+
return new n("STORE compression");
|
|
315
|
+
}, uncompressWorker: function() {
|
|
316
|
+
return new n("STORE decompression");
|
|
317
|
+
} }, u.DEFLATE = r("./flate");
|
|
318
|
+
}, { "./flate": 7, "./stream/GenericWorker": 28 }], 4: [function(r, b, u) {
|
|
319
|
+
var n = r("./utils"), a = (function() {
|
|
320
|
+
for (var i, h = [], y = 0; y < 256; y++) {
|
|
321
|
+
i = y;
|
|
322
|
+
for (var k = 0; k < 8; k++) i = 1 & i ? 3988292384 ^ i >>> 1 : i >>> 1;
|
|
323
|
+
h[y] = i;
|
|
324
|
+
}
|
|
325
|
+
return h;
|
|
326
|
+
})();
|
|
327
|
+
b.exports = function(i, h) {
|
|
328
|
+
return i !== void 0 && i.length ? n.getTypeOf(i) !== "string" ? (function(y, k, g, v) {
|
|
329
|
+
var o = a, m = v + g;
|
|
330
|
+
y ^= -1;
|
|
331
|
+
for (var s = v; s < m; s++) y = y >>> 8 ^ o[255 & (y ^ k[s])];
|
|
332
|
+
return -1 ^ y;
|
|
333
|
+
})(0 | h, i, i.length, 0) : (function(y, k, g, v) {
|
|
334
|
+
var o = a, m = v + g;
|
|
335
|
+
y ^= -1;
|
|
336
|
+
for (var s = v; s < m; s++) y = y >>> 8 ^ o[255 & (y ^ k.charCodeAt(s))];
|
|
337
|
+
return -1 ^ y;
|
|
338
|
+
})(0 | h, i, i.length, 0) : 0;
|
|
339
|
+
};
|
|
340
|
+
}, { "./utils": 32 }], 5: [function(r, b, u) {
|
|
341
|
+
u.base64 = !1, u.binary = !1, u.dir = !1, u.createFolders = !0, u.date = null, u.compression = null, u.compressionOptions = null, u.comment = null, u.unixPermissions = null, u.dosPermissions = null;
|
|
342
|
+
}, {}], 6: [function(r, b, u) {
|
|
343
|
+
var n = null;
|
|
344
|
+
n = typeof Promise < "u" ? Promise : r("lie"), b.exports = { Promise: n };
|
|
345
|
+
}, { lie: 37 }], 7: [function(r, b, u) {
|
|
346
|
+
var n = typeof Uint8Array < "u" && typeof Uint16Array < "u" && typeof Uint32Array < "u", a = r("pako"), i = r("./utils"), h = r("./stream/GenericWorker"), y = n ? "uint8array" : "array";
|
|
347
|
+
function k(g, v) {
|
|
348
|
+
h.call(this, "FlateWorker/" + g), this._pako = null, this._pakoAction = g, this._pakoOptions = v, this.meta = {};
|
|
349
|
+
}
|
|
350
|
+
u.magic = "\b\0", i.inherits(k, h), k.prototype.processChunk = function(g) {
|
|
351
|
+
this.meta = g.meta, this._pako === null && this._createPako(), this._pako.push(i.transformTo(y, g.data), !1);
|
|
352
|
+
}, k.prototype.flush = function() {
|
|
353
|
+
h.prototype.flush.call(this), this._pako === null && this._createPako(), this._pako.push([], !0);
|
|
354
|
+
}, k.prototype.cleanUp = function() {
|
|
355
|
+
h.prototype.cleanUp.call(this), this._pako = null;
|
|
356
|
+
}, k.prototype._createPako = function() {
|
|
357
|
+
this._pako = new a[this._pakoAction]({ raw: !0, level: this._pakoOptions.level || -1 });
|
|
358
|
+
var g = this;
|
|
359
|
+
this._pako.onData = function(v) {
|
|
360
|
+
g.push({ data: v, meta: g.meta });
|
|
361
|
+
};
|
|
362
|
+
}, u.compressWorker = function(g) {
|
|
363
|
+
return new k("Deflate", g);
|
|
364
|
+
}, u.uncompressWorker = function() {
|
|
365
|
+
return new k("Inflate", {});
|
|
366
|
+
};
|
|
367
|
+
}, { "./stream/GenericWorker": 28, "./utils": 32, pako: 38 }], 8: [function(r, b, u) {
|
|
368
|
+
function n(o, m) {
|
|
369
|
+
var s, d = "";
|
|
370
|
+
for (s = 0; s < m; s++) d += String.fromCharCode(255 & o), o >>>= 8;
|
|
371
|
+
return d;
|
|
372
|
+
}
|
|
373
|
+
function a(o, m, s, d, l, f) {
|
|
374
|
+
var _, S, z = o.file, F = o.compression, R = f !== y.utf8encode, P = i.transformTo("string", f(z.name)), T = i.transformTo("string", y.utf8encode(z.name)), W = z.comment, J = i.transformTo("string", f(W)), w = i.transformTo("string", y.utf8encode(W)), D = T.length !== z.name.length, e = w.length !== W.length, N = "", Q = "", Z = "", tt = z.dir, M = z.date, q = { crc32: 0, compressedSize: 0, uncompressedSize: 0 };
|
|
375
|
+
m && !s || (q.crc32 = o.crc32, q.compressedSize = o.compressedSize, q.uncompressedSize = o.uncompressedSize);
|
|
376
|
+
var I = 0;
|
|
377
|
+
m && (I |= 8), R || !D && !e || (I |= 2048);
|
|
378
|
+
var O = 0, X = 0;
|
|
379
|
+
tt && (O |= 16), l === "UNIX" ? (X = 798, O |= (function(G, at) {
|
|
380
|
+
var lt = G;
|
|
381
|
+
return G || (lt = at ? 16893 : 33204), (65535 & lt) << 16;
|
|
382
|
+
})(z.unixPermissions, tt)) : (X = 20, O |= (function(G) {
|
|
383
|
+
return 63 & (G || 0);
|
|
384
|
+
})(z.dosPermissions)), _ = M.getUTCHours(), _ <<= 6, _ |= M.getUTCMinutes(), _ <<= 5, _ |= M.getUTCSeconds() / 2, S = M.getUTCFullYear() - 1980, S <<= 4, S |= M.getUTCMonth() + 1, S <<= 5, S |= M.getUTCDate(), D && (Q = n(1, 1) + n(k(P), 4) + T, N += "up" + n(Q.length, 2) + Q), e && (Z = n(1, 1) + n(k(J), 4) + w, N += "uc" + n(Z.length, 2) + Z);
|
|
385
|
+
var K = "";
|
|
386
|
+
return K += `
|
|
387
|
+
\0`, K += n(I, 2), K += F.magic, K += n(_, 2), K += n(S, 2), K += n(q.crc32, 4), K += n(q.compressedSize, 4), K += n(q.uncompressedSize, 4), K += n(P.length, 2), K += n(N.length, 2), { fileRecord: g.LOCAL_FILE_HEADER + K + P + N, dirRecord: g.CENTRAL_FILE_HEADER + n(X, 2) + K + n(J.length, 2) + "\0\0\0\0" + n(O, 4) + n(d, 4) + P + N + J };
|
|
388
|
+
}
|
|
389
|
+
var i = r("../utils"), h = r("../stream/GenericWorker"), y = r("../utf8"), k = r("../crc32"), g = r("../signature");
|
|
390
|
+
function v(o, m, s, d) {
|
|
391
|
+
h.call(this, "ZipFileWorker"), this.bytesWritten = 0, this.zipComment = m, this.zipPlatform = s, this.encodeFileName = d, this.streamFiles = o, this.accumulate = !1, this.contentBuffer = [], this.dirRecords = [], this.currentSourceOffset = 0, this.entriesCount = 0, this.currentFile = null, this._sources = [];
|
|
392
|
+
}
|
|
393
|
+
i.inherits(v, h), v.prototype.push = function(o) {
|
|
394
|
+
var m = o.meta.percent || 0, s = this.entriesCount, d = this._sources.length;
|
|
395
|
+
this.accumulate ? this.contentBuffer.push(o) : (this.bytesWritten += o.data.length, h.prototype.push.call(this, { data: o.data, meta: { currentFile: this.currentFile, percent: s ? (m + 100 * (s - d - 1)) / s : 100 } }));
|
|
396
|
+
}, v.prototype.openedSource = function(o) {
|
|
397
|
+
this.currentSourceOffset = this.bytesWritten, this.currentFile = o.file.name;
|
|
398
|
+
var m = this.streamFiles && !o.file.dir;
|
|
399
|
+
if (m) {
|
|
400
|
+
var s = a(o, m, !1, this.currentSourceOffset, this.zipPlatform, this.encodeFileName);
|
|
401
|
+
this.push({ data: s.fileRecord, meta: { percent: 0 } });
|
|
402
|
+
} else this.accumulate = !0;
|
|
403
|
+
}, v.prototype.closedSource = function(o) {
|
|
404
|
+
this.accumulate = !1;
|
|
405
|
+
var m = this.streamFiles && !o.file.dir, s = a(o, m, !0, this.currentSourceOffset, this.zipPlatform, this.encodeFileName);
|
|
406
|
+
if (this.dirRecords.push(s.dirRecord), m) this.push({ data: (function(d) {
|
|
407
|
+
return g.DATA_DESCRIPTOR + n(d.crc32, 4) + n(d.compressedSize, 4) + n(d.uncompressedSize, 4);
|
|
408
|
+
})(o), meta: { percent: 100 } });
|
|
409
|
+
else for (this.push({ data: s.fileRecord, meta: { percent: 0 } }); this.contentBuffer.length; ) this.push(this.contentBuffer.shift());
|
|
410
|
+
this.currentFile = null;
|
|
411
|
+
}, v.prototype.flush = function() {
|
|
412
|
+
for (var o = this.bytesWritten, m = 0; m < this.dirRecords.length; m++) this.push({ data: this.dirRecords[m], meta: { percent: 100 } });
|
|
413
|
+
var s = this.bytesWritten - o, d = (function(l, f, _, S, z) {
|
|
414
|
+
var F = i.transformTo("string", z(S));
|
|
415
|
+
return g.CENTRAL_DIRECTORY_END + "\0\0\0\0" + n(l, 2) + n(l, 2) + n(f, 4) + n(_, 4) + n(F.length, 2) + F;
|
|
416
|
+
})(this.dirRecords.length, s, o, this.zipComment, this.encodeFileName);
|
|
417
|
+
this.push({ data: d, meta: { percent: 100 } });
|
|
418
|
+
}, v.prototype.prepareNextSource = function() {
|
|
419
|
+
this.previous = this._sources.shift(), this.openedSource(this.previous.streamInfo), this.isPaused ? this.previous.pause() : this.previous.resume();
|
|
420
|
+
}, v.prototype.registerPrevious = function(o) {
|
|
421
|
+
this._sources.push(o);
|
|
422
|
+
var m = this;
|
|
423
|
+
return o.on("data", function(s) {
|
|
424
|
+
m.processChunk(s);
|
|
425
|
+
}), o.on("end", function() {
|
|
426
|
+
m.closedSource(m.previous.streamInfo), m._sources.length ? m.prepareNextSource() : m.end();
|
|
427
|
+
}), o.on("error", function(s) {
|
|
428
|
+
m.error(s);
|
|
429
|
+
}), this;
|
|
430
|
+
}, v.prototype.resume = function() {
|
|
431
|
+
return !!h.prototype.resume.call(this) && (!this.previous && this._sources.length ? (this.prepareNextSource(), !0) : this.previous || this._sources.length || this.generatedError ? void 0 : (this.end(), !0));
|
|
432
|
+
}, v.prototype.error = function(o) {
|
|
433
|
+
var m = this._sources;
|
|
434
|
+
if (!h.prototype.error.call(this, o)) return !1;
|
|
435
|
+
for (var s = 0; s < m.length; s++) try {
|
|
436
|
+
m[s].error(o);
|
|
437
|
+
} catch {
|
|
438
|
+
}
|
|
439
|
+
return !0;
|
|
440
|
+
}, v.prototype.lock = function() {
|
|
441
|
+
h.prototype.lock.call(this);
|
|
442
|
+
for (var o = this._sources, m = 0; m < o.length; m++) o[m].lock();
|
|
443
|
+
}, b.exports = v;
|
|
444
|
+
}, { "../crc32": 4, "../signature": 23, "../stream/GenericWorker": 28, "../utf8": 31, "../utils": 32 }], 9: [function(r, b, u) {
|
|
445
|
+
var n = r("../compressions"), a = r("./ZipFileWorker");
|
|
446
|
+
u.generateWorker = function(i, h, y) {
|
|
447
|
+
var k = new a(h.streamFiles, y, h.platform, h.encodeFileName), g = 0;
|
|
448
|
+
try {
|
|
449
|
+
i.forEach(function(v, o) {
|
|
450
|
+
g++;
|
|
451
|
+
var m = (function(f, _) {
|
|
452
|
+
var S = f || _, z = n[S];
|
|
453
|
+
if (!z) throw new Error(S + " is not a valid compression method !");
|
|
454
|
+
return z;
|
|
455
|
+
})(o.options.compression, h.compression), s = o.options.compressionOptions || h.compressionOptions || {}, d = o.dir, l = o.date;
|
|
456
|
+
o._compressWorker(m, s).withStreamInfo("file", { name: v, dir: d, date: l, comment: o.comment || "", unixPermissions: o.unixPermissions, dosPermissions: o.dosPermissions }).pipe(k);
|
|
457
|
+
}), k.entriesCount = g;
|
|
458
|
+
} catch (v) {
|
|
459
|
+
k.error(v);
|
|
460
|
+
}
|
|
461
|
+
return k;
|
|
462
|
+
};
|
|
463
|
+
}, { "../compressions": 3, "./ZipFileWorker": 8 }], 10: [function(r, b, u) {
|
|
464
|
+
function n() {
|
|
465
|
+
if (!(this instanceof n)) return new n();
|
|
466
|
+
if (arguments.length) throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");
|
|
467
|
+
this.files = /* @__PURE__ */ Object.create(null), this.comment = null, this.root = "", this.clone = function() {
|
|
468
|
+
var a = new n();
|
|
469
|
+
for (var i in this) typeof this[i] != "function" && (a[i] = this[i]);
|
|
470
|
+
return a;
|
|
471
|
+
};
|
|
472
|
+
}
|
|
473
|
+
(n.prototype = r("./object")).loadAsync = r("./load"), n.support = r("./support"), n.defaults = r("./defaults"), n.version = "3.10.1", n.loadAsync = function(a, i) {
|
|
474
|
+
return new n().loadAsync(a, i);
|
|
475
|
+
}, n.external = r("./external"), b.exports = n;
|
|
476
|
+
}, { "./defaults": 5, "./external": 6, "./load": 11, "./object": 15, "./support": 30 }], 11: [function(r, b, u) {
|
|
477
|
+
var n = r("./utils"), a = r("./external"), i = r("./utf8"), h = r("./zipEntries"), y = r("./stream/Crc32Probe"), k = r("./nodejsUtils");
|
|
478
|
+
function g(v) {
|
|
479
|
+
return new a.Promise(function(o, m) {
|
|
480
|
+
var s = v.decompressed.getContentWorker().pipe(new y());
|
|
481
|
+
s.on("error", function(d) {
|
|
482
|
+
m(d);
|
|
483
|
+
}).on("end", function() {
|
|
484
|
+
s.streamInfo.crc32 !== v.decompressed.crc32 ? m(new Error("Corrupted zip : CRC32 mismatch")) : o();
|
|
485
|
+
}).resume();
|
|
486
|
+
});
|
|
487
|
+
}
|
|
488
|
+
b.exports = function(v, o) {
|
|
489
|
+
var m = this;
|
|
490
|
+
return o = n.extend(o || {}, { base64: !1, checkCRC32: !1, optimizedBinaryString: !1, createFolders: !1, decodeFileName: i.utf8decode }), k.isNode && k.isStream(v) ? a.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")) : n.prepareContent("the loaded zip file", v, !0, o.optimizedBinaryString, o.base64).then(function(s) {
|
|
491
|
+
var d = new h(o);
|
|
492
|
+
return d.load(s), d;
|
|
493
|
+
}).then(function(s) {
|
|
494
|
+
var d = [a.Promise.resolve(s)], l = s.files;
|
|
495
|
+
if (o.checkCRC32) for (var f = 0; f < l.length; f++) d.push(g(l[f]));
|
|
496
|
+
return a.Promise.all(d);
|
|
497
|
+
}).then(function(s) {
|
|
498
|
+
for (var d = s.shift(), l = d.files, f = 0; f < l.length; f++) {
|
|
499
|
+
var _ = l[f], S = _.fileNameStr, z = n.resolve(_.fileNameStr);
|
|
500
|
+
m.file(z, _.decompressed, { binary: !0, optimizedBinaryString: !0, date: _.date, dir: _.dir, comment: _.fileCommentStr.length ? _.fileCommentStr : null, unixPermissions: _.unixPermissions, dosPermissions: _.dosPermissions, createFolders: o.createFolders }), _.dir || (m.file(z).unsafeOriginalName = S);
|
|
501
|
+
}
|
|
502
|
+
return d.zipComment.length && (m.comment = d.zipComment), m;
|
|
503
|
+
});
|
|
504
|
+
};
|
|
505
|
+
}, { "./external": 6, "./nodejsUtils": 14, "./stream/Crc32Probe": 25, "./utf8": 31, "./utils": 32, "./zipEntries": 33 }], 12: [function(r, b, u) {
|
|
506
|
+
var n = r("../utils"), a = r("../stream/GenericWorker");
|
|
507
|
+
function i(h, y) {
|
|
508
|
+
a.call(this, "Nodejs stream input adapter for " + h), this._upstreamEnded = !1, this._bindStream(y);
|
|
509
|
+
}
|
|
510
|
+
n.inherits(i, a), i.prototype._bindStream = function(h) {
|
|
511
|
+
var y = this;
|
|
512
|
+
(this._stream = h).pause(), h.on("data", function(k) {
|
|
513
|
+
y.push({ data: k, meta: { percent: 0 } });
|
|
514
|
+
}).on("error", function(k) {
|
|
515
|
+
y.isPaused ? this.generatedError = k : y.error(k);
|
|
516
|
+
}).on("end", function() {
|
|
517
|
+
y.isPaused ? y._upstreamEnded = !0 : y.end();
|
|
518
|
+
});
|
|
519
|
+
}, i.prototype.pause = function() {
|
|
520
|
+
return !!a.prototype.pause.call(this) && (this._stream.pause(), !0);
|
|
521
|
+
}, i.prototype.resume = function() {
|
|
522
|
+
return !!a.prototype.resume.call(this) && (this._upstreamEnded ? this.end() : this._stream.resume(), !0);
|
|
523
|
+
}, b.exports = i;
|
|
524
|
+
}, { "../stream/GenericWorker": 28, "../utils": 32 }], 13: [function(r, b, u) {
|
|
525
|
+
var n = r("readable-stream").Readable;
|
|
526
|
+
function a(i, h, y) {
|
|
527
|
+
n.call(this, h), this._helper = i;
|
|
528
|
+
var k = this;
|
|
529
|
+
i.on("data", function(g, v) {
|
|
530
|
+
k.push(g) || k._helper.pause(), y && y(v);
|
|
531
|
+
}).on("error", function(g) {
|
|
532
|
+
k.emit("error", g);
|
|
533
|
+
}).on("end", function() {
|
|
534
|
+
k.push(null);
|
|
535
|
+
});
|
|
536
|
+
}
|
|
537
|
+
r("../utils").inherits(a, n), a.prototype._read = function() {
|
|
538
|
+
this._helper.resume();
|
|
539
|
+
}, b.exports = a;
|
|
540
|
+
}, { "../utils": 32, "readable-stream": 16 }], 14: [function(r, b, u) {
|
|
541
|
+
b.exports = { isNode: typeof Buffer < "u", newBufferFrom: function(n, a) {
|
|
542
|
+
if (Buffer.from && Buffer.from !== Uint8Array.from) return Buffer.from(n, a);
|
|
543
|
+
if (typeof n == "number") throw new Error('The "data" argument must not be a number');
|
|
544
|
+
return new Buffer(n, a);
|
|
545
|
+
}, allocBuffer: function(n) {
|
|
546
|
+
if (Buffer.alloc) return Buffer.alloc(n);
|
|
547
|
+
var a = new Buffer(n);
|
|
548
|
+
return a.fill(0), a;
|
|
549
|
+
}, isBuffer: function(n) {
|
|
550
|
+
return Buffer.isBuffer(n);
|
|
551
|
+
}, isStream: function(n) {
|
|
552
|
+
return n && typeof n.on == "function" && typeof n.pause == "function" && typeof n.resume == "function";
|
|
553
|
+
} };
|
|
554
|
+
}, {}], 15: [function(r, b, u) {
|
|
555
|
+
function n(z, F, R) {
|
|
556
|
+
var P, T = i.getTypeOf(F), W = i.extend(R || {}, k);
|
|
557
|
+
W.date = W.date || /* @__PURE__ */ new Date(), W.compression !== null && (W.compression = W.compression.toUpperCase()), typeof W.unixPermissions == "string" && (W.unixPermissions = parseInt(W.unixPermissions, 8)), W.unixPermissions && 16384 & W.unixPermissions && (W.dir = !0), W.dosPermissions && 16 & W.dosPermissions && (W.dir = !0), W.dir && (z = l(z)), W.createFolders && (P = d(z)) && f.call(this, P, !0);
|
|
558
|
+
var J = T === "string" && W.binary === !1 && W.base64 === !1;
|
|
559
|
+
R && R.binary !== void 0 || (W.binary = !J), (F instanceof g && F.uncompressedSize === 0 || W.dir || !F || F.length === 0) && (W.base64 = !1, W.binary = !0, F = "", W.compression = "STORE", T = "string");
|
|
560
|
+
var w = null;
|
|
561
|
+
w = F instanceof g || F instanceof h ? F : m.isNode && m.isStream(F) ? new s(z, F) : i.prepareContent(z, F, W.binary, W.optimizedBinaryString, W.base64);
|
|
562
|
+
var D = new v(z, w, W);
|
|
563
|
+
this.files[z] = D;
|
|
564
|
+
}
|
|
565
|
+
var a = r("./utf8"), i = r("./utils"), h = r("./stream/GenericWorker"), y = r("./stream/StreamHelper"), k = r("./defaults"), g = r("./compressedObject"), v = r("./zipObject"), o = r("./generate"), m = r("./nodejsUtils"), s = r("./nodejs/NodejsStreamInputAdapter"), d = function(z) {
|
|
566
|
+
z.slice(-1) === "/" && (z = z.substring(0, z.length - 1));
|
|
567
|
+
var F = z.lastIndexOf("/");
|
|
568
|
+
return 0 < F ? z.substring(0, F) : "";
|
|
569
|
+
}, l = function(z) {
|
|
570
|
+
return z.slice(-1) !== "/" && (z += "/"), z;
|
|
571
|
+
}, f = function(z, F) {
|
|
572
|
+
return F = F !== void 0 ? F : k.createFolders, z = l(z), this.files[z] || n.call(this, z, null, { dir: !0, createFolders: F }), this.files[z];
|
|
573
|
+
};
|
|
574
|
+
function _(z) {
|
|
575
|
+
return Object.prototype.toString.call(z) === "[object RegExp]";
|
|
576
|
+
}
|
|
577
|
+
var S = { load: function() {
|
|
578
|
+
throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.");
|
|
579
|
+
}, forEach: function(z) {
|
|
580
|
+
var F, R, P;
|
|
581
|
+
for (F in this.files) P = this.files[F], (R = F.slice(this.root.length, F.length)) && F.slice(0, this.root.length) === this.root && z(R, P);
|
|
582
|
+
}, filter: function(z) {
|
|
583
|
+
var F = [];
|
|
584
|
+
return this.forEach(function(R, P) {
|
|
585
|
+
z(R, P) && F.push(P);
|
|
586
|
+
}), F;
|
|
587
|
+
}, file: function(z, F, R) {
|
|
588
|
+
if (arguments.length !== 1) return z = this.root + z, n.call(this, z, F, R), this;
|
|
589
|
+
if (_(z)) {
|
|
590
|
+
var P = z;
|
|
591
|
+
return this.filter(function(W, J) {
|
|
592
|
+
return !J.dir && P.test(W);
|
|
593
|
+
});
|
|
594
|
+
}
|
|
595
|
+
var T = this.files[this.root + z];
|
|
596
|
+
return T && !T.dir ? T : null;
|
|
597
|
+
}, folder: function(z) {
|
|
598
|
+
if (!z) return this;
|
|
599
|
+
if (_(z)) return this.filter(function(T, W) {
|
|
600
|
+
return W.dir && z.test(T);
|
|
601
|
+
});
|
|
602
|
+
var F = this.root + z, R = f.call(this, F), P = this.clone();
|
|
603
|
+
return P.root = R.name, P;
|
|
604
|
+
}, remove: function(z) {
|
|
605
|
+
z = this.root + z;
|
|
606
|
+
var F = this.files[z];
|
|
607
|
+
if (F || (z.slice(-1) !== "/" && (z += "/"), F = this.files[z]), F && !F.dir) delete this.files[z];
|
|
608
|
+
else for (var R = this.filter(function(T, W) {
|
|
609
|
+
return W.name.slice(0, z.length) === z;
|
|
610
|
+
}), P = 0; P < R.length; P++) delete this.files[R[P].name];
|
|
611
|
+
return this;
|
|
612
|
+
}, generate: function() {
|
|
613
|
+
throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.");
|
|
614
|
+
}, generateInternalStream: function(z) {
|
|
615
|
+
var F, R = {};
|
|
616
|
+
try {
|
|
617
|
+
if ((R = i.extend(z || {}, { streamFiles: !1, compression: "STORE", compressionOptions: null, type: "", platform: "DOS", comment: null, mimeType: "application/zip", encodeFileName: a.utf8encode })).type = R.type.toLowerCase(), R.compression = R.compression.toUpperCase(), R.type === "binarystring" && (R.type = "string"), !R.type) throw new Error("No output type specified.");
|
|
618
|
+
i.checkSupport(R.type), R.platform !== "darwin" && R.platform !== "freebsd" && R.platform !== "linux" && R.platform !== "sunos" || (R.platform = "UNIX"), R.platform === "win32" && (R.platform = "DOS");
|
|
619
|
+
var P = R.comment || this.comment || "";
|
|
620
|
+
F = o.generateWorker(this, R, P);
|
|
621
|
+
} catch (T) {
|
|
622
|
+
(F = new h("error")).error(T);
|
|
623
|
+
}
|
|
624
|
+
return new y(F, R.type || "string", R.mimeType);
|
|
625
|
+
}, generateAsync: function(z, F) {
|
|
626
|
+
return this.generateInternalStream(z).accumulate(F);
|
|
627
|
+
}, generateNodeStream: function(z, F) {
|
|
628
|
+
return (z = z || {}).type || (z.type = "nodebuffer"), this.generateInternalStream(z).toNodejsStream(F);
|
|
629
|
+
} };
|
|
630
|
+
b.exports = S;
|
|
631
|
+
}, { "./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(r, b, u) {
|
|
632
|
+
b.exports = r("stream");
|
|
633
|
+
}, { stream: void 0 }], 17: [function(r, b, u) {
|
|
634
|
+
var n = r("./DataReader");
|
|
635
|
+
function a(i) {
|
|
636
|
+
n.call(this, i);
|
|
637
|
+
for (var h = 0; h < this.data.length; h++) i[h] = 255 & i[h];
|
|
638
|
+
}
|
|
639
|
+
r("../utils").inherits(a, n), a.prototype.byteAt = function(i) {
|
|
640
|
+
return this.data[this.zero + i];
|
|
641
|
+
}, a.prototype.lastIndexOfSignature = function(i) {
|
|
642
|
+
for (var h = i.charCodeAt(0), y = i.charCodeAt(1), k = i.charCodeAt(2), g = i.charCodeAt(3), v = this.length - 4; 0 <= v; --v) if (this.data[v] === h && this.data[v + 1] === y && this.data[v + 2] === k && this.data[v + 3] === g) return v - this.zero;
|
|
643
|
+
return -1;
|
|
644
|
+
}, a.prototype.readAndCheckSignature = function(i) {
|
|
645
|
+
var h = i.charCodeAt(0), y = i.charCodeAt(1), k = i.charCodeAt(2), g = i.charCodeAt(3), v = this.readData(4);
|
|
646
|
+
return h === v[0] && y === v[1] && k === v[2] && g === v[3];
|
|
647
|
+
}, a.prototype.readData = function(i) {
|
|
648
|
+
if (this.checkOffset(i), i === 0) return [];
|
|
649
|
+
var h = this.data.slice(this.zero + this.index, this.zero + this.index + i);
|
|
650
|
+
return this.index += i, h;
|
|
651
|
+
}, b.exports = a;
|
|
652
|
+
}, { "../utils": 32, "./DataReader": 18 }], 18: [function(r, b, u) {
|
|
653
|
+
var n = r("../utils");
|
|
654
|
+
function a(i) {
|
|
655
|
+
this.data = i, this.length = i.length, this.index = 0, this.zero = 0;
|
|
656
|
+
}
|
|
657
|
+
a.prototype = { checkOffset: function(i) {
|
|
658
|
+
this.checkIndex(this.index + i);
|
|
659
|
+
}, checkIndex: function(i) {
|
|
660
|
+
if (this.length < this.zero + i || i < 0) throw new Error("End of data reached (data length = " + this.length + ", asked index = " + i + "). Corrupted zip ?");
|
|
661
|
+
}, setIndex: function(i) {
|
|
662
|
+
this.checkIndex(i), this.index = i;
|
|
663
|
+
}, skip: function(i) {
|
|
664
|
+
this.setIndex(this.index + i);
|
|
665
|
+
}, byteAt: function() {
|
|
666
|
+
}, readInt: function(i) {
|
|
667
|
+
var h, y = 0;
|
|
668
|
+
for (this.checkOffset(i), h = this.index + i - 1; h >= this.index; h--) y = (y << 8) + this.byteAt(h);
|
|
669
|
+
return this.index += i, y;
|
|
670
|
+
}, readString: function(i) {
|
|
671
|
+
return n.transformTo("string", this.readData(i));
|
|
672
|
+
}, readData: function() {
|
|
673
|
+
}, lastIndexOfSignature: function() {
|
|
674
|
+
}, readAndCheckSignature: function() {
|
|
675
|
+
}, readDate: function() {
|
|
676
|
+
var i = this.readInt(4);
|
|
677
|
+
return new Date(Date.UTC(1980 + (i >> 25 & 127), (i >> 21 & 15) - 1, i >> 16 & 31, i >> 11 & 31, i >> 5 & 63, (31 & i) << 1));
|
|
678
|
+
} }, b.exports = a;
|
|
679
|
+
}, { "../utils": 32 }], 19: [function(r, b, u) {
|
|
680
|
+
var n = r("./Uint8ArrayReader");
|
|
681
|
+
function a(i) {
|
|
682
|
+
n.call(this, i);
|
|
683
|
+
}
|
|
684
|
+
r("../utils").inherits(a, n), a.prototype.readData = function(i) {
|
|
685
|
+
this.checkOffset(i);
|
|
686
|
+
var h = this.data.slice(this.zero + this.index, this.zero + this.index + i);
|
|
687
|
+
return this.index += i, h;
|
|
688
|
+
}, b.exports = a;
|
|
689
|
+
}, { "../utils": 32, "./Uint8ArrayReader": 21 }], 20: [function(r, b, u) {
|
|
690
|
+
var n = r("./DataReader");
|
|
691
|
+
function a(i) {
|
|
692
|
+
n.call(this, i);
|
|
693
|
+
}
|
|
694
|
+
r("../utils").inherits(a, n), a.prototype.byteAt = function(i) {
|
|
695
|
+
return this.data.charCodeAt(this.zero + i);
|
|
696
|
+
}, a.prototype.lastIndexOfSignature = function(i) {
|
|
697
|
+
return this.data.lastIndexOf(i) - this.zero;
|
|
698
|
+
}, a.prototype.readAndCheckSignature = function(i) {
|
|
699
|
+
return i === this.readData(4);
|
|
700
|
+
}, a.prototype.readData = function(i) {
|
|
701
|
+
this.checkOffset(i);
|
|
702
|
+
var h = this.data.slice(this.zero + this.index, this.zero + this.index + i);
|
|
703
|
+
return this.index += i, h;
|
|
704
|
+
}, b.exports = a;
|
|
705
|
+
}, { "../utils": 32, "./DataReader": 18 }], 21: [function(r, b, u) {
|
|
706
|
+
var n = r("./ArrayReader");
|
|
707
|
+
function a(i) {
|
|
708
|
+
n.call(this, i);
|
|
709
|
+
}
|
|
710
|
+
r("../utils").inherits(a, n), a.prototype.readData = function(i) {
|
|
711
|
+
if (this.checkOffset(i), i === 0) return new Uint8Array(0);
|
|
712
|
+
var h = this.data.subarray(this.zero + this.index, this.zero + this.index + i);
|
|
713
|
+
return this.index += i, h;
|
|
714
|
+
}, b.exports = a;
|
|
715
|
+
}, { "../utils": 32, "./ArrayReader": 17 }], 22: [function(r, b, u) {
|
|
716
|
+
var n = r("../utils"), a = r("../support"), i = r("./ArrayReader"), h = r("./StringReader"), y = r("./NodeBufferReader"), k = r("./Uint8ArrayReader");
|
|
717
|
+
b.exports = function(g) {
|
|
718
|
+
var v = n.getTypeOf(g);
|
|
719
|
+
return n.checkSupport(v), v !== "string" || a.uint8array ? v === "nodebuffer" ? new y(g) : a.uint8array ? new k(n.transformTo("uint8array", g)) : new i(n.transformTo("array", g)) : new h(g);
|
|
720
|
+
};
|
|
721
|
+
}, { "../support": 30, "../utils": 32, "./ArrayReader": 17, "./NodeBufferReader": 19, "./StringReader": 20, "./Uint8ArrayReader": 21 }], 23: [function(r, b, u) {
|
|
722
|
+
u.LOCAL_FILE_HEADER = "PK", u.CENTRAL_FILE_HEADER = "PK", u.CENTRAL_DIRECTORY_END = "PK", u.ZIP64_CENTRAL_DIRECTORY_LOCATOR = "PK\x07", u.ZIP64_CENTRAL_DIRECTORY_END = "PK", u.DATA_DESCRIPTOR = "PK\x07\b";
|
|
723
|
+
}, {}], 24: [function(r, b, u) {
|
|
724
|
+
var n = r("./GenericWorker"), a = r("../utils");
|
|
725
|
+
function i(h) {
|
|
726
|
+
n.call(this, "ConvertWorker to " + h), this.destType = h;
|
|
727
|
+
}
|
|
728
|
+
a.inherits(i, n), i.prototype.processChunk = function(h) {
|
|
729
|
+
this.push({ data: a.transformTo(this.destType, h.data), meta: h.meta });
|
|
730
|
+
}, b.exports = i;
|
|
731
|
+
}, { "../utils": 32, "./GenericWorker": 28 }], 25: [function(r, b, u) {
|
|
732
|
+
var n = r("./GenericWorker"), a = r("../crc32");
|
|
733
|
+
function i() {
|
|
734
|
+
n.call(this, "Crc32Probe"), this.withStreamInfo("crc32", 0);
|
|
735
|
+
}
|
|
736
|
+
r("../utils").inherits(i, n), i.prototype.processChunk = function(h) {
|
|
737
|
+
this.streamInfo.crc32 = a(h.data, this.streamInfo.crc32 || 0), this.push(h);
|
|
738
|
+
}, b.exports = i;
|
|
739
|
+
}, { "../crc32": 4, "../utils": 32, "./GenericWorker": 28 }], 26: [function(r, b, u) {
|
|
740
|
+
var n = r("../utils"), a = r("./GenericWorker");
|
|
741
|
+
function i(h) {
|
|
742
|
+
a.call(this, "DataLengthProbe for " + h), this.propName = h, this.withStreamInfo(h, 0);
|
|
743
|
+
}
|
|
744
|
+
n.inherits(i, a), i.prototype.processChunk = function(h) {
|
|
745
|
+
if (h) {
|
|
746
|
+
var y = this.streamInfo[this.propName] || 0;
|
|
747
|
+
this.streamInfo[this.propName] = y + h.data.length;
|
|
748
|
+
}
|
|
749
|
+
a.prototype.processChunk.call(this, h);
|
|
750
|
+
}, b.exports = i;
|
|
751
|
+
}, { "../utils": 32, "./GenericWorker": 28 }], 27: [function(r, b, u) {
|
|
752
|
+
var n = r("../utils"), a = r("./GenericWorker");
|
|
753
|
+
function i(h) {
|
|
754
|
+
a.call(this, "DataWorker");
|
|
755
|
+
var y = this;
|
|
756
|
+
this.dataIsReady = !1, this.index = 0, this.max = 0, this.data = null, this.type = "", this._tickScheduled = !1, h.then(function(k) {
|
|
757
|
+
y.dataIsReady = !0, y.data = k, y.max = k && k.length || 0, y.type = n.getTypeOf(k), y.isPaused || y._tickAndRepeat();
|
|
758
|
+
}, function(k) {
|
|
759
|
+
y.error(k);
|
|
760
|
+
});
|
|
761
|
+
}
|
|
762
|
+
n.inherits(i, a), i.prototype.cleanUp = function() {
|
|
763
|
+
a.prototype.cleanUp.call(this), this.data = null;
|
|
764
|
+
}, i.prototype.resume = function() {
|
|
765
|
+
return !!a.prototype.resume.call(this) && (!this._tickScheduled && this.dataIsReady && (this._tickScheduled = !0, n.delay(this._tickAndRepeat, [], this)), !0);
|
|
766
|
+
}, i.prototype._tickAndRepeat = function() {
|
|
767
|
+
this._tickScheduled = !1, this.isPaused || this.isFinished || (this._tick(), this.isFinished || (n.delay(this._tickAndRepeat, [], this), this._tickScheduled = !0));
|
|
768
|
+
}, i.prototype._tick = function() {
|
|
769
|
+
if (this.isPaused || this.isFinished) return !1;
|
|
770
|
+
var h = null, y = Math.min(this.max, this.index + 16384);
|
|
771
|
+
if (this.index >= this.max) return this.end();
|
|
772
|
+
switch (this.type) {
|
|
773
|
+
case "string":
|
|
774
|
+
h = this.data.substring(this.index, y);
|
|
775
|
+
break;
|
|
776
|
+
case "uint8array":
|
|
777
|
+
h = this.data.subarray(this.index, y);
|
|
778
|
+
break;
|
|
779
|
+
case "array":
|
|
780
|
+
case "nodebuffer":
|
|
781
|
+
h = this.data.slice(this.index, y);
|
|
782
|
+
}
|
|
783
|
+
return this.index = y, this.push({ data: h, meta: { percent: this.max ? this.index / this.max * 100 : 0 } });
|
|
784
|
+
}, b.exports = i;
|
|
785
|
+
}, { "../utils": 32, "./GenericWorker": 28 }], 28: [function(r, b, u) {
|
|
786
|
+
function n(a) {
|
|
787
|
+
this.name = a || "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;
|
|
788
|
+
}
|
|
789
|
+
n.prototype = { push: function(a) {
|
|
790
|
+
this.emit("data", a);
|
|
791
|
+
}, end: function() {
|
|
792
|
+
if (this.isFinished) return !1;
|
|
793
|
+
this.flush();
|
|
794
|
+
try {
|
|
795
|
+
this.emit("end"), this.cleanUp(), this.isFinished = !0;
|
|
796
|
+
} catch (a) {
|
|
797
|
+
this.emit("error", a);
|
|
798
|
+
}
|
|
799
|
+
return !0;
|
|
800
|
+
}, error: function(a) {
|
|
801
|
+
return !this.isFinished && (this.isPaused ? this.generatedError = a : (this.isFinished = !0, this.emit("error", a), this.previous && this.previous.error(a), this.cleanUp()), !0);
|
|
802
|
+
}, on: function(a, i) {
|
|
803
|
+
return this._listeners[a].push(i), this;
|
|
804
|
+
}, cleanUp: function() {
|
|
805
|
+
this.streamInfo = this.generatedError = this.extraStreamInfo = null, this._listeners = [];
|
|
806
|
+
}, emit: function(a, i) {
|
|
807
|
+
if (this._listeners[a]) for (var h = 0; h < this._listeners[a].length; h++) this._listeners[a][h].call(this, i);
|
|
808
|
+
}, pipe: function(a) {
|
|
809
|
+
return a.registerPrevious(this);
|
|
810
|
+
}, registerPrevious: function(a) {
|
|
811
|
+
if (this.isLocked) throw new Error("The stream '" + this + "' has already been used.");
|
|
812
|
+
this.streamInfo = a.streamInfo, this.mergeStreamInfo(), this.previous = a;
|
|
813
|
+
var i = this;
|
|
814
|
+
return a.on("data", function(h) {
|
|
815
|
+
i.processChunk(h);
|
|
816
|
+
}), a.on("end", function() {
|
|
817
|
+
i.end();
|
|
818
|
+
}), a.on("error", function(h) {
|
|
819
|
+
i.error(h);
|
|
820
|
+
}), this;
|
|
821
|
+
}, pause: function() {
|
|
822
|
+
return !this.isPaused && !this.isFinished && (this.isPaused = !0, this.previous && this.previous.pause(), !0);
|
|
823
|
+
}, resume: function() {
|
|
824
|
+
if (!this.isPaused || this.isFinished) return !1;
|
|
825
|
+
var a = this.isPaused = !1;
|
|
826
|
+
return this.generatedError && (this.error(this.generatedError), a = !0), this.previous && this.previous.resume(), !a;
|
|
827
|
+
}, flush: function() {
|
|
828
|
+
}, processChunk: function(a) {
|
|
829
|
+
this.push(a);
|
|
830
|
+
}, withStreamInfo: function(a, i) {
|
|
831
|
+
return this.extraStreamInfo[a] = i, this.mergeStreamInfo(), this;
|
|
832
|
+
}, mergeStreamInfo: function() {
|
|
833
|
+
for (var a in this.extraStreamInfo) Object.prototype.hasOwnProperty.call(this.extraStreamInfo, a) && (this.streamInfo[a] = this.extraStreamInfo[a]);
|
|
834
|
+
}, lock: function() {
|
|
835
|
+
if (this.isLocked) throw new Error("The stream '" + this + "' has already been used.");
|
|
836
|
+
this.isLocked = !0, this.previous && this.previous.lock();
|
|
837
|
+
}, toString: function() {
|
|
838
|
+
var a = "Worker " + this.name;
|
|
839
|
+
return this.previous ? this.previous + " -> " + a : a;
|
|
840
|
+
} }, b.exports = n;
|
|
841
|
+
}, {}], 29: [function(r, b, u) {
|
|
842
|
+
var n = r("../utils"), a = r("./ConvertWorker"), i = r("./GenericWorker"), h = r("../base64"), y = r("../support"), k = r("../external"), g = null;
|
|
843
|
+
if (y.nodestream) try {
|
|
844
|
+
g = r("../nodejs/NodejsStreamOutputAdapter");
|
|
845
|
+
} catch {
|
|
846
|
+
}
|
|
847
|
+
function v(m, s) {
|
|
848
|
+
return new k.Promise(function(d, l) {
|
|
849
|
+
var f = [], _ = m._internalType, S = m._outputType, z = m._mimeType;
|
|
850
|
+
m.on("data", function(F, R) {
|
|
851
|
+
f.push(F), s && s(R);
|
|
852
|
+
}).on("error", function(F) {
|
|
853
|
+
f = [], l(F);
|
|
854
|
+
}).on("end", function() {
|
|
855
|
+
try {
|
|
856
|
+
var F = (function(R, P, T) {
|
|
857
|
+
switch (R) {
|
|
858
|
+
case "blob":
|
|
859
|
+
return n.newBlob(n.transformTo("arraybuffer", P), T);
|
|
860
|
+
case "base64":
|
|
861
|
+
return h.encode(P);
|
|
862
|
+
default:
|
|
863
|
+
return n.transformTo(R, P);
|
|
864
|
+
}
|
|
865
|
+
})(S, (function(R, P) {
|
|
866
|
+
var T, W = 0, J = null, w = 0;
|
|
867
|
+
for (T = 0; T < P.length; T++) w += P[T].length;
|
|
868
|
+
switch (R) {
|
|
869
|
+
case "string":
|
|
870
|
+
return P.join("");
|
|
871
|
+
case "array":
|
|
872
|
+
return Array.prototype.concat.apply([], P);
|
|
873
|
+
case "uint8array":
|
|
874
|
+
for (J = new Uint8Array(w), T = 0; T < P.length; T++) J.set(P[T], W), W += P[T].length;
|
|
875
|
+
return J;
|
|
876
|
+
case "nodebuffer":
|
|
877
|
+
return Buffer.concat(P);
|
|
878
|
+
default:
|
|
879
|
+
throw new Error("concat : unsupported type '" + R + "'");
|
|
880
|
+
}
|
|
881
|
+
})(_, f), z);
|
|
882
|
+
d(F);
|
|
883
|
+
} catch (R) {
|
|
884
|
+
l(R);
|
|
885
|
+
}
|
|
886
|
+
f = [];
|
|
887
|
+
}).resume();
|
|
888
|
+
});
|
|
889
|
+
}
|
|
890
|
+
function o(m, s, d) {
|
|
891
|
+
var l = s;
|
|
892
|
+
switch (s) {
|
|
893
|
+
case "blob":
|
|
894
|
+
case "arraybuffer":
|
|
895
|
+
l = "uint8array";
|
|
896
|
+
break;
|
|
897
|
+
case "base64":
|
|
898
|
+
l = "string";
|
|
899
|
+
}
|
|
900
|
+
try {
|
|
901
|
+
this._internalType = l, this._outputType = s, this._mimeType = d, n.checkSupport(l), this._worker = m.pipe(new a(l)), m.lock();
|
|
902
|
+
} catch (f) {
|
|
903
|
+
this._worker = new i("error"), this._worker.error(f);
|
|
904
|
+
}
|
|
905
|
+
}
|
|
906
|
+
o.prototype = { accumulate: function(m) {
|
|
907
|
+
return v(this, m);
|
|
908
|
+
}, on: function(m, s) {
|
|
909
|
+
var d = this;
|
|
910
|
+
return m === "data" ? this._worker.on(m, function(l) {
|
|
911
|
+
s.call(d, l.data, l.meta);
|
|
912
|
+
}) : this._worker.on(m, function() {
|
|
913
|
+
n.delay(s, arguments, d);
|
|
914
|
+
}), this;
|
|
915
|
+
}, resume: function() {
|
|
916
|
+
return n.delay(this._worker.resume, [], this._worker), this;
|
|
917
|
+
}, pause: function() {
|
|
918
|
+
return this._worker.pause(), this;
|
|
919
|
+
}, toNodejsStream: function(m) {
|
|
920
|
+
if (n.checkSupport("nodestream"), this._outputType !== "nodebuffer") throw new Error(this._outputType + " is not supported by this method");
|
|
921
|
+
return new g(this, { objectMode: this._outputType !== "nodebuffer" }, m);
|
|
922
|
+
} }, b.exports = o;
|
|
923
|
+
}, { "../base64": 1, "../external": 6, "../nodejs/NodejsStreamOutputAdapter": 13, "../support": 30, "../utils": 32, "./ConvertWorker": 24, "./GenericWorker": 28 }], 30: [function(r, b, u) {
|
|
924
|
+
if (u.base64 = !0, u.array = !0, u.string = !0, u.arraybuffer = typeof ArrayBuffer < "u" && typeof Uint8Array < "u", u.nodebuffer = typeof Buffer < "u", u.uint8array = typeof Uint8Array < "u", typeof ArrayBuffer > "u") u.blob = !1;
|
|
925
|
+
else {
|
|
926
|
+
var n = new ArrayBuffer(0);
|
|
927
|
+
try {
|
|
928
|
+
u.blob = new Blob([n], { type: "application/zip" }).size === 0;
|
|
929
|
+
} catch {
|
|
930
|
+
try {
|
|
931
|
+
var a = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder)();
|
|
932
|
+
a.append(n), u.blob = a.getBlob("application/zip").size === 0;
|
|
933
|
+
} catch {
|
|
934
|
+
u.blob = !1;
|
|
935
|
+
}
|
|
936
|
+
}
|
|
937
|
+
}
|
|
938
|
+
try {
|
|
939
|
+
u.nodestream = !!r("readable-stream").Readable;
|
|
940
|
+
} catch {
|
|
941
|
+
u.nodestream = !1;
|
|
942
|
+
}
|
|
943
|
+
}, { "readable-stream": 16 }], 31: [function(r, b, u) {
|
|
944
|
+
for (var n = r("./utils"), a = r("./support"), i = r("./nodejsUtils"), h = r("./stream/GenericWorker"), y = new Array(256), k = 0; k < 256; k++) y[k] = 252 <= k ? 6 : 248 <= k ? 5 : 240 <= k ? 4 : 224 <= k ? 3 : 192 <= k ? 2 : 1;
|
|
945
|
+
y[254] = y[254] = 1;
|
|
946
|
+
function g() {
|
|
947
|
+
h.call(this, "utf-8 decode"), this.leftOver = null;
|
|
948
|
+
}
|
|
949
|
+
function v() {
|
|
950
|
+
h.call(this, "utf-8 encode");
|
|
951
|
+
}
|
|
952
|
+
u.utf8encode = function(o) {
|
|
953
|
+
return a.nodebuffer ? i.newBufferFrom(o, "utf-8") : (function(m) {
|
|
954
|
+
var s, d, l, f, _, S = m.length, z = 0;
|
|
955
|
+
for (f = 0; f < S; f++) (64512 & (d = m.charCodeAt(f))) == 55296 && f + 1 < S && (64512 & (l = m.charCodeAt(f + 1))) == 56320 && (d = 65536 + (d - 55296 << 10) + (l - 56320), f++), z += d < 128 ? 1 : d < 2048 ? 2 : d < 65536 ? 3 : 4;
|
|
956
|
+
for (s = a.uint8array ? new Uint8Array(z) : new Array(z), f = _ = 0; _ < z; f++) (64512 & (d = m.charCodeAt(f))) == 55296 && f + 1 < S && (64512 & (l = m.charCodeAt(f + 1))) == 56320 && (d = 65536 + (d - 55296 << 10) + (l - 56320), f++), d < 128 ? s[_++] = d : (d < 2048 ? s[_++] = 192 | d >>> 6 : (d < 65536 ? s[_++] = 224 | d >>> 12 : (s[_++] = 240 | d >>> 18, s[_++] = 128 | d >>> 12 & 63), s[_++] = 128 | d >>> 6 & 63), s[_++] = 128 | 63 & d);
|
|
957
|
+
return s;
|
|
958
|
+
})(o);
|
|
959
|
+
}, u.utf8decode = function(o) {
|
|
960
|
+
return a.nodebuffer ? n.transformTo("nodebuffer", o).toString("utf-8") : (function(m) {
|
|
961
|
+
var s, d, l, f, _ = m.length, S = new Array(2 * _);
|
|
962
|
+
for (s = d = 0; s < _; ) if ((l = m[s++]) < 128) S[d++] = l;
|
|
963
|
+
else if (4 < (f = y[l])) S[d++] = 65533, s += f - 1;
|
|
964
|
+
else {
|
|
965
|
+
for (l &= f === 2 ? 31 : f === 3 ? 15 : 7; 1 < f && s < _; ) l = l << 6 | 63 & m[s++], f--;
|
|
966
|
+
1 < f ? S[d++] = 65533 : l < 65536 ? S[d++] = l : (l -= 65536, S[d++] = 55296 | l >> 10 & 1023, S[d++] = 56320 | 1023 & l);
|
|
967
|
+
}
|
|
968
|
+
return S.length !== d && (S.subarray ? S = S.subarray(0, d) : S.length = d), n.applyFromCharCode(S);
|
|
969
|
+
})(o = n.transformTo(a.uint8array ? "uint8array" : "array", o));
|
|
970
|
+
}, n.inherits(g, h), g.prototype.processChunk = function(o) {
|
|
971
|
+
var m = n.transformTo(a.uint8array ? "uint8array" : "array", o.data);
|
|
972
|
+
if (this.leftOver && this.leftOver.length) {
|
|
973
|
+
if (a.uint8array) {
|
|
974
|
+
var s = m;
|
|
975
|
+
(m = new Uint8Array(s.length + this.leftOver.length)).set(this.leftOver, 0), m.set(s, this.leftOver.length);
|
|
976
|
+
} else m = this.leftOver.concat(m);
|
|
977
|
+
this.leftOver = null;
|
|
978
|
+
}
|
|
979
|
+
var d = (function(f, _) {
|
|
980
|
+
var S;
|
|
981
|
+
for ((_ = _ || f.length) > f.length && (_ = f.length), S = _ - 1; 0 <= S && (192 & f[S]) == 128; ) S--;
|
|
982
|
+
return S < 0 || S === 0 ? _ : S + y[f[S]] > _ ? S : _;
|
|
983
|
+
})(m), l = m;
|
|
984
|
+
d !== m.length && (a.uint8array ? (l = m.subarray(0, d), this.leftOver = m.subarray(d, m.length)) : (l = m.slice(0, d), this.leftOver = m.slice(d, m.length))), this.push({ data: u.utf8decode(l), meta: o.meta });
|
|
985
|
+
}, g.prototype.flush = function() {
|
|
986
|
+
this.leftOver && this.leftOver.length && (this.push({ data: u.utf8decode(this.leftOver), meta: {} }), this.leftOver = null);
|
|
987
|
+
}, u.Utf8DecodeWorker = g, n.inherits(v, h), v.prototype.processChunk = function(o) {
|
|
988
|
+
this.push({ data: u.utf8encode(o.data), meta: o.meta });
|
|
989
|
+
}, u.Utf8EncodeWorker = v;
|
|
990
|
+
}, { "./nodejsUtils": 14, "./stream/GenericWorker": 28, "./support": 30, "./utils": 32 }], 32: [function(r, b, u) {
|
|
991
|
+
var n = r("./support"), a = r("./base64"), i = r("./nodejsUtils"), h = r("./external");
|
|
992
|
+
function y(s) {
|
|
993
|
+
return s;
|
|
994
|
+
}
|
|
995
|
+
function k(s, d) {
|
|
996
|
+
for (var l = 0; l < s.length; ++l) d[l] = 255 & s.charCodeAt(l);
|
|
997
|
+
return d;
|
|
998
|
+
}
|
|
999
|
+
r("setimmediate"), u.newBlob = function(s, d) {
|
|
1000
|
+
u.checkSupport("blob");
|
|
1001
|
+
try {
|
|
1002
|
+
return new Blob([s], { type: d });
|
|
1003
|
+
} catch {
|
|
1004
|
+
try {
|
|
1005
|
+
var l = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder)();
|
|
1006
|
+
return l.append(s), l.getBlob(d);
|
|
1007
|
+
} catch {
|
|
1008
|
+
throw new Error("Bug : can't construct the Blob.");
|
|
1009
|
+
}
|
|
1010
|
+
}
|
|
1011
|
+
};
|
|
1012
|
+
var g = { stringifyByChunk: function(s, d, l) {
|
|
1013
|
+
var f = [], _ = 0, S = s.length;
|
|
1014
|
+
if (S <= l) return String.fromCharCode.apply(null, s);
|
|
1015
|
+
for (; _ < S; ) d === "array" || d === "nodebuffer" ? f.push(String.fromCharCode.apply(null, s.slice(_, Math.min(_ + l, S)))) : f.push(String.fromCharCode.apply(null, s.subarray(_, Math.min(_ + l, S)))), _ += l;
|
|
1016
|
+
return f.join("");
|
|
1017
|
+
}, stringifyByChar: function(s) {
|
|
1018
|
+
for (var d = "", l = 0; l < s.length; l++) d += String.fromCharCode(s[l]);
|
|
1019
|
+
return d;
|
|
1020
|
+
}, applyCanBeUsed: { uint8array: (function() {
|
|
1021
|
+
try {
|
|
1022
|
+
return n.uint8array && String.fromCharCode.apply(null, new Uint8Array(1)).length === 1;
|
|
1023
|
+
} catch {
|
|
1024
|
+
return !1;
|
|
1025
|
+
}
|
|
1026
|
+
})(), nodebuffer: (function() {
|
|
1027
|
+
try {
|
|
1028
|
+
return n.nodebuffer && String.fromCharCode.apply(null, i.allocBuffer(1)).length === 1;
|
|
1029
|
+
} catch {
|
|
1030
|
+
return !1;
|
|
1031
|
+
}
|
|
1032
|
+
})() } };
|
|
1033
|
+
function v(s) {
|
|
1034
|
+
var d = 65536, l = u.getTypeOf(s), f = !0;
|
|
1035
|
+
if (l === "uint8array" ? f = g.applyCanBeUsed.uint8array : l === "nodebuffer" && (f = g.applyCanBeUsed.nodebuffer), f) for (; 1 < d; ) try {
|
|
1036
|
+
return g.stringifyByChunk(s, l, d);
|
|
1037
|
+
} catch {
|
|
1038
|
+
d = Math.floor(d / 2);
|
|
1039
|
+
}
|
|
1040
|
+
return g.stringifyByChar(s);
|
|
1041
|
+
}
|
|
1042
|
+
function o(s, d) {
|
|
1043
|
+
for (var l = 0; l < s.length; l++) d[l] = s[l];
|
|
1044
|
+
return d;
|
|
1045
|
+
}
|
|
1046
|
+
u.applyFromCharCode = v;
|
|
1047
|
+
var m = {};
|
|
1048
|
+
m.string = { string: y, array: function(s) {
|
|
1049
|
+
return k(s, new Array(s.length));
|
|
1050
|
+
}, arraybuffer: function(s) {
|
|
1051
|
+
return m.string.uint8array(s).buffer;
|
|
1052
|
+
}, uint8array: function(s) {
|
|
1053
|
+
return k(s, new Uint8Array(s.length));
|
|
1054
|
+
}, nodebuffer: function(s) {
|
|
1055
|
+
return k(s, i.allocBuffer(s.length));
|
|
1056
|
+
} }, m.array = { string: v, array: y, arraybuffer: function(s) {
|
|
1057
|
+
return new Uint8Array(s).buffer;
|
|
1058
|
+
}, uint8array: function(s) {
|
|
1059
|
+
return new Uint8Array(s);
|
|
1060
|
+
}, nodebuffer: function(s) {
|
|
1061
|
+
return i.newBufferFrom(s);
|
|
1062
|
+
} }, m.arraybuffer = { string: function(s) {
|
|
1063
|
+
return v(new Uint8Array(s));
|
|
1064
|
+
}, array: function(s) {
|
|
1065
|
+
return o(new Uint8Array(s), new Array(s.byteLength));
|
|
1066
|
+
}, arraybuffer: y, uint8array: function(s) {
|
|
1067
|
+
return new Uint8Array(s);
|
|
1068
|
+
}, nodebuffer: function(s) {
|
|
1069
|
+
return i.newBufferFrom(new Uint8Array(s));
|
|
1070
|
+
} }, m.uint8array = { string: v, array: function(s) {
|
|
1071
|
+
return o(s, new Array(s.length));
|
|
1072
|
+
}, arraybuffer: function(s) {
|
|
1073
|
+
return s.buffer;
|
|
1074
|
+
}, uint8array: y, nodebuffer: function(s) {
|
|
1075
|
+
return i.newBufferFrom(s);
|
|
1076
|
+
} }, m.nodebuffer = { string: v, array: function(s) {
|
|
1077
|
+
return o(s, new Array(s.length));
|
|
1078
|
+
}, arraybuffer: function(s) {
|
|
1079
|
+
return m.nodebuffer.uint8array(s).buffer;
|
|
1080
|
+
}, uint8array: function(s) {
|
|
1081
|
+
return o(s, new Uint8Array(s.length));
|
|
1082
|
+
}, nodebuffer: y }, u.transformTo = function(s, d) {
|
|
1083
|
+
if (d = d || "", !s) return d;
|
|
1084
|
+
u.checkSupport(s);
|
|
1085
|
+
var l = u.getTypeOf(d);
|
|
1086
|
+
return m[l][s](d);
|
|
1087
|
+
}, u.resolve = function(s) {
|
|
1088
|
+
for (var d = s.split("/"), l = [], f = 0; f < d.length; f++) {
|
|
1089
|
+
var _ = d[f];
|
|
1090
|
+
_ === "." || _ === "" && f !== 0 && f !== d.length - 1 || (_ === ".." ? l.pop() : l.push(_));
|
|
1091
|
+
}
|
|
1092
|
+
return l.join("/");
|
|
1093
|
+
}, u.getTypeOf = function(s) {
|
|
1094
|
+
return typeof s == "string" ? "string" : Object.prototype.toString.call(s) === "[object Array]" ? "array" : n.nodebuffer && i.isBuffer(s) ? "nodebuffer" : n.uint8array && s instanceof Uint8Array ? "uint8array" : n.arraybuffer && s instanceof ArrayBuffer ? "arraybuffer" : void 0;
|
|
1095
|
+
}, u.checkSupport = function(s) {
|
|
1096
|
+
if (!n[s.toLowerCase()]) throw new Error(s + " is not supported by this platform");
|
|
1097
|
+
}, u.MAX_VALUE_16BITS = 65535, u.MAX_VALUE_32BITS = -1, u.pretty = function(s) {
|
|
1098
|
+
var d, l, f = "";
|
|
1099
|
+
for (l = 0; l < (s || "").length; l++) f += "\\x" + ((d = s.charCodeAt(l)) < 16 ? "0" : "") + d.toString(16).toUpperCase();
|
|
1100
|
+
return f;
|
|
1101
|
+
}, u.delay = function(s, d, l) {
|
|
1102
|
+
setImmediate(function() {
|
|
1103
|
+
s.apply(l || null, d || []);
|
|
1104
|
+
});
|
|
1105
|
+
}, u.inherits = function(s, d) {
|
|
1106
|
+
function l() {
|
|
1107
|
+
}
|
|
1108
|
+
l.prototype = d.prototype, s.prototype = new l();
|
|
1109
|
+
}, u.extend = function() {
|
|
1110
|
+
var s, d, l = {};
|
|
1111
|
+
for (s = 0; s < arguments.length; s++) for (d in arguments[s]) Object.prototype.hasOwnProperty.call(arguments[s], d) && l[d] === void 0 && (l[d] = arguments[s][d]);
|
|
1112
|
+
return l;
|
|
1113
|
+
}, u.prepareContent = function(s, d, l, f, _) {
|
|
1114
|
+
return h.Promise.resolve(d).then(function(S) {
|
|
1115
|
+
return n.blob && (S instanceof Blob || ["[object File]", "[object Blob]"].indexOf(Object.prototype.toString.call(S)) !== -1) && typeof FileReader < "u" ? new h.Promise(function(z, F) {
|
|
1116
|
+
var R = new FileReader();
|
|
1117
|
+
R.onload = function(P) {
|
|
1118
|
+
z(P.target.result);
|
|
1119
|
+
}, R.onerror = function(P) {
|
|
1120
|
+
F(P.target.error);
|
|
1121
|
+
}, R.readAsArrayBuffer(S);
|
|
1122
|
+
}) : S;
|
|
1123
|
+
}).then(function(S) {
|
|
1124
|
+
var z = u.getTypeOf(S);
|
|
1125
|
+
return z ? (z === "arraybuffer" ? S = u.transformTo("uint8array", S) : z === "string" && (_ ? S = a.decode(S) : l && f !== !0 && (S = (function(F) {
|
|
1126
|
+
return k(F, n.uint8array ? new Uint8Array(F.length) : new Array(F.length));
|
|
1127
|
+
})(S))), S) : h.Promise.reject(new Error("Can't read the data of '" + s + "'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"));
|
|
1128
|
+
});
|
|
1129
|
+
};
|
|
1130
|
+
}, { "./base64": 1, "./external": 6, "./nodejsUtils": 14, "./support": 30, setimmediate: 54 }], 33: [function(r, b, u) {
|
|
1131
|
+
var n = r("./reader/readerFor"), a = r("./utils"), i = r("./signature"), h = r("./zipEntry"), y = r("./support");
|
|
1132
|
+
function k(g) {
|
|
1133
|
+
this.files = [], this.loadOptions = g;
|
|
1134
|
+
}
|
|
1135
|
+
k.prototype = { checkSignature: function(g) {
|
|
1136
|
+
if (!this.reader.readAndCheckSignature(g)) {
|
|
1137
|
+
this.reader.index -= 4;
|
|
1138
|
+
var v = this.reader.readString(4);
|
|
1139
|
+
throw new Error("Corrupted zip or bug: unexpected signature (" + a.pretty(v) + ", expected " + a.pretty(g) + ")");
|
|
1140
|
+
}
|
|
1141
|
+
}, isSignature: function(g, v) {
|
|
1142
|
+
var o = this.reader.index;
|
|
1143
|
+
this.reader.setIndex(g);
|
|
1144
|
+
var m = this.reader.readString(4) === v;
|
|
1145
|
+
return this.reader.setIndex(o), m;
|
|
1146
|
+
}, readBlockEndOfCentral: function() {
|
|
1147
|
+
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);
|
|
1148
|
+
var g = this.reader.readData(this.zipCommentLength), v = y.uint8array ? "uint8array" : "array", o = a.transformTo(v, g);
|
|
1149
|
+
this.zipComment = this.loadOptions.decodeFileName(o);
|
|
1150
|
+
}, readBlockZip64EndOfCentral: function() {
|
|
1151
|
+
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 = {};
|
|
1152
|
+
for (var g, v, o, m = this.zip64EndOfCentralSize - 44; 0 < m; ) g = this.reader.readInt(2), v = this.reader.readInt(4), o = this.reader.readData(v), this.zip64ExtensibleData[g] = { id: g, length: v, value: o };
|
|
1153
|
+
}, readBlockZip64EndOfCentralLocator: function() {
|
|
1154
|
+
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");
|
|
1155
|
+
}, readLocalFiles: function() {
|
|
1156
|
+
var g, v;
|
|
1157
|
+
for (g = 0; g < this.files.length; g++) v = this.files[g], this.reader.setIndex(v.localHeaderOffset), this.checkSignature(i.LOCAL_FILE_HEADER), v.readLocalPart(this.reader), v.handleUTF8(), v.processAttributes();
|
|
1158
|
+
}, readCentralDir: function() {
|
|
1159
|
+
var g;
|
|
1160
|
+
for (this.reader.setIndex(this.centralDirOffset); this.reader.readAndCheckSignature(i.CENTRAL_FILE_HEADER); ) (g = new h({ zip64: this.zip64 }, this.loadOptions)).readCentralPart(this.reader), this.files.push(g);
|
|
1161
|
+
if (this.centralDirRecords !== this.files.length && this.centralDirRecords !== 0 && this.files.length === 0) throw new Error("Corrupted zip or bug: expected " + this.centralDirRecords + " records in central dir, got " + this.files.length);
|
|
1162
|
+
}, readEndOfCentral: function() {
|
|
1163
|
+
var g = this.reader.lastIndexOfSignature(i.CENTRAL_DIRECTORY_END);
|
|
1164
|
+
if (g < 0) throw this.isSignature(0, i.LOCAL_FILE_HEADER) ? new Error("Corrupted zip: can't find end of central directory") : 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");
|
|
1165
|
+
this.reader.setIndex(g);
|
|
1166
|
+
var v = g;
|
|
1167
|
+
if (this.checkSignature(i.CENTRAL_DIRECTORY_END), this.readBlockEndOfCentral(), this.diskNumber === a.MAX_VALUE_16BITS || this.diskWithCentralDirStart === a.MAX_VALUE_16BITS || this.centralDirRecordsOnThisDisk === a.MAX_VALUE_16BITS || this.centralDirRecords === a.MAX_VALUE_16BITS || this.centralDirSize === a.MAX_VALUE_32BITS || this.centralDirOffset === a.MAX_VALUE_32BITS) {
|
|
1168
|
+
if (this.zip64 = !0, (g = this.reader.lastIndexOfSignature(i.ZIP64_CENTRAL_DIRECTORY_LOCATOR)) < 0) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");
|
|
1169
|
+
if (this.reader.setIndex(g), this.checkSignature(i.ZIP64_CENTRAL_DIRECTORY_LOCATOR), this.readBlockZip64EndOfCentralLocator(), !this.isSignature(this.relativeOffsetEndOfZip64CentralDir, i.ZIP64_CENTRAL_DIRECTORY_END) && (this.relativeOffsetEndOfZip64CentralDir = this.reader.lastIndexOfSignature(i.ZIP64_CENTRAL_DIRECTORY_END), this.relativeOffsetEndOfZip64CentralDir < 0)) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");
|
|
1170
|
+
this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir), this.checkSignature(i.ZIP64_CENTRAL_DIRECTORY_END), this.readBlockZip64EndOfCentral();
|
|
1171
|
+
}
|
|
1172
|
+
var o = this.centralDirOffset + this.centralDirSize;
|
|
1173
|
+
this.zip64 && (o += 20, o += 12 + this.zip64EndOfCentralSize);
|
|
1174
|
+
var m = v - o;
|
|
1175
|
+
if (0 < m) this.isSignature(v, i.CENTRAL_FILE_HEADER) || (this.reader.zero = m);
|
|
1176
|
+
else if (m < 0) throw new Error("Corrupted zip: missing " + Math.abs(m) + " bytes.");
|
|
1177
|
+
}, prepareReader: function(g) {
|
|
1178
|
+
this.reader = n(g);
|
|
1179
|
+
}, load: function(g) {
|
|
1180
|
+
this.prepareReader(g), this.readEndOfCentral(), this.readCentralDir(), this.readLocalFiles();
|
|
1181
|
+
} }, b.exports = k;
|
|
1182
|
+
}, { "./reader/readerFor": 22, "./signature": 23, "./support": 30, "./utils": 32, "./zipEntry": 34 }], 34: [function(r, b, u) {
|
|
1183
|
+
var n = r("./reader/readerFor"), a = r("./utils"), i = r("./compressedObject"), h = r("./crc32"), y = r("./utf8"), k = r("./compressions"), g = r("./support");
|
|
1184
|
+
function v(o, m) {
|
|
1185
|
+
this.options = o, this.loadOptions = m;
|
|
1186
|
+
}
|
|
1187
|
+
v.prototype = { isEncrypted: function() {
|
|
1188
|
+
return (1 & this.bitFlag) == 1;
|
|
1189
|
+
}, useUTF8: function() {
|
|
1190
|
+
return (2048 & this.bitFlag) == 2048;
|
|
1191
|
+
}, readLocalPart: function(o) {
|
|
1192
|
+
var m, s;
|
|
1193
|
+
if (o.skip(22), this.fileNameLength = o.readInt(2), s = o.readInt(2), this.fileName = o.readData(this.fileNameLength), o.skip(s), this.compressedSize === -1 || this.uncompressedSize === -1) throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");
|
|
1194
|
+
if ((m = (function(d) {
|
|
1195
|
+
for (var l in k) if (Object.prototype.hasOwnProperty.call(k, l) && k[l].magic === d) return k[l];
|
|
1196
|
+
return null;
|
|
1197
|
+
})(this.compressionMethod)) === null) throw new Error("Corrupted zip : compression " + a.pretty(this.compressionMethod) + " unknown (inner file : " + a.transformTo("string", this.fileName) + ")");
|
|
1198
|
+
this.decompressed = new i(this.compressedSize, this.uncompressedSize, this.crc32, m, o.readData(this.compressedSize));
|
|
1199
|
+
}, readCentralPart: function(o) {
|
|
1200
|
+
this.versionMadeBy = o.readInt(2), o.skip(2), this.bitFlag = o.readInt(2), this.compressionMethod = o.readString(2), this.date = o.readDate(), this.crc32 = o.readInt(4), this.compressedSize = o.readInt(4), this.uncompressedSize = o.readInt(4);
|
|
1201
|
+
var m = o.readInt(2);
|
|
1202
|
+
if (this.extraFieldsLength = o.readInt(2), this.fileCommentLength = o.readInt(2), this.diskNumberStart = o.readInt(2), this.internalFileAttributes = o.readInt(2), this.externalFileAttributes = o.readInt(4), this.localHeaderOffset = o.readInt(4), this.isEncrypted()) throw new Error("Encrypted zip are not supported");
|
|
1203
|
+
o.skip(m), this.readExtraFields(o), this.parseZIP64ExtraField(o), this.fileComment = o.readData(this.fileCommentLength);
|
|
1204
|
+
}, processAttributes: function() {
|
|
1205
|
+
this.unixPermissions = null, this.dosPermissions = null;
|
|
1206
|
+
var o = this.versionMadeBy >> 8;
|
|
1207
|
+
this.dir = !!(16 & this.externalFileAttributes), o == 0 && (this.dosPermissions = 63 & this.externalFileAttributes), o == 3 && (this.unixPermissions = this.externalFileAttributes >> 16 & 65535), this.dir || this.fileNameStr.slice(-1) !== "/" || (this.dir = !0);
|
|
1208
|
+
}, parseZIP64ExtraField: function() {
|
|
1209
|
+
if (this.extraFields[1]) {
|
|
1210
|
+
var o = n(this.extraFields[1].value);
|
|
1211
|
+
this.uncompressedSize === a.MAX_VALUE_32BITS && (this.uncompressedSize = o.readInt(8)), this.compressedSize === a.MAX_VALUE_32BITS && (this.compressedSize = o.readInt(8)), this.localHeaderOffset === a.MAX_VALUE_32BITS && (this.localHeaderOffset = o.readInt(8)), this.diskNumberStart === a.MAX_VALUE_32BITS && (this.diskNumberStart = o.readInt(4));
|
|
1212
|
+
}
|
|
1213
|
+
}, readExtraFields: function(o) {
|
|
1214
|
+
var m, s, d, l = o.index + this.extraFieldsLength;
|
|
1215
|
+
for (this.extraFields || (this.extraFields = {}); o.index + 4 < l; ) m = o.readInt(2), s = o.readInt(2), d = o.readData(s), this.extraFields[m] = { id: m, length: s, value: d };
|
|
1216
|
+
o.setIndex(l);
|
|
1217
|
+
}, handleUTF8: function() {
|
|
1218
|
+
var o = g.uint8array ? "uint8array" : "array";
|
|
1219
|
+
if (this.useUTF8()) this.fileNameStr = y.utf8decode(this.fileName), this.fileCommentStr = y.utf8decode(this.fileComment);
|
|
1220
|
+
else {
|
|
1221
|
+
var m = this.findExtraFieldUnicodePath();
|
|
1222
|
+
if (m !== null) this.fileNameStr = m;
|
|
1223
|
+
else {
|
|
1224
|
+
var s = a.transformTo(o, this.fileName);
|
|
1225
|
+
this.fileNameStr = this.loadOptions.decodeFileName(s);
|
|
1226
|
+
}
|
|
1227
|
+
var d = this.findExtraFieldUnicodeComment();
|
|
1228
|
+
if (d !== null) this.fileCommentStr = d;
|
|
1229
|
+
else {
|
|
1230
|
+
var l = a.transformTo(o, this.fileComment);
|
|
1231
|
+
this.fileCommentStr = this.loadOptions.decodeFileName(l);
|
|
1232
|
+
}
|
|
1233
|
+
}
|
|
1234
|
+
}, findExtraFieldUnicodePath: function() {
|
|
1235
|
+
var o = this.extraFields[28789];
|
|
1236
|
+
if (o) {
|
|
1237
|
+
var m = n(o.value);
|
|
1238
|
+
return m.readInt(1) !== 1 || h(this.fileName) !== m.readInt(4) ? null : y.utf8decode(m.readData(o.length - 5));
|
|
1239
|
+
}
|
|
1240
|
+
return null;
|
|
1241
|
+
}, findExtraFieldUnicodeComment: function() {
|
|
1242
|
+
var o = this.extraFields[25461];
|
|
1243
|
+
if (o) {
|
|
1244
|
+
var m = n(o.value);
|
|
1245
|
+
return m.readInt(1) !== 1 || h(this.fileComment) !== m.readInt(4) ? null : y.utf8decode(m.readData(o.length - 5));
|
|
1246
|
+
}
|
|
1247
|
+
return null;
|
|
1248
|
+
} }, b.exports = v;
|
|
1249
|
+
}, { "./compressedObject": 2, "./compressions": 3, "./crc32": 4, "./reader/readerFor": 22, "./support": 30, "./utf8": 31, "./utils": 32 }], 35: [function(r, b, u) {
|
|
1250
|
+
function n(m, s, d) {
|
|
1251
|
+
this.name = m, this.dir = d.dir, this.date = d.date, this.comment = d.comment, this.unixPermissions = d.unixPermissions, this.dosPermissions = d.dosPermissions, this._data = s, this._dataBinary = d.binary, this.options = { compression: d.compression, compressionOptions: d.compressionOptions };
|
|
1252
|
+
}
|
|
1253
|
+
var a = r("./stream/StreamHelper"), i = r("./stream/DataWorker"), h = r("./utf8"), y = r("./compressedObject"), k = r("./stream/GenericWorker");
|
|
1254
|
+
n.prototype = { internalStream: function(m) {
|
|
1255
|
+
var s = null, d = "string";
|
|
1256
|
+
try {
|
|
1257
|
+
if (!m) throw new Error("No output type specified.");
|
|
1258
|
+
var l = (d = m.toLowerCase()) === "string" || d === "text";
|
|
1259
|
+
d !== "binarystring" && d !== "text" || (d = "string"), s = this._decompressWorker();
|
|
1260
|
+
var f = !this._dataBinary;
|
|
1261
|
+
f && !l && (s = s.pipe(new h.Utf8EncodeWorker())), !f && l && (s = s.pipe(new h.Utf8DecodeWorker()));
|
|
1262
|
+
} catch (_) {
|
|
1263
|
+
(s = new k("error")).error(_);
|
|
1264
|
+
}
|
|
1265
|
+
return new a(s, d, "");
|
|
1266
|
+
}, async: function(m, s) {
|
|
1267
|
+
return this.internalStream(m).accumulate(s);
|
|
1268
|
+
}, nodeStream: function(m, s) {
|
|
1269
|
+
return this.internalStream(m || "nodebuffer").toNodejsStream(s);
|
|
1270
|
+
}, _compressWorker: function(m, s) {
|
|
1271
|
+
if (this._data instanceof y && this._data.compression.magic === m.magic) return this._data.getCompressedWorker();
|
|
1272
|
+
var d = this._decompressWorker();
|
|
1273
|
+
return this._dataBinary || (d = d.pipe(new h.Utf8EncodeWorker())), y.createWorkerFrom(d, m, s);
|
|
1274
|
+
}, _decompressWorker: function() {
|
|
1275
|
+
return this._data instanceof y ? this._data.getContentWorker() : this._data instanceof k ? this._data : new i(this._data);
|
|
1276
|
+
} };
|
|
1277
|
+
for (var g = ["asText", "asBinary", "asNodeBuffer", "asUint8Array", "asArrayBuffer"], v = function() {
|
|
1278
|
+
throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.");
|
|
1279
|
+
}, o = 0; o < g.length; o++) n.prototype[g[o]] = v;
|
|
1280
|
+
b.exports = n;
|
|
1281
|
+
}, { "./compressedObject": 2, "./stream/DataWorker": 27, "./stream/GenericWorker": 28, "./stream/StreamHelper": 29, "./utf8": 31 }], 36: [function(r, b, u) {
|
|
1282
|
+
(function(n) {
|
|
1283
|
+
var a, i, h = n.MutationObserver || n.WebKitMutationObserver;
|
|
1284
|
+
if (h) {
|
|
1285
|
+
var y = 0, k = new h(m), g = n.document.createTextNode("");
|
|
1286
|
+
k.observe(g, { characterData: !0 }), a = function() {
|
|
1287
|
+
g.data = y = ++y % 2;
|
|
1288
|
+
};
|
|
1289
|
+
} else if (n.setImmediate || n.MessageChannel === void 0) a = "document" in n && "onreadystatechange" in n.document.createElement("script") ? function() {
|
|
1290
|
+
var s = n.document.createElement("script");
|
|
1291
|
+
s.onreadystatechange = function() {
|
|
1292
|
+
m(), s.onreadystatechange = null, s.parentNode.removeChild(s), s = null;
|
|
1293
|
+
}, n.document.documentElement.appendChild(s);
|
|
1294
|
+
} : function() {
|
|
1295
|
+
setTimeout(m, 0);
|
|
1296
|
+
};
|
|
1297
|
+
else {
|
|
1298
|
+
var v = new n.MessageChannel();
|
|
1299
|
+
v.port1.onmessage = m, a = function() {
|
|
1300
|
+
v.port2.postMessage(0);
|
|
1301
|
+
};
|
|
1302
|
+
}
|
|
1303
|
+
var o = [];
|
|
1304
|
+
function m() {
|
|
1305
|
+
var s, d;
|
|
1306
|
+
i = !0;
|
|
1307
|
+
for (var l = o.length; l; ) {
|
|
1308
|
+
for (d = o, o = [], s = -1; ++s < l; ) d[s]();
|
|
1309
|
+
l = o.length;
|
|
1310
|
+
}
|
|
1311
|
+
i = !1;
|
|
1312
|
+
}
|
|
1313
|
+
b.exports = function(s) {
|
|
1314
|
+
o.push(s) !== 1 || i || a();
|
|
1315
|
+
};
|
|
1316
|
+
}).call(this, typeof kt < "u" ? kt : typeof self < "u" ? self : typeof window < "u" ? window : {});
|
|
1317
|
+
}, {}], 37: [function(r, b, u) {
|
|
1318
|
+
var n = r("immediate");
|
|
1319
|
+
function a() {
|
|
1320
|
+
}
|
|
1321
|
+
var i = {}, h = ["REJECTED"], y = ["FULFILLED"], k = ["PENDING"];
|
|
1322
|
+
function g(l) {
|
|
1323
|
+
if (typeof l != "function") throw new TypeError("resolver must be a function");
|
|
1324
|
+
this.state = k, this.queue = [], this.outcome = void 0, l !== a && s(this, l);
|
|
1325
|
+
}
|
|
1326
|
+
function v(l, f, _) {
|
|
1327
|
+
this.promise = l, typeof f == "function" && (this.onFulfilled = f, this.callFulfilled = this.otherCallFulfilled), typeof _ == "function" && (this.onRejected = _, this.callRejected = this.otherCallRejected);
|
|
1328
|
+
}
|
|
1329
|
+
function o(l, f, _) {
|
|
1330
|
+
n(function() {
|
|
1331
|
+
var S;
|
|
1332
|
+
try {
|
|
1333
|
+
S = f(_);
|
|
1334
|
+
} catch (z) {
|
|
1335
|
+
return i.reject(l, z);
|
|
1336
|
+
}
|
|
1337
|
+
S === l ? i.reject(l, new TypeError("Cannot resolve promise with itself")) : i.resolve(l, S);
|
|
1338
|
+
});
|
|
1339
|
+
}
|
|
1340
|
+
function m(l) {
|
|
1341
|
+
var f = l && l.then;
|
|
1342
|
+
if (l && (typeof l == "object" || typeof l == "function") && typeof f == "function") return function() {
|
|
1343
|
+
f.apply(l, arguments);
|
|
1344
|
+
};
|
|
1345
|
+
}
|
|
1346
|
+
function s(l, f) {
|
|
1347
|
+
var _ = !1;
|
|
1348
|
+
function S(R) {
|
|
1349
|
+
_ || (_ = !0, i.reject(l, R));
|
|
1350
|
+
}
|
|
1351
|
+
function z(R) {
|
|
1352
|
+
_ || (_ = !0, i.resolve(l, R));
|
|
1353
|
+
}
|
|
1354
|
+
var F = d(function() {
|
|
1355
|
+
f(z, S);
|
|
1356
|
+
});
|
|
1357
|
+
F.status === "error" && S(F.value);
|
|
1358
|
+
}
|
|
1359
|
+
function d(l, f) {
|
|
1360
|
+
var _ = {};
|
|
1361
|
+
try {
|
|
1362
|
+
_.value = l(f), _.status = "success";
|
|
1363
|
+
} catch (S) {
|
|
1364
|
+
_.status = "error", _.value = S;
|
|
1365
|
+
}
|
|
1366
|
+
return _;
|
|
1367
|
+
}
|
|
1368
|
+
(b.exports = g).prototype.finally = function(l) {
|
|
1369
|
+
if (typeof l != "function") return this;
|
|
1370
|
+
var f = this.constructor;
|
|
1371
|
+
return this.then(function(_) {
|
|
1372
|
+
return f.resolve(l()).then(function() {
|
|
1373
|
+
return _;
|
|
1374
|
+
});
|
|
1375
|
+
}, function(_) {
|
|
1376
|
+
return f.resolve(l()).then(function() {
|
|
1377
|
+
throw _;
|
|
1378
|
+
});
|
|
1379
|
+
});
|
|
1380
|
+
}, g.prototype.catch = function(l) {
|
|
1381
|
+
return this.then(null, l);
|
|
1382
|
+
}, g.prototype.then = function(l, f) {
|
|
1383
|
+
if (typeof l != "function" && this.state === y || typeof f != "function" && this.state === h) return this;
|
|
1384
|
+
var _ = new this.constructor(a);
|
|
1385
|
+
return this.state !== k ? o(_, this.state === y ? l : f, this.outcome) : this.queue.push(new v(_, l, f)), _;
|
|
1386
|
+
}, v.prototype.callFulfilled = function(l) {
|
|
1387
|
+
i.resolve(this.promise, l);
|
|
1388
|
+
}, v.prototype.otherCallFulfilled = function(l) {
|
|
1389
|
+
o(this.promise, this.onFulfilled, l);
|
|
1390
|
+
}, v.prototype.callRejected = function(l) {
|
|
1391
|
+
i.reject(this.promise, l);
|
|
1392
|
+
}, v.prototype.otherCallRejected = function(l) {
|
|
1393
|
+
o(this.promise, this.onRejected, l);
|
|
1394
|
+
}, i.resolve = function(l, f) {
|
|
1395
|
+
var _ = d(m, f);
|
|
1396
|
+
if (_.status === "error") return i.reject(l, _.value);
|
|
1397
|
+
var S = _.value;
|
|
1398
|
+
if (S) s(l, S);
|
|
1399
|
+
else {
|
|
1400
|
+
l.state = y, l.outcome = f;
|
|
1401
|
+
for (var z = -1, F = l.queue.length; ++z < F; ) l.queue[z].callFulfilled(f);
|
|
1402
|
+
}
|
|
1403
|
+
return l;
|
|
1404
|
+
}, i.reject = function(l, f) {
|
|
1405
|
+
l.state = h, l.outcome = f;
|
|
1406
|
+
for (var _ = -1, S = l.queue.length; ++_ < S; ) l.queue[_].callRejected(f);
|
|
1407
|
+
return l;
|
|
1408
|
+
}, g.resolve = function(l) {
|
|
1409
|
+
return l instanceof this ? l : i.resolve(new this(a), l);
|
|
1410
|
+
}, g.reject = function(l) {
|
|
1411
|
+
var f = new this(a);
|
|
1412
|
+
return i.reject(f, l);
|
|
1413
|
+
}, g.all = function(l) {
|
|
1414
|
+
var f = this;
|
|
1415
|
+
if (Object.prototype.toString.call(l) !== "[object Array]") return this.reject(new TypeError("must be an array"));
|
|
1416
|
+
var _ = l.length, S = !1;
|
|
1417
|
+
if (!_) return this.resolve([]);
|
|
1418
|
+
for (var z = new Array(_), F = 0, R = -1, P = new this(a); ++R < _; ) T(l[R], R);
|
|
1419
|
+
return P;
|
|
1420
|
+
function T(W, J) {
|
|
1421
|
+
f.resolve(W).then(function(w) {
|
|
1422
|
+
z[J] = w, ++F !== _ || S || (S = !0, i.resolve(P, z));
|
|
1423
|
+
}, function(w) {
|
|
1424
|
+
S || (S = !0, i.reject(P, w));
|
|
1425
|
+
});
|
|
1426
|
+
}
|
|
1427
|
+
}, g.race = function(l) {
|
|
1428
|
+
var f = this;
|
|
1429
|
+
if (Object.prototype.toString.call(l) !== "[object Array]") return this.reject(new TypeError("must be an array"));
|
|
1430
|
+
var _ = l.length, S = !1;
|
|
1431
|
+
if (!_) return this.resolve([]);
|
|
1432
|
+
for (var z = -1, F = new this(a); ++z < _; ) R = l[z], f.resolve(R).then(function(P) {
|
|
1433
|
+
S || (S = !0, i.resolve(F, P));
|
|
1434
|
+
}, function(P) {
|
|
1435
|
+
S || (S = !0, i.reject(F, P));
|
|
1436
|
+
});
|
|
1437
|
+
var R;
|
|
1438
|
+
return F;
|
|
1439
|
+
};
|
|
1440
|
+
}, { immediate: 36 }], 38: [function(r, b, u) {
|
|
1441
|
+
var n = {};
|
|
1442
|
+
(0, r("./lib/utils/common").assign)(n, r("./lib/deflate"), r("./lib/inflate"), r("./lib/zlib/constants")), b.exports = n;
|
|
1443
|
+
}, { "./lib/deflate": 39, "./lib/inflate": 40, "./lib/utils/common": 41, "./lib/zlib/constants": 44 }], 39: [function(r, b, u) {
|
|
1444
|
+
var n = r("./zlib/deflate"), a = r("./utils/common"), i = r("./utils/strings"), h = r("./zlib/messages"), y = r("./zlib/zstream"), k = Object.prototype.toString, g = 0, v = -1, o = 0, m = 8;
|
|
1445
|
+
function s(l) {
|
|
1446
|
+
if (!(this instanceof s)) return new s(l);
|
|
1447
|
+
this.options = a.assign({ level: v, method: m, chunkSize: 16384, windowBits: 15, memLevel: 8, strategy: o, to: "" }, l || {});
|
|
1448
|
+
var f = this.options;
|
|
1449
|
+
f.raw && 0 < f.windowBits ? f.windowBits = -f.windowBits : f.gzip && 0 < f.windowBits && f.windowBits < 16 && (f.windowBits += 16), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new y(), this.strm.avail_out = 0;
|
|
1450
|
+
var _ = n.deflateInit2(this.strm, f.level, f.method, f.windowBits, f.memLevel, f.strategy);
|
|
1451
|
+
if (_ !== g) throw new Error(h[_]);
|
|
1452
|
+
if (f.header && n.deflateSetHeader(this.strm, f.header), f.dictionary) {
|
|
1453
|
+
var S;
|
|
1454
|
+
if (S = typeof f.dictionary == "string" ? i.string2buf(f.dictionary) : k.call(f.dictionary) === "[object ArrayBuffer]" ? new Uint8Array(f.dictionary) : f.dictionary, (_ = n.deflateSetDictionary(this.strm, S)) !== g) throw new Error(h[_]);
|
|
1455
|
+
this._dict_set = !0;
|
|
1456
|
+
}
|
|
1457
|
+
}
|
|
1458
|
+
function d(l, f) {
|
|
1459
|
+
var _ = new s(f);
|
|
1460
|
+
if (_.push(l, !0), _.err) throw _.msg || h[_.err];
|
|
1461
|
+
return _.result;
|
|
1462
|
+
}
|
|
1463
|
+
s.prototype.push = function(l, f) {
|
|
1464
|
+
var _, S, z = this.strm, F = this.options.chunkSize;
|
|
1465
|
+
if (this.ended) return !1;
|
|
1466
|
+
S = f === ~~f ? f : f === !0 ? 4 : 0, typeof l == "string" ? z.input = i.string2buf(l) : k.call(l) === "[object ArrayBuffer]" ? z.input = new Uint8Array(l) : z.input = l, z.next_in = 0, z.avail_in = z.input.length;
|
|
1467
|
+
do {
|
|
1468
|
+
if (z.avail_out === 0 && (z.output = new a.Buf8(F), z.next_out = 0, z.avail_out = F), (_ = n.deflate(z, S)) !== 1 && _ !== g) return this.onEnd(_), !(this.ended = !0);
|
|
1469
|
+
z.avail_out !== 0 && (z.avail_in !== 0 || S !== 4 && S !== 2) || (this.options.to === "string" ? this.onData(i.buf2binstring(a.shrinkBuf(z.output, z.next_out))) : this.onData(a.shrinkBuf(z.output, z.next_out)));
|
|
1470
|
+
} while ((0 < z.avail_in || z.avail_out === 0) && _ !== 1);
|
|
1471
|
+
return S === 4 ? (_ = n.deflateEnd(this.strm), this.onEnd(_), this.ended = !0, _ === g) : S !== 2 || (this.onEnd(g), !(z.avail_out = 0));
|
|
1472
|
+
}, s.prototype.onData = function(l) {
|
|
1473
|
+
this.chunks.push(l);
|
|
1474
|
+
}, s.prototype.onEnd = function(l) {
|
|
1475
|
+
l === g && (this.options.to === "string" ? this.result = this.chunks.join("") : this.result = a.flattenChunks(this.chunks)), this.chunks = [], this.err = l, this.msg = this.strm.msg;
|
|
1476
|
+
}, u.Deflate = s, u.deflate = d, u.deflateRaw = function(l, f) {
|
|
1477
|
+
return (f = f || {}).raw = !0, d(l, f);
|
|
1478
|
+
}, u.gzip = function(l, f) {
|
|
1479
|
+
return (f = f || {}).gzip = !0, d(l, f);
|
|
1480
|
+
};
|
|
1481
|
+
}, { "./utils/common": 41, "./utils/strings": 42, "./zlib/deflate": 46, "./zlib/messages": 51, "./zlib/zstream": 53 }], 40: [function(r, b, u) {
|
|
1482
|
+
var n = r("./zlib/inflate"), a = r("./utils/common"), i = r("./utils/strings"), h = r("./zlib/constants"), y = r("./zlib/messages"), k = r("./zlib/zstream"), g = r("./zlib/gzheader"), v = Object.prototype.toString;
|
|
1483
|
+
function o(s) {
|
|
1484
|
+
if (!(this instanceof o)) return new o(s);
|
|
1485
|
+
this.options = a.assign({ chunkSize: 16384, windowBits: 0, to: "" }, s || {});
|
|
1486
|
+
var d = this.options;
|
|
1487
|
+
d.raw && 0 <= d.windowBits && d.windowBits < 16 && (d.windowBits = -d.windowBits, d.windowBits === 0 && (d.windowBits = -15)), !(0 <= d.windowBits && d.windowBits < 16) || s && s.windowBits || (d.windowBits += 32), 15 < d.windowBits && d.windowBits < 48 && (15 & d.windowBits) == 0 && (d.windowBits |= 15), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new k(), this.strm.avail_out = 0;
|
|
1488
|
+
var l = n.inflateInit2(this.strm, d.windowBits);
|
|
1489
|
+
if (l !== h.Z_OK) throw new Error(y[l]);
|
|
1490
|
+
this.header = new g(), n.inflateGetHeader(this.strm, this.header);
|
|
1491
|
+
}
|
|
1492
|
+
function m(s, d) {
|
|
1493
|
+
var l = new o(d);
|
|
1494
|
+
if (l.push(s, !0), l.err) throw l.msg || y[l.err];
|
|
1495
|
+
return l.result;
|
|
1496
|
+
}
|
|
1497
|
+
o.prototype.push = function(s, d) {
|
|
1498
|
+
var l, f, _, S, z, F, R = this.strm, P = this.options.chunkSize, T = this.options.dictionary, W = !1;
|
|
1499
|
+
if (this.ended) return !1;
|
|
1500
|
+
f = d === ~~d ? d : d === !0 ? h.Z_FINISH : h.Z_NO_FLUSH, typeof s == "string" ? R.input = i.binstring2buf(s) : v.call(s) === "[object ArrayBuffer]" ? R.input = new Uint8Array(s) : R.input = s, R.next_in = 0, R.avail_in = R.input.length;
|
|
1501
|
+
do {
|
|
1502
|
+
if (R.avail_out === 0 && (R.output = new a.Buf8(P), R.next_out = 0, R.avail_out = P), (l = n.inflate(R, h.Z_NO_FLUSH)) === h.Z_NEED_DICT && T && (F = typeof T == "string" ? i.string2buf(T) : v.call(T) === "[object ArrayBuffer]" ? new Uint8Array(T) : T, l = n.inflateSetDictionary(this.strm, F)), l === h.Z_BUF_ERROR && W === !0 && (l = h.Z_OK, W = !1), l !== h.Z_STREAM_END && l !== h.Z_OK) return this.onEnd(l), !(this.ended = !0);
|
|
1503
|
+
R.next_out && (R.avail_out !== 0 && l !== h.Z_STREAM_END && (R.avail_in !== 0 || f !== h.Z_FINISH && f !== h.Z_SYNC_FLUSH) || (this.options.to === "string" ? (_ = i.utf8border(R.output, R.next_out), S = R.next_out - _, z = i.buf2string(R.output, _), R.next_out = S, R.avail_out = P - S, S && a.arraySet(R.output, R.output, _, S, 0), this.onData(z)) : this.onData(a.shrinkBuf(R.output, R.next_out)))), R.avail_in === 0 && R.avail_out === 0 && (W = !0);
|
|
1504
|
+
} while ((0 < R.avail_in || R.avail_out === 0) && l !== h.Z_STREAM_END);
|
|
1505
|
+
return l === h.Z_STREAM_END && (f = h.Z_FINISH), f === h.Z_FINISH ? (l = n.inflateEnd(this.strm), this.onEnd(l), this.ended = !0, l === h.Z_OK) : f !== h.Z_SYNC_FLUSH || (this.onEnd(h.Z_OK), !(R.avail_out = 0));
|
|
1506
|
+
}, o.prototype.onData = function(s) {
|
|
1507
|
+
this.chunks.push(s);
|
|
1508
|
+
}, o.prototype.onEnd = function(s) {
|
|
1509
|
+
s === h.Z_OK && (this.options.to === "string" ? this.result = this.chunks.join("") : this.result = a.flattenChunks(this.chunks)), this.chunks = [], this.err = s, this.msg = this.strm.msg;
|
|
1510
|
+
}, u.Inflate = o, u.inflate = m, u.inflateRaw = function(s, d) {
|
|
1511
|
+
return (d = d || {}).raw = !0, m(s, d);
|
|
1512
|
+
}, u.ungzip = m;
|
|
1513
|
+
}, { "./utils/common": 41, "./utils/strings": 42, "./zlib/constants": 44, "./zlib/gzheader": 47, "./zlib/inflate": 49, "./zlib/messages": 51, "./zlib/zstream": 53 }], 41: [function(r, b, u) {
|
|
1514
|
+
var n = typeof Uint8Array < "u" && typeof Uint16Array < "u" && typeof Int32Array < "u";
|
|
1515
|
+
u.assign = function(h) {
|
|
1516
|
+
for (var y = Array.prototype.slice.call(arguments, 1); y.length; ) {
|
|
1517
|
+
var k = y.shift();
|
|
1518
|
+
if (k) {
|
|
1519
|
+
if (typeof k != "object") throw new TypeError(k + "must be non-object");
|
|
1520
|
+
for (var g in k) k.hasOwnProperty(g) && (h[g] = k[g]);
|
|
1521
|
+
}
|
|
1522
|
+
}
|
|
1523
|
+
return h;
|
|
1524
|
+
}, u.shrinkBuf = function(h, y) {
|
|
1525
|
+
return h.length === y ? h : h.subarray ? h.subarray(0, y) : (h.length = y, h);
|
|
1526
|
+
};
|
|
1527
|
+
var a = { arraySet: function(h, y, k, g, v) {
|
|
1528
|
+
if (y.subarray && h.subarray) h.set(y.subarray(k, k + g), v);
|
|
1529
|
+
else for (var o = 0; o < g; o++) h[v + o] = y[k + o];
|
|
1530
|
+
}, flattenChunks: function(h) {
|
|
1531
|
+
var y, k, g, v, o, m;
|
|
1532
|
+
for (y = g = 0, k = h.length; y < k; y++) g += h[y].length;
|
|
1533
|
+
for (m = new Uint8Array(g), y = v = 0, k = h.length; y < k; y++) o = h[y], m.set(o, v), v += o.length;
|
|
1534
|
+
return m;
|
|
1535
|
+
} }, i = { arraySet: function(h, y, k, g, v) {
|
|
1536
|
+
for (var o = 0; o < g; o++) h[v + o] = y[k + o];
|
|
1537
|
+
}, flattenChunks: function(h) {
|
|
1538
|
+
return [].concat.apply([], h);
|
|
1539
|
+
} };
|
|
1540
|
+
u.setTyped = function(h) {
|
|
1541
|
+
h ? (u.Buf8 = Uint8Array, u.Buf16 = Uint16Array, u.Buf32 = Int32Array, u.assign(u, a)) : (u.Buf8 = Array, u.Buf16 = Array, u.Buf32 = Array, u.assign(u, i));
|
|
1542
|
+
}, u.setTyped(n);
|
|
1543
|
+
}, {}], 42: [function(r, b, u) {
|
|
1544
|
+
var n = r("./common"), a = !0, i = !0;
|
|
1545
|
+
try {
|
|
1546
|
+
String.fromCharCode.apply(null, [0]);
|
|
1547
|
+
} catch {
|
|
1548
|
+
a = !1;
|
|
1549
|
+
}
|
|
1550
|
+
try {
|
|
1551
|
+
String.fromCharCode.apply(null, new Uint8Array(1));
|
|
1552
|
+
} catch {
|
|
1553
|
+
i = !1;
|
|
1554
|
+
}
|
|
1555
|
+
for (var h = new n.Buf8(256), y = 0; y < 256; y++) h[y] = 252 <= y ? 6 : 248 <= y ? 5 : 240 <= y ? 4 : 224 <= y ? 3 : 192 <= y ? 2 : 1;
|
|
1556
|
+
function k(g, v) {
|
|
1557
|
+
if (v < 65537 && (g.subarray && i || !g.subarray && a)) return String.fromCharCode.apply(null, n.shrinkBuf(g, v));
|
|
1558
|
+
for (var o = "", m = 0; m < v; m++) o += String.fromCharCode(g[m]);
|
|
1559
|
+
return o;
|
|
1560
|
+
}
|
|
1561
|
+
h[254] = h[254] = 1, u.string2buf = function(g) {
|
|
1562
|
+
var v, o, m, s, d, l = g.length, f = 0;
|
|
1563
|
+
for (s = 0; s < l; s++) (64512 & (o = g.charCodeAt(s))) == 55296 && s + 1 < l && (64512 & (m = g.charCodeAt(s + 1))) == 56320 && (o = 65536 + (o - 55296 << 10) + (m - 56320), s++), f += o < 128 ? 1 : o < 2048 ? 2 : o < 65536 ? 3 : 4;
|
|
1564
|
+
for (v = new n.Buf8(f), s = d = 0; d < f; s++) (64512 & (o = g.charCodeAt(s))) == 55296 && s + 1 < l && (64512 & (m = g.charCodeAt(s + 1))) == 56320 && (o = 65536 + (o - 55296 << 10) + (m - 56320), s++), o < 128 ? v[d++] = o : (o < 2048 ? v[d++] = 192 | o >>> 6 : (o < 65536 ? v[d++] = 224 | o >>> 12 : (v[d++] = 240 | o >>> 18, v[d++] = 128 | o >>> 12 & 63), v[d++] = 128 | o >>> 6 & 63), v[d++] = 128 | 63 & o);
|
|
1565
|
+
return v;
|
|
1566
|
+
}, u.buf2binstring = function(g) {
|
|
1567
|
+
return k(g, g.length);
|
|
1568
|
+
}, u.binstring2buf = function(g) {
|
|
1569
|
+
for (var v = new n.Buf8(g.length), o = 0, m = v.length; o < m; o++) v[o] = g.charCodeAt(o);
|
|
1570
|
+
return v;
|
|
1571
|
+
}, u.buf2string = function(g, v) {
|
|
1572
|
+
var o, m, s, d, l = v || g.length, f = new Array(2 * l);
|
|
1573
|
+
for (o = m = 0; o < l; ) if ((s = g[o++]) < 128) f[m++] = s;
|
|
1574
|
+
else if (4 < (d = h[s])) f[m++] = 65533, o += d - 1;
|
|
1575
|
+
else {
|
|
1576
|
+
for (s &= d === 2 ? 31 : d === 3 ? 15 : 7; 1 < d && o < l; ) s = s << 6 | 63 & g[o++], d--;
|
|
1577
|
+
1 < d ? f[m++] = 65533 : s < 65536 ? f[m++] = s : (s -= 65536, f[m++] = 55296 | s >> 10 & 1023, f[m++] = 56320 | 1023 & s);
|
|
1578
|
+
}
|
|
1579
|
+
return k(f, m);
|
|
1580
|
+
}, u.utf8border = function(g, v) {
|
|
1581
|
+
var o;
|
|
1582
|
+
for ((v = v || g.length) > g.length && (v = g.length), o = v - 1; 0 <= o && (192 & g[o]) == 128; ) o--;
|
|
1583
|
+
return o < 0 || o === 0 ? v : o + h[g[o]] > v ? o : v;
|
|
1584
|
+
};
|
|
1585
|
+
}, { "./common": 41 }], 43: [function(r, b, u) {
|
|
1586
|
+
b.exports = function(n, a, i, h) {
|
|
1587
|
+
for (var y = 65535 & n | 0, k = n >>> 16 & 65535 | 0, g = 0; i !== 0; ) {
|
|
1588
|
+
for (i -= g = 2e3 < i ? 2e3 : i; k = k + (y = y + a[h++] | 0) | 0, --g; ) ;
|
|
1589
|
+
y %= 65521, k %= 65521;
|
|
1590
|
+
}
|
|
1591
|
+
return y | k << 16 | 0;
|
|
1592
|
+
};
|
|
1593
|
+
}, {}], 44: [function(r, b, u) {
|
|
1594
|
+
b.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 };
|
|
1595
|
+
}, {}], 45: [function(r, b, u) {
|
|
1596
|
+
var n = (function() {
|
|
1597
|
+
for (var a, i = [], h = 0; h < 256; h++) {
|
|
1598
|
+
a = h;
|
|
1599
|
+
for (var y = 0; y < 8; y++) a = 1 & a ? 3988292384 ^ a >>> 1 : a >>> 1;
|
|
1600
|
+
i[h] = a;
|
|
1601
|
+
}
|
|
1602
|
+
return i;
|
|
1603
|
+
})();
|
|
1604
|
+
b.exports = function(a, i, h, y) {
|
|
1605
|
+
var k = n, g = y + h;
|
|
1606
|
+
a ^= -1;
|
|
1607
|
+
for (var v = y; v < g; v++) a = a >>> 8 ^ k[255 & (a ^ i[v])];
|
|
1608
|
+
return -1 ^ a;
|
|
1609
|
+
};
|
|
1610
|
+
}, {}], 46: [function(r, b, u) {
|
|
1611
|
+
var n, a = r("../utils/common"), i = r("./trees"), h = r("./adler32"), y = r("./crc32"), k = r("./messages"), g = 0, v = 4, o = 0, m = -2, s = -1, d = 4, l = 2, f = 8, _ = 9, S = 286, z = 30, F = 19, R = 2 * S + 1, P = 15, T = 3, W = 258, J = W + T + 1, w = 42, D = 113, e = 1, N = 2, Q = 3, Z = 4;
|
|
1612
|
+
function tt(t, U) {
|
|
1613
|
+
return t.msg = k[U], U;
|
|
1614
|
+
}
|
|
1615
|
+
function M(t) {
|
|
1616
|
+
return (t << 1) - (4 < t ? 9 : 0);
|
|
1617
|
+
}
|
|
1618
|
+
function q(t) {
|
|
1619
|
+
for (var U = t.length; 0 <= --U; ) t[U] = 0;
|
|
1620
|
+
}
|
|
1621
|
+
function I(t) {
|
|
1622
|
+
var U = t.state, B = U.pending;
|
|
1623
|
+
B > t.avail_out && (B = t.avail_out), B !== 0 && (a.arraySet(t.output, U.pending_buf, U.pending_out, B, t.next_out), t.next_out += B, U.pending_out += B, t.total_out += B, t.avail_out -= B, U.pending -= B, U.pending === 0 && (U.pending_out = 0));
|
|
1624
|
+
}
|
|
1625
|
+
function O(t, U) {
|
|
1626
|
+
i._tr_flush_block(t, 0 <= t.block_start ? t.block_start : -1, t.strstart - t.block_start, U), t.block_start = t.strstart, I(t.strm);
|
|
1627
|
+
}
|
|
1628
|
+
function X(t, U) {
|
|
1629
|
+
t.pending_buf[t.pending++] = U;
|
|
1630
|
+
}
|
|
1631
|
+
function K(t, U) {
|
|
1632
|
+
t.pending_buf[t.pending++] = U >>> 8 & 255, t.pending_buf[t.pending++] = 255 & U;
|
|
1633
|
+
}
|
|
1634
|
+
function G(t, U) {
|
|
1635
|
+
var B, p, c = t.max_chain_length, A = t.strstart, j = t.prev_length, L = t.nice_match, C = t.strstart > t.w_size - J ? t.strstart - (t.w_size - J) : 0, H = t.window, Y = t.w_mask, $ = t.prev, V = t.strstart + W, it = H[A + j - 1], rt = H[A + j];
|
|
1636
|
+
t.prev_length >= t.good_match && (c >>= 2), L > t.lookahead && (L = t.lookahead);
|
|
1637
|
+
do
|
|
1638
|
+
if (H[(B = U) + j] === rt && H[B + j - 1] === it && H[B] === H[A] && H[++B] === H[A + 1]) {
|
|
1639
|
+
A += 2, B++;
|
|
1640
|
+
do
|
|
1641
|
+
;
|
|
1642
|
+
while (H[++A] === H[++B] && H[++A] === H[++B] && H[++A] === H[++B] && H[++A] === H[++B] && H[++A] === H[++B] && H[++A] === H[++B] && H[++A] === H[++B] && H[++A] === H[++B] && A < V);
|
|
1643
|
+
if (p = W - (V - A), A = V - W, j < p) {
|
|
1644
|
+
if (t.match_start = U, L <= (j = p)) break;
|
|
1645
|
+
it = H[A + j - 1], rt = H[A + j];
|
|
1646
|
+
}
|
|
1647
|
+
}
|
|
1648
|
+
while ((U = $[U & Y]) > C && --c != 0);
|
|
1649
|
+
return j <= t.lookahead ? j : t.lookahead;
|
|
1650
|
+
}
|
|
1651
|
+
function at(t) {
|
|
1652
|
+
var U, B, p, c, A, j, L, C, H, Y, $ = t.w_size;
|
|
1653
|
+
do {
|
|
1654
|
+
if (c = t.window_size - t.lookahead - t.strstart, t.strstart >= $ + ($ - J)) {
|
|
1655
|
+
for (a.arraySet(t.window, t.window, $, $, 0), t.match_start -= $, t.strstart -= $, t.block_start -= $, U = B = t.hash_size; p = t.head[--U], t.head[U] = $ <= p ? p - $ : 0, --B; ) ;
|
|
1656
|
+
for (U = B = $; p = t.prev[--U], t.prev[U] = $ <= p ? p - $ : 0, --B; ) ;
|
|
1657
|
+
c += $;
|
|
1658
|
+
}
|
|
1659
|
+
if (t.strm.avail_in === 0) break;
|
|
1660
|
+
if (j = t.strm, L = t.window, C = t.strstart + t.lookahead, H = c, Y = void 0, Y = j.avail_in, H < Y && (Y = H), B = Y === 0 ? 0 : (j.avail_in -= Y, a.arraySet(L, j.input, j.next_in, Y, C), j.state.wrap === 1 ? j.adler = h(j.adler, L, Y, C) : j.state.wrap === 2 && (j.adler = y(j.adler, L, Y, C)), j.next_in += Y, j.total_in += Y, Y), t.lookahead += B, t.lookahead + t.insert >= T) for (A = t.strstart - t.insert, t.ins_h = t.window[A], t.ins_h = (t.ins_h << t.hash_shift ^ t.window[A + 1]) & t.hash_mask; t.insert && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[A + T - 1]) & t.hash_mask, t.prev[A & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = A, A++, t.insert--, !(t.lookahead + t.insert < T)); ) ;
|
|
1661
|
+
} while (t.lookahead < J && t.strm.avail_in !== 0);
|
|
1662
|
+
}
|
|
1663
|
+
function lt(t, U) {
|
|
1664
|
+
for (var B, p; ; ) {
|
|
1665
|
+
if (t.lookahead < J) {
|
|
1666
|
+
if (at(t), t.lookahead < J && U === g) return e;
|
|
1667
|
+
if (t.lookahead === 0) break;
|
|
1668
|
+
}
|
|
1669
|
+
if (B = 0, t.lookahead >= T && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + T - 1]) & t.hash_mask, B = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart), B !== 0 && t.strstart - B <= t.w_size - J && (t.match_length = G(t, B)), t.match_length >= T) if (p = i._tr_tally(t, t.strstart - t.match_start, t.match_length - T), t.lookahead -= t.match_length, t.match_length <= t.max_lazy_match && t.lookahead >= T) {
|
|
1670
|
+
for (t.match_length--; t.strstart++, t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + T - 1]) & t.hash_mask, B = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart, --t.match_length != 0; ) ;
|
|
1671
|
+
t.strstart++;
|
|
1672
|
+
} else t.strstart += t.match_length, t.match_length = 0, t.ins_h = t.window[t.strstart], t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + 1]) & t.hash_mask;
|
|
1673
|
+
else p = i._tr_tally(t, 0, t.window[t.strstart]), t.lookahead--, t.strstart++;
|
|
1674
|
+
if (p && (O(t, !1), t.strm.avail_out === 0)) return e;
|
|
1675
|
+
}
|
|
1676
|
+
return t.insert = t.strstart < T - 1 ? t.strstart : T - 1, U === v ? (O(t, !0), t.strm.avail_out === 0 ? Q : Z) : t.last_lit && (O(t, !1), t.strm.avail_out === 0) ? e : N;
|
|
1677
|
+
}
|
|
1678
|
+
function et(t, U) {
|
|
1679
|
+
for (var B, p, c; ; ) {
|
|
1680
|
+
if (t.lookahead < J) {
|
|
1681
|
+
if (at(t), t.lookahead < J && U === g) return e;
|
|
1682
|
+
if (t.lookahead === 0) break;
|
|
1683
|
+
}
|
|
1684
|
+
if (B = 0, t.lookahead >= T && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + T - 1]) & t.hash_mask, B = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart), t.prev_length = t.match_length, t.prev_match = t.match_start, t.match_length = T - 1, B !== 0 && t.prev_length < t.max_lazy_match && t.strstart - B <= t.w_size - J && (t.match_length = G(t, B), t.match_length <= 5 && (t.strategy === 1 || t.match_length === T && 4096 < t.strstart - t.match_start) && (t.match_length = T - 1)), t.prev_length >= T && t.match_length <= t.prev_length) {
|
|
1685
|
+
for (c = t.strstart + t.lookahead - T, p = i._tr_tally(t, t.strstart - 1 - t.prev_match, t.prev_length - T), t.lookahead -= t.prev_length - 1, t.prev_length -= 2; ++t.strstart <= c && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + T - 1]) & t.hash_mask, B = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart), --t.prev_length != 0; ) ;
|
|
1686
|
+
if (t.match_available = 0, t.match_length = T - 1, t.strstart++, p && (O(t, !1), t.strm.avail_out === 0)) return e;
|
|
1687
|
+
} else if (t.match_available) {
|
|
1688
|
+
if ((p = i._tr_tally(t, 0, t.window[t.strstart - 1])) && O(t, !1), t.strstart++, t.lookahead--, t.strm.avail_out === 0) return e;
|
|
1689
|
+
} else t.match_available = 1, t.strstart++, t.lookahead--;
|
|
1690
|
+
}
|
|
1691
|
+
return t.match_available && (p = i._tr_tally(t, 0, t.window[t.strstart - 1]), t.match_available = 0), t.insert = t.strstart < T - 1 ? t.strstart : T - 1, U === v ? (O(t, !0), t.strm.avail_out === 0 ? Q : Z) : t.last_lit && (O(t, !1), t.strm.avail_out === 0) ? e : N;
|
|
1692
|
+
}
|
|
1693
|
+
function nt(t, U, B, p, c) {
|
|
1694
|
+
this.good_length = t, this.max_lazy = U, this.nice_length = B, this.max_chain = p, this.func = c;
|
|
1695
|
+
}
|
|
1696
|
+
function ut() {
|
|
1697
|
+
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 = f, 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 a.Buf16(2 * R), this.dyn_dtree = new a.Buf16(2 * (2 * z + 1)), this.bl_tree = new a.Buf16(2 * (2 * F + 1)), q(this.dyn_ltree), q(this.dyn_dtree), q(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new a.Buf16(P + 1), this.heap = new a.Buf16(2 * S + 1), q(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new a.Buf16(2 * S + 1), q(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;
|
|
1698
|
+
}
|
|
1699
|
+
function st(t) {
|
|
1700
|
+
var U;
|
|
1701
|
+
return t && t.state ? (t.total_in = t.total_out = 0, t.data_type = l, (U = t.state).pending = 0, U.pending_out = 0, U.wrap < 0 && (U.wrap = -U.wrap), U.status = U.wrap ? w : D, t.adler = U.wrap === 2 ? 0 : 1, U.last_flush = g, i._tr_init(U), o) : tt(t, m);
|
|
1702
|
+
}
|
|
1703
|
+
function ct(t) {
|
|
1704
|
+
var U = st(t);
|
|
1705
|
+
return U === o && (function(B) {
|
|
1706
|
+
B.window_size = 2 * B.w_size, q(B.head), B.max_lazy_match = n[B.level].max_lazy, B.good_match = n[B.level].good_length, B.nice_match = n[B.level].nice_length, B.max_chain_length = n[B.level].max_chain, B.strstart = 0, B.block_start = 0, B.lookahead = 0, B.insert = 0, B.match_length = B.prev_length = T - 1, B.match_available = 0, B.ins_h = 0;
|
|
1707
|
+
})(t.state), U;
|
|
1708
|
+
}
|
|
1709
|
+
function ft(t, U, B, p, c, A) {
|
|
1710
|
+
if (!t) return m;
|
|
1711
|
+
var j = 1;
|
|
1712
|
+
if (U === s && (U = 6), p < 0 ? (j = 0, p = -p) : 15 < p && (j = 2, p -= 16), c < 1 || _ < c || B !== f || p < 8 || 15 < p || U < 0 || 9 < U || A < 0 || d < A) return tt(t, m);
|
|
1713
|
+
p === 8 && (p = 9);
|
|
1714
|
+
var L = new ut();
|
|
1715
|
+
return (t.state = L).strm = t, L.wrap = j, L.gzhead = null, L.w_bits = p, L.w_size = 1 << L.w_bits, L.w_mask = L.w_size - 1, L.hash_bits = c + 7, L.hash_size = 1 << L.hash_bits, L.hash_mask = L.hash_size - 1, L.hash_shift = ~~((L.hash_bits + T - 1) / T), L.window = new a.Buf8(2 * L.w_size), L.head = new a.Buf16(L.hash_size), L.prev = new a.Buf16(L.w_size), L.lit_bufsize = 1 << c + 6, L.pending_buf_size = 4 * L.lit_bufsize, L.pending_buf = new a.Buf8(L.pending_buf_size), L.d_buf = 1 * L.lit_bufsize, L.l_buf = 3 * L.lit_bufsize, L.level = U, L.strategy = A, L.method = B, ct(t);
|
|
1716
|
+
}
|
|
1717
|
+
n = [new nt(0, 0, 0, 0, function(t, U) {
|
|
1718
|
+
var B = 65535;
|
|
1719
|
+
for (B > t.pending_buf_size - 5 && (B = t.pending_buf_size - 5); ; ) {
|
|
1720
|
+
if (t.lookahead <= 1) {
|
|
1721
|
+
if (at(t), t.lookahead === 0 && U === g) return e;
|
|
1722
|
+
if (t.lookahead === 0) break;
|
|
1723
|
+
}
|
|
1724
|
+
t.strstart += t.lookahead, t.lookahead = 0;
|
|
1725
|
+
var p = t.block_start + B;
|
|
1726
|
+
if ((t.strstart === 0 || t.strstart >= p) && (t.lookahead = t.strstart - p, t.strstart = p, O(t, !1), t.strm.avail_out === 0) || t.strstart - t.block_start >= t.w_size - J && (O(t, !1), t.strm.avail_out === 0)) return e;
|
|
1727
|
+
}
|
|
1728
|
+
return t.insert = 0, U === v ? (O(t, !0), t.strm.avail_out === 0 ? Q : Z) : (t.strstart > t.block_start && (O(t, !1), t.strm.avail_out), e);
|
|
1729
|
+
}), new nt(4, 4, 8, 4, lt), new nt(4, 5, 16, 8, lt), new nt(4, 6, 32, 32, lt), new nt(4, 4, 16, 16, et), new nt(8, 16, 32, 32, et), new nt(8, 16, 128, 128, et), new nt(8, 32, 128, 256, et), new nt(32, 128, 258, 1024, et), new nt(32, 258, 258, 4096, et)], u.deflateInit = function(t, U) {
|
|
1730
|
+
return ft(t, U, f, 15, 8, 0);
|
|
1731
|
+
}, u.deflateInit2 = ft, u.deflateReset = ct, u.deflateResetKeep = st, u.deflateSetHeader = function(t, U) {
|
|
1732
|
+
return t && t.state ? t.state.wrap !== 2 ? m : (t.state.gzhead = U, o) : m;
|
|
1733
|
+
}, u.deflate = function(t, U) {
|
|
1734
|
+
var B, p, c, A;
|
|
1735
|
+
if (!t || !t.state || 5 < U || U < 0) return t ? tt(t, m) : m;
|
|
1736
|
+
if (p = t.state, !t.output || !t.input && t.avail_in !== 0 || p.status === 666 && U !== v) return tt(t, t.avail_out === 0 ? -5 : m);
|
|
1737
|
+
if (p.strm = t, B = p.last_flush, p.last_flush = U, p.status === w) if (p.wrap === 2) t.adler = 0, X(p, 31), X(p, 139), X(p, 8), p.gzhead ? (X(p, (p.gzhead.text ? 1 : 0) + (p.gzhead.hcrc ? 2 : 0) + (p.gzhead.extra ? 4 : 0) + (p.gzhead.name ? 8 : 0) + (p.gzhead.comment ? 16 : 0)), X(p, 255 & p.gzhead.time), X(p, p.gzhead.time >> 8 & 255), X(p, p.gzhead.time >> 16 & 255), X(p, p.gzhead.time >> 24 & 255), X(p, p.level === 9 ? 2 : 2 <= p.strategy || p.level < 2 ? 4 : 0), X(p, 255 & p.gzhead.os), p.gzhead.extra && p.gzhead.extra.length && (X(p, 255 & p.gzhead.extra.length), X(p, p.gzhead.extra.length >> 8 & 255)), p.gzhead.hcrc && (t.adler = y(t.adler, p.pending_buf, p.pending, 0)), p.gzindex = 0, p.status = 69) : (X(p, 0), X(p, 0), X(p, 0), X(p, 0), X(p, 0), X(p, p.level === 9 ? 2 : 2 <= p.strategy || p.level < 2 ? 4 : 0), X(p, 3), p.status = D);
|
|
1738
|
+
else {
|
|
1739
|
+
var j = f + (p.w_bits - 8 << 4) << 8;
|
|
1740
|
+
j |= (2 <= p.strategy || p.level < 2 ? 0 : p.level < 6 ? 1 : p.level === 6 ? 2 : 3) << 6, p.strstart !== 0 && (j |= 32), j += 31 - j % 31, p.status = D, K(p, j), p.strstart !== 0 && (K(p, t.adler >>> 16), K(p, 65535 & t.adler)), t.adler = 1;
|
|
1741
|
+
}
|
|
1742
|
+
if (p.status === 69) if (p.gzhead.extra) {
|
|
1743
|
+
for (c = p.pending; p.gzindex < (65535 & p.gzhead.extra.length) && (p.pending !== p.pending_buf_size || (p.gzhead.hcrc && p.pending > c && (t.adler = y(t.adler, p.pending_buf, p.pending - c, c)), I(t), c = p.pending, p.pending !== p.pending_buf_size)); ) X(p, 255 & p.gzhead.extra[p.gzindex]), p.gzindex++;
|
|
1744
|
+
p.gzhead.hcrc && p.pending > c && (t.adler = y(t.adler, p.pending_buf, p.pending - c, c)), p.gzindex === p.gzhead.extra.length && (p.gzindex = 0, p.status = 73);
|
|
1745
|
+
} else p.status = 73;
|
|
1746
|
+
if (p.status === 73) if (p.gzhead.name) {
|
|
1747
|
+
c = p.pending;
|
|
1748
|
+
do {
|
|
1749
|
+
if (p.pending === p.pending_buf_size && (p.gzhead.hcrc && p.pending > c && (t.adler = y(t.adler, p.pending_buf, p.pending - c, c)), I(t), c = p.pending, p.pending === p.pending_buf_size)) {
|
|
1750
|
+
A = 1;
|
|
1751
|
+
break;
|
|
1752
|
+
}
|
|
1753
|
+
A = p.gzindex < p.gzhead.name.length ? 255 & p.gzhead.name.charCodeAt(p.gzindex++) : 0, X(p, A);
|
|
1754
|
+
} while (A !== 0);
|
|
1755
|
+
p.gzhead.hcrc && p.pending > c && (t.adler = y(t.adler, p.pending_buf, p.pending - c, c)), A === 0 && (p.gzindex = 0, p.status = 91);
|
|
1756
|
+
} else p.status = 91;
|
|
1757
|
+
if (p.status === 91) if (p.gzhead.comment) {
|
|
1758
|
+
c = p.pending;
|
|
1759
|
+
do {
|
|
1760
|
+
if (p.pending === p.pending_buf_size && (p.gzhead.hcrc && p.pending > c && (t.adler = y(t.adler, p.pending_buf, p.pending - c, c)), I(t), c = p.pending, p.pending === p.pending_buf_size)) {
|
|
1761
|
+
A = 1;
|
|
1762
|
+
break;
|
|
1763
|
+
}
|
|
1764
|
+
A = p.gzindex < p.gzhead.comment.length ? 255 & p.gzhead.comment.charCodeAt(p.gzindex++) : 0, X(p, A);
|
|
1765
|
+
} while (A !== 0);
|
|
1766
|
+
p.gzhead.hcrc && p.pending > c && (t.adler = y(t.adler, p.pending_buf, p.pending - c, c)), A === 0 && (p.status = 103);
|
|
1767
|
+
} else p.status = 103;
|
|
1768
|
+
if (p.status === 103 && (p.gzhead.hcrc ? (p.pending + 2 > p.pending_buf_size && I(t), p.pending + 2 <= p.pending_buf_size && (X(p, 255 & t.adler), X(p, t.adler >> 8 & 255), t.adler = 0, p.status = D)) : p.status = D), p.pending !== 0) {
|
|
1769
|
+
if (I(t), t.avail_out === 0) return p.last_flush = -1, o;
|
|
1770
|
+
} else if (t.avail_in === 0 && M(U) <= M(B) && U !== v) return tt(t, -5);
|
|
1771
|
+
if (p.status === 666 && t.avail_in !== 0) return tt(t, -5);
|
|
1772
|
+
if (t.avail_in !== 0 || p.lookahead !== 0 || U !== g && p.status !== 666) {
|
|
1773
|
+
var L = p.strategy === 2 ? (function(C, H) {
|
|
1774
|
+
for (var Y; ; ) {
|
|
1775
|
+
if (C.lookahead === 0 && (at(C), C.lookahead === 0)) {
|
|
1776
|
+
if (H === g) return e;
|
|
1777
|
+
break;
|
|
1778
|
+
}
|
|
1779
|
+
if (C.match_length = 0, Y = i._tr_tally(C, 0, C.window[C.strstart]), C.lookahead--, C.strstart++, Y && (O(C, !1), C.strm.avail_out === 0)) return e;
|
|
1780
|
+
}
|
|
1781
|
+
return C.insert = 0, H === v ? (O(C, !0), C.strm.avail_out === 0 ? Q : Z) : C.last_lit && (O(C, !1), C.strm.avail_out === 0) ? e : N;
|
|
1782
|
+
})(p, U) : p.strategy === 3 ? (function(C, H) {
|
|
1783
|
+
for (var Y, $, V, it, rt = C.window; ; ) {
|
|
1784
|
+
if (C.lookahead <= W) {
|
|
1785
|
+
if (at(C), C.lookahead <= W && H === g) return e;
|
|
1786
|
+
if (C.lookahead === 0) break;
|
|
1787
|
+
}
|
|
1788
|
+
if (C.match_length = 0, C.lookahead >= T && 0 < C.strstart && ($ = rt[V = C.strstart - 1]) === rt[++V] && $ === rt[++V] && $ === rt[++V]) {
|
|
1789
|
+
it = C.strstart + W;
|
|
1790
|
+
do
|
|
1791
|
+
;
|
|
1792
|
+
while ($ === rt[++V] && $ === rt[++V] && $ === rt[++V] && $ === rt[++V] && $ === rt[++V] && $ === rt[++V] && $ === rt[++V] && $ === rt[++V] && V < it);
|
|
1793
|
+
C.match_length = W - (it - V), C.match_length > C.lookahead && (C.match_length = C.lookahead);
|
|
1794
|
+
}
|
|
1795
|
+
if (C.match_length >= T ? (Y = i._tr_tally(C, 1, C.match_length - T), C.lookahead -= C.match_length, C.strstart += C.match_length, C.match_length = 0) : (Y = i._tr_tally(C, 0, C.window[C.strstart]), C.lookahead--, C.strstart++), Y && (O(C, !1), C.strm.avail_out === 0)) return e;
|
|
1796
|
+
}
|
|
1797
|
+
return C.insert = 0, H === v ? (O(C, !0), C.strm.avail_out === 0 ? Q : Z) : C.last_lit && (O(C, !1), C.strm.avail_out === 0) ? e : N;
|
|
1798
|
+
})(p, U) : n[p.level].func(p, U);
|
|
1799
|
+
if (L !== Q && L !== Z || (p.status = 666), L === e || L === Q) return t.avail_out === 0 && (p.last_flush = -1), o;
|
|
1800
|
+
if (L === N && (U === 1 ? i._tr_align(p) : U !== 5 && (i._tr_stored_block(p, 0, 0, !1), U === 3 && (q(p.head), p.lookahead === 0 && (p.strstart = 0, p.block_start = 0, p.insert = 0))), I(t), t.avail_out === 0)) return p.last_flush = -1, o;
|
|
1801
|
+
}
|
|
1802
|
+
return U !== v ? o : p.wrap <= 0 ? 1 : (p.wrap === 2 ? (X(p, 255 & t.adler), X(p, t.adler >> 8 & 255), X(p, t.adler >> 16 & 255), X(p, t.adler >> 24 & 255), X(p, 255 & t.total_in), X(p, t.total_in >> 8 & 255), X(p, t.total_in >> 16 & 255), X(p, t.total_in >> 24 & 255)) : (K(p, t.adler >>> 16), K(p, 65535 & t.adler)), I(t), 0 < p.wrap && (p.wrap = -p.wrap), p.pending !== 0 ? o : 1);
|
|
1803
|
+
}, u.deflateEnd = function(t) {
|
|
1804
|
+
var U;
|
|
1805
|
+
return t && t.state ? (U = t.state.status) !== w && U !== 69 && U !== 73 && U !== 91 && U !== 103 && U !== D && U !== 666 ? tt(t, m) : (t.state = null, U === D ? tt(t, -3) : o) : m;
|
|
1806
|
+
}, u.deflateSetDictionary = function(t, U) {
|
|
1807
|
+
var B, p, c, A, j, L, C, H, Y = U.length;
|
|
1808
|
+
if (!t || !t.state || (A = (B = t.state).wrap) === 2 || A === 1 && B.status !== w || B.lookahead) return m;
|
|
1809
|
+
for (A === 1 && (t.adler = h(t.adler, U, Y, 0)), B.wrap = 0, Y >= B.w_size && (A === 0 && (q(B.head), B.strstart = 0, B.block_start = 0, B.insert = 0), H = new a.Buf8(B.w_size), a.arraySet(H, U, Y - B.w_size, B.w_size, 0), U = H, Y = B.w_size), j = t.avail_in, L = t.next_in, C = t.input, t.avail_in = Y, t.next_in = 0, t.input = U, at(B); B.lookahead >= T; ) {
|
|
1810
|
+
for (p = B.strstart, c = B.lookahead - (T - 1); B.ins_h = (B.ins_h << B.hash_shift ^ B.window[p + T - 1]) & B.hash_mask, B.prev[p & B.w_mask] = B.head[B.ins_h], B.head[B.ins_h] = p, p++, --c; ) ;
|
|
1811
|
+
B.strstart = p, B.lookahead = T - 1, at(B);
|
|
1812
|
+
}
|
|
1813
|
+
return B.strstart += B.lookahead, B.block_start = B.strstart, B.insert = B.lookahead, B.lookahead = 0, B.match_length = B.prev_length = T - 1, B.match_available = 0, t.next_in = L, t.input = C, t.avail_in = j, B.wrap = A, o;
|
|
1814
|
+
}, u.deflateInfo = "pako deflate (from Nodeca project)";
|
|
1815
|
+
}, { "../utils/common": 41, "./adler32": 43, "./crc32": 45, "./messages": 51, "./trees": 52 }], 47: [function(r, b, u) {
|
|
1816
|
+
b.exports = function() {
|
|
1817
|
+
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;
|
|
1818
|
+
};
|
|
1819
|
+
}, {}], 48: [function(r, b, u) {
|
|
1820
|
+
b.exports = function(n, a) {
|
|
1821
|
+
var i, h, y, k, g, v, o, m, s, d, l, f, _, S, z, F, R, P, T, W, J, w, D, e, N;
|
|
1822
|
+
i = n.state, h = n.next_in, e = n.input, y = h + (n.avail_in - 5), k = n.next_out, N = n.output, g = k - (a - n.avail_out), v = k + (n.avail_out - 257), o = i.dmax, m = i.wsize, s = i.whave, d = i.wnext, l = i.window, f = i.hold, _ = i.bits, S = i.lencode, z = i.distcode, F = (1 << i.lenbits) - 1, R = (1 << i.distbits) - 1;
|
|
1823
|
+
t: do {
|
|
1824
|
+
_ < 15 && (f += e[h++] << _, _ += 8, f += e[h++] << _, _ += 8), P = S[f & F];
|
|
1825
|
+
e: for (; ; ) {
|
|
1826
|
+
if (f >>>= T = P >>> 24, _ -= T, (T = P >>> 16 & 255) === 0) N[k++] = 65535 & P;
|
|
1827
|
+
else {
|
|
1828
|
+
if (!(16 & T)) {
|
|
1829
|
+
if ((64 & T) == 0) {
|
|
1830
|
+
P = S[(65535 & P) + (f & (1 << T) - 1)];
|
|
1831
|
+
continue e;
|
|
1832
|
+
}
|
|
1833
|
+
if (32 & T) {
|
|
1834
|
+
i.mode = 12;
|
|
1835
|
+
break t;
|
|
1836
|
+
}
|
|
1837
|
+
n.msg = "invalid literal/length code", i.mode = 30;
|
|
1838
|
+
break t;
|
|
1839
|
+
}
|
|
1840
|
+
W = 65535 & P, (T &= 15) && (_ < T && (f += e[h++] << _, _ += 8), W += f & (1 << T) - 1, f >>>= T, _ -= T), _ < 15 && (f += e[h++] << _, _ += 8, f += e[h++] << _, _ += 8), P = z[f & R];
|
|
1841
|
+
r: for (; ; ) {
|
|
1842
|
+
if (f >>>= T = P >>> 24, _ -= T, !(16 & (T = P >>> 16 & 255))) {
|
|
1843
|
+
if ((64 & T) == 0) {
|
|
1844
|
+
P = z[(65535 & P) + (f & (1 << T) - 1)];
|
|
1845
|
+
continue r;
|
|
1846
|
+
}
|
|
1847
|
+
n.msg = "invalid distance code", i.mode = 30;
|
|
1848
|
+
break t;
|
|
1849
|
+
}
|
|
1850
|
+
if (J = 65535 & P, _ < (T &= 15) && (f += e[h++] << _, (_ += 8) < T && (f += e[h++] << _, _ += 8)), o < (J += f & (1 << T) - 1)) {
|
|
1851
|
+
n.msg = "invalid distance too far back", i.mode = 30;
|
|
1852
|
+
break t;
|
|
1853
|
+
}
|
|
1854
|
+
if (f >>>= T, _ -= T, (T = k - g) < J) {
|
|
1855
|
+
if (s < (T = J - T) && i.sane) {
|
|
1856
|
+
n.msg = "invalid distance too far back", i.mode = 30;
|
|
1857
|
+
break t;
|
|
1858
|
+
}
|
|
1859
|
+
if (D = l, (w = 0) === d) {
|
|
1860
|
+
if (w += m - T, T < W) {
|
|
1861
|
+
for (W -= T; N[k++] = l[w++], --T; ) ;
|
|
1862
|
+
w = k - J, D = N;
|
|
1863
|
+
}
|
|
1864
|
+
} else if (d < T) {
|
|
1865
|
+
if (w += m + d - T, (T -= d) < W) {
|
|
1866
|
+
for (W -= T; N[k++] = l[w++], --T; ) ;
|
|
1867
|
+
if (w = 0, d < W) {
|
|
1868
|
+
for (W -= T = d; N[k++] = l[w++], --T; ) ;
|
|
1869
|
+
w = k - J, D = N;
|
|
1870
|
+
}
|
|
1871
|
+
}
|
|
1872
|
+
} else if (w += d - T, T < W) {
|
|
1873
|
+
for (W -= T; N[k++] = l[w++], --T; ) ;
|
|
1874
|
+
w = k - J, D = N;
|
|
1875
|
+
}
|
|
1876
|
+
for (; 2 < W; ) N[k++] = D[w++], N[k++] = D[w++], N[k++] = D[w++], W -= 3;
|
|
1877
|
+
W && (N[k++] = D[w++], 1 < W && (N[k++] = D[w++]));
|
|
1878
|
+
} else {
|
|
1879
|
+
for (w = k - J; N[k++] = N[w++], N[k++] = N[w++], N[k++] = N[w++], 2 < (W -= 3); ) ;
|
|
1880
|
+
W && (N[k++] = N[w++], 1 < W && (N[k++] = N[w++]));
|
|
1881
|
+
}
|
|
1882
|
+
break;
|
|
1883
|
+
}
|
|
1884
|
+
}
|
|
1885
|
+
break;
|
|
1886
|
+
}
|
|
1887
|
+
} while (h < y && k < v);
|
|
1888
|
+
h -= W = _ >> 3, f &= (1 << (_ -= W << 3)) - 1, n.next_in = h, n.next_out = k, n.avail_in = h < y ? y - h + 5 : 5 - (h - y), n.avail_out = k < v ? v - k + 257 : 257 - (k - v), i.hold = f, i.bits = _;
|
|
1889
|
+
};
|
|
1890
|
+
}, {}], 49: [function(r, b, u) {
|
|
1891
|
+
var n = r("../utils/common"), a = r("./adler32"), i = r("./crc32"), h = r("./inffast"), y = r("./inftrees"), k = 1, g = 2, v = 0, o = -2, m = 1, s = 852, d = 592;
|
|
1892
|
+
function l(w) {
|
|
1893
|
+
return (w >>> 24 & 255) + (w >>> 8 & 65280) + ((65280 & w) << 8) + ((255 & w) << 24);
|
|
1894
|
+
}
|
|
1895
|
+
function f() {
|
|
1896
|
+
this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new n.Buf16(320), this.work = new n.Buf16(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0;
|
|
1897
|
+
}
|
|
1898
|
+
function _(w) {
|
|
1899
|
+
var D;
|
|
1900
|
+
return w && w.state ? (D = w.state, w.total_in = w.total_out = D.total = 0, w.msg = "", D.wrap && (w.adler = 1 & D.wrap), D.mode = m, D.last = 0, D.havedict = 0, D.dmax = 32768, D.head = null, D.hold = 0, D.bits = 0, D.lencode = D.lendyn = new n.Buf32(s), D.distcode = D.distdyn = new n.Buf32(d), D.sane = 1, D.back = -1, v) : o;
|
|
1901
|
+
}
|
|
1902
|
+
function S(w) {
|
|
1903
|
+
var D;
|
|
1904
|
+
return w && w.state ? ((D = w.state).wsize = 0, D.whave = 0, D.wnext = 0, _(w)) : o;
|
|
1905
|
+
}
|
|
1906
|
+
function z(w, D) {
|
|
1907
|
+
var e, N;
|
|
1908
|
+
return w && w.state ? (N = w.state, D < 0 ? (e = 0, D = -D) : (e = 1 + (D >> 4), D < 48 && (D &= 15)), D && (D < 8 || 15 < D) ? o : (N.window !== null && N.wbits !== D && (N.window = null), N.wrap = e, N.wbits = D, S(w))) : o;
|
|
1909
|
+
}
|
|
1910
|
+
function F(w, D) {
|
|
1911
|
+
var e, N;
|
|
1912
|
+
return w ? (N = new f(), (w.state = N).window = null, (e = z(w, D)) !== v && (w.state = null), e) : o;
|
|
1913
|
+
}
|
|
1914
|
+
var R, P, T = !0;
|
|
1915
|
+
function W(w) {
|
|
1916
|
+
if (T) {
|
|
1917
|
+
var D;
|
|
1918
|
+
for (R = new n.Buf32(512), P = new n.Buf32(32), D = 0; D < 144; ) w.lens[D++] = 8;
|
|
1919
|
+
for (; D < 256; ) w.lens[D++] = 9;
|
|
1920
|
+
for (; D < 280; ) w.lens[D++] = 7;
|
|
1921
|
+
for (; D < 288; ) w.lens[D++] = 8;
|
|
1922
|
+
for (y(k, w.lens, 0, 288, R, 0, w.work, { bits: 9 }), D = 0; D < 32; ) w.lens[D++] = 5;
|
|
1923
|
+
y(g, w.lens, 0, 32, P, 0, w.work, { bits: 5 }), T = !1;
|
|
1924
|
+
}
|
|
1925
|
+
w.lencode = R, w.lenbits = 9, w.distcode = P, w.distbits = 5;
|
|
1926
|
+
}
|
|
1927
|
+
function J(w, D, e, N) {
|
|
1928
|
+
var Q, Z = w.state;
|
|
1929
|
+
return Z.window === null && (Z.wsize = 1 << Z.wbits, Z.wnext = 0, Z.whave = 0, Z.window = new n.Buf8(Z.wsize)), N >= Z.wsize ? (n.arraySet(Z.window, D, e - Z.wsize, Z.wsize, 0), Z.wnext = 0, Z.whave = Z.wsize) : (N < (Q = Z.wsize - Z.wnext) && (Q = N), n.arraySet(Z.window, D, e - N, Q, Z.wnext), (N -= Q) ? (n.arraySet(Z.window, D, e - N, N, 0), Z.wnext = N, Z.whave = Z.wsize) : (Z.wnext += Q, Z.wnext === Z.wsize && (Z.wnext = 0), Z.whave < Z.wsize && (Z.whave += Q))), 0;
|
|
1930
|
+
}
|
|
1931
|
+
u.inflateReset = S, u.inflateReset2 = z, u.inflateResetKeep = _, u.inflateInit = function(w) {
|
|
1932
|
+
return F(w, 15);
|
|
1933
|
+
}, u.inflateInit2 = F, u.inflate = function(w, D) {
|
|
1934
|
+
var e, N, Q, Z, tt, M, q, I, O, X, K, G, at, lt, et, nt, ut, st, ct, ft, t, U, B, p, c = 0, A = new n.Buf8(4), j = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];
|
|
1935
|
+
if (!w || !w.state || !w.output || !w.input && w.avail_in !== 0) return o;
|
|
1936
|
+
(e = w.state).mode === 12 && (e.mode = 13), tt = w.next_out, Q = w.output, q = w.avail_out, Z = w.next_in, N = w.input, M = w.avail_in, I = e.hold, O = e.bits, X = M, K = q, U = v;
|
|
1937
|
+
t: for (; ; ) switch (e.mode) {
|
|
1938
|
+
case m:
|
|
1939
|
+
if (e.wrap === 0) {
|
|
1940
|
+
e.mode = 13;
|
|
1941
|
+
break;
|
|
1942
|
+
}
|
|
1943
|
+
for (; O < 16; ) {
|
|
1944
|
+
if (M === 0) break t;
|
|
1945
|
+
M--, I += N[Z++] << O, O += 8;
|
|
1946
|
+
}
|
|
1947
|
+
if (2 & e.wrap && I === 35615) {
|
|
1948
|
+
A[e.check = 0] = 255 & I, A[1] = I >>> 8 & 255, e.check = i(e.check, A, 2, 0), O = I = 0, e.mode = 2;
|
|
1949
|
+
break;
|
|
1950
|
+
}
|
|
1951
|
+
if (e.flags = 0, e.head && (e.head.done = !1), !(1 & e.wrap) || (((255 & I) << 8) + (I >> 8)) % 31) {
|
|
1952
|
+
w.msg = "incorrect header check", e.mode = 30;
|
|
1953
|
+
break;
|
|
1954
|
+
}
|
|
1955
|
+
if ((15 & I) != 8) {
|
|
1956
|
+
w.msg = "unknown compression method", e.mode = 30;
|
|
1957
|
+
break;
|
|
1958
|
+
}
|
|
1959
|
+
if (O -= 4, t = 8 + (15 & (I >>>= 4)), e.wbits === 0) e.wbits = t;
|
|
1960
|
+
else if (t > e.wbits) {
|
|
1961
|
+
w.msg = "invalid window size", e.mode = 30;
|
|
1962
|
+
break;
|
|
1963
|
+
}
|
|
1964
|
+
e.dmax = 1 << t, w.adler = e.check = 1, e.mode = 512 & I ? 10 : 12, O = I = 0;
|
|
1965
|
+
break;
|
|
1966
|
+
case 2:
|
|
1967
|
+
for (; O < 16; ) {
|
|
1968
|
+
if (M === 0) break t;
|
|
1969
|
+
M--, I += N[Z++] << O, O += 8;
|
|
1970
|
+
}
|
|
1971
|
+
if (e.flags = I, (255 & e.flags) != 8) {
|
|
1972
|
+
w.msg = "unknown compression method", e.mode = 30;
|
|
1973
|
+
break;
|
|
1974
|
+
}
|
|
1975
|
+
if (57344 & e.flags) {
|
|
1976
|
+
w.msg = "unknown header flags set", e.mode = 30;
|
|
1977
|
+
break;
|
|
1978
|
+
}
|
|
1979
|
+
e.head && (e.head.text = I >> 8 & 1), 512 & e.flags && (A[0] = 255 & I, A[1] = I >>> 8 & 255, e.check = i(e.check, A, 2, 0)), O = I = 0, e.mode = 3;
|
|
1980
|
+
case 3:
|
|
1981
|
+
for (; O < 32; ) {
|
|
1982
|
+
if (M === 0) break t;
|
|
1983
|
+
M--, I += N[Z++] << O, O += 8;
|
|
1984
|
+
}
|
|
1985
|
+
e.head && (e.head.time = I), 512 & e.flags && (A[0] = 255 & I, A[1] = I >>> 8 & 255, A[2] = I >>> 16 & 255, A[3] = I >>> 24 & 255, e.check = i(e.check, A, 4, 0)), O = I = 0, e.mode = 4;
|
|
1986
|
+
case 4:
|
|
1987
|
+
for (; O < 16; ) {
|
|
1988
|
+
if (M === 0) break t;
|
|
1989
|
+
M--, I += N[Z++] << O, O += 8;
|
|
1990
|
+
}
|
|
1991
|
+
e.head && (e.head.xflags = 255 & I, e.head.os = I >> 8), 512 & e.flags && (A[0] = 255 & I, A[1] = I >>> 8 & 255, e.check = i(e.check, A, 2, 0)), O = I = 0, e.mode = 5;
|
|
1992
|
+
case 5:
|
|
1993
|
+
if (1024 & e.flags) {
|
|
1994
|
+
for (; O < 16; ) {
|
|
1995
|
+
if (M === 0) break t;
|
|
1996
|
+
M--, I += N[Z++] << O, O += 8;
|
|
1997
|
+
}
|
|
1998
|
+
e.length = I, e.head && (e.head.extra_len = I), 512 & e.flags && (A[0] = 255 & I, A[1] = I >>> 8 & 255, e.check = i(e.check, A, 2, 0)), O = I = 0;
|
|
1999
|
+
} else e.head && (e.head.extra = null);
|
|
2000
|
+
e.mode = 6;
|
|
2001
|
+
case 6:
|
|
2002
|
+
if (1024 & e.flags && (M < (G = e.length) && (G = M), G && (e.head && (t = e.head.extra_len - e.length, e.head.extra || (e.head.extra = new Array(e.head.extra_len)), n.arraySet(e.head.extra, N, Z, G, t)), 512 & e.flags && (e.check = i(e.check, N, G, Z)), M -= G, Z += G, e.length -= G), e.length)) break t;
|
|
2003
|
+
e.length = 0, e.mode = 7;
|
|
2004
|
+
case 7:
|
|
2005
|
+
if (2048 & e.flags) {
|
|
2006
|
+
if (M === 0) break t;
|
|
2007
|
+
for (G = 0; t = N[Z + G++], e.head && t && e.length < 65536 && (e.head.name += String.fromCharCode(t)), t && G < M; ) ;
|
|
2008
|
+
if (512 & e.flags && (e.check = i(e.check, N, G, Z)), M -= G, Z += G, t) break t;
|
|
2009
|
+
} else e.head && (e.head.name = null);
|
|
2010
|
+
e.length = 0, e.mode = 8;
|
|
2011
|
+
case 8:
|
|
2012
|
+
if (4096 & e.flags) {
|
|
2013
|
+
if (M === 0) break t;
|
|
2014
|
+
for (G = 0; t = N[Z + G++], e.head && t && e.length < 65536 && (e.head.comment += String.fromCharCode(t)), t && G < M; ) ;
|
|
2015
|
+
if (512 & e.flags && (e.check = i(e.check, N, G, Z)), M -= G, Z += G, t) break t;
|
|
2016
|
+
} else e.head && (e.head.comment = null);
|
|
2017
|
+
e.mode = 9;
|
|
2018
|
+
case 9:
|
|
2019
|
+
if (512 & e.flags) {
|
|
2020
|
+
for (; O < 16; ) {
|
|
2021
|
+
if (M === 0) break t;
|
|
2022
|
+
M--, I += N[Z++] << O, O += 8;
|
|
2023
|
+
}
|
|
2024
|
+
if (I !== (65535 & e.check)) {
|
|
2025
|
+
w.msg = "header crc mismatch", e.mode = 30;
|
|
2026
|
+
break;
|
|
2027
|
+
}
|
|
2028
|
+
O = I = 0;
|
|
2029
|
+
}
|
|
2030
|
+
e.head && (e.head.hcrc = e.flags >> 9 & 1, e.head.done = !0), w.adler = e.check = 0, e.mode = 12;
|
|
2031
|
+
break;
|
|
2032
|
+
case 10:
|
|
2033
|
+
for (; O < 32; ) {
|
|
2034
|
+
if (M === 0) break t;
|
|
2035
|
+
M--, I += N[Z++] << O, O += 8;
|
|
2036
|
+
}
|
|
2037
|
+
w.adler = e.check = l(I), O = I = 0, e.mode = 11;
|
|
2038
|
+
case 11:
|
|
2039
|
+
if (e.havedict === 0) return w.next_out = tt, w.avail_out = q, w.next_in = Z, w.avail_in = M, e.hold = I, e.bits = O, 2;
|
|
2040
|
+
w.adler = e.check = 1, e.mode = 12;
|
|
2041
|
+
case 12:
|
|
2042
|
+
if (D === 5 || D === 6) break t;
|
|
2043
|
+
case 13:
|
|
2044
|
+
if (e.last) {
|
|
2045
|
+
I >>>= 7 & O, O -= 7 & O, e.mode = 27;
|
|
2046
|
+
break;
|
|
2047
|
+
}
|
|
2048
|
+
for (; O < 3; ) {
|
|
2049
|
+
if (M === 0) break t;
|
|
2050
|
+
M--, I += N[Z++] << O, O += 8;
|
|
2051
|
+
}
|
|
2052
|
+
switch (e.last = 1 & I, O -= 1, 3 & (I >>>= 1)) {
|
|
2053
|
+
case 0:
|
|
2054
|
+
e.mode = 14;
|
|
2055
|
+
break;
|
|
2056
|
+
case 1:
|
|
2057
|
+
if (W(e), e.mode = 20, D !== 6) break;
|
|
2058
|
+
I >>>= 2, O -= 2;
|
|
2059
|
+
break t;
|
|
2060
|
+
case 2:
|
|
2061
|
+
e.mode = 17;
|
|
2062
|
+
break;
|
|
2063
|
+
case 3:
|
|
2064
|
+
w.msg = "invalid block type", e.mode = 30;
|
|
2065
|
+
}
|
|
2066
|
+
I >>>= 2, O -= 2;
|
|
2067
|
+
break;
|
|
2068
|
+
case 14:
|
|
2069
|
+
for (I >>>= 7 & O, O -= 7 & O; O < 32; ) {
|
|
2070
|
+
if (M === 0) break t;
|
|
2071
|
+
M--, I += N[Z++] << O, O += 8;
|
|
2072
|
+
}
|
|
2073
|
+
if ((65535 & I) != (I >>> 16 ^ 65535)) {
|
|
2074
|
+
w.msg = "invalid stored block lengths", e.mode = 30;
|
|
2075
|
+
break;
|
|
2076
|
+
}
|
|
2077
|
+
if (e.length = 65535 & I, O = I = 0, e.mode = 15, D === 6) break t;
|
|
2078
|
+
case 15:
|
|
2079
|
+
e.mode = 16;
|
|
2080
|
+
case 16:
|
|
2081
|
+
if (G = e.length) {
|
|
2082
|
+
if (M < G && (G = M), q < G && (G = q), G === 0) break t;
|
|
2083
|
+
n.arraySet(Q, N, Z, G, tt), M -= G, Z += G, q -= G, tt += G, e.length -= G;
|
|
2084
|
+
break;
|
|
2085
|
+
}
|
|
2086
|
+
e.mode = 12;
|
|
2087
|
+
break;
|
|
2088
|
+
case 17:
|
|
2089
|
+
for (; O < 14; ) {
|
|
2090
|
+
if (M === 0) break t;
|
|
2091
|
+
M--, I += N[Z++] << O, O += 8;
|
|
2092
|
+
}
|
|
2093
|
+
if (e.nlen = 257 + (31 & I), I >>>= 5, O -= 5, e.ndist = 1 + (31 & I), I >>>= 5, O -= 5, e.ncode = 4 + (15 & I), I >>>= 4, O -= 4, 286 < e.nlen || 30 < e.ndist) {
|
|
2094
|
+
w.msg = "too many length or distance symbols", e.mode = 30;
|
|
2095
|
+
break;
|
|
2096
|
+
}
|
|
2097
|
+
e.have = 0, e.mode = 18;
|
|
2098
|
+
case 18:
|
|
2099
|
+
for (; e.have < e.ncode; ) {
|
|
2100
|
+
for (; O < 3; ) {
|
|
2101
|
+
if (M === 0) break t;
|
|
2102
|
+
M--, I += N[Z++] << O, O += 8;
|
|
2103
|
+
}
|
|
2104
|
+
e.lens[j[e.have++]] = 7 & I, I >>>= 3, O -= 3;
|
|
2105
|
+
}
|
|
2106
|
+
for (; e.have < 19; ) e.lens[j[e.have++]] = 0;
|
|
2107
|
+
if (e.lencode = e.lendyn, e.lenbits = 7, B = { bits: e.lenbits }, U = y(0, e.lens, 0, 19, e.lencode, 0, e.work, B), e.lenbits = B.bits, U) {
|
|
2108
|
+
w.msg = "invalid code lengths set", e.mode = 30;
|
|
2109
|
+
break;
|
|
2110
|
+
}
|
|
2111
|
+
e.have = 0, e.mode = 19;
|
|
2112
|
+
case 19:
|
|
2113
|
+
for (; e.have < e.nlen + e.ndist; ) {
|
|
2114
|
+
for (; nt = (c = e.lencode[I & (1 << e.lenbits) - 1]) >>> 16 & 255, ut = 65535 & c, !((et = c >>> 24) <= O); ) {
|
|
2115
|
+
if (M === 0) break t;
|
|
2116
|
+
M--, I += N[Z++] << O, O += 8;
|
|
2117
|
+
}
|
|
2118
|
+
if (ut < 16) I >>>= et, O -= et, e.lens[e.have++] = ut;
|
|
2119
|
+
else {
|
|
2120
|
+
if (ut === 16) {
|
|
2121
|
+
for (p = et + 2; O < p; ) {
|
|
2122
|
+
if (M === 0) break t;
|
|
2123
|
+
M--, I += N[Z++] << O, O += 8;
|
|
2124
|
+
}
|
|
2125
|
+
if (I >>>= et, O -= et, e.have === 0) {
|
|
2126
|
+
w.msg = "invalid bit length repeat", e.mode = 30;
|
|
2127
|
+
break;
|
|
2128
|
+
}
|
|
2129
|
+
t = e.lens[e.have - 1], G = 3 + (3 & I), I >>>= 2, O -= 2;
|
|
2130
|
+
} else if (ut === 17) {
|
|
2131
|
+
for (p = et + 3; O < p; ) {
|
|
2132
|
+
if (M === 0) break t;
|
|
2133
|
+
M--, I += N[Z++] << O, O += 8;
|
|
2134
|
+
}
|
|
2135
|
+
O -= et, t = 0, G = 3 + (7 & (I >>>= et)), I >>>= 3, O -= 3;
|
|
2136
|
+
} else {
|
|
2137
|
+
for (p = et + 7; O < p; ) {
|
|
2138
|
+
if (M === 0) break t;
|
|
2139
|
+
M--, I += N[Z++] << O, O += 8;
|
|
2140
|
+
}
|
|
2141
|
+
O -= et, t = 0, G = 11 + (127 & (I >>>= et)), I >>>= 7, O -= 7;
|
|
2142
|
+
}
|
|
2143
|
+
if (e.have + G > e.nlen + e.ndist) {
|
|
2144
|
+
w.msg = "invalid bit length repeat", e.mode = 30;
|
|
2145
|
+
break;
|
|
2146
|
+
}
|
|
2147
|
+
for (; G--; ) e.lens[e.have++] = t;
|
|
2148
|
+
}
|
|
2149
|
+
}
|
|
2150
|
+
if (e.mode === 30) break;
|
|
2151
|
+
if (e.lens[256] === 0) {
|
|
2152
|
+
w.msg = "invalid code -- missing end-of-block", e.mode = 30;
|
|
2153
|
+
break;
|
|
2154
|
+
}
|
|
2155
|
+
if (e.lenbits = 9, B = { bits: e.lenbits }, U = y(k, e.lens, 0, e.nlen, e.lencode, 0, e.work, B), e.lenbits = B.bits, U) {
|
|
2156
|
+
w.msg = "invalid literal/lengths set", e.mode = 30;
|
|
2157
|
+
break;
|
|
2158
|
+
}
|
|
2159
|
+
if (e.distbits = 6, e.distcode = e.distdyn, B = { bits: e.distbits }, U = y(g, e.lens, e.nlen, e.ndist, e.distcode, 0, e.work, B), e.distbits = B.bits, U) {
|
|
2160
|
+
w.msg = "invalid distances set", e.mode = 30;
|
|
2161
|
+
break;
|
|
2162
|
+
}
|
|
2163
|
+
if (e.mode = 20, D === 6) break t;
|
|
2164
|
+
case 20:
|
|
2165
|
+
e.mode = 21;
|
|
2166
|
+
case 21:
|
|
2167
|
+
if (6 <= M && 258 <= q) {
|
|
2168
|
+
w.next_out = tt, w.avail_out = q, w.next_in = Z, w.avail_in = M, e.hold = I, e.bits = O, h(w, K), tt = w.next_out, Q = w.output, q = w.avail_out, Z = w.next_in, N = w.input, M = w.avail_in, I = e.hold, O = e.bits, e.mode === 12 && (e.back = -1);
|
|
2169
|
+
break;
|
|
2170
|
+
}
|
|
2171
|
+
for (e.back = 0; nt = (c = e.lencode[I & (1 << e.lenbits) - 1]) >>> 16 & 255, ut = 65535 & c, !((et = c >>> 24) <= O); ) {
|
|
2172
|
+
if (M === 0) break t;
|
|
2173
|
+
M--, I += N[Z++] << O, O += 8;
|
|
2174
|
+
}
|
|
2175
|
+
if (nt && (240 & nt) == 0) {
|
|
2176
|
+
for (st = et, ct = nt, ft = ut; nt = (c = e.lencode[ft + ((I & (1 << st + ct) - 1) >> st)]) >>> 16 & 255, ut = 65535 & c, !(st + (et = c >>> 24) <= O); ) {
|
|
2177
|
+
if (M === 0) break t;
|
|
2178
|
+
M--, I += N[Z++] << O, O += 8;
|
|
2179
|
+
}
|
|
2180
|
+
I >>>= st, O -= st, e.back += st;
|
|
2181
|
+
}
|
|
2182
|
+
if (I >>>= et, O -= et, e.back += et, e.length = ut, nt === 0) {
|
|
2183
|
+
e.mode = 26;
|
|
2184
|
+
break;
|
|
2185
|
+
}
|
|
2186
|
+
if (32 & nt) {
|
|
2187
|
+
e.back = -1, e.mode = 12;
|
|
2188
|
+
break;
|
|
2189
|
+
}
|
|
2190
|
+
if (64 & nt) {
|
|
2191
|
+
w.msg = "invalid literal/length code", e.mode = 30;
|
|
2192
|
+
break;
|
|
2193
|
+
}
|
|
2194
|
+
e.extra = 15 & nt, e.mode = 22;
|
|
2195
|
+
case 22:
|
|
2196
|
+
if (e.extra) {
|
|
2197
|
+
for (p = e.extra; O < p; ) {
|
|
2198
|
+
if (M === 0) break t;
|
|
2199
|
+
M--, I += N[Z++] << O, O += 8;
|
|
2200
|
+
}
|
|
2201
|
+
e.length += I & (1 << e.extra) - 1, I >>>= e.extra, O -= e.extra, e.back += e.extra;
|
|
2202
|
+
}
|
|
2203
|
+
e.was = e.length, e.mode = 23;
|
|
2204
|
+
case 23:
|
|
2205
|
+
for (; nt = (c = e.distcode[I & (1 << e.distbits) - 1]) >>> 16 & 255, ut = 65535 & c, !((et = c >>> 24) <= O); ) {
|
|
2206
|
+
if (M === 0) break t;
|
|
2207
|
+
M--, I += N[Z++] << O, O += 8;
|
|
2208
|
+
}
|
|
2209
|
+
if ((240 & nt) == 0) {
|
|
2210
|
+
for (st = et, ct = nt, ft = ut; nt = (c = e.distcode[ft + ((I & (1 << st + ct) - 1) >> st)]) >>> 16 & 255, ut = 65535 & c, !(st + (et = c >>> 24) <= O); ) {
|
|
2211
|
+
if (M === 0) break t;
|
|
2212
|
+
M--, I += N[Z++] << O, O += 8;
|
|
2213
|
+
}
|
|
2214
|
+
I >>>= st, O -= st, e.back += st;
|
|
2215
|
+
}
|
|
2216
|
+
if (I >>>= et, O -= et, e.back += et, 64 & nt) {
|
|
2217
|
+
w.msg = "invalid distance code", e.mode = 30;
|
|
2218
|
+
break;
|
|
2219
|
+
}
|
|
2220
|
+
e.offset = ut, e.extra = 15 & nt, e.mode = 24;
|
|
2221
|
+
case 24:
|
|
2222
|
+
if (e.extra) {
|
|
2223
|
+
for (p = e.extra; O < p; ) {
|
|
2224
|
+
if (M === 0) break t;
|
|
2225
|
+
M--, I += N[Z++] << O, O += 8;
|
|
2226
|
+
}
|
|
2227
|
+
e.offset += I & (1 << e.extra) - 1, I >>>= e.extra, O -= e.extra, e.back += e.extra;
|
|
2228
|
+
}
|
|
2229
|
+
if (e.offset > e.dmax) {
|
|
2230
|
+
w.msg = "invalid distance too far back", e.mode = 30;
|
|
2231
|
+
break;
|
|
2232
|
+
}
|
|
2233
|
+
e.mode = 25;
|
|
2234
|
+
case 25:
|
|
2235
|
+
if (q === 0) break t;
|
|
2236
|
+
if (G = K - q, e.offset > G) {
|
|
2237
|
+
if ((G = e.offset - G) > e.whave && e.sane) {
|
|
2238
|
+
w.msg = "invalid distance too far back", e.mode = 30;
|
|
2239
|
+
break;
|
|
2240
|
+
}
|
|
2241
|
+
at = G > e.wnext ? (G -= e.wnext, e.wsize - G) : e.wnext - G, G > e.length && (G = e.length), lt = e.window;
|
|
2242
|
+
} else lt = Q, at = tt - e.offset, G = e.length;
|
|
2243
|
+
for (q < G && (G = q), q -= G, e.length -= G; Q[tt++] = lt[at++], --G; ) ;
|
|
2244
|
+
e.length === 0 && (e.mode = 21);
|
|
2245
|
+
break;
|
|
2246
|
+
case 26:
|
|
2247
|
+
if (q === 0) break t;
|
|
2248
|
+
Q[tt++] = e.length, q--, e.mode = 21;
|
|
2249
|
+
break;
|
|
2250
|
+
case 27:
|
|
2251
|
+
if (e.wrap) {
|
|
2252
|
+
for (; O < 32; ) {
|
|
2253
|
+
if (M === 0) break t;
|
|
2254
|
+
M--, I |= N[Z++] << O, O += 8;
|
|
2255
|
+
}
|
|
2256
|
+
if (K -= q, w.total_out += K, e.total += K, K && (w.adler = e.check = e.flags ? i(e.check, Q, K, tt - K) : a(e.check, Q, K, tt - K)), K = q, (e.flags ? I : l(I)) !== e.check) {
|
|
2257
|
+
w.msg = "incorrect data check", e.mode = 30;
|
|
2258
|
+
break;
|
|
2259
|
+
}
|
|
2260
|
+
O = I = 0;
|
|
2261
|
+
}
|
|
2262
|
+
e.mode = 28;
|
|
2263
|
+
case 28:
|
|
2264
|
+
if (e.wrap && e.flags) {
|
|
2265
|
+
for (; O < 32; ) {
|
|
2266
|
+
if (M === 0) break t;
|
|
2267
|
+
M--, I += N[Z++] << O, O += 8;
|
|
2268
|
+
}
|
|
2269
|
+
if (I !== (4294967295 & e.total)) {
|
|
2270
|
+
w.msg = "incorrect length check", e.mode = 30;
|
|
2271
|
+
break;
|
|
2272
|
+
}
|
|
2273
|
+
O = I = 0;
|
|
2274
|
+
}
|
|
2275
|
+
e.mode = 29;
|
|
2276
|
+
case 29:
|
|
2277
|
+
U = 1;
|
|
2278
|
+
break t;
|
|
2279
|
+
case 30:
|
|
2280
|
+
U = -3;
|
|
2281
|
+
break t;
|
|
2282
|
+
case 31:
|
|
2283
|
+
return -4;
|
|
2284
|
+
default:
|
|
2285
|
+
return o;
|
|
2286
|
+
}
|
|
2287
|
+
return w.next_out = tt, w.avail_out = q, w.next_in = Z, w.avail_in = M, e.hold = I, e.bits = O, (e.wsize || K !== w.avail_out && e.mode < 30 && (e.mode < 27 || D !== 4)) && J(w, w.output, w.next_out, K - w.avail_out) ? (e.mode = 31, -4) : (X -= w.avail_in, K -= w.avail_out, w.total_in += X, w.total_out += K, e.total += K, e.wrap && K && (w.adler = e.check = e.flags ? i(e.check, Q, K, w.next_out - K) : a(e.check, Q, K, w.next_out - K)), w.data_type = e.bits + (e.last ? 64 : 0) + (e.mode === 12 ? 128 : 0) + (e.mode === 20 || e.mode === 15 ? 256 : 0), (X == 0 && K === 0 || D === 4) && U === v && (U = -5), U);
|
|
2288
|
+
}, u.inflateEnd = function(w) {
|
|
2289
|
+
if (!w || !w.state) return o;
|
|
2290
|
+
var D = w.state;
|
|
2291
|
+
return D.window && (D.window = null), w.state = null, v;
|
|
2292
|
+
}, u.inflateGetHeader = function(w, D) {
|
|
2293
|
+
var e;
|
|
2294
|
+
return w && w.state ? (2 & (e = w.state).wrap) == 0 ? o : ((e.head = D).done = !1, v) : o;
|
|
2295
|
+
}, u.inflateSetDictionary = function(w, D) {
|
|
2296
|
+
var e, N = D.length;
|
|
2297
|
+
return w && w.state ? (e = w.state).wrap !== 0 && e.mode !== 11 ? o : e.mode === 11 && a(1, D, N, 0) !== e.check ? -3 : J(w, D, N, N) ? (e.mode = 31, -4) : (e.havedict = 1, v) : o;
|
|
2298
|
+
}, u.inflateInfo = "pako inflate (from Nodeca project)";
|
|
2299
|
+
}, { "../utils/common": 41, "./adler32": 43, "./crc32": 45, "./inffast": 48, "./inftrees": 50 }], 50: [function(r, b, u) {
|
|
2300
|
+
var n = r("../utils/common"), a = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0], i = [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], h = [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], y = [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];
|
|
2301
|
+
b.exports = function(k, g, v, o, m, s, d, l) {
|
|
2302
|
+
var f, _, S, z, F, R, P, T, W, J = l.bits, w = 0, D = 0, e = 0, N = 0, Q = 0, Z = 0, tt = 0, M = 0, q = 0, I = 0, O = null, X = 0, K = new n.Buf16(16), G = new n.Buf16(16), at = null, lt = 0;
|
|
2303
|
+
for (w = 0; w <= 15; w++) K[w] = 0;
|
|
2304
|
+
for (D = 0; D < o; D++) K[g[v + D]]++;
|
|
2305
|
+
for (Q = J, N = 15; 1 <= N && K[N] === 0; N--) ;
|
|
2306
|
+
if (N < Q && (Q = N), N === 0) return m[s++] = 20971520, m[s++] = 20971520, l.bits = 1, 0;
|
|
2307
|
+
for (e = 1; e < N && K[e] === 0; e++) ;
|
|
2308
|
+
for (Q < e && (Q = e), w = M = 1; w <= 15; w++) if (M <<= 1, (M -= K[w]) < 0) return -1;
|
|
2309
|
+
if (0 < M && (k === 0 || N !== 1)) return -1;
|
|
2310
|
+
for (G[1] = 0, w = 1; w < 15; w++) G[w + 1] = G[w] + K[w];
|
|
2311
|
+
for (D = 0; D < o; D++) g[v + D] !== 0 && (d[G[g[v + D]]++] = D);
|
|
2312
|
+
if (R = k === 0 ? (O = at = d, 19) : k === 1 ? (O = a, X -= 257, at = i, lt -= 257, 256) : (O = h, at = y, -1), w = e, F = s, tt = D = I = 0, S = -1, z = (q = 1 << (Z = Q)) - 1, k === 1 && 852 < q || k === 2 && 592 < q) return 1;
|
|
2313
|
+
for (; ; ) {
|
|
2314
|
+
for (P = w - tt, W = d[D] < R ? (T = 0, d[D]) : d[D] > R ? (T = at[lt + d[D]], O[X + d[D]]) : (T = 96, 0), f = 1 << w - tt, e = _ = 1 << Z; m[F + (I >> tt) + (_ -= f)] = P << 24 | T << 16 | W | 0, _ !== 0; ) ;
|
|
2315
|
+
for (f = 1 << w - 1; I & f; ) f >>= 1;
|
|
2316
|
+
if (f !== 0 ? (I &= f - 1, I += f) : I = 0, D++, --K[w] == 0) {
|
|
2317
|
+
if (w === N) break;
|
|
2318
|
+
w = g[v + d[D]];
|
|
2319
|
+
}
|
|
2320
|
+
if (Q < w && (I & z) !== S) {
|
|
2321
|
+
for (tt === 0 && (tt = Q), F += e, M = 1 << (Z = w - tt); Z + tt < N && !((M -= K[Z + tt]) <= 0); ) Z++, M <<= 1;
|
|
2322
|
+
if (q += 1 << Z, k === 1 && 852 < q || k === 2 && 592 < q) return 1;
|
|
2323
|
+
m[S = I & z] = Q << 24 | Z << 16 | F - s | 0;
|
|
2324
|
+
}
|
|
2325
|
+
}
|
|
2326
|
+
return I !== 0 && (m[F + I] = w - tt << 24 | 64 << 16 | 0), l.bits = Q, 0;
|
|
2327
|
+
};
|
|
2328
|
+
}, { "../utils/common": 41 }], 51: [function(r, b, u) {
|
|
2329
|
+
b.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" };
|
|
2330
|
+
}, {}], 52: [function(r, b, u) {
|
|
2331
|
+
var n = r("../utils/common"), a = 0, i = 1;
|
|
2332
|
+
function h(c) {
|
|
2333
|
+
for (var A = c.length; 0 <= --A; ) c[A] = 0;
|
|
2334
|
+
}
|
|
2335
|
+
var y = 0, k = 29, g = 256, v = g + 1 + k, o = 30, m = 19, s = 2 * v + 1, d = 15, l = 16, f = 7, _ = 256, S = 16, z = 17, F = 18, R = [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], P = [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], T = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7], W = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], J = new Array(2 * (v + 2));
|
|
2336
|
+
h(J);
|
|
2337
|
+
var w = new Array(2 * o);
|
|
2338
|
+
h(w);
|
|
2339
|
+
var D = new Array(512);
|
|
2340
|
+
h(D);
|
|
2341
|
+
var e = new Array(256);
|
|
2342
|
+
h(e);
|
|
2343
|
+
var N = new Array(k);
|
|
2344
|
+
h(N);
|
|
2345
|
+
var Q, Z, tt, M = new Array(o);
|
|
2346
|
+
function q(c, A, j, L, C) {
|
|
2347
|
+
this.static_tree = c, this.extra_bits = A, this.extra_base = j, this.elems = L, this.max_length = C, this.has_stree = c && c.length;
|
|
2348
|
+
}
|
|
2349
|
+
function I(c, A) {
|
|
2350
|
+
this.dyn_tree = c, this.max_code = 0, this.stat_desc = A;
|
|
2351
|
+
}
|
|
2352
|
+
function O(c) {
|
|
2353
|
+
return c < 256 ? D[c] : D[256 + (c >>> 7)];
|
|
2354
|
+
}
|
|
2355
|
+
function X(c, A) {
|
|
2356
|
+
c.pending_buf[c.pending++] = 255 & A, c.pending_buf[c.pending++] = A >>> 8 & 255;
|
|
2357
|
+
}
|
|
2358
|
+
function K(c, A, j) {
|
|
2359
|
+
c.bi_valid > l - j ? (c.bi_buf |= A << c.bi_valid & 65535, X(c, c.bi_buf), c.bi_buf = A >> l - c.bi_valid, c.bi_valid += j - l) : (c.bi_buf |= A << c.bi_valid & 65535, c.bi_valid += j);
|
|
2360
|
+
}
|
|
2361
|
+
function G(c, A, j) {
|
|
2362
|
+
K(c, j[2 * A], j[2 * A + 1]);
|
|
2363
|
+
}
|
|
2364
|
+
function at(c, A) {
|
|
2365
|
+
for (var j = 0; j |= 1 & c, c >>>= 1, j <<= 1, 0 < --A; ) ;
|
|
2366
|
+
return j >>> 1;
|
|
2367
|
+
}
|
|
2368
|
+
function lt(c, A, j) {
|
|
2369
|
+
var L, C, H = new Array(d + 1), Y = 0;
|
|
2370
|
+
for (L = 1; L <= d; L++) H[L] = Y = Y + j[L - 1] << 1;
|
|
2371
|
+
for (C = 0; C <= A; C++) {
|
|
2372
|
+
var $ = c[2 * C + 1];
|
|
2373
|
+
$ !== 0 && (c[2 * C] = at(H[$]++, $));
|
|
2374
|
+
}
|
|
2375
|
+
}
|
|
2376
|
+
function et(c) {
|
|
2377
|
+
var A;
|
|
2378
|
+
for (A = 0; A < v; A++) c.dyn_ltree[2 * A] = 0;
|
|
2379
|
+
for (A = 0; A < o; A++) c.dyn_dtree[2 * A] = 0;
|
|
2380
|
+
for (A = 0; A < m; A++) c.bl_tree[2 * A] = 0;
|
|
2381
|
+
c.dyn_ltree[2 * _] = 1, c.opt_len = c.static_len = 0, c.last_lit = c.matches = 0;
|
|
2382
|
+
}
|
|
2383
|
+
function nt(c) {
|
|
2384
|
+
8 < c.bi_valid ? X(c, c.bi_buf) : 0 < c.bi_valid && (c.pending_buf[c.pending++] = c.bi_buf), c.bi_buf = 0, c.bi_valid = 0;
|
|
2385
|
+
}
|
|
2386
|
+
function ut(c, A, j, L) {
|
|
2387
|
+
var C = 2 * A, H = 2 * j;
|
|
2388
|
+
return c[C] < c[H] || c[C] === c[H] && L[A] <= L[j];
|
|
2389
|
+
}
|
|
2390
|
+
function st(c, A, j) {
|
|
2391
|
+
for (var L = c.heap[j], C = j << 1; C <= c.heap_len && (C < c.heap_len && ut(A, c.heap[C + 1], c.heap[C], c.depth) && C++, !ut(A, L, c.heap[C], c.depth)); ) c.heap[j] = c.heap[C], j = C, C <<= 1;
|
|
2392
|
+
c.heap[j] = L;
|
|
2393
|
+
}
|
|
2394
|
+
function ct(c, A, j) {
|
|
2395
|
+
var L, C, H, Y, $ = 0;
|
|
2396
|
+
if (c.last_lit !== 0) for (; L = c.pending_buf[c.d_buf + 2 * $] << 8 | c.pending_buf[c.d_buf + 2 * $ + 1], C = c.pending_buf[c.l_buf + $], $++, L === 0 ? G(c, C, A) : (G(c, (H = e[C]) + g + 1, A), (Y = R[H]) !== 0 && K(c, C -= N[H], Y), G(c, H = O(--L), j), (Y = P[H]) !== 0 && K(c, L -= M[H], Y)), $ < c.last_lit; ) ;
|
|
2397
|
+
G(c, _, A);
|
|
2398
|
+
}
|
|
2399
|
+
function ft(c, A) {
|
|
2400
|
+
var j, L, C, H = A.dyn_tree, Y = A.stat_desc.static_tree, $ = A.stat_desc.has_stree, V = A.stat_desc.elems, it = -1;
|
|
2401
|
+
for (c.heap_len = 0, c.heap_max = s, j = 0; j < V; j++) H[2 * j] !== 0 ? (c.heap[++c.heap_len] = it = j, c.depth[j] = 0) : H[2 * j + 1] = 0;
|
|
2402
|
+
for (; c.heap_len < 2; ) H[2 * (C = c.heap[++c.heap_len] = it < 2 ? ++it : 0)] = 1, c.depth[C] = 0, c.opt_len--, $ && (c.static_len -= Y[2 * C + 1]);
|
|
2403
|
+
for (A.max_code = it, j = c.heap_len >> 1; 1 <= j; j--) st(c, H, j);
|
|
2404
|
+
for (C = V; j = c.heap[1], c.heap[1] = c.heap[c.heap_len--], st(c, H, 1), L = c.heap[1], c.heap[--c.heap_max] = j, c.heap[--c.heap_max] = L, H[2 * C] = H[2 * j] + H[2 * L], c.depth[C] = (c.depth[j] >= c.depth[L] ? c.depth[j] : c.depth[L]) + 1, H[2 * j + 1] = H[2 * L + 1] = C, c.heap[1] = C++, st(c, H, 1), 2 <= c.heap_len; ) ;
|
|
2405
|
+
c.heap[--c.heap_max] = c.heap[1], (function(rt, ht) {
|
|
2406
|
+
var _t, dt, gt, ot, yt, Et, pt = ht.dyn_tree, Ot = ht.max_code, jt = ht.stat_desc.static_tree, Lt = ht.stat_desc.has_stree, Wt = ht.stat_desc.extra_bits, It = ht.stat_desc.extra_base, bt = ht.stat_desc.max_length, wt = 0;
|
|
2407
|
+
for (ot = 0; ot <= d; ot++) rt.bl_count[ot] = 0;
|
|
2408
|
+
for (pt[2 * rt.heap[rt.heap_max] + 1] = 0, _t = rt.heap_max + 1; _t < s; _t++) bt < (ot = pt[2 * pt[2 * (dt = rt.heap[_t]) + 1] + 1] + 1) && (ot = bt, wt++), pt[2 * dt + 1] = ot, Ot < dt || (rt.bl_count[ot]++, yt = 0, It <= dt && (yt = Wt[dt - It]), Et = pt[2 * dt], rt.opt_len += Et * (ot + yt), Lt && (rt.static_len += Et * (jt[2 * dt + 1] + yt)));
|
|
2409
|
+
if (wt !== 0) {
|
|
2410
|
+
do {
|
|
2411
|
+
for (ot = bt - 1; rt.bl_count[ot] === 0; ) ot--;
|
|
2412
|
+
rt.bl_count[ot]--, rt.bl_count[ot + 1] += 2, rt.bl_count[bt]--, wt -= 2;
|
|
2413
|
+
} while (0 < wt);
|
|
2414
|
+
for (ot = bt; ot !== 0; ot--) for (dt = rt.bl_count[ot]; dt !== 0; ) Ot < (gt = rt.heap[--_t]) || (pt[2 * gt + 1] !== ot && (rt.opt_len += (ot - pt[2 * gt + 1]) * pt[2 * gt], pt[2 * gt + 1] = ot), dt--);
|
|
2415
|
+
}
|
|
2416
|
+
})(c, A), lt(H, it, c.bl_count);
|
|
2417
|
+
}
|
|
2418
|
+
function t(c, A, j) {
|
|
2419
|
+
var L, C, H = -1, Y = A[1], $ = 0, V = 7, it = 4;
|
|
2420
|
+
for (Y === 0 && (V = 138, it = 3), A[2 * (j + 1) + 1] = 65535, L = 0; L <= j; L++) C = Y, Y = A[2 * (L + 1) + 1], ++$ < V && C === Y || ($ < it ? c.bl_tree[2 * C] += $ : C !== 0 ? (C !== H && c.bl_tree[2 * C]++, c.bl_tree[2 * S]++) : $ <= 10 ? c.bl_tree[2 * z]++ : c.bl_tree[2 * F]++, H = C, it = ($ = 0) === Y ? (V = 138, 3) : C === Y ? (V = 6, 3) : (V = 7, 4));
|
|
2421
|
+
}
|
|
2422
|
+
function U(c, A, j) {
|
|
2423
|
+
var L, C, H = -1, Y = A[1], $ = 0, V = 7, it = 4;
|
|
2424
|
+
for (Y === 0 && (V = 138, it = 3), L = 0; L <= j; L++) if (C = Y, Y = A[2 * (L + 1) + 1], !(++$ < V && C === Y)) {
|
|
2425
|
+
if ($ < it) for (; G(c, C, c.bl_tree), --$ != 0; ) ;
|
|
2426
|
+
else C !== 0 ? (C !== H && (G(c, C, c.bl_tree), $--), G(c, S, c.bl_tree), K(c, $ - 3, 2)) : $ <= 10 ? (G(c, z, c.bl_tree), K(c, $ - 3, 3)) : (G(c, F, c.bl_tree), K(c, $ - 11, 7));
|
|
2427
|
+
H = C, it = ($ = 0) === Y ? (V = 138, 3) : C === Y ? (V = 6, 3) : (V = 7, 4);
|
|
2428
|
+
}
|
|
2429
|
+
}
|
|
2430
|
+
h(M);
|
|
2431
|
+
var B = !1;
|
|
2432
|
+
function p(c, A, j, L) {
|
|
2433
|
+
K(c, (y << 1) + (L ? 1 : 0), 3), (function(C, H, Y, $) {
|
|
2434
|
+
nt(C), X(C, Y), X(C, ~Y), n.arraySet(C.pending_buf, C.window, H, Y, C.pending), C.pending += Y;
|
|
2435
|
+
})(c, A, j);
|
|
2436
|
+
}
|
|
2437
|
+
u._tr_init = function(c) {
|
|
2438
|
+
B || ((function() {
|
|
2439
|
+
var A, j, L, C, H, Y = new Array(d + 1);
|
|
2440
|
+
for (C = L = 0; C < k - 1; C++) for (N[C] = L, A = 0; A < 1 << R[C]; A++) e[L++] = C;
|
|
2441
|
+
for (e[L - 1] = C, C = H = 0; C < 16; C++) for (M[C] = H, A = 0; A < 1 << P[C]; A++) D[H++] = C;
|
|
2442
|
+
for (H >>= 7; C < o; C++) for (M[C] = H << 7, A = 0; A < 1 << P[C] - 7; A++) D[256 + H++] = C;
|
|
2443
|
+
for (j = 0; j <= d; j++) Y[j] = 0;
|
|
2444
|
+
for (A = 0; A <= 143; ) J[2 * A + 1] = 8, A++, Y[8]++;
|
|
2445
|
+
for (; A <= 255; ) J[2 * A + 1] = 9, A++, Y[9]++;
|
|
2446
|
+
for (; A <= 279; ) J[2 * A + 1] = 7, A++, Y[7]++;
|
|
2447
|
+
for (; A <= 287; ) J[2 * A + 1] = 8, A++, Y[8]++;
|
|
2448
|
+
for (lt(J, v + 1, Y), A = 0; A < o; A++) w[2 * A + 1] = 5, w[2 * A] = at(A, 5);
|
|
2449
|
+
Q = new q(J, R, g + 1, v, d), Z = new q(w, P, 0, o, d), tt = new q(new Array(0), T, 0, m, f);
|
|
2450
|
+
})(), B = !0), c.l_desc = new I(c.dyn_ltree, Q), c.d_desc = new I(c.dyn_dtree, Z), c.bl_desc = new I(c.bl_tree, tt), c.bi_buf = 0, c.bi_valid = 0, et(c);
|
|
2451
|
+
}, u._tr_stored_block = p, u._tr_flush_block = function(c, A, j, L) {
|
|
2452
|
+
var C, H, Y = 0;
|
|
2453
|
+
0 < c.level ? (c.strm.data_type === 2 && (c.strm.data_type = (function($) {
|
|
2454
|
+
var V, it = 4093624447;
|
|
2455
|
+
for (V = 0; V <= 31; V++, it >>>= 1) if (1 & it && $.dyn_ltree[2 * V] !== 0) return a;
|
|
2456
|
+
if ($.dyn_ltree[18] !== 0 || $.dyn_ltree[20] !== 0 || $.dyn_ltree[26] !== 0) return i;
|
|
2457
|
+
for (V = 32; V < g; V++) if ($.dyn_ltree[2 * V] !== 0) return i;
|
|
2458
|
+
return a;
|
|
2459
|
+
})(c)), ft(c, c.l_desc), ft(c, c.d_desc), Y = (function($) {
|
|
2460
|
+
var V;
|
|
2461
|
+
for (t($, $.dyn_ltree, $.l_desc.max_code), t($, $.dyn_dtree, $.d_desc.max_code), ft($, $.bl_desc), V = m - 1; 3 <= V && $.bl_tree[2 * W[V] + 1] === 0; V--) ;
|
|
2462
|
+
return $.opt_len += 3 * (V + 1) + 5 + 5 + 4, V;
|
|
2463
|
+
})(c), C = c.opt_len + 3 + 7 >>> 3, (H = c.static_len + 3 + 7 >>> 3) <= C && (C = H)) : C = H = j + 5, j + 4 <= C && A !== -1 ? p(c, A, j, L) : c.strategy === 4 || H === C ? (K(c, 2 + (L ? 1 : 0), 3), ct(c, J, w)) : (K(c, 4 + (L ? 1 : 0), 3), (function($, V, it, rt) {
|
|
2464
|
+
var ht;
|
|
2465
|
+
for (K($, V - 257, 5), K($, it - 1, 5), K($, rt - 4, 4), ht = 0; ht < rt; ht++) K($, $.bl_tree[2 * W[ht] + 1], 3);
|
|
2466
|
+
U($, $.dyn_ltree, V - 1), U($, $.dyn_dtree, it - 1);
|
|
2467
|
+
})(c, c.l_desc.max_code + 1, c.d_desc.max_code + 1, Y + 1), ct(c, c.dyn_ltree, c.dyn_dtree)), et(c), L && nt(c);
|
|
2468
|
+
}, u._tr_tally = function(c, A, j) {
|
|
2469
|
+
return c.pending_buf[c.d_buf + 2 * c.last_lit] = A >>> 8 & 255, c.pending_buf[c.d_buf + 2 * c.last_lit + 1] = 255 & A, c.pending_buf[c.l_buf + c.last_lit] = 255 & j, c.last_lit++, A === 0 ? c.dyn_ltree[2 * j]++ : (c.matches++, A--, c.dyn_ltree[2 * (e[j] + g + 1)]++, c.dyn_dtree[2 * O(A)]++), c.last_lit === c.lit_bufsize - 1;
|
|
2470
|
+
}, u._tr_align = function(c) {
|
|
2471
|
+
K(c, 2, 3), G(c, _, J), (function(A) {
|
|
2472
|
+
A.bi_valid === 16 ? (X(A, A.bi_buf), A.bi_buf = 0, A.bi_valid = 0) : 8 <= A.bi_valid && (A.pending_buf[A.pending++] = 255 & A.bi_buf, A.bi_buf >>= 8, A.bi_valid -= 8);
|
|
2473
|
+
})(c);
|
|
2474
|
+
};
|
|
2475
|
+
}, { "../utils/common": 41 }], 53: [function(r, b, u) {
|
|
2476
|
+
b.exports = function() {
|
|
2477
|
+
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;
|
|
2478
|
+
};
|
|
2479
|
+
}, {}], 54: [function(r, b, u) {
|
|
2480
|
+
(function(n) {
|
|
2481
|
+
(function(a, i) {
|
|
2482
|
+
if (!a.setImmediate) {
|
|
2483
|
+
var h, y, k, g, v = 1, o = {}, m = !1, s = a.document, d = Object.getPrototypeOf && Object.getPrototypeOf(a);
|
|
2484
|
+
d = d && d.setTimeout ? d : a, h = {}.toString.call(a.process) === "[object process]" ? function(S) {
|
|
2485
|
+
process.nextTick(function() {
|
|
2486
|
+
f(S);
|
|
2487
|
+
});
|
|
2488
|
+
} : (function() {
|
|
2489
|
+
if (a.postMessage && !a.importScripts) {
|
|
2490
|
+
var S = !0, z = a.onmessage;
|
|
2491
|
+
return a.onmessage = function() {
|
|
2492
|
+
S = !1;
|
|
2493
|
+
}, a.postMessage("", "*"), a.onmessage = z, S;
|
|
2494
|
+
}
|
|
2495
|
+
})() ? (g = "setImmediate$" + Math.random() + "$", a.addEventListener ? a.addEventListener("message", _, !1) : a.attachEvent("onmessage", _), function(S) {
|
|
2496
|
+
a.postMessage(g + S, "*");
|
|
2497
|
+
}) : a.MessageChannel ? ((k = new MessageChannel()).port1.onmessage = function(S) {
|
|
2498
|
+
f(S.data);
|
|
2499
|
+
}, function(S) {
|
|
2500
|
+
k.port2.postMessage(S);
|
|
2501
|
+
}) : s && "onreadystatechange" in s.createElement("script") ? (y = s.documentElement, function(S) {
|
|
2502
|
+
var z = s.createElement("script");
|
|
2503
|
+
z.onreadystatechange = function() {
|
|
2504
|
+
f(S), z.onreadystatechange = null, y.removeChild(z), z = null;
|
|
2505
|
+
}, y.appendChild(z);
|
|
2506
|
+
}) : function(S) {
|
|
2507
|
+
setTimeout(f, 0, S);
|
|
2508
|
+
}, d.setImmediate = function(S) {
|
|
2509
|
+
typeof S != "function" && (S = new Function("" + S));
|
|
2510
|
+
for (var z = new Array(arguments.length - 1), F = 0; F < z.length; F++) z[F] = arguments[F + 1];
|
|
2511
|
+
var R = { callback: S, args: z };
|
|
2512
|
+
return o[v] = R, h(v), v++;
|
|
2513
|
+
}, d.clearImmediate = l;
|
|
2514
|
+
}
|
|
2515
|
+
function l(S) {
|
|
2516
|
+
delete o[S];
|
|
2517
|
+
}
|
|
2518
|
+
function f(S) {
|
|
2519
|
+
if (m) setTimeout(f, 0, S);
|
|
2520
|
+
else {
|
|
2521
|
+
var z = o[S];
|
|
2522
|
+
if (z) {
|
|
2523
|
+
m = !0;
|
|
2524
|
+
try {
|
|
2525
|
+
(function(F) {
|
|
2526
|
+
var R = F.callback, P = F.args;
|
|
2527
|
+
switch (P.length) {
|
|
2528
|
+
case 0:
|
|
2529
|
+
R();
|
|
2530
|
+
break;
|
|
2531
|
+
case 1:
|
|
2532
|
+
R(P[0]);
|
|
2533
|
+
break;
|
|
2534
|
+
case 2:
|
|
2535
|
+
R(P[0], P[1]);
|
|
2536
|
+
break;
|
|
2537
|
+
case 3:
|
|
2538
|
+
R(P[0], P[1], P[2]);
|
|
2539
|
+
break;
|
|
2540
|
+
default:
|
|
2541
|
+
R.apply(i, P);
|
|
2542
|
+
}
|
|
2543
|
+
})(z);
|
|
2544
|
+
} finally {
|
|
2545
|
+
l(S), m = !1;
|
|
2546
|
+
}
|
|
2547
|
+
}
|
|
2548
|
+
}
|
|
2549
|
+
}
|
|
2550
|
+
function _(S) {
|
|
2551
|
+
S.source === a && typeof S.data == "string" && S.data.indexOf(g) === 0 && f(+S.data.slice(g.length));
|
|
2552
|
+
}
|
|
2553
|
+
})(typeof self > "u" ? n === void 0 ? this : n : self);
|
|
2554
|
+
}).call(this, typeof kt < "u" ? kt : typeof self < "u" ? self : typeof window < "u" ? window : {});
|
|
2555
|
+
}, {}] }, {}, [10])(10);
|
|
2556
|
+
});
|
|
2557
|
+
})(At)), At.exports;
|
|
2558
|
+
}
|
|
2559
|
+
var Kt = Gt();
|
|
2560
|
+
const Yt = /* @__PURE__ */ Mt(Kt), Jt = function(E, x) {
|
|
2561
|
+
return new Promise((r, b) => {
|
|
2562
|
+
const u = new Yt();
|
|
2563
|
+
E.forEach((n) => {
|
|
2564
|
+
u.file(n.name, n);
|
|
2565
|
+
}), u.generateAsync({ type: "blob" }).then((n) => {
|
|
2566
|
+
const a = Ut(n, `${x}.zip`);
|
|
2567
|
+
r(a);
|
|
2568
|
+
}, b);
|
|
2569
|
+
});
|
|
2570
|
+
}, he = async function(E, x) {
|
|
2571
|
+
const r = await Jt(E, x);
|
|
2572
|
+
await mt(r, r.name);
|
|
2573
|
+
};
|
|
2574
|
+
async function fe(E, x) {
|
|
134
2575
|
try {
|
|
135
2576
|
if (navigator.clipboard && navigator.clipboard.writeText) {
|
|
136
|
-
await navigator.clipboard.writeText(
|
|
2577
|
+
await navigator.clipboard.writeText(E), x?.onSuccess && x.onSuccess(E);
|
|
137
2578
|
return;
|
|
138
2579
|
}
|
|
139
|
-
const
|
|
140
|
-
|
|
2580
|
+
const r = document.createElement("textarea");
|
|
2581
|
+
r.value = E, r.style.position = "fixed", r.style.top = "0", r.style.left = "0", r.style.width = "2em", r.style.height = "2em", r.style.padding = "0", r.style.border = "none", r.style.outline = "none", r.style.boxShadow = "none", r.style.background = "transparent", r.style.opacity = "0", document.body.appendChild(r), r.focus(), r.select();
|
|
141
2582
|
try {
|
|
142
2583
|
if (document.execCommand("copy"))
|
|
143
|
-
|
|
2584
|
+
x?.onSuccess && x.onSuccess(E);
|
|
144
2585
|
else
|
|
145
2586
|
throw new Error("execCommand 复制失败");
|
|
146
2587
|
} catch {
|
|
147
2588
|
throw new Error("无法使用 execCommand 复制文本");
|
|
148
2589
|
} finally {
|
|
149
|
-
document.body.removeChild(
|
|
2590
|
+
document.body.removeChild(r);
|
|
150
2591
|
}
|
|
151
|
-
} catch (
|
|
152
|
-
const
|
|
153
|
-
throw
|
|
2592
|
+
} catch (r) {
|
|
2593
|
+
const b = r instanceof Error ? r : new Error("未知错误");
|
|
2594
|
+
throw x?.onError ? x.onError(b) : console.error("复制到剪贴板失败:", b), b;
|
|
154
2595
|
}
|
|
155
2596
|
}
|
|
156
|
-
async function
|
|
2597
|
+
async function ce() {
|
|
157
2598
|
try {
|
|
158
2599
|
if (navigator.clipboard && navigator.clipboard.readText)
|
|
159
2600
|
return await navigator.clipboard.readText();
|
|
160
2601
|
throw new Error("当前浏览器不支持读取剪贴板");
|
|
161
|
-
} catch (
|
|
162
|
-
throw console.error("从剪贴板读取失败:",
|
|
2602
|
+
} catch (E) {
|
|
2603
|
+
throw console.error("从剪贴板读取失败:", E), new Error("无法从剪贴板读取内容,请检查浏览器权限");
|
|
163
2604
|
}
|
|
164
2605
|
}
|
|
165
|
-
function
|
|
2606
|
+
function de(E, x, r) {
|
|
166
2607
|
const {
|
|
167
|
-
download:
|
|
168
|
-
encoding:
|
|
169
|
-
} =
|
|
170
|
-
if (
|
|
171
|
-
|
|
2608
|
+
download: b = !0,
|
|
2609
|
+
encoding: u = "utf-8"
|
|
2610
|
+
} = r || {}, n = new Blob([E], { type: `text/plain;charset=${u}` });
|
|
2611
|
+
if (b) {
|
|
2612
|
+
mt(n, x);
|
|
172
2613
|
return;
|
|
173
2614
|
}
|
|
174
|
-
return new File([
|
|
2615
|
+
return new File([n], x, { type: `text/plain;charset=${u}` });
|
|
175
2616
|
}
|
|
176
|
-
function
|
|
177
|
-
if (
|
|
2617
|
+
function St(E, x) {
|
|
2618
|
+
if (E == null)
|
|
178
2619
|
return "";
|
|
179
|
-
const
|
|
180
|
-
return
|
|
181
|
-
`) ||
|
|
2620
|
+
const r = String(E);
|
|
2621
|
+
return r.includes(x) || r.includes('"') || r.includes(`
|
|
2622
|
+
`) || r.includes("\r") ? `"${r.replace(/"/g, '""')}"` : r;
|
|
182
2623
|
}
|
|
183
|
-
function
|
|
2624
|
+
function pe(E, x, r = {}) {
|
|
184
2625
|
const {
|
|
185
|
-
separator:
|
|
186
|
-
includeHeader:
|
|
187
|
-
download:
|
|
2626
|
+
separator: b = ",",
|
|
2627
|
+
includeHeader: u = !0,
|
|
2628
|
+
download: n = !0,
|
|
188
2629
|
encoding: a = "utf-8"
|
|
189
|
-
} =
|
|
190
|
-
if (
|
|
2630
|
+
} = r;
|
|
2631
|
+
if (E.length === 0)
|
|
191
2632
|
throw new Error("数据不能为空");
|
|
192
|
-
let
|
|
193
|
-
if (typeof
|
|
194
|
-
const
|
|
195
|
-
new Set(
|
|
2633
|
+
let i = "";
|
|
2634
|
+
if (typeof E[0] == "object" && !Array.isArray(E[0])) {
|
|
2635
|
+
const g = E, v = Array.from(
|
|
2636
|
+
new Set(g.flatMap((o) => Object.keys(o)))
|
|
196
2637
|
);
|
|
197
|
-
|
|
198
|
-
`),
|
|
199
|
-
const
|
|
200
|
-
const
|
|
201
|
-
return
|
|
2638
|
+
u && (i += v.join(b) + `
|
|
2639
|
+
`), g.forEach((o) => {
|
|
2640
|
+
const m = v.map((s) => {
|
|
2641
|
+
const d = o[s];
|
|
2642
|
+
return St(d, b);
|
|
202
2643
|
});
|
|
203
|
-
|
|
2644
|
+
i += m.join(b) + `
|
|
204
2645
|
`;
|
|
205
2646
|
});
|
|
206
2647
|
} else {
|
|
207
|
-
const
|
|
208
|
-
if (
|
|
209
|
-
const
|
|
210
|
-
(
|
|
2648
|
+
const g = E;
|
|
2649
|
+
if (u && g.length > 0) {
|
|
2650
|
+
const v = g[0].map(
|
|
2651
|
+
(o) => St(o, b)
|
|
211
2652
|
);
|
|
212
|
-
|
|
2653
|
+
i += v.join(b) + `
|
|
213
2654
|
`;
|
|
214
|
-
for (let
|
|
215
|
-
const
|
|
216
|
-
(
|
|
2655
|
+
for (let o = 1; o < g.length; o++) {
|
|
2656
|
+
const m = g[o].map(
|
|
2657
|
+
(s) => St(s, b)
|
|
217
2658
|
);
|
|
218
|
-
|
|
2659
|
+
i += m.join(b) + `
|
|
219
2660
|
`;
|
|
220
2661
|
}
|
|
221
|
-
} else
|
|
222
|
-
const
|
|
223
|
-
(
|
|
2662
|
+
} else u || g.forEach((v) => {
|
|
2663
|
+
const o = v.map(
|
|
2664
|
+
(m) => St(m, b)
|
|
224
2665
|
);
|
|
225
|
-
|
|
2666
|
+
i += o.join(b) + `
|
|
226
2667
|
`;
|
|
227
2668
|
});
|
|
228
2669
|
}
|
|
229
|
-
|
|
230
|
-
const
|
|
2670
|
+
i = i.trimEnd();
|
|
2671
|
+
const y = "\uFEFF", k = new Blob([y + i], {
|
|
231
2672
|
type: `text/csv;charset=${a}`
|
|
232
2673
|
});
|
|
233
|
-
if (
|
|
234
|
-
|
|
2674
|
+
if (n) {
|
|
2675
|
+
mt(k, x);
|
|
235
2676
|
return;
|
|
236
2677
|
}
|
|
237
|
-
return new File([
|
|
2678
|
+
return new File([k], x, { type: `text/csv;charset=${a}` });
|
|
238
2679
|
}
|
|
239
|
-
function
|
|
2680
|
+
function me(E, x, r = {}) {
|
|
240
2681
|
const {
|
|
241
|
-
pretty:
|
|
242
|
-
spaces:
|
|
243
|
-
download:
|
|
2682
|
+
pretty: b = !0,
|
|
2683
|
+
spaces: u = 2,
|
|
2684
|
+
download: n = !0,
|
|
244
2685
|
encoding: a = "utf-8"
|
|
245
|
-
} =
|
|
2686
|
+
} = r;
|
|
246
2687
|
try {
|
|
247
|
-
const
|
|
2688
|
+
const i = b ? JSON.stringify(E, null, u) : JSON.stringify(E), h = new Blob([i], {
|
|
248
2689
|
type: `application/json;charset=${a}`
|
|
249
2690
|
});
|
|
250
|
-
if (
|
|
251
|
-
|
|
2691
|
+
if (n) {
|
|
2692
|
+
mt(h, x);
|
|
252
2693
|
return;
|
|
253
2694
|
}
|
|
254
|
-
return new File([
|
|
255
|
-
} catch (
|
|
256
|
-
throw console.error("JSON 序列化失败:",
|
|
2695
|
+
return new File([h], x, { type: `application/json;charset=${a}` });
|
|
2696
|
+
} catch (i) {
|
|
2697
|
+
throw console.error("JSON 序列化失败:", i), new Error("数据无法序列化为 JSON");
|
|
257
2698
|
}
|
|
258
2699
|
}
|
|
259
|
-
function
|
|
260
|
-
const
|
|
261
|
-
return
|
|
2700
|
+
function Pt(E) {
|
|
2701
|
+
const x = typeof E == "string" ? E : E.name, r = x.lastIndexOf(".");
|
|
2702
|
+
return r === -1 || r === x.length - 1 ? "" : x.slice(r + 1).toLowerCase();
|
|
262
2703
|
}
|
|
263
|
-
function
|
|
264
|
-
const
|
|
265
|
-
return
|
|
2704
|
+
function _e(E) {
|
|
2705
|
+
const x = typeof E == "string" ? E : E.name, r = x.lastIndexOf(".");
|
|
2706
|
+
return r === -1 ? x : x.slice(0, r);
|
|
266
2707
|
}
|
|
267
|
-
function
|
|
2708
|
+
function ge(E) {
|
|
268
2709
|
return {
|
|
269
|
-
name:
|
|
270
|
-
size:
|
|
271
|
-
type:
|
|
272
|
-
lastModified:
|
|
2710
|
+
name: E.name,
|
|
2711
|
+
size: E.size,
|
|
2712
|
+
type: E.type,
|
|
2713
|
+
lastModified: E.lastModified
|
|
273
2714
|
};
|
|
274
2715
|
}
|
|
275
|
-
function E
|
|
276
|
-
if (!
|
|
2716
|
+
function Vt(E, x) {
|
|
2717
|
+
if (!E || !x || x.length === 0)
|
|
277
2718
|
return !1;
|
|
278
|
-
const
|
|
279
|
-
return
|
|
280
|
-
const
|
|
281
|
-
if (
|
|
282
|
-
const a =
|
|
283
|
-
return
|
|
2719
|
+
const r = E.type.toLowerCase(), b = `.${Pt(E).toLowerCase()}`;
|
|
2720
|
+
return x.some((u) => {
|
|
2721
|
+
const n = u.toLowerCase();
|
|
2722
|
+
if (n.endsWith("/*")) {
|
|
2723
|
+
const a = n.split("/")[0];
|
|
2724
|
+
return r.startsWith(`${a}/`);
|
|
284
2725
|
}
|
|
285
|
-
return
|
|
2726
|
+
return n.startsWith(".") ? b === n : r === n;
|
|
286
2727
|
});
|
|
287
2728
|
}
|
|
288
|
-
function
|
|
289
|
-
return
|
|
2729
|
+
function Xt(E, x) {
|
|
2730
|
+
return E ? E.size <= x : !1;
|
|
290
2731
|
}
|
|
291
|
-
function
|
|
292
|
-
if (!
|
|
2732
|
+
function zt(E) {
|
|
2733
|
+
if (!E)
|
|
293
2734
|
return !1;
|
|
294
|
-
if (
|
|
2735
|
+
if (E.type.startsWith("image/"))
|
|
295
2736
|
return !0;
|
|
296
|
-
const
|
|
297
|
-
return
|
|
2737
|
+
const x = [".jpg", ".jpeg", ".png", ".gif", ".bmp", ".webp", ".svg", ".ico"], r = `.${Pt(E)}`;
|
|
2738
|
+
return x.includes(r);
|
|
298
2739
|
}
|
|
299
|
-
function
|
|
300
|
-
return new Promise((
|
|
301
|
-
if (!
|
|
302
|
-
|
|
2740
|
+
function qt(E) {
|
|
2741
|
+
return new Promise((x, r) => {
|
|
2742
|
+
if (!zt(E)) {
|
|
2743
|
+
r(new Error("文件不是有效的图片格式"));
|
|
303
2744
|
return;
|
|
304
2745
|
}
|
|
305
|
-
const
|
|
306
|
-
|
|
307
|
-
const
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
width:
|
|
311
|
-
height:
|
|
2746
|
+
const b = new FileReader();
|
|
2747
|
+
b.onload = (u) => {
|
|
2748
|
+
const n = new Image();
|
|
2749
|
+
n.onload = () => {
|
|
2750
|
+
x({
|
|
2751
|
+
width: n.width,
|
|
2752
|
+
height: n.height
|
|
312
2753
|
});
|
|
313
|
-
},
|
|
314
|
-
|
|
315
|
-
},
|
|
316
|
-
},
|
|
317
|
-
|
|
318
|
-
},
|
|
2754
|
+
}, n.onerror = () => {
|
|
2755
|
+
r(new Error("图片加载失败"));
|
|
2756
|
+
}, n.src = u.target?.result;
|
|
2757
|
+
}, b.onerror = () => {
|
|
2758
|
+
r(new Error("文件读取失败"));
|
|
2759
|
+
}, b.readAsDataURL(E);
|
|
319
2760
|
});
|
|
320
2761
|
}
|
|
321
|
-
async function
|
|
322
|
-
const
|
|
323
|
-
if (
|
|
324
|
-
const
|
|
325
|
-
|
|
2762
|
+
async function be(E, x = {}) {
|
|
2763
|
+
const r = [];
|
|
2764
|
+
if (x.acceptTypes && x.acceptTypes.length > 0 && (Vt(E, x.acceptTypes) || r.push(`不支持的文件类型。接受:${x.acceptTypes.join(", ")}`)), x.maxSize !== void 0 && !Xt(E, x.maxSize)) {
|
|
2765
|
+
const b = Qt(x.maxSize);
|
|
2766
|
+
r.push(`文件过大。最大允许:${b}`);
|
|
326
2767
|
}
|
|
327
|
-
if (
|
|
2768
|
+
if (x.mustBeImage && !zt(E) && r.push("文件必须是图片格式"), zt(E) && (x.minWidth !== void 0 || x.maxWidth !== void 0 || x.minHeight !== void 0 || x.maxHeight !== void 0))
|
|
328
2769
|
try {
|
|
329
|
-
const
|
|
330
|
-
|
|
2770
|
+
const b = await qt(E);
|
|
2771
|
+
x.minWidth !== void 0 && b.width < x.minWidth && r.push(`图片宽度过小。最小宽度:${x.minWidth}px`), x.maxWidth !== void 0 && b.width > x.maxWidth && r.push(`图片宽度过大。最大宽度:${x.maxWidth}px`), x.minHeight !== void 0 && b.height < x.minHeight && r.push(`图片高度过小。最小高度:${x.minHeight}px`), x.maxHeight !== void 0 && b.height > x.maxHeight && r.push(`图片高度过大。最大高度:${x.maxHeight}px`);
|
|
331
2772
|
} catch {
|
|
332
|
-
|
|
2773
|
+
r.push("无法获取图片尺寸");
|
|
333
2774
|
}
|
|
334
2775
|
return {
|
|
335
|
-
valid:
|
|
336
|
-
errors:
|
|
2776
|
+
valid: r.length === 0,
|
|
2777
|
+
errors: r
|
|
337
2778
|
};
|
|
338
2779
|
}
|
|
339
|
-
function
|
|
340
|
-
if (
|
|
341
|
-
const
|
|
342
|
-
return parseFloat((
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
pasteFromClipboard: j,
|
|
361
|
-
// 生成
|
|
362
|
-
generateTxtFile: z,
|
|
363
|
-
generateCsvFile: U,
|
|
364
|
-
generateJsonFile: H,
|
|
365
|
-
// 验证
|
|
366
|
-
checkFileType: E,
|
|
367
|
-
checkFileSize: C,
|
|
368
|
-
isImage: m,
|
|
369
|
-
getImageDimensions: B,
|
|
370
|
-
validateFile: N,
|
|
371
|
-
formatFileSize: S,
|
|
372
|
-
// 工具
|
|
373
|
-
getFileExtension: x,
|
|
374
|
-
getFileNameWithoutExtension: J,
|
|
375
|
-
getFileInfo: M
|
|
2780
|
+
function Qt(E, x = 2) {
|
|
2781
|
+
if (E === 0) return "0 B";
|
|
2782
|
+
const r = ["B", "KB", "MB", "GB", "TB"], b = 1024, u = Math.floor(Math.log(E) / Math.log(b));
|
|
2783
|
+
return parseFloat((E / Math.pow(b, u)).toFixed(x)) + " " + r[u];
|
|
2784
|
+
}
|
|
2785
|
+
function Dt(E) {
|
|
2786
|
+
if (E === null || typeof E != "object")
|
|
2787
|
+
return E;
|
|
2788
|
+
if (E instanceof Date)
|
|
2789
|
+
return new Date(E.getTime());
|
|
2790
|
+
if (E instanceof RegExp)
|
|
2791
|
+
return new RegExp(E.source, E.flags);
|
|
2792
|
+
if (Array.isArray(E))
|
|
2793
|
+
return E.map((r) => Dt(r));
|
|
2794
|
+
const x = {};
|
|
2795
|
+
for (const r in E)
|
|
2796
|
+
Object.prototype.hasOwnProperty.call(E, r) && (x[r] = Dt(E[r]));
|
|
2797
|
+
return x;
|
|
2798
|
+
}
|
|
2799
|
+
const ve = function(E, x = 2) {
|
|
2800
|
+
return Number(E.toFixed(x));
|
|
376
2801
|
};
|
|
2802
|
+
function ye(E = location.href) {
|
|
2803
|
+
const x = {};
|
|
2804
|
+
return new URL(E).searchParams.forEach((b, u) => {
|
|
2805
|
+
x[u] = b;
|
|
2806
|
+
}), x;
|
|
2807
|
+
}
|
|
2808
|
+
function Nt(E, x) {
|
|
2809
|
+
const r = x || new FormData();
|
|
2810
|
+
return Object.keys(E).forEach((b) => {
|
|
2811
|
+
const u = E[b];
|
|
2812
|
+
u instanceof File ? r.append(b, u) : Array.isArray(u) ? u.forEach((n, a) => {
|
|
2813
|
+
typeof n == "object" && n !== null ? Nt({ [`${b}[${a}]`]: n }, r) : r.append(`${b}[${a}]`, n);
|
|
2814
|
+
}) : typeof u == "object" && u !== null && !(u instanceof Blob) ? Nt(u, r) : r.append(b, u);
|
|
2815
|
+
}), r;
|
|
2816
|
+
}
|
|
2817
|
+
function we(E, x, r = !1) {
|
|
2818
|
+
const b = {}, u = new Set(x);
|
|
2819
|
+
if (r)
|
|
2820
|
+
for (const n of x)
|
|
2821
|
+
n in E && (b[n] = E[n]);
|
|
2822
|
+
else
|
|
2823
|
+
for (const n in E)
|
|
2824
|
+
Object.prototype.hasOwnProperty.call(E, n) && !u.has(n) && (b[n] = E[n]);
|
|
2825
|
+
return b;
|
|
2826
|
+
}
|
|
2827
|
+
function ke(E = !1) {
|
|
2828
|
+
const x = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (r) => {
|
|
2829
|
+
const b = Math.random() * 16 | 0;
|
|
2830
|
+
return (r === "x" ? b : b & 3 | 8).toString(16);
|
|
2831
|
+
});
|
|
2832
|
+
return E ? x.replace(/-/g, "") : x;
|
|
2833
|
+
}
|
|
2834
|
+
function xe(E) {
|
|
2835
|
+
return Object.fromEntries(
|
|
2836
|
+
Object.entries(E).filter(
|
|
2837
|
+
([x, r]) => r !== "" && r !== null && r !== void 0
|
|
2838
|
+
)
|
|
2839
|
+
);
|
|
2840
|
+
}
|
|
2841
|
+
function Se(E) {
|
|
2842
|
+
return E.reduce((x, r) => x + r, 0);
|
|
2843
|
+
}
|
|
2844
|
+
function Ee(E, x = 2) {
|
|
2845
|
+
if (isNaN(E)) return "0";
|
|
2846
|
+
const b = E.toFixed(x).split(".");
|
|
2847
|
+
return b[0] = b[0].replace(/\B(?=(\d{3})+(?!\d))/g, ","), b.join(".");
|
|
2848
|
+
}
|
|
2849
|
+
function te(E, x = 3, r = 4, b = "*") {
|
|
2850
|
+
if (!E || typeof E != "string") return "";
|
|
2851
|
+
const u = E.length;
|
|
2852
|
+
if (u <= x + r)
|
|
2853
|
+
return b.repeat(u);
|
|
2854
|
+
const n = E.substring(0, x), a = E.substring(u - r), i = u - x - r;
|
|
2855
|
+
return n + b.repeat(i) + a;
|
|
2856
|
+
}
|
|
2857
|
+
function Ae(E, x = "*") {
|
|
2858
|
+
return !E || E.length < 7 ? E : te(E, 3, 4, x);
|
|
2859
|
+
}
|
|
2860
|
+
function ze(E) {
|
|
2861
|
+
return E.map((x) => Number(x));
|
|
2862
|
+
}
|
|
2863
|
+
function Ce(E, x, r, b) {
|
|
2864
|
+
const u = /* @__PURE__ */ new Map();
|
|
2865
|
+
E.forEach((n, a) => {
|
|
2866
|
+
u.set(n, a);
|
|
2867
|
+
}), x.sort((n, a) => {
|
|
2868
|
+
const i = u.get(r(n)) ?? -1, h = u.get(b(a)) ?? -1;
|
|
2869
|
+
return i === h ? 0 : i > h ? 1 : -1;
|
|
2870
|
+
});
|
|
2871
|
+
}
|
|
2872
|
+
function Oe(E) {
|
|
2873
|
+
const x = (u, n) => {
|
|
2874
|
+
const a = [];
|
|
2875
|
+
return u.forEach((i) => {
|
|
2876
|
+
if (i.pid === n) {
|
|
2877
|
+
const h = x(u, i.id);
|
|
2878
|
+
h.length && (i.children = h), a.push(i);
|
|
2879
|
+
}
|
|
2880
|
+
}), a;
|
|
2881
|
+
}, r = [];
|
|
2882
|
+
return E.filter(
|
|
2883
|
+
(u) => !E.some((n) => n.id === u.pid)
|
|
2884
|
+
).forEach((u) => {
|
|
2885
|
+
const n = x(E, u.id);
|
|
2886
|
+
n.length && (u.children = n), r.push(u);
|
|
2887
|
+
}), r;
|
|
2888
|
+
}
|
|
2889
|
+
function Ie(E, x = !1) {
|
|
2890
|
+
const r = [], b = function(u) {
|
|
2891
|
+
for (const n of u) {
|
|
2892
|
+
const a = { ...n };
|
|
2893
|
+
x && a.children && delete a.children, r.push(a), n.children && b(n.children);
|
|
2894
|
+
}
|
|
2895
|
+
};
|
|
2896
|
+
return b(E), r;
|
|
2897
|
+
}
|
|
2898
|
+
class Be {
|
|
2899
|
+
// 提示语映射
|
|
2900
|
+
static messages = {
|
|
2901
|
+
email: "请输入正确的邮箱地址",
|
|
2902
|
+
number: "请输入合法的数字",
|
|
2903
|
+
phone: "请输入正确的 11 位手机号码",
|
|
2904
|
+
url: "请输入以 http/https/ftp/mapbox 开头的合法链接",
|
|
2905
|
+
ip: "请输入正确的 IP 地址 (0-255.0-255.0-255.0-255)",
|
|
2906
|
+
longitude: "经度应在 -180 到 180 之间",
|
|
2907
|
+
latitude: "纬度应在 -90 到 90 之间",
|
|
2908
|
+
noSpace: "内容不能包含空格",
|
|
2909
|
+
password: "密码需 8-18 位,含大小写字母、数字及特殊符号 (.|@|_)",
|
|
2910
|
+
empty: "内容不能为空",
|
|
2911
|
+
chinese: "内容必须包含中文",
|
|
2912
|
+
inputCoordinates: "坐标格式不正确或数值超出经纬度范围"
|
|
2913
|
+
};
|
|
2914
|
+
// --- 基础验证方法 ---
|
|
2915
|
+
static isEmail = (x) => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(x);
|
|
2916
|
+
static isNumber = (x) => /^-?\d+(\.\d+)?$/.test(x);
|
|
2917
|
+
static isPhone = (x) => /^1[3-9]\d{9}$/.test(x);
|
|
2918
|
+
static isUrl = (x) => /^(https?|ftp|mapbox):\/\/[^\s/$.?#].[^\s]*$/i.test(x);
|
|
2919
|
+
static isIP = (x) => /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(x);
|
|
2920
|
+
static isNoSpace = (x) => typeof x == "string" && !/\s/.test(x);
|
|
2921
|
+
static isChinese = (x) => /[\u4e00-\u9fa5]/.test(x);
|
|
2922
|
+
static isPassword = (x) => /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[.@_])[\da-zA-Z.@_]{8,18}$/.test(x);
|
|
2923
|
+
/**
|
|
2924
|
+
* 验证经度
|
|
2925
|
+
* @param lng - 经度值
|
|
2926
|
+
* @returns boolean - 是否在 -180 到 180 之间
|
|
2927
|
+
*/
|
|
2928
|
+
static isLongitude(x) {
|
|
2929
|
+
const r = Number(x);
|
|
2930
|
+
return !isNaN(r) && r >= -180 && r <= 180;
|
|
2931
|
+
}
|
|
2932
|
+
/**
|
|
2933
|
+
* 验证纬度
|
|
2934
|
+
* @param lat - 纬度值
|
|
2935
|
+
* @returns boolean - 是否在 -90 到 90 之间
|
|
2936
|
+
*/
|
|
2937
|
+
static isLatitude(x) {
|
|
2938
|
+
const r = Number(x);
|
|
2939
|
+
return !isNaN(r) && r >= -90 && r <= 90;
|
|
2940
|
+
}
|
|
2941
|
+
/**
|
|
2942
|
+
* 检查是否为空
|
|
2943
|
+
* @param value - 需要检查的值
|
|
2944
|
+
* @returns boolean - 是否为空
|
|
2945
|
+
*/
|
|
2946
|
+
static isEmpty(x) {
|
|
2947
|
+
return x == null || x === "null" || x === "undefined" ? !0 : typeof x == "string" ? x.trim() === "" : Array.isArray(x) ? x.length === 0 : typeof x == "object" ? Object.keys(x).length === 0 : !1;
|
|
2948
|
+
}
|
|
2949
|
+
/**
|
|
2950
|
+
* 验证输入坐标串 (递归平铺校验)
|
|
2951
|
+
* 支持格式:"lng,lat" 或 "lng,lat;lng,lat" 或 "lng,lat;lng,lat|lng,lat"
|
|
2952
|
+
* @param latLngS - 坐标字符串
|
|
2953
|
+
* @returns boolean - 坐标格式是否正确
|
|
2954
|
+
*/
|
|
2955
|
+
static isInputCoordinates(x) {
|
|
2956
|
+
if (this.isEmpty(x)) return !1;
|
|
2957
|
+
try {
|
|
2958
|
+
const r = this.generateCoordinates(x);
|
|
2959
|
+
if (!r || r.length === 0) return !1;
|
|
2960
|
+
const b = (u) => typeof u[0] == "number" ? this.isLongitude(u[0]) && this.isLatitude(u[1]) : u.every((n) => b(n));
|
|
2961
|
+
return b(r);
|
|
2962
|
+
} catch {
|
|
2963
|
+
return !1;
|
|
2964
|
+
}
|
|
2965
|
+
}
|
|
2966
|
+
/**
|
|
2967
|
+
* 生成坐标数组 (支持多级分隔符)
|
|
2968
|
+
* @param latLngS - 坐标字符串
|
|
2969
|
+
* @returns any[] | null - 解析后的坐标数组
|
|
2970
|
+
*/
|
|
2971
|
+
static generateCoordinates(x) {
|
|
2972
|
+
if (typeof x != "string") return null;
|
|
2973
|
+
if (x.includes("|"))
|
|
2974
|
+
return x.split("|").map((r) => this.generateCoordinates(r));
|
|
2975
|
+
if (x.includes(";"))
|
|
2976
|
+
return x.split(";").map((r) => this.generateCoordinates(r));
|
|
2977
|
+
if (x.includes(",")) {
|
|
2978
|
+
const r = x.split(",").map((b) => Number(b.trim()));
|
|
2979
|
+
return r.length >= 2 ? r : null;
|
|
2980
|
+
}
|
|
2981
|
+
return null;
|
|
2982
|
+
}
|
|
2983
|
+
/**
|
|
2984
|
+
* 快速生成 Form 表单校验规则
|
|
2985
|
+
* @param type - 对应 messages 的 key
|
|
2986
|
+
* @param trigger - 触发方式 'blur' | 'change'
|
|
2987
|
+
* @returns any - Element UI 表单验证规则对象
|
|
2988
|
+
*/
|
|
2989
|
+
static getRule(x, r = "blur") {
|
|
2990
|
+
return {
|
|
2991
|
+
validator: (b, u, n) => {
|
|
2992
|
+
if (this.isEmpty(u)) return n();
|
|
2993
|
+
const a = `is${x.charAt(0).toUpperCase() + x.slice(1)}`, i = this[a];
|
|
2994
|
+
if (i && !i.call(this, u))
|
|
2995
|
+
return n(new Error(this.messages[x] || "输入格式有误"));
|
|
2996
|
+
n();
|
|
2997
|
+
},
|
|
2998
|
+
trigger: r
|
|
2999
|
+
};
|
|
3000
|
+
}
|
|
3001
|
+
/**
|
|
3002
|
+
* 带错误消息的验证
|
|
3003
|
+
* @param type - 验证类型
|
|
3004
|
+
* @param value - 验证值
|
|
3005
|
+
* @returns IVerifyResult - 验证结果
|
|
3006
|
+
*/
|
|
3007
|
+
static validate(x, r) {
|
|
3008
|
+
const b = `is${x.charAt(0).toUpperCase() + x.slice(1)}`, u = this[b];
|
|
3009
|
+
if (u) {
|
|
3010
|
+
const n = u.call(this, r);
|
|
3011
|
+
return {
|
|
3012
|
+
valid: n,
|
|
3013
|
+
message: n ? void 0 : this.messages[x]
|
|
3014
|
+
};
|
|
3015
|
+
}
|
|
3016
|
+
return {
|
|
3017
|
+
valid: !1,
|
|
3018
|
+
message: "未知的验证类型"
|
|
3019
|
+
};
|
|
3020
|
+
}
|
|
3021
|
+
}
|
|
377
3022
|
export {
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
3023
|
+
Be as VerifyUtils,
|
|
3024
|
+
Ce as arrayCustomSort,
|
|
3025
|
+
ze as arrayStringFormatNumber,
|
|
3026
|
+
Se as arraySum,
|
|
3027
|
+
$t as base64ToBlob,
|
|
3028
|
+
oe as base64ToFile,
|
|
3029
|
+
Ut as blobToFile,
|
|
3030
|
+
Xt as checkFileSize,
|
|
3031
|
+
Vt as checkFileType,
|
|
3032
|
+
fe as copyToClipboard,
|
|
3033
|
+
Dt as deepClone,
|
|
3034
|
+
ie as downloadBase64,
|
|
3035
|
+
mt as downloadBlob,
|
|
3036
|
+
Zt as downloadFile,
|
|
3037
|
+
he as downloadFileListAsZip,
|
|
3038
|
+
ae as downloadMultiple,
|
|
3039
|
+
le as fileChangedImageDPI,
|
|
3040
|
+
Jt as fileListToZip,
|
|
3041
|
+
se as fileToBase64,
|
|
3042
|
+
xe as filterEmptyValue,
|
|
3043
|
+
Ee as formatAmount,
|
|
3044
|
+
Qt as formatFileSize,
|
|
3045
|
+
Ae as formatPhone,
|
|
3046
|
+
pe as generateCsvFile,
|
|
3047
|
+
me as generateJsonFile,
|
|
3048
|
+
de as generateTxtFile,
|
|
3049
|
+
ke as generateUUID,
|
|
3050
|
+
ge as getFileInfo,
|
|
3051
|
+
_e as getFileNamePrefix,
|
|
3052
|
+
Pt as getFileNameSuffix,
|
|
3053
|
+
qt as getImageDimensions,
|
|
3054
|
+
ue as imageUrlToBase64,
|
|
3055
|
+
zt as isImage,
|
|
3056
|
+
Ie as jsonConvertGeneralList,
|
|
3057
|
+
Oe as jsonConvertTreeList,
|
|
3058
|
+
te as maskString,
|
|
3059
|
+
ve as numberFixed,
|
|
3060
|
+
Nt as objectToFormData,
|
|
3061
|
+
we as omitKeys,
|
|
3062
|
+
ye as parseUrlParams,
|
|
3063
|
+
ce as pasteFromClipboard,
|
|
3064
|
+
re as readCsvFile,
|
|
3065
|
+
Ct as readFile,
|
|
3066
|
+
ne as readJsonFile,
|
|
3067
|
+
ee as readTxtFile,
|
|
3068
|
+
be as validateFile
|
|
403
3069
|
};
|