From c3fce0ee706d19e05b6faf8d1d16a40adf678305 Mon Sep 17 00:00:00 2001 From: asc24 <3681457215@qq.com> Date: Fri, 24 Jul 2026 16:13:19 +0800 Subject: [PATCH] wyxd --- .gitignore | 1 + node_modules/.package-lock.json | 101 +- node_modules/core-util-is/LICENSE | 19 + node_modules/core-util-is/README.md | 3 + node_modules/core-util-is/lib/util.js | 107 + node_modules/core-util-is/package.json | 38 + node_modules/immediate/LICENSE.txt | 20 + node_modules/immediate/README.md | 93 + node_modules/immediate/dist/immediate.js | 75 + node_modules/immediate/dist/immediate.min.js | 1 + node_modules/immediate/lib/browser.js | 69 + node_modules/immediate/lib/index.js | 73 + node_modules/immediate/package.json | 42 + node_modules/inherits/LICENSE | 16 + node_modules/inherits/README.md | 42 + node_modules/inherits/inherits.js | 9 + node_modules/inherits/inherits_browser.js | 27 + node_modules/inherits/package.json | 29 + node_modules/isarray/.npmignore | 1 + node_modules/isarray/.travis.yml | 4 + node_modules/isarray/Makefile | 6 + node_modules/isarray/README.md | 60 + node_modules/isarray/component.json | 19 + node_modules/isarray/index.js | 5 + node_modules/isarray/package.json | 45 + node_modules/isarray/test.js | 20 + node_modules/jszip/.codeclimate.yml | 16 + node_modules/jszip/.editorconfig | 8 + node_modules/jszip/.eslintrc.js | 43 + node_modules/jszip/.github/workflows/pr.yaml | 58 + node_modules/jszip/.jekyll-metadata | Bin 0 -> 24628 bytes node_modules/jszip/.travis.yml | 17 + node_modules/jszip/CHANGES.md | 204 + node_modules/jszip/LICENSE.markdown | 651 + node_modules/jszip/README.markdown | 33 + node_modules/jszip/deps.js | 37 + node_modules/jszip/dist/jszip.js | 11577 ++++++++++++++++ node_modules/jszip/dist/jszip.min.js | 13 + node_modules/jszip/graph.svg | 601 + node_modules/jszip/index.d.ts | 330 + node_modules/jszip/lib/base64.js | 106 + node_modules/jszip/lib/compressedObject.js | 74 + node_modules/jszip/lib/compressions.js | 14 + node_modules/jszip/lib/crc32.js | 77 + node_modules/jszip/lib/defaults.js | 11 + node_modules/jszip/lib/external.js | 18 + node_modules/jszip/lib/flate.js | 85 + .../jszip/lib/generate/ZipFileWorker.js | 539 + node_modules/jszip/lib/generate/index.js | 57 + node_modules/jszip/lib/index.js | 55 + node_modules/jszip/lib/license_header.js | 11 + node_modules/jszip/lib/load.js | 88 + .../lib/nodejs/NodejsStreamInputAdapter.js | 74 + .../lib/nodejs/NodejsStreamOutputAdapter.js | 42 + node_modules/jszip/lib/nodejsUtils.js | 57 + node_modules/jszip/lib/object.js | 384 + .../jszip/lib/readable-stream-browser.js | 10 + node_modules/jszip/lib/reader/ArrayReader.js | 57 + node_modules/jszip/lib/reader/DataReader.js | 116 + .../jszip/lib/reader/NodeBufferReader.js | 19 + node_modules/jszip/lib/reader/StringReader.js | 38 + .../jszip/lib/reader/Uint8ArrayReader.js | 22 + node_modules/jszip/lib/reader/readerFor.js | 28 + node_modules/jszip/lib/signature.js | 7 + .../jszip/lib/stream/ConvertWorker.js | 26 + node_modules/jszip/lib/stream/Crc32Probe.js | 24 + .../jszip/lib/stream/DataLengthProbe.js | 29 + node_modules/jszip/lib/stream/DataWorker.js | 116 + .../jszip/lib/stream/GenericWorker.js | 263 + node_modules/jszip/lib/stream/StreamHelper.js | 214 + node_modules/jszip/lib/support.js | 38 + node_modules/jszip/lib/utf8.js | 275 + node_modules/jszip/lib/utils.js | 501 + node_modules/jszip/lib/zipEntries.js | 261 + node_modules/jszip/lib/zipEntry.js | 293 + node_modules/jszip/lib/zipObject.js | 133 + node_modules/jszip/package.json | 67 + node_modules/jszip/sponsors.md | 21 + node_modules/jszip/tsconfig.json | 101 + node_modules/jszip/vendor/FileSaver.js | 247 + node_modules/lie/README.md | 62 + node_modules/lie/dist/lie.js | 350 + node_modules/lie/dist/lie.min.js | 1 + node_modules/lie/dist/lie.polyfill.js | 358 + node_modules/lie/dist/lie.polyfill.min.js | 1 + node_modules/lie/lib/browser.js | 273 + node_modules/lie/lib/index.js | 298 + node_modules/lie/license.md | 7 + node_modules/lie/lie.d.ts | 244 + node_modules/lie/package.json | 69 + node_modules/lie/polyfill.js | 4 + node_modules/pako/CHANGELOG.md | 164 + node_modules/pako/LICENSE | 21 + node_modules/pako/README.md | 191 + node_modules/pako/dist/pako.js | 6818 +++++++++ node_modules/pako/dist/pako.min.js | 1 + node_modules/pako/dist/pako_deflate.js | 3997 ++++++ node_modules/pako/dist/pako_deflate.min.js | 1 + node_modules/pako/dist/pako_inflate.js | 3300 +++++ node_modules/pako/dist/pako_inflate.min.js | 1 + node_modules/pako/index.js | 14 + node_modules/pako/lib/deflate.js | 400 + node_modules/pako/lib/inflate.js | 423 + node_modules/pako/lib/utils/common.js | 105 + node_modules/pako/lib/utils/strings.js | 187 + node_modules/pako/lib/zlib/README | 59 + node_modules/pako/lib/zlib/adler32.js | 51 + node_modules/pako/lib/zlib/constants.js | 68 + node_modules/pako/lib/zlib/crc32.js | 59 + node_modules/pako/lib/zlib/deflate.js | 1874 +++ node_modules/pako/lib/zlib/gzheader.js | 58 + node_modules/pako/lib/zlib/inffast.js | 345 + node_modules/pako/lib/zlib/inflate.js | 1556 +++ node_modules/pako/lib/zlib/inftrees.js | 343 + node_modules/pako/lib/zlib/messages.js | 32 + node_modules/pako/lib/zlib/trees.js | 1222 ++ node_modules/pako/lib/zlib/zstream.js | 47 + node_modules/pako/package.json | 44 + node_modules/process-nextick-args/index.js | 45 + node_modules/process-nextick-args/license.md | 19 + .../process-nextick-args/package.json | 25 + node_modules/process-nextick-args/readme.md | 18 + node_modules/readable-stream/.travis.yml | 34 + node_modules/readable-stream/CONTRIBUTING.md | 38 + node_modules/readable-stream/GOVERNANCE.md | 136 + node_modules/readable-stream/LICENSE | 47 + node_modules/readable-stream/README.md | 58 + .../doc/wg-meetings/2015-01-30.md | 60 + .../readable-stream/duplex-browser.js | 1 + node_modules/readable-stream/duplex.js | 1 + .../readable-stream/lib/_stream_duplex.js | 131 + .../lib/_stream_passthrough.js | 47 + .../readable-stream/lib/_stream_readable.js | 1019 ++ .../readable-stream/lib/_stream_transform.js | 214 + .../readable-stream/lib/_stream_writable.js | 685 + .../lib/internal/streams/BufferList.js | 78 + .../lib/internal/streams/destroy.js | 84 + .../lib/internal/streams/stream-browser.js | 1 + .../lib/internal/streams/stream.js | 1 + node_modules/readable-stream/package.json | 52 + node_modules/readable-stream/passthrough.js | 1 + .../readable-stream/readable-browser.js | 7 + node_modules/readable-stream/readable.js | 19 + node_modules/readable-stream/transform.js | 1 + .../readable-stream/writable-browser.js | 1 + node_modules/readable-stream/writable.js | 8 + node_modules/safe-buffer/LICENSE | 21 + node_modules/safe-buffer/README.md | 584 + node_modules/safe-buffer/index.d.ts | 187 + node_modules/safe-buffer/index.js | 62 + node_modules/safe-buffer/package.json | 37 + node_modules/setimmediate/LICENSE.txt | 20 + node_modules/setimmediate/package.json | 30 + node_modules/setimmediate/setImmediate.js | 186 + node_modules/string_decoder/.travis.yml | 50 + node_modules/string_decoder/LICENSE | 48 + node_modules/string_decoder/README.md | 47 + .../string_decoder/lib/string_decoder.js | 296 + node_modules/string_decoder/package.json | 31 + node_modules/util-deprecate/History.md | 16 + node_modules/util-deprecate/LICENSE | 24 + node_modules/util-deprecate/README.md | 53 + node_modules/util-deprecate/browser.js | 67 + node_modules/util-deprecate/node.js | 6 + node_modules/util-deprecate/package.json | 27 + package-lock.json | 102 +- package.json | 1 + pages.json | 11 + pages/WYXD/WYXD.vue | 306 + pages/WorkSpace/WorkSpace.vue | 24 +- .../dist/cache/.vite/deps/_metadata.json | 24 +- .../dist/cache/.vite/deps/chunk-F3FYYIAV.js | 11 - .../dist/cache/.vite/deps/chunk-TDUMLE5V.js | 17 + ...-F3FYYIAV.js.map => chunk-TDUMLE5V.js.map} | 0 unpackage/dist/cache/.vite/deps/jszip.js | 2717 ++++ unpackage/dist/cache/.vite/deps/jszip.js.map | 7 + unpackage/dist/cache/.vite/deps/marked.js | 1366 -- unpackage/dist/cache/.vite/deps/marked.js.map | 7 - unpackage/dist/cache/.vite/deps/snarkdown.js | 4 +- utils/wyxd-parser.js | 292 + 180 files changed, 50264 insertions(+), 1407 deletions(-) create mode 100644 .gitignore create mode 100644 node_modules/core-util-is/LICENSE create mode 100644 node_modules/core-util-is/README.md create mode 100644 node_modules/core-util-is/lib/util.js create mode 100644 node_modules/core-util-is/package.json create mode 100644 node_modules/immediate/LICENSE.txt create mode 100644 node_modules/immediate/README.md create mode 100644 node_modules/immediate/dist/immediate.js create mode 100644 node_modules/immediate/dist/immediate.min.js create mode 100644 node_modules/immediate/lib/browser.js create mode 100644 node_modules/immediate/lib/index.js create mode 100644 node_modules/immediate/package.json create mode 100644 node_modules/inherits/LICENSE create mode 100644 node_modules/inherits/README.md create mode 100644 node_modules/inherits/inherits.js create mode 100644 node_modules/inherits/inherits_browser.js create mode 100644 node_modules/inherits/package.json create mode 100644 node_modules/isarray/.npmignore create mode 100644 node_modules/isarray/.travis.yml create mode 100644 node_modules/isarray/Makefile create mode 100644 node_modules/isarray/README.md create mode 100644 node_modules/isarray/component.json create mode 100644 node_modules/isarray/index.js create mode 100644 node_modules/isarray/package.json create mode 100644 node_modules/isarray/test.js create mode 100644 node_modules/jszip/.codeclimate.yml create mode 100644 node_modules/jszip/.editorconfig create mode 100644 node_modules/jszip/.eslintrc.js create mode 100644 node_modules/jszip/.github/workflows/pr.yaml create mode 100644 node_modules/jszip/.jekyll-metadata create mode 100644 node_modules/jszip/.travis.yml create mode 100644 node_modules/jszip/CHANGES.md create mode 100644 node_modules/jszip/LICENSE.markdown create mode 100644 node_modules/jszip/README.markdown create mode 100644 node_modules/jszip/deps.js create mode 100644 node_modules/jszip/dist/jszip.js create mode 100644 node_modules/jszip/dist/jszip.min.js create mode 100644 node_modules/jszip/graph.svg create mode 100644 node_modules/jszip/index.d.ts create mode 100644 node_modules/jszip/lib/base64.js create mode 100644 node_modules/jszip/lib/compressedObject.js create mode 100644 node_modules/jszip/lib/compressions.js create mode 100644 node_modules/jszip/lib/crc32.js create mode 100644 node_modules/jszip/lib/defaults.js create mode 100644 node_modules/jszip/lib/external.js create mode 100644 node_modules/jszip/lib/flate.js create mode 100644 node_modules/jszip/lib/generate/ZipFileWorker.js create mode 100644 node_modules/jszip/lib/generate/index.js create mode 100644 node_modules/jszip/lib/index.js create mode 100644 node_modules/jszip/lib/license_header.js create mode 100644 node_modules/jszip/lib/load.js create mode 100644 node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js create mode 100644 node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js create mode 100644 node_modules/jszip/lib/nodejsUtils.js create mode 100644 node_modules/jszip/lib/object.js create mode 100644 node_modules/jszip/lib/readable-stream-browser.js create mode 100644 node_modules/jszip/lib/reader/ArrayReader.js create mode 100644 node_modules/jszip/lib/reader/DataReader.js create mode 100644 node_modules/jszip/lib/reader/NodeBufferReader.js create mode 100644 node_modules/jszip/lib/reader/StringReader.js create mode 100644 node_modules/jszip/lib/reader/Uint8ArrayReader.js create mode 100644 node_modules/jszip/lib/reader/readerFor.js create mode 100644 node_modules/jszip/lib/signature.js create mode 100644 node_modules/jszip/lib/stream/ConvertWorker.js create mode 100644 node_modules/jszip/lib/stream/Crc32Probe.js create mode 100644 node_modules/jszip/lib/stream/DataLengthProbe.js create mode 100644 node_modules/jszip/lib/stream/DataWorker.js create mode 100644 node_modules/jszip/lib/stream/GenericWorker.js create mode 100644 node_modules/jszip/lib/stream/StreamHelper.js create mode 100644 node_modules/jszip/lib/support.js create mode 100644 node_modules/jszip/lib/utf8.js create mode 100644 node_modules/jszip/lib/utils.js create mode 100644 node_modules/jszip/lib/zipEntries.js create mode 100644 node_modules/jszip/lib/zipEntry.js create mode 100644 node_modules/jszip/lib/zipObject.js create mode 100644 node_modules/jszip/package.json create mode 100644 node_modules/jszip/sponsors.md create mode 100644 node_modules/jszip/tsconfig.json create mode 100644 node_modules/jszip/vendor/FileSaver.js create mode 100644 node_modules/lie/README.md create mode 100644 node_modules/lie/dist/lie.js create mode 100644 node_modules/lie/dist/lie.min.js create mode 100644 node_modules/lie/dist/lie.polyfill.js create mode 100644 node_modules/lie/dist/lie.polyfill.min.js create mode 100644 node_modules/lie/lib/browser.js create mode 100644 node_modules/lie/lib/index.js create mode 100644 node_modules/lie/license.md create mode 100644 node_modules/lie/lie.d.ts create mode 100644 node_modules/lie/package.json create mode 100644 node_modules/lie/polyfill.js create mode 100644 node_modules/pako/CHANGELOG.md create mode 100644 node_modules/pako/LICENSE create mode 100644 node_modules/pako/README.md create mode 100644 node_modules/pako/dist/pako.js create mode 100644 node_modules/pako/dist/pako.min.js create mode 100644 node_modules/pako/dist/pako_deflate.js create mode 100644 node_modules/pako/dist/pako_deflate.min.js create mode 100644 node_modules/pako/dist/pako_inflate.js create mode 100644 node_modules/pako/dist/pako_inflate.min.js create mode 100644 node_modules/pako/index.js create mode 100644 node_modules/pako/lib/deflate.js create mode 100644 node_modules/pako/lib/inflate.js create mode 100644 node_modules/pako/lib/utils/common.js create mode 100644 node_modules/pako/lib/utils/strings.js create mode 100644 node_modules/pako/lib/zlib/README create mode 100644 node_modules/pako/lib/zlib/adler32.js create mode 100644 node_modules/pako/lib/zlib/constants.js create mode 100644 node_modules/pako/lib/zlib/crc32.js create mode 100644 node_modules/pako/lib/zlib/deflate.js create mode 100644 node_modules/pako/lib/zlib/gzheader.js create mode 100644 node_modules/pako/lib/zlib/inffast.js create mode 100644 node_modules/pako/lib/zlib/inflate.js create mode 100644 node_modules/pako/lib/zlib/inftrees.js create mode 100644 node_modules/pako/lib/zlib/messages.js create mode 100644 node_modules/pako/lib/zlib/trees.js create mode 100644 node_modules/pako/lib/zlib/zstream.js create mode 100644 node_modules/pako/package.json create mode 100644 node_modules/process-nextick-args/index.js create mode 100644 node_modules/process-nextick-args/license.md create mode 100644 node_modules/process-nextick-args/package.json create mode 100644 node_modules/process-nextick-args/readme.md create mode 100644 node_modules/readable-stream/.travis.yml create mode 100644 node_modules/readable-stream/CONTRIBUTING.md create mode 100644 node_modules/readable-stream/GOVERNANCE.md create mode 100644 node_modules/readable-stream/LICENSE create mode 100644 node_modules/readable-stream/README.md create mode 100644 node_modules/readable-stream/doc/wg-meetings/2015-01-30.md create mode 100644 node_modules/readable-stream/duplex-browser.js create mode 100644 node_modules/readable-stream/duplex.js create mode 100644 node_modules/readable-stream/lib/_stream_duplex.js create mode 100644 node_modules/readable-stream/lib/_stream_passthrough.js create mode 100644 node_modules/readable-stream/lib/_stream_readable.js create mode 100644 node_modules/readable-stream/lib/_stream_transform.js create mode 100644 node_modules/readable-stream/lib/_stream_writable.js create mode 100644 node_modules/readable-stream/lib/internal/streams/BufferList.js create mode 100644 node_modules/readable-stream/lib/internal/streams/destroy.js create mode 100644 node_modules/readable-stream/lib/internal/streams/stream-browser.js create mode 100644 node_modules/readable-stream/lib/internal/streams/stream.js create mode 100644 node_modules/readable-stream/package.json create mode 100644 node_modules/readable-stream/passthrough.js create mode 100644 node_modules/readable-stream/readable-browser.js create mode 100644 node_modules/readable-stream/readable.js create mode 100644 node_modules/readable-stream/transform.js create mode 100644 node_modules/readable-stream/writable-browser.js create mode 100644 node_modules/readable-stream/writable.js create mode 100644 node_modules/safe-buffer/LICENSE create mode 100644 node_modules/safe-buffer/README.md create mode 100644 node_modules/safe-buffer/index.d.ts create mode 100644 node_modules/safe-buffer/index.js create mode 100644 node_modules/safe-buffer/package.json create mode 100644 node_modules/setimmediate/LICENSE.txt create mode 100644 node_modules/setimmediate/package.json create mode 100644 node_modules/setimmediate/setImmediate.js create mode 100644 node_modules/string_decoder/.travis.yml create mode 100644 node_modules/string_decoder/LICENSE create mode 100644 node_modules/string_decoder/README.md create mode 100644 node_modules/string_decoder/lib/string_decoder.js create mode 100644 node_modules/string_decoder/package.json create mode 100644 node_modules/util-deprecate/History.md create mode 100644 node_modules/util-deprecate/LICENSE create mode 100644 node_modules/util-deprecate/README.md create mode 100644 node_modules/util-deprecate/browser.js create mode 100644 node_modules/util-deprecate/node.js create mode 100644 node_modules/util-deprecate/package.json create mode 100644 pages/WYXD/WYXD.vue delete mode 100644 unpackage/dist/cache/.vite/deps/chunk-F3FYYIAV.js create mode 100644 unpackage/dist/cache/.vite/deps/chunk-TDUMLE5V.js rename unpackage/dist/cache/.vite/deps/{chunk-F3FYYIAV.js.map => chunk-TDUMLE5V.js.map} (100%) create mode 100644 unpackage/dist/cache/.vite/deps/jszip.js create mode 100644 unpackage/dist/cache/.vite/deps/jszip.js.map delete mode 100644 unpackage/dist/cache/.vite/deps/marked.js delete mode 100644 unpackage/dist/cache/.vite/deps/marked.js.map create mode 100644 utils/wyxd-parser.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..485dee6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json index f2dc375..d1f039b 100644 --- a/node_modules/.package-lock.json +++ b/node_modules/.package-lock.json @@ -1,5 +1,5 @@ { - "name": "test1", + "name": "phone-app------test1-", "lockfileVersion": 3, "requires": true, "packages": { @@ -226,6 +226,12 @@ "url": "https://github.com/sponsors/mesqueeb" } }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, "node_modules/csstype": { "version": "3.2.3", "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.2.3.tgz", @@ -259,6 +265,18 @@ "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", "license": "MIT" }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmmirror.com/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "license": "MIT" + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, "node_modules/is-what": { "version": "5.5.0", "resolved": "https://registry.npmmirror.com/is-what/-/is-what-5.5.0.tgz", @@ -271,6 +289,33 @@ "url": "https://github.com/sponsors/mesqueeb" } }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmmirror.com/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "license": "(MIT OR GPL-3.0-or-later)", + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "license": "MIT", + "dependencies": { + "immediate": "~3.0.5" + } + }, "node_modules/magic-string": { "version": "0.30.21", "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.21.tgz", @@ -318,6 +363,12 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmmirror.com/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" + }, "node_modules/perfect-debounce": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz", @@ -381,12 +432,45 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, "node_modules/rfdc": { "version": "1.4.1", "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.4.1.tgz", "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", "license": "MIT" }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "license": "MIT" + }, "node_modules/snarkdown": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/snarkdown/-/snarkdown-2.0.0.tgz", @@ -412,6 +496,15 @@ "node": ">=0.10.0" } }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/superjson": { "version": "2.2.6", "resolved": "https://registry.npmmirror.com/superjson/-/superjson-2.2.6.tgz", @@ -424,6 +517,12 @@ "node": ">=16" } }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, "node_modules/vue": { "version": "3.5.33", "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.33.tgz", diff --git a/node_modules/core-util-is/LICENSE b/node_modules/core-util-is/LICENSE new file mode 100644 index 0000000..d8d7f94 --- /dev/null +++ b/node_modules/core-util-is/LICENSE @@ -0,0 +1,19 @@ +Copyright Node.js contributors. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. diff --git a/node_modules/core-util-is/README.md b/node_modules/core-util-is/README.md new file mode 100644 index 0000000..5a76b41 --- /dev/null +++ b/node_modules/core-util-is/README.md @@ -0,0 +1,3 @@ +# core-util-is + +The `util.is*` functions introduced in Node v0.12. diff --git a/node_modules/core-util-is/lib/util.js b/node_modules/core-util-is/lib/util.js new file mode 100644 index 0000000..6e5a20d --- /dev/null +++ b/node_modules/core-util-is/lib/util.js @@ -0,0 +1,107 @@ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +// NOTE: These type checking functions intentionally don't use `instanceof` +// because it is fragile and can be easily faked with `Object.create()`. + +function isArray(arg) { + if (Array.isArray) { + return Array.isArray(arg); + } + return objectToString(arg) === '[object Array]'; +} +exports.isArray = isArray; + +function isBoolean(arg) { + return typeof arg === 'boolean'; +} +exports.isBoolean = isBoolean; + +function isNull(arg) { + return arg === null; +} +exports.isNull = isNull; + +function isNullOrUndefined(arg) { + return arg == null; +} +exports.isNullOrUndefined = isNullOrUndefined; + +function isNumber(arg) { + return typeof arg === 'number'; +} +exports.isNumber = isNumber; + +function isString(arg) { + return typeof arg === 'string'; +} +exports.isString = isString; + +function isSymbol(arg) { + return typeof arg === 'symbol'; +} +exports.isSymbol = isSymbol; + +function isUndefined(arg) { + return arg === void 0; +} +exports.isUndefined = isUndefined; + +function isRegExp(re) { + return objectToString(re) === '[object RegExp]'; +} +exports.isRegExp = isRegExp; + +function isObject(arg) { + return typeof arg === 'object' && arg !== null; +} +exports.isObject = isObject; + +function isDate(d) { + return objectToString(d) === '[object Date]'; +} +exports.isDate = isDate; + +function isError(e) { + return (objectToString(e) === '[object Error]' || e instanceof Error); +} +exports.isError = isError; + +function isFunction(arg) { + return typeof arg === 'function'; +} +exports.isFunction = isFunction; + +function isPrimitive(arg) { + return arg === null || + typeof arg === 'boolean' || + typeof arg === 'number' || + typeof arg === 'string' || + typeof arg === 'symbol' || // ES6 symbol + typeof arg === 'undefined'; +} +exports.isPrimitive = isPrimitive; + +exports.isBuffer = require('buffer').Buffer.isBuffer; + +function objectToString(o) { + return Object.prototype.toString.call(o); +} diff --git a/node_modules/core-util-is/package.json b/node_modules/core-util-is/package.json new file mode 100644 index 0000000..b0c51f5 --- /dev/null +++ b/node_modules/core-util-is/package.json @@ -0,0 +1,38 @@ +{ + "name": "core-util-is", + "version": "1.0.3", + "description": "The `util.is*` functions introduced in Node v0.12.", + "main": "lib/util.js", + "files": [ + "lib" + ], + "repository": { + "type": "git", + "url": "git://github.com/isaacs/core-util-is" + }, + "keywords": [ + "util", + "isBuffer", + "isArray", + "isNumber", + "isString", + "isRegExp", + "isThis", + "isThat", + "polyfill" + ], + "author": "Isaac Z. Schlueter (http://blog.izs.me/)", + "license": "MIT", + "bugs": { + "url": "https://github.com/isaacs/core-util-is/issues" + }, + "scripts": { + "test": "tap test.js", + "preversion": "npm test", + "postversion": "npm publish", + "prepublishOnly": "git push origin --follow-tags" + }, + "devDependencies": { + "tap": "^15.0.9" + } +} diff --git a/node_modules/immediate/LICENSE.txt b/node_modules/immediate/LICENSE.txt new file mode 100644 index 0000000..88c18c2 --- /dev/null +++ b/node_modules/immediate/LICENSE.txt @@ -0,0 +1,20 @@ +Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, Domenic Denicola, Brian Cavalier + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/immediate/README.md b/node_modules/immediate/README.md new file mode 100644 index 0000000..d661ae8 --- /dev/null +++ b/node_modules/immediate/README.md @@ -0,0 +1,93 @@ +# immediate [![Build Status](https://travis-ci.org/calvinmetcalf/immediate.svg?branch=master)](https://travis-ci.org/calvinmetcalf/immediate) + +``` +npm install immediate --save +``` + +then + +```js +var immediate = require("immediate"); + +immediate(function () { + // this will run soon +}); + +immediate(function (arg1, arg2) { + // get your args like in iojs +}, thing1, thing2); +``` + +## Introduction + +**immediate** is a microtask library, decended from [NobleJS's setImmediate](https://github.com/NobleJS/setImmediate), but including ideas from [Cujo's When](https://github.com/cujojs/when) and [RSVP][RSVP]. + +immediate takes the tricks from setImmedate and RSVP and combines them with the schedualer inspired (vaugly) by whens. + +Note versions 2.6.5 and earlier were strictly speaking a 'macrotask' library not a microtask one, [see this for the difference](https://github.com/YuzuJS/setImmediate#macrotasks-and-microtasks), if you need a macrotask library, [I got you covered](https://github.com/calvinmetcalf/macrotask). + +Several new features were added in versions 3.1.0 and 3.2.0 to maintain parity with +process.nextTick, but the 3.0.x series is still being kept up to date if you just need +the small barebones version. + + +## The Tricks + +### `process.nextTick` + +Note that we check for *actual* Node.js environments, not emulated ones like those produced by browserify or similar. + +### `MutationObserver` + +This is what [RSVP][RSVP] uses, it's very fast, details on [MDN](https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver). + + +### `MessageChannel` + +Unfortunately, `postMessage` has completely different semantics inside web workers, and so cannot be used there. So we +turn to [`MessageChannel`][MessageChannel], which has worse browser support, but does work inside a web worker. + +### ` + + diff --git a/pages/WorkSpace/WorkSpace.vue b/pages/WorkSpace/WorkSpace.vue index 7555aaa..3144f8c 100644 --- a/pages/WorkSpace/WorkSpace.vue +++ b/pages/WorkSpace/WorkSpace.vue @@ -283,8 +283,10 @@ // 长按文件 const handleLongPress = (folder) => { if (isSelectFolder.value) return; + const isWyxd = folder.name && folder.name.toLowerCase().endsWith('.wyxd'); + const itemList = isWyxd ? ['下载', '删除', 'WYXD查看器'] : ['下载', '删除']; uni.showActionSheet({ - itemList: ['下载', '删除'], // ['删除', '下载', '压缩', '重命名'] + itemList: itemList, success: (res) => { switch (res.tapIndex) { case 0: @@ -293,12 +295,9 @@ case 1: handleDelete(folder); break; - // case 2: - // handleDownload(folder); - // break; - // case 3: - // handleRename(folder); - // break; + case 2: + if (isWyxd) openWyxdViewer(folder); + break; } } }) @@ -457,6 +456,17 @@ }); }; + // WYXD 查看器入口 + const openWyxdViewer = (folder) => { + const filePath = folder.path.startsWith('./') ? folder.path.slice(2) : folder.path; + uni.navigateTo({ + url: '/pages/WYXD/WYXD?workspaceId=' + encodeURIComponent(workspaceId.value) + + '&filePath=' + encodeURIComponent(filePath) + + '&fileName=' + encodeURIComponent(folder.name) + + '&userToken=' + encodeURIComponent(UserToken.value) + }); + }; + // 删除 const handleDelete = (folder) => { uni.showModal({ diff --git a/unpackage/dist/cache/.vite/deps/_metadata.json b/unpackage/dist/cache/.vite/deps/_metadata.json index 6a07d14..519ebba 100644 --- a/unpackage/dist/cache/.vite/deps/_metadata.json +++ b/unpackage/dist/cache/.vite/deps/_metadata.json @@ -1,25 +1,25 @@ { - "hash": "e0bb2a2f", - "configHash": "72122489", - "lockfileHash": "4872f2b8", - "browserHash": "5bee3c96", + "hash": "4dd2a69b", + "configHash": "d342a709", + "lockfileHash": "1e456fb2", + "browserHash": "4e27b22f", "optimized": { "snarkdown": { "src": "../../../../../node_modules/snarkdown/dist/snarkdown.es.js", "file": "snarkdown.js", - "fileHash": "3bb14d01", + "fileHash": "b76ccfaf", "needsInterop": false }, - "marked": { - "src": "../../../../../node_modules/marked/lib/marked.esm.js", - "file": "marked.js", - "fileHash": "3cae6674", - "needsInterop": false + "jszip": { + "src": "../../../../../node_modules/jszip/dist/jszip.min.js", + "file": "jszip.js", + "fileHash": "0f2d87b8", + "needsInterop": true } }, "chunks": { - "chunk-F3FYYIAV": { - "file": "chunk-F3FYYIAV.js" + "chunk-TDUMLE5V": { + "file": "chunk-TDUMLE5V.js" } } } \ No newline at end of file diff --git a/unpackage/dist/cache/.vite/deps/chunk-F3FYYIAV.js b/unpackage/dist/cache/.vite/deps/chunk-F3FYYIAV.js deleted file mode 100644 index 82ce66a..0000000 --- a/unpackage/dist/cache/.vite/deps/chunk-F3FYYIAV.js +++ /dev/null @@ -1,11 +0,0 @@ -var __defProp = Object.defineProperty; -var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; -var __publicField = (obj, key, value) => { - __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); - return value; -}; - -export { - __publicField -}; -//# sourceMappingURL=chunk-F3FYYIAV.js.map diff --git a/unpackage/dist/cache/.vite/deps/chunk-TDUMLE5V.js b/unpackage/dist/cache/.vite/deps/chunk-TDUMLE5V.js new file mode 100644 index 0000000..fd28525 --- /dev/null +++ b/unpackage/dist/cache/.vite/deps/chunk-TDUMLE5V.js @@ -0,0 +1,17 @@ +var __getOwnPropNames = Object.getOwnPropertyNames; +var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { + get: (a, b) => (typeof require !== "undefined" ? require : a)[b] +}) : x)(function(x) { + if (typeof require !== "undefined") + return require.apply(this, arguments); + throw Error('Dynamic require of "' + x + '" is not supported'); +}); +var __commonJS = (cb, mod) => function __require2() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; + +export { + __require, + __commonJS +}; +//# sourceMappingURL=chunk-TDUMLE5V.js.map diff --git a/unpackage/dist/cache/.vite/deps/chunk-F3FYYIAV.js.map b/unpackage/dist/cache/.vite/deps/chunk-TDUMLE5V.js.map similarity index 100% rename from unpackage/dist/cache/.vite/deps/chunk-F3FYYIAV.js.map rename to unpackage/dist/cache/.vite/deps/chunk-TDUMLE5V.js.map diff --git a/unpackage/dist/cache/.vite/deps/jszip.js b/unpackage/dist/cache/.vite/deps/jszip.js new file mode 100644 index 0000000..2106398 --- /dev/null +++ b/unpackage/dist/cache/.vite/deps/jszip.js @@ -0,0 +1,2717 @@ +import { + __commonJS, + __require +} from "./chunk-TDUMLE5V.js"; + +// ../../../../../py/77/phone-app------test1-/node_modules/jszip/dist/jszip.min.js +var require_jszip_min = __commonJS({ + "../../../../../py/77/phone-app------test1-/node_modules/jszip/dist/jszip.min.js"(exports, module) { + !function(e) { + if ("object" == typeof exports && "undefined" != typeof module) + module.exports = e(); + else if ("function" == typeof define && define.amd) + define([], e); + else { + ("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this).JSZip = e(); + } + }(function() { + return function s(a, o, h) { + function u(r, e2) { + if (!o[r]) { + if (!a[r]) { + var t = "function" == typeof __require && __require; + if (!e2 && t) + return t(r, true); + if (l) + return l(r, true); + var n = new Error("Cannot find module '" + r + "'"); + throw n.code = "MODULE_NOT_FOUND", n; + } + var i = o[r] = { exports: {} }; + a[r][0].call(i.exports, function(e3) { + var t2 = a[r][1][e3]; + return u(t2 || e3); + }, i, i.exports, s, a, o, h); + } + return o[r].exports; + } + for (var l = "function" == typeof __require && __require, e = 0; e < h.length; e++) + u(h[e]); + return u; + }({ 1: [function(e, t, r) { + "use strict"; + var d = e("./utils"), c = e("./support"), p = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + r.encode = function(e2) { + for (var t2, r2, n, i, s, a, o, h = [], u = 0, l = e2.length, f = l, c2 = "string" !== d.getTypeOf(e2); u < e2.length; ) + f = l - u, n = c2 ? (t2 = e2[u++], r2 = u < l ? e2[u++] : 0, u < l ? e2[u++] : 0) : (t2 = e2.charCodeAt(u++), r2 = u < l ? e2.charCodeAt(u++) : 0, u < l ? e2.charCodeAt(u++) : 0), i = t2 >> 2, s = (3 & t2) << 4 | r2 >> 4, a = 1 < f ? (15 & r2) << 2 | n >> 6 : 64, o = 2 < f ? 63 & n : 64, h.push(p.charAt(i) + p.charAt(s) + p.charAt(a) + p.charAt(o)); + return h.join(""); + }, r.decode = function(e2) { + var t2, r2, n, i, s, a, o = 0, h = 0, u = "data:"; + if (e2.substr(0, u.length) === u) + throw new Error("Invalid base64 input, it looks like a data url."); + var l, f = 3 * (e2 = e2.replace(/[^A-Za-z0-9+/=]/g, "")).length / 4; + if (e2.charAt(e2.length - 1) === p.charAt(64) && f--, e2.charAt(e2.length - 2) === p.charAt(64) && f--, f % 1 != 0) + throw new Error("Invalid base64 input, bad content length."); + for (l = c.uint8array ? new Uint8Array(0 | f) : new Array(0 | f); o < e2.length; ) + t2 = p.indexOf(e2.charAt(o++)) << 2 | (i = p.indexOf(e2.charAt(o++))) >> 4, r2 = (15 & i) << 4 | (s = p.indexOf(e2.charAt(o++))) >> 2, n = (3 & s) << 6 | (a = p.indexOf(e2.charAt(o++))), l[h++] = t2, 64 !== s && (l[h++] = r2), 64 !== a && (l[h++] = n); + return l; + }; + }, { "./support": 30, "./utils": 32 }], 2: [function(e, t, r) { + "use strict"; + var n = e("./external"), i = e("./stream/DataWorker"), s = e("./stream/Crc32Probe"), a = e("./stream/DataLengthProbe"); + function o(e2, t2, r2, n2, i2) { + this.compressedSize = e2, this.uncompressedSize = t2, this.crc32 = r2, this.compression = n2, this.compressedContent = i2; + } + o.prototype = { getContentWorker: function() { + var e2 = new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")), t2 = this; + return e2.on("end", function() { + if (this.streamInfo.data_length !== t2.uncompressedSize) + throw new Error("Bug : uncompressed data size mismatch"); + }), e2; + }, getCompressedWorker: function() { + return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize", this.compressedSize).withStreamInfo("uncompressedSize", this.uncompressedSize).withStreamInfo("crc32", this.crc32).withStreamInfo("compression", this.compression); + } }, o.createWorkerFrom = function(e2, t2, r2) { + return e2.pipe(new s()).pipe(new a("uncompressedSize")).pipe(t2.compressWorker(r2)).pipe(new a("compressedSize")).withStreamInfo("compression", t2); + }, t.exports = o; + }, { "./external": 6, "./stream/Crc32Probe": 25, "./stream/DataLengthProbe": 26, "./stream/DataWorker": 27 }], 3: [function(e, t, r) { + "use strict"; + var n = e("./stream/GenericWorker"); + r.STORE = { magic: "\0\0", compressWorker: function() { + return new n("STORE compression"); + }, uncompressWorker: function() { + return new n("STORE decompression"); + } }, r.DEFLATE = e("./flate"); + }, { "./flate": 7, "./stream/GenericWorker": 28 }], 4: [function(e, t, r) { + "use strict"; + var n = e("./utils"); + var o = function() { + for (var e2, t2 = [], r2 = 0; r2 < 256; r2++) { + e2 = r2; + for (var n2 = 0; n2 < 8; n2++) + e2 = 1 & e2 ? 3988292384 ^ e2 >>> 1 : e2 >>> 1; + t2[r2] = e2; + } + return t2; + }(); + t.exports = function(e2, t2) { + return void 0 !== e2 && e2.length ? "string" !== n.getTypeOf(e2) ? function(e3, t3, r2, n2) { + var i = o, s = n2 + r2; + e3 ^= -1; + for (var a = n2; a < s; a++) + e3 = e3 >>> 8 ^ i[255 & (e3 ^ t3[a])]; + return -1 ^ e3; + }(0 | t2, e2, e2.length, 0) : function(e3, t3, r2, n2) { + var i = o, s = n2 + r2; + e3 ^= -1; + for (var a = n2; a < s; a++) + e3 = e3 >>> 8 ^ i[255 & (e3 ^ t3.charCodeAt(a))]; + return -1 ^ e3; + }(0 | t2, e2, e2.length, 0) : 0; + }; + }, { "./utils": 32 }], 5: [function(e, t, r) { + "use strict"; + r.base64 = false, r.binary = false, r.dir = false, r.createFolders = true, r.date = null, r.compression = null, r.compressionOptions = null, r.comment = null, r.unixPermissions = null, r.dosPermissions = null; + }, {}], 6: [function(e, t, r) { + "use strict"; + var n = null; + n = "undefined" != typeof Promise ? Promise : e("lie"), t.exports = { Promise: n }; + }, { lie: 37 }], 7: [function(e, t, r) { + "use strict"; + var n = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Uint32Array, i = e("pako"), s = e("./utils"), a = e("./stream/GenericWorker"), o = n ? "uint8array" : "array"; + function h(e2, t2) { + a.call(this, "FlateWorker/" + e2), this._pako = null, this._pakoAction = e2, this._pakoOptions = t2, this.meta = {}; + } + r.magic = "\b\0", s.inherits(h, a), h.prototype.processChunk = function(e2) { + this.meta = e2.meta, null === this._pako && this._createPako(), this._pako.push(s.transformTo(o, e2.data), false); + }, h.prototype.flush = function() { + a.prototype.flush.call(this), null === this._pako && this._createPako(), this._pako.push([], true); + }, h.prototype.cleanUp = function() { + a.prototype.cleanUp.call(this), this._pako = null; + }, h.prototype._createPako = function() { + this._pako = new i[this._pakoAction]({ raw: true, level: this._pakoOptions.level || -1 }); + var t2 = this; + this._pako.onData = function(e2) { + t2.push({ data: e2, meta: t2.meta }); + }; + }, r.compressWorker = function(e2) { + return new h("Deflate", e2); + }, r.uncompressWorker = function() { + return new h("Inflate", {}); + }; + }, { "./stream/GenericWorker": 28, "./utils": 32, pako: 38 }], 8: [function(e, t, r) { + "use strict"; + function A(e2, t2) { + var r2, n2 = ""; + for (r2 = 0; r2 < t2; r2++) + n2 += String.fromCharCode(255 & e2), e2 >>>= 8; + return n2; + } + function n(e2, t2, r2, n2, i2, s2) { + var a, o, h = e2.file, u = e2.compression, l = s2 !== O.utf8encode, f = I.transformTo("string", s2(h.name)), c = I.transformTo("string", O.utf8encode(h.name)), d = h.comment, p = I.transformTo("string", s2(d)), m = I.transformTo("string", O.utf8encode(d)), _ = c.length !== h.name.length, g = m.length !== d.length, b = "", v = "", y = "", w = h.dir, k = h.date, x = { crc32: 0, compressedSize: 0, uncompressedSize: 0 }; + t2 && !r2 || (x.crc32 = e2.crc32, x.compressedSize = e2.compressedSize, x.uncompressedSize = e2.uncompressedSize); + var S = 0; + t2 && (S |= 8), l || !_ && !g || (S |= 2048); + var z = 0, C = 0; + w && (z |= 16), "UNIX" === i2 ? (C = 798, z |= function(e3, t3) { + var r3 = e3; + return e3 || (r3 = t3 ? 16893 : 33204), (65535 & r3) << 16; + }(h.unixPermissions, w)) : (C = 20, z |= function(e3) { + return 63 & (e3 || 0); + }(h.dosPermissions)), a = k.getUTCHours(), a <<= 6, a |= k.getUTCMinutes(), a <<= 5, a |= k.getUTCSeconds() / 2, o = k.getUTCFullYear() - 1980, o <<= 4, o |= k.getUTCMonth() + 1, o <<= 5, o |= k.getUTCDate(), _ && (v = A(1, 1) + A(B(f), 4) + c, b += "up" + A(v.length, 2) + v), g && (y = A(1, 1) + A(B(p), 4) + m, b += "uc" + A(y.length, 2) + y); + var E = ""; + return E += "\n\0", E += A(S, 2), E += u.magic, E += A(a, 2), E += A(o, 2), E += A(x.crc32, 4), E += A(x.compressedSize, 4), E += A(x.uncompressedSize, 4), E += A(f.length, 2), E += A(b.length, 2), { fileRecord: R.LOCAL_FILE_HEADER + E + f + b, dirRecord: R.CENTRAL_FILE_HEADER + A(C, 2) + E + A(p.length, 2) + "\0\0\0\0" + A(z, 4) + A(n2, 4) + f + b + p }; + } + var I = e("../utils"), i = e("../stream/GenericWorker"), O = e("../utf8"), B = e("../crc32"), R = e("../signature"); + function s(e2, t2, r2, n2) { + i.call(this, "ZipFileWorker"), this.bytesWritten = 0, this.zipComment = t2, this.zipPlatform = r2, this.encodeFileName = n2, this.streamFiles = e2, this.accumulate = false, this.contentBuffer = [], this.dirRecords = [], this.currentSourceOffset = 0, this.entriesCount = 0, this.currentFile = null, this._sources = []; + } + I.inherits(s, i), s.prototype.push = function(e2) { + var t2 = e2.meta.percent || 0, r2 = this.entriesCount, n2 = this._sources.length; + this.accumulate ? this.contentBuffer.push(e2) : (this.bytesWritten += e2.data.length, i.prototype.push.call(this, { data: e2.data, meta: { currentFile: this.currentFile, percent: r2 ? (t2 + 100 * (r2 - n2 - 1)) / r2 : 100 } })); + }, s.prototype.openedSource = function(e2) { + this.currentSourceOffset = this.bytesWritten, this.currentFile = e2.file.name; + var t2 = this.streamFiles && !e2.file.dir; + if (t2) { + var r2 = n(e2, t2, false, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); + this.push({ data: r2.fileRecord, meta: { percent: 0 } }); + } else + this.accumulate = true; + }, s.prototype.closedSource = function(e2) { + this.accumulate = false; + var t2 = this.streamFiles && !e2.file.dir, r2 = n(e2, t2, true, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); + if (this.dirRecords.push(r2.dirRecord), t2) + this.push({ data: function(e3) { + return R.DATA_DESCRIPTOR + A(e3.crc32, 4) + A(e3.compressedSize, 4) + A(e3.uncompressedSize, 4); + }(e2), meta: { percent: 100 } }); + else + for (this.push({ data: r2.fileRecord, meta: { percent: 0 } }); this.contentBuffer.length; ) + this.push(this.contentBuffer.shift()); + this.currentFile = null; + }, s.prototype.flush = function() { + for (var e2 = this.bytesWritten, t2 = 0; t2 < this.dirRecords.length; t2++) + this.push({ data: this.dirRecords[t2], meta: { percent: 100 } }); + var r2 = this.bytesWritten - e2, n2 = function(e3, t3, r3, n3, i2) { + var s2 = I.transformTo("string", i2(n3)); + return R.CENTRAL_DIRECTORY_END + "\0\0\0\0" + A(e3, 2) + A(e3, 2) + A(t3, 4) + A(r3, 4) + A(s2.length, 2) + s2; + }(this.dirRecords.length, r2, e2, this.zipComment, this.encodeFileName); + this.push({ data: n2, meta: { percent: 100 } }); + }, s.prototype.prepareNextSource = function() { + this.previous = this._sources.shift(), this.openedSource(this.previous.streamInfo), this.isPaused ? this.previous.pause() : this.previous.resume(); + }, s.prototype.registerPrevious = function(e2) { + this._sources.push(e2); + var t2 = this; + return e2.on("data", function(e3) { + t2.processChunk(e3); + }), e2.on("end", function() { + t2.closedSource(t2.previous.streamInfo), t2._sources.length ? t2.prepareNextSource() : t2.end(); + }), e2.on("error", function(e3) { + t2.error(e3); + }), this; + }, s.prototype.resume = function() { + return !!i.prototype.resume.call(this) && (!this.previous && this._sources.length ? (this.prepareNextSource(), true) : this.previous || this._sources.length || this.generatedError ? void 0 : (this.end(), true)); + }, s.prototype.error = function(e2) { + var t2 = this._sources; + if (!i.prototype.error.call(this, e2)) + return false; + for (var r2 = 0; r2 < t2.length; r2++) + try { + t2[r2].error(e2); + } catch (e3) { + } + return true; + }, s.prototype.lock = function() { + i.prototype.lock.call(this); + for (var e2 = this._sources, t2 = 0; t2 < e2.length; t2++) + e2[t2].lock(); + }, t.exports = s; + }, { "../crc32": 4, "../signature": 23, "../stream/GenericWorker": 28, "../utf8": 31, "../utils": 32 }], 9: [function(e, t, r) { + "use strict"; + var u = e("../compressions"), n = e("./ZipFileWorker"); + r.generateWorker = function(e2, a, t2) { + var o = new n(a.streamFiles, t2, a.platform, a.encodeFileName), h = 0; + try { + e2.forEach(function(e3, t3) { + h++; + var r2 = function(e4, t4) { + var r3 = e4 || t4, n3 = u[r3]; + if (!n3) + throw new Error(r3 + " is not a valid compression method !"); + return n3; + }(t3.options.compression, a.compression), n2 = t3.options.compressionOptions || a.compressionOptions || {}, i = t3.dir, s = t3.date; + t3._compressWorker(r2, n2).withStreamInfo("file", { name: e3, dir: i, date: s, comment: t3.comment || "", unixPermissions: t3.unixPermissions, dosPermissions: t3.dosPermissions }).pipe(o); + }), o.entriesCount = h; + } catch (e3) { + o.error(e3); + } + return o; + }; + }, { "../compressions": 3, "./ZipFileWorker": 8 }], 10: [function(e, t, r) { + "use strict"; + function n() { + if (!(this instanceof n)) + return new n(); + if (arguments.length) + throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide."); + this.files = /* @__PURE__ */ Object.create(null), this.comment = null, this.root = "", this.clone = function() { + var e2 = new n(); + for (var t2 in this) + "function" != typeof this[t2] && (e2[t2] = this[t2]); + return e2; + }; + } + (n.prototype = e("./object")).loadAsync = e("./load"), n.support = e("./support"), n.defaults = e("./defaults"), n.version = "3.10.1", n.loadAsync = function(e2, t2) { + return new n().loadAsync(e2, t2); + }, n.external = e("./external"), t.exports = n; + }, { "./defaults": 5, "./external": 6, "./load": 11, "./object": 15, "./support": 30 }], 11: [function(e, t, r) { + "use strict"; + var u = e("./utils"), i = e("./external"), n = e("./utf8"), s = e("./zipEntries"), a = e("./stream/Crc32Probe"), l = e("./nodejsUtils"); + function f(n2) { + return new i.Promise(function(e2, t2) { + var r2 = n2.decompressed.getContentWorker().pipe(new a()); + r2.on("error", function(e3) { + t2(e3); + }).on("end", function() { + r2.streamInfo.crc32 !== n2.decompressed.crc32 ? t2(new Error("Corrupted zip : CRC32 mismatch")) : e2(); + }).resume(); + }); + } + t.exports = function(e2, o) { + var h = this; + return o = u.extend(o || {}, { base64: false, checkCRC32: false, optimizedBinaryString: false, createFolders: false, decodeFileName: n.utf8decode }), l.isNode && l.isStream(e2) ? i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")) : u.prepareContent("the loaded zip file", e2, true, o.optimizedBinaryString, o.base64).then(function(e3) { + var t2 = new s(o); + return t2.load(e3), t2; + }).then(function(e3) { + var t2 = [i.Promise.resolve(e3)], r2 = e3.files; + if (o.checkCRC32) + for (var n2 = 0; n2 < r2.length; n2++) + t2.push(f(r2[n2])); + return i.Promise.all(t2); + }).then(function(e3) { + for (var t2 = e3.shift(), r2 = t2.files, n2 = 0; n2 < r2.length; n2++) { + var i2 = r2[n2], s2 = i2.fileNameStr, a2 = u.resolve(i2.fileNameStr); + h.file(a2, i2.decompressed, { binary: true, optimizedBinaryString: true, date: i2.date, dir: i2.dir, comment: i2.fileCommentStr.length ? i2.fileCommentStr : null, unixPermissions: i2.unixPermissions, dosPermissions: i2.dosPermissions, createFolders: o.createFolders }), i2.dir || (h.file(a2).unsafeOriginalName = s2); + } + return t2.zipComment.length && (h.comment = t2.zipComment), h; + }); + }; + }, { "./external": 6, "./nodejsUtils": 14, "./stream/Crc32Probe": 25, "./utf8": 31, "./utils": 32, "./zipEntries": 33 }], 12: [function(e, t, r) { + "use strict"; + var n = e("../utils"), i = e("../stream/GenericWorker"); + function s(e2, t2) { + i.call(this, "Nodejs stream input adapter for " + e2), this._upstreamEnded = false, this._bindStream(t2); + } + n.inherits(s, i), s.prototype._bindStream = function(e2) { + var t2 = this; + (this._stream = e2).pause(), e2.on("data", function(e3) { + t2.push({ data: e3, meta: { percent: 0 } }); + }).on("error", function(e3) { + t2.isPaused ? this.generatedError = e3 : t2.error(e3); + }).on("end", function() { + t2.isPaused ? t2._upstreamEnded = true : t2.end(); + }); + }, s.prototype.pause = function() { + return !!i.prototype.pause.call(this) && (this._stream.pause(), true); + }, s.prototype.resume = function() { + return !!i.prototype.resume.call(this) && (this._upstreamEnded ? this.end() : this._stream.resume(), true); + }, t.exports = s; + }, { "../stream/GenericWorker": 28, "../utils": 32 }], 13: [function(e, t, r) { + "use strict"; + var i = e("readable-stream").Readable; + function n(e2, t2, r2) { + i.call(this, t2), this._helper = e2; + var n2 = this; + e2.on("data", function(e3, t3) { + n2.push(e3) || n2._helper.pause(), r2 && r2(t3); + }).on("error", function(e3) { + n2.emit("error", e3); + }).on("end", function() { + n2.push(null); + }); + } + e("../utils").inherits(n, i), n.prototype._read = function() { + this._helper.resume(); + }, t.exports = n; + }, { "../utils": 32, "readable-stream": 16 }], 14: [function(e, t, r) { + "use strict"; + t.exports = { isNode: "undefined" != typeof Buffer, newBufferFrom: function(e2, t2) { + if (Buffer.from && Buffer.from !== Uint8Array.from) + return Buffer.from(e2, t2); + if ("number" == typeof e2) + throw new Error('The "data" argument must not be a number'); + return new Buffer(e2, t2); + }, allocBuffer: function(e2) { + if (Buffer.alloc) + return Buffer.alloc(e2); + var t2 = new Buffer(e2); + return t2.fill(0), t2; + }, isBuffer: function(e2) { + return Buffer.isBuffer(e2); + }, isStream: function(e2) { + return e2 && "function" == typeof e2.on && "function" == typeof e2.pause && "function" == typeof e2.resume; + } }; + }, {}], 15: [function(e, t, r) { + "use strict"; + function s(e2, t2, r2) { + var n2, i2 = u.getTypeOf(t2), s2 = u.extend(r2 || {}, f); + s2.date = s2.date || /* @__PURE__ */ new Date(), null !== s2.compression && (s2.compression = s2.compression.toUpperCase()), "string" == typeof s2.unixPermissions && (s2.unixPermissions = parseInt(s2.unixPermissions, 8)), s2.unixPermissions && 16384 & s2.unixPermissions && (s2.dir = true), s2.dosPermissions && 16 & s2.dosPermissions && (s2.dir = true), s2.dir && (e2 = g(e2)), s2.createFolders && (n2 = _(e2)) && b.call(this, n2, true); + var a2 = "string" === i2 && false === s2.binary && false === s2.base64; + r2 && void 0 !== r2.binary || (s2.binary = !a2), (t2 instanceof c && 0 === t2.uncompressedSize || s2.dir || !t2 || 0 === t2.length) && (s2.base64 = false, s2.binary = true, t2 = "", s2.compression = "STORE", i2 = "string"); + var o2 = null; + o2 = t2 instanceof c || t2 instanceof l ? t2 : p.isNode && p.isStream(t2) ? new m(e2, t2) : u.prepareContent(e2, t2, s2.binary, s2.optimizedBinaryString, s2.base64); + var h2 = new d(e2, o2, s2); + this.files[e2] = h2; + } + var i = e("./utf8"), u = e("./utils"), l = e("./stream/GenericWorker"), a = e("./stream/StreamHelper"), f = e("./defaults"), c = e("./compressedObject"), d = e("./zipObject"), o = e("./generate"), p = e("./nodejsUtils"), m = e("./nodejs/NodejsStreamInputAdapter"), _ = function(e2) { + "/" === e2.slice(-1) && (e2 = e2.substring(0, e2.length - 1)); + var t2 = e2.lastIndexOf("/"); + return 0 < t2 ? e2.substring(0, t2) : ""; + }, g = function(e2) { + return "/" !== e2.slice(-1) && (e2 += "/"), e2; + }, b = function(e2, t2) { + return t2 = void 0 !== t2 ? t2 : f.createFolders, e2 = g(e2), this.files[e2] || s.call(this, e2, null, { dir: true, createFolders: t2 }), this.files[e2]; + }; + function h(e2) { + return "[object RegExp]" === Object.prototype.toString.call(e2); + } + var n = { load: function() { + throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); + }, forEach: function(e2) { + var t2, r2, n2; + for (t2 in this.files) + n2 = this.files[t2], (r2 = t2.slice(this.root.length, t2.length)) && t2.slice(0, this.root.length) === this.root && e2(r2, n2); + }, filter: function(r2) { + var n2 = []; + return this.forEach(function(e2, t2) { + r2(e2, t2) && n2.push(t2); + }), n2; + }, file: function(e2, t2, r2) { + if (1 !== arguments.length) + return e2 = this.root + e2, s.call(this, e2, t2, r2), this; + if (h(e2)) { + var n2 = e2; + return this.filter(function(e3, t3) { + return !t3.dir && n2.test(e3); + }); + } + var i2 = this.files[this.root + e2]; + return i2 && !i2.dir ? i2 : null; + }, folder: function(r2) { + if (!r2) + return this; + if (h(r2)) + return this.filter(function(e3, t3) { + return t3.dir && r2.test(e3); + }); + var e2 = this.root + r2, t2 = b.call(this, e2), n2 = this.clone(); + return n2.root = t2.name, n2; + }, remove: function(r2) { + r2 = this.root + r2; + var e2 = this.files[r2]; + if (e2 || ("/" !== r2.slice(-1) && (r2 += "/"), e2 = this.files[r2]), e2 && !e2.dir) + delete this.files[r2]; + else + for (var t2 = this.filter(function(e3, t3) { + return t3.name.slice(0, r2.length) === r2; + }), n2 = 0; n2 < t2.length; n2++) + delete this.files[t2[n2].name]; + return this; + }, generate: function() { + throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); + }, generateInternalStream: function(e2) { + var t2, r2 = {}; + try { + if ((r2 = u.extend(e2 || {}, { streamFiles: false, compression: "STORE", compressionOptions: null, type: "", platform: "DOS", comment: null, mimeType: "application/zip", encodeFileName: i.utf8encode })).type = r2.type.toLowerCase(), r2.compression = r2.compression.toUpperCase(), "binarystring" === r2.type && (r2.type = "string"), !r2.type) + throw new Error("No output type specified."); + u.checkSupport(r2.type), "darwin" !== r2.platform && "freebsd" !== r2.platform && "linux" !== r2.platform && "sunos" !== r2.platform || (r2.platform = "UNIX"), "win32" === r2.platform && (r2.platform = "DOS"); + var n2 = r2.comment || this.comment || ""; + t2 = o.generateWorker(this, r2, n2); + } catch (e3) { + (t2 = new l("error")).error(e3); + } + return new a(t2, r2.type || "string", r2.mimeType); + }, generateAsync: function(e2, t2) { + return this.generateInternalStream(e2).accumulate(t2); + }, generateNodeStream: function(e2, t2) { + return (e2 = e2 || {}).type || (e2.type = "nodebuffer"), this.generateInternalStream(e2).toNodejsStream(t2); + } }; + t.exports = n; + }, { "./compressedObject": 2, "./defaults": 5, "./generate": 9, "./nodejs/NodejsStreamInputAdapter": 12, "./nodejsUtils": 14, "./stream/GenericWorker": 28, "./stream/StreamHelper": 29, "./utf8": 31, "./utils": 32, "./zipObject": 35 }], 16: [function(e, t, r) { + "use strict"; + t.exports = e("stream"); + }, { stream: void 0 }], 17: [function(e, t, r) { + "use strict"; + var n = e("./DataReader"); + function i(e2) { + n.call(this, e2); + for (var t2 = 0; t2 < this.data.length; t2++) + e2[t2] = 255 & e2[t2]; + } + e("../utils").inherits(i, n), i.prototype.byteAt = function(e2) { + return this.data[this.zero + e2]; + }, i.prototype.lastIndexOfSignature = function(e2) { + for (var t2 = e2.charCodeAt(0), r2 = e2.charCodeAt(1), n2 = e2.charCodeAt(2), i2 = e2.charCodeAt(3), s = this.length - 4; 0 <= s; --s) + if (this.data[s] === t2 && this.data[s + 1] === r2 && this.data[s + 2] === n2 && this.data[s + 3] === i2) + return s - this.zero; + return -1; + }, i.prototype.readAndCheckSignature = function(e2) { + var t2 = e2.charCodeAt(0), r2 = e2.charCodeAt(1), n2 = e2.charCodeAt(2), i2 = e2.charCodeAt(3), s = this.readData(4); + return t2 === s[0] && r2 === s[1] && n2 === s[2] && i2 === s[3]; + }, i.prototype.readData = function(e2) { + if (this.checkOffset(e2), 0 === e2) + return []; + var t2 = this.data.slice(this.zero + this.index, this.zero + this.index + e2); + return this.index += e2, t2; + }, t.exports = i; + }, { "../utils": 32, "./DataReader": 18 }], 18: [function(e, t, r) { + "use strict"; + var n = e("../utils"); + function i(e2) { + this.data = e2, this.length = e2.length, this.index = 0, this.zero = 0; + } + i.prototype = { checkOffset: function(e2) { + this.checkIndex(this.index + e2); + }, checkIndex: function(e2) { + if (this.length < this.zero + e2 || e2 < 0) + throw new Error("End of data reached (data length = " + this.length + ", asked index = " + e2 + "). Corrupted zip ?"); + }, setIndex: function(e2) { + this.checkIndex(e2), this.index = e2; + }, skip: function(e2) { + this.setIndex(this.index + e2); + }, byteAt: function() { + }, readInt: function(e2) { + var t2, r2 = 0; + for (this.checkOffset(e2), t2 = this.index + e2 - 1; t2 >= this.index; t2--) + r2 = (r2 << 8) + this.byteAt(t2); + return this.index += e2, r2; + }, readString: function(e2) { + return n.transformTo("string", this.readData(e2)); + }, readData: function() { + }, lastIndexOfSignature: function() { + }, readAndCheckSignature: function() { + }, readDate: function() { + var e2 = this.readInt(4); + return new Date(Date.UTC(1980 + (e2 >> 25 & 127), (e2 >> 21 & 15) - 1, e2 >> 16 & 31, e2 >> 11 & 31, e2 >> 5 & 63, (31 & e2) << 1)); + } }, t.exports = i; + }, { "../utils": 32 }], 19: [function(e, t, r) { + "use strict"; + var n = e("./Uint8ArrayReader"); + function i(e2) { + n.call(this, e2); + } + e("../utils").inherits(i, n), i.prototype.readData = function(e2) { + this.checkOffset(e2); + var t2 = this.data.slice(this.zero + this.index, this.zero + this.index + e2); + return this.index += e2, t2; + }, t.exports = i; + }, { "../utils": 32, "./Uint8ArrayReader": 21 }], 20: [function(e, t, r) { + "use strict"; + var n = e("./DataReader"); + function i(e2) { + n.call(this, e2); + } + e("../utils").inherits(i, n), i.prototype.byteAt = function(e2) { + return this.data.charCodeAt(this.zero + e2); + }, i.prototype.lastIndexOfSignature = function(e2) { + return this.data.lastIndexOf(e2) - this.zero; + }, i.prototype.readAndCheckSignature = function(e2) { + return e2 === this.readData(4); + }, i.prototype.readData = function(e2) { + this.checkOffset(e2); + var t2 = this.data.slice(this.zero + this.index, this.zero + this.index + e2); + return this.index += e2, t2; + }, t.exports = i; + }, { "../utils": 32, "./DataReader": 18 }], 21: [function(e, t, r) { + "use strict"; + var n = e("./ArrayReader"); + function i(e2) { + n.call(this, e2); + } + e("../utils").inherits(i, n), i.prototype.readData = function(e2) { + if (this.checkOffset(e2), 0 === e2) + return new Uint8Array(0); + var t2 = this.data.subarray(this.zero + this.index, this.zero + this.index + e2); + return this.index += e2, t2; + }, t.exports = i; + }, { "../utils": 32, "./ArrayReader": 17 }], 22: [function(e, t, r) { + "use strict"; + var n = e("../utils"), i = e("../support"), s = e("./ArrayReader"), a = e("./StringReader"), o = e("./NodeBufferReader"), h = e("./Uint8ArrayReader"); + t.exports = function(e2) { + var t2 = n.getTypeOf(e2); + return n.checkSupport(t2), "string" !== t2 || i.uint8array ? "nodebuffer" === t2 ? new o(e2) : i.uint8array ? new h(n.transformTo("uint8array", e2)) : new s(n.transformTo("array", e2)) : new a(e2); + }; + }, { "../support": 30, "../utils": 32, "./ArrayReader": 17, "./NodeBufferReader": 19, "./StringReader": 20, "./Uint8ArrayReader": 21 }], 23: [function(e, t, r) { + "use strict"; + r.LOCAL_FILE_HEADER = "PK", r.CENTRAL_FILE_HEADER = "PK", r.CENTRAL_DIRECTORY_END = "PK", r.ZIP64_CENTRAL_DIRECTORY_LOCATOR = "PK\x07", r.ZIP64_CENTRAL_DIRECTORY_END = "PK", r.DATA_DESCRIPTOR = "PK\x07\b"; + }, {}], 24: [function(e, t, r) { + "use strict"; + var n = e("./GenericWorker"), i = e("../utils"); + function s(e2) { + n.call(this, "ConvertWorker to " + e2), this.destType = e2; + } + i.inherits(s, n), s.prototype.processChunk = function(e2) { + this.push({ data: i.transformTo(this.destType, e2.data), meta: e2.meta }); + }, t.exports = s; + }, { "../utils": 32, "./GenericWorker": 28 }], 25: [function(e, t, r) { + "use strict"; + var n = e("./GenericWorker"), i = e("../crc32"); + function s() { + n.call(this, "Crc32Probe"), this.withStreamInfo("crc32", 0); + } + e("../utils").inherits(s, n), s.prototype.processChunk = function(e2) { + this.streamInfo.crc32 = i(e2.data, this.streamInfo.crc32 || 0), this.push(e2); + }, t.exports = s; + }, { "../crc32": 4, "../utils": 32, "./GenericWorker": 28 }], 26: [function(e, t, r) { + "use strict"; + var n = e("../utils"), i = e("./GenericWorker"); + function s(e2) { + i.call(this, "DataLengthProbe for " + e2), this.propName = e2, this.withStreamInfo(e2, 0); + } + n.inherits(s, i), s.prototype.processChunk = function(e2) { + if (e2) { + var t2 = this.streamInfo[this.propName] || 0; + this.streamInfo[this.propName] = t2 + e2.data.length; + } + i.prototype.processChunk.call(this, e2); + }, t.exports = s; + }, { "../utils": 32, "./GenericWorker": 28 }], 27: [function(e, t, r) { + "use strict"; + var n = e("../utils"), i = e("./GenericWorker"); + function s(e2) { + i.call(this, "DataWorker"); + var t2 = this; + this.dataIsReady = false, this.index = 0, this.max = 0, this.data = null, this.type = "", this._tickScheduled = false, e2.then(function(e3) { + t2.dataIsReady = true, t2.data = e3, t2.max = e3 && e3.length || 0, t2.type = n.getTypeOf(e3), t2.isPaused || t2._tickAndRepeat(); + }, function(e3) { + t2.error(e3); + }); + } + n.inherits(s, i), s.prototype.cleanUp = function() { + i.prototype.cleanUp.call(this), this.data = null; + }, s.prototype.resume = function() { + return !!i.prototype.resume.call(this) && (!this._tickScheduled && this.dataIsReady && (this._tickScheduled = true, n.delay(this._tickAndRepeat, [], this)), true); + }, s.prototype._tickAndRepeat = function() { + this._tickScheduled = false, this.isPaused || this.isFinished || (this._tick(), this.isFinished || (n.delay(this._tickAndRepeat, [], this), this._tickScheduled = true)); + }, s.prototype._tick = function() { + if (this.isPaused || this.isFinished) + return false; + var e2 = null, t2 = Math.min(this.max, this.index + 16384); + if (this.index >= this.max) + return this.end(); + switch (this.type) { + case "string": + e2 = this.data.substring(this.index, t2); + break; + case "uint8array": + e2 = this.data.subarray(this.index, t2); + break; + case "array": + case "nodebuffer": + e2 = this.data.slice(this.index, t2); + } + return this.index = t2, this.push({ data: e2, meta: { percent: this.max ? this.index / this.max * 100 : 0 } }); + }, t.exports = s; + }, { "../utils": 32, "./GenericWorker": 28 }], 28: [function(e, t, r) { + "use strict"; + function n(e2) { + this.name = e2 || "default", this.streamInfo = {}, this.generatedError = null, this.extraStreamInfo = {}, this.isPaused = true, this.isFinished = false, this.isLocked = false, this._listeners = { data: [], end: [], error: [] }, this.previous = null; + } + n.prototype = { push: function(e2) { + this.emit("data", e2); + }, end: function() { + if (this.isFinished) + return false; + this.flush(); + try { + this.emit("end"), this.cleanUp(), this.isFinished = true; + } catch (e2) { + this.emit("error", e2); + } + return true; + }, error: function(e2) { + return !this.isFinished && (this.isPaused ? this.generatedError = e2 : (this.isFinished = true, this.emit("error", e2), this.previous && this.previous.error(e2), this.cleanUp()), true); + }, on: function(e2, t2) { + return this._listeners[e2].push(t2), this; + }, cleanUp: function() { + this.streamInfo = this.generatedError = this.extraStreamInfo = null, this._listeners = []; + }, emit: function(e2, t2) { + if (this._listeners[e2]) + for (var r2 = 0; r2 < this._listeners[e2].length; r2++) + this._listeners[e2][r2].call(this, t2); + }, pipe: function(e2) { + return e2.registerPrevious(this); + }, registerPrevious: function(e2) { + if (this.isLocked) + throw new Error("The stream '" + this + "' has already been used."); + this.streamInfo = e2.streamInfo, this.mergeStreamInfo(), this.previous = e2; + var t2 = this; + return e2.on("data", function(e3) { + t2.processChunk(e3); + }), e2.on("end", function() { + t2.end(); + }), e2.on("error", function(e3) { + t2.error(e3); + }), this; + }, pause: function() { + return !this.isPaused && !this.isFinished && (this.isPaused = true, this.previous && this.previous.pause(), true); + }, resume: function() { + if (!this.isPaused || this.isFinished) + return false; + var e2 = this.isPaused = false; + return this.generatedError && (this.error(this.generatedError), e2 = true), this.previous && this.previous.resume(), !e2; + }, flush: function() { + }, processChunk: function(e2) { + this.push(e2); + }, withStreamInfo: function(e2, t2) { + return this.extraStreamInfo[e2] = t2, this.mergeStreamInfo(), this; + }, mergeStreamInfo: function() { + for (var e2 in this.extraStreamInfo) + Object.prototype.hasOwnProperty.call(this.extraStreamInfo, e2) && (this.streamInfo[e2] = this.extraStreamInfo[e2]); + }, lock: function() { + if (this.isLocked) + throw new Error("The stream '" + this + "' has already been used."); + this.isLocked = true, this.previous && this.previous.lock(); + }, toString: function() { + var e2 = "Worker " + this.name; + return this.previous ? this.previous + " -> " + e2 : e2; + } }, t.exports = n; + }, {}], 29: [function(e, t, r) { + "use strict"; + var h = e("../utils"), i = e("./ConvertWorker"), s = e("./GenericWorker"), u = e("../base64"), n = e("../support"), a = e("../external"), o = null; + if (n.nodestream) + try { + o = e("../nodejs/NodejsStreamOutputAdapter"); + } catch (e2) { + } + function l(e2, o2) { + return new a.Promise(function(t2, r2) { + var n2 = [], i2 = e2._internalType, s2 = e2._outputType, a2 = e2._mimeType; + e2.on("data", function(e3, t3) { + n2.push(e3), o2 && o2(t3); + }).on("error", function(e3) { + n2 = [], r2(e3); + }).on("end", function() { + try { + var e3 = function(e4, t3, r3) { + switch (e4) { + case "blob": + return h.newBlob(h.transformTo("arraybuffer", t3), r3); + case "base64": + return u.encode(t3); + default: + return h.transformTo(e4, t3); + } + }(s2, function(e4, t3) { + var r3, n3 = 0, i3 = null, s3 = 0; + for (r3 = 0; r3 < t3.length; r3++) + s3 += t3[r3].length; + switch (e4) { + case "string": + return t3.join(""); + case "array": + return Array.prototype.concat.apply([], t3); + case "uint8array": + for (i3 = new Uint8Array(s3), r3 = 0; r3 < t3.length; r3++) + i3.set(t3[r3], n3), n3 += t3[r3].length; + return i3; + case "nodebuffer": + return Buffer.concat(t3); + default: + throw new Error("concat : unsupported type '" + e4 + "'"); + } + }(i2, n2), a2); + t2(e3); + } catch (e4) { + r2(e4); + } + n2 = []; + }).resume(); + }); + } + function f(e2, t2, r2) { + var n2 = t2; + switch (t2) { + case "blob": + case "arraybuffer": + n2 = "uint8array"; + break; + case "base64": + n2 = "string"; + } + try { + this._internalType = n2, this._outputType = t2, this._mimeType = r2, h.checkSupport(n2), this._worker = e2.pipe(new i(n2)), e2.lock(); + } catch (e3) { + this._worker = new s("error"), this._worker.error(e3); + } + } + f.prototype = { accumulate: function(e2) { + return l(this, e2); + }, on: function(e2, t2) { + var r2 = this; + return "data" === e2 ? this._worker.on(e2, function(e3) { + t2.call(r2, e3.data, e3.meta); + }) : this._worker.on(e2, function() { + h.delay(t2, arguments, r2); + }), this; + }, resume: function() { + return h.delay(this._worker.resume, [], this._worker), this; + }, pause: function() { + return this._worker.pause(), this; + }, toNodejsStream: function(e2) { + if (h.checkSupport("nodestream"), "nodebuffer" !== this._outputType) + throw new Error(this._outputType + " is not supported by this method"); + return new o(this, { objectMode: "nodebuffer" !== this._outputType }, e2); + } }, t.exports = f; + }, { "../base64": 1, "../external": 6, "../nodejs/NodejsStreamOutputAdapter": 13, "../support": 30, "../utils": 32, "./ConvertWorker": 24, "./GenericWorker": 28 }], 30: [function(e, t, r) { + "use strict"; + if (r.base64 = true, r.array = true, r.string = true, r.arraybuffer = "undefined" != typeof ArrayBuffer && "undefined" != typeof Uint8Array, r.nodebuffer = "undefined" != typeof Buffer, r.uint8array = "undefined" != typeof Uint8Array, "undefined" == typeof ArrayBuffer) + r.blob = false; + else { + var n = new ArrayBuffer(0); + try { + r.blob = 0 === new Blob([n], { type: "application/zip" }).size; + } catch (e2) { + try { + var i = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder)(); + i.append(n), r.blob = 0 === i.getBlob("application/zip").size; + } catch (e3) { + r.blob = false; + } + } + } + try { + r.nodestream = !!e("readable-stream").Readable; + } catch (e2) { + r.nodestream = false; + } + }, { "readable-stream": 16 }], 31: [function(e, t, s) { + "use strict"; + for (var o = e("./utils"), h = e("./support"), r = e("./nodejsUtils"), n = e("./stream/GenericWorker"), u = new Array(256), i = 0; i < 256; i++) + u[i] = 252 <= i ? 6 : 248 <= i ? 5 : 240 <= i ? 4 : 224 <= i ? 3 : 192 <= i ? 2 : 1; + u[254] = u[254] = 1; + function a() { + n.call(this, "utf-8 decode"), this.leftOver = null; + } + function l() { + n.call(this, "utf-8 encode"); + } + s.utf8encode = function(e2) { + return h.nodebuffer ? r.newBufferFrom(e2, "utf-8") : function(e3) { + var t2, r2, n2, i2, s2, a2 = e3.length, o2 = 0; + for (i2 = 0; i2 < a2; i2++) + 55296 == (64512 & (r2 = e3.charCodeAt(i2))) && i2 + 1 < a2 && 56320 == (64512 & (n2 = e3.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), o2 += r2 < 128 ? 1 : r2 < 2048 ? 2 : r2 < 65536 ? 3 : 4; + for (t2 = h.uint8array ? new Uint8Array(o2) : new Array(o2), i2 = s2 = 0; s2 < o2; i2++) + 55296 == (64512 & (r2 = e3.charCodeAt(i2))) && i2 + 1 < a2 && 56320 == (64512 & (n2 = e3.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), r2 < 128 ? t2[s2++] = r2 : (r2 < 2048 ? t2[s2++] = 192 | r2 >>> 6 : (r2 < 65536 ? t2[s2++] = 224 | r2 >>> 12 : (t2[s2++] = 240 | r2 >>> 18, t2[s2++] = 128 | r2 >>> 12 & 63), t2[s2++] = 128 | r2 >>> 6 & 63), t2[s2++] = 128 | 63 & r2); + return t2; + }(e2); + }, s.utf8decode = function(e2) { + return h.nodebuffer ? o.transformTo("nodebuffer", e2).toString("utf-8") : function(e3) { + var t2, r2, n2, i2, s2 = e3.length, a2 = new Array(2 * s2); + for (t2 = r2 = 0; t2 < s2; ) + if ((n2 = e3[t2++]) < 128) + a2[r2++] = n2; + else if (4 < (i2 = u[n2])) + a2[r2++] = 65533, t2 += i2 - 1; + else { + for (n2 &= 2 === i2 ? 31 : 3 === i2 ? 15 : 7; 1 < i2 && t2 < s2; ) + n2 = n2 << 6 | 63 & e3[t2++], i2--; + 1 < i2 ? a2[r2++] = 65533 : n2 < 65536 ? a2[r2++] = n2 : (n2 -= 65536, a2[r2++] = 55296 | n2 >> 10 & 1023, a2[r2++] = 56320 | 1023 & n2); + } + return a2.length !== r2 && (a2.subarray ? a2 = a2.subarray(0, r2) : a2.length = r2), o.applyFromCharCode(a2); + }(e2 = o.transformTo(h.uint8array ? "uint8array" : "array", e2)); + }, o.inherits(a, n), a.prototype.processChunk = function(e2) { + var t2 = o.transformTo(h.uint8array ? "uint8array" : "array", e2.data); + if (this.leftOver && this.leftOver.length) { + if (h.uint8array) { + var r2 = t2; + (t2 = new Uint8Array(r2.length + this.leftOver.length)).set(this.leftOver, 0), t2.set(r2, this.leftOver.length); + } else + t2 = this.leftOver.concat(t2); + this.leftOver = null; + } + var n2 = function(e3, t3) { + var r3; + for ((t3 = t3 || e3.length) > e3.length && (t3 = e3.length), r3 = t3 - 1; 0 <= r3 && 128 == (192 & e3[r3]); ) + r3--; + return r3 < 0 ? t3 : 0 === r3 ? t3 : r3 + u[e3[r3]] > t3 ? r3 : t3; + }(t2), i2 = t2; + n2 !== t2.length && (h.uint8array ? (i2 = t2.subarray(0, n2), this.leftOver = t2.subarray(n2, t2.length)) : (i2 = t2.slice(0, n2), this.leftOver = t2.slice(n2, t2.length))), this.push({ data: s.utf8decode(i2), meta: e2.meta }); + }, a.prototype.flush = function() { + this.leftOver && this.leftOver.length && (this.push({ data: s.utf8decode(this.leftOver), meta: {} }), this.leftOver = null); + }, s.Utf8DecodeWorker = a, o.inherits(l, n), l.prototype.processChunk = function(e2) { + this.push({ data: s.utf8encode(e2.data), meta: e2.meta }); + }, s.Utf8EncodeWorker = l; + }, { "./nodejsUtils": 14, "./stream/GenericWorker": 28, "./support": 30, "./utils": 32 }], 32: [function(e, t, a) { + "use strict"; + var o = e("./support"), h = e("./base64"), r = e("./nodejsUtils"), u = e("./external"); + function n(e2) { + return e2; + } + function l(e2, t2) { + for (var r2 = 0; r2 < e2.length; ++r2) + t2[r2] = 255 & e2.charCodeAt(r2); + return t2; + } + e("setimmediate"), a.newBlob = function(t2, r2) { + a.checkSupport("blob"); + try { + return new Blob([t2], { type: r2 }); + } catch (e2) { + try { + var n2 = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder)(); + return n2.append(t2), n2.getBlob(r2); + } catch (e3) { + throw new Error("Bug : can't construct the Blob."); + } + } + }; + var i = { stringifyByChunk: function(e2, t2, r2) { + var n2 = [], i2 = 0, s2 = e2.length; + if (s2 <= r2) + return String.fromCharCode.apply(null, e2); + for (; i2 < s2; ) + "array" === t2 || "nodebuffer" === t2 ? n2.push(String.fromCharCode.apply(null, e2.slice(i2, Math.min(i2 + r2, s2)))) : n2.push(String.fromCharCode.apply(null, e2.subarray(i2, Math.min(i2 + r2, s2)))), i2 += r2; + return n2.join(""); + }, stringifyByChar: function(e2) { + for (var t2 = "", r2 = 0; r2 < e2.length; r2++) + t2 += String.fromCharCode(e2[r2]); + return t2; + }, applyCanBeUsed: { uint8array: function() { + try { + return o.uint8array && 1 === String.fromCharCode.apply(null, new Uint8Array(1)).length; + } catch (e2) { + return false; + } + }(), nodebuffer: function() { + try { + return o.nodebuffer && 1 === String.fromCharCode.apply(null, r.allocBuffer(1)).length; + } catch (e2) { + return false; + } + }() } }; + function s(e2) { + var t2 = 65536, r2 = a.getTypeOf(e2), n2 = true; + if ("uint8array" === r2 ? n2 = i.applyCanBeUsed.uint8array : "nodebuffer" === r2 && (n2 = i.applyCanBeUsed.nodebuffer), n2) + for (; 1 < t2; ) + try { + return i.stringifyByChunk(e2, r2, t2); + } catch (e3) { + t2 = Math.floor(t2 / 2); + } + return i.stringifyByChar(e2); + } + function f(e2, t2) { + for (var r2 = 0; r2 < e2.length; r2++) + t2[r2] = e2[r2]; + return t2; + } + a.applyFromCharCode = s; + var c = {}; + c.string = { string: n, array: function(e2) { + return l(e2, new Array(e2.length)); + }, arraybuffer: function(e2) { + return c.string.uint8array(e2).buffer; + }, uint8array: function(e2) { + return l(e2, new Uint8Array(e2.length)); + }, nodebuffer: function(e2) { + return l(e2, r.allocBuffer(e2.length)); + } }, c.array = { string: s, array: n, arraybuffer: function(e2) { + return new Uint8Array(e2).buffer; + }, uint8array: function(e2) { + return new Uint8Array(e2); + }, nodebuffer: function(e2) { + return r.newBufferFrom(e2); + } }, c.arraybuffer = { string: function(e2) { + return s(new Uint8Array(e2)); + }, array: function(e2) { + return f(new Uint8Array(e2), new Array(e2.byteLength)); + }, arraybuffer: n, uint8array: function(e2) { + return new Uint8Array(e2); + }, nodebuffer: function(e2) { + return r.newBufferFrom(new Uint8Array(e2)); + } }, c.uint8array = { string: s, array: function(e2) { + return f(e2, new Array(e2.length)); + }, arraybuffer: function(e2) { + return e2.buffer; + }, uint8array: n, nodebuffer: function(e2) { + return r.newBufferFrom(e2); + } }, c.nodebuffer = { string: s, array: function(e2) { + return f(e2, new Array(e2.length)); + }, arraybuffer: function(e2) { + return c.nodebuffer.uint8array(e2).buffer; + }, uint8array: function(e2) { + return f(e2, new Uint8Array(e2.length)); + }, nodebuffer: n }, a.transformTo = function(e2, t2) { + if (t2 = t2 || "", !e2) + return t2; + a.checkSupport(e2); + var r2 = a.getTypeOf(t2); + return c[r2][e2](t2); + }, a.resolve = function(e2) { + for (var t2 = e2.split("/"), r2 = [], n2 = 0; n2 < t2.length; n2++) { + var i2 = t2[n2]; + "." === i2 || "" === i2 && 0 !== n2 && n2 !== t2.length - 1 || (".." === i2 ? r2.pop() : r2.push(i2)); + } + return r2.join("/"); + }, a.getTypeOf = function(e2) { + return "string" == typeof e2 ? "string" : "[object Array]" === Object.prototype.toString.call(e2) ? "array" : o.nodebuffer && r.isBuffer(e2) ? "nodebuffer" : o.uint8array && e2 instanceof Uint8Array ? "uint8array" : o.arraybuffer && e2 instanceof ArrayBuffer ? "arraybuffer" : void 0; + }, a.checkSupport = function(e2) { + if (!o[e2.toLowerCase()]) + throw new Error(e2 + " is not supported by this platform"); + }, a.MAX_VALUE_16BITS = 65535, a.MAX_VALUE_32BITS = -1, a.pretty = function(e2) { + var t2, r2, n2 = ""; + for (r2 = 0; r2 < (e2 || "").length; r2++) + n2 += "\\x" + ((t2 = e2.charCodeAt(r2)) < 16 ? "0" : "") + t2.toString(16).toUpperCase(); + return n2; + }, a.delay = function(e2, t2, r2) { + setImmediate(function() { + e2.apply(r2 || null, t2 || []); + }); + }, a.inherits = function(e2, t2) { + function r2() { + } + r2.prototype = t2.prototype, e2.prototype = new r2(); + }, a.extend = function() { + var e2, t2, r2 = {}; + for (e2 = 0; e2 < arguments.length; e2++) + for (t2 in arguments[e2]) + Object.prototype.hasOwnProperty.call(arguments[e2], t2) && void 0 === r2[t2] && (r2[t2] = arguments[e2][t2]); + return r2; + }, a.prepareContent = function(r2, e2, n2, i2, s2) { + return u.Promise.resolve(e2).then(function(n3) { + return o.blob && (n3 instanceof Blob || -1 !== ["[object File]", "[object Blob]"].indexOf(Object.prototype.toString.call(n3))) && "undefined" != typeof FileReader ? new u.Promise(function(t2, r3) { + var e3 = new FileReader(); + e3.onload = function(e4) { + t2(e4.target.result); + }, e3.onerror = function(e4) { + r3(e4.target.error); + }, e3.readAsArrayBuffer(n3); + }) : n3; + }).then(function(e3) { + var t2 = a.getTypeOf(e3); + return t2 ? ("arraybuffer" === t2 ? e3 = a.transformTo("uint8array", e3) : "string" === t2 && (s2 ? e3 = h.decode(e3) : n2 && true !== i2 && (e3 = function(e4) { + return l(e4, o.uint8array ? new Uint8Array(e4.length) : new Array(e4.length)); + }(e3))), e3) : u.Promise.reject(new Error("Can't read the data of '" + r2 + "'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?")); + }); + }; + }, { "./base64": 1, "./external": 6, "./nodejsUtils": 14, "./support": 30, setimmediate: 54 }], 33: [function(e, t, r) { + "use strict"; + var n = e("./reader/readerFor"), i = e("./utils"), s = e("./signature"), a = e("./zipEntry"), o = e("./support"); + function h(e2) { + this.files = [], this.loadOptions = e2; + } + h.prototype = { checkSignature: function(e2) { + if (!this.reader.readAndCheckSignature(e2)) { + this.reader.index -= 4; + var t2 = this.reader.readString(4); + throw new Error("Corrupted zip or bug: unexpected signature (" + i.pretty(t2) + ", expected " + i.pretty(e2) + ")"); + } + }, isSignature: function(e2, t2) { + var r2 = this.reader.index; + this.reader.setIndex(e2); + var n2 = this.reader.readString(4) === t2; + return this.reader.setIndex(r2), n2; + }, readBlockEndOfCentral: function() { + this.diskNumber = this.reader.readInt(2), this.diskWithCentralDirStart = this.reader.readInt(2), this.centralDirRecordsOnThisDisk = this.reader.readInt(2), this.centralDirRecords = this.reader.readInt(2), this.centralDirSize = this.reader.readInt(4), this.centralDirOffset = this.reader.readInt(4), this.zipCommentLength = this.reader.readInt(2); + var e2 = this.reader.readData(this.zipCommentLength), t2 = o.uint8array ? "uint8array" : "array", r2 = i.transformTo(t2, e2); + this.zipComment = this.loadOptions.decodeFileName(r2); + }, readBlockZip64EndOfCentral: function() { + this.zip64EndOfCentralSize = this.reader.readInt(8), this.reader.skip(4), this.diskNumber = this.reader.readInt(4), this.diskWithCentralDirStart = this.reader.readInt(4), this.centralDirRecordsOnThisDisk = this.reader.readInt(8), this.centralDirRecords = this.reader.readInt(8), this.centralDirSize = this.reader.readInt(8), this.centralDirOffset = this.reader.readInt(8), this.zip64ExtensibleData = {}; + for (var e2, t2, r2, n2 = this.zip64EndOfCentralSize - 44; 0 < n2; ) + e2 = this.reader.readInt(2), t2 = this.reader.readInt(4), r2 = this.reader.readData(t2), this.zip64ExtensibleData[e2] = { id: e2, length: t2, value: r2 }; + }, readBlockZip64EndOfCentralLocator: function() { + if (this.diskWithZip64CentralDirStart = this.reader.readInt(4), this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8), this.disksCount = this.reader.readInt(4), 1 < this.disksCount) + throw new Error("Multi-volumes zip are not supported"); + }, readLocalFiles: function() { + var e2, t2; + for (e2 = 0; e2 < this.files.length; e2++) + t2 = this.files[e2], this.reader.setIndex(t2.localHeaderOffset), this.checkSignature(s.LOCAL_FILE_HEADER), t2.readLocalPart(this.reader), t2.handleUTF8(), t2.processAttributes(); + }, readCentralDir: function() { + var e2; + for (this.reader.setIndex(this.centralDirOffset); this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER); ) + (e2 = new a({ zip64: this.zip64 }, this.loadOptions)).readCentralPart(this.reader), this.files.push(e2); + if (this.centralDirRecords !== this.files.length && 0 !== this.centralDirRecords && 0 === this.files.length) + throw new Error("Corrupted zip or bug: expected " + this.centralDirRecords + " records in central dir, got " + this.files.length); + }, readEndOfCentral: function() { + var e2 = this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END); + if (e2 < 0) + throw !this.isSignature(0, s.LOCAL_FILE_HEADER) ? new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html") : new Error("Corrupted zip: can't find end of central directory"); + this.reader.setIndex(e2); + var t2 = e2; + if (this.checkSignature(s.CENTRAL_DIRECTORY_END), this.readBlockEndOfCentral(), this.diskNumber === i.MAX_VALUE_16BITS || this.diskWithCentralDirStart === i.MAX_VALUE_16BITS || this.centralDirRecordsOnThisDisk === i.MAX_VALUE_16BITS || this.centralDirRecords === i.MAX_VALUE_16BITS || this.centralDirSize === i.MAX_VALUE_32BITS || this.centralDirOffset === i.MAX_VALUE_32BITS) { + if (this.zip64 = true, (e2 = this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR)) < 0) + throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator"); + if (this.reader.setIndex(e2), this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR), this.readBlockZip64EndOfCentralLocator(), !this.isSignature(this.relativeOffsetEndOfZip64CentralDir, s.ZIP64_CENTRAL_DIRECTORY_END) && (this.relativeOffsetEndOfZip64CentralDir = this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END), this.relativeOffsetEndOfZip64CentralDir < 0)) + throw new Error("Corrupted zip: can't find the ZIP64 end of central directory"); + this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir), this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END), this.readBlockZip64EndOfCentral(); + } + var r2 = this.centralDirOffset + this.centralDirSize; + this.zip64 && (r2 += 20, r2 += 12 + this.zip64EndOfCentralSize); + var n2 = t2 - r2; + if (0 < n2) + this.isSignature(t2, s.CENTRAL_FILE_HEADER) || (this.reader.zero = n2); + else if (n2 < 0) + throw new Error("Corrupted zip: missing " + Math.abs(n2) + " bytes."); + }, prepareReader: function(e2) { + this.reader = n(e2); + }, load: function(e2) { + this.prepareReader(e2), this.readEndOfCentral(), this.readCentralDir(), this.readLocalFiles(); + } }, t.exports = h; + }, { "./reader/readerFor": 22, "./signature": 23, "./support": 30, "./utils": 32, "./zipEntry": 34 }], 34: [function(e, t, r) { + "use strict"; + var n = e("./reader/readerFor"), s = e("./utils"), i = e("./compressedObject"), a = e("./crc32"), o = e("./utf8"), h = e("./compressions"), u = e("./support"); + function l(e2, t2) { + this.options = e2, this.loadOptions = t2; + } + l.prototype = { isEncrypted: function() { + return 1 == (1 & this.bitFlag); + }, useUTF8: function() { + return 2048 == (2048 & this.bitFlag); + }, readLocalPart: function(e2) { + var t2, r2; + if (e2.skip(22), this.fileNameLength = e2.readInt(2), r2 = e2.readInt(2), this.fileName = e2.readData(this.fileNameLength), e2.skip(r2), -1 === this.compressedSize || -1 === this.uncompressedSize) + throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)"); + if (null === (t2 = function(e3) { + for (var t3 in h) + if (Object.prototype.hasOwnProperty.call(h, t3) && h[t3].magic === e3) + return h[t3]; + return null; + }(this.compressionMethod))) + throw new Error("Corrupted zip : compression " + s.pretty(this.compressionMethod) + " unknown (inner file : " + s.transformTo("string", this.fileName) + ")"); + this.decompressed = new i(this.compressedSize, this.uncompressedSize, this.crc32, t2, e2.readData(this.compressedSize)); + }, readCentralPart: function(e2) { + this.versionMadeBy = e2.readInt(2), e2.skip(2), this.bitFlag = e2.readInt(2), this.compressionMethod = e2.readString(2), this.date = e2.readDate(), this.crc32 = e2.readInt(4), this.compressedSize = e2.readInt(4), this.uncompressedSize = e2.readInt(4); + var t2 = e2.readInt(2); + if (this.extraFieldsLength = e2.readInt(2), this.fileCommentLength = e2.readInt(2), this.diskNumberStart = e2.readInt(2), this.internalFileAttributes = e2.readInt(2), this.externalFileAttributes = e2.readInt(4), this.localHeaderOffset = e2.readInt(4), this.isEncrypted()) + throw new Error("Encrypted zip are not supported"); + e2.skip(t2), this.readExtraFields(e2), this.parseZIP64ExtraField(e2), this.fileComment = e2.readData(this.fileCommentLength); + }, processAttributes: function() { + this.unixPermissions = null, this.dosPermissions = null; + var e2 = this.versionMadeBy >> 8; + this.dir = !!(16 & this.externalFileAttributes), 0 == e2 && (this.dosPermissions = 63 & this.externalFileAttributes), 3 == e2 && (this.unixPermissions = this.externalFileAttributes >> 16 & 65535), this.dir || "/" !== this.fileNameStr.slice(-1) || (this.dir = true); + }, parseZIP64ExtraField: function() { + if (this.extraFields[1]) { + var e2 = n(this.extraFields[1].value); + this.uncompressedSize === s.MAX_VALUE_32BITS && (this.uncompressedSize = e2.readInt(8)), this.compressedSize === s.MAX_VALUE_32BITS && (this.compressedSize = e2.readInt(8)), this.localHeaderOffset === s.MAX_VALUE_32BITS && (this.localHeaderOffset = e2.readInt(8)), this.diskNumberStart === s.MAX_VALUE_32BITS && (this.diskNumberStart = e2.readInt(4)); + } + }, readExtraFields: function(e2) { + var t2, r2, n2, i2 = e2.index + this.extraFieldsLength; + for (this.extraFields || (this.extraFields = {}); e2.index + 4 < i2; ) + t2 = e2.readInt(2), r2 = e2.readInt(2), n2 = e2.readData(r2), this.extraFields[t2] = { id: t2, length: r2, value: n2 }; + e2.setIndex(i2); + }, handleUTF8: function() { + var e2 = u.uint8array ? "uint8array" : "array"; + if (this.useUTF8()) + this.fileNameStr = o.utf8decode(this.fileName), this.fileCommentStr = o.utf8decode(this.fileComment); + else { + var t2 = this.findExtraFieldUnicodePath(); + if (null !== t2) + this.fileNameStr = t2; + else { + var r2 = s.transformTo(e2, this.fileName); + this.fileNameStr = this.loadOptions.decodeFileName(r2); + } + var n2 = this.findExtraFieldUnicodeComment(); + if (null !== n2) + this.fileCommentStr = n2; + else { + var i2 = s.transformTo(e2, this.fileComment); + this.fileCommentStr = this.loadOptions.decodeFileName(i2); + } + } + }, findExtraFieldUnicodePath: function() { + var e2 = this.extraFields[28789]; + if (e2) { + var t2 = n(e2.value); + return 1 !== t2.readInt(1) ? null : a(this.fileName) !== t2.readInt(4) ? null : o.utf8decode(t2.readData(e2.length - 5)); + } + return null; + }, findExtraFieldUnicodeComment: function() { + var e2 = this.extraFields[25461]; + if (e2) { + var t2 = n(e2.value); + return 1 !== t2.readInt(1) ? null : a(this.fileComment) !== t2.readInt(4) ? null : o.utf8decode(t2.readData(e2.length - 5)); + } + return null; + } }, t.exports = l; + }, { "./compressedObject": 2, "./compressions": 3, "./crc32": 4, "./reader/readerFor": 22, "./support": 30, "./utf8": 31, "./utils": 32 }], 35: [function(e, t, r) { + "use strict"; + function n(e2, t2, r2) { + this.name = e2, this.dir = r2.dir, this.date = r2.date, this.comment = r2.comment, this.unixPermissions = r2.unixPermissions, this.dosPermissions = r2.dosPermissions, this._data = t2, this._dataBinary = r2.binary, this.options = { compression: r2.compression, compressionOptions: r2.compressionOptions }; + } + var s = e("./stream/StreamHelper"), i = e("./stream/DataWorker"), a = e("./utf8"), o = e("./compressedObject"), h = e("./stream/GenericWorker"); + n.prototype = { internalStream: function(e2) { + var t2 = null, r2 = "string"; + try { + if (!e2) + throw new Error("No output type specified."); + var n2 = "string" === (r2 = e2.toLowerCase()) || "text" === r2; + "binarystring" !== r2 && "text" !== r2 || (r2 = "string"), t2 = this._decompressWorker(); + var i2 = !this._dataBinary; + i2 && !n2 && (t2 = t2.pipe(new a.Utf8EncodeWorker())), !i2 && n2 && (t2 = t2.pipe(new a.Utf8DecodeWorker())); + } catch (e3) { + (t2 = new h("error")).error(e3); + } + return new s(t2, r2, ""); + }, async: function(e2, t2) { + return this.internalStream(e2).accumulate(t2); + }, nodeStream: function(e2, t2) { + return this.internalStream(e2 || "nodebuffer").toNodejsStream(t2); + }, _compressWorker: function(e2, t2) { + if (this._data instanceof o && this._data.compression.magic === e2.magic) + return this._data.getCompressedWorker(); + var r2 = this._decompressWorker(); + return this._dataBinary || (r2 = r2.pipe(new a.Utf8EncodeWorker())), o.createWorkerFrom(r2, e2, t2); + }, _decompressWorker: function() { + return this._data instanceof o ? this._data.getContentWorker() : this._data instanceof h ? this._data : new i(this._data); + } }; + for (var u = ["asText", "asBinary", "asNodeBuffer", "asUint8Array", "asArrayBuffer"], l = function() { + throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); + }, f = 0; f < u.length; f++) + n.prototype[u[f]] = l; + t.exports = n; + }, { "./compressedObject": 2, "./stream/DataWorker": 27, "./stream/GenericWorker": 28, "./stream/StreamHelper": 29, "./utf8": 31 }], 36: [function(e, l, t) { + (function(t2) { + "use strict"; + var r, n, e2 = t2.MutationObserver || t2.WebKitMutationObserver; + if (e2) { + var i = 0, s = new e2(u), a = t2.document.createTextNode(""); + s.observe(a, { characterData: true }), r = function() { + a.data = i = ++i % 2; + }; + } else if (t2.setImmediate || void 0 === t2.MessageChannel) + r = "document" in t2 && "onreadystatechange" in t2.document.createElement("script") ? function() { + var e3 = t2.document.createElement("script"); + e3.onreadystatechange = function() { + u(), e3.onreadystatechange = null, e3.parentNode.removeChild(e3), e3 = null; + }, t2.document.documentElement.appendChild(e3); + } : function() { + setTimeout(u, 0); + }; + else { + var o = new t2.MessageChannel(); + o.port1.onmessage = u, r = function() { + o.port2.postMessage(0); + }; + } + var h = []; + function u() { + var e3, t3; + n = true; + for (var r2 = h.length; r2; ) { + for (t3 = h, h = [], e3 = -1; ++e3 < r2; ) + t3[e3](); + r2 = h.length; + } + n = false; + } + l.exports = function(e3) { + 1 !== h.push(e3) || n || r(); + }; + }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}); + }, {}], 37: [function(e, t, r) { + "use strict"; + var i = e("immediate"); + function u() { + } + var l = {}, s = ["REJECTED"], a = ["FULFILLED"], n = ["PENDING"]; + function o(e2) { + if ("function" != typeof e2) + throw new TypeError("resolver must be a function"); + this.state = n, this.queue = [], this.outcome = void 0, e2 !== u && d(this, e2); + } + function h(e2, t2, r2) { + this.promise = e2, "function" == typeof t2 && (this.onFulfilled = t2, this.callFulfilled = this.otherCallFulfilled), "function" == typeof r2 && (this.onRejected = r2, this.callRejected = this.otherCallRejected); + } + function f(t2, r2, n2) { + i(function() { + var e2; + try { + e2 = r2(n2); + } catch (e3) { + return l.reject(t2, e3); + } + e2 === t2 ? l.reject(t2, new TypeError("Cannot resolve promise with itself")) : l.resolve(t2, e2); + }); + } + function c(e2) { + var t2 = e2 && e2.then; + if (e2 && ("object" == typeof e2 || "function" == typeof e2) && "function" == typeof t2) + return function() { + t2.apply(e2, arguments); + }; + } + function d(t2, e2) { + var r2 = false; + function n2(e3) { + r2 || (r2 = true, l.reject(t2, e3)); + } + function i2(e3) { + r2 || (r2 = true, l.resolve(t2, e3)); + } + var s2 = p(function() { + e2(i2, n2); + }); + "error" === s2.status && n2(s2.value); + } + function p(e2, t2) { + var r2 = {}; + try { + r2.value = e2(t2), r2.status = "success"; + } catch (e3) { + r2.status = "error", r2.value = e3; + } + return r2; + } + (t.exports = o).prototype.finally = function(t2) { + if ("function" != typeof t2) + return this; + var r2 = this.constructor; + return this.then(function(e2) { + return r2.resolve(t2()).then(function() { + return e2; + }); + }, function(e2) { + return r2.resolve(t2()).then(function() { + throw e2; + }); + }); + }, o.prototype.catch = function(e2) { + return this.then(null, e2); + }, o.prototype.then = function(e2, t2) { + if ("function" != typeof e2 && this.state === a || "function" != typeof t2 && this.state === s) + return this; + var r2 = new this.constructor(u); + this.state !== n ? f(r2, this.state === a ? e2 : t2, this.outcome) : this.queue.push(new h(r2, e2, t2)); + return r2; + }, h.prototype.callFulfilled = function(e2) { + l.resolve(this.promise, e2); + }, h.prototype.otherCallFulfilled = function(e2) { + f(this.promise, this.onFulfilled, e2); + }, h.prototype.callRejected = function(e2) { + l.reject(this.promise, e2); + }, h.prototype.otherCallRejected = function(e2) { + f(this.promise, this.onRejected, e2); + }, l.resolve = function(e2, t2) { + var r2 = p(c, t2); + if ("error" === r2.status) + return l.reject(e2, r2.value); + var n2 = r2.value; + if (n2) + d(e2, n2); + else { + e2.state = a, e2.outcome = t2; + for (var i2 = -1, s2 = e2.queue.length; ++i2 < s2; ) + e2.queue[i2].callFulfilled(t2); + } + return e2; + }, l.reject = function(e2, t2) { + e2.state = s, e2.outcome = t2; + for (var r2 = -1, n2 = e2.queue.length; ++r2 < n2; ) + e2.queue[r2].callRejected(t2); + return e2; + }, o.resolve = function(e2) { + if (e2 instanceof this) + return e2; + return l.resolve(new this(u), e2); + }, o.reject = function(e2) { + var t2 = new this(u); + return l.reject(t2, e2); + }, o.all = function(e2) { + var r2 = this; + if ("[object Array]" !== Object.prototype.toString.call(e2)) + return this.reject(new TypeError("must be an array")); + var n2 = e2.length, i2 = false; + if (!n2) + return this.resolve([]); + var s2 = new Array(n2), a2 = 0, t2 = -1, o2 = new this(u); + for (; ++t2 < n2; ) + h2(e2[t2], t2); + return o2; + function h2(e3, t3) { + r2.resolve(e3).then(function(e4) { + s2[t3] = e4, ++a2 !== n2 || i2 || (i2 = true, l.resolve(o2, s2)); + }, function(e4) { + i2 || (i2 = true, l.reject(o2, e4)); + }); + } + }, o.race = function(e2) { + var t2 = this; + if ("[object Array]" !== Object.prototype.toString.call(e2)) + return this.reject(new TypeError("must be an array")); + var r2 = e2.length, n2 = false; + if (!r2) + return this.resolve([]); + var i2 = -1, s2 = new this(u); + for (; ++i2 < r2; ) + a2 = e2[i2], t2.resolve(a2).then(function(e3) { + n2 || (n2 = true, l.resolve(s2, e3)); + }, function(e3) { + n2 || (n2 = true, l.reject(s2, e3)); + }); + var a2; + return s2; + }; + }, { immediate: 36 }], 38: [function(e, t, r) { + "use strict"; + var n = {}; + (0, e("./lib/utils/common").assign)(n, e("./lib/deflate"), e("./lib/inflate"), e("./lib/zlib/constants")), t.exports = n; + }, { "./lib/deflate": 39, "./lib/inflate": 40, "./lib/utils/common": 41, "./lib/zlib/constants": 44 }], 39: [function(e, t, r) { + "use strict"; + var a = e("./zlib/deflate"), o = e("./utils/common"), h = e("./utils/strings"), i = e("./zlib/messages"), s = e("./zlib/zstream"), u = Object.prototype.toString, l = 0, f = -1, c = 0, d = 8; + function p(e2) { + if (!(this instanceof p)) + return new p(e2); + this.options = o.assign({ level: f, method: d, chunkSize: 16384, windowBits: 15, memLevel: 8, strategy: c, to: "" }, e2 || {}); + var t2 = this.options; + t2.raw && 0 < t2.windowBits ? t2.windowBits = -t2.windowBits : t2.gzip && 0 < t2.windowBits && t2.windowBits < 16 && (t2.windowBits += 16), this.err = 0, this.msg = "", this.ended = false, this.chunks = [], this.strm = new s(), this.strm.avail_out = 0; + var r2 = a.deflateInit2(this.strm, t2.level, t2.method, t2.windowBits, t2.memLevel, t2.strategy); + if (r2 !== l) + throw new Error(i[r2]); + if (t2.header && a.deflateSetHeader(this.strm, t2.header), t2.dictionary) { + var n2; + if (n2 = "string" == typeof t2.dictionary ? h.string2buf(t2.dictionary) : "[object ArrayBuffer]" === u.call(t2.dictionary) ? new Uint8Array(t2.dictionary) : t2.dictionary, (r2 = a.deflateSetDictionary(this.strm, n2)) !== l) + throw new Error(i[r2]); + this._dict_set = true; + } + } + function n(e2, t2) { + var r2 = new p(t2); + if (r2.push(e2, true), r2.err) + throw r2.msg || i[r2.err]; + return r2.result; + } + p.prototype.push = function(e2, t2) { + var r2, n2, i2 = this.strm, s2 = this.options.chunkSize; + if (this.ended) + return false; + n2 = t2 === ~~t2 ? t2 : true === t2 ? 4 : 0, "string" == typeof e2 ? i2.input = h.string2buf(e2) : "[object ArrayBuffer]" === u.call(e2) ? i2.input = new Uint8Array(e2) : i2.input = e2, i2.next_in = 0, i2.avail_in = i2.input.length; + do { + if (0 === i2.avail_out && (i2.output = new o.Buf8(s2), i2.next_out = 0, i2.avail_out = s2), 1 !== (r2 = a.deflate(i2, n2)) && r2 !== l) + return this.onEnd(r2), !(this.ended = true); + 0 !== i2.avail_out && (0 !== i2.avail_in || 4 !== n2 && 2 !== n2) || ("string" === this.options.to ? this.onData(h.buf2binstring(o.shrinkBuf(i2.output, i2.next_out))) : this.onData(o.shrinkBuf(i2.output, i2.next_out))); + } while ((0 < i2.avail_in || 0 === i2.avail_out) && 1 !== r2); + return 4 === n2 ? (r2 = a.deflateEnd(this.strm), this.onEnd(r2), this.ended = true, r2 === l) : 2 !== n2 || (this.onEnd(l), !(i2.avail_out = 0)); + }, p.prototype.onData = function(e2) { + this.chunks.push(e2); + }, p.prototype.onEnd = function(e2) { + e2 === l && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = o.flattenChunks(this.chunks)), this.chunks = [], this.err = e2, this.msg = this.strm.msg; + }, r.Deflate = p, r.deflate = n, r.deflateRaw = function(e2, t2) { + return (t2 = t2 || {}).raw = true, n(e2, t2); + }, r.gzip = function(e2, t2) { + return (t2 = t2 || {}).gzip = true, n(e2, t2); + }; + }, { "./utils/common": 41, "./utils/strings": 42, "./zlib/deflate": 46, "./zlib/messages": 51, "./zlib/zstream": 53 }], 40: [function(e, t, r) { + "use strict"; + var c = e("./zlib/inflate"), d = e("./utils/common"), p = e("./utils/strings"), m = e("./zlib/constants"), n = e("./zlib/messages"), i = e("./zlib/zstream"), s = e("./zlib/gzheader"), _ = Object.prototype.toString; + function a(e2) { + if (!(this instanceof a)) + return new a(e2); + this.options = d.assign({ chunkSize: 16384, windowBits: 0, to: "" }, e2 || {}); + var t2 = this.options; + t2.raw && 0 <= t2.windowBits && t2.windowBits < 16 && (t2.windowBits = -t2.windowBits, 0 === t2.windowBits && (t2.windowBits = -15)), !(0 <= t2.windowBits && t2.windowBits < 16) || e2 && e2.windowBits || (t2.windowBits += 32), 15 < t2.windowBits && t2.windowBits < 48 && 0 == (15 & t2.windowBits) && (t2.windowBits |= 15), this.err = 0, this.msg = "", this.ended = false, this.chunks = [], this.strm = new i(), this.strm.avail_out = 0; + var r2 = c.inflateInit2(this.strm, t2.windowBits); + if (r2 !== m.Z_OK) + throw new Error(n[r2]); + this.header = new s(), c.inflateGetHeader(this.strm, this.header); + } + function o(e2, t2) { + var r2 = new a(t2); + if (r2.push(e2, true), r2.err) + throw r2.msg || n[r2.err]; + return r2.result; + } + a.prototype.push = function(e2, t2) { + var r2, n2, i2, s2, a2, o2, h = this.strm, u = this.options.chunkSize, l = this.options.dictionary, f = false; + if (this.ended) + return false; + n2 = t2 === ~~t2 ? t2 : true === t2 ? m.Z_FINISH : m.Z_NO_FLUSH, "string" == typeof e2 ? h.input = p.binstring2buf(e2) : "[object ArrayBuffer]" === _.call(e2) ? h.input = new Uint8Array(e2) : h.input = e2, h.next_in = 0, h.avail_in = h.input.length; + do { + if (0 === h.avail_out && (h.output = new d.Buf8(u), h.next_out = 0, h.avail_out = u), (r2 = c.inflate(h, m.Z_NO_FLUSH)) === m.Z_NEED_DICT && l && (o2 = "string" == typeof l ? p.string2buf(l) : "[object ArrayBuffer]" === _.call(l) ? new Uint8Array(l) : l, r2 = c.inflateSetDictionary(this.strm, o2)), r2 === m.Z_BUF_ERROR && true === f && (r2 = m.Z_OK, f = false), r2 !== m.Z_STREAM_END && r2 !== m.Z_OK) + return this.onEnd(r2), !(this.ended = true); + h.next_out && (0 !== h.avail_out && r2 !== m.Z_STREAM_END && (0 !== h.avail_in || n2 !== m.Z_FINISH && n2 !== m.Z_SYNC_FLUSH) || ("string" === this.options.to ? (i2 = p.utf8border(h.output, h.next_out), s2 = h.next_out - i2, a2 = p.buf2string(h.output, i2), h.next_out = s2, h.avail_out = u - s2, s2 && d.arraySet(h.output, h.output, i2, s2, 0), this.onData(a2)) : this.onData(d.shrinkBuf(h.output, h.next_out)))), 0 === h.avail_in && 0 === h.avail_out && (f = true); + } while ((0 < h.avail_in || 0 === h.avail_out) && r2 !== m.Z_STREAM_END); + return r2 === m.Z_STREAM_END && (n2 = m.Z_FINISH), n2 === m.Z_FINISH ? (r2 = c.inflateEnd(this.strm), this.onEnd(r2), this.ended = true, r2 === m.Z_OK) : n2 !== m.Z_SYNC_FLUSH || (this.onEnd(m.Z_OK), !(h.avail_out = 0)); + }, a.prototype.onData = function(e2) { + this.chunks.push(e2); + }, a.prototype.onEnd = function(e2) { + e2 === m.Z_OK && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = d.flattenChunks(this.chunks)), this.chunks = [], this.err = e2, this.msg = this.strm.msg; + }, r.Inflate = a, r.inflate = o, r.inflateRaw = function(e2, t2) { + return (t2 = t2 || {}).raw = true, o(e2, t2); + }, r.ungzip = o; + }, { "./utils/common": 41, "./utils/strings": 42, "./zlib/constants": 44, "./zlib/gzheader": 47, "./zlib/inflate": 49, "./zlib/messages": 51, "./zlib/zstream": 53 }], 41: [function(e, t, r) { + "use strict"; + var n = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Int32Array; + r.assign = function(e2) { + for (var t2 = Array.prototype.slice.call(arguments, 1); t2.length; ) { + var r2 = t2.shift(); + if (r2) { + if ("object" != typeof r2) + throw new TypeError(r2 + "must be non-object"); + for (var n2 in r2) + r2.hasOwnProperty(n2) && (e2[n2] = r2[n2]); + } + } + return e2; + }, r.shrinkBuf = function(e2, t2) { + return e2.length === t2 ? e2 : e2.subarray ? e2.subarray(0, t2) : (e2.length = t2, e2); + }; + var i = { arraySet: function(e2, t2, r2, n2, i2) { + if (t2.subarray && e2.subarray) + e2.set(t2.subarray(r2, r2 + n2), i2); + else + for (var s2 = 0; s2 < n2; s2++) + e2[i2 + s2] = t2[r2 + s2]; + }, flattenChunks: function(e2) { + var t2, r2, n2, i2, s2, a; + for (t2 = n2 = 0, r2 = e2.length; t2 < r2; t2++) + n2 += e2[t2].length; + for (a = new Uint8Array(n2), t2 = i2 = 0, r2 = e2.length; t2 < r2; t2++) + s2 = e2[t2], a.set(s2, i2), i2 += s2.length; + return a; + } }, s = { arraySet: function(e2, t2, r2, n2, i2) { + for (var s2 = 0; s2 < n2; s2++) + e2[i2 + s2] = t2[r2 + s2]; + }, flattenChunks: function(e2) { + return [].concat.apply([], e2); + } }; + r.setTyped = function(e2) { + e2 ? (r.Buf8 = Uint8Array, r.Buf16 = Uint16Array, r.Buf32 = Int32Array, r.assign(r, i)) : (r.Buf8 = Array, r.Buf16 = Array, r.Buf32 = Array, r.assign(r, s)); + }, r.setTyped(n); + }, {}], 42: [function(e, t, r) { + "use strict"; + var h = e("./common"), i = true, s = true; + try { + String.fromCharCode.apply(null, [0]); + } catch (e2) { + i = false; + } + try { + String.fromCharCode.apply(null, new Uint8Array(1)); + } catch (e2) { + s = false; + } + for (var u = new h.Buf8(256), n = 0; n < 256; n++) + u[n] = 252 <= n ? 6 : 248 <= n ? 5 : 240 <= n ? 4 : 224 <= n ? 3 : 192 <= n ? 2 : 1; + function l(e2, t2) { + if (t2 < 65537 && (e2.subarray && s || !e2.subarray && i)) + return String.fromCharCode.apply(null, h.shrinkBuf(e2, t2)); + for (var r2 = "", n2 = 0; n2 < t2; n2++) + r2 += String.fromCharCode(e2[n2]); + return r2; + } + u[254] = u[254] = 1, r.string2buf = function(e2) { + var t2, r2, n2, i2, s2, a = e2.length, o = 0; + for (i2 = 0; i2 < a; i2++) + 55296 == (64512 & (r2 = e2.charCodeAt(i2))) && i2 + 1 < a && 56320 == (64512 & (n2 = e2.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), o += r2 < 128 ? 1 : r2 < 2048 ? 2 : r2 < 65536 ? 3 : 4; + for (t2 = new h.Buf8(o), i2 = s2 = 0; s2 < o; i2++) + 55296 == (64512 & (r2 = e2.charCodeAt(i2))) && i2 + 1 < a && 56320 == (64512 & (n2 = e2.charCodeAt(i2 + 1))) && (r2 = 65536 + (r2 - 55296 << 10) + (n2 - 56320), i2++), r2 < 128 ? t2[s2++] = r2 : (r2 < 2048 ? t2[s2++] = 192 | r2 >>> 6 : (r2 < 65536 ? t2[s2++] = 224 | r2 >>> 12 : (t2[s2++] = 240 | r2 >>> 18, t2[s2++] = 128 | r2 >>> 12 & 63), t2[s2++] = 128 | r2 >>> 6 & 63), t2[s2++] = 128 | 63 & r2); + return t2; + }, r.buf2binstring = function(e2) { + return l(e2, e2.length); + }, r.binstring2buf = function(e2) { + for (var t2 = new h.Buf8(e2.length), r2 = 0, n2 = t2.length; r2 < n2; r2++) + t2[r2] = e2.charCodeAt(r2); + return t2; + }, r.buf2string = function(e2, t2) { + var r2, n2, i2, s2, a = t2 || e2.length, o = new Array(2 * a); + for (r2 = n2 = 0; r2 < a; ) + if ((i2 = e2[r2++]) < 128) + o[n2++] = i2; + else if (4 < (s2 = u[i2])) + o[n2++] = 65533, r2 += s2 - 1; + else { + for (i2 &= 2 === s2 ? 31 : 3 === s2 ? 15 : 7; 1 < s2 && r2 < a; ) + i2 = i2 << 6 | 63 & e2[r2++], s2--; + 1 < s2 ? o[n2++] = 65533 : i2 < 65536 ? o[n2++] = i2 : (i2 -= 65536, o[n2++] = 55296 | i2 >> 10 & 1023, o[n2++] = 56320 | 1023 & i2); + } + return l(o, n2); + }, r.utf8border = function(e2, t2) { + var r2; + for ((t2 = t2 || e2.length) > e2.length && (t2 = e2.length), r2 = t2 - 1; 0 <= r2 && 128 == (192 & e2[r2]); ) + r2--; + return r2 < 0 ? t2 : 0 === r2 ? t2 : r2 + u[e2[r2]] > t2 ? r2 : t2; + }; + }, { "./common": 41 }], 43: [function(e, t, r) { + "use strict"; + t.exports = function(e2, t2, r2, n) { + for (var i = 65535 & e2 | 0, s = e2 >>> 16 & 65535 | 0, a = 0; 0 !== r2; ) { + for (r2 -= a = 2e3 < r2 ? 2e3 : r2; s = s + (i = i + t2[n++] | 0) | 0, --a; ) + ; + i %= 65521, s %= 65521; + } + return i | s << 16 | 0; + }; + }, {}], 44: [function(e, t, r) { + "use strict"; + t.exports = { Z_NO_FLUSH: 0, Z_PARTIAL_FLUSH: 1, Z_SYNC_FLUSH: 2, Z_FULL_FLUSH: 3, Z_FINISH: 4, Z_BLOCK: 5, Z_TREES: 6, Z_OK: 0, Z_STREAM_END: 1, Z_NEED_DICT: 2, Z_ERRNO: -1, Z_STREAM_ERROR: -2, Z_DATA_ERROR: -3, Z_BUF_ERROR: -5, Z_NO_COMPRESSION: 0, Z_BEST_SPEED: 1, Z_BEST_COMPRESSION: 9, Z_DEFAULT_COMPRESSION: -1, Z_FILTERED: 1, Z_HUFFMAN_ONLY: 2, Z_RLE: 3, Z_FIXED: 4, Z_DEFAULT_STRATEGY: 0, Z_BINARY: 0, Z_TEXT: 1, Z_UNKNOWN: 2, Z_DEFLATED: 8 }; + }, {}], 45: [function(e, t, r) { + "use strict"; + var o = function() { + for (var e2, t2 = [], r2 = 0; r2 < 256; r2++) { + e2 = r2; + for (var n = 0; n < 8; n++) + e2 = 1 & e2 ? 3988292384 ^ e2 >>> 1 : e2 >>> 1; + t2[r2] = e2; + } + return t2; + }(); + t.exports = function(e2, t2, r2, n) { + var i = o, s = n + r2; + e2 ^= -1; + for (var a = n; a < s; a++) + e2 = e2 >>> 8 ^ i[255 & (e2 ^ t2[a])]; + return -1 ^ e2; + }; + }, {}], 46: [function(e, t, r) { + "use strict"; + var h, c = e("../utils/common"), u = e("./trees"), d = e("./adler32"), p = e("./crc32"), n = e("./messages"), l = 0, f = 4, m = 0, _ = -2, g = -1, b = 4, i = 2, v = 8, y = 9, s = 286, a = 30, o = 19, w = 2 * s + 1, k = 15, x = 3, S = 258, z = S + x + 1, C = 42, E = 113, A = 1, I = 2, O = 3, B = 4; + function R(e2, t2) { + return e2.msg = n[t2], t2; + } + function T(e2) { + return (e2 << 1) - (4 < e2 ? 9 : 0); + } + function D(e2) { + for (var t2 = e2.length; 0 <= --t2; ) + e2[t2] = 0; + } + function F(e2) { + var t2 = e2.state, r2 = t2.pending; + r2 > e2.avail_out && (r2 = e2.avail_out), 0 !== r2 && (c.arraySet(e2.output, t2.pending_buf, t2.pending_out, r2, e2.next_out), e2.next_out += r2, t2.pending_out += r2, e2.total_out += r2, e2.avail_out -= r2, t2.pending -= r2, 0 === t2.pending && (t2.pending_out = 0)); + } + function N(e2, t2) { + u._tr_flush_block(e2, 0 <= e2.block_start ? e2.block_start : -1, e2.strstart - e2.block_start, t2), e2.block_start = e2.strstart, F(e2.strm); + } + function U(e2, t2) { + e2.pending_buf[e2.pending++] = t2; + } + function P(e2, t2) { + e2.pending_buf[e2.pending++] = t2 >>> 8 & 255, e2.pending_buf[e2.pending++] = 255 & t2; + } + function L(e2, t2) { + var r2, n2, i2 = e2.max_chain_length, s2 = e2.strstart, a2 = e2.prev_length, o2 = e2.nice_match, h2 = e2.strstart > e2.w_size - z ? e2.strstart - (e2.w_size - z) : 0, u2 = e2.window, l2 = e2.w_mask, f2 = e2.prev, c2 = e2.strstart + S, d2 = u2[s2 + a2 - 1], p2 = u2[s2 + a2]; + e2.prev_length >= e2.good_match && (i2 >>= 2), o2 > e2.lookahead && (o2 = e2.lookahead); + do { + if (u2[(r2 = t2) + a2] === p2 && u2[r2 + a2 - 1] === d2 && u2[r2] === u2[s2] && u2[++r2] === u2[s2 + 1]) { + s2 += 2, r2++; + do { + } while (u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && u2[++s2] === u2[++r2] && s2 < c2); + if (n2 = S - (c2 - s2), s2 = c2 - S, a2 < n2) { + if (e2.match_start = t2, o2 <= (a2 = n2)) + break; + d2 = u2[s2 + a2 - 1], p2 = u2[s2 + a2]; + } + } + } while ((t2 = f2[t2 & l2]) > h2 && 0 != --i2); + return a2 <= e2.lookahead ? a2 : e2.lookahead; + } + function j(e2) { + var t2, r2, n2, i2, s2, a2, o2, h2, u2, l2, f2 = e2.w_size; + do { + if (i2 = e2.window_size - e2.lookahead - e2.strstart, e2.strstart >= f2 + (f2 - z)) { + for (c.arraySet(e2.window, e2.window, f2, f2, 0), e2.match_start -= f2, e2.strstart -= f2, e2.block_start -= f2, t2 = r2 = e2.hash_size; n2 = e2.head[--t2], e2.head[t2] = f2 <= n2 ? n2 - f2 : 0, --r2; ) + ; + for (t2 = r2 = f2; n2 = e2.prev[--t2], e2.prev[t2] = f2 <= n2 ? n2 - f2 : 0, --r2; ) + ; + i2 += f2; + } + if (0 === e2.strm.avail_in) + break; + if (a2 = e2.strm, o2 = e2.window, h2 = e2.strstart + e2.lookahead, u2 = i2, l2 = void 0, l2 = a2.avail_in, u2 < l2 && (l2 = u2), r2 = 0 === l2 ? 0 : (a2.avail_in -= l2, c.arraySet(o2, a2.input, a2.next_in, l2, h2), 1 === a2.state.wrap ? a2.adler = d(a2.adler, o2, l2, h2) : 2 === a2.state.wrap && (a2.adler = p(a2.adler, o2, l2, h2)), a2.next_in += l2, a2.total_in += l2, l2), e2.lookahead += r2, e2.lookahead + e2.insert >= x) + for (s2 = e2.strstart - e2.insert, e2.ins_h = e2.window[s2], e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[s2 + 1]) & e2.hash_mask; e2.insert && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[s2 + x - 1]) & e2.hash_mask, e2.prev[s2 & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = s2, s2++, e2.insert--, !(e2.lookahead + e2.insert < x)); ) + ; + } while (e2.lookahead < z && 0 !== e2.strm.avail_in); + } + function Z(e2, t2) { + for (var r2, n2; ; ) { + if (e2.lookahead < z) { + if (j(e2), e2.lookahead < z && t2 === l) + return A; + if (0 === e2.lookahead) + break; + } + if (r2 = 0, e2.lookahead >= x && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart), 0 !== r2 && e2.strstart - r2 <= e2.w_size - z && (e2.match_length = L(e2, r2)), e2.match_length >= x) + if (n2 = u._tr_tally(e2, e2.strstart - e2.match_start, e2.match_length - x), e2.lookahead -= e2.match_length, e2.match_length <= e2.max_lazy_match && e2.lookahead >= x) { + for (e2.match_length--; e2.strstart++, e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart, 0 != --e2.match_length; ) + ; + e2.strstart++; + } else + e2.strstart += e2.match_length, e2.match_length = 0, e2.ins_h = e2.window[e2.strstart], e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + 1]) & e2.hash_mask; + else + n2 = u._tr_tally(e2, 0, e2.window[e2.strstart]), e2.lookahead--, e2.strstart++; + if (n2 && (N(e2, false), 0 === e2.strm.avail_out)) + return A; + } + return e2.insert = e2.strstart < x - 1 ? e2.strstart : x - 1, t2 === f ? (N(e2, true), 0 === e2.strm.avail_out ? O : B) : e2.last_lit && (N(e2, false), 0 === e2.strm.avail_out) ? A : I; + } + function W(e2, t2) { + for (var r2, n2, i2; ; ) { + if (e2.lookahead < z) { + if (j(e2), e2.lookahead < z && t2 === l) + return A; + if (0 === e2.lookahead) + break; + } + if (r2 = 0, e2.lookahead >= x && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart), e2.prev_length = e2.match_length, e2.prev_match = e2.match_start, e2.match_length = x - 1, 0 !== r2 && e2.prev_length < e2.max_lazy_match && e2.strstart - r2 <= e2.w_size - z && (e2.match_length = L(e2, r2), e2.match_length <= 5 && (1 === e2.strategy || e2.match_length === x && 4096 < e2.strstart - e2.match_start) && (e2.match_length = x - 1)), e2.prev_length >= x && e2.match_length <= e2.prev_length) { + for (i2 = e2.strstart + e2.lookahead - x, n2 = u._tr_tally(e2, e2.strstart - 1 - e2.prev_match, e2.prev_length - x), e2.lookahead -= e2.prev_length - 1, e2.prev_length -= 2; ++e2.strstart <= i2 && (e2.ins_h = (e2.ins_h << e2.hash_shift ^ e2.window[e2.strstart + x - 1]) & e2.hash_mask, r2 = e2.prev[e2.strstart & e2.w_mask] = e2.head[e2.ins_h], e2.head[e2.ins_h] = e2.strstart), 0 != --e2.prev_length; ) + ; + if (e2.match_available = 0, e2.match_length = x - 1, e2.strstart++, n2 && (N(e2, false), 0 === e2.strm.avail_out)) + return A; + } else if (e2.match_available) { + if ((n2 = u._tr_tally(e2, 0, e2.window[e2.strstart - 1])) && N(e2, false), e2.strstart++, e2.lookahead--, 0 === e2.strm.avail_out) + return A; + } else + e2.match_available = 1, e2.strstart++, e2.lookahead--; + } + return e2.match_available && (n2 = u._tr_tally(e2, 0, e2.window[e2.strstart - 1]), e2.match_available = 0), e2.insert = e2.strstart < x - 1 ? e2.strstart : x - 1, t2 === f ? (N(e2, true), 0 === e2.strm.avail_out ? O : B) : e2.last_lit && (N(e2, false), 0 === e2.strm.avail_out) ? A : I; + } + function M(e2, t2, r2, n2, i2) { + this.good_length = e2, this.max_lazy = t2, this.nice_length = r2, this.max_chain = n2, this.func = i2; + } + function H() { + this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = v, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new c.Buf16(2 * w), this.dyn_dtree = new c.Buf16(2 * (2 * a + 1)), this.bl_tree = new c.Buf16(2 * (2 * o + 1)), D(this.dyn_ltree), D(this.dyn_dtree), D(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new c.Buf16(k + 1), this.heap = new c.Buf16(2 * s + 1), D(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new c.Buf16(2 * s + 1), D(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0; + } + function G(e2) { + var t2; + return e2 && e2.state ? (e2.total_in = e2.total_out = 0, e2.data_type = i, (t2 = e2.state).pending = 0, t2.pending_out = 0, t2.wrap < 0 && (t2.wrap = -t2.wrap), t2.status = t2.wrap ? C : E, e2.adler = 2 === t2.wrap ? 0 : 1, t2.last_flush = l, u._tr_init(t2), m) : R(e2, _); + } + function K(e2) { + var t2 = G(e2); + return t2 === m && function(e3) { + e3.window_size = 2 * e3.w_size, D(e3.head), e3.max_lazy_match = h[e3.level].max_lazy, e3.good_match = h[e3.level].good_length, e3.nice_match = h[e3.level].nice_length, e3.max_chain_length = h[e3.level].max_chain, e3.strstart = 0, e3.block_start = 0, e3.lookahead = 0, e3.insert = 0, e3.match_length = e3.prev_length = x - 1, e3.match_available = 0, e3.ins_h = 0; + }(e2.state), t2; + } + function Y(e2, t2, r2, n2, i2, s2) { + if (!e2) + return _; + var a2 = 1; + if (t2 === g && (t2 = 6), n2 < 0 ? (a2 = 0, n2 = -n2) : 15 < n2 && (a2 = 2, n2 -= 16), i2 < 1 || y < i2 || r2 !== v || n2 < 8 || 15 < n2 || t2 < 0 || 9 < t2 || s2 < 0 || b < s2) + return R(e2, _); + 8 === n2 && (n2 = 9); + var o2 = new H(); + return (e2.state = o2).strm = e2, o2.wrap = a2, o2.gzhead = null, o2.w_bits = n2, o2.w_size = 1 << o2.w_bits, o2.w_mask = o2.w_size - 1, o2.hash_bits = i2 + 7, o2.hash_size = 1 << o2.hash_bits, o2.hash_mask = o2.hash_size - 1, o2.hash_shift = ~~((o2.hash_bits + x - 1) / x), o2.window = new c.Buf8(2 * o2.w_size), o2.head = new c.Buf16(o2.hash_size), o2.prev = new c.Buf16(o2.w_size), o2.lit_bufsize = 1 << i2 + 6, o2.pending_buf_size = 4 * o2.lit_bufsize, o2.pending_buf = new c.Buf8(o2.pending_buf_size), o2.d_buf = 1 * o2.lit_bufsize, o2.l_buf = 3 * o2.lit_bufsize, o2.level = t2, o2.strategy = s2, o2.method = r2, K(e2); + } + h = [new M(0, 0, 0, 0, function(e2, t2) { + var r2 = 65535; + for (r2 > e2.pending_buf_size - 5 && (r2 = e2.pending_buf_size - 5); ; ) { + if (e2.lookahead <= 1) { + if (j(e2), 0 === e2.lookahead && t2 === l) + return A; + if (0 === e2.lookahead) + break; + } + e2.strstart += e2.lookahead, e2.lookahead = 0; + var n2 = e2.block_start + r2; + if ((0 === e2.strstart || e2.strstart >= n2) && (e2.lookahead = e2.strstart - n2, e2.strstart = n2, N(e2, false), 0 === e2.strm.avail_out)) + return A; + if (e2.strstart - e2.block_start >= e2.w_size - z && (N(e2, false), 0 === e2.strm.avail_out)) + return A; + } + return e2.insert = 0, t2 === f ? (N(e2, true), 0 === e2.strm.avail_out ? O : B) : (e2.strstart > e2.block_start && (N(e2, false), e2.strm.avail_out), A); + }), new M(4, 4, 8, 4, Z), new M(4, 5, 16, 8, Z), new M(4, 6, 32, 32, Z), new M(4, 4, 16, 16, W), new M(8, 16, 32, 32, W), new M(8, 16, 128, 128, W), new M(8, 32, 128, 256, W), new M(32, 128, 258, 1024, W), new M(32, 258, 258, 4096, W)], r.deflateInit = function(e2, t2) { + return Y(e2, t2, v, 15, 8, 0); + }, r.deflateInit2 = Y, r.deflateReset = K, r.deflateResetKeep = G, r.deflateSetHeader = function(e2, t2) { + return e2 && e2.state ? 2 !== e2.state.wrap ? _ : (e2.state.gzhead = t2, m) : _; + }, r.deflate = function(e2, t2) { + var r2, n2, i2, s2; + if (!e2 || !e2.state || 5 < t2 || t2 < 0) + return e2 ? R(e2, _) : _; + if (n2 = e2.state, !e2.output || !e2.input && 0 !== e2.avail_in || 666 === n2.status && t2 !== f) + return R(e2, 0 === e2.avail_out ? -5 : _); + if (n2.strm = e2, r2 = n2.last_flush, n2.last_flush = t2, n2.status === C) + if (2 === n2.wrap) + e2.adler = 0, U(n2, 31), U(n2, 139), U(n2, 8), n2.gzhead ? (U(n2, (n2.gzhead.text ? 1 : 0) + (n2.gzhead.hcrc ? 2 : 0) + (n2.gzhead.extra ? 4 : 0) + (n2.gzhead.name ? 8 : 0) + (n2.gzhead.comment ? 16 : 0)), U(n2, 255 & n2.gzhead.time), U(n2, n2.gzhead.time >> 8 & 255), U(n2, n2.gzhead.time >> 16 & 255), U(n2, n2.gzhead.time >> 24 & 255), U(n2, 9 === n2.level ? 2 : 2 <= n2.strategy || n2.level < 2 ? 4 : 0), U(n2, 255 & n2.gzhead.os), n2.gzhead.extra && n2.gzhead.extra.length && (U(n2, 255 & n2.gzhead.extra.length), U(n2, n2.gzhead.extra.length >> 8 & 255)), n2.gzhead.hcrc && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending, 0)), n2.gzindex = 0, n2.status = 69) : (U(n2, 0), U(n2, 0), U(n2, 0), U(n2, 0), U(n2, 0), U(n2, 9 === n2.level ? 2 : 2 <= n2.strategy || n2.level < 2 ? 4 : 0), U(n2, 3), n2.status = E); + else { + var a2 = v + (n2.w_bits - 8 << 4) << 8; + a2 |= (2 <= n2.strategy || n2.level < 2 ? 0 : n2.level < 6 ? 1 : 6 === n2.level ? 2 : 3) << 6, 0 !== n2.strstart && (a2 |= 32), a2 += 31 - a2 % 31, n2.status = E, P(n2, a2), 0 !== n2.strstart && (P(n2, e2.adler >>> 16), P(n2, 65535 & e2.adler)), e2.adler = 1; + } + if (69 === n2.status) + if (n2.gzhead.extra) { + for (i2 = n2.pending; n2.gzindex < (65535 & n2.gzhead.extra.length) && (n2.pending !== n2.pending_buf_size || (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), F(e2), i2 = n2.pending, n2.pending !== n2.pending_buf_size)); ) + U(n2, 255 & n2.gzhead.extra[n2.gzindex]), n2.gzindex++; + n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), n2.gzindex === n2.gzhead.extra.length && (n2.gzindex = 0, n2.status = 73); + } else + n2.status = 73; + if (73 === n2.status) + if (n2.gzhead.name) { + i2 = n2.pending; + do { + if (n2.pending === n2.pending_buf_size && (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), F(e2), i2 = n2.pending, n2.pending === n2.pending_buf_size)) { + s2 = 1; + break; + } + s2 = n2.gzindex < n2.gzhead.name.length ? 255 & n2.gzhead.name.charCodeAt(n2.gzindex++) : 0, U(n2, s2); + } while (0 !== s2); + n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), 0 === s2 && (n2.gzindex = 0, n2.status = 91); + } else + n2.status = 91; + if (91 === n2.status) + if (n2.gzhead.comment) { + i2 = n2.pending; + do { + if (n2.pending === n2.pending_buf_size && (n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), F(e2), i2 = n2.pending, n2.pending === n2.pending_buf_size)) { + s2 = 1; + break; + } + s2 = n2.gzindex < n2.gzhead.comment.length ? 255 & n2.gzhead.comment.charCodeAt(n2.gzindex++) : 0, U(n2, s2); + } while (0 !== s2); + n2.gzhead.hcrc && n2.pending > i2 && (e2.adler = p(e2.adler, n2.pending_buf, n2.pending - i2, i2)), 0 === s2 && (n2.status = 103); + } else + n2.status = 103; + if (103 === n2.status && (n2.gzhead.hcrc ? (n2.pending + 2 > n2.pending_buf_size && F(e2), n2.pending + 2 <= n2.pending_buf_size && (U(n2, 255 & e2.adler), U(n2, e2.adler >> 8 & 255), e2.adler = 0, n2.status = E)) : n2.status = E), 0 !== n2.pending) { + if (F(e2), 0 === e2.avail_out) + return n2.last_flush = -1, m; + } else if (0 === e2.avail_in && T(t2) <= T(r2) && t2 !== f) + return R(e2, -5); + if (666 === n2.status && 0 !== e2.avail_in) + return R(e2, -5); + if (0 !== e2.avail_in || 0 !== n2.lookahead || t2 !== l && 666 !== n2.status) { + var o2 = 2 === n2.strategy ? function(e3, t3) { + for (var r3; ; ) { + if (0 === e3.lookahead && (j(e3), 0 === e3.lookahead)) { + if (t3 === l) + return A; + break; + } + if (e3.match_length = 0, r3 = u._tr_tally(e3, 0, e3.window[e3.strstart]), e3.lookahead--, e3.strstart++, r3 && (N(e3, false), 0 === e3.strm.avail_out)) + return A; + } + return e3.insert = 0, t3 === f ? (N(e3, true), 0 === e3.strm.avail_out ? O : B) : e3.last_lit && (N(e3, false), 0 === e3.strm.avail_out) ? A : I; + }(n2, t2) : 3 === n2.strategy ? function(e3, t3) { + for (var r3, n3, i3, s3, a3 = e3.window; ; ) { + if (e3.lookahead <= S) { + if (j(e3), e3.lookahead <= S && t3 === l) + return A; + if (0 === e3.lookahead) + break; + } + if (e3.match_length = 0, e3.lookahead >= x && 0 < e3.strstart && (n3 = a3[i3 = e3.strstart - 1]) === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3]) { + s3 = e3.strstart + S; + do { + } while (n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && n3 === a3[++i3] && i3 < s3); + e3.match_length = S - (s3 - i3), e3.match_length > e3.lookahead && (e3.match_length = e3.lookahead); + } + if (e3.match_length >= x ? (r3 = u._tr_tally(e3, 1, e3.match_length - x), e3.lookahead -= e3.match_length, e3.strstart += e3.match_length, e3.match_length = 0) : (r3 = u._tr_tally(e3, 0, e3.window[e3.strstart]), e3.lookahead--, e3.strstart++), r3 && (N(e3, false), 0 === e3.strm.avail_out)) + return A; + } + return e3.insert = 0, t3 === f ? (N(e3, true), 0 === e3.strm.avail_out ? O : B) : e3.last_lit && (N(e3, false), 0 === e3.strm.avail_out) ? A : I; + }(n2, t2) : h[n2.level].func(n2, t2); + if (o2 !== O && o2 !== B || (n2.status = 666), o2 === A || o2 === O) + return 0 === e2.avail_out && (n2.last_flush = -1), m; + if (o2 === I && (1 === t2 ? u._tr_align(n2) : 5 !== t2 && (u._tr_stored_block(n2, 0, 0, false), 3 === t2 && (D(n2.head), 0 === n2.lookahead && (n2.strstart = 0, n2.block_start = 0, n2.insert = 0))), F(e2), 0 === e2.avail_out)) + return n2.last_flush = -1, m; + } + return t2 !== f ? m : n2.wrap <= 0 ? 1 : (2 === n2.wrap ? (U(n2, 255 & e2.adler), U(n2, e2.adler >> 8 & 255), U(n2, e2.adler >> 16 & 255), U(n2, e2.adler >> 24 & 255), U(n2, 255 & e2.total_in), U(n2, e2.total_in >> 8 & 255), U(n2, e2.total_in >> 16 & 255), U(n2, e2.total_in >> 24 & 255)) : (P(n2, e2.adler >>> 16), P(n2, 65535 & e2.adler)), F(e2), 0 < n2.wrap && (n2.wrap = -n2.wrap), 0 !== n2.pending ? m : 1); + }, r.deflateEnd = function(e2) { + var t2; + return e2 && e2.state ? (t2 = e2.state.status) !== C && 69 !== t2 && 73 !== t2 && 91 !== t2 && 103 !== t2 && t2 !== E && 666 !== t2 ? R(e2, _) : (e2.state = null, t2 === E ? R(e2, -3) : m) : _; + }, r.deflateSetDictionary = function(e2, t2) { + var r2, n2, i2, s2, a2, o2, h2, u2, l2 = t2.length; + if (!e2 || !e2.state) + return _; + if (2 === (s2 = (r2 = e2.state).wrap) || 1 === s2 && r2.status !== C || r2.lookahead) + return _; + for (1 === s2 && (e2.adler = d(e2.adler, t2, l2, 0)), r2.wrap = 0, l2 >= r2.w_size && (0 === s2 && (D(r2.head), r2.strstart = 0, r2.block_start = 0, r2.insert = 0), u2 = new c.Buf8(r2.w_size), c.arraySet(u2, t2, l2 - r2.w_size, r2.w_size, 0), t2 = u2, l2 = r2.w_size), a2 = e2.avail_in, o2 = e2.next_in, h2 = e2.input, e2.avail_in = l2, e2.next_in = 0, e2.input = t2, j(r2); r2.lookahead >= x; ) { + for (n2 = r2.strstart, i2 = r2.lookahead - (x - 1); r2.ins_h = (r2.ins_h << r2.hash_shift ^ r2.window[n2 + x - 1]) & r2.hash_mask, r2.prev[n2 & r2.w_mask] = r2.head[r2.ins_h], r2.head[r2.ins_h] = n2, n2++, --i2; ) + ; + r2.strstart = n2, r2.lookahead = x - 1, j(r2); + } + return r2.strstart += r2.lookahead, r2.block_start = r2.strstart, r2.insert = r2.lookahead, r2.lookahead = 0, r2.match_length = r2.prev_length = x - 1, r2.match_available = 0, e2.next_in = o2, e2.input = h2, e2.avail_in = a2, r2.wrap = s2, m; + }, r.deflateInfo = "pako deflate (from Nodeca project)"; + }, { "../utils/common": 41, "./adler32": 43, "./crc32": 45, "./messages": 51, "./trees": 52 }], 47: [function(e, t, r) { + "use strict"; + t.exports = function() { + this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, this.name = "", this.comment = "", this.hcrc = 0, this.done = false; + }; + }, {}], 48: [function(e, t, r) { + "use strict"; + t.exports = function(e2, t2) { + var r2, n, i, s, a, o, h, u, l, f, c, d, p, m, _, g, b, v, y, w, k, x, S, z, C; + r2 = e2.state, n = e2.next_in, z = e2.input, i = n + (e2.avail_in - 5), s = e2.next_out, C = e2.output, a = s - (t2 - e2.avail_out), o = s + (e2.avail_out - 257), h = r2.dmax, u = r2.wsize, l = r2.whave, f = r2.wnext, c = r2.window, d = r2.hold, p = r2.bits, m = r2.lencode, _ = r2.distcode, g = (1 << r2.lenbits) - 1, b = (1 << r2.distbits) - 1; + e: + do { + p < 15 && (d += z[n++] << p, p += 8, d += z[n++] << p, p += 8), v = m[d & g]; + t: + for (; ; ) { + if (d >>>= y = v >>> 24, p -= y, 0 === (y = v >>> 16 & 255)) + C[s++] = 65535 & v; + else { + if (!(16 & y)) { + if (0 == (64 & y)) { + v = m[(65535 & v) + (d & (1 << y) - 1)]; + continue t; + } + if (32 & y) { + r2.mode = 12; + break e; + } + e2.msg = "invalid literal/length code", r2.mode = 30; + break e; + } + w = 65535 & v, (y &= 15) && (p < y && (d += z[n++] << p, p += 8), w += d & (1 << y) - 1, d >>>= y, p -= y), p < 15 && (d += z[n++] << p, p += 8, d += z[n++] << p, p += 8), v = _[d & b]; + r: + for (; ; ) { + if (d >>>= y = v >>> 24, p -= y, !(16 & (y = v >>> 16 & 255))) { + if (0 == (64 & y)) { + v = _[(65535 & v) + (d & (1 << y) - 1)]; + continue r; + } + e2.msg = "invalid distance code", r2.mode = 30; + break e; + } + if (k = 65535 & v, p < (y &= 15) && (d += z[n++] << p, (p += 8) < y && (d += z[n++] << p, p += 8)), h < (k += d & (1 << y) - 1)) { + e2.msg = "invalid distance too far back", r2.mode = 30; + break e; + } + if (d >>>= y, p -= y, (y = s - a) < k) { + if (l < (y = k - y) && r2.sane) { + e2.msg = "invalid distance too far back", r2.mode = 30; + break e; + } + if (S = c, (x = 0) === f) { + if (x += u - y, y < w) { + for (w -= y; C[s++] = c[x++], --y; ) + ; + x = s - k, S = C; + } + } else if (f < y) { + if (x += u + f - y, (y -= f) < w) { + for (w -= y; C[s++] = c[x++], --y; ) + ; + if (x = 0, f < w) { + for (w -= y = f; C[s++] = c[x++], --y; ) + ; + x = s - k, S = C; + } + } + } else if (x += f - y, y < w) { + for (w -= y; C[s++] = c[x++], --y; ) + ; + x = s - k, S = C; + } + for (; 2 < w; ) + C[s++] = S[x++], C[s++] = S[x++], C[s++] = S[x++], w -= 3; + w && (C[s++] = S[x++], 1 < w && (C[s++] = S[x++])); + } else { + for (x = s - k; C[s++] = C[x++], C[s++] = C[x++], C[s++] = C[x++], 2 < (w -= 3); ) + ; + w && (C[s++] = C[x++], 1 < w && (C[s++] = C[x++])); + } + break; + } + } + break; + } + } while (n < i && s < o); + n -= w = p >> 3, d &= (1 << (p -= w << 3)) - 1, e2.next_in = n, e2.next_out = s, e2.avail_in = n < i ? i - n + 5 : 5 - (n - i), e2.avail_out = s < o ? o - s + 257 : 257 - (s - o), r2.hold = d, r2.bits = p; + }; + }, {}], 49: [function(e, t, r) { + "use strict"; + var I = e("../utils/common"), O = e("./adler32"), B = e("./crc32"), R = e("./inffast"), T = e("./inftrees"), D = 1, F = 2, N = 0, U = -2, P = 1, n = 852, i = 592; + function L(e2) { + return (e2 >>> 24 & 255) + (e2 >>> 8 & 65280) + ((65280 & e2) << 8) + ((255 & e2) << 24); + } + function s() { + this.mode = 0, this.last = false, this.wrap = 0, this.havedict = false, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new I.Buf16(320), this.work = new I.Buf16(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0; + } + function a(e2) { + var t2; + return e2 && e2.state ? (t2 = e2.state, e2.total_in = e2.total_out = t2.total = 0, e2.msg = "", t2.wrap && (e2.adler = 1 & t2.wrap), t2.mode = P, t2.last = 0, t2.havedict = 0, t2.dmax = 32768, t2.head = null, t2.hold = 0, t2.bits = 0, t2.lencode = t2.lendyn = new I.Buf32(n), t2.distcode = t2.distdyn = new I.Buf32(i), t2.sane = 1, t2.back = -1, N) : U; + } + function o(e2) { + var t2; + return e2 && e2.state ? ((t2 = e2.state).wsize = 0, t2.whave = 0, t2.wnext = 0, a(e2)) : U; + } + function h(e2, t2) { + var r2, n2; + return e2 && e2.state ? (n2 = e2.state, t2 < 0 ? (r2 = 0, t2 = -t2) : (r2 = 1 + (t2 >> 4), t2 < 48 && (t2 &= 15)), t2 && (t2 < 8 || 15 < t2) ? U : (null !== n2.window && n2.wbits !== t2 && (n2.window = null), n2.wrap = r2, n2.wbits = t2, o(e2))) : U; + } + function u(e2, t2) { + var r2, n2; + return e2 ? (n2 = new s(), (e2.state = n2).window = null, (r2 = h(e2, t2)) !== N && (e2.state = null), r2) : U; + } + var l, f, c = true; + function j(e2) { + if (c) { + var t2; + for (l = new I.Buf32(512), f = new I.Buf32(32), t2 = 0; t2 < 144; ) + e2.lens[t2++] = 8; + for (; t2 < 256; ) + e2.lens[t2++] = 9; + for (; t2 < 280; ) + e2.lens[t2++] = 7; + for (; t2 < 288; ) + e2.lens[t2++] = 8; + for (T(D, e2.lens, 0, 288, l, 0, e2.work, { bits: 9 }), t2 = 0; t2 < 32; ) + e2.lens[t2++] = 5; + T(F, e2.lens, 0, 32, f, 0, e2.work, { bits: 5 }), c = false; + } + e2.lencode = l, e2.lenbits = 9, e2.distcode = f, e2.distbits = 5; + } + function Z(e2, t2, r2, n2) { + var i2, s2 = e2.state; + return null === s2.window && (s2.wsize = 1 << s2.wbits, s2.wnext = 0, s2.whave = 0, s2.window = new I.Buf8(s2.wsize)), n2 >= s2.wsize ? (I.arraySet(s2.window, t2, r2 - s2.wsize, s2.wsize, 0), s2.wnext = 0, s2.whave = s2.wsize) : (n2 < (i2 = s2.wsize - s2.wnext) && (i2 = n2), I.arraySet(s2.window, t2, r2 - n2, i2, s2.wnext), (n2 -= i2) ? (I.arraySet(s2.window, t2, r2 - n2, n2, 0), s2.wnext = n2, s2.whave = s2.wsize) : (s2.wnext += i2, s2.wnext === s2.wsize && (s2.wnext = 0), s2.whave < s2.wsize && (s2.whave += i2))), 0; + } + r.inflateReset = o, r.inflateReset2 = h, r.inflateResetKeep = a, r.inflateInit = function(e2) { + return u(e2, 15); + }, r.inflateInit2 = u, r.inflate = function(e2, t2) { + var r2, n2, i2, s2, a2, o2, h2, u2, l2, f2, c2, d, p, m, _, g, b, v, y, w, k, x, S, z, C = 0, E = new I.Buf8(4), A = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; + if (!e2 || !e2.state || !e2.output || !e2.input && 0 !== e2.avail_in) + return U; + 12 === (r2 = e2.state).mode && (r2.mode = 13), a2 = e2.next_out, i2 = e2.output, h2 = e2.avail_out, s2 = e2.next_in, n2 = e2.input, o2 = e2.avail_in, u2 = r2.hold, l2 = r2.bits, f2 = o2, c2 = h2, x = N; + e: + for (; ; ) + switch (r2.mode) { + case P: + if (0 === r2.wrap) { + r2.mode = 13; + break; + } + for (; l2 < 16; ) { + if (0 === o2) + break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + if (2 & r2.wrap && 35615 === u2) { + E[r2.check = 0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0), l2 = u2 = 0, r2.mode = 2; + break; + } + if (r2.flags = 0, r2.head && (r2.head.done = false), !(1 & r2.wrap) || (((255 & u2) << 8) + (u2 >> 8)) % 31) { + e2.msg = "incorrect header check", r2.mode = 30; + break; + } + if (8 != (15 & u2)) { + e2.msg = "unknown compression method", r2.mode = 30; + break; + } + if (l2 -= 4, k = 8 + (15 & (u2 >>>= 4)), 0 === r2.wbits) + r2.wbits = k; + else if (k > r2.wbits) { + e2.msg = "invalid window size", r2.mode = 30; + break; + } + r2.dmax = 1 << k, e2.adler = r2.check = 1, r2.mode = 512 & u2 ? 10 : 12, l2 = u2 = 0; + break; + case 2: + for (; l2 < 16; ) { + if (0 === o2) + break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + if (r2.flags = u2, 8 != (255 & r2.flags)) { + e2.msg = "unknown compression method", r2.mode = 30; + break; + } + if (57344 & r2.flags) { + e2.msg = "unknown header flags set", r2.mode = 30; + break; + } + r2.head && (r2.head.text = u2 >> 8 & 1), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0)), l2 = u2 = 0, r2.mode = 3; + case 3: + for (; l2 < 32; ) { + if (0 === o2) + break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + r2.head && (r2.head.time = u2), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, E[2] = u2 >>> 16 & 255, E[3] = u2 >>> 24 & 255, r2.check = B(r2.check, E, 4, 0)), l2 = u2 = 0, r2.mode = 4; + case 4: + for (; l2 < 16; ) { + if (0 === o2) + break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + r2.head && (r2.head.xflags = 255 & u2, r2.head.os = u2 >> 8), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0)), l2 = u2 = 0, r2.mode = 5; + case 5: + if (1024 & r2.flags) { + for (; l2 < 16; ) { + if (0 === o2) + break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + r2.length = u2, r2.head && (r2.head.extra_len = u2), 512 & r2.flags && (E[0] = 255 & u2, E[1] = u2 >>> 8 & 255, r2.check = B(r2.check, E, 2, 0)), l2 = u2 = 0; + } else + r2.head && (r2.head.extra = null); + r2.mode = 6; + case 6: + if (1024 & r2.flags && (o2 < (d = r2.length) && (d = o2), d && (r2.head && (k = r2.head.extra_len - r2.length, r2.head.extra || (r2.head.extra = new Array(r2.head.extra_len)), I.arraySet(r2.head.extra, n2, s2, d, k)), 512 & r2.flags && (r2.check = B(r2.check, n2, d, s2)), o2 -= d, s2 += d, r2.length -= d), r2.length)) + break e; + r2.length = 0, r2.mode = 7; + case 7: + if (2048 & r2.flags) { + if (0 === o2) + break e; + for (d = 0; k = n2[s2 + d++], r2.head && k && r2.length < 65536 && (r2.head.name += String.fromCharCode(k)), k && d < o2; ) + ; + if (512 & r2.flags && (r2.check = B(r2.check, n2, d, s2)), o2 -= d, s2 += d, k) + break e; + } else + r2.head && (r2.head.name = null); + r2.length = 0, r2.mode = 8; + case 8: + if (4096 & r2.flags) { + if (0 === o2) + break e; + for (d = 0; k = n2[s2 + d++], r2.head && k && r2.length < 65536 && (r2.head.comment += String.fromCharCode(k)), k && d < o2; ) + ; + if (512 & r2.flags && (r2.check = B(r2.check, n2, d, s2)), o2 -= d, s2 += d, k) + break e; + } else + r2.head && (r2.head.comment = null); + r2.mode = 9; + case 9: + if (512 & r2.flags) { + for (; l2 < 16; ) { + if (0 === o2) + break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + if (u2 !== (65535 & r2.check)) { + e2.msg = "header crc mismatch", r2.mode = 30; + break; + } + l2 = u2 = 0; + } + r2.head && (r2.head.hcrc = r2.flags >> 9 & 1, r2.head.done = true), e2.adler = r2.check = 0, r2.mode = 12; + break; + case 10: + for (; l2 < 32; ) { + if (0 === o2) + break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + e2.adler = r2.check = L(u2), l2 = u2 = 0, r2.mode = 11; + case 11: + if (0 === r2.havedict) + return e2.next_out = a2, e2.avail_out = h2, e2.next_in = s2, e2.avail_in = o2, r2.hold = u2, r2.bits = l2, 2; + e2.adler = r2.check = 1, r2.mode = 12; + case 12: + if (5 === t2 || 6 === t2) + break e; + case 13: + if (r2.last) { + u2 >>>= 7 & l2, l2 -= 7 & l2, r2.mode = 27; + break; + } + for (; l2 < 3; ) { + if (0 === o2) + break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + switch (r2.last = 1 & u2, l2 -= 1, 3 & (u2 >>>= 1)) { + case 0: + r2.mode = 14; + break; + case 1: + if (j(r2), r2.mode = 20, 6 !== t2) + break; + u2 >>>= 2, l2 -= 2; + break e; + case 2: + r2.mode = 17; + break; + case 3: + e2.msg = "invalid block type", r2.mode = 30; + } + u2 >>>= 2, l2 -= 2; + break; + case 14: + for (u2 >>>= 7 & l2, l2 -= 7 & l2; l2 < 32; ) { + if (0 === o2) + break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + if ((65535 & u2) != (u2 >>> 16 ^ 65535)) { + e2.msg = "invalid stored block lengths", r2.mode = 30; + break; + } + if (r2.length = 65535 & u2, l2 = u2 = 0, r2.mode = 15, 6 === t2) + break e; + case 15: + r2.mode = 16; + case 16: + if (d = r2.length) { + if (o2 < d && (d = o2), h2 < d && (d = h2), 0 === d) + break e; + I.arraySet(i2, n2, s2, d, a2), o2 -= d, s2 += d, h2 -= d, a2 += d, r2.length -= d; + break; + } + r2.mode = 12; + break; + case 17: + for (; l2 < 14; ) { + if (0 === o2) + break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + if (r2.nlen = 257 + (31 & u2), u2 >>>= 5, l2 -= 5, r2.ndist = 1 + (31 & u2), u2 >>>= 5, l2 -= 5, r2.ncode = 4 + (15 & u2), u2 >>>= 4, l2 -= 4, 286 < r2.nlen || 30 < r2.ndist) { + e2.msg = "too many length or distance symbols", r2.mode = 30; + break; + } + r2.have = 0, r2.mode = 18; + case 18: + for (; r2.have < r2.ncode; ) { + for (; l2 < 3; ) { + if (0 === o2) + break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + r2.lens[A[r2.have++]] = 7 & u2, u2 >>>= 3, l2 -= 3; + } + for (; r2.have < 19; ) + r2.lens[A[r2.have++]] = 0; + if (r2.lencode = r2.lendyn, r2.lenbits = 7, S = { bits: r2.lenbits }, x = T(0, r2.lens, 0, 19, r2.lencode, 0, r2.work, S), r2.lenbits = S.bits, x) { + e2.msg = "invalid code lengths set", r2.mode = 30; + break; + } + r2.have = 0, r2.mode = 19; + case 19: + for (; r2.have < r2.nlen + r2.ndist; ) { + for (; g = (C = r2.lencode[u2 & (1 << r2.lenbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_ = C >>> 24) <= l2); ) { + if (0 === o2) + break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + if (b < 16) + u2 >>>= _, l2 -= _, r2.lens[r2.have++] = b; + else { + if (16 === b) { + for (z = _ + 2; l2 < z; ) { + if (0 === o2) + break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + if (u2 >>>= _, l2 -= _, 0 === r2.have) { + e2.msg = "invalid bit length repeat", r2.mode = 30; + break; + } + k = r2.lens[r2.have - 1], d = 3 + (3 & u2), u2 >>>= 2, l2 -= 2; + } else if (17 === b) { + for (z = _ + 3; l2 < z; ) { + if (0 === o2) + break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + l2 -= _, k = 0, d = 3 + (7 & (u2 >>>= _)), u2 >>>= 3, l2 -= 3; + } else { + for (z = _ + 7; l2 < z; ) { + if (0 === o2) + break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + l2 -= _, k = 0, d = 11 + (127 & (u2 >>>= _)), u2 >>>= 7, l2 -= 7; + } + if (r2.have + d > r2.nlen + r2.ndist) { + e2.msg = "invalid bit length repeat", r2.mode = 30; + break; + } + for (; d--; ) + r2.lens[r2.have++] = k; + } + } + if (30 === r2.mode) + break; + if (0 === r2.lens[256]) { + e2.msg = "invalid code -- missing end-of-block", r2.mode = 30; + break; + } + if (r2.lenbits = 9, S = { bits: r2.lenbits }, x = T(D, r2.lens, 0, r2.nlen, r2.lencode, 0, r2.work, S), r2.lenbits = S.bits, x) { + e2.msg = "invalid literal/lengths set", r2.mode = 30; + break; + } + if (r2.distbits = 6, r2.distcode = r2.distdyn, S = { bits: r2.distbits }, x = T(F, r2.lens, r2.nlen, r2.ndist, r2.distcode, 0, r2.work, S), r2.distbits = S.bits, x) { + e2.msg = "invalid distances set", r2.mode = 30; + break; + } + if (r2.mode = 20, 6 === t2) + break e; + case 20: + r2.mode = 21; + case 21: + if (6 <= o2 && 258 <= h2) { + e2.next_out = a2, e2.avail_out = h2, e2.next_in = s2, e2.avail_in = o2, r2.hold = u2, r2.bits = l2, R(e2, c2), a2 = e2.next_out, i2 = e2.output, h2 = e2.avail_out, s2 = e2.next_in, n2 = e2.input, o2 = e2.avail_in, u2 = r2.hold, l2 = r2.bits, 12 === r2.mode && (r2.back = -1); + break; + } + for (r2.back = 0; g = (C = r2.lencode[u2 & (1 << r2.lenbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_ = C >>> 24) <= l2); ) { + if (0 === o2) + break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + if (g && 0 == (240 & g)) { + for (v = _, y = g, w = b; g = (C = r2.lencode[w + ((u2 & (1 << v + y) - 1) >> v)]) >>> 16 & 255, b = 65535 & C, !(v + (_ = C >>> 24) <= l2); ) { + if (0 === o2) + break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + u2 >>>= v, l2 -= v, r2.back += v; + } + if (u2 >>>= _, l2 -= _, r2.back += _, r2.length = b, 0 === g) { + r2.mode = 26; + break; + } + if (32 & g) { + r2.back = -1, r2.mode = 12; + break; + } + if (64 & g) { + e2.msg = "invalid literal/length code", r2.mode = 30; + break; + } + r2.extra = 15 & g, r2.mode = 22; + case 22: + if (r2.extra) { + for (z = r2.extra; l2 < z; ) { + if (0 === o2) + break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + r2.length += u2 & (1 << r2.extra) - 1, u2 >>>= r2.extra, l2 -= r2.extra, r2.back += r2.extra; + } + r2.was = r2.length, r2.mode = 23; + case 23: + for (; g = (C = r2.distcode[u2 & (1 << r2.distbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_ = C >>> 24) <= l2); ) { + if (0 === o2) + break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + if (0 == (240 & g)) { + for (v = _, y = g, w = b; g = (C = r2.distcode[w + ((u2 & (1 << v + y) - 1) >> v)]) >>> 16 & 255, b = 65535 & C, !(v + (_ = C >>> 24) <= l2); ) { + if (0 === o2) + break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + u2 >>>= v, l2 -= v, r2.back += v; + } + if (u2 >>>= _, l2 -= _, r2.back += _, 64 & g) { + e2.msg = "invalid distance code", r2.mode = 30; + break; + } + r2.offset = b, r2.extra = 15 & g, r2.mode = 24; + case 24: + if (r2.extra) { + for (z = r2.extra; l2 < z; ) { + if (0 === o2) + break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + r2.offset += u2 & (1 << r2.extra) - 1, u2 >>>= r2.extra, l2 -= r2.extra, r2.back += r2.extra; + } + if (r2.offset > r2.dmax) { + e2.msg = "invalid distance too far back", r2.mode = 30; + break; + } + r2.mode = 25; + case 25: + if (0 === h2) + break e; + if (d = c2 - h2, r2.offset > d) { + if ((d = r2.offset - d) > r2.whave && r2.sane) { + e2.msg = "invalid distance too far back", r2.mode = 30; + break; + } + p = d > r2.wnext ? (d -= r2.wnext, r2.wsize - d) : r2.wnext - d, d > r2.length && (d = r2.length), m = r2.window; + } else + m = i2, p = a2 - r2.offset, d = r2.length; + for (h2 < d && (d = h2), h2 -= d, r2.length -= d; i2[a2++] = m[p++], --d; ) + ; + 0 === r2.length && (r2.mode = 21); + break; + case 26: + if (0 === h2) + break e; + i2[a2++] = r2.length, h2--, r2.mode = 21; + break; + case 27: + if (r2.wrap) { + for (; l2 < 32; ) { + if (0 === o2) + break e; + o2--, u2 |= n2[s2++] << l2, l2 += 8; + } + if (c2 -= h2, e2.total_out += c2, r2.total += c2, c2 && (e2.adler = r2.check = r2.flags ? B(r2.check, i2, c2, a2 - c2) : O(r2.check, i2, c2, a2 - c2)), c2 = h2, (r2.flags ? u2 : L(u2)) !== r2.check) { + e2.msg = "incorrect data check", r2.mode = 30; + break; + } + l2 = u2 = 0; + } + r2.mode = 28; + case 28: + if (r2.wrap && r2.flags) { + for (; l2 < 32; ) { + if (0 === o2) + break e; + o2--, u2 += n2[s2++] << l2, l2 += 8; + } + if (u2 !== (4294967295 & r2.total)) { + e2.msg = "incorrect length check", r2.mode = 30; + break; + } + l2 = u2 = 0; + } + r2.mode = 29; + case 29: + x = 1; + break e; + case 30: + x = -3; + break e; + case 31: + return -4; + case 32: + default: + return U; + } + return e2.next_out = a2, e2.avail_out = h2, e2.next_in = s2, e2.avail_in = o2, r2.hold = u2, r2.bits = l2, (r2.wsize || c2 !== e2.avail_out && r2.mode < 30 && (r2.mode < 27 || 4 !== t2)) && Z(e2, e2.output, e2.next_out, c2 - e2.avail_out) ? (r2.mode = 31, -4) : (f2 -= e2.avail_in, c2 -= e2.avail_out, e2.total_in += f2, e2.total_out += c2, r2.total += c2, r2.wrap && c2 && (e2.adler = r2.check = r2.flags ? B(r2.check, i2, c2, e2.next_out - c2) : O(r2.check, i2, c2, e2.next_out - c2)), e2.data_type = r2.bits + (r2.last ? 64 : 0) + (12 === r2.mode ? 128 : 0) + (20 === r2.mode || 15 === r2.mode ? 256 : 0), (0 == f2 && 0 === c2 || 4 === t2) && x === N && (x = -5), x); + }, r.inflateEnd = function(e2) { + if (!e2 || !e2.state) + return U; + var t2 = e2.state; + return t2.window && (t2.window = null), e2.state = null, N; + }, r.inflateGetHeader = function(e2, t2) { + var r2; + return e2 && e2.state ? 0 == (2 & (r2 = e2.state).wrap) ? U : ((r2.head = t2).done = false, N) : U; + }, r.inflateSetDictionary = function(e2, t2) { + var r2, n2 = t2.length; + return e2 && e2.state ? 0 !== (r2 = e2.state).wrap && 11 !== r2.mode ? U : 11 === r2.mode && O(1, t2, n2, 0) !== r2.check ? -3 : Z(e2, t2, n2, n2) ? (r2.mode = 31, -4) : (r2.havedict = 1, N) : U; + }, r.inflateInfo = "pako inflate (from Nodeca project)"; + }, { "../utils/common": 41, "./adler32": 43, "./crc32": 45, "./inffast": 48, "./inftrees": 50 }], 50: [function(e, t, r) { + "use strict"; + var D = e("../utils/common"), F = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0], N = [16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78], U = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0], P = [16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64]; + t.exports = function(e2, t2, r2, n, i, s, a, o) { + var h, u, l, f, c, d, p, m, _, g = o.bits, b = 0, v = 0, y = 0, w = 0, k = 0, x = 0, S = 0, z = 0, C = 0, E = 0, A = null, I = 0, O = new D.Buf16(16), B = new D.Buf16(16), R = null, T = 0; + for (b = 0; b <= 15; b++) + O[b] = 0; + for (v = 0; v < n; v++) + O[t2[r2 + v]]++; + for (k = g, w = 15; 1 <= w && 0 === O[w]; w--) + ; + if (w < k && (k = w), 0 === w) + return i[s++] = 20971520, i[s++] = 20971520, o.bits = 1, 0; + for (y = 1; y < w && 0 === O[y]; y++) + ; + for (k < y && (k = y), b = z = 1; b <= 15; b++) + if (z <<= 1, (z -= O[b]) < 0) + return -1; + if (0 < z && (0 === e2 || 1 !== w)) + return -1; + for (B[1] = 0, b = 1; b < 15; b++) + B[b + 1] = B[b] + O[b]; + for (v = 0; v < n; v++) + 0 !== t2[r2 + v] && (a[B[t2[r2 + v]]++] = v); + if (d = 0 === e2 ? (A = R = a, 19) : 1 === e2 ? (A = F, I -= 257, R = N, T -= 257, 256) : (A = U, R = P, -1), b = y, c = s, S = v = E = 0, l = -1, f = (C = 1 << (x = k)) - 1, 1 === e2 && 852 < C || 2 === e2 && 592 < C) + return 1; + for (; ; ) { + for (p = b - S, _ = a[v] < d ? (m = 0, a[v]) : a[v] > d ? (m = R[T + a[v]], A[I + a[v]]) : (m = 96, 0), h = 1 << b - S, y = u = 1 << x; i[c + (E >> S) + (u -= h)] = p << 24 | m << 16 | _ | 0, 0 !== u; ) + ; + for (h = 1 << b - 1; E & h; ) + h >>= 1; + if (0 !== h ? (E &= h - 1, E += h) : E = 0, v++, 0 == --O[b]) { + if (b === w) + break; + b = t2[r2 + a[v]]; + } + if (k < b && (E & f) !== l) { + for (0 === S && (S = k), c += y, z = 1 << (x = b - S); x + S < w && !((z -= O[x + S]) <= 0); ) + x++, z <<= 1; + if (C += 1 << x, 1 === e2 && 852 < C || 2 === e2 && 592 < C) + return 1; + i[l = E & f] = k << 24 | x << 16 | c - s | 0; + } + } + return 0 !== E && (i[c + E] = b - S << 24 | 64 << 16 | 0), o.bits = k, 0; + }; + }, { "../utils/common": 41 }], 51: [function(e, t, r) { + "use strict"; + t.exports = { 2: "need dictionary", 1: "stream end", 0: "", "-1": "file error", "-2": "stream error", "-3": "data error", "-4": "insufficient memory", "-5": "buffer error", "-6": "incompatible version" }; + }, {}], 52: [function(e, t, r) { + "use strict"; + var i = e("../utils/common"), o = 0, h = 1; + function n(e2) { + for (var t2 = e2.length; 0 <= --t2; ) + e2[t2] = 0; + } + var s = 0, a = 29, u = 256, l = u + 1 + a, f = 30, c = 19, _ = 2 * l + 1, g = 15, d = 16, p = 7, m = 256, b = 16, v = 17, y = 18, w = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0], k = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13], x = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7], S = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], z = new Array(2 * (l + 2)); + n(z); + var C = new Array(2 * f); + n(C); + var E = new Array(512); + n(E); + var A = new Array(256); + n(A); + var I = new Array(a); + n(I); + var O, B, R, T = new Array(f); + function D(e2, t2, r2, n2, i2) { + this.static_tree = e2, this.extra_bits = t2, this.extra_base = r2, this.elems = n2, this.max_length = i2, this.has_stree = e2 && e2.length; + } + function F(e2, t2) { + this.dyn_tree = e2, this.max_code = 0, this.stat_desc = t2; + } + function N(e2) { + return e2 < 256 ? E[e2] : E[256 + (e2 >>> 7)]; + } + function U(e2, t2) { + e2.pending_buf[e2.pending++] = 255 & t2, e2.pending_buf[e2.pending++] = t2 >>> 8 & 255; + } + function P(e2, t2, r2) { + e2.bi_valid > d - r2 ? (e2.bi_buf |= t2 << e2.bi_valid & 65535, U(e2, e2.bi_buf), e2.bi_buf = t2 >> d - e2.bi_valid, e2.bi_valid += r2 - d) : (e2.bi_buf |= t2 << e2.bi_valid & 65535, e2.bi_valid += r2); + } + function L(e2, t2, r2) { + P(e2, r2[2 * t2], r2[2 * t2 + 1]); + } + function j(e2, t2) { + for (var r2 = 0; r2 |= 1 & e2, e2 >>>= 1, r2 <<= 1, 0 < --t2; ) + ; + return r2 >>> 1; + } + function Z(e2, t2, r2) { + var n2, i2, s2 = new Array(g + 1), a2 = 0; + for (n2 = 1; n2 <= g; n2++) + s2[n2] = a2 = a2 + r2[n2 - 1] << 1; + for (i2 = 0; i2 <= t2; i2++) { + var o2 = e2[2 * i2 + 1]; + 0 !== o2 && (e2[2 * i2] = j(s2[o2]++, o2)); + } + } + function W(e2) { + var t2; + for (t2 = 0; t2 < l; t2++) + e2.dyn_ltree[2 * t2] = 0; + for (t2 = 0; t2 < f; t2++) + e2.dyn_dtree[2 * t2] = 0; + for (t2 = 0; t2 < c; t2++) + e2.bl_tree[2 * t2] = 0; + e2.dyn_ltree[2 * m] = 1, e2.opt_len = e2.static_len = 0, e2.last_lit = e2.matches = 0; + } + function M(e2) { + 8 < e2.bi_valid ? U(e2, e2.bi_buf) : 0 < e2.bi_valid && (e2.pending_buf[e2.pending++] = e2.bi_buf), e2.bi_buf = 0, e2.bi_valid = 0; + } + function H(e2, t2, r2, n2) { + var i2 = 2 * t2, s2 = 2 * r2; + return e2[i2] < e2[s2] || e2[i2] === e2[s2] && n2[t2] <= n2[r2]; + } + function G(e2, t2, r2) { + for (var n2 = e2.heap[r2], i2 = r2 << 1; i2 <= e2.heap_len && (i2 < e2.heap_len && H(t2, e2.heap[i2 + 1], e2.heap[i2], e2.depth) && i2++, !H(t2, n2, e2.heap[i2], e2.depth)); ) + e2.heap[r2] = e2.heap[i2], r2 = i2, i2 <<= 1; + e2.heap[r2] = n2; + } + function K(e2, t2, r2) { + var n2, i2, s2, a2, o2 = 0; + if (0 !== e2.last_lit) + for (; n2 = e2.pending_buf[e2.d_buf + 2 * o2] << 8 | e2.pending_buf[e2.d_buf + 2 * o2 + 1], i2 = e2.pending_buf[e2.l_buf + o2], o2++, 0 === n2 ? L(e2, i2, t2) : (L(e2, (s2 = A[i2]) + u + 1, t2), 0 !== (a2 = w[s2]) && P(e2, i2 -= I[s2], a2), L(e2, s2 = N(--n2), r2), 0 !== (a2 = k[s2]) && P(e2, n2 -= T[s2], a2)), o2 < e2.last_lit; ) + ; + L(e2, m, t2); + } + function Y(e2, t2) { + var r2, n2, i2, s2 = t2.dyn_tree, a2 = t2.stat_desc.static_tree, o2 = t2.stat_desc.has_stree, h2 = t2.stat_desc.elems, u2 = -1; + for (e2.heap_len = 0, e2.heap_max = _, r2 = 0; r2 < h2; r2++) + 0 !== s2[2 * r2] ? (e2.heap[++e2.heap_len] = u2 = r2, e2.depth[r2] = 0) : s2[2 * r2 + 1] = 0; + for (; e2.heap_len < 2; ) + s2[2 * (i2 = e2.heap[++e2.heap_len] = u2 < 2 ? ++u2 : 0)] = 1, e2.depth[i2] = 0, e2.opt_len--, o2 && (e2.static_len -= a2[2 * i2 + 1]); + for (t2.max_code = u2, r2 = e2.heap_len >> 1; 1 <= r2; r2--) + G(e2, s2, r2); + for (i2 = h2; r2 = e2.heap[1], e2.heap[1] = e2.heap[e2.heap_len--], G(e2, s2, 1), n2 = e2.heap[1], e2.heap[--e2.heap_max] = r2, e2.heap[--e2.heap_max] = n2, s2[2 * i2] = s2[2 * r2] + s2[2 * n2], e2.depth[i2] = (e2.depth[r2] >= e2.depth[n2] ? e2.depth[r2] : e2.depth[n2]) + 1, s2[2 * r2 + 1] = s2[2 * n2 + 1] = i2, e2.heap[1] = i2++, G(e2, s2, 1), 2 <= e2.heap_len; ) + ; + e2.heap[--e2.heap_max] = e2.heap[1], function(e3, t3) { + var r3, n3, i3, s3, a3, o3, h3 = t3.dyn_tree, u3 = t3.max_code, l2 = t3.stat_desc.static_tree, f2 = t3.stat_desc.has_stree, c2 = t3.stat_desc.extra_bits, d2 = t3.stat_desc.extra_base, p2 = t3.stat_desc.max_length, m2 = 0; + for (s3 = 0; s3 <= g; s3++) + e3.bl_count[s3] = 0; + for (h3[2 * e3.heap[e3.heap_max] + 1] = 0, r3 = e3.heap_max + 1; r3 < _; r3++) + p2 < (s3 = h3[2 * h3[2 * (n3 = e3.heap[r3]) + 1] + 1] + 1) && (s3 = p2, m2++), h3[2 * n3 + 1] = s3, u3 < n3 || (e3.bl_count[s3]++, a3 = 0, d2 <= n3 && (a3 = c2[n3 - d2]), o3 = h3[2 * n3], e3.opt_len += o3 * (s3 + a3), f2 && (e3.static_len += o3 * (l2[2 * n3 + 1] + a3))); + if (0 !== m2) { + do { + for (s3 = p2 - 1; 0 === e3.bl_count[s3]; ) + s3--; + e3.bl_count[s3]--, e3.bl_count[s3 + 1] += 2, e3.bl_count[p2]--, m2 -= 2; + } while (0 < m2); + for (s3 = p2; 0 !== s3; s3--) + for (n3 = e3.bl_count[s3]; 0 !== n3; ) + u3 < (i3 = e3.heap[--r3]) || (h3[2 * i3 + 1] !== s3 && (e3.opt_len += (s3 - h3[2 * i3 + 1]) * h3[2 * i3], h3[2 * i3 + 1] = s3), n3--); + } + }(e2, t2), Z(s2, u2, e2.bl_count); + } + function X(e2, t2, r2) { + var n2, i2, s2 = -1, a2 = t2[1], o2 = 0, h2 = 7, u2 = 4; + for (0 === a2 && (h2 = 138, u2 = 3), t2[2 * (r2 + 1) + 1] = 65535, n2 = 0; n2 <= r2; n2++) + i2 = a2, a2 = t2[2 * (n2 + 1) + 1], ++o2 < h2 && i2 === a2 || (o2 < u2 ? e2.bl_tree[2 * i2] += o2 : 0 !== i2 ? (i2 !== s2 && e2.bl_tree[2 * i2]++, e2.bl_tree[2 * b]++) : o2 <= 10 ? e2.bl_tree[2 * v]++ : e2.bl_tree[2 * y]++, s2 = i2, u2 = (o2 = 0) === a2 ? (h2 = 138, 3) : i2 === a2 ? (h2 = 6, 3) : (h2 = 7, 4)); + } + function V(e2, t2, r2) { + var n2, i2, s2 = -1, a2 = t2[1], o2 = 0, h2 = 7, u2 = 4; + for (0 === a2 && (h2 = 138, u2 = 3), n2 = 0; n2 <= r2; n2++) + if (i2 = a2, a2 = t2[2 * (n2 + 1) + 1], !(++o2 < h2 && i2 === a2)) { + if (o2 < u2) + for (; L(e2, i2, e2.bl_tree), 0 != --o2; ) + ; + else + 0 !== i2 ? (i2 !== s2 && (L(e2, i2, e2.bl_tree), o2--), L(e2, b, e2.bl_tree), P(e2, o2 - 3, 2)) : o2 <= 10 ? (L(e2, v, e2.bl_tree), P(e2, o2 - 3, 3)) : (L(e2, y, e2.bl_tree), P(e2, o2 - 11, 7)); + s2 = i2, u2 = (o2 = 0) === a2 ? (h2 = 138, 3) : i2 === a2 ? (h2 = 6, 3) : (h2 = 7, 4); + } + } + n(T); + var q = false; + function J(e2, t2, r2, n2) { + P(e2, (s << 1) + (n2 ? 1 : 0), 3), function(e3, t3, r3, n3) { + M(e3), n3 && (U(e3, r3), U(e3, ~r3)), i.arraySet(e3.pending_buf, e3.window, t3, r3, e3.pending), e3.pending += r3; + }(e2, t2, r2, true); + } + r._tr_init = function(e2) { + q || (function() { + var e3, t2, r2, n2, i2, s2 = new Array(g + 1); + for (n2 = r2 = 0; n2 < a - 1; n2++) + for (I[n2] = r2, e3 = 0; e3 < 1 << w[n2]; e3++) + A[r2++] = n2; + for (A[r2 - 1] = n2, n2 = i2 = 0; n2 < 16; n2++) + for (T[n2] = i2, e3 = 0; e3 < 1 << k[n2]; e3++) + E[i2++] = n2; + for (i2 >>= 7; n2 < f; n2++) + for (T[n2] = i2 << 7, e3 = 0; e3 < 1 << k[n2] - 7; e3++) + E[256 + i2++] = n2; + for (t2 = 0; t2 <= g; t2++) + s2[t2] = 0; + for (e3 = 0; e3 <= 143; ) + z[2 * e3 + 1] = 8, e3++, s2[8]++; + for (; e3 <= 255; ) + z[2 * e3 + 1] = 9, e3++, s2[9]++; + for (; e3 <= 279; ) + z[2 * e3 + 1] = 7, e3++, s2[7]++; + for (; e3 <= 287; ) + z[2 * e3 + 1] = 8, e3++, s2[8]++; + for (Z(z, l + 1, s2), e3 = 0; e3 < f; e3++) + C[2 * e3 + 1] = 5, C[2 * e3] = j(e3, 5); + O = new D(z, w, u + 1, l, g), B = new D(C, k, 0, f, g), R = new D(new Array(0), x, 0, c, p); + }(), q = true), e2.l_desc = new F(e2.dyn_ltree, O), e2.d_desc = new F(e2.dyn_dtree, B), e2.bl_desc = new F(e2.bl_tree, R), e2.bi_buf = 0, e2.bi_valid = 0, W(e2); + }, r._tr_stored_block = J, r._tr_flush_block = function(e2, t2, r2, n2) { + var i2, s2, a2 = 0; + 0 < e2.level ? (2 === e2.strm.data_type && (e2.strm.data_type = function(e3) { + var t3, r3 = 4093624447; + for (t3 = 0; t3 <= 31; t3++, r3 >>>= 1) + if (1 & r3 && 0 !== e3.dyn_ltree[2 * t3]) + return o; + if (0 !== e3.dyn_ltree[18] || 0 !== e3.dyn_ltree[20] || 0 !== e3.dyn_ltree[26]) + return h; + for (t3 = 32; t3 < u; t3++) + if (0 !== e3.dyn_ltree[2 * t3]) + return h; + return o; + }(e2)), Y(e2, e2.l_desc), Y(e2, e2.d_desc), a2 = function(e3) { + var t3; + for (X(e3, e3.dyn_ltree, e3.l_desc.max_code), X(e3, e3.dyn_dtree, e3.d_desc.max_code), Y(e3, e3.bl_desc), t3 = c - 1; 3 <= t3 && 0 === e3.bl_tree[2 * S[t3] + 1]; t3--) + ; + return e3.opt_len += 3 * (t3 + 1) + 5 + 5 + 4, t3; + }(e2), i2 = e2.opt_len + 3 + 7 >>> 3, (s2 = e2.static_len + 3 + 7 >>> 3) <= i2 && (i2 = s2)) : i2 = s2 = r2 + 5, r2 + 4 <= i2 && -1 !== t2 ? J(e2, t2, r2, n2) : 4 === e2.strategy || s2 === i2 ? (P(e2, 2 + (n2 ? 1 : 0), 3), K(e2, z, C)) : (P(e2, 4 + (n2 ? 1 : 0), 3), function(e3, t3, r3, n3) { + var i3; + for (P(e3, t3 - 257, 5), P(e3, r3 - 1, 5), P(e3, n3 - 4, 4), i3 = 0; i3 < n3; i3++) + P(e3, e3.bl_tree[2 * S[i3] + 1], 3); + V(e3, e3.dyn_ltree, t3 - 1), V(e3, e3.dyn_dtree, r3 - 1); + }(e2, e2.l_desc.max_code + 1, e2.d_desc.max_code + 1, a2 + 1), K(e2, e2.dyn_ltree, e2.dyn_dtree)), W(e2), n2 && M(e2); + }, r._tr_tally = function(e2, t2, r2) { + return e2.pending_buf[e2.d_buf + 2 * e2.last_lit] = t2 >>> 8 & 255, e2.pending_buf[e2.d_buf + 2 * e2.last_lit + 1] = 255 & t2, e2.pending_buf[e2.l_buf + e2.last_lit] = 255 & r2, e2.last_lit++, 0 === t2 ? e2.dyn_ltree[2 * r2]++ : (e2.matches++, t2--, e2.dyn_ltree[2 * (A[r2] + u + 1)]++, e2.dyn_dtree[2 * N(t2)]++), e2.last_lit === e2.lit_bufsize - 1; + }, r._tr_align = function(e2) { + P(e2, 2, 3), L(e2, m, z), function(e3) { + 16 === e3.bi_valid ? (U(e3, e3.bi_buf), e3.bi_buf = 0, e3.bi_valid = 0) : 8 <= e3.bi_valid && (e3.pending_buf[e3.pending++] = 255 & e3.bi_buf, e3.bi_buf >>= 8, e3.bi_valid -= 8); + }(e2); + }; + }, { "../utils/common": 41 }], 53: [function(e, t, r) { + "use strict"; + t.exports = function() { + this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0; + }; + }, {}], 54: [function(e, t, r) { + (function(e2) { + !function(r2, n) { + "use strict"; + if (!r2.setImmediate) { + var i, s, t2, a, o = 1, h = {}, u = false, l = r2.document, e3 = Object.getPrototypeOf && Object.getPrototypeOf(r2); + e3 = e3 && e3.setTimeout ? e3 : r2, i = "[object process]" === {}.toString.call(r2.process) ? function(e4) { + process.nextTick(function() { + c(e4); + }); + } : function() { + if (r2.postMessage && !r2.importScripts) { + var e4 = true, t3 = r2.onmessage; + return r2.onmessage = function() { + e4 = false; + }, r2.postMessage("", "*"), r2.onmessage = t3, e4; + } + }() ? (a = "setImmediate$" + Math.random() + "$", r2.addEventListener ? r2.addEventListener("message", d, false) : r2.attachEvent("onmessage", d), function(e4) { + r2.postMessage(a + e4, "*"); + }) : r2.MessageChannel ? ((t2 = new MessageChannel()).port1.onmessage = function(e4) { + c(e4.data); + }, function(e4) { + t2.port2.postMessage(e4); + }) : l && "onreadystatechange" in l.createElement("script") ? (s = l.documentElement, function(e4) { + var t3 = l.createElement("script"); + t3.onreadystatechange = function() { + c(e4), t3.onreadystatechange = null, s.removeChild(t3), t3 = null; + }, s.appendChild(t3); + }) : function(e4) { + setTimeout(c, 0, e4); + }, e3.setImmediate = function(e4) { + "function" != typeof e4 && (e4 = new Function("" + e4)); + for (var t3 = new Array(arguments.length - 1), r3 = 0; r3 < t3.length; r3++) + t3[r3] = arguments[r3 + 1]; + var n2 = { callback: e4, args: t3 }; + return h[o] = n2, i(o), o++; + }, e3.clearImmediate = f; + } + function f(e4) { + delete h[e4]; + } + function c(e4) { + if (u) + setTimeout(c, 0, e4); + else { + var t3 = h[e4]; + if (t3) { + u = true; + try { + !function(e5) { + var t4 = e5.callback, r3 = e5.args; + switch (r3.length) { + case 0: + t4(); + break; + case 1: + t4(r3[0]); + break; + case 2: + t4(r3[0], r3[1]); + break; + case 3: + t4(r3[0], r3[1], r3[2]); + break; + default: + t4.apply(n, r3); + } + }(t3); + } finally { + f(e4), u = false; + } + } + } + } + function d(e4) { + e4.source === r2 && "string" == typeof e4.data && 0 === e4.data.indexOf(a) && c(+e4.data.slice(a.length)); + } + }("undefined" == typeof self ? void 0 === e2 ? this : e2 : self); + }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}); + }, {}] }, {}, [10])(10); + }); + } +}); +export default require_jszip_min(); +/*! Bundled license information: + +jszip/dist/jszip.min.js: + (*! + + JSZip v3.10.1 - A JavaScript class for generating and reading zip files + + + (c) 2009-2016 Stuart Knightley + Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown. + + JSZip uses the library pako released under the MIT license : + https://github.com/nodeca/pako/blob/main/LICENSE + *) +*/ +//# sourceMappingURL=jszip.js.map diff --git a/unpackage/dist/cache/.vite/deps/jszip.js.map b/unpackage/dist/cache/.vite/deps/jszip.js.map new file mode 100644 index 0000000..653e02f --- /dev/null +++ b/unpackage/dist/cache/.vite/deps/jszip.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../../../../node_modules/jszip/dist/jszip.min.js"], + "sourcesContent": ["/*!\n\nJSZip v3.10.1 - A JavaScript class for generating and reading zip files\n\n\n(c) 2009-2016 Stuart Knightley \nDual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.\n\nJSZip uses the library pako released under the MIT license :\nhttps://github.com/nodeca/pako/blob/main/LICENSE\n*/\n\n!function(e){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).JSZip=e()}}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t=\"function\"==typeof require&&require;if(!e&&t)return t(r,!0);if(l)return l(r,!0);var n=new Error(\"Cannot find module '\"+r+\"'\");throw n.code=\"MODULE_NOT_FOUND\",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h)}return o[r].exports}for(var l=\"function\"==typeof require&&require,e=0;e>2,s=(3&t)<<4|r>>4,a=1>6:64,o=2>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l}},{\"./support\":30,\"./utils\":32}],2:[function(e,t,r){\"use strict\";var n=e(\"./external\"),i=e(\"./stream/DataWorker\"),s=e(\"./stream/Crc32Probe\"),a=e(\"./stream/DataLengthProbe\");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a(\"data_length\")),t=this;return e.on(\"end\",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error(\"Bug : uncompressed data size mismatch\")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo(\"compressedSize\",this.compressedSize).withStreamInfo(\"uncompressedSize\",this.uncompressedSize).withStreamInfo(\"crc32\",this.crc32).withStreamInfo(\"compression\",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a(\"uncompressedSize\")).pipe(t.compressWorker(r)).pipe(new a(\"compressedSize\")).withStreamInfo(\"compression\",t)},t.exports=o},{\"./external\":6,\"./stream/Crc32Probe\":25,\"./stream/DataLengthProbe\":26,\"./stream/DataWorker\":27}],3:[function(e,t,r){\"use strict\";var n=e(\"./stream/GenericWorker\");r.STORE={magic:\"\\0\\0\",compressWorker:function(){return new n(\"STORE compression\")},uncompressWorker:function(){return new n(\"STORE decompression\")}},r.DEFLATE=e(\"./flate\")},{\"./flate\":7,\"./stream/GenericWorker\":28}],4:[function(e,t,r){\"use strict\";var n=e(\"./utils\");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?\"string\"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a>>8^i[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a>>8^i[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{\"./utils\":32}],5:[function(e,t,r){\"use strict\";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){\"use strict\";var n=null;n=\"undefined\"!=typeof Promise?Promise:e(\"lie\"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){\"use strict\";var n=\"undefined\"!=typeof Uint8Array&&\"undefined\"!=typeof Uint16Array&&\"undefined\"!=typeof Uint32Array,i=e(\"pako\"),s=e(\"./utils\"),a=e(\"./stream/GenericWorker\"),o=n?\"uint8array\":\"array\";function h(e,t){a.call(this,\"FlateWorker/\"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}r.magic=\"\\b\\0\",s.inherits(h,a),h.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,e.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta})}},r.compressWorker=function(e){return new h(\"Deflate\",e)},r.uncompressWorker=function(){return new h(\"Inflate\",{})}},{\"./stream/GenericWorker\":28,\"./utils\":32,pako:38}],8:[function(e,t,r){\"use strict\";function A(e,t){var r,n=\"\";for(r=0;r>>=8;return n}function n(e,t,r,n,i,s){var a,o,h=e.file,u=e.compression,l=s!==O.utf8encode,f=I.transformTo(\"string\",s(h.name)),c=I.transformTo(\"string\",O.utf8encode(h.name)),d=h.comment,p=I.transformTo(\"string\",s(d)),m=I.transformTo(\"string\",O.utf8encode(d)),_=c.length!==h.name.length,g=m.length!==d.length,b=\"\",v=\"\",y=\"\",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(x.crc32=e.crc32,x.compressedSize=e.compressedSize,x.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),\"UNIX\"===i?(C=798,z|=function(e,t){var r=e;return e||(r=t?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(e){return 63&(e||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+c,b+=\"up\"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+=\"uc\"+A(y.length,2)+y);var E=\"\";return E+=\"\\n\\0\",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+\"\\0\\0\\0\\0\"+A(z,4)+A(n,4)+f+b+p}}var I=e(\"../utils\"),i=e(\"../stream/GenericWorker\"),O=e(\"../utf8\"),B=e(\"../crc32\"),R=e(\"../signature\");function s(e,t,r,n){i.call(this,\"ZipFileWorker\"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,i),s.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}))},s.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=n(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,r=n(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),t)this.push({data:function(e){return R.DATA_DESCRIPTOR+A(e.crc32,4)+A(e.compressedSize,4)+A(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo(\"string\",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{\"../utils\":32}],19:[function(e,t,r){\"use strict\";var n=e(\"./Uint8ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./Uint8ArrayReader\":21}],20:[function(e,t,r){\"use strict\";var n=e(\"./DataReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./DataReader\":18}],21:[function(e,t,r){\"use strict\";var n=e(\"./ArrayReader\");function i(e){n.call(this,e)}e(\"../utils\").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{\"../utils\":32,\"./ArrayReader\":17}],22:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"../support\"),s=e(\"./ArrayReader\"),a=e(\"./StringReader\"),o=e(\"./NodeBufferReader\"),h=e(\"./Uint8ArrayReader\");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),\"string\"!==t||i.uint8array?\"nodebuffer\"===t?new o(e):i.uint8array?new h(n.transformTo(\"uint8array\",e)):new s(n.transformTo(\"array\",e)):new a(e)}},{\"../support\":30,\"../utils\":32,\"./ArrayReader\":17,\"./NodeBufferReader\":19,\"./StringReader\":20,\"./Uint8ArrayReader\":21}],23:[function(e,t,r){\"use strict\";r.LOCAL_FILE_HEADER=\"PK\u0003\u0004\",r.CENTRAL_FILE_HEADER=\"PK\u0001\u0002\",r.CENTRAL_DIRECTORY_END=\"PK\u0005\u0006\",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR=\"PK\u0006\u0007\",r.ZIP64_CENTRAL_DIRECTORY_END=\"PK\u0006\u0006\",r.DATA_DESCRIPTOR=\"PK\u0007\\b\"},{}],24:[function(e,t,r){\"use strict\";var n=e(\"./GenericWorker\"),i=e(\"../utils\");function s(e){n.call(this,\"ConvertWorker to \"+e),this.destType=e}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],25:[function(e,t,r){\"use strict\";var n=e(\"./GenericWorker\"),i=e(\"../crc32\");function s(){n.call(this,\"Crc32Probe\"),this.withStreamInfo(\"crc32\",0)}e(\"../utils\").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=s},{\"../crc32\":4,\"../utils\":32,\"./GenericWorker\":28}],26:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataLengthProbe for \"+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],27:[function(e,t,r){\"use strict\";var n=e(\"../utils\"),i=e(\"./GenericWorker\");function s(e){i.call(this,\"DataWorker\");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type=\"\",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case\"string\":e=this.data.substring(this.index,t);break;case\"uint8array\":e=this.data.subarray(this.index,t);break;case\"array\":case\"nodebuffer\":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s},{\"../utils\":32,\"./GenericWorker\":28}],28:[function(e,t,r){\"use strict\";function n(e){this.name=e||\"default\",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(e){this.emit(\"data\",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit(\"end\"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit(\"error\",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit(\"error\",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var r=0;r \"+e:e}},t.exports=n},{}],29:[function(e,t,r){\"use strict\";var h=e(\"../utils\"),i=e(\"./ConvertWorker\"),s=e(\"./GenericWorker\"),u=e(\"../base64\"),n=e(\"../support\"),a=e(\"../external\"),o=null;if(n.nodestream)try{o=e(\"../nodejs/NodejsStreamOutputAdapter\")}catch(e){}function l(e,o){return new a.Promise(function(t,r){var n=[],i=e._internalType,s=e._outputType,a=e._mimeType;e.on(\"data\",function(e,t){n.push(e),o&&o(t)}).on(\"error\",function(e){n=[],r(e)}).on(\"end\",function(){try{var e=function(e,t,r){switch(e){case\"blob\":return h.newBlob(h.transformTo(\"arraybuffer\",t),r);case\"base64\":return u.encode(t);default:return h.transformTo(e,t)}}(s,function(e,t){var r,n=0,i=null,s=0;for(r=0;r>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},s.utf8decode=function(e){return h.nodebuffer?o.transformTo(\"nodebuffer\",e).toString(\"utf-8\"):function(e){var t,r,n,i,s=e.length,a=new Array(2*s);for(t=r=0;t>10&1023,a[r++]=56320|1023&n)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(e=o.transformTo(h.uint8array?\"uint8array\":\"array\",e))},o.inherits(a,n),a.prototype.processChunk=function(e){var t=o.transformTo(h.uint8array?\"uint8array\":\"array\",e.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=t;(t=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),t.set(r,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var n=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}(t),i=t;n!==t.length&&(h.uint8array?(i=t.subarray(0,n),this.leftOver=t.subarray(n,t.length)):(i=t.slice(0,n),this.leftOver=t.slice(n,t.length))),this.push({data:s.utf8decode(i),meta:e.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,n),l.prototype.processChunk=function(e){this.push({data:s.utf8encode(e.data),meta:e.meta})},s.Utf8EncodeWorker=l},{\"./nodejsUtils\":14,\"./stream/GenericWorker\":28,\"./support\":30,\"./utils\":32}],32:[function(e,t,a){\"use strict\";var o=e(\"./support\"),h=e(\"./base64\"),r=e(\"./nodejsUtils\"),u=e(\"./external\");function n(e){return e}function l(e,t){for(var r=0;r>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||\"/\"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=n(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return l(e,e.length)},r.binstring2buf=function(e){for(var t=new h.Buf8(e.length),r=0,n=t.length;r>10&1023,o[n++]=56320|1023&i)}return l(o,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}},{\"./common\":41}],43:[function(e,t,r){\"use strict\";t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a>>8^i[255&(e^t[a])];return-1^e}},{}],46:[function(e,t,r){\"use strict\";var h,c=e(\"../utils/common\"),u=e(\"./trees\"),d=e(\"./adler32\"),p=e(\"./crc32\"),n=e(\"./messages\"),l=0,f=4,m=0,_=-2,g=-1,b=4,i=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(e,t){return e.msg=n[t],t}function T(e){return(e<<1)-(4e.avail_out&&(r=e.avail_out),0!==r&&(c.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function N(e,t){u._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,F(e.strm)}function U(e,t){e.pending_buf[e.pending++]=t}function P(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function L(e,t){var r,n,i=e.max_chain_length,s=e.strstart,a=e.prev_length,o=e.nice_match,h=e.strstart>e.w_size-z?e.strstart-(e.w_size-z):0,u=e.window,l=e.w_mask,f=e.prev,c=e.strstart+S,d=u[s+a-1],p=u[s+a];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(r=t)+a]===p&&u[r+a-1]===d&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&sh&&0!=--i);return a<=e.lookahead?a:e.lookahead}function j(e){var t,r,n,i,s,a,o,h,u,l,f=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-z)){for(c.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=r=e.hash_size;n=e.head[--t],e.head[t]=f<=n?n-f:0,--r;);for(t=r=f;n=e.prev[--t],e.prev[t]=f<=n?n-f:0,--r;);i+=f}if(0===e.strm.avail_in)break;if(a=e.strm,o=e.window,h=e.strstart+e.lookahead,u=i,l=void 0,l=a.avail_in,u=x)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<=x&&(e.ins_h=(e.ins_h<=x)if(n=u._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<=x&&(e.ins_h=(e.ins_h<=x&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-x,n=u._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(j(e),0===e.lookahead&&t===l)return A;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,N(e,!1),0===e.strm.avail_out))return A;if(e.strstart-e.block_start>=e.w_size-z&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):(e.strstart>e.block_start&&(N(e,!1),e.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(e,t){return Y(e,t,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?_:(e.state.gzhead=t,m):_},r.deflate=function(e,t){var r,n,i,s;if(!e||!e.state||5>8&255),U(n,n.gzhead.time>>16&255),U(n,n.gzhead.time>>24&255),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(U(n,255&n.gzhead.extra.length),U(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=p(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(U(n,0),U(n,0),U(n,0),U(n,0),U(n,0),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,3),n.status=E);else{var a=v+(n.w_bits-8<<4)<<8;a|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=32),a+=31-a%31,n.status=E,P(n,a),0!==n.strstart&&(P(n,e.adler>>>16),P(n,65535&e.adler)),e.adler=1}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending!==n.pending_buf_size));)U(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindexi&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindexi&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&F(e),n.pending+2<=n.pending_buf_size&&(U(n,255&e.adler),U(n,e.adler>>8&255),e.adler=0,n.status=E)):n.status=E),0!==n.pending){if(F(e),0===e.avail_out)return n.last_flush=-1,m}else if(0===e.avail_in&&T(t)<=T(r)&&t!==f)return R(e,-5);if(666===n.status&&0!==e.avail_in)return R(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==l&&666!==n.status){var o=2===n.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(j(e),0===e.lookahead)){if(t===l)return A;break}if(e.match_length=0,r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):3===n.strategy?function(e,t){for(var r,n,i,s,a=e.window;;){if(e.lookahead<=S){if(j(e),e.lookahead<=S&&t===l)return A;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&0e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=x?(r=u._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):h[n.level].func(n,t);if(o!==O&&o!==B||(n.status=666),o===A||o===O)return 0===e.avail_out&&(n.last_flush=-1),m;if(o===I&&(1===t?u._tr_align(n):5!==t&&(u._tr_stored_block(n,0,0,!1),3===t&&(D(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),F(e),0===e.avail_out))return n.last_flush=-1,m}return t!==f?m:n.wrap<=0?1:(2===n.wrap?(U(n,255&e.adler),U(n,e.adler>>8&255),U(n,e.adler>>16&255),U(n,e.adler>>24&255),U(n,255&e.total_in),U(n,e.total_in>>8&255),U(n,e.total_in>>16&255),U(n,e.total_in>>24&255)):(P(n,e.adler>>>16),P(n,65535&e.adler)),F(e),0=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new c.Buf8(r.w_size),c.arraySet(u,t,l-r.w_size,r.w_size,0),t=u,l=r.w_size),a=e.avail_in,o=e.next_in,h=e.input,e.avail_in=l,e.next_in=0,e.input=t,j(r);r.lookahead>=x;){for(n=r.strstart,i=r.lookahead-(x-1);r.ins_h=(r.ins_h<>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(d&(1<>>=y,p-=y),p<15&&(d+=z[n++]<>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(d&(1<>>=y,p-=y,(y=s-a)>3,d&=(1<<(p-=w<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg=\"\",t.wrap&&(e.adler=1&t.wrap),t.mode=P,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new I.Buf32(n),t.distcode=t.distdyn=new I.Buf32(i),t.sane=1,t.back=-1,N):U}function o(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,a(e)):U}function h(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15=s.wsize?(I.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),I.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(I.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg=\"incorrect header check\",r.mode=30;break}if(8!=(15&u)){e.msg=\"unknown compression method\",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg=\"invalid window size\",r.mode=30;break}r.dmax=1<>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(d=r.length)&&(d=o),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,n,s,d,k)),512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&d>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break e;o--,u+=n[s++]<>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;u>>>=2,l-=2;break e;case 2:r.mode=17;break;case 3:e.msg=\"invalid block type\",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break e;o--,u+=n[s++]<>>16^65535)){e.msg=\"invalid stored block lengths\",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(d=r.length){if(o>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid code lengths set\",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l>>=_,l-=_,0===r.have){e.msg=\"invalid bit length repeat\",r.mode=30;break}k=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l>>=_)),u>>>=3,l-=3}else{for(z=_+7;l>>=_)),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){e.msg=\"invalid bit length repeat\",r.mode=30;break}for(;d--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){e.msg=\"invalid code -- missing end-of-block\",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid literal/lengths set\",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg=\"invalid distances set\",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=o&&258<=h){e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,R(e,c),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){e.msg=\"invalid literal/length code\",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){e.msg=\"invalid distance code\",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg=\"invalid distance too far back\",r.mode=30;break}r.mode=25;case 25:if(0===h)break e;if(d=c-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg=\"invalid distance too far back\",r.mode=30;break}p=d>r.wnext?(d-=r.wnext,r.wsize-d):r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=i,p=a-r.offset,d=r.length;for(hd?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=t[r+a[v]]}if(k>>7)]}function U(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function P(e,t,r){e.bi_valid>d-r?(e.bi_buf|=t<>d-e.bi_valid,e.bi_valid+=r-d):(e.bi_buf|=t<>>=1,r<<=1,0<--t;);return r>>>1}function Z(e,t,r){var n,i,s=new Array(g+1),a=0;for(n=1;n<=g;n++)s[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=j(s[o]++,o))}}function W(e){var t;for(t=0;t>1;1<=r;r--)G(e,s,r);for(i=h;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],G(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,G(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,a,o,h=t.dyn_tree,u=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,c=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=g;s++)e.bl_count[s]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<_;r++)p<(s=h[2*h[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),h[2*n+1]=s,u>=7;n>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return o;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return h;for(t=32;t>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?J(e,t,r,n):4===e.strategy||s===i?(P(e,2+(n?1:0),3),K(e,z,C)):(P(e,4+(n?1:0),3),function(e,t,r,n){var i;for(P(e,t-257,5),P(e,r-1,5),P(e,n-4,4),i=0;i>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(A[r]+u+1)]++,e.dyn_dtree[2*N(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){P(e,2,3),L(e,m,z),function(e){16===e.bi_valid?(U(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{\"../utils/common\":41}],53:[function(e,t,r){\"use strict\";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,r){(function(e){!function(r,n){\"use strict\";if(!r.setImmediate){var i,s,t,a,o=1,h={},u=!1,l=r.document,e=Object.getPrototypeOf&&Object.getPrototypeOf(r);e=e&&e.setTimeout?e:r,i=\"[object process]\"==={}.toString.call(r.process)?function(e){process.nextTick(function(){c(e)})}:function(){if(r.postMessage&&!r.importScripts){var e=!0,t=r.onmessage;return r.onmessage=function(){e=!1},r.postMessage(\"\",\"*\"),r.onmessage=t,e}}()?(a=\"setImmediate$\"+Math.random()+\"$\",r.addEventListener?r.addEventListener(\"message\",d,!1):r.attachEvent(\"onmessage\",d),function(e){r.postMessage(a+e,\"*\")}):r.MessageChannel?((t=new MessageChannel).port1.onmessage=function(e){c(e.data)},function(e){t.port2.postMessage(e)}):l&&\"onreadystatechange\"in l.createElement(\"script\")?(s=l.documentElement,function(e){var t=l.createElement(\"script\");t.onreadystatechange=function(){c(e),t.onreadystatechange=null,s.removeChild(t),t=null},s.appendChild(t)}):function(e){setTimeout(c,0,e)},e.setImmediate=function(e){\"function\"!=typeof e&&(e=new Function(\"\"+e));for(var t=new Array(arguments.length-1),r=0;r null }; -function E(l3) { - let e = []; - return (t) => { - let n = Math.max(0, Math.min(3, t - 1)), s = e[n]; - return s || (s = l3(n), e[n] = s), s; - }; -} -function d(l3, e = "") { - let t = typeof l3 == "string" ? l3 : l3.source, n = { replace: (s, r) => { - let i = typeof r == "string" ? r : r.source; - return i = i.replace(m.caret, "$1"), t = t.replace(s, i), n; - }, getRegex: () => new RegExp(t, e) }; - return n; -} -var Te = ((l3 = "") => { - try { - return !!new RegExp("(?<=1)(?/, blockquoteSetextReplace: /\n {0,3}((?:=+|-+) *)(?=\n|$)/g, blockquoteSetextReplace2: /^ {0,3}>[ \t]?/gm, listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g, listIsTask: /^\[[ xX]\] +\S/, listReplaceTask: /^\[[ xX]\] +/, listTaskCheckbox: /\[[ xX]\]/, anyLine: /\n.*\n/, hrefBrackets: /^<(.*)>$/, tableDelimiter: /[:|]/, tableAlignChars: /^\||\| *$/g, tableRowBlankLine: /\n[ \t]*$/, tableAlignRight: /^ *-+: *$/, tableAlignCenter: /^ *:-+: *$/, tableAlignLeft: /^ *:-+ *$/, startATag: /^/i, startPreScriptTag: /^<(pre|code|kbd|script)(\s|>)/i, endPreScriptTag: /^<\/(pre|code|kbd|script)(\s|>)/i, startAngleBracket: /^$/, pedanticHrefTitle: /^([^'"]*[^\s])\s+(['"])(.*)\2/, unicodeAlphaNumeric: /[\p{L}\p{N}]/u, escapeTest: /[&<>"']/, escapeReplace: /[&<>"']/g, escapeTestNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/, escapeReplaceNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g, caret: /(^|[^\[])\^/g, percentDecode: /%25/g, findPipe: /\|/g, splitPipe: / \|/, slashPipe: /\\\|/g, carriageReturn: /\r\n|\r/g, spaceLine: /^ +$/gm, notSpaceStart: /^\S*/, endingNewline: /\n$/, listItemRegex: (l3) => new RegExp(`^( {0,3}${l3})((?:[ ][^\\n]*)?(?:\\n|$))`), nextBulletRegex: E((l3) => new RegExp(`^ {0,${l3}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)), hrRegex: E((l3) => new RegExp(`^ {0,${l3}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)), fencesBeginRegex: E((l3) => new RegExp(`^ {0,${l3}}(?:\`\`\`|~~~)`)), headingBeginRegex: E((l3) => new RegExp(`^ {0,${l3}}#`)), htmlBeginRegex: E((l3) => new RegExp(`^ {0,${l3}}<(?:[a-z].*>|!--)`, "i")), blockquoteBeginRegex: E((l3) => new RegExp(`^ {0,${l3}}>`)) }; -var Oe = /^(?:[ \t]*(?:\n|$))+/; -var we = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/; -var ye = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/; -var B = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/; -var Pe = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/; -var j = / {0,3}(?:[*+-]|\d{1,9}[.)])/; -var oe = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/; -var ae = d(oe).replace(/bull/g, j).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex(); -var Se = d(oe).replace(/bull/g, j).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(); -var F = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/; -var $e = /^[^\n]+/; -var U = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/; -var Le = d(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", U).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(); -var _e = d(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, j).getRegex(); -var H = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul"; -var K = /|$))/; -var ze = d("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", K).replace("tag", H).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(); -var le = d(F).replace("hr", B).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", ")|<(?:script|pre|style|textarea|!--)").replace("tag", H).getRegex(); -var Me = d(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", le).getRegex(); -var W = { blockquote: Me, code: we, def: Le, fences: ye, heading: Pe, hr: B, html: ze, lheading: ae, list: _e, newline: Oe, paragraph: le, table: _, text: $e }; -var se = d("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", B).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", ")|<(?:script|pre|style|textarea|!--)").replace("tag", H).getRegex(); -var Ee = { ...W, lheading: Se, table: se, paragraph: d(F).replace("hr", B).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", se).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", ")|<(?:script|pre|style|textarea|!--)").replace("tag", H).getRegex() }; -var Ie = { ...W, html: d(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment", K).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(), def: /^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, heading: /^(#{1,6})(.*)(?:\n+|$)/, fences: _, lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/, paragraph: d(F).replace("hr", B).replace("heading", ` *#{1,6} *[^ -]`).replace("lheading", ae).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex() }; -var Ae = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/; -var Ce = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/; -var ue = /^( {2,}|\\)\n(?!\s*$)/; -var Be = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`+)[^`]+\k(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", Te ? "(?`+)[^`]+\k(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex(); -var ce = /^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/; -var Ze = d(ce, "u").replace(/punct/g, I).getRegex(); -var Ge = d(ce, "u").replace(/punct/g, pe).getRegex(); -var he = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)"; -var Ne = d(he, "gu").replace(/notPunctSpace/g, X).replace(/punctSpace/g, Z).replace(/punct/g, I).getRegex(); -var Qe = d(he, "gu").replace(/notPunctSpace/g, ve).replace(/punctSpace/g, qe).replace(/punct/g, pe).getRegex(); -var je = d("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, X).replace(/punctSpace/g, Z).replace(/punct/g, I).getRegex(); -var Fe = d(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, I).getRegex(); -var Ue = "^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)"; -var Ke = d(Ue, "gu").replace(/notPunctSpace/g, X).replace(/punctSpace/g, Z).replace(/punct/g, I).getRegex(); -var We = d(/\\(punct)/, "gu").replace(/punct/g, I).getRegex(); -var Xe = d(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(); -var Je = d(K).replace("(?:-->|$)", "-->").getRegex(); -var Ve = d("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment", Je).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(); -var v = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/; -var Ye = d(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label", v).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(); -var ke = d(/^!?\[(label)\]\[(ref)\]/).replace("label", v).replace("ref", U).getRegex(); -var de = d(/^!?\[(ref)\](?:\[\])?/).replace("ref", U).getRegex(); -var et = d("reflink|nolink(?!\\()", "g").replace("reflink", ke).replace("nolink", de).getRegex(); -var ie = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/; -var J = { _backpedal: _, anyPunctuation: We, autolink: Xe, blockSkip: He, br: ue, code: Ce, del: _, delLDelim: _, delRDelim: _, emStrongLDelim: Ze, emStrongRDelimAst: Ne, emStrongRDelimUnd: je, escape: Ae, link: Ye, nolink: de, punctuation: De, reflink: ke, reflinkSearch: et, tag: Ve, text: Be, url: _ }; -var tt = { ...J, link: d(/^!?\[(label)\]\((.*?)\)/).replace("label", v).getRegex(), reflink: d(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", v).getRegex() }; -var Q = { ...J, emStrongRDelimAst: Qe, emStrongLDelim: Ge, delLDelim: Fe, delRDelim: Ke, url: d(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", ie).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(), _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/, del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/, text: d(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\": ">", '"': """, "'": "'" }; -var ge = (l3) => rt[l3]; -function O(l3, e) { - if (e) { - if (m.escapeTest.test(l3)) - return l3.replace(m.escapeReplace, ge); - } else if (m.escapeTestNoEncode.test(l3)) - return l3.replace(m.escapeReplaceNoEncode, ge); - return l3; -} -function V(l3) { - try { - l3 = encodeURI(l3).replace(m.percentDecode, "%"); - } catch { - return null; - } - return l3; -} -function Y(l3, e) { - var _a2; - let t = l3.replace(m.findPipe, (r, i, o) => { - let u = false, a = i; - for (; --a >= 0 && o[a] === "\\"; ) - u = !u; - return u ? "|" : " |"; - }), n = t.split(m.splitPipe), s = 0; - if (n[0].trim() || n.shift(), n.length > 0 && !((_a2 = n.at(-1)) == null ? void 0 : _a2.trim()) && n.pop(), e) - if (n.length > e) - n.splice(e); - else - for (; n.length < e; ) - n.push(""); - for (; s < n.length; s++) - n[s] = n[s].trim().replace(m.slashPipe, "|"); - return n; -} -function $(l3, e, t) { - let n = l3.length; - if (n === 0) - return ""; - let s = 0; - for (; s < n; ) { - let r = l3.charAt(n - s - 1); - if (r === e && !t) - s++; - else if (r !== e && t) - s++; - else - break; - } - return l3.slice(0, n - s); -} -function ee(l3) { - let e = l3.split(` -`), t = e.length - 1; - for (; t >= 0 && m.blankLine.test(e[t]); ) - t--; - return e.length - t <= 2 ? l3 : e.slice(0, t + 1).join(` -`); -} -function fe(l3, e) { - if (l3.indexOf(e[1]) === -1) - return -1; - let t = 0; - for (let n = 0; n < l3.length; n++) - if (l3[n] === "\\") - n++; - else if (l3[n] === e[0]) - t++; - else if (l3[n] === e[1] && (t--, t < 0)) - return n; - return t > 0 ? -2 : -1; -} -function me(l3, e = 0) { - let t = e, n = ""; - for (let s of l3) - if (s === " ") { - let r = 4 - t % 4; - n += " ".repeat(r), t += r; - } else - n += s, t++; - return n; -} -function xe(l3, e, t, n, s) { - let r = e.href, i = e.title || null, o = l3[1].replace(s.other.outputLinkReplace, "$1"); - n.state.inLink = true; - let u = { type: l3[0].charAt(0) === "!" ? "image" : "link", raw: t, href: r, title: i, text: o, tokens: n.inlineTokens(o) }; - return n.state.inLink = false, u; -} -function st(l3, e, t) { - let n = l3.match(t.other.indentCodeCompensation); - if (n === null) - return e; - let s = n[1]; - return e.split(` -`).map((r) => { - let i = r.match(t.other.beginningSpace); - if (i === null) - return r; - let [o] = i; - return o.length >= s.length ? r.slice(s.length) : r; - }).join(` -`); -} -var w = class { - constructor(e) { - __publicField(this, "options"); - __publicField(this, "rules"); - __publicField(this, "lexer"); - this.options = e || T; - } - space(e) { - let t = this.rules.block.newline.exec(e); - if (t && t[0].length > 0) - return { type: "space", raw: t[0] }; - } - code(e) { - let t = this.rules.block.code.exec(e); - if (t) { - let n = this.options.pedantic ? t[0] : ee(t[0]), s = n.replace(this.rules.other.codeRemoveIndent, ""); - return { type: "code", raw: n, codeBlockStyle: "indented", text: s }; - } - } - fences(e) { - let t = this.rules.block.fences.exec(e); - if (t) { - let n = t[0], s = st(n, t[3] || "", this.rules); - return { type: "code", raw: n, lang: t[2] ? t[2].trim().replace(this.rules.inline.anyPunctuation, "$1") : t[2], text: s }; - } - } - heading(e) { - let t = this.rules.block.heading.exec(e); - if (t) { - let n = t[2].trim(); - if (this.rules.other.endingHash.test(n)) { - let s = $(n, "#"); - (this.options.pedantic || !s || this.rules.other.endingSpaceChar.test(s)) && (n = s.trim()); - } - return { type: "heading", raw: $(t[0], ` -`), depth: t[1].length, text: n, tokens: this.lexer.inline(n) }; - } - } - hr(e) { - let t = this.rules.block.hr.exec(e); - if (t) - return { type: "hr", raw: $(t[0], ` -`) }; - } - blockquote(e) { - let t = this.rules.block.blockquote.exec(e); - if (t) { - let n = $(t[0], ` -`).split(` -`), s = "", r = "", i = []; - for (; n.length > 0; ) { - let o = false, u = [], a; - for (a = 0; a < n.length; a++) - if (this.rules.other.blockquoteStart.test(n[a])) - u.push(n[a]), o = true; - else if (!o) - u.push(n[a]); - else - break; - n = n.slice(a); - let c = u.join(` -`), p = c.replace(this.rules.other.blockquoteSetextReplace, ` - $1`).replace(this.rules.other.blockquoteSetextReplace2, ""); - s = s ? `${s} -${c}` : c, r = r ? `${r} -${p}` : p; - let k = this.lexer.state.top; - if (this.lexer.state.top = true, this.lexer.blockTokens(p, i, true), this.lexer.state.top = k, n.length === 0) - break; - let h = i.at(-1); - if ((h == null ? void 0 : h.type) === "code") - break; - if ((h == null ? void 0 : h.type) === "blockquote") { - let R = h, f = R.raw + ` -` + n.join(` -`), S = this.blockquote(f); - i[i.length - 1] = S, s = s.substring(0, s.length - R.raw.length) + S.raw, r = r.substring(0, r.length - R.text.length) + S.text; - break; - } else if ((h == null ? void 0 : h.type) === "list") { - let R = h, f = R.raw + ` -` + n.join(` -`), S = this.list(f); - i[i.length - 1] = S, s = s.substring(0, s.length - h.raw.length) + S.raw, r = r.substring(0, r.length - R.raw.length) + S.raw, n = f.substring(i.at(-1).raw.length).split(` -`); - continue; - } - } - return { type: "blockquote", raw: s, tokens: i, text: r }; - } - } - list(e) { - let t = this.rules.block.list.exec(e); - if (t) { - let n = t[1].trim(), s = n.length > 1, r = { type: "list", raw: "", ordered: s, start: s ? +n.slice(0, -1) : "", loose: false, items: [] }; - n = s ? `\\d{1,9}\\${n.slice(-1)}` : `\\${n}`, this.options.pedantic && (n = s ? n : "[*+-]"); - let i = this.rules.other.listItemRegex(n), o = false; - for (; e; ) { - let a = false, c = "", p = ""; - if (!(t = i.exec(e)) || this.rules.block.hr.test(e)) - break; - c = t[0], e = e.substring(c.length); - let k = me(t[2].split(` -`, 1)[0], t[1].length), h = e.split(` -`, 1)[0], R = !k.trim(), f = 0; - if (this.options.pedantic ? (f = 2, p = k.trimStart()) : R ? f = t[1].length + 1 : (f = k.search(this.rules.other.nonSpaceChar), f = f > 4 ? 1 : f, p = k.slice(f), f += t[1].length), R && this.rules.other.blankLine.test(h) && (c += h + ` -`, e = e.substring(h.length + 1), a = true), !a) { - let S = this.rules.other.nextBulletRegex(f), te = this.rules.other.hrRegex(f), ne = this.rules.other.fencesBeginRegex(f), re = this.rules.other.headingBeginRegex(f), be = this.rules.other.htmlBeginRegex(f), Re = this.rules.other.blockquoteBeginRegex(f); - for (; e; ) { - let G = e.split(` -`, 1)[0], C; - if (h = G, this.options.pedantic ? (h = h.replace(this.rules.other.listReplaceNesting, " "), C = h) : C = h.replace(this.rules.other.tabCharGlobal, " "), ne.test(h) || re.test(h) || be.test(h) || Re.test(h) || S.test(h) || te.test(h)) - break; - if (C.search(this.rules.other.nonSpaceChar) >= f || !h.trim()) - p += ` -` + C.slice(f); - else { - if (R || k.replace(this.rules.other.tabCharGlobal, " ").search(this.rules.other.nonSpaceChar) >= 4 || ne.test(k) || re.test(k) || te.test(k)) - break; - p += ` -` + h; - } - R = !h.trim(), c += G + ` -`, e = e.substring(G.length + 1), k = C.slice(f); - } - } - r.loose || (o ? r.loose = true : this.rules.other.doubleBlankLine.test(c) && (o = true)), r.items.push({ type: "list_item", raw: c, task: !!this.options.gfm && this.rules.other.listIsTask.test(p), loose: false, text: p, tokens: [] }), r.raw += c; - } - let u = r.items.at(-1); - if (u) - u.raw = u.raw.trimEnd(), u.text = u.text.trimEnd(); - else - return; - r.raw = r.raw.trimEnd(); - for (let a of r.items) { - this.lexer.state.top = false, a.tokens = this.lexer.blockTokens(a.text, []); - let c = a.tokens[0]; - if (a.task && ((c == null ? void 0 : c.type) === "text" || (c == null ? void 0 : c.type) === "paragraph")) { - a.text = a.text.replace(this.rules.other.listReplaceTask, ""), c.raw = c.raw.replace(this.rules.other.listReplaceTask, ""), c.text = c.text.replace(this.rules.other.listReplaceTask, ""); - for (let k = this.lexer.inlineQueue.length - 1; k >= 0; k--) - if (this.rules.other.listIsTask.test(this.lexer.inlineQueue[k].src)) { - this.lexer.inlineQueue[k].src = this.lexer.inlineQueue[k].src.replace(this.rules.other.listReplaceTask, ""); - break; - } - let p = this.rules.other.listTaskCheckbox.exec(a.raw); - if (p) { - let k = { type: "checkbox", raw: p[0] + " ", checked: p[0] !== "[ ]" }; - a.checked = k.checked, r.loose ? a.tokens[0] && ["paragraph", "text"].includes(a.tokens[0].type) && "tokens" in a.tokens[0] && a.tokens[0].tokens ? (a.tokens[0].raw = k.raw + a.tokens[0].raw, a.tokens[0].text = k.raw + a.tokens[0].text, a.tokens[0].tokens.unshift(k)) : a.tokens.unshift({ type: "paragraph", raw: k.raw, text: k.raw, tokens: [k] }) : a.tokens.unshift(k); - } - } else - a.task && (a.task = false); - if (!r.loose) { - let p = a.tokens.filter((h) => h.type === "space"), k = p.length > 0 && p.some((h) => this.rules.other.anyLine.test(h.raw)); - r.loose = k; - } - } - if (r.loose) - for (let a of r.items) { - a.loose = true; - for (let c of a.tokens) - c.type === "text" && (c.type = "paragraph"); - } - return r; - } - } - html(e) { - let t = this.rules.block.html.exec(e); - if (t) { - let n = ee(t[0]); - return { type: "html", block: true, raw: n, pre: t[1] === "pre" || t[1] === "script" || t[1] === "style", text: n }; - } - } - def(e) { - let t = this.rules.block.def.exec(e); - if (t) { - let n = t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, " "), s = t[2] ? t[2].replace(this.rules.other.hrefBrackets, "$1").replace(this.rules.inline.anyPunctuation, "$1") : "", r = t[3] ? t[3].substring(1, t[3].length - 1).replace(this.rules.inline.anyPunctuation, "$1") : t[3]; - return { type: "def", tag: n, raw: $(t[0], ` -`), href: s, title: r }; - } - } - table(e) { - var _a2; - let t = this.rules.block.table.exec(e); - if (!t || !this.rules.other.tableDelimiter.test(t[2])) - return; - let n = Y(t[1]), s = t[2].replace(this.rules.other.tableAlignChars, "").split("|"), r = ((_a2 = t[3]) == null ? void 0 : _a2.trim()) ? t[3].replace(this.rules.other.tableRowBlankLine, "").split(` -`) : [], i = { type: "table", raw: $(t[0], ` -`), header: [], align: [], rows: [] }; - if (n.length === s.length) { - for (let o of s) - this.rules.other.tableAlignRight.test(o) ? i.align.push("right") : this.rules.other.tableAlignCenter.test(o) ? i.align.push("center") : this.rules.other.tableAlignLeft.test(o) ? i.align.push("left") : i.align.push(null); - for (let o = 0; o < n.length; o++) - i.header.push({ text: n[o], tokens: this.lexer.inline(n[o]), header: true, align: i.align[o] }); - for (let o of r) - i.rows.push(Y(o, i.header.length).map((u, a) => ({ text: u, tokens: this.lexer.inline(u), header: false, align: i.align[a] }))); - return i; - } - } - lheading(e) { - let t = this.rules.block.lheading.exec(e); - if (t) { - let n = t[1].trim(); - return { type: "heading", raw: $(t[0], ` -`), depth: t[2].charAt(0) === "=" ? 1 : 2, text: n, tokens: this.lexer.inline(n) }; - } - } - paragraph(e) { - let t = this.rules.block.paragraph.exec(e); - if (t) { - let n = t[1].charAt(t[1].length - 1) === ` -` ? t[1].slice(0, -1) : t[1]; - return { type: "paragraph", raw: t[0], text: n, tokens: this.lexer.inline(n) }; - } - } - text(e) { - let t = this.rules.block.text.exec(e); - if (t) - return { type: "text", raw: t[0], text: t[0], tokens: this.lexer.inline(t[0]) }; - } - escape(e) { - let t = this.rules.inline.escape.exec(e); - if (t) - return { type: "escape", raw: t[0], text: t[1] }; - } - tag(e) { - let t = this.rules.inline.tag.exec(e); - if (t) - return !this.lexer.state.inLink && this.rules.other.startATag.test(t[0]) ? this.lexer.state.inLink = true : this.lexer.state.inLink && this.rules.other.endATag.test(t[0]) && (this.lexer.state.inLink = false), !this.lexer.state.inRawBlock && this.rules.other.startPreScriptTag.test(t[0]) ? this.lexer.state.inRawBlock = true : this.lexer.state.inRawBlock && this.rules.other.endPreScriptTag.test(t[0]) && (this.lexer.state.inRawBlock = false), { type: "html", raw: t[0], inLink: this.lexer.state.inLink, inRawBlock: this.lexer.state.inRawBlock, block: false, text: t[0] }; - } - link(e) { - let t = this.rules.inline.link.exec(e); - if (t) { - let n = t[2].trim(); - if (!this.options.pedantic && this.rules.other.startAngleBracket.test(n)) { - if (!this.rules.other.endAngleBracket.test(n)) - return; - let i = $(n.slice(0, -1), "\\"); - if ((n.length - i.length) % 2 === 0) - return; - } else { - let i = fe(t[2], "()"); - if (i === -2) - return; - if (i > -1) { - let u = (t[0].indexOf("!") === 0 ? 5 : 4) + t[1].length + i; - t[2] = t[2].substring(0, i), t[0] = t[0].substring(0, u).trim(), t[3] = ""; - } - } - let s = t[2], r = ""; - if (this.options.pedantic) { - let i = this.rules.other.pedanticHrefTitle.exec(s); - i && (s = i[1], r = i[3]); - } else - r = t[3] ? t[3].slice(1, -1) : ""; - return s = s.trim(), this.rules.other.startAngleBracket.test(s) && (this.options.pedantic && !this.rules.other.endAngleBracket.test(n) ? s = s.slice(1) : s = s.slice(1, -1)), xe(t, { href: s && s.replace(this.rules.inline.anyPunctuation, "$1"), title: r && r.replace(this.rules.inline.anyPunctuation, "$1") }, t[0], this.lexer, this.rules); - } - } - reflink(e, t) { - let n; - if ((n = this.rules.inline.reflink.exec(e)) || (n = this.rules.inline.nolink.exec(e))) { - let s = (n[2] || n[1]).replace(this.rules.other.multipleSpaceGlobal, " "), r = t[s.toLowerCase()]; - if (!r) { - let i = n[0].charAt(0); - return { type: "text", raw: i, text: i }; - } - return xe(n, r, n[0], this.lexer, this.rules); - } - } - emStrong(e, t, n = "") { - let s = this.rules.inline.emStrongLDelim.exec(e); - if (!s || !s[1] && !s[2] && !s[3] && !s[4] || s[4] && n.match(this.rules.other.unicodeAlphaNumeric)) - return; - if (!(s[1] || s[3] || "") || !n || this.rules.inline.punctuation.exec(n)) { - let i = [...s[0]].length - 1, o, u, a = i, c = 0, p = s[0][0] === "*" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd; - for (p.lastIndex = 0, t = t.slice(-1 * e.length + i); (s = p.exec(t)) !== null; ) { - if (o = s[1] || s[2] || s[3] || s[4] || s[5] || s[6], !o) - continue; - if (u = [...o].length, s[3] || s[4]) { - a += u; - continue; - } else if ((s[5] || s[6]) && i % 3 && !((i + u) % 3)) { - c += u; - continue; - } - if (a -= u, a > 0) - continue; - u = Math.min(u, u + a + c); - let k = [...s[0]][0].length, h = e.slice(0, i + s.index + k + u); - if (Math.min(i, u) % 2) { - let f = h.slice(1, -1); - return { type: "em", raw: h, text: f, tokens: this.lexer.inlineTokens(f) }; - } - let R = h.slice(2, -2); - return { type: "strong", raw: h, text: R, tokens: this.lexer.inlineTokens(R) }; - } - } - } - codespan(e) { - let t = this.rules.inline.code.exec(e); - if (t) { - let n = t[2].replace(this.rules.other.newLineCharGlobal, " "), s = this.rules.other.nonSpaceChar.test(n), r = this.rules.other.startingSpaceChar.test(n) && this.rules.other.endingSpaceChar.test(n); - return s && r && (n = n.substring(1, n.length - 1)), { type: "codespan", raw: t[0], text: n }; - } - } - br(e) { - let t = this.rules.inline.br.exec(e); - if (t) - return { type: "br", raw: t[0] }; - } - del(e, t, n = "") { - let s = this.rules.inline.delLDelim.exec(e); - if (!s) - return; - if (!(s[1] || "") || !n || this.rules.inline.punctuation.exec(n)) { - let i = [...s[0]].length - 1, o, u, a = i, c = this.rules.inline.delRDelim; - for (c.lastIndex = 0, t = t.slice(-1 * e.length + i); (s = c.exec(t)) !== null; ) { - if (o = s[1] || s[2] || s[3] || s[4] || s[5] || s[6], !o || (u = [...o].length, u !== i)) - continue; - if (s[3] || s[4]) { - a += u; - continue; - } - if (a -= u, a > 0) - continue; - u = Math.min(u, u + a); - let p = [...s[0]][0].length, k = e.slice(0, i + s.index + p + u), h = k.slice(i, -i); - return { type: "del", raw: k, text: h, tokens: this.lexer.inlineTokens(h) }; - } - } - } - autolink(e) { - let t = this.rules.inline.autolink.exec(e); - if (t) { - let n, s; - return t[2] === "@" ? (n = t[1], s = "mailto:" + n) : (n = t[1], s = n), { type: "link", raw: t[0], text: n, href: s, tokens: [{ type: "text", raw: n, text: n }] }; - } - } - url(e) { - var _a2; - let t; - if (t = this.rules.inline.url.exec(e)) { - let n, s; - if (t[2] === "@") - n = t[0], s = "mailto:" + n; - else { - let r; - do - r = t[0], t[0] = ((_a2 = this.rules.inline._backpedal.exec(t[0])) == null ? void 0 : _a2[0]) ?? ""; - while (r !== t[0]); - n = t[0], t[1] === "www." ? s = "http://" + t[0] : s = t[0]; - } - return { type: "link", raw: t[0], text: n, href: s, tokens: [{ type: "text", raw: n, text: n }] }; - } - } - inlineText(e) { - let t = this.rules.inline.text.exec(e); - if (t) { - let n = this.lexer.state.inRawBlock; - return { type: "text", raw: t[0], text: t[0], escaped: n }; - } - } -}; -var x = class l { - constructor(e) { - __publicField(this, "tokens"); - __publicField(this, "options"); - __publicField(this, "state"); - __publicField(this, "inlineQueue"); - __publicField(this, "tokenizer"); - this.tokens = [], this.tokens.links = /* @__PURE__ */ Object.create(null), this.options = e || T, this.options.tokenizer = this.options.tokenizer || new w(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = { inLink: false, inRawBlock: false, top: true }; - let t = { other: m, block: D.normal, inline: A.normal }; - this.options.pedantic ? (t.block = D.pedantic, t.inline = A.pedantic) : this.options.gfm && (t.block = D.gfm, this.options.breaks ? t.inline = A.breaks : t.inline = A.gfm), this.tokenizer.rules = t; - } - static get rules() { - return { block: D, inline: A }; - } - static lex(e, t) { - return new l(t).lex(e); - } - static lexInline(e, t) { - return new l(t).inlineTokens(e); - } - lex(e) { - e = e.replace(m.carriageReturn, ` -`), this.blockTokens(e, this.tokens); - for (let t = 0; t < this.inlineQueue.length; t++) { - let n = this.inlineQueue[t]; - this.inlineTokens(n.src, n.tokens); - } - return this.inlineQueue = [], this.tokens; - } - blockTokens(e, t = [], n = false) { - var _a2, _b, _c; - this.tokenizer.lexer = this, this.options.pedantic && (e = e.replace(m.tabCharGlobal, " ").replace(m.spaceLine, "")); - let s = 1 / 0; - for (; e; ) { - if (e.length < s) - s = e.length; - else { - this.infiniteLoopError(e.charCodeAt(0)); - break; - } - let r; - if ((_b = (_a2 = this.options.extensions) == null ? void 0 : _a2.block) == null ? void 0 : _b.some((o) => (r = o.call({ lexer: this }, e, t)) ? (e = e.substring(r.raw.length), t.push(r), true) : false)) - continue; - if (r = this.tokenizer.space(e)) { - e = e.substring(r.raw.length); - let o = t.at(-1); - r.raw.length === 1 && o !== void 0 ? o.raw += ` -` : t.push(r); - continue; - } - if (r = this.tokenizer.code(e)) { - e = e.substring(r.raw.length); - let o = t.at(-1); - (o == null ? void 0 : o.type) === "paragraph" || (o == null ? void 0 : o.type) === "text" ? (o.raw += (o.raw.endsWith(` -`) ? "" : ` -`) + r.raw, o.text += ` -` + r.text, this.inlineQueue.at(-1).src = o.text) : t.push(r); - continue; - } - if (r = this.tokenizer.fences(e)) { - e = e.substring(r.raw.length), t.push(r); - continue; - } - if (r = this.tokenizer.heading(e)) { - e = e.substring(r.raw.length), t.push(r); - continue; - } - if (r = this.tokenizer.hr(e)) { - e = e.substring(r.raw.length), t.push(r); - continue; - } - if (r = this.tokenizer.blockquote(e)) { - e = e.substring(r.raw.length), t.push(r); - continue; - } - if (r = this.tokenizer.list(e)) { - e = e.substring(r.raw.length), t.push(r); - continue; - } - if (r = this.tokenizer.html(e)) { - e = e.substring(r.raw.length), t.push(r); - continue; - } - if (r = this.tokenizer.def(e)) { - e = e.substring(r.raw.length); - let o = t.at(-1); - (o == null ? void 0 : o.type) === "paragraph" || (o == null ? void 0 : o.type) === "text" ? (o.raw += (o.raw.endsWith(` -`) ? "" : ` -`) + r.raw, o.text += ` -` + r.raw, this.inlineQueue.at(-1).src = o.text) : this.tokens.links[r.tag] || (this.tokens.links[r.tag] = { href: r.href, title: r.title }, t.push(r)); - continue; - } - if (r = this.tokenizer.table(e)) { - e = e.substring(r.raw.length), t.push(r); - continue; - } - if (r = this.tokenizer.lheading(e)) { - e = e.substring(r.raw.length), t.push(r); - continue; - } - let i = e; - if ((_c = this.options.extensions) == null ? void 0 : _c.startBlock) { - let o = 1 / 0, u = e.slice(1), a; - this.options.extensions.startBlock.forEach((c) => { - a = c.call({ lexer: this }, u), typeof a == "number" && a >= 0 && (o = Math.min(o, a)); - }), o < 1 / 0 && o >= 0 && (i = e.substring(0, o + 1)); - } - if (this.state.top && (r = this.tokenizer.paragraph(i))) { - let o = t.at(-1); - n && (o == null ? void 0 : o.type) === "paragraph" ? (o.raw += (o.raw.endsWith(` -`) ? "" : ` -`) + r.raw, o.text += ` -` + r.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = o.text) : t.push(r), n = i.length !== e.length, e = e.substring(r.raw.length); - continue; - } - if (r = this.tokenizer.text(e)) { - e = e.substring(r.raw.length); - let o = t.at(-1); - (o == null ? void 0 : o.type) === "text" ? (o.raw += (o.raw.endsWith(` -`) ? "" : ` -`) + r.raw, o.text += ` -` + r.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = o.text) : t.push(r); - continue; - } - if (e) { - this.infiniteLoopError(e.charCodeAt(0)); - break; - } - } - return this.state.top = true, t; - } - inline(e, t = []) { - return this.inlineQueue.push({ src: e, tokens: t }), t; - } - inlineTokens(e, t = []) { - var _a2, _b, _c, _d, _e2; - this.tokenizer.lexer = this; - let n = e, s = null; - if (this.tokens.links) { - let a = Object.keys(this.tokens.links); - if (a.length > 0) - for (; (s = this.tokenizer.rules.inline.reflinkSearch.exec(n)) !== null; ) - a.includes(s[0].slice(s[0].lastIndexOf("[") + 1, -1)) && (n = n.slice(0, s.index) + "[" + "a".repeat(s[0].length - 2) + "]" + n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex)); - } - for (; (s = this.tokenizer.rules.inline.anyPunctuation.exec(n)) !== null; ) - n = n.slice(0, s.index) + "++" + n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex); - let r; - for (; (s = this.tokenizer.rules.inline.blockSkip.exec(n)) !== null; ) - r = s[2] ? s[2].length : 0, n = n.slice(0, s.index + r) + "[" + "a".repeat(s[0].length - r - 2) + "]" + n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex); - n = ((_b = (_a2 = this.options.hooks) == null ? void 0 : _a2.emStrongMask) == null ? void 0 : _b.call({ lexer: this }, n)) ?? n; - let i = false, o = "", u = 1 / 0; - for (; e; ) { - if (e.length < u) - u = e.length; - else { - this.infiniteLoopError(e.charCodeAt(0)); - break; - } - i || (o = ""), i = false; - let a; - if ((_d = (_c = this.options.extensions) == null ? void 0 : _c.inline) == null ? void 0 : _d.some((p) => (a = p.call({ lexer: this }, e, t)) ? (e = e.substring(a.raw.length), t.push(a), true) : false)) - continue; - if (a = this.tokenizer.escape(e)) { - e = e.substring(a.raw.length), t.push(a); - continue; - } - if (a = this.tokenizer.tag(e)) { - e = e.substring(a.raw.length), t.push(a); - continue; - } - if (a = this.tokenizer.link(e)) { - e = e.substring(a.raw.length), t.push(a); - continue; - } - if (a = this.tokenizer.reflink(e, this.tokens.links)) { - e = e.substring(a.raw.length); - let p = t.at(-1); - a.type === "text" && (p == null ? void 0 : p.type) === "text" ? (p.raw += a.raw, p.text += a.text) : t.push(a); - continue; - } - if (a = this.tokenizer.emStrong(e, n, o)) { - e = e.substring(a.raw.length), t.push(a); - continue; - } - if (a = this.tokenizer.codespan(e)) { - e = e.substring(a.raw.length), t.push(a); - continue; - } - if (a = this.tokenizer.br(e)) { - e = e.substring(a.raw.length), t.push(a); - continue; - } - if (a = this.tokenizer.del(e, n, o)) { - e = e.substring(a.raw.length), t.push(a); - continue; - } - if (a = this.tokenizer.autolink(e)) { - e = e.substring(a.raw.length), t.push(a); - continue; - } - if (!this.state.inLink && (a = this.tokenizer.url(e))) { - e = e.substring(a.raw.length), t.push(a); - continue; - } - let c = e; - if ((_e2 = this.options.extensions) == null ? void 0 : _e2.startInline) { - let p = 1 / 0, k = e.slice(1), h; - this.options.extensions.startInline.forEach((R) => { - h = R.call({ lexer: this }, k), typeof h == "number" && h >= 0 && (p = Math.min(p, h)); - }), p < 1 / 0 && p >= 0 && (c = e.substring(0, p + 1)); - } - if (a = this.tokenizer.inlineText(c)) { - e = e.substring(a.raw.length), a.raw.slice(-1) !== "_" && (o = a.raw.slice(-1)), i = true; - let p = t.at(-1); - (p == null ? void 0 : p.type) === "text" ? (p.raw += a.raw, p.text += a.text) : t.push(a); - continue; - } - if (e) { - this.infiniteLoopError(e.charCodeAt(0)); - break; - } - } - return t; - } - infiniteLoopError(e) { - let t = "Infinite loop on byte: " + e; - if (this.options.silent) - console.error(t); - else - throw new Error(t); - } -}; -var y = class { - constructor(e) { - __publicField(this, "options"); - __publicField(this, "parser"); - this.options = e || T; - } - space(e) { - return ""; - } - code({ text: e, lang: t, escaped: n }) { - var _a2; - let s = (_a2 = (t || "").match(m.notSpaceStart)) == null ? void 0 : _a2[0], r = e.replace(m.endingNewline, "") + ` -`; - return s ? '
' + (n ? r : O(r, true)) + `
-` : "
" + (n ? r : O(r, true)) + `
-`; - } - blockquote({ tokens: e }) { - return `
-${this.parser.parse(e)}
-`; - } - html({ text: e }) { - return e; - } - def(e) { - return ""; - } - heading({ tokens: e, depth: t }) { - return `${this.parser.parseInline(e)} -`; - } - hr(e) { - return `
-`; - } - list(e) { - let t = e.ordered, n = e.start, s = ""; - for (let o = 0; o < e.items.length; o++) { - let u = e.items[o]; - s += this.listitem(u); - } - let r = t ? "ol" : "ul", i = t && n !== 1 ? ' start="' + n + '"' : ""; - return "<" + r + i + `> -` + s + " -`; - } - listitem(e) { - return `
  • ${this.parser.parse(e.tokens)}
  • -`; - } - checkbox({ checked: e }) { - return " '; - } - paragraph({ tokens: e }) { - return `

    ${this.parser.parseInline(e)}

    -`; - } - table(e) { - let t = "", n = ""; - for (let r = 0; r < e.header.length; r++) - n += this.tablecell(e.header[r]); - t += this.tablerow({ text: n }); - let s = ""; - for (let r = 0; r < e.rows.length; r++) { - let i = e.rows[r]; - n = ""; - for (let o = 0; o < i.length; o++) - n += this.tablecell(i[o]); - s += this.tablerow({ text: n }); - } - return s && (s = `${s}`), ` - -` + t + ` -` + s + `
    -`; - } - tablerow({ text: e }) { - return ` -${e} -`; - } - tablecell(e) { - let t = this.parser.parseInline(e.tokens), n = e.header ? "th" : "td"; - return (e.align ? `<${n} align="${e.align}">` : `<${n}>`) + t + ` -`; - } - strong({ tokens: e }) { - return `${this.parser.parseInline(e)}`; - } - em({ tokens: e }) { - return `${this.parser.parseInline(e)}`; - } - codespan({ text: e }) { - return `${O(e, true)}`; - } - br(e) { - return "
    "; - } - del({ tokens: e }) { - return `${this.parser.parseInline(e)}`; - } - link({ href: e, title: t, tokens: n }) { - let s = this.parser.parseInline(n), r = V(e); - if (r === null) - return s; - e = r; - let i = '
    ", i; - } - image({ href: e, title: t, text: n, tokens: s }) { - s && (n = this.parser.parseInline(s, this.parser.textRenderer)); - let r = V(e); - if (r === null) - return O(n); - e = r; - let i = `${O(n)} { - let o = r[i].flat(1 / 0); - n = n.concat(this.walkTokens(o, t)); - }) : r.tokens && (n = n.concat(this.walkTokens(r.tokens, t))); - } - } - return n; - } - use(...e) { - let t = this.defaults.extensions || { renderers: {}, childTokens: {} }; - return e.forEach((n) => { - let s = { ...n }; - if (s.async = this.defaults.async || s.async || false, n.extensions && (n.extensions.forEach((r) => { - if (!r.name) - throw new Error("extension name required"); - if ("renderer" in r) { - let i = t.renderers[r.name]; - i ? t.renderers[r.name] = function(...o) { - let u = r.renderer.apply(this, o); - return u === false && (u = i.apply(this, o)), u; - } : t.renderers[r.name] = r.renderer; - } - if ("tokenizer" in r) { - if (!r.level || r.level !== "block" && r.level !== "inline") - throw new Error("extension level must be 'block' or 'inline'"); - let i = t[r.level]; - i ? i.unshift(r.tokenizer) : t[r.level] = [r.tokenizer], r.start && (r.level === "block" ? t.startBlock ? t.startBlock.push(r.start) : t.startBlock = [r.start] : r.level === "inline" && (t.startInline ? t.startInline.push(r.start) : t.startInline = [r.start])); - } - "childTokens" in r && r.childTokens && (t.childTokens[r.name] = r.childTokens); - }), s.extensions = t), n.renderer) { - let r = this.defaults.renderer || new y(this.defaults); - for (let i in n.renderer) { - if (!(i in r)) - throw new Error(`renderer '${i}' does not exist`); - if (["options", "parser"].includes(i)) - continue; - let o = i, u = n.renderer[o], a = r[o]; - r[o] = (...c) => { - let p = u.apply(r, c); - return p === false && (p = a.apply(r, c)), p || ""; - }; - } - s.renderer = r; - } - if (n.tokenizer) { - let r = this.defaults.tokenizer || new w(this.defaults); - for (let i in n.tokenizer) { - if (!(i in r)) - throw new Error(`tokenizer '${i}' does not exist`); - if (["options", "rules", "lexer"].includes(i)) - continue; - let o = i, u = n.tokenizer[o], a = r[o]; - r[o] = (...c) => { - let p = u.apply(r, c); - return p === false && (p = a.apply(r, c)), p; - }; - } - s.tokenizer = r; - } - if (n.hooks) { - let r = this.defaults.hooks || new P(); - for (let i in n.hooks) { - if (!(i in r)) - throw new Error(`hook '${i}' does not exist`); - if (["options", "block"].includes(i)) - continue; - let o = i, u = n.hooks[o], a = r[o]; - P.passThroughHooks.has(i) ? r[o] = (c) => { - if (this.defaults.async && P.passThroughHooksRespectAsync.has(i)) - return (async () => { - let k = await u.call(r, c); - return a.call(r, k); - })(); - let p = u.call(r, c); - return a.call(r, p); - } : r[o] = (...c) => { - if (this.defaults.async) - return (async () => { - let k = await u.apply(r, c); - return k === false && (k = await a.apply(r, c)), k; - })(); - let p = u.apply(r, c); - return p === false && (p = a.apply(r, c)), p; - }; - } - s.hooks = r; - } - if (n.walkTokens) { - let r = this.defaults.walkTokens, i = n.walkTokens; - s.walkTokens = function(o) { - let u = []; - return u.push(i.call(this, o)), r && (u = u.concat(r.call(this, o))), u; - }; - } - this.defaults = { ...this.defaults, ...s }; - }), this; - } - setOptions(e) { - return this.defaults = { ...this.defaults, ...e }, this; - } - lexer(e, t) { - return x.lex(e, t ?? this.defaults); - } - parser(e, t) { - return b.parse(e, t ?? this.defaults); - } - parseMarkdown(e) { - return (n, s) => { - let r = { ...s }, i = { ...this.defaults, ...r }, o = this.onError(!!i.silent, !!i.async); - if (this.defaults.async === true && r.async === false) - return o(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.")); - if (typeof n > "u" || n === null) - return o(new Error("marked(): input parameter is undefined or null")); - if (typeof n != "string") - return o(new Error("marked(): input parameter is of type " + Object.prototype.toString.call(n) + ", string expected")); - if (i.hooks && (i.hooks.options = i, i.hooks.block = e), i.async) - return (async () => { - let u = i.hooks ? await i.hooks.preprocess(n) : n, c = await (i.hooks ? await i.hooks.provideLexer(e) : e ? x.lex : x.lexInline)(u, i), p = i.hooks ? await i.hooks.processAllTokens(c) : c; - i.walkTokens && await Promise.all(this.walkTokens(p, i.walkTokens)); - let h = await (i.hooks ? await i.hooks.provideParser(e) : e ? b.parse : b.parseInline)(p, i); - return i.hooks ? await i.hooks.postprocess(h) : h; - })().catch(o); - try { - i.hooks && (n = i.hooks.preprocess(n)); - let a = (i.hooks ? i.hooks.provideLexer(e) : e ? x.lex : x.lexInline)(n, i); - i.hooks && (a = i.hooks.processAllTokens(a)), i.walkTokens && this.walkTokens(a, i.walkTokens); - let p = (i.hooks ? i.hooks.provideParser(e) : e ? b.parse : b.parseInline)(a, i); - return i.hooks && (p = i.hooks.postprocess(p)), p; - } catch (u) { - return o(u); - } - }; - } - onError(e, t) { - return (n) => { - if (n.message += ` -Please report this to https://github.com/markedjs/marked.`, e) { - let s = "

    An error occurred:

    " + O(n.message + "", true) + "
    "; - return t ? Promise.resolve(s) : s; - } - if (t) - return Promise.reject(n); - throw n; - }; - } -}; -var z = new q(); -function g(l3, e) { - return z.parse(l3, e); -} -g.options = g.setOptions = function(l3) { - return z.setOptions(l3), g.defaults = z.defaults, N(g.defaults), g; -}; -g.getDefaults = M; -g.defaults = T; -g.use = function(...l3) { - return z.use(...l3), g.defaults = z.defaults, N(g.defaults), g; -}; -g.walkTokens = function(l3, e) { - return z.walkTokens(l3, e); -}; -g.parseInline = z.parseInline; -g.Parser = b; -g.parser = b.parse; -g.Renderer = y; -g.TextRenderer = L; -g.Lexer = x; -g.lexer = x.lex; -g.Tokenizer = w; -g.Hooks = P; -g.parse = g; -var Ft = g.options; -var Ut = g.setOptions; -var Kt = g.use; -var Wt = g.walkTokens; -var Xt = g.parseInline; -var Jt = g; -var Vt = b.parse; -var Yt = x.lex; -export { - P as Hooks, - x as Lexer, - q as Marked, - b as Parser, - y as Renderer, - L as TextRenderer, - w as Tokenizer, - T as defaults, - M as getDefaults, - Yt as lexer, - g as marked, - Ft as options, - Jt as parse, - Xt as parseInline, - Vt as parser, - Ut as setOptions, - Kt as use, - Wt as walkTokens -}; -//# sourceMappingURL=marked.js.map diff --git a/unpackage/dist/cache/.vite/deps/marked.js.map b/unpackage/dist/cache/.vite/deps/marked.js.map deleted file mode 100644 index 876989b..0000000 --- a/unpackage/dist/cache/.vite/deps/marked.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../../node_modules/marked/src/defaults.ts", "../../../../../node_modules/marked/src/rules.ts", "../../../../../node_modules/marked/src/helpers.ts", "../../../../../node_modules/marked/src/Tokenizer.ts", "../../../../../node_modules/marked/src/Lexer.ts", "../../../../../node_modules/marked/src/Renderer.ts", "../../../../../node_modules/marked/src/TextRenderer.ts", "../../../../../node_modules/marked/src/Parser.ts", "../../../../../node_modules/marked/src/Hooks.ts", "../../../../../node_modules/marked/src/Instance.ts", "../../../../../node_modules/marked/src/marked.ts"], - "sourcesContent": ["import type { MarkedOptions } from './MarkedOptions.ts';\n\n/**\n * Gets the original marked default options.\n */\nexport function _getDefaults(): MarkedOptions {\n return {\n async: false,\n breaks: false,\n extensions: null,\n gfm: true,\n hooks: null,\n pedantic: false,\n renderer: null,\n silent: false,\n tokenizer: null,\n walkTokens: null,\n };\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport let _defaults: MarkedOptions = _getDefaults();\n\nexport function changeDefaults(newDefaults: MarkedOptions) {\n _defaults = newDefaults;\n}\n", "const noopTest = { exec: () => null } as unknown as RegExp;\n\nfunction cachedIndentRegex(createRegex: (indent: number) => RegExp) {\n const cache: RegExp[] = [];\n return (indent: number) => {\n const cacheIndex = Math.max(0, Math.min(3, indent - 1));\n let regex = cache[cacheIndex];\n if (!regex) {\n regex = createRegex(cacheIndex);\n cache[cacheIndex] = regex;\n }\n return regex;\n };\n}\n\nfunction edit(regex: string | RegExp, opt = '') {\n let source = typeof regex === 'string' ? regex : regex.source;\n const obj = {\n replace: (name: string | RegExp, val: string | RegExp) => {\n let valSource = typeof val === 'string' ? val : val.source;\n valSource = valSource.replace(other.caret, '$1');\n source = source.replace(name, valSource);\n return obj;\n },\n getRegex: () => {\n return new RegExp(source, opt);\n },\n };\n return obj;\n}\n\n// use a default variable to ensure the regex is evaluated on client an not removed by minifiers\nconst supportsLookbehind = ((a = '') => {\ntry {\n return !!new RegExp('(?<=1)(?/,\n blockquoteSetextReplace: /\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g,\n blockquoteSetextReplace2: /^ {0,3}>[ \\t]?/gm,\n listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g,\n listIsTask: /^\\[[ xX]\\] +\\S/,\n listReplaceTask: /^\\[[ xX]\\] +/,\n listTaskCheckbox: /\\[[ xX]\\]/,\n anyLine: /\\n.*\\n/,\n hrefBrackets: /^<(.*)>$/,\n tableDelimiter: /[:|]/,\n tableAlignChars: /^\\||\\| *$/g,\n tableRowBlankLine: /\\n[ \\t]*$/,\n tableAlignRight: /^ *-+: *$/,\n tableAlignCenter: /^ *:-+: *$/,\n tableAlignLeft: /^ *:-+ *$/,\n startATag: /^
    /i,\n startPreScriptTag: /^<(pre|code|kbd|script)(\\s|>)/i,\n endPreScriptTag: /^<\\/(pre|code|kbd|script)(\\s|>)/i,\n startAngleBracket: /^$/,\n pedanticHrefTitle: /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/,\n unicodeAlphaNumeric: /[\\p{L}\\p{N}]/u,\n escapeTest: /[&<>\"']/,\n escapeReplace: /[&<>\"']/g,\n escapeTestNoEncode: /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/,\n escapeReplaceNoEncode: /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/g,\n caret: /(^|[^\\[])\\^/g,\n percentDecode: /%25/g,\n findPipe: /\\|/g,\n splitPipe: / \\|/,\n slashPipe: /\\\\\\|/g,\n carriageReturn: /\\r\\n|\\r/g,\n spaceLine: /^ +$/gm,\n notSpaceStart: /^\\S*/,\n endingNewline: /\\n$/,\n listItemRegex: (bull: string) => new RegExp(`^( {0,3}${bull})((?:[\\t ][^\\\\n]*)?(?:\\\\n|$))`),\n nextBulletRegex: cachedIndentRegex((indent: number) => new RegExp(`^ {0,${indent}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \\t][^\\\\n]*)?(?:\\\\n|$))`)),\n hrRegex: cachedIndentRegex((indent: number) => new RegExp(`^ {0,${indent}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`)),\n fencesBeginRegex: cachedIndentRegex((indent: number) => new RegExp(`^ {0,${indent}}(?:\\`\\`\\`|~~~)`)),\n headingBeginRegex: cachedIndentRegex((indent: number) => new RegExp(`^ {0,${indent}}#`)),\n htmlBeginRegex: cachedIndentRegex((indent: number) => new RegExp(`^ {0,${indent}}<(?:[a-z].*>|!--)`, 'i')),\n blockquoteBeginRegex: cachedIndentRegex((indent: number) => new RegExp(`^ {0,${indent}}>`)),\n};\n\n/**\n * Block-Level Grammar\n */\n\nconst newline = /^(?:[ \\t]*(?:\\n|$))+/;\nconst blockCode = /^((?: {4}| {0,3}\\t)[^\\n]+(?:\\n(?:[ \\t]*(?:\\n|$))*)?)+/;\nconst fences = /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/;\nconst hr = /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/;\nconst heading = /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/;\nconst bullet = / {0,3}(?:[*+-]|\\d{1,9}[.)])/;\nconst lheadingCore = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/;\nconst lheading = edit(lheadingCore)\n .replace(/bull/g, bullet) // lists can interrupt\n .replace(/blockCode/g, /(?: {4}| {0,3}\\t)/) // indented code blocks can interrupt\n .replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/) // fenced code blocks can interrupt\n .replace(/blockquote/g, / {0,3}>/) // blockquote can interrupt\n .replace(/heading/g, / {0,3}#{1,6}/) // ATX heading can interrupt\n .replace(/html/g, / {0,3}<[^\\n>]+>\\n/) // block html can interrupt\n .replace(/\\|table/g, '') // table not in commonmark\n .getRegex();\nconst lheadingGfm = edit(lheadingCore)\n .replace(/bull/g, bullet) // lists can interrupt\n .replace(/blockCode/g, /(?: {4}| {0,3}\\t)/) // indented code blocks can interrupt\n .replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/) // fenced code blocks can interrupt\n .replace(/blockquote/g, / {0,3}>/) // blockquote can interrupt\n .replace(/heading/g, / {0,3}#{1,6}/) // ATX heading can interrupt\n .replace(/html/g, / {0,3}<[^\\n>]+>\\n/) // block html can interrupt\n .replace(/table/g, / {0,3}\\|?(?:[:\\- ]*\\|)+[\\:\\- ]*\\n/) // table can interrupt\n .getRegex();\nconst _paragraph = /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/;\nconst blockText = /^[^\\n]+/;\nconst _blockLabel = /(?!\\s*\\])(?:\\\\[\\s\\S]|[^\\[\\]\\\\])+/;\nconst def = edit(/^ {0,3}\\[(label)\\]: *(?:\\n[ \\t]*)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n[ \\t]*)?| *\\n[ \\t]*)(title))? *(?:\\n+|$)/)\n .replace('label', _blockLabel)\n .replace('title', /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/)\n .getRegex();\n\nconst list = edit(/^(bull)([ \\t][^\\n]+?)?(?:\\n|$)/)\n .replace(/bull/g, bullet)\n .getRegex();\n\nconst _tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title'\n + '|tr|track|ul';\nconst _comment = /|$))/;\nconst html = edit(\n '^ {0,3}(?:' // optional indentation\n+ '<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n+ '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n+ '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n+ '|\\\\n*|$)' // (4)\n+ '|\\\\n*|$)' // (5)\n+ '|)[\\\\s\\\\S]*?(?:(?:\\\\n[ \\t]*)+\\\\n|$)' // (6)\n+ '|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \\t]*)+\\\\n|$)' // (7) open tag\n+ '|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \\t]*)+\\\\n|$)' // (7) closing tag\n+ ')', 'i')\n .replace('comment', _comment)\n .replace('tag', _tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nconst paragraph = edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setext headings don't interrupt commonmark paragraphs\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)])[ \\\\t]') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nconst blockquote = edit(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/)\n .replace('paragraph', paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nconst blockNormal = {\n blockquote,\n code: blockCode,\n def,\n fences,\n heading,\n hr,\n html,\n lheading,\n list,\n newline,\n paragraph,\n table: noopTest,\n text: blockText,\n};\n\ntype BlockKeys = keyof typeof blockNormal;\n\n/**\n * GFM Block Grammar\n */\n\nconst gfmTable = edit(\n '^ *([^\\\\n ].*)\\\\n' // Header\n+ ' {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)' // Align\n+ '(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)') // Cells\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('blockquote', ' {0,3}>')\n .replace('code', '(?: {4}| {0,3}\\t)[^\\\\n]')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)])[ \\\\t]') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n\nconst blockGfm: Record = {\n ...blockNormal,\n lheading: lheadingGfm,\n table: gfmTable,\n paragraph: edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setext headings don't interrupt commonmark paragraphs\n .replace('table', gfmTable) // interrupt paragraphs with table\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)])[ \\\\t]') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n .getRegex(),\n};\n\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n\nconst blockPedantic: Record = {\n ...blockNormal,\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', _comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n fences: noopTest, // fences not supported\n lheading: /^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n paragraph: edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', lheading)\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .replace('|tag', '')\n .getRegex(),\n};\n\n/**\n * Inline-Level Grammar\n */\n\nconst escape = /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/;\nconst inlineCode = /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/;\nconst br = /^( {2,}|\\\\)\\n(?!\\s*$)/;\nconst inlineText = /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\\nconst blockSkip = edit(/link|precode-code|html/, 'g')\n .replace('link', /\\[(?:[^\\[\\]`]|(?`+)[^`]+\\k(?!`))*?\\]\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)]|\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)])*\\))*\\)/)\n .replace('precode-', supportsLookbehind ? '(?`+)[^`]+\\k(?!`)/)\n .replace('html', /<(?! )[^<>]*?>/)\n .getRegex();\n\nconst emStrongLDelimCore = /^(?:\\*+(?:((?!\\*)punct)|([^\\s*]))?)|^_+(?:((?!_)punct)|([^\\s_]))?/;\n\nconst emStrongLDelim = edit(emStrongLDelimCore, 'u')\n .replace(/punct/g, _punctuation)\n .getRegex();\n\nconst emStrongLDelimGfm = edit(emStrongLDelimCore, 'u')\n .replace(/punct/g, _punctuationGfmStrongEm)\n .getRegex();\n\nconst emStrongRDelimAstCore =\n '^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)' // Skip orphan inside strong\n+ '|[^*]+(?=[^*])' // Consume to delim\n+ '|(?!\\\\*)punct(\\\\*+)(?=[\\\\s]|$)' // (1) #*** can only be a Right Delimiter\n+ '|notPunctSpace(\\\\*+)(?!\\\\*)(?=punctSpace|$)' // (2) a***#, a*** can only be a Right Delimiter\n+ '|(?!\\\\*)punctSpace(\\\\*+)(?=notPunctSpace)' // (3) #***a, ***a can only be Left Delimiter\n+ '|[\\\\s](\\\\*+)(?!\\\\*)(?=punct)' // (4) ***# can only be Left Delimiter\n+ '|(?!\\\\*)punct(\\\\*+)(?!\\\\*)(?=punct)' // (5) #***# can be either Left or Right Delimiter\n+ '|notPunctSpace(\\\\*+)(?=notPunctSpace)'; // (6) a***a can be either Left or Right Delimiter\n\nconst emStrongRDelimAst = edit(emStrongRDelimAstCore, 'gu')\n .replace(/notPunctSpace/g, _notPunctuationOrSpace)\n .replace(/punctSpace/g, _punctuationOrSpace)\n .replace(/punct/g, _punctuation)\n .getRegex();\n\nconst emStrongRDelimAstGfm = edit(emStrongRDelimAstCore, 'gu')\n .replace(/notPunctSpace/g, _notPunctuationOrSpaceGfmStrongEm)\n .replace(/punctSpace/g, _punctuationOrSpaceGfmStrongEm)\n .replace(/punct/g, _punctuationGfmStrongEm)\n .getRegex();\n\n// (6) Not allowed for _\nconst emStrongRDelimUnd = edit(\n '^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)' // Skip orphan inside strong\n+ '|[^_]+(?=[^_])' // Consume to delim\n+ '|(?!_)punct(_+)(?=[\\\\s]|$)' // (1) #___ can only be a Right Delimiter\n+ '|notPunctSpace(_+)(?!_)(?=punctSpace|$)' // (2) a___#, a___ can only be a Right Delimiter\n+ '|(?!_)punctSpace(_+)(?=notPunctSpace)' // (3) #___a, ___a can only be Left Delimiter\n+ '|[\\\\s](_+)(?!_)(?=punct)' // (4) ___# can only be Left Delimiter\n+ '|(?!_)punct(_+)(?!_)(?=punct)', 'gu') // (5) #___# can be either Left or Right Delimiter\n .replace(/notPunctSpace/g, _notPunctuationOrSpace)\n .replace(/punctSpace/g, _punctuationOrSpace)\n .replace(/punct/g, _punctuation)\n .getRegex();\n\n// Tilde left delimiter for strikethrough (similar to emStrongLDelim for asterisk)\nconst delLDelim = edit(/^~~?(?:((?!~)punct)|[^\\s~])/, 'u')\n .replace(/punct/g, _punctuation)\n .getRegex();\n\n// Tilde delimiter patterns for strikethrough (similar to asterisk)\nconst delRDelimCore =\n '^[^~]+(?=[^~])' // Consume to delim\n+ '|(?!~)punct(~~?)(?=[\\\\s]|$)' // (1) #~~ can only be a Right Delimiter\n+ '|notPunctSpace(~~?)(?!~)(?=punctSpace|$)' // (2) a~~#, a~~ can only be a Right Delimiter\n+ '|(?!~)punctSpace(~~?)(?=notPunctSpace)' // (3) #~~a, ~~a can only be Left Delimiter\n+ '|[\\\\s](~~?)(?!~)(?=punct)' // (4) ~~# can only be Left Delimiter\n+ '|(?!~)punct(~~?)(?!~)(?=punct)' // (5) #~~# can be either Left or Right Delimiter\n+ '|notPunctSpace(~~?)(?=notPunctSpace)'; // (6) a~~a can be either Left or Right Delimiter\n\nconst delRDelim = edit(delRDelimCore, 'gu')\n .replace(/notPunctSpace/g, _notPunctuationOrSpace)\n .replace(/punctSpace/g, _punctuationOrSpace)\n .replace(/punct/g, _punctuation)\n .getRegex();\n\nconst anyPunctuation = edit(/\\\\(punct)/, 'gu')\n .replace(/punct/g, _punctuation)\n .getRegex();\n\nconst autolink = edit(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/)\n .replace('scheme', /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/)\n .replace('email', /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/)\n .getRegex();\n\nconst _inlineComment = edit(_comment).replace('(?:-->|$)', '-->').getRegex();\nconst tag = edit(\n '^comment'\n + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^') // CDATA section\n .replace('comment', _inlineComment)\n .replace('attribute', /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nconst _inlineLabel = /(?:\\[(?:\\\\[\\s\\S]|[^\\[\\]\\\\])*\\]|\\\\[\\s\\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\\])|[^\\[\\]\\\\`])*?/;\n\nconst link = edit(/^!?\\[(label)\\]\\(\\s*(href)(?:(?:[ \\t]+(?:\\n[ \\t]*)?|\\n[ \\t]*)(title))?\\s*\\)/)\n .replace('label', _inlineLabel)\n .replace('href', /<(?:\\\\.|[^\\n<>\\\\])+>|[^ \\t\\n\\x00-\\x1f]*/)\n .replace('title', /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/)\n .getRegex();\n\nconst reflink = edit(/^!?\\[(label)\\]\\[(ref)\\]/)\n .replace('label', _inlineLabel)\n .replace('ref', _blockLabel)\n .getRegex();\n\nconst nolink = edit(/^!?\\[(ref)\\](?:\\[\\])?/)\n .replace('ref', _blockLabel)\n .getRegex();\n\nconst reflinkSearch = edit('reflink|nolink(?!\\\\()', 'g')\n .replace('reflink', reflink)\n .replace('nolink', nolink)\n .getRegex();\n\nconst _caseInsensitiveProtocol = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/;\n\n/**\n * Normal Inline Grammar\n */\n\nconst inlineNormal = {\n _backpedal: noopTest, // only used for GFM url\n anyPunctuation,\n autolink,\n blockSkip,\n br,\n code: inlineCode,\n del: noopTest,\n delLDelim: noopTest,\n delRDelim: noopTest,\n emStrongLDelim,\n emStrongRDelimAst,\n emStrongRDelimUnd,\n escape,\n link,\n nolink,\n punctuation,\n reflink,\n reflinkSearch,\n tag,\n text: inlineText,\n url: noopTest,\n};\n\ntype InlineKeys = keyof typeof inlineNormal;\n\n/**\n * Pedantic Inline Grammar\n */\n\nconst inlinePedantic: Record = {\n ...inlineNormal,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', _inlineLabel)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', _inlineLabel)\n .getRegex(),\n};\n\n/**\n * GFM Inline Grammar\n */\n\nconst inlineGfm: Record = {\n ...inlineNormal,\n emStrongRDelimAst: emStrongRDelimAstGfm,\n emStrongLDelim: emStrongLDelimGfm,\n delLDelim,\n delRDelim,\n url: edit(/^((?:protocol):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/)\n .replace('protocol', _caseInsensitiveProtocol)\n .replace('email', /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/)\n .getRegex(),\n _backpedal: /(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,\n del: /^(~~?)(?=[^\\s~])((?:\\\\[\\s\\S]|[^\\\\])*?(?:\\\\[\\s\\S]|[^\\s~\\\\]))\\1(?=[^~]|$)/,\n text: edit(/^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\ = {\n ...inlineGfm,\n br: edit(br).replace('{2,}', '*').getRegex(),\n text: edit(inlineGfm.text)\n .replace('\\\\b_', '\\\\b_| {2,}\\\\n')\n .replace(/\\{2,\\}/g, '*')\n .getRegex(),\n};\n\n/**\n * exports\n */\n\nexport const block = {\n normal: blockNormal,\n gfm: blockGfm,\n pedantic: blockPedantic,\n};\n\nexport const inline = {\n normal: inlineNormal,\n gfm: inlineGfm,\n breaks: inlineBreaks,\n pedantic: inlinePedantic,\n};\n\nexport interface Rules {\n other: typeof other\n block: Record\n inline: Record\n}\n", "import { other } from './rules.ts';\n\n/**\n * Helpers\n */\nconst escapeReplacements: { [index: string]: string } = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n};\nconst getEscapeReplacement = (ch: string) => escapeReplacements[ch];\n\nexport function escapeHtmlEntities(html: string, encode?: boolean) {\n if (encode) {\n if (other.escapeTest.test(html)) {\n return html.replace(other.escapeReplace, getEscapeReplacement);\n }\n } else {\n if (other.escapeTestNoEncode.test(html)) {\n return html.replace(other.escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n\n return html;\n}\n\nexport function cleanUrl(href: string) {\n try {\n href = encodeURI(href).replace(other.percentDecode, '%');\n } catch {\n return null;\n }\n return href;\n}\n\nexport function splitCells(tableRow: string, count?: number) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n const row = tableRow.replace(other.findPipe, (match, offset, str) => {\n let escaped = false;\n let curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(other.splitPipe);\n let i = 0;\n\n // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n if (!cells[0].trim()) {\n cells.shift();\n }\n if (cells.length > 0 && !cells.at(-1)?.trim()) {\n cells.pop();\n }\n\n if (count) {\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) cells.push('');\n }\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(other.slashPipe, '|');\n }\n return cells;\n}\n\n/**\n * Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n * /c*$/ is vulnerable to REDOS.\n *\n * @param str\n * @param c\n * @param invert Remove suffix of non-c chars instead. Default falsey.\n */\nexport function rtrim(str: string, c: string, invert?: boolean) {\n const l = str.length;\n if (l === 0) {\n return '';\n }\n\n // Length of suffix matching the invert condition.\n let suffLen = 0;\n\n // Step left until we fail to match the invert condition.\n while (suffLen < l) {\n const currChar = str.charAt(l - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.slice(0, l - suffLen);\n}\n\nexport function trimTrailingBlankLines(str: string) {\n const lines = str.split('\\n');\n let end = lines.length - 1;\n while (end >= 0 && other.blankLine.test(lines[end])) {\n end--;\n }\n if (lines.length - end <= 2) {\n // we want to keep single trailing blank lines\n return str;\n }\n\n return lines.slice(0, end + 1).join('\\n');\n}\n\nexport function findClosingBracket(str: string, b: string) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n\n let level = 0;\n for (let i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n if (level > 0) {\n return -2;\n }\n\n return -1;\n}\n\nexport function expandTabs(line: string, indent = 0) {\n let col = indent;\n let expanded = '';\n for (const char of line) {\n if (char === '\\t') {\n const added = 4 - (col % 4);\n expanded += ' '.repeat(added);\n col += added;\n } else {\n expanded += char;\n col++;\n }\n }\n\n return expanded;\n}\n", "import { _defaults } from './defaults.ts';\nimport {\n rtrim,\n splitCells,\n findClosingBracket,\n expandTabs,\n trimTrailingBlankLines,\n} from './helpers.ts';\nimport type { Rules } from './rules.ts';\nimport type { _Lexer } from './Lexer.ts';\nimport type { Links, Tokens, Token } from './Tokens.ts';\nimport type { MarkedOptions } from './MarkedOptions.ts';\n\nfunction outputLink(cap: string[], link: Pick, raw: string, lexer: _Lexer, rules: Rules): Tokens.Link | Tokens.Image {\n const href = link.href;\n const title = link.title || null;\n const text = cap[1].replace(rules.other.outputLinkReplace, '$1');\n\n lexer.state.inLink = true;\n const token: Tokens.Link | Tokens.Image = {\n type: cap[0].charAt(0) === '!' ? 'image' : 'link',\n raw,\n href,\n title,\n text,\n tokens: lexer.inlineTokens(text),\n };\n lexer.state.inLink = false;\n return token;\n}\n\nfunction indentCodeCompensation(raw: string, text: string, rules: Rules) {\n const matchIndentToCode = raw.match(rules.other.indentCodeCompensation);\n\n if (matchIndentToCode === null) {\n return text;\n }\n\n const indentToCode = matchIndentToCode[1];\n\n return text\n .split('\\n')\n .map(node => {\n const matchIndentInNode = node.match(rules.other.beginningSpace);\n if (matchIndentInNode === null) {\n return node;\n }\n\n const [indentInNode] = matchIndentInNode;\n\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n\n return node;\n })\n .join('\\n');\n}\n\n/**\n * Tokenizer\n */\nexport class _Tokenizer {\n options: MarkedOptions;\n rules!: Rules; // set by the lexer\n lexer!: _Lexer; // set by the lexer\n\n constructor(options?: MarkedOptions) {\n this.options = options || _defaults;\n }\n\n space(src: string): Tokens.Space | undefined {\n const cap = this.rules.block.newline.exec(src);\n if (cap && cap[0].length > 0) {\n return {\n type: 'space',\n raw: cap[0],\n };\n }\n }\n\n code(src: string): Tokens.Code | undefined {\n const cap = this.rules.block.code.exec(src);\n if (cap) {\n const raw = this.options.pedantic\n ? cap[0]\n : trimTrailingBlankLines(cap[0]);\n const text = raw.replace(this.rules.other.codeRemoveIndent, '');\n return {\n type: 'code',\n raw,\n codeBlockStyle: 'indented',\n text,\n };\n }\n }\n\n fences(src: string): Tokens.Code | undefined {\n const cap = this.rules.block.fences.exec(src);\n if (cap) {\n const raw = cap[0];\n const text = indentCodeCompensation(raw, cap[3] || '', this.rules);\n\n return {\n type: 'code',\n raw,\n lang: cap[2] ? cap[2].trim().replace(this.rules.inline.anyPunctuation, '$1') : cap[2],\n text,\n };\n }\n }\n\n heading(src: string): Tokens.Heading | undefined {\n const cap = this.rules.block.heading.exec(src);\n if (cap) {\n let text = cap[2].trim();\n\n // remove trailing #s\n if (this.rules.other.endingHash.test(text)) {\n const trimmed = rtrim(text, '#');\n if (this.options.pedantic) {\n text = trimmed.trim();\n } else if (!trimmed || this.rules.other.endingSpaceChar.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n\n return {\n type: 'heading',\n raw: rtrim(cap[0], '\\n'),\n depth: cap[1].length,\n text,\n tokens: this.lexer.inline(text),\n };\n }\n }\n\n hr(src: string): Tokens.Hr | undefined {\n const cap = this.rules.block.hr.exec(src);\n if (cap) {\n return {\n type: 'hr',\n raw: rtrim(cap[0], '\\n'),\n };\n }\n }\n\n blockquote(src: string): Tokens.Blockquote | undefined {\n const cap = this.rules.block.blockquote.exec(src);\n if (cap) {\n let lines = rtrim(cap[0], '\\n').split('\\n');\n let raw = '';\n let text = '';\n const tokens: Token[] = [];\n\n while (lines.length > 0) {\n let inBlockquote = false;\n const currentLines = [];\n\n let i;\n for (i = 0; i < lines.length; i++) {\n // get lines up to a continuation\n if (this.rules.other.blockquoteStart.test(lines[i])) {\n currentLines.push(lines[i]);\n inBlockquote = true;\n } else if (!inBlockquote) {\n currentLines.push(lines[i]);\n } else {\n break;\n }\n }\n lines = lines.slice(i);\n\n const currentRaw = currentLines.join('\\n');\n const currentText = currentRaw\n // precede setext continuation with 4 spaces so it isn't a setext\n .replace(this.rules.other.blockquoteSetextReplace, '\\n $1')\n .replace(this.rules.other.blockquoteSetextReplace2, '');\n raw = raw ? `${raw}\\n${currentRaw}` : currentRaw;\n text = text ? `${text}\\n${currentText}` : currentText;\n\n // parse blockquote lines as top level tokens\n // merge paragraphs if this is a continuation\n const top = this.lexer.state.top;\n this.lexer.state.top = true;\n this.lexer.blockTokens(currentText, tokens, true);\n this.lexer.state.top = top;\n\n // if there is no continuation then we are done\n if (lines.length === 0) {\n break;\n }\n\n const lastToken = tokens.at(-1);\n\n if (lastToken?.type === 'code') {\n // blockquote continuation cannot be preceded by a code block\n break;\n } else if (lastToken?.type === 'blockquote') {\n // include continuation in nested blockquote\n const oldToken = lastToken as Tokens.Blockquote;\n const newText = oldToken.raw + '\\n' + lines.join('\\n');\n const newToken = this.blockquote(newText)!;\n tokens[tokens.length - 1] = newToken;\n\n raw = raw.substring(0, raw.length - oldToken.raw.length) + newToken.raw;\n text = text.substring(0, text.length - oldToken.text.length) + newToken.text;\n break;\n } else if (lastToken?.type === 'list') {\n // include continuation in nested list\n const oldToken = lastToken as Tokens.List;\n const newText = oldToken.raw + '\\n' + lines.join('\\n');\n const newToken = this.list(newText)!;\n tokens[tokens.length - 1] = newToken;\n\n raw = raw.substring(0, raw.length - lastToken.raw.length) + newToken.raw;\n text = text.substring(0, text.length - oldToken.raw.length) + newToken.raw;\n lines = newText.substring(tokens.at(-1)!.raw.length).split('\\n');\n continue;\n }\n }\n\n return {\n type: 'blockquote',\n raw,\n tokens,\n text,\n };\n }\n }\n\n list(src: string): Tokens.List | undefined {\n let cap = this.rules.block.list.exec(src);\n if (cap) {\n let bull = cap[1].trim();\n const isordered = bull.length > 1;\n\n const list: Tokens.List = {\n type: 'list',\n raw: '',\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: [],\n };\n\n bull = isordered ? `\\\\d{1,9}\\\\${bull.slice(-1)}` : `\\\\${bull}`;\n\n if (this.options.pedantic) {\n bull = isordered ? bull : '[*+-]';\n }\n\n // Get next list item\n const itemRegex = this.rules.other.listItemRegex(bull);\n let endsWithBlankLine = false;\n // Check if current bullet point can start a new List Item\n while (src) {\n let endEarly = false;\n let raw = '';\n let itemContents = '';\n if (!(cap = itemRegex.exec(src))) {\n break;\n }\n\n if (this.rules.block.hr.test(src)) { // End list if bullet was actually HR (possibly move into itemRegex?)\n break;\n }\n\n raw = cap[0];\n src = src.substring(raw.length);\n\n let line = expandTabs(cap[2].split('\\n', 1)[0], cap[1].length);\n let nextLine = src.split('\\n', 1)[0];\n let blankLine = !line.trim();\n\n let indent = 0;\n if (this.options.pedantic) {\n indent = 2;\n itemContents = line.trimStart();\n } else if (blankLine) {\n indent = cap[1].length + 1;\n } else {\n indent = line.search(this.rules.other.nonSpaceChar); // Find first non-space char\n indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent\n itemContents = line.slice(indent);\n indent += cap[1].length;\n }\n\n if (blankLine && this.rules.other.blankLine.test(nextLine)) { // Items begin with at most one blank line\n raw += nextLine + '\\n';\n src = src.substring(nextLine.length + 1);\n endEarly = true;\n }\n\n if (!endEarly) {\n const nextBulletRegex = this.rules.other.nextBulletRegex(indent);\n const hrRegex = this.rules.other.hrRegex(indent);\n const fencesBeginRegex = this.rules.other.fencesBeginRegex(indent);\n const headingBeginRegex = this.rules.other.headingBeginRegex(indent);\n const htmlBeginRegex = this.rules.other.htmlBeginRegex(indent);\n const blockquoteBeginRegex = this.rules.other.blockquoteBeginRegex(indent);\n\n // Check if following lines should be included in List Item\n while (src) {\n const rawLine = src.split('\\n', 1)[0];\n let nextLineWithoutTabs;\n nextLine = rawLine;\n\n // Re-align to follow commonmark nesting rules\n if (this.options.pedantic) {\n nextLine = nextLine.replace(this.rules.other.listReplaceNesting, ' ');\n nextLineWithoutTabs = nextLine;\n } else {\n nextLineWithoutTabs = nextLine.replace(this.rules.other.tabCharGlobal, ' ');\n }\n\n // End list item if found code fences\n if (fencesBeginRegex.test(nextLine)) {\n break;\n }\n\n // End list item if found start of new heading\n if (headingBeginRegex.test(nextLine)) {\n break;\n }\n\n // End list item if found start of html block\n if (htmlBeginRegex.test(nextLine)) {\n break;\n }\n\n // End list item if found start of blockquote\n if (blockquoteBeginRegex.test(nextLine)) {\n break;\n }\n\n // End list item if found start of new bullet\n if (nextBulletRegex.test(nextLine)) {\n break;\n }\n\n // Horizontal rule found\n if (hrRegex.test(nextLine)) {\n break;\n }\n\n if (nextLineWithoutTabs.search(this.rules.other.nonSpaceChar) >= indent || !nextLine.trim()) { // Dedent if possible\n itemContents += '\\n' + nextLineWithoutTabs.slice(indent);\n } else {\n // not enough indentation\n if (blankLine) {\n break;\n }\n\n // paragraph continuation unless last line was a different block level element\n if (line.replace(this.rules.other.tabCharGlobal, ' ').search(this.rules.other.nonSpaceChar) >= 4) { // indented code block\n break;\n }\n if (fencesBeginRegex.test(line)) {\n break;\n }\n if (headingBeginRegex.test(line)) {\n break;\n }\n if (hrRegex.test(line)) {\n break;\n }\n\n itemContents += '\\n' + nextLine;\n }\n\n blankLine = !nextLine.trim();\n\n raw += rawLine + '\\n';\n src = src.substring(rawLine.length + 1);\n line = nextLineWithoutTabs.slice(indent);\n }\n }\n\n if (!list.loose) {\n // If the previous item ended with a blank line, the list is loose\n if (endsWithBlankLine) {\n list.loose = true;\n } else if (this.rules.other.doubleBlankLine.test(raw)) {\n endsWithBlankLine = true;\n }\n }\n\n list.items.push({\n type: 'list_item',\n raw,\n task: !!this.options.gfm && this.rules.other.listIsTask.test(itemContents),\n loose: false,\n text: itemContents,\n tokens: [],\n });\n\n list.raw += raw;\n }\n\n // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n const lastItem = list.items.at(-1);\n if (lastItem) {\n lastItem.raw = lastItem.raw.trimEnd();\n lastItem.text = lastItem.text.trimEnd();\n } else {\n // not a list since there were no items\n return;\n }\n list.raw = list.raw.trimEnd();\n\n // Item child tokens handled here at end because we needed to have the final item to trim it first\n for (const item of list.items) {\n this.lexer.state.top = false;\n item.tokens = this.lexer.blockTokens(item.text, []);\n const itemToken = item.tokens[0];\n if (item.task && (itemToken?.type === 'text' || itemToken?.type === 'paragraph')) {\n // Remove checkbox markdown from item tokens\n item.text = item.text.replace(this.rules.other.listReplaceTask, '');\n itemToken.raw = itemToken.raw.replace(this.rules.other.listReplaceTask, '');\n itemToken.text = itemToken.text.replace(this.rules.other.listReplaceTask, '');\n for (let i = this.lexer.inlineQueue.length - 1; i >= 0; i--) {\n if (this.rules.other.listIsTask.test(this.lexer.inlineQueue[i].src)) {\n this.lexer.inlineQueue[i].src = this.lexer.inlineQueue[i].src.replace(this.rules.other.listReplaceTask, '');\n break;\n }\n }\n\n const taskRaw = this.rules.other.listTaskCheckbox.exec(item.raw);\n if (taskRaw) {\n const checkboxToken: Tokens.Checkbox = {\n type: 'checkbox',\n raw: taskRaw[0] + ' ',\n checked: taskRaw[0] !== '[ ]',\n };\n item.checked = checkboxToken.checked;\n if (list.loose) {\n if (item.tokens[0] && ['paragraph', 'text'].includes(item.tokens[0].type) && 'tokens' in item.tokens[0] && item.tokens[0].tokens) {\n item.tokens[0].raw = checkboxToken.raw + item.tokens[0].raw;\n item.tokens[0].text = checkboxToken.raw + item.tokens[0].text;\n item.tokens[0].tokens.unshift(checkboxToken);\n } else {\n item.tokens.unshift({\n type: 'paragraph',\n raw: checkboxToken.raw,\n text: checkboxToken.raw,\n tokens: [checkboxToken],\n });\n }\n } else {\n item.tokens.unshift(checkboxToken);\n }\n }\n } else if (item.task) {\n item.task = false;\n }\n\n if (!list.loose) {\n // Check if list should be loose\n const spacers = item.tokens.filter(t => t.type === 'space');\n const hasMultipleLineBreaks = spacers.length > 0 && spacers.some(t => this.rules.other.anyLine.test(t.raw));\n\n list.loose = hasMultipleLineBreaks;\n }\n }\n\n // Set all items to loose if list is loose\n if (list.loose) {\n for (const item of list.items) {\n item.loose = true;\n for (const token of item.tokens) {\n if (token.type === 'text') {\n token.type = 'paragraph';\n }\n }\n }\n }\n\n return list;\n }\n }\n\n html(src: string): Tokens.HTML | undefined {\n const cap = this.rules.block.html.exec(src);\n if (cap) {\n const raw = trimTrailingBlankLines(cap[0]);\n const token: Tokens.HTML = {\n type: 'html',\n block: true,\n raw,\n pre: cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style',\n text: raw,\n };\n return token;\n }\n }\n\n def(src: string): Tokens.Def | undefined {\n const cap = this.rules.block.def.exec(src);\n if (cap) {\n const tag = cap[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, ' ');\n const href = cap[2] ? cap[2].replace(this.rules.other.hrefBrackets, '$1').replace(this.rules.inline.anyPunctuation, '$1') : '';\n const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline.anyPunctuation, '$1') : cap[3];\n return {\n type: 'def',\n tag,\n raw: rtrim(cap[0], '\\n'),\n href,\n title,\n };\n }\n }\n\n table(src: string): Tokens.Table | undefined {\n const cap = this.rules.block.table.exec(src);\n if (!cap) {\n return;\n }\n\n if (!this.rules.other.tableDelimiter.test(cap[2])) {\n // delimiter row must have a pipe (|) or colon (:) otherwise it is a setext heading\n return;\n }\n\n const headers = splitCells(cap[1]);\n const aligns = cap[2].replace(this.rules.other.tableAlignChars, '').split('|');\n const rows = cap[3]?.trim() ? cap[3].replace(this.rules.other.tableRowBlankLine, '').split('\\n') : [];\n\n const item: Tokens.Table = {\n type: 'table',\n raw: rtrim(cap[0], '\\n'),\n header: [],\n align: [],\n rows: [],\n };\n\n if (headers.length !== aligns.length) {\n // header and align columns must be equal, rows can be different.\n return;\n }\n\n for (const align of aligns) {\n if (this.rules.other.tableAlignRight.test(align)) {\n item.align.push('right');\n } else if (this.rules.other.tableAlignCenter.test(align)) {\n item.align.push('center');\n } else if (this.rules.other.tableAlignLeft.test(align)) {\n item.align.push('left');\n } else {\n item.align.push(null);\n }\n }\n\n for (let i = 0; i < headers.length; i++) {\n item.header.push({\n text: headers[i],\n tokens: this.lexer.inline(headers[i]),\n header: true,\n align: item.align[i],\n });\n }\n\n for (const row of rows) {\n item.rows.push(splitCells(row, item.header.length).map((cell, i) => {\n return {\n text: cell,\n tokens: this.lexer.inline(cell),\n header: false,\n align: item.align[i],\n };\n }));\n }\n\n return item;\n }\n\n lheading(src: string): Tokens.Heading | undefined {\n const cap = this.rules.block.lheading.exec(src);\n if (cap) {\n const text = cap[1].trim();\n return {\n type: 'heading',\n raw: rtrim(cap[0], '\\n'),\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text,\n tokens: this.lexer.inline(text),\n };\n }\n }\n\n paragraph(src: string): Tokens.Paragraph | undefined {\n const cap = this.rules.block.paragraph.exec(src);\n if (cap) {\n const text = cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1];\n return {\n type: 'paragraph',\n raw: cap[0],\n text,\n tokens: this.lexer.inline(text),\n };\n }\n }\n\n text(src: string): Tokens.Text | undefined {\n const cap = this.rules.block.text.exec(src);\n if (cap) {\n return {\n type: 'text',\n raw: cap[0],\n text: cap[0],\n tokens: this.lexer.inline(cap[0]),\n };\n }\n }\n\n escape(src: string): Tokens.Escape | undefined {\n const cap = this.rules.inline.escape.exec(src);\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: cap[1],\n };\n }\n }\n\n tag(src: string): Tokens.Tag | undefined {\n const cap = this.rules.inline.tag.exec(src);\n if (cap) {\n if (!this.lexer.state.inLink && this.rules.other.startATag.test(cap[0])) {\n this.lexer.state.inLink = true;\n } else if (this.lexer.state.inLink && this.rules.other.endATag.test(cap[0])) {\n this.lexer.state.inLink = false;\n }\n if (!this.lexer.state.inRawBlock && this.rules.other.startPreScriptTag.test(cap[0])) {\n this.lexer.state.inRawBlock = true;\n } else if (this.lexer.state.inRawBlock && this.rules.other.endPreScriptTag.test(cap[0])) {\n this.lexer.state.inRawBlock = false;\n }\n\n return {\n type: 'html',\n raw: cap[0],\n inLink: this.lexer.state.inLink,\n inRawBlock: this.lexer.state.inRawBlock,\n block: false,\n text: cap[0],\n };\n }\n }\n\n link(src: string): Tokens.Link | Tokens.Image | undefined {\n const cap = this.rules.inline.link.exec(src);\n if (cap) {\n const trimmedUrl = cap[2].trim();\n if (!this.options.pedantic && this.rules.other.startAngleBracket.test(trimmedUrl)) {\n // commonmark requires matching angle brackets\n if (!(this.rules.other.endAngleBracket.test(trimmedUrl))) {\n return;\n }\n\n // ending angle bracket cannot be escaped\n const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n } else {\n // find closing parenthesis\n const lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex === -2) {\n // more open parens than closed\n return;\n }\n\n if (lastParenIndex > -1) {\n const start = cap[0].indexOf('!') === 0 ? 5 : 4;\n const linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n }\n let href = cap[2];\n let title = '';\n if (this.options.pedantic) {\n // split pedantic href and title\n const link = this.rules.other.pedanticHrefTitle.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n\n href = href.trim();\n if (this.rules.other.startAngleBracket.test(href)) {\n if (this.options.pedantic && !(this.rules.other.endAngleBracket.test(trimmedUrl))) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n } else {\n href = href.slice(1, -1);\n }\n }\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline.anyPunctuation, '$1') : href,\n title: title ? title.replace(this.rules.inline.anyPunctuation, '$1') : title,\n }, cap[0], this.lexer, this.rules);\n }\n }\n\n reflink(src: string, links: Links): Tokens.Link | Tokens.Image | Tokens.Text | undefined {\n let cap;\n if ((cap = this.rules.inline.reflink.exec(src))\n || (cap = this.rules.inline.nolink.exec(src))) {\n const linkString = (cap[2] || cap[1]).replace(this.rules.other.multipleSpaceGlobal, ' ');\n const link = links[linkString.toLowerCase()];\n if (!link) {\n const text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text,\n };\n }\n return outputLink(cap, link, cap[0], this.lexer, this.rules);\n }\n }\n\n emStrong(src: string, maskedSrc: string, prevChar = ''): Tokens.Em | Tokens.Strong | undefined {\n let match = this.rules.inline.emStrongLDelim.exec(src);\n if (!match) return;\n if (!match[1] && !match[2] && !match[3] && !match[4]) return;\n\n // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n if (match[4] && prevChar.match(this.rules.other.unicodeAlphaNumeric)) return;\n\n const nextChar = match[1] || match[3] || '';\n\n if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {\n // unicode Regex counts emoji as 1 char; spread into array for proper count (used multiple times below)\n const lLength = [...match[0]].length - 1;\n let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;\n\n const endReg = match[0][0] === '*' ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;\n endReg.lastIndex = 0;\n\n // Clip maskedSrc to same section of string as src (move to lexer?)\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n\n while ((match = endReg.exec(maskedSrc)) !== null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n\n if (!rDelim) continue; // skip single * in __abc*abc__\n\n rLength = [...rDelim].length;\n\n if (match[3] || match[4]) { // found another Left Delim\n delimTotal += rLength;\n continue;\n } else if (match[5] || match[6]) { // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n\n delimTotal -= rLength;\n\n if (delimTotal > 0) continue; // Haven't found enough closing delimiters\n\n // Remove extra characters. *a*** -> *a*\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n // char length can be >1 for unicode characters;\n const lastCharLength = [...match[0]][0].length;\n const raw = src.slice(0, lLength + match.index + lastCharLength + rLength);\n\n // Create `em` if smallest delimiter has odd char count. *a***\n if (Math.min(lLength, rLength) % 2) {\n const text = raw.slice(1, -1);\n return {\n type: 'em',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text),\n };\n }\n\n // Create 'strong' if smallest delimiter has even char count. **a***\n const text = raw.slice(2, -2);\n return {\n type: 'strong',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text),\n };\n }\n }\n }\n\n codespan(src: string): Tokens.Codespan | undefined {\n const cap = this.rules.inline.code.exec(src);\n if (cap) {\n let text = cap[2].replace(this.rules.other.newLineCharGlobal, ' ');\n const hasNonSpaceChars = this.rules.other.nonSpaceChar.test(text);\n const hasSpaceCharsOnBothEnds = this.rules.other.startingSpaceChar.test(text) && this.rules.other.endingSpaceChar.test(text);\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n return {\n type: 'codespan',\n raw: cap[0],\n text,\n };\n }\n }\n\n br(src: string): Tokens.Br | undefined {\n const cap = this.rules.inline.br.exec(src);\n if (cap) {\n return {\n type: 'br',\n raw: cap[0],\n };\n }\n }\n\n del(src: string, maskedSrc: string, prevChar = ''): Tokens.Del | undefined {\n let match = this.rules.inline.delLDelim.exec(src);\n if (!match) return;\n\n const nextChar = match[1] || '';\n\n if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {\n // unicode Regex counts emoji as 1 char; spread into array for proper count\n const lLength = [...match[0]].length - 1;\n let rDelim, rLength, delimTotal = lLength;\n\n const endReg = this.rules.inline.delRDelim;\n endReg.lastIndex = 0;\n\n // Clip maskedSrc to same section of string as src\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n\n while ((match = endReg.exec(maskedSrc)) !== null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n\n if (!rDelim) continue;\n\n rLength = [...rDelim].length;\n\n if (rLength !== lLength) continue;\n\n if (match[3] || match[4]) { // found another Left Delim\n delimTotal += rLength;\n continue;\n }\n\n delimTotal -= rLength;\n\n if (delimTotal > 0) continue; // Haven't found enough closing delimiters\n\n // Remove extra characters\n rLength = Math.min(rLength, rLength + delimTotal);\n // char length can be >1 for unicode characters\n const lastCharLength = [...match[0]][0].length;\n const raw = src.slice(0, lLength + match.index + lastCharLength + rLength);\n\n // Create del token - only single ~ or double ~~ supported\n const text = raw.slice(lLength, -lLength);\n return {\n type: 'del',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text),\n };\n }\n }\n }\n\n autolink(src: string): Tokens.Link | undefined {\n const cap = this.rules.inline.autolink.exec(src);\n if (cap) {\n let text, href;\n if (cap[2] === '@') {\n text = cap[1];\n href = 'mailto:' + text;\n } else {\n text = cap[1];\n href = text;\n }\n\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text,\n },\n ],\n };\n }\n }\n\n url(src: string): Tokens.Link | undefined {\n let cap;\n if (cap = this.rules.inline.url.exec(src)) {\n let text, href;\n if (cap[2] === '@') {\n text = cap[0];\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n let prevCapZero;\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])?.[0] ?? '';\n } while (prevCapZero !== cap[0]);\n text = cap[0];\n if (cap[1] === 'www.') {\n href = 'http://' + cap[0];\n } else {\n href = cap[0];\n }\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text,\n },\n ],\n };\n }\n }\n\n inlineText(src: string): Tokens.Text | undefined {\n const cap = this.rules.inline.text.exec(src);\n if (cap) {\n const escaped = this.lexer.state.inRawBlock;\n return {\n type: 'text',\n raw: cap[0],\n text: cap[0],\n escaped,\n };\n }\n }\n}\n", "import { _Tokenizer } from './Tokenizer.ts';\nimport { _defaults } from './defaults.ts';\nimport { other, block, inline } from './rules.ts';\nimport type { Token, TokensList, Tokens } from './Tokens.ts';\nimport type { MarkedOptions } from './MarkedOptions.ts';\n\n/**\n * Block Lexer\n */\nexport class _Lexer {\n tokens: TokensList;\n options: MarkedOptions;\n state: {\n inLink: boolean;\n inRawBlock: boolean;\n top: boolean;\n };\n\n public inlineQueue: { src: string, tokens: Token[] }[];\n\n private tokenizer: _Tokenizer;\n\n constructor(options?: MarkedOptions) {\n // TokenList cannot be created in one go\n this.tokens = [] as unknown as TokensList;\n this.tokens.links = Object.create(null);\n this.options = options || _defaults;\n this.options.tokenizer = this.options.tokenizer || new _Tokenizer();\n this.tokenizer = this.options.tokenizer;\n this.tokenizer.options = this.options;\n this.tokenizer.lexer = this;\n this.inlineQueue = [];\n this.state = {\n inLink: false,\n inRawBlock: false,\n top: true,\n };\n\n const rules = {\n other,\n block: block.normal,\n inline: inline.normal,\n };\n\n if (this.options.pedantic) {\n rules.block = block.pedantic;\n rules.inline = inline.pedantic;\n } else if (this.options.gfm) {\n rules.block = block.gfm;\n if (this.options.breaks) {\n rules.inline = inline.breaks;\n } else {\n rules.inline = inline.gfm;\n }\n }\n this.tokenizer.rules = rules;\n }\n\n /**\n * Expose Rules\n */\n static get rules() {\n return {\n block,\n inline,\n };\n }\n\n /**\n * Static Lex Method\n */\n static lex(src: string, options?: MarkedOptions) {\n const lexer = new _Lexer(options);\n return lexer.lex(src);\n }\n\n /**\n * Static Lex Inline Method\n */\n static lexInline(src: string, options?: MarkedOptions) {\n const lexer = new _Lexer(options);\n return lexer.inlineTokens(src);\n }\n\n /**\n * Preprocessing\n */\n lex(src: string) {\n src = src.replace(other.carriageReturn, '\\n');\n\n this.blockTokens(src, this.tokens);\n\n for (let i = 0; i < this.inlineQueue.length; i++) {\n const next = this.inlineQueue[i];\n this.inlineTokens(next.src, next.tokens);\n }\n this.inlineQueue = [];\n\n return this.tokens;\n }\n\n /**\n * Lexing\n */\n blockTokens(src: string, tokens?: Token[], lastParagraphClipped?: boolean): Token[];\n blockTokens(src: string, tokens?: TokensList, lastParagraphClipped?: boolean): TokensList;\n blockTokens(src: string, tokens: Token[] = [], lastParagraphClipped = false) {\n this.tokenizer.lexer = this;\n if (this.options.pedantic) {\n src = src.replace(other.tabCharGlobal, ' ').replace(other.spaceLine, '');\n }\n\n let srcLength = Infinity;\n while (src) {\n if (src.length < srcLength) {\n srcLength = src.length;\n } else {\n this.infiniteLoopError(src.charCodeAt(0));\n break;\n }\n\n let token: Tokens.Generic | undefined;\n\n if (this.options.extensions?.block?.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n\n // newline\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n const lastToken = tokens.at(-1);\n if (token.raw.length === 1 && lastToken !== undefined) {\n // if there's a single \\n as a spacer, it's terminating the last line,\n // so move it there so that we don't get unnecessary paragraph tags\n lastToken.raw += '\\n';\n } else {\n tokens.push(token);\n }\n continue;\n }\n\n // code\n if (token = this.tokenizer.code(src)) {\n src = src.substring(token.raw.length);\n const lastToken = tokens.at(-1);\n // An indented code block cannot interrupt a paragraph.\n if (lastToken?.type === 'paragraph' || lastToken?.type === 'text') {\n lastToken.raw += (lastToken.raw.endsWith('\\n') ? '' : '\\n') + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.at(-1)!.src = lastToken.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n\n // fences\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // heading\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // hr\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // blockquote\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // list\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // html\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // def\n if (token = this.tokenizer.def(src)) {\n src = src.substring(token.raw.length);\n const lastToken = tokens.at(-1);\n if (lastToken?.type === 'paragraph' || lastToken?.type === 'text') {\n lastToken.raw += (lastToken.raw.endsWith('\\n') ? '' : '\\n') + token.raw;\n lastToken.text += '\\n' + token.raw;\n this.inlineQueue.at(-1)!.src = lastToken.text;\n } else if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title,\n };\n tokens.push(token);\n }\n continue;\n }\n\n // table (gfm)\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // lheading\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // top-level paragraph\n // prevent paragraph consuming extensions by clipping 'src' to extension start\n let cutSrc = src;\n if (this.options.extensions?.startBlock) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startBlock.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n const lastToken = tokens.at(-1);\n if (lastParagraphClipped && lastToken?.type === 'paragraph') {\n lastToken.raw += (lastToken.raw.endsWith('\\n') ? '' : '\\n') + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue.at(-1)!.src = lastToken.text;\n } else {\n tokens.push(token);\n }\n lastParagraphClipped = cutSrc.length !== src.length;\n src = src.substring(token.raw.length);\n continue;\n }\n\n // text\n if (token = this.tokenizer.text(src)) {\n src = src.substring(token.raw.length);\n const lastToken = tokens.at(-1);\n if (lastToken?.type === 'text') {\n lastToken.raw += (lastToken.raw.endsWith('\\n') ? '' : '\\n') + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue.at(-1)!.src = lastToken.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n\n if (src) {\n this.infiniteLoopError(src.charCodeAt(0));\n break;\n }\n }\n\n this.state.top = true;\n return tokens;\n }\n\n inline(src: string, tokens: Token[] = []) {\n this.inlineQueue.push({ src, tokens });\n return tokens;\n }\n\n /**\n * Lexing/Compiling\n */\n inlineTokens(src: string, tokens: Token[] = []): Token[] {\n this.tokenizer.lexer = this;\n // String with links masked to avoid interference with em and strong\n let maskedSrc = src;\n let match: RegExpExecArray | null = null;\n\n // Mask out reflinks\n if (this.tokens.links) {\n const links = Object.keys(this.tokens.links);\n if (links.length > 0) {\n while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) !== null) {\n if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n maskedSrc = maskedSrc.slice(0, match.index)\n + '[' + 'a'.repeat(match[0].length - 2) + ']'\n + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n }\n }\n\n // Mask out escaped characters\n while ((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) !== null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);\n }\n\n // Mask out other blocks\n let offset;\n while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) !== null) {\n offset = match[2] ? match[2].length : 0;\n maskedSrc = maskedSrc.slice(0, match.index + offset) + '[' + 'a'.repeat(match[0].length - offset - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n }\n\n // Mask out blocks from extensions\n maskedSrc = this.options.hooks?.emStrongMask?.call({ lexer: this }, maskedSrc) ?? maskedSrc;\n\n let keepPrevChar = false;\n let prevChar = '';\n let srcLength = Infinity;\n while (src) {\n if (src.length < srcLength) {\n srcLength = src.length;\n } else {\n this.infiniteLoopError(src.charCodeAt(0));\n break;\n }\n\n if (!keepPrevChar) {\n prevChar = '';\n }\n keepPrevChar = false;\n\n let token: Tokens.Generic | undefined;\n\n // extensions\n if (this.options.extensions?.inline?.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n\n // escape\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // tag\n if (token = this.tokenizer.tag(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // link\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // reflink, nolink\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n const lastToken = tokens.at(-1);\n if (token.type === 'text' && lastToken?.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n\n // em & strong\n if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // code\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // br\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // del (gfm)\n if (token = this.tokenizer.del(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // autolink\n if (token = this.tokenizer.autolink(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // url (gfm)\n if (!this.state.inLink && (token = this.tokenizer.url(src))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n // text\n // prevent inlineText consuming extensions by clipping 'src' to extension start\n let cutSrc = src;\n if (this.options.extensions?.startInline) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startInline.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (token = this.tokenizer.inlineText(cutSrc)) {\n src = src.substring(token.raw.length);\n if (token.raw.slice(-1) !== '_') { // Track prevChar before string of ____ started\n prevChar = token.raw.slice(-1);\n }\n keepPrevChar = true;\n const lastToken = tokens.at(-1);\n if (lastToken?.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n continue;\n }\n\n if (src) {\n this.infiniteLoopError(src.charCodeAt(0));\n break;\n }\n }\n\n return tokens;\n }\n\n private infiniteLoopError(byte: number) {\n const errMsg = 'Infinite loop on byte: ' + byte;\n if (this.options.silent) {\n console.error(errMsg);\n } else {\n throw new Error(errMsg);\n }\n }\n}\n", "import { _defaults } from './defaults.ts';\nimport {\n cleanUrl,\n escapeHtmlEntities,\n} from './helpers.ts';\nimport { other } from './rules.ts';\nimport type { MarkedOptions } from './MarkedOptions.ts';\nimport type { Tokens } from './Tokens.ts';\nimport type { _Parser } from './Parser.ts';\n\n/**\n * Renderer\n */\nexport class _Renderer {\n options: MarkedOptions;\n parser!: _Parser; // set by the parser\n constructor(options?: MarkedOptions) {\n this.options = options || _defaults;\n }\n\n space(token: Tokens.Space): RendererOutput {\n return '' as RendererOutput;\n }\n\n code({ text, lang, escaped }: Tokens.Code): RendererOutput {\n const langString = (lang || '').match(other.notSpaceStart)?.[0];\n\n const code = text.replace(other.endingNewline, '') + '\\n';\n\n if (!langString) {\n return '
    '\n        + (escaped ? code : escapeHtmlEntities(code, true))\n        + '
    \\n' as RendererOutput;\n }\n\n return '
    '\n      + (escaped ? code : escapeHtmlEntities(code, true))\n      + '
    \\n' as RendererOutput;\n }\n\n blockquote({ tokens }: Tokens.Blockquote): RendererOutput {\n const body = this.parser.parse(tokens);\n return `
    \\n${body}
    \\n` as RendererOutput;\n }\n\n html({ text }: Tokens.HTML | Tokens.Tag): RendererOutput {\n return text as RendererOutput;\n }\n\n def(token: Tokens.Def): RendererOutput {\n return '' as RendererOutput;\n }\n\n heading({ tokens, depth }: Tokens.Heading): RendererOutput {\n return `${this.parser.parseInline(tokens)}\\n` as RendererOutput;\n }\n\n hr(token: Tokens.Hr): RendererOutput {\n return '
    \\n' as RendererOutput;\n }\n\n list(token: Tokens.List): RendererOutput {\n const ordered = token.ordered;\n const start = token.start;\n\n let body = '';\n for (let j = 0; j < token.items.length; j++) {\n const item = token.items[j];\n body += this.listitem(item);\n }\n\n const type = ordered ? 'ol' : 'ul';\n const startAttr = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startAttr + '>\\n' + body + '\\n' as RendererOutput;\n }\n\n listitem(item: Tokens.ListItem): RendererOutput {\n return `
  • ${this.parser.parse(item.tokens)}
  • \\n` as RendererOutput;\n }\n\n checkbox({ checked }: Tokens.Checkbox): RendererOutput {\n return ' ' as RendererOutput;\n }\n\n paragraph({ tokens }: Tokens.Paragraph): RendererOutput {\n return `

    ${this.parser.parseInline(tokens)}

    \\n` as RendererOutput;\n }\n\n table(token: Tokens.Table): RendererOutput {\n let header = '';\n\n // header\n let cell = '';\n for (let j = 0; j < token.header.length; j++) {\n cell += this.tablecell(token.header[j]);\n }\n header += this.tablerow({ text: cell as ParserOutput });\n\n let body = '';\n for (let j = 0; j < token.rows.length; j++) {\n const row = token.rows[j];\n\n cell = '';\n for (let k = 0; k < row.length; k++) {\n cell += this.tablecell(row[k]);\n }\n\n body += this.tablerow({ text: cell as ParserOutput });\n }\n if (body) body = `${body}`;\n\n return '\\n'\n + '\\n'\n + header\n + '\\n'\n + body\n + '
    \\n' as RendererOutput;\n }\n\n tablerow({ text }: Tokens.TableRow): RendererOutput {\n return `\\n${text}\\n` as RendererOutput;\n }\n\n tablecell(token: Tokens.TableCell): RendererOutput {\n const content = this.parser.parseInline(token.tokens);\n const type = token.header ? 'th' : 'td';\n const tag = token.align\n ? `<${type} align=\"${token.align}\">`\n : `<${type}>`;\n return tag + content + `\\n` as RendererOutput;\n }\n\n /**\n * span level renderer\n */\n strong({ tokens }: Tokens.Strong): RendererOutput {\n return `${this.parser.parseInline(tokens)}` as RendererOutput;\n }\n\n em({ tokens }: Tokens.Em): RendererOutput {\n return `${this.parser.parseInline(tokens)}` as RendererOutput;\n }\n\n codespan({ text }: Tokens.Codespan): RendererOutput {\n return `${escapeHtmlEntities(text, true)}` as RendererOutput;\n }\n\n br(token: Tokens.Br): RendererOutput {\n return '
    ' as RendererOutput;\n }\n\n del({ tokens }: Tokens.Del): RendererOutput {\n return `${this.parser.parseInline(tokens)}` as RendererOutput;\n }\n\n link({ href, title, tokens }: Tokens.Link): RendererOutput {\n const text = this.parser.parseInline(tokens) as string;\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text as RendererOutput;\n }\n href = cleanHref;\n let out = '
    ';\n return out as RendererOutput;\n }\n\n image({ href, title, text, tokens }: Tokens.Image): RendererOutput {\n if (tokens) {\n text = this.parser.parseInline(tokens, this.parser.textRenderer) as string;\n }\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return escapeHtmlEntities(text) as RendererOutput;\n }\n href = cleanHref;\n\n let out = `\"${escapeHtmlEntities(text)}\"`;\n {\n // no need for block level renderers\n strong({ text }: Tokens.Strong): RendererOutput {\n return text as RendererOutput;\n }\n\n em({ text }: Tokens.Em): RendererOutput {\n return text as RendererOutput;\n }\n\n codespan({ text }: Tokens.Codespan): RendererOutput {\n return text as RendererOutput;\n }\n\n del({ text }: Tokens.Del): RendererOutput {\n return text as RendererOutput;\n }\n\n html({ text }: Tokens.HTML | Tokens.Tag): RendererOutput {\n return text as RendererOutput;\n }\n\n text({ text }: Tokens.Text | Tokens.Escape | Tokens.Tag): RendererOutput {\n return text as RendererOutput;\n }\n\n link({ text }: Tokens.Link): RendererOutput {\n return '' + text as RendererOutput;\n }\n\n image({ text }: Tokens.Image): RendererOutput {\n return '' + text as RendererOutput;\n }\n\n br(): RendererOutput {\n return '' as RendererOutput;\n }\n\n checkbox({ raw }: Tokens.Checkbox): RendererOutput {\n return raw as RendererOutput;\n }\n}\n", "import { _Renderer } from './Renderer.ts';\nimport { _TextRenderer } from './TextRenderer.ts';\nimport { _defaults } from './defaults.ts';\nimport type { MarkedToken, Token, Tokens } from './Tokens.ts';\nimport type { MarkedOptions } from './MarkedOptions.ts';\n\n/**\n * Parsing & Compiling\n */\nexport class _Parser {\n options: MarkedOptions;\n renderer: _Renderer;\n textRenderer: _TextRenderer;\n constructor(options?: MarkedOptions) {\n this.options = options || _defaults;\n this.options.renderer = this.options.renderer || new _Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.renderer.parser = this;\n this.textRenderer = new _TextRenderer();\n }\n\n /**\n * Static Parse Method\n */\n static parse(tokens: Token[], options?: MarkedOptions) {\n const parser = new _Parser(options);\n return parser.parse(tokens);\n }\n\n /**\n * Static Parse Inline Method\n */\n static parseInline(tokens: Token[], options?: MarkedOptions) {\n const parser = new _Parser(options);\n return parser.parseInline(tokens);\n }\n\n /**\n * Parse Loop\n */\n parse(tokens: Token[]): ParserOutput {\n this.renderer.parser = this;\n let out = '';\n\n for (let i = 0; i < tokens.length; i++) {\n const anyToken = tokens[i];\n\n // Run any renderer extensions\n if (this.options.extensions?.renderers?.[anyToken.type]) {\n const genericToken = anyToken as Tokens.Generic;\n const ret = this.options.extensions.renderers[genericToken.type].call({ parser: this }, genericToken);\n if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'def', 'paragraph', 'text'].includes(genericToken.type)) {\n out += ret || '';\n continue;\n }\n }\n\n const token = anyToken as MarkedToken;\n\n switch (token.type) {\n case 'space': {\n out += this.renderer.space(token);\n break;\n }\n case 'hr': {\n out += this.renderer.hr(token);\n break;\n }\n case 'heading': {\n out += this.renderer.heading(token);\n break;\n }\n case 'code': {\n out += this.renderer.code(token);\n break;\n }\n case 'table': {\n out += this.renderer.table(token);\n break;\n }\n case 'blockquote': {\n out += this.renderer.blockquote(token);\n break;\n }\n case 'list': {\n out += this.renderer.list(token);\n break;\n }\n case 'checkbox': {\n out += this.renderer.checkbox(token);\n break;\n }\n case 'html': {\n out += this.renderer.html(token);\n break;\n }\n case 'def': {\n out += this.renderer.def(token);\n break;\n }\n case 'paragraph': {\n out += this.renderer.paragraph(token);\n break;\n }\n case 'text': {\n out += this.renderer.text(token);\n break;\n }\n\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '' as ParserOutput;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n\n return out as ParserOutput;\n }\n\n /**\n * Parse Inline Tokens\n */\n parseInline(tokens: Token[], renderer: _Renderer | _TextRenderer = this.renderer): ParserOutput {\n this.renderer.parser = this;\n let out = '';\n\n for (let i = 0; i < tokens.length; i++) {\n const anyToken = tokens[i];\n\n // Run any renderer extensions\n if (this.options.extensions?.renderers?.[anyToken.type]) {\n const ret = this.options.extensions.renderers[anyToken.type].call({ parser: this }, anyToken);\n if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(anyToken.type)) {\n out += ret || '';\n continue;\n }\n }\n\n const token = anyToken as MarkedToken;\n\n switch (token.type) {\n case 'escape': {\n out += renderer.text(token);\n break;\n }\n case 'html': {\n out += renderer.html(token);\n break;\n }\n case 'link': {\n out += renderer.link(token);\n break;\n }\n case 'image': {\n out += renderer.image(token);\n break;\n }\n case 'checkbox': {\n out += renderer.checkbox(token);\n break;\n }\n case 'strong': {\n out += renderer.strong(token);\n break;\n }\n case 'em': {\n out += renderer.em(token);\n break;\n }\n case 'codespan': {\n out += renderer.codespan(token);\n break;\n }\n case 'br': {\n out += renderer.br(token);\n break;\n }\n case 'del': {\n out += renderer.del(token);\n break;\n }\n case 'text': {\n out += renderer.text(token);\n break;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '' as ParserOutput;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out as ParserOutput;\n }\n}\n", "import { _defaults } from './defaults.ts';\nimport { _Lexer } from './Lexer.ts';\nimport { _Parser } from './Parser.ts';\nimport type { MarkedOptions } from './MarkedOptions.ts';\nimport type { Token, TokensList } from './Tokens.ts';\n\nexport class _Hooks {\n options: MarkedOptions;\n block?: boolean;\n\n constructor(options?: MarkedOptions) {\n this.options = options || _defaults;\n }\n\n static passThroughHooks = new Set([\n 'preprocess',\n 'postprocess',\n 'processAllTokens',\n 'emStrongMask',\n ]);\n\n static passThroughHooksRespectAsync = new Set([\n 'preprocess',\n 'postprocess',\n 'processAllTokens',\n ]);\n\n /**\n * Process markdown before marked\n */\n preprocess(markdown: string) {\n return markdown;\n }\n\n /**\n * Process HTML after marked is finished\n */\n postprocess(html: ParserOutput) {\n return html;\n }\n\n /**\n * Process all tokens before walk tokens\n */\n processAllTokens(tokens: Token[] | TokensList) {\n return tokens;\n }\n\n /**\n * Mask contents that should not be interpreted as em/strong delimiters\n */\n emStrongMask(src: string) {\n return src;\n }\n\n /**\n * Provide function to tokenize markdown\n */\n provideLexer(block = this.block) {\n return block ? _Lexer.lex : _Lexer.lexInline;\n }\n\n /**\n * Provide function to parse tokens\n */\n provideParser(block = this.block) {\n return block ? _Parser.parse : _Parser.parseInline;\n }\n}\n", "import { _getDefaults } from './defaults.ts';\nimport { _Lexer } from './Lexer.ts';\nimport { _Parser } from './Parser.ts';\nimport { _Hooks } from './Hooks.ts';\nimport { _Renderer } from './Renderer.ts';\nimport { _Tokenizer } from './Tokenizer.ts';\nimport { _TextRenderer } from './TextRenderer.ts';\nimport { escapeHtmlEntities } from './helpers.ts';\nimport type { MarkedExtension, MarkedOptions } from './MarkedOptions.ts';\nimport type { Token, Tokens, TokensList } from './Tokens.ts';\n\nexport type MaybePromise = void | Promise;\n\ntype UnknownFunction = (...args: unknown[]) => unknown;\ntype GenericRendererFunction = (...args: unknown[]) => string | false;\n\nexport class Marked {\n defaults = _getDefaults();\n options = this.setOptions;\n\n parse = this.parseMarkdown(true);\n parseInline = this.parseMarkdown(false);\n\n Parser = _Parser;\n Renderer = _Renderer;\n TextRenderer = _TextRenderer;\n Lexer = _Lexer;\n Tokenizer = _Tokenizer;\n Hooks = _Hooks;\n\n constructor(...args: MarkedExtension[]) {\n this.use(...args);\n }\n\n /**\n * Run callback for every token\n */\n walkTokens(tokens: Token[] | TokensList, callback: (token: Token) => MaybePromise | MaybePromise[]) {\n let values: MaybePromise[] = [];\n for (const token of tokens) {\n values = values.concat(callback.call(this, token));\n switch (token.type) {\n case 'table': {\n const tableToken = token as Tokens.Table;\n for (const cell of tableToken.header) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n for (const row of tableToken.rows) {\n for (const cell of row) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n }\n break;\n }\n case 'list': {\n const listToken = token as Tokens.List;\n values = values.concat(this.walkTokens(listToken.items, callback));\n break;\n }\n default: {\n const genericToken = token as Tokens.Generic;\n if (this.defaults.extensions?.childTokens?.[genericToken.type]) {\n this.defaults.extensions.childTokens[genericToken.type].forEach((childTokens) => {\n const tokens = genericToken[childTokens].flat(Infinity) as Token[] | TokensList;\n values = values.concat(this.walkTokens(tokens, callback));\n });\n } else if (genericToken.tokens) {\n values = values.concat(this.walkTokens(genericToken.tokens, callback));\n }\n }\n }\n }\n return values;\n }\n\n use(...args: MarkedExtension[]) {\n const extensions: MarkedOptions['extensions'] = this.defaults.extensions || { renderers: {}, childTokens: {} };\n\n args.forEach((pack) => {\n // copy options to new object\n const opts = { ...pack } as MarkedOptions;\n\n // set async to true if it was set to true before\n opts.async = this.defaults.async || opts.async || false;\n\n // ==-- Parse \"addon\" extensions --== //\n if (pack.extensions) {\n pack.extensions.forEach((ext) => {\n if (!ext.name) {\n throw new Error('extension name required');\n }\n if ('renderer' in ext) { // Renderer extensions\n const prevRenderer = extensions.renderers[ext.name];\n if (prevRenderer) {\n // Replace extension with func to run new extension but fall back if false\n extensions.renderers[ext.name] = function(...args) {\n let ret = ext.renderer.apply(this, args);\n if (ret === false) {\n ret = prevRenderer.apply(this, args);\n }\n return ret;\n };\n } else {\n extensions.renderers[ext.name] = ext.renderer;\n }\n }\n if ('tokenizer' in ext) { // Tokenizer Extensions\n if (!ext.level || (ext.level !== 'block' && ext.level !== 'inline')) {\n throw new Error(\"extension level must be 'block' or 'inline'\");\n }\n const extLevel = extensions[ext.level];\n if (extLevel) {\n extLevel.unshift(ext.tokenizer);\n } else {\n extensions[ext.level] = [ext.tokenizer];\n }\n if (ext.start) { // Function to check for start of token\n if (ext.level === 'block') {\n if (extensions.startBlock) {\n extensions.startBlock.push(ext.start);\n } else {\n extensions.startBlock = [ext.start];\n }\n } else if (ext.level === 'inline') {\n if (extensions.startInline) {\n extensions.startInline.push(ext.start);\n } else {\n extensions.startInline = [ext.start];\n }\n }\n }\n }\n if ('childTokens' in ext && ext.childTokens) { // Child tokens to be visited by walkTokens\n extensions.childTokens[ext.name] = ext.childTokens;\n }\n });\n opts.extensions = extensions;\n }\n\n // ==-- Parse \"overwrite\" extensions --== //\n if (pack.renderer) {\n const renderer = this.defaults.renderer || new _Renderer(this.defaults);\n for (const prop in pack.renderer) {\n if (!(prop in renderer)) {\n throw new Error(`renderer '${prop}' does not exist`);\n }\n if (['options', 'parser'].includes(prop)) {\n // ignore options property\n continue;\n }\n const rendererProp = prop as Exclude, 'options' | 'parser'>;\n const rendererFunc = pack.renderer[rendererProp] as GenericRendererFunction;\n const prevRenderer = renderer[rendererProp] as GenericRendererFunction;\n // Replace renderer with func to run extension, but fall back if false\n renderer[rendererProp] = (...args: unknown[]) => {\n let ret = rendererFunc.apply(renderer, args);\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n return (ret || '') as RendererOutput;\n };\n }\n opts.renderer = renderer;\n }\n if (pack.tokenizer) {\n const tokenizer = this.defaults.tokenizer || new _Tokenizer(this.defaults);\n for (const prop in pack.tokenizer) {\n if (!(prop in tokenizer)) {\n throw new Error(`tokenizer '${prop}' does not exist`);\n }\n if (['options', 'rules', 'lexer'].includes(prop)) {\n // ignore options, rules, and lexer properties\n continue;\n }\n const tokenizerProp = prop as Exclude, 'options' | 'rules' | 'lexer'>;\n const tokenizerFunc = pack.tokenizer[tokenizerProp] as UnknownFunction;\n const prevTokenizer = tokenizer[tokenizerProp] as UnknownFunction;\n // Replace tokenizer with func to run extension, but fall back if false\n // @ts-expect-error cannot type tokenizer function dynamically\n tokenizer[tokenizerProp] = (...args: unknown[]) => {\n let ret = tokenizerFunc.apply(tokenizer, args);\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n return ret;\n };\n }\n opts.tokenizer = tokenizer;\n }\n\n // ==-- Parse Hooks extensions --== //\n if (pack.hooks) {\n const hooks = this.defaults.hooks || new _Hooks();\n for (const prop in pack.hooks) {\n if (!(prop in hooks)) {\n throw new Error(`hook '${prop}' does not exist`);\n }\n if (['options', 'block'].includes(prop)) {\n // ignore options and block properties\n continue;\n }\n const hooksProp = prop as Exclude, 'options' | 'block'>;\n const hooksFunc = pack.hooks[hooksProp] as UnknownFunction;\n const prevHook = hooks[hooksProp] as UnknownFunction;\n if (_Hooks.passThroughHooks.has(prop)) {\n // @ts-expect-error cannot type hook function dynamically\n hooks[hooksProp] = (arg: unknown) => {\n if (this.defaults.async && _Hooks.passThroughHooksRespectAsync.has(prop)) {\n return (async() => {\n const ret = await hooksFunc.call(hooks, arg);\n return prevHook.call(hooks, ret);\n })();\n }\n\n const ret = hooksFunc.call(hooks, arg);\n return prevHook.call(hooks, ret);\n };\n } else {\n // @ts-expect-error cannot type hook function dynamically\n hooks[hooksProp] = (...args: unknown[]) => {\n if (this.defaults.async) {\n return (async() => {\n let ret = await hooksFunc.apply(hooks, args);\n if (ret === false) {\n ret = await prevHook.apply(hooks, args);\n }\n return ret;\n })();\n }\n\n let ret = hooksFunc.apply(hooks, args);\n if (ret === false) {\n ret = prevHook.apply(hooks, args);\n }\n return ret;\n };\n }\n }\n opts.hooks = hooks;\n }\n\n // ==-- Parse WalkTokens extensions --== //\n if (pack.walkTokens) {\n const walkTokens = this.defaults.walkTokens;\n const packWalktokens = pack.walkTokens;\n opts.walkTokens = function(token) {\n let values: MaybePromise[] = [];\n values.push(packWalktokens.call(this, token));\n if (walkTokens) {\n values = values.concat(walkTokens.call(this, token));\n }\n return values;\n };\n }\n\n this.defaults = { ...this.defaults, ...opts };\n });\n\n return this;\n }\n\n setOptions(opt: MarkedOptions) {\n this.defaults = { ...this.defaults, ...opt };\n return this;\n }\n\n lexer(src: string, options?: MarkedOptions) {\n return _Lexer.lex(src, options ?? this.defaults);\n }\n\n parser(tokens: Token[], options?: MarkedOptions) {\n return _Parser.parse(tokens, options ?? this.defaults);\n }\n\n private parseMarkdown(blockType: boolean) {\n type overloadedParse = {\n (src: string, options: MarkedOptions & { async: true }): Promise;\n (src: string, options: MarkedOptions & { async: false }): ParserOutput;\n (src: string, options?: MarkedOptions | null): ParserOutput | Promise;\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const parse: overloadedParse = (src: string, options?: MarkedOptions | null): any => {\n const origOpt = { ...options };\n const opt = { ...this.defaults, ...origOpt };\n\n const throwError = this.onError(!!opt.silent, !!opt.async);\n\n // throw error if an extension set async to true but parse was called with async: false\n if (this.defaults.async === true && origOpt.async === false) {\n return throwError(new Error('marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.'));\n }\n\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n return throwError(new Error('marked(): input parameter is undefined or null'));\n }\n if (typeof src !== 'string') {\n return throwError(new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected'));\n }\n\n if (opt.hooks) {\n opt.hooks.options = opt;\n opt.hooks.block = blockType;\n }\n\n if (opt.async) {\n return (async() => {\n const processedSrc = opt.hooks ? await opt.hooks.preprocess(src) : src;\n const lexer = opt.hooks ? await opt.hooks.provideLexer(blockType) : (blockType ? _Lexer.lex : _Lexer.lexInline);\n const tokens = await lexer(processedSrc, opt);\n const processedTokens = opt.hooks ? await opt.hooks.processAllTokens(tokens) : tokens;\n if (opt.walkTokens) {\n await Promise.all(this.walkTokens(processedTokens, opt.walkTokens));\n }\n const parser = opt.hooks ? await opt.hooks.provideParser(blockType) : (blockType ? _Parser.parse : _Parser.parseInline);\n const html = await parser(processedTokens, opt);\n return opt.hooks ? await opt.hooks.postprocess(html) : html;\n })().catch(throwError);\n }\n\n try {\n if (opt.hooks) {\n src = opt.hooks.preprocess(src) as string;\n }\n const lexer = opt.hooks ? opt.hooks.provideLexer(blockType) : (blockType ? _Lexer.lex : _Lexer.lexInline);\n let tokens = lexer(src, opt);\n if (opt.hooks) {\n tokens = opt.hooks.processAllTokens(tokens);\n }\n if (opt.walkTokens) {\n this.walkTokens(tokens, opt.walkTokens);\n }\n const parser = opt.hooks ? opt.hooks.provideParser(blockType) : (blockType ? _Parser.parse : _Parser.parseInline);\n let html = parser(tokens, opt);\n if (opt.hooks) {\n html = opt.hooks.postprocess(html);\n }\n return html;\n } catch(e) {\n return throwError(e as Error);\n }\n };\n\n return parse;\n }\n\n private onError(silent: boolean, async: boolean) {\n return (e: Error): string | Promise => {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n\n if (silent) {\n const msg = '

    An error occurred:

    '\n          + escapeHtmlEntities(e.message + '', true)\n          + '
    ';\n if (async) {\n return Promise.resolve(msg);\n }\n return msg;\n }\n\n if (async) {\n return Promise.reject(e);\n }\n throw e;\n };\n }\n}\n", "import { _Lexer } from './Lexer.ts';\nimport { _Parser } from './Parser.ts';\nimport { _Tokenizer } from './Tokenizer.ts';\nimport { _Renderer } from './Renderer.ts';\nimport { _TextRenderer } from './TextRenderer.ts';\nimport { _Hooks } from './Hooks.ts';\nimport { Marked } from './Instance.ts';\nimport {\n _getDefaults,\n changeDefaults,\n _defaults,\n} from './defaults.ts';\nimport type { MarkedExtension, MarkedOptions } from './MarkedOptions.ts';\nimport type { Token, TokensList } from './Tokens.ts';\nimport type { MaybePromise } from './Instance.ts';\n\nconst markedInstance = new Marked();\n\n/**\n * Compiles markdown to HTML asynchronously.\n *\n * @param src String of markdown source to be compiled\n * @param options Hash of options, having async: true\n * @return Promise of string of compiled HTML\n */\nexport function marked(src: string, options: MarkedOptions & { async: true }): Promise;\n\n/**\n * Compiles markdown to HTML.\n *\n * @param src String of markdown source to be compiled\n * @param options Optional hash of options\n * @return String of compiled HTML. Will be a Promise of string if async is set to true by any extensions.\n */\nexport function marked(src: string, options: MarkedOptions & { async: false }): string;\nexport function marked(src: string, options: MarkedOptions & { async: true }): Promise;\nexport function marked(src: string, options?: MarkedOptions | null): string | Promise;\nexport function marked(src: string, opt?: MarkedOptions | null): string | Promise {\n return markedInstance.parse(src, opt);\n}\n\n/**\n * Sets the default options.\n *\n * @param options Hash of options\n */\nmarked.options =\n marked.setOptions = function(options: MarkedOptions) {\n markedInstance.setOptions(options);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n };\n\n/**\n * Gets the original marked default options.\n */\nmarked.getDefaults = _getDefaults;\n\nmarked.defaults = _defaults;\n\n/**\n * Use Extension\n */\n\nmarked.use = function(...args: MarkedExtension[]) {\n markedInstance.use(...args);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n};\n\n/**\n * Run callback for every token\n */\n\nmarked.walkTokens = function(tokens: Token[] | TokensList, callback: (token: Token) => MaybePromise | MaybePromise[]) {\n return markedInstance.walkTokens(tokens, callback);\n};\n\n/**\n * Compiles markdown to HTML without enclosing `p` tag.\n *\n * @param src String of markdown source to be compiled\n * @param options Hash of options\n * @return String of compiled HTML\n */\nmarked.parseInline = markedInstance.parseInline;\n\n/**\n * Expose\n */\nmarked.Parser = _Parser;\nmarked.parser = _Parser.parse;\nmarked.Renderer = _Renderer;\nmarked.TextRenderer = _TextRenderer;\nmarked.Lexer = _Lexer;\nmarked.lexer = _Lexer.lex;\nmarked.Tokenizer = _Tokenizer;\nmarked.Hooks = _Hooks;\nmarked.parse = marked;\n\nexport const options = marked.options;\nexport const setOptions = marked.setOptions;\nexport const use = marked.use;\nexport const walkTokens = marked.walkTokens;\nexport const parseInline = marked.parseInline;\nexport const parse = marked;\nexport const parser = _Parser.parse;\nexport const lexer = _Lexer.lex;\nexport { _defaults as defaults, _getDefaults as getDefaults } from './defaults.ts';\nexport { _Lexer as Lexer } from './Lexer.ts';\nexport { _Parser as Parser } from './Parser.ts';\nexport { _Tokenizer as Tokenizer } from './Tokenizer.ts';\nexport { _Renderer as Renderer } from './Renderer.ts';\nexport { _TextRenderer as TextRenderer } from './TextRenderer.ts';\nexport { _Hooks as Hooks } from './Hooks.ts';\nexport { Marked } from './Instance.ts';\nexport type * from './MarkedOptions.ts';\nexport type * from './Tokens.ts';\n"], - "mappings": "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", - "names": ["_getDefaults", "_defaults", "changeDefaults", "newDefaults", "noopTest", "cachedIndentRegex", "createRegex", "cache", "indent", "cacheIndex", "regex", "edit", "opt", "source", "obj", "name", "val", "valSource", "other", "supportsLookbehind", "a", "bull", "newline", "blockCode", "fences", "hr", "heading", "bullet", "lheadingCore", "lheading", "lheadingGfm", "_paragraph", "blockText", "_blockLabel", "def", "list", "_tag", "_comment", "html", "paragraph", "blockquote", "blockNormal", "gfmTable", "blockGfm", "blockPedantic", "escape", "inlineCode", "br", "inlineText", "_punctuation", "_punctuationOrSpace", "_notPunctuationOrSpace", "punctuation", "_punctuationGfmStrongEm", "_punctuationOrSpaceGfmStrongEm", "_notPunctuationOrSpaceGfmStrongEm", "blockSkip", "emStrongLDelimCore", "emStrongLDelim", "emStrongLDelimGfm", "emStrongRDelimAstCore", "emStrongRDelimAst", "emStrongRDelimAstGfm", "emStrongRDelimUnd", "delLDelim", "delRDelimCore", "delRDelim", "anyPunctuation", "autolink", "_inlineComment", "tag", "_inlineLabel", "link", "reflink", "nolink", "reflinkSearch", "_caseInsensitiveProtocol", "inlineNormal", "inlinePedantic", "inlineGfm", "inlineBreaks", "block", "inline", "escapeReplacements", "getEscapeReplacement", "ch", "escapeHtmlEntities", "encode", "cleanUrl", "href", "splitCells", "tableRow", "count", "row", "match", "offset", "str", "escaped", "curr", "cells", "i", "rtrim", "c", "invert", "l", "suffLen", "currChar", "trimTrailingBlankLines", "lines", "end", "findClosingBracket", "b", "level", "expandTabs", "line", "col", "expanded", "char", "added", "outputLink", "cap", "raw", "lexer", "rules", "title", "text", "token", "indentCodeCompensation", "matchIndentToCode", "indentToCode", "node", "matchIndentInNode", "indentInNode", "_Tokenizer", "options", "src", "trimmed", "tokens", "inBlockquote", "currentLines", "currentRaw", "currentText", "top", "lastToken", "oldToken", "newText", "newToken", "isordered", "itemRegex", "endsWithBlankLine", "endEarly", "itemContents", "nextLine", "blankLine", "nextBulletRegex", "hrRegex", "fencesBeginRegex", "headingBeginRegex", "htmlBeginRegex", "blockquoteBeginRegex", "rawLine", "nextLineWithoutTabs", "lastItem", "item", "itemToken", "taskRaw", "checkboxToken", "spacers", "t", "hasMultipleLineBreaks", "headers", "aligns", "rows", "align", "cell", "trimmedUrl", "rtrimSlash", "lastParenIndex", "linkLen", "links", "linkString", "maskedSrc", "prevChar", "lLength", "rDelim", "rLength", "delimTotal", "midDelimTotal", "endReg", "lastCharLength", "hasNonSpaceChars", "hasSpaceCharsOnBothEnds", "prevCapZero", "_a", "_Lexer", "__Lexer", "next", "lastParagraphClipped", "srcLength", "extTokenizer", "cutSrc", "startIndex", "tempSrc", "tempStart", "getStartIndex", "keepPrevChar", "_e", "byte", "errMsg", "_Renderer", "lang", "langString", "code", "depth", "ordered", "start", "body", "j", "type", "startAttr", "checked", "header", "k", "content", "cleanHref", "out", "_TextRenderer", "_Parser", "__Parser", "anyToken", "genericToken", "ret", "renderer", "_Hooks", "markdown", "Marked", "args", "callback", "values", "tableToken", "listToken", "childTokens", "extensions", "pack", "opts", "ext", "prevRenderer", "extLevel", "prop", "rendererProp", "rendererFunc", "tokenizer", "tokenizerProp", "tokenizerFunc", "prevTokenizer", "hooks", "hooksProp", "hooksFunc", "prevHook", "arg", "walkTokens", "packWalktokens", "blockType", "origOpt", "throwError", "processedSrc", "processedTokens", "e", "silent", "async", "msg", "markedInstance", "marked", "setOptions", "use", "parseInline", "parse", "parser"] -} diff --git a/unpackage/dist/cache/.vite/deps/snarkdown.js b/unpackage/dist/cache/.vite/deps/snarkdown.js index 5ced2b6..fe048dc 100644 --- a/unpackage/dist/cache/.vite/deps/snarkdown.js +++ b/unpackage/dist/cache/.vite/deps/snarkdown.js @@ -1,6 +1,6 @@ -import "./chunk-F3FYYIAV.js"; +import "./chunk-TDUMLE5V.js"; -// ../../../../Projects/uniapp/app-test/test1/node_modules/snarkdown/dist/snarkdown.es.js +// ../../../../../py/77/phone-app------test1-/node_modules/snarkdown/dist/snarkdown.es.js var e = { "": ["", ""], _: ["", ""], "*": ["", ""], "~": ["", ""], "\n": ["
    "], " ": ["
    "], "-": ["
    "] }; function n(e2) { return e2.replace(RegExp("^" + (e2.match(/^(\t| )+/) || "")[0], "gm"), ""); diff --git a/utils/wyxd-parser.js b/utils/wyxd-parser.js new file mode 100644 index 0000000..dc910c1 --- /dev/null +++ b/utils/wyxd-parser.js @@ -0,0 +1,292 @@ +import JSZip from 'jszip' + +const BASE_URL = 'https://cloud.yuxindazhineng.com' +const CACHE_PREFIX = 'wyxd_' + +// ===== 缓存管理 ===== + +const cacheKey = (workspaceId, filePath) => `${CACHE_PREFIX}${workspaceId}_${filePath}` + +export const isWyxdCached = (workspaceId, filePath) => { + try { + const cached = uni.getStorageSync(cacheKey(workspaceId, filePath)) + return !!(cached && cached.slides && cached.slides.length > 0) + } catch (_) { + return false + } +} + +export const getCachedWyxd = (workspaceId, filePath) => { + try { + const cached = uni.getStorageSync(cacheKey(workspaceId, filePath)) + if (cached && cached.slides && cached.slides.length > 0) return cached + } catch (_) {} + return null +} + +export const setCachedWyxd = (workspaceId, filePath, data) => { + try { + const toStore = { ...data, cachedAt: Date.now() } + uni.setStorageSync(cacheKey(workspaceId, filePath), toStore) + } catch (_) {} +} + +export const clearCachedWyxd = (workspaceId, filePath) => { + try { + uni.removeStorageSync(cacheKey(workspaceId, filePath)) + } catch (_) {} +} + +// ===== 下载 ===== + +const getDownloadUrl = (token, workspaceId, filePath) => { + return new Promise((resolve, reject) => { + const cleanPath = filePath.startsWith('./') ? filePath.slice(2) : filePath + uni.request({ + url: `${BASE_URL}/cloud_api/phone/workspace/downloadFile`, + method: 'POST', + header: { 'Content-Type': 'application/json' }, + data: { + access_token: token, + workspaces_id: workspaceId, + file_path: cleanPath + }, + success: (res) => { + if (res.statusCode === 200) { + const respond = res.data + const arr = respond.success ? (respond.message || respond.data) : respond + const fileInfo = Array.isArray(arr) ? arr[0] : arr + if (fileInfo && fileInfo.url) { + resolve(fileInfo.url) + } else { + reject(respond?.error || '获取下载地址失败') + } + } else { + reject(`请求失败:${res.statusCode}`) + } + }, + fail: (err) => reject(err) + }) + }) +} + +export const downloadWyxdAsZip = (token, workspaceId, filePath, onProgress) => { + return new Promise(async (resolve, reject) => { + try { + const downloadUrl = await getDownloadUrl(token, workspaceId, filePath) + const downloadTask = uni.downloadFile({ + url: downloadUrl, + success: (res) => { + if (res.statusCode === 200) { + resolve(res.tempFilePath) + } else { + reject(`下载失败:${res.statusCode}`) + } + }, + fail: (err) => reject(err) + }) + if (onProgress && downloadTask) { + downloadTask.onProgressUpdate((res) => { + onProgress(res.progress) + }) + } + } catch (err) { + reject(err) + } + }) +} + +// ===== 解压 ===== + +// 手动 UTF-8 解码,兼容不支持 TextDecoder 的旧版本 WebView +const utf8Decode = (uint8arr) => { + let result = '' + let i = 0 + while (i < uint8arr.length) { + const b0 = uint8arr[i] + if (b0 < 128) { + result += String.fromCharCode(b0) + i++ + } else if (b0 < 224) { + result += String.fromCharCode(((b0 & 31) << 6) | (uint8arr[i + 1] & 63)) + i += 2 + } else if (b0 < 240) { + result += String.fromCharCode(((b0 & 15) << 12) | ((uint8arr[i + 1] & 63) << 6) | (uint8arr[i + 2] & 63)) + i += 3 + } else { + result += String.fromCharCode(((b0 & 7) << 18) | ((uint8arr[i + 1] & 63) << 12) | ((uint8arr[i + 2] & 63) << 6) | (uint8arr[i + 3] & 63)) + i += 4 + } + } + return result +} + +const readFileAsArrayBuffer = (filePath) => { + return new Promise((resolve, reject) => { + // App 环境:uni.getFileSystemManager + const fs = uni.getFileSystemManager + if (typeof fs === 'function') { + fs().readFile({ + filePath: filePath, + encoding: 'base64', + success: (res) => { + const base64 = res.data || '' + const binary = atob(base64) + const bytes = new Uint8Array(binary.length) + for (let i = 0; i < binary.length; i++) { + bytes[i] = binary.charCodeAt(i) + } + resolve(bytes) + }, + fail: (err) => reject(new Error('无法读取文件:' + (err.errMsg || err.message || ''))) + }) + return + } + // H5 环境:fetch blob URL + fetch(filePath) + .then(res => { + if (!res.ok) throw new Error('文件请求失败:' + res.status) + return res.arrayBuffer() + }) + .then(buf => resolve(new Uint8Array(buf))) + .catch(err => reject(new Error('H5 读取文件失败:' + (err.message || err)))) + }) +} + +export const extractWyxd = async (zipFilePath) => { + const data = await readFileAsArrayBuffer(zipFilePath) + const zip = await JSZip.loadAsync(data) + const result = { header: '', html: '', images: {} } + + for (const [filename, zipEntry] of Object.entries(zip.files)) { + if (zipEntry.dir) continue + const pureName = filename.replace(/^.*[/\\]/, '') + const content = await zipEntry.async('uint8array') + + if (pureName === 'header.txt') { + result.header = utf8Decode(content) + } else if (pureName.endsWith('.html') || pureName.endsWith('.htm')) { + result.html = utf8Decode(content) + } else if (/\.(png|jpg|jpeg|gif|svg|webp|bmp)$/i.test(pureName)) { + result.images[filename.replace(/^\.[/\\]?/, '')] = arrayBufferToBase64(content, pureName) + } + } + return result +} + +const arrayBufferToBase64 = (buffer, filename) => { + let binary = '' + const bytes = new Uint8Array(buffer) + for (let i = 0; i < bytes.byteLength; i++) { + binary += String.fromCharCode(bytes[i]) + } + const ext = (filename || '').split('.').pop().toLowerCase() + const mimeMap = { png: 'image/png', jpg: 'image/jpeg', jpeg: 'image/jpeg', + gif: 'image/gif', svg: 'image/svg+xml', webp: 'image/webp', bmp: 'image/bmp' } + const mime = mimeMap[ext] || 'image/png' + return `data:${mime};base64,${btoa(binary)}` +} + +// ===== 解析 HTML 为幻灯片 ===== + +export const parseSlides = (fullHtml, headerHtml, imageMap) => { + const bodyMatch = fullHtml.match(/]*>([\s\S]*?)<\/body>/i) + const bodyHtml = bodyMatch ? bodyMatch[1] : fullHtml + + const pageRegex = /]*\/?>/gi + const parts = bodyHtml.split(pageRegex) + if (parts.length === 0) return [] + + const pageTags = bodyHtml.match(pageRegex) || [] + + const slides = [] + + // 第一段(封面之前可能没有 page 标签) + parts.forEach((part, idx) => { + const html = part.trim() + if (!html) return + + // 获取对应的 page 标签参数 + let pageAttrs = { order: idx, num: 0 } + if (idx < pageTags.length) { + const tagStr = pageTags[idx] + const orderMatch = tagStr.match(/order\s*=\s*["'](\d+)["']/i) + const numMatch = tagStr.match(/num\s*=\s*["'](\d+)["']/i) + if (orderMatch) pageAttrs.order = parseInt(orderMatch[1]) + if (numMatch) pageAttrs.num = parseInt(numMatch[1]) + } + + const slide = { + order: pageAttrs.order, + num: pageAttrs.num, + type: 'content', + html: html + } + + if (/class\s*=\s*["'][^"']*\bwyxd-cover\b/i.test(html)) { + slide.type = 'cover' + } else if (/class\s*=\s*["'][^"']*\bwyxd-toc\b/i.test(html)) { + slide.type = 'toc' + } + + slides.push(slide) + }) + + return buildSlideHtml(slides, headerHtml, imageMap, fullHtml) +} + +const getHeadContent = (html) => { + const match = String(html).match(/]*>([\s\S]*?)<\/head>/i) + return match ? match[1] : '' +} + +const buildSlideHtml = (slides, headerHtml, imageMap, fullHtml) => { + const headContent = getHeadContent(fullHtml) + const baseStyle = extractBaseStyle(fullHtml) + + return slides.map((slide) => { + let processedHtml = slide.html + + // 替换图片 src + processedHtml = processedHtml.replace(/src\s*=\s*["']([^"']+)["']/gi, (match, src) => { + // 尝试多种路径匹配 + let base64 = imageMap[src] || + imageMap[src.replace(/^.*?images\//i, 'images/')] + if (base64) { + return `src="${base64}"` + } + return match + }) + + // 正文页:注入页眉 + 页码 + if (slide.type === 'content') { + // 页眉 + if (headerHtml) { + processedHtml = headerHtml + processedHtml + } + // 页码 + if (slide.num > 0) { + const pageNumHtml = + `
    + + ${slide.num}
    ` + processedHtml += pageNumHtml + } + } + + return { + ...slide, + html: `
    + + ${processedHtml} +
    `, + headStyle: headContent + } + }) +} + +const extractBaseStyle = (html) => { + const styleMatch = html.match(/]*>([\s\S]*?)<\/style>/i) + return styleMatch ? styleMatch[1] : '' +}