@ai-matrx/vault 0.1.39 → 0.1.41
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/CHANGELOG.md +14 -0
- package/dist/identity.d.cts +2 -1
- package/dist/identity.d.ts +2 -1
- package/dist/index.d.cts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/io/onepux.worker.js +583 -377
- package/dist/io/onepux.worker.js.map +1 -1
- package/dist/io/proton-pass.worker.js +583 -377
- package/dist/io/proton-pass.worker.js.map +1 -1
- package/knob-declaration.json +11 -0
- package/package.json +3 -3
package/dist/io/onepux.worker.js
CHANGED
|
@@ -13,10 +13,10 @@ var __export = (target, all) => {
|
|
|
13
13
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
14
14
|
};
|
|
15
15
|
|
|
16
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
17
|
-
var MAX_32_BITS, MAX_16_BITS, MAX_8_BITS, COMPRESSION_METHOD_DEFLATE, COMPRESSION_METHOD_DEFLATE_64, COMPRESSION_METHOD_STORE, COMPRESSION_METHOD_AES, LOCAL_FILE_HEADER_SIGNATURE, SPLIT_ZIP_FILE_SIGNATURE, TEMPORARY_SPLIT_ZIP_FILE_SIGNATURE, DATA_DESCRIPTOR_RECORD_SIGNATURE, ARCHIVE_EXTRA_DATA_SIGNATURE, DIGITAL_SIGNATURE_RECORD_SIGNATURE, CENTRAL_FILE_HEADER_SIGNATURE, END_OF_CENTRAL_DIR_SIGNATURE, ZIP64_END_OF_CENTRAL_DIR_SIGNATURE, ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIGNATURE, CENTRAL_FILE_HEADER_LENGTH, END_OF_CENTRAL_DIR_LENGTH, ZIP64_END_OF_CENTRAL_DIR_LOCATOR_LENGTH, ZIP64_END_OF_CENTRAL_DIR_LENGTH, ZIP64_END_OF_CENTRAL_DIR_TOTAL_LENGTH, DATA_DESCRIPTOR_RECORD_LENGTH, DATA_DESCRIPTOR_RECORD_ZIP_64_LENGTH, DATA_DESCRIPTOR_RECORD_SIGNATURE_LENGTH, SPLIT_ZIP_FILE_SIGNATURE_LENGTH, EXTRAFIELD_TYPE_ZIP64, EXTRAFIELD_TYPE_AES, EXTRAFIELD_TYPE_NTFS, EXTRAFIELD_TYPE_NTFS_TAG1, EXTRAFIELD_TYPE_EXTENDED_TIMESTAMP, EXTRAFIELD_TYPE_UNICODE_PATH, EXTRAFIELD_TYPE_UNICODE_COMMENT, EXTRAFIELD_TYPE_USDZ, EXTRAFIELD_TYPE_INFOZIP, EXTRAFIELD_TYPE_UNIX, EXTRAFIELD_TYPE_UNIX_TYPE1, EXTRAFIELD_TYPE_PKWARE_UNIX, BITFLAG_ENCRYPTED, BITFLAG_LEVEL, BITFLAG_LEVEL_MAX_MASK, BITFLAG_LEVEL_FAST_MASK, BITFLAG_LEVEL_SUPER_FAST_MASK, BITFLAG_DATA_DESCRIPTOR, BITFLAG_COMPRESSED_PATCHED_DATA, BITFLAG_STRONG_ENCRYPTION, BITFLAG_LANG_ENCODING_FLAG, BITFLAG_MASKED_LOCAL_HEADERS, FILE_ATTR_MSDOS_DIR_MASK, FILE_ATTR_MSDOS_READONLY_MASK, FILE_ATTR_MSDOS_HIDDEN_MASK, FILE_ATTR_MSDOS_SYSTEM_MASK, FILE_ATTR_MSDOS_ARCHIVE_MASK, FILE_ATTR_UNIX_TYPE_MASK, FILE_ATTR_UNIX_TYPE_DIR, FILE_ATTR_UNIX_TYPE_SYMLINK, FILE_ATTR_UNIX_TYPE_FILE, FILE_ATTR_UNIX_EXECUTABLE_MASK, FILE_ATTR_UNIX_DEFAULT_MASK, FILE_ATTR_UNIX_SETUID_MASK, FILE_ATTR_UNIX_SETGID_MASK, FILE_ATTR_UNIX_STICKY_MASK, VERSION_STORE, VERSION_DEFLATE, VERSION_ZIP64, VERSION_AES, VERSION_MADE_BY_MSDOS, VERSION_MADE_BY_UNIX, DIRECTORY_SIGNATURE, HEADER_SIZE, HEADER_OFFSET_VERSION, HEADER_OFFSET_SIGNATURE, HEADER_OFFSET_COMPRESSED_SIZE, HEADER_OFFSET_UNCOMPRESSED_SIZE, HEADER_OFFSET_FILENAME_LENGTH, HEADER_OFFSET_EXTRAFIELD_LENGTH, LOCAL_HEADER_COMMON_OFFSET, MAX_DATE, MIN_DATE, UNDEFINED_VALUE, INFINITY_VALUE, UNDEFINED_TYPE, FUNCTION_TYPE, OBJECT_TYPE, STRING_TYPE, NUMBER_TYPE, BOOLEAN_TYPE, EMPTY_UINT8_ARRAY, SYMBOL_ASYNC_DISPOSE;
|
|
16
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/constants.js
|
|
17
|
+
var MAX_32_BITS, MAX_16_BITS, MAX_8_BITS, COMPRESSION_METHOD_DEFLATE, COMPRESSION_METHOD_DEFLATE_64, COMPRESSION_METHOD_STORE, COMPRESSION_METHOD_AES, LOCAL_FILE_HEADER_SIGNATURE, SPLIT_ZIP_FILE_SIGNATURE, TEMPORARY_SPLIT_ZIP_FILE_SIGNATURE, DATA_DESCRIPTOR_RECORD_SIGNATURE, ARCHIVE_EXTRA_DATA_SIGNATURE, DIGITAL_SIGNATURE_RECORD_SIGNATURE, CENTRAL_FILE_HEADER_SIGNATURE, END_OF_CENTRAL_DIR_SIGNATURE, ZIP64_END_OF_CENTRAL_DIR_SIGNATURE, ZIP64_END_OF_CENTRAL_DIR_LOCATOR_SIGNATURE, CENTRAL_FILE_HEADER_LENGTH, END_OF_CENTRAL_DIR_LENGTH, ZIP64_END_OF_CENTRAL_DIR_LOCATOR_LENGTH, ZIP64_END_OF_CENTRAL_DIR_LENGTH, ZIP64_END_OF_CENTRAL_DIR_TOTAL_LENGTH, DATA_DESCRIPTOR_RECORD_LENGTH, DATA_DESCRIPTOR_RECORD_ZIP_64_LENGTH, DATA_DESCRIPTOR_RECORD_SIGNATURE_LENGTH, SPLIT_ZIP_FILE_SIGNATURE_LENGTH, EXTRAFIELD_TYPE_ZIP64, EXTRAFIELD_TYPE_AES, EXTRAFIELD_TYPE_NTFS, EXTRAFIELD_TYPE_NTFS_TAG1, EXTRAFIELD_TYPE_EXTENDED_TIMESTAMP, EXTRAFIELD_TYPE_UNICODE_PATH, EXTRAFIELD_TYPE_UNICODE_COMMENT, EXTRAFIELD_TYPE_USDZ, EXTRAFIELD_TYPE_INFOZIP, EXTRAFIELD_TYPE_UNIX, EXTRAFIELD_TYPE_UNIX_TYPE1, EXTRAFIELD_TYPE_PKWARE_UNIX, BITFLAG_ENCRYPTED, BITFLAG_LEVEL, BITFLAG_LEVEL_MAX_MASK, BITFLAG_LEVEL_FAST_MASK, BITFLAG_LEVEL_SUPER_FAST_MASK, BITFLAG_DATA_DESCRIPTOR, BITFLAG_COMPRESSED_PATCHED_DATA, BITFLAG_STRONG_ENCRYPTION, BITFLAG_LANG_ENCODING_FLAG, BITFLAG_MASKED_LOCAL_HEADERS, FILE_ATTR_MSDOS_DIR_MASK, FILE_ATTR_MSDOS_READONLY_MASK, FILE_ATTR_MSDOS_HIDDEN_MASK, FILE_ATTR_MSDOS_SYSTEM_MASK, FILE_ATTR_MSDOS_ARCHIVE_MASK, FILE_ATTR_UNIX_TYPE_MASK, FILE_ATTR_UNIX_TYPE_DIR, FILE_ATTR_UNIX_TYPE_SYMLINK, FILE_ATTR_UNIX_TYPE_FILE, FILE_ATTR_UNIX_EXECUTABLE_MASK, FILE_ATTR_UNIX_DEFAULT_MASK, FILE_ATTR_UNIX_SETUID_MASK, FILE_ATTR_UNIX_SETGID_MASK, FILE_ATTR_UNIX_STICKY_MASK, VERSION_STORE, VERSION_DEFLATE, VERSION_ZIP64, VERSION_AES, VERSION_MADE_BY_MSDOS, VERSION_MADE_BY_UNIX, DIRECTORY_SIGNATURE, HEADER_SIZE, HEADER_OFFSET_VERSION, HEADER_OFFSET_SIGNATURE, HEADER_OFFSET_COMPRESSED_SIZE, HEADER_OFFSET_UNCOMPRESSED_SIZE, HEADER_OFFSET_FILENAME_LENGTH, HEADER_OFFSET_EXTRAFIELD_LENGTH, LOCAL_HEADER_COMMON_OFFSET, MAX_DATE, MIN_DATE, UNDEFINED_VALUE, INFINITY_VALUE, ERR_LOCAL_FILE_HEADER_NOT_FOUND, ERR_OVERLAPPING_ENTRY, ERR_EXTRAFIELD_ZIP64_NOT_FOUND, UNDEFINED_TYPE, FUNCTION_TYPE, OBJECT_TYPE, STRING_TYPE, NUMBER_TYPE, BOOLEAN_TYPE, EMPTY_UINT8_ARRAY, SYMBOL_ASYNC_DISPOSE;
|
|
18
18
|
var init_constants = __esm({
|
|
19
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
19
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/constants.js"() {
|
|
20
20
|
"use strict";
|
|
21
21
|
MAX_32_BITS = 4294967295;
|
|
22
22
|
MAX_16_BITS = 65535;
|
|
@@ -99,6 +99,9 @@ var init_constants = __esm({
|
|
|
99
99
|
MIN_DATE = new Date(1980, 0, 1);
|
|
100
100
|
UNDEFINED_VALUE = void 0;
|
|
101
101
|
INFINITY_VALUE = Infinity;
|
|
102
|
+
ERR_LOCAL_FILE_HEADER_NOT_FOUND = "Local file header not found";
|
|
103
|
+
ERR_OVERLAPPING_ENTRY = "Overlapping entry found";
|
|
104
|
+
ERR_EXTRAFIELD_ZIP64_NOT_FOUND = "Zip64 extra field not found";
|
|
102
105
|
UNDEFINED_TYPE = "undefined";
|
|
103
106
|
FUNCTION_TYPE = "function";
|
|
104
107
|
OBJECT_TYPE = "object";
|
|
@@ -110,13 +113,19 @@ var init_constants = __esm({
|
|
|
110
113
|
}
|
|
111
114
|
});
|
|
112
115
|
|
|
113
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
116
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/options.js
|
|
114
117
|
function checkFunctionOption(value) {
|
|
115
118
|
if (value && typeof value != FUNCTION_TYPE) {
|
|
116
119
|
throw new Error(ERR_INVALID_FUNCTION_OPTION);
|
|
117
120
|
}
|
|
118
121
|
return value;
|
|
119
122
|
}
|
|
123
|
+
function checkReaderOptionsObject(readerOptions) {
|
|
124
|
+
if (readerOptions && (typeof readerOptions != OBJECT_TYPE || Array.isArray(readerOptions))) {
|
|
125
|
+
throw new Error(ERR_INVALID_READER_OPTIONS);
|
|
126
|
+
}
|
|
127
|
+
return readerOptions;
|
|
128
|
+
}
|
|
120
129
|
function checkSignalOption(signal) {
|
|
121
130
|
if (signal && (typeof signal.addEventListener != FUNCTION_TYPE || typeof signal.aborted != BOOLEAN_TYPE)) {
|
|
122
131
|
throw new Error(ERR_INVALID_SIGNAL);
|
|
@@ -152,9 +161,9 @@ function checkIntegerOption(value, maxValue, errorMessage) {
|
|
|
152
161
|
function toNumber(value) {
|
|
153
162
|
return typeof value == STRING_TYPE && value.trim() ? Number(value) : value;
|
|
154
163
|
}
|
|
155
|
-
var OPTION_FILENAME_ENCODING, OPTION_COMMENT_ENCODING, OPTION_DECODE_TEXT, OPTION_EXTRACT_PREPENDED_DATA, OPTION_EXTRACT_APPENDED_DATA, OPTION_PASSWORD, OPTION_RAW_PASSWORD, OPTION_PASS_THROUGH, OPTION_SIGNAL, OPTION_CHECK_PASSWORD_ONLY, OPTION_CHECK_OVERLAPPING_ENTRY_ONLY, OPTION_CHECK_OVERLAPPING_ENTRY, OPTION_CHECK_AMBIGUITY, OPTION_CHECK_LOCAL_DIRECTORY, OPTION_CHECK_LOCAL_FILENAME, OPTION_CHECK_SIGNATURE, OPTION_CHECK_CRC32, OPTION_CHECK_AUTHENTICATION_CODE, OPTION_USE_WEB_WORKERS, OPTION_USE_COMPRESSION_STREAM,
|
|
164
|
+
var OPTION_FILENAME_ENCODING, OPTION_COMMENT_ENCODING, OPTION_DECODE_TEXT, OPTION_EXTRACT_PREPENDED_DATA, OPTION_EXTRACT_APPENDED_DATA, OPTION_PASSWORD, OPTION_RAW_PASSWORD, OPTION_PASS_THROUGH, OPTION_SIGNAL, OPTION_CHECK_PASSWORD_ONLY, OPTION_CHECK_OVERLAPPING_ENTRY_ONLY, OPTION_CHECK_OVERLAPPING_ENTRY, OPTION_CHECK_AMBIGUITY, OPTION_CHECK_LOCAL_DIRECTORY, OPTION_CHECK_LOCAL_FILENAME, OPTION_CHECK_SIGNATURE, OPTION_CHECK_CRC32, OPTION_CHECK_AUTHENTICATION_CODE, OPTION_USE_WEB_WORKERS, OPTION_USE_COMPRESSION_STREAM, OPTION_PREVENT_CLOSE, OPTION_ENCRYPTION_STRENGTH, OPTION_EXTENDED_TIMESTAMP, OPTION_NTFS_TIMESTAMP, OPTION_KEEP_ORDER, OPTION_LEVEL, OPTION_BUFFERED_WRITE, OPTION_CREATE_TEMP_STREAM, OPTION_DATA_DESCRIPTOR_SIGNATURE, OPTION_USE_UNICODE_FILE_NAMES, OPTION_DATA_DESCRIPTOR, OPTION_SUPPORT_ZIP64_SPLIT_FILE, OPTION_ENCODE_TEXT, OPTION_OFFSET, OPTION_USDZ, OPTION_UNIX_EXTRA_FIELD_TYPE, OPTION_LOCAL_EXTRA_FIELD, OPTION_CENTRAL_EXTRA_FIELD, OPTION_STRICTNESS, OPTION_FILENAME_VALIDATION, OPTION_NORMALIZE_FILENAME, OPTION_MAX_APPENDED_DATA_SIZE, OPTION_DECRYPT_CENTRAL_DIRECTORY, OPTION_SIGN_CENTRAL_DIRECTORY, OPTION_ENTRY, TEXT_TYPE_FILENAME, TEXT_TYPE_COMMENT, STRICTNESS_STRICT, STRICTNESS_BALANCED, STRICTNESS_TOLERANT, PASS_THROUGH_COMPRESSED, ERR_INVALID_FUNCTION_OPTION, ERR_INVALID_SIGNAL, ERR_INVALID_PASSWORD_TYPE, ERR_INVALID_PASS_THROUGH_VALUE, ERR_INVALID_READER_OPTIONS, ERR_ABORTED, ABORT_ERROR_NAME;
|
|
156
165
|
var init_options = __esm({
|
|
157
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
166
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/options.js"() {
|
|
158
167
|
"use strict";
|
|
159
168
|
init_constants();
|
|
160
169
|
OPTION_FILENAME_ENCODING = "filenameEncoding";
|
|
@@ -177,7 +186,6 @@ var init_options = __esm({
|
|
|
177
186
|
OPTION_CHECK_AUTHENTICATION_CODE = "checkAuthenticationCode";
|
|
178
187
|
OPTION_USE_WEB_WORKERS = "useWebWorkers";
|
|
179
188
|
OPTION_USE_COMPRESSION_STREAM = "useCompressionStream";
|
|
180
|
-
OPTION_TRANSFER_STREAMS = "transferStreams";
|
|
181
189
|
OPTION_PREVENT_CLOSE = "preventClose";
|
|
182
190
|
OPTION_ENCRYPTION_STRENGTH = "encryptionStrength";
|
|
183
191
|
OPTION_EXTENDED_TIMESTAMP = "extendedTimestamp";
|
|
@@ -213,12 +221,13 @@ var init_options = __esm({
|
|
|
213
221
|
ERR_INVALID_SIGNAL = "Invalid signal (must be an AbortSignal instance)";
|
|
214
222
|
ERR_INVALID_PASSWORD_TYPE = "Invalid password (password must be a string, rawPassword must be a Uint8Array)";
|
|
215
223
|
ERR_INVALID_PASS_THROUGH_VALUE = "Invalid passThrough option (must be a boolean or 'compressed')";
|
|
224
|
+
ERR_INVALID_READER_OPTIONS = "Invalid readerOptions (must be an object)";
|
|
216
225
|
ERR_ABORTED = "The operation was aborted";
|
|
217
226
|
ABORT_ERROR_NAME = "AbortError";
|
|
218
227
|
}
|
|
219
228
|
});
|
|
220
229
|
|
|
221
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
230
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/configuration.js
|
|
222
231
|
function getConfiguration() {
|
|
223
232
|
return config2;
|
|
224
233
|
}
|
|
@@ -280,11 +289,11 @@ function setDefaultConfiguration(configuration) {
|
|
|
280
289
|
}
|
|
281
290
|
var DEFAULT_CHUNK_SIZE, MINIMUM_CHUNK_SIZE, MINIMUM_PROPERTY_VALUE, ERR_INVALID_MAX_WORKERS, ERR_INVALID_BASE_URI, ERR_INVALID_URI, maxWorkers, DEFAULT_CONFIGURATION, PROPERTY_NAME_MAX_WORKERS, PROPERTY_NAME_BASE_URI, URI_PROPERTY_NAMES, BOOLEAN_PROPERTY_NAMES, NUMBER_PROPERTY_NAMES, FUNCTION_PROPERTY_NAMES, CONFIGURABLE_PROPERTY_NAMES, config2;
|
|
282
291
|
var init_configuration = __esm({
|
|
283
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
292
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/configuration.js"() {
|
|
284
293
|
"use strict";
|
|
285
294
|
init_constants();
|
|
286
295
|
init_options();
|
|
287
|
-
DEFAULT_CHUNK_SIZE =
|
|
296
|
+
DEFAULT_CHUNK_SIZE = 256 * 1024;
|
|
288
297
|
MINIMUM_CHUNK_SIZE = 64;
|
|
289
298
|
MINIMUM_PROPERTY_VALUE = 1;
|
|
290
299
|
ERR_INVALID_MAX_WORKERS = "Invalid maxWorkers (must be an integer greater than 0)";
|
|
@@ -307,7 +316,6 @@ var init_configuration = __esm({
|
|
|
307
316
|
workerStartupTimeout: 5e3,
|
|
308
317
|
useWebWorkers: true,
|
|
309
318
|
useCompressionStream: true,
|
|
310
|
-
transferStreams: true,
|
|
311
319
|
CompressionStream: typeof CompressionStream != UNDEFINED_TYPE && CompressionStream,
|
|
312
320
|
DecompressionStream: typeof DecompressionStream != UNDEFINED_TYPE && DecompressionStream
|
|
313
321
|
};
|
|
@@ -319,8 +327,7 @@ var init_configuration = __esm({
|
|
|
319
327
|
];
|
|
320
328
|
BOOLEAN_PROPERTY_NAMES = [
|
|
321
329
|
"useCompressionStream",
|
|
322
|
-
"useWebWorkers"
|
|
323
|
-
"transferStreams"
|
|
330
|
+
"useWebWorkers"
|
|
324
331
|
];
|
|
325
332
|
NUMBER_PROPERTY_NAMES = [
|
|
326
333
|
"chunkSize",
|
|
@@ -347,7 +354,7 @@ var init_configuration = __esm({
|
|
|
347
354
|
}
|
|
348
355
|
});
|
|
349
356
|
|
|
350
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
357
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/array.js
|
|
351
358
|
function concat(first, second) {
|
|
352
359
|
const result = new Uint8Array(first.length + second.length);
|
|
353
360
|
result.set(first);
|
|
@@ -361,25 +368,25 @@ function getDataView(array) {
|
|
|
361
368
|
return new DataView(array.buffer, array.byteOffset, array.byteLength);
|
|
362
369
|
}
|
|
363
370
|
var init_array = __esm({
|
|
364
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
371
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/array.js"() {
|
|
365
372
|
"use strict";
|
|
366
373
|
}
|
|
367
374
|
});
|
|
368
375
|
|
|
369
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
376
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/error.js
|
|
370
377
|
function isErrorObject(error) {
|
|
371
378
|
return Boolean(error) && typeof error == "object";
|
|
372
379
|
}
|
|
373
380
|
var init_error = __esm({
|
|
374
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
381
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/error.js"() {
|
|
375
382
|
"use strict";
|
|
376
383
|
}
|
|
377
384
|
});
|
|
378
385
|
|
|
379
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
386
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/codecs/crc32.js
|
|
380
387
|
var T, T0, T1, T2, T3, T4, T5, T6, T7, Crc32;
|
|
381
388
|
var init_crc32 = __esm({
|
|
382
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
389
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/codecs/crc32.js"() {
|
|
383
390
|
"use strict";
|
|
384
391
|
T = [[], [], [], [], [], [], [], []];
|
|
385
392
|
for (let n3 = 0; n3 < 256; n3++) {
|
|
@@ -425,10 +432,10 @@ var init_crc32 = __esm({
|
|
|
425
432
|
}
|
|
426
433
|
});
|
|
427
434
|
|
|
428
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
435
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/crc32-stream.js
|
|
429
436
|
var Crc32Stream;
|
|
430
437
|
var init_crc32_stream = __esm({
|
|
431
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
438
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/crc32-stream.js"() {
|
|
432
439
|
"use strict";
|
|
433
440
|
init_crc32();
|
|
434
441
|
Crc32Stream = class extends TransformStream {
|
|
@@ -453,7 +460,7 @@ var init_crc32_stream = __esm({
|
|
|
453
460
|
}
|
|
454
461
|
});
|
|
455
462
|
|
|
456
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
463
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/encode-text.js
|
|
457
464
|
function encodeText(value) {
|
|
458
465
|
if (typeof TextEncoder == UNDEFINED_TYPE) {
|
|
459
466
|
value = unescape(encodeURIComponent(value));
|
|
@@ -467,13 +474,13 @@ function encodeText(value) {
|
|
|
467
474
|
}
|
|
468
475
|
}
|
|
469
476
|
var init_encode_text = __esm({
|
|
470
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
477
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/encode-text.js"() {
|
|
471
478
|
"use strict";
|
|
472
479
|
init_constants();
|
|
473
480
|
}
|
|
474
481
|
});
|
|
475
482
|
|
|
476
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
483
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/codecs/aes-hmac-sha1.js
|
|
477
484
|
function createEngine(key, authenticationKey) {
|
|
478
485
|
initTables();
|
|
479
486
|
const roundKeys = new Int32Array(ROUND_KEYS_LENGTH);
|
|
@@ -897,7 +904,7 @@ function multiplyByTwo(value) {
|
|
|
897
904
|
}
|
|
898
905
|
var BLOCK_LENGTH, ROUND_KEYS_LENGTH, SHA1_BLOCK_LENGTH, SHA1_DIGEST_LENGTH, SHA1_SCHEDULE_LENGTH, SHA1_LENGTH_OFFSET, SHA1_PADDING, SHA1_ZERO, SHA1_INITIAL_STATE, HMAC_INNER_PADDING, HMAC_OUTER_PADDING, S_BOX, T02, T12, T22, T32, tablesInitialized;
|
|
899
906
|
var init_aes_hmac_sha1 = __esm({
|
|
900
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
907
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/codecs/aes-hmac-sha1.js"() {
|
|
901
908
|
"use strict";
|
|
902
909
|
BLOCK_LENGTH = 16;
|
|
903
910
|
ROUND_KEYS_LENGTH = 60;
|
|
@@ -919,7 +926,7 @@ var init_aes_hmac_sha1 = __esm({
|
|
|
919
926
|
}
|
|
920
927
|
});
|
|
921
928
|
|
|
922
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
929
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/common-crypto.js
|
|
923
930
|
function getRandomValues(array) {
|
|
924
931
|
if (GET_RANDOM_VALUES_SUPPORTED) {
|
|
925
932
|
return crypto.getRandomValues(array);
|
|
@@ -929,7 +936,7 @@ function getRandomValues(array) {
|
|
|
929
936
|
}
|
|
930
937
|
var GET_RANDOM_VALUES_SUPPORTED, ERR_INVALID_PASSWORD, ERR_INVALID_AUTHENTICATION_CODE, ERR_ABORT_CHECK_PASSWORD, ERR_UNSUPPORTED_CRYPTO_API;
|
|
931
938
|
var init_common_crypto = __esm({
|
|
932
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
939
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/common-crypto.js"() {
|
|
933
940
|
"use strict";
|
|
934
941
|
init_constants();
|
|
935
942
|
GET_RANDOM_VALUES_SUPPORTED = typeof crypto != UNDEFINED_TYPE && typeof crypto.getRandomValues == FUNCTION_TYPE;
|
|
@@ -940,7 +947,7 @@ var init_common_crypto = __esm({
|
|
|
940
947
|
}
|
|
941
948
|
});
|
|
942
949
|
|
|
943
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
950
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/aes-crypto-stream.js
|
|
944
951
|
function setAESEngine(createEngineFunction) {
|
|
945
952
|
createEngine2 = createEngineFunction || createEngine;
|
|
946
953
|
}
|
|
@@ -1062,7 +1069,7 @@ function subarray(array, begin, end) {
|
|
|
1062
1069
|
}
|
|
1063
1070
|
var BLOCK_LENGTH2, RAW_FORMAT, PBKDF2_ALGORITHM, HASH_ALGORITHM, HASH_FUNCTION, PBKDF2_ITERATIONS, BASE_KEY_ALGORITHM, DERIVED_BITS_ALGORITHM, DERIVED_BITS_USAGE, SALT_LENGTH, KEY_LENGTH, AUTHENTICATION_CODE_LENGTH, PASSWORD_VERIFICATION_LENGTH, CRYPTO_API_SUPPORTED, subtle, SUBTLE_API_SUPPORTED, DERIVE_BITS_SUPPORTED, createEngine2, AESDecryptionStream, AESEncryptionStream;
|
|
1064
1071
|
var init_aes_crypto_stream = __esm({
|
|
1065
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
1072
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/aes-crypto-stream.js"() {
|
|
1066
1073
|
"use strict";
|
|
1067
1074
|
init_constants();
|
|
1068
1075
|
init_encode_text();
|
|
@@ -1201,7 +1208,7 @@ var init_aes_crypto_stream = __esm({
|
|
|
1201
1208
|
}
|
|
1202
1209
|
});
|
|
1203
1210
|
|
|
1204
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
1211
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/zip-crypto-stream.js
|
|
1205
1212
|
function initZipCrypto(zipCrypto, password, rawPassword, passwordVerification) {
|
|
1206
1213
|
Object.assign(zipCrypto, {
|
|
1207
1214
|
password,
|
|
@@ -1264,7 +1271,7 @@ function getInt32(number) {
|
|
|
1264
1271
|
}
|
|
1265
1272
|
var HEADER_LENGTH, ZipCryptoDecryptionStream, ZipCryptoEncryptionStream;
|
|
1266
1273
|
var init_zip_crypto_stream = __esm({
|
|
1267
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
1274
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/zip-crypto-stream.js"() {
|
|
1268
1275
|
"use strict";
|
|
1269
1276
|
init_crc32();
|
|
1270
1277
|
init_common_crypto();
|
|
@@ -1324,7 +1331,7 @@ var init_zip_crypto_stream = __esm({
|
|
|
1324
1331
|
}
|
|
1325
1332
|
});
|
|
1326
1333
|
|
|
1327
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
1334
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/compatible-streams.js
|
|
1328
1335
|
function toCompatibleReadable(readable) {
|
|
1329
1336
|
if (readable instanceof ReadableStream) {
|
|
1330
1337
|
return readable;
|
|
@@ -1384,13 +1391,13 @@ function toCompatibleWritable(writable) {
|
|
|
1384
1391
|
});
|
|
1385
1392
|
}
|
|
1386
1393
|
var init_compatible_streams = __esm({
|
|
1387
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
1394
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/compatible-streams.js"() {
|
|
1388
1395
|
"use strict";
|
|
1389
1396
|
init_constants();
|
|
1390
1397
|
}
|
|
1391
1398
|
});
|
|
1392
1399
|
|
|
1393
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
1400
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/codec-registry.js
|
|
1394
1401
|
function getRegisteredCodec(compressionMethod) {
|
|
1395
1402
|
return registeredCodecs.get(compressionMethod);
|
|
1396
1403
|
}
|
|
@@ -1415,7 +1422,7 @@ async function ensureCodecStreams(format, codecURI) {
|
|
|
1415
1422
|
}
|
|
1416
1423
|
var ERR_INVALID_CODEC_MODULE, ERR_UNSUPPORTED_COMPRESSION, registeredCodecs, codecStreams;
|
|
1417
1424
|
var init_codec_registry = __esm({
|
|
1418
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
1425
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/codec-registry.js"() {
|
|
1419
1426
|
"use strict";
|
|
1420
1427
|
init_constants();
|
|
1421
1428
|
ERR_INVALID_CODEC_MODULE = "Invalid codec module";
|
|
@@ -1425,7 +1432,7 @@ var init_codec_registry = __esm({
|
|
|
1425
1432
|
}
|
|
1426
1433
|
});
|
|
1427
1434
|
|
|
1428
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
1435
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/zip-entry-stream.js
|
|
1429
1436
|
function pipeThroughGzipDecompressionStream(readable, gzipStream, outputSize, crc32, sourceErrors) {
|
|
1430
1437
|
const writer = gzipStream.writable.getWriter();
|
|
1431
1438
|
const reader = gzipStream.readable.getReader();
|
|
@@ -1686,7 +1693,7 @@ function mapInflateStreamError(readable, sourceErrors) {
|
|
|
1686
1693
|
}
|
|
1687
1694
|
var ERR_INVALID_UNCOMPRESSED_SIZE, ERR_INVALID_COMPRESSED_DATA, ERR_CODEC_OUT_OF_MEMORY, ERR_INVALID_CRC32, Z_MEM_ERROR_CODE, FORMAT_DEFLATE_RAW, FORMAT_DEFLATE64_RAW, FORMAT_GZIP, GZIP_HEADER_LENGTH, GZIP_TRAILER_LENGTH, GZIP_HEADER_BYTES, DeflateStream, GzipToRawDeflateStream, InflateStream, formatSupportByStream;
|
|
1688
1695
|
var init_zip_entry_stream = __esm({
|
|
1689
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
1696
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/zip-entry-stream.js"() {
|
|
1690
1697
|
"use strict";
|
|
1691
1698
|
init_crc32();
|
|
1692
1699
|
init_crc32_stream();
|
|
@@ -1872,14 +1879,14 @@ var init_zip_entry_stream = __esm({
|
|
|
1872
1879
|
}
|
|
1873
1880
|
});
|
|
1874
1881
|
|
|
1875
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
1882
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/codec-stream.js
|
|
1876
1883
|
var DEFAULT_CHUNK_SIZE2, MESSAGE_EVENT_TYPE, MESSAGE_START, MESSAGE_PULL, MESSAGE_DATA, MESSAGE_ACK_DATA, MESSAGE_CLOSE, CODEC_DEFLATE, CODEC_INFLATE, CodecStream, ChunkStream;
|
|
1877
1884
|
var init_codec_stream = __esm({
|
|
1878
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
1885
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/codec-stream.js"() {
|
|
1879
1886
|
"use strict";
|
|
1880
1887
|
init_constants();
|
|
1881
1888
|
init_zip_entry_stream();
|
|
1882
|
-
DEFAULT_CHUNK_SIZE2 =
|
|
1889
|
+
DEFAULT_CHUNK_SIZE2 = 256 * 1024;
|
|
1883
1890
|
MESSAGE_EVENT_TYPE = "message";
|
|
1884
1891
|
MESSAGE_START = "start";
|
|
1885
1892
|
MESSAGE_PULL = "pull";
|
|
@@ -2001,7 +2008,7 @@ var init_codec_stream = __esm({
|
|
|
2001
2008
|
}
|
|
2002
2009
|
});
|
|
2003
2010
|
|
|
2004
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
2011
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/codec-worker.js
|
|
2005
2012
|
function configureWorker({ initModule: initModuleFunction }) {
|
|
2006
2013
|
initModule = initModuleFunction;
|
|
2007
2014
|
}
|
|
@@ -2105,7 +2112,7 @@ async function runWorker({ options, readable, writable, onTaskFinished, workerOp
|
|
|
2105
2112
|
}
|
|
2106
2113
|
var ERR_WORKER_STARTUP_TIMEOUT, webWorkerSupported, createWorkerFailed, webWorkerBackend, initModule, CodecWorker, ProgressWatcherStream;
|
|
2107
2114
|
var init_codec_worker = __esm({
|
|
2108
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
2115
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/codec-worker.js"() {
|
|
2109
2116
|
"use strict";
|
|
2110
2117
|
init_constants();
|
|
2111
2118
|
init_configuration();
|
|
@@ -2116,7 +2123,7 @@ var init_codec_worker = __esm({
|
|
|
2116
2123
|
};
|
|
2117
2124
|
CodecWorker = class {
|
|
2118
2125
|
constructor(workerData, { readable, writable }, workerOptions, onTaskFinished) {
|
|
2119
|
-
const { options, config: config3, streamOptions, useWebWorkers,
|
|
2126
|
+
const { options, config: config3, streamOptions, useWebWorkers, workerURI } = workerOptions;
|
|
2120
2127
|
let { createWorker } = workerOptions;
|
|
2121
2128
|
const { signal } = streamOptions;
|
|
2122
2129
|
if (createWorkerFailed) {
|
|
@@ -2131,7 +2138,6 @@ var init_codec_worker = __esm({
|
|
|
2131
2138
|
workerOptions,
|
|
2132
2139
|
workerURI,
|
|
2133
2140
|
createWorker,
|
|
2134
|
-
transferStreams,
|
|
2135
2141
|
terminate() {
|
|
2136
2142
|
return new Promise((resolve) => {
|
|
2137
2143
|
const { worker, busy } = workerData;
|
|
@@ -2199,10 +2205,10 @@ var init_codec_worker = __esm({
|
|
|
2199
2205
|
}
|
|
2200
2206
|
});
|
|
2201
2207
|
|
|
2202
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
2208
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/codec-pool.js
|
|
2203
2209
|
async function runWorker2(stream, workerOptions) {
|
|
2204
2210
|
const { options, config: config3 } = workerOptions;
|
|
2205
|
-
const {
|
|
2211
|
+
const { useWebWorkers, useCompressionStream, compressed, checkCrc32, computeCrc32, encrypted, format, codecURI } = options;
|
|
2206
2212
|
const { workerURI, createWorker, maxWorkers: maxWorkers2 } = config3;
|
|
2207
2213
|
if (format) {
|
|
2208
2214
|
if (codecURI) {
|
|
@@ -2210,7 +2216,6 @@ async function runWorker2(stream, workerOptions) {
|
|
|
2210
2216
|
}
|
|
2211
2217
|
await ensureCodecStreams(format, options.codecURI);
|
|
2212
2218
|
}
|
|
2213
|
-
workerOptions.transferStreams = !format && (transferStreams || transferStreams === UNDEFINED_VALUE && config3.transferStreams);
|
|
2214
2219
|
const streamCopy = !compressed && !checkCrc32 && !computeCrc32 && !encrypted;
|
|
2215
2220
|
const workerSupported = format === UNDEFINED_VALUE || Boolean(options.codecURI);
|
|
2216
2221
|
workerOptions.useWebWorkers = !streamCopy && workerSupported && (useWebWorkers || useWebWorkers === UNDEFINED_VALUE && config3.useWebWorkers);
|
|
@@ -2318,7 +2323,7 @@ function clearTerminateTimeout(workerData) {
|
|
|
2318
2323
|
}
|
|
2319
2324
|
var pool, pendingRequests, starvationTimeout, starvationDelay, indexWorker;
|
|
2320
2325
|
var init_codec_pool = __esm({
|
|
2321
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
2326
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/codec-pool.js"() {
|
|
2322
2327
|
"use strict";
|
|
2323
2328
|
init_constants();
|
|
2324
2329
|
init_codec_stream();
|
|
@@ -2330,7 +2335,7 @@ var init_codec_pool = __esm({
|
|
|
2330
2335
|
}
|
|
2331
2336
|
});
|
|
2332
2337
|
|
|
2333
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
2338
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/decode-cp437.js
|
|
2334
2339
|
function decodeCP437(stringValue) {
|
|
2335
2340
|
let result = "";
|
|
2336
2341
|
for (let indexCharacter = 0; indexCharacter < stringValue.length; indexCharacter++) {
|
|
@@ -2340,13 +2345,13 @@ function decodeCP437(stringValue) {
|
|
|
2340
2345
|
}
|
|
2341
2346
|
var CP437;
|
|
2342
2347
|
var init_decode_cp437 = __esm({
|
|
2343
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
2348
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/decode-cp437.js"() {
|
|
2344
2349
|
"use strict";
|
|
2345
2350
|
CP437 = "\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\xB6\xA7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0".split("");
|
|
2346
2351
|
}
|
|
2347
2352
|
});
|
|
2348
2353
|
|
|
2349
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
2354
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/decode-text.js
|
|
2350
2355
|
function decodeText(value, encoding) {
|
|
2351
2356
|
return decode(value, encoding, true);
|
|
2352
2357
|
}
|
|
@@ -2370,13 +2375,13 @@ function decode(value, encoding, ignoreBOM) {
|
|
|
2370
2375
|
}
|
|
2371
2376
|
}
|
|
2372
2377
|
var init_decode_text = __esm({
|
|
2373
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
2378
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/decode-text.js"() {
|
|
2374
2379
|
"use strict";
|
|
2375
2380
|
init_decode_cp437();
|
|
2376
2381
|
}
|
|
2377
2382
|
});
|
|
2378
2383
|
|
|
2379
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
2384
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/io.js
|
|
2380
2385
|
function probeBlobSliceReliability() {
|
|
2381
2386
|
blobSliceProbe = (async () => {
|
|
2382
2387
|
try {
|
|
@@ -2427,7 +2432,7 @@ function createReadable(reader, options) {
|
|
|
2427
2432
|
}
|
|
2428
2433
|
var ERR_ITERATOR_COMPLETED_TOO_SOON, ERR_WRITER_SIZE_NOT_WRITABLE, DEFAULT_BUFFER_SIZE, DEFAULT_MAXIMUM_RANGE_SIZE, END_OF_CENTRAL_DIR_SEARCH_LENGTH, PROPERTY_NAME_WRITABLE, DISK_BOUNDARY, Stream, Reader, blobSliceReliable, blobSliceProbe, BlobReader, SplitDataReader, SplitDataWriter, GenericReader, GenericWriter;
|
|
2429
2434
|
var init_io = __esm({
|
|
2430
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
2435
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/io.js"() {
|
|
2431
2436
|
"use strict";
|
|
2432
2437
|
init_constants();
|
|
2433
2438
|
init_configuration();
|
|
@@ -2687,7 +2692,7 @@ var init_io = __esm({
|
|
|
2687
2692
|
}
|
|
2688
2693
|
});
|
|
2689
2694
|
|
|
2690
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
2695
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/warnings.js
|
|
2691
2696
|
function addWarning(warnings, reason, filename) {
|
|
2692
2697
|
if (!warnings.some((warning) => warning.reason == reason)) {
|
|
2693
2698
|
const warning = { reason };
|
|
@@ -2698,13 +2703,13 @@ function addWarning(warnings, reason, filename) {
|
|
|
2698
2703
|
}
|
|
2699
2704
|
}
|
|
2700
2705
|
var init_warnings = __esm({
|
|
2701
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
2706
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/warnings.js"() {
|
|
2702
2707
|
"use strict";
|
|
2703
2708
|
init_constants();
|
|
2704
2709
|
}
|
|
2705
2710
|
});
|
|
2706
2711
|
|
|
2707
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
2712
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/zip-entry.js
|
|
2708
2713
|
function getUserExtraField(extraField) {
|
|
2709
2714
|
if (extraField) {
|
|
2710
2715
|
const userExtraField = /* @__PURE__ */ new Map();
|
|
@@ -2723,7 +2728,7 @@ function getEncryptionOverhead(encrypted, zipCrypto, encryptionStrength) {
|
|
|
2723
2728
|
}
|
|
2724
2729
|
var PROPERTY_NAME_FILENAME, PROPERTY_NAME_RAW_FILENAME, PROPERTY_NAME_COMMENT, PROPERTY_NAME_RAW_COMMENT, PROPERTY_NAME_UNCOMPRESSED_SIZE, PROPERTY_NAME_COMPRESSED_SIZE, PROPERTY_NAME_OFFSET, PROPERTY_NAME_DISK_NUMBER_START, PROPERTY_NAME_LAST_MODIFICATION_DATE, PROPERTY_NAME_RAW_LAST_MODIFICATION_DATE, PROPERTY_NAME_LAST_ACCESS_DATE, PROPERTY_NAME_RAW_LAST_ACCESS_DATE, PROPERTY_NAME_CREATION_DATE, PROPERTY_NAME_RAW_CREATION_DATE, PROPERTY_NAME_INTERNAL_FILE_ATTRIBUTES, PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTES, PROPERTY_NAME_MSDOS_ATTRIBUTES_RAW, PROPERTY_NAME_MSDOS_ATTRIBUTES, PROPERTY_NAME_MS_DOS_COMPATIBLE, PROPERTY_NAME_ZIP64, PROPERTY_NAME_ENCRYPTED, PROPERTY_NAME_VERSION, PROPERTY_NAME_VERSION_MADE_BY, PROPERTY_NAME_ZIPCRYPTO, PROPERTY_NAME_DIRECTORY, PROPERTY_NAME_EXECUTABLE, PROPERTY_NAME_SYMLINK, PROPERTY_NAME_COMPRESSION_METHOD, PROPERTY_NAME_SIGNATURE, PROPERTY_NAME_CRC32, PROPERTY_NAME_EXTRA_FIELD, PROPERTY_NAME_EXTRA_FIELD_INFOZIP, PROPERTY_NAME_EXTRA_FIELD_UNIX, PROPERTY_NAME_EXTRA_FIELD_UNIX_TYPE1, PROPERTY_NAME_EXTRA_FIELD_PKWARE_UNIX, PROPERTY_NAME_UID, PROPERTY_NAME_GID, PROPERTY_NAME_UNIX_MODE, PROPERTY_NAME_SETUID, PROPERTY_NAME_SETGID, PROPERTY_NAME_STICKY, PROPERTY_NAME_BITFLAG, PROPERTY_NAME_RAW_BITFLAG, PROPERTY_NAME_FILENAME_LENGTH, PROPERTY_NAME_EXTRA_FIELD_LENGTH, PROPERTY_NAME_UNIX_EXTERNAL_UPPER, PROPERTY_NAME_FILENAME_UTF8, PROPERTY_NAME_COMMENT_UTF8, PROPERTY_NAME_RAW_EXTRA_FIELD, PROPERTY_NAME_EXTRA_FIELD_ZIP64, PROPERTY_NAME_EXTRA_FIELD_UNICODE_PATH, PROPERTY_NAME_EXTRA_FIELD_UNICODE_COMMENT, PROPERTY_NAME_EXTRA_FIELD_AES, PROPERTY_NAME_EXTRA_FIELD_NTFS, PROPERTY_NAME_EXTRA_FIELD_EXTENDED_TIMESTAMP, PROPERTY_NAME_EXTRA_FIELD_USDZ, PROPERTY_NAMES, Entry, INTERPRETED_EXTRA_FIELD_TYPES;
|
|
2725
2730
|
var init_zip_entry = __esm({
|
|
2726
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
2731
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/zip-entry.js"() {
|
|
2727
2732
|
"use strict";
|
|
2728
2733
|
init_constants();
|
|
2729
2734
|
PROPERTY_NAME_FILENAME = "filename";
|
|
@@ -2861,7 +2866,7 @@ var init_zip_entry = __esm({
|
|
|
2861
2866
|
}
|
|
2862
2867
|
});
|
|
2863
2868
|
|
|
2864
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
2869
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/zip-reader.js
|
|
2865
2870
|
var zip_reader_exports = {};
|
|
2866
2871
|
__export(zip_reader_exports, {
|
|
2867
2872
|
ERR_AMBIGUOUS_ARCHIVE: () => ERR_AMBIGUOUS_ARCHIVE,
|
|
@@ -2894,11 +2899,13 @@ __export(zip_reader_exports, {
|
|
|
2894
2899
|
WARNING_COMPRESSED_PATCHED_DATA: () => WARNING_COMPRESSED_PATCHED_DATA,
|
|
2895
2900
|
WARNING_DUPLICATE_FILENAME: () => WARNING_DUPLICATE_FILENAME,
|
|
2896
2901
|
WARNING_MALFORMED_EXTRA_FIELD: () => WARNING_MALFORMED_EXTRA_FIELD,
|
|
2902
|
+
WARNING_MISMATCHED_CENTRAL_DIRECTORY_OFFSET: () => WARNING_MISMATCHED_CENTRAL_DIRECTORY_OFFSET,
|
|
2897
2903
|
WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG: () => WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG,
|
|
2898
2904
|
WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD: () => WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD,
|
|
2899
2905
|
WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES: () => WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES,
|
|
2900
2906
|
WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME: () => WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME,
|
|
2901
2907
|
WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY: () => WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY,
|
|
2908
|
+
WARNING_MISSING_ZIP64_EXTRA_FIELD: () => WARNING_MISSING_ZIP64_EXTRA_FIELD,
|
|
2902
2909
|
WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY: () => WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY,
|
|
2903
2910
|
WARNING_PREPENDED_CENTRAL_DIRECTORY: () => WARNING_PREPENDED_CENTRAL_DIRECTORY,
|
|
2904
2911
|
WARNING_PREPENDED_DATA: () => WARNING_PREPENDED_DATA,
|
|
@@ -2909,6 +2916,7 @@ __export(zip_reader_exports, {
|
|
|
2909
2916
|
WARNING_WRAPPED_ENTRIES_COUNT: () => WARNING_WRAPPED_ENTRIES_COUNT,
|
|
2910
2917
|
ZipReader: () => ZipReader,
|
|
2911
2918
|
ZipReaderStream: () => ZipReaderStream,
|
|
2919
|
+
getEntryDataDescriptorLength: () => getEntryDataDescriptorLength,
|
|
2912
2920
|
isZipFile: () => isZipFile
|
|
2913
2921
|
});
|
|
2914
2922
|
function createEntryStream(entry, pendingEntries2) {
|
|
@@ -2972,13 +2980,7 @@ async function isZipFile(reader, options = {}) {
|
|
|
2972
2980
|
return reader.size - appendedDataOffset <= maxAppendedDataSize;
|
|
2973
2981
|
}
|
|
2974
2982
|
function detectEncryptedCentralDirectory(directoryView) {
|
|
2975
|
-
|
|
2976
|
-
for (let offset = 0; offset < maxOffset; offset++) {
|
|
2977
|
-
if (getUint32(directoryView, offset) == ARCHIVE_EXTRA_DATA_SIGNATURE) {
|
|
2978
|
-
return true;
|
|
2979
|
-
}
|
|
2980
|
-
}
|
|
2981
|
-
return false;
|
|
2983
|
+
return directoryView.byteLength >= 4 && getUint32(directoryView, 0) == ARCHIVE_EXTRA_DATA_SIGNATURE;
|
|
2982
2984
|
}
|
|
2983
2985
|
function getWrappedFilesLength(directoryView, directoryArray, offset) {
|
|
2984
2986
|
let wrappedFilesLength = 0;
|
|
@@ -2988,6 +2990,79 @@ function getWrappedFilesLength(directoryView, directoryArray, offset) {
|
|
|
2988
2990
|
}
|
|
2989
2991
|
return wrappedFilesLength % (MAX_16_BITS + 1) ? 0 : wrappedFilesLength;
|
|
2990
2992
|
}
|
|
2993
|
+
function pointsAtDirectory(reader, offset) {
|
|
2994
|
+
return startsWithSignature(reader, offset, CENTRAL_FILE_HEADER_SIGNATURE);
|
|
2995
|
+
}
|
|
2996
|
+
async function startsWithSignature(reader, offset, signature) {
|
|
2997
|
+
if (offset < 0 || offset + 4 > reader.size) {
|
|
2998
|
+
return false;
|
|
2999
|
+
}
|
|
3000
|
+
const signatureArray = await readUint8Array(reader, offset, 4);
|
|
3001
|
+
return getUint32(getDataView(signatureArray), 0) == signature;
|
|
3002
|
+
}
|
|
3003
|
+
async function findDigitalSignatureRecordOffset(reader, endOffset) {
|
|
3004
|
+
const startOffset = Math.max(0, endOffset - (6 + MAX_16_BITS));
|
|
3005
|
+
const tailArray = await readUint8Array(reader, startOffset, endOffset - startOffset);
|
|
3006
|
+
const tailView = getDataView(tailArray);
|
|
3007
|
+
for (let indexByte = tailArray.length - 6; indexByte >= 0; indexByte--) {
|
|
3008
|
+
if (getUint32(tailView, indexByte) == DIGITAL_SIGNATURE_RECORD_SIGNATURE && indexByte + 6 + getUint16(tailView, indexByte + 4) == tailArray.length) {
|
|
3009
|
+
return startOffset + indexByte;
|
|
3010
|
+
}
|
|
3011
|
+
}
|
|
3012
|
+
}
|
|
3013
|
+
async function findZip64EndOfDirectoryOffset(reader, endOffset) {
|
|
3014
|
+
const startOffset = Math.max(0, endOffset - (ZIP64_END_OF_CENTRAL_DIR_LENGTH + MAX_16_BITS));
|
|
3015
|
+
const tailArray = await readUint8Array(reader, startOffset, endOffset - startOffset);
|
|
3016
|
+
const tailView = getDataView(tailArray);
|
|
3017
|
+
for (let indexByte = tailArray.length - ZIP64_END_OF_CENTRAL_DIR_LENGTH; indexByte >= 0; indexByte--) {
|
|
3018
|
+
if (getUint32(tailView, indexByte) == ZIP64_END_OF_CENTRAL_DIR_SIGNATURE && indexByte + 12 + Number(tailView.getBigUint64(indexByte + 4, true)) == tailArray.length) {
|
|
3019
|
+
return startOffset + indexByte;
|
|
3020
|
+
}
|
|
3021
|
+
}
|
|
3022
|
+
}
|
|
3023
|
+
async function probeLocalHeaders(reader, directoryArray, directoryView, offsetDelta) {
|
|
3024
|
+
let result = { localHeaderFound: false, shiftedLocalHeaderFound: false };
|
|
3025
|
+
let recordOffset = 0;
|
|
3026
|
+
while (recordOffset + CENTRAL_FILE_HEADER_LENGTH <= directoryArray.length && getUint32(directoryView, recordOffset) == CENTRAL_FILE_HEADER_SIGNATURE) {
|
|
3027
|
+
const localHeaderOffset = getLocalHeaderOffset(directoryArray, directoryView, recordOffset);
|
|
3028
|
+
if (localHeaderOffset !== UNDEFINED_VALUE) {
|
|
3029
|
+
const localHeaderFound = await startsWithSignature(reader, localHeaderOffset, LOCAL_FILE_HEADER_SIGNATURE);
|
|
3030
|
+
const shiftedLocalHeaderFound = await startsWithSignature(reader, localHeaderOffset + offsetDelta, LOCAL_FILE_HEADER_SIGNATURE);
|
|
3031
|
+
if (!recordOffset) {
|
|
3032
|
+
result = { localHeaderFound, shiftedLocalHeaderFound };
|
|
3033
|
+
}
|
|
3034
|
+
if (localHeaderFound != shiftedLocalHeaderFound) {
|
|
3035
|
+
return { localHeaderFound, shiftedLocalHeaderFound };
|
|
3036
|
+
}
|
|
3037
|
+
}
|
|
3038
|
+
recordOffset += CENTRAL_FILE_HEADER_LENGTH + getUint16(directoryView, recordOffset + 28) + getUint16(directoryView, recordOffset + 30) + getUint16(directoryView, recordOffset + 32);
|
|
3039
|
+
}
|
|
3040
|
+
return result;
|
|
3041
|
+
}
|
|
3042
|
+
function getLocalHeaderOffset(directoryArray, directoryView, recordOffset) {
|
|
3043
|
+
const localHeaderOffset = getUint32(directoryView, recordOffset + 42);
|
|
3044
|
+
if (localHeaderOffset != MAX_32_BITS) {
|
|
3045
|
+
return localHeaderOffset;
|
|
3046
|
+
}
|
|
3047
|
+
let offsetExtraField = recordOffset + CENTRAL_FILE_HEADER_LENGTH + getUint16(directoryView, recordOffset + 28);
|
|
3048
|
+
const endExtraField = Math.min(offsetExtraField + getUint16(directoryView, recordOffset + 30), directoryArray.length);
|
|
3049
|
+
while (offsetExtraField + 4 <= endExtraField) {
|
|
3050
|
+
const type = getUint16(directoryView, offsetExtraField);
|
|
3051
|
+
const size = getUint16(directoryView, offsetExtraField + 2);
|
|
3052
|
+
if (type == EXTRAFIELD_TYPE_ZIP64) {
|
|
3053
|
+
let offsetValue = offsetExtraField + 4;
|
|
3054
|
+
if (getUint32(directoryView, recordOffset + 24) == MAX_32_BITS) {
|
|
3055
|
+
offsetValue += 8;
|
|
3056
|
+
}
|
|
3057
|
+
if (getUint32(directoryView, recordOffset + 20) == MAX_32_BITS) {
|
|
3058
|
+
offsetValue += 8;
|
|
3059
|
+
}
|
|
3060
|
+
return offsetValue + 8 <= endExtraField ? getBigUint64(directoryView, offsetValue) : UNDEFINED_VALUE;
|
|
3061
|
+
}
|
|
3062
|
+
offsetExtraField += 4 + size;
|
|
3063
|
+
}
|
|
3064
|
+
return UNDEFINED_VALUE;
|
|
3065
|
+
}
|
|
2991
3066
|
function readDigitalSignature(signatureRecordArray) {
|
|
2992
3067
|
if (signatureRecordArray.length >= 6) {
|
|
2993
3068
|
const signatureRecordView = getDataView(signatureRecordArray);
|
|
@@ -3069,6 +3144,7 @@ function readCommonFooter(fileEntry, directory, dataView, offset, localDirectory
|
|
|
3069
3144
|
uncompressedSize: getUint32(dataView, offset + HEADER_OFFSET_UNCOMPRESSED_SIZE)
|
|
3070
3145
|
});
|
|
3071
3146
|
const extraFieldZip64 = extraField.get(EXTRAFIELD_TYPE_ZIP64);
|
|
3147
|
+
let extraFieldZip64Missing;
|
|
3072
3148
|
if (extraFieldZip64) {
|
|
3073
3149
|
if (!readExtraFieldZip64(extraFieldZip64, directory, localDirectory)) {
|
|
3074
3150
|
malformedExtraField = true;
|
|
@@ -3078,7 +3154,7 @@ function readCommonFooter(fileEntry, directory, dataView, offset, localDirectory
|
|
|
3078
3154
|
if (localDirectory) {
|
|
3079
3155
|
malformedExtraField = true;
|
|
3080
3156
|
} else {
|
|
3081
|
-
|
|
3157
|
+
extraFieldZip64Missing = true;
|
|
3082
3158
|
}
|
|
3083
3159
|
}
|
|
3084
3160
|
const extraFieldUnicodePath = extraField.get(EXTRAFIELD_TYPE_UNICODE_PATH);
|
|
@@ -3111,33 +3187,34 @@ function readCommonFooter(fileEntry, directory, dataView, offset, localDirectory
|
|
|
3111
3187
|
readExtraFieldUnixDates(extraFieldUnixType1, directory);
|
|
3112
3188
|
directory.extraFieldUnixType1 = extraFieldUnixType1;
|
|
3113
3189
|
}
|
|
3190
|
+
const extraFieldExtendedTimestamp = extraField.get(EXTRAFIELD_TYPE_EXTENDED_TIMESTAMP);
|
|
3191
|
+
if (extraFieldExtendedTimestamp) {
|
|
3192
|
+
readExtraFieldExtendedTimestamp(extraFieldExtendedTimestamp, directory, localDirectory);
|
|
3193
|
+
directory.extraFieldExtendedTimestamp = extraFieldExtendedTimestamp;
|
|
3194
|
+
}
|
|
3114
3195
|
const extraFieldNTFS = extraField.get(EXTRAFIELD_TYPE_NTFS);
|
|
3115
3196
|
if (extraFieldNTFS) {
|
|
3116
3197
|
readExtraFieldNTFS(extraFieldNTFS, directory);
|
|
3117
3198
|
directory.extraFieldNTFS = extraFieldNTFS;
|
|
3118
3199
|
}
|
|
3119
|
-
const
|
|
3200
|
+
const extraFieldInfoZip = extraField.get(EXTRAFIELD_TYPE_INFOZIP);
|
|
3120
3201
|
let unixIdsRead;
|
|
3202
|
+
if (extraFieldInfoZip) {
|
|
3203
|
+
unixIdsRead = readExtraFieldUnix(extraFieldInfoZip, directory, true);
|
|
3204
|
+
directory.extraFieldInfoZip = extraFieldInfoZip;
|
|
3205
|
+
}
|
|
3206
|
+
const extraFieldUnix = extraField.get(EXTRAFIELD_TYPE_UNIX);
|
|
3121
3207
|
if (extraFieldUnix) {
|
|
3122
|
-
|
|
3208
|
+
readExtraFieldUnix(extraFieldUnix, unixIdsRead ? {} : directory, false);
|
|
3123
3209
|
directory.extraFieldUnix = extraFieldUnix;
|
|
3124
3210
|
}
|
|
3125
|
-
if (!unixIdsRead) {
|
|
3126
|
-
const extraFieldInfoZip = extraField.get(EXTRAFIELD_TYPE_INFOZIP);
|
|
3127
|
-
if (extraFieldInfoZip) {
|
|
3128
|
-
readExtraFieldUnix(extraFieldInfoZip, directory, true);
|
|
3129
|
-
directory.extraFieldInfoZip = extraFieldInfoZip;
|
|
3130
|
-
}
|
|
3131
|
-
}
|
|
3132
|
-
const extraFieldExtendedTimestamp = extraField.get(EXTRAFIELD_TYPE_EXTENDED_TIMESTAMP);
|
|
3133
|
-
if (extraFieldExtendedTimestamp) {
|
|
3134
|
-
readExtraFieldExtendedTimestamp(extraFieldExtendedTimestamp, directory, localDirectory);
|
|
3135
|
-
directory.extraFieldExtendedTimestamp = extraFieldExtendedTimestamp;
|
|
3136
|
-
}
|
|
3137
3211
|
const extraFieldUSDZ = extraField.get(EXTRAFIELD_TYPE_USDZ);
|
|
3138
3212
|
if (extraFieldUSDZ) {
|
|
3139
3213
|
directory.extraFieldUSDZ = extraFieldUSDZ;
|
|
3140
3214
|
}
|
|
3215
|
+
if (extraFieldZip64Missing) {
|
|
3216
|
+
throw new Error(ERR_EXTRAFIELD_ZIP64_NOT_FOUND);
|
|
3217
|
+
}
|
|
3141
3218
|
return malformedExtraField;
|
|
3142
3219
|
}
|
|
3143
3220
|
function readExtraFieldZip64(extraFieldZip64, directory, localDirectory) {
|
|
@@ -3341,10 +3418,7 @@ async function detectOverlappingEntry({
|
|
|
3341
3418
|
let dataDescriptorLength = 0;
|
|
3342
3419
|
if (dataDescriptor) {
|
|
3343
3420
|
const zip64 = Boolean(extraFieldZip64);
|
|
3344
|
-
const
|
|
3345
|
-
const dataDescriptorView = getDataView(dataDescriptorArray);
|
|
3346
|
-
const candidates = [[zip64, true], [zip64, false], [!zip64, true], [!zip64, false]].map(([zip64Layout, signature]) => readDataDescriptor(dataDescriptorView, zip64Layout, signature)).filter((candidate) => candidate && candidate.compressedSize == compressedSize && candidate.uncompressedSize == uncompressedSize);
|
|
3347
|
-
const localDataDescriptor = candidates.find((candidate) => candidate.crc32 == crc32) || candidates[0] || readDataDescriptor(dataDescriptorView, zip64, true) || readDataDescriptor(dataDescriptorView, zip64, false);
|
|
3421
|
+
const localDataDescriptor = await readLocalDataDescriptor(reader, dataOffset + compressedSize, { crc32, compressedSize, uncompressedSize, zip64 });
|
|
3348
3422
|
if (localDataDescriptor) {
|
|
3349
3423
|
fileEntry.localDirectory.dataDescriptor = localDataDescriptor;
|
|
3350
3424
|
dataDescriptorLength = getDataDescriptorLength(localDataDescriptor.zip64, localDataDescriptor.signature);
|
|
@@ -3410,6 +3484,20 @@ function mergeRanges(sortedRanges, pendingRanges) {
|
|
|
3410
3484
|
}
|
|
3411
3485
|
return mergedRanges;
|
|
3412
3486
|
}
|
|
3487
|
+
async function readLocalDataDescriptor(reader, offset, { crc32, compressedSize, uncompressedSize, zip64 }) {
|
|
3488
|
+
const maxLength = DATA_DESCRIPTOR_RECORD_ZIP_64_LENGTH + DATA_DESCRIPTOR_RECORD_SIGNATURE_LENGTH;
|
|
3489
|
+
const length = Math.min(maxLength, Math.max(0, reader.size - offset));
|
|
3490
|
+
const dataDescriptorArray = length ? await readUint8Array(reader, offset, length) : EMPTY_UINT8_ARRAY;
|
|
3491
|
+
const dataDescriptorView = getDataView(dataDescriptorArray);
|
|
3492
|
+
const candidates = [[zip64, true], [zip64, false], [!zip64, true], [!zip64, false]].map(([zip64Layout, signature]) => readDataDescriptor(dataDescriptorView, zip64Layout, signature)).filter((candidate) => candidate && candidate.compressedSize == compressedSize && candidate.uncompressedSize == uncompressedSize);
|
|
3493
|
+
return candidates.find((candidate) => candidate.crc32 == crc32) || candidates[0] || readDataDescriptor(dataDescriptorView, zip64, true) || readDataDescriptor(dataDescriptorView, zip64, false);
|
|
3494
|
+
}
|
|
3495
|
+
async function getEntryDataDescriptorLength(reader, offset, { crc32, compressedSize, uncompressedSize, extraFieldZip64 }) {
|
|
3496
|
+
const dataDescriptor = await readLocalDataDescriptor(reader, offset, { crc32, compressedSize, uncompressedSize, zip64: Boolean(extraFieldZip64) });
|
|
3497
|
+
if (dataDescriptor && dataDescriptor.compressedSize == compressedSize && dataDescriptor.uncompressedSize == uncompressedSize) {
|
|
3498
|
+
return getDataDescriptorLength(dataDescriptor.zip64, dataDescriptor.signature);
|
|
3499
|
+
}
|
|
3500
|
+
}
|
|
3413
3501
|
function readDataDescriptor(dataDescriptorView, zip64, signature) {
|
|
3414
3502
|
const offset = signature ? DATA_DESCRIPTOR_RECORD_SIGNATURE_LENGTH : 0;
|
|
3415
3503
|
if (dataDescriptorView.byteLength < getDataDescriptorLength(zip64, signature) || signature && getUint32(dataDescriptorView, 0) != DATA_DESCRIPTOR_RECORD_SIGNATURE) {
|
|
@@ -3638,6 +3726,13 @@ function validateLocalDirectory(zipEntry, localDirectory, rawLocalFilename, chec
|
|
|
3638
3726
|
reportAmbiguity(reject, warnings, WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES);
|
|
3639
3727
|
}
|
|
3640
3728
|
}
|
|
3729
|
+
function validateDataDescriptor(zipEntry, localDirectory, warnings) {
|
|
3730
|
+
const { dataDescriptor } = localDirectory;
|
|
3731
|
+
const maskedLocalDirectory = zipEntry.decryptedDirectory && (localDirectory.rawBitFlag & BITFLAG_MASKED_LOCAL_HEADERS) == BITFLAG_MASKED_LOCAL_HEADERS;
|
|
3732
|
+
if (dataDescriptor && !maskedLocalDirectory && (zipEntry.crc32 !== UNDEFINED_VALUE && dataDescriptor.crc32 != zipEntry.crc32 || dataDescriptor.compressedSize != zipEntry.compressedSize || dataDescriptor.uncompressedSize != zipEntry.uncompressedSize)) {
|
|
3733
|
+
reportAmbiguity(!warnings, warnings, WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES);
|
|
3734
|
+
}
|
|
3735
|
+
}
|
|
3641
3736
|
function reportAmbiguity(reject, warnings, reason) {
|
|
3642
3737
|
if (reject) {
|
|
3643
3738
|
throwAmbiguousArchive(reason);
|
|
@@ -3680,9 +3775,9 @@ function getBigUint64(view, offset) {
|
|
|
3680
3775
|
}
|
|
3681
3776
|
return Number(value);
|
|
3682
3777
|
}
|
|
3683
|
-
var ERR_BAD_FORMAT, ERR_EOCDR_NOT_FOUND, ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND, ERR_CENTRAL_DIRECTORY_NOT_FOUND,
|
|
3778
|
+
var ERR_BAD_FORMAT, ERR_EOCDR_NOT_FOUND, ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND, ERR_CENTRAL_DIRECTORY_NOT_FOUND, ERR_ENCRYPTED, ERR_UNSUPPORTED_ENCRYPTION, ERR_SPLIT_ZIP_FILE, ERR_ENTRY_DATA_OUT_OF_BOUNDS, ERR_AMBIGUOUS_ARCHIVE, ERR_ENCRYPTED_CENTRAL_DIRECTORY, ERR_UNSAFE_FILENAME, ERR_INVALID_STRICTNESS, ERR_INVALID_FILENAME_VALIDATION, ERR_INVALID_MAX_APPENDED_DATA_SIZE, ERR_UNSUPPORTED_UINT64, WARNING_UNSORTED_CENTRAL_DIRECTORY, WARNING_UNKNOWN_VERSION, WARNING_COMPRESSED_PATCHED_DATA, WARNING_MALFORMED_EXTRA_FIELD, WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA, WARNING_WRAPPED_ENTRIES_COUNT, WARNING_APPENDED_DATA, WARNING_PREPENDED_DATA, WARNING_PREPENDED_CENTRAL_DIRECTORY, WARNING_TRAILING_CENTRAL_DIRECTORY_DATA, WARNING_MISMATCHED_CENTRAL_DIRECTORY_OFFSET, WARNING_MISSING_ZIP64_EXTRA_FIELD, WARNING_DUPLICATE_FILENAME, WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY, WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY, WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME, WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG, WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD, WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES, MAX_KNOWN_VERSION, DRIVE_LETTER_REGEXP, PARENT_DIRECTORY_REGEXP, CHARSET_UTF8, PROPERTY_NAME_UTF8_SUFFIX, CHARSET_CP437, BITFLAG_AMBIGUITY_MASK, VENDOR_VERSION_AE_1, ZIP64_PROPERTIES, ZIP64_EXTRACTION, MAX_SAFE_UINT64, MAX_END_OF_CENTRAL_DIR_PROBES, MAX_DEFLATE_EXPANSION_RATIO, CENTRAL_DIRECTORY_UNREACHABLE, CENTRAL_DIRECTORY_PLAUSIBLE, CENTRAL_DIRECTORY_REACHABLE, ZipReader, ZipReaderStream, ZipEntry;
|
|
3684
3779
|
var init_zip_reader = __esm({
|
|
3685
|
-
"../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
3780
|
+
"../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/zip-reader.js"() {
|
|
3686
3781
|
"use strict";
|
|
3687
3782
|
init_constants();
|
|
3688
3783
|
init_configuration();
|
|
@@ -3701,12 +3796,9 @@ var init_zip_reader = __esm({
|
|
|
3701
3796
|
ERR_EOCDR_NOT_FOUND = "End of central directory not found";
|
|
3702
3797
|
ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND = "End of Zip64 central directory locator not found";
|
|
3703
3798
|
ERR_CENTRAL_DIRECTORY_NOT_FOUND = "Central directory header not found";
|
|
3704
|
-
ERR_LOCAL_FILE_HEADER_NOT_FOUND = "Local file header not found";
|
|
3705
|
-
ERR_EXTRAFIELD_ZIP64_NOT_FOUND = "Zip64 extra field not found";
|
|
3706
3799
|
ERR_ENCRYPTED = "File contains encrypted entry";
|
|
3707
3800
|
ERR_UNSUPPORTED_ENCRYPTION = "Encryption method not supported";
|
|
3708
3801
|
ERR_SPLIT_ZIP_FILE = "Split zip file";
|
|
3709
|
-
ERR_OVERLAPPING_ENTRY = "Overlapping entry found";
|
|
3710
3802
|
ERR_ENTRY_DATA_OUT_OF_BOUNDS = "Entry data out of bounds";
|
|
3711
3803
|
ERR_AMBIGUOUS_ARCHIVE = "Ambiguous archive";
|
|
3712
3804
|
ERR_ENCRYPTED_CENTRAL_DIRECTORY = "Encrypted central directory is not supported";
|
|
@@ -3725,6 +3817,8 @@ var init_zip_reader = __esm({
|
|
|
3725
3817
|
WARNING_PREPENDED_DATA = "prepended data";
|
|
3726
3818
|
WARNING_PREPENDED_CENTRAL_DIRECTORY = "prepended central directory";
|
|
3727
3819
|
WARNING_TRAILING_CENTRAL_DIRECTORY_DATA = "trailing central directory data";
|
|
3820
|
+
WARNING_MISMATCHED_CENTRAL_DIRECTORY_OFFSET = "mismatched central directory offset";
|
|
3821
|
+
WARNING_MISSING_ZIP64_EXTRA_FIELD = "missing zip64 extra field";
|
|
3728
3822
|
WARNING_DUPLICATE_FILENAME = "duplicate filename";
|
|
3729
3823
|
WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY = "mismatched zip64 end of central directory record";
|
|
3730
3824
|
WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY = "multiple end of central directory records";
|
|
@@ -3766,8 +3860,9 @@ var init_zip_reader = __esm({
|
|
|
3766
3860
|
constructor(reader, options = {}) {
|
|
3767
3861
|
Object.assign(this, {
|
|
3768
3862
|
reader: new GenericReader(reader),
|
|
3769
|
-
options,
|
|
3770
|
-
readRanges: { indexes: /* @__PURE__ */ new Set(), sortedRanges: [], pendingRanges: [] }
|
|
3863
|
+
options: options || {},
|
|
3864
|
+
readRanges: { indexes: /* @__PURE__ */ new Set(), sortedRanges: [], pendingRanges: [] },
|
|
3865
|
+
entriesMissingZip64ExtraField: /* @__PURE__ */ new WeakSet()
|
|
3771
3866
|
});
|
|
3772
3867
|
}
|
|
3773
3868
|
async *getEntriesGenerator(options = {}) {
|
|
@@ -3834,15 +3929,21 @@ var init_zip_reader = __esm({
|
|
|
3834
3929
|
directoryDataOffset = getDiskOffset(reader, getUint32(endOfDirectoryLocatorView, 4)) + getBigUint64(endOfDirectoryLocatorView, 8);
|
|
3835
3930
|
let endOfDirectoryArray = await readUint8Array(reader, directoryDataOffset, ZIP64_END_OF_CENTRAL_DIR_LENGTH);
|
|
3836
3931
|
let endOfDirectoryView2 = getDataView(endOfDirectoryArray);
|
|
3837
|
-
|
|
3838
|
-
|
|
3839
|
-
|
|
3840
|
-
|
|
3841
|
-
|
|
3842
|
-
|
|
3932
|
+
if (endOfDirectoryArray.length < ZIP64_END_OF_CENTRAL_DIR_LENGTH || getUint32(endOfDirectoryView2, 0) != ZIP64_END_OF_CENTRAL_DIR_SIGNATURE) {
|
|
3933
|
+
const locatorOffset = endOfDirectoryInfo.offset - ZIP64_END_OF_CENTRAL_DIR_LOCATOR_LENGTH;
|
|
3934
|
+
let expectedDirectoryDataOffset = locatorOffset - ZIP64_END_OF_CENTRAL_DIR_LENGTH;
|
|
3935
|
+
if (!await startsWithSignature(reader, expectedDirectoryDataOffset, ZIP64_END_OF_CENTRAL_DIR_SIGNATURE)) {
|
|
3936
|
+
expectedDirectoryDataOffset = await findZip64EndOfDirectoryOffset(reader, locatorOffset);
|
|
3937
|
+
}
|
|
3938
|
+
if (expectedDirectoryDataOffset !== UNDEFINED_VALUE && expectedDirectoryDataOffset >= 0 && directoryDataOffset != expectedDirectoryDataOffset) {
|
|
3939
|
+
const originalDirectoryDataOffset = directoryDataOffset;
|
|
3940
|
+
directoryDataOffset = expectedDirectoryDataOffset;
|
|
3941
|
+
if (directoryDataOffset > originalDirectoryDataOffset) {
|
|
3942
|
+
prependedDataLength = directoryDataOffset - originalDirectoryDataOffset;
|
|
3943
|
+
}
|
|
3944
|
+
endOfDirectoryArray = await readUint8Array(reader, directoryDataOffset, ZIP64_END_OF_CENTRAL_DIR_LENGTH);
|
|
3945
|
+
endOfDirectoryView2 = getDataView(endOfDirectoryArray);
|
|
3843
3946
|
}
|
|
3844
|
-
endOfDirectoryArray = await readUint8Array(reader, directoryDataOffset, ZIP64_END_OF_CENTRAL_DIR_LENGTH);
|
|
3845
|
-
endOfDirectoryView2 = getDataView(endOfDirectoryArray);
|
|
3846
3947
|
}
|
|
3847
3948
|
if (endOfDirectoryArray.length < ZIP64_END_OF_CENTRAL_DIR_LENGTH || getUint32(endOfDirectoryView2, 0) != ZIP64_END_OF_CENTRAL_DIR_SIGNATURE) {
|
|
3848
3949
|
throw new Error(ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND);
|
|
@@ -3881,14 +3982,12 @@ var init_zip_reader = __esm({
|
|
|
3881
3982
|
reportAmbiguity(checkAmbiguity, warnings, WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY);
|
|
3882
3983
|
}
|
|
3883
3984
|
directoryDataOffset = getDiskOffset(reader, diskNumber) + getBigUint64(endOfDirectoryView2, 48) + prependedDataLength;
|
|
3985
|
+
} else if (directoryDataOffset == MAX_32_BITS || directoryDataLength == MAX_32_BITS || diskNumber == MAX_16_BITS) {
|
|
3986
|
+
throw new Error(ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND);
|
|
3884
3987
|
}
|
|
3885
3988
|
}
|
|
3886
3989
|
let declaredDirectoryDataLength = directoryDataLength;
|
|
3887
3990
|
const centralDirectoryEndOffset = endOfDirectoryInfo.offset - (zip64EndOfDirectory ? zip64EndOfDirectoryLength + ZIP64_END_OF_CENTRAL_DIR_LOCATOR_LENGTH : 0);
|
|
3888
|
-
if (directoryDataOffset >= reader.size) {
|
|
3889
|
-
prependedDataLength = reader.size - directoryDataOffset - directoryDataLength - END_OF_CENTRAL_DIR_LENGTH;
|
|
3890
|
-
directoryDataOffset = reader.size - directoryDataLength - END_OF_CENTRAL_DIR_LENGTH;
|
|
3891
|
-
}
|
|
3892
3991
|
if (expectedLastDiskNumber != lastDiskNumber) {
|
|
3893
3992
|
throw new Error(ERR_SPLIT_ZIP_FILE);
|
|
3894
3993
|
}
|
|
@@ -3896,31 +3995,54 @@ var init_zip_reader = __esm({
|
|
|
3896
3995
|
throw new Error(ERR_BAD_FORMAT);
|
|
3897
3996
|
}
|
|
3898
3997
|
let offset = 0;
|
|
3899
|
-
let directoryArray = await readUint8Array(reader, directoryDataOffset, directoryDataLength);
|
|
3998
|
+
let directoryArray = directoryDataOffset < reader.size ? await readUint8Array(reader, directoryDataOffset, directoryDataLength) : EMPTY_UINT8_ARRAY;
|
|
3900
3999
|
let directoryView = getDataView(directoryArray);
|
|
3901
4000
|
if (directoryDataLength) {
|
|
3902
|
-
|
|
3903
|
-
throw new Error(ERR_BAD_FORMAT);
|
|
3904
|
-
}
|
|
3905
|
-
const expectedDirectoryDataOffset = centralDirectoryEndOffset - directoryDataLength;
|
|
4001
|
+
let expectedDirectoryDataOffset = centralDirectoryEndOffset - directoryDataLength;
|
|
3906
4002
|
if (directoryDataOffset != expectedDirectoryDataOffset && diskNumber == lastDiskNumber) {
|
|
3907
|
-
const storedPointsAtDirectory = getUint32(directoryView, offset) == CENTRAL_FILE_HEADER_SIGNATURE || Boolean(directoryEncryptionInfo && directoryEncryptionInfo.compressedSize) || detectEncryptedCentralDirectory(directoryView);
|
|
4003
|
+
const storedPointsAtDirectory = directoryArray.length >= 4 && (getUint32(directoryView, offset) == CENTRAL_FILE_HEADER_SIGNATURE || Boolean(directoryEncryptionInfo && directoryEncryptionInfo.compressedSize) || detectEncryptedCentralDirectory(directoryView));
|
|
4004
|
+
if (!storedPointsAtDirectory && expectedDirectoryDataOffset < 0) {
|
|
4005
|
+
throw new Error(ERR_BAD_FORMAT);
|
|
4006
|
+
}
|
|
3908
4007
|
let reconcile = !storedPointsAtDirectory;
|
|
3909
|
-
if (
|
|
3910
|
-
|
|
3911
|
-
|
|
4008
|
+
if (expectedDirectoryDataOffset >= 0 && expectedDirectoryDataOffset + 4 <= reader.size) {
|
|
4009
|
+
let expectedPointsAtDirectory = await pointsAtDirectory(reader, expectedDirectoryDataOffset);
|
|
4010
|
+
if (!expectedPointsAtDirectory) {
|
|
4011
|
+
const signatureRecordOffset = await findDigitalSignatureRecordOffset(reader, centralDirectoryEndOffset);
|
|
4012
|
+
const signedDirectoryDataOffset = signatureRecordOffset - directoryDataLength;
|
|
4013
|
+
if (signatureRecordOffset !== UNDEFINED_VALUE && signedDirectoryDataOffset >= 0 && await pointsAtDirectory(reader, signedDirectoryDataOffset)) {
|
|
4014
|
+
expectedDirectoryDataOffset = signedDirectoryDataOffset;
|
|
4015
|
+
expectedPointsAtDirectory = true;
|
|
4016
|
+
}
|
|
4017
|
+
}
|
|
4018
|
+
if (storedPointsAtDirectory) {
|
|
4019
|
+
reconcile = expectedPointsAtDirectory;
|
|
4020
|
+
}
|
|
3912
4021
|
}
|
|
3913
|
-
if (reconcile) {
|
|
4022
|
+
if (reconcile && expectedDirectoryDataOffset != directoryDataOffset) {
|
|
3914
4023
|
const originalDirectoryDataOffset = directoryDataOffset;
|
|
3915
4024
|
directoryDataOffset = expectedDirectoryDataOffset;
|
|
3916
|
-
if (directoryDataOffset > originalDirectoryDataOffset) {
|
|
3917
|
-
prependedDataLength += directoryDataOffset - originalDirectoryDataOffset;
|
|
3918
|
-
prependedCentralDirectory = storedPointsAtDirectory;
|
|
3919
|
-
}
|
|
3920
4025
|
directoryArray = await readUint8Array(reader, directoryDataOffset, directoryDataLength);
|
|
3921
4026
|
directoryView = getDataView(directoryArray);
|
|
4027
|
+
const offsetDelta = directoryDataOffset - originalDirectoryDataOffset;
|
|
4028
|
+
const { localHeaderFound, shiftedLocalHeaderFound } = await probeLocalHeaders(reader, directoryArray, directoryView, offsetDelta);
|
|
4029
|
+
if (offsetDelta > 0 && !(localHeaderFound && !shiftedLocalHeaderFound)) {
|
|
4030
|
+
prependedDataLength += offsetDelta;
|
|
4031
|
+
prependedCentralDirectory = storedPointsAtDirectory;
|
|
4032
|
+
} else {
|
|
4033
|
+
reportAmbiguity(checkAmbiguity, warnings, WARNING_MISMATCHED_CENTRAL_DIRECTORY_OFFSET);
|
|
4034
|
+
if (offsetDelta < 0 && !localHeaderFound && shiftedLocalHeaderFound) {
|
|
4035
|
+
prependedDataLength += offsetDelta;
|
|
4036
|
+
}
|
|
4037
|
+
}
|
|
3922
4038
|
}
|
|
3923
4039
|
}
|
|
4040
|
+
if (directoryArray.length < 4) {
|
|
4041
|
+
throw new Error(ERR_BAD_FORMAT);
|
|
4042
|
+
}
|
|
4043
|
+
} else if (!filesLength && directoryDataOffset < centralDirectoryEndOffset && diskNumber == lastDiskNumber) {
|
|
4044
|
+
prependedDataLength += centralDirectoryEndOffset - directoryDataOffset;
|
|
4045
|
+
directoryDataOffset = centralDirectoryEndOffset;
|
|
3924
4046
|
}
|
|
3925
4047
|
const expectedDirectoryDataLength = centralDirectoryEndOffset - directoryDataOffset;
|
|
3926
4048
|
if (directoryDataLength != expectedDirectoryDataLength && expectedDirectoryDataLength >= 0 && diskNumber == lastDiskNumber) {
|
|
@@ -3951,7 +4073,7 @@ var init_zip_reader = __esm({
|
|
|
3951
4073
|
const commentEncoding = getOptionValue(zipReader, options, OPTION_COMMENT_ENCODING);
|
|
3952
4074
|
const filenames = /* @__PURE__ */ new Set();
|
|
3953
4075
|
let duplicateFilename;
|
|
3954
|
-
let previousEntryPosition = -
|
|
4076
|
+
let previousEntryPosition = -Infinity;
|
|
3955
4077
|
const recoverWrappedFilesLength = !checkAmbiguity && !zip64EndOfDirectory;
|
|
3956
4078
|
if (!filesLength && recoverWrappedFilesLength) {
|
|
3957
4079
|
filesLength = getWrappedFilesLength(directoryView, directoryArray, offset);
|
|
@@ -3959,8 +4081,10 @@ var init_zip_reader = __esm({
|
|
|
3959
4081
|
addWarning(warnings, WARNING_WRAPPED_ENTRIES_COUNT);
|
|
3960
4082
|
}
|
|
3961
4083
|
}
|
|
4084
|
+
const entryOptions = Object.assign({}, zipReader.options, options, { [OPTION_STRICTNESS]: strictness });
|
|
4085
|
+
delete entryOptions[OPTION_CHECK_AMBIGUITY];
|
|
3962
4086
|
for (let indexFile = 0; indexFile < filesLength; indexFile++) {
|
|
3963
|
-
const fileEntry = new ZipEntry(reader,
|
|
4087
|
+
const fileEntry = new ZipEntry(reader, entryOptions);
|
|
3964
4088
|
if (offset + CENTRAL_FILE_HEADER_LENGTH > directoryArray.length || getUint32(directoryView, offset) != CENTRAL_FILE_HEADER_SIGNATURE) {
|
|
3965
4089
|
if (indexFile == 0 && !decryptedDirectory && (zip64EndOfDirectoryVersion2 || detectEncryptedCentralDirectory(directoryView))) {
|
|
3966
4090
|
throw new Error(ERR_ENCRYPTED_CENTRAL_DIRECTORY);
|
|
@@ -3999,17 +4123,6 @@ var init_zip_reader = __esm({
|
|
|
3999
4123
|
if (filename === UNDEFINED_VALUE) {
|
|
4000
4124
|
filename = decodeText(rawFilename, rawFilenameEncoding);
|
|
4001
4125
|
}
|
|
4002
|
-
if (normalizeFilename) {
|
|
4003
|
-
const normalizedFilename = normalizeFilename(filename);
|
|
4004
|
-
if (normalizedFilename !== UNDEFINED_VALUE) {
|
|
4005
|
-
filename = normalizedFilename;
|
|
4006
|
-
}
|
|
4007
|
-
}
|
|
4008
|
-
if (isUnsafeFilename(filename, filenameValidation)) {
|
|
4009
|
-
const error = new Error(ERR_UNSAFE_FILENAME);
|
|
4010
|
-
error.filename = filename;
|
|
4011
|
-
throw error;
|
|
4012
|
-
}
|
|
4013
4126
|
let comment = decode2(rawComment, rawCommentEncoding, TEXT_TYPE_COMMENT);
|
|
4014
4127
|
if (comment === UNDEFINED_VALUE) {
|
|
4015
4128
|
comment = decodeText(rawComment, rawCommentEncoding);
|
|
@@ -4037,16 +4150,42 @@ var init_zip_reader = __esm({
|
|
|
4037
4150
|
filename,
|
|
4038
4151
|
comment
|
|
4039
4152
|
});
|
|
4040
|
-
|
|
4153
|
+
let malformedExtraField;
|
|
4154
|
+
try {
|
|
4155
|
+
malformedExtraField = readCommonFooter(fileEntry, fileEntry, directoryView, offset + 6);
|
|
4156
|
+
} catch (error) {
|
|
4157
|
+
if (checkAmbiguity || error.message != ERR_EXTRAFIELD_ZIP64_NOT_FOUND) {
|
|
4158
|
+
throw error;
|
|
4159
|
+
}
|
|
4160
|
+
fileEntry.zip64ExtraFieldMissing = true;
|
|
4161
|
+
addWarning(warnings, WARNING_MISSING_ZIP64_EXTRA_FIELD, fileEntry.filename);
|
|
4162
|
+
}
|
|
4163
|
+
filename = fileEntry.filename;
|
|
4164
|
+
if (normalizeFilename) {
|
|
4165
|
+
const normalizedFilename = normalizeFilename(filename);
|
|
4166
|
+
if (normalizedFilename !== UNDEFINED_VALUE) {
|
|
4167
|
+
filename = fileEntry.filename = normalizedFilename;
|
|
4168
|
+
}
|
|
4169
|
+
}
|
|
4170
|
+
if (isUnsafeFilename(filename, filenameValidation)) {
|
|
4171
|
+
const error = new Error(ERR_UNSAFE_FILENAME);
|
|
4172
|
+
error.filename = filename;
|
|
4173
|
+
throw error;
|
|
4174
|
+
}
|
|
4175
|
+
if (malformedExtraField) {
|
|
4041
4176
|
addWarning(warnings, WARNING_MALFORMED_EXTRA_FIELD, filename);
|
|
4042
4177
|
}
|
|
4043
|
-
fileEntry.offset
|
|
4044
|
-
|
|
4045
|
-
|
|
4046
|
-
|
|
4047
|
-
|
|
4178
|
+
if (fileEntry.zip64ExtraFieldMissing && fileEntry.offset == MAX_32_BITS) {
|
|
4179
|
+
startOffset = 0;
|
|
4180
|
+
} else {
|
|
4181
|
+
fileEntry.offset += prependedDataLength;
|
|
4182
|
+
const entryPosition = getDiskOffset(reader, fileEntry.diskNumberStart) + fileEntry.offset;
|
|
4183
|
+
startOffset = Math.min(entryPosition, startOffset);
|
|
4184
|
+
if (entryPosition < previousEntryPosition) {
|
|
4185
|
+
addWarning(warnings, WARNING_UNSORTED_CENTRAL_DIRECTORY, filename);
|
|
4186
|
+
}
|
|
4187
|
+
previousEntryPosition = entryPosition;
|
|
4048
4188
|
}
|
|
4049
|
-
previousEntryPosition = entryPosition;
|
|
4050
4189
|
if ((fileEntry.version & MAX_8_BITS) > MAX_KNOWN_VERSION) {
|
|
4051
4190
|
addWarning(warnings, WARNING_UNKNOWN_VERSION, filename);
|
|
4052
4191
|
}
|
|
@@ -4066,9 +4205,10 @@ var init_zip_reader = __esm({
|
|
|
4066
4205
|
const sticky = Boolean(fileEntry.unixMode & FILE_ATTR_UNIX_STICKY_MASK);
|
|
4067
4206
|
const unixType = fileEntry.unixMode === UNDEFINED_VALUE ? unixExternalUpper : fileEntry.unixMode;
|
|
4068
4207
|
const symlink = (unixType & FILE_ATTR_UNIX_TYPE_MASK) == FILE_ATTR_UNIX_TYPE_SYMLINK;
|
|
4069
|
-
const executable = !symlink && (fileEntry.unixMode !== UNDEFINED_VALUE ? (fileEntry.unixMode & FILE_ATTR_UNIX_EXECUTABLE_MASK) != 0 : unixCompatible && (unixExternalUpper & FILE_ATTR_UNIX_EXECUTABLE_MASK) != 0);
|
|
4070
4208
|
const modeIsDir = fileEntry.unixMode !== UNDEFINED_VALUE && (fileEntry.unixMode & FILE_ATTR_UNIX_TYPE_MASK) == FILE_ATTR_UNIX_TYPE_DIR;
|
|
4071
4209
|
const upperIsDir = (unixExternalUpper & FILE_ATTR_UNIX_TYPE_MASK) == FILE_ATTR_UNIX_TYPE_DIR;
|
|
4210
|
+
const directory = modeIsDir || upperIsDir || msDosCompatible && msdosAttributes.directory || fileEntry.filename.endsWith(DIRECTORY_SIGNATURE);
|
|
4211
|
+
const executable = !symlink && !directory && (fileEntry.unixMode !== UNDEFINED_VALUE ? (fileEntry.unixMode & FILE_ATTR_UNIX_EXECUTABLE_MASK) != 0 : unixCompatible && (unixExternalUpper & FILE_ATTR_UNIX_EXECUTABLE_MASK) != 0);
|
|
4072
4212
|
Object.assign(fileEntry, {
|
|
4073
4213
|
setuid,
|
|
4074
4214
|
setgid,
|
|
@@ -4076,11 +4216,14 @@ var init_zip_reader = __esm({
|
|
|
4076
4216
|
symlink,
|
|
4077
4217
|
unixExternalUpper,
|
|
4078
4218
|
executable,
|
|
4079
|
-
directory
|
|
4219
|
+
directory,
|
|
4080
4220
|
zipCrypto: fileEntry.encrypted && !fileEntry.extraFieldAES
|
|
4081
4221
|
});
|
|
4082
4222
|
const entry = new Entry(fileEntry);
|
|
4083
|
-
|
|
4223
|
+
if (fileEntry.zip64ExtraFieldMissing) {
|
|
4224
|
+
zipReader.entriesMissingZip64ExtraField.add(entry);
|
|
4225
|
+
}
|
|
4226
|
+
entry.getData = (writer, options2) => fileEntry.getData(writer, entry, zipReader, options2);
|
|
4084
4227
|
entry.arrayBuffer = async (options2) => {
|
|
4085
4228
|
const writer = new TransformStream();
|
|
4086
4229
|
const arrayBufferPromise = streamToBlob(writer.readable).then((blob) => blob.arrayBuffer());
|
|
@@ -4089,7 +4232,7 @@ var init_zip_reader = __esm({
|
|
|
4089
4232
|
await fileEntry.getData(
|
|
4090
4233
|
writer,
|
|
4091
4234
|
entry,
|
|
4092
|
-
zipReader
|
|
4235
|
+
zipReader,
|
|
4093
4236
|
Object.assign({}, options2, { preventClose: false })
|
|
4094
4237
|
);
|
|
4095
4238
|
return arrayBufferPromise;
|
|
@@ -4133,10 +4276,10 @@ var init_zip_reader = __esm({
|
|
|
4133
4276
|
const extractPrependedData = getOptionValue(zipReader, options, OPTION_EXTRACT_PREPENDED_DATA);
|
|
4134
4277
|
const extractAppendedData = getOptionValue(zipReader, options, OPTION_EXTRACT_APPENDED_DATA);
|
|
4135
4278
|
const splitZipSignatureLength = (checkAmbiguity || extractPrependedData) && filesLength && startOffset == SPLIT_ZIP_FILE_SIGNATURE_LENGTH && await startsWithSplitZipMarker(reader) ? SPLIT_ZIP_FILE_SIGNATURE_LENGTH : 0;
|
|
4136
|
-
if (checkAmbiguity && (prependedDataLength || filesLength && startOffset > splitZipSignatureLength)) {
|
|
4279
|
+
if (checkAmbiguity && (prependedDataLength > 0 || filesLength && startOffset > splitZipSignatureLength)) {
|
|
4137
4280
|
throwAmbiguousArchive(WARNING_PREPENDED_DATA);
|
|
4138
4281
|
}
|
|
4139
|
-
if (prependedDataLength || filesLength && startOffset > SPLIT_ZIP_FILE_SIGNATURE_LENGTH) {
|
|
4282
|
+
if (prependedDataLength > 0 || filesLength && startOffset > SPLIT_ZIP_FILE_SIGNATURE_LENGTH) {
|
|
4140
4283
|
addWarning(warnings, WARNING_PREPENDED_DATA);
|
|
4141
4284
|
}
|
|
4142
4285
|
if (prependedCentralDirectory) {
|
|
@@ -4220,8 +4363,12 @@ var init_zip_reader = __esm({
|
|
|
4220
4363
|
options
|
|
4221
4364
|
});
|
|
4222
4365
|
}
|
|
4223
|
-
async getData(writer, fileEntry,
|
|
4366
|
+
async getData(writer, fileEntry, zipReader, options = {}) {
|
|
4224
4367
|
const zipEntry = this;
|
|
4368
|
+
const { readRanges, directoryOffset } = zipReader;
|
|
4369
|
+
if (zipEntry.zip64ExtraFieldMissing) {
|
|
4370
|
+
throw new Error(ERR_EXTRAFIELD_ZIP64_NOT_FOUND);
|
|
4371
|
+
}
|
|
4225
4372
|
const config3 = getConfiguration();
|
|
4226
4373
|
const {
|
|
4227
4374
|
reader,
|
|
@@ -4292,10 +4439,10 @@ var init_zip_reader = __esm({
|
|
|
4292
4439
|
}
|
|
4293
4440
|
validateLocalDirectory(zipEntry, localDirectory, rawLocalFilename, checkLocalFilename, checkLocalDirectory ? UNDEFINED_VALUE : warnings);
|
|
4294
4441
|
const { lastAccessDate, creationDate, uid, gid } = localDirectory;
|
|
4295
|
-
if (lastAccessDate) {
|
|
4442
|
+
if (lastAccessDate && fileEntry.lastAccessDate === UNDEFINED_VALUE) {
|
|
4296
4443
|
fileEntry.lastAccessDate = lastAccessDate;
|
|
4297
4444
|
}
|
|
4298
|
-
if (creationDate) {
|
|
4445
|
+
if (creationDate && fileEntry.creationDate === UNDEFINED_VALUE) {
|
|
4299
4446
|
fileEntry.creationDate = creationDate;
|
|
4300
4447
|
}
|
|
4301
4448
|
if (uid !== UNDEFINED_VALUE && fileEntry.uid === UNDEFINED_VALUE) {
|
|
@@ -4324,7 +4471,7 @@ var init_zip_reader = __esm({
|
|
|
4324
4471
|
throw new Error(ERR_ENCRYPTED);
|
|
4325
4472
|
}
|
|
4326
4473
|
}
|
|
4327
|
-
if (dataOffset + compressedSize > reader.size) {
|
|
4474
|
+
if (dataOffset + compressedSize > Math.min(reader.size, directoryOffset)) {
|
|
4328
4475
|
throw new Error(ERR_ENTRY_DATA_OUT_OF_BOUNDS);
|
|
4329
4476
|
}
|
|
4330
4477
|
const size = compressedSize;
|
|
@@ -4361,7 +4508,6 @@ var init_zip_reader = __esm({
|
|
|
4361
4508
|
encrypted,
|
|
4362
4509
|
useWebWorkers: getOptionValue(zipEntry, options, OPTION_USE_WEB_WORKERS),
|
|
4363
4510
|
useCompressionStream,
|
|
4364
|
-
transferStreams: getOptionValue(zipEntry, options, OPTION_TRANSFER_STREAMS),
|
|
4365
4511
|
deflate64,
|
|
4366
4512
|
format: registeredCodec ? registeredCodec.format : UNDEFINED_VALUE,
|
|
4367
4513
|
codecURI: registeredCodec ? registeredCodec.codecURI : UNDEFINED_VALUE,
|
|
@@ -4386,6 +4532,7 @@ var init_zip_reader = __esm({
|
|
|
4386
4532
|
extraFieldZip64: extraFieldZip64 || localDirectory.extraFieldZip64,
|
|
4387
4533
|
readRanges
|
|
4388
4534
|
});
|
|
4535
|
+
validateDataDescriptor(zipEntry, localDirectory, checkLocalDirectory ? UNDEFINED_VALUE : warnings);
|
|
4389
4536
|
}
|
|
4390
4537
|
let writable, abortError, aborted;
|
|
4391
4538
|
try {
|
|
@@ -4405,10 +4552,7 @@ var init_zip_reader = __esm({
|
|
|
4405
4552
|
writer.size += writtenSize;
|
|
4406
4553
|
}
|
|
4407
4554
|
} catch (error) {
|
|
4408
|
-
|
|
4409
|
-
if (failedOutputSize !== UNDEFINED_VALUE) {
|
|
4410
|
-
writer.size += failedOutputSize;
|
|
4411
|
-
} else if (isErrorObject(error) && error.outputSize !== UNDEFINED_VALUE) {
|
|
4555
|
+
if (isErrorObject(error) && error.outputSize !== UNDEFINED_VALUE) {
|
|
4412
4556
|
writer.size += error.outputSize;
|
|
4413
4557
|
}
|
|
4414
4558
|
if (!checkPasswordOnly || !isErrorObject(error) || error.message != ERR_ABORT_CHECK_PASSWORD) {
|
|
@@ -5274,16 +5418,16 @@ function parseOnePuxData(exportAttributesText, exportDataText, limits) {
|
|
|
5274
5418
|
return records;
|
|
5275
5419
|
}
|
|
5276
5420
|
|
|
5277
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
5421
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/zip-fs-wasm.js
|
|
5278
5422
|
init_configuration();
|
|
5279
5423
|
|
|
5280
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
5424
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/web-worker-inline-wasm.js
|
|
5281
5425
|
var t = new Uint8Array(288);
|
|
5282
5426
|
t.fill(8, 0, 144), t.fill(9, 144, 256), t.fill(7, 256, 280), t.fill(8, 280, 288), new Uint8Array(30).fill(5);
|
|
5283
5427
|
var n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
5284
5428
|
var e = (t3) => t3({ workerURI: (t4) => {
|
|
5285
5429
|
const e3 = "text/javascript";
|
|
5286
|
-
let r2 = '!function(t){"function"==typeof define&&define.amd?define(t):t()}(function(){"use strict";const{Array:t,Object:n,Number:e,Math:o,Error:r,Uint8Array:c,Uint16Array:s,Uint32Array:a,Int32Array:i,Map:f,DataView:u,Promise:w,TextEncoder:l,crypto:d,postMessage:p,TransformStream:h,ReadableStream:y,WritableStream:m,CompressionStream:S,DecompressionStream:g}=self,v=void 0,b="undefined",k="function",z=new c,C=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let n=t;for(let t=0;t<8;t++)n=1&n?n>>>1^3988292384:n>>>1;C[0][t]=n}for(let t=0;t<256;t++)for(let n=1;n<8;n++){const e=C[n-1][t];C[n][t]=e>>>8^C[0][255&e]}const[I,M,A,E,R,x,P,D]=C;class F{constructor(t){this.o=t||-1}append(t){let n=0|this.o;const e=0|t.length;let o=0;if(e>=8&&t.buffer){const r=new u(t.buffer,t.byteOffset,e),c=e-8;for(;o<=c;o+=8){const t=n^r.getInt32(o,!0),e=r.getInt32(o+4,!0);n=D[255&t]^P[t>>>8&255]^x[t>>>16&255]^R[t>>>24&255]^E[255&e]^A[e>>>8&255]^M[e>>>16&255]^I[e>>>24&255]}}for(;o<e;o++)n=n>>>8^I[255&(n^t[o])];this.o=n}get(){return~this.o}}class U extends h{constructor(){let t;const n=new F;super({transform(t,e){n.append(t),e.enqueue(t)},flush(){const e=new c(4);new u(e.buffer).setUint32(0,n.get()),t.value=e}}),t=this}}function B(t,n){const e=new c(t.length+n.length);return e.set(t),e.set(n,t.length),e}function W(t){return new u(t.buffer,t.byteOffset,t.byteLength)}const O=64,V=20,K=new c([128]),T=new c(1),_=new i([1732584193,4023233417,2562383102,271733878,3285377520]),j=new c(256),H=new i(256),L=new i(256),Z=new i(256),N=new i(256);let q=!1;function G(t,n){!function(){if(!q){let t=1,n=1;do{t=255&(t^t<<1^(128&t?27:0)),n=255&(n^n<<1),n=255&(n^n<<2),n=255&(n^n<<4),128&n&&(n^=9),j[t]=255&(n^(n<<1|n>>7)^(n<<2|n>>6)^(n<<3|n>>5)^(n<<4|n>>4)^99)}while(1!=t);j[0]=99;for(let t=0;t<256;t++){const n=j[t],e=Y(n),o=e<<24|n<<16|n<<8|e^n;H[t]=o,L[t]=o>>>8|o<<24,Z[t]=o>>>16|o<<16,N[t]=o>>>24|o<<8}q=!0}}();const e=new i(60),o=function(t,n){const e=t.length>>2,o=e+6,r=4*(o+1);let c=1;for(let o=0;o<e;o++)n[o]=t[4*o]<<24|t[4*o+1]<<16|t[4*o+2]<<8|t[4*o+3];for(let t=e;t<r;t++){let o=n[t-1];t%e==0?(o=Q(o<<8|o>>>24)^c<<24,c=Y(c)):e>6&&t%e==4&&(o=Q(o)),n[t]=n[t-e]^o}return o}(t,e),r=new i(4),c=J(n);let s=0,a=0,f=0,w=0;return{process(t,n){n&&c.update(t,0,t.length),function(t){const n=new u(t.buffer,t.byteOffset,t.byteLength),e=t.length;let o=0;for(;o+16<=e;o+=16)l(),n.setInt32(o,n.getInt32(o)^r[0]),n.setInt32(o+4,n.getInt32(o+4)^r[1]),n.setInt32(o+8,n.getInt32(o+8)^r[2]),n.setInt32(o+12,n.getInt32(o+12)^r[3]);if(o<e){l();for(let n=0;o<e;o++,n++)t[o]^=r[n>>2]>>>24-8*(3&n)}}(t),n||c.update(t,0,t.length)},digest:()=>c.digest()};function l(){s=s+1|0,s||(a=a+1|0,a||(f=f+1|0,f||(w=w+1|0)));let t=X(s)^e[0],n=X(a)^e[1],c=X(f)^e[2],i=X(w)^e[3],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[4],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[5],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[6],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[7];t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[8],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[9],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[10],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[11],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[12],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[13],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[14],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[15],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[16],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[17],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[18],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[19],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[20],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[21],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[22],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[23],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[24],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[25],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[26],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[27],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[28],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[29],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[30],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[31],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[32],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[33],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[34],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[35],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[36],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[37],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[38],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[39];let h=40;o>10&&(t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[40],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[41],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[42],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[43],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[44],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[45],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[46],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[47],h=48),o>12&&(t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[48],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[49],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[50],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[51],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[52],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[53],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[54],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[55],h=56),r[0]=(j[u>>>24]<<24|j[l>>>16&255]<<16|j[d>>>8&255]<<8|j[255&p])^e[h],r[1]=(j[l>>>24]<<24|j[d>>>16&255]<<16|j[p>>>8&255]<<8|j[255&u])^e[h+1],r[2]=(j[d>>>24]<<24|j[p>>>16&255]<<16|j[u>>>8&255]<<8|j[255&l])^e[h+2],r[3]=(j[p>>>24]<<24|j[u>>>16&255]<<16|j[l>>>8&255]<<8|j[255&d])^e[h+3]}}function J(t){const n=function(){const t=new i(_),n=new i(16),e=new c(O),r=new u(e.buffer),s=new c(8);let a=0,f=0;return{update:w,digest:function(){const n=8*f,e=o.floor(n/4294967296),r=n>>>0;for(w(K,0,1);56!=a;)w(T,0,1);s[0]=e>>>24,s[1]=e>>>16,s[2]=e>>>8,s[3]=e,s[4]=r>>>24,s[5]=r>>>16,s[6]=r>>>8,s[7]=r,w(s,0,8);const i=new c(V),l=new u(i.buffer);for(let n=0;n<t.length;n++)l.setInt32(4*n,t[n]);return t.set(_),a=0,f=0,i}};function w(t,n,o){const c=n+o;if(f+=o,a){for(;n<c&&a<O;)e[a++]=t[n++];a==O&&(l(r,0),a=0)}if(n+O<=c){const e=new u(t.buffer,t.byteOffset,t.byteLength);for(;n+O<=c;n+=O)l(e,n)}for(;n<c;)e[a++]=t[n++]}function l(e,o){for(let t=0;t<16;t++)n[t]=e.getInt32(o+4*t);let r,c=t[0],s=t[1],a=t[2],i=t[3],f=t[4];for(let t=0;t<15;t+=5)f=(c<<5|c>>>27)+((a^i)&s^i)+f+1518500249+n[t]|0,s=s<<30|s>>>2,i=(f<<5|f>>>27)+((s^a)&c^a)+i+1518500249+n[t+1]|0,c=c<<30|c>>>2,a=(i<<5|i>>>27)+((c^s)&f^s)+a+1518500249+n[t+2]|0,f=f<<30|f>>>2,s=(a<<5|a>>>27)+((f^c)&i^c)+s+1518500249+n[t+3]|0,i=i<<30|i>>>2,c=(s<<5|s>>>27)+((i^f)&a^f)+c+1518500249+n[t+4]|0,a=a<<30|a>>>2;f=(c<<5|c>>>27)+((a^i)&s^i)+f+1518500249+n[15]|0,s=s<<30|s>>>2,r=n[13]^n[8]^n[2]^n[0],r=r<<1|r>>>31,n[0]=r,i=(f<<5|f>>>27)+((s^a)&c^a)+i+1518500249+r|0,c=c<<30|c>>>2,r=n[14]^n[9]^n[3]^n[1],r=r<<1|r>>>31,n[1]=r,a=(i<<5|i>>>27)+((c^s)&f^s)+a+1518500249+r|0,f=f<<30|f>>>2,r=n[15]^n[10]^n[4]^n[2],r=r<<1|r>>>31,n[2]=r,s=(a<<5|a>>>27)+((f^c)&i^c)+s+1518500249+r|0,i=i<<30|i>>>2,r=n[0]^n[11]^n[5]^n[3],r=r<<1|r>>>31,n[3]=r,c=(s<<5|s>>>27)+((i^f)&a^f)+c+1518500249+r|0,a=a<<30|a>>>2;for(let t=20;t<40;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s^a^i)+f+1859775393+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c^s^a)+i+1859775393+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f^c^s)+a+1859775393+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i^f^c)+s+1859775393+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a^i^f)+c+1859775393+r|0,a=a<<30|a>>>2;for(let t=40;t<60;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s&a|(s|a)&i)+f+2400959708+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c&s|(c|s)&a)+i+2400959708+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f&c|(f|c)&s)+a+2400959708+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i&f|(i|f)&c)+s+2400959708+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a&i|(a|i)&f)+c+2400959708+r|0,a=a<<30|a>>>2;for(let t=60;t<80;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s^a^i)+f+3395469782+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c^s^a)+i+3395469782+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f^c^s)+a+3395469782+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i^f^c)+s+3395469782+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a^i^f)+c+3395469782+r|0,a=a<<30|a>>>2;t[0]=t[0]+c|0,t[1]=t[1]+s|0,t[2]=t[2]+a|0,t[3]=t[3]+i|0,t[4]=t[4]+f|0}}(),e=new c(O),r=new c(O);t.length>O&&(n.update(t,0,t.length),t=n.digest());for(let n=0;n<O;n++){const o=n<t.length?t[n]:0;e[n]=54^o,r[n]=92^o}return n.update(e,0,O),{update(t,e,o){n.update(t,e,o)},digest(){const t=n.digest();n.update(r,0,O),n.update(t,0,V);const o=n.digest();return n.update(e,0,O),o}}}function Q(t){return j[t>>>24]<<24|j[t>>>16&255]<<16|j[t>>>8&255]<<8|j[255&t]}function X(t){return t<<24|(65280&t)<<8|t>>>8&65280|t>>>24}function Y(t){return 255&(t<<1^27*(t>>7))}const $=typeof d!=b&&typeof d.getRandomValues==k,tt="Invalid password",nt="zipjs-abort-check-password";function et(t){if($)return d.getRandomValues(t);throw new r("Crypto API not supported")}const ot={name:"PBKDF2"},rt=n.assign({hash:{name:"HMAC"}},ot),ct=n.assign({iterations:1e3,hash:{name:"SHA-1"}},ot),st=["deriveBits"],at=[8,12,16],it=[16,24,32],ft=10,ut=typeof d!=b,wt=ut&&d.subtle;let lt=ut&&typeof wt!=b&&typeof wt.importKey==k&&typeof wt.deriveBits==k,dt=G;class pt extends h{constructor({password:t,rawPassword:n,encryptionStrength:e,checkPasswordOnly:o,checkAuthenticationCode:s=!0}){const a={};super({start(){yt(a,t,n,e)},async transform(t,n){const{password:e,strength:s,l:i,ready:f}=a;if(e?(await async function(t,n,e,o){const c=await vt(t,n,e,kt(o,0,at[n])),s=kt(o,at[n]);if(c[0]!=s[0]||c[1]!=s[1])throw gt(t),new r(tt)}(a,s,e,kt(t,0,at[s]+2)),t=kt(t,at[s]+2),o?(gt(a),n.error(new r(nt))):i()):await f,a.h)return;const u=new c(t.length-ft-(t.length-ft)%16);n.enqueue(St(a,t,u,0,ft,!0))},async flush(t){const{m:n,S:e,ready:o}=a;if(n){if(await o,a.h)return;const i=kt(e,e.length-ft),f=new c(kt(e,0,e.length-ft));n.process(f,!0);const u=n.digest();let w=e.length<ft?1:0;for(let t=0;t<ft;t++)w|=u[t]^i[t];if(w&&s)return void t.error(new r("Invalid authentication code"));t.enqueue(f)}}}),mt(this,a)}}class ht extends h{constructor({password:t,rawPassword:n,encryptionStrength:e}){const o={};super({start(){yt(o,t,n,e)},async transform(t,n){const{password:e,strength:r,l:s,ready:a}=o;let i=z;if(e?(i=await async function(t,n,e){const o=et(new c(at[n]));return B(o,await vt(t,n,e,o))}(o,r,e),s()):await a,o.h)return;const f=new c(i.length+t.length-t.length%16);f.set(i,0),n.enqueue(St(o,t,f,i.length,0,!1))},async flush(t){const{m:n,S:e,ready:r}=o;if(n){if(await r,o.h)return;const s=new c(e);n.process(s,!1);const a=kt(n.digest(),0,ft);t.enqueue(B(s,a))}}}),mt(this,o)}}function yt(t,e,o,r){n.assign(t,{ready:new w(n=>t.l=n),password:bt(e,o),strength:r-1,S:z,h:!1})}function mt(t,e){const o=t.readable.getReader(),r=new y({async pull(t){try{const{value:n,done:e}=await o.read();e?t.close():t.enqueue(n)}catch(t){throw gt(e),o.cancel(t).catch(()=>{}),t}},cancel:t=>(gt(e),o.cancel(t))});n.defineProperty(t,"readable",{get:()=>r})}function St(t,n,e,o,r,s){const{m:a,S:i}=t;i.length&&(n=B(i,n));const f=n.length-r,u=f-f%16;if(e=function(t,n){if(n&&n>t.length){const e=t;(t=new c(n)).set(e,0)}return t}(e,o+u),u){const t=kt(e,o,o+u);t.set(kt(n,0,u)),a.process(t,s)}return t.S=kt(n,u),e}function gt(t){const{m:n}=t;t.h=!0,n&&n.dispose&&n.dispose()}async function vt(t,e,r,s){t.password=null;const a=it[e],i=await async function(t,e,r){if(lt)try{const o=await wt.importKey("raw",t,rt,!1,st);return new c(await wt.deriveBits(n.assign({salt:e},ct),o,8*r))}catch{lt=!1}return function(t,n,e,r){const s=J(t),a=new c(r),i=new c(n.length+4),f=new u(i.buffer);i.set(n);for(let t=1,e=0;e<r;t++,e+=V){f.setUint32(n.length,t),s.update(i,0,i.length);let c=s.digest();const u=c.slice();for(let t=1;t<1e3;t++){s.update(c,0,V),c=s.digest();for(let t=0;t<V;t++)u[t]^=c[t]}a.set(u.subarray(0,o.min(V,r-e)),e)}return a}(t,e,0,r)}(r,s,2*a+2);return t.m=dt(kt(i,0,a),kt(i,a,2*a)),t.h&>(t),kt(i,2*a)}function bt(t,n){return n===v?function(t){if(typeof l==b){t=unescape(encodeURIComponent(t));const n=new c(t.length);for(let e=0;e<n.length;e++)n[e]=t.charCodeAt(e);return n}return(new l).encode(t)}(t):n}function kt(t,n,e){return t.subarray(n,e)}class zt extends h{constructor({password:t,rawPassword:n,passwordVerification:e,checkPasswordOnly:o}){super({start(){It(this,t,n,e)},transform(t,n){const e=this;if(e.password||e.rawPassword){const n=Mt(e,t.subarray(0,12));if(e.password=e.rawPassword=null,0!=(n[11]^e.passwordVerification))throw new r(tt);t=t.subarray(12)}o?n.error(new r(nt)):n.enqueue(Mt(e,t))}})}}class Ct extends h{constructor({password:t,rawPassword:n,passwordVerification:e}){super({start(){It(this,t,n,e)},transform(t,n){const e=this;let o,r;if(e.password||e.rawPassword){e.password=e.rawPassword=null;const n=et(new c(12));n[11]=e.passwordVerification,o=new c(t.length+n.length),o.set(At(e,n),0),r=12}else o=new c(t.length),r=0;o.set(At(e,t),r),n.enqueue(o)}})}}function It(t,e,o,r){n.assign(t,{password:e,rawPassword:o,passwordVerification:r}),function(t,e,o){const r=[305419896,591751049,878082192];if(n.assign(t,{v:r,C:new F(r[0]),I:new F(r[2])}),o)for(let n=0;n<o.length;n++)Et(t,o[n]);else for(let n=0;n<e.length;n++)Et(t,e.charCodeAt(n))}(t,e,o)}function Mt(t,n){const e=new c(n.length);for(let o=0;o<n.length;o++)e[o]=Rt(t)^n[o],Et(t,e[o]);return e}function At(t,n){const e=new c(n.length);for(let o=0;o<n.length;o++)e[o]=Rt(t)^n[o],Et(t,n[o]);return e}function Et(t,n){let[,e]=t.v;t.C.append([n]);const r=~t.C.get();e=Pt(o.imul(Pt(e+xt(r)),134775813)+1),t.I.append([e>>>24]);const c=~t.I.get();t.v=[r,e,c]}function Rt(t){const n=2|t.v[2];return xt(o.imul(n,1^n)>>>8)}function xt(t){return 255&t}function Pt(t){return 4294967295&t}function Dt(t){if(t instanceof y)return t;const n=t.getReader();return new y({async pull(t){try{const{value:e,done:o}=await n.read();o?t.close():t.enqueue(e)}catch(t){throw n.cancel(t).catch(()=>{}),t}},cancel:t=>n.cancel(t)})}function Ft(t){return Boolean(t)&&"object"==typeof t}const Ut=new f;function Bt(t){return Ut.get(t)}const Wt="Invalid uncompressed size",Ot="Codec out of memory",Vt="Invalid CRC32",Kt="deflate-raw",Tt="gzip",_t=[31,139,8];class jt extends h{constructor(t,{chunkSize:n,CompressionStreamFallback:e,CompressionStream:o}){super({});const{compressed:r,encrypted:c,useCompressionStream:s,zipCrypto:a,computeCrc32:i,level:f,deflate64:w,format:l,compressionMethod:d,inputSize:p}=t,h=this;let y,m,S,g=super.readable;const v=l&&Bt(l),b=Gt(s,o,e),k=i&&r&&!w&&!v&&(!c||a)&&Boolean(b);if(c&&!a||!i||k||(y=new U,g=Qt(g,y)),r)if(v)g=Xt(g,qt(v.CompressionStream,l,{level:f,chunkSize:n,compressionMethod:d,uncompressedSize:p}));else if(k)S=new Ht,g=Xt(g,new b(Tt,{level:f,chunkSize:n})),g=Qt(g,S);else try{g=Jt(g,s,{level:f,chunkSize:n},o,e)}catch(t){if(!s&&e)throw en(t);let n;try{n=new o(Tt)}catch{throw en(t)}g=Xt(g,n),g=Qt(g,new Ht)}c&&(a?g=Qt(g,new Ct(t)):(m=new ht(t),g=Qt(g,m))),Nt(h,g,()=>{c&&!a||!i||(h.crc32=k?S.crc32:new u(y.value.buffer).getUint32(0))})}}class Ht extends h{constructor(){let t,n=10,e=new c(0);super({transform(t,r){if(n){const e=o.min(n,t.length);if(n-=e,!(t=t.subarray(e)).length)return}const c=e.length+t.length;if(c<=8)return void(e=B(e,t));const s=c-8,a=o.min(s,e.length);r.enqueue(B(e.subarray(0,a),t.subarray(0,s-a))),e=B(e.subarray(a),t.subarray(s-a))},flush(){const n=W(e);t.crc32=n.getUint32(0,!0),t.uncompressedSize=n.getUint32(4,!0)}}),t=this}}class Lt extends h{constructor(t,{chunkSize:n,DecompressionStreamFallback:e,DecompressionStream:o}){super({});const{zipCrypto:s,encrypted:a,checkCrc32:i,crc32:f,compressed:l,useCompressionStream:d,deflate64:p,format:h,compressionMethod:m,rawBitFlag:S,outputSize:g}=t;let b,k,z,C=super.readable;if(a&&(s?C=Qt(C,new zt(t)):(k=new pt(t),C=Qt(C,k))),l){const t=new Set,s=h&&Bt(h);let a;if(s)C=Xt(C,qt(s.DecompressionStream,h,{chunkSize:n,compressionMethod:m,rawBitFlag:S,uncompressedSize:g}),t);else{const r=Gt(d,o,e);if(i&&!p&&f!==v&&g!==v&&r)try{a=new r(Tt,{chunkSize:n})}catch{a=v}if(!a)try{C=Jt(C,d,{chunkSize:n,deflate64:p},o,e,t)}catch(t){if(p||g===v||!d&&e)throw en(t);try{a=new o(Tt)}catch{throw en(t)}}}a?(z=!0,C=function(t,n,e,o,s){const a=n.writable.getWriter(),i=n.readable.getReader(),f=o===v?new F:v;let u,l,d=0,p=!1,h=!1;const m=new y({start(t){l=t},pull(){b()},cancel:t=>(h=!0,b(),i.cancel(t))});return async function(){const n=t.getReader();try{const t=new c(10);for(t.set(_t),await a.write(t);;){await g(),await a.ready;const{value:t,done:e}=await tn(n,s);if(e)break;await a.write(t)}f&&await a.write(new c(0));const r=new c(8),i=W(r);i.setUint32(0,f?f.get():o,!0),i.setUint32(4,e,!0),p=!0,await a.write(r),await a.close()}catch(t){await Yt(a,t),await $t(n,t)}}(),async function(){try{for(;;){const{value:t,done:n}=await S();if(n)break;if(d+=t.length,d>e)throw new r(Wt);f&&f.append(t),l.enqueue(t)}h||(h=!0,l.close())}catch(t){!function(t){h||(h=!0,l.error(t),b())}(t),await $t(i,t)}}(),m;function S(){return i.read().catch(t=>{if(p){if(!f)throw rn(t,Vt);if(d!=e)throw rn(t,Wt);return{done:!0}}throw nn(t,s)})}function g(){if(!h&&l.desiredSize<=0)return new w(t=>u=t)}function b(){if(u){const t=u;u=v,t()}}}(C,a,g,f,t)):C=function(t,n){const e=t.getReader();return new y({async pull(t){try{const{value:n,done:o}=await e.read();o?t.close():t.enqueue(n)}catch(t){throw await $t(e,t),nn(t,n)}},cancel:t=>e.cancel(t)})}(C,t)}i&&!z&&(b=new U,C=Qt(C,b)),Nt(this,C,()=>{if(b){const t=new u(b.value.buffer).getUint32(0,!1);if(f!=t)throw new r(Vt)}})}}const Zt=new f;function Nt(t,e,o){e=Qt(e,new h({flush:o})),n.defineProperty(t,"readable",{get:()=>e})}function qt(t,n,e){if(!t)throw new r("Compression method not supported");return new t(n,e)}function Gt(t,n,e){return t&&n?n:e&&e.requiresModule?e:void 0}function Jt(t,n,e,o,r,c){const s=n&&o?o:r||o,a=e.deflate64?"deflate64-raw":Kt;let i;try{i=new s(a,e)}catch(t){if(!n||!r||s==r)throw t;i=new r(a,e)}return Xt(t,i,c)}function Qt(t,n){return Dt(t).pipeThrough(n)}function Xt(t,n,e){const o=n.writable.getWriter(),r=t.getReader();return async function(){try{for(;;){await o.ready;const t=await tn(r,e);if(t.done){await o.close();break}await o.write(t.value)}}catch(t){await Yt(o,t),await $t(r,t)}}(),n.readable}async function Yt(t,n){try{await t.abort(n)}catch{}}async function $t(t,n){try{await t.cancel(n)}catch{}}function tn(t,n){const e=t.read();return n?e.catch(t=>{throw n.add(t),t}):e}function nn(t,n){return n.has(t)?t:rn(t,on(t)?Ot:"Invalid compressed data")}function en(t){return on(t)?rn(t,Ot):t}function on(t){return Ft(t)&&"Z_MEM_ERROR"==t.code}function rn(t,n){const e=new r(n);return e.cause=t,e}const cn="data",sn="deflate";class an extends h{constructor(t,e){super({});const o=this,{codecType:c}=t;let s;c.startsWith(sn)?s=jt:c.startsWith("inflate")&&(s=Lt),o.outputSize=0;let a=0;const i=new s(t,e),f=super.readable,u=new h({transform(t,n){t&&t.length&&(a+=t.length,n.enqueue(t))},flush(){n.assign(o,{inputSize:a})}}),w=new h({transform(n,e){if(n&&n.length&&(e.enqueue(n),o.outputSize+=n.length,t.outputSize!==v&&o.outputSize>t.outputSize))throw new r(Wt)},flush(){const{crc32:t}=i;n.assign(o,{crc32:t,inputSize:a})}});n.defineProperty(o,"readable",{get:()=>f.pipeThrough(u).pipeThrough(i).pipeThrough(w)})}}class fn extends h{constructor(t){const o=[];let r=0,s=0;function a(){const n=new c(t);let e=0;for(;e<t;){const r=o[0],c=t-e;r.length<=c?(n.set(r,e),e+=r.length,o.shift()):(n.set(r.subarray(0,c),e),o[0]=r.subarray(c),e+=c)}return r-=t,n}(!e.isFinite(t)||t<1)&&(t=65536),super({transform(n,e){for(o.push(n),r+=n.length;r>t;)s+=t,e.enqueue(a())},flush(t){r&&(s+=r,t.enqueue(function(t,n){const e=new c(n);let o=0;for(const n of t)e.set(n,o),o+=n.length;return e}(o,r)))}}),n.defineProperty(this,"outputSize",{get:()=>s})}}let un=2;try{typeof navigator!=b&&navigator.hardwareConcurrency&&(un=navigator.hardwareConcurrency)}catch{}const wn=new f,ln=new f,dn=function(){try{return structuredClone(new r)instanceof r}catch{return!1}}();let pn=0;async function hn(t){let n,c,s;try{const{options:a,config:i}=t;if(a.format)try{await async function(t,n){!Ut.has(t)&&n&&function(t,n){const{CompressionStream:e,DecompressionStream:o}=n;if(typeof e!=k&&typeof o!=k)throw new r("Invalid codec module");Ut.set(t,{CompressionStream:e,DecompressionStream:o})}(t,await(import(n)))}(a.format,a.codecURI)}catch(t){if(Ft(t))try{t.codecImportFailed=!0}catch{}throw t}if(i.CompressionStream=self.CompressionStream,i.DecompressionStream=self.DecompressionStream,a.compressed&&!a.format)if(a.useCompressionStream){if(!function(t,n){if(!t)return!1;let e=Zt.get(t);e||(e=new f,Zt.set(t,e));let o=e.get(n);if(o===v){try{new t(n),o=!0}catch{o=!1}e.set(n,o)}return o}(a.codecType.startsWith(sn)?i.CompressionStream:i.DecompressionStream,Kt))try{await self.initModule(t.config)}catch{}}else try{await self.initModule(t.config)}catch{a.useCompressionStream=!0}if(a.encrypted&&!a.zipCrypto)try{await self.initModule(t.config)}catch{}!i.CompressionStreamFallback&&i.CompressionStreamZlib&&(i.CompressionStreamFallback=i.CompressionStreamZlib),!i.DecompressionStreamFallback&&i.DecompressionStreamZlib&&(i.DecompressionStreamFallback=i.DecompressionStreamZlib);const u={highWaterMark:1},l=t.readable?Dt(t.readable):new y({async pull(t){const n=new w(t=>wn.set(pn,t));yn({type:"pull",messageId:pn}),pn=(pn+1)%e.MAX_SAFE_INTEGER;const{value:o,done:r}=await n;t.enqueue(o),r&&t.close()}},u);s=t.writable?function(t){if(t instanceof m)return t;const n=t.getWriter();return new m({write:t=>n.write(t),close:()=>n.close(),abort:t=>n.abort(t)})}(t.writable):new m({async write(t){let n;const o=new w(t=>n=t);ln.set(pn,n),yn({type:cn,value:t,messageId:pn}),pn=(pn+1)%e.MAX_SAFE_INTEGER,await o}},u),n=new an(a,i),c=new fn(function(t){return r="string"==typeof(n=r=t.chunkSize)&&n.trim()?e(n):n,e.isInteger(r)&&r>=1?o.max(r,64):65536;var n,r}(i)),await l.pipeThrough(n).pipeThrough(c).pipeTo(s,{preventClose:!0,preventAbort:!0}),await s.getWriter().close();const{crc32:d,inputSize:p,outputSize:h}=n;yn({type:"close",result:{crc32:d,inputSize:p,outputSize:h}})}catch(t){const n=c?c.outputSize:0;if(Ft(t))try{t.outputSize=n}catch{}if(s&&!s.locked)try{await s.getWriter().close()}catch{}mn(t,n)}}function yn(t){const{value:n}=t;if(n)if(n.length)try{t.value=(e=n,e.byteOffset||e.byteLength!=e.buffer.byteLength?new c(e):e).buffer,p(t,[t.value])}catch{p(t)}else p(t);else p(t);var e}function mn(t,n){const{message:e,stack:o,code:c,name:s,outputSize:a,cause:i,codecImportFailed:f}=function(t=new r("Unknown error")){return Ft(t)?t:new r(String(t))}(t),u={message:e,stack:o,code:c,name:s,outputSize:a===v?n:a};if(Ft(i)&&(u.cause={name:i.name,message:i.message,code:i.code}),f&&(u.codecImportFailed=!0),dn)try{return void p({error:u,errorValue:{value:t}})}catch{}p({error:u})}addEventListener("message",({data:t})=>{const{type:n,messageId:e,value:o,done:r}=t;try{if("start"==n&&hn(t),n==cn){const t=wn.get(e);wn.delete(e),t({value:o||new c,done:r})}if("ack"==n){const t=ln.get(e);ln.delete(e),t()}}catch(t){mn(t)}}),p({type:"ready"});const Sn="deflate",gn="deflate-raw",vn="deflate64-raw",bn="gzip",kn=[Sn,gn,bn],zn=[Sn,gn,bn,vn];let Cn,In,Mn,An,En;function Rn(t,n){return-4===n&&(t.code="Z_MEM_ERROR"),t}function xn(t,n,e={}){if(!(t?kn:zn).includes(n))throw new TypeError("Unsupported format: "+n);if(!Cn){const t=new r("WASM module not loaded");throw t.cause=En,t}const s="number"==typeof e.level?e.level:-1,a="number"==typeof e.outBuffer?e.outBuffer:65536,i="number"==typeof e.inBufferSize?e.inBufferSize:65536,f={M:0,in:0,inBufferSize:0,A:0,R:!1};let u,l,d,p,h=!0,S=!1;return function(){try{let e;if(f.M=In(a),f.in=In(i),f.inBufferSize=i,!f.M||!f.in)throw Rn(new r("allocation failed"),-4);if(t?(f.P=Cn.deflate_process,f.D=Cn.deflate_last_consumed,f.F=Cn.deflate_end,f.A=Cn.deflate_new(),e=n===bn?Cn.deflate_init_gzip(f.A,s):n===gn?Cn.deflate_init_raw(f.A,s):Cn.deflate_init(f.A,s)):n===vn?(f.P=Cn.inflate9_process,f.D=Cn.inflate9_last_consumed,f.F=Cn.inflate9_end,f.A=Cn.inflate9_new(),e=Cn.inflate9_init_raw(f.A)):(f.P=Cn.inflate_process,f.D=Cn.inflate_last_consumed,f.F=Cn.inflate_end,f.A=Cn.inflate_new(),e=n===gn?Cn.inflate_init_raw(f.A):n===bn?Cn.inflate_init_gzip(f.A):Cn.inflate_init(f.A)),0!==e)throw Rn(new r("init failed:"+e),e)}catch(t){throw b(f),t}}(),{readable:new y({start(t){u=t},pull(){h=!1,v()},cancel(t){S=!0,p=t,b(f),l.error(t),v()}},{highWaterMark:0}),writable:new m({start(t){l=t},async write(t){if(h&&await new w(t=>d=t),S)throw p;try{!function(t){const n=new c(An.buffer),e=f.P,s=f.D,i=f.M;let u=0;for(;u<t.length;){if(f.R)throw new r("trailing data after the end of the stream");const c=o.min(t.length-u,32768);if((!f.in||f.inBufferSize<c)&&(f.in&&Mn&&(Mn(f.in),f.in=0),f.in=In(c),f.inBufferSize=c,!f.in))throw Rn(new r("allocation failed"),-4);n.set(t.subarray(u,u+c),f.in);const w=e(f.A,f.in,c,i,a,0),l=w>>24&255,d=128&l?l-256:l;if(d<0)throw Rn(new r("process error:"+d),d);const p=16777215&w;p&&g(n.slice(i,i+p));const h=s(f.A);if(1===l)f.R=!0;else if(0===h&&0===p)break;u+=h}}(t)}catch(t){throw b(f),u.error(t),t}},close(){if(S)return;try{!function(){const t=new c(An.buffer),n=f.P,e=f.M;for(;;){const o=n(f.A,0,0,e,a,4),c=o>>24&255,s=128&c?c-256:c;if(s<0)throw Rn(new r("process error:"+s),s);const i=16777215&o;if(i&&g(t.slice(e,e+i)),1===c||0===i)break}}()}catch(t){throw b(f),u.error(t),t}const t=b(f);if(0!==t){const n=Rn(new r("end error:"+t),t);throw u.error(n),n}u.close()},abort(t){b(f),u.error(t)}},{highWaterMark:1})};function g(t){h=!0,u.enqueue(t)}function v(){if(d){const t=d;d=null,t()}}function b(t){let n=0;return t.A&&t.F&&(n=t.F(t.A)),t.A=0,t.in&&Mn&&Mn(t.in),t.in=0,t.M&&Mn&&Mn(t.M),t.M=0,n}}class Pn{constructor(t=Sn,n){return xn(!0,t,n)}}class Dn{constructor(t=Sn,n){return xn(!1,t,n)}}Pn.requiresModule=!0,Dn.requiresModule=!0,Pn.supportedFormats=kn,Dn.supportedFormats=zn;const Fn=65536;let Un,Bn;function Wn(t){return new c(t.memory.buffer)}let On=!1;!function(t={}){const{init:n,U:e}=t,o=t.CompressionStreamFallback||t.CompressionStreamZlib,r=t.DecompressionStreamFallback||t.DecompressionStreamZlib;e&&(dt=e||G),self.initModule=async t=>{n&&await n(t),o&&(t.CompressionStreamFallback=o),r&&(t.DecompressionStreamFallback=r)}}({CompressionStreamFallback:Pn,DecompressionStreamFallback:Dn,U:function(t,n){const e=Un;let o=e?function(t,n,e){Bn||(Bn=t.malloc(Fn));const o=Bn?t.aes_hmac_new():0;if(o){const r=Wn(t);if(r.set(n,Bn),r.set(e,Bn+n.length),t.aes_hmac_init(o,Bn,n.length,Bn+n.length,e.length))return t.aes_hmac_end(o,0),0}return o}(e,t,n):0;if(!o)return G(t,n);const r=Bn;return{process(t,n){for(let c=0;c<t.length;c+=Fn){const s=t.subarray(c,c+Fn),a=Wn(e);a.set(s,r),e.aes_hmac_process(o,r,s.length,n?1:0),s.set(a.subarray(r,r+s.length))}},digest:()=>(e.aes_hmac_end(o,r),o=0,Wn(e).slice(r,r+20)),dispose(){o&&(e.aes_hmac_end(o,0),o=0)}}},init:t=>async function(t,{baseURI:n}){if(!On)try{await async function(t,n){let e,o;try{try{o=new URL(t,n)}catch{}const r=await fetch(o);e=await r.arrayBuffer()}catch(n){if(!t.startsWith("data:application/wasm;base64,"))throw n;e=function(t){const n=t.split(",")[1],e=atob(n),o=e.length,r=new c(o);for(let t=0;t<o;++t)r[t]=e.charCodeAt(t);return r.buffer}(t)}const s=await WebAssembly.instantiate(e);var a;(function(t){if(Cn=t,({malloc:In,free:Mn,memory:An}=Cn),"function"!=typeof In||"function"!=typeof Mn||!An)throw Cn=In=Mn=An=null,new r("Invalid WASM module")})(s.instance.exports),typeof(a=s.instance.exports).aes_hmac_new==k&&(Un=a,Bn=0)}(t,n),On=!0}catch(t){throw function(t){En=t}(t),t}}(t.wasmURI,t)})});\n';
|
|
5430
|
+
let r2 = '!function(t){"function"==typeof define&&define.amd?define(t):t()}(function(){"use strict";const{Array:t,Object:n,Number:e,Math:o,Error:r,Uint8Array:c,Uint16Array:s,Uint32Array:a,Int32Array:i,Map:f,DataView:u,Promise:w,TextEncoder:l,crypto:d,postMessage:p,TransformStream:h,ReadableStream:y,WritableStream:m,CompressionStream:S,DecompressionStream:g}=self,v=void 0,b="undefined",k="function",z=new c,C=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let n=t;for(let t=0;t<8;t++)n=1&n?n>>>1^3988292384:n>>>1;C[0][t]=n}for(let t=0;t<256;t++)for(let n=1;n<8;n++){const e=C[n-1][t];C[n][t]=e>>>8^C[0][255&e]}const[I,M,A,E,R,x,P,D]=C;class F{constructor(t){this.o=t||-1}append(t){let n=0|this.o;const e=0|t.length;let o=0;if(e>=8&&t.buffer){const r=new u(t.buffer,t.byteOffset,e),c=e-8;for(;o<=c;o+=8){const t=n^r.getInt32(o,!0),e=r.getInt32(o+4,!0);n=D[255&t]^P[t>>>8&255]^x[t>>>16&255]^R[t>>>24&255]^E[255&e]^A[e>>>8&255]^M[e>>>16&255]^I[e>>>24&255]}}for(;o<e;o++)n=n>>>8^I[255&(n^t[o])];this.o=n}get(){return~this.o}}class U extends h{constructor(){let t;const n=new F;super({transform(t,e){n.append(t),e.enqueue(t)},flush(){const e=new c(4);new u(e.buffer).setUint32(0,n.get()),t.value=e}}),t=this}}function B(t,n){const e=new c(t.length+n.length);return e.set(t),e.set(n,t.length),e}function W(t){return new u(t.buffer,t.byteOffset,t.byteLength)}const O=64,V=20,K=new c([128]),T=new c(1),_=new i([1732584193,4023233417,2562383102,271733878,3285377520]),j=new c(256),H=new i(256),L=new i(256),Z=new i(256),N=new i(256);let q=!1;function G(t,n){!function(){if(!q){let t=1,n=1;do{t=255&(t^t<<1^(128&t?27:0)),n=255&(n^n<<1),n=255&(n^n<<2),n=255&(n^n<<4),128&n&&(n^=9),j[t]=255&(n^(n<<1|n>>7)^(n<<2|n>>6)^(n<<3|n>>5)^(n<<4|n>>4)^99)}while(1!=t);j[0]=99;for(let t=0;t<256;t++){const n=j[t],e=Y(n),o=e<<24|n<<16|n<<8|e^n;H[t]=o,L[t]=o>>>8|o<<24,Z[t]=o>>>16|o<<16,N[t]=o>>>24|o<<8}q=!0}}();const e=new i(60),o=function(t,n){const e=t.length>>2,o=e+6,r=4*(o+1);let c=1;for(let o=0;o<e;o++)n[o]=t[4*o]<<24|t[4*o+1]<<16|t[4*o+2]<<8|t[4*o+3];for(let t=e;t<r;t++){let o=n[t-1];t%e==0?(o=Q(o<<8|o>>>24)^c<<24,c=Y(c)):e>6&&t%e==4&&(o=Q(o)),n[t]=n[t-e]^o}return o}(t,e),r=new i(4),c=J(n);let s=0,a=0,f=0,w=0;return{process(t,n){n&&c.update(t,0,t.length),function(t){const n=new u(t.buffer,t.byteOffset,t.byteLength),e=t.length;let o=0;for(;o+16<=e;o+=16)l(),n.setInt32(o,n.getInt32(o)^r[0]),n.setInt32(o+4,n.getInt32(o+4)^r[1]),n.setInt32(o+8,n.getInt32(o+8)^r[2]),n.setInt32(o+12,n.getInt32(o+12)^r[3]);if(o<e){l();for(let n=0;o<e;o++,n++)t[o]^=r[n>>2]>>>24-8*(3&n)}}(t),n||c.update(t,0,t.length)},digest:()=>c.digest()};function l(){s=s+1|0,s||(a=a+1|0,a||(f=f+1|0,f||(w=w+1|0)));let t=X(s)^e[0],n=X(a)^e[1],c=X(f)^e[2],i=X(w)^e[3],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[4],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[5],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[6],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[7];t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[8],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[9],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[10],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[11],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[12],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[13],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[14],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[15],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[16],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[17],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[18],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[19],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[20],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[21],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[22],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[23],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[24],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[25],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[26],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[27],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[28],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[29],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[30],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[31],t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[32],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[33],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[34],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[35],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[36],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[37],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[38],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[39];let h=40;o>10&&(t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[40],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[41],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[42],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[43],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[44],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[45],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[46],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[47],h=48),o>12&&(t=H[u>>>24]^L[l>>>16&255]^Z[d>>>8&255]^N[255&p]^e[48],n=H[l>>>24]^L[d>>>16&255]^Z[p>>>8&255]^N[255&u]^e[49],c=H[d>>>24]^L[p>>>16&255]^Z[u>>>8&255]^N[255&l]^e[50],i=H[p>>>24]^L[u>>>16&255]^Z[l>>>8&255]^N[255&d]^e[51],u=H[t>>>24]^L[n>>>16&255]^Z[c>>>8&255]^N[255&i]^e[52],l=H[n>>>24]^L[c>>>16&255]^Z[i>>>8&255]^N[255&t]^e[53],d=H[c>>>24]^L[i>>>16&255]^Z[t>>>8&255]^N[255&n]^e[54],p=H[i>>>24]^L[t>>>16&255]^Z[n>>>8&255]^N[255&c]^e[55],h=56),r[0]=(j[u>>>24]<<24|j[l>>>16&255]<<16|j[d>>>8&255]<<8|j[255&p])^e[h],r[1]=(j[l>>>24]<<24|j[d>>>16&255]<<16|j[p>>>8&255]<<8|j[255&u])^e[h+1],r[2]=(j[d>>>24]<<24|j[p>>>16&255]<<16|j[u>>>8&255]<<8|j[255&l])^e[h+2],r[3]=(j[p>>>24]<<24|j[u>>>16&255]<<16|j[l>>>8&255]<<8|j[255&d])^e[h+3]}}function J(t){const n=function(){const t=new i(_),n=new i(16),e=new c(O),r=new u(e.buffer),s=new c(8);let a=0,f=0;return{update:w,digest:function(){const n=8*f,e=o.floor(n/4294967296),r=n>>>0;for(w(K,0,1);56!=a;)w(T,0,1);s[0]=e>>>24,s[1]=e>>>16,s[2]=e>>>8,s[3]=e,s[4]=r>>>24,s[5]=r>>>16,s[6]=r>>>8,s[7]=r,w(s,0,8);const i=new c(V),l=new u(i.buffer);for(let n=0;n<t.length;n++)l.setInt32(4*n,t[n]);return t.set(_),a=0,f=0,i}};function w(t,n,o){const c=n+o;if(f+=o,a){for(;n<c&&a<O;)e[a++]=t[n++];a==O&&(l(r,0),a=0)}if(n+O<=c){const e=new u(t.buffer,t.byteOffset,t.byteLength);for(;n+O<=c;n+=O)l(e,n)}for(;n<c;)e[a++]=t[n++]}function l(e,o){for(let t=0;t<16;t++)n[t]=e.getInt32(o+4*t);let r,c=t[0],s=t[1],a=t[2],i=t[3],f=t[4];for(let t=0;t<15;t+=5)f=(c<<5|c>>>27)+((a^i)&s^i)+f+1518500249+n[t]|0,s=s<<30|s>>>2,i=(f<<5|f>>>27)+((s^a)&c^a)+i+1518500249+n[t+1]|0,c=c<<30|c>>>2,a=(i<<5|i>>>27)+((c^s)&f^s)+a+1518500249+n[t+2]|0,f=f<<30|f>>>2,s=(a<<5|a>>>27)+((f^c)&i^c)+s+1518500249+n[t+3]|0,i=i<<30|i>>>2,c=(s<<5|s>>>27)+((i^f)&a^f)+c+1518500249+n[t+4]|0,a=a<<30|a>>>2;f=(c<<5|c>>>27)+((a^i)&s^i)+f+1518500249+n[15]|0,s=s<<30|s>>>2,r=n[13]^n[8]^n[2]^n[0],r=r<<1|r>>>31,n[0]=r,i=(f<<5|f>>>27)+((s^a)&c^a)+i+1518500249+r|0,c=c<<30|c>>>2,r=n[14]^n[9]^n[3]^n[1],r=r<<1|r>>>31,n[1]=r,a=(i<<5|i>>>27)+((c^s)&f^s)+a+1518500249+r|0,f=f<<30|f>>>2,r=n[15]^n[10]^n[4]^n[2],r=r<<1|r>>>31,n[2]=r,s=(a<<5|a>>>27)+((f^c)&i^c)+s+1518500249+r|0,i=i<<30|i>>>2,r=n[0]^n[11]^n[5]^n[3],r=r<<1|r>>>31,n[3]=r,c=(s<<5|s>>>27)+((i^f)&a^f)+c+1518500249+r|0,a=a<<30|a>>>2;for(let t=20;t<40;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s^a^i)+f+1859775393+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c^s^a)+i+1859775393+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f^c^s)+a+1859775393+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i^f^c)+s+1859775393+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a^i^f)+c+1859775393+r|0,a=a<<30|a>>>2;for(let t=40;t<60;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s&a|(s|a)&i)+f+2400959708+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c&s|(c|s)&a)+i+2400959708+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f&c|(f|c)&s)+a+2400959708+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i&f|(i|f)&c)+s+2400959708+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a&i|(a|i)&f)+c+2400959708+r|0,a=a<<30|a>>>2;for(let t=60;t<80;t+=5)r=n[t-3&15]^n[t-8&15]^n[t-14&15]^n[15&t],r=r<<1|r>>>31,n[15&t]=r,f=(c<<5|c>>>27)+(s^a^i)+f+3395469782+r|0,s=s<<30|s>>>2,r=n[t-2&15]^n[t-7&15]^n[t-13&15]^n[t+1&15],r=r<<1|r>>>31,n[t+1&15]=r,i=(f<<5|f>>>27)+(c^s^a)+i+3395469782+r|0,c=c<<30|c>>>2,r=n[t-1&15]^n[t-6&15]^n[t-12&15]^n[t+2&15],r=r<<1|r>>>31,n[t+2&15]=r,a=(i<<5|i>>>27)+(f^c^s)+a+3395469782+r|0,f=f<<30|f>>>2,r=n[15&t]^n[t-5&15]^n[t-11&15]^n[t+3&15],r=r<<1|r>>>31,n[t+3&15]=r,s=(a<<5|a>>>27)+(i^f^c)+s+3395469782+r|0,i=i<<30|i>>>2,r=n[t+1&15]^n[t-4&15]^n[t-10&15]^n[t+4&15],r=r<<1|r>>>31,n[t+4&15]=r,c=(s<<5|s>>>27)+(a^i^f)+c+3395469782+r|0,a=a<<30|a>>>2;t[0]=t[0]+c|0,t[1]=t[1]+s|0,t[2]=t[2]+a|0,t[3]=t[3]+i|0,t[4]=t[4]+f|0}}(),e=new c(O),r=new c(O);t.length>O&&(n.update(t,0,t.length),t=n.digest());for(let n=0;n<O;n++){const o=n<t.length?t[n]:0;e[n]=54^o,r[n]=92^o}return n.update(e,0,O),{update(t,e,o){n.update(t,e,o)},digest(){const t=n.digest();n.update(r,0,O),n.update(t,0,V);const o=n.digest();return n.update(e,0,O),o}}}function Q(t){return j[t>>>24]<<24|j[t>>>16&255]<<16|j[t>>>8&255]<<8|j[255&t]}function X(t){return t<<24|(65280&t)<<8|t>>>8&65280|t>>>24}function Y(t){return 255&(t<<1^27*(t>>7))}const $=typeof d!=b&&typeof d.getRandomValues==k,tt="Invalid password",nt="zipjs-abort-check-password";function et(t){if($)return d.getRandomValues(t);throw new r("Crypto API not supported")}const ot={name:"PBKDF2"},rt=n.assign({hash:{name:"HMAC"}},ot),ct=n.assign({iterations:1e3,hash:{name:"SHA-1"}},ot),st=["deriveBits"],at=[8,12,16],it=[16,24,32],ft=10,ut=typeof d!=b,wt=ut&&d.subtle;let lt=ut&&typeof wt!=b&&typeof wt.importKey==k&&typeof wt.deriveBits==k,dt=G;class pt extends h{constructor({password:t,rawPassword:n,encryptionStrength:e,checkPasswordOnly:o,checkAuthenticationCode:s=!0}){const a={};super({start(){yt(a,t,n,e)},async transform(t,n){const{password:e,strength:s,l:i,ready:f}=a;if(e?(await async function(t,n,e,o){const c=await vt(t,n,e,kt(o,0,at[n])),s=kt(o,at[n]);if(c[0]!=s[0]||c[1]!=s[1])throw gt(t),new r(tt)}(a,s,e,kt(t,0,at[s]+2)),t=kt(t,at[s]+2),o?(gt(a),n.error(new r(nt))):i()):await f,a.h)return;const u=new c(t.length-ft-(t.length-ft)%16);n.enqueue(St(a,t,u,0,ft,!0))},async flush(t){const{m:n,S:e,ready:o}=a;if(n){if(await o,a.h)return;const i=kt(e,e.length-ft),f=new c(kt(e,0,e.length-ft));n.process(f,!0);const u=n.digest();let w=e.length<ft?1:0;for(let t=0;t<ft;t++)w|=u[t]^i[t];if(w&&s)return void t.error(new r("Invalid authentication code"));t.enqueue(f)}}}),mt(this,a)}}class ht extends h{constructor({password:t,rawPassword:n,encryptionStrength:e}){const o={};super({start(){yt(o,t,n,e)},async transform(t,n){const{password:e,strength:r,l:s,ready:a}=o;let i=z;if(e?(i=await async function(t,n,e){const o=et(new c(at[n]));return B(o,await vt(t,n,e,o))}(o,r,e),s()):await a,o.h)return;const f=new c(i.length+t.length-t.length%16);f.set(i,0),n.enqueue(St(o,t,f,i.length,0,!1))},async flush(t){const{m:n,S:e,ready:r}=o;if(n){if(await r,o.h)return;const s=new c(e);n.process(s,!1);const a=kt(n.digest(),0,ft);t.enqueue(B(s,a))}}}),mt(this,o)}}function yt(t,e,o,r){n.assign(t,{ready:new w(n=>t.l=n),password:bt(e,o),strength:r-1,S:z,h:!1})}function mt(t,e){const o=t.readable.getReader(),r=new y({async pull(t){try{const{value:n,done:e}=await o.read();e?t.close():t.enqueue(n)}catch(t){throw gt(e),o.cancel(t).catch(()=>{}),t}},cancel:t=>(gt(e),o.cancel(t))});n.defineProperty(t,"readable",{get:()=>r})}function St(t,n,e,o,r,s){const{m:a,S:i}=t;i.length&&(n=B(i,n));const f=n.length-r,u=f-f%16;if(e=function(t,n){if(n&&n>t.length){const e=t;(t=new c(n)).set(e,0)}return t}(e,o+u),u){const t=kt(e,o,o+u);t.set(kt(n,0,u)),a.process(t,s)}return t.S=kt(n,u),e}function gt(t){const{m:n}=t;t.h=!0,n&&n.dispose&&n.dispose()}async function vt(t,e,r,s){t.password=null;const a=it[e],i=await async function(t,e,r){if(lt)try{const o=await wt.importKey("raw",t,rt,!1,st);return new c(await wt.deriveBits(n.assign({salt:e},ct),o,8*r))}catch{lt=!1}return function(t,n,e,r){const s=J(t),a=new c(r),i=new c(n.length+4),f=new u(i.buffer);i.set(n);for(let t=1,e=0;e<r;t++,e+=V){f.setUint32(n.length,t),s.update(i,0,i.length);let c=s.digest();const u=c.slice();for(let t=1;t<1e3;t++){s.update(c,0,V),c=s.digest();for(let t=0;t<V;t++)u[t]^=c[t]}a.set(u.subarray(0,o.min(V,r-e)),e)}return a}(t,e,0,r)}(r,s,2*a+2);return t.m=dt(kt(i,0,a),kt(i,a,2*a)),t.h&>(t),kt(i,2*a)}function bt(t,n){return n===v?function(t){if(typeof l==b){t=unescape(encodeURIComponent(t));const n=new c(t.length);for(let e=0;e<n.length;e++)n[e]=t.charCodeAt(e);return n}return(new l).encode(t)}(t):n}function kt(t,n,e){return t.subarray(n,e)}class zt extends h{constructor({password:t,rawPassword:n,passwordVerification:e,checkPasswordOnly:o}){super({start(){It(this,t,n,e)},transform(t,n){const e=this;if(e.password||e.rawPassword){const n=Mt(e,t.subarray(0,12));if(e.password=e.rawPassword=null,0!=(n[11]^e.passwordVerification))throw new r(tt);t=t.subarray(12)}o?n.error(new r(nt)):n.enqueue(Mt(e,t))}})}}class Ct extends h{constructor({password:t,rawPassword:n,passwordVerification:e}){super({start(){It(this,t,n,e)},transform(t,n){const e=this;let o,r;if(e.password||e.rawPassword){e.password=e.rawPassword=null;const n=et(new c(12));n[11]=e.passwordVerification,o=new c(t.length+n.length),o.set(At(e,n),0),r=12}else o=new c(t.length),r=0;o.set(At(e,t),r),n.enqueue(o)}})}}function It(t,e,o,r){n.assign(t,{password:e,rawPassword:o,passwordVerification:r}),function(t,e,o){const r=[305419896,591751049,878082192];if(n.assign(t,{v:r,C:new F(r[0]),I:new F(r[2])}),o)for(let n=0;n<o.length;n++)Et(t,o[n]);else for(let n=0;n<e.length;n++)Et(t,e.charCodeAt(n))}(t,e,o)}function Mt(t,n){const e=new c(n.length);for(let o=0;o<n.length;o++)e[o]=Rt(t)^n[o],Et(t,e[o]);return e}function At(t,n){const e=new c(n.length);for(let o=0;o<n.length;o++)e[o]=Rt(t)^n[o],Et(t,n[o]);return e}function Et(t,n){let[,e]=t.v;t.C.append([n]);const r=~t.C.get();e=Pt(o.imul(Pt(e+xt(r)),134775813)+1),t.I.append([e>>>24]);const c=~t.I.get();t.v=[r,e,c]}function Rt(t){const n=2|t.v[2];return xt(o.imul(n,1^n)>>>8)}function xt(t){return 255&t}function Pt(t){return 4294967295&t}function Dt(t){return Boolean(t)&&"object"==typeof t}const Ft=new f;function Ut(t){return Ft.get(t)}const Bt="Invalid uncompressed size",Wt="Codec out of memory",Ot="Invalid CRC32",Vt="deflate-raw",Kt="gzip",Tt=[31,139,8];class _t extends h{constructor(t,{chunkSize:n,CompressionStreamFallback:e,CompressionStream:o}){super({});const{compressed:r,encrypted:c,useCompressionStream:s,zipCrypto:a,computeCrc32:i,level:f,deflate64:w,format:l,compressionMethod:d,inputSize:p}=t,h=this;let y,m,S,g=super.readable;const v=l&&Ut(l),b=qt(s,o,e),k=i&&r&&!w&&!v&&(!c||a)&&Boolean(b);if(c&&!a||!i||k||(y=new U,g=Jt(g,y)),r)if(v)g=Qt(g,Nt(v.CompressionStream,l,{level:f,chunkSize:n,compressionMethod:d,uncompressedSize:p}));else if(k)S=new jt,g=Qt(g,new b(Kt,{level:f,chunkSize:n})),g=Jt(g,S);else try{g=Gt(g,s,{level:f,chunkSize:n},o,e)}catch(t){if(!s&&e)throw nn(t);let n;try{n=new o(Kt)}catch{throw nn(t)}g=Qt(g,n),g=Jt(g,new jt)}c&&(a?g=Jt(g,new Ct(t)):(m=new ht(t),g=Jt(g,m))),Zt(h,g,()=>{c&&!a||!i||(h.crc32=k?S.crc32:new u(y.value.buffer).getUint32(0))})}}class jt extends h{constructor(){let t,n=10,e=new c(0);super({transform(t,r){if(n){const e=o.min(n,t.length);if(n-=e,!(t=t.subarray(e)).length)return}const c=e.length+t.length;if(c<=8)return void(e=B(e,t));const s=c-8,a=o.min(s,e.length);r.enqueue(B(e.subarray(0,a),t.subarray(0,s-a))),e=B(e.subarray(a),t.subarray(s-a))},flush(){const n=W(e);t.crc32=n.getUint32(0,!0),t.uncompressedSize=n.getUint32(4,!0)}}),t=this}}class Ht extends h{constructor(t,{chunkSize:n,DecompressionStreamFallback:e,DecompressionStream:o}){super({});const{zipCrypto:s,encrypted:a,checkCrc32:i,crc32:f,compressed:l,useCompressionStream:d,deflate64:p,format:h,compressionMethod:m,rawBitFlag:S,outputSize:g}=t;let b,k,z,C=super.readable;if(a&&(s?C=Jt(C,new zt(t)):(k=new pt(t),C=Jt(C,k))),l){const t=new Set,s=h&&Ut(h);let a;if(s)C=Qt(C,Nt(s.DecompressionStream,h,{chunkSize:n,compressionMethod:m,rawBitFlag:S,uncompressedSize:g}),t);else{const r=qt(d,o,e);if(i&&!p&&f!==v&&g!==v&&r)try{a=new r(Kt,{chunkSize:n})}catch{a=v}if(!a)try{C=Gt(C,d,{chunkSize:n,deflate64:p},o,e,t)}catch(t){if(p||g===v||!d&&e)throw nn(t);try{a=new o(Kt)}catch{throw nn(t)}}}a?(z=!0,C=function(t,n,e,o,s){const a=n.writable.getWriter(),i=n.readable.getReader(),f=o===v?new F:v;let u,l,d=0,p=!1,h=!1;const m=new y({start(t){l=t},pull(){b()},cancel:t=>(h=!0,b(),i.cancel(t))});return async function(){const n=t.getReader();try{const t=new c(10);for(t.set(Tt),await a.write(t);;){await g(),await a.ready;const{value:t,done:e}=await $t(n,s);if(e)break;await a.write(t)}f&&await a.write(new c(0));const r=new c(8),i=W(r);i.setUint32(0,f?f.get():o,!0),i.setUint32(4,e,!0),p=!0,await a.write(r),await a.close()}catch(t){await Xt(a,t),await Yt(n,t)}}(),async function(){try{for(;;){const{value:t,done:n}=await S();if(n)break;if(d+=t.length,d>e)throw new r(Bt);f&&f.append(t),l.enqueue(t)}h||(h=!0,l.close())}catch(t){!function(t){h||(h=!0,l.error(t),b())}(t),await Yt(i,t)}}(),m;function S(){return i.read().catch(t=>{if(p){if(!f)throw on(t,Ot);if(d!=e)throw on(t,Bt);return{done:!0}}throw tn(t,s)})}function g(){if(!h&&l.desiredSize<=0)return new w(t=>u=t)}function b(){if(u){const t=u;u=v,t()}}}(C,a,g,f,t)):C=function(t,n){const e=t.getReader();return new y({async pull(t){try{const{value:n,done:o}=await e.read();o?t.close():t.enqueue(n)}catch(t){throw await Yt(e,t),tn(t,n)}},cancel:t=>e.cancel(t)})}(C,t)}i&&!z&&(b=new U,C=Jt(C,b)),Zt(this,C,()=>{if(b){const t=new u(b.value.buffer).getUint32(0,!1);if(f!=t)throw new r(Ot)}})}}const Lt=new f;function Zt(t,e,o){e=Jt(e,new h({flush:o})),n.defineProperty(t,"readable",{get:()=>e})}function Nt(t,n,e){if(!t)throw new r("Compression method not supported");return new t(n,e)}function qt(t,n,e){return t&&n?n:e&&e.requiresModule?e:void 0}function Gt(t,n,e,o,r,c){const s=n&&o?o:r||o,a=e.deflate64?"deflate64-raw":Vt;let i;try{i=new s(a,e)}catch(t){if(!n||!r||s==r)throw t;i=new r(a,e)}return Qt(t,i,c)}function Jt(t,n){return function(t){if(t instanceof y)return t;const n=t.getReader();return new y({async pull(t){try{const{value:e,done:o}=await n.read();o?t.close():t.enqueue(e)}catch(t){throw n.cancel(t).catch(()=>{}),t}},cancel:t=>n.cancel(t)})}(t).pipeThrough(n)}function Qt(t,n,e){const o=n.writable.getWriter(),r=t.getReader();return async function(){try{for(;;){await o.ready;const t=await $t(r,e);if(t.done){await o.close();break}await o.write(t.value)}}catch(t){await Xt(o,t),await Yt(r,t)}}(),n.readable}async function Xt(t,n){try{await t.abort(n)}catch{}}async function Yt(t,n){try{await t.cancel(n)}catch{}}function $t(t,n){const e=t.read();return n?e.catch(t=>{throw n.add(t),t}):e}function tn(t,n){return n.has(t)?t:on(t,en(t)?Wt:"Invalid compressed data")}function nn(t){return en(t)?on(t,Wt):t}function en(t){return Dt(t)&&"Z_MEM_ERROR"==t.code}function on(t,n){const e=new r(n);return e.cause=t,e}const rn="data",cn="deflate";class sn extends h{constructor(t,e){super({});const o=this,{codecType:c}=t;let s;c.startsWith(cn)?s=_t:c.startsWith("inflate")&&(s=Ht),o.outputSize=0;let a=0;const i=new s(t,e),f=super.readable,u=new h({transform(t,n){t&&t.length&&(a+=t.length,n.enqueue(t))},flush(){n.assign(o,{inputSize:a})}}),w=new h({transform(n,e){if(n&&n.length&&(e.enqueue(n),o.outputSize+=n.length,t.outputSize!==v&&o.outputSize>t.outputSize))throw new r(Bt)},flush(){const{crc32:t}=i;n.assign(o,{crc32:t,inputSize:a})}});n.defineProperty(o,"readable",{get:()=>f.pipeThrough(u).pipeThrough(i).pipeThrough(w)})}}class an extends h{constructor(t){const o=[];let r=0,s=0;function a(){const n=new c(t);let e=0;for(;e<t;){const r=o[0],c=t-e;r.length<=c?(n.set(r,e),e+=r.length,o.shift()):(n.set(r.subarray(0,c),e),o[0]=r.subarray(c),e+=c)}return r-=t,n}(!e.isFinite(t)||t<1)&&(t=262144),super({transform(n,e){for(o.push(n),r+=n.length;r>t;)s+=t,e.enqueue(a())},flush(t){r&&(s+=r,t.enqueue(function(t,n){const e=new c(n);let o=0;for(const n of t)e.set(n,o),o+=n.length;return e}(o,r)))}}),n.defineProperty(this,"outputSize",{get:()=>s})}}let fn=2;try{typeof navigator!=b&&navigator.hardwareConcurrency&&(fn=navigator.hardwareConcurrency)}catch{}const un=new f,wn=new f,ln=function(){try{return structuredClone(new r)instanceof r}catch{return!1}}();let dn=0;async function pn(t){let n,c,s;try{const{options:a,config:i}=t;if(a.format)try{await async function(t,n){!Ft.has(t)&&n&&function(t,n){const{CompressionStream:e,DecompressionStream:o}=n;if(typeof e!=k&&typeof o!=k)throw new r("Invalid codec module");Ft.set(t,{CompressionStream:e,DecompressionStream:o})}(t,await(import(n)))}(a.format,a.codecURI)}catch(t){if(Dt(t))try{t.codecImportFailed=!0}catch{}throw t}if(i.CompressionStream=self.CompressionStream,i.DecompressionStream=self.DecompressionStream,a.compressed&&!a.format)if(a.useCompressionStream){if(!function(t,n){if(!t)return!1;let e=Lt.get(t);e||(e=new f,Lt.set(t,e));let o=e.get(n);if(o===v){try{new t(n),o=!0}catch{o=!1}e.set(n,o)}return o}(a.codecType.startsWith(cn)?i.CompressionStream:i.DecompressionStream,Vt))try{await self.initModule(t.config)}catch{}}else try{await self.initModule(t.config)}catch{a.useCompressionStream=!0}if(a.encrypted&&!a.zipCrypto)try{await self.initModule(t.config)}catch{}!i.CompressionStreamFallback&&i.CompressionStreamZlib&&(i.CompressionStreamFallback=i.CompressionStreamZlib),!i.DecompressionStreamFallback&&i.DecompressionStreamZlib&&(i.DecompressionStreamFallback=i.DecompressionStreamZlib);const u={highWaterMark:1},l=new y({async pull(t){const n=new w(t=>un.set(dn,t));hn({type:"pull",messageId:dn}),dn=(dn+1)%e.MAX_SAFE_INTEGER;const{value:o,done:r}=await n;t.enqueue(o),r&&t.close()}},u);s=new m({async write(t){let n;const o=new w(t=>n=t);wn.set(dn,n),hn({type:rn,value:t,messageId:dn}),dn=(dn+1)%e.MAX_SAFE_INTEGER,await o}},u),n=new sn(a,i),c=new an(function(t){return r="string"==typeof(n=r=t.chunkSize)&&n.trim()?e(n):n,e.isInteger(r)&&r>=1?o.max(r,64):262144;var n,r}(i)),await l.pipeThrough(n).pipeThrough(c).pipeTo(s,{preventClose:!0,preventAbort:!0}),await s.getWriter().close();const{crc32:d,inputSize:p,outputSize:h}=n;hn({type:"close",result:{crc32:d,inputSize:p,outputSize:h}})}catch(t){const n=c?c.outputSize:0;if(Dt(t))try{t.outputSize=n}catch{}if(s&&!s.locked)try{await s.getWriter().close()}catch{}yn(t,n)}}function hn(t){const{value:n}=t;if(n)if(n.length)try{t.value=(e=n,e.byteOffset||e.byteLength!=e.buffer.byteLength?new c(e):e).buffer,p(t,[t.value])}catch{p(t)}else p(t);else p(t);var e}function yn(t,n){const{message:e,stack:o,code:c,name:s,outputSize:a,cause:i,codecImportFailed:f}=function(t=new r("Unknown error")){return Dt(t)?t:new r(String(t))}(t),u={message:e,stack:o,code:c,name:s,outputSize:a===v?n:a};if(Dt(i)&&(u.cause={name:i.name,message:i.message,code:i.code}),f&&(u.codecImportFailed=!0),ln)try{return void p({error:u,errorValue:{value:t}})}catch{}p({error:u})}addEventListener("message",({data:t})=>{const{type:n,messageId:e,value:o,done:r}=t;try{if("start"==n&&pn(t),n==rn){const t=un.get(e);un.delete(e),t({value:o||new c,done:r})}if("ack"==n){const t=wn.get(e);wn.delete(e),t()}}catch(t){yn(t)}}),p({type:"ready"});const mn="deflate",Sn="deflate-raw",gn="deflate64-raw",vn="gzip",bn=[mn,Sn,vn],kn=[mn,Sn,vn,gn];let zn,Cn,In,Mn,An;function En(t,n){return-4===n&&(t.code="Z_MEM_ERROR"),t}function Rn(t,n,e={}){if(!(t?bn:kn).includes(n))throw new TypeError("Unsupported format: "+n);if(!zn){const t=new r("WASM module not loaded");throw t.cause=An,t}const s="number"==typeof e.level?e.level:-1,a="number"==typeof e.outBuffer?e.outBuffer:65536,i="number"==typeof e.inBufferSize?e.inBufferSize:65536,f={M:0,in:0,inBufferSize:0,A:0,R:!1};let u,l,d,p,h=!0,S=!1;return function(){try{let e;if(f.M=Cn(a),f.in=Cn(i),f.inBufferSize=i,!f.M||!f.in)throw En(new r("allocation failed"),-4);if(t?(f.P=zn.deflate_process,f.D=zn.deflate_last_consumed,f.F=zn.deflate_end,f.A=zn.deflate_new(),e=n===vn?zn.deflate_init_gzip(f.A,s):n===Sn?zn.deflate_init_raw(f.A,s):zn.deflate_init(f.A,s)):n===gn?(f.P=zn.inflate9_process,f.D=zn.inflate9_last_consumed,f.F=zn.inflate9_end,f.A=zn.inflate9_new(),e=zn.inflate9_init_raw(f.A)):(f.P=zn.inflate_process,f.D=zn.inflate_last_consumed,f.F=zn.inflate_end,f.A=zn.inflate_new(),e=n===Sn?zn.inflate_init_raw(f.A):n===vn?zn.inflate_init_gzip(f.A):zn.inflate_init(f.A)),0!==e)throw En(new r("init failed:"+e),e)}catch(t){throw b(f),t}}(),{readable:new y({start(t){u=t},pull(){h=!1,v()},cancel(t){S=!0,p=t,b(f),l.error(t),v()}},{highWaterMark:0}),writable:new m({start(t){l=t},async write(t){if(h&&await new w(t=>d=t),S)throw p;try{!function(t){const n=new c(Mn.buffer),e=f.P,s=f.D,i=f.M;let u=0;for(;u<t.length;){if(f.R)throw new r("trailing data after the end of the stream");const c=o.min(t.length-u,32768);if((!f.in||f.inBufferSize<c)&&(f.in&&In&&(In(f.in),f.in=0),f.in=Cn(c),f.inBufferSize=c,!f.in))throw En(new r("allocation failed"),-4);n.set(t.subarray(u,u+c),f.in);const w=e(f.A,f.in,c,i,a,0),l=w>>24&255,d=128&l?l-256:l;if(d<0)throw En(new r("process error:"+d),d);const p=16777215&w;p&&g(n.slice(i,i+p));const h=s(f.A);if(1===l)f.R=!0;else if(0===h&&0===p)break;u+=h}}(t)}catch(t){throw b(f),u.error(t),t}},close(){if(S)return;try{!function(){const t=new c(Mn.buffer),n=f.P,e=f.M;for(;;){const o=n(f.A,0,0,e,a,4),c=o>>24&255,s=128&c?c-256:c;if(s<0)throw En(new r("process error:"+s),s);const i=16777215&o;if(i&&g(t.slice(e,e+i)),1===c||0===i)break}}()}catch(t){throw b(f),u.error(t),t}const t=b(f);if(0!==t){const n=En(new r("end error:"+t),t);throw u.error(n),n}u.close()},abort(t){b(f),u.error(t)}},{highWaterMark:1})};function g(t){h=!0,u.enqueue(t)}function v(){if(d){const t=d;d=null,t()}}function b(t){let n=0;return t.A&&t.F&&(n=t.F(t.A)),t.A=0,t.in&&In&&In(t.in),t.in=0,t.M&&In&&In(t.M),t.M=0,n}}class xn{constructor(t=mn,n){return Rn(!0,t,n)}}class Pn{constructor(t=mn,n){return Rn(!1,t,n)}}xn.requiresModule=!0,Pn.requiresModule=!0,xn.supportedFormats=bn,Pn.supportedFormats=kn;const Dn=65536;let Fn,Un;function Bn(t){return new c(t.memory.buffer)}let Wn=!1;!function(t={}){const{init:n,U:e}=t,o=t.CompressionStreamFallback||t.CompressionStreamZlib,r=t.DecompressionStreamFallback||t.DecompressionStreamZlib;e&&(dt=e||G),self.initModule=async t=>{n&&await n(t),o&&(t.CompressionStreamFallback=o),r&&(t.DecompressionStreamFallback=r)}}({CompressionStreamFallback:xn,DecompressionStreamFallback:Pn,U:function(t,n){const e=Fn;let o=e?function(t,n,e){Un||(Un=t.malloc(Dn));const o=Un?t.aes_hmac_new():0;if(o){const r=Bn(t);if(r.set(n,Un),r.set(e,Un+n.length),t.aes_hmac_init(o,Un,n.length,Un+n.length,e.length))return t.aes_hmac_end(o,0),0}return o}(e,t,n):0;if(!o)return G(t,n);const r=Un;return{process(t,n){for(let c=0;c<t.length;c+=Dn){const s=t.subarray(c,c+Dn),a=Bn(e);a.set(s,r),e.aes_hmac_process(o,r,s.length,n?1:0),s.set(a.subarray(r,r+s.length))}},digest:()=>(e.aes_hmac_end(o,r),o=0,Bn(e).slice(r,r+20)),dispose(){o&&(e.aes_hmac_end(o,0),o=0)}}},init:t=>async function(t,{baseURI:n}){if(!Wn)try{await async function(t,n){let e,o;try{try{o=new URL(t,n)}catch{}const r=await fetch(o);e=await r.arrayBuffer()}catch(n){if(!t.startsWith("data:application/wasm;base64,"))throw n;e=function(t){const n=t.split(",")[1],e=atob(n),o=e.length,r=new c(o);for(let t=0;t<o;++t)r[t]=e.charCodeAt(t);return r.buffer}(t)}const s=await WebAssembly.instantiate(e);var a;(function(t){if(zn=t,({malloc:Cn,free:In,memory:Mn}=zn),"function"!=typeof Cn||"function"!=typeof In||!Mn)throw zn=Cn=In=Mn=null,new r("Invalid WASM module")})(s.instance.exports),typeof(a=s.instance.exports).aes_hmac_new==k&&(Fn=a,Un=0)}(t,n),Wn=!0}catch(t){throw function(t){An=t}(t),t}}(t.wasmURI,t)})});\n';
|
|
5287
5431
|
if ("string" == typeof r2 && (r2 = new TextEncoder().encode(r2)), t4) {
|
|
5288
5432
|
const t5 = new Blob([r2], { type: e3 });
|
|
5289
5433
|
return URL.createObjectURL(t5);
|
|
@@ -5308,10 +5452,10 @@ var e = (t3) => t3({ workerURI: (t4) => {
|
|
|
5308
5452
|
})(r2);
|
|
5309
5453
|
} });
|
|
5310
5454
|
|
|
5311
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
5455
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/zip-core-base.js
|
|
5312
5456
|
init_configuration();
|
|
5313
5457
|
|
|
5314
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
5458
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/codec-worker-web.js
|
|
5315
5459
|
init_constants();
|
|
5316
5460
|
init_array();
|
|
5317
5461
|
init_error();
|
|
@@ -5324,11 +5468,6 @@ var ABORT_EVENT_TYPE = "abort";
|
|
|
5324
5468
|
var webWorkerSource;
|
|
5325
5469
|
var webWorkerURI;
|
|
5326
5470
|
var webWorkerOptions;
|
|
5327
|
-
var transferStreamsSupported = true;
|
|
5328
|
-
try {
|
|
5329
|
-
transferStreamsSupported = typeof structuredClone == FUNCTION_TYPE && structuredClone(new DOMException("", "AbortError")).code !== UNDEFINED_VALUE;
|
|
5330
|
-
} catch {
|
|
5331
|
-
}
|
|
5332
5471
|
setWebWorkerBackend(createWebWorkerInterface);
|
|
5333
5472
|
function createWebWorkerInterface(workerData, config3) {
|
|
5334
5473
|
const { baseURI, chunkSize, workerStartupTimeout } = config3;
|
|
@@ -5409,14 +5548,11 @@ async function runWebWorker(workerData, config3) {
|
|
|
5409
5548
|
});
|
|
5410
5549
|
const { readable, options } = workerData;
|
|
5411
5550
|
const { writable, closed, abortPipe } = watchClosedStream(workerData.writable, workerData);
|
|
5412
|
-
let streamsTransferred;
|
|
5413
5551
|
try {
|
|
5414
|
-
|
|
5552
|
+
sendMessage({
|
|
5415
5553
|
type: MESSAGE_START,
|
|
5416
5554
|
options,
|
|
5417
|
-
config: config3
|
|
5418
|
-
readable,
|
|
5419
|
-
writable
|
|
5555
|
+
config: config3
|
|
5420
5556
|
}, workerData);
|
|
5421
5557
|
} catch (error) {
|
|
5422
5558
|
abortPipe();
|
|
@@ -5427,12 +5563,10 @@ async function runWebWorker(workerData, config3) {
|
|
|
5427
5563
|
workerData.onTaskFinished();
|
|
5428
5564
|
throw error;
|
|
5429
5565
|
}
|
|
5430
|
-
|
|
5431
|
-
|
|
5432
|
-
|
|
5433
|
-
|
|
5434
|
-
});
|
|
5435
|
-
}
|
|
5566
|
+
Object.assign(workerData, {
|
|
5567
|
+
reader: readable.getReader(),
|
|
5568
|
+
writer: writable.getWriter()
|
|
5569
|
+
});
|
|
5436
5570
|
const { workerStartupTimeout } = config3;
|
|
5437
5571
|
if (!workerData.workerAlive && Number.isFinite(workerStartupTimeout) && workerStartupTimeout >= 0) {
|
|
5438
5572
|
workerData.startupTimeout = setTimeout(() => onStartupTimeout(workerData), workerStartupTimeout);
|
|
@@ -5462,7 +5596,7 @@ async function runWebWorker(workerData, config3) {
|
|
|
5462
5596
|
throw reportedError;
|
|
5463
5597
|
}
|
|
5464
5598
|
async function closeWritable() {
|
|
5465
|
-
if (!
|
|
5599
|
+
if (!writable.locked) {
|
|
5466
5600
|
try {
|
|
5467
5601
|
await writable.getWriter().close();
|
|
5468
5602
|
} catch {
|
|
@@ -5642,31 +5776,14 @@ function onWorkerError(event, workerData) {
|
|
|
5642
5776
|
}
|
|
5643
5777
|
}
|
|
5644
5778
|
}
|
|
5645
|
-
function sendMessage(message, { worker, writer
|
|
5779
|
+
function sendMessage(message, { worker, writer }) {
|
|
5646
5780
|
try {
|
|
5647
|
-
const { value
|
|
5648
|
-
const transferables = [];
|
|
5781
|
+
const { value } = message;
|
|
5649
5782
|
if (value) {
|
|
5650
5783
|
message.value = toExactUint8Array(value);
|
|
5651
|
-
transferables.push(message.value.buffer);
|
|
5652
|
-
}
|
|
5653
|
-
if (transferStreams && transferStreamsSupported && workerAlive) {
|
|
5654
|
-
if (readable) {
|
|
5655
|
-
transferables.push(readable);
|
|
5656
|
-
}
|
|
5657
|
-
if (writable) {
|
|
5658
|
-
transferables.push(writable);
|
|
5659
|
-
}
|
|
5660
|
-
} else {
|
|
5661
|
-
message.readable = message.writable = null;
|
|
5662
|
-
}
|
|
5663
|
-
if (transferables.length) {
|
|
5664
5784
|
try {
|
|
5665
|
-
worker.postMessage(message,
|
|
5666
|
-
return true;
|
|
5785
|
+
worker.postMessage(message, [message.value.buffer]);
|
|
5667
5786
|
} catch {
|
|
5668
|
-
transferStreamsSupported = false;
|
|
5669
|
-
message.readable = message.writable = null;
|
|
5670
5787
|
worker.postMessage(message);
|
|
5671
5788
|
}
|
|
5672
5789
|
} else {
|
|
@@ -5771,10 +5888,10 @@ function getResponseError(errorData, errorValue) {
|
|
|
5771
5888
|
return responseError;
|
|
5772
5889
|
}
|
|
5773
5890
|
|
|
5774
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
5891
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/zip-core-reader.js
|
|
5775
5892
|
init_zip_reader();
|
|
5776
5893
|
|
|
5777
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
5894
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/zip-writer.js
|
|
5778
5895
|
init_constants();
|
|
5779
5896
|
init_configuration();
|
|
5780
5897
|
init_codec_registry();
|
|
@@ -5823,6 +5940,7 @@ var ERR_INVALID_UNIX_ID_SIZE = "uid/gid must be 0..65535 for unixExtraFieldType
|
|
|
5823
5940
|
var ERR_INVALID_MSDOS_ATTRIBUTES = "Invalid msdosAttributesRaw (must be integer 0..255)";
|
|
5824
5941
|
var ERR_INVALID_MSDOS_DATA = "Invalid msdosAttributes (must be an object with boolean flags)";
|
|
5825
5942
|
var ERR_INVALID_LEVEL = "Invalid level (must be integer 0..9)";
|
|
5943
|
+
var ERR_INVALID_UNCOMPRESSED_SIZE_OPTION = "Invalid uncompressedSize option (must be a non-negative integer)";
|
|
5826
5944
|
var ERR_INVALID_SIGNATURE_DATA = "Signature data exceeds 64KB";
|
|
5827
5945
|
var ERR_INVALID_ENTRY = "Invalid entry option (must be an entry returned by ZipReader#getEntries())";
|
|
5828
5946
|
var ERR_ZIP_CRYPTO_LAST_MOD_DATE = "The last modification date of an entry encrypted with ZipCrypto cannot be changed when passThrough is set";
|
|
@@ -5869,128 +5987,8 @@ var ZipWriter = class {
|
|
|
5869
5987
|
prependZip(reader) {
|
|
5870
5988
|
return watchPromiseError(this, prependZipEntries(this, reader));
|
|
5871
5989
|
}
|
|
5872
|
-
appendZip(reader) {
|
|
5873
|
-
return watchPromiseError(this,
|
|
5874
|
-
}
|
|
5875
|
-
async appendZipEntries(reader) {
|
|
5876
|
-
const zipWriter = this;
|
|
5877
|
-
const { pendingAddFileCalls, filenames, fileEntries } = zipWriter;
|
|
5878
|
-
while (pendingAddFileCalls.size) {
|
|
5879
|
-
await Promise.allSettled(Array.from(pendingAddFileCalls));
|
|
5880
|
-
}
|
|
5881
|
-
let resolveAppendZip;
|
|
5882
|
-
const promiseAppendZip = new Promise((resolve) => resolveAppendZip = resolve);
|
|
5883
|
-
pendingAddFileCalls.add(promiseAppendZip);
|
|
5884
|
-
const appendedFilenames = [];
|
|
5885
|
-
let releaseLockWriter;
|
|
5886
|
-
try {
|
|
5887
|
-
reader = new GenericReader(reader);
|
|
5888
|
-
await initStream(reader);
|
|
5889
|
-
if (reader.size === UNDEFINED_VALUE || !reader.readUint8Array) {
|
|
5890
|
-
reader = new BlobReader(await streamToBlob(reader.readable));
|
|
5891
|
-
await initStream(reader);
|
|
5892
|
-
}
|
|
5893
|
-
const { ZipReader: ZipReader2 } = await Promise.resolve().then(() => (init_zip_reader(), zip_reader_exports));
|
|
5894
|
-
const zipReader = new ZipReader2(reader);
|
|
5895
|
-
const entries = await zipReader.getEntries();
|
|
5896
|
-
await zipReader.close();
|
|
5897
|
-
await initStream(zipWriter.writer);
|
|
5898
|
-
const { directoryOffset } = zipReader;
|
|
5899
|
-
entries.forEach(({ filename }) => {
|
|
5900
|
-
if (filenames.has(filename)) {
|
|
5901
|
-
throw new Error(ERR_DUPLICATED_NAME);
|
|
5902
|
-
}
|
|
5903
|
-
filenames.add(filename);
|
|
5904
|
-
appendedFilenames.push(filename);
|
|
5905
|
-
});
|
|
5906
|
-
zipWriter.writerLocked = true;
|
|
5907
|
-
const { lockWriter } = zipWriter;
|
|
5908
|
-
zipWriter.lockWriter = new Promise((resolve) => releaseLockWriter = () => {
|
|
5909
|
-
zipWriter.writerLocked = false;
|
|
5910
|
-
resolve();
|
|
5911
|
-
});
|
|
5912
|
-
await lockWriter;
|
|
5913
|
-
if (zipWriter.addSplitZipSignature) {
|
|
5914
|
-
delete zipWriter.addSplitZipSignature;
|
|
5915
|
-
if (!await startsWithSplitZipSignature2(reader)) {
|
|
5916
|
-
await writeData(zipWriter.writer, getSplitZipSignatureArray());
|
|
5917
|
-
zipWriter.offset += SPLIT_ZIP_FILE_SIGNATURE_LENGTH;
|
|
5918
|
-
}
|
|
5919
|
-
}
|
|
5920
|
-
const entryPositions = await copyZipData(zipWriter, reader, entries, directoryOffset);
|
|
5921
|
-
entries.forEach((entry) => {
|
|
5922
|
-
const {
|
|
5923
|
-
version,
|
|
5924
|
-
rawLastModDate,
|
|
5925
|
-
rawFilename,
|
|
5926
|
-
bitFlag,
|
|
5927
|
-
encrypted,
|
|
5928
|
-
uncompressedSize,
|
|
5929
|
-
compressedSize,
|
|
5930
|
-
extraFieldZip64
|
|
5931
|
-
} = entry;
|
|
5932
|
-
let {
|
|
5933
|
-
compressionMethod,
|
|
5934
|
-
rawExtraField
|
|
5935
|
-
} = entry;
|
|
5936
|
-
const { level, languageEncodingFlag, dataDescriptor } = bitFlag;
|
|
5937
|
-
rawExtraField = removeExtraFieldZip64(rawExtraField || EMPTY_UINT8_ARRAY);
|
|
5938
|
-
if (entry.extraFieldAES) {
|
|
5939
|
-
compressionMethod = COMPRESSION_METHOD_AES;
|
|
5940
|
-
}
|
|
5941
|
-
const extraFieldLength = getLength(rawExtraField);
|
|
5942
|
-
const zip64UncompressedSize = Boolean(extraFieldZip64) && extraFieldZip64.uncompressedSize !== UNDEFINED_VALUE;
|
|
5943
|
-
const zip64CompressedSize = Boolean(extraFieldZip64) && extraFieldZip64.compressedSize !== UNDEFINED_VALUE;
|
|
5944
|
-
const bitFlagValue = getBitFlag(level, languageEncodingFlag, dataDescriptor, encrypted, compressionMethod) & ~BITFLAG_LEVEL | level << 1;
|
|
5945
|
-
const {
|
|
5946
|
-
headerArray,
|
|
5947
|
-
headerView
|
|
5948
|
-
} = getHeaderArrayData({
|
|
5949
|
-
version,
|
|
5950
|
-
bitFlag: bitFlagValue,
|
|
5951
|
-
compressionMethod,
|
|
5952
|
-
uncompressedSize,
|
|
5953
|
-
compressedSize,
|
|
5954
|
-
rawLastModDate,
|
|
5955
|
-
rawFilename,
|
|
5956
|
-
zip64CompressedSize,
|
|
5957
|
-
zip64UncompressedSize,
|
|
5958
|
-
extraFieldLength
|
|
5959
|
-
});
|
|
5960
|
-
const { crc32 } = entry;
|
|
5961
|
-
if (crc32 !== UNDEFINED_VALUE) {
|
|
5962
|
-
setUint32(headerView, HEADER_OFFSET_SIGNATURE, crc32);
|
|
5963
|
-
}
|
|
5964
|
-
const { offset, diskNumberStart } = entryPositions.get(entry);
|
|
5965
|
-
Object.assign(entry, {
|
|
5966
|
-
zip64Enabled: true,
|
|
5967
|
-
zip64UncompressedSize,
|
|
5968
|
-
zip64CompressedSize,
|
|
5969
|
-
offset,
|
|
5970
|
-
diskNumberStart,
|
|
5971
|
-
zip64DiskNumberStart: false,
|
|
5972
|
-
rawExtraFieldZip64: EMPTY_UINT8_ARRAY,
|
|
5973
|
-
rawExtraFieldAES: EMPTY_UINT8_ARRAY,
|
|
5974
|
-
rawExtraFieldExtendedTimestamp: EMPTY_UINT8_ARRAY,
|
|
5975
|
-
rawExtraFieldNTFS: EMPTY_UINT8_ARRAY,
|
|
5976
|
-
rawExtraFieldUnix: EMPTY_UINT8_ARRAY,
|
|
5977
|
-
rawExtraField,
|
|
5978
|
-
rawCentralExtraField: EMPTY_UINT8_ARRAY,
|
|
5979
|
-
headerArray,
|
|
5980
|
-
headerView
|
|
5981
|
-
});
|
|
5982
|
-
fileEntries.set(entry.filename, entry);
|
|
5983
|
-
});
|
|
5984
|
-
} catch (error) {
|
|
5985
|
-
appendedFilenames.forEach((filename) => filenames.delete(filename));
|
|
5986
|
-
throw error;
|
|
5987
|
-
} finally {
|
|
5988
|
-
resolveAppendZip();
|
|
5989
|
-
pendingAddFileCalls.delete(promiseAppendZip);
|
|
5990
|
-
if (releaseLockWriter) {
|
|
5991
|
-
releaseLockWriter();
|
|
5992
|
-
}
|
|
5993
|
-
}
|
|
5990
|
+
appendZip(reader, options = {}) {
|
|
5991
|
+
return watchPromiseError(this, appendZipEntries(this, reader, options));
|
|
5994
5992
|
}
|
|
5995
5993
|
add(name = "", reader, options = {}) {
|
|
5996
5994
|
const zipWriter = this;
|
|
@@ -6080,11 +6078,147 @@ function watchPromiseError(zipWriter, promise) {
|
|
|
6080
6078
|
zipWriter.pendingErrors.push(watcher);
|
|
6081
6079
|
return watchedPromise;
|
|
6082
6080
|
}
|
|
6081
|
+
async function appendZipEntries(zipWriter, reader, options = {}) {
|
|
6082
|
+
const { pendingAddFileCalls, filenames, fileEntries } = zipWriter;
|
|
6083
|
+
const filter = checkFunctionOption(options.filter);
|
|
6084
|
+
const readerOptions = checkReaderOptionsObject(options.readerOptions);
|
|
6085
|
+
while (pendingAddFileCalls.size) {
|
|
6086
|
+
await Promise.allSettled(Array.from(pendingAddFileCalls));
|
|
6087
|
+
}
|
|
6088
|
+
let resolveAppendZip;
|
|
6089
|
+
const promiseAppendZip = new Promise((resolve) => resolveAppendZip = resolve);
|
|
6090
|
+
pendingAddFileCalls.add(promiseAppendZip);
|
|
6091
|
+
const appendedFilenames = [];
|
|
6092
|
+
let releaseLockWriter;
|
|
6093
|
+
try {
|
|
6094
|
+
reader = new GenericReader(reader);
|
|
6095
|
+
await initStream(reader);
|
|
6096
|
+
if (reader.size === UNDEFINED_VALUE || !reader.readUint8Array) {
|
|
6097
|
+
reader = new BlobReader(await streamToBlob(reader.readable));
|
|
6098
|
+
await initStream(reader);
|
|
6099
|
+
}
|
|
6100
|
+
const { ZipReader: ZipReader2, getEntryDataDescriptorLength: getEntryDataDescriptorLength2 } = await Promise.resolve().then(() => (init_zip_reader(), zip_reader_exports));
|
|
6101
|
+
const zipReader = new ZipReader2(reader, readerOptions);
|
|
6102
|
+
const keptEntries = [];
|
|
6103
|
+
let entries;
|
|
6104
|
+
try {
|
|
6105
|
+
entries = await zipReader.getEntries();
|
|
6106
|
+
for (const entry of entries) {
|
|
6107
|
+
if (!filter || await filter(entry, getExistingEntry(fileEntries, entry.filename))) {
|
|
6108
|
+
keptEntries.push(entry);
|
|
6109
|
+
}
|
|
6110
|
+
}
|
|
6111
|
+
} finally {
|
|
6112
|
+
await zipReader.close();
|
|
6113
|
+
}
|
|
6114
|
+
await initStream(zipWriter.writer);
|
|
6115
|
+
const { directoryOffset, entriesMissingZip64ExtraField } = zipReader;
|
|
6116
|
+
keptEntries.forEach((entry) => {
|
|
6117
|
+
const { filename } = entry;
|
|
6118
|
+
if (entriesMissingZip64ExtraField.has(entry)) {
|
|
6119
|
+
throw new Error(ERR_EXTRAFIELD_ZIP64_NOT_FOUND);
|
|
6120
|
+
}
|
|
6121
|
+
if (filenames.has(filename)) {
|
|
6122
|
+
throw new Error(ERR_DUPLICATED_NAME);
|
|
6123
|
+
}
|
|
6124
|
+
filenames.add(filename);
|
|
6125
|
+
appendedFilenames.push(filename);
|
|
6126
|
+
});
|
|
6127
|
+
zipWriter.writerLocked = true;
|
|
6128
|
+
const { lockWriter } = zipWriter;
|
|
6129
|
+
zipWriter.lockWriter = new Promise((resolve) => releaseLockWriter = () => {
|
|
6130
|
+
zipWriter.writerLocked = false;
|
|
6131
|
+
resolve();
|
|
6132
|
+
});
|
|
6133
|
+
await lockWriter;
|
|
6134
|
+
if (zipWriter.addSplitZipSignature) {
|
|
6135
|
+
delete zipWriter.addSplitZipSignature;
|
|
6136
|
+
if (filter || !await startsWithSplitZipSignature2(reader)) {
|
|
6137
|
+
await writeData(zipWriter.writer, getSplitZipSignatureArray());
|
|
6138
|
+
zipWriter.offset += SPLIT_ZIP_FILE_SIGNATURE_LENGTH;
|
|
6139
|
+
}
|
|
6140
|
+
}
|
|
6141
|
+
const entryPositions = await copyZipData(zipWriter, reader, entries, keptEntries, directoryOffset, Boolean(filter), getEntryDataDescriptorLength2);
|
|
6142
|
+
keptEntries.forEach((entry) => {
|
|
6143
|
+
const {
|
|
6144
|
+
version,
|
|
6145
|
+
rawLastModDate,
|
|
6146
|
+
rawFilename,
|
|
6147
|
+
rawBitFlag,
|
|
6148
|
+
uncompressedSize,
|
|
6149
|
+
compressedSize,
|
|
6150
|
+
extraFieldZip64
|
|
6151
|
+
} = entry;
|
|
6152
|
+
let {
|
|
6153
|
+
compressionMethod,
|
|
6154
|
+
rawExtraField
|
|
6155
|
+
} = entry;
|
|
6156
|
+
rawExtraField = removeExtraFieldZip64(rawExtraField || EMPTY_UINT8_ARRAY);
|
|
6157
|
+
if (entry.extraFieldAES) {
|
|
6158
|
+
compressionMethod = COMPRESSION_METHOD_AES;
|
|
6159
|
+
}
|
|
6160
|
+
const extraFieldLength = getLength(rawExtraField);
|
|
6161
|
+
const zip64UncompressedSize = Boolean(extraFieldZip64) && extraFieldZip64.uncompressedSize !== UNDEFINED_VALUE;
|
|
6162
|
+
const zip64CompressedSize = Boolean(extraFieldZip64) && extraFieldZip64.compressedSize !== UNDEFINED_VALUE;
|
|
6163
|
+
const {
|
|
6164
|
+
headerArray,
|
|
6165
|
+
headerView
|
|
6166
|
+
} = getHeaderArrayData({
|
|
6167
|
+
version,
|
|
6168
|
+
bitFlag: rawBitFlag,
|
|
6169
|
+
compressionMethod,
|
|
6170
|
+
uncompressedSize,
|
|
6171
|
+
compressedSize,
|
|
6172
|
+
rawLastModDate,
|
|
6173
|
+
rawFilename,
|
|
6174
|
+
zip64CompressedSize,
|
|
6175
|
+
zip64UncompressedSize,
|
|
6176
|
+
extraFieldLength
|
|
6177
|
+
});
|
|
6178
|
+
const { crc32 } = entry;
|
|
6179
|
+
if (crc32 !== UNDEFINED_VALUE) {
|
|
6180
|
+
setUint32(headerView, HEADER_OFFSET_SIGNATURE, crc32);
|
|
6181
|
+
}
|
|
6182
|
+
const { offset, diskNumberStart } = entryPositions.get(entry);
|
|
6183
|
+
fileEntries.set(entry.filename, Object.assign({}, entry, {
|
|
6184
|
+
zip64Enabled: true,
|
|
6185
|
+
zip64UncompressedSize,
|
|
6186
|
+
zip64CompressedSize,
|
|
6187
|
+
offset,
|
|
6188
|
+
diskNumberStart,
|
|
6189
|
+
zip64DiskNumberStart: false,
|
|
6190
|
+
rawExtraFieldZip64: EMPTY_UINT8_ARRAY,
|
|
6191
|
+
rawExtraFieldAES: EMPTY_UINT8_ARRAY,
|
|
6192
|
+
rawExtraFieldExtendedTimestamp: EMPTY_UINT8_ARRAY,
|
|
6193
|
+
rawExtraFieldNTFS: EMPTY_UINT8_ARRAY,
|
|
6194
|
+
rawExtraFieldUnix: EMPTY_UINT8_ARRAY,
|
|
6195
|
+
rawCentralExtraFieldUnix: EMPTY_UINT8_ARRAY,
|
|
6196
|
+
rawExtraField,
|
|
6197
|
+
rawCentralExtraField: EMPTY_UINT8_ARRAY,
|
|
6198
|
+
headerArray,
|
|
6199
|
+
headerView
|
|
6200
|
+
}));
|
|
6201
|
+
});
|
|
6202
|
+
} catch (error) {
|
|
6203
|
+
appendedFilenames.forEach((filename) => filenames.delete(filename));
|
|
6204
|
+
throw error;
|
|
6205
|
+
} finally {
|
|
6206
|
+
resolveAppendZip();
|
|
6207
|
+
pendingAddFileCalls.delete(promiseAppendZip);
|
|
6208
|
+
if (releaseLockWriter) {
|
|
6209
|
+
releaseLockWriter();
|
|
6210
|
+
}
|
|
6211
|
+
}
|
|
6212
|
+
}
|
|
6213
|
+
function getExistingEntry(fileEntries, filename) {
|
|
6214
|
+
const fileEntry = fileEntries.get(filename);
|
|
6215
|
+
return fileEntry ? new Entry(fileEntry) : UNDEFINED_VALUE;
|
|
6216
|
+
}
|
|
6083
6217
|
async function prependZipEntries(zipWriter, reader) {
|
|
6084
6218
|
if (zipWriter.filenames.size) {
|
|
6085
6219
|
throw new Error(ERR_ZIP_NOT_EMPTY);
|
|
6086
6220
|
}
|
|
6087
|
-
await
|
|
6221
|
+
await appendZipEntries(zipWriter, reader);
|
|
6088
6222
|
}
|
|
6089
6223
|
async function addFileEntry(zipWriter, name, reader, options) {
|
|
6090
6224
|
options = Object.assign({}, options);
|
|
@@ -6442,7 +6576,6 @@ function resolveMetadata(zipWriter, name, options) {
|
|
|
6442
6576
|
const ntfsTimestamp = getOptionValue2(zipWriter, options, OPTION_NTFS_TIMESTAMP);
|
|
6443
6577
|
const keepOrder = getOptionValue2(zipWriter, options, OPTION_KEEP_ORDER, true);
|
|
6444
6578
|
const useWebWorkers = getOptionValue2(zipWriter, options, OPTION_USE_WEB_WORKERS);
|
|
6445
|
-
const transferStreams = getOptionValue2(zipWriter, options, OPTION_TRANSFER_STREAMS);
|
|
6446
6579
|
const bufferedWrite = getOptionValue2(zipWriter, options, OPTION_BUFFERED_WRITE);
|
|
6447
6580
|
const createTempStream = getFunctionOptionValue2(zipWriter, options, OPTION_CREATE_TEMP_STREAM);
|
|
6448
6581
|
const dataDescriptorSignature = getOptionValue2(zipWriter, options, OPTION_DATA_DESCRIPTOR_SIGNATURE, true);
|
|
@@ -6511,7 +6644,6 @@ function resolveMetadata(zipWriter, name, options) {
|
|
|
6511
6644
|
ntfsTimestamp,
|
|
6512
6645
|
keepOrder,
|
|
6513
6646
|
useWebWorkers,
|
|
6514
|
-
transferStreams,
|
|
6515
6647
|
bufferedWrite,
|
|
6516
6648
|
createTempStream,
|
|
6517
6649
|
dataDescriptorSignature,
|
|
@@ -6568,7 +6700,7 @@ async function resolveSizes(zipWriter, reader, { resolvedOptions: metadata }, op
|
|
|
6568
6700
|
if (reader) {
|
|
6569
6701
|
reader = new GenericReader(reader);
|
|
6570
6702
|
await initStream(reader);
|
|
6571
|
-
if (!reader.
|
|
6703
|
+
if (!reader.readUint8Array && !reader.readable) {
|
|
6572
6704
|
throw new Error(ERR_INVALID_READER);
|
|
6573
6705
|
}
|
|
6574
6706
|
({ size: contentSize } = reader);
|
|
@@ -6581,8 +6713,10 @@ function resolveEntrySizes(zipWriter, hasContent, contentSize, metadata, options
|
|
|
6581
6713
|
let maximumCompressedSize = 0;
|
|
6582
6714
|
let uncompressedSize = 0;
|
|
6583
6715
|
let unknownSize = false;
|
|
6716
|
+
const uncompressedSizeOption = toNumber(options[PROPERTY_NAME_UNCOMPRESSED_SIZE]);
|
|
6717
|
+
checkIntegerOption(uncompressedSizeOption, Number.MAX_SAFE_INTEGER, ERR_INVALID_UNCOMPRESSED_SIZE_OPTION);
|
|
6584
6718
|
if (passThroughCompression && hasContent) {
|
|
6585
|
-
uncompressedSize =
|
|
6719
|
+
uncompressedSize = uncompressedSizeOption;
|
|
6586
6720
|
if (uncompressedSize === UNDEFINED_VALUE) {
|
|
6587
6721
|
throw new Error(ERR_UNDEFINED_UNCOMPRESSED_SIZE);
|
|
6588
6722
|
}
|
|
@@ -6603,14 +6737,14 @@ function resolveEntrySizes(zipWriter, hasContent, contentSize, metadata, options
|
|
|
6603
6737
|
const encryptionOverhead = getEncryptionOverhead(encryptedEntry, zipCrypto, encryptionStrength);
|
|
6604
6738
|
if (hasContent) {
|
|
6605
6739
|
if (!passThroughCompression) {
|
|
6606
|
-
|
|
6607
|
-
|
|
6740
|
+
const expectedSize = contentSize === UNDEFINED_VALUE ? uncompressedSizeOption : contentSize;
|
|
6741
|
+
if (expectedSize === UNDEFINED_VALUE) {
|
|
6608
6742
|
if (zip64 || zip64 === UNDEFINED_VALUE) {
|
|
6609
6743
|
zip64 = unknownSize = true;
|
|
6610
6744
|
maximumCompressedSize = MAX_32_BITS + 1;
|
|
6611
6745
|
}
|
|
6612
6746
|
} else {
|
|
6613
|
-
options.uncompressedSize = uncompressedSize =
|
|
6747
|
+
options.uncompressedSize = uncompressedSize = expectedSize;
|
|
6614
6748
|
maximumCompressedSize = (isCompressed(compressionMethod, level) ? getMaximumCompressedSize(uncompressedSize) : uncompressedSize) + encryptionOverhead;
|
|
6615
6749
|
}
|
|
6616
6750
|
} else {
|
|
@@ -6619,7 +6753,9 @@ function resolveEntrySizes(zipWriter, hasContent, contentSize, metadata, options
|
|
|
6619
6753
|
}
|
|
6620
6754
|
}
|
|
6621
6755
|
const emptyEntry = !encryptedEntry && (!hasContent || contentSize === 0 && !passThroughCompression) && !isCompressed(compressionMethod, level);
|
|
6622
|
-
|
|
6756
|
+
const crc32Provided = options.crc32 !== UNDEFINED_VALUE || options[PROPERTY_NAME_SIGNATURE] !== UNDEFINED_VALUE;
|
|
6757
|
+
const completeHeader = passThroughCompression && hasContent && contentSize !== UNDEFINED_VALUE && !(encryptedEntry && zipCrypto) && (crc32Provided || encryptedEntry && !zipCrypto);
|
|
6758
|
+
if ((emptyEntry || completeHeader) && getOptionValue2(zipWriter, options, OPTION_DATA_DESCRIPTOR) === UNDEFINED_VALUE) {
|
|
6623
6759
|
dataDescriptor = false;
|
|
6624
6760
|
}
|
|
6625
6761
|
const zip64UncompressedSize = zip64Enabled || unknownSize || uncompressedSize >= MAX_32_BITS;
|
|
@@ -6637,6 +6773,8 @@ function resolveEntrySizes(zipWriter, hasContent, contentSize, metadata, options
|
|
|
6637
6773
|
resolvedOptions: {
|
|
6638
6774
|
dataDescriptor,
|
|
6639
6775
|
emptyEntry,
|
|
6776
|
+
completeHeader,
|
|
6777
|
+
knownCompressedSize: completeHeader ? maximumCompressedSize : UNDEFINED_VALUE,
|
|
6640
6778
|
zip64,
|
|
6641
6779
|
zip64Enabled,
|
|
6642
6780
|
unknownSize,
|
|
@@ -6658,6 +6796,7 @@ async function getFileEntry(zipWriter, name, reader, entryInfo, options) {
|
|
|
6658
6796
|
keepOrder,
|
|
6659
6797
|
dataDescriptor,
|
|
6660
6798
|
emptyEntry,
|
|
6799
|
+
completeHeader,
|
|
6661
6800
|
signal
|
|
6662
6801
|
} = options;
|
|
6663
6802
|
const {
|
|
@@ -6679,7 +6818,7 @@ async function getFileEntry(zipWriter, name, reader, entryInfo, options) {
|
|
|
6679
6818
|
const lockPreviousFileEntry = keepOrder && previousFileEntry ? previousFileEntry.lockFileEntry : UNDEFINED_VALUE;
|
|
6680
6819
|
fileEntries.set(name, fileEntry);
|
|
6681
6820
|
try {
|
|
6682
|
-
if (options.bufferedWrite || !keepOrder || zipWriter.writerLocked || zipWriter.bufferedWrites || zipWriter.directWrites || !dataDescriptor && !emptyEntry) {
|
|
6821
|
+
if (options.bufferedWrite || !keepOrder || zipWriter.writerLocked || zipWriter.bufferedWrites || zipWriter.directWrites || !dataDescriptor && !emptyEntry && !completeHeader) {
|
|
6683
6822
|
bufferedWrite = true;
|
|
6684
6823
|
zipWriter.bufferedWrites++;
|
|
6685
6824
|
if (options.createTempStream) {
|
|
@@ -6822,6 +6961,7 @@ async function createFileEntry(reader, writer, { diskNumberStart, lockFileEntry
|
|
|
6822
6961
|
extraFieldExtendedTimestampTime,
|
|
6823
6962
|
rawExtraFieldNTFS,
|
|
6824
6963
|
rawExtraFieldUnix,
|
|
6964
|
+
rawCentralExtraFieldUnix,
|
|
6825
6965
|
rawExtraFieldAES
|
|
6826
6966
|
} = headerInfo;
|
|
6827
6967
|
const { dataDescriptorArray } = dataDescriptorInfo;
|
|
@@ -6846,7 +6986,6 @@ async function createFileEntry(reader, writer, { diskNumberStart, lockFileEntry
|
|
|
6846
6986
|
rawExtraField,
|
|
6847
6987
|
rawCentralExtraField,
|
|
6848
6988
|
useWebWorkers,
|
|
6849
|
-
transferStreams,
|
|
6850
6989
|
onstart,
|
|
6851
6990
|
onprogress,
|
|
6852
6991
|
onend,
|
|
@@ -6888,6 +7027,7 @@ async function createFileEntry(reader, writer, { diskNumberStart, lockFileEntry
|
|
|
6888
7027
|
rawExtraFieldExtendedTimestamp,
|
|
6889
7028
|
rawExtraFieldNTFS,
|
|
6890
7029
|
rawExtraFieldUnix,
|
|
7030
|
+
rawCentralExtraFieldUnix,
|
|
6891
7031
|
rawExtraFieldAES,
|
|
6892
7032
|
rawExtraField,
|
|
6893
7033
|
rawCentralExtraField,
|
|
@@ -6934,7 +7074,6 @@ async function createFileEntry(reader, writer, { diskNumberStart, lockFileEntry
|
|
|
6934
7074
|
encrypted: encrypted && !passThroughEncryption,
|
|
6935
7075
|
useWebWorkers,
|
|
6936
7076
|
useCompressionStream,
|
|
6937
|
-
transferStreams,
|
|
6938
7077
|
format,
|
|
6939
7078
|
codecURI,
|
|
6940
7079
|
compressionMethod
|
|
@@ -7022,10 +7161,12 @@ function getHeaderInfo(options) {
|
|
|
7022
7161
|
zip64UncompressedSize,
|
|
7023
7162
|
zip64CompressedSize,
|
|
7024
7163
|
uncompressedSize,
|
|
7164
|
+
knownCompressedSize,
|
|
7025
7165
|
unknownSize,
|
|
7026
7166
|
crc32
|
|
7027
7167
|
} = options;
|
|
7028
7168
|
let { version, compressionMethod } = options;
|
|
7169
|
+
const compressedSize = dataDescriptor ? UNDEFINED_VALUE : knownCompressedSize;
|
|
7029
7170
|
const compressed = !directory && isCompressed(compressionMethod, level);
|
|
7030
7171
|
let rawLocalExtraFieldZip64;
|
|
7031
7172
|
const uncompressedFile = passThroughCompression || !compressed;
|
|
@@ -7041,7 +7182,7 @@ function getHeaderInfo(options) {
|
|
|
7041
7182
|
extraFieldZip64.writeUint64(uncompressedSize);
|
|
7042
7183
|
if (uncompressedFile) {
|
|
7043
7184
|
const encryptionOverhead = getEncryptionOverhead(encrypted, zipCrypto, encryptionStrength);
|
|
7044
|
-
extraFieldZip64.writeUint64(passThroughCompression ? 0 : uncompressedSize + encryptionOverhead);
|
|
7185
|
+
extraFieldZip64.writeUint64(passThroughCompression ? compressedSize === UNDEFINED_VALUE ? 0 : compressedSize : uncompressedSize + encryptionOverhead);
|
|
7045
7186
|
}
|
|
7046
7187
|
}
|
|
7047
7188
|
} else {
|
|
@@ -7107,6 +7248,7 @@ function getHeaderInfo(options) {
|
|
|
7107
7248
|
rawExtraFieldNTFS = rawExtraFieldExtendedTimestamp = EMPTY_UINT8_ARRAY;
|
|
7108
7249
|
}
|
|
7109
7250
|
let rawExtraFieldUnix;
|
|
7251
|
+
let rawCentralExtraFieldUnix;
|
|
7110
7252
|
try {
|
|
7111
7253
|
const { uid, gid, unixExtraFieldType } = options;
|
|
7112
7254
|
if (unixExtraFieldType == INFOZIP_EXTRA_FIELD_TYPE && (uid !== UNDEFINED_VALUE || gid !== UNDEFINED_VALUE)) {
|
|
@@ -7121,7 +7263,7 @@ function getHeaderInfo(options) {
|
|
|
7121
7263
|
extraFieldUnix.writeBytes(uidBytes);
|
|
7122
7264
|
extraFieldUnix.writeUint8(gidBytes.length);
|
|
7123
7265
|
extraFieldUnix.writeBytes(gidBytes);
|
|
7124
|
-
rawExtraFieldUnix = extraFieldUnix.array;
|
|
7266
|
+
rawExtraFieldUnix = rawCentralExtraFieldUnix = extraFieldUnix.array;
|
|
7125
7267
|
} else if (unixExtraFieldType == UNIX_EXTRA_FIELD_TYPE && (uid !== UNDEFINED_VALUE || gid !== UNDEFINED_VALUE)) {
|
|
7126
7268
|
const extraFieldUnix = createRecordWriter(8);
|
|
7127
7269
|
extraFieldUnix.writeUint16(EXTRAFIELD_TYPE_UNIX);
|
|
@@ -7129,11 +7271,15 @@ function getHeaderInfo(options) {
|
|
|
7129
7271
|
extraFieldUnix.writeUint16((uid === UNDEFINED_VALUE ? 0 : uid) & MAX_16_BITS);
|
|
7130
7272
|
extraFieldUnix.writeUint16((gid === UNDEFINED_VALUE ? 0 : gid) & MAX_16_BITS);
|
|
7131
7273
|
rawExtraFieldUnix = extraFieldUnix.array;
|
|
7274
|
+
const centralExtraFieldUnix = createRecordWriter(4);
|
|
7275
|
+
centralExtraFieldUnix.writeUint16(EXTRAFIELD_TYPE_UNIX);
|
|
7276
|
+
centralExtraFieldUnix.writeUint16(0);
|
|
7277
|
+
rawCentralExtraFieldUnix = centralExtraFieldUnix.array;
|
|
7132
7278
|
} else {
|
|
7133
|
-
rawExtraFieldUnix = EMPTY_UINT8_ARRAY;
|
|
7279
|
+
rawExtraFieldUnix = rawCentralExtraFieldUnix = EMPTY_UINT8_ARRAY;
|
|
7134
7280
|
}
|
|
7135
7281
|
} catch {
|
|
7136
|
-
rawExtraFieldUnix = EMPTY_UINT8_ARRAY;
|
|
7282
|
+
rawExtraFieldUnix = rawCentralExtraFieldUnix = EMPTY_UINT8_ARRAY;
|
|
7137
7283
|
}
|
|
7138
7284
|
if (compressionMethod === UNDEFINED_VALUE) {
|
|
7139
7285
|
compressionMethod = compressed ? COMPRESSION_METHOD_DEFLATE : COMPRESSION_METHOD_STORE;
|
|
@@ -7174,6 +7320,7 @@ function getHeaderInfo(options) {
|
|
|
7174
7320
|
bitFlag: getBitFlag(level, useUnicodeFileNames, dataDescriptor, encrypted, compressionMethod),
|
|
7175
7321
|
compressionMethod,
|
|
7176
7322
|
uncompressedSize,
|
|
7323
|
+
compressedSize,
|
|
7177
7324
|
lastModDate: clampedLastModDate,
|
|
7178
7325
|
rawLastModDate: rawLastModDateOption,
|
|
7179
7326
|
rawFilename,
|
|
@@ -7181,6 +7328,9 @@ function getHeaderInfo(options) {
|
|
|
7181
7328
|
zip64UncompressedSize,
|
|
7182
7329
|
extraFieldLength
|
|
7183
7330
|
});
|
|
7331
|
+
if (compressedSize !== UNDEFINED_VALUE && passThroughCompression && crc32 !== UNDEFINED_VALUE) {
|
|
7332
|
+
setUint32(headerView, HEADER_OFFSET_SIGNATURE, crc32);
|
|
7333
|
+
}
|
|
7184
7334
|
const localHeader = createRecordWriter(HEADER_SIZE + getLength(rawFilename) + extraFieldLength);
|
|
7185
7335
|
const localHeaderArray = localHeader.array;
|
|
7186
7336
|
const localHeaderView = getDataView(localHeaderArray);
|
|
@@ -7223,6 +7373,7 @@ function getHeaderInfo(options) {
|
|
|
7223
7373
|
rawExtraFieldExtendedTimestamp,
|
|
7224
7374
|
rawExtraFieldNTFS,
|
|
7225
7375
|
rawExtraFieldUnix,
|
|
7376
|
+
rawCentralExtraFieldUnix,
|
|
7226
7377
|
rawExtraFieldAES,
|
|
7227
7378
|
extraFieldLength
|
|
7228
7379
|
};
|
|
@@ -7389,7 +7540,7 @@ function createDirectoryRecords(files) {
|
|
|
7389
7540
|
rawExtraFieldAES,
|
|
7390
7541
|
rawComment,
|
|
7391
7542
|
rawExtraFieldNTFS,
|
|
7392
|
-
|
|
7543
|
+
rawCentralExtraFieldUnix,
|
|
7393
7544
|
rawExtraField,
|
|
7394
7545
|
rawCentralExtraField,
|
|
7395
7546
|
extraFieldExtendedTimestampFlag,
|
|
@@ -7451,7 +7602,7 @@ function createDirectoryRecords(files) {
|
|
|
7451
7602
|
rawExtraFieldZip64,
|
|
7452
7603
|
rawExtraFieldAES,
|
|
7453
7604
|
rawExtraFieldNTFS,
|
|
7454
|
-
|
|
7605
|
+
rawCentralExtraFieldUnix,
|
|
7455
7606
|
rawExtraFieldTimestamp,
|
|
7456
7607
|
rawExtraField,
|
|
7457
7608
|
rawCentralExtraField
|
|
@@ -7480,7 +7631,7 @@ async function writeDirectoryRecords(zipWriter, directoryDataLength, options) {
|
|
|
7480
7631
|
rawExtraFieldAES,
|
|
7481
7632
|
rawExtraFieldExtendedTimestamp,
|
|
7482
7633
|
rawExtraFieldNTFS,
|
|
7483
|
-
|
|
7634
|
+
rawCentralExtraFieldUnix,
|
|
7484
7635
|
rawExtraField,
|
|
7485
7636
|
rawCentralExtraField,
|
|
7486
7637
|
rawComment,
|
|
@@ -7497,7 +7648,7 @@ async function writeDirectoryRecords(zipWriter, directoryDataLength, options) {
|
|
|
7497
7648
|
uncompressedSize,
|
|
7498
7649
|
compressedSize
|
|
7499
7650
|
} = fileEntry;
|
|
7500
|
-
const extraFieldLength = getLength(rawExtraFieldZip64, rawExtraFieldAES, rawExtraFieldExtendedTimestamp, rawExtraFieldNTFS,
|
|
7651
|
+
const extraFieldLength = getLength(rawExtraFieldZip64, rawExtraFieldAES, rawExtraFieldExtendedTimestamp, rawExtraFieldNTFS, rawCentralExtraFieldUnix, rawExtraField, rawCentralExtraField);
|
|
7501
7652
|
const directoryRecordLength = CENTRAL_FILE_HEADER_LENGTH + getLength(rawFilename, rawComment) + extraFieldLength;
|
|
7502
7653
|
if (exceedsAvailableSize(writer, offset + directoryRecordLength - directoryDiskOffset)) {
|
|
7503
7654
|
await writeData(writer, directoryArray.slice(directoryDiskOffset, offset));
|
|
@@ -7533,7 +7684,7 @@ async function writeDirectoryRecords(zipWriter, directoryDataLength, options) {
|
|
|
7533
7684
|
directoryRecord.writeBytes(rawExtraFieldAES);
|
|
7534
7685
|
directoryRecord.writeBytes(rawExtraFieldExtendedTimestamp);
|
|
7535
7686
|
directoryRecord.writeBytes(rawExtraFieldNTFS);
|
|
7536
|
-
directoryRecord.writeBytes(
|
|
7687
|
+
directoryRecord.writeBytes(rawCentralExtraFieldUnix);
|
|
7537
7688
|
directoryRecord.writeBytes(rawExtraField);
|
|
7538
7689
|
directoryRecord.writeBytes(rawCentralExtraField);
|
|
7539
7690
|
directoryRecord.writeBytes(rawComment);
|
|
@@ -7707,25 +7858,62 @@ function removeExtraFieldZip64(rawExtraField) {
|
|
|
7707
7858
|
}
|
|
7708
7859
|
return rawExtraField;
|
|
7709
7860
|
}
|
|
7710
|
-
async function copyZipData(zipWriter, reader, entries, directoryOffset) {
|
|
7861
|
+
async function copyZipData(zipWriter, reader, entries, keptEntries, directoryOffset, compact, getEntryDataDescriptorLength2) {
|
|
7711
7862
|
const { writer } = zipWriter;
|
|
7712
7863
|
const entryPositions = /* @__PURE__ */ new Map();
|
|
7713
|
-
if (writer.closeDisk) {
|
|
7864
|
+
if (writer.closeDisk || compact) {
|
|
7714
7865
|
const sortedEntries = Array.from(entries).sort((firstEntry, secondEntry) => getSourceOffset(reader, firstEntry) - getSourceOffset(reader, secondEntry));
|
|
7715
|
-
|
|
7716
|
-
|
|
7717
|
-
|
|
7718
|
-
|
|
7719
|
-
|
|
7720
|
-
|
|
7721
|
-
|
|
7722
|
-
|
|
7723
|
-
|
|
7724
|
-
|
|
7725
|
-
|
|
7726
|
-
|
|
7866
|
+
const regionEnds = getRegionEnds(reader, sortedEntries, directoryOffset);
|
|
7867
|
+
const keptEntrySet = new Set(keptEntries);
|
|
7868
|
+
const localHeaderLengths = /* @__PURE__ */ new Map();
|
|
7869
|
+
for (let indexEntry = 0; indexEntry < sortedEntries.length; indexEntry++) {
|
|
7870
|
+
const entry = sortedEntries[indexEntry];
|
|
7871
|
+
if (keptEntrySet.has(entry)) {
|
|
7872
|
+
const sourceOffset = getSourceOffset(reader, entry);
|
|
7873
|
+
const localHeaderLength = await getLocalHeaderLength(reader, sourceOffset);
|
|
7874
|
+
if (localHeaderLength === UNDEFINED_VALUE) {
|
|
7875
|
+
throw new Error(ERR_LOCAL_FILE_HEADER_NOT_FOUND);
|
|
7876
|
+
}
|
|
7877
|
+
let entryEnd = sourceOffset + localHeaderLength + entry.compressedSize;
|
|
7878
|
+
if (entry.bitFlag.dataDescriptor) {
|
|
7879
|
+
const dataDescriptorLength = await getEntryDataDescriptorLength2(reader, entryEnd, entry);
|
|
7880
|
+
entryEnd = dataDescriptorLength === UNDEFINED_VALUE ? Math.max(entryEnd, regionEnds[indexEntry]) : entryEnd + dataDescriptorLength;
|
|
7881
|
+
}
|
|
7882
|
+
if (entryEnd > regionEnds[indexEntry]) {
|
|
7883
|
+
throw new Error(ERR_OVERLAPPING_ENTRY);
|
|
7884
|
+
}
|
|
7885
|
+
regionEnds[indexEntry] = entryEnd;
|
|
7886
|
+
localHeaderLengths.set(entry, localHeaderLength);
|
|
7887
|
+
}
|
|
7888
|
+
}
|
|
7889
|
+
let copiedOffset = 0;
|
|
7890
|
+
let lastPosition;
|
|
7891
|
+
for (let indexEntry = 0; indexEntry < sortedEntries.length; indexEntry++) {
|
|
7892
|
+
const entry = sortedEntries[indexEntry];
|
|
7893
|
+
if (keptEntrySet.has(entry)) {
|
|
7894
|
+
const sourceOffset = getSourceOffset(reader, entry);
|
|
7895
|
+
if (sourceOffset < copiedOffset) {
|
|
7896
|
+
entryPositions.set(entry, lastPosition);
|
|
7897
|
+
} else {
|
|
7898
|
+
if (!compact) {
|
|
7899
|
+
await copyData(zipWriter, reader, copiedOffset, sourceOffset - copiedOffset);
|
|
7900
|
+
}
|
|
7901
|
+
if (writer.closeDisk && exceedsAvailableSize(writer, localHeaderLengths.get(entry))) {
|
|
7902
|
+
await writer.closeDisk();
|
|
7903
|
+
}
|
|
7904
|
+
lastPosition = {
|
|
7905
|
+
offset: getSegmentOffset(zipWriter, writer),
|
|
7906
|
+
diskNumberStart: getDiskNumber(writer)
|
|
7907
|
+
};
|
|
7908
|
+
entryPositions.set(entry, lastPosition);
|
|
7909
|
+
await copyData(zipWriter, reader, sourceOffset, regionEnds[indexEntry] - sourceOffset);
|
|
7910
|
+
copiedOffset = regionEnds[indexEntry];
|
|
7911
|
+
}
|
|
7912
|
+
}
|
|
7913
|
+
}
|
|
7914
|
+
if (!compact) {
|
|
7915
|
+
await copyData(zipWriter, reader, copiedOffset, directoryOffset - copiedOffset);
|
|
7727
7916
|
}
|
|
7728
|
-
await copyData(zipWriter, reader, copiedLength, directoryOffset - copiedLength);
|
|
7729
7917
|
} else {
|
|
7730
7918
|
const baseOffset = zipWriter.offset;
|
|
7731
7919
|
await copyData(zipWriter, reader, 0, directoryOffset);
|
|
@@ -7736,6 +7924,19 @@ async function copyZipData(zipWriter, reader, entries, directoryOffset) {
|
|
|
7736
7924
|
}
|
|
7737
7925
|
return entryPositions;
|
|
7738
7926
|
}
|
|
7927
|
+
function getRegionEnds(reader, sortedEntries, directoryOffset) {
|
|
7928
|
+
const regionEnds = new Array(sortedEntries.length);
|
|
7929
|
+
let regionEnd = directoryOffset;
|
|
7930
|
+
for (let indexEntry = sortedEntries.length - 1; indexEntry >= 0; indexEntry--) {
|
|
7931
|
+
const sourceOffset = getSourceOffset(reader, sortedEntries[indexEntry]);
|
|
7932
|
+
const nextEntry = sortedEntries[indexEntry + 1];
|
|
7933
|
+
if (nextEntry && getSourceOffset(reader, nextEntry) > sourceOffset) {
|
|
7934
|
+
regionEnd = Math.min(getSourceOffset(reader, nextEntry), directoryOffset);
|
|
7935
|
+
}
|
|
7936
|
+
regionEnds[indexEntry] = regionEnd;
|
|
7937
|
+
}
|
|
7938
|
+
return regionEnds;
|
|
7939
|
+
}
|
|
7739
7940
|
async function copyData(zipWriter, reader, offset, size) {
|
|
7740
7941
|
if (size > 0) {
|
|
7741
7942
|
const { writer } = zipWriter;
|
|
@@ -7743,10 +7944,12 @@ async function copyData(zipWriter, reader, offset, size) {
|
|
|
7743
7944
|
try {
|
|
7744
7945
|
await flushBufferedData(createReadable(reader, { offset, size }), writer, UNDEFINED_VALUE, (chunkLength) => copiedLength += chunkLength);
|
|
7745
7946
|
} catch (error) {
|
|
7746
|
-
|
|
7747
|
-
|
|
7748
|
-
|
|
7749
|
-
|
|
7947
|
+
if (copiedLength) {
|
|
7948
|
+
zipWriter.hasCorruptedEntries = true;
|
|
7949
|
+
try {
|
|
7950
|
+
error.corruptedEntry = true;
|
|
7951
|
+
} catch {
|
|
7952
|
+
}
|
|
7750
7953
|
}
|
|
7751
7954
|
throw error;
|
|
7752
7955
|
} finally {
|
|
@@ -7756,11 +7959,14 @@ async function copyData(zipWriter, reader, offset, size) {
|
|
|
7756
7959
|
}
|
|
7757
7960
|
}
|
|
7758
7961
|
async function getLocalHeaderLength(reader, offset) {
|
|
7759
|
-
const headerArray = await readUint8Array(reader, offset, HEADER_SIZE);
|
|
7962
|
+
const headerArray = offset >= 0 && offset + HEADER_SIZE <= reader.size ? await readUint8Array(reader, offset, HEADER_SIZE) : EMPTY_UINT8_ARRAY;
|
|
7760
7963
|
if (getLength(headerArray) < HEADER_SIZE) {
|
|
7761
|
-
return
|
|
7964
|
+
return UNDEFINED_VALUE;
|
|
7762
7965
|
}
|
|
7763
7966
|
const headerView = getDataView(headerArray);
|
|
7967
|
+
if (getUint322(headerView, 0) != LOCAL_FILE_HEADER_SIGNATURE) {
|
|
7968
|
+
return UNDEFINED_VALUE;
|
|
7969
|
+
}
|
|
7764
7970
|
return HEADER_SIZE + getUint162(headerView, HEADER_OFFSET_FILENAME_LENGTH + LOCAL_HEADER_COMMON_OFFSET) + getUint162(headerView, HEADER_OFFSET_EXTRAFIELD_LENGTH + LOCAL_HEADER_COMMON_OFFSET);
|
|
7765
7971
|
}
|
|
7766
7972
|
function getSourceOffset(reader, { offset, diskNumberStart }) {
|
|
@@ -7942,39 +8148,39 @@ function getBitFlag(level, useUnicodeFileNames, dataDescriptor, encrypted, compr
|
|
|
7942
8148
|
return bitFlag;
|
|
7943
8149
|
}
|
|
7944
8150
|
|
|
7945
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
8151
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/zip-core-base.js
|
|
7946
8152
|
init_io();
|
|
7947
8153
|
init_options();
|
|
7948
8154
|
init_configuration();
|
|
7949
8155
|
init_codec_registry();
|
|
7950
8156
|
|
|
7951
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
8157
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/compression-methods.js
|
|
7952
8158
|
init_constants();
|
|
7953
8159
|
init_configuration();
|
|
7954
8160
|
init_codec_registry();
|
|
7955
8161
|
init_zip_entry_stream();
|
|
7956
8162
|
|
|
7957
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
8163
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/opfs-temp-stream.js
|
|
7958
8164
|
var DEFAULT_THRESHOLD = 1024 * 1024;
|
|
7959
8165
|
|
|
7960
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
8166
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/blob-temp-stream.js
|
|
7961
8167
|
init_compatible_streams();
|
|
7962
8168
|
var DEFAULT_THRESHOLD2 = 1024 * 1024;
|
|
7963
8169
|
|
|
7964
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
8170
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/util/sync-access-handle-temp-stream.js
|
|
7965
8171
|
var DEFAULT_THRESHOLD3 = 1024 * 1024;
|
|
7966
8172
|
var READ_CHUNK_SIZE = 512 * 1024;
|
|
7967
8173
|
|
|
7968
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
8174
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/zip-core-base.js
|
|
7969
8175
|
try {
|
|
7970
8176
|
setDefaultConfiguration({ baseURI: import.meta.url });
|
|
7971
8177
|
} catch {
|
|
7972
8178
|
}
|
|
7973
8179
|
|
|
7974
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
8180
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/zip-module-wasm.js
|
|
7975
8181
|
init_configuration();
|
|
7976
8182
|
|
|
7977
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
8183
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/zlib-streams-inline.js
|
|
7978
8184
|
var n2 = [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];
|
|
7979
8185
|
var t2 = [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];
|
|
7980
8186
|
var r = [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];
|
|
@@ -8099,14 +8305,14 @@ function s(s2) {
|
|
|
8099
8305
|
})("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")))), X) });
|
|
8100
8306
|
}
|
|
8101
8307
|
|
|
8102
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
8308
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/zip-module-wasm-base.js
|
|
8103
8309
|
init_constants();
|
|
8104
8310
|
init_configuration();
|
|
8105
8311
|
init_codec_worker();
|
|
8106
8312
|
init_codec_pool();
|
|
8107
8313
|
init_aes_crypto_stream();
|
|
8108
8314
|
|
|
8109
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
8315
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/zlib-wasm/zlib-streams.js
|
|
8110
8316
|
var FORMAT_DEFLATE = "deflate";
|
|
8111
8317
|
var FORMAT_DEFLATE_RAW2 = "deflate-raw";
|
|
8112
8318
|
var FORMAT_DEFLATE64_RAW2 = "deflate64-raw";
|
|
@@ -8369,7 +8575,7 @@ DecompressionStreamZlib.requiresModule = true;
|
|
|
8369
8575
|
CompressionStreamZlib.supportedFormats = COMPRESSION_FORMATS;
|
|
8370
8576
|
DecompressionStreamZlib.supportedFormats = DECOMPRESSION_FORMATS;
|
|
8371
8577
|
|
|
8372
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
8578
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/zlib-wasm/aes-hmac-sha1-wasm.js
|
|
8373
8579
|
init_constants();
|
|
8374
8580
|
init_aes_hmac_sha1();
|
|
8375
8581
|
var BUFFER_LENGTH = 64 * 1024;
|
|
@@ -8432,7 +8638,7 @@ function getHeap(exports) {
|
|
|
8432
8638
|
return new Uint8Array(exports.memory.buffer);
|
|
8433
8639
|
}
|
|
8434
8640
|
|
|
8435
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
8641
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/streams/zlib-wasm/zlib-streams-loader.js
|
|
8436
8642
|
var initializedModule = false;
|
|
8437
8643
|
async function initModule2(wasmURI, { baseURI }) {
|
|
8438
8644
|
if (!initializedModule) {
|
|
@@ -8476,7 +8682,7 @@ function arrayBufferFromDataURI(dataURI) {
|
|
|
8476
8682
|
return bytes2.buffer;
|
|
8477
8683
|
}
|
|
8478
8684
|
|
|
8479
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
8685
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/zip-module-wasm-base.js
|
|
8480
8686
|
var modulePromise;
|
|
8481
8687
|
setAESEngine(createEngine3);
|
|
8482
8688
|
configureWorker({
|
|
@@ -8499,10 +8705,10 @@ setDefaultConfiguration({
|
|
|
8499
8705
|
DecompressionStreamFallback: DecompressionStreamZlib
|
|
8500
8706
|
});
|
|
8501
8707
|
|
|
8502
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
8708
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/zip-module-wasm.js
|
|
8503
8709
|
s(setDefaultConfiguration);
|
|
8504
8710
|
|
|
8505
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
8711
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/core/zip-fs.js
|
|
8506
8712
|
init_io();
|
|
8507
8713
|
init_zip_reader();
|
|
8508
8714
|
init_zip_entry();
|
|
@@ -8514,7 +8720,7 @@ init_compatible_streams();
|
|
|
8514
8720
|
init_error();
|
|
8515
8721
|
var EMPTY_RAW_PASSWORD = new Uint8Array(0);
|
|
8516
8722
|
|
|
8517
|
-
// ../../node_modules/.pnpm/@zip.js+zip.js@2.
|
|
8723
|
+
// ../../node_modules/.pnpm/@zip.js+zip.js@2.24.0/node_modules/@zip.js/zip.js/lib/zip-fs-wasm.js
|
|
8518
8724
|
e(setDefaultConfiguration);
|
|
8519
8725
|
|
|
8520
8726
|
// src/io/bounded-zip.ts
|